510 likes | 624 Views
言語 を 情報 する Do information language. 東京大学 情報基盤センター (情報理工学系研究科、 情報学府 兼担) 中川裕志. 昔の機械翻訳. 入力文:私はりんごを食べた。 形態素解析構文解析 noun verb noun subj predicate object 意味解析 (action= 食べる , agent= 私 , target= りんご , time=past) 英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用
E N D
言語 を 情報 する 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は文。 • Given French string:f,find e^=arg maxePr(e|f) • 種々のfに対応しそうなeはやたらと多い!! • then
なぜ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)を求める。 • t(f|e)の初期値を適当に決める • 対訳コーパス中のS個の対訳文f(s),e(s) :1=<s =<S各々の組(f(s),e(s)), に対して、efの翻訳回数の期待値 を計算する。 ccorpus(f|e; f(s),e(s)) の値は f,eがf(s),e(s)の対訳の組に出現したときだけ0でない。また、ei (i=1,..,l)は対訳英文の各単語、lは対訳文に含まれる英単語の語彙数
フランス語単語列fが英単語列eに 翻訳される確率t(f|e)を求める。ーつづき • もうひとつの重要な式 を すると左辺が1になるので、 このλeの値を用いてt(f|e)の新たな値を推定する。 • t(f|e)が収束するまで2,3を繰り返す。 このような繰り返し方法で未知の確率を推定する方法を Expectation and Maximization(EM)algorithmと言い、情報科学の基本のひとつ。
機械翻訳評価尺度についての議論 • 近年、MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている。 • 例えば、SYSTRANのようなルールベースMTの結果のBLEU値は悪いが、人間が見ると悪くない、という場合もある。 • もう一つの問題としてSMTが良い訳文を生成しているのか、という問題がある。
代表的なMT評価尺度(1) • BLEU • WER(word error rate) • 機械翻訳文と参照訳との編集距離を正規化した値
代表的なMT評価尺度(2) • PER(position independent WER) • GTM(General Text Matcher) • 機械翻訳文と参照訳との最長一致単語列の集合:MMS
評価尺度とMT方式の関係 • この議論を整理すると、評価尺度とMT方式の関係を分析する必要性も浮かび上がる
特許文に対するSMTの評価 • 利用データ:JAPIO提供の公開特許公報要約/PAJ対訳データ(1993年から2004年までの12年分。G06分野77万文で学習、1000文でパラメータ調整、500文で評価 • フレーズベースSMT • 入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い • 各フレーズを統計翻訳 • フレーズ順序を統計的に調節
動作例 個々のフレーズは統計翻訳で求める TommrowIwill goto the conferencein Japan 明日 Φ 日本の 会議に 行きます 機械翻訳のMT評価尺度による評価 MT2006(NIST主催)でのBestな BLEUは0.35。 よって、特許翻訳ではフレーズベースSMTはかなり期待できる。
自然言語処理の歴史的変遷 参考:辻井潤一「ことばとコンピュータ」月間言語に2000年に連載
言語論の歴史を振り返ると:古代編 • モノには正しい名前がある:ソクラテス • 言語の背後の論理へ:アリストテレス • 修辞法の習得へ:クインティリアヌス • 話言葉から書き言葉へ • 観念から実用への流れ
言語論の歴史を振り返ると中世編 • 文法(品詞論、統語論、語用論):ポールロワイヤル • 観念の表現:ロック • 意味の素性への分解:コンディヤック • 構造と意味現代的な問題は出揃っている • 印刷技術のための統一された言語の構築:キャクストン • 印刷という実用的問題から言語を制御
言語論の歴史を振り返ると近世編 • 真の言語を求めてインドヨーロッパ祖語:フンボルト • 言語のダーウィニズム • そして革命が
ソシュール • 思想は星雲のようなもので、その中で必然的に区切られているものは何もない • 言語が現れる以前は何一つ判別できるものはない • 言語の恣意性 • 言語の共時態を対象にした研究 • 言語の構造を明らかにすること
そして今 • ソシュールの合理的言語処理 • その困難に苦闘するうちに • 計算機技術の進歩によって巨大なコーパスを得て我々はどこへ向かうのか?
認知革命 • 認知革命以前の問い:言語の科学は物理学のように演繹的に構成できるのか?(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言語コーパス • 基本語彙の辞書くらいはある • 計算機は早いし、記憶容量も大きいとは言え • 機械学習パラダイムもなんとなく出尽くした?? • 人間との共同作業??
二言語コーパスからの対訳抽出 -- 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番目の構造(名詞句などのようなもの)
対訳コーパスからの対応文のペアを求める • 例 B=(言語 language), B=(les eaux mineral, mineral water) • これらから分かるように、よい対応付けは、単語や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 • 相互情報量 • Dice係数
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の要素がない場合)に影響されないので、精度が高いので、これを使う。 • 大雑把には 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 を抽出し、次に何らかの方法で対応をつけようとする。