適応型翻訳をリクエストする

適応型翻訳をリクエストするときに、翻訳するテキストと、Cloud Translation がレスポンスの調整に使用する翻訳例を指定します。

始める前に

適応型翻訳を使用するには、プロジェクトで Cloud Translation API を有効にして、認証を設定する必要があります。詳細については、Cloud Translation の設定をご覧ください。

また、ソースとターゲットの言語が適応型翻訳でサポートされていることも確認します。

データの要件と推奨事項

翻訳サンプルを TSV または TMX ファイルで提供する必要があります。サンプルは、目的のソース言語とターゲット言語のセンテンスペアにする必要があります。領域の語彙、用法、文法上の特徴を網羅した例を提示することをおすすめします。その他のヒントについては、AutoML Translation ドキュメントのデータの準備をご覧ください。

データに含まれるセンテンスペアは 5 個以上で、コンソールを使用する場合は 10,000 個以下、API を使用する場合は 30,000 個以下である必要があります。セグメントペアの最大文字数は 512 文字(合計)です。

制限事項

  • 翻訳できるのは、書式なしテキストに限られます。
  • 一度に 1 つのターゲット言語にのみ翻訳できます。

適応型翻訳の割り当てと上限については、割り当てページをご覧ください。

翻訳をリクエストする

コンソール

Google Cloud コンソールを使用する場合は、翻訳サンプルを含むファイルを選択し、翻訳をリクエストします。インポートしたデータは Cloud Translation に保存されません。永続的なデータセットを操作する場合は API を使用します。

  1. AutoML Translation のコンソールに移動します。

    [適応型翻訳] ページに移動

  2. 翻訳サンプルを含むローカル ファイルまたは Cloud Storage 内のファイルを選択します。

    ファイルを選択すると、Cloud Translation がデータに応じて [ソース言語] フィールドと [ターゲット言語] フィールドを設定します。たとえば、英語からポルトガル語への翻訳データセットをインポートする場合、コンソールでは英語のセンテンスをポルトガル語に翻訳できます。

  3. ソース言語のフィールドにテキストを入力します。

    適応型変換では、入力と出力の文字数に上限があります。詳細については、[割り当て] ページで適応型翻訳の制限をご覧ください。

  4. パラメータを調整するには、スライダーまたはテキスト フィールドを使用して値を設定します。

    • temperature - トークン選択のランダム性の度合いを制御します。temperature を低くすると、正しいレスポンスや適切なレスポンスになる可能性があります。temperature を高くすると、ばらつきの大きい結果や想定外の結果になる可能性があります。
    • サンプル数 - LLM に対するプロンプトでソースデータから使用するサンプルの数を設定します。
  5. デフォルトの Google NMT モデルからの翻訳と適応型翻訳の出力を含めるには、[NMT モデルとの比較] を選択します。

  6. [翻訳] をクリックします。

    しばらくすると、Cloud Translation からターゲット言語のフィールドにレスポンスが返されます。Cloud Translation は、出力文字数の上限を超えるテキストを返しません。

API

API を使用する場合は、データセットを作成し、データセットにデータをインポートしてから、データセットを使用した適応型翻訳をリクエストします。データセットは手動で削除するまでプロジェクト内に残ります。つまり、プロジェクト内の他のユーザーが適応型翻訳に利用できます。

データセットを作成する

サンプルの翻訳をインポートするデータセットを作成します。ソースとターゲットの言語は、翻訳で使用する言語と一致する必要があります。詳細については、adaptiveMtDataset.create メソッドをご覧ください。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
  • LOCATION: ソース データセットが配置されているリージョン(us-central1 など)。
  • DATASET_ID: データセットの一意の識別子。
  • DISPLAY_NAME: データセットのわかりやすい名前。
  • SOURCE_LANGUAGE: 入力テキストの言語コード。サポートされている言語コードについては、サポートされている言語をご覧ください。
  • TARGET_LANGUAGE: 入力テキストを翻訳する言語。サポートされている言語コードについては、サポートされている言語をご覧ください。

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets

