Azure Text Analytics と PowerApps を使って感情分析アプリを作成する


今回は最近 Microsoft が力を入れている Power Platform のひとつ PowerApps をいじってみたいと思います。ただいじるだけではつまらないので、今回は Cognitive Services の Text Analytics と連携させてみたいと思います。

Text Analytics リソースをデプロイする

Azure Portal から Text Analytics を Create します。New / Marketplace にて Text と検索すると出てきます。

任意の名前、リソースグループ名を入れてデプロイします。デプロイすると Key と Endpoint が生成されますので、それをメモに残しておきます。Cognitive Services は Key を生成するだけなので、デプロイの時間は 10秒ほどです。

テキストの感情分析をするアプリを PowerApp で作成する

今回はノンコーディングで Text Analytics が使用できるのか試してみます。PowerApp を使って、モバイルアプリを生成し、その中でテキストから感情を抽出するアプリを作成してみましょう。

PowerApps で空のアプリ作成から、モバイルを選択します。

モバイルアプリで作成することは以下3点です。
①Text Analytics が使用できるように先ほどメモしたKey から紐付ける
②Canvas に InputText / ボタン / Label を作成する
③Text が入力されボタンが押されたら Text Analytics API を呼び出し その結果を Label に表示するようにします。

上記3つはPowerApps に慣れているひとなら簡単にできると思います。
特に肝となる部分は、ボタンから Text Analytics を呼び出す部分です。そこには以下のような関数を使いました。

ClearCollect( sentimentCollect, 
        TextAnalytics.DetectSentiment(
            {
                language: "en", 
                text: tiTextToAnalyze.Text
            }
        ).score
    )

ボタンが選択されたときに感情のAPI を呼び出すといった処理です。
上記3つを実施するだけで、簡単に感情分析アプリが完成しました。

以下は、AZ-900 の英語版の試験対策問題集の口コミです。(星5つの評価)
「This book covered everything you need to know, theory-wise. I still bought other online items for practice tests, but would definitely recommend this book」

これはネガティブな感じで書かれていた口コミです。(星1つの評価)
「1 chapter in and NONE of the steps in azure they list exist anymore, 100% useless data. Trying to see if I can get a refund.」

口コミを AI にくわせ感情スコアを仕分けしてくれるアプリが簡単に実装できそうですね!
もっとカスタマイズしたいギークには物足りなさはありましたが、まず動くものを作成しみてる、という観点だと色々使い道がありそうです。

参考URL

Use Cognitive Services in PowerApps
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/cognitive-services-api