Cyber NINJA Archives

2016年からの旧ブログを整理・修正して収納します。

機械翻訳の発展

 機械翻訳という技術は、結構昔からある。高価なソフトウェアとして販売されていた時代もあるが、ユーザの側から見ると、最初は「電子辞書」のようなものだった。

 もともとある英和辞典などをデジタルデータにして、それを検索するプログラムを組み込んでおけば、電子辞書のレベルは出来上がる。次にユーザは1文を入力したら、それを翻訳してくれることを望むだろう。このニーズを満たすには「構文」の解析が必要になる。いわゆるSVOCM(*)が英語ならこのように並ぶ、日本語はVが最後に来る、などの言語による構文形態を覚えておいて、単語をあてはめるというアルゴリズムである。

(*) S:Subject(主語) V:Verb(動詞) O:Object(目的語) C:Complement(補語) M:Modifier(修飾語)

 しかし、いくら大量に構文のパターンを覚えさせてもうまくいかない例は無数に出てくる。Wikipediaは例として次のようなものを示している。

 (例) 英文 Time flies like an arrow. について、普通はこれを 「時は矢のように飛び去る 」(光陰矢のごとし)と解釈するが、これを 「時間蠅 は矢を好む 」 と訳することも可能で、文法的にも破綻がない。

    f:id:nicky-akira:20190608105746p:plain


 そこで、より多くの辞書、より長文の辞書を整備することになる。どのようなシーンで出てくるかも辞書に記憶されるようになり、1件あたりの辞書データそのものも大きくなる。それでも、構文が基本で辞書で補完するという考えが普通だった。

 それをひっくり返したのがGoogle翻訳。膨大に蓄えられたインターネット上のデータには、対訳になっているものも相応にある。問題文が与えられたら、インターネット上で一番これに近いものを探してくる。次にその対訳を見て、回答文にするわけだ。これは辞書が極端に大きくなった翻訳システムと言えるだろう。逆転の発想だし、ビッグデータ活用の一例である。この辞書は日を追って大きくなるし、翻訳精度もあがる。

 もちろん「似たものを探す」過程では、構文の知識を使っているだろうから、従来技術・技法を無視したものではない。しかし、今後もインターネット上の膨大なデータは常識をくつがえし、新しい発想を生んでいくことだろう。
 
<初出:2016.6>