Google翻訳がスゴイ!精度向上を支える翻訳アルゴリズムとは?
- ツイート
-
- 2018/01/19
プログラミング言語を学ぶ際、文法と一緒に学んでおきたいのがアルゴリズムです。Google翻訳はニューラルネットワークを使用した翻訳アルゴリズムを採用し、大幅な翻訳精度向上を実現しました。今回は、アルゴリズムの概要とGoogleの新しい翻訳アルゴリズムについてご紹介します。
IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。
目次
アルゴリズムとは
アルゴリズムとは、問題を解くための手順や方法(狭義ではコンピューターで計算を行うときの計算方法)のことです。例えば、「エラトステネスのふるい」という有名なアルゴリズムがあります。これは「1~100までのうち、素数(1と自分自身以外では割り切れない数)がいくつ存在するのか」という問題を解く際に登場します。
エラトステネスのふるいは、1~100まで数字を並べ、次々と倍数(2の倍数、3の倍数、...)を消していき、残った数字が素数という単純なアルゴリズムです。1から100まで1つずつ素数であるかどうかを確かめても構いませんが、エラトステネスのふるいを使うことによって簡単に素数を見つけ出すことができます。
データを効率良く整列させたり探索させたりするアルゴリズムは、ソートアルゴリズムや探索アルゴリズムと呼ばれます。コンピューターがより早く、効率的に計算させるためにはどうすれば良いか、アルゴリズムは日々研究されて進化を続けているのです。
Googleの翻訳精度が飛躍的に向上
ニュートラルネットワークを使用した翻訳アルゴリズムに変更(2016年)
アルゴリズムの精度を向上させようと、日々技術進化のための努力が行われていますが、特に近年注目を浴びているのは、Google翻訳にニュートラルネットワークを使用した翻訳アルゴリズムが導入されたことです。従来のGoogle翻訳の精度は十分とは言い難いレベルでしたが、2016年に翻訳アルゴリズムが変更され、精度が飛躍的に向上しました。
長らく「存じ上げません」をGoogle翻訳にかけると、「Zonjiage not」と翻訳されていましたが、現在では「I do not know.」と正しく翻訳されます。
Webの技術開発と標準化を行う、Web業界で世界最高位の団体W3C(インターネット・アカデミーはW3Cのメンバー企業)の公式サイトの英文をGoogle翻訳にかけると、以下のように翻訳されます。「Zonjiage not」に比べて、飛躍的に自然な文章になっていることが分かります。
【原文】
The World Wide Web Consortium (W3C) is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards.
【和訳】
ワールドワイドウェブコンソーシアム(W3C)は、会員組織、専任スタッフ、および一般の人々が共同してWeb標準を開発する国際的なコミュニティです。
多くの言語に対応
進化したGoogle翻訳は日本語・英語に限らず、多言語に対応しています。Googleは2016年11月、ニューラルネットワークを活用した翻訳アルゴリズムを英語、フランス語、ドイツ語、スペイン語、ポルトガル語、中国語、日本語、韓国語、トルコ語の8言語に適用すると発表しました。Google翻訳は、Google翻訳アプリやWebサイトから誰でも利用が可能です。
Google翻訳の対応言語103カ国語と比較すると少なく感じますが、この8カ国語で世界の人口の約3分の1をカバーします。世界中の人が集まるイベントでの意思疎通が容易になったり、Webでニュースを翻訳して世界中に情報を発信できたりするなど、時間的・コスト面での障壁を取り払い、よりスムーズなコミュニケーションを図ることができます。
ニュートラルネットワークを使用した翻訳アルゴリズムとは?
これまでの機械翻訳とは
これまでの機械翻訳は、ルールベース翻訳や統計翻訳でした。ルールベース翻訳とは、ルールに従って翻訳する方法で、文法や単語などのルールを一つ一つ登録して翻訳します。しかし、「膨大なルールを登録しなければならない」「ルールが当てはまらない文章の場合はうまく翻訳できない」という欠点があります。
一方、統計翻訳は元の文章とその対訳データ(英語と日本語など)を学習データとして与え、統計結果に基づいて翻訳する方法です。ただし、単語レベルの翻訳であり、1文全体を考慮した翻訳ではありません。したがって、複数の意味を持つ単語を含む文章の翻訳は厄介です。
例えば、runという英語は「走る」という意味で使われるときもあれば、「経営する」という意味で使われるときもあります。このような単語を含む文の場合、文全体で単語の意味を推測しなければなりません。
Googleの翻訳アルゴリズムについて
翻訳アルゴリズムにニューラルネットワークを活用することによって、Googleは統計翻訳の限界を超えることに成功しました。つまり、1文をバラバラにして単語レベルで翻訳をするのではなく、1文をひとまとめにして翻訳することにより、正確な翻訳が可能になったのです。
[PR] 「このまま仕事続けていていいのかな...」そんな不安をマンガで解決!『マンガでわかる! インターネット・アカデミー』
おわりに
翻訳精度の向上に終わりはありません。今もなお翻訳データがニューラルネットワークに蓄積され、自然な翻訳へと近づいています。Google以外にIBMやMicrosoftも翻訳エンジンの開発を進めており、今後より一層翻訳の精度は向上するでしょう。数年後には思ってもみなかった変化が、私たちの暮らしにもたらされているかもしれません。
今回ご紹介した翻訳アルゴリズムをはじめプログラミングやITに興味がある方は、ぜひインターネット・アカデミーの各種プログラミング講座の受講をご検討ください。毎日無料体験レッスンを開催しており、オンライン予約もしくはフリーダイヤルでの予約を承っています。お気軽にお問い合わせください。