gensim - fasttext - Почему не работает `load_facebook_vectors`? - PullRequest
1 голос
/ 28 мая 2020

Я пытался загрузить предварительно обученные векторы FastText из fastext - векторы слов вики .

Мой код ниже, и он работает хорошо.

from gensim.models import FastText
model = FastText.load_fasttext_format('./wiki.en/wiki.en.bin')

но предупреждающее сообщение немного раздражает.

gensim_fasttext_pretrained_vector.py:13: DeprecationWarning: Call to deprecated `load_fasttext_format` (use load_facebook_vectors (to use pretrained embeddings)

В сообщении говорилось, что load_fasttext_format будет устаревшим, поэтому будет лучше использовать load_facebook_vectors.

Итак, я решил изменить код. и Мой измененный код, как показано ниже.

from gensim.models import FastText
model = FastText.load_facebook_vectors('./wiki.en/wiki.en.bin')

Но , произошла ошибка, сообщение об ошибке такое.

Traceback (most recent call last):
  File "gensim_fasttext_pretrained_vector.py", line 13, in <module>
    model = FastText.load_facebook_vectors('./wiki.en/wiki.en.bin')
AttributeError: type object 'FastText' has no attribute 'load_facebook_vectors'

Я не мог понять, почему это происходит. Я просто меняю то, что написано в сообщениях, но это не работает. Если вы что-нибудь знаете об этом, дайте мне знать.

Всегда спасибо за помощь, ребята.

1 Ответ

1 голос
/ 28 мая 2020

Вы почти у цели, вам нужно изменить две вещи:

  • Прежде всего, это fasttext все строчные буквы, а не Fasttext.
  • Секунда все, чтобы использовать load_facebook_vectors, вам нужно сначала создать объект datapath перед его использованием.

Итак, вы должны сделать так:

from gensim.models import fasttext
from gensim.test.utils import datapath

wv = fasttext.load_facebook_vectors(datapath("./wiki.en/wiki.en.bin"))
...