

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

# Amazon Textract 响应对象
<a name="how-it-works-document-response"></a>

Amazon Textract 操作根据运行的操作返回不同类型的对象。为了检测文本和分析通用文档，该操作会返回一个 Block 对象。为了分析发票或收据，该操作会返回 ExpenseDocuments 对象。为了分析身份文档，该操作会返回一个 Identity DocumentFields 对象。有关这些响应对象的更多信息，请参阅以下各部分：

**Topics**
+ [文本检测和文档分析响应对象](how-it-works-document-layout.md)
+ [发票和收据回复对象](expensedocuments.md)
+ [身份文档响应对象](identitydocumentfields.md)

# 文本检测和文档分析响应对象
<a name="how-it-works-document-layout"></a>

当 Amazon Textract 处理文档时，它会创建一个[Block](API_Block.md)检测到或分析的文本的对象。每个区块都包含有关检测到的物品、物品所在位置的信息，以及 Amazon Textract 对处理准确性的信心。

文档由以下类型组成`Block`对象。
+ [页面](how-it-works-pages.md)
+  [文本的行和单词](how-it-works-lines-words.md) 
+  [表单数据（键值对）](how-it-works-kvp.md) 
+  [表格与单元格](how-it-works-tables.md) 
+ [选择元素](how-it-works-selectables.md)

区块的内容取决于你调用的操作。如果调用其中一个文本检测操作，则返回检测到的文本的页面、行和单词。有关更多信息，请参阅 [检测文本](how-it-works-detecting.md)。如果调用其中一个文档分析操作，将返回有关检测到的页面、键值对、表格、选择元素和文本的信息。有关更多信息，请参阅 [分析文档](how-it-works-analyzing.md)。

一段时间`Block`对象字段在这两种类型的处理中都是通用的。例如，每个区块都有一个唯一的标识符。

有关演示如何使用的示例`Block`对象，请参阅[教程](examples-blocks.md).

## 文档布局
<a name="hows-it-works-blocks-types.title"></a>

Amazon Textract 将文档的表示形式作为不同类型的`Block`在父对子关系或键值对中链接的对象。还会返回提供文档中页数的元数据。以下是典型的 JSON。`Block`类型的对象`PAGE`.

```
{
    "Blocks": [
        {
            "Geometry": {
                "BoundingBox": {
                    "Width": 1.0, 
                    "Top": 0.0, 
                    "Left": 0.0, 
                    "Height": 1.0
                }, 
                "Polygon": [
                    {
                        "Y": 0.0, 
                        "X": 0.0
                    }, 
                    {
                        "Y": 0.0, 
                        "X": 1.0
                    }, 
                    {
                        "Y": 1.0, 
                        "X": 1.0
                    }, 
                    {
                        "Y": 1.0, 
                        "X": 0.0
                    }
                ]
            }, 
            "Relationships": [
                {
                    "Type": "CHILD", 
                    "Ids": [
                        "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", 
                        "82aedd57-187f-43dd-9eb1-4f312ca30042", 
                        "52be1777-53f7-42f6-a7cf-6d09bdc15a30", 
                        "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"
                    ]
                }
            ], 
            "BlockType": "PAGE", 
            "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"
        }..... 
        
    ], 
    "DocumentMetadata": {
        "Pages": 1
    }
}
```

文档由一个或多个创建`PAGE`数据块。每个页面都包含页面上检测到的主要项目的子块列表，例如文本行和表格行。有关更多信息，请参阅 [页面](how-it-works-pages.md)。

你可以确定类型`Block`通过检查对象`BlockType`字段中返回的子位置类型。

一个`Block`对象包含相关列表`Block`中的对象`Relationships`字段，这是一个数组[Relationship](API_Relationship.md)对象。一个`Relationships`数组是 CHIER 类型或 VALUE 类型。类型为 CHIRD 的数组用于列出当前区块的子项目。例如，如果当前块的类型为 LINE，`Relationships`包含构成文本行的 WORD 块的 ID 列表。VALUE 类型的数组用于包含键/值对。您可以通过检查`Type`字段中的`Relationship`对象。

子块没有关于其父 Block 对象的信息。

对于显示的示例`Block`请参阅信息[使用同步操作处理文档](sync.md).

## 信心
<a name="how-it-works-confidence"></a>

Amazon Textract 操作将返回 Amazon Textract 对检测到的商品准确性的置信度的百分比。为了获得信心，请使用`Confidence`字段中的`Block`对象。值越大，则置信度越高。视情况而定，信心低的检测可能需要人员的视觉确认。

