Передача обучения 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']