'utf-8' decode-Fehler beim laden der Modul word2vec
Ich eine word2vec Modul mit Tonnen von chinesischen Zeichen. Das Modul wurde ausgebildet von meinen Mitarbeitern, die mit Java und wird gespeichert, wie eine bin-Datei.
Ich installiert gensim und versucht, laden Sie das Modul, aber der folgende Fehler ist aufgetreten:
In [1]: import gensim
In [2]: model = gensim.models.Word2Vec.load_word2vec_format('/data5/momo-projects/user_interest_classification/code/word2vec/vectors_groups_1105.bin', binary=True)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 96-97: unexpected end of data
Ich habe versucht, laden Sie das Modul sowohl in python 2.7 und 3.5, scheiterte in der gleichen Weise. Also, wie kann ich laden Sie das Modul im gensim? Danke.
- Ihre Datei ist möglicherweise beschädigt. Die erste Zeile der Datei sollte die Größe von Vokabeln und Abmessungen. Man weniger und überprüfen?
- Sie können auch versuchen, die Umwandlung der Binär-Datei zu text-Datei-mit - github.com/marekrei/convertvec
- Die erste Linie, die mit weniger die binäre Datei "202207 200". Ich denke, die bin-Datei ist ok. Danke.
- Hast du auch versuchen, die Umwandlung der Binär-Datei zu text-Datei? War die word2vec Modul geschult mit gensim oder C word2vec?
- Ich Ignoriere die encoding-Fehler beim laden der bin-Datei verwenden eine Flagge mit unicode_errors='ignorieren'. Siehe meine Antwort unten. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wurde das Modul mit Tonnen von chinesischen Zeichen ausgebildet, die von Java. Ich kann nicht herausfinden, das Codierung format der ursprünglichen Korpus. Der Fehler kann behoben werden, wie die Beschreibung im gensim FAQ,
Mit load_word2vec_format mit einem flag zum ignorieren der Zeichen decodieren Fehler:
Aber ich habe keine Ahnung, ob es ankommt, wenn ignorieren die Codierung Fehler.
Ich habe versucht, die Flagge
aber es löst nicht das unicode-problem.
Überprüfte ich, dass ich die unicode-Fehler, nachdem ich die Datei umbenennen von filename.bin.gz zu filename.gz.
Meine Lösung ist, um die komprimierte Datei extrahieren, statt Sie umzubenennen es.
Verwende ich dann die Datei mit der fahne oben und es gibt keine unicode-Fehler.
Beachten Sie, dass ich mit Mac (Sierra) mit python 2.7.