WO2021186642A1 - 画像処理装置、制御方法及び制御プログラム - Google Patents

画像処理装置、制御方法及び制御プログラム Download PDF

Info

Publication number
WO2021186642A1
WO2021186642A1 PCT/JP2020/012108 JP2020012108W WO2021186642A1 WO 2021186642 A1 WO2021186642 A1 WO 2021186642A1 JP 2020012108 W JP2020012108 W JP 2020012108W WO 2021186642 A1 WO2021186642 A1 WO 2021186642A1
Authority
WO
WIPO (PCT)
Prior art keywords
character string
group
attribute
assigned
character strings
Prior art date
Application number
PCT/JP2020/012108
Other languages
English (en)
French (fr)
Inventor
貴彦 深澤
Original Assignee
株式会社Pfu
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Pfu filed Critical 株式会社Pfu
Priority to PCT/JP2020/012108 priority Critical patent/WO2021186642A1/ja
Publication of WO2021186642A1 publication Critical patent/WO2021186642A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition

Definitions

  • the present disclosure relates to an image processing device, a control method and a control program, and more particularly to an image processing device, a control method and a control program for detecting a character string from a form image.
  • connection candidate relationships between characters are extracted based on the arrangement of characters
  • connection relationships that are likely to be item names are extracted based on the extracted connection relationships between characters
  • the item names are based on the extracted connection relationships.
  • Patent Document 1 A document processing apparatus for extracting character string region candidates is disclosed (Patent Document 1). This document processing device determines whether or not the item name character string area candidate is the item name character string.
  • the image processing device is desired to accurately detect the character string to be detected from the form image.
  • the purpose of the image processing device, control method, and control program is to enable accurate detection of the character string to be detected from the form image.
  • the image processing device includes an acquisition unit that acquires a form image, a character string detection unit that detects a plurality of character strings from the form image, and an allocation unit that assigns attributes to each of the plurality of character strings.
  • a classification unit that classifies multiple character strings into multiple groups based on the positional relationship of multiple character strings in the form image and the attributes assigned to the multiple character strings, and each group for each group.
  • the target group detection unit that calculates the evaluation value based on the attributes assigned to each contained character string and detects the group with the highest evaluation value among multiple groups as the target group, and the character string included in the target group. It has a target character string detection unit that detects a character string to which a predetermined attribute is assigned as a target character string, and an output unit that outputs information about the target character string.
  • control method is a control method of an image processing device having an output unit, in which the image processing device acquires a form image, detects a plurality of character strings from the form image, and a plurality of character strings. Attribute is assigned to each character string of, and multiple character strings are classified into multiple groups based on the positional relationship of multiple character strings in the form image and the attributes assigned to multiple character strings, and multiple groups. For each, the evaluation value is calculated based on the attributes assigned to each character string included in each group, the group with the highest evaluation value among multiple groups is detected as the target group, and the characters included in the target group. A character string to which a predetermined attribute is assigned is detected as a target character string from the columns, and information about the target character string is output from the output unit.
  • control program is a control program of a computer having an output unit, acquires a form image, detects a plurality of character strings from the form image, and assigns attributes to each of the plurality of character strings. Based on the allocation, the positional relationship of multiple character strings in the form image, and the attributes assigned to multiple character strings, multiple character strings are classified into multiple groups, and each of the multiple groups is included in each group. The evaluation value is calculated based on the attributes assigned to each character string, the group with the highest evaluation value among multiple groups is detected as the target group, and a predetermined character string included in the target group is detected. The character string to which the attribute is assigned is detected as the target character string, and the computer is made to output the information about the target character string from the output unit.
  • the image processing device, the control method, and the control program can accurately detect the character string to be detected from the form image.
  • FIG. 1 is a diagram showing a schematic configuration of an image processing system 1 according to an embodiment. As shown in FIG. 1, the image processing system 1 includes an image reading device 100 and an information processing device 200.
  • the image reading device 100 is, for example, a scanner device or the like.
  • the image reading device 100 is connected to the information processing device 200.
  • the information processing device 200 is an example of an image processing device, such as a personal computer.
  • the image reading device 100 includes a first interface device 101, an imaging device 102, a first storage device 110, and a first processing circuit 120.
  • the first interface device 101 has an interface circuit similar to a serial bus such as USB (Universal Serial Bus), and is electrically connected to the information processing device 200 to transmit and receive image data and various information. Further, instead of the first interface device 101, a communication device having an antenna for transmitting and receiving wireless signals and a wireless communication interface circuit for transmitting and receiving signals through a wireless communication line according to a predetermined communication protocol may be used. good.
  • the predetermined communication protocol is, for example, a wireless LAN (Local Area Network).
  • the image pickup device 102 has a reduction optical system type image pickup sensor including an image pickup element by CCD (Charge Coupled Device) arranged linearly in the main scanning direction. Further, the image pickup device 102 includes a light source that irradiates light, a lens that forms an image on the image pickup element, and an A / D conversion that amplifies an electric signal output from the image pickup element and performs analog / digital (A / D) conversion. Has a vessel. In the image pickup apparatus 102, the image pickup sensor images the conveyed medium to generate and output an analog image signal, and the A / D converter A / D-converts the analog image signal into a digital form. Generate and output an image.
  • CCD Charge Coupled Device
  • the form image is a color multi-valued image in which each pixel data is composed of, for example, a total of 24 bits of R (red) value, G (green) value, and B (blue) value represented by 8 bits for each RGB color.
  • a 1x optical system type CIS (Contact Image Sensor) equipped with a CMOS (Complementary Metal Oxide Semiconductor) image sensor may be used instead of the CCD.
  • the first storage device 110 includes a memory device such as a RAM (RandomAccessMemory) and a ROM (ReadOnlyMemory), a fixed disk device such as a hard disk, or a portable storage device such as a flexible disk and an optical disk. Further, the first storage device 110 stores computer programs, databases, tables, etc. used for various processes of the image reading device 100.
  • the computer program may be installed in the first storage device 110 from a computer-readable portable recording medium using a known setup program or the like.
  • the portable recording medium is, for example, a CD-ROM (compact disk read only memory), a DVD-ROM (digital versatile disk read only memory), or the like.
  • the first storage device 110 stores a form image or the like generated by the image pickup device 102.
  • the first processing circuit 120 operates based on a program stored in advance in the first storage device 110.
  • the first processing circuit 120 is, for example, a CPU (Control Processing Unit).
  • a DSP digital signal processor
  • an LSI large scale integration
  • an ASIC Application Specific Integrated Circuit
  • an FPGA Field-Programming Gate Array
  • the first processing circuit 120 is connected to the first interface device 101, the image pickup device 102, the first storage device 110, and the like, and controls each of these parts.
  • the first processing circuit 120 performs media reading control of the image pickup device 102, data transmission / reception control with the information processing device 200 via the first interface device 101, and the like.
  • the information processing device 200 includes a second interface device 201, an input device 202, a display device 203, a second storage device 210, and a second processing circuit 220.
  • a second interface device 201 an input device 202, a display device 203, a second storage device 210, and a second processing circuit 220.
  • the second interface device 201 has an interface circuit similar to that of the first interface device 101 of the image reading device 100, and connects the information processing device 200 and the image reading device 100. Further, instead of the second interface device 201, a communication device having an antenna for transmitting and receiving wireless signals and a wireless communication interface circuit for transmitting and receiving signals through a wireless communication line according to a predetermined communication protocol such as a wireless LAN It may be used.
  • the input device 202 has an input device such as a keyboard and a mouse, and an interface circuit for acquiring a signal from the input device, and outputs a signal according to the operation of the user to the second processing circuit 220.
  • the display device 203 is an example of an output unit.
  • the display device 203 includes a display composed of a liquid crystal display, an organic EL (Electro-Luminescence), and the like, and an interface circuit for outputting image data to the display.
  • the display device 203 displays various information on the display according to the instruction from the second processing circuit 220.
  • the second storage device 210 is an example of a storage unit, and has a memory device, a fixed disk device, a portable storage device, and the like similar to the first storage device 110 of the image reading device 100.
  • the second storage device 210 stores computer programs, databases, tables, and the like used for various processes of the information processing device 200.
  • the computer program may be installed in the second storage device 210 from a computer-readable portable recording medium such as a CD-ROM or a DVD-ROM using a known setup program or the like.
  • an attribute table, a type table, a conversion table, and the like are stored in advance as data. Details of each table will be described later.
  • the second processing circuit 220 operates based on a program stored in advance in the second storage device 210.
  • the second processing circuit 220 is, for example, a CPU.
  • a DSP, LSI, ASIC, FPGA, or the like may be used as the second processing circuit 220.
  • the second processing circuit 220 is connected to the second interface device 201, the input device 202, the display device 203, the second storage device 210, and the like, and controls each of these parts.
  • the second processing circuit 220 performs data transmission / reception control with the image reading device 100 via the second interface device 201, input control of the input device 202, display control of the display device 203, and the like.
  • FIG. 2 is a diagram showing an example of the data structure of the attribute table.
  • words and / or formats related to each attribute are stored in association with each of a plurality of attributes included in the form.
  • a plurality of attributes are classified into three attribute classifications of item name, item value, and keyword.
  • the item name is a character string indicating the title of each attribute.
  • the item value is a character string indicating the content of each attribute. Keywords are special terms used in forms.
  • the attributes related to the item name include the form number, issue date, billing amount, account name, deadline, telephone number, company name, and the like. Attributes related to item values include date, amount, telephone number, address, company name, form type, sentence, alphanumeric character string, unknown character string, and the like.
  • the form type is a type of form such as an invoice, a receipt, and the like.
  • the alphanumeric character string is a character string consisting of letters or numbers.
  • An unknown character string is a character string that is not classified into all the attributes defined in the attribute table. Attributes related to keywords include address titles and acronyms / conclusions.
  • the address title is a title added to the address, such as "sama,” “den,” and "middle.”
  • a word is a character that can be included in a character string indicating each attribute.
  • the word may include a place name, a building name, or the like nationwide.
  • the attribute is the company name related to the item value
  • the word may include an existing company name or the like.
  • the format is the format of a character string indicating each attribute. For example, if the attribute is a date related to the item value, the formats are "4 digit number", “year”, “1 to 12 number”, “month”, “1 to 31 number", and "day”. The combination is set.
  • the attribute is a telephone number related to the item value
  • a combination of "2 to 5 digits", “-”, “1 to 4 digits", “-”, “4 digits”, etc. is set as the format. Will be done.
  • a rule such as "the total number of words excluding nouns and punctuation marks is a predetermined number (for example, 5) or more" is set as a format.
  • 3 and 4 are diagrams showing an example of the data structure of the type table.
  • the group type includes the billing source, billing destination, transfer destination, billing amount, transfer deadline, text, issue date, form number, form type, and the like.
  • company name (item name / item value), address (item value), telephone number (item name / item value), postal code (item name / item value) , Name (item name), address title (keyword), alphanumeric string (item value), unknown character string (item value), etc. are set.
  • Bank name (item value), branch name (item value), account type (item value), account number (item value), alphanumeric string (item value), etc. are set as attributes corresponding to the group type related to the transfer destination. Will be done.
  • Billing amount (item name / item value), tax-included amount (item name / item value), etc.
  • the deadline (item name / item value) and the like are set as attributes corresponding to the group type related to the transfer deadline.
  • a sentence (item value) or the like is set as an attribute corresponding to the sentence.
  • the issue date (item name / item value) and the like are set as attributes corresponding to the group type related to the issue date.
  • Form number (item name / item value) and the like are set as attributes corresponding to the group type related to the form number.
  • Form type (item value) and the like are set as attributes corresponding to the form type.
  • Essential information, main attribute information, duplicate information, points, detection target information, etc. are stored in association with each attribute corresponding to each group type.
  • the required information indicates whether or not (optional) the character string to which the attribute is assigned must be included in the group of the group type.
  • the main attribute information indicates whether the attribute is a main attribute that indicates the characteristics of the group type by itself, or is a dependency that indicates the characteristics of the group type that accompanies the main attribute. For example, when the group type is the billing source, attributes such as company name, address, telephone number, zip code and name are set as main attributes, and attributes such as address title, alphanumeric string and unknown character string are set as dependent. Will be done.
  • Duplicate information indicates whether or not the attribute is allowed to be duplicated in the group of the group type.
  • the points are points that are added to the evaluation value of the group when the character string to which the attribute is assigned is included in the group of the group type detected in the form image.
  • the points may include negative values.
  • the evaluation value is used to detect a specific group from the form image.
  • the detection target group detected from the form image may be referred to as a target group.
  • the detection target information indicates whether or not the character string to which the attribute is assigned is the target detected from the group of the group type detected as the target group.
  • the character string to be detected detected from the target group may be referred to as a target character string.
  • Each group contains a character string to which attributes related to at least one item value are assigned.
  • each group includes a character string to which a required attribute (item value) is assigned. That is, each group may contain only strings to which a single item value is assigned, not strings to which other attributes are assigned.
  • the character strings included in one group are arranged so as to be close to each other, and in particular, have a relationship of being connected while being adjacent to each other. That is, each group forms a block, and the character strings included in the other groups are not arranged between the character strings included in one group.
  • a character string to which a sentence is assigned as an attribute may also be classified into one group.
  • frames, tables, etc. may be classified as one group.
  • FIG. 5 is a diagram showing an example of the data structure of the conversion table.
  • the position condition and the conversion attribute are stored in association with each combination of the first attribute and the second attribute.
  • the first attribute is an attribute related to a predetermined item name
  • the second attribute is an attribute related to a predetermined item value.
  • the first attribute is not limited to the attribute related to the item name, but may be an attribute related to the item value.
  • the position condition indicates the condition of the arrangement position of the second attribute with respect to the first attribute in the form image.
  • Positional conditions include direction (eg, right side, lower side, lower right side) and distance (eg, within a pixel corresponding to 30 mm).
  • the position condition may be set in order of priority (for example, the order of right side, lower side, lower right side, and / or the order of smaller distance).
  • the conversion attribute is an attribute that converts the second attribute when the second attribute satisfies the position condition with respect to the first attribute.
  • an attribute that more specifically limits the second attribute is set.
  • the first attribute is the attribute related to the item name
  • the attribute related to the item value corresponding to the first attribute may be set as the conversion attribute.
  • the first attribute is the attribute "billing amount” related to the item name and the second attribute is the attribute “amount” related to the item value
  • “amount” is used as the conversion attribute of the attribute related to the item value.
  • a “billing amount” that is more specifically limited to is set.
  • the first attribute is the attribute "account type” related to the item value and the second attribute is the attribute "alphabet string” related to the item value
  • An “account number” that more specifically limits the "alphabet string” is set.
  • the first attribute is the attribute "company name” related to the item name and the second attribute is the attribute "unknown character string” related to the item value
  • the second attribute is the attribute "unknown character string” related to the item value
  • FIG. 6 is a diagram showing a schematic configuration of the second storage device 210 and the second processing circuit 220.
  • the second storage device 210 includes an acquisition program 211, a character string detection program 212, an allocation program 213, a classification program 214, a target group detection program 215, a target character string detection program 216, an estimation program 217, and an output.
  • Each program such as the control program 218 is stored.
  • Each of these programs is a functional module implemented by software running on the processor.
  • the second processing circuit 220 reads each program stored in the second storage device 210, and operates according to each read program.
  • the second processing circuit 220 can be used as an acquisition unit 221, a character string detection unit 222, an allocation unit 223, a classification unit 224, a target group detection unit 225, a target character string detection unit 226, an estimation unit 227, and an output control unit 228. Function.
  • FIG. 7 is a flowchart showing the operation of the image reading process by the image reading device 100.
  • the operation of the image reading process will be described with reference to the flowchart shown in FIG.
  • the operation flow described below is mainly executed by the first processing circuit 120 in cooperation with each element of the image reading device 100 based on the program stored in the first storage device 110 in advance.
  • the imaging device 102 captures a form such as an invoice, a notice, or a certificate as a manuscript, generates a form image, and stores it in the first storage device 110 (step S101).
  • the first processing circuit 120 transmits the form image stored in the first storage device 110 to the information processing device 200 via the first interface device 101 (step S102), and ends a series of steps.
  • FIG. 8 is a flowchart showing the operation of the recognition process by the information processing device 200.
  • the operation of the recognition process will be described with reference to the flowchart shown in FIG.
  • the operation flow described below is mainly executed by the second processing circuit 220 in cooperation with each element of the information processing device 200 based on the program stored in the second storage device 210 in advance.
  • the acquisition unit 221 acquires the form image from the image reading device 100 via the second interface device 201 and stores it in the second storage device 210 (step S201).
  • FIG. 9 is a schematic diagram showing an example of the form image 900.
  • the form image 900 includes tables 920, 921, and 922 surrounded by ruled lines. Further, the form image 900 includes an invoice number 901, an issue date 902, a title 903, and the like outside of Tables 920, 921, and 922. The form image 900 also includes a billing postal code 904, a billing address 905, a billing company name 906, an address title 907, a billing company name 908, a billing address 909, and a billing telephone number. 910 and the like are included.
  • the deadline 919 etc. is included.
  • the character string detection unit 222 classifies the form image into a plurality of areas (step S202).
  • the character string detection unit 222 classifies the form image into, for example, each area surrounded by a ruled line and an area not surrounded by a ruled line.
  • the form image 900 is classified into four areas: an area inside Table 920, an area inside Table 921, an area inside Table 922, and an outside area.
  • the character string detection unit 222 detects a character string from the area to be processed of the form image (step S203).
  • the character string detection unit 222 detects characters from the form image by using a known OCR (Optical Character Recognition) technique, and detects a plurality of characters having a predetermined positional relationship as character strings.
  • a plurality of characters having a predetermined positional relationship are, for example, characters that overlap each other in the vertical direction and are connected while being adjacent to each other within a certain range in the horizontal direction.
  • the fixed range is set to, for example, the number of pixels corresponding to the margin. The fixed range may be changed according to the vertical size of each character.
  • the character string detection unit 222 detects each character string so that predetermined characters such as "Co., Ltd.”, "Telephone number”, and " ⁇ " are included in a character string separate from other characters. May be good.
  • the character string detection unit 222 stores each detected character string (recognized character itself) and its position information (for example, the coordinates of the circumscribing rectangle) in the second storage device 210 in association with each other.
  • FIG. 10 is a schematic diagram for explaining the character string detected by the character string detection unit 222.
  • FIG. 10 shows the form image 900 shown in FIG.
  • the character strings 1001 and 1002 related to the invoice number 901, the character strings 1003 and 1004 related to the issue date 902, and the character strings 1005 related to the title 903 are detected. ..
  • the character strings 1006 and 1007 related to the billing address postal code 904 the character strings 1008 related to the billing address 905, the character strings 1009, 1010 related to the billing company name 906, and the character strings 1011 related to the address title 907 are Detected.
  • the character strings 1012 and 1013 related to the billing company name 908, the character strings 1014 related to the billing source address 909, and the character strings 1015 and 1016 related to the billing source telephone number 910 are detected.
  • the character string 1017 related to the sentence 911, the character string 1018 related to the sentence 912, and the character strings 1019 and 1020 related to the billing amount 913 are detected.
  • the character string 1025 related to the number 918 is detected.
  • the character strings 1026 and 1027 related to the payment deadline 919 are detected.
  • the allocation unit 223 refers to the attribute table and assigns an attribute for each character string detected by the character string detection unit 222 (step S204).
  • the allocation unit 223 assigns the attribute associated with each word to the character string including the word stored in the attribute table among the detected character strings. Further, the allocation unit 223 assigns the attributes associated with each format to the character strings that satisfy the formats stored in the attribute table among the detected character strings.
  • a form number (item name) and an alphanumeric string (item value) are assigned as attributes of the character strings 1001 and 1002 related to the invoice number 901, respectively.
  • the issue date (item name) and date (item value) are assigned as attributes of the character strings 1003 and 1004 related to the issue date 902, respectively.
  • a form type (item value) is assigned as an attribute of the character string 1005 related to the title 903.
  • the postal code (item name) and postal code (item value) are assigned as attributes of the character strings 1006 and 1007 related to the postal code 904 of the billing destination, respectively.
  • An address (item value) is assigned as an attribute of the character string 1008 relating to the billing address 905.
  • a company name (item name) and a company name (item value) are assigned as attributes of the character strings 1009 and 1010 related to the billing company name 906, respectively.
  • the address title (keyword) is assigned as an attribute of the character string 1011 related to the address title 907.
  • the company name (item name) and company name (item value) are assigned as attributes of the character strings 1012 and 1013 related to the billing company name 908, respectively.
  • An address (item value) is assigned as an attribute of the character string 1014 related to the billing address 909.
  • a telephone number (item name) and a telephone number (item value) are assigned as attributes of the character strings 1015 and 1016 related to the telephone number 910 of the billing source.
  • a sentence (item value) is assigned as an attribute of the character string 1017 related to the sentence 911 and the character string 1018 related to the sentence 912, respectively.
  • the billed amount (item name) and the amount (item value) are assigned as attributes of the character strings 1019 and 1020 related to the billed amount 913, respectively.
  • a sentence (item value) is assigned as an attribute of the character string 1021 related to the sentence 914.
  • the bank name (item value) is assigned as an attribute of the character string 1022 related to the bank name 915 of the transfer destination.
  • a branch name (item value) is assigned as an attribute of the character string 1023 related to the transfer destination branch name 916.
  • the account type (item value) is assigned as an attribute of the character string 1024 related to the transfer destination account type 917.
  • An alphanumeric string (item value) is assigned as an attribute of the character string 1025 related to the transfer destination account number 918.
  • a deadline (item name), date (item value), and the like are assigned as attributes of the character strings 1026 and 1027 related to the payment deadline 919.
  • the classification unit 224 executes the classification process (step S205).
  • FIG. 11 is a flowchart showing an example of the operation of the classification process.
  • the classification unit 224 concatenates each character string detected by the character string detection unit 222 and assigned an attribute by the allocation unit 223 (step S301).
  • the classification unit 224 sets each character string to which the attribute is assigned, particularly the circumscribing rectangle of each character string, as a node in the form image.
  • the classification unit 224 connects each node with another node located closest to the plurality of nodes in a predetermined direction with respect to each node.
  • the predetermined directions are, for example, eight horizontal, vertical, and diagonal directions.
  • the predetermined direction may be four directions, horizontal and vertical.
  • the classification unit 224 extracts nodes arranged at positions that overlap each other in the direction perpendicular to the node of interest, and among the extracted nodes, the node having the smallest horizontal distance on each of the left and right nodes of the node of interest is selected. Connect each with the node of interest. Similarly, the classification unit 224 extracts nodes arranged at positions that overlap with the attention node in the horizontal direction, and connects the nodes having the shortest vertical distance above and below the attention node to the attention node, respectively. Let me.
  • the classification unit 224 extracts nodes that do not overlap in the horizontal and vertical directions with respect to the node of interest, and among the extracted nodes, the distance is the minimum in each of the upper left, upper right, lower left, and lower right of the node of interest. Connect each node of interest to the node of interest.
  • the classification unit 224 calculates the Euclidean distance between the closest ends of each circumscribing rectangle as the distance between the nodes.
  • the classification unit 224 may calculate the Euclidean distance between the positions of the centers of gravity of each circumscribing rectangle as the distance between the nodes.
  • the classification unit 224 connects the plurality of nodes with the node of interest.
  • the vertical distance between the upper left node and the upper right node of the attention node is the minimum vertical distance between each node above the attention node and the attention node. It may be connected to the node of interest only in the following cases.
  • the vertical distance between the lower left and lower right nodes of the attention node is the minimum vertical distance between each node below the attention node and the attention node. It may be connected to the node of interest only when it is less than or equal to the distance.
  • FIG. 12A is a schematic diagram for explaining the concatenation of character strings.
  • FIG. 12A shows a part 1200 of the form image 900 shown in FIG.
  • the circumscribing rectangle of each character string indicated by the alternate long and short dash line is set as a node, and each node (the circumscribing rectangle of the character string) connected by the dotted line is connected.
  • the character string 1001 the character string 1002 on the right side, the character string 1003 on the lower side, and the character string 1004 on the lower right side are concatenated. Since the vertical distance between the character string 1001 and the lower left character string 1007 is larger than the vertical distance between the character string 1001 and the lower left character string 1003, the character string 1001 and the lower left character string 1003 are located below. It is not concatenated with the character string 1007.
  • the allocation unit 223 refers to the conversion table and converts the attribute assigned to the character string to which the attribute related to the predetermined item value is assigned to the attribute related to the specific item value (step S302).
  • the allocation unit 223 is assigned the first attribute and the second attribute related to the combination stored in the conversion table from the character string pairs concatenated by the classification unit 224, and the position condition related to the combination is satisfied. Extract the pair of strings to be used.
  • the allocation unit 223 converts the attribute of the character string to which the second attribute is assigned from the extracted character string pair into the conversion attribute associated with the combination.
  • the pair of the character string 1001 to which the form number is assigned as the attribute related to the item name and the character string 1002 to which the alphanumeric string is assigned as the attribute related to the item value is the character string 1002. Attributes are converted to form numbers. Similarly, for the pair of the character string 1003 to which the issue date is assigned as the attribute related to the item name and the character string 1004 to which the date is assigned as the attribute related to the item value, the attribute of the character string 1004 is converted to the issue date. ..
  • the attribute of the character string 1010 is the company name in combination with the character string 1009 to which the company name is assigned as the attribute related to the item name. Is converted to.
  • the attribute of the character string 1013 is the company due to the combination with the character string 1012 to which the company name is assigned as the attribute related to the item name. Converted to a name.
  • the attribute of the character string 1020 is converted into the billing amount.
  • the attribute of the character string 1025 is converted to an account number. Will be done.
  • the attribute of the character string 1027 is converted to the deadline.
  • the allocation unit 2223 converts the attribute assigned to the character string to which the attribute related to the predetermined item value is assigned into the attribute related to the specific item value.
  • the allocation unit 223 can convert the attribute of the character string to which the abstract item value is assigned into a more specific item value, and can increase the amount of information indicated by the attribute of each character string. ..
  • the information processing apparatus 200 can increase the amount of information indicated by the attributes included in each group, and can detect the target group more accurately.
  • the classification unit 224 refers to the attribute table, and extracts a single item group consisting of character strings to which attributes related to a single item are assigned from the character strings detected by the character string detection unit 222. , Separate from other character strings (step S303).
  • a single item is a single type of item name, a single type of item value, or a single type of item name and a set of a single type of item value corresponding to that item name.
  • the classification unit 224 extracts a group type consisting of only attributes related to a single item from the type table.
  • the transfer deadline, sentence, issue date, form number, and group type of form type correspond to the group type consisting of only the attributes related to a single item.
  • the classification unit 224 extracts as a single item group a pair consisting of only the character strings to which the attributes included in the extracted group type are assigned from the character string pairs concatenated in step S301.
  • the classification unit 224 independently extracts a single character string to which the attributes included in the extracted group type are assigned as a single item group.
  • the character string 1005 to which the form type (item value) is assigned, the pair of the character strings 1017 and 1018 to which the sentence (item value) is assigned, and the character string 1021 to which the sentence (item value) is assigned are also single. Extracted as an item group.
  • a pair of character strings 1026 and 1027 to which a deadline (item name / item value) is assigned is also extracted as a single item group.
  • FIG. 12B is a schematic diagram for explaining the division of a single item group.
  • FIG. 12B shows a part 1200 of the form image 900 shown in FIG. 12A.
  • the pair of character strings 1001 and 1002, the pair of character strings 1003 and 1004, and the character string 1005 extracted as a single item group are concatenated with other character strings (dotted line). Is disconnected.
  • the classification unit 224 classifies a plurality of character strings in the form image so that the character strings included in the single item group are not included in the other groups.
  • the classification unit 224 separates the character strings that make sense independently from other character strings, and classifies each character string so as to divide the group using such a character string, so that each character string is efficiently classified. Moreover, it can be classified with high accuracy.
  • the classification unit 224 refers to the attribute table, extracts a plurality of item groups including the character strings to which the attributes related to the plurality of items are assigned from the character strings detected by the character string detection unit 222, and others. Is separated from the character string of (step S304).
  • a plurality of items is a set containing at least a plurality of types of item names or a plurality of types of item values.
  • the classification unit 224 extracts a group type including attributes related to a plurality of items from the type table.
  • the group types of the billing source, the billing destination, the transfer destination, and the billing amount correspond to the group types including the attributes related to a plurality of items.
  • the classification unit 224 makes the character string belong to the plurality of item groups corresponding to the group type. .. If the attribute assigned to each character string is set as the main attribute in the group type and the attribute assigned to the character string to be concatenated with the character string is also included in the group type, the classification unit 224 will concatenate the attribute.
  • the character string to be used also belongs to the same multiple item group.
  • the classification unit 224 refers to the main attribute information stored in the type table, and determines whether or not the attribute assigned to each character string is set as the main attribute in the group type.
  • the classification unit 224 does not make the concatenated character string belong to the same plurality of item groups. Further, when the attribute assigned to each character string is set as a dependency in the group type, the classification unit 224 does not make another character string belong to the plurality of item groups starting from that character string.
  • FIG. 13A is a schematic diagram for explaining a plurality of item groups.
  • FIG. 13A shows a part 1200 of the form image 900 shown in FIG. 12A.
  • the group 1301 including the character strings 1006 to 1016 is classified so as to belong to the plurality of item groups related to the billing destination and the plurality of item groups related to the billing source.
  • the attribute related to the address title is set as a dependency in the group type related to the billing destination and the group type related to the billing source. Therefore, the classification unit 224 does not make the character string 1012 belong to the plurality of item groups to which the character string 1011 belongs, starting from the character string 1011 to which the address title is assigned as an attribute.
  • the classification unit 224 assigns the character string 1011 to the plurality of item groups to which the character string 1012 belongs, starting from the character string 1012 to which the company name is assigned as an attribute. As a result, the character string 1012 and the character string 1012 are classified into the same plurality of item groups.
  • the classification unit 224 classifies the plurality of character strings into a plurality of groups based on the positional relationship of the plurality of character strings in the form image and the attributes assigned to the plurality of character strings.
  • the classification unit 224 assigns another attribute corresponding to the group type to the character string to be concatenated with the character string to which the specific attribute corresponding to the specific group type is assigned in the form image, Classify the two strings into the same group. That is, when the classification unit 224 assigns another attribute corresponding to the target group to the character string concatenated with the character string to which the specific attribute corresponding to the specific target group is assigned in the form image, Classify the two strings into the same group.
  • the two character strings are a character string to which a specific attribute corresponding to a specific target group is assigned and a character string to which another attribute corresponding to the target group is assigned. Further, the character string concatenated with the character string to which the specific attribute is assigned is the character string located closest to the character string to which the specific attribute is assigned among the plurality of character strings in a predetermined direction. As a result, the classification unit 224 can accurately classify the interrelated character strings into one group.
  • the classification unit 224 refers to the type table and determines whether or not each of the classified plurality of item groups contains two or more character strings to which predetermined attributes are assigned in duplicate (step). S305).
  • a given attribute is an attribute that is not allowed to exist more than once.
  • the classification unit 224 refers to the duplicate information stored in the type table and determines whether or not each attribute is allowed to exist in duplicate.
  • the classification unit 224 shifts the process to step S309.
  • the classification unit 224 when the plurality of item groups include two or more character strings to which predetermined attributes are assigned in duplicate, the classification unit 224 generates a minimum spanning tree for the plurality of item groups (step S306).
  • the classification unit 224 generates, for example, a minimum spanning tree in which the character strings included in the plurality of item groups are nodes and the distance between the character strings in the form image is the cost.
  • the character string included in the plurality of item groups is an example of a character string including two or more character strings to which a predetermined attribute is assigned. Even if the classification unit 224 generates a minimum spanning tree with the distance between each character string in the form image weighted by the correlation between the attributes assigned to each character string in the form image as a cost. good. For example, the classification unit 224 weights and corrects each cost so that the cost between attributes related to the same item becomes small and the cost between attributes related to different items becomes large.
  • the classification unit 224 determines the side that divides the minimum spanning tree (step S307).
  • the classification unit 224 determines the side that divides two or more character strings included in the minimum spanning tree and to which a predetermined attribute is assigned and has the highest cost as the side that divides the minimum spanning tree. do.
  • the classification unit 224 classifies the character string included in the plurality of item groups, that is, the character string including two or more character strings to which a predetermined attribute is assigned, by dividing the minimum spanning tree at the determined side. (Step S308).
  • the classification unit 224 minimizes so as to divide all the character strings to which the predetermined attributes are assigned. Determine multiple sides that divide the spanning tree. Alternatively, the classification unit 224 may determine the sides that divide the minimum spanning tree one by one, and divide the plurality of item groups into two. In that case, the classification unit 224 returns the process to step S306 each time the plurality of item groups are divided, and among the divided groups, for the group in which two or more character strings to which the predetermined attributes are assigned remain. The processing of steps S306 to S308 is repeated.
  • FIG. 13B is a schematic diagram for explaining disconnection of a plurality of item groups.
  • FIG. 13B shows a part 1200 of the form image 900 shown in FIG. 12A.
  • the group 1301 includes a character string 1009 and a character string 1012 to which an address that is not allowed to be duplicated is assigned as an attribute.
  • the group 1301 is assigned a character string 1009 and a character string 1012 to which a company name (item name) that is not allowed to be duplicated as an attribute is assigned, and a company name (item value) that is not allowed to be duplicated as an attribute.
  • the character string 1010 and the character string 1013 are included.
  • each character string in the form image is used as a node, and a minimum spanning tree shown by a dotted line is generated so that the total length of each side, that is, the total distance between each node is minimized.
  • the side between the character string 1011 and the character string 1012 having the longest distance is extracted as the side that divides the character string 1009 and the character string 1012.
  • the group 1301 is divided into a group including the character strings 1006 to 1011 and a group including the character strings 1012 to 1016 by the side between the character strings 1011 and the character string 1012.
  • the character string 1009 and the character string 1012, and the character string 1010 and the character string 1013 are also divided, so that the group 1301 is not further divided.
  • the classification unit 224 classifies a plurality of character strings into a plurality of groups so that two or more character strings to which a predetermined attribute is assigned are not duplicated in one group.
  • the classification unit 224 suppresses that character strings having different attributes, that is, character strings showing different characteristics belong to the same group, and is a group consisting of only character strings appropriately showing the characteristics. Can be generated more accurately.
  • the classification unit 224 uses the minimum spanning tree to classify each character string so that the character strings to which the predetermined attributes are assigned are not included in duplicate. As a result, the classification unit 224 can appropriately classify each character string so that the character strings having high relevance are included in the same group and the character strings having low relevance are included in separate groups.
  • the classification unit 224 determines the classified single item group and the plurality of item groups as a group for classifying each character string (step S309), and ends a series of steps.
  • the classification unit 224 sets a group type including all attributes assigned to each character string included in each group as a candidate for the group type corresponding to each group, and associates each group with the group type to provide a second storage device. Store in 210.
  • FIG. 14 is a schematic diagram for explaining a group in which each character string is classified.
  • FIG. 14 shows the form image 900 shown in FIG.
  • the form number is set as a candidate for the group type of the group 1201 including the character strings 1001 to 1002.
  • the issue date is set as a candidate for the group type of the group 1202 including the character strings 1003 to 1004.
  • the form type is set as a candidate for the group type of the group 1203 including the character string 1005.
  • a billing source and a billing destination are set as candidates for the group type of the group 1204 including the character strings 1006 to 1011.
  • a billing source and a billing destination are set as candidates for the group type of the group 1205 including the character strings 1012 to 1016.
  • a sentence is set as a candidate for the group type of the group 1206 including the character strings 1017 to 1018.
  • the billing amount is set as a candidate for the group type of the group 1207 including the character strings 1019 to 1020.
  • a sentence is set as a candidate for the group type of the group 1208 including the character string 1021.
  • the transfer destination is set as a candidate for the group type of the group 1209 including the character strings 1022 to 1025.
  • the transfer deadline is set as a candidate for the group type of the group 1210 including the character strings 1026 to 1027.
  • the target group detection unit 225 calculates the evaluation value of each group set as a candidate for each group type for each group type stored in the type table (step S206).
  • the target group detection unit 225 calculates the evaluation value of each group for each of the plurality of groups.
  • the target group detection unit 225 calculates the evaluation value based on the attributes assigned to each character string included in each group. In particular, the target group detection unit 225 calculates the evaluation value based on the points stored in the type table corresponding to the attributes assigned to each character string included in each group.
  • the target group detection unit 225 calculates the total of the points stored in the type table corresponding to the attributes assigned to each character string included in each group as the evaluation value of each group.
  • the target group detection unit 225 may calculate the average value or the weighted sum of the points corresponding to the attributes assigned to each character string included in each group as the evaluation value of each group.
  • the target group detection unit 225 can easily calculate the evaluation value by calculating the evaluation value based on the points stored in the type table, and can reduce the processing time of the recognition process.
  • the target group detection unit 225 may correct the evaluation value based on the size of each character string (size of the circumscribing rectangle) and / or the arrangement position of each group. For example, in the invoice, the company name of the billing source is likely to be large. Therefore, when the size of the character string to which the company name is assigned as an attribute is larger than the average value of the size of each character in the form image, the target group detection unit 225 evaluates the group type related to the billing source. Correct the evaluation value of the group so that is higher. In addition, in the invoice, it is highly possible that the company name of the billing destination is listed on the left side and the company name of the billing source is listed on the right side.
  • the target group detection unit 225 has a higher evaluation value for the group type related to the billing destination for the group arranged on the left side, and evaluates the group type related to the billing source for the group arranged on the right side. Correct the evaluation value of each group so that the value becomes higher.
  • the target group detection unit 225 sets the group with the highest evaluation value as the target group for each group type among the groups classified as candidates for each group type for each group type stored in the type table. Detect (step S207).
  • group 1204 is generated as a candidate for the group type related to the billing source and the billing destination
  • group 1205 is generated as a candidate for the group type related to the billing source and the billing destination.
  • Group 1204 includes postal code (item name / item value), address (item value), company name (item name / item value), and address title (keyword) as attributes.
  • Group 1205 includes a company name (item name / item value), an address (item value), and a telephone number (item name / item value) as attributes.
  • the postal code (item name / item value), address (item value), company name (item name / item value), address title (keyword), and telephone number (item) are used for the group type related to the billing source.
  • the points of each attribute related to (name / item value) are set to 1, 2, 5, -10, and 2.
  • the points related to the address title (keyword) are set to a small value (negative value). Therefore, for the group type related to the billing source, the evaluation value (total points) of group 1204 is -2, and the evaluation value (total points) of group 1205 is 9. Therefore, group 1205 is detected as a target group for the group type related to the billing source.
  • the postal code (item name / item value), address (item value), company name (item name / item value), address title (keyword), and telephone number for the target group related to the billing address.
  • the points of each attribute related to (item name / item value) are set to 1, 2, 5, 10, and 2.
  • the points related to the address title (keyword) are set to a high value. Therefore, for the group type related to the billing destination, the evaluation value (total points) of group 1204 is 18, and the evaluation value (total points) of group 1205 is 9. Therefore, group 1204 is detected as a target group for the group type related to the billing destination.
  • group 1209, group 1207, group 1210, group 1202, group 1201, and group 1203 are detected as target groups for the transfer destination, billing amount, transfer deadline, issue date, form number, and group type related to the form type, respectively.
  • NS a plurality of groups may be detected as the target group for the group type related to the text. Therefore, both group 1206 and group 1208 are detected as target groups for the group type related to the text.
  • the target character string detection unit 226 refers to the type table and detects a character string to which a predetermined attribute is assigned from the character strings included in each target group as a target character string (step S208).
  • the predetermined attribute is an attribute indicated as a detection target in the detection target information stored corresponding to each group type in the type table.
  • the character string 1012 and the character string 1013 related to the company name are detected as the target character strings from the target group 1204 related to the billing source. Further, the character string 1009 and the character string 1010 related to the company name are detected as the target character strings from the target group 1204 related to the billing destination. Further, from the target group 1204 related to the transfer destination, the character string 1022 related to the bank name, the character string 1023 related to the branch name, the character string 1024 related to the account type, and the character string 1025 related to the account number are detected as the target character strings. Further, the character string 1019 and the character string 1020 related to the billed amount are detected as the target character strings from the target group 1207 related to the billed amount. Further, the character string 1026 and the character string 1027 related to the deadline are detected as the target character strings from the target group 1210 related to the transfer deadline.
  • the estimation unit 227 determines whether or not the target character string detection unit 226 can detect a character string to which a predetermined attribute is assigned from the character strings included in each target group (step S209). .. When the target character string detection unit 226 can detect a character string to which a predetermined attribute is assigned from the character strings included in each target group, the estimation unit 227 shifts the process to step S211.
  • the estimation unit 227 will perform another character included in the target group.
  • the target character string is estimated based on the column (step S210).
  • the information processing device 200 stores, for example, a dictionary in which an address or a telephone number is associated with a company name in the second storage device 210 in advance.
  • the estimation unit 227 refers to the dictionary stored in the second storage device 210, and estimates the company name associated with the address or telephone number included in the target group as the target character string.
  • the information processing device 200 Since the information processing device 200 detects the target character string by grouping the character strings related to each other, even if the OCR cannot recognize an important character such as a company name, the information processing device 200 is based on the group to which the character belongs. , Unrecognized characters can be complemented. Therefore, the information processing device 200 can detect the target character string with higher accuracy.
  • the output control unit 228 determines whether or not the processing of steps S203 to S210 is completed for all the areas classified in the form image (step S211). When the area for which the processing has not been completed remains, the output control unit 228 returns the processing to step S203 and repeats the processing of steps S203 to S211.
  • the output control unit 228 outputs the information regarding each detected target character string (step S212), and ends a series of steps.
  • the output control unit 228 outputs by displaying the information regarding the target character string on the display device 203.
  • the output control unit 228 may output information about the target character string by transmitting it to another information processing device via the second interface device 201.
  • the output control unit 228 outputs, for example, the target character string itself as information regarding the target character string.
  • the output control unit 228 may output the form image and the position information indicating the coordinates of the target character string in the form image as the information regarding the target character string. Further, the output control unit 228 may output an image or the like obtained by cutting out the target character string as information regarding the target character string.
  • step S202 the information processing apparatus 200 does not classify the form image into the areas surrounded by the ruled lines and the areas not surrounded by the ruled lines, but collectively processes all the areas in steps S203 to S210. May be executed. Further, the information processing apparatus 200 may consider the table area or the frame area surrounded by the ruled lines as one group. Further, when only one character string is included in the area surrounded by the ruled line, the ruled line is likely to be merely highlighted. Therefore, the information processing apparatus 200 may execute the processes of steps S203 to S210 on the assumption that the character string is not surrounded by the ruled lines.
  • the information processing apparatus 200 classifies each character string into groups based on the positional relationship of each character string in the form image and the attributes of each character string, and the character strings included in each group.
  • the target group is detected based on the attribute of, and the target character string is detected from the target group.
  • the information processing apparatus 200 detects the target character string by using not only the target character string itself but also information obtained from the character string located in the vicinity of the target character string. Therefore, the information processing device 200 can accurately detect the character string to be detected from the form image.
  • the information processing device 200 does not receive the correction of the character string to be detected from the user by using the input device 202, and it is possible to reduce the processing load of the processor in the process of handling the form image. .. Further, when the information processing device 200 transmits information about the character string to be detected to another information processing device, the information processing device 200 does not receive a correction request for the character string to be detected from the other information processing device, and the information processing device 200 It has become possible to reduce the amount of communication between the information processing device and other information processing devices.
  • the information processing device can also detect a specific keyword in the form image and then detect a character string existing within a predetermined range from the detected keyword as a detection target.
  • a specific keyword is not included in the form image, and there is a possibility that the character string to be detected is not arranged within a predetermined range from the specific keyword.
  • the information processing apparatus 200 comprehensively determines whether or not each group is a detection target for each group of character strings based on the attributes of the character strings included in each group. As a result, the information processing apparatus 200 can accurately detect the detection target group from the form image, and can accurately detect the detection target character string from the detected detection target group.
  • the information processing apparatus 200 comprehensively determines whether or not each group is a detection target by using not only the attribute related to the item name but also the attribute related to the item value and / or the attribute related to the keyword. .. Therefore, the information processing apparatus 200 can accurately detect even a character string in which an item name such as "company name" is not described in the vicinity.
  • the image processing system 1 makes it possible to improve the efficiency of the form input work and reduce the work burden of the person in charge in a company that automates the form input work by using OCR and RPA (Robotic Process Automation) technology. rice field.
  • OCR and RPA Robot Process Automation
  • rice field In particular, when digitizing invoices and other forms to automate operations such as payment requests, it is necessary to accurately identify the company name of the billing source and the company name of the billing destination.
  • the invoice includes the company name of the billing source and the company name of the billing destination, but it is difficult to determine which company name is the billing source or the billing destination from the company name itself.
  • the information processing apparatus 200 can clearly distinguish between the company name of the billing source and the company name of the billing destination by using information other than the company name such as the address title.
  • FIG. 15 is a block diagram showing a schematic configuration of the second processing circuit 230 in the information processing apparatus according to another embodiment.
  • the second processing circuit 230 executes recognition processing instead of the second processing circuit 220.
  • the second processing circuit 230 includes an acquisition circuit 231, a character string detection circuit 232, an allocation circuit 233, a classification circuit 234, a target group detection circuit 235, a target character string detection circuit 236, an estimation circuit 237, an output control circuit 238, and the like.
  • the acquisition circuit 231 is an example of the acquisition unit, and has the same function as the acquisition unit 221.
  • the acquisition circuit 231 acquires the form image from the image reading device 100 via the second interface device 201, and stores the form image in the second storage device 210.
  • the character string detection circuit 232 is an example of the character string detection unit, and has the same function as the character string detection unit 222.
  • the character string detection circuit 232 reads a form image from the second storage device 210, detects a plurality of character strings from the form image, and stores the detection result in the second storage device 210.
  • the allocation circuit 233 is an example of the allocation unit, and has the same function as the allocation unit 223.
  • the allocation circuit 233 reads the attribute table and the character string detection result from the second storage device 210, assigns attributes to each of a plurality of character strings, and stores the allocation result in the second storage device 210.
  • the classification circuit 234 is an example of the classification unit, and has the same function as the classification unit 224.
  • the classification circuit 234 reads the type table, the character string detection result, and the attribute allocation result from the second storage device 210, classifies each character string into groups, and stores the classification result in the second storage device 210. ..
  • the target group detection circuit 235 is an example of the target group detection unit, and has the same function as the target group detection unit 225.
  • the target group detection circuit 235 reads the type table and the classification result from the second storage device 210, calculates an evaluation value for each of a plurality of groups, detects the target group, and stores the detection result in the second storage device 210. do.
  • the target character string detection circuit 236 is an example of the target character string detection unit, and has the same function as the target character string detection unit 226.
  • the target character string detection circuit 236 reads the type table, the target group detection result, the character string detection result, and the attribute allocation result from the second storage device 210, and from the character strings included in the target group.
  • the target character string is detected, and the detection result is stored in the second storage device 210.
  • the estimation circuit 237 is an example of the estimation unit, and has the same function as the estimation unit 227.
  • the estimation circuit 237 reads the detection result of the target group, the detection result of the character string, the attribute allocation result, and the detection result of the target character string from the second storage device 210, estimates the target character string, and estimates the target character string. Is stored in the second storage device 210.
  • the output control circuit 238 is an example of the output control unit, and has the same function as the output control unit 228.
  • the output control circuit 238 reads the detection result and the estimation result of the target character string from the second storage device 210, and outputs the information regarding the target character string to the display device 203.
  • the information processing apparatus can accurately detect the character string to be detected from the form image even when the second processing circuit 230 is used.
  • the embodiments are not limited to these.
  • the division of functions between the image reading device 100 and the information processing device 200 is not limited to the example of the image processing system 1 shown in FIG. 1, and each part of the image reading device 100 and the information processing device 200 is divided into the image reading device 100 and the information processing device. Which of the 200 is arranged can be changed as appropriate.
  • the image reading device 100 and the information processing device 200 may be configured by one device.
  • the first storage device 110 of the image reading device 100 may store each program and each data stored in the second storage device 210 of the information processing device 200. Further, the first processing circuit 120 of the image reading device 100 may operate as each part realized by the second processing circuit 220 of the information processing device 200. Further, the image reading device 100 may have a processing circuit similar to that of the second processing circuit 230 of the information processing device 200.
  • the image reading device 100 has a display device similar to the display device 203. Since the recognition process is executed by the image reading device 100, the process of transmitting and receiving the form image in steps S102 and S201 is omitted. Each process of steps S202 to S212 is executed by the first processing circuit 120 of the image reading device 100. The operation of these processes is the same as that executed by the second processing circuit 220 or the second processing circuit 230 of the information processing apparatus 200. In this case, the image reading device 100 operates as an image processing device.
  • the first interface device 101 and the second interface device 201 are connected via a network such as the Internet, a telephone line network (including a mobile terminal line network and a general telephone line network), and an intranet. May be good.
  • the first interface device 101 and the second interface device 201 are provided with a communication interface circuit of the network to be connected.
  • a plurality of information processing devices are distributed and arranged on the network so that the image processing service can be provided in the form of cloud computing, and each information processing device cooperates to perform recognition processing and the like. You may share it.
  • the image processing system 1 can efficiently execute the recognition process for the form image read by the plurality of image reading devices.
  • Information processing device 210 Second storage device 221 Acquisition unit 222 Character string detection unit 223 Assignment unit 224 Classification unit 225 Target group detection unit 226 Target character string detection unit 227 Estimating unit 228 Output control unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Input (AREA)

