Information processing system, information processing method, and program
Patent Information
- Application Number
- JP2022128926
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-08-12
- Publication Date
- 2025-08-19
AI Technical Summary
Existing OCR technologies struggle to accurately distinguish similar characters such as 0 (zero) and O (oh), 'ki' and 'ma', leading to inaccurate OCR processing results.
An information processing system that includes a storage mechanism to associate similar characters, replacing them with candidates based on a control mechanism when OCR processing is uncertain, utilizing a correction dictionary for efficient character recognition.
Enhances OCR accuracy by providing appropriate results for characters with similar appearances, improving recognition efficiency through dictionary-based corrections.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing system, an information processing method, and a program.
Background Art
[0002] With the progress of digitization of documents, it is widely practiced to scan handwritten documents such as application forms and various materials and convert them into electronic data. At that time, by performing OCR processing on handwritten characters and the like, character information is digitized and utilized.
[0003] Particularly in the case of handwritten characters, due to the habits of the writer, it is difficult to accurately perform OCR processing on handwritten characters. Also, even when performing OCR processing on printed characters, there are characters that are difficult to distinguish, such as 0 (zero) and O (oh), and improving the accuracy of OCR processing is desired in the digitization of documents.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Disclosure of the Invention
Problems to be Solved by the Invention
[0005] Patent Document 1 discloses a technique for distinguishing between uppercase and lowercase characters by using the vertical size information and horizontal size information of lowercase characters taking into account the habits of the user in order to improve the discrimination accuracy between uppercase and lowercase characters.
[0006] In Patent Document 1, it is possible to improve the accuracy of distinguishing between uppercase and lowercase characters, but characters that are easily misrecognized include not only uppercase and lowercase characters, but also various characters such as the above-mentioned 0 (zero) and O (oh), and "聞" and "間".
[0007] Therefore, an object of the present invention is to provide a mechanism that can obtain appropriate OCR results even for characters that have similar characters. [Means for solving the problem]
[0008] The information processing system of the present invention is characterized by comprising a storage means for storing similar characters in correspondence with each other, and a control means for, when a character string recognized by OCR processing includes similar characters stored in the storage means, replacing the similar characters with the similar characters stored in correspondence with the similar characters, and setting the resulting character string as a candidate for the OCR result. Effect of the Invention
[0009] According to the present invention, it is possible to obtain appropriate OCR results even for characters that have similar characters. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram showing an example of an information processing system. [Diagram 2] FIG. 1 shows an example of a hardware configuration. [Diagram 3] Flowchart showing OCR processing [Figure 4] Diagram showing revision history database [Diagram 5] A diagram showing an example of the confidence level of OCR results for each parameter value. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] FIG. 1 is a diagram showing an example of an information processing system according to the present invention.
[0012] The information processing system of the present invention has a configuration in which a client terminal 101, a server device 102, and a scanner 103 are communicably connected via a LAN 110.
[0013] The client terminal 101 is a terminal that has a function for accepting operations by a user and a display unit for displaying the OCR results.
[0014] The server device 102 has a function of executing OCR processing and storing various data based on operations and instructions from a user received via the client terminal 101.
[0015] The scanner 103 has a function of scanning a paper document and converting it into data.
[0016] The configuration shown in FIG. 1 is just an example, and the client terminal 101 may have the functions of the server device 102, for example.
[0017] FIG. 2 is a block diagram showing an example of a hardware configuration of an information processing device applicable as the client terminal 101 or the server device 102 of the present invention.
[0018] As shown in FIG. 2, the information processing device includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, an input controller 205, a video controller 206, a memory controller 207, and a communication I / F controller 208 connected via a system bus 204.
[0019] The CPU 201 comprehensively controls each device and controller connected to a system bus 204 .
[0020] ROM 202 or external memory 211 holds the BIOS (Basic Input / Output System) and OS (Operating System), which are control programs executed by CPU 201, computer-readable and executable programs for realizing this information processing method, and various necessary data (including data tables).
[0021] The RAM 203 functions as a main memory, a work area, etc., for the CPU 201. The CPU 201 loads programs and the like required for executing processes from the ROM 202 or the external memory 211 into the RAM 203, and executes the loaded programs to realize various operations.
[0022] The input controller 205 controls input from an input device such as a keyboard 209 or a pointing device such as a mouse (not shown). If the input device is a touch panel, the user can give various instructions by pressing (touching with a finger or the like) icons, cursors, or buttons displayed on the touch panel.
[0023] The touch panel may also be a touch panel capable of detecting positions touched by multiple fingers, such as a multi-touch screen.
[0024] The video controller 206 controls display on an external output device such as a display 210. The display also includes the display of a notebook computer integrated with the main body. Note that the external output device is not limited to a display, and may be, for example, a projector. In addition, for devices capable of receiving the above-mentioned touch operation, an input device is also provided.
[0025] The video controller 206 is capable of controlling a video memory (VRAM) for display control, and can use part of the RAM 203 as the video memory area, or can provide a separate dedicated video memory.
[0026] The memory controller 207 controls access to the external memory 211. As the external memory, an external storage device (hard disk) for storing a boot program, various applications, font data, user files, edit files, and various data, a flexible disk (FD), or a compact flash (registered trademark) memory connected to a PCMCIA card slot via an adapter, etc., can be used.
[0027] The communication I / F controller 209 connects and communicates with external devices via a network, and executes communication control processing on the network. For example, communication using TCP / IP, telephone lines such as ISDN, and 3G lines for mobile phones are possible.
[0028] The CPU 201 enables display on the display 210 by, for example, executing a process of expanding (rasterizing) an outline font in a display information area in the RAM 203. The CPU 201 also enables a user to give instructions using a mouse cursor (not shown) on the display 210.
[0029] Next, the process executed by the CPU 201 of the server device 102 of the present invention will be described with reference to FIG.
[0030] In step S301, OCR processing is performed on image data obtained by scanning with the scanner 103. In this embodiment, a document to be subjected to OCR is described by taking a handwritten application form as an example. Specifically, it is a form consisting of fields for entering name, address, telephone number, etc., and a target area for OCR processing is set for the fields. Then, OCR processing is performed on the target area for OCR processing.
[0031] In step S302, the result of the OCR process executed in step S301 is obtained. The OCR result includes the recognized characters (character string) and the degree of confidence of the recognition.
[0032] In step S303, it is determined whether the confidence level of the OCR processing result acquired in step S302 is equal to or lower than a threshold value.
[0033] If it is equal to or less than the threshold (step S303: YES), the process proceeds to step S304. If it is not equal to or less than the threshold (step S303: NO), the process proceeds to step S307.
[0034] In step S304, it is determined whether the number of times the processes in steps S301 to S303 have been executed is a predetermined number or less (in this embodiment, whether it is two or less).
[0035] If it is equal to or less than the predetermined number of times (step S304: YES), the process proceeds to step S305. If it is not equal to or less than the predetermined number of times (step S304: NO), the process proceeds to step S306.
[0036] In step S305, the parameters of the OCR pre-processing are changed. Specific examples of the parameters of the OCR pre-processing are "high contrast", "noise removal", "skew correction", and "position correction" as shown in Fig. 5. In step S305, these parameters are changed (for example, if these four processes were performed in the first process, the noise removal is changed so that it is not performed in the second process).
[0037] Then, in step S301, OCR processing is performed on the image data that has been subjected to the changed OCR preprocessing.
[0038] In OCR processing, the OCR accuracy varies depending on the contents of pre-processing, so by trying several patterns of OCR pre-processing as in the present invention, it is possible to obtain highly accurate OCR results. In the example of Figure 5, the confidence level when pre-processing is performed with the combination of parameter values shown in No. 2 is 0.819, which is the highest confidence level among No. 1 to No. 3.
[0039] In step S306, the result with the highest degree of certainty is obtained from the results of OCR processing executed a predetermined number of times.
[0040] In step S307, it is determined whether there is an extended normalization condition. The normalization condition is information registered in step S319, and will be described in detail later.
[0041] If the normalization condition is registered (step S307: YES), the process proceeds to step S308. If the normalization condition is not registered (step S307: NO), the process proceeds to step S310.
[0042] In step S308, it is determined whether or not a character string to which the normalization condition can be applied exists in the character string that has been subjected to the OCR processing. For example, if "0 (zero)" and "O (oh)" are registered as normalization conditions, and if "0 (zero)" or "O (oh)" is included as the result of the OCR processing, it is determined that an applicable character string exists.
[0043] If an applicable character string exists (step S308: YES), the process proceeds to step S309. If not (step S308: NO), the process proceeds to step S310.
[0044] In step S309, the extended normalization conditions are applied. Specifically, when a character recognized as "0 (zero)" is found as a result of the OCR processing, the correction dictionary is also searched for a character string in which the character is replaced with "O (oh)."
[0045] Here, the OCR process using a dictionary will be described.
[0046] There are cases where the results of the OCR process are recognized as incorrect characters, and in such cases the user manually corrects the character string to the correct one. At that time, since manually inputting the corrections is inefficient and may lead to operational errors, the correction is made using a dictionary. For example, for entry fields where the character string to be handwritten is predetermined (for example, only numbers from 0 to 9 can be written in the field for a telephone number, and only one of the 47 prefectures can be written in the field for the prefecture of an address), a dictionary in which the corresponding candidates (numbers (0 to 9) and the 47 prefectures in the above example) are registered is associated with the entry field. Then, when OCR processing is performed on the entry field, the character strings registered in the dictionary are presented as OCR result candidates based on the matching rate between the candidates registered in the dictionary and the OCR result.
[0047] By correcting the OCR results using such a dictionary, it is possible to efficiently obtain appropriate OCR results.
[0048] In step S310, the matching rate between the OCR result and the character string registered in the dictionary is calculated.
[0049] In step S311, a predetermined number of character strings (the top five in this embodiment) with high matching rates calculated in step S310 are acquired.
[0050] In step S312, it is determined whether the top five matching rates acquired in step S311 are all below the threshold value.
[0051] If all of the top five matches have a matching rate below the threshold (step S312: YES), the process proceeds to step S313.
[0052] If there is a candidate with a matching rate exceeding the threshold value (step S312: NO), the process of this flowchart ends.
[0053] In step S313, in order to indicate that there is no suitable candidate in the dictionary, the entry field to be OCRed is controlled to be displayed in a identifiable manner, for example by coloring.
[0054] In step S314, frequently selected character strings in the dictionary are obtained as candidates and are controlled to be displayed (for example, the number of times each character string in the dictionary has been selected is recorded, and character strings that have been selected a predetermined number of times or more are controlled to be displayed).
[0055] In step S315, if the character string has been manually corrected by the user, the manually input character string is obtained.
[0056] In step S316, it is determined whether five or more candidates are acquired in step S314. If five or more candidates are acquired (step S316: YES), the process proceeds to step S317. If five or more candidates are not acquired (step S316: NO), the process proceeds to step S318.
[0057] In step S317, the candidate with the highest matching rate is presented based on the candidates acquired in step S314 and the character string input by the user accepted in step S315, and a selection is accepted.
[0058] In step S318, the corrected character and the character after correction are registered in the correction history database (FIG. 4) based on the correction character string input by the user.
[0059] In step S319, the normalization conditions are updated based on the correction history database. Specifically, for characters (characters before and after correction) that have been corrected more than a predetermined number of times, they are registered so that they are replaced with each other and a dictionary search is performed. For example, in the example of FIG. 4, the number "0 (zero)" has been corrected to the alphabet "O (oh)" 10 times. If the predetermined number is 10 times, "0 (zero)" and "O (oh)" are registered as normalization conditions. Then, if "0 (zero)" or "O (oh)" is included as a result of OCR processing, a search is made for character strings in the dictionary using the character strings that have been replaced with each other, and character strings with a high matching rate can be presented as candidates.
[0060] Although the requirement for registering the normalization conditions is that the number of corrections exceeds a predetermined number, the normalization conditions are not limited to this and can be set by an administrator or the like as appropriate.
[0061] The above process makes it possible to register frequently corrected character strings and then search the dictionary using the character strings that replace them, thereby enabling the efficient presentation of appropriate OCR results.
[0062] Although the embodiments have been described above, the present invention can be embodied, for example, as a system, an apparatus, a method, a program, or a recording medium, etc. Specifically, the present invention may be applied to a system composed of multiple devices, or may be applied to an apparatus composed of a single device.
[0063] Moreover, the program of the present invention is a program that enables a computer to execute the processing method of the flowchart shown in Fig. 3, and the storage medium of the present invention stores a program that enables a computer to execute the processing method of Fig. 3. The program of the present invention may be a program for each processing method of each device in Fig. 3.
[0064] As described above, it goes without saying that the object of the present invention can be achieved by supplying a recording medium on which a program that realizes the functions of the above-mentioned embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of that system or device read and execute the program stored on the recording medium.
[0065] In this case, the program itself read out from the recording medium will realize the novel functions of the present invention, and the recording medium on which the program is recorded will constitute the present invention.
[0066] Examples of recording media for supplying the program include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, silicon disks, etc.
[0067] Furthermore, it goes without saying that the functions of the above-mentioned embodiments are not only realized by the computer executing a program it has read, but also includes cases where an OS (operating system) running on the computer performs some or all of the actual processing based on the instructions of the program, and the functions of the above-mentioned embodiments are realized through that processing.
[0068] Furthermore, it goes without saying that this also includes cases where a program read from a recording medium is written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to a computer, and then a CPU or the like provided on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-mentioned embodiments.
[0069] The present invention may be applied to a system consisting of multiple devices, or to an apparatus consisting of a single device. Needless to say, the present invention can also be applied to a case where the object is achieved by supplying a program to a system or apparatus. In this case, the effect of the present invention can be enjoyed by the system or apparatus by reading a recording medium storing a program for achieving the present invention into the system or apparatus.
[0070] Furthermore, by downloading and reading a program for achieving the present invention from a server, database, etc. on a network using a communication program, the system or device can enjoy the effects of the present invention. Note that the present invention also includes configurations that combine the above-mentioned embodiments and their modified examples. [Explanation of symbols]
[0071] 101 Client terminals 102 Server device 103 Scanner 110 LAN
Claims
1. a storage means for storing similar characters in correspondence with each other; a display control means for controlling, when a character string recognized by OCR processing includes similar characters stored in the storage means, to display a character string in which the similar characters are replaced with the stored similar characters associated with the similar characters, as a candidate for the OCR result; An information processing system comprising:
2. Further, a correction accepting unit is provided for accepting corrections to the OCR result.
2. The information processing system according to claim 1, wherein the similar characters stored in said storage means are the characters for which corrections have been accepted by said correction accepting means and the characters after the corrections.
3. 3. The information processing system according to claim 2, wherein the similar characters stored in the storage means are identified based on the correction history received by the correction receiving means.
4. 4. The information processing system according to claim 3, wherein the similar characters stored in said storage means are characters for which the correction history accepted by said correction accepting means satisfies a predetermined condition.
5. The storage means stores a dictionary in which character strings that are candidates for OCR results are registered, 2. The information processing system according to claim 1, wherein the display control means controls display of character strings specified based on a matching rate with the OCR result from among character strings registered in the dictionary.
6. The information processing system according to claim 5, characterized in that the display control means controls the display of a character string identified from the character strings registered in the dictionary based on a degree of match between the replaced character string and the character string before the replacement.
7. The information processing system described in Claim 6, characterized in that if the dictionary does not contain a character string whose matching rate satisfies a predetermined condition, the display control means controls to identifiably display the entry location of the character string recognized by the OCR processing, and controls to display character strings contained in the dictionary whose number of times selection has been accepted satisfies a predetermined condition.
8. The present invention further comprises a selection receiving means for receiving a selection of a character string controlled to be displayed by the display control means, 8. The information processing system according to claim 1, further comprising: a specifying unit that specifies the character string selected by the selection receiving unit as an OCR result.
9. An information processing method in an information processing system having a storage means for storing similar characters in correspondence with each other, comprising: An information processing method characterized by comprising a display control step in which, when a character string recognized by OCR processing includes similar characters stored in the storage means, the control means of the information processing system controls the display of a character string in which the similar characters are replaced with the stored similar characters associated with the similar characters as a candidate for the OCR result.
10. A program for causing at least one computer to function as each means of an information processing system described in any one of claims 1 to 8.