SYSTEM AND METHOD FOR AUTOMATIC PREPARATION AND SEARCHING OF SCANNED DOCUMENTS

Abstract: A system and a method for converting microfilm data in a digital format for publishing through a network such as the Internet. First, an image is created of the microfilm, preferably in the TIFF format. Next, the words of the image are recognized through a process of OCR (optical character recognition), with an associated probability of error. The image data can then be converted into a digital format for publication, for example as XML data. Preferably, the user is able to perform a keyword search on the digital format data. More preferably, the keyword search is an adaptive search.

Description: SYSTEM AND METHOD FOR AUTOMATIC PREPARATION AND SEARCHING OF SCANNED DOCUMENTS FIELD OF THE INVENTION The present invention relates to a system and a method for the automatic preparation and searching of scanned documents such as microfilm or paper, and in particular, to such a system and method in which the probability of errors occurring during the preparation of the scanned documents is incorporated into the searching process. BACKGROUND OF THE INVENTION As the Internet grows, many different types of Web sites are becoming connected and therefore are available to users. These Web sites may contain information which is of interest to users, such as news for example. Indeed, many Internet users today obtain at least a portion of their news information from Web sites which publish such information. Traditional newspapers and other sources of news have therefore been forced to embrace the new media which is represented by Web pages. Currently, many traditional (print) newspapers have Web sites which contain at least a portion of the news and information which is available through the print version of the newspaper. However, managing such Web sites can be cumbersome, since currently there is no simple mechanism for converting data which is available as the printed newspaper into data which can be made available through the Web site. The problem is particularly acute for publishing archived material, which is currently stored in microfilm. Newspaper publishers, libraries and other repositories have huge amounts of information which is stored on microfilm. Such microfilm documents represent a huge asset, which cannot currently be properly used. The advantage of microfilm is that it preserves the appearance of the newspaper or other paper document, as well as the data contained therein. The disadvantage, of course, is that searching through microfilm archives for the information of interest is tedious and difficult. Furthermore, microfilm can only be read at one physical location, since the data cannot be transmitted over a network, for example. Thus, microfilm has a number of significant problems. Attempts to provide a solution unfortunately have a number of drawbacks. For example, scanning the microfilm documents in order to be able to provide the data through a computer results in a number of errors during the process of OCR (optical character recognition). This process is required for the textual data to be electronically searchable; however, the resultant errors cause the final text to be difficult to search accurately. Correcting these errors manually is a tedious and expensive process, yet currently if these errors are not corrected, the resultant text may not be searchable. A further attempt to provide searches for text with errors is the "fuzzy search" process, in which a requested keyword and variations on that keyword are all searched simultaneously. Unfortunately, this search method is ineffective for large databases, since too many irrelevant hits are retrieved. A more useful solution would preserve the desirable aspects of microfilm data, including the preservation of the appearance of the newspaper or other paper document, while converting this data into a digital form. This conversion process should be highly accurate, while enabling errors to either corrected or to be compensated in the process, particularly for the process of OCR (optical character recognition). The converted digital form would then be accessible through a network, such as the Internet for example, thereby enabling users to view the data from a remote location. Furthermore, such a solution should be easy to perform automatically, without requiring extensive manual intervention. Unfortunately such a solution is not currently available. SUMMARY OF THE INVENTION The background does not teach or suggest a system and a method for converting microfilm data to a digital format automatically and accurately, such that errors in the process of OCR (optical character recognition) are considered at later stages in the process of publishing the microfilm data. The background art also does not teach or suggest a system and method for including the probability of occurrence for such errors in order to assist searches of the converted material. The background art also does not teach or suggest a system and method for enabling users to access the converted digital data through a network such as the Internet. The present invention overcomes these deficiencies of the background art by providing a system and a method for converting microfilm data in a digital format for publishing through a network such as the Internet. First, an image is created of the microfilm, preferably in the TIFF format. Next, the words of the image are recognized through a process of OCR (optical character recognition), with an associated probability of error. The image data can then be converted into a digital format for publication, for example as XML data. Preferably, the user is able to perform a keyword search on the digital format data. More preferably, the keyword search is an adaptive search. In order to facilitate the performance of such a search, the recognized words from the OCR process are indexed with the associated probability of error. Next, the user enters a keyword. The keyword is compared to the indexed words according to the probability of error. If the difference between the keyword and an indexed word is less than the probability of error, then the indexed word is considered to be a match for the keyword. According to the present invention, there is provided a method for performing an adaptive search, the method comprising: performing OCR (optical character recognition) on an image to obtain at least one recognized word and a probability of error for recognizing the recognized word; indexing the at least one recognized word with the probability of error to form an indexed word; entering a search request, the search request including at least one keyword; and comparing the keyword to each indexed word according to the probability of error, such that if a difference between the keyword and the indexed word is less than the probability of error, the indexed word is considered to be a match for the keyword. According to another embodiment of the present invention, there is provided a method for searching microfilm data in a digital format, the method comprising: creating a digital image of the microfilm data; performing OCR (optical character recognition) on the digital image to obtain at least one recognized word and a probability of error for recognizing the recognized word; indexing the at least one recognized word with the probability of error to form an indexed word; entering a search request, the search request including at least one keyword; and comparing the keyword to each indexed word according to the probability of error, such that if a difference between the keyword and the indexed word is less than the probability of error, the indexed word is considered to be a match for the keyword. Hereinafter, the term "network" refers to a connection between any two or more computational devices which permits the transmission of data. Hereinafter, the term "computational device" includes, but is not limited to, any type of computers operating according to any type of hardware and/or operating systems; or any device, including but not limited to: laptops, hand-held computers, PDA (personal data assistant) devices, cellular telephones, any type of WAP (wireless application protocol) enabled device, wearable computers of any sort, which has an operating system. For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computational device according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java. In addition, the present invention could be implemented as software, firmware or hardware, or as a combination thereof. For any of these implementations, the functional steps performed by the method could be described as a plurality of instructions performed by a data processor. Hereinafter, the term "Web browser" refers to any software program which can display text, graphics, or both, from Web pages on World Wide Web sites. Hereinafter, the term "Web server" refers to a server capable of transmitting a Web page to the Web browser upon request. Hereinafter, the term "Web page" refers to any document written in a mark-up language including, but not limited to, HTML (hypertext mark-up language) or VRML (virtual reality modeling language), dynamic HTML, XML (extensible mark-up language) or XSL (XML styling language), or related computer languages thereof, as well as to any collection of such documents reachable through one specific Internet address or at one specific World Wide Web site, or any document obtainable through a particular URL (Uniform Resource Locator). Hereinafter, the term "Web site" refers to at least one Web page, and preferably a plurality of Web pages, virtually connected to form a coherent group. Hereinafter, the phrase "display a Web page" includes all actions necessary to render at least a portion of the information on the Web page available to the computer user. As such, the phrase includes, but is not limited to, the static visual display of static graphical information, the audible production of audio information, the animated visual display of animation and the visual display of video stream data. BRIEF DESCRIPTION OF THE DRAWINGS The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein: FIG. 1 is a schematic block diagram of an exemplary system according to the present invention; FIG. 2 is a flowchart of an illustrative method according to the present invention; and FIG. 3 shows two exemplary screenshots for searching through a newspaper page, both according to the background art (Figure 3A) and according to the present invention (Figure 3B). DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is of a system and a method for converting microfilm data in a digital format for pubHshing through a network such as the Internet. First, an image is created of the microfilm, preferably in the TLFF format. Next, the words of the image are recognized through a process of OCR (optical character recognition), with an associated probability of error. The image data can then be converted into a digital format for publication, for example as XML data. Preferably, the user is able to perform a keyword search on the digital format data. More preferably, the keyword search is an adaptive search. Optionally and more preferably, the search is performed through words that are labeled with XML tags, which most preferably are provided as the XML data. The XML tags most preferably indicate such information as the probability of error associated with each word. In order to facilitate the performance of such a search, the recognized words from the OCR process are preferably indexed with the associated probability of error, for example through the previously described XML tags. Next, the user enters a keyword. The keyword is compared to the indexed words according to the probability of error. If the difference between the keyword and an indexed word is less than the probability of error, then the indexed word is considered to be a match for the keyword. The principles and operation of the present invention may be better understood with reference to the drawings and the accompanying description. Referring now to the drawings, Figure 1 is a schematic block diagram of a system according to the present invention for automatically converting microfilm data to a digital format. Although the present invention is explained with regard to publishing newspaper data, it is understood that this is for the purposes of explanation only and is without any intention of being limiting. As shown, a system 10 features a microfilm data source 14 which contains archived microfilm data. An associated microfilm publisher 16 according to the present invention converts the microfilm data into a digital format, by converting the microfilm data to digital images. Optionally and preferably, the digital format data is preprocessed by microfilm publisher 16 in order to clean the data, for example in order to improve image quality, crop the black adages and straighten the images. Preferably, the digital format data is in the TIF format. Data which is in a digital format can then optionally and more preferably be converted to a basic internal format. The basic internal format can then more preferably be converted to a variety of different final formats for publication. Therefore, preferably the digital format data is only converted to a single format before publication in a variety of formats, in order to increase the efficiency of the conversion process. As shown, the internal format is optionally and preferably XML, although substantially any other type of mark-up language could also be used. The conversion process is preferably performed by an XML distiller module 18. XML distiller module 18 first performs optical character recognition (OCR) on the data in order to be able to recognize the text in the images. The recognition of text is important for enabling free text searching and indexing of the newspaper data. The process of performing OCR preferably includes the step of determining a probability of an error in the recognition of a word of the text, as described in greater detail below with regard to Figure 2. Next, XML distiller module 18 preferably performs intelligent structure analysis, in order to be able to recognize and define the structures and objects contained in the newspaper data, particularly with regard to each page of the newspaper. Examples of such structures and objects include, but are not limited to, articles, advertisements, titles, and so forth. The process of intelligent structure analysis enables the newspaper data to be converted to a series of objects, for more efficient search and retrieval through the Internet or other network. After the process of intelligent structure analysis has been completed, XML distiller module 18 preferably performs XML encoding of the object data. This process results in a set of enhanced, structured files which combine the original image of the data, preferably in the TIF format as previously described, with the text and XML information. Each such file thus preferably maintains the visual aspects of the newspaper layout, while enabling far greater functionality to be available through the Web page version of the newspaper. Once the data is ready in the internal published format, the data is preferably stored in a repository 20 according to the present invention. Repository 20 is preferably a structured database, which contains the internal format data for publication in a final format. Optionally and more preferably, the internal format data is published in a plurality of different final formats by a publication server 22. These different formats may optionally include, but are not limited to, any one or more of a mark-up language document such as a document in XML or HTML for example; a wireless-enabled document such as a WML document for example; the ASCII text format; and a format which is suitable for publication through a technology such as Web TV for example. Optionally and more preferably, a director module 24 is able to manipulate the content of the data which is stored in repository 20, for example by editing the data. In addition, director module 24 is preferably able to define style sheets and other layout information for the different formats which are published through publication server 22. Thus, director module 24 most preferably enables the internal format data to be adjusted automatically for publication in each final publication format, in order to most advantageously display the data in each type of format. A user client 26 can then be used to display the digital format data to the user, for example for the user to be able to read a page of the newspaper as a displayed image. The user can also enter a request for a search through user client 26, including at least one keyword. The search request is then sent to a search engine 28, which performs the adaptive search as described in greater detail below. Figure 2 is a flowchart of an exemplary method according to the present invention for obtaining the probability of an error in the recognition of a word during OCR, and the use of this probability for performing an adaptive keyword search of the converted XML data. In the first step, the process of OCR is performed on the image data, in order to recognize individual words of the text from the original newspaper. The process of OCR obtains three types of data: the ASCII text of the recognized words; coordinates for each character and hence for each word; and the probability of an error occurring in the recognition of each character. The process of OCR itself is well known in the art, and may optionally be performed with a commercially available software product (see for example FireReader™ of ABBYY, Russia, or TextBridge™ of Xerox Corp., USA). The probability of an error occurring in the recognition of each character is used to determine the probability of the overall error in the recognition of the word. Such a probability is optionally and preferably determined to be in the range of 1-256 for each word. In step 2, this probability is converted into a tag, which can be associated with the XML data for that word. More preferably, the error probability is converted to a degree of error according to the number of suspected erroneously identified characters, the probability of such an error, and the overall word length. Algorithms for the calculation of the degree of error may vary. For example, the average word error probability can optionally be calculated as n AverageErrorProbability=( pi)/n, i in which y^ is the probability of the error for the i th character of the word, varying from 0 to 1; and n is the number of characters in the word. The AverageErrorProbability can vary from 0 to 1, in which a zero value means that the word has no erroneous characters. Assume that the ErrorDegree variable can have 4 fuzzy or categorical values: NoError, SmallError, MiddleError, LargeError. Then the following pseudo-code can be used to calculate the degree of error: if(AverageErrorProbability=0) FuzzyError= NoError; //good words else if(n<= 3) ErrorDegree = LargeError; // short words with errors becomes LargeError else if(n=4) //calculate error probability for fourth length words { if(AverageErrorProbability<0.1) ErrorDegree= SmallError; else if(AverageErrorProbability<0.2) ErrorDegree= MiddleError; else ErrorDegree= LargeError; } else //calculate error probability { if(AverageErrorProbability<0.15) ErrorDegree= SmallError; else if(AverageErrorProbability<0.3) ErrorDegree= MiddleError; else ErrorDegree= LargeError; ; Steps 1 and 2 rely on the OCR results to define the error probability. Optionally and more preferably, an internal OCR dictionary is used to test each word obtained from the OCR process which has been determined to be without error, or least to have an error below a certain probability. If this word is not found in this dictionary, then the error probability for that word is defined according to the number of suggested dictionary words and the word length, performed similarly to the process described above. This type of error, in which the OCR does not correctly assess the error probability for a particular word, has been found by the inventors of the present application to occur for at least part of the text after the OCR process. A further description of a preferred embodiment of this process is given below. In step 3, the words obtained from the conversion of newspaper data are indexed by a search engine, in order for these words to be located during a keyword search. Preferably, all of the words are so indexed. In step 4, each indexed word is associated with the probability of the error in recognition which was previously obtained, preferably through the use of the XML tag. The conversion of the error probability to one of a limited set of values enables the adaptive search to more easily use the error information, as described in greater detail below. In step 5, the user enters a search to the search engine for at least one keyword. In step 6, the search engine preferably converts each keyword into a set of adaptive search words, which are words differing from the keyword by at least one letter. In the following example, four such different sets are produced for the purposes of explanation only and without any intention of being limiting. These four sets are as follows: search only no error words without any fuzzy search (fuzzy range 0); search only small error words with fuzzy rangel; search only middle error words with fuzzy range2; and search only large error words with fuzzy range3. In step 7, these different sets of adaptive keywords are searched according to the probability of error. In step 8, the results are presented to the user through the client, as described with regard to Figure 1. Optionally, the recognized word is displayed on the image, but may also be displayed separately from the image. In either case, optionally and more preferably, the recognized word is displayed either as the text obtained from OCR, and/or alternatively as a portion of the image itself. The advantage of the present invention is that it specifically ties the "fuzziness" of the search to the amount of error which occurs during the OCR process. Other fuzzy search methods which are known in the background art have the drawback of obtaining too many unrelated results, as these methods simply accept any indexed word which differs from the keyword by up to a certain number of letters, even if the process of OCR was performed accurately for that indexed word. By contrast, the present invention would only accept such an indexed word if the degree of difference from the keyword falls within the probability of an error during the OCR process. Thus, only relevant search results are obtained and presented to the user. Figure 3A shows exemplary screenshots of background art software, without the advancing searching facility of the present invention. Figure 3B shows exemplary screenshots of the software of the present invention. Briefly, Figure 3A shows that the background art software cannot handle mistakes or errors in the scanned document, since errors such as misspelling "Henry" as "Hehry" can prevent the software from locating the desired search word "Henry". By contrast, in Figure 3B, the software of the present invention is able to locate the word "Henry" even when misspelled as "Hehry", as shown by the underlined located search words. The previously described method for determining the probability of error for words derived from the OCR process is optionally and preferably implemented for the Verity search engine, Verity Inc, USA. Words which are considered to be "suspicious", or to have a probability of error after the OCR process, may have at least one, but typically both of the following features: the OCR process detected at least one suspicious character within this word; and/or the word cannot be found in the dictionary. For both the previously described implementations of the present invention and the current implementation, the OCR dictionary may optionally be implemented as a look-up table, hash table or any suitable implementation. These suspicious words are preferably labeled with special tags in the XML output as previously described. Unfortunately, the search engine of Verity cannot handle many error tags, for example more than a few hundred for one document, while searching. In order to overcome this limitation, preferably a special letter is placed before such a suspicious word to indicate that this word is suspicious. For example, the underscore could be used for this purpose, such as "_proteit" for "protect". The <typo> command of the Verity search engine may optionally be used to search through all words, but more preferably is only used to search through these previously labeled, suspicious words for greater accuracy. This command enables words to be located which differs by one or two characters from the word being searched. Word searches may optionally be used to search for either the precise word or a related grammar form, such as a verb tense for example, through the Verity search engine. However, this search engine does not support searches for related grammar forms for suspicious words. Therefore, the method of the present invention optionally also includes the production of related grammar forms for these suspicious words. A search may also optionally be performed by combining searches through regular (non- suspicious) words and <typo> command searches through suspicious words. For example, for the word "president", the search request would be constructed as follows: <TYPO>_president <OR> <STEM> president. This search would locate such words as president, presidential, presidents etc within "normal" words and words like prosident among suspicious words. Note that the presence of the underscore before the word '_president' in the search expression preferably prevents the Verity search engine from using the <typo> command to search within "normal" words. The <STEM> operator may also optionally be added when searching through these words. The <Stem> operator supports searching according to different grammatical forms of the searched word according to the language of the search. For example, searching for "<STEM>accident" in the English language would return words such as 'accidental', 'acidents', 'accidentally' and so forth, together with the origin word 'accident'. These commands may optionally be combined with modifiers and/or the wildcard operator. For example, the <STEM> operator may optionally be combined with the <CASE> command, which supports searching for words written in different cases. For example, each of the words Accident, ACCIDENT, accident would all be found with the command "search <CASE>accident". Similarly, the <TYPO> operator may optionally be combined with the <CASE> command if <CASE> is placed first in the operand. In addition, the user may wish to combine multiple search commands in the search expression with <AND> <OR> and proximity operators <NEAR> <NEAR/N> <PARAGRAPH> <PHRASE> <SENTENCE>. The present invention optionally and preferably enables these commands to be used for suspicious words alone and/or for regular and suspicious words together in a single search, such that the user most preferably does not need to specify a type of words for searching. Examples of preferred transformations for these search expressions are given in the table below. While the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention may be made.

