テキスト自動翻訳・機械翻訳比較 (日本語・英語)

  • このエントリーをはてなブックマークに追加

テキストの自動翻訳・機械翻訳サービスの比較をしてみます。クラウド事業者は下記サービスを展開しています。

  • Amazon Translate
  • Azure Translator Text API
  • Google Cloud Translation API

一昔前は自動翻訳といえばひどいものでしたが、2016年に Google 翻訳がニューラルネットワークを活用した NMT (ニューラル機械翻訳) という技術を使い精度が上がったことから、「そこそこ使い物になる!」と話題になりました。各社のサービスがどの程度のものなのか比較してみたいと思います。

本ページ初期公開時、Azure の翻訳結果が非 NMT (ニューラル機械翻訳でない) になっており、精度が低い状態でした。 2019/03/18 21:50 に Azure 翻訳結果を NMT (ニューラル機械翻訳) 版に更新しました。原因は Azure Translator Text API を v2 API を使って翻訳していたのですが、v2 API の場合デフォルトが非 NMT であることに気がつかなかったためです。NMT を使うようオプションを指定して再翻訳しました (参考)

比較・評価方法

日本語→英語と、英語→日本語について検証したいと思います。

日本語→英語については、翻訳結果の精度が高いか否かを判定するのは当ページ管理人の英語力では極めて難しいため、日本語→英語に翻訳し、さらに同じサービスで英語→日本語とすることにしてその結果を見ることにします。よって翻訳結果がまずい場合、日本語→英語と英語→日本語のいずれに問題があるかは判断できません。

また、各サービスとも日本語・英語以外にも多くの言語に対応していますが、当ページ管理人は日本語・英語以外の評価力がゼロなので見送ります。

また、翻訳対象の文章については二次利用可能な Wikipedia を使わせていただきました。ページはランダム表示で適当に選びました。日本の駅など、あまりに固有名詞が多いページはスキップしました。

本ページの翻訳は 2019/03/17 に実施しました。自動翻訳は進化の速い領域ですので、あくまで現時点での結果と考えてください。

ライセンス表示:

日本語→英語 (→日本語) その1

原文

「東京タワー」の名称は完成直前に開かれた名称審査会で決定した。事前に名称を公募し、最終的には86,269通の応募が寄せられた。一番多かった名称は「昭和塔」(1,832通)で、続いて「日本塔」「平和塔」だった。他には当時アメリカとソ連が人工衛星の打ち上げ競争をしていたことから「宇宙塔」、皇太子明仁親王(今上天皇)の成婚(1959年)が近いということで「プリンス塔」という応募名称もあった。しかし名称審査会に参加した徳川夢声が、「ピタリと表しているのは『東京タワー』を置いて他にありませんな」と推挙し、その結果1958年10月9日に「東京タワー」に決定した。「東京タワー」での応募は223通(全体の0.26%、13位)であり、抽選で神奈川県の小学校5年生女子児童に賞金10万円が贈られた。

https://ja.wikipedia.org/wiki/%E6%9D%B1%E4%BA%AC%E3%82%BF%E3%83%AF%E3%83%BC

翻訳結果比較

原文Amazon Translate での日本語→英語と、英語→日本語Azure Translator Text API での日本語→英語と、英語→日本語Google Cloud Translation API での日本語→英語と、英語→日本語

「東京タワー」の名称は完成直前に開かれた名称審査会で決定した。
The name of “Tokyo Tower” was decided in the nomination committee held just before completion.

完成の直前に開催された指名委員会で「東京タワー」の名称が決まりました。
The name of “Tokyo Tower” was decided by the name examination meeting held just before the completion.

「東京タワー」の名称は、竣工直前に開催された名称試験会により決定されました。

The name of “Tokyo Tower” was decided at the name screening committee held just before the completion.

