Próbowałem załadować wstępnie wyszkolony model fastText stąd Model Fasttext . Korzystam z wiki.simple.en
from gensim.models.keyedvectors import KeyedVectors
word_vectors = KeyedVectors.load_word2vec_format('wiki.simple.bin', binary=True)
Ale pokazuje następujące błędy
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
Pytanie 1 Jak załadować model szybkiego tekstu za pomocą Gensim?
Pytanie 2 Po załadowaniu modelu chcę znaleźć podobieństwo między dwoma słowami
model.find_similarity('teacher', 'teaches')
# Something like this
Output : 0.99
Jak mam to zrobic?
DeprecationWarning: Call to deprecated `load_fasttext_format` (use load_facebook_vectors
. Więc używamfrom gensim.models.fasttext import load_facebook_model
Do użytku w bin :
load_fasttext_format()
(zazwyczaj zawiera pełny model z parametrami, ngramami itp.).Do użytku w .vec :
load_word2vec_format
(zawiera TYLKO wektory słów -> bez ngramów + nie można zaktualizować modelu).Uwaga :: Jeśli masz problemy z pamięcią lub nie możesz załadować modeli .bin, sprawdź model pyfasttext pod kątem tego samego.
Kredyty: Ivan Menshikh (Gensim Maintainer)
źródło
Format binarny FastText (który wygląda na to, że próbujesz załadować) nie jest zgodny z formatem Gensim
word2vec
; poprzednia zawiera dodatkowe informacje o jednostkach pod słowem, z którychword2vec
nie korzysta.Dyskusja na ten temat (i obejście) na stronie FastText Github. Krótko mówiąc, będziesz musiał załadować format tekstu (dostępny na https://github.com/facebookresearch/fastText/blob/master/pretrained-vectors.md ).
Po załadowaniu formatu tekstowego możesz użyć Gensim, aby zapisać go w formacie binarnym, co znacznie zmniejszy rozmiar modelu i przyspieszy przyszłe ładowanie.
https://github.com/facebookresearch/fastText/issues/171#issuecomment-294295302
źródło