Загрузите словарь word2vec в gensim - PullRequest
0 голосов
/ 19 января 2019

Я загрузил предварительно обученные вложения word2vec в словарь python вида

{word: vector}

Например, элементом этого словаря является

w2v_dict["house"] = [1.1,2.0, ... , 0.2]

Я хотел бы загрузить эту модель в Gensim (или подобную библиотеку), чтобы я мог найти евклидовы расстояния между вложениями.

Я понимаю, что предварительно подготовленные вложения обычно находятся в файле .bin, который можно загрузить в Gensim. Но если бы у меня был только словарь этой формы, как бы я загружал векторы в модель?

1 Ответ

0 голосов
/ 22 января 2019

Обычно предварительно обученные словосочетания приходят в формате, который gensim может считываться изначально, например, с помощью метода load_word2vec_format(). Странно, что у вас есть только векторы в вашем собственном формате.

Итак, я бы порекомендовал записать ваши векторы в текстовый формат, совместимый с другими библиотеками word2vec. Вы можете просмотреть метод gensim save_word2vec_format() по адресу:

https://github.com/RaRe-Technologies/gensim/blob/9819ce828b9ed7952f5d96cbb12fd06bbf5de3a3/gensim/models/utils_any2vec.py#L131

Вы также можете тренировать фиктивную модель Word2Vec с любыми ненужными / игрушечными данными, сохранять ее векторы в текстовом формате (w2v_model.wv.save_word2vec_format(filename, binary=False)) и просматривать полученный файл.

Используя приведенный выше исходный код или файл примера, напишите свой словарь в аналогичном формате. Затем используйте gensim KeyedVectors.load_word2vec_format(filename), чтобы прочитать ваши векторы.

...