요약 어노테이터는 Customer Experience Insights 대화의 요약을 반환합니다. 요약은 CX Insights에서만 사용하거나 기존 Agent Assist 대화 프로필과 함께 사용할 수 있는 Agent Assist 기능입니다. 이 페이지에서는 요약 어노테이터를 사용 설정하는 방법을 보여줍니다.
결제
Customer Experience Insights는 Agent Assist를 사용하여 대화 요약을 생성합니다. Customer Experience Insights 분석에 요약을 구현하면 Agent Assist API 사용량에 대한 추가 항목이 청구서에 표시됩니다. 자세한 내용은 Agent Assist 가격 책정 페이지를 참조하세요.
AnnotatorSelector
다른 분석 어노테이터와 달리 요약 어노테이터는 기본적으로 사용 중지되어 있습니다. AnnotatorSelector.run_summarization_annotator를 true로 설정하여 사용 설정합니다.
요청에 AnnotatorSelector가 지정된 경우 CX Insights는 명시적으로 사용 설정된 어노테이터를 실행합니다. 요약 이외의 어노테이터를 실행하려면 요청에서 어노테이터를 사용 설정하세요. 사용 가능한 옵션은
AnnotatorSelector를 참조하세요.
기본 요건
프로젝트에 Google Cloud Dialogflow API 및 Customer Experience Insights API를 사용 설정합니다.
CX Insights 분석을 사용하여 대화 요약
대화에 대한 분석을 만들어 CX Insights 대화의 요약을 생성할 수 있습니다. 자세한 내용은 API를 사용하여 대화 만들기 및 분석을 참조하세요. 분석을 만들 때 어노테이터 선택기를 사용하여 요약이 사용 설정되고 구성됩니다.
각 요약 모델에서 지원되는 언어 목록은 Agent Assist 언어 지원 문서를 참조하세요.
생성기 요약 모델 사용
Agent Assist는 생성기 모델을 사용하여 커스텀 섹션이 있는 LLM 기반 요약도 제공합니다. 미리 정의된 섹션이 있는 생성기 모델을 사용하거나 커스텀 섹션을 정의할 수 있습니다.
LLM 기반 생성기 모델을 사용하여 요약을 자동으로 생성하려면 다음 단계를 따르세요.
- Agent Assist 안내에 따라 요약 생성기를 만듭니다.
run_summarization_annotator를true로 설정합니다.summarization_config를generator로 설정합니다.
예를 들면 다음과 같습니다.
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 Insights 요약과 마찬가지로 요약 콘텐츠는 런타임 어노테이션 및 최신 요약 필드에서 사용할 수 있습니다.
{
"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 Insights에서 대화를 나열할 때 요약 콘텐츠별로 필터링할 수 있습니다. 일반 안내는 대화 나열을 참조하세요.
CX Insights는 요약 콘텐츠에 다음 필터를 지원합니다.
- 요약 포함:
latest_summary:"*" - 요약 없음:
-latest_summary:"*" - 구문이 있는 요약 포함:
latest_summary.text:"match this text" - 구문이 없는 요약 포함:
-latest_summary.text:"must not match this text"
BigQuery에서 요약 보기
CX Insights 데이터를 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