## Geometry
<a name="how-it-works-geometry"></a>

除身份分析外，Amazon Textract 操作会返回有关文档页面上检测到的商品位置的位置信息。要获得位置，请使用`Geometry`字段中的`Block`对象。有关更多信息，请参阅 。[文档页面上的物品位置](text-location.md)

# 页面
<a name="how-it-works-pages"></a>

文档包含一个或多个页面。一个[Block](API_Block.md)类型的对象`PAGE`文档的每一页都存在。一个`PAGE`block 对象包含在文档页面上检测到的文本行、键值对和表的子 ID 列表。

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/textract/latest/dg/images/hieroglyph-pages.png)


用于的 JSON`PAGE`块看上去类似以下内容。

```
{

    "Geometry": .... 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", // Line - Hello, world.
                "82aedd57-187f-43dd-9eb1-4f312ca30042", // Line - How are you?
                "52be1777-53f7-42f6-a7cf-6d09bdc15a30", 
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"   
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"  // Page identifier
},
```

如果对 PDF 格式的多页文档使用异步操作，则可以通过检查`Page`字段中的`Block`对象。扫描的图像（JPEG、PNG、PDF 或 TIFF 格式的图像）被视为单页文档，即使图像上有多个文档页面也是如此。异步操作始终返回`Page`扫描图像的值为 1。

返回的页面总数将在`Pages`的字段`DocumentMetadata`.`DocumentMetadata`与每个列表一起返回`Block`Amazon Textract 操作返回的对象。

# 文本的行和单词
<a name="how-it-works-lines-words"></a>

Amazon Textract 操作返回的检测到的文本将返回在[Block](API_Block.md)对象。这些对象表示在文档页面上检测到的文本行或文本单词。以下文本显示了由多个单词组成的两行文本。

这是文本。

在两行中。

检测到的文本将在`Text`字段中的`Block`对象。这些区域有：`BlockType`字段确定文本是文本行 (LINE) 还是单词 (WORD)。一个*字*是一个或多个 ISO 基本拉丁文字母字符，不用空格分隔。一个*线*是一串制表符分隔的连续单词。

 此外，Amazon Textract 将确定一段文本是使用手写还是使用`TextTypes`字段中返回的子位置类型。这些分别以手写和印刷的形式返回。

另一个`Block`属性对于所有区块类型都是共有的，例如 ID、置信度和几何信息。有关更多信息，请参阅 [文本检测和文档分析响应对象](how-it-works-document-layout.md)。

要只检测行和单词，你可以使用[DetectDocumentText](API_DetectDocumentText.md)要么[StartDocumentTextDetection](API_StartDocumentTextDetection.md). 有关更多信息，请参阅 [检测文本](how-it-works-detecting.md)。要获取检测到的文本（行和单词）以及有关其与文档其他部分（例如表格）的关系的信息，可以使用[AnalyzeDocument](API_AnalyzeDocument.md)要么[StartDocumentAnalysis](API_StartDocumentAnalysis.md). 有关更多信息，请参阅 [分析文档](how-it-works-analyzing.md)。

`PAGE`、`LINE`, 和`WORD`在父子关系中，区块彼此相关。一个`PAGE`方块是所有人的父项`LINE`阻止文档页面上的对象。因为 LINE 可以有一个或多个单词，因此`Relationships`LINE 块的数组存储构成文本行的子 WORD 块的 ID。

下图显示了该行的方式。*Hello world。*中的文本*Hello world。你怎么样？*代表为`Block`对象。

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/textract/latest/dg/images/hieroglyph-text-detection.png)




以下是来自的 JSON 输出`DetectDocumentText`当句子*Hello world。你怎么样？*检测到的对象。第一个例子是文档页面的 JSON。请注意孩子 ID 如何使您能够在文档中导航。

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "d7fbd604-d609-4d69-857d-247a3f591238", // Line - Hello, world.
                "b6c19a93-6493-4d8e-958f-853c8f7ca055" //  Line - How are you?
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "56ec1d77-171f-4881-9852-2b5b7e761608"
},
```

以下是构成 “你好，世界” 行的 LINE 块的 JSON：

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "7f97e2ca-063e-47a8-981c-8beee31afc01", // Word - Hello,
                "4b990aa0-af96-4369-b90f-dbe02538ed21"  // Word - world.
            ]
        }
    ], 
    "Confidence": 99.63229370117188, 
    "Geometry": {...}, 
    "Text": "Hello, world.", 
    "BlockType": "LINE", 
    "Id": "d7fbd604-d609-4d69-857d-247a3f591238"
},
```

