情報管理
Online ISSN : 1347-1597
Print ISSN : 0021-7298
ISSN-L : 0021-7298
記事
機械翻訳の新しいパラダイム:ニューラル機械翻訳の原理
中澤 敏明
著者情報
ジャーナル フリー HTML

2017 年 60 巻 5 号 p. 299-306

詳細
著者抄録

ニューラル機械翻訳(NMT)の登場により機械翻訳のパラダイムは大きく変化した。平均的な翻訳精度は統計的機械翻訳(SMT)と比較すると格段に向上したが,誤りの傾向がSMTとは大きく異なっており,NMT特有の誤りも存在する。本稿では機械翻訳研究の歴史をごく簡単に振り返り,SMTの仕組みを簡単に復習した後,SMTと比較しながらNMTの仕組みを解説する。NMTは大きく分けてエンコーダー,アテンション機構,デコーダーの3つからなり,それぞれの役割についても解説する。またそれぞれの翻訳方式の特徴を明らかにし,その長所と短所を説明する。さらに科学技術振興機構(JST)におけるNMTの活用事例を紹介し,最後に本稿のまとめを行う。

1. はじめに

「機械翻訳」という発想が生まれたのは,1947年にWarren Weaverが送った手紙の中で,

When I look at an article in Russian, I say "This is really written in English, but it has been coded in some strange symbols. I will now proceed to decode."

と語ったことが最初だといわれている注1)。これを契機に数十年にわたり機械翻訳の研究に多額の投資がなされたが,一向に精度が向上しなかったため,機械翻訳の研究は衰退していった。その後自然言語処理技術や計算機パワーの向上などにより,少しずつ機械翻訳の精度が向上していった。この頃の機械翻訳は主に人手で整備されたルールに基づくものであった。

1981年には長尾がアナロジーに基づく翻訳を提唱した1)。これは過去の翻訳用例(対訳コーパス)を組み合わせることで新たな文の翻訳を実現するというもので,ルールに基づく方法とはまったく異なるアプローチであった。この方法は用例に基づく翻訳(Example-Based Machine Translation: EBMT)とも呼ばれる。1980年代後半にはIBMの研究グループが統計的機械翻訳(Statistical Machine Translation: SMT)の研究を開始した。これは単語の翻訳確率や並べ替えの確率などの翻訳に必要な知識を対訳コーパスから統計的な情報として学習するものであり,これを拡張したものが2003年に提案された句に基づく翻訳(Phrase-Based SMT: PBSMT)で,現在でもスタンダードな機械翻訳手法として広く使われている。

2010年以降はSMTの研究も頭打ち感が広まり,国際会議に投稿される論文の数も徐々に減ってきていた。そんな中まったく新しい手法として2014年に登場したのが,ニューラルネットワークを用いた機械翻訳,いわゆるニューラル機械翻訳(Neural Machine Translation: NMT)である。ニューラルネットワークは人間の神経細胞における情報伝達の仕組みを模した計算モデルであり,ここ数年で画像,音声,ロボティクス,自動運転などさまざまな分野において大きな成果を上げている。機械翻訳を含む自然言語処理もご多分に漏れずその恩恵を受け,それまでの成果を大きく上回る結果を残している。

NMTが提案されてしばらくするとBaidu,SYSTRAN,MicrosoftなどNMTをプロダクト化する企業も出始めた。中でも2016年11月にGoogle翻訳がNMTを採用したときには大きな話題となった。本稿ではNMTの仕組みをSMTと対比しながら解説し,その長所と短所をまとめる。また科学技術振興機構(JST)におけるNMTの実用化事例を紹介し,最後に今後の展望について述べる。

2. 統計的機械翻訳(SMT)の簡単な復習

