ボット トピックを操作する

完了

Microsoft Copilot Studio では、トピックは、コパイロットとの対話中に顧客が誘導されるパスを表します。 使用されるトピックと、個々のトピックに記載されているパスは、会話パネルに顧客が入力したデータに応じて適用されます。 トピックは、会話のフローを決定する主要な要素です。 天気について顧客から質問があった場合、コパイロットは天気のトピックを起動できます。 正しい天気予報を提供するために、コパイロットは、どの市区町村に住んでいるかなど、トピックで定義された質問を問い合わせることができます。 コパイロットはこの情報を保持しており、予測の詳細を取得するために気象サービスにその情報が送信されます。 予測は、関連する顧客情報を含むパーソナライズされたメッセージで顧客に返されます。

Power Virtual Agent のトピックは、次の 2 つの主要な要素で構成されます。

  • トリガー フレーズ: 顧客が入力する、特定の問題に関連する語句、キーワード、または質問。

  • 会話ノード: コパイロットがどのように応答し、何を実行するかを定義します。

顧客が情報を入力すると、コパイロットの人工知能は自然言語理解を使用して、顧客が入力した内容を解析し、最も適切なトリガー フレーズまたはノードを見つけます。 顧客が「欠陥製品を返品する必要があります」とコパイロットに入力した場合、「返品」や「欠陥製品」などのテキストの一部について照合を行い、それらの項目をトリガー フレーズとして含むトピックを返すことができます。

入力された情報が読み込まれると、トピックのさまざまな 会話ノードを使用して、顧客が会話中に誘導されるパスの制御と定義が行われます。 表示されるメッセージでは、詳細情報や指示を提供できます。 返品する製品のタイプを特定するために、質問をすることができます。 アクションを使用すると、顧客は、返品を容易にするために送信されるカスタムの返品ラベルを作成することができます。

トピック トリガーを操作する

トピックで最初に定義する必要があるものは、トピックをトリガーするためにコパイロットによって検索される語句です。 トリガー フレーズは、フレーズの横の編集を選択して追加します。 1 つのトピックに対して複数のトリガー フレーズを定義できます。 まず、5 から 10 個のトリガー フレーズを用意して開始することをお勧めしますが、必要な数だけ追加することもできます。 トリガー フレーズでは句読点を使用できます。 ただし、長い文の代わりに短い語句を使用することをお勧めします。 顧客が要求をどのように表現するかを考えてみてください。 トピックを使用して店舗の営業時間を通知する場合、トリガーは営業開始、営業終了、時間帯、日付などに関連する必要があります。「営業時間について教えてください」、「営業開始は何時ですか」、「店舗の営業時間」、「営業時間」などを最初に使用する語句としてお勧めします。 将来的に他のトリガー フレーズが必要になった場合は、さらにトリガー フレーズを追加できます。

「トリガー フレーズ」ペインのスクリーンショット。テキストを入力する「フレーズの追加」ボックスが表示されている。

トリガー フレーズは、できるだけ個々のトピックに固有のものとなるように作成してください。 こうすることで、顧客が必要な情報を入力したときに、コパイロットが正しいトピックを起動する可能性が非常に高くなります。 たとえば、コパイロットに 2 つのトピックが含まれている場合を考えてみましょう。 1 つは「製品の返品」、もう 1 つは「製品のリコール」とします。各トピックに同じような文言があるとは珍しいことではありません。 両方に「欠陥製品」をフレーズとして追加すると、どのトピックを読み込むかがアプリケーションによってわからなくなる可能性があります。

この問題に対処する 1 つの方法として、「製品の返品」トピックに「欠陥製品を返品」、また「製品のリコール」トピックに「リコールされた製品を返品」を使用するなど、より具体的なトリガー フレーズをトピックに追加する方法があります。

