

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

# 테이블을 사용하여 사용자 지정 어휘 생성
<a name="custom-vocabulary-create-table"></a>

사용자 지정 어휘를 만들 때는 테이블 형식을 사용하는 것이 좋습니다. 어휘 테이블은 네 개의 열((Phrase, SoundsLike, IPA, and DisplayAs))로 구성되어야 하며, 어떤 순서로든 포함될 수 있습니다.


| 구절 | SoundsLike | IPA | DisplayAs | 
| --- | --- | --- | --- | 
|  필수 사항입니다. 테이블의 모든 행에는 이 열의 항목이 포함되어야 합니다. 이 열에는 스페이스를 사용하지 마세요. 항목에 여러 단어가 포함된 경우 각 단어를 하이픈(-)으로 구분합니다. 예: **Andorra-la-Vella**또는 **Los-Angeles**. 두문자어의 경우 발음되는 모든 문자를 마침표로 구분해야 합니다. 마지막 마침표도 발음해야 합니다. 두문자어가 복수형인 경우 두문자어와 's' 사이에 하이픈을 사용해야 합니다. 예를 들어, 'CLI'는 **C.L.I.**(**C.L.I** 아님)이고 'ABC'는 **A.B.C.-s**(**A.B.C-s** 아님) 입니다. 구절이 단어와 두문자어로 구성된 경우 이 두 구성 요소를 하이픈으로 구분해야 합니다. 예를 들어, 'DynamoDB'는 **Dynamo-D.B.**입니다. 이 열에 숫자를 포함하지 마세요. 숫자는 철자로 입력해야 합니다. 예를 들어, 'VX02Q'는 **V.X.-zero-two-Q.**입니다.  |  `SoundsLike`는 더 이상 사용자 지정 어휘에 지원되지 않습니다. 열을 비워 두십시오. 이 열의 모든 값은 무시됩니다. 이 열에 대한 지원은 향후 삭제될 예정입니다.  |  `IPA`는 더 이상 사용자 지정 어휘에 지원되지 않습니다. 열을 비워 두십시오. 이 열의 모든 값은 무시됩니다. 이 열에 대한 지원은 향후 삭제될 예정입니다.  |  선택 사항입니다. 이 열의 행은 비워 둘 수 있습니다. 이 열에는 스페이스를 사용할 수 있습니다. 트랜스크립션 출력에서 항목이 어떻게 보이길 원하는지 정의합니다. 예를 들어, `Phrase` 열의 **Andorra-la-Vella**는 `DisplayAs` 열의 **Andorra la Vella**입니다. 이 열의 행이 비어 있는 경우 Amazon Transcribe는 `Phrase` 열의 콘텐츠를 사용하여 출력을 결정합니다. 이 열에 숫자(`0-9`)를 포함할 수 있습니다.  | 

