C インサイトの会話マーカー
YAMLベースのダイアログ・フローを使用するスキルの場合、次の会話マーカー・プロパティをダイアログ・フローに追加することで、インサイト・レポートを読みやすくすることができます:
insightsInclude: false
– インテントおよび会話のインサイト・レポートでレンダリングされるダイアログ・パスから状態を除外します。このプロパティを任意の状態に追加すると、インサイト・レポートでレンダリングまたはカウントされなくなるため、変数値の設定など、補助機能を実行する状態に適用できます。たとえば、insightsInclude: false
をピザ・スキルの各System.SetVariable
プロパティに追加すると、スキルとユーザー間の対話に関する状態のみをレンダリングするようにパスが縮小されます。insightsEndConversation: true
– 会話の際立った部分を分離できるように、インサイト・レポートの終わりにマークを付けます。このマーカーを使用して、遷移ごとにレポートを分けることもできます。
ダイアログ・フローのモデリング
デフォルトでは、インサイトは会話のすべての状態をトラッキングしますが、すべての状態をレポートに含める必要がないこともあります。特定のトランザクションに重点を置くか、レポートから状態を完全に除外する場合、
insightsInclude
およびinsightsEndConversation
プロパティを使用してダイアログ・フローをモデリングできます。これらのプロパティは、任意のコンポーネントに追加して、インサイト・レポートをより詳細なレベルで制御できます。
ノート
これらのプロパティは、Oracle Cloud Infrastructure (Generation 2クラウド・インフラストラクチャとも呼ばれる)にプロビジョニングされたOracle Digital Assistantインスタンスでのみサポートされます。Oracle Cloud Platformにプロビジョニングされているインスタンスでは(Oracle Digital Assistantのバージョン19.4.1のすべてのインスタンスと同様に)、サポートされません。
これらのプロパティは、Oracle Cloud Infrastructure (Generation 2クラウド・インフラストラクチャとも呼ばれる)にプロビジョニングされたOracle Digital Assistantインスタンスでのみサポートされます。Oracle Cloud Platformにプロビジョニングされているインスタンスでは(Oracle Digital Assistantのバージョン19.4.1のすべてのインスタンスと同様に)、サポートされません。
会話の終了のマーク
return
遷移によって完全な会話の終了をマークするかわりに、insightsEndConversation
プロパティを使用してインサイト・レポートの会話の記録を停止する場所をマークできます。このプロパティにより、関心のあるダイアログ・フローの側面のみに集中できます。たとえば、顧客がオーダーを取り消した時点までの会話を記録するだけでよく、それ以上は必要ない場合(会話を分岐する後続の確認メッセージやオプションは不要な場合)があります。デフォルトでは、このプロパティはfalse
に設定されています。つまり、インサイトは、return
遷移まで、またはinsightsEndConversation
プロパティがtrue
に設定されるまで(insightsEndConversation: true
)記録を続けます。
cancelOrder:
component: "System.Output"
properties:
text: "Your order is canceled."
insightsEndConversation: true
transitions:
next: "intent"
このフラグはインサイト・レポートが完了した会話を表示する方法を変更するため、ダイアログ・フローにこのフラグが導入された後の会話数は、前のバージョンのスキルに対する会話数と比較できない場合があります。ノート
insightsEndConversation
マーカーは、モジュラ・フローですでに会話を示すため、ビジュアル・フロー・デザイナでは使用されません。会話は、最上位フローの最後の状態に達すると終了します。
インサイトによるデータ収集の効率化
insightsInclude
プロパティを使用して、レポートに記録される対象から不要であると思われる状態を除外します。インサイト・レポートから状態を除外するには、このプロパティをfalse
に設定します:
...
resolveSize:
component: "System.SetVariable"
properties:
variable: "crust"
value: "${iResult.value.entityMatches['PizzaSize'][0]}"
insightsInclude: false
transitions:
...
...
このプロパティは、インサイト・レポートのみに固有です。状態がテスターでレンダリングされなくなることはありません。
ノート
insightsInclude
は、ビジュアル・フロー・デザイナではサポートされていません。
ユースケース1: インテントまたは遷移ごとに会話を分ける場合
insightsEndConversation: true
プロパティを使用して、単一のチャット・セッション内で発生したユーザーの対話を個別の会話として表示します。たとえば、このプロパティは、特定のインテントの実行パスを開始したのに、ダイアログ・フローを分岐する状態に適用できます。
pizza
、pasta
およびtextReceived
遷移を含むCrcPizzaBotスキルのShowMenu
状態は、次のような状態です: ShowMenu:
component: "System.CommonResponse"
properties:
processUserMessage: true
metadata:
responseItems:
- type: "text"
text: "Hello ${profile.firstName}, this is our menu today:"
footerText: "${(textOnly.value=='true')?then('Enter number to make your choice','')}"
name: "hello"
separateBubbles: true
actions:
- label: "Pizzas"
type: "postback"
keyword: "${numberKeywords.value[0].keywords}"
payload:
action: "pizza"
name: "Pizzas"
- label: "Pastas"
keyword: "${numberKeywords.value[1].keywords}"
type: "postback"
payload:
action: "pasta"
name: "Pastas"
transitions:
actions:
pizza: "OrderPizza"
pasta: "OrderPasta"
textReceived: "Intent"
insightsEndConversation: true
プロパティをShowMenu
状態に追加すると、これらの遷移ごとにレポートを分けることができます: ShowMenu:
component: "System.CommonResponse"
properties:
processUserMessage: true
insightsEndConversation: true
…
insightsEndConversation: true
プロパティのため、インサイトでは、pizza
、pasta
またはtextReceived
遷移によって有効になった後続の対話は個別の会話とみなされます。つまり、1つではなく2つの会話が、「概要」ページの「会話」メトリックで集計され、同様に、2つの別個のエントリが会話レポートに作成されます。
ノート
会話数は、このプロパティを追加する前に集計された数と一致しないことに注意してください。
最初のエントリは、ShowMenuインテント実行パス用で、会話は会話数は、このプロパティを追加する前に集計された数と一致しないことに注意してください。
ShowMenu
状態で終了します。2番目は、
textReceived
アクションがトリガーされたときにインテントの名前を示すか、動作中の2番目のインテントがないときに「インテントなし」を示す遷移固有のエントリです。showMenu
状態に対してレンダリングされたリスト・メニューからPizzasまたはPastasのいずれかを選択すると、会話レポートには、インテントへの解決に必要なテキストがユーザーによって入力されなかったため、遷移会話のShowMenuエントリおよび「インテントなし」エントリが含まれます。ただし、テキストを入力して
textReceived
遷移をトリガーすると、会話レポートに解決済のインテントの名前(OrderPizza、OrderPasta)が示されます。 ユースケース2: インサイト・パス・レポートからサポートされている状態を除外する場合
CrcPizzaBotスキルの
states
ノードは、一連のSystem.SetVariable
状態で始まります。これらの状態は定義の最初に配置されるため、「状態をフィルタ」オプションで除外していない場合は、各パスのレンダリングが開始されます。このような状態のサポートは、パスのトランザクション的な側面に重点を置く場合は、わかりにくいものとみなすことができます。「フィルタ状態」メニューを使用するか、ダイアログ・フロー定義にinsightsInclude: false
プロパティを追加して、パスのレンダリングを手動で簡略化できます。 insightsInclude: false
プロパティは、パス・レポートに表示しない任意の状態に追加できます。 setTextOnlyChannel:
component: "System.SetVariable"
properties:
insightsInclude: false
variable: "textOnly"
value: "${(system.channelType=='webhook')?then('true','false')}"
setAutoNumbering:
component: "System.SetVariable"
properties:
insightsInclude: false
variable: "autoNumberPostbackActions"
value: "${textOnly}"
setCardsRangeStart:
component: "System.SetVariable"
properties:
insightsInclude: false
variable: "cardsRangeStart"
value: 0
transitions:
...
...
CRCPizzaBotSkillの場合、insightsInclude: false
プロパティを各System.SetVariable
状態に追加すると、トランザクション状態がパスの先頭に配置されます。 ノート
insightsInclude: false
プロパティを追加すると、パスのレンダリング方法が変更されるだけでなく、「平均の状態」メトリックについてレポートされる合計にも影響します。