

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

# 创建提取蓝图
<a name="idp-cases-extraction"></a>

使用 BDA，您可以通过创建蓝图来定义要从文档中提取的特定数据字段。这就像一组指令，可指导 BDA 寻找哪些信息以及如何解释这些信息。

**定义字段**  
首先，您可以为每个需要提取的字段创建一个属性，例如 employee\$1id 或 product\$1name。对于每个字段，您需要提供描述、数据类型和推理类型。

要定义提取的字段，需要指定以下参数：
+ 字段名称：对字段表示的内容提供用户可读的解释。此描述用于帮助了解字段的背景信息和用途，从而更准确地提取数据。
+ 说明：以自然语言说明该字段所代表的内容。此描述用于帮助了解字段的背景信息和用途，从而更准确地提取数据。
+ 类型：指定字段值的数据类型。BDA 支持以下数据类型：
  + 字符串：适用于基于文本的值
  + 数字：适用于数值
  + 布尔值：对于 true/false 值
  + 数组：适用于可具有相同类型的多个值的字段（例如，字符串数组或数字数组）
+ 推理类型：指示 BDA 如何处理字段值的提取。支持的推理类型有：
  + 显式：BDA 应直接从文档中提取值。
  + 推断：BDA 应根据文档中提供的信息推断出该值。

下面是一个包含所有参数的字段定义示例：

------
#### [ Console ]

![\[控制台显示如何添加“字段名称”和“说明”。“类型”设置为“字符串”，“提取类型”设置为“显式”。\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/bda/bdaadd.png)


------
#### [ API ]

```
"product_name":{
   "type":"string",
   "inferenceType":"Explicit",
   "description":"The short name of the product without any extra details"
}
```

------

在本示例中：
+ 类型设置为“字符串”，指示 product\$1name 字段的值应基于文本。
+ inferenceType 设置为“显式”，指示 BDA 直接从文档中提取值，无需进行任何转换或验证。
+ 该说明提供了额外的上下文，说明该字段应包含产品的简称，不包含任何额外细节。

通过为每个字段指定这些参数，您为 BDA 提供了必要的信息，以便从文件中准确地提取所需数据并进行解释。


| 字段 | 说明 | 提取类型 | Type | 
| --- | --- | --- | --- | 
|  ApplicantsName  |  申请人的全名  |  显式  |  字符串  | 
|  DateOfBirth  |  员工的出生日期  |  显式  |  字符串  | 
|  Sales  |  总收入或销售额  |  显式  |  数字  | 
|  Statement\$1starting\$1balance  |  期初余额  |  显式  |  数字  | 

**多值字段**  
如果一个字段可能包含多个值，则可以定义数组或表。

**字段列表**  
对于包含值列表的字段，可以定义数组数据类型。

在此示例中，“OtherExpenses” 被定义为字符串数组，允许 BDA 为该字段提取多个支出项目。

------
#### [ Console ]

![\[控制台显示如何添加“字段名称”和“说明”。“类型”设置为“字符串数组”，“提取类型”设置为“显式”。\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/bda/bdaarray.png)


------
#### [ API ]

```
"OtherExpenses":{
   "type":"array",
   "inferenceType":"Explicit",
   "description":"Other business expenses not included in fields 8-26 or field 30",
   "items":{
      "type":"string"
   }
}
```

------

**表**  
如果文档包含表格数据，则可以在架构中定义表结构。

在此例中，“SERVICES\$1TABLE”定义为“表”类型，其中包含产品名称、描述、数量、单价和金额等列字段。

------
#### [ Console ]

![\[控制台显示如何添加“字段名称”和“说明”。“类型”设置为“表”，“提取类型”设置为“显式”，其中显示了已添加的特定于列的字段。\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/bda/bdatable.png)


------
#### [ API ]

```
"definitions":{
   "LINEITEM":{
      "properties":{
         "quantity":{
            "type":"number",
            "inferenceType":"Explicit"
         },
         "unit price":{
            "type":"number",
            "inferenceType":"Explicit"
         },
         "amount":{
            "type":"number",
            "inferenceType":"Explicit",
            "description":"Unit Price * Quantity"
         },
         "product name":{
            "type":"string",
            "inferenceType":"Explicit",
            "description":"The short name of the product without any extra details"
         },
         "product description":{
            "type":"string",
            "inferenceType":"Explicit",
            "description":"The full item list description text"
         }
      }
   }
},
"properties":{
   "SERVICES_TABLE":{
      "type":"array",
      "description":"Line items table listing all the items / services charged in the invoice including quantity, price, amount, product / service name and description.",
      "items":{
         "$ref":"#/definitions/LINEITEM"
      }
   },
   "...
        ..."
]
```

------

通过定义包含相应字段描述、数据类型和推理类型的全面架构，您可以确保 BDA 能够从文档中准确地提取所需的信息，无论格式或表示形式有何不同。