

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

# 準備分類器訓練資料
<a name="prep-classifier-data"></a>

對於自訂分類，您可以在多類別模式或多標籤模式中訓練模型。多類別模式會將單一類別與每個文件建立關聯。多標籤模式會將一或多個類別與每個文件建立關聯。每個模式的輸入檔案格式都不同，因此請在建立訓練資料之前選擇要使用的模式。

**注意**  
Amazon Comprehend 主控台將多類別模式稱為單一標籤模式。

自訂分類支援您使用純文字文件訓練的模型，以及您使用原生文件訓練的模型 （例如 PDF、Word 或影像）。如需分類器模型及其支援的文件類型的詳細資訊，請參閱 [訓練分類模型](training-classifier-model.md)。

若要準備資料以訓練自訂分類器模型：

1. 識別您希望此分類器分析的類別。決定要使用的模式 （多類別或多標籤）。

1. 根據模型是否用於分析純文字文件或半結構化文件，決定分類器模型類型。

1. 收集每個類別的文件範例。如需最低訓練需求，請參閱 [文件分類的一般配額](guidelines-and-limits.md#limits-class-general)。

1. 對於純文字模型，選擇要使用的訓練檔案格式 (CSV 檔案或擴增資訊清單檔案）。若要訓練原生文件模型，請一律使用 CSV 檔案。

**Topics**
+ [分類器訓練檔案格式](prep-class-data-format.md)
+ [多類別模式](prep-classifier-data-multi-class.md)
+ [多標籤模式](prep-classifier-data-multi-label.md)

# 分類器訓練檔案格式
<a name="prep-class-data-format"></a>

對於純文字模型，您可以提供分類器訓練資料做為 CSV 檔案，或做為您使用 SageMaker AI Ground Truth 建立的擴增資訊清單檔案。CSV 檔案或擴增資訊清單檔案包含每個訓練文件的文字，及其相關聯的標籤。

對於原生文件模型，您將分類器訓練資料作為 CSV 檔案提供。CSV 檔案包含每個訓練文件的檔案名稱及其相關聯的標籤。您可以在訓練任務的 Amazon S3 輸入資料夾中包含訓練文件。

## CSV 檔案
<a name="prep-data-csv"></a>

您在 CSV 檔案中提供標示的訓練資料為 UTF-8 編碼文字。請勿包含標頭列。在檔案中新增標頭列可能會導致執行時間錯誤。

對於 CSV 檔案中的每一列，第一欄包含一或多個類別標籤，類別標籤可以是任何有效的 UTF-8 字串。建議使用意義不重疊的清晰類別名稱。名稱可以包含空格，並且可以包含由底線或連字號連接的多個單字。

請勿在分隔資料列中值的逗號之前或之後保留任何空格字元。

CSV 檔案的確切內容取決於分類器模式和訓練資料類型。如需詳細資訊，請參閱 [多類別模式](prep-classifier-data-multi-class.md)和 上的章節[多標籤模式](prep-classifier-data-multi-label.md)。

## 增強的資訊清單檔案
<a name="prep-data-annotations"></a>

擴增資訊清單檔案是您使用 SageMaker AI Ground Truth 建立的標記資料集。Ground Truth 是一種資料標記服務，可協助您或您採用的人力建置機器學習模型的訓練資料集。

如需 Ground Truth 及其產生的輸出的詳細資訊，請參閱《Amazon [ SageMaker AI 開發人員指南》中的使用 SageMaker AI Ground Truth 來標記資料](https://docs.aws.amazon.com/sagemaker/latest/dg/sms.html)。 *Amazon SageMaker *

增強的資訊清單檔案採用 JSON 行格式。在這些檔案中，每一行都是完整的 JSON 物件，其中包含訓練文件及其相關聯的標籤。每行的確切內容取決於分類器模式。如需詳細資訊，請參閱 [多類別模式](prep-classifier-data-multi-class.md)和 上的章節[多標籤模式](prep-classifier-data-multi-label.md)。

當您將訓練資料提供給 Amazon Comprehend 時，您可以指定一或多個標籤屬性名稱。您指定的屬性名稱數量取決於擴增的資訊清單檔案是單一標記任務或鏈結標記任務的輸出。

如果您的檔案是單一標記任務的輸出，請從 Ground Truth 任務指定單一標籤屬性名稱。

如果您的檔案是鏈結標記任務的輸出，請指定鏈結中一或多個任務的標籤屬性名稱。每個標籤屬性名稱都會提供個別任務的註釋。您最多可以從鏈結標記任務中為擴增的資訊清單檔案指定 5 個這些屬性。

如需鏈結標記任務的詳細資訊，以及其產生的輸出範例，請參閱《Amazon SageMaker AI 開發人員指南》中的[鏈結標記任務](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-reusing-data.html)。

# 多類別模式
<a name="prep-classifier-data-multi-class"></a>

在多類別模式中，分類會為每個文件指派一個類別。個別類別是互斥的。例如，您可以將電影分類為喜劇或科幻小說，但不能同時分類。

**注意**  
Amazon Comprehend 主控台將多類別模式稱為單一標籤模式。

**Topics**
+ [純文字模型](#prep-multi-class-plaintext)
+ [原生文件模型](#prep-multi-class-structured)

## 純文字模型
<a name="prep-multi-class-plaintext"></a>

若要訓練純文字模型，您可以將標記的訓練資料提供為 CSV 檔案，或從 SageMaker AI Ground Truth 提供為擴增資訊清單檔案。

### CSV 檔案
<a name="prep-multi-class-plaintext-csv"></a>

如需針對訓練分類器使用 CSV 檔案的一般資訊，請參閱 [CSV 檔案](prep-class-data-format.md#prep-data-csv)。

以兩欄 CSV 檔案提供訓練資料。對於每一列，第一欄包含類別標籤值。第二欄包含該類別的範例文字文件。每一列的結尾都必須是 \$1n 或 \$1r\$1n 個字元。

下列範例顯示包含三個文件的 CSV 檔案。

```
CLASS,Text of document 1
CLASS,Text of document 2
CLASS,Text of document 3
```

下列範例顯示 CSV 檔案的一列，該檔案會訓練自訂分類器以偵測電子郵件訊息是否為垃圾郵件：

```
SPAM,"Paulo, your $1000 award is waiting for you! Claim it while you still can at http://example.com."
```

### 增強的資訊清單檔案
<a name="prep-multi-class-plaintext-manifest"></a>

如需針對訓練分類器使用擴增資訊清單檔案的一般資訊，請參閱 [增強的資訊清單檔案](prep-class-data-format.md#prep-data-annotations)。

對於純文字文件，擴增資訊清單檔案的每一行都是完整的 JSON 物件，其中包含訓練文件、單一類別名稱，以及來自 Ground Truth 的其他中繼資料。下列範例是擴增資訊清單檔案，用於訓練自訂分類器以辨識垃圾郵件：

```
{"source":"Document 1 text", "MultiClassJob":0, "MultiClassJob-metadata":{"confidence":0.62, "job-name":"labeling-job/multiclassjob", "class-name":"not_spam", "human-annotated":"yes", "creation-date":"2020-05-21T17:36:45.814354", "type":"groundtruth/text-classification"}}
{"source":"Document 2 text", "MultiClassJob":1, "MultiClassJob-metadata":{"confidence":0.81, "job-name":"labeling-job/multiclassjob", "class-name":"spam", "human-annotated":"yes", "creation-date":"2020-05-21T17:37:51.970530", "type":"groundtruth/text-classification"}}
{"source":"Document 3 text", "MultiClassJob":1, "MultiClassJob-metadata":{"confidence":0.81, "job-name":"labeling-job/multiclassjob", "class-name":"spam", "human-annotated":"yes", "creation-date":"2020-05-21T17:37:51.970566", "type":"groundtruth/text-classification"}}
```

 下列範例顯示擴增資訊清單檔案中的一個 JSON 物件，格式為可讀性：

```
{
   "source": "Paulo, your $1000 award is waiting for you! Claim it while you still can at http://example.com.",
   "MultiClassJob": 0,
   "MultiClassJob-metadata": {
       "confidence": 0.98,
       "job-name": "labeling-job/multiclassjob",
       "class-name": "spam",
       "human-annotated": "yes",
       "creation-date": "2020-05-21T17:36:45.814354",
       "type": "groundtruth/text-classification"
   }
}
```

在此範例中， `source` 屬性會提供訓練文件的文字，而 `MultiClassJob` 屬性會從分類清單中指派類別的索引。`job-name` 屬性是您在 Ground Truth 中為標記任務定義的名稱。

 當您在 Amazon Comprehend 中啟動分類器訓練任務時，您可以指定相同的標記任務名稱。

## 原生文件模型
<a name="prep-multi-class-structured"></a>

原生文件模型是您使用原生文件 （例如 PDF、DOCX 和映像） 訓練的模型。您以 CSV 檔案的形式提供訓練資料。

### CSV 檔案
<a name="prep-multi-class-structured-csv"></a>

如需針對訓練分類器使用 CSV 檔案的一般資訊，請參閱 [CSV 檔案](prep-class-data-format.md#prep-data-csv)。

以三欄 CSV 檔案提供訓練資料。對於每一列，第一欄包含類別標籤值。第二欄包含此類別的範例文件檔案名稱。第三欄包含頁碼。如果範例文件是影像，則頁碼為選用。

下列範例顯示參考三個輸入文件的 CSV 檔案。

```
CLASS,input-doc-1.pdf,3
CLASS,input-doc-2.docx,1
CLASS,input-doc-3.png
```

下列範例顯示 CSV 檔案的一列，該檔案會訓練自訂分類器，以偵測電子郵件訊息是否為垃圾郵件。PDF 檔案的第 2 頁包含垃圾郵件範例。

```
SPAM,email-content-3.pdf,2
```

# 多標籤模式
<a name="prep-classifier-data-multi-label"></a>

在多標籤模式中，個別類別代表非互斥的不同類別。多標籤分類會將一或多個類別指派給每個文件。例如，您可以將一部電影分類為紀錄片，將另一部電影分類為科幻小說、動作和喜劇。

對於訓練，多標籤模式最多支援 100 萬個範例，其中包含最多 100 個唯一類別。

**Topics**
+ [純文字模型](#prep-multi-label-plaintext)
+ [原生文件模型](#prep-multi-label-structured)

## 純文字模型
<a name="prep-multi-label-plaintext"></a>

若要訓練純文字模型，您可以將標記的訓練資料提供為 CSV 檔案，或從 SageMaker AI Ground Truth 提供為擴增資訊清單檔案。

### CSV 檔案
<a name="prep-multi-label-plaintext-csv"></a>

如需針對訓練分類器使用 CSV 檔案的一般資訊，請參閱 [CSV 檔案](prep-class-data-format.md#prep-data-csv)。

以兩欄 CSV 檔案提供訓練資料。對於每一列，第一欄包含類別標籤值，第二欄包含這些類別的範例文字文件。若要在第一欄中輸入多個類別，請在每個類別之間使用分隔符號 （例如 \$1 )。

```
CLASS,Text of document 1
CLASS,Text of document 2
CLASS|CLASS|CLASS,Text of document 3
```

下列範例顯示 CSV 檔案的一列，該檔案會訓練自訂分類器來偵測電影摘要中的類型：

```
COMEDY|MYSTERY|SCIENCE_FICTION|TEEN,"A band of misfit teens become unlikely detectives when they discover troubling clues about their high school English teacher. Could the strange Mrs. Doe be an alien from outer space?"
```

類別名稱之間的預設分隔符號是管道 (\$1)。不過，您可以使用不同的字元做為分隔符號。分隔符號必須與類別名稱中的所有字元不同。例如，如果您的類別是 CLASS\$11、CLASS\$12 和 CLASS\$13，底線 (**\$1**) 是類別名稱的一部分。因此，請勿使用底線作為分隔類別名稱的分隔符號。

### 增強的資訊清單檔案
<a name="prep-multi-label-plaintext-manifest"></a>

如需針對訓練分類器使用擴增資訊清單檔案的一般資訊，請參閱 [增強的資訊清單檔案](prep-class-data-format.md#prep-data-annotations)。

對於純文字文件，擴增資訊清單檔案的每一行都是完整的 JSON 物件。它包含來自 Ground Truth 的訓練文件、類別名稱和其他中繼資料。下列範例是擴增資訊清單檔案，用於訓練自訂分類器以偵測電影摘要中的類型：

```
{"source":"Document 1 text", "MultiLabelJob":[0,4], "MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob", "class-map":{"0":"action", "4":"drama"}, "human-annotated":"yes", "creation-date":"2020-05-21T19:02:21.521882", "confidence-map":{"0":0.66}, "type":"groundtruth/text-classification-multilabel"}}
{"source":"Document 2 text", "MultiLabelJob":[3,6], "MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob", "class-map":{"3":"comedy", "6":"horror"}, "human-annotated":"yes", "creation-date":"2020-05-21T19:00:01.291202", "confidence-map":{"1":0.61,"0":0.61}, "type":"groundtruth/text-classification-multilabel"}}
{"source":"Document 3 text", "MultiLabelJob":[1], "MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob", "class-map":{"1":"action"}, "human-annotated":"yes", "creation-date":"2020-05-21T18:58:51.662050", "confidence-map":{"1":0.68}, "type":"groundtruth/text-classification-multilabel"}}
```

 下列範例顯示擴增資訊清單檔案中的一個 JSON 物件，格式為可讀性：

```
{
      "source": "A band of misfit teens become unlikely detectives when 
                   they discover troubling clues about their high school English teacher. 
                     Could the strange Mrs. Doe be an alien from outer space?",
      "MultiLabelJob": [
          3,
          8,
          10,
          11
      ],
      "MultiLabelJob-metadata": {
          "job-name": "labeling-job/multilabeljob",
          "class-map": {
              "3": "comedy",
              "8": "mystery",
              "10": "science_fiction",
              "11": "teen"
          },
          "human-annotated": "yes",
          "creation-date": "2020-05-21T19:00:01.291202",
          "confidence-map": {
              "3": 0.95,
              "8": 0.77,
              "10": 0.83,
              "11": 0.92
          },
          "type": "groundtruth/text-classification-multilabel"
      }
  }
```

在此範例中， `source` 屬性會提供訓練文件的文字，而 `MultiLabelJob` 屬性會從分類清單中指派數個類別的索引。`MultiLabelJob` 中繼資料中的任務名稱是您為 Ground Truth 中的標記任務定義的名稱。

## 原生文件模型
<a name="prep-multi-label-structured"></a>

原生文件模型是您使用原生文件 （例如 PDF、DOCX 和映像檔案） 訓練的模型。您提供標示的訓練資料做為 CSV 檔案。

### CSV 檔案
<a name="prep-multi-label-structured-csv"></a>

如需針對訓練分類器使用 CSV 檔案的一般資訊，請參閱 [CSV 檔案](prep-class-data-format.md#prep-data-csv)。

以三欄 CSV 檔案提供訓練資料。對於每一列，第一欄包含類別標籤值。第二欄包含這些類別的範例文件的檔案名稱。第三欄包含頁碼。如果範例文件是影像，則頁碼為選用。

若要在第一欄中輸入多個類別，請在每個類別之間使用分隔符號 （例如 \$1 )。

```
CLASS,input-doc-1.pdf,3
CLASS,input-doc-2.docx,1
CLASS|CLASS|CLASS,input-doc-3.png,2
```

下列範例顯示 CSV 檔案的一列，該檔案會訓練自訂分類器來偵測電影摘要中的類型。PDF 檔案的第 2 頁包含喜劇/少年電影的範例。

```
COMEDY|TEEN,movie-summary-1.pdf,2
```

類別名稱之間的預設分隔符號是管道 (\$1)。不過，您可以使用不同的字元做為分隔符號。分隔符號必須與類別名稱中的所有字元不同。例如，如果您的類別是 CLASS\$11、CLASS\$12 和 CLASS\$13，底線 (**\$1**) 是類別名稱的一部分。因此，請勿使用底線作為分隔類別名稱的分隔符號。