本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
表格
使用 Amazon Textract 擷取文件中的資料表,並在資料表中擷取儲存格、合併儲存格、欄標頭、標題、區段標題、頁尾、資料表類型 (結構化或半結構化) 和摘要儲存格。
偵測到的資料表會在 AnalyzeDocument 和 GetDocumentAnalysis 的回應中傳回為封鎖物件。您可以使用FeatureTypes輸入參數來擷取鍵值對、資料表或兩者的相關資訊。僅限資料表,請使用值 TABLES。如需範例,請參閱 將資料表匯出至 CSV 檔案。如需如何以Block物件表示文件的一般資訊,請參閱 文字偵測和文件分析回應物件。
以下是 Amazon Textract 可偵測到的資料表範例。
下圖顯示資料表中的單一儲存格如何以Block物件表示。
儲存格包含偵測到的字詞WORD區塊,並在適用的情況下包含資料表標題TABLE_TITLE的區塊、資料表頁尾的TABLE_FOOTER區塊,以及選取元素的SELECTION_ELEMENT區塊,例如核取方塊。
以下是上表 JSON 的一部分。PAGE 區塊物件具有CHILD區塊IDs 清單,以及偵測到LINE的每個文字。 TABLE
{ "BlockType": "PAGE", "Geometry": { "BoundingBox": { "Width": 1.0, "Height": 1.0, "Left": 0.0, "Top": 0.0 }, }, "Id": "8a5d3f57-97bc-4a05-b028-f72617877626", "Relationships": [ { "Type": "CHILD", "Ids": [ "7499ac64-3fa9-46fd-8e3f-581ec9c316eb", "87ed4709-66f2-4b3d-abda-52c92a111474", "27a87eb3-bd21-475e-80fe-3f8e16958dcf", "d89894ea-2f37-4667-94b6-d90def01c5c1", "9f9d6383-ed6d-4bd0-ba8c-71fc3eec704e", "cdc74e1a-c568-439b-9eef-7bd54e060f18", "1b64f24c-5e84-4c7e-851a-cb1f5258a53c", "84a84878-04b4-4608-81b6-38117ead1629", ... "8cef603b-932e-452b-adc4-15f8e02ad1fe", "a3f97508-0d6b-4ae0-aa04-76078f9fe11a", "dd1f23c6-dfad-447b-8105-29ba136bd3a4", "46138f38-5b77-41a9-b068-f8394587122f", "a5e5247c-2637-4fa8-a271-ab46399cd77c", "63d7b889-71e3-422a-8cb7-2103ba0aa276", "033e5c86-371a-46fb-bbea-eb7f6b0cd092", "559b1354-ef94-4cb9-8e03-9eca83c6dba4", "55edc4fa-052f-40f9-9edd-739b100e6f75" ] } ] },
若要進一步了解 資料表,請存取 TABLE區塊物件。資料表區塊包含四種關係類型:"Child"、"Merged Cells"、"Title" 和 "Footer"。對於關係類型 CHILD,每個子 ID 代表資料表中的單一儲存格。合併的儲存格會細分為所有個別的儲存格,以組成一個合併的儲存格。 TABLE_TITLE和 TABLE_FOOTER 關係類型包含對應 TABLE_TITLE 和 區塊的TABLE_FOOTER區塊 ID,其中會儲存標題和頁尾的相關資訊。資料表區塊類型具有 STRUCTURED_TABLE或 EntityType的 SEMI_STRUCTURED_TABLE,可識別資料表的類型。
下列 JSON 顯示上述資料表有 65 個儲存格,用於 13 個資料列和 5 個資料欄,並列在CHILD關係Ids陣列中。對於關係類型 MERGED_CELL,每個合併儲存格 ID 代表資料表中的單一合併儲存格。下列 JSON 顯示資料表有 9 個合併儲存格,這些儲存格會列在MERGED_CELL關係Ids陣列中。兩個額外的關係類型 TABLE_TITLE和 TABLE_FOOTER會列出個別標題和頁尾區塊IDs。下列 JSON 也會顯示 資料表在 EntityTypes區塊中結構化。
{ "BlockType": "TABLE", "Confidence": 99.8046875, "Geometry": {...}, "Id": "55edc4fa-052f-40f9-9edd-739b100e6f75", "Relationships": [ { "Type": "CHILD", "Ids": [ "c1c03d64-d365-4906-af7a-a852f1acc040", "8b415996-6b05-4183-a959-d27d12ccef79", "48b0e972-7dba-4db7-896e-ca7066e8c761", "69948207-47d8-4825-8929-1d7abb650a88", "b9ac9f14-8899-43b3-8572-0e997180e0a4", "6f06c024-0b36-4acd-b61f-4467203234dd", "c8a88487-dbc7-4662-a69b-21103049b61d", ... "2b41c8e1-f754-4b37-91b6-a97cdc413f91", "365a1bab-0c18-4cd8-a465-6f7bc7e25e60", "f08af959-cfac-4ad6-a63f-2771c7a8ff62", "e4f6fbfd-c7d8-4f64-9102-733d4806850f", "68c0b8ff-fd35-41ce-ba76-de08c26084d7", "44e80372-aa70-4a36-9aac-3a93aaa91bb1" ] }, { "Type": "MERGED_CELL", "Ids": [ "a27a3ecc-afd0-4f7c-9db2-6f8e6d31c605", "6c02cf21-40de-4480-b755-e94462ac4884", "6faad856-8d37-4751-b741-c4ad8d5dcbe3", "d777d6e2-7430-4c6e-a261-03ec5a612c8c", "f0f5a9fb-5bfa-4c80-8f41-1d4fad674b09", "83c7af02-8128-4479-89c9-962544ad4048", "b2b5126c-409f-4b67-9adf-e3e12f60bf86", "87d7f688-3d38-4198-b491-433af0da4d8b", "1c2436e2-a1fc-4b2a-9e73-cc8a1ca67568" ] }, { "Type": "TABLE_TITLE", "Ids": [ "cde34920-0131-4e68-a3ec-82922269afd4" ] }, { "Type": "TABLE_FOOTER", "Ids": [ "11dfd98c-6140-49e8-a544-e220d76bdd2f", "ad1b9c81-3b53-4fc7-a533-dabb3d29b0b1" ] } ], "EntityTypes": [ "STRUCTURED_TABLE" ] },
每個資料表儲存格的區塊類型為 CELL。儲存格區塊類型的資料列範圍一律為 1,資料欄範圍為 1。每個儲存格的區塊物件包含與資料表中其他儲存格相比之儲存格位置的相關資訊。它還包含文件上儲存格位置的幾何資訊。此外,儲存格區塊可以有不同的 EntityTypes,將它們識別為特定類型的儲存格,包括 TABLE_TITLE、TABLE_FOOTER、TABLE_SECTION_TITLE、COLUMN_HEADER 和 TABLE_SUMMARY。例如,在上表中,包含「日期」一詞的儲存格是欄標頭,如下列範例所示。
{ "BlockType": "CELL", "Confidence": 81.8359375, "RowIndex": 2, "ColumnIndex": 1, "RowSpan": 1, "ColumnSpan": 1, "Geometry": {...}, "Id": "6f06c024-0b36-4acd-b61f-4467203234dd", "Relationships": [ { "Type": "CHILD", "Ids": [ "c49f55d5-a7e4-41d5-9c29-d8244f56181c" ] } ], "EntityTypes": [ "COLUMN_HEADER" ] },
包含 "Deposit" 一詞的儲存格不是標題、頁尾、欄標題、區段標題或摘要儲存格。這是由於缺少 欄位 而顯示"EntityTypes"。
{ "BlockType": "CELL", "Confidence": 86.181640625, "RowIndex": 7, "ColumnIndex": 2, "RowSpan": 1, "ColumnSpan": 1, "Geometry": {...}, "Id": "7af5160b-bd60-45f5-a12c-bf376e9d742c", "Relationships": [ { "Type": "CHILD", "Ids": [ "bb9bcaed-5998-44a6-9076-aa1ecc82fbc6" ] } ] },
所有合併的儲存格都會列"Type": "MERGED_CELL"在 TABLE區塊的 下。在上述範例中,有九個合併儲存格。
{ "Type": "MERGED_CELL", "Ids": [ "a27a3ecc-afd0-4f7c-9db2-6f8e6d31c605", "6c02cf21-40de-4480-b755-e94462ac4884", "6faad856-8d37-4751-b741-c4ad8d5dcbe3", "d777d6e2-7430-4c6e-a261-03ec5a612c8c", "f0f5a9fb-5bfa-4c80-8f41-1d4fad674b09", "83c7af02-8128-4479-89c9-962544ad4048", "b2b5126c-409f-4b67-9adf-e3e12f60bf86", "87d7f688-3d38-4198-b491-433af0da4d8b", "1c2436e2-a1fc-4b2a-9e73-cc8a1ca67568" ] },
若要尋找與每個合併儲存格相關的特定詳細資訊,請前往 "BlockType": "MERGED_CELL"。對於合併儲存格 “Balance Sheet”,這也是標題儲存格,與其相關聯的 ID 是 "a27a3ecc-afd0-4f7c-9db2-6f8e6d31c605"。
有 5 個儲存格構成此合併儲存格,如「ColumnSpan」5 所示。若要在合併儲存格中尋找文字,請進一步前往 Ids陣列以取得 的詳細資訊,"BlockType": "CELL"後面接著 "BlockType": "WORD"。
{ "BlockType": "MERGED_CELL", "Confidence": 77.44140625, "RowIndex": 1, "ColumnIndex": 1, "RowSpan": 1, "ColumnSpan": 5, "Geometry": {...}, "Id": "a27a3ecc-afd0-4f7c-9db2-6f8e6d31c605", "Relationships": [ { "Type": "CHILD", "Ids": [ "c1c03d64-d365-4906-af7a-a852f1acc040", "8b415996-6b05-4183-a959-d27d12ccef79", "48b0e972-7dba-4db7-896e-ca7066e8c761", "69948207-47d8-4825-8929-1d7abb650a88", "b9ac9f14-8899-43b3-8572-0e997180e0a4" ] } ], "EntityTypes": [ "TABLE_TITLE" ] },
在儲存格層級上,合併的儲存格「平衡表」有 5 個儲存格。每個儲存格都有 EntityType的 ,TABLE_TITLE因為在合併的儲存格中已識別標題。具有 Id的儲存格48b0e972-7dba-4db7-896e-ca7066e8c761包含兩個CHILD關係 IDs,對應於組成此合併標題儲存格的WORD區塊。
{ "BlockType": "CELL", "Confidence": 77.44140625, "RowIndex": 1, "ColumnIndex": 1, "RowSpan": 1, "ColumnSpan": 1, "Geometry": {...}, "Id": "c1c03d64-d365-4906-af7a-a852f1acc040", "EntityTypes": [ "TABLE_TITLE" ] }, { "BlockType": "CELL", "Confidence": 77.44140625, "RowIndex": 1, "ColumnIndex": 2, "RowSpan": 1, "ColumnSpan": 1, "Geometry": {...}, "Id": "8b415996-6b05-4183-a959-d27d12ccef79", "EntityTypes": [ "TABLE_TITLE" ] }, { "BlockType": "CELL", "Confidence": 77.44140625, "RowIndex": 1, "ColumnIndex": 3, "RowSpan": 1, "ColumnSpan": 1, "Geometry": {...}, "Id": "48b0e972-7dba-4db7-896e-ca7066e8c761", "Relationships": [ { "Type": "CHILD", "Ids": [ "998394ef-c6cf-491b-9bac-ec470c638ecd", "1c875a06-f8e5-4df7-8f6a-583c47cbd9fe" ] } ], "EntityTypes": [ "TABLE_TITLE" ] }, { "BlockType": "CELL", "Confidence": 77.44140625, "RowIndex": 1, "ColumnIndex": 4, "RowSpan": 1, "ColumnSpan": 1, "Geometry": {...}, "Id": "69948207-47d8-4825-8929-1d7abb650a88", "EntityTypes": [ "TABLE_TITLE" ] }, { "BlockType": "CELL", "Confidence": 77.44140625, "RowIndex": 1, "ColumnIndex": 5, "RowSpan": 1, "ColumnSpan": 1, "Geometry": {...}, "Id": "b9ac9f14-8899-43b3-8572-0e997180e0a4", "EntityTypes": [ "TABLE_TITLE" ] },
在單字層級上,有兩個單字:「平衡」和「片狀」。由於資料欄 1、2、4 和 5 的前兩個和最後兩個儲存格是空白的,因此沒有與其相關聯的單字。這也會顯示在先前的 JSON 輸出中,其中只有第三個儲存格包含子 IDs。
{ "BlockType": "WORD", "Confidence": 99.95711517333984, "Text": "Balance", "TextType": "PRINTED", "Geometry": {...}, "Id": "998394ef-c6cf-491b-9bac-ec470c638ecd" }, { "BlockType": "WORD", "Confidence": 99.87372589111328, "Text": "Sheet", "TextType": "PRINTED", "Geometry": {...}, "Id": "1c875a06-f8e5-4df7-8f6a-583c47cbd9fe" },
TABLE_TITLE 和 TABLE_FOOTER區塊類型包含標題和頁尾儲存格的相關資訊,包括指向組成標題或頁尾之WORD區塊CHILD的關係。這會顯示在下列 JSON 回應中。
在此範例中,標題是資料表內標題,表示它位於資料表本身的結構中,而不是在資料表外部做為浮動標題。這表示標題也有CELL區塊類型,其中包含構成標題之字詞區塊的子 IDs。請參閱構成合併標題儲存格的五個儲存格區塊的先前 JSON 輸出,其中包含具有字詞區塊子 IDs的標題儲存格區塊。此資料表的頁尾儲存格也會以每個頁尾的儲存格區塊表示。
{ "BlockType": "TABLE_TITLE", "Confidence": 97.802734375, "Geometry": {...}, "Id": "cde34920-0131-4e68-a3ec-82922269afd4", "Relationships": [ { "Type": "CHILD", "Ids": [ "998394ef-c6cf-491b-9bac-ec470c638ecd", "1c875a06-f8e5-4df7-8f6a-583c47cbd9fe" ] } ] }, { "BlockType": "TABLE_FOOTER", "Confidence": 88.0859375, "Geometry": {...}, "Id": "11dfd98c-6140-49e8-a544-e220d76bdd2f", "Relationships": [ { "Type": "CHILD", "Ids": [ "77a70b2d-c137-4161-8d9c-65170266e5ff", "d413ef1f-fa1b-44cb-87ed-809494fc87d8", "19616f50-1a34-431f-94bf-7e575106cd85", "35063ea4-a3c7-4e19-9d32-10eca92807b8", "48de1523-7776-49ef-96d9-fc19bcde89c5" ] } ] },