カメヲラボ

主にプログラミングとお勉強全般について書いてます

Google翻訳は進化しない

基本的なお話

前から書きたいなーと思いつつ、なかなかきっかけがなくてどうしよかと考えていたところで丁度良いトラックバックがありました。
Google翻訳の件

要するに、今までに出てきた英文のいくつか(の和訳)が良くなっていて、『Google翻訳は進化している!』というお話ですが、このように考えている人は結構多いと思います。で、このエントリの後半には以下のような文章があります。

他方、他の翻訳ソフトの精度が高いように見えるのは、多分特定の英文については予め「正しい」翻訳を決めているからであって、翻訳ロジックの優秀さゆえでは_ない_のではないかと思っている。

こんなことはGoogle翻訳についても言えることで

Google翻訳は日々進化をしているようだ。部分的に修正されている。
ついでにコメント欄のnofrillsさんの事例。
Time flies like an arrow.
→光陰矢の如し。
「時間ハエのように矢印をクリックします。」でなくなっている!

なんかは、まさに誰かが『多分特定の英文については予め「正しい」翻訳を決めている』ということではないですか。まあ、Excite翻訳なんかはおそらくこういった類のデータセットを大量に保持しているのでしょうけど、本質はそんなところではなくて、『多分特定の英文については予め「正しい」翻訳を決めている』のは文章全体の1%にも満たないということを理解しておく必要があります。

これまでのエントリで私が調べた英文と和訳のセットは多分1000程度なので、もうちょっと母数を増やして調べてみても良いかもしれませんが、例えばこの数を10000に増やしたところでそれほど大きな差は出ないと思います。
また、当時の採点方法は助詞・助動詞等の使い方がまずかったり余計な語が入っていたりする場合をすべて0点としていました。今回は、意味が大きく変わらないのであれば部分点を与える形式で再計算してみましたが、それでも20%程度の得点率でした。

よくある(ありそうな)意見

そんな学生向けの英文を訳せたところでネット上にあるような普通の文章は訳せないよ

それは間違っていないと思いますが、じゃあGoogle翻訳が訳せるのかというとそんなことはありません。『学生でも訳せる英文すら訳せないのにもっとわかりにくい文章を訳せるわけがない』ってことです。

Google翻訳はルールベースのシステムとは違うんだから…云々

基本的なシステムが違うからとてつもなく高性能なものができるという幻想は抱かない方が良いでしょう。まあ、この話題自体は結構奥深いテーマだと思いますので、別のエントリでそのうち書きたいと思っていますが。

学習型の翻訳システムなんだから、きっと訳文がとっても自然な日本語なんだよ

ちょっと使ってみて「それ以前に訳がメチャクチャだな」と思った人は多いと思いますが、「いわゆる直訳的な日本語訳」が結構見られるということも付け加えておきます。別にルールベースだから直訳的になるわけではありません。

大量のデータがあれば翻訳精度が上がるハズ

ある程度の精度向上は見込めるかもしれませんが、そのデータの質と量を見積もることが出来ないです。大量のデータを与えることによって今まで翻訳できていた文章が翻訳できなくなる(または翻訳の精度が落ちる)こともありますし、どのくらい与えたところでOKとするのかは誰にも判断できないのです。

お前はケンカ売っとんのか

そんなことはありません(´ω`)

Google翻訳の精度を上げる方法

大量の英文を、市販の翻訳ソフトかExcite翻訳にかけてそれを学習させれば、20%くらいしか訳せないところから35%くらいにはできると思います。