Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tablas
Utilice Amazon Textract para extraer las tablas de un documento y extraer las celdas, las celdas combinadas, los encabezados de columna, los títulos, los títulos de las secciones, los pies de página, el tipo de tabla (estructurada o semiestructurada) y las celdas de resumen de una tabla.
Las tablas detectadas se muestran como objetos de bloque en las respuestas de y. AnalyzeDocument GetDocumentAnalysis Puede usar el parámetro FeatureTypes de entrada para recuperar información sobre los pares clave-valor, las tablas o ambos. Utilice el valor únicamente para las tablas. TABLES Para ver un ejemplo, consulta Exportación de tablas a un archivo CSV. Para obtener información general sobre cómo se representa un documento mediante Block objetos, consulteObjetos de respuesta para la detección de texto y el análisis de documentos.
El siguiente es un ejemplo de una tabla que Amazon Textract podría detectar.
El siguiente diagrama muestra cómo se Block representa una sola celda de una tabla mediante objetos.
Una celda contiene WORD bloques para las palabras detectadas y, en su caso, TABLE_TITLE bloques para los títulos de las tablas, TABLE_FOOTER bloques para los pies de las tablas y SELECTION_ELEMENT bloques para los elementos de selección, como las casillas de verificación.
Lo siguiente es parte del JSON de la tabla anterior. El objeto de PAGE bloque tiene una lista de los ID de CHILD bloque del TABLE bloque y LINE de cada uno de los textos detectados.
{ "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" ] } ] },
Para obtener más información sobre la tabla, accede al objeto de TABLE bloque. El bloque de tabla incluye cuatro tipos de relaciones: «Hijo», «Celdas combinadas», «Título» y «Pie de página». En cuanto al tipo de relaciónCHILD, cada identificador secundario representa una sola celda de la tabla. Una celda combinada se divide en todas las celdas individuales que se combinan para formar una celda combinada. TABLE_TITLEy los tipos de TABLE_FOOTER relación contienen el identificador de bloque de los TABLE_FOOTER bloques correspondientesTABLE_TITLE, donde se almacena la información sobre el título y el pie de página. El tipo de bloque de tabla tiene un EntityType valor de STRUCTURED_TABLE o uno SEMI_STRUCTURED_TABLE que identifica el tipo de tabla.
El siguiente JSON muestra que la tabla anterior tiene 65 celdas para 13 filas y 5 columnas, que se enumeran en la Ids matriz de CHILD relaciones. Para el tipo de relaciónMERGED_CELL, cada ID de celda combinada representa una sola celda combinada dentro de la tabla. El siguiente JSON muestra que la tabla tiene 9 celdas combinadas, que se enumeran en la Ids matriz de MERGED_CELL relaciones. Los dos tipos de relación adicionales TABLE_TITLE y muestran TABLE_FOOTER los ID de los bloques de título y pie de página respectivos. El siguiente JSON también muestra que la tabla está estructurada en el EntityTypes bloque.
{ "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" ] },
El tipo de bloque para cada celda de la tabla esCELL. El tipo de bloque de celdas siempre tendrá una extensión de fila de 1 y una extensión de columna de 1. El objeto de bloque de cada celda incluye información sobre la ubicación de la celda en comparación con otras celdas de la tabla. También incluye información geométrica sobre la ubicación de la celda en el documento. Además, los bloques de celdas pueden tener diferentes elementos EntityTypes que los identifiquen como un tipo concreto de celda, como TABLE_TITLE, TABLE_FOOTER, TABLE_SECTION_TITLE, COLUMN_HEADER y TABLE_SUMMARY. Por ejemplo, en la tabla anterior, la celda que contiene la palabra «Fecha» es el encabezado de una columna, como se muestra en el ejemplo siguiente.
{ "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 celda que contiene la palabra «Depósito» no es un título, un pie de página, un encabezado de columna, un título de sección ni una celda de resumen. Esto se ve reflejado en la falta del campo"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" ] } ] },
Todas las celdas combinadas aparecen "Type": "MERGED_CELL" en la lista de abajo del TABLE bloque. En la tabla de ejemplo anterior, hay nueve celdas combinadas.
{ "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" ] },
Para encontrar los detalles específicos asociados a cada celda combinada, vaya a"BlockType": "MERGED_CELL". En el caso de la celda combinada «Balance general», que también es una celda de título, el identificador asociado a ella es"a27a3ecc-afd0-4f7c-9db2-6f8e6d31c605".
Hay 5 celdas que constituyen esta celda combinada, como se muestra con la «ColumnSpan» de 5. Para buscar el texto dentro de la celda combinada, vaya más abajo hasta la Ids matriz para obtener más información sobre el "BlockType": "CELL" seguido por"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" ] },
A nivel de celda, hay 5 celdas para la celda fusionada «Balance». Cada celda tiene un EntityType o TABLE_TITLE porque el título se identificó en la celda combinada. La celda con un o 48b0e972-7dba-4db7-896e-ca7066e8c761 contiene dos identificadores Id de CHILD relación que corresponden a los WORD bloques que componen esta celda de título combinada.
{ "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" ] },
A nivel de palabras, hay dos palabras: «Balance» y «Hoja». Como las dos primeras y las dos últimas celdas de las columnas 1, 2, 4 y 5 están en blanco, no hay palabras asociadas a ellas. Esto también se muestra en la salida JSON anterior, donde solo la tercera celda contiene los ID secundarios.
{ "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" },
Los tipos de TABLE_FOOTER bloque TABLE_TITLE y bloque contienen información sobre las celdas de título y pie de página, incluidas CHILD las relaciones que apuntan a los WORD bloques que forman el título o el pie de página. Esto se muestra en la siguiente respuesta de JSON.
En este ejemplo, el título es un título que se incluye en la tabla, lo que significa que se encuentra dentro de la estructura de la propia tabla, en lugar de estar fuera de la tabla como un título flotante. Esto significa que el título también tiene un tipo de CELL bloque que contiene los identificadores secundarios de los bloques de palabras que componen el título. Consulta la salida JSON anterior para ver los cinco bloques de celdas que componen la celda de título combinada, que incluye el bloque de celdas de título con los ID secundarios de los bloques de palabras. Las celdas de pie de página de esta tabla también se representarían mediante bloques de celdas para cada pie de página.
{ "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" ] } ] },