タイトル通りで、Azure Logic Appsで特定の条件で絞ったツイートでセンチメント分析をしてみました。
ノンコーディングで進められるため敷居は低いです。
Azureを使えること、マイクロソフトアカウント、Twitterアカウント、Googleアカウントを既に持っていることを前提とします。
※この情報は2017年1月18日時点の情報です
事前作業
まずはGoogle Driveの作成とスプレッドシートの作成を行います。

Google Driveにログインしてスプレッドシートを新規に作成し下記の図のようにヘッダー情報を1行目に記載します。
ここでは[ID] [RESOURECE] [TRANSLATE] [SCORE] [DATE]を作成しています。
これはツイートID、ツイート、翻訳したツイート、センチメント分析のスコア、ツイート投稿日付を表しています。
最終的にこのスプレッドシートにもろもの情報が出力されます。

次にTextAnalyticsAPIのKEYを取得しておきます。
Cognitive Servicesから取得して保存しておいてください。

Azure Logic Apps
Azure PortalにログインしてLogic Appsを作成します。
任意のリソースグループを作成してWeb+モバイルのカテゴリからLogic Appsを選択します。
名称やリージョンは任意に選択してください。

Logic Appsを作成したら選択し概要から編集ボタンを押して編集画面に遷移します。

Logic Appsのテンプレート一覧が表示されるので左上の空のテンプレートを選択します。

Logic Appsのデザイナが表示されたらフローを作成していきます。

フローの作成
作成の手順は次の通りです。
最初にツイート情報を取得するトリガーを作成します。
Logic Appsでは最初にフローの基点となるトリガーを作成します。
アクションリストから「新しいツイートが投稿されたら」を選択し検索テキストに絞り込みたい情報を入力します。
ここでは「xamarin」にしています。
項目を確認する頻度はお好みで設定しください。ここではデフォルトの3分に設定します。

次にツイートテキストを英語に翻訳するための設定を行います。
アクションを追加しアクションリストから「テキストの翻訳」を選択します。
現在TextAnalyticsのSentimentは日本語に対応していないため英語に翻訳して英語でSentimentを分析します。

アクションを作成したらテキストに「ツイートテキスト」を選択し対象言語に「English」を選択します。これで投稿されたツイート情報を自動的に英語に翻訳してくれます。
ツイートされた投稿が日本語以外でも英語に翻訳してくれるます。

次に翻訳したツイートテキストをTextAnalyticsのSentiment分析にかける設定をします。
アクションを追加しアクションリストからCognitive ServicesのText Analytics Sentimentを選択します

接続名は任意の文字列を入力してください。
ACCOUNT KEYには事前作業で取得したKEYを入力し作成を押下します。

アクションが作成されたらTextに「翻訳されたテキスト」を入力します。
これで英語に翻訳されたツイートテキストをセンチメント分析にかけることができます。

次にSenetiment分析にかけたツイート情報のレスポンスをGoogleスプレッドシートに出力する設定を行います。アクションの追加をしアクションリストからGoogle DriveのSpreadSheetから行の挿入を選択します。
GoogleDriveへのログインが必要になりますので事前作業で作成したSpreadSheetを配置しているGoogleアカウントでログインしてください。Google Driveへのログインが成功したらSpreadSheetのパスを選択しシートを選択します。

SpreadSheetの読み込みが成功したら各列毎に出力項目の設定をします。ここで表示される列の情報は事前作業で作成したSpreadSheetの一行目の情報になります。下記の組み合わせで設定してください。
ID:[ツイートID]
SOURE:[ツイートテキスト]
TRANSLATE:[翻訳されたテキスト]
SENTIMENT:[Score]
DATE:[Create at]

各種設定が完了したら右上の本ボタンを押下して保存します。
これで設定は完了になります。
フローの実行
各種設定したらフローの実行を試します。
左上のコントロールから実行ボタンを押下します。

実行が問題なく完了すると下図のように各アクションの右上に緑色のチェックがつきます。
失敗した場合は右上の赤いマークがつくので設定を見直してください。

実行した監査ログはポータルから確認できます。
Logic Appsの概要から実行結果情報を確認してみてください。
問題ないく実行されていればSpreadSheetに各種情報が出力されているので確認してみましょう。
データが出力されていれば成功です。

まとめ
ちょっと長くなりましたが馴れてくると10分くらいで設定することができます。
取得するツイート情報にはRT情報も含まれるためフィルタリングするなどの改良の余地がありますが比較的簡単にセンチメント分析を実装することができました。
SpreadSheetに出力されたデータを可視化するためにPowerBi等を利用することも視野に入れることもできます。
なるべく楽できるところは楽するようにしていきましょう。
コメント