また、返品とリコールの両方に使用されるトピックを 1 つだけ作成するという方法もあります。 コパイロットによってトピックが開始されると、追加情報が収集され、その情報を使用して顧客が返品/リコールのパスに誘導されます。 コパイロットに個別のトピックが多数含まれているシナリオでは、こうした方法がますます重要になります。 1 つのコパイロットが保持できるトピックの最大数は 1000 個であることに注意してください。 プロセスの早い段階で簡単な計画を立てることで、将来発生する不満点を回避することができます。

会話ノードを使用して、トピックの会話パスを設計する

トピックがトリガーされる方法を定義したら、顧客がトピックと対話する際のトピックのフローを設計する必要があります。 このフローは、会話パスと呼ばれます。 トピックの会話パスで、顧客との対話方法を定義し、顧客入力に基づいてどのような処理を実行するかを定義します。 トピックの会話パスを編集するには、トリガー フレーズのウィンドウを閉じます。 [トリガー フレーズ] ノードを選択することで、いつでもトリガー フレーズのウィンドウに戻ることができます。

新しいトピックが作成されると、そこにトリガー フレーズ ノードが含められます。 他のノードを追加するには、行のプラス アイコン (+) を選択するか、ノードの間またはノードの後で分岐します。

ノードの追加のスクリーンショット。

会話ノードの使用

会話ノードは、トピックの会話パスに挿入できる顧客との対話またはアクションを表します。 これらのノードは、顧客に対するメッセージの表示、追加情報の要求、自動化のトリガー、ライブ チャット オペレーターへのエスカレーションのトリガーに使用されます。

いくつかのノード タイプが用意されています。

  • メッセージを送信する: 顧客にメッセージを表示します。 メッセージには、基本的な書式設定と番号付けを含めることができます。

  • 質問する: コパイロットが顧客から情報を取得できるようにします。 取得した情報を使用して、会話のフローに影響を与えることができます。また、コパイロットの他の部分で変数として使用することもできます。

  • アダプティブ カードで質問する: コンテンツのスニペットを Microsoft Copilot Studio ボットに追加できます。このボットも他のクラウド アプリおよびサービスと公式に交換できます。

  • 条件の追加: トピック フローに条件を追加できます。 このノードは、条件が満たされているかどうかに基づいて特定のパスをユーザーをナビゲートするために使用できます。

  • 変数管理: 変数値の設定や削除など、変数に対してさまざまなアクションを実行できます。

  • トピック管理: ユーザーにコパイロットの別のトピックを指示します。 たとえば、顧客が店舗の営業時間に関して質問した場合に、顧客をその店舗の休業に関する特定のトピックに移動させることができます。

  • アクションを呼び出す: Power Automate フローを呼び出して、外部システムや領域との対話を支援します。 たとえば、顧客の所在地の詳細を MSN 天気コネクタに渡して、顧客の地域の天気予報を取得します。

  • 詳細: 会話を終了し、アンケートを表示したり、ライブ チャット オペレーターに引き継いだりすることができます。

選択したノードのタイプによっては、定義できるオプションが異なる場合があります。

question ノードを操作する

question ノードは、多くの場合、会話パスで使用されます。 顧客からの追加情報を取得する際に役立ちます。 質問から取得した情報を保存して、コパイロットの他の部分や自動化で使用することができます。 質問ノードは、顧客が誘導されるパスに影響する場合もあります。 たとえば、question ノードを使用して、顧客が住んでいる市区町村を取得できます。 また、question ノードを使用して、市町村の一覧など、選択可能な複数の選択肢オプションが含まれる一覧を顧客に提供することもできます。

各 question ノードには 3 つのベース フィールドがあります。

  • 質問する: 顧客に対して表示する質問テキスト。

  • 特定: コパイロットが顧客のどのような応答をリッスンするかを定義します。 たとえば、複数選択式オプション、数字、特定の文字列などがあります。

  • 応答に名前を付けて保存: 質問から取得したデータを後で変数として使用するための、データの保存方法を定義します。

特定フィールドには定義済みのオプションが複数あり、そこから選択することができます。 これらのオプションによって、コパイロットとの対話が容易になるだけでなく、コパイロットが顧客の応答から正しい情報を簡単に抽出することが可能になります。