NMTの仕組みを解説する前にSMT,特にPBSMTの仕組みを簡単に復習する。誌面の都合上詳細は割愛するが,PBSMTでは対訳文内の単語対応の自動推定,自動推定結果からのフレーズテーブル(翻訳知識)の構築,言語モデルの構築,翻訳エンジンで用いる素性の重みのチューニング等,さまざまなステップを経て翻訳エンジンが訓練される。一般的に各ステップで別々のツールが用意されており,1つのツールで最初から最後まですべて行えるようにはなっていない注2)

訓練された翻訳エンジンを使って新たな文の翻訳を行う際には,1に示すようにまず入力文の各部分に対してフレーズテーブルに含まれる翻訳候補をすべて列挙する。次に列挙された翻訳候補から,入力文を過不足なくカバーするように適切な翻訳候補を選択し,それらを組み合わせて翻訳を生成する。当然,入力文を過不足なくカバーする翻訳候補の組み合わせは無数に存在する。最適な組み合わせを選択するために,各翻訳候補に対してさまざまな素性を考慮することでスコア付けし,スコアの和が最も高くなるような組み合わせを探索により見つけ出す。

以上のように,PBSMTでは入力文を小さな部分に分割し,部分ごとに目的言語に置き換えることで翻訳を行い,すべての部分が置き換えられたら翻訳が終了する。

図1 統計的機械翻訳(SMT)の翻訳方法の概要

3. ニューラル機械翻訳(NMT)の仕組み

SMTの訓練がさまざまなステップを経て行われ,フレーズテーブルや言語モデルといった独立した翻訳知識を用意したり,翻訳時に考慮する素性を設計したりする必要があるのに対し,NMTでは1つのニューラルネットワークを用意するだけで訓練も翻訳もすべて同じ枠組みで行うことができる。対訳文を与えるだけで,ニューラルネットワークが翻訳に必要な何らかの情報を自動的に学習するのである。このように入力から出力までが単一のモデルで完結するような枠組みをエンドツーエンド(end-to-end)と呼ぶ。

ではNMTで使われるニューラルネットワークはどのような構造をしているのであろうか。NMTにもさまざまなモデルがあるが,ここでは最も広く使われているモデル2)を紹介する。なおGoogleのNMT(GNMT)もここで紹介するモデルを拡張したものになっている3)

NMTは大きく分けて3つのパーツで構成されている。1つ目は入力文を実数値の集合であるベクトル表現に符号化(変換)するエンコーダー(encoder),2つ目は出力するべき単語を決定する際に,符号化された入力文のどこに注目すべきかをコントロールするアテンション機構(attention mechanism),3つ目は符号化された入力文とアテンション情報を基に出力文を復号化(生成)するデコーダー(decoder)である。2にこれら3つのパーツから構成されるNMTの概略図を示す。図内の<EOS>は文の終わりを示す特別なタグである。なお一般的に,入力情報を符号化するエンコーダーと,エンコードされた情報を復号化し所望の出力を得るデコーダーからなるモデルをエンコーダーデコーダーモデル(encoder-decoder model)と呼び,文書要約,画像のキャプション生成,気象データからの天気予報文の生成などさまざまなタスクで応用されている。次に各パーツについて解説する。

図2 ニューラル機械翻訳(NMT)の翻訳方式の概要

3.1 エンコーダー

エンコーダーでは,まず各単語を分散表現(distributed representation)と呼ばれる数百次元からなる実数値ベクトルに変換する作業を行う。この操作はembeddingと呼ばれる。この分散表現では単語の意味のようなものが表現されているといわれており,たとえば「王様」を表すベクトルから「男」を表すベクトルを引き算し,「女」を表すベクトルを足し算すると,「女王」を表すベクトルに近いベクトルになったり,「パリ」から「フランス」を引いて「イタリア」を足すと「ローマ」に近いベクトルになったりすることが知られている。この分散表現はNMTから独立して,単言語の大規模コーパスから学習することも可能だが,NMTでは分散表現の学習もネットワークの一部として同時に学習することが一般的である。

