Word2Vec от Gensim не проходит подготовку документов - PullRequest
1 голос
/ 20 апреля 2019

Я сталкиваюсь с проблемой обучения Gensim, используя Word2Vec.model.wv.vocab не получает никаких дополнительных слов от обученного корпуса, только слова из инструкции инициализации!

На самом деле, после того, как я много раз пытался написать собственный код, даже пример с официального сайта не сработал!

Я пытался сохранить модель во многих местах в моем коде. Я даже пытался сохранить и перезагрузить корпус вместе с инструкцией поезда

from gensim.test.utils import common_texts, get_tmpfile
from gensim.models import Word2Vec

path = get_tmpfile("word2vec.model")

model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)
model.save("word2vec.model")

print(len(model.wv.vocab))

model.train([["hello", "world"]], total_examples=1, epochs=1)
model.save("word2vec.model")

print(len(model.wv.vocab))

первый оператор печати дает 12, что правильно

второй 12, когда он должен дать 14 (len (vocab + 'hello' + 'world'))

1 Ответ

0 голосов
/ 21 апреля 2019

Дополнительные вызовы train() не расширяют известный словарь. Таким образом, значение len(model.wv.vocab) не изменится после очередного вызова на train(). (Либо «привет» и «мир» уже известны модели, и в этом случае они были в исходном количестве 12, либо они не были известны, в этом случае они были проигнорированы.)

Словарь устанавливается только во время определенной фазы build_vocab(), которая происходит автоматически, если, как показывает ваш код, вы предоставили учебный корпус (common_texts) для создания экземпляра модели.

Вы можете использовать вызов build_vocab() с необязательным добавленным параметром update=True для постепенного обновления словарного запаса модели, но это лучше всего рассматривать как продвинутый / экспериментальный метод, который вводит дополнительные сложности. (То, действительно ли такое расширение вокаба, а затем последующее инкрементальное обучение, действительно помогает или причиняет боль, будет зависеть от множества других мутных вариантов правильности alpha, epochs, размеров корпуса, режимов обучения и содержимого корпуса.)

...