こうした処理を実行する方法の 1 つに、エンティティと呼ばれる方法があります。 エンティティは、電話番号、郵便番号、市区町村、個人名など、現実世界における特定のタイプの項目を表す情報の単位として捉えることができます。 たとえば、特定フィールドを [市区町村] に設定すると、顧客の応答に基づいて市区町村の情報だけが抽出されます。 顧客が「I live in Seattle」などと入力した場合、Seattle が市区町村であると把握されます。 「I love NYC」と入力した場合、NYC が New York City の略語であると把握され、NYC の応答が格納されます。 次の例のように、メール、日付と時刻、個人名、電話番号など、いくつかのオプションがあります。

「特定する情報の選択」を表示する複数選択オプションのスクリーンショット。ブール値、市区町村、色、大陸などのオプションが表示されている。

特定フィールドで選択したオプションによっては、他のフィールド オプションが表示される場合があります。このような場合には、項目についてさらに詳細な情報を指定できます。 たとえば、特定フィールドを [複数選択式オプション] に設定すると、[ユーザーのオプション] が表示され、ユーザーに対して表示するオプションを定義できます。 各オプションは、[会話] ウィンドウで複数選択ボタンとして表示されます。

「特定」フィールドのスクリーンショット。都道府県、市町村、日付、カスタム データなど、さまざまなタイプのデータがオプションとして表示されている。

question ノードのもう 1 つの利点は、個別の会話パスを顧客の応答に基づいて使用できることです。 次のユニットでは、分岐について説明します。 分岐を使用すると、各ユーザーの応答に対して適切な解決策を導くことができます。

質問動作の構成

質問作成時のもう 1 つの側面は、質問動作プロパティの定義です。 これらのプロパティを使用すると、質問ノードのさまざまな側面 (ボットが無効な応答を扱う方法や、コパイロットがユーザー入力を検証する方法など) を細かく制御できます。 たとえば、予約の質問を作成する際に、予約を要求できるユーザー数を制限できます。 質問動作では、その数を定義し、その数を超過した場合の動作を指定できます。

質問動作プロパティには、質問ノードから直接アクセスします。

質問動作プロパティ ペインのスクリーンショット。

Microsoft Copilot Studio の [質問動作] ペインのスクリーンショット。

質問プロパティを扱う際、以下の複数の項目を定義することができます。

  • 動作をスキップ: 質問ノードに関連付けられた変数に、会話の前の部分で得られた値 (前の質問でキャプチャされた値など) が既に存在する場合の、コパイロットの動作を定義します。 次の 2 つのオプションから選択できます。

    • 質問のスキップを許可: 返信に値がある場合は質問をスキップします。

    • 毎回質問する: 返信に値がある場合でも質問します。

  • 再プロンプト: ユーザーから有効な回答が得られなかった場合のコパイロットの反応を定義します。 もう 1 回やり直す、2 回やり直す、または回答なしで次に進むよう指示できます。 また、カスタム メッセージを作成することもできます。

  • 追加のエンティティ検証: 基本的なテストに基準を追加できます。 たとえば、数を受け入れる質問ノードがある場合、10 未満であることを確認する、などです。 プロンプトを変更して、ユーザーが有効な応答を入力できるよう支援することもできます。 ブール値 (true または false) を返す Power Fx 式を定義できます (Topic.Var1 < 10 など)

  • 有効なエンティティが見つかりません: コパイロットがユーザーからの有効な応答の受け取りをやめた場合の動作を定義します。 人間のエージェントにエスカレートしたり、現在のところは既定値を指定したりすることができます。 プロンプトを変更してユーザーに知らせることもできます。

  • 割り込み: 質問時にユーザーが別のトピックに切り替えることができるかどうかを定義します。

show a message ノードを使用してメッセージを表示する

message ノードは、詳細または情報を顧客に提供するときに常に使用されます。 メッセージは通常シンプルなテキスト メッセージですが、必要に応じて画像、ビデオ、リンク、クイック返信、カードなどの、よりリッチなコンポーネントを含めることもできます。