以下是该词的 WORD 块的 JSON*Hello*：

```
{
    "Geometry": {...}, 
    "Text": "Hello,", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.74746704101562, 
    "Id": "7f97e2ca-063e-47a8-981c-8beee31afc01"
},
```

最后一个 JSON 是这个词的 WORD 块*世界。*：

```
{
    "Geometry": {...}, 
    "Text": "world.",
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.5171127319336, 
    "Id": "4b990aa0-af96-4369-b90f-dbe02538ed21"
},
```

# 表单数据（键值对）
<a name="how-it-works-kvp"></a>

Amazon Textract 可以将表单数据从文档中提取为键值对。例如，在以下文本中，Amazon Textract 可以识别密钥 (*名称：*) 和一个值 (*Ana Carolina*)。

名称：Ana Carolina

检测到的键值对将返回为[Block](API_Block.md)来自的响应中的对象[AnalyzeDocument](API_AnalyzeDocument.md)和[GetDocumentAnalysis](API_GetDocumentAnalysis.md). 您可以使用`FeatureTypes`输入参数来检索关于键值对、表或两者的信息。仅对于键值对，请使用值`FORMS`. 有关示例，请参阅 [从表单文档中提取键值对](examples-extract-kvp.md)。有关文档如何表示的一般信息，请参阅`Block`对象，请参阅[文本检测和文档分析响应对象](how-it-works-document-layout.md).

类型为 KEY\$1VALUE\$1SET 的块对象是 KEY\$1VALUE\$1SET 对象的容器，用于存储文档中检测到的链接文本项目的信息的 KEY 或 您可以使用`EntityType`属性来确定块是 KEY 还是 VALUE。
+ 一个*密钥*对象包含有关链接文本键的信息。例如，*名称：*. KEY 区块有两个关系列表。VALUE 类型的关系是一个列表，其中包含与该密钥关联的 VALUE 块的 ID。CHIRD 类型的关系是组成密钥文本的 WORD 块的 ID 列表。
+ 一个*值*对象包含有关键相关文本的信息。在上述示例中，*Ana Carolina*是键的值*名称：*. VALUE 块与识别 WORD 块的子块列表有关系。每个 WORD 块都包含组成该值文本的一个单词。一个`VALUE`对象还可以包含有关选定元素的信息。有关更多信息，请参阅 [选择元素](how-it-works-selectables.md)。

KEY\$1VALUE\$1SET 的每个实例`Block`对象是 PAGE 的子项`Block`对应于当前页面的对象。

下图显示键值对的方式。*名称：Ana Carolina*代表为`Block`对象。

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/textract/latest/dg/images/hieroglyph-key-value-set.png)


以下示例演示键值对的方式。*名称：Ana Carolina*由 JSON 表示。

PAGE 块有类型的 CHILD 块`KEY_VALUE_SET`针对文档中检测到的每个 KEY 和 VALUE 块。

```
{
    "Geometry": .... 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", 
                "82aedd57-187f-43dd-9eb1-4f312ca30042", 
                "52be1777-53f7-42f6-a7cf-6d09bdc15a30", // Key - Name:
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"  // Value - Ana Caroline 
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"  // Page identifier
},
```

以下 JSON 显示了 KEY 区块（52be1777-53f7-42f6-a7cf-6d09bdc15a30）与价值区块（7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c）有关系。它还有一个字块的子块（c734fca6-c4c4-415c-b6c1-30f7510b72ee），其中包含密钥的文本（*名称：*)。

```
{
    "Relationships": [
        {
            "Type": "VALUE", 
            "Ids": [
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"  // Value identifier
            ]
        }, 
        {
            "Type": "CHILD", 
            "Ids": [
                "c734fca6-c4c4-415c-b6c1-30f7510b72ee"  // Name:
            ]
        }
    ], 
    "Confidence": 51.55965805053711, 
    "Geometry": ...., 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "KEY"
    ], 
    "Id": "52be1777-53f7-42f6-a7cf-6d09bdc15a30"  //Key identifier
},
```

