Information processing system, information processing method, and program

JP2024093621A5Pending Publication Date: 2026-03-10CANON MARKETING JAPAN INC +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-12-27
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing OCR processing systems require manual correction due to the inability to display appropriate candidates unless the dictionary is properly maintained.

Method used

An information processing system with OCR means, reception means, and notification means for efficient dictionary maintenance, including character string corrections and updates through user interaction.

Benefits of technology

Facilitates efficient maintenance of the dictionary, improving the accuracy of OCR processing by allowing users to correct and update candidate character strings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide an information processing system, an information processing method, and a program for efficiently performing maintenance of a dictionary.SOLUTION: An information processing system comprises: OCR means for performing OCR processing using a dictionary in which character strings representing candidates for OCR results are registered; reception means for accepting corrections to results of the OCR processing by the OCR means; and notification means for providing notification of records of the corrections accepted by the reception means.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing system, an information processing method, and a program. [Background technology]

[0002] When converting paper documents into digital data, it is common to obtain text data by scanning them and then performing OCR processing. Although efforts are being made to improve the accuracy of OCR processing, it is difficult to achieve 100% accuracy, and users often have to manually correct the results of OCR processing.

[0003] As a method for correcting the OCR result, there is a mechanism for preparing a dictionary in which candidate character strings are registered in advance, and presenting the most likely character string among the character strings registered in the dictionary as the OCR result. For example, Patent Document 1 discloses a mechanism for registering a character string that meets a certain evaluation criterion as a dictionary based on a user's request to add the character string to the dictionary. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 10-74241 DISCLOSURE OF THEINVENTION [Problem to be solved by the invention]

[0005] However, in correction using this dictionary function, if the dictionary is not properly maintained, a problem occurs in that appropriate candidates are not displayed.

[0006] SUMMARY OF THE PRESENT EMBODIMENTS Accordingly, an object of the present invention is to provide a mechanism for efficiently maintaining a dictionary. [Means for solving the problem]

[0007] An OCR means for performing OCR processing using a dictionary in which character strings that are candidates for OCR results are registered; a receiving means for receiving corrections to a result of the OCR processing by the OCR means; a notification means for notifying the user of the results of the corrections received by the reception means; An information processing system comprising: Effect of the Invention

[0008] According to the present invention, it is possible to efficiently maintain a dictionary. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of an information processing system according to the present invention; [Diagram 2] FIG. 1 is a diagram showing a hardware configuration of an information processing device. [Diagram 3] A flow chart showing the process when a request is received to correct an OCR result or to add or delete a character string (item) registered in the dictionary. [Figure 4] Flowchart showing the process of additionally registering a character string during dictionary maintenance [Diagram 5] Flowchart showing the process of deleting character strings during dictionary maintenance [Figure 6] A flowchart showing a process for identifying a character string that is used less frequently among character strings registered in a dictionary. [Figure 7] FIG. 13 is a diagram showing an example of a deletion candidate table; [Figure 8] FIG. 13 is a diagram showing an example of a registration candidate table; [Figure 9] An example of a screen showing the results of OCR processing [Figure 10] A diagram showing the transition of the dictionary maintenance screen DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] As shown in the example of FIG. 1, the information processing system of the present invention has a configuration in which a scanner 101, a client terminal 102, and a server device 103 are communicably connected via a network.

[0011] The scanner 101 is a device that has a function of scanning a paper document and converting it into data.

[0012] The client terminal 102 has a function for displaying the scan data from the scanner 101, the results of OCR processing by the server device 103, a dictionary maintenance screen, etc., and a function for receiving instructions from a user.

[0013] The server device 103 has a function of executing OCR processing and storing dictionaries and various tables.

[0014] FIG. 2 is a block diagram showing an example of a hardware configuration of an information processing device that can be used as the scanner 101, the client terminal 102, and the server device 103 of the present invention.

