機械翻訳

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

機械翻訳(きかいほんやく、: machine translation)とは、ある自然言語を別の自然言語に翻訳する変換を、コンピュータを利用して全て(ないし、可能な限り全て)自動的に行おうとするものである。

近年のコンピュータの速度と容量の拡大にもとづく「力技による解決」が進んだことなどにより、急速に成長している分野である。

歴史[編集]

機械翻訳という発想が生まれた起原のひとつは、暗号学である。ウォーレン・ウィーバーシャノンによる、情報理論の記念碑的業績である論文『通信の数学的理論』の書籍版[1]の共著者)が1947年3月にノーバート・ウィーナーサイバネティックスが著名)に送った手紙によると、ロシア語で書かれた文章について、それを「暗号化された英語の文章」とみなせば暗号解読の要領で機械的に翻訳できるのではないか、と提案している。しかし同年4月のウィーナーの返信によれば、(自然)言語は曖昧な表現が多いために、暗号解読のようにはうまくできないのでは、と懐疑的であった。

米国およびソ連の場合、機械翻訳はこの暗号絡みのエピソードにも示されているように冷戦を背景とした需要があった。一方欧州の場合は、多国間交渉や条約などで多国語間の翻訳という課題を抱えていたという動機があり、2言語間ではなく多言語間の翻訳という比較的難しい問題に挑む一方、ある程度近い言語間の翻訳ではあった。日本の場合は、とにかく英日・日英の翻訳が望まれた。

上位の学術分野としては自然言語処理あるいは計算言語学であるが、いずれもコンピュータの発達により自然言語を扱えるようになったことで発展した分野であり、また自然言語の統計的性質を研究する点など、暗号学に起源の一部を辿れる点も似ている。機械翻訳はこれらの分野で主要な応用の位置にある。

大学や研究機関による成果の最も早いものは、1954年にジョージタウン大学などの研究グループにより発表された。これを皮切りに、形態素解析係り受け解析などの機械翻訳に必要な技術の研究が始まった。日本では1950年代に九州大学の栗原俊彦らが研究を開始し、1950年代末に実験機「KT-1」を[2]、またそれとは独立に電子技術総合研究所の研究チームが実験機「やまと」を[3]作成している。その後も研究が続いたが、当時のコンピュータの性能による限界が厳しく、米国では1964年に発表された「ALPACレポート」で機械翻訳の様々な問題点が指摘され実用レベルには程遠いとされたことにより、米国では(同時期に似たような経過を辿った他の人工知能分野と同様に)研究にしばらく予算がつかず約10年にわたって研究が停滞した。しかしそんな中でも研究する研究者はおり、研究は緩やかに進んだ。1980年代になると、ルールベースの機械翻訳システムが一定の成果を上げるようになった。

一方、IBMは1990年代に異なる言語間の単語対応を統計的に獲得する「IBMモデル」という手法を提案した。これが統計的機械翻訳の始まりである。初期の統計的機械翻訳は単語の並べ替えに基づくものであったが、2000年代に句構造を利用した翻訳手法が発表され、語族が異なる言語間でも翻訳の精度が飛躍的に向上することとなった。

アプローチ[編集]

機械翻訳の手法は大きく分けて「ルールベース機械翻訳」と「統計的機械翻訳」がある。 また、どちらの手法においても、主に以下のような3つの翻訳スタイルがある。

用例に基づく翻訳[編集]

特許やマニュアルなど、文のスタイルがほとんど変わらない状況では、汎化能力が小さくてもシステムとして十分機能する場合がある。 用例に基づく翻訳では、翻訳の例文を記憶した「用例辞書」と単語対応を記憶した「単語辞書」を使用する。

システムの大まかな流れは以下の通りである。

  1. システムに原文が与えられる。
  2. 用例辞書からと似た文とそのペアを検索する。
  3. システムは、の差分を取る。
  4. 訳文内の適切な単語を単語辞書により置き換える。
  5. 置き換え結果を訳出として出力する。

単語・フレーズに基づく翻訳[編集]

用例に基づく翻訳では、データベースが文全体を記憶していた。一方、単語・フレーズに基づく翻訳では、文を細かな単位に分割し、出現確率や並べ替え確率といった情報を利用することで、コーパスに存在しない文に対する汎化能力を上げる。

構文木に基づく翻訳[編集]

