たまりば

  パソコン・インターネット パソコン・インターネット  三鷹市 三鷹市

上記の広告、及び画面下部に固定表示されているオーバーレイ広告は、60日以上更新がないブログに表示されています。
新たに記事を投稿することで、広告を消すことができます。  
Post time :

新しいGoogle翻訳は日本語からドイツ語に翻訳が出来る(場合がある)
2016年11月17日 00:17

Google翻訳がニューラルネットワークを使用した新しい翻訳システムを導入したというのでちょっとしたテストをしてみた。これがとても興味深い結果だった。
なんと新しいGoogle翻訳は日本語からドイツ語に翻訳が出来るのだ。
今までも出来ていたって?
そうではない。今まで、中・韓・英以外言語と日本語との間の機械翻訳は「日↔英」と「英↔X」の2段階の翻訳であった。
Google翻訳だけでなく、ExciteもYahooもInfoseekもそうだった。おそらく今まで実用的な翻訳機は存在していなかったと思う。
そのぼやきと、同綴異義語を使ったテスト方法については2年ほど前にブログに書いたので読んでもらいたい。→Yahoo翻訳が残念だ ~ついでに機械翻訳考~

それが今回同綴異義語テストを試してみると、日本語からドイツ語への直接翻訳が出来ることもあるという結果が出た。
まず英訳して同一の文章に翻訳されることを確認。
Google翻訳_英語同綴異義語テスト_英語
続いてドイツ語に翻訳してみると、以下の通り。
Google翻訳_英語同綴異義語テスト_ドイツ語
蝙蝠/バットを正しく翻訳できている。これは間に英語を挟んでいてはまず不可能なので、直接翻訳していることを強く示唆する。
一方で、鱗/秤と軽い/光は訳し分けられず、お辞儀/弓に至っては真逆に訳している(Bogen: 弓、Verbeugung:お辞儀)。これは非常に興味深い。
この誤訳は間に英語が介在していない限りありえない誤訳である。それでいて英語に訳してしまっては失われる違いを残している。
中で何が起こっているのだろう。日本語からドイツ語へ直接通じるネットワークもあり、途中に英語を介して通じるネットワークもあるといったところだろうか。
最近のWebサービスは日を追うごとに変化していってしまうのでこの不思議な状態になっている期間も長くないだろう。今のうちに色々試してみると面白いと思う。

