Cloud Translation - Advanced では、カスタムの AutoML Translation モデルを使用したテキスト翻訳が可能で、用語集の作成により Cloud Translation API でお客様の分野の専門用語を正しく翻訳できるようにします。
プロジェクトで AutoML カスタムモデルを使用するには、AutoML API(automl.googleapis.com)を有効にする必要があります。Cloud SDK のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、設定ページをご覧ください。用語集またはバッチ機能を使用する場合は、Cloud Storage バケットを作成し、サービス アカウントにアクセス権を付与する必要があります。
始める前に
Cloud Translation API の使用を開始するには、Cloud Translation API が有効になっているプロジェクトと適切な認証情報が必要です。また、一般的なプログラミング言語のクライアント ライブラリをインストールして、API の呼び出しを行うこともできます。
詳細については、[設定] ページをご覧ください。
モデルの比較
Cloud Translation - Advanced から翻訳をリクエストするときに、使用する翻訳モデルを指定できます。モデルが指定されていない場合に言語ペアがサポートされていれば、nmt
モデルが使用されます。それ以外の場合には PBMT モデルが使用されます。
モデル | 適した事例 | 例 |
---|---|---|
ニューラル機械翻訳(NMT)モデル |
一般的なテキストを扱うケース。ニュース記事など、分野を特化しない一般的なウェブサイト コンテンツ。 |
ニュース記事、ソーシャル メディア、チャット アプリケーション、レビュー |
フレーズベース機械翻訳(PBMT)モデル | NMT の場合、一般的には翻訳の質は高くなります。言語ペアに対応した NMT モデルがない場合、PBMT がデフォルトで使用される場合があります。 | NMT を利用できない場合に使用します。 |
AutoML Translation モデル | 分野固有のテキスト。顧客から個別のユースケースに沿ったトレーニング データの提供を受け、Google のベースモデルを特定の言語ペアで分野に対応したものにカスタマイズします。 | 金融ニュース、技術文書、その分野に固有の用語および専門用語を使用するテキスト |
モデル ID を使用して変換モデルを指定します。一般的な Google モデルのモデル ID は、NMT モデルの場合は general/nmt
で、PBMT モデルの場合は general/base
です。(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 Cloud SDK を使用するプロジェクト用に設定されたサービス アカウントのアクセス トークンを使用します。Cloud SDK のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、設定ページをご覧ください。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- 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
: ロシア語)の訳文が返されています。翻訳は、リクエスト内の対応するソースの配列と同じ順序で表示されます。
C#
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある C# の設定手順を行ってください。詳細については、Translation C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を行ってください。詳細については、Translation Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Translation Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を行ってください。詳細については、Translation Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある PHP の設定手順を行ってください。詳細については、Translation PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Translation Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Ruby の設定手順を行ってください。詳細については、Translation Ruby API のリファレンス ドキュメントをご覧ください。
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" } }
C#
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある C# の設定手順を行ってください。詳細については、Translation C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を行ってください。詳細については、Translation Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Translation Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を行ってください。詳細については、Translation Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある PHP の設定手順を行ってください。詳細については、Translation PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Translation Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Translation クイックスタート: クライアント ライブラリの使用にある Ruby の設定手順を行ってください。詳細については、Translation Ruby API のリファレンス ドキュメントをご覧ください。
model パラメータの使用
REST とコマンドライン
翻訳に使用するモデルを指定するには、model
クエリ パラメータを使用します。PBMT モデルを使用するには base
を指定し、NMT モデルを使用するには nmt
を指定します。リクエストで NMT モデルを指定しても、翻訳する言語の組み合わせが NMT モデルでサポートされていないと、PBMT モデルが使用されます。
次のサンプルでは、翻訳リクエストで model
パラメータを使用する方法と base
の選択の例が示されています。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- 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/base", "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/base" } ] }