自然言語処理を学ぼう #5 doc2vec 理論編
目的
これまでBoWとword2vecを試したが、word2vecよりも文章処理に特化していると言われるdoc2vecも試して結果を比較したい
doc2vec
単語の出現する順番を考慮した文章の比較が可能
文章ベクトルを作るためのロジック
2つのモデルが存在する
- PV-DM(Paragraph Vector Distributed Memory)
- word2vecのCBoWと似ている
- CBoWモデルに文章ベクトルを追加して中間層へ入力
- 単語を予測する
- PV-DBOW(Paragraph Vector Distributed Bag-of-words)
- word2vecのSkip-gramと似ている
- 文章ベクトルの入力から使われている単語を予測する
どちらかのモデルを用いてトレーニングを行う。 今回はGensimのデフォルトである、PV-DMを採用。
- 参考記事
処理の流れ
- 学習データの文章を用意する
- mecab(neologd使用)でわかち書き処理
- word2vecまで名詞のみにしていたが、doc2vecは文章に対応しているので文章全部を利用する
- Gensimのdoc2vecにはmost_similarメソッドが用意されているので、それで類似した文章を見つける