このエントリは、2020年9月にアップしたものの再掲である。この分野は「技術は日進月歩」と言われ、本稿は再掲であるがゆえに内容が古びているかもしれないが、現在広く使われている機械翻訳というものはこういう性質の技術であるということに変わりはない。
-----------------
今回は、ちょっと趣向を変えて、ネット上で「精度が高い」という売り込みが完全に定着し既成事実化している、誰でも自由に無料で利用できる機械翻訳についての実証試験的なものを。
といっても、昨日、Twitterに投稿したものをまとめておく、という感じだが。
発端は、田中健一先生がDeepL翻訳に投げた "There are cases where honesty does not pay" という文の英→日翻訳結果がぐだぐだだったこと。それを受けて次のようにツイートしたら、けっこう反応があった。
これがとんでもない誤訳だということがわかる者のみが、特に何にも専門化されず訓練したわけどもない(にもかかわらず)一般に開かれ「精度の高い機械翻訳」とされているものを、他人に勧めなさい(勧める気になるのであれば)。 https://t.co/kjpnaQatBA
— n o f r i l l s /共訳書『アメリカ侵略全史』作品社 (@nofrills) 2020年9月6日
念のため書いておくが、私は機械翻訳絶対反対という立場ではない。実用に足るものがあれば積極的に使っていくべきだと考えているが、現状、一般的に話題になるものは「実用に足る」レベルでは全然ないのだ。
よく「精度が高い」と言われるものは90%だとか95%だとかいう、一見「ほぼ100%と言っていいんじゃね」という数字を掲げて喧伝されているが、90%ということは10語に1語間違えているということだ。自分の手元にある日本語漢字変換で、変換10回に1回間違えているものを「精度が高い」と見なせるかどうか、考えてみてほしい。場合によってはそう言えるかもしれないが、では試験の解答をその漢字変換システムに任せられるだろうか。取引先へのメールを任せられるだろうか。そういうことである。あるいは、遮光カーテンや日傘のショップやメーカーが出している「99%遮光」の説明画像を見てみてもいいかもしれない。「99%」は意外とザルだというイメージができるだろうから。
ともあれ、田中先生がアップしたこの文例については、@yunod さんが以下のように追加検証をされている。
DeepLで遊んでみます。1/7https://t.co/Jg2MQp9tms
— 優 n o D 🏴 (@yunod) 2020年9月6日
画像が間違ってたので正しい画像で再ツイート↓
— 優 n o D 🏴 (@yunod) 2020年9月6日
Honesty does not pay - ピリオドの有無によって違う結果になるが、どちらも誤訳。2/7 pic.twitter.com/DDP9z2U6g4
なぜか短縮形を使うと正解になる。3/7 pic.twitter.com/vFGQaIK72L
— 優 n o D 🏴 (@yunod) 2020年9月6日
こちらは短縮してもしなくても同じ訳になるのにピリオドを取るといきなり頭悪くなる。4/7 pic.twitter.com/LBW4V9Pkyk
— 優 n o D 🏴 (@yunod) 2020年9月6日
田中先生の例文、誤訳にも複数のパターンがあるらしい。5/7 pic.twitter.com/ydXLub1kbG
— 優 n o D 🏴 (@yunod) 2020年9月6日
whereの代わりにwhenを使った構文にしても同じ間違え方に。6/7 pic.twitter.com/sBE1ODEqMP
— 優 n o D 🏴 (@yunod) 2020年9月6日
句読点の有無で訳が変わってしまうのは、ニューラル機械翻訳ではよくある現象です。面白いですねー。何かこだわりがあるのでしょうか。7/7
— 優 n o D 🏴 (@yunod) 2020年9月6日
句読点の有無で出力(翻訳結果)が変わるのは、15年前の機械翻訳でも「あるある」事例だった。15年前の機械翻訳は、基本的に、文法(シンタックス)に基づいた解析ができなくなってしまうと、単語の羅列で意味不明なものしか出力できなくなってしまうという質のものだ(文法解析ができたとしても、出力結果は悲惨なものだったが)。
ともあれ、この「句読点の有無」について別の文例で検証してみよう。文例としては、DeepL翻訳にアクセスした画面であらかじめ表示されていたダミーテクストを使ってみる。
DeepL翻訳で句読点の有無で訳が変わる件、実例。まず日→英で、「翻訳するにはテキストを入力してください」(文末のマルなし)だとEnter text to translate(文末のピリオドなし)で、「~してください。」と文末にマルをつけると英訳文がPleaseで始まって文末にピリオド出現。 pic.twitter.com/cK60nJQJXU
— n o f r i l l s /共訳書『アメリカ侵略全史』作品社 (@nofrills) 2020年9月7日
DeepL翻訳で句読点の有無で訳が変わる件。続いて英→日で、"Enter text to translate" (文末のピリオドなし)だと「テキストを入力して翻訳する」、この英文の文末にピリオドをつけると「テキストを入力して翻訳してください。」
— n o f r i l l s /共訳書『アメリカ侵略全史』作品社 (@nofrills) 2020年9月7日
ただし「別の訳語一覧」欄に、もっと良い、求めている形が表示される pic.twitter.com/MThDxU05dm
最後のピリオドorマルなしだと、文として扱わない(扱えない)っぽいですね。(なお、これはニューラル翻訳以前から見られたことです。うっすらとした記憶によると、統計的機械翻訳以前の、rule-basedなBabelfish翻訳などでもあったのではないかと)
— n o f r i l l s /共訳書『アメリカ侵略全史』作品社 (@nofrills) 2020年9月7日
こんな単純な文でさえ、これだけのゆれが生じてしまうものを、安心して使えるかどうか、信頼できるかどうか、よく考えてから賞賛していただければと思う。
さらに句読点の有無などよりずっと重大な例。
ああ、これは #流暢な誤訳 だ。少し時間がかかっていたので「おー、機械がんばってるねー」と思いつつ待って、表示された訳文の文頭の同格表現がきれいにできているので「やるじゃん」と思ったら、後半が「文意がおかしいけど日本語がとてもきれい」ということに。
— n o f r i l l s /共訳書『アメリカ侵略全史』作品社 (@nofrills) 2020年9月7日
文例 via https://t.co/6UH61WqMKN pic.twitter.com/lms4Nvq91o
こんなののチェック作業、絶対にやりたくない。頭が壊れてしまう。"it had been busier during the evening than it had been at any time since the start of lockdown." → "ロックダウンが始まって以来、夜の間はいつにも増して忙しくなっていた" は、 「さくっと直せる間違い」ではない。
— n o f r i l l s /共訳書『アメリカ侵略全史』作品社 (@nofrills) 2020年9月7日
(正しくは「その晩は、ロックダウンが始まって以来のどの時点よりも、混雑していた」で、今こうやって自分で読んだ通りに日本語にしてみて、deepLがこのbusyでやらかしてることに気づいた。主語がit = the Arcadian Centreだから「忙しい」ではなく「混雑して」の意味だよね)
— n o f r i l l s /共訳書『アメリカ侵略全史』作品社 (@nofrills) 2020年9月7日
こういう流暢な誤訳、つまりその文自体では意味が成立している場合は、出力結果(翻訳結果)だけを読んだときには「誤訳」だということがわからないので、意味不明の単語の羅列を出力してくれる翻訳エンジンより、いっそう悪質で厄介である。ただし翻訳エンジンの側には悪意は一切ない。むしろ、善意の塊、「世の中を便利にするもの」として開発され、無償で使えるように公開されているものだ(さらにいえば、無償で使えるようにしてあることでますます文例が集まり、さらに良くなる、つまり「精度が上がる」とされている)。
重要なのは、ユーザーがそれを認識すること、認識したうえでどうするかということである。
最後に取り上げた "it had been busier during the evening than it had been at any time since the start of lockdown." の文法解説もここでやってしまいたかったが、残念ながらもう文字数が3700文字を超えている(そんなに書いた気はしないが、Twitterの埋め込みがけっこうあるからだろう)。300字で文法解説はできないので、その解説は次回に回すことにする。
※3830字
参考書: