

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

# 运行实时自定义识别器分析
<a name="running-cer-sync"></a>

实时分析对于在小文档到达时进行处理的应用程序非常有用。例如，您可以在社交媒体帖子、支持票证或客户评论中检测自定义实体。

**开始前的准备工作**  
在检测自定义实体之前，您需要使用自定义实体识别模型（也称为识别器）。有关这些模型的更多信息，请参阅 [训练自定义实体识别器模型](training-recognizers.md)。

使用纯文本注释训练的识别器仅支持纯文本文档的实体检测。使用 PDF 文档注释训练的识别器支持纯文本文档、图像、PDF 文件和 Word 文档的实体检测。有关输入文件的信息，请参阅 [实时自定义分析的输入](idp-inputs-sync.md)。

如果您计划分析图像文件或扫描的 PDF 文档，则您的 IAM 策略必须授予使用两种 Amazon Textract API 方法（DetectDocumentText 和 AnalyzeDocument）的权限。Amazon Comprehend 在文本提取过程中会调用这些方法。有关策略示例，请参阅 [执行文档分析操作所需的权](security_iam_id-based-policy-examples.md#security-iam-based-policy-perform-cmp-actions)。

**Topics**
+ [用于自定义实体识别的实时分析（控制台）](detecting-cer-real-time.md)
+ [用于自定义实体识别的实时分析 (API)](detecting-cer-real-time-api.md)
+ [实时分析输出](outputs-cer-sync.md)

# 用于自定义实体识别的实时分析（控制台）
<a name="detecting-cer-real-time"></a>

您可以使用 Amazon Comprehend 控制台通过自定义模型运行实时运行。首先，创建一个终端节点来运行实时分析。创建终端节点后，您可以运行实时分析。

有关配置终端节点吞吐量以及相关成本的信息，请参阅 [使用 Amazon Comprehend 终端节点](using-endpoints.md)。

**Topics**
+ [为自定义实体检测创建终端节点](#detecting-cer-real-time-create-endpoint)
+ [运行实时自定义实体检测](#detecting-cer-real-time-run)

## 为自定义实体检测创建终端节点
<a name="detecting-cer-real-time-create-endpoint"></a>

**创建终端节点（控制台）**

1. 登录 AWS 管理控制台 并打开亚马逊 Comprehend 控制台，网址为 [https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)

1. 从左侧菜单中选择**终端节点**，然后选择**创建终端节点**按钮。将打开**创建终端节点**屏幕。

1. 为终端节点命名。该名称在当前区域和账户中必须是唯一的。

1. 选择要将新终端节点附加到的自定义模型。在下拉列表中，您可以按模型名称进行搜索。
**注意**  
必须先创建模型，然后才能为其附加终端节点。如果您还没有模型，请参阅 [训练自定义实体识别器模型](training-recognizers.md)。

1. （可选）要向终端节点添加标签，请在**标签**下输入键值对，然后选择**添加标签**。要在创建终端节点之前删除这对，请选择**删除标签**。

1. 输入要分配给端点的推理单位数 (IUs)。每个单元表示每秒 100 个字符的吞吐量，每秒最多可处理 2 个文档。有关终端节点吞吐量的更多信息，请参阅 [使用 Amazon Comprehend 终端节点](using-endpoints.md)。

1. （可选）如果您要创建新的终端节点，则可以选择使用 IU 估算器。估算器可以帮助您确定要请求的数量 IUs 。推理单元的数量取决于吞吐量或每秒要分析的字符数。

1. 在**购买摘要**中，查看您预计的每小时、每日和每月终端节点成本。

1. 如果您知道您的账户会从终端节点启动到删除终端节点期间都会产生费用，请选中该复选框。

1. 选择**创建端点**。

## 运行实时自定义实体检测
<a name="detecting-cer-real-time-run"></a>

为自定义实体识别器模型创建终端节点后，您可以运行实时分析来检测单个文档中的实体。

完成以下步骤以使用 Amazon Comprehend 控制台检测文本中的自定义实体。

1. 登录 AWS 管理控制台 并打开亚马逊 Comprehend 控制台，网址为 [https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)

1. 从左侧菜单中，选择**实时分析**。

1. 在**输入文本**部分的**分析类型**中，选择**自定义**。

1. 在**选择终端节点**中，选择与要使用的实体检测模型关联的终端节点。

1. 要指定用于分析的输入数据，您可以输入文本或上传文件。
   + 输入文本：

     1. 选择**输入文本**。

     1. 输入您要分析的文本。
   + 上传文件：

     1. 选择**上传文件**并输入要上传的文件名。

     1. （可选）在**高级读取操作**下，您可以覆盖文本提取的默认操作。有关更多信息，请参阅 [设置文本提取选项](idp-set-textract-options.md)。

1. 选择**分析**。控制台显示分析结果以及置信度评估。

# 用于自定义实体识别的实时分析 (API)
<a name="detecting-cer-real-time-api"></a>

您可以使用 Amazon Comprehend API 使用自定义模型运行实时分析。首先，创建一个终端节点来运行实时分析。创建终端节点后，您可以运行实时分析。

有关配置终端节点吞吐量以及相关成本的信息，请参阅 [使用 Amazon Comprehend 终端节点](using-endpoints.md)。

**Topics**
+ [为自定义实体检测创建终端节点](#detecting-cer-real-time-create-endpoint-api)
+ [运行实时自定义实体检测](#detecting-cer-real-time-run)

## 为自定义实体检测创建终端节点
<a name="detecting-cer-real-time-create-endpoint-api"></a>

有关与终端节点相关的成本的信息，请参阅 [使用 Amazon Comprehend 终端节点](using-endpoints.md)。

### 使用创建终端节点 AWS CLI
<a name="detecting-cer-real-time-create-endpoint-examples"></a>

要使用创建终端节点 AWS CLI，请使用以下`create-endpoint`命令：

```
$ aws comprehend create-endpoint \
> --desired-inference-units number of inference units \
> --endpoint-name endpoint name \
> --model-arn arn:aws:comprehend:region:account-id:model/example \
> --tags Key=Key,Value=Value
```

如果您的命令成功，Amazon Comprehend 将使用终端节点 ARN 进行响应：

```
{
   "EndpointArn": "Arn"
}
```

有关该命令、其参数配置以及其输出的更多信息，请参阅 AWS CLI 命令参考中的 [https://docs.aws.amazon.com/cli/latest/reference/comprehend/create-endpoint.html](https://docs.aws.amazon.com/cli/latest/reference/comprehend/create-endpoint.html)。

## 运行实时自定义实体检测
<a name="detecting-cer-real-time-run"></a>

为自定义实体识别器模型创建端点后，您可以使用该端点运行 [DetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectEntities.html)API 操作。您可以使用 `text` 或 `bytes` 参数提供文本输入。使用 `bytes` 参数输入其他输入类型。

对于图像文件和 PDF 文件，您可以使用 `DocumentReaderConfig` 参数来覆盖默认的文本提取操作。有关更多信息，请参阅 [设置文本提取选项](idp-set-textract-options.md)。

### 使用检测文本中的实体 AWS CLI
<a name="detecting-cer-real-time-run-cli1"></a>

要检测文本中的自定义实体，请使用 `text` 参数中的输入文本运行 `detect-entities` 命令。

**Example ：使用 CLI 检测输入文本中的实体**  

```
$ aws comprehend detect-entities \
> --endpoint-arn arn \
> --language-code en \
> --text  "Andy Jassy is the CEO of Amazon."
```
如果您的命令成功，Amazon Comprehend 将使用分析进行响应。对于 Amazon Comprehend 检测到的每个实体，它都会提供实体类型、文本、位置和置信度分数。

### 使用检测半结构化文档中的实体 AWS CLI
<a name="detecting-cer-real-time-run-cli2"></a>

要 PDF、Word 或图像文件中的自定义实体，请使用 `bytes` 参数中的输入文本运行 `detect-entities` 命令。

**Example ：使用 CLI 检测图像文件中的实体**  
此示例说明如何使用 `fileb` 选项对图像字节进行 base64 编码，从而传入图像文件。有关更多信息，请参阅《 AWS Command Line Interface 用户指南》中的[二进制大型对象](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-types.html#parameter-type-blob)。  
此示例还传入名为 `config.json` 的 JSON 文件以设置文本提取选项。  

```
$ aws comprehend detect-entities \
> --endpoint-arn arn \
> --language-code en \
> --bytes fileb://image1.jpg   \
> --document-reader-config file://config.json
```
**config.json** 文件包含以下代码。  

```
 {
    "DocumentReadMode": "FORCE_DOCUMENT_READ_ACTION",
    "DocumentReadAction": "TEXTRACT_DETECT_DOCUMENT_TEXT"    
 }
```

有关命令语法的更多信息，请参阅《*Amazon Comprehend API* 参考》[DetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectEntities.html)中的。

# 实时分析输出
<a name="outputs-cer-sync"></a>

## 文本输入的输出
<a name="outputs-cer-sync-text"></a>

如果使用 `Text` 参数输入文本，输出将由分析检测到的实体数组组成。以下示例显示了检测到两个 JUDGE 实体的分析。

```
{
        "Entities":
        [
            {
                "BeginOffset": 0,
                "EndOffset": 22,
                "Score": 0.9763959646224976,
                "Text": "John Johnson",
                "Type": "JUDGE"
            },
            {
                "BeginOffset": 11,
                "EndOffset": 15,
                "Score": 0.9615424871444702,
                "Text": "Thomas Kincaid",
                "Type": "JUDGE"
            }
        ]
    }
```

## 半结构化输入的输出
<a name="outputs-cer-sync-other"></a>

对于半结构化输入文档或文本文件，输出可以包括以下附加字段：
+ DocumentMetadata — 提取有关文档的信息。元数据包括文档中的页面列表，以及从每页中提取的字符数。如果请求包含 `Byte` 参数，则响应中会显示此字段。
+ DocumentType -输入文档中每页的文档类型。此字段出现在包含该 `Byte` 参数的请求的响应中。
+ 块：有关输入文档中每个文本块的信息。块是嵌套的。页面块包含每行文本的块，其中每个单词都包含一个块。此字段出现在包含该 `Byte` 参数的请求的响应中。
+ BlockReferences — 对该实体的每个区块的引用。此字段出现在包含该 `Byte` 参数的请求的响应中。文本文件中不存在该字段。
+ 错误：系统在处理输入文档时检测到的页面级错误。如果系统未遇到任何错误，则该字段为空。

有关这些输出字段的描述，请参阅[DetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectEntities.html)《*Amazon Comprehend API 参考*》。有关布局元素的更多信息，请参阅《Amazon Textract 开发人员指南》中的[ Amazon Textract 分析对象](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-document-layout.html)。

以下示例显示了单页扫描的 PDF 输入文档的输出。

```
{
    "Entities": [{
        "Score": 0.9984670877456665,
        "Type": "DATE-TIME",
        "Text": "September 4,",
        "BlockReferences": [{
            "BlockId": "42dcaaee-c484-4b5d-9e3f-ae0be928b3e1",
            "BeginOffset": 0,
            "EndOffset": 12,
            "ChildBlocks": [{
                    "ChildBlockId": "6e9cbb43-f8be-4da0-9a4b-ff9a6c350a14",
                    "BeginOffset": 0,
                    "EndOffset": 9
                },
                {
                    "ChildBlockId": "599e0d53-ae9f-491b-a762-459b22c79ff5",
                    "BeginOffset": 0,
                    "EndOffset": 2
                },
                {
                    "ChildBlockId": "599e0d53-ae9f-491b-a762-459b22c79ff5",
                    "BeginOffset": 0,
                    "EndOffset": 2
                }
            ]
        }]
    }],
    "DocumentMetadata": {
        "Pages": 1,
        "ExtractedCharacters": [{
            "Page": 1,
            "Count": 609
        }]
    },
    "DocumentType": [{
        "Page": 1,
        "Type": "SCANNED_PDF"
    }],
    "Blocks": [{
        "Id": "ee82edf3-28de-4d63-8883-40e2e4938ccb",
        "BlockType": "LINE",
        "Text": "Your Band",
        "Page": 1,
        "Geometry": {
            "BoundingBox": {
                "Height": 0.024125460535287857,
                "Left": 0.11745482683181763,
                "Top": 0.06821706146001816,
                "Width": 0.12074867635965347
            },
            "Polygon": [{
                    "X": 0.11745482683181763,
                    "Y": 0.06821706146001816
                },
                {
                    "X": 0.2382034957408905,
                    "Y": 0.06821706146001816
                },
                {
                    "X": 0.2382034957408905,
                    "Y": 0.09234252572059631
                },
                {
                    "X": 0.11745482683181763,
                    "Y": 0.09234252572059631
                }
            ]
        },
        "Relationships": [{
            "Ids": [
                "b105c561-c8d9-485a-a728-7a5b1a308935",
                "60ecb119-3173-4de2-8c5d-de182a5f86a5"
            ],
            "Type": "CHILD"
        }]
    }]
}
```

以下示例显示了用于分析原生 PDF 文档的输出。

**Example 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"
    }
```