기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
테이블
Amazon Textract를 사용하여 문서에서 테이블을 추출하고 테이블 내의 셀, 병합된 셀, 열 헤더, 제목, 섹션 제목, 바닥글, 테이블 유형(정형 또는 반정형) 및 요약 셀을 추출합니다.
감지된 테이블은 AnalyzeDocument 및 GetDocumentAnalysis의 응답에서 Block 객체로 반환됩니다. FeatureTypes 입력 파라미터를 사용하여 키-값 페어, 테이블 또는 둘 다에 대한 정보를 검색할 수 있습니다. 테이블의 경우에만 값을 사용합니다TABLES. 예제는 테이블을 CSV 파일로 내보내기 섹션을 참조하세요. 문서가 Block 객체로 표현되는 방법에 대한 일반적인 내용은 섹션을 참조하세요텍스트 감지 및 문서 분석 응답 객체.
다음은 Amazon Textract에서 감지할 수 있는 테이블의 예입니다.
다음 다이어그램은 테이블의 단일 셀이 Block 객체로 표현되는 방식을 보여줍니다.
셀에는 감지된 단어에 대한 WORD 블록과 해당하는 경우 테이블 제목에 대한 TABLE_TITLE 블록, 테이블 바닥글에 대한 TABLE_FOOTER 블록, 확인란과 같은 선택 요소에 대한 SELECTION_ELEMENT 블록이 포함됩니다.
다음은 이전 테이블에 대한 JSON의 일부입니다. PAGE 블록 객체에는 CHILD 블록의 TABLE 블록 IDs 목록과 감지된 각 LINE 텍스트가 있습니다.
{ "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의 경우 각 하위 ID는 테이블 내의 단일 셀을 나타냅니다. 병합된 셀은 하나의 병합된 셀을 만들기 위해 결합된 모든 개별 셀로 분류됩니다. TABLE_TITLE 및 TABLE_FOOTER 관계 유형에는 제목 및 바닥글에 대한 정보가 저장되는 해당 TABLE_TITLE 및 블록의 TABLE_FOOTER 블록 ID가 포함됩니다. 테이블 블록 유형에는 테이블 유형을 SEMI_STRUCTURED_TABLE 식별하는 STRUCTURED_TABLE 또는 중 EntityType 하나가 있습니다.
다음 JSON은 앞의 테이블에 CHILD 관계 Ids 배열에 나열된 13개의 행과 5개의 열에 대해 65개의 셀이 있음을 보여줍니다. 관계 유형의 경우 MERGED_CELL각 병합된 셀 ID는 테이블 내의 단일 병합된 셀을 나타냅니다. 다음 JSON은 테이블에 MERGED_CELL 관계 Ids 배열에 나열된 9개의 병합된 셀이 있음을 보여줍니다. 두 가지 추가 관계 유형인 TABLE_TITLE 및는 각 제목 및 바닥글 블록의 IDs를 TABLE_FOOTER나열합니다. 다음 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입니다. 각 셀의 블록 객체에는 테이블의 다른 셀과 비교한 셀 위치에 대한 정보가 포함됩니다. 또한 문서에 있는 셀의 위치에 대한 지오메트리 정보도 포함됩니다. 또한 셀 블록은 TABLE_TITLE, TABLE_FOOTER, TABLE_SECTION_TITLE, COLUMN_HEADER, TABLE_SUMMARY를 포함하여 특정 유형의 셀로 EntityTypes 식별하는 차이가 있을 수 있습니다. 예를 들어 앞의 표에서 다음 예제와 같이 “Date”라는 단어가 포함된 셀은 열 헤더입니다.
{ "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" ] } ] },
병합된 모든 셀은 TABLE 블록의 "Type": "MERGED_CELL" 아래에 나열됩니다. 앞의 예제 표에는 9개의 병합된 셀이 있습니다.
{ "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".
'ColumnSpan' 5에서 볼 수 있듯이이 병합된 셀을 구성하는 셀은 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개 있습니다. 병합된 셀에서 제목이 식별TABLE_TITLE되었으므로 각 셀에는 EntityType의이 있습니다. 이 Id인 셀에는이 병합된 제목 셀을 구성하는 WORD 블록에 해당하는 두 개의 CHILD 관계 IDs가 48b0e972-7dba-4db7-896e-ca7066e8c761 포함되어 있습니다.
{ "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" ] },
단어 수준에는 “Balance”와 “Sheet”이라는 두 단어가 있습니다. 열 1, 2, 4, 5의 처음 두 셀과 마지막 두 셀은 비어 있으므로 연결된 단어가 없습니다. 이는 세 번째 셀에만 하위 IDs가 포함된 이전 JSON 출력에도 표시됩니다.
{ "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가 포함된 블록 유형도 있습니다. 단어 블록의 하위 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" ] } ] },