WO2022182111A1 - Method and system for generating table, and method and system for recognizing table - Google Patents

Method and system for generating table, and method and system for recognizing table Download PDF

Info

Publication number
WO2022182111A1
WO2022182111A1 PCT/KR2022/002622 KR2022002622W WO2022182111A1 WO 2022182111 A1 WO2022182111 A1 WO 2022182111A1 KR 2022002622 W KR2022002622 W KR 2022002622W WO 2022182111 A1 WO2022182111 A1 WO 2022182111A1
Authority
WO
WIPO (PCT)
Prior art keywords
text
cells
cell
image
box
Prior art date
Application number
PCT/KR2022/002622
Other languages
French (fr)
Korean (ko)
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
Priority claimed from KR1020210024040A external-priority patent/KR20220120222A/en
Priority claimed from KR1020210038518A external-priority patent/KR20220133434A/en
Application filed by 네이버 주식회사, 라인 가부시키가이샤 filed Critical 네이버 주식회사
Publication of WO2022182111A1 publication Critical patent/WO2022182111A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines

Definitions

  • the present invention relates to a method and system for generating a table by performing an analysis on an image. Furthermore, the present invention relates to a method and system for recognizing a table that can utilize data included in the table.
  • the dictionary meaning of artificial intelligence is a technology that realizes human learning ability, reasoning ability, perceptual ability, and natural language understanding ability through computer programs. Such artificial intelligence made a leap forward due to deep learning, which added a neural network that mimics the human brain to machine learning.
  • Deep learning is a technology that allows a computer to judge and learn like a human, and to cluster or classify objects or data through this. It is actively used in the industrial field.
  • Korean Patent Registration No. 1907029 (Table Generating Apparatus and Method for Automated Formatting) discloses a method for recognizing a table from an image and reproducing the recognized table, but this is a line segment (line) included in the table. ))), so there is a limit to analyzing a table including cells in which the visual display of line segments is omitted.
  • An object of the present invention is to provide a table creation method and system capable of creating a table having the same configuration as a table included in an image.
  • an object of the present invention is to provide a table creation method and system capable of generating a table in consideration of non-visual characteristics that do not appear in an image.
  • an object of the present invention is to provide a table creation method and system capable of creating a table in consideration of the meaning of data included in the table.
  • Another object of the present invention is to provide a table creation method and system capable of recognizing and reproducing all tables included in an image.
  • an object of the present invention is to provide a table recognition method and system that can utilize data included in a table by recognizing a table included in an image.
  • an object of the present invention is to provide a table recognition method and system capable of recognizing a table in consideration of an organic relationship between data included in the table.
  • an object of the present invention is to provide a table recognition method and system capable of organically analyzing data included in a table in consideration of the structural characteristics of the table.
  • the method for generating a table includes the steps of receiving an image including a table, a table in which the table is located in the image based on feature information included in the image specifying a region; extracting text included in the image and positional information of the text in the image; specifying a plurality of cells included in the table region based on the positional information of the text; and
  • the method may include specifying a structure of the table based on a relationship between the plurality of cells.
  • the table generating system specifies a table region in which the table is located in the image based on a storage unit, a receiver receiving an image including a table, and characteristic information included in the image.
  • a control unit wherein the control unit extracts text included in the image and position information of the text in the image, and specifies a plurality of cells included in the table area based on the position information of the text and, based on the relationship between the plurality of cells, the structure of the table may be specified.
  • the program that is executed by one or more processes in the electronic device according to the present invention and can be stored in a computer-readable recording medium includes the steps of: receiving an image including a table; features included in the image specifying a table region in which the table is located in the image based on the information, extracting text included in the image and positional information of the text in the image, based on the positional information of the text, and instructions for performing the step of specifying the plurality of cells included in the table area and the step of specifying the structure of the table based on a relationship between the plurality of cells.
  • the table recognition method includes the steps of receiving an image including a table, recognizing text included in the image, and including the text specifying a text box, recognizing a plurality of cells constituting the table, and specifying a cell box corresponding to each of the plurality of cells; performing pairing between the text box and the cell box based on the position of the text; based on at least one of a text included in the text box paired with the cell box and an arrangement position of the plurality of cells in the table
  • the method may include specifying a relationship between the plurality of cells.
  • the table recognition system recognizes a storage unit, a receiver for receiving an image including a table, and text included in the image, and a text box including the text ), wherein the control unit recognizes a plurality of cells constituting the table, specifies a cell box corresponding to each of the plurality of cells, and Pairing is performed between the text box and the cell box based on the position of the text, and based on at least one of a text included in the text box paired with the cell box and an arrangement position of the plurality of cells in the table
  • the relationship between the plurality of cells may be specified.
  • the program executed by one or more processes in the electronic device according to the present invention and storable in a computer-readable recording medium includes the steps of: receiving an image including a table; text included in the image Recognizing (text) and specifying a text box including the text, recognizing a plurality of cells constituting the table, and cell boxes corresponding to the plurality of cells, respectively box), performing pairing between the text box and the cell box based on the position of the text on the image, and text included in the text box paired with the cell box and in the table and instructions for performing the step of specifying a relationship between the plurality of cells based on at least one of the arrangement positions of the plurality of cells.
  • the method and system for generating a table according to the present invention accurately specify the table region where the table is located in the image based on the feature information and reference data of the image, and the table region included in the table region based on the text recognition result.
  • the structure of the cell can be specified. Through this, it is possible to specify even a cell formed by an invisible line (eg, an implicit line), and as a result, the table creation method and system according to the present invention have the same structure as the table included in the image. It is possible to create tables.
  • the table creation method and system according to the present invention not only creates a table having the same structure as a table included in an image, but also provides a relationship between cells included in the table based on the text recognition result, It is possible to provide an environment in which data included in each cell can be organically analyzed.
  • the table recognition method and system according to the present invention analyze the text data included in the table in consideration of the relationship between the cells constituting the table, thereby establishing an organic relationship between the text data included in the table. can figure out Through this, it is possible to extract and secure more meaningful data from the recognized table.
  • the method and system for recognizing a table according to the present invention provide text data included in a table with an organic relationship with each cell through pairing between the text included in the table and the cells, so that the text included in each cell It can provide an environment in which data can be analyzed organically.
  • FIG. 1A is a conceptual diagram for explaining a table creation system according to the present invention.
  • 1B is a conceptual diagram for explaining the components of a table.
  • FIG. 2 is a flowchart illustrating a method for generating a table according to the present invention.
  • 3, 4, 5, 6, 7, 8, and 9 are conceptual diagrams for explaining a method of generating a table.
  • FIG. 10 is a conceptual diagram illustrating a reconstructed table.
  • FIG. 11 is a conceptual diagram for explaining a table recognition system according to the present invention.
  • FIG. 12 is a flowchart illustrating a table recognition method according to the present invention.
  • 13 to 18 are conceptual diagrams for explaining a method of recognizing a table in the present invention.
  • 19 and 20 are conceptual diagrams for explaining a method of extracting information from a recognized table in the present invention.
  • the present invention is to provide a table creation method and system capable of creating a table having the same configuration as a table included in an image, considering non-visual characteristics that do not appear in the image, as well as the relationship between data included in the table It relates to a table creation method and system that can even identify the last name.
  • the table creation system 100 extracts the components constituting the tables 1100 and 1200 from the tables 1100 and 1200 included in the image 1000, and determines the relationship between the extracted components. Based on this, the same tables as the tables 1100 and 1200 included in the image 1000 may be generated.
  • the image 1000 may include one or more tables, and the present invention recognizes all tables included in the image 1000 irrespective of the number of tables included in the image 1000, and the same It is possible to reproduce
  • the image 1000 may be an image obtained by scanning a paper document, an image obtained by photographing, or an image obtained by various other methods.
  • the table generating system 100 may include at least one of a receiving unit 110 , a storage unit 120 , an OCR unit 130 , and a control unit 140 . .
  • the receiver 110 is a means for receiving the image 1000 including the tables 1100 and 1200 , and is configured to include at least one of a communication unit, a scan unit, and an input unit, or other means capable of receiving the image 1000 . can be made with
  • the table generating system 100 analyzes the tables 1100 and 1200 included in the image 1000 received through the receiver 110 to generate the same tables as the tables 1100 and 1200 included in the image 1000 . can do.
  • the operation of creating the same table as the tables 1100 and 1200 included in the image 1000 may also be expressed as reconstructing, reconstructing, or restoring the table.
  • generating the same table as the tables 1100 and 1200 included in the image 1000 may be referred to as meaning including restoring some of the tables included in the image.
  • the storage unit 120 may be configured to store various information according to the present invention.
  • the types of the storage unit 120 may be very diverse, and at least some of them may mean an external server 150 (at least one of the cloud server 151 and the database (DB, 152 )). That is, it can be understood that the storage unit 120 is sufficient as long as a space in which information related to the present invention is stored, and there is no restriction on the physical space.
  • the storage unit 120 In the storage unit 120, i) the image 1000 including the tables 1100 and 1200 and data related thereto, ii) the components (lines, corners, etc.) of the tables 1100 and 1200 extracted from the image 1000 and data related thereto, iii) content (eg, text, image, etc.) data included in the table 1100, and iv) reference data used to recognize and extract the tables 1100 and 1200 included in the image.
  • content eg, text, image, etc.
  • the reference data may also be referred to as “table reference data”, and may include size information and location information of a plurality of reference tables having different sizes and locations.
  • Such reference data may consist of various images having different sizes, and each of these images may include a table area (or a reference table area, or a table format) having various sizes and various positions.
  • the above-mentioned image may be understood to include a plurality of different images having various sizes or ratios.
  • the OCR (Optical Character Reader, 130) unit is a means for recognizing the content included in the image 1000, and may recognize the content included in the image 1000 through at least one of various content recognition algorithms.
  • the OCR unit 130 may recognize the content by using an algorithm based on artificial intelligence.
  • the OCR unit may extract text included in the image and location information of the text.
  • the position information of the text may include information on where the text is located in the image 1000 input through the receiver 110 or where the text is located in the tables 1100 and 1200 .
  • the controller 140 may be configured to control the overall operation of the table generating system 100 related to the present invention.
  • the controller 140 may include a processor (or artificial intelligence processor) capable of processing an artificial intelligence algorithm.
  • the controller 140 recognizes the table 1100 from the image 1000 based on a deep learning algorithm, and generates a table having the same cell configuration (or structure) as the table 1100 included in the image 1000 . can do.
  • a “table” referred to in the present specification may also be referred to as a table, and may mean that certain contents are displayed in a certain format or order.
  • the table 200 may include at least one cell 210 . That is, the table 200 includes at least one cell or space (or region), and the table is configured to include information in the cell 210 .
  • Such a cell 210 may mean a space partitioned by elements of a table.
  • the elements of the table may include at least one of an outer border element 201 , a row element 202 , and a column element 203 .
  • the outer edge element 201 is an element that determines the size and shape of the table 200 and is not necessarily visually displayed.
  • the row element 202 is a horizontal line (line or segment) included in the outer border element 201 , and depending on the configuration of the table 200 , one or more horizontal lines may be provided in the table 200 . have.
  • the row element 202 may include at least a portion (a border corresponding to a horizontal line) of the outer border element 201 .
  • the column element 203 is a vertical line (line or segment) included in the outer border element 201 , and depending on the configuration of the table 200 , one or more vertical lines may be provided in the table 200 . have.
  • the column element 203 may include at least a portion (a border corresponding to a vertical line) of the outer border element 201 .
  • the number of cells included in the table 200, the size of the cells, or the location of cells may be variously modified based on the number and arrangement relationship of horizontal and vertical lines, and may be variously modified by merging between cells. have.
  • the table 200 and the cells provided in the table 200 have a rectangular shape.
  • the cell 210 included in the table 200 may be defined by at least four lines (lines). That is, the cell 210 included in the table may be formed of a rectangle surrounded by four lines a, b, c, and d. As such, in order to form one square-shaped cell, at least four lines are required, which include two horizontal lines (or horizontal lines, refer to reference numerals “b, d”) and two vertical lines. It may consist of a line (or a vertical line (refer to reference numerals “a, c”)).
  • line may also be referred to as “line segment” or “edge”.
  • the rectangular cell 210 may be formed by crossing at least a portion of two horizontal lines b and d and two vertical lines a and c.
  • the table includes at least four lines, and the number of cells, the size of the cells, the position of the cells, etc. can be defined according to the number of horizontal lines, the number of vertical lines, the spacing between lines, and the arrangement position of the lines. .
  • the plurality of lines constituting the table may be classified into one of different first and second types, and this may be specified according to which direction the corresponding line extends.
  • the lines 2201 and 2202 extending in the horizontal direction may be defined as the first type
  • the lines 2203 and 2204 extending in the vertical direction may be defined as the second type.
  • the first type of line may be variously named as a horizontal line, a horizontal line, a row line, a horizontal line, etc. as terms having the same or similar meaning.
  • the second type of line may be variously named as a term having the same or similar meaning as a vertical line, a vertical line, a column line, a vertical line, and the like.
  • the number of cells included in the table 2200, the size of the cells, the positions of cells, etc. may be variously modified based on the number of horizontal and vertical lines, arrangement relationships, etc., and may be variously modified by merging between cells can be
  • the components constituting the table described in the present invention are a corner (or vertex, reference numeral) formed while the lines constituting the table (horizontal lines and vertical lines) and the lines constituting the table intersect. “e, f, g, h”).
  • All tables have at least 4 corners, which may be corners included in the outermost edge of the table. Furthermore, the number of corners included in the table depends on the number of cells included in the table.
  • the table 200 and the shape of the cells provided in the table 200 are exemplified to have a square shape, and are not necessarily limited thereto.
  • other types of table shapes such as a triangle and a pentagon are possible, and a shape in which a diagonal line is formed in a rectangle is also possible.
  • a process of receiving an image 1000 (refer to FIG. 1 ) including tables 1100 and 1200 may be performed ( S210 ).
  • the image 1000 including the tables 1100 and 1200 may be received through various routes.
  • the image 1000 may be transmitted through a communication unit, scanned through a scan unit, or received through an input unit.
  • estimating the positions of the tables 1100 and 1200 in the image 1000 may proceed (S220).
  • estimating the positions of the tables 1100 and 1200 means estimating an area (hereinafter, referred to as a “table area”) including (or autonomously) the tables 1100 and 1200 in the image 1000 . and may mean to specify.
  • the controller 140 may specify a table area in the image in which the table is located, based on the characteristic information included in the image 1000 .
  • the feature information is information extracted from the image 1000
  • the controller 140 may extract the feature information from the image 1000 based on a deep learning algorithm.
  • the controller 140 may input the image 1000 as input data of a Convolutional Neural Network (CNN) and extract feature information from the image 1000 .
  • CNN Convolutional Neural Network
  • the feature information may include at least one of information on components (or components) constituting the tables 1100 and 1200 and information on the image 1000 itself.
  • the feature information includes information related to at least one of a plurality of lines included in the image 1000 , a corner formed by crossing at least some of the plurality of lines, and a background of the image 1000 . can do.
  • Information on the corner included in the feature information is a corner (or a vertex or a corner, 1100a, 1100b, 1100c) formed by the outermost line (or border) of the tables 1100 and 1200. , 1100d, 1200a, 1200b, 1200c, 1200d).
  • information about the corner is a corner (or a vertex, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c, 1200d) formed by the outermost line of the tables 1100 and 1200 in the image 1000. , it may include information about where it is located.
  • the location information of the corner may be defined as a coordinate value from the origin of the reference coordinate system.
  • the information about the background of the image 1000 may include information about the background color of the image 1000 .
  • the information on the background color may be used to distinguish between the table regions 410 and 420 including the tables 1100 and 1200 and the remaining regions 430 not including the table.
  • the table areas 410 and 420 including the tables 1100 and 1200 in the image 1000 may be specified based on this.
  • the controller 140 may specify the table area by using table reference data for estimating the table area and the characteristic information.
  • the table reference data (or reference data) may include size information and location information of a plurality of reference tables having different sizes and locations.
  • the location information may mean location information on an area in which the table is located in the image.
  • the above-mentioned image may be understood to include a plurality of different images having various sizes or ratios.
  • Such table reference data may be understood as data in which a region (or table region) in which a table can be included is defined for each of a plurality of different images having various sizes or ratios.
  • the table reference data is various table areas 310 , 320 , 330 , 340 in which tables may exist in the image 300 having a specific size.
  • this table area may also be referred to as a reference table area, a table arrangement, or a table format.
  • the table reference data includes not only the image 300 having a specific size shown in FIG. 3 , but also each image having various sizes or various ratios, where and how large the table area can be located. may contain information.
  • Such table reference data may include information on hundreds of thousands of different table areas.
  • the controller 140 specifies, as the table regions 410 and 420 of the image 1000 , the region with the highest probability of including the tables 1100 and 1200 in the image 1000 .
  • the controller 140 may input feature information as input data of the region proposal network to specify table regions 410 and 420 including the tables 1100 and 1200 in the image 1000 .
  • the region proposal network can extract a reference table region that has the highest similarity to feature information extracted from the image 1000 among various reference table regions included in table reference data.
  • the controller 140 extracts a reference table area included in an image having the same or the most similar size (or ratio) to the image 1000 including the table from among the table reference data, and extracts the reference table area and feature information By comparing , the table areas 410 and 420 can be estimated.
  • the control unit 140 specifies, in the image 1000 , an area in which a corner is located on the outer edge of the tables 1100 and 1200 in the image 1000, based on the characteristic information, and various references included in the area in which the corner is located and the table reference data. You can compare tablespaces.
  • the controller 140 may compare the region defined or defined by the connection of the corner points in the image 1000 to the reference table region, assuming that the table is present.
  • the area defined by the connection of the points where the corners are located is, as shown in FIG. 4, the corners (or vertices, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c and 1200d).
  • the area defined by the corners may mean an inner area with respect to corners included in the pair.
  • a pair of corners or “a pair of corners” may mean four corners (1100a, 1100b, 1100c, 1100d or 1200a, 1200b, 1200c, 1200d) defining one table.
  • the area defined by the pair of corners may be an area covered by the outer line of one table.
  • control unit 140 sets the reference table area having the highest similarity to the area defined by the corner as the table area in which the tables 1100 and 1200 included in the image 1000 are located. can be estimated
  • the controller 140 may consider information about the background of the image included in the feature information in the above process, and the probability of including the tables 1100 and 1200 in the area in the image 1000 that does not include the background color is high. Assuming a high area, the table areas 410 and 420 may be estimated.
  • the region in which the tables 1100 and 1200 are located in the image 1000 is estimated using information related to at least one of a line, a corner, and a background color included in the feature information, and the estimated region and the Table areas 410 and 420 corresponding to the table included in the image 1000 may be specified by comparing a plurality of reference tables.
  • the controller 140 may determine that a plurality of tables exist in the image 1000 . In addition, the controller 140 may specify each table area corresponding to each pair.
  • the controller 140 extracts a reference table area that has the highest similarity to an area defined by the corners 1100a, 1100b, 1100c, and 1100d included in the first table 1100, and the second table 1200 ), the reference table area having the highest similarity to the area defined by the corners 1200a, 1200b, 1200c, and 1200d included in the ) may be extracted, respectively.
  • the present invention by defining the table area based on the corners of the outer edge defining the table, even when a plurality of tables are included in the image 1000, all of the plurality of tables are recognized and the table area is specified. it is possible to do
  • the process of recognizing the text included in the table may be performed ( S230 ). More specifically, in the present invention, a process of extracting text included in the image 1000 and location information of the text in the image 1000 may be performed.
  • control unit 140 based on the deep learning algorithm, the text (502, 503, 504, 505, 506, 507, 508) and the table (1100, 1100, All of the texts 501 and 510 included in the area outside of 1200 may be recognized.
  • the text location information may be information on the text location with respect to the table areas 410 and 420 , or text location information based on the image 1000 .
  • the controller 140 may control the OCR unit 130 to detect text included in the image 1000 .
  • the OCR unit 130 may detect text from the image 1000 through a text detection model trained to detect each text (or character) and a position of the text included in the image 1000 .
  • the controller 140 may detect or specify at least one cell included in the tables 1100 and 1200 based on the location information of the text extracted above.
  • the controller 140 may partition the table areas 410 and 420 based on the lines (horizontal lines and vertical lines) included in the feature information extracted from the image 1000 , and the tables 1100 and 1200 according to the partitioning. ) can be specified.
  • controller 140 may specify the cells of the tables 1100 and 1200 by assuming that a cell exists at a point where the text is located in the tables 1100 and 1200 based on the location information of the text.
  • the controller 140 estimates that a cell exists in the areas 502 , 5203 , 504 , 505 , 506 , 507 , 508 , etc. where text is located within the table areas 410 and 420 . can
  • the controller 140 inputs feature information as input data of the region proposal network, and in the image 1000 , cells 611, 612, 613, 614, 621, 622, 623, 624, 625, 626, 627, etc.) can be specified.
  • the region proposal network can specify the cells constituting the table based on the location information of the text extracted above.
  • the region proposal network can estimate and specify the region where the cell is located in the tables 1100 and 1200 by assuming that the cell is located where the text is located.
  • the controller 140 may extract (or specify) even cells partitioned by lines that are not visually visible by estimating the location of the cell and specifying the cell based on the location information of the text.
  • the controller 140 may specify the cells of the tables 1100 and 1200 by assuming that a cell exists at a point where the text is located in the tables 1100 and 1200 based on the location information of the text. In this case, the controller 140 may specify the size of a cell including the specific text based on the location of the specific text included in the table and the arrangement of the surrounding text.
  • the tables 1100 and 1200 may be divided into cells of a minimum unit by horizontal and vertical lines included in the tables 1100 and 1200, and among them, at least two neighboring cells are merged to form one cell. can In the present invention, the controller 140 can extract the merged cell from the tables 1100 and 1200 included in the image based on the position of the text and specify the structure of the merged cell as it is.
  • the first area 503 in which the text of "Consultation Fee” is located is detected, and texts corresponding to the date are located adjacent to the first area along a horizontal line (for example, "2020-12-03 ⁇ 2020-12").
  • the second region 503 , the third region 504 , and the fourth region 505 in which -18 ′′, etc.) are located may be detected.
  • the controller 140 may analyze the position of the text in the first to fourth regions 505 and set the first region 501 as one cell in which the cells of the minimum unit are merged. For example, text “02. The relative position of “hospitalization fee” and the first region 503 has a different rule (or pattern) from the relative positions of the second region 503 , the third region 504 and the fourth region 505 . can be analyzed. Using this analysis, the control unit divides the second region 503, the third region 504, and the fourth region 505 into cells of a minimum unit, and divides the first region into the second region along a vertical line. 503 , the third region 504 , and the fourth region 505 may be set to a merged size.
  • the controller 140 may not consider the text 630 recognized in the region outside the tables 1100 and 1200 in the region proposal network. That is, the controller 140 may control the region proposal network so that the cells included in the tables 1100 and 1200 are specified by considering only the text included in the tables 1100 and 1200 and location information of the text. When the cells included in the tables 1100 and 1200 are specified, the controller 140 selects the specified cells as the category cells 611, 613, 621, and 622 and the data cells 612, 614, 623, 624, 625, and 626. , 627).
  • the cells that make up the table (1100, 1200) contain category cells (611, 613, 621, 622) containing category names and data related to (or pertaining to) category names contained in category cells.
  • Data cells 612 , 614 , 623 , 624 , 625 , 626 , 627 may be included.
  • a category is classified based on the same or similar properties or meaning, and may also be called a category.
  • Data belonging to the same category may be data corresponding to the same meaning, the same type, or the same affiliation.
  • the meaning of the text included in the data cell may correspond to a sub-concept of the meaning of the text included in the category cell.
  • the category cell may include the name of a category or data related to the category name, and the data cell may include data belonging to the category name included in the category cell.
  • the category name may also be understood as a category name.
  • the first category cell 611 has a category name of “Patient Registration Number”, and the data cell 612 corresponding to the first category cell 611 is data belonging to the category name “Patient Registration Number”. (eg "123456").
  • the second category cell 623 has a category name of “01. Consultation Fee” and may have data (diagnosis date) related to the data cell 625 corresponding to the second category cell 623.
  • the category cell may also have properties of the data cell.
  • the second category cell 623 has a category attribute including a category name for the data cell 625, but has a category name ( item) and related data (information on the item “01. Consultation Fee”).
  • the controller 140 may classify a category cell and a data cell based on the location of the cell and the meaning of text included in the cell.
  • control unit 140 is included in the regions 701, 702, 703, 704, 705, 706 not included in the tables 1100 and 1200. Text can be removed.
  • the controller 140 may detect text located outside the table areas 410 and 420 by using the table areas 410 and 420 and location information of the text.
  • the controller may exclude the text from input data of deep learning using a region proposal network. Through this, text recognized in an area outside the tables 1100 and 1200 may be excluded from data processing for table restoration.
  • the controller 140 may remove text included in the areas 701 , 702 , 703 , 704 , 705 , and 706 excluding the specified cell.
  • control unit 140 may store the text included in the regions 701 , 702 , 703 , 704 , 705 , and 706 not included in the tables 1100 and 1200 and the location information of the text in the storage unit 120 . have. The stored information can be utilized when reproducing the table later.
  • the process of specifying the structure of the table may be performed (S250, see FIG. 2 ).
  • the controller 140 may specify the structure of the tables 1100 and 1200 based on the specified relationship (or relationship) between the plurality of cells.
  • “specifying the structure of the tables 1100 and 1200” refers to a process of specifying (or grouping) cells including data related to each other among a plurality of cells. It may refer to a process of grouping data cells including data belonging to a name (or category).
  • category cells and data cells including data related to each other can be grouped into the same group.
  • the controller 140 may group cells related to each other based on the category cell and the data cell divided in the process of specifying the cell described above. For this example, a plurality of data cells in one category cell may be analyzed as related cells and set as one group.
  • the controller 140 may analyze the meaning of the text included in the cells to group the category cell and the data cell that are related to each other. .
  • the controller 140 may specify one of the plurality of cells as a category cell based on the relationship between the plurality of cells specified from the tables 1100 and 1200 and specify the other as a data cell corresponding to the category cell. have.
  • the controller 140 may classify a category cell and a data cell, respectively, based on the meaning of text included in a plurality of cells having a relationship with each other.
  • the meaning of text included in a specific data cell may correspond to a sub-concept of the meaning of text included in a specific category cell belonging to the same group (ie, having a relationship) with the specific data cell.
  • the controller 140 may use the text extracted from the image to estimate the relationship between the plurality of cells. In this case, as shown in FIGS. 8 and 9 , the controller 140 may estimate the relationship between the plurality of cells in one direction based on the extracted text. As shown in FIG. 8 , the controller 140 extracts the relationship between the plurality of cells along the row direction, and further, as shown in FIG. 9 , the relationship between the plurality of cells along the column direction, respectively. can be estimated Meanwhile, when the image 1000 includes a plurality of tables 1100 and 1200 , the controller 140 may determine the relationship between cells independently of each other for each table.
  • the controller 140 may extract the relationship between the plurality of cells based on a self-attention algorithm (or self-attention structure).
  • the controller 140 assumes that all of the plurality of cells specified in the table have interrelationship, and then removes the relation between cells having low relation to each other based on the semantic analysis of the text included in each cell. In this way, it is possible to finally specify a group of cells having a mutual relationship.
  • This specified group may include at least one category cell and at least one data cell.
  • the controller 140 includes a plurality of cells 801 , 802 , 803 , 804 , 805 , 806 , 807 , 808 arranged along the row direction as shown in FIG. 8 .
  • the meanings of texts included in 810, 811, 812, 813, 814, 815, 816, and 817) may be analyzed, and cells including texts related to each other among the respective texts may be specified as the same group.
  • cells having text (or data) having a meaning related to “diagnosis fee” may be grouped into one group.
  • the controller 140 controls the plurality of cells 801, 802, 803, 804, 805, 806, 807, 808, or 810, 811, 812, 813, 814, 815, 816, and 817 arranged along the row direction. After assuming that they belong to the same group, the meaning of the text included in each cell may be analyzed separately. Also, the controller 140 may exclude a cell including a text having low relevance among meanings indicated by each text included in the plurality of cells from the assumed group.
  • the controller 140 may Based on the semantic analysis of the text included in the cells, it may be determined that a cell having a text having a meaning related to “shopping” is not related to the remaining cells. In this case, the controller 140 may group only the remaining cells except for the cells including the text having a meaning related to “shopping” into the same group.
  • the controller 140 analyzes the meaning of the text included in the plurality of cells 901 , 902 or 911 , 912 , 913 , and 914 arranged along the column direction, respectively, and Cells containing related texts among texts can be specified as the same group.
  • the controller 140 determines the meaning of the text included in each cell. can be analyzed.
  • the controller 140 may exclude a cell including a text having low correlation among meanings indicated by each text included in the plurality of cells from the assumed group.
  • the controller 140 may analyze the meaning of the text included in the cells based on the directionality of the cells to specify cells that are related to each other. In this way, when the specification of the relationship between the plurality of cells is completed, the controller 140 uses the relationship between the plurality of cells and the text extracted from the image to display the image 1000 (refer to FIG. 1) as shown in FIG. 10 . Tables 2100 and 2200 corresponding to the included tables 1100 and 1200 may be created.
  • the generated tables 2100 and 2200 may be provided as data of an Excel (xlsx) structure or data in various formats.
  • the controller 140 may reflect the relationship between the plurality of cells in the Excel data, and in this case, the operation relationship between the cells may also be included in the Excel data.
  • the controller 140 may estimate a mutual operation relationship between texts included in cells, and apply the estimated operation relationship to cells corresponding to Excel data as a function.
  • the controller 140 may provide texts 2010 and 2020 located in areas outside the tables 1100 and 1200 in the image 1000 (refer to FIG. 1 ) together.
  • the corresponding texts 2010 and 2020 may be provided as one data together with the generated tables 2100 and 2200 by reflecting the relative position with the specified table area.
  • the table creation method and system according to the present invention accurately specify the table region where the table is located in the image based on the image feature information and table reference data, and include the table region in the table region based on the text recognition result.
  • the structure of the cell can be specified. Through this, it is possible to specify even a cell formed by an invisible line (eg, an implicit line), and as a result, the table creation method and system according to the present invention have the same structure as the table included in the image. It is possible to create tables.
  • the table creation method and system according to the present invention not only creates a table having the same structure as a table included in an image, but also provides a relationship between cells included in the table based on the text recognition result, It is possible to provide an environment in which data included in each cell can be organically analyzed.
  • the table recognition system 2100 recognizes the table 21100 included in the image 21000 and extracts components constituting the recognized table 21100 . and their relationship can be specified.
  • the table 21100 includes text (eg, “patient registration number”, “patient name”, “qualification: National Corporation”, etc.), a cell containing text, and a line dividing the cell ( line) or may be composed of components such as lines. These components may have a positional and semantic relationship with each other.
  • a text may be understood as a word or at least one letter that may have a meaning independently.
  • the text may be expressed in a meaningful code system, such as numbers, symbols, and operators, as well as characters.
  • the positional relationship may mean that at least some of the cells included in the table 21100 are arranged in the same or adjacent rows or columns.
  • the semantic relationship may mean that at least a part of cells included in the table 21100 includes content related to other parts.
  • the image 21000 may include one or more tables, and the present invention can recognize all tables included in the image 21000 regardless of the number of tables included in the image 21000 .
  • the image 21000 may be an image obtained by scanning a paper document, an image obtained by photographing, or an image obtained by various other methods.
  • the table recognition system 2100 may include at least one of a receiving unit 2110 , a storage unit 2120 , an OCR unit 2130 , and a control unit 2140 . .
  • the receiver 2110 is a means for receiving the image 21000 including the table 21100 , and includes at least one of a communication unit, a scan unit, and an input unit, or other means for receiving the image 21000 . can
  • the table recognition system 2100 analyzes the table 21100 included in the image 21000 received through the receiver 2110, and the same table as the table 21100 included in the image 21000 is generated (or reproduced) restoration), or a recognition process for the table 21100 may be performed so that data (or information) included in the table 21100 is accurately extracted.
  • Recognizing various elements constituting the table 21100 included in the image 21000 herein may be understood as a process for restoring the table 21100 included in the image 21000 .
  • the storage unit 2120 may be configured to store various information according to the present invention.
  • the types of the storage unit 2120 may be very diverse, and at least some of them may mean an external server 2150 , at least one of a cloud server 2151 and a database (DB, 2152 ). That is, it can be understood that the storage unit 2120 is a space in which information related to the present invention is stored, and there is no restriction on the physical space.
  • the storage unit 2120 may include information on various components constituting the table. More specifically, in the storage unit 2120, i) an image 21000 including the table 21100 and data related thereto, ii) a cell included in the table 21100, location information of the cell, and a cell box corresponding to the cell (box), information related to lines, corners, etc. and data related thereto, iii) content (eg, text, image, etc.) data included in the table 21100, location information of the content in the table 21100 At least one of them may be stored.
  • an image 21000 including the table 21100 and data related thereto ii) a cell included in the table 21100, location information of the cell, and a cell box corresponding to the cell (box), information related to lines, corners, etc. and data related thereto, iii) content (eg, text, image, etc.) data included in the table 21100, location information of the content in the table 21100 At least one of them may be stored.
  • the OCR (Optical Character Reader, 2130) unit may recognize the content included in the image 21000 as a means for recognizing the content included in the image 21000, and may recognize the content included in the image 21000 through at least one of various content recognition algorithms.
  • the OCR unit 2130 may recognize content by using an algorithm based on artificial intelligence (eg, a deep learning algorithm). It is also possible that the OCR unit is named “OCR API”.
  • the OCR unit 2130 may extract text included in the image and location information of the text.
  • the position information of the text may include information on where the text is located in the image 21000 input through the receiver 2110 or where the text is located in the table 21100 .
  • the OCR unit 2130 may extract or specify a text box based on the text included in the image.
  • the OCR unit 2130 may recognize text included in the image 21000 and specify a text box including the text.
  • the OCR unit 2130 recognizes a text including at least one character based on a preset classification criterion, and as a result of the recognition, when a plurality of texts are included in the image, each of the plurality of texts is A plurality of corresponding text boxes can be specified.
  • the controller 2140 may be configured to control the overall operation of the table recognition system 2100 related to the present invention.
  • the controller 2140 may include a processor (or artificial intelligence processor, or deep learning processor) capable of processing an artificial intelligence algorithm (or deep learning algorithm).
  • the controller 2140 may recognize the table 21100 from the image 21000 based on an artificial intelligence algorithm, recognize at least one cell constituting the table 21100, and specify a cell box corresponding thereto.
  • the cell box is a means for classifying or specifying cells constituting the table 21100 , and the cell and the cell box may have the same meaning.
  • a process of receiving an image 21000 (refer to FIG. 11 ) including a table 21100 may be performed ( S2310 ).
  • the image 21000 including the table 21100 may be received through various routes.
  • the image 21000 may be transmitted through a communication unit, scanned through a scan unit, or received through an input unit.
  • a process of specifying text and a text box including the text from the table 21100 included in the image 21000 may proceed (S2320).
  • the OCR unit 2130 may detect text from the image 21000 through a text detection model trained to detect each text (or character) and a position of the text included in the image 21000 .
  • a text detection model may include an algorithm based on artificial intelligence (eg, a deep learning algorithm).
  • the OCR unit 2130 may extract text included in the image and location information of the text.
  • the location information of the text may include information (location information) on where the text is located in the image 21000 input through the receiver 2110 or where the text is located in the table 21100. have.
  • the OCR unit 2130 may extract or specify a text box (text box, 2401, 2402, 2403, etc.) based on the text included in the image.
  • a text box text box, 2401, 2402, 2403, etc.
  • the OCR unit 2130 may recognize text included in the image 21000 and specify a text box including the text.
  • a text box 2401 including the text of “foreign” may be recognized (or specified).
  • a text box 2402 including the text of “receipt” may be recognized (or specified).
  • a text box 2403 including the text of “patient registration number” may be recognized (or specified).
  • the OCR unit 2130 recognizes a text including at least one character based on a preset classification criterion, and as a result of the recognition, when a plurality of texts are included in the image, each of the plurality of texts is A plurality of corresponding text boxes can be specified.
  • the preset classification criterion may be related to at least one of an interval between characters included in the image and a meaning formed by at least some of the characters.
  • the spacing between letters may be understood as “space spacing” between letters.
  • the OCR unit 2130 may divide the characters into different texts based on the spacing when there is a gap among consecutive characters, and specify different text boxes for the separated text.
  • the OCR unit 2130 may classify them into different texts. For example, if the letters “patient name and treatment period” exist consecutively without spaces, the OCR unit 2130 converts them into the respective texts of “patient name” and “treatment period” based on the meaning of the letters. can be recognized as Then, the OCR unit 2130 may specify “patient name” as one text box and “treatment period” as one text. As such, the OCR unit 2130 recognizes and extracts at least one text included in the table 21100 based on a classification criterion related to at least one of the spacing of the characters and the meaning of the characters, and includes each of them. You can specify a text box.
  • the text box is a box (box) including text, and may distinguish different unit texts. That is, different texts may be included in different text boxes, respectively.
  • information 2411 , 2412 , and 2413 corresponding to the recognized text may be provided around the recognized text, respectively.
  • Such information may be provided on a user's display unit (not shown). Accordingly, the user can check the accuracy of text recognition and the recognition result in real time.
  • a box indicated by a dotted line may mean the text box described above, and a box indicated by a solid line.
  • the text included in the box may mean a recognition result of the recognized text.
  • the OCR unit 2130 may recognize each text included in the image 21000 based on a preset classification criterion, and set a text box for the recognized text.
  • the OCR unit 2130 may extract location information of each recognized text.
  • the location information of the text may be location information based on the table 21100 or the image 21000 .
  • each text box may have different identification information (or serial number).
  • the identification information of the text box is information for distinguishing the text boxes from each other, and all texts arranged at different positions on the image 21000 are included in different text boxes, and these text boxes have different identification information. can be done
  • matching information in which at least some of identification information of the text box, text (or information about it) included in the text box, and location information of the text are matched with each other may exist.
  • Such matching information may be stored in the storage unit 2120 . Accordingly, when the identification information of the text box is specified, the text and the position of the text included in the text box corresponding to the identification information may be specified based on the matching information.
  • a process of recognizing a cell included in the table 21000 may be performed (S2330).
  • cells 2501 , 2502 , 2503 , and 2504 are defined by at least four line segments and have a rectangular shape.
  • the controller 2140 is a Cell Detector Cells included in the table 21100 may be recognized based on an artificial intelligence algorithm (or deep learning algorithm) corresponding to the model.
  • the controller 2140 may recognize each cell based on cell shape information and cell characteristic information.
  • the control unit 2140 may specify the cell box corresponding to the cells based on reference data for estimating an area in which the cells are located in the table 21100 .
  • the reference data may be formed of rectangular-shaped masks having different sizes.
  • the control unit 2140 may specify a cell box through a process of extracting a mask having the same size or most similar size (or ratio) to a specific cell to be recognized from among the reference data.
  • the controller 2140 may specify a mask having a size most equal to or similar to a rectangle formed by a line segment surrounding a specific cell, and may specify a box corresponding to the corresponding mask as a cell box corresponding to the specific cell.
  • the specification of such a cell box may mean that a cell is recognized soon.
  • a mask (or a mask image) may overlap a cell or a cell box, and the user can check the recognition process and the recognition level of the cell through this mask.
  • the controller 2140 may recognize all cells included in the table 21100 and define each cell as a cell box. That is, each recognized cell may correspond to a different cell box one-to-one.
  • each cell box may have different identification information (or serial numbers).
  • the identification information of the cell box is information for distinguishing different cell boxes from each other, and all cells arranged in different positions on the image 21000 are matched to different cell boxes, respectively, and these cell boxes are different identification information can be made to have
  • matching information in which identification information of the cell box and location information of a cell corresponding to the cell box are matched may exist.
  • Such matching information may be stored in the storage unit 2120 . Accordingly, if the cell box is identified and specified, based on the matching information, it may be specified at which position a cell corresponding to the corresponding cell box exists in an image or a table.
  • the controller 2140 may recognize and specify a cell and a cell box in various ways other than the method described above.
  • the controller 2140 may specify a cell and a cell box based on vertex (corner) information of the cell.
  • the controller 2140 may recognize a cell in various ways and specify a cell box based on shape information of the cell.
  • the method for recognizing and specifying cells and cell boxes is not limited.
  • a process of pairing the text box and the cell box may be performed in the present invention (S2340).
  • each of a plurality of cells constituting a table may include at least a portion of a plurality of texts.
  • the first cell 2501 contains the text “Patient Registration Number”
  • the second cell 2502 contains the text “Patient Name”
  • the third cell 2503 may include the text “Qualification: National Corporation”
  • the fourth cell 2504 may include the text “No special items”.
  • the controller 2140 may pair the text box of the text included in each cell with the cell box corresponding to each cell based on the text included in each cell.
  • the controller 2140 may determine a specific text box and a specific cell box to be paired with, according to which text among the text recognized from the image 21000 is included in each of the plurality of cells 2501 to 2504 .
  • the controller 2140 may specify in which cell of the table 21100 the text is included based on location information of the text in the image.
  • the controller 2140 may detect or specify a cell including the text based on the location information of the text.
  • a cell box corresponding to this detected or specified cell may be paired with a text box of the text.
  • pairing may be understood to mean defining (or binding) a cell box and a text box as one pair (pair or set). That is, this pairing may be understood as grouping the cell box and the text box related to each other as one group.
  • pairing information may be generated.
  • the pairing information may include information on the paired cell box 2611 (refer to FIG. 15) and the text box 2601 (refer to FIG. 15), respectively.
  • the pairing information includes information on which cell box is paired with which text box, identification information of the paired cell box 2611 , location information of a cell corresponding to the paired cell box, and identification of the paired text box 2601 . At least some of information, text (or information about it) included in the text box, and location information of the text included in the text box may be included.
  • the first text box 2601 corresponds to the first text box. It may be paired with the first cell box 2611 located where the text (“item”) is located.
  • the second text box 2602 and the third text box 2603 are the second text box 2602 and the third text box 2603 . It may be paired with the second cell box 2612 located where texts (“qualification”, “national corporation”) corresponding to , respectively, are located.
  • each cell box includes at least one text and may be paired with a text box including the text box.
  • a process of specifying a relationship between a plurality of cells related to each other may proceed ( S2350 ).
  • the controller 2140 may specify a relationship between a plurality of cells based on an artificial intelligence algorithm (or deep learning algorithm) corresponding to the connector model.
  • the controller 2140 may specify a relationship between the plurality of cells based on at least one of text included in the text box paired with the cell box and an arrangement position of the plurality of cells in the table.
  • Specifying the relationship between cells may include i) grouping cells that are related to each other, and ii) specifying category cells and data cells within the grouped cell group.
  • control unit 2140 controls cells arranged in a position (eg, the same (or adjacent) row or the same (or adjacent) column) to be related to each other while including text (contents) that are related to each other. It can be specified as cells.
  • the plurality of cells 2701 , 2702 , 2711 , 2712 , 2721 , and 2722 may be arranged in a column direction (or a vertical direction).
  • the plurality of cells 2741 and 2742 may be arranged in a row direction (or a horizontal direction).
  • the controller 2140 may specify cells including texts that are related to each other among cells arranged in the column direction as related (or related) cells.
  • the controller 2140 includes two cells 2701 and 2702 including texts (“patient registration number” and “1234678”) that are related to each other while being included in the same column. can be specified as cells that are related to each other.
  • the text corresponding to “12345678” may be text corresponding to “patient registration number”.
  • control unit 2140 may include texts (“salary”, “own expense”, “compensation fee”, “1,496”) that are related to each other while being included in the same or adjacent columns. , “2,244”, etc.) may be specified as cells that are related to each other. As illustrated, the plurality of cells 2721 , 2722 , 2723 , 2724 , 2725 , etc. may be cells including contents related to each other while being included in the same or adjacent columns.
  • the controller 2140 may analyze the meaning of texts included in cells disposed at the same or adjacent positions to each other, and may specify cells including texts having the same or similar meaning as mutually related cells.
  • cells 2701 and 2702 containing the texts of “Patient Registration Number” and “12345678” included in the same column are related to each other, but cells containing the texts of “Department” and “Orthopedic Surgery” ( 2711, 2712) may not be related to the texts of “Patient Registration Number” and “12345678”. Accordingly, even in cells arranged in the same or adjacent rows (or columns), the controller 2140 may analyze the meaning of the text included in each cell and determine the relationship between the cells based on the analysis result.
  • controller 2140 may specify cells including texts that are related to each other among cells arranged in the row direction as related (or related) cells.
  • cells 2741 and 2742 including texts of “institutional type” and “nursing home” can be specified as cells that are related to each other.
  • a plurality of cells specified as cells related to each other may form one cell group.
  • Such a cell group may consist of cells containing text (content) related to each other.
  • the controller 2140 may specify at least one cell group including at least some of the plurality of cells based on the meaning (contents) of the cells arranged in rows or columns related to each other and texts included therein.
  • cells included in a specific cell group among at least one cell group may be cells disposed in the same row or column or may be disposed in adjacent rows or columns.
  • the text of the text box paired to each cell is related to each other (or information). It may be composed of cells including
  • a plurality of cells specified as cells related to each other may form one cell group.
  • the controller 2140 may specify the structure of the table 21100 based on the specified relationship (or relationship) between the plurality of cells.
  • the controller 2140 semantically classifies the text of the upper concept and the text of the lower concept among the cells included in each cell group, and divides the cells into a category cell (or a key cell) and a data cell; Alternatively, it may be specified as a value cell).
  • the control unit 2140 specifies whether the corresponding text belongs to an upper concept or a lower concept to specify the relationship between the cells, the cell containing the text designated as the upper concept as a category cell, and texts of the related lower concept A cell can be specified as a data cell.
  • the cell in which the text of the upper concept is disposed may be a category cell
  • the cell in which the text of the lower concept is disposed may be a data cell belonging to the category.
  • a category is classified based on the same or similar properties or meaning, and may also be called a category.
  • Data belonging to the same category may be data corresponding to the same meaning, the same type, or the same affiliation.
  • the category cell may contain the name of a category or data related to the name of the category, and the data cell may include data belonging to the name of the category included in the category cell.
  • the category name may also be understood as a category name.
  • the included cells 21001, 21002, and 21003 may correspond to category cells.
  • the other cells 21004 and 21005 may be data cells including content related to category cells (data of amounts corresponding to salary, self-pay, and public service burden).
  • At least one category cell 21001 , 21002 , and 21003 may be included in the cell group, and category cells of a higher concept and a lower concept may exist between category cells. That is, a specific category cell may be a concept including other category cells.
  • the category cell 21001 including the text of “salary” may correspond to a higher concept of the category cells 21002 and 21003 respectively corresponding to “own expense” and “insurance expense”.
  • the category cell corresponding to the upper concept of the category cell may be referred to as a “parent category cell (or parent key cell).” Further, the category cell belonging to the upper category cell is “subordinate category cell”.
  • a category cell (or leaf key cell)” may be named.
  • the controller 2140 may specify at least one category cell and a data cell within the cell group. Furthermore, when category cells are divided into an upper concept and a lower concept, the upper category cell and the lower category cell may be specified between the category cells.
  • control unit 2140 is configured to include a specific cell and a plurality of cells 21002 and 21003 derived from a specific cell 21001 in one direction (eg, a column direction), as shown in FIG. 17A . It can be determined whether cells should be divided into upper category cells and lower category cells.
  • the controller 2140 may classify a cell group in each column direction and a row direction, respectively, and specify a category cell and a data cell within the divided cell group, respectively. .
  • the controller 2140 may specify at least one category cell including a category name for each cell group, respectively.
  • the controller 2140 may specify, among cells included in each cell group, the remaining cells not specified as the category cell as the data cell.
  • the classification of the category cell and the data cell may be usefully utilized to extract information of a recognized table in the future.
  • the controller 2140 may extract and provide information on cells specified as a data cell from a cell group to which the specific category cell belongs.
  • the storage unit 2120 may include identification information for each cell group, information on which cells are included in each cell group, and which text is included in each cell group.
  • the information on the cell group may include the pairing information generated above.
  • the controller 2140 may perform a process of verifying or standardizing the recognized text.
  • the controller 2140 may perform correction on the text based on an artificial intelligence algorithm (or deep learning algorithm) corresponding to the Grounder API.
  • an artificial intelligence algorithm or deep learning algorithm
  • misrecognized text such as “bending” the text of “salary” may be included.
  • the controller 2140 may correct (correct) the misrecognized text into the correct text.
  • the controller may extract the correction text (eg, “salary”) based on a preset DB (eg, a word dictionary, etc.).
  • a preset DB eg, a word dictionary, etc.
  • the table may further include the text “payment” having the same or similar meaning to the text of “salary”.
  • the controller 2140 may examine the text and, if necessary, perform correction on at least a portion.
  • the controller 2140 may determine the text to be corrected based on the relationship between the cells.
  • the controller 2140 may correct at least a portion of text included in a text box corresponding to a category cell and a data cell, respectively.
  • the controller 2140 may perform semantic analysis of texts included in text boxes respectively corresponding to category cells and data cells included in a specific cell group. In addition, based on the semantic analysis result, at least some of the texts included in the text box respectively corresponding to the category cell and the data cell included in the specific cell group may be corrected. That is, the controller 2140 may determine whether the text to be corrected exists in units of cell groups. This is because, since cells included in the same cell group include content related to each other, it is easy to determine whether a different meaning or misrecognized text is included among the related content.
  • controller 2140 may extract the text to be corrected without being constrained by the cell group unit.
  • the text to be corrected may be corrected based on at least a part of the text recognized from the table.
  • the controller 2140 may correct the text of a specific cell with reference to the text of another cell. In this case, the controller 2140 may correct the text of a specific cell with text included in another cell.
  • the controller 2140 may extract texts having the same or similar meaning from among texts included in the table.
  • correction may be performed on at least a portion of the extracted texts so that the extracted texts are unified into one common text. For example, as described above, when there are a plurality of different texts having the meaning of “salary”, the plurality of texts may be corrected as the same text. This process can be understood as “standardization” or “representation” process.
  • the controller 2140 extracts texts having corresponding meanings from among texts included in text boxes corresponding to category cells and data cells, respectively, and corrects the remaining texts based on any one of the extracted texts. can do.
  • the controller 2140 may correct the text based on the most used text, a standard word, a text selected by the user, a text inputted by the user, and the like.
  • the controller 2140 may correct other texts with the most used text (or the most disposed text) in the table among texts having the same or similar meaning. For example, when the text of “salary” is used three times in the table and the text of “payment” is used once in the table, the controller 2140 may change the text of “payment” to “salary”.
  • the controller 2140 may verify whether the relationship between the cells is correctly specified and whether the text is correctly recognized.
  • the controller 2140 may verify the accuracy of recognizing text included in the table and specifying a relationship based on at least one of numbers, text meanings, and mathematical operators included in the table. Such verification may be performed, for example, through a checksum process.
  • the controller 2140 may control the text included in the data cell 21211 including the result corresponding to the sum of the data cells to be summed. It may be verified whether the text corresponds to the sum of the texts included in 21210 .
  • the controller 2140 may perform an operation on texts included in the data cell 21210 .
  • the controller 2140 may compare the operation result with text included in another data cell 21211 including the operation result of the data cell.
  • the type of operation may vary depending on the content of text included in the specific category cell 21202 of the cell group to which the other data cell 21211 belongs.
  • the controller 2140 may perform a sum operation on numbers corresponding to text included in the data cell 21210 .
  • the result of the sum operation may be compared with a number corresponding to text included in another data cell 21211 .
  • the controller 2140 may determine that text recognition for the table is correct.
  • the controller 2140 may determine that text recognition for the table is not accurate, and may output information therefor. have.
  • the user may designate a data cell to be verified among numbers included in the table.
  • the controller 2140 may receive, from the user, a category cell 21201 (eg, self-pay) of a cell group including a data cell 21210 to be verified.
  • a category cell 21201 eg, self-pay
  • the specification of the data cell to be verified can be made by receiving the text (“own expense”) of the category cell included in the same group as the data cell, as shown in FIG. 19B .
  • the controller 2140 may expand and additionally input similar words as shown in the figure (eg, “co-pay”, “co-pay”, drawing See code 21232).
  • the controller 2140 may additionally input text having a meaning similar to the text input by the user.
  • controller 2140 may also receive a plurality of texts from the user.
  • the controller 2140 may specify the data cell 21210 belonging to the same cell group as the specified category cell 21201 .
  • the controller 2140 selects the category cell 21201 of the cell group including the related data cell 21210 in the “value key” input area ( 21232) can be specified. And, as described above, in the “value key” input area, not only the text “self-pay” included in the category cell 21201, but also similar words “co-pay” and “co-pay” may be further included.
  • the controller 2140 receives the category cell 21202 of the cell group to which the other data cell 21211 including the result value of the data cell subject to verification belongs, specified through the “total key” input area 21233.
  • a plurality of 21231 and 21241 may be specified together as shown in FIG. 19(b), and a plurality of verification results may also be provided.
  • the controller 2140 may extract information requested from the user and provide the information based on the structured and data-formatted data.
  • the extraction of such information may be performed by the information extractor or the controller 2140 .
  • the controller 2140 or the information extractor may extract information corresponding to Query Information from the table and provide it to the user.
  • control unit 2140 when the control unit 2140 receives main words 21111 and 21113 from which data is to be extracted from the user, text for specifying a category cell corresponding to the key word received from the storage 2120 (21112, 21114) can be extracted. Furthermore, these texts 21112 and 21114 may be input by the user.
  • the Query Information may be composed of at least one of the main words 21111 and 21113 described above and the texts 21112 and 21114 for specifying a category cell.
  • controller 2140 may additionally select a text (eg, “registration number”) having the same meaning as the input keyword (eg, “patient registration number”).
  • the controller 2140 may additionally input the text included in the table (or text expected to be included). have.
  • the controller 2140 searches for a category cell from the table based on the texts 21112 and 21114 for specifying the category cell, and uses the text of the data cell included in the cell group to which the searched category cell belongs as the search result. , can be extracted.
  • the extracted information may be provided to the user as a search result.
  • the controller 2140 may extract and provide information on cells specified as data cells from a cell group to which a specific category cell for which information is requested belongs.
  • the table recognition method and system according to the present invention analyze the text data included in the table in consideration of the relationship between the cells constituting the table, thereby determining the organic correlation between the text data included in the table. have. Through this, it is possible to extract and secure more meaningful data from the recognized table.
  • the method and system for recognizing a table according to the present invention provide text data included in a table with an organic relationship with each cell through pairing between the text included in the table and the cells, so that the text included in each cell It can provide an environment in which data can be analyzed organically.
  • the present invention described above may be implemented as a program storable in a computer-readable medium (or recording medium), which is executed by one or more processes in a computer.
  • the present invention as seen above can be implemented as computer-readable codes or instructions on a medium in which a program is recorded. That is, the present invention may be provided in the form of a program.
  • the computer-readable medium includes all types of recording devices in which data readable by a computer system is stored.
  • Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is this.
  • the computer-readable medium may be a server or a cloud storage that includes a storage and that an electronic device can access through communication.
  • the computer may download the program according to the present invention from a server or cloud storage through wired or wireless communication.
  • the computer described above is an electronic device equipped with a processor, that is, a CPU (Central Processing Unit, Central Processing Unit), and there is no particular limitation on the type thereof.
  • a processor that is, a CPU (Central Processing Unit, Central Processing Unit)
  • CPU Central Processing Unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

