本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
训练自定义实体识别器 (API)
要创建和训练自定义实体识别模型,请使用 Amazon Comprehend API CreateEntityRecognizer操作
主题
使用 AWS Command Line Interface 训练自定义实体识别器
以下示例演示了如何将 CreateEntityRecognizer
操作和其他相关的 API 与 AWS CLI 结合使用。
此示例的格式适用于 Unix、Linux 和 macOS。对于 Windows,请将每行末尾的反斜杠 (\) Unix 行继续符替换为脱字号 (^)。
使用 create-entity-recognizer
CLI 命令创建自定义实体识别器。有关 input-data-config 参数的信息,请参阅《亚马逊 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}" \ --regionregion
使用 list-entity-recognizers
CLI 命令列出一个区域中的所有实体识别器。
aws comprehend list-entity-recognizers \ --region
region
使用 describe-entity-recognizer
CLI 命令检查自定义实体识别器的作业状态。
aws comprehend describe-entity-recognizer \ --entity-recognizer-arn arn:aws:comprehend:
region
:account number
:entity-recognizer/test-6 \ --regionregion
使用 AWS SDK for Java 训练自定义实体识别器
此示例使用 Java 创建自定义实体识别器并训练模型
有关使用 Java 的 Amazon Comprehend 示例,请参阅 Amazon Comprehend Java 示例
使用 Python (Boto3) 训练自定义实体识别器
实例化 Boto3 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)