更新日:

機械翻訳がたどってきた歴史からみる進歩を解説!今後の可能性も紹介

Image of Aleksey Bolyshkanov
Aleksey Bolyshkanov

歴史を辿ると、船というものによって世界が繋がれていったのが分かる。航海技術が発展するたびに新たな交易路が開拓され、異なる地域や文明間の交流が盛んになった。技術が進化すればするほど、進化した船や飛行機のおかげで、世の中は更に物理的な「距離」という壁を乗り越えて繋がれていった。さらに、インターネットの出現によって「距離の壁」は歴史上最も低いものになった。しかしまだひとつの大きな壁が残っている。それは言語の違いという壁だ。

言語の違いを乗り越えるべく、機械翻訳というものが使われている。これを使って様々な海外にある情報を、母国語へ翻訳する人は多いだろう。現在、Google 翻訳(Google Translate) を使ったことがない方が逆に珍しい時代になった。とはいえ、実際に使ったことがある人で、信頼できない・使い物にならないと感じている人も少なからずいるだろう。「機械翻訳で海外のニュースを大体は理解できるが、翻訳精度を鑑みると仕事では使えない」「いざという時に使うには、翻訳品質が信用できず使えない」と思ったことがないだろうか?これらは無理もない意見である。

しかし、技術の進化とともに機械翻訳も進化している。機械翻訳は、いまや仕事でも十分に使えるツールとなった。最も多くの人が用いる機械翻訳は Google Translate だが、実のところこれが最初の機械翻訳ツールというわけではない。1930年頃に始まった機械翻訳という概念は100年近くの歴史があり、その使い道と品質は年を経て発達してきた。そして、この100年に近い歴史に、代表的なモデル(方法・やり方)があったからこそ、いま世界中で愛用されている Google 翻訳(Google Translate)が存在している。

そのモデルは以下である:

RbMT: Rule-based Machine Translation (ルールベース機械翻訳)
EbMT: Example-based Machine Translation(用例ベース機械翻訳)
SMT: Statistical Machine Translation(統計的機械翻訳)
NMT: Neural Machine Translation(ニューラル機械翻訳)

これらは全部根本的に翻訳モデルが異なり、メリット・デメリットもある。でも知っていただきたいのは、これらのモデルとその歴史を通して、機械翻訳とその品質が飛躍的に発達してきている事実だ。そして、これからの機械翻訳も更に向上することは間違いない。

まず、本記事では、上記の4つの機械翻訳モデルの歴史と概要を説明していきたいと思う。

目次

  1. 機械翻訳の歴史・背景
  2. RbMT: Rule-based Machine Translation(ルールベース機械翻訳) 
  3. EbMT: Example-based Machine Translation(用例ベース機械翻訳)
  4. SMT: Statistical Machine Translation(統計的機械翻訳)
  5. NMT: Neural Machine Translation(ニューラル機械翻訳)
  6. 結論

機械翻訳の歴史・背景

  • 1930年代:機械翻訳の発想が始まる
    • ロシアで、初の機械翻訳への本格的な取り組みが始まるが、実用に至らなかった
  • 1950年代:第二次大戦の暗号解読知識を生かして、ロシア語・英語の機械翻訳のデモを開発。当初はわずか250単語しか扱えない代物だった
  • 1960年代:アメリカ政府が開発を試みるが、品質・効率が悪く、開発を中止
  • 1970年代:Systran 社創設。英語・フランス語の天気を翻訳する METEO を開発
    • RbMT が本格化
  • 1980年代: 長尾真が EbMT を提案・研究
  • 1980-90年代: IBM 社で SMT を提案・研究
  • 1997年: Web 初の機械翻訳 Babel Fish
  • 2006年: Google Translate 登場
  • 2015年: NMT が登場

RbMT: Rule-based Machine Translation(ルールベース機械翻訳) 

歴史

