Customer Experience Insights는 대화 처리를 개선하기 위해 두 가지 규칙 기반 기능을 도입합니다.
- 자동 라벨 지정 규칙: 정의된 조건을 기반으로 대화에 키-값 라벨을 자동으로 적용합니다.
- 상관관계 규칙: 관련 대화 세그먼트를 함께 연결하여 완전한 고객 상호작용 뷰를 형성하는 방법을 정의합니다.
두 규칙 유형 모두 Common Expression Language (CEL)을 사용하여 유연하고 동적인 규칙 정의를 제공합니다. CEL은 자동 라벨 지정 규칙과 상관관계 규칙 모두에 기본입니다. API 또는 CX Insights 콘솔을 사용하여 이러한 규칙을 구성할 수 있습니다.
자동 라벨 지정 규칙
자동 라벨 지정 규칙은 가져오기 중에 커스텀 키-값 라벨로 대화를 자동으로 보강합니다. 이러한 라벨은 필터링, 분류, 다른 분석 및 워크플로와의 통합을 개선합니다. 자동 라벨 지정 규칙을 사용하여 다음 작업을 수행할 수 있습니다.
- 주제, 고객 유형, 제품 또는 결과별로 대화를 분류합니다.
- 대화 메타데이터 또는 Dialogflow 매개변수(예:
callId,isAuthenticated,intent이름)에서 라벨로 주요 데이터 포인트를 추출합니다. high_escalation_risk와 같이 특별한 주의가 필요한 대화에 플래그를 지정합니다.
라벨
각 자동 라벨 지정 규칙은 라벨을 정의하고 순서가 지정된 조건 메시지를 포함합니다. 각 라벨은 다음 CEL 표현식을 사용합니다.
- 조건: 대화가 true인지 false인지 평가합니다. 빈 조건은 기본적으로 true입니다.
- 값: 조건이 true인 경우 라벨의 문자열 값을 생성합니다.
일치하는 첫 번째 LabelingCondition이 라벨의 값을 결정합니다.
규칙 구성
API 또는 CX Insights 콘솔을 사용하여 자동 라벨 지정 규칙을 구성하려면 다음 단계를 따르세요.
API
Create작업을 사용하여AutoLabelingRule을 구성합니다. 요청 본문 예시:{ "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 }요청이
auto_labeling_rule.json에 저장된 경우 curl 명령어: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"projects/[project-id]/locations/[location-id]/autoLabelingRules/[auto_labeling_rule]형식으로 규칙 이름을 지정합니다.[auto_labeling_rule]ID는 커스텀 규칙의label_key입니다.
자동 라벨 지정 규칙과 함께 다음 작업을 사용할 수도 있습니다. 자동 라벨 지정 규칙은 대화당 최대 100개의 라벨을 포함할 수 있으며 항목당 최대 256자(영문 기준)를 포함할 수 있습니다.
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. 업데이트할 필드에 따라update_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. 페이로드에는 테스트할 규칙과 규칙이 평가될 샘플 대화가 포함되어야 합니다. 예시:{ "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 } }
콘솔
- CX Insights 콘솔로 이동하여 로그인하고 프로젝트를 선택합니다. CX Insights 콘솔
- settings설정 > 자동 라벨 지정 규칙 을 클릭합니다.
- Monaco 편집기로 CEL 표현식을 입력합니다.
- 저장 을 클릭합니다.
CEL 예시
- 상담사 ID별 라벨:
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'" } - 부정적인 감정에 플래그 지정:
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'" } - 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()" }
분석 규칙 필터에서 자동 라벨 사용
자동 라벨 지정 규칙은 기본 분석 규칙이 처리하는 대화를 제어하는 라벨을 적용할 수 있습니다. 분석 규칙의 conversation_filter 필드는 라벨 맵을 사용하여 라벨을 참조할 수 있습니다.
예시:
// 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
상관관계 규칙
상관관계 규칙은 Customer Experience Insights가 관련 대화 세그먼트를 식별하고 연결하는 방법을 정의합니다. 대화 세그먼트는 Dialogflow 세션 또는 단일 상담사 상호작용과 같이 수집된 대화의 단일 부분을 나타냅니다. 전체 대화는 하나 이상의 세그먼트로 구성된 완전하고 연결된 대화를 나타냅니다. 기본적으로 모든 새 대화는 세그먼트로 시작됩니다. 상관관계 규칙을 사용하면 여러 상담사, 채널 또는 세션에 걸쳐 있더라도 고객 상호작용의 전체 기록을 만들 수 있습니다.
상관관계 규칙은 고객 서비스 대화 분석에 다음과 같은 이점을 제공합니다.
- 통합 스크립트: 챗봇 세션 후 실시간 상담사 통화와 같이 여러 소스의 발화를 결합하는 단일의 시간순 스크립트를 봅니다.
- 교차 채널 분석: 채팅 및 음성과 같은 여러 채널에서 상호작용을 연결하여 전체 대화 여정에서 감정 추세와 주제 진행 상황을 분석합니다.
- 측정항목 정확성: 개별 부분만 아니라 전체 상호작용에 대한 총 주문 상품 준비 시간 또는 해결률과 같은 측정항목을 계산합니다.
- 상담사 컨텍스트: 상담사에게 이전 자동 상호작용의 전체 기록을 제공합니다.
상관관계 프로세스
상관관계 규칙이 여러 대화 세그먼트와 일치하면 CX Insights는 이를 함께 그룹화합니다. 그런 다음 CX Insights는 고유한 대화 ID로 전체 대화를 나타내는 새 항목을 만듭니다. CX Insights는 전체 대화의 상관관계 ID를 세그먼트를 연결하는 공통 키로 설정하고 유형을 FULL로 설정합니다. CX Insights는 원래 세그먼트의 상관관계 ID를 공통 키로 설정하고 유형을 SEGMENT로 설정합니다. 세그먼트가 다른 세그먼트와 상관관계가 없는 경우 CX Insights는 SEGMENT 및 FULL 상관관계 유형을 모두 제공합니다.
메시지 연결
상관관계 규칙은 여러 소스 및 채널의 관련 대화 세그먼트를 연결합니다. CX Insights는 다음 단계에 따라 대화 세그먼트를 연결합니다.
- 조인 키별 그룹화: CX Insights는 CEL 조인 키 표현식을 평가하여 대화에서 공통 식별자(예:
callId)를 추출합니다. 동일한 조인 키를 공유하는 대화는 연결 후보가 될 수 있습니다. 조인 키는 구체적이어야 합니다. 키가 20개가 넘는 대화와 일치하면 성능 문제를 방지하기 위해 상관관계가 거부될 수 있습니다. - 제약조건으로 구체화: CEL 제약조건 표현식은 후보 간에 쌍으로 평가되는 선택적 불리언 체크입니다. 이 표현식은 키를 공유하는 두 세그먼트를 실제로 연결해야 하는지 확인하는 데 도움이 됩니다. 이 체크는 양방향이므로 세그먼트 B에 연결된 세그먼트 A와 세그먼트 A에 연결된 세그먼트 B를 포함할 수 있습니다.
- 전이적 링크: 연결은 전이적입니다. 대화 A가 B에 연결되고 B가 C에 연결되면 A, B, C가 단일
FULL대화 그룹으로 병합됩니다.
병합된 대화는 최대 5개의 세그먼트를 포함할 수 있습니다.
상관관계 규칙 구성
API 또는 CX Insights 콘솔을 사용하여 상관관계 규칙을 구성할 수 있습니다.
API
- 다음 코드를 실행하여
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" projects/{project-id}/locations/{location-id}/correlationConfig형식으로 규칙 이름을 지정합니다.Conversation.CorrelationInfo필드에서 결과를 확인합니다.
상관관계 규칙과 함께 다음 작업을 사용할 수 있습니다.
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.updated_corr_config.json에 저장된 경우 샘플 본문 요청:{ "fullConversationConfig": { "correlationRules": [ { "joinKeyExpression": "conversation.labels.uui", "active": true } ] } }TestCorrelationConfig. 페이로드에는 테스트할 상관관계 규칙 외에 샘플 대화 세부정보를 지정해야 합니다. 예시:{ "correlationConfig": { "fullConversationConfig": { "correlationRules": [ { "joinKeyExpression": "conversation.agent_id", "active": true } ] } }, "filter": "agent_id="agent_007"", "maxSampleCount": 100 }
콘솔
- CX Insights 콘솔로 이동하여 로그인하고 프로젝트를 선택합니다. CX Insights 콘솔
- settings설정 > 상관관계 구성 을 클릭합니다.
- 저장 을 클릭합니다.
관리자는 CorrelationConfig 내에서 CorrelationRule 항목을 정의하고 관리할 수 있습니다. 대화를 선택하여 상관관계 규칙을 테스트할 수 있습니다. 테스트 결과는 검토를 위해 데이터 세트에 추가됩니다.
CEL 예시
Dialogflow의 callId별 링크:
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)
세그먼트 및 대화 수준 분석
CX Insights를 사용하면 모든 기능에 대해 세그먼트별 분석과 대화별 분석을 모두 포함하여 다양한 세분화 수준에서 대화를 분석할 수 있습니다. 콘솔의 대화 허브 및 Quality AI 페이지는 대화 및 세그먼트 수준 데이터를 비교하여 연결된 대화의 다중 세그먼트 구조를 나타냅니다.
특정 분석 수준을 타겟팅하려면 다음 필터를 분석 규칙과 함께 사용하세요.
세그먼트 수준 뷰
이 뷰의 목표는 단일 상담사의 차례와 같은 상호작용의 특정 부분을 분석하는 것입니다. correlation_info.correlation_types:SEGMENT 매개변수를 사용하여 세그먼트 수준 뷰를 필터링합니다.
전체 대화형식으로 보기
이 뷰를 사용하여 연결된 대화로 구성되든 독립형 대화로 구성되든 전체 고객 여정을 분석합니다. correlation_info.correlation_types:FULL 매개변수를 사용하여 전체 대화형식으로 보기를 필터링합니다.