Information processing device and program

The information processing device uses an attribute dictionary to isolate the correct attribute key string by excluding or splitting based on patterns and positional relationships, addressing the challenge of multiple attribute keys in the same region, enhancing accuracy in character recognition.

JP7885629B2Active Publication Date: 2026-07-07FUJIFILM BUSINESS INNOVATION CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FUJIFILM BUSINESS INNOVATION CORP
Filing Date
2022-08-24
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing character recognition systems struggle to accurately extract a character string corresponding to an attribute key when another attribute key's string is included in the same region, leading to incorrect identification of attribute keys.

Method used

An information processing device that uses an attribute dictionary to identify the region corresponding to an attribute key, extracts candidate strings, and applies attribute patterns to distinguish and isolate the correct attribute key string by excluding or splitting based on positional relationships and patterns.

Benefits of technology

Effectively extracts the intended character string corresponding to the attribute key even when another attribute key's string is present, improving the accuracy of attribute key identification in electronic documents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007885629000001
    Figure 0007885629000001
  • Figure 0007885629000002
    Figure 0007885629000002
  • Figure 0007885629000003
    Figure 0007885629000003
Patent Text Reader

Abstract

To extract a character string corresponding to an attribute key even if a character string corresponding to a different attribute key is included in a character string in an area specified as an area where the character string corresponding to the attribute key exists, in an electronic file.SOLUTION: An information processing apparatus includes a processor. The processor acquires an attribute key 10 from an electronic file and specifies an area 16 corresponding to the attribute key 10, and extracts a character string from the specified area 16. The processor specifies, when a character string which does not correspond to an attribute pattern of the attribute key 10 is included in the extracted character string, only a character string that corresponds to the attribute pattern, as a character string 12 corresponding to the attribute key 10, from among character strings constituting the extracted character string.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus and a program.

Background Art

[0002] There is known a technique for performing character recognition processing on an electronic file representing a document such as a form, and extracting an attribute key representing an item name in the document and a character string corresponding to the attribute key.

[0003] Patent Document 1 discloses an apparatus that pre-registers words of item names in a dictionary, collates the item name words in this dictionary with character strings in a form, regards those that succeed in the collation as item name character strings, and regards those that fail in the collation as data character strings. In this apparatus, further, by analyzing the positional relationship between the item name character string and the data character string, the correspondence relationship between the data character string and the item name character string is recognized.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] In an electronic file representing a document, there may be a case where a character string corresponding to another attribute key is included in a character string in a region specified as a region where a character string corresponding to an attribute key exists. Even in such a case, it is desired to be able to extract the character string corresponding to the attribute key.

[0006] An object of the present invention is to enable extraction of a character string corresponding to an attribute key even when a character string corresponding to another attribute key is included in a character string in a region specified as a region where a character string corresponding to an attribute key exists in an electronic file. [Means for solving the problem]

[0007] The invention according to claim 1 is an information processing device comprising a processor, the processor obtaining an attribute key from an electronic file, identifying a region corresponding to the attribute key, extracting a string from the identified region, and, if the extracted string contains a string that does not correspond to the attribute pattern of the attribute key, identifying only the string that corresponds to the attribute pattern from among the strings constituting the extracted string as the string corresponding to the attribute key.

[0008] The invention according to claim 2 is an information processing device according to claim 1, wherein the processor excludes from the extracted strings strings that correspond to attribute patterns of other attribute keys to be extracted from the electronic file, and identifies the remaining strings strings as strings corresponding to the attribute keys.

[0009] The invention according to claim 3 is an information processing device according to claim 2, wherein the processor does not exclude strings that correspond to attribute patterns of attribute keys in which corresponding strings have already been found in the electronic file from the extracted strings.

[0010] The invention according to claim 4 is an information processing device according to claim 1, wherein the processor identifies a string among the extracted strings that corresponds to an attribute pattern of another attribute key to be extracted from the electronic file as a string corresponding to the other attribute key.

[0011] The invention according to claim 5 is an information processing device according to claim 1, wherein the processor identifies, among the strings contained in the extracted string, a string that corresponds to the attribute pattern of another attribute key obtained from the electronic file for which no corresponding string was obtained, as the string corresponding to the other attribute key.

[0012] The invention according to claim 6 is an information processing device according to claim 1, wherein the processor identifies the attribute key and the strings corresponding to other attribute keys based on the positional relationship of each string contained in the extracted string.

[0013] The invention according to claim 7 is an information processing device according to any one of claims 1 to 6, wherein the attribute key and the corresponding string are described in table format, and the area is a single cell constituting the table.

[0014] The invention according to claim 8 is a program that causes a computer to perform the following processes: obtain an attribute key from an electronic file, identify a region corresponding to the attribute key, extract a string from the identified region, and if the extracted string contains a string that does not correspond to the attribute pattern of the attribute key, identify only the strings that correspond to the attribute pattern from among the strings that make up the extracted string as the string corresponding to the attribute key. [Effects of the Invention]

