EMNLP 2010 の論文紹介 / 自然言語処理勉強会@東京 #3

この記事は 第3回 自然言語処理勉強会@東京 での発表資料です。 EMNLP 2010 (The 2010 Conference on Empirical Methods on Natural Language Processing) の論文を4本+5本紹介しています。質より数で勝負。

論文を広く浅く読むススメ(仮)

  • 「たまたま手近にあった方法論」に固執する可能性
    • by 持橋さん (IBIS 2010 のオープニングセッションにて)
    • 例)関係ない、関心ない、難しくてわかるわけないから(読んでも|聞いても)ムダ
    • 例)読めそうな、わかりそうな論文だけ読む
    • 例)とりあえずナイーブベイズ、その枠内でどこまでも泥臭く
  • 論文を手当たり次第に、広く浅く読んじゃおう
    • 1本あたり1〜2時間
    • 目安は「twitter で2,3回つぶやけるくらい」(ぇ
    • もちろんちゃんと読む論文はちゃんと読むんだけどね
  • でも、まだ自然言語処理の勉強始めたばかり
    • わかって読んでる、という自信はない(キリッ
    • タイトルに使われている用語すら知らないとか

[Boyd-Graber, Resnik] Holistic Sentiment Analysis Across Languages: Multilingual Supervised Latent Dirichlet Allocation

  • supervised LDA (Blei+ 2007) を複数言語に拡張
    • 言語横断で感情の予測を行う
    • 感情予測に辞書や synsets などの情報を使う



http://giovedi.net/img/emnlp2010/slda.png
supervised LDA (Blei+ 2007)

  • Latent Dirichlet Allocation (Blei+ 2003) + response variable Y_d
    • Y はレビューの点数や感情・意見などを表す実変数
  • Draw response variable y|z_{1:N,\eta,\sigma^2}\sim\rm{N}(\eta^T\bar{z},\sigma^2)



http://giovedi.net/img/emnlp2010/mlslda.png
MLSLDA (Boyd-Graber+ 2010)

  • SLDA + 左の "Multilingual Topics" の部分
    • h: synset, l: language
    • Draw transiton probabilities \beta_h \sim \rm{Dir}(\tau_h)
    • Draw stop probabilities \omega_h\sim\rm{Dir}(\kappa_h)
    • Draw emission probabilities for that synset \phi_{h,l}\sim\rm{Dir}(\pi_{h,l})
  • LDA の単語の位置には (synsets の) path λ が来る。path から単語の生起確率はφ
    • path といっても抽象的な識別子なので、辞書の場合は項目番号などに該当
    • 単語の生起確率に辞書や synsets の情報を反映できることで予測精度を向上
実験
  • 3パターンで実験
    • Flat: 辞書/synsets を使わない。個々の言語ごとに SLDA を行うのとほぼ同等?
    • WordNet: WordNet(ドイツ語は GermaNet) の synsets 情報を使う
    • Dictionaries: 英独中間の辞書を使う
結果


http://giovedi.net/img/emnlp2010/mlslda1.png
MLSLDA (Boyd-Graber+ 2010)

  • ドイツ語/英語とドイツ語/中国語のそれぞれについて、トピックの点数と生起確率の高い単語として同じ意味を持つ単語が挙げられている
  • 各言語ごとに SLDA するのでも、感情の予測という点では同様の結果が得られそうな気も。
    • 複数言語にまたがってトピックを共有し、かつ意味の近い単語がおなじトピックから生起される確率が高いと何が嬉しいだろう?
    • 生 SLDA との予測精度の比較も欲しかったところ。



http://giovedi.net/img/emnlp2010/mlslda2.png
MLSLDA (Boyd-Graber+ 2010)

  • 単一言語では、辞書や synsets の情報を使うことで、それらを使わない Flat より精度が高い
  • 複数言語のデータセットを用いると、辞書などを使わなくても同じくらいの精度になる

[Zhao, Jiang, Yan, Li] Jointly Modeling Aspects and Opinions with a MaxEnt-LDA Hybrid

  • 従来手法では aspect 固有の opnion words を扱えない
    • 例)レストランの aspect では「店員が『親切』『無愛想』」などの opinion words が考えられるが、異なる aspect であっても一様に扱うしかない
  • Maximum Entropy (Markov Model) と LDA を統合したモデルを持ち込むことで、aspect 固有の opinion words を扱うことが可能に



http://giovedi.net/img/emnlp2010/zhao1.png
グラフィカルモデル (Zhao+ 2010)

  • 矢印が全部 w に集まってる……。観測変数も多い……。
  • もちろん exact には解けない(Forward-Backword Propagation も使えない)ので、MCMC で解く
    • 更新式は論文見てね!
実験
  • データセット:レストランレビュー、ホテルレビュー
  • Gibbs sampling 500回 iterations
  • LocLDA(Brody+ NAACL2010:未読) と比較
結果


http://giovedi.net/img/emnlp2010/zhao2.png
レストランの aspect と opinion (Zhao+ 2010)

  • LocLDA との比較はちょっと苦しげ。
    • aspect と opinion を分離できない手法を、無理矢理分離させるようにして評価しているので、指標値が非常に低く出ている、その方法で比較する意味があるのか疑問。

[Murata, Ohno, Matsubara] Automatic Comma Insertion for Japanese Text Generation.

  • 日本語のカンマ(読点)は外国人には難しい
    • 何通りもの usage がある(節の区切り、並列、などなど)
  • テキストからカンマを打つべき場所を自動的に見つける
    • 音声認識では息継ぎの間などをヒントに使ったりするが、この研究はテキストのみを対象としている

手法

  • カンマの使われ方を分析、9通りに分類
    1. commas between clauses
    2. commas indicating clear dependency relations
    3. commas for avoiding reading mistakes and reading difficulty
    4. commas indicating the subject
    5. commas inserted after a conjunction or adverb at the beginning of a sentence
    6. commas inserted between parallel words or phrases
    7. commas inserted after an adverbial phrase to indicate time
    8. commas emphasizing the adjacent word
    9. other


http://giovedi.net/img/emnlp2010/comma1.png
どのような節の後にカンマが打たれるか(Murata+ 2010)

  • これらを 20 パターンの素性テンプレートとして表現、MaxEnt で解く
    • 文節の列 B = b_1...b_n
    • カンマ列 R = r_1...r_n (r_i = 1 なら b_i の後ろにカンマを入れる)
    • カンマによって文節を m 個の部分列に分ける
    • L_j = b_1^j\cdots b_{n_j}^j (j=1, .., m), r_k^j=0 (k=1, .., n_j-1), r_{n_j}^j=1


http://giovedi.net/img/emnlp2010/comma2.png
(Murata+ 2010)

実験

  • データ:京都テキストコーパス
    • 訓練とテストで異なる期間の記事を使用
  • recall 69.13%, precision 84.13%, F値 75.90
    • 人間の手でカンマ挿入を行った場合 recall 78.3%、precision 80.6%, F値 79.42 (何人でやったんだろう?)
    • 「提案手法のF値」/「人間のF値」比だと 96.3%

[Zhao, Gildea] A Fast Fertility Hidden Markov Model for Word Alignment Using MCMC

  • 統計的機械翻訳モデルの提案
  • IBM Model 1 ã‚„ HMM による単語アライメントモデルに fertility ã‚’å°Žå…¥
    • Gibbs sampling で推論
  • 高速かつ IBM Model 4 に迫る性能

統計的機械翻訳って?

  • 日本語の文章を英語に翻訳したいとき、真の「英語の元テキスト」が雑音のある通信路を経て「手元にある日本語の文章」になっている、と考え、事後確率 P(英語|日本語) を最大化することで「英語の元テキスト」を推定する
統計的機械翻訳ことはじめ
http://www.kecl.ntt.co.jp/icl/kpro/taro/papers/smt-tutorial.pdf

モデル

一般に f_1^J:ソース, e_1^I:ターゲット (つまり英語 e をフランス語 f に翻訳), 単語アライメント a_1^J に対し、


http://giovedi.net/img/emnlp2010/zhao3.png
(Zhao and Gildea 2010)
  • ただしターゲット e_1^I には I+1 個の "empty words" を追加して考える
    • 必ずしも翻訳語が1対1に対応するわけではないのをうまくモデル化するため?
  • 翻訳モデルに fertility φ_1^I と φ_ε ã‚’å°Žå…¥
    • fertility φ_i は target e_i にひもづく source f_j の個数
    • empty words e_i (i=I+1, .., 2I+1) の分は合計して φ_ε に


http://giovedi.net/img/emnlp2010/zhao5.png
(Zhao and Gildea 2010)

  • HMM 翻訳モデルについて、fertility 導入前と後
    • P(f|e) の計算にはアライメント, fertility ともに効いてくる
    • これを Gibbs sampling で推論


http://giovedi.net/img/emnlp2010/zhao4.png
http://giovedi.net/img/emnlp2010/zhao6.png
左:HMM, 右:HMM with fertilities(Zhao and Gildea 2010)

  • IBM Model 1 については省略

実験


http://giovedi.net/img/emnlp2010/zhao7.png
http://giovedi.net/img/emnlp2010/zhao8.png
左:Allignment Error Rate, 右:Training Time(Zhao and Gildea 2010)

  • fertility の導入による精度の向上を確認
    • シンプルで高速なモデルで、IBM Model 4 に匹敵する精度
    • Fertility 付き HMM が、生 HMM より速いのは 前者が Gibbs sampling、後者が Viterbi なため

その他、短く紹介

  • [Mejer+ 2010] Confidence in Structured-Prediction using Confidence-Weighted Models
    • CW linear classification を系列ラベリングに適用してCRFと比べる
    • NP chunking タスクで比較
    • だいたい CRF に負けているが、NER Spanish ではわずかに勝っている(たまたま線形分離しやすかったとか?)
    • 「オンラインなので速い&融通が利く割りに精度もそこそこ悪くない」ということかな
  • [Navigli+ 2010] Inducing Word Senses to Improve Web Search Result Clustering.
    • Web 検索結果のクラスタリングによる Word Sense Induction(単語意味推論?)
    • クエリーに対して動的にグラフを構築(初期ノードを検索結果のスニペットから得る)。エッジの共起度は Dice 。
    • グラフの閉路?(三角形&四角形)を評価してスコアの低い辺を消去するのがポイント。
    • 実験では Suffix Tree などを使用した他の手法と比べて圧倒的によい結果。辺を捨てているところが効いているのか、測り方があっているのか。
  • [Agarwal+ 2010] Automatic Detection and Classification of Social Events.
    • ACE(Automated Content Extraction) タスク http://www.itl.nist.gov/iad/mig/tests/ace/
    • テキストから social events(人物を含む対象が他の対象に対して知ってる/何かすること)を抽出
    • 手法は……式が1つもなかったので,よく理解できなかった(苦笑)
    • 代名詞の同定とかどうするんだろう。それは別のタスク?
    • 参照されていた Extracting Social Networks from Literary Fiction(Elson+ ACL2010)もおもしろそう。Austinの作品などから登場人物関係図を抽出。
  • [Li+ 2010] Negative Training Data can be Harmful to Text Classification.
    • テキスト分類タスクで負例は必要ないどころか有害だったり、という話。
    • 2値分類を前提として、SVN とその派生&ナイーブベイズ(!?)を実験してるんだけど、パーセプトロン系なりロジスティック回帰なりが対象に入ってないのはなんでだろう。
    • 論文の結論は「〜だから負例はダメだよ」という方向じゃあなく実は reliable negatives を見つけるためのアルゴリズム CR-SVM の提案、という方向なのでタイトルは釣り(だから can が入ってるわけね)。
  • [Yao+ 2010] Collective Cross-Document Relation Extraction Without Labeled Data.
    • こちらもドキュメントからの抽出タスク。relation の抽出をドキュメント横断で行う。
    • mention ã‚„ relation ã‚’ MEN/JOINT/PAIR などのバイナリ素性でつなぎ、CRF で事後確率を評価。Linear Chain ではないので MCMC で推論
    • isolated(素性はBIASとMENTIONのみ), joint(フル), pipeline(iso部で推論→それを固定してjointの推論)という3パターンで実験。jointが一番良さそうなのに必ずしもそうでないのがおもしろい。
    • "Without Labeled Data" と言いつつ、openNLP POS tagger でデータにタグ付けしてることが気になる。"Labeled" って何を指しているんだろう。正解? unsupervised ってこと?