以下の記事の続きになります。
https://qiita.com/ishii1125/items/3ecc09804a1ff9a142e1
前回はRSSフィードの更新を検知して、更新された部分の内容をTeamsのチャネルに投稿するというところまで実現しました。
実際に投稿してみて気づいたことですが、最初に投稿された内容が英文になっていることが多々あるため、パッと見たときに抵抗感を感じてしまいます。
(個人的に英語力が低いだけですが、、、)
そこで、なんとなくでいいから日本語にならないかと思い、同じくMicrosoft社のAIによる言語翻訳をかませてみることにしました。
今回はその実装内容について記載します。
#アップデートした内容
前回の仕様ではRSSフィードの更新内容を見繕って、Teamsへそのまま投稿するという内容でした。
今回は取得した内容を言語翻訳してTeamsへ投稿するように変更します。
そこでAzureのLogic Appsコネクタにある「Microsoft Translator V2(プレビュー)」を利用しました。
※Cognitive Servicesの言語翻訳サービスを立ち上げる必要があります。
#構築手順
まず、Azureにログインし、言語翻訳のサービスをデプロイする必要があります。
リソースの作成から「Translator」と検索し、サービスをデプロイします。
デプロイが完了したら、「キーとエンドポイント」から「エンドポイント」の情報を取得します。
次に、前回作成したLogic Appsへアクセスします。
Logic Appsのフローの編集を「ロジックアプリデザイナー」画面から実施します。
すでにあるフローに追加したいので、コネクタ間の「+」のアイコンから「アクションの追加」を実施します。
コネクタの追加が表示されるので、検索から「translate」を入れて「Microsoft Translator V2」を探します。
そして、アクションのコネクタとして「Translate text(プレビュー)」を選択します。
Translatorの接続情報ですが、先ほど取得していたTranslatorの「エンドポイント」をコネクタの「接続名」に入力します。
Subscription Keyについては空欄でも動作可能です。
※私の環境ではうまく設定できないので省いています。。。
接続が完了したら、変換する言語の種類と対象となる文字列を設定します。
Target Languageが変換先の言語、Textが変換する文字列を表しています。
また、特に追加する必要はないかと思いますが追加のパラメータ値として変換元の言語を英語で設定しています。
最後に言語翻訳した内容をTeamsへ投稿するようにTeamsへ投稿するメッセージ本文を編集します。
RSSフィードの項目を引用したときのように動的なコンテンツから翻訳した内容を引用してきます。
「Translator」の項目が表示されない場合は「もっと見る」で表示させてください。
※このとき翻訳した内容をそのまま全文引用となるので、あまり凝った引用は難しいです。。
最終的に以下のようなメッセージ本文に設定しました。
実際にこんな感じにTeamsへ投稿されます。
#まとめ
ひとまず、共有できる情報程度にはなったかと思います。
コメントとしては、URLのリンクはプレーンテキストのままなので、ハイパーリンクに変換されてほしいな、って感じです。
思ったよりも簡単に翻訳もできたので、もう少し見てて面白い情報にしたいです。
IoTなどのフィルター処理を入れられたりするのだろうか。。。
アップデートがあれば、また書きたいと思います!