言語 を 情報 する Do information language 東京大学 情報基盤センター (情報理工学系研究科、 情報学府 兼担) 中川裕志 昔の機械翻訳 入力文:私はりんごを食べた。 形態素解析構文解析 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 類似検索の部分が重要。ここで構文解析を使 うことも可能だが、だんだん古典的な機械翻 訳に近づく。 翻訳対を集めれれば集めるほどが翻訳の質 があがる。 この収集作業は機械的にできる。 統計的機械翻訳 Statistic Machine Translation (SMT) 言語的知識を全く使わずに対訳を得る。アンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus これを使って単語や句どうしの対応付け、すなわち対訳を自 動的に抽出 文同士の対応はあるが、単語列同士の対応は不明 探索空間が膨大 IBMの Peter Brown,S. Della Pietra, V. Della Pietra, Robert Mercerらの1993年のComputational Lingusiticsの 超有名かつ超難解な論文“The Mathematics of Statistical Machine Translation:Parameter Estimation”を中心に解説 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の翻訳回数の期待 値 t( f | e) c( f | e; f , e ) ccorpus ( f | e; f (s) , e(s) ) t( f | e0 ) ... t ( f | el ) (s) (s) を計算する。 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と言い、情報科学の基本の ひとつ。 機械翻訳評価尺度についての議論 近年、MTの評価尺度として頻繁に使用され ているBLEUが人間が見て良い訳文を良い 訳文と評価するのかが疑問視されている。 例えば、SYSTRANのようなルールベースMTの 結果のBLEU値は悪いが、人間が見ると悪くな い、という場合もある。 もう一つの問題としてSMTが良い訳文を生 成しているのか、という問題がある。 代表的な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) 機械翻訳文と参照訳との編集距離を正規化した値 挿入語数i 削除語数i 置換語数i W ER 1 参照訳iの語数 i i 代表的なMT評価尺度(2) PER(position independent WER) 機械翻訳iと参照訳 iの一致語数 i PER 1 参照訳iの語数 i 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 悪い?? 人間の評価 けっこう良い 代替尺度 良いところは良いと評価する尺度 がほしい 部分的な訳は 良い 特許文に対するSMTの評価 利用データ:JAPIO提供の公開特許公報要約/P AJ対訳データ(1993年から2004年までの12年分。 G06分野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はかなり期待できる。 自然言語処理の歴史的変遷 参考:辻井潤一「ことばとコンピュータ」月間言語に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%の精度でで きた。 未知語の翻訳も文脈に共起する単語の類似性を使って 推定する方法が提案されている。 経験主義あるいはデータ主義 文脈あるいは言語使用における意味というデータ主 導の方法をもっとラディカルにするのが経験主義 IBMの統計的機械翻訳(90年代初頭) 人間でも気がつかないような英仏の言い回しの翻 訳を純粋に機械的手法(統計的機械学習)で発見し た。 EM, ビタビ探索など 大量のメモリと高速な計算機 大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない 現実には、質の悪い翻訳対データでなんとか しないと 対訳でない場合。同じ内容について、あるいは同 じトピックについての述べている2言語コーパス 基本語彙の辞書くらいはある 計算機は早いし、記憶容量も大きいとは言え 機械学習パラダイムもなんとなく出尽くした?? 人間との共同作業?? 補遺:2言語コーパスから の対訳抽出 二言語コーパスからの対訳抽出 -- Aligned corpus の場合-Parallel Corpus(平行、対訳コーパス) Aligned Corpus: 種々の研究あり。要はどのようにし て2つの言語のコーパスにおける文、単語、複合語、 句を 対応付ける(align) するかに集中。 90年代前半にきれいな2言語対訳コーパスを対象に した多数の研究があり。 90年代後半に、Noisy Parallel Corpus への展開が 試みられた (Fung94,Fung98) 対訳コーパスからの対応文のペアを求める Gale and Church 1993 2言語の文書 S,Tから対応付け(Alignment) Aを求める。 SとTの対応する文のペアを bead という。 例 B=(言語 language), B=(les eaux mineral, mineral water) Alignment=argmaxA P(A|S,T)= argmaxA P(A,S,T) Bkは 文書先頭からk番目の構造(名詞句などのよう K なもの) P ( A, S , T ) P ( Bk ) k 1 対訳コーパスからの対応文のペアを求める 例 B=(言語 language), B=(les eaux mineral, mineral water) Align arg max A P ( A, S , T ) arg max A k 1 P( Bk ) K これらから分かるように、よい対応付けは、単 語やcollocationレベルでの2言語での対応付 けから得られる構造: Bkの確からしさP(Bk)が大き いものを集めて作る。 具体的なアルゴリズムはDPによる 対訳コーパスからの対応文のペアを求める このようにして、文内部の対応がうまく付く文同士が 高い対応付け確率を持つとする。 文書同士で文同士が高い対応付けを持つペアを連 ねるように選ぶと対応文ペアが求まる。 文書を構成する各文同士の対応付けもまた、文の対応付 け確率を用いたDPによる。 構造を作る単語同士の対訳の他に、文の長さが類 似しているほど、よく対応する文のペアと考える方法 も加味できる。 Aligned corpus からの 単語やcollocation 対訳抽出の概要 対訳判定の尺度: 各言語の対訳文毎に対訳かどうか判定した い表現w1,w2(=各言語から抽出された表現 )が出現する文としない文を数える。 w1,w2 が対訳文の出現する確率による。た だし、この確率=0ならEMアルゴリズムで推 定。Kupiec93 w1,w2の相互情報量 Haruno93, Smadja96 w1,w2のDice係数 Smadja96 ヒュ-リスティック 語の共起とその有意さの尺度 あるテキストの単位(文、段落など)へのW1(言語A),w2( 言語B)のcontingency matrix (頻度) a+b+c+d=N W1出現 W1非出現 W2出現 a c W2非出現 b d 相互情報量 MI (w1, w2) log P( w1, w2) log P( w1) P( w2) Dice係数 Dice( w1, w2) 2a ( a b) ( a c ) aN (a b)(a c) Champollion ( Smdja et al 96) Translating collocations: based on sentence aligned bilingual corpus 1つの言語においてXtractで collocation を抽出 相手側の言語の対応文である統計的フィ ルタをパスするような分布で出現している collocation を対訳とする。 フィルタとしては、相互情報量、Dice係数 を比較した結果、 Champollion Dice係数は、X=0,Y=0(双方の言語の文 にcollocationの要素がない場合)に影響さ れないので、精度が高いので、これを使う 。 2 freq( X 1,Y 1 ) Dice( X ,Y ) freq( X 1 ) freq( Y 1 ) 大雑把には collocation (の要素たち)の Dice係数が閾値以上のもののみを残す。 なお、極端に出現頻度の低い要素語は捨 てる。 Champollion Canadian Hansards (50MB order) 3000, 5000 collocations extracted by Xtract 中頻度の300 collocations で評価 Xtractのerror rate = 11% Incorrect translations = 24% Correct translations = 65% Champollion’s precsion = 73% 二言語コーパスからの対訳抽出 -- non aligned corpus の場合-基本的方法は、まず双方の言語で用語あ るいは collocation を抽出し、次に何らか の方法で対応をつけようとする。 非平行な同一分野の2言語コー パスからの訳語抽出 • Non-parallel comparable corpora • Similarity of context is cue. • • ab X cd a’ b’ Y c’ d’ language A language B • Calculation of contexts similarity is heavy
© Copyright 2024 ExpyDoc