Implementieren von Conversation Insights
Um Unterhaltungsdaten als XDM-Erlebnisereignisse zu generieren und sicherzustellen, dass diese Unterhaltungserlebnisereignisse als Datensätze in Adobe Experience Platform landen, instrumentieren Sie Ihre Agenten-Anwendung oder Ihren Service, um Konversationserkenntnisse zu verwenden.
Dieser Artikel dokumentiert die erforderlichen Implementierungsschritte.
- Sie müssen über eine Experience Platform-Umgebung (Organisation und Sandbox) verfügen, um die Daten zu erfassen.
- Ihre Adobe-Organisation muss für die Feldergruppen „Agent“ und „Konversation“ aktiviert sein.
Schema und Datensätze
Konfigurieren Sie Datensätze für die primären Konversationsereignisse: Aufforderung, Antwort, Feedback. Die Eingabeaufforderungen-, Antwort- und Feedback-Datensätze müssen das XDM-Erlebnisereignis-Basisschema mit der Konversationsereignis-Feldergruppe erweitern und können optional die Agenteninformations-Feldergruppe und andere zusätzliche Feldergruppen enthalten.
Sie können separate Datensätze für Eingabeaufforderungen, Antworten und Feedback definieren oder Daten zu Datensätzen kombinieren. Verwenden Sie beispielsweise einen Datensatz für Eingabeaufforderungen und Antworten und einen anderen Datensatz für Feedback. Oder verwenden Sie einen separaten Datensatz für jeden Konversationsereignistyp, wie in Funktionsweise dargestellt.
Verwenden Sie zur Veranschaulichung Folgendes:
-
Implementierung separater Datensätze. Trennen Sie Datensätze für Eingabeaufforderung, Antwort und Feedback-Ereignisse. Folgen Sie diesem Implementierungsansatz, wenn Sie:
- Sie möchten einen geringeren Status bei Ihrer Client-Implementierung beibehalten.
- Senden Sie sofortige Daten, unabhängig von einer verzögerten oder nicht vorhandenen Antwort.
-
Implementierung kombinierter Datensätze. Beispielsweise einen kombinierten Datensatz mit Eingabeaufforderungs- und Antwortereignissen und einen separaten Datensatz mit Feedback-Ereignissen. Folgen Sie diesem Implementierungsansatz, wenn Sie:
- Wir möchten Aufrufe reduzieren, da Ihre Implementierung vollständige Kurven unterstützt.
- Beachten Sie die Latenz beim Warten auf das Eintreffen von Antworten.
Das Datensatzlayout und die Bereitstellung von Konversationsereignissen in diesen Datensätzen sind separate Anliegen. Senden Sie jedes Konversationsereignis, sobald Daten verfügbar sind, um stabile Konversationsidentifikatoren und Turnidentifikatoren sicherzustellen. Stabile Kennungen ermöglichen eine ordnungsgemäße Korrelation durch den Conversation Blender-Service über Datensätze hinweg.
Feldergruppe „Konversationsereignis“
Die Konversationsereignis-Feldergruppe ist eine erforderliche Feldergruppe und verwendet das conversation.
Das Konversationsobjekt erfasst Daten für:
Konversation
Eine eindeutige conversationID identifiziert eine Konversation. Beispiel: conversationID = "conv-001". Die conversationID ermöglicht es, alle verwandten Turns-Ereignisse in demselben Konversationserlebnis zu gruppieren.
Das Schema unterstützt auch conversationName. Ein für Menschen lesbarer Name, der den Gesamtkontext der Konversation beschreibt, z. B.: France Geography Q&A. Der Name der Konversation wird automatisch generiert, Sie können den generierten Namen jedoch aktualisieren. Der Name der Konversation wird auch mit signals[].name ausgefüllt. Adobe füllt die conversationName mit demselben Wert wie das Signal signals[].name = „title“. Sie können die conversation.conversationName für jeden Datensatz festlegen, den Sie ausfüllen, und den von Adobe bereitgestellten Wert überschreiben.
abbiegen
Ein Zug ist ein Interaktionszyklus innerhalb eines Gesprächs.
turnID Eine eindeutige turnID identifiziert eine Wendung. Beispiel:
conversationID = "conv-001"turnID = "turn-001"
Dieselben conversationID und turnID werden verwendet, um die Eingabeaufforderung, die Antwort und das Feedback zu korrelieren, die mit diesem Zug verbunden sind. Diese Korrelation funktioniert über Datensätze hinweg, die separat bereitgestellt werden oder in verschiedenen Datensätzen enden. Eine turnId muss nur innerhalb derselben Konversation eindeutig sein, kann jedoch in allen Konversationen wiederverwendet werden. Beispielsweise können Sie beide turn-001 als turnID in Gesprächen mit conversationID conv-001 und conv-002 haben.
Eingabeaufforderung
Eine Eingabeaufforderung ist die Eingabe, die an den Agenten gesendet wird. In den meisten Kundenszenarien ist diese Eingabe die Frage, Anfrage, Anweisung oder Nachricht des Benutzers.
In der Eingabeaufforderung wird die folgende Darstellung verwendet: conversation.prompt
Wichtige Eingabeaufforderungsfelder sind:
prompt.sourceprompt.raw[]prompt.raw[].textprompt.raw[].purposeEine Eingabeaufforderung kann mehrere Rohsegmente enthalten. Beispiel: Ein Benutzer gibt Text ein und fügt eine URL hinzu.
-
Prompt"What is the capital of France""https://example.com/france"
Antwort
Eine Antwort ist der Inhalt, der vom Agenten oder einer anderen antwortenden Partei zurückgegeben wird.
conversation.response Ein eindeutiges responseID stellt die Antwort dar.
Wichtige Antwortfelder sind:
response.sourceresponse.raw[]response.raw[].textresponse.raw[].purposeZu den dokumentierten Quelltypen gehören:
botcannedconciergeend-userFeedback
Feedback ist die explizite Bewertung oder Reaktion des Benutzers auf die Interaktion.
Die Feedback-Struktur umfasst: conversation.feedback.
Beispiele:
feedback.raw[].text: "Great help"feedback.rating.score:1feedback.rating.classification:"Thumbs Up"feedback.rating.reasons[]: ["Accurate", "Quick response"]
Der dokumentierte Bewertungsbereich reicht von -1.0 bis 1.0.
Ein Feedback-Ereignis kann als reines Feedback-Ereignis dargestellt werden, indem Folgendes verwendet wird: eventType = "conversation.feedback".
Wenn das Feedback für eine bestimmte Drehung gilt, bewahren Sie die entsprechenden conversationID und turnID auf, damit der Konversationsmischer das Feedback mit der relevanten Interaktion verknüpfen kann.
Signal
Ein Signal ist eine strukturierte analytische Beobachtung über Konversationsinhalte. Der Signalextraktionsdienst stellt vorkonfigurierte Signale bereit. Es ist keine Aktion erforderlich, um Signale bereitzustellen. Sie können jedoch Signale als Teil der Integration hinzufügen.
Ein Signal weist die folgenden Felder auf.
scopenametypevalues[]stringValuenumberValuebooleanValueconfidencequalifiers[]metadata[]Der Signalextraktions-Service füllt das signals für den Signaldatensatz.
Der vorherige signals[].attributes.{subjects,intents,tones,sentiment}-Container wird nicht mehr unterstützt.
Typ der Quelle
Sie müssen einen Wert für source für jedes prompt, response oder feedback Objekt in einem Ereignis festlegen. Jeder Wert ist zulässig. Verwenden Sie Werte, die Ihnen dabei helfen zu verstehen, woher Daten stammen. Beispiel:
end-useragentbotcanned-promptconciergeArt des Zwecks (Rohtext)
Sie müssen einen Wert für das purpose-Attribut für ein beliebiges Element des raw-Objekts in einem prompt-, response- oder feedback-Objekt festlegen. Jeder Zeichenfolgenwert ist zulässig. In diesem Feld wird unterschieden, was im Rohtext gespeichert wird. Die nützlichen Werte sind unten aufgeführt, andere Werte sind gleichermaßen gültig:
free-form-textscreenshotattachmentlinkurlimage-linkcitationmediaKonversation
Unten finden Sie die vollständigen Details eines Konversationsobjekts.
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 36-row-4 37-row-4 38-row-4 39-row-4 40-row-4 | |||
|---|---|---|---|
| Feldpfad (Punktnotation) | Typ | Beispielwert | Hinweise |
conversationID |
string | "conv-001" |
Gruppiert mehrere Kurven. |
conversationName |
string | "France Geography Q&A" |
Neu. Name, der einem Gespräch mit dem allgemeinen Kontext gegeben wurde. |
turnID |
string | "turn-001" |
Eindeutige ID für diesen Zug. |
prompt.source |
string | "end-user" |
Source der Eingabeaufforderung, andere Optionen können einen zwischengespeicherten Wert, einen eingesparten Wert usw. umfassen. |
prompt.raw[] |
array | Siehe Rohobjekt unten | Rohe Eingabeaufforderungsdaten. |
prompt.raw[].text |
string | "What is the capital of France?" |
Tatsächlicher Textinhalt. |
prompt.raw[].purpose |
string | "User Input" |
Zweck dieses Textsegments. |
response.source |
string | "bot" |
Source der Antwort. |
response.raw[] |
array | Siehe Rohobjekt unten | Rohe Antwortdaten. |
response.raw[].text |
string | "The capital of France is Paris." |
Inhalt des Antworttextes. |
response.raw[].purpose |
string | "main" |
Zweck des Antwortsegments. Andere Optionen können Links, Bilder usw. sein. |
feedback.source |
string | "end-user" |
Source des Feedbacks. |
feedback.raw[] |
array | Siehe Rohobjekt unten | Rohe Feedback-Daten . |
feedback.raw[].text |
string | "Great help" |
Feedback-Text. |
feedback.raw[].purpose |
string | "free-form text" |
Zweck des Feedback-Segments, andere Optionen können Screenshots, Medien usw. sein. |
feedback.rating.score |
number | 1 |
Numerischer Bewertungswert von -1.0 bis 1.0. |
feedback.rating.classification |
string | "Thumbs Up" |
Klassifizierung der Bewertung. |
feedback.rating.reasons[] |
array | ["Accurate", "Quick response"] |
Array von Bewertungsgründen. |
signals[] |
array | Siehe Signalobjekt unten | Abgeleitete Signale, die auf diesem Ereignis und der bisherigen Konversation basieren. Jeder Eintrag ist ein einzelnes benanntes Signal mit eigenem Umfang. |
signals[].scope |
string | "turn" |
Umfang der Eingänge, aus denen dieser Signalsatz abgeleitet wird (Kurve, Konversation bis dato, letzte n-Umdrehungen, Feedback). |
signals[].attributes |
Objekt | Siehe Attribute unten | Veraltet. Container für Signalattribute. Jedes Attribut ist ein Objekt mit Werten darin. Damit soll der erwarteten Notwendigkeit Rechnung getragen werden, eine Population von ML/Agent-Informationen zu unterstützen, die zur Erzeugung des Signals verwendet werden. |
signals[].attributes.subjects |
Objekt | Siehe Themen unten | Veraltet. Betreff-Container. |
signals[].attributes.subjects.values[] |
array | Siehe Betreffwerte unten | Veraltet. Array von Betreffwerten. |
signals[].attributes.subjects.values[].phrase |
string | "product pricing" |
Veraltet. Eine Phrase oder ein Keyword, die bzw. das aus der Eingaben im Umfang extrahiert wurde. |
signals[].attributes.subjects.values[].qualifiers[] |
array | ["important", "urgent"] |
Veraltet. Liste der Kriterien für die Phrase |
signals[].attributes.intents |
Objekt | Siehe Absichten unten | Veraltet. Absichtscontainer. |
signals[].attributes.intents.values[] |
array | ["make a purchase", "learn more"] |
Veraltet. Aus der erfassten Eingabe abgeleitete Intents. |
signals[].attributes.tones |
Objekt | Siehe Töne unten | Veraltet. Tonbehälter. |
signals[].attributes.tones.values[] |
array | ["thrilled", "contemplative"] |
Veraltet. Aus der erfassten Eingabe abgeleitete Töne. |
signals[].attributes.sentiment |
Objekt | Siehe Sentiment unten | Veraltet. Sentiment-Container |
signals[].attributes.sentiment.value |
number | 0.71 |
Veraltet. Score von -1 (negativ) bis 1 (positiv) für Sentiment. |
signals[].name |
string | "sentiment" |
Neu (ersetzt den veralteten attributes-Container). Kennung für dieses Signal, z. B. „Subjekte“, „Absichten“, „Töne“, “Sentiment” oder ein beliebiger Herstellername. Produzenten können neue Signaltypen ohne Schemaänderung hinzufügen. |
signals[].type |
string | "number" |
Neu. Datentyp der Werte dieses Signals (string, number oder boolean). Teilt Verbrauchern mit, welches eingegebene Wertfeld bei jedem Eintrag von values[] ausgefüllt wird. |
signals[].values[] |
array | Siehe Objektwerte weiter unten | Ein oder mehrere Werte für dieses Signal. |
signals[].values[].stringValue |
string | "curious" |
Befüllt, wenn type Zeichenfolge ist. Kategorialer Wert wie Intent, Ton oder extrahierte Phrase/ |
signals[].values[].numberValue |
number | 0.71 |
Wird befüllt, wenn type Zahl ist. Zum Beispiel eine Sentiment-Bewertung von -1 bis 1 oder eine Intensität/ |
signals[].values[].booleanValue |
boolean | true |
Befüllt, wenn type boolesch ist. Eine true/false-Markierung |
signals[].values[].confidence |
number | 0.9 |
Neu. Konfidenz, die der Hersteller diesem Wert von 0 bis 1 zuweist. |
signals[].values[].qualifiers[] |
array | ["important", "urgent"] |
Zusätzliche Deskriptoren für diesen Wert, ähnlich wie Keywords, aber aussagekräftiger/ |
signals[].values[].metadata[] |
array | Siehe Parameter unten | Neu. Produzenten-definierte Metadaten für diesen Wert als Schlüssel/Wert-Paare, z. B. Kontext zu dem ML/Agent, der das Signal/die |
Agent-Informationsfeldgruppe
Die Feldergruppe Agenteninformationen ist eine optionale Feldergruppe und verwendet das agenticExperience. Erwägen Sie die Verwendung dieser Feldergruppe, wenn Sie agentische Informationen verfolgen möchten.
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 | |||
|---|---|---|---|
| Feldpfad (Punktnotation) | Typ | Beispielwert | Hinweise |
conciergeID |
string | "concierge-abc123" |
Neu. Eindeutige Kennung für den Concierge |
name |
string | "Brand Concierge" |
Name des Concierge, der eine Reihe von Agents kombiniert |
version |
string | "1.0.0" |
Die Concierge-Version, die eine Reihe von Agents kombiniert |
environment |
string | "prod" |
Umgebung, aus der dieses Ereignis stammt (dev, stage, prod) |
mode |
string | "release" |
Modus, in dem sich der Agent befindet (Test, Vorschau, Freigabe) |
agents[] |
array | Siehe Agent-Objekt unten | Array der verwendeten Agenten |
agents[].agentID |
string | "agent-001" |
Neu. Eindeutige Kennung für den Agenten, referenziert durch skills[].agentID unten |
agents[].name |
string | "Chatbot Assistant" |
Agent-Name |
agents[].version |
string | "2.1.3" |
Agent-Version |
agents[].score |
number | 0.92 |
Agent-Konfidenzwert in den zurückgegebenen Werten |
agents[].skills[] |
array | Siehe Skill-Objekt unten | Veraltet. Verwenden Sie stattdessen das skills[]-Array der obersten Ebene unten, das die vollständige Liste der Qualifikationsaufrufe besitzt und jedes über agentID mit seinem Agenten verknüpft |
agents[].skills[].name |
string | "Intent Recognition" |
Qualifikationsname (veraltetes Array) |
agents[].skills[].version |
string | "1.0.0" |
SKILL version (veraltetes Array) |
agents[].skills[].score |
number | 0.95 |
SKILL Confidence Score (0-1) (veraltetes Array) |
agents[].skills[].parameters[] |
array | Siehe Parameter unten | Parameter, die an die Qualifikation gesendet werden (Schlüssel-Wert-Paare) (veraltetes Array) |
agents[].skills[].parameters[].key |
string | "language" |
Parameterschlüssel |
agents[].skills[].parameters[].value |
string | "en-US" |
Parameterwert |
skills[] |
array | Siehe SKILL Invocation-Objekt weiter unten | Neu, experimentell. Vollständige, sortierte Liste der Skill-Aufrufe für dieses Erlebnis für alle Agenten. Ersetzt das veraltete Array pro Agent agents[].skills[] |
skills[].skillID |
string | "skill-intent-recognition" |
Kennung der Qualifikationsdefinition, die aufgerufen wurde |
skills[].skillInvocationID |
string | "inv-9f2a-001" |
Eindeutige Kennung für diesen individuellen SKILL-Aufruf, auch konsistent mit erneuten Sendungen. Deduplizierungsschlüssel beim Zusammenführen von Qualifikations-Arrays nachgelagert |
skills[].name |
string | "Intent Recognition" |
Name der aufgerufenen Kenntnisse |
skills[].version |
string | "1.0.0" |
Version der aufgerufenen Kenntnisse |
skills[].agentID |
string | "agent-001" |
Kennung des Agenten, der diese Qualifikation aufgerufen hat, korreliert mit agents[].agentID. Die Gruppierung wichtiger Konsumenten verwendet , um Fähigkeiten innerhalb eines Agenten zu sortieren, da Subagenten parallel ausgeführt werden |
skills[].invocationSource |
string | "main" |
Ob durch die Hauptagentenschleife (main) oder einen Subagenten (subagent) aufgerufen |
skills[].score |
number | 0.95 |
Punktzahl, die sich aus dem Abgleichen der Qualifikation ergibt |
skills[].failed |
boolean | false |
Markierung, die angibt, dass die Ausführung der Qualifikation fehlgeschlagen ist |
skills[].errorReason |
string | "timeout" |
Grund für fehlgeschlagene Kenntnisse, wenn failed wahr ist |
skills[].sequenceNumber |
Ganzzahl | 1 |
Monoton steigender Index dieses Qualifikationsaufrufs innerhalb einer einzelnen Agentenausführung. Dieser Index ist nicht rundum global, da die Subagenten parallel laufen. Die Verbraucher bestellen nach agentID, dann sequenceNumber, dann timestamp als Tiebreak. Optional |
skills[].timestamp |
Zeichenfolge (Datum-Uhrzeit) | "2026-09-11T00:03:15Z" |
Zeitpunkt, zu dem die Qualifikation aufgerufen wurde, ISO 8601 UTC. Nach dem sequenceNumber verwendeter Bestellschlüssel. Die Hersteller sollten dies immer befüllen |
skills[].skillSource |
string | "inline" |
Wie die Qualifikationsdefinition an die Laufzeit übermittelt wurde: inline (inline in den Kontext geladen) oder deferred (bei Bedarf geladen) |
skills[].executionContext |
string | "inline" |
Wo die Qualifikation relativ zum aufrufenden Agenten ausgeführt wird: inline oder forked (läuft in einem gespaltenen Subagenten-Kontext) |
skills[].reasoning.narration |
string | "Recognized an intent to verify a geography fact" |
Eine natürliche Erklärung, warum diese Fähigkeit genannt wurde |
skills[].parameters[] |
array | Siehe Parameter unten | An die Qualifikation übergebene Parameter |
skills[].parameters[].key |
string | "language" |
Parameterschlüssel |
skills[].parameters[].value |
string | "en-US" |
Parameterwert |
Um Ereignisse zu implementieren, die die Feldgruppe Agenteninformationen mit Daten weitergeben, sollten Sie Folgendes sicherstellen:
-
Agent-Konfiguration
- Jeder Agent verfügt über eine eindeutige Kombination aus AgentID, Name und Version.
- Agent-Scores werden zwischen
0.0und1.0normalisiert. - Verwenden Sie die
agentID, um Agenten durch einen Aufruf der Kenntnisse zu referenzieren.
-
Aufruf von Skills
- Geben Sie nur einen Eintrag pro Qualifikationsaufruf für alle Agenten aus, anstatt Kenntnisse unter jedem Agenten zu verschachteln.
- Füllen Sie die skillInvocationID, damit nachgelagerte Zusammenfügungen doppelte erneut bereitgestellte Ereignisse entfernen können.
- Sorgfältige Bestellung der Verbraucher. Nach
agentIDgruppieren, dann nachsequenceNumbersortieren und dann auftimestampzurückfallen. Die Sortierung ist erforderlich, da Subagenten parallel ausgeführt werden können - Verwenden Sie
invocationSourceundexecutionContext, um zwischen Primär- und Subagenten-Fähigkeiten und Inline- und Gabelausführung zu unterscheiden. - Verwenden Sie nicht das veraltete
agents[].skills[]-Array. Wenn Sie das -Array in der Vergangenheit verwendet haben, behandeln Sie das -Array als schreibgeschütztes Objekt.
-
SKILL Parameters
- Parameter verwenden den XDM-Schlüssel-Wert-Datentyp von Adobe und verwenden gängige Parametertypen für Spracheinstellungen, Schwellenwerte und Modellkonfigurationen. Beispiel:
"key":"language", "value":"en-US".
- Parameter verwenden den XDM-Schlüssel-Wert-Datentyp von Adobe und verwenden gängige Parametertypen für Spracheinstellungen, Schwellenwerte und Modellkonfigurationen. Beispiel:
| code language-json |
|---|
|
Zusätzliche Feldergruppen
Sie können dem Schema, das Sie für Eingabeaufforderungen, Antworten und Feedback-Datensätze verwenden, optionale Feldergruppen hinzufügen. Beispiel:
- Web-) Feldergruppe. Um Details der Web-Seite zu erfassen, in die die Konversation eingebettet wurde.
- Commerce-: Feldergruppe. So erfassen Sie die Produktdetails des empfohlenen Produkts, das im Rahmen des Gesprächs erwähnt wird.
Der Kunde ist für die Erstellung der Quell-Konversationsereignisse verantwortlich. Adobe führt eine Signalextraktion und Datenmischung durch. Der Kunde muss die Signalextraktions- oder Mischdienste nicht implementieren.
Ereignistyp
Für jedes Konversationsereignis müssen Sie einen der folgenden Werte für eventType (Zeichenfolge) festlegen:
conversation.turnconversation.recommendationconversation.feedbackBeispiel
Unten finden Sie ein Beispiel für die Verwendung der Feldergruppe „Konversationsereignis“ in verschiedenen Szenarien.
| tabs | |||
|---|---|---|---|
| Beispiel für ein Turn-Ereignis |
|
||
| Beispiel für ein Antwortereignis |
|
||
| Beispiel für Feedback- |
|
||
| Beispiel für Produktempfehlungen |
|
Datenerfassung
Verwenden Sie die folgende Datenerfassungsstrategie für Konversationseinblicke.
Ereignistypen
Ihr Agent-Programm oder Service sendet ein Ereignis so bald wie möglich. Stellen Sie sicher, dass die App oder der Service nicht auf eine Antwort wartet, bevor die Eingabeaufforderung mit den zum Zeitpunkt des Ereignisses verfügbaren Informationen an gesendet wird.
Diese Empfehlung impliziert Folgendes:
- Eingabeaufforderungs-, Antwort- und Feedback-Objekte werden unabhängig voneinander ausgefüllt und sollten nicht gezwungen werden, Teil eines einzelnen Ereignisses zu sein.
- Es werden mehrere Ereignisse mit demselben
conversationIDund denselbenturnIDüber Datensätze hinweg erwartet.
Ereigniskorrelation
Die Agentenanwendung oder der Service muss stabile Kennungen für alle zugehörigen Ereignisse beibehalten.
conversation.conversationIDconversation.turnID_idtimestampeventType-
Für alle Ereignisse, die zur selben Konversation gehören, muss dieselbe
conversationIDverwendet werden. -
Derselbe
turnIDmuss für die Eingabeaufforderung, die Antwort und jedes Feedback verwendet werden, das mit derselben Runde verknüpft ist. In den Eingabeaufforderungen-, Antwort- und Feedback-Datensätzen können mehrere Ereignisse mit demselbenturnIDvorhanden sein.
Die Agentanwendung oder der Service generiert IDs, die bei weiteren Zustellversuchen oder erneuten Sendungen stabil bleiben. Dies ermöglicht die nachgelagerte Verarbeitung, um Ereignisse korrekt zu verknüpfen und unbeabsichtigte doppelte Ereignisse zu vermeiden.
Signalextraktion
Die Signalextraktion erfolgt nach der Datenerfassung. Ihre Agentanwendung oder Ihr Service kann zusätzliche Signale ausfüllen.
Signalname
Sie müssen einen Wert für signals[].name festlegen. Jeder Zeichenfolgenwert ist akzeptabel. Adobe füllt jedoch die folgenden Namen während des Signalextraktionsprozesses. Vermeiden Sie diese Werte für die name für alle Signale, die Sie senden, da diese Werte überschrieben werden.
intentssentimenttonestopicskeywordstitle
Signalumfang
Jeder Zeichenfolgenwert ist akzeptabel. Adobe füllt jedoch während des Signalextraktionsprozesses die folgenden Bereiche. Vermeiden Sie diese Werte für die scope für alle Signale, die Sie senden, da diese Werte überschrieben werden.
turnfeedback
| code language-json |
|---|
|
Datenmischung
Der Conversation Blender-Service führt Ereignisse aus Eingabeaufforderungs-, Antwort-, Feedback- und Signalereignis-Datensätzen in einem dedizierten Blended Conversation-Ereignisdatensatz zusammen. Dieser Datensatz wird in Customer Journey Analytics als Teil einer Verbindung verwendet. Die Komponenten in diesem Datensatz werden zu den Datenansichten hinzugefügt, die Sie für eine Conversation Insights-Konfiguration angegeben haben.