機械翻訳勉強会 論文紹介 mamoru-k 小町守 2018/11/9
今日読む論文 Statistical Phrase-Based Translation Philipp Koehn, Franz Josef Och, Daniel March HLT-NAACL(2003) 2018/11/9
この論文に書いてあること 句ベースのモデルが単語ベースのモデルより性能がよいという実験結果 ヒューリスティックな句翻訳と句翻訳にかける語彙の重みで性能が上がる 統語的な関係しか見ない句だけを使うとむしろ性能が下がる? 2018/11/9
イントロダクション 句翻訳を使うことで統計翻訳の質は向上してきた(1999-2002) 句翻訳対を抽出するためいちばんいい方法はなにか? この論文では句翻訳の表を作る評価フレームワークを提案 2018/11/9
高い性能を得るためには 比較的単純な方法で十分 単語のアライメントからヒューリスティックに獲得した句翻訳表を使う ツールも資源も研究者はフリーで入手可能 統語的情報を使っても性能はよくならない 3単語までの小さな句を使うだけで高い精度を得るには十分 単語のアライメントからヒューリスティックに獲得した句翻訳表を使う ヒューリスティックは言語対・訓練コーパスによって異なる 2018/11/9
評価フレームワーク まず句抽出方法の比較のために評価フレームワークを作成 句翻訳モデルと、どんな句翻訳表でも使えるデコーダの提案 2018/11/9
句翻訳モデル 雑音チャネルモデル デコードの際には文 は I 個の句 に分割される 2018/11/9
英語 e の最適出力 トライグラム 長い出力ほどよい 2018/11/9
句ベース翻訳モデル 英語の句が外国語に訳される確率分布 distortion の確率分布(どれくらい翻訳された句が離れているか) Ai: i番目の英語の句に訳された外国語の句の位置 Bi-1: I-1 番目の英語の句に訳された外国語の句の位置 2018/11/9
デコーダ ビームサーチアルゴリズム(Jelinek [1998]) 英語の文は部分的翻訳(仮説)の形で左から右に生成される 2018/11/9
デコードのアルゴリズム 空仮説から始める 以下の手順で既存の仮説から新しい仮説を作る 未翻訳の外国語単語列に対し、英語の句による翻訳が可能であればそれを選択 英語の句はそれまでの翻訳につけ足す 翻訳した外国語を翻訳済みとマークし、仮説の確率コストを更新 未翻訳の単語がない最終仮説で一番コストが低いものが探索の出力 2018/11/9
仮説生成の問題点 仮説はスタックに積まれるので、スタックの大きさは入力の文の長さに指数関数的に増大 それまでの発生コストとそれからの予測コストで弱仮説の枝刈りをする 発生コストは n-best 予測コストは句翻訳コストだけ考慮 2018/11/9
句翻訳コストの計算 文内で句翻訳可能なところ(翻訳選択肢と呼ぶ)では、予測コストは句翻訳確率と言語モデルの確率をかけたもの 翻訳選択肢のコストが分かれば連接する外国語の句翻訳予測コストは事前に計算可能 2018/11/9
弱仮説の枝刈り distortion コストは無視 句翻訳コストは動的計画法により計算 長さ n の入力文だと n(n+1)/2 個の連接する2単語があるので、それらについて事前に計算して表に入れておく 翻訳の際には未翻訳の単語のコスト見積もりは表を見るだけでよい 2018/11/9
ビームサーチの計算量 ビームの大きさは定数 翻訳選択肢の数は入力文の長さに比例 ビームサーチの時間計算量は 入力文の長さの二乗に比例 ビームの大きさに比例 2018/11/9
句翻訳の学習方法 単語単位でアライメントのついたコーパスから学習(Och et al. [1999]) 構文解析結果のアノテーションがついた単語アライメントつきコーパスから学習(Yamada and Knight [2001], Imamura [2002]) パラレルコーパスから直接句レベルのアライメントを学習(Marcu and Wond [2002]) 2018/11/9
単語のアライメントから学習 Giza++ ツールキット(Och and Ney [2000]) を使う 単語アライメントと矛盾しないアライメントのついた句の対を集める 句翻訳確率分布は以下で計算: 2018/11/9
統語的句の学習 (発想)単語アライメントと矛盾しない句全部取ってきたら、“house the” のような変な句まで取ってくるのでは? 統語的句だけしか取らなければそういう変な句は除くことができるのではないか 2018/11/9
統語的句の集め方 統語的句 = 構文解析木のひとつのサブツリーに入る単語列(Imamura [2002]) 前節と同じく単語アライメントつきパラレルコーパスを使用 いずれのコーパスもその言語の構文解析器で解析し、単語アライメントのある句の対に関して解析木のサブツリーに入っているかどうかチェック 2018/11/9
位置iの句が位置jの句に訳される同時分布 句アライメントによる学習 翻訳元の言語と翻訳対象言語の文をパラレルコーパスから同時に生成する句ベースの同時確率モデルを EM により学習句レベルの対応を学習(Marcu and Wong [2002]) 句e’と句f’が翻訳関係にある確率分布 位置iの句が位置jの句に訳される同時分布 2018/11/9
実験 Europal コーパス 英語とドイツ語で実験 BLEU スコアで評価 フリーで使える ヨーロッパ議会の議事録(1996-2001) 長さ5-15の1,755文をテストに確保 英語とドイツ語で実験 BLEU スコアで評価 2018/11/9
3手法の比較 図1参照 単語アライメントに矛盾しない句を全部学習するモデルがいちばん高性能 統語的句しか使わないモデルはむしろ性能が悪い どのシステムもデータが増えれば性能は上がる 2018/11/9
統語的句の重みづけ 統語的に正しい句は信頼度が高い翻訳句対ではないか? 統語的句に重みをつけて性能がよくなるかどうか実験→よくならない いい性能を得るためには文の断片からも学習する必要 ドイツ語の “es gibt” と英語の “there is” 英語の “with regard to” と “note that” 2018/11/9
最大句長 図2参照 3単語までの句しか取らないでもいちばんよい性能になる 増やしても性能があまり上がらないか、もしくは悪くなることすらある 2単語の句だけだと明らかに悪い 2018/11/9
語彙重みづけ 句翻訳対の質をたしかめるにはお互いに訳せるかどうか試すのも一つの手 2018/11/9
語彙重みづけの計算式 英語の句が外国語の句にアライメントaで対応するときの重み 英語と外国語でアライメントがついたもののうち、英語の句の単語数 アライメントaで対応する英語と外国語の単語の相対頻度の和 2018/11/9
語彙重みづけした翻訳モデル 語彙重みづけの強さ 2.1節(p.3)の翻訳モデル参照 語彙重みづけ 2018/11/9
句抽出とアライメント Giza++ では英語1単語を外国語1単語にアラインすることができない→ヒューリスティックに解決 パラレルコーパスを双方向にアライメント 両方のアライメントの共通部分は高精度 両方のアライメントの和集合は高再現率 この両者の間のどこか適当なところに落ち着きたい 2018/11/9
句抽出のヒューリスティック アライメントの共通部分から始める 2つのアライメントのうちの和集合にあるもののみ新たに加える アライメントがなかった語を加えるような点しか加えない 詳しくは [Och et al. 1999] 2018/11/9
ヒューリスティックの結果 図5参照 ヒューリスティックを使ったものが、片方のアライメントしか使わなかったもの・和集合を使ったものより性能がよい 2018/11/9
単語ベースのモデル 図6参照 IBMモデルの特徴 単純で高速なモデル2で複雑なモデル4と同等の性能が得られる 2018/11/9
英語・ドイツ語以外の言語対 表3参照 英語・ドイツ語・フランス語・フィンランド語・スウェーデン語・中国語いずれもモデル4より句翻訳モデル(+語彙重みづけ)の方が BLEU スコアは高い フィンランド語と中国語はインド・ヨーロッパ語族ではない 2018/11/9
まとめ 3単語までの小さい句でもいい結果 句翻訳に対する語彙的重みづけも有効 単純に統語モデルを使ってもうまく行かない 最初の単語アライメントを作成するために使うアルゴリズムより正しいアライメントのヒューリスティックを選択することの方が重要 2018/11/9