테이블을 만들 때 참고할 사항:
+ 테이블에는 열 헤더 4개가 모두 포함되어야 합니다 (Phrase, SoundsLike, IPA, and DisplayAs). `Phrase` 열에는 각 행의 항목이 포함되어야 합니다. `IPA` 및 `SoundsLike`를 통해 발음 입력을 제공하는 기능은 더 이상 지원되지 않으며 열을 비워 둘 수 있습니다. 이러한 열의 모든 값은 무시됩니다.
+ 각 열은 TAB 또는 쉼표(,)로 구분해야 합니다. 이는 사용자 지정 어휘 파일의 모든 행에 적용됩니다. 행에 빈 열이 있는 경우에도 각 열에 구분자(TAB 또는 쉼표)를 포함해야 합니다.
+ `IPA` 및 `DisplayAs` 열 내에만 스페이스가 허용됩니다. 스페이스를 사용하여 열을 구분하지 마세요.
+ `IPA` 및 `SoundsLike`는 더 이상 사용자 지정 어휘에 지원되지 않습니다. 열을 비워 두십시오. 이러한 열의 모든 값은 무시됩니다. 이 열에 대한 지원은 향후 삭제될 예정입니다.
+ `DisplayAs` 열은 기호와 특수 문자(예: C\$1\$1)를 지원합니다. 다른 모든 열은 해당 언어의 [문자 집합](charsets.md) 페이지에 나열된 문자를 지원합니다.
+ `Phrase` 열에 숫자를 포함하려면 철자를 입력해야 합니다. 숫자(`0-9`)는 `DisplayAs` 열에서만 지원됩니다.
+ 테이블을 `LF` 형식의 일반 텍스트(\$1.txt) 파일로 저장해야 합니다. 다른 형식(예: `CRLF`)을 사용하는 경우 사용자 지정 어휘를 처리할 수 없습니다.
+ 사용자 지정 어휘 파일을 Amazon S3 버킷에 업로드하고 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html)을 사용하여 처리해야 트랜스크립션 요청에 포함시킬 수 있습니다. 지침은 [사용자 지정 어휘 테이블 생성](#custom-vocabulary-create-table-examples) 단원을 참조하세요.

**참고**  
두문자어 또는 문자를 개별적으로 발음해야 하는 기타 단어는 마침표로 구분된 단일 문자로 입력합니다(**A.B.C.**). 두문자어의 복수 형태를 입력하려면(예: 'ABCs') 하이픈으로 두문자어에서 's'를 구분합니다(**A.B.C.-s**). 대문자 또는 소문자를 사용해 두문자어를 정의할 수 있습니다. 모든 언어에서 두문자어가 지원되는 것은 아닙니다. [지원되는 언어 및 언어별 기능](supported-languages.md)를 참조하세요.

다음은 샘플 사용자 지정 어휘 테이블입니다(여기서 **[TAB]**은 탭 문자를 나타냄).

```
Phrase[TAB]SoundsLike[TAB]IPA[TAB]DisplayAs
Los-Angeles[TAB][TAB][TAB]Los Angeles
Eva-Maria[TAB][TAB][TAB]
A.B.C.-s[TAB][TAB][TAB]ABCs
Amazon-dot-com[TAB][TAB][TAB]Amazon.com
C.L.I.[TAB][TAB][TAB]CLI
Andorra-la-Vella[TAB][TAB][TAB]Andorra la Vella
Dynamo-D.B.[TAB][TAB][TAB]DynamoDB
V.X.-zero-two[TAB][TAB][TAB]VX02
V.X.-zero-two-Q.[TAB][TAB][TAB]VX02Q
```

시각적 명확성을 위해 동일한 테이블에 열이 정렬되어 있습니다. 사용자 지정 어휘 테이블의 열 사이에 스페이스를 추가하지 **마세요**. 위의 예와 같이 테이블이 잘못 정렬되어 보일 수 있습니다.

```
Phrase          [TAB]SoundsLike          [TAB]IPA                [TAB]DisplayAs  
Los-Angeles     [TAB]                    [TAB]                   [TAB]Los Angeles   
Eva-Maria       [TAB]                    [TAB]                   [TAB]
A.B.C.-s        [TAB]                    [TAB]                   [TAB]ABCs  
amazon-dot-com  [TAB]                    [TAB]                   [TAB]amazon.com
C.L.I.          [TAB]                    [TAB]                   [TAB]CLI   
Andorra-la-Vella[TAB]                    [TAB]                   [TAB]Andorra la Vella
Dynamo-D.B.     [TAB]                    [TAB]                   [TAB]DynamoDB
V.X.-zero-two   [TAB]                    [TAB]                   [TAB]VX02
V.X.-zero-two-Q.[TAB]                    [TAB]                   [TAB]VX02Q
```

## 사용자 지정 어휘 테이블 생성
<a name="custom-vocabulary-create-table-examples"></a>

Amazon Transcribe에서 사용할 사용자 지정 어휘 테이블을 처리하려면 다음 예를 참조하세요.

### AWS Management Console
<a name="vocab-create-table-console"></a>

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/vocab-create-console.png)

   그러면 **어휘 생성** 페이지로 이동합니다. 새 사용자 지정 어휘의 이름을 입력합니다.

   여기에는 다음과 같은 3가지 옵션이 있습니다.

   1. 컴퓨터에서 txt 또는 csv 파일을 업로드합니다.

      사용자 지정 어휘를 새로 만들거나 시작하는 데 도움이 되는 템플릿을 다운로드할 수 있습니다. 그러면 **어휘 보기 및 편집** 창에 어휘가 자동으로 채워집니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '어휘 생성 및 가져오기' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/vocab-create-console-upload.png)

   1. Amazon S3 위치에서 txt 또는 csv 파일을 가져옵니다.

      사용자 지정 어휘를 새로 만들거나 시작하는 데 도움이 되는 템플릿을 다운로드할 수 있습니다. 완성된 어휘 파일을 Amazon S3 버킷에 업로드하고 요청에 해당 URI를 지정합니다. 그러면 **어휘 보기 및 편집** 창에 어휘가 자동으로 채워집니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '어휘 생성 및 가져오기' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/vocab-create-console-s3.png)

   1. 콘솔에서 어휘를 수동으로 생성합니다.

      **어휘 보기 및 편집** 창으로 스크롤하여 **10개 행 추가**를 선택합니다. 이제 용어를 수동으로 입력할 수 있습니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '어휘 생성 및 가져오기' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/vocab-create-console-manual.png)

1. **어휘 보기 및 편집** 창에서 어휘를 편집할 수 있습니다. 변경하려면 수정할 항목을 클릭합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '어휘 생성 및 편집' 창.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/vocab-create-edit2.png)

   오류가 발생하면 자세한 오류 메시지가 표시되므로 어휘를 처리하기 전에 문제를 수정할 수 있습니다. 단, **어휘 생성**을 선택하기 전에 모든 오류를 수정하지 않으면 어휘 요청이 실패한다는 점에 유의하세요.  
