Amazon Web Services ブログ

Amazon Translate が Office ドキュメントのサポートを開始

 

組織が多くの国で展開する多国籍企業であろうと、グローバルな成功を渇望している小さな新興企業であろうと、コンテンツを現地の言語に翻訳する課題にいつまでも悩まされることがあります。実際、テキストデータには多くの形式があり、それらを処理するにはさまざまなツールが必要になる場合があります。また、これらのツールはすべて同じ言語ペアをサポートしていない場合があるため、特定のドキュメントを中間形式に変換するか、手動翻訳に頼らざるを得ないこともあります。このような問題はすべて追加のコストを発生させ、一貫性のある自動翻訳ワークフローを構築することが不必要に複雑になってしまいます。

Amazon Translate は、こういった問題をシンプルで費用効果の高い方法で解決することを目指しています。Amazon Translate は、AWS コンソールまたは 1 回の API 呼び出しのいずれかを使用して、AWS のお客様が苦労することなくテキストを 55 の異なる言語と変異形に迅速かつ正確に翻訳できるようにします

今年前半Amazon Translate は、プレーンテキストと HTML ドキュメント用のバッチ翻訳を導入しました。本日、バッチ翻訳が Office Open XML 標準で定義されている Office ドキュメント、つまり、.docx.xlsx、および .pptx ファイルもサポートするようになったことを発表します。

Office ドキュメント向けの Amazon Translate のご紹介
プロセスは非常に簡単です。ご想像のとおり、ソースドキュメントは Amazon Simple Storage Service (S3) バケットに保存する必要があります。20 メガバイトを超えるドキュメントや 100 万文字を超えるドキュメントは保存できません。

各バッチ翻訳ジョブは、単一のファイルタイプと単一のソース言語を処理します。したがって、S3 で論理的にドキュメントを整理し、各ファイルタイプと各言語に独自のプレフィックスを付けて保存することをお勧めします。

次に、AWS コンソールを使用するか、いずれかの AWS 言語 SDKStartTextTranslationJob API を使用して、以下を渡して翻訳ジョブを起動できます。

  • S3 の入力と出力の場所、
  • ファイルタイプ、
  • ソース言語とターゲット言語。

ジョブが完了したら、翻訳されたファイルを出力場所で収集できます。

簡単なデモを行いましょう!

Office ドキュメントの翻訳
S3 コンソールを使用して、最初にいくつかの .docx ドキュメントをバケットの 1 つにアップロードします。

S3 ファイル

次に、Translate コンソールに移動して、新しいバッチ翻訳ジョブを作成し、名前を付けて、ソース言語とターゲット言語の両方を選択します。

バッチジョブの作成

次に、ドキュメントの場所を S3 で定義し、その形式 (この場合は .docx) を定義します。必要に応じて、カスタム用語を適用して、特定の単語が希望どおりに翻訳されるようにすることができます。

同様に、翻訳したファイルの出力場所を定義します。Translate ではパスを作成しないため、このパスが存在することを確認してください。

バッチジョブの作成

最後に、AWS Identity and Access Management (IAM) ロールを設定して、S3 にアクセスするための適切な権限を Translate ジョブに付与します。ここでは、以前に作成した既存のロールを使用していますが、Translate にロールを作成させることもできます。次に、[ジョブの作成] をクリックしてバッチジョブを起動します。

バッチジョブの作成

ジョブはすぐに開始されます。

実行中のバッチジョブ

しばらくすると、ジョブが完了します。3 つのドキュメントはすべて正常に翻訳されました。

完了したジョブの表示

翻訳されたファイルは、出力場所で利用でき、S3 コンソールに表示されます。

翻訳されたファイルの表示

翻訳されたファイルの 1 つをダウンロードすると、それを開いて元のバージョンと比較できます。

ファイルの比較

小規模で使用する場合、AWS コンソールを使用して Office ファイルを翻訳するのは非常に簡単です。もちろん、Translate API を使用して自動ワークフローを構築することもできます。

バッチ翻訳の自動化
以前の記事で、AWS Lambda 関数を使用してバッチ変換を自動化する方法をご紹介しました。この例を拡張して、Amazon Comprehend で言語検出を追加できます。たとえば、DetectDominantLanguage API と Python-docx オープンソースライブラリを組み合わせて、.docx ファイルの言語を検出する方法は次のとおりです。

import boto3, docx
from docx import Document

document = Document('blog_post.docx')
text = document.paragraphs[0].text
comprehend = boto3.client('comprehend')
response = comprehend.detect_dominant_language(Text=text)
top_language = response['Languages'][0]
code = top_language['LanguageCode']
score = top_language['Score']
print("%s, %f" % (code,score))

すごくシンプルになりました! また、拡張子に基づいて各ファイルタイプを検出し、S3 の適切な入力場所に移動することもできます。次に、CloudWatch イベントで Lambda 関数をスケジュールして、定期的にファイルを翻訳し、E メールで通知を受け取れます。もちろん、AWS Step Functions を使用して、より複雑なワークフローを構築することもできます。使い方は皆さんの想像力次第です!

開始方法
今日から次のリージョンで Office ドキュメントの翻訳を開始できます。米国東部 (バージニア北部) 米国東部 (オハイオ)米国西部 (オレゴン)欧州 (アイルランド)欧州 (ロンドン)欧州 (フランクフルト)アジアパシフィック (ソウル)

Amazon Translate をお試しになったことがない場合、無料利用枠では、初回の翻訳リクエストから最初の 12 か月間、1 か月あたり 200 万文字まで利用できることをご存知ですか?

ぜひお試しいただき、ご意見をお聞かせください。ご意見やご感想をお待ちしております。Amazon Translate に関するご意見は、AWS Forum に投稿するか、通常の AWS サポート連絡先までご連絡ください。

– Julien