

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

# 실시간 통화 분석
<a name="call-analytics-streaming"></a>

실시간 통화 분석는 문제를 해결하고 에스컬레이션 발생 시 이를 완화하는 데 사용할 수 있는 실시간 인사이트를 제공합니다.

실시간 통화 분석을 통해 다음과 같은 인사이트를 얻을 수 있습니다.
+ 규칙을 사용하여 특정 키워드와 구절에 플래그를 지정하는 [범주 이벤트](#tca-category-events-stream). 범주 이벤트는 [실시간 알림](tca-start-stream.md#tca-create-alert-stream)을 생성하는 데 사용할 수 있습니다.
+ [문제 감지](#tca-issue-detection-stream)는 각 오디오 세그먼트 내에서 제기된 문제를 식별합니다.
+ 텍스트 트랜스크립트의 [PII(민감한 데이터) 식별](#tca-pii-id-stream)
+ 텍스트 트랜스크립트의 [PII(민감한 데이터) 수정](#tca-pii-redact-stream)
+ 각 음성 세그먼트에 대한 [감정 분석](#tca-sentiment-stream)
+ [언어 식별](#tca-language-id-stream)은 각 오디오 채널에서 사용되는 기본 언어를 감지합니다.

실시간 Call Analytics 외에도 Amazon Transcribe 는 미디어 스트림에서 [통화 후 분석을](tca-post-call.md) 수행할 수 있습니다. [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_PostCallAnalyticsSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_PostCallAnalyticsSettings.html) 파라미터를 사용하여 실시간 통화 분석 요청에 통화 후 분석을 포함할 수 있습니다.

## 실시간 인사이트
<a name="call-analytics-insights-streaming"></a>

이 섹션에서는 실시간 통화 분석 트랜스크립션에 사용할 수 있는 인사이트를 자세히 설명합니다.

### 범주 이벤트
<a name="tca-category-events-stream"></a>

범주 이벤트를 사용하면 정확한 키워드나 구절을 기반으로 트랜스크립션을 일치시킬 수 있습니다. 예를 들어 "I want to speak to the manager"라는 문구에 대해 필터를 설정하면는 해당 *정확한* 문구에 대해 Amazon Transcribe 필터링합니다.

다음은 [출력 예](tca-output-streaming.md#tca-output-category-event-stream)입니다.

실시간 통화 분석 범주를 만드는 방법에 대한 자세한 내용은 [실시간 트랜스크립션의 범주 생성](tca-categories-stream.md) 섹션을 참조하세요.

**작은 정보**  
범주 이벤트를 통해 실시간 알림을 설정할 수 있습니다. 자세한 내용은 [범주 일치에 대한 실시간 알림 생성](tca-start-stream.md#tca-create-alert-stream) 섹션을 참조하세요.

### 문제 감지
<a name="tca-issue-detection-stream"></a>

문제 감지는 각 오디오 세그먼트 내에서 감지된 문제에 대한 간결한 요약을 제공합니다. 문제 감지 기능을 사용하면 다음과 같은 이점이 있습니다.
+ 통화 도중과 통화 후에 수동으로 메모를 할 필요가 줄어듭니다.
+ 에이전트의 효율성이 개선되므로 에이전트가 고객에게 더 빠르게 응답할 수 있습니다.

**참고**  
문제 감지에는 호주(`en-AU`), 영국(`en-GB`), 미국(`en-US`) 등의 영어 방언이 지원됩니다.

문제 감지 기능은 모든 산업 및 비즈니스 부문에서 작동하며 컨텍스트에 따라 달라집니다. 문제 감지는 기본적으로 작동하므로 모델 교육 또는 사용자 지정 범주와 같은 사용자 지정을 지원하지 않습니다.

실시간 통화 분석을 통한 문제 감지는 각각의 오디오 세그먼트 전체에서 이루어집니다.

다음은 [출력 예](tca-output-streaming.md#tca-output-issue-detection-stream)입니다.

### PII(민감한 데이터) 식별
<a name="tca-pii-id-stream"></a>

민감한 데이터 식별은 텍스트 트랜스크립트의 개인 식별 정보(PII)에 레이블을 지정합니다. 이 파라미터는 고객 정보를 보호하는 데 유용합니다.

**참고**  
실시간 PII 식별에는 호주(`en-AU`), 영국(`en-GB`), 미국(`en-US`) 등의 영어 방언과 스페인어 방언(`es-US`)이 지원됩니다.

실시간 통화 분석을 통한 PII 식별은 각각의 오디오 세그먼트 전체에서 이루어집니다.

이 기능을 사용하여 식별되는 PII 목록을 보거나를 사용한 PII 식별에 대해 자세히 알아보려면 섹션을 Amazon Transcribe참조하세요[개인 식별 정보 편집 또는 식별](pii-redaction.md).

다음은 [출력 예](tca-output-streaming.md#tca-output-pii-id-stream)입니다.

### PII(민감한 데이터) 수정
<a name="tca-pii-redact-stream"></a>

민감한 데이터 수정은 텍스트 트랜스크립트의 개인 식별 정보(PII)를 PII 유형(예: `[NAME]`)으로 대체합니다. 이 파라미터는 고객 정보를 보호하는 데 유용합니다.

**참고**  
실시간 PII 수정에는 호주(`en-AU`), 영국(`en-GB`), 미국(`en-US`) 등의 영어 방언과 스페인어 방언(`es-US`)이 지원됩니다.

실시간 통화 분석을 통한 PII 수정은 각각의 오디오 세그먼트 전체에서 이루어집니다.

이 기능을 사용하여 수정된 PII 목록을 보거나 Amazon Transcribe를 사용한 수정에 대해 자세히 알아보려면 [개인 식별 정보 편집 또는 식별](pii-redaction.md) 섹션을 참조하세요.

다음은 [출력 예](tca-output-streaming.md#tca-output-pii-redact-stream)입니다.

### 감정 분석
<a name="tca-sentiment-stream"></a>

감정 분석은 통화 내내 고객과 에이전트가 느끼는 감정을 추정합니다. 이 지표는 모든 음성 세그먼트에 대해 제공되며 질적 값(`positive`, `neutral`, `mixed` 또는`negative`)으로 표시됩니다.

이 파라미터를 사용하면 각 통화 참가자의 전반적인 감정과 각 음성 세그먼트 내 각 참가자의 감정을 질적으로 평가할 수 있습니다. 이 지표는 통화가 끝날 때까지 에이전트가 화가 난 고객을 기쁘게 할 수 있는지 파악하는 데 도움이 될 수 있습니다.

실시간 통화 분석을 통한 감정 분석은 각각의 오디오 세그먼트 전체에서 이루어집니다.

감정 분석은 기본적으로 작동하므로 모델 교육 또는 사용자 지정 범주와 같은 사용자 지정을 지원하지 않습니다.

다음은 [출력 예](tca-output-streaming.md#tca-output-sentiment-stream)입니다.

### 언어 식별
<a name="tca-language-id-stream"></a>

언어 식별은 실시간 통화 분석 중에 오디오 스트림의 각 채널 내에서 사용되는 기본 언어를 자동으로 인식하고 결정합니다. 식별되면 통화 분석는 감지된 언어를 기반으로 가장 적합한 트랜스크립션을 처리하고 반환하여, 이 정보를 스트림을 통해 실시간으로 다시 전송합니다.

이 기능을 사용하면 오디오 스트림의 각 채널에서 사용되는 지배적 언어를 자동으로 인식하고 식별할 수 있습니다. 언어가 감지되면 통화 분석는 식별된 언어에 대한 적절한 트랜스크립션을 실시간으로 처리하고 전달합니다.

자동 언어 식별은 현재 스트리밍 트랜스크립션에 대해 추가 비용 없이 지원되는 모든 [통화 분석 스트리밍 지원 언어](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html)에 대해 지원되며 통화 분석 스트리밍 지원 [AWS 리전](https://docs.aws.amazon.com/general/latest/gr/transcribe.html#transcribe_region)에서 사용할 수 있습니다.

**중요**  
통화 분석는 오디오 채널에서 사용되는 지배적 언어를 식별하는 단일 언어 식별만 지원합니다. 다국어 식별은 지원되지 않습니다. 즉, 각 채널은 한 언어로만 트랜스크립션할 수 있습니다.  
스트리밍 언어 식별을 사용하려면 언어 코드를 두 개 이상 최대 다섯 개까지 제공해야 하며 한 스트림당 언어당[지원 통화 분석 스트리밍 언어](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html). 중 하나의 언어 방언만 선택할 수 있습니다. 즉, 동일한 트랜스크립션에 대해 en-US 및 en-AU를 언어 옵션으로 선택할 수 없습니다. LanguageCode와 IdentifyLanguage는 상호 배타적인 옵션이므로, 이 기능을 사용할 때 LanguageCode 파라미터는 요청에서 null로 유지되어야 합니다.

**주의**  
지정된 언어 코드가 실제 음성 언어와 일치하지 않는 경우 시스템에서 옵션에서 가장 유사한 언어를 선택하여 트랜스크립션이 부정확해질 수 있습니다.

언어 식별 기능을 사용하여 다음을 수행할 수 있습니다.
+ 실시간으로 지배적 언어 자동 감지
+ 별도의 채널에서 다양한 언어 처리
+ 언어 감지에 대한 신뢰도 점수 받기
+ 언어별 사용자 지정 어휘 적용

언어 식별을 사용하려면 다음 파라미터를 구성해야 합니다.

**필수 파라미터:**
+ `identifyLanguage` - 언어 식별을 활성화하려면 true로 설정합니다.
+ `languageOptions` - identifyLanguage가 true로 설정된 경우 사용할 수 있는 언어 코드 목록입니다. 단일 언어 선택은 지원되지 않으므로 최소 두 개의 언어 선택을 제공해야 합니다.

**선택적 파라미터:**
+ `preferredLanguage` - 제공된 languageOptions의 예상 기본 언어입니다. 기본 언어를 추가하면 통화 분석이 언어를 더 빠르게 식별하는 데 도움이 될 수 있습니다.
+ `vocabularyNames` - 정확도 향상을 위한 사용자 지정 어휘 이름입니다. 어휘 이름은 대소문자를 구분하며, 사용자 지정 어휘의 언어가 식별된 미디어 언어와 일치하지 않는 경우 트랜스크립션에 적용되지 않습니다.
+ `vocabularyFilterNames` - 트랜스크립트 출력을 사용자 지정하는 어휘 필터 이름입니다.

다음은 [출력 예](tca-output-streaming.md#tca-output-language-id-stream)입니다.

# 실시간 트랜스크립션의 범주 생성
<a name="tca-categories-stream"></a>

실시간 통화 분석는 사용자 지정 범주 생성을 지원하므로 특정 비즈니스 요구 사항에 가장 적합하도록 트랜스크립트 분석을 조정할 수 있습니다.

다양한 시나리오를 다루기 위해 원하는 만큼 범주를 생성할 수 있습니다. 범주를 하나 생성할 때마다 1\$120개의 규칙을 생성해야 합니다. 실시간 통화 분석 트랜스크립션은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html)(키워드 일치)를 사용하는 규칙만 지원합니다. [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html) 작업에 규칙을 사용하는 방법에 대한 자세한 내용은 [실시간 통화 분석 범주의 규칙 기준](#tca-rules-stream) 섹션을 참조하세요.

미디어의 콘텐츠가 특정 범주에서 지정한 모든 규칙과 일치하는 경우 Amazon Transcribe 에서는 해당 범주로 출력에 레이블을 지정합니다. JSON 출력 형식의 범주 일치 예는 [범주 이벤트 출력](tca-output-streaming.md#tca-output-category-event-stream)을 참조하세요.

사용자 지정 범주로 수행할 수 있는 작업의 몇 가지 예는 다음과 같습니다.
+ 특정 키워드 세트에 플래그를 지정하고 추적하여 즉각적인 주의가 필요한 문제를 식별합니다.
+ 에이전트가 특정 구절을 말하거나 생략하는 등, 규정 준수를 모니터링합니다.
+ 특정 단어와 구절에 실시간으로 플래그를 지정한 다음 범주 일치를 설정하여 즉시 알림을 설정할 수 있습니다. 예를 들어 "*매니저와 대화*"라는 구절을 사용하는 고객의 경우에 대한 실시간 통화 분석 범주를 생성한 경우 이 실시간 범주 일치에 대한 [이벤트 알림](tca-start-stream.md#tca-create-alert-stream)을 설정하여 듀티 매니저에게 알릴 수 있습니다.

**통화 후 범주와 실시간 범주의 비교**

새 범주를 만들 때 해당 범주를 통화 후 범주(`POST_CALL`)로 생성할지 아니면 실시간 범주(`REAL_TIME`)로 생성할지 지정할 수 있습니다. 옵션을 지정하지 않으면 기본적으로 범주가 통화 후 범주로 생성됩니다. 실시간 범주 일치를 사용하여 실시간 알림을 생성할 수 있습니다. 자세한 내용은 [범주 일치에 대한 실시간 알림 생성](tca-start-stream.md#tca-create-alert-stream) 단원을 참조하십시오.

실시간 통화 분석을 위한 새 범주를 생성하려면 **AWS Management Console**, **AWS CLI** 또는 **AWS SDK**를 사용할 수 있습니다. 예를 보려면 다음을 참조하세요.

## AWS Management Console
<a name="tca-category-console"></a>

1. 탐색 창의 아래에서 **Amazon Transcribe Call Analytics**를 Amazon Transcribe선택합니다.

1. **통화 분석 범주**를 선택하면 **통화 분석 범주** 페이지로 이동합니다. **범주 생성** 버튼을 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: Call Analytics 'categories' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-categories.png)

1. 이제 **범주 생성 페이지**로 이동했습니다. 범주 이름을 입력한 다음 **범주 유형** 드롭다운 메뉴에서 '실시간 통화 분석'을 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '범주 설정' 패널.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-categories-type.png)

1. 템플릿을 선택하여 범주를 생성하거나 처음부터 새로 생성할 수 있습니다.

   템플릿을 사용하는 경우: **템플릿 사용(권장)**을 선택하고 원하는 템플릿과 **범주 생성**을 차례로 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 선택적 템플릿을 보여주는 '범주 설정' 패널.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-categories-settings-stream.png)

1. 사용자 지정 범주를 생성하는 경우: **새로 생성**을 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '규칙' 창을 보여주는 '범주 생성' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-categories-custom.png)

1. 드롭다운 메뉴를 사용하여 범주에 규칙을 추가합니다. 범주당 최대 20개의 규칙을 추가할 수 있습니다. 실시간 통화 분석 트랜스크립션에서는 트랜스크립트 콘텐츠 일치가 수반되는 규칙만 포함할 수 있습니다. 모든 일치에는 실시간으로 플래그가 지정됩니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 규칙 유형 목록이 있는 '규칙' 창.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-categories-custom-rules-stream.png)

1. 다음은 한 가지 규칙이 있는 범주의 예입니다. 바로, 통화 중 언제라도 "매니저와 대화"하는 구절을 사용하는 고객의 경우입니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 로직 옵션이 있는 '규칙' 창.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-categories-custom-rules-stream2.png)

1. 범주에 규칙을 모두 추가했으면 **범주 생성**을 선택합니다.

## AWS CLI
<a name="tca-category-cli-stream"></a>

이 예에서는 [create-call-analytics-category](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/create-call-analytics-category.html) 명령을 사용합니다. 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html), [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CategoryProperties.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CategoryProperties.html), [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Rule.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Rule.html) 섹션을 참조하세요.

다음 예에서는 규칙을 사용하여 범주를 생성합니다.
+ 고객은 통화 중 어느 시점에서 "매니저와 대화"라는 구절을 사용했습니다.

이 예에서는 [create-call-analytics-category](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/create-call-analytics-category.html) 명령과 해당 범주에 규칙을 추가하는 요청 본문을 사용합니다.

```
aws transcribe create-call-analytics-category \
--cli-input-json file://filepath/my-first-analytics-category.json
```

*my-first-analytics-category.json* 파일에는 다음과 같은 요청 본문이 포함되어 있습니다.

```
{
  "CategoryName": "my-new-real-time-category",
  "InputType": "REAL_TIME",
  "Rules": [
        {
            "TranscriptFilter": {
                "Negate": false,
                "Targets": [
                    "speak to the manager"
                ],
                "TranscriptFilterType": "EXACT"
            }
        }
    ]
}
```

## AWS SDK for Python (Boto3)
<a name="tca-category-python-stream"></a>

이 예제에서는 AWS SDK for Python (Boto3) 를 사용하여 [create\$1call\$1analytics\$1category](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.create_call_analytics_category) 메서드에 대한 `CategoryName` 및 `Rules` 인수를 사용하여 범주를 생성합니다. 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html), [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CategoryProperties.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CategoryProperties.html), [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Rule.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Rule.html) 섹션을 참조하세요.

기능별, 시나리오 및 교차 서비스 예제 AWS SDKs를 사용하는 추가 예제는 [AWS SDKs를 사용한 Amazon Transcribe의 코드 예제](service_code_examples.md)장을 참조하세요.

다음 예에서는 규칙을 사용하여 범주를 생성합니다.
+ 고객은 통화 중 어느 시점에서 "매니저와 대화"라는 구절을 사용했습니다.

```
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe', 'us-west-2')
category_name = "my-new-real-time-category"
transcribe.create_call_analytics_category(
    CategoryName = category_name,
    InputType = "REAL_TIME",
    Rules = [
        {
            'TranscriptFilter': {
                'Negate': False,
                'Targets': [
                    'speak to the manager'                    
                ],
                'TranscriptFilterType': 'EXACT'
            }
        }
    ]
)

result = transcribe.get_call_analytics_category(CategoryName = category_name)    
print(result)
```

## 실시간 통화 분석 범주의 규칙 기준
<a name="tca-rules-stream"></a>

이 섹션에서는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html) API 작업을 사용하여 생성할 수 있는 사용자 지정 `REAL_TIME` 규칙의 유형을 간략하게 설명합니다.

문제 감지는 자동으로 수행되므로 문제에 플래그를 지정하기 위해 규칙이나 범주를 생성할 필요가 없습니다.

실시간 통화 분석 트랜스크립션에는 키워드 일치만 지원됩니다. 중단, 침묵 또는 감정이 포함된 범주를 생성하려면 [통화 후 분석 범주의 규칙 기준](tca-categories-batch.md#tca-rules-batch) 섹션을 참조하세요.

### 키워드 일치
<a name="tca-rules-keywords-stream"></a>

키워드([https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html) 데이터 유형)를 사용하는 규칙은 다음과 일치하도록 고안되었습니다.
+ 에이전트, 고객 또는 둘 다 사용하는 사용자 지정 단어나 구절, 또는 둘 다
+ 에이전트, 고객 또는 둘 다 사용하지 **않는** 사용자 지정 단어나 구절, 또는 둘 다
+ 특정 시간대에 나오는 사용자 지정 단어 또는 구절

[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html)로 사용할 수 있는 파라미터의 예는 다음과 같습니다.

```
"TranscriptFilter": { 
    "AbsoluteTimeRange": { 
       Specify the time frame, in milliseconds, when the match should occur
    },
    "RelativeTimeRange": { 
       Specify the time frame, in percentage, when the match should occur
    },
    "Negate": Specify if you want to match the presence or absence of your custom keywords,
    "ParticipantRole": Specify if you want to match speech from the agent, the customer, or both,
    "Targets": [ The custom words and phrases you want to match ],
    "TranscriptFilterType": Use this parameter to specify an exact match for the specified targets
}
```

이러한 파라미터 및 각 파라미터와 관련된 유효한 값에 대한 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateCallAnalyticsCategory.html) 및 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html)를 참조하세요.

# 실시간 트랜스크립션을 통한 통화 후 분석
<a name="tca-post-call"></a>

통화 후 분석은 실시간 통화 분석 트랜스크립션과 함께 사용할 수 있는 선택적 기능입니다. 표준 [실시간 분석 인사이트](call-analytics-streaming.md#call-analytics-insights-streaming) 외에도 통화 후 분석은 다음을 제공합니다.
+ **작업 항목**: 통화에서 확인된 모든 작업 항목을 나열합니다.
+ **중단**: 문장 중간에 한 참가자가 다른 참가자의 말을 중간에 끊는지 여부와 그 시점을 측정합니다.
+ **문제**: 통화에서 확인된 문제를 알려줍니다.
+ **음량**: 각 참가자가 말하는 음량을 측정합니다.
+ **침묵 시간**: 음성이 포함되지 않은 시간을 측정합니다.
+ **결과**: 통화에서 확인된 결과 또는 해결 방법을 제시합니다.
+ **발언 속도**: 두 참가자가 말하는 속도를 측정합니다.
+ **발언 시간**: 통화 중 각 참가자가 발언한 시간(밀리초)을 측정합니다.

활성화되면 오디오 스트림의 통화 후 분석은 [오디오 파일의 통화 후 분석](call-analytics-batch.md)과 유사한 트랜스크립트를 생성하여에 지정된 Amazon S3 버킷에 저장합니다`OutputLocation`. 또한 통화 후 분석은 오디오 스트림을 기록하고 동일한 Amazon S3 버킷에 오디오 파일(`WAV` 형식)로 저장합니다. 수정을 활성화하면 수정된 트랜스크립트와 수정된 오디오 파일도 지정된 Amazon S3 버킷에 저장됩니다. 오디오 스트림으로 통화 후 분석을 활성화하면 다음과 같이 2\$14개의 파일이 생성됩니다.
+ 수정을 **활성화하지 않은** 경우 출력 파일은 다음과 같습니다.

  1. 수정되지 않은 트랜스크립트

  1. 수정되지 않은 오디오 파일
+ 수정되지 않은 옵션(`redacted`) **없이** 수정을 활성화한 경우 출력 파일은 다음과 같습니다.

  1. 수정된 트랜스크립트

  1. 수정된 오디오 파일
+ 수정되지 않은 옵션(`redacted_and_unredacted`)을 **사용하여** 수정을 활성화한 경우 출력 파일은 다음과 같습니다.

  1. 수정된 트랜스크립트

  1. 수정된 오디오 파일

  1. 수정되지 않은 트랜스크립트

  1. 수정되지 않은 오디오 파일

참고: 요청과 함께 통화 후 분석([https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_PostCallAnalyticsSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_PostCallAnalyticsSettings.html))을 활성화하고 `FLAC` 또는 `OPUS-OGG` 미디어를 사용하는 경우 트랜스크립트에 `loudnessScore`가 포함되지 **않으며** 스트림의 오디오 녹음도 생성되지 않습니다. Transcribe는 90분 이상 지속되는 장기 실행 오디오 스트림에 대한 통화 후 분석을 제공하지 못할 수도 있습니다.

오디오 스트림의 통화 후 분석에서 사용할 수 있는 인사이트에 대한 자세한 내용은 [통화 후 분석 인사이트](call-analytics-batch.md#call-analytics-insights-batch) 섹션을 참조하세요.

**작은 정보**  
실시간 통화 분석 요청으로 통화 후 분석을 활성화하면 모든 `POST_CALL` 및 `REAL-TIME` 범주가 통화 후 분석 트랜스크립터에 적용됩니다.

## 통화 후 분석 활성화
<a name="tca-post-call-enable"></a>

통화 후 분석을 활성화하려면 실시간 통화 분석 요청에 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_PostCallAnalyticsSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_PostCallAnalyticsSettings.html) 파라미터를 포함해야 합니다. `PostCallAnalyticsSettings`를 활성화할 때는 다음 파라미터를 포함해야 합니다.
+ `OutputLocation`: 통화 후 트랜스크립트를 저장할 Amazon S3 버킷입니다.
+ `DataAccessRoleArn`: 지정된 Amazon S3 버킷에 액세스할 권한이 있는 Amazon S3 역할의 Amazon 리소스 이름(ARN). [실시간 분석에 대한 신뢰 정책](security_iam_id-based-policy-examples.md#trust-policy)도 사용해야 합니다.

수정된 버전의 트랜스크립트가 필요한 경우 요청에 `ContentRedactionOutput` 또는 `ContentRedactionType`를 포함시킬 수 있습니다. 이러한 파라미터에 대한 자세한 내용은 API 참조의 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html)을 참조하세요.

통화 후 분석을 활성화한 상태에서 실시간 통화 분석 트랜스크립션을 시작하려면 **AWS Management Console**(데모만 해당)**, HTTP/2** 또는 **WebSocket**을 사용할 수 있습니다. 예시는 [실시간 통화 분석 트랜스크립션 시작](tca-start-stream.md) 섹션을 참조하세요.

**중요**  
현재는 오디오 예제가 사전 로드된 실시간 Call Analytics 데모 AWS Management Console 만 제공합니다. 자체 오디오를 사용하려면 API(HTTP/2, WebSocket 또는 SDK)를 사용해야 합니다.

## 통화 후 분석 출력 예시
<a name="tca-output-post-call"></a>

통화 후 트랜스크립트는 세그먼트별 턴바이턴 형식으로 표시됩니다. 여기에는 통화 특성, 감정, 통화 요약, 문제 감지 및 PII 수정(선택 사항)이 포함됩니다. 통화 후 범주가 오디오 콘텐츠와 일치하는 경우 해당 범주도 출력에 표시됩니다.

정확도를 높이고 산업별 용어 포함 등 사용 사례에 맞게 트랜스크립트를 추가로 사용자 지정하려면 통화 분석 요청에 [사용자 지정 어휘](custom-vocabulary.md) 또는 [사용자 지정 언어 모델](custom-language-models.md)을 추가하세요. 트랜스크립션 결과에서 원하지 않는 욕설 등의 단어를 마스킹하거나 삭제하거나 태그를 지정하려면 [어휘 필터링](vocabulary-filtering.md)을 추가하세요.

다음은 컴파일된 통화 후 분석 출력 예입니다.

```
{
    "JobStatus": "COMPLETED",
    "LanguageCode": "en-US",
    "AccountId": "1234567890",
    "Channel": "VOICE",
    "Participants": [{
        "ParticipantRole": "AGENT"
    }, 
    {
        "ParticipantRole": "CUSTOMER"
    }],
    "SessionId": "12a3b45c-de6f-78g9-0123-45h6ab78c901",
    "ContentMetadata": {
        "Output": "Raw"
    }
    "Transcript": [{
        "LoudnessScores": [
            78.63,
            78.37,
            77.98,
            74.18
        ],
        "Content": "[PII], my name is [PII], how can I help?",

            ...

        "Content": "Well, I would like to cancel my recipe subscription.",
            "IssuesDetected": [{
                "CharacterOffsets": {
                    "Begin": 7,
                    "End": 51
                }
            }],

            ...

        "Content": "That's very sad to hear. Can I offer you a 50% discount to have you stay with us?",
        "Id": "649afe93-1e59-4ae9-a3ba-a0a613868f5d",
        "BeginOffsetMillis": 12180,
        "EndOffsetMillis": 16960,
        "Sentiment": "NEGATIVE",
        "ParticipantRole": "AGENT"
    },
    {
        "LoudnessScores": [
            80.22,
            79.48,
            82.81
        ],
        "Content": "That is a very generous offer. And I accept.",
        "Id": "f9266cba-34df-4ca8-9cea-4f62a52a7981",
        "BeginOffsetMillis": 17140,
        "EndOffsetMillis": 19860,
        "Sentiment": "POSITIVE",
        "ParticipantRole": "CUSTOMER"
    },
            ...

        "Content": "Wonderful. I made all changes to your account and now this discount is applied, please check.",
        "OutcomesDetected": [{
        "CharacterOffsets": {
            "Begin": 12,
            "End": 78
        }
        }],

            ...

        "Content": "I will send an email with all the details to you today, and I will call you back next week to follow up. Have a wonderful evening.",
        "Id": "78cd0923-cafd-44a5-a66e-09515796572f",
        "BeginOffsetMillis": 31800,
        "EndOffsetMillis": 39450,
        "Sentiment": "POSITIVE",
        "ParticipantRole": "AGENT"
    },
    {
        "LoudnessScores": [
            78.54,
            68.76,
            67.76
        ],
        "Content": "Thank you very much, sir. Goodbye.",
        "Id": "5c5e6be0-8349-4767-8447-986f995af7c3",
        "BeginOffsetMillis": 40040,
        "EndOffsetMillis": 42460,
        "Sentiment": "POSITIVE",
        "ParticipantRole": "CUSTOMER"
    }
    ],

    ...

    "Categories": {
        "MatchedDetails": {
            "positive-resolution": {
                "PointsOfInterest": [{
                    "BeginOffsetMillis": 40040,
                    "EndOffsetMillis": 42460
                }]
            }
        },
        "MatchedCategories": [
            "positive-resolution"
        ]
    },

    ...

    "ConversationCharacteristics": {
        "NonTalkTime": {
            "Instances": [],
            "TotalTimeMillis": 0
        },
        "Interruptions": {
            "TotalCount": 2,
            "TotalTimeMillis": 10700,
            "InterruptionsByInterrupter": {
                "AGENT": [{
                    "BeginOffsetMillis": 26040,
                    "DurationMillis": 5510,
                    "EndOffsetMillis": 31550
                }],
                "CUSTOMER": [{
                    "BeginOffsetMillis": 770,
                    "DurationMillis": 5190,
                    "EndOffsetMillis": 5960
                }]
            }
        },
        "TotalConversationDurationMillis": 42460,
        "Sentiment": {
            "OverallSentiment": {
                "AGENT": 2.5,
                "CUSTOMER": 2.1
            },
            "SentimentByPeriod": {
                "QUARTER": {
                    "AGENT": [{
                        "Score": 0.0,
                        "BeginOffsetMillis": 0,
                        "EndOffsetMillis": 9862
                    },
                    {
                        "Score": -5.0,
                        "BeginOffsetMillis": 9862,
                        "EndOffsetMillis": 19725
                    },
                    {
                        "Score": 5.0,
                        "BeginOffsetMillis": 19725,
                        "EndOffsetMillis": 29587
                    },
                    {
                       "Score": 5.0,
                        "BeginOffsetMillis": 29587,
                        "EndOffsetMillis": 39450
                    }
                    ],
                    "CUSTOMER": [{
                        "Score": -2.5,
                        "BeginOffsetMillis": 0,
                        "EndOffsetMillis": 10615
                    },
                    {
                        "Score": 5.0,
                        "BeginOffsetMillis": 10615,
                        "EndOffsetMillis": 21230
                    },
                    {
                        "Score": 2.5,
                        "BeginOffsetMillis": 21230,
                        "EndOffsetMillis": 31845
                    },
                    {
                        "Score": 5.0,
                        "BeginOffsetMillis": 31845,
                        "EndOffsetMillis": 42460
                    }
                    ]
                }
            }
        },
        "TalkSpeed": {
            "DetailsByParticipant": {
                "AGENT": {
                    "AverageWordsPerMinute": 150
                },
                "CUSTOMER": {
                    "AverageWordsPerMinute": 167
                }
            }
        },
        "TalkTime": {
            "DetailsByParticipant": {
                "AGENT": {
                    "TotalTimeMillis": 32750
                },
                "CUSTOMER": {
                    "TotalTimeMillis": 18010
                }
            },
            "TotalTimeMillis": 50760
        }
    },
    ...
}
```

# 실시간 통화 분석 트랜스크립션 시작
<a name="tca-start-stream"></a>

실시간 Call Analytics 트랜스크립션을 시작하기 전에 통화에서 일치시킬 모든 [범주](tca-categories-stream.md) Amazon Transcribe 를 생성해야 합니다.

**참고**  
통화 분석 트랜스크립트를 새 범주에 소급 적용할 수는 없습니다. 통화 분석 트랜스크립션을 시작하기 *전에* 생성한 범주만 트랜스크립션 출력에 적용할 수 있습니다.

범주를 하나 이상 생성했고 오디오가 범주 중 하나 이상의 모든 규칙과 일치하는 경우 Amazon Transcribe 에서는 일치하는 범주가 있는 출력에 플래그를 지정합니다. 범주를 사용하지 않기로 선택하거나 오디오가 범주에 지정된 규칙과 일치하지 않는 경우 트랜스크립트에 플래그가 지정되지 않습니다.

실시간 통화 분석 트랜스크립션에 통화 후 분석을 포함하려면 `OutputLocation` 파라미터를 사용하여 요청에 Amazon S3 버킷을 제공해야 합니다. 또한 지정된 버킷에 대한 쓰기 권한이 있는 `DataAccessRoleArn`도 포함해야 합니다. 실시간 통화 분석 스트리밍 세션이 완료되면 별도의 트랜스크립트가 생성되어 지정된 버킷에 저장됩니다.

실시간 통화 분석을 사용하면 실시간 범주 알림을 생성할 수도 있습니다. 지침은 [범주 일치에 대한 실시간 알림 생성](#tca-create-alert-stream) 섹션을 참조하세요.

실시간 통화 분석 트랜스크립션을 시작하려면 **AWS Management Console**, **HTTP/2** 또는 **WebSocket**을 사용할 수 있습니다. 예를 보려면 다음을 참조하세요.

**중요**  
현재는 오디오 예제가 사전 로드된 실시간 Call Analytics 데모 AWS Management Console 만 제공합니다. 자체 오디오를 사용하려면 API(HTTP/2, WebSocket 또는 SDK)를 사용해야 합니다.

## AWS Management Console
<a name="analytics-start-console-stream"></a>

다음 절차에 따라 통화 분석 요청을 시작합니다. 범주별로 정의된 모든 특성과 일치하는 통화에는 해당 범주로 레이블이 지정됩니다.

**참고**  
 AWS Management Console에서는 데모만 사용할 수 있습니다. 사용자 지정 실시간 분석 트랜스크립션을 시작하려면 [API](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html)를 사용해야 합니다.

1. 탐색 창의 Amazon Transcribe Call Analytics에서 **실시간 통화 분석을** 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '스트리밍 통화 분석' 데모 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-start-stream.png)

1. **1단계: 입력 오디오 지정**에서는 드롭다운 메뉴에서 데모 테스트 파일을 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 데모의 입력 오디오에 대한 드롭다운 선택입니다.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-start-stream-settings1.png)

1. **2단계: 통화 범주 검토**에서는 이전에 만든 실시간 통화 분석 범주를 검토할 수 있습니다. 모든 실시간 통화 분석 범주가 트랜스크립션에 적용됩니다.

   **범주 보기**를 선택하면 새 창이 열리면서 기존 실시간 통화 분석 범주를 표시하고 새 범주를 생성할 수 있는 링크를 제공합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '통화 분석 범주' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-start-stream-settings2.png)

1. **3단계: 입력 및 출력 구성**에서는 추가 설정을 적용할 수 있습니다.

   **고급 설정 구성**을 선택하면 콘텐츠 수정 설정을 지정할 수 있는 새 창이 열립니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 고급 설정 패널이 모두 축소되었습니다.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-start-stream-settings3.png)

   선택을 모두 마쳤으면 **저장**을 선택하여 메인 페이지로 돌아갑니다.

1. 추가 분석을 적용하려면 **통화 후 분석**을 켜면 됩니다. 이를 통해 중단, 음량, 침묵 시간, 발언 속도, 발언 시간, 문제, 조치 항목 및 결과를 포함하여 통화 후 분석 트랜스크립션과 동일한 분석을 얻을 수 있습니다. 통화 후 분석 출력은 실시간 통화 분석 트랜스크립션과 별도의 파일에 저장됩니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 통화 후 분석 패널이 축소되었습니다.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-start-stream-post-call1.png)

   통화 후 분석을 적용하는 경우 Amazon S3 출력 파일 대상과 IAM 역할을 지정해야 합니다. 출력을 암호화하도록 선택할 수 있습니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 통화 후 분석 패널이 확장되었습니다.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/analytics-start-stream-post-call1a.png)

1. **스트리밍 시작**을 선택합니다.

## HTTP/2 스트림
<a name="analytics-start-http2"></a>

이 예시에서는 통화 분석이 활성화된 상태에서 HTTP/2 요청을 생성합니다. 에서 HTTP/2 스트리밍을 사용하는 방법에 대한 자세한 내용은 섹션을 Amazon Transcribe참조하세요[HTTP/2 스트림 설정](streaming-setting-up.md#streaming-http2). 관련 파라미터 및 헤더에 대한 자세한 내용은 섹션을 Amazon Transcribe참조하세요[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html).

이 예에는 [통화 후 분석](tca-post-call.md)이 포함됩니다. 통화 후 분석을 원하지 않는 경우 요청에서 해당 `PostCallAnalyticsSettings` 섹션을 삭제하세요.

다음 예시에 표시된 구성 이벤트는 스트림의 첫 번째 이벤트로 전달해야 합니다.

```
POST /stream-transcription HTTP/2
host: transcribestreaming.us-west-2.amazonaws.com
X-Amz-Target: com.amazonaws.transcribe.Transcribe.StartCallAnalyticsStreamTranscription
Content-Type: application/vnd.amazon.eventstream
X-Amz-Content-Sha256: string
X-Amz-Date: 20220208T235959Z
Authorization: AWS4-HMAC-SHA256 Credential=access-key/20220208/us-west-2/transcribe/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target;x-amz-security-token, Signature=string
x-amzn-transcribe-language-code: en-US
x-amzn-transcribe-media-encoding: flac
x-amzn-transcribe-sample-rate: 16000  
transfer-encoding: chunked
    
{
    "AudioStream": { 
        "AudioEvent": { 
            "AudioChunk": blob
        },
        "ConfigurationEvent": {
            "ChannelDefinitions": [
                {
                    "ChannelId": 0,
                    "ParticipantRole": "AGENT"
                },
                {
                     "ChannelId": 1,
                    "ParticipantRole": "CUSTOMER"
                }
            ],
            "PostCallAnalyticsSettings": {
                "OutputLocation": "s3://amzn-s3-demo-bucket/my-output-files/",
                "DataAccessRoleArn": "arn:aws:iam::111122223333:role/ExampleRole"
            }
        }
    }
}
```

파라미터 정의는 [API 참조](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Reference.html)에서 찾을 수 있습니다. 모든 AWS API 작업에 공통적인 파라미터는 [공통 파라미터](https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonParameters.html) 섹션에 나열되어 있습니다.

## WebSocket 스트림
<a name="analytics-start-websocket"></a>

이 예에서는 WebSocket 스트림에서 통화 분석을 사용하는 미리 서명된 URL을 만듭니다. 가독성을 높이기 위해 줄바꿈이 추가되었습니다. Amazon Transcribe로 WebSocket 스트림을 사용하는 방법에 대한 자세한 내용은 [WebSocket 스트림 설정](streaming-setting-up.md#streaming-websocket)을 참조하세요. 파라미터에 대한 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html)을 참조하세요.

이 예에는 [통화 후 분석](tca-post-call.md)이 포함됩니다. 통화 후 분석을 원하지 않는 경우 요청에서 해당 `PostCallAnalyticsSettings` 섹션을 삭제하세요.

다음 예시에 표시된 구성 이벤트는 스트림의 첫 번째 이벤트로 전달해야 합니다.

```
GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/call-analytics-stream-transcription-websocket?
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20220208%2Fus-west-2%2Ftranscribe%2Faws4_request
&X-Amz-Date=20220208T235959Z
&X-Amz-Expires=300
&X-Amz-Security-Token=security-token
&X-Amz-Signature=string
&X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-date
&language-code=en-US
&media-encoding=flac    
&sample-rate=16000

{
    "AudioStream": { 
        "AudioEvent": { 
            "AudioChunk": blob
        },
        "ConfigurationEvent": {
            "ChannelDefinitions": [
                {
                    "ChannelId": 0,
                    "ParticipantRole": "AGENT"
                },
                {
                     "ChannelId": 1,
                    "ParticipantRole": "CUSTOMER"
                }
            ],
            "PostCallAnalyticsSettings": {
                "OutputLocation": "s3://amzn-s3-demo-bucket/my-output-files/",
                "DataAccessRoleArn": "arn:aws:iam::111122223333:role/ExampleRole"
            }
        }
    }
}
```

파라미터 정의는 [API 참조](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Reference.html)에서 찾을 수 있습니다. 모든 AWS API 작업에 공통적인 파라미터는 [공통 파라미터](https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonParameters.html) 섹션에 나열되어 있습니다.

**작은 정보**  
위의 HTTP/2 및 WebSocket 예시에는 통화 후 분석이 포함됩니다. 통화 후 분석을 원하지 않는 경우 요청에서 해당 `PostCallAnalyticsSettings` 섹션을 삭제하세요.  
`PostCallAnalyticsSettings`를 활성화한 경우 구성 이벤트를 첫 번째 이벤트로 전송해야 합니다. 구성 이벤트에는 이전 예와 같이 `ChannelDenifitions` 및 `PostStreamAnalyticsSettings`에 대한 설정이 포함됩니다.  
이진 데이터는 `content-type application/octet-stream`과 함께 이진 메시지로 전달되고 구성 이벤트는 `content-type application/json`과 함께 텍스트 메시지로 전달됩니다.  
자세한 내용은 [스트리밍 트랜스크립션 설정](streaming-setting-up.md) 단원을 참조하십시오.

## 범주 일치에 대한 실시간 알림 생성
<a name="tca-create-alert-stream"></a>

실시간 알림을 설정하려면 먼저 `REAL_TIME` 플래그가 있는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptFilter.html) 범주를 생성해야 합니다. 이 플래그를 사용하면 범주를 실시간 통화 분석 트랜스크립션에 적용할 수 있습니다.

새 범주 생성에 대한 지침은 [실시간 트랜스크립션의 범주 생성](tca-categories-stream.md) 섹션을 참조하세요.

실시간 통화 분석 트랜스크립션을 시작하면 `REAL_TIME` 플래그가 있는 모든 범주가 세그먼트 수준에서 트랜스크립션 출력에 자동으로 적용됩니다. `TranscriptFilterType` 일치가 발생하면 트랜스크립트의 `CategoryEvent` 섹션 아래에 표시됩니다. 그런 다음 이 파라미터와 해당 하위 파라미터(`MatchedCategories`, `MatchedDetails`)를 사용하고 사용자 지정 실시간 알림을 설정할 수 있습니다.

다음은 `CategoryEvent` 일치에 대한 실시간 통화 분석 트랜스크립션 출력의 예시입니다.

```
"CategoryEvent": { 
    "MatchedCategories": [ "shipping-complaint" ],
    "MatchedDetails": { 
        "my package never arrived" : { 
            "TimestampRanges": [    
                { 
                    "BeginOffsetMillis": 19010,
                    "EndOffsetMillis": 22690
                }
            ]
        }
    }
},
```

위의 예시는 '배송-불만' 범주의 규칙을 나타내는 "*택배가 도착하지 않았습니다*"라는 말과 정확히 일치하는 텍스트를 나타냅니다.

나열된 파라미터를 원하는 대로 조합하여 포함하도록 실시간 알림을 설정할 수 있습니다. 예를 들어 일치하는 구절(`MatchedDetails`)만 포함하거나 범주 이름(`MatchedCategories`)만 포함하도록 알림을 설정할 수 있습니다. 또는 모든 파라미터를 포함하도록 알림을 설정할 수도 있습니다.

실시간 알림을 설정하는 방법은 조직의 인터페이스와 원하는 알림 유형에 따라 달라집니다. 예를 들어 팝업 알림, 이메일, 문자 메시지 또는 시스템에서 수락할 수 있는 기타 알림을 보내도록 `CategoryEvent` 일치를 설정할 수 있습니다.

# 실시간 통화 분석 출력
<a name="tca-output-streaming"></a>

실시간 통화 분석 트랜스크립트는 세그먼트별 턴바이턴 형식으로 표시됩니다. 여기에는 범주 이벤트, 문제 감지, 감정, PII 식별 및 수정이 포함됩니다. 범주 이벤트를 통해 실시간 알림을 설정할 수 있습니다. 자세한 내용은 [범주 일치에 대한 실시간 알림 생성](tca-start-stream.md#tca-create-alert-stream) 섹션을 참조하세요.

정확도를 높이고 산업별 용어 포함 등 사용 사례에 맞게 트랜스크립트를 추가로 사용자 지정하려면 통화 분석 요청에 [사용자 지정 어휘](custom-vocabulary.md) 또는 [사용자 지정 언어 모델](custom-language-models.md)을 추가하세요. 트랜스크립션 결과에서 원하지 않는 욕설 등의 단어를 마스킹하거나 삭제하거나 태그를 지정하려면 [어휘 필터링](vocabulary-filtering.md)을 추가하세요.

다음 섹션에서는 실시간 통화 분석 트랜스크립션에 대한 JSON 출력의 예를 보여줍니다.

## 범주 이벤트
<a name="tca-output-category-event-stream"></a>

트랜스크립션 출력에서 범주 일치가 어떻게 보이는지는 다음과 같습니다. 이 예시는 19,010밀리초 타임스탬프에서 22,690밀리초 타임스탬프까지의 오디오가 '네트워크 불만 사항' 범주와 일치한다는 것을 보여줍니다. 이 경우 사용자 지정 '네트워크 불만 사항' 범주에서는 고객이 "*네트워크 문제*"(정확한 단어 일치)라고 말해야 합니다.

```
"CategoryEvent": { 
    "MatchedCategories": [ 
        "network-complaint" 
    ],
    "MatchedDetails": { 
        "network issues" : { 
            "TimestampRanges": [    
                { 
                    "BeginOffsetMillis": 9299375,
                    "EndOffsetMillis": 7899375
                }
            ]
        }
    }
},
```

## 문제 감지
<a name="tca-output-issue-detection-stream"></a>

트랜스크립션 출력의 문제 감지 일치 결과는 다음과 같습니다. 이 예시는 문자 26에서 문자 62까지의 텍스트가 문제를 설명한다는 것을 보여줍니다.

```
"UtteranceEvent": {
    ...
    "Transcript": "Wang Xiulan I'm tired of the network issues my phone is having.",
    ...
    "IssuesDetected": [
        {
            "CharacterOffsets": {
                "BeginOffsetChar": 26,
                "EndOffsetChar": 62
            }
        }
    ]
},
```

## 감정
<a name="tca-output-sentiment-stream"></a>

트랜스크립션 출력의 감정 분석은 다음과 같습니다.

```
"UtteranceEvent": {    
    ...
    "Sentiment": "NEGATIVE",
    "Items": [{
        ...
```

## PII 식별
<a name="tca-output-pii-id-stream"></a>

트랜스크립션 출력의 PII 식별은 다음과 같습니다.

```
"Entities": [
    {
        "Content": "Wang Xiulan",
        "Category": "PII",
        "Type": "NAME",
        "BeginOffsetMillis": 7999375,
        "EndOffsetMillis": 199375,
        "Confidence": 0.9989
    }
],
```

## PII 수정
<a name="tca-output-pii-redact-stream"></a>

트랜스크립션 출력의 PII 수정은 다음과 같습니다.

```
"Content": "[NAME]. Hi, [NAME]. I'm [NAME] Happy to be helping you today.",
"Redaction": {
    "RedactedTimestamps": [
        {
            "BeginOffsetMillis": 32670,
            "EndOffsetMillis": 33343
        }, 
        {
            "BeginOffsetMillis": 33518,
            "EndOffsetMillis": 33858
        }, 
        {
            "BeginOffsetMillis": 34068,
            "EndOffsetMillis": 34488
        }
    ]
},
```

## 언어 식별
<a name="tca-output-language-id-stream"></a>

트랜스크립션 출력의 언어 식별은 다음과 같습니다.

```
{
  "LanguageCode": "en-US",
  "LanguageIdentification": [
    {
      "Code": "en-US",
      "Score": 0.823
    },
    {
      "Code": "de-DE",
      "Score": 0.177
    }
  ]
}
```

## 컴파일된 실시간 통화 분석 출력
<a name="tca-output-streaming-compiled"></a>

다음 트랜스크립션 출력에서는 일부 내용을 간결하게 줄임표로 대체했습니다.

```
{
    "CallAnalyticsTranscriptResultStream": {
        "BadRequestException": {},
        "ConflictException": {},
        "InternalFailureException": {},
        "LimitExceededException": {},
        "ServiceUnavailableException": {},
        "UtteranceEvent": {
            "UtteranceId": "58c27f92-7277-11ec-90d6-0242ac120003",
            "ParticipantRole": "CUSTOMER",
            "IsPartial": false,
            "Transcript": "Wang Xiulan I'm tired of the network issues my phone is having.",
            "BeginOffsetMillis": 19010,
            "EndOffsetMillis": 22690,
            "Sentiment": "NEGATIVE",
            "Items": [{
                    "Content": "Wang",
                    "BeginOffsetMillis": 379937,
                    "EndOffsetMillis": 299375,
                    "Type": "pronunciation",
                    "Confidence": 0.9961,
                    "VocabularyFilterMatch": false
                },
                {
                    "Content": "Xiulan",
                    "EndOffsetMillis": 5899375,
                    "BeginOffsetMillis": 3899375,
                    "Type": "pronunciation",
                    "Confidence": 0.9961,
                    "VocabularyFilterMatch": false
                },
                ...
                {
                    "Content": "network",
                    "EndOffsetMillis": 199375,
                    "BeginOffsetMillis": 9299375,
                    "Type": "pronunciation",
                    "Confidence": 0.9961,
                    "VocabularyFilterMatch": false
                },
                {
                    "Content": "issues",
                    "EndOffsetMillis": 7899375,
                    "BeginOffsetMillis": 5999375,
                    "Type": "pronunciation",
                    "Confidence": 0.9961,
                    "VocabularyFilterMatch": false
                },
                {
                    "Content": "my",
                    "EndOffsetMillis": 9199375,
                    "BeginOffsetMillis": 7999375,
                    "Type": "pronunciation",
                    "Confidence": 0.9961,
                    "VocabularyFilterMatch": false
                },
                {
                    "Content": "phone",
                    "EndOffsetMillis": 199375,
                    "BeginOffsetMillis": 9299375,
                    "Type": "pronunciation",
                    "Confidence": 0.9961,
                    "VocabularyFilterMatch": false
                },
                ...
            ],
            "Entities": [{
                "Content": "Wang Xiulan",
                "Category": "PII",
                "Type": "NAME",
                "BeginOffsetMillis": 7999375,
                "EndOffsetMillis": 199375,
                "Confidence": 0.9989
            }],
            "IssuesDetected": [{
                "CharacterOffsets": {
                    "BeginOffsetChar": 26,
                    "EndOffsetChar": 62
                }
            }],
            "LanguageCode": "en-US",
            "LanguageIdentification": [
                {
                    "Code": "en-US",
                    "Score": 0.823
                },
                {
                    "Code": "de-DE",
                    "Score": 0.177
                }
            ]
        },
        "CategoryEvent": { 
            "MatchedCategories": [ 
                "network-complaint" 
            ],
            "MatchedDetails": { 
                "network issues" : { 
                    "TimestampRanges": [    
                        { 
                            "BeginOffsetMillis": 9299375,
                            "EndOffsetMillis": 7899375
                        }
                    ]
                }
            }
        }
    }
}
```