自定义实体识别的分析作业(控制台) - Amazon Comprehend

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自定义实体识别的分析作业(控制台)

您可以运行异步分析作业来检测一组包含一个或多个文档的自定义实体。输入文件可以包括文本文件、图像文件、PDF 或 Word 文档。对于文本文件以外的文件,Amazon Comprehend 会在分析之前执行文本提取。

要启动作业,请执行以下步骤:

  1. 将文档存储在 Amazon S3 存储桶中。

  2. 调用StartEntitiesDetectionJob用于启动异步作业的 API 操作。

  3. 监控分析作业的进度。

  4. 任务完成后,从您在启动任务时指定的 S3 存储桶中检索分析结果。

自定义实体识别作业将搜索训练模型以查找的所有实体。

创建自定义实体识别作业

  1. 登录AWS Management Console然后打开Amazon Comprehend

  2. 从左侧菜单中分析作业然后选择创建作业.

  3. 为分类作业提供一个名称。该名称在您的账户和当前所在区域都必须是唯一的。

  4. UND分析类型,选择自定义实体识别.

  5. 识别程序模型中,选择要使用的自定义实体识别器。

  6. 版本,选择要使用的识别程序版本。

  7. (可选)如果您选择在处理实体识别作业时加密存储卷中的数据,请选择Job 加密,然后选择使用与当前账户关联的 KMS 密钥,还是使用来自其他账户的 KMS 密钥。

    • 如果您使用与当前账户关联的密钥,请选择KMS 密钥 ID.

    • 如果您使用与其他账户关联的密钥,请在下输入密钥 ID 的 ARNKMS 密钥 ARN.

    注意

    有关创建和使用 KMS 密钥以及关联加密的更多信息,请参阅密钥管理服务 (KMS).

  8. UND输入数据,输入包含您的输入文档的 Amazon S3 存储桶的位置,或者通过选择浏览 S3. 此存储桶必须与您要调用的 API 位于同一区域。用于分类作业的 IAM 角色必须具有 S3 存储桶的读取权限。

  9. (可选)选择要归类的文档的格式输入格式. 它们可以是每个文件一个文档,也可以是单个文件中每行一个文档。

  10. UND输出数据,输入 Amazon Comprehend 应在其中写入任务输出数据的 Amazon S3 存储桶的位置,或者通过选择浏览 S3. 此存储桶必须与您要调用的 API 位于同一区域。用于分类作业的 IAM 角色必须具有 S3 存储桶的写入权限。

  11. (可选)如果您选择加密作业的输出结果,请选择加密,然后选择使用与当前账户关联的 KMS 密钥,还是使用来自其他账户的 KMS 密钥。

    • 如果您使用与当前账户关联的密钥,请选择KMS 密钥 ID.

    • 如果您使用与其他账户关联的密钥,请在下方输入密钥别名或 ID 的 ARNKMS 密钥 ID.

  12. (可选)要从 VPC 将您的资源启动到 Amazon Comprehend 中,请在下方输入 VPC IDVPC或者从下拉列表中选择 ID。

    1. 在下面选择子网子网. 选择第一个子网后,可以选择其他子网。

    2. UND安全组中,选择要使用的安全组(如果已指定)。选择第一个安全组后,您可以选择其他安全组。

    注意

    在分析任务中使用 VPC 时,DataAccessRole用于创建和启动操作的用户必须具有访问输出存储桶的 VPC 的权限。

  13. 选择创建作业创建实体识别作业。

启动自定义实体检测作业

使用启动自定义实体检测作业StartEntitiesDetectionJob操作时,您必须提供 EntityRecognizerArn,这是训练模型的 Amazon 资源名称 (ARN)。您可以在对的响应中找到此 ARNCreateEntityRecognizeroperation.

对于 Unix、Linux 和 macOS 环境使用以下示例。对于 Windows,请将每行末尾的反斜杠 (\) Unix 行继续符替换为脱字号 (^)。要检测文档集中的自定义实体,请使用以下请求语法:

aws comprehend start-entities-detection-job \ --entity-recognizer-arn "entity recognizer arn" \ --job-name job name \ --data-access-role-arn "data access role arn" \ --language-code en \ --input-data-config "S3Uri=s3://Bucket Name/Bucket Path" \ --output-data-config "S3Uri=s3://Bucket Name/Bucket Path/" \ --region region

亚马逊 Comprehend 回应了JobIDJobStatus和将返回您在请求中指定的 S3 存储桶中作业的输出。

例 纯文本和 PDF 文档的自定义实体检测作业的示例输出

