Customer Experience Insights ti consente di importare le conversazioni da Agent Assist per analizzarle. Questo documento descrive la procedura per calcolare diverse metriche conversazionali importanti sui dati importati di Assistente agente.
Prerequisiti
Utilizza Agent Assist per generare dati conversazionali utilizzando le funzionalità Risposta rapida o Riepilogo.
Attiva l'integrazione del runtime Dialogflow in Customer Experience Insights.
Esporta i dati da CX Insights a BigQuery.
Tasso di attivazione
Il tasso di attivazione descrive la frequenza con cui un tipo di annotazione viene visualizzato in una conversazione.
Percentuale di attivazione a livello di frase
Un tasso di attivazione a livello di frase si applica alle annotazioni che possono essere visualizzate almeno una volta per frase.
| Nome annotazione | Tipo di annotazione | Criteri |
|---|---|---|
| Suggerimento articoli | 'ARTICLE_SUGGESTION' |
Per ogni messaggio della conversazione viene inviata almeno una richiesta SuggestArticles. |
| FAQ assist | 'FAQ' |
Per ogni messaggio della conversazione viene inviata almeno una richiesta SuggestFaqAnswers o AnalyzeContent. |
| Risposta rapida | 'SMART_REPLY' |
Per ogni messaggio della conversazione viene inviata almeno una richiesta SuggestSmartReplies o AnalyzeContent. |

WITH calculation AS ( SELECT COUNTIF( ( SELECT COUNT(*) FROM UNNEST (sen.annotations) AS annotation WHERE annotation.type = 'ANNOTATION_TYPE' ) > 0 ) AS numSentencesAtLeastOneAnnotation, COUNT(*) AS numSentencesTotal FROM BIGQUERY_TABLE, UNNEST (sentences) AS sen ) SELECT numSentencesAtLeastOneAnnotation, numSentencesTotal, numSentencesAtLeastOneAnnotation / numSentencesTotal AS triggerRate FROM calculation;
Tasso di attivazione a livello di conversazione
Un tasso di attivazione a livello di conversazione si applica alle annotazioni che possono essere visualizzate al massimo una volta per conversazione.
| Nome annotazione | Tipo di annotazione | Criteri |
|---|
| Assistente generativo di conoscenze (GKA) | 'KNOWLEDGE_SEARCH' | Per ogni messaggio della conversazione viene inviata almeno una richiesta SearchKnowledge. |
| Generative Knowledge Assist proattivo | 'KNOWLEDGE_SEARCH' | Per ogni messaggio della conversazione viene inviata almeno una richiesta SearchKnowledge o AnalyzeContent. |
| Riepilogo | 'CONVERSATION_SUMMARIZATION' | Per ogni conversazione viene inviata almeno una richiesta SuggestConversationSummary. |

WITH calculation AS ( SELECT COUNTIF( ( SELECT COUNT(*) FROM UNNEST (sentences) AS sen, UNNEST (sen.annotations) AS annotation WHERE annotation.type = 'ANNOTATION_TYPE' ) > 0 ) AS numConversationsAtLeastOneAnnotation, COUNT(*) AS numConversationsTotal FROM BIGQUERY_TABLE ) SELECT numConversationsAtLeastOneAnnotation, numConversationsTotal, numConversationsAtLeastOneAnnotation / numConversationsTotal AS triggerRate FROM calculation;
Percentuale di clic
La percentuale di clic indica la frequenza con cui gli operatori del call center fanno clic sulle annotazioni suggerite.
Percentuale di clic a livello di frase
Una percentuale di clic a livello di frase si applica alle annotazioni su cui gli agenti del call center possono fare clic più volte per frase.
| Nome annotazione | Tipo di annotazione | Criteri |
|---|---|---|
| Suggerimento articoli | 'ARTICLE_SUGGESTION' |
Per ogni messaggio della conversazione viene inviata almeno una richiesta SuggestArticles. |
| FAQ assist | 'FAQ' |
Per ogni messaggio della conversazione viene inviata almeno una richiesta SuggestFaqAnswers o AnalyzeContent. |
| Risposta rapida | 'SMART_REPLY' |
Per ogni messaggio della conversazione viene inviata almeno una richiesta SuggestSmartReplies o AnalyzeContent. |

