Передача обучения gensim Word2vec (из не-gensim-модели)

У меня есть набор встраиваний, обученных с помощью нейронной сети, которая не имеет ничего общего с gensim's word2vec.

Я хочу использовать эти вложения в качестве начальных весов в gensim.Word2vec,

Теперь я вижу, что могу model.load(SOME_MODEL) и затем продолжите тренировку, но для этого требуется gensim modle. Также reset_from() Кажется, только принять другую модель Gensim. Но в моем случае у меня нет модели gensim для запуска, а есть текстовый файл в формате вложения в word2vec.

Итак, как начать перенос обучения из текстового файла word2vec в gensim.Word2vec?

1 ответ

Вы можете загрузить другие модели, используя векторный формат ключа исходной модели Word2Vec.

import io

from gensim.models.keyedvectors import KeyedVectors

# first line is vocab size and vector dim
model_buf = io.StringIO("""
2 3
word0 -0.000737 -0.002106 0.001851
word1 -0.000878 -0.002106 0.002834
""".lstrip())

model = KeyedVectors.load_word2vec_format(model_buf, binary=False)

model['word0']
Другие вопросы по тегам