[0015] As shown in FIG. 2, the information processing device has a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a storage device 204, an input controller 205, an audio controller 206, a video controller 207, a memory controller 208, and a communication I / F controller 209 connected via a system bus 200.

[0016] The CPU 201 comprehensively controls each device and controller connected to the system bus 200 .

[0017] ROM 202 or external memory 213 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).

[0018] 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 213 into the RAM 203, and executes the loaded programs to realize various operations.

[0019] The input controller 205 controls input from an input device such as a keyboard 210 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.

[0020] The touch panel may be a touch panel capable of detecting positions touched by multiple fingers, such as a multi-touch screen.

[0021] The video controller 207 controls display on an external output device such as a display 212. 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 the device capable of receiving the above-mentioned touch operation, an input device is also provided.

[0022] The video controller 207 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.

[0023] The memory controller 208 controls access to the external memory 213. 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.

[0024] 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 communication using 4G and 5G lines for mobile phones are possible.

[0025] The CPU 201 enables display on the display 212 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) or the like on the display 212.

[0026] FIG. 3 is a flowchart showing the processing performed when a request is received to correct an OCR result or to add or delete a character string (item) registered in the dictionary.

[0027] In step S301, a document to be subjected to OCR processing is input. For example, the document may be input by scanning a paper document with a scanner, or may be input by accepting the selection of an existing PDF file or the like.

[0028] In step S302, OCR processing is performed on the document input in step S301.

[0029] In step S303, the result of the OCR processing in step S302 is displayed. An example of a screen displaying the result of the OCR processing is shown in FIG.

[0030] In step S304, corrections to the OCR results are accepted from the user, and a request to delete a character string registered in the dictionary or to register a new character string is also accepted.

[0031] Corrections are accepted by accepting a click operation on an area (eg, 901) in FIG. 9 in which the OCR result is displayed, accepting input of a corrected character string, and pressing a correction button 904.

[0032] A request for deletion / registration is accepted by checking a registration request checkbox 902 and a deletion request checkbox 903 in Fig. 9 and pressing a correction button 904. Note that the deletion request checkbox is controlled not to be displayed for OCR areas that do not use the dictionary function.

[0033] In step S305, it is determined whether a deletion request has been accepted in step S304. If a deletion request has been accepted (step S305: YES), the process proceeds to step S306. If a deletion request has not been accepted (step S305: NO), the process proceeds to step S310.

[0034] In step S306, the character string to be deleted and the name of the dictionary in which the character string is registered (a dictionary is registered for each OCR area, and the dictionary name is information that can identify the dictionary corresponding to the OCR area related to the character string to be deleted) are obtained.

[0035] In step S307, it is determined whether the character string obtained in step S306 has already been registered in the deletion candidate table.

[0036] If it has already been registered, the process proceeds to step S308, whereas if it has not been registered, the process proceeds to step S309.

[0037] In step S308, the number of deletion requests for the character string that is the subject of the deletion request is incremented by one.

[0038] In step S309, the character string that is the subject of the deletion request is registered as a new record in the deletion candidate table, and the number of deletion requests is set to 1.

[0039] Here, the deletion candidate table will be explained. An example of the deletion candidate table is shown in Figure 7. As shown in Figure 7, it is composed of dictionary names, deletion candidate character strings, the number of deletion requests, the last use date, and a low use flag.

[0040] The dictionary name is information that indicates the dictionary in which the deletion candidate character string is registered.

[0041] In step S310, the correction contents for the OCR result accepted in step S304 and a request for additional registration in the dictionary are acquired.

[0042] In step S311, it is determined whether the corrected character string has already been registered in the registration candidate table.

[0043] In step S312, the number of corrections for the corrected character string in the registration candidate table is incremented by one.

[0044] In step S313, the correction date for the corrected character string in the registration candidate table is updated.

[0045] Here, the registration candidate table will be described. An example of the registration candidate table is shown in Fig. 8. As shown in Fig. 8, the table is composed of the corrected character string (candidate character string for registration), the number of corrections, whether or not there is a registration request, and the last correction date.

