SHOW Toro TIME

ゲームや技術的なこと、最近の気になることをどんどん書いていくブログです

Azure LogicAppsで文字の感情解析を試してみた!

どうも、小とろです。
最近、Azureの勉強をしているので、
Azureについての話題を取り上げようかと思います。
具体的には、Azure LogicAppsとAzure Cognitive Servicesというサービスで
文字の感情解析が簡単にできたので、そちらの紹介です!

f:id:shotoro:20200830121934p:plain

はじめに

この記事は株式会社富士通システムズウェブテクノロジーが企画する
いのべこ夏休みアドベントカレンダー 2020の13日目の記事です。
本記事の掲載内容は私自身の見解であり、所属する組織を代表するものではありません。

qiita.com

Azureとは

一言でいうと、「マイクロソフト社が提供するクラウドサービス」です。

f:id:shotoro:20200830102253p:plain:w600

合わせてクラウドサービスというのは、「インターネット上にあるデータやソフトウェアなどを、それがどこに存在するかを意識することなく使える環境や利用形態のこと」を指します。

Azureを使うことで、インターネットが繋がっていれば誰でも簡単にサーバの構築やデータベースの構築などができます。

azure.microsoft.com

Azure以外の同様サービス

ちなみに、同様のサービスをAmazonGoogleも行っており、それぞれAmazon Web Service(AWS)とGoogle Cloud Platform(GCP)と呼ばれています。

f:id:shotoro:20200830103728p:plain:w600

AzureとAWSを比較している資料がネットにあったので、違いを知りたい時に使えるかもしれません。 https://licensecounter.jp/azure/download/Microsoft_Azure_vs_Amazon_Web_Services.pdf

Azure LogicAppsとは

f:id:shotoro:20200830105409j:plain:w200

今回紹介するAzureのサービスです。
LogicAppsは「1行もコードを書かずに、外部のサービスと連携した処理を作成できるサービス」です。 コードを書かない開発者以外の人でも作成・管理できるサービスなのかなと思います。

azure.microsoft.com

Azure Cognitive Servicesとは

今回、文字の感情解析で利用するAPIです。
説明については以下のブログがわかりやすかったので、そのまま引用します。

Azure Cognitive Servicesとは、Azureで提供される「人間の認知(Cognitive)機能の一部」をWeb APIとして利用できる"AIパーツ"です。

人間の認知機能といえば視覚や聴覚などがありますが、Cognitive Servicesにもこれらの認知を可能にするサービスがあります。現在提供されているサービスは5ジャンル27種類にわたります。

『引用サイト』 licensecounter.jp

本題の「文字の感情解析」

それでは、実際に作ってみた内容です。

最初は空のLogicAppsを用意して作成していきます。 f:id:shotoro:20200830111144p:plain

解析に使う文字はTwitterから取ります。
LogicAppsにTwitter用の接続コネクタがあるので、それを使います。 f:id:shotoro:20200830114224p:plain

一番最初に来るトリガーボックスが処理の起点になります。
今回の場合は新しいツイートが投稿されたら、その情報を3分間隔で取得してきます。
検索テキストは適当に「天気」としています。

次に感情の検出処理を追加します。

f:id:shotoro:20200830114422p:plain

実際に感情の検出を行う場合、「Azure Cognitive Services」の構築が先に必要になります。 Azureポータル画面で簡単に作成できるので、そこから発行されたAPIキーとエンドポイントのURLを確認して 進めてください。

azure.microsoft.com

感情の検出処理のボックスでは、解析で使うテキストを入力できます。
ここの入力にTwitterで取得したツイートテキストを指定します。
基本的にサブウィンドで表示させる項目をクリックするだけなので、簡単です。

f:id:shotoro:20200830114947p:plain

f:id:shotoro:20200830114332p:plain

一応、英語と日本語の2種類を設定しています。

これで解析できます。

結果

実際に実行した結果がこちら

f:id:shotoro:20200830115325p:plain

日本語なので、日本語で設定した2番目のスコアに変化が起きています。
感情解析のスコアについては以下のような説明になっています。

0 から 1 までの数値スコアを返します。スコアは、1 に近いほど肯定的な感情を示し、0 に近いほど否定的な感情を示します。

このツイート内容だと0に近い方なので、
否定的なマイナスの感情で表されていますね。

見た感じだと確かにそんな感じですw

最後に

ということで、今回は簡単にAzure LogicAppsで文字の感情解析を試してみました。
文字解析もそうですが、Azure LogicAppsだけでもいろいろなサービスと連携できるので
自作で何か作ってみると面白いかもしれません。
是非試してください!

それでは、また。