書式設定コマンド バーが強調表示された message ノードのスクリーンショット。

メッセージのバリエーションの使用

より多くの会話エクスペリエンスをユーザーに提供するため、さまざまなメッセージ バリエーションを指定できます。 たとえば、バリエーション「わかりました。 お手伝いいたします」と「喜んでお手伝いいたします」を追加できます。 メッセージのバリエーションを追加すると、ノードがトリガーされたびにコパイロットが使用するバリエーションを 1 つランダムに選択します。

[追加] ボタンが強調表示された、3 つの変数を含むメッセージのスクリーンショット。

画像の追加

画像とビデオは、より高度で役に立つエクスペリエンスを作成するための優れた方法です。 たとえば、トラブルシューティングを支援するコパイロットを作成する場合、画像を使用してトラブルシューティング対象のアイテムの写真を表示したり、役に立つビデオにリンクしたりすることができます。

画像を定義する場合、以下の情報を指定する必要があります。

  • 画像フィールドで画像の URL を指定します。

  • 画像のタイトルを指定します。

画像カードを含むメッセージ ノードのスクリーンショット。

画像を定義する場合、以下の情報を定義する必要があります。

  • タイトル: ビデオのタイトルを指定します。

  • サブタイトル: ビデオの内容に関するコンテキストを提供します。

  • 画像: ビデオのサムネイルとして使用できる、一般アクセス可能な画像ファイルの URL を指定します。

  • メディア: ビデオの URL を指定します。 URL は、一般アクセス可能な MP4 ファイルの直接リンクまたは YouTube URL のいずれかです。

  • テキスト: ビデオに関連付ける他のテキストを入力できます。

  • ボタン: コントロールを操作するためのボタンを追加できます。

ビデオ カードを含むメッセージ ノードのスクリーンショット。

基本カードの追加

基本カードは、テキスト、画像、インタラクティブな要素をコパイロット応答に追加するために使用できる汎用カードです。

基本カードを追加する際、以下の値を定義できます。

  • タイトル: ビデオのタイトルを指定します。

  • サブタイトル: ビデオの内容に関するコンテキストを提供します。

  • 画像: カードのサムネイルとして使用できる、一般アクセス可能な画像ファイルの URL を指定します。

  • テキスト: カードに関連付ける他のテキストを入力できます。

  • ボタン: コントロールを操作するためのボタンを追加できます。

基本カードを含むメッセージ ノードのスクリーンショット。

アダプティブ カードの追加

表示される詳細が静的な基本カードとは異なり、アダプティブ カードは、必要に応じてカスタマイズできるプラットフォームに依存しないカードです。 特定のアプリに配信されると、JSON はその周囲に適応するネイティブ UI に自動的に変換されます。 たとえば、予報がより詳細に表示されるグラフィックやアニメーションを含む天気カードを作成できます。

カードは、アダプティブ カード デザイナーを使用して設計するか、JSON を直接作成することができます。 アダプティブ カード デザイナーの使用について詳しくは、アダプティブ カード デザイナーをご覧ください。

アダプティブ カードを作成する場合、JSON の編集にカードの JSON を入力します。 より大きなスペースが必要な場合、展開アイコンを選択して JSON エディターの大きいビューを開くことができます。

展開アイコンが強調表示された、アダプティブ カード付きのメッセージ ノードのスクリーンショット。

アダプティブ カードの使用方法について詳しくは、アダプティブ カードを追加するをご覧ください。

同じノードで複数のカードを表示する

場合によっては、同じノードに複数のカードを表示する必要があるシナリオが生じることがあります。 たとえば、ユーザーに表示する必要がある画像が複数存在する場合があります。 1 つのノードに複数のカードを追加する場合、データを表示するための 2 つの異なる表示オプションから選択することができます。

  • カルーセル: 一度に 1 つのカードを表示します。ユーザーはカードを順番に切り替えることができます。

  • リスト: すべてのカードを縦のリストで表示します。