下面的 JSON 显示了 VALUE 块 7ca7ca6-00ef-4cda-b1aa-5571dfed1a7c 有一个组成该值文本的 WORD 块 ID 的子列表（*安娜*和*卡罗纳*)。

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "db553509-64ef-4ecf-ad3c-bea62cc1cd8a", // Ana
                "e5d7646c-eaa2-413a-95ad-f4ae19f53ef3"  // Carolina
            ]
        }
    ], 
    "Confidence": 51.55965805053711, 
    "Geometry": ...., 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "VALUE"
    ], 
    "Id": "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c" // Value identifier
}
```

下面的 JSON 显示了`Block`单词的对象*名称：*、*安娜*, 和*卡罗纳*.

```
{
    "Geometry": {...}, 
    "Text": "Name:", 
    "TextType": "PRINTED".
    "BlockType": "WORD", 
    "Confidence": 99.56285858154297, 
    "Id": "c734fca6-c4c4-415c-b6c1-30f7510b72ee"
},
 {
    "Geometry": {...}, 
    "Text": "Ana", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.52057647705078, 
    "Id": "db553509-64ef-4ecf-ad3c-bea62cc1cd8a"
}, 
{
    "Geometry": {...}, 
    "Text": "Carolina", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.84207916259766, 
    "Id": "e5d7646c-eaa2-413a-95ad-f4ae19f53ef3"
},
```

# 表
<a name="how-it-works-tables"></a>

Amazon Textract 可以提取表格和表格中的单元格。例如，在表单上检测到下表时，Amazon Textract 会检测到包含四个单元格的表格。


| 名称 | Address | 
| --- | --- | 
|  Ana Carolina  |  123 Aany Stown  | 

检测到的表将返回为[Block](API_Block.md)来自的响应中的对象[AnalyzeDocument](API_AnalyzeDocument.md)和[GetDocumentAnalysis](API_GetDocumentAnalysis.md). 您可以使用`FeatureTypes`输入参数来检索关于键值对、表或两者的信息。仅对于表格，请使用值`TABLES`. 有关示例，请参阅 [将表导出到 CSV 文件](examples-export-table-csv.md)。有关文档如何表示的一般信息，请参阅`Block`对象，请参阅[文本检测和文档分析响应对象](how-it-works-document-layout.md).

下图显示了表中的单个单元格的表示方式。`Block`对象。

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/textract/latest/dg/images/hieroglyph-table-cell.png)


包含单元格`WORD`阻止检测到的单词，以及`SELECTION_ELEMENT`选择元素（例如复选框）的块。

以下是上表的部分 JSON，该表有四个单元格。

PAGE Block 对象有一个 TABLE 块的子块 ID 列表以及检测到的每一行文本。

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "f2a4ad7b-f21d-4966-b548-c859b84f66a4",   // Line - Name
                "4dce3516-ffeb-45e0-92a2-60770e9cb744",   // Line  - Address 
                "ee506578-768f-4696-8f4b-e4917e429f50",   // Line - Ana Carolina
                "33fc7223-411b-4399-8a90-ccd3c5a2c196",   // Line  - 123 Any Town
                "3f9665be-379d-4ae7-be44-d02f32b049c2"    // Table
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "78c3ce84-ae70-418e-add7-27058418adf6"
},
```

TABLE 模块包括表中单元格的子 ID 列表。TABLE 模块还包括文档中表位置的几何信息。下面的 JSON 显示该表包含四个单元格，这四个单元格列在`Ids`数组。

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "505e9581-0d1c-42fb-a214-6ff736822e8c", 
                "6fca44d4-d3d3-46ab-b22f-7fca1fbaaf02", 
                "9778bd78-f3fe-4ae1-9b78-e6d29b89e5e9", 
                "55404b05-ae12-4159-9003-92b7c129532e"
            ]
        }
    ], 
    "BlockType": "TABLE", 
    "Confidence": 92.5705337524414, 
    "Id": "3f9665be-379d-4ae7-be44-d02f32b049c2"
},
```

表格单元格的块类型为 CELL。这些区域有：`Block`每个单元格的对象包括与表中其他单元格相比单元格的单元格位置的信息。它还包括文档中单元格位置的几何信息。在上述示例中，`505e9581-0d1c-42fb-a214-6ff736822e8c`是包含该单词的单元格的子 ID*名称*. 以下示例是该单元格的信息。

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "e9108c8e-0167-4482-989e-8b6cd3c3653e"
            ]
        }
    ], 
    "Confidence": 100.0, 
    "RowSpan": 1, 
    "RowIndex": 1, 
    "ColumnIndex": 1, 
    "ColumnSpan": 1, 
    "BlockType": "CELL", 
    "Id": "505e9581-0d1c-42fb-a214-6ff736822e8c"
},
```

