Customer Experience Insights introduce due funzionalità basate su regole per migliorare l'elaborazione delle conversazioni:
- Regole di etichettatura automatica:applica automaticamente le etichette chiave-valore alle conversazioni in base alle condizioni definite.
- Regole di correlazione:definisci come collegare i segmenti di conversazione correlati per formare visualizzazioni complete dell'interazione con i clienti.
Entrambi i tipi di regole utilizzano il Common Expression Language (CEL) per fornire definizioni di regole flessibili e dinamiche. CEL è fondamentale sia per le regole di etichettatura automatica sia per quelle di correlazione. Puoi configurare queste regole con l'API o la console CX Insights.
Regole di etichettatura automatica
Le regole di etichettatura automatica arricchiscono automaticamente le conversazioni con etichette chiave-valore personalizzate durante l'importazione. Queste etichette migliorano il filtraggio, la categorizzazione e l'integrazione con altre analisi e altri flussi di lavoro. Puoi eseguire le seguenti azioni con le regole di etichettatura automatica:
- Classifica le conversazioni per argomento, tipo di cliente, prodotto o risultato.
- Estrai i punti dati chiave dai metadati della conversazione o dai parametri di Dialogflow, ad esempio i nomi di
callId,isAuthenticatedeintent, nelle etichette. - Contrassegna le conversazioni che richiedono un'attenzione specifica, ad esempio
high_escalation_risk.
Etichette
Ogni regola di etichettatura automatica definisce un'etichetta e contiene messaggi di condizione ordinati. Ogni etichetta utilizza le seguenti espressioni CEL:
- Condizione: valuta se una conversazione è vera o falsa. Una condizione vuota viene impostata su true per impostazione predefinita.
- Valore: produce il valore stringa per un'etichetta se la condizione è vera.
Il primo LabelingCondition corrispondente determina il valore dell'etichetta.
Configura le regole
Segui questi passaggi per configurare le regole di etichettatura automatica utilizzando l'API o la console CX Insights.
API
Utilizza l'operazione
Createper configurare unAutoLabelingRule. Esempio di corpo della richiesta:{ "displayName": "$DISPLAY_NAME", "labelKey": "$UNIQUE_KEY_NAME", "labelKeyType": LABEL_KEY_TYPE_CUSTOM "conditions": [ { "condition": "conversation.turn_count > 10 && conversation.duration > "60s"", "value": "'long_call'" }, { "condition": "conversation.agent_id == "agent_007"", "value": "'special_agent'" } ], "active": true }Comando curl, se la richiesta è salvata in
auto_labeling_rule.json:curl-X POST
-H "Authorization: Bearer $(gcloud auth --impersonate-service-account=$SA_EMAIL print-access-token)"
-H "Content-Type: application/json; charset=utf-8"
-d @auto_labeling_rule.json
"https://$ENDPOINT/v1/projects/$PROJECT/locations/$LOCATION/autoLabelingRules?auto_labeling_rule_id=$RULE_ID"Assegna un nome alla regola nel seguente formato:
projects/[project-id]/locations/[location-id]/autoLabelingRules/[auto_labeling_rule]. L'ID[auto_labeling_rule]è l'label_keyper le regole personalizzate.
Puoi anche utilizzare una delle seguenti operazioni con le regole di etichettatura automatica. Una regola di etichettatura automatica può avere un massimo di 100 etichette per conversazione con un massimo di 256 caratteri per voce.
Get.curl -X GET
-H "Authorization: Bearer $(gcloud auth --impersonate-service-account=$SA_EMAIL print-access-token)"
-H "Content-Type: application/json; charset=utf-8" \ "https://$ENDPOINT/v1/projects/$PROJECT/locations/$LOCATION/autoLabelingRules/$RULE_ID"List.curl -X GET
-H "Authorization: Bearer $(gcloud auth --impersonate-service-account=$SA_EMAIL print-access-token)"
-H "Content-Type: application/json; charset=utf-8" \ "https://$ENDPOINT/v1/projects/$PROJECT/locations/$LOCATION/autoLabelingRules"Update. A seconda dei campi da aggiornare, specificaupdate_mask.curl -X PATCH
-H "Authorization: Bearer $(gcloud auth --impersonate-service-account=$SA_EMAIL print-access-token)"
-H "Content-Type: application/json; charset=utf-8"
-d @update_payload.json \ "https://$ENDPOINT/v1/projects/$PROJECT/locations/$LOCATION/autoLabelingRules/$RULE_ID?update_mask=displayName,active"TestAutoLabelingRule. Il payload deve contenere la regola da testare e una conversazione di esempio su cui verrà valutata la regola. Esempio:{ "conversation": { "agentId": "agent_007", "turnCount": 15, "duration": "75s" /# Add other conversation fields relevant to the rule }, "autoLabelingRule": { "displayName": "Test Rule", "labelKey": "test_category", "conditions": [ { "condition": "conversation.turn_count > 10 && conversation.duration > "60s"", "value": "'long_call_test'" } ], "active": true } }
Console
- Vai alla console CX Insights, accedi e seleziona il tuo progetto. Console CX Insights
- Fai clic su ImpostazioniImpostazioni > Regole di etichettatura automatica.
- Inserisci espressioni CEL con un editor Monaco.
- Fai clic su Salva.
Esempi di CEL
- Etichetta per ID agente:
label_key: "agent_category" conditions { condition: "conversation.agent_id == '007'" value: "'special_agent'" } conditions { condition: "conversation.agent_id.startsWith('team_a')" value: "'tier_1_support'" } conditions { condition: "" // Default value: "'standard'" } - Segnala sentiment negativo:
label_key: "needs_review" conditions { // This example assumes sentiment scores are present in the conversation's latest_analysis condition: "has(conversation.latest_analysis.analysis_result.call_analysis_metadata.sentiments) && conversation.latest_analysis. analysis_result.call_analysis_metadata.sentiments.exists(s, s. sentiment_data.score < -0.5)" value: "'true'" } - Estrarre un parametro Dialogflow:
label_key: "df_session_outcome" conditions { condition: "" // Always try to extract value: "conversation.runtime_annotations.map(a, a.dialogflow_interaction.detect_intent_response_v3.query_result.parameters).filter(p, has(p.outcome)).map(p, p.outcome).first_element_or_empty_string()" }
Utilizzare le etichette automatiche nei filtri delle regole di analisi
Le regole di etichettatura automatica possono applicare etichette che controllano quali conversazioni vengono elaborate dalle regole di analisi principali. Il campo conversation_filter in una regola di analisi può fare riferimento alle etichette utilizzando la mappa delle etichette.
Esempio:
// AnalysisRule to run detailed analysis on conversations labeled 'needs_review: true'
display_name: "Detailed Analysis for Reviewed Conversations"
conversation_filter: "labels.needs_review = \"true\""
annotator_selector: {
run_summarization_annotator: true
// ... other annotators
}
analysis_percentage: 1.0
active: true
Regole di correlazione
Le regole di correlazione definiscono il modo in cui Customer Experience Insights identifica e collega i segmenti di conversazione correlati. Un segmento di conversazione rappresenta una singola parte di una conversazione, così come è stata acquisita, ad esempio una sessione Dialogflow o una singola interazione con l'agente. Una conversazione completa rappresenta una conversazione completa e collegata composta da uno o più segmenti. Per impostazione predefinita, tutte le nuove conversazioni iniziano come segmenti. Le regole di correlazione ti aiutano a creare una cronologia completa dell'interazione di un cliente, anche quando si estende a più agenti, canali o sessioni.
Le regole di correlazione offrono i seguenti vantaggi per l'analisi delle conversazioni del servizio clienti.
- Trascrizione unificata:visualizza una singola trascrizione cronologica che combina le espressioni di più fonti, ad esempio una sessione di chatbot seguita da una chiamata con un operatore in carne e ossa.
- Analisi cross-channel:collega le interazioni su diversi canali, come chat e voce, per analizzare le tendenze del sentiment e la progressione degli argomenti durante l'intero percorso della conversazione.
- Accuratezza delle metriche:calcola metriche come il tempo di gestione totale o il tasso di risoluzione per l'intera interazione anziché solo per le singole parti.
- Contesto per gli agenti:fornisci agli agenti umani la cronologia completa delle precedenti interazioni automatizzate.
Procedura di correlazione
Quando le regole di correlazione corrispondono a più segmenti di conversazione, CX Insights li raggruppa. CX Insights crea quindi una nuova voce per rappresentare l'intera conversazione con il proprio ID conversazione univoco. CX Insights imposta l'ID correlazione di un'intera conversazione sulla chiave comune che collega i segmenti e il relativo tipo su FULL. CX Insights imposta gli ID correlazione dei segmenti originali sulla chiave comune e i relativi tipi su SEGMENT. Se un segmento non è correlato ad altri segmenti, CX Insights gli assegna entrambi i tipi di correlazione SEGMENT e FULL.
Link ai messaggi
Le regole di correlazione collegano segmenti di conversazione correlati provenienti da origini e canali diversi. CX Insights segue questi passaggi per collegare i segmenti di conversazione:
- Raggruppa per chiave di join:CX Insights valuta un'espressione della chiave di join CEL per estrarre un identificatore comune dalla conversazione, ad esempio
callId. Le conversazioni che condividono la stessa chiave di join sono potenziali candidati per il collegamento. Le chiavi di join devono essere specifiche. Se una chiave corrisponde a più di 20 conversazioni, la correlazione potrebbe essere rifiutata per evitare problemi di prestazioni. - Perfeziona con i vincoli:l'espressione di vincolo CEL è un controllo booleano facoltativo valutato a coppie tra i candidati. Questa espressione consente di verificare se due segmenti che condividono una chiave devono essere effettivamente collegati. Questo controllo è bidirezionale, quindi potrebbe includere il segmento A collegato al segmento B e il segmento B collegato al segmento A.
- Link transitivo:il collegamento è transitivo. Se la conversazione A è collegata alla conversazione B e la conversazione B è collegata alla conversazione C, A, B e C vengono unite in un unico gruppo di conversazioni
FULL.
Una conversazione unita può contenere un massimo di cinque segmenti.
Configurare le regole di correlazione
Puoi configurare le regole di correlazione utilizzando l'API o la console CX Insights.
API
- Esegui il seguente codice per configurare un
CorrelationConfig.curl -X PATCH
-H "Authorization: Bearer $(gcloud auth --impersonate-service-account=$SA_EMAIL print-access-token)"
-H "Content-Type: application/json; charset=utf-8"
-d @update_corr_config.json
"https://$ENDPOINT/v1/projects/$PROJECT/locations/$LOCATION/correlationConfig?update_mask=fullConversationConfig" - Assegna alla regola un nome nel seguente formato:
projects/{project-id}/locations/{location-id}/correlationConfig. - Visualizza il risultato nel campo
Conversation.CorrelationInfo.
Puoi utilizzare una qualsiasi delle seguenti operazioni con le regole di correlazione.
GetCorrelationConfig.curl-X GET
-H "Authorization: Bearer $(gcloud auth --impersonate-service-account=$SA_EMAIL print-access-token)"
-H "Content-Type: application/json; charset=utf-8"
"https://$ENDPOINT/v1/projects/$PROJECT/locations/$LOCATION/correlationConfig"UpdateCorrelationConfig. Corpo della richiesta di esempio, se salvato in unupdated_corr_config.json:{ "fullConversationConfig": { "correlationRules": [ { "joinKeyExpression": "conversation.labels.uui", "active": true } ] } }TestCorrelationConfig. Il payload deve specificare i dettagli della conversazione di esempio oltre alla regola di correlazione da testare. Esempio:{ "correlationConfig": { "fullConversationConfig": { "correlationRules": [ { "joinKeyExpression": "conversation.agent_id", "active": true } ] } }, "filter": "agent_id="agent_007"", "maxSampleCount": 100 }
Console
- Vai alla console CX Insights, accedi e seleziona il tuo progetto. Console CX Insights
- Fai clic su ImpostazioniImpostazioni > Configurazione correlazione.
- Fai clic su Salva.
Gli amministratori possono definire e gestire le voci CorrelationRule all'interno di CorrelationConfig. Puoi testare le regole di correlazione selezionando le conversazioni. I risultati del test vengono aggiunti a un set di dati per la revisione.
Esempio di CEL
Link di callId da Dialogflow:
join_key_expression:
// Extracts 'callId' from Dialogflow parameters, falls back to conversation name.
default(conversation.runtime_annotations.map(a,
a.dialogflow_interaction.detect_intent_response_v3.query_result.parameters)
.filter(p, has(p.callId))
.map(p, p.callId)
.first_element_or_empty_string(), conversation.name)
Analisi a livello di segmento e conversazione
Con CX Insights puoi analizzare le conversazioni a diversi livelli di granularità, inclusa l'analisi per segmento e per conversazione per tutte le funzionalità.
- Vai alla console CX Insights, accedi e seleziona il tuo progetto. Console CX Insights
- Fai clic su ImpostazioniImpostazioni e scegli la granularità dell'analisi. La tua scelta si applica alle analisi future e può essere applicata retroattivamente, con potenziali costi aggiuntivi.
- Fai clic su Salva.
Le pagine Hub delle conversazioni e AI per la qualità nella console confrontano i dati a livello di conversazione e segmento e indicano la struttura multisegmento delle conversazioni collegate.
Filtrare metriche e analisi
Per scegliere come target livelli specifici di analisi nell'API o nella console, utilizza i seguenti filtri.
Visualizzazione a livello di segmento
Lo scopo di questa visualizzazione è analizzare parti specifiche di un'interazione, ad esempio il turno di un singolo agente. Utilizza il parametro correlation_info.correlation_types:SEGMENT per filtrare la visualizzazione a livello di segmento.
Visualizzazione della conversazione completa
Utilizza questa visualizzazione per analizzare l'intero customer journey, indipendentemente dal fatto che sia costituito da conversazioni collegate o autonome. Utilizza il parametro correlation_info.correlation_types:FULL per filtrare la visualizzazione della conversazione completa.