WO2021145541A1 - Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법 - Google Patents

Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법 Download PDF

Info

Publication number
WO2021145541A1
WO2021145541A1 PCT/KR2020/015235 KR2020015235W WO2021145541A1 WO 2021145541 A1 WO2021145541 A1 WO 2021145541A1 KR 2020015235 W KR2020015235 W KR 2020015235W WO 2021145541 A1 WO2021145541 A1 WO 2021145541A1
Authority
WO
WIPO (PCT)
Prior art keywords
parsing
table data
page
searched
coordinates
Prior art date
Application number
PCT/KR2020/015235
Other languages
English (en)
French (fr)
Inventor
구다해
김동훈
Original Assignee
티아이테크놀로지 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 티아이테크놀로지 주식회사 filed Critical 티아이테크놀로지 주식회사
Publication of WO2021145541A1 publication Critical patent/WO2021145541A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Definitions

  • the present invention relates to a method of parsing table data for a PDF file.
  • FIG. 1 is a diagram showing a table format of a PDF file as a background technology of the present invention.
  • the page 10 of the PDF file contains tables 11, 12, 13, and 14 for a total of four items up to Item 1, Item 2, Item 3, and Item 4 of the financial statement. .
  • FIG. 2 is a diagram for explaining table data parsing for the table of FIG. 1 as a background technology of the present invention.
  • both the table data 11 for item 1 and table data 12 for item 2 are simple strings in the same row. , there is a problem of causing errors such as overflow in the parsed table data 20 .
  • FIG. 3 is a diagram for explaining table data parsing using fixed coordinates as a background technique of the present invention.
  • table data is parsed based on the fixed coordinates 30 .
  • the condition that only the numerical values of the table of the page 10 of the PDF file change and the table data must always be located at the fixed coordinates 30 is valid should be maintained
  • the position of the table in the page 10 may be different for each PDF file, and for example, if the position of the fixed coordinate 30 does not exactly match the sales 40 of the table data, as shown in FIG. 3 , the corresponding table In the table data 20 parsed from , there is a problem in that an error 41 occurs because the table data for the sales 40 cannot be read.
  • An object of the present invention is to solve the above problems, and an object of the present invention is to provide a table data parsing method capable of accurately parsing target table data from a PDF file.
  • the present invention for achieving this object includes the steps of extracting data from a PDF file and analyzing the file structure to generate a parse tree for the PDF file, and a heading of a table to be searched using the generated parse tree. retrieving the location of the page, setting a parsing range within the searched page based on the coordinates (x, y) given to the headword of the table to be searched, and targeting the set parsing range It characterized in that it comprises the step of parsing the table data.
  • FIG. 1 is a view showing a table form of a PDF file as a background technology of the present invention.
  • FIG. 2 is a view for explaining table data parsing for the table of FIG. 1 as a background technology of the present invention
  • FIG. 3 is a view for explaining table data parsing using fixed coordinates as a background technique of the present invention.
  • FIG. 4 is a block diagram of an apparatus for parsing table data according to an embodiment of the present invention.
  • FIG. 5 is a view for explaining a table data parsing process according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a table data parsing method according to an embodiment of the present invention.
  • an apparatus 400 for parsing table data according to an embodiment of the present invention includes a parse tree generating unit 410 , a page searching unit 420 , a parsing range setting unit 430 , and a data parsing unit 440 . ) may be included.
  • the parse tree generator 410 of the present invention performs a function of extracting text and non-text for each page from the PDF file.
  • the non-text may include images and diagrams.
  • the parse tree generating unit 410 may classify text and non-text, such as an image, of an area included in each page.
  • the parse tree generating unit 410 of the present invention generates a parse tree by analyzing the file structure, and in the present invention, the 'parse tree' means that text and non-text in a region included in each page are structured in a tree form. .
  • the page search unit 420 of the present invention performs a function of searching for a page including a headword of a table to be searched by using the parse tree generated by the parse tree generation unit 410 .
  • the page search unit 420 searches the parse tree for each page, and there is a table in which the heading of the table is 'Profit and Loss Statement'. You can search the page.
  • the page search unit 420 may search for a page by using information related to a table to be searched in addition to the headword of the table. For example, you can search for a page with a table whose heading is 'Profit and Loss Statement' among pages with the item name ' ⁇ Investment' and the item code '000001'.
  • Every object in a PDF file has a unique coordinate within a page, and therefore, a table heading, an item name, and an item code existing in a page all have assigned coordinates.
  • the page search unit 420 of the present invention may search table headings, item names, and coordinates assigned to item codes.
  • the parsing range setting unit 430 of the present invention performs a function of setting a parsing range in the searched page. More specifically, the parsing range setting unit 430 of the present invention sets the parsing range within the searched page based on the coordinates (x, y) of the headword of the table to be searched.
  • the parsing range setting unit 430 divides the searched page into n regions (where n is 2 or more), and coordinates (x, y) of the table entry among the n divided regions. ) can be set as the parsing range within the searched page.
  • the parsing range setting unit 430 of the present invention divides the searched page into two areas, and selects one of the two areas according to which of the two areas the coordinates (x, y) of the headword of the table belong. You can set the region as the parsing scope.
  • the parsing range setting unit 430 determines that the parsing range in the searched page is the coordinate of the area where the coordinates (x, y) of the headword of the table are located among n areas in which the horizontal axis range is divided ( x1, x2), and the vertical axis range may be set smaller than the y coordinate based on the y coordinate among the coordinates (x, y) of the headword of the table.
  • the data parsing unit 440 of the present invention performs a function of parsing table data with respect to the parsing range within the page set by the parsing range setting unit 430 .
  • the data parsing unit 440 may parse the table data by reading the table data row by row.
  • the parse tree generating unit 410 of the present invention extracts text and non-text from a PDF file and creates a parse tree by structuring the file.
  • the page search unit 420 of the present invention searches for the page 500 including the headword 510 of the table to be searched by using the parse tree. At this time, the page search unit 420 acquires the coordinates (x, y) assigned to the entry 510 of the table in the searched page 500 .
  • the parsing range setting unit 430 of the present invention sets the parsing range 520 based on the coordinates of the headword 510 of the table to be searched.
  • the parsing range setting unit 430 divides the page 500 in which the table entry 510 is located into two regions, among which the coordinates (x, y) of the table entry 510 are located. The region is set as the parsing range 520 .
  • the parsing range is set based on the coordinates of the area where the table entry 510 is located among the two areas in which the horizontal axis range 521 is divided, and the vertical axis range 522 is the y of the table entry 510 . It is set smaller than the coordinates.
  • the data parsing unit 440 of the present invention reads and parses the table data in row units for the parsing range 520 set according to the above-described process.
  • table data 530 is parsed from page 500 of the PDF file.
  • FIG. 6 is a flowchart of a table data parsing method according to an embodiment of the present invention.
  • the table data parsing method of FIG. 6 may be executed by the above-described table data parsing apparatus 400 and components included therein.
  • a parse tree generating unit extracts data from a PDF file and analyzes the file structure to generate a parse tree (S600).
  • the parse tree generated in step S600 may include non-text such as text and images.
  • a parse tree in which text and non-text are structured in a tree form for each page of the PDF file is generated.
  • the page search unit searches for a page in which a table to be searched is located using the parse tree ( S620 ). More specifically, in step S620, the position of the page including the headword of the table to be searched may be searched using the parse tree. Also, step S620 may include searching for a page by using a name of an item related to the table, an item code, and the like.
  • step S620 may include searching for and obtaining the coordinates of the headword of the table.
  • step S630 is a step of dividing the searched page into n regions (where n is 2 or more) and searching for the region where the coordinates (x, y) are located among the n divided regions. It may include setting the parsing scope within the page.
  • the parsing range of step S630 is set based on the coordinates (x1, x2) of the area where the coordinates (x, y) of the entry of the table are located among the n areas in which the horizontal axis range is divided. and the vertical axis range may be set smaller than the y coordinate based on the y coordinate among the coordinates (x, y) of the headword of the table.
  • the data parsing unit 440 reads and parses the table data in row units with respect to the parsing range set in step S630 (S640).
  • ⁇ Table 1> is a table showing the results of parsing the table data of the 'Profit and Loss Statement' item among specific items and item codes for the company analysis report distributed as a PDF file.
  • 'total' is the number of times table data parsing has been performed, and 'success' is the number of successful table data parsing among them.
  • 'None' indicates that the table did not exist in the company analysis report.
  • 'Failure' is when the heading of the table is not 'income statement' according to the company analysis report.
  • 'Error' is when the item name or item code is incorrectly written on the page.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명은 PDF 파일을 대상으로 하는 테이블 데이터의 파싱 방법에 관한 것이다. 본 발명은 PDF 파일로부터 데이터를 추출하고 파일 구조를 분석하여 PDF 파일에 대한 파스 트리를 생성하는 단계, 생성된 파스 트리를 이용하여 검색하고자 하는 테이블의 표제어가 포함되어 있는 페이지의 위치를 검색하는 단계, 검색하고자 하는 테이블의 표제어에 대해 부여되어 있는 좌표(x, y)를 기준으로, 검색된 페이지 내에서의 파싱 범위를 설정하는 단계 및 설정된 파싱 범위를 대상으로 테이블 데이터를 파싱하는 단계를 포함하는 것을 특징으로 한다. 본 발명에 의하면, PDF 파일로부터 목적 테이블 데이터를 정확히 파싱해 낼 수 있는 장점이 있다.