カースセル ビューとリスト ビューの画像カードのスクリーンショット。

クイック返信の使用

コパイロットを設計する場合、エクスペリエンスをできる限り単純にすることも重要ですが、 コパイロットがユーザーの活動を容易に識別し、適切なアクションを実行できるようにすることも重要です。 Microsoft Copilot Studio でこれを行う 1 つの方法として、クイック返信があります。 クイック返信では、推奨される応答またはアクションがユーザーに表示されます。 ユーザーがクイック返信を選択すると、メッセージがコパイロットに戻されます。 クイック返信テキストは、ユーザーがメッセージを入力した場合と同様、チャット履歴に表示されます。 クイック返信ボタンは、コパイロットまたはユーザーが別の活動を送信するとチャット履歴から削除されます。

ユーザーは、クイック返信を使用するか無視するかを選択できます。 一覧からオプションを選択することをユーザーに求めるには、代わりに複数選択式質問ノードを使用します。

メッセージ ノードに追加されたクイック返信のスクリーンショット。

クイック返信の使用方法について詳しくは、クイック返信の使用をご覧ください。

メッセージ ノードでは、メッセージ コンテンツに変数を含めることもできます。 変数は、質問から取得された情報を格納するために使用できます。 変数を挿入することにより、よりパーソナライズされたメッセージを提供できます。 たとえば、question ノードを使用して、個々の顧客が住んでいる市区町村を取得できます。 質問に対する回答は変数として格納され、後で顧客向けのメッセージで使用することができます (たとえば、「現在、"市区町村" 内の天候は...」など)。

書式設定コマンド バーで展開されている「挿入」変数ドロップダウンのスクリーン ショット。bot.filter や bot.textResult などの使用可能な変数が表示されている。

変数の詳細については、変数の使用を参照してください

トピック管理ノードの使用

コパイロットに含まれる各トピックは、通常は固有のトピックです。 たとえば、「現在の天気」トピックでは天気に関連するデータのみが提供され、「営業時間」トピックでは営業が開始される時刻に焦点が当てられます。 それらが別々のトピックであっても、相互に関連付けられたり、相互に依存したりすることができます。 前述の「製品の返品」と「製品のリコール」の例に戻ってみしましょう。 両方のトピックに対して複数の固有のトリガーを作成するのではなく、「リコールまたは返品」トピックを作成することができます。 このトピックの目的は、次に読み込むトピックを決定することです。 この中には、返品であるかリコールであるかを尋ねる question ノードが含まれています。 顧客が選択した内容に基づき、go to topic ノードによって、「製品の返品」トピックまたは「製品のリコール」トピックのいずれかが読み込まれます。

トピック ポップアップの選択のスクリーンショット。

会話を終了する

多くの場合、トピックの終わりは、会話の終わりを表します。 end the 会話ノードは、会話全体の終了に注目し、開始できるアクションを提供します。 質問や問題が正しく回答されたり、解決されたりしたかどうかをユーザーに尋ねるアンケートが表示されます。 この情報は、[顧客満足度分析] ページ で収集されます。 また、Customer Service 用オムニチャネルなど、適切な顧客サービス ポータルを使用している場合は、ライブ チャット オペレーターへ会話をエスカレートすることもできます。 顧客の問題の解決または顧客からの質問の回答となった応答の終わりで、[会話を終了する] を選択します。

[別のトピックに移動する] オプションを表示するために選択されたトピック管理メニュー項目のスクリーンショット。

"アクションの呼び出し" ノードを使用する

Microsoft Copilot Studio の多くの利点の 1 つは、メールの送信、外部データの検索、コパイロットに入力されたデータに基づく活動の作成などのアクションを実行する機能です。 "アクションの呼び出し" ノードを使用すると、コパイロットから Power Automate フローを呼び出すことができるため、この機能を容易に使用できます。

トピックから Power Automate フローを呼び出す方法の詳細については、重要な概念 - Power Automate フローを Microsoft Copilot Studioで使用するを参照してください。