WO2007080642A1 - 帳票処理プログラムおよび帳票処理装置 - Google Patents
帳票処理プログラムおよび帳票処理装置 Download PDFInfo
- Publication number
- WO2007080642A1 WO2007080642A1 PCT/JP2006/300325 JP2006300325W WO2007080642A1 WO 2007080642 A1 WO2007080642 A1 WO 2007080642A1 JP 2006300325 W JP2006300325 W JP 2006300325W WO 2007080642 A1 WO2007080642 A1 WO 2007080642A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- character
- character string
- data
- item
- keyword
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/1444—Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Definitions
- the present invention relates to a form processing program and a form processing apparatus, and more particularly to a form processing program and form processing apparatus for form processing for extracting a predetermined keyword from a scanned form image.
- the fixed form input is an input method when the type of the input form is known, and a layout definition body in which the keyword position of the input form is written is created in advance. Then, form identification is performed on the scanned form image, and keywords are automatically extracted based on the layout definition corresponding to the form.
- layout definition bodies must be created manually for each target form, which is very expensive.
- atypical form input is an input method in which the type of form to be input is not known, and a layout definition body cannot be created. For this reason, the input operation has to be performed manually, and the input cost has become enormous.
- Patent Document 1 Japanese Patent Laid-Open No. 11 238165 (paragraph numbers [0009] to [0012], FIG. 3)
- Patent Document 2 Japanese Patent Laid-Open No. 2001-312691 (paragraph numbers [0013] to [0018], FIG. 2) Invention Disclosure of
- FIG. 19 shows a case where keywords cannot be correctly extracted due to layout recognition failure.
- (A) is a form image
- (B) is a diagram showing a text block whose layout has been recognized for the form image of (A).
- noise 902 is generated in the form image 901 read by the scanner due to dirt on the form.
- layout recognition is performed for this form image 901, there is noise 902 between "estimate (amount)” and “estimate (product name)”.
- a text block 903 including is erroneously extracted.
- “estimate” and “amount” and “estimate” and “product name” are separated.
- character recognition is performed on this text block, for example, text block 903 is “estimate • ⁇ estimate”, text block 904 is “amount”, text block 905 is “product name”, text block Character recognition is performed as “ ⁇ 120,000” for 906 and “PC” for text block 907.
- FIG. 20 shows a case where it is difficult to associate items with data.
- (A) shows the case where two items may correspond to one data
- (B) shows the case where two items may correspond to one item.
- the conventional method does not disclose a method for selecting the correct response.
- the present invention has been made in view of these points, and an object of the present invention is to provide a form processing program capable of stably performing keyword extraction even if recognition results are missing or noisy. To do. Another object of the present invention is to provide a form processing apparatus capable of determining the correspondence between keyword items and data in consideration of overall consistency. Means for solving the problem
- the form processing program useful for the present invention is applied to the form processing apparatus 1 and allows a computer to execute the following processing.
- the form processing apparatus 1 includes a layout recognizing means 11, a character recognizing means 13, a character string candidate extracting means 15 and an associating means 16, and the scanned form image power also extracts a predetermined key word.
- the layout recognizing means 11 recognizes the layout of the form image and extracts a character image reading area in the form image.
- the character recognition means 13 performs character recognition on the extracted character image in the reading area, and outputs the recognized character as a character recognition result.
- Character string candidate extraction means 15 is included in the character string defined as a keyword in the form logical definition body based on the form logical definition body that defines the character string constituting the keyword according to the logical structure common to the same type of form. Characters are extracted from the character recognition result, and combinations where the relationship between the extracted characters satisfies the positional relationship as the character string constituting the keyword are used as character string candidates.
- the associating means 16 associates the keywords having a plurality of elemental forces according to the positional relationship of the character string candidates corresponding to the elements on the form image, and determines a combination of the character string candidates constituting the keyword.
- the layout recognition unit 11 recognizes the form image layout and extracts a character image reading area.
- the character recognition means 13 performs character recognition on the extracted character image in the reading area and outputs a character recognition result. As a result, the character recognition is performed on the read region of the character image whose layout has been recognized, and the characters described in the form are determined.
- the character strings that make up the keywords are A form logical definition body defined according to a common logical structure is stored.
- Character string candidate extraction means 15 extracts characters included in the character string defined as keywords in the form logical definition body from the character recognition result.
- the associating means 16 associates the character string candidates according to the positional relationship, and determines a combination of the character string candidates constituting the keyword.
- the form processing according to the present invention has the same logical structure by automatically extracting keywords based on a form logical definition body that defines a logical structure of a form that is not a layout definition body corresponding to the form layout. If it is a form, keywords can be automatically extracted even if the layout is different.
- the character recognition results are extracted from the characters defined as keywords, and the relationship between the characters is the relationship as the character string defined in the form rational definition body.
- the combinations that satisfy the above are extracted as character string candidates, and the character string candidates constituting the keyword are associated with each other. For this reason, even if it does not completely match the character string defined as a keyword, it is extracted as a keyword if it is considered that the character string relationship is satisfied. As a result, stable keyword extraction can be performed without being affected by layout recognition failure or character recognition failure.
- FIG. 1 is a conceptual diagram of an invention applied to an embodiment.
- FIG. 2 is a diagram showing a hardware configuration example of a form processing apparatus according to the present embodiment.
- FIG. 3 is a diagram showing a software configuration example of a form processing apparatus according to the present embodiment.
- FIG. 4 is a diagram showing an example of a logical definition body according to the present embodiment.
- FIG. 5 is an example of a form image input to the form processing apparatus of the present embodiment.
- FIG. 6 is a diagram showing character extraction as a result of character recognition in the present embodiment.
- FIG. 7 is a diagram showing voting results of item string matching in the present embodiment.
- FIG. 8 is a diagram showing an example of a graph generated in the present embodiment.
- FIG. 9 is a diagram showing an example of a consistency graph table in the form processing apparatus of the present embodiment.
- FIG. 10 is a diagram showing an example of validation of character placement in the present embodiment.
- FIG. 11 is a diagram showing an example of an item character string extending over a plurality of lines.
- FIG. 12 is a flowchart showing a procedure of item extraction processing in the present embodiment.
- FIG. 13 is a flowchart showing the procedure of item string matching processing in the present embodiment.
- FIG. 14 is a flowchart showing a procedure of item character string candidate determination processing in the present embodiment.
- FIG. 15 is a diagram showing an example of * part extraction in the present embodiment.
- FIG. 16 is a flowchart showing a procedure of data extraction processing in the present embodiment.
- FIG. 17 is a flowchart showing a procedure of data character string matching processing in the present embodiment.
- FIG. 18 is a flowchart showing a procedure of item / data association processing in the present embodiment.
- FIG. 19 shows a case where keywords cannot be extracted correctly due to layout recognition failure.
- FIG. 20 shows a case where it is difficult to associate items with data.
- FIG. 1 is a conceptual diagram of the invention applied to the embodiment.
- the form processing apparatus 1 includes a layout recognition unit 11 that extracts a reading region, a character recognition unit 13 that performs character recognition in the reading region, a character string candidate extraction unit 15 that extracts a character string candidate, and Corresponding means for associating character string candidates 16 processing means, storage means for recognition dictionary database 12 and form logical definition database 14
- the processing functions of the processing means of the form processing apparatus 1 are realized by the computer executing the form processing program.
- the layout recognition unit 11 recognizes the layout of the input form image, extracts a reading area including a character image, and notifies the character recognition unit 13 of it.
- Various layout recognition methods are known, and here, any method is used.
- the recognition dictionary database 12 stores a recognition dictionary used for character recognition of character images.
- the character recognition means 13 performs character recognition on the extracted character image in the reading area with reference to the recognition dictionary database 12, and outputs the recognized character to the character string candidate extraction means 15 as a character recognition result.
- Character recognition processing is normally performed for all character types as recognition targets, but character recognition may be performed by limiting the recognition targets to character strings and character types defined in the form logical definition body of the form logical definition database 14. it can. If the character type is limited, the accuracy of character recognition can be improved.
- the form logical definition body database 14 stores a form logical definition body in which character strings constituting keywords are defined according to a logical structure common to the same kind of forms.
- the logical structure of the form is also the meaning, items and data, and the relationship that holds between them.
- definitions for items and data which are two types of elements that make up a keyword, are set for each category.
- the item is an expression corresponding to the meaning of the keyword.
- Data is an actual value corresponding to the meaning of the keyword, and data area attributes including regular expressions and character types when they are described in the form are defined.
- the character string candidate extraction means 15 is based on the form logical definition body stored in the form logical definition database 14 to determine the relationship between the character recognized characters as the character string defined in the form logical definition body. A combination that satisfies the condition is extracted as a character string candidate. Specifically, the item character string candidate extraction means 15a extracts characters included in the character string defined from the character recognition result using the item character string defined in the form logical definition body as a key. Then, each character constituting the item character string is voted, the consistency of the positional relationship between the voted characters is evaluated, and a combination satisfying the positional relationship as the character string is obtained.
- the nodes are determined to be consistent.
- the matching degree of the item string is determined. The item string with the best matching level is output as a candidate item string.
- the data character string candidate extraction unit 15b extracts data character string candidates from the character recognition result based on the data area attribute defined in the form logical definition body. First, in the regular expression of the data defined in the data area attribute, the part representing the value is extracted from the character recognition result and collected as a value part. Further, the same processing as the data character string candidate extraction unit 15b is performed on the collected value part and the character string included in the regular expression to determine the data character string candidate.
- the association means 16 uses the item character string candidate determined by the item character string candidate extraction means 15a and the data character string candidate determined by the data character string candidate extraction means 15b as character strings constituting the keyword. Based on the form logical definition body, the association is performed according to the positional relationship, and the combination of the item character string and the data character string is determined. For example, the relative positional relationship between the item character string and the data character string is generated, the generated combination is used as a node, the consistency of the combination between the two combinations is examined, and it is determined that there is consistency. When it is done, a graph is generated by connecting them with a path. The graph power is extracted from the clique, the evaluation value of each clique is calculated, and the best tally is determined to determine the combination of the item character string and the data character string.
- the form logical definition body database 14 stores in advance a form logical definition body that defines the logical structure of the target form.
- the layout recognition unit 11 When a form image is input, the layout recognition unit 11 performs layout recognition and extracts a character image reading area.
- the character recognition means 13 refers to the recognition dictionary stored in the recognition dictionary database 12, performs character recognition of the extracted reading area, and is recognized. Generate a character recognition result from the characters. With the processing so far, the characters on the form image are recognized and output to the character string candidate extraction means 15 as the character recognition result.
- the item character string candidate extracting means 15a extracts and extracts characters included in the item character string defined in the form logical definition body stored in the form logical definition body database 14 from the character recognition result. Vote for each letter made. Then, the consistency with respect to the positions among the voted characters is determined, a combination satisfying the relationship as a character string is obtained, and item character string candidates are determined.
- the data character string candidate extraction means 15b extracts the part representing the value from the character recognition result based on the data area attribute defined in the form logical definition body from the character recognition result, and summarizes it as a value part. Keep it.
- Corresponding means 16 associates the item character string candidate and the data character string candidate determined by character string candidate extracting means 15 based on the positional relationship between the item and data defined in the form logical definition body, The combination of the item character string candidate and the data character string candidate is determined.
- each character recognized is a combination that satisfies the relationship as the character string defined in the form logical definition body.
- the character set with the highest matching degree is selected. For this reason, even if a part of the character recognition result is incorrect, matching can be performed based on another correct character recognition result, so that correct matching is possible. Similarly, correct matching is possible even if the layout recognition is incorrect and the character recognition results are not in the correct sequence. Even when multiple combinations of item character strings and data character strings are conceivable, the most consistent combination as a whole can be extracted, so that a correct result can be obtained.
- FIG. 2 is a diagram illustrating a hardware configuration example of the form processing apparatus according to the present embodiment.
- the form processing apparatus 100 is entirely controlled by a CPU (Central Processing Unit) 101.
- the CPU 101 has a RAM (Random Access Memory) 10 via a bus 107.
- RAM Random Access Memory
- HDD Hard disk drive
- graphic processor 104 graphic processor 104
- input interface 105 input interface 105
- communication interface 106 communication interface 106
- the RAM 102 temporarily stores at least part of an OS (Operating System) program application program to be executed by the CPU 101.
- the RAM 102 stores various data necessary for processing by the CPU 101.
- the HDD 103 stores the OS and application programs.
- a monitor 108 is connected to the graphic processing device 104, and an image is displayed on the screen of the monitor 108 according to a command from the CPU 101.
- a keyboard 109a and mouse 109b are connected to the input interface 105, and signals sent from the keyboard 109a and mouse 109b are transmitted to the CPU 101 via the bus 107.
- the communication interface 106 is connected to the scanner 20, and transmits the form image data read by the scanner 20 to the CPU 101 via the nose 107.
- the scanner 20 may be directly connected via the bus 107.
- FIG. 3 is a diagram showing a software configuration example of the form processing apparatus according to the present embodiment.
- the form processing apparatus 100 includes a processing unit of a layout recognition unit 110, a character recognition unit 130, and a keyword extraction unit 140, a recognition dictionary database 120, and a logical definition database 150.
- the keyword extraction unit 140 includes an item extraction unit 160 that extracts item character string candidates, a data extraction unit 170 that extracts data character string candidates, and an association unit 180 that associates item character string candidates with data character string candidates.
- the layout recognition unit 110 is a layout recognition unit that recognizes the layout of a form image read by a scanner and extracts a reading area including a character image.
- the recognition dictionary database 120 stores dictionary information used for character recognition.
- the character recognition unit 130 is a character recognition unit that performs character recognition on the reading area extracted by the layout recognition unit 110 and outputs a character recognition result.
- the logical definition database 150 defines logical structures common to the same type of forms. This stores a form rational definition body (hereinafter referred to as a logical definition body). For example, an estimate sheet contains “date information”, “request number”, etc. If the form is the same type, there are many common parts such as information items that are included even if the layout is different. is there. A logical structure is a collection of these.
- the logical structure of the form is a set of meaning, items, and data, and the relationship that holds between them.
- the meaning represents the expression function in the form.
- the item represents a character string in which an expression function corresponding to the meaning is actually expressed in a form. Data represents actual values in an expression function corresponding to meaning.
- the relationship established between them represents a relationship between pairs, and includes a correspondence relationship and a relationship in which mathematical expressions are established.
- the item extraction unit 160 realizes its processing functions by the modules of character recognition result voting 161, graph generation (consistency evaluation) 162, maximum clique determination 163, and item character string candidate determination 164.
- the character recognition result voting 161 collates the character recognition result with the characters included in the item character string defined in the logical definition body, and, if detected, votes for the characters constituting the defined item character string.
- Graph generation (consistency evaluation) 162 evaluates the consistency between characters obtained by character recognition result voting, and generates a graph. Specifically, the voted character is used as a node, and it is determined whether or not there is consistency in the positional relationship between each character as a character string.
- the positional relationship based on the order of characters as the item character string defined in the logical definition database 150 between two characters if the item string is defined as “order number”, On the other hand, it is sufficient if the “number” or “number” is placed behind in the order of characters), the positional relationship between characters (whether they are on the same line), etc. If there is, connect the nodes with a path. This procedure is sequentially executed for each character (node) to generate a graph.
- the maximum clique determination 163 also extracts cliques from the graph power created by the graph generation (consistency evaluation) 162, selects an appropriate clique, and determines the maximum clique with the highest matching rate.
- the matching rate is calculated based on the ratio of nodes included in the character set including cliques.
- the maximum clique is determined for each item string. Therefore, select one item string candidate in the category.
- the item character string candidate determination 164 outputs, as item character string candidates, items having the best matching degree among the maximum cliques determined by the maximum clique determination 163 among the item character strings belonging to the category.
- the graph is a concept of “points and lines connecting them” that is abstracted focusing on the “connection method” consisting of a set of nodes (nodes, vertices) and a set of paths (branches, edges) that connect the nodes.
- Graph theory is the search for various properties of graphs.
- a set of vertices with a path between any two vertices in the graph is called a clique, and the method of finding the largest clique is called maximum clique extraction.
- the method of extracting the maximum clique from a graph is well known. For example, “C. Bron and J. Kerbosch,“ Finding all cliques of an undirected graph, Commun. AC M, Vol. 16, No. 9, pp575-577, 1973 ”[This is disclosed!
- the data extraction unit 170 implements its processing function by the module of * part extraction 171; character recognition result voting 172; graph generation (consistency evaluation) 173; and data string candidate determination (maximum clique determination) 174. ing. Unlike the items represented by fixed character strings, the characters that represent data cannot be limited, but the data representation format (hereinafter referred to as regular expression) and the data character type can be defined. For example, a date can be expressed as “* year * month * day”. * Represents any number or symbol. In the following, symbols that substitute for any character indicated by "*" are called wildcards.
- * Part extraction 171 extracts the wildcard part of the data from the character recognition result, and puts the whole as * part.
- the character recognition result voting 172 performs voting processing in the same manner as the character recognition result voting 161 for the character string included in the regular expression of the data extracted from the character recognition result and the * part. Then, in graph generation (consistency evaluation) 173, a graph is created in the same manner as graph generation (consistency evaluation) 162, and in data string candidate determination (maximum clique determination) 174, item character string candidate determination 164 Similarly, the maximum clique with the highest matching rate is determined as the data string candidate.
- the associating unit 180 realizes its processing function with modules of item / data combination 181, graph generation (consistency evaluation) 182, and combination determination (maximum clique determination) 183.
- Item 'Data combination 181 is the item string extracted by the item extraction unit 160
- the candidates and the data character string candidates extracted by the data extraction unit 170 are counted for possible correspondence.
- Graph generation (consistency evaluation) 182 creates a graph by connecting the counted combinations as nodes and connecting the nodes with paths when there is consistency in the positional relationship of the combinations.
- the combination determination 183 determines the most consistent maximum clique from the graph. That is, the most consistent combination of item character string and data character string is determined.
- FIG. 4 is a diagram showing an example of the logical definition body of the present embodiment.
- the logical definition body defines the meaning, items, and data forming the form logical structure.
- Keywords are classified into categories 201 according to meaning.
- date 210 and form number 220 are defined!
- a character string expressing meaning and an item character string 202 are defined for each category.
- the date 210 defines “year / month / day”, “issue date”, and “creation date”.
- the form number 220 defines "order number” and "your company receipt number”.
- a character 203 used in the data and a regular expression 204 used in the data are defined for each category.
- the character 203 used in the data defines the character type representing the actual value.
- date 210 defines that the data is represented by “numbers”.
- the regular expression 204 used in the data defines the data representation format. For example, the date 210 indicates that “* year * month * day” and “Heisei * year * month * day” are used.
- the item force is also defined as needed for each force category, such as the relative position 205 of the data as seen and the character 206 that may exist between the item and the data.
- the date 210 defines “right” and “bottom”. This indicates that data is arranged in the right or down direction of the area force where the item is arranged.
- “:” is defined in the character 206 that may exist between the item and the data, and the extracted item character string candidate and the data character string are extracted. Even if there is a “:” between candidates, show that consistency is true! /
- FIG. 5 is an example of a form image input to the form processing apparatus according to the present embodiment.
- the form image 300 is a part of the “estimate”, and the layout recognition unit 110 inputs the form image 300 and performs a layout recognition process to extract a reading area.
- the character recognition unit 130 performs character recognition in the reading area with all character types as recognition targets.
- “Estimate” 301, “September 25, 2005” 302, “B Co., Ltd.” 303, “Your reception number” 304, “20050925-0101” 305, “A Co., Ltd.” 306, “telephone number” 307, “044 123-4445” 308 are output as character recognition results.
- characters to be recognized can be limited based on the logic definition body of the logic definition database 150.
- the date 210 shown in Figure 4 contains only the characters “year”, “month”, “day”, “departure”, “row”, “saku”, “sei”, “flat” and numbers. Because it is used, it can be seen that character recognition is possible even if the character type is limited to these.
- the form number 220 can be limited to “Note”, “Sentence”, “No.”, “No.”, “Noble”, “Company”, “Received”, “Appendix” and numbers. In this way, the recognition target characters for all categories are extracted, the sum of all categories is taken, and this is used as the recognition target. This increases the accuracy of character recognition.
- the keyword extraction unit 140 starts processing.
- the keyword extraction process is performed by extracting the item character string candidates by the item extracting unit 160 and extracting the data character string candidates by the data extracting unit 170, and then the item character string candidates and the data character strings by the associating unit 180.
- Candidate mapping is performed.
- an item character string representing an item is extracted from the character recognition result based on the item character string defined in the logical definition body.
- the character recognition result voting 161 extracts a character included in the item character string defined from the character recognition result based on the logical definition stored in the logical definition database 150, and performs voting.
- the item character string “Your company received” Assume that “numbering”, “order number”, and “reception number” are defined. Therefore, the characters included in the definition of the item character string are extracted from the character recognition result.
- FIG. 6 is a diagram showing character extraction from the character recognition result in the present embodiment.
- FIG. 6 is a diagram in which the characters extracted from the form image 300 are extracted, and the same components as those in FIG. 5 are given the same numbers.
- FIG. 7 is a diagram showing voting results of item string matching in the present embodiment. The same components as those in FIG.
- Graph generation (consistency evaluation) 162 generates a graph with the voted characters as nodes based on the voting results.
- Consistency of the positional relationship between two characters A and B means that each character is the i-th character and j-th character of the corresponding item string (assuming i and j) )
- X coordinate of A is the X coordinate of B
- y coordinate of A and the y coordinate of B are almost equal. Note that X is the horizontal coordinate and y is the vertical coordinate axis.
- the average character size is the length of the long side of the circumscribed rectangle for all characters. Average.
- the consistency is determined as follows. In this way, consistency standards are set appropriately according to the form.
- FIG. 8 is a diagram showing an example of a graph generated in the present embodiment.
- Each node, a, b, c, d, e, f, g, h, i, j represents the alphabet given to the characters in FIG.
- FIG. 9 is a diagram showing an example of a consistency graph table in the form processing apparatus according to the present embodiment.
- nodes are arranged vertically and horizontally, and the path status is set in the column corresponding to the intersection. 1 indicates that the path is connected, and 0 indicates that the path is not connected. If you follow the field where 1 is set, you can extract cliques.
- the maximum clique determination 163 first, only the extracted clique force is appropriate. For example, select only nodes with a certain number of nodes that make up the clique. As a result, the clique that matches the item string more than a certain level Only remains. In the example in the figure, if the threshold is 2, j is excluded from abcdef, ag, ei, hi, and j extracted as cliques. Items that match only one character against the item string are unlikely to be item strings, and are thus excluded from the clique.
- the validity of the remaining clique is verified by character arrangement.
- the length of the region surrounding them is divided by the number of characters, and the center points of the characters constituting the region (region center point) are calculated.
- the difference between the calculated center point and the center point of the actual character is obtained, and if it exceeds a certain threshold, the clique is judged to be nonconforming and deleted.
- the average character size is m
- the number of characters is n
- the deviation of each character is d
- FIG. 10 is a diagram showing an example of the validity verification of the character arrangement in the present embodiment.
- the character set “estimated expiration date: September 30, 2004” 400 corresponding to the clique is matched with “see” 40 1, “product” 402, and “date” 403.
- the length of the outer frame 420 surrounding the character set 400 is divided by the number of characters, and the center point of the character is calculated using the number of characters constituting the area. In this case, it is assumed that the center 431 of the outer frame 420 is calculated.
- the center point 432 of the characters “see”, “product”, and “day” that actually matched is obtained.
- the deviation 433 between the center 431 of the outer frame 420 and the center 432 of the matched character is evaluated. In the example shown in the figure, the deviation 433 is determined to be nonconforming by Equation (3).
- the clique is determined to be nonconforming and is deleted.
- the item character string is “estimated date”, since there are other characters between “product” 402 and “date” 403, it is determined as non-conforming.
- the item character string candidate determination 164 compares the matching rate of the maximum clique determined for each item character string, and determines the clique with the highest matching rate as the item character string candidate. If multiple cliques have the same matching rate, output all of them.
- the matching rate is calculated based on, for example, the number of nodes included in the character set and the percentage of locations where the character string matches.
- the item character string candidate is determined.
- the extracted clique can be evaluated by re-recognizing the remaining clique after verifying the number of nodes, character arrangement, and noise, and then checking the remaining clique.
- character recognition is performed by limiting the recognition target to the character set that constitutes the item character string. Of the character recognition results, leave only when the recognition reliability exceeds a certain threshold, and discard the others. Then, voting, graph generation, and clique extraction are performed on the remaining character recognition results, the number of maximum cliques is obtained, and this number is used as the clique evaluation value. Then, the one with the largest evaluation value is output. If multiple creeks have the same evaluation value, output all of them.
- FIG. 11 is a diagram showing an example of an item character string extending over a plurality of lines.
- the range of 501y and 502y obtained by projecting two character strings in the y direction does not overlap, so it can be determined that they do not overlap vertically. Also, since the ranges of 501x and 502x projected in the X direction overlap, it is determined that they overlap on the left and right. In addition, for the item string "Estimate number” “Number” 502, which is behind the order, is after “Estimate” 501 and is below the image.
- FIG. 12 is a flowchart showing the procedure of item extraction processing in the present embodiment.
- Step S13 Perform an item string matching process for item string 3 ⁇ 4 of category Ci.
- the maximum clique for the item character string 3 ⁇ 4 of category Ci is determined by force matching processing described later in detail.
- Step S14 In order to perform processing for the next item character string, j is incremented by one.
- Step S15 Compare j with the number of item strings defined in the logical definition. If j has not reached the number of item strings, the process returns to step S13 to perform matching processing for the next item string. If it has been reached, the end of all item character strings is assumed.
- Step S16 By repeating the processing from Step S13 to Step S15, the maximum clique corresponding to all the item strings of the power category Ci is determined, so the item string for the category Ci Candidate decision processing is performed. Details of the processing will be described later.
- Step S17 In order to perform processing for the next category, i is incremented by one.
- Step S18 Compare i with the number of categories defined in the logical definition. If i has not reached the number of categories, the process returns to step S12 to process the next category. If all power category processing is complete, the processing ends.
- FIG. 13 is a flowchart showing the procedure of item string matching processing in the present embodiment.
- Step S131 Based on the logical definition stored in the logical definition database 150. Extract the characters included in the item character string Sj defined from the character recognition result and vote
- Step S132 Based on the voting results, a graph with the voted characters as nodes is generated. First, for the set of characters that have been voted on, the relationship as a character string and the consistency with respect to the position of all two character pairs are examined, and if consistency is established, a path is set between the nodes. Generates a graph.
- Step S133 From the graph generated in step S132, a clique that is a maximal complete subgraph of the graph is extracted. All nodes that make up the clique are connected to other nodes by paths.
- Step S134 From among the cliques extracted in Step S133, only the number of nodes constituting the clique is selected that exceeds a certain threshold. In addition, the validity of clique character placement is checked, and invalid cliques are deleted. For the remaining clique, the clique with the highest matching rate is selected and output as the maximum clique.
- FIG. 14 is a flowchart showing a procedure of item character string candidate determination processing in the present embodiment.
- Step S162 The number of item character strings defined in i and category is compared. If i is the number of item strings, the process is terminated.
- Step S167 Increment i by 1, and return to Step S162 to process the next item character string.
- the data described by the character recognition result data regular expression is extracted based on the data regular expression and data type of the logical definition body.
- Keyword data in a form is often limited in the type of character string and the configuration of the arrangement.
- data attributes are described as regular expressions.
- date keyword data is described as * year * month * day, and monetary amount as * yen, ⁇ *, etc.
- the * part type (number, alphabet, etc.) described in the regular expression and other character strings (“year”, “month”, “day”, “. (Period)) ”,“ — (Hyphen) ”, etc.) are read out from the logical definition database 150, and the corresponding character recognition results are taken out.
- A be the set of extracted characters.
- a neighboring area (left and right margin m, top and bottom margin n) is taken with respect to the circumscribed rectangle of the character belonging to A, and among the elements of A existing in it, the closest one other than itself, and , Links are created for duplicates when projected to the y coordinate.
- the elements of A connected by the link are combined and extracted as the * part of the area.
- FIG. 15 shows an example of * part extraction in the present embodiment.
- FIG. The figure shows the case of extracting data defined by the regular expression “* year * month * day” (* is a number).
- characters, “year”, “month”, and “day” are also extracted as character recognition results.
- the character set A (601) is extracted as “September 30, 2004”.
- characters belonging to A link with adjacent characters. Taking “2” as an example, a neighboring area 603 with left and right margins m and top and bottom margins n is set for the circumscribed rectangle 602 of “2”, and the element A in the neighboring area is the nearest other than yourself. Links to characters that have the same y-coordinate. In this case, a link is set to “0”. Note that the y-coordinates are almost equal means a relationship that satisfies equation (1). By repeating the same process, in this case, all characters included in “September 30, 2004” in character set A (601) are linked, and “September 30, 2004” is * Extracted as a part.
- Character recognition result voting 172 votes each of the character part and the * part represented by * in the regular expression, similarly to the character recognition result voting 161 of the item extraction unit 160. The character part is voted for each character and the * part is put together. In the example of character set A (601), each of the character parts “year”, “month”, “day”, and * part “2004 September 30” is voted.
- Graph generation (consistency evaluation) 173 and data string candidate determination (maximum clique determination) 17 4 is the same as graph generation (consistency evaluation) 162 and maximum clique determination 163 of the item extraction unit 160 , Clique extraction, maximum clique determination.
- graph generation each voted character and the * part are taken as nodes, and if consistency is established by the positional relationship between the nodes, nose is set.
- the maximum clique only those whose number of nodes constituting the clique is more than a certain threshold are selected.
- the clique is judged to be incompatible and is deleted. When the number of nodes is greater than a certain threshold for the remaining clique, all the areas and characters corresponding to those cliques are output.
- the output character can be corrected by re-recognizing the character type for the output clique.
- FIG. 16 is a flowchart showing the procedure of data extraction processing in the present embodiment.
- Step S23 Perform a data string matching process for regular expression Rj of category Ci.
- the maximum clique for the regular expression Rj of the category Ci is determined by the force matching process described later in detail.
- Step S24 In order to process the next regular expression, j is incremented by one.
- Step S25 Compare j with the number of regular expressions defined in the logical definition. If j has not reached the number of regular expressions, the process returns to step S23 to perform matching processing for the next regular expression. If it has reached, all regular expressions end.
- Step S26] i is incremented by 1 to perform processing for the next category.
- Step S27 Compare i with the number of categories defined in the logical definition. If i has not reached the number of categories, the process returns to step S22 to process the next category. If all power category processing is complete, the processing ends.
- FIG. 17 is a flowchart showing a procedure of data character string matching processing in the present embodiment.
- Step S231 Extract the * part type and other character strings described in the data regular expression stored in the logical definition database 150, and link the adjacent characters with a link. Perform character integration to extract a set of characters as a * part.
- Step S233 With each voted character and * part as a node, if consistency is established between the nodes, a graph is generated by connecting the nodes with a path.
- Step S234 From the graph generated in Step S233, complete the maximum of the graph. Extract cliques that are all subgraphs. All nodes that make up the clique are connected to other nodes by paths.
- Step S235 Of the cliques extracted in Step S234, select only the number of nodes constituting the clique that exceeds a certain threshold. In addition, the validity of clique character placement is checked, and invalid cliques are deleted. For the remaining cliques, when the number of nodes is greater than a certain threshold, all the areas and characters corresponding to those cliques are output.
- the items extracted by the item extraction unit 160 and the data extracted by the data extraction unit 170 based on the relative position of the data viewed from the items defined in the logical definition body,
- the correspondence is determined by counting the possibility of correspondence and considering the overall consistency. Similar to the item extraction unit 160 and the data extraction unit 170, the overall consistency is evaluated by generating a graph and extracting cliques.
- the item / data combination 181 is described in the logical definition body, assuming that the item string candidate I force S category C force is obtained for the item string candidate I extracted by the item extraction unit 160. Based on the relationship between the category C item and the data (relative position 205 of the data as seen from the item), the neighborhood area of item string candidate I is set. For example, if “below” is defined, the neighboring area is taken below the area of item string candidate I. If “Right” is defined, the neighboring region is placed to the right of the item string candidate I region. Then, a combination of item character string candidates and data character string candidates is generated for those in the set neighborhood area and satisfying the regular expression of category C data.
- Graph generation (consistency evaluation)
- the item extracted in item / data combination 181 Generate a graph with the combination of the eye character string and the data character string as a node. Check the consistency of all two combinations against the set of combinations of item string candidates and data string candidates. The relationship between the two combinations A and B is consistent if the item string candidates and the data string candidates that make up each combination do not overlap. When the consistency of the relationship is established for two combinations, a graph is generated by connecting nodes corresponding to the two combinations by paths.
- Combination determination (maximum clique determination)
- clique extraction and maximum clique determination are performed as in the item string matching process.
- extracting the maximum clique the one with the maximum number of nodes constituting the clique is output.
- FIG. 18 is a flowchart showing the procedure of the item “data association process in the present embodiment.
- Step S31 Based on the relative position of the data as seen from the items defined in the logical definition, the item string candidates and data string candidates with the same category are associated with each other, and the item string candidates and the data string candidates Count the combinations.
- Step S32 The combination of the item character string and the data character string extracted in Step S31 is used as a node, and all the two combinations are! /, Consistent (the items that make up each combination) Check that there is no overlap between the character string candidate and the data character string candidate!), And if there is consistency, create a graph with a path between the nodes.
- Step S33 A clique that is a maximal complete partial graph of the graph is extracted from the graph generated in step S32.
- Step S34 The maximum clique is also extracted from the clique force extracted in step S33. In extracting the largest clique, the one with the largest number of nodes constituting the clique is output.
- the combination of the item character string candidate and the data character string candidate is determined in consideration of the overall consistency.
- the correspondence can be selected correctly.
- the above processing functions can be realized by a computer.
- a program describing the processing contents of the functions that the form processing apparatus should have is provided.
- the above processing functions are realized on the computer.
- the program describing the processing contents can be recorded on a computer-readable recording medium.
- the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory.
- Magnetic recording devices include hard disk drives (HDD), flexible disks (FD), and magnetic tapes.
- Optical discs include DVD (Digital Versatile Disc), DVD—RAM (Random Access Memory), CD—ROM (Compact Disc Read Only Memory), and CD—R (Recordable) ZRW (Rewritable).
- Magneto-optical recording media include MO (Magneto-Optical disk).
- the computer that executes the program stores, for example, a program recorded on a portable recording medium or a server computer-powered program in its own storage device. Then, the computer reads its own storage device power program and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the server computer program is transferred, the computer can also execute processing according to the received program.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
キーワードを自動抽出する。
スキャンされた帳票画像が入力されると、レイアウト認識手段(11)は、帳票画像の読み取り領域を抽出し、文字認識手段(13)は、その読み取り領域について文字認識を行う。帳票論理定義体データベース(14)には、キーワードを構成する文字列を同種の帳票に共通する論理構造に応じて定義した帳票論理定義体が格納されている。文字列候補抽出手段(15)は、文字認識された文字が、定義された文字列の関係を満たす組み合わせを文字列候補として抽出する。そして、対応付け手段(16)は、文字列候補を位置関係に応じて対応付け、キーワードを構成する文字列候補の組み合わせを決定する。
Description
明 細 書
帳票処理プログラムおよび帳票処理装置
技術分野
[0001] 本発明は帳票処理プログラムおよび帳票処理装置に関し、特にスキャンされた帳 票画像から所定のキーワードを抽出する帳票処理のための帳票処理プログラムおよ び帳票処理装置に関する。 背景技術
[0002] 従来、紙文書を電子化する帳票入力業務には、定型帳票入力と非定型帳票入力 の 2つのパターンがあった。
定型帳票入力は、入力される帳票の種類が既知の場合の入力方法で、入力される 帳票のキーワード位置などが記されたレイアウト定義体が予め作成される。そして、ス キャンされた帳票画像に対してフォーム識別を行 、、フォームに対応するレイアウト定 義体に基づきキーワードを自動抽出する。し力しながら、定型帳票入力は、帳票の種 類が既知でない場合には対応できないという問題点がある。したがって、対象とする 帳票それぞれについてレイアウト定義体を予め人手で作成しておかなければならな いが、それには非常にコストがかかる。
[0003] 一方、非定型帳票入力は、入力される帳票の種類が既知でない場合の入力方法 で、レイアウト定義体を作成しておくことができない。このため、人手によって入力作 業を行わなければならず、入力コストが膨大となって 、た。
[0004] このように、定型帳票入力および非定型帳票入力ともに問題点があり、帳票入力業 務を効率ィ匕するため、非定型の帳票力 キーワードを自動抽出する手法が求められ ていた。
そこで、帳票のイメージを認識し、予め設定されたキーワードに基づき、読み取り領 域を検索して抽出するとともに、その領域内の認識データを取得する帳票処理装置 が提案されている (たとえば、特許文献 1参照)。
[0005] また、キーワード抽出の確度を上げるため、文書画像カも鄞線などの形状に応じた 仮のセル領域を抽出してセル内の画像を文字認識し、認識結果カゝら指定キーワード
に対応する文字列を検索し、検索された文字列からセル領域を特定する画像処理方 法も提案されている (たとえば、特許文献 2参照)。
特許文献 1:特開平 11 238165号公報 (段落番号〔0009〕〜〔0012〕、図 3) 特許文献 2:特開 2001— 312691号公報 (段落番号〔0013〕〜〔0018〕、図 2) 発明の開示
発明が解決しょうとする課題
[0006] 従来、非定型の帳票からキーワードを自動抽出する場合には、帳票画像に対して、 レイアウト認識を行って読み取り領域を決め、決められた読み取り領域の文字認識を 行い、認識された文字列力もキーワードに相当するものを単語マッチングで検索して いた。ところが、レイアウト定義のない非定型の帳票画像に対してレイアウト認識と文 字認識を正しく行うことは容易ではなぐ失敗する可能性が常にある。しかしながら、 従来の帳票処理は、レイアウト認識および文字認識が行われて抽出された文字列で マッチングを行うため、認識が正しくないとキーワードを抽出することができなくなると いう問題点がある。
[0007] 一例を挙げて説明する。図 19は、レイアウト認識失敗でキーワードを正しく抽出で きないケースを示した図である。(A)は、帳票イメージであり、(B)は、(A)の帳票ィメ ージについてレイアウト認識されたテキストブロックを示した図である。
[0008] 図の例では、帳票の汚れなどによって、スキャナで読み取った帳票イメージ 901に ノイズ 902が発生している。この帳票イメージ 901についてレイアウト認識を行うと、「 御見積 (金額)」と「御見積(品名)」との間にノイズ 902があるため、これらを 1つのプロ ックと認識してしまい、ノイズを含めたテキストブロック 903が誤って抽出される。これ により、「御見積」と「金額」および「御見積」と「品名」が分離されてしまう。続いて、この テキストブロックに対して文字認識を行うと、たとえば、テキストブロック 903は「御見積 • · ·と御見積」、テキストブロック 904は「金額」、テキストブロック 905は「品名」、テキス トブロック 906は「¥ 120, 000」およびテキストブロック 907は「パソコン」と文字認識 が行われる。したがって、マッチング検索を行うキーワードに「御見積金額」や「御見 積品名」があっても、文字認識結果力もは検出されないため、キーワードが抽出され ないことになる。
[0009] このように、レイアウト認識に失敗すれば、文字を正しく認識しても文字の並びが正 しくなくなるので、キーワードを抽出することができなくなるという問題がある。また、レ ィアウト認識が正しくても、文字認識が失敗すれば同様の問題が発生する。
[0010] さらに、キーワードには、項目とデータの 2種類の要素がある力 従来の帳票処理で は、項目とデータの正しい対応付けを行うことができない場合があるという問題点があ る。
図 20は、項目とデータの対応付けが難しいケースを示した図である。(A)は、 1つ のデータに 2つの項目が対応する可能性がある場合、 (B)は、 1つの項目に 2つのデ ータが対応する可能性がある場合を示して 、る。
[0011] (A)の場合、帳票イメージ 910に対するレイアウト認識処理および文字認識処理が 行われ、項目「金額」 911および「合計」 915と、データ「¥40, 000」912、「¥42, 0 00」 913および「¥82, 000」 914を得る。それぞれのテキストブロックの位置関係に 基づき、垂直方向または水平方向の座標値がほぼ等しい項目とデータ、すなわち、 垂直方向または水平方向に並んでいると見なせる項目とデータを対応付けする。図 の ί列では、「¥40, OOOJ 912と「¥42, 000」913は、垂直方向に並んで酉己置されて いる「金額」 911と対応付けることができる。ところが、「¥82, 000」 914については、 垂直方向に並ぶ「金額」 911と、水平方向に並ぶ「合計」 915のどちらにも対応付ける ことができる。どちらが正しいかは、位置関係からは判定できない。
[0012] 一方、(Β)の場合、帳票イメージ 920に対するレイアウト認識処理と文字認識処理 により、項目「発行日」 921および「見積有効期限」 923と、データ「2005年 12月 02 日」 922および「2005年 12月 16日」 924が得られる。それぞれのテキストブロックの 位置関係に基づき、「見積有効期限」 923と「2005年 12月 16日」 924を対応付ける ことができる。ところが、「発行日」 921には、水平方向に並ぶ「2005年 12月 02日」 9 22と、垂直方向に並ぶ「2005年 12月 16日」 924のどちらも対応付けることができる。 どちらが正しいかは、位置関係からは判定できない。なお、「2005年 12月 16日」 92 4につ 、て見れば、「発行日」 921および「見積有効期限」 923の両方と組になる可能 '性がある。
[0013] このように、抽出されたキーワードの項目とデータを正しく対応付けすることが難し
い場合があるが、従来方式では、どれが正しい対応なのかを選択する方法が開示さ れていない。
[0014] 本発明はこのような点に鑑みてなされたものであり、認識結果の欠損やノイズがあつ てもキーワード抽出を安定的に行うことが可能な帳票処理プログラムを提供すること を目的とする。また、本発明の他の目的は、キーワードの項目とデータの対応関係を 全体の整合性を考慮して決定することが可能な帳票処理装置にある。 課題を解決するための手段
[0015] 本発明では上記課題を解決するために、図 1に示すような処理をコンピュータに実 行させるための帳票処理プログラムが提供される。本発明に力かる帳票処理プロダラ ムは、帳票処理装置 1に適用され、コンピュータに以下の処理を実行させることがで きる。帳票処理装置 1は、レイアウト認識手段 11、文字認識手段 13、文字列候補抽 出手段 15および対応付け手段 16を具備し、スキャンされた帳票画像力も所定のキ 一ワードを抽出する。レイアウト認識手段 11は、帳票画像のレイアウトを認識し、帳票 画像における文字画像の読み取り領域を抽出する。文字認識手段 13は、抽出され た読み取り領域の文字画像に対し文字認識を施し、認識された文字を文字認識結 果として出力する。文字列候補抽出手段 15は、キーワードを構成する文字列を同種 の帳票に共通する論理構造に応じて定義した帳票論理定義体に基づき、帳票論理 定義体にキーワードとして定義される文字列に含まれる文字を文字認識結果力 抽 出し、抽出された文字間の関係がキーワードを構成する文字列としての位置関係を 満たす組み合わせを文字列候補とする。対応付け手段 16は、複数の要素力もなるキ 一ワードについて、要素に応じた文字列候補の帳票画像上の位置関係に応じて対 応付け、キーワードを構成する文字列候補の組み合わせを決定する。
[0016] このような帳票処理装置 1によれば、スキャンされた帳票画像が入力されると、レイ アウト認識手段 11は、帳票画像のレイアウト認識を行い、文字画像の読み取り領域を 抽出する。文字認識手段 13は、抽出された読み取り領域の文字画像について文字 認識を行い文字認識結果を出力する。これにより、レイアウト認識された文字画像の 読み取り領域について文字認識が行われ、帳票に記述された文字が判明する。帳 票論理定義体データベース 14には、キーワードを構成する文字列を同種の帳票に
共通する論理構造に応じて定義した帳票論理定義体が格納されて!ヽる。文字列候 補抽出手段 15は、帳票論理定義体にキーワードとして定義される文字列に含まれる 文字を文字認識結果から抽出する。そして、抽出された文字について、文字間の関 係の整合性を調べ、関係がキーワードを構成する文字列としての位置関係を満たす 組み合わせを文字列候補とする。対応付け手段 16は、キーワードが複数の要素を有 する場合、文字列候補を位置関係に応じて対応付け、キーワードを構成する文字列 候補の組み合わせを決定する。
発明の効果
[0017] 本発明の帳票処理は、帳票のレイアウトに対応するレイアウト定義体ではなぐ帳票 の有する論理構造を定義した帳票論理定義体に基づきキーワードを自動抽出するこ とにより、同じ論理構造を備えた帳票であればレイアウトが異なっていてもキーワード を自動抽出することができる。また、キーワードを抽出する場合には、キーワードとし て定義された文字列に含まれる文字を文字認識結果力 抽出し、各文字間の関係 が帳票餘理定義体に定義された文字列としての関係を満たす組み合わせを文字列 候補として抽出し、キーワードを構成する文字列候補同士を対応付ける。このため、 キーワードとして定義される文字列と完全に一致しなくても、文字列としての関係を満 たすと見なされれば、キーワードとして抽出される。この結果、レイアウト認識の失敗 や文字認識の失敗に影響を受けることなぐ安定的なキーワード抽出が可能となる。
[0018] 本発明の上記および他の目的、特徴および利点は本発明の例として好ま U、実施 の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
図面の簡単な説明
[0019] [図 1]実施の形態に適用される発明の概念図である。
[図 2]本実施の形態の帳票処理装置のハードウ ア構成例を示した図である。
[図 3]本実施の形態の帳票処理装置のソフトウェア構成例を示した図である。
[図 4]本実施の形態の論理定義体の一例を示した図である。
[図 5]本実施の形態の帳票処理装置に入力される帳票画像の一例である。
[図 6]本実施の形態における文字認識結果力もの文字抽出を示した図である。
[図 7]本実施の形態における項目文字列マッチングの投票結果を示した図である。
[図 8]本実施の形態において生成されるグラフの一例を示した図である。
[図 9]本実施の形態の帳票処理装置における整合性グラフテーブルの一例を示した 図である。
[図 10]本実施の形態における文字配置の妥当性検証の一例を示した図である。
[図 11]複数行にわたる項目文字列の一例を示した図である。
[図 12]本実施の形態における項目抽出処理の手順を示したフローチャートである。
[図 13]本実施の形態における項目文字列マッチング処理の手順を示したフローチヤ ートである。
[図 14]本実施の形態における項目文字列候補決定処理の手順を示したフローチヤ ートである。
[図 15]本実施の形態における *部抽出の一例を示した図である。
[図 16]本実施の形態におけるデータ抽出処理の手順を示したフローチャートである。
[図 17]本実施の形態におけるデータ文字列マッチング処理の手順を示したフローチ ヤートである。
[図 18]本実施の形態における項目 ·データ対応付け処理の手順を示したフローチヤ ートである。
[図 19]レイアウト認識失敗でキーワードを正しく抽出できないケースを示した図である
[図 20]項目とデータの対応付けが難しいケースを示した図である。
発明を実施するための最良の形態
[0020] 以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用 される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する 図 1は、実施の形態に適用される発明の概念図である。
[0021] 本発明にかかる帳票処理装置 1は、読み取り領域を抽出するレイアウト認識手段 1 1、読み取り領域の文字認識を行う文字認識手段 13、文字列候補を抽出する文字列 候補抽出手段 15、および文字列候補の対応付けを行う対応付け手段 16の処理手 段と、認識辞書データベース 12および帳票論理定義体データベース 14の記憶手段
を有する。なお、帳票処理装置 1の各処理手段は、コンピュータが帳票処理プロダラ ムを実行することによって、その処理機能が実現される。
[0022] レイアウト認識手段 11は、入力された帳票画像のレイアウトを認識し、文字画像を 含む読み取り領域を抽出し、文字認識手段 13に通知する。レイアウト認識手法は、 様々な手法が知られており、ここでは、そのうちの任意の手法を用いるとする。
[0023] 認識辞書データベース 12は、文字画像の文字認識に用いる認識辞書が格納され る。
文字認識手段 13は、抽出された読み取り領域の文字画像について、認識辞書デ ータベース 12を参照して文字認識を行い、認識された文字を文字認識結果として文 字列候補抽出手段 15へ出力する。文字認識処理は、通常は全字種を認識対象とし て行うが、帳票論理定義体データベース 14の帳票論理定義体に定義される文字列 および文字種に認識対象を限定して文字認識を行うこともできる。文字種が限定され れば、文字認識の確度を上げることができる。
[0024] 帳票論理定義体データベース 14には、キーワードを構成する文字列を同種の帳票 に共通する論理構造に応じて定義した帳票論理定義体が格納される。帳票の論理 構造は、意味、項目およびデータと、それらの間に成り立つ関係力もなる。帳票論理 構造定義体には、キーワードを構成する 2種類の要素である項目とデータに関する 定義がカテゴリごとに設定されている。項目は、キーワードの意味に対応する表現で
、帳票に記述される項目文字列が定義される。データは、キーワードの意味に対応 する実際の値であり、帳票に記述される際の正規表現と文字種などを含むデータ領 域属性が定義される。
[0025] 文字列候補抽出手段 15は、帳票論理定義体データベース 14に格納される帳票論 理定義体に基づき、文字認識された文字が帳票論理定義体に定義される文字列とし ての関係を満たす組み合わせを文字列候補として抽出する。具体的には、項目文字 列候補抽出手段 15aは、帳票論理定義体に定義される項目文字列をキーとして、文 字認識結果から定義された文字列に含まれる文字を抽出する。そして、項目文字列 を構成する各文字に投票し、投票された文字間の位置関係の整合性を評価し、互い に文字列としての位置関係を満たす組み合わせを求める。整合性の評価には、ダラ
フ理論を用いて、たとえば、投票された文字をノードとし、すべての 2つのノードに対 し、対応する文字について位置に関する整合性を判定し、整合性があると判断され たとき、それらのノードをパスで結ぶことによりグラフを作成する。次に、このグラフから 、グラフの極大完全部分グラフであるクリークを抽出する。クリークを構成するすべて のノードは、自分以外のノードとパスで結ばれているので、クリークを構成するノード はすべて整合性を満たしている。各クリークの評価値を計算し、最も良いクリークを決 定することにより、項目文字列のマッチング度が定まる。そして、最も良いマッチング 度の項目文字列を項目文字列候補として出力する。また、データ文字列候補抽出手 段 15bは、帳票論理定義体に定義されるデータ領域属性に基づき、文字認識結果 からデータ文字列候補を抽出する。まず、データ領域属性に定義されるデータの正 規表現のうち、値を表す部分を文字認識結果から抽出し、値部としてまとめておく。さ らに、まとめられた値部と、正規表現に含まれる文字列について、データ文字列候補 抽出手段 15bと同様の処理を行い、データ文字列候補を決定する。
[0026] 対応付け手段 16は、キーワードを構成する文字列として、項目文字列候補抽出手 段 15aにより決定された項目文字列候補と、データ文字列候補抽出手段 15bにより 決定されたデータ文字列候補について、帳票論理定義体に基づき、位置関係に応 じた対応付けを行い、項目文字列とデータ文字列の組み合わせを決定する。たとえ ば、項目文字列とデータ文字列の相対的な位置関係力 組み合わせを生成し、生 成された組み合わせをノードとし、 2つの組み合わせ間の組み合わせ上の整合性を 調べ、整合性があると判断されたとき、それらをパスで結ぶことにより、グラフを生成す る。そして、グラフ力もクリークを抽出し、各クリークの評価値を計算し、最も良いタリー クを決定することにより、項目文字列とデータ文字列の組み合わせを決定する。
[0027] このような構成の帳票処理装置 1の動作について説明する。
帳票論理定義体データベース 14には、予め、対象の帳票の論理構造を定義した 帳票論理定義体を格納しておく。
[0028] 帳票画像が入力されると、レイアウト認識手段 11は、レイアウト認識を行って文字画 像の読み取り領域を抽出する。文字認識手段 13は、認識辞書データベース 12に格 納される認識辞書を参照し、抽出された読み取り領域の文字認識を行い、認識され
た文字から文字認識結果を生成する。ここまでの処理で、帳票画像上の文字が文字 認識され、文字認識結果として文字列候補抽出手段 15へ出力される。
[0029] 項目文字列候補抽出手段 15aは、文字認識結果から、帳票論理定義体データべ ース 14に格納される帳票論理定義体に定義される項目文字列に含まれる文字を抽 出し、抽出された各文字に投票する。そして、投票された文字の間で、位置に関する 整合性を判定し、互いに文字列としての関係を満たす組み合わせを求め、項目文字 列候補を決定する。一方、データ文字列候補抽出手段 15bは、文字認識結果から、 帳票論理定義体に定義されるデータ領域属性に基づき、正規表現のうち値を表す 部分を文字認識結果から抽出し、値部としてまとめておく。さらに、文字認識結果から 、正規表現の文字列と合わせ、項目文字列候補抽出手段 15aと同様に、互いに文字 列としての関係を満たす組み合わせを求め、データ文字列候補として抽出する。対 応付け手段 16は、文字列候補抽出手段 15が決定した項目文字列候補とデータ文 字列候補を、帳票論理定義体に定義される項目とデータの位置関係に基づいて対 応付けし、項目文字列候補とデータ文字列候補の組み合わせを決定する。
[0030] 以上の処理手順をカテゴリごとに繰り返し、全カテゴリのキーワードが抽出される。
このように、本発明にかかる帳票処理装置 1では、キーワードを定義した帳票論理 定義体に基づき、文字認識された各文字が帳票論理定義体に定義される文字列とし ての関係を満たす組み合わせの文字集合のうち、最もマッチング度の高いものを選 択する。このため、文字認識結果が一部誤っていても、他の正しい文字認識結果に よってマッチングがとれるので、正しいマッチングが可能となる。また、同様にして、レ ィアウト認識が誤り、文字認識結果が正しい並びをしていなくても、正しいマッチング が可能となる。そして、項目文字列とデータ文字列の組み合わせが複数考えられると きでも、全体として最も整合性のある組み合わせを取り出せるので、正しい結果が得 られること〖こなる。
[0031] 以下、実施の形態を図面を参照して詳細に説明する。
図 2は、本実施の形態の帳票処理装置のハードウェア構成例を示した図である。 帳票処理装置 100は、 CPU (Central Processing Unit) 101によって装置全体が制 御されている。 CPU101には、バス 107を介して RAM (Random Access Memory) 10
2、ハードディスクドライブ(HDD : Hard Disk Drive) 103、グラフィック処理装置 104、 入力インタフェース 105、通信インタフェース 106が接続されて!、る。
[0032] RAM102には、 CPU101に実行させる OS (Operating System)のプログラムゃァ プリケーシヨンプログラムの少なくとも一部が一時的に格納される。また、 RAM102に は、 CPU101による処理に必要な各種データが格納される。 HDD103には、 OSや アプリケーションのプログラムが格納される。グラフィック処理装置 104には、モニタ 1 08が接続されており、 CPU101からの命令に従って画像をモニタ 108の画面に表示 させる。入力インタフェース 105には、キーボード 109aやマウス 109bが接続されて おり、キーボード 109aやマウス 109bから送られてくる信号を、バス 107を介して CP U101に送信する。通信インタフェース 106は、スキャナ 20に接続されており、スキヤ ナ 20が読み取った帳票画像データが送られてきたら、ノ ス 107を介して CPU101に 送信する。なお、スキャナ 20は、直接バス 107を介して接続するとしてもよい。
[0033] このようなハードウェア構成によって、本実施の形態の処理機能を実現することがで きる。
次に、帳票処理装置 100の処理機能を実現するソフトウェア構成について説明す る。図 3は、本実施の形態の帳票処理装置のソフトウェア構成例を示した図である。
[0034] 帳票処理装置 100は、レイアウト認識部 110、文字認識部 130およびキーワード抽 出部 140の処理部と、認識辞書データベース 120と論理定義体データベース 150の データベースを有して 、る。
[0035] キーワード抽出部 140は、項目文字列候補を抽出する項目抽出部 160、データ文 字列候補を抽出するデータ抽出部 170および項目文字列候補とデータ文字列候補 とを対応付ける対応付け部 180を有する。
[0036] レイアウト認識部 110は、スキャナが読み取った帳票画像のレイアウトを認識し、文 字画像を含む読み取り領域を抽出するレイアウト認識手段である。
認識辞書データベース 120には、文字認識に用いる辞書情報が格納される。
[0037] 文字認識部 130は、レイアウト認識部 110が抽出した読み取り領域に対し文字認識 を行い、文字認識結果を出力する文字認識手段である。
論理定義体データベース 150には、同種の帳票に共通する論理構造を定義するよ
う帳票餘理定義体 (以下、論理定義体とする)が格納される。たとえば、見積書であれ ば、「日付情報」、「依頼番号」などが含まれるというように、同じ種類の帳票であれば 、レイアウトは異なっていても含まれる情報項目など、共通する箇所が多くある。これ らをまとめたものが論理構造である。帳票の論理構造は、意味、項目、データ力もな る組と、それらの間に成り立つ関係力 なる。意味は、帳票における表現機能を表す 。項目は、その意味に対応する表現機能が実際に帳票で表現される文字列を表す。 データは、意味に対応する表現機能において、実際の値を表す。それらの間に成り 立つ関係は、組同士の関係を表し、対応関係や、数式が成立する関係などがある。 詳細は後述するが、論理定義体データベース 150には、項目については項目文字 列が定義され、データについてはデータ領域属性が定義されている。
項目抽出部 160は、文字認識結果投票 161、グラフ生成 (整合性評価) 162、最大 クリーク決定 163および項目文字列候補決定 164のモジュールによってその処理機 能を実現している。文字認識結果投票 161は、文字認識結果と論理定義体に定義さ れる項目文字列に含まれる文字を照合し、検出された場合は、定義されている項目 文字列を構成する文字に投票する。グラフ生成 (整合性評価) 162は、文字認識結 果投票により得られた各文字間の整合性を評価し、グラフを生成する。具体的には、 投票された文字をノードとし、各文字間に文字列としての位置関係の整合性があるか どうかを判断する。たとえば、 2文字間における論理定義体データベース 150に定義 される項目文字列としての文字の並び順に基づく位置関係 (項目文字列に「注文番 号」が定義されて 、るとすると、「文」に対し「番」または「号」が文字の並び順で後ろに 配置されていればよい)、文字同士の位置関係(同一行にあるか)などに基づき、整 合性を判断し、整合性があれば、ノード間をパスで結ぶ。この手順を各文字 (ノード) について順次実行し、グラフを生成する。最大クリーク決定 163は、グラフ生成 (整合 性評価) 162によって作成されたグラフ力もクリークを抽出し、クリークの中から妥当な ものを選択し、最も高いマッチング率の最大クリークを決定する。マッチング率は、た とえば、クリークを含む文字集合に含まれるノードの割合などにより算出される。 1つ のカテゴリに複数の項目文字列が定義されて!、る場合、それぞれの項目文字列ごと に最大クリークが決定される。そこで、カテゴリで 1つの項目文字列候補を選択する。
項目文字列候補決定 164は、カテゴリに属する項目文字列の中で、最大クリーク決 定 163により決定された最大クリークのうち、最も良いマッチング度のものを項目文字 列候補として出力する。
[0039] ここで、グラフについて説明する。グラフは、ノード (節点.頂点)の集合と、ノードを つなぐパス (枝、辺)の集合で構成される「つながり方」に着目して抽象化された「点と それを結ぶ線」の概念であり、グラフが持つ様々な性質を探求するのがグラフ理論で ある。また、グラフ中の任意の 2頂点間にパスが張られている頂点集合はクリークと呼 ばれ、クリークの中で最大のものを見つける手法を最大クリーク抽出と呼ぶ。グラフか ら最大クリークを抽出する手法はよく知られており、たとえば、「C. Bron and J. Ke rbosch, "Finding all cliques of an undirected graph , Commun. AC M, Vol. 16, No. 9, pp575 - 577, 1973」【こ開示されて!ヽる。
[0040] データ抽出部 170は、 *部抽出 171、文字認識結果投票 172、グラフ生成 (整合 性評価) 173およびデータ文字列候補決定 (最大クリーク決定) 174のモジュールに よってその処理機能を実現している。固定の文字列で表現される項目と異なり、デー タを表す文字を限定することはできないが、データを表現する形式 (以下、正規表現 とする)とデータの文字種は定義することができる。たとえば、 日付は、「*年 *月 * 日」と表現できる。 *は、任意の数字または記号を表す。以下、「 *」で示したあらゆる 文字の代わりになる記号をワイルドカードと呼ぶ。 *部抽出 171は、文字認識結果か らデータのワイルドカード部分をまとめて抽出し、全体を *部としておく。文字認識結 果投票 172は、文字認識結果から抽出されるデータの正規表現に含まれる文字列と 、 *部について、文字認識結果投票 161と同様に投票処理を行う。そして、グラフ生 成 (整合性評価) 173では、グラフ生成 (整合性評価) 162と同様にグラフを作成し、 データ文字列候補決定 (最大クリーク決定) 174にお 、て項目文字列候補決定 164 と同様にして最も高いマッチング率の最大クリークをデータ文字列候補として決定す る。
[0041] 対応付け部 180は、項目 ·データ組み合わせ 181、グラフ生成 (整合性評価) 182、 組み合わせ決定 (最大クリーク決定) 183のモジュールによってその処理機能を実現 している。項目 'データ組み合わせ 181は、項目抽出部 160が抽出した項目文字列
候補と、データ抽出部 170が抽出したデータ文字列候補について、対応付けられる 可能性のあるものを数え上げる。グラフ生成 (整合性評価) 182は、数え上げられた 組み合わせをノードとし、組み合わせの位置関係における整合性がある場合にはノ 一ド間をパスで結ぶことによってグラフを作成する。組み合わせ決定 183は、グラフか ら最も整合性の高い最大クリークを決定する。すなわち、最も整合性のある項目文字 列とデータ文字列の組み合わせを決定する。
[0042] 以下、本発明の実施の形態の帳票処理装置 100の動作および帳票処理手順につ いて説明する。
まず、論理定義体データベース 150に格納される論理定義体について説明する。 図 4は、本実施の形態の論理定義体の一例を示した図である。
[0043] 論理定義体は、帳票論理構造をなす意味、項目およびデータを定義する。
キーワードは、意味に応じてカテゴリ 201に分類される。図の例では、日付 210と帳 票番号 220が定義されて!、る。
[0044] 項目に関し、意味を表現する文字列、項目文字列 202としてカテゴリごとに定義さ れる。図の例では、 日付 210には、「年月日」、「発行日」および「作成日」が定義され る。また、帳票番号 220には、「注文番号」および「貴社受付番号」が定義されている
[0045] データに関し、意味に対応する実際の値、データ領域属性として、データで使用さ れる文字 203、データで使用される正規表現 204がカテゴリごとに定義される。デー タで使用される文字 203は、実際の値を表す文字の種類が定義される。たとえば、 日 付 210には、データが「数字」で表されることが定義されている。データで使用される 正規表現 204には、データの表現形式が定義されている。たとえば、日付 210では、 「*年 *月 *日」、「平成 *年 *月 *日」という表現形式がとられることを示している。
[0046] さらに、項目力も見たデータの相対的位置 205や項目とデータの間に存在してもよ い文字 206など力 カテゴリごとに必要に応じて定義される。たとえば、日付 210には 、「右」、「下」が定義されている。これは、項目が配置される領域力 右方向または下 方向にデータが配置されることを表している。また、項目とデータの間に存在してもよ い文字 206には、「:」が定義されており、抽出された項目文字列候補とデータ文字列
候補の間に「:」が存在して 、ても、整合性が成り立つことを示して!/、る。
[0047] 次に、帳票画像が入力されてからの処理手順を説明する。帳票画像が入力される と、レイアウト認識部 110によるレイアウト認識処理と、文字認識部 130による文字認 識処理が順次実行される。以下、帳票画像の一例を用いて説明する。
[0048] 図 5は、本実施の形態の帳票処理装置に入力される帳票画像の一例である。
帳票画像 300は、「御見積書」の一部であり、レイアウト認識部 110は、帳票画像 30 0を入力し、レイアウト認識処理を行って読み取り領域を抽出する。文字認識部 130 は、全字種を認識対象として読み取り領域の文字認識を行う。帳票画像 300の場合 、「御見積書」 301、「2005年 9月 25日」 302、「B株式会社御中」 303、「貴社受付番 号」 304、「20050925— 0101」 305、「A株式会社」 306、「電話番号」 307、「044 123— 4445」 308が文字認識結果として出力される。
[0049] なお、文字認識において、論理定義体データベース 150の論理定義体に基づき、 認識対象の文字を限定することができる。たとえば、図 4に示した日付 210は、文字と して「年」、「月」、「日」、「発」、「行」、「作」、「成」、「平」および数字だけを使用するの で、字種をこれらに限定しても文字認識されることがわかる。同様に、帳票番号 220 は、「注」、「文」、「番」、「号」、「貴」、「社」、「受」、「付」および数字に限定することが できる。このように、すべてのカテゴリに関する認識対象の文字を取り出し、全カテゴリ の和をとり、これを認識対象とする。これにより、文字認識の確度が高くなる。
[0050] 続いて、キーワード抽出部 140が処理を開始する。キーワード抽出処理は、項目抽 出部 160による項目文字列候補の抽出と、データ抽出部 170によるデータ文字列候 補の抽出が行われた後、対応付け部 180による項目文字列候補とデータ文字列候 補の対応付けが行われる。
[0051] (1)項目抽出
項目抽出処理では、論理定義体に定義される項目文字列に基づき、文字認識結 果から項目を表す項目文字列を抽出する。
[0052] まず、文字認識結果投票 161が、論理定義体データベース 150に格納される論理 定義体に基づき、文字認識結果から定義される項目文字列に含まれる文字を抽出し 、投票を行う。ここでは、帳票画像 300の帳票について、項目文字列として「貴社受
付番号」、「注文番号」および「受付 No.」が定義されているとする。そこで、文字認識 結果から項目文字列の定義に含まれる文字を抽出する。
[0053] 図 6は、本実施の形態における文字認識結果からの文字抽出を示した図である。
図 6は、帳票画像 300から文字が抽出された箇所を抜き出した図で、図 5と同じもの には同じ番号を付す。
[0054] 項目文字列に含まれる文字と一致したものを順次抽出する。このとき、便宜的に抽 出された文字をアルファベットでラベル付けする。たとえば、「貴社受付番号」 304か らは、「貴 )」、「社 (b)」、「受 (c)」、「付 (d)」、「番 (e)」、「号 (f)」、「A株式会社」 30 6から「社 (g)」、「電話番号」 307から「番 (h)」と「号 (i)」、「B株式会社御中」 303から 「社 (j)」が抽出される。続いて、抽出された文字を、項目文字列の各文字に投票する
[0055] 図 7は、本実施の形態における項目文字列マッチングの投票結果を示した図であ る。図 6と同じものには同じ符号を付す。
項目文字列「貴社受付番号」 310については、「貴」に a、「社」に bと gと 「受」に c、 「付」に d、「番」に eと h、「号」に fと iが投票される。同様に、項目文字列「注文番号」 3 20については、「番」に eと h、「号」に fと iが投票され、「受付 No.」330については、「 受」に 「付」に dが投票される。
[0056] グラフ生成 (整合性評価) 162では、投票結果に基づき、投票された文字をノードと したグラフを生成する。まず、投票された文字の集合に対して、すべての 2文字の組 について文字列としての関係と、位置に関する整合性を調べる。 2つの文字 Aと Bの 位置関係に整合性があるとは、それぞれの文字が、該当する項目文字列の i番目の 文字であり、 j番目の文字である(ただし iく jであるとする)とき、 Aの X座標く Bの X座 標であり、かつ、 Aの y座標と Bの y座標がほぼ等しいということを満たすときである。な お、 Xは水平方向、 yは垂直方向の座標軸であるとする。
[0057] 具体的には、平均文字サイズを m、 yを Aの y座標値、 yを Bの y座標値とした場合
A B
に、
I y -y
A B I ≤ m/2 …(1)
を満たすときとする。平均文字サイズは、全文字について、その外接矩形の長辺の平
均とする。
[0058] なお、手書きの文字の場合は、 Aの y座標と Bの y座標がほぼ等しいという条件は厳 しすぎることもあるので、この条件を緩和し、式(1)を
I y -y
A Β I ≤ m · ' · (2)
として整合性を判定する。このように、整合性の基準は、帳票に応じて適宜設定する
[0059] 2つの文字に対して、それらの関係の整合性が成立するとき、それらの 2文字に相 当するノードをパスで結ぶことによりグラフを生成する。
図 8は、本実施の形態において生成されるグラフの一例を示した図である。各ノード 、 a、 b、 c、 d、 e、 f、 g、 h、 i、 jは、図 6で文字に付与されたアルファベットを示す。
[0060] たとえば、「貴 (a)」に対しては、項目文字列「貴社受付番号」に含まれる「社」、「受」 、「付」、「番」、「号」であって、位置関係が式(1)を満たすものが整合性を有すると判 断される。したがって、「社 (b)」、「受 (c)」、「付 (d)」、「番 (e)」、「号 (f)」、「社 (g)」が 整合性を有すると見なし、パスで結ぶ。同様の処理をノードごとに繰り返すと、図 8に 示したグラフが得られる。
[0061] こうして生成されたグラフから、グラフの極大完全部分グラフであるクリークを抽出す る。クリークを構成するすべてのノードは、自分以外のノードとパスで結ばれている。 たとえば、図の例では、 abcdef、 ag、 ei、 hi、; jがクリークとして抽出される。
[0062] なお、実際に帳票処理装置 100が処理を行う場合には、グラフは、図 8に示した図 形を表形式で表現した整合性グラフテーブルなどを用いる。図 9は、本実施の形態の 帳票処理装置における整合性グラフテーブルの一例を示した図である。
[0063] 整合性グラフテーブル 350では、縦と横にノードを配置し、交点に当たる欄にパス の状態を設定している。 1は、パスが結ばれていることを表し、 0はパスが結ばれてい ないことを表している。 1が設定される欄をたどっていけば、クリークを抽出することが できる。
[0064] そして、最大クリーク決定 163では、まず、抽出されたクリーク力も妥当なものだけを 選択する。たとえば、クリークを構成するノードの個数力 ある閾値以上のものだけを 選択する。これにより、項目文字列に対して、ある一定以上マッチングできたクリーク
だけが残る。図の例で閾値を 2とする場合、クリークとして抽出された abcdef、 ag、 ei 、 hi、; jのうち、 jが除外される。項目文字列に対して 1文字しかマッチングしないものは 、項目文字列である可能性が低いので、このようにしてクリークから除外する。
[0065] さらに、残ったクリークについて、文字配置による妥当性を検証する。クリークに対 応する画像上の文字集合に対し、それらを囲む領域の長さを文字数で割り、領域を 構成する文字の中心点 (領域の中心点)を算出する。算出した中心点と、実際の文 字の中心点のずれを求め、ある閾値を超えていれば、そのクリークは不適合と判断し て削除する。具体的には、平均文字サイズを m、文字数を n、各文字のずれを dとする とき、
[0066] [数 1]
n
i=1
[0067] を満たすときとする。なお、平均文字サイズは、全文字について、その外接矩形の長 辺の平均とする。一例を挙げて説明する。図 10は、本実施の形態における文字配置 の妥当性検証の一例を示した図である。
[0068] クリークに対応する文字集合「見積有効期限: 2004年 9月 30日」 400は、「見」 40 1、「積」 402および「日」 403がマッチングしている。文字集合 400に対し、これを囲 む外枠 420の長さを文字数で割り、領域を構成する文字の個数を用いて文字の中心 点を算出する。この場合、外枠 420の中心 431が算出されるとする。これに対し、実 際にマッチングした「見」、「積」、「日」の文字の中心点 432が得られる。この外枠 420 の中心 431と、マッチングした文字の中心 432とのずれ 433を評価する。図の例では 、ずれ 433は、式(3)により不適合と判定される。
[0069] また、クリークにおいて隣り合う 2文字に対応する画像上の 2文字の間に、その 2文 字の以外にも字があるとき、そのクリークを不適合と判断して削除する。図の例で、項 目文字列は「見積日」であるとすると、「積」 402と「日」 403の間には、他の文字があ るので不適合と判断される。
[0070] 以上のような処理を行い、妥当でないクリークは削除する。そして、残ったクリークに
っ 、て、最も高 、マッチング率のクリークを最大クリークとして出力する。 さらに、項目文字列候補決定 164は、項目文字列ごとに決定された最大クリークの マッチング率を比較し、最も高 、マッチング率のクリークを項目文字列候補として決 定する。複数のクリークが同じマッチング率を有する場合には、それらをすベて出力 する。マッチング率は、たとえば、文字集合に含まれるノードの数や、文字列がマッチ ングしている箇所の割合などによって算出する。
[0071] 以上の処理により、項目文字列候補が決定される。
なお、抽出されたクリークについて、ノードの個数、文字配置、ノイズによる検証をし た後、残ったクリークに対し、字種を限定した再認識によって評価を行うこともできる。 具体的には、この項目文字列を構成する文字集合に認識対象を限定して文字認識 を行う。文字認識結果のうち、認識信頼度がある閾値を上回った場合のみを残し、そ れ以外を捨てる。そして、残った文字認識結果に対し、投票、グラフ生成、クリーク抽 出を行い、最大クリークの個数を求め、この個数をクリークの評価値とする。そして、 評価値が最大のものを出力する。複数のクリークにおいて同じ評価値を有する場合 は、それらをすベて出力する。
[0072] また、上記では、キーワードを構成する文字列が同一行にある場合について説明し たが、項目が複数行にわたるようなレイアウトで構成される帳票も存在する。このような 場合、抽出されたクリークをノードとし、 2つのノード間に整合性が成り立つ場合には、 ノード間をパスで結びグラフを作成し、最大クリークを抽出することによって、複数行 にわたる文字列候補とその位置を識別する。
[0073] 図 11は、複数行にわたる項目文字列の一例を示した図である。
2つのクリークに対応する 2つの文字列、「御見積」 501と「番号」 502について、上 下には重ならない、かつ、左右には重なる場合であって、一方の先頭部の文字が、 他方の最後尾の文字よりも後ろにあり、順序が後ろの文字列は、前の文字列よりの画 像上で下にあるという条件を満たすときに、整合性があると判定される。
[0074] 図の例では、 2つの文字列を y方向に射影した 501yと 502yの範囲が重ならないの で上下には重ならないと判断できる。また、 X方向に射影した 501xと 502xの範囲が 重なるので、左右には重なると判断される。また、項目文字列「御見積番号」に対し、
順序が後ろの「番号」 502は「御見積」 501の後にあり、画像上の下にある。
[0075] このように、条件を満たすノード (クリーク)間にパスを張り、グラフを生成する。その 後、グラフからクリークを抽出し、最大クリークを抽出する。
ここで、項目抽出処理の手順について、フローチャートを用いて説明する。図 12は 、本実施の形態における項目抽出処理の手順を示したフローチャートである。
[0076] 文字認識結果が入力された後、処理を開始する。
[ステップ S11] 論理定義体に定義される全カテゴリの処理を繰り返すため、処理 中の i番目のカテゴリ(Ciとする)を指示する iを初期化 (i=0)する。
[0077] [ステップ S12] カテゴリ Ciに定義される全項目文字列の処理を繰り返すため、処 理中の i番目の項目文字列 (¾)を指示する jを初期化 (j = 0)する。
[ステップ S 13] カテゴリ Ciの項目文字列 ¾に対する項目文字列マッチング処理を 行う。処理の詳細は後述する力 マッチング処理により、カテゴリ Ciの項目文字列 ¾ に対する最大クリークが決定される。
[0078] [ステップ S14] 次の項目文字列に対する処理を行うため、 jを 1増加させる。
[ステップ S15] jを論理定義体に定義される項目文字列の数と比較する。 jが項目 文字列の数に到達していなければ、ステップ S13に戻って、次の項目文字列に対す るマッチング処理を行う。到達していれば、全項目文字列終了とする。
[0079] [ステップ S16] ステップ S 13からステップ S 15までの処理を繰り返すことにより、力 テゴリ Ciのすベての項目文字列に対応する最大クリークが決定されるので、カテゴリ Ciに対する項目文字列候補決定処理を行う。処理の詳細は後述する。
[0080] [ステップ S17] 次のカテゴリに対する処理を行うため、 iを 1増加させる。
[ステップ S18] iを論理定義体に定義されるカテゴリの数と比較する。 iがカテゴリ の数に到達していなければ、ステップ S12に戻って、次のカテゴリの処理を行う。全力 テゴリの処理が終了していれば、処理を終了する。
[0081] 項目文字列マッチング処理手順について説明する。図 13は、本実施の形態にお ける項目文字列マッチング処理の手順を示したフローチャートである。
項目文字列 ¾が指定された後、処理が開始される。
[0082] [ステップ S131] 論理定義体データベース 150に格納される論理定義体に基づ
き、文字認識結果から定義される項目文字列 Sjに含まれる文字を抽出し、投票を行
[ステップ S132] 投票結果に基づき、投票された文字をノードとしたグラフを生成 する。まず、投票された文字の集合に対して、すべての 2文字の組について文字列と しての関係と、位置に関する整合性を調べ、整合性が成立する場合にノード間にパ スを張ることによってグラフを生成する。
[0083] [ステップ S133] ステップ S132において生成されたグラフから、グラフの極大完 全部分グラフであるクリークを抽出する。クリークを構成するすべてのノードは、 自分 以外のノードとパスで結ばれる。
[0084] [ステップ S134] ステップ S133において抽出されたクリークのうち、クリークを構成 するノードの個数力 ある閾値以上のものだけを選択する。さらに、クリークの文字配 置における妥当性を調べ、妥当でないクリークは削除する。そして、残ったクリークに ついて、最も高いマッチング率のクリークを選択し、最大クリークとして出力する。
[0085] 以上の処理手順が実行されることにより、カテゴリ Ciの項目文字列 ¾についての最 大クリークが抽出される。
次に、項目文字列候補決定処理手順について説明する。図 14は、本実施の形態 における項目文字列候補決定処理の手順を示したフローチャートである。
[0086] カテゴリに属する項目文字列に対応する最大クリークが決定され、処理が開始され る。
[ステップ S 161] Piを i番目の項目文字列のマッチング度、 Ptを最大のマッチング 度、配列 qを項目文字列候補の個数分の配列、 nを項目文字列候補の個数として、 各値を初期化する。すなわち、 i=0、 n=0、 Pt=0とし、配列 qを初期化する。
[0087] [ステップ S162] iとカテゴリに定義される項目文字列の個数を比較する。 iが項目 文字列の個数となっていれば、処理を終了する。
[ステップ S163] iは項目文字列の個数となって ヽな 、ので、 i番目の項目文字列 のマッチング度 Piと、最大のマッチング度 Ptとを比較する。 Piが Pt以上であるかどう かを調べ、 Pt以上でない場合は、現在設定されている Ptのマッチング度が最も高い とし、処理をステップ S167へ進める。
[0088] [ステップ S164] Piが Pt以上である場合、さらに、 Piが Ptより大きいかどうかを調 ベる。 Piが Ptより大きくない(Pi=Pt)場合、処理をステップ S 166へ進める。
[0089] [ステップ S165] Piが P り大きい場合、 Ptに Piを設定し (Pt=Pi)、項目文字列 候補の個数 nを 1にし、配列 q[0] =iとし、処理をステップ S 167へ進める。これにより 、潘目が現時点で唯一の項目文字列候補 q[0] =iとなる。
[0090] [ステップ S166] Piと Ptが等しい場合、 Ptはそのままとし、配列 q[n]に iを設定し( q[n] =i)、項目文字列候補の個数 nを 1増加させる。これにより、項目文字列候補は 、 n個となり、配列 qには、 Ptがともに最大となる項目文字列の番号が並ぶ。
[0091] [ステップ S167] iを 1増加させ、ステップ S162に戻って次の項目文字列の処理を 行う。
以上の処理手順が実行されることにより、項目文字列候補の個数 nと、項目文字列 候補 q[i] (iは、 0≤i<nを満たす)が得られる。
[0092] (2)データ抽出処理
データ抽出処理では、論理定義体のデータ正規表現とデータ種別に基づき、文字 認識結果力 データ正規表現によって記述されているデータを抽出する。
[0093] 帳票におけるキーワードのデータは、文字列の種類や配置の構成が限定されてい ることが多い。論理定義体では、データの属性が正規表現として記述されている。た とえば、日付キーワードのデータは *年 *月 *日、金額は *円、 ¥ *などと記述され る。 *部抽出 171では、正規表現に記述されている *部分の種類 (数字、アルファべ ットなど)と、他の文字列(「年」、「月」、「日」、「. (ピリオド)」、「—(ハイフン)」など)を 論理定義体データベース 150から読み出し、文字認識結果力も該当するものを取り 出す。ただし、ピリオド、ハイフン以外については、ある大きさ以上という条件を課す。 取り出した文字の集合を Aとおく。そして、 Aに属する文字の外接矩形に対して、近 傍領域 (左右マージン m、上下マージン n)をとり、その中に存在する Aの要素の中で 、自分以外で最も近いものであり、かつ、 y座標に射影したときに重複するものに対し てリンクを張る。リンクで連結された Aの要素を結合して、その領域の *部として抽出 する。
[0094] 一例を挙げて説明する。図 15は、本実施の形態における *部抽出の一例を示した
図である。図は、「*年 *月 *日」(*は数字)という正規表現で定義されたデータを 抽出する場合を示している。
[0095] 論理定義体に定義されたデータの種別と正規表現に基づき、数字、「年」、「月」、「 日」が文字認識結果力も抽出される。ここでは、「2004年 9月 30日」と 、う文字集合 A (601)が取り出されたとする。 Aに属する文字について、隣接する文字とリンクを張る 。「2」を例にとると、「2」の外接矩形 602に対し、左右マージン mと上下マージン nをと つた近傍領域 603を設定し、近傍領域に存在する Aの要素で自分以外で最も近!ヽも のであり、かつ y座標がほぼ等しい文字にリンクを張る。この場合、「0」にリンクが張ら れる。なお、 y座標がほぼ等しいとは、式(1)を満たす関係をいう。同様の処理を繰り 返すことにより、この場合は、文字集合 A (601)の「2004年 9月 30日」に含まれる文 字すべてにリンクが張られ、「2004年 9月 30日」が *部として抽出される。
[0096] 文字認識結果投票 172は、項目抽出部 160の文字認識結果投票 161と同様に、 文字部分と正規表現で *で表される *部分のそれぞれに投票する。文字部分は文 字ごとに、 *部分はひとつにまとめて投票を行う。文字集合 A (601)の例であれば、 文字部分「年」、「月」、「日」と、 *部「2004 9 30」のそれぞれに投票する。
[0097] グラフ生成 (整合性評価) 173およびデータ文字列候補決定 (最大クリーク決定) 17 4は、項目抽出部 160のグラフ生成 (整合性評価) 162および最大クリーク決定 163と 同様に、グラフ生成、クリーク抽出、最大クリークの決定を行う。グラフ生成では、投票 された各文字と、 *部分をノードとし、ノード間の位置関係による整合性が成立した場 合には、ノ スを張る。最大クリークの抽出では、クリークを構成するノードの個数が、あ る閾値以上のものだけを選択する。さらに、クリークにおいて隣り合う 2文字に対応す る画像上の 2文字の間に、その 2文字以外の文字がある場合は、そのクリークを不適 合と判断し削除する。そして、残ったクリークについて、ノードの個数がある閾値よりも 大き 、とき、それらのクリークに対応する領域と文字をすベて出力する。
[0098] なお、項目抽出部 160と同様に、出力されたクリークに対して、字種限定再認識に よって、出力文字を修正することもできる。
ここで、データ抽出処理の手順について、フローチャートを用いて説明する。図 16 は、本実施の形態におけるデータ抽出処理の手順を示したフローチャートである。
[0099] 文字認識結果が入力された後、処理を開始する。
[ステップ S21] 論理定義体に定義される全カテゴリの処理を繰り返すため、処理 中の i番目のカテゴリ(Ciとする)を指示する iを初期化 (i=0)する。
[0100] [ステップ S22] カテゴリ Ciに定義される全項目文字列の処理を繰り返すため、処 理中の i番目の正規表現 (Rj)を指示する jを初期化 (j = 0)する。
[ステップ S23] カテゴリ Ciの正規表現 Rjに対するデータ文字列マッチング処理を 行う。処理の詳細は後述する力 マッチング処理により、カテゴリ Ciの正規表現 Rjに 対する最大クリークが決定される。
[0101] [ステップ S24] 次の正規表現に対する処理を行うため、 jを 1増加させる。
[ステップ S25] jを論理定義体に定義される正規表現の個数と比較する。 jが正規 表現の個数に到達していなければ、ステップ S23に戻って、次の正規表現に対する マッチング処理を行う。到達していれば、全正規表現終了とする。
[0102] [ステップ S26] 次のカテゴリに対する処理を行うため、 iを 1増加させる。
[ステップ S27] iを論理定義体に定義されるカテゴリの数と比較する。 iがカテゴリ の数に到達していなければ、ステップ S22に戻って、次のカテゴリの処理を行う。全力 テゴリの処理が終了していれば、処理を終了する。
[0103] データ文字列マッチング処理手順について説明する。図 17は、本実施の形態にお けるデータ文字列マッチング処理の手順を示したフローチャートである。
正規表現 Rjが指定された後、処理が開始される。
[0104] [ステップ S231] 論理定義体データベース 150に格納されるデータ正規表現に記 述されている *部分の種類と、他の文字列を文字認識結果力 取り出し、隣接する 文字をリンクで連結して文字統合を行 、、ひとかたまりの文字集合を *部として抽出 する。
[0105] [ステップ S232] *部として抽出された文字集合に含まれる文字と、正規表現に お!、て * (数字など)で表される部分のそれぞれに投票する。
[ステップ S233] 投票された各文字と *部分をノードとして、ノード間に整合性が 成立すれば、ノード間をパスで接続することによって、グラフを生成する。
[0106] [ステップ S234] ステップ S233において生成されたグラフから、グラフの極大完
全部分グラフであるクリークを抽出する。クリークを構成するすべてのノードは、自分 以外のノードとパスで結ばれる。
[0107] [ステップ S235] ステップ S234において抽出されたクリークのうち、クリークを構成 するノードの個数力 ある閾値以上のものだけを選択する。さらに、クリークの文字配 置における妥当性を調べ、妥当でないクリークは削除する。そして、残ったクリークに ついて、ノードの個数がある閾値よりも大きいとき、それらのクリークに対応する領域と 文字をすベて出力する。
[0108] 以上の処理手順が実行されることにより、カテゴリ Ciのデータ正規表現 Rjに対応す るデータ文字列が抽出される。
(3)項目'データ対応付け処理
項目'データ対応付け処理では、論理定義体に定義される項目から見たデータの 相対的位置などに基づき、項目抽出部 160によって抽出された項目と、データ抽出 部 170によって抽出されたデータについて、対応関係のある可能性を数え上げ、全 体の整合性を考慮することにより対応関係を決定する。全体の整合性の評価は、項 目抽出部 160およびデータ抽出部 170と同様に、グラフを生成し、クリークを抽出し て行う。
[0109] 項目 ·データ組み合わせ 181は、項目抽出部 160によって抽出された項目文字列 候補 Iに対し、項目文字列候補 I力 Sカテゴリ C力 求められたものとすると、論理定義体 に記述されているカテゴリ Cの項目とデータとの関係(項目から見たデータの相対的 位置 205)に基づき、項目文字列候補 Iの近傍領域を設定する。たとえば、「下」が定 義されていれば、近傍領域を項目文字列候補 Iの領域の下に取る。また、「右」が定 義されていれば、近傍領域を項目文字列候補 Iの領域の右に取る。そして、設定され た近傍領域にあり、かつ、カテゴリ Cのデータの正規表現を満たすものに対して、項 目文字列候補とデータ文字列候補の組み合わせを生成する。ただし、項目文字列 候補とデータ文字列候補の両方を含む外接矩形に、論理定義体に記述されて 、る カテゴリ Cの項目とデータの間に入って 、てもよ 、文字以外の文字が入って 、れば、 その項目文字列候補とデータ文字列候補の組み合わせは生成されな 、。
[0110] グラフ生成 (整合性評価) 182では、項目 ·データ組み合わせ 181で抽出された項
目文字列とデータ文字列の組み合わせをノードとしたグラフを生成する。項目文字列 候補とデータ文字列候補の組み合わせの集合に対して、すべての 2つの組み合わ せについて整合性を調べる。 2つの組み合わせ Aと Bの関係は整合性があるとは、そ れぞれの組み合わせを構成する項目文字列候補とデータ文字列候補が重複しな ヽ ことである。 2つの組み合わせに対して、それらの関係の整合性が成立するとき、それ らの 2つの組み合わせに相当するノードをパスで結ぶことによりグラフを生成する。
[0111] 組み合わせ決定 (最大クリーク決定) 183では、項目文字列マッチング処理と同様 に、クリーク抽出、最大クリーク決定を行う。最大クリークの抽出では、クリークを構成 するノードの個数が最大のものを出力する。
[0112] ここで、項目とデータの対応付け処理の手順について、フローチャートを用いて説 明する。図 18は、本実施の形態における項目'データ対応付け処理の手順を示した フローチャートである。
[0113] 項目文字列とデータ文字列が抽出された後、処理を開始する。
[ステップ S31] 論理定義体に定義される項目から見たデータの相対的位置に基 づき、カテゴリが同じ項目文字列候補とデータ文字列候補を対応付け、項目文字列 候補とデータ文字列候補の組み合わせを数え上げる。
[0114] [ステップ S32] ステップ S31で抽出された項目文字列とデータ文字列の組み合 わせをノードとし、すべての 2つの組み合わせにつ!/、て整合性(それぞれの組み合わ せを構成する項目文字列候補とデータ文字列候補が重複しな!、こと)を調べ、整合 性が成り立つ場合には、ノード間にパスを張ってグラフを生成する。
[0115] [ステップ S33] ステップ S32において生成されたグラフから、グラフの極大完全部 分グラフであるクリークを抽出する。
[ステップ S34] ステップ S33で抽出されたクリーク力も最大クリークを抽出する。最 大クリークの抽出では、クリークを構成するノードの個数が最大のものを出力する。
[0116] 以上の処理手順が実行されることにより、全体の整合性を考慮して項目文字列候 補とデータ文字列候補の組み合わせが決定される。これにより、複数の対応の可能 性が存在する場合でも、正 、対応を選択することができる。
[0117] なお、上記の処理機能は、コンピュータによって実現することができる。その場合、
帳票処理装置が有すべき機能の処理内容を記述したプログラムが提供される。その プログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実 現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒 体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁 気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置 には、ハードディスク装置 (HDD)、フレキシブルディスク (FD)、磁気テープなどがあ る。光ディスクには、 DVD (Digital Versatile Disc)、 DVD— RAM (Random Access Memory)、 CD— ROM (Compact Disc Read Only Memory)、 CD— R (Recordable) ZRW (Rewritable)などがある。光磁気記録媒体には、 MO (Magneto- Optical disk) などがある。
[0118] プログラムを流通させる場合には、たとえば、そのプログラムが記録された DVD、 C D— ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンビユー タの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコ ンピュータにそのプログラムを転送することもできる。
[0119] プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプロ グラムもしくはサーバコンピュータ力 転送されたプログラムを、 自己の記憶装置に格 納する。そして、コンピュータは、自己の記憶装置力 プログラムを読み取り、プロダラ ムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログ ラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンビュ ータは、サーバコンピュータ力 プログラムが転送されるごとに、逐次、受け取ったプ ログラムに従った処理を実行することもできる。
[0120] 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が 当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用 例に限定されるものではなぐ対応するすべての変形例および均等物は、添付の請 求項およびその均等物による本発明の範囲とみなされる。
符号の説明
[0121] 1 帳票処理装置
11 レイアウト認識手段
認識辞書データベース (DB) 文字認識手段
帳票論理定義体データベース (DB) 文字列候補抽出手段
a 項目文字列候補抽出手段b データ文字列候補抽出手段 対応付け手段
Claims
[1] スキャンされた帳票画像力 所定のキーワードを抽出する帳票処理のための帳票 処理プログラムにおいて、
コンピュータを、
前記帳票画像のレイアウトを認識し、前記帳票画像における文字画像の読み取り 領域を抽出するレイアウト認識手段、
抽出された前記読み取り領域の文字画像に対し文字認識を施し、認識された文字 を文字認識結果として出力する文字認識手段、
前記キーワードを構成する文字列を同種の帳票に共通する論理構造に応じて定義 した帳票論理定義体に基づき、前記帳票論理定義体に前記キーワードとして定義さ れる文字列に含まれる文字を前記文字認識結果力 抽出し、抽出された文字間の関 係が前記キーワードを構成する文字列としての位置関係を満たす組み合わせを文字 列候補とする文字列候補抽出手段、
複数の要素から成る前記キーワードについて、前記要素に応じた前記文字列候補 を前記帳票画像上の位置関係に応じて対応付け、前記キーワードを構成する前記 文字列候補の組み合わせを決定する対応付け手段、
として機能させることを特徴とする帳票処理プログラム。
[2] 前記文字列候補抽出手段として、
前記キーワードとして定義される文字列に含まれる文字に関し、前記文字認識結果 力も抽出されるごとに投票を行い、投票された文字を単位として文字の間で互いに文 字列としての位置関係を満たす組み合わせを求め、さらに、求められた組み合わせ を単位として互いに文字列としての位置関係を満たす組み合わせを求める処理を前 記キーワードとして定義される文字列が抽出されるまで繰り返す、
処理を実行させることを特徴とする請求の範囲第 1項記載の帳票処理プログラム。
[3] 前記文字列候補抽出手段として、
前記位置関係を見たす組み合わせを求めるため、グラフ理論を用いて、前記文字 認識結果力 抽出された文字または文字の組み合わせをノードとし、前記ノード間に 位置関係による整合性が成立する場合は前記ノード間をパスで結ぶことによりグラフ
を作成し、最大クリークを抽出する、
処理を実行させることを特徴とする請求の範囲第 1項記載の帳票処理プログラム。
[4] 前記キーワードは、項目とデータの 2要素から成り、
前記文字列候補抽出手段は、前記項目に関する項目文字列候補を抽出する項目 文字列候補抽出手段、および前記データに関するデータ文字列候補を抽出するデ ータ文字列候補抽出手段として機能し、
前記対応付け手段として、前記項目文字列候補と前記データ文字列候補を対応 付ける処理を実行させる、
ことを特徴とする請求の範囲第 1項記載の帳票処理プログラム。
[5] 前記帳票論理定義体には、前記キーワードを構成する項目に対応する項目文字 列が定義されており、前記項目文字列候補抽出手段として、
前記文字認識結果に前記項目文字列の文字が検出された場合は、該当する前記 項目文字列の文字に投票し、投票された文字間にお 、て前記項目文字列としての 関係を満たす組み合わせを前記項目文字列候補として抽出する、
処理を実行させることを特徴とする請求の範囲第 4項記載の帳票処理プログラム。
[6] 前記帳票論理定義体には、前記キーワードを構成するデータに対応し、データ文 字種とデータ正規表現を含むデータ領域属性が定義されており、前記データ文字列 候補抽出手段として、
前記文字認識結果に前記データ正規表現における各要素が検出された場合は、 該当する前記データ正規表現の要素に投票し、投票された要素間において前記デ ータ正規表現としての関係を満たす組み合わせを前記データ文字列候補として抽出 する、
処理を実行させることを特徴とする請求の範囲第 4項記載の帳票処理プログラム。
[7] 前記データ正規表現は、前記データ文字種のみが規定される文字の代わりになる ワイルドカードを含む文字列で表現され、
前記データ文字列候補抽出手段として、
前記文字認識結果から前記データ正規表現に記述される前記ワイルドカードのデ ータ文字種を抽出し、抽出した文字が文字列としての位置関係を満たす組み合わせ
をワイルドカード部とし、前記データ正規表現に記述される文字列に含まれる文字を 前記文字認識結果力 抽出し、抽出された文字および前記ワイルドカード部の位置 関係が前記データ正規表現としての位置関係を満たす組み合わせをデータ文字列 候補とする、
処理を実行させることを特徴とする請求の範囲第 6項記載の帳票処理プログラム。
[8] 前記対応付け手段として、
前記項目文字列候補と前記データ文字列候補が対応する可能性を数え上げ、前 記項目文字列候補と前記データ文字列候補が対応する個数が全体で最大となるよう 対応関係を決定する、
処理を実行させることを特徴とする請求の範囲第 4項記載の帳票処理プログラム。
[9] 前記文字列候補抽出手段として、
前記文字列候補を構成する文字の文字配置の妥当性を検証し、妥当性が検証さ れたものを前記文字列候補とする、
処理を実行させることを特徴とする請求の範囲第 1項記載の帳票処理プログラム。
[10] 前記文字列候補抽出手段として、
前記文字列候補を構成する文字集合を囲む領域の中心点を算出するとともに、前 記文字列候補を構成する文字の個数から前記文字列候補の中心点を算出し、前記 文字集合を囲む領域の中心点と前記文字列候補の中心点を照合し、ずれの大きさ に基づき妥当性を判定する、
処理を実行させることを特徴とする請求の範囲第 9項記載の帳票処理プログラム。
[11] 前記文字列候補抽出手段として、
前記帳票論理定義体に定義される隣り合う 2文字に対応する前記文字列候補を構 成する文字集合の 2文字の間に他の文字がある場合、前記文字列候補を構成する 文字集合は妥当でないと判定する、
処理を実行させることを特徴とする請求の範囲第 9項記載の帳票処理プログラム。
[12] 前記文字認識手段として、
前記帳票論理定義体に基づき、前記帳票画像に出現する可能性のある文字種に 認識対象を限定して文字認識を行う、
処理を実行させることを特徴とする請求の範囲第 1項記載の帳票処理プログラム。
[13] 前記文字列候補抽出手段として、
前記文字列候補が抽出された後、前記文字列候補に対応する前記キーワードに ついて前記帳票論理定義体に定義される前記文字列を構成する文字の集合に認識 対象を限定して文字認識を行って前記文字認識結果を更新し、更新された前記文 字認識結果を用いて、再び文字認識された文字が前記文字列としての関係を満た す文字列候補を抽出する、
処理を実行させることを特徴とする請求の範囲第 1項記載の帳票処理プログラム。
[14] 前記文字列候補抽出手段として、
任意の行に配置された前記キーワードを構成する文字列としての位置関係を満た す組み合わせを第 1の文字列単位、前記第 1の文字列単位とは異なる行に配置され た第 2の組み合わせを第 2の文字列単位とし、前記第 1の文字列単位と前記第 2の文 字列単位が前記帳票論理定義体に定義される文字列としての関係を満たす組み合 わせを複数行にわたる前記文字列候補として抽出する、
処理を実行させることを特徴とする請求の範囲第 1項記載の帳票処理プログラム。
[15] 前記文字列候補抽出手段として、
前記第 1の文字列単位と前記第 2の文字列単位について、前記第 1の文字列単位 を囲む領域と、前記第 2の文字列単位を囲む領域の水平方向の座標値が少なくとも 一部重なり、垂直方向の座標値が重ならないという条件が満たされるかどうかを判定 し、条件が満たされない場合は前記帳票論理定義体に定義される文字列としての関 係を満たす組み合わせではな 、と判断する、
処理を実行させることを特徴とする請求の範囲第 14項記載の帳票処理プログラム。
[16] スキャンされた帳票画像力 所定のキーワードを抽出する帳票処理装置にぉ 、て、 前記帳票画像のレイアウトを認識し、前記帳票画像における文字画像の読み取り 領域を抽出するレイアウト認識手段と、
抽出された前記読み取り領域の文字画像に対し文字認識を施し、認識された文字 を文字認識結果として出力する文字認識手段と、
前記キーワードを構成する文字列を同種の帳票に共通する論理構造に応じて定義
した帳票論理定義体を記憶する帳票論理定義体記憶手段と、 対象の帳票に関する前記帳票論理定義体を読み出すとともに、前記帳票論理定 義体に前記キーワードとして定義される文字列に含まれる文字を前記文字認識結果 から抽出し、抽出された文字間の位置関係が前記キーワードを構成する文字列とし ての関係を満たす組み合わせを文字列候補とする文字列候補抽出手段と、 複数の要素から成る前記キーワードについて、前記要素に応じた前記文字列候補 の前記帳票画像上の位置関係に応じて対応付け、前記キーワードを構成する前記 文字列候補の組み合わせを決定する対応付け手段と、
を具備することを特徴とする帳票処理装置。
スキャンされた帳票画像力 所定のキーワードを抽出する帳票処理のための帳票 処理方法において、
レイアウト認識手段力 前記帳票画像のレイアウトを認識し、前記帳票画像における 文字画像の読み取り領域を抽出し、
文字認識手段が、抽出された前記読み取り領域の文字画像に対し文字認識を施し 、認識された文字を文字認識結果として出力し、
文字列候補抽出手段が、前記キーワードを構成する文字列を同種の帳票に共通 する論理構造に応じて定義した帳票論理定義体に基づき、前記帳票論理定義体に 前記キーワードとして定義される文字列に含まれる文字を前記文字認識結果力 抽 出し、抽出された文字間の関係が前記キーワードを構成する文字列としての位置関 係を満たす組み合わせを文字列候補とし、
対応付け手段が、複数の要素から成る前記キーワードについて、前記要素に応じ た前記文字列候補の前記帳票画像上の位置関係に応じて対応付け、前記キーヮー ドを構成する前記文字列候補の組み合わせを決定する、
手順を有することを特徴とする帳票処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006800509316A CN101356541B (zh) | 2006-01-13 | 2006-01-13 | 帐票处理装置以及帐票处理方法 |
PCT/JP2006/300325 WO2007080642A1 (ja) | 2006-01-13 | 2006-01-13 | 帳票処理プログラムおよび帳票処理装置 |
JP2007553802A JP4750802B2 (ja) | 2006-01-13 | 2006-01-13 | 帳票処理プログラムおよび帳票処理装置 |
US12/216,632 US8131087B2 (en) | 2006-01-13 | 2008-07-08 | Program and apparatus for forms processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/300325 WO2007080642A1 (ja) | 2006-01-13 | 2006-01-13 | 帳票処理プログラムおよび帳票処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/216,632 Continuation US8131087B2 (en) | 2006-01-13 | 2008-07-08 | Program and apparatus for forms processing |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007080642A1 true WO2007080642A1 (ja) | 2007-07-19 |
Family
ID=38256057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/300325 WO2007080642A1 (ja) | 2006-01-13 | 2006-01-13 | 帳票処理プログラムおよび帳票処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8131087B2 (ja) |
JP (1) | JP4750802B2 (ja) |
CN (1) | CN101356541B (ja) |
WO (1) | WO2007080642A1 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009043102A (ja) * | 2007-08-09 | 2009-02-26 | Fujitsu Ltd | 文字認識プログラム、文字認識装置および文字認識方法 |
CN101452443A (zh) * | 2007-12-06 | 2009-06-10 | 富士通株式会社 | 逻辑结构模型创建辅助设备和方法,用于其的记录介质 |
US8300942B2 (en) | 2008-02-12 | 2012-10-30 | Fujitsu Limited | Area extraction program, character recognition program, and character recognition device |
JP2020027598A (ja) * | 2018-12-27 | 2020-02-20 | 株式会社シグマクシス | 文字認識装置、文字認識方法及び文字認識プログラム |
CN111444906A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 基于人工智能的图像识别方法和相关装置 |
JP2020123925A (ja) * | 2019-01-31 | 2020-08-13 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
JP2020154725A (ja) * | 2019-03-20 | 2020-09-24 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
JP2020194491A (ja) * | 2019-05-30 | 2020-12-03 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP2021131900A (ja) * | 2020-06-01 | 2021-09-09 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | 文書レイアウト解析方法、装置、電子機器及び記憶媒体 |
JP2022162380A (ja) * | 2021-04-12 | 2022-10-24 | 株式会社プリマジェスト | 情報処理装置、情報処理方法、及びプログラム |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8064703B2 (en) * | 2006-03-17 | 2011-11-22 | Data Trace Information Services, Llc | Property record document data validation systems and methods |
WO2008012845A1 (en) * | 2006-07-26 | 2008-01-31 | Stmicroelectronics S.R.L. | Use of nitroaniline derivatives for the production of nitric oxide |
JP4825243B2 (ja) * | 2008-06-20 | 2011-11-30 | 富士通フロンテック株式会社 | 帳票認識装置、方法、データベース作成装置、方法、及びプログラム |
JP5462017B2 (ja) * | 2010-02-08 | 2014-04-02 | 沖電気工業株式会社 | 帳票処理システム、エントリ端末および帳票データ処理方法 |
CN102402693B (zh) * | 2010-09-09 | 2014-07-30 | 富士通株式会社 | 处理包含字符的图像的方法和设备 |
CN102509115B (zh) * | 2011-11-22 | 2014-06-25 | 北京京北方信息技术有限公司 | 一种分层带回溯查找机制的票据类型识别方法 |
JP5831420B2 (ja) * | 2012-09-28 | 2015-12-09 | オムロン株式会社 | 画像処理装置および画像処理方法 |
JP6303531B2 (ja) * | 2014-01-22 | 2018-04-04 | 富士ゼロックス株式会社 | 画像処理装置及び画像処理プログラム |
CN106650715B (zh) * | 2016-10-26 | 2019-07-12 | 西安电子科技大学 | 一种根据允许集对字符串ocr识别结果检错与纠错的方法 |
WO2020054067A1 (ja) * | 2018-09-14 | 2020-03-19 | 三菱電機株式会社 | 画像情報処理装置、画像情報処理方法、及び画像情報処理プログラム |
JP7282603B2 (ja) * | 2019-06-05 | 2023-05-29 | キヤノン株式会社 | 画像処理装置、その制御方法及びプログラム |
JP7516024B2 (ja) * | 2019-09-06 | 2024-07-16 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム |
US10832656B1 (en) | 2020-02-25 | 2020-11-10 | Fawzi Shaya | Computing device and method for populating digital forms from un-parsed data |
US11593417B2 (en) * | 2021-01-21 | 2023-02-28 | International Business Machines Corporation | Assigning documents to entities of a database |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0589279A (ja) * | 1991-09-30 | 1993-04-09 | Sharp Corp | 文字認識装置 |
JPH1078997A (ja) * | 1996-09-03 | 1998-03-24 | Matsushita Electric Ind Co Ltd | 文字認識装置及びその方法並びにその方法を記録した記録媒体 |
JPH10302023A (ja) * | 1997-04-22 | 1998-11-13 | Fujitsu Ltd | 表画像のフォーマットを識別するフォーマット識別装置および方法 |
JP2001312691A (ja) * | 2000-05-01 | 2001-11-09 | Canon Inc | 画像処理方法および装置並びに記憶媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3076731B2 (ja) * | 1994-12-26 | 2000-08-14 | 株式会社ピーエフユー | 帳票出力処理方法 |
US6104500A (en) * | 1998-04-29 | 2000-08-15 | Bcl, Computer Inc. | Networked fax routing via email |
US6614931B1 (en) * | 1998-10-08 | 2003-09-02 | Hewlett-Packard Development Company, Lp. | Handwritten instructions for messaging appliances |
JP2000251012A (ja) * | 1999-03-01 | 2000-09-14 | Hitachi Ltd | 帳票処理方法およびシステム |
JP3425408B2 (ja) * | 2000-05-31 | 2003-07-14 | 株式会社東芝 | 文書読取装置 |
JP3919617B2 (ja) * | 2002-07-09 | 2007-05-30 | キヤノン株式会社 | 文字認識装置および文字認識方法、プログラムおよび記憶媒体 |
-
2006
- 2006-01-13 JP JP2007553802A patent/JP4750802B2/ja not_active Expired - Fee Related
- 2006-01-13 WO PCT/JP2006/300325 patent/WO2007080642A1/ja active Application Filing
- 2006-01-13 CN CN2006800509316A patent/CN101356541B/zh not_active Expired - Fee Related
-
2008
- 2008-07-08 US US12/216,632 patent/US8131087B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0589279A (ja) * | 1991-09-30 | 1993-04-09 | Sharp Corp | 文字認識装置 |
JPH1078997A (ja) * | 1996-09-03 | 1998-03-24 | Matsushita Electric Ind Co Ltd | 文字認識装置及びその方法並びにその方法を記録した記録媒体 |
JPH10302023A (ja) * | 1997-04-22 | 1998-11-13 | Fujitsu Ltd | 表画像のフォーマットを識別するフォーマット識別装置および方法 |
JP2001312691A (ja) * | 2000-05-01 | 2001-11-09 | Canon Inc | 画像処理方法および装置並びに記憶媒体 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009043102A (ja) * | 2007-08-09 | 2009-02-26 | Fujitsu Ltd | 文字認識プログラム、文字認識装置および文字認識方法 |
CN101452443A (zh) * | 2007-12-06 | 2009-06-10 | 富士通株式会社 | 逻辑结构模型创建辅助设备和方法,用于其的记录介质 |
CN101452443B (zh) * | 2007-12-06 | 2011-11-23 | 富士通株式会社 | 逻辑结构模型创建辅助设备和方法 |
US8300942B2 (en) | 2008-02-12 | 2012-10-30 | Fujitsu Limited | Area extraction program, character recognition program, and character recognition device |
JP2020027598A (ja) * | 2018-12-27 | 2020-02-20 | 株式会社シグマクシス | 文字認識装置、文字認識方法及び文字認識プログラム |
US11494923B2 (en) | 2019-01-31 | 2022-11-08 | Fujifilm Business Innovation Corp. | Information processing device and non-transitory computer readable medium |
JP2020123925A (ja) * | 2019-01-31 | 2020-08-13 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
JP2020154725A (ja) * | 2019-03-20 | 2020-09-24 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
JP7318248B2 (ja) | 2019-03-20 | 2023-08-01 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及び情報処理プログラム |
JP2020194491A (ja) * | 2019-05-30 | 2020-12-03 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP7370733B2 (ja) | 2019-05-30 | 2023-10-30 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
CN111444906A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 基于人工智能的图像识别方法和相关装置 |
CN111444906B (zh) * | 2020-03-24 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 基于人工智能的图像识别方法和相关装置 |
JP2021131900A (ja) * | 2020-06-01 | 2021-09-09 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | 文書レイアウト解析方法、装置、電子機器及び記憶媒体 |
US11462039B2 (en) | 2020-06-01 | 2022-10-04 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method, device, and storage medium for obtaining document layout |
JP7203897B2 (ja) | 2020-06-01 | 2023-01-13 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 文書レイアウト解析方法、装置、電子機器及び記憶媒体 |
JP2022162380A (ja) * | 2021-04-12 | 2022-10-24 | 株式会社プリマジェスト | 情報処理装置、情報処理方法、及びプログラム |
JP7317886B2 (ja) | 2021-04-12 | 2023-07-31 | 株式会社プリマジェスト | 情報処理装置及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4750802B2 (ja) | 2011-08-17 |
US20080273802A1 (en) | 2008-11-06 |
CN101356541A (zh) | 2009-01-28 |
JPWO2007080642A1 (ja) | 2009-06-11 |
CN101356541B (zh) | 2012-05-30 |
US8131087B2 (en) | 2012-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4750802B2 (ja) | 帳票処理プログラムおよび帳票処理装置 | |
US11501061B2 (en) | Extracting structured information from a document containing filled form images | |
US10783367B2 (en) | System and method for data extraction and searching | |
e Silva et al. | Design of an end-to-end method to extract information from tables | |
US20090202152A1 (en) | Area extraction program, character recognition program, and character recognition device | |
US20210366055A1 (en) | Systems and methods for generating accurate transaction data and manipulation | |
GB2417109A (en) | Automatic document indexing and classification system | |
US11507901B1 (en) | Apparatus and methods for matching video records with postings using audiovisual data processing | |
US11783252B1 (en) | Apparatus for generating resource allocation recommendations | |
Crawford et al. | A clustering method for graphical handwriting components and statistical writership analysis | |
CN113269101A (zh) | 一种票据识别方法、装置和设备 | |
US12014561B2 (en) | Image reading systems, methods and storage medium for performing geometric extraction | |
JP2004171316A (ja) | Ocr装置及び文書検索システム及び文書検索プログラム | |
CN115294593A (zh) | 一种图像信息抽取方法、装置、计算机设备及存储介质 | |
CN111461109B (zh) | 一种基于环境多种类词库识别单据的方法 | |
CN115731561A (zh) | 使用视觉箭头关系检测的手绘示图识别 | |
JP2021033743A (ja) | 情報処理装置、文書識別方法、及び情報処理システム | |
US20220350814A1 (en) | Intelligent data extraction | |
US20230368557A1 (en) | Image reading systems, methods and storage medium for performing entity extraction, grouping and validation | |
US20240233426A9 (en) | Method of classifying a document for a straight-through processing | |
US20240143632A1 (en) | Extracting information from documents using automatic markup based on historical data | |
KR20220142901A (ko) | 반정형 문서로부터 정보를 추출하는 방법 및 시스템 | |
CN118070789A (zh) | 一种信息抽取方法及装置 | |
Penarrubia et al. | Efficient Approaches for Notation Assembly in Optical Music Recognition | |
JP2022164593A (ja) | 半構造化ドキュメントから情報を取り出す方法及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2007553802 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 200680050931.6 Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06702681 Country of ref document: EP Kind code of ref document: A1 |