Description

PDF 파일을 대상으로 하는 테이블 데이터 파싱 방법
본 발명은 PDF 파일을 대상으로 하는 테이블 데이터의 파싱 방법에 관한 것이다.
증권사 등에서는 기업의 경영실태나 재무현황 등을 정리한 보고서를 정기적으로 발행하며, 여기에는 기업 별로 손익계산, 재무상태, 현금흐름, 주요지표 등의 항목에 대한 데이터가 일목요연하게 알아볼 수 있도록 테이블 형태로 작성된다.
한편, PDF 파일을 실행했을 때 화면에서 출력되는 테이블이 실제 파일구조에서는 테이블로 저장되지 않은 경우가 많은데, PDF 파일의 테이블이 캐리지 리턴(CR), 라인피드(LF) 또는 뉴 라인(/n) 등의 명령어로 구현된 경우이다.
그 예로, 도 1은 본 발명의 배경이 되는 기술로서 PDF 파일의 테이블 형태를 나타낸 도면이다. 도 1을 참조하면, PDF 파일의 페이지(10)에는 재무제표의 항목1, 항목2, 항목3, 항목4까지의 총 네 가지 항목에 대한 테이블(11, 12, 13, 14)이 포함되어 있다.
그러나 도 1에 보인 테이블(11, 12, 13, 14)의 실제 파일 구조는 개별적인 문자열로 구성되어 있으며, 이러한 파일 구조에서는 각기 서로 다른 항목에 대한 테이블(11, 12, 13, 14)이 서로 구별이 되지 않는다.
이와 같이 PDF 파일의 테이블이 실제 파일 구조에서는 서로 구별이 되지 않고 문자열과 명령어로 구성되기 때문에, PDF 파일에 포함된 특정 항목에 대한 테이블 데이터만을 정확히 파싱하기에는 어려움이 있다.
도 2는 본 발명의 배경이 되는 기술로서 도 1의 테이블에 대한 테이블 데이터 파싱을 설명하기 위한 도면이다.
도 2에 도시된 것처럼 PDF 파일의 페이지(10)를 대상으로 테이블 데이터 파싱을 수행할 경우, 항목1에 대한 테이블 데이터(11)와 항목2에 대한 테이블 데이터(12)가 모두 같은 행 내의 단순 문자열로 인식되어, 파싱된 테이블 데이터(20)에 오버플로우 등의 오류를 야기시키는 문제점이 있다.
한편, 증권사의 보고서 정기적으로 발행되는 간행물은 특정 항목에 대한 테이블이나 데이터는 위치가 고정되고 수치 값만 변경되는 경우가 빈번하다.
이러한 배경에서, 도 3은 본 발명의 배경이 되는 기술로서 고정 좌표를 이용한 테이블 데이터 파싱을 설명하기 위한 도면이다.
도 3에서는 PDF 파일의 페이지(10)를 불러온 다음, 고정 좌표(30)를 기준으로 테이블 데이터를 파싱하게 된다. 도 3의 고정 좌표를 이용한 테이블 데이터 파싱 방법이 유효하기 위해서는, PDF 파일의 페이지(10)의 테이블은 그 수치 값만이 변동되고 그 테이블 데이터는 항상 고정 좌표(30)에 위치해야 한다는 조건이 유효하게 유지되어야 한다.
그러나 PDF 파일마다 페이지(10) 내의 테이블의 위치가 다를 수 있고, 예를 들어 도 3에 도시된 것처럼 고정 좌표(30)의 위치가 테이블 데이터의 매출액(40)에 정확히 일치하지 않을 경우, 해당 테이블로부터 파싱한 테이블 데이터(20)는 매출액(40)에 대한 테이블 데이터를 읽지 못하여 오류(41)가 생기는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로, PDF 파일로부터 목적 테이블 데이터를 정확히 파싱해 낼 수 있는 테이블 데이터 파싱 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명은 PDF 파일로부터 데이터를 추출하고 파일 구조를 분석하여 상기 PDF 파일에 대한 파스 트리를 생성하는 단계, 상기 생성된 파스 트리를 이용하여 검색하고자 하는 테이블의 표제어가 포함되어 있는 페이지의 위치를 검색하는 단계, 상기 검색하고자 하는 테이블의 표제어에 대해 부여되어 있는 좌표(x, y)를 기준으로, 상기 검색된 페이지 내에서의 파싱 범위를 설정하는 단계 및 상기 설정된 파싱 범위를 대상으로 테이블 데이터를 파싱하는 단계를 포함하는 것을 특징으로 한다.
전술한 바와 같은 본 발명에 의하면, PDF 파일로부터 목적 테이블 데이터를 정확히 파싱해 낼 수 있는 장점이 있다.
도 1은 본 발명의 배경이 되는 기술로서 PDF 파일의 테이블 형태를 나타낸 도면.
도 2는 본 발명의 배경이 되는 기술로서 도 1의 테이블에 대한 테이블 데이터 파싱을 설명하기 위한 도면.
도 3은 본 발명의 배경이 되는 기술로서 고정 좌표를 이용한 테이블 데이터 파싱을 설명하기 위한 도면.
도 4는 본 발명의 일 실시예에 따른 테이블 데이터 파싱 장치의 구성도.
도 5는 본 발명의 일 실시예에 따른 테이블 데이터 파싱 과정을 설명하기 위한 도면.
도 6은 본 발명의 일 실시예에 따른 테이블 데이터 파싱 방법의 흐름도.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 4는 본 발명의 일 실시예에 따른 테이블 데이터 파싱 장치의 구성도이다. 도 4를 참조하면, 본 발명의 일 실시예에 따른 테이블 데이터 파싱 장치(400)는 파스 트리 생성부(410), 페이지 검색부(420), 파싱 범위 설정부(430) 및 데이터 파싱부(440)를 포함할 수 있다.
본 발명의 파스 트리 생성부(410)는 PDF 파일로부터 각 페이지 별로 텍스트와 비텍스트를 추출하는 기능을 수행한다. 여기서, 비텍스트는 이미지, 도표를 포함할 수 있다. 파스 트리 생성부(410)는 각 페이지에 포함된 영역의 텍스트와 이미지 등 비텍스트로 구분 지을 수 있다.
본 발명의 파스 트리 생성부(410)는 파일 구조를 분석하여 파스 트리를 생성하며, 본 발명에서 '파스 트리'는 각 페이지에 포함된 영역의 텍스트와 비텍스트가 트리 형태로 구조화 된 것을 의미한다.
본 발명의 페이지 검색부(420)는 파스 트리 생성부(410)에 의해서 생성된 파스 트리를 이용하여 검색하고자 하는 테이블의 표제어가 포함되어 있는 페이지를 검색하는 기능을 수행한다.
예를 들어, PDF 파일에 포함된 페이지 중 '손익계산서' 항목의 테이블을 검색하고자 하는 경우, 페이지 검색부(420)는 페이지 별로 파스 트리를 검색하여 테이블의 표제어가 '손익계산서'인 테이블이 있는 페이지를 검색할 수 있다.
또한, 페이지 검색부(420)는 테이블의 표제어 외에도 검색하고자 하는 테이블과 관련된 정보를 이용하여 페이지를 검색할 수 있다. 예를 들어, 항목의 명칭이 '○○투자'이고, 항목코드가 '000001'인 페이지 중에서 테이블의 표제어가 '손익계산서'인 테이블이 있는 페이지를 검색할 수 있다.
또한, PDF 파일 내의 모든 오브젝트는 페이지 내에서의 고유한 좌표를 갖고, 따라서 페이지 내에 존재하는 테이블의 표제어, 항목의 명칭, 항목코드는 모두 부여된 좌표를 갖는다. 본 발명의 페이지 검색부(420)는 테이블 표제어와 항목의 명칭, 항목코드에 부여되어 있는 좌표를 검색할 수 있다.
본 발명의 파싱 범위 설정부(430)는 검색된 페이지 내에서의 파싱 범위를 설정하는 기능을 수행한다. 보다 상세하게는, 본 발명의 파싱 범위 설정부(430)는 검색하고자 하는 테이블의 표제어의 좌표(x, y)를 기준으로 검색된 페이지 내에서의 파싱 범위를 설정한다.
본 발명의 일 실시예에서, 파싱 범위 설정부(430)는 검색된 페이지를 n개(여기서, n은 2 이상)의 영역으로 분할하고, 분할된 n개의 영역 중 테이블의 표제어의 좌표(x, y)가 위치한 영역을 검색된 페이지 내에서의 파싱 범위로 설정할 수 있다.
예를 들어, 본 발명의 파싱 범위 설정부(430)는 검색된 페이지를 2개의 영역으로 분할하고, 테이블의 표제어의 좌표(x, y)가 2개의 영역 중 어느 영역에 속하는지에 따라 그 중 하나의 영역을 파싱 범위로 설정할 수 있다.
본 발명의 일 실시예에서, 파싱 범위 설정부(430)는 검색된 페이지 내에서의 파싱 범위는 가로 축 범위가 분할된 n개의 영역 중 테이블의 표제어의 좌표(x, y)가 위치한 영역의 좌표(x1, x2)를 기준으로 설정되고, 세로 축 범위가 테이블의 표제어의 좌표(x, y) 중 y 좌표를 기준으로 y 좌표보다 작게 설정될 수 있다.
본 발명의 데이터 파싱부(440)는 파싱 범위 설정부(430)에 의해서 설정된 페이지 내에서의 파싱 범위에 대하여 테이블 데이터를 파싱하는 기능을 수행한다.
본 발명의 일 실시예에서, 데이터 파싱부(440)는 테이블 데이터를 행 단위로 읽어서 테이블 데이터를 파싱할 수 있다.
도 5는 본 발명의 일 실시예에 따른 테이블 데이터 파싱 과정을 설명하기 위한 도면이다. 도 5를 참조하면, 본 발명의 파스 트리 생성부(410)는 PDF 파일로부터 텍스트 및 비텍스트를 추출하고 파일 구조화하여 파스 트리를 생성한다.
본 발명의 페이지 검색부(420)는 파스 트리를 이용하여 검색하고자 하는 테이블의 표제어(510)가 포함되어 있는 페이지(500)를 검색한다. 이 때, 페이지 검색부(420)는 검색된 페이지(500) 내에서 테이블의 표제어(510)에 대해 부여되어 있는 좌표(x, y)를 획득한다.
본 발명의 파싱 범위 설정부(430)는 검색하고자 하는 테이블의 표제어(510)의 좌표를 기준으로 파싱 범위(520)를 설정한다. 보다 상세하게는, 파싱 범위 설정부(430)는 테이블의 표제어(510)가 위치한 페이지(500)를 2개의 영역으로 분할하고, 그 중 테이블의 표제어(510)의 좌표(x, y)가 위치한 영역을 파싱 범위(520)로 설정한다.
여기서, 파싱 범위는 가로 축 범위(521)가 분할된 2개의 영역 중 테이블의 표제어(510)가 위치한 영역의 좌표를 기준으로 설정되고, 세로 축 범위(522)는 테이블의 표제어(510)의 y 좌표보다 작게 설정된다.
그리고 본 발명의 데이터 파싱부(440)는 전술한 과정에 따라 설정된 파싱 범위(520)에 대하여 테이블 데이터를 행 단위로 읽어서 파싱한다.
그 결과, PDF 파일의 페이지(500)로부터 테이블 데이터(530)가 파싱된다.
도 6은 본 발명의 일 실시예에 따른 테이블 데이터 파싱 방법의 흐름도이다. 도 6의 테이블 데이터 파싱 방법은 전술한 테이블 데이터 파싱 장치(400) 및 여기에 포함된 구성들에 의해서 실행될 수 있다.
도 6을 참조하면, 본 발명의 테이블 데이터 파싱 방법은 먼저 파스 트리 생성부가 PDF 파일로부터 데이터를 추출하고 파일 구조를 분석하여 파스 트리를 생성한다(S600). 단계(S600)에서 생성된 파스 트리는 텍스트 및 이미지 등의 비텍스트를 포함할 수 있다. 단계(S600)를 수행한 결과, PDF 파일에 대하여 페이지 별로 텍스트 및 비텍스트가 트리 형태로 구조화된 파스 트리가 생성된다.
다음으로, 페이지 검색부가 파스 트리를 이용하여 검색하고자 하는 테이블이 위치한 페이지를 검색한다(S620). 보다 상세하게는, 단계(S620)는 파스 트리를 이용하여 검색하고자 하는 테이블의 표제어가 포함되어 있는 페이지의 위치를 검색할 수 있다. 또한, 단계(S620)는 테이블과 관련된 항목의 명칭, 항목코드 등을 이용하여 페이지를 검색하는 단계를 포함할 수 있다.
또한, 전술한 바와 같이 PDF 파일의 페이지 내의 모든 오브젝트에는 고유한 좌표가 부여되며, 단계(S620)는 테이블의 표제어가 갖는 좌표를 검색하여 획득하는 단계를 포함할 수 있다.
다음으로, 파싱 범위 설정부가 테이블의 표제어에 대해 부여된 좌표(x, y)를 기준으로 검색된 페이지 내에서의 파싱 범위를 설정한다(S630). 또한, 도 6에는 도시되지 않았지만 단계(S630)는 검색된 페이지를 n개(여기서, n은 2 이상)의 영역으로 분할하는 단계 및 분할된 n개의 영역 중 좌표(x, y)가 위치한 영역을 검색된 페이지 내에서의 파싱 범위로 설정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에서, 단계(S630)의 파싱 범위는 가로 축 범위가 분할된 n개의 영역 중 테이블의 표제어의 좌표(x, y)가 위치한 영역의 좌표(x1, x2)를 기준으로 설정되고, 세로 축 범위가 테이블의 표제어의 좌표(x, y) 중 y 좌표를 기준으로 y좌표보다 작게 설정될 수 있다.
마지막으로, 데이터 파싱부(440)가 단계(S630)에서 설정된 파싱 범위를 대상으로 테이블 데이터를 행 단위로 읽어서 파싱한다(S640).
전술한 바와 같은 본 발명에 의하면, PDF 파일로부터 목적 테이블 데이터를 정확히 파싱해 낼 수 있는 장점이 있다.
아래 <표 1>은 PDF 파일로 배포된 기업분석보고서를 대상으로 특정 종목 및 종목코드 중 '손익계산서' 항목의 테이블 데이터를 파싱한 결과를 보인 표이다.
연도 총합 성공 없음 실패 오류 성공률(%)
2019 26 23 3 0 0 100
2018 27 23 2 2 0 92
2017 49 43 2 3 1 91.5
2015 36 35 1 0 0 100
2014 26 26 0 0 0 100
위 <표 1>에서, '총합'은 테이블 데이터 파싱을 수행한 횟수이고, '성공'은 그 중 테이블 데이터 파싱이 성공한 횟수이다. '없음'은 기업분석보고서 중 테이블이 존재하지 않았던 경우이다. '실패'는 기업분석보고서에 따라 테이블의 표제어가 '손익계산서'가 아닌 경우이다. '오류'는 페이지에 종목명 또는 종목코드가 잘못 표기된 경우이다.
위 <표 1>은 테이블 데이터 파싱을 수행한 결과 중 테이블이 존재하지 않았던 경우를 제외하고 산출한 것이고, PDF 파일 자체에 발생한 '실패', '오류'를 제외하고는 100%의 성공률을 갖는 것으로 분석되었다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (6)

  1. PDF 파일로부터 데이터를 추출하고 파일 구조를 분석하여 상기 PDF 파일에 대한 파스 트리를 생성하는 단계;
    상기 생성된 파스 트리를 이용하여 검색하고자 하는 테이블의 표제어가 포함되어 있는 페이지의 위치를 검색하는 단계;
    상기 검색하고자 하는 테이블의 표제어에 대해 부여되어 있는 좌표(x, y)를 기준으로, 상기 검색된 페이지 내에서의 파싱 범위를 설정하는 단계; 및
    상기 설정된 파싱 범위를 대상으로 테이블 데이터를 파싱하는 단계
    를 포함하는 PDF 파일을 대상으로 하는 테이블 데이터 파싱 방법.
  2. 제1항에 있어서,
    상기 PDF 파일에 대한 파스트리는
    텍스트 및 비텍스트를 포함하는 PDF 파일을 대상으로 하는 테이블 데이터 파싱 방법.
  3. 제1항에 있어서,
    상기 생성된 파스 트리를 이용하여 검색하고자 하는 테이블의 표제어가 포함되어 있는 페이지의 위치를 검색하는 단계는
    상기 검색하고자 하는 테이블과 관련된 항목의 명칭, 항목코드가 포함되어 있는 페이지의 위치를 검색하는 단계
    를 포함하는 PDF 파일을 대상으로 하는 테이블 데이터 파싱 방법.
  4. 제1항에 있어서,
    상기 검색하고자 하는 테이블의 표제어에 대해 부여되어 있는 좌표(x, y)를 기준으로, 상기 검색된 페이지 내에서의 파싱 범위를 설정하는 단계는
    상기 검색된 페이지를 n개(n은 2 이상)의 영역으로 분할하는 단계;
    상기 분할된 n개의 영역 중 상기 좌표(x, y)가 위치한 영역을 상기 검색된 페이지 내에서의 파싱 범위로 설정하는 단계
    를 포함하는 PDF 파일을 대상으로 하는 테이블 데이터 파싱 방법.
  5. 제4항에 있어서,
    상기 검색된 페이지 내에서의 파싱 범위는
    가로 축 범위가 상기 분할된 n개의 영역 중 상기 좌표(x, y)가 위치한 영역의 좌표(x1, x2)를 기준으로 설정되고,
    세로 축 범위가 상기 표제어에 대해 부여되어 있는 좌표(x, y) 중 y 좌표를 기준으로 설정되는
    PDF 파일을 대상으로 하는 테이블 데이터 파싱 방법.
  6. 제1항에 있어서,
    상기 설정된 파싱 범위를 대상으로 테이블 데이터를 파싱하는 단계는
    상기 테이블 데이터를 행 단위로 읽어서 상기 테이블 데이터를 파싱하는 단계
    를 포함하는 PDF 파일을 대상으로 하는 테이블 데이터 파싱 방법.