単語・フレーズに基づく翻訳は、文の構造を利用しない翻訳のため、文法的に誤った訳出が多く見られる。また、日英翻訳のように単語の並べ替え距離が大きい場合、正確な翻訳を行おうとすると、探索空間が爆発的に大きくなってしまう問題があった。構文木に基づく翻訳では、入力文の構文情報を利用することにより、言語構造的に誤った並べ替えを探索空間から除外し、より正確な翻訳を行うことができる。

構文木に基づく手法はいくつか存在するが、以下に句構造に基づく翻訳の一例を示す。

  1. 原文句構造解析する。
  2. 得られた構文木を、定められた規則に従って部分木ごとに変換し、訳文の構文木を得る。
  3. 変換した構文木から訳文を生成する。

例として、英語から日本語への翻訳を考える。 以下のような原文が与えられたとする。

 "I have a pen."

この文を句構造解析して得られる構文木は次のようになる:

EnglishSyntaxTreeSample1.png

ここで、以下のような辞書を使って英語の単語を日本語の単語に置き換える:

英語 日本語
I
have 持っている
a - (空白)
pen ペン

構文木は次のようになる:

 (S (NP (pron 私)) (VP (verb 持っている) (NP (det -) (noun ペン))))

しかしまだ語順が正しくないし、助詞もない。 ここで構文木に対して以下のような規則を適用して変換をおこなう:

  • "S → NP VP" というノードがあれば、それを "S → NPVP" に変換せよ。
  • "VP → verb NP" というノードがあれば、それを "VP → NPverb" に変換せよ。

すると変換された木はこのようになっている:

 (S (NP (pron 私)) は (VP (NP (det -) (noun ペン)) を (verb 持っている)))

ここから、以下のような翻訳文を生成できる:

 "私はペンを持っている。"

これは非常に単純な例である。 実際には英語の have は複数の語義をもつので、語義の曖昧性解消をしなければ単純に「have → 持っている」という変換をすることはできない。 また、モダリティの考慮や、照応の解決、敬語の扱い、自然な言い回しの文の生成など、実用的な翻訳ソフトウエアをつくるためには多くのことを考慮に入れる必要がある。

構文木に基づく翻訳では、構文解析誤りが翻訳結果に悪影響を及ぼす場合がある。その場合の解決策として、複数の構文木の候補(構文森)を考慮した翻訳手法も存在する。

統計的機械翻訳[編集]

ロゼッタ・ストーン。複数の言語の文字列のみが与えられた状況で未知の言語を理解するという意味では、統計機械翻訳はロゼッタ・ストーンの解読に似ている。

計算機の発達によって1990年代以降研究が盛んになっているのは、統計的な手法を用いた機械翻訳である。

ルールベースの翻訳では、ルールを作成した人間が想定しなかった入力文には対応できない問題がある。また、翻訳ルールの記述や見直しには膨大な手間がかかるため、効率が悪い。そこで統計的機械翻訳では、パラレルコーパスと呼ばれる複数の言語で文同士の対応が付いたコーパスを利用し、翻訳のルールを自動的に獲得し、各ルールの重要度を統計的に推定する。 パラレルコーパスには自前のデータを利用することもあるが、最近では各言語に翻訳された特許や、Webページのクローリングデータなどを利用することもある。

統計的機械翻訳は、従来音声認識の分野で用いられていた雑音チャネルモデルを応用したもので、原言語(翻訳元の言語) は目的言語(翻訳後の言語) が雑音のある通信路を通る間に変化してしまったものであると捉え、翻訳作業を元言語から目的言語への復号であると考える。 雑音チャネルモデルでは、復号誤りが最も小さくなる翻訳結果 は以下の式を満たす。

2番目の変形はベイズの定理による。 ここで をモデル化したものを言語モデル をモデル化したものを翻訳モデルと呼び、言語モデルは翻訳結果の言語としての流暢さを、翻訳モデルは翻訳の確からしさをモデル化していると言える。翻訳モデルのみでは目的言語として正しくない文となってしまうため、言語モデルによって目的言語として正しくない文を取り除けると考えられる。また、言語モデルについての研究は音声認識などの分野において既に研究が行われており、その知見を生かすこともできる。

統計的機械翻訳の処理系はこれらのモデルの組み合わせが高い値を与える翻訳結果を探索することになる。このような処理系は暗号理論からの類推でデコーダ(復号器)と呼ばれる。