WITH calculation AS ( SELECT COUNTIF( ( SELECT COUNT(*) FROM UNNEST (sen.annotations) AS annotation WHERE annotation.type = 'ANNOTATION_TYPE' AND annotation.displayed = TRUE AND annotation.clicked = TRUE ) > 0 ) AS numSentencesAtLeastOneClickedAndDisplayedAnnotation, COUNTIF( ( SELECT COUNT(*) FROM UNNEST (sen.annotations) AS annotation WHERE annotation.type = 'ANNOTATION_TYPE' AND annotation.displayed = TRUE ) > 0 ) AS numSentencesAtLeastOneDisplayedAnnotation, FROM BIGQUERY_TABLE, UNNEST (sentences) AS sen ) SELECT numSentencesAtLeastOneClickedAndDisplayedAnnotation, numSentencesAtLeastOneDisplayedAnnotation, numSentencesAtLeastOneClickedAndDisplayedAnnotation / numSentencesAtLeastOneDisplayedAnnotation AS clickThroughRate FROM calculation;
Percentuale di clic a livello di conversazione
Una percentuale di clic a livello di conversazione si applica alle annotazioni su cui gli agenti del call center possono fare clic più volte per conversazione. Gli agenti del call center devono inviare in modo proattivo una richiesta che crei un'annotazione a livello di conversazione.
| Nome annotazione | Tipo di annotazione | Criteri |
|---|---|---|
| Assistente alla conoscenza generativa (GKA) | 'KNOWLEDGE_SEARCH' |
Per ogni messaggio della conversazione viene inviata almeno una richiesta SearchKnowledge. |
| Assistenza proattiva con l'AI generativa | 'KNOWLEDGE_SEARCH' |
Per ogni messaggio della conversazione viene inviata almeno una richiesta SearchKnowledge o AnalyzeContent. |
Metriche specifiche per funzionalità
Questa sezione elenca le metriche specifiche per ogni funzionalità.
Assistenza knowledge base generativa
L'assistenza basata sulla conoscenza generativa (GKA) fornisce risposte alle domande di un agente in base alle informazioni contenute nei documenti che fornisci. Se l'agente non riesce a trovare una risposta, GKA suggerisce una domanda simile da porre e fornisce la risposta. Questa funzionalità produce le seguenti metriche di ricerca della conoscenza:
| Nome metrica | Definizione | Calcolo |
|---|---|---|
| Conteggio risultati | Il numero totale di risposte fornite a un singolo agente per tutte le conversazioni. | |
| Rapporto tra origini delle query dell'agente | Proporzione di domande dell'agente rispetto al numero totale di domande. | Calcola il numero di domande dell'agente diviso per il numero totale di domande. |
| Rapporto tra query suggerite e query di origine | Proporzione di domande suggerite rispetto al numero totale di domande. | Calcola il numero di domande suggerite diviso per il numero totale di domande. |
| Tasso di clic sull'URI | Proporzione di risposte in cui è stato fatto clic su almeno un URI rispetto al numero totale di risposte. | Calcola il numero di risposte per le quali un agente ha fatto clic sull'URI diviso per il numero totale di risposte. |
| Rapporto tra feedback positivi | Proporzione di feedback positivi sulle risposte rispetto al numero totale di risposte. | Calcola il numero di risposte che hanno ricevuto feedback positivi diviso per il numero totale di risposte. |
| Rapporto tra feedback negativi | Proporzione di feedback negativi sulle risposte rispetto al numero totale di risposte. | Calcola il numero di risposte che hanno ricevuto feedback negativi diviso per il numero totale di risposte. |
Assistenza proattiva con l'IA generativa
L'assistenza proattiva basata sull'AI generativa suggerisce le domande in base al contesto della conversazione corrente e fornisce le risposte in base alle informazioni contenute nei documenti che fornisci. L'assistenza proattiva con l'IA generativa non richiede l'interazione con un agente. Questa funzionalità produce le seguenti metriche di assistenza alla conoscenza:
| Nome metrica | Definizione | Calcolo |
|---|---|---|
| Conteggio risultati | Numero totale di suggerimenti forniti a un singolo agente per tutte le conversazioni. | |
| Tasso di clic sull'URI | Proporzione di suggerimenti in cui è stato fatto clic su almeno un URI rispetto al numero totale di suggerimenti forniti. | Calcola il numero di suggerimenti per i quali un agente ha fatto clic sull'URI diviso per il numero totale di suggerimenti forniti. |
| Rapporto tra feedback positivi | Proporzione di feedback positivi sui suggerimenti rispetto al numero totale di suggerimenti. | Calcola il numero di suggerimenti che hanno ricevuto feedback positivi diviso per il numero totale di suggerimenti. |
| Rapporto tra feedback negativi | Proporzione di feedback negativi sui suggerimenti rispetto al numero totale di suggerimenti. | Calcola il numero di suggerimenti che hanno ricevuto feedback negativi diviso per il numero totale di suggerimenti. |
Risposta rapida
Questa sezione elenca le metriche specifiche per le risposte rapide.
Percentuale di clic effettiva (CTR effettivo)
La percentuale di clic effettiva riflette in modo più preciso la frequenza con cui gli agenti del call center fanno clic sulle annotazioni di Risposta rapida rispetto alla metrica della percentuale di clic normale. La seguente query recupera la risposta di ogni agente e le annotazioni di Risposte rapide create appositamente per la risposta dell'agente e su cui l'agente ha fatto clic. Poi conta il numero di volte in cui l'agente ha redatto la risposta utilizzando i suggerimenti per le risposte rapide, quindi divide questo numero per il conteggio totale delle risposte dell'agente.

