К сожалению, в документах Spacy четко не указано, какие форматы используются различными функциями чтения, и не реализован импорт, явно основанный на формате, написанном исходным кодом Google word2vec.c
.
Кажется, from_disk
ожидает чего-то в собственном многофайловом формате Spacy. from_bytes
может ожидать сырую версию векторов. Ни один из них не будет полезен для данных, сохраненных из gensim
модели FastText
.
from_glove
может быть совместимым форматом. Вы можете попробовать использовать метод save_word2vec_format()
с его необязательным аргументом fvocab
(чтобы указать файл vocab.txt
со словами), binary=True
и имя файла в соответствии с соглашениями Spacy. Например, если у вас есть 300 пространственных векторов:
ft_model.wv.save_word2vec_format('vectors.300.f.bin', fvocab='vocab.txt', binary=True)
Затем посмотрите, работает ли этот каталог для Spacy's from_glove
. (Я не уверен, что так и будет.)
В качестве альтернативы, вы можете использовать служебный класс gensim
(например, KeyedVectors
) для загрузки векторов в память, а затем вручную добавить каждый вектор, один-по-одному, в предварительно выделенный объект Spacy Vectors
.
Обратите внимание, что, сохраняя векторы FastText на простой, только для векторов word2vec_format
, вы потеряете все, что узнала модель о подсловах (именно это модели с поддержкой FastText используют для синтеза векторов для-словарные слова).