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 tablas de un documento y extraer celdas, celdas combinadas, encabezados de columnas, títulos, títulos de secciones, pies de página, tipo de tabla (estructurada o semiestructurada) y celdas de resumen dentro de una tabla.
Las tablas detectadas se devuelven como objetos de bloque en las respuestas de y. AnalyzeDocumentGetDocumentAnalysis Puede usar el parámetro FeatureTypes de entrada para recuperar información sobre pares clave-valor, 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, cuando corresponde, 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 forma parte del JSON de la tabla anterior. El objeto de PAGE bloque tiene una lista de identificadores de CHILD bloque para el TABLE bloque y cada uno LINE 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: «Secundaria», «Celdas combinadas», «Título» y «Pie de página». Para el tipo de relaciónCHILD, cada ID secundario representa una sola celda dentro 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 TABLE_TITLE Y correspondientes, donde se almacena la información sobre el título y el pie de página. El tipo de bloque de tabla tiene uno EntityType de los dos STRUCTURED_TABLE valores 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 de 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 columnas 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 de geometría para la ubicación de la celda en el documento. Además, los bloques de celdas pueden tener distintos elementos EntityTypes que los identifiquen como un tipo de celda concreto, 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 un encabezado de columna, como se muestra en el siguiente ejemplo.
{ "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 una celda de título, pie de página, encabezado de columna, título de sección o resumen. Esto se ve reflejado en la ausencia 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 se enumeran "Type": "MERGED_CELL" en el 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 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 el «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 y luego ir "BlockType": "CELL" seguida 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" ] },
A nivel de celda, hay 5 celdas para la celda combinada «Balance general». Cada celda tiene un EntityType de TABLE_TITLE porque el título se identificó en la celda combinada. La celda con un Id de 48b0e972-7dba-4db7-896e-ca7066e8c761 contiene dos identificadores de CHILD relación que corresponden a los WORD bloques que componen la 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: «Saldo» 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 contienen información sobre las celdas del título y del pie de página, incluidas CHILD las relaciones que apuntan a los WORD bloques que componen el título o el pie de página. Esto se muestra en la siguiente respuesta de JSON.
En este ejemplo, el título está dentro de la tabla, lo que significa que se encuentra dentro de la estructura de la propia tabla, y no 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. Consulte el resultado 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 del 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" ] } ] },