embeddingで表現されるのは各単語独立の意味表現であり,助詞や前置詞などの機能語や複合名詞など,他の語との結びつきにより意味が決定される語がうまく表現できない。そこで次に各単語を先頭から(forward)と末尾から(backward)1つずつ順に読み込んでいき,前または後ろの単語を考慮したベクトル表現を作り出す。この操作を実現するのがリカレントニューラルネットワーク(Recurrent Neural Network: RNN)である。基本的なニューラルネットワークは情報を一方向に伝達するのみで,過去の情報を利用したり情報を蓄えたりする機能は有していないが,RNNでは自身の出力を再度自身の入力としてフィードバックする機構をもっており,これにより過去の情報と現在の情報を同時に利用することが可能となっている。forward RNNのみでは前の単語しか考慮することができないため,backward RNNで後ろの単語を考慮し,2つのRNNで生成された2つのベクトルを単純につなげたものを,各単語の分散表現として翻訳で利用する。以上がエンコーダーの役割である。

3.2 アテンション機構

アテンション機構は,エンコードされた入力文と次節で説明するデコーダーの内部状態を判断材料として,次の単語を訳出する際に注目すべき箇所を判断する役割を担っている。注目する単語は決定的に1つに決めるのではなく,入力文のすべての単語に対して確率的に注目する。たとえば1単語目に注目する確率が0.2,2単語目に注目する確率が0.5,などとなり,すべて足すと1になるように正規化されている。1単語訳出するごとにこの確率(アテンション)が再計算され,注目すべき箇所が毎回変化する。

最後に,入力文の各単語の分散表現とアテンションを掛け算し,掛けた結果を足し合わせることで,入力分散表現の重み付き和を計算する。これをコンテキストベクトル(context vector)と呼び,デコーダーが次に訳出する単語を決定する材料として用いる。

3.3 デコーダー

デコーダーは1つのRNNで構成されており,コンテキストベクトルと1つ前に出力した単語の情報を入力として受け取り,次の単語を出力する。このため,訳文は先頭から順に1単語ずつ生成される。RNNからの出力は目的言語で使われる単語の種類数と同じ次元数をもつベクトルである。これを確率のように正規化するのが,ソフトマックス関数(softmax function)であり,最も確率の高い単語を出力する。出力する単語候補には<EOS>も含まれており,これが出力された時点で翻訳が完了する。以上がNMTの仕組みの概略である。

3.4 ニューラル機械翻訳(NMT)の特徴

ここでNMTの特徴をまとめておく。まずは前述のとおりend-to-endのモデルであり,単語アライメントやフレーズテーブルの構築は不要である。またSMTでは翻訳の過程はすべて記号(原言語もしくは目的言語の文字や単語)のうえで行われるのに対し,NMTでは最初の入力文と最後の出力文以外の部分はすべてベクトルのような数値で表現されており,翻訳の過程は数値の足し算や掛け算で実現されている。モデル自体は非常にシンプルになり使いやすくなったのだが,翻訳の過程の解釈は困難,もしくは不可能である。利点としては単語をベクトルで表現するembeddingのおかげで,同じ意味だが別の単語であっても,同じような翻訳を出力することができる点にある。これをSMTで実現するのは困難であった。

翻訳文の生成においてはSMTが入力文の部分的な置き換えの組み合わせで実現され,入力文をすべて置き換えることで翻訳が終了したが,NMTでは符号化された入力文とアテンションの情報からデコーダーが次に出力する単語を1つずつ決定し,<EOS>が出力された時点で翻訳が完了する。ここで実用上大きな問題が生じる。翻訳の終了をコントロールすることができないのである。デコーダーが<EOS>を出力するまで翻訳は継続し,いつ<EOS>が出力されるかは今のところ知るすべがない。このため入力文のすべてが過不足なく訳出されるという保証がない。アテンション機構が次に訳出するべき箇所を決定するのだが,過去に訳出した箇所の情報をもっていないため,同じところを複数回訳出したり(重複訳:over translation),まだ訳出していない部分があるにもかかわらず,<EOS>にアテンションして翻訳を終了させてしまったり(訳抜け:under translation)ということが起こる。もちろんこの点に関してはさまざまな研究者が解決に向けて研究しているところだが,今のところ決定的な方法は考案されていない。

