Power Virtual Agentsを利用してみた!

弊社ブログをご愛読の皆様、お疲れ様です。MS開発部の種田です。
今回は、Microsoft Ignite 2019の目玉の一つ?でもあるPower Virtual Agentsを触ってみようかと思います。

と、その前に弊社のTwitterができておりました!
ブログ更新などがあった際はこちらのTwitterにも投稿されますので、是非ご興味ございましたら、フォローいただけますと幸いです!!!

Power Virtual Agentsですが、項目や回答を定義するだけで、簡単にチャットボットを作成できるサービスとなります。
つまりはキーワードとその回答を設定しておくだけで、入力内容から関連性のある回答を導きだして、返信してくれるチャット機能を提供してくれます。
しかも設定した文字を返信するだけではなく、Power Automate(Flow)を利用し別のサービス(MS製品など)と連携もできる優れもののチャットボットも作る事ができます。

ただ便利な機能の反面、利用するにはOffice365とは別のライセンスを購入する必要があり、その値段は2000セッションで$1,000と中々お高い価格設定となっております。
※60日の試用期間もあるので、今回はこちらで試してみます。

早速、試してみた

それではPower Virtual Agentsにアクセスし、チャットボットを作成してみます。

基本的にHomeのGet startedに手順が記載されているので、これに従っていけば簡単にボットを作成することができます。
それではGet startedに記載の通り、Topicsにアクセスしてみます。

開発者用に予めLesson 1 ~ Lesson 4までトピックが追加されていました。
きっと技術者じゃない人でもボットを作成していただく為に、Microsoftさんが学習用のトピックを用意してくれているんですかね (笑)
そんなご厚意に甘えてLesson 1 – A simple topicのTrigger phrasesをチャットに打ち込んでみます。

フレーズが4つ設定されているようですので、今回は一番上の”When are you closed”を入力してみます。

各店舗の営業時間的なのが返ってきました。

ここで”closed”や”are you closed”と打ち込んでも同じ返事が返ってきます。
この入力内容から最適なトピックを導き出し、(存在すれば)返事をしてくれるのが、このサービスの1つのポイントではないでしょうか。

1から同じようなボットを作るときは、入力内容を分解、トピック一覧から検索、ヒットしたものを返すといった処理を作る必要もありますし、それに伴うDBやらなんやらで、非常にハードルが高いイメージなのでかなり取っつき易いです。

トピックを追加してみる


画面の上部にあるNew topicを選択することでトピックを追加することができます。
※ちなみにSuggest topicsは既存コンテンツ(httpsから始まるページ)からトピックを取り込む事ができるようです。なので試しにSharePointにFAQリスト(質問と回答の2列)を作って、Suggest topicsから取り込もうとしたけどエラーが表示されてできませんでした。恐らく全体的に公開されているHTMLページにテーブルなどでFAQなどを掲載している場合は、このボタンから取り込めるのかなと思います。

トピックの追加画面ですが、至ってシンプルです。
・Name = トピック名
・Description = トピックの説明
・Triger phrases = 入力されるフレーズ集
上記の要領で、適当な値を入力してみます。

次に右側のGo to authoring canvasを押してトリガーされた際の動作を作成してみます。

なんか既視感(Flowっぽい)のあるページに遷移しました。
とりあえず、Messageに文字を入力してみます。

右上の保存を選択し、テスト用のチャットで試してみます。

上記で設定したフレーズ「会社の歴史」を入力します。

想定通りですがMessageに入力した内容が返ってきました。
上の手順でトピックとフレーズを充実させれば、それだけでも簡単なチャットボットはできてしまいそうです。(トピック数の上限は1000件ですが)
もう一度キャンバス(Flowっぽい画面)に戻って処理を追加してみます。

一番下の⊕を選択すると追加したい処理の種類が選べます。

・Ask a question = チャットの送信者に質問をする
・Call an action = Power Automate(Flow)で定義したフローを呼び出す
・Show a message = メッセージを送信する
・Go to another topic = 別に定義したトピックの処理を実施する
・End the conversation = 終了処理として、満足度アンケートなどが行える
上記の要領で処理を追加することができます。

それではAsk a questionを利用して、どの歴史を知りたいかを確認し、その歴史を返答するように変更してみます。

まずはAsk a questionで「どの歴史が知りたいですか?」という文字を表示し、併せて4つの選択肢を表示させます。
その選択肢で選択された内容を元に4通りのメッセージを表示させるフローになりました。

それでは早速試してみます。

「会社の歴史」と入力すると、Ask a questionで設定した質問文と選択肢が表示されましたので、「会社設立」を選択してみます。

上記で設定した通り、設立記念日が表示されました。
このように対話をして目的の情報をユーザーに送信する、いかにもボットぽい動作も簡単に作成できてしまいました。

Power Automateを利用して別サービスと連携

ついでにPower Automateを利用して、簡単にエスカレーションっぽい動作をしてくれるボットを作成してみました。
まずは「申請」と入力

「その他」を選択

担当者への問い合わせ有無を聞かれるので「はい」を選択

名前を聞かれるので、名前を入力

連絡先を聞かれるので、連絡先も入力

問い合わせ内容を入力すると、Power Automateで設定したフローがトリガーされ、SharePointにデータを登録します。(フローに入力内容の値を渡す)


最後にリストに登録したアイテムのID(フローから値を貰う)を発券番号として返答し、終了です。
実際に利用されるような流れで試してみたかったのですが、まあこんな使い方はしないか・・!笑

ちなみにPower AutomateのフローをPower Virtual Agentsで利用するためには、作成したフローをソリューションに追加する必要があります。
その際、SharePointのコネクタを利用したフローは追加できないのですが、一度ソリューションに追加してからSharePointのコネクタを利用する分には問題なく使えてしまいました。(Microsoftさんがこれを意図しているのかどうかは不明ですが・・・)

最後に

恐らくPower AutomateのUI Flowと同様に日本語には対応しきっていない感じ(日本語のフレーズを含むトピックを複数用意すると何もトリガーされなくなったり・・)ではありましたが、直感的な操作で簡単にボットが作れるのであれば今後のニーズに期待がもてそうです。

余談ですがPower Virtual AgentsやPower Automateなど言い間違いが増えそう・・
(この記事を掲載している最中にもどっちがどっちか一瞬わからなくなりました)

いかがでしたでしょうか。ここまでお読みいただき誠に有難うございます。
弊社の業務内容などにご興味のある方は、お気軽にお問い合わせください
(お問い合わせはこちらのページをご確認の上、メールアドレス「info@deepcom.co.jp」までご連絡ください。)

以上、最後までご愛読いただきありがとうございました。

コメントは利用できません。