目的

これまで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を採用。

処理の流れ

  1. 学習データの文章を用意する
  2. mecab(neologd使用)でわかち書き処理
  3. word2vecまで名詞のみにしていたが、doc2vecは文章に対応しているので文章全部を利用する
  4. Gensimのdoc2vecにはmost_similarメソッドが用意されているので、それで類似した文章を見つける