요약 사용 설정

요약 주석 작성기는 고객 경험 통계 대화의 요약을 반환합니다. 요약은 CX Insights에서만 사용하거나 기존 Agent Assist 대화 프로필과 함께 사용할 수 있는 Agent Assist 기능입니다. 이 페이지에서는 요약 주석을 사용 설정하는 방법을 보여줍니다.

결제

Customer Experience Insights는 Agent Assist를 사용하여 대화 요약을 생성합니다. 고객 경험 통계 분석에 요약 기능을 구현하면 상담사 지원 API 사용량에 대한 추가 광고 항목이 청구서에 표시됩니다. 자세한 내용은 Agent Assist 가격 책정 페이지를 참고하세요.

AnnotatorSelector

다른 분석 주석자와 달리 요약 주석자는 기본적으로 사용 중지되어 있습니다. AnnotatorSelector.run_summarization_annotatortrue로 설정하여 사용 설정합니다.

요청에 AnnotatorSelector이 지정되면 CX Insights에서 명시적으로 사용 설정된 주석 작성기를 실행합니다. 요약 외의 주석을 실행하려면 요청에서 주석을 사용 설정하세요. 사용 가능한 옵션은 AnnotatorSelector를 참고하세요.

기본 요건

Google Cloud 프로젝트에 Dialogflow APICustomer Experience Insights API를 사용 설정합니다.

CX 인사이트 분석을 사용하여 대화 요약

해당 대화에 대한 분석을 만들어 CX Insights 대화의 요약을 생성할 수 있습니다. 자세한 내용은 API를 사용하여 대화 만들기 및 분석하기를 참고하세요. 분석을 만들면 주석 작성자 선택기를 사용하여 요약이 사용 설정되고 구성됩니다.

각 요약 모델에서 지원하는 언어 목록은 Agent Assist 언어 지원 문서를 참고하세요.

생성기 요약 모델 사용

Agent Assist는 생성기 모델을 사용하여 LLM 기반 맞춤 섹션이 포함된 요약도 제공합니다. 사전 정의된 섹션이 있는 생성기 모델을 사용하거나 맞춤 섹션을 정의할 수 있습니다.

LLM 기반 생성기 모델을 사용하여 요약을 자동으로 생성하려면 다음 단계를 따르세요.

  1. Agent Assist 안내에 따라 요약 생성기를 만듭니다.
  2. run_summarization_annotatortrue로 설정합니다.
  3. summarization_configgenerator로 설정합니다.

