2020年11月20日金曜日

機械翻訳:bankは銀行か土手か

【what is this】機械翻訳に関する下記 [参考文献] を読んだことからヒントを得てこの記事を書いています。ただし、本内容は、小生の独自調査にもとづく見解です。

英語の単語 bank
 bank
には、銀行土手(堤)などの意味があります。人間ならば、それが出現する文脈からどちらの意味かは容易に判断できます。では、現代の機械翻訳はどうなのでしょうか?


 ・文例(a) I got to the bank after crossing the road.
 ・文例(b) One sunny Sunday, I got to the bank after crossing the river.

現代の機械翻訳は人間の常識や感覚も取り入れている
 まず、文例(a)をご覧下さい。これは易しいです。代表的な4つの機械翻訳器(Google, IBM, Amazon, Microsoft)はいずれもほぼ同じ翻訳結果を出力しました。つまり、bank銀行でした。bankroadは何か関係がありそうな気もしますが、特に問題はありません。


 では次に、文例(b)を見てみましょう。文例(a)の末尾のroadriverに置き換えたものです。さらに、先頭にOne sunny Sunday(ある晴れた日曜日に)を追加しました。小生の気持ちとしては、「晴れた日曜日に川を渡った」のですから、銀行へではなく、土手へ(散歩に)行ったのだ、と伝えたかったのです。この文例(b)に対する4つの機械翻訳器の結果は興味深いものがあります。

 GoogleIBMの翻訳結果は、文例(a)の翻訳にあった「道路」を単に「川」に置き換えただけであり、「銀行」はそのままでした。一方、AmazonMicrosoftは、人間の感覚(常識)と同じく、bankを「銀行」ではなく「土手」と捉えています。素晴らしい!

 「銀行は日曜日はやっていない」(ATMは別として)のだから「銀行ではなく土手だろう」という認識を機械翻訳器が持ったとは思えません。そうではなく、bankriver(およびsunnySunday)が共起するケースをどれだけ学習していたかの違いではないでしょうか。そして、RNN系のニューラルネットワークでは、この場合、bankに対してriverSundayがちょっと離れていることが問題なのかも知れない。ああ、そこが分布意味論!

その他の機械翻訳器も試してみる
 上記の4つ以外にも、web上で使える機械翻訳はかなりあるようです。そのいくつかを加えて、翻訳結果をまとめます。文例(b)にあるbankをどう訳したかです。
 ・bank銀行と訳した翻訳器:Google, IBM, Weblio
 ・bank土手と訳した翻訳器:Amazon, Microsoft, Excite, DeepL

日本語の文のsimilarity(類似度、関連度)の計算サービスで確認する
 いろいろあるでしょうが、例えば、NTT CommunicationsKOTOHAを利用して、上記に述べた事項(銀行 or 土手)を判断するための計算結果が得られました。おうー、納得!やはり、日曜日は銀行はやっていない。だから土手へ散歩に行きます!
 ・「晴れた日曜日に川を渡った後に着いた」⇔「銀行」のsimilarity = 0.106
 ・「晴れた日曜日に川を渡った後に着いた」⇔「土手」のsimilarity = 0.515

まとめ
 この一例だけから、上記の機械翻訳器の優劣に言及する意図は全くありません。実際、私にはそれはできません。しかし、ここで見えてきたのは、どの機械翻訳器も、人間の常識(感覚)に沿うように進化を続けているのだろう、ということです。(現在、2020-11-20です。上記結果は短期間のうちに変わる可能性があります。新たな研究開発が進んでいても、一般公開までには時間がかかるでしょう。英-日は、英-独や英-仏よりもサポートが遅れることもあるでしょう。)

[参考文献]
Google AI Blog:
https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html


0 件のコメント:

コメントを投稿