View a markdown version of this page

Tables - Amazon Textract

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tables

Utilisez Amazon Textract pour extraire les tableaux d'un document et extraire les cellules, les cellules fusionnées, les en-têtes de colonne, les titres, les titres de section, les pieds de page, le type de tableau (structuré ou semi-structuré) et les cellules récapitulatives d'un tableau.

Les tables détectées sont renvoyées sous forme d'objets Block dans les réponses de AnalyzeDocumentet GetDocumentAnalysis. Vous pouvez utiliser le paramètre FeatureTypes d'entrée pour récupérer des informations sur les paires clé-valeur, les tables ou les deux. Pour les tables uniquement, utilisez la valeurTABLES. Pour obtenir un exemple, consultez Exportation de tableaux dans un fichier CSV. Pour des informations générales sur la façon dont un document est représenté par Block des objets, consultezObjets de réponse pour la détection de texte et l'analyse de documents.

Voici un exemple de tableau susceptible d'être détecté par Amazon Textract.

Tableau du bilan présentant les transactions effectuées entre le 24 décembre et le 15 janvier 2023, avec un solde de départ de 11 000$, des crédits de 1 040$, des débits de 1 040$ et un solde final de 11 000$ au 20 janvier 2023.

Le schéma suivant montre comment une seule cellule d'un tableau est représentée par Block des objets.

Schéma illustrant la structure d'un tableau avec des cellules, y compris une cellule fusionnée de 5 colonnes pour le titre du tableau. Le tableau comprend des composants imbriqués tels que des pages, des cellules, des mots et une cellule de titre fusionnée.

Une cellule contient des WORD blocs pour les mots détectés et, le cas échéant, des TABLE_TITLE blocs pour les titres de tableau, des TABLE_FOOTER blocs pour les pieds de page de tableau et des SELECTION_ELEMENT blocs pour les éléments de sélection tels que les cases à cocher.

Ce qui suit fait partie du JSON du tableau précédent. L'objet de PAGE bloc contient une liste d'identifiants de CHILD bloc pour le TABLE bloc et pour chacun LINE des textes détectés.

{ "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" ] } ] },

Pour en savoir plus sur le tableau, accédez à l'objet du TABLE bloc. Le bloc de table inclut quatre types de relations : « Enfant », « Cellules fusionnées », « Titre » et « Pied de page ». Pour le type de relationCHILD, chaque ID enfant représente une cellule unique dans le tableau. Une cellule fusionnée est décomposée en toutes les cellules individuelles qui sont combinées pour former une cellule fusionnée. TABLE_TITLEet les types de TABLE_FOOTER relation contiennent l'ID du bloc correspondant aux TABLE_FOOTER blocs TABLE_TITLE et, dans lesquels les informations relatives au titre et au pied de page sont stockées. Le type de bloc de table comporte EntityType l'un STRUCTURED_TABLE ou l'autre des deux SEMI_STRUCTURED_TABLE qui identifie le type de table.

Le JSON suivant montre que le tableau précédent comporte 65 cellules pour 13 lignes et 5 colonnes, qui sont répertoriées dans le Ids tableau de CHILD relations. Pour le type de relationMERGED_CELL, chaque identifiant de cellule fusionnée représente une seule cellule fusionnée dans le tableau. Le JSON suivant montre que le tableau comporte 9 cellules fusionnées, qui sont répertoriées dans le Ids tableau de MERGED_CELL relations. Les deux types de relations supplémentaires, TABLE_TITLE etTABLE_FOOTER, répertorient les identifiants des blocs de titre et de pied de page respectifs. Le JSON suivant montre également que la table est structurée dans le EntityTypes bloc.

{ "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" ] },

Le type de bloc pour chaque cellule du tableau estCELL. Le type de bloc de cellules aura toujours une envergure de ligne de 1 et une envergure de colonne de 1. L'objet du bloc pour chaque cellule comprend des informations concernant l'emplacement de la cellule par rapport aux autres cellules du tableau. Il inclut également des informations de géométrie indiquant l'emplacement de la cellule sur le document. En outre, les blocs de cellules peuvent avoir différents éléments EntityTypes qui les identifient comme un type de cellule particulier, notamment TABLE_TITLE, TABLE_FOOTER, TABLE_SECTION_TITLE, COLUMN_HEADER et TABLE_SUMMARY. Par exemple, dans le tableau précédent, la cellule contenant le mot « Date » est un en-tête de colonne, comme indiqué dans l'exemple suivant.

{ "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" ] },

La cellule contenant le mot « Dépôt » n'est pas un titre, un pied de page, un en-tête de colonne, un titre de section ou une cellule récapitulative. Cela est démontré par l'absence de champ"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" ] } ] },

Toutes les cellules fusionnées sont répertoriées "Type": "MERGED_CELL" dans le TABLE bloc. Dans le tableau d'exemple précédent, neuf cellules sont fusionnées.

{ "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" ] },

Pour trouver les détails spécifiques associés à chaque cellule fusionnée, rendez-vous sur"BlockType": "MERGED_CELL". Pour la cellule fusionnée « Bilan », qui est également une cellule de titre, l'ID qui lui est associé est"a27a3ecc-afd0-4f7c-9db2-6f8e6d31c605".

Cette cellule fusionnée est constituée de 5 cellules, comme indiqué par le « ColumnSpan » de 5. Pour trouver le texte dans la cellule fusionnée, allez plus bas dans le Ids tableau pour plus de détails sur "BlockType": "CELL" suivi de"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" ] },

Au niveau de la cellule, il y a 5 cellules pour la cellule fusionnée « Bilan ». Chaque cellule possède un EntityType de TABLE_TITLE car le titre a été identifié dans la cellule fusionnée. La cellule avec un Id ou 48b0e972-7dba-4db7-896e-ca7066e8c761 contient deux identifiants de CHILD relation qui correspondent aux WORD blocs qui composent cette cellule de titre fusionnée.

{ "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" ] },

Au niveau des mots, il y a deux mots : « Bilan » et « Bilan ». Comme les deux premières et les deux dernières cellules des colonnes 1, 2, 4 et 5 sont vides, aucun mot ne leur est associé. Cela est également indiqué dans la sortie JSON précédente, où seule la troisième cellule contient les identifiants enfants.

{ "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" },

Les types de TABLE_FOOTER bloc TABLE_TITLE et contiennent des informations sur les cellules de titre et de pied de page, y compris CHILD les relations qui pointent vers les WORD blocs qui constituent le titre ou le pied de page. Cela est illustré dans la réponse JSON suivante.

Dans cet exemple, le titre est un titre intégré au tableau, c'est-à-dire qu'il se trouve dans la structure du tableau lui-même, et non en dehors du tableau sous forme de titre flottant. Cela signifie que le titre possède également un type de CELL bloc qui contient les identifiants enfants des blocs de mots qui le composent. Consultez la sortie JSON précédente pour les cinq blocs de cellules qui constituent la cellule de titre fusionnée, qui inclut le bloc de cellule de titre avec les identifiants enfants des blocs de mots. Les cellules de pied de page de ce tableau seraient également représentées par des blocs de cellules pour chaque pied de page.

{ "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" ] } ] },