Open magicpieh28 opened 6 years ago
Author : Quoc Le, Tomas Mikolov Link : https://cs.stanford.edu/~quocle/paragraph_vector.pdf
BoWの問題である1)単語の順序情報を失う2)単語の意味が無視される を解決するため、単語ベクトルだけではなく、段落ベクトルも用いてみようと言う論文。
BoWは1)単語の順序情報を失う2)単語の意味が無視される と言う問題がある。
段落ベクトル(Paragraph Vector)をもちいる:テキストの中の可変的長さを持つpieceから得たfixed-lengthの特徴表現を学習する教師なし学習のアルゴリズム
文脈の中の次の単語を、DとWの平均を出したり、concatenateしたりすることで予測する。 段落tokenは異なる単語扱いされる;現在の文脈から、何が失われているのか覚える役。 訓練された後、段落ベクトルは「特徴」として使うこともできる:分類機に「特徴」を食わせる。
入力された文脈を無視するけど、ランダムにサンプリングされた段落を出力する。 SGDが行われるたびに、テキストのwindowをサンプリングし、ここからランダムに単語をサンプリングする。これをもって、段落ベクトルを与えた分類機を動かせる。 このモデルは、softmax重みだけをstoreすればいい。
一つのレビューあたり、文章は一つ
一つのレビューあたり、幾つの文章
Socher et al., 2013bのように設定
検証setを用いてwindow sizeを交差検証 optimal window size: 8 PV-DMとPV-DBOWからベクトルを一つずつ選び、concatenateして分類機に入れる。 PV-DMでは、それぞれ単語と段落に400次元を設定し、ベクトル表現を学習する。 PV-DBOWでも、400次元で学習を行う。 .,!?は一般単語として扱う。 もし、9単語より少ない単語数を持つ段落なら、NULL記号を用いてpre-padする。
25,000ラベルでラベリングされたinstancesのための団子ベクトルは、一つのレイヤー当たり50ユニットを持つ隠れ層に食わせて、sentimentを予測するために、logistic classifierで動かせる。 optimal window size: 10 同じく二つのベクトルをコンキャットして分類機に入れる。 次元数も同じ。 ,.?!の処理も同様。 ドキュメントが9単語より少ない単語数を持っているなら、NULL記号を用いてpre-padする。
PVは、実際、BoWの弱点を克服できるようなモデル。 PVがBoWモデルやbag-of-n-gramモデルの代案になれると期待できる。
Sentiment Analysis with Deeply Learned Distributed Representations of Variable Length Texts
about this paper
Author : Quoc Le, Tomas Mikolov Link : https://cs.stanford.edu/~quocle/paragraph_vector.pdf
BoWの問題である1)単語の順序情報を失う2)単語の意味が無視される を解決するため、単語ベクトルだけではなく、段落ベクトルも用いてみようと言う論文。
what are problems they want to solve?
problems
BoWは1)単語の順序情報を失う2)単語の意味が無視される と言う問題がある。
how to solve
段落ベクトル(Paragraph Vector)をもちいる:テキストの中の可変的長さを持つpieceから得たfixed-lengthの特徴表現を学習する教師なし学習のアルゴリズム
model architecture
従来のBoWは以下のような単語ベクトルWだけを用いる形。
これに段落ベクトルDを加えたシンプルなモデル:PV-DM (Distributed Memory Model of Paragraph Vectors)
文脈の中の次の単語を、DとWの平均を出したり、concatenateしたりすることで予測する。 段落tokenは異なる単語扱いされる;現在の文脈から、何が失われているのか覚える役。 訓練された後、段落ベクトルは「特徴」として使うこともできる:分類機に「特徴」を食わせる。
キーポイントは以下の二つ
skip gramのような、DからWを予測するモデル:PV-DBOW (Distributed Bag of Words version of Paragraph Vector)
入力された文脈を無視するけど、ランダムにサンプリングされた段落を出力する。 SGDが行われるたびに、テキストのwindowをサンプリングし、ここからランダムに単語をサンプリングする。これをもって、段落ベクトルを与えた分類機を動かせる。 このモデルは、softmax重みだけをstoreすればいい。
=> PV-DMだけでもいい結果が得られるけど、PV-DMとPV-DBOWの組み合わせはよりいい結果を出す。
=> n-gramは単語の順序も考慮できるため、PVモデルもbag-of-n-gramsモデルと合わせるとよりいい結果が出ると思われる。
experiment
dataset
SSTD
一つのレビューあたり、文章は一つ
IMDB
一つのレビューあたり、幾つの文章
setting
SSTD
Socher et al., 2013bのように設定
検証setを用いてwindow sizeを交差検証 optimal window size: 8 PV-DMとPV-DBOWからベクトルを一つずつ選び、concatenateして分類機に入れる。 PV-DMでは、それぞれ単語と段落に400次元を設定し、ベクトル表現を学習する。 PV-DBOWでも、400次元で学習を行う。 .,!?は一般単語として扱う。 もし、9単語より少ない単語数を持つ段落なら、NULL記号を用いてpre-padする。
IMDB
25,000ラベルでラベリングされたinstancesのための団子ベクトルは、一つのレイヤー当たり50ユニットを持つ隠れ層に食わせて、sentimentを予測するために、logistic classifierで動かせる。 optimal window size: 10 同じく二つのベクトルをコンキャットして分類機に入れる。 次元数も同じ。 ,.?!の処理も同様。 ドキュメントが9単語より少ない単語数を持っているなら、NULL記号を用いてpre-padする。
result
SSTD
IMDB
conclusion
PVは、実際、BoWの弱点を克服できるようなモデル。 PVがBoWモデルやbag-of-n-gramモデルの代案になれると期待できる。
what's next
Sentiment Analysis with Deeply Learned Distributed Representations of Variable Length Texts
code