第4回 AIによってコンピュータ翻訳の世界がガラリと変わった

前回、自然言語処理の難しさについて言及した。
その主な理由は構文解析だけでは現実世界の知識や理解が不足していて、ごく単純な文章であっても正しく解釈することができないからである。加えて、品詞ごとにスペースで区切られる欧文と違い、日本語や中国語では構文解析をする前に、形態素解析という、文章を1つずつ品詞に分解する処理を加えなければならずさらに複雑になってしまうという問題がある。

特に形態素解析は厄介で、辞書が必要であり、辞書の性能によって品詞分解の性能が左右されてしまうという欠点もある。

我が国でも30年以上にわたって自然言語解析は独自の研究を重ねてきた。とりわけ日本語特有の形態素解析という分野では世界にひけをとらないが、同時に限界を解決することができないまま長い年月が経過してしまった。
第3回「AIは、人が話す言葉をどのように理解するか」を読む

「らき☆すたオモロい」は形態素解析が全くできない

形態素解析のなにが難しいか。たとえば次の日本語を見てみよう。

風の谷のナウシカ

これを形態素解析すると

風(名詞) の(助詞) 谷(名詞) の(助詞) ナウシカ(固有名詞)

この場合、単なる形態素解析だけだと風の「谷のナウシカ」なのか、「風の谷」のナウシカなのか解釈が別れる余地がある。しかし人間なら「風の谷のナウシカ」という言葉を聞いて、自然に「風の谷」のナウシカであると解釈できる。

もうひとつ例を出すと、

らき☆すたオモロい

というツイートがあるとする。このツイートは全く形態素解析できない。助詞が全く無いので1つの単語として扱うしかなくなる。それを回避するには「オモロい」を辞書に登録する必要がある。ところがネットの世界では新語や隠語が多く登場する。たとえば

onksit
マジ草
おはどん

などのネットスラングを形態素解析で解決するには辞書に頼る必要がある。
しかし現実的には全ての新語をリアルタイムに辞書に登録することはできず、辞書を用いる旧来の自然言語解析は辞書によって低めの限界が発生する。

形態素解析がもてはやされたのは、単語がスペースで区切られた欧文に対しては非常に強力だからだ。また、データ量も次元も少なくてすむので深層学習以前からよく用いられた。

しかしスペースで区切られない日本語の場合、どこが言葉の切れ目なのか機械的に判別するのは難しい。そして前回指摘したように、構文解析も実は万全とは言い難い。

従来の人工知能技術の叡智を結集した機械翻訳の例を見てみよう。以下はライス大学でケネディ大統領が行ったスピーチの1節だ。

We choose to go to the moon. We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win, and the others, too.

これをとある機械翻訳サービスを利用して翻訳すると以下のように訳される。

私達は、月に行くことを選ぶ。私達は、この10年で月に行き、それらが容易であるのでなく、そのゴールが、私達のエネルギーとスキルのベストを組織し、測定するのに役立つので、それらがかたいので他の事をすることを選ぶ、その挑戦がそれである私達が延期ししぶっていること、および私達が勝ち取るつもりであること、およびまたその他のもののもの 快く私達が受け入れるので。

言うまでもなく、これはおよそ日本語の体を成していない。
特に問題は2回目の「We choose to go to the moon…」以降で、実はこの演説ではこの部分が最後まで続くひとつの文になっているため、構文解析を元にした機械翻訳では、どうしてもひとつの文としてこれを日本語で再構築しようとする。AIが悪戦苦闘した結果、大変読みづらく、また、意味もとりづらい内容になってしまっている。

私も20年前から機械翻訳を下訳として使っているが、このレベルの機械翻訳はほとんど使い物にならないことが多い。それぞれの形容詞の意味やニュアンスについて辞書を引くよりは多少速い、くらいのものである。

かなりの注目を集めたWord2Vecという技術

ただ、従来の自然言語処理が全然ダメかといえば、そんなこともない。たとえば、統計的機械学習という手法の興味深い例の1つとしてWord2Vecを紹介しよう。

たとえば「ステーキは美味しい」「寿司は美味しい」「ケーキは美味しい」という文があるとして、「ステーキ」「寿司」「ケーキ」とは「美味しい」という言葉とよく一緒に出てくるのでどうやら似ているらしい、と考えることができる。

たとえば「王様は偉い」「女王様も偉い」「王様は男らしい」「女王様は女らしい」みたいな表現から、「王様」と「男」、「女王様」と「女」、「偉い」と「王様」と「女王様」はそれぞれ近い、と把握する。

