C Unterhaltungsmarker für Insights
Für Skills mit YAML-basierten Dialogabläufen können Sie die Lesbarkeit der Insights-Berichte verbessern, indem Sie dem Dialogablauf die folgenden Unterhaltungsmarkereigenschaften hinzufügen:
insightsInclude: false
: Schließt Status aus den Dialogpfaden aus, die in den Insights-Berichten für Intents und Unterhaltungen gerendert werden. Wenn Sie diese Eigenschaft zu einem beliebigen Status hinzufügen, wird sie nicht in den Insights-Berichten wiedergegeben oder gezählt. Daher können Sie sie auf Status anwenden, die eine unterstützende Funktion ausführen, wie z.B. das Festlegen eines Variablenwertes. Beispiel: Das Hinzufügen voninsightsInclude: false
zu jederSystem.SetVariable
-Eigenschaft in einem Pizzaskill reduziert den Pfad, sodass nur die Status für die Interaktion zwischen Skill und Benutzer gerendert werden.insightsEndConversation: true
: Markiert das Ende des Insight-Berichts, sodass Sie den wichtigen Teil der Unterhaltung isolieren können. Sie können diesen Marker auch verwenden, um das Reporting nach Übergang aufzugliedern.
Dialogablauf modellieren
Standardmäßig verfolgt Insights alle Status in einer Unterhaltung. Möglicherweise sollten aber nicht alle davon in die Berichte aufgenommen werden. Um sich auf bestimmte Transaktionen zu konzentrieren oder einen Status vollständig aus dem Reporting auszuschließen, können Sie den Dialogablauf mit den Eigenschaften
insightsInclude
und insightsEndConversation
modellieren. Diese Eigenschaften, die Sie jeder Komponente hinzufügen können, bieten eine genauere Kontrolle über die Insights-Berichte.
Hinweis
Diese Eigenschaften werden nur bei Oracle Digital Assistant-Instanzen unterstützt, die auf Oracle Cloud Infrastructure bereitgestellt sind (auch als Cloud-Infrastruktur der 2. Generation bezeichnet). Sie werden nicht auf Instanzen unterstützt, die auf Oracle Cloud Platform bereitgestellt sind (wie alle Instanzen der Version 19.4.1 von Oracle Digital Assistant).
Diese Eigenschaften werden nur bei Oracle Digital Assistant-Instanzen unterstützt, die auf Oracle Cloud Infrastructure bereitgestellt sind (auch als Cloud-Infrastruktur der 2. Generation bezeichnet). Sie werden nicht auf Instanzen unterstützt, die auf Oracle Cloud Platform bereitgestellt sind (wie alle Instanzen der Version 19.4.1 von Oracle Digital Assistant).
Ende einer Unterhaltung markieren
Anstelle des Übergangs
return
, um das Ende einer vollständigen Unterhaltung zu markieren, können Sie stattdessen mit der Eigenschaft insightsEndConversation
die Stelle markieren, an der die Aufzeichnung der Unterhaltung für Insights-Berichte gestoppt werden soll. Mit dieser Eigenschaft können Sie den Schwerpunkt auf die Aspekte des Dialogablaufs legen, an denen Sie interessiert sind. Beispiel: Eine Unterhaltung muss möglicherweise nur bis zu der Stelle aufgezeichnet werden, an der ein Kunde eine Bestellung storniert, aber nicht danach (keine nachfolgenden Bestätigungsnachrichten oder Optionen, die die Unterhaltung verzweigen). Standardmäßig ist diese Eigenschaft auf false
gesetzt. Das heißt, Insights führt die Aufzeichnung so lange fort, bis ein return
-Übergang auftritt oder bis die Eigenschaft insightsEndConversation
auf true
(insightsEndConversation: true
) gesetzt ist.
cancelOrder:
component: "System.Output"
properties:
text: "Your order is canceled."
insightsEndConversation: true
transitions:
next: "intent"
Da dieses Flag ändert, wie eine abgeschlossene Unterhaltung im Insights-Reporting angezeigt wird, ist die Anzahl der Unterhaltungen nach der Einführung dieses Flags im Dialogablauf möglicherweise nicht mit der Anzahl der Unterhaltungen für vorherige Versionen des Skills vergleichbar. Hinweis
Der Marker
Der Marker
insightsEndConversation
wird im Visual Flow Designer nicht verwendet, da die modularen Abläufe die Unterhaltung bereits abgrenzen. Eine Unterhaltung endet, wenn der letzte Status eines Ablaufs der obersten Ebene erreicht wurde.
Durch Insights erfasste Daten optimieren
Mit der Eigenschaft
insightsInclude
können Sie Statusangaben, die Sie als überflüssig betrachten, von der Aufzeichnung in den Berichten ausschließen. Um einen Status aus dem Insights-Reporting auszuschließen, setzen Sie diese Eigenschaft auf false
:
...
resolveSize:
component: "System.SetVariable"
properties:
variable: "crust"
value: "${iResult.value.entityMatches['PizzaSize'][0]}"
insightsInclude: false
transitions:
...
...
Diese Eigenschaft gilt nur für das Insights-Reporting. Sie verhindert nicht, dass Statusangaben im Tester gerendert werden.
Hinweis
insightsInclude
wird vom Visual Flow Designer nicht unterstützt.
Anwendungsfälle für Insights-Marker
Diese typischen Anwendungsfälle veranschaulichen die Best Practices, mit denen die Lesbarkeit der Berichte verbessert werden kann, indem Sie dem Dialogablauf die Unterhaltungsmarkereigenschaften hinzufügen.
Anwendungsfall 1: Sie möchten Unterhaltungen nach Intents oder Übergängen trennen
Verwenden Sie die Eigenschaft insightsEndConversation: true
, um die Benutzerinteraktionen, die in einer einzelnen Chatsession auftreten, als separate Unterhaltungen anzuzeigen. Sie können diese Eigenschaft beispielsweise auf einen Status anwenden, der den Ausführungspfad für ein bestimmtes Intent beginnt, den Dialogablauf jedoch verzweigt.
Der Status
Der zweite ist der übergangsspezifische Eintrag, der ein Intent benennt, wenn die Aktion
Wenn Sie jedoch den Übergang
ShowMenu
des CrcPizzaBot-Skills mit den Übergängen pizza
, pasta
und textReceived
ist ein Beispiel für einen derartigen Status: 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"
Wenn Sie die Eigenschaft insightsEndConversation: true
dem Status ShowMenu
hinzufügen, können Sie das Reporting nach folgenden Übergängen aufgliedern: ShowMenu:
component: "System.CommonResponse"
properties:
processUserMessage: true
insightsEndConversation: true
…
Aufgrund der Eigenschaft insightsEndConversation: true
betrachtet Insights jede weitere Interaktion, die durch die Übergänge pizza
, pasta
oder textReceived
aktiviert wird, als separate Unterhaltung. Das bedeutet, dass auf der Seite "Überblick" unter der Metrik "Unterhaltungen" zwei Unterhaltungen anstelle von einer gezählt werden. Außerdem werden im Bericht "Unterhaltungen" zwei separate Einträge erstellt.
Hinweis
Beachten Sie, dass die Anzahl der Unterhaltungen mit derjenigen, die vor dem Hinzufügen dieser Eigenschaft verzeichnet wurde, inkonsistent ist.
Der erste Eintrag gilt für den Ausführungspfad des ShowMenu-Intents, in dem die Unterhaltung mit dem Status Beachten Sie, dass die Anzahl der Unterhaltungen mit derjenigen, die vor dem Hinzufügen dieser Eigenschaft verzeichnet wurde, inkonsistent ist.
ShowMenu
endet.Der zweite ist der übergangsspezifische Eintrag, der ein Intent benennt, wenn die Aktion
textReceived
ausgelöst wurde, oder "Kein Intent", wenn kein zweites Intent im Spiel ist. Wenn Sie im Listenmenü, das für den Status showMenu
angezeigt wird, die Option "Pizzas" oder "Pastas" auswählen, enthält der Unterhaltungsbericht einen Eintrag ShowMenu und einen Eintrag "Kein Intent" für die Übergangsunterhaltung, weil der Benutzer keinen Text eingegeben hat, der in ein Intent aufgelöst werden musste.Wenn Sie jedoch den Übergang
textReceived
durch Eingabe von Text auslösen, benennt der Bericht "Unterhaltung" das aufgelöste Intent (OrderPizza, OrderPasta). Anwendungsfall 2: Sie möchten unterstützende Status aus den Insights-Pfadberichten ausschließen
Der Knoten
Sie können die Eigenschaft
states
des Skills CrcPizzaBot beginnt mit einer Reihe von System.SetVariable
-Status. Da diese Zustände am Anfang der Definition positioniert sind, beginnen sie mit der Wiedergabe jedes Pfads, wenn Sie sie nicht mit der Option "Status filtern" ausgeschlossen haben. Sie können solche Zustände als überladen betrachten, wenn Sie sich stattdessen auf die Transaktionsaspekte des Pfades konzentrieren. Sie können die Pfadwiedergabe manuell über das Menü "Status filtern" oder durch Hinzufügen der Eigenschaft insightsInclude: false
zur Dialogablaufdefinition vereinfachen. Sie können die Eigenschaft
insightsInclude: false
zu einem beliebigen Status hinzufügen, den Sie nicht im Paths-Bericht anzeigen möchten. 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:
...
...
Wenn Sie für CRCPizzaBotSkill die Eigenschaft insightsInclude: false
zu jedem der Status System.SetVariable
hinzufügen, werden die Transaktionsstatus am Anfang des Pfades platziert. Hinweis
Das Hinzufügen der Eigenschaft
Das Hinzufügen der Eigenschaft
insightsInclude: false
ändert nicht nur das Rendering der Pfade, sondern wirkt sich auf die Summe aus, die für die Metrik "Durchschnittliche Status" gemeldet wird.
Tutorial: Insight-Berichte mit Unterhaltungsmarkern optimieren
In diesem Tutorial können Sie den Umgang mit Unterhaltungsmarkern üben: Insight-Berichte mit Unterhaltungsmarkern optimieren.