The present invention relates to a method and system for generating a table by performing an analysis on an image. Furthermore, the present invention relates to a method and system for recognizing a table, wherein data included in the table can be utilized.

Description

테이블 생성 방법 및 시스템, 그리고 테이블 인식 방법 및 시스템Table creation method and system, and table recognition method and system
본 발명은 이미지에 대한 분석을 수행하여 테이블을 생성하는 방법 및 시스템에 관한 것이다. 나아가, 본 발명은 테이블에 포함된 데이터를 활용할 수 있는 테이블을 인식 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for generating a table by performing an analysis on an image. Furthermore, the present invention relates to a method and system for recognizing a table that can utilize data included in the table.
인공지능의 사전적 의미는, 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술이라 할 수 있다. 이러한 인공지능은 머신러닝에 인간의 뇌를 모방한 신경망 네트워크를 더한 딥러닝으로 인하여 비약적인 발전을 이루었다.The dictionary meaning of artificial intelligence is a technology that realizes human learning ability, reasoning ability, perceptual ability, and natural language understanding ability through computer programs. Such artificial intelligence made a leap forward due to deep learning, which added a neural network that mimics the human brain to machine learning.
딥러닝(deep learning)이란, 컴퓨터가 인간처럼 판단하고 학습할 수 있도록 하고, 이를 통해 사물이나 데이터를 군집화하거나 분류하는 기술로서, 최근에는 텍스트 데이터 뿐만 아니라 영상 데이터에 대한 분석까지 가능해져, 매우 다양한 산업분야에 적극적으로 활용되고 있다.Deep learning is a technology that allows a computer to judge and learn like a human, and to cluster or classify objects or data through this. It is actively used in the industrial field.
이러한, 인공지능의 발달로 사무자동화(office automation) 분야에 있어서도 다양한 자동화가 이루어지고 있다. 특히, 사무자동화 분야에서는 종이(paper)에 인쇄된 콘텐츠를 인공지능을 활용한 영상 데이터 분석 기술에 기반하여 데이터화 하는데 많은 노력을 기울이고 있다. 그 일환으로서, 사무자동화 분야에서는 종이 문서를 이미지화 하여, 이미지에 포함된 콘텐츠를 분석하는 이미지 분석 기술(또는 영상 데이터에 대한 분석 기술)을 통하여, 문서에 포함된 콘텐츠를 데이터화하고 있으며, 이 경우 문서에 포함된 콘텐츠의 특성에 맞게 이미지를 분석하는 기술이 필요하다.With the development of artificial intelligence, various automations are being made in the field of office automation. In particular, in the field of office automation, much effort is being made to convert content printed on paper into data based on image data analysis technology using artificial intelligence. As part of that, in the field of office automation, the content included in the document is converted into data through image analysis technology (or analysis technology for image data) that images the paper document and analyzes the content included in the image. It is necessary to have a technique for analyzing images according to the characteristics of the content included in the .
예를 들어, 테이블(table, 표)을 포함하는 문서를 데이터화 하는 경우, 테이블의 형식, 테이블 내에 포함된 텍스트의 내용 및 테이블에 포함된 텍스트의 위치 등과 같이, 테이블을 둘러싼 다양한 요소들에 대한 정확한 분석이 필요하다.For example, when dataizing a document containing a table (table), accurate information about various elements surrounding the table, such as the format of the table, the content of the text included in the table, and the location of the text included in the table, etc. analysis is needed
이에, 대한민국 등록특허1907029호(서식 자동화를 위한 테이블 생성 장치 및 방법)에서는, 이미지로부터 테이블을 인식하고, 인식된 테이블을 재현하는 방법에 대하여 개시하고 있으나, 이는 테이블에 포함된 선분(라인(line))을 기준으로 테이블을 재현하는 것이기에, 선분의 시각적인 표시가 생략된 셀을 포함한 테이블을 분석하는 데에 한계가 있다.Accordingly, Korean Patent Registration No. 1907029 (Table Generating Apparatus and Method for Automated Formatting) discloses a method for recognizing a table from an image and reproducing the recognized table, but this is a line segment (line) included in the table. ))), so there is a limit to analyzing a table including cells in which the visual display of line segments is omitted.
이에, 이미지(예를 들어, 테이블이 포함된 종이문서)에 시각적인 특성 및 비시각적인 특성을 모두 고려하는 한편, 테이블에 포함된 데이터의 관계성까지 파악할 수 있는 테이블 생성 방법이 필요하다.Accordingly, there is a need for a method for generating a table in which both visual and non-visual characteristics of an image (eg, a paper document including a table) are taken into consideration while also identifying the relationship between data included in the table.
또한, 이미지에 포함된 테이블의 데이터를 활용하기 위해서는, 테이블에 포함된 데이터 간의 유기적인 관계성까지 파악하는 것이 필요하다.In addition, in order to utilize the data of the table included in the image, it is necessary to understand the organic relationship between the data included in the table.
본 발명은, 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.An object of the present invention is to provide a table creation method and system capable of creating a table having the same configuration as a table included in an image.
보다 구체적으로, 본 발명은 이미지에 나타나지 않는 비시각적 특성까지 고려하여 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.More specifically, an object of the present invention is to provide a table creation method and system capable of generating a table in consideration of non-visual characteristics that do not appear in an image.
나아가, 본 발명은 테이블에 포함된 데이터의 의미를 고려하여 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.Furthermore, an object of the present invention is to provide a table creation method and system capable of creating a table in consideration of the meaning of data included in the table.
또한, 본 발명은 이미지에 포함된 모든 테이블을 인식 및 재현할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.Another object of the present invention is to provide a table creation method and system capable of recognizing and reproducing all tables included in an image.
나아가, 본 발명은, 이미지에 포함된 테이블을 인식함으로써, 테이블에 포함된 데이터를 활용할 수 있는 테이블 인식 방법 및 시스템을 제공하기 위한 것이다.Furthermore, an object of the present invention is to provide a table recognition method and system that can utilize data included in a table by recognizing a table included in an image.
나아가, 본 발명은 테이블에 포함된 데이터의 유기적인 관계를 고려하여 테이블을 인식할 수 있는 테이블 인식 방법 및 시스템을 제공하기 위한 것이다.Furthermore, an object of the present invention is to provide a table recognition method and system capable of recognizing a table in consideration of an organic relationship between data included in the table.
더 나아가, 본 발명은, 테이블의 구조적인 특성을 고려하여, 테이블에 포함된 데이터를 유기적으로 분석할 수 잇는 테이블 인식 방법 및 시스템을 제공하기 위한 것이다.Furthermore, an object of the present invention is to provide a table recognition method and system capable of organically analyzing data included in a table in consideration of the structural characteristics of the table.
위에서 살펴본 과제를 해결하기 위하여, 본 발명에 따른 테이블 생성 방법은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계, 상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계 및 상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 포함할 수 있다. In order to solve the above problems, the method for generating a table according to the present invention includes the steps of receiving an image including a table, a table in which the table is located in the image based on feature information included in the image specifying a region; extracting text included in the image and positional information of the text in the image; specifying a plurality of cells included in the table region based on the positional information of the text; and The method may include specifying a structure of the table based on a relationship between the plurality of cells.
나아가, 본 발명에 따른 테이블 생성 시스템은, 저장부, 테이블(table)을 포함하는 이미지를 수신하는 수신부 및 상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 제어부를 포함하고, 상기 제어부는, 상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하고, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하며, 상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정할 수 있다.Furthermore, the table generating system according to the present invention specifies a table region in which the table is located in the image based on a storage unit, a receiver receiving an image including a table, and characteristic information included in the image. a control unit, wherein the control unit extracts text included in the image and position information of the text in the image, and specifies a plurality of cells included in the table area based on the position information of the text and, based on the relationship between the plurality of cells, the structure of the table may be specified.
나아가, 본 발명에 따른 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계, 상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계 및 상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 수행하도록 하는 명령어들을 포함할 수 있다.Furthermore, the program that is executed by one or more processes in the electronic device according to the present invention and can be stored in a computer-readable recording medium includes the steps of: receiving an image including a table; features included in the image specifying a table region in which the table is located in the image based on the information, extracting text included in the image and positional information of the text in the image, based on the positional information of the text, and instructions for performing the step of specifying the plurality of cells included in the table area and the step of specifying the structure of the table based on a relationship between the plurality of cells.
나아가, 위에서 살펴본 과제를 해결하기 위하여, 본 발명에 따른 테이블 인식 방법은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지에 포함된 텍스트(text)를 인식하고, 상기 텍스트를 포함하는 텍스트 박스(text box)를 특정하는 단계, 상기 테이블을 구성하는 복수의 셀(cell)들을 인식하고, 상기 복수의 셀들에 각각 대응되는 셀 박스(cell box)를 특정하는 단계, 상기 이미지 상에서의 상기 텍스트의 위치에 근거하여, 상기 텍스트 박스 및 상기 셀 박스 간의 페어링을 수행하는 단계 및 상기 셀 박스와 페어링 된 텍스트 박스에 포함된 텍스트 및 상기 테이블에서의 상기 복수의 셀들의 배치 위치 중 적어도 하나에 근거하여, 상기 복수의 셀들 간의 관계성을 특정하는 단계를 포함할 수 있다.Furthermore, in order to solve the above problems, the table recognition method according to the present invention includes the steps of receiving an image including a table, recognizing text included in the image, and including the text specifying a text box, recognizing a plurality of cells constituting the table, and specifying a cell box corresponding to each of the plurality of cells; performing pairing between the text box and the cell box based on the position of the text; based on at least one of a text included in the text box paired with the cell box and an arrangement position of the plurality of cells in the table Thus, the method may include specifying a relationship between the plurality of cells.
나아가, 본 발명에 따른 테이블 인식 시스템은, 저장부, 테이블(table)을 포함하는 이미지를 수신하는 수신부 및 상기 이미지에 포함된 텍스트(text)를 인식하고, 상기 텍스트를 포함하는 텍스트 박스(text box)를 특정하는 제어부를 포함하고, 상기 제어부는, 상기 테이블을 구성하는 복수의 셀(cell)들을 인식하고, 상기 복수의 셀들에 각각 대응되는 셀 박스(cell box)를 특정하고, 상기 이미지 상에서의 상기 텍스트의 위치에 근거하여, 상기 텍스트 박스 및 상기 셀 박스 간의 페어링을 수행하며, 상기 셀 박스와 페어링 된 텍스트 박스에 포함된 텍스트 및 상기 테이블에서의 상기 복수의 셀들의 배치 위치 중 적어도 하나에 근거하여, 상기 복수의 셀들 간의 관계성을 특정할 수 있다.Furthermore, the table recognition system according to the present invention recognizes a storage unit, a receiver for receiving an image including a table, and text included in the image, and a text box including the text ), wherein the control unit recognizes a plurality of cells constituting the table, specifies a cell box corresponding to each of the plurality of cells, and Pairing is performed between the text box and the cell box based on the position of the text, and based on at least one of a text included in the text box paired with the cell box and an arrangement position of the plurality of cells in the table Thus, the relationship between the plurality of cells may be specified.
나아가, 본 발명에 따른 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지에 포함된 텍스트(text)를 인식하고, 상기 텍스트를 포함하는 텍스트 박스(text box)를 특정하는 단계, 상기 테이블을 구성하는 복수의 셀(cell)들을 인식하고, 상기 복수의 셀들에 각각 대응되는 셀 박스(cell box)를 특정하는 단계, 상기 이미지 상에서의 상기 텍스트의 위치에 근거하여, 상기 텍스트 박스 및 상기 셀 박스 간의 페어링을 수행하는 단계 및 상기 셀 박스와 페어링 된 텍스트 박스에 포함된 텍스트 및 상기 테이블에서의 상기 복수의 셀들의 배치 위치 중 적어도 하나에 근거하여, 상기 복수의 셀들 간의 관계성을 특정하는 단계를 수행하도록 하는 명령어들을 포함할 수 있다.Furthermore, the program executed by one or more processes in the electronic device according to the present invention and storable in a computer-readable recording medium includes the steps of: receiving an image including a table; text included in the image Recognizing (text) and specifying a text box including the text, recognizing a plurality of cells constituting the table, and cell boxes corresponding to the plurality of cells, respectively box), performing pairing between the text box and the cell box based on the position of the text on the image, and text included in the text box paired with the cell box and in the table and instructions for performing the step of specifying a relationship between the plurality of cells based on at least one of the arrangement positions of the plurality of cells.
위에서 살펴본 것과 같이, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지의 특징 정보 및 참조 데이터에 기반하여, 이미지에서 테이블이 위치한 테이블 영역을 정확하게 특정하고, 텍스트 인식 결과에 기반하여 테이블 영역 내에 포함된 셀의 구조를 특정할 수 있다. 이를 통하여, 눈에 보이지 않는 라인(예를 들어, implicit line)에 의해 형성된 셀까지 특정하는 것이 가능하며, 결과적으로 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.As described above, the method and system for generating a table according to the present invention accurately specify the table region where the table is located in the image based on the feature information and reference data of the image, and the table region included in the table region based on the text recognition result. The structure of the cell can be specified. Through this, it is possible to specify even a cell formed by an invisible line (eg, an implicit line), and as a result, the table creation method and system according to the present invention have the same structure as the table included in the image. It is possible to create tables.
나아가, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것 뿐만 아니라, 텍스트 인식 결과를 기반으로, 테이블에 포함된 셀들 간의 관계성을 부여함으로써, 각 셀들에 포함된 데이터들이 유기적으로 분석될 수 있는 환경을 제공할 수 있다.Furthermore, the table creation method and system according to the present invention not only creates a table having the same structure as a table included in an image, but also provides a relationship between cells included in the table based on the text recognition result, It is possible to provide an environment in which data included in each cell can be organically analyzed.
나아가, 위에서 살펴본 것과 같이, 본 발명에 따른 테이블 인식 방법 및 시스템은, 테이블을 구성하는 셀들 간의 관계를 고려하여, 테이블에 포함된 텍스트 데이터를 분석함으로써, 테이블에 포함된 텍스트 데이터 간의 유기적인 연관성을 파악할 수 있다. 이를 통하여, 인식된 테이블로부터 보다 유의미한 데이터의 추출 및 확보가 가능하다. Furthermore, as described above, the table recognition method and system according to the present invention analyze the text data included in the table in consideration of the relationship between the cells constituting the table, thereby establishing an organic relationship between the text data included in the table. can figure out Through this, it is possible to extract and secure more meaningful data from the recognized table.
나아가, 본 발명에 따른 테이블 인식 방법 및 시스템은, 테이블에 포함된 텍스트와 셀들 간의 페어링을 통하여, 테이블에 포함된 텍스트 데이터들이 각각의 셀들과 유기적인 관계성을 갖도록 함으로써, 각 셀들에 포함된 텍스트 데이터들이 유기적으로 분석될 수 있는 환경을 제공할 수 있다.Furthermore, the method and system for recognizing a table according to the present invention provide text data included in a table with an organic relationship with each cell through pairing between the text included in the table and the cells, so that the text included in each cell It can provide an environment in which data can be analyzed organically.
도 1a는 본 발명에 따른 테이블 생성 시스템을 설명하기 위한 개념도이다.1A is a conceptual diagram for explaining a table creation system according to the present invention.
도 1b는 테이블의 구성요소를 설명하기 위한 개념도이다.1B is a conceptual diagram for explaining the components of a table.
도 2는 본 발명에 따른 테이블 생성 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method for generating a table according to the present invention.
도 3, 도 4, 도 5, 도 6, 도 7, 도 8 및 도 9는 테이블을 생성하는 방법을 설명하기 위한 개념도들이다.3, 4, 5, 6, 7, 8, and 9 are conceptual diagrams for explaining a method of generating a table.
도 10은 재구성된 테이블을 설명하기 위한 개념도이다.10 is a conceptual diagram illustrating a reconstructed table.
도 11은 발명에 따른 테이블 인식 시스템을 설명하기 위한 개념도들이다.11 is a conceptual diagram for explaining a table recognition system according to the present invention.
도 12는 본 발명에 따른 테이블 인식 방법을 설명하기 위한 흐름도이다.12 is a flowchart illustrating a table recognition method according to the present invention.
도 13 내지 도 18은 본 발명에서 테이블을 인식하는 방법을 설명하기 위한 개념도들이다.13 to 18 are conceptual diagrams for explaining a method of recognizing a table in the present invention.
도 19 및 도 20은 본 발명에서 인식된 테이블로부터 정보를 추출하는 방법을 설명하기 위한 개념도들이다.19 and 20 are conceptual diagrams for explaining a method of extracting information from a recognized table in the present invention.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, the embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but the same or similar components will be given the same reference numerals regardless of reference numerals, and redundant descriptions thereof will be omitted. The suffixes "module" and "part" for components used in the following description are given or mixed in consideration of only the ease of writing the specification, and do not have distinct meanings or roles by themselves. In addition, in describing the embodiments disclosed in the present specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical idea disclosed herein is not limited by the accompanying drawings, and all changes included in the spirit and scope of the present invention , should be understood to include equivalents or substitutes.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The singular expression includes the plural expression unless the context clearly dictates otherwise.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, terms such as “comprises” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that this does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.
본 발명은, 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것으로서, 이미지에 나타나지 않는 비시각적 특성을 고려함은 물론, 테이블에 포함된 데이터의 관계성까지 파악할 수 있는 테이블 생성 방법 및 시스템에 관한 것이다.The present invention is to provide a table creation method and system capable of creating a table having the same configuration as a table included in an image, considering non-visual characteristics that do not appear in the image, as well as the relationship between data included in the table It relates to a table creation method and system that can even identify the last name.
앞서 살펴본 것과 같이, 인공지능의 발달로 다양한 형태로 사무자동화(office automation)가 이루어지고 있으며, 업무의 효율을 위하여, 종이 문서에 포함된 테이블(table, 표)을, 종이 문서에 포함된 테이블 형식 그대로 디지털화(데이터화) 해야 하는 니즈가 점차적으로 높아지고 있다.As discussed above, with the development of artificial intelligence, office automation is being implemented in various forms. The need for digitalization (dataization) as it is is gradually increasing.
예를 들어, 다양한 종류의 영수증(領收證, receipt)과 같은 문서는 테이블을 포함하고 있으며, 보험사, 병원 등에서는 대량의 종이 문서에 포함된 테이블을 디지털화된 데이터로서 처리하여, 전산화할 필요가 있다.For example, various types of documents such as receipts contain tables, and insurance companies, hospitals, etc. need to process tables included in large amounts of paper documents as digitized data and computerize them. have.
이하에서는, 종이 문서에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성하는 방법 및 시스템에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. Hereinafter, a method and system for generating a table having the same configuration as a table included in a paper document will be described in more detail with accompanying drawings.
본 발명에 따른 테이블 생성 시스템(100)은, 이미지(1000)에 포함된 테이블(1100, 1200)로부터, 테이블(1100, 1200)을 구성하는 구성 성분들을 추출하고, 추출된 구성 성분들 간의 관계에 기반하여, 이미지(1000)에 포함된 테이블(1100, 1200)과 동일한 테이블을 생성할 수 있다. The table creation system 100 according to the present invention extracts the components constituting the tables 1100 and 1200 from the tables 1100 and 1200 included in the image 1000, and determines the relationship between the extracted components. Based on this, the same tables as the tables 1100 and 1200 included in the image 1000 may be generated.
도시와 같이, 이미지(1000)에는 하나 또는 그 이상의 테이블이 포함될 수 있으며, 본 발명은 이미지(1000)에 포함된 테이블의 수에 관계없이, 이미지(1000)에 포함된 모든 테이블을 인식하고, 동일하게 재현하는 것이 가능하다.As shown, the image 1000 may include one or more tables, and the present invention recognizes all tables included in the image 1000 irrespective of the number of tables included in the image 1000, and the same It is possible to reproduce
본 발명에서, 이미지(1000)는 종이 문서를 스캔한 것에 의하여 획득되는 이미지이거나 사진 촬영에 의하여 획득된 이미지이거나, 기타 다른 다양한 방법으로 획득된 이미지일 수 있다.In the present invention, the image 1000 may be an image obtained by scanning a paper document, an image obtained by photographing, or an image obtained by various other methods.
한편, 도 1에 도시된 것과 같이, 본 발명에 따른 테이블 생성 시스템(100)은 수신부(110), 저장부(120), OCR부(130) 및 제어부(140) 중 적어도 하나를 포함할 수 있다.Meanwhile, as shown in FIG. 1 , the table generating system 100 according to the present invention may include at least one of a receiving unit 110 , a storage unit 120 , an OCR unit 130 , and a control unit 140 . .
수신부(110)는 테이블(1100, 1200)이 포함된 이미지(1000)를 수신하는 수단으로서, 통신부, 스캔부 및 입력부 중 적어도 하나를 포함하여 구성되거나, 기타 이미지(1000)를 수신할 수 있는 수단으로 이루어질 수 있다. The receiver 110 is a means for receiving the image 1000 including the tables 1100 and 1200 , and is configured to include at least one of a communication unit, a scan unit, and an input unit, or other means capable of receiving the image 1000 . can be made with
테이블 생성 시스템(100)은 수신부(110)를 통해 수신한 이미지(1000)에 포함된 테이블(1100, 1200)을 분석하여, 이미지(1000)에 포함된 테이블(1100, 1200)과 동일한 테이블을 생성할 수 있다. 이와 같이, 이미지(1000)에 포함된 테이블(1100, 1200)과 동일한 테이블을 생성하는 작업은, 테이블을 재현, 재구성 또는 복원(reconstruction, restoration)한다고도 표현될 수 있다. 또한, 본 명세서에서 이미지(1000)에 포함된 테이블(1100, 1200)과 동일한 테이블을 생성하는 것은 상기 이미지에 포함된 테이블 중 일부를 복원하는 것도 포함하는 의미로 지칭될 수 있다.The table generating system 100 analyzes the tables 1100 and 1200 included in the image 1000 received through the receiver 110 to generate the same tables as the tables 1100 and 1200 included in the image 1000 . can do. As described above, the operation of creating the same table as the tables 1100 and 1200 included in the image 1000 may also be expressed as reconstructing, reconstructing, or restoring the table. Also, in the present specification, generating the same table as the tables 1100 and 1200 included in the image 1000 may be referred to as meaning including restoring some of the tables included in the image.
다음으로 저장부(120)는, 본 발명에 따른 다양한 정보를 저장하도록 이루어질 수 있다. 저장부(120)의 종류는 매우 다양할 수 있으며, 적어도 일부는, 외부 서버(150, 클라우드 서버(151) 및 데이터베이스(database: DB, 152) 중 적어도 하나)를 의미할 수 있다. 즉, 저장부(120)는 본 발명과 관련된 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. Next, the storage unit 120 may be configured to store various information according to the present invention. The types of the storage unit 120 may be very diverse, and at least some of them may mean an external server 150 (at least one of the cloud server 151 and the database (DB, 152 )). That is, it can be understood that the storage unit 120 is sufficient as long as a space in which information related to the present invention is stored, and there is no restriction on the physical space.
저장부(120)에는 i)테이블(1100, 1200)을 포함하는 이미지(1000) 및 이와 관련된 데이터, ii)이미지(1000)로부터 추출된 테이블(1100, 1200)의 구성 성분(라인, 코너 등) 및 이와 관련된 데이터, iii) 테이블(1100)에 포함된 콘텐츠(예를 들어, 텍스트, 이미지 등) 데이터, iv) 이미지에 포함된 테이블(1100, 1200)을 인식 및 추출하는데 활용되는 참조 데이터 중 적어도 하나가 저장될 수 있다. In the storage unit 120, i) the image 1000 including the tables 1100 and 1200 and data related thereto, ii) the components (lines, corners, etc.) of the tables 1100 and 1200 extracted from the image 1000 and data related thereto, iii) content (eg, text, image, etc.) data included in the table 1100, and iv) reference data used to recognize and extract the tables 1100 and 1200 included in the image. One can be stored.
여기에서, 참조 데이터는 “테이블 참조 데이터”라고도 명명될 수 있으며, 서로 다른 크기와 위치를 가지는 복수의 참조 테이블의 크기 정보 및 위치 정보를 포함할 수 있다. 이러한 참조 데이터는 서로 다른 크기를 갖는 다양한 이미지로 구성될 수 있으며, 이러한 이미지 각각에는 다양한 크기 및 다양한 위치를 갖는 테이블 영역(또는 참조 테이블 영역, 또는 테이블 포맷)이 포함될 수 있다.Here, the reference data may also be referred to as “table reference data”, and may include size information and location information of a plurality of reference tables having different sizes and locations. Such reference data may consist of various images having different sizes, and each of these images may include a table area (or a reference table area, or a table format) having various sizes and various positions.
나아가, 위에서 언급한 이미지는 다양한 크기 또는 비율을 갖는 서로 다른 복수의 이미지를 포함하는 의미로 이해되어 질 수 있다.Furthermore, the above-mentioned image may be understood to include a plurality of different images having various sizes or ratios.
다음으로, OCR(Optical Character Reader, 130)부는 이미지(1000)에 포함된 콘텐츠를 인식하는 수단으로서, 다양한 콘텐츠 인식 알고리즘 중 적어도 하나를 통하여 이미지(1000)에 포함된 콘텐츠를 인식할 수 있다. OCR부(130)는 인공지능에 기반한 알고리즘을 이용하여, 콘텐츠를 인식할 수 있다. Next, the OCR (Optical Character Reader, 130) unit is a means for recognizing the content included in the image 1000, and may recognize the content included in the image 1000 through at least one of various content recognition algorithms. The OCR unit 130 may recognize the content by using an algorithm based on artificial intelligence.
OCR부는, 이미지에 포함된 텍스트 및 텍스트의 위치 정보를 추출할 수 있다. 여기에서, 텍스트의 위치 정보는 수신부(110)를 통해 입력된 이미지(1000) 내에서 텍스트가 어디에 위치하는지 또는 테이블(1100, 1200) 내에서 텍스트가 어디에 위치하는지에 대한 정보를 포함할 수 있다.The OCR unit may extract text included in the image and location information of the text. Here, the position information of the text may include information on where the text is located in the image 1000 input through the receiver 110 or where the text is located in the tables 1100 and 1200 .
다음으로 제어부(140)는 본 발명과 관련된 테이블 생성 시스템(100)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(140)는 인공지능 알고리즘을 처리 가능한 프로세서(processor, 또는 인공지능 프로세서)를 포함할 수 있다. 제어부(140)는 딥러닝 알고리즘에 기반하여, 이미지(1000)로부터 테이블(1100)을 인식하고, 이미지(1000)에 포함된 테이블(1100)과 동일한 셀의 구성(또는 구조)를 갖는 테이블을 생성할 수 있다.Next, the controller 140 may be configured to control the overall operation of the table generating system 100 related to the present invention. The controller 140 may include a processor (or artificial intelligence processor) capable of processing an artificial intelligence algorithm. The controller 140 recognizes the table 1100 from the image 1000 based on a deep learning algorithm, and generates a table having the same cell configuration (or structure) as the table 1100 included in the image 1000 . can do.
한편, 본 발명에 대한 설명에 앞서, 본 명세서에서 언급되는 “테이블(table)”은, 표(表)라고도 명명될 수 있으며, 어떤 내용을 일정한 형식 또는 순서에 따라 나타낸 것을 의미할 수 있다. 도 1b를 참조하여 테이블의 구성 요소에 대하여 살펴보면, 테이블(200)은 적어도 하나의 셀(210)을 포함하여 구성될 수 있다. 즉, 테이블(200)은 적어도 하나의 셀(cell) 또는 공간(또는 영역)을 포함하고 있으며, 테이블은 이러한 셀(210) 내에 정보를 포함하도록 구성된다.Meanwhile, prior to the description of the present invention, a “table” referred to in the present specification may also be referred to as a table, and may mean that certain contents are displayed in a certain format or order. Referring to the components of the table with reference to FIG. 1B , the table 200 may include at least one cell 210 . That is, the table 200 includes at least one cell or space (or region), and the table is configured to include information in the cell 210 .
이러한 셀(cell, 210)은 테이블의 구성 요소에 의하여 구획되는 공간을 의미할 수 있다. 테이블의 구성 요소는, 바깥쪽 테두리 요소(201), 행(row) 요소(202) 및 열(column) 요소(203) 중 적어도 하나를 포함할 수 있다.Such a cell 210 may mean a space partitioned by elements of a table. The elements of the table may include at least one of an outer border element 201 , a row element 202 , and a column element 203 .
바깥쪽 테두리 요소(201)는 테이블(200)의 크기 및 형상을 결정하는 요소로서, 반드시 시각적으로 나타내어질 필요는 없다.The outer edge element 201 is an element that determines the size and shape of the table 200 and is not necessarily visually displayed.
행 요소(202)는 바깥쪽 테두리 요소(201) 내에 포함되는 가로 라인(line 또는 선분)으로서, 테이블(200)의 구성에 따라, 테이블(200) 내에는 하나 또는 그 이상의 가로 라인이 구비될 수 있다. 행 요소(202)는 바깥쪽 테두리 요소(201)의 적어도 일부(가로 라인에 해당하는 테두리)를 포함할 수 있다.The row element 202 is a horizontal line (line or segment) included in the outer border element 201 , and depending on the configuration of the table 200 , one or more horizontal lines may be provided in the table 200 . have. The row element 202 may include at least a portion (a border corresponding to a horizontal line) of the outer border element 201 .
열 요소(203)는 바깥쪽 테두리 요소(201) 내에 포함되는 세로 라인(line 또는 선분)으로서, 테이블(200)의 구성에 따라, 테이블(200) 내에는 하나 또는 그 이상의 세로 라인이 구비될 수 있다. 열 요소(203)는 바깥쪽 테두리 요소(201)의 적어도 일부(세로 라인에 해당하는 테두리)를 포함할 수 있다.The column element 203 is a vertical line (line or segment) included in the outer border element 201 , and depending on the configuration of the table 200 , one or more vertical lines may be provided in the table 200 . have. The column element 203 may include at least a portion (a border corresponding to a vertical line) of the outer border element 201 .
테이블(200)에 포함되는 셀의 개수, 셀의 크기 또는 셀의 위치 등은 가로 라인 및 세로 라인의 수, 배치 관계 등에 근거하여 다양하게 변형될 수 있으며, 셀들 간의 병합에 의해서도 다양하게 변형될 수 있다. The number of cells included in the table 200, the size of the cells, or the location of cells may be variously modified based on the number and arrangement relationship of horizontal and vertical lines, and may be variously modified by merging between cells. have.
테이블(200) 및 테이블(200) 내에 구비된 셀의 형상은 사각형의 형상으로 이루어진다.The table 200 and the cells provided in the table 200 have a rectangular shape.
테이블(200)에 포함된 셀(210)은, 적어도 4개의 라인(line, 선분)에 의해 정의될 수 있다. 즉, 테이블에 포함된 셀(210)은 4개의 라인(a, b, c, d)으로 둘러싸인 사각형으로 이루어질 수 있다. 이와 같이, 하나의 사각 형상의 셀을 형성하기 위해서는, 최소 4개의 라인이 필요하며, 이는, 2개의 가로 라인(또는 수평 라인(horizontal line, 도면 부호 “b, d” 참조)) 및 2개의 세로 라인(또는 수직 라인(vertical line, 도면 부호 “a, c” 참조))으로 이루어질 수 있다. The cell 210 included in the table 200 may be defined by at least four lines (lines). That is, the cell 210 included in the table may be formed of a rectangle surrounded by four lines a, b, c, and d. As such, in order to form one square-shaped cell, at least four lines are required, which include two horizontal lines (or horizontal lines, refer to reference numerals “b, d”) and two vertical lines. It may consist of a line (or a vertical line (refer to reference numerals “a, c”)).
한편, “라인”의 용어는 “선분” 또는 “모서리(edge)”라고도 명명될 수 있다. Meanwhile, the term “line” may also be referred to as “line segment” or “edge”.
이와 같이, 사각 형상의 셀(210)은, 2개의 가로 라인(b, d) 및 2개의 세로 라인(a, c)의 적어도 일부가 상호 교차하는 것에 의하여 형성될 수 있다.As described above, the rectangular cell 210 may be formed by crossing at least a portion of two horizontal lines b and d and two vertical lines a and c.
따라서, 테이블은 최소 4개의 라인을 포함하며, 가로 라인의 수, 세로 라인의 수, 라인 간의 간격, 라인의 배열 위치에 따라, 셀의 개수, 셀의 크기, 셀의 위치 등이 정의될 수 있다.Accordingly, the table includes at least four lines, and the number of cells, the size of the cells, the position of the cells, etc. can be defined according to the number of horizontal lines, the number of vertical lines, the spacing between lines, and the arrangement position of the lines. .
한편, 테이블을 구성하는 복수의 라인들은 서로 다른 제1 타입 및 제2 타입 중 어느 하나의 타입으로 구분될 수 있으며, 이는 해당 라인이 어느 방향으로 연장되었는지에 따라 특정될 수 있다. 예를 들어, 수평 방향으로 연장되는 라인(2201, 2202)은, 제1 타입으로 정의되고, 수직 방향으로 연장되는 라인(2203, 2204)은 제2 타입으로 정의될 수 있다.Meanwhile, the plurality of lines constituting the table may be classified into one of different first and second types, and this may be specified according to which direction the corresponding line extends. For example, the lines 2201 and 2202 extending in the horizontal direction may be defined as the first type, and the lines 2203 and 2204 extending in the vertical direction may be defined as the second type.
제1 타입의 라인은 가로 라인, 수평 라인, 행 라인, 가로 방향의 라인 등으로 그 의미가 동일 또는 유사한 용어로서 다양하게 명명될 수 있다. 나아가, 제2 타입의 라인은 세로 라인, 수직 라인, 열 라인, 세로 방향의 라인 등으로 그 의미가 동일 또는 유사한 용어로서 다양하게 명명될 수 있다.The first type of line may be variously named as a horizontal line, a horizontal line, a row line, a horizontal line, etc. as terms having the same or similar meaning. Furthermore, the second type of line may be variously named as a term having the same or similar meaning as a vertical line, a vertical line, a column line, a vertical line, and the like.
한편, 테이블(2200)에 포함되는 셀의 개수, 셀의 크기 또는 셀의 위치 등은 가로 라인 및 세로 라인의 수, 배치 관계 등에 근거하여 다양하게 변형될 수 있으며, 셀들 간의 병합에 의해서도 다양하게 변형될 수 있다. On the other hand, the number of cells included in the table 2200, the size of the cells, the positions of cells, etc. may be variously modified based on the number of horizontal and vertical lines, arrangement relationships, etc., and may be variously modified by merging between cells can be
나아가, 본 발명에서 설명되는 테이블을 구성하는 구성 성분들은, 테이블을 구성하는 라인(가로 라인 및 세로 라인) 및 테이블을 구성하는 라인들이 교차(交叉)하면서 형성되는 코너(corner, 또는 꼭지점, 도면 부호 “e, f, g, h” 참조)를 포함할 수 있다.Furthermore, the components constituting the table described in the present invention are a corner (or vertex, reference numeral) formed while the lines constituting the table (horizontal lines and vertical lines) and the lines constituting the table intersect. “e, f, g, h”).
모든 테이블은 최소 4개의 코너를 가지며, 이는 테이블의 가장 바깥쪽 테두리에 포함되는 코너일 수 있다. 나아가, 테이블에 포함된 코너의 개수는 테이블에 포함된 셀의 개수에 따라 달라진다.All tables have at least 4 corners, which may be corners included in the outermost edge of the table. Furthermore, the number of corners included in the table depends on the number of cells included in the table.
다만, 본 명세서에서는 설명의 편의를 위하여, 테이블(200) 및 테이블(200) 내에 구비된 셀의 형상은 사각형(square)의 형상으로 이루어지는 것을 예시하는 것이며, 반드시 이에 한정되는 것은 아니다. 예를 들어, 삼각형, 오각형 등 다른 형태의 테이블 형상이 가능하며, 사각형 내에 대각선 라인이 형성되는 형태도 가능하다.However, in the present specification, for convenience of explanation, the table 200 and the shape of the cells provided in the table 200 are exemplified to have a square shape, and are not necessarily limited thereto. For example, other types of table shapes such as a triangle and a pentagon are possible, and a shape in which a diagonal line is formed in a rectangle is also possible.
이하에서는, 위에서 살펴본 본 발명에 따른 테이블 생성 시스템의 구성에 기반하여, 테이블을 생성하는 방법에 대하여 보다 구체적으로 살펴본다.Hereinafter, based on the configuration of the table creation system according to the present invention as described above, a method for generating a table will be described in more detail.
도 2를 참조하면, 본 발명에 따른 테이블 생성 방법에서는, 먼저 테이블(1100, 1200)을 포함하는 이미지(1000, 도 1 참조)를 수신하는 과정이 진행될 수 있다(S210).Referring to FIG. 2 , in the method for generating a table according to the present invention, a process of receiving an image 1000 (refer to FIG. 1 ) including tables 1100 and 1200 may be performed ( S210 ).
앞서, 살펴본 것과 같이, 테이블(1100, 1200)이 포함된 이미지(1000)는 다양한 루트를 통하여 수신될 수 있다. 예를 들어, 상기 이미지(1000)는 통신부를 통하여 전송되거나, 스캔부를 통하여 스캔되거나, 입력부를 통하여 입력되는 방식 등을 통하여 수신될 수 있다.As described above, the image 1000 including the tables 1100 and 1200 may be received through various routes. For example, the image 1000 may be transmitted through a communication unit, scanned through a scan unit, or received through an input unit.
이미지(1000)가 수신되면, 다음으로, 이미지(1000)에서 테이블(1100, 1200)의 위치를 추정하는 과정이 진행될 수 있다(S220). 여기에서, 테이블(1100, 1200)의 위치를 추정한다고 함은, 이미지(1000)에서 테이블(1100, 1200)이 포함된(또는 자치하는) 영역(이하, “테이블 영역”이라 특정함)을 추정하고, 특정하는 것을 의미할 수 있다. When the image 1000 is received, a process of estimating the positions of the tables 1100 and 1200 in the image 1000 may proceed (S220). Here, estimating the positions of the tables 1100 and 1200 means estimating an area (hereinafter, referred to as a “table area”) including (or autonomously) the tables 1100 and 1200 in the image 1000 . and may mean to specify.
보다 구체적으로, 제어부(140)는 상기 이미지(1000)에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정할 수 있다.More specifically, the controller 140 may specify a table area in the image in which the table is located, based on the characteristic information included in the image 1000 .
여기에서, 특징 정보는, 이미지(1000)로부터 추출되는 정보로서, 제어부(140)는 딥러닝 알고리즘에 기반하여, 이미지(1000)로부터 특징 정보를 추출할 수 있다. 보다 구체적으로 제어부(140)는 이미지(1000)를 CNN(Convolutional Neural Network)의 입력 데이터로서 입력하여, 이미지(1000)로부터 특징 정보를 추출할 수 있다.Here, the feature information is information extracted from the image 1000 , and the controller 140 may extract the feature information from the image 1000 based on a deep learning algorithm. In more detail, the controller 140 may input the image 1000 as input data of a Convolutional Neural Network (CNN) and extract feature information from the image 1000 .
본 발명에서 특징 정보는 테이블(1100, 1200)를 구성하는 구성 성분(또는 구성 요소)에 대한 정보 및 이미지(1000) 자체에 대한 정보 중 적어도 하나를 포함할 수 있다. 특징 정보는, 이미지(1000)에 포함된 복수의 라인(line), 상기 복수의 라인 중 적어도 일부가 교차하여 형성되는 코너(corner) 및 상기 이미지(1000)의 배경 중 적어도 하나와 관련된 정보를 포함할 수 있다.In the present invention, the feature information may include at least one of information on components (or components) constituting the tables 1100 and 1200 and information on the image 1000 itself. The feature information includes information related to at least one of a plurality of lines included in the image 1000 , a corner formed by crossing at least some of the plurality of lines, and a background of the image 1000 . can do.
특징 정보에 포함된 코너에 대한 정보는, 도 4에 도시된 것과 같이, 테이블(1100, 1200)의 가장 바깥쪽 라인(또는 테두리)에 의해 형성되는 코너(또는 꼭지점이나 모서리, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c, 1200d)에 대한 정보를 포함할 수 있다. 여기에서, 코너에 대한 정보는 이미지(1000)에서 테이블(1100, 1200)의 가장 바깥쪽 라인에 의해 형성되는 코너(또는 꼭지점, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c, 1200d)가, 어디에 위치하는지에 대한 정보를 포함할 수 있다. 또한, 이러한 코너의 위치 정보는 기준 좌표계의 원점으로부터 좌표값으로 정의될 수 있다.Information on the corner included in the feature information, as shown in FIG. 4, is a corner (or a vertex or a corner, 1100a, 1100b, 1100c) formed by the outermost line (or border) of the tables 1100 and 1200. , 1100d, 1200a, 1200b, 1200c, 1200d). Here, information about the corner is a corner (or a vertex, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c, 1200d) formed by the outermost line of the tables 1100 and 1200 in the image 1000. , it may include information about where it is located. Also, the location information of the corner may be defined as a coordinate value from the origin of the reference coordinate system.
나아가, 이미지(1000)의 배경에 대한 정보는, 이미지(1000)의 배경 색상에 대한 정보를 포함할 수 있다. 여기에서, 배경 색상에 대한 정보는, 테이블(1100. 1200)이 포함된 테이블 영역(410, 420)과 테이블이 포함되지 않은 나머지 영역(430)을 구분하는 데 활용될 수 있다. 이미지에서 일반적으로 배경 색상은 나머지 영역(430)에 포함되므로, 이를 기반으로 이미지(1000)에서 테이블(1100, 1200)이 포함된 테이블 영역(410, 420)이 특정될 수 있다.Furthermore, the information about the background of the image 1000 may include information about the background color of the image 1000 . Here, the information on the background color may be used to distinguish between the table regions 410 and 420 including the tables 1100 and 1200 and the remaining regions 430 not including the table. In general, since the background color is included in the remaining area 430 in the image, the table areas 410 and 420 including the tables 1100 and 1200 in the image 1000 may be specified based on this.
한편, 제어부(140)는, 상기 테이블 영역을 추정하기 위한 테이블 참조 데이터와 상기 특징 정보를 이용하여, 상기 테이블 영역을 특정할 수 있다. 앞서 살펴본 것과 같이, 테이블 참조 데이터(또는 참조 데이터)는, 서로 다른 크기와 위치를 가지는 복수의 참조 테이블의 크기 정보 및 위치 정보를 포함할 수 있다. 여기에서, 위치 정보는, 이미지 내에서 테이블이 위치하는 영역에 대한 위치 정보를 의미할 수 있다. 나아가, 위에서 언급한 이미지는 다양한 크기 또는 비율을 갖는 서로 다른 복수의 이미지를 포함하는 의미로 이해되어 질 수 있다.Meanwhile, the controller 140 may specify the table area by using table reference data for estimating the table area and the characteristic information. As described above, the table reference data (or reference data) may include size information and location information of a plurality of reference tables having different sizes and locations. Here, the location information may mean location information on an area in which the table is located in the image. Furthermore, the above-mentioned image may be understood to include a plurality of different images having various sizes or ratios.
이러한 테이블 참조 데이터는, 다양한 크기 또는 비율을 갖는 서로 다른 복수의 이미지 마다 테이블이 포함될 수 있는 영역(또는 테이블 영역)이 정의되어 있는 데이터로 이해될 수 있다. 예를 들어, 도 3의 (a) 내지 (d)에 도시된 것과 같이, 테이블 참조 데이터는 특정 크기를 갖는 이미지(300)에서 테이블이 존재할 수 있는 다양한 테이블 영역(310, 320, 330, 340)에 대한 정보를 포함하며, 이러한 테이블 영역은, 참조 테이블 영역, 테이블 배열 또는 테이블 포맷이라고도 명명될 수 있다. 나아가, 테이블 참조 데이터는, 도 3에 도시된 특정 크기를 갖는 이미지(300) 뿐만 아니라, 다양한 크기 또는 다양한 비율을 갖는 이미지 마다, 테이블 영역이 어느 위치에 얼만큼의 크기로 위치할 수 있는지에 대한 정보를 포함할 수 있다. 이러한 테이블 참조 데이터는 수십만개의 서로 다른 테이블 영역에 대한 정보를 포함할 수 있다.Such table reference data may be understood as data in which a region (or table region) in which a table can be included is defined for each of a plurality of different images having various sizes or ratios. For example, as shown in (a) to (d) of FIG. 3 , the table reference data is various table areas 310 , 320 , 330 , 340 in which tables may exist in the image 300 having a specific size. , and this table area may also be referred to as a reference table area, a table arrangement, or a table format. Furthermore, the table reference data includes not only the image 300 having a specific size shown in FIG. 3 , but also each image having various sizes or various ratios, where and how large the table area can be located. may contain information. Such table reference data may include information on hundreds of thousands of different table areas.
제어부(140)는 이러한 테이블 참조 데이터와 특징 정보를 기반으로, 이미지(1000)에서 테이블(1100, 1200)이 포함될 확률이 가장 높은 영역을 이미지(1000)의 테이블 영역(410, 420)으로 특정할 수 있다. Based on the table reference data and feature information, the controller 140 specifies, as the table regions 410 and 420 of the image 1000 , the region with the highest probability of including the tables 1100 and 1200 in the image 1000 . can
제어부(140)는, region proposal network의 입력 데이터로서 특징 정보를 입력하여, 이미지(1000)에서 테이블(1100, 1200)이 포함된 테이블 영역(410, 420)을 특정할 수 있다. region proposal network는 테이블 참조 데이터에 포함된 다양한 참조 테이블 영역 중 이미지(1000)로부터 추출된 특징 정보와 유사도가 가장 높은 참조 테이블 영역을 추출할 수 있다. The controller 140 may input feature information as input data of the region proposal network to specify table regions 410 and 420 including the tables 1100 and 1200 in the image 1000 . The region proposal network can extract a reference table region that has the highest similarity to feature information extracted from the image 1000 among various reference table regions included in table reference data.
이때, 제어부(140)는 테이블 참조 데이터 중 테이블이 포함된 이미지(1000)와 동일 또는 가장 유사한 크기(또는 비율)을 갖는 이미지에 포함된 참조 테이블 영역을 추출하고, 추출된 참조 테이블 영역과 특징 정보를 비교하여, 테이블 영역(410, 420)을 추정할 수 있다.In this case, the controller 140 extracts a reference table area included in an image having the same or the most similar size (or ratio) to the image 1000 including the table from among the table reference data, and extracts the reference table area and feature information By comparing , the table areas 410 and 420 can be estimated.
제어부(140)는 특징 정보에 기반하여, 이미지(1000)에서 테이블(1100, 1200)의 바깥쪽 테두리에 존재하는 코너가 위치한 영역을 특정하고, 코너가 위치한 영역과 테이블 참조 데이터에 포함된 다양한 참조 테이블 영역을 비교할 수 있다. 제어부(140)는 이미지(1000)에서 코너가 위치한 지점의 연결에 의해 한정 또는 정의되는 영역을 테이블이 존재하는 영역이라고 가정하여, 참조 테이블 영역과 비교할 수 있다. 여기에서, 코너가 위치한 지점의 연결에 의해 한정되는 영역은, 도 4에 도시된 것과 같이, 테이블의 바깥쪽 라인에 의해 형성되는 코너(또는 꼭지점, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c, 1200d)에 의해 정의되는 영역으로 지칭될 수 있다.The control unit 140 specifies, in the image 1000 , an area in which a corner is located on the outer edge of the tables 1100 and 1200 in the image 1000, based on the characteristic information, and various references included in the area in which the corner is located and the table reference data. You can compare tablespaces. The controller 140 may compare the region defined or defined by the connection of the corner points in the image 1000 to the reference table region, assuming that the table is present. Here, the area defined by the connection of the points where the corners are located is, as shown in FIG. 4, the corners (or vertices, 1100a, 1100b, 1100c, 1100d, 1200a, 1200b, 1200c and 1200d).
코너에 의해 정의되는 영역은, 한 쌍의 코너에 의해 정의되는 영역(또는 코너에 의해 정의되는 영역)은 한 쌍에 포함된 코너들을 기준으로 안쪽 영역을 의미할 수 있다. 여기에서, “코너 한 쌍” 또는 “한 쌍의 코너”라 함은, 하나의 테이블을 정의하는 4개의 코너(1100a, 1100b, 1100c, 1100d 또는 1200a, 1200b, 1200c, 1200d)를 의미할 수 있다. 따라서, 상기 한 쌍의 코너에 의해 정의되는 영역은 하나의 테이블의 바깥쪽 라인에 의하여 감싸지는 영역이 될 수 있다.The area defined by the corners, the area defined by the pair of corners (or the area defined by the corners) may mean an inner area with respect to corners included in the pair. Here, “a pair of corners” or “a pair of corners” may mean four corners (1100a, 1100b, 1100c, 1100d or 1200a, 1200b, 1200c, 1200d) defining one table. . Accordingly, the area defined by the pair of corners may be an area covered by the outer line of one table.
위에서 살펴본 것과 같이, 제어부(140)는 비교 결과, 코너에 의해 정의되는 영역과 가장 유사도가 높은 참조 테이블 영역을, 영역에 이미지(1000)에 포함된 테이블(1100, 1200)이 위치하는 테이블 영역으로 추정할 수 있다. As described above, as a result of the comparison, the control unit 140 sets the reference table area having the highest similarity to the area defined by the corner as the table area in which the tables 1100 and 1200 included in the image 1000 are located. can be estimated
나아가, 제어부(140)는 위의 과정에서 특징 정보에 포함된 이미지의 배경에 대한 정보를 고려할 수 있으며, 이미지(1000)에서 배경 색상이 포함되지 않은 영역을 테이블(1100, 1200)이 포함될 확률이 높은 영역으로 가정하여, 테이블 영역(410, 420)을 추정할 수 있다.Furthermore, the controller 140 may consider information about the background of the image included in the feature information in the above process, and the probability of including the tables 1100 and 1200 in the area in the image 1000 that does not include the background color is high. Assuming a high area, the table areas 410 and 420 may be estimated.
이와 같이, 본 발명에서는 특징 정보에 포함된 라인, 코너 및 배경 색상 중 적어도 하나와 관련된 정보를 이용하여 이미지(1000)에서 테이블(1100, 1200)이 위치한 영역을 추정하고, 상기 추정된 영역과 상기 복수의 참조 테이블을 비교하여 상기 이미지(1000)에 포함된 테이블에 해당하는 테이블 영역(410, 420)을 특정할 수 있다.As described above, in the present invention, the region in which the tables 1100 and 1200 are located in the image 1000 is estimated using information related to at least one of a line, a corner, and a background color included in the feature information, and the estimated region and the Table areas 410 and 420 corresponding to the table included in the image 1000 may be specified by comparing a plurality of reference tables.
한편, 도 4에 도시된 것과 같이, 이미지(1000)에 제1 테이블(1100) 및 제2 테이블(1200)이 존재하는 경우, 두 쌍의 코너(1100a, 1100b, 1100c, 1100d 및 1200a, 1200b, 1200c, 1200d)가 검출될 수 있다. 이 경우, 제어부(140)는 이미지(1000)에서 테이블의 바깥쪽 라인에 의해 형성되는 코너가 한 쌍 이상 검출되는 경우, 이미지(1000)에 복수의 테이블이 존재한다고 판단할 수 있다. 그리고, 제어부(140)는 각각의 쌍에 대응되는 테이블 영역을 각각 특정할 수 있다. 이 경우, 제어부(140)는 제1 테이블(1100)에 포함된 코너들(1100a, 1100b, 1100c, 1100d)에 의해 정의되는 영역과 가장 유사도가 높은 참조 테이블 영역을 추출하고, 제2 테이블(1200)에 포함된 코너들(1200a, 1200b, 1200c, 1200d)에 의해 정의되는 영역과 가장 유사도가 높은 참조 테이블 영역을 각각 추출할 수 있다. On the other hand, as shown in FIG. 4, when the first table 1100 and the second table 1200 exist in the image 1000, two pairs of corners 1100a, 1100b, 1100c, 1100d and 1200a, 1200b, 1200c, 1200d) can be detected. In this case, when one or more pairs of corners formed by the outer line of the table are detected in the image 1000 , the controller 140 may determine that a plurality of tables exist in the image 1000 . In addition, the controller 140 may specify each table area corresponding to each pair. In this case, the controller 140 extracts a reference table area that has the highest similarity to an area defined by the corners 1100a, 1100b, 1100c, and 1100d included in the first table 1100, and the second table 1200 ), the reference table area having the highest similarity to the area defined by the corners 1200a, 1200b, 1200c, and 1200d included in the ) may be extracted, respectively.
이와 같이, 본 발명에서는 테이블을 정의하는 바깥쪽 테두리의 코너들을 기준으로 테이블 영역을 정의함으로써, 이미지(1000)에 복수의 테이블이 포함된 경우라도, 복수의 테이블 모두를 인식하고, 테이블 영역을 특정하는 것이 가능하다. As described above, in the present invention, by defining the table area based on the corners of the outer edge defining the table, even when a plurality of tables are included in the image 1000, all of the plurality of tables are recognized and the table area is specified. it is possible to do
다시 도 2를 참조하면, 다음으로 본 발명에서는, 테이블에 포함된 텍스트를 인식하는 과정이 진행될 수 있다(S230). 보다 구체적으로, 본 발명에서는 이미지(1000)에 포함된 텍스트 및 상기 이미지(1000)에서의 텍스트의 위치 정보를 추출하는 과정이 진행될 수 있다.Referring again to FIG. 2 , in the present invention, the process of recognizing the text included in the table may be performed ( S230 ). More specifically, in the present invention, a process of extracting text included in the image 1000 and location information of the text in the image 1000 may be performed.
도 5에 도시된 것과 같이, 제어부(140)는 딥러닝 알고리즘에 기반하여, 테이블(1100, 1200) 내에 포함된 텍스트(502, 503, 504, 505, 506, 507, 508) 및 테이블(1100, 1200)을 벗어난 영역에 포함된 텍스트(501, 510)를 모두 인식할 수 있다.As shown in Figure 5, the control unit 140, based on the deep learning algorithm, the text (502, 503, 504, 505, 506, 507, 508) and the table (1100, 1100, All of the texts 501 and 510 included in the area outside of 1200 may be recognized.
여기에서, 텍스트의 위치 정보는, 테이블 영역(410, 420)을 영역을 기준으로 하는 텍스트의 위치에 대한 정보이거나, 이미지(1000)를 기준으로 하는 텍스트의 위치 정보일 수 있다.Here, the text location information may be information on the text location with respect to the table areas 410 and 420 , or text location information based on the image 1000 .
제어부(140)는 OCR부(130)를 제어하여, 이미지(1000)에 포함된 텍스트를 검출할 수 있다.The controller 140 may control the OCR unit 130 to detect text included in the image 1000 .
OCR부(130)는 이미지(1000)에 포함된 각 텍스트(또는 글자) 및 텍스트의 위치를 검출하기 위해 훈련된 텍스트 검출 모델을 통하여, 이미지(1000)로부터 텍스트를 검출할 수 있다.The OCR unit 130 may detect text from the image 1000 through a text detection model trained to detect each text (or character) and a position of the text included in the image 1000 .
이와 같이, 이미지(1000)로부터 텍스트 및 텍스트의 위치가 검출되면, 다음으로 본 발명에서는 테이블 영역에 포함된 셀을 특정하는 과정이 진행될 수 있다(S240).In this way, when text and the position of the text are detected from the image 1000, a process of specifying a cell included in the table area may be performed in the present invention (S240).
제어부(140)는 위에서 추출된 텍스트의 위치 정보에 근거하여, 테이블(1100, 1200)에 포함된 적어도 하나의 셀을 검출 또는 특정할 수 있다.The controller 140 may detect or specify at least one cell included in the tables 1100 and 1200 based on the location information of the text extracted above.
제어부(140)는 이미지(1000)로부터 추출된 특징 정보에 포함된 라인(가로 라인 및 세로 라인)을 기준으로 테이블 영역(410, 420)을 구획할 수 있으며, 이러한 구획에 의하여 테이블(1100, 1200)의 셀이 특정될 수 있다. The controller 140 may partition the table areas 410 and 420 based on the lines (horizontal lines and vertical lines) included in the feature information extracted from the image 1000 , and the tables 1100 and 1200 according to the partitioning. ) can be specified.
나아가, 제어부(140)는 텍스트의 위치 정보를 기준으로, 테이블(1100, 1200) 내에서 텍스트가 위치한 지점에 셀이 존재한다고 가정함으로써, 테이블(1100, 1200)의 셀을 특정할 수 있다.Furthermore, the controller 140 may specify the cells of the tables 1100 and 1200 by assuming that a cell exists at a point where the text is located in the tables 1100 and 1200 based on the location information of the text.
도 5에 도시된 것과 같이, 제어부(140)는 테이블 영역(410, 420) 내에서 텍스트가 위치하는 영역(502, 5203, 504, 505, 506, 507, 508 등)에 셀이 존재한다고 추정할 수 있다.As shown in FIG. 5 , the controller 140 estimates that a cell exists in the areas 502 , 5203 , 504 , 505 , 506 , 507 , 508 , etc. where text is located within the table areas 410 and 420 . can
제어부(140)는 region proposal network의 입력 데이터로서 특징 정보를 입력하여, 이미지(1000)에서 테이블(1100, 1200)에 포함된 셀(611, 612, 613, 614, 621, 622, 623, 624, 625, 626, 627 등)을 특정할 수 있다. 이때, region proposal network는 위에서 추출된 텍스트의 위치 정보에 근거하여, 테이블을 구성하는 셀을 특정할 수 있다. region proposal network는 텍스트가 위치한 곳에 셀이 위치한다고 가정함으로써, 테이블(1100, 1200) 내에서 셀이 위치한 영역을 추정 및 특정할 수 있다. 이와 같이, 제어부(140)는 텍스트의 위치 정보에 근거하여, 셀의 위치를 추정 및 셀을 특정함으로써, 시각적으로 보이지 않는 라인에 의하여 구획된 셀까지 추출(또는 특정) 하는 것이 가능하다.The controller 140 inputs feature information as input data of the region proposal network, and in the image 1000 , cells 611, 612, 613, 614, 621, 622, 623, 624, 625, 626, 627, etc.) can be specified. In this case, the region proposal network can specify the cells constituting the table based on the location information of the text extracted above. The region proposal network can estimate and specify the region where the cell is located in the tables 1100 and 1200 by assuming that the cell is located where the text is located. As described above, the controller 140 may extract (or specify) even cells partitioned by lines that are not visually visible by estimating the location of the cell and specifying the cell based on the location information of the text.
나아가, 제어부(140)는 텍스트의 위치 정보를 기준으로, 테이블(1100, 1200) 내에서 텍스트가 위치한 지점에 셀이 존재한다고 가정함으로써, 테이블(1100, 1200)의 셀을 특정할 수 있다. 이 경우, 제어부(140)는 테이블에 포함된 특정 텍스트의 위치 및 주변 텍스트의 배열에 근거하여, 특정 텍스트가 포함된 셀의 크기를 특정할 수 있다. 테이블(1100, 1200)은 테이블(1100, 1200)에 포함된 가로 라인 및 세로 라인에 의하여 최소 단위의 셀로 분할될 수 있으며, 이 중 서로 이웃하는 적어도 두개의 셀이 병합되어, 하나의 셀을 이룰 수 있다. 본 발명에서 제어부(140)는 텍스트의 위치에 기반하여, 이미지에 포함된 테이블(1100, 1200)에서 병합된 셀을 추출 및 병합된 셀의 구조를 그대로 특정하는 것이 가능하다. Furthermore, the controller 140 may specify the cells of the tables 1100 and 1200 by assuming that a cell exists at a point where the text is located in the tables 1100 and 1200 based on the location information of the text. In this case, the controller 140 may specify the size of a cell including the specific text based on the location of the specific text included in the table and the arrangement of the surrounding text. The tables 1100 and 1200 may be divided into cells of a minimum unit by horizontal and vertical lines included in the tables 1100 and 1200, and among them, at least two neighboring cells are merged to form one cell. can In the present invention, the controller 140 can extract the merged cell from the tables 1100 and 1200 included in the image based on the position of the text and specify the structure of the merged cell as it is.
예를 들어, 수신한 이미지 내의 테이블에서 “01. 진찰료”의 텍스트가 위치하는 제1영역(503)이 검출되고, 상기 제1영역과 가로 라인을 따라 인접한 위치에 일자에 해당하는 텍스트들(예를 들어, “2020-12-03~2020-12-18” 등)이 위치하는 제2영역(503), 제3영역(504) 및 제4영역(505)이 검출될 수 있다.For example, in the table within the received image, “01. The first area 503 in which the text of "Consultation Fee" is located is detected, and texts corresponding to the date are located adjacent to the first area along a horizontal line (for example, "2020-12-03~2020-12"). The second region 503 , the third region 504 , and the fourth region 505 in which -18 ″, etc.) are located may be detected.
제어부(140)는 상기 제1영역 내지 제4영역(505)의 텍스트의 위치를 분석하여, 상기 제1영역(501)을 상기 최소 단위의 셀이 병합된 하나의 셀로서 설정할 수 있다. 예를 들어, 상기 테이블의 세로 라인을 따라 상기 제1영역(503)의 다음에 나타내는 텍스트인 “02. 입원료”와 상기 제1영역(503)의 상대 위치는, 상기 제2영역(503), 제3영역(504) 및 제4영역(505)의 상대 위치와 서로 다른 규칙(또는 패턴)을 가지는 것으로 분석될 수 있다. 제어부는 이러한 분석을 이용하여, 상기 제2영역(503), 제3영역(504) 및 제4영역(505)은 최소 단위의 셀로 분할하고, 상기 제1영역을 세로라인을 따라 상기 제2영역(503), 제3영역(504) 및 제4영역(505)이 병합된 크기로 설정할 수 있다.The controller 140 may analyze the position of the text in the first to fourth regions 505 and set the first region 501 as one cell in which the cells of the minimum unit are merged. For example, text “02. The relative position of “hospitalization fee” and the first region 503 has a different rule (or pattern) from the relative positions of the second region 503 , the third region 504 and the fourth region 505 . can be analyzed. Using this analysis, the control unit divides the second region 503, the third region 504, and the fourth region 505 into cells of a minimum unit, and divides the first region into the second region along a vertical line. 503 , the third region 504 , and the fourth region 505 may be set to a merged size.
한편, 제어부(140)는 region proposal network는 테이블(1100, 1200)을 벗어난 영역에서 인식된 텍스트(630)는 고려하지 않을 수 있다. 즉, 제어부(140)는 테이블(1100. 1200) 내에 포함된 텍스트 및 텍스트의 위치 정보 만을 고려하여, 테이블(1100, 1200)에 포함된 셀이 특정되도록 region proposal network를 제어할 수 있다.한편, 테이블(1100, 1200)에 포함된 셀이 특정된 경우, 제어부(140)는 특정된 셀들을 범주 셀(611, 613, 621, 622)과 데이터 셀(612, 614, 623, 624, 625, 626, 627)로 구분할 수 있다. 도시와 같이, 테이블(1100, 1200)을 구성하는 셀은 범주 이름이 포함되는 범주 셀(611, 613, 621, 622)과 범주 셀에 포함된 범주 이름과 관련된(또는 범주 이름에 속한) 데이터가 포함되는 데이터 셀(612, 614, 623, 624, 625, 626, 627)을 포함할 수 있다. Meanwhile, the controller 140 may not consider the text 630 recognized in the region outside the tables 1100 and 1200 in the region proposal network. That is, the controller 140 may control the region proposal network so that the cells included in the tables 1100 and 1200 are specified by considering only the text included in the tables 1100 and 1200 and location information of the text. When the cells included in the tables 1100 and 1200 are specified, the controller 140 selects the specified cells as the category cells 611, 613, 621, and 622 and the data cells 612, 614, 623, 624, 625, and 626. , 627). As shown, the cells that make up the table (1100, 1200) contain category cells (611, 613, 621, 622) containing category names and data related to (or pertaining to) category names contained in category cells. Data cells 612 , 614 , 623 , 624 , 625 , 626 , 627 may be included.
범주는 동일하거나 유사한 성질 또는 의미를 기준으로 구분되는 것으로서, 카테고리(category)라고도 명명될 수 있다. 동일한 범주에 속한 데이터는, 서로 동일한 의미, 서로 동일한 종류, 또는 서로 동일한 소속에 해당하는 데이터일 수 있다.A category is classified based on the same or similar properties or meaning, and may also be called a category. Data belonging to the same category may be data corresponding to the same meaning, the same type, or the same affiliation.
즉, 데이터 셀에 포함된 텍스트의 의미는 범주 셀에 포함되는 텍스트의 의미의 하위개념에 해당할 수 있다.That is, the meaning of the text included in the data cell may correspond to a sub-concept of the meaning of the text included in the category cell.
범주 셀은, 범주의 이름 또는 범주의 이름과 관련된 데이터가 포함되며, 데이터 셀은 범주 셀에 포함된 범주의 이름에 속한 데이터가 포함될 수 있다. 여기에서 범주의 이름은 카테고리 명으로도 이해되어 질 수 있다.The category cell may include the name of a category or data related to the category name, and the data cell may include data belonging to the category name included in the category cell. Here, the category name may also be understood as a category name.
예를 들어, 제1 범주 셀(611)은 “환자등록번호”라는 범주 이름을 가지며, 제1 범주셀(611)에 대응되는 데이터 셀(612)은 “환자등록번호”라는 범주 이름에 속하는 데이터(예를 들어, “123456”)을 가질 수 있다.For example, the first category cell 611 has a category name of “Patient Registration Number”, and the data cell 612 corresponding to the first category cell 611 is data belonging to the category name “Patient Registration Number”. (eg "123456").
나아가, 제2 범주 셀(623)은 “01.진찰료”라는 범주 이름을 가지며, 제2 범주 셀(623)에 대응되는 데이터 셀(625) 진찰료와 관련된 데이터(진찰 일자)를 가질 수 있다. Furthermore, the second category cell 623 has a category name of “01. Consultation Fee” and may have data (diagnosis date) related to the data cell 625 corresponding to the second category cell 623.
한편, 경우에 따라, 범주 셀은, 데이터 셀의 속성을 함께 가질 수 있다. 예를 들어, 제2 범주 셀(623)은 상기 데이터 셀(625)에 대해서는 범주 이름을 포함하는 범주 속성을 가지나, 제3 범주 셀(621)에 대해서는 제3 범주 셀(621)의 범주 이름(항목)과 관련된 데이터(“01. 진찰료”라는 항목에 대한 정보)를 가질 수 있다.Meanwhile, in some cases, the category cell may also have properties of the data cell. For example, the second category cell 623 has a category attribute including a category name for the data cell 625, but has a category name ( item) and related data (information on the item “01. Consultation Fee”).
제어부(140)는 셀의 위치 및 셀에 포함된 텍스트의 의미에 근거하여, 범주 셀과 데이터 셀을 구분할 수 있다.The controller 140 may classify a category cell and a data cell based on the location of the cell and the meaning of text included in the cell.
한편, 제어부(140)는 도 7의 (a) 및 (b)에 도시된 것과 같이, 테이블(1100, 1200)에 포함되지 않은 영역(701, 702, 703, 704, 705, 706)에 포함된 텍스트는 제거할 수 있다. 제어부(140)는 테이블 영역(410, 420)과 텍스트의 위치 정보를 이용하여 상기 테이블 영역(410, 420)을 벗어나서 위치하는 텍스트를 검출할 수 있다.On the other hand, as shown in (a) and (b) of Figure 7, the control unit 140 is included in the regions 701, 702, 703, 704, 705, 706 not included in the tables 1100 and 1200. Text can be removed. The controller 140 may detect text located outside the table areas 410 and 420 by using the table areas 410 and 420 and location information of the text.
예를 들어, 특정 텍스트가 상기 테이블 영역(410, 420)을 벗어나서 위치한 것으로 검출되는 경우에, 상기 제어부는 region proposal network을 이용한 딥러닝의 입력 데이터에서 상기 텍스트를 제외할 수 있다. 이를 통하여, 상기 테이블(1100, 1200)을 벗어난 영역에서 인식된 텍스트는 테이블 복원을 위한 데이터 처리에서 제외될 수 있다.For example, when it is detected that a specific text is located outside the table regions 410 and 420 , the controller may exclude the text from input data of deep learning using a region proposal network. Through this, text recognized in an area outside the tables 1100 and 1200 may be excluded from data processing for table restoration.
나아가, 제어부(140)는 테이블(1100, 1200)에 포함된 셀이 특정되면, 특정된 셀을 제외한 영역(701, 702, 703, 704, 705, 706)에 포함된 텍스트를 제거할 수 있다.Furthermore, when a cell included in the tables 1100 and 1200 is specified, the controller 140 may remove text included in the areas 701 , 702 , 703 , 704 , 705 , and 706 excluding the specified cell.
이와 다르게, 제어부(140)는 테이블(1100, 1200)에 포함되지 않은 영역(701, 702, 703, 704, 705, 706)에 포함된 텍스트 및 텍스트의 위치 정보를 저장부(120)에 저장할 수 있다. 저장된 정보는, 추후 테이블을 재현할 때 활용할 수 있다.Alternatively, the control unit 140 may store the text included in the regions 701 , 702 , 703 , 704 , 705 , and 706 not included in the tables 1100 and 1200 and the location information of the text in the storage unit 120 . have. The stored information can be utilized when reproducing the table later.
위에서 살펴본 것과 같이, 테이블에 포함된 셀의 특정이 완료되면, 본 발명에서는 테이블의 구조를 특정하는 과정을 수행할 수 있다(S250, 도 2 참조).As described above, when the specification of cells included in the table is completed, in the present invention, the process of specifying the structure of the table may be performed (S250, see FIG. 2 ).
제어부(140)는 특정된 복수의 셀들 간의 관계성(또는 관련성)에 근거하여, 테이블(1100, 1200)의 구조를 특정할 수 있다.The controller 140 may specify the structure of the tables 1100 and 1200 based on the specified relationship (or relationship) between the plurality of cells.
여기에서, “테이블(1100, 1200)의 구조를 특정”한다고 함은, 복수의 셀 중 서로 관련된 데이터를 포함하는 셀들을 특정(또는 그룹핑)하는 과정으로서, 앞서 살펴본, 범주 셀 및 범주 셀의 범주 이름(또는 카테고리)에 속하는 데이터를 포함한 데이터 셀을 그룹핑하는 과정을 의미할 수 있다.Here, “specifying the structure of the tables 1100 and 1200” refers to a process of specifying (or grouping) cells including data related to each other among a plurality of cells. It may refer to a process of grouping data cells including data belonging to a name (or category).
본 발명에서는, 테이블의 구조를 특정하는 과정을 통하여, 서로 관련된 데이터를 포함하는 범주 셀 및 데이터 셀이 동일한 그룹으로 그룹지어 질 수 있다.In the present invention, through a process of specifying the structure of a table, category cells and data cells including data related to each other can be grouped into the same group.
이때, 제어부(140)는 앞서 살펴본 셀을 특정하는 과정에서 구분된 범주 셀 및 데이터 셀에 근거하여, 서로 관련된 셀들을 그룹핑할 수 있다. 이러한 예로서, 하나의 범주 셀에 복수의 데이터 셀이 관련된 셀들로 분석되어 하나의 그룹으로서 설정될 수 있다.In this case, the controller 140 may group cells related to each other based on the category cell and the data cell divided in the process of specifying the cell described above. For this example, a plurality of data cells in one category cell may be analyzed as related cells and set as one group.
나아가, 제어부(140)는 셀을 특정하는 과정에서 범주 셀 및 데이터 셀이 구분되지 않은 경우에도, 셀들에 포함된 텍스트의 의미를 분석하여, 서로 관계성 있는 범주 셀 및 데이터 셀을 그룹핑할 수 있다.Furthermore, even when the category cell and the data cell are not separated in the process of specifying the cell, the controller 140 may analyze the meaning of the text included in the cells to group the category cell and the data cell that are related to each other. .
제어부(140)는 테이블(1100, 1200)로부터 특정된 복수의 셀들 간의 관계성을 근거로 상기 복수의 셀들 중 어느 하나를 범주 셀로 특정하고, 다른 하나를 상기 범주 셀에 대응하는 데이터 셀로 특정할 수 있다. 제어부(140)는 서로 관계성을 가지는 복수의 셀들에 포함된 텍스트의 의미에 근거하여, 범주 셀 및 데이터 셀을 각각 구분할 수 있다.The controller 140 may specify one of the plurality of cells as a category cell based on the relationship between the plurality of cells specified from the tables 1100 and 1200 and specify the other as a data cell corresponding to the category cell. have. The controller 140 may classify a category cell and a data cell, respectively, based on the meaning of text included in a plurality of cells having a relationship with each other.
한편, 특정 데이터 셀에 포함된 텍스트의 의미는 상기 특정 데이터 셀과 동일한 그룹에 속하는(즉, 관계성을 가지는) 특정 범주 셀에 포함되는 텍스트의 의미의 하위개념에 해당할 수 있다.Meanwhile, the meaning of text included in a specific data cell may correspond to a sub-concept of the meaning of text included in a specific category cell belonging to the same group (ie, having a relationship) with the specific data cell.
제어부(140)는, 복수의 셀들 간의 관계성을 추정하기 위하여, 이미지로부터 추출된 텍스트를 이용할 수 있다. 이때, 제어부(140)는 도 8 및 도 9에 도시된 것과 같이, 추출된 텍스트에 기반하여, 복수의 셀들 간의 관계성을 일 방향으로 따라 추정할 수 있다. 제어부(140)는, 도 8에 도시된 것과 같이, 복수의 셀들 간의 관계성을 행 방향을 따라 추출하고, 나아가, 도 9에 도시된 것과 같이, 복수의 셀들 간의 관계성을 열 방향을 따라 각각 추정할 수 있다. 한편, 이미지(1000)에 복수의 테이블(1100, 1200)이 포함된 경우, 제어부(140)는 각각의 테이블에 대해 서로 독립적으로 셀들의 관계성을 파악할 수 있다.The controller 140 may use the text extracted from the image to estimate the relationship between the plurality of cells. In this case, as shown in FIGS. 8 and 9 , the controller 140 may estimate the relationship between the plurality of cells in one direction based on the extracted text. As shown in FIG. 8 , the controller 140 extracts the relationship between the plurality of cells along the row direction, and further, as shown in FIG. 9 , the relationship between the plurality of cells along the column direction, respectively. can be estimated Meanwhile, when the image 1000 includes a plurality of tables 1100 and 1200 , the controller 140 may determine the relationship between cells independently of each other for each table.
나아가, 복수의 셀들 간의 관계성을 추정하기 위하여 제어부(140)는 self-attention 알고리즘(또는 self-attention 구조)에 근거하여, 복수의 셀들 간의 관계를 추출할 수 있다. Furthermore, in order to estimate the relationship between the plurality of cells, the controller 140 may extract the relationship between the plurality of cells based on a self-attention algorithm (or self-attention structure).
이를 위하여, 제어부(140)는 테이블에서 특정된 복수의 셀 모두가 상호 관계성을 가진다고 가정한 후, 각각의 셀들에 포함된 텍스트의 의미 분석에 기반하여, 서로 관계성이 떨어지는 셀들 간의 관계를 제거하는 방법으로, 최종적으로 상호 관계성을 가지는 셀들의 그룹을 특정할 수 있다. 이러한 특정된 그룹에는 적어도 하나의 범주 셀과 적어도 하나의 데이터 셀이 포함될 수 있다. To this end, the controller 140 assumes that all of the plurality of cells specified in the table have interrelationship, and then removes the relation between cells having low relation to each other based on the semantic analysis of the text included in each cell. In this way, it is possible to finally specify a group of cells having a mutual relationship. This specified group may include at least one category cell and at least one data cell.
제어부(140)는 서로 관계성이 떨어지는 셀들 간의 관계를 제거하기 위하여, 도 8에 도시된 것과 같이, 행 방향을 따라 나열된 복수의 셀들(801, 802, 803, 804, 805, 806, 807, 808 또는 810, 811, 812, 813, 814, 815, 816, 817)에 포함된 텍스트의 의미를 각각 분석하고, 각각의 텍스트 중 서로 관련성 있는 텍스트를 포함한 셀을 같은 그룹으로 특정할 수 있다. In order to remove a relationship between cells having a low relationship with each other, the controller 140 includes a plurality of cells 801 , 802 , 803 , 804 , 805 , 806 , 807 , 808 arranged along the row direction as shown in FIG. 8 . Alternatively, the meanings of texts included in 810, 811, 812, 813, 814, 815, 816, and 817) may be analyzed, and cells including texts related to each other among the respective texts may be specified as the same group.
예를 들어, 동일 행에 포함된 셀들의 의미를 분석하여, “진찰료”와 관련된 의미를 갖는 텍스트(또는 데이터)를 가지고 있는 셀들을 하나의 그룹으로 그룹핑할 수 있다.For example, by analyzing the meaning of cells included in the same row, cells having text (or data) having a meaning related to “diagnosis fee” may be grouped into one group.
이와 반대로, 제어부(140)는 행 방향을 따라 나열된 복수의 셀들(801, 802, 803, 804, 805, 806, 807, 808 또는 810, 811, 812, 813, 814, 815, 816, 817)을 동일한 그룹에 속한다고 가정한 후, 각각의 셀에 포함된 텍스트의 의미를 각각 분석할 수 있다. 그리고, 제어부(140)는 복수의 셀들에 포함된 각각의 텍스트가 나타내는 의미 중 관련성이 떨어지는 텍스트를 포함한 셀을 상기 가정된 그룹에서 제외할 수 있다.Conversely, the controller 140 controls the plurality of cells 801, 802, 803, 804, 805, 806, 807, 808, or 810, 811, 812, 813, 814, 815, 816, and 817 arranged along the row direction. After assuming that they belong to the same group, the meaning of the text included in each cell may be analyzed separately. Also, the controller 140 may exclude a cell including a text having low relevance among meanings indicated by each text included in the plurality of cells from the assumed group.
예를 들어, 동일 행에 포함된 셀들 중 대부분이 “진찰료”와 관련된 의미를 갖는 텍스트(또는 데이터)를 가지고, 일부 셀이 “쇼핑”과 관련된 의미를 갖는 텍스트를 갖는 경우, 제어부(140)는 셀들에 포함된 텍스트의 의미 분석에 기반하여, “쇼핑”과 관련된 의미를 갖는 텍스트 갖는 셀을 나머지 셀과 관련성이 떨어진다고 판단할 수 있다. 이 경우, 제어부(140)는 “쇼핑”과 관련된 의미를 갖는 텍스트를 포함한 셀을 제외한 나머지 셀에 대해서만 동일한 그룹으로 그룹핑할 수 있다. For example, if most of the cells included in the same row have text (or data) having a meaning related to “diagnosis fee” and some cells have text having a meaning related to “shopping”, the controller 140 may Based on the semantic analysis of the text included in the cells, it may be determined that a cell having a text having a meaning related to “shopping” is not related to the remaining cells. In this case, the controller 140 may group only the remaining cells except for the cells including the text having a meaning related to “shopping” into the same group.
한편, 마찬가지로 도 9에 도시된 것과 같이, 제어부(140)는 열 방향을 따라 나열된 복수의 셀들(901, 902 또는 911, 912, 913, 914)에 포함된 텍스트의 의미를 각각 분석하고, 각각의 텍스트 중 서로 관련성 있는 텍스트를 포함한 셀을 같은 그룹으로 특정할 수 있다. 이와 반대로, 제어부(140)는 열 방향을 따라 나열된 복수의 셀들(901, 902 또는 911, 912, 913, 914)을 동일한 그룹에 속한다고 가정한 후, 각각의 셀에 포함된 텍스트의 의미를 각각 분석할 수 있다. 그리고, 제어부(140)는 복수의 셀들에 포함된 각각의 텍스트가 나타내는 의미 중 상호 관련성이 떨어지는 텍스트를 포함한 셀을 상기 가정된 그룹에서 제외할 수 있다.Meanwhile, similarly as shown in FIG. 9 , the controller 140 analyzes the meaning of the text included in the plurality of cells 901 , 902 or 911 , 912 , 913 , and 914 arranged along the column direction, respectively, and Cells containing related texts among texts can be specified as the same group. On the contrary, after assuming that the plurality of cells 901 , 902 or 911 , 912 , 913 , and 914 arranged along the column direction belong to the same group, the controller 140 determines the meaning of the text included in each cell. can be analyzed. In addition, the controller 140 may exclude a cell including a text having low correlation among meanings indicated by each text included in the plurality of cells from the assumed group.
이와 같이, 제어부(140)는 셀들의 방향성을 기준으로 셀들에 포함된 텍스트의 의미를 분석하여, 서로 관련성이 있는 셀들을 특정할 수 있다. 이와 같이, 복수의 셀들 간의 관계성의 특정이 완료되면, 제어부(140)는 복수의 셀들 간의 관계성과 이미지로부터 추출된 텍스트를 이용하여 도 10에 도시된 것과 같이, 이미지(1000, 도 1 참조)에 포함된 테이블(1100, 1200)과 대응되는 테이블(2100, 2200)을 생성할 수 있다. In this way, the controller 140 may analyze the meaning of the text included in the cells based on the directionality of the cells to specify cells that are related to each other. In this way, when the specification of the relationship between the plurality of cells is completed, the controller 140 uses the relationship between the plurality of cells and the text extracted from the image to display the image 1000 (refer to FIG. 1) as shown in FIG. 10 . Tables 2100 and 2200 corresponding to the included tables 1100 and 1200 may be created.
생성되는 테이블(2100, 2200)은 엑셀(xlsx)구조의 데이터 또는 다양한 형식의 데이터로서 제공될 수 있다. The generated tables 2100 and 2200 may be provided as data of an Excel (xlsx) structure or data in various formats.
엑셀 구조의 데이터로, 생성된 테이블이 제공되는 경우, 제어부(140)는 복수의 셀들 간의 관계성을 엑셀 데이터 반영할 수 있으며, 이 경우, 셀들 간의 연산 관계 또한 엑셀 데이터에 포함될 수 있다. 제어부(140)는 셀들에 포함된 텍스트 간의 상호 연산 관계를 추정하여, 추정된 연산 관계를 엑셀 데이터에 대응되는 셀들에 함수로서 적용할 수 있다. When the generated table is provided as data of the Excel structure, the controller 140 may reflect the relationship between the plurality of cells in the Excel data, and in this case, the operation relationship between the cells may also be included in the Excel data. The controller 140 may estimate a mutual operation relationship between texts included in cells, and apply the estimated operation relationship to cells corresponding to Excel data as a function.
한편, 도 10에 도시된 것과 같이, 제어부(140)는 이미지(1000, 도 1 참조)에서 테이블(1100, 1200)을 벗어난 영역에 위치한 텍스트(2010, 2020)를 함께 제공할 수 있다. 이 경우에, 해당 텍스트(2010, 2020)는 특정된 테이블 영역과의 상대 위치를 반영하여, 생성되는 테이블(2100, 2200)과 함께 하나의 데이터로서 제공될 수 있다. 위에서 살펴본 것과 같이, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지의 특징 정보 및 테이블 참조 데이터에 기반하여, 이미지에서 테이블이 위치한 테이블 영역을 정확하게 특정하고, 텍스트 인식 결과에 기반하여 테이블 영역 내에 포함된 셀의 구조를 특정할 수 있다. 이를 통하여, 눈에 보이지 않는 라인(예를 들어, implicit line)에 의해 형성된 셀까지 특정하는 것이 가능하며, 결과적으로 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.Meanwhile, as shown in FIG. 10 , the controller 140 may provide texts 2010 and 2020 located in areas outside the tables 1100 and 1200 in the image 1000 (refer to FIG. 1 ) together. In this case, the corresponding texts 2010 and 2020 may be provided as one data together with the generated tables 2100 and 2200 by reflecting the relative position with the specified table area. As described above, the table creation method and system according to the present invention accurately specify the table region where the table is located in the image based on the image feature information and table reference data, and include the table region in the table region based on the text recognition result. The structure of the cell can be specified. Through this, it is possible to specify even a cell formed by an invisible line (eg, an implicit line), and as a result, the table creation method and system according to the present invention have the same structure as the table included in the image. It is possible to create tables.
나아가, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것 뿐만 아니라, 텍스트 인식 결과를 기반으로, 테이블에 포함된 셀들 간의 관계성을 부여함으로써, 각 셀들에 포함된 데이터들이 유기적으로 분석될 수 있는 환경을 제공할 수 있다.Furthermore, the table creation method and system according to the present invention not only creates a table having the same structure as a table included in an image, but also provides a relationship between cells included in the table based on the text recognition result, It is possible to provide an environment in which data included in each cell can be organically analyzed.
한편, 테이블을 생성 및 재현하는 기술은, 테이블을 둘러싼 다양한 요소들(예를 들어, 텍스트, 텍스트의 위치, 셀의 구성, 셀의 위치, 셀들 간의 연관 관계 등)을 정확하게 인식하는 것이 매우 중요하다.On the other hand, it is very important to accurately recognize various elements surrounding the table (eg, text, text position, cell configuration, cell position, relation between cells, etc.) .
이를 위해서는, 테이블을 이루는 다양한 구성 요소들을 정확하게 인식하고, 이들의 관계성을 정확하게 정의 및 관련 지어 주는 것이 매우 중요하다.To this end, it is very important to accurately recognize the various components that make up the table, and to define and relate their relationships accurately.
이하에서는, 테이블에 포함된 정보를 정확하게 인식하고, 이를 활용할 수 있는 테이블 인식 방법 및 시스템에 대하여, 첨부된 도면과 함께 보다 구체적으로 살펴본다. Hereinafter, a table recognition method and system capable of accurately recognizing information included in a table and utilizing it will be described in more detail with accompanying drawings.
먼저, 도 11에 도시된 것과 같이, 본 발명에 따른 테이블 인식 시스템(2100)은, 이미지(21000)에 포함된 테이블(21100)을 인식하고, 인식된 테이블(21100)을 구성하는 구성 요소를 추출하고, 이들의 관계성을 특정할 수 있다.First, as shown in FIG. 11 , the table recognition system 2100 according to the present invention recognizes the table 21100 included in the image 21000 and extracts components constituting the recognized table 21100 . and their relationship can be specified.
도시와 같이, 테이블(21100)은 텍스트(예를 들어, “환자등록번호”, “환자성명”, “자격:국민공단” 등), 텍스트가 포함된 셀(cell), 셀을 구획하는 라인(line) 또는 선 등의 구성 요소들로 구성될 수 있다. 이러한 구성 요소들은 상호 위치적 및 의미적인 관계성을 가질 수 있다. As shown, the table 21100 includes text (eg, “patient registration number”, “patient name”, “qualification: National Corporation”, etc.), a cell containing text, and a line dividing the cell ( line) or may be composed of components such as lines. These components may have a positional and semantic relationship with each other.
한편, 본 발명에서, 텍스트는, 단어(word) 또는 독립하여 의미를 갖을 수 있는 적어도 하나의 글자로도 이해되어질 수 있다. 텍스트는, 문자 뿐만 아니라, 숫자, 기호, 연산자 등 의미 있는 부호 체계로 표현될 수 있다.Meanwhile, in the present invention, a text may be understood as a word or at least one letter that may have a meaning independently. The text may be expressed in a meaningful code system, such as numbers, symbols, and operators, as well as characters.
한편, 위치적 관계성은, 테이블(21100)에 포함된 셀들의 적어도 일부가 서로 동일 또는 인접한 행 또는 열에 배치되는 것을 의미할 수 있다.Meanwhile, the positional relationship may mean that at least some of the cells included in the table 21100 are arranged in the same or adjacent rows or columns.
의미적인 관계성은, 테이블(21100)에 포함된 셀의 적어도 일부가, 다른 일부와 서로 관련된 내용을 포함하는 것을 의미할 수 있다.The semantic relationship may mean that at least a part of cells included in the table 21100 includes content related to other parts.
이미지(21000)에는 하나 또는 그 이상의 테이블이 포함될 수 있으며, 본 발명은 이미지(21000)에 포함된 테이블의 수에 관계없이, 이미지(21000)에 포함된 모든 테이블을 인식하는 것이 가능하다.The image 21000 may include one or more tables, and the present invention can recognize all tables included in the image 21000 regardless of the number of tables included in the image 21000 .
본 발명에서, 이미지(21000)는 종이 문서를 스캔한 것에 의하여 획득되는 이미지이거나 사진 촬영에 의하여 획득된 이미지이거나, 기타 다른 다양한 방법으로 획득된 이미지일 수 있다.In the present invention, the image 21000 may be an image obtained by scanning a paper document, an image obtained by photographing, or an image obtained by various other methods.
한편, 도 11에 도시된 것과 같이, 본 발명에 따른 테이블 인식 시스템(2100)은 수신부(2110), 저장부(2120), OCR부(2130) 및 제어부(2140) 중 적어도 하나를 포함할 수 있다.Meanwhile, as shown in FIG. 11 , the table recognition system 2100 according to the present invention may include at least one of a receiving unit 2110 , a storage unit 2120 , an OCR unit 2130 , and a control unit 2140 . .
수신부(2110)는 테이블(21100)이 포함된 이미지(21000)를 수신하는 수단으로서, 통신부, 스캔부 및 입력부 중 적어도 하나를 포함하여 구성되거나, 기타 이미지(21000)를 수신할 수 있는 수단으로 이루어질 수 있다. The receiver 2110 is a means for receiving the image 21000 including the table 21100 , and includes at least one of a communication unit, a scan unit, and an input unit, or other means for receiving the image 21000 . can
테이블 인식 시스템(2100)은 수신부(2110)를 통해 수신한 이미지(21000)에 포함된 테이블(21100)을 분석하여, 이미지(21000)에 포함된 테이블(21100)과 동일한 테이블이 생성(또는 재현, 복원)되도록 하거나, 테이블(21100)에 포함된 데이터(또는 정보)가 정확하게 추출되도록 하는 테이블(21100)에 대한 인식 과정을 수행할 수 있다.The table recognition system 2100 analyzes the table 21100 included in the image 21000 received through the receiver 2110, and the same table as the table 21100 included in the image 21000 is generated (or reproduced) restoration), or a recognition process for the table 21100 may be performed so that data (or information) included in the table 21100 is accurately extracted.
이와 같이, 이미지(21000)에 포함된 테이블(21100)의 구성 요소를 인식하고, 테이블(21100)에 포함된 정보를 추출하여 데이터화하는 작업은, “테이블을 재현, 재구성 또는 복원(reconstruction, restoration)한다”고 표현될 수 있다. In this way, the operation of recognizing the components of the table 21100 included in the image 21000, extracting the information included in the table 21100 and converting it into data is “reproducing, reconstructing, or restoring the table (reconstruction, restoration)”. do” can be expressed.
본 명세서에서 이미지(21000)에 포함된 테이블(21100)을 구성하는 다양한 요소들을 인식하는 것은, 이미지(21000)에 포함된 테이블(21100)을 복원하기 위한 과정으로서 이해되어질 수 있다.Recognizing various elements constituting the table 21100 included in the image 21000 herein may be understood as a process for restoring the table 21100 included in the image 21000 .
다음으로 저장부(2120)는, 본 발명에 따른 다양한 정보를 저장하도록 이루어질 수 있다. 저장부(2120)의 종류는 매우 다양할 수 있으며, 적어도 일부는, 외부 서버(2150, 클라우드 서버(2151) 및 데이터베이스(database: DB, 2152) 중 적어도 하나)를 의미할 수 있다. 즉, 저장부(2120)는 본 발명과 관련된 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. Next, the storage unit 2120 may be configured to store various information according to the present invention. The types of the storage unit 2120 may be very diverse, and at least some of them may mean an external server 2150 , at least one of a cloud server 2151 and a database (DB, 2152 ). That is, it can be understood that the storage unit 2120 is a space in which information related to the present invention is stored, and there is no restriction on the physical space.
저장부(2120)에는 테이블을 구성하는 다양한 구성 요소에 대한 정보가 포함될 수 있다. 보다 구체적으로, 저장부(2120)에는 i)테이블(21100)을 포함하는 이미지(21000) 및 이와 관련된 데이터, ii)테이블(21100)에 포함된 셀, 셀의 위치 정보, 셀에 대응되는 셀 박스(box)에 대한 정보, 라인, 코너 등과 관련된 정보 및 이와 관련된 데이터, iii) 테이블(21100)에 포함된 콘텐츠(예를 들어, 텍스트, 이미지 등) 데이터, 테이블(21100)에서의 콘텐츠의 위치 정보 중 적어도 하나가 저장될 수 있다. The storage unit 2120 may include information on various components constituting the table. More specifically, in the storage unit 2120, i) an image 21000 including the table 21100 and data related thereto, ii) a cell included in the table 21100, location information of the cell, and a cell box corresponding to the cell (box), information related to lines, corners, etc. and data related thereto, iii) content (eg, text, image, etc.) data included in the table 21100, location information of the content in the table 21100 At least one of them may be stored.
다음으로, OCR(Optical Character Reader, 2130)부는 이미지(21000)에 포함된 콘텐츠를 인식하는 수단으로서, 다양한 콘텐츠 인식 알고리즘 중 적어도 하나를 통하여 이미지(21000)에 포함된 콘텐츠를 인식할 수 있다. OCR부(2130)는 인공지능에 기반한 알고리즘(예를 들어, 딥러닝 알고리즘)을 이용하여, 콘텐츠를 인식할 수 있다. OCR부는, “OCR API” 라고 명명되는 것 또한 가능하다.Next, the OCR (Optical Character Reader, 2130) unit may recognize the content included in the image 21000 as a means for recognizing the content included in the image 21000, and may recognize the content included in the image 21000 through at least one of various content recognition algorithms. The OCR unit 2130 may recognize content by using an algorithm based on artificial intelligence (eg, a deep learning algorithm). It is also possible that the OCR unit is named “OCR API”.
OCR부(2130)는, 이미지에 포함된 텍스트 및 텍스트의 위치 정보를 추출할 수 있다. 여기에서, 텍스트의 위치 정보는 수신부(2110)를 통해 입력된 이미지(21000) 내에서 텍스트가 어디에 위치하는지 또는 테이블(21100) 내에서 텍스트가 어디에 위치하는지에 대한 정보를 포함할 수 있다.The OCR unit 2130 may extract text included in the image and location information of the text. Here, the position information of the text may include information on where the text is located in the image 21000 input through the receiver 2110 or where the text is located in the table 21100 .
OCR부(2130)는, 이미지에 포함된 텍스트에 근거하여, 텍스트 박스(text box)를 추출 또는 특정할 수 있다. The OCR unit 2130 may extract or specify a text box based on the text included in the image.
OCR부(2130)는, 이미지(21000)에 포함된 텍스트(text)를 인식하고, 상기 텍스트를 포함하는 텍스트 박스(text box)를 특정할 수 있다.The OCR unit 2130 may recognize text included in the image 21000 and specify a text box including the text.
OCR부(2130)는, 기 설정된 구분 기준에 근거하여, 적어도 하나의 글자(character)를 포함하는 텍스트를 인식하고, 인식 결과, 상기 이미지에 복수의 텍스트가 포함된 경우, 상기 복수의 텍스트 각각에 대응되는 복수의 텍스트 박스를 특정할 수 있다.The OCR unit 2130 recognizes a text including at least one character based on a preset classification criterion, and as a result of the recognition, when a plurality of texts are included in the image, each of the plurality of texts is A plurality of corresponding text boxes can be specified.
OCR부(2130)에 대한 상세한 동작은 이하에서 상세하게 다시 설명한다. 다음으로 제어부(2140)는 본 발명과 관련된 테이블 인식 시스템(2100)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(2140)는 인공지능 알고리즘(또는 딥러닝 알고리즘)을 처리 가능한 프로세서(processor, 또는 인공지능 프로세서, 또는 딥러닝 프로세서)를 포함할 수 있다. 제어부(2140)는 인공지능 알고리즘에 기반하여, 이미지(21000)로부터 테이블(21100)을 인식하고, 테이블(21100)을 구성하는 적어도 하나의 셀을 인식 및 이에 대응되는 셀 박스를 특정할 수 있다.A detailed operation of the OCR unit 2130 will be described again in detail below. Next, the controller 2140 may be configured to control the overall operation of the table recognition system 2100 related to the present invention. The controller 2140 may include a processor (or artificial intelligence processor, or deep learning processor) capable of processing an artificial intelligence algorithm (or deep learning algorithm). The controller 2140 may recognize the table 21100 from the image 21000 based on an artificial intelligence algorithm, recognize at least one cell constituting the table 21100, and specify a cell box corresponding thereto.
셀 박스는, 테이블(21100)을 구성하는 셀을 구분 또는 특정하기 위한 수단으로서, 셀과 셀 박스는 동일한 의미로 받아들여질 수 있다. 도 12를 참조하면, 본 발명에 따른 테이블 인식 방법에서는, 먼저 테이블(21100)을 포함하는 이미지(21000, 도 11 참조)를 수신하는 과정이 진행될 수 있다(S2310).The cell box is a means for classifying or specifying cells constituting the table 21100 , and the cell and the cell box may have the same meaning. Referring to FIG. 12 , in the table recognition method according to the present invention, a process of receiving an image 21000 (refer to FIG. 11 ) including a table 21100 may be performed ( S2310 ).
앞서, 살펴본 것과 같이, 테이블(21100)이 포함된 이미지(21000)는 다양한 루트를 통하여 수신될 수 있다. 예를 들어, 상기 이미지(21000)는 통신부를 통하여 전송되거나, 스캔부를 통하여 스캔되거나, 입력부를 통하여 입력되는 방식 등을 통하여 수신될 수 있다.As described above, the image 21000 including the table 21100 may be received through various routes. For example, the image 21000 may be transmitted through a communication unit, scanned through a scan unit, or received through an input unit.
이미지(21000)가 수신되면, 이미지(21000)에 포함된 테이블(21100)로부터 텍스트 및 이를 각각 포함하는 텍스트 박스를 특정하는 과정이 진행될 수 있다(S2320).When the image 21000 is received, a process of specifying text and a text box including the text from the table 21100 included in the image 21000 may proceed (S2320).
OCR부(2130)는, 이미지(21000)에 포함된 각 텍스트(또는 글자) 및 텍스트의 위치를 검출하기 위해 훈련된 텍스트 검출 모델을 통하여, 이미지(21000)로부터 텍스트를 검출할 수 있다. 이러한 텍스트 검출 모델은, 인공지능에 기반한 알고리즘(예를 들어, 딥러닝 알고리즘)을 포함할 수 있다.The OCR unit 2130 may detect text from the image 21000 through a text detection model trained to detect each text (or character) and a position of the text included in the image 21000 . Such a text detection model may include an algorithm based on artificial intelligence (eg, a deep learning algorithm).
OCR부(2130)는, 이미지에 포함된 텍스트 및 텍스트의 위치 정보를 추출할 수 있다. 여기에서, 텍스트의 위치 정보는 수신부(2110)를 통해 입력된 이미지(21000) 내에서 텍스트가 어디에 위치하는지 또는 테이블(21100) 내에서 텍스트가 어디에 위치하는지에 대한 정보(위치 정보)를 포함할 수 있다.The OCR unit 2130 may extract text included in the image and location information of the text. Here, the location information of the text may include information (location information) on where the text is located in the image 21000 input through the receiver 2110 or where the text is located in the table 21100. have.
도 13에 도시된 것과 같이, OCR부(2130)는, 이미지에 포함된 텍스트에 근거하여, 텍스트 박스(text box, 2401, 2402, 2403 등)를 추출 또는 특정할 수 있다. As shown in FIG. 13 , the OCR unit 2130 may extract or specify a text box (text box, 2401, 2402, 2403, etc.) based on the text included in the image.
OCR부(2130)는, 이미지(21000)에 포함된 텍스트(text)를 인식하고, 상기 텍스트를 포함하는 텍스트 박스(text box)를 특정할 수 있다.The OCR unit 2130 may recognize text included in the image 21000 and specify a text box including the text.
예를 들어, OCR부(2130)에 의해 “외래”라는 텍스트가 인식된 경우, “외래”의 텍스트를 포함하는 텍스트 박스(2401)가 인식(또는 특정)될 수 있다.For example, when the text “foreign” is recognized by the OCR unit 2130, a text box 2401 including the text of “foreign” may be recognized (or specified).
또 다른 예를 들어, OCR부(2130)에 의해 “영수증”라는 텍스트가 인식된 경우, “영수증”의 텍스트를 포함하는 텍스트 박스(2402)가 인식(또는 특정)될 수 있다. 또 다른 예를 들어, OCR부(2130)에 의해 “환자등록번호”라는 텍스트가 인식된 경우, “환자등록번호”의 텍스트를 포함하는 텍스트 박스(2403)가 인식(또는 특정)될 수 있다.As another example, when the text “receipt” is recognized by the OCR unit 2130, a text box 2402 including the text of “receipt” may be recognized (or specified). As another example, when the text “patient registration number” is recognized by the OCR unit 2130, a text box 2403 including the text of “patient registration number” may be recognized (or specified).
OCR부(2130)는, 기 설정된 구분 기준에 근거하여, 적어도 하나의 글자(character)를 포함하는 텍스트를 인식하고, 인식 결과, 상기 이미지에 복수의 텍스트가 포함된 경우, 상기 복수의 텍스트 각각에 대응되는 복수의 텍스트 박스를 특정할 수 있다.The OCR unit 2130 recognizes a text including at least one character based on a preset classification criterion, and as a result of the recognition, when a plurality of texts are included in the image, each of the plurality of texts is A plurality of corresponding text boxes can be specified.
여기에서, 기 설정된 구분 기준은, 이미지에 포함된 글자들의 간격 및 글자들 중 적어도 일부가 형성하는 의미 중 적어도 하나와 관련될 수 있다. 여기에서, 글자들의 간격은, 글자들 사이의 “띄어쓰기 간격”으로 이해되어질 수 있다. Here, the preset classification criterion may be related to at least one of an interval between characters included in the image and a meaning formed by at least some of the characters. Here, the spacing between letters may be understood as “space spacing” between letters.
보다 구체적으로, OCR부(2130)는, 서로 연속된 글자들 중에 간격이 존재하는 경우, 간격을 기준으로 글자들을 서로 다른 텍스트로 구분할 수 있으며, 구분된 텍스트에 대하여 서로 다른 텍스트 박스를 각각 특정할 수 있다.More specifically, the OCR unit 2130 may divide the characters into different texts based on the spacing when there is a gap among consecutive characters, and specify different text boxes for the separated text. can
나아가, OCR부(2130)는, 연속된 글자들 중 적어도 일부와 나머지 일부가 서로 의미가 다른 경우, 이를 서로 다른 텍스트로 구분할 수 있다. 예를 들어, “환자성명진료기간”이라는 글자들이 띄어쓰기 없이 연속되어 존재하는 경우, OCR부(2130)는, 글자들이 갖는 의미를 기준으로, 이를 “환자성명” 및 “진료기간”이라는 각각의 텍스트로서 인식할 수 있다. 그리고, OCR부(2130)는, “환자성명”을 하나의 텍스트 박스로 특정하고, “진료기간”을 하나의 텍스트로 특정할 수 있다. 이와 같이, OCR부(2130)는, 글자들의 간격 및 글자들이 갖는 의미 중 적어도 하나와 관련된 구분 기준에 근거하여, 테이블(21100)에 포함된 적어도 하나의 텍스트를 인식 및 추출하고, 이들을 각각 포함하는 텍스트 박스를 특정할 수 있다.Furthermore, when at least some of the continuous letters and the remaining portions have different meanings, the OCR unit 2130 may classify them into different texts. For example, if the letters “patient name and treatment period” exist consecutively without spaces, the OCR unit 2130 converts them into the respective texts of “patient name” and “treatment period” based on the meaning of the letters. can be recognized as Then, the OCR unit 2130 may specify “patient name” as one text box and “treatment period” as one text. As such, the OCR unit 2130 recognizes and extracts at least one text included in the table 21100 based on a classification criterion related to at least one of the spacing of the characters and the meaning of the characters, and includes each of them. You can specify a text box.
텍스트 박스는, 텍스트를 포함하는 박스(상자)로서, 서로 다른 단위 텍스트를 구분할 수 있다. 즉, 서로 다른 텍스트는 서로 다른 텍스트 박스에 각각 포함될 수 있다.The text box is a box (box) including text, and may distinguish different unit texts. That is, different texts may be included in different text boxes, respectively.
나아가, 도시와 같이, 인식된 텍스트 주변에는 인식된 텍스트에 해당하는 정보(2411, 2412, 2413)이 각각 제공될 수 있다. 이러한 정보는, 사용자의 디스플레이부(미도시됨) 상에 제공될 수 있다. 따라서, 사용자는 텍스트의 인식의 정확도 및 인식 결과를 실시간으로 확인할 수 있다.Furthermore, as illustrated, information 2411 , 2412 , and 2413 corresponding to the recognized text may be provided around the recognized text, respectively. Such information may be provided on a user's display unit (not shown). Accordingly, the user can check the accuracy of text recognition and the recognition result in real time.
도 13에 도시된 것과 같이, 인식된 텍스트 및 이에 대응되는 텍스트 박스에 대하여 모두 도면 부호를 도시하지 않았으며, 점선으로 표시된 박스는, 위에서 설명된 텍스트 박스를 의미할 수 있다, 그리고, 실선으로 표시된 박스에 포함된 텍스트는, 인식된 텍스트에 대한 인식 결과를 의미할 수 있다.As shown in FIG. 13 , reference numerals are not shown for all recognized texts and text boxes corresponding thereto, and a box indicated by a dotted line may mean the text box described above, and a box indicated by a solid line. The text included in the box may mean a recognition result of the recognized text.
이와 같이, OCR부(2130)는 이미지(21000)에 포함된 텍스트를 기 설정된 구분 기준에 근거하여 각각 인식하고, 인식된 텍스트에 대하여 텍스트 박스를 설정할 수 있다.As such, the OCR unit 2130 may recognize each text included in the image 21000 based on a preset classification criterion, and set a text box for the recognized text.
나아가, OCR부(2130)는 인식된 텍스트 각각의 위치 정보를 추출할 수 있다. 여기에서, 텍스트의 위치 정보는, 테이블(21100) 또는 이미지(21000)를 기준으로 하는 위치 정보일 수 있다. Furthermore, the OCR unit 2130 may extract location information of each recognized text. Here, the location information of the text may be location information based on the table 21100 or the image 21000 .
한편, 텍스트 박스는, 각각 서로 다른 식별 정보(또는 일련 번호)를 가질 수 있다. 이러한 텍스트 박스의 식별 정보는, 텍스트 박스들을 서로 구분하는 정보로서, 이미지(21000) 상에서 서로 다른 위치에 배치된 텍스트는 모두 서로 다른 텍스트 박스에 각각 포함되며, 이러한 텍스트 박스는 서로 다른 식별 정보를 갖도록 이루어질 수 있다.Meanwhile, each text box may have different identification information (or serial number). The identification information of the text box is information for distinguishing the text boxes from each other, and all texts arranged at different positions on the image 21000 are included in different text boxes, and these text boxes have different identification information. can be done
한편, 텍스트 박스 마다, 텍스트 박스의 식별 정보, 텍스트 박스에 포함된 텍스트(또는 이에 대한 정보), 텍스트의 위치 정보 중 적어도 일부가 서로 매칭된 매칭 정보가 존재할 수 있다.Meanwhile, for each text box, matching information in which at least some of identification information of the text box, text (or information about it) included in the text box, and location information of the text are matched with each other may exist.
이러한, 매칭 정보는, 저장부(2120)에 저장될 수 있다. 따라서, 텍스트 박스의 식별 정보 특정되면, 매칭 정보에 근거하여, 해당 식별 정보에 대응되는 텍스트 박스에 포함된 텍스트, 텍스트의 위치가 특정될 수 있다.Such matching information may be stored in the storage unit 2120 . Accordingly, when the identification information of the text box is specified, the text and the position of the text included in the text box corresponding to the identification information may be specified based on the matching information.
나아가, 본 발명에서는, 테이블(21000)에 포함된 셀을 인식하는 과정이 진행될 수 있다(S2330).Furthermore, in the present invention, a process of recognizing a cell included in the table 21000 may be performed (S2330).
도 14에 도시된 것과 같이, 셀(cell, 2501, 2502, 2503, 2504)은 적어도 4개의 선분(line segment)에 의해 정의되며, 직사각형(rectangular)의 형상으로 이루어진다.제어부(2140)는 Cell Detector Model에 해당하는 인공지능 알고리즘(또는 딥러닝 알고리즘)에 근거하여, 테이블(21100)에 포함된 셀을 인식할 수 있다.As shown in FIG. 14 , cells 2501 , 2502 , 2503 , and 2504 are defined by at least four line segments and have a rectangular shape. The controller 2140 is a Cell Detector Cells included in the table 21100 may be recognized based on an artificial intelligence algorithm (or deep learning algorithm) corresponding to the model.
제어부(2140)는 셀의 형상 정보, 셀의 특징 정보에 근거하여, 각각의 셀을 인식할 수 있다.The controller 2140 may recognize each cell based on cell shape information and cell characteristic information.
제어부(2140)는 테이블(21100)에서 셀들이 위치한 영역을 추정하기 위한 참조 데이터에 근거하여, 상기 셀들에 대응되는 상기 셀 박스를 특정할 수 있다.The control unit 2140 may specify the cell box corresponding to the cells based on reference data for estimating an area in which the cells are located in the table 21100 .
참조 데이터는, 서로 다른 크기를 갖는 직사각 형상의 마스크(mask)들로 이루어질 수 있다. 제어부(2140)는 참조 데이터 중 인식하고자 하는 특정 셀과 크기가 동일 또는 가장 유사한 크기(또는 비율)을 갖는 마스크를 추출하는 과정을 통해, 셀 박스를 특정할 수 있다.The reference data may be formed of rectangular-shaped masks having different sizes. The control unit 2140 may specify a cell box through a process of extracting a mask having the same size or most similar size (or ratio) to a specific cell to be recognized from among the reference data.
제어부(2140)는 특정 셀을 둘러싼 선분에 의해 형성되는 직사각형과 가장 동일 또는 유사한 크기를 갖는 마스크를 특정하고, 해당 마스크에 대응되는 박스를 특정 셀에 대응되는 셀 박스로서 특정할 수 있다. The controller 2140 may specify a mask having a size most equal to or similar to a rectangle formed by a line segment surrounding a specific cell, and may specify a box corresponding to the corresponding mask as a cell box corresponding to the specific cell.
이러한 셀 박스의 특정은 곧 셀이 인식되었음을 의미할 수 있다.The specification of such a cell box may mean that a cell is recognized soon.
비록 도시되지는 않았지만, 사용자의 디스플레이부에는, 인식된 셀 및 이에 대응되는 셀 박스의 정보가 제공될 수 있다. 셀 또는 셀박스에 마스크(mask, 또는 마스크 이미지)가 오버랩(overlap)될 수 있으며, 이러한 마스크를 통해 사용자는 셀의 인식 과정 및 인식 정도를 확인할 수 있다.Although not shown, information on a recognized cell and a cell box corresponding thereto may be provided to the user's display unit. A mask (or a mask image) may overlap a cell or a cell box, and the user can check the recognition process and the recognition level of the cell through this mask.
위에서 살펴본 방법을 통해 제어부(2140)는 테이블(21100)에 포함된 모든 셀을 인식하고, 각각의 셀을 셀 박스(cell box)로서 정의할 수 있다. 즉, 인식된 셀 각각은 서로 다른 셀 박스와 일대일 대응될 수 있다. Through the method described above, the controller 2140 may recognize all cells included in the table 21100 and define each cell as a cell box. That is, each recognized cell may correspond to a different cell box one-to-one.
한편, 셀 박스는, 각각 서로 다른 식별 정보(또는 일련 번호)를 가질 수 있다. 이러한 셀 박스의 식별 정보는, 서로 다른 셀 박스들을 서로 구분하는 정보로서, 이미지(21000) 상에서 서로 다른 위치에 배치된 셀은 모두 서로 다른 셀 박스에 각각 매칭되며, 이러한 셀 박스는 서로 다른 식별 정보를 갖도록 이루어질 수 있다.Meanwhile, each cell box may have different identification information (or serial numbers). The identification information of the cell box is information for distinguishing different cell boxes from each other, and all cells arranged in different positions on the image 21000 are matched to different cell boxes, respectively, and these cell boxes are different identification information can be made to have
한편, 셀 박스 마다, 셀 박스의 식별 정보 및 셀 박스에 대응되는 셀의 위치 정보가 서로 매칭된 매칭 정보가 존재할 수 있다.Meanwhile, for each cell box, matching information in which identification information of the cell box and location information of a cell corresponding to the cell box are matched may exist.
이러한, 매칭 정보는, 저장부(2120)에 저장될 수 있다. 따라서, 셀 박스의 식별 특정되면, 매칭 정보에 근거하여, 해당 셀 박스에 대응되는 셀이 이미지 또는 테이블 내에서 어느 위치에 존재하는지가 특정될 수 있다.Such matching information may be stored in the storage unit 2120 . Accordingly, if the cell box is identified and specified, based on the matching information, it may be specified at which position a cell corresponding to the corresponding cell box exists in an image or a table.
한편, 제어부(2140)는 위에서 살펴본 방법 외에도 다양한 방식으로 셀 및 셀박스를 인식, 특정할 수 있다. 예를 들어, 제어부(2140)는 셀의 꼭지점(코너) 정보에 근거하여, 셀 및 셀 박스를 특정할 수 있다. Meanwhile, the controller 2140 may recognize and specify a cell and a cell box in various ways other than the method described above. For example, the controller 2140 may specify a cell and a cell box based on vertex (corner) information of the cell.
이와 같이, 제어부(2140)는 셀이 갖는 형상 정보에 기반하여, 다양한 방식으로 셀을 인식하고, 셀 박스를 특정할 수 있다.As such, the controller 2140 may recognize a cell in various ways and specify a cell box based on shape information of the cell.
본 발명에서는, 셀 및 셀 박스를 인식, 특정하는 방법에 대하여 한정을 두지 않기로 한다.In the present invention, the method for recognizing and specifying cells and cell boxes is not limited.
위의 S2320 및 S2330 과정에서 살펴본 것과 같이, 텍스트 박스 및 셀 박스의 특정이 진행되면, 본 발명에서는 텍스트 박스 및 셀 박스를 페어링(pairing)하는 과정이 진행될 수 있다(S2340).As described in steps S2320 and S2330 above, when the text box and the cell box are specified, a process of pairing the text box and the cell box may be performed in the present invention (S2340).
앞서 도 13 및 도 14와 함께 살펴본 것과 같이, 테이블을 구성하는 복수의 셀들 각각은, 복수의 텍스트 중 적어도 일부를 포함할 수 있다. 예를 들어, 도 14에 도시된 것과 같이, 제1 셀(2501)은 “환자등록번호”라는 텍스트를 포함하고, 제2 셀(2502)은 “환자성명”이라는 텍스트를 포함하며, 제3 셀(2503)은 “자격:국민공단”이라는 텍스트를 포함하고, 제4 셀(2504)은 “특이사항 없음”이라는 텍스트를 포함할 수 있다.13 and 14 , each of a plurality of cells constituting a table may include at least a portion of a plurality of texts. For example, as shown in FIG. 14 , the first cell 2501 contains the text “Patient Registration Number”, the second cell 2502 contains the text “Patient Name”, and the third cell 2503 may include the text “Qualification: National Corporation”, and the fourth cell 2504 may include the text “No special items”.
제어부(2140)는 각 셀에 포함된 텍스트에 근거하여, 각 셀에 대응되는 셀 박스에, 각 셀에 포함된 텍스트의 텍스트 박스를 페어링할 수 있다.The controller 2140 may pair the text box of the text included in each cell with the cell box corresponding to each cell based on the text included in each cell.
제어부(2140)는 상기 복수의 셀들(2501 내지 2504) 각각에 이미지(21000)로부터 인식된 텍스트 중 어느 텍스트 가 포함되었는지에 따라, 페어링의 대상이 되는 특정 텍스트 박스 및 특정 셀 박스를 결정할 수 있다.The controller 2140 may determine a specific text box and a specific cell box to be paired with, according to which text among the text recognized from the image 21000 is included in each of the plurality of cells 2501 to 2504 .
제어부(2140)는 이미지 내에서의 텍스트의 위치 정보에 근거하여, 텍스트가 테이블(21100)의 어느 셀에 포함되어 있는지를 특정할 수 있다.The controller 2140 may specify in which cell of the table 21100 the text is included based on location information of the text in the image.
제어부(2140)는 텍스트의 위치 정보에 근거하여, 상기 텍스트가 포함된 셀을 검출 또는 특정할 수 있다. 이러한 검출 또는 특정된 셀에 대응되는 셀 박스는, 상기 텍스트의 텍스트 박스와 페어링될 수 있다.The controller 2140 may detect or specify a cell including the text based on the location information of the text. A cell box corresponding to this detected or specified cell may be paired with a text box of the text.
한편, 페어링은, 셀 박스 및 텍스트 박스를 하나의 쌍(짝 또는 세트)로 정의한다(또는 묶는다)는 의미로 이해되어질 수 있다. 즉, 이러한 페어링은, 서로 관련된 셀 박스 및 텍스트 박스를 하나의 그룹으로서 그룹화한다고도 이해되어질 수 있다.On the other hand, pairing may be understood to mean defining (or binding) a cell box and a text box as one pair (pair or set). That is, this pairing may be understood as grouping the cell box and the text box related to each other as one group.
나아가, 이러한 페어링 과정을 통해, 특정 셀박스와 특정 텍스트 박스가 상호 페어링된 경우, 페어링 정보가 생성될 수 있다.Furthermore, through this pairing process, when a specific cell box and a specific text box are paired with each other, pairing information may be generated.
페어링 정보는, 페어링된 셀 박스(2611, 도 15 참조) 및 텍스트 박스(2601, 도 15 참조)에 대한 정보가 각각 포함될 수 있다.The pairing information may include information on the paired cell box 2611 (refer to FIG. 15) and the text box 2601 (refer to FIG. 15), respectively.
페어링 정보에는, 어느 셀 박스가 어느 텍스트 박스와 페어링되었는지에 대한 정보, 페어링된 셀 박스(2611)의 식별 정보, 페어링된 셀 박스에 대응되는 셀의 위치 정보, 페어링된 텍스트 박스(2601)의 식별 정보, 텍스트 박스에 포함된 텍스트(또는 이에 대한 정보), 텍스트 박스에 포함된 텍스트의 위치 정보 중 적어도 일부가 포함될 수 있다.The pairing information includes information on which cell box is paired with which text box, identification information of the paired cell box 2611 , location information of a cell corresponding to the paired cell box, and identification of the paired text box 2601 . At least some of information, text (or information about it) included in the text box, and location information of the text included in the text box may be included.
한편, 페어링된 셀 박스(2611) 및 텍스트 박스(2601)의 예에 대하여 도 15의 (a) 및 (b)에 도시된 것과 같이, 제1 텍스트 박스(2601)는 제1 텍스트 박스에 대응되는 텍스트(“항목”)가 위치한 곳에 위치한 제1 셀 박스(2611)과 페어링될 수 있다.On the other hand, as shown in FIGS. 15 (a) and (b) for the example of the paired cell box 2611 and the text box 2601 , the first text box 2601 corresponds to the first text box. It may be paired with the first cell box 2611 located where the text (“item”) is located.
나아가, 도 15의 (a) 및 (b)에 도시된 것과 같이, 제2 텍스트 박스(2602) 및 제3 텍스트 박스(2603)는, 제2 텍스트 박스(2602) 및 제3 텍스트 박스(2603)에 각각 대응되는 텍스트들(“자격”, “국민공단”)이 위치한 곳에 위치한 제2 셀 박스(2612)와 페어링될 수 있다.Furthermore, as shown in FIGS. 15A and 15B , the second text box 2602 and the third text box 2603 are the second text box 2602 and the third text box 2603 . It may be paired with the second cell box 2612 located where texts (“qualification”, “national corporation”) corresponding to , respectively, are located.
이와 같이, 각각의 셀 박스는, 적어도 하나의 텍스트를 포함하며, 이를 포함한 텍스트 박스와 페어링될 수 있다.As such, each cell box includes at least one text and may be paired with a text box including the text box.
한편, 셀 박스와 텍스트 박스가 상호 페어링되는 경우, 셀 박스의 특정 만으로도, 해당 셀 박스에 대응되는 셀에 포함된 텍스트(정보)의 추출이 가능하므로, 인식된 테이블의 데이터 처리 속도 및 활용도를 높일 수 있다.On the other hand, when a cell box and a text box are mutually paired, text (information) contained in a cell corresponding to the corresponding cell box can be extracted only by specifying the cell box, so that the data processing speed and utilization of the recognized table can be increased. can
위에서 살펴본 것과 같이, 텍스트 박스 및 셀 박스 간의 페어링이 수행되면, 서로 관련있는 복수의 셀들 간의 관계성을 특정하는 과정이 진행될 수 있다(S2350).As described above, when pairing between the text box and the cell box is performed, a process of specifying a relationship between a plurality of cells related to each other may proceed ( S2350 ).
제어부(2140)는, Connector Model에 해당하는 인공지능 알고리즘(또는 딥러닝 알고리즘)에 근거하여, 복수의 셀들 간의 관계성을 특정할 수 있다.The controller 2140 may specify a relationship between a plurality of cells based on an artificial intelligence algorithm (or deep learning algorithm) corresponding to the connector model.
제어부(2140)는 셀 박스와 페어링 된 텍스트 박스에 포함된 텍스트 및 테이블에서의 복수의 셀들의 배치 위치 중 적어도 하나에 근거하여, 복수의 셀들 간의 관계성을 특정할 수 있다.The controller 2140 may specify a relationship between the plurality of cells based on at least one of text included in the text box paired with the cell box and an arrangement position of the plurality of cells in the table.
셀들 간의 관계성을 특정한다는 것은, i) 서로 관련된 셀들을 그룹화하고, ii) 그룹화된 셀 그룹 내에서 범주 셀 및 데이터 셀을 특정하는 것을 포함할 수 있다.Specifying the relationship between cells may include i) grouping cells that are related to each other, and ii) specifying category cells and data cells within the grouped cell group.
보다 구체적으로, 제어부(2140)는, 서로 관련성 있는 텍스트(내용)을 포함하면서, 서로 관련있는 위치(예를 들어, 동일(또는 인접) 행 또는 동일(또는 인접) 열에 배치된 셀들을 서로 관련 있는 셀들로서 특정할 수 있다.More specifically, the control unit 2140 controls cells arranged in a position (eg, the same (or adjacent) row or the same (or adjacent) column) to be related to each other while including text (contents) that are related to each other. It can be specified as cells.
도 16a에 도시된 것과 같이, 복수의 셀들(2701, 2702, 2711, 2712, 2721, 2722)은 열 방향(또는 수직 방향)으로 배치될 수 있다.As illustrated in FIG. 16A , the plurality of cells 2701 , 2702 , 2711 , 2712 , 2721 , and 2722 may be arranged in a column direction (or a vertical direction).
나아가, 도 16b에 도시된 것과 같이, 복수의 셀들(2741, 2742)은 행 방향(또는 수평 방향)으로 배치될 수 있다.Furthermore, as shown in FIG. 16B , the plurality of cells 2741 and 2742 may be arranged in a row direction (or a horizontal direction).
제어부(2140)는 열 방향으로 배치된 셀들 중 서로 관련성 있는 텍스트를 포함한 셀들을 서로 관련있는(또는 관계성 있는) 셀들로서 특정할 수 있다. The controller 2140 may specify cells including texts that are related to each other among cells arranged in the column direction as related (or related) cells.
예를 들어, 제어부(2140)는 도 16a에 도시된 것과 같이, 서로 동일한 열에 포함되면서, 서로 관련있는 텍스트들(“환자등록번호”, “1234678””)을 포함한 두개의 셀들(2701, 2702)를 서로 관계성 있는 셀들로서 특정할 수 있다. 여기에서, “12345678”에 해당하는 텍스트는, “환자등록번호”에 해당하는 텍스트일 수 있다.For example, as shown in FIG. 16A , the controller 2140 includes two cells 2701 and 2702 including texts (“patient registration number” and “1234678”) that are related to each other while being included in the same column. can be specified as cells that are related to each other. Here, the text corresponding to “12345678” may be text corresponding to “patient registration number”.
또 다른 예를 들어, 제어부(2140)는 도 16a에 도시된 것과 같이, 서로 동일 또는 인접한 열에 포함되면서, 서로 관련있는 텍스트들(“급여”, “본인부담”, “공단부담”, “1,496”, “2,244” 등)을 포함한 복수개의 셀들(2721, 2722, 2723, 2724, 2725 등)을 서로 관계성 있는 셀들로서 특정할 수 있다. 도시와 같이, 복수개의 셀들(2721, 2722, 2723, 2724, 2725 등)은 서로 동일 또는 인접한 열에 포함되면서, 서로 관련 있는 내용을 포함한 셀들일 수 있다.As another example, as shown in FIG. 16A , the control unit 2140 may include texts (“salary”, “own expense”, “compensation fee”, “1,496”) that are related to each other while being included in the same or adjacent columns. , “2,244”, etc.) may be specified as cells that are related to each other. As illustrated, the plurality of cells 2721 , 2722 , 2723 , 2724 , 2725 , etc. may be cells including contents related to each other while being included in the same or adjacent columns.
제어부(2140)는 위치적으로 서로 동일 또는 인접한 위치에 배치된 셀들에 포함된 텍스트의 의미를 분석하여, 서로 동일 또는 유사한 의미의 텍스트를 포함한 셀들을 서로 관계성 있는 셀들로서 특정할 수 있다.The controller 2140 may analyze the meaning of texts included in cells disposed at the same or adjacent positions to each other, and may specify cells including texts having the same or similar meaning as mutually related cells.
예를 들어, 동일한 열에 포함된 “환자등록번호” 및 ”12345678”의 텍스트를 포함한 셀들(2701, 2702)은 서로 관계성을 가지지만, “진료과목” 및 “정형외과”의 텍스트를 포함한 셀들(2711, 2712)은, “환자등록번호” 및 ”12345678”의 텍스트와는 서로 관련된 내용이 아닐 수 있다. 따라서, 제어부(2140)는 동일 또는 인접한 행(또는 열)에 배치된 셀들이라도, 각각의 셀들에 포함된 텍스트의 의미를 분석하고, 분석 결과에 기반하여, 셀들 간의 관계성을 파악할 수 있다.For example, cells 2701 and 2702 containing the texts of “Patient Registration Number” and “12345678” included in the same column are related to each other, but cells containing the texts of “Department” and “Orthopedic Surgery” ( 2711, 2712) may not be related to the texts of “Patient Registration Number” and “12345678”. Accordingly, even in cells arranged in the same or adjacent rows (or columns), the controller 2140 may analyze the meaning of the text included in each cell and determine the relationship between the cells based on the analysis result.
마찬가지로, 제어부(2140)는 행 방향으로 배치된 셀들 중 서로 관련성 있는 텍스트를 포함한 셀들을 서로 관련 있는(또는 관계성 있는) 셀들로서 특정할 수 있다.Similarly, the controller 2140 may specify cells including texts that are related to each other among cells arranged in the row direction as related (or related) cells.
그 결과, 도 16b에 도시된 것과 같이, “기관종류” 및 “요양병원”의 텍스트를 포함한 셀들(2741, 2742)는 서로 관계성 있는 셀들로서 특정될 수 있다.As a result, as shown in FIG. 16B , cells 2741 and 2742 including texts of “institutional type” and “nursing home” can be specified as cells that are related to each other.
이러한 관계성을 특정하는 과정을 통하여, 서로 관련있는 셀들로 특정된 복수의 셀들은 하나의 셀 그룹을 형성할 수 있다. 이러한 셀 그룹은 서로 관련있는 텍스트(내용)를 포함한 셀들로서 이루어질 수 있다.Through the process of specifying the relationship, a plurality of cells specified as cells related to each other may form one cell group. Such a cell group may consist of cells containing text (content) related to each other.
제어부(2140)는, 서로 관련된 행 또는 열에 배치된 셀들 및 이들에 포함된 텍스트의 의미(내용)을 근거로, 복수의 셀들 중 적어도 일부를 포함하는 적어도 하나의 셀 그룹을 특정할 수 있다.The controller 2140 may specify at least one cell group including at least some of the plurality of cells based on the meaning (contents) of the cells arranged in rows or columns related to each other and texts included therein.
적어도 하나의 셀 그룹 중 특정 셀 그룹에 포함된 셀들은, 위에서 살펴본 과 같이, 서로 동일 행 또는 열에 배치되거나, 서로 인접한 행 또는 열에 배치된 셀들일 수 있다.As described above, cells included in a specific cell group among at least one cell group may be cells disposed in the same row or column or may be disposed in adjacent rows or columns.
이와 같이, 특정 셀 그룹에 포함된 셀들은, 서로 동일 행 또는 열에 배치되거나, 서로 인접한 행 또는 열에 배치된 셀들 중, 각각의 셀들에 페어링된 텍스트 박스의 텍스트가 서로 관련성 있는 내용(또는 정보)를 포함한 셀들로 이루어질 수 있다.In this way, among the cells included in a specific cell group, among cells arranged in the same row or column or adjacent to each other, the text of the text box paired to each cell is related to each other (or information). It may be composed of cells including
이러한 관계성을 특정하는 과정을 통하여, 서로 관련있는 셀들로 특정된 복수의 셀들은 하나의 셀 그룹을 형성할 수 있다. Through the process of specifying the relationship, a plurality of cells specified as cells related to each other may form one cell group.
이와 같이, 제어부(2140)는 특정된 복수의 셀들 간의 관계성(또는 관련성)에 근거하여, 테이블(21100)의 구조를 특정할 수 있다.In this way, the controller 2140 may specify the structure of the table 21100 based on the specified relationship (or relationship) between the plurality of cells.
나아가, 제어부(2140)는 각각의 셀 그룹에 포함된 셀들 중 의미적으로 상위개념의 텍스트와 하위개념의 텍스트를 구분하여 셀들을 범주 셀(또는 키셀(key cell))과 데이터 셀(data cell, 또는 밸류 셀(value cell))로 특정할 수 있다.Furthermore, the controller 2140 semantically classifies the text of the upper concept and the text of the lower concept among the cells included in each cell group, and divides the cells into a category cell (or a key cell) and a data cell; Alternatively, it may be specified as a value cell).
제어부(2140)는 상기 셀들 간의 관계를 특정하는 것은 해당하는 텍스트가 상위개념과 하위개념 중 어디에 속하는지 지정하고, 상위개념으로 지정된 텍스트를 포함하는 셀을 범주 셀로, 관련된 하위개념의 텍스트들을 포함하는 셀을 데이터 셀로 특정할 수 있다.The control unit 2140 specifies whether the corresponding text belongs to an upper concept or a lower concept to specify the relationship between the cells, the cell containing the text designated as the upper concept as a category cell, and texts of the related lower concept A cell can be specified as a data cell.
보다 구체적으로, 상위 개념의 텍스트가 배치되는 셀은 범주 셀이고, 상기 하위개념의 텍스트가 배치되는 셀은 상기 범주에 속하는 데이터 셀이 될 수 있다. 범주는 동일하거나 유사한 성질 또는 의미를 기준으로 구분되는 것으로서, 카테고리(category)라고도 명명될 수 있다. 동일한 범주에 속한 데이터는, 서로 동일한 의미, 서로 동일한 종류, 또는 서로 동일한 소속에 해당하는 데이터일 수 있다. More specifically, the cell in which the text of the upper concept is disposed may be a category cell, and the cell in which the text of the lower concept is disposed may be a data cell belonging to the category. A category is classified based on the same or similar properties or meaning, and may also be called a category. Data belonging to the same category may be data corresponding to the same meaning, the same type, or the same affiliation.
범주 셀에는, 범주의 이름 또는 범주의 이름과 관련된 데이터가 포함되며, 데이터 셀은 범주 셀에 포함된 범주의 이름에 속한 데이터가 포함될 수 있다. 여기에서 범주의 이름은 카테고리 명으로도 이해되어질 수 있다.The category cell may contain the name of a category or data related to the name of the category, and the data cell may include data belonging to the name of the category included in the category cell. Here, the category name may also be understood as a category name.
예를 들어, 도 17a에 도시된 것과 같이, 특정 셀 그룹(21110)에 포함된 셀들(21001, 21002, 21003, 21004, 21005) 중 “급여”, “본인 부담”, “공단 부담”의 텍스트를 포함한 셀들(21001, 21002, 21003)은 범주 셀에 해당할 수 있다. 그리고, 다른 셀들(21004, 21005)는 범주 셀과 관련된 내용(급여, 본인부담, 공단부담에 해당하는 금액의 데이터)을 포함한 데이터 셀일 수 있다.For example, as shown in FIG. 17A , texts of “salary”, “own expense”, and “burden by the corporation” among the cells 21001, 21002, 21003, 21004, and 21005 included in a specific cell group 21110 are The included cells 21001, 21002, and 21003 may correspond to category cells. In addition, the other cells 21004 and 21005 may be data cells including content related to category cells (data of amounts corresponding to salary, self-pay, and public service burden).
이와 같이, 셀 그룹에는, 적어도 하나의 범주 셀(21001, 21002, 21003)이 포함될 수 있으며, 범주 셀 간에도, 상위 개념과 하위 개념의 범주 셀이 존재할 수 있다. 즉, 특정 범주 셀은, 다른 범주 셀들을 포함하는 개념일 수 있다. 예를 들어, “급여”의 텍스트를 포함한 범주 셀(21001)은, “본인부담” 및 “공단부담”에 각각 대응되는 범주 셀들(21002, 21003)의 상위 개념에 해당할 수 있다. As such, at least one category cell 21001 , 21002 , and 21003 may be included in the cell group, and category cells of a higher concept and a lower concept may exist between category cells. That is, a specific category cell may be a concept including other category cells. For example, the category cell 21001 including the text of “salary” may correspond to a higher concept of the category cells 21002 and 21003 respectively corresponding to “own expense” and “insurance expense”.
이와 같이, 범주 셀의 상위 개념에 해당하는 범주 셀은, “상위 범주 셀(또는 페어런트 키 셀(parent key cell)”이라고 명명될 수 있다. 나아가, 상위 범주 셀에 소속되는 범주 셀은, “하위 범주 셀(또는 리프 키 셀(leaf key cell)”으로 명명될 수 있다.As such, the category cell corresponding to the upper concept of the category cell may be referred to as a “parent category cell (or parent key cell).” Further, the category cell belonging to the upper category cell is “subordinate category cell”. A category cell (or leaf key cell)” may be named.
제어부(2140)는 이와 같이, 셀 그룹 내에서, 적어도 하나의 범주 셀 및 데이터 셀을 특정할 수 있다. 나아가, 범주 셀들이, 상위 개념 및 하위 개념으로 구분되어지는 경우, 범주 셀들 간에 상위 범주 셀 및 하위 범주 셀을 특정할 수 있다.As described above, the controller 2140 may specify at least one category cell and a data cell within the cell group. Furthermore, when category cells are divided into an upper concept and a lower concept, the upper category cell and the lower category cell may be specified between the category cells.
제어부(2140)는 도 17a에 도시된 것과 같이, 특정 셀(21001)에서 일 방향(예를 들어, 열 방향)으로 파생되는 복수의 셀들(21002, 21003)이 존재하는 경우, 특정 셀과 복수의 셀들이 상위 범주 셀 및 하위 범주 셀로 구분되어야 하는지를 판단할 수 있다.As shown in FIG. 17A , the control unit 2140 is configured to include a specific cell and a plurality of cells 21002 and 21003 derived from a specific cell 21001 in one direction (eg, a column direction), as shown in FIG. 17A . It can be determined whether cells should be divided into upper category cells and lower category cells.
나아가, 제어부(2140)는 도 17a 및 도 17b에 도시된 것과 같이, 각각의 열 방향 및 행 방향으로 각각 셀 그룹을 구분하고, 구분된 셀 그룹 내에서 각각 범주 셀 및 데이터 셀을 특정할 수 있다.Furthermore, as shown in FIGS. 17A and 17B , the controller 2140 may classify a cell group in each column direction and a row direction, respectively, and specify a category cell and a data cell within the divided cell group, respectively. .
이와 같이, 제어부(2140)는 셀 그룹 마다 범주의 이름이 포함된 적어도 하나의 범주 셀을 각각 특정할 수 있다. 그리고, 제어부(2140)는 셀 그룹 마다, 범주 셀이 각각 특정되는 경우, 셀 그룹에 각각 포함된 셀들 중 상기 범주 셀로서 특정되지 않은 나머지 셀을, 데이터 셀로서 특정할 수 있다.In this way, the controller 2140 may specify at least one category cell including a category name for each cell group, respectively. In addition, when a category cell is specified for each cell group, the controller 2140 may specify, among cells included in each cell group, the remaining cells not specified as the category cell as the data cell.
한편, 범주 셀 및 데이터 셀의 구분은, 향후, 인식된 테이블의 정보를 추출하는데 유용하게 활용될 수 있다. 예를 들어, 특정 범주 셀과 관련된 정보의 추출이 요청된 경우, 제어부(2140)는 특정 범주 셀이 속한 셀 그룹에서, 데이터 셀로 특정된 셀들의 정보를 추출하여 제공할 수 있다.On the other hand, the classification of the category cell and the data cell may be usefully utilized to extract information of a recognized table in the future. For example, when extraction of information related to a specific category cell is requested, the controller 2140 may extract and provide information on cells specified as a data cell from a cell group to which the specific category cell belongs.
나아가, 저장부(2120)에는, 각각의 셀 그룹에 대한 식별 정보 및 각각의 셀 그룹에 어느 셀들이 포함되어 있는지, 각각의 셀들에 어느 텍스트가 포함되어 있는지에 대한 정보가 포함될 수 있다. 이러한, 셀 그룹에 대한 정보는, 위에서 생성된 페어링 정보를 포함할 수 있다.Furthermore, the storage unit 2120 may include identification information for each cell group, information on which cells are included in each cell group, and which text is included in each cell group. The information on the cell group may include the pairing information generated above.
한편, 테이블에 포함된 셀 그룹에는, 범주 셀 및 데이터 셀로서 특정되지 않는 그룹 또한 존재할 수 있다. On the other hand, in the cell group included in the table, groups not specified as category cells and data cells may also exist.
한편, 이와 같이, 셀들 간의 관계성이 특정된 경우, 제어부(2140)는, 인식된 텍스트에 검증 또는 표준화를 수행하는 과정을 진행할 수 있다.Meanwhile, when the relationship between cells is specified as described above, the controller 2140 may perform a process of verifying or standardizing the recognized text.
제어부(2140)는, Grounder API에 해당하는 인공지능 알고리즘(또는 딥러닝 알고리즘)에 근거하여, 텍스트에 대한 보정을 수행할 수 있다.The controller 2140 may perform correction on the text based on an artificial intelligence algorithm (or deep learning algorithm) corresponding to the Grounder API.
테이블에는, 도 18에 도시된 것과 같이, “급여”의 텍스트를 “굽여”와 같이 오인식된 텍스트가 포함될 수 있다. 이 경우, 제어부(2140)는 오인식된 텍스트를 올바른 텍스트로 정정(보정)할 수 있다. 이 경우, 제어부는, 기 설정된 DB(예를 들어, 단어 사전 등)에 근거하여, 보정 텍스트(예를 들어, “급여”)를 추출하는 것이 가능하다. 나아가, 제어부(2140)는 다른 셀에 포함된 텍스트를 참고하여, 오인식된 텍스트를 보정하는 것 또한 가능하다. In the table, as shown in FIG. 18 , misrecognized text such as “bending” the text of “salary” may be included. In this case, the controller 2140 may correct (correct) the misrecognized text into the correct text. In this case, the controller may extract the correction text (eg, “salary”) based on a preset DB (eg, a word dictionary, etc.). Furthermore, it is also possible for the controller 2140 to correct the misrecognized text by referring to the text included in another cell.
나아가, 테이블에는, 도 18에 도시된 것과 같이, “급여”의 텍스트와 서로 동일 또는 유사한 의미인 텍스트 “지불”이 더 포함될 수 있다. 이 경우, 제어부(2140)는 테이블에 포함된 텍스트를 표준화하거나, 정제하기 위하여, 텍스트들을 검사하고, 필요에 따라 적어도 일부에 대한 보정을 수행할 수 있다. Furthermore, as shown in FIG. 18 , the table may further include the text “payment” having the same or similar meaning to the text of “salary”. In this case, in order to standardize or refine the text included in the table, the controller 2140 may examine the text and, if necessary, perform correction on at least a portion.
이때, 제어부(2140)는 셀들 간의 관계성에 기초하여, 보정의 대상이 되는 텍스트를 결정할 수 있다.In this case, the controller 2140 may determine the text to be corrected based on the relationship between the cells.
보다 구체적으로, 제어부(2140)는 범주 셀 및 데이터 셀에 각각 대응되는 텍스트 박스에 포함된 텍스트 중 적어도 일부에 대한 보정을 수행할 수 있다. More specifically, the controller 2140 may correct at least a portion of text included in a text box corresponding to a category cell and a data cell, respectively.
이를 위하여, 제어부(2140)는 특정 셀 그룹에 포함된 범주 셀 및 데이터 셀에 각각 대응되는 텍스트 박스에 포함된 텍스트들의 의미 분석을 수행할 수 있다. 그리고, 의미 분석 결과에 기반하여, 특정 셀 그룹에 포함된 범주 셀 및 데이터 셀에 각각 대응되는 텍스트 박스에 포함된 텍스트들의 적어도 일부를 보정할 수 있다. 즉, 제어부(2140)는 셀 그룹 단위로, 보정 대상 텍스트가 존재하는지 판단할 수 있다. 이는, 동일한 셀 그룹에 포함된 셀들은 서로 관련 있는 내용을 포함하고 있으므로, 이러한 관련된 내용들 중 상이한 의미, 또는 오인식된 텍스트가 포함되어 있는지 판단하기 용이하기 때문이다. To this end, the controller 2140 may perform semantic analysis of texts included in text boxes respectively corresponding to category cells and data cells included in a specific cell group. In addition, based on the semantic analysis result, at least some of the texts included in the text box respectively corresponding to the category cell and the data cell included in the specific cell group may be corrected. That is, the controller 2140 may determine whether the text to be corrected exists in units of cell groups. This is because, since cells included in the same cell group include content related to each other, it is easy to determine whether a different meaning or misrecognized text is included among the related content.
한편, 제어부(2140)는 셀 그룹 단위에 구속됨 없이, 보정의 대상이 되는 텍스트를 추출할 수 있음은 물론이다.Meanwhile, it goes without saying that the controller 2140 may extract the text to be corrected without being constrained by the cell group unit.
한편, 보정의 대상이 된 텍스트는, 테이블로부터 인식된 텍스트 중 적어도 일부에 근거하여 보정될 수 있다. 제어부(2140)는 특정 셀의 텍스트를 다른 셀의 텍스트를 참고하여 보정할 수 있다. 이때, 제어부(2140)는 다른 셀에 포함된 텍스트로, 특정 셀의 텍스트를 보정할 수 있다.Meanwhile, the text to be corrected may be corrected based on at least a part of the text recognized from the table. The controller 2140 may correct the text of a specific cell with reference to the text of another cell. In this case, the controller 2140 may correct the text of a specific cell with text included in another cell.
일 예로서, 제어부(2140)는, 테이블에 포함된 텍스트 중 서로 동일 또는 유사한 의미를 갖는 텍스트들을 추출할 수 있다. 그리고, 추출된 텍스트들을 공통된 어느 하나의 텍스트로 통일되도록 추출된 텍스트들의 적어도 일부에 대한 보정을 수행할 수 있다. 예를 들어, 앞서 살펴본 것과 같이, “급여”의 의미를 갖는 서로 다른 텍스트가 복수개 존재하는 경우, 복수개의 텍스트를 동일한 텍스트로서 보정할 수 있다. 이러한 과정은 “표준화” 또는 “대표화” 과정으로 이해되어질 수 있다.As an example, the controller 2140 may extract texts having the same or similar meaning from among texts included in the table. In addition, correction may be performed on at least a portion of the extracted texts so that the extracted texts are unified into one common text. For example, as described above, when there are a plurality of different texts having the meaning of “salary”, the plurality of texts may be corrected as the same text. This process can be understood as “standardization” or “representation” process.
이와 같이, 제어부(2140)는, 범주 셀 및 데이터 셀에 각각 대응되는 텍스트 박스에 포함된 텍스트 중 서로 대응되는 의미를 갖는 텍스트들을 추출하고, 추출된 텍스트들 중 어느 하나에 기반하여 나머지 텍스트를 보정할 수 있다.As such, the controller 2140 extracts texts having corresponding meanings from among texts included in text boxes corresponding to category cells and data cells, respectively, and corrects the remaining texts based on any one of the extracted texts. can do.
제어부(2140)는, 가장 많이 사용된 텍스트, 표준어, 사용자에 의해 선택된 텍스트, 사용자로부터 입력받은 텍스트 등에 근거하여, 텍스트를 보정할 수 있다.The controller 2140 may correct the text based on the most used text, a standard word, a text selected by the user, a text inputted by the user, and the like.
일 에로서, 제어부(2140), 동일 또는 유사한 의미를 갖는 텍스트들 중, 테이블에서 가장 많이 사용된 텍스트(또는 가장 많이 배치된 텍스트)로, 다른 텍스트를 보정할 수 있다. 예를 들어, 테이블에서 “급여”의 텍스트가 3회 사용되고, “지불”의 텍스트가 1회 사용된 경우, 제어부(2140)는 “지불”의 텍스트를 “급여”로 변경할 수 있다. As an example, the controller 2140 may correct other texts with the most used text (or the most disposed text) in the table among texts having the same or similar meaning. For example, when the text of “salary” is used three times in the table and the text of “payment” is used once in the table, the controller 2140 may change the text of “payment” to “salary”.
한편, 제어부(2140)는 셀들 간의 관계성 특정이 정확하게 되었는지 및 텍스트의 인식이 정확하게 되었는지에 대한 검증을 수행할 수 있다. 제어부(2140)는 테이블에 포함된 숫자, 텍스트의 의미 및 수학 연산자 중 적어도 하나에 근거하여, 테이블에 포함된 텍스트의 인식 및 관계성 특정의 정확도를 검증할 수 있다. 이러한 검증은, 예를들어 checksum 과정을 통해 이루어질 수 있다. Meanwhile, the controller 2140 may verify whether the relationship between the cells is correctly specified and whether the text is correctly recognized. The controller 2140 may verify the accuracy of recognizing text included in the table and specifying a relationship based on at least one of numbers, text meanings, and mathematical operators included in the table. Such verification may be performed, for example, through a checksum process.
예를 들어, 제어부(2140)는 도 19의 (a) 및 (b)에 도시된 것과 같이, 합계에 해당하는 결과를 포함한 데이터 셀(21211)에 포함된 텍스트가, 합계의 대상이 된 데이터 셀(21210)에 포함된 텍스트의 합에 해당하는 텍스트인지를 검증할 수 있다.For example, as shown in (a) and (b) of FIGS. 19A and 19B , the controller 2140 may control the text included in the data cell 21211 including the result corresponding to the sum of the data cells to be summed. It may be verified whether the text corresponds to the sum of the texts included in 21210 .
보다 구체적으로, 제어부(2140)는 데이터 셀(21210)에 포함된 텍스트들에 대한 연산을 수행할 수 있다. 그리고, 제어부(2140)는 연산의 결과를, 상기 데이터 셀의 연산 결과를 포함하고 있는 다른 데이터 셀(21211)에 포함된 텍스트와 비교할 수 있다.More specifically, the controller 2140 may perform an operation on texts included in the data cell 21210 . In addition, the controller 2140 may compare the operation result with text included in another data cell 21211 including the operation result of the data cell.
이때, 연산의 종류는, 다른 데이터 셀(21211)이 속한 셀 그룹의 특정 범주 셀(21202)에 포함된 텍스트의 내용에 따라 달라질 수 있다. 예를 들어, 특정 범주 셀(21202)에 “합계”의 단어가 포함된 경우, 제어부(2140)는 데이터 셀(21210)에 포함된 텍스트에 해당하는 숫자들에 대한 합 연산을 수행할 수 있다. 그리고, 합 연산의 결과를, 다른 데이터 셀(21211)에 포함된 텍스트에 해당하는 숫자와 비교할 수 있다. 비교 결과, 연산의 결과 및 다른 데이터 셀(21211)에 포함된 숫자가 서로 동일한 경우, 제어부(2140)는 테이블에 대한 텍스트 인식이 정확하게 되었다고 판단할 수 있다. 그리고, 제어부(2140)는 비교 결과, 연산의 결과 및 다른 데이터 셀(21211)에 포함된 숫자가 서로 동일하지 않은 경우, 테이블에 대한 텍스트 인식이 정확하지 않다고 판단하고, 이에 대한 정보를 출력할 수 있다.In this case, the type of operation may vary depending on the content of text included in the specific category cell 21202 of the cell group to which the other data cell 21211 belongs. For example, when the word “sum” is included in the specific category cell 21202 , the controller 2140 may perform a sum operation on numbers corresponding to text included in the data cell 21210 . In addition, the result of the sum operation may be compared with a number corresponding to text included in another data cell 21211 . As a result of the comparison, when the result of the operation and the number included in the other data cells 21211 are the same, the controller 2140 may determine that text recognition for the table is correct. In addition, when the comparison result, the result of the operation, and the number included in the other data cells 21211 are not the same, the controller 2140 may determine that text recognition for the table is not accurate, and may output information therefor. have.
한편, 도 19의 (b)에 도시된 것과 같이, 사용자 입력 화면(21230)을 통해, 사용자는 테이블에 포함된 숫자들 중 검증을 수행하고자 하는 데이터 셀을 지정할 수 있다. Meanwhile, as shown in (b) of FIG. 19 , through the user input screen 21230, the user may designate a data cell to be verified among numbers included in the table.
예를 들어, 제어부(2140)는 사용자로부터, 검증을 수행할 데이터 셀(21210)이 포함된 셀 그룹의 범주 셀(21201, 예를 들어, 본인부담)을 특정 받을 수 있다.For example, the controller 2140 may receive, from the user, a category cell 21201 (eg, self-pay) of a cell group including a data cell 21210 to be verified.
검증 대상의 데이터 셀의 특정은, 도 19의 (b)에 도시된 것과 같이, 데이터 셀과 동일 그룹에 포함된 범주 셀의 텍스트(“본인 부담”)를 입력받는 것을 통해 이루어질 수 있다. 제어부(2140)는 범주 셀에 해당하는 텍스트(“본인부담”)가 입력되면, 도시와 같이, 유사어를 확장하여 추가적으로 입력할 수 있다(예를 들어, “본인부담금”, “본인부담액”, 도면부호 21232 참조). The specification of the data cell to be verified can be made by receiving the text (“own expense”) of the category cell included in the same group as the data cell, as shown in FIG. 19B . When the text corresponding to the category cell (“self-pay”) is input, the controller 2140 may expand and additionally input similar words as shown in the figure (eg, “co-pay”, “co-pay”, drawing See code 21232).
범주 셀에 해당하는 텍스트는 사용자로부터 입력될 수 있는 것이므로, 사용자는, 테이블에 포함된 텍스트를 정확하게 입력하지 않고, 유사한 의미의 텍스트를 입력할 수 있기 때문이다. 이에, 제어부(2140)는 사용자로부터 입력된 텍스트와 유사한 의미를 갖는 텍스트를 추가적으로 입력할 수 있다.This is because the text corresponding to the category cell may be input by the user, and thus the user may input text having a similar meaning without accurately inputting the text included in the table. Accordingly, the controller 2140 may additionally input text having a meaning similar to the text input by the user.
나아가, 제어부(2140)는 사용자로부터 복수의 텍스트를 입력받는 것 또한 가능하다.Furthermore, the controller 2140 may also receive a plurality of texts from the user.
이와 같이, 범주 셀(21201)이 특정되면, 제어부(2140)는 특정된 범주 셀(21201)과 동일한 셀 그룹에 속한 데이터 셀(21210)을 특정할 수 있다.As such, when the category cell 21201 is specified, the controller 2140 may specify the data cell 21210 belonging to the same cell group as the specified category cell 21201 .
도시와 같이, 제어부(2140)는 본인부담 합계(21231)라는 주제에 대한 검증을 수행하기 위하여, 관련된 데이터 셀(21210)이 포함된 셀 그룹의 범주 셀(21201)을 “value key” 입력 영역(21232)을 통해 특정받을 수 있다. 그리고, 위에서 살펴본 것과 같이, “value key” 입력 영역에는, 범주 셀(21201)에 포함된 텍스트 “본인부담” 뿐만 아니라, 유사어 “본인부담금”, “본인부담액”이 더 포함될 수 있다.As shown, the controller 2140 selects the category cell 21201 of the cell group including the related data cell 21210 in the “value key” input area ( 21232) can be specified. And, as described above, in the “value key” input area, not only the text “self-pay” included in the category cell 21201, but also similar words “co-pay” and “co-pay” may be further included.
그리고, 제어부(2140)는 검증의 대상이된 데이터 셀의 결과 값을 포함한 다른 데이터 셀(21211)이 속한 셀 그룹의 범주 셀(21202)를, “total key” 입력 영역(21233)을 통해 특정받을 수 있다.Then, the controller 2140 receives the category cell 21202 of the cell group to which the other data cell 21211 including the result value of the data cell subject to verification belongs, specified through the “total key” input area 21233. can
한편, 검증을 수행한 데이터 셀들의 주제의 특정은 도 19의 (b)에 도시된 것과 같이 복수개(21231, 21241)가 함께 이루어질 수 있으며, 검증의 결과 또한 복수개가 함께 제공될 수 있다.Meanwhile, a plurality of 21231 and 21241 may be specified together as shown in FIG. 19(b), and a plurality of verification results may also be provided.
나아가, 위에서 살펴본 것과 같이, 테이블에 대한 그룹화 및 검증이 완료되면, 테이블에 포함된 데이터에 대한 구조화 및 데이터화가 완료될 수 있다. 즉, 제어부(2140)는 구조화 및 데이터화된 데이터를 기반으로, 사용자로부터 요청된 정보를 추출하고, 제공할 수 있다.Furthermore, as described above, when the grouping and verification of the table is completed, the structuring and dataization of the data included in the table may be completed. That is, the controller 2140 may extract information requested from the user and provide the information based on the structured and data-formatted data.
이러한 정보의 추출은, Information Extractor 또는 제어부(2140)에 의해 수행될 수 있다.The extraction of such information may be performed by the information extractor or the controller 2140 .
제어부(2140, 또는 Information Extractor)는, 테이블로부터, Query Information에 해당하는 정보를 추출하여, 사용자에게 제공할 수 있다.The controller 2140 or the information extractor may extract information corresponding to Query Information from the table and provide it to the user.
도 20에 도시된 것과 같이, 제어부(2140)는, 사용자로부터 데이터를 추출할 주제어(21111, 21113)를 입력받는 경우, 저장부(2120)로부터 입력받는 주제어에 해당하는 범주 셀을 특정하기 위한 텍스트(21112, 21114)를 추출할 수 있다. 나아가, 이러한 텍스트(21112, 21114)는 사용자로부터 입력받을 수 있다.As shown in FIG. 20 , when the control unit 2140 receives main words 21111 and 21113 from which data is to be extracted from the user, text for specifying a category cell corresponding to the key word received from the storage 2120 (21112, 21114) can be extracted. Furthermore, these texts 21112 and 21114 may be input by the user.
이때, Query Information은, 위에서 살펴본 주제어(21111, 21113) 및 범주 셀을 특정하기 위한 텍스트(21112, 21114) 중 적어도 하나로 이루어질 수 있다.In this case, the Query Information may be composed of at least one of the main words 21111 and 21113 described above and the texts 21112 and 21114 for specifying a category cell.
한편, 제어부(2140)는 입력받은 주제어(예를 들어, “환자등록번호”)와 동일 의미를 갖는 텍스트(예를 들어, “등록번호”)를 추가적으로 선택할 수 있다.Meanwhile, the controller 2140 may additionally select a text (eg, “registration number”) having the same meaning as the input keyword (eg, “patient registration number”).
이는, 사용자로부터 입력받는 주제어는, 테이블에 포함된 범주 셀의 텍스트와 정확하게 일치하지 않을 수 있기 때문에, 제어부(2140)는 테이블에 포함된 텍스트(또는 포함되었을 거라고 예상되는 텍스트)를 추가적으로 입력할 수 있다.This is because the keyword input from the user may not exactly match the text of the category cell included in the table, so the controller 2140 may additionally input the text included in the table (or text expected to be included). have.
그리고, 제어부(2140)는 범주 셀을 특정하기 위한 텍스트(21112, 21114)에 기반하여, 테이블로부터 범주 셀을 검색하고, 검색된 범주 셀이 속한 셀 그룹에 포함된 데이터 셀의 텍스트를, 검색 결과로서, 추출할 수 있다. 이러한 추출된 정보는, 사용자에게 검색 결과로서 제공될 수 있다.Then, the controller 2140 searches for a category cell from the table based on the texts 21112 and 21114 for specifying the category cell, and uses the text of the data cell included in the cell group to which the searched category cell belongs as the search result. , can be extracted. The extracted information may be provided to the user as a search result.
이와 같이, 제어부(2140)는 정보의 요청이 이루어진 특정 범주 셀이 속한 셀 그룹에서, 데이터 셀로 특정된 셀들의 정보를 추출하여 제공할 수 있다.In this way, the controller 2140 may extract and provide information on cells specified as data cells from a cell group to which a specific category cell for which information is requested belongs.
위에서 살펴본 것과 같이, 본 발명에 따른 테이블 인식 방법 및 시스템은, 테이블을 구성하는 셀들 간의 관계를 고려하여, 테이블에 포함된 텍스트 데이터를 분석함으로써, 테이블에 포함된 텍스트 데이터 간의 유기적인 연관성을 파악할 수 있다. 이를 통하여, 인식된 테이블로부터 보다 유의미한 데이터의 추출 및 확보가 가능하다. As described above, the table recognition method and system according to the present invention analyze the text data included in the table in consideration of the relationship between the cells constituting the table, thereby determining the organic correlation between the text data included in the table. have. Through this, it is possible to extract and secure more meaningful data from the recognized table.
나아가, 본 발명에 따른 테이블 인식 방법 및 시스템은, 테이블에 포함된 텍스트와 셀들 간의 페어링을 통하여, 테이블에 포함된 텍스트 데이터들이 각각의 셀들과 유기적인 관계성을 갖도록 함으로써, 각 셀들에 포함된 텍스트 데이터들이 유기적으로 분석될 수 있는 환경을 제공할 수 있다.Furthermore, the method and system for recognizing a table according to the present invention provide text data included in a table with an organic relationship with each cell through pairing between the text included in the table and the cells, so that the text included in each cell It can provide an environment in which data can be analyzed organically.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체(또는 기록 매체)에 저장 가능한 프로그램으로서 구현될 수 있다.Meanwhile, the present invention described above may be implemented as a program storable in a computer-readable medium (or recording medium), which is executed by one or more processes in a computer.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다. Furthermore, the present invention as seen above can be implemented as computer-readable codes or instructions on a medium in which a program is recorded. That is, the present invention may be provided in the form of a program.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. Meanwhile, the computer-readable medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is this.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.Furthermore, the computer-readable medium may be a server or a cloud storage that includes a storage and that an electronic device can access through communication. In this case, the computer may download the program according to the present invention from a server or cloud storage through wired or wireless communication.
나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.Furthermore, in the present invention, the computer described above is an electronic device equipped with a processor, that is, a CPU (Central Processing Unit, Central Processing Unit), and there is no particular limitation on the type thereof.
한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.On the other hand, the above detailed description should not be construed as limiting in all respects, but should be considered as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (31)

  1. 테이블(table)을 포함하는 이미지를 수신하는 단계;receiving an image comprising a table;
    상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계;specifying a table region in which the table is located in the image based on the feature information included in the image;
    상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계; extracting text included in the image and location information of the text in the image;
    상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계; 및specifying a plurality of cells included in the table area based on the location information of the text; and
    상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 포함하는 테이블 생성 방법.and specifying a structure of the table based on a relationship between the plurality of cells.
  2. 제1항에 있어서,According to claim 1,
    상기 테이블 영역을 특정하는 단계에서는,In the step of specifying the table area,
    상기 테이블 영역을 추정하기 위한 테이블 참조 데이터와 상기 특징 정보를 이용하여, 상기 테이블 영역을 특정하는 것을 특징으로 하는 테이블 생성 방법.and specifying the table area by using table reference data for estimating the table area and the characteristic information.
  3. 제2항에 있어서,3. The method of claim 2,
    상기 테이블 참조 데이터는, 서로 다른 크기와 위치를 가지는 복수의 참조 테이블의 크기 정보 및 위치 정보를 포함하고,The table reference data includes size information and location information of a plurality of reference tables having different sizes and locations,
    상기 특징 정보는 상기 이미지에 포함된 복수의 라인(line), 상기 복수의 라인 중 적어도 일부가 교차하여 형성되는 코너(corner) 및 상기 이미지의 배경 색상 중 적어도 하나와 관련된 정보를 포함하는 것을 특징으로 하는 테이블 생성 방법. The characteristic information comprises information related to at least one of a plurality of lines included in the image, a corner formed by crossing at least some of the plurality of lines, and a background color of the image how to create a table.
  4. 제3항에 있어서,4. The method of claim 3,
    상기 테이블 영역을 특정하는 단계에서는,In the step of specifying the table area,
    상기 라인, 코너 및 배경 색상 중 적어도 하나를 이용하여 상기 이미지에서 상기 테이블이 위치한 영역을 추정하고, estimating an area where the table is located in the image using at least one of the line, corner, and background color;
    상기 추정된 영역과 상기 복수의 참조 테이블을 비교하여 상기 이미지에 포함된 테이블이 위치한 상기 테이블 영역을 특정하는 것을 특징으로 하는 테이블 생성 방법. and specifying the table area in which the table included in the image is located by comparing the estimated area with the plurality of reference tables.
  5. 제1항에 있어서,According to claim 1,
    상기 텍스트 및 상기 텍스트의 위치 정보를 추출하는 단계에서는,In the step of extracting the text and the location information of the text,
    상기 특정된 테이블 영역을 기준으로 상기 텍스트의 위치 정보를 추출하는 것을 특징으로 하는 테이블 생성 방법.and extracting the location information of the text based on the specified table area.
  6. 제5항에 있어서,6. The method of claim 5,
    상기 복수의 셀들을 특정하는 단계에서는,In the step of specifying the plurality of cells,
    상기 특정된 테이블 영역 내에서 상기 텍스트가 위치하는 지점을 기준으로 상기 복수의 셀들을 검출하는 것을 특징으로 하는 테이블 생성 방법.and detecting the plurality of cells based on a point at which the text is positioned within the specified table area.
  7. 제1항에 있어서,According to claim 1,
    상기 특정된 테이블 영역과 상기 추출된 텍스트의 위치 정보를 이용하여 상기 테이블 영역을 벗어나서 위치하는 텍스트를 검출하는 단계를 더 포함하는 테이블 생성 방법.and detecting text located outside the table area by using the specified table area and location information of the extracted text.
  8. 제1항에 있어서,According to claim 1,
    상기 복수의 셀들 간의 관계성은 상기 추출된 텍스트를 이용하여 상기 특정된 복수의 셀들 간의 관계성을 행 방향 또는 열 방향으로 따라 각각 추정함에 의하여 설정되는 것을 특징으로 하는 테이블 생성 방법.The relationship between the plurality of cells is set by respectively estimating the relationship between the specified plurality of cells in a row direction or a column direction using the extracted text.
  9. 제8항에 있어서,9. The method of claim 8,
    상기 복수의 셀들 간의 관계성은,The relationship between the plurality of cells is,
    상기 추출된 텍스트의 의미를 분석하고, 상기 분석된 의미에 근거하여 추정되는 것을 특징으로 하는 테이블 생성 방법.A method for generating a table, characterized in that the meaning of the extracted text is analyzed and estimated based on the analyzed meaning.
  10. 제9항에 있어서,10. The method of claim 9,
    상기 추정된 복수의 셀들 간의 관계성을 근거로 상기 복수의 셀들 중 어느 하나는 범주 셀로 특정되고, 다른 하나는 상기 범주 셀에 대응하는 데이터 셀로 특정되는 것을 특징으로 하는 테이블 생성 방법.One of the plurality of cells is specified as a category cell and the other is specified as a data cell corresponding to the category cell based on the estimated relationship between the plurality of cells.
  11. 제10항에 있어서,11. The method of claim 10,
    상기 데이터 셀에 포함된 텍스트의 의미는 상기 범주 셀에 포함되는 텍스트의 의미의 하위개념에 해당하는 것을 특징으로 하는 테이블 생성 방법.The method for generating a table, characterized in that the meaning of the text included in the data cell corresponds to a sub-concept of the meaning of the text included in the category cell.
  12. 제9항에 있어서,10. The method of claim 9,
    상기 복수의 셀들 간의 관계성은 상기 특정된 테이블 영역에서 행 방향 및 열 방향으로 따라 각각 추정되는 것을 특징으로 하는 테이블 생성 방법.The relationship between the plurality of cells is estimated in a row direction and a column direction in the specified table area, respectively.
  13. 제1항에 있어서,According to claim 1,
    상기 복수의 셀들 간의 관계성과 상기 추출된 텍스트를 이용하여 상기 이미지에 포함된 테이블과 대응되는 테이블을 생성하는 단계를 더 포함하는 테이블 생성 방법.and generating a table corresponding to the table included in the image by using the relationship between the plurality of cells and the extracted text.
  14. 저장부;storage;
    테이블(table)을 포함하는 이미지를 수신하는 수신부; 및a receiver for receiving an image including a table; and
    상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 제어부를 포함하고,a control unit for specifying a table area in which the table is located in the image based on the characteristic information included in the image;
    상기 제어부는,The control unit is
    상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하고, 상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하며,extracting text included in the image and location information of the text in the image, and specifying a plurality of cells included in the table area based on location information of the text;
    상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 것을 특징으로 하는 테이블 생성 시스템.and specifying a structure of the table based on a relationship between the plurality of cells.
  15. 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서, A program that is executed by one or more processes in an electronic device and can be stored in a computer-readable recording medium,
    상기 프로그램은,The program is
    테이블(table)을 포함하는 이미지를 수신하는 단계;receiving an image comprising a table;
    상기 이미지에 포함된 특징 정보에 기반하여, 상기 이미지에서 상기 테이블이 위치하는 테이블 영역을 특정하는 단계;specifying a table region in which the table is located in the image based on the feature information included in the image;
    상기 이미지에 포함된 텍스트 및 상기 이미지에서의 상기 텍스트의 위치 정보를 추출하는 단계; extracting text included in the image and location information of the text in the image;
    상기 텍스트의 위치 정보에 기반하여, 상기 테이블 영역에 포함된 복수의 셀들을 특정하는 단계; 및specifying a plurality of cells included in the table area based on the location information of the text; and
    상기 복수의 셀들 간의 관계성에 근거하여, 상기 테이블의 구조를 특정하는 단계를 수행하도록 하는 명령어들을 포함하는 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램.A program storable in a computer-readable recording medium comprising instructions for performing the step of specifying the structure of the table based on the relationship between the plurality of cells.
  16. 테이블(table)을 포함하는 이미지를 수신하는 단계;receiving an image comprising a table;
    상기 이미지에 포함된 텍스트(text)를 인식하고, 상기 텍스트를 포함하는 텍스트 박스(text box)를 특정하는 단계;recognizing text included in the image and specifying a text box including the text;
    상기 테이블을 구성하는 복수의 셀(cell)들을 인식하고, 상기 복수의 셀들에 각각 대응되는 셀 박스(cell box)를 특정하는 단계;recognizing a plurality of cells constituting the table and specifying a cell box corresponding to each of the plurality of cells;
    상기 이미지 상에서의 상기 텍스트의 위치에 근거하여, 상기 텍스트 박스 및 상기 셀 박스 간의 페어링을 수행하는 단계; 및performing pairing between the text box and the cell box based on the position of the text on the image; and
    상기 셀 박스와 페어링 된 텍스트 박스에 포함된 텍스트 및 상기 테이블에서의 상기 복수의 셀들의 배치 위치 중 적어도 하나에 근거하여, 상기 복수의 셀들 간의 관계성을 특정하는 단계를 포함하는 테이블 인식 방법.and specifying a relationship between the plurality of cells based on at least one of a text included in a text box paired with the cell box and an arrangement position of the plurality of cells in the table.
  17. 제16항에 있어서,17. The method of claim 16,
    상기 텍스트 박스를 특정하는 단계에서는,In the step of specifying the text box,
    기 설정된 구분 기준에 근거하여, 적어도 하나의 글자(character)포함하는 텍스트를 인식하고,Recognizing text including at least one character based on a preset classification criterion,
    인식 결과, 상기 이미지에 복수의 텍스트가 포함된 경우, 상기 복수의 텍스트 각각에 대응되는 복수의 텍스트 박스를 특정하는 것을 특징으로 하는 테이블 인식 방법.As a result of recognition, when a plurality of texts are included in the image, a plurality of text boxes corresponding to each of the plurality of texts are specified.
  18. 제17항에 있어서,18. The method of claim 17,
    상기 기 설정된 구분 기준은,The preset classification criterion is,
    상기 이미지에 포함된 글자들의 간격 및 상기 글자들 중 적어도 일부가 형성하는 의미 중 적어도 하나와 관련된 것을 특징으로 하는 테이블 인식 방법.A table recognition method, characterized in that it relates to at least one of an interval between characters included in the image and a meaning formed by at least some of the characters.
  19. 제18항에 있어서,19. The method of claim 18,
    상기 테이블을 구성하는 상기 복수의 셀들 각각은, 상기 복수의 텍스트 중 적어도 일부를 포함하고,Each of the plurality of cells constituting the table includes at least a portion of the plurality of texts,
    상기 페어링을 수행하는 단계에서는,In the step of performing the pairing,
    상기 복수의 셀들 각각에 상기 복수의 텍스트 중 어느 텍스트 가 포함되었는지에 따라, 페어링의 대상이 되는 특정 텍스트 박스 및 특정 셀 박스를 결정하는 것을 특징으로 하는 테이블 인식 방법. A table recognition method, characterized in that the specific text box and the specific cell box to be paired are determined according to which text among the plurality of texts is included in each of the plurality of cells.
  20. 제19항에 있어서,20. The method of claim 19,
    상기 특정 셀박스와 상기 특정 텍스트 박스가 상호 페어링된 경우,When the specific cell box and the specific text box are paired with each other,
    상기 특정 셀 박스의 식별 정보 및 상기 이미지에서 상기 특정 셀 박스에 대응되는 셀의 위치 정보 중 적어도 일부와,At least part of identification information of the specific cell box and location information of a cell corresponding to the specific cell box in the image;
    상기 특정 텍스트 박스의 식별 정보, 상기 특정 텍스트 박스의 위치 정보 및 상기 특정 텍스트 박스에 포함된 텍스트 중 적어도 일부를 포함하는,including at least a portion of identification information of the specific text box, location information of the specific text box, and text included in the specific text box,
    상기 특정 셀 박스에 대한 페어링 정보가 생성되는 것을 특징으로 하는 테이블 인식 방법.Table recognition method, characterized in that pairing information for the specific cell box is generated.
  21. 제19항에 있어서,20. The method of claim 19,
    상기 테이블에서, 상기 복수의 셀들은 행 방향 또는 열 방향을 따라 배치되고,In the table, the plurality of cells are arranged along a row direction or a column direction,
    상기 복수의 셀들 간의 관계성을 특정하는 단계에서는,In the step of specifying the relationship between the plurality of cells,
    서로 관련된 행 또는 열에 배치된 셀들을 근거로, 상기 복수의 셀들 중 적어도 일부를 포함하는 적어도 하나의 셀 그룹을 특정하는 것을 특징으로 하는 테이블 인식 방법.A method for recognizing a table, characterized in that the at least one cell group including at least some of the plurality of cells is specified based on cells arranged in rows or columns related to each other.
  22. 제21항에 있어서,22. The method of claim 21,
    상기 적어도 하나의 셀 그룹 중 특정 셀 그룹에 포함된 셀들은,Cells included in a specific cell group among the at least one cell group,
    서로 동일 행 또는 열에 배치되거나, 서로 인접한 행 또는 열에 배치된 셀들인 것을 특징으로 하는 테이블 인식 방법.A method for recognizing a table, characterized in that the cells are arranged in the same row or column or are arranged in a row or column adjacent to each other.
  23. 제21항에 있어서,22. The method of claim 21,
    상기 특정 셀 그룹에 포함된 셀들은,Cells included in the specific cell group,
    서로 동일 행 또는 열에 배치되거나, 서로 인접한 행 또는 열에 배치된 셀들 중, Among the cells arranged in the same row or column or arranged in a row or column adjacent to each other,
    각각의 셀들에 페어링된 텍스트 박스의 텍스트가 서로 관련성 있는 정보를 포함한 셀들인 것을 특징으로 하는 테이블 인식 방법.A method for recognizing a table, characterized in that the text of the text box paired with each cell is cells containing information related to each other.
  24. 제21항에 있어서,22. The method of claim 21,
    상기 복수의 셀들 간의 관계성을 특정하는 단계에서는,In the step of specifying the relationship between the plurality of cells,
    상기 적어도 하나의 셀 그룹 마다 범주의 이름이 포함된 적어도 하나의 범주 셀을 각각 특정하는 것을 특징으로 하는 테이블 인식 방법.The table recognition method of claim 1, wherein at least one category cell including a category name is specified for each of the at least one cell group.
  25. 제24항에 있어서, 25. The method of claim 24,
    상기 복수의 셀들 간의 관계성을 특정하는 단계에서는,In the step of specifying the relationship between the plurality of cells,
    상기 적어도 하나의 셀 그룹 마다 상기 범주 셀이 각각 특정되는 경우, 상기 적어도 하나의 셀 그룹에 각각 포함된 셀들 중 상기 범주 셀로서 특정되지 않은 나머지 셀을, 데이터 셀로서 특정하는 것을 특징으로 하는 테이블 인식 방법.Table recognition, characterized in that when the category cell is specified for each of the at least one cell group, the remaining cells that are not specified as the category cell among the cells respectively included in the at least one cell group are specified as the data cell Way.
  26. 제24항에 있어서,25. The method of claim 24,
    상기 범주 셀 및 상기 데이터 셀에 각각 대응되는 텍스트 박스에 포함된 텍스트 중 적어도 일부에 대한 보정을 수행하는 단계를 더 포함하고,Further comprising the step of performing correction on at least some of the text included in the text box corresponding to each of the category cell and the data cell,
    보정의 대상이 된 텍스트는, 상기 테이블로부터 인식된 텍스트 중 적어도 일부에 근거하여 보정되는 것을 특징으로 하는 테이블 인식 방법.The text to be corrected is corrected based on at least a part of the text recognized from the table.
  27. 제26항에 있어서,27. The method of claim 26,
    상기 보정을 수행하는 단계에서는,In the step of performing the correction,
    상기 적어도 하나의 셀 그룹 중 동일한 특정 셀 그룹에 포함된 범주 셀 및 데이터 셀에 각각 대응되는 텍스트 박스에 포함된 텍스트들의 의미 분석을 수행하는 단계를 포함하고,performing semantic analysis of texts included in text boxes respectively corresponding to category cells and data cells included in the same specific cell group among the at least one cell group;
    의미 분석 결과에 기반하여, 상기 특정 셀 그룹에 포함된 범주 셀 및 데이터 셀에 각각 대응되는 텍스트 박스에 포함된 상기 텍스트들의 적어도 일부를 보정하는 것을 특징으로 하는 테이블 인식 방법.The table recognition method of claim 1, wherein at least a portion of the texts included in a text box respectively corresponding to a category cell and a data cell included in the specific cell group is corrected based on a semantic analysis result.
  28. 제26항에 있어서, 27. The method of claim 26,
    상기 보정을 수행하는 단계에서는,In the step of performing the correction,
    상기 범주 셀 및 상기 데이터 셀에 각각 대응되는 텍스트 박스에 포함된 텍스트 중 서로 대응되는 의미를 갖는 텍스트들을 추출하고,extracting texts having corresponding meanings from among texts included in text boxes corresponding to the category cells and the data cells, respectively;
    추출된 텍스트들 중 어느 하나에 기반하여 나머지 텍스트를 보정하는 것을 특징으로 하는 테이블 인식 방법.A table recognition method, characterized in that the remaining text is corrected based on any one of the extracted texts.
  29. 제16항에 있어서, 17. The method of claim 16,
    상기 셀 박스를 특정하는 단계에서는,In the step of specifying the cell box,
    상기 테이블에서 상기 셀들이 위치한 영역을 추정하기 위한 참조 데이터에 근거하여, 상기 셀들에 대응되는 상기 셀 박스를 특정하고,specifying the cell box corresponding to the cells based on reference data for estimating an area in which the cells are located in the table;
    상기 참조 데이터는, 서로 다른 크기를 갖는 직사각 형상의 마스크(mask)들로 이루어지는 것을 특징으로 하는 테이블 인식 방법.The reference data is a table recognition method, characterized in that it consists of rectangular masks (masks) having different sizes.
  30. 저장부;storage;
    테이블(table)을 포함하는 이미지를 수신하는 수신부; 및a receiver for receiving an image including a table; and
    상기 이미지에 포함된 텍스트(text)를 인식하고, 상기 텍스트를 포함하는 텍스트 박스(text box)를 특정하는 제어부를 포함하고,and a controller for recognizing text included in the image and specifying a text box including the text,
    상기 제어부는,The control unit is
    상기 테이블을 구성하는 복수의 셀(cell)들을 인식하고, 상기 복수의 셀들에 각각 대응되는 셀 박스(cell box)를 특정하고, Recognizing a plurality of cells constituting the table, specifying a cell box corresponding to each of the plurality of cells,
    상기 이미지 상에서의 상기 텍스트의 위치에 근거하여, 상기 텍스트 박스 및 상기 셀 박스 간의 페어링을 수행하며,performing pairing between the text box and the cell box based on the position of the text on the image;
    상기 셀 박스와 페어링 된 텍스트 박스에 포함된 텍스트 및 상기 테이블에서의 상기 복수의 셀들의 배치 위치 중 적어도 하나에 근거하여, 상기 복수의 셀들 간의 관계성을 특정하는 것을 특징으로 하는 테이블 인식 시스템.and specifying a relationship between the plurality of cells based on at least one of a text included in a text box paired with the cell box and an arrangement position of the plurality of cells in the table.
  31. 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서, A program that is executed by one or more processes in an electronic device and can be stored in a computer-readable recording medium,
    상기 프로그램은,The program is
    테이블(table)을 포함하는 이미지를 수신하는 단계;receiving an image comprising a table;
    상기 이미지에 포함된 텍스트(text)를 인식하고, 상기 텍스트를 포함하는 텍스트 박스(text box)를 특정하는 단계;recognizing text included in the image and specifying a text box including the text;
    상기 테이블을 구성하는 복수의 셀(cell)들을 인식하고, 상기 복수의 셀들에 각각 대응되는 셀 박스(cell box)를 특정하는 단계;recognizing a plurality of cells constituting the table and specifying a cell box corresponding to each of the plurality of cells;
    상기 이미지 상에서의 상기 텍스트의 위치에 근거하여, 상기 텍스트 박스 및 상기 셀 박스 간의 페어링을 수행하는 단계; 및performing pairing between the text box and the cell box based on the position of the text on the image; and
    상기 셀 박스와 페어링 된 텍스트 박스에 포함된 텍스트 및 상기 테이블에서의 상기 복수의 셀들의 배치 위치 중 적어도 하나에 근거하여, 상기 복수의 셀들 간의 관계성을 특정하는 단계를 수행하는 명령어들을 포함하는 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램.Characteristic comprising instructions for performing the step of specifying a relationship between the plurality of cells based on at least one of a text included in a text box paired with the cell box and an arrangement position of the plurality of cells in the table A program that can be stored in a computer-readable recording medium.
PCT/KR2022/002622 2021-02-23 2022-02-23 Method and system for generating table, and method and system for recognizing table WO2022182111A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020210024040A KR20220120222A (en) 2021-02-23 2021-02-23 Table gnerating method and system
KR10-2021-0024040 2021-02-23
KR10-2021-0038518 2021-03-25
KR1020210038518A KR20220133434A (en) 2021-03-25 2021-03-25 Method and system for recognizing tables

Publications (1)

Publication Number Publication Date
WO2022182111A1 true WO2022182111A1 (en) 2022-09-01

Family

ID=83049447

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/002622 WO2022182111A1 (en) 2021-02-23 2022-02-23 Method and system for generating table, and method and system for recognizing table

Country Status (1)

Country Link
WO (1) WO2022182111A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390264B1 (en) * 1995-04-10 2003-09-22 리버스 테크놀로지, 인크. System and method for automatic page registration and automatic area detection during form processing
KR101118628B1 (en) * 2009-10-12 2012-03-07 대한민국(국가기록원) Iamge Data Recognition and Managing Method for Ancient Documents using Intelligent Recognition Library and Management Tool
KR101484419B1 (en) * 2013-12-17 2015-01-28 비플라이소프트(주) Apparatus and method for recognizing layout of electronic document
KR20190007696A (en) * 2017-07-13 2019-01-23 주식회사 글로벌비엑스 Method and computer readable medium of converting non-electric documents to electric document
JP2021504787A (en) * 2017-12-01 2021-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Methods, computer programs and systems for digitizing cognitive document images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390264B1 (en) * 1995-04-10 2003-09-22 리버스 테크놀로지, 인크. System and method for automatic page registration and automatic area detection during form processing
KR101118628B1 (en) * 2009-10-12 2012-03-07 대한민국(국가기록원) Iamge Data Recognition and Managing Method for Ancient Documents using Intelligent Recognition Library and Management Tool
KR101484419B1 (en) * 2013-12-17 2015-01-28 비플라이소프트(주) Apparatus and method for recognizing layout of electronic document
KR20190007696A (en) * 2017-07-13 2019-01-23 주식회사 글로벌비엑스 Method and computer readable medium of converting non-electric documents to electric document
JP2021504787A (en) * 2017-12-01 2021-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Methods, computer programs and systems for digitizing cognitive document images

Similar Documents

Publication Publication Date Title
WO2018174603A1 (en) Method and device for displaying explanation of reference numeral in patent drawing image using artificial intelligence technology based machine learning
WO2018034426A1 (en) Method for automatically correcting error in tagged corpus by using kernel pdr
WO2010021527A2 (en) System and method for indexing object in image
WO2012074338A2 (en) Natural language and mathematical formula processing method and device therefor
WO2019177182A1 (en) Multimedia content search apparatus and search method using attribute information analysis
WO2014011000A1 (en) Method and apparatus for controlling application by handwriting image recognition
WO2020101108A1 (en) Artificial-intelligence model platform and method for operating artificial-intelligence model platform
WO2016006918A1 (en) Method of performing a touch action in a touch sensitive device
WO2022065811A1 (en) Multimodal translation method, apparatus, electronic device and computer-readable storage medium
WO2020197257A1 (en) Translating method using visually represented elements, and device therefor
WO2016085173A1 (en) Device and method of providing handwritten content in the same
WO2023172025A1 (en) Method for predicting association-related information between entity-pair by using model for encoding time series information, and prediction system generated by using same
WO2014021567A1 (en) Method for providing message service, and device and system therefor
WO2021006505A1 (en) Expert career management method, apparatus, and program
EP4004695A1 (en) Electronic apparatus and controlling method thereof
WO2021215589A1 (en) Ocr-based document analysis system and method
WO2015199354A1 (en) Pupil extraction method using neighbor aggregation binarization and pupil extraction control apparatus using same
WO2022182111A1 (en) Method and system for generating table, and method and system for recognizing table
WO2015178716A1 (en) Search method and device
WO2022182104A1 (en) Table creation method and system, and method and system for correcting image including table
WO2021172921A1 (en) Medical imaging apparatus and medical image processing method
WO2023229376A1 (en) Intelligent response recommendation system and method for real-time voice counseling support
WO2020130708A1 (en) Method and apparatus for augmented reality
WO2023101114A1 (en) Method for translating and editing text included in image, and device performing same
WO2024019226A1 (en) Method for detecting malicious urls

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: 22760027

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: 22760027

Country of ref document: EP

Kind code of ref document: A1