Abstract

帳票画像から検出対象の文字列を精度良く検出することが可能な画像処理装置、制御方法、制御プログラムを提供する。画像処理装置は、帳票画像を取得する取得部と、帳票画像から複数の文字列を検出する文字列検出部と、複数の文字列毎に属性を割り当てる割当部と、帳票画像内の複数の文字列の位置関係と、複数の文字列に割り当てた属性とに基づいて、複数の文字列を複数のグループに分類する分類部と、複数のグループ毎に、各グループに含まれる各文字列に割り当てられた属性に基づいて評価値を算出し、複数のグループの中で評価値が最も高いグループを対象グループとして検出する対象グループ検出部と、対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を対象文字列として検出する対象文字列検出部と、対象文字列に関する情報を出力する出力部と、を有する。

Description

画像処理装置、制御方法及び制御プログラム
 本開示は、画像処理装置、制御方法及び制御プログラムに関し、特に、帳票画像から文字列を検出する画像処理装置、制御方法及び制御プログラムに関する。
 請求書等の帳票を担当者が手作業によりデータ化している会社では、膨大な数の帳票のデータ化が必要である場合に担当者の業務負担が大きくなるため、帳票のデータ化作業の効率化に対する要望が高まっている。担当者の業務負担を軽減させるために、このような帳票のデータ化を行う画像処理装置では、帳票画像から必要な文字列を精度良く検出することが望まれている。
 帳票文書について、文字の配置に基づき文字間の連接候補関係を抽出し、抽出した文字間連接関係に基づき項目名である可能性が高い連接関係を抽出し、抽出した連接関係に基づき、項目名文字列領域候補を抽出する文書処理装置が開示されている(特許文献1)。この文書処理装置は、項目名文字列領域候補が項目名文字列であるか否かを判定する。