機械翻訳の世界で先に実用化したのは RbMT。1960年代に、アメリカ政府が機械翻訳は当てにならないと判断して、これを研究することを中止したが、1970年代に Systran という機械翻訳に取り組む会社が初めて RbMT のシステム開発に成功した。もちろん、初の機械翻訳は品質が低かったが、分野によって対訳のあらましを掴むぐらいの性能はあった。当時は冷戦の真っ只中だったため、対応可能言語は英語とロシア語のみだった。この新しいシステムはアメリカ空軍に取り入れられ、ロシア語の科学・技術マニュアルなどの英訳に使われた。後に、この RbMT システムは、同じ用途で米ソが協力した宇宙船飛行プロジェクトのアポロ・ソユーズテスト計画にも使用された。

Systran のそこそこの成功を受けて、欧州連合も似たようなシステムに取り組んだ。各加盟国が欧州連合の様々な資料を読めるようにするべく、Eurotra という新システムの開発に大きな資金と時間を費やした。結局、開発過程が複雑化したために、実用的な機械翻訳を作るのに失敗したが、これまでの研究が後のものに役立つことになる。

現在、この古い技術の RbMT はもはや使われていない。しかし、無料ソフトの形で RbMT がレガシーを残している。51言語ペアに及ぶ無料ソフト Apertium と、北ゲルマン語群/英語をメインに対応している Gram Trans という無料ソフトが RbMT の生き残った実例だ。

仕組み

RbMT(Rule-based Machine Translation)は文字通りに、文法ルールを軸(モデル)に機能している方式だ。このシステムが機能するために、元言語(SL: Source Language)と翻訳言語(TL: Target Language)の単語・文法情報が必要になる。文法(ルール)は、多くの場合、手動で言語学者が設定しなければならなかったが、これによってカスタマイズもできた。単語については、大量の辞書が必要だった。

主な要素

  • 文法:
    • 元言語を解析する機械
    • 元言語を対象言語に翻訳する機械
    • 対象言語の文章を生成する機械
  • 単語:
    • 元言語の辞書
    • 対象言語の辞書
    • SL を TL に翻訳するための二言語辞典

機械翻訳する時の主なステップ

  1. 原文の単語ごとに品詞情報を取得 (名詞、動詞など)
  2. 原文の構文情報(語順など)を取得 (文法)
  3. 原文を解析する(分解)
  4. 各単語を TL に翻訳
  5. 辞書の出力を適切な形で適切な位置に置く

原文: A girl eats an apple.

1: 各単語の品詞情報を取得する

A - 助詞  girl - 名詞   eats - 動詞  an - 助詞  apple - 名詞

2: 動詞についての文法情報を取得する

主語・eats・目的語, eats - 現在形, 一人、三人称

3:  原文を解析する

apple - eatsの目的語

4: 英語の単語を日本語に変換する

A - ある  girl - 女の子  eats - 食べる  an - 一個  apple - りんご

5: 4にある単語を適切な位置に置いて、文章を生成する

A girl eats an apple. ー> ある、女の子、一個、リンゴ、を食べる。

メリット

デメリット

  • 既存の翻訳データがいらない
  • エラーをルールで調整可能
    • 品質向上可能
  • ルールはカスタマイズ可能
  • 手動でやらなければいけないことが多い
  • 複雑で手間がかかる
  • 分野によって、高品質の辞書が少ない

EbMT: Example-based Machine Translation(用例ベース機械翻訳)

歴史

1980年代まで、RbMT がメインに使われていたが、やはり様々なルールの作成・微調整にはあまりにも手間がかかるし、複雑すぎた。当時、英語力のあまりない日本では機械翻訳に大きな興味を覚えた。しかし、英語と日本語では言語としてのルールがあまりに異なるため、文法・ルールがベースの RbMT を使いこなすのが非常に難しかった。そこで、1984年に京都大学の長尾真(ながお・まこと)教授が完全にルール作成というステップを省く EbMT(用例をベースにするモデル)を開発した。

