European language processing machine with a spelling correction function

Abstract: A European language processing machine equipped with a spelling correction function has an input device (1) for inputting characters in European language, a memory device (2) for storing the characters inputted by the input device (1), a dictionary device (4) having a main dictionary and at least one correction table to be used for correction of incorrectly inputted characters, a computer device (5) for judging whether or not a character string stored in the memory device (2) is contained in the main dictionary (4) and for selecting a correct word through one character addition or one character replacement with respect to an inputted and incorrectly spelt word, and an output device (3) for outputting the correct word. In this machine, when it is judged that the character string stored in the memory device (2) is not con­ tained in the main dictionary (4), an operator's intended word can be obtained within a rela­ tively short time through one character addition or one character replacement in accordance with the correction table. When the character string obtained after correction is contained in the main dictionary (4), the character string is outputted as the correct word from the output device (3).

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention generally relates to a documentation machine, and more particularly, to a latin alphabet language processing machine equipped with a spelling correction function which is capable of selecting usually at least one correct word candidate through one character replacement or one character addition. Description of the Prior Art Conventionally, in documentation machines such as computer systems, word processor, typewriters or the like dealing with information by words in latin alphabet languages, for example, in English, there is normally provided a dictionary in order to check whether or not inputted English words or the like are free from errors in spelling. Moreover, at present, there has been further added another function to provide candidates for correct words at the side of the system, besides the function for merely indicating incorrectly spelt words. To this end, a practice most frequently employed at the current stage is a combination of the following four processings. (1) 1 character replacement: Ex. stataon → station (Replacement of "a" by "i") (2) 1 character deletion: Ex. statioon → station (Deletion of 1 character "o") (3) 1 character addition: Ex. staton → station (Addition of "i" between "t" and "o") (4) Neighboring character inversion: Ex. statre → stater (Inversion of "re" to "er") In the aforementioned conventional latin alphabet language processing machines, one character addition or one character replacement is done in a manner such that each of alphabets "a" through "z" is added or used for replacement merely in order in providing a correct word candidate with respect to an inputted and incorrectly spelt word. Accordingly, it is necessary to repeatedly check whether or not a given word is correct or to repeatedly add the next alphabet or use it for replacement, until the correct word is given. This is disadvantageous in that the selection of the correct word needs a lot of time. A latin alphabet language processing machine having the features of the preamble of appended claim 1 is known from an article by J. L. Peterson in Communications of the ACM, Vol. 23, No. 12, Dec. 1980, New York, US, having the title "Computer Programs for Detecting and Correcting Spelling Errors". This apparatus uses the above mentioned modifications to correct a word, however in another sequence, i. e. inversion, subtraction, addition, substitution. By applying these four modification rules, a list of all character strings is produced which are candidates for the intended character string. The list (which may contain a single candidate) is presented to the user, and the user can select among the candidates, to output the selected candidate on the output means. Peterson further describes the possibility of creating a matrix giving the probability p ij of reading a character i when the correct character is j. This matrix can be used to indicate which characters should be considered when an input letter is to be corrected. SUMMARY OF THE INVENTION It is the object of the present invention, as claimed to provide a latin alphabet language processing machine equipped with a spelling correction function, which machine is capable of selecting a correct word within a relatively short period of time. The latin alphabet language processing machine according to the invention is defined by the teaching of appended claim 1. It differs from the just discussed machine in that it does not merely use one character after the other of the alphabet, when substituting, deleting or adding a character or by inverting characters but that it uses for these modifications a probability table indicating the frequency of appearance of neighbouring characters and that it uses this table from highest to lowest probability in the processes of substituting, deleting, adding, and inverting characters. E. g. the letters "e" and "s" have the highest and second highest, respectively, probability of being placed behind "p", whereas their order within the alphabet are the places 5 and 19, respectively. Therefore, if e. g. a wrong sequence would be "pg", and the correct sequence would be "ps", this correct sequence can be found with the invention already in the second trial, whereas it can be found in the prior art apparatus only in the 19th trial. BRIEF DESCRIPTION OF THE DRAWINGS This and other objects and features of the present invention will become more apparent from the following description taken in conjunction with the preferred embodiment thereof with reference to the accompanying drawings, throughout which like parts are designated by like reference numerals, and wherein; Fig. 1 is a block diagram showing a general construction of a latin alphabet language processing machine a with a spelling correction function according to one preferred embodiment of the present invention; Fig. 2 is a flow-chart for explaining correction processing in the machine of Fig. 1; Fig. 3 is a probability table which shows the frequency of appearance of arbitrary two characters as neighboring characters and is used during the processing for 1 character addition; and Fig. 4 is another probability table which shows the frequency of appearance of a character candidate in place of an incorrectly inputted character and is used during the processing for 1 character replacement. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to the drawings, there is shown in Fig. 1 a block diagram showing a fundamental construction of a documentation machine or latin alphabet language processing machine with a spelling correction function according to one preferred embodiment of the present invention. This machine is generally equipped with an input device 1 in the form of a keyboard, tablet device, optical input device such as an optical character reader (OCR), magnetic tape, verbal input device or the like for inputting word information data in the latin alphabet language, a memory device 2 such as a core memory, IC memory, magnetic disc or the like, connected with the input device 1 for storing character information inputted from the input device 1, an output device 3 in the form, for example, of a printer, display unit, magnetic tape, magnetic disc or the like, coupled with the memory device 2 for outputting character word data after editing, stored in the memory device 2, a dictionary device 4 connected to the memory device 2 and having a main dictionary region, a user dictionary region and a segmentation table for supplying useful information with respect to inquiry of spelling information for characters and word data stored in the memory device 2, and a control device 5 constituted, for example, by a computer and coupled with the input device 1, memory device 2, output device 3 and dictionary device 4 for controlling transmission and reception of signals therebetween, and also for effecting correction processing of character strings for the input words to be described later. The control device 5 is provided with a character discrimination means, a character addition and discrimination means and a character replacement and discrimination means. The segmentation table referred to above memorizes characters or character strings of correct candidates to correspond to input data of character strings or characters to be mis-read due to 1 character cut or 2 character contacting, respectively. The 1 character cut is a phenomenon in which one character is incorrectly read as two characters whereas the 2 character contacting is a phenomenon in which two characters are incorrectly read as one character. Referring also to Fig. 2, there is shown a flow-chart for explaining the correction processing of the latin alphabet language processing machine with the spelling correction function according to the present invention as described so far. It is judged at step s1 whether or not a character string of an input word stored in the memory device 2 is contained in the main dictionary. When this character string is contained in the main dictionary, the character string is regarded as correct in spelling and stored in the memory device 2 so as to be further outputted from the output device 3. Otherwise, the procedure proceeds to step s2. It is judged at step s2 whether or not the character string is contained in the user dictionary. When the character string is contained in the user dictionary, the character string is regarded as correct in spelling and stored in the memory device 2 so as to be further outputted from the output device 3. Otherwise, the procedure proceeds to step s3. In the above case, the dictionary structure may be of any known methods such as the method employing Hash practice, method using the branch system, and the dictionary constructing method of the old Word Star of Micro Prob Co. (i.e., the method based on the two-dimensional index in which capital letter data are horizontally arranged in the order of "A" to "Z", with the character numbers constituting words being vertically arranged), etc. If the character string is not registered in such main dictionary or user dictionary, the four processings as described earlier are carried out at steps s3, s4, s5 and s6. More specifically, when it is judged at steps s1 and s2 that a certain word (length: ℓ, constituent characters: C=C₁...C i ...C ℓ ) is not present in both the main and user dictionaries, a correct word candidate (correctly spelt word) can be newly derived by the following processings. (1) 1 character replacement: A character C i located at a position (i) (1≦i≦ℓ) is replaced by another character C* other than the character C i . (2) 1 character deletion: A character C i located at a position (i) (1≦i≦ℓ) is deleted. (3) 1 character addition: An imaginary character C* is inserted between neighboring two characters C i and C i+1 located at positions (i) and (i+1) (0≦i≦ℓ), respectively. (4) Neighboring characters inversion: Neighboring two characters located at positions (i) and (i+1) (1≦i≦ℓ-1) are inverted. Thereafter, it is judged whether or not each character string obtained in this way is present in the main dictionary or user dictionary. If the character string is present in the main dictionary or user dictionary, it is stored in the memory device 2. If not, the procedure proceeds to step s7, at which the character string can be obtained more accurately by reference to the segmentation table stored in the dictionary device 4. More specifically, in the segmentation table, characters and character strings of correct candidates are so stored as to correspond to the character strings and characters to be mis-read due to the 1 character cut and the 2 character contacting, respectively. Each word which has been mis-read is divided into individual characters or character strings. When these characters or character strings include the same ones as the characters or character strings to be mis-read which have already been registered in the segmentation table, the mis-read characters or character strings are replaced by the character strings or characters of correct candidates corresponding thereto so that a correct word candidate may be selected. Thereafter, it is judged whether or not this correct word candidate is present in the main dictionary or user dictionary. If the correct word candidate is present in the main dictionary or user dictionary, it is outputted as a correct word into the memory device 2 and output device 3. In this way, the correct word can be obtained more accurately. Fig. 3 depicts a probability table according to a first embodiment of the present invention, which indicates the frequency of appearance of a character appearing immediately after a specified character. This table is used during the processing of 1 character addition to be carried out at step s5. The probability table is stored in the dictionary device 4 and has a leftmost row in which all alphabets (a) through (z) are vertically lined up in order. This table also has a topmost line in which all alphabets (a) through (z) are horizontally lined up in order. In an intersection between a line of a character, for example, (p) in the leftmost row and a row of a character, for example, (a) in the topmost line, a figure (27) is entered which indicates the frequency of the character (a) in the topmost line appearing immediately after the character (p) in the leftmost row. It is to be noted here that the frequencies of appearance of the other characters (a) to (o) and (q) to (z) in the leftmost row is omitted. If the word "apple" has erroneously been read in and a character string "appe" has been inputted, the character addition and discrimination means in the control device 5 deals with this kind of error as follows in selecting a suitable character to be inserted after a character string "app". According to the table of Fig. 3, the frequencies of characters (a), (e), (h), (i), (l), (m), (o), (p), (r), (s), (t), (u) and (y) appearing after the character (p) are 27, 35, 5, 8, 20, 1, 25, 10, 32, 3, 6, 7 and 1, respectively. In these characters, the character (e) is the highest one in the frequency of appearance. Accordingly, this character (e) is inserted between "app" and "e" of the incorrectly inputted character string "appe". As a result, a character string "appee" is given which may coincide with the operator's intended word. Thereafter, it is judged whether or not the character string "appee" is contained in the main or user dictionary. If the former is not contained in the latter, the character "r", which is the next highest one in the frequency of appearance, is inserted in place of the character "e". Such a process is repeatedly executed until the correct word is obtained. In the case of the character string "appe", the correct word "apple" can be obtained upon five times repetition of character insertion. In this way, each character is successively inserted from the highest one in order of the frequency of appearance, thus enabling the correct word to be found out within a shorter length of time as compared with a case in which each alphabet is successively inserted from the first character "a" in turn. In the foregoing embodiment, a character following the character located immediately before a position for character insertion in an incorrectly inputted character string is selected from the probability table. However, a character may be selected which is followed by the character located immediately after the position for character insertion. Fig. 4 depicts another probability table according to a second embodiment of the present invention, which indicates the frequency of appearance of an operator's intended character to be inputted in place of an incorrectly inputted character. This table is tabulated on the basis of operator's keystroke errors through a keyboard and is used in the process of one character replacement to be carried out at step s3. This table is stored in the dictionary device 4 and has a leftmost row in which all alphabets (A) through (Z) are vertically lined up in order. In this table, each alphabet in the leftmost row has on its right side a plurality of alphabets lined in order of probability, which may contain an operator's intended alphabet to be primarily inputted through the keyboard. A figure in parentheses of each alphabet indicates the probability thereof. In the table of Fig. 4, the operator's intended keys corresponding to incorrectly inputted keys "A" to "G" and "I" to "Z" are omitted. For example, when a character "H" is incorrectly inputted through the keyboard and is replaced by an operator's intended one, the character replacement and discrimination means in the control device 5 deals with this kind of error as follows. More specifically, among from the characters listed in the line of the characters "H", a character "Y" which is the highest one in probability is used in place of the character "H". thereafter, it is judged whether or not a new character string produced by the replacement is contained in the main or user dictionary. If the former is not contained in the latter, a character "E" which is the next highest one in probability is used for the replacement. Such a process is repeatedly executed until the correct word is obtained. In this way, the character replacement is done using probable characters in order of probability, thus enabling the correct word to be obtained within a relatively short length of time as compared with a case in which the replacement is merely done from the first alphabet "a" in turn. It is to be noted that in this embodiment, although the probability table is tabulated on the basis of the operator's keystroke errors through the keyboard, the table may be tabulated on the basis of read errors by the OCR, recognition errors in the event of verbal input or the like. As is clear from the above, according to the present invention, the correct word can be obtained within a relatively short length of time through one character addition or one character replacement, preferentially using characters which are considered high in the frequency of correctness.