国際公開第2016/046988号
 画像処理装置では、帳票画像から検出対象の文字列を精度良く検出することが望まれている。
 画像処理装置、制御方法及び制御プログラムの目的は、帳票画像から検出対象の文字列を精度良く検出することを可能とすることにある。
 実施形態の一側面に係る画像処理装置は、帳票画像を取得する取得部と、帳票画像から複数の文字列を検出する文字列検出部と、複数の文字列毎に属性を割り当てる割当部と、帳票画像内の複数の文字列の位置関係と、複数の文字列に割り当てた属性とに基づいて、複数の文字列を複数のグループに分類する分類部と、複数のグループ毎に、各グループに含まれる各文字列に割り当てられた属性に基づいて評価値を算出し、複数のグループの中で評価値が最も高いグループを対象グループとして検出する対象グループ検出部と、対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を対象文字列として検出する対象文字列検出部と、対象文字列に関する情報を出力する出力部と、を有する。
 また、実施形態の一側面に係る制御方法は、出力部を有する画像処理装置の制御方法であって、画像処理装置が、帳票画像を取得し、帳票画像から複数の文字列を検出し、複数の文字列毎に属性を割り当て、帳票画像内の複数の文字列の位置関係と、複数の文字列に割り当てた属性とに基づいて、複数の文字列を複数のグループに分類し、複数のグループ毎に、各グループに含まれる各文字列に割り当てられた属性に基づいて評価値を算出し、複数のグループの中で評価値が最も高いグループを対象グループとして検出し、対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を対象文字列として検出し、対象文字列に関する情報を出力部から出力する。
 また、実施形態の一側面に係る制御プログラムは、出力部を有するコンピュータの制御プログラムであって、帳票画像を取得し、帳票画像から複数の文字列を検出し、複数の文字列毎に属性を割り当て、帳票画像内の複数の文字列の位置関係と、複数の文字列に割り当てた属性とに基づいて、複数の文字列を複数のグループに分類し、複数のグループ毎に、各グループに含まれる各文字列に割り当てられた属性に基づいて評価値を算出し、複数のグループの中で評価値が最も高いグループを対象グループとして検出し、対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を対象文字列として検出し、対象文字列に関する情報を出力部から出力することをコンピュータに実行させる。
 本実施形態によれば、画像処理装置、制御方法及び制御プログラムは、帳票画像から検出対象の文字列を精度良く検出することが可能となる。
 本発明の目的及び効果は、特に請求項において指摘される構成要素及び組み合わせを用いることによって認識され且つ得られるだろう。前述の一般的な説明及び後述の詳細な説明の両方は、例示的及び説明的なものであり、特許請求の範囲に記載されている本発明を制限するものではない。
