機械翻訳

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

機械翻訳(きかいほんやく)とは、ある自然言語を別の自然言語へ機械的に変換する技術をいう。機械翻訳の概念自体はコンピュータの存在以前より存在するため、機械翻訳と翻訳ソフトは同義ではないが、現在ではほとんど翻訳ソフトとして実装される。例として、英語の文章を入力するとそれを翻訳した日本語の文章を出力する英和翻訳ソフトウエアなどがある。自動翻訳ともいう。近年は統計人工知能、コンピュータ処理能力、データベース、記憶容量の進歩により急速に成長している分野である。

尚、翻訳方法のもう一つとして、「人力翻訳(人の手による翻訳)」がある。

歴史[編集]

アプローチ[編集]

現在広く使われている機械翻訳の原理は次のとおりである。 言語 X で書かれている文を言語 Y に翻訳する場合:

  • 言語 X の文を構文解析する。
  • 得られた構文木を、定められた規則に従って変換し、言語 Y の構文木を得る。
  • 変換した構文木から言語 Y の文を生成する。

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

 "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年代以降研究が盛んになっているのは統計的な手法を用いた機械翻訳である。 これは音声認識の分野で用いられていた雑音チャネルモデルを応用したもので、元言語(翻訳元の言語) f は目的言語(翻訳後の言語) e が雑音のある通信路を通る間に変化してしまったものであると捉え、翻訳とは元言語から目的言語への復号であると考える。 この時、復号誤りが最も小さくなる翻訳結果 \hat{e} は以下の式を満たすことによって得られる。

\hat{e} = \mathrm{argmax}_{e} P(e|f)

しかし、このままではモデル化が難しいため、ベイズの定理を用いて以下のように変形する。

\mathrm{argmax}_{e} P(e|f) = \mathrm{argmax}_{e} \frac{P(e)P(f|e)}{P(f)} = \mathrm{argmax}_{e}P(e)P(f|e)

よって

\hat{e} = \mathrm{argmax}_{e} P(e)P(f|e)

ここで P(e) をモデル化したものを言語モデル、P(f|e) をモデル化したものを翻訳モデルと呼び、言語モデルは言語としての確からしさを、翻訳モデルは翻訳の確からしさをモデル化していると言える。そして、これらのモデルから翻訳候補を生成し、最も確率の高い翻訳結果を探索する処理系をデコーダと呼ぶ。

翻訳モデルのみでは目的言語として正しくない文となってしまうため、言語モデルによって目的言語として正しくない文を取り除けると考えられる。また、言語モデルについての研究は音声認識などの分野において既に研究が行われており、その知見を生かすこともできる。

実際にはパラレルコーパスと呼ばれる文同士の対応がついた2言語間のコーパスを用いてこの確率を推定することになる。

問題[編集]

語義の多義性[編集]

常識[編集]

機械による翻訳の困難さのひとつは、それが文法や単語の意味の解析といった論理的処理だけでは解決しない点にもある。たとえば英文 Time flies like an arrow. について、普通はこれを 「時は矢のように飛び去る 」(光陰矢のごとし)と解釈するが、これを 「時間蠅 は矢を好む 」 と訳することも可能で、文法的にも破綻がない。

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

翻訳支援[編集]

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

実用性[編集]

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

だいたいの意味を知るための概訳については、フランス語スペイン語イタリア語などインド・ヨーロッパ語族ロマンス語系諸語間の自動翻訳は比較的順当であり、英語とロマンス語系あるいはゲルマン語系言語との間の自動翻訳も実用レベルに達しているといえる。日本語からの翻訳の場合、実用のレベルにあるのは日韓自動翻訳である。日本語と韓国語は膠着語であるという文法的共通性や、漢語からの借用語もあり、自動翻訳の精度は文体にもよるが普通80%~90%である。このため、日韓間では自動翻訳掲示板など実用サイトも存在する。(外部リンク、NAVER日韓自動翻訳掲示板参照)。

日本語の場合助詞や同音異義語が多数存在するために形態素解析の段階で翻訳に困難をきたす。ゆえに一般に英日翻訳に比べて日英翻訳の能力は低い段階にある[1] 。英語の語学力のない人が英訳を行い出来上がった英文の評価が出来ない場合、英訳した文を日本語に再変換してみて日本語で意味が通るかどうか確認してみると良い。

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

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

商用・非商用両方で多くの機械翻訳のアプリケーションが存在する。

評価[編集]

関連項目[編集]

外部リンク[編集]

出典[編集]

  1. ^ 成田一『パソコン翻訳の世界』