

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用資料表建立自訂詞彙
<a name="custom-vocabulary-create-table"></a>

使用表格格式是建立自訂詞彙的首選方式。詞彙表必須由四個欄 (Phrase, SoundsLike, IPA, and DisplayAs) 組成，可依任何順序包含：


| 片語 | SoundsLike | IPA | DisplayAs | 
| --- | --- | --- | --- | 
| 必要. 表格中的每一列都必須包含此欄中的項目。<br />請勿在此欄中使用空格。<br />如果您輸入的內容包含多個單字，請以連字號 (-) 分隔每個單字。例如 **Andorra-la-Vella** 或 **Los-Angeles**。<br />對於縮寫詞，任何發音的字母都必須使用句點分隔。之後的句號也需要發音。如果您有複數個縮寫，您必須在縮寫和「s」間使用連字號。例如，「CLI」是 **C.L.I.** (非 **C.L.I**) 和「ABCs」是 **A.B.C.-s** (非 **A.B.C-s**)。<br />如果您的片語同時包含一個單字和一個縮寫，則這兩個元件必須用連字號分隔。例如，「DynamoDB」是 **Dynamo-D.B.**<br />請勿在此欄中包含數字；必須拼出數字。例如，「VX02Q」是 **V.X.-zero-two-Q.**。 | `SoundsLike` 不再支援自訂詞彙。請將資料欄保留空白。將忽略此欄中的任何值。我們將在未來移除此欄的支援。 | `IPA` 不再支援自訂詞彙。請將資料欄保留空白。將忽略此欄中的任何值。我們將在未來移除此欄的支援。 | 選用。此欄中的列可以保留空白。<br />您可以在此欄中使用空格。<br />定義您的轉錄輸出中項目的外觀。例如，`Phrase` 欄中的 **Andorra-la-Vella** 是在 `DisplayAs` 欄中的 **Andorra la Vella**。<br />如果此欄中的資料列是空的， Amazon Transcribe 會使用資料`Phrase`欄的內容來判斷輸出。<br />您可以在此欄中包含數字 (`0-9`)。 | 

建立表格時要注意的事項：
+ 您的資料表必須包含所有四個資料欄標頭 (Phrase, SoundsLike, IPA, and DisplayAs)。資料`Phrase`欄必須在每個資料列上包含一個項目。不再`SoundsLike`支援透過 `IPA`和 提供發音輸入的功能，而且您可以將資料欄保留空白。這些資料欄中的任何值都會被忽略。
+ 每一欄必須以 TAB 或逗號 (,) 分隔；這適用於自訂詞彙檔案中的每一列。如果列包含空白欄，您仍必須為每個欄納入分隔符號 (TAB 或逗號)。
+ 只有 `IPA` 和 `DisplayAs` 欄才允許使用空格。請勿使用空格以分隔欄。
+ `IPA` 自訂詞彙`SoundsLike`不再支援 和 。請將資料欄保留空白。這些欄中的任何值都會被忽略。我們將在未來移除此欄的支援。
+ `DisplayAs` 欄支援符號和特殊字元 (例如 C\+\+)。所有其他欄支援您語言的[字元集](charsets.md)頁面上列出的字元。
+ 資料`Phrase`欄具有下列格式化規則：
  + 開頭不能是句點 (`.`)、撇號 (`'`) 或連字號 (`-`)。例如， **-hello**和 **.test** 無效。
  + 不能以撇號 (`'`) 或連字號 () 結尾`-`。例如， **hello-**和 **world'** 無效。
  + 不能包含重複的連字號 (`--`)、重複的句點 (`..`) 或重複的撇號 (`''`)。例如， **well--known**和 **can''t** 無效。
  + 句點只能用於表示縮寫 （以句點分隔的單一字母，例如 **A.B.C.**)。句點不能在兩個或多個連續的非特殊字元 （例如， **AB.C** 無效） 之後出現，並且不能跟隨三個或多個連續的非特殊字元 **A.BCD** （例如， 無效）。
  + 僅支援語言字元[集中列出的字元](charsets.md)。
