Cognitive ServicesのTranslator(テキスト翻訳)をLogic Appsで使う

Azure,Cognitive Services,Logic Apps,Translator

Azure Cognitive Services TranslatorはAzureで提供される機械翻訳サービスです。
このサービスを使うとAzure上でテキストなどの翻訳機能を利用出来ます。

ロジックアプリ(Logic Apps)には翻訳(Translator)のコネクタが用意されており、ワークフロー上でテキスト翻訳させることが出来ます。

今回は翻訳(Translator)のリソース作成、Azure Portal上での利用、ロジックアプリ(Logic Apps)ワークフローでの利用手順までを纏めます。

※Azure Portal上でAzure Cognitive Services Translatorは翻訳と表示されます。本記事内では翻訳(Translator)と表記します。

スポンサーリンク

Azure Cognitive Services Translatorのリソース作成

Azure Cognitive Services Translatorとは?

クラウドベースのニューラル機械翻訳サービスです。
Azure Portal上ではCognitive Servicesの中に翻訳というメニュー名で表示されています。
テキスト翻訳だけではなくドキュメント翻訳なども可能です。

Azure Cognitive Services Translator とは?

価格

翻訳(Translator)サービスは文字数単位での課金になります。

Translator の価格

※今回はFreeのインスタンスを利用します。

リソース作成

翻訳(Translator)リソース作成はCognitive Servicesから行います。
マイクロソフトで公開されている手順を参考に進めます。

Translator リソースを作成する

※リソース名はopen-ai-translatorとしています。

リソース作成
Cognitive Servicesで翻訳を選択します。
作成を選択します。

作成画面が表示されます。
基本ではリージョン、名前、価格レベルを選択します。

※価格レベルはFree F0を選択しています。

ネットワーク設定です。
アクセス許可設定を選択します。
パブリックアクセス、選択されたネットワーク、プライベートエンドポイントから選択する事が出来ます。

※検証目的なのでインターネットアクセスを選択しています。
※リソース作成後に変更可能です。

Identity設定です。
システム割り当てマネージドIDやユーザー割り当てマネージドIDが利用できます。

※今回はロジックアプリ(Logic Apps)からの利用を想定していますのでオフを選択します。(画面はオンになってますがオフで)

確認画面です。
作成を選択してリソースをデプロイします。

Azure Portalでテキスト翻訳

Azure Portalでテキスト翻訳機能を試してみます。

テキスト翻訳
作成した翻訳(Translator)のリソースを選択します。
概要のお試しくださいタブでテキスト翻訳機能が利用できます。
コード(JSON)も表示されます。

キーの確認方法

ロジックアプリ(Logic Apps)から翻訳(Translator)を利用する場合、コネクタ接続(API接続作成)時にキーが必要になります。

キー確認方法

リソース管理のキーとエンドポイントで確認出来ます。

ロジックアプリ(Logic Apps)で翻訳(Translator)を使う

ロジックアプリ(Logic Apps)のリソースは作成済みの想定です。
ロジックアプリ(Logic Apps)のリソース作成はこちらに記載しております。

マネージドIDの割り当て

ロジックアプリ(Logic Apps)から翻訳(Translator)へアクセスする為の権限を付与します。
マネージドIDはシステム割り当てマネージドIDを利用しています。

マネージドID設定
ロジックアプリ(Logic Apps)のIDで設定します。
状態をオンにし保存します。

有効化されたら権限付与します。
アクセス許可のAzureロールの割り当てを選択します。
ロールの割り当ての追加を選択します。
翻訳(Translator)があるリソースグループにCognitive Services Language ライターの権限を付与しています。
設定したロール割り当て内容が確認出来ます。

ワークフロー作成

ロジックアプリ(Logic Apps)でワークフローを作成します。
翻訳前の文字列と翻訳後の文字列をHTMLテーブルで表示してみます。

今回、翻訳前の文字列入力する為のトリガーはHTTP要求の受信時を利用しています。
翻訳対象文字列を入力して翻訳(Translator)を利用します。

    • 変数設定内容
      • 翻訳前文字列:入力した文字列
      • 翻訳後文字列:翻訳した文字列

※今回は日本語を英語に翻訳しています。

ワークフロー作成
ロジックアプリデザイナーを選択します。
トリガーにHTTP要求の受信時を選択します。
設定画面が表示されます。
サンプルペイロードを使用してスキーマを生成するを選択します。

サンプルのJSONペイロードを入力します。
文字列入力用のサンプルJSONペイロードを利用しています。

{
 "messages": {
  "content":"翻訳する文字列を入力する。"
 }
}

要求本文のJSONスキーマが生成されます。

翻訳前文字列の変数を作成します。
初期値としてHTTP要求受信時のcontentを設定します。

※翻訳前文字列の変数は作成せず、変換の入力値にcontentを設定しても同じ結果になります。

アクションでTranslate textを選択します。

※Microsoft Translator V3を使用します。

API接続の設定確認画面が表示されます。
接続名、Resource Key、Translator resource nameを設定します。
Resource Keyには翻訳(Translator)で確認したキーを設定します。

翻訳(Translator)の設定画面が表示されます。
Source languageに入力言語、Target languageに翻訳する言語を指定します。
Textには翻訳対象の文字列を設定します。

※Suggested source languageを指定する事で判別できなかった場合の文字列を指定する事が出来ます。

翻訳後の文字列を入力する為の変数を作成します。
変数の初期化後に変数の設定を追加します。
値にはTranslated textを選択します。

 

データ操作でHTMLテーブルの作成を選択します。
HTMLテーブルの開始には本文を設定します。
値に翻訳前文字列と翻訳後文字列を設定します。

ワークフローを保存します。

※変数を設定しなくてもワークフローを作成する事は出来ます。

【変数を使わない場合】

ワークフローを実行

サンプルのペイロードを使ってワークフローを実行し確認します。

ワークフロー実行

ペイロードで実行を選択します。
本文に翻訳したい文字列を設定します。

実行します。

{
 "messages": {
  "content":"Azure Open AIの使い方について教えて下さい。"
 }
}

実行の履歴に実行結果が表示されます。
成功の場合はグリーンのチェックで表示されます。
HTMLテーブルの作成の結果を確認します。
翻訳前と翻訳後の文字列が表示されています。

最後に

ロジックアプリ(Logic Apps)で翻訳(Azure Cognitive Services Translator)を使う方法について確認してみました。
リソース作成からロジックアプリ(Logic Apps)ワークフローでの利用までの一連の手順を確認しています。
トリガー(入力)やアクション(出力)をSlackやTeamsを利用すると各アプリで自動翻訳し応答させるような事も可能です。
色々組合せて利用できそうなので、今後も色々試してみたいと思います。

ロジックアプリ(Logic Apps)でAzure OpenAIを利用する方法についてはこちら。

ロジックアプリ(Logic Apps)でLog Analyticsクエリ実行結果をメール送信する方法についてはこちら。

Azure OpenAIのAdd your dataについてはこちらに纏めています。

スポンサーリンク