J'ai essayé de charger le modèle pré-formé fastText à partir d'ici le modèle Fasttext . J'utilise wiki.simple.en
from gensim.models.keyedvectors import KeyedVectors
word_vectors = KeyedVectors.load_word2vec_format('wiki.simple.bin', binary=True)
Mais, il montre les erreurs suivantes
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
Question 1 Comment charger un modèle fasttext avec Gensim?
Question 2 Aussi, après avoir chargé le modèle, je veux trouver la similitude entre deux mots
model.find_similarity('teacher', 'teaches')
# Something like this
Output : 0.99
Comment puis-je faire cela?
DeprecationWarning: Call to deprecated `load_fasttext_format` (use load_facebook_vectors
. Donc j'utilisefrom gensim.models.fasttext import load_facebook_model
Pour l' utilisation de .bin :
load_fasttext_format()
(il contient généralement un modèle complet avec des paramètres, des ngrammes, etc.).Pour l' utilisation .vec :
load_word2vec_format
(cela ne contient que des vecteurs de mots -> pas de ngrams + vous ne pouvez pas mettre à jour un modèle).Remarque :: Si vous rencontrez des problèmes avec la mémoire ou si vous ne parvenez pas à charger les modèles .bin, vérifiez le modèle pyfasttext pour le même.
Crédits: Ivan Menshikh (mainteneur Gensim)
la source
Le format binaire FastText (qui ressemble à ce que vous essayez de charger) n'est pas compatible avec le
word2vec
format de Gensim ; le premier contient des informations supplémentaires sur les unités de sous-mots, quiword2vec
ne sont pas utilisées.Il y a une discussion sur le problème (et une solution de contournement), sur la page FastText Github. En bref, vous devrez charger le format texte (disponible sur https://github.com/facebookresearch/fastText/blob/master/pretrained-vectors.md ).
Une fois que vous avez chargé le format texte, vous pouvez utiliser Gensim pour l'enregistrer au format binaire, ce qui réduira considérablement la taille du modèle et accélérera le chargement futur.
https://github.com/facebookresearch/fastText/issues/171#issuecomment-294295302
la source