PCT/KR2020/015235 2020-01-14 2020-11-03 Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법 WO2021145541A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0004927 2020-01-14
KR1020200004927A KR102171325B1 (ko) 2020-01-14 2020-01-14 Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법

Publications (1)

Publication Number Publication Date
WO2021145541A1 true WO2021145541A1 (ko) 2021-07-22

Family

ID=73018375

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/015235 WO2021145541A1 (ko) 2020-01-14 2020-11-03 Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법

Country Status (3)

Country Link
KR (1) KR102171325B1 (ko)
TW (1) TW202127301A (ko)
WO (1) WO2021145541A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102171325B1 (ko) * 2020-01-14 2020-10-28 티아이테크놀로지 주식회사 Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0765034A (ja) * 1993-08-24 1995-03-10 Hitachi Ltd テーブルデータ検索装置におけるデータ表示方法およびテーブルデータ検索装置
KR20090084161A (ko) * 2008-01-31 2009-08-05 주식회사 싱싱타오 문서 내 목차정보를 이용한 검색 시스템
KR100912502B1 (ko) * 2007-07-27 2009-08-17 한국전자통신연구원 Pdf 파일을 대상으로 하는 자동 번역 방법
KR20180080408A (ko) * 2017-01-03 2018-07-12 주식회사 페이스시스템 정형 및 비정형 데이터 추출 시스템 및 방법
US20190294399A1 (en) * 2018-03-26 2019-09-26 Abc Fintech Co., Ltd. Method and device for parsing tables in pdf document
KR102171325B1 (ko) * 2020-01-14 2020-10-28 티아이테크놀로지 주식회사 Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102001633B1 (ko) * 2016-03-31 2019-07-18 엔지엘 주식회사 선박 데이터 수집 및 전송 방법과 이를 수행하는 시스템
KR102087247B1 (ko) * 2018-06-27 2020-03-10 주식회사 한글과컴퓨터 드로잉 개체를 렌더링하는 웹 전자 문서 편집 장치 및 이의 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0765034A (ja) * 1993-08-24 1995-03-10 Hitachi Ltd テーブルデータ検索装置におけるデータ表示方法およびテーブルデータ検索装置
KR100912502B1 (ko) * 2007-07-27 2009-08-17 한국전자통신연구원 Pdf 파일을 대상으로 하는 자동 번역 방법
KR20090084161A (ko) * 2008-01-31 2009-08-05 주식회사 싱싱타오 문서 내 목차정보를 이용한 검색 시스템
KR20180080408A (ko) * 2017-01-03 2018-07-12 주식회사 페이스시스템 정형 및 비정형 데이터 추출 시스템 및 방법
US20190294399A1 (en) * 2018-03-26 2019-09-26 Abc Fintech Co., Ltd. Method and device for parsing tables in pdf document
KR102171325B1 (ko) * 2020-01-14 2020-10-28 티아이테크놀로지 주식회사 Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법

