Power Platformのサービスの一つ、Power Virtual AgentsをMicrosoftのLearnサイトを見ながらいじってみたので覚書としてまとめます。
まだ触っている途中なのでこの先も何回か更新するかと思います。
学習にあたってはLearnサイトの他にこちらの記事にもお世話になりました。
0⃣Power Virtual Agentsの起動について
Officeアプリ一覧に存在していないらしく、Power AppsやPower Automateのように直接起動できません。
Power Appsのメニュー画面から[チャットボット]タブを選択して新しく作成するか、既存のチャットボット([チャットボット]タブの[リスト]タブの一覧から選択可能。)を起動することでPower Virtual Agentsを開くことができます。
1⃣トピックについて
トピックは主に2種類あり、ボット作成時にデフォルトで作成され状態が「常にオン」(作成者がオフにすることもできない)システムトピックと、作成者によって作成されその有効/無効の状態も作成者によって編集されるユーザートピックがあります。
システムトピックもユーザートピックも開発者によってどのような会話をボットに展開させるか編集することができますが、そのトピックの起点となるトリガーフレーズについてはシステムトピックの場合、編集することができません。
フォールバックトピックについて
上記の他に特殊なトピックとしてフォールバックトピックというものがあります。
フォールバックトピックはユーザーの入力から該当するトピックをボットが見つけられなかった場合や、ユーザーの入力をボットが理解できなかった場合にボットがどのように応答するかを決めたトピックです。(現時点での私の解釈なので誤りや不足あればご指摘ください。)
-
フォールバックとは?
- エスカレーションとは?
フォールバックトピックの追加の仕方
フォールバックトピックの内容を編集するには以下のように行います。
- そのボットの設定を開き、【システムのフォールバック】をクリック。
- 以下のダイアログが表示されるので【+追加】をクリックして完了です。
- 実際にボットがユーザーの操作に対応できなかった場合どのような処理を行うのか編集するには以下のボタンをクリックして編集します。
コピーしたトピックについて
コピーしたトピックはデフォルトでは無効になっています。使用するには有効状態になっているかどうかを確認する必要があります。
またトピックの中のコメントや質問などの会話のコピペはPower AppsのコントロールやPower Automateのアクションなどの他のPower Platformのサービスのように行うことはできないようです。(似たような質問を繰り返すときなどは面倒くさそうです。)
2⃣アクションを使用して認証を行ったりPower Automateのフローを呼び出す
「アクションを呼び出す」でボットとの会話中に認証やPower Automateフローを起動することができます。また、チャットボットは現在のところMicrosoft Power Apps または Power Automate の同じ環境で表示されるテーブルに直接アクセスできないので、アクセスしたい場合はPower Automateフローで呼び出す必要があるようです。
私はまだこの辺について詳しく触っていないので備忘録替わりに参考URLをリスト化しておきます。
1.認証について
2.Power Auotomate フローの呼び出しについて
3⃣エンティティとは
Power Virtual AgentsのエンティティはDataverseのエンティティ(データベースのテーブル)とは使用イメージが異なるので注意が必要です。
Power Virtual Agentsのボットが持つエンティティは、基本的にはユーザーの入力に表記揺れがあってもボットが理解できるようにするための機能です。
エンティティには2つの種類があり、closedListというものとRegixPatternというものがあります。closedListは比較的直感的に操作しやすいですが、RegixPatternの方は学習が必要そうです。
カスタムエンティティとその使い方について
ボット作成時、ボットは予め【事前構築済のエンティティ】を持ちますが、作成者が独自にカスタムエンティティを作成することもできます。(例:商品名についての表記揺れを吸収するエンティティなど。)
エンティティは基本的にはユーザーの入力の表記揺れを吸収するためのものですが、画像のようにカスタムエンティティで追加した値をトピック内の質問の選択肢で表示させることができます。
この場合は質問ノードで「特定」で任意のエンティティを追加した上で、「ユーザーのオプション」ボタンで使用できる選択肢を編集してやる必要があります。
4⃣変数について
変数が使用できる範囲について
変数はいわゆるローカル変数のTopic変数(そのトピック内のみでしか利用できない)と、いわゆるグローバル変数としてのBot変数(複数のトピックを跨いで利用することが可能)のいずれかの種類で利用します。
ある変数の値について、他のボットでも使用したい場合、「変数のプロパティ」ウィンドウの[使用状況]を変更する必要があります。
デバッグについて
ボットのテストを行うと変数に入っている値を確認することができます。
注意点
また「変数」を使用する機能自体がまだプレリリースのようですので、Virtual Agentで変数を使用してユーザーからの応答をその後の会話に利用することができる…はずなのですが、応答がうまくいかないことが多いです。(日本語対応しきれてない感じもします。)
例)
「××社員」と入力したのに何故か「××従業員」に変換される。(会話自体が失敗することもあります。)
5⃣エクスポートするには
ボット/トピックを別の環境にエクスポート/インポートさせるには本記事執筆時点(2021/12月上旬現在)ではソリューションを利用してチャットボット全体を移行するしか方法が無いようです。
6⃣公開するには
作成したボットを他のユーザーに利用してもらうにはPower Apps やPower Automateなどと同様に、共有するユーザーを追加し、「公開」操作を行う必要があります。
共有するユーザーを追加するには[管理]タブ下の[セキュリティ]タブから「共有」メニューを選択し、ユーザー追加画面で行います。
ボットをTeamsやLINEで利用してもらう
作成したボットをTeamsやLINE、WEBページで利用してもらうことも可能です。
利用できるチャネルの設定の仕方
[管理]タブ下の[チャネル]タブから追加したいチャネルを選択します。公開するチャネルをTeamsにした場合、[Teamsを有効にする]をクリックして接続を行う必要があります。
Teamsの場合、ユーザーはTeamsのチャットでボットと会話することができます。
この場合ボットを利用するのにTeams用のPower Virtual Agentsアプリをインストールする必要はありませが、ユーザーはTeamsアプリにボットそのものをアプリとしてインストールしなければなりません。
7⃣環境のアクセス権について
環境に追加されるユーザーのセキュリティロールにはボットの作成のみを許可する権利もあります。
その他参考リンク