本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Comprehend 完成自訂分類器模型訓練後,它會在 CreateDocumentClassifier API 請求或同等主控台請求中指定的 Amazon S3 輸出位置中建立輸出檔案。
當您訓練純文字模型或原生文件模型時,Amazon Comprehend 會建立混淆矩陣。當您訓練原生文件模型時,它可以建立其他輸出檔案。
混淆矩陣
當您訓練自訂分類器模型時,Amazon Comprehend 會建立混淆矩陣,提供訓練中模型執行情況的指標。此矩陣顯示模型預測的標籤矩陣,相較於實際文件標籤。Amazon Comprehend 會使用一部分的訓練資料來建立混淆矩陣。
混淆矩陣提供哪些類別可以使用更多資料來改善模型效能的指示。具有高正確預測分數的類別,沿著矩陣對角線具有最高的結果數量。如果對角線上的數字較低,則類別的正確預測分數較低。您可以為此類別新增更多訓練範例,並再次訓練模型。例如,如果 40% 的標籤 A 範例被分類為標籤 D,則為標籤 A 和標籤 D 新增更多範例可增強分類器的效能。
Amazon Comprehend 建立分類器模型後,S3 輸出位置的 confusion_matrix.json
檔案會提供混淆矩陣。
混淆矩陣的格式會有所不同,取決於您使用多類別模式或多標籤模式訓練分類器。
多類別模式的混淆矩陣
在多類別模式中,個別類別是互斥的,因此分類會為每個文件指派一個標籤。例如,動物可以是狗或貓,但不能同時是兩者。
請考慮下列多類別訓練分類器的混淆矩陣範例:
A B X Y <-(predicted label)
A 1 2 0 4
B 0 3 0 1
X 0 0 1 0
Y 1 1 1 1
^
|
(actual label)
在此情況下,模型預測下列項目:
一個「A」標籤準確預測,兩個「A」標籤錯誤預測為「B」標籤,四個「A」標籤錯誤預測為「Y」標籤。
三個「B」標籤準確預測,一個「B」標籤錯誤預測為「Y」標籤。
已準確預測一個「X」。
一個 "Y" 標籤準確預測,一個錯誤預測為 "A" 標籤,一個錯誤預測為 "B" 標籤,另一個錯誤預測為 "X" 標籤。
矩陣中的對角線 (A:A、B:B、X:X 和 Y:Y) 會顯示準確的預測。預測錯誤是對角線外的值。在此情況下,矩陣會顯示下列預測錯誤率:
-
標籤:86%
-
B 標籤:25%
-
X 標籤:0%
-
Y 標籤:75%
分類器會以 JSON 格式的檔案傳回混淆矩陣。下列 JSON 檔案代表上一個範例的矩陣。
{
"type": "multi_class",
"confusion_matrix": [
[1, 2, 0,4],
[0, 3, 0, 1],
[0, 0, 1, 0],
[1, 1, 1, 1]],
"labels": ["A", "B", "X", "Y"],
"all_labels": ["A", "B", "X", "Y"]
}
多標籤模式的混淆矩陣
在多標籤模式中,分類可以將一或多個類別指派給文件。請考慮下列多類別訓練分類器的混淆矩陣範例。
在此範例中,有三種可能的標籤:Comedy
、 Action
和 Drama
。多標籤混淆矩陣會為每個標籤建立一個 2x2 矩陣。
Comedy Action Drama
No Yes No Yes No Yes <-(predicted label)
No 2 1 No 1 1 No 3 0
Yes 0 2 Yes 2 1 Yes 1 1
^ ^ ^
| | |
|-----------(was this label actually used)--------|
在此情況下,模型會傳回下列Comedy
標籤:
-
兩個準確預測
Comedy
標籤存在的執行個體。真陽性 (TP)。 -
兩個準確預測
Comedy
標籤不存在的執行個體。真陰性 (TN)。 -
錯誤預測
Comedy
標籤存在的零執行個體。偽陽性 (FP)。 -
一個錯誤預測
Comedy
標籤不存在的執行個體。偽陰性 (FN)。
如同多類別混淆矩陣,每個矩陣中的對角線會顯示準確的預測。
在此情況下,模型會準確預測 80% 的時間 (TP 加上 TN) Comedy
標籤,並錯誤地預測 20% 的時間 (FP 加上 FN)。
分類器會以 JSON 格式的檔案傳回混淆矩陣。下列 JSON 檔案代表上一個範例的矩陣。
{
"type": "multi_label",
"confusion_matrix": [
[[2, 1],
[0, 2]],
[[1, 1],
[2, 1]],
[[3, 0],
[1, 1]]
],
"labels": ["Comedy", "Action", "Drama"]
"all_labels": ["Comedy", "Action", "Drama"]
}
原生文件模型的其他輸出
當您訓練原生文件模型時,Amazon Comprehend 可以建立其他輸出檔案。
Amazon Textract 輸出
如果 Amazon Comprehend 調用 Amazon Textract APIs來擷取任何訓練文件的文字,則會將 Amazon Textract 輸出檔案儲存在 S3 輸出位置。它使用下列目錄結構:
-
訓練文件:
amazon-textract-output/train/<file_name>/<page_num>/textract_output.json
-
測試文件:
amazon-textract-output/test/<file_name>/<page_num>/textract_output.json
如果您在 API 請求中提供測試文件,Amazon Comprehend 會填入測試資料夾。
文件註釋失敗
如果有任何失敗的註釋,Amazon Comprehend 會在 Amazon S3 輸出位置 (在 skipped_documents/ 資料夾) 中建立下列檔案:
-
failed_annotations_train.jsonl
如果訓練資料中的任何註釋失敗,則檔案存在。
-
failed_annotations_test.jsonl
如果請求包含測試資料,且測試資料中的任何註釋失敗,則檔案存在。
失敗的註釋檔案是 JSONL 檔案,格式如下:
{
"File": "String", "Page": Number, "ErrorCode": "...", "ErrorMessage": "..."}
{"File": "String", "Page": Number, "ErrorCode": "...", "ErrorMessage": "..."
}