「東京タワー」の名称は、完成直前に開催された名称選考委員会で決定しました。
事前に名称を公募し、最終的には86,269通の応募が寄せられた。 The name was recruited in advance and finally 86,269 applications were received.

名前は事前に募集され、最終的に86,269 件の申請が受け取られました。
The name was submitted beforehand, and the final application of 86,269 was received.

名前は事前に提出され、86269の最終出願が受理されました。
The names were solicited in advance, and 86,269 applications were finally received.

名前は事前に求められ、86,269の申請がついに受信されました。
一番多かった名称は「昭和塔」(1,832通)で、続いて「日本塔」「平和塔」だった。 The most common names were Showa Pagoda (1,832), followed by Japan Pagoda and Peace Pagoda.

最も一般的な名称は昭和塔(1,832)、その後に日本塔と平和塔が続く。
The most common name was “Showa Tower” (1832), followed by “Japan Tower” and “Peace Tower.”

最も一般的な名前は「昭和塔」 (1832)、続いて「日本塔」と「平和塔」。
The most common name was “Showa Tower” (1,832), followed by “Japanese Tower” and “Peace Tower”.

最も一般的な名前は「昭和タワー」(1,832)であり、続いて「日本タワー」と「ピースタワー」でした。
他には当時アメリカとソ連が人工衛星の打ち上げ競争をしていたことから「宇宙塔」、皇太子明仁親王(今上天皇)の成婚(1959年)が近いということで「プリンス塔」という応募名称もあった。Another application name was “Prince Tower” because the United States and the Soviet Union were competing for the launch of satellite satellites at that time, the marriage of Crown Prince Akihito (the present Emperor) was close to the marriage of the Crown Prince Akihito (1959).

また、この時点で米国とソ連が衛星衛星の打ち上げを競い合い、皇太子明仁(現・天皇)の結婚は皇太子明仁(1959 年)の結婚に近かったため、「プリンスタワー」と呼ばれました。
There was also the name of the “Prince Tower” because the United States and the Soviet Union were competing for the launch of the satellites at that time, and the “Space Tower” and the Prince of the Crown Prince Akihito (1959) were close.

当時、アメリカとソ連が衛星打ち上げのために競争していたため、「プリンスタワー」の名前もあり、「宇宙タワー」と皇太子殿下 (1959) が近くにありました。
In addition, since the US and the Soviet Union were competing for launching satellites at that time, the application for the “Space Tower” and the “Prince Tower” were applied because the marriage of the Crown Prince Akihito (now Emperor) is close (1959) There was also a name.

また、当時アメリカとソビエトが衛星打ち上げを競っていたため、王子昭人王朝(現天皇)の結婚が近いため、「スペースタワー」と「プリンスタワー」の申請が行われました( 1959)名前もありました。
しかし名称審査会に参加した徳川夢声が、「ピタリと表しているのは『東京タワー』を置いて他にありませんな」と推挙し、その結果1958年10月9日に「東京タワー」に決定した。 However, Tokugawa Yumeki, who participated in the nomination committee, recommended that there is no other “Tokyo Tower” that represents “Tokyo Tower” and, as a result, decided to “Tokyo Tower” on October 9, 1958.

しかし、指名委員会に参加した徳川夢樹は、他に「東京タワー」を表す「東京タワー」は存在しないことを勧め、その結果、1958 年 10 月 9 日に「東京タワー」を決定しました。
However, the Tokugawa Yume, who participated in the name examination, said, “The perfectly is the” Tokyo Tower “which is not in the other place, and as a result, it was decided to” Tokyo Tower “on October 9, 1958.

しかし、名前の試験に参加した徳川ゆめは、「完全には他の場所にない「東京タワー」であり、その結果、10月9日1958に「東京タワー」に決定されました。
However, Yume Tokugawa, who participated in the name screening committee, confessed, “There is nothing else that puts” Tokyo Tower “in the name of the word representing”, and as a result, it becomes “Tokyo Tower” on October 9, 1958. Were determined.

