APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Azureで英語ドキュメントを翻訳してみる(Cognitive Services)

はじめに

本記事はエーピーコミュニケーションズ Advent Calender 2022の24日目の記事です。

こんにちは、ACS事業部の浅野です。

業務でどうしても英語を文章を見なければいけない機会ってありますよね?

少ないテキストならさまざまなツールで翻訳しやすいと思うのですが、

しっかりしたドキュメントになると少し敷居が高くなってしまう印象です。

そんなときにAzureが使えるということで今回はCognitive Servicesの機能を使い、

英語ドキュメントを翻訳してみます。

Cognitive Servicesとは?

クラウド(Azure)ベースのAIサービスです。

REST APIとクライアント ライブラリ SDKを用いて行えます。

以下4つのカテゴリに分かれています。

  • 視覚

  • 音声

  • 言語

  • 決定

今回は言語の「Translator」サービスのREST APIを使います。

準備1

AzurePortalからCognitive Servicesで検索、「翻訳」の作成をクリックします。

VM作成と同じような形でリソースグループなどを入れていきます。

選択はデフォルトです。

価格レベルは「S1」を選択します。※Freeだと使えません

「作成」をクリックして終了です。

準備2

PDFファイルの入力・出力用のストレージを作成します。

まず「ストレージ アカウント」で検索、

選択はデフォルトでアカウントを作成していきます。

PDFファイルの入力・出力のためにストレージアカウントからコンテナーを2つ作成しましょう。

今回は、入力「testcon1」出力「testcon2」としました。

それぞれのコンテナーに共有アクセストークンを設定します。

以下それぞれ必要です。

  • 「testcon1」は、読み取り・リスト

  • 「testcon2」は、書き込み・リスト

設定したらそれぞれの「SASトークンおよびURLを生成」をクリックし、

「BLOB SAS URL」をコピーしてメモ帳に貼っておきます。

できたら、翻訳するドキュメントを「testcon1」にアップロードしましょう。

今回はAzureのクラウド導入フレームワークから適合性チェックリストを使ってみます。

learn.microsoft.com

いざ翻訳

キーとエンドポイントより、キー1をコピーしておきます。

また、Web APIのドキュメントの翻訳もコピーします。

learn.microsoft.com

を参考にしていきます。

要求 URLは以下、https://~azure.comまでがドキュメントの翻訳でコピーした箇所になります。

POST https://testins.cognitiveservices.azure.com//translator/text/batch/v1.0/batches

要求の例

{
    "inputs": [
        {
            "source": {
                "sourceUrl": "https://asanostorageacount.blob.core.windows.net/testcon1?sp=rl&st=2022-12-23T14:26:23Z&se=2022-12-23T22:26:23Z&spr=https&sv=2021-06-08&sr=c&sig=pwXFLLqBD6jpzrf9Cayv3deghFEZEHM5b%2BziaA4hPOI%3D"
            },
            "targets": [
                {
                    "targetUrl": "https://asanostorageacount.blob.core.windows.net/testcon2?sp=wl&st=2022-12-23T14:31:22Z&se=2022-12-23T22:31:22Z&spr=https&sv=2021-06-08&sr=c&sig=F0JglM96AYsoSSmZUfbMMqAWkUNexrIiqtuRjvXkB4k%3D",
                    "language": "ja"
                }
            ]
        }
    ]
}
  • sourceUrlは「testcon1」のBLOB SAS URL
  • targetUrlは「testcon2」のBLOB SAS URL
  • languageは"ja"にします。

curlコマンドで実施します。

要求の例(JSON形式)をワンライナーに変換します。(「JSONきれい」とか)

curl -X POST "(要求 URL)" -H "Ocp-Apim-Subscription-Key:(キー1)" -H "Content-Type: application/json" -d '(ワンライナー変換したJSON)'

こちらをCloud Shellでやってみました。

testcon2のコンテナーにドキュメントが出力されました。

開くとこんな感じです。

結構使えそうですね。

参考にさせていただいたもの

Get started with Document Translation - Azure Cognitive Services | Microsoft Learn

Azure Cognitive Services ドキュメント翻訳APIを試す - Qiita

Azure Cognitive Servicesのドキュメント翻訳機能で翻訳してみる。 - 技術的な何か。

おわりに

Azure Cognitive Services Translatorを紹介しました。

ドキュメントを変換したいなど、サブスクなど別途契約しなくても

Azureがあれば使えそうだなと思いました。

この記事がお役に立てれば幸いです。

私達ACS事業部はAzure・AKSを活用した内製化のご支援をしております。
ご相談等ありましたらぜひご連絡ください。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
切磋琢磨しながらスキルを向上できる、エンジニアには良い環境だと思います。
ご興味を持っていただけたら嬉しく思います。

www.ap-com.co.jp

本記事の投稿者: 浅野