Как загрузить модель Gensim FastText в родной FastText - PullRequest
0 голосов
/ 03 мая 2018

Я тренировал модель FastText в Gensim. Я хочу использовать это, чтобы закодировать мои предложения. В частности, я хочу использовать эту функцию из родного FastText:

./fasttext print-word-vectors model.bin < queries.txt

Как сохранить модель в Gensim так, чтобы это был правильный двоичный формат, понятный нативному FastText?

Я использую FastText 0.1.0 и Gensim 3.4.0 под Python 3.4.3.

По сути, мне нужна обратная функция load_binary_data (), как указано в документе Gensim FastText .

1 Ответ

0 голосов
/ 05 мая 2018

Вы, вероятно, не найдете такую ​​функциональность в gensim, поскольку это означало бы зависимость от внутренней структуры и кода, например, что вы видите в fasttext-python (который использует pybind для непосредственного вызова внутреннего fasttext api). Создание такой огромной зависимости от внешней библиотеки - это то, чего создатели gensim хотели бы избежать, и поэтому они, вероятно, отказались от функциональности, вызывающей оболочку фасттекста . Теперь Gensim стремится предоставить алгоритм fasttext только через свою внутреннюю реализацию. Я бы предложил вам использовать привязки Python для fasttext .

$ git clone https://github.com/facebookresearch/fastText.git
$ cd fastText
$ pip install .

Теперь запустите обучающий набор в вашем приложении на Python с моделью быстрого текста.

from fastText import train_unsupervised
model = train_unsupervised(input="pathtotextfile", model='skipgram')
model.save_model('model.bin')

Это позволит сохранить модель в формате командной строки fastText. Так что теперь вы сможете запустить следующее.

$ ./fasttext print-word-vectors model.bin < queries.txt
...