残念ながら、このモデルは RbMT より簡単だったにも関わらず、実用化せずに終わった。しかし、これは将来登場するモデルに大きな影響を与えたことは事実だ。その影響とは bilingual corpus(二言語対訳集)だ。

仕組み

EbMT(Example-based Machine Translation)は、名の通りに、文章の例を軸に機能するモデルだ。RbMT にあるようなルールを一切作らずに、二言語対訳集を用いて文章の翻訳を出力する。この二言語対訳集は「bilingual corpus」という既存の翻訳を集めた資料を指す。EbMT では、この対訳集にある翻訳事例を参照し、対象文章に一番近い例をピックアップして、翻訳の文章を出力する。そして、言葉を一つ一つ参照するのではなく、フレーズ・表現という大きな単位で参照して、翻訳を行うシステムだ。つまり、元の文章を対訳集にある文章に比較して、最も近いフレーズをピックアップして、翻訳文章に並べていく。

このモデルでは、基本的に例として参照できる対訳集が大きければ大きいほど、翻訳の品質が上がるはずだ。

主な要素

二言語対訳集(Bilingual corpus)

How much is that blue hat?  ー> あの青い帽子はいくらですか?

How much is that big car?  ー> あの大きい車はいくらですか?

 

原文:How much is that small bag?

 

機械翻訳する時の主なステップ


1,元文章と対訳集を比べる

元文章

対訳集にある例

How much is that small bag?

How much is that blue hat?

 あの青い帽子はいくらですか?

How much is that big car?

あの大きい車はいくらですか?


2,「How much is that ...」という似ている部分を拾う:
    How much is that XXX ? ー> あの XXX いくらですか?

3,他の例を用いて、XXX を埋める

元文章

対訳集にある例

How much is that small bag?

She is wearing a small bag.

彼女は小さいバッグを身に着けている。

 

She is wearing a small bag.  彼女は小さいバッグを身に着けている。

↓               ↓

     How much is that XXX ?        あの XXX いくらですか?

4,翻訳結果:How much is that small bag?ー>あの小さいバッグはいくらですか?

メリット

デメリット

  • RbMT より簡単
  • ルール作成・調整をせずに済む
  • 既存の翻訳データ(bilingual corpus)さえあれば翻訳できる
  • データを足せば品質が上がる
  • 実用化しなかった
  • フレーズ単位で翻訳するため、細かな翻訳が難しい
  • 複雑な文章の例は見つかりにくい

 

SMT: Statistical Machine Translation(統計的機械翻訳)

歴史

SMT(統計ベースの機械翻訳)は、1949年に科学者・数学者の Warren Weaver が思いついた機械翻訳モデルだ。しかし、当時のコンピューター性能では品質の高い SMT は不可能だったため、この概念は一度放棄され、RbMT が脚光を浴びることになる。その後、EbMT の Bilingual Corpus(二言語対訳集)の成功を契機に、1980=90年代に SMT の概念が蘇り、王道の機械翻訳モデルになった。まずコンピューター企業の IBM が先行して、SMT の実用化に成功する。そして1997年に、パソコン会社の DEC と機械翻訳会社 Systran が共同で、Babel Fish というネット上の機械翻訳サービスを公開した。この Babel Fish は初めて一般人を対象にした機械翻訳サービスであり、ユーザーは無料で使うことができた。

 これ以来、2015年の NMT モデルの登場まで、SMT は長年メインの機械翻訳のモデルとして活躍する。2016年に NMT に移行するまで、機械翻訳の大手会社 Google、Microsoft、Systran、Yandex は皆 SMT を提供していた。

 

仕組み

SMT は EbMT(用例を軸に翻訳するモデル)と同じように、bilingual corpus(二言語対訳集)を多量に取り入れているモデルである。そして、これらの対訳集を使って、特定の分野を SMT に学習させる。また、対訳集が大量にあればあるほど、SMT はより賢くなる。

