訓練自訂實體辨識器 (API) - Amazon Comprehend

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

訓練自訂實體辨識器 (API)

若要建立和訓練自訂實體辨識模型,請使 Amazon Comprehend CreateEntityRecognizerAPI 操作

訓練自訂實體辨識器 AWS Command Line Interface

下列範例示範如何將CreateEntityRecognizer作業和其他相關聯的 API 與AWS CLI.

這些範例已針對 Unix、Linux 和 macOS 進行格式化。用於 Windows 時,請以插入號 (^) 取代每一行結尾處的 Unix 接續字元斜線 (\)。

使用 create-entity-recognizer CLI 命令建立自訂實體辨識器。如需有關 input-data-config 參數的資訊,請參閱 Amazon Comprehend API 參考CreateEntityRecognizer中的。

aws comprehend create-entity-recognizer \ --language-code en \ --recognizer-name test-6 \ --data-access-role-arn "arn:aws:iam::account number:role/service-role/AmazonComprehendServiceRole-role" \ --input-data-config "EntityTypes=[{Type=PERSON}],Documents={S3Uri=s3://Bucket Name/Bucket Path/documents}, Annotations={S3Uri=s3://Bucket Name/Bucket Path/annotations}" \ --region region

使用 list-entity-recognizers CLI 命令列出區域中的所有實體識別器。

aws comprehend list-entity-recognizers \ --region region

使用 describe-entity-recognizer CLI 命令檢查自訂實體辨識器的 Job 狀態。

aws comprehend describe-entity-recognizer \ --entity-recognizer-arn arn:aws:comprehend:region:account number:entity-recognizer/test-6 \ --region region

訓練自訂實體辨識器 AWS SDK for Java

此範例會使用 Java 建立自訂實體辨識器並訓練模型

對於使用 Java Amazon Comprehend 的例子,請參閱 Amazon Comprehend Java 的例子。

使用 Python (肉毒桿菌 3) 訓練自訂實體辨識器

實例化博托 3 SDK:

import boto3 import uuid comprehend = boto3.client("comprehend", region_name="region")

創建實體識別器:

response = comprehend.create_entity_recognizer( RecognizerName="Recognizer-Name-Goes-Here-{}".format(str(uuid.uuid4())), LanguageCode="en", DataAccessRoleArn="Role ARN", InputDataConfig={ "EntityTypes": [ { "Type": "ENTITY_TYPE" } ], "Documents": { "S3Uri": "s3://Bucket Name/Bucket Path/documents" }, "Annotations": { "S3Uri": "s3://Bucket Name/Bucket Path/annotations" } } ) recognizer_arn = response["EntityRecognizerArn"]

列出所有識別器:

response = comprehend.list_entity_recognizers()

等待辨識器達到訓練狀態:

while True: response = comprehend.describe_entity_recognizer( EntityRecognizerArn=recognizer_arn ) status = response["EntityRecognizerProperties"]["Status"] if "IN_ERROR" == status: sys.exit(1) if "TRAINED" == status: break time.sleep(10)