構文木に基づく翻訳
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/07 08:19 UTC 版)
構文木に基づく翻訳は、機械翻訳開発のかなり初期からあったアイディアである。1960年代~1980年代の(今から見れば古いタイプの)AI研究者は、しばしばこうしたアイディアを過大評価し、それに酔った。単語・フレーズに基づく翻訳は、文の構造を利用しない翻訳のため、文法的に誤った訳出が多い。また、日英翻訳のように単語の並べ替え距離が大きい場合、正確な翻訳を行おうとすると、探索空間が爆発的に大きくなってしまう問題があった。「構文木に基づく翻訳では、入力文の構文情報を利用することにより、言語構造的に誤った並べ替えを探索空間から除外し、より正確な翻訳を行うことができるだろう」と期待された。だが、主としてこの構文木に頼る翻訳システムは、多くの研究者による長年に渡る試行錯誤にもかかわらず、結局、翻訳文の質が実用翻訳、実用通訳のレベルまでは向上せず、行き詰まりを見せた。 構文木に基づく手法はいくつか存在するが、以下に句構造に基づく翻訳の一例を示す。 原文 f {\displaystyle f} を句構造解析する。 得られた構文木を、定められた規則に従って部分木ごとに変換し、訳文 e {\displaystyle e} の構文木を得る。 変換した構文木から訳文を生成する。 例として、英語から日本語への翻訳を考える。以下のような原文が与えられたとする。 "I have a pen." この文を句構造解析して得られる構文木は次のようになる: ここで、以下のような辞書を使って英語の単語を日本語の単語に置き換える: 英語日本語I 私 have 持っている a - (空白) pen ペン 構文木は次のようになる: (S (NP (pron 私)) (VP (verb 持っている) (NP (det -) (noun ペン)))) しかしまだ語順が正しくないし、助詞もない。ここで構文木に対して以下のような規則を適用して変換をおこなう: "S → NP VP" というノードがあれば、それを "S → NP は VP" に変換せよ。 "VP → verb NP" というノードがあれば、それを "VP → NP を verb" に変換せよ。 すると変換された木はこのようになっている: (S (NP (pron 私)) は (VP (NP (det -) (noun ペン)) を (verb 持っている))) ここから、以下のような翻訳文を生成できる: "私はペンを持っている。" これは非常に単純な例である。実際には英語の have は複数の語義をもつので、語義の曖昧性解消をしなければ単純に「have → 持っている」という変換をすることはできない。また、モダリティの考慮や、照応の解決、敬語の扱い、自然な言い回しの文の生成など、実用的な翻訳ソフトウエアをつくるためには多くのことを考慮に入れる必要がある。 構文木に基づく翻訳では、構文解析誤りが翻訳結果に悪影響を及ぼす場合がある。その場合の解決策として、複数の構文木の候補(構文森)を考慮した翻訳手法も存在する。
※この「構文木に基づく翻訳」の解説は、「機械翻訳」の解説の一部です。
「構文木に基づく翻訳」を含む「機械翻訳」の記事については、「機械翻訳」の概要を参照ください。
- 構文木に基づく翻訳のページへのリンク