Tentei carregar o modelo pré-treinado fastText a partir daqui, modelo Fasttext . Estou usando wiki.simple.en
from gensim.models.keyedvectors import KeyedVectors
word_vectors = KeyedVectors.load_word2vec_format('wiki.simple.bin', binary=True)
Mas, mostra os seguintes erros
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
Pergunta 1 Como eu carrego o modelo de texto rápido com o Gensim?
Pergunta 2 Além disso, depois de carregar o modelo, quero encontrar a semelhança entre duas palavras
model.find_similarity('teacher', 'teaches')
# Something like this
Output : 0.99
Como eu faço isso?
DeprecationWarning: Call to deprecated `load_fasttext_format` (use load_facebook_vectors
. Então eu estou usandofrom gensim.models.fasttext import load_facebook_model
Para uso .bin :
load_fasttext_format()
(normalmente contém modelo completo com parâmetros, ngrams, etc.).Para uso .vec :
load_word2vec_format
(contém APENAS vetores de palavras -> sem ngrams + você não pode atualizar um modelo).Nota :: Se você estiver enfrentando problemas com a memória ou não conseguir carregar modelos .bin, verifique o modelo pyfasttext para ver o mesmo.
Créditos: Ivan Menshikh (mantenedor de Gensim)
fonte
O formato binário do FastText (que é o que parece que você está tentando carregar) não é compatível com o
word2vec
formato do Gensim ; o primeiro contém informações adicionais sobre unidades de subpalavras, queword2vec
não são utilizadas.Há alguma discussão sobre o problema (e uma solução alternativa) na página do FastText Github. Em resumo, você precisará carregar o formato de texto (disponível em https://github.com/facebookresearch/fastText/blob/master/pretrained-vectors.md ).
Depois de carregar o formato de texto, você pode usar o Gensim para salvá-lo no formato binário, o que reduzirá drasticamente o tamanho do modelo e acelerará o carregamento futuro.
https://github.com/facebookresearch/fastText/issues/171#issuecomment-294295302
fonte