Power Virtual Agents でのトピック作成のベスト プラクティス

コンテキストに合わせて管理および保守しやすいようにトピックを作成および整理します

Power Virtual Agents は、トピック の管理において非常に柔軟です。 多目的用途に適したものがない場合、トピックがどのようにトリガーされるかを考えると、以下を区別することをお勧めします。

  • ユーザーの発話と自然言語理解 (NLU) モデルに基づいてトリガーされるトピック。 これらはほとんどエントリ ポイントのトピックと見なすことができます 。
    複数のトピックが重複するトリガー フレーズがある場合、キャッチ オール トピック (または曖昧性解消トピック) を含めて、ロット充填と質問の明確化により他のトピックにリダイレクトすることをお勧めします。 エンティティ抽出により、明確な質問をスキップでき、ユーザーからの追加入力なしで会話が適切なトピックに直接流れるようになります。
  • リダイレクト アクションから呼び出されたときにトリガーされるトピック。 これらには会話ノードと論理ノードを含めることができ、複数のトピックによって呼び出すことができ、入力変数と出力変数を持つことができます。 これらは理想的には再利用可能な非常に小さいトピックです
  • トピックは、意図認識または明示的なリダイレクトによってトリガーすることもできます。

チップ

次の例では、トリガー フレーズが 2 つのメイン トピックに関連付けられており、それらのロジックがリダイレクト アクションで呼び出される複数のトピックに分割されます。

一部のトピックは、他の複数のトピックから呼び出すことができます。これは通常、会話の終了トピックの場合に当てはまります。

スロット充填とエンティティ抽出により、ユーザーが「クレジット カードのブロックを解除する必要があります」と言った場合、CardTypeOperationTypeCard がトリガー フレーズから推測されるため、Debit/CreditBlock/Unblock の両方の質問がスキップされます。 このように、ユーザーが追加入力を行わなくても、適切な Credit Card 子トピックが自動的に呼び出されます。

トリガー フレーズによってトリガーされるだけでなく、他のトピックによってもトリガーされる Power Virtual Agents トピックを示す図。

非常に小さいトピックを作成する

大きなトピックは、維持と更新が困難になる場合があります。 特にボットの会話ロジックの一部が複数のトピックで共有される可能性がある場合は、可能な限りチャットボット ロジックを分割することをお勧めします。 トピックは他のトピックにリダイレクトし、変数情報をやり取りできるため、すべてのトピックにトリガー フレーズがある必要はありません。

チップ

通常は、大きなトピックをいくつか作成するよりも、小さいトピックを数多く作成する方が管理しやすくなります。 このアプローチを採用すると、トリガー フレーズをそれらの領域に対処する特定のトピックに明確にマッピングできるため、トリガーをより効果的にすることもできます。

トピックの数は、会話型デザインの好みと決定によって決まります。 その結果、いくつかの大きなトピック (結合がある場合) か小さいトピック (分割がある場合) になります。

チップ

認識が複雑な意図 ("要求" や "問題" などの汎用的な語句など。さまざまな内容に当てはまるため。) の場合、トピックを分割すると、適切なトリガー フレーズを含むより適切なオプションにすることができます。

再利用可能なトピックを作成する

会話メッセージまたはロジック ノードが複数のトピックで共有される場合は、コンテンツを複製するのではなく、新しいトピックでグループ化することをお勧めします。 こうすることで、そのトピックに対して 1 回の更新すると、それにリダイレクトされるすべてのトピックに反映されます。

チップ

前後のノードが同じまたは類似している複数の Power Virtual Agents トピックから同じ Power Automate クラウド フローを呼び出す場合は、それらを専用のトピックでグループ化することをお勧めします。

トピックの重複を回避する

トピック間のあいまいさを監視して除去する

NLU を使用してトピックをトリガーする場合、重複の問題を解消することが重要です。 重複の問題は通常、多数の一致する複数のトピック トピック (「もしかして」とも呼ばれます) を通じて反映されます。

これらの問題は、異なるトピックのトリガー フレーズ間の意図の意味の重複を減らすことで回避できます。

チップ

トリガー フレーズでトリガーされたトピックの場合は、次のことを行う必要があります。

  • トピック全体でトリガー フレーズを比較し、あいまいなペアを削除します。
  • 異なるトピックのトリガー フレーズで同じ単語を使用しないようにしてください。

トピックの重複は、次のようにさまざまな方法で監視できます。

  • 「もしかして」トピックをトリガーするユーザーの発話を分析します。これは、重複があることを示す重要な指標であるためです
  • Power Virtual Agents にはトピックの重複の検出機能があり、ボット作成者は重複するトピックを検出して、それに応じて解決できます (トピック間のトリガー フレーズの削除/移動)。

曖昧性解消トピックを作成する

トリガー フレーズが近すぎるトピックが複数ある場合、曖昧性解消トピックを作成することでトピックの重複を回避することができます。

チップ

前の例を続行するには、"クレジット カードのブロックを解除する" や "デビット カードのブロックを解除する" などの確実性シナリオで対処するために (ユーザーは「カードのブロックを解除する」と言っても NLU モデルはトリガーするための特定のトピックとプロセスを認識しません)、汎用の Card 曖昧性解消トピックを呼び出して、CardType のエンティティ スロット充填を使用し、それに応じて適切なトピックを開始することができます。

エンティティを使用してトピックの数を減らす

バリエーションを変数に格納できる場合は、ロジックの重複を回避する必要があります。 たとえば、次のような同様のトピックを作成する代わりに:

  • ピザを注文する
  • ハンバーガーを注文する
  • ドリンクを注文する

以下を作成できます:

  • Order の 1 つのトピック
  • PizzasBurgersDrinks を値として持つ FoodType の 1 つのエンティティ。