Also Published As

Publication number Publication date
KR102171325B1 (ko) 2020-10-28
TW202127301A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
US5040142A (en) Method of editing and circulating an electronic draft document amongst reviewing persons at remote terminals attached to a local area network
CN101118515B (zh) 一种表单的自动测试方法及装置
US7606816B2 (en) Record boundary identification and extraction through pattern mining
US20050050044A1 (en) Processing structured/hierarchical content
US20220414345A1 (en) Official document processing method, device, computer equipment and storage medium
WO2003067471A1 (fr) Appareil et procede permettant de traiter des connaissances dans des documents
JPH0696276A (ja) 高度なデータ収集方法及びデータ処理システム
CN112926299B (zh) 一种文本比对方法、合同审阅方法、审核系统
WO2021145541A1 (ko) Pdf 파일을 대상으로 하는 테이블 데이터 파싱 방법
WO2008041367A1 (fr) Dispositif de recherche de document, procédé de recherche de document et programme de recherche de document
CN1797403A (zh) 用于网页各方面的评估的方法和系统
US7240061B2 (en) Place name information extraction apparatus and extraction method thereof and storing medium stored extraction programs thereof and map information retrieval apparatus
CN113283231B (zh) 获取签章位的方法、设置系统、签章系统及存储介质
EP1286284B1 (en) Spreadsheet data processing system
CN111985881A (zh) 智能合同审阅系统及方法
WO2010074426A2 (ko) 번역서비스 제공방법 및 그 시스템
CN113326687A (zh) 一种简历查重方法、简历查重系统
JPH08180066A (ja) インデックス作成方法、文書検索方法及び文書検索装置
CN114884745B (zh) 一种数据中心的信息安全保护方法及系统
WO2023277522A1 (ko) 키워드 사전을 이용하여 투자 키워드를 관리하는 서버 및 방법
CN116257602B (zh) 一种基于公共词构建通用词库的方法、装置及电子设备
CN102479240A (zh) 依据输入类型提供例句的系统及其方法
WO2022244217A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
Flynn Document classification in support of automated metadata extraction form heterogeneous collections
CN115660493A (zh) 一种基于大数据的企业产品标准建立方法及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20913562

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20913562

Country of ref document: EP

Kind code of ref document: A1