しかし、EbMT より遥かに複雑な処理を行う。SMT では、単純に似ている部分・フレーズをピックアップするのではなく、対訳集を分析し、それぞれの言語でのパターンを覚えていく(RbMT のルールとは違う概念)。ここで覚えたパターンは言語モデル(アルゴリズム)のベースになる。

言語モデルは実際に機械翻訳を行う時に使われる大事な要素だ。対訳集から蓄積したデータを参照し、翻訳された文章の正しさを「確率」で表す。つまり、「ネイティブの人はこういうふうに言うだろう」という確率を計算し、単語を置き換え、一番正しいといえる文章を作っていく。

SMT は、EbMT と違い、単語単位もフレーズ単位も翻訳ができるシステムだ。これ以外のより複雑な方式も存在する。

 

主な要素

  • 二言語対訳集(Bilingual corpus)
  • 言語モデル(対訳集からパターンを学習し、翻訳の正しさを評価するアルゴリズム)

原文:I unfortunately didn’t catch any fish over the weeked.

 

単語単位で機械翻訳する時

I / unfortunately / didn’t / catch / any / fish / over / the / weekend. 

(言語モデルに通して、単語を翻訳)

私は / 残念ながら / しなかった / 釣る / 何の / 魚 / に / この / 週末。

(言語モデルの評価を利用し、単語を置き換える)

私は / 残念ながら / この / 週末 / に / 何の / 魚 / 釣る / しなかった。

 

フレーズ単位で機械翻訳する時

I / unfortunately / didn’t catch / any fish / over the weekend. 

(言語モデルに通して、フレーズを翻訳)

私は / 残念ながら / を釣らなかった / 何の魚 / 今週末 。

(言語モデルの評価を利用し、フレーズを置き換える)

私は / 残念ながら / 今週末 / 何の魚 / を釣らなかった。

 

メリット

デメリット

  • 対訳集があるほど品質が上がる
  • 以前より流暢な出力
  • 既存のアルゴリズムが豊富にある
  • サーバー負担、コストが低い
  • 文法・ルール設定不要
    • 言語学者不要
    • 例外は対応可能
  • 対訳集作成のコストが高い
  • 対訳集の有無・品質に翻訳品質が左右される
  • エラーはすぐに修正できない
  • 品質が不安定
  • 対訳集にない文章は翻訳不可
  • スラング・話し言葉の翻訳が困難

 

NMT:Neural Machine Translation(ニューラル機械翻訳)

まず、ニューラルネットワーク(Neural Network)とは何か?

これは、近年話題になっている新技術である。簡単にいうと、Neural Network とは、人間の脳みそを模倣した電子ネットワークであり、ネットワーク内でつながっているノードは情報を共有する神経細胞の役割を果たしている。この Neural Network にデータを加えるほど、問題解決を重ねて、賢くなっていく仕組みだ。まさに、脳みその電子版だと言える。

 

歴史

NMT は比較的新しい技術のため歴史が浅いが、その影響は絶大である。2014年に機械翻訳の分野で発達してきた Neural Network を採用しようという科学論文が発表され、2015年に OpenMT'15 という機械翻訳大会で始めての NMT の試作機が日の目を見た。その翌年、同大会の勝者の9割は NMT のシステムだった。

2016年以降、これまで SMT を使ってきたGoogle、Microsoft、Systran、Yandex などの大手会社が皆 NMT に移行した(NMT のバリーション・ハイブリッドもあった)。最近、2017年にサービスを開始した NMT 機械翻訳エンジンの DeepL は非常に自然な翻訳をするシステムとして特に注目を浴びている。

 

仕組み

NMT という機械翻訳モデルは Neural Network を採用しているために、機械学習が大事な要素となっている。機械学習では、データを加えること・経験を積むことによって、機械翻訳のレベルが向上し、品質が上がる。

まず、人間が NMT システムに多量に既存の翻訳データを入れて、学習をさせる。SMT と同じように、既存の翻訳データが多ければ多いほど、機械翻訳の質が上がる。