Plain text
{ "File": "50_docs", "Line": 0, "Entities": [ { "BeginOffset": 0, "EndOffset": 22, "Score": 0.9763959646224976, "Text": "John Johnson", "Type": "JUDGE" } ] } { "File": "50_docs", "Line": 1, "Entities": [ { "BeginOffset": 11, "EndOffset": 15, "Score": 0.9615424871444702, "Text": "Thomas Kincaid", "Type": "JUDGE" } ] }
PDF
{ "Blocks": [ { "BlockType": "LINE", "Geometry": { "BoundingBox": { "Height": 0.012575757575757575, "Left": 0.0, "Top": 0.0015063131313131314, "Width": 0.02262091503267974 }, "Polygon": [ { "X": 0.0, "Y": 0.0015063131313131314 }, { "X": 0.02262091503267974, "Y": 0.0015063131313131314 }, { "X": 0.02262091503267974, "Y": 0.014082070707070706 }, { "X": 0.0, "Y": 0.014082070707070706 } ] }, "Id": "4330efed-6334-4fc4-ba48-e050afa95c8d", "Page": 1, "Relationships": [ { "ids": [ "f343ce48-583d-4abe-b84b-a232e266450f" ], "type": "CHILD" } ], "Text": "S-3" }, { "BlockType": "WORD", "Geometry": { "BoundingBox": { "Height": 0.012575757575757575, "Left": 0.0, "Top": 0.0015063131313131314, "Width": 0.02262091503267974 }, "Polygon": [ { "X": 0.0, "Y": 0.0015063131313131314 }, { "X": 0.02262091503267974, "Y": 0.0015063131313131314 }, { "X": 0.02262091503267974, "Y": 0.014082070707070706 }, { "X": 0.0, "Y": 0.014082070707070706 } ] }, "Id": "f343ce48-583d-4abe-b84b-a232e266450f", "Page": 1, "Relationships": [], "Text": "S-3" } ], "DocumentMetadata": { "PageNumber": 1, "Pages": 1 }, "DocumentType": "NativePDF", "Entities": [ { "BlockReferences": [ { "BeginOffset": 25, "BlockId": "4330efed-6334-4fc4-ba48-e050afa95c8d", "ChildBlocks": [ { "BeginOffset": 1, "ChildBlockId": "cbba5534-ac69-4bc4-beef-306c659f70a6", "EndOffset": 6 } ], "EndOffset": 30 } ], "Score": 0.9998825926329088, "Text": "0.001", "Type": "OFFERING_PRICE" }, { "BlockReferences": [ { "BeginOffset": 41, "BlockId": "f343ce48-583d-4abe-b84b-a232e266450f", "ChildBlocks": [ { "BeginOffset": 0, "ChildBlockId": "292a2e26-21f0-401b-a2bf-03aa4c47f787", "EndOffset": 9 } ], "EndOffset": 50 } ], "Score": 0.9809727537330395, "Text": "6,097,560", "Type": "OFFERED_SHARES" } ], "File": "example.pdf", "Version": "2021-04-30" }

设置文本提取选项

如果输入文件包含图像文件、PDF 或 Word 文档,则可以指定文本提取选项。在StartEntitiesDetectionJob操作时,请配置DocumentReaderConfigParameterInputDataConfig指定以下选项:

  • DocumentReadMode— 如果你设置为SERVICE_DEFAULT,Amazon Comprehend 会根据输入文档类型自动选择文本提取操作。如果你设置为FORCE_DOCUMENT_READ_ACTION,Amazon Comprehend 使用Amazon Textract extract API 来解析 PDF、Word 或图像文件。

  • DocumentReadAction— 设置为TEXTRACT_DETECT_DOCUMENT_TEXT让Amazon Comprehend 调用亚马逊 TextractDetectDocumentTextAPI。设置为TEXTRACT_ANALYZE_DOCUMENT让Amazon Comprehend 调用亚马逊 TextractAnalyzeDocumentAPI。

如果你设定DocumentReadModeSERVICE_DEFAULT,您不需要配置DocumentReadAction.

你可以通过InputDataConfigParameterStartEntitiesDetectionJob作为 JSON 文件。下面的示例显示一个 JSON 文件使用DetectDocumentTextAPI:

InputDataConfig文件中的参数 myInputDataconfighson

"InputDataConfig": { "S3Uri": s3://Bucket Name/Bucket Path", "InputFormat": "ONE_DOC_PER_FILE", "DocumentReaderConfig": { "DocumentReadAction": "TEXTRACT_DETECT_DOCUMENT_TEXT", "DocumentReadMode": "FORCE_DOCUMENT_READ_ACTION" } }

StartEntitiesDetectionJob操作时,请将参数指定为文件:

--input-data-config file://myInputDataConfig.json

有关Amazon Text 选项的更多信息,请参阅DocumentReaderConfig.