WITH calculation AS ( SELECT sen.sentence AS agentResponse, ( # Get a list of effective smart replies that map to each agent response. SELECT ARRAY_AGG(JSON_QUERY(PARSE_JSON(JSON_VALUE(annotation.annotationRecord)), "$.reply")) FROM UNNEST (sentences) AS sen2, UNNEST (sen2.annotations) AS annotation WHERE annotation.type='SMART_REPLY' AND annotation.clicked=TRUE AND annotation.annotationRecord IS NOT NULL AND annotation.createTimeNanos >= ( # Get the timestamp of the agent response that immediately precedes # the current agent response. The timestamp of the effective smart # reply must be greater than this timestamp. SELECT MAX(sen3.createTimeNanos) FROM UNNEST(sentences) AS sen3 WHERE sen3.participantRole = 'HUMAN_AGENT' AND sen3.createTimeNanos < sen.createTimeNanos ) AND annotation.createTimeNanos <= sen.createTimeNanos ) AS effectiveSmartRepliesPerAgentResponse FROM BIGQUERY_TABLE, UNNEST (sentences) AS sen WHERE sen.participantRole = 'HUMAN_AGENT' ) SELECT COUNTIF(ARRAY_LENGTH(effectiveSmartRepliesPerAgentResponse) > 0) / COUNT(agentResponse) AS effectiveCTR FROM calculation;
Modifica frequenza
Gli agenti possono scegliere di utilizzare le risposte rapide suggerite risposte rapide alla lettera o modificarle prima di inviarle ai clienti. Il calcolo del tasso di modifica delle risposte di Risposta rapida può mostrare la frequenza con cui vengono modificate le risposte suggerite. La query seguente recupera ogni risposta rapida suggerita e la risposta dell'agente che segue immediatamente la risposta rapida. Poi conta il numero di occorrenze in cui la risposta dell'agente non contiene la risposta rapida corrispondente, quindi divide questo numero per il conteggio totale delle risposte rapide.

WITH calculation AS ( SELECT JSON_VALUE(PARSE_JSON(JSON_VALUE(annotation.annotationRecord), wide_number_mode=>'round'), "$.reply") AS smartReply, ( # Get the agent response that immediately follows the smart reply. SELECT sen2.sentence FROM UNNEST (sentences) AS sen2 WHERE sen2.createTimeNanos = ( SELECT MIN(sen3.createTimeNanos) FROM UNNEST (sentences) AS sen3 WHERE sen3.createTimeNanos > sen.createTimeNanos AND sen3.participantRole = 'HUMAN_AGENT' ) ) AS agentResponseThatFollows, FROM BIGQUERY_TABLE, UNNEST (sentences) AS sen, UNNEST (sen.annotations) AS annotation WHERE annotation.type='SMART_REPLY' AND annotation.clicked=TRUE AND annotation.annotationRecord IS NOT NULL ) SELECT COUNTIF(REGEXP_CONTAINS(agentResponseThatFollows, smartReply)) / COUNT(smartReply) AS editRate FROM calculation;
Riassunto
Questa sezione elenca le metriche specifiche per il riepilogo.
- Il tipo
GENERATOR_SUGGESTION_RESULTconterrà tutti i risultati del generatore, inclusi i riepiloghi. - Il tipo
CONVERSATION_SUMMARIZATION_SUGGESTIONconterrà i riepiloghi precedenti.
Riepilogo del generatore
Query di esempio per accedere al riepilogo generato e alle modifiche apportate dall'agente al riepilogo in formato JSON:
SELECT IF (JSON_VALUE(annotation.annotationRecord) != '', JSON_QUERY(PARSE_JSON(JSON_VALUE(annotation.annotationRecord)), "$.generatorSuggestion.summarySuggestion"), NULL) AS generator_summary, IF (JSON_VALUE(annotation.detailedFeedback) != '', JSON_QUERY(PARSE_JSON(JSON_VALUE(annotation.detailedFeedback)), "$.summarizationFeedback.summaryText"), NULL) AS feedback, FROM BIGQUERY_TABLE AS c, UNNEST(c.sentences) AS sentences, UNNEST(sentences.annotations) AS annotation WHERE annotation.type = 'GENERATOR_SUGGESTION_RESULT' AND JSON_QUERY(PARSE_JSON(JSON_VALUE(annotation.annotationRecord)), "$.generatorSuggestion.summarySuggestion") IS NOT NULL LIMIT 10 ;
Modifica distanza
La distanza di modifica del riepilogo è una misura della differenza tra i riepiloghi modificati dall'agente e quelli suggeriti. Questa metrica è correlata alla quantità di tempo che l'agente ha dedicato alla modifica dei riepiloghi suggeriti.
Esegui query sui riepiloghi e sui riepiloghi rivisti (se presenti).
Poiché gli agenti del call center possono inviare revisioni del riepilogo senza impostare il valore booleano
clickedsutrue, i riepiloghi delle query, indipendentemente dal loro statoclicked. Se il riepilogo dell'agente è nullo, l'agente non ha rivisto il riepilogo suggerito o il riepilogo rivisto non è stato inviato ad Agent Assist utilizzando il percorso di feedback preferito.Confronta i riepiloghi suggeriti con quelli rivisti dagli agenti utilizzando i tuoi algoritmi di distanza di modifica preferiti per calcolare la distanza di modifica del riepilogo. Ad esempio, Distanza di Levenshtein con penalità uguale per inserimento, eliminazione e sostituzione.

SELECT JSON_VALUE(PARSE_JSON(JSON_VALUE(annotation.annotationRecord)), "$.text") AS suggestedSummary, IF (JSON_VALUE(annotation.detailedFeedback) != '', JSON_QUERY(PARSE_JSON(JSON_VALUE(annotation.detailedFeedback)), "$.summarizationFeedback.summaryText"), NULL) AS feedback, FROM BIGQUERY_TABLE, UNNEST (sentences) AS sen, UNNEST (sen.annotations) as annotation WHERE type='CONVERSATION_SUMMARIZATION_SUGGESTION';
Modifica frequenza
Puoi calcolare il tasso di modifica per il riepilogo dividendo la distanza di modifica per la lunghezza della stringa del riepilogo modificato. Questa metrica riflette la quantità di riepilogo modificata dall'agente. Questo tasso di modifica non ha un limite superiore, ma quando il valore è uguale o superiore a uno, significa che i riepiloghi generati non sono validi e la funzionalità dovrebbe probabilmente essere disattivata.
Modifica percentuale
La percentuale di modifiche è una misura della percentuale del numero totale di riepiloghi suggeriti che sono stati modificati dagli agenti anziché essere utilizzati letteralmente. Viene calcolato dividendo il numero di riepiloghi modificati dall'agente per il numero di riepiloghi suggeriti. Questa metrica è un buon indicatore della qualità del modello quando il valore è vicino a 0. Tuttavia, quando è vicino a 1, non significa necessariamente che la qualità del modello sia scarsa, poiché la modifica potrebbe essere minima e comunque contare come modifica del riepilogo suggerito.

WITH summaryAndEdits AS ( SELECT JSON_VALUE(PARSE_JSON(JSON_VALUE(annotation.annotationRecord)), "$.text") AS suggestedSummary, IF (JSON_VALUE(annotation.detailedFeedback) != '', JSON_QUERY(PARSE_JSON(JSON_VALUE(annotation.detailedFeedback)), "$.summarizationFeedback.summaryText"), NULL) AS editedSummary, FROM BIGQUERY_TABLE, UNNEST (sentences) AS sen, UNNEST (sen.annotations) AS annotation WHERE type='CONVERSATION_SUMMARIZATION_SUGGESTION' ) SELECT countif (suggestedSummary IS NOT NULL) AS totalSummaries, countif (editedSummary IS NOT NULL) AS editedSummaries, countif (editedSummary IS NOT NULL) / countif (suggestedSummary IS NOT NULL) AS editRate FROM summaryAndEdits;