NMT では、複雑なアルゴリズムが数字を扱っているために、原文とそれぞれの単語を数字化するのがポイントだ。翻訳する時、原文を Neural Network に提供し、 Encoder(エンコーダー)を使って単語を数字列に変換する(例:犬ー>23)。そして出力された数字列を、Neural Translation Model という複雑なアルゴリズムに通して、また別の数字列として出力する。最終的に、この数字列を Decoder(デコーダー)を使って、また文字に変換して(23ー> dog)、最終的な翻訳の文章を作る。

Neural Translation Model は翻訳を文章単位で行う。しかし、翻訳中に文章内の単語を一つ一つ順番に予測する仕組みになっている。この点で、SMT と似ている。

 

主な要素

  • 既存の翻訳データ(NMT学習用)
  • Encoder
  • Neural Translation Model 
  • Decoder

 

機械翻訳する時の主なステップ

  1. Encoder で文章を数字化する
  2. 出された数字列を Neural Translation Model に入れる
  3. Neural Translation Model が数字を処理し、翻訳を作り、数字列を出す
  4. 出された数字列を Decoder に入れる
  5. Decoder で数字を文字化する
  6. 翻訳文章が出来上がる

原文:I am a dog.

  1. 「I am a dog」を Encoder に通す: 251, 3245, 953, 2 の数字列が出る
  2. 251, 3245, 953, 2 の数字列を Neural Translation Model に通す
  3. Neural Translation Model がアルゴリズムで翻訳処理を行う
  4. Neural Translation Model の出力: 2241, 9242, 98, 6342 の数字列が出る
  5. 2241, 9242, 98, 6342 を Decoder に通す:「私は犬です」の日本語が出る
  6. 翻訳結果:I am a dog ー> 私は犬です

メリット

デメリット

  • より流暢な翻訳品質
  • 既存翻訳データが少なくてもいい
  • あらゆる分野に対応可能
  • 頻出頻度の低い、珍しい言語に対応可能
  • 翻訳統一が困難
  • 学習時間が長い
  • 固有名詞・専門文章の翻訳に弱い
  • NMT は「ブラックボックス」ゆえに、問題検査・エラー修正が困難

 

結論

ここまで書いたように、機械翻訳というツールは年を経て確実に進化してきている。最初の RbMT モデルは複雑でかさばるし、品質はあまり求められなかったシステムだった。その次の EbMT は実用化しなかったものの、複雑すぎるルールなどを完全に省いて、既存の翻訳を参照するという方式を立証し、次のモデルへの道を切り開いた。その次となるのは統計を利用して翻訳する SMT だった。これも言語ルールや分析などを省いて、既存の翻訳データを参照しながら、より品質の高い機械翻訳ができた。そして、現在になって、人間の脳みそを模倣する NMT が翻訳の基準をさらに上げて、多量の翻訳データを必要とせずに人間の流暢さに近づいてきた。

これまで、「機械翻訳はおかしい、使えない」などと、駄目な翻訳結果が時に失笑の種となることすらあった。NMT も結局ただの機械でしかなく、完璧な翻訳ができない。しかし、技術が進むとともに、機械翻訳も前進するに違いない。Lionbridge という翻訳会社によれば、NMT の品質は毎年3-7%向上している。もはや、機械翻訳があなどれない存在になっている。

2016年に、AI や Neural Network という新技術の登場は機械翻訳の改革をおこした。近い将来、次の改革が起こるだろう。現在注目を集めているのは Quantum の科学と関連の技術だ。Quantum のパソコンの開発・実用化が成功すれば、世界は一変するだろう。もしかしたら、QMT(Quantum Machine Translation)という斬新な機械翻訳モデルができるかもしれない。これにより、いよいよ翻訳者が必要なくなるかもしれない可能性も否定はできない。とはいえ、QMT の登場で翻訳者をやっている自分は職を失うこともありえる。

3minutes_pamphlet

ebook_No05_KV ebook_No12_kv ebook_No17_kv