2000年代から盛んに研究されている句に基づく統計的機械翻訳を始め、近年では直接雑音チャネルモデルを用いるのではなく、最大エントロピー法(対数線形モデル)に基づく下記の最適化問題として考えることが多い。

統計翻訳においても、翻訳の精度を高めるために、人手により追加されたルールを利用する場合がある。また、近年ではパラレルでないコーパスから翻訳ルールを獲得する研究も為されている。[4]

問題[編集]

機械翻訳の実現にあたっては、自然言語をコンピュータで扱うことに起因する様々な問題に対処する必要がある。 ここでは日英翻訳において顕著な例をいくつか挙げる。なお、これらの言語が特別このような特徴を持っているわけではなく、他の言語の組み合わせでも似たような現象は一般的に見られるものである。

ゼロ代名詞[編集]

日本語では代名詞(「私」「これ」など)が頻繁に省略されるが、英語はこれらを明確に文に含める必要がある。このため、日英翻訳では省略された代名詞を適切に補う必要がある。以下に例を示す。

弟は公園に行った。そこで友達と会った。

この文から、友達と会ったのが「弟」であることは明らかであり、挿入すべき代名詞は He であることが分かる。対応する英文は例えば以下のようになる。

My brother went to the park. He met his friend there.

ところが、機械翻訳で単純に文単位の翻訳をした場合、2文目だけでは誰が友達に会ったのか明らかではなく、前後の文を利用して挿入すべき代名詞を推測する必要がある。 さらに、「弟」や「妹」などのように代名詞が容易に判断できる場合は良いが、より複雑な文ではどのような代名詞を挿入すべきか簡単には判断できない状況もある。

語義の曖昧性[編集]

以下の英語を考える。

I ate rice.

これを翻訳すると「rice」が「ご飯」となり、「私はご飯を食べた」という結果が得られる。では、次の英語を考える。

We will have rice harvest tomorrow.

この場合、「rice」を「ご飯」に翻訳すると「私たちは明日ご飯を収穫します」という不自然な翻訳となる。 日本語では「rice」をその状態や部位に応じて「稲」「(お)米」「ご飯」と使い分けるため、文の前後の内容からどの単語が正しいのかを推定しなければならない。

常識[編集]

機械翻訳の難しさのひとつは、自然言語の文を扱うということは、統語論では完結せず意味論も扱わねばならないことが頻繁にある、という点にもある。

たとえば英文 Time flies like an arrow. について、普通はこれを 「時は矢のように飛び去る 」(光陰矢のごとし)と解釈するが、これを 「時間蠅 は矢を好む 」 と訳することも可能で、文法的にも破綻がない。

当然、普通は後者は間違いなのであるが、後者を捨て去る判断のためには、人には「時が素早く過ぎると感じられることがある」「矢は速く飛ぶ」「時間蠅という生き物は恐らく存在しない」「虫が矢を好むことなどありそうにない」といった知識が必要となる。 このように、正しい翻訳を行うためにはその文が関わる世界に関する様々な知識や感覚が必要となる場合がある。 また、現実世界ではありそうにない時間蠅も、翻訳対象が架空の世界を描いた作品であれば存在するかもしれず、問題はより複雑になる。
一方で、このような常識的判断が誤訳をもたらすこともある。たとえば、昆虫群の移動速度を素早く測定したい生物学者は、英会話が不得手な場合「矢のように蝿たちを計時せよ 」と現地人に命ずるかも知れない。この場合、むしろ「光陰矢のごとし」という文の方が現実を反映しない訳ということになる。

翻訳支援[編集]

機械翻訳は主に「自動翻訳」と「翻訳支援」という異なる応用先で用いられる。自動翻訳では人間の介入は最小限であり、入力文すべてを機械に翻訳させようとする。これは「翻訳元の言語を理解することができない人」のための技術であると言える。 翻訳支援はプロの翻訳者が翻訳作業を効率的かつ高品質に行うために翻訳ソフトを活用するものである。

実用性[編集]

現実の翻訳は互いの言語の関係によっても大きく異なる。自然言語はそれぞれ孤立して存在するものではなく、多かれ少なかれ互いに影響し合っている。特に共通の歴史が長い言語同士では、文法や語彙に共通性、あるいは共通の起源を多く持つことがある。そのような場合、極端に言えば単語を置き換えるだけでもある程度のレベルの翻訳が可能であるから、機械翻訳もより容易い。