[0046] In step S314, it is determined whether the number of records registered in the registration candidate table has reached the upper limit (a predetermined set value).

[0047] If the upper limit has been reached (step S314: YES), the process proceeds to step S315. If the upper limit has not been reached (step S314: NO), the process proceeds to step S316.

[0048] In step S315, the record with the oldest modification date is deleted.

[0049] In step S316, the corrected character string is registered as a new record in the registration candidate table.

[0050] In step S317, it is determined whether a registration request was obtained in step S310 (whether a registration request was accepted from the user in S304), and if a registration request was made, a flag indicating that a registration request has been made is turned ON for the record of the character string that is the subject of the registration request in step S318.

[0051] Next, the process of additionally registering a character string during dictionary maintenance will be described with reference to the flowchart of FIG.

[0052] In step S401, a dictionary maintenance screen is displayed. An example of the dictionary maintenance screen is shown in Fig. 10(A).

[0053] In step S402, an instruction to display registration candidates is accepted via the maintenance screen. Specifically, when the dictionary candidate list is selected from the menu bar on the left side of the screen in Fig. 10(A), the screen in Fig. 10(B) is displayed, and when the registration candidate button on the screen in Fig. 10B is pressed, the registration candidates are displayed (an example of the displayed screen is shown in Fig. 10C). In step S403, registration candidates are displayed based on the information registered in the registration candidate table.

[0054] An example of a screen displaying registration candidates is shown in FIG. 10C.

[0055] In step S404, it is determined whether the number of records registered in the registration candidate table is equal to or greater than a predetermined number. If the number is equal to or greater than the predetermined number (step S404; YES), the process proceeds to step S405.

[0056] In step S405, a message is displayed based on the fact that the number of records of the registration candidates is equal to or greater than a predetermined number (for example, a message encouraging deletion).

[0057] In step S406, among the records displayed as registration candidates, the selection of records (character strings) to be registered in the dictionary (for registration in the dictionary, the specification of the registration destination dictionary is also accepted) and records to be deleted from the registration candidate table are accepted. Specifically, the selection is accepted by checking the checkboxes attached to each record of the candidates displayed on the screen in Fig. 10C and pressing the register button or delete button.

[0058] In step S407, based on the selection received in step S406, the character string for which a selection to register has been received is registered in the dictionary, and the character string for which a selection to delete has been received is deleted from the registration candidate table.

[0059] Next, the process of deleting character strings during dictionary maintenance will be described with reference to the flowchart in FIG.

[0060] In step S501, a dictionary maintenance screen is displayed.

[0061] In step S502, an instruction to display deletion candidates is accepted via the maintenance screen.

[0062] In step S503, deletion candidates are displayed based on the information registered in the deletion candidate table.

[0063] An example of a screen displaying deletion candidates is shown in Fig. 10D. Note that Fig. 10D is a screen that is displayed when the deletion candidates button is pressed on the screen in Fig. 10B.

[0064] In step S504, it is determined whether the number of records registered in the deletion candidate table is equal to or greater than a predetermined number. If the number is equal to or greater than the predetermined number (step S504; YES), the process proceeds to step S505.

[0065] In step S505, a message (for example, a message encouraging deletion) is displayed based on the fact that the number of records that are candidates for deletion is equal to or greater than a predetermined number.

[0066] In step S506, among the records displayed as candidates for deletion, the selection of records (character strings) to be deleted from the dictionary or the selection of records to be deleted from the deletion candidate table is accepted. Specifically, the selection is accepted by checking the checkboxes provided for each record of the candidates displayed on the screen in Fig. 10D, or by pressing the register button or delete button.

[0067] In step S507, based on the selection received in step S506, a character string for which a selection to delete it from the dictionary has been received is deleted from the dictionary, and a character string for which a selection to delete it from the deletion candidate table has been received is deleted from the deletion candidate table.

