機械翻訳 自然言語処理の歴史的変遷 昔の機械翻訳 統計的機械翻訳 翻訳の評価 自然言語処理の歴史的変遷 参考:辻井潤一「ことばとコンピュータ」月間言語に2000年に連載 言語論の歴史を振り返ると: 古代編 I. II. III. モノには正しい名前がある:ソクラテス 言語の背後の論理へ:アリストテレス 修辞法の習得へ:クインティリアヌス 話言葉から書き言葉へ 観念から実用への流れ 言語論の歴史を振り返ると 中世編 文法(品詞論、統語論、語用論):ポールロワイヤ ル II. 観念の表現:ロック III. 意味の素性への分解:コンディヤック 構造と意味現代的な問題は出揃っている I. I. 印刷技術のための統一された言語の構築:キャ クストン 印刷という実用的問題から言語を制御 言語論の歴史を振り返ると 近世編 I. II. 真の言語を求めてインドヨーロッパ祖 語:フンボルト 言語のダーウィニズム そして革命が ソシュール • 思想は星雲のようなもので、その中で必然的 に区切られているものは何もない • 言語が現れる以前は何一つ判別できるもの はない 言語の恣意性 言語の共時態を対象にした研究 言語の構造を明らかにすること そして今 • ソシュールの合理的言語処理 • その困難に苦闘するうちに • 計算機技術の進歩によって巨大なコーパスを 得て我々はどこへ向かうのか? 認知革命 認知革命以前の問い:言語の科学は物理学のよう に演繹的に構成できるのか?(1950年代) データのみから帰納する。直観を排除:構造主義 しかし、計算機パワーが貧弱だった計算のモデルを欠い た帰納だけでは大きな発展が難しかった。 1960年代:認知革命:人間の言語処理、情報処理に ついてのトップダウンモデル チョムスキーの変形文法 ニューウェル、サイモンの問題解決:人工知能 計算機の能力のそれなりの進歩による部分多し。 チューリングテスト チューリングテストをパスする自然言語処理機械を作るには? 大きな九九表 文と意味の対応表、日本語文と英語文の対応表 これではごまかしみたい。本質が分かった気がしない。 無限に多い場合を考慮すると対応表が爆発 無限の可能性に対応できる計算メカニズム チョムスキー型、人工知能型アプローチ 無限に多い文や文脈を計算モデルとして考えきれるのか? Top down vs Bottom up 合理主義 vs 経験主義 現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映し たもの 理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習 機械翻訳の研究の歴史を例に T vs B の葛藤の 様相を示そう。 Bottom Up 旧世代:構造主義 思弁的だった言語学を科学にしようとした試み 収集した言語データを主観を排して??観察し、言 語の本質的要素を明らかにする。 動詞の接尾辞「て」vs「で」 同じ「て」だが、鼻音の動詞「死んで」の後では「で」になる。 鼻音 vs 非鼻音 という相補分布でなければいけない。 最小対(minimal pair)の考え方: しかし、「死んで」と「生きて」を同じカテゴリーだと見 るのは全く主観を排して議論できるのだろうか。 合理主義 出発点:言語から独立した計算のモデルを想定 できるだけ単純なモデルが見通しがよい。 言語を実世界から切り離したソシュール的アイデア 最初はパフォーマンスが悪いが、いずれはBottomUpシステ ムを上回る。BTは現実のデータしか見ないから、予測能力が 低いのだ。 しかし、最初のモデルが外れだったら? チョムスキーの個別言語に依存しない言語理論(普遍文法) に依拠 言語だけを相手にしたとき、自立した言語のモデルは構文論 が最適 移行派原理主義:transfer fundamentalist 下図のどこかのレベルで言語Aから言語Bに移行する。 移行するレベルにおいては、言語Aと言語Bの表現の間で変 換対応表を作れる(という信念) たとえ対応表が膨大でも 言語独立な表現(=意味??) 深層格表現(動作主、経験者 etc) 構文構造表現 句構造表現 単語列 言語Aの文 言語Bの文 移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなる。それでも言語 AからBへ移行できるのは、 部分の意味は一度決まると、それを組み合わせるこ とで全体の意味が決まるという構成性原理を前提に してるからなのだが…… 言語A,B間で単語の対応は一意的でない。 湯、水 water 一方の言語にしか存在しない文法的性質や機能語 あり 冠詞、名詞の性 それでも複雑な変換表を作ればなんとかごまかせるかも 移行派原理主義の問題点 最も深刻なのは 意味の文脈依存性 名詞の単数、複数の区別のない言語Aからある言語Bへ変換 するには、文脈情報が必要。しかも文脈の数は無限。 デフォールトを単数に変換し、文脈で証拠が出れば複数と変換。 「けっこうです」”thank you” or “no thank you” デフォールトでは解けない!? ようするに、あるレベルでの処理結果が非常に 大きな曖昧さを含み、それを上位の階層で解決 を丸投げするという仕組みに根本的な問題があ る。 記号について -- 少し視野を広げ人工知能の視点から-記号と公理系から閉じた知識体系を作る(前 記ヴィトゲンシュタイン) 記号はそれ自体でひとつの存在。記号を用いた 推論は、想定する集合上での操作として定義でき る(外延的論理) 80年代までの人工知能はこの路線だった。なにし ろ、入出力が貧弱で計算機の外側の世界と通信 できなかったから しかし、限定目的の貧弱なシステムしか作れ なかった。(エキスパートシステム) 80年代後半から外界とのインタラクションが 重視されるようになった。 ロボットにおける subsumption architecture 分散知能 エージェント(これは現在ではソフトウェア工学) 文脈情報を考慮した記号処理への動き 文脈情報を考慮した記号処理への動き 記号は、 a. コアになる意味 b. 文脈に依存した、つまり言語使用における意味 からなる。 そこで、b.を考慮するために事例を大量に集めて事例 ベース翻訳が考案された。 翻訳事例 「太郎は小説を読んだ」 vs “Taro read a novel” には 太郎=人間、小説=文字メディア、という文脈によって「読む」 を規定する力あり。 しかし、それにしても個々の単語のコアな意味は予め与え ないと動かない。 単語の意味 単語の意味を要素に分解して表現する方法(80年 代) Kill = cause (someone (alive death)) 何を基本要素におけば十分なのか? 90年代以降の主流は その単語が使われた文脈に共起する単語で意味の 曖昧さを解消する。 大規模コーパス(20ヶ月分のNYタイムス)で、 capital の 資本、首都の意味の曖昧さ解消などが90%の精度でで きた。 未知語の翻訳も文脈に共起する単語の類似性を使って 推定する方法が提案されている。 移行派原理主義:TopDown型: 規則主導の機械翻訳 入力文:私はりんごを食べた。 形態素解析構文解析 noun verb noun subj predicate object 意味解析 (action=食べる, agent=私, target=りんご, time=past) 英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深 さで変換 対訳辞書利用 (action=eat, agent=I, target=an apple, time=past) 構文および形態素の生成(語順の変換)して翻訳出力を得る。 対訳辞書利用 noun=I, verb(past)=ate, noun=an apple 出力文: I ate an apple. 規則主導の機械翻訳 意味のレベルで精密に日英が同一であることが前 提だった。 また、形態素解析、構文解析、意味解析が正確に 動作すると想定している。 しかし、なかなかそうとも言い切れない 意味レベルでの概念が一致しない例 湯 hot water、 もったいない? 、 checkという習慣が日本にない! 対訳辞書 日本語意味 りんご APPLE (単数か複数か不明) 意味英語 ALLPE if bear noun or singular: apple if plural: apples 単数の場合には an apple,複数なら applesを 選ぶのは、構文および形態素のレベル 少し前の機械翻訳:example based machine translation 翻訳対の例文が類似検索可能な形でデータベース化 例:私はみかんを食べた。 I ate an orange. 入力文:私はりんごを食べた。 翻訳対データベースから類似した日本語例文を検索 私はみかんを食べた。 違っている部分みかんをりんごに置き換え さらに日英辞書でりんごをan appleに置き換え 結果出力:I ate an apple. 当然ながら、冠詞の選択などは文法規則によって行う。つ まり、相当程度に従来の構文規則や、形態素解析技術と 共同することになる。 少し前の機械翻訳:example based translation 類似検索の部分が重要。ここで構文解析を使 うことも可能だが、だんだん古典的な機械翻 訳に近づく。 翻訳対を集めれれば集めるほどが翻訳の質 があがる。 この収集作業は機械的にできる。 旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義 文脈あるいは言語使用における意味というデータ主 導の方法をもっとラディカルにするのが経験主義 IBMの統計的機械翻訳(90年代初頭) 人間でも気がつかないような英仏の言い回しの翻 訳を純粋に機械的手法(統計的機械学習)で発見し た。 EM, ビタビ探索など 大量のメモリと高速な計算機 大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない 統計的機械翻訳 Statistic Machine Translation (SMT) 言語的知識を全く使わずに対訳を得る。アンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus これを使って単語や句どうしの対応付け、すなわち対訳を自 動的に抽出 文同士の対応はあるが、単語列同士の対応は不明 探索空間が膨大 SMTの発展の概観する IBMの Peter Brown,S. Della Pietra, V. Della Pietra, Robert Mercerらの1993年のComputational Lingusiticsの超有名かつ 超難解な論文“The Mathematics of Statistical Machine Translation:Parameter Estimation”をまず解説 次にその発展形であるPhrase based SMTについて説明 SMTの発展の流れ:1 ベイズ 基本にあるのはベイズの定理 翻訳結果 : e* arg max p f | e pe e e:翻訳先言語の表現( 例えば文)、 f : 翻訳元言語の表現 p f | e : e fへの翻訳モデル、 pe:翻訳先言語の言語モ デル(例えば n gram, n 3が多い) p(e)は翻訳先言語のみのコーパスだけから学べるので、 資源量は十分 p(f|e)は対訳コーパス(paralle corpus)から学習 training phase 新規の元言語の文:fnewに対して、その翻訳結果 : enew=argmaxe p(fnew |e) p(e) を求める計算をdecoderと呼ぶしばらく後で紹介する。 SMTの発展の流れ:2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 e,fを翻訳先、および翻訳元もとの単語列とし、 argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳 IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習す るところで使える。 Model 1ではe-fは1対1対応。場所の制約なし Model 2では場所の制約(word alignment)を追加 Model 3ではeの1単語(i.e. the)がfの複数単語(la,le,l’)のいずれ かに訳されることもモデル化 Model 4では複数単語の表現(phrase)の語順の入れ替えもモ デル化 Model 5では単語が対応しない位置が存在しないようにするモ デル。(Model 4では、ある位置に対訳する単語が存在しないよ うな結果がでうるので、それを防ぐ制約も入れた。) Bayesの定理 Canadian Hansard : French-English Bilingual corpus フランス語の単語列:f に対して妥当な英語 の単語列 : e を求める なお、以下ではf,eは単語あるいは句、f,eは文。 e^=arg maxePr(e|f) 種々のfに対応しそうなeはやたらと多い!! Given French string: f, find then P r(e|f ) P r(e)P r( f|e) P r( f ) ^ e argmax P r(e)P r( f|e) e なぜPr(e|f)ではなく、Pr(f|e)×Pr(e)か? 対訳コーパスの対訳文はやはり少数 無尽蔵に多くあるフランス語の文(文字列) f に対して、対応すべき正しい英語を求めるの が目的 Pr(e|f)直接では、正しい英文eに高い確率が 割り当てられる可能性が低い。 正しい英文という要因を直接考慮するために Pr(e)を別個の情報源から得て利用する。 Alignmentとは? • The1 poor2 don’t3 have4 any5 money6 • Les1 pauvres2 sont3 demunis4 (Les pauvres sont demunis | The(1) poor(2) don’t(3,4) have(3,4) any(3,4) money(3,4)) =A(e,f)=a さて、いよいよ難解な論文の説明のさわり フランス語vs英語の対訳コーパスを用いて フランス語単語列fが英単語列eに翻訳される確率: t(f | e)を対訳コーパスから評価する方法 彼らの実験ではカナダの国会議事録という英仏対訳 コーパスだったので。 フランス語単語fが英単語eから 翻訳される確率t(f|e)を求める。 1. 2. t(f|e)の初期値を適当に決める 対訳コーパス中のS個の対訳文f(s),e(s) :1=<s =<S各々 の組(f(s),e(s)), に対して、efの翻訳回数の期待値 c( f | e; f (s) , e(s) ) t ( f | e) Ccorpus f | e; f S , eS t ( f | e0 ) ... t ( f | el ) を計算する。 Ccorpus f | e; f , e S S Corpus の文 S における δ(f,f ) δ(e,e ) m j 1 l j i 0 i つまり、Ccorpus(f|e; f(s),e(s)) の値は f,e がf(s),e(s)の対訳の組に出現し たときだけ0でない。また、ei (i=1,..,l)は対訳英文の各単語、lは対 訳文に含まれる英単語の語彙数 フランス語単語fが英単語eから 翻訳される確率t(f|e)を求める。ーつづき 3. もうひとつの重要な式 t ( f | e) を すると左辺が1になるので、 f S 1 e s 1 c( f | e; f (s)e(s) ) S e c( f | e; f (s) , e(s) ) f s 1 このλeの値を用いてt(f|e)の新たな値を推定する。 t ( f | e) S s 1 S f 4. c( f | e; f (s) , e (s) ) s 1 c( f | e; f (s) , e (s) ) t(f|e)が収束するまで2,3を繰り返す。 このような繰り返し方法で未知の確率を推定する方法を Expectation and Maximization(EM)algorithmと言い、情報科学の基本のひと つ。 翻訳例:2個の対訳の例文ペア the learning algorithm ↔ 学習 アルゴリズム the algorithm ↔ アルゴリズム the learn algorit ing hm 学習 アルゴ リズム the learn algorit ing hm 学習 アルゴ リズム the learn algorit ing hm 学習 アルゴ リズム the learn algorith the learni algorit ing m ng hm 学習 アルゴ リズム 学習 アルゴ リズム the learn algorith the learni algorit ing m ng hm 学習 アルゴ リズム 学習 アルゴ リズム the learn algorith the learni algorit ing m ng hm 学習 アルゴ リズム 英仏日英 で考えます 学習 アルゴ リズム the algorithm アルゴリズ ム the algorithm アルゴリズ ム step 2 c1 アルゴリズム | algorithm t アルゴリズム | algorithm 1 t アルゴリズム | the t アルゴリズム | learning t アルゴリズム | algorithm 13 1 = 1 3 1 3 1 3 3 t アルゴリズム | algorithm c2 アルゴリズム | algorithm 1 t アルゴリズム | the t アルゴリズム | algorithm 12 1 = 1 2 1 2 2 c1 学習 | algorithm t 学習 | algorithm 1 t 学習 | the t 学習 | learning t 学習 | algorithm 13 1 = 1 3 1 3 1 3 3 step 3 t アルゴリズム | algorithm 2 c アルゴリズム | algorithm i 1 i 2 c アルゴリズム | algorithm c1 学習 | algorithm i 1 i 1 3 1/ 2 5 1 3 1/ 2 1 3 7 t 学習 | algorithm 2 c1 学習 | algorithm c アルゴリズム | algorithm c1 学習 | algorithm i 1 i 13 2 1 3 1/ 2 1 3 7 もう少し本格的に IBM Model を説明 まず記法 • Alignmentも考慮したPr(f,a|e) Pr( f | e) Pr( f, a | e) a e e1l e1e2....el f f m 1 where l f1 f 2....f m English words where m a a1m a1a2.....am, where french words aj i f, e は単語列 a は alignment 翻訳元言語のi番目 の単語は 翻訳先言語のj番目 の単語に対応 f i ,ea j は単語 Pr f, a | e Pr m|e Pr a j|a1j 1,f1 j 1,m,e Pr f j|a1j 1,f1 j 1,m,e m 1 • 以後はPr(f,a,|e)を評価する方法 IBM Model 1 このモデルでは、英、仏文の単語の出現順序には相関 がないとしている。-(1) また対訳は個々の単語にだけ依存する-(2) Pr( m | e) Pr( a j | a1j 1 , f1 j 1 , m, e) (l 1) 1 Pr( f j | a1j 1 , f1 j 1 , m, e) t ( f j | ea j ) Pr( f, a | e) (l 1) m m t( f j | ea j ) (1) ( 2) (3) 1 f, e は単語列 a は alignment f i , ea jは単語 IBM Model 1 • このモデルでは、Alignment aj は0から m の任意の値をとる。ラグランジュ未定乗数 法によってPr(f|e)を最大化する。 l l m Pr( f | e) ... t ( f j | ea ) m (l 1) a a 1 ( 4) j 1 0 constraint : e m 0 t( f | e ) 1 この項を2種類の方法で書き換 えて等しく置くとことがミソ f l l m h (t , ) ... t ( f j | ea ) e ( t ( f | e ) 1) m (l 1) a a j 1 e f j 1 0 h 0 t ( f | e) (l 1) m (5) m 0 l l m ... ( f , f ) (e, e a1 0 am 0 j 1 j aj )t ( f | e) 1 m t( f k 1 k | eak ) e (6) t ( f | e) 1 e l (l 1) m l ... ( f , f a1 0 m m am 0 j 1 j ) (e, ea j ) t ( f k | eak ) k 1 m e 1 P r(f, a | e) ( f , f j ) (e, ea j ) (7) ミソ その1 j 1 a m c( f | e; f, e) P r(a | f, e) ( f , f j ) (e, ea j ) (8) j 1 a • c(…) とは翻訳(f|e)において、英単語e が フランス語単語 f に翻訳される回数。2番目の∑はあるalignment a におい てf,eの接続回数。 P r(a | f, e) P r(f, a | e) /P r(f | e) f, a, e m c ( f | e; f, e) P r(f, a | e) ( f , f a j 1 j は文字列 ) (e, ea j ) P r(f | e) t(f | e) e1 P r(f | e)c ( f | e; f, e) - (10) (9) t(f|e)を求めるまではもう一工夫 t(f j|ea ) i l l m ... t ( f a10 ミソ その2 は、単項式だから am0 j 1 m j l | ea j ) t ( f j | ei ) (11) j 1 i 0 例 t10t20 t10t21 t11t20 t11t21 (t10 t11 )(t20 t21 ) これによると Pr(f | e) (l 1) m m l t( f j 1 i 0 j | ei ) (12) ミソ その2 (12)式を使っ てh(t,λ)の第1項を書き換え た! そこで、またラグランジュ未定乗数法で constraint : t ( f | e ) 1 f h (t , ) m (l 1) m h 0 t ( f | e) l t( f j 1 i 0 j | ei ) e ( t ( f | e ) 1) e f m l (l 1) m t ( f j | ei ) (13) l t( f j 1 i 0 j m l j 1 i 1 | ei ) ( f , f j ) ( e, ei ) e (14) i 0 by (14)and (12) : Pr( f | e) (l 1) m m l t( f j 1 i 0 j | ei ) l e 1 Pr(f | e) t( f i 0 m j | ei ) l ( f , f ) (e, e ) j 1 j i 0 again t(f | e) e 1 Pr( f | e)c( f | e; f, e) by (10)(15) 15 i - (10) m l t ( f | e) c( f | e; f, e) ( f , f j ) (e, ei ) (16) t ( f | e0 ) ... t ( f | el ) j 1 i 0 m l • (16)式の ( f , f j ) (e, ei ) の部分は(12)式からfとeの接続回 j 1 i 0 数になることが分かる。(alignment aがないのでこの式)下図参照。 f f1 e1=e f2=f f3 … f7=f … * * * * fm e2 e : e8=e : el • 教師データとしてS個の翻訳 (f(s)|e(s)) s=1,…,Sがコーパスから知られてい るので、以下の式を使う。 S (s) (s) s 1 c( f | e; f e ) いよいよEMでt(f|e)を推定-1 1. t(f|e)の初期値を適当に決める 2. 各(f(s),e(s)), 1=<s =<Sに対して、 m l t(f|e) c( f| e ; f, e) δ(f,f j ) δ(e,ei ) t(f|e0 ) ... t(f|el ) j 1 i 0 を利用してc(f|e; f(s),e(s))を計算する。 この値は f,e がf(s),e(s)の要素のときだけ0 でない。 いよいよEMでt(f|e)を推定-2 3. t ( f | e) S 1 e s 1 c( f | e; f (s)e(s) ) 左辺が1になるので、 を f すると S e c( f | e; f (s) , e(s) ) f s 1 このλeの値を用いてt(f|e)の新たな値を推定する。 S t ( f | e) s 1 S f c( f | e; f (s) , e (s) ) s 1 c( f | e; f (s) , e (s) ) (ただし、 上では式(10)のλe をλePr(f|e)と置き換えた) 4. t(f|e)が収束するまで2,3を繰り返す。 Model 2 • Alignmentが位置に依存する。つまり、 a (a j | j , m, l ) P r(a j | a1j 1 , f1 j 1 , m, l ) が j aj m l に依存 l a(i | j, m, l ) 1 i 0 l then l m P r(f | e) ... t ( f j | ea j )a(a j | j , m, l ) a1 0 am 0 j 1 ラグランジュ h(t,a, , ) P r(f | e) e ( t ( f | e) 1) jml ( a (i | j , m, l ) 1) e f j i ラグランジュ未定乗数法でhを微分し計算すると t ( f | e) 1 e m P r( f,a | e) ( f , f ) (e, e j ) j 1 a c ( f | e; f, e) j m P r(a | f, e) ( f , f j 1 a j ) (e, ea j ) t ( f | e) e 1 P r( f | e)c( f | e; f, e) t ( f | e) e 1 P r( f | e) S c ( f | e; f (s) e (s) ) s 1 ここまでは同じだが、 c (i | j , m, l ; f, e) さらに意味的に考えて P r(a | e, f ) ( i,a j ) a a (i | j , m, l ) 1 jml S c(i | j, m, l; f (s) , e (s) ) s 1 注: P r(a | f , e) P r( f | e) P r(a, f | e) jml P r( f | e) jml Model 1と同じように計算し • Model 1 では(l+1)-1 だったa(i|j,m,l)をModel 2 では変数と見ているので、 Pr f | e ε t f j|ei a i|j,m,l m l j 1 i 0 m l c f | e ; f,e j 1 i 0 c i|j,m,l ; f, e t f|e a i|j,m,l δ f , f j δ e, ei t f|e0 a 0|j,m,l .... t f|el a l|j,m,l t f j|ei a i|j,m,l t f j|e0 a 0|j,m,l .... t f j|el a l|j,m,l • 後は同じくEMアルゴリズムでt(f|e)を求める • 初期値にはModel 1の結果を用いる。 Model 3 • 1単語がn単語に翻訳 not => ne … pas • n=0(翻訳されない) 冠詞は日本語にはな い。 • 対応する単語の出現場所がねじれる – 日英での語順の差 • こういった現象に対応するモデル • 繁殖確率 n(φ|e): 英語単語eがφ個のフラ ンス語単語に接続される確率 • 翻訳確率t(f|e):英語単語eがフランス語単 語fに翻訳される確率 • 歪確率d(j|i,m,l):英文長さl,フランス文長さ m,英文の単語位置iがフランス文の単語位 置jに接続される確率 • 空の英単語の繁殖数=φ0 • 空でない英単語から生成されたフランス語単 語の後に空から生成されたφ0個の単語が確 率p1で挿入されるとすると、 1 .. l 1 ..l 0 0 p0 P r(0 | , e) p1 0 p0 p1 1 l 1 m i 0 i m 以上の準備の下 l l a1 0 am 0 Pr(f | e) ... Pr(f,a | e) l l a1 0 am 0 ... m 0 m 20 0 l p0 p1 i !n(i | ei ) i 1 0 m t( f j 1 j | ea j )d ( j | a j , m, l ) (32) • (32)式を用いて、n,t,d,p0,1に関する各々の 総和=1の確率による条件をつけてラグラ ンジュ未定乗数法で Pr(f|e) を最大化す ればよい。 • しかし、model1,2と異なり和積の交換がで きないので、直接計算する。 • 組み合わせの数が多いので、ビタビ法で 近似計算する。 SMTの発展の流れ:3 Phrase Based SMT IBM Model1-5はprimitiveで性能がいまいち。 e,fとも単語単位ではなく、単語列(phrase)単位として 翻訳される phraseを単位としてSMTを行う= Phrase Based SMT Parallel corpusからphraseを取り出し、Phraseの対 訳確率 p(f-phaese|e-phrase)を求めることはできる。 文をPhraseの連鎖と見なしたときにベイズの定理 によるargmax p(f|e) p(e)を計算:decoder SMTの発展の流れ:3 Phrase Based SMT Phrase Based SMTの長所 多単語-対-多単語の翻訳ができるので、意味的 に構成的でないイディオムの翻訳などに強い 文脈情報が使える Parallel corpusが大きくなれば、より長いphraseが 学習できる。 Phrase の対訳辞書(Phrase Table)の学習法が 重要な技術要素 Phrase Based SMTにおける Phrase Tableの学習 IBM Model 1-5によって求めた単語の対訳を 用いて求めたWord-alignmentの結果から、 alignmentに矛盾しないphrase対訳を抽出す る Papers publised 最近 発表 された 論文 が 難し すぎる recently are too difficult Phrase Based SMTにおける Phrase Tableの学習 Word-alignmentの結果から、alignmentに矛 盾しないphrase対訳を抽出する 矛盾 Papers publised 最近 発表 された 論文 が 難し すぎる 矛盾 無矛盾 recently are too difficult Phrase Based SMTにおける Phrase Tableの学習 Papers 最近 発表 された 論文 が 難し すぎる publised recently are too difficult Phrase Based SMTにおける Phrase Tableの学習 Papers 最近 発表 された 論文 が 難し すぎる publised recently are too difficult Phrase Based SMTにおける Phrase Tableの学習 Papers published recently 最近 発表 された 論文 が 難し すぎる are too difficult Phrase Based SMTにおける Phrase Tableの学習 Papers 最近 発表 された 論文 が 難し すぎる published recently are too difficult Phrase 対訳対の確率 抽出されたPhrase 対訳対に確率 f | e を与え る Phraseの構成要素である単語の対訳確率(word-toword alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う count f , e f | e f count f , e この式では、分子のcountが少ないので、smoothing したほうが性能があがるかもしれない Decoderの枠組み Decoder: 新規のソース言語の文に対してターゲッ ト言語の文を生成する。 ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase Table(Phrase単位の対訳テーブルのこと)を引き、 ターゲット言語に置き換える。 だが、どのようなPhraseを切り出してきて置き換えれ ばよいか? 最近発表された論文 最近、最近発表された、発表された、発表された論文 切り出しの候補は非常に多く、解空間は膨大 ビームサーチによる絞り込み ビーム幅に性能が左右される マリー Mary は あの ate 熟した リンゴ を 食べた that riped apple reorder ate マリー は あの Mary 熟した ate リンゴ を 食べた that riped apple ate リンゴ apples P=0.18 マリー マリーは あの 熟した Mary Mary that riped P=0.54 P=0.36 P=0.8 P=0.9 で連結された Phraseのシーケンスを パスという。 日本語Phrase あの those P=0.27 リンゴを リンゴ apple P=0.216 apple P=0.2212 熟したリンゴ 熟したリンゴを riped apple riped apple P=0.428 P=0.2996 英語Phrase 熟したリンゴ 熟したリンゴを P:Phrase 対訳確率 riped apples riped apples P=0.189 P=0.1323 ソース言語でのPhraseとしての切り出し方の 選択肢多し Phraseの対訳先の選択肢多し 極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳 があるPhraseを対訳して、Phraseの連結したシー ケンス(=パス)の確率を予測する方法もある 合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない ビーム幅を決めてパスの候補を枝刈りをしない と計算機で動かない 性能の劣化(よい対訳phraseを探し損なう) 将来のパスの確率を予測 まだ調べていない将来の部分に確率の高い Phraseがあり、それを現在のパスの確率に乗 じてもかなり確率が高ければ、それを考慮し て現在のパスの順位を変更する。 「203で」が「発表を行う」に かかるなら場所とわかり確 率が高い 何かの番号らしいが辞書でカバーされてな い。「203で」なので場所か、道具か?? とにかく、もう少し先に進みたい 昨日 P=0.5 の 203 uncovered で 太郎 と P=0.5 いっしょに 行った uncovered P=0.3 P=0.4 0.5×0.3× 0.5×0.4=0.03 ○ P=0.01 × 場所か道具か分らないと確率低い 発表 は うまくいった 頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなど の言語資源からIBM modelやPhrase SMTで「得られ た確率p(e|f)とp(e)を使っている しかし、真の分布あるいは母集団の分布を使うのが 理想 単純にコーパスの頻度だけではなく、種々の言語的 要因を加味してみたらどうだろうか? pe | f p f | e pe pT f | e pLM e pD e pTは対訳確率だが、 対訳コーパスの頻 度だけではない要因も 加味したい pLMは n gramなどの言語モデル+何 か、 pDは辞書由来の情報 単純にコーパスの頻度だけではなく、種々の言語的 要因を加味してみたらどうだろうか? eあるいはfの長さ、頻度、文中での出現位置、など など M p i すると、 p(e|f)は多数の要素の重み付け: i 1 対数をとり最適化する i M M log pi i log pi iを最適化したいのだが i 1 i i 1 目的は良い対訳文の生成なので、「良さ」を最大化 するようにλiを最適化するべき。 そもそも真の分布、母集団の分布が固定した形で得られ るのかどうか分らない 目的は良い対訳文の生成なので、「良さ」を最大化 するようにλiを最適化するべき。 「良さ」の尺度は機械翻訳の評価尺度BLUEなど。 つまり、BLUE、WordErrorRate(WER)などを最適 化の目的関数にする。 以下はBLEUで代表して記述 機械翻訳の出力文集合:fiei(i=1,S) 参照訳(人間が作った正解訳文):ri(i=1,S) S ˆ ˆ a 1...M arg max BLEU ri , e fi ; 1...M ˆ1 ...ˆM i 1 M s.t. e fi ; 1...M arg max k logpk e | fi or pk e b e k 1 S ˆ ˆ a 1...M arg max BLEU ri , e fi ; 1...M ˆ1 ...ˆM i 1 M s.t. e fi ; 1...M arg max k logpk e | fi or pk e b e k 1 (a)(b)はλiが両方の式に現れ、一挙に解けない。以下のよ うな繰り返しで解く 1. 適当なλiの初期値を与える。best対訳リスト=空 2. (b) n-bestな対訳を作り、best対訳リストにまだ入っていな ければ、 best対訳リストに追加 3. (a)でλiを更新 4. 上記2,3を、2.でbest対訳リストへの新規追加が無くなった ら終了 F. Och. Minimum Error Rate Training in Statistical Machine Translation . ACL2003 SMTの発展の流れ:4 Syntax Based SMT 言語学的な単位を扱うために構文構造(構文 木)を単位として統計的機械翻訳を行う Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重 要な技術要素 構文解析が入ってくるので、構文解析結果を使う 昔の規則ベースの翻訳に近いが、構文解析規則 はParallel corpusから自動的に求める Synchronous Context Free Grammar: SCFG 翻訳元/先の両方の言語の構文規則が使える: 両方の言語での構文知識が使える! 日本語入力からSyntacticなまとまり(構文木)を探して抽出 VB VB PRP PRP NP N PR N N VB N PP N PP N PP VB 彼 は JAVA の 本 を 買った 英語の構文木に対応させると捻れる捻れをほどくのがreordering of JAVA PR N A book NP PRP bought VB PRP He NP VB VB VB reordering PRP PRP NP PR 捻れをほ どく reordering N N N VB reordering N PP N PP N PP VB 彼 は JAVA の 本 を 買った Reordering Table original order (日本語) Reorder (英語) P(reorder|original order): 作り物です NP1 PP PRP NP1 0.72 NP1 PRP NP2 NP2 PRP NP1 0.78 NP1(に) NP2(を) VB VB NP1 NP2 0.67 NP1(に) NP2(を)VB VB NP2 to NP1 0.33 VB NP NP VB(関係節) 0.56 VB NP NP REL(関係代名詞) VB 0.44 VB PP(か) Do/Does VB 0.57 このようなreordering規則によって、ある確率をもっ たいくつかの仮説となる構文木が生成される。 最後は、argmax p(f|e)p(e)で評価するが、 途中の仮説数が大きくなりすぎたらビームサーチな どで枝刈り Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す 単語翻訳規則 X 本|a book 句翻訳規則 X 放り出す|throw away, throw out 終端記号、非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X 非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderが できる。 Synchronous Grammar Ruleの学習 Papers published recently are 最近 発表 された 論文 が 難し すぎる XYすぎる | too Y X発表された Y| Y published XZされた Y| Y Z-ed too difficult Synchronous Grammar Ruleの学習と問題点 自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにす る 構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か? 未だ効率が良くない(そもそも難しい処理) 構文解析や文法とSMTの両方に詳しい研究者がそ もそも少ないので、研究が進めにくい 機械翻訳の評価尺度 Topdown型の規則主導の機械翻訳の時代は、 翻訳結果が人間にとって理解できるか、自然 な文かなどが評価尺度だった。 数量的根拠に乏しく、種々のシステムを定量的に 比較できない。 SMTの時代になり、種々のシステムの定量的 な比較ができる尺度 BLEUが提案された。 正解として人間の翻訳文を利用し、正解と機械翻 訳システムの出力を比較する尺度 代表的なMT評価尺度(1) BLEU 4 1 BLEU BP exp log n 1 4 BP 1 if 翻訳i文と参照訳 iで一致した n gram数 機械翻訳 i 文内の全 n gram 数 i i 機械翻訳が参照訳より 長い 参考訳長 otherwise exp 1 機械翻訳長 WER(word error rate) 機械翻訳文と参照訳との編集距離を正規化した値 WER min i挿入語数i 削除語数i 置換語数i 参照訳iの語数 i 代表的なMT評価尺度(2) PER(position independent WER) 機械翻訳iと参照訳 iの一致語数 PER 1 参照訳iの語数 i i METEOR 参照訳中に現れる単語unigramを正解と見なしたとき、機械 翻訳に出現する単語unigramのRecallとPrecisionの調和平均 10Prec・Recall/(Recall+9Prec) GTM(General Text Matcher) 機械翻訳文と参照訳との最長一致単語列の集合:MMS MMS( 機械翻訳文i, 参照訳i ) , 機械翻訳文iの語数 2 pre recall GTM pre recall pre recall MMS( 機械翻訳文i, 参照訳i ) 参照訳iの語数 評価尺度とMT方式の関係 この議論を整理すると、評価尺度とMT方式の 関係を分析する必要性も浮かび上がる ルールベース翻 訳(RMT) 統計翻訳 (SMT) 良い?? BLEU 悪い?? 人間の評価 けっこう良い 代替尺度 良いところは良いと評価する尺度 がほしい 部分的な訳は 良い 機械翻訳評価尺度についての議論 MTの評価尺度として頻繁に使用されている BLEUが人間が見て良い訳文を良い訳文と 評価するのかが疑問視されている。 例えば、SYSTRANのようなルールベースMTの 結果のBLEU値は悪いが、人間が見ると悪くな い、という場合もある。 もう一つの問題としてSMTが良い訳文を生 成しているのか、という問題がある。 特許文に対するSMTの評価 利用データ:JAPIO提供の公開特許公報要約/P AJ対訳データ(1993年から2004年までの12年分。G 06分野77万文で学習、1000文でパラメータ調整、 500文で評価 フレーズベースSMT 入力文をフレーズ(翻訳する上で固定的に扱える単位)に 分割SMTは短い表現の翻訳に強い 各フレーズを統計翻訳 フレーズ順序を統計的に調節 動作例 個々のフレーズは統計翻訳で求める Tommrow 明日 I will go Φ 日本の to the conference 会議に in Japan 行きます 機械翻訳のMT評価尺度による評価 BLEU 0.2713 WER 0.848 PER 0.452 GTM 0.881 MT2006(NIST主催)でのBestな BLEUは0.35。 よって、特許翻訳ではフ レーズベースSMTはかなり期待できる。 こんな課題をやるとBLEUによる評価の 実態がわかるでしょう NHKのニュースサイト http://www.nhk.or.jp/ に行くと、その日のニュースとその英語版ニュース http://www.nhk.or.jp/nhkworld/ が掲載されています。 一方、Google翻訳では、日英翻訳ができます。これは、統計ベー スの翻訳。IBMモデルとかかぎらないかもしれない。 また、Yahooでも翻訳サービス http://honyaku.yahoo.co.jp/ があります。 日本語NHKニュースの英語翻訳結果を参照訳として、Google翻訳 の結果とYahoo翻訳の結果のBLUE値を計算してください。そして、 BLUE値と、実際の読みやすさ、理解しやすさを検討してみるとよい でしょう。 BLUE値の計算は手計算でけっこうですが、評価プログラムは探せ ば入手可能のはず。
© Copyright 2024 ExpyDoc