実施形態に従った画像処理システム1の概略構成を示す図である。 属性テーブルのデータ構造の一例を示す図である。 種別テーブルのデータ構造の一例を示す図である。 種別テーブルのデータ構造の一例を示す図である。 変換テーブルのデータ構造の一例を示す図である。 第2記憶装置210及び第2処理回路220の概略構成を示す図である。 画像読取処理の動作を示すフローチャートである。 認識処理の動作を示すフローチャートである。 帳票画像900の一例を示す模式図である。 文字列について説明するための模式図である。 分類処理の動作の例を示すフローチャートである。 文字列の連結について説明するための模式図である。 単一項目グループの分断について説明するための模式図である。 複数項目グループについて説明するための模式図である。 複数項目グループの切断について説明するための模式図である。 各文字列が分類されるグループについて説明するための模式図である。 他の第2処理回路230の概略構成を示すブロック図である。
 以下、本開示の一側面に係る画像処理装置、制御方法及び制御プログラムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
 図1は、実施形態に従った画像処理システム1の概略構成を示す図である。図1に示すように、画像処理システム1は、画像読取装置100と、情報処理装置200とを有する。
 画像読取装置100は、例えばスキャナ装置等である。画像読取装置100は、情報処理装置200に接続されている。情報処理装置200は、画像処理装置の一例であり、例えばパーソナルコンピュータ等である。
 画像読取装置100は、第1インタフェース装置101と、撮像装置102と、第1記憶装置110と、第1処理回路120とを有する。
 第1インタフェース装置101は、USB(Universal Serial Bus)等のシリアルバスに準じるインタフェース回路を有し、情報処理装置200と電気的に接続して画像データ及び各種の情報を送受信する。また、第1インタフェース装置101の代わりに、無線信号を送受信するアンテナと、所定の通信プロトコルに従って、無線通信回線を通じて信号の送受信を行うための無線通信インタフェース回路とを有する通信装置が用いられてもよい。所定の通信プロトコルは、例えば無線LAN(Local Area Network)である。
 撮像装置102は、主走査方向に直線状に配列されたCCD(Charge Coupled Device)による撮像素子を備える縮小光学系タイプの撮像センサを有する。さらに、撮像装置102は、光を照射する光源と、撮像素子上に像を結ぶレンズと、撮像素子から出力された電気信号を増幅してアナログ/デジタル(A/D)変換するA/D変換器とを有する。撮像装置102において、撮像センサは、搬送される媒体を撮像してアナログの画像信号を生成して出力し、A/D変換器は、このアナログの画像信号をA/D変換してデジタルの帳票画像を生成して出力する。帳票画像は、各画素データが、例えばRGB各色毎に8bitで表される計24bitのR(赤色)値、G(緑色)値、B(青色)値からなるカラー多値画像である。なお、CCDの代わりにCMOS(Complementary Metal Oxide Semiconductor)による撮像素子を備える等倍光学系タイプのCIS(Contact Image Sensor)が用いられてもよい。
 第1記憶装置110は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、第1記憶装置110には、画像読取装置100の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて第1記憶装置110にインストールされてもよい。可搬型記録媒体は、例えばCD-ROM(compact disk read only memory)、DVD-ROM(digital versatile disk read only memory)等である。また、第1記憶装置110は、撮像装置102により生成された帳票画像等を記憶する。
 第1処理回路120は、予め第1記憶装置110に記憶されているプログラムに基づいて動作する。第1処理回路120は、例えばCPU(Control Processing Unit)である。なお、第1処理回路120として、DSP(digital signal processor)、LSI(large scale integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programming Gate Array)等が用いられてもよい。
 第1処理回路120は、第1インタフェース装置101、撮像装置102及び第1記憶装置110等と接続され、これらの各部を制御する。第1処理回路120は、撮像装置102の媒体読取制御、第1インタフェース装置101を介した情報処理装置200とのデータ送受信制御等を行う。
 情報処理装置200は、第2インタフェース装置201と、入力装置202と、表示装置203と、第2記憶装置210と、第2処理回路220とを有する。以下、情報処理装置200の各部について詳細に説明する。
 第2インタフェース装置201は、画像読取装置100の第1インタフェース装置101と同様のインタフェース回路を有し、情報処理装置200と画像読取装置100とを接続する。また、第2インタフェース装置201の代わりに、無線信号を送受信するアンテナと、無線LAN等の所定の通信プロトコルに従って、無線通信回線を通じて信号の送受信を行うための無線通信インタフェース回路とを有する通信装置が用いられてもよい。
 入力装置202は、キーボード、マウス等の入力装置及び入力装置から信号を取得するインタフェース回路を有し、利用者の操作に応じた信号を第2処理回路220に出力する。
 表示装置203は、出力部の一例である。表示装置203は、液晶、有機EL(Electro-Luminescence)等から構成されるディスプレイ及びディスプレイに画像データを出力するインタフェース回路を有する。表示装置203は、第2処理回路220からの指示に従って、各種の情報をディスプレイに表示する。
 第2記憶装置210は、記憶部の一例であり、画像読取装置100の第1記憶装置110と同様のメモリ装置、固定ディスク装置、可搬用の記憶装置等を有する。第2記憶装置210には、情報処理装置200の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて第2記憶装置210にインストールされてもよい。
 また、第2記憶装置210には、データとして、属性テーブル、種別テーブル及び変換テーブル等が予め記憶される。各テーブルの詳細については後述する。
 第2処理回路220は、予め第2記憶装置210に記憶されているプログラムに基づいて動作する。第2処理回路220は、例えばCPUである。なお、第2処理回路220として、DSP、LSI、ASIC、FPGA等が用いられてもよい。
 第2処理回路220は、第2インタフェース装置201、入力装置202、表示装置203及び第2記憶装置210等と接続され、これらの各部を制御する。第2処理回路220は、第2インタフェース装置201を介した画像読取装置100とのデータ送受信制御、入力装置202の入力制御、表示装置203の表示制御等を行う。
 図2は、属性テーブルのデータ構造の一例を示す図である。
 属性テーブルには、帳票に含まれる複数の属性毎に、各属性に関する単語及び/又はフォーマット等が関連付けて記憶される。複数の属性は、項目名、項目値及びキーワードの三つの属性分類に分類される。項目名は、各属性のタイトルを示す文字列である。項目値は、各属性の内容を示す文字列である。キーワードは、帳票内で使用される特殊な用語である。項目名に係る属性には、帳票番号、発行日、請求金額、口座名義、期限、電話番号及び会社名等が含まれる。項目値に係る属性には、日付、金額、電話番号、住所、会社名、帳票種、文、英数字列及び不明文字列等が含まれる。帳票種は、請求書、領収書等のような帳票の種類である。英数字列は、英字又は数字からなる文字列である。不明文字列は、属性テーブルにおいて定義された全ての属性に分類されない文字列である。キーワードに係る属性には、宛名敬称及び頭語・結語等が含まれる。宛名敬称は、「様」、「殿」及び「御中」等のように宛名に付加される敬称である。
 単語は、各属性を示す文字列に含まれ得る文字である。なお、属性が項目値に係る住所である場合、単語には、全国の地名、建物名等が含まれてもよい。また、属性が項目値に係る会社名である場合、単語には、実存する会社名等が含まれてもよい。フォーマットは、各属性を示す文字列の書式である。例えば、属性が項目値に係る日付である場合、フォーマットとして「4桁の数字」、「年」、「1~12の数字」、「月」、「1~31の数字」、「日」の組合せが設定される。また、属性が項目値に係る電話番号である場合、フォーマットとして「数字2~5桁」、「-」、「数字1~4桁」、「-」、「数字4桁」の組合せ等が設定される。また、属性が項目値に係る文である場合、フォーマットとして「名詞を除く詞と句読点の合計数が所定数(例えば5)以上であること」等のルールが設定される。
 図3及び図4は、種別テーブルのデータ構造の一例を示す図である。
 種別テーブルには、グループ種別毎に、各グループ種別に対応する属性が記憶される。グループ種別には、請求元、請求先、振込先、請求金額、振込期限、文章、発行日、帳票番号、帳票種等が含まれる。
 請求元又は請求先に係るグループ種別に対応する属性として、会社名(項目名/項目値)、住所(項目値)、電話番号(項目名/項目値)、郵便番号(項目名/項目値)、氏名(項目名)、宛名敬称(キーワード)、英数字列(項目値)、不明文字列(項目値)等が設定される。振込先に係るグループ種別に対応する属性として、銀行名(項目値)、支店名(項目値)、口座種別(項目値)、口座番号(項目値)、英数字列(項目値)等が設定される。請求金額に係るグループ種別に対応する属性として、請求金額(項目名/項目値)、税込金額(項目名/項目値)等が設定される。振込期限に係るグループ種別に対応する属性として、期限(項目名/項目値)等が設定される。文章に対応する属性として、文(項目値)等が設定される。発行日に係るグループ種別に対応する属性として、発行日(項目名/項目値)等が設定される。帳票番号に係るグループ種別に対応する属性として、帳票番号(項目名/項目値)等が設定される。帳票種に対応する属性として、帳票種(項目値)等が設定される。
 各グループ種別に対応する各属性には、必須情報、主属性情報、重複情報、ポイント及び検出対象情報等が関連付けて記憶される。必須情報は、その属性が割り当てられた文字列がそのグループ種別のグループに含まれることが必須であるか否か(任意であるか)を示す。主属性情報は、その属性が単独でそのグループ種別の特徴を示す主属性であるか、主属性に付随してそのグループ種別の特徴を示す従属性であるかを示す。例えば、グループ種別が請求元である場合、会社名、住所、電話番号、郵便番号及び氏名等の属性は主属性に設定され、宛名敬称、英数列及び不明文字列等の属性は従属性に設定される。重複情報は、その属性がそのグループ種別のグループに重複して存在することが許可されるか否かを示す。
 ポイントは、帳票画像内で検出されたそのグループ種別のグループにその属性が割り当てられた文字列が含まれることにより、そのグループの評価値に加算される点数である。ポイントには負値が含まれてもよい。評価値は、帳票画像から特定のグループを検出するために使用される。以下では、帳票画像から検出される検出対象のグループを対象グループと称する場合がある。検出対象情報は、その属性が割り当てられた文字列が、対象グループとして検出されたそのグループ種別のグループから検出される対象であるか否かを示す。以下では、対象グループから検出される検出対象の文字列を対象文字列と称する場合がある。
 各グループは、少なくとも一つの項目値に係る属性が割り当てられた文字列を含む。また、各グループは、必須の属性(項目値)が割り当てられた文字列を含む。即ち、各グループには、単一の項目値が割り当てられた文字列のみが含まれ、他の属性が割り当てられた文字列は含まれない可能性がある。また、一つのグループに含まれる文字列は、相互に近接するように配置され、特に相互に隣り合いながら連結する関係を有する。即ち、各グループはブロックを形成し、一つのグループに含まれる文字列の間に、他のグループに含まれる文字列は配置されない。また、属性として文章が割り当てられた文字列も一つのグループに分類されてもよい。また、枠、表等も一つのグループとして分類されてもよい。
 図5は、変換テーブルのデータ構造の一例を示す図である。
 変換テーブルには、第1属性と第2属性の組合せ毎に、位置条件及び変換属性が関連付けて記憶される。例えば、第1属性は所定の項目名に係る属性であり、第2属性は所定の項目値に係る属性である。なお、第1属性は、項目名に係る属性に限定されず、項目値に係る属性でもよい。位置条件は、帳票画像内で、第1属性に対する第2属性の配置位置の条件を示す。位置条件は、方向(例えば右側、下側、右下側)及び距離(例えば30mmに相当する画素内)を含む。なお、位置条件には、優先順位(例えば右側、下側、右下側の順、及び/又は、距離が小さい順)が設定されてもよい。変換属性は、第2属性が第1属性に対して位置条件を満たす場合に、第2属性を変換させる属性である。変換属性として、第2属性をより具体的に限定した属性が設定される。第1属性が項目名に係る属性である場合、変換属性として、第1属性に対応する項目値に係る属性が設定されてもよい。
 例えば、第1属性が項目名に係る属性「請求金額」であり、第2属性が項目値に係る属性「金額」である組合せに対して、項目値に係る属性の変換属性として、「金額」をより具体的に限定した「請求金額」が設定される。また、第1属性が項目値に係る属性「口座種別」であり、第2属性が項目値に係る属性「英数字列」である組合せに対して、項目値に係る属性の変換属性として、「英数字列」をより具体的に限定した「口座番号」が設定される。また、第1属性が項目名に係る属性「会社名」であり、第2属性が項目値に係る属性「不明文字列」である組合せに対して、項目値に係る属性の変換属性として、「不明文字列」をより具体的に限定した「会社名」が設定される。
 図6は、第2記憶装置210及び第2処理回路220の概略構成を示す図である。
 図6に示すように第2記憶装置210には、取得プログラム211、文字列検出プログラム212、割当プログラム213、分類プログラム214、対象グループ検出プログラム215、対象文字列検出プログラム216、推定プログラム217及び出力制御プログラム218等の各プログラムが記憶される。これらの各プログラムは、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。第2処理回路220は、第2記憶装置210に記憶された各プログラムを読み取り、読み取った各プログラムに従って動作する。これにより、第2処理回路220は、取得部221、文字列検出部222、割当部223、分類部224、対象グループ検出部225、対象文字列検出部226、推定部227及び出力制御部228として機能する。
 図7は、画像読取装置100による画像読取処理の動作を示すフローチャートである。以下、図7に示したフローチャートを参照しつつ、画像読取処理の動作を説明する。なお、以下に説明する動作のフローは、予め第1記憶装置110に記憶されているプログラムに基づき主に第1処理回路120により画像読取装置100の各要素と協働して実行される。
 最初に、撮像装置102は、原稿として請求書、通知書又は証明書等の帳票を撮像して帳票画像を生成し、第1記憶装置110に保存する(ステップS101)。
 次に、第1処理回路120は、第1記憶装置110に保存された帳票画像を、第1インタフェース装置101を介して情報処理装置200に送信し(ステップS102)、一連のステップを終了する。
 図8は、情報処理装置200による認識処理の動作を示すフローチャートである。以下、図8に示したフローチャートを参照しつつ、認識処理の動作を説明する。なお、以下に説明する動作のフローは、予め第2記憶装置210に記憶されているプログラムに基づき主に第2処理回路220により情報処理装置200の各要素と協同して実行される。
 最初に、取得部221は、帳票画像を、第2インタフェース装置201を介して画像読取装置100から取得し、第2記憶装置210に保存する(ステップS201)。
 図9は、帳票画像900の一例を示す模式図である。
 図9に示すように、帳票画像900には、罫線で囲まれた表920、921及び922が含まれている。また、帳票画像900には、表920、921及び922の外部に、請求書番号901、発行日902、タイトル903等が含まれている。帳票画像900には、さらに、請求先の郵便番号904、請求先の住所905、請求先の会社名906、宛名敬称907、請求元の会社名908、請求元の住所909、請求元の電話番号910等が含まれている。帳票画像900には、さらに、文911、文912、請求金額913、文914、振込先の銀行名915、振込先の支店名916、振込先の口座種別917、振込先の口座番号918、支払期限919等が含まれている。
 次に、文字列検出部222は、帳票画像を複数の領域に分類する(ステップS202)。文字列検出部222は、例えば帳票画像を罫線で囲まれた各領域と、罫線で囲まれていない領域とに分類する。
 図9に示す例では、帳票画像900は、表920内部の領域、表921内部の領域、表922内部の領域、及び、表外領域の四つの領域に分類される。
 以下のステップS203~S211の処理は、分類された領域毎に実行される。
 最初に、文字列検出部222は、帳票画像の処理対象の領域から文字列を検出する(ステップS203)。文字列検出部222は、公知のOCR(Optical Character Recognition)技術を利用して、帳票画像から文字を検出し、所定の位置関係を有する複数の文字を文字列として検出する。所定の位置関係を有する複数の文字は、例えば垂直方向において相互に重複し、且つ、水平方向において一定範囲内で隣り合いながら連結する文字である。一定範囲は、例えば余白に相当する画素数に設定される。なお、一定範囲は、各文字の垂直方向の大きさに応じて変更されてもよい。また、文字列検出部222は、「株式会社」、「電話番号」、「〒」等の予め定められた文字が他の文字と別個の文字列に含まれるように各文字列を検出してもよい。文字列検出部222は、検出した各文字列(認識した文字自体)とその位置情報(例えば外接矩形の座標)とを関連付けて第2記憶装置210に記憶する。
 図10は、文字列検出部222により検出される文字列について説明するための模式図である。
 図10には、図9に示した帳票画像900が示される。図10に示すように、帳票画像900の表外領域では、請求書番号901に係る文字列1001、1002、発行日902に係る文字列1003、1004、タイトル903に係る文字列1005が検出される。また、請求先の郵便番号904に係る文字列1006、1007、請求先の住所905に係る文字列1008、請求先の会社名906に係る文字列1009、1010、宛名敬称907に係る文字列1011が検出される。また、請求元の会社名908に係る文字列1012、1013、請求元の住所909に係る文字列1014、請求元の電話番号910に係る文字列1015、1016が検出される。また、文911に係る文字列1017、文912に係る文字列1018、請求金額913に係る文字列1019、1020が検出される。また、文914に係る文字列1021、振込先の銀行名915に係る文字列1022、振込先の支店名916に係る文字列1023、振込先の口座種別917に係る文字列1024、振込先の口座番号918に係る文字列1025が検出される。また、支払期限919に係る文字列1026、1027が検出される。
 次に、割当部223は、属性テーブルを参照して、文字列検出部222によって検出された文字列毎に属性を割り当てる(ステップS204)。割当部223は、検出された文字列の内、属性テーブルに記憶された単語が含まれる文字列に、各単語に関連付けられた属性を割り当てる。また、割当部223は、検出された文字列の内、属性テーブルに記憶されたフォーマットを満足する文字列に、各フォーマットに関連付けられた属性を割り当てる。
 図10に示す例では、請求書番号901に係る文字列1001、1002の属性として、帳票番号(項目名)、英数字列(項目値)がそれぞれ割り当てられる。発行日902に係る文字列1003、1004の属性として、発行日(項目名)、日付(項目値)がそれぞれ割り当てられる。タイトル903に係る文字列1005の属性として帳票種(項目値)が割り当てられる。
 請求先の郵便番号904に係る文字列1006、1007の属性として、郵便番号(項目名)、郵便番号(項目値)がそれぞれ割り当てられる。請求先の住所905に係る文字列1008の属性として、住所(項目値)が割り当てられる。請求先の会社名906に係る文字列1009、1010の属性として、会社名(項目名)、会社名(項目値)がそれぞれ割り当てられる。宛名敬称907に係る文字列1011の属性として、宛名敬称(キーワード)が割り当てられる。
 請求元の会社名908に係る文字列1012、1013の属性として、会社名(項目名)、会社名(項目値)がそれぞれ割り当てられる。請求元の住所909に係る文字列1014の属性として、住所(項目値)が割り当てられる。請求元の電話番号910に係る文字列1015、1016の属性として、電話番号(項目名)、電話番号(項目値)がそれぞれ割り当てられる。
 文911に係る文字列1017及び文912に係る文字列1018の属性として、文(項目値)がそれぞれ割り当てられる。請求金額913に係る文字列1019、1020の属性として、請求金額(項目名)、金額(項目値)がそれぞれ割り当てられる。文914に係る文字列1021の属性として、文(項目値)が割り当てられる。振込先の銀行名915に係る文字列1022の属性として、銀行名(項目値)が割り当てられる。振込先の支店名916に係る文字列1023の属性として、支店名(項目値)が割り当てられる。振込先の口座種別917に係る文字列1024の属性として、口座種別(項目値)が割り当てられる。振込先の口座番号918に係る文字列1025の属性として、英数字列(項目値)が割り当てられる。支払期限919に係る文字列1026、1027の属性として、期限(項目名)、日付(項目値)等が割り当てられる。
 次に、分類部224は、分類処理を実行する(ステップS205)。
 図11は、分類処理の動作の例を示すフローチャートである。
 最初に、分類部224は、文字列検出部222によって検出され且つ割当部223によって属性が割り当てられた各文字列を連結させる(ステップS301)。分類部224は、帳票画像内で、属性が割り当てられた各文字列、特に各文字列の外接矩形をノードとして設定する。分類部224は、各ノードに対して所定方向において複数のノードの中で最も近くに位置する他のノードを各ノードに連結させる。所定方向は、例えば水平、垂直及び斜めの八方向である。所定方向は、水平及び垂直の四方向でもよい。
 分類部224は、注目ノードに対して垂直方向において重なる位置に配置されたノードを抽出し、抽出したノードの内、注目ノードの左方及び右方のそれぞれにおいて水平方向の距離が最小のノードをそれぞれ注目ノードと連結させる。同様に、分類部224は、注目ノードに対して水平方向において重なる位置に配置されたノードを抽出し、注目ノードの上方及び下方のそれぞれにおいて垂直方向の距離が最小のノードをそれぞれ注目ノードと連結させる。また、分類部224は、注目ノードに対して水平及び垂直方向において重ならないノードを抽出し、抽出したノードの内、注目ノードの左上方、右上方、左下方及び右下方のそれぞれにおいて距離が最小のノードをそれぞれ注目ノードと連結させる。分類部224は、各ノード間の距離として、各外接矩形の相互に最も近接する端部間のユークリッド距離を算出する。なお、分類部224は、各ノード間の距離として、各外接矩形の重心位置間のユークリッド距離を算出してもよい。
 また、分類部224は、距離が最小のノードが複数存在する場合は、複数のノードを注目ノードと連結させる。また、分類部224は、注目ノードの左上方及び右上方のノードについて、注目ノードとの間の垂直方向の距離が、注目ノードの上方の各ノードと注目ノードとの間の垂直方向の最小距離以下である場合に限り、注目ノードと連結させてもよい。同様に、分類部224は、注目ノードの左下方及び右下方のノードについて、注目ノードとの間の垂直方向の距離が、注目ノードの下方の各ノードと注目ノードとの間の垂直方向の最小距離以下である場合に限り、注目ノードと連結させてもよい。
 図12Aは、文字列の連結について説明するための模式図である。
 図12Aには、図9に示した帳票画像900の一部1200が示される。図12Aに示す例では、一点鎖線で示される各文字列の外接矩形がノードとして設定され、点線で結ばれる各ノード(文字列の外接矩形)が連結されている。例えば、文字列1001について、右方の文字列1002と、下方の文字列1003と、右下方の文字列1004とが連結される。なお、文字列1001と左下方の文字列1007との間の垂直方向の距離は、文字列1001と下方の文字列1003との間の垂直方向の距離より大きいため、文字列1001と左下方の文字列1007とは連結されていない。
 次に、割当部223は、変換テーブルを参照して、所定の項目値に係る属性が割り当てられた文字列に割り当てる属性を、特定の項目値に係る属性に変換する(ステップS302)。割当部223は、分類部224によって連結された文字列のペアの中から、変換テーブルに記憶された組合せに係る第1属性と第2属性が割り当てられ、且つ、その組合せに係る位置条件が満たされる文字列のペアを抽出する。割当部223は、抽出した文字列のペアの内、第2属性が割り当てられた文字列の属性を、その組合せに関連付けられた変換属性に変換する。
 図10に示す帳票画像900では、項目名に係る属性として帳票番号が割り当てられた文字列1001と、項目値に係る属性として英数字列が割り当てられた文字列1002のペアについて、文字列1002の属性が帳票番号に変換される。同様に、項目名に係る属性として発行日が割り当てられた文字列1003と、項目値に係る属性として日付が割り当てられた文字列1004のペアについて、文字列1004の属性が発行日に変換される。なお、文字列1010の属性として会社名でなく不明文字列が割り当てられていた場合、項目名に係る属性として会社名が割り当てられた文字列1009との組合せにより、文字列1010の属性は会社名に変換される。同様に、文字列1013の属性として会社名でなく不明文字列が割り当てられた場合も、項目名に係る属性として会社名が割り当てられた文字列1012との組合せにより、文字列1013の属性は会社名に変換される。
 また、項目名に係る属性として請求金額が割り当てられた文字列1019と、項目値に係る属性として金額が割り当てられた文字列1020のペアについて、文字列1020の属性が請求金額に変換される。同様に、項目値に係る属性として口座種別が割り当てられた文字列1024と、項目値に係る属性として英数字列が割り当てられた文字列1025のペアについて、文字列1025の属性が口座番号に変換される。同様に、項目名に係る属性として期限が割り当てられた文字列1026と、項目値に係る属性として日付が割り当てられた文字列1027のペアについて、文字列1027の属性が期限に変換される。
 このように、割当部223は、帳票画像内で、所定の項目名に係る属性が割り当てられた文字列と、所定の項目値に係る属性が割り当てられた文字列とが所定の位置条件を満たすか否かを判定する。割当部223は、各文字列が所定の位置条件を満たす場合、所定の項目値に係る属性が割り当てられた文字列に割り当てる属性を、特定の項目値に係る属性に変換する。これにより、割当部223は、抽象的な項目値が割り当てられた文字列の属性をより具体的な項目値に変換することができ、各文字列の属性が示す情報量を増大させることができる。その結果、情報処理装置200は、各グループに含まれる属性が示す情報量を増大させることができ、対象グループをより精度良く検出することができる。
 次に、分類部224は、属性テーブルを参照し、文字列検出部222によって検出された文字列の内、単一の項目に係る属性が割り当てられた文字列からなる単一項目グループを抽出し、他の文字列から分断させる(ステップS303)。単一の項目は、単一の種類の項目名、単一の種類の項目値、又は、単一の種類の項目名及びその項目名に対応する単一の種類の項目値のセットである。
 分類部224は、種別テーブルから、単一の項目に係る属性のみからなるグループ種別を抽出する。図3及び図4に示した種別テーブルでは、振込期限、文章、発行日、帳票番号及び帳票種のグループ種別が、単一の項目に係る属性のみからなるグループ種別に対応する。分類部224は、ステップS301で連結させた文字列のペアの内、抽出したグループ種別に含まれる属性が割り当てられた文字列のみからなるペアを単一項目グループとして抽出する。また、分類部224は、単独で、抽出したグループ種別に含まれる属性が割り当てられた単一の文字列も単一項目グループとして抽出する。
 図10に示す帳票画像900では、帳票番号(項目名/項目値)が割り当てられた文字列1001と1002のペア、及び、発行日(項目名/項目値)が割り当てられた文字列1003と1004のペアが単一項目グループとして抽出される。また、帳票種(項目値)が割り当てられた文字列1005、文(項目値)が割り当てられた文字列1017と1018のペア、及び、文(項目値)が割り当てられた文字列1021も単一項目グループとして抽出される。さらに、期限(項目名/項目値)が割り当てられた文字列1026と1027のペアも単一項目グループとして抽出される。
 図12Bは、単一項目グループの分断について説明するための模式図である。
 図12Bには、図12Aに示した、帳票画像900の一部1200が示される。図12Bに示すように、単一項目グループとして抽出された文字列1001と1002のペア、文字列1003と1004のペア、及び、文字列1005のそれぞれと、他の文字列との連結(点線)が切断される。
 このように、分類部224は、帳票画像内で、単一項目グループに含まれる文字列が他のグループに含まれないように、複数の文字列を分類する。分類部224は、独立して意味を成す文字列を他の文字列から切り離すとともに、そのような文字列を用いてグループを分断させるように各文字列を分類するため、各文字列を効率良く且つ精度良く分類できる。
 次に、分類部224は、属性テーブルを参照し、文字列検出部222によって検出された文字列の内、複数の項目に係る属性が割り当てられた文字列を含む複数項目グループを抽出し、他の文字列から分断させる(ステップS304)。複数の項目は、少なくとも複数の種類の項目名又は複数の種類の項目値を含むセットである。
 分類部224は、種別テーブルから、複数の項目に係る属性を含むグループ種別を抽出する。図3及び図4に示した種別テーブルでは、請求元、請求先、振込先及び請求金額のグループ種別が、複数の項目に係る属性を含むグループ種別に対応する。
 分類部224は、単一項目グループとして抽出されていない各文字列に割り当てられた属性が、抽出したグループ種別に含まれる場合、その文字列を、そのグループ種別に対応する複数項目グループに所属させる。また、各文字列に割り当てられた属性がそのグループ種別において主属性として設定され且つその文字列と連結する文字列に割り当てられた属性もそのグループ種別に含まれる場合、分類部224は、その連結する文字列も同一の複数項目グループに所属させる。分類部224は、種別テーブルに記憶された主属性情報を参照して、各文字列に割り当てられた属性がそのグループ種別において主属性として設定されているか否かを判定する。一方、各文字列と連結する文字列に割り当てられた属性がそのグループ種別に含まれない場合、分類部224は、その連結する文字列を同一の複数項目グループに所属させない。また、各文字列に割り当てられた属性がそのグループ種別において従属性として設定されている場合、分類部224は、その文字列を起点として他の文字列をその複数項目グループに所属させない。
 図13Aは、複数項目グループについて説明するための模式図である。
 図13Aには、図12Aに示した、帳票画像900の一部1200が示される。図13Aに示す例では、文字列1006~1016を含むグループ1301が、請求先に係る複数項目グループと、請求元に係る複数項目グループとに所属するように分類される。なお、宛名敬称に係る属性は、請求先に係るグループ種別及び請求元に係るグループ種別において従属性として設定されている。そのため、分類部224は、属性として宛名敬称が割り当てられた文字列1011を起点として、文字列1011が所属する複数項目グループに文字列1012を所属させない。但し、会社名に係る属性は、請求先に係るグループ種別及び請求元に係るグループ種別において主属性として設定されている。そのため、分類部224は、属性として会社名が割り当てられた文字列1012を起点として、文字列1012が所属する複数項目グループに文字列1011を所属させる。その結果、文字列1012と文字列1012は、同一の複数項目グループに分類される。
 このように、分類部224は、帳票画像内の複数の文字列の位置関係と、複数の文字列に割り当てた属性とに基づいて、複数の文字列を複数のグループに分類する。特に、分類部224は、帳票画像内で、特定のグループ種別に対応する特定の属性が割り当てられた文字列と連結する文字列にそのグループ種別に対応する他の属性が割り当てられている場合、その二つの文字列を同一のグループに分類する。即ち、分類部224は、帳票画像内で、特定の対象グループに対応する特定の属性が割り当てられた文字列と連結する文字列にその対象グループに対応する他の属性が割り当てられている場合、その二つの文字列を同一のグループに分類する。二つの文字列は、特定の対象グループに対応する特定の属性が割り当てられた文字列と、その対象グループに対応する他の属性が割り当てられた文字列である。また、特定の属性が割り当てられた文字列と連結する文字列は、特定の属性が割り当てられた文字列に対して所定方向において複数の文字列の中で最も近くに位置する文字列である。これにより、分類部224は、相互に関連する文字列を精度良く一つのグループに分類することができる。
 次に、分類部224は、種別テーブルを参照して、分類した各複数項目グループに、所定の属性が割り当てられた二以上の文字列が重複して含まれているか否かを判定する(ステップS305)。所定の属性は、重複して存在することが許可されていない属性である。分類部224は、種別テーブルに記憶された重複情報を参照して、各属性が重複して存在することが許可されているか否かを判定する。各複数項目グループに、所定の属性が割り当てられた二以上の文字列が重複して含まれていない場合、分類部224は、処理をステップS309へ移行する。
 一方、複数項目グループに、所定の属性が割り当てられた二以上の文字列が重複して含まれる場合、分類部224は、その複数項目グループについて最小全域木を生成する(ステップS306)。分類部224は、例えば、その複数項目グループに含まれる文字列をノードとし、帳票画像内の各文字列間の距離をコストとする最小全域木を生成する。複数項目グループに含まれる文字列は、所定の属性が割り当てられた二以上の文字列を含む文字列の一例である。なお、分類部224は、帳票画像内の各文字列間の距離を、帳票画像内の各文字列に割り当てられた属性間の相関性で重み付けした値をコストとして最小全域木を生成してもよい。例えば、分類部224は、同一の項目に係る属性間のコストが小さくなり、異なる項目に係る属性間のコストが大きくなるように、各コストを重み付けして補正する。
 次に、分類部224は、最小全域木を分割する辺を決定する(ステップS307)。分類部224は、最小全域木に含まれ、且つ、所定の属性が割り当てられた二以上の文字列を分割する辺の中でコストが最大である辺を、最小全域木を分割する辺に決定する。
 次に、分類部224は、決定した辺で最小全域木を分割することにより、その複数項目グループに含まれる文字列、即ち所定の属性が割り当てられた二以上の文字列を含む文字列を分類する(ステップS308)。
 なお、複数項目グループに、所定の属性が割り当てられた文字列が三つ以上含まれる場合、ステップS306において、分類部224は、所定の属性が割り当てられた文字列を全て分割するように、最小全域木を分割する複数の辺を決定する。または、分類部224は、最小全域木を分割する辺を一つずつ決定し、複数項目グループを二つずつに分割してもよい。その場合、分類部224は、複数項目グループを分割するたびに処理をステップS306へ戻し、分割後のグループの内、所定の属性が割り当てられた文字列が二つ以上残っているグループに対してステップS306~S308の処理を繰り返す。
 図13Bは、複数項目グループの切断について説明するための模式図である。
 図13Bには、図12Aに示した、帳票画像900の一部1200が示される。図13Bに示す例では、グループ1301に、属性として重複が許可されていない住所が割り当てられた文字列1009及び文字列1012が含まれている。また、グループ1301に、属性として重複が許可されていない会社名(項目名)が割り当てられた文字列1009及び文字列1012と、属性として重複が許可されていない会社名(項目値)が割り当てられた文字列1010及び文字列1013とが含まれている。グループ1301について、帳票画像内の各文字列をノードとし、各辺の長さの総和、即ち各ノード間の距離の総和が最小となるように、点線で示される最小全域木が生成される。
 この例では、文字列1009と文字列1012を分割する辺として、距離が最も大きい文字列1011と文字列1012の間の辺が抽出される。グループ1301は、文字列1011と文字列1012の間の辺により、文字列1006~文字列1011を含むグループと、文字列1012~文字列1016を含むグループとに分割される。これにより、文字列1009と文字列1012、及び、文字列1010と文字列1013も分割されるため、グループ1301は、これ以上分割されない。
 このように、分類部224は、一つのグループに、所定の属性が割り当てられた二以上の文字列が重複して含まれないように、複数の文字列を複数のグループに分類する。これにより、分類部224は、相互に異なる属性を有する文字列、即ち相互に異なる特徴を示す文字列を同一のグループに所属させることを抑制し、その特徴を適切に示す文字列だけからなるグループをより精度良く生成することができる。
 特に、分類部224は、最小全域木を用いて、所定の属性が割り当てられた文字列が重複して含まれないように各文字列を分類する。これにより、分類部224は、関連性が高い文字列が同一のグループに含まれ、関連性が低い文字列が別個のグループに含まれるように、各文字列を適切に分類することができる。
 次に、分類部224は、分類した単一項目グループ及び複数項目グループを、各文字列を分類するグループに決定し(ステップS309)、一連のステップを終了する。分類部224は、各グループに含まれる各文字列に割り当てられた全ての属性が含まれるグループ種別を各グループに対応するグループ種別の候補とし、各グループをそのグループ種別と関連付けて第2記憶装置210に記憶する。
 図14は、各文字列が分類されるグループについて説明するための模式図である。
 図14には、図9に示した帳票画像900が示される。図14に示すように、帳票画像900の表外領域では、文字列1001~1002を含むグループ1201のグループ種別の候補として帳票番号が設定される。また、文字列1003~1004を含むグループ1202のグループ種別の候補として発行日が設定される。また、文字列1005を含むグループ1203のグループ種別の候補として帳票種が設定される。また、文字列1006~1011を含むグループ1204のグループ種別の候補として請求元及び請求先が設定される。また、文字列1012~1016を含むグループ1205のグループ種別の候補として請求元及び請求先が設定される。また、文字列1017~1018を含むグループ1206のグループ種別の候補として文章が設定される。また、文字列1019~1020を含むグループ1207のグループ種別の候補として請求金額が設定される。また、文字列1021を含むグループ1208のグループ種別の候補として文章が設定される。また、文字列1022~1025を含むグループ1209のグループ種別の候補として振込先が設定される。また、文字列1026~1027を含むグループ1210のグループ種別の候補として振込期限が設定される。
 図8に戻って、対象グループ検出部225は、種別テーブルに記憶されたグループ種別毎に、各グループ種別の候補として設定された各グループの評価値を算出する(ステップS206)。対象グループ検出部225は、種別テーブルに記憶されたグループ種別の候補として、分類部224によって複数のグループが設定された場合、複数のグループ毎に、各グループの評価値を算出する。対象グループ検出部225は、各グループに含まれる各文字列に割り当てられた属性に基づいて評価値を算出する。特に、対象グループ検出部225は、各グループに含まれる各文字列に割り当てられた属性に対応して種別テーブルに記憶されているポイントに基づいて評価値を算出する。例えば、対象グループ検出部225は、各グループに含まれる各文字列に割り当てられた属性に対応して種別テーブルに記憶されているポイントの合計を各グループの評価値として算出する。なお、対象グループ検出部225は、各グループに含まれる各文字列に割り当てられた属性に対応するポイントの平均値又は重み付き和等を各グループの評価値として算出してもよい。
 対象グループ検出部225は、種別テーブルに記憶されているポイントに基づいて評価値を算出することにより、簡易に評価値を算出することができ、認識処理の処理時間を低減させることができる。
 なお、対象グループ検出部225は、各文字列の大きさ(外接矩形の大きさ)及び/又は各グループの配置位置に基づいて、評価値を補正してもよい。例えば、請求書において、請求元の会社名は大きく記載されている可能性が高い。そのため、対象グループ検出部225は、属性として会社名が割り当てられた文字列の大きさが、帳票画像内の各文字の大きさの平均値より大きい場合、請求元に係るグループ種別についての評価値が高くなるように、そのグループの評価値を補正する。また、請求書において、請求先の会社名は左側に記載され、請求元の会社名は右側に記載されている可能性が高い。そのため、対象グループ検出部225は、左側に配置されたグループに対して請求先に係るグループ種別についての評価値が高くなり、右側に配置されたグループに対して請求元に係るグループ種別についての評価値が高くなるように各グループの評価値を補正する。
 次に、対象グループ検出部225は、種別テーブルに記憶されたグループ種別毎に、各グループ種別の候補として分類されたグループの中で、評価値が最も高いグループを各グループ種別についての対象グループとして検出する(ステップS207)。
 図14に示す帳票画像900では、グループ1204が請求元及び請求先に係るグループ種別の候補として生成され、グループ1205が請求元及び請求先に係るグループ種別の候補として生成されている。グループ1204には、属性として、郵便番号(項目名/項目値)、住所(項目値)、会社名(項目名/項目値)、宛名敬称(キーワード)が含まれる。グループ1205には、属性として、会社名(項目名/項目値)、住所(項目値)、電話番号(項目名/項目値)が含まれる。
 図3に示す例では、請求元に係るグループ種別について郵便番号(項目名/項目値)、住所(項目値)、会社名(項目名/項目値)、宛名敬称(キーワード)、電話番号(項目名/項目値)に係る各属性のポイントは、1、2、5、-10、2に設定されている。特に、請求元の名称に敬称が付与されている可能性は低いため、宛名敬称(キーワード)に関するポイントは小さい値(負値)に設定されている。そのため、請求元に係るグループ種別について、グループ1204の評価値(ポイントの合計)は-2になり、グループ1205の評価値(ポイントの合計)は9になる。したがって、グループ1205が請求元に係るグループ種別についての対象グループとして検出される。
 また、図3に示す例では、請求先に係る対象グループについて郵便番号(項目名/項目値)、住所(項目値)、会社名(項目名/項目値)、宛名敬称(キーワード)、電話番号(項目名/項目値)に係る各属性のポイントは、1、2、5、10、2に設定されている。特に、請求先の名称に敬称が付与されている可能性は高いため、宛名敬称(キーワード)に関するポイントは高い値に設定されている。そのため、請求先に係るグループ種別について、グループ1204の評価値(ポイントの合計)は18になり、グループ1205の評価値(ポイントの合計)は9になる。したがって、グループ1204が請求先に係るグループ種別についての対象グループとして検出される。
 なお、振込先、請求金額、振込期限、発行日、帳票番号、帳票種に係るグループ種別の候補としては、それぞれ一つのグループのみが検出されている。そのため、振込先、請求金額、振込期限、発行日、帳票番号、帳票種に係るグループ種別についての対象グループとして、グループ1209、グループ1207、グループ1210、グループ1202、グループ1201、グループ1203がそれぞれ検出される。また、文章に係るグループ種別についての対象グループとしては、複数のグループが検出されてもよい。そのため、文章に係るグループ種別についての対象グループとして、グループ1206及びグループ1208の両方が検出される。
 次に、対象文字列検出部226は、種別テーブルを参照し、各対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を対象文字列として検出する(ステップS208)。所定の属性は、種別テーブルにおいて、各グループ種別に対応して記憶された検出対象情報において検出対象であると示された属性である。
 図14に示す帳票画像900では、請求元に係る対象グループ1204から会社名に係る文字列1012及び文字列1013が対象文字列として検出される。また、請求先に係る対象グループ1204から会社名に係る文字列1009及び文字列1010が対象文字列として検出される。また、振込先に係る対象グループ1204から銀行名に係る文字列1022、支店名に係る文字列1023、口座種別に係る文字列1024及び口座番号に係る文字列1025が対象文字列として検出される。また、請求金額に係る対象グループ1207から請求金額に係る文字列1019及び文字列1020が対象文字列として検出される。また、振込期限に係る対象グループ1210から期限に係る文字列1026及び文字列1027が対象文字列として検出される。
 次に、推定部227は、対象文字列検出部226が、各対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を検出できたか否かを判定する(ステップS209)。対象文字列検出部226が、各対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を検出できた場合、推定部227は、処理をステップS211へ移行する。
 一方、対象文字列検出部226が、対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を検出できなかった場合、推定部227は、対象グループに含まれる他の文字列に基づいて、対象文字列を推定する(ステップS210)。情報処理装置200は、例えば住所又は電話番号と会社名とが関連付けられた辞書を第2記憶装置210に予め記憶しておく。推定部227は、第2記憶装置210に記憶された辞書を参照し、対象グループに含まれる住所又は電話番号に関連付けられた会社名を対象文字列として推定する。情報処理装置200は、相互に関連する文字列をグループ化して対象文字列を検出するため、OCRにより会社名等の重要な文字を認識できなかった場合でも、その文字が所属するグループに基づいて、認識できなかった文字を補完することができる。したがって、情報処理装置200は、対象文字列をより精度良く検出することができる。
 次に、出力制御部228は、帳票画像内で分類された全ての領域について、ステップS203~S210の処理が完了したか否かを判定する(ステップS211)。まだ処理が完了していない領域が残っている場合、出力制御部228は、処理をステップS203に戻し、ステップS203~S211の処理を繰り返す。
 一方、全ての領域について処理が完了した場合、出力制御部228は、検出された各対象文字列に関する情報を出力し(ステップS212)、一連のステップを終了する。出力制御部228は、対象文字列に関する情報を表示装置203に表示することにより出力する。なお、出力制御部228は、対象文字列に関する情報を、第2インタフェース装置201を介して他の情報処理装置に送信することにより出力してもよい。出力制御部228は、対象文字列に関する情報として、例えば対象文字列自体を出力する。なお、出力制御部228は、対象文字列に関する情報として、帳票画像及び帳票画像内の対象文字列の座標を示す位置情報を出力してもよい。また、出力制御部228は、対象文字列に関する情報として、対象文字列を切り出した画像等を出力してもよい。
 なお、ステップS202において、情報処理装置200は、帳票画像を罫線で囲まれた各領域と、罫線で囲まれていない領域とに分類せずに、全ての領域についてまとめてステップS203~S210の処理を実行してもよい。また、情報処理装置200は、罫線で囲まれた表領域又は枠領域を一つのグループとみなしてもよい。また、罫線で囲まれた領域に含まれる文字列が一つのみである場合、その罫線は単なる強調表示である可能性が高い。そのため、情報処理装置200は、その文字列を、罫線で囲まれていないとみなしてステップS203~S210の処理を実行してもよい。
 以上詳述したように、情報処理装置200は、帳票画像内の各文字列の位置関係と各文字列の属性とに基づいて、各文字列をグループに分類し、各グループに含まれる文字列の属性に基づいて対象グループを検出し、対象グループから対象文字列を検出する。これにより、情報処理装置200は、対象文字列自体だけでなく、対象文字列の近傍に位置する文字列から得られる情報も利用して、対象文字列を検出する。したがって、情報処理装置200は、帳票画像から検出対象の文字列を精度良く検出することが可能となった。
 その結果、情報処理装置200は、入力装置202を用いて利用者から検出対象の文字列の修正を受け付けることがなくなり、帳票画像を扱う処理におけるプロセッサの処理負荷を低減させることが可能となった。また情報処理装置200は、他の情報処理装置に検出対象の文字列に関する情報を送信する場合、他の情報処理装置から検出対象の文字列の修正要求を受信することがなくなり、情報処理装置200と他の情報処理装置の間の通信量を低減させることが可能となった。
 なお、情報処理装置は、帳票画像内で特定のキーワードを検出した上で、検出したキーワードから所定範囲内に存在する文字列を検出対象として検出することも可能である。しかしながら、帳票画像にそのような特定のキーワードが含まれない可能性もあるし、特定のキーワードから所定範囲内に検出対象の文字列が配置されていない可能性もある。情報処理装置200は、文字列のグループ毎に、各グループに含まれる文字列の属性に基づいて各グループが検出対象であるか否かを総合的に判定する。これにより、情報処理装置200は、帳票画像から検出対象のグループを精度良く検出することが可能となり、検出した検出対象のグループから検出対象の文字列を精度良く検出することが可能となった。
 特に、情報処理装置200は、項目名に係る属性だけでなく、項目値に係る属性及び/又はキーワードに係る属性を利用して、各グループが検出対象であるか否かを総合的に判定する。したがって、情報処理装置200は、周辺に「会社名」等の項目名が記載されていない文字列についても、精度良く検出することが可能となった。
 画像処理システム1は、OCR及びRPA(Robotic Process Automation)技術を利用して帳票入力業務を自動化する企業において、帳票入力業務の効率化を図り、担当者の業務負担を軽減させることが可能となった。特に、請求書等の帳票を電子化して支払い依頼等の業務を自動化する場合、請求元の会社名及び請求先の会社名を精度良く特定することが必要である。通常、請求書には、請求元の会社名及び請求先の会社名が含まれるが、会社名自体から何れの会社名が請求元又は請求先であるかを判別することは困難である。情報処理装置200は、宛名敬称のような会社名以外の情報を利用することにより、請求元の会社名と請求先の会社名とを明確に区別することが可能となった。
 図15は、他の実施形態に係る情報処理装置における第2処理回路230の概略構成を示すブロック図である。
 第2処理回路230は、第2処理回路220の代わりに、認識処理を実行する。第2処理回路230は、取得回路231、文字列検出回路232、割当回路233、分類回路234、対象グループ検出回路235、対象文字列検出回路236、推定回路237及び出力制御回路238等を有する。
 取得回路231は、取得部の一例であり、取得部221と同様の機能を有する。取得回路231は、帳票画像を、第2インタフェース装置201を介して画像読取装置100から取得し、第2記憶装置210に保存する。
 文字列検出回路232は、文字列検出部の一例であり、文字列検出部222と同様の機能を有する。文字列検出回路232は、第2記憶装置210から帳票画像を読み出し、帳票画像から複数の文字列を検出し、検出結果を第2記憶装置210に保存する。
 割当回路233は、割当部の一例であり、割当部223と同様の機能を有する。割当回路233は、第2記憶装置210から属性テーブルと、文字列の検出結果とを読み出し、複数の文字列毎に属性を割り当て、割当結果を第2記憶装置210に保存する。
 分類回路234は、分類部の一例であり、分類部224と同様の機能を有する。分類回路234は、第2記憶装置210から種別テーブルと、文字列の検出結果と、属性の割当結果とを読み出し、各文字列をグループに分類し、分類結果を第2記憶装置210に保存する。
 対象グループ検出回路235は、対象グループ検出部の一例であり、対象グループ検出部225と同様の機能を有する。対象グループ検出回路235は、第2記憶装置210から種別テーブルと、分類結果とを読み出し、複数のグループ毎に評価値を算出し、対象グループを検出し、検出結果を第2記憶装置210に保存する。
 対象文字列検出回路236は、対象文字列検出部の一例であり、対象文字列検出部226と同様の機能を有する。対象文字列検出回路236は、第2記憶装置210から種別テーブルと、対象グループの検出結果と、文字列の検出結果と、属性の割当結果とを読み出し、対象グループに含まれる文字列の中から対象文字列を検出し、検出結果を第2記憶装置210に保存する。
 推定回路237は、推定部の一例であり、推定部227と同様の機能を有する。推定回路237は、第2記憶装置210から対象グループの検出結果と、文字列の検出結果と、属性の割当結果と、対象文字列の検出結果とを読み出し、対象文字列を推定し、推定結果を第2記憶装置210に保存する。
 出力制御回路238は、出力制御部の一例であり、出力制御部228と同様の機能を有する。出力制御回路238は、第2記憶装置210から対象文字列の検出結果及び推定結果を読み出し、対象文字列に関する情報を表示装置203に出力する。
 以上詳述したように、情報処理装置は、第2処理回路230を用いる場合も、帳票画像から検出対象の文字列を精度良く検出することが可能となった。
 以上、好適な実施形態について説明してきたが、実施形態はこれらに限定されない。例えば、画像読取装置100と情報処理装置200の機能分担は、図1に示す画像処理システム1の例に限られず、画像読取装置100及び情報処理装置200の各部を画像読取装置100と情報処理装置200の何れに配置するかは適宜変更可能である。または、画像読取装置100と情報処理装置200を一つの装置で構成してもよい。
 例えば、画像読取装置100の第1記憶装置110が、情報処理装置200の第2記憶装置210に記憶された各プログラム及び各データを記憶してもよい。また、画像読取装置100の第1処理回路120が、情報処理装置200の第2処理回路220により実現される各部として動作してもよい。また、画像読取装置100が、情報処理装置200の第2処理回路230と同様の処理回路を有してもよい。
 その場合、画像読取装置100は表示装置203と同様の表示装置を有する。認識処理は画像読取装置100で実行されるため、ステップS102、S201の帳票画像の送受信処理は省略される。ステップS202~S212の各処理は、画像読取装置100の第1処理回路120によって実行される。これらの処理の動作は、情報処理装置200の第2処理回路220又は第2処理回路230によって実行される場合と同様である。この場合、画像読取装置100が画像処理装置として動作する。
 また、画像処理システム1において、第1インタフェース装置101と第2インタフェース装置201は、インターネット、電話回線網(携帯端末回線網、一般電話回線網を含む)、イントラネット等のネットワークを介して接続してもよい。その場合、第1インタフェース装置101及び第2インタフェース装置201に、接続するネットワークの通信インタフェース回路を備える。また、その場合、クラウドコンピューティングの形態で画像処理のサービスを提供できるように、ネットワーク上に複数の情報処理装置を分散して配置し、各情報処理装置が協働して、認識処理等を分担するようにしてもよい。これにより、画像処理システム1は、複数の画像読取装置が読み取った帳票画像について、効率よく認識処理を実行できる。
 200  情報処理装置
 210  第2記憶装置
 221  取得部
 222  文字列検出部
 223  割当部
 224  分類部
 225  対象グループ検出部
 226  対象文字列検出部
 227  推定部
 228  出力制御部

