Amazon Translateって何?


Amazon Translateは、AWS(Amazon Web Services)で提供されているマシン翻訳サービスです。自然言語処理技術を組み合わせた機械翻訳をサポートし、複数の言語間の翻訳を可能にします。Amazon Translate の特徴として、以下のような点が挙げられます。



・ ホストされるクラウドサーバーに複数言語の翻訳を行わせることが可能
・ 小規模から大規模な翻訳タスクの両方に対応可能
・ 機械翻訳タスクを最大限活用し、翻訳の精度を改善することが可能



さあ、開発してみよう!


Amazon Translateを使って実際に開発してみましょう。次のサンプルコードを参考にして、Amazon Translateを使った開発を行ってみましょう。



import boto3

translate = boto3.client('translate')

# JP -> EN
result = translate.translate_text( Text="こんにちは、世界!",
SourceLanguageCode = "ja",
TargetLanguageCode = "en" )

print(result['TranslatedText']) # Outputs: Hello world!



最初の2行は、boto3(AWS用Pythonライブラリ)とAmazon Translateのインポートを行っています。第3行のtranslate.translate_textメソッドを使用して実際の翻訳を行います(文章、元の言語、翻訳したい言語を指定)。最後に得られた翻訳文をprint文で出力させています。
以上のように、boto3を使ってAmazon Translateを実装できます。



AWS Lambdaを使おう


Amazon TranslateはAWSのマネージドサービスなので、サーバーレスな技術であるAWS Lambdaを使って、さらにスケールして処理を行うことも可能です。以下のサンプルコードを参考に、Amazon TranslateをLambdaで使ってみましょう。



import boto3

def lambda_handler(event, context):
translate = boto3.client('translate')

# JP -> EN
result = translate.translate_text( Text="こんにちは、世界!",
SourceLanguageCode = "ja",
TargetLanguageCode = "en" )

print(result['TranslatedText']) # Outputs: Hello world!


上のサンプルコードでは、boto3をインポートし、lambda_handler関数を定義します。lambda_handler関数内でtranslate_textメソッドを使用して、翻訳を行い、得られた文をprint文で出力しています。
Lambda上でこのようにしてAmazon Translateを使用できます。



まとめ:Amazon Translateを使った開発


今回は、AWSのマシン翻訳サービスであるAmazon Translateを使った開発についてご説明しました。Amazon Translateを使った開発には、Amazon Translate APIを直接実装する方法と、サーバーレスな技術であるAWS Lambdaを使って実装する方法があります。今後は「Amazon Translateの精度を向上させる」、「新しい言語の翻訳に対応する」などをモットーに、Amazon Translateを使った開発に挑戦してみては?

投稿者: systemreach_engineer