古いバージョンのブラウザーを使用しています。MSN を最適にご利用いただくために、サポートされているバージョンをご使用ください。

なぜGoogle翻訳は賢くなれたのか

ITmedia PC USER のロゴ ITmedia PC USER 2016/11/26
なぜGoogle翻訳は賢くなれたのか: ニューラルネットワークの活用により機械翻訳の正確さが向上しました © ITmedia PC USER 提供 ニューラルネットワークの活用により機械翻訳の正確さが向上しました

 「Google翻訳の日本語訳レベルを飛躍的に向上させた」とGoogleが発表し、話題になっています。

 機械翻訳が進化したのは、同社が開発したニューラルネットワークを使った翻訳技術の「Google Neural Machine Translation(GNMT)」を日本語にも対応させたからです。

 GNMTは、おおまかに言うと翻訳元の文章を系列データとしてエンコードし、それを翻訳先の言語のデータとしてデコードする作業を、ニューラルネットワーク(人間の脳神経系を模した情報処理システム)で行う仕組みです。

 これまで採用してきた「フレーズベース機械翻訳(PBMT)」よりも正確に翻訳できますが、PBMT同様に、山のような学習用データ(いわゆる“餌”)が必要です。

 というわけで、これまでユーザーがGoogle翻訳に入力してきた膨大なデータが餌として使われています。みんながGoogle翻訳を使えば使うほど餌が増えて、翻訳の精度が上がっていくことが期待されます。

 今回、日本語を含む8カ国語(英語、フランス語、ドイツ語、スペイン語、ポルトガル語、中国語、日本語、韓国語、トルコ語)がGNMTに対応したのは、これらの言語の餌が十分に集まったことが少なくとも理由の一つだと思います。

 Google翻訳は現在、103カ国語に対応していますが、例えばズールー語(南アフリカ共和国の約900万人が使っているそうです)の餌を確保するのは結構難しそうです。

 ところが、Googleは餌なしでも翻訳性能をアップできそうな“いいこと”を見つけ、GMNMT(Google Multilingual Neural Machine Translation)として発表しました。GNMTより増えた「M」は、マルチリンガル(多言語)を意味しています。

 おおまかに説明すると、

・英語←→日本語

・英語←→韓国語

 の翻訳ができるのなら、

・日本語←→韓国語

 の翻訳に必要な餌があまりなくても、結構うまく翻訳できるのではないか、と思ってやらせてみたら、かなり成功したということです。

 例えば、英語を中心として放射状にいろんな言語との翻訳を頑張れば、その円周上の言語同士の餌はなくても対応できることになります。

 これは、「ゼロショット学習」と「転移学習」という2つの機械学習の手法を使うことで実現したそうです。それぞれについては日本語の論文が公開されています。

 人間は(少なくとも私は)翻訳するとき、まず原文を読んで、単語単位ではなく、全体を概念として把握して、それを翻訳先の言語の文に変換しています。概念の部分はもやっとした塊みたいなもので、何の言語でもない感じです。

 そういうもやっとした塊状態の、共有される意味表示を経て翻訳先の言語に変換する機械翻訳手法は「interlingual machine translation」と呼ばれていて、このもやっとした塊は「interlingua(インターリングア=中間言語)」と呼ばれます。GMNMTはこのinterlinguaを仲介して翻訳するので、

・日本語←→韓国語

 の翻訳を直接やったことがなくても

・日本語←interlingua→韓国語

 といった処理で同じような翻訳結果が得られるというわけです。

 しかも、interlinguaはマルチリンガルなので、原文が例えば日本語と英語の混在した文章でも意味を理解して、指定した翻訳先に翻訳してくれるそうです。

 interlinguaの翻訳先は、入力シークエンスに小さなトークン(例えば英語からスペイン語へ、だったらのような)を追加しておくだけで指定できます。そのうち、日本語とズールー語の翻訳も実現するかもしれません。

 GMNMTは既にGoogle翻訳の一部の言語ペア(具体的には書いてないので分からず)で採用しているそうです。

 ご興味のある方は、公開された論文をご覧ください。こちらは英語の論文ですが、新しいGoogle翻訳に少しずつ入力していくと、結構内容が分かるかもしれません。

ITmedia PC USERの関連記事

image beaconimage beaconimage beacon