Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

[修正] おまけ部分の記述について (2018/08/02)

最新のgensimでは追加学習で新規語彙を学習できるそうです.
ご指摘ありがとうございます.

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では追加学習で新規語彙を学習できるそうです.
自分の事例において新規語彙が登録されない理由は「model作成時のmin_countパラメータに引っかかっている」あるいは「新規学習データsentenceがリストになっていない」とのことです.
(コメント欄参照)

参考文献

Gensim word2vec training error on tweets
gensimとword2vec

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした