自然言語処理
NLP
gensim
word2vec

word2vecの追加学習でエラーが出たのでメモ

自然言語処理系の研究室所属になった新人のメモです.

word2vecの追加学習

素性を作る際にword2vecを使うことになって,頂いたモデルに追加で学習が必要になりました.
普通に分かち書きしたテキストを以下のようにすれば追加学習できると思っていたのですが

model.train(wakati_list)

以下のようなエラー

ValueError: You must specify either total_examples or total_words, for proper alpha and progress calculations. The usual value is total_examples=model.corpus_count.

解決策

どうも新しいバージョンではtotal_examplesepochsをちゃんと指定しないといけないようでした.

ですので,コードを以下のように修正

model.train(sentences, total_examples = sum([len(wakati) for wakati in wakati_list]), epochs = model.iter)

おまけ

追加学習した際に新しい単語が入っていたとしてもその単語のベクトルが新しく登録されることはないらしい...気をつけねば.

参考文献

Gensim word2vec training error on tweets
gensimとword2vec