[0015] According to the invention of claim 1 or 8, in an electronic file, even if a string corresponding to another attribute key is included in a string in a region identified as a region where a string corresponding to an attribute key exists, the string corresponding to the attribute key is extracted.

[0016] According to the invention of claim 2, a string corresponding to an attribute key is extracted based on the attribute pattern of other attribute keys to be extracted from the electronic file.

[0017] According to the invention of claim 3, the situation in which some or all of the strings that should be identified as strings corresponding to attribute keys are excluded is suppressed.

[0018] According to the invention of claim 4, a string corresponding to another attribute key to be extracted from the electronic file is identified.

[0019] According to the invention of claim 5, a character string corresponding to another attribute key obtained from an electronic file is specified.

[0020] According to the invention of claim 6, based on the positional relationship of each character string included in the extracted character string, an attribute key and a character string corresponding to another attribute key are specified.

[0021] According to the invention of claim 7, an attribute key is obtained from the table portion in an electronic file, and a character string corresponding to the attribute key is specified.

Brief Description of the Drawings

[0022] [Figure 1] It is a diagram illustrating a form (data (A)) in which an attribute key and its corresponding character string form a pair, and a form (data (B)) in which one attribute key and corresponding character strings of a plurality of attribute keys form a pair. [Figure 2] It is a diagram for explaining a method of specifying a corresponding character string of an attribute key. [Figure 3] It is a functional block diagram of an information processing apparatus. [Figure 4] It is a flowchart showing the processing performed by the information processing apparatus. [Figure 5] It is a diagram for explaining a method of specifying a corresponding character string of an attribute key. [Figure 6] It is a diagram exemplifying data. [Figure 7] It is a diagram for explaining a method of specifying a corresponding character string of an attribute key. [Figure 8] It is a diagram for explaining a method of specifying a corresponding character string of an attribute key. [Figure 9] It is a diagram exemplifying the hardware configuration of a computer.

Embodiments for Carrying Out the Invention

[0023] The embodiments of the present invention will be described in detail below with reference to the attached drawings. The configurations described below are illustrative examples for illustrative purposes and can be modified as appropriate to suit the specifications of the information processing device, etc. Furthermore, if multiple embodiments or modifications are included below, it is intended from the outset that their characteristic parts may be used in appropriate combinations. In all drawings, the same elements are denoted by the same reference numerals, and redundant explanations are omitted.

[0024] The following describes an embodiment of an information processing device that obtains attribute keys from an electronic file, identifies the area corresponding to the attribute key, extracts a string from the identified area, and identifies the string corresponding to the attribute key.

[0025] Figure 1 illustrates two forms of data: one in which an attribute key 10 is paired with its corresponding string 12 (Data (A)), and another in which one attribute key 10 is paired with the corresponding strings 12 of multiple attribute keys (Data (B)). The information processing device performs character recognition processing on an electronic file representing a document and extracts the attribute key 10 and the corresponding string 12 (referred to as the corresponding string 12) from the document. The attribute key is the item name that represents the attribute of the string.

[0026] An electronic file is electronic data handled by an information processing device. While not particularly limited, electronic files may include, for example, image files obtained by scanning paper documents with an image reader, or PDF (Portable Document Format) files. Paper documents scanned by an image reader may include, for example, handwritten documents, documents printed with a printer, or documents stamped with a stamp (such as a rubber stamp).

[0027] Attribute keys 10 and corresponding strings 12 are listed in a table format, as shown in Figure 1, for example. However, the attribute keys 10 and corresponding strings 12 do not necessarily have to be listed in a table format, as long as their correspondence can be recognized. Attribute keys 10 and corresponding strings 12 may also be listed without grid lines. Hereafter, the portion of the document in which attribute keys 10 and corresponding strings 12 are listed will be referred to as "data".

[0028] As shown in the data (A) of Figure 1, some data sets have attribute keys 10 arranged vertically, with the corresponding string 12 written to the right of each attribute key 10. Although not shown in the figure, some data sets have attribute keys 10 arranged horizontally, with the corresponding string 12 written below each attribute key 10. In such data sets, as shown in the data (B) of Figure 1, the area where the string corresponding to an attribute key 10 (corresponding string 12) exists may contain a string corresponding to another attribute key.

[0029] In data (B), the area containing the string corresponding to attribute key 10 "Name" also contains the corresponding string 12 for that attribute key, "Fuji Gentaro," as well as the corresponding string for another attribute key, "Date of Birth," "February 9, 2018," and the corresponding string for yet another attribute key, "Age," "(3 years old)." As explained below, the information processing device is able to identify the corresponding string 12 for attribute key 10 even in such data.