每个单元格在桌子中都有一个位置，第一个单元格为 1,1。在上一示例中，具有值的单元格*名称*位于第 1 行，第 1 列。具有值的单元格*123 Aany Stown*位于第 2 行，第 2 列。单元格块对象包含此信息在`RowIndex`和`ColumnIndex`字段之间没有不同。子列表包含包含单元格中文本的 WORD Block 对象的 ID。列表中的单词按照检测到它们的顺序，从单元格的左上角到单元格的右下角。在前面的示例中，单元格具有一个值为 e9108c8e-0167-4482-989e-8b6cd3c3653e 的子 ID。以下输出针对 ID 值为 e9108c8e-0167-4482-989e-8e-8b6cd3c3653e 的字块：

```
"Geometry": {...}, 
"Text": "Name", 
"TextType": "Printed",
"BlockType": "WORD",
"Confidence": 99.81139373779297, 
"Id": "e9108c8e-0167-4482-989e-8b6cd3c3653e"
},
```

# 选择元素
<a name="how-it-works-selectables"></a>

Amazon Textract 可以检测选择元素，例如文档页面上的选项按钮（单选按钮）和复选框。可以在中检测到选择元素[表单数据](how-it-works-kvp.md)然后在[桌子](how-it-works-tables.md). 例如，在表单上检测到下表时，Amazon Textract 会检测到表格单元格中的复选框。


|  |  |  |  | 
| --- |--- |--- |--- |
|     |  **同意**  |  **Neutral**  |  **不同意**  | 
|  **服务不错**  |  ☑  |  ☐  |  ☐  | 
|  **易于使用**  |  ☐  |  ☑  |  ☐  | 
|  **公平的价格**  |  ☑  |  ☐  |  ☐  | 

检测到的选择元素将返回为[Block](API_Block.md)来自的响应中的对象[AnalyzeDocument](API_AnalyzeDocument.md)和[GetDocumentAnalysis](API_GetDocumentAnalysis.md).

**注意**  
您可以使用`FeatureTypes`输入参数来检索关于键值对、表或两者的信息。例如，如果对表进行筛选，则响应将包括在表中检测到的选择元素。在键值对中检测到的选择元素不包括在响应中。

有关选择元素的信息包含在`Block`类型的对象`SELECTION_ELEMENT`. 要确定可选元素的状态，请使用`SelectionStatus`字段中的`SELECTION_ELEMENT`阻止。状态可以是*已选中*要么*没有选择*. 例如，的值`SelectionStatus`对于上一张图片是*已选中*.

一个`SELECTION_ELEMENT` `Block`对象与键值对或表格单元格关联。一个`SELECTION_ELEMENT` `Block`对象包含选择元素的边界框信息`Geometry`字段中返回的子位置类型。一个`SELECTION_ELEMENT` `Block`对象不是一个孩子`PAGE` `Block`对象。

## 表单数据（键值对）
<a name="how-it-works-selectable-kvp"></a>

键值对用于表示在表单上检测到的选择元素。这些区域有：`KEY`块包含选择元素的文本。这些区域有：`VALUE`块包含 SELECTION\$1ELEMENT 块。下图显示了选择元素的表示方式。[Block](API_Block.md)对象。

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/textract/latest/dg/images/hieroglyph-key-value-set-selectable.png)


有关键值对的更多信息，请参阅[表单数据（键值对）](how-it-works-kvp.md).

以下 JSON 代码段显示了包含选择元素的键值对的键值对的键（**男 ☑**)。子 ID（编号 bd14cfd5-9005-498b-a7f3-45ceb171f0ff）是包含选择元素文本的 WORD 块的 ID（*男*)。值 ID（编号 24aaac7f-FCC-49c7-a4f0-3688b05586d4）是`VALUE`包含`SELECTION_ELEMENT`阻止对象。

