Cloud Translation - Advanced では、カスタムモデルを使用したテキスト翻訳が可能で、用語集の作成により Cloud Translation API でお客様の分野の専門用語を正しく翻訳できるようにします。
Google Cloud CLI のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、設定ページをご覧ください。用語集またはバッチ機能を使用する場合は、Cloud Storage バケットを作成し、サービス アカウントにアクセス権を付与する必要があります。
PDF などの書式設定されたドキュメントを翻訳するには、ドキュメントを翻訳するをご覧ください。
始める前に
Cloud Translation API を使用するには、Cloud Translation API が有効になっているプロジェクトと適切な認証情報が必要です。また、この API の呼び出しを支援する一般的なプログラミング言語のクライアント ライブラリをインストールすることもできます。詳細については、設定ページをご覧ください。
モデルの比較
Cloud Translation - Advanced から翻訳をリクエストするときに、使用する翻訳モデルを指定できます。モデルが指定されていない場合、nmt
モデルが使用されます。
モデル | 適した事例 | 例 |
---|---|---|
ニューラル機械翻訳(NMT)モデル |
一般的なテキストを扱うケース。ニュース記事など、分野を特化しない一般的なウェブサイト コンテンツ。 |
ニュース記事、ソーシャル メディア、チャット アプリケーション、レビュー |
AutoML Translation モデル | 分野固有のテキスト。顧客から個別のユースケースに沿ったトレーニング データの提供を受け、Google の NMT モデルを特定の言語ペアで分野に対応したものにカスタマイズします。 | 金融ニュース、技術文書、その分野に固有の用語および専門用語を使用するテキスト |
モデル ID を使用して翻訳モデルを指定します。NMT モデルの場合、モデル ID は general/nmt
です。AutoML Translation モデルの ID については、次のセクションで説明します。
テキストの翻訳
入力テキストにはプレーン テキストまたは HTML を使用できます。Cloud Translation API は入力テキスト内の HTML タグは翻訳せず、タグ間にあるテキストのみを翻訳します。出力では、(未翻訳の)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 レスポンスから取得することもできます。
リクエストのデータを使用する前に、次のように置き換えます。
- 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 application-default print-access-token)" \
-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 application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
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", } ] }
参考情報
- 一般的な問題またはエラーの解決に関するヘルプについては、トラブルシューティングページをご覧ください。