Есть ли еще какое-нибудь решение, чтобы загрузить существующий Googlenews W2v в gensim и настроить его на дополнительный корпус? - PullRequest
3 голосов
/ 01 апреля 2020

Для точной настройки word2vec вложений в gensim следующий фрагмент кода работал с предыдущими версиями:

model = Word2Vec.load_word2vec_format('GoogleNews-vectors- 
negative300.bin.gz', binary=True)

Однако я получаю сообщение об ошибке, что Word2Vec.load_word2vec не рекомендуется : DeprecationWarning: Deprecated. Use gensim.models.KeyedVectors.load_word2vec_format instead. Когда я использую

model = gensim.models.KeyedVectors.load_word2vec_format('GoogleNews- 
vectors-negative300.bin.gz', binary=True)

, а затем пытаюсь подстроить модель методом поезда, как показано ниже:

model.train((corpus, total_examples=len(corpus2),epochs=10) )

Я получаю следующую ошибку:

«AttributeError: у объекта« Word2VecKeyedVectors »нет атрибута« train »»

Есть ли еще какое-либо решение для загрузки существующего Googlenews W2V в gensim и точной настройки его с помощью дополнительного корпуса?

В ответ на пользователя: 10473854: игнорирование предупреждения не работает, поскольку модуль уже истощен. Кроме того, запуск Word2Ve c с путем для загруженного встраивания приведет к сбою Word2Ve c. Проверьте это:

model = Word2Vec('GoogleNews-vectorsnegative300.bin.gz')
model.wv.vocab

{'/': <gensim.models.keyedvectors.Vocab at 0x7ff6101c3940>,
'a': <gensim.models.keyedvectors.Vocab at 0x7ff6101c39e8>,
'e': <gensim.models.keyedvectors.Vocab at 0x7ff6101c3278>}

1 Ответ

0 голосов
/ 08 апреля 2020

Я написал аналогичную вещь для векторов GloVe в этом ответе

В основном, начиная с векторов GloVe и подстраивая его под дополнительный корпус, используя gensim.

В Аналогичным образом это можно сделать и для векторов новостей Google.

В сущности, вам нужно установить скрытые слои со старыми векторами для слов в вашем корпусе, которые уже есть в новом корпусе Google.

...