しかし、名前選考委員会に参加した徳川夢さんは、「東京タワー」を表す言葉の名前の中に「他に何もない」と告白し、その結果、10月9日には「東京タワー」となり、 1958年に決定されました。
「東京タワー」での応募は223通(全体の0.26%、13位)であり、抽選で神奈川県の小学校5年生女子児童に賞金10万円が贈られた。 In Tokyo Tower, 223 applications (0.26%, 13th place) were awarded a prize of 100,000 yen to the 5th grade girls in elementary school in Kanagawa Prefecture.

東京タワーでは、神奈川県の小学校 5 年生に対して、223 件の応募(0.26%、13 位)が10 万円の賞金を授与されました。
The Tokyo Tower application was 223 (0.26% and 13th), and a prize of 100,000 yen was awarded to the fifth grade female child of Kanagawa Prefecture in the lottery.

東京タワーのアプリケーションは 223 (0.26%) と13日であり、抽選で神奈川県の5年生の女性に10万円の賞金が授与されました。
The application for “Tokyo Tower” was 223 (0.26% of the whole, 13th place), and a prize of ¥ 100,000 was given to fifth grader girls in Kanagawa Prefecture by lottery.

「東京タワー」の応募は223件(全体の0.26%、13位)で、神奈川県の5年生女子に10万円の賞金が抽選されました。

評価

全体的にはAWS の結果が最もわかりやすいのではないでしょうか。Google もかなりよいところまで行っていますが、「 その結果、10月9日には『東京タワー 』 となり、 1958年に決定されました」のところだけ意味合いが変わっていて大変惜しいです。

AWSは「宇宙塔」「女児」がすっぽり抜けています。Azure・Google は「小学5年生」から「小学」が抜けています。AWS・Azure・Google いずれも「 ピタリと表しているのは」 が欠落しています。AWS・Azure・Google いずれも、「(Aのため) B、(Cのため) Dという応募があった」という形は維持できていません。

英語→日本語では、カンマの扱いが難しいようです。Google では「on October 9, 1958. 」が「 その結果、10月9日には『東京タワー 』 となり、 1958年に決定されました」と、年と月日が分離しています。

また、 「徳川夢声」(とくがわむせい) は漫談家・俳優だそうですが、AWS・Azure・Google はそれぞれ「 徳川夢樹 」「徳川ゆめ」「徳川夢さん」となっています。人名はやはり難しいですね。

日本語→英語 (→日本語) その2

原文

セカンド・オピニオン外来は自費診療となる。これは、セカンド・オピニオンは「診療」ではなく「相談」になるため、健康保険給付の対象とはならず、全額自己負担となる(なお保険医療機関を受診し保険証を提示して、患者が一般外来での保険診療を希望する場合は、保険診療の取扱いとなる)。また、生活保護受給者に対しては、医師が必要と認めない場合は「自費診療」扱いとなるため、生活保護の医療扶助の対象外となり、セカンド・オピニオンを求めて別の病院の医師に相談することが事実上不可能となっている。

https://ja.wikipedia.org/wiki/%E3%82%BB%E3%82%AB%E3%83%B3%E3%83%89%E3%83%BB%E3%82%AA%E3%83%94%E3%83%8B%E3%82%AA%E3%83%B3

翻訳結果比較

原文Amazon Translate での日本語→英語と、英語→日本語 Azure Translator Text API での日本語→英語と、英語→日本語
Google Cloud Translation API での日本語→英語と、英語→日本語
セカンド・オピニオン外来は自費診療となる。The second opinion outpatient will be self-funded.

第二の意見の外来患者は自己資金を供給されます。
Second opinion outpatient is self-treatment.

セカンドオピニオン外来は自己治療です。
Second opinion outpatients will be on their own.

