Cloud Translation - Advanced では、カスタムモデルを使用したテキスト翻訳が可能で、用語集の作成により Cloud Translation API でお客様の分野の専門用語を正しく翻訳できるようにします。
Google Cloud CLI のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、設定ページをご覧ください。用語集またはバッチ機能を使用する場合は、Cloud Storage バケットを作成し、サービス アカウントにアクセス権を付与する必要があります。
PDF などの書式設定されたドキュメントを翻訳するには、ドキュメントを翻訳するをご覧ください。
始める前に
Cloud Translation API を使用するには、Cloud Translation API が有効になっているプロジェクトと適切な認証情報が必要です。また、この API の呼び出しを支援する一般的なプログラミング言語のクライアント ライブラリをインストールすることもできます。詳細については、設定ページをご覧ください。
モデルの比較
Cloud Translation - Advanced から翻訳をリクエストするときに、使用する翻訳モデルを指定できます。モデルが指定されていない場合、nmt
モデルが使用されます。
モデル | モデル ID | 適した事例 | 例 |
---|---|---|---|
ニューラル機械翻訳(NMT)モデル | general/nmt |
一般的なテキストを扱うケース。ニュース記事など、分野を特化しない一般的なウェブサイト コンテンツ。 |
ニュース記事、ソーシャル メディア、チャット アプリケーション、レビュー |
翻訳用大規模言語モデル(LLM)(プレビュー) | general/translation-llm |
Cloud Translation - Advanced において 2 つのモードで提供されるモデルのうちの 1 つ。カスタマイズを必要としない一般的なテキストのユースケース(会話型メッセージなど)のテキスト翻訳。適応型翻訳では、翻訳例を指定したデータセットを使用してリアルタイムでのカスタマイズをサポートします。 |
ニュース記事、ソーシャル メディア、チャット アプリケーション、レビュー |
AutoML Translation モデル | モデル ID は、モデルのトレーニングが完了した後に生成されます。 | 分野固有のテキスト。お客様から個別のユースケースに沿ったトレーニング データの提供を受け、Google の NMT モデルを特定の言語ペアで分野に対応したものにカスタマイズします。 | 金融ニュース、技術文書、その分野に固有の用語および専門用語を使用するテキスト |
考慮事項
各モデルは独自の言語セットをサポートしています。ソース言語とターゲット言語がサポートされていることを確認します。詳細については、サポートされている言語をご覧ください。
テキストの翻訳
翻訳の入力には、プレーン テキストまたは HTML を使用できます。Cloud Translation API は入力内の HTML タグは翻訳せず、タグ間にあるテキストのみを翻訳します。出力では、(未翻訳の)HTML タグは保持されます。タグは翻訳されたテキストに合わせて挿入されますが、ソース言語とターゲット言語には差異があるため、その位置調整は可能な範囲で行われます。
入力文字列の翻訳
REST
テキストを翻訳するには、POST
リクエストを作成し、リクエスト本文に翻訳元の言語(source_language_code
)、翻訳先の言語(target_language_code
)、翻訳するテキスト(contents
)を特定する JSON を指定します。翻訳するテキストの複数の文字列を JSON に含めることで指定できます(例を参照)。ソース言語とターゲット言語は ISO-639 コードで指定できます。
以下は、curl
または PowerShell を使用した POST
リクエストの例です。この例では、Google Cloud CLI を使用するプロジェクト用に設定されたサービス アカウントのアクセス トークンを使用します。Google Cloud CLI のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、設定ページをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText
リクエストの本文(JSON):
{ "sourceLanguageCode": "en", "targetLanguageCode": "ru", "contents": ["Dr. Watson, come here!", "Bring me some coffee!"] }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "translations": [ { "translatedText": "Доктор Ватсон, иди сюда!", }, { "translatedText": "Принеси мне кофе!", } ] }
translations
配列の 2 つの translatedText
フィールドに、リクエストした targetLanguageCode
言語(ru
: ロシア語)の訳文が返されています。翻訳は、リクエスト内の対応するソースの配列と同じ順序で表示されます。
Go
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。詳細については、Cloud Translation Go API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。 詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。 詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。 詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Cloud Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Cloud Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Cloud Translation リファレンス ドキュメントをご覧ください。
特定のモデルを使用してテキストを翻訳する
REST
翻訳に使用するモデルを指定するには、model
クエリ パラメータを使用します。
次の例では、モデル ID が 1395675701985363739
のカスタムモデルを使用してテキストを翻訳します。カスタムモデルのモデル ID は、Google Cloud コンソールのモデルリストから取得できます。また、モデルのトレーニング時に API レスポンスから取得することもできます。翻訳 LLM を使用するには、モデル ID として general/translation-llm
を指定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクト ID。
- LOCATION: カスタムモデルが配置されているリージョン(
us-central1
など)。
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText
リクエストの本文(JSON):
{ "model": "projects/PROJECT_ID/locations/LOCATION/models/1395675701985363739", "sourceLanguageCode": "en", "targetLanguageCode": "ru", "contents": ["Dr. Watson, please discard your trash. You've shared unsolicited email with me. Let's talk about spam and importance ranking in a confidential mode."] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "translation": { "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.", "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/1395675701985363739" } }
Go
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。詳細については、Cloud Translation Go API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。 詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。 詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。 詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Cloud Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Cloud Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Cloud Translation リファレンス ドキュメントをご覧ください。
文字変換
文字変換は、translateText
メソッドの構成設定です。文字変換を有効にすると、ローマ字化されたテキスト(ラテン文字)がターゲット言語に直接翻訳されます。たとえば、ローマ字化された日本語のテキストを英語、スペイン語、中国語に直接翻訳できます。翻訳結果はターゲット言語の書記体系に従います。
文字変換リクエストには、ローマ字化されたテキストのみを含めます。ローマ字化されたテキストとされていないテキストを混在させると、Cloud Translation で整合性のある適切な翻訳が保証されません。
考慮事項
文字変換は、次の点で標準のテキスト翻訳とは異なります。
- 文字変換は一部の言語のみに対応しています。詳細については、サポートされている言語ページの文字変換列をご覧ください。
- MIME タイプは
text/plain
にする必要があります。HTML はサポートされていません。 - 文字変換は、デフォルトの標準モデルでのみサポートされています。カスタムモデルはサポートされていません。
- 文字変換のデフォルトのコンテンツ割り当ては低く設定されています。詳細については、割り当てと上限をご覧ください。
REST
translateText
メソッドで transliteration_config
フィールドを設定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID。
- LOCATION: このオペレーションを実行するリージョン。例:
us-central1
- SOURCE_LANGUAGE: (省略可)入力ドキュメントの言語コード。既知の場合は、言語サポートに記載されているいずれかの言語コードに設定します。
- TARGET_LANGUAGE: 入力テキストの翻訳先のターゲット言語。言語サポートに記載されているいずれかの言語コードを設定します。
- SOURCE_TEXT: 翻訳対象の原文をローマ字化したテキスト。
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText
リクエストの本文(JSON):
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": "SOURCE_TEXT", "mime_type": "text/plain", "transliteration_config": { "enable_transliteration": true} }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "translations": [ { "translatedText": "TRANSLATED_TEXT", } ] }
参考情報
- 一般的な問題またはエラーの解決に関するヘルプについては、トラブルシューティングページをご覧ください。