[0030] Figure 2 is a diagram illustrating the method for identifying the corresponding string 12 for attribute key 10. As shown in data (1), the information processing device obtains the attribute key 10 from the document and identifies the area 16 (referred to as the corresponding area 16) that corresponds to the attribute key 10. The information processing device then extracts the strings contained in the corresponding area 16 as a single unit. Hereinafter, a single unit of one or more strings contained in the corresponding area 16 will be referred to as the corresponding string candidate 14.

[0031] Then, if the corresponding string candidate 14 contains a string that does not match the attribute pattern of attribute key 10, the information processing device uses the attribute dictionary 20 (details described later) to identify only the strings that match the attribute pattern of attribute key 10 from among the strings that make up the corresponding string candidate 14 as the corresponding string 12 for attribute key 10. As an example, the information processing device excludes strings that match the attribute patterns of other attribute keys to be extracted from the document from the corresponding string candidate 14, and identifies the remaining strings as the corresponding string 12 for attribute key 10. Note that in the data (1) of Figure 2, examples of excluded characters are crossed out.

[0032] Note that the data in each figure described below is in the form of the corresponding string 12 written to the right of the attribute key 10, as in the data (1) of Figure 2, but the data may also be in the form of the corresponding string 12 written below the attribute key 10, as in the data (2) of Figure 2. The form of data handled by the information processing device is not limited.

[0033] Figure 3 is a functional block diagram of the information processing device. The information processing device comprises a file input unit 102, an OCR (Optical Character Reader) unit 104, an attribute extraction unit 106, an attribute dictionary 20, and an attribute information output unit 108. Each unit can be implemented using a processor 1002 (see Figure 9), and the attribute dictionary 20 is stored, for example, in an auxiliary storage device 1006 (see Figure 9).

[0034] The file input unit 102 receives an electronic file representing a document and transfers it to the OCR unit 104. The OCR unit 104 performs character recognition processing on the data in the electronic file and extracts character information. If the data in the electronic file is written in a table format, the information processing device may further include a table analysis unit between the file input unit 102 and the attribute extraction unit 106. The table analysis unit receives the electronic file from the file input unit 102, analyzes the table structure of the data in the electronic file, and identifies the location of the cells.

[0035] The attribute extraction unit 106 obtains the attribute key 10 using the character information from the OCR unit 104 and the attribute dictionary 20. The attribute extraction unit 106 also uses the positional information of the attribute key 10 obtained within the document to identify the area corresponding to the attribute key 10 (corresponding area 16). For example, if the data is not in a table format, the attribute extraction unit 106 may define the corresponding area 16 as an area of ​​predetermined size and shape located at a predetermined distance from the attribute key 10 in a predetermined direction within the document. Alternatively, if the data is in a table format, the attribute extraction unit 106 may use the cell positional information from the table analysis unit to define the area of ​​cells located in a predetermined direction from the attribute key 10 as the corresponding area 16.

[0036] The attribute extraction unit 106 then extracts candidate corresponding strings 14 from the corresponding area 16. Next, the attribute extraction unit 106 uses the attribute dictionary 20 to identify the corresponding string 12 that corresponds to the attribute key 10 from the candidate corresponding strings 14.

[0037] The attribute information output unit 108 outputs the combination of attribute key 10 and corresponding string 12 identified by the attribute extraction unit 106 as attribute information. The information processing device may also output the attribute information to, for example, a display device, a printing device, or other information processing device.

[0038] Figure 4 is a flowchart showing the processing performed by the information processing device. Figure 5 shows the attribute dictionary 20A and data (a) as illustrated in the explanation of the flowchart in Figure 4.

[0039] Here, we will first explain the attribute dictionary in detail. As shown in Figure 5, the attribute dictionary 20A is information that associates the "attribute key," "attribute key string," "attribute pattern," and "frequency of occurrence" for each attribute key. The attribute dictionary 20A is created in advance and stored, for example, in the auxiliary storage device 1006 (see Figure 9).

[0040] An "attribute key string" defines multiple strings that should be recognized as the same attribute key. By matching each string in the "attribute key string" with the string in the data, the attribute key 10 in the data is detected. For example, even if "Name" is replaced with "Name" or "Your Name" in data (a), it will be matched with the "attribute key string" in the attribute dictionary 20A and detected as the attribute key for "Name".

[0041] An "attribute pattern" is information that specifies the possible forms of a string corresponding to an attribute key (corresponding string). An "attribute pattern" may include information such as the types of characters that make up the corresponding string of the attribute key (kanji, hiragana, katakana, etc.), and symbols used to separate characters. An "attribute pattern" may also include information indicating that the corresponding string of the attribute key is a date, time, etc. An "attribute pattern" may also include information indicating that predetermined characters or strings appear in a predetermined order in the corresponding string of the attribute key. For example, the "attribute pattern" for the attribute key "address" may include information indicating that one character from "prefecture" appears, followed by one character from "city, ward, town, or village."