セカンドオピニオンの外来患者は自分のものになります。
これは、セカンド・オピニオンは「診療」ではなく「相談」になるため、健康保険給付の対象とはならず、全額自己負担となる。 This is because the second opinion is “consultation” rather than “medical treatment”, so it is not subject to health insurance benefits and is fully self-burdened.

これは、第二の意見が「医療」ではなく「相談」であるため、健康保険給付の対象ではなく、完全に自己負担であるためです。
This means that the second opinion is not “medical care,” but is not eligible for health insurance benefits and will be borne by the full amount (if the patient wishes to receive an insurance policy from a general outpatient hospital Treatment of insurance).

これは、第2の意見は「医療」ではなく、健康保険の給付を受ける資格がないことを意味し、(患者が保険の一般的な外来病院の治療から保険契約を受けることを希望する場合) 全額負担されます。
This is because the second opinion is not “medical treatment” but “consultation”, so it is not eligible for health insurance benefits, and it is entirely self-paying.

これは、セカンドオピニオンは「医療」ではなく「相談」であるため、健康保険給付の対象にはならず、完全に自己負担的であるためです。
(なお保険医療機関を受診し保険証を提示して、患者が一般外来での保険診療を希望する場合は、保険診療の取扱いとなる) If you wish to take care of the medical care, it will be handled for insurance.)

医療の世話をしたい場合は、保険のために取り扱われます。)
↑参照If you want insurance medical treatment in general outpatient, it will be treated as insurance medical treatment).

あなたが一般に外来で保険医療を受けたい場合は、保険医療として扱われます。
また、生活保護受給者に対しては、医師が必要と認めない場合は「自費診療」扱いとなるため、生活保護の医療扶助の対象外となり、セカンド・オピニオンを求めて別の病院の医師に相談することが事実上不可能となっている。 In addition, if the doctor does not deem necessary, it is treated as “self-expense medical care”, so it is not eligible for medical assistance for living protection, and consult a doctor at another hospital for a second opinion.has become virtually impossible.

また、医師が必要と判断しない場合、それは「自費医療」として扱われるので、生活保護のための医療援助の対象ではなく、別の病院の医師に相談して第二の意見。事実上不可能になっています。
In addition, in order to be treated as “self-treatment” If a physician does not recognize the need for welfare recipients, it becomes not covered by the medical assistance of life protection, and it is virtually impossible to consult a doctor in another hospital for a second opinion.

また、医師が福祉受給者の必要性を認識しない場合には「自己治療」として扱われるため、生命保護の医学的支援によってカバーされなくなり、別の病院で医師に相談することは事実上不可能である。セカンドオピニオン。
In addition, as for the welfare recipient, because it is treated as “self-consultation medical treatment” when it is not recognized that the doctor needs it, it is excluded from the medical assistance of the welfare, seeks a second opinion and asks the doctor of another hospital. It is virtually impossible to consult.

また、福祉受給者は、医師がそれを必要としていると認められない場合は「自己診療」として扱われるため、福祉の医療援助から除外され、セカンドオピニオンを求めて別の病院の医者相談することは事実上不可能です。

評価

AWS・Azure・GCP いずれも「 なお保険医療機関を受診し保険証を提示して」が抜けてしまっています。Azure はセカンドオピニオンは「相談である」という趣旨が抜けています。

英語→日本語

原文

An air superiority fighter is designed for entering and seizing control of enemy airspace as a means of establishing complete dominance over the enemy’s air force. Air superiority fighters are designed primarily to effectively engage enemy fighters, more than other types of aircraft, although some may have a secondary role for air-to-ground strikes.

https://en.wikipedia.org/wiki/Air_superiority_fighter

翻訳結果比較


