機械翻訳機能を用いた和文英訳の品質解析


下記は、2012年1月1日朝日新聞「リスク社会に生きる(1)」からの抜粋です。
この文章を例題にA社とB社の自動翻訳サイトを利用して英訳し、機械・自動翻訳サイトが実用に耐え得るか否かを検討してみました。

ドイツ・ミュンヘン市内の幼稚園からの帰り道、防寒服にくるまれたレイヤちゃん(4)は母親の照実さん(39)に雪玉をぶつけて歓声をあげた。

幼稚園やスーパーがある駅から自宅まで歩いて約15分。コンビニもない。

東京電力福島第一原発の事故を機に日本を離れて、9ヶ月がたった。照実さんはドイツ語をほとんど話せない。家や学校の手続きもわからないことばかり。レイヤちゃんは一時、人が変わったように聞き分けがなくなった。

時差8時間、9千キロ離れた東京の自宅で、パソコンに娘の気配を感じながら、サッシャさんは眠りについた。

ドイツ人の父と日本人の母の間に生まれ、10歳ごろまでドイツで暮らした。



【 A社の自動翻訳サイトを利用した英訳例】

ドイツ・ミュンヘン市内の幼稚園からの帰り道、防寒服にくるまれたレイヤちゃん(4)は母親の照実さん(39)に雪玉をぶつけて歓声をあげた。(例文1)

Way home from kindergarten in the city of Munich, Germany, Chan wrapped in heavy winter clothing layer (4) Mr. Barthelemy's mother (39) gave a cheer that hit a snow ball.

まずA社の翻訳サイトの利用結果です。
前半の句「ドイツ、ミュンヘン市内の幼稚園からの帰り道」はうまく訳せています。
レイヤが個人名なのか普通名詞なのか判断できていませんが「名詞+ちゃん」が人の名前である可能性をロジックの中に組み込めば、この問題は解決できるのではないかと思われます。Chan gave a cheer はChanをレイヤで置き換えれば正しい構文となりますが、cheer that hit a snow ball の構文解析が誤っています。しかし、この英文は、Mr. Barthelemy’s gave a cheer とも解釈でき、Chan wrapped とmother gaveが並列に並ぶとした場合、(4)とMr. の間にandが抜けていることになります。

Barthelemyはどこから来たものか全くもって想像が付きません。てるみはthelemyの音と似ているとは言えますが。


レイヤが雪玉をぶつけ、レイヤが歓声を上げたと正しく英訳させるためにはどういう日本語文であれば良いかを検討するため、英文をソースとしてみました。

Leiya (4) wrapped in heavy winter clothing, gave a cheer throwing a snow ball at her mother Terumi (39). (例文3−1)
防寒服に包まれたLeiya(4)、彼女の母照美(39)で、雪のボールを投げる喝采を与えた。

Atが場所を示す前置詞としてしか認識されておらず、throw at〜の可能性が考慮されないロジックのようです。
和文英訳では、名前の後の括弧に入れた数字(年齢)が名前から離れてしまっていますが、英文和訳では名前の直後に残っています(名前と直接結び付けられている?)。もし括弧内の数字が年齢と判断されていて名前の直後に表記すべきというロジックがあるのであれば、そのロジックは和文英訳にも適用されるべきでしょう。

念のため、
Leiya threw a snowball at her mother.(例文3−2)
をソースとして入力し、throw at〜が考慮されず、at は場所を表わす前置詞としか理解されないことを確認してみました。
Leiyaは、彼女の母親で雪玉を投げた。


Throw の対象を示すatを排除した文であれば、「雪玉をぶつけて歓声を上げた」が正しく英訳されるでしょうか?
防寒服にくるまれたレイヤちゃん(4)は雪玉をぶつけて歓声をあげた。(例文1−2)
Chan wrapped in heavy winter clothing layer (4) gave a hit cheered by a snowball.