[0068] Next, a process for identifying a character string that is used less frequently among character strings registered in the dictionary will be described with reference to the flowchart of FIG.

[0069] In step S601, dictionaries that have been created (registered) for a predetermined period of time (for example, one year) are obtained.

[0070] In step S602, character strings that have not been used for a predetermined period (for example, one year) are obtained from the dictionary obtained in step S601.

[0071] The processes of S604 to S607 are executed for the character string acquired in step S602.

[0072] In step S604, it is determined whether the character string to be processed has been registered in the deletion candidate table. If it has been registered (step S604: YES), the process proceeds to step S605. If it has not been registered (step S604: NO), the process proceeds to step S606.

[0073] In step S605, the number of deletion requests for the character string to be processed is incremented by one.

[0074] In step S606, the character string to be processed is added to the deletion candidate table, and the number of deletion requests is set to 1.

[0075] In step S607, a "D" usage frequency flag is set for the record in the deletion candidate table that is related to the character string to be processed.

[0076] Although the embodiment has 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.

[0077] 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.

[0078] 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.

[0079] 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.

[0080] 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.

[0081] 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.

[0082] 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.

[0083] 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.

[0084] 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]

[0085] 101 Client terminals 102 Server device 103 LAN

Claims

1. a receiving means for receiving a request for maintenance of a dictionary in which character strings that are candidates for OCR results are registered; an output means for outputting the results related to the request accepted by the accepting means; An information processing system comprising:

2. the accepting unit accepts corrections to the OCR results, Accept requests to register the corrected character string in the dictionary.

2. The information processing system according to claim 1, wherein:

3. The receiving means receives a request to delete the character string registered in the dictionary.

2. The information processing system according to claim 1, wherein:

4. The output means outputs the results on a screen for accepting a request for maintenance of the dictionary.

2. The information processing system according to claim 1, wherein:

5. The performance includes at least one of whether or not there has been a request for registration accepted by the accepting means and the number of requests for deletion.

2. The information processing system according to claim 1, wherein:

6. The accepting means accepts a selection of a character string to be registered in the dictionary or a selection of a character string to be deleted from a registration candidate list, which is a list of character strings that are candidates to be registered in the dictionary.

2. The information processing system according to claim 1, wherein:

7. The accepting means accepts a selection of a character string to be deleted from the dictionary or a selection of a character string to be deleted from the deletion candidate list, which is a list of character strings that are candidates to be deleted from the dictionary.

2. The information processing system according to claim 1, wherein:

8. Among the character strings registered in the dictionary, for character strings that have not been used as candidates for OCR results for a predetermined period of time, If the item is not registered in the deletion candidate list, register it in the deletion candidate list; The method further comprises a registration means for registering a request for deletion of a character string when the character string is registered in the deletion candidate list.

8. The information processing system according to claim 7, wherein:

9. The output means outputs a command to delete a character string from the registration candidate list when the number of the character strings that are candidates in the registration candidate list exceeds a predetermined value.

7. The information processing system according to claim 6, wherein:

10. When the number of candidate character strings in the deletion candidate list exceeds a predetermined value, the output means outputs a command to delete the character string from the deletion candidate list.

8. The information processing system according to claim 7, wherein:

11. The output means includes a registration candidate list that is a list of candidate character strings to be registered in the dictionary, For character strings after correction of OCR results is accepted, output the results of the request and the results of the correction.

2. The information processing system according to claim 1, wherein:

12. Further comprising a registration means for registering different dictionaries for each area of ​​an OCR target, The request received by the receiving means is a request for deleting a character string registered in the dictionary corresponding to the area.

2. The information processing system according to claim 1, wherein:

13. The request is an operation related to the request by the user.

13. The information processing system according to claim 1, wherein:

14. The reception means of the information processing system, a receiving step of receiving a request for maintenance of a dictionary in which character strings that are candidates for the OCR result are registered; The output means of the information processing system an output step of outputting the performance of the requested operation accepted by the accepting step; An information processing method comprising:

15. 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 12.