Amazon Web Services ブログ

Amazon Translate カスタム語彙のご紹介

Amazon Translate は高速で高品質な言語翻訳を手ごろな価格で提供するニューラル機械翻訳サービスです。本日 (2018/11/27) お客様が Amazon Translate の出力をカスタマイズし、企業や分野に固有の語彙を用いることのできるカスタム語彙を発表いたします。翻訳のリクエストとともにカスタム語彙をアップロードし呼び出すことで、文脈や Amazon Translate のアルゴリズムが出力する結果に関わらず、お客様固有のコンテキストに沿って、例えばブランド名、キャラクター名、モデル名が思い通りに翻訳されます。
説明のため次の例を考えてみましょう。「Amazonファミリー」は Amazonプライム会員限定の特典で、おむつやベビーフードが定期おトク便で最大20%OFFになるサービスです。これはもし私のように家におむつ着用者が2人もいるととても便利です。フランスではこのサービスを “Amazon Famille” と呼んでいます。もし “Amazon Family” を追加のコンテキストなく Amazon Translate を使ってフランス語に翻訳しようとすると、“Famille Amazon” と出力されます。これは翻訳としては正確ですが、フランスのチームが求めているものとは異なります。では、コンテキストを追加して、例えば “Have you ever shopped with Amazon Family? (Amazonファミリーで買い物をしたことがありますか?)”  としてみると、サービスはプログラム名を翻訳する必要がないことに気付き、“Avez-vous déjà fait des achats avec Amazon Family?” となります。これは良い翻訳ですが、まだ我々のチームが求めているものとは異なります。このような問題を解決するために、カスタム語彙機能を紹介します。カスタム語彙に “Amazon Family” は “Amazon Famille” と訳されるべき、というエントリーを加えることにより、文脈にかかわらず “Amazon Family” が “Amazon Famille” に翻訳されることを保証することができます。これで “Amazon Family” は正しく “Amazon Famille” に訳され、“Have you ever shopped with Amazon Family?” は “Avez-vous déjà fait des achats avec Amazon Famille?” と翻訳されるようになりました。

なぜこれが重要か?

全てのお客様はいつ・どこで Amazon Translate を使ったとしても正確で流暢な翻訳を求めています。しかし、企業内で作成されたコンテンツ、例えば製品のドキュメントやウェブサイトの文字列、機能的なコンテンツ、知識ベースやヘルプページなどを、このサービスを用いて翻訳する場合は別の要件があるといくつかのお客様から伺いました。彼らが言うには翻訳が企業の特定の語彙、あるいは場合によっては業界やドメインの専門用語 (jargon) に沿う必要がある、とのことでした。我々が行ったテストでは、カスタム語彙を用いた出力は特定の用語を正しく選択する回数が倍になりました。Amazon Translate による多言語コンテンツ対応を強化しながら構築されたアプリケーションとのよりよい連携は、お客様にとって正確な翻訳につながることを意味します。これは、プロの翻訳家が編集すべき翻訳の量を減らし、コスト削減とマーケットに出るまでの時間短縮につながります。

どのように動くか?

一般的に、翻訳エンジンは以下のように動作します。翻訳リクエストが入ってくると、Amazon Translate は原文を読みコンテキストの意味表現を生成し (単純に言うと「理解し」) 、1語1語の翻訳を生成します。カスタム語彙が翻訳リクエストの一部として呼び出されると、エンジンは結果を返す前に語彙ファイルをスキャンします。指定した語彙と原文のテキストに完全一致する文字列を見つけた場合、提示された訳の適切な文字列を選び指定した語彙に置き換えます。Amazonファミリーの例では、元々は “Avez-vous déjà fait des achats avec Amazon Family?” と訳されていましたが、結果を返す前に “Amazon Family” を “Amazon Famille” に置き換えます。

いつカスタム語彙を使うべきか?

まず、Amazon Translate は幅広い領域にわたる数十億もの単語を用いてトレーニングされています。Amazonファミリーの例のように多くの場合では、Amazon Translate はエンティティを見つけ出し、「型にはまらない」翻訳を施すことが可能です。次に、これまでのことを理解すると、カスタム語彙機能は上書きのメカニズムだという事がわかります。お客様の組織の用語を用いてカスタムモデルを学習させるものではありません。パターンにマッチする部分を見つけ、置換します。いかなる形でもコンテンツを変換しませんし、コンテキストにより異なる挙動を示すこともありません。例えば先程の Amazonファミリーのケースで、もし Amazonファミリーのブランドと Amazon 従業員の家族 (何らかの理由で単語 “Family” の “F” が大文字になった場合) が同じテキスト本文の中に含まれていると、用語の置き換えを適用することが翻訳の質を下げることになりかねません。それゆえ、入力タイプに制限を設けていないものの、以下のベストプラクティスに沿うことを強く推奨します。これらの条件から逸脱すると翻訳の質を下げる可能性があります。

ベストプラクティス

    1. 用語は最小限に抑える。制御・保護する必要のある完全に明確な単語のみを含める。これらは単一の方法 (言い回し) で翻訳される単語である必要があります。理想的にはブランド名や製品名などの固有名詞に限ることが望ましいです。
    2. それぞれの用語について、元となるフレーズの変化型を、個別に制御したいものは全て含めて下さい。例えば、複数形や所有格 (例: Amazon, Amazon’s) や大文字・小文字 (例: AMAZON, amazon) などです。
    3. ひとつの元フレーズに異なった翻訳を含めないで下さい (例: エントリ1 — EN: Amazon, FR: Amazon, エントリ2 – EN: Amazon FR: Amazone)。
    4. 言語によっては文章のコンテキストによって単語の型を変化させません。このガイドラインに沿ってカスタム語彙を適用することで多くの場合翻訳の質を向上させます。単語の変化が大きい言語も存在します。これらの言語に今回の機能を適用することは制限はしませんがお薦めしません。以下のリストが役立つはずです。
    言語 対応
    東アジア言語 (中国語、日本語、韓国語、インドネシア語など) 推奨
    ゲルマン語 (ドイツ語、オランダ語、英語、スウェーデン語、デンマーク語) 推奨
    ロマンス語 (イタリア語、フランス語、スペイン語、ポルトガル語) 推奨
    ヘブライ語 推奨
    スラブ語 (ロシア語、ポーランド語、チェコ語) 非推奨
    フィンウゴル語 (フィンランド語) 非推奨
    アラビア語 非推奨
    トルコ語 非推奨

どうやって使えばいいか?

こちらの AWS ドキュメントページを参照して、ベストプラクティスとファイルが読み込み可能となるようなフォーマッティングについて理解し、カスタム語彙を使い始めましょう。コンソールかサポートされている SDK を用いて、語彙を作成しアップロードして下さい。語彙ファイルが一度アクセプトされたら、カスタム語彙と紐付けて翻訳リクエストを作成することができます。単語の一致が検出されたら、翻訳結果は自動的に語彙の内容に置き換えられます。詳細はドキュメントのページを御覧ください。
Amazon Translate をはじめるには Amazon Translate の使用開始に行くか、このチュートリアルをお試し下さい。

著者について

Yoni Friedman は、AWS Artificial Intelligence チームの Sr. Technical Product Manager で、Amazon Translate のプロダクトマネージメントを率いています。彼は自由な時間には本を読み、走り、ボールで遊び、その他2人の子どものお願いを聞いて過ごします。

翻訳は SA 針原が担当しました。原文はこちら