なおドイツ語で試したが他の言語でも同様だと思う。単にドイツ語が英語以外の欧米語の中で一番私が理解しやすい気がするからテスト対象に選んだだけである。  

  • Pokémonのアクセント記号は「ポケモン」と読ませるためではない
    2016年07月24日 02:28

    PokémonGOが日本で配信開始され流行っている。
    そんな中、「é」についての昔からある間違った記述が目に入り気になった。
    Pokémonに付いている「´」記号(アキュートアクセント, アクサンテギュ)については北米版ポケモンが出た昔から各所でよく説明されていたが、次のようなものが多い。
    Pokemonでは「ポケモン」と読んでくれないので、「ポケモン」と読ませるためにアクセント記号を付けてPokémonにした。
    しかしその甲斐なく「ポウキモン」になってしまった。残念なことである。
    これは間違っている。
    「Pokemonでは『ポケモン』と読んでくれない」までは合っているのだが、アクセント記号を付けて/ポケモン/と読まれることはない。ここで想定している間違った発音は、eが黙字になって/poʊkmɒn/(ポウクモン)になってしまうことである。
    黙字でないことを示すためにアクセント記号を使う用法は英語において一般的である。
    Wikipediaの「Acute accent」が参考になるが、スペイン語「mate」(マテ)を「maté」としたり、日本語「酒」を「saké」としたりする。
    ではこれで/サケ/と読んでくれるかというとさにあらず、アクセント記号にそのような効果は無いのであって、/sɑːkeɪ/(サーケイ)や/sɑːki/(サーキ)となってしまう。/seɪk/(セイク)にならないというだけだ。
    そもそも英語では音節末に/e/という音素は存在しない。どう書こうが英語に存在しない音は英語話者は発音できないのだ。(外国語に堪能な人なら頑張って発音するかもしれないが)
    なので、/ポケモン/を英語話者が発音するなら/poʊkimɒn/(ポウキモン)が精一杯なのであって、アクセント記号はポウクモンでなくポウキモンという比較的原語に近い発音をさせるためにある。
    上手く想定通りの働きをしてくれたというべきであろう。  

  • Yahoo翻訳が残念だ ~ついでに機械翻訳考~
    2014年12月23日 03:49

    先日(2年ちょっと前)、Webで見つけたドイツ語の文章を読みたくなったので「翻訳」とググって上位に出たYahoo翻訳を使ってみた。

    これが残念な出来であった。
    何が残念かというと、ドイツ語→英語のような翻訳が出来ず、日本語→X語とX語→日本語でしか翻訳できない。
    多数の翻訳エンジンを作るのはコストがかかるからしかたないと思う人もいるかもしれない。
    だが違う。そもそも中・韓・英以外のX語↔日本語の翻訳エンジンなど存在しない(と思う。もしあったら教えてください。見分け方は後述)。X語→日本語翻訳をしているつもりでも中でやっているのはX語→英語→日本語の2段階翻訳である。
    であれば、多少なりとも英語が読めるなら1段しか翻訳を通していない状態で読めば得られる情報は多い。英訳した上でそれでも分からない部分だけを和訳すれば誤訳も減る。
    システムにかかるコストも、単に処理の途中で止めるだけであるから、1つの翻訳エンジンを作るコストを考えれば無視できるレベルである。それで得られる情報を考えればすべからく搭載すべき機能だ。
    それを分かっているからだろう、エキサイト翻訳ではX語翻訳のページにはX語↔日本語とX語↔英語のボタンがある。Infoseekマルチ翻訳やGoogle翻訳ではX語↔Y語の翻訳まであるが、それをしないのは日本人にはあまり必要ないという判断だろう。

    さて、X語↔日本語の翻訳が間に英語を介しているというのは、まあなんとなく見れば想像がつくことではあるのだが、明確な証拠を見つけるのに苦心していた。
    以前考えたのが、「光陰矢のごとし」と「時間蝿たちは矢を好みます」が「Time flies like an arrow」になることを利用してどうにかならないかということだが、「光陰矢のごとし」から「蝿」が出てきたら明らかにおかしいということしか思いつかず、いまいち方法論として確立できなかった。
    今回色々考えてやっと確立したのでここに記しておく。

    ・英語において同綴異義語で、日本語でもX語でも同綴異義語でない1組の単語を用意する。
    ・その2つをそれぞれ翻訳機に通し、結果を見る
    ・同一の結果になれば、間に英語を介している証拠である。

    なお実際には単語だけで翻訳すると変化形になったり主語述語が付いたりすることがあるので、文章にした方が確実である。

    これに使う同綴異義語の選定は意外と難しい。
    まず、X語で同綴であってはならない。これを誤ると結果が信用できなくなってしまうため重要だ。元々同じ意味が分化したようなものだと欧米語ではみな同綴だったりする。きちんと英X辞典で調べておく必要がある。
    次に、品詞が異なる語は使いづらい。例えば「fly」は「蝿」と「飛ぶ」だが、この単語だけが異なるように文章を組み立てるのは難しい。
    さらに、他言語から訳したときに確実にその語に訳される保証が無くてはいけない。例えば英語で「cattle」を出したくて「牛」を入れてもYahoo翻訳では「cow」になってしまう。このような語は使えない。
     
    その辺を考えつつ、思いついた同綴異義語がこのあたり。
    bat : (野球の)バット / 蝙蝠
    scale : 秤・標準 / 鱗・鱗粉
    bow : 弓 / お辞儀
    light : 光 / 軽い (品詞が違うが、両方"I am light"の形で使える)

    試してみよう。
    「私はバットでボールを打ちます」と「私は蝙蝠でボールを打ちます」をYahoo翻訳でドイツ語へ翻訳してみる。
    結果、両方とも「Ich traf den Ball mit einer Fledermaus.」となり、間に英語を介している確証が得られた。
    なおFledermausは蝙蝠である。

    もう1つ試してみよう。
    「鱗」と「秤」を翻訳すると、「鱗」は「Maßstab」に、「秤」は「Die Waage」になってしまった。不思議だ。直接訳しているのだろうか?
    そこで英語に訳してみると、「鱗」は「scale」に、「秤」は「scales」になっていた。
    単語を翻訳するとこのようなことが起こる。なので文章にしてみる。
    「私は2つの秤を持っています。」と「私は2つの鱗を持っています。」で試すと、両方「Ich habe die zwei Waage.」となり、やはり間に英語を介していることが確認できた。


    これをやっていて思ったのだが、自動翻訳機は文脈を判断してくれない。平気で蝙蝠でボールを打ったりお辞儀で矢を射たりしてしまう。
    文脈を判断するというのはそんなに難しいことなのだろうか。
    であれば逆に文脈判断は諦め、多段翻訳の時に多義語の部分だけでも原語を見て選ぶような仕組みはできないものだろうか。
    もしくは、翻訳中に情報が失われないよう、中間的な言語情報を持てないものか。
    中間言語といっても新しい言語を1から作るのは現実的ではないので、既に中間言語の地位にある英語を元にいじるのがいいだろう。
    例えば、「bat1」と「bat2」を内部的に用意しておき、「蝙蝠」の訳は「bat1」、「バット」の訳は「bat2」とする。これを英語として出力するときには両方「bat」になるが、続けてドイツ語に翻訳したときは「Fledermaus」と「Schläger」に訳し分けるようにする。
    逆に意味の広い単語が入力された場合、例えば「牛」なら「cow/ox/cattle」となったりする。これは出力段になってどれか一番メジャーなものに寄せるのもありだが、そのまま「(cow/ox/cattle)」のような状態で出力する方法も考えられる。
    実は韓国語→日本語の翻訳では同綴異義語のあまりの多さに「○○(△△)」のような訳がしょっちゅう出る。これを欧米語↔日本語でもやってもよいだろう。


    ところで、今回の件は折角なので問い合わせフォームから意見を送っておいた。
    Yahoo翻訳において、「X語⇔英語」の翻訳が出来ない仕様は不便ですので、改善を願います。(X=中韓日以外)
    中韓以外⇔日本語の翻訳は間に英語を挟んだ2段階であり中間で止めることにかかるコストは少ないと思います。
    来た返事がこれだ。
    Yahoo!翻訳カスタマーサービス●●です。
    いつもYahoo!翻訳をご利用いただき、ありがとうございます。

    お問い合わせの「他国語から他国後への翻訳」について回答いたします。 ←※「他国後」は原文ママ

    ご連絡いただいたように現在Yahoo!翻訳では、他国語から他国語への
    翻訳は行えない仕様となっております。

    ◇Yahoo!翻訳で翻訳できる言語
    http://help.yahoo.co.jp/help/jp/honyaku/honyaku-02.html

    このたびお客様よりご連絡いただきました内容は、より便利にご利用いただける
    サービスをご提供できますよう、担当部署に報告のうえ、今後のYahoo!翻訳の
    検討課題にさせていただきます。

    今後も、皆様に親しんでいただけるサービスを目指してまいりますので、
    引き続きご愛顧くださいますようお願い申し上げます。
    むー、なんだか回答のポイントがずれているというか、人の言葉を読む気が感じられないというか…。
    「~仕様は不便ですので、改善を願います。」に対して「ご連絡いただいたように~仕様となっております。」というのは会話になっていない。仕様は分かった上でその仕様を改善してくれと言っているのだが。
    言ったから変わるものじゃないとは思うが、「検討します」とか「ご要望に添いかねます」とかの返事が欲しかったんだけどなあ。
    あと求めているのは他国語から他国語ではなく他国語↔英語だけなんだが誤解されてる気がする。2行目を読めば英語がポイントなのは分かるように書いたつもりなのだが。
    ついでに、貼られたヘルプページのURLについて。Yahooのヘルプページは各ページ最下部に問い合わせフォームへのリンクがある。で、自分が問い合わせに飛んだ元がまさにこのURLのページだったのだが。リンク元の情報くらいとっておけばいいのに。

    16/11/17追記
    なんとGoogle翻訳がついに直接翻訳できる(場合もある)ようになった。→新しいGoogle翻訳は日本語からドイツ語に翻訳が出来る(場合がある)