[0042] The "frequency of occurrence" is information that defines how many times the corresponding string 12 for attribute key 10 appears in the corresponding area 16 for that attribute key 10. For example, if the corresponding string 12 should appear twice in the corresponding area 16 for attribute key 10 "Name" in the data (i.e., a person's name should appear twice), then the frequency of occurrence associated with the attribute key "Name" in the attribute dictionary 20A will be "2". Note that, for example, if the frequency of occurrence of the corresponding string for each attribute key in the data is always "1", then the "frequency of occurrence" in the attribute dictionary 20A may be omitted.

[0043] The attribute dictionary can take the following two forms: Form (1): An attribute dictionary that defines only the attribute keys to be extracted from the document. Form (2): An attribute dictionary that defines other attribute keys in addition to the attribute keys to be extracted from the document.

[0044] Figure 5 shows the attribute dictionary 20A of form (2). Specifically, the attribute keys to be extracted from data (a) are "name", "address", "telephone number", "date of birth", and "age". The attribute keys to be extracted from the document may be stored in advance in an auxiliary storage device 1006 (see Figure 9), for example. In addition to the attribute keys to be extracted from data (a) ("name", "address", "telephone number", "date of birth", and "age"), the attribute dictionary 20A also specifies the attribute key "postal code". Therefore, the attribute dictionary 20A is of form (2).

[0045] Next, we will explain the specific processes performed by the information processing device using the flowchart in Figure 4.

[0046] In S100 of Figure 4, the information processing device performs character recognition processing on the electronic file representing the document.

[0047] In S102, the information processing device detects (acquires) the attribute key 10 in data (a) by comparing the attribute key string of the attribute dictionary 20A with the character examples recognized in data (a), as shown in Figure 5(i). As a result, the attribute keys 10 for "Name", "Address", and "Telephone Number" are detected in data (a) in Figure 5.

[0048] In S104, the information processing device identifies the corresponding area 16 for each attribute key 10 from the position of each attribute key 10 detected in data (a). Then, the information processing device extracts corresponding string candidates 14 from each corresponding area 16. As a result, in data (a) in Figure 5, corresponding string candidates 14 for each attribute key 10 "Name", "Address", and "Telephone Number" are obtained.

[0049] In S106, the information processing device checks whether all the attribute keys to be extracted from the data were detected in S102. In the example in Figure 5, the attribute keys to be extracted from data (a) are "name", "address", "telephone number", "date of birth", and "age", as described above. However, the attribute keys 10 detected in S102 are only "name", "address", and "telephone number". Therefore, in the example in Figure 5, not all the attribute keys to be extracted from data (a) were detected, so S106 is No.

[0050] Furthermore, if all attribute keys to be extracted from the data have been detected in S106 (S106: Yes), the information processing device will terminate the process by setting the corresponding string candidate 14 for each attribute key 10 as the corresponding string 12 for each attribute key 10.

[0051] If S106 is No, proceed to S108. From S108 onwards, the process is carried out for each attribute key 10 of the data and corresponding string candidates 14, with each corresponding string candidate 14 being processed in order. In the example in Figure 5, the process is first carried out for the corresponding string candidate 14 of attribute key 10 "Name" in data (a).

[0052] In S108, the information processing device checks whether the candidate string 14 matches an attribute pattern in the attribute dictionary 20A (an attribute pattern associated with the attribute key of the candidate string 14). This checks whether the candidate string 14 contains any strings that do not correspond to any attribute patterns in the attribute dictionary 20A (an attribute pattern associated with the attribute key of the candidate string 14).

[0053] In the example in Figure 5, the information processing device checks whether the corresponding string candidate 14 "Fuji Gentaro February 9, 2018 (3 years old)" for the attribute key 10 "Name" in data (a) matches the attribute pattern "space-separated, Kanji, Hiragana, Katakana" associated with the attribute key "Name" in the attribute dictionary 20A. In this case, since the corresponding string candidate 14 contains numbers (Arabic numerals), it does not match the attribute pattern "space-separated, Kanji, Hiragana, Katakana". Therefore, S108 is No.

[0054] If S108 is No, proceed to S112. In S112, the information processing device splits the corresponding string candidate 14 into multiple strings. In the example in Figure 5, the information processing device splits the corresponding string candidate 14 "Fuji Gentaro February 9, 2018 (3 years old)" of the attribute key 10 "Name" of data (a) into multiple strings "Fuji Gentaro", "February 9, 2018", and "(3 years old)".

[0055] One method of splitting the string is to divide the candidate string 14 into multiple strings based on the positions of line breaks, spaces, parentheses, etc., within the candidate string 14. Alternatively, an OCR engine trained using machine learning or similar methods can be used to recognize words with a predetermined meaning and split the string according to those words.

[0056] Next, in S114, the information processing device obtains the attribute patterns of attribute keys not yet detected in the data from the attribute dictionary. In the example in Figure 5, the attribute keys to be extracted from data (a) are "Name", "Address", "Telephone Number", "Date of Birth", and "Age", as described above, while the attribute key 10 detected in S102 is "Name", "Address", and "Telephone Number". Therefore, the attribute keys not yet detected in data (a) are "Date of Birth" and "Age". Accordingly, the information processing device obtains the attribute patterns for the attribute key "Date of Birth" and the attribute patterns for the attribute key "Age" from the attribute dictionary 20A. Note that in the flow in Figure 4, in S114, the information processing device obtains the attribute pattern of one attribute key and proceeds to the next S116, and at the timing of executing the next S114, it obtains the attribute pattern of another attribute key, thereby obtaining the attribute patterns sequentially.

[0057] In S116, the information processing device checks whether the string obtained by splitting the corresponding string candidate 14 (S112) matches the attribute pattern of an undetected attribute key. In the example in Figure 5, the example string "February 9, 2018" in data (a) matches the attribute pattern "Date" of the undetected attribute key "Date of Birth", so S116 is Yes.

[0058] If S116 is Yes, the process proceeds to S118. In S118, the information processing device removes the string that matched the attribute pattern in S116 from the candidate string 14. In the example in Figure 5, the string "February 9, 2018" that matched the attribute pattern in S116 is removed from the candidate string 14 "Gentaro Fuji February 9, 2018 (3 years old)". As a result, candidate string 14 is updated to "Gentaro Fuji (3 years old)".

[0059] Next, returning to S108, the information processing device checks again whether the current candidate string 14 matches the attribute pattern in the attribute dictionary 20A (the attribute pattern associated with the attribute key of the candidate string 14). In the example in Figure 5, the information processing device checks whether the current candidate string 14, "Fuji Gentaro (3 years old)", matches the attribute pattern "space-separated, Kanji, Hiragana, Katakana" associated with the attribute key "Name" in the attribute dictionary 20A. In this case, since the current candidate string 14 contains numbers (Arabic numerals), it does not match the attribute pattern "space-separated, Kanji, Hiragana, Katakana". Therefore, S108 is No.

[0060] If S108 is No, the information processing device executes S112 to S118 again. In the example in Figure 5, the information processing device splits the current corresponding string candidate 14 "Fuji Gentaro (3 years old)" into multiple strings "Fuji Gentaro" and "(3 years old)" (S112). Then, the information processing device obtains the attribute pattern of the undetected attribute key "age" (S114). Note that the attribute key "date of birth," which was previously undetected, was detected in the previous S116.

[0061] Next, the information processing device checks whether the strings "Fuji Gentaro" and "(3 years old)" obtained by splitting the corresponding string candidate 14 (S112) match the attribute pattern of the undetected attribute key "age" (S116). In this case, the string example "(3 years old)" matches the attribute pattern "number + (years old / age)" of the undetected attribute key "age", so S116 is Yes. Next, in S118, the information processing device removes the string "(3 years old)" which matched the attribute pattern in S116 from the current corresponding string candidate 14 "Fuji Gentaro (3 years old)". As a result, the corresponding string candidate 14 is updated to "Fuji Gentaro".

[0062] Next, returning to S108, the information processing device checks whether the current candidate string 14 "Fuji Gentaro" matches the attribute pattern in the attribute dictionary 20A (the attribute pattern associated with the attribute key of candidate string 14). In the example in Figure 5, it checks whether the current candidate string 14 "Fuji Gentaro" matches the attribute pattern "space-separated, kanji, hiragana, katakana" associated with the attribute key "name". Since these match, S108 is Yes.

[0063] If S108 is Yes, the information processing device identifies the current corresponding string candidate 14 "Fuji Gentaro" for attribute key 10 "Name" as the corresponding string 12 for attribute key 10 "Name".

[0064] If S108 is Yes, the process proceeds to S110. In S110, the information processing device checks whether it has processed all corresponding string candidates 14. In the example in Figure 5, the corresponding string candidates 14 for attribute key 10 "Address" and attribute key 10 "Telephone" of data (a) have not been processed, so S110 is No.

[0065] If S110 is No, the process proceeds to S108. In S108, the information processing device processes the remaining candidate strings 14. In the example in Figure 5, in S108, the information processing device checks whether the candidate string 14 "Kanagawa Prefecture, Yokohama City, △△ Ward, 〇〇〇〇〇" (some characters replaced with △ or 〇) for the attribute key 10 "Address" of data (a) matches the attribute pattern "Kanji, Hiragana, Numbers Prefecture + City / Ward / Town / Village + Street Number" associated with the attribute key "Address" in the attribute dictionary 20A. In this case, it matches the attribute pattern, so S108 is Yes. Therefore, the information processing device identifies the candidate string 14 "Kanagawa Prefecture, Yokohama City, △△ Ward, 〇〇〇〇〇" for the attribute key 10 "Address" as the corresponding string 12 for the attribute key 10 "Address".

[0066] In the example in Figure 5, at S108, the information processing device checks whether the candidate string 14 "045(△△△)□□□□" (with some characters replaced by △ or □) for the attribute key 10 "telephone" in data (a) matches the attribute pattern "number + delimiter (- or ())" associated with the attribute key "telephone number" in the attribute dictionary 20A. In this case, it matches the attribute pattern, so S108 is Yes. Therefore, the information processing device identifies the candidate string 14 "045(△△△)□□□□" for the attribute key 10 "telephone" as the corresponding string 12 for the attribute key 10 "telephone".

[0067] According to the embodiment described above, even if a string corresponding to another attribute key is included in the string (corresponding string candidate 14) in the corresponding area 16 identified as the area where a string corresponding to an attribute key exists in an electronic file representing a document (such as the corresponding string candidate 14 for attribute key 10 "Name" in the example of Figure 5), the corresponding string 12 for attribute key 10 can be extracted.

[0068] In the embodiment described above, from the candidate strings 14 corresponding to attribute key 10 (the candidate string 14 corresponding to attribute key 10 "Name" in the example of Figure 5), strings corresponding to the attribute patterns of other attribute keys to be extracted from the document (the attribute keys "Date of Birth" and "Age" in the example of Figure 5) are excluded, and the remaining strings are used as the corresponding string 12 for attribute key 10 (the corresponding string 12 for attribute key 10 "Name" in the example of Figure 5). Here, the other attribute keys to be extracted from the document can take the following two forms. Form (A): An attribute key in which no character example was found in the document. Form (B): An attribute key in which the character example itself was detected in the document, but no string existed in the corresponding area for that attribute key.

[0069] Form (A) refers to attribute keys that are not detected in data (a) of Figure 5, such as "Date of Birth" and "Age". Form (A) is, for example, an attribute key whose string should be detected in the document's attributes, but is not detected.

[0070] Form (B) is an attribute key where the character example of attribute key 10 itself is detected, but the string does not exist in the corresponding area 16 of attribute key 10, such as attribute key 10 "age" in data (b) of Figure 6. Form (B) is, for example, an attribute key where the corresponding string was not written in the corresponding area 16 because the corresponding string was written in another area.

[0071] The information processing device may identify the corresponding strings for other attribute keys to be extracted from the document from the candidate strings 14, which include the corresponding strings for multiple attribute keys. In other words, the information processing device may identify the strings that correspond to the attribute patterns of other attribute keys to be extracted from the data, from among the strings included in the candidate strings 14 extracted from the corresponding area 16 of the attribute key 10 of the data, as the corresponding strings for the other attribute keys.

[0072] In the example in Figure 5, the information processing device may identify the string "February 9, 2018" which corresponds to the attribute pattern "Date" of the attribute key "Date of Birth" to be extracted, from among the strings included in the candidate string 14 corresponding to the attribute key 10 "Name" of data (a), as the corresponding string for the attribute key "Date of Birth". Alternatively, the information processing device may identify the string "(3 years old)" which corresponds to the attribute pattern "Number + (years old / age)" of the attribute key "Age" to be extracted, from among the strings included in the candidate string 14 corresponding to the attribute key 10 "Name" of data (a), as the corresponding string for the attribute key "Age". This should be done, for example, in S116 of the flow in Figure 4, when the string obtained by splitting the candidate string 14 matches the attribute pattern of an undetected attribute key (S116: Yes).

[0073] Furthermore, with respect to form (B), the information processing device may identify as the corresponding string for an attribute key other attribute key among the strings included in the candidate corresponding string 14 extracted from the corresponding area 16 of the attribute key 10 of the data, a string that corresponds to the attribute pattern of another attribute key that was detected (obtained) from the data but for which a corresponding string (corresponding string) was not detected (obtained). In the example in Figure 6, the information processing device may identify as the corresponding string for the attribute key "age" among the strings included in the candidate corresponding string 14 of the attribute key 10 "name" of the data (b), a string "(3 years old)" that corresponds to the attribute pattern "number + (years old / age)" of the attribute key "age" for which the character example of the attribute key itself was detected but a corresponding string was not detected.

[0074] Next, another embodiment will be described. Figure 7 shows the attribute dictionary 20B and data (c). In data (c), the corresponding string candidate 14 in the corresponding area 16 of attribute key 10 "worker" includes the corresponding string 12 "Fuji Paul Gentaro" for attribute key "worker" and the corresponding string "Yokohama Office Minato Mirai Branch" for another attribute key "department". In the corresponding string candidate 14, the corresponding string 12 for attribute key 10 "worker" is at the bottom, and the corresponding string for attribute key "department" is at the top. The attribute dictionary 20B includes the positional relationship (bottom, top) associated with each attribute key "person in charge" and "department". The positional relationship defines the relative position of the corresponding string of the attribute key within the corresponding string candidate 14.

[0075] If the corresponding string candidate 14 is listed in two lines, as in data(c) in Figure 7, the information processing device may determine that the corresponding string candidate 14 consists of two strings and split it into an upper string and a lower string. The information processing device may then use the positional relationships defined in the attribute dictionary 20B to identify the corresponding string 12 for attribute key 10 and the corresponding strings for other attribute keys. In the example in Figure 7, the information processing device may use the positional relationships associated with each attribute key in the attribute dictionary 20B to identify the lower string "Fuji Paul Gentaro" from the corresponding string candidate 14 as the corresponding string 12 for attribute key 10 "worker", and identify the upper string "Yokohama Office Minato Mirai Branch" from the corresponding string candidate 14 as the corresponding string for the other attribute key "department".

[0076] This method of identifying the corresponding string 12 based on such positional relationships is effective, for example, when the attribute patterns of each attribute key, "person in charge" and "department," are similar, as shown in the attribute dictionary 20B in Figure 7, and when it is not possible to identify a string to exclude from the candidate corresponding strings (S118) in the flow in Figure 4.

[0077] Furthermore, the candidate string 14 may include strings of three or more lines, and the attribute dictionary may specify the corresponding positional relationships. Also, the candidate string 14 may include two or more strings arranged side by side, and the attribute dictionary may specify the corresponding positional relationships.

[0078] Next, another embodiment will be described. Figure 8 shows the attribute dictionary 20C and data (d). In data (d), the candidate corresponding string 14 in the corresponding area 16 of attribute key 10 "Person in Charge" includes the corresponding string 12 "24 ELIZABETH" for attribute key "Person in Charge" and the corresponding string "February 9, 2018" for another attribute key "Work Date". Also, in data (c), the corresponding area 16 of attribute key 10 "Product Number" contains the corresponding string 12 "Reiwa A 1568".

[0079] Here, we consider using the flow in Figure 4 to identify the corresponding string 12 for attribute key 10 "Person in Charge" in data (d). In the flow in Figure 4, by excluding strings that correspond to attribute patterns of other attribute keys from the candidate strings 14, the remaining string is identified as the corresponding string 12 for attribute key 10. In this case, it is preferable that the information processing device does not exclude strings that correspond to attribute patterns of attribute keys for which a corresponding string has already been found in the data from the candidate strings 14.

[0080] As shown in the attribute dictionary 20C in Figure 8, the attribute patterns of multiple attribute keys, such as "person in charge" and "product number," can be very similar. Therefore, when identifying the corresponding string 12 for attribute key 10 "person in charge" in data (d), if strings corresponding to the attribute patterns of other attribute keys, such as "product number," are excluded from the candidate strings 14, the corresponding string 12 for attribute key 10 "person in charge" may be unintentionally excluded. Thus, the information processing device can prevent the exclusion of strings that should be identified as the corresponding string 12 for attribute key 10 "person in charge" by not excluding strings corresponding to the attribute patterns of attribute keys, such as "product number," for which a corresponding string has already been found in data (d), from the candidate strings 14.

[0081] The information processing device of the above embodiment is configured using, for example, a general-purpose computer. As illustrated in Figure 9, the computer that forms the basis of the information processing device has a circuit configuration in which a processor 1002, a memory (main memory) 1004 such as random access memory (RAM), an auxiliary storage device 1006 which is a non-volatile storage device such as flash memory, SSD (solid state drive), or HDD (hard disk drive), a controller that controls interfaces with various input / output devices 1008, and a network interface 1010 that controls connection to a network such as a local area network are connected via a data transmission path such as a bus 1012. A program describing the processing content of the above embodiment is installed on the computer via the network, etc., and stored in the auxiliary storage device 1006. The information processing device of this embodiment is configured when the program stored in the auxiliary storage device 1006 is executed by the processor 1002 using the memory 1004.

[0082] Furthermore, the above program can be provided not only via the internet or other networks, but also by being stored on computer-readable recording media such as optical discs or USB memory sticks.

[0083] In the above embodiment, the term "processor" refers to a broad type of processor, including general-purpose processors (e.g., CPU: Central Processing Unit, etc.) and dedicated processors (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, programmable logic device, etc.).

[0084] Furthermore, the processor operation in the above embodiment may not be performed by a single processor, but may be performed by multiple processors located in physically separate locations working together. Also, the operations of each processor are not limited to the order described in the above embodiment, but may be changed as appropriate.

[0085] (Note) (((1))) Equipped with a processor, The aforementioned processor, Obtain the attribute key from the electronic file and identify the area corresponding to the attribute key. Extract a string from the identified region, If the extracted string contains a string that does not match the attribute pattern of the attribute key, then only the strings that match the attribute pattern from among the strings that make up the extracted string are identified as the string corresponding to the attribute key. Information processing device. (((2))) The information processing device described in (((1))), The aforementioned processor, From the extracted strings, strings corresponding to attribute patterns of other attribute keys to be extracted from the electronic file are excluded, and the remaining strings are identified as strings corresponding to the attribute keys. Information processing device. (((3))) The information processing device described in (((2))), The aforementioned processor, In the aforementioned electronic file, strings that correspond to attribute patterns of attribute keys for which the corresponding string has already been found will not be excluded from the extracted strings. Information processing device. (((4))) The information processing device described in (((1))), The aforementioned processor, Among the strings contained in the extracted string, strings that correspond to the attribute patterns of other attribute keys to be extracted from the electronic file are identified as strings corresponding to the other attribute keys. Information processing device. (((5))) The information processing device described in (((1))), The aforementioned processor, Among the strings included in the extracted string, the strings that correspond to the attribute patterns of other attribute keys obtained from the electronic file for which no corresponding strings were obtained are identified as the strings corresponding to those other attribute keys. Information processing device. (((6))) An information processing device described in any one of (((1))) to (((5))), The aforementioned processor, Based on the positional relationship of each string contained in the extracted string, the strings corresponding to the attribute key and other attribute keys are identified. Information processing device. (((7))) An information processing device described in any one of (((1))) to (((6))), The aforementioned attribute keys and their corresponding strings are listed in table format. The aforementioned area is one cell that makes up the table. Information processing device. (((8))) Obtain the attribute key from the electronic file and identify the area corresponding to the attribute key. Extract a string from the identified region, If the extracted string contains a string that does not match the attribute pattern of the attribute key, then only the strings that match the attribute pattern from among the strings that make up the extracted string are identified as the string corresponding to the attribute key. A program that instructs a computer to perform a process.

[0086] According to the invention of (((1))) or (((8))), in an electronic file, even if a string corresponding to another attribute key is included in a string in a region identified as a region where a string corresponding to an attribute key exists, the string corresponding to the attribute key is extracted. According to the invention of (((2))), a string corresponding to an attribute key is extracted based on the attribute pattern of other attribute keys to be extracted from the electronic file. According to the invention of (((3))), the situation in which some or all of the strings that should be identified as strings corresponding to attribute keys are excluded is suppressed. According to the invention of (((4))), a string corresponding to other attribute keys to be extracted from the electronic file is identified. According to the invention of (((5))), a string corresponding to another attribute key obtained from an electronic file is identified. According to the invention of (((6))), the positional relationship of each string contained in the extracted string identifies the strings corresponding to the attribute key and other attribute keys. According to the invention of (((7))), attribute keys are obtained from the table portion within the electronic file, and the string corresponding to the attribute key is identified. [Explanation of Symbols]

[0087] 10 Attribute key, 12 Corresponding string (string), 14 Corresponding string candidate, 16 Corresponding area (area, area corresponding to attribute key), 20, 20A, 20B, 20C Attribute dictionary, 102 File input unit, 104 OCR unit, 106 Attribute extraction unit, 108 Attribute information output unit, 1002 Processor, 1004 Memory, 1006 Auxiliary storage device, 1008 Input / output device, 1010 Network interface, 1012 Bus.

Claims

1. Equipped with a processor, The aforementioned processor, Obtain the attribute key from the electronic file and identify the area corresponding to the attribute key. Extract a string from the identified region, If the extracted string contains a string that does not match the attribute pattern of the attribute key, then only the strings that match the attribute pattern from among the strings that make up the extracted string are identified as the string corresponding to the attribute key. Information processing device.

2. An information processing apparatus according to claim 1, The aforementioned processor, From the extracted strings, strings corresponding to attribute patterns of other attribute keys to be extracted from the electronic file are excluded, and the remaining strings are identified as strings corresponding to the attribute keys. Information processing device.

3. An information processing apparatus according to claim 2, The aforementioned processor, In the aforementioned electronic file, strings that correspond to attribute patterns of attribute keys for which the corresponding string has already been found will not be excluded from the extracted strings. Information processing device.

4. An information processing apparatus according to claim 1, The aforementioned processor, Among the strings contained in the extracted string, strings that correspond to the attribute patterns of other attribute keys to be extracted from the electronic file are identified as strings corresponding to the other attribute keys. Information processing device.

5. An information processing apparatus according to claim 1, The aforementioned processor, Among the strings included in the extracted string, the strings that correspond to the attribute patterns of other attribute keys obtained from the electronic file for which no corresponding strings were obtained are identified as the strings corresponding to those other attribute keys. Information processing device.

6. An information processing apparatus according to claim 1, The aforementioned processor, Based on the positional relationship of each string contained in the extracted string, the strings corresponding to the attribute key and other attribute keys are identified. Information processing device.

7. An information processing apparatus according to any one of claims 1 to 6, The aforementioned attribute keys and their corresponding strings are listed in table format. The aforementioned region is one cell that constitutes the table. Information processing device.

8. Obtain the attribute key from the electronic file and identify the area corresponding to the attribute key. Extract a string from the identified region, If the extracted string contains a string that does not match the attribute pattern of the attribute key, then only the strings that match the attribute pattern from among the strings that make up the extracted string are identified as the string corresponding to the attribute key. A program that instructs a computer to perform a process.