자동 라벨 지정 및 상관관계 규칙

고객 경험 인사이트에는 대화 처리를 개선하기 위한 두 가지 규칙 기반 기능이 도입되었습니다.

  • 자동 라벨 지정 규칙: 정의된 조건에 따라 대화에 키-값 라벨을 자동으로 적용합니다.
  • 상관관계 규칙: 관련 대화 세그먼트를 연결하여 완전한 고객 상호작용 뷰를 형성하는 방법을 정의합니다.

두 규칙 유형 모두 Common Expression Language (CEL)을 사용하여 유연하고 동적인 규칙 정의를 제공합니다. CEL은 자동 라벨 지정 및 상관관계 규칙 모두에 기본입니다. API 또는 CX Insights 콘솔을 사용하여 이러한 규칙을 구성할 수 있습니다.

자동 라벨 지정 규칙

자동 라벨 지정 규칙은 가져오기 중에 맞춤 키-값 라벨로 대화를 자동으로 보강합니다. 이러한 라벨은 필터링, 분류, 다른 분석 및 워크플로와의 통합을 개선합니다. 자동 라벨 지정 규칙을 사용하여 다음 작업을 수행할 수 있습니다.

  • 주제, 고객 유형, 제품 또는 결과별로 대화를 분류합니다.
  • 대화 메타데이터 또는 Dialogflow 매개변수(예: callId, isAuthenticated, intent 이름)에서 주요 데이터 포인트를 라벨로 추출합니다.
  • high_escalation_risk와 같이 특별한 주의가 필요한 대화에 플래그를 지정합니다.

라벨

각 자동 라벨 지정 규칙은 라벨을 정의하고 순서가 지정된 조건 메시지를 포함합니다. 각 라벨은 다음 CEL 표현식을 사용합니다.

  • 조건: 대화가 참인지 거짓인지 평가합니다. 빈 조건은 기본적으로 true입니다.
  • : 조건이 true인 경우 라벨의 문자열 값을 생성합니다.

일치하는 첫 번째 LabelingCondition에 따라 라벨의 값이 결정됩니다.

규칙 구성

API 또는 CX Insights 콘솔을 사용하여 자동 라벨 지정 규칙을 구성하려면 다음 단계를 따르세요.

API

  1. 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"

  2. 규칙 이름을 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
    }
    }

콘솔

  1. CX Insights 콘솔로 이동하여 로그인하고 프로젝트를 선택합니다. CX Insights 콘솔
  2. 설정설정 > 자동 라벨 지정 규칙을 클릭합니다.
  3. Monaco 편집기로 CEL 표현식을 입력합니다.
  4. 저장을 클릭합니다.

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

상관관계 규칙

상관관계 규칙은 고객 경험 통계가 관련 대화 세그먼트를 식별하고 연결하는 방법을 정의합니다. 대화 세그먼트는 Dialogflow 세션이나 단일 상담사 상호작용과 같이 수집된 대화의 단일 부분을 나타냅니다. 전체 대화는 하나 이상의 세그먼트로 구성된 완전한 연결된 대화를 나타냅니다. 기본적으로 모든 새 대화는 세그먼트로 시작됩니다. 상관관계 규칙을 사용하면 여러 상담사, 채널 또는 세션에 걸쳐 있더라도 고객 상호작용의 전체 기록을 만들 수 있습니다.

상관관계 규칙은 고객 서비스 대화 분석에 다음과 같은 이점을 제공합니다.

  • 통합 스크립트: 챗봇 세션 후 실시간 상담사 통화와 같이 여러 소스의 발언을 결합한 단일 시간순 스크립트를 확인합니다.
  • 교차 채널 분석: 채팅, 음성과 같은 다양한 채널의 상호작용을 연결하여 전체 대화 여정에서 감정 추세와 주제 진행 상황을 분석합니다.
  • 측정항목 정확도: 개별 부분만 고려하지 않고 전체 상호작용에 대한 총 처리 시간 또는 해결률과 같은 측정항목을 계산합니다.
  • 상담사를 위한 컨텍스트: 실제 상담사에게 이전 자동 상호작용의 전체 기록을 제공합니다.

상관관계 프로세스

