Cloud Translation - Advanced では、カスタムの AutoML Translation モデルを使用したテキスト翻訳が可能で、用語集の作成により Cloud Translation API でお客様の分野の専門用語を正しく翻訳できるようにします。
プロジェクトで AutoML カスタムモデルを使用するには、AutoML API(automl.googleapis.com)を有効にする必要があります。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-1 コードで指定できます。
以下は、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!"] }
リクエストを送信するには、次のいずれかのオプションを選択します。
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_NUMBER_OR_ID: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_NUMBER_OR_ID:translateText " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "translations": [ { "translatedText": "Доктор Ватсон, иди сюда!", }, { "translatedText": "Принеси мне кофе!", } ] }
translations
配列の 2 つの translatedText
フィールドに、リクエストした targetLanguageCode
言語(ru
: ロシア語)の訳文が返されています。翻訳は、リクエスト内の対応するソースの配列と同じ順序で表示されます。
Go
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を行ってください。詳細については、Translation Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Translation Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を行ってください。詳細については、Translation Node.js API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Translation Python API のリファレンス ドキュメントをご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Translation リファレンス ドキュメントをご覧ください。
AutoML Translation カスタムモデルを使用したテキストの翻訳
REST とコマンドライン
この例では、モデル ID が TRL1395675701985363739
の AutoML Translation モデルを使用してテキストを翻訳します。AutoML Translation モデルの ID は、AutoML Translation UI のモデルリストから取得できます。また、モデルのトレーニング時に API レスポンスから取得することもできます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクト番号または ID
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:translateText
JSON 本文のリクエスト:
{ "model": "projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/TRL1395675701985363739", "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_NUMBER_OR_ID/locations/us-central1: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_NUMBER_OR_ID/locations/us-central1:translateText " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "translation": { "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.", "model": "projects/project-number/locations/us-central1/models/TRL1395675701985363739" } }
Go
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を行ってください。詳細については、Translation Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Translation Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を行ってください。詳細については、Translation Node.js API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Translation Python API のリファレンス ドキュメントをご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Translation リファレンス ドキュメントをご覧ください。
model パラメータの使用
REST とコマンドライン
翻訳に使用するモデルを指定するには、model
クエリ パラメータを使用します。たとえば、NMT モデルを使用するには nmt
を指定します。
次のサンプルは、翻訳リクエストで model
パラメータを使用する方法を示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクト番号または ID
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/global:translateText
JSON 本文のリクエスト:
{ "model": "projects/PROJECT_NUMBER_OR_ID/locations/global/models/general/nmt", "sourceLanguageCode": "en", "targetLanguageCode": "de", "contents": ["Come here!"] }
リクエストを送信するには、次のいずれかのオプションを選択します。
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_NUMBER_OR_ID/locations/global: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_NUMBER_OR_ID/locations/global:translateText " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "translations": [ { "translatedText": "Komm her!", "model": "projects/project-number/locations/global/models/general/nmt" } ] }
参考情報
- 一般的な問題またはエラーの解決に関するヘルプについては、トラブルシューティングページをご覧ください。