Re:ゼロから始めるML生活

どちらかといえばエミリア派です

gensimで学習済みモデルに更に追加学習する

f:id:nogawanogawa:20190730110339p:plain

今や単語分散表現に関する学習済みのモデルはたくさん公開されています。

ただ、その多くはwikipediaやニュース記事をベースにしたものになっており、より突っ込んだトピックを取り扱おうとすると、そこからモデルを独自にカスタマイズする必要が出てきます。

今回はgensimでwikipediaの学習済みモデルに加えて、独自のコーパスを使用して学習してみたので、そのメモです。

下準備

以前記事で取り上げた、学習済みのモデルの中でも白ヤギコーポレーションさんのモデルは追加学習可能な形で提供されているので、そちらをダウンロードして使っていきます。

tsunotsuno.hatenablog.com

aial.shiroyagi.co.jp

やり方

この辺りを参考にします。

ncat.jp

新規の単語を追加できるように設定するのはこちらの関数を使うようです。

gensim.model.build_vocab

学習自体はこちらの関数を使用する模様。

gensim.model_gensim.train

学習時には形態素解析済みの単語のリストを入力してあげれば良いみたいですね。

サンプルコード

だいたいこんな感じになりました。

学習前後で単語のembeddingの値が変化しているので、学習されていることが確認できます。

感想

追加学習自体は簡単なんですが、それ以外のところで結構難しいですね。 という感じの、メモ書きでした。。。