Claims: WHAT IS CLAIMED IS: 1. A method for performing an adaptive search, the method comprising: performing OCR (optical character recognition) on an image to obtain at least one recognized word and a probability of error for recognizing said recognized word; indexing said at least one recognized word with said probability of error to form an indexed word; entering a search request, said search request including at least one keyword; and comparing said keyword to each indexed word according to said probability of error, such that if a difference between said keyword and said indexed word is less than said probability of error, said indexed word is considered to be a match for said keyword. 2. The method of claim 1, wherein indexing said at least one recognized word includes converting said probability of error to a degree of error, said degree of error being selected from a limited set of values, such that said degree of error is compared to said difference when comparing said keyword to each indexed word according to said probability of error. 3. The method of claim 2, wherein entering said search request further includes preparing a set of adaptive search words, such that each adaptive search word differs from said keyword according to said degree of error, and wherein each adaptive search word from said set of adaptive search words is compared to each indexed word if said degree of error for said indexed word is greater than said difference for said adaptive search word. 4. The method of claim 3, wherein said degree of error is calculated at least partially according to a number of suspected erroneously identified characters and a probability of an error resulting thereof. 5. The method of claim 4, wherein said degree of error is also calculated according to a length of said recognized word. 6. The method of claim 5, wherein said degree of error is calculated as: in which p t is a probability of the error for an i th character of said recognized word, varying from 0 to 1; and n is the number of characters in said recognized word. 7. The method of claims 5 or 6, wherein said degree of error is converted to one of a plurality of categorical values. 8. The method of any of claims 1-7, wherein said probability of error is at least partially determined by comparing said recognized word to a dictionary, such that said probability of error is at least adjusted according to whether said recognized word is found in said dictionary. 9. The method of claim 8, wherein if said recognized word is not found in said dictionary, said probability of error is at least partially calculated according to a number of similar words identified in said dictionary. 10. The method of any of claims 1-9, wherein said OCR also produces coordinates for said recognized word in said image. 11. The method of claim 10, further comprising: displaying said recognized word in said image according to said coordinates. 12. The method of claim 10, further comprising: displaying said recognized word separately from said image. 13. The method of claims 11 or 12, wherein said recognized word is displayed according to said OCR. 14. The method of claims 1-13, wherein only said recognized word is displayed as a portion of said image. 15. The method of any of claims 1-14, wherein each indexed word is labeled with an XML tag for indicating said probability of error. 16. A method for searching microfilm data in a digital format, the method comprising: creating a digital image of the microfilm data; performing OCR (optical character recognition) on said digital image to obtain at least one recognized word and a probability of error for recognizing said recognized word; indexing said at least one recognized word with said probability of error to form an indexed word; entering a search request, said search request including at least one keyword; and comparing said keyword to each indexed word according to said probability of error, such that if a difference between said keyword and said indexed word is less than said probability of error, said indexed word is considered to be a match for said keyword. 17. The method of claim 16, wherein the microfilm data is from a newspaper. 18. A method for performing an adaptive search, the method comprising: recognizing at least one recognized word, said recognized word having an associated probability of error for recognizing said recognized word; indexing said at least one recognized word with said probability of error to form an indexed word; entering a search request, said search request including at least one keyword; and comparing said keyword to each indexed word according to said probability of error, such that if a difference between said keyword and said indexed word is less than said probability of error, said indexed word is considered to be a match for said keyword.

Inventors: SHTEINVIL EMIL, STERN YONATAN PESACH, SHTEINVIL, EMIL, STERN, YONATAN, PESACH
Applicants: OLIVE SOFTWARE INC, SHTEINVIL EMIL, STERN YONATAN PESACH, OLIVE SOFTWARE INC., SHTEINVIL, EMIL, STERN, YONATAN, PESACH
Application year: 2001
Main classification: G06F17
IPC codes: G06K9