リクエストの本文(JSON):

{
  "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID,
  "display_name": "DISPLAY_NAME",
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_code": "TARGET_LANGUAGE"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID",
  "displayName": "DISPLAY_NAME",
  "sourceLanguageCode": "SOURCE_LANGUAGE",
  "targetLanguageCode": "TARGET_LANGUAGE"
}

Java

このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

/** Creates an AdaptiveMtDataset. */
private static void createAdaptiveMtDataset(
    TranslationServiceClient translationServiceClient, String projectName, String datasetName) {
  String adaptiveMtDatasetName =
      String.format(
          "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectName, datasetName);
  AdaptiveMtDataset adaptiveMtDataset =
      AdaptiveMtDataset.newBuilder()
          .setName(adaptiveMtDatasetName)
          .setDisplayName("DATASET_DISPLAY_NAME")
          .setSourceLanguageCode("SOURCE_LANGUAGE_CODE")
          .setTargetLanguageCode("TARGET_LANGUAGE_CODE")
          .build();
  CreateAdaptiveMtDatasetRequest request =
      CreateAdaptiveMtDatasetRequest.newBuilder()
          .setParent(LocationName.of("PROJECT_NAME", "LOCATION").toString())
          .setAdaptiveMtDataset(adaptiveMtDataset)
          .build();
  AdaptiveMtDataset dataset = translationServiceClient.createAdaptiveMtDataset(request);
  System.out.println("Created dataset");
  System.out.println(dataset);
}

Node.js

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

async function createAdaptiveMtDataset() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    adaptiveMtDataset: {
      name: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
          adaptiveMtDatasetName}`,
      displayName: 'DATASET_DISPLAY_NAME',
      sourceLanguageCode: 'SOURCE_LANGUAGE_CODE',
      targetLanguageCode: 'TARGET_LANGUAGE_CODE',
    }
  };

  // Run request
  const [response] = await translationClient.createAdaptiveMtDataset(request);
  console.log('Created')
  console.log(response)
}

Python

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

def create_adaptive_mt_dataset():
  # Create a client
  client = translate.TranslationServiceClient()
  # Initialize request argument(s)
  adaptive_mt_dataset = translate.AdaptiveMtDataset()
  adaptive_mt_dataset.name = "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID"
  adaptive_mt_dataset.display_name = "DATASET_DISPLAY_NAME"
  adaptive_mt_dataset.source_language_code = "SOURCE_LANGUAGE_CODE"
  adaptive_mt_dataset.target_language_code = "TARGET_LANGUAGE_CODE"
  request = translate.CreateAdaptiveMtDatasetRequest(
      parent="projects/PROJECT_ID/locations/LOCATION",
      adaptive_mt_dataset=adaptive_mt_dataset,
  )
  # Make the request
  response = client.create_adaptive_mt_dataset(request=request)
  # Handle the response
  print(response)

データをインポートする

データセットを作成したら、TSV ファイルまたは TMX ファイルから翻訳サンプルを読み込みます。1 つのデータセットに複数のファイルからデータをインポートできます。詳細については、adaptiveMtDatasets.importAdaptiveMtFile メソッドをご覧ください。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
  • LOCATION: データセットが配置されているリージョン(us-central1 など)。
  • DATASET_ID: データのインポート先であるデータセットの一意の識別子。
  • GCS_FILE_PATH: Cloud Storage のソースデータ ファイルのパス(gs://example/data.tsv など)。

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID:importAdaptiveMtFile

リクエストの本文(JSON):

{
  "gcs_input_source": {
    "input_uri": "GCS_FILE_PATH"
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "adaptiveMtFile": {
    "name": "DATASET_NAME",
    "displayName": "FILE_NAME",
    "entryCount": TOTAL_ENTRIES
  }
}

Java

このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

/** Imports an AdaptiveMtFile. */
private static String importAdaptiveMtFile(
    TranslationServiceClient translationServiceClient,
    String projectId,
    String datasetId,
    String gcsUri) {
  String adaptiveMtDatasetName =
      String.format(
          "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId);
  ImportAdaptiveMtFileRequest importAdaptiveMtFileRequest =
      ImportAdaptiveMtFileRequest.newBuilder()
          .setParent(adaptiveMtDatasetName)
          .setGcsInputSource(GcsInputSource.newBuilder().setInputUri(gcsUri).build())
          .build();
  ImportAdaptiveMtFileResponse response =
      translationServiceClient.importAdaptiveMtFile(importAdaptiveMtFileRequest);

  System.out.println("Importing file");
  System.out.println(response);
  return response.getAdaptiveMtFile().getName();
}

Node.js

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

async function importAdaptiveMtFile() {
  const request = {
    parent: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
        adaptiveMtDatasetName}`,
    gcsInputSource: {inputUri: gcs_file_uri}
  } const [response] = await translationClient.importAdaptiveMtFile(request)
  console.log('Importing file')
  console.log(response)
}

