2021/5/25にAzure Cognitive Servicesの ドキュメント翻訳 がGAされたので試してみました。
構成
- 前提として翻訳したいドキュメントはBlobストレージに配置する必要があります。
- 構成は以下のようになります。
Translatorサービスリソース作成
Storage Explorerダウンロード
- SAS取得時にStorage Explorer からでないと動かなかったためダウンロード、インストールしておきます。
翻訳(日本語→英語)
Blob Container作成
ソースBLOBのSAS取得
ターゲットコンテナーのSAS取得
出力されたURLをメモっておきます。
ドキュメント翻訳要求をPOST
HTTPヘッダーに指定する[Ocp-Apim-Subscription-Key]を取得します。Azure PortalのTranslatorから[キーとエンドポイント]を選択し、コピーしておきます。
API要求方法はcurlとかなんでもよいのですが、今回はPostmanで説明します。
POSTメソッドとして、宛先は
https://[Translatorサービスリソース名].cognitiveservices.azure.com/translator/text/batch/v1.0-preview.1/batches
と指定します。
HTTPヘッダーには以下2つを追加します。[Ocp-Apim-Subscription-Key]には事前にメモしたキーを入力します。
要求本文には以下のように入力します。
{
"inputs": [
{
"storageType": "File",
"source": {
"sourceUrl": "[ソースBLOBのSAS URL]"
},
"targets": [
{
"targetUrl": "[ターゲットコンテナーのSAS URL]",
"language": "en"
}
]
}
]
}
- これらを指定してPOST要求を発行し、[202 Accepted]が返ってくればOKです。
ジョブ実行状態確認
- ドキュメント翻訳処理は非同期で実行されます。そのため処理がうまく動いているのかエラーになっているのかを確認することができます。
- 先ほどの要求POSTの応答ヘッダー[Operation-Location]に以下のように返ってくるためメモっておきます。
https://[Translatorサービスリソース名].cognitiveservices.azure.com/translator/text/batch/v1.0-preview.1/batches/[ジョブID]
- 新たにGET要求を発行します。宛先URLは先ほどメモしたURLになります。
https://[Translatorサービスリソース名].cognitiveservices.azure.com/translator/text/batch/v1.0-preview.1/batches/[ジョブID]
用語集を使ってみる
- 特殊な用語などうまく翻訳できない場合に用語集として定義することができます。
- 試しに以下のテキストをドキュメント翻訳してみます。
sample.txt
こんにちは!
Azure Cognitive Services ドキュメント翻訳機能がリリースされたので紹介します。
- 翻訳結果です。(CognitiveがNativeになってる。。)
sample.txt
Hello!
Introducing the Azure Native Services document translation feature, which has been released.
- この翻訳結果を用語集を使って変更してみます。
- まずは用語集csvの格納先Blobコンテナーを作成します。今回はglossaryという名前のコンテナーを作成します。
- 以下のように用語集csvファイルを作成します。
glossary.csv
ja,en
こんにちは,Hi
Azure Cognitive Services,Azure Cognitive Services
- glossary.csvをglossaryコンテナーに配置します。
POST要求を発行します。要求本文のみ以下のように変更します。
{
"inputs": [
{
"storageType": "File",
"source": {
"sourceUrl": "[ソースBLOBのSAS URL]",
"language":"ja"
},
"targets": [
{
"targetUrl": "[ターゲットコンテナーのSAS URL]",
"language": "en",
"glossaries": [
{
"glossaryUrl": "[glossaryBLOBのSAS URL]",
"format": "CSV"
}
]
}
]
}
]
}
- POST要求を発行すると以下のように翻訳されました。用語集の内容は反映されているようですね。
Hi!
Azure Cognitive Services document translation feature has been released.
- TextやHtmlファイルであれば用語集反映されましたが、PPTXで試すとうまく読み取れないことがありました。
以上