예를 들면 다음과 같습니다.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{annotator_selector: {run_summarization_annotator: true, summarization_config: {generator: '"projects/PROJECT_ID/locations/global/generators/generator_id"}}}' \
    "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/

요약 결과 보기

분석을 만들면 작업 ID가 반환됩니다. 작업을 폴링하여 진행 상황을 추적합니다. 분석이 완료되면 대화를 쿼리하여 분석 결과를 확인합니다.

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID"

요약 데이터가 응답에 채워집니다.

  • 요약은 conversationSummarizationSuggestion 필드가 채워진 runtimeAnnotation로 저장됩니다.
  • 대화 latestSummary 필드가 채워집니다.

후속 분석에서는 새로운 런타임 주석이 추가되고 최신 요약이 덮어쓰여집니다.

{
  "name": "projects/694347961123/locations/us-east1/conversations/14849016801257151776",
  "createTime": "2023-03-07T23:00:00.243902Z",
  "updateTime": "2023-03-07T23:00:01.167050Z",
  …
  "runtimeAnnotations": [
    {
      "annotationId": "14849016801257150641",
      "createTime": "2023-03-07T23:00:01.167050Z",
      "conversationSummarizationSuggestion": {
        "text": "A summary of your conversation."
        "textSections": {
          "DEFAULT_SECTION": "A summary of your conversation."
        }
      }
    }
  ],
  "latestSummary": {
    "text": "A summary of your conversation."
    "textSections": {
      "DEFAULT_SECTION": "A summary of your conversation."
    }
  }
}

기본적으로 대화 요약

분석을 만들 때마다 요약 구성을 지정하는 대신 프로젝트 설정에서 기본 주석 작성자 선택기를 구성할 수 있습니다. 분석에 자체 주석 선택기가 포함되지 않는 한 설정한 구성이 모든 분석에 사용됩니다. 분석마다 추가 요금이 발생합니다.

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  -d '{analysis_config: {annotator_selector: {run_summarization_annotator: true}}}' \
  "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/settings?updateMask=analysis_config"

Dialogflow 런타임 통합

Dialogflow 런타임 통합을 사용 설정하면 Agent Assist에서 만든 요약도 CX Insights에서 볼 수 있습니다. 다른 CX 통계 요약과 마찬가지로 요약 콘텐츠는 런타임 주석과 최신 요약 필드에서 확인할 수 있습니다.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "dataSource": {
    "dialogflowSource": {
      "dialogflowConversation": "projects/PROJECT_ID/locations/us/conversations/CONVERSATION_ID",
      "conversationDataItem": "projects/PROJECT_ID/locations/us/conversationDatasets/DATASET_ID/conversationDataItems/DATA_ITEM_ID"
    }
  },
  …
  "runtimeAnnotations": [
    {
      "annotationId": "projects/PROJECT_ID/locations/us/conversationDatasets/DATASET_ID/conversationDataItems/DATA_ITEM_ID/conversationAnnotations/ANNOTATION_ID",
      "createTime": "2023-03-20T19:49:01.929940Z",
      "startBoundary": {},
      "endBoundary": {
        "transcriptIndex": 1
      },
      "answerFeedback": {},
      "conversationSummarizationSuggestion": {
        "text": "The customer had a query about the service. Closed conversation prior to the resolution.",
        "textSections": {
          "DEFAULT_SECTION": "The customer had a query about the service. Closed conversation prior to the resolution."
        }
      }
    }
  ],
  "latestSummary": {
    "text": "The customer had a query about the service. Closed conversation prior to the resolution.",
    "textSections": {
      "DEFAULT_SECTION": "The customer had a query about the service. Closed conversation prior to the resolution."
    }
  }
}

요약 콘텐츠별로 대화 필터링

CX 통계에서 대화를 나열할 때 요약 콘텐츠를 기준으로 필터링할 수 있습니다. 일반 안내는 대화 목록을 참고하세요.

CX Insights는 요약 콘텐츠에 대해 다음 필터를 지원합니다.

  • 요약 포함: latest_summary:"*"
  • 요약 없음: -latest_summary:"*"
  • 문구가 포함된 요약: latest_summary.text:"match this text"
  • 구문이 없는 요약: -latest_summary.text:"must not match this text"

BigQuery에서 요약 보기

CX 통계 데이터를 BigQuery로 내보내면 요약 데이터도 내보내집니다. BigQuery 내보내기를 구성하는 방법에 대한 안내는 BigQuery로 대화 내보내기를 참고하세요.

각 대화의 최신 요약은 latest_summary 필드에서 확인할 수 있습니다.

bq query --use_legacy_sql=false 'SELECT conversationName, latestSummary.text FROM DATASET.TABLE'

최신 요약과 이전 요약을 비롯한 모든 요약은 문장 수준 주석으로 제공됩니다.

bq query --use_legacy_sql=false <<EOF
SELECT
  conversationName,
  sen.sentence,
  JSON_QUERY(JSON_VALUE(ant.annotationRecord), '$.text') AS summary_text
FROM
  DATASET.TABLE,
  UNNEST(`sentences`) AS sen,
  UNNEST(`sen.annotations`) AS ant
WHERE ant.type = 'CONVERSATION_SUMMARIZATION_SUGGESTION'
EOF