Claims (10)

  1.  帳票画像を取得する取得部と、
     前記帳票画像から複数の文字列を検出する文字列検出部と、
     前記複数の文字列毎に属性を割り当てる割当部と、
     前記帳票画像内の前記複数の文字列の位置関係と、前記複数の文字列に割り当てた属性とに基づいて、前記複数の文字列を複数のグループに分類する分類部と、
     前記複数のグループ毎に、各グループに含まれる各文字列に割り当てられた属性に基づいて評価値を算出し、前記複数のグループの中で前記評価値が最も高いグループを対象グループとして検出する対象グループ検出部と、
     前記対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を対象文字列として検出する対象文字列検出部と、
     前記対象文字列に関する情報を出力する出力部と、
     を有することを特徴とする画像処理装置。
  2.  属性毎にポイントが記憶されている記憶部をさらに有し、
     前記対象グループ検出部は、各グループに含まれる各文字列に割り当てられた属性に対応して前記記憶部に記憶されているポイントに基づいて前記評価値を算出する、請求項1に記載の画像処理装置。
  3.  前記分類部は、前記帳票画像内で、前記対象グループに対応する特定の属性が割り当てられた文字列に対して所定方向において前記複数の文字列の中で最も近くに位置する文字列に前記対象グループに対応する他の属性が割り当てられている場合、前記特定の属性が割り当てられた文字列と前記他の属性が割り当てられた文字列とを同一のグループに分類する、請求項1または2に記載の画像処理装置。
  4.  前記割当部は、前記帳票画像内で、所定の項目名に係る属性が割り当てられた文字列と、所定の項目値に係る属性が割り当てられた文字列とが所定の位置条件を満たす場合、前記所定の項目値に係る属性が割り当てられた文字列に割り当てる属性を特定の項目値に係る属性に変換する、請求項1~3の何れか一項に記載の画像処理装置。
  5.  前記分類部は、単一の項目に係る属性が割り当てられた文字列からなる単一項目グループを抽出し、前記帳票画像内で、前記単一項目グループに含まれる文字列が他のグループに含まれないように、前記複数の文字列を分類する、請求項1~4の何れか一項に記載の画像処理装置。
  6.  前記分類部は、一つのグループに、所定の属性が割り当てられた二以上の文字列が重複して含まれないように、前記複数の文字列を複数のグループに分類する、請求項1~5の何れか一項に記載の画像処理装置。
  7.  前記分類部は、前記二以上の文字列を含む文字列をノードとする最小全域木を生成し、前記最小全域木に含まれ且つ当該二以上の文字列を分割する辺の中で、コストが最大である辺で前記二以上の文字列を含む文字列を分類する、請求項6に記載の画像処理装置。
  8.  前記対象文字列検出部が、前記対象グループに含まれる文字列の中から、前記所定の属性が割り当てられた文字列を検出できなかった場合、前記対象グループに含まれる他の文字列に基づいて、前記対象文字列を推定する推定部をさらに有する、請求項1~7の何れか一項に記載の画像処理装置。
  9.  出力部を有する画像処理装置の制御方法であって、前記画像処理装置が、
     帳票画像を取得し、
     前記帳票画像から複数の文字列を検出し、
     前記複数の文字列毎に属性を割り当て、
     前記帳票画像内の前記複数の文字列の位置関係と、前記複数の文字列に割り当てた属性とに基づいて、前記複数の文字列を複数のグループに分類し、
     前記複数のグループ毎に、各グループに含まれる各文字列に割り当てられた属性に基づいて評価値を算出し、前記複数のグループの中で前記評価値が最も高いグループを対象グループとして検出し、
     前記対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を対象文字列として検出し、
     前記対象文字列に関する情報を前記出力部から出力する、
     ことを特徴とする制御方法。
  10.  出力部を有するコンピュータの制御プログラムであって、
     帳票画像を取得し、
     前記帳票画像から複数の文字列を検出し、
     前記複数の文字列毎に属性を割り当て、
     前記帳票画像内の前記複数の文字列の位置関係と、前記複数の文字列に割り当てた属性とに基づいて、前記複数の文字列を複数のグループに分類し、
     前記複数のグループ毎に、各グループに含まれる各文字列に割り当てられた属性に基づいて評価値を算出し、前記複数のグループの中で前記評価値が最も高いグループを対象グループとして検出し、
     前記対象グループに含まれる文字列の中から、所定の属性が割り当てられた文字列を対象文字列として検出し、
     前記対象文字列に関する情報を前記出力部から出力する、
     ことを前記コンピュータに実行させることを特徴とする制御プログラム。
