

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Connect Contact Lens에서 대화형 분석을 사용하여 대화 분석
<a name="analyze-conversations"></a>

Contact Lens 대화형 분석을 사용하면 자연어 처리를 사용하여 음성, 채팅 및 이메일 전반에서 고객과 에이전트 또는 고객과 대화형 AI 간의 대화를 분석할 수 있습니다. 대화 분석은 감정 분석을 수행하고, 문제를 감지하며, 고객 응대를 자동으로 분류할 수 있습니다.

**음성 분석 지원**
+ **실시간 통화 분석**: 통화가 진행되는 동안 고객 문제를 보다 능동적으로 감지하고 해결하는 데 사용합니다. 예를 들어 에이전트가 복잡한 문제를 해결하지 못해 고객이 좌절하고 있을 때 이를 [분석하여 알려](add-rules-for-alerts.md)줄 수 있습니다. 이를 통해 보다 즉각적인 지원을 제공할 수 있습니다.
+ **통화 후 분석**:를 사용하여 고객 대화, 셀프 서비스 상호 작용 및 에이전트 규정 준수의 추세를 이해합니다. 이를 통해 통화 후 대화형 AI를 개선하고 에이전트를 지도할 기회를 식별할 수 있습니다.

**채팅 분석 지원**
+ **실시간 채팅 분석**: 실시간 통화 분석과 마찬가지로 채팅이 진행되는 동안 고객 문제를 사전에 감지하고 해결하며 [알림을 받을](add-rules-for-alerts-chat.md) 수 있습니다. 예를 들어 관리자는 채팅 연락에 대한 고객 감정이 부정적으로 바뀌면 실시간 이메일 알림을 받고 진행 중인 연락에 합류하여 고객 문제를 해결하는 데 도움을 줄 수 있습니다.
+ **통화 후 분석**: 고객 대화 및 에이전트 규정 준수 추세를 파악하는 데 사용합니다. 이를 통해 통화 후 에이전트를 코칭할 수 있는 기회를 파악할 수 있습니다. 응답 시간과 감정을 통해 봇과 에이전트에 대한 고객의 경험을 조사하고 개선이 필요한 부분을 파악하는 데 도움이 됩니다.
+ 처리된 각 채팅 메시지에는 동일한 방식으로 요금이 부과됩니다. 모든 메시지에 모든 기능이 적용되는 것은 아니지만(예: 요약은 `text/plain` 메시지에만 적용됨), Contact Lens 대화 분석이 고객 응대에서 활성화된 경우 메시지는 결제에 계산됩니다. 요금에 대한 자세한 내용은 [Amazon Connect Pricing](https://aws.amazon.com/connect/pricing/) 섹션을 참조하세요.

**이메일 분석 지원**
+ **이메일 분석**: 고객과 에이전트 간의 이메일 대화를 분석하는 데 사용합니다.는 이메일 연락처를 Contact Lens 자동으로 분류하고, 이메일 트랜스크립트에서 민감한 데이터를 수정하고, 고객 응대 요약을 생성합니다. 이를 통해 이메일 대화 추세를 이해하고 이메일 채널 전반의 규정 준수를 보장할 수 있습니다.
+ 이메일 고객 응대는 한 번에 한 명의 참가자가 행동하는 비동기식이므로 음성 및 채팅에 적용되는 실시간 및 고객 응대 후 구분은 이메일에 적용되지 않습니다. 이메일 고객 응대가 수신되거나 전송되면 [Amazon Connect의 흐름 블록: 레코딩, 분석 및 처리 동작 설정](set-recording-analytics-processing-behavior.md)가 사용되는 즉시 이메일 분석이 시작됩니다.

녹취록 및 오디오 녹음에서 이름, 주소, 신용카드 정보와 같은 민감한 데이터를 삭제하여 고객의 개인정보를 보호할 수 있습니다.

## 통화의 연락처 세부 정보 페이지 샘플
<a name="sample-contactdetails-call"></a>

다음 이미지는 음성 통화에 대한 대화 분석을 보여 줍니다. **통화 시간** 지표에는 포함되어 있다는 점을 참고하세요.

![\[통화 시간 지표가 포함된 연락처 세부 정보 페이지 샘플.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-contactdetails-call1b.png)


1. **고객 감정 동향**: 이 그래프는 고객 응대가 진행됨에 따라 고객 감정이 어떻게 변화하는지 보여 줍니다. 자세한 내용은 [감정 점수 조사](sentiment-scores.md) 단원을 참조하십시오.

1. **고객 감정**: 이 그래프는 전체 통화에 대한 고객 감정의 분포를 보여 줍니다. 이는 고객이 긍정적, 중립적 및 부정적 감정을 가진 대화 전환 또는 채팅 메시지의 총 수를 계산하여 계산됩니다.

1. **발언 시간**: 이 그래프는 전체 통화 중 발언 시간 및 침묵 시간의 분포를 보여 줍니다. 발언 시간은 에이전트 및 고객 발언 시간으로 추가로 분할됩니다.

다음은 음성 통화에 대한 **연락처 세부 정보** 페이지의 다음 섹션인 오디오 분석 및 녹취록을 보여 줍니다. [기록에서 개인 식별 정보(PII)가 삭제되었음을 유의하세요](sensitive-data-redaction.md).

![\[고객 응대에 대한 음성 분석 및 기록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-contactdetails-call2b.png)


## 실시간 채팅 분석의 샘플 연락처 세부 정보 페이지
<a name="sample-contactdetails-chat"></a>

다음은 실시간 채팅에 대한 대화 분석을 보여 주는 이미지입니다. 여기에는 주요 하이라이트와 고객 감정이 포함되어 있다는 것을 알 수 있습니다.

![\[실시간 채팅에 대한 대화 분석이 포함된 연락처 세부 정보 페이지.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-realtime-chat.png)


## 채팅 후 분석의 샘플 연락처 세부 정보 페이지
<a name="sample-contactdetails-chat"></a>

다음 이미지는 채팅 후 분석을 보여 줍니다. 여기에는 **에이전트 인사말 시간**(에이전트가 채팅에 참여한 후 첫 번째 응답을 보낼 때까지의 시간), **고객 응답 시간** 및 **에이전트 응답 시간**과 같은 채팅 응답 지표가 포함되어 있다는 점에 유의하세요.

![\[채팅에 대한 요약 및 대화 분석이 포함된 연락처 세부 정보 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-contactdetails-chat1b.png)


다음은 채팅에 대한 **연락처 세부 정보** 페이지의 다음 섹션인 대화 분석 및 대화 내용을 보여 주는 페이지입니다. 고객과 봇의 상호 작용을 에이전트와 비교하여 조사할 수 있습니다.

![\[연락처 세부 정보 페이지, 상호 작용 분석 및 채팅 기록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-contactdetails-chat2b.png)


## 이메일 분석을 위한 샘플 연락처 세부 정보 페이지
<a name="sample-contactdetails-email"></a>

다음 이미지는 이메일 연락처에 대한 대화 분석을 보여줍니다. 이메일 분석에는 분류, 민감한 데이터 수정 및 고객 응대 요약이 포함됩니다. 이메일 연락처는 비동기식이므로 실시간 분석 또는 감정 점수는 없습니다.

![\[이메일 연락처에 대한 대화 분석이 포함된 샘플 연락처 세부 정보 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-contactdetails-email.png)


# Amazon Connect Contact Lens에서 대화 분석 활성화
<a name="enable-analytics"></a>

Contact Lens 대화 분석은 몇 단계로 활성화할 수 있습니다.

1. Amazon Connect 인스턴스에서 Contact Lens 활성화.

1. 흐름에 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 추가하고 음성, 채팅, 이메일 또는 채널 조합에 대한 대화 분석을 활성화하도록 구성합니다.

다음 이미지는 통화 녹음 및 음성 분석을 위해 구성된 블록을 보여줍니다. **통화 녹음** 옵션은 **에이전트 및 고객**으로 설정되어 있습니다. **분석** 섹션에서 자동 상호 작용 및 에이전트 상호 작용에 대한 옵션이 선택됩니다.

![\[설정된 녹음 및 분석 동작 블록의 속성 페이지.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/set-recording-and-analytics-behavior.png)


이 주제의 절차에서는 통화, 채팅 또는 이메일에 대한 대화 분석을 활성화하는 단계를 설명합니다.

**Topics**
+ [중요한 참고 사항](#important-set-behaviorblock)
+ [Amazon Connect 인스턴스에 Contact Lens 활성화](#enable-cl)
+ [통화 녹음 및 음성 분석 활성화](#enable-callrecording-speechanalytics)
+ [채팅 분석 활성화](#enable-chatanalytics)
+ [이메일 분석 활성화](#enable-emailanalytics)
+ [수정 활성화](#enable-redaction)
+ [수정의 정확도 검토](#review-sensitive-data-redaction)
+ [감정 분석 비활성화](#disable-sentiment-analysis-voice-and-chat)
+ [고객의 언어에 따라 동적으로 수정 활성화](#dynamically-enable-analytics-contact-flow)
+ [주요 하이라이트를 위한 흐름 설계](#call-summarization-agent)
+ [흐름 블록이 대화 분석을 활성화하지 못하면 어떻게 되나요?](#troubleshoot-contactlens-enablement)
+ [다자간 통화](#multiparty-calls-contactlens)

## 중요한 참고 사항
<a name="important-set-behaviorblock"></a>
+ **고객 응대를 전송한 후 데이터 수집**: 고객 응대를 다른 에이전트나 대기열로 전송한 후에도 계속 대화 분석을 사용하여 데이터를 수집하려면 흐름에 **분석 활성화**로 설정된 다른 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 추가해야 합니다. 이는 전송이 두 번째 고객 응대 ID 및 고객 응대 레코드를 생성하기 때문입니다. 대화 분석은 해당 연락 레코드에서도 실행되어야 합니다.
**참고**  
[대기열 간 전송](queue-to-queue-transfer.md)의 경우 대화형 분석을 위한 구성 정보가 전송된 연락처에 복사됩니다.
+ 감정 분석에서 지원하는 언어를 선택하고 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록에서 ** Contact Lens 음성 분석 활성화**, **채팅 분석 활성화** 또는 **이메일 분석 활성화**를 선택하면 감정 분석이 기본적으로 활성화됩니다. [감정 분석을 비활성화](#disable-sentiment-analysis-voice-and-chat)하도록 선택할 수 있습니다.
+ 흐름에서 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 어디에 배치하는 위치는 주요 하이라이트에 대한 에이전트의 경험에 영향을 미칩니다. 자세한 내용은 [주요 하이라이트를 위한 흐름 설계](#call-summarization-agent) 단원을 참조하십시오.

## Amazon Connect 인스턴스에 Contact Lens 활성화
<a name="enable-cl"></a>

대화 분석을 활성화하려면 먼저 인스턴스에 대해 Contact Lens를 활성화해야 합니다.

1. [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/)에서 Amazon Connect 콘솔을 엽니다.

1. 인스턴스 페이지에서 인스턴스 별칭을 선택합니다. 인스턴스 별칭은 Amazon Connect URL에 표시되는 **인스턴스 이름**이기도 합니다. 다음 이미지는 **Amazon Connect 가상 고객 센터 인스턴스** 페이지를 보여 주며, 인스턴스 별칭을 둘러싼 상자가 있습니다.  
![\[Amazon Connect 가상 고객 센터 인스턴스 페이지, 인스턴스 별칭.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/instance.png)

1. Amazon Connect 콘솔의 탐색 창에서 **분석 도구**를 선택한 다음 **Contact Lens 활성화**를 선택합니다.

1. **저장**을 선택합니다.

## 통화 녹음 및 음성 분석 활성화
<a name="enable-callrecording-speechanalytics"></a>

인스턴스에 Contact Lens가 활성화된 후 흐름에 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 추가할 수 있습니다. 그런 다음 **기록 및 분석 동작 설정** 블록을 구성할 때 대화 분석을 활성화합니다.

1. 흐름 디자이너에서 흐름에 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 추가합니다.

   이 블록 및 기타 팁과 함께 사용할 수 있는 흐름 유형에 대한 자세한 내용은 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 섹션을 참조하세요.

1. **녹음 및 분석 동작 설정** 블록의 속성 페이지를 엽니다. **통화 녹음** 아래에서 **켜짐**, **에이전트 및 고객**을 선택합니다.

   음성 고객 응대에 대화 분석을 사용하려면 에이전트 및 고객 통화 녹음이 모두 필요합니다.

1. **분석**에서 **Contact Lens 대화 분석 활성화**, **음성 분석 활성화**를 선택합니다.

   이 옵션이 표시되지 않으면 Amazon Connect Contact Lens가 인스턴스에 대해 활성화되지 않은 것입니다. 활성화 지침은 [Amazon Connect 인스턴스에 Contact Lens 활성화](#enable-cl) 섹션을 참조하세요.

1. 다음 중 하나를 선택합니다.

   1. **통화 후 분석**: Contact Lens는 대화가 끝나고 ACW(고객 응대 작업 후)가 완료된 후 통화 녹음을 분석합니다. 이 옵션은 최고의 대화 기록 정확도를 제공합니다.

   1. **실시간 분석**: Contact Lens는 통화 중 실시간 인사이트와 대화가 끝나고 ACW(연락 후 작업)가 완료된 후의 통화 후 분석을 모두 제공합니다.

      이 옵션을 선택하는 경우 고객이 통화 중에 말할 수 있는 키워드와 문구를 기반으로 알림을 설정하는 것이 좋습니다. Contact Lens는 대화를 실시간으로 분석하여 지정된 키워드 또는 문구를 감지하고 감독자에게 알립니다. 감독자는 실시간 통화를 듣고 에이전트에게 안내를 제공하여 문제를 더 빨리 해결할 수 있도록 도울 수 있습니다.

      알림 설정에 대한 자세한 내용은 [통화에 대해 감독자에게 실시간 알림](add-rules-for-alerts.md) 섹션을 참조하세요.

      2018년 10월 이전에 인스턴스를 만든 경우에는 실시간 통화 분석에 액세스하려면 추가 구성이 필요합니다. 자세한 내용은 [서비스 연결 역할 권한](connect-slr.md#slr-permissions) 단원을 참조하십시오.

1. [사용 가능한 언어 목록](supported-languages.md#supported-languages-contact-lens)에서 선택합니다.

   언어를 동적으로 지정하는 방법에 대한 지침은 [고객의 언어에 따라 동적으로 수정 활성화](#dynamically-enable-analytics-contact-flow) 섹션을 참조하세요.

1. 필요한 경우 민감한 데이터의 삭제를 활성화합니다. 자세한 정보는 다음 섹션([수정 활성화](#enable-redaction))을 참조하세요.

1. **저장**을 선택합니다.

1. 고객 응대를 다른 에이전트나 대기열로 전송하려는 경우에는 이 단계를 반복하여 **대화 분석을 위해 Contact Lens 활성화**를 사용 설정한 다른 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 추가합니다.

## 채팅 분석 활성화
<a name="enable-chatanalytics"></a>

1. [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록의 **분석**에서 **Contact Lens 대화 분석 활성화**를 선택하고 **채팅 분석 활성화**를 선택합니다.
**참고**  
이 옵션을 선택하면 실시간 분석과 채팅 후 분석을 모두 받게 됩니다.

   이 옵션이 표시되지 않으면 Amazon Connect Contact Lens가 인스턴스에 대해 활성화되지 않은 것입니다. 활성화 지침은 [Amazon Connect 인스턴스에 Contact Lens 활성화](#enable-cl) 섹션을 참조하세요.

1. [사용 가능한 언어 목록](supported-languages.md#supported-languages-contact-lens)에서 선택합니다.

   언어 및 수정을 동적으로 선택하는 방법에 대한 지침은 [고객의 언어에 따라 동적으로 수정 활성화](#dynamically-enable-analytics-contact-flow) 섹션을 참조하세요.

1. 필요한 경우 민감한 데이터의 삭제를 활성화합니다. 자세한 정보는 다음 섹션([수정 활성화](#enable-redaction))을 참조하세요.

1. **저장**을 선택합니다.

1. 고객 응대를 다른 에이전트나 대기열로 전송하려는 경우에는 이 단계를 반복하여 **대화 분석을 위해 Contact Lens 활성화**를 사용 설정한 다른 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 추가합니다.

## 이메일 분석 활성화
<a name="enable-emailanalytics"></a>

이메일 연락처에 대한 Contact Lens 대화 분석을 활성화하여 이메일을 자동으로 분류하고, 민감한 데이터를 수정하고, 연락처 요약을 생성할 수 있습니다.

1. 흐름 디자이너에서 인바운드 이메일 흐름에 [기록, 분석 및 처리 동작 설정](set-recording-analytics-processing-behavior.md) 블록을 추가합니다. 이메일 고객 응대가 대기열 또는 에이전트로 라우팅되기 전에 블록을 배치합니다.

1. 블록 속성을 엽니다. **작업**에서 **기록 및 분석 동작 설정을** 선택합니다.

1. **채널**에서 **이메일을** 선택합니다.

1. **분석에서** ** Contact Lens 대화 분석 활성화** 및 **이메일 분석 활성화**를 선택합니다.

   이 옵션이 표시되지 않으면 Amazon Connect Contact Lens가 인스턴스에 대해 활성화되지 않은 것입니다. 활성화 지침은 [Amazon Connect 인스턴스에 Contact Lens 활성화](#enable-cl) 섹션을 참조하세요.

1. [사용 가능한 언어 목록](supported-languages.md#supported-languages-contact-lens)에서 선택합니다.

1. 필요한 경우 민감한 데이터의 삭제를 활성화합니다. 자세한 내용은 [수정 활성화](#enable-redaction) 단원을 참조하십시오.

1. 선택적으로 **Contact Lens 생성형 AI 기능**에서 **연락처 요약**을 활성화하여 이메일 연락처에 대한 요약을 생성할 수 있습니다.

1. **저장**을 선택합니다.

1. 이메일 고객 응대가 다른 에이전트 또는 대기열로 전송되는 경우이 단계를 반복하여 대화 분석 활성화가 활성화된 다른 [기록, 분석 및 처리 동작 설정](set-recording-analytics-processing-behavior.md) 블록을 추가합니다. ** Contact Lens ** 

## 민감한 데이터 수정 활성화
<a name="enable-redaction"></a>

대화 분석을 위해 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 구성할 때 흐름에서 민감한 데이터의 편집을 활성화하는 옵션도 있습니다. 수정이 활성화되면 다음 옵션 중에서 선택할 수 있습니다.
+ 모든 개인 식별 정보(PII) 데이터(모든 PII 엔터티 지원)를 수정합니다.
+ 지원되는 엔터티 목록에서 수정할 PII 엔터티를 선택합니다.

기본 설정을 수락하면 Contact Lens 대화 분석에서 식별하는 모든 개인 식별 정보(PII)를 수정하고 트랜스크립트에서 이를 **[PII]**로 바꿉니다. **민감한 데이터 수정**, **모든 PII 데이터 수정**, **자리 표시자 PII로 바꾸기** 옵션이 선택되어 있으므로 기본 설정은 다음과 같이 표시됩니다.

![\[민감한 데이터 수정을 위한 기본 설정.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-enable-redaction-default.png)


### 수정할 PII 엔터티 선택
<a name="select-pii-entities-redact"></a>

**데이터 수정** 섹션에서 수정할 특정 PII 엔터티를 선택할 수 있습니다. 다음 이미지에서는 **신용/직불 카드 번호**가 삭제되는 것을 볼 수 있습니다.

![\[데이터 수정 섹션, 수정할 수 있는 엔터티 목록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-select-entities-to-redact.png)


### 데이터 수정 대체 선택
<a name="mask-pii"></a>

**데이터 수정 대체** 섹션에서 데이터 수정 대체로 사용할 마스크를 선택할 수 있습니다. 예를 들어, 다음 이미지에서 **자리 표시자 PII로 바꾸기** 옵션은 **PII**가 데이터를 대체한다는 것을 나타냅니다.

![\[데이터를 PII로 대체하는 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-dataredactionreplacement.png)


수정 사용에 대한 자세한 내용은 [민감한 데이터 수정 사용](sensitive-data-redaction.md) 섹션을 참조하세요.

## 민감한 데이터 수정의 정확도 검토
<a name="review-sensitive-data-redaction"></a>

수정 기능은 민감한 데이터를 식별하고 제거하도록 설계되었습니다. 그러나 머신 러닝의 예측적 특성으로 인해 Contact Lens에서 생성된 기록에서 민감한 데이터의 모든 인스턴스를 식별하고 제거하지 못할 수도 있습니다. 수정된 출력을 검토하여 요구 사항에 맞는지 확인하는 것이 좋습니다.

**중요**  
수정 기능은 1996년 미국 의료보험 이동성 및 책임에 관한 법률(HIPAA)과 같은 의료 개인정보 보호법에 따른 비식별화 요건을 충족하지 않으므로 수정 후에도 계속 보호 대상 건강 정보로 취급하는 것이 좋습니다.

수정된 파일 및 예제의 위치는 [출력 파일 위치](example-contact-lens-output-locations.md) 섹션을 참조하세요.

## 감정 분석 비활성화
<a name="disable-sentiment-analysis-voice-and-chat"></a>

감정 분석에서 지원하는 언어를 선택하고, **음성 분석 활성화** 또는 **채팅 분석 활성화**를 선택하면 모든 에이전트와 고객에 대해 감정 분석이 기본적으로 활성화됩니다. 감정 분석에서 지원하는 언어 목록은 [AI 기능](supported-languages.md#supported-languages-contact-lens) 섹션을 참조하세요.

다음 이미지는 **녹음 및 분석 동작 설정** 블록에서 감정 분석 옵션이 활성화되어 있음을 보여 줍니다.

![\[활성화된 경우 감정 분석 옵션입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/sentiment-analysis-enabled.png)


다음 이미지는 감정 분석에서 지원되지 않는 언어를 보여 줍니다. **감정** 섹션을 열어 활성화 또는 비활성화 여부를 확인하는 것이 좋습니다.

![\[언어가 지원되지 않기 때문에 비활성화된 경우 감정 분석 옵션입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/sentiment-analysis-verify.png)


모든 에이전트 및 고객에 대한 감정 분석을 비활성화하려면 다음 이미지와 같이 **감정 분석 활성화** 옵션을 선택 취소합니다.

![\[비활성화된 경우 감정 분석 옵션입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/sentiment-analysis-disabled.png)


## 고객의 언어에 따라 동적으로 수정 활성화
<a name="dynamically-enable-analytics-contact-flow"></a>

고객의 언어에 따라 출력 파일 편집을 동적으로 활성화할 수 있습니다. 예를 들어, en-US를 사용하는 고객은 수정된 파일만 원하는 반면, en-GB를 사용하는 고객은 원본 파일과 수정된 출력 파일을 모두 원할 수 있습니다.
+ 수정: 다음 중 하나 선택(대소문자 구분)
  + None
  + RedactedOnly
  + RedactedAndOriginal
+ 언어: [사용 가능한 언어 목록](supported-languages.md#supported-languages-contact-lens)에서 선택합니다.

이러한 속성은 다음과 같은 방법으로 설정할 수 있습니다.
+ 사용자 정의: **고객 응대 속성 설정** 블록을 사용합니다. 이 블록 사용에 대한 일반 지침은 [연락처 속성을 참조하는 방법](how-to-reference-attributes.md) 섹션을 참조하세요. 필요에 따라 삭제할 **대상 키**와 **값** 및 언어를 정의합니다.

  다음은 삭제 시 고객 응대 속성을 사용하도록 **고객 응대 속성 설정** 블록을 구성하는 방법의 예를 보여 주는 이미지입니다. **텍스트 사용** 옵션을 선택하고, **대상 키**를 **redaction\$1option**으로 설정한 다음, **값**을 **RedactedAndOriginal**로 설정합니다.
**참고**  
 **값**은 대소문자를 구분합니다.  
![\[고객 응대 속성 설정 블록, 텍스트 사용 옵션의 값은 대소문자를 구분합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-contact-attributes-enable-redaction1.png)

  다음 이미지는 언어에 대한 고객 응대 속성을 사용하는 방법을 보여 줍니다. 텍스트 사용 옵션을 선택하고, 대상 키를 언어로 설정하고, **값**을 **en-US**로 설정합니다.  
![\[고객 응대 속성 설정 블록, 텍스트 사용 옵션의 값은 대소문자를 구분합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-contact-attributes-enable-redaction2.png)
+ [Lambda 함수 사용](attribs-with-lambda.md) 이는 사용자 정의 고객 응대 속성을 설정하는 방법과 유사합니다. AWS Lambda 함수는 Lambda 응답의 언어에 따라 결과를 키-값 페어로 반환할 수 있습니다. 다음 예는 JSON으로 된 Lambda 응답을 보여 줍니다.

  ```
  {
     'redaction_option': 'RedactedOnly',
     'language': 'en-US'
  }
  ```

## 주요 하이라이트를 위한 흐름 설계
<a name="call-summarization-agent"></a>

에이전트는 인바운드 흐름 및/또는 전송 흐름의 [레코딩 및 분석 동작 설정](set-recording-behavior.md)에서 대화 분석이 활성화되어 있는지 여부에 따라 연락 제어판(CCP)을 사용하는 에이전트에게 대화 내용을 볼 수 있습니다.

이 섹션에서는 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록에서 대화 분석을 활성화하는 세 가지 사용 사례를 제공하며, 이러한 분석이 에이전트의 주요 하이라이트 경험에 어떤 영향을 미치는지를 설명합니다.

### 사용 사례 1: 대화 분석이 인바운드 흐름에서만 활성화
<a name="call-summarization-inbound-notransfer"></a>
+ 고객 응대가 인바운드 흐름에 들어가고 통화 전환이 이루어지지 않습니다. 에이전트 환경은 다음과 같습니다.

  에이전트는 연락 후 작업(ACW) 중에 전체 기록을 받습니다. 기록에는 다음 이미지와 같이 에이전트가 최초 통화를 수락하는 순간부터 통화가 종료될 때까지 에이전트와 고객이 나눈 모든 대화가 포함됩니다.  
![\[Contact Control Panel, 대화 기록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/call-summarization-use1.png)
+ 고객 응대가 인바운드 흐름에 들어가고 통화 전환이 이루어지지 않습니다. 에이전트 환경은 다음과 같습니다.
  + 에이전트 1은 ACW 중에 회의/웜 전송을 종료한 후 통화 기록을 받습니다.

    기록에는 에이전트가 최초 통화를 수락한 순간부터 에이전트 1이 통화의 회의/웜 전송 부분에서 나갈 때까지 에이전트 1과 고객이 말한 모든 내용이 포함됩니다. 기록에는 다음 이미지와 같이 흐름(전송/대기열 흐름) 프롬프트 메시지가 포함됩니다.  
![\[기록의 흐름 전송 프롬프트.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/call-summarization-use2.png)
  + 에이전트 2는 에이전트 1의 회의/웜 전송 통화를 수락할 때 통화 기록을 받습니다.

    기록에는 에이전트 1이 최초 통화를 수락한 순간부터 에이전트 1이 통화의 회의/웜 전송 부분에서 나갈 때까지 에이전트 1과 고객이 말한 모든 내용이 포함됩니다. 기록에는 다음 이미지와 같이 흐름(전송/대기열 흐름) 프롬프트 메시지 및 웜 전송 대화가 포함됩니다.  
![\[기록, 흐름 전송 프롬프트 및 두 에이전트 간의 웜 전송.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/call-summarization-use2b.png)

    착신 전환 흐름에서 대화 분석이 활성화되어 있지 않기 때문에 에이전트 2는 통화가 종료되고 ACW로 들어갈 때 나머지 대화 기록을 볼 수 없습니다. 에이전트 2의 다음 ACW 이미지에는 기록이 비어 있음을 보여 줍니다.  
![\[비어 있는 기록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/call-summarization-use2c.png)

### 사용 사례 2: 인바운드 흐름과 전송 흐름(빠른 연결)에서 대화 분석이 활성화됨
<a name="call-summarization-inbound-transfer2"></a>
+ 고객 응대가 인바운드 흐름에 들어가고 통화 전환이 이루어지지 않습니다. 에이전트 환경은 다음과 같습니다.
  + 에이전트 1은 ACW 중에 전체 통화 기록(편집되지 않은 상태)을 받습니다.

    기록에는 에이전트가 전화를 받는 순간부터 통화가 종료될 때까지 에이전트 1과 고객이 나눈 모든 대화가 포함됩니다. 이는 다음 에이전트 1에 대한 CCP 이미지에 나와 있습니다.  
![\[에이전트트 1의 CCP, 전체 통화 기록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/call-summarization-use3.png)
+ 고객 응대가 인바운드 흐름에 들어가고 통화 전환이 이루어지지 않습니다. 에이전트 환경은 다음과 같습니다.
  + 에이전트 1은 ACW 중에 회의/웜 전송을 종료한 후 통화 기록을 받습니다.

    기록에는 에이전트 1이 통화를 수락한 순간부터 에이전트 1이 통화의 회의/웜 전송 부분에서 나갈 때까지 에이전트 1과 고객이 말한 모든 내용이 포함됩니다. 기록에는 흐름(전송/대기열 흐름) 프롬프트 메시지가 포함됩니다.

    웜 전송까지의 전체 통화 기록은 다음 이미지에 나와 있습니다.  
![\[에이전트가 1이 회의에서 나가기 전까지의 전체 통화 기록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/call-summarization-use2b.png)
  + 에이전트 2는 에이전트 1의 회의/웜 전송 통화를 수락할 때 통화 기록을 받습니다.

    기록에는 에이전트 1이 통화를 수락한 순간부터 에이전트 1이 통화의 회의/웜 전송 부분에서 나갈 때까지 에이전트 1과 고객이 말한 모든 내용이 포함됩니다. 기록에는 흐름(전송/대기열 흐름) 프롬프트 메시지가 포함됩니다.
  + 착신 전환 흐름에서 대화 분석이 활성화되어 있으므로 에이전트 2는 ACW 중에 통화가 완료된 후 통화 기록을 받습니다.

    기록에는 에이전트 1이 통화를 종료한 후 에이전트 2와 고객 간의 통화 중 남은 부분만 포함됩니다. 기록에는 상담이 시작되거나 연결되는 순간부터 통화가 종료될 때까지 에이전트 2와 고객이 나눈 모든 대화가 포함됩니다. 이 기록의 예는 다음 이미지에 나와 있습니다.  
![\[에이전트 2와 고객 간의 통화 기록\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/call-summarization-use3b.png)

## 흐름 블록이 대화 분석을 활성화하지 못하면 어떻게 되나요?
<a name="troubleshoot-contactlens-enablement"></a>

[레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록이 연락처에서 대화 분석을 활성화하지 못할 수 있습니다. 고객 응대에 대해 대화 분석이 활성화되지 않은 경우 오류가 [흐름 로그에 있는지 확인](search-contact-flow-logs.md)합니다.

## 다자간 통화 및 대화 분석
<a name="multiparty-calls-contactlens"></a>

Contact Lens 대화 분석은 최대 2명의 참가자와의 통화를 지원합니다. 예를 들어 한 통화에 두 명 이상의 당사자(에이전트와 고객)가 참여하거나 통화가 제3자에게 전달되는 경우 감정, 수정, 범주 등의 기록 및 분석의 품질이 저하될 수 있습니다. 다자간 또는 제3자 통화의 당사자(에이전트와 고객)가 둘 이상인 경우에는 대화 분석 기능을 비활성화하는 것이 좋습니다. 이렇게 하려면 흐름에 다른 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 추가하고 대화 분석을 비활성화합니다. 이 흐름 행동에 대한 자세한 내용은 [구성 팁](set-recording-behavior.md#set-recording-behavior-tips) 섹션을 참조하세요.

# Amazon Connect에서 Contact Lens 대화 분석을 사용할 수 있는 권한 할당
<a name="permissions-for-contact-lens"></a>

고객 데이터를 안전하게 보호하기 위해 Contact Lens 대화 분석에서 생성된 정보에 액세스할 수 있는 사용자를 결정하는 보안 프로필 권한을 설정합니다.

다음은 필수 보안 프로필 권한과 가 유용하지만 필요하지 않은 일부 권한에 대한 설명입니다. 이 중 몇 가지는 분석하려는 연락처를 찾기 위해 필요한 검색 권한입니다. Contact Lens 대화 분석에만 국한되지는 않습니다.

## 대화 분석 권한
<a name="ca-permissions-cl"></a>
+ **Contact Lens - 대화 분석**
  + 고객 응대의 **연락처 세부 정보** 페이지에서 음성 고객 응대에 대한 고객 감정 동향, 대화 시간 등 대화 분석이 요약된 그래프를 볼 수 있습니다. 또한 각 대화에 대한 감정 색상 및 표시자가 트랜스크립트와 녹음을 켭니다. 예를 들어 다음 이미지는 음성 고객 응대의 **연락처 세부 정보** 페이지에 이 정보가 표시되는 방식을 보여 줍니다.

    대화 녹음 및 대화 내용에 대한 감정 지표를 보려면 **Contact Lens - 대화 분석 - 보기** 권한 또한 필요합니다.  
![\[연락처 세부 정보 페이지의 그래프.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-conversationalanalytics-permission.png)  
![\[연락처 세부 정보 페이지의 그래프.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-conversationalanalytics-permission-2.png)
+ **통화 녹음(편집되지 않음)**

  고객 응대의 **고객 응대 세부 정보** 및 **고객 응대 검색** 페이지에서 편집되지 않은 오디오 레코딩을 봅니다.
+ **통화 녹음(편집됨)**

  고객 응대의 **고객 응대 세부 정보** 및 **고객 응대 검색** 페이지에서 민감한 데이터가 편집된 통화 레코딩을 듣습니다.
+ **고객 응대 트랜스크립트(편집되지 않음)**

  고객 응대의 **고객 응대 세부 정보** 및 **고객 응대 검색** 페이지에서 편집되지 않은 채팅 및 이메일 대화와 Contact Lens에서 생성된 편집되지 않은 음성 트랜스크립트를 봅니다.
+ **고객 응대 트랜스크립트(편집됨)**

  고객 응대의 **고객 응대 세부 정보** 및 **고객 응대 검색** 페이지에서 민감한 데이터가 제거된 통화 녹음 파일을 듣고 통화 트랜스크립트를 봅니다.

**중요**  
다음과 같은 권한이 있는 경우:  
두 **고객 응대 트랜스크립트(편집되지 않음) - 액세스** 및 **고객 응대 트랜스크립트(편집됨) - 액세스**
– 또는 –  
두 **통화 녹음(편집되지 않음) - 액세스** 및 **통화 녹음(편집됨) - 액세스**
다음 동작에 유의하세요.  
흐름에서 수정이 활성화되면 수정된 콘텐츠가 **고객 응대 세부 정보** 및 **고객 응대 검색** 페이지에 표시됩니다.
흐름에서 편집이 비활성화되거나Contact Lens 에서 고객 응대를 분석하지 않으면 **고객 응대 세부 정보** 및 **고객 응대 검색** 페이지에 수정되지 않은 콘텐츠가 표시됩니다.
대화의 수정된 버전과 수정되지 않은 버전에 동시에 액세스할 수는 없습니다.

## 검색 권한
<a name="search-permissions-cl"></a>
+ **고객 응대 검색**

  이 권한은 고객 응대를 검색할 수 있는 **연락처 검색** 페이지에 액세스하여 분석된 녹음 및 기록을 검토할 수 있도록 하기 위해 필요합니다. 또한 통화 기록을 빠르게 전체 텍스트로 검색하고 감정 점수 및 비대화 시간으로 검색할 수 있습니다.
+ **내 고객 응대 보기**

  이 권한은 **연락처 검색** 페이지에 액세스하여 처리한 고객 응대만 검토하고 분석된 녹음 및 기록을 검토해야 하는 경우에는 필요합니다.
**중요**  
**고객 응대 검색** 및 **내 고객 응대 보기** 권한이 모두 부여된 경우 사용자는 모든 고객 응대에 액세스할 수 있습니다.
+ **대화 특성으로 고객 응대 검색**

  이 권한은 Contact Lens 대화 분석에 필요하지 않지만 더 많은 검색 옵션을 제공하므로 유용합니다.

  **고객 응대 검색** 페이지:
  + 음성 고객 응대의 경우 감성 점수 및 비대화 시간별로 결과를 반환할 수 있는 추가 필터에 액세스할 수 있습니다.
  + 채팅 고객 응대의 경우 추가 필터에 액세스하여 응답 시간별로 고객 응대를 검색할 수 있습니다.
  + 음성 및 채팅 모두에서 특정 고객 응대 범주에 속하는 대화를 검색할 수 있습니다.

  자세한 내용은 [감정 점수/변화 검색](search-conversations.md#sentiment-search), [대화 중단 시간 검색](search-conversations.md#nontalk-time-search), [고객 응대 범주 검색](search-conversations.md#contact-category-search) 섹션을 참조하세요.

  다음 이미지는 **고객 응대 검색** 페이지의 **필터** 섹션과 **필터** 드롭다운 메뉴를 보여 줍니다. 옆에 **CL**이 있는 필터는 이 보안 프로필 권한이 있는 사용자만 사용할 수 있습니다.  
![\[필터 추가 드롭다운 메뉴, 옆에 CL이 있는 필터\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-search-contact-category-3.png)
+ **키워드로 고객 응대 검색**

  이 권한은 Contact Lens 대화 분석에 필요하지 않지만 더 많은 검색 옵션을 제공하므로 유용합니다.
  + **고객 응대 검색** 페이지에서 사용자는 *"거래해 주셔서 감사합니다"*와 같은 **단어나 문구**로 고객 응대를 검색할 수 있는 추가 필터에 액세스할 수 있습니다. 자세한 내용은 [단어 또는 구문 검색](search-conversations.md#keyword-search) 섹션을 참조하세요.  
![\[필터 추가 드롭다운 메뉴, 단어 또는 구문 CL 필터.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-search-words-phrases.png)

# Amazon Connect의 대화 분석 지표
<a name="contact-lens-metrics"></a>

다음 지표는 Contact Lens 대화 분석에서 파생됩니다. 이러한 지표는 [인스턴스에 대해 Contact Lens가 활성화](enable-analytics.md#enable-cl)되어 있고 고객 응대에서 [대화 분석](enable-analytics.md#enable-callrecording-speechanalytics)이 활성화된 경우에만 사용할 수 있습니다.

이러한 지표는 실시간 및 기록 지표 보고서에 표시됩니다. 보고서에 이러한 지표를 추가하는 방법에 대한 지침은 [기록 측정치 보고서를 생성하는 방법](create-historical-metrics-report.md#historical-reports-howto-create) 섹션을 참조하세요.

또한 [Contact Lens 대화 분석 대시보드](contact-lens-conversational-analytics-dashboard.md)에서 시간 경과에 따른 연락 동인의 추세에 대한 데이터 시각화를 확인하세요.

## 에이전트 발언 시간 백분율
<a name="ttagent-hmetric"></a>

이 지표는 음성 대화에서 에이전트가 발언한 시간을 총 대화 시간의 백분율로 측정합니다.

**지표 유형**: 퍼센트

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `PERCENT_TALK_TIME_AGENT`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 에이전트 발언 시간 비율

**계산 로직**:
+ 에이전트가 대화에 참여한 모든 간격(발언 시간 에이전트)을 합산합니다.
+ 합계를 전체 대화 기간으로 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 평균 에이전트 인사 시간
<a name="average-greeting-time-agent-hmetric"></a>

이 지표는 채팅에서 에이전트의 평균 첫 응답 시간을 나타내며, 에이전트가 채팅에 참여한 후 고객과 얼마나 빠르게 소통하는지를 나타냅니다.

**지표 유형**: 문자열(*hh:mm:ss*)

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `AVG_GREETING_TIME_AGENT`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 평균 에이전트 인사말 시간

**계산 로직**:
+ 에이전트가 첫 응답을 시작하는 데 걸리는 총 시간을 채팅 고객 응대 수로 나누어 계산됩니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 평균 에이전트 중단
<a name="average-interruptions-agent-hmetric"></a>

이 지표는 고객 상호작용 중 에이전트 중단의 평균 빈도를 정량화합니다.

**지표 유형**: 문자열(*hh:mm:ss*)

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `AVG_INTERRUPTIONS_AGENT`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 평균 에이전트 중단

**계산 로직**:
+ 이 지표는 총 에이전트 중단 수를 총 고객 응대 수로 나누어 계산됩니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 평균 에이전트 중단 시간
<a name="average-interruption-time-agent-hmetric"></a>

이 지표는 에이전트와 대화하는 동안 발생한 총 에이전트 중단 시간의 평균을 측정합니다.

**지표 유형**: 문자열(*hh:mm:ss*)

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `AVG_INTERRUPTION_TIME_AGENT`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 평균 에이전트 중단 시간

**계산 로직**:
+ 각 대화 내의 중단 간격을 합산합니다.
+ 하나 이상의 중단이 발생한 대화 수의 합계를 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 평균 에이전트 발언 시간
<a name="average-talk-time-agent-hmetric"></a>

이 지표는 에이전트가 대화에서 발언하는 데 보낸 평균 시간을 측정합니다.

**지표 유형**: 문자열(*hh:mm:ss*)

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `AVG_TALK_TIME_AGENT`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 평균 에이전트 발언 시간

**계산 로직**:
+ 에이전트가 말하는 모든 간격의 지속 시간을 합산합니다.
+ 합계를 총 고객 응대 수로 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 평균 대화 시간
<a name="average-conversation-duration-hmetric"></a>

이 지표는 에이전트와의 음성 고객 응대의 평균 대화 지속 시간을 측정합니다.

**지표 유형**: 문자열(*hh:mm:ss*)

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `AVG_CONVERSATION_DURATION`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 평균 대화 기간

**계산 로직**:
+ 이 지표는 대화가 시작된 순간부터 에이전트 또는 고객이 마지막으로 말한 단어까지 걸린 총 시간을 기준으로 계산됩니다.
+ 그런 다음 이 값을 총 고객 응대 수로 나누어 통화에 소요된 평균 대화 시간을 나타냅니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 평균 고객 발언 시간
<a name="average-talk-time-customer-hmetric"></a>

이 지표는 고객이 대화에서 발언하는 데 보낸 평균 시간을 측정합니다.

**지표 유형**: 문자열(*hh:mm:ss*)

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `AVG_TALK_TIME_CUSTOMER`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 평균 고객 발언 시간

**계산 로직**:
+ 고객이 말하는 모든 간격의 지속 시간을 합산합니다.
+ 합계를 총 고객 응대 수로 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 평균 침묵 시간
<a name="average-non-talk-time-hmetric"></a>

이 지표는 음성 대화에서 발언하지 않은 시간의 평균을 제공합니다. 침묵 시간이란 대기 시간과 3초를 초과하는 침묵 시간을 합친 값이며, 이 시간 동안에는 에이전트도 고객도 대화에 참여하지 않습니다.

**지표 유형**: 문자열(*hh:mm:ss*)

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `AVG_NON_TALK_TIME`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 평균 침묵 시간

**계산 로직**:
+ 두 참가자가 모두 침묵한 모든 간격을 합산합니다.
+ 합계를 고객 응대 수로 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 평균 발언 시간
<a name="average-talk-time-hmetric"></a>

이 지표는 고객이나 에이전트 간의 음성 통화에서 통화에 소요된 평균 시간을 측정합니다.

**지표 유형**: 문자열(*hh:mm:ss*)

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `AVG_TALK_TIME`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 평균 발언 시간

**계산 로직**:
+ 에이전트, 고객 또는 둘 다 대화에 참여한 모든 간격을 합산합니다.
+ 합계를 총 고객 응대 수로 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 고객 발언 시간 백분율
<a name="ttcustomer-hmetric"></a>

이 지표는 전체 대화 기간 중 고객이 음성 대화에 참여한 시간을 백분율로 나타낸 것입니다.

**지표 유형**: 퍼센트

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `PERCENT_TALK_TIME_CUSTOMER`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 고객 발언 시간 비율

**계산 로직**:
+ 고객이 대화에 참여한 모든 간격을 합산합니다.
+ 합계를 전체 대화 기간으로 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 침묵 시간 백분율
<a name="ntt-hmetric"></a>

이 지표는 음성 대화에서 침묵 시간이 전체 대화 기간 중 차지하는 비율을 나타냅니다.

**지표 유형**: 퍼센트

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `PERCENT_NON_TALK_TIME`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 침묵 시간 비율

**계산 로직**:
+ 참가자가 침묵 상태를 유지한 모든 간격(침묵 시간)을 합산합니다.
+ 합계를 전체 대화 기간으로 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

## 발언 시간 백분율
<a name="tt-hmetric"></a>

이 지표는 음성 대화에서 발언 시간이 전체 대화 기간 중 차지하는 비율을 나타냅니다.

**지표 유형**: 퍼센트

**지표 범주**: 대화 분석 기반 지표

**Amazon Connect API를 사용하여 액세스하는 방법**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 지표 식별자: `PERCENT_TALK_TIME`

** Amazon Connect 관리자 웹 사이트를 사용하여에 액세스하는 방법**: 
+ 기록 지표 보고서: 발언 시간 비율

**계산 로직**:
+ 에이전트, 고객 또는 둘 다 대화에 참여한 모든 간격(발언 시간)을 합산합니다.
+ 합계를 전체 대화 기간으로 나눕니다.

**참고**:
+ 이 지표는 Contact Lens 대화 분석으로 분석한 연락처에만 사용할 수 있습니다.

# Amazon Connect Contact Lens 알림 유형
<a name="rules-notification-types"></a>

Contact Lens는 다음과 같은 알림 유형을 제공합니다.
+ Contact Lens 통화/채팅 후 규칙 일치: Contact Lens 규칙이 일치하여 EventBridge 규칙 작업을 트리거할 때마다 EventBridge 이벤트가 전달됩니다.

  이 이벤트에는 할당된 범주, 에이전트, 고객 응대 및 대기열의 세부 정보 등 트리거되는 Contact Lens 규칙에 대한 유용한 정보가 포함되어 있습니다.
+ Contact Lens 실시간 통화/채팅 규칙 일치: EventBridge 이벤트는 Contact Lens 규칙이 일치하고 실시간으로 트리거될 때마다 전달됩니다.

  이 이벤트에는 할당된 범주, 에이전트, 고객 응대 및 대기열의 세부 정보 등 트리거되는 Contact Lens 규칙에 대한 유용한 정보가 포함되어 있습니다.
+ Contact Lens 분석 상태 변경: Contact Lens가 고객 응대 기록을 분석할 수 없을 때 EventBridge 이벤트가 전달됩니다. 이벤트에는 녹화를 처리하지 못한 이유에 대한 세부 정보를 제공하는 이벤트 이유 코드가 포함되어 있습니다.

이러한 알림 유형은 다양한 시나리오에서 사용할 수 있습니다. 예를 들어, Contact Lens 분석 상태 변경 이벤트를 사용하여 고객 응대 파일 처리 시 예기치 않은 오류를 알릴 수 있으며, 이 경우 EventBridge 이벤트 세부 정보를 CloudWatch 로그에 저장하여 추가 검토, 추가 워크플로 트리거, 추가 조사를 위해 관련 지원팀에 알림을 보낼 수 있습니다.

예를 들어, 음성 및 채팅 분석을 위한 Contact Lens 이벤트는 추가적인 인사이트의 표면화 및 시각화와 같은 수많은 새로운 사용 사례를 가능하게 합니다.
+ 모든 통화 및 채팅 대화에 대한 실시간 고객 감정 저하에 대한 알림 생성
+ 반복되는 문제 및 주제에 대한 집계 및 보고
+ 통화 중 해당 마케팅 캠페인을 언급하는 고객 수를 감지하여 최신 마케팅 캠페인의 영향력 측정
+ 각 지역 및 비즈니스 라인에 맞게 에이전트 규정 준수 표준을 사용자 지정하고, 필요한 경우 에이전트를 추가 교육에 등록합니다.

# Amazon Connect 관리자 웹 사이트를 사용하여 Contact Lens에 사용자 지정 어휘 추가
<a name="add-custom-vocabulary"></a>

Contact Lens의 음성-텍스트 변환 엔진 어휘를 확장하고 맞춤화하여 제품 이름, 브랜드 이름 및 도메인별 용어에 대한 음성 인식의 정확도를 개선할 수 있습니다.

이 주제에서는 Amazon Connect 관리자 웹 사이트를 사용하여 사용자 지정 어휘를 추가하는 방법을 설명합니다. [CreateVocabulary](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateVocabulary.html) 및 [AssociateDefaultVocabulary](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateDefaultVocabulary.html) API를 사용하여 어휘를 추가할 수도 있습니다.

## 사용자 지정 어휘에 대해 알아야 할 사항
<a name="things-to-know-about-cust-vocab"></a>
+ 어휘를 분석에 적용하여 기록을 생성하려면 해당 어휘를 **기본값**으로 설정해야 합니다. 다음 이미지는 **사용자 지정 어휘** 페이지를 보여 줍니다. 줄임표를 선택한 다음 **기본값으로 설정**을 선택합니다.  
![\[사용자 지정 어휘 페이지, 줄임표 위치, 기본값 옵션으로 설정\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-custom-vocab-default.png)
+ 언어당 하나의 어휘를 분석에 적용할 수 있습니다. 즉, 언어당 하나의 파일만 **준비(기본값)** 상태가 될 수 있습니다.
+ 최대 20개의 어휘 파일을 업로드하고 활성화할 수 있습니다. 20개의 파일을 모두 동시에 활성화할 수 있습니다.
+ 기록은 일회성 이벤트입니다. 새로 업로드한 어휘는 기존 기록에 소급 적용되지 않습니다.
+ 텍스트 파일은 LF 형식이어야 합니다. CRLF 형식과 같은 다른 형식을 사용하는 경우 사용자 지정 어휘는 Amazon Transcribe에서 허용되지 않습니다.
+ 샘플 어휘 파일은 영어 설정을 선택한 경우에만 다운로드할 수 있습니다.
+ 어휘 파일 크기 제한 및 기타 요구 사항은 **Amazon Transcribe 개발자 안내서에서 [사용자 지정 어휘](https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html)를 참조하세요.
+ 사용자 지정 어휘는 음성 분석에만 적용됩니다. 대화 내용이 이미 존재하므로 채팅 대화에는 적용되지 않습니다.

## 필수 권한
<a name="add-custom-vocabulary-permissions"></a>

Amazon Connect에 사용자 지정 어휘를 추가하려면 먼저 보안 프로필에 할당된 **분석 및 최적화**, **Contact Lens - 사용자 지정 어휘** 권한이 있어야 합니다.

기본적으로 Amazon Connect의 새 인스턴스에서는 **관리자** 및 **CallCenterManager** 보안 프로필에 이 권한이 있습니다.

기존 보안 프로필에 권한을 추가하는 방법에 대한 자세한 내용은 [Amazon Connect에서 보안 프로필 업데이트](update-security-profiles.md) 섹션을 참조하세요.

## 사용자 지정 어휘 추가
<a name="how-to-add-custom-vocabulary"></a>

1. 사용자 지정 어휘를 추가하는 데 필요한 권한이 있는 사용자 계정으로 Amazon Connect에 로그인합니다.

1. **분석 및 최적화**, **사용자 지정 어휘**로 이동합니다.

1. **사용자 지정 어휘 추가**를 선택합니다.

1. **사용자 지정 어휘 추가** 페이지에서 어휘 이름을 입력하고 영어를 선택한 다음 **샘플 파일 다운로드**를 선택합니다.
**참고**  
샘플 어휘 파일은 영어 설정을 선택한 경우에만 다운로드할 수 있습니다. 그렇지 않으면 다음 이미지와 같은 오류 메시지가 표시됩니다.  

![\[어휘 파일 처리에 실패했다는 오류 메시지입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-custom-vocab-sample-error.png)


   다음 이미지는 샘플 어휘 파일의 모습을 보여 줍니다. 헤더에는`Phrase`, `IPA`, `SoundsLike`, `DisplayAs` 등이 포함되어 있습니다. 헤더는 필수입니다.  
![\[샘플 어휘 파일, 헤더.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-custom-vocab-header.png)

1. 파일의 정보는 항목당 하나의 [TAB]로 구분됩니다. 어휘 파일에 단어와 약어를 추가하는 방법에 대한 자세한 내용은 **Amazon Transcribe 개발자 안내서의 [표를 사용하여 사용자 지정 어휘 생성](https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary-create-table.html)을 참조하세요.

   다음 이미지는 샘플 어휘 파일에 있는 단어를 보여 줍니다. 문구 열의 단어는 필수입니다. `IPA`,`SoundsLike`, `DisplayAs` 열의 단어는 선택 사항입니다.  
![\[샘플 어휘 파일, 구문 열의 단어가 필요합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-custom-vocab-phrase-column.png)

   **구문** 열에 여러 단어를 입력하려면 각 단어를 하이픈(-)으로 구분하고 공백을 사용하지 않습니다.

## 어휘 상태
<a name="about-cust-vocab-states"></a>
+ **준비(기본값)**: 어휘를 분석에 적용하여 기록을 생성합니다. 실시간 분석과 통화 후 분석 모두에 적용됩니다.
+ **준비**: 어휘가 분석에 적용되고 있지 않지만 유효한 파일이며 사용할 수 있습니다. 분석에 적용하려면 기본값으로 설정합니다.
+ **처리 중**: Amazon Connect는 업로드한 어휘의 유효성을 검사하고 분석에 적용하여 기록을 생성하려고 합니다.
+ **삭제 중**: 어휘 **제거**를 선택하셨으며 지금 Amazon Connect에서 어휘를 삭제 중입니다.

  Amazon Connect에서 어휘를 삭제하는 데 약 90분이 걸립니다.

유효성 검사를 거치지 않은 어휘를 업로드하려고 하면 **실패** 상태가 됩니다. 예를 들어 **문구** 열에 여러 단어로 된 문구를 추가하고 하이픈 대신 공백으로 구분하면 실패합니다.

## 사용자 지정 어휘 다운로드 및 보기
<a name="view-custom-vocabulary"></a>

업로드된 사용자 지정 어휘를 보려면 파일을 다운로드하여 열면 됩니다. **준비** 상태의 파일만 다운로드하고 볼 수 있습니다.

1. **분석 및 최적화**, **사용자 지정 어휘**로 이동합니다.

1. **더 보기**, **다운로드**를 선택합니다. **다운로드** 위치는 다음 이미지에 나와 있습니다.  
![\[사용자 지정 어휘 페이지, 어휘 목록, 더 보기 드롭다운 메뉴, 다운로드 옵션이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-custom-vocab-download.png)

1. 다운로드를 열어 콘텐츠를 확인합니다.

1. 콘텐츠를 변경한 다음 **저장 및 업로드**를 선택할 수 있습니다.

# Amazon Connect 관리 웹 사이트를 사용하여 Contact Lens 규칙 생성
<a name="build-rules-for-contact-lens"></a>

Contact Lens 규칙을 사용하면 통화, 채팅 또는 이메일, 감정 점수, 고객 속성 및 기타 기준에 사용되는 키워드를 기반으로 고객 응대를 자동으로 분류하거나, 알림을 받거나, 작업을 생성할 수 있습니다.

이 주제에서는 Amazon Connect 관리자 웹 사이트를 사용하여 규칙을 생성하는 방법을 설명합니다. 프로그래밍 방식으로 규칙을 만들고 관리하려면 **Amazon Connect API 참조 가이드에서 [규칙 작업](https://docs.aws.amazon.com/connect/latest/APIReference/rules-api.html) 및 [Amazon Connect 규칙 함수 언어](https://docs.aws.amazon.com/connect/latest/APIReference/connect-rules-language.html)를 참조하세요.

**작은 정보**  
규칙 기능 사양 목록(예: 생성할 수 있는 규칙 수)은 [Amazon Connect 규칙 기능 사양](feature-limits.md#rules-feature-specs) 섹션을 참조하세요.

## 1단계: 대화 분석을 위한 규칙 조건 정의
<a name="rule-conditions"></a>

1. 탐색 메뉴에서 **분석 및 최적화**, **규칙**을 선택합니다.

1. **규칙 만들기**, **대화형 분석**을 선택합니다.

1. **시기**에서 드롭다운 목록을 사용하여 **통화 후 분석**, **실시간 분석**, **채팅 후 분석** 또는 **이메일 분석을** 선택합니다.  
![\[새 규칙 페이지, 시기 드롭다운 메뉴.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rule-define-conditions.png)

1. **조건 추가**를 선택합니다.

   다양한 조건의 기준을 결합하여 매우 구체적인 Contact Lens 규칙을 만들 수 있습니다. 사용 가능한 조건은 다음과 같습니다.
   + **단어 또는 구문**: [일치 검색, 패턴 검색, 의미 체계 검색](exact-match-pattern-match-semantic-match.md) 중에서 선택하여 키워드가 발화될 때 알림이나 작업을 트리거할 수 있습니다.
   + **자연어 - 의미 체계 일치**: 생성형 AI를 사용하여 대화 스크립트와 일치시킬 자연어 문(예: 계정을 취소하기 위해 통화한 고객)을 제공하고 조치(예: 작업 트리거, 평가 수행 등)를 취합니다. 자세한 내용은 [생성형 AI 기반 의미 체계 일치](natural-language-semantic-match.md) 섹션을 참조하세요.
   + 고객 **응대 후 작업(ACW)**: 고객 응대 후 작업 완료 시 에이전트 효율성을 측정하는 규칙을 구축합니다.
   + **에이전트 계층** 구조: 특정 에이전트 계층 구조에서 실행되는 규칙을 빌드합니다. 에이전트 계층 구조는 지리적 위치, 부서, 제품 또는 팀을 나타낼 수 있습니다.

     규칙에 추가할 수 있도록 에이전트 계층 구조 목록을 보려면 보안 프로필에서 **에이전트 계층 구조 - 보기** 권한이 필요합니다.
   + **에이전트**: 에이전트의 하위 집합에서 실행되는 규칙을 구축합니다. 예를 들어 새로 채용된 에이전트가 회사 표준을 준수하도록 하는 규칙을 만들 수 있습니다.

     규칙에 추가할 수 있도록 에이전트 이름을 보려면 보안 프로필에서 **사용자 - 보기** 권한이 필요합니다.
   + **AI 에이전트**: 특정 Connect AI 에이전트가 셀프 서비스 또는 에이전트 지원을 수행한 연락처를 식별합니다. 여러 AI 에이전트를 선택하거나 특정 버전의 에이전트를 선택할 수 있습니다.

     규칙에 추가할 수 있도록 AI 에이전트 이름을 보려면 보안 프로필에서 **AI 에이전트 - 보기** 권한이 필요합니다.
   + **AI 에이전트 - 에스컬레이션**: 고객 셀프 서비스에 사용된 Connect AI 에이전트가 사람에게 에스컬레이션된 경우 연락처를 식별합니다.

     규칙에 추가할 수 있도록 AI 에이전트 이름을 보려면 보안 프로필에서 **AI 에이전트 - 보기** 권한이 필요합니다.
   + **에이전트 상호 작용 기간**: 에이전트 상호 작용이 예상보다 길거나 짧은 고객 응대를 식별하는 규칙을 구축합니다. 이 기능은 통화에만 적용됩니다.
   + **고객 응대 세그먼트 속성**: 다른 시스템에서 값이 채워진 사용자 지정 고객 응대 세그먼트 속성을 사용하거나 사용자 지정 로직을 사용하여 규칙 내에서 고객 응대를 식별할 수 있습니다. [속성을 정의하고](predefined-attributes.md#predefined-attributes-create-web-admin) 흐름에서 해당 값을 설정할 수 있습니다. 사용자 지정 세그먼트 속성은 전체 고객 응대 체인이 아니라 해당 특정 고객 응대 ID에만 존재합니다. 예를 들어 에이전트와 연결되기 전에 IVR에서 고객 응대가 사전 인증되었음을 식별하는 규칙을 구축할 수 있습니다.

     규칙에 추가할 고객 응대 세그먼트 속성 목록을 보려면 **사전 정의된 속성 - 보기** 권한이 필요합니다.
   + **연결 해제 이유**: 고객 응대가 연결 해제된 이유를 확인하는 규칙을 빌드합니다. 예를 들어 고객 이전에 에이전트가 연결을 끊었거나 고객 응대가 전송된 경우입니다.
   + **가장 높은 음량 점수**: 에이전트 또는 고객에 대한 대화 중에 최대 음량 점수(데시벨 단위)를 확인하는 규칙을 작성합니다. 음량이 높을수록(예: 70Db 이상) 흥분이나 분노와 관련이 있을 수 있지만, 특정 음량 점수(예: 30Db 이하) 미만의 음성은 이해하기 어려울 수 있습니다.
   + **대기 시간**: 비정상적인 대기 시간이 있는 고객 응대를 식별하여 고객 응대를 더 효율적으로 처리할 기회를 식별하는 규칙을 구축합니다. 가장 긴 대기 시간, 총 대기 시간 및 대기 수를 사용하여 규칙을 설정할 수 있습니다. 고객이 에이전트와 연결된 총 시간(고객 대기 시간을 에이전트 상호 작용 기간 및 고객 대기 시간으로 나눈 값)의 백분율로 대기 시간을 확인할 수도 있습니다.
   + **시작 방법**: 고객 응대가 인바운드, 아웃바운드, 전송되었는지 여부를 확인하는 규칙을 빌드합니다.
   + **고객 응대 속성**: 사용자 지정 [고객 응대 속성](what-is-a-contact-attribute.md) 값에 따라 실행되는 규칙을 작성합니다. 예를 들어 멤버십 수준, 현재 거주 국가 또는 미결 주문이 있는 경우 등 특정 사업부 또는 특정 고객에 대한 규칙을 만들 수 있습니다.

     규칙에 최대 5개의 고객 응대 속성을 추가할 수 있습니다.
   + **감정 - 기간**: 후행 기간 동안의 감정 분석 결과(긍정, 부정 또는 중립)에 따라 실행되는 규칙을 구축합니다.

     예를 들어, 고객 감정이 일정 기간 동안 부정적으로 유지되는 경우에 대한 규칙을 만들 수 있습니다. 참가자가 나중에 고객 응대에 참여한 경우 여기에 설정된 기간은 참가자가 참석했던 시점에 적용됩니다.

     감정 데이터가 없는 연락처에 규칙이 적용되면 중립 감정이 사용됩니다.
   + **감정 - 전체 고객 응대**: 전체 고객 응대에 대한 감정 지수 값에 따라 실행되는 규칙을 구축합니다. 예를 들어 전체 고객 응대에 대해 고객 감정이 낮게 유지되는 경우 고객 경험 분석가가 통화 내용을 검토하고 후속 조치를 취하도록 하는 규칙을 만들 수 있습니다.

     감정 데이터가 없는 연락처에 규칙이 적용되면 중립 감정이 사용됩니다.
   + **중단**: 에이전트가 고객을 X회 이상 중단했을 때 이를 감지하는 규칙을 만듭니다. 이 기능은 통화에만 적용됩니다.
   + **침묵 시간**: 음성이 감지되지 않는지 확인하는 규칙을 빌드합니다. 여기에는 고객이 대기 중인 기간이 포함될 수 있습니다. 총 침묵 시간, 대화 내 가장 긴 침묵 시간 또는 대화 중 침묵 시간의 백분율을 확인할 수 있습니다. 대화의 50%를 초과하는 침묵 시간 비율과 같이 침묵 시간이 높으면 프로세스 또는 에이전트 코칭 기회를 개선할 수 있는 기회가 될 수 있습니다. 이 기능은 통화에만 적용됩니다.
   + **응답 시간**: 참가자의 응답 시간이 예상보다 길거나 짧았던 고객 응대를 식별하는 규칙(평균 또는 최대)을 만듭니다.

     예를 들어 에이전트가 채팅에 참여한 후 첫 번째 인사말 메시지를 보낼 때까지의 시간인 **에이전트 인사말 시간**(**첫 번째 응답 시간**이라고도 함)에 대한 규칙을 설정할 수 있습니다. 이렇게 하면 에이전트가 고객과 소통하는 데 너무 오래 걸리는 경우를 파악하는 데 도움이 됩니다
   + **잠재적 연결 해제 문제**: 기술 문제(예: 네트워크 연결, 디바이스 문제)를 확인하는 규칙을 빌드합니다. 이를 사용하여 에이전트가 제어할 수 없는 연결 문제가 있는 자동 에이전트 성능 평가에서 고객 응대를 제외할 수 있습니다.
   + **대기열**: 대기열의 하위 집합에서 실행되는 규칙을 빌드하거나 고객 응대가 대기열에 추가되지 않았는지 확인합니다. 조직에서 대기열을 사용하여 사업부, 주제 또는 도메인을 표시하는 경우가 많습니다. 예를 들어, 최근 마케팅 캠페인의 영향을 추적하여 판매 대기열에 대한 규칙을 특별히 구축하거나, 전반적인 감정을 추적하여 고객 지원 대기열에 대한 규칙을 구축할 수 있습니다. 셀프 서비스 상호 작용의 경우 고객 응대가 대기열에 없는지 확인할 수 있으며, 이는 AI 에이전트를 통한 셀프 서비스 성공을 나타낼 수 있습니다.

     대기열 이름을 확인하여 규칙에 추가하려면 보안 프로필에서 **대기열 - 보기** 권한이 필요합니다.
   + **라우팅 프로필**: 특정 라우팅 프로필에 매핑된 에이전트가 처리한 연락처를 식별합니다. 라우팅 프로필은 에이전트 부서 또는 스킬 숙련도를 나타낼 수 있습니다. 예를 들어 라우팅 프로필 신규 채용을 통해 에이전트에 대한 자동 평가를 수행할 수 있습니다.이 평가는 재직 중인 다중 스킬 에이전트와 비교하여 다양한 평가 기준을 사용하여 기본 문제 해결에 대한 교육을 받을 수 있습니다.

     규칙에 추가할 수 있도록 라우팅 프로필을 보려면 보안 **프로필에서 라우팅 프로필 - 보기** 권한이 필요합니다.
   + **대화 시간**: 에이전트 또는 고객이 대화하는 데 소요된 절대 시간 임계값을 사용하여 규칙을 빌드합니다. 이는 고객이 전혀 말하지 않은 부분을 식별하여 에이전트가 연결을 끊도록 하거나 에이전트가 전화를 받은 후 말하지 않는 것과 같은 통화 회피 동작을 보인 부분을 식별하는 데 사용할 수 있습니다.
   + **에이전트 상호 작용 기간**: 에이전트 상호 작용이 예상보다 길거나 짧은 고객 응대를 식별하는 규칙을 구축합니다. 이 기능은 통화에만 적용됩니다.

   다음 이미지는 음성 고객 응대에 대한 여러 조건이 포함된 샘플 규칙을 보여 줍니다.  
![\[음성 고객 응대에 대한 여러 조건이 포함된 샘플 규칙.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-conditions.png)

   다음 이미지는 채팅 고객 응대에 대한 여러 조건이 포함된 샘플 규칙을 보여 줍니다. 이 규칙은 **첫 번째** 응답 시간이 1분 이상이고 에이이전트가 첫 번째 응답에서 나열된 인사말 또는 문구를 전혀 언급하지 않은 경우 트리거됩니다.

   **첫 번째 응답 시간** = 상담원이 채팅에 참여한 후 고객에게 첫 번째 메시지를 보내기까지 걸리는 시간.  
![\[채팅 고객 응대에 대한 여러 조건이 포함된 샘플 규칙.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-conditions-chat.png)

1. **다음**을 선택합니다.

## 2단계: 규칙 작업 정의
<a name="rule-actions"></a>

1. **작업 추가**를 선택합니다. 다음 작업을 선택할 수 있습니다.
   + [태스크 생성](contact-lens-rules-create-task.md): 이 옵션은 실시간 채팅에 사용할 수 없습니다.
   + [이메일 알림 전송](contact-lens-rules-email.md)
   + [EventBridge 이벤트 생성](contact-lens-rules-eventbridge-event.md)  
![\[작업 추가 드롭다운 메뉴, 작업 목록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-action-no-wisdom.png)

1. **다음**을 선택합니다.

1. 검토하고 수정한 다음 **저장**을 선택합니다.

1. 규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

   저장된 과거 대화에는 규칙을 적용할 수 없습니다.

# 대화를 자연어 문 또는 특정 단어 및 문구와 일치시켜 고객 응대를 자동으로 분류합니다.
<a name="rules"></a>

Contact Lens 대화형 분석을 사용하면 고객 응대를 자동으로 분류하여 고객 응대의 주요 동인, 고객 경험 및 에이전트 행동을 식별할 수 있습니다. 채팅의 **고객 응대 세부 정보** 페이지에서 범주는 다음 이미지와 같이 대화 내용 위에 표시됩니다.

![\[고객 응대 세부 정보 페이지, 범주 섹션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-category-overview-chat2.png)


다음은 고객 응대를 분류할 때 수행할 수 있는 몇 가지 주요 작업입니다.
+ 생성형 AI 기반 고객 응대 분류를 사용하면 고객 응대를 자연어로 분류하는 기준을 제공할 수 있습니다(예: 고객이 잔액을 결제하려고 했나요?).
+ 에이전트 또는 고객이 대화와 일치시킬 특정 단어나 문구를 제공할 수 있습니다. 그러면 Contact Lens는 일치 기준을 충족하는 고객 응대에 자동으로 레이블을 지정하고 대화의 관련 포인트를 제공합니다.
+ 알림을 수신하고 분류된 고객 응대에 대한 작업을 생성하는 작업을 정의할 수 있습니다.
+ 고객 감정 점수, 대기열 또는 고객 충성도 정보와 같이 고객 응대에 추가한 사용자 지정 속성과 같은 고객 응대를 분류하는 추가 기준을 지정할 수 있습니다.

## 단어 또는 구절을 사용해야 하는 경우
<a name="when-use-words-phrases"></a>

에이전트 스크립트 준수 모니터링 또는 제품에 대한 고객 관심 평가와 같이 감지하려는 단어 또는 구문의 잘 정의된 목록이 있는 경우 특정 단어 또는 구문을 사용하는 것이 유용합니다.

## 자연어를 사용해야 하는 경우
<a name="when-use-natural-language"></a>

자연어 문을 고객 응대와 일치시키는 것은 가능한 단어나 문구가 너무 많거나 "고객이 구독 계획을 변경하고 싶어함", "에이전트가 고객의 모든 문제를 해결했습니다"와 같은 컨텍스트별 기준과 일치시키려는 경우에 유용합니다.

## 고객 응대 분류 규칙 추가
<a name="add-category-rules"></a>

이 섹션의 내용:
+ [1단계: 조건 정의](#add-category-rules-define-conditions)
+ [2단계: 작업 정의](#add-category-rules-define-actions)

### 1단계: 조건 정의
<a name="add-category-rules-define-conditions"></a>

1. **CallCenterManager** 보안 프로필이 할당되었거나 **규칙** 권한이 활성화된 사용자 계정으로 Amazon Connect에 로그인합니다.

1. 탐색 메뉴에서 **분석 및 최적화**, **규칙**을 선택합니다.

1. **규칙 만들기**, **대화형 분석**을 선택합니다.

1. 규칙에 이름을 지정합니다.

1. **시기**에서 드롭다운 목록을 사용하여 **통화 후 분석**, **실시간 분석**, **채팅 후 분석**, **실시간 채팅 분석** 또는 **이메일 분석을** 선택합니다.  
![\[새 규칙 페이지, 시기 드롭다운 목록.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rule-define-conditions.png)

1. **조건 추가**를 선택한 다음과 같은 일치 유형을 선택합니다.
   + **단어 또는 문구 - 정확히 일치**: 정확한 단어 또는 문구와 일치하는 고객 응대를 찾습니다. 쉼표로 분리된 단어나 문구를 입력합니다.
   + **단어 또는 문구 패턴 일치**: 단어 또는 문구 패턴을 찾아 고객 응대를 찾습니다. 단어 사이의 거리를 지정할 수도 있습니다. 예를 들어, '신용'이라는 단어가 언급된 고객 응대를 찾고 있지만 '신용카드'라는 단어에 대한 언급은 보고 싶지 않은 경우 패턴 일치 범주를 정의하여 '카드'와 한 단어 거리 내에 있지 않은 '신용'이라는 단어를 찾을 수 있습니다.
   + **자연어 - 의미 체계 일치**: 생성형 AI를 사용하여 제공된 자연어 문과 일치하는 고객 응대를 찾습니다. 문은 예 또는 아니요로 답변할 수 있어야 합니다. 자연어 - 의미 체계 일치는 고객 응대와 컨텍스트별 기준을 일치시키려거나 일치시킬 수 있는 단어나 구문이 너무 많을 때 사용됩니다. 예를 들어, 다음과 같습니다.
     + “고객이 구독 플랜을 변경하려고 했습니다.”
     + “고객이 현재 서비스를 종료하려는 의사를 표시했습니다.”
     + “에이전트가 여러 결제 옵션을 제공했습니다.”
     + “에이전트는 고객에게 통화가 중요하다고 확신하고 추가 대기 시간을 요청했습니다.”
     + “에이전트가 고객의 모든 문제를 해결했습니다.”
**참고**  
자연어 - 의미 체계 일치 조건은 실시간 분석에 사용할 수 없습니다.
생성형 AI를 사용하는 규칙을 생성하려면 **규칙 - 생성형 AI**라는 추가 권한이 필요합니다.

     **전문가 팁**: 이전에 **단어 또는 구문 - 의미 체계 일치**를 사용한 경우 생성형 AI 기반 **자연어 - 의미 체계 일치**를 사용합니다.
   + **단어 또는 구문 - 의미 체계 일치**: 동의어일 수 있는 단어를 찾습니다. 예를 들어 '화가 났다'를 입력하면 '행복하지 않다'와 일치할 수 있고, '거의 받아들일 수 없다'는 '받아들일 수 없다'와 일치하며, '구독 취소'는 '구독 취소'와 일치할 수 있습니다. 마찬가지로 문구도 의미 체계적으로 일치할 수 있습니다. 예를 들어, "도와주셔서 정말 감사합니다.", "정말 감사하고 도움이 많이 됩니다.", "도와주셔서 정말 행복합니다." 등의 표현을 사용할 수 있습니다.

     이렇게 하면 범주를 만들 때 키워드 목록을 일일이 정의할 필요가 없으며, 중요한 유사한 문구를 검색할 때 더 넓은 범위에서 검색할 수 있습니다. 최상의 의미 체계 일치 결과를 얻으려면 의미 체계 일치 카드 내에 비슷한 의미의 키워드나 문구를 입력합니다. 현재는 의미 체계 일치 카드당 최대 4개의 키워드와 구문을 입력할 수 있습니다.

1. 예를 들어 **단어 또는 구문 - 정확한 일치**를 사용하여 강조 표시하려는 단어나 구문을 쉼표로 구분하여 입력하고 **추가**를 선택합니다. 쉼표로 구분된 각 단어나 문구는 카드에 고유한 줄이 표시됩니다.  
![\[새 규칙 페이지, 단어 또는 구문 - 정확히 일치 섹션\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-script.png)  
![\[새 규칙 페이지, 단어 또는 구문 - 정확히 일치 섹션, 추가 버튼.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-script2.png)

   Contact Lens가 이러한 문구를 읽을 때 사용하는 로직: (Hello AND thank AND you AND for AND calling AND Example AND Corp) OR (we AND value AND your AND business) OR (how AND may AND I AND assist AND you).

   또는 **자연어 - 의미 체계 일치** 조건을 사용하고 텍스트 상자에 생성형 AI가 참 또는 거짓으로 평가할 수 있는 자연어 문을 입력합니다.  
![\[새 규칙 페이지, 자연어 - 의미 체계 일치 섹션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-natural-language-semantic.png)

1. 단어 또는 구문을 더 추가하려면 **단어 또는 구문 그룹 추가**를 선택합니다. 다음 이미지에서 첫 번째 그룹의 단어 또는 구문은 에이전트가 발화할 수 있는 내용이고, 두 번째 그룹은 고객이 말할 수 있는 내용입니다.  
![\[단어 또는 구문 - 에이전트의 경우 정확히 일치하는 단어, AND 단어, 고객을 위한 단어 또는 구문 섹션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-script3.png)

   1. Contact Lens가 이러한 문구를 읽을 때 사용하는 로직: (Hello AND thank AND you AND for AND calling AND Example AND Corp) OR (we AND value AND your AND business) OR (how AND may AND I AND assist AND you).

   1. 두 카드는 AND로 연결되어 있습니다. 즉, 첫 번째 카드의 행 중 하나를 말하고 AND 이후 두 번째 카드의 문구 중 하나를 말해야 합니다.

   Contact Lens가 두 장의 단어나 문구를 읽을 때 사용하는 로직은 (카드 1) AND (카드 2)입니다.

1. **조건 추가**를 선택하여 규칙을 다음에 적용합니다.
   + 특정 대기열
   + 고객 응대 속성에 특정 값이 있는 경우
   + 감정 점수에 특정 값이 있는 경우

   예를 들어 다음 이미지는 에이전트가 BasicQueue 또는 Billing 및 Payments 대기열에서 작업 중이고 고객이 자동차 보험에 가입했으며 에이전트가 시애틀에 있는 경우에 적용되는 규칙을 보여 줍니다.  
![\[여러 조건이 포함된 규칙입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-3.png)

### 2단계: 작업 정의
<a name="add-category-rules-define-actions"></a>

고객 응대를 분류하는 것 외에도 Amazon Connect에서 취해야 하는 작업을 정의할 수 있습니다.

1. [EventBridge 이벤트 생성](contact-lens-rules-eventbridge-event.md)

1. [태스크 생성](contact-lens-rules-create-task.md)

1. [사례 생성](contact-lens-rules-create-case.md)

1. [이메일 알림 전송](contact-lens-rules-email.md)

1. [자동 평가를 제출하는 규칙 생성](contact-lens-rules-submit-automated-evaluation.md)

### 3단계: 검토 및 저장
<a name="add-category-rules-review-save"></a>

1. 완료되면 **저장**을 선택합니다.

1. 규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

   저장된 과거 대화에는 규칙을 적용할 수 없습니다.

# Amazon Connect Contact Lens에서 규칙 또는 범주를 평가하지 못한 경우
<a name="failed-categories"></a>

Amazon Connect Contact Lens가 음성 또는 채팅 고객 응대에 대한 고객 응대 후 분석 중에 규칙 또는 범주를 평가하는 경우 규칙 또는 범주가 평가되지 않을 수 있습니다.

고객 응대 분석 중에 규칙 또는 범주를 평가할 때 가능한 범주 결과는 다음과 같습니다.

1. **성공적으로 매칭되어 고객 응대에 적용되었습니다**. 범주가 **고객 응대 세부 정보** 페이지에 표시되면 범주가 성공적으로 일치하여 고객 응대에 적용되었음을 나타냅니다.

1. **성공적으로 평가되었지만 고객 응대에는 적용되지 않습니다**. 범주가 **고객 응대 세부 정보** 페이지에 없으면 해당 범주가 고객 응대에 적용되지 않지만 Contact Lens 규칙에 의해 성공적으로 평가되었음을 나타냅니다.

1. **고객 응대 분석은 완료되었지만 특정 범주는 평가되지 않았습니다**. 범주를 평가하지 못하면 해당 범주가 고객 응대에 적용되지 않는다는 의미가 아니라(기준에 따라) Contact Lens가 특정 범주를 평가하지 않고 고객 응대 분석을 완료했다는 의미입니다.

다음 이미지는 실패한 카테고리가 점선 테두리, 투명한 배경, 오류 아이콘, 실패한 접두사로 표시되어 있음을 보여 줍니다. 실패한 범주 위로 마우스를 가져가면 범주를 평가하지 못한 이유에 대한 세부 정보가 표시됩니다.

![\[고객 응대 세부 정보 페이지에서 실패한 범주입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/failed-categories1.png)


이러한 실패한 범주는 의미 체계 일치 조건이 있는 규칙에서만 존재합니다. 가능한 두 가지 이유는 다음과 같습니다.

1. **할당량 초과**: 해당 기간 동안 생성형 AI 작업 한도를 초과했습니다. AWS Support를 통해 할당량 증가를 요청할 수 있습니다.

1. **안전 지침 실패**: 보안 및 품질 가드레일을 충족하지 않아 범주 처리가 실패했습니다.

고객 응대 수를 줄이려면 의미적 일치 규칙에 더 많은 조건을 추가하는 것이 좋습니다. 이렇게 하면 할당량 초과 실패를 방지하는 데 도움이 됩니다.

## Contact Lens 고객 응대 후 분석 출력 고객 S3 파일
<a name="failed-categories-output-file"></a>

실패한 범주는 분석 파일의 JobDetails > 건너뛴 분석 아래에 나타납니다.

`SkippedAnalysis` 섹션에는 해당 고객 응대에 대한 분석이 완료되었더라도 '건너뜀'으로 표시된 고객 응대 분석이 표시됩니다. 여기에는 "Feature" 및 "ReasonCode" 속성이 포함되어 있습니다. `POST_CONTACT_SUMMARY`는 기존 기능 중 하나입니다.

`CATEGORIZATION`는 건너뛰기 분석에 새로운 기능으로 추가되었습니다. `SkippedAnalysis` 배열에는 분류 실패를 초래한 각 고유 `ReasonCode`에 대해 고유한 분류 요소가 하나씩 있습니다. 관련 사유 코드로 인해 실패한 모든 범주 이름(및 관련 규칙 IDs) 목록이 포함된 각 고유 요소에 새 `SkippedEntities` 속성이 도입됩니다.

다음은 `JobDetails` 내에서 실패한 범주의 예입니다.

```
"JobDetails": {
    "SkippedAnalysis": [
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "QUOTA_EXCEEDED", 
            "SkippedEntities": [
                {
                    "CategoryName": "PotentialFraud"
                    "RuleId": "a1130485-9529-4249-a1d4-5738b4883748"
                },
                {
                    "CategoryName": "Refund"
                    "RuleId": "bbbbbbb-9529-4249-a1d4-5738b4883748"
                }
            ]
        },
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "FAILED_SAFETY_GUIDELINES", 
            "SkippedEntities": [
                {
                    "CategoryName": "ManagerEscalation"
                    "RuleId": "cccccccc-9529-4249-a1d4-5738b4883748"
                },
            ]
        },
        {
            "Feature": "POST_CONTACT_SUMMARY",
            "ReasonCode": "INSUFFICIENT_CONVERSATION_CONTENT"
        }
    ]
},
```

자세한 내용은 [통화에 대한 Contact Lens 대화 분석 출력 파일 예시](contact-lens-example-output-files.md) 단원을 참조하십시오.

# 통화의 키워드와 구문을 기반으로 감독자용 Contact Lens에 실시간 알림 추가
<a name="add-rules-for-alerts"></a>

흐름에서 [실시간 분석을 활성화](enable-analytics.md)한 후 고객 경험 문제가 발생할 경우 감독자에게 자동으로 알리는 규칙을 추가할 수 있습니다.

예를 들어 Contact Lens는 대화 중에 특정 키워드나 문구가 언급되거나 다른 기준을 감지하면 자동으로 알림을 보낼 수 있습니다. 관리자는 실시간 지표 대시보드에서 알림을 확인합니다. 감독자는 실시간 통화를 듣고 채팅을 통해 에이전트에게 안내하여 문제를 더 빨리 해결할 수 있도록 도울 수 있습니다.

다음은 경고를 받았을 때 감독자가 실시간 지표 보고서에서 보게 되는 내용의 예를 보여 주는 이미지입니다. 이 경우 Contact Lens는 고객이 화가 난 상황을 감지한 것입니다.

![\[실시간 지표 페이지, 화가 난 고객을 위한 알림\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-real-time-metrics-alert2.png)


감독자가 실시간 통화를 들으면 Contact Lens는 상황을 이해하고 적절한 작업을 평가하는 데 도움이 되는 실시간 대화 내용 및 고객 감정 동향을 제공합니다. 또한 트랜스크립트를 사용하면 통화가 다른 에이전트에게 전달되더라도 고객이 반복해서 이야기할 필요가 없습니다.

다음은 샘플 채팅 기록을 보여 주는 이미지입니다.

![\[샘플 실시간 기록\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-real-time-transcript.png)


## 통화용 실시간 알림 규칙 추가
<a name="add-category-rules-real-time"></a>

1. **CallCenterManager** 보안 프로필이 할당되었거나 **규칙** 권한이 활성화된 사용자 계정으로 Amazon Connect에 로그인합니다.

1. 탐색 메뉴에서 **분석 및 최적화**, **규칙**을 선택합니다.

1. **규칙 만들기**, **대화형 분석**을 선택합니다.

1. 규칙에 이름을 지정합니다.

1. **시기** 아래에 있는 드롭다운 목록에서 **실시간 분석**을 선택합니다.

1. **조건 추가**를 선택한 다음과 같은 일치 유형을 선택합니다.
   + **정확히 일치**: 정확한 단어 또는 구문만 찾습니다.
   + **패턴 일치**: 정확도가 100% 미만일 수 있는 일치 항목을 찾습니다. 단어 사이의 거리를 지정할 수도 있습니다. 예를 들어, '신용'이라는 단어가 언급된 고객 응대를 찾고 있지만 '신용카드'라는 단어가 언급된 고객 응대는 보고 싶지 않을 수 있습니다. 패턴 일치 범주를 정의하여 '카드'라는 단어와 한 단어 거리 내에 있지 않은 '신용'이라는 단어를 찾을 수 있습니다.
**작은 정보**  
의미 체계 일치는 실시간 분석에 사용할 수 없습니다.

1. 강조 표시할 단어나 구를 쉼표로 구분하여 입력합니다. 실시간 규칙은 **언급된** 키워드나 문구만 지원합니다.  
![\[단어 및 구문 규칙.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-alert-rules-1.png)

1. **추가**를 선택합니다. 쉼표로 구분된 각 단어나 구는 고유한 줄을 갖습니다.  
![\[단어 및 구문 규칙은 각각 고유한 줄에 여러 개의 구문이 있는 규칙입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-alert-rules-2.png)

   Contact Lens가 이러한 단어나 문구를 읽을 때 사용하는 로직: (Talk OR to OR your OR manager) OR (this OR is OR not OR helpful) OR (speak OR to OR your OR supervisor) 등.

1. 단어 또는 구문을 더 추가하려면 **단어 또는 구문 그룹 추가**를 선택합니다. 다음 이미지에서 첫 번째 단어나 문구 그룹은 에이전트가 발화할 수 있는 내용입니다. 두 번째 그룹은 고객이 말할 수 있는 내용입니다.  
![\[고객과 에이전트를 위한 단어 및 구문 규칙(여러 문구가 포함됨).\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-script3.png)

   1. 이 첫 번째 카드에서는 Contact Lens가 각 줄을 OR로 읽습니다. 예: (Hello OR thank OR you OR for OR calling OR Example OR Corp) OR (we OR value OR your OR business) OR (how OR may OR I OR assist OR you).

   1. 두 카드는 AND로 연결되어 있습니다. 즉, 첫 번째 카드의 행 중 하나를 말하고 AND 이후 두 번째 카드의 문구 중 하나를 말해야 합니다.

   Contact Lens가 두 장의 단어나 문구를 읽을 때 사용하는 로직은 (카드 1) AND (카드 2)입니다.

1. **조건 추가**를 선택하여 규칙을 다음에 적용합니다.
   + 특정 대기열
   + 고객 응대 속성에 특정 값이 있는 경우
   + 감정 점수에 특정 값이 있는 경우

   예를 들어, 다음 이미지는 에이전트가 BasicQueue 또는 Billing and Payments 대기열에서 일하고, 고객은 자동차 보험 가입자이고, 에이전트은 시애틀에 있는 경우에 적용되는 규칙을 보여 줍니다.  
![\[여러 조건이 적용되는 단어 및 구문 규칙.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-3.png)

1. 완료되면 **다음**을 선택합니다.

1. **고객 응대 범주 할당** 상자에 범주의 이름을 추가합니다. 예: **준수** 또는 **비준수\$1준수**

1. **다음**을 선택한 다음 **저장 및 게시**를 선택합니다.

# 채팅의 키워드와 구문을 기반으로 감독자용 Contact Lens에 실시간 알림 추가
<a name="add-rules-for-alerts-chat"></a>

흐름에서 [실시간 분석을 활성화](enable-analytics.md)한 후 고객 경험 문제가 발생할 경우 감독자에게 자동으로 알리는 규칙을 추가할 수 있습니다.

예를 들어 Contact Lens는 채팅 중에 특정 키워드나 문구가 언급되거나 다른 기준을 감지하면 자동으로 알림을 보낼 수 있습니다. 그러면 감독자는 **연락처 세부 정보** 페이지에서 실시간 채팅을 보고 문제를 확인할 수 있습니다. 여기에서 감독자는 채팅에 합류하고 에이전트에게 안내하여 문제를 더 빨리 해결할 수 있도록 도울 수 있습니다.

다음은 실시간 채팅에 대한 알림을 받았을 때 감독자가 **연락처 세부 정보** 페이지에서 보게 되는 내용의 예를 보여 주는 이미지입니다. 이 경우 Contact Lens는 고객이 화가 난 상황을 감지한 것입니다.

![\[연락처 세부 정보 페이지, 화가 난 실시간 채팅 고객에 대한 알림\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-realtime-alert-chat.png)


감독자가 채팅을 모니터링하면 Contact Lens는 상황을 이해하고 적절한 작업을 평가하는 데 도움이 되는 실시간 대화 내용 및 고객 감정 동향을 제공합니다. 또한 트랜스크립트를 사용하면 통화가 다른 에이전트에게 전달되더라도 고객이 반복해서 이야기할 필요가 없습니다.

## 채팅용 실시간 알림 규칙 추가
<a name="add-category-rules-real-time"></a>

1. **CallCenterManager** 보안 프로필이 할당되었거나 **규칙** 권한이 활성화된 사용자 계정으로 Amazon Connect에 로그인합니다.

1. 탐색 메뉴에서 **분석 및 최적화**, **규칙**을 선택합니다.

1. **규칙 만들기**, **대화형 분석**을 선택합니다.

1. 규칙에 이름을 지정합니다.

1. **시기** 아래에 있는 드롭다운 목록에서 **실시간 분석**을 선택합니다.

1. **조건 추가**를 선택한 후 일치 유형을 선택합니다. 다음 이미지는 **감정 - 기간** 조건에 구성된 규칙을 보여 줍니다.  
![\[실시간 채팅 분석 규칙의 조건.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-realtime-chat-rule2.png)

   다음 옵션 중 하나를 선택합니다.
   + **정확히 일치**: 정확한 단어 또는 구문만 찾습니다.
   + **패턴 일치**: 정확도가 100% 미만일 수 있는 일치 항목을 찾습니다. 단어 사이의 거리를 지정할 수도 있습니다. 예를 들어, '신용'이라는 단어가 언급된 고객 응대를 찾고 있지만 '신용카드'라는 단어가 언급된 고객 응대는 보고 싶지 않을 수 있습니다. 패턴 일치 범주를 정의하여 '카드'라는 단어와 한 단어 거리 내에 있지 않은 '신용'이라는 단어를 찾을 수 있습니다.
**작은 정보**  
의미 체계 일치는 실시간 분석에 사용할 수 없습니다.

1. 강조 표시할 단어나 구를 쉼표로 구분하여 입력합니다. 실시간 규칙은 **언급된** 키워드나 문구만 지원합니다.  
![\[단어 및 구문 규칙.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-alert-rules-1.png)

1. **추가**를 선택합니다. 쉼표로 구분된 각 단어나 구는 고유한 줄을 갖습니다.  
![\[단어 및 구문 규칙은 각각 고유한 줄에 여러 개의 구문이 있는 규칙입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-alert-rules-2.png)

   Contact Lens가 이러한 단어나 문구를 읽을 때 사용하는 로직: (Talk OR to OR your OR manager) OR (this OR is OR not OR helpful) OR (speak OR to OR your OR supervisor) 등.

1. 단어 또는 구문을 더 추가하려면 **단어 또는 구문 그룹 추가**를 선택합니다. 다음 이미지에서 첫 번째 단어나 문구 그룹은 에이전트가 언급할 수 있는 내용입니다. 두 번째 그룹은 고객이 언급할 수 있는 내용입니다.  
![\[고객과 에이전트를 위한 단어 및 구문 규칙(여러 문구가 포함됨).\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-script3.png)

   1. 이 첫 번째 카드에서는 Contact Lens가 각 줄을 OR로 읽습니다. 예: (Hello OR thank OR you OR for OR calling OR Example OR Corp) OR (we OR value OR your OR business) OR (how OR may OR I OR assist OR you).

   1. 두 카드는 AND로 연결되어 있습니다. 즉, 첫 번째 카드의 행 중 하나를 언급하고 이후 두 번째 카드의 문구 중 하나를 언급해야 합니다(AND 조건).

   Contact Lens가 두 장의 단어나 문구를 읽을 때 사용하는 로직은 (카드 1) AND (카드 2)입니다.

1. **조건 추가**를 선택하여 규칙을 다음에 적용합니다.
   + 특정 대기열
   + 고객 응대 속성에 특정 값이 있는 경우
   + 감정 점수에 특정 값이 있는 경우

   예를 들어, 다음 이미지는 에이전트가 BasicQueue 또는 Billing and Payments 대기열에서 일하고, 고객은 자동차 보험 가입자이고, 에이전트은 시애틀에 있는 경우에 적용되는 규칙을 보여 줍니다.  
![\[여러 조건이 적용되는 단어 및 구문 규칙.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-3.png)

1. 완료되면 **다음**을 선택합니다.

1. **고객 응대 범주 할당** 상자에 범주의 이름을 추가합니다. 예: **준수** 또는 **비준수\$1준수**

1. 조건 충족 시 Amazon Connect에서 취해야 하는 조치를 지정하려면 **작업 추가**를 선택합니다. 이메일 알림을 사용하거나 EventBridge에서 사용자 지정 통합을 개발하여 감독자 알림을 구성할 수 있습니다.  
![\[EventBridge 이벤트 생성 및 이메일 알림 전송 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-realtime-chat-rule3.png)

1. **이메일 알림 전송**을 선택한 경우 페이지 작성에 대한 자세한 내용 및 이메일 제한 사항에 대한 자세한 내용은 [이메일 알림을 보내는 규칙 생성](contact-lens-rules-email.md) 섹션을 참조하세요.

   **EventBridge 이벤트 생성**을 선택한 경우 페이지 작성에 대한 자세한 내용 및 EventBridge 이벤트 유형 구독에 대한 자세한 내용은 [EventBridge 이벤트를 생성하는 규칙을 만듭니다.](contact-lens-rules-eventbridge-event.md) 섹션을 참조하세요.

# 이메일 알림을 보내는 규칙 생성
<a name="contact-lens-rules-email"></a>

조직 내 사람들에게 이메일 알림을 보내는 규칙을 생성할 수 있습니다. 이를 통해 고객 센터에서 발생할 수 있는 잠재적인 문제에 보다 신속하게 대응할 수 있습니다. 예를 들어 다음에 알림을 보내는 규칙을 생성할 수 있습니다.
+ 계정 에스컬레이션 또는 취소가 있는 경우 팀 감독자.
+ 대화 중 특정 단어가 언급되어 고객 센터에 있는 사람들로 구성된 그룹
+ 통화 중 의견 불일치가 발생할 경우 고객 센터의 지정된 담당자.
+ Amazon Connect 대화 분석을 통해 분석되거나 평가된 고객 응대를 처리한 에이전트입니다.

**중요**  
모든 이메일은 `no-reply@amazonconnect.com`에서 발송됩니다.
SAML 사용자에게는 기본 이메일 주소가 없으며 사용자 이름 로그인이 있습니다. 사용자 이름 로그인은 일반적으로 이메일 주소이지만 반드시 그럴 필요는 없습니다. 이러한 사용자의 경우 Amazon Connect 내에서 **이메일 주소** 필드 레이블이 비어 있습니다. SAML 사용자에 대해 이메일 알림을 전송할 때 알림을 받으려면 보조 이메일이 구성되어 있어야 합니다. 보조 이메일이 구성되지 않은 경우 사용자는 이메일을 받지 못합니다.

**이메일 알림을 보내는 규칙을 만들려면 다음을 수행하세요.**

1. 규칙을 만드는 데 [필요한 권한](permissions-for-rules.md)이 있는 사용자 계정으로 Amazon Connect에 로그인합니다.

1. **분석 및 최적화**, **규칙**으로 이동합니다.

1. **규칙** 페이지에서 **규칙 생성**을 선택한 다음 드롭다운 목록에서 **대화형 분석** 또는 **평가 양식**을 선택합니다.  
![\[규칙 페이지, 규칙 생성 드롭다운 목록, Contact Lens 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-create-rule.png)

1. **새 규칙** 페이지에서 규칙 조건을 정의합니다. 자세한 내용은 다음을 참조하세요.
   + [대화형 분석을 위한 규칙 조건 정의](build-rules-for-contact-lens.md#rule-conditions)
   + [평가 양식에 대한 규칙 조건을 정의합니다](create-evaluation-rules.md#rule-conditions-eval).

1. 규칙에 대한 작업을 정의할 때 해당 작업에 대한 **이메일 알림 전송**을 선택합니다.  
![\[새 규칙 페이지, 작업 추가 드롭다운 목록, 이메일 알림 전송 작업.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-email-action.png)

1. **이메일 알림 전송** 섹션에서 다음 옵션 중 하나를 사용하여 이메일을 수신할 사람을 선택합니다.
   + **로그인 기준으로 수신자 선택: 이메일을 지정된 사용자에게 라우팅합니다.**
**중요**  
SAML 사용자를 가져오려면 보조 이메일이 구성되어 있어야 합니다. 보조 이메일이 구성되지 않은 경우 사용자는 이메일을 받지 못합니다.
   + **태그 기준으로 수신자 선택**. 에이전트의 태그 값을 기준으로 이메일을 동적으로 라우팅합니다.
   + **고객 응대를 처리한 에이전트를 선택합니다**. 고객 응대를 처리한 에이전트에게 이메일을 라우팅합니다.

   다음 이미지에서 규칙은 고객 응대를 처리한 에이전트에게 알림 이메일을 보냅니다.  
![\[이메일 알림 전송 섹션, 고객 응대를 처리한 에이전트 선택 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-email-tag.png)

1. **제목**에 이메일 제목을 추가합니다. **본문**에 이메일 알림의 내용을 추가합니다.

   **@를 사용하여 규칙 실행 중에 채워지는 동적 변수를 추가합니다**. 대화형 분석 규칙 및 평가 양식 규칙의 경우 규칙과 일치하는 연락처에 대한 규칙 **이름, 인스턴스 URL, 연락처, 에이전트** 및 **대기열** 정보를 추가할 수 있습니다. 평가 양식 규칙을 사용하면 **평가 ID**를 삽입할 수 있습니다.  
![\[이메일 본문, 사용 가능한 변수 목록입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/rules-send-email-dynamic-variables.png)
**참고**  
다른 규칙 유형은 다양한 변수를 지원합니다.  
실시간 지표 규칙을 사용하면 임계값을 위반하여 알림을 트리거한 **규칙 이름, 인스턴스 URL** 및 **에이전트, 대기열, 흐름 또는 라우팅 프로필** 목록을 입력할 수 있습니다.
사례에 대한 규칙을 사용하면 **규칙 이름, 인스턴스 URL** 및 **사례 ID**를 삽입할 수 있습니다.

1. **다음**을 선택합니다. 선택 사항을 검토한 다음, **저장**을 선택합니다.

1. 규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

   저장된 과거 대화에는 규칙을 적용할 수 없습니다.

## 이메일 제한
<a name="email-notification-limits"></a>
+ Amazon Connect의 기본 이메일 한도는 하루 500개입니다. 이 한도를 초과하면 Amazon Connect 인스턴스가 24시간 동안 이메일을 더 보내는 것이 차단됩니다. 이는 이메일에 반송 및 불만 사항 제한이 적용되기 때문입니다. 자세한 내용은 [https://docs.aws.amazon.com/ses/latest/dg/send-email-concepts-deliverability.html](https://docs.aws.amazon.com/ses/latest/dg/send-email-concepts-deliverability.html)Amazon SES의 이메일 배달 가능성 이해에서 **반송** 및 **불만 사항** 섹션을 참조하세요.
+ 모든 이메일은 `no-reply@amazonconnect.com` 발신 주소이므로 사용자 지정할 수 없습니다.
+ SAML 사용자에게는 기본 이메일 주소가 없으며 사용자 이름 로그인이 있습니다. 사용자 이름 로그인은 일반적으로 이메일 주소이지만 반드시 그럴 필요는 없습니다. 이러한 사용자의 경우 Amazon Connect 내에서 **이메일 주소** 필드 레이블이 비어 있습니다. SAML 사용자에 대해 이메일 알림을 전송할 때 알림을 받으려면 보조 이메일이 구성되어 있어야 합니다. 보조 이메일이 구성되지 않은 경우 사용자는 이메일을 받지 못합니다.

이메일 전송의 기본 옵션이 요구 사항을 충족하지 않는 경우 기술 계정 관리자 또는 지원 에 문의하여 Amazon Connect 서비스 팀과 논의하세요.

# EventBridge 이벤트를 생성하는 규칙을 만듭니다.
<a name="contact-lens-rules-eventbridge-event"></a>

실시간 또는 통화/채팅 후 이벤트를 수신하고 이를 사용하여 후속 알림이나 경고를 트리거하거나 Amazon Connect 외부에서 보고서를 집계할 수 있습니다. 이 데이터로 할 수 있는 일은 많습니다. 예제: 
+ QuickSight 대시보드에서 실시간 알림을 받을 수 있습니다.
+ Amazon Connect 외부에서 집계된 보고서를 생성합니다.
+ CRM과 데이터를 결합합니다.
+ 알림 솔루션을 EventBridge에 연결하여 일과가 끝날 때까지 특정 유형의 모든 이벤트가 특정 받은 편지함으로 전송되도록 하세요. 페이로드는 고객 응대, 에이전트, 대기열을 알려 줍니다.

**참고**  
 실시간 지표 규칙의 경우 규칙을 트리거하는 리소스가 **리소스** 아래에 나열됩니다. 예를 들어 평균 대기열 응답 시간과 같은 대기열 지표에 대해 경고하는 규칙을 생성하면 임계값을 위반한 대기열 목록이 리소스 아래에 나열됩니다.

**EventBridge 이벤트를 생성하는 규칙을 생성하려면 다음을 수행하세요.**

1. 규칙을 생성할 때 해당 작업에 대해 **EventBridge 이벤트 생성**을 선택합니다.  
![\[새 규칙 페이지, 다음 작업 수행 섹션, 작업 추가 드롭다운 목록, EventBridge 이벤트 생성 작업.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-events-example1.png)

1. **작업 이름**에는 이벤트 페이로드의 이름을 입력합니다.
**참고**  
**작업 이름**에 할당한 값은 EventBridge 페이로드에서 볼 수 있습니다. 이벤트를 집계할 때 작업 이름은 이벤트를 처리하는 데 사용할 수 있는 추가 차원을 제공합니다. 예를 들어, 200개의 범주 이름이 있지만 50개만 NOTIFY\$1CUSTOMER\$1RETENTION과 같은 특정 작업 이름을 가지고 있습니다.  
![\[다음 작업 수행 섹션, 고객 응대 범주 할당 섹션, EventBridge 이벤트 생성 섹션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-add-eb-action.png)

1. **다음**을 선택합니다. 검토한 다음 **저장**합니다.

1. 규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

   저장된 과거 대화에는 규칙을 적용할 수 없습니다.

1. EventBridge 데이터를 활용하려면 EventBridge 이벤트 유형을 구독합니다. 다음 절차를 참조하세요.

## EventBridge 이벤트 유형 구독
<a name="subscribe-eb-eventtype"></a>

EventBridge 이벤트 유형을 구독하려면 다음과 일치하는 사용자 지정 EventBridge 규칙을 생성하세요.
+ "source" = "aws.connect"
+ "detail-type" = "Contact Lens Post Call Rules Matched" 또는 다음 중 하나:
  + **Contact Lens Realtime Rules Matched**
  + **Contact Lens Realtime Chat Rules Matched**
  + **Contact Lens Post Chat Rules Matched**
  +  **Contact Lens 평가 규칙 일치**
  + **Metrics Rules Matched**

다음 이미지는 새 규칙 페이지의 이벤트 패턴 섹션에 있는 이러한 설정을 보여 줍니다.

![\[새 EventBridge 규칙 페이지의 이벤트 패턴 섹션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-eb-rules-events.png)


### EventBridge 페이로드 예시
<a name="eb-payload"></a>

다음은 **Contact Lens Post Call Rules Matched**일 때 EventBridge 페이로드가 어떻게 표시되는지 보여 주는 예시입니다.

```
{
 "version": "0", // set by EventBridge
 "id": "aaaaaaaa-bbbb-cccc-dddd-bf3703467718", // set by EventBridge
 "source": "aws.connect",
 "detail-type": "Contact Lens Post Call Rules Matched", 
 "account": "your AWS account ID",
 "time": "2020-04-27T18:43:48Z",
 "region": "us-east-1", // set by EventBridge
 "resources": ["arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN"],
 "detail": {
    "version": "1.0",
    "ruleName": "ACCOUNT_CANCELLATION", // Rule name
    "actionName": "NOTIFY_CUSTOMER_RETENTION",  
    "instanceArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN",
    "contactArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/contact/contact-ARN",
    "agentArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/agent/agent-ARN",
    "queueArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/queue/queue-ARN",
    }
}
```

다음은 **Contact Lens Realtime Rules Matched**일 때의 페이로드 모습의 예입니다.

```
{
 "version": "0", // set by EventBridge
 "id": "aaaaaaaa-bbbb-cccc-dddd-bf3703467718", // set by EventBridge
 "source": "aws.connect",
 "detail-type": "Contact Lens Realtime Rules Matched", 
 "account": "your AWS account ID",
 "time": "2020-04-27T18:43:48Z",
 "region": "us-east-1", // set by EventBridge
 "resources": ["arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN"],
 "detail": {
     "version": "1.0",
     "ruleName": "ACCOUNT_CANCELLATION", // Rule name
     "actionName": "NOTIFY_CUSTOMER_RETENTION",
      "instanceArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN",
     "contactArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/contact/contact-ARN",
     "agentArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/agent/agent-ARN",
     "queueArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/queue/queue-ARN",
      }
}
```

# 작업을 생성하는 규칙 생성
<a name="contact-lens-rules-create-task"></a>

Amazon Connect 규칙을 사용하면 작업을 생성할 수 있습니다. 이를 통해 소유자와 함께 추적 가능한 작업을 생성하고 작업 완료 및 생산성을 즉시 파악할 수 있습니다.

다음은 일부 예입니다.
+ 고객이 사기 행위일 때 고객 응대를 검토합니다. 예를 들어, 고객이 사기 가능성이 있는 단어나 문구를 발화했을 때 후속 조치 태스크를 생성할 수 있습니다.
+ 고객이 나중에 업셀하고 싶은 특정 주제를 언급하면 후속 조치를 취하거나 연락하여 추가 지원을 제공하세요.
+ 대화 중에 고객 감정이 매우 낮고 고객이 불만을 표현한 경우와 같은 특정 시나리오에서 에이전트 성능을 평가합니다.
+ 지난 한 시간 동안의 평균 대기열 응답 시간이 허용 가능한 임계값을 초과한 대기열에 추가 에이전트를 할당하는 등의 운영 작업을 수행합니다.

**태스크를 생성하는 규칙을 생성하려면 다음을 수행하세요.**

1. 규칙을 생성할 때 작업에 대한 **태스크 생성**을 선택합니다.  
![\[새 규칙 페이지, 작업 추가 드롭다운 메뉴, 태스크 생성 옵션\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-add-task-example1.png)

1. 다음과 같이 태스크 필드를 작성합니다.  
![\[새 규칙 페이지, 고객 응대 범주 지정 섹션, 태스크 생성 섹션\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-add-tasks-example2.png)

   1. **범주 이름**: 범주 이름은 고객 응대 레코드에 표시됩니다. 최대 길이: 200자.

   1. **이름**: 이름은 에이전트의 Contact Control Panel(CCP)에 표시됩니다. 최대 길이: 512자.

   1. **설명**: 설명은 에이전트의 Contact Control Panel(CCP)에 표시됩니다. 최대 길이: 4,096자.
**참고**  
 이름 및 설명에서 **@를 사용하여 규칙 실행 중에 채워지는 동적 변수를 추가합니다**. 대화형 분석 규칙 및 평가 양식 규칙의 경우 규칙과 일치하는 연락처에 대한 규칙 **이름, 인스턴스 URL, 연락처, 에이전트** 및 **대기열** 정보를 추가할 수 있습니다. 평가 양식 규칙을 사용하면 **평가 ID**를 삽입할 수 있습니다.  

![\[동적 변수가 있는 작업 작업입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/rules-create-task-dynamic-variables.png)

다른 규칙 유형은 다양한 변수를 지원합니다.  
실시간 지표 규칙을 사용하면 임계값을 위반하여 알림을 트리거한 **규칙 이름, 인스턴스 URL 및 에이전트, 대기열, 흐름 또는 라우팅 프로필 목록을** 입력할 수 있습니다.
사례에 대한 규칙을 사용하면 **규칙 이름, 인스턴스 URL** 및 **사례 ID**를 삽입할 수 있습니다.

   1. **태스크 참조 이름**: 에이전트의 CCP에 자동으로 표시되는 기본 참조입니다.
      + 실시간 규칙의 경우 태스크 참조는 실시간 세부 정보 페이지에 연결됩니다.
      + 통화 후/채팅 규칙의 경우 태스크 참조는 **연락처 세부 정보** 페이지로 연결됩니다.

   1. **추가 참조 이름**: 최대 길이: 4,096자. 최대 25개의 참조를 추가할 수 있습니다.

   1. **흐름 선택**: 태스크를 적절한 태스크 담당자에게 라우팅하도록 설계된 흐름을 선택합니다. 드롭다운의 옵션 목록에 표시하려면 흐름을 저장하고 게시해야 합니다.

1. 다음은 에이전트의 CCP에 이 정보가 표시되는 방법에 대한 예를 보여 주는 이미지입니다.  
![\[에이전트의 Contact Control Panel에 있는 태스크.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-add-tasks-ccp.png)

   이 예에서는 에이전트에게 **이름**, **설명** 및 **태스크 참조 이름**에 대해 다음과 같은 값이 표시됩니다.

   1. **이름** = **Action-Required-Contact Lens- ba2cf8fe....** 

   1. **설명** = **Test**

   1. **태스크 참조 이름** = TaskRef 및 실시간 세부 정보 페이지의 URL

1. **다음**을 선택합니다. 검토한 다음 **태스크 저장**을 선택합니다.

1. 규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

   저장된 과거 대화에는 규칙을 적용할 수 없습니다.

## 음성 및 태스크 고객 응대 레코드에 연결됨
<a name="rules-voice-task-ctrs"></a>

규칙으로 태스크를 만들면 해당 태스크에 대한 고객 응대 레코드가 자동으로 생성됩니다. 태스크 생성 규칙 기준을 충족하는 음성 통화 또는 채팅의 고객 응대 레코드에 연결됩니다.

예를 들어, 고객 센터로 전화가 들어오면 CTR1이 생성됩니다.

![\[전화가 걸려올 때의 초기 고객 응대 기록에 대한 정보.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-attributes-example1.png)


규칙 엔진이 태스크를 생성합니다. 태스크의 고객 으앧 레코드에서 음성 고객 응대 레코드는 이전 **고객 응대 ID**로 나타납니다. 또한 태스크 고객 응대 레코드는 다음 이미지에 표시된 것처럼 음성 고객 응대 레코드의 고객 응대 속성을 상속합니다.

![\[태스크에 대한 고객 응대 레코드 2.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-attributes-example2.png)


## ContactId, AgentId, QueueId, RuleName에 대한 동적 값 정보
<a name="rules-task-attributes"></a>

괄호 [ ] 안의 동적 값이 [고객 응대 속성](what-is-a-contact-attribute.md)입니다. 고객 응대 속성을 사용하면 고객 응대에 대한 임시 정보를 저장하여 흐름에 사용할 수 있습니다.

괄호 안의 고객 응대 속성(예: ContactId, AgentId, QueueId 또는 RuleName)을 추가하면 이 값이 한 고객 응대 레코드에서 다른 고객 응대 레코드로 전달됩니다. 흐름의 고객 응대 속성을 사용하여 고객 응대를 적절하게 분기하고 라우팅할 수 있습니다.

자세한 내용은 [고객 응대 속성 사용](connect-contact-attributes.md) 단원을 참조하십시오.

# 사례에서 연결된 태스크를 종료하는 Contact Lens의 규칙 생성
<a name="contact-lens-rules-ends-tasks"></a>

**연결된 태스크를 종료하는 규칙을 생성하는 방법**

1. 규칙을 생성할 때 이벤트 소스로 **새 사례가 업데이트됨**을 선택합니다.  
![\[새 규칙 페이지, 작업 추가 드롭다운 메뉴, 사례가 추가됨 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-update-case-1.png)

1. 규칙을 생성할 때 작업으로 **태스크 종료**를 선택합니다.  
![\[새 규칙 페이지, 작업 추가 드롭다운 메뉴, 태스크 종료 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-ends-tasks-2.png)  
![\[태스크 종료 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-ends-tasks-3.png)

1. **다음**을 선택합니다. 검토한 다음 **저장**을 선택합니다.

1. 규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

   저장된 과거 대화에는 규칙을 적용할 수 없습니다.

# 사례를 생성하는 Contact Lens의 규칙 생성
<a name="contact-lens-rules-create-case"></a>

**사례를 생성하는 규칙을 생성하는 방법**

1. 규칙을 생성할 때 **통화 후 분석 사용 가능**, **채팅 후 분석 사용 가능** 또는 이벤트 소스로 **이메일 분석을** 선택합니다.  
![\[조건 정의 페이지에서 통화 후 분석 사용 가능, 채팅 후 분석 사용 가능 또는 이메일 분석을 이벤트 소스로 사용 가능을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-create-case-1.png)

1. **다음**을 선택합니다.

1. 작업 페이지에서 작업으로 **사례 생성**을 선택합니다.  
![\[새 규칙 페이지, 작업 추가 드롭다운 메뉴, 사례 생성 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-create-case-2.png)

1. **사례 생성** 카드에서 **사례 템플릿**을 선택합니다.  
![\[사례 생성 카드에서 사례 템플릿을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-create-case-3.png)

1. **필수 필드**를 채우고 **선택적 사례 필드**를 추가하여 사례 데이터를 채웁니다.
**참고**  
이 작업이 제대로 작동하려면 고객 프로필이 연락과 연결되어 있어야 합니다. 자세한 내용은 [Cases 활성화](enable-cases.md) 단원을 참조하십시오.  
![\[필수 필드를 채우고 선택적 사례 필드를 추가하여 사례 데이터를 채웁니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-create-case-4.png)

1. **다음**을 선택합니다. 검토한 다음 **저장**을 선택합니다.

1. 규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

   저장된 과거 대화에는 규칙을 적용할 수 없습니다.

# 사례를 업데이트하는 Contact Lens의 규칙 생성
<a name="contact-lens-rules-update-case"></a>

**사례를 업데이트하는 규칙을 생성하는 방법**

1. 규칙을 생성할 때 이벤트 소스로 **사례 업데이트됨**을 선택하고 **다음**을 선택합니다.  
![\[새 규칙 페이지, 작업 추가 드롭다운 메뉴, 사례 업데이트됨 옵션입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-update-case-1.png)

1. 규칙을 생성할 때 작업으로 **사례 업데이트**를 선택합니다.  
![\[새 규칙 페이지, 작업 추가 드롭다운 메뉴, 사례 업데이트 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-update-case-2.png)

1. 드롭다운에서 업데이트하려는 사례 필드를 선택하고 새 값을 정의합니다.  
![\[드롭다운에서 업데이트하려는 사례 필드를 선택하고 새 값을 정의합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-update-case-3.png)  
![\[드롭다운에서 업데이트하려는 사례 필드를 선택하고 새 값을 정의합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-update-case-4.png)

1. **다음**을 선택합니다. 검토한 다음 **저장**을 선택합니다.

1. 규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

   저장된 과거 대화에는 규칙을 적용할 수 없습니다.

# 자동 평가를 제출하는 Contact Lens의 규칙 생성
<a name="contact-lens-rules-submit-automated-evaluation"></a>

Contact Lens를 사용하면 대화형 분석의 인사이트와 지표를 사용하여 평가를 자동으로 채우고 제출할 수 있습니다.

## 1단계: 평가 양식에서 자동화 구성
<a name="auto-eval-prereq-1"></a>

자동 평가를 제출하는 규칙을 생성하려면 먼저 평가 양식에서 자동화를 구성해야 합니다. 자세한 지침은 [평가 양식 생성](create-evaluation-forms.md)의 [6단계: 자동 평가 활성화](create-evaluation-forms.md#step-automate) 섹션을 참조하세요.

다음은 단계에 대한 개요입니다.

1.  평가 양식의 모든 질문에 자동화를 설정합니다.

1.  평가 양식을 활성화하기 전에 **평가 자동 제출 활성화**를 켭니다.

1.  자동화가 구성된 평가 양식을 활성화하면 다음 이미지와 같이 규칙을 생성할 수 있는 프롬프트가 표시됩니다.  
![\[규칙을 생성하라는 프롬프트입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/create-a-rule-to-submit-automated-evaluations-1.png)

1.  **규칙 생성**을 선택합니다.

1. **규칙** 페이지에서 선택한 평가 양식을 사용하여 자동으로 평가되는 연락처를 지정하는 규칙을 정의합니다. 다음 절차에서는 지침을 제공합니다.

## 2단계: 자동으로 평가되는 고객 응대를 지정하는 규칙 정의
<a name="auto-eval-prereq-2"></a>

두 가지 유형의 규칙으로 자동 평가를 트리거할 수 있습니다.
+ Contact Lens가 분석을 완료한 후 고객 응대를 자동으로 평가하는 **대화 분석** 규칙입니다.
+ **평가 양식** 규칙은 일반 평가 양식의 결과로 상황별 평가 양식을 트리거하는 데 사용할 수 있습니다. 예를 들어 평가 질문에 대한 답변 *해당 고객이 제품 구매에 관심이 있었는지 여부*가 *예*인 경우 *에이전트 판매 성과*를 측정하는 다른 평가 양식을 트리거할 수 있습니다.

### 대화형 분석 규칙을 사용하여 자동 평가 트리거
<a name="conversational-analytics-rule"></a>

이는 양식 활성화 중에 자동 평가를 제출하는 규칙을 생성할 때 선택되는 기본 규칙 유형입니다. **규칙** 페이지에서 **규칙 생성**, **대화 분석**을 선택하여 이러한 규칙을 생성할 수도 있습니다.

1. 이벤트 소스로 **Contact Lens 통화 후 분석 사용 가능** 또는 **Contact Lens 채팅 후 분석 사용 가능**을 선택합니다. 이 두 옵션은 다음 이미지에 표시됩니다.  
![\[통화 후 분석 및 채팅 후 분석 옵션입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/defined-conditions-evaluations.png)

1. 자동으로 평가할 자격 증명 연락처에 대한 조건을 정의한 **후 다음을** 선택합니다.

   평가 양식이 적용되는 특정 에이전트 또는 고객 응대 세트를 식별하는 데 사용할 수 있는 조건의 예는 다음과 같습니다.
   + 에이전트
   + 에이전트 계층 구조
   + AI 에이전트
   + Queues
   + 시작 방법

   또한 다음과 같은 조건을 사용하여 연결 또는 기타 문제로 인해 조기에 종료되었을 수 있는 고객 응대를 제외할 수 있습니다.
   + 상호 작용 기간(예: 30초 이상)
   + 통화 시간(예: 고객이 10초 이상 말하는 경우)
   + 문제가 존재하지 않거나 대화 중에 알려진 연결 또는 디바이스 문제가 없는 경우의 잠재적 연결 해제 문제

1. **작업 정의** 페이지에서 규칙을 식별할 범주 이름을 제공합니다.

1. **작업 추가**를 선택하고 **자동 평가 제출**을 선택한 다음 평가 자동 제출에 사용할 양식을 선택합니다. (이 작업은 양식을 활성화할 때 규칙을 생성한 경우 페이지에서 이미 선택됩니다.)

1. **다음**을 선택합니다. 검토한 다음 **저장 및 게시**를 선택합니다.

규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

**중요**  
저장된 과거 대화에는 규칙을 적용할 수 없습니다.

### 평가 양식 규칙을 사용하여 자동 평가 트리거
<a name="conversational-analytics-rule-2"></a>

1. **규칙** 페이지로 이동합니다. **규칙 생성**, **평가 양식**을 선택합니다.

1. **시기**에서 ** Contact Lens 평가 결과 사용 가능**으로 이벤트 소스를 선택합니다.

1. **조건 추가**를 선택하여 상황별 평가를 트리거합니다. 예제:
   + 다음 이미지에 표시된 다른 평가에 대한 특정 답변입니다.  
![\[다른 평가에 대한 특정 답변입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/add-condition-1.png)
   + 다음 이미지에 표시된 다른 평가 양식의 점수입니다.  
![\[다른 평가 양식의 점수입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/add-condition-2.png)

1. **작업 추가**를 선택하고 **자동 평가 제출**을 선택한 다음 평가 자동 제출에 사용할 양식을 선택합니다.

1. **다음**을 선택합니다. 검토한 다음 **저장 및 게시**를 선택합니다.

## 자주 묻는 질문(FAQ)
<a name="auto-eval-faq"></a>

1.  **자동 평가가 수동으로 제출된 평가를 재정의할 수 있나요?**

    아니요. 자동 평가는 수동으로 제출된 평가를 재정의할 수 없습니다. 평가가 이미 있는 경우 해당 고객 응대에 대한 자동 평가가 실패하고 계정 관리자는 CloudWatch 내에서 이러한 실패 알림을 볼 수 있습니다.

1.  **자동 평가를 식별하려면 어떻게 해야 하나요?**

    평가가 자동으로 제출되면 **고객 응대 세부 정보** 페이지에 'Contact Lens Automation에서 제출'로 표시됩니다. 평가자에 의해 자동 평가가 편집되고 다시 제출되는 경우 'submitted by'에는 평가자의 이름이 포함됩니다.

1.  **여러 평가 양식을 사용하여 연락처를 자동으로 평가할 수 있나요?**

    예, 여러 평가 양식을 사용하여 연락처에 대한 평가를 자동으로 제출할 수 있습니다. 다양한 평가 양식을 사용하여 자동 평가를 제출하려면 여러 규칙을 생성해야 합니다.

# Contact Lens 규칙에서 단어 또는 구문 조건 사용
<a name="exact-match-pattern-match-semantic-match"></a>

Contact Lens **대화형 분석** 규칙 내에서 단어 또는 구문 조건을 지정할 수 있습니다. 단어 또는 구문에 대해 정확히 일치, 의미 체계 일치 또는 패턴 일치를 선택할 수 있습니다. 이 주제에서는 각 검색 유형을 설명합니다.

**참고**  
세 가지 일치 유형 모두 대소문자를 구분하지 않습니다. 예를 들어 단어를 "결제"로 지정한 경우 "결제"라는 단어가 포함된 트랜스크립트와도 일치합니다.

## 정확히 일치 기능 사용 방법
<a name="exact-match"></a>

**정확히 일치**는 단수형 또는 복수형으로 정확히 일치하는 단어라고 할 수 있습니다.

다음 방법 중 하나를 사용하여 키워드 또는 구문을 추가할 수 있습니다.
+ **키워드 또는 구문 입력**을 선택하고 텍스트 상자에 수동으로 값을 입력합니다. 여러 값을 쉼표로 구분할 수 있습니다.  
![\[UI에 키워드 또는 구문 옵션을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/exact-match-1.png)
+ **단어 모음에서 가져오기**를 선택하여 단어 모음에서 미리 정의된 단어 및 구문을 가져옵니다.  
![\[UI의 단어 모음 옵션에서 가져옵니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/exact-match-2.png)

단어 모음은 사용자 단어 모음과 시스템 단어 모음의 두 가지 유형으로 분류할 수 있습니다. 시스템 단어 모음은 사용자가 편집할 수 없는 Amazon Connect에서 미리 정의됩니다. 사용자 단어 모음은 사용자가 생성, 읽기, 업데이트 및 삭제(CRUD)할 수 있습니다. 자세한 내용은 [Contact Lens에서 대화 분석 규칙을 생성할 때 단어 모음 관리](manage-word-collections.md) 섹션을 참조하세요.

## 패턴 매치를 사용하는 방법
<a name="pattern-match"></a>

관련 단어를 일치시키려면 기준에 별표(\$1)를 추가하세요. 예를 들어, 'neighbor'(neighbors, neighborhood)의 모든 변형에서 일치시키려면 **neighbo\$1**를 입력합니다.

**패턴 매치**를 사용하여 다음을 지정할 수 있습니다.
+ **값 목록**: 값을 교환할 수 있는 표현식을 작성하려는 경우에 유용합니다. 예를 들어 표현식은 다음과 같을 수 있습니다.

  *['베이징', '런던', '뉴욕', '파리', '도쿄']에서 정전이 발생하여 전화를 걸었습니다.*

  그런 다음 값 목록에 베이징, 런던, 뉴욕, 파리, 도쿄 등의 도시를 추가합니다.

  값을 사용하면 표현식을 여러 개 만드는 대신 한 개를 만들 수 있다는 장점이 있습니다. 따라서 생성해야 하는 카드 수가 줄어듭니다.
+ **숫자**: 이 옵션은 규정 준수 스크립트에서 가장 자주 사용되거나 숫자([0-9] 숫자)가 중간에 있는 컨텍스트를 찾는 경우에 사용됩니다. 이렇게 하면 모든 기준을 두 개가 아닌 하나의 표현식에 넣을 수 있습니다. 예를 들어 에이전트 규정 준수 스크립트는 다음과 같이 말할 수 있습니다.

  *저는 이 업계에 [숫자]년 동안 종사해 왔으며 이 주제에 대해 여러분과 논의하고 싶습니다.*

  또는 고객이 다음과 같이 말할 수도 있습니다.

  *저는 [숫자]년 동안 구성원으로 활동해 왔습니다.*
**참고**  
채팅 또는 오디오 트랜스크립트에서 숫자를 추출할 때는 숫자(0\$19)만 인식됩니다.
음성 고객 응대의 경우 특정 언어는 [숫자 트랜스크립션](https://docs.aws.amazon.com/transcribe/latest/dg/how-numbers.html) 중에 음성 숫자를 디지털 형식으로 변환하지 못할 수 있습니다. 즉, 이러한 경우 숫자 패턴 일치가 작동하지 않을 수 있습니다. 숫자 트랜스크립션을 지원하는 언어 목록은 *Amazon Transcribe 개발자 안내서*의 [지원되는 언어 및 언어별 기능](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html)을 참조하세요.
+ **근접성 정의**: 정확도가 100% 미만일 수 있는 일치 항목을 찾습니다. 단어 사이의 거리를 지정할 수도 있습니다. 예를 들어, '신용'이라는 단어가 언급된 고객 응대를 찾고 있지만 '신용카드'라는 단어에 대한 언급은 보고 싶지 않은 경우 패턴 일치 범주를 정의하여 '카드'와 한 단어 거리 내에 있지 않은 '신용'이라는 단어를 찾을 수 있습니다.

  예를 들어 근접성 정의는 다음과 같을 수 있습니다.

  *신용 [은 1단어에 포함되지 않습니다] 카드*

**작은 정보**  
패턴 일치로 지원되는 언어 목록은 [AI 기능](supported-languages.md#supported-languages-contact-lens)을 참조하세요.

## 의미 체계 일치 사용 방법
<a name="semantic-match"></a>

의미 체계 일치는 통화 후/채팅 분석에만 지원됩니다.
+ '의도'는 발화의 한 예입니다. 구문이나 문장일 수 있습니다.
+ 하나의 카드(그룹)에 최대 4개의 의를 입력할 수 있습니다.
+ 최상의 결과를 얻으려면 한 카드 내에서 의미상 유사한 의도를 사용하는 것이 좋습니다. 예를 들어 '공손함' 범주가 있습니다. 여기에는 두 가지 의도 '환영 인사'와 '작별 인사'가 포함됩니다. 이 의도는 두 장의 카드로 분리하는 것이 좋습니다.
  + 카드 1: "오늘은 어때요" 및 '모든 일은 어떻게 되가고 있나요". 의미상 비슷한 환영 인사말입니다.
  + 카드 2: "문의해 주셔서 감사합니다" 및 "고객이 되어 주셔서 감사합니다." 의미상 비슷한 작별 인사말입니다.

  의도를 두 장의 카드로 분리하면 한 장의 카드에 모두 넣는 것보다 정확도가 더 높아집니다.

# 생성형 AI를 사용하여 고객 응대와 자연어 문을 의미 있게 일치시킵니다.
<a name="natural-language-semantic-match"></a>

Contact Lens **대화형 분석** 규칙 내에서 생성형 AI를 사용하여 자연어 문과 일치하는 고객 응대를 찾는 **자연어 - 의미 체계 일치** 조건을 지정할 수 있습니다. 자연어 - 의미 체계 일치는 고객 응대를 컨텍스트별 기준과 일치시키려거나(예: 통화 중에 고객의 문제가 해결됨) **단어 또는 구** 조건을 사용하기에 단어 또는 구가 너무 많을 때 사용됩니다.

전문가 팁: 이전에 단어 또는 구문 - 의미 체계 일치를 사용한 경우 생성형 AI 기반 자연어 - 의미 체계 일치를 사용합니다.

## 자연어 사용 방법 - 의미 체계 일치
<a name="use-natural-language-semantic-match"></a>

****

1. **규칙** 및 **규칙 - 생성형 AI** 권한이 있는 사용자로 Amazon Connect에 로그인합니다.

1. 탐색 메뉴에서 **분석 및 최적화**를 선택한 다음 **규칙**을 선택합니다.

1. **규칙 만들기**를 선택한 다음 **대화형 분석**을 선택합니다.  
![\[UI의 단어 모음 옵션에서 가져옵니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/create-natural-semantic-match-rule.png)

1. "Contact Lens 통화 후 분석 사용 가능" 또는 "Contact Lens 채팅 후 분석 사용 가능"을 선택합니다.

1. **조건 추가**를 선택한 다음 **자연어 - 의미 체계 일치**를 선택합니다.  
![\[UI의 단어 모음 옵션에서 가져옵니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/choose-natural-semantic-match.png)

1. 대화 트랜스크립트와 일치시켜 생성형 AI에서 true 또는 false로 평가할 수 있는 자연어 문을 입력합니다.  
![\[UI의 단어 모음 옵션에서 가져옵니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/enter-natural-language-statement.png)

1. 대기열, 사용자 지정 고객 응대 속성 등과 같은 추가 조건을 추가합니다.

1. **다음**을 선택하고 **CustomerAddressChange**와 같은 자연어 문으로 고객 응대에 레이블을 지정하는 데 사용할 범주 이름(공백 없음)을 제공합니다.

1. [작업 생성](contact-lens-rules-create-task.md), [이메일 알림 전송](contact-lens-rules-email.md), [평가 자동 제출](contact-lens-rules-submit-automated-evaluation.md) 등과 같은 추가 작업을 지정할 수 있습니다.

1. 규칙을 **저장하고 게시**하기 전에 **다음**을 선택하여 규칙을 검토합니다. 규칙을 게시할 준비가 되지 않은 경우 **초안으로 저장**할 수도 있습니다.

## 의미 체계 일치 사용 지침
<a name="guidelines-semantic-match"></a>

다음 목록은 의미 체계 일치를 가장 잘 사용하는 방법을 자세히 설명합니다.
+ 문은 true 또는 false로 평가할 수 있는 것이어야 합니다.
+ 자연어 - 의미 체계 일치는 대화의 대화 내용만 사용합니다. 일치 기준에서 다른 고객 응대 속성(예: 대기열)을 사용하려면 규칙 내에서 별도의 조건으로 지정해야 합니다.
+ 가능한 경우 '동료', '직원', '대리인', '지지자' 또는 '보조'와 같은 용어 대신 '에이전트'라는 용어를 사용합니다. 마찬가지로 '회원', '발신자', '게스트' 또는 '구독자'와 같은 용어 대신 '고객'이라는 용어를 사용합니다.
+ 에이전트 또는 고객이 말한 정확한 단어를 확인하려면 큰따옴표만 사용합니다. 예를 들어, 에이전트가 "Have a nice day"라고 말하는지 확인하는 지시가 있는 경우 생성형 AI는 Have a nice afternoon이라는 말을 감지하지 못합니다. 대신 자연어 문에는 "에이전트가 고객에게 좋은 날이기를 기원했습니다"라고 표시되어야 합니다.

**의미 체계 일치에 사용할 문 예시 **
+ 고객이 구독 플랜을 변경하려고 했습니다.
+ 고객이 에이전트의 지원에 감사를 표했습니다.
+ 고객이 현재 서비스를 종료하려는 의사를 표시했습니다.
+ 고객이 후속 상호 작용을 요청했습니다.
+ 고객은 에이전트에게 정보를 반복하도록 요청하여 이해가 부족함을 나타냅니다.
+ 고객이 에이전트의 관리자와 대화해 달라고 요청했습니다.
+ 에이전트는 최종 답변을 제공하기 전에 고객에게 추가 정보 또는 검증을 요청했습니다.
+ 에이전트가 여러 결제 옵션을 제공했습니다.
+ 에이전트는 고객에게 통화가 중요하다고 확신하고 추가 대기 시간을 요청했습니다.
+ 에이전트가 고객의 모든 문제를 해결했습니다.

# Contact Lens에서 대화 분석 규칙을 생성할 때 단어 모음 관리
<a name="manage-word-collections"></a>

*단어 모음*은 대화형 분석 규칙을 생성할 때 정확한 일치 조건을 정의하는 데 사용할 수 있는 미리 빌드된 단어 및 문구 집합입니다. 규칙에 정확한 일치 조건을 추가할 때 드롭다운 메뉴에서 단어 및 구문 목록을 선택할 수 있습니다.

## 필수 권한
<a name="word-collections-permissions"></a>

Contact Lens 규칙 - 단어 모음은 Contact Lens 규칙과 동일한 보안 프로필 권한 세트를 사용합니다. 자세한 내용은 [Contact Lens 규칙에 대한 보안 프로필 권한](permissions-for-rules.md) 단원을 참조하십시오.

## 단어 모음 관리 페이지에 액세스하는 방법
<a name="word-collections-how-to-access"></a>

1. 대화형 분석 규칙을 생성하거나 업데이트할 때 다음 이미지와 같이 **정확히 일치** 조건 카드의 오른쪽 상단에 있는 기어 아이콘을 선택합니다.  
![\[UI에 키워드 또는 구문 옵션을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/word-collections-permissions-how-to-access-1.png)

1. **단어 모음** 관리 페이지에서 기존 단어 모음을 보고 새 단어 모음을 생성할 수 있습니다.  
![\[UI에 키워드 또는 구문 옵션을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/word-collections-permissions-how-to-access-2.png)

## 사용자 단어 모음을 생성하는 방법
<a name="create-user-word-collections"></a>

****

1. **단어 모음** 관리 페이지에서 **단어 모음 생성**을 선택합니다.  
![\[UI에 키워드 또는 구문 옵션을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/create-user-word-collections-1.png)

1. 단어 모음의 이름을 입력하고 단어와 구문을 추가한 다음 **저장**을 선택합니다.  
![\[UI에 키워드 또는 구문 옵션을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/create-user-word-collections-2.png)

## 단어 모음 제한
<a name="word-collections-limits"></a>
+ Amazon Connect의 기본 제한은 인스턴스당 사용자 단어 모음 100개입니다.
+ 각 단어 모음은 최대 100개의 단어 또는 구문을 포함할 수 있습니다.
+ 각 단어 또는 문구는 512자 이하로 제한됩니다.
+ 사용자 단어 모음만 관리할 수 있습니다. 시스템 단어 모음은 관리하거나 편집할 수 없습니다.

# 에이전트가 따를 Contact Lens 규칙에 스크립트를 입력합니다.
<a name="enter-script-rule"></a>

에이전트가 고객 통화에서 정확한 표현을 사용해야 하는 경우 Contact Lens 규칙에 스크립트를 입력합니다.

규칙에 스크립트를 입력하려면 문구를 입력합니다. 예를 들어 에이전트들이 *회원이 되어 주셔서 감사합니다라고 말할 때 강조 표시하려는 경우를 예로 들 수 있습니다. 귀하의 비즈니스에 감사드립니다*, 다음 두 문구를 입력합니다.
+ 회원이 되어 주셔서 감사합니다.
+ 귀하의 비즈니스에 감사드립니다.

규칙을 특정 비즈니스 라인에 적용하려면 규칙이 적용되는 대기열에 대한 조건 또는 고객 응대 속성을 추가하세요. 예를 들어, 다음 이미지는 에이전트가 BasicQueue 또는 Billing and Payments 대기열에서 일하고, 고객은 자동차 보험 가입자이고, 에이전트은 시애틀에 있는 경우에 적용되는 규칙을 보여 줍니다.

![\[새 규칙 페이지, 단어 또는 구문 - 정확히 일치 섹션, 여러 조건.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-add-category-rules-3.png)


# Contact Lens 규칙에 대한 보안 프로필 권한
<a name="permissions-for-rules"></a>

자동 분류에 대한 규칙을 보거나 편집하거나 추가하려면 **분석 및 최적화: 규칙** 권한이 보안 프로필에 할당되어야 합니다.

생성형 AI를 사용하는 규칙을 보거나 편집하거나 추가하려면(**자연어 - 의미 체계 일치** 조건 사용) 보안 프로필에 **분석 및 최적화: 규칙 - 생성형 AI** 권한을 추가로 할당해야 합니다.

규칙에 추가할 수 있도록 에이전트 이름을 보려면 보안 프로필에 **사용자 및 권한: 사용자 - 보기** 권한이 필요합니다.

규칙에 추가할 수 있도록 대기열 이름을 보려면 보안 프로필에서 **라우팅: 대기열 - 보기** 권한이 필요합니다.

자세한 내용은 [Amazon Connect에서 Contact Lens 대화 분석을 사용할 수 있는 권한 할당](permissions-for-contact-lens.md) 단원을 참조하십시오.

# Contact Lens의 규칙에서 연락 속성을 사용할 흐름 설계
<a name="rules-task-contact-attributes"></a>

규칙에 최대 5개의 고객 응대 속성이 있을 수 있습니다.

고객 응대 속성은 실시간 고객 응대 분석 세션이 시작될 때 검색되며, 이때 검색된 속성은 전체 세션 동안 규칙 평가에 사용됩니다. 세션 시작 후의 고객 응대 속성 업데이트는 선택되지 않습니다.

규칙에 지정한 고객 응대 속성을 사용하도록 흐름을 설계한 다음 그에 따라 작업을 라우팅할 수 있습니다. 예를 들어 고객 센터로 전화나 채팅이 수신되는 경우를 예로 들 수 있습니다. Contact Lens가 통화 또는 채팅을 분석하면 **규정 준수** 규칙이 적용됩니다. 예를 들어 통화에 대해 생성된 고객 응대 레코드에는 다음 이미지와 유사한 정보가 포함됩니다. **범주** = **규정 준수**를 나타내며 **CustomerType** = **VIP**, **AgentLocation** = **NYC**라는 두 가지 사용자 지정 고객 응대 속성이 있습니다.

![\[규정 준수 규칙이 트리거될 때의 고객 응대 레코드.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-attributes-example1.png)


규칙 엔진이 태스크를 생성합니다. 태스크의 고객 응대 레코드는 다음 이미지와 같이 음성 고객 응대 레코드로부터 고객 응대 속성을 상속받습니다.

![\[태스크의 고객 응대 레코드, 사용자 지정 고객 응대 속성.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-rules-attributes-example2.png)


음성 고객 응대 레코드는 **이전 고객 응대 ID**로 표시됩니다.

규칙에 지정하는 흐름은 고객 응대 속성을 사용하고 적절한 소유자에게 작업을 라우팅하도록 설계되어야 합니다. 예를 들어 **CustomerType = VIP**인 태스크를 특정 에이전트에게 라우팅하고 싶을 수 있습니다.

자세한 내용은 [고객 응대 속성 사용](connect-contact-attributes.md) 단원을 참조하십시오.

# Contact Lens가 대화를 분석할 때 새 고객 응대에 규칙이 적용됩니다.
<a name="rules-applied-to-new-contacts"></a>

규칙을 추가한 후에는 규칙이 추가된 이후에 발생하는 새 고객 응대에 규칙이 적용됩니다. 규칙은 Amazon Connect 대화 분석이 대화를 분석할 때 적용됩니다.

저장된 과거 대화에는 규칙을 적용할 수 없습니다.

# 오류 알림: Contact Lens가 고객 응대를 분석할 수 없는 경우
<a name="contact-lens-error-notifications"></a>

흐름에 분석이 활성화되어 있더라도 Contact Lens가 고객 응대 파일을 분석하지 못할 수도 있습니다. 이 경우 Contact Lens는 Amazon EventBridge 이벤트를 사용하여 오류 알림을 보냅니다.

이벤트는 [최선의 작업](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html)을 기반으로 발생됩니다.

## EventBridge 알림 구독
<a name="contact-lens-error-notifications-subscribe"></a>

이러한 유형을 구독하려면 다음과 일치하는 사용자 지정 EventBridge 규칙을 생성하세요.
+ "source" = "aws.connect"
+ "detail-type" = "Contact Lens Analysis State Change"

특정 이벤트 코드가 발생할 때 알림을 받을 패턴을 추가할 수도 있습니다. 자세한 정보는 **Amazon EventBridge 사용 설명서의 [이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/filtering-examples-structure.html)을 참조하세요.

알림 형식은 다음 샘플과 같습니다.

```
{
    "version": "0", // set by CloudWatch Events
    "id": "55555555-1111-1111-1111-111111111111", // set by CloudWatch Events
    "source": "aws.connect",
    "detail-type": "Contact Lens Analysis State Change",
    "account": "111122223333",
    "time": "2020-04-27T18:43:48Z",
    "region": "us-east-1", // set by CloudWatch Events
    "resources": [
        "arn:aws:connect:us-east-1:111122223333:instance/abcd1234-defg-5678-h9j0-7c822889931e",
        "arn:aws:connect:us-east-1:111122223333:instance/abcd1234-defg-5678-h9j0-7c822889931e/contact/efgh4567-pqrs-5678-t9c0-111111111111"
    ],
    "detail": {
        "instance": "arn:aws:connect:us-east-1:111122223333:instance/abcd1234-defg-5678-h9j0-7c822889931e",
        "contact": "arn:aws:connect:us-east-1:111122223333:instance/abcd1234-defg-5678-h9j0-7c822889931e/contact/efgh4567-pqrs-5678-t9c0-111111111111",
        "channel": "VOICE",
        "state": "FAILED",
        "reasonCode": "RECORDING_FILE_CANNOT_BE_READ"
    }
}
```

## 이벤트 코드
<a name="contact-lens-event-codes-listed"></a>

 다음 테이블에는 Contact Lens가 고객 응대를 분석할 수 없을 때 발생할 수 있는 이벤트 코드가 나와 있습니다.


| 이벤트 이유 코드 | 설명 | 
| --- | --- | 
| INVALID\$1ANALYSIS\$1CONFIGURATION  | Contact Lens는 흐름이 시작될 때 잘못된 값을 받았습니다(예: 지원되지 않거나 잘못된 언어 코드, 지원되지 않는 수정 동작 값).  | 
| RECORDING\$1FILE\$1CANNOT\$1BE\$1READ  | Contact Lens가 레코딩 파일을 가져올 수 없습니다. 파일이 S3 버킷에 없거나 권한에 문제가 있기 때문일 수 있습니다.  | 
| RECORDING\$1FILE\$1TOO\$1SMALL  |  레코딩 파일이 분석하기에 너무 작습니다(105ms 미만). 파일이 예상한 형식이 아닌 경우 INVALID 오류가 발생합니다. 빈 JSON도 예상치 못한 객체입니다.  | 
|  RECORDING\$1FILE\$1TOO\$1LARGE  | 레코딩 파일이 분석 제한 시간을 초과했습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/contact-lens-error-notifications.html)  | 
|  RECORDING\$1FILE\$1INVALID  | 녹음 파일이 잘못되었습니다.  | 
|  RECORDING\$1FILE\$1CANNOT\$1BE\$1READ  | Contact Lens가 녹음 파일을 읽으려고 할 때 오류가 발생했습니다.  | 
|  RECORDING\$1FILE\$1EMPTY  | 녹음 파일이 비어 있습니다.  | 
|  RECORDING\$1SAMPLE\$1RATE\$1NOT\$1SUPPORTED  | 오디오 파일의 샘플 속도는 지원되지 않습니다. Contact Lens는 현재 8kHz 샘플 속도의 오디오 파일을 지원합니다. 이것이 Amazon Connect 레코딩의 샘플 속도입니다.  | 

# Amazon Connect 규칙 작업이 실행되지 않는 경우 오류 알림
<a name="error-notifications-rule-fails-to-run"></a>

프로덕션 환경에서 특정 규칙 작업이 실패한 시기와 실패 원인을 아는 것이 중요합니다. 그러면 향후에 이러한 장애를 사전에 방지할 수 있습니다.

실행에 실패한 작업에 대한 실시간 인사이트를 얻으려면 Amazon Connect 규칙을 Amazon EventBridge 이벤트와 통합해야 합니다. 이를 통해 예를 들어 **인스턴스당 최대 동시 활성 작업 수**가 서비스 할당량에 도달하여 '태스크 생성' 작업이 실행되지 않은 경우 알림을 받을 수 있습니다. 이 경우 Amazon Connect는 Amazon EventBridge 이벤트를 사용하여 오류 알림을 보냅니다.

이벤트는 [최선의 작업](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html)을 기반으로 발생됩니다.

## EventBridge 알림 구독
<a name="rule-error-notifications-subscribe"></a>

이러한 유형을 구독하려면 다음과 일치하는 사용자 지정 EventBridge 규칙을 생성하세요.
+ "source" = "aws.connect"
+ 'detail-type' = 'Contact Lens Rules Action Execution Failed'

특정 이벤트 코드가 발생할 때 알림을 받을 패턴을 추가할 수도 있습니다. 자세한 정보는 **Amazon EventBridge 사용 설명서의 [이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/filtering-examples-structure.html)을 참조하세요.

알림 형식은 다음 샘플과 같습니다.

```
{
  "version": "0",
  "id": "8d122163-6c07-f8cb-06e7-373a1bcf8fc6",
  "source": "aws.connect",
  "detail-type": "Amazon Connect Rules Action Execution Failed",
  "account": "123456789012",
  "time": "2022-01-05T01:30:42Z",
  "region": "us-east-1",
  "resources": ["arn:aws:connect:us-east-1:123456789012:instance/cb54730f-5aac-4376-b2f4-7c822889931e"],
  "detail": {
    "ruleId": "7410c94b-21c2-4db0-a707-c6d751edbe8f",
    "actionType": "CREATE_TASK",
    "triggerEvent": "THIRD_PARTY",
    "instanceArn": "arn:aws:connect:us-east-1:123456789012:instance/cb54730f-5aac-4376-b2f4-7c822889931e",
    "reasonCode": "ResourceNotFoundException",
    "error": "ContactFlowId provided does not belong to connect instance",
    "additionalInfo": "{\n  \"message\": \"Not Found\",\n  \"code\": \"ResourceNotFoundException\",\n  \"statusCode\": 404,\n  \"time\": \"2022-01-03T20:23:07.073Z\",\n  \"requestId\": \"048e4403-71c1-47d6-96fc-825744f518e7\",\n  \"retryable\": false,\n  \"retryDelay\": 28.217537834500316\n}"
  }
}
```

## 지원되는 작업 유형
<a name="supported-action-types-rules"></a>
+ `CREATE_TASK`
+ `GENERATE_EVENTBRIDGE_EVENT`
+ `SEND_NOTIFICATION`

`ASSIGN_CONTACT_CATEGORY`에 대한 자세한 내용은 [오류 알림: Contact Lens가 고객 응대를 분석할 수 없는 경우 문제 해결](contact-lens-error-notifications.md) 섹션을 참조하세요.

## 지원되는 트리거 이벤트
<a name="supported-trigger-events"></a>
+ `REAL_TIME_CALL`
+ `REAL_TIME_CHAT`
+ `POST_CALL`
+ `POST_CHAT`
+ `THIRD_PARTY`

## 실패한 동작의 이유 코드
<a name="reason-codes-failed-actions"></a>

작업이 실패하면 오류 알림 서비스는 지원되는 작업에서 이유 코드를 수집합니다. 태스크 및 EventBridge 작업 실패의 이유 코드에 대한 자세한 내용은 다음 주제츨 참조하세요.
+ 태스크 작업 실패의 이유 코드는 **Amazon Connect API 참조 안내서의 **StartTaskContact API** 항목의 [오류](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartTaskContact.html#API_StartTaskContact_Errors)를 참조하세요.
+ EventBridge 작업 실패의 이유 코드는 **Amazon EventBridge API 참조 안내서의 **PutEvents API** 항목의 [오류](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html#API_PutEvents_Errors)를 참조하세요.

# Amazon Connect API를 사용하여 규칙을 생성하거나 관리할 때 특정 파라미터에 대한 변수 지정
<a name="contact-lens-variable-injection"></a>

Amazon Connect API(예: [CreateRule](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateRule.html) 또는 [UpdateRule](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateRule.html))를 사용하여 프로그래밍 방식으로 규칙을 생성하거나 관리하는 경우 특정 파라미터에 변수를 지정할 수 있습니다. 변수는 [EventSourcename](https://docs.aws.amazon.com/connect/latest/APIReference/API_RuleTriggerEventSource.html) 파라미터의 값을 기반으로 작업이 트리거될 때 런타임에 확인됩니다.

예를 들어 태스크 작업을 설정하고 컨텍스트를 더 추가하려는 경우를 예로 들어 보겠습니다. 다음은 변수 삽입을 사용하여 태스크의 `Description` 필드에 고객 응대 ID와 에이전트 ID를 포함하는 방법을 보여 주는 예입니다.
+ 고객이 전화 통화에 불만을 품고 있습니다. 고객 응대 `$.ContactLens.PostCall.ContactId`에 있는 에이전트 `$.ContactLens.PostCall.Agent.AgentId`와의 대화 중에 욕설이 감지되었습니다.

작업이 트리거되면 문자열은 "고객이 전화 통화에 대해 불만입니다'로 해결됩니다. 고객 응대 87654321-1234-1234-1234-EXAMPLEID345'에서 에이전트 12345678-1234-1234-1234-EXAMPLEID012와 대화하는 동안 욕설이 감지되었습니다."

다음 테이블에는 각 이벤트 소스와 변수 삽입을 지원하는 필드에 사용할 JSONPath가 나와 있습니다.


| EventSourceName | JSONPath 참조 | 
| --- | --- | 
|  OnPostCallAnalysisAvailable  |  \$1.ContactLens.PostCall.ContactId \$1.ContactLens.PostCall.Agent.AgentId \$1.ContactLens.PostCall.Queue.QueueId  | 
|  OnRealTimeCallAnalysisAvailable  |  \$1.ContactLens.RealTimeCall.ContactId \$1.ContactLens.RealTimeCall.Agent.AgentId \$1.ContactLens.RealTimeCall.Queue.QueueId  | 
|  OnPostChatAnalysisAvailable  |  \$1.ContactLens.PostChat.ContactId \$1.ContactLens.PostChat.Agent.AgentId \$1.ContactLens.PostChat.Queue.QueueId  | 
|  OnSalesforceCaseCreate  |  \$1.ThirdParty.Salesforce.CaseCreate.CaseNumber \$1.ThirdParty.Salesforce.CaseCreate.Name \$1.ThirdParty.Salesforce.CaseCreate.Email \$1.ThirdParty.Salesforce.CaseCreate.Phone \$1.ThirdParty.Salesforce.CaseCreate.Company \$1.ThirdParty.Salesforce.CaseCreate.Type \$1.ThirdParty.Salesforce.CaseCreate.Reason \$1.ThirdParty.Salesforce.CaseCreate.Origin \$1.ThirdParty.Salesforce.CaseCreate.Subject \$1.ThirdParty.Salesforce.CaseCreate.Priority \$1.ThirdParty.Salesforce.CaseCreate.CreatedDate \$1.ThirdParty.Salesforce.CaseCreate.Description  | 
|  OnZendeskTicketCreate  |  \$1.ThirdParty.Zendesk.TicketCreate.Id \$1.ThirdParty.Zendesk.TicketCreate.Priority \$1.써드파티. Zendesk. TicketCreate. Create at  | 
|  OnZendeskTicketStatusUpdate  |  \$1.ThirdParty.Zendesk.TicketStatusUpdate.Id \$1.ThirdParty.Zendesk.TicketStatusUpdate.Priority \$1.ThirdParty.Zendesk.TicketStatusUpdate.CreatedAt  | 

# Contact Lens로 분석한 대화 검색
<a name="search-conversations"></a>

다음을 기반으로 분석되고 기록된 레코딩을 검색할 수 있습니다.
+ 스피커(에이전트 또는 고객)
+ 키워드
+ 감정 점수
+ 침묵 시간(통화만 해당)
+ 응답 시간(채팅만 해당)

또한 특정 고객 응대 범주에 속하는 대화(즉, 발화 키워드 및 문구를 기준으로 대화가 분류된 대화)를 검색할 수 있습니다.

이러한 기준은 다음 섹션에 설명되어 있습니다.

**중요**  
고객 응대에서 Contact Lens가 활성화되어 있으면 통화나 채팅이 **끝나고** 에이전트가 ACW(고객 응대 후 작업)를 완료한 후 Contact Lens가 고객과 에이전트 간의 대화 녹음을 분석(통화의 경우 녹취)합니다. 에이전트는 먼저 **고객 응대 종료**를 선택해야 합니다.  
Contact Lens가 활성화되어 있으면 채팅 기록이 검색을 위해 색인되고, Contact Lens가 활성화되지 않은 경우 검색용으로 색인되지 않습니다.

## 대화 검색에 필요한 권한
<a name="security-profile-permissions-for-search"></a>

대화를 검색하려면 먼저 보안 프로필에 다음 권한이 있어야 합니다. 이를 통해 원하는 유형의 검색을 수행할 수 있습니다.
+ **고객 응대 검색** 페이지에 액세스하려면 다음 권한 중 하나를 활성화하세요.
  + **고객 응대 검색**. 모든 고객 응대를 검색할 수 있습니다.
  + **내 고객 응대 보기**: 에이전트으로서 처리한 고객 응대만 검색할 수 있습니다.
+ **대화 특성으로 고객 응대 검색**. 여기에는 침묵 시간, 감정 점수, 고객 응대 범주가 포함됩니다.
+ **키워드로 고객 응대 검색**

자세한 내용은 [권한 할당](permissions-for-contact-lens.md) 단원을 참조하십시오.

## 단어 또는 구문 검색
<a name="keyword-search"></a>

키워드 검색의 경우 Contact Lens는 Amazon OpenSearch Service의 `standard` 분석기를 사용합니다. 이 분석기는 대소문자를 구분하지 않습니다. 예를 들어, *thank you for your business 2 CANCELLED Flights*를 입력하면 검색에서 다음을 찾습니다.

 [thank, you, for, your, business, 2, cancelled, flights]

*'thank you for your business', two, 'CANCELLED Flights'*를 입력하면 검색에서 다음을 찾습니다.

 [thank you for your business, two, cancelled flights]

**대화에서 단어나 문구를 검색하려면 다음을 수행하세요.**

1. Amazon Connect에서 **CallCenterManager** 보안 프로필이 할당되었거나 **키워드로 고객 응대 검색** 권한이 활성화된 사용자 계정으로 로그인합니다.

1. **분석 및 최적화**, **고객 응대 검색**을 선택합니다.

1. **필터** 섹션에서 검색할 기간을 지정하고 채널을 지정합니다.
**작은 정보**  
날짜별로 검색할 경우 한 번에 최대 8주까지 검색할 수 있습니다.

1. **필터를 추가하려면 여기를 클릭하세요**를 선택하고 드롭다운 메뉴에서 **단어 또는 문구**를 선택합니다.  
![\[고객 응대 검색 페이지, 필터 섹션, 필터 추가 드롭다운, 단어 또는 문구 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-search-words-phrases.png)

1. **사용하는 사람** 섹션에서 대화에서 누구의 부분을 검색할지 선택합니다. 다음 사항에 유의하세요.
   + **시스템**은 채팅에 적용되며, 참가자는 Lex 봇 또는 프롬프트일 수 있습니다.
   + 모든 참가자가 사용하는 단어나 문구를 검색하려면 **에이전트**, **고객**, **시스템**을 선택합니다.
   + 선택된 상자가 없으면 참가자가 사용한 단어나 문구를 검색하는 것입니다.

1. **로직** 섹션을 확장하고 다음 옵션 중 하나를 선택합니다.
   + 기록에 존재하는 단어 중 하나가 있는 고객 응대를 반환하려면 **임의 일치**를 선택합니다.

     예를 들어, 다음 쿼리는 일치(hello OR cancellation OR 'example airline')를 의미합니다. 그리고 **사용하는 사람** 상자가 선택되어 있지 않으므로 '참가자가 이 단어를 사용한 고객 응대를 찾습니다.'라는 의미입니다.  
![\[단어 또는 문구 대화 상자, 부분 일치 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/match-any.png)
   + 기록에 존재하는 모든 단어가 있는 고객 응대를 반환하려면 **모두 일치**를 선택합니다.

     예를 들어, 다음 쿼리는 일치('thank you for your business' AND cancellation AND 'example airline')를 의미합니다. 그리고 모든 참가자 상자가 선택되어 있으므로 '모든 참가자가 이 단어와 문구를 모두 사용한 연락처를 찾습니다.'라는 의미입니다.  
![\[단어 또는 문구 대화 상자, 부분 일치 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/match-all.png)

1. **단어 또는 문구** 섹션에서 검색할 단어를 쉼표로 구분하여 입력합니다. 문구를 입력하는 경우 따옴표로 묶습니다.

   최대 128자까지 입력할 수 있습니다.

## 감정 점수 검색 또는 감정 변화 평가
<a name="sentiment-search"></a>

Contact Lens를 사용하면 대화에서 -5(가장 부정적)부터 \$15(가장 긍정적)까지의 척도로 감정 점수 또는 감정 변화를 검색할 수 있습니다. 이렇게 하면 통화가 잘 진행되거나 제대로 진행되지 않는 이유에 대한 패턴과 요인을 식별할 수 있습니다.

![\[고객 응대 검색 페이지, 감정 점수 필터.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-sentiment-score-shift.png)


예를 들어, 고객 감정이 부정적으로 종료된 모든 고객 응대를 식별하고 조사하려고 한다고 가정합니다. 감정 점수가 **<=**(작거나 같음) -4인 모든 고객 응대를 검색할 수 있습니다.

자세한 내용은 [감정 점수 조사](sentiment-scores.md) 단원을 참조하십시오.

**감정 점수를 검새하거나 감정 변화를 평가하려면 다음을 수행하세요.**

1. Amazon Connect에서 **CallCenterManager** 보안 프로필이 할당되었거나 **대화 특성으로 고객 응대 검색** 권한이 활성화된 사용자 계정으로 로그인합니다.

1. **고객 응대 검색** 페이지에서 고객 또는 에이전트가 말한 단어나 구문에 대한 점수를 평가할지 여부를 지정합니다.

1. **점수 분석 유형**에서 반환할 점수 유형을 지정합니다.
   + **감정 점수**: 고객 또는 에이전트의 대화 부분에 대한 평균 점수를 반환합니다.

     에이전트가나 고객이 통화 중일 때의 감정 점수를 검색하는 것 외에도 고객이 언제 연락했는지를 기준으로 검색을 필터링할 수 있습니다.
     + **에이전트와 채팅 중**
     + **에이전트 없이 채팅 중**: 고객이 봇과 채팅하는 시간, 프롬프트 및 대기열에 있는 시간입니다.  
![\[감정 점수 필터, 참가자 드롭다운, 에이전트 없이 채팅 중 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-search-sentiment-participant.png)
   + **감성 변화**: 상담 중 고객이나 에이전트의 감정이 변한 부분을 파악합니다.

     예를 들어 다음 이미지는 고객의 감정 점수가 -1 이하에서 시작하여 \$11 이상에서 끝나는 고객 응대를 검색하는 예를 보여 줍니다. 또한 고객이 현재 에이전트와 채팅 중입니다.  
![\[감정 점수 필터, 감정 변화 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-search-sentiment-score.png)

## 대화 중단 시간 검색
<a name="nontalk-time-search"></a>

어떤 통화를 조사할지를 식별할 수 있도록 대화 중단 시간을 검색할 수 있습니다. 예를 들어, 대화 중단 시간이 20% 보다 큰 모든 통화를 찾은 다음, 해당 통화를 조사할 수 있습니다.

대화 중단 시간에는 보류 시간 및 두 참가자가 모두 3초 이상 말하지 않는 모든 무음 시간이 포함됩니다. 이 기간은 사용자 지정할 수 없습니다.

드롭다운 화살표를 사용하여 대화에서 대화 중단 시간의 기간 또는 백분율을 검색할지 여부를 지정합니다. 이 옵션은 다음 이미지에 표시됩니다.

 이 지표를 사용하는 방법에 대한 자세한 방법은 [침묵 시간 조사](non-talk-time.md) 섹션을 참조하세요.

![\[침묵 시간 필터, 기간 및 백분율 옵션.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/non-talk-time.png)


## 응답 시간을 기준으로 채팅 대화 검색
<a name="response-time-search"></a>

다음 기준으로 검색할 수 있습니다.
+ 채팅 중 에이전트 또는 고객의 평균 응답 시간
+ 채팅 중 에이전트 또는 고객의 최대 응답 시간

특정 시간보다 작거나 큰 기간을 지정할 수 있습니다. 이 지표를 사용하는 방법에 대한 자세한 방법은 [Contact Lens에서 채팅 중 응답 시간 조사](response-time.md) 섹션을 참조하세요.

지원되는 최소 및 최대 응답 시간에 대한 내용은 [Amazon Connect 규칙 기능 사양](feature-limits.md#rules-feature-specs) 섹션을 참조하세요.

다음은 에이전트의 평균 응답 시간이 1분 이상인 고객 응대를 검색 결과를 보여 주는 이미지입니다.

![\[응답 시간 필터.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/response-time.png)


## 고객 응대 범주 검색
<a name="contact-category-search"></a>

1. **고객 응대 검색** 페이지에서 **필터 추가**, **고객 응대 범주**를 선택합니다.

1. **고객 응대 범주** 상자에서 드롭다운 상자를 사용하여 검색할 수 있는 현재 범주를 모두 나열합니다. 또는 입력을 시작하면 입력한 내용이 기존 범주와 일치하는 항목과 일치하지 않는 항목을 필터링하는 데 사용됩니다.
   + **부분 일치**: 선택한 범주와 부분 일치하는 고객 응대를 검색합니다.
   + **모두 일치**: 선택한 범주와 모두 일치하는 고객 응대를 검색합니다.
   + **일치 없음**: 선택한 범주와 일치하지 않는 고객 응대를 검색합니다. 이렇게 하면 Contact Lens 대화 분석에 의해 분석된 고객 응대만 반환된다는 점에 유의하세요.

   다음 이미지는 현재 범주가 모두 나열된 드롭다운 메뉴를 보여 줍니다.  
![\[고객 응대 범주 필터, 모두 일치 옵션, 고객 응대 범주\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-search-contact-category2.png)

# Contact Lens를 사용하여 분석된 대화 검토
<a name="review-transcripts"></a>

Amazon Connect Contact Lens를 사용하면 대화 내용을 검토하고 고객 응대의 어떤 부분에 관심이 있는지 식별할 수 있습니다. 흥미로운 내용을 파악하기 위해 전체 통화를 듣거나 채팅 내용 전체를 읽을 필요가 없습니다. 오디오나 대화 내용의 특정 부분에 집중할 수 있습니다. 두 가지 모두 관심 지점이 있는 곳이면 어디든 강조 표시되어 있습니다.

예를 들어 고객 응대의 대화 내용을 스캔하면 고객이 부정적인 감정을 표현하고 있음을 나타내는 빨간색 감정 이모티콘이 표시될 수 있습니다 타임스탬프를 선택하여 오디오 녹음 또는 채팅 상호작용의 해당 부분으로 이동할 수 있습니다.

다음은 음성 고객 응대의 예를 보여 주는 이미지입니다.

![\[음성 고객 응대 분석.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-category-hit.png)


다음은 채팅 고객 응대의 예를 보여 주는 이미지입니다. **시스템 메시지**는 채팅에 적용되며, 참가자는 Lex 봇 또는 프롬프트일 수 있습니다.

![\[채팅 고객 응대 분석.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-category-hit-chat.png)


**분석된 대화를 검토하면 다음을 수행하세요.**

1. 보안 프로파일에 **고객 응대 검색** 및 **Contact Lens - 대화형 분석** 권한이 있는 사용자 계정으로 Amazon Connect에 로그인합니다.

1. Amazon Connect에서 **분석 및 최적화**, **고객 응대 검색**을 선택합니다.

1. 페이지에서 필터를 사용하여 고객 응대에 대한 검색 범위를 좁힙니다. 날짜의 경우 최대 14일을 한 번에 검색할 수 있습니다. 고객 응대 검색에 대한 자세한 내용은 [완료된 고객 응대와 진행 중인 고객 응대 검색](contact-search.md) 섹션을 참조하세요.

1. 고객 응대 ID를 선택하면 고객 응대의 연락처 세부 정보를 볼 수 있습니다.

1. **연락처 세부 정보** 페이지의 **녹음** 및 **기록** 섹션에서 말하거나 쓴 내용, 시기, 감정 표현을 검토합니다.

1. 통화에서는 원하는 경우 재생 프롬프트를 선택하여 녹음을 듣습니다. 또는 녹음의 해당 부분을 클릭하여 관심 있는 부분을 들을 수 있습니다.

1. 채팅의 경우, 원하는 경우 그래프를 사용하여 대화 내용 중 관심 있는 부분으로 이동합니다.

# Amazon Connect Contact Lens에서 트랜스크립트 및 오디오 탐색
<a name="turn-by-turn-transcript"></a>

품질 보증을 위해 감독자가 많은 에이전트의 고객 응대를 검토해야 하는 경우가 많습니다. 이동 녹취록 및 감정 데이터를 통해 녹화에서 관심 있는 부분을 빠르게 식별하여 찾아볼 수 있습니다.

다음 고객 응대 기록 이미지는 기록 및 오디오를 빠르게 탐색하여 주의가 필요한 부분을 찾을 수 있는 기능을 보여 줍니다. 이미지에는 음성 고객 응대가 표시되어 있지만, 채팅 고객 응대에도 동일한 기능이 적용됩니다.

![\[음성 고객 응대 분석.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-navigate-transcripts2.png)


1. [주요 하이라이트 표시](#contact-lens-contact-summarization)를 사용하여 문제, 결과 및/또는 작업 항목만 검토할 수 있습니다.

1. 음성 고객 응대의 경우 [자동 스크롤](#autoscroll)을 사용하여 오디오나 기록을 탐색할 수 있습니다. 이 두 가지는 항상 동기화 상태를 유지합니다.

1. [감정 이모티콘](#sentiment-emojis)을 검색하여 읽거나 듣고 싶은 기록의 부분을 빠르게 식별할 수 있습니다.

1. 오디오 녹음 또는 기록의 해당 부분으로 이동하려면 타임스탬프를 선택합니다. 타임스탬프는 고객 응대 내에서 고객 상호작용이 시작된 시점부터 계산됩니다.

## 주요 하이라이트 표시
<a name="contact-lens-contact-summarization"></a>

수백 줄에 달하는 고객 응대 기록을 검토하는 데는 많은 시간이 소요될 수 있습니다. 이 과정을 더 빠르고 효율적으로 진행하기 위해 Contact Lens에서는 주요 하이라이트를 볼 수 있는 옵션을 제공합니다. 하이라이트는 Contact Lens가 트랜스크립트에서 문제, 결과 또는 작업 항목을 식별한 행만 보여 줍니다.
+ **문제**는 통화 드라이버를 나타냅니다. 예를 들어, '온라인 구독 요금제로 업그레이드하려고 합니다.'라고 입력합니다.
+ **결과**는 문의 가능한 결론 또는 결과를 나타냅니다. 예를 들어, '현재 사용 중인 요금제에 따라 온라인 필수 요금제를 추천합니다.'라고 말합니다.
+ **작업 항목**은 에이전트가 수행하는 작업 항목을 나타냅니다. 예를 들어, '가격 견적이 포함된 이메일을 계속 주시해 주세요. 곧 보내드리겠습니다.'

각 고객 응대에는 하나의 문제, 하나의 결과, 하나의 작업 항목만 있습니다. 모든 고객 응대에 이 세 가지가 모두 있는 것은 아닙니다.

**참고**  
Contact Lens에 **이 트랜스크립트에 대한 주요 하이라이트가 없습니다**라는 메시지가 표시되면 문제, 결과 또는 작업 항목이 식별되지 않았음을 의미합니다.

주요 하이라이트를 구성할 필요가 없습니다. 기계 학습 모델을 따로 교육하지 않아도 바로 사용할 수 있습니다.

## 자동 스크롤을 켜서 기록과 오디오를 동기화합니다.
<a name="autoscroll"></a>

음성 고객 응대의 경우 **자동 스크롤**을 사용하여 오디오 또는 기록을 이동할 수 있으며, 이 둘은 항상 동기화된 상태를 유지합니다. 예제:
+ 대화를 들으면 기록이 함께 움직이면서 감정 이모티콘과 감지된 모든 문제를 보여 줍니다.
+ 기록을 스크롤하여 녹화에서 해당 지점을 들을 차례의 타임스탬프를 선택할 수 있습니다.

오디오와 기록이 일치하므로 기록은 에이전트와 고객이 말하는 내용을 이해하는 데 도움이 될 수 있습니다. 이 기능은 다음과 같은 경우에 특히 유용합니다.
+ 오디오 상태가 좋지 않습니다. 연결 문제 때문일 수 있습니다. 기록은 말하는 내용을 이해하는 데 도움이 될 수 있습니다.
+ 방언 또는 언어 변형이 있습니다. 저희 모델은 다양한 억양에 대한 훈련을 받았기 때문에 대본이 말하는 내용을 이해하는 데 도움이 될 수 있습니다.

## 감정 이모티콘 검색
<a name="sentiment-emojis"></a>

감정 이모티콘을 사용하면 대화 내용을 빠르게 스캔하여 대화의 해당 부분을 들을 수 있습니다.

예를 들어 고객 차례에 빨간색 이모티콘이 표시된 다음 녹색 이모티콘이 표시되는 경우 타임스탬프를 선택하여 대화의 특정 시점으로 이동하여 해당 에이전트가 고객을 어떻게 도왔는지 확인할 수 있습니다.

## 범주 태그를 탭하거나 클릭하여 기록 탐색
<a name="category-navigation"></a>

범주 태그를 탭하거나 클릭하면 Contact Lens가 트랜스크립트에서 해당 관심 지점으로 자동 이동합니다. 또한 상호 작용 시각화에는 범주 마커가 있어 녹화물 파일의 어느 부분에 해당 범주와 관련된 발언이 있는지를 표시할 수 있습니다.

다음 이미지는 채팅에 대한 **연락처 세부 정보** 페이지의 일부를 보여 줍니다.

![\[채팅 내용, 범주, 대화 내용의 관련 섹션\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-category-tag-navigation.png)


# Amazon Connect에서 생성형 AI 기반 고객 응대 후 요약 보기
<a name="view-generative-ai-contact-summaries"></a>

**참고**  
**Amazon Bedrock:implements 자동 침해 탐지로 구동**됩니다. AWS [https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html) 생성형 AI 기반의 고객 응대 후 요약은 Amazon Bedrock을 기반으로 구축되었으므로 사용자는 Amazon Bedrock에 구현된 제어 기능을 최대한 활용하여 안전, 보안 및 인공 지능(AI)의 책임 있는 사용을 강화할 수 있습니다.

고객 대화의 필수 정보를 구조적이고 간결하며 읽기 쉬운 형식으로 제공하는 생성형 AI 기반 고객 응대 후 요약을 사용하면 귀중한 시간을 절약할 수 있습니다. 트랜스크립트를 읽고 통화를 모니터링하는 대신 요약을 빠르게 검토하고 맥락을 이해할 수 있습니다.

생성형 AI 기반 고객 응대 후 요약에는 여러 가지 방법으로 액세스할 수 있습니다.
+ **에이전트는** 연락 제어판(CCP)에서 음성 및 이메일 연락에 대한 연락 후 요약에 액세스할 수 있습니다. 요약을 사용하여 고객 응대 후 작업(ACW)을 빠르게 완료할 수 있습니다. 에이전트의 경험에 대한 자세한 내용은 [CCP에서 고객 응대 후 요약 보기](#summaries-on-agentws) 섹션을 참조하세요.
+ **관리자와 감독자는** Amazon Connect 관리자 웹 사이트, 연락처 **세부 정보 및 연락처** **검색** 페이지에서 음성, 채팅 및 이메일 연락처에 대한 요약에 액세스할 수 있습니다. 요약을 사용하여 검토 중인 연락의 문제와 결과를 빠르게 이해할 수 있습니다. 관리자 경험에 대한 자세한 내용은 [Amazon Connect 관리자 웹 사이트에서 고객 응대 후 요약 보기](#summaries-on-website) 섹션을 참조하세요.
+ **개발자는** [API](contact-lens-api.md)의 요약을 서드파티 시스템으로 직접 수집할 수 있습니다. 또한 스트리밍을 위해 [ Amazon Kinesis Data Streams와 통합](contact-analysis-segment-streams.md)할 수 있습니다. 이 후자 옵션은 부하가 높고 TPS를 스로틀링하지 않으려는 경우에 유용합니다.

**Topics**
+ [고객 응대 후 요약 활성화](#gen-ai-getstarted)
+ [이메일에 대한 연락처 요약 활성화](#enable-email-summaries)
+ [CCP에서 고객 응대 후 요약 보기](#summaries-on-agentws)
+ [Amazon Connect 관리자 웹 사이트에서 고객 응대 후 요약 보기](#summaries-on-website)
+ [요약이 생성되지 않는 이유](#summary-not-generated)

## 고객 응대 후 요약 활성화
<a name="gen-ai-getstarted"></a>

**음성 연락에 대한 에이전트의 CCP에 대한 고객 응대 후 요약을 활성화하려면**

1. 흐름에 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록을 추가합니다.

1.  블록의 **속성** 페이지를 다음과 같이 구성합니다.

   1. **통화 녹음**을 **켜짐**으로 설정합니다. 다음 이미지와 같이 **에이전트 및 고객**을 선택합니다.  
![\[통화 녹음을 위해 구성된 분석 동작 설정 블록의 속성 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/call-recording-summaries.png)

   1. **분석**을 **켜짐**으로 설정합니다.

   1. **음성 분석 활성화**를 선택합니다.

   1. **실시간 및 통화 후 분석**을 선택합니다.

   1. **Contact Lens 생성형 AI 기능**에서 **고객 응대 후 요약**을 선택합니다.

   다음 이미지는 에이전트의 CCP에서 고객 응대 후 요약을 활성화하도록 구성된 **속성** 페이지의 **분석** 섹션을 보여 줍니다.  
![\[녹음 및 분석 동작 설정 블록의 속성 페이지.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/set-block-post-contact-summaries-ccp.png)

1. 에이전트의 보안 프로필에 다음 권한을 할당합니다.
   + **연락 제어판(CCP) - Contact Lens 데이터 - 액세스**
   + **분석 및 최적화 - Contact Lens–고객 응대 후 요약 - 보기**
   + **분석 및 최적화 - 녹음된 대화(편집됨)**, **녹음된 대화 보기(편집되지 않음)**, **모든** 또는 **액세스**(최소 권한은 권장하는 **액세스**)
   + **분석 및 최적화 - 내 연락처 보기** 또는 **연락처 검색 **

**Amazon Connect 관리자 웹 사이트에서 고객 응대 후 요약을 활성화하려면**

1. [레코딩 및 분석 동작 설정](set-recording-behavior.md)의 **속성** 페이지를 다음과 같이 구성합니다.

   1. **분석**을 **켜짐**으로 설정합니다.

   1. **음성 분석 활성화**, **채팅 분석 활성화** 또는 둘 다를 선택합니다.

      음성 분석을 선택한 경우 다음 중 하나를 선택합니다.
      + **통화 후 분석**
      + **실시간 및 통화 후 분석**: 사용자가 진행 중인 고객 응대에 대한 고객 응대 후 요약을 보려는 경우(즉, 에이전트가 여전히 ACW 상태이지만 통화가 종료된 경우) 이 옵션을 선택합니다.

   1. 고객 응대 후 요약에는 세분화된 편집이 지원되지 않습니다. 세분화된 편집을 선택하면 고객 응대 후 요약이 텍스트로 식별된 모든 PII를 편집하고 이를 [PII] 태그로 대체합니다.

   1. **Contact Lens 생성형 AI 기능**에서 **고객 응대 후 요약**을 선택합니다.

1. 사용자의 보안 프로필에 다음 권한을 할당합니다.
   + **분석 및 최적화 - 연락처 검색** 또는 **내 연락처 보기**
   + **분석 및 최적화 - Contact Lens–고객 응대 후 요약 - 보기**
   + **분석 및 최적화 - 녹음된 대화(편집됨)**, **녹음된 대화 보기(편집되지 않음)**, **모든** 또는 **액세스**(최소 권한은 권장하는 **액세스**)

## 이메일에 대한 연락처 요약 활성화
<a name="enable-email-summaries"></a>

**이메일 연락처에 대한 연락처 요약을 활성화하려면**

1. 인바운드 이메일 흐름에 [기록, 분석 및 처리 동작 설정](set-recording-analytics-processing-behavior.md) 블록을 추가합니다.

1. 블록의 **속성** 페이지를 다음과 같이 구성합니다.

   1. **채널**에서 **이메일을** 선택합니다.

   1. **분석**을 **켜짐**으로 설정합니다.

   1. **이메일 분석 활성화**를 선택합니다.

   1. **Contact Lens 생성형 AI 기능**에서 **연락처 요약**을 선택합니다.

1. **저장**을 선택합니다.

## CCP에서 고객 응대 후 요약 보기
<a name="summaries-on-agentws"></a>

에이전트가 연락 후 작업(ACW)을 수행할 수 있도록 Amazon Connect는 음성 연락에 대한 생성형 AI 기반 고객 응대 후 요약을 CCP에 표시합니다. 다음 그림에 예시 요약이 나와 있습니다.

![\[고객 응대 후 작업(ACW) 중 생성형 AI 기반 고객 응대 후 요약을 보여 주는 연락 제어판입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/genai-summary-ccp1.png)


1. 에이전트가 ACW 상태입니다. 페이지 상단에 '요약 생성' 배너가 표시되는 동안 트랜스크립트를 검색할 수 있습니다.

1. 에이전트가 검색하는 동안 요약을 사용할 수 있다는 메시지가 나타납니다. 에이전트가 배너를 클릭하면 요약이 표시될 때 CCP가 페이지 상단으로 스크롤됩니다.

1. 배너는 에이전트가 배너를 클릭하면 사라집니다.

**참고**  
생성형 AI 기반 고객 응대 후 요약은 CCP에서 음성, 채팅 및 이메일 고객 응대를 지원합니다.

## Amazon Connect 관리자 웹 사이트에서 고객 응대 후 요약 보기
<a name="summaries-on-website"></a>

관리자와 다른 사용자가 고객 응대를 검토할 수 있도록 Amazon Connect 관리자 웹 사이트에서 고객 응대 후 요약을 볼 수 있습니다. 다음은 **연락처 세부 정보** 페이지에 표시된 생성형 AI 기반 고객 응대 후 요약의 예시입니다.

![\[고객 대화에 대한 구조화된 정보가 포함된 생성형 AI 기반 고객 응대 후 요약을 보여 주는 고객 응대 세부 정보 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/genai-summary2.png)


다음 이미지는 **연락처 검색** 페이지에 표시된 생성형 AI 기반 고객 응대 후 요약의 예시입니다.

![\[여러 고객 상호 작용에 대한 생성형 AI 기반 고객 응대 후 요약을 목록 보기 형식으로 표시하는 고객 응대 검색 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/genai-summary-contactsearch2.png)


각 연락에는 요약이 하나만 생성됩니다. 모든 고객 응대에 요약이 생성되는 것은 아닙니다. 자세한 내용은 [요약이 생성되지 않는 이유](#summary-not-generated) 섹션을 참조하세요.

## 요약이 생성되지 않는 이유
<a name="summary-not-generated"></a>

요약이 생성되지 않으면 **연락처 세부 정보** 및 **연락처 검색** 페이지에 오류 메시지가 표시됩니다. 또한 오류에 대한 ReasonCode는 다음 예제와 마찬가지로 Contact Lens 출력 파일의 `ContactSummary` 개체에 나타납니다.

```
"JobDetails": {
    "SkippedAnalysis": [
      {
        "Feature": "POST_CONTACT_SUMMARY",
        "ReasonCode": "INSUFFICIENT_CONVERSATION_CONTENT"
      }
    ]
  },
```

다음은 요약이 생성되지 않은 경우 연락처 세부 정보 또는 검색 페이지에 표시될 수 있는 오류 메시지 목록입니다. Contact Lens 출력 파일에 나타나는 관련 원인 코드도 나열됩니다.
+ **동시 요약의 할당량을 초과하여 요약을 생성할 수 없습니다**. ReasonCode: `QUOTA_EXCEEDED`.

  이 메시지가 표시되면 [티켓을 제출](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-connect)하여 [동시 고객 응대 후 요약 작업](amazon-connect-service-limits.md#contactlens-quotas) 할당량을 늘리는 것이 좋습니다.
+ **적합한 대화가 충분하지 않아 요약을 생성할 수 없습니다**. ReasonCode: `INSUFFICIENT_CONVERSATION_CONTENT`.

  음성의 경우 각 참가자로부터 1개의 발화가 있어야 합니다. 채팅의 경우 각 참가자로부터 지원되는 유형의 메시지가 1개 있어야 합니다. 지원되는 메시지 유형은 `text/plain` 및 `text/markdown`입니다. `application/json`과 같은 다른 유형의 메시지는 요약에 사용되지 않습니다.
+ **Contact Flow에 지원되지 않거나 잘못된 언어 코드와 같이 PostContact 요약에 대한 잘못된 Contact Lens 구성이 있습니다**. ReasonCode: `INVALID_ANALYSIS_CONFIGURATION`.

  이 오류는 활성화된 요약이 다른 Contact Lens 설정과 호환되지 않는 경우, 특히 지원되지 않는 로캘에 대해 활성화된 경우 반환됩니다.
+ **보안 및 품질 가드레일을 충족하지 못했기 때문에 요약을 제공할 수 없습니다**. ReasonCode: `FAILED_SAFETY_GUIDELINES`.

  이 오류는 Amazon Connect for Concurrent 고객 응대 후 요약 작업에서 발생할 수 있습니다. Amazon Connect는 요약 생성을 위해 고객 응대 데이터를 Amazon Bedrock에 전달합니다. 고객 응대 데이터에 수정되지 않은 개인 식별 정보(PII)가 포함된 경우 Amazon Bedrock의 안전 지침이 트리거됩니다. 따라서 Amazon Bedrock은 민감한 정보를 보호하기 위해 요약 생성을 거부하므로 Amazon Connect에서 오류가 발생합니다.
+ 내부 시스템 오류입니다. ReasonCode: `INTERNAL_ERROR`

# 연락 제어판(CCP)에서 고객 대화의 주요 하이라이트 보기
<a name="key-highlights"></a>

수백 줄에 달하는 고객 응대 기록을 검토하는 데는 많은 시간이 소요될 수 있습니다. 이 프로세스를 더 빠르고 효율적으로 만들기 위해 Contact Lens는 고객 대화의 주요 부분을 자동으로 식별하고 레이블을 지정한 다음 대화의 하이라이트를 표시합니다. 관리자는 **연락처 세부 정보** 페이지에서 이러한 하이라이트를 볼 수 있습니다. 에이전트는 Contact Control Panel(CCP)에서 하이라이트를 볼 수 있습니다.

**작은 정보**  
지원되는 언어 목록은 [Amazon Connect Contact Lens에서 지원하는 언어](supported-languages.md#supported-languages-contact-lens)에서 *Key highlights* 열을 참조하세요.

Contact Lens를 활성화하면 고객 대화의 주요 부분을 식별하고 해당 부분에 레이블(예: 문제, 결과 또는 작업 항목)을 할당하고 고객 대화의 하이라이트를 표시합니다. 하이라이트를 펼쳐 연락의 전체 트랜스크립트를 볼 수 있습니다.

다음 예는 **연락처 세부 정보** 페이지의 주요 하이라이트를 보여 줍니다.

![\[연락처 세부 정보 페이지의 주요 하이라이트.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-key-highlights.png)


1. 필요에 따라 **주요 하이라이트 표시**를 켜거나 끕니다.

1. **문제**는 고객 응대 드라이버를 나타냅니다. 예를 들어, '온라인 구독 요금제로 업그레이드하려고 합니다.'라고 입력합니다.

1. **작업 항목**은 에이전트가 수행하는 작업 항목을 나타냅니다. 예를 들어, '가격 견적이 포함된 이메일을 계속 주시해 주세요. 곧 보내드리겠습니다.'

1. **결과**는 문의 가능한 결론 또는 결과를 나타냅니다. 예: '현재 사용 중인 요금제를 고려할 때 온라인 에센셜 요금제를 추천합니다.'

연락에는 문제, 결과, 작업 항목이 각각 하나씩만 있습니다. 일부 연락에는 세 가지 중 일부만 있을 수도 있습니다.

**참고**  
Contact Lens가 문제, 결과 또는 작업 항목을 식별할 수 없는 경우 **이 트랜스크립트에 대한 주요 하이라이트가 없습니다**라는 메시지가 표시됩니다.

에이전트의 경험, 즉 Contact Control Panel(CCP)에 트랜스크립트의 어떤 부분이 언제 표시되는지 확인하려면 [주요 하이라이트를 위한 흐름 설계](enable-analytics.md#call-summarization-agent) 섹션을 참조하세요.

# Amazon Connect Contact Lens의 테마 감지를 사용하여 고객 응대 관련 문제 발견
<a name="use-theme-detection"></a>

테마 감지를 사용하면 수천 건의 고객 상호 작용에서 이전에 알려지지 않았거나 새로 등장한 고객 응대 주제를 찾아낼 수 있습니다. 예를 들어 '예약 취소' 또는 '주문 지연'과 같은 일반적인 고객 문의 이유를 파악할 수 있습니다. 그런 다음 문제 해결을 신속하게 처리하고 IVR 옵션, 기술 자료 문서 및 에이전트 교육을 개선하여 고객 경험을 개선하기 위한 적절한 조치를 취할 수 있습니다.

## 중요한 참고 사항
<a name="important-td"></a>
+ 테마 감지는 Amazon Connect Contact Lens에서 지원하는 다음 언어로 제공됩니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/use-theme-detection.html)
+ 테마 감지는 2023년 1월 30일 또는 그 이후에 생성된 고객 응대에서 지원됩니다.
+ **테마 보고서 생성** 버튼은 저장된 검색에 Contact Lens로 감지된 문제가 있는 고객 응대가 300개 이상 포함된 경우에만 활성화됩니다.
+ 테마 감지 보고서는 가장 최근 고객 응대 3,000개에 대해 생성됩니다.
+ 테마 감지 보고서는 생성된 후 30일 동안 사용할 수 있습니다. 30일이 지나면 보고서가 데이터베이스에서 삭제되고 검색할 수 없습니다.
+ 저장된 검색에 대한 가장 최근 20개의 테마 보고서는 다음 이미지와 같이 **테마 보고서 보기** 드롭다운 메뉴에서 확인할 수 있습니다.  
![\[고객 응대 검색 페이지, 테마 보고서 보기 드롭다운 메뉴\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-view-theme-reports.png)

## 테마 보고서를 생성하는 방법
<a name="generate-theme-report"></a>

1. 다음 보안 프로필 권한이 있는 계정을 사용하여 Amazon Connect에 로그인합니다.
   + **고객 응대 검색 - 액세스**
   + **Contact Lens - 테마 감지 - 생성**
   + **Contact Lens - 테마 감지 - 보기**

1. Amazon Connect의 왼쪽 탐색 메뉴에서 **분석 및 최적화**, **고객 응대 검색**을 선택합니다.

1. **고객 응대 검색** 페이지에서 필터를 적용하여 Contact Lens로 분석한 고객 응대 그룹을 선택합니다.
**중요**  
검색 쿼리에는 Contact Lens로 감지된 문제가 있는 고객 응대를 300개 이상 반환해야 합니다. 그렇지 않으면 **테마 보고서 생성** 버튼이 활성화되지 않습니다.

1. **검색 저장**을 선택하여 결과를 저장합니다. 검색에 이름을 할당합니다.

1. 그런 다음 **테마 보고서 생성**을 선택합니다.

   Contact Lens는 기계 학습을 적용하여 비슷한 문제가 있는 고객 응대를 자동으로 그룹화합니다. 보고서가 생성되면 테마 보고서 링크가 배너에 표시됩니다. 이 배너의 예는 다음 이미지에 나와 있습니다.  
![\[고객 응대 검색 페이지, 테마 감지 배너.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-theme-detection-banner.png)

1. 테마 보고서 링크를 클릭하거나 탭합니다.

   테마 보고서가 표시됩니다. 여기에는 다음 이미지와 같이 테마 레이블과 고객 응대 목록이 포함됩니다.  
![\[여러 테마 레이블이 있는 테마 보고서.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-theme-detection-drilldown.png)

1. 테마 레이블을 클릭하거나 탭하여 관련 고객 응대를 보고, 특정 녹음을 듣고, 기록을 읽고 심층적인 분석을 할 수 있습니다.

# Contact Lens를 사용하여 고객 응대 대화 중 감정 점수 조사
<a name="sentiment-scores"></a>

## 감정 점수란 무엇입니까?
<a name="what-are-sentiment-scores"></a>

감정 점수는 텍스트의 분석이며, 텍스트에 대체로 긍정적인 언어, 부정적인 언어 또는 중립적인 언어가 포함되는지 여부에 대한 평가입니다. 감독자는 감정 점수를 사용하여 대화를 검색하고 긍정적이든 부정적이든 다양한 수준의 고객 경험과 관련된 고객 응대를 식별할 수 있습니다. 이렇게 하면 어떤 고객 응대를 조사해야 할지 신속하게 식별할 수 있습니다.

전체 대화에 대한 감성 점수뿐만 아니라 전체 고객 응대에 대한 감성 동향을 볼 수 있습니다.

## 감정 점수를 조사하는 방법
<a name="how-to-use-sentiment-scores"></a>

고객 센터를 개선하기 위해 노력할 때 다음 사항에 중점을 두는 것이 좋습니다.
+ 긍정적인 감성 점수로 시작했지만 부정적인 점수로 끝나는 고객 응대.

  예를 들어 품질 보증을 위해 제한된 고객 응대 세트에 집중하여 샘플을 추출하려는 경우, 고객이 처음에 긍정적인 감정을 가졌지만 부정적인 감정으로 끝낸 고객 응대를 살펴볼 수 있습니다. 이는 상대방이 무언가에 대해 불만을 갖고 대화를 끝냈다는 것을 보여 줍니다.
+ 부정적인 감정 점수로 시작했지만 긍정적으로 끝나는 고객 응대.

  이러한 고객 응대를 분석하면 고객 센터에서 재현할 수 있는 경험을 파악하는 데 도움이 됩니다. 다른 에이전트들과 성공 기법을 공유할 수 있습니다.

감정 진행 상황을 확인하는 또 다른 방법은 감정 추세선을 확인하는 것입니다. 문의가 진행됨에 따라 고객 감정의 변화를 확인할 수 있습니다. 예를 들어, 다음 이미지는 대화 초반에는 감정 점수가 매우 낮았지만 대화가 끝날 무렵에는 점수가 올라갔다가 다시 낮아지는 모습을 보여 줍니다.

![\[고객 감정 동향.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-sentiment-trend.png)


자세한 내용은 [감정 점수 검색 또는 감정 변화 평가](search-conversations.md#sentiment-search) 섹션을 참조하세요.

## 감정 점수 결정 방식
<a name="how-sentiment-scores-are-determined"></a>

Amazon Connect Contact Lens는 대화에서 각 화자의 감정을 긍정, 부정 또는 중립으로 분석합니다. 그런 다음 각 참가자의 차례마다 두 가지 요소를 고려하여 각 통화 기간에 대해 -5에서 \$15 사이의 점수를 부여합니다: 
+ 빈도. 감정이 긍정, 부정 또는 중립인 횟수입니다.
+ 감정의 흐름. 같은 감정의 연속 턴.

전체 감성 평가 점수는 통화 중 각 부분에 부여된 점수의 평균입니다.

# Amazon Connect Contact Lens를 사용하여 통화 중 침묵 시간 조사
<a name="non-talk-time"></a>

## 침묵 시간이란 무엇입니까?
<a name="what-is-non-talk-time"></a>

Amazon Connect Contact Lens는 통화에서 *대화 중단 시간*******의 양도 식별합니다. 침묵 시간은 보류 시간과 두 참가자가 3초 이상 말을 하지 않는 침묵 시간을 합한 시간입니다. 이 기간은 사용자 지정할 수 없습니다.

다음 이미지는 **연락처 세부 정보** 페이지에 있는 침묵 시간 데이터의 위치를 보여 줍니다.

![\[연락처 세부 정보 페이지, 통화 시간 섹션, 침묵 시간 데이터.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-nontalk-time-overview.png)


## 침묵 시간을 조사하는 방법
<a name="how-to-investigate-non-talk-time"></a>

침묵 시간은 제대로 진행되지 않은 통화를 식별하는 데 도움이 될 수 있습니다. 이는 다음과 같은 이유 때문일 수 있습니다.
+ 고객이 고객 센터에 새로운 질문을 하고 있음을 나타낼 수 있습니다.
+ 에이전트가 작업을 수행하는 데 시간이 오래 걸리지만 그들은 잘 훈련되어 있습니다. 이는 에이전트가 사용 중인 도구에 문제가 있을 수 있음을 나타냅니다. 예를 들어, 도구가 충분히 반응하지 않거나 사용하기 쉽지 않습니다.
+ 에이전트는 답변을 미리 준비하지는 못했지만 꽤 생소한 내용이었습니다. 이는 추가 교육이 필요하다는 뜻입니다.

고객 센터를 개선하기 위해 이러한 고객 응대에 집중할지 여부를 결정할 수 있습니다. 예를 들어 오디오의 해당 섹션으로 이동한 다음 스크립트를 보고 무슨 일이 있었는지 확인할 수 있습니다.

 다음 예시에서는 에이전트가 발신자의 트립 ID를 검색할 때 통화가 되지 않은 시간이 발생했습니다. 이는 에이전트의 도구에 문제가 있음을 의미할 수 있습니다. 또는 신입 에이전트인 경우 추가 교육이 필요합니다.

![\[고객 응대 오디오 녹음 및 기록, 침묵 시간의 위치.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-non-talk-time-transcript.png)


자세한 내용은 [대화 중단 시간 검색](search-conversations.md#nontalk-time-search) 단원을 참조하십시오.

# Contact Lens에서 채팅 중 응답 시간 조사
<a name="response-time"></a>

응답 시간 지표를 사용하여 채팅 문의 시 에이전트나 고객의 반응을 파악할 수 있습니다.

Contact Lens는 다음과 같은 지표를 계산합니다.
+ **에이전트 인사 시간**. 에이전트의 첫 번째 응답 시간으로, 에이전트가 채팅에 참여한 후 얼마나 빨리 고객과 소통했는지를 나타냅니다. 예를 들어 첫 번째 응답 시간이 길다는 것은 고객이 대화 초반에 부정적인 감정을 가지고 있다는 것을 의미할 수 있습니다.
+ **평균 에이전트 응답 시간** 및 **평균 고객 응답 시간**. 에이전트 응답 시간을 통해 조직의 기준선과 비교하여 에이전트의 성과를 확인할 수 있습니다.
+ **최대 에이전트 응답 시간** 및 **최대 고객 응답 시간**.

  고객의 최대 응답 시간은 에이전트의 응답 시간을 설명할 수 있습니다. 예를 들어 고객이 5분 동안 답장을 보내지 않다가 메시지를 보냈다면 에이전트가 다른 채팅을 동시에 처리하느라 평소보다 응답 시간이 더 오래 걸렸을 수 있습니다.

응답 시간 지표를 대화 및 참여자 감정의 격차를 보여 주는 상호작용 그래프와 함께 검토하는 것이 좋습니다.

그래프에서 가장 긴 응답 시간 값을 클릭하거나 탭하면 기록에서 관련 메시지로 이동할 수 있습니다.

다음은 채팅 대화의 지표를 보여 주는 **연락처 세부 정보 페이지** 이미지입니다. **에이전트 인사 시간** = 에이전트가 채팅에 참여한 후 첫 번째 응답을 보낼 때까지의 시간입니다.

![\[연락처 세부 정보 페이지, 채팅 지표.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contactlens-contactdetails-chat1b.png)


자세한 내용은 [응답 시간을 기준으로 채팅 대화 검색](search-conversations.md#response-time-search) 단원을 참조하십시오.

# Contact Lens를 사용하여 통화 중인 에이전트와 고객의 음량 조사
<a name="contact-lens-loudness"></a>

음량 점수는 통화 중에 고객 또는 에이전트가 말하는 음량을 측정합니다. Contact Lens는 고객 또는 에이전트가 큰 음량으로 말하는 지점을 식별하고 부정적인 감정을 포함한 대화 분석을 표시합니다.

## 대화 음량 점수 사용 방법
<a name="investigate-loudness-scores"></a>

대화 음량 점수를 감정과 함께 사용하는 것이 좋습니다. 대화 음량 점수는 높고 감정은 낮은 부분을 찾아보세요. 그런 다음 기록의 해당 부분을 읽거나 통화의 해당 부분을 들어보세요.

예를 들어, 다음은 녹음 및 기록 분석 이미지입니다. 뾰족한 세로 막대는 고객이 큰 소리로 말하는 위치를 나타냅니다. 가로로 표시된 빨간색 막대는 고객의 감정이 부정적임을 나타냅니다.

![\[연락처 세부 정보 페이지, 대화 음량 점수.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/contact-lens-amplitude.png)


# 민감한 데이터 편집을 사용하여 Contact Lens를 사용하여 고객 프라이버시 보호
<a name="sensitive-data-redaction"></a>

고객의 개인 정보를 보호하기 위해 Contact Lens 대화 분석을 사용하면 대화 기록, 오디오 파일 및 이메일 기록에서 민감한 데이터를 자동으로 수정할 수 있습니다. 자연어 이해를 사용하여 이름, 주소, 신용 카드 정보와 같은 민감한 데이터를 삭제합니다.

**녹음 및 분석 동작 설정** 블록에서 대화 분석을 활성화하면 수정을 활성화할 수 있는 옵션이 있습니다. 자세한 내용은 [민감한 데이터 수정 활성화](enable-analytics.md#enable-redaction) 단원을 참조하십시오.

음성 고객 응대의 경우 통화 연결이 끊긴 후 민감한 데이터 수정이 적용됩니다. 이메일 연락처의 경우 이메일 연락처가 종료된 후 수정이 적용됩니다.

**중요**  
수정 기능은 민감한 데이터를 식별하고 제거하도록 설계되었습니다. 그러나 머신 러닝의 예측적 특성으로 인해 Contact Lens에서 생성된 기록에서 민감한 데이터의 모든 인스턴스를 식별하고 제거하지 못할 수도 있습니다. 수정된 출력을 검토하여 요구 사항에 맞는지 확인하는 것이 좋습니다.  
수정 기능은 1996년 미국 의료보험 이동성 및 책임에 관한 법률(HIPAA)과 같은 의료 개인정보 보호법에 따른 비식별화 요건을 충족하지 않으므로 수정 후에도 계속 보호 대상 건강 정보로 취급하는 것이 좋습니다.

Contact Lens 편집이 지원하는 언어 목록은 [Amazon Connect 기능에서 지원하는 언어](supported-languages.md) 섹션을 참조하세요.

## 수정된 파일에 대한 정보
<a name="about-redacted-files"></a>

수정된 음성 파일은 Voice Amazon S3 버킷에 저장됩니다(예: connect-*instanceARN*/Analysis).

수정된 채팅 파일은 채팅 Amazon S3 버킷에 저장됩니다. 예를 들어 connect-*instanceARN*/Analysis/Chat

수정된 이메일 파일은 connect-*instanceARN*/Analysis/Email과 같은 이메일 Amazon S3 버킷에 저장됩니다.

Amazon S3 콘솔을 사용하여 AWS 콘솔을 통해 모든 파일(수정된 파일, 수정되지 않은 파일, 원본 파일 등)에 액세스할 수 있습니다.

다음은 적절한 [보안 프로필 권한이](permissions-for-contact-lens.md) 있다고 가정할 때 Amazon Connect 관리자 웹 사이트(예: **연락처 세부 정보** 페이지)를 사용하여 액세스할 수 있는 항목의 목록입니다.
+ 수정된 음성, 채팅 및 이메일 파일에 액세스합니다.
+ 수정된 음성 녹음을 다운로드합니다.

**참고**  
현재 수정된 채팅 파일 및 음성 기록은 다운로드할 수 없습니다.

편집이 활성화되면 Contact Lens는 다음 파일을 생성합니다.
+ 수정된 파일. 이 파일은 수정이 활성화된 경우 기본적으로 생성됩니다. 민감한 데이터가 수정된 출력 스키마입니다. 예시 파일은 [Contact Lens 대화 분석으로 분석한 통화의 편집된 파일 예시](contact-lens-example-output-files.md#example-redacted-file) 섹션을 참조하세요.
+ 분석된 원본(원시) 파일입니다. 이 파일은 [레코딩 및 분석 동작 설정](set-recording-behavior.md) 블록에서 수**정된 오디오가 포함된 수정된 원본 기록 가져오기**를 선택한 경우에만 생성됩니다. 예시 파일은 [Contact Lens 대화 분석으로 분석한 통화의 원본 파일 예시](contact-lens-example-output-files.md#example-original-output-file) 섹션을 참조하세요.
**중요**  
음성 고객 응대의 경우 전체 대화가 저장되는 유일한 장소는 분석된 원본 파일입니다. 파일을 삭제하면 수정된 민감한 데이터에 대한 기록이 남지 않습니다.
+ 음성 고객 응대용 편집된 오디오 파일(wav). 오디오 파일의 민감한 데이터는 무음으로 삭제됩니다. 이러한 무음 시간은 Amazon Connect 관리자 웹 사이트 또는 다른 곳에서 침묵 시간으로 플래그가 지정되지 않습니다.

파일 보존 정책을 사용하여 이러한 파일을 보관할 기간을 결정하세요.

# 채팅 분석에 Contact Lens API 사용
<a name="contact-lens-api"></a>

Contact Lens에는 대화 분석을 지원하는 두 개의 API가 포함되어 있습니다. 이러한 API를 사용하여 고객 센터의 효율성을 높이는 솔루션을 구축하세요.
+ [ListRealtimeContactAnalysisSegments](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_ListRealtimeContactAnalysisSegments.html): 음성 연락에 사용합니다.
+ [ListRealtimeContactAnalysisSegmentsV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListRealtimeContactAnalysisSegmentsV2.html): 채팅 연락에 사용합니다.

이 대화 분석 API는 다른 서비스와 통합할 필요가 없는 표준 요청/응답 교환을 갖춘 폴링 API입니다. 하지만 [속도 제한](amazon-connect-service-limits.md#connect-contactlens-api-quotas)이 있습니다. 필요한 경우 [스트리밍 API](contact-analysis-segment-streams.md)를 사용하여 이러한 제한을 없앨 수 있습니다. 이를 위해서는 Amazon Kinesis Data Streams와의 통합이 필요합니다.

다음은 통화 및 채팅 분석 API의 두 가지 사용 사례입니다.

## 향상된 연락 전송
<a name="contact-lens-api-transfers"></a>

고객 응대가 한 에이전트에게서 다른 에이전트에게 이전될 때 대화 내용을 새 에이전트에게 전송할 수 있습니다. 그러면 새 에이전트는 고객이 고객 센터에 연락하는 이유를 알 수 있고 고객은 이미 제공한 정보를 반복해서 말하지 않아도 됩니다. 음성 연락에는 [ListRealtimeContactAnalysisSegments](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_ListRealtimeContactAnalysisSegments.html) API를, 채팅 연락에는 [ListRealtimeContactAnalysisSegmentsV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListRealtimeContactAnalysisSegmentsV2.html) API를 사용하여 전체 대화 트랜스크립티를 특정 시점까지 가져와서 새 에이전트와 공유하세요.

## 대화의 주요 부분을 레이블, 문제, 작업 항목, 결과 등으로 강조
<a name="contact-lens-api-call-summary"></a>

주요 하이라이트를 통해 에이전트는 연락이 끝난 후 신속하게 메모를 작성할 수 있고 감독자는 품질 및 에이전트 성과 관리를 위해 연락을 신속하게 식별할 수 있습니다. 따라서 에이전트와 감독자가 업무 생산성을 높일 수 있습니다.

# Amazon Kinesis Data Streams를 사용하여 음성 및 채팅 고객 응대에 대한 Contact Lens 분석 액세스
<a name="contact-analysis-segment-streams"></a>

고객 응대 분석 세그먼트 스트림을 사용하면 음성 및 채팅 고객 응대에 대한 Contact Lens 분석에 액세스할 수 있습니다. 스트리밍은 기존 [실시간 통화 분석 API](contact-lens-api.md)의 확장 한계를 극복합니다. 음성 고객 응대의 경우, 부분적인 기록에 액세스할 수 있는 `Utterance` 데이터 세그먼트에 대한 액세스 권한도 제공합니다. 이를 통해 실시간 통화에서 에이전트를 지원하는 데 필요한 초저지연 요건을 충족할 수 있습니다.

이 섹션에서는 스트리밍을 위해 Amazon Kinesis Data Streams와 통합하는 방법을 설명합니다.

스트리밍을 통해 다음과 같은 이벤트 유형을 받을 수 있습니다.
+ 고객 응대 분석 세션이 시작될 때 게시되는 STARTED 이벤트입니다.
+ SEGMENTS 이벤트가 고객 응대 분석 세션 중에 게시됩니다. 이러한 이벤트에는 분석된 정보가 포함된 세그먼트 목록이 포함되어 있습니다.
+ 고객 응대 분석 세션이 끝날 때 게시되는 COMPLETED 또는 FAILED 이벤트입니다.

**Topics**
+ [고객 응대 분석 세그먼트 스트림 활성화](enable-contact-analysis-segment-streams.md)
+ [음성: 대화형 분석 세그먼트 스트림용 데이터 모델](real-time-contact-analysis-segment-streams-data-model.md)
+ [채팅: 대화 분석 세그먼트 스트림용 데이터 모델](chat-real-time-contact-analysis-segment-streams-data-model.md)
+ [음성: 샘플 대화 분석 세그먼트 스트림](sample-real-time-contact-analysis-segment-stream.md)
+ [채팅: 샘플 대화 분석 세그먼트 스트림](chat-sample-real-time-contact-analysis-segment-stream.md)

# Contact Lens 대화를 분석하기 위한 고객 응대 분석 세그먼트 스트림 활성화
<a name="enable-contact-analysis-segment-streams"></a>

고객 응대 분석 세그먼트 스트림은 기본적으로 활성화되지 않습니다. 이 주제에서는 이를 활성화하는 방법을 설명합니다.

## 1단계: Kinesis 스트림 생성
<a name="enable-segment-streams-step1"></a>

Amazon Connect 인스턴스가 있는 동일한 계정 및 리전에서 데이터 스트림을 생성합니다. 지침은 **Amazon Kinesis Data Streams 개발자 안내서의 [1단계: 데이터 스트림 생성 및 업데이트](https://docs.aws.amazon.com/streams/latest/dev/tutorial-stock-data-kplkcl-create-stream.html)를 참조하세요.

**작은 정보**  
각 데이터 형식에 대해 별도의 스트림을 생성하는 것이 좋습니다. 고객 응대 분석 세그먼트 스트림, 에이전트 이벤트 및 고객 응대 기록에 동일한 스트림을 사용할 수 있지만 각 스트림에 대해 별도의 스트림을 사용하면 스트림에서 데이터를 관리하고 가져오는 것이 훨씬 쉽습니다. 자세한 내용은 [Amazon Kinesis Data Streams 개발자 안내서](https://docs.aws.amazon.com/streams/latest/dev/introduction.html)를 참조하세요.

## 2단계: Kinesis 스트림에 대한 서버 측 암호화 설정(선택 사항이지만 권장됨)
<a name="enable-segment-streams-step2"></a>

자격 증명을 구성하는 몇 가지 방법이 있습니다.
+ 옵션 1: Kinesis AWS 관리형 키 (`aws/kinesis`)를 사용합니다. 추가 설정 없이 이 기능을 사용할 수 있습니다.
+ 옵션 2: Amazon Connect 인스턴스에서 통화 녹음, 채팅 기록 또는 내보낸 보고서에 동일한 고객 관리 키를 사용합니다.

  Amazon Connect 인스턴스에서 암호화를 활성화하고 통화 녹음, 채팅 기록 또는 내보낸 보고서에 고객 관리 키를 사용하세요. 그런 다음 Kinesis 데이터 스트림에 대해 동일한 KMS 키를 선택합니다. 이 키에는 이미 사용에 필요한 권한(부여)이 있습니다.
+ 옵션 3: 다른 고객 관리형 키를 사용합니다.

  기존 고객 관리형 키를 사용하거나 새 키를 생성하고 키를 사용하기 위해 Amazon Connect 역할에 필요한 권한을 추가합니다. 권한을 부여하여 AWS KMS 권한을 추가하려면 다음 예제를 참조하세요.

  ```
  aws kms create-grant \
      --key-id your key ID \
      --grantee-principal arn:aws:iam::your AWS account ID:role/aws-service-role/connect.amazonaws.com/AWSServiceRoleForAmazonConnect_11111111111111111111 \
      --operations GenerateDataKey \
      --retiring-principal arn:aws:iam::your AWS account ID:role/adminRole
  ```

  여기서 `grantee-principal`은 Amazon Connect 인스턴스와 연결된 서비스 연결 역할의 ARN입니다. 서비스 연결 역할의 ARN을 찾으려면 Amazon Connect 콘솔에서 **개요**, **배포 설정**, **서비스 연결 역할**로 이동합니다.

## 3단계: Kinesis 스트림 연결
<a name="enable-segment-streams-step3"></a>

Amazon Connect [AssociateInstanceStorageConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateInstanceStorageConfig.html) API를 사용하여 다음 리소스 유형을 연결합니다.
+ 음성 고객 응대의 경우 `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`를 사용합니다.
+ 채팅 고객 응대의 경우 `REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS`를 사용합니다.

**참고**  
`REAL_TIME_CONTACT_ANALYSIS_SEGMENTS`는 더 이상 사용되지 않지만 여전히 지원되며 음성 연락처에만 적용됩니다. 음성 연락처를 앞으로 이동하려면 `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`를 사용합니다.  
이전에 스트림을 `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS`와 연결한 경우 스트림을 `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`로 업데이트하는 데 작업이 필요하지 않습니다.

실시간 고객 응대 분석 세그먼트가 게시될 Kinesis 스트림을 지정합니다. 인스턴스 ID와 Kinesis 스트림 ARN이 필요합니다. 다음 코드에 예가 나와 있습니다:

```
// Build request
  const request: Connect.Types.AssociateInstanceStorageConfigRequest = {
    InstanceId: 'your Amazon Connect instance ID',
    ResourceType: 'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS or REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS',
    StorageConfig: {
      StorageType: 'KINESIS_STREAM',
      KinesisStreamConfig: {
        StreamArn: 'the ARN of your Kinesis stream',
      },
    }
  };
```

### AWS CLI
<a name="step3-cli"></a>

다음 예제는 채팅 고객 응대에 대한 것입니다.

**작은 정보**  
 AWS 리전(`--region`)을 포함하지 않으면 CLI 프로파일을 기반으로 기본 리전을 사용합니다.  
`--storage-config` 파라미터 값은 작은따옴표(') 내에 포함해서는 안 됩니다. 그렇지 않으면 오류가 발생합니다.

```
aws connect associate-instance-storage-config \
--region "us-west-2" \
--instance-id your Amazon Connect instance ID \
--resource-type REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS \
--storage-config StorageType=KINESIS_STREAM,KinesisStreamConfig={StreamArn=the ARN of your Kinesis stream}
```

### AWS SDK
<a name="step3-sdk"></a>

다음 예제는 음성 고객 응대에 대한 것입니다.

```
import { Connect } from 'aws-sdk';

async function associate (): Promise <void> {
  const clientConfig: Connect.ClientConfiguration = {
    region: 'the Region of your Amazon Connect instance',
  };

  const connect = new Connect(clientConfig);

  // Build request
  const request: Connect.Types.AssociateInstanceStorageConfigRequest = {
    InstanceId: 'your Amazon Connect instance ID',
    ResourceType: 'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS',
    StorageConfig: {
      StorageType: 'KINESIS_STREAM',
      KinesisStreamConfig: {
        StreamArn: 'the ARN of your Kinesis stream',
      },
    }
  };

  try {
    // Execute request
    const response: Connect.Types.AssociateInstanceStorageConfigResponse = await connect.associateInstanceStorageConfig(request).promise();

    // Process response
    console.log('raw response: ${JSON.stringify(response, null, 2)}');
  } catch (err) {
    console.error('Error calling associateInstanceStorageConfig. err.code: ${err.code},' +
      'err.message: ${err.message}, err.statusCode: ${err.statusCode}, err.retryable: ${err.retryable}');
  }
}

associate().then(r => console.log('Done'));
```

## 4단계: Amazon Connect 인스턴스에 Contact Lens 활성화
<a name="enable-segment-streams-step4"></a>

지침은 [Amazon Connect Contact Lens에서 대화 분석 활성화](enable-analytics.md) 섹션을 참조하세요.

## 5단계(선택 사항): 샘플 세그먼트 스트림 검토
<a name="enable-segment-streams-step5"></a>

[음성](sample-real-time-contact-analysis-segment-stream.md) 또는 [채팅](chat-sample-real-time-contact-analysis-segment-stream.md) 샘플 세그먼트 스트림을 검토하여 어떤 모습인지 익숙해지도록 하는 것이 좋습니다.

# Contact Lens에서 음성 고객 응대를 분석하기 위한 대화형 분석 세그먼트 스트림용 데이터 모델
<a name="real-time-contact-analysis-segment-streams-data-model"></a>

실시간 고객 응대 분석 세그먼트 스트림은 JSON으로 생성됩니다. 실시간 대화 분석이 활성화된 모든 고객 응대에 대해 이벤트 JSON 블롭이 관련 스트림에 게시됩니다. 음성 고객 응대에 대한 대화 분석 세션에 게시할 수 있는 이벤트 유형은 다음과 같습니다.
+ STARTED 이벤트 - 각 대화 분석 세션은 세션이 시작될 때 하나의 STARTED 이벤트를 게시합니다.
+ SEGMENTS 이벤트 - 대화 분석 세션은 세션 중에 0개 이상의 SEGMENTS 이벤트를 게시할 수 있습니다. 이러한 이벤트에는 분석된 정보가 포함된 세그먼트 목록이 포함되어 있습니다. 음성 고객 응대의 경우 세그먼트 목록에는 ‘`Utterance`‘, ‘`Transcript`‘, ‘`Categories`‘ 또는 ‘`PostContactSummary`‘ 세그먼트가 포함될 수 있습니다.
+ COMPLETED 또는 FAILED 이벤트 - 각 대화 분석 세션은 세션이 끝날 때 COMPLETED 또는 FAILED 이벤트를 하나씩 게시합니다.

## 음성 고객 응대에 대해 모든 이벤트에 포함되는 공통 속성
<a name="segment-streams-data-model-common-properties"></a>

모든 이벤트에는 다음 속성이 포함됩니다.

**버전**  
이벤트 스키마의 버전입니다.  
유형: 문자열

**채널**  
이 고객 응대 채널의 유형입니다.  
유형: 문자열  
유효한 값: `VOICE`, `CHAT`, `TASK`   
채널에 대한 자세한 내용은 [Amazon Connect에서 연락처를 라우팅하기 위한 채널 및 동시성](channels-and-concurrency.md) 섹션을 참조하세요.

**AccountId**  
이 고객 응대가 이루어지는 계정의 식별자.  
유형: 문자열

**ContactId**  
분석 중인 고객 응대의 식별자.  
유형: 문자열

**InstanceId**  
이 인스턴스가 이루어지는 계정의 식별자.  
유형: 문자열 

**LanguageCode**  
이 고객 응대와 관련된 언어 코드.  
유형: 문자열   
유효한 값: [Contact Lens 실시간 통화 분석에 지원되는 언어](supported-languages.md#supported-languages-contact-lens) 중 하나에 대한 언어 코드.

**EventType**  
게시된 이벤트 유형입니다.  
유형: 문자열  
유효값: `STARTED`, `SEGMENTS`, `COMPLETED`, `FAILED` 

## STARTED 이벤트
<a name="segment-streams-data-model-started-event"></a>

`STARTED` 이벤트에는 공통 속성만 포함됩니다.
+ 버전
+ 채널
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: STARTED

## SEGMENTS 이벤트
<a name="segment-streams-data-model-segments-event"></a>

`SEGMENTS` 이벤트에는 다음 속성이 포함됩니다.
+ 버전
+ 채널
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: SEGMENTS
+ 세그먼트: `SEGMENTS` 이벤트에는 공통 속성 외에도 분석된 정보가 있는 세그먼트 목록이 포함됩니다.

  유형: [세그먼트](#segment) 객체 배열
+ PostContactSummary : 음성 고객 응대 세그먼트의 고객 응대 후 요약에 대한 정보입니다.

  유형: [PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html) 객체 

  필수 여부: 아니요

**세그먼트**  
실시간 분석 세션의 분석된 세그먼트.  
각 세그먼트는 다음과 같은 선택적 속성을 가진 객체입니다. 세그먼트 유형에 따라 이러한 속성 중 하나만 표시됩니다.  
+ 발화
+ 기록
+ Categories
+ PostContactSummary

**발화**  
분석된 발화.  
필수 여부: 아니요  
+ **Id**

  발화의 ID.

  유형: 문자열
+ ** TranscriptId**

  이 발화와 관련된 녹취록의 ID.

  유형: 문자열
+ **ParticipantId**

  이 참가자의 ID.

  유형: 문자열
+ ** ParticipantRole**

  참가자의 역할. 고객, 에이전트 또는 시스템을 예로 들 수 있습니다.

  유형: 문자열
+ ** PartialContent**

  이 발화의 내용.

  유형: 문자열
+ **시작 오프셋 밀리스**

  이 기록에 대한 고객 응대의 시작 오프셋.

  유형: 정수
+ **엔드오프셋 밀리스**

  이 기록에 대한 고객 응대의 엔드 오프셋.

  유형: 정수

**기록**  
분석된 기록.  
유형: [기록](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Transcript.html) 객체   
필수 여부: 아니요

**Categories**  
일치하는 범주 규칙.  
유형: [범주](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Categories.html) 객체  
필수 여부: 아니요

**PostContactSummary**  
음성 고객 응대 세그먼트의 고객 응대 후 요약에 대한 정보입니다.  
유형: [PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html) 객체  
필수 여부: 아니요

## COMPLETED 이벤트
<a name="segment-streams-data-model-completed-event"></a>

`COMPLETED` 이벤트에는 다음 공통 속성만 포함됩니다.
+ 버전
+ 채널
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: COMPLETED

## FAILED 이벤트
<a name="segment-streams-data-model-failed-event"></a>

`FAILED` 이벤트에는 다음 공통 속성만 포함됩니다.
+ 버전
+ 채널
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: FAILED

# Contact Lens에서 채팅을 분석하기 위한 대화형 분석 세그먼트 스트림용 데이터 모델
<a name="chat-real-time-contact-analysis-segment-streams-data-model"></a>

채팅 연락에 대한 대화 분석 세그먼트 스트림은 JSON에서 생성됩니다. 실시간 대화 분석이 활성화된 모든 고객 응대에 대해 이벤트 JSON 블롭이 관련 스트림에 게시됩니다. 채팅 고객 응대에 대한 대화 분석 세션에 게시할 수 있는 이벤트 유형은 다음과 같습니다.
+ STARTED 이벤트 - 각 대화 분석 세션은 세션이 시작될 때 하나의 STARTED 이벤트를 게시합니다.
+ SEGMENTS 이벤트 - 대화 분석 세션은 세션 중에 0개 이상의 SEGMENTS 이벤트를 게시할 수 있습니다. 이러한 이벤트에는 분석된 정보가 포함된 세그먼트 목록이 포함되어 있습니다. 채팅 고객 응대의 경우 세그먼트 목록에는 ‘`Attachments`‘" ‘`Transcript`,’ ‘`Categories`,’ ‘`Events`,’ ‘`Issues`,’ 또는 ‘`PostContactSummary`‘ 세그먼트가 포함될 수 있습니다.
+ COMPLETED 또는 FAILED 이벤트 - 각 대화 분석 세션은 세션이 끝날 때 COMPLETED 또는 FAILED 이벤트를 하나씩 게시합니다.

## 채팅 고객 응대에 대해 모든 이벤트에 포함되는 공통 속성
<a name="chat-segment-streams-data-model-common-properties"></a>

모든 이벤트에는 다음 속성이 포함됩니다.

**버전**  
이벤트 스키마의 버전입니다. 채팅 고객 응대의 경우 2.0.0입니다.  
유형: 문자열

**채널**  
이 고객 응대 채널의 유형입니다.  
유형: 문자열  
유효한 값: `VOICE`, `CHAT`, `TASK`   
채널에 대한 자세한 내용은 [Amazon Connect에서 연락처를 라우팅하기 위한 채널 및 동시성](channels-and-concurrency.md) 섹션을 참조하세요.

**AccountId**  
이 고객 응대가 이루어지는 계정의 식별자.  
유형: 문자열

**InstanceId**  
이 인스턴스가 이루어지는 계정의 식별자.  
유형: 문자열 

**ContactId**  
분석 중인 고객 응대의 식별자.  
유형: 문자열

**StreamingEventType**  
게시된 이벤트 유형입니다.  
유형: 문자열   
유효값: `STARTED`, `SEGMENTS`, `COMPLETED`, `FAILED` 

**StreamingSettings**  
이 고객 응대의 Contact Lens 설정  
유형: [StreamingSettings](#streamingsettingsobject) 객체 

## StreamingSettings 객체
<a name="streamingsettingsobject"></a>

**LanguageCode**  
이 고객 응대와 관련된 언어 코드.  
유형: 문자열   
유효한 값: [Contact Lens 실시간 통화 분석에 지원되는 언어](supported-languages.md#supported-languages-contact-lens) 중 하나에 대한 언어 코드.

**출력**  
이 고객 응대에 대해 활성화된 Contact Lens 출력 유형입니다.  
유형: 문자열  
유효한 값: `Raw`, `Redacted`, `RedactedAndRaw` 

**RedactionTypes**  
이 연락처에 대해 활성화된 수정 유형입니다.  
유형: Array of Strings  
유효한 값: `PII` 

**RedactionTypesMetadata**  
각 수정 유형에 대한 수정 메타데이터입니다.  
유형: [RedactionMetadata](#redactionmetadata) 객체에 대한 RedactionType 문자열   
유효한 값: `PII` 

## RedactionMetadata 객체
<a name="redactionmetadata"></a>

수정 설정에 대한 정보를 제공합니다.

**RedactionMaskMode**  
데이터 수정 대체 설정  
유형: 문자열   
유효값: `PII`, `EntityType` 

## STARTED 이벤트
<a name="chat-segment-streams-data-model-started-event"></a>

`STARTED` 이벤트에는 공통 속성만 포함됩니다.
+ 버전
+ 채널
+ AccountId
+ ContactId
+ StreamingEventType : STARTED
+ StreamingSettings

## SEGMENTS 이벤트
<a name="chat-segment-streams-data-model-segments-event"></a>

`SEGMENTS` 이벤트에는 다음 속성이 포함됩니다.
+ 버전
+ 채널
+ AccountId
+ OutputType
  + 현재 세그먼트의 Contact Lens 출력 유형
  + 유형: 문자열
  + 유효값: `Raw`, `Redacted` 
+ ContactId
+ StreamingEventType : SEGMENT
+ StreamingSettings
+ Segments
  + 분석된 정보가 포함된 세그먼트 목록입니다.
  + 유형: [세그먼트](#chat-segment) 객체 배열

**세그먼트**  
실시간 분석 세션의 분석된 세그먼트.  
각 세그먼트는 다음과 같은 선택적 속성을 가진 객체입니다. 세그먼트 유형에 따라 이러한 속성 중 하나만 표시됩니다.  
+  [첨부 파일](#chat-attachments)
+  [Categories](#chat-category)
+  [Event](#chat-event)
+  [문제](#chat-issues)
+  [Transcript](#chat-transcript)
+ [PostContactSummary](#chat-postcontactsummary)

**첨부 파일**  
분석된 첨부 파일입니다.  
필수 여부: 아니요  
유형: [RealTimeContactAnalysisSegmentAttachments](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentAttachments.html) 객체

**Categories**  
일치하는 범주 규칙.  
유형: [RealTimeContactAnalysisSegmentCategories](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentCategories.html) 객체  
필수 여부: 아니요

**Event**  
고객 응대 이벤트를 설명하는 세그먼트 유형입니다.  
유형: [RealTimeContactAnalysisSegmentEvent](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentEvent.html) 객체  
필수 여부: 아니요

**문제**  
감지된 문제 목록이 포함된 세그먼트 유형입니다.  
유형: [RealTimeContactAnalysisSegmentIssues](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentIssues.html) 객체  
필수 여부: 아니요

**Transcript**  
분석된 트랜스크립트 세그먼트입니다.  
유형: [RealTimeContactAnalysisSegmentTranscript](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentTranscript.html) 객체  
필수 여부: 아니요

**PostContactSummary**  
채팅용 실시간 고객 응대 세그먼트의 고객 응대 후 요약에 대한 정보입니다.  
유형: [RealTimeContactAnalysisSegmentPostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentPostContactSummary.html) 객체   
필수 여부: 아니요

## COMPLETED 이벤트
<a name="chat-segment-streams-data-model-completed-event"></a>

`COMPLETED` 이벤트에는 다음 공통 속성만 포함됩니다.
+ 버전
+ 채널
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType: COMPLETED
+ StreamingSettings

## FAILED 이벤트
<a name="chat-segment-streams-data-model-failed-event"></a>

`FAILED` 이벤트에는 다음 공통 속성만 포함됩니다.
+ 버전
+ 채널
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType: FAILED
+ StreamingSettings

# Contact Lens를 사용하여 통화를 분석하기 위한 샘플 대화 분석 세그먼트 스트림
<a name="sample-real-time-contact-analysis-segment-stream"></a>

이 주제에서는 음성 고객 응대 중에 발생할 수 있는 STARTED, SEGMENTS, COMPLETED 및 FAILED 이벤트의 샘플 세그먼트 스트림을 제공합니다.

## 샘플 SARTELED 이벤트
<a name="sample-started-event"></a>
+ EventType: STARTED
+ 대화 분석 세션이 시작될 때 게시됩니다.

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "STARTED"
}
```

## 샘플 SEGMENTS 이벤트
<a name="sample-segments-event"></a>
+ EventType: SEGMENTS
+ 대화 분석 세션 중에 게시되었습니다. 이 이벤트에는 분석된 정보가 포함된 세그먼트 목록이 포함되어 있습니다. 세그먼트 목록에는 ‘`Utterance`’, ‘`Transcript`’, ‘`Categories`’ 또는 ‘`PostContactSummary`’ 세그먼트가 포함될 수 있습니다.

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "SEGMENTS",
    "Segments": [
        {
            "Utterance": {
                "Id": "7b48ca3d-73d3-443a-bf34-a9e8fcc01747",
                "TranscriptId": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "PartialContent": "Hello, thank you for calling Example Corp. My name is Adam.",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 22980
            }
        },
        {
            "Utterance": {
                "Id": "75acb743-2154-486b-aaeb-c960ae290e88",
                "TranscriptId": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "PartialContent": "How can I help you?",
                "BeginOffsetMillis": 23000,
                "EndOffsetMillis": 24598
            }
        },
        {
            "Transcript": {
                "Id": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "Content": "Hello, thank you for calling Example Corp. My name is Adam. How can I help you?",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 24598,
                "Sentiment": "NEUTRAL"
            }
        },
        {
            "Transcript": {
                "Id": "4295e927-43aa-4447-bbfc-8fccc2027530",
                "ParticipantId": "CUSTOMER",
                "ParticipantRole": "CUSTOMER",
                "Content": "I'm having trouble submitting the application, number AX876293 on the portal. I tried but couldn't connect to my POC on the portal. So, I'm calling on this toll free number",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 22690,
                "Sentiment": "NEGATIVE",
                "IssuesDetected": [
                    {
                        "CharacterOffsets": {
                            "BeginOffsetChar": 0,
                            "EndOffsetChar": 81
                        }
                    }
                ]
            }
        },
        {
            "Categories": {
                "MatchedCategories": [
                    "CreditCardRelated",
                    "CardBrokenIssue"
                ],
                "MatchedDetails": {
                    "CreditCardRelated": {
                        "PointsOfInterest": [
                            {
                                "BeginOffsetMillis": 19010,
                                "EndOffsetMillis": 22690
                            }
                        ]
                    },
                    "CardBrokenIssue": {
                        "PointsOfInterest": [
                            {
                                "BeginOffsetMillis": 25000,
                                "EndOffsetMillis": 29690
                            }
                        ]
                    }
                }
            }
        },
        {
            "PostContactSummary": {
                "Content": "Customer contacted Example Corp because of an issue with their application",
                "Status": "COMPLETED"
            }
        }
    ]
}
```

## 샘플 COMPLETED 이벤트
<a name="sample-completed-event"></a>
+ EventType: COMPLETED
+ 분석이 성공적으로 완료된 경우 대화 분석 세션이 끝날 때 게시됩니다.

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "COMPLETED"
}
```

## 샘플 FAILED 이벤트
<a name="sample-failed-event"></a>
+ EventType: FAILED
+ 분석에 실패한 경우 대화 분석 세션이 끝날 때 게시됩니다.

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "FAILED"
}
```

# Contact Lens에서 채팅을 분석하기 위한 샘플 대화 분석 스트림
<a name="chat-sample-real-time-contact-analysis-segment-stream"></a>

이 주제에서는 채팅 고객 응대 중에 발생하는 STARTED, SEGMENTS, COMPLETED 및 FAILED 이벤트의 샘플 세그먼트 스트림을 제공합니다.

## 샘플 SARTELED 이벤트
<a name="chat-sample-started-event"></a>
+ EventType: STARTED
+ 대화 분석 세션이 시작될 때 게시됩니다.

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "STARTED",
    "StreamingSettings": {
      "LanguageCode": "en-US", // the language code of the contact
      "Output": "RedactedAndRaw",
      "RedactionTypes": [
          "PII"
      ],
      "RedactionTypesMetadata": {
        "PII": {
            "RedactionMaskMode": "PII"
         }
       }
    }
}
```

## 샘플 SEGMENTS 이벤트
<a name="chat-sample-segments-event"></a>
+ EventType: [SEGMENTS](chat-real-time-contact-analysis-segment-streams-data-model.md#chat-segment-streams-data-model-segments-event) 
+ 대화 분석 세션 중에 게시되었습니다. 이 이벤트에는 분석된 정보가 포함된 [RealtimeContactAnalysisSegment](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealtimeContactAnalysisSegment.html) 객체 목록이 포함되어 있습니다. 세그먼트 목록에는 `"Transcript"`, `"Categories"`, `"Issue"`, `"Event"`, `"Attachment"`, 또는 ‘PostContactSummary’ 세그먼트가 포함될 수 있습니다.

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "OutputType": "Redacted",
    "StreamingEventType": "SEGMENTS",
    "StreamingSettings": {
        "LanguageCode": "en-US", // the language code of the contact
        "Output": "RedactedAndRaw",
        "RedactionTypes": [
            "PII"
        ],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    },
    "Segments": [{
        "Transcript": {
            "Id": "07a2d668-5c9e-4f69-b2fe-986261b0743a",
            "ParticipantId": "a309ac1e-ca87-44ca-bb5d-197eca8ed77a",
            "ParticipantRole": "AGENT",
            "DisplayName": "[PII]",
            "Content": "Hello, thank you for contacting Example Corp. My name is Ray.",
            "ContentType": "text/markdown",
            "Time": {
                "AbsoluteTime": "2024-03-14T19:39:26.715Z"
            },
            "Sentiment": "NEUTRAL"
        }
    }, {
        "Categories": {
            "MatchedDetails": {
                "Hi": {
                    "PointsOfInterest": [{
                        "TranscriptItems": [{
                            "Id": "5205b050-8aa9-4645-a381-a308801649ab",
                            "CharacterOffsets": {
                                "BeginOffsetChar": 0,
                                "EndOffsetChar": 40
                            }
                        }]
                    }]
                }
            }
        }
    }, {
        "Issues": {
            "IssuesDetected": [{
                "TranscriptItems": [{
                    "Content": "I have an issue with my bank account",
                    "Id": "0e5574a7-2aeb-4eab-8bb5-3a7f66a2284a",
                    "CharacterOffsets": {
                        "BeginOffsetChar": 7,
                        "EndOffsetChar": 43
                    }
                }]
            }]
        }
    }, {
        "Attachments": {
            "Id": "06ddc1eb-2302-4a8e-a73f-37687fe41aa9",
            "ParticipantId": "7810b1de-cca8-4153-b522-2498416255af",
            "ParticipantRole": "CUSTOMER",
            "DisplayName": "Customer",
            "Attachments": [{
                "AttachmentName": "Lily.jpg",
                "ContentType": "image/jpeg",
                "AttachmentId": "343e34da-391a-4541-8b7e-3909d931fcfa",
                "Status": "APPROVED"
            }],
            "Time": {
                "AbsoluteTime": "2024-03-14T19:39:26.715Z"
            }
        }
    }, {
        "Event": {
            "Id": "fbe61c5f-d0d8-4345-912a-4e81f5734d3b",
            "ParticipantId": "7810b1de-cca8-4153-b522-2498416255af",
            "ParticipantRole": "CUSTOMER",
            "DisplayName": "Customer",
            "EventType": "application/vnd.amazonaws.connect.event.participant.left",
            "Time": {
                "AbsoluteTime": "2024-03-14T19:40:00.614Z"
            }
        }
    },
    {
        "PostContactSummary": {
            "Content": "Customer contacted Example Corp because of an issue with their bank account",
            "Status": "COMPLETED"
        }
    }]
}
```

## 샘플 COMPLETED 이벤트
<a name="chat-sample-completed-event"></a>
+ EventType: COMPLETED
+ 분석이 성공적으로 완료된 경우 대화 분석 세션이 끝날 때 게시됩니다.

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "COMPLETED",
    "StreamingEventSettings": {
        "LanguageCode": "en-US", // the language code of the contact
        "Output": "RedactedAndRaw",
        "RedactionTypes": ["PII"],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    }
}
```

## 샘플 FAILED 이벤트
<a name="chat-sample-failed-event"></a>
+ EventType: FAILED
+ 분석에 실패한 경우 대화 분석 세션이 끝날 때 게시됩니다.

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "FAILED",
    "StreamingEventSettings": {
        "LanguageCode": "en-US",
        "Output": "RedactedAndRaw",
        "RedactionTypes": ["PII"],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    }
}
```

# Contact Lens 대화 분석으로 분석한 파일의 출력 파일 위치
<a name="example-contact-lens-output-locations"></a>

다음은 Contact Lens 대화 분석 출력 파일이 인스턴스의 Amazon S3 버킷에 저장되었을 때 경로가 어떻게 보이는지 보여 주는 예시입니다.
+ 원본 분석 기록 파일(JSON)
  + /connect-instance- bucket/**Analysis/Voice**/2020/02/04/*contact's\$1ID*\$1analysis\$12020-02-04T21:14:16Z.json
  + /connect-instance- bucket/**Analysis/Voice**/2020/02/04/*contact's\$1ID*\$1analysis\$12020-02-04T21:14:16Z.json
  + /connect-instance- bucket/**Analysis/Email**/2026/03/10/*contact's\$1ID*\$1analysis\$120260310T22:35\$1UTC.json
+ 수정된 분석 기록 파일(JSON)
  + /connect-instance- bucket/**Analysis/Voice/Redacted**/2020/02/04/*contact's\$1ID*\$1**analysis\$1redacted**\$12020-02-04T21:14:16Z.json
  + /connect-instance- bucket/**Analysis/Chat/Redacted**/2020/02/04/*contact's\$1ID*\$1**analysis\$1redacted**\$12020-02-04T21:14:16Z.json
  + /connect-instance- bucket/**Analysis/Email/Redacted**/2026/03/10/*contact's\$1ID*\$1**analysis\$1redacted**\$120260310T22:35\$1UTC.json
+ 수정된 오디오 파일
  + /connect-instance- bucket/**Analysis/Voice/Redacted**/2020/02/04/*contact's\$1ID*\$1**call\$1recording\$1redacted**\$12020-02-04T21:14:16Z.**wav**

**중요**  
녹화를 삭제하려면 수정된 녹화와 수정되지 않은 녹화의 파일을 모두 삭제해야 합니다.

# 통화에 대한 Contact Lens 대화 분석 출력 파일 예시
<a name="contact-lens-example-output-files"></a>

다음 섹션에서는 Contact Lens 대화 분석에서 문제를 감지하고, 범주를 일치시키고, 음량을 표시하고, 민감한 데이터를 편집하고, 분석을 건너뛸 때 발생하는 출력의 예를 제공합니다.

각 섹션을 펼쳐 자세히 알아보세요.

## Contact Lens 대화 분석으로 분석한 통화의 원본 파일 예시
<a name="example-original-output-file"></a>

다음 예제에서는 Contact Lens 대화 분석이 분석한 통화의 스키마를 보여 줍니다. 이 예제에서는 대화 음량, 문제 탐지, 통화 드라이버, 수정될 정보 등을 보여 줍니다.

분석된 파일에 대해 다음을 참조하세요.
+ 어떤 민감한 데이터가 수정되었는지는 포함하지 않습니다. 모든 데이터를 개인 식별 정보(PII)라고 합니다.
+ 각 턴에는 PII가 포함된 경우에만 `Redaction` 섹션이 포함됩니다.
+ `Redaction` 섹션이 있는 경우 오프셋은 밀리초 단위로 포함됩니다. .wav 파일에서는 수정된 부분이 무음으로 표시됩니다. 원하는 경우 오프셋을 사용하여 무음을 경고음과 같은 다른 것으로 바꿀 수 있습니다.
+ 한 턴에 두 개 이상의 PII 수정이 있는 경우 첫 번째 오프셋은 첫 번째 PII에 적용되고 두 번째 오프셋은 두 번째 PII에 적용되는 방식으로 진행됩니다.

```
{
  "Version": "1.1.0",    
  "AccountId": "your AWS account ID",
  "Channel": "VOICE",
  "ContentMetadata": {
      "Output": "Raw" 
  },
  "JobStatus": "COMPLETED",
  "JobDetails": {
    "SkippedAnalysis": [
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "QUOTA_EXCEEDED", 
            "SkippedEntities": [
                {
                    "CategoryName": "PotentialFraud"
                    "RuleId": "a1130485-9529-4249-a1d4-5738b4883748"
                },
                {
                    "CategoryName": "Refund"
                    "RuleId": "bbbbbbb-9529-4249-a1d4-5738b4883748"
                }
            ]
        },
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "FAILED_SAFETY_GUIDELINES", 
            "SkippedEntities": [
                {
                    "CategoryName": "ManagerEscalation"
                    "RuleId": "cccccccc-9529-4249-a1d4-5738b4883748"
                },
            ]
        },
    ]
  },
  "LanguageCode": "en-US",
  "Participants": [
      {
          "ParticipantId": "CUSTOMER",
          "ParticipantRole": "CUSTOMER"
      },
      
      {
          "ParticipantId": "AGENT",
          "ParticipantRole": "AGENT"
      }
  ],
  "Categories": {
      "MatchedCategories": ["Cancellation"],
      "MatchedDetails": {
          "Cancellation": {
              "PointsOfInterest": [
                  {
                      "BeginOffsetMillis": 7370,
                      "EndOffsetMillis": 11190
                  }
              ]
          }
      }
  },
  "ConversationCharacteristics": {
     "ContactSummary": {
          "PostContactSummary": {
           "Content": "The customer and agent's conversation did not have any clear issues, outcomes or next steps. Agent verified customer information and finished the call."
           }
      },
     "TotalConversationDurationMillis": 32110,
      "Sentiment": {
          "OverallSentiment": {
              "AGENT": 0,
              "CUSTOMER": 3.1
          },
          "SentimentByPeriod": {
              "QUARTER": {
                  "AGENT": [
                      {
                          "BeginOffsetMillis": 0,
                          "EndOffsetMillis": 7427,
                          "Score": 0
                      },
                      {
                          "BeginOffsetMillis": 7427,
                          "EndOffsetMillis": 14855,
                          "Score": -5
                      },
                      {
                          "BeginOffsetMillis": 14855,
                          "EndOffsetMillis": 22282,
                          "Score": 0
                      },
                      {
                          "BeginOffsetMillis": 22282,
                          "EndOffsetMillis": 29710,
                          "Score": 5
                      }
                  ],
                  "CUSTOMER": [
                      {
                          "BeginOffsetMillis": 0,
                          "EndOffsetMillis": 8027,
                          "Score": -2.5
                      },
                      {
                          "BeginOffsetMillis": 8027,
                          "EndOffsetMillis": 16055,
                          "Score": 5
                      },
                      {
                          "BeginOffsetMillis": 16055,
                          "EndOffsetMillis": 24082,
                          "Score": 5
                      },
                      {
                          "BeginOffsetMillis": 24082,
                          "EndOffsetMillis": 32110,
                          "Score": 5
                      }
                  ]
              }
          }
      },
      "Interruptions": {
        "InterruptionsByInterrupter": {
            "CUSTOMER": [
                {
                    "BeginOffsetMillis": 10710,
                    "DurationMillis": 3790,
                    "EndOffsetMillis": 14500
                }
            ],
            "AGENT": [
                {
                    "BeginOffsetMillis": 10710,
                    "DurationMillis": 3790,
                    "EndOffsetMillis": 14500
                }
            ]
        },
        "TotalCount": 2,
        "TotalTimeMillis": 7580
      },
      "NonTalkTime": {
          "TotalTimeMillis": 0,
          "Instances": []
      },
      "TalkSpeed": {
          "DetailsByParticipant": {
              "AGENT": {
                  "AverageWordsPerMinute": 239
              },
              "CUSTOMER": {
                  "AverageWordsPerMinute": 163
              }
          }
      },
      "TalkTime": {
          "TotalTimeMillis": 28698,
          "DetailsByParticipant": {
              "AGENT": {
                  "TotalTimeMillis": 15079
              },
              "CUSTOMER": {
                  "TotalTimeMillis": 13619
              }
          }
      }
  },
  "CustomModels": [
      {    // set via https://docs.aws.amazon.com/connect/latest/adminguide/add-custom-vocabulary.html             
           "Type": "TRANSCRIPTION_VOCABULARY",
           "Name": "ProductNames",  
           "Id": "4e14b0db-f00a-451a-8847-f6dbf76ae415" // optional field
      }
  ],
  "Transcript": [
      {
          "BeginOffsetMillis": 0,
          "Content": "Okay.",
          "EndOffsetMillis": 90,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              79.27
          ]
      },
      {
          "BeginOffsetMillis": 160,
          "Content": "Just hello. My name is Peter and help.",
          "EndOffsetMillis": 4640,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              66.56,
              40.06,
              85.27,
              82.22,
              77.66
          ],
          "Redaction": {
              "RedactedTimestamps": [
                  {
                      "BeginOffsetMillis": 3290,
                      "EndOffsetMillis": 3620
                  }
              ]
          }
      },
      {
          "BeginOffsetMillis": 4640,
          "Content": "Hello. Peter, how can I help you?",
          "EndOffsetMillis": 6610,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              70.23,
              73.05,
              71.8
          ],
          "Redaction": {
              "RedactedTimestamps": [
                  {
                      "BeginOffsetMillis": 5100,
                      "EndOffsetMillis": 5450
                  }
              ]
          }
      },
      {
          "BeginOffsetMillis": 7370,
          "Content": "I need to cancel. I want to cancel my plan subscription.",
          "EndOffsetMillis": 11190,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "NEGATIVE",
          "LoudnessScore": [
              77.18,
              79.59,
              85.23,
              81.08,
              73.99
          ],
          "IssuesDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 0,
                      "EndOffsetChar": 55
                  },
                  "Text": "I need to cancel. I want to cancel my plan subscription"
              }
          ]
      },
      {
          "BeginOffsetMillis": 11220,
          "Content": "That sounds very bad. I can offer a 20% discount to make you stay with us.",
          "EndOffsetMillis": 15210,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEGATIVE",
          "LoudnessScore": [
              75.92,
              75.79,
              80.31,
              80.44,
              76.31
          ]
      },
      {
          "BeginOffsetMillis": 15840,
          "Content": "That sounds interesting. Thank you accept.",
          "EndOffsetMillis": 18120,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              73.77,
              79.17,
              77.97,
              79.29
          ]
      },
      {
          "BeginOffsetMillis": 18310,
          "Content": "Alright, I made all the changes to the account and now these discounts applied.",
          "EndOffsetMillis": 21820,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              83.88,
              86.75,
              86.97,
              86.11
          ],
          "OutcomesDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 9,
                      "EndOffsetChar": 77
                  },
                  "Text": "I made all the changes to the account and now these discounts applied"
              }
          ]
      },
      {
          "BeginOffsetMillis": 22610,
          "Content": "Awesome. Thank you so much.",
          "EndOffsetMillis": 24140,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              79.11,
              81.7,
              78.15
          ]
      },
      {
          "BeginOffsetMillis": 24120,
          "Content": "No worries. I will send you all the details later today and call you back next week to check up on you.",
          "EndOffsetMillis": 29710,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              87.07,
              83.96,
              76.38,
              88.38,
              87.69,
              76.6
          ],
          "ActionItemsDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 12,
                      "EndOffsetChar": 102
                  },
                  "Text": "I will send you all the details later today and call you back next week to check up on you"
              }
          ]
      },
      {
          "BeginOffsetMillis": 30580,
          "Content": "Thank you. Sir. Have a nice evening.",
          "EndOffsetMillis": 32110,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              81.42,
              82.29,
              73.29
          ]
      }
  ]    
  }
}
```

## Contact Lens 대화 분석으로 분석한 통화의 편집된 파일 예시
<a name="example-redacted-file"></a>

이 섹션에서는 Contact Lens 대화 분석으로 분석한 후 통화의 수정된 파일 예시를 보여 줍니다. 원본 분석 파일과 쌍둥이 파일입니다. 유일한 차이점은 민감한 데이터가 수정된다는 것입니다. 이 예제에서는 세 개의 엔터티 '`CREDIT_DEBIT_NUMBER`', '`NAME`', '`USERNAME`'이 수정을 위해 선택되었습니다.

이 예에서는 `RedactionMaskMode`가 PII로 설정되어 있습니다. 엔터티가 수정되면 Contact Lens가 이를 `[PII]`로 대체합니다. `ENTITY_TYPE`으로 설정된 경우 Contact Lens는 데이터를 엔티티의 이름(예: `[CREDIT_DEBIT_NUMBER]`)으로 대체합니다.

```
{
  "Version": "1.1.0", 
  "AccountId": "your AWS account ID",
  "ContentMetadata": {
      "Output": "Redacted",
      "RedactionTypes": ["PII"],
      "RedactionTypesMetadata": {
          "PII": {
              "RedactionEntitiesRequested": ["CREDIT_DEBIT_NUMBER", "NAME", "USERNAME"],
              "RedactionMaskMode": "PII" // if you were to choose ENTITY_TYPE instead, the redaction would say, for example, [NAME]
          }
      }
  },
  "Channel": "VOICE",
  "JobStatus": "COMPLETED",
  "JobDetails": {
    "SkippedAnalysis": [
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "QUOTA_EXCEEDED", 
            "SkippedEntities": [
                {
                    "CategoryName": "PotentialFraud"
                    "RuleId": "a1130485-9529-4249-a1d4-5738b4883748"
                },
                {
                    "CategoryName": "Refund"
                    "RuleId": "bbbbbbb-9529-4249-a1d4-5738b4883748"
                }
            ]
        },
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "FAILED_SAFETY_GUIDELINES", 
            "SkippedEntities": [
                {
                    "CategoryName": "ManagerEscalation"
                    "RuleId": "cccccccc-9529-4249-a1d4-5738b4883748"
                },
            ]
        },
    ]
  },
  "LanguageCode": "en-US",
  "Participants": [
      {
          "ParticipantId": "CUSTOMER",
          "ParticipantRole": "CUSTOMER"
      },
      
      {
          "ParticipantId": "AGENT",
          "ParticipantRole": "AGENT"
      }
  ],
  "Categories": {
      "MatchedCategories": ["Cancellation"],
      "MatchedDetails": {
          "Cancellation": {
              "PointsOfInterest": [
                  {
                      "BeginOffsetMillis": 7370,
                      "EndOffsetMillis": 11190
                  }
              ]
          }
      }
  }, 
  "ConversationCharacteristics": {
       "ContactSummary": {
             "PostContactSummary": {
               "Content": "The customer and agent's conversation did not have any clear issues, outcomes or next steps. Agent verified customer information and finished the call."
              }
      },
      "TotalConversationDurationMillis": 32110,
      "Sentiment": {
          "OverallSentiment": {
              "AGENT": 0,
              "CUSTOMER": 3.1
          },
          "SentimentByPeriod": {
              "QUARTER": {
                  "AGENT": [
                      {
                          "BeginOffsetMillis": 0,
                          "EndOffsetMillis": 7427,
                          "Score": 0
                      },
                      {
                          "BeginOffsetMillis": 7427,
                          "EndOffsetMillis": 14855,
                          "Score": -5
                      },
                      {
                          "BeginOffsetMillis": 14855,
                          "EndOffsetMillis": 22282,
                          "Score": 0
                      },
                      {
                          "BeginOffsetMillis": 22282,
                          "EndOffsetMillis": 29710,
                          "Score": 5
                      }
                  ],
                  "CUSTOMER": [
                      {
                          "BeginOffsetMillis": 0,
                          "EndOffsetMillis": 8027,
                          "Score": -2.5
                      },
                      {
                          "BeginOffsetMillis": 8027,
                          "EndOffsetMillis": 16055,
                          "Score": 5
                      },
                      {
                          "BeginOffsetMillis": 16055,
                          "EndOffsetMillis": 24082,
                          "Score": 5
                      },
                      {
                          "BeginOffsetMillis": 24082,
                          "EndOffsetMillis": 32110,
                          "Score": 5
                      }
                  ]
              }
          }
      },
      "Interruptions": {
        "InterruptionsByInterrupter": {
            "CUSTOMER": [
                {
                    "BeginOffsetMillis": 10710,
                    "DurationMillis": 3790,
                    "EndOffsetMillis": 14500
                }
            ],
            "AGENT": [
                {
                    "BeginOffsetMillis": 10710,
                    "DurationMillis": 3790,
                    "EndOffsetMillis": 14500
                }
            ]
        },
        "TotalCount": 2,
        "TotalTimeMillis": 7580
      },  
      "NonTalkTime": {
          "TotalTimeMillis": 0,
          "Instances": []
      },
      "TalkSpeed": {
          "DetailsByParticipant": {
              "AGENT": {
                  "AverageWordsPerMinute": 239
              },
              "CUSTOMER": {
                  "AverageWordsPerMinute": 163
              }
          }
      },
      "TalkTime": {
          "TotalTimeMillis": 28698,
          "DetailsByParticipant": {
              "AGENT": {
                  "TotalTimeMillis": 15079
              },
              "CUSTOMER": {
                  "TotalTimeMillis": 13619
              }
          }
      }
  },
  "CustomModels": [
      {   // set via https://docs.aws.amazon.com/connect/latest/adminguide/add-custom-vocabulary.html
           "Type": "TRANSCRIPTION_VOCABULARY",
           "Name": " LNK POPProductNames",  
           "Id": "4e14b0db-f00a-451a-8847-f6dbf76ae415" // optional field
      }
  ],  
  "Transcript": [
      {
          "BeginOffsetMillis": 0,
          "Content": "Okay.",
          "EndOffsetMillis": 90,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              79.27
          ]
      },
      {
          "BeginOffsetMillis": 160,
          "Content": "Just hello. My name is [PII] and help.",  
          "EndOffsetMillis": 4640,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              66.56,
              40.06,
              85.27,
              82.22,
              77.66
          ],
          "Redaction": {
              "RedactedTimestamps": [
                  {
                      "BeginOffsetMillis": 3290,
                      "EndOffsetMillis": 3620
                  }
              ]
          }
      },
      {
          "BeginOffsetMillis": 4640,
          "Content": "Hello. [PII], how can I help you?",
          "EndOffsetMillis": 6610,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              70.23,
              73.05,
              71.8
          ],
          "Redaction": {
              "RedactedTimestamps": [
                  {
                      "BeginOffsetMillis": 5100,
                      "EndOffsetMillis": 5450
                  }
              ]
          }
      },
      {
          "BeginOffsetMillis": 7370,
          "Content": "I need to cancel. I want to cancel my plan subscription.",
          "EndOffsetMillis": 11190,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "NEGATIVE",
          "LoudnessScore": [
              77.18,
              79.59,
              85.23,
              81.08,
              73.99
          ],
          "IssuesDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 0,
                      "EndOffsetChar": 55
                  },
                  "Text": "I need to cancel. I want to cancel my plan subscription"
              }
          ]
      },
      {
          "BeginOffsetMillis": 11220,
          "Content": "That sounds very bad. I can offer a 20% discount to make you stay with us.",
          "EndOffsetMillis": 15210,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEGATIVE",
          "LoudnessScore": [
              75.92,
              75.79,
              80.31,
              80.44,
              76.31
          ]
      },
      {
          "BeginOffsetMillis": 15840,
          "Content": "That sounds interesting. Thank you accept.",
          "EndOffsetMillis": 18120,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              73.77,
              79.17,
              77.97,
              79.29
          ]
      },
      {
          "BeginOffsetMillis": 18310,
          "Content": "Alright, I made all the changes to the account and now these discounts applied.",
          "EndOffsetMillis": 21820,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              83.88,
              86.75,
              86.97,
              86.11
          ],
          "OutcomesDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 9,
                      "EndOffsetChar": 77
                  },
                  "Text": "I made all the changes to the account and now these discounts applied"
              }
          ]
      },
      {
          "BeginOffsetMillis": 22610,
          "Content": "Awesome. Thank you so much.",
          "EndOffsetMillis": 24140,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              79.11,
              81.7,
              78.15
          ]
      },
      {
          "BeginOffsetMillis": 24120,
          "Content": "No worries. I will send you all the details later today and call you back next week to check up on you.",
          "EndOffsetMillis": 29710,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              87.07,
              83.96,
              76.38,
              88.38,
              87.69,
              76.6
          ],
          "ActionItemsDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 12,
                      "EndOffsetChar": 102
                  },
                  "Text": "I will send you all the details later today and call you back next week to check up on you"
              }
          ]
      },
      {
          "BeginOffsetMillis": 30580,
          "Content": "Thank you. Sir. Have a nice evening.",
          "EndOffsetMillis": 32110,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              81.42,
              82.29,
              73.29
          ]
      }
  ]    
}
```

# Contact Lens 대화 분석으로 분석한 채팅의 Contact Lens 출력 파일 예
<a name="contact-lens-example-output-files-chat"></a>

이 섹션에서는 Contact Lens 대화 분석이 분석한 채팅 대화의 예시 스키마를 보여 줍니다. 이 예제에서는 추론된 감정, 일치하는 범주, 고객 응대 요약, 응답 시간을 보여 줍니다.

분석된 원본 파일에는 전체 채팅 기록이 포함되어 있습니다. **고객 응대 세부 정보** 페이지의 채팅 **트랜스크립트** 필드에 있는 것과 동일한 콘텐츠가 원본 Contact Lens 분석 파일의 `Transcript` 필드에도 있습니다. 또한 분석된 파일에는 수정된 분석 파일에 수정된 데이터가 있음을 나타내는 `Redaction` 섹션 등 더 많은 필드가 포함될 수 있습니다.

**참고**  
 일부 `ConversationCharacteristics`에는 참가자 역할이 키인 `DetailsByParticipantRole` 맵이 포함됩니다. 하지만 `Participants` 목록에 있는 모든 역할(예: `CUSTOMER` 또는`AGENT`)이 `DetailsByParticipantRole` 객체에 해당 키를 포함한다고 보장되는 것은 아닙니다. 참가자의 키 존재 여부는 Contact Lens 분석에 적합한 데이터가 있는지 여부에 따라 달라집니다.

## Categories
<a name="chat-categories"></a>

`PointsOfInterest`는 채팅 후 범주와 통화 후 범주가 다릅니다.
+ 통화 후 `PointsOfInterest`의 오프셋은 밀리초입니다.
+ 채팅 후 `PointsOfInterest`에는 `TranscriptItems` 배열이 있으며 각 항목에는 `id` 및 `CharacterOffset`이 있습니다.

`PointsOfInterest`의 배열은 다음과 같습니다. 각 배열에는 `TranscriptItems` 배열이 있습니다. 각 `PointOfInterest`에는 범주 일치를 위한 것이지만, 각 일치 항목은 여러 기록 항목에 걸쳐 있을 수 있습니다.

통화와 채팅 모두에 대해 `PointsOfInterest` 배열은 비어 있을 수 있습니다. 즉, 전체 고객 응대에 대해 범주가 일치합니다. 예를 들어 연락처에 `Hello`가 언급되지 않은 경우 범주를 일치시키는 규칙을 만들면 기록에서 이 조건을 정확히 찾아낼 수 있는 부분이 없습니다.

**참고**  
현재 범주는 `text/plain`, `text/markdown` 채팅 메시지에 대해서만 유추됩니다.

## 주요 하이라이트
<a name="chat-contactsummary"></a>

**주요 하이라이트**는 `ConversationCharacteristics.ContactSummary.SummaryItemsDetected` 배열에 있습니다. `Issue`, `Outcome` 및 `Action` 항목은 한 세트만 찾을 수 있다는 점을 강조하기 위해 해당 배열에는 두 개 이상의 항목이 포함될 수 없습니다.

배열의 각 객체에는 다음과 같은 필드가 있습니다. `IssuesDetected`,`OutcomesDetected`,`ActionItemsDetected`

각 필드에는 `Id` 및 `CharacterOffsets`이 있는 `TranscriptItems` 배열이 있습니다. 이러한 필드에는 해당 고객 응대 요약이 포함된 것으로 확인된 특정 부분(문제, 결과 또는 작업 항목)과 `TranscriptItems`이 설명되어 있습니다.

**참고**  
현재 주요 하이라이트는 `text/plain` 채팅 메시지에만 추론됩니다.

## 감정
<a name="chat-sentiment"></a>

### 전체 감정
<a name="chat-overallsentiment"></a>

고객 응대 참가자의 `DetailsByParticipantRole` 필드 감정 점수는 음성 분석용 Contact Lens 파일과 비슷합니다.

`DetailsByInteraction` 필드에는 `WithAgent` 및 `WithoutAgent` 채팅 상호 작용의 일부에 대한 `CUSTOMER` 감정 점수가 있습니다. 해당 상호 작용 부분에 고객 메시지가 없는 경우에는 해당 필드가 비어 있습니다.

**참고**  
현재 감정 유추 기능은 `text/plain`, `text/markdown` 채팅 메시지에 대해서만 지원됩니다.

### 감정 변화
<a name="chat-sentimentshift"></a>

`DetailsByParticipantRole` 필드에는 고객 응대 참여자(즉,`AGENT`,`CUSTOMER`)의 감정 변화를 설명하는 객체 `BeginScore` 및 `EndScore`가 포함되어 있습니다.

`DetailsByInteraction` 필드에는 `WithAgent` 및 `WithoutAgent` 채팅 상호 작용의 일부에 대한 `CUSTOMER` 감정 변화가 있습니다. 해당 상호 작용 부분에 고객 메시지가 없는 경우에는 해당 필드가 비어 있습니다.

감정 변화는 채팅 상호 작용 전반에 걸쳐 참가자의 감정이 어떻게 변화했는지에 대한 정보를 제공합니다.

## 응답 시간
<a name="chat-responsetime"></a>

`AgentGreetingTimeMillis`는 `AGENT`가 채팅에 참여한 시점과 고객에게 첫 메시지를 종료한 시점 사이의 시간을 측정합니다.

`DetailsByParticipantRole`에는 각 참가자에 대해 다음과 같은 특성이 있습니다
+ `Average`: 참가자의 평균 응답 시간은 얼마입니까?
+ `Maximum`: 참가자의 가장 긴 응답 시간은 얼마입니까? 최대 응답 시간이 같은 기록 항목이 여러 개 있는 경우 어떤 항목이 해당되나요?

특정 참가자의 `Average` 및 `Maximum` 응답 시간을 계산하려면 다른 참가자의 메시지에 응답해야 합니다(`AGENT`가 `CUSTOMER`에게 응답해야 하거나 그 반대의 경우도 마찬가지입니다).

예를 들어 채팅이 종료되기 전에 `CUSTOMER`으로부터 메시지가 한 개만 있고 `AGENT`로부터 메시지가 한 개만 있는 경우 Contact Lens는 `AGENT`에 대한 응답 시간을 계산하지만 `CUSTOMER`에 대한 응답 시간은 계산하지 않습니다.

**참고**  
현재 응답 시간 유추 기능은 ` text/plain`, `text/markdown` 채팅 메시지에 대해서만 지원됩니다.

## 수정
<a name="chat-redaction"></a>

채팅의 원본 분석 파일에 대해서는 다음 사항에 유의하세요.
+ 기록 항목에는 삭제할 데이터가 있는 경우에만 `Redaction` 섹션이 포함됩니다. 이 섹션에는 수정된 분석 파일에서 수정된 데이터에 대한 문자 오프셋이 포함되어 있습니다.
+ 두 개 이상의 메시지가 삭제된 경우 첫 번째 오프셋은 첫 번째 삭제된 메시지에 적용되고, 두 번째 오프셋은 두 번째 삭제된 메시지에 적용되는 식으로 적용됩니다.

`AGENT` 및 `CUSTOMER`에 대한 `DisplayNames`는 PII가 포함되어 있으므로 삭제됩니다. 이는 `AttachmentName`에도 적용됩니다.

`CharacterOffsets`는 편집된 분석 파일에서 `Content`의 수정 변경 사항을 고려합니다. `CharacterOffsets`는 원본 콘텐츠가 아닌 수정된 콘텐츠를 설명합니다.

## 원본 채팅 파일 예시
<a name="chat-exampleoriginalfile"></a>

```
{
    "AccountId": "123456789012",
    "Categories": {
        "MatchedCategories": [
            "agent-intro"
        ],
        "MatchedDetails": {
            "agent-intro": {
                "PointsOfInterest": [
                    {
                        "TranscriptItems": [
                            {
                                "CharacterOffsets": {
                                    "BeginOffsetChar": 0,
                                    "EndOffsetChar": 73
                                },
                                "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a"
                            }
                        ]
                    }
                ]
            }
        }
    },
    "Channel": "CHAT",
    "ChatTranscriptVersion": "2019-08-26",
    "ContentMetadata": {
        "Output": "Raw"
    },
    "ConversationCharacteristics": {
        "ContactSummary": {
           "PostContactSummary": {
               "Content": "The customer and agent's conversation did not have any clear issues, outcomes or next steps. Agent verified customer information and finished the call."
               }
           },
            "SummaryItemsDetected": [
                {
                    "ActionItemsDetected": [],
                    "IssuesDetected": [
                        {
                            "TranscriptItems": [
                                {
                                    "CharacterOffsets": {
                                        "BeginOffsetChar": 72,
                                        "EndOffsetChar": 244
                                    },
                                    "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df"
                                }
                            ]
                        }
                    ]
                    "OutcomesDetected": [
                        {
                            "TranscriptItems": [
                                {
                                    "CharacterOffsets": {
                                        "BeginOffsetChar": 0,
                                        "EndOffsetChar": 150
                                    },
                                    "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851"
                                }
                            ]
                        }
                    ]
                }
            ],
            
        "ResponseTime": {
            "AgentGreetingTimeMillis": 2511,
            "DetailsByParticipantRole": {
                "AGENT": {
                    "Average": {
                        "ValueMillis": 5575
                    },
                    "Maximum": {
                        "TranscriptItems": [
                            {
                                "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3"
                            }
                        ],
                        "ValueMillis": 7309
                    }
                },
                "CUSTOMER": {
                    "Average": {
                        "ValueMillis": 5875
                    },
                    "Maximum": {
                        "TranscriptItems": [
                            {
                                "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395"
                            }
                        ],
                        "ValueMillis": 11366
                    }
                }
            }
        },
        "Sentiment": {
            "DetailsByTranscriptItemGroup": [
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3673d926-6e75-4620-a6f0-7ea571790a15"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "46d37141-32d8-4f2e-a664-bcd3f34a68b3"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3c4a2a1e-6790-46a6-8ad4-4a0980b04795"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "f9cd41b6-3f68-4e83-a47d-664395f324c0"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "28d0a1ce-64d1-4625-bbef-4cfeb97b6742"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "ef9b8622-32d5-4cfd-9ccc-a242502267bc"
                        },
                        {
                            "Id": "03a9de67-f9e1-4884-a1a3-ecea78a4ce9e"
                        },
                        {
                            "Id": "cfee5ece-a671-4a11-9ec2-89aba4b7d688"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "61bb2591-fe87-44e4-bba0-a3619c4cef1f"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "1761f27e-0989-4b6d-a046-fc03d2c6bc9c"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 3.3333333333333335,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "8cdff161-dc25-44e6-986f-fc0e08ee0a7d"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -1.6666666666666667,
                    "Sentiment": "NEGATIVE",
                    "TranscriptItems": [
                        {
                            "Id": "bcc51949-3a79-4398-be1b-a27345a8a8ad"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -3.75,
                    "Sentiment": "NEGATIVE",
                    "TranscriptItems": [
                        {
                            "Id": "7d5c07d7-3d26-4b34-ae91-39aeaeef685c"
                        },
                        {
                            "Id": "e0efbd17-9139-439b-8c80-ebf2b9b703b9"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -3.75,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "8fbb8dd4-9fd4-4991-83dc-5f06eeead9aa"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -2.5,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3b856fd9-0eeb-4fb2-93ed-95ec4aeae3a6"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "ecb8c498-96d7-448b-8360-366eeddb4090"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "d334058f-e3de-4cf1-a361-32e4e61f1839"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3ec6adb5-3f11-409c-af39-40cf7ba6f078"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "4b292b64-4a33-45ff-89df-d5a175d16d70"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "2da5a3c2-9d1b-458c-ae53-759a4e63198d"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "e23a2331-f3fc-4d3c-8a51-1541451186c9"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 3.75,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "5a27cc39-9b73-4ebe-9275-5e6723788a1b"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 3.75,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "540368c7-ec19-4fc0-8c86-0a5ee62d31a0"
                        }
                    ]
                }
            ],
            "OverallSentiment": {
                "DetailsByInteraction": {
                    "DetailsByParticipantRole": {
                        "CUSTOMER": {
                            "WithAgent": 0
                        }
                    }
                },
                "DetailsByParticipantRole": {
                    "AGENT": 1.1538461538461537,
                    "CUSTOMER": 0
                }
            },
            "SentimentShift": {
                "DetailsByInteraction": {
                    "DetailsByParticipantRole": {
                        "CUSTOMER": {
                            "WithAgent": {
                                "BeginScore": -3,
                                "EndScore": 3.75
                            }
                        }
                    }
                },
                "DetailsByParticipantRole": {
                    "AGENT": {
                        "BeginScore": 0,
                        "EndScore": 2.5
                    },
                    "CUSTOMER": {
                        "BeginScore": -3.75,
                        "EndScore": 3.75
                    },
                    "SYSTEM": {
                        "BeginScore": 2.5,
                        "EndScore": 0
                    }
                }
            }
        }
    },
    "CustomerMetadata": {
        "ContactId": "b49644f6-672f-445c-b209-f76b36482830",
        "InputS3Uri": "path to the json file in s3",
        "InstanceId": "f23fc323-3d6d-48aa-95dc-EXAMPLE012"
    },
    "JobStatus": "COMPLETED",
    "LanguageCode": "en-US",
    "Participants": [
        {
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER"
        },
        {
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM"
        },
        {
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT"
        }
    ],
    "Transcript": [
        {
            "AbsoluteTime": "2022-10-27T03:31:50.735Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.joined",
            "DisplayName": "John",
            "Id": "740c494d-9df7-4400-91c0-3e4df33922c8",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:53.390Z",
            "Content": "Hello, thanks for contacting us. This is an example of what the Amazon Connect virtual contact center can enable you to do.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "78aa8229-714a-4c87-916b-ce7d8d567ab2",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:55.131Z",
            "Content": "The time in queue is less than 5 minutes.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "1276382b-facb-49c5-8d34-62e3b0f50002",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:56.618Z",
            "Content": "You are now being placed in queue to chat with an agent.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "88c2363e-8206-4781-a353-c15e1ccacc12",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:00.951Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.joined",
            "DisplayName": "Jane",
            "Id": "c05cca74-d50b-4aa5-b46c-fdb5ae8c814c",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:03.462Z",
            "Content": "Hello, thanks for reaching Example Corp. This is Jane. How may I help you?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 46,
                        "EndOffsetChar": 53
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:08.102Z",
            "Content": "I'd like to see if I can get a refund or an exchange, because I ordered one of your grow-it-yourself indoor herb garden kits and nothing sprouted after a couple weeks so I think something is wrong with the seeds and this product may be defective.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "bcc51949-3a79-4398-be1b-a27345a8a8ad",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:14.137Z",
            "Content": "My wife is blind and sensitive to the sun so I was going to surprise her for her birthday with all the herbs that she loves so you guys actually really let me down.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "7d5c07d7-3d26-4b34-ae91-39aeaeef685c",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:18.781Z",
            "Content": "I should be taking my business elsewhere. I don't see why I should be giving money to a company that isn't even going to sell a product that works.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "e0efbd17-9139-439b-8c80-ebf2b9b703b9",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:24.123Z",
            "Content": "Ok. Can I get your first and last name please?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "3673d926-6e75-4620-a6f0-7ea571790a15",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:29.879Z",
            "Content": "Yeah. My first name is John and last name is Doe.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "8fbb8dd4-9fd4-4991-83dc-5f06eeead9aa",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 21,
                        "EndOffsetChar": 26
                    },
                    {
                        "BeginOffsetChar": 44,
                        "EndOffsetChar": 49
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:34.670Z",
            "Content": "Could you please provide me with the order ID number?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "46d37141-32d8-4f2e-a664-bcd3f34a68b3",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:39.726Z",
            "Content": "Yes, just . Looking ...",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "3b856fd9-0eeb-4fb2-93ed-95ec4aeae3a6",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:44.887Z",
            "Content": "Not a problem, take your time.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "3c4a2a1e-6790-46a6-8ad4-4a0980b04795",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:52.978Z",
            "Content": "Okay, that should be #5376897. You know, if the product was fine I wouldn't have to scrounge through emails.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "ecb8c498-96d7-448b-8360-366eeddb4090",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:59.441Z",
            "Content": "alright, perfect. And could you also just confirm the shipping address for me?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "f9cd41b6-3f68-4e83-a47d-664395f324c0",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 77,
                        "EndOffsetChar": 78
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:05.455Z",
            "Content": "123 Any Street, Any Town, and the zip code is 98109.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "d334058f-e3de-4cf1-a361-32e4e61f1839",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 0,
                        "EndOffsetChar": 27
                    },
                    {
                        "BeginOffsetChar": 49,
                        "EndOffsetChar": 54
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:12.764Z",
            "Content": "Thank you very much. Just waiting on my system here. .. I'll also need the last four digits of your debit card.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:17.412Z",
            "Content": "Ok. Last four for my debit care are 9008",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "3ec6adb5-3f11-409c-af39-40cf7ba6f078",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 27,
                        "EndOffsetChar": 31
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:22.486Z",
            "Content": "It's just too bad. I thought this was going to be the best gift idea. How can you guys be sending out defective seeds? Isn't that your whole business?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },        
        {
            "AbsoluteTime": "2022-10-27T03:33:38.961Z",
            "Content": "I apologize for the experience you had Mr. Doe, its very uncommon that our customer will have this issue. We will look into this and get this sorted out for you right away.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "28d0a1ce-64d1-4625-bbef-4cfeb97b6742",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 41,
                        "EndOffsetChar": 46
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:44.192Z",
            "Content": "Well, my wife's birthday already passed, so. There's not too much you can do. But I would still like to grow the herbs for her, if possible.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "4b292b64-4a33-45ff-89df-d5a175d16d70",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:51.310Z",
            "Content": "Totally understandable. Let me see what we can do for you. Please give me couple of minutes as I check the system.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "ef9b8622-32d5-4cfd-9ccc-a242502267bc",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:56.287Z",
            "Content": "Thank you sir one moment please.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "03a9de67-f9e1-4884-a1a3-ecea78a4ce9e",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:01.224Z",
            "Content": "Alright are you still there Mr Doe?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "cfee5ece-a671-4a11-9ec2-89aba4b7d688",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 30,
                        "EndOffsetChar": 35
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:07.093Z",
            "Content": "Yeah.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "2da5a3c2-9d1b-458c-ae53-759a4e63198d",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:12.562Z",
            "Content": "We are not only refunding the cost of the grow-it-yourself indoor herb kit but we will also be sending you a replacement. Would you be okay with this?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:17.029Z",
            "Content": "Yeah! That would be great. I just want my wife to be able to have these herbs in her room. And I'm always happy to get my money back!",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "e23a2331-f3fc-4d3c-8a51-1541451186c9",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:22.269Z",
            "Content": "Awesome! We really want to keep our customers happy and satisfied, and again I want to apologize for your less than satisfactory experience with the last product you ordered from us.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "61bb2591-fe87-44e4-bba0-a3619c4cef1f",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:26.353Z",
            "Content": "Okay! No problem. Sounds great. Thank you for all your help!",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "5a27cc39-9b73-4ebe-9275-5e6723788a1b",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:31.431Z",
            "Content": "Is there anything else I can help you out with John?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "1761f27e-0989-4b6d-a046-fc03d2c6bc9c",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 48,
                        "EndOffsetChar": 53
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:36.704Z",
            "Content": "Nope!",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "540368c7-ec19-4fc0-8c86-0a5ee62d31a0",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:41.448Z",
            "Content": "Ok great! Have a great day.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "8cdff161-dc25-44e6-986f-fc0e08ee0a7d",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:42.799Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.left",
            "DisplayName": "John",
            "Id": "d1ba54ba-61d4-4a48-9a9a-6cd17d70b8fb",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:43.192Z",
            "ContentType": "application/vnd.amazonaws.connect.event.chat.ended",
            "Id": "2d9a0e4f-faec-485f-97af-2767dde1f30a",
            "Type": "EVENT"
        }
    ],
    "Version": "CHAT-2022-11-30"
}
```

## 수정된 채팅 파일 예시
<a name="chat-exampleredactedfile"></a>

```
{
    "AccountId": "123456789012",
    "Categories": {
        "MatchedCategories": [
            "agent-intro"
        ],
        "MatchedDetails": {
            "agent-intro": {
                "PointsOfInterest": [
                    {
                        "TranscriptItems": [
                            {
                                "CharacterOffsets": {
                                    "BeginOffsetChar": 0,
                                    "EndOffsetChar": 71
                                },
                                "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a"
                            }
                        ]
                    }
                ]
            }
        }
    },
    "Channel": "CHAT",
    "ChatTranscriptVersion": "2019-08-26",
    "ContentMetadata": {
        "Output": "Redacted",
        "RedactionTypes": [
            "PII"
        ],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    },
    "ConversationCharacteristics": {
        "ContactSummary": {
            "SummaryItemsDetected": [
                {
                    "ActionItemsDetected": [],
                    "IssuesDetected": [
                        {
                            "TranscriptItems": [
                                {
                                    "CharacterOffsets": {
                                        "BeginOffsetChar": 72,
                                        "EndOffsetChar": 244
                                    },
                                    "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df"
                                }
                            ]
                        }
                    ],
                    "OutcomesDetected": [
                        {
                            "TranscriptItems": [
                                {
                                    "CharacterOffsets": {
                                        "BeginOffsetChar": 0,
                                        "EndOffsetChar": 150
                                    },
                                    "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851"
                                }
                            ]
                        }
                    ]
                }
            ]
            "ContactSummary": {
                       "PostContactSummary": {
                          "Content": "The customer and agent's conversation did not have any clear issues, outcomes or next steps. Agent verified customer information and finished the call."
                           }
                    }
            ],
        },
        
        "ResponseTime": {
            "AgentGreetingTimeMillis": 2511,
            "DetailsByParticipantRole": {
                "AGENT": {
                    "Average": {
                        "ValueMillis": 5575
                    },
                    "Maximum": {
                        "TranscriptItems": [
                            {
                                "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3"
                            }
                        ],
                        "ValueMillis": 7309
                    }
                },
                "CUSTOMER": {
                    "Average": {
                        "ValueMillis": 5875
                    },
                    "Maximum": {
                        "TranscriptItems": [
                            {
                                "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395"
                            }
                        ],
                        "ValueMillis": 11366
                    }
                }
            }
        },
        "Sentiment": {
            "DetailsByTranscriptItemGroup": [
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3673d926-6e75-4620-a6f0-7ea571790a15"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "46d37141-32d8-4f2e-a664-bcd3f34a68b3"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3c4a2a1e-6790-46a6-8ad4-4a0980b04795"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "f9cd41b6-3f68-4e83-a47d-664395f324c0"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "28d0a1ce-64d1-4625-bbef-4cfeb97b6742"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "ef9b8622-32d5-4cfd-9ccc-a242502267bc"
                        },
                        {
                            "Id": "03a9de67-f9e1-4884-a1a3-ecea78a4ce9e"
                        },
                        {
                            "Id": "cfee5ece-a671-4a11-9ec2-89aba4b7d688"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "61bb2591-fe87-44e4-bba0-a3619c4cef1f"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "1761f27e-0989-4b6d-a046-fc03d2c6bc9c"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 3.3333333333333335,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "8cdff161-dc25-44e6-986f-fc0e08ee0a7d"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -1.6666666666666667,
                    "Sentiment": "NEGATIVE",
                    "TranscriptItems": [
                        {
                            "Id": "bcc51949-3a79-4398-be1b-a27345a8a8ad"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -3.75,
                    "Sentiment": "NEGATIVE",
                    "TranscriptItems": [
                        {
                            "Id": "7d5c07d7-3d26-4b34-ae91-39aeaeef685c"
                        },
                        {
                            "Id": "e0efbd17-9139-439b-8c80-ebf2b9b703b9"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -3.75,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "8fbb8dd4-9fd4-4991-83dc-5f06eeead9aa"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -2.5,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3b856fd9-0eeb-4fb2-93ed-95ec4aeae3a6"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "ecb8c498-96d7-448b-8360-366eeddb4090"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "d334058f-e3de-4cf1-a361-32e4e61f1839"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3ec6adb5-3f11-409c-af39-40cf7ba6f078"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "4b292b64-4a33-45ff-89df-d5a175d16d70"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "2da5a3c2-9d1b-458c-ae53-759a4e63198d"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "e23a2331-f3fc-4d3c-8a51-1541451186c9"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 3.75,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "5a27cc39-9b73-4ebe-9275-5e6723788a1b"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 3.75,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "540368c7-ec19-4fc0-8c86-0a5ee62d31a0"
                        }
                    ]
                }
            ],
            "OverallSentiment": {
                "DetailsByInteraction": {
                    "DetailsByParticipantRole": {
                        "CUSTOMER": {
                            "WithAgent": 0
                        }
                    }
                },
                "DetailsByParticipantRole": {
                    "AGENT": 1.1538461538461537,
                    "CUSTOMER": 0
                }
            },
            "SentimentShift": {
                "DetailsByInteraction": {
                    "DetailsByParticipantRole": {
                        "CUSTOMER": {
                            "WithAgent": {
                                "BeginScore": -3,
                                "EndScore": 3.75
                            }
                        }
                    }
                },
                "DetailsByParticipantRole": {
                    "AGENT": {
                        "BeginScore": 0,
                        "EndScore": 2.5
                    },
                    "CUSTOMER": {
                        "BeginScore": -3.75,
                        "EndScore": 3.75
                    }
                }
            }
        }
    },
    "CustomerMetadata": {
        "ContactId": "b49644f6-672f-445c-b209-f76b36482830",
        "InputS3Uri": "path to the json file in s3",
        "InstanceId": "f23fc323-3d6d-48aa-EXAMPLE012"
    },
    "JobStatus": "COMPLETED",
    "LanguageCode": "en-US",
    "Participants": [
        {
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER"
        },
        {
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM"
        },
        {
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT"
        }
    ],
    "Transcript": [
        {
            "AbsoluteTime": "2022-10-27T03:31:50.735Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.joined",
            "DisplayName": "[PII]",
            "Id": "740c494d-9df7-4400-91c0-3e4df33922c8",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:53.390Z",
            "Content": "Hello, thanks for contacting us. This is an example of what the Amazon Connect virtual contact center can enable you to do.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "78aa8229-714a-4c87-916b-ce7d8d567ab2",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:55.131Z",
            "Content": "The time in queue is less than 5 minutes.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "1276382b-facb-49c5-8d34-62e3b0f50002",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:56.618Z",
            "Content": "You are now being placed in queue to chat with an agent.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "88c2363e-8206-4781-a353-c15e1ccacc12",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:00.951Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.joined",
            "DisplayName": "[PII]",
            "Id": "c05cca74-d50b-4aa5-b46c-fdb5ae8c814c",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:03.462Z",
            "Content": "Hello, thanks for reaching Example Corp. This is [PII]. How may I help you?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 46,
                        "EndOffsetChar": 51
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:08.102Z",
            "Content": "I'd like to see if I can get a refund or an exchange, because I ordered one of your grow-it-yourself indoor herb garden kits and nothing sprouted after a couple weeks so I think something is wrong with the seeds and this product may be defective.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "bcc51949-3a79-4398-be1b-a27345a8a8ad",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:14.137Z",
            "Content": "My wife is blind and sensitive to the sun so I was going to surprise her for her birthday with all the herbs that she loves so you guys actually really let me down.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "7d5c07d7-3d26-4b34-ae91-39aeaeef685c",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:18.781Z",
            "Content": "I should be taking my business elsewhere. I don't see why I should be giving money to a company that isn't even going to sell a product that works.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "e0efbd17-9139-439b-8c80-ebf2b9b703b9",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:24.123Z",
            "Content": "Ok. Can I get your first and last name please?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "3673d926-6e75-4620-a6f0-7ea571790a15",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:29.879Z",
            "Content": "Yeah. My first name is [PII] and last name [PII].",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "8fbb8dd4-9fd4-4991-83dc-5f06eeead9aa",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 21,
                        "EndOffsetChar": 26
                    },
                    {
                        "BeginOffsetChar": 44,
                        "EndOffsetChar": 49
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:34.670Z",
            "Content": "Could you please provide me with the order ID number?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "46d37141-32d8-4f2e-a664-bcd3f34a68b3",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:39.726Z",
            "Content": "Yes, just . Looking ...",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "3b856fd9-0eeb-4fb2-93ed-95ec4aeae3a6",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:44.887Z",
            "Content": "Not a problem, take your time.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "3c4a2a1e-6790-46a6-8ad4-4a0980b04795",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:52.978Z",
            "Content": "Okay, that should be #5376897. You know, if the product was fine I wouldn't have to scrounge through emails.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "ecb8c498-96d7-448b-8360-366eeddb4090",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:59.441Z",
            "Content": "alright, perfect. And could you also just confirm the shipping address for me, [PII]",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "f9cd41b6-3f68-4e83-a47d-664395f324c0",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 77,
                        "EndOffsetChar": 82
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:05.455Z",
            "Content": "[PII], and the zip code [PII].",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "d334058f-e3de-4cf1-a361-32e4e61f1839",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 0,
                        "EndOffsetChar": 5
                    },
                    {
                        "BeginOffsetChar": 27,
                        "EndOffsetChar": 32
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:12.764Z",
            "Content": "Thank you very much. Just waiting on my system here. .. I'll also need the last four digits of your debit card.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:17.412Z",
            "Content": "Ok. Last four for my debit card [PII]",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "3ec6adb5-3f11-409c-af39-40cf7ba6f078",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 27,
                        "EndOffsetChar": 32
                    }
                ]
            },
            "Type": "MESSAGE"
        },        
        {
            "AbsoluteTime": "2022-10-27T03:33:33.852Z",
            "Content": "It's just too bad. I thought this was going to be the best gift idea. How can you guys be sending out defective seeds? Isn't that your whole business?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:38.961Z",
            "Content": "I apologize for the experience you had Mr [PII], its very uncommon that our customer will have this issue. We will look into this and get this sorted out for you right away.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "28d0a1ce-64d1-4625-bbef-4cfeb97b6742",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 41,
                        "EndOffsetChar": 46
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:44.192Z",
            "Content": "Well, my wife's birthday already passed, so. There's not too much you can do. But I would still like to grow the herbs for her, if possible.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "4b292b64-4a33-45ff-89df-d5a175d16d70",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:51.310Z",
            "Content": "Totally understandable. Let me see what we can do for you. Please give me couple of minutes as I check the system.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "ef9b8622-32d5-4cfd-9ccc-a242502267bc",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:56.287Z",
            "Content": "Thank you sir one moment please.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "03a9de67-f9e1-4884-a1a3-ecea78a4ce9e",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:01.224Z",
            "Content": "Alright are you still there Mr [PII]?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "cfee5ece-a671-4a11-9ec2-89aba4b7d688",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 30,
                        "EndOffsetChar": 35
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:07.093Z",
            "Content": "Yeah.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "2da5a3c2-9d1b-458c-ae53-759a4e63198d",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:12.562Z",
            "Content": "We are not only refunding the cost of the grow-it-yourself indoor herb kit but we will also be sending you a replacement. Would you be okay with this?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:17.029Z",
            "Content": "Yeah! That would be great. I just want my wife to be able to have these herbs in her room. And I'm always happy to get my money back!",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "e23a2331-f3fc-4d3c-8a51-1541451186c9",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:22.269Z",
            "Content": "Awesome! We really want to keep our customers happy and satisfied, and again I want to apologize for your less than satisfactory experience with the last product you ordered from us.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "61bb2591-fe87-44e4-bba0-a3619c4cef1f",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:26.353Z",
            "Content": "Okay! No problem. Sounds great. Thank you for all your help!",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "5a27cc39-9b73-4ebe-9275-5e6723788a1b",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:31.431Z",
            "Content": "Is there anything else I can help you out with Mr [PII]?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "1761f27e-0989-4b6d-a046-fc03d2c6bc9c",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 48,
                        "EndOffsetChar": 53
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:36.704Z",
            "Content": "Nope!",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "540368c7-ec19-4fc0-8c86-0a5ee62d31a0",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:41.448Z",
            "Content": "Ok great! Have a great day.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "8cdff161-dc25-44e6-986f-fc0e08ee0a7d",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:42.799Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.left",
            "DisplayName": "[PII]",
            "Id": "d1ba54ba-61d4-4a48-9a9a-6cd17d70b8fb",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:43.192Z",
            "ContentType": "application/vnd.amazonaws.connect.event.chat.ended",
            "Id": "2d9a0e4f-faec-485f-97af-2767dde1f30a",
            "Type": "EVENT"
        }
    ],
    "Version": "CHAT-2022-11-30"
}
```

# Contact Lens 대화 분석을 통해 분석된 이메일의 Contact Lens 출력 파일 예
<a name="contact-lens-example-output-files-email"></a>

이 섹션에서는 Contact Lens 대화 분석을 통해 분석된 이메일 연락처의 예제 스키마를 보여줍니다. 이 예제는 일치하는 범주와 고객 응대 체인 요약을 보여줍니다.

이메일 분석 출력 파일에 대한 다음 사항에 유의하세요.
+ `Channel` 필드가 `EMAIL`으로 설정되어 있습니다.
+ `Version` 필드는 `EMAIL` 접두사(예: )를 사용합니다`EMAIL-2026-01-01`.
+ 이메일 출력 파일에는 감정 점수, 감정 변화, 음량 또는 침묵 시간 데이터가 포함되지 않습니다.
+ `Categories` 섹션에는 로 설정된 `EventSource` 필드가 포함되어 있습니다`OnEmailAnalysisAvailable`.
+ 이메일 분석은 전체 이메일 스레드(연락처 체인)를 요약`PostContactSummary`하기 때문에 고객 응대 요약은 `ContactChainSummary` 대신를 사용합니다.
+ 이 `CustomerMetadata.InputFiles` 섹션에서는 Amazon S3에 저장된 이메일 메시지와 일반 텍스트 파일을 참조합니다.

## 이메일 분석 출력 파일의 예
<a name="email-exampleoriginalfile"></a>

다음 예제에서는 범주화, 수정 및 고객 응대 체인 요약이 활성화된 이메일 고객 응대의 출력을 보여줍니다.

```
{
  "Version": "EMAIL-2026-01-01",
  "AccountId": "123456789012",
  "Channel": "EMAIL",
  "Configuration": {
    "ChannelConfiguration": {
      "AnalyticsModes": [
        "ContactLens"
      ]
    },
    "LanguageLocale": "en-US",
    "RedactionConfiguration": {
      "Behavior": "Enable",
      "Policy": "RedactedAndOriginal",
      "Entities": [],
      "MaskMode": "EntityType"
    },
    "SummaryConfiguration": {
      "SummaryModes": [
        "ContactChain"
      ]
    }
  },
  "CustomerMetadata": {
    "ContactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "InstanceId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "InputFiles": {
      "EmailMessageS3URI": "connect/your-instance/EmailMessages/2026/01/15/a1b2c3d4_message.json",
      "EmailMessagePlainTextS3URI": "connect/your-instance/EmailMessages/2026/01/15/a1b2c3d4_plain_text.json"
    }
  },
  "Categories": {
    "MatchedCategories": [
      "refund-request",
      "shipping-issue"
    ],
    "MatchedDetails": {
      "refund-request": {
        "PointsOfInterest": [
          {
            "Contacts": [
              {
                "ContactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
              }
            ]
          }
        ],
        "EventSource": "OnEmailAnalysisAvailable"
      },
      "shipping-issue": {
        "PointsOfInterest": [],
        "EventSource": "OnEmailAnalysisAvailable"
      }
    }
  },
  "ConversationCharacteristics": {
    "ContactSummary": {
      "ContactChainSummary": {
        "Content": "The customer reported that their order arrived damaged and requested a full refund including shipping costs. The agent confirmed the refund would be processed within 3-5 business days and offered a replacement unit."
      }
    }
  },
  "JobDetails": {}
}
```

# Amazon Connect Contact Lens의 문제 해결
<a name="contact-lens-troubleshoot"></a>

## 수정되지 않은 콘텐츠를 보거나 들을 수 없는 이유는 무엇인가요?
<a name="where-is-unredacted-content"></a>

조직에서 Contact Lens 수정 기능을 사용하는 경우 기본적으로 수정된 콘텐츠만 Amazon Connect 관리자 웹 사이트에 표시됩니다.

수정되지 않은 콘텐츠를 볼 수 있는 권한이 있어야 합니다. 자세한 내용은 [Amazon Connect에서 Contact Lens 대화 분석을 사용할 수 있는 권한 할당](permissions-for-contact-lens.md) 단원을 참조하십시오.