Ich habe versucht, ein FastText-vortrainiertes Modell von hier aus zu laden . Ich benutze wiki.simple.de
from gensim.models.keyedvectors import KeyedVectors
word_vectors = KeyedVectors.load_word2vec_format('wiki.simple.bin', binary=True)
Es werden jedoch die folgenden Fehler angezeigt
Traceback (most recent call last):
File "nltk_check.py", line 28, in <module>
word_vectors = KeyedVectors.load_word2vec_format('wiki.simple.bin', binary=True)
File "P:\major_project\venv\lib\sitepackages\gensim\models\keyedvectors.py",line 206, in load_word2vec_format
header = utils.to_unicode(fin.readline(), encoding=encoding)
File "P:\major_project\venv\lib\site-packages\gensim\utils.py", line 235, in any2unicode
return unicode(text, encoding, errors=errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 0: invalid start byte
Frage 1 Wie lade ich ein Fasttext-Modell mit Gensim?
Frage 2 Nach dem Laden des Modells möchte ich auch die Ähnlichkeit zwischen zwei Wörtern feststellen
model.find_similarity('teacher', 'teaches')
# Something like this
Output : 0.99
Wie mache ich das?
DeprecationWarning: Call to deprecated `load_fasttext_format` (use load_facebook_vectors
. Also benutze ichfrom gensim.models.fasttext import load_facebook_model
Für die Verwendung von .bin :
load_fasttext_format()
(Dies enthält normalerweise ein vollständiges Modell mit Parametern, Ngrammen usw.).Für .vec verwenden:
load_word2vec_format
(dies enthält NUR Wortvektoren -> keine ngramme + Sie können kein Modell aktualisieren).Hinweis :: Wenn Sie Probleme mit dem Arbeitsspeicher haben oder keine .bin-Modelle laden können, überprüfen Sie das Pyfasttext- Modell.
Credits: Ivan Menshikh (Gensim-Betreuer)
quelle
Das FastText-Binärformat (anscheinend möchten Sie es laden) ist nicht mit dem
word2vec
Format von Gensim kompatibel . Ersteres enthält zusätzliche Informationen zu Unterworteinheiten, dieword2vec
nicht verwendet werden.Auf der FastText Github-Seite wird das Problem (und eine Problemumgehung) erörtert. Kurz gesagt, Sie müssen das Textformat laden (verfügbar unter https://github.com/facebookresearch/fastText/blob/master/pretrained-vectors.md ).
Sobald Sie das Textformat geladen haben, können Sie es mit Gensim im Binärformat speichern, wodurch die Modellgröße drastisch reduziert und das zukünftige Laden beschleunigt wird.
https://github.com/facebookresearch/fastText/issues/171#issuecomment-294295302
quelle