상관관계 규칙이 여러 대화 세그먼트와 일치하면 CX Insights에서 이를 그룹화합니다. 그러면 CX Insights에서 고유한 대화 ID를 사용하여 전체 대화를 나타내는 새 항목을 만듭니다. CX Insights는 전체 대화의 상관관계 ID를 세그먼트를 연결하는 공통 키로 설정하고 유형을 FULL로 설정합니다. CX Insights는 원래 세그먼트의 상관관계 ID를 공통 키로 설정하고 유형을 SEGMENT로 설정합니다. 세그먼트가 다른 세그먼트와 상관관계가 없는 경우 CX Insights는 SEGMENTFULL 상관관계 유형을 모두 부여합니다.

상관관계 규칙은 다양한 소스와 채널의 관련 대화 세그먼트를 연결합니다. CX 통계는 다음 단계에 따라 대화 세그먼트를 연결합니다.

  1. 조인 키로 그룹화: CX Insights는 CEL 조인 키 표현식을 평가하여 대화에서 공통 식별자(예: callId)를 추출합니다. 동일한 조인 키를 공유하는 대화는 연결 후보가 될 수 있습니다. 조인 키는 구체적이어야 합니다. 키가 20개가 넘는 대화와 일치하는 경우 성능 문제를 방지하기 위해 상관관계가 거부될 수 있습니다.
  2. 제약 조건으로 개선: CEL 제약 조건 표현식은 후보 간에 쌍으로 평가되는 선택적 불리언 검사입니다. 이 표현식은 키를 공유하는 두 세그먼트가 실제로 연결되어야 하는지 확인하는 데 도움이 됩니다. 이 확인은 양방향이므로 세그먼트 B에 연결된 세그먼트 A와 세그먼트 A에 연결된 세그먼트 B가 포함될 수 있습니다.
  3. 전이적 링크: 링크는 전이적입니다. 대화 A가 B에 연결되고 B가 C에 연결되면 A, B, C가 하나의 FULL 대화 그룹으로 병합됩니다.

병합된 대화에는 최대 5개의 세그먼트가 포함될 수 있습니다.

상관관계 규칙 구성

API 또는 CX Insights 콘솔을 사용하여 상관관계 규칙을 구성할 수 있습니다.

API

  1. 다음 코드를 실행하여 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"
  2. 다음 형식으로 규칙 이름을 지정합니다. projects/{project-id}/locations/{location-id}/correlationConfig
  3. 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
    }

콘솔

  1. CX Insights 콘솔로 이동하여 로그인하고 프로젝트를 선택합니다. CX Insights 콘솔
  2. 설정Settings > 상관관계 구성을 클릭합니다.
  3. 저장을 클릭합니다.

관리자는 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를 사용하면 모든 기능에 대해 세그먼트별 분석과 대화별 분석을 비롯한 다양한 세부사항으로 대화를 분석할 수 있습니다.

  1. CX Insights 콘솔로 이동하여 로그인하고 프로젝트를 선택합니다. CX Insights 콘솔
  2. 설정설정을 클릭하고 분석 세부사항을 선택합니다. 선택사항은 향후 분석에 적용되며, 추가 비용이 발생할 수 있지만 소급 적용될 수 있습니다.
  3. 저장을 클릭합니다.

콘솔의 대화 허브품질 AI 페이지에서는 대화 및 세그먼트 수준 데이터를 비교하고 연결된 대화의 다중 세그먼트 구조를 나타냅니다.

측정항목 및 분석 필터링

API 또는 콘솔에서 특정 수준의 분석을 타겟팅하려면 다음 필터를 사용하세요.

세그먼트 수준 보기

이 뷰의 목표는 단일 상담사의 턴과 같은 상호작용의 특정 부분을 분석하는 것입니다. correlation_info.correlation_types:SEGMENT 매개변수를 사용하여 세그먼트 수준 보기를 필터링합니다.

전체 대화 보기

이 보기를 사용하여 연결된 대화 또는 독립형 대화로 구성된 전체 고객 여정을 분석합니다. correlation_info.correlation_types:FULL 매개변수를 사용하여 전체 대화 뷰를 필터링합니다.