AmazonTranslateのAPIを使ってみた

AmazonTranslateはAmazonが提供する機械翻訳サービスです。AmazonTranslateの特徴や料金についてはこちらの記事を参照してください。

SDKはJavaとPythonから使えるようですが、今回はPython SDKを使いたいと思います。

スクリプト

from boto3 import client

client=client("translate" ,region_name="us-east-1" ,aws_access_key_id="****", aws_secret_access_key="****")
response = client.translate_text(
    Text="********************"
    SourceLanguageCode="***",
    TargetLanguageCode="***"

print(response['TranslatedText'])

指定したテキストを翻訳するスクリプトのテンプレートです。

translateはregion_nameは北米か欧州のものである必要があるので、注意してください。

Text欄に翻訳したいテキストを入力します。こちらの記事に対応言語についても書いてあるので、そちらも参考にしてください。

SourceLanguageCodeとTargetLanguageCodeについては翻訳元の言語と翻訳先の言語を言語コードを用いて指定します。(こちらに言語コードの一覧があります。

なおboto3のドキュメントには日本語に対応していないかのように書いてありますが、jaを指定すれば普通に日本語が使えます。 ちなみに、SourceLanguageCodeにautoと書けば言語の自動検出もできます。

AmazonTranslateで演説を翻訳してみた。

今回はゲティスバーグ演説(リンカーンの有名な演説)を使うことにしました。 こちらのサイトに英文とその和訳が載っているのでこちらを使わせていただいております。

原文

Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.

Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that the nation might live. It is altogether fitting and proper that we should do this.

公式の和訳

87年前、われわれの父祖たちは、自由の精神にはぐくまれ、人はみな平等に創られているという信条にささげられた新しい国家を、この大陸に誕生させた。

今われわれは、一大内戦のさなかにあり、戦うことにより、自由の精神をはぐくみ、自由の心情にささげられたこの国家が、或いは、このようなあらゆる国家が、長く存続することは可能なのかどうかを試しているわけである。われわれはそのような戦争に一大激戦の地で、相会している。われわれはこの国家が生き永らえるようにと、ここで生命を捧げた人々の最後の安息の場所として、この戦場の一部をささげるためにやって来た。われわれがそうすることは、まことに適切であり好ましいことである。

google翻訳の結果

4つのスコアと7年前、私たちの父親たちはリバティーで考えられたこの大陸、新しい国家を持ち出し、すべての人が平等に創造されたという命題に捧げました。

今や私たちは、その国家、あるいはそのように想像され、献身している国家が長く耐えることができるかどうかをテストする、大きな内戦に従事しています。我々はその戦争の偉大な戦場に出会った。私たちは、ここにその国が生きることができるように命を捧げた人々の最終的な休息地として、その分野の一部を捧げるようになりました。私たちがこれを行うべきであることは、まったくフィッティングと適切です。

スクリプトの実行結果

4つのスコアと7年前に私たちの父は、この大陸、新しい国、自由で考案され、すべての人が平等に創造されるという提案に捧げられました。

今、我々は偉大な内戦に従事している、その国、または任意の国はとても思いついたので、献身は、長い耐えることができるかどうかをテストします。 我々はその戦争の偉大な戦場で会った。 私たちは、そのフィールドの一部を捧げるために来ました,ここで国民が生きるかもしれない彼らの命を与えた人のための最後の休憩場所として. 我々はこれを行うべきであることは全体的にフィートと適切である。

この例では演説を翻訳したこともあってgoogle翻訳もAmazonTranslateも支離滅裂な翻訳を返してしまっていますね……

“,”の多さ、”-“の使い方、一文の長さ、内容の難しさも影響していそうな気がします。

Amazon Translateは2018年4月に公開されたばかりなので、今後の翻訳能力の向上に期待したいと思います。