原文
Amazon Translate が翻訳した日本語 Azure Translator Text API が翻訳した日本語 Google Cloud Translation API が翻訳した日本語
An air superiority fighter is designed for entering and seizing control of enemy airspace as a means of establishing complete dominance over the enemy’s air force.航空優位性戦闘機は、敵の空軍に対する完全な支配を確立する手段として、敵の空域の制御に入り、押収するために設計されています。 空中優勢戦闘機は、敵の空軍に対する完全な支配を確立する手段として、敵の空域の制御を入力し、押収するために設計されています。 空軍優位戦闘機は、敵の空軍に対する完全な支配を確立する手段として、敵の空域の支配権を獲得して差し押さえるように設計されています。
Air superiority fighters are designed primarily to effectively engage enemy fighters, more than other types of aircraft, although some may have a secondary role for air-to-ground strikes.航空優位戦闘機は、主に効果的に敵戦闘機と係合するように設計されています, 航空機の他の種類よりも, いくつかは、空対地攻撃のための二次的な役割を持っている可能性がありますが、.航空優勢戦闘機は、主に、他の種類の航空機よりも効果的に敵の戦闘機をエンゲージするように設計されていますが、空中から地上への攻撃には二次的な役割を持つものもあります。 空中戦の戦闘機は、主に他のタイプの航空機よりも効果的に敵の戦闘機と交戦するように設計されていますが、空対地攻撃のために副次的な役割を果たすこともあります。

評価

全体的には Google の訳がわかりやすいでしょうか。Google は「主に対航空機であるが、対地上攻撃も可能」という意味が読み取れます。

“air superiority fighter” は日本語では「制空戦闘機」だそうですが、いずれも訳せていません。これは辞書の問題でしょうから仕方がないですね。AWS は「航空優位性戦闘機」となっていますが、名詞っぽく訳せており、揺れがないのでわかりやすい。Azure は「空中優勢戦闘機 」「 航空優勢戦闘機 」と表記が揺れています。 Google も同様に「空軍優位戦闘機」「空中戦の戦闘機」と表記が揺れています。

全体評価

これはなかなか難しいです。個人的な感想としては「Google が一番よく、二番手は Azure・Amazon が甲乙つけがたい」と同時に「Google がダントツというほどでもない」と感じます。一方でサンプル数が少ないためなんともいえないとも考えます。

また、Google・Azure・Amazon いずれも、文や単語がごっそり抜けている場合があります。これはどうやらニューラルネットワークの特性らしく、「訳抜け」をいかに減らすかに苦心しているようです。

「いずれも完璧でないのだから、どれを使ってもよい」という考え方もあるかと思います。また、金銭的に許されるなら「3つ翻訳結果を並べて人に選ばせればよい」というのもアリでしょう。

TODO

  • AWS のカスタム用語、Azure の Custom Translator
  • Google の AutoML Translation

Amazon Translate の使い方メモ

AWS Console から Amazon Trnaslate を選んで、ポチポチとする。

Azure Translator Text API の使い方メモ

https://qiita.com/TakeshiNickOsanai/items/a8039ba8d558f7c8a05e を参考に。ただし v2 なので 2019/04/30 で使えなくなる。また、 NMT を有効にするために “category”: “generalnn” を追加すること。KEY1・KEY2 は KEY1 のみ使えば良い。

Google Cloud Translation API の使い方メモ

Translation API を有効化

サービスアカウントを生成 (translation 用 role がないような気が…とりあえず editor を付与)

クレデンシャルファイル (json ファイル) をダウンロードし、Cloud Shell にファイルとして配置。

環境変数 GOOGLE_APPLICATION_CREDENTIALS にクレデンシャルファイルのパスを設定。

export GOOGLE_APPLICATION_CREDENTIALS=/home/foo/bar/credential.json

Curl コマンドを使って

% curl -s -X POST -H "Content-Type: application/json" -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) --data "{
  'q': 'This is a long pen.',
  'source': 'en',
  'target': 'ja',
  'format': 'text'
}" "https://translation.googleapis.com/language/translate/v2"
{
  "data": {
    "translations": [
      {
        "translatedText": "長いペンです。"
      }
    ]
  }
}

Python

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

Leave a Reply

*

CAPTCHA