```
{
    "Relationships": [
        {
            "Type": "VALUE", 
            "Ids": [
                "24aaac7f-fcce-49c7-a4f0-3688b05586d4"  // Value containing Selection Element
            ]
        }, 
        {
            "Type": "CHILD", 
            "Ids": [
                "bd14cfd5-9005-498b-a7f3-45ceb171f0ff"  // WORD - male
            ]
        }
    ], 
    "Confidence": 94.15619659423828, 
    "Geometry": {
        "BoundingBox": {
            "Width": 0.022914813831448555, 
            "Top": 0.08072036504745483, 
            "Left": 0.18966935575008392, 
            "Height": 0.014860388822853565
        }, 
        "Polygon": [
            {
                "Y": 0.08072036504745483, 
                "X": 0.18966935575008392
            }, 
            {
                "Y": 0.08072036504745483, 
                "X": 0.21258416771888733
            }, 
            {
                "Y": 0.09558075666427612, 
                "X": 0.21258416771888733
            }, 
            {
                "Y": 0.09558075666427612, 
                "X": 0.18966935575008392
            }
        ]
    }, 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "KEY"
    ], 
    "Id": "a118dc43-d5f7-49a2-a20a-5f876d9ffd79"
}
```

以下 JSON 片段是该词的 WORD 块*男*. WORD 模块还有一个父级 LINE 块。

```
{
    "Geometry": {
        "BoundingBox": {
            "Width": 0.022464623674750328, 
            "Top": 0.07842985540628433, 
            "Left": 0.18863198161125183, 
            "Height": 0.01617223583161831
        }, 
        "Polygon": [
            {
                "Y": 0.07842985540628433, 
                "X": 0.18863198161125183
            }, 
            {
                "Y": 0.07842985540628433, 
                "X": 0.2110965996980667
            }, 
            {
                "Y": 0.09460209310054779, 
                "X": 0.2110965996980667
            }, 
            {
                "Y": 0.09460209310054779, 
                "X": 0.18863198161125183
            }
        ]
    }, 
    "Text": "Male", 
    "BlockType": "WORD", 
    "Confidence": 54.06439208984375, 
    "Id": "bd14cfd5-9005-498b-a7f3-45ceb171f0ff"
},
```

