Power Virtual Agents で、入力された文章の感情を分析するBotをノーコードで作成する！

Power Virtual Agents はノーコードでBotを作ることができるサービスです。
また、先日のアップデートで、Teams内に限り、無償で利用することができるようになりました！

Power Virtual Agents は Power Automate とも連携できます。

というわけで、早速 Power Virtual Agents で Bot を作っていきましょう。

# Power Virtual Agents を作ってみる
Microsoft Teams のメニューから、Power Virtual Agents を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/3ae31290-7130-ec04-31cd-9b0c6c2ffd82.png)

今すぐ始めるをクリックします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/72270865-70e1-4056-28b9-8f364d1aec5d.png)

Botを作成する先のチームを選択します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/d8a9bdc8-b884-83cd-0065-373aa752b8f4.png)


ボット名を指定して作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/fe25664a-b970-2ad8-a556-fd187187363a.png)

しばらく待ちます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/7d596ff2-4f13-71c2-efb5-4b5fef9c29aa.png)

作成が完了するとこのような表示になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/af61163a-33da-de17-819e-390e76729bc2.png)

トピックに移動し、新しいトピックを作成します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/ac369bb5-2efd-2e35-6db1-8c345a5422ea.png)

名前と、コールするトリガーフレーズを指定し、キャンパスの作成に移動する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/b8f855ec-8827-c4d9-9136-0a92f899ef8b.png)

ここで、ノーコードでBotの流れを定義することができます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/808ceea6-72f7-7675-ae15-e23676599153.png)

とりあえずここまで指定し、保存しておきます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/d3cef079-7956-c431-bf18-1d60aa623ac1.png)

# 感情分析のフローを作成する

アクションを呼び出すを指定します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/ccb3527a-6011-f41a-d38d-353da6596a19.png)

フローの作成をクリックします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/15bed385-ef9a-6e90-678a-0f72a7ca9c5a.png)

Power Virtual Agents Flow Template を指定します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/d789188f-6be8-2f19-1b87-57ee7ecf3819.png)

入力の追加でテキストを追加します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/6646b8dc-610e-f106-f119-eca2eb4111f2.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/3b5f7af0-c958-26e2-e67c-7d7373724754.png)

アクションを追加します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/86caf5e6-0176-bf5e-07e2-43f225983750.png)

テキスト分析から感情の検出(v2)をクリックします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/76edea96-7f3c-a2ae-bb0a-7b15f6ab9a4f.png)

感情の検出にて、Power Virtual Agents トリガーの入力をdocuments テキストに指定し、言語をjaに設定します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/043165b6-6e18-f357-c873-cb0f334b0497.png)

documents ID に以下の式を指定します。

```
guid()
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/44dd5928-e2b5-3af7-1e86-d123baeda3ec.png)

数値の書式設定の番号にて、以下の式を指定します。

```
mul(first(outputs('感情の検出_(V2)')?['body/documents'])?['score'],100)
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/53afac99-04df-5122-973d-2bf679fbfe50.png)


出力の追加でテキストを追加します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/a0cf46ad-f0fb-6125-d8f6-f11936472a91.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/3b31f404-2a27-fcf1-f099-26f2c001eee2.png)

テキストはrtn という名称にし、値に、書式設定された数値を指定します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/9cd44aa5-7a16-89be-097d-7dea959e129d.png)

名前を付けて保存します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/41a836dc-1dfc-a4c2-df3e-7946b18e8636.png)

# アクションを組み込む

アクションを呼び出すを指定します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/3ea4935b-8329-1e54-477b-51cc16d7e5b8.png)

先ほど作成したフローを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/8cdae944-42c2-af59-d171-7bc1c01adfb2.png)

フローの入力に割り当てる変数を設定します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/8a9bc675-c34c-4fbe-060b-a0cd5fc064b1.png)

メッセージを表示するを指定します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/d944f31c-7f9b-89df-d81a-3994044cb888.png)

メッセージの内容を以下のようにします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/35462593-9dac-bf40-f8ca-ba86cad12f6d.png)

変数は、以下のように変数アイコンをクリックすると挿入することができます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/c292dc58-a8cd-2f77-648a-f1617c7ad6cf.png)

調査を終了するを選択し、トピックを終了します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/04ec7403-0630-61af-bedc-8f6bd8c4944e.png)

# テストをしてみよう！

実際にテストをしてみて、問題なく動作するか確かめてみましょう！
こんな感じになれば正解です！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/b0fecd38-37ea-c39b-508d-bf92ec67dab6.png)

# Teams に公開

トピック画面までに戻ると公開ボタンがあるので、そちらをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/0e83335d-af52-dda1-a61d-205c27e9f605.png)

公開を押します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/ffb1fb6a-4179-c245-dcdd-ac991ab86ee3.png)

作成したボットをTeams上で使用することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/f966e0f9-d3bc-ac65-7510-83da9a643503.png)

# まとめ

いかがでしたか？
感情分析を行うBotを、まったくコーディングすることなく簡単に作ることができるようになりました！
このBotはただ数字を表示しているだけですが、数字を元に分岐をさせて、表現をより人間らしくすることも簡単にできます！
ぜひ、みなさんも Power Virtual Agents と Cognitive Services を活用して、素晴らしいボットを作ってみてはいかがでしょうか＼( 'ω')／