Semi-Supervised Representation Learning for Cross-Lingual Text Classificationを読んだメモ
Min Xiao and Yuhong Guo, ACL 2013
1 この論文の要旨
要は,多言語文書分類. 従来のやり方だと,単語辞書を使うとか,MTシステムを使うとか,LDAで対訳トピックを抽出して選択的な翻訳をするだとか.そういった方法が使われてきた.
この論文では,二段階のステップに分けて,分類に有効な空間を作り出す
- ラベルと単語の自己相互情報量を利用して,ラベルに有意な単語のみを選択して,翻訳(MTモデルを使うらしい)
- [原言語側で翻訳されなかった語,翻訳された語,目的言語側で翻訳されなかった語]この3つ組からなる単語集合を作成する
- 3つ組をembeddings空間行列Rの1行に射影する
- 射影した空間で分類器の構築とラベル推定を行う
そう!要はいまイケイケの(!?)word embeddingsを使っちゃう系の研究なのだ.
以下,論文の章番号にそって紹介する.
3 Semi-Supervised Representation Learning for Cross-Lingual Text Classification
要旨の1に該当する.
ラベルと単語の自己相互情報量を利用して,ラベルに有意な単語のみを選択して,翻訳(MTモデルを使うらしい)
と,ここまでは要旨と同じ.
ただし,ちょっとだけノーテーションを入っている.
翻訳された語集合をMとする
原言語で翻訳されなかった語集合をV_sとする
目的言語に存在し,かつMに属さない語集合をV_tとする
そして,この文書分類タスクで利用する語集合をV=V_s U M U V_t と定義する.
3.1 Cross-Lingual Word Embeddings
語集合Vが定義できたら,次は「どういう空間に射影するのか?」の話
embeddings行列空間Rは{原言語のみ単語,共通単語,目的言語のみ単語}の3つの空間に分割する.その3つの空間とは,
R_s(w) : 原言語のみに存在する単語で構成される空間
R_c(w) : 共通する単語で構成される空間
R_t(w) : 目的言語のみに存在する単語で構成される空間
0_s, 0_t : 0ベクトル
おっと,正確には3つでなく,5つだったか.
そして.この行列空間Rからは以下の射影関数を使って,distributed vector representationを獲得する.
Φs(w) = [R_s(w), R_c(w), 0_t]^T
Φt(w) = [0_s, R_c(w), R_t(w)]^T
それぞれ,
Φs(w) : 原言語側のdistributed vector representationを得る射影関数
Φt(w) : 目的言語側のdistributed vector representationを得る射影関数
3.2 Semi-Supervised Cross-Lingual Representation Learning
3.1で学習したい行列空間Rと,Rからdistributed vector representationを得る射影関数を定義した.
さて,それでは,どうやってRを学習するのか?
学習の方法が3.2に書いてある.
正直,ここは理解できていない.まあ,しかし,(8)の式が目的関数なので,この関数を実装し,あとは確率的勾配法で最適化すればOKだ.
distributed vector representationを得るには,(7)の式にx_i(文書中の単語)を入れていくと,distributed vector representationの文書行列が獲得できる.
文書行列を獲得したら,あとは分類器で訓練するだけだ.
念のため,学習の基本的なアイディアのみをメモしておく
- すべてのdocumentのlog尤度を最大化(行列Rから文書が生成される尤度)
- ラベル付きdocumentの条件付き尤度を最大化(ラベル情報を考慮に入れて,分類により有効なword reprenationを表現しようとしている)
この2つを同時に行う. 式(3)の中で,1が第一項に,2が第二項に該当する.