読者です 読者をやめる 読者になる 読者になる

#66 Graph-based learning for statistical machine translation

論文100本ノック SMT

Alexandrescu, A. and Kirchhoff, K. 2009, In Proceedings of Human Language Technologies: the 2009 Annual Conference of the North American Chapter of the Association For Computational Linguistics (Boulder, Colorado, May 31 - June 05, 2009). Human Language Technology Conference. Association for Computational Linguistics, Morristown, NJ, 119-127.

半教師あり学習(SSL)をSMTに使った初めての論文。MTの既存のシステムで出力されたN-BestをrerankingするところをGraph-baseでやる。

これまでのMTではテスト文間の相関(どこのドメインのデータとか)etcを入れていなかったが、そういうものを入れられるようにしようというもの。似た入力には似た出力を返すように、というのをglobalな制約として考えようというもの(一文一文での翻訳を考えているだけでは、そういうような制約は入れられない)。いわゆるtransductiveな学習になっていて、Google翻訳のようにユーザーが何か入れてそれに対して翻訳結果を返すというようなシステムには向かないが、Enterpriseとかでマニュアルの翻訳をしたい、というような翻訳したい対象があらかじめ分かっているケースなどで有用そうなモデル。実際BLEUも2.6ポイントと結構上がっている。

学習するためのモデルとしては標準的なLabel Propagationを使用。この論文ではそのグラフの構築の仕方や類似度の定義をMTに使えるように工夫している。WSDのようなタスクではどの語義であるかを当てるというようなカテゴリを選ぶような問題になるが、MTのN-Bestでどれを選ぶという問題は候補が通常かなりの数になってしまうので、カテゴリカルなものを当てる問題から(適切な翻訳かどうかを表わす)スコアリングを学習する問題として考え直すことにする((2)式のようになる)。

ノードにはsourceの文とtargetの文がpairになっているものを考える。この2つを使って2ノード間の類似度を捉える(sourceとtargetの平均を使用)。ノード間の類似度としてこの論文ではBLEUベースのものと文字列カーネルを使ったものを考えている。結果としては文字列カーネルを使ったものののほうが結果がよいのだが、これはBLUEだとexact matchしないといけなかったりするのに対し、文字列カーネルだと曖昧マッチのようなことができるので頑健性が高いというような理由が考えられる。

Scalabilityのところはちょっと議論になったところで、Label PropagationをまともにするとN-Bestの候補(2000-Bestとか書いてあるようだった。これは既存の手法から持ってくる)が相当に多くなるので、大規模なものでは動かせない。この論文では部分グラフに分けて、部分グラフでLabel Propagationをすると書いてある。が、ちょうどよい部分グラフは簡単に見つけられないと思われる(閾値が小さすぎるとでかいグラフのままだし、閾値が大きすぎるとこの論文でやりたいテスト文間の相関のようなものを捉えられなくなってしまう)。論文には"can be easily pruned"と書いてあるが、結構sensitiveなところだと思う...。

実験の結果としては、Baselineのlog-liner modelのものよりBLUEで2ポイント以上上がっている。上にも書いたが、類似度をBLEUベースでやるより文字列カーネルを使ったほうが結果はよいとのこと。文字列カーネルにはpos taggingの情報なども容易に組込める(らしい)とのことなので、そういうものも使ってやりたいというのがfuture workだそうだ。