だいたいの意味を知るための概訳については、フランス語スペイン語イタリア語などインド・ヨーロッパ語族ロマンス語系諸語間の自動翻訳は比較的順当であり、英語とロマンス語系あるいはゲルマン語系言語との間の自動翻訳も実用レベルに達しているといえる。日本語からの翻訳の場合、実用レベルにあるのは朝鮮語との相互翻訳である。日本語と朝鮮語は膠着語であるという文法的共通性や漢語からの借用語などが多く、単語の置き換え以外にはあまり複雑な処理を必要としない。このため、「GoKorea」「KJCLUB」などの自動翻訳掲示板なども存在する。

日本語の場合は助詞や同音異義語が多数存在し、主語の省略も行われる。このため、形態素解析の段階で解析誤りが発生し、推測しなければならない情報も数多く存在する。一般に英日翻訳に比べて日英翻訳の能力は低い段階にある[5]

翻訳支援の場合、特定の分野の翻訳に適したユーザー辞書を作成することにより、翻訳ソフトの品質は大幅に向上する。だが一定規模の企業・組織ユーザー以外の、一般ユーザーによる小規模な利用シナリオでは、ユーザー辞書の効果よりも辞書の作成にかかる時間・労力のほうが大きい。その理由には、辞書作成に技能を要する、ユーザー辞書のコンテンツがない、辞書の相互利用のためのインフラがない、翻訳の量が少ない(規模が少ない・頻度が少ない)といった理由が挙げられる。これらの問題を解決するために、AAMT(アジア太平洋機械翻訳協会)がユーザー辞書を共有するための用語集仕様であるUPFを策定した。その後UPFの検討は中止され、2006年に後継の仕様であるUTXの策定が開始され、2013年現在ではバージョン1.11が公開されている。

アプリケーション[編集]

商用・非商用両方で多くの機械翻訳のアプリケーション、ツールキットが存在する。 オープンソースソフトウェアとして公開されているものは主に統計的機械翻訳のためのツールであり、これらを利用するにはパラレルコーパスを自ら用意する必要がある。

プロプライエタリ[編集]

フリーソフトウェア[編集]

  • KyotoEBMT (統計/用例に基づく翻訳)
  • Moses (統計/様々な翻訳手法を実装した総合ツールキット)
  • cdec (統計/構文木に基づく翻訳)
  • Travatar (統計/構文木に基づく翻訳)
  • cicada (統計/構文木に基づく翻訳)

評価[編集]

機械翻訳の評価方法として、人手評価と自動評価がある。

人手評価[編集]

人手評価は、その名前の通り、人間の評価者が翻訳機の出力結果を読んでスコアを付けてゆく方法である。 スコアとして、例えば以下のような基準を設定する。

  • 5: 不自然さを感じず、意味も正確である。
  • 4: 多少不自然さがあるが、意味は概ね理解できる。
  • 3: 不自然さがあり、意味が分かりにくい。
  • 2: 不自然さがあり、所々誤訳が含まれている。
  • 1: 翻訳が完全に崩壊している。

各文に対して上記のような指針に従ってスコア付けを行い、最後に各評価の割合(どのスコアの文が何パーセント含まれているか)を計算して翻訳システムの評価結果とする。 複数の基準に従って評価したり、評価者が自由にコメントできるようにすることで、単純なスコア付けだけでなく、システムの改善に繋げることが可能である。

自動評価[編集]

自動評価は、機械翻訳の結果を機械的に評価する方法である。 評価を行う場合は、まず、原文と参照訳(翻訳の正解文)を数千対程度用意し、翻訳システムを用いて原文を翻訳する。 次に、翻訳結果と参照訳の類似度を各文に対して計算し、最後に平均を取って翻訳システムの評価とする。

自動評価尺度として、以下のようなものがある。それぞれの尺度に特徴があるため、1つの尺度を信頼するのではなく、複数の尺度を併用することが望ましい。

関連項目[編集]

出典[編集]

  1. ^ 日本語には、初出版と書籍版は同題に訳されるのだが、原題では A Mathematical Theory of CommunicationThe Mathematical Theory of Communication という僅かだが深遠な違いがある。
  2. ^ http://museum.ipsj.or.jp/heritage/KT-1.html
  3. ^ http://museum.ipsj.or.jp/computer/dawn/0027.html
  4. ^ S. Ravi and K. Knight (2011). “Deciphering Foreign Language”. Proc. ACL. 
  5. ^ 成田一『パソコン翻訳の世界』