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 von insightsInclude: false zu jeder System.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.
Sie können diese Eigenschaften zu einem beliebigen Status hinzufügen.

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).

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 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 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 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 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 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.