前回同様に〜ちゃんがうまく理解できないようなのでちゃんを削除してみました。
防寒服にくるまれたレイヤ(4)は雪玉をぶつけて歓声をあげた。(例文1−3)
Wrapped in heavy winter clothing layer (4) gave a cry banging a snowball.
LayerをLeiyaなど正しい固有名詞に置き換えれば、構文的には正しい英文になっているます。
ところが、raised a cheer が gave a cry に変わってしまいました。これはなぜなのでしょう。
また雪玉をぶつけた対象が削除されたためか、投げて当てたというニュアンスの「ぶつけた」が「たたきつけた」というニュアンスのbangと訳され、「雪玉を叩きながら叫んだ」というような意味合いになってしまいました。

〜ちゃんにてこずり、かつドイツ名のレイヤは英語のlayerと区別しにくいようなので、マリーという名前に変え、雪玉を「ぶつけた」と歓声を「上げた」と言う動作が並列になるように、日本語を作り直してみました。
防寒服にくるまれたマリー(4)は、母親に雪玉をぶつけて、歓声をあげた。(例文1−4)
Marie wrapped in winter clothes (4), in a snowball hit his mother, raised a cheer.
主語を明確にしようと句点を追加しただけなのですが、「母親に雪玉をぶつけて」の箇所の訳がおかしくなってしまいました。どのような解釈のプロセスのよってin a snowball という訳が出て来たのかは想像できません。

マリーの後の句読点は削除し、マリーが女性の名前であることが判別できるように「彼女の」母親に変更してみました。
防寒服にくるまれたマリー(4)は彼女の母親に雪玉をぶつけて、歓声をあげた。(例文1−5)
Marie wrapped in winter clothes (4) have a snowball hit her mother, raised a cheer.
これが、この翻訳サイトの限界でしょうか。
Have a snowballは現在形、raised a cheer は過去形になっています。
一文の中では、並列になっている動詞の時制は揃えるとことは原則となり得るのではないでしょうか。時制を揃えることを原則とし、そうでない場合には、機械翻訳した後の手動による校正過程で修正すればよいと思われます。


最後に マリーは彼女の母親に雪玉をぶつけた (例文1−6) をソースとしてみました。
Mary is the mother of her bump a snowball
この解を得た時点で、これ以上、この翻訳サイトを使って、英訳するのは無理と諦めました。

このサイトは、本例のような複合文には対応できないのか、それとも最後の例に挙げたように、この「母親に雪玉をぶつけた」が正しく英訳できないことによる、自動翻訳失敗なのかは定かではありません。


【 B社の自動翻訳サイトを利用した英訳例】

次にB社の自動翻訳結果を解析してみました。

ドイツ・ミュンヘン市内の幼稚園からの帰り道、防寒服にくるまれたレイヤちゃん(4)は母親の照実さん(39)に雪玉をぶつけて歓声をあげた。(例文1)
My layer (4) covered by the way back from the kindergarten in German Munich and heavy winter clothing threw Mr. 照実 (39) of the mother 雪玉, and he raised a cheer.

My layerと訳された瞬間に、レイヤちゃんとマリーにまず、レイヤちゃんをマリーに変えてみる
ことにしました。

Marie covered by the way back from German Munich Uchi's kindergarten and heavy winter clothing threw Mr. 照実 of the mother 雪玉, and raised a cheer.

人名+さんの「さん」を敬称と正しく理解している点はA社に勝っていますが、句点で区切られたドイツ・ミュンヘン市内の幼稚園からの帰り道の構文解析が誤っています。防寒服にくるまれたと幼稚園からの帰り道がごちゃ混ぜになってしまったのはなぜでしょう。The way back from the kindergarten in という訳文そのものは合っているため、構文解釈の誤りが残念です。