VALUE 块有一个子项（编号为 f2f5e8d-e73a-4e99-a095-053acd3b6bfb），即选择 \$1ELECTION\$1E8d-e73a-4e99-a095-053acd3b6bfb）。

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "f2f5e8cd-e73a-4e99-a095-053acd3b6bfb"  // Selection element
            ]
        }
    ], 
    "Confidence": 94.15619659423828, 
    "Geometry": {
        "BoundingBox": {
            "Width": 0.017281491309404373, 
            "Top": 0.07643391191959381, 
            "Left": 0.2271782010793686, 
            "Height": 0.026274094358086586
        }, 
        "Polygon": [
            {
                "Y": 0.07643391191959381, 
                "X": 0.2271782010793686
            }, 
            {
                "Y": 0.07643391191959381, 
                "X": 0.24445968866348267
            }, 
            {
                "Y": 0.10270800441503525, 
                "X": 0.24445968866348267
            }, 
            {
                "Y": 0.10270800441503525, 
                "X": 0.2271782010793686
            }
        ]
    }, 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "VALUE"
    ], 
    "Id": "24aaac7f-fcce-49c7-a4f0-3688b05586d4"
}, 
}
```

以下 JSON 是 SELECTION\$1ELEMENT 块。的价值`SelectionStatus`表示复选框处于选中状态。

```
{
    "Geometry": {
        "BoundingBox": {
            "Width": 0.020316146314144135, 
            "Top": 0.07575977593660355, 
            "Left": 0.22590067982673645, 
            "Height": 0.027631107717752457
        }, 
        "Polygon": [
            {
                "Y": 0.07575977593660355, 
                "X": 0.22590067982673645
            }, 
            {
                "Y": 0.07575977593660355, 
                "X": 0.2462168186903
            }, 
            {
                "Y": 0.1033908873796463, 
                "X": 0.2462168186903
            }, 
            {
                "Y": 0.1033908873796463, 
                "X": 0.22590067982673645
            }
        ]
    }, 
    "BlockType": "SELECTION_ELEMENT", 
    "SelectionStatus": "SELECTED", 
    "Confidence": 74.14942932128906, 
    "Id": "f2f5e8cd-e73a-4e99-a095-053acd3b6bfb"
}
```

## 表单元格
<a name="how-it-works-selectable-table"></a>

Amazon Textract 可以检测表格单元格中的选择元素。例如，下表中的单元格有复选框。


|  |  |  |  | 
| --- |--- |--- |--- |
|     |  **同意**  |  **Neutral**  |  **不同意**  | 
|  **服务不错**  |  ☑  |  ☐  |  ☐  | 
|  **易于使用**  |  ☐  |  ☑  |  ☐  | 
|  **公平的价格**  |  ☑  |  ☐  |  ☐  | 

一个`CELL`可以包含子项`SELECTION_ELEMENT`用于选择元素的对象以及子元素`WORD`阻止检测到的文本。

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/textract/latest/dg/images/hieroglyph-table-cell-selectable.png)


有关表的更多信息，请参阅[表](how-it-works-tables.md).

TABLE`Block`上一个表格的对象看起来类似于这个。

```
{
    "Geometry": {.....}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "652c09eb-8945-473d-b1be-fa03ac055928", 
                "37efc5cc-946d-42cd-aa04-e68e5ed4741d", 
                "4a44940a-435a-4c5c-8a6a-7fea341fa295", 
                "2de20014-9a3b-4e26-b453-0de755144b1a", 
                "8ed78aeb-5c9a-4980-b669-9e08b28671d2", 
                "1f8e1c68-2c97-47b2-847c-a19619c02ca9", 
                "9927e1d1-6018-4960-ac17-aadb0a94f4d9", 
                "68f0ed8b-a887-42a5-b618-f68b494a6034", 
                "fcba16e0-6bd7-4ea5-b86e-36e8330b68ea", 
                "2250357c-ae34-4ed9-86da-45dac5a5e903", 
                "c63ad40d-5a14-4646-a8df-2d4304213dbc",   // Cell
                "2b8417dc-e65f-4fcd-aa0f-61a23f1e8cb0", 
                "26c62932-72f0-4dc2-9893-1ae27829c060", 
                "27f291cc-abf4-4c23-aa24-676abe99cb1e", 
                "7e5ce028-1bcd-4d9f-ad42-15ac181c5b47", 
                "bf32e3d2-efa2-4fc1-b09b-ab9cc52ff734"
            ]
        }
    ], 
    "BlockType": "TABLE", 
    "Confidence": 99.99993896484375, 
    "Id": "f66eac36-2e74-406e-8032-14d1c14e0b86"
}
```

单元格`BLOCK`包含复选框的单元格的对象（ID c63ad40d-5a14-4646-a8df-2d4304213dbc）*服务不错*看上去与下类似。它包括一个孩子`Block`（Id = 26d122fd-c5f4-4b53-92c4-0ae92730ee1e）这就是`SELECTION_ELEMENT` `Block`对象用于复选框。

```
{
    "Geometry": {.....}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "26d122fd-c5f4-4b53-92c4-0ae92730ee1e"  // Selection Element
            ]
        }
    ], 
    "Confidence": 79.741689682006836, 
    "RowSpan": 1, 
    "RowIndex": 3, 
    "ColumnIndex": 3, 
    "ColumnSpan": 1, 
    "BlockType": "CELL", 
    "Id": "c63ad40d-5a14-4646-a8df-2d4304213dbc"
}
```

Selection\$1Element`Block`对象如下所示。的价值`SelectionStatus`表示复选框处于选中状态。

```
{
    "Geometry": {.......}, 
    "BlockType": "SELECTION_ELEMENT", 
    "SelectionStatus": "SELECTED", 
    "Confidence": 88.79517364501953, 
    "Id": "26d122fd-c5f4-4b53-92c4-0ae92730ee1e"
}
```

# 发票和收据回复对象
<a name="expensedocuments"></a>

当您向分析费用 API 提交发票或收据时，它会返回一系列 ExpenseDocuments 对象。每个 ExpeenseDocument 都进一步分成`LineItemGroups`和`SummaryFields`. 大多数发票和收据都包含供应商名称、收据编号、收款日期或总金额等信息。分析费用将此信息返回`SummaryFields`. 收据和发票还包含有关购买物品的详细信息。分析费用 API 在下返回此信息`LineItemGroups`. 这些区域有：`ExpenseIndex`字段唯一标识费用，并将相应的`SummaryFields`和`LineItemGroups`在该费用中检测到。

分析费用响应中最精细的数据级别包括：`Type`、`ValueDetection`, 和`LabelDetection`(可选)。各个实体是：
+ [类型](how-it-works-type.md)：指在高层次上检测到什么类型的信息。
+ [标签检测](how-it-works-labeldetection.md)：指文档文本中关联值的标签。`LabelDetection`是可选的，只有在写入标签时才返回。
+ [价值检测](how-it-works-valuedetection.md)：指返回的标签或类型的值。

分析费用 API 还可以检测到`ITEM`、`QUANTITY`, 和`PRICE`在行项目中作为标准化字段。如果收据图片上的行项目中还有其他文本，例如 SKU 或详细描述，则该文本将包含在 JSON 中`EXPENSE_ROW`如下面的示例所示：

```
               {
                                    "Type": {
                                        "Text": "EXPENSE_ROW",
                                        "Confidence": 99.95216369628906
                                    },
                                    "ValueDetection": {
                                        "Text": "Banana 5 $2.5",
                                        "Geometry": {
                                          …
                                        },
                                        "Confidence": 98.11214447021484
                                    }
```

上面的示例显示了 AnalyzeSendal API 如何在收据上返回整行，该收据包含关于售价 2.5 美元的 5 只香蕉的订单项目信息。

# 类型
<a name="how-it-works-type"></a>

以下是键值对的标准类型或标准化类型的示例：

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "VENDOR_NAME", 
                        "Confidence": 70.0
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "AMAZON", 
                        "Confidence": 87.89806365966797
                    }
                }
```

收据没有明确列出 “供应商名称”。但是，分析费用 API 将该文档识别为收据，并将值 “亚马逊” 归类为 “类型”`VENDOR_NAME`.

# 标签检测
<a name="how-it-works-labeldetection"></a>

以下是在客户文档页面上显示的文本示例：

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "OTHER", 
                        "Confidence": 70.0
                    }, 
                    "LabelDetection": {
                        "Geometry": { ... }, 
                        "Text": "CASHIER", 
                        "Confidence": 88.19171142578125
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "Mina", 
                        "Confidence": 87.89806365966797
                    }
                }
