

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

# 사용자 지정 언어 모델


사용자 지정 언어 모델은 도메인별 음성의 트랜스크립션 정확도를 개선하도록 설계되었습니다. 여기에는 일상적인 대화에서 들을 수 있는 내용 이외의 모든 콘텐츠가 포함됩니다. 예를 들어 과학 컨퍼런스의 자료집을 트랜스크립션하는 경우 표준 트랜스크립션으로는 발표자가 사용하는 과학 용어 중 상당수를 인식하지 못할 수 있습니다. 이 경우 해당 분야에서 사용되는 특수 용어를 인식하도록 사용자 지정 언어 모델을 훈련할 수 있습니다.

힌트(예: 발음)를 제공하여 단어 인식을 높이는 사용자 지정 어휘와 달리 사용자 지정 언어 모델은 주어진 단어와 관련된 컨텍스트를 학습합니다. 여기에는 단어를 사용하는 방식과 시기, 단어와 다른 단어의 관계가 포함됩니다. 예를 들어, 기후 과학 연구 논문을 사용하여 모델을 훈련시키면 모델은 'ice flow'보다 'ice floe'가 단어 페어일 가능성이 더 높다는 것을 학습합니다.

사용자 지정 언어 모델에 지원되는 언어를 보려면 [지원되는 언어 및 언어별 기능](supported-languages.md)를 참조하세요. 단, 요청에 사용자 지정 언어 모델을 포함하는 경우 언어 식별을 활성화할 수 없습니다(언어 코드를 지정해야 함).

**사용자 지정 언어 모델 관련 API 작업**  
 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html), [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DeleteLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DeleteLanguageModel.html), [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DescribeLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DescribeLanguageModel.html), [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ListLanguageModels.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ListLanguageModels.html) 

## 데이터 소스


모델을 훈련하 데 필요한 모든 유형의 텍스트 데이터를 사용할 수 있습니다. 그러나 텍스트 콘텐츠가 오디오 콘텐츠에 가까울수록 모델의 정확도가 높아집니다. 따라서 오디오와 같은 컨텍스트에서 같은 용어를 사용하는 텍스트 데이터를 선택하는 것이 중요합니다.

모델 훈련에 가장 적합한 데이터는 정확한 트랜스크립트입니다. 이는 도메인 내 데이터로 간주됩니다. 도메인 내 텍스트 데이터는 트랜스크립션하려는 오디오와 정확히 동일한 용어, 사용법 및 컨텍스트를 가지고 있습니다.

정확한 트랜스크립트가 없는 경우 저널 기사, 기술 보고서, 백서, 회의 자료집, 지침 매뉴얼, 뉴스 기사, 웹 사이트 콘텐츠 및 오디오와 비슷한 컨텍스트에서 사용되는 원하는 용어가 포함된 기타 텍스트를 사용하세요. 이는 도메인 관련 데이터로 간주됩니다.

강력한 사용자 지정 언어 모델을 생성하려면 상당한 양의 텍스트 데이터가 필요할 수 있으며, 이 데이터에는 오디오에서 사용되는 용어가 포함되어야 합니다. 모델을 훈련하기 위해 최대 2GB의 텍스트 데이터를 Amazon Transcribe에 제공할 수 있습니다. 이를 **훈련** 데이터라고 합니다. 선택적으로 도메인 내 트랜스크립트가 없거나(또는 적은 경우) 최대 200MB의 텍스트 데이터를 Amazon Transcribe에 제공하여 모델을 미세 조정할 수 있습니다. 이를 **미세 조정 데이터**라고 합니다.

## 훈련 데이터와 미세 조정 데이터 비교


훈련 데이터의 목적은 Amazon Transcribe가 새로운 용어를 인식하고 이러한 용어가 사용되는 컨텍스트를 학습하도록 가르치는 것입니다. 강력한 모델을 생성하려면 Amazon Transcribe에 많은 양의 관련 텍스트 데이터가 필요할 수 있습니다. 훈련 데이터를 최대한 많이(최대 2GB 제한) 제공하는 것이 좋습니다.

미세 조정 데이터의 목적은 훈련 데이터에서 학습한 컨텍스트 관계를 세부 조정하고 최적화하는 데 도움을 주는 것입니다. 사용자 지정 언어 모델을 생성하는 데 미세 조정 데이터가 필수는 아닙니다.

