Method and system for ideographic character analysis
By dividing ideographic characters into strokes and mapping them to stroke identifiers, the accuracy problem of OCR in recognizing ideographic characters is solved, OCR errors are corrected, and the recognition accuracy is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- OPEN TEXT CORP
- Filing Date
- 2015-09-30
- Publication Date
- 2026-07-14
AI Technical Summary
Existing optical character recognition (OCR) technology is easily affected by factors such as image sharpness, character and background sharpness, font and handwriting when recognizing ideographic characters, leading to recognition errors and making it difficult to accurately recognize ideographic characters.
Ideographic characters are divided into strokes, and each stroke is mapped to a corresponding stroke identifier. Candidate stroke identifier sequences that are within a threshold distance from the original stroke identifier sequence are selected, and OCR errors are corrected by creating new phrases for searching.
By using stroke division and mapping technology, OCR errors can be accurately identified and corrected, improving the recognition accuracy of ideographic characters and ensuring the correctness of search results.
Smart Images

Figure CN116152831B_ABST
Abstract
Description
[0001] This application is a divisional application of the patent application filed on September 30, 2015, entitled “Method and System for Ideographic Character Analysis”, with international application number PCT / CN2015 / 091163 and national application number 201580084629.1. Technical Field
[0002] This disclosure relates to methods and systems for ideographic character analysis. Background Technology
[0003] Optical Character Recognition (OCR) is the process of recognizing characters from an image. In other words, OCR converts an image of characters into machine-coded characters. OCR can be performed, for example, when the incoming image is a scanned image or when a user is handwriting characters on an electronic device using a pointing device (e.g., using a stylus and a note using a software application). Because OCR depends on the sharpness of the image, the sharpness of the characters and background, the font and / or handwriting, and other factors, correctly recognizing characters using OCR can be challenging. Summary of the Invention
[0004] In general, in one aspect, one or more embodiments relate to a method for ideographic character analysis and a non-transitory computer-readable medium. Ideographic character analysis includes: dividing an original ideographic character into strokes, and mapping each stroke to a corresponding stroke identifier (id) to create an original stroke ID sequence including the stroke identifiers. Candidate ideographic characters having candidate stroke ID sequences within a threshold distance from the original stroke ID sequence are selected, and a new phrase is created by replacing the original ideographic character with the candidate ideographic character in a search phrase. One or more embodiments use the search phrase and the new phrase to perform a search to obtain results, and present the results.
[0005] In general, in one aspect, one or more embodiments relate to a method for ideographic character analysis. The method includes: dividing an original ideographic character into strokes, and mapping each stroke to a stroke ID to create an original stroke ID sequence including stroke identifiers. Candidate ideographic characters having candidate stroke ID sequences within a threshold distance from the original stroke ID sequence are selected and replace the original ideographic characters in a character-recognized document. The character-recognized document is stored.
[0006] Other aspects of this technology will become clear from the following description and the appended claims. Attached Figure Description
[0007] Figure 1 A schematic diagram of a system according to one or more embodiments of the present technology is shown.
[0008] Figure 2 ,3 Figures 4 and 5 show flowcharts of one or more embodiments according to the present technology.
[0009] Figure 5.1 , 5.2 Sections 5.3 and 5.4 show examples of one or more embodiments according to the present technology.
[0010] Figure 6 A computing system according to one or more embodiments of the present technology is shown. Detailed Implementation
[0011] Specific embodiments of the present technology will now be described with reference to the accompanying drawings. For consistency, similar elements in the figures are indicated by similar reference numerals.
[0012] In the following detailed description of embodiments of this technology, numerous specific details are set forth in order to provide a more thorough understanding of the technology. However, it will be apparent to those skilled in the art that the technology can be implemented without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
[0013] Throughout this application, ordinal numbers (e.g., first, second, third, etc.) may be used as adjectives for elements (i.e., any noun in this application). The use of ordinal numbers does not imply or create any particular ordering of elements, nor does it limit any element to a single element, unless explicitly disclosed, such as through the use of the terms “before,” “after,” “single,” and other such terms. Rather, the use of ordinal numbers distinguishes elements. For example, a first element is distinct from a second element, and a first element may contain more than one element and is placed after (or before) the second element in the element order.
[0014] In general, embodiments of this technology are aimed at performing ideographic character analysis. Ideographic characters are graphic symbols that represent ideas without specifying pronunciation. Some ideographic characters may each represent an entire word. Some ideographic characters may represent parts of a word. Ideographic characters are morphemes in an ideographic writing system. Examples of ideographic writing systems include Chinese, Japanese Kanji, and other languages. One or more embodiments are aimed at dividing ideographic characters into strokes and converting the strokes into a sequence of stroke identifiers (ids). From the stroke id sequence, possible variations of the ideographic character can be determined. In one or more embodiments of this technology, the possible variations are used to correctly identify the image form of the ideographic character when performing OCR. In one or more embodiments of this technology, the possible variations are used to search for documents with original ideographic characters that are incorrectly identified via OCR.
[0015] Figure 1A schematic diagram of a system according to one or more embodiments of the present technology is shown. Figure 1 The system shown may include a computing system, such as Figure 6 The computing system shown and described below, and / or the computation that can be performed on that computing system. Figure 1 As shown, the system includes a data storage library (102) and a document analyzer (104). These two components are described below.
[0016] In one or more embodiments of this technology, the data repository (102) is any type of storage unit and / or device for storing data (e.g., file system, database, batch table, or any other storage mechanism). Furthermore, the data repository (102) may include multiple different storage units and / or devices. These multiple different storage units and / or devices may be of the same type or located in the same physical location, or they may not be of the same type or located in the same physical location. The data repository (102) includes the functionality to store document images (106), character-recognized documents (108), and stroke maps (110).
[0017] In one or more embodiments of this technology, a document image (106) is an image of a document having at least some characters as image data. A document is a work created using a software application. For example, a document may be created by an application for an image scanner, a camera application, a word processing application, a notepad application, or another software application. This work may be saved in a computer file, a record, stored in temporary storage in a data repository, or otherwise stored. In one or more embodiments of this technology, a document may be a character-based document (e.g., a free-form invoice, receipt, article, book, or other such document), a form (e.g., an application, tax return, new account form, refund form, or any other type of form), or any other type of document. Furthermore, a document may have multiple parts, each of which is a different type. For example, an article may be combined with an application form in a single document.
[0018] In one or more embodiments of this technology, at least a portion of the document is an image with ideographic characters. In other words, the document image has information encoded in an image format rather than a text format. In some embodiments, the entire document image (106) is an image. For example, the document image (106) may be a computer-generated image, a picture of a document, a scanned document, or other images of a document.
[0019] In one or more embodiments of this technology, a character-recognized document (108) is a document in which optical character recognition (OCR) has been performed on a document image (108). Therefore, image data relating to at least some of the ideographic characters is replaced or supplemented in the character-recognized document (108) with computer-encoded characters. Computer-encoded characters are encodings for text, not images. For example, computer-encoded characters can be Unicode, GB code, GBK extended code, Big5 code, or other encodings. The character-recognized document can be stored in a searchable data store. Furthermore, some of the ideographic characters may be misrecognized in the character-recognized document (108). In other words, a particular computer-encoded character may differ from the original ideographic character in the document image. Such misrecognition may occur due to factors such as the background of the characters in the document image, lack of clarity of the characters in the document image, lack of clarity of the font and / or handwriting, foreign markings on the document image, and other factors.
[0020] In one or more embodiments of this technology, the data repository further includes the functionality of storing a stroke map (110). The stroke map (110) is a mapping between the strokes of an ideographic character and stroke identifiers. In one or more embodiments of this technology, the strokes of an ideographic character do not include all strokes, but only a subset of strokes. In other embodiments, the stroke map (110) may include all strokes. In some embodiments, one or more strokes in the stroke map (110) may be a combination of strokes. In other words, instead of a single stroke mapping to a stroke identifier, a combination of strokes may be mapped to a single stroke ID defined for that combination. Therefore, the stroke map (110) is a mapping of the steps of creating an ideographic character. In other words, the stroke map (110) is not a mapping of ideographic characters to different languages.
[0021] In one or more embodiments of this technology, the stroke identifier is a unique identifier among the strokes in the stroke map (110). For example, the unique identifier may be a numeric identifier, a letter identifier, an alphanumeric identifier, or another identifier. Other identifiers may be used without departing from the scope of this technology.
[0022] continue Figure 1The data storage (102) is connected to the document analyzer (104). In one or more embodiments of this technology, the document analyzer is hardware, software, firmware, or any combination thereof that includes functionality to recognize variations of ideographic characters and perform operations on ideographic characters. In one or more embodiments of this technology, the document analyzer (104) includes a content extraction user interface (112), a search user interface (114), a character analyzer (116), an OCR engine (118), and a fuzzy search engine (120). Each of these components is described below.
[0023] The content extraction user interface (112) is an interface for initiating the extraction of content from one or more document images (106). In other words, the content extraction user interface (112) is configured to receive parameters for performing OCR. The content extraction user interface (112) may include a document identifier widget (122) and a parameter widget (124). The document identifier widget (122) is a user interface widget for receiving document identification. For example, the document identifier widget (122) may be one or more of the following: checkbox, button, drop-down list, folder browsing interface, pop-up menu, text box for submitting the name of the document image, open panel in a window, window displaying document image, or another type of widget.
[0024] In one or more embodiments of this technology, a parameter widget (124) is a widget for receiving one or more parameters from a user for identifying characters in a document. Multiple parameter widgets may exist. For example, parameters may include one or more parts of the document from which content is to be extracted, the language of the content, any configuration regarding the extraction of individual characters, other parameters, or combinations thereof. For example, the parameter widget (124) may be a drop-down menu, a checkbox, a radio button, a text box, or any other user interface widget or combination thereof.
[0025] In one or more embodiments of this technology, the search user interface (114) is a user interface having a search widget (126) and receiving search results (128). The search widget (126) is any user interface widget that includes the functionality to receive search queries. A search query is a query with user-submitted keywords to obtain documents that satisfy those keywords. The documents searched in the search query can be character-recognized documents (108). In one or more embodiments of this technology, the search query can include one or more ideographic characters. The search query can be structured, unstructured, or have some structured components and some unstructured components. For example, a structured search query can be a key-value pair, where each key identifies a specific attribute of a document and the value specifies the value of that attribute. An unstructured search query can be a set of one or more keywords (i.e., words, terms, phrases, characters) that will be used to perform the search. Different types of search queries may be used herein without departing from the scope of this technology. In one or more embodiments of this technology, although in Figure 1 Not shown, but the search user interface (114) may include additional parameters, such as parameters defining the ambiguity of the search. In other words, the ambiguity can be the amount of variation between the provided ideographic character and the ideographic character of the search.
[0026] In one or more embodiments of this technology, the search result (128) is the result of a search. For example, the search result (128) may be a document identifier of a matching document, a document location of a matching document, the actual document, other attributes of the matching document, or any combination thereof. In one or more embodiments of this technology, the search result (128) may include or reference a character-recognized document. Alternatively or additionally, the search result (128) may include a document image that matches a character-recognized document identified by performing a search. The document analyzer may be configured to store search results, either not in the search user interface (114) or otherwise.
[0027] although Figure 1 A schematic diagram of a system in which a user submits a search query, which may be submitted by another application, is shown. In such an embodiment, in addition to or as an alternative to a search user interface, the system may include an application programming interface (API) that includes interfaces for submitting search queries and configuring searches. The API may include interfaces for returning and / or storing the search results using the search query.
[0028] In one or more embodiments of this technology, the character analyzer (116) includes analyzing ideographic characters and identifying the functionality of alternative ideographic characters. In one or more embodiments of this technology, the character analyzer (116) can operate at the phrase level. In other words, the character analyzer (116) can identify variations in ideographic characters based on surrounding context, whereby the surrounding context is a phrase with a set of characters. For example, a phrase can be an entire word, part of a sentence, a sentence, or another surrounding setting of characters. The following... Figure 2 , 3 Section 4 describes the analysis of ideographic characters and the identification of alternative ideographic characters.
[0029] In one or more embodiments of this technology, the OCR engine (118) includes the functionality to perform OCR on a specific document. Performing OCR may include: identifying portions of a document containing characters, removing noise from the document, identifying portions of the document image corresponding to the character (character image) and the portion corresponding to the background of the document based on color variations in the image for each character, and matching the character image to computer-encoded characters. In one or more embodiments of this technology, the OCR engine (118) may invoke or otherwise use the character analyzer (116) to identify variations in the identified characters. For example, based on these variations, the OCR engine (118) may use the character analyzer to determine the ideographic character most likely to match the character image. Furthermore, although in Figure 1 It is not shown in the figure, but the character analyzer (116) may be part of the OCR engine (118).
[0030] The fuzzy search engine (120) includes the functionality to perform fuzzy searches based on user search queries. Different techniques can be used to perform fuzzy searches. For example, a fuzzy search can be performed by generating variations in the search query (e.g., by identifying variations of one or more characters in the search query) and removing characters from the search query. A fuzzy search can be further performed by searching the original search query and variations of the search query. In one or more embodiments of this technology, the fuzzy search engine (120) can invoke or otherwise use a character analyzer (116) to identify variations of one or more ideographic characters in the search query. For example, based on these variations, the fuzzy search engine (120) can perform additional searches to identify additional possible documents. Additional possible documents might be documents with ideographic characters that are incorrectly recognized by the OCR engine. Furthermore, although in Figure 1 It is not shown in the figure, but the character analyzer (116) may be part of the fuzzy search engine (120).
[0031] Although Figure 1The component configurations are shown, but other configurations can be used without departing from the scope of this technology. For example, various components can be combined to create a single component. As another example, the functionality performed by a single component can be performed by two or more components.
[0032] Figure 2 , 3 Figures 4 and 5 illustrate flowcharts according to one or more embodiments of the present invention. While the steps in the flowcharts are presented and described sequentially, those skilled in the art will recognize that some or all of these steps may be performed in a different order, may be combined or omitted, and may be performed in parallel. Furthermore, these steps may be performed actively or passively. For example, according to one or more embodiments of the present invention, some steps may be performed using polling or interrupt-driven methods. For instance, according to one or more embodiments of the present invention, the determination step may not require a processor to process instructions unless an interrupt indicating the presence of a condition is received. As another example, according to one or more embodiments of the present invention, the determination step may be performed by performing a test (e.g., checking a data value to test whether the value matches a test condition).
[0033] Figure 2 A flowchart for creating a stroke ID sequence according to one or more embodiments of the present technology is shown. Figure 2 The steps can be, for example, by Figure 1 The character analyzer in the process is executed. In one or more embodiments of this technology, when executing on characters... Figure 2 At this point, the original ideographic characters have already been recognized. In other words, the ideographic characters can be received via the user interface and are therefore already computer-encoded characters. As another example, computer-encoded characters can be received from the OCR engine after the OCR engine performs the initial determination of the computer-encoded characters corresponding to the image version of the character. For instance, the OCR engine can select initial computer-encoded characters from the character image based on pattern matching.
[0034] In step 201, according to one or more embodiments of the present technology, ideographic characters are divided into strokes. In one or more embodiments of the present technology, the division of characters into strokes can be performed as follows: For each stroke in the stroke map, it is determined whether the stroke is in a character, at least until a division portion is found. In other words, it is determined whether covering a character with a stroke results in the stroke being contained within the character. If the stroke is contained within the character, then the stroke is in the character. If the stroke is not in the character, the next stroke in the stroke map is identified, and it is determined whether the next stroke is in the character. The determination of whether each character is in a character can be performed until a division portion is found. According to one or more embodiments of the present technology, a division portion is found when a character is covered by a stroke or when there are no more unprocessed strokes in the stroke map. In one or more embodiments of the present technology, the strokes in the stroke map are sorted. Sorting creates a determinable division of characters into strokes. That is, according to one or more embodiments of the present technology, for each character, a single division exists for all instances of that character. Furthermore, according to one or more embodiments of the present technology, sorting can also create a single stroke order according to a stroke identifier sequence as described below. In one or more embodiments of this technology, the order may be based, for example, on size and encapsulation. For instance, a stroke with two bends is preferred over a stroke with a single bend. A stroke with a single bend may be preferred over a stroke without a bend. Thus, a stroke with two bends may be analyzed before a stroke with a single bend, and a stroke with a single bend may be analyzed before a stroke without a bend.
[0035] Step 201 can continue processing until the character is segmented into strokes. During processing or after segmentation, the process can proceed to step 203 to create a stroke identifier sequence. In other words, in some embodiments, when a stroke is recognized, the process can proceed to step 203 to add the stroke to the stroke ID sequence. Alternatively, the process can proceed to step 203 after all strokes have been recognized.
[0036] In step 203, according to one or more embodiments of the present technology, stroke identifiers are determined for the strokes of a character. As discussed above, the stroke identifiers correspond to the strokes in the character. According to one or more embodiments of the present technology, the stroke identifiers are identified in the order of mapping.
[0037] In step 205, according to one or more embodiments of the present technology, a stroke ID is appended to the stroke ID sequence. In one or more embodiments of the present technology, a stroke identifier is added to the end of the stroke ID sequence. Thus, for example, the identifier of the first stroke is at the beginning of the sequence. The next identified stroke is added to the end of the sequence to create a new sequence end, and so on.
[0038] In step 207, according to one or more embodiments of the present technology, it is determined whether another stroke exists. If another stroke exists, the process continues back to step 203 to obtain the stroke identifier of the next stroke in the segment. If the other stroke does not exist, the process can continue to the end.
[0039] Figure 2 This is merely one example set of steps for dividing ideographic characters into strokes and adding stroke identifiers to a stroke ID sequence. Other steps and / or sorting may be used without departing from the scope of this technique.
[0040] Figure 3 A flowchart illustrating a fuzzy search performed using variations of ideographic characters according to one or more embodiments of the present technology is shown. Figure 3 The steps can be, for example, by Figure 1 The character analyzer and fuzzy search engine are executed within it.
[0041] Figure 3 The search can be initiated by a user submitting keywords, where the keywords include ideographic characters. Keywords can be submitted directly to the search user interface via a search widget. In other words, the search widget can receive keywords in computer-encoded text used for ideographic characters. In some embodiments, a user submits the name of a document to the search widget and requests a search for similar documents. In such cases, the submitted document may contain some ideographic characters in image format. If some characters are in image format, OCR recognition can be performed, and computer-encoded characters can be recognized. OCR recognition for ideographic characters may include performing the following... Figure 4 The steps described herein. Regardless of who orchestrated the search, Figure 4 This describes a flowchart for processing raw phrases from a raw set of raw characters. The term "raw" is used to refer to a phrase provided by the user or the output of OCR processing. Each raw ideographic character in the set can be... Figure 2 Perform this operation on the character to create a sequence of stroke IDs for that character.
[0042] In step 301, according to one or more embodiments of the present technology, a stroke ID sequence is selected. The selected stroke ID sequence corresponds to an ideographic character in the original set of ideographic characters. In one or more embodiments, the stroke ID sequences of the ideographic characters can be processed in almost any order.
[0043] In step 303, a set of candidate ideographic characters that are within a similarity distance from the stroke ID sequence of the original ideographic character is identified. This identification can be performed as follows. In one or more embodiments of this technology, the similarity distance can be based, for example, the edit distance from the stroke ID sequence of the candidate ideographic character to the stroke ID sequence of the original character. In other words, given two strings X and Y over a set of possible stroke identifiers, the edit distance d(X,Y) is the minimum weighted series of edit operations that transform X into Y. A single edit can be the insertion, deletion, or replacement of a stroke identifier. Insertion of a single stroke identifier is adding the stroke identifier to any position in the stroke ID sequence. Deletion is removing the stroke identifier from any position in the stroke ID sequence. Replacement is replacing a stroke identifier in the original stroke ID sequence with a new stroke identifier.
[0044] For example, consider the case where ten strokes exist, with stroke identifiers 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. In this example, if X=36, inserting stroke identifier 5 generates 356, which is the candidate stroke ID sequence Y. As another example, if X=1368, deleting 8 creates Y=136. As a substitution example, if X=2459, replacing 1 with 2 yields the stroke ID sequence Y=1459. The edit distance from the original stroke ID sequence to each example candidate stroke ID sequence is 1.
[0045] Example candidate stroke ID sequences can be mapped back to candidate ideographic characters. In other words, a candidate ideographic character is an ideographic character corresponding to a candidate stroke ID sequence. Any candidate character that is not part of the ideographic language can be discarded. In other words, if a candidate stroke ID sequence does not map back to a real character, the stroke ID sequence is discarded.
[0046] In one or more embodiments, the number of candidate ideographic characters may be limited by, for example, the edit distance and / or the number of candidate ideographic characters. For example, the original stroke ID sequence can be modified once using insertion, replacement, or deletion to create a candidate stroke ID sequence with an edit distance of 1. Similarly, in the example, the original stroke ID sequence can be modified twice using insertion, replacement, and / or deletion to create a candidate stroke ID sequence with an edit distance of 2. The process can continue until the original stroke ID sequence has been edited N times, where N is the maximum edit distance. In one or more embodiments of this technology, the maximum edit distance N can be configured by the user, set as a system default, or otherwise configured. Each candidate stroke ID sequence can be mapped back to a corresponding candidate ideographic character, thereby discarding ideographic characters that do not exist in the language. From the remaining characters, the first M ideographic characters with the smallest corresponding edit distances are selected, where M is the maximum number of candidate ideographic characters considered.
[0047] In step 305, according to one or more embodiments of the present technology, it is determined whether another stroke ID sequence exists. In other words, according to one or more embodiments of the present technology, it is determined whether another original ideographic character exists in the unprocessed original phrase. If another unprocessed ideographic character exists, the process continues to step 301 to identify another set of candidate characters.
[0048] If another unprocessed ideographic character is not present, the process continues to step 307 to combine the set of candidate ideographic characters and the original ideographic characters into a new phrase. In one or more embodiments of the present technology, the ideographic characters in the new phrase maintain the same order as in the original phrase. In other words, the original ideographic characters in the original phrase are replaced with their candidate ideographic characters to create a candidate phrase, wherein the candidate remains in the same position as the original ideographic character. According to one or more embodiments of the present technology, the number of ideographic characters replaced in the original phrase to obtain the new phrase can be configurable. For example, according to one or more embodiments of the present technology, the number of characters can be one, two, or three.
[0049] In step 309, according to one or more embodiments of the present technology, candidate phrases and original phrases are sent to a search engine. The search engine searches character-recognized documents to identify a set of documents containing the original phrase and / or candidate phrases. In other words, a standard search of character-recognized documents can be performed to identify documents containing any of the search phrases. Therefore, documents with incorrect OCR recognition may be identified and retrieved.
[0050] In step 311, the search engine identifies documents that match any of the search phrases. In other words, the search engine can return a list of document identifiers that match the documents.
[0051] In one or more embodiments of this technology, results can be ranked based on the degree of variation between the original phrase and candidate phrases. For example, the more characters are replaced, the lower the relevance of the results may be. As another example, the greater the edit distance from one or more candidate ideographic characters to their corresponding original ideographic characters, the lower the relevance of the results. Other ranking techniques can be used, such as based on whether the candidate or original phrases are in exactly the same order in the document, whether all characters in the phrases are present in the document, and other criteria.
[0052] In step 313, according to one or more embodiments of the present technology, the document is presented as a search result. For example, the document list may be presented to the user in sequence, such as displayed in a graphical user interface on a display device. Alternatively, the document list may be stored so that the user and / or software application can perform additional processing on the documents. In one or more embodiments of the present technology, the returned document may be a character-recognized document or a document image corresponding to a character-recognized document.
[0053] For example, consider a scenario where a user doing business with China scans multiple receipts and invoices for goods and services purchased from China onto their computer. As the user scans these receipts and invoices, OCR is performed to create a catalog. OCR is performed as a background process hidden from the user. Some Chinese characters, being ideographic, are incorrectly recognized by the OCR engine. However, because OCR is a background process, the user is unaware of these errors. Later, the user wants to find any documents related to their computer purchases. Therefore, the user submits two Chinese characters for the word "computer" as keywords to the search tool. For each of these two Chinese characters, the system creates a sequence of original stroke IDs for both original characters. The system then identifies candidate stroke ID sequences to recognize candidate characters with slightly varying strokes. The system can then create candidate phrases from the candidate characters. The original Chinese phrases and candidate phrases for "computer" are used to search the user's batch of receipts and invoices. In other words, the character-recognized (CR) documents are searched to identify not only CR documents that correctly contain Chinese words for computers, but also CR documents that should have Chinese words for computers but lack them due to incorrect OCR. The document identifier for each document in the search results is identified and used to obtain a matching document image. The matching document image is returned to the user. Therefore, even if a document has undergone incorrect OCR, the user can obtain the correct set of documents from the search. As illustrated in the example, one or more embodiments provide a mechanism for a machine to search for documents that have undergone incorrect OCR.
[0054] Figure 4 A flowchart illustrating an OCR recognition process according to one or more embodiments of the present technology is shown. In other words, Figure 4 A flowchart for OCR used to correct errors is shown. According to one or more embodiments of the present technology, Figure 4 The steps can be performed, for example, by a character analyzer and an OCR engine. OCR can be performed on a document based on an OCR engine. Figure 4 The steps can be performed individually for each set of ideographic characters. Figure 4Thus, the set of ideographic characters corresponds to words, phrases, or sentences in the document. In some embodiments, the process is performed on all sets of ideographic characters. Figure 4 The steps. In other embodiments, this is performed only on the set of syntactically incorrect ideographic characters in the computer-encoded format. Figure 4 The steps. For example, if, after performing OCR, the OCR engine determines that certain sets of ideographic characters are misspelled, have incorrect context, or are otherwise unsuitable for the document, the OCR engine can trigger an action on the recognized sets of ideographic characters. Figure 4 The steps. Alternatively, it can be performed on the entire set of ideographic characters as part of the OCR process. Figure 4 The steps.
[0055] In step 401, a stroke ID sequence is selected. In step 403, a set of characters within a similarity distance of the stroke ID sequence is identified. In step 405, it is determined whether another stroke ID sequence exists for the ideographic character set. If another stroke ID sequence exists, the process can continue to step 401. If another unprocessed stroke ID sequence does not exist, the process can continue to step 407. In step 407, according to one or more embodiments of the present technology, the ideographic character set is combined into a phrase set. This can be done in conjunction with what has been discussed above. Figure 3 Steps 301, 303, 305, and 307 are executed in the same or similar manner. Figure 4 Steps 401, 403, 405, and 407.
[0056] continue Figure 4 In step 409, according to one or more embodiments of the present technology, erroneous phrases are removed from the phrase set. In other words, the system can assume that the original document image has no grammatical errors (including ideographic characters that are meaningless in the context of the document). Therefore, any grammatically incorrect candidate or original phrases are removed.
[0057] In step 411, a phrase is selected from the phrase set according to one or more embodiments of the present technology. (See reference...) Figure 3 The candidate phrases discussed can be sorted based on their edit distance. In other words, the edit distance of a candidate phrase can be created by summing the edit distances of the stroke ID sequences on the ideographic characters from the original phrase to the candidate phrase. The edit distances of the candidate phrases can be sorted to identify the candidate phrase with the fewest edits from the original phrase. The candidate phrase with the fewest edits remaining after the clearing in step 409 can be the phrase selected in step 411.
[0058] In step 413, according to one or more embodiments of the present technology, a character-recognized document is created using the selected phrase as the recognized phrase. In other words, the selected phrase may replace the phrase image of the original phrase, may be added as metadata, may be set as content extracted from the phrase image, or may otherwise be used as the result of OCR performed on the phrase image of the original phrase.
[0059] In step 415, according to one or more embodiments of the present technology, the character-recognized document is stored. The character-recognized document can be stored temporarily or permanently in a data storage repository. Therefore, content can be extracted from the character-recognized document.
[0060] When a document contains ideographic characters, one or more embodiments can allow a machine to correct erroneous OCR. Specifically, while a user using an image of a document can quickly identify the appropriate ideographic characters, noise and other factors in the document image may prevent a machine from correctly recognizing the document. One or more embodiments can be used to correct documents by having the machine recognize variations in ideographic characters that differ by only a few strokes.
[0061] Figure 5.1 , 5.2 Sections 5.3 and 5.4 illustrate examples of one or more embodiments according to the present technology. Figure 5.1 , 5.2 The examples shown in 5.3 are for illustrative purposes only and are not intended to limit the scope of this technique.
[0062] Figure 5.1 An example of a stroke mapping (500) according to one or more embodiments of the present technology is shown. In this example, each row corresponds to a single stroke. The number of sub-strokes in a stroke can vary depending on a particular stroke mapping. Thus, although a stroke (502) has multiple sub-strokes, the stroke (502) is mapped to a single stroke id 5 (504).
[0063] Figure 5.2 An example ideogram (510) illustrating ideographic characters (512) and matching stroke identifier sequences (514) according to one or more embodiments of the present technology is shown. Figure 5.2 As shown, each ideographic character is based on Figure 5.1 The stroke mapping in the character is divided into component strokes. For each component stroke, the stroke ID from the stroke mapping is identified and added to the character's stroke ID sequence. Therefore, each character has a corresponding stroke ID sequence.
[0064] Figure 5.3An example table (520) of phrases (522) and similar phrases (524) according to one or more embodiments of the present technology is shown. In other words, a phrase (522) may correspond to an original phrase, and a similar phrase (524) may correspond to a candidate phrase. As shown, the difference between a phrase (522) and a similar phrase (524) can be very small, such as a single horizontal line in a character. However, because of the small change, there may be a large difference in meaning. One or more embodiments may provide a technique for identifying the variation and using the variation to offset erroneous OCR processing.
[0065] Embodiments of this technology can be implemented on a computing system. Any combination of mobile, desktop, server, embedded, or other types of hardware can be used. For example, such as... Figure 6 As shown, the computing system (600) may include one or more computer processors (602), associated memory (604) (e.g., random access memory (RAM), cache memory, flash memory, etc.), one or more storage devices (606) (e.g., hard disk, optical drive (such as a compact disc (CD) drive or a digital versatile disc (DVD) drive), flash memory stick, etc.), and many other components and functionalities. The computer processor (602) may be an integrated circuit for processing instructions. For example, the computer processor may be one or more cores or microcores of a processor. The computing system (600) may also include one or more input devices (610), such as a touch screen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device. In addition, the computing system (600) may include one or more output devices (608), such as a screen (e.g., a liquid crystal display (LCD), plasma display, touch screen, cathode ray tube (CRT) monitor, projector, or other display device), printer, external storage, or any other output device. One or more of the output devices may be the same as or different from the input devices. The computing system (600) can be connected to a network (612) via a network interface (not shown) (e.g., a local area network (LAN), a wide area network (WAN) (such as the Internet), a mobile network, or any other type of network). Input and output devices can be connected locally or remotely (e.g., via the network (612)) to the computer processor (602), memory (604), and storage device (606). Many different types of computing systems exist, and the aforementioned input and output devices can take other forms.
[0066] Software instructions in the form of computer-readable program code that execute embodiments of the present technology may be stored wholly or partially, temporarily or permanently, on a non-transitory computer-readable medium (such as a CD, DVD, storage device, disk, magnetic tape, flash memory, physical memory, or any other computer-readable storage medium). Specifically, the software instructions may correspond to computer-readable program code that, when executed by a processor, is configured to execute embodiments of the present technology.
[0067] Furthermore, one or more components of the aforementioned computing system (600) may be located at a remote location and connected to other components via a network (612). Additionally, embodiments of this technology can be implemented on a distributed system with multiple nodes, wherein each part of this technology may be located on a different node within the distributed system. In one embodiment of this technology, a node corresponds to a different computing device. Alternatively, a node may correspond to a computer processor with associated physical memory. A node may also alternatively correspond to a computer processor or a microcore of a computer processor with shared memory and / or resources.
[0068] Although the present technology has been described with respect to a limited number of embodiments, those skilled in the art will appreciate, with the benefit of this disclosure, that other embodiments can be conceived without departing from the scope of the present technology as disclosed herein. Therefore, the scope of the present technology should be limited only by the appended claims.
Claims
1. A method for analyzing ideographic characters, the method comprising: Each original ideographic character in the original ideographic character set of the document recognized by character analysis is divided into multiple strokes; For each original ideographic character, each of the multiple strokes is mapped to a corresponding stroke identifier id to create an original stroke id sequence including multiple stroke identifiers; For each original ideographic character, select candidate ideographic characters with candidate stroke ID sequences that are within a threshold distance from the original stroke ID sequence; For each original ideographic character, a set of candidate ideographic characters is created by replacing the original ideographic character with a candidate ideographic character. Remove syntactically incorrect sets of original and candidate ideographic characters from the set of ideographic characters that is composed of the original set of ideographic characters and the candidate set of ideographic characters. Select a set of ideographic characters from the group of ideographic character sets after removal; In a document that has undergone character recognition, the selected set of ideographic characters is used as the result of character recognition performed on the original set of ideographic characters. as well as Stores documents that are identified by their characters.
2. The method according to claim 1, wherein, The original set of ideographic characters is the original phrase, the candidate set of ideographic characters is the candidate phrase, and the group of ideographic character sets is the phrase set.
3. The method according to claim 2, wherein, Selecting a set of ideographic characters from the group of ideographic character sets after the removal includes: The candidate phrase with the smallest candidate phrase edit distance relative to the original phrase is selected to replace the original phrase in the character-recognized document, wherein the candidate phrase edit distance is the sum of the edit distances of the candidate phrase to the stroke ID sequence of the ideographic characters of its original phrase.
4. The method according to claim 1, wherein, Using the selected set of ideographic characters as the result of character recognition performed on the original set of ideographic characters further includes: Replace the original set of ideographic characters with the selected set of ideographic characters.
5. The method according to claim 1, wherein, Using the selected set of ideographic characters as the result of character recognition performed on the original set of ideographic characters further includes: Add the selected set of ideographic characters as metadata.
6. The method according to claim 1, wherein, Using the selected set of ideographic characters as the result of character recognition performed on the original set of ideographic characters further includes: Set the selected set of ideographic characters to the content extracted from the image of the original set of ideographic characters.
7. The method according to claim 1, wherein, The partitioning is performed only on the original ideographic character set that is syntactically incorrect.
8. The method according to claim 1, wherein, The partitioning is performed on the set of all original ideographic characters included in the character-recognized document.
9. The method according to claim 1, wherein, The candidate ideographic characters to be selected include: Insert the stroke IDs into the original stroke ID sequence to create a candidate stroke ID sequence; Candidate ideographic characters are identified based on the candidate stroke ID sequence.
10. The method according to claim 1, wherein, The candidate ideographic characters to be selected include: Remove stroke IDs from the original stroke ID sequence to create a candidate stroke ID sequence; Candidate ideographic characters are identified based on the candidate stroke ID sequence.
11. The method according to claim 1, wherein, The candidate ideographic characters to be selected include: Replace the original stroke ID in the original stroke ID sequence with the candidate stroke ID to create a candidate stroke ID sequence; Candidate ideographic characters are identified based on the candidate stroke ID sequence.
12. A computing system, comprising: A document analyzer is configured to perform the method for ideographic character analysis according to any one of claims 1-11; as well as A data store connected to the document analyzer stores character-recognized documents.
13. The computing system according to claim 12, wherein, Document analyzers include: An optical character recognition (OCR) engine is configured to perform OCR on a document to produce a character-recognized document; and The character analyzer is configured to analyze the original ideographic characters and identify candidate ideographic characters.
14. The computing system according to claim 13, wherein, The character analyzer is part of the OCR engine.
15. The computing system according to claim 12, wherein, The document analyzer is further configured to provide search results in response to the original search phrase used as a search query.
16. The computing system according to claim 15, wherein, Search results are provided through the following steps: Divide the original ideographic characters included in the original search phrase used to perform the document search into multiple strokes; Map each of the multiple strokes to a corresponding stroke identifier id to create an original stroke id sequence that includes multiple stroke identifiers; Select candidate ideographic characters that have candidate stroke ID sequences that are within a threshold distance from the original stroke ID sequence; A new phrase is created by replacing the original ideographic character with the candidate ideographic character in the original search phrase. The original search phrase and the new phrase are used to query a database storing character-recognized documents to obtain documents in the stored character-recognized documents that match the original search phrase and documents that match the new phrase, wherein at least some of the stored character-recognized documents have misidentified original ideographic characters. Identify multiple document identifiers for documents matching the original search phrase and documents matching the new phrase; and Present document images that match the plurality of document identifiers.
17. A non-transitory computer-readable medium for ideographic character analysis, the non-transitory computer-readable medium comprising computer-readable program code, which, when executed by a computer, causes the computer to perform the method for ideographic character analysis according to any one of claims 1-11.