PCT/JP2020/012108 2020-03-18 2020-03-18 画像処理装置、制御方法及び制御プログラム WO2021186642A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/012108 WO2021186642A1 (ja) 2020-03-18 2020-03-18 画像処理装置、制御方法及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/012108 WO2021186642A1 (ja) 2020-03-18 2020-03-18 画像処理装置、制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
WO2021186642A1 true WO2021186642A1 (ja) 2021-09-23

Family

ID=77771735

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/012108 WO2021186642A1 (ja) 2020-03-18 2020-03-18 画像処理装置、制御方法及び制御プログラム

Country Status (1)

Country Link
WO (1) WO2021186642A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003155A (ja) * 2008-06-20 2010-01-07 Fujitsu Frontech Ltd 帳票認識装置、方法、データベース作成装置、方法、及びプログラム
JP2015102938A (ja) * 2013-11-22 2015-06-04 日立オムロンターミナルソリューションズ株式会社 帳票認識装置、帳票認識方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003155A (ja) * 2008-06-20 2010-01-07 Fujitsu Frontech Ltd 帳票認識装置、方法、データベース作成装置、方法、及びプログラム
JP2015102938A (ja) * 2013-11-22 2015-06-04 日立オムロンターミナルソリューションズ株式会社 帳票認識装置、帳票認識方法、及びプログラム