```

示例文档包含 “收银员米娜”。分析费用 API 提取了原样值并将其返回`LabelDetection`. 对于 “供应商名称” 之类的隐含值，其中 “钥匙” 没有在收据中明确显示，`LabelDetection`不会包含在分析费用元素中。在这种情况下，分析费用 API 不会返回`LabelDetection`.

# 价值检测
<a name="how-it-works-valuedetection"></a>

以下示例显示键值对的 “值”。

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "OTHER", 
                        "Confidence": 70.0
                    }, 
                    "LabelDetection": {
                        "Geometry": { ... }, 
                        "Text": "CASHIER", 
                        "Confidence": 88.19171142578125
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "Mina", 
                        "Confidence": 87.89806365966797
                    }
                }
```

在示例中，该文档包含 “收银员米娜”。分析费用 API 检测到出纳柜员价值为 Mina 并将其退回`ValueDetection`.

# 身份文档响应对象
<a name="identitydocumentfields"></a>

 当您向 AnalyZEID API 提交身份证件时，它会返回一系列`IdentityDocumentField`对象。这些对象中的每个都包含`Type`, 和`Value`.`Type`记录 Amazon Textract 检测到的标准化字段，并`Value`记录与标准化字段关联的文本。

 以下是示例：`IdentityDocumentField`，为了简洁起见，缩短了。

```
{
    "DocumentMetadata": {
        "Pages": 1
    }, 
    "IdentityDocumentFields": [
        {
            "Type": {
                "Text": "first name"
            }, 
            "ValueDetection": {
                "Text": "jennifer", 
                "Confidence": 99.99908447265625
            }
        }, 
        {
            "Type": {
                "Text": "last name"
            }, 
            "ValueDetection": {
                "Text": "sample", 
                "Confidence": 99.99758911132812
            }
        },
```

 这是从较长的响应中切断的身份文档字段的两个示例。检测到的类型和该类型的值之间存在分离。这里分别是名字和姓氏。这种结构与所有包含的信息重复。如果类型未被识别为标准化字段，它将被列为 “其他”。

以下是驾驶执照的标准化字段的列表：
+  名 
+  姓 
+  中间名 
+  后缀 
+  地址中的城市 
+  地址中的邮政编码 
+  在地址中的状态 
+  County 
+  文件编号 
+  到期日期 
+  出生日期 
+  州名 
+  发行日期 
+  class 
+  限制 
+  代言 
+  ID 类型 
+  老兵 
+  地址 

以下是美国护照标准化字段的列表：
+  名 
+  姓 
+  中间名 
+  文件编号 
+  到期日期 
+  出生日期 
+ 出生地
+  发行日期 
+  ID 类型 