훈련 데이터 및 선택적으로 미세 조정 데이터를 선택하는 최선의 방법을 결정하는 것은 사용자의 몫입니다. 각 사례는 고유하며 보유한 데이터의 유형과 양에 따라 달라집니다. 도메인 내 훈련 데이터가 부족한 경우에는 미세 조정 데이터가 권장됩니다.

두 데이터 유형을 모두 포함하도록 선택하는 경우 훈련 데이터와 미세 조정 데이터가 겹치면 **안 됩니다**. 훈련 데이터와 미세 조정 데이터는 고유해야 합니다. 데이터가 겹치면 사용자 지정 언어 모델이 편향되고 왜곡되어 정확도에 영향을 미칠 수 있습니다.

일반적인 지침으로서, 가능하면 항상 정확한 도메인 내 텍스트를 훈련 데이터로 사용하는 것이 좋습니다. 다음은 몇 가지 일반적인 시나리오를 선호하는 순서대로 나열한 것입니다.
+ 10,000개 단어 이상의 정확한 도메인 내 트랜스크립트 텍스트가 있는 경우 이를 훈련 데이터로 사용합니다. 이 경우 미세 조정 데이터를 포함할 필요가 없습니다. 사용자 지정 언어 모델을 훈련할 수 있는 이상적인 시나리오입니다.
+ 10,000개 단어 미만의 정확한 도메인 내 트랜스크립트 텍스트가 있으며 원하는 결과를 얻지 못하는 경우 기술 보고서와 같은 도메인 관련 작성된 텍스트로 훈련 데이터를 보강하는 것을 고려해 보세요. 이 경우 도메인 내 트랜스크립트 데이터의 일부(10\$125%)를 따로 남겨두어 미세 조정 데이터로 사용합니다.
+ 도메인 내 트랜스크립트 텍스트가 없는 경우 모든 도메인 관련 텍스트를 훈련 데이터로 업로드합니다. 이 경우 작성된 텍스트보다 트랜스크립트 스타일의 텍스트를 사용하는 것이 좋습니다. 사용자 지정 언어 모델을 훈련할 수 있는 가장 덜 효과적인 시나리오입니다.

모델을 생성할 준비가 되었으면 [사용자 지정 언어 모델 생성](custom-language-models-create.md)을 참조하세요.

# 사용자 지정 언어 모델 생성


사용자 지정 언어 모델을 만들려면 먼저 다음을 수행해야 합니다.
+ 데이터를 준비합니다. 데이터는 일반 텍스트 형식으로 저장해야 하며 특수 문자를 포함할 수 없습니다.
+ 데이터를 Amazon S3 버킷에 업로드합니다. 훈련 데이터 및 미세 조정 데이터용으로 별도의 폴더를 만드는 것이 좋습니다.
+ Amazon Transcribe에 Amazon S3 버킷에 대한 액세스 권한이 있는지 확인합니다. 데이터를 사용하려면 액세스 권한이 있는 IAM 역할을 지정해야 합니다.

## 데이터 준비


모든 데이터를 하나의 파일로 컴파일하거나 여러 파일로 저장할 수 있습니다. 참고로 미세 조정 데이터를 포함하도록 선택한 경우, 미세 조정 데이터는 훈련 데이터와는 별도의 파일에 저장해야 합니다.

훈련 또는 미세 조정 데이터에 사용하는 텍스트 파일의 수는 중요하지 않습니다. 100,000개 단어가 포함된 파일 하나를 업로드하면 10,000개 단어가 포함된 파일 10개를 업로드하는 것과 같은 결과가 나옵니다. 가장 편리한 방법으로 텍스트 데이터를 준비합니다.

모든 데이터 파일이 다음 기준을 충족하는지 확인합니다.
+ 모두 생성하려는 모델과 동일한 언어로 되어 있습니다. 예를 들어 오디오를 미국 영어(`en-US`)로 트랜스크립션하는 사용자 지정 언어 모델을 생성하려면 모든 텍스트 데이터가 미국 영어로 되어 있어야 합니다.
+ UTF-8 인코딩을 사용하는 일반 텍스트 형식입니다.
+ HTML 태그와 같은 특수 문자나 서식이 포함되어 있지 않습니다.
+ 최대 총 크기는 훈련 데이터의 경우 2GB, 미세 조정 데이터의 경우 200MB입니다.