Python

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

def import_adaptive_mt_file():
  # Create a client
  client = translate.TranslationServiceClient()
  gcs_input_source = translate.GcsInputSource()
  gcs_input_source.input_uri = "gs://SOURCE_LOCATION/FILE.tsv"
  # Initialize the request
  request = translate.ImportAdaptiveMtFileRequest(
      parent="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID",
      gcs_input_source=gcs_input_source
  )
  # Make the request
  response = client.import_adaptive_mt_file(request)
  # Handle the response
  print(response)

テキストを翻訳する

翻訳するテキストと、Cloud Translation が翻訳に使用するデータセットを指定します。Cloud Translation は、データセットのソース言語とターゲット言語を使用して、翻訳に使用する言語を決定します。たとえば、テキストを英語からスペイン語に翻訳するには、en から es へのデータセットを使用します。詳細については、adaptiveMtTranslate メソッドをご覧ください。

適応型変換では、入力と出力の文字数に上限があります。詳細については、[割り当て] ページで適応型変換の制限をご覧ください。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
  • LOCATION: ソース データセットが配置されているリージョン(us-central1 など)。
  • DATASET_NAME: Cloud Translation が翻訳のカスタマイズに使用するデータセットの名前(projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID 形式)。データセット名を取得するには、プロジェクト内のすべてのデータセットを一覧表示します。
  • SOURCE_TEXT: 翻訳するテキスト。

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate

リクエストの本文(JSON):

{
  "dataset": "DATASET_NAME",
  "content": ["SOURCE_TEXT"]
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "translations": [
    {
      "translatedText": "TRANSLATED_TEXT"
    }
  ],
  "languageCode": "TARGET_LANGUAGE"
}

Java

このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

/** Translates using AdaptiveMt. */
private static void adaptiveMtTranslate(
    TranslationServiceClient translationServiceClient, String projectId, String datasetId) {
  String adaptiveMtDatasetName =
      String.format(
          "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId);

  AdaptiveMtTranslateRequest request =
      AdaptiveMtTranslateRequest.newBuilder()
          .setParent(LocationName.of(projectId, "us-central1").toString())
          .setDataset(adaptiveMtDatasetName)
          .addContent("Sample translation text")
          .build();
  AdaptiveMtTranslateResponse response = translationServiceClient.adaptiveMtTranslate(request);

  System.out.println("Translating using AdaptiveMt");
  System.out.println(response);
}

Node.js

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

async function translate() {
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    dataset: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
        adaptiveMtDatasetName}`,
    content: ['Sample translate query']
  } const [response] = await translationClient.adaptiveMtTranslate(request)
  console.log('Translating')
  console.log(response)
}

Python

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

def adaptive_mt_translate():
  # Create a client
  client = translate.TranslationServiceClient()
  # Initialize the request
  request = translate.AdaptiveMtTranslateRequest(
      parent="projects/PROJECT_ID/locations/LOCATION",
      dataset="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID",
      content=["Sample translation request"]
  )
  # Make the request
  response = client.adaptive_mt_translate(request)
  # Handle the response
  print(response)

次のステップ