4. ニューラル機械翻訳(NMT)の質と課題

NMTの仕組みがわかったところで,次にその翻訳の質についてみてみよう。NMTを採用したGoogle翻訳(GNMT)を使ったことがある人ならば,翻訳精度がこれまでより飛躍的に向上していることを体感し驚いたことだろう。3はGoogleが発表しているGoogle翻訳の質に関するグラフであるが,言語対によっては人間の翻訳と同等程度の質を達成していることがわかる4)

日本語を含めたアジア言語においてもNMTはSMTよりも平均的に高品質な翻訳を生成することができる。4は,JSTが情報通信研究機構(NICT)と京都大学と共催している国際的な機械翻訳の評価ワークショップであるアジア翻訳ワークショップ(Workshop on Asian Translation: WAT)注3)における科学技術論文翻訳タスクの人手評価結果を,2015年度のSMTと2016年度のNMTで比較したものである。評価基準は特許庁が公開している特許文献機械翻訳の品質評価手順注4)のうち,「内容の伝達レベルの評価」に即しており,5段階の絶対評価で評価5が最もよく,評価1が最も悪い。グラフでは各評価値の割合をパーセントで示している。

結果をみると日↔中ではSMTの精度がそれほど高くなかったため,NMTに変わったことで大きく精度が向上していることがわかる。一方で日↔英に関しては評価の低い文の割合は減っているものの,評価5の割合も減っていることがわかる。これは現在のNMTの最大の問題である「訳抜け」によるものである。

5にSMTとNMTの英→日翻訳例とその人手評価結果を示す。NMTによる訳では入力文中の下線で示した箇所が訳出されておらず,このため評価が4以下になってしまっている。3つ目の例に至っては「標記の方法」などとごまかして訳しており,変に人間味が感じられる。ある研究では,このような訳抜けが全体のおよそ18%存在すると報告されている5)

ここで注意したいのは,NMTの翻訳は訳文だけを見るとどれも完璧な日本語の文として成立しているという点である。原文と照らし合わせて初めて翻訳誤りが含まれていることが判断できるが,訳文だけを見ても気づくことはできない。SMTでは翻訳に失敗した場合は明らかにおかしな訳文が生成されていることが多かったため,翻訳誤りに気づくことも容易であったが,NMTではその判断が難しくなっているといえる。このように,NMTによる翻訳は流暢(りゅうちょう)さ(fluency)は完璧に近いが,訳抜けが起こりやすく正確性(adequacy)が完璧ではない傾向がある。

一方割合としては少ない(約4%)が,重複訳が生じることもある。6の例では“assistance”や“ski”が何度も出力されていることがわかる。このように一目見ておかしな訳はSMTではほとんど出力されなかった。

これらの問題は基本的にはすべて入力文を過不足なく翻訳することができないことが原因である。この点を解決することが今後のNMT研究の最大の課題といえる。

図3 GNMTの翻訳精度
図4 日↔英,日↔中 科学技術論文翻訳タスクにおけるNMTとSMTの精度の比較
図5 ニューラル機械翻訳(NMT)における訳抜けの例
図6 ニューラル機械翻訳(NMT)における重複訳の例

5. JSTにおけるニューラル機械翻訳(NMT)の実用化

JSTでは2013年度より「日中・中日機械翻訳実用化プロジェクト」を推進しており,機械翻訳エンジンの開発や言語資源データの整備などを行っている注5)。なお筆者は本プロジェクトの研究員として参加している。プロジェクト内で開発したNMTエンジンは先に触れたWATの科学技術論文翻訳の全タスクにおいて最も高い精度を達成した。この結果を受けて,開発したNMTエンジンとプロジェクトで整備した約350万対訳文からなる日中科学技術論文対訳コーパスを用いて,科学技術文献データベース「JSTChina」の中日機械翻訳に適用を開始した。