+ 如果要在 `Phrase` 欄中包含數字，則必須拼出數字。`DisplayAs` 欄僅支援數字 (`0-9`)。
+ 您必須將資料表儲存為純文字 (\*.txt) 檔案。支援 `LF`和 `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」，請以連字號 (**A.B.C.-s**) 分隔縮寫中的「s」。您可以使用大寫或小寫字母以定義縮寫。並非所有語言都支援縮寫；請參閱 [支援的語言和特定語言功能](supported-languages.md)。

以下是樣本自訂詞彙表 (其中 **[TAB]** 代表一個 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 管理主控台
<a name="vocab-create-table-console"></a>

1. 登入 [AWS 管理主控台](https://console.aws.amazon.com/transcribe/)。

1. 在導覽窗格中，選擇**自訂詞彙**。這會開啟**自訂詞彙**頁面，您可以在其中檢視現有的詞彙或建立新詞彙。

1. 選擇**建立詞彙**。  
![Amazon Transcribe 主控台螢幕擷取畫面：「自訂詞彙」頁面。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/vocab-create-console.png)

   這會引導您前往**建立詞彙**頁面。輸入新自訂詞彙的名稱。

   此處您有三種選擇：

   1. 從您的電腦上傳 txt 或 csv 檔案。

      您可以從頭開始建立自訂詞彙，也可以下載範本以幫助您開始使用。然後，您的詞彙會自動填入**檢視和編輯詞彙**窗格中。  
![Amazon Transcribe 主控台螢幕擷取畫面：「建立和匯入詞彙」頁面。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/vocab-create-console-upload.png)

   1. 從 Amazon S3 位置匯入 txt 或 csv 檔案。

      您可以從頭開始建立自訂詞彙，也可以下載範本以幫助您開始使用。將完成的詞彙檔案上傳至 Amazon S3 儲存貯體，並在請求中指定其 URI。然後，您的詞彙會自動填入**檢視和編輯詞彙**窗格中。  
![Amazon Transcribe 主控台螢幕擷取畫面：「建立和匯入詞彙」頁面。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/vocab-create-console-s3.png)

   1. 在主控台中手動建立詞彙。

      捲動至**檢視和編輯詞彙**窗格，然後選擇**新增 10 列**。您現在可以手動輸入術語。  
![Amazon Transcribe 主控台螢幕擷取畫面：「建立和匯入詞彙」頁面。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/vocab-create-console-manual.png)

1. 您可以在**檢視和編輯詞彙**窗格中編輯詞彙。按一下您想要修改的項目，進行變更。  
![Amazon Transcribe 主控台螢幕擷取畫面：「建立和編輯詞彙」窗格。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/vocab-create-edit2.png)

   如果您執行時發生錯誤，您會收到詳細的錯誤訊息，以在處理詞彙前修正任何問題。請注意，如果您選擇**建立詞彙**前未更正所有錯誤，詞彙請求就會失敗。  
![Amazon Transcribe 主控台螢幕擷取畫面：「建立和編輯詞彙」窗格。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/vocab-create-edit3.png)

   選擇核取記號 (✓) 以儲存變更，或選擇「X」以捨棄變更。

1. 或者，將標籤新增至您的自訂詞彙。完成所有欄位並滿意您的詞彙後，選擇頁面底部的**建立詞彙**。這會引導您返回**自訂詞彙**頁面，您可以在此檢視自訂詞彙的狀態。狀態從「待處理」變更為「就緒」時，您的自訂詞彙可以與轉錄搭配使用。  
![Amazon Transcribe 主控台螢幕擷取畫面：處理時處於待定狀態的自訂詞彙。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/vocab-create-console-pending.png)

1. 如果狀態變更為「失敗」，選擇自訂詞彙的名稱以前往其資訊頁面。  
![Amazon Transcribe 主控台螢幕擷取畫面：「自訂詞彙」頁面顯示一個詞彙為完成，一個為失敗。](http://docs.aws.amazon.com/zh_tw/transcribe/latest/dg/images/vocab-create-console-failed.png)

   此頁面頂端有**失敗原因**橫幅，提供自訂詞彙失敗原因的相關資訊。請更正文字檔案中的錯誤，然後再試一次。  
![Amazon Transcribe 主控台螢幕擷取畫面：詞彙的資訊頁面會顯示失敗原因。](http://docs.aws.amazon.com/zh_tw/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) 指令，搭配表格式的詞彙檔案。如需詳細資訊，請參閱[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html](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)操作時`VocabularyName`在 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Settings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Settings.html) 欄位中設定 ，或從下拉式清單 AWS 管理主控台中選擇自訂詞彙。

```
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}}
```

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

此範例使用 從使用 [create\_vocabulary ](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.create_vocabulary)方法的資料表 適用於 Python (Boto3) 的 AWS SDK 建立自訂詞彙。如需詳細資訊，請參閱[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html](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)操作時`VocabularyName`在 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Settings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Settings.html) 欄位中設定 ，或從下拉式清單 AWS 管理主控台中選擇自訂詞彙。

如需使用 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}}')
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 的角色具有存取此儲存貯體的許可。如果角色沒有正確的授權，您的請求將失敗。您可以選擇性地在請求中指定 IAM 角色，方法是包含 `DataAccessRoleArn` 參數。如需 中 IAM 角色和政策的詳細資訊 Amazon Transcribe，請參閱 [Amazon Transcribe 身分型政策範例](security_iam_id-based-policy-examples.md)。