Amazon Translate で実装する多言語対応 - リアルタイム翻訳とカスタム用語集
Translate によるリアルタイム翻訳、カスタム用語集による翻訳品質の向上、バッチ翻訳の活用を解説します。
Translate の概要
Translate はニューラル機械翻訳で 75 以上の言語間のテキスト翻訳を提供し、1 リクエストあたり最大 100 KB のテキストを処理するサービスです。リアルタイム翻訳 API (TranslateText) は同期呼び出しで即座に結果を返すため、チャットや Web フォームへの組み込みに適しています。レスポンスには翻訳テキストに加えてソース言語の自動検出結果も含まれ、入力言語が不明な場合でも対応できます。バッチ翻訳 (StartTextTranslationJob) は非同期ジョブとして大量ドキュメントの一括翻訳を実行し、S3 をストレージとして利用します。Standard と Active Custom Translation の 2 つの翻訳モードを選択でき、用途に応じて精度とコストのバランスを調整します。
カスタム用語集とバッチ翻訳
カスタム用語集は CSV または TMX 形式で用語のペアを定義し、翻訳時に指定した用語が必ず使用されます。製品名「Amazon Aurora」が「アマゾンオーロラ」と翻訳されるのを防ぎ、原語のまま保持するといった制御が可能です。1 アカウントあたり最大 5,000 の用語集を作成でき、用語集 1 つあたりの最大サイズは 10 MB です。DirectionalTerminology では翻訳方向ごとに異なるマッピングを定義でき、日英と英日で異なる訳語を適用するといった細かい制御を実現します。バッチ翻訳は S3 バケットの入力フォルダにドキュメントを配置し、翻訳結果を出力フォルダに格納します。HTML、DOCX、XLIFF、PowerPoint、Excel 形式に対応し、タグ構造を保持したまま翻訳します。1 ジョブあたり最大 500 万文字を処理でき、並列実行可能なジョブ数はリージョンごとのデフォルトクォータで制限されます。
並列データと Active Custom Translation
並列データ (パラレルコーパス) は原文と翻訳文のペアを CSV または TMX 形式で提供し、翻訳モデルをドメイン固有の表現に適応させます。技術文書、法律文書、医療文書など、専門用語が多い分野で翻訳品質が大幅に向上します。 Active Custom Translation (ACT) は並列データを使ってリアルタイムにモデルを調整し、カスタム用語集よりも文脈に応じた自然な翻訳を生成します。並列データのサイズは最小 10 文ペアから対応しますが、数千ペア以上で効果が顕著になります。 Profanity マスキングで不適切な表現を自動検出し、マスクまたは除外する機能も提供します。 Formality 設定で翻訳のフォーマリティ (敬語/カジュアル) を制御でき、ビジネス文書とカジュアルなチャットで適切なトーンを使い分けられます。対応言語は日本語、ドイツ語、フランス語、イタリア語、ポルトガル語など一部に限定されるため、事前に対象言語ペアの対応状況を確認します。 Translate の基礎から応用まで、書籍 (Amazon)で体系的に学べます。
ユースケースとアーキテクチャ構成
Translate は多様なワークロードに適用できます。EC サイトの商品説明の多言語化では、新商品登録時に EventBridge + Lambda + Translate のパイプラインで自動翻訳し、翻訳結果を DynamoDB に格納するサーバーレス構成が有効です。カスタマーサポートでは Amazon Connect と組み合わせ、チャットメッセージをリアルタイム翻訳してエージェントとユーザーが異なる言語で対話するシナリオに対応します。ナレッジベースの多言語化では、S3 に格納した技術文書をバッチ翻訳で一括処理し、Amazon Kendra で多言語検索を提供する構成が採用されます。ソーシャルメディアの監視では Kinesis Data Streams 経由で投稿テキストを受け取り、Translate で英語に統一してから Comprehend でセンチメント分析を行うリアルタイムパイプラインを構築します。
他の翻訳サービスとの比較
Translate の強みは AWS エコシステムとの統合にあります。IAM による細かいアクセス制御、CloudTrail による API 監査、VPC エンドポイント経由のプライベート接続に対応し、エンタープライズのセキュリティ要件を満たします。Google Cloud Translation と比較すると、ACT による並列データ適応が追加学習コストで利用できる点が特徴で、Google の Glossary はカスタム用語集に相当しますが文脈適応モデルのカスタマイズ機能はありません。DeepL API は少数の言語ペアで高い翻訳品質を持ちますが、75 以上の言語対応や Formality 設定の言語カバレッジでは Translate が上回ります。オンプレミスのニューラル翻訳と比べ、GPU インフラの管理が不要でスケーリングが自動化される点も利点です。一方、翻訳品質が文学的な表現や慣用句に弱い傾向はクラウド翻訳サービス全般に共通する課題です。
Translate の料金
Translate の料金は翻訳した文字数で課金され、リアルタイム翻訳は 100 万文字あたり約 15 ドルです。バッチ翻訳も同じ文字単価ですが、大量のドキュメントを S3 経由で一括処理できます。最初の 12 か月は月間 200 万文字の無料枠があります。カスタム用語集の使用に追加料金は発生しません。Active Custom Translation は並列データのトレーニングに追加料金が発生し、トレーニング時間で課金されます。翻訳対象のテキストから HTML タグやメタデータを事前に除外し、翻訳不要な文字数を削減することでコストを最適化します。キャッシュ層を設けて同一テキストの再翻訳を避ける設計も有効です。リクエストごとの最低課金は 15 文字分のため、極端に短い文字列を大量に送る設計は非効率になります。
まとめ
Translate はニューラル機械翻訳で 75 以上の言語間の多言語対応を実現するサービスです。カスタム用語集で製品名や専門用語の翻訳を制御し、Active Custom Translation で並列データによるドメイン適応を行います。Formality 設定で敬語とカジュアルのトーンを使い分け、バッチ翻訳で大量コンテンツの多言語化を自動化します。AWS エコシステムとの統合により、サーバーレスパイプラインでの自動翻訳やリアルタイムチャット翻訳など幅広いユースケースに対応します。