

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立擷取的藍圖
<a name="idp-cases-extraction"></a>

BDA 可讓您定義建立藍圖時要從文件中擷取的特定資料欄位。這可做為一組指示，引導 BDA 了解要尋找哪些資訊以及如何解譯該資訊。

**定義欄位**  
若要開始使用，您可以為每個需要擷取的欄位建立屬性，例如 employee\$1id 或 product\$1name。對於每個欄位，您需要提供描述、資料類型和推論類型。

若要定義要擷取的欄位，您需要指定下列參數：
+ 欄位名稱：提供欄位所代表內容的人類可讀說明。此描述有助於了解欄位的內容和目的，協助準確擷取資料。
+ 指示：提供欄位所代表內容的自然語言說明。此描述有助於了解欄位的內容和目的，協助準確擷取資料。
+ Type：指定欄位值的資料類型。BDA 支援下列資料類型：
  + string：適用於文字型值
  + number：適用於數值
  + boolean：適用於 true 或 false：
  + array：適用於可以有多個相同類型值的欄位 (例如字串陣列或數字陣列)
+ 推論類型：指示 BDA 如何處理欄位值的擷取。支援的推論類型為：
  + Explicit：BDA 應直接從文件中擷取值。
  + Inferred：BDA 應根據文件中的資訊推斷值。

以下是包含所有參數的欄位定義範例：

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

![\[主控台顯示如何新增 'Field name' 和 'Instruction'。'Type' 設定為 'String'，而 'Extraction type' 設定為 'Explicit'。\]](http://docs.aws.amazon.com/zh_tw/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 設定為 Explicit，指示 BDA 直接從文件中擷取值，而不需要任何轉換或驗證。
+ 指示提供額外的內容，釐清欄位應包含產品的簡短名稱，而沒有任何額外的詳細資訊。

您可以透過為每個欄位指定這些參數來向 BDA 提供必要資訊，以從文件中準確擷取及解譯所需的資料。


| 欄位 | 指示 | 擷取類型 | Type | 
| --- | --- | --- | --- | 
|  ApplicantsName  |  申請人的全名  |  Explicit  |  string  | 
|  DateOfBirth  |  員工的出生日期  |  Explicit  |  string  | 
|  銷售  |  總收入或銷售額  |  Explicit  |  number  | 
|  Statement\$1starting\$1balance  |  期間開始時的餘額  |  Explicit  |  number  | 

**多值欄位**  
如果欄位可能包含多個值，您可以定義陣列或資料表。

**欄位的清單**  
對於包含值清單的欄位，您可以定義陣列資料類型。

在此範例中，「OtherExpenses」定義為字串陣列，允許 BDA 擷取該欄位的多個費用項目。

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

![\[主控台顯示如何新增 'Field name' 和 'Instruction'。'Type' 設定為 'Array of String'，而 'Extraction type' 設定為 'Explicit'。\]](http://docs.aws.amazon.com/zh_tw/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 ]

![\[主控台顯示如何新增 'Field name' 和 'Instruction'。'Type' 設定為 'Table'，而 'Extraction type' 設定為 'Explicit'，並顯示已新增的資料欄特定欄位。\]](http://docs.aws.amazon.com/zh_tw/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 準確從您的文件中擷取所需的資訊，無論格式或表示方式的變化為何。