Customer Experience Insights presenta dos funciones basadas en reglas para mejorar el procesamiento de conversaciones:
- Reglas de etiquetado automático: Aplica automáticamente etiquetas de clave-valor a las conversaciones según las condiciones definidas.
- Reglas de correlación: Definen cómo vincular segmentos de conversación relacionados para formar vistas completas de las interacciones con los clientes.
Ambos tipos de reglas usan Common Expression Language (CEL) para proporcionar definiciones de reglas flexibles y dinámicas. CEL es fundamental para las reglas de correlación y el etiquetado automático. Puedes configurar estas reglas con la API o la consola de CX Insights.
Reglas de etiquetado automático
Las reglas de etiquetado automático enriquecen automáticamente las conversaciones con etiquetas personalizadas de clave-valor durante la importación. Estas etiquetas mejoran el filtrado, la categorización y la integración con otros análisis y flujos de trabajo. Puedes realizar las siguientes acciones con las reglas de etiquetado automático:
- Categoriza las conversaciones por tema, tipo de cliente, producto o resultado.
- Extrae puntos de datos clave de los metadatos de la conversación o los parámetros de Dialogflow, como los nombres de
callId,isAuthenticatedyintent, en etiquetas. - Marcar las conversaciones que requieren atención específica, como
high_escalation_risk
Etiquetas
Cada regla de etiquetado automático define una etiqueta y contiene mensajes de condición ordenados. Cada etiqueta usa las siguientes expresiones de CEL:
- Condición: Evalúa si una conversación es verdadera o falsa. Una condición vacía se establece de forma predeterminada como verdadera.
- Valor: Produce el valor de cadena de una etiqueta si la condición es verdadera.
El primer LabelingCondition que coincide determina el valor de la etiqueta.
Configura las reglas
Sigue estos pasos para configurar reglas de etiquetado automático con la API o la consola de CX Insights.
API
Usa la operación
Createpara configurar unAutoLabelingRule. Ejemplo de cuerpo de la solicitud:{ "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, si la solicitud se guarda en
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"Asigna un nombre a tu regla con el siguiente formato:
projects/[project-id]/locations/[location-id]/autoLabelingRules/[auto_labeling_rule]. El ID de[auto_labeling_rule]es ellabel_keypara las reglas personalizadas.
También puedes usar cualquiera de las siguientes operaciones con las reglas de etiquetado automático. Una regla de etiquetado automático puede tener un máximo de 100 etiquetas por conversación y un máximo de 256 caracteres por entrada.
Getcurl -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"Listcurl -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. Según los campos que se deban actualizar, especifica elupdate_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. Tu carga útil debe contener la regla que se probará y una conversación de muestra en la que se evaluará la regla. Ejemplo:{ "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
- Navega a la consola de CX Insights, accede y selecciona tu proyecto. Consola de CX Insights
- Haz clic en ConfiguraciónConfiguración > Reglas de etiquetado automático.
- Ingresa expresiones CEL con un editor de Monaco.
- Haz clic en Guardar.
Ejemplos de CEL
- Etiqueta por ID de 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'" } - Marcar opiniones negativas:
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'" } - Sigue estos pasos para extraer un parámetro de 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()" }
Usa etiquetas automáticas en los filtros de reglas de análisis
Las reglas de etiquetado automático pueden aplicar etiquetas que controlan qué conversaciones procesan las reglas de análisis principales. El campo conversation_filter en una regla de análisis puede hacer referencia a etiquetas con el mapa de etiquetas.
Ejemplo:
// 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
Reglas de correlación
Las reglas de correlación definen cómo Customer Experience Insights identifica y vincula los segmentos de conversación relacionados. Un segmento de conversación representa una sola parte de una conversación, tal como se incorporó, como una sesión de Dialogflow o una sola interacción del agente. Una conversación completa representa una conversación completa y vinculada compuesta por uno o más segmentos. De forma predeterminada, todas las conversaciones nuevas comienzan como segmentos. Las reglas de correlación te ayudan a crear un historial completo de la interacción de un cliente, incluso cuando abarca varios agentes, canales o sesiones.
Las reglas de correlación proporcionan los siguientes beneficios para el análisis de conversaciones de atención al cliente.
- Transcripción unificada: Consulta una sola transcripción cronológica que combina expresiones de varias fuentes, como una sesión de chatbot seguida de una llamada con un agente en vivo.
- Análisis en múltiples canales: Vincula las interacciones en diferentes canales, como el chat y la voz, para analizar las tendencias de opiniones y la progresión de los temas a lo largo de todo el recorrido de la conversación.
- Precisión de las métricas: Calcula métricas como el tiempo total de gestión o el porcentaje de resolución para la interacción completa, en lugar de solo para las partes individuales.
- Contexto para los agentes: Proporciona a los agentes humanos el historial completo de las interacciones automatizadas anteriores.
Proceso de correlación
Cuando las reglas de correlación coinciden con varios segmentos de conversación, CX Insights los agrupa. Luego, CX Insights crea una entrada nueva para representar la conversación completa con su propio ID de conversación único. CX Insights establece el ID de correlación de una conversación completa en la clave común que vincula los segmentos y su tipo en FULL. CX Insights establece los IDs de correlación de los segmentos originales en la clave común y sus tipos en SEGMENT. Si un segmento no se correlaciona con ningún otro, CX Insights le asigna los tipos de correlación SEGMENT y FULL.
Vínculos de mensajes
Las reglas de correlación vinculan segmentos de conversaciones relacionados de diferentes fuentes y canales. CX Insights sigue estos pasos para vincular segmentos de conversación:
- Agrupar por clave de unión: CX Insights evalúa una expresión de clave de unión de CEL para extraer un identificador común de la conversación, como
callId. Las conversaciones que comparten la misma clave de unión son candidatas potenciales para la vinculación. Las claves de unión deben ser específicas. Si una clave coincide con más de 20 conversaciones, es posible que se rechace la correlación para evitar problemas de rendimiento. - Refine with constraints: La expresión de restricción en CEL es una verificación booleana opcional que se evalúa por pares entre los candidatos. Esta expresión ayuda a confirmar si dos segmentos que comparten una clave realmente deberían estar vinculados. Esta verificación es bidireccional, por lo que podría incluir el tramo A vinculado al tramo B y el tramo B vinculado al tramo A.
- Vínculo transitivo: La vinculación es transitiva. Si la conversación A está vinculada a B, y B está vinculada a C, entonces A, B y C se combinan en un solo grupo de conversaciones
FULL.
Una conversación combinada puede contener un máximo de cinco segmentos.
Configura reglas de correlación
Puedes configurar reglas de correlación con la API o la consola de CX Insights.
API
- Ejecuta el siguiente código para configurar 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" - Asigna un nombre a tu regla con el siguiente formato:
projects/{project-id}/locations/{location-id}/correlationConfig. - Consulta el resultado en el campo
Conversation.CorrelationInfo.
Puedes usar cualquiera de las siguientes operaciones con reglas de correlación.
GetCorrelationConfigcurl-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. Cuerpo de la solicitud de muestra, si se guarda en unupdated_corr_config.json:{ "fullConversationConfig": { "correlationRules": [ { "joinKeyExpression": "conversation.labels.uui", "active": true } ] } }TestCorrelationConfig. Tu carga útil debe especificar los detalles de la conversación de muestra, además de la regla de correlación que se probará. Ejemplo:{ "correlationConfig": { "fullConversationConfig": { "correlationRules": [ { "joinKeyExpression": "conversation.agent_id", "active": true } ] } }, "filter": "agent_id="agent_007"", "maxSampleCount": 100 }
Console
- Navega a la consola de CX Insights, accede y selecciona tu proyecto. Consola de CX Insights
- Haz clic en settingsConfiguración > Configuración de correlación.
- Haz clic en Guardar.
Los administradores pueden definir y administrar las entradas de CorrelationRule dentro de CorrelationConfig. Puedes probar tus reglas de correlación seleccionando conversaciones. Los resultados de las pruebas se agregan a un conjunto de datos para su revisión.
Ejemplo de CEL
Vínculo por callId desde 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)
Análisis a nivel de segmento y conversación
Con CX Insights, puedes analizar conversaciones con diferentes niveles de detalle, incluido el análisis por segmento y por conversación para todas las funciones.
- Navega a la consola de CX Insights, accede y selecciona tu proyecto. Consola de CX Insights
- Haz clic en ConfiguraciónConfiguración y elige la granularidad del análisis. Tu elección se aplica a los análisis futuros y se puede aplicar de forma retroactiva, con posibles costos adicionales.
- Haz clic en Guardar.
Las páginas Centro de conversación y Calidad de la IA de la consola comparan los datos a nivel de la conversación y del segmento, y muestran la estructura de varios segmentos de las conversaciones vinculadas.
Métricas y análisis de filtros
Para segmentar niveles específicos de análisis en la API o la consola, usa los siguientes filtros.
Vista a nivel del segmento
El objetivo de esta vista es analizar partes específicas de una interacción, como el turno de un solo agente. Usa el parámetro correlation_info.correlation_types:SEGMENT para filtrar la vista a nivel del segmento.
Vista de conversación completa
Usa esta vista para analizar el recorrido del cliente completo, ya sea que consista en conversaciones vinculadas o independientes. Usa el parámetro correlation_info.correlation_types:FULL para filtrar la vista de conversación completa.