ドイツ・ミュンヘンをGerman Munichと訳したことについて、中黒に起因する不備かと思って中黒を削除してみましたが、結果に違いはありませんでした。英語では、場所の表記が日本語とは逆転し、都市名が国名によりも前に来るというルールはロジックに組み込めるはずだと思います。

どのようなプロセスで、The mother 雪玉(雪玉が母親の名前)と解釈したのでしょうか。この点については想像が付きません

ただし、この訳文では、threwとraisedが正しく並列する動詞2つと解釈されています。
そこでうまく訳せなかった前半の句の部分を削除して再度試してみました。

防寒服にくるまれたレイヤ(4)は雪玉をぶつけて歓声をあげた。(例文2−1)
The layer (4) covered by heavy winter clothing threw 雪玉, and raised a cheer.

防寒服にくるまれたマリー(4)は雪玉をぶつけて歓声をあげた。(例文2−2、1−3と同じ)
Marie (4) covered by heavy winter clothing threw 雪玉, and raised a cheer.
この英訳であれば、雪玉をsnowballに置き換えるだけで、使える英文になっています。
少なくとも例文1−3のA社訳よりは原文の意に近い訳文です。

マリー(4)は彼女の母親に雪玉をぶつけて、歓声をあげた。(例文2−3)
Marie (4) threw her mother 雪玉 and raised a cheer.
構文としては正しい英文になりました。
ただし、Marie threw her mother a snowball と Marie threw a snowball at her とは意味が違います。前者は、「マリーは母親に雪玉を投げて渡した」という意味ですし、後者は「マリーは母親めがけて雪玉を投げて当てた」という意味です。原文が「母親に雪だまをぶつけた」ですので、後者の訳が正解です。
並列する動詞はうまく処理できたB社の自動翻訳ですので、マリーを修飾する句を追加してみました。

防寒服にくるまれたマリーちゃん(4)は彼女の母親に雪玉をぶつけて歓声をあげた。(例文2−4)
Marie (4) covered by heavy winter clothing threw her mother 雪玉, and raised a cheer.
To throw at が使われるには至っていませんが、マリーを修飾する句を追加しても問題なく、英訳することができています。そして「ちゃん」を追加しても、それを敢えて訳すことなく、うまく対応しています。

かなりいい成果が出せているB社の自動翻訳ですので、次に「幼稚園からの帰り道」を追加してみました。

幼稚園からの帰り道、防寒服にくるまれたマリー(4)は彼女の母親に雪玉をぶつけて歓声をあげた。(例文2−5)
Marie (4) covered by the way back from a kindergarten and heavy winter clothing threw her mother 雪玉, and raised a cheer.
幼稚園からの帰り道を追加しただけで、それが句点で区切られているにも拘わらず、構文は破綻してしまいました。A社の翻訳サイトがこの部分を正しく解釈していたのに比べ、この句が解釈できなかったという点は興味深いです。


【 結論 】

第1文の英訳を試みただけですが、A社(赤字)の自動翻訳機能も、B社(緑字)の自動翻訳機能も、それぞれ一長一短あり、不完全であることは明らかとなりました。

まだ成熟していない自動翻訳技術であるならば、まずその出力を一次訳(下訳、訳案)として使い、その一次訳を手動で加筆修正して校正することが考えられます。そして機械翻訳機能が理解しやすい(英訳しやすい)日本語文に加工するという前処理が有効であるという仮説が実証できるのではないかと期待していました。部分的にはそのような前処理の有効性は感じられますが、例文1−2や1−6、例文2−5の機械翻訳例のような出力ですと、単純な加筆修正で対応できるレベルではなく、ソース(原文)の問題なのか、自動翻訳機能の不具合なのかを切り分けることができず、仮設を検証することはできません。

機械翻訳で出力された英文の妥当性をざっくりと確認するために、その出力文をソースにして再度機械翻訳してみることは一つのオプションだと思いますが、例文3−1や3−2のような状態だとすると、自動英文和訳の品質もまだまだ実用には耐え得ないようです。