Cloud Translation - Advanced API の使用
モデルを適切にトレーニングしたら、Cloud Translation - Advanced API translateText
メソッドでコンテンツの翻訳ができるようになります。Cloud Translation - Advanced API は、用語集と一括翻訳リクエストの使用に対応しています。
REST とコマンドライン
プロジェクトで Cloud AutoML API が有効になっていることを確認します。これは、AutoML API で AutoML モデルを使用する場合に必要です。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
Java
Node.js
PHP
Python
Ruby
AutoML Translation の使用
AutoML Translation でカスタムモデルを使用してコンテンツを翻訳することもできます。
ウェブ UI
Google Cloud Console の [AutoML Translation モデル] ページに移動します。
使用するモデルが別のプロジェクトにある場合は、タイトルバーのプロジェクト セレクタからプロジェクトを選択します。
モデルのリストから、テキストの翻訳に使用するモデルを選択します。
モデルの [予測] タブをクリックします。
テキスト ボックスに翻訳するコンテンツを入力し、[翻訳] をクリックします。
カスタムモデルの結果と、Cloud Translation - Advanced でデフォルトで使用するベースモデル(Google NMT モデル)を比較します。します。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- model-name: モデルの完全な名前。モデルの完全な名前には、プロジェクト名とロケーションが含まれています。モデル名は次の例のようになります。
projects/project-id/locations/us-central1/models/model-id
- source-language-text: 原文の言語からターゲット言語に翻訳するテキスト。
HTTP メソッドと URL:
POST https://automl.googleapis.com/v1/model-name:predict
JSON 本文のリクエスト:
{ "payload" : { "textSnippet": { "content": "source-language-text" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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://automl.googleapis.com/v1/model-name:predict
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://automl.googleapis.com/v1/model-name:predict" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "payload": [ { "translation": { "translatedContent": { "content": "target-language-text" } } } ] }
Go
Java
Node.js
PHP
Python
このサンプルコードを実行するには、あらかじめ Python クライアント ライブラリをインストールしておく必要があります。model_full_id
パラメータは、モデルの完全な名前です。例:projects/434039606874/locations/us-central1/models/3745331181667467569
。