JSTChinaは,科学技術や医学・薬学関係の国内外の文献情報を検索できる日本最大級の科学技術文献データベースであるJDreamIII注6)の一部である。JDreamIIIは有料のサービスだが,JSTChinaに関しては無料で利用可能である。JDreamIIIに登載されている海外文献は,日本語の抄録を作成することですべての文献を日本語で検索できるようになっている。この日本語抄録は過去にはすべて人手で作成していたが,収録する文献数の増加などから機械翻訳の導入が必須となった。数年前からSMTによる機械翻訳の適用を開始し,人手翻訳,機械翻訳結果の人手修正,機械翻訳のみの3パターンを並行して行っている。NMTの利用は現在は中日翻訳のみだが,今後は英日翻訳での利用も検討する予定である。また先に述べたNMT特有の課題の解決にも継続して取り組む。

機械翻訳を利用することの利点は人手翻訳にかかる金銭的コストを低減できるだけでなく,時間的コストを大幅に低減できることにある。世界の科学技術の進歩のスピードが速まっており,また発信される情報も年々増加の一途をたどっている中,必要な最新の情報に素早くアクセスする必要があることは明白であり,時間的コストの低減は特に重要である。

もちろん機械翻訳された文には一定量の誤りが含まれるが,外国文献の内容を大ざっぱに把握し,自分が必要とする情報が含まれているかどうかの判断をするのには十分であり,これがほぼゼロコストで実現できるのが機械翻訳の強みである。重要な情報が含まれていると判断した場合にのみ,必要であれば人手の翻訳を依頼すればよい。

6. おわりに

本稿では機械翻訳の歴史を簡単に振り返り,最新の機械翻訳手法であるNMTの仕組みをSMTと比較しながら解説し,その長所や短所などについて述べた。またJSTにおけるNMTの活用事例を紹介した。

NMTは誕生してからまだ数年しかたっていないが,それまで数十年にわたって研究されてきたSMTの精度をすでに圧倒しており,現在も毎日のように新しい論文がarXivに投稿されるなど活発に研究されている。本稿で指摘したNMTの問題も読者の目に届く頃には一部が解決している可能性もある。

機械翻訳が進化することは多くの人にとって有益であることは間違いない。現京都大学総長の山極先生が,英語はあくまでツールであり日本語で考えるべきだとおっしゃっている6)。確かに英語で会話するときなどは日本語と英語間の翻訳のための負荷が脳にかかり,日本語だけで会話しているときほどまともに考えることができない。いつか機械翻訳がこの負荷を限りなくゼロにすることができれば,世界全体が今より少しだけよくなるかもしれない。われわれ研究者はそんな日を迎えられるよう,脳内翻訳を駆使して機械翻訳の改良に努めなければならないと思う。

執筆者略歴

  • 中澤 敏明(なかざわ としあき) toshiaki.nakazawa.tx@jst.go.jp/nakazawa@nlp.ist.i.kyoto-u.ac.jp

東京大学大学院 情報理工学系研究科で修士号を,京都大学大学院 情報学研究科で博士号を取得後,京都大学特定研究員および特定助教を経て,現在は科学技術振興機構研究員。専門は自然言語処理,特に機械翻訳で,多数の国際会議にて成果を発表。共著にコロナ社の自然言語処理シリーズ『機械翻訳』がある。

本文の注
注2)  最もよく使われている統計翻訳パッケージのMosesも複数のツールの寄せ集めになっている。

注3)  Workshop on Asian Translation (WAT) :http://lotus.kuee.kyoto-u.ac.jp/WAT/

注4)  特許文献機械翻訳の品質評価手順について:https://www.jpo.go.jp/shiryou/toushin/chousa/tokkyohonyaku_hyouka.htm

注5)  日中・中日機械翻訳実用化プロジェクト:https://jipsti.jst.go.jp/jazh_zhja_mt/

注6)  JDreamIII:http://jdream3.com

参考文献
 
© 2017 Japan Science and Technology Agency
feedback
Top