Similar Documents

Publication Publication Date Title
AU2020279921B2 (en) Representative document hierarchy generation
US8335789B2 (en) Method and system for document fingerprint matching in a mixed media environment
US8005831B2 (en) System and methods for creation and use of a mixed media environment with geographic location information
US8332401B2 (en) Method and system for position-based image matching in a mixed media environment
US7639387B2 (en) Authoring tools using a mixed media environment
US7885955B2 (en) Shared document annotation
US8195659B2 (en) Integration and use of mixed media documents
US20070050712A1 (en) Visibly-Perceptible Hot Spots in Documents
US20070047008A1 (en) System and methods for use of voice mail and email in a mixed media environment
US20070047002A1 (en) Embedding Hot Spots in Electronic Documents
US20070047819A1 (en) Data organization and access for mixed media document system
US20060285772A1 (en) System and methods for creation and use of a mixed media environment
US20130238968A1 (en) Automatic Creation of a Table and Query Tools
US20170039193A1 (en) Language generation from flow diagrams
US20170039192A1 (en) Language generation from flow diagrams
CN113780229A (zh) 文本识别方法及装置
CN113723347A (zh) 信息提取的方法、装置、电子设备及存储介质
US20210240932A1 (en) Data extraction and ordering based on document layout analysis
JP2017199086A (ja) 帳票認識方法、帳票認識装置、帳票認識プログラム、及び帳票認識用辞書データ
CN108733760B (zh) 检索方法、检索装置以及程序
JP2018042067A (ja) 画像処理システム、画像処理方法、情報処理装置
JP2021149452A (ja) 画像処理装置、制御方法及び制御プログラム
WO2021186642A1 (ja) 画像処理装置、制御方法及び制御プログラム
US9378428B2 (en) Incomplete patterns
CN113408323A (zh) 表格信息的提取方法、装置、设备及存储介质

Legal Events

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

Ref document number: 20925728

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20925728

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP