Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@nanoka

Power Platform と COTOHA API でツイート履歴から年齢や、属性を推理するBotを作る(Power Virtual Agents編

COTOHA API は NTTコミュニケーションズ様が提供されているサービスで、様々なテキスト、音声分析機能があり、なんと開発者向けライセンスは無償で利用できる嬉しいサービスです。
今回はこれのbeta版の機能である、ユーザ属性推定を使って、自身のツイート履歴から、年齢や属性を推理させるBotを作ってみたいと思います。

出来上がりイメージ

qiita20210228.gif

仕組みとしては、
- Power Virtual Agents で、チャット形式でアカウント名の入力を依頼
- 入力されたアカウント名を Power Automate に渡し ツイート履歴の収集と COTOHA API の実行
- 取得できた結果を Power Virtual Agents で表示
としています。

今回は、以下の前回作成した Power Automate を呼び出す Power Virtual Agents の作成手順をまとめます。

前回の記事

手順

  1. Power Virtual Agents の Bot の作成
  2. トピックの作成
  3. キャンバスの作成
  4. その他の設定

1. Power Virtual Agents の Bot の作成

  • 以下の画面より、"新しいチャットボット"をクリックします。
    image.png

  • 作成する Bot の名前を入力します。
    image.png

これで器となる Bot そのものが作成できました。

2. トピックの作成

次にトピックを作成します。
トピックは、Bot とのやり取りを、テーマごとにひとかたまりにしたようなもので、そのやり取りを呼び出すテキスト(トリガーフレーズ)と、呼び出された後のやり取りのフロー(キャンバス)で構成されています。

  • メニューから"トピック"をクリックします。
    image.png

  • "新しいトピック"をクリックします。
    image.png

  • トピックの名前とトリガーフレーズを入力して、"キャンバスの作成に移動"をクリックします。
    image.png

3. キャンバスの作成

次にキャンバスを作成します。
今回作成するキャンバスの全体像は以下の通りです。今回は1つのトピックにまとめましたが、トピックを分割すると管理・変更しやすいです。

image.png
image.png
image.png

見た感じのまんま、箱が線でつながっていて、順番に下にたどっていく感じで実行されていきます。
線にポインタを乗せると、以下のような選択肢が表示されます。
image.png
これを選ぶことで、後から出てくる質問、メッセージ、条件や、Power Automate の実行(アクション)を設置することができます。

上から順に説明していきます。

  • トリガーフレーズ
    image.png
    トピック作成時に設定する、このキャンバスで作った処理を呼び出すテキストです。
    また、トリガーフレーズをなしで作成することで、他のトピックから呼び出されることでしか動作しない処理を作成することができます。

  • メッセージ(説明)
    image.png
    Bot にしゃべらせたいテキストを設定できます。
    ここでは、これから実行することを説明します。

  • 質問(アカウント名の収集)
    image.png
    Bot にしゃべらせたいテキストと、それ対する回答の仕方、回答の内容の格納する変数を設定します。
    今回は、アカウント名の入力を促すテキストを表示し、それに対してテキストで入力させ、アカウント名という変数に値を格納することにします。
    念のため Teams から動作させると考えたときに @ がよからぬ動作をしないようカタカナにしたり、入力させないようにしています。
    ※トピックを分けた場合、そのままでは変数を引き継いで使用するこができません。その場合、プロパティの"使用状況"を"ボット"にすることで、他トピックでも利用できるようになります。
    image.png

  • 条件(アカウント名が入力されたかどうか)
    image.png
    ここまでの変数の値を使って、処理の分岐を設定します。
    ここでは、直前の質問で入力された値がある場合のみ処理を進めます。
    (Enterを押されただけでは進めなくしています)

  • 質問(処理の実行前確認)
    image.png
    今度は、入力されたアカウント名を確認するテキストを表示し、それに対してはい/いいえ/やめたで入力させ、確認という変数に値を格納することにします。
    今度は、期待している返事が決まっているので、選択しやすいようにしています。

  • 条件(実行するかどうか)
    image.png
    "はい"以外の場合、処理をしないように設定します。

  • "やめた"ルート
    image.png
    image.png
    中断する旨のメッセージを表示し、終了とします。

  • "いいえ"ルート
    image.png
    入力値の再確認をする旨のメッセージを表示し、質問(アカウント名の収集)まで戻ります。
    ※小さい丸の部分をドラッグして、任意の箱にくっつけると好きなアクションまで戻ることができます。

  • "はい"ルート
    "はい"ルートでは、Power Automate の処理の実行と、処理結果の表示を設定します。

  • Power Automate の設定
    image.png
    ここでは動作させる Power Automate のフローと、それに渡す変数、結果を格納する変数を設定します。
    Power Automate は以下の通り、"アクションを呼び出す"から選択できますが、事前に作成したフローは選択できませんので、新しくフローを作成し、前回の記事で作成したフローの中身をコピーして完成となります。
    フローの作成をクリック
    image.png
    Power Automate の画面に遷移
    image.png
    前回の記事で作成したフローの中身をコピペ
    image.png
    トリガーには入力された変数の受け取りを設定
    image.png
    出力には、調査結果を設定
    image.png
    これで、フローを保存し、"アクションを呼び出す"から選択して完了です。

  • メッセージ(処理結果の表示)
    やっと結果が返ってきたので、あとは表示のみです。
    適当に表示してしまいましょう。
    image.png
    最後に終了を設置して保存し、キャンバスの作成は終わりです。

4. その他の設定

  • Bot のテスト
    ここまででできれば(できていなくも途中でも) テストができますので、試してみます。
    image.png
    ちゃんと動作していることが確認できます。

  • 不要なトピックをオフ
    しなくてもいいのですが、デフォルトでいくつかトリガーフレーズが設定されています。
    image.png
    それがうるさい場合は、オフにしちゃいます。
    ※ちなみに、キャンバスで終了の箱を設置した場合に動作しているのは、"会話の終了"トピックのようですので、そのあたりの編集も必要あれば行います。

  • 公開
    さて、準備が整ったら、メニューの"公開"から、Bot をアクティブ化できます。
    image.png
    ページの中ほどのデモWebサイトのリンクで動作確認ができたりします。
    image.png

  • Teamsへの公開
    アクティブ化した Bot は Teams に公開することができます。
    メニューの"チャネル"から、Teams を選択します。
    image.png
    "リンクのコピー"を選択し、Teams で開けば、自分だけでまずテストを行うことができます。
    また。"管理者の承認のために送信する"を行った場合は、Teams の管理センターから承認することができます。
    image.png
    image.png
    承認すると、アプリから選択ができます。
    image.png

まとめ

以上で、Power Virtual Agents での Bot の作成ができました。
画像ぺちゃぺちゃ張ってたら長くなってしまいましたが、Bot の作成自体はすごく簡単ですし、Power Automate との連携するといろんな業務に応用が利くと思います。皆様もぜひやってみてください!

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
nanoka
Microsoft 365 というオンラインゲームのプレイヤーです。微課金勢。 未熟ですが Power Platform とかフロントエンドのお仕事したくて月の半分くらい予定空けています。ご依頼あれば、Twitter か 会社のお問合せからご連絡ください。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?