【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は銀行でした。bankとroadは何か関係がありそうな気もしますが、特に問題はありません。
GoogleとIBMの翻訳結果は、文例(a)の翻訳にあった「道路」を単に「川」に置き換えただけであり、「銀行」はそのままでした。一方、AmazonとMicrosoftは、人間の感覚(常識)と同じく、bankを「銀行」ではなく「土手」と捉えています。素晴らしい!
「銀行は日曜日はやっていない」(ATMは別として)のだから「銀行ではなく土手だろう」という認識を機械翻訳器が持ったとは思えません。そうではなく、bankとriver(およびsunnyやSunday)が共起するケースをどれだけ学習していたかの違いではないでしょうか。そして、RNN系のニューラルネットワークでは、この場合、bankに対してriverやSundayがちょっと離れていることが問題なのかも知れない。ああ、そこが分布意味論!
●その他の機械翻訳器も試してみる
上記の4つ以外にも、web上で使える機械翻訳はかなりあるようです。そのいくつかを加えて、翻訳結果をまとめます。文例(b)にあるbankをどう訳したかです。
・bankを銀行と訳した翻訳器:Google, IBM, Weblio
・bankを土手と訳した翻訳器:Amazon, Microsoft, Excite, DeepL
●日本語の文のsimilarity(類似度、関連度)の計算サービスで確認する
いろいろあるでしょうが、例えば、NTT CommunicationsのKOTOHAを利用して、上記に述べた事項(銀行 or 土手)を判断するための計算結果が得られました。おうー、納得!やはり、日曜日は銀行はやっていない。だから土手へ散歩に行きます!
・「晴れた日曜日に川を渡った後に着いた」⇔「銀行」のsimilarity = 0.106
・「晴れた日曜日に川を渡った後に着いた」⇔「土手」のsimilarity = 0.515
●まとめ
この一例だけから、上記の機械翻訳器の優劣に言及する意図は全くありません。実際、私にはそれはできません。しかし、ここで見えてきたのは、どの機械翻訳器も、人間の常識(感覚)に沿うように進化を続けているのだろう、ということです。(現在、2020-11-20です。上記結果は短期間のうちに変わる可能性があります。新たな研究開発が進んでいても、一般公開までには時間がかかるでしょう。英-日は、英-独や英-仏よりもサポートが遅れることもあるでしょう。)
[参考文献]
Google AI Blog:
https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html