「Google翻訳」がスマホをかざすだけで文字を自動認識して翻訳する仕組みとは?


Googleが提供する翻訳アプリ「Google翻訳」には写真に写ったテキストを別言語に変換する機能があり、7月29日に配布されたアップデートで対応言語が27カ国後に拡大しました。海外に行った際には重宝しそうな同機能の気になる仕組みについて、Google翻訳のソフトウェアエンジニアのOtavio Good氏が解説しています。

Research Blog: How Google Translate squeezes deep learning onto a phone
http://googleresearch.blogspot.jp/2015/07/how-google-translate-squeezes-deep.html

スマートフォンのカメラをかざすだけで写った文字を翻訳する機能は、ニューラルネットワークという技術を活用することで実現しています。ニューラルネットワークとは、脳における神経細胞間の相互作用の模倣を目指す機械学習アルゴリズムの一種で、簡単に言えば人間の脳を再現し、学習能力を備えたソフトウェアのことです。例えば、画像に写っているのが犬か猫であるかを理解する「画像認識」という技術はニューラルネットワークが深く関係しています。

Google翻訳が画像を読み込んだ際、最初に行われるのは「文字」を選別する作業です。Google翻訳は画像の要素であるピクセルの中から似た色で、かつ列になって並んでいるものだけをピックアップ。ピックアップしたものが文字になり、それ以外の不必要な要素は排除されます。


次に、Google翻訳は選別した文字が何の文字なのかを認識する作業に入ります。この作業にニューラルネットワークが大きく関係しているとのこと。ただし、看板や標識で使われている文字は、PCやインターネットで使用される文字とは違って全て同じ形であるとは限りません。このことから、Googleのニューラルネットワークは「きれいな文字」だけでなく「汚い文字」も学習する必要があります。しかしながら「汚い文字」と言っても、現実に存在する数は無限に近いものがあるため、下記画像のような不鮮明であったり、ゆがんでいたりする文字を学習させて、対応しているそうです。


画像に写っている文字が何の文字なのかを認識したら、それに対応する文字や単語を辞書から探して翻訳。ただし、文字を認識したときにミスはつきもので、例えば「S」を「5」と認識することあります。こういったミスを軌道修正するために、辞書から対応する文字や単語を探すときには、完全にマッチするのではなく近似のものを探すとのこと。


翻訳が完了したら、画像の原文の上に翻訳文を重ねて表示させるというわけです。


この機能がすごいところはオフラインでも実行できること。オンラインでGoogleのデータセンターに接続すれば、画像からテキストを読み込んで翻訳するというのは、そこまで難しいことではないそうです。オフラインでも瞬時の翻訳を可能にするには、またしてもニューラルネットワークが活用されているとのことで、ニューラルネットワークにより外国語を勉強することなしに使用したり、理解できる時代になりつつあります。

・関連記事
ゲームを自ら学んで人間以上に上達できる人工知能「DQN」が人間を脅かす日はいつくるのか? - GIGAZINE

悪夢映像を作りだすGoogleの人工知能「DeepDream」で焼きたてピザのチーズをトロ~リさせるとこんな感じ - GIGAZINE

Googleの人工知能開発をリードするDeepMindの天才デミス・ハサビス氏とはどんな人物なのか? - GIGAZINE

画像をアップすると自動で説明文を生成してくれる「Images to Text」 - GIGAZINE

まさに悪夢、Googleの人工知能「DeepDream」でムービーを作成したらとんでもないことに - GIGAZINE

92

in ソフトウェア,   メモ, Posted by darkhorse_log