松本典子の「Azure Logic Apps」超入門 ~AI編~ 第2回
Azure Logic Appsから「Computer Vision API」を使う
AIで「alt属性」文章を自動生成しよう!もちろんノンコーディングで
2018年09月05日 11時30分更新
3-1. Azure Logic Appsを新規作成する
Azureの管理ポータル の左メニュー項目「+リソースの作成」→「Web」をクリックすると、項目にAzure Logic Appsが表示されます。表示された「ロジックアプリの作成」に、次の1~4の情報を入力し、作成します。
- 名前:作成するLogic Appsの名前を入れます(日本語の使用不可)。
- サブスクリプション:サブスクリプションが複数ある場合にのみ表示されるメニューです。複数ある場合、利用するサブスクリプション名を選択します。
- リソースグループ:今回は「既存のものを使用」を選択し、「Computer Vision APIの新規作成」で作成しているリソースグループ名を選択します。
- 場所(リージョン):「米国中西部リージョン」を選択します。
3-2. ワークフローを作成する
ワークフローの全体図はこのような形です。
「特定の文字列(ハッシュタグ)が入り、かつ画像添付があるツイート」のみを処理するワークフローになっており、ツイートした画像をDropboxに格納、ツイートした画像を解析・翻訳、解析・翻訳の結果をGoogleスプレッドシートに出力します。
3-3. Azure Logic Appsのトリガーの作成
Logic Appsのトリガーには「新しいツイートが投稿されたら」を選択して、今回は「#logicapp2018asc」という文字列を検索し、該当の文字列が入ったツイートを見つけた場合、アクションに当たるコネクタを実行します。
Twitterコネクタを利用する場合は承認が必要です。認証画面が表示されるので、アクティブになっているTwitterアカウントのID・パスワードを入力して承認が完了すると、図の画面に切り替わり設定ができるようになります。
「間隔」はどれくらいの頻度でTwitterアカウントを確認するかを設定します。「秒」の単位で設定できるので、間隔を短くすればほぼリアルタイムに確認するシステムになります。ですが、該当の文字列が入ったツイートがあるたびに課金が発生しますので、多くのツイートがある「検索テキスト」を設定した場合、「間隔」の時間設定には注意してください。
3-4. Azure Logic Appsのアクションの作成
該当の文字列が入り、画像付きのツイートだった場合に以下で設定するアクションが実行されます。
3-4-1.ツイートした画像をDropboxに格納
「HTTPコネクタ」を利用し、ツイートに添付した画像を取り出せるようにします。「HTTPコネクタ」を選択後、方法は「GET」に、URIには動的コンテンツ内の「新しいツイートが投稿されたら」リストから「MediaUrls - 項目」を選択します。
動的コンテンツを選択したタイミングで、For each「メディアURL」の設定が自動で入ります。
動的コンテンツは、該当のコネクタ内で利用できるもの全てを表示していない場合があります。探している項目が無い場合、赤枠内の「もっと見る」をクリックすると表示されることがあるので確認してみてください。
アクションの追加で「Dropbox」と検索し「ファイルの作成」を選択します。Dropboxコネクタを利用する場合は承認が必要です。認証画面が表示されるので、ID・パスワードを入力して承認が完了すると、SMSにセキュリティコードが送られてきます。全て入力が完了すると図の画面に切り替わり設定ができるようになります。
フォルダのパスは事前にDropbox側に作成しておいたフォルダを選択し、ファイル名は動的コンテンツの「作成日時」を選択したあと、手打ちで「.jpg」と入力します。ファイルコンテンツには、先ほど設定したHTTPコネクタの「本文」を選択します。
3-4-2. ツイートした画像を解析・翻訳
アクションの追加で「Computer Vision API」と検索し「Analyze Image」を選択します。
上図のような表示になるので「2-2. Computer Vision APIの情報確認」で控えておいた情報を入力します。
- 接続名:「NAME」の情報を入力
- Account Key:「KEY 1」の情報を入力
接続できると上図のような表示に切り替わるので、「詳細オプションを表示しない」の表記になっている部分は「詳細オプションを表示する」にします。この部分をクリックすると「Language」項目が表示されるので「en」を選択します。
Iamge URLは「MediaUrls - 項目」を選択します。このコネクタで画像の解析をし、キャプション文章を出力します。
Computer Vision API「Analyze Image」コネクタで出力されたキャプション文章は英語なので、Microsoft Translatorで日本語に翻訳しましょう。アクションの追加で「翻訳」と検索し「Microsoft Translator」コネクタを選択し、以下の内容を入力します。
- テキスト:Captions Caption Textを選択(Analyze Imageコネクタの動的コンテンツ)
- 対象言語:Japaneseを選択
- ソース言語:Englishを選択
- カテゴリ:空白は「統計的機械翻訳」、generalnnは「ニューラルネットワーク」を指定となります。generalnnと入力するのがお勧めです。
動的コンテンツを選択したタイミングで、For each2「Captions」の設定が自動で入ります。
3-4-3. 結果をGoogleスプレッドシートに出力
アクションの追加で「Google」と検索、結果からGoogleスプレッドシートコネクタを選択し「行の挿入」を選択します。このコネクタも利用時には承認が必要なので、Googleアカウントで承認してください。
Googleスプレッドシートの承認が完了すると、上図のような表示に切り替わります。ファイルとワークシート(デフォルトはシート1)を選択します。
ファイルの読み込みが問題なくできると、自動で上図のような表示に切り替わります。事前準備で作成したGoogleスプレッドシートの項目が表示されているので、出力したい動的コンテンツを選択していきます。
- ツイート日時:作成日時を選択(Twitterコネクタの動的コンテンツ)
- ツイート作成者:ツイート作成者を選択(Twitterコネクタの動的コンテンツ)
- ツイート内容:ツイートテキストを選択(Twitterコネクタの動的コンテンツ)
- Dropbox画像名:Nameを選択(Dropboxコネクタの動的コンテンツ)
- alt用テキスト(原文):Captions Caption Textを選択(Analyze Imageコネクタの動的コンテンツ)
- alt用テキスト(翻訳):翻訳されたテキストを選択(Microsoft Translatorコネクタの動的コンテンツ)
正しく翻訳されているかを確認するため、Googleスプレッドシートには英語のキャプション文章と翻訳済み文章を出力するようにしました。
この連載の記事
-
第11回
TECH
AI+ノーコードで動画の字幕を自動生成するツールを作ろう -
第10回
TECH
メールで届く添付ファイルの暗号化を自動解除するLogic Appsを作ろう -
第9回
TECH
人物写真の顔をAIが検出し、ぼかしてツイートするLogic Appsを作ろう -
第8回
TECH
Power AutomateのRPA「UIフロー」でPhotoshopの操作を自動化してみよう -
第7回
TECH
「指定した場所に近づくとスマホに買い物リストを通知する」仕組みを作ろう -
第6回
TECH
文字入り画像を送るとテキストに書き起こすLINEボットを作ろう -
第5回
TECH
現在地から目的地までの道案内をするLINEチャットボットを作ろう -
第4回
TECH
音声認識AIを使ってLINEのボイスメッセージをテキスト変換してみよう -
第3回
TECH
自分用メモ的にLINE送信した予定をAIで読み取ってGoogleカレンダーに自動登録しよう -
第1回
TECH
ノンコーディングで質問に自動回答するLINE BOTを作ってみよう - この連載の一覧へ