Semi-Supervised Representation Learning for Cross-Lingual Text Classificationを読んだメモ

Min Xiao and Yuhong Guo, ACL 2013

1 この論文の要旨

要は,多言語文書分類. 従来のやり方だと,単語辞書を使うとか,MTシステムを使うとか,LDAで対訳トピックを抽出して選択的な翻訳をするだとか.そういった方法が使われてきた.

この論文では,二段階のステップに分けて,分類に有効な空間を作り出す

  1. ラベルと単語の自己相互情報量を利用して,ラベルに有意な単語のみを選択して,翻訳(MTモデルを使うらしい)
  2. [原言語側で翻訳されなかった語,翻訳された語,目的言語側で翻訳されなかった語]この3つ組からなる単語集合を作成する
  3. 3つ組をembeddings空間行列Rの1行に射影する
  4. 射影した空間で分類器の構築とラベル推定を行う

そう!要はいまイケイケの(!?)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の文書行列が獲得できる.

文書行列を獲得したら,あとは分類器で訓練するだけだ.

念のため,学習の基本的なアイディアのみをメモしておく

  1. すべてのdocumentのlog尤度を最大化(行列Rから文書が生成される尤度)
  2. ラベル付きdocumentの条件付き尤度を最大化(ラベル情報を考慮に入れて,分類により有効なword reprenationを表現しようとしている)

この2つを同時に行う. 式(3)の中で,1が第一項に,2が第二項に該当する.