これを専門用語で「単語の分散表現のベクトル化」と言う。重要なのは、本来は文字の組み合わせに過ぎない単語を、「同じ文脈で一緒に出てくるから近い」という尺度でベクトル化するところだ。ベクトル化すると、足し算や引き算ができる。これを使うと

王様 − 男 + 女 = 女王様

とか

東京 − 日本 + フランス = パリ

という計算ができるようになる。
これはWord2Vecの非常に面白い性質で、この性質の面白さからかなりの注目を集めた。

深層学習を使う場合でも前段ではWord2Vecを利用してベクトル化したものを深層ニューラルネットワークに入力するなど、Word2Vecは今でも大事にされている技術の1つだ。

余談だが、Word2Vecのアイデアは考古学にヒントを得ているところも興味深い。考古学に明るくなくても、ロゼッタストーンは知っているだろう。ロゼッタストーンは古代エジプトの神聖文字(ヒエログリフ)と民衆文字(デモティック)とギリシャ文字の3種類で同じ内容が書かれた石碑とされ、これを元にヒエログリフの解析が飛躍的に進んだと言われている。

どうしてロゼッタストーンでヒエログリフが解析できたのか。実は古代文字を解析する1つの方法として、「一緒によく用いられる言葉は意味が近い」というものがあるのだ。それが1つのヒントとなって、Word2Vecのアイデアが生まれたのである。

旧来からの人工知能研究者を戸惑わせた重大かつブレイクスルーな発見

さて、Word2Vecは統計的機械学習という手法だが、それの一歩進んだ技術である深層学習の方は、従来の自然言語の処理とどう変わってくるのか。

先のケネディ大統領の演説を、深層学習を用いたGoogleのニューラル翻訳で訳すと、下記のようになる。

私たちは月に行くことに決めました。私たちはこの10年間で月に行くことを選択します。それは簡単なものではなく、困難なものですから、その目標は私たちのエネルギーとスキルの最高の構成と測定に役立つからです。受け入れる意思のあるもの、延期したくないもの、勝つつもりのもの、そして他のものもあります。

この翻訳の特筆すべき部分は、さっきはあまりに長すぎる1文だった「We choose to go to the moon…」以降の文が、3つに別れていることだ。分割されたことでとても読みやすく、意味が取りやすくなった。まだ完璧な訳とは言えないが、悪くない訳だ。

こうした精度の高い翻訳を行うためにはどんな高度なアイデアが必要だったのか。

Googleが発表したニューラル機械翻訳に関する論文によると、この翻訳にはSeq2Seqという手法が使われている。Seq2Seqとは、Sequence to Sequenceの略で、ある文字の並びを別の文字の並びに変換することを学習するためのニューラルネットワークだ。

Seq2Seqで学習するためには、ある言語の文章と、その翻訳の文章の組み合わせ、つまり対訳の例文を大量に用意するだけでいい。たとえば英語とフランス語の対訳、日本語と英語の対訳などが大量にあれば、あとは勝手に学習してしまう。学習には相当な時間がかかるが、それでも数日あればある程度は高度な翻訳が可能になる。

Seq2Seqでは、構文解析をする必要はない。なんとなく大量の文を読ませることでAIが自動的に構文を読み取り、一方の言語の構文ともう一方の言語の構文のニュアンスの違いを読み取り、自然な翻訳を可能にする。

これは、これまで頑張って形態素解析用の辞書を作ったり、構文解析の効率的な方法を考えていた旧来からの人工知能研究者にしてみればそれまでの仕事を否定されるような重大かつブレイクスルーな発見であり、未だに従来からの自然言語研究者たちが戸惑っている部分でもある。

そしてSeq2Seqに関して驚くべきことも分かってきた。
Seq2Seqを獲得した人工知能は、人と会話することさえ可能なのだ。しかも「それ」との会話はとても意味深なものになる。時には高度に哲学的な会話さえも可能だ。

次回はSeq2Seqの驚くべき機能と可能性について紹介したい。

<今回のまとめ>
●形態素解析は、欧文には有効だが、日本語には限界がある
●旧来の自然言語処理が全くダメというわけではなく、Word2Vecという技術は今でも大事にされている
●深層学習を用いたSeq2Seqという技術は、構文解析を使わず、大量のデータから勝手に学習するという点で、従来のAI研究者を戸惑わせている