![\[Amazon Transcribe 콘솔 스크린샷: '어휘 생성 및 편집' 창.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/vocab-create-edit3.png)

   변경 내용을 저장하려면 체크 표시(✓)를 선택하고 변경 내용을 삭제하려면 'X'를 선택합니다.

1. 필요에 따라 사용자 지정 어휘에 태그를 추가합니다. 모든 필드를 작성하고 어휘에 만족하면 페이지 하단에서 **어휘 생성**을 선택합니다. 그러면 **사용자 지정 어휘** 페이지로 돌아가서 사용자 지정 어휘의 상태를 볼 수 있습니다. 상태가 '보류 중'에서 '준비'로 변경되면 사용자 지정 어휘를 트랜스크립션과 함께 사용할 수 있습니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 처리 중 보류 상태에 있는 사용자 지정 어휘.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/vocab-create-console-pending.png)

1. 상태가 '실패'로 변경되면 사용자 지정 어휘의 이름을 선택하여 해당 정보 페이지로 이동합니다.  
![\[Amazon Transcribe 콘솔 스크린샷: 한 어휘는 완료로, 한 어휘는 실패로 표시하는 '사용자 지정 어휘' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/vocab-create-console-failed.png)

   이 페이지 상단에는 사용자 지정 어휘가 실패한 이유에 대한 정보를 제공하는 **실패 사유** 배너가 있습니다. 텍스트 파일에서 오류를 수정하고 다시 시도하세요.  
![\[Amazon Transcribe 콘솔 스크린샷: 어휘의 정보 페이지에 실패 사유가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/vocab-create-console-failed2.png)

### AWS CLI
<a name="vocab-create-table-cli"></a>

이 예시에서는 테이블 형식의 어휘 파일과 함께 [create-vocabulary](https://docs.aws.amazon.com/cli/latest/reference/transcribe/create-vocabulary.html) 명령을 사용합니다. [자세한 내용은 `CreateVocabulary` 단원을 참조하세요.](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html)

트랜스크립션 작업에서 기존 사용자 지정 어휘를 사용하려면 [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_Settings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Settings.html) 필드에 `VocabularyName`을 설정하거나 AWS Management Console에서 드롭다운 목록에 있는 사용자 지정 어휘를 선택합니다.

```
aws transcribe create-vocabulary \ 
--vocabulary-name my-first-vocabulary \ 
--vocabulary-file-uri s3://amzn-s3-demo-bucket/my-vocabularies/my-vocabulary-file.txt \
--language-code en-US
```

다음은 [create-vocabulary](https://docs.aws.amazon.com/cli/latest/reference/transcribe/create-vocabulary.html) 명령을 사용하는 또 다른 예 및 사용자 지정 어휘를 생성하는 요청 본문입니다.

```
aws transcribe create-vocabulary \
--cli-input-json file://filepath/my-first-vocab-table.json
```

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

```
{
  "VocabularyName": "my-first-vocabulary",
  "VocabularyFileUri": "s3://amzn-s3-demo-bucket/my-vocabularies/my-vocabulary-table.txt",
  "LanguageCode": "en-US"
}
```

`VocabularyState`가 `PENDING`에서 `READY`로 변경되면 사용자 지정 어휘를 트랜스크립션과 함께 사용할 수 있습니다. 사용자 지정 어휘의 현재 상태를 보려면 다음을 실행합니다.

```
aws transcribe get-vocabulary \
--vocabulary-name my-first-vocabulary
```

### AWS SDK for Python (Boto3)
<a name="vocab-create-table-python-batch"></a>

이 예시에서는 AWS SDK for Python (Boto3)을 사용하여 [create\$1vocabulary](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.create_vocabulary) 메서드를 사용하는 테이블에서 사용자 지정 어휘를 만듭니다. [자세한 내용은 `CreateVocabulary` 단원을 참조하세요.](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html)

트랜스크립션 작업에서 기존 사용자 지정 어휘를 사용하려면 [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_Settings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Settings.html) 필드에 `VocabularyName`을 설정하거나 AWS Management Console에서 드롭다운 목록에 있는 사용자 지정 어휘를 선택합니다.

기능별, 시나리오 및 교차 서비스 예를 포함하여 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')
vocab_name = "my-first-vocabulary"
response = transcribe.create_vocabulary(
    LanguageCode = 'en-US',
    VocabularyName = vocab_name,
    VocabularyFileUri = 's3://amzn-s3-demo-bucket/my-vocabularies/my-vocabulary-table.txt'
)

while True:
    status = transcribe.get_vocabulary(VocabularyName = vocab_name)
    if status['VocabularyState'] in ['READY', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5)
print(status)
```

**참고**  
사용자 지정 어휘 파일을 위한 새 Amazon S3 버킷을 만드는 경우 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html) 요청을 하는 IAM 역할에 이 버킷에 액세스할 수 있는 권한이 있는지 확인합니다. 역할에 올바른 권한이 없는 경우 요청이 실패합니다. 필요에 따라 `DataAccessRoleArn` 파라미터를 포함하여 요청 내에서 IAM 역할을 지정할 수 있습니다. Amazon Transcribe의 IAM 역할 및 정책에 대한 자세한 내용은 [Amazon Transcribe 자격 증명 기반 정책 예제](security_iam_id-based-policy-examples.md)를 참조하세요.