Claims: A latin alphabet language processing machine equipped with a spelling correction function, comprising: input means (1) for inputting character information; memory means (2) for storing therein the character information inputted by said input means; dictionary means (4) having a main dictionary and a probability table; character string discrimination means (5) for judging whether or not a character string stored in said memory means is contained in said dictionary; character modification means (5) for replacing a character, adding a character, deleting a character, or inverting neighboured characters when said character string discrimination means judges that the character string stored in said memory means is not contained in said main memory; and output means (3) on which the character string as stored in said memory means is outputted, either after it was found by said modification or immediately by said character string discrimination means within said main memory; characterized in that said probability table is indicative of the relationship between arbitrary two characters and the frequency of appearance thereof as neighbouring characters; and said character modification means is arranged to modify said character string in accordance with said probability table, whereby the modification is started from the highest probability and is repeated in the sequence of decreasing probabilities till either the corrected character string is found in said main memory or till the end of said probability table is reached. The apparatus as claimed in claim 1, wherein within said probability table the leading characters of said pairs of neighbouring characters are arranged according to alphabetic order.

Inventors: MATSUO KAZUHIKO, MURAI HIROKU, SAITO KEIZO, MATSUO, KAZUHIKO, MURAI, HIROKO, SAITO, KEIZO
Applicants: SHARP KK, SHARP KABUSHIKI KAISHA
Application year: 1989
Main classification: G06F17
IPC codes: G06F17