이러한 기준 중 하나라도 충족되지 않으면 모델이 작동하지 않습니다.

## 데이터 업로드


데이터를 업로드하기 전에 훈련 데이터를 위한 새 폴더를 만듭니다. 미세 조정 데이터를 사용하는 경우 별도의 폴더를 하나 더 생성합니다.

버킷의 URI는 다음과 같을 수 있습니다.
+ `s3://amzn-s3-demo-bucket/my-model-training-data/`
+ `s3://amzn-s3-demo-bucket/my-model-tuning-data/`

훈련 및 미세 조정 데이터를 적절한 버킷에 업로드합니다.

나중에 이러한 버킷에 더 많은 데이터를 추가할 수 있습니다. 하지만 그렇게 할 경우 새 데이터로 모델을 다시 생성해야 합니다. 기존 모델은 새 데이터로 업데이트할 수 없습니다.

## 데이터 액세스 허용


사용자 지정 언어 모델을 생성하려면 Amazon S3 버킷에 액세스할 권한이 있는 IAM 역할을 지정해야 합니다. 훈련 데이터를 배치한 Amazon S3 버킷에 액세스할 수 있는 역할이 아직 없는 경우에는 역할을 생성해야 합니다. 역할을 생성한 후 해당 역할에 권한을 부여하는 정책을 연결할 수 있습니다. 사용자에게 정책을 연결하지 않습니다.

예시 정책은 [Amazon Transcribe 자격 증명 기반 정책 예제](security_iam_id-based-policy-examples.md) 섹션을 참조하세요.

새 IAM 자격 증명을 생성하는 방법을 알아보려면 [IAM 자격 증명(사용자, 사용자 그룹 및 역할)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)을 참조하세요.

정책에 대한 자세한 정보는 다음을 참조하세요.
+ [IAM의 정책 및 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)
+ [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-start)
+ [AWS 리소스에 대한 액세스 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/access)

## 사용자 지정 언어 모델 생성


사용자 지정 언어 모델을 생성할 때는 기본 모델을 선택해야 합니다. 두 가지 기본 모델 옵션이 있습니다.
+ `NarrowBand`: 샘플 속도가 16,000Hz 미만인 오디오에 이 옵션을 사용합니다. 이 모델 유형은 일반적으로 8,000Hz로 녹음된 전화 통화에 사용됩니다.
+ `WideBand`: 샘플 속도가 16,000Hz 이상인 오디오에 이 옵션을 사용합니다.

AWS Management Console, AWS CLI 또는 AWS SDK를 사용하여 사용자 지정 언어 모델을 생성할 수 있습니다. 다음 예를 참조하세요.

### AWS Management Console


1. 에 로그인합니다..[AWS Management Console](https://console.aws.amazon.com/transcribe/)

1. 탐색 창에서 **사용자 지정 언어 모델**을 선택합니다. 그러면 기존 사용자 지정 언어 모델을 확인하거나 새 사용자 지정 언어 모델을 훈련할 수 있는 **사용자 지정 언어 모델** 페이지가 열립니다.

1. 새 모델을 훈련하려면 **모델 훈련**을 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '사용자 지정 언어 모델' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/clm-create-console.png)

   **모델 훈련** 페이지로 이동됩니다. 이름을 추가하고 언어를 지정한 다음 모델에 사용할 기본 모델을 선택합니다. 그런 다음 훈련 데이터 경로를 추가하고 선택적으로 미세 조정 데이터 경로를 추가합니다. 데이터에 대한 액세스 권한이 있는 IAM 역할을 포함해야 합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '모델 훈련' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/clm-train-console.png)

1. 모든 필드를 작성했으면 페이지 하단에서 **모델 훈련**을 선택합니다.

### AWS CLI


이 예시에서는 [create-language-model](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/create-language-model.html) 명령을 사용합니다. 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html) 및 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageModel.html)을(를) 참조하세요.

```
aws transcribe create-language-model \ 
--base-model-name NarrowBand \ 
--model-name my-first-language-model \ 
--input-data-config S3Uri=s3://amzn-s3-demo-bucket/my-clm-training-data/,TuningDataS3Uri=s3://amzn-s3-demo-bucket/my-clm-tuning-data/,DataAccessRoleArn=arn:aws:iam::111122223333:role/ExampleRole \
--language-code en-US
```

다음은 [create-language-model](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) 명령을 사용하는 또 다른 예 및 사용자 지정 언어 모델을 생성하는 요청 본문입니다.

```
aws transcribe create-language-model \
--cli-input-json file://filepath/my-first-language-model.json
```

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

```
{
  "BaseModelName": "NarrowBand",
  "ModelName": "my-first-language-model",
  "InputDataConfig": {
         "S3Uri": "s3://amzn-s3-demo-bucket/my-clm-training-data/",
         "TuningDataS3Uri"="s3://amzn-s3-demo-bucket/my-clm-tuning-data/",
         "DataAccessRoleArn": "arn:aws:iam::111122223333:role/ExampleRole"
    },
  "LanguageCode": "en-US"  
}
```

### AWS SDK for Python (Boto3)


[이 예시에서는 AWS SDK for Python (Boto3)을 사용하여 create\$1language\$1model](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.create_language_model) 메서드를 사용하여 CLM을 생성합니다. 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html) 및 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageModel.html)을(를) 참조하세요.

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

```
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe', 'us-west-2')
model_name = 'my-first-language-model',
transcribe.create_language_model(
    LanguageCode = 'en-US', 
    BaseModelName = 'NarrowBand',
    ModelName = model_name,
    InputDataConfig = {
        'S3Uri':'s3://amzn-s3-demo-bucket/my-clm-training-data/',
        'TuningDataS3Uri':'s3://amzn-s3-demo-bucket/my-clm-tuning-data/',
        'DataAccessRoleArn':'arn:aws:iam::111122223333:role/ExampleRole'
    }
)

while True:
    status = transcribe.get_language_model(ModelName = model_name)
    if status['LanguageModel']['ModelStatus'] in ['COMPLETED', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5)
print(status)
```

## 사용자 지정 언어 모델 업데이트


Amazon Transcribe는 사용자 지정 언어 모델에 사용할 수 있는 기본 모델을 지속적으로 업데이트합니다. 이러한 업데이트를 활용하려면 6\$112개월마다 새로운 사용자 지정 언어 모델을 훈련하는 것이 좋습니다.

사용자 지정 언어 모델이 최신 기본 모델을 사용하는지 확인하려면 AWS CLI 또는 AWS SDK를 사용하여 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DescribeLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DescribeLanguageModel.html) 요청을 실행한 다음 응답에서 `UpgradeAvailability` 필드를 찾습니다.

`UpgradeAvailability`이 `true`이면 모델이 기본 모델의 최신 버전을 실행하고 있지 않은 것입니다. 사용자 지정 언어 모델에서 최신 기본 모델을 사용하려면 새 사용자 지정 언어 모델을 생성해야 합니다. 사용자 지정 언어 모델은 업그레이드할 수 없습니다.

# 사용자 지정 언어 모델 사용


사용자 지정 어휘를 생성한 후에 트랜스크립션 요청에 포함시킬 수 있습니다. 예를 보려면 다음 섹션을 참조하세요.

요청에 포함하려는 모델의 언어는 미디어에 지정한 언어 코드와 일치해야 합니다. 언어가 일치하지 않으면 사용자 지정 언어 모델이 트랜스크립션에 적용되지 않으며 경고나 오류도 없습니다.

## 배치 트랜스크립션에서 사용자 지정 언어 모델 사용


배치 트랜스크립션과 함께 사용자 지정 언어 모델을 사용하려면 다음 예를 참조하세요.

### AWS Management Console


1. [AWS Management Console](https://console.aws.amazon.com/transcribe/)에 로그인합니다.

1. 탐색 창에서 **트랜스크립션 작업**을 선택한 다음 **작업 생성**(오른쪽 상단)을 선택합니다. 그러면 **작업 세부 정보 지정** 페이지가 열립니다.

1. **작업 설정** 패널의 **모델 유형**에서 **사용자 지정 언어 모델** 상자를 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '작업 설정' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/clm-console.png)

   또한 드롭다운 메뉴에서 입력 언어를 선택해야 합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 드롭다운 언어 메뉴를 보여주는 '작업 설정' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/clm-console-language.png)

1. **사용자 지정 모델 선택** 아래의 드롭다운 메뉴에서 기존 사용자 지정 언어 모델을 선택하거나 **새 사용자 지정 언어 모델 생성**을 선택합니다.

   입력 **데이터 패널에 입력** 파일의 Amazon S3 위치를 추가합니다.

1. 추가 구성 옵션을 보려면 **다음**을 선택합니다.

   **작업 생성**을 선택하여 트랜스크립션 작업을 실행합니다.

### AWS CLI


이 예시에서는 [start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) 명령 및 `ModelSettings` 파라미터를 `VocabularyName` 하위 파라미터와 함께 사용합니다. 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) 및 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ModelSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ModelSettings.html) 섹션을 참조하세요.

```
aws transcribe start-transcription-job \
--region us-west-2 \
--transcription-job-name my-first-transcription-job \
--media MediaFileUri=s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac \
--output-bucket-name amzn-s3-demo-bucket \
--output-key my-output-files/ \
--language-code en-US \
--model-settings LanguageModelName=my-first-language-model
```

다음은 [start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) 명령을 사용하는 또 다른 예 및 해당 작업과 함께 사용자 지정 언어 모델을 포함하는 요청 본문입니다.

```
aws transcribe start-transcription-job \
--region us-west-2 \
--cli-input-json file://my-first-model-job.json
```

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

```
{
  "TranscriptionJobName": "my-first-transcription-job",
  "Media": {
        "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
  },
  "OutputBucketName": "amzn-s3-demo-bucket",
  "OutputKey": "my-output-files/", 
  "LanguageCode": "en-US",
  "ModelSettings": {
        "LanguageModelName": "my-first-language-model"
   }
}
```

### AWS SDK for Python (Boto3)


이 예제에서는 AWS SDK for Python (Boto3) 를 사용하여 [start\$1transcription\$1job](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.start_transcription_job) 메서드에 대한 `ModelSettings` 인수를 사용하여 사용자 지정 언어 모델을 포함합니다. 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) 및 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ModelSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_ModelSettings.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')
job_name = "my-first-transcription-job"
job_uri = "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
transcribe.start_transcription_job(
    TranscriptionJobName = job_name,
    Media = {
        'MediaFileUri': job_uri
    },
    OutputBucketName = 'amzn-s3-demo-bucket',
    OutputKey = 'my-output-files/', 
    LanguageCode = 'en-US', 
    ModelSettings = {
        'LanguageModelName': 'my-first-language-model' 
   }
)

while True:
    status = transcribe.get_transcription_job(TranscriptionJobName = job_name)
    if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5)
print(status)
```

## 스트리밍 트랜스크립션에서 사용자 지정 언어 모델 사용


스트리밍 트랜스크립션과 함께 사용자 지정 언어 모델을 사용하려면 다음 예를 참조하세요.

### AWS Management Console


1. [AWS Management Console](https://console.aws.amazon.com/transcribe/)에 로그인합니다.

1. 탐색 창에서 **실시간 트랜스크립션**을 선택합니다. **사용자 지정**까지 아래로 스크롤하고 최소화된 경우 이 필드를 확장합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '실시간 트랜스크립션' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/stream-main.png)

1. **사용자 지정 언어 모델**을 켜고 드롭다운 메뉴에서 모델을 선택합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 확장된 '사용자 지정' 패널.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/model-stream2.png)

   스트림에 적용할 기타 설정을 포함합니다.

1. 이제 스트림을 트랜스크립션할 준비가 되었습니다. **스트리밍 시작**을 선택하고 말하기 시작합니다. 구술을 끝내려면 **스트리밍 중지**를 선택합니다.

### HTTP/2 스트림


이 예시에서는 사용자 지정 언어 모델이 포함된 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_StartStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartStreamTranscription.html).

```
POST /stream-transcription HTTP/2
host: transcribestreaming.us-west-2.amazonaws.com
X-Amz-Target: com.amazonaws.transcribe.Transcribe.StartStreamTranscription
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      
x-amzn-transcribe-language-model-name: my-first-language-model
transfer-encoding: chunked
```

파라미터 정의는 [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 스트림


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

```
GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/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    
&language-model-name=my-first-language-model
```

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