DE2349116A1 - PROCEDURE AND CIRCUIT ARRANGEMENT FOR CONTEXT-BASED CHARACTER RECOGNITION - Google Patents

PROCEDURE AND CIRCUIT ARRANGEMENT FOR CONTEXT-BASED CHARACTER RECOGNITION

Info

Publication number
DE2349116A1
DE2349116A1 DE19732349116 DE2349116A DE2349116A1 DE 2349116 A1 DE2349116 A1 DE 2349116A1 DE 19732349116 DE19732349116 DE 19732349116 DE 2349116 A DE2349116 A DE 2349116A DE 2349116 A1 DE2349116 A1 DE 2349116A1
Authority
DE
Germany
Prior art keywords
character
code
codes
context
characters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE19732349116
Other languages
German (de)
Inventor
Gerald John Balm
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2349116A1 publication Critical patent/DE2349116A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Discrimination (AREA)

Description

AmtIiches Aktenzei chen;Official file number;

NeuanmeldungNew registration

Aktenzeichen der Anmelderin: RO 9 71 021File number of the applicant: RO 9 71 021

Verfahren und Schaltungsanordnung zur kontextgestützten Zeichenerkennung Method and circuit arrangement for context-based character recognition

Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur kontextgestützten Zeichenerkennung, wobei die zu verarbeitenden Eingangscodes Muster darstellen, die zu einer Vielzahl möglicher Kategorien gehören können.The invention relates to a method and a circuit arrangement for context-based character recognition, whereby the input codes to be processed represent patterns that lead to a large number of possible Categories can belong to.

Die meisten konventionellen Zeichenerkennungssysteme erkennen ein Eingabezeichenmuster oder ein Bild zu einem Zeitpunkt ohne Betrachtung der auf umgebende Zeichenmuster bezogenen Information. Diese Unterteilung in Abschnitte des Erkennungsprozesses scheint gegenwärtig die Hauptbegrenzung für die Fähigkeit der Maschinen zu sein, schlicht oder unzureichend segmentierte Zeichen zu lesen. Das Lesen von Kursivschrift durch Maschinen oder Menschen erscheint auf der Basis einzelner Zeichen unmöglich.Most conventional character recognition systems recognize one Input character pattern or one image at a time without viewing the information related to surrounding character patterns. This division into sections of the recognition process seems to be currently being the main limitation on the ability of machines to read plain or inadequately segmented characters. Machine or human reading of italics seems impossible on a character basis.

Die Kontextanalyse wurde erfolgreich in Verbindung mit konventionellen Zeichenerkennungsmaschinen angewandt. Bei der "Lexikonsuchtechnik" wird eine Folge von einzeln erkannten Zeichen mit einer bestimmte Eintragungen enthaltenen Tabelle verglichen. Die Tabelleneintragung, die die größte Übereinstimmung mit der eingegebenen Zeichenfolge aufweist, wird dann als die richtige Ausgabe-The context analysis was successful in conjunction with conventional Character recognition machines applied. In the "lexicon search technique", a sequence of individually recognized characters is followed by a certain entries contained in the table were compared. The table entry, which has the closest match to the entered character string is then considered to be the correct output

409816/081 0409816/081 0

Zeichenfolge gewählt. Diese Technik erfordert jedoch extrem . große Lexikontabellen und einen großen Zeitaufwand für das Absuchen der Tabelle. Das Lexikon ist schwierig zu entwerfen und wird mit zunehmender Größe der Eingabezeichenfolge immer unvollständiger. Seine Verwendung wurde daher bisher auf Spezialanwendungen beschränkt, die eine relativ kleine Anzahl relativ kurzer Wörter mit sich bringen.Chosen string. However, this technique requires extremely. large lexicon tables and a large amount of time spent searching the table. The lexicon is difficult to design and becomes more and more incomplete as the size of the input string increases. Its use has therefore been limited to special applications that have a relatively small number of relatively short Bring words with them.

Eine andere hierher gehörende Technik arbeitet mit "N-Grammen" genannten Folgen. Bei diesem Verfahren wird eine festgelegte Anzahl von das unbekannte Zeichen umgebenden Zeichen mit einer Tabelle möglicher Kombinationen von Eingabezeichen verglichen. Die Tabelle gibt dann dasjenige Zeichen aus, welches die höchste Wahrscheinlichkeit für die Darstellung des unbekannten Zeichens aufweist. Die N-Gramme können entweder fest oder gleitend sein. Eine festgelegte "Fünfzeichengruppe" kann z.B. die beiden Zeichen auf jeder Seite des unbekannten "fünften11 Zeichens berücksichtigen, um das unbekannte Zeichen zu identifizieren.' Das mit einer gleitenden "Dreizeichengruppe" arbeitende Verfahren betrachtet andererseits zuerst die beiden Zeichen links von dem unbekannten (dritten) Zeichen, um einen ersten Identifizierungsversuch des unbekannten Zeichens zu machen. Eine zweite, eben solche Dreizeichengruppe betrachtet dann das Zeichen auf jeder Seite des unbekannten Zeichens um das unbekannte Zeichen und gibt eine zweite Schätzung der Idetität des unbekannten Zeichens ab. Eine dritte gleitende Dreizeichengruppe betrachtet das unbekannte Zeichen und die beiden Zeichen rechts von diesem, um eine dritte geschätzte Identifizierung vorzunehmen« Die endgültige Identifizierung des unbekannten Zeichens erfolgt dann aus den drei geschätzten Identifizierungen nach vorgegebenen Regeln. Obwohl sich die N-Grammanalyse als sehr wirksam erwies, wird sie durch die hinderliche Größe der notwendigen Tabellen bis auf eine kleine Anzahl von Spezialanwendungen praktisch nicht brauchbar. Eine einzige feste Fünfzeichengruppe für 27 Zeichen (26 Buchstaben und den Leerraum) erfordert z.B. eine Tabelle mit mehr als 14 Millionen Eintragungen.Another technique that belongs here works with sequences called "N-grams". In this method, a specified number of characters surrounding the unknown character is compared with a table of possible combinations of input characters. The table then outputs the character which has the highest probability of displaying the unknown character. The n-grams can be either fixed or sliding. Can be a fixed "Five character group", for example, the two characters on each side of the unknown "fifth taken into account to identify the unknown character 11 character. ' On the other hand, the method using a sliding "group of three characters" first looks at the two characters to the left of the unknown (third) character in order to make a first attempt to identify the unknown character. A second group of three characters then looks at the character on each side of the unknown character around the unknown character and gives a second estimate of the identity of the unknown character. A third sliding group of three characters looks at the unknown character and the two characters to the right of it to make a third estimated identification. "The final identification of the unknown character is then made from the three estimated identifications according to given rules. Although the n-gram analysis has proven to be very effective, the cumbersome size of the necessary tables makes it practically unusable except for a small number of special applications. A single fixed five-character group for 27 characters hen (26 letters and the space), for example, requires a table with more than 14 million entries.

RO 971 O21 409816/08 10RO 971 O21 409816/08 10

Die Aufgabe der Erfindung besteht daher in der Erstellung eines verbesserten Systems und Verfahrens zur Verarbeitung von Eingabecodes durch Kontextanalyse, Reduzierung der Kosten und Erhöhung der Arbeitsgeschwindigkeit und Flexibilität der Kontextanalyse in einem großen Bereich von Anwendungsmöglichkeiten.The object of the invention is therefore to create an improved system and method for processing input codes through context analysis, reducing costs and increasing the working speed and flexibility of context analysis in a wide range of applications.

Die Lösung dieser Aufgabe ist insbesondere im Anspruch 1 angegeben. The solution to this problem is specified in claim 1 in particular.

Der Hauptvorteil der Erfindung leitet sich aus der Tatsache her, daß die Anzahl von Sätzen wesentlich kleiner ist als die Anzahl von Kategorien. Jeder Verwechselungscode stellt eine der oben genannten Kategorien dar. Die Verwechslungscodes werden so genannt, weil sie Zeichen angeben, die allgemein mit bestimmten anderen Zeichen verwechselt werden. Die Verwechselungscodes können auch "Kandidatencodes" genannt werden, da sie Kandidaten für das Eingabezeichen darstellen.The main advantage of the invention derives from the fact that the number of sets is much smaller than the number of categories. Each mix-up code represents one of the above categories. The mix-up codes are called because they indicate characters that are commonly confused with certain other characters. The mix-up codes can also be called "candidate codes" since they represent candidates for the input character.

Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden anschließend näher beschrieben.Embodiments of the invention are shown in the drawings and are described in more detail below.

Es zeigen:Show it:

Fig. 1 als Beispiel ein System, in welchem der Kontextprozessor nach dem Erfindungsgedanken verwendet werden kann,1 shows, as an example, a system in which the context processor according to the inventive concept is used can be,

Fig. 2 eine Form des Kontextprozessors,Fig. 2 shows one form of the context processor;

Fig. 3 eine Hilfslexikoneinheit für die Erfindung,3 shows an auxiliary dictionary unit for the invention,

Fig. 4 eine andere Form eines Kontextprozessors,4 shows another form of a context processor,

Fig. 5 ein Kontext-Vorfilter,5 shows a context prefilter,

Fig. 6 eine Variation des in Fig. 4 gezeigten Prozessors,Fig. 6 shows a variation of the processor shown in Fig. 4,

ro 971 021 409818/08 10ro 971 021 409818/08 10

Fig. 7 eine Form der Programmierung eines Digitalrechners für die Ausführung der Erfindung,Figure 7 shows one form of programming a digital computer for carrying out the invention,

Fig. 8 eine andere Form der Programmierung eines DigiFig. 8 shows another form of programming a digi

talrechners für die Ausführung der Erfindung, undtalrechners for carrying out the invention, and

Fig. 9 die Programmierung eines Kontextvorfilters.9 shows the programming of a context prefilter.

Die kontextgestützte Erkennung ist ein mögliches wirkungsvolle Verfahren zur Verstärkung der Möglichkeiten von Zeichenerkennungsmaschinen. Obwohl Lexikonsuchtechniken erfolgreich in kommerziellen Maschinen angewandt wurden, war ihre Anwendung auf kleine Wörter oder Wörter aus einem speziellen Vokabular, wie Straßennamen oder Vornamen beschränkt. Die sogenannte "N-Gramm"-Technik wurde kommerziell bisher nicht weitgehend benutzt wegen der enormen Größe der erforderlichen Tabellen. Wie aus Tabelle I zu ersehen ist, erfordert eine DreiZeichengruppe (N=3) eine Tabelle mit ungefähr 20 000 Eintragungen, während die nützlichere Fünfzeichengruppe (N=5) mehr als 14 Millionen Eintragungen erfordert.Context-based detection is a possible powerful one Method for enhancing the capabilities of character recognition engines. Although lexicon search techniques are successful in commercial Machines were applied to small words or words from a special vocabulary, such as street names or given names restricted. The so-called "N-gram" technique has not been widely used commercially because of the enormous amount of Size of tables required. As can be seen from Table I, a three character group (N = 3) requires a table with about 20,000 entries, while the more useful five-character group (N = 5) requires more than 14 million entries.

Gleichzeitig haben jedoch die größeren Tabellen einen schnellabnehmenden Wirkungsgrad. In dem mit 27 Zeichenkategorien arbeitenden Dreiergramm findet sich z.B. gemäß Tabelle 1 weniger als ein Drittel der möglichen Kombinationen der drei Buchstaben in der englischen Sprache. Der Wirkungsgrad der Fünfzeichengruppe ist unbekannt, wird jedoch im Bereich von 3 bis 7 % geschätzt. Fast alle Eintragungen in einer Fünfzeichengruppetabelle enthalten daher extrem unwahrscheinliche Kombinationen. Das einzige bisherige Verfahren zur Reduzierung der Speichererfordernisse und Erhöhung des Wirkungsgrades der N-Gramm-Technik bestand in der Reduzierung der Anzahl N von bei der in den Defizierung des unbekannten Zeichens zu benutzenden Zeichen.At the same time, however, the larger tables have a rapidly decreasing one Efficiency. In the gram of three working with 27 character categories, e.g. according to Table 1, there is less than one Third of the possible combinations of the three letters in the English language. The efficiency of the five-character group is unknown but estimated in the range of 3 to 7%. Almost all entries are contained in a five-character group table therefore extremely unlikely combinations. The only previous method of reducing and increasing storage requirements the efficiency of the N-gram technique consisted in reducing the number N of in deficiting the unknown character characters to be used.

ro 971 021 409816/0810ro 971 021 409816/0810

N=2N = 2 N=3N = 3 TABELLE ITABLE I. N=5N = 5 729729 19,68319,683 N=4N = 4 14.348.90714,348,907 C=27C = 27 (46%)(46%) (31%)(31%) 531,441531,441 (?%)(?%) 3636 216216 (12%)(12%) 7.7767,776 R=6R = 6 2525th 125125 1.2961,296 3.1253.125 R=5R = 5 1616 6464 6 256 25 1.0241,024 R=4R = 4 256256

Die vorliegende Erfindung schlägt andererseits vorr die Anzahl N großbleibend zu lassen, während die Anzahl möglicher Kategorien reduziert wird. Die Tabelle I zeigt z.B., daß bei Reduzierung der akzeptablen Klassen auf R=4 die Anzahl möglicher Kombinationen für N=5 vergleichbar ist mit der Anzahl der Kombinationen von 27 Kategorien für N=2. Auf für sechs Einheiten R=6 ist die Anzahl von Kombinationen für N=5 kleiner als die Hälfte der entsprechenden Zahl für 27 Kategorien mit N=3. Diese Reduzierung in der Anzahl möglicher Kategorien wird durch Codierung oder Übersetzung eines jeden Eingabecode mit z.B. einer von 27 möglichen Kategorien in einen aus einer Anzahl reduzierter Codes, die eine wesentlich kleinere Anzahl von Kategoriesätzen darstellen. Die Tabelle II zeigt eine Zuordnung der 27 Zeichenkategorien zu sechs Sätzen. Hier wäre zu-vermerken, daß nicht alle Sätze mehr als eine Kategorie zu enthalten brauchen. In diesem Beispiel ist das Leerzeichen das einzige Zeichen im sechsten Satz. Die Tabelle II enthält nicht ein mögliches Rückweisungszeichen. Die Informationstheorie fordert, daß die Sätze für einen maximalen Wirkungsgrad eine gleiche Auftretenswahrscheinlichkeit haben. Die Tabelle II zeigt, daß diese Bedingung im wesentlichen durch die gegebene Zuordnung erfüllt wird.The present invention, on the other hand, proposes to keep r the number N large while reducing the number of possible categories. Table I shows, for example, that when the acceptable classes are reduced to R = 4, the number of possible combinations for N = 5 is comparable to the number of combinations of 27 categories for N = 2. On for six units R = 6, the number of combinations for N = 5 is less than half the corresponding number for 27 categories with N = 3. This reduction in the number of possible categories is achieved by coding or translating each input code with, for example, one of 27 possible categories into one of a number of reduced codes that represent a significantly smaller number of category sets. Table II shows an assignment of the 27 character categories to six sentences. It should be noted here that not all sentences need to contain more than one category. In this example, the space is the only character in the sixth sentence. Table II does not contain a possible rejection mark. Information theory requires that the sentences have an equal probability of occurrence for maximum efficiency. Table II shows that this condition is essentially met by the given assignment.

RO971 021 409816/0810 RO971 021 409816/0810

GG KK MM. PP. TT VV WW. 16,6%16.6% CC. DD. HH JJ QQ RR. ZZ 15,5%15.5% BB. FF. LL. NN SS. XX 17,3%17.3% EE. OO YY 13,9%13.9% "blank"blank IlIl 18,7%18.7%

TABELLE IITABLE II Satz Kategorien WahrscheinlichkeitSet of categories of probability

Die Codierung der Kontextzeichen in eine kleine Anzahl von Sätzen löst das Problem jedoch nicht. Allgemein ist es schwierig, einen bestimmten Zeichencode jeder möglichen Kombination der reduzierten Satzcodes zuzuordnen? d.h. z.B., daß man nicht sagen kann, daß eine Folge von Sätzen, wie z.B. "Satz #3, x. Satz #1" (wobei χ das unbekannte Zeichen darstellt) mit einiger Sicherheit angeben kann, daß das unbekannte Zeichen ein "E" ist.However, encoding the context characters into a small number of sentences does not solve the problem. In general it is difficult to find one certain character code of every possible combination of the reduced Assign record codes? i.e., for example, that one cannot say that a sequence of sentences, such as "sentence # 3, x. sentence # 1" (where χ represents the unknown character) can indicate with some certainty that the unknown character is an "E".

Es wurde jedoch festgestellt, daß eine solche Folge von Sätzen im allgemeinen ausreicht, um den Satz anzugeben, von welchem das ungekannte Zeichen ein Teil ist. Dementsprechend wählt die vorliegende Erfindung auch eine Verwechselungsliste für jedes unbekannte Zeichen aus. Diese Liste von Verwechselungszeichen oder Kandidatenzeichen setzt die Codes für die Zeichen fest, deren Erscheinen ähnlich dem des unbekannten Zeichens ist. Eine Verwechslungsliste kann auf Erfahrungsbasis für jede Zeichenkategorie festgelegt werden. Tabelle III zeigt ein Beispiel einer solchen vorgegebenen Liste.It has been found, however, that such a sequence of sentences is generally sufficient to indicate the sentence of which the unknown character is part. Accordingly, the present invention also selects a mix-up list for each unknown character. This list of confusion marks or candidate characters sets the codes for the characters whose appearance is similar to that of the unknown character. A mix-up list can be established for each character category based on experience. Table III shows an example of such a predetermined list.

022.022.

409816/0810409816/0810

TABELLE IIITABLE III

ABCDEFGHIJKLMNOPQR S TUVWXYZb HDGBZ-CAT-HCNHDDOA-IOUNKTE-ABCDEFGHIJKLMNOPQR S TUVWXYZb HDGBZ-CAT-HCNHDDOA-IOUNKTE-

R-LO -KZ-RR-MQR-K-JV YXI-R-LO -KZ-RR-MQR-K-JV YXI-

ρ M - - X RU P-Y ρ M - - X RU P-Y

Ν_ — _ — —. 1ÄT —._.—.__.__._ — — _ — _.Ν_ - _ - -. 1ÄT —._. — .__.__._ - - _ - _.

Die Benutzung fester Listen hat den Vorteil, daß ihre Bestandteile so ausgewählt werden können, daß jedes Eingabezeichen nicht mehr als ein Verwechselungszeichen Innerhalb eines jeden reduzierten Satzes hat. Verschiedene Listen in Tabelle III enthalten Paare von Verwechslungszeichen, die zu einem der in Tabelle II definierten Sätze gehören» Im allgemeinen wird es notwendig sein, ein Zeichen eines jeden Paares aus diesen Listen zu löschen.The use of fixed lists has the advantage that their components can be selected in such a way that each input character does not contain more than one confusion character within each reduced Sentence has. Various lists in Table III contain pairs of confusion marks that correspond to one of the lists in Table II defined sentences belong »In general it will be necessary to delete one character from each pair from these lists.

Andererseits kann eine Verwechslungsliste für jedes einzelne Eingabezeichenabdruck geliefert werden. Anstelle der Verwendung fester Verwechslungslisten kann man daher auch ein Erkennungssystem zur Erzeugung personalisierter Verwechselungslisten für jedes Zeichen verwenden, das tatsächlich auf dem Eingabedokument erkannt wird. Gemäß nachfolgender Beschreibung sind für diese Systemart jedoch Vorsichtsmaßregeln zur Auflösung der Situationen zu treffen, in denen mehr als ein Verwechselungszeichen in demselben reduzierten Satz liegt.On the other hand, there can be a mix-up list for each individual Input character print can be supplied. Instead of using fixed mix-up lists, a recognition system can therefore also be used to generate personalized mix-up lists for use any character that is actually recognized on the input document. According to the following description are for this System type, however, must take precautionary measures to resolve situations where there is more than one confusion mark in the same reduced rate.

Erkennungssystem 100Detection system 100

Fig. 1 zeigt ein beispielhaftes System 100, in dem die vorliegende Erfindung Anwendung findet. Das System 100 tastet einen zeichentragenden Beleg 110 mit einem konventionellen Abtaster 120 zur Erzeugung eines Vidiosignales in Detektor 130 ab. Der Vidioprozessor 14O übernimmt konventionelle vorläufige Funktionen wie die Speicherung eines elektronischen Bildes des Belegzeichens,1 shows an exemplary system 100 in which the present Invention finds application. The system 100 scans a sign bearing Document 110 with a conventional scanner 120 for generating a video signal in detector 130. The video processor 14O takes over conventional preliminary functions such as the storage of an electronic image of the reference mark,

ro 971 021 409816/081 Qro 971 021 409816/081 Q

Höhen- und Breitengrenz und Normalisierung und die Kontrastverstärkung. Height and latitude limits and normalization and contrast enhancement.

Die Erkennungseinheit 150 kann eine konventionelle Einheit zur Umwandlung eines Zeichenbildes vom Prozessor 140 in einen das Zeichen indentifizierenden Code sein. Die Erkennungseinheit 150 soll also einen Code in einem Standardformat (so wie EBCDIC oder ASCII) erzeugen, der das Eingabemuster vom Beleg 110 als zu einer von mehreren möglichen Kategorien, die die Einheit 150 erkennen kann, gehörend indentifiziert. Anzahl und Namen dieser Kategorien hängen natürlich von der jeweiligen Anwendung ab. Beispiele hierfür sind die Buchstaben A, B, C...Z des lateinischen Alphabets, die arabischen Zahlen 0, 1, 2. ..9, bestimmte Interpunktionszeichen, Sonderzeichen usw. Es erscheint zweckmäßig, bei dem vorliegenden System den Leerschritt als eine durch einen Code auf der Linie 151 dargestellte Zeichenkategorie zu bezeichnen und alle auf dem Beleg 110 nicht zu identifizierenden Zeichen mit einem Rückweiscode zu versehen und einzuteilen.The recognition unit 150 can be a conventional unit for Conversion of a character image by processor 140 into a code identifying the character. The recognition unit 150 is therefore intended to generate a code in a standard format (such as EBCDIC or ASCII) that uses the input pattern from document 110 as a identified as belonging to several possible categories that unit 150 can recognize. The number and names of these categories depend of course on the respective application. Examples of this are the letters A, B, C ... Z of the Latin alphabet, the Arabic numbers 0, 1, 2. ..9, certain punctuation marks, Special characters, etc. It appears expedient in the present system to indicate the space as one by means of a code to designate the character category shown on the line 151 and all characters that cannot be identified on the receipt 110 with a Provide and classify the rejection code.

In einem Erkennungssystem ist zu entscheiden zwischen der Rückweisungsrate und der Ersatzrate: ein System,welches auf die Zurückweisung nur weniger Zeichen ausgelegt ist, wird mit größerer Wahrscheinlichkeit Eingabezeichen ersetzen durch Erzeugung eines Code für eine falsche Kategorie. Ein System, welches auf eine möglichst kleine Anzahl von solchen Ersatzfehlern ausgelegt ist, erhöht dadurch die Anzahl von Zeichen, die als nicht identifizierbar zurückgewiesen werden. Im System 100 ist jeder Hinweis auf die mögliche Identität eines Eingabezeichens wertvoll. Obwohl der Erkennungseinheit 150 vorzugsweise in konventioneller Technik aufgebaut ist und eine niedrige Ersatzrate hat, sollte sie daher doch einen als solchen gekennzeichneten besten Vorschlag machen und nicht einfach ein Rückweisungzeichen setzen. In zwei Ausführungsbeispielen des Kontextprozessors 160 liefert die Erkennungseinheit 150 eine Liste von Kandidatenkategorien auf der Leitung 151 und nicht einen einzigen besten Vorschlag. Verschiedene Ausführungsbeispiele von Kontextprozessoren 160 erfordernIn a detection system, a decision has to be made between the rejection rate and the replacement rate: a system based on rejection is designed to only use fewer characters, it is more likely to replace input characters by generating one Wrong category code. A system that is designed for the smallest possible number of such substitute errors, thereby increases the number of characters that are rejected as unidentifiable. In system 100, every reference is made to the possible identity of an input character is valuable. Although the recognition unit 150 is preferably in conventional technology is built and has a low replacement rate, it should therefore make what is labeled as such a best proposition and not just put a rejection mark. In two exemplary embodiments of the context processor 160, the recognition unit provides 150 a list of candidate categories on line 151 and not a single best suggestion. Different Embodiments of context processors 160 require

ro 971 021 4098 16/08 10ro 971 021 4098 16/08 10

- 9 - ■ 2 3 4 y 11- 6- 9 - ■ 2 3 4 y 11- 6

Markierungskennzeichen, die unzuverlässige Identifizierungen ihrer zugehörigen Zeichen bezeichnet. Solche Kennzeichen können durch koventionelle Einrichtungen gegeben werden. In der oben erwähnten Erkennungseinheit kann z.B. das Konfliktsignal als Markierungskennzeichen benutzt werden. In einem System, wie es in der US-Patentanmeldung mit der Seriennummer 95 6 76 beschrieben ist, kann der Wert eines Abstandscode als Schwellenwert festgelegt werden und alle Werte oberhalb dieses Wertes erzeugen dann ein Markierungskennzeichen. Tags that provide unreliable identification of their associated characters. Such marks can be given by conventional institutions. In the above mentioned Recognition unit, for example, the conflict signal can be used as a marker. In a system as described in the US patent application with the serial number 95 6 76 is described, the value of a distance code can be set as a threshold value and all values above this value then generate a flag.

Der Kontextprozessor 160 empfängt eine Reihe von Zeichencodes auf der Leitung 151 und erzeugt Ausgabezeichencodes auf der Leitung 161. Während die Erkennungseinheit 150 ein Eingabezeichen allein aus dem diese eine Zeichen darstellenden Muster identifiziert, verwendet der Kontextprozessor 160 die Indentifikationen mehrerer Zeichen gleichzeitig, um ein Zeichen zu identifizieren oder seine Identifizierung zu verbessern, welches man das unbekannte Zeichen nennen kann. Die in diesem Verfahren benutzten Zeichen sind vorzugsweise aber nicht notwendigerweise miteinander zusammenhängend und können das unbekannte Zeichen umgeben und dasselbe Zeichen kann zur Identifizierung verschiedener anderer Zeichen benutzt werden.The context processor 160 receives a series of character codes on line 151 and generates output character codes on the line 161. While the recognition unit 150 is an input character Identified solely from the pattern representing these characters, the context processor 160 uses the identifications multiple characters at the same time to identify a character or to improve its identification, which one is the unknown Can call signs. The characters used in this method are preferably, but not necessarily, one another coherent and can surround the unknown character and the same character can be used to identify various others Characters are used.

Ein Kontextprozessor 160 kann Fehlerbedingungen erkennen, die er nicht zuverlässig verarbeiten kann und kann daran gehindert werden, zuverlässige durch die Erkennnungseinheit 150 getroffene Entscheidungen zu verändern. Der Prozessor 160 kann iterativ ausgelegt werden, indem man das korrigierte Zeichen in die Eingabe zurückführt und er kann seriell oder kaskadenförmig mit anderen Kontexttechniken verbunden werden, um seine Leistungen zu verbessern. Die veröffentlichten Konzepte können entweder in Maschinenausrüstung oder in der Computerprogrammierung nach Bedarf verwirklicht werden. Für beide Möglichkeiten werden anschließend Beispiele angeführt.A context processor 160 can recognize error conditions that it cannot reliably process and can be prevented from making reliable decisions made by the recognition unit 150 to change. The processor 160 can be made iterative by feeding the corrected character back into the input and it can be serially or cascaded with other context techniques to improve its performance. The published concepts can either be implemented in machine equipment or in computer programming as required will. Examples are given below for both possibilities.

EO 971 021 , 4098 16/0810EO 971 021, 4098 16/0810

Die Ausgabeleitung 171 verbindet den durch den Prozessor 160 erzeugten Ausgabezeichencode mit einer Benutzereinhe.it, wie z.B. den CPU-Kanal 170. Der Kanal 170 empfängt und sendet nach der hiesigen Darstellung Daten für konventionelle Maschinensteuerschaltungen 180, die den Abtaster 12O und eine konventionelle Belegzuführung 190 steuern können.The output line 171 connects the output character code generated by the processor 160 to a user unit, e.g. CPU channel 170. Channel 170 receives and sends data for conventional machine control circuits as shown here 180 which can control the scanner 120 and a conventional document feeder 190.

Mit dem System 100 wurde ein willkürliches Erkennungssystem gewählt. Durch die vorliegende Erfindung können auch andere Mustererkennungssysteme verbessert werden. Die vorliegende Erfindung kann auch an System verwendet werden, die normalerweise nicht für Erkennungsfunktionen vorgesehen sind, wie z.B. Textausgabe- und Koiranunikations sy sterne.With the system 100, an arbitrary detection system was chosen. Other pattern recognition systems can also be improved by the present invention. The present invention can also be used on systems that are not normally intended for recognition functions, such as text output and Koiranunikations sy stars.

Prozessor 2OOProcessor 2OO

Fig. 2 zeigt einen Prozessor 200, der im Block 16O der Fig. 1 benutzt wird. Eingabecodes für aufeinanderfolgende Zeichen werden über die Leitung 151 an die Leitung 2Ol übertragen und in den aufeinanderfolgenden Stufen 211 bis 215 eines Schieberegisters 210 empfangen. Das Eingabezeichen, dessen Identität ermittelt werden soll, ist das zentrale Zeichen einer festgelegten Fünfzeichengruppe und in der Stufe 213 enthalten. Die verwendeten Kontextzeichen sind die vier Zeichen auf jeder Seite, die in den Stufen 211, 212, 214 und 215 enthalten sind. Eine Codiereinrichtung 220 übersetzt die Zeichencodes in reduzierte Codes für die richtige Kategoriesätze. Die Einzelcodierer 221, 222, 224 und 225 können aus konventionellen logischen Schaltungen oder Festwertspeichern bestehen. Typische Sätze sind in der obigen Tabelle II gezeigt.FIG. 2 shows a processor 200 that operates in block 160 of FIG is used. Entry codes for successive characters are transmitted over line 151 to line 201 and into the successive stages 211 to 215 of a shift register 210 received. The input character whose identity is to be determined is the central character of a specified five-character group and included in stage 213. The context characters used are the four characters on each page that appear in the Stages 211, 212, 214 and 215 are included. An encoder 220 translates the character codes into reduced codes for the right category rates. The individual encoders 221, 222, 224 and 225 can consist of conventional logic circuits or Read-only memories exist. Typical sentences are shown in Table II above.

Die Codiererausgaben werden dann im Adreßregister des Kontextcodegenerator 230 verknüpft. Obwohl in Fig. 2 nicht dargestellt, kann das versuchsweise identifizierte Zeichen in Stufe 2 auch codiert und in das Register 231 eingegeben werden. Die im Register 231 gebildete Adresse adressiert eine Eintragung einer Tabelle 232,The encoder outputs are then stored in the address register of the context code generator 230 linked. Although not shown in Fig. 2, the tentatively identified character in level 2 can also be encoded and entered into the register 231. The address formed in register 231 addresses an entry in a table 232,

ro 971 021 4098 16/08 10ro 971 021 4098 16/08 10

die einen den wahrscheinlichsten Satz darstellenden Code enthält, zu dem die Eingabezeichenkategorie in der Stufe 213 gehört. Dieser Code wird als Kontextcode in den Decodierer 233 ausgelesen, und erregt dort eine der Leitungen 234 bis 237. Nur vier Leitungen sind der Klarheit halber dargestellt. Die Kategorien in den durch den Kontextcode wiedergegebenen Sätzen brauchen nicht dieselben zu sein, wie die in den durch die Codiereinrichtung 220 erzeugten Sätzen. Für das vorliegende Beispiel wird jedoch angenommen, daß die Zeichenkategorien in jedem an das Register 231 angelegten Satz dieselben, wie die in jedem Kontextcodesatz sind. Wenn keine Zeichenkategorie für eine gegebene Satzkombination möglich ist, kann die Tabelleneintragung für diese Kombination einen den Rückweisungssatz vorschreibenden Code enthalten.which contains a code representing the most likely sentence to which the input character category in the stage 213 belongs. This Code is read out as context code into decoder 233, and there excites one of lines 234 to 237. Only four lines are shown for clarity. The categories in the sentences represented by the context code need not be the same like those in the sentences generated by the encoder 220. For the present example, however, it is assumed that the character categories in each set applied to the register 231 are the same as those in each context code set. If no Character category is possible for a given sentence combination, the entry in the table for this combination can indicate the rejection sentence mandatory code included.

Die Einrichtung 240 erzeugt eine feste Verwechselungsliste für die Zeichen in der Stufe 213. Die Einrichtung 240 besteht vorzugsweise aus einem Festwertspeicher oder einer Tabelle 241 mit einem an die Stufe 213 angeschlossenen Adreßregister 242, so daß der Eingabezeichencode eine Eintragung in der Tabelle spezifiziert. Der Inhalt der adressierten Eintragung wird auf die Leitungen bis 246 ausgegeben. Der Inhalt der Tabelle 241 ist so angeordnet, daß die VerwechslungsZeichencodes auf den Leitungen 2 44 bis 246 Kategorien darstellen, die Teile von auf den Leitungen 234 bis 236 entsprechend angegebenen Sätzen sind. Da einige Zeichenkategorien keine Verwechslungszeichen in allen nur möglichen Sätzen haben, können die fehlenden Stücke in der Verwechslungsliste einfach als Code für das Riickweisungs symbol angegeben werden.Means 240 generates a fixed mix-up list for the characters in stage 213. The device 240 preferably consists of a read-only memory or a table 241 with an address register 242 connected to stage 213 so that the input character code specifies an entry in the table. The content of the addressed entry is output on lines to 246. The content of table 241 is arranged in such a way that that the mix-up character codes on lines 2 44 through 246 Represent categories that are parts of sentences appropriately identified on lines 234-236. As some character categories no confusion in all possible sentences may have the missing pieces in the mix-up list can simply be given as the code for the rejection symbol.

Die Verknüpfungsschaltung 250 vergleicht den vom Kontextcodegenerator 230 vorgeschriebenen Satz mit einem Code in der durch die Schaltung 240 erzeugten Verwechslungsliste. Läßt man einmal die Leitung 263 im Moment außer Betracht, so schaltet der die Leitung 234 erregende Satz von der Tabelle 232 das UND-Glied 254 ein und leitet den Verwechslungscode auf der Leitung 244 durch das ODER-Glied 251 auf die Ausgabeleitung 202. In ähnlicher Weise wird durch Erregung der Leitung 235 das UND-Glied 255 eingeschaltetCombination circuit 250 compares that from the context code generator 230 prescribed sentence with a code in the mix-up list generated by circuit 240. If you let the Line 263 disregarded at the moment, the record from table 232 which excites line 234 switches AND element 254 on and passes the mix-up code on line 244 through the OR gate 251 to the output line 202. In a similar manner, the AND gate 255 is switched on by energizing the line 235

ro 971 021 4098 16/08 1 0ro 971 021 4098 16/08 1 0

~ 12 -~ 12 -

und der Code auf der Leitung 245 auf die Ausgabeleitung 202 geleitet. Die Leitung 236 veranlaßt das UND-Glied 256 zur Übertragung des Code auf der Leitung 246 an die Ausgabe. Wenn die Leitung 237 anzeigt, daß keiner der reduzierten Sätze das Eingabezeichen in der Stufe 213 richtig einschließen kann, schaltet das ODER-Glied 258 das UND-Glied 257 zur übertragung eines Rückweisungssymbolcode von der Einheit 203 durch das ODER-Glied 251 an die Ausgabeleitung 202 ein.and the code on line 245 is routed to output line 202. Line 236 causes AND gate 256 to transmit the code on line 246 to the output. When the line 237 indicates that none of the reduced sentences can correctly enclose the input character in stage 213, that switches OR gate 258 the AND gate 257 for transmitting a rejection symbol code from the unit 203 through the OR gate 251 to the output line 202.

Wie bereits gesagt wurde, können die von der Erkennungseinheit 150 in Fig. 1 ankommenden Codes zugehörige Markierungsbits oder -kennzeichen haben, um unzuverlässige Entscheidungen zu bezeichnen. Diese ebenfalls in den verschiedenen Stufen des Schieberegisters 210 gespeicherten Bits werden durch die Zuverlässigkeit-Entscheidungseinrichtung 260 für zwei Zwecke benutzt. Wenn die Erkennungseinheit 150 zu einer zuverlässigen Identifizierung des Eingabezeichens in der Stufe 213 gelangt, braucht diese Entscheidung durch das System 200 nicht mehr verarbeitet zu werden. Somit schaltet das fehlende Markierungsbit auf der Leitung 263 das UND-Glied 253 durch den Inverter 252 ein und leitet den Code in der Stufe 213 durch das ODER-Glied 251 an die Ausgäbeleitung 202. Das Fehlen eines Bit auf der Leitung 263 schaltet auch die UND-Glieder 254 bis 257 für zuverlässige Entscheidungen ab.As has already been said, the recognition unit 150 in Fig. 1 incoming codes have associated marker bits or flags to indicate unreliable decisions. These bits, which are also stored in the various stages of the shift register 210, are determined by the reliability decision device 260 used for two purposes. If the recognition unit 150 is used to reliably identify the When the input character arrives in the stage 213, this decision no longer needs to be processed by the system 200. Consequently the missing marker bit on the line 263 turns on the AND gate 253 through the inverter 252 and passes the code in of the stage 213 through the OR gate 251 to the output line 202. The lack of a bit on the line 263 also switches off the AND gates 254 to 257 for reliable decisions.

Die andere Funktion der Schaltung 260 besteht darin, die Wahrscheinlichkeit falscher Ergebnisse zu reduzieren, wenn man sich auf die Zeichenreihenfolge im Register 210 für die Kontextverarbeitung nicht verlassen kann. Wenn der Kontext selbst unzuverlässig ist, braucht natürlich auch die Kontextverarbeitung nicht angewandt zu werden. Die Schaltung 261 gibt ein Signal auf die Leitung 262, wenn diese Bedingung eintritt. Das ODER-Glied 258 veranlaßt dann das UND-Glied 257 und das ODER-Glied 251, den Rückweisungssymbolcode an die Ausgabe 202 weiterzuleiten. Die UND-Glieder 254 bis 256 brauchen nicht abgeschaltet zu werden, wenn der Rückweisungscode gewählt wird (z.B. hexadezimal "FF"), so daß er jedenThe other function of circuit 260 is the probability reduce false results when looking at the drawing order in register 210 for context processing can not leave. Of course, if the context itself is unreliable, context processing need not be applied to become. The circuit 261 puts a signal on the line 262 when this condition occurs. The OR gate 258 then causes the AND gate 257 and the OR gate 251, the rejection symbol code forward to output 202. The AND gates 254 to 256 need not be turned off when the rejection code is selected (e.g., hexadecimal "FF") so that it can match each

ro 971 021 409816/0810ro 971 021 409816/0810

anderen Code überschreibt, der durch die Verbindungsschaltung 250 gewählt wurde. Die Schaltung 261 kann eine Anzahl anderer logischer Funktionen übernehmen, obwohl es natürlich sinnlos wäre, eine Rückweisung zuzulassen, wenn das Eingabezeichen in der Stufe 213 zuverlässig erkannt wurde, ungeachtet der Zuverlässigkeit der Kontextzeichen in den anderen Stufen. Die Schaltung 261 kann z.B. ein Signal auf der Leitung 262 erzeugen, wenn eines von zwei Kontextzeichen Markierungsbits trägt oder auch wenn eines der Zeichen in den Stufen 212 und 214 ein Markierungsbit trägt. Die "Bits" genannten Markierungen können mehr als zwei mögliche Werte haben, um verschiedene Zuverlässigkeitsgrade anzugeben.overwrites other code generated by connection circuit 250 was chosen. Circuit 261 can perform a number of other logical functions, although it would of course be pointless to allow a rejection if the input character was reliably recognized in stage 213, regardless of the reliability of the Context characters in the other levels. The circuit 261 can e.g. generate a signal on line 262 if one of two context characters carries flag bits or even if one of the characters carries a flag in stages 212 and 214. The markings called "bits" can have more than two possible values, to indicate different degrees of confidence.

Aus der obigen Beschreibung geht hervor, daß eine Rückweisung auf der Leitung 2O2 aus drei verschiedenen Gründen erfolgen kann. Zuerst kann eine Eintragung in der Tabelle 232 die Leitung 237 zu den Anzeigen erregen, daß kein reduzierten Satz dem Zeichen in der Stufe 213 zugeordnet werden kann, wenn die spezielle Folge von Kontextzeichensätzen, in den übrigen Stufen des Schieberegisters 210 gegeben ist. Wegen des erhöhten Wirkungsgrades durch Verwendung einer kleinen Anzahl von Sätzen ist diese Situation jedoch selten. Andererseits kann eine Rückweisung aus der Auswahl einer der Leitungen 244 bis 246 resultieren, wenn das Zeichen in der Stufe 213 kaum mit einem anderen Zeichen in dem aus der Tabelle 232 ausgelesenen Satz zu verwechseln ist. Ausgefeiltere Techniken wie z.B. eine Anzeige der Sätze erster und zweiter Wahl in der Tabelle 232 können mit zusätzlichen nicht dargestellten Verbindungsschaltungen verbunden werden, wenn die Situation die zusätzliche Komplexität erfordert. Schließlich kann die gesamte Zeichenfolge in der Fünfzeichengruppe hinreichend fehlerträchtig sein, .so daß die Tabelle 232 wahrscheinlich falsche Ergebnisse liefert. Diese Situation kann in gewissem Ausmaß durch Iterativtechniken erleichtert werden, indem man z.B. die Ausgäbeleitung 202 zur Stufe 213 zurückführt oder eine Anzahl, von Kontextverarbeitungseinheiten kaskadenförmig schaltet.From the above description it can be seen that a rejection on line 2O2 can occur for three different reasons. First, an entry in table 232 may energize line 237 to indications that there is no reduced sentence in the character in can be assigned to stage 213, if the particular sequence of context character sets, in the remaining stages of the shift register 210 is given. However, because of the increased efficiency by using a small number of sets, this situation is Rare. On the other hand, a rejection may result from the selection of one of the lines 244 to 246 if the character is in the Step 213 can hardly be confused with any other character in the sentence read from table 232. More sophisticated techniques such as a display of the first and second choice sentences in the table 232 can be carried out with additional connection circuits (not shown) when the situation calls for the added complexity. Finally, the entire string be sufficiently prone to errors in the five-character group, so that table 232 is likely to give incorrect results. This situation can be alleviated to some extent by iterative techniques, for example by connecting the output line 202 to Stage 213 returns, or a number, of context processing units cascade switches.

RO 971 021 409816/0810RO 971 021 409816/0810

Wörterbuch 300Dictionary 300

Die Ausgabeleitung 202 des Prozessors 2OO kann direkt mit der Leitung 161 der Fig. 1 oder mit einer anderen Kontextverarbeitungseinheit verbunden werden. Fig. 3 zeigt eine andere derartige Einheit 300. Durch Reduzierung der Anzahl von Sätzen, zu denen die Zeichen im Register 210 codiert werden, vernichtet der Prozessor 200 absichtlich gewisse Informationen über die Kontexzeichen, um die Berücksichtigung einer großen Anzahl dieser Zeichen zu ermöglichen. Wenn der relevante Kontext des Eingabezeichens in der Stufe 213 jedoch klein ist, können seine sämtlichen Einzelheiten berücksichtigt werden. Die Leerstellenerkennungseinrich-tung 310 enthält daher eine Schaltung 311, die den Einschluß des Eingabezeichens in ein kleines Wort erkennt, d.h. in ein Wort, welches höchstens fünf Buchstaben hat. Su diesem Zweck sind die Leitungen 301 bis 305 mit entsprechenden Registerstufen 211 bis 215 in Fig. 2 verbunden. Die Leitungen 306 und 307 sind an zusätzliche Schieberegisterstufen angeschlossen, die vor der Stufe 211 und hinter der Stufe 215 liegen. Die Existenz eines Leerzeichencode auf einer der Leitungen 301, 302, 306 und 304, 305, 307 erregt die Leitung 312 zur Abschaltung des UND-Gliedes 321 und Einschaltung des UND-Gliedes 322 der Schaltungeinrichtung 320. Die Schaltung 311 ist meistens abgeschaltet, wenn Signale auf der Leitung 263 jedoch anzeigen, daß die Erkennungseinheit 150 das Zeichen in der Stufe 213 bereits zuverlässig identifiziert hat.The output line 202 of the processor 200 can be connected directly to the line 161 of FIG. 1 or to another context processing unit get connected. Fig. 3 shows another such unit 300. By reducing the number of sets to which the characters are encoded in register 210, processor 200 deliberately destroys certain information about the context characters, to allow a large number of these characters to be taken into account. If the relevant context of the input character is in however, step 213 is small, all of its details can be considered. The space detection device 310 therefore contains a circuit 311 which detects the inclusion of the input character in a small word, i.e. in a Word that has a maximum of five letters. Lines 301 to 305 have corresponding register stages for this purpose 211 to 215 in FIG. 2 are connected. The lines 306 and 307 are connected to additional shift register stages, which are before the Level 211 and behind level 215. The existence of a space code on one of lines 301, 302, 306 and 304, 305, 307 energizes the line 312 for switching off the AND gate 321 and switching on the AND gate 322 of the circuit device 320. The circuit 311 is mostly switched off when signals on the line 263 indicate, however, that the detection unit 150 has already reliably identified the character in stage 213.

Die Leitungen 3Ol bis 305 sind ebenfalls mit einer konventionellen Wörterbuch-Sucheinheit 330 verbunden. Eine solche Einheit kann eine Tabelle mit Zeichencodes in einem Festwertspeicher 331 enthalten, der durch die Leitungen 301 bis 305 adressiert wird.Lines 301 to 305 are also conventional Dictionary search unit 330 connected. Such a unit can contain a table with character codes in a read-only memory 331, which is addressed by lines 301 to 305.

Der resultierende Vollcode auf der Leitung 332 gibt dann direkt die wahrscheinlichste Kategorie für das unbekannte Eingabezeichen an. Wenn das UND-Glied 322 eingeschaltet ist, wird dieser Code durch das ODER-Glied 323 auf die Aus gäbe leitung 308 übertragen.The resulting full code on line 332 is then directly the most likely category for the unknown input character at. When the AND gate 322 is switched on, this code is transmitted through the OR gate 323 to the line 308 from.

ro 971 021 4 09816/0810ro 971 021 4 09816/0810

Wenn das UND-Glied 322 abgeschaltet ist, wird die Wörterbuchausgabe gesperrt, während der Inverter 324 das UND-Glied 321 zum Weiterleiten des Code auf die Leitung 202 und die Leitung 308 einschaltet.When AND gate 322 is turned off, dictionary output will be blocked, while the inverter 324, the AND gate 321 for forwarding the code on the line 202 and the line 308 turns on.

Die Leitung 308 kann entweder mit der Leitung 161 in Fig. 1 oder mit einer weiteren Kontextverarbeitungseinheit verbunden werden. Die Kombination der Fign. 2 und 3 zeigt, wie die einfachere aber zuverlässigere Wörterbuch-Sucheinheit die Leistung des stärkeren N-Grammsystemes 2OO verbessern kann.The line 308 can be connected either to the line 161 in FIG. 1 or to a further context processing unit. The combination of FIGS. Figures 2 and 3 show how the simpler but more reliable dictionary search engine outperforms the stronger N-gram system 2OO can improve.

Prozessor 400Processor 400

Fig. 4 zeigt einen anderen Kontextprozessor 400 zur Verwendung im System 100. Von der Erkennungseinheit 150 oder einem anderen Kontextprozessor kommende Zeichencodes werden über die Leitung 401 im Schieberegister 410 empfangen. Obwohl die Stufen 411 bis 415 fünf zusammenhängende Zeichen enthalten, umfaßt die vom System 400 genutzte Kontextinformation drei gleitende Dreizeichengruppen und nicht eine festgelegte FünfZeichengruppe. Das System 400 verwendet auch nur teilweise die Codierung der Zeichen in Sätzen von Kategorien, da der für drei DreiZeichengruppen benötigte Speicherrauro wesentlich kleiner ist als der bei einer gegebenen Codiertechnik für eine Fünfzeichengruppe gebrauchte Raum.4 shows another context processor 400 for use in the System 100. From the recognition unit 150 or another Character codes coming from the context processor are received in shift register 410 via line 401. Although levels 411 through 415 contain five contiguous characters, the context information used by system 400 comprises three sliding groups of three characters and not a fixed five-character group. The system 400 also only partially uses the coding of the characters in sets of categories, since the one needed for three groups of three characters Memory space is much smaller than that used for a given coding technique for a five-character group Space.

Die erste Dreizeichengruppe umfaßt die Zeichen in den Stufen 413 bis .415, d.h., der erste für das unbekannte Zeichen in der Stufe 413 ausgewertete Kontext umfaßt die beiden Zeichen rechts im Schieberegister. Das Kontextzeichen in der Stufe 414 wird in der Codiereinrichtung 42O in einen reduzierten Satzcode umgewandelt. Das Kontextzeichen in der Stufe 415 wird nicht in einen Satz umgewandelt, sondern voll durch das UND-Glied 425 übertragen. Dieses UND-Glied wird jedoch nur eingeschaltet, wenn der Detektor 427 feststellt, daß das Zeichen in der Stufe 414 kein Leerzeichen ist. Damit wird die Berücksichtigung von Zeichen vermieden, dieThe first group of three characters comprises the characters in steps 413 to .415, i.e. the first context evaluated for the unknown character in stage 413 comprises the two characters on the right in the Shift register. The context character in the stage 414 is converted in the coding device 420 into a reduced sentence code. The context character in the stage 415 is not converted into a sentence, but is transmitted in full by the AND element 425. This However, the AND gate is only switched on when the detector 427 determines that the character in the stage 414 is not a space is. This avoids the consideration of characters that

R0 971 °21 409816/0810 R0 971 ° 21 409816/0810

jenseits der Wortgrenzen stehen. Die zweite Dreizeichengruppe umfaßt die Zeichen in den Stufen 412 bis 414. In dieser Dreizeichengruppe werden die einzelnen Kontextzeichen auf beiden Seiten des unbekannten Zeichens zu reduzierten Sätzen durch die Codierer 422 und 424 codiert. Die Codierer 422 und 424 können mit der Codiereinrichtung 22O der Fig. 2 identisch sein. Der Kontext für die dritte Dreizeichengruppe sind die beiden links vom unbekannten Zeichen in der Stufe 413. Die Einheiten 421, 422 arbeiten ähnlich wie die Einheiten 425, 424 und 427 und codieren das Zeichen neben dem unbekannten Zeichen und übertragen den vollen Code für das weitere Zeichen, wenn es nicht jenseits einer Leerstelle liegt. Die Detektoren 426 und 427 erkennen tatsächlich den Leerzeichensatz (einen reduzierten Code) und nicht das Leerzeichen (einen vollen Zeichencode). Bestimmte andere Zeichenkategorien können mit einem Leerzeichen für diesen Zweck äquivalent sein. Bei einem erweiterten Zeichenvorrat können Komma, Semikolon usw. zu demselben Satz codiert werden wie das Leerzeichen, da diese Zeichen ebenfalls das Ausmaß des relevanten Kontextes begrenzen.stand beyond word boundaries. The second group of three characters includes the characters in levels 412 to 414. In this group of three characters the individual context characters on both sides of the unknown character become reduced sentences by the encoder 422 and 424 encoded. Encoders 422 and 424 may be identical to encoder 220 of FIG. 2. The context for the third group of three characters are the two to the left of the unknown Characters in stage 413. Units 421, 422 operate similarly to units 425, 424 and 427 and encode the character alongside the unknown character and transmit the full code for the further character if it is not beyond a space. Detectors 426 and 427 actually detect the blank set (a reduced code) rather than the blank (a full character code). Certain other categories of characters may be equivalent to a space for this purpose. at an extended character set, commas, semicolons etc. can be encoded in the same sentence as the space, since these characters also limit the extent of the relevant context.

Der Kontextcodegenerator 430 übernimmt dieselbe Gesamtfunktion wie der Generator 230 der Fig. 2. D.h, er empfängt eine Anzahl von Kontextzeichen darstellende Codes und gibt einen reduzierten Code aus, der den wahrscheinlichsten Satz angibt, in dem das unbekannte Zeichen zu finden ist. Seine Struktur ist jedoch anders. Ein erster Festwertspeicher (ROS) 431 wird über das Register 432 durch die Verkettung eines vollen Zeichencode vom UND-Glied 425 und eines "provisorischer Kontextcode" genannten reduzierten Code vom Codierer 424 adressiert. Dieser provisorische Code gehört zur ersten der drei DreiZeichengruppen. Für 27 Kategorien und sechs reduzierte Sätze kann der ROS 432 z.B. 27 χ 6 = 162 adressierbare Eintragungen enthalten. In diesem Ausführungsbeispiel kann jede Eintragung einen zum reduzierten Code an diese Eintragung gehörenden Wahrscheinlichkeitsfaktor enthalten.The context code generator 430 performs the same overall function like generator 230 of FIG. 2. That is, it receives a number of codes representing context characters and outputs a reduced Code that indicates the most likely sentence in which the unknown character can be found. However, its structure is different. A first read only memory (ROS) 431 is via the register 432 by concatenating a full character code from AND gate 425 and a reduced code called "provisional context code" are addressed by encoder 424. This provisional Code belongs to the first of the three groups of three characters. For 27 categories and the ROS 432 can contain six reduced records, e.g. 27 χ 6 = 162 addressable entries. In this In the exemplary embodiment, each entry can have a probability factor belonging to the reduced code for this entry contain.

ro 971 021 409816/0810ro 971 021 409816/0810

Die Codierer 422 und 424 adressieren einen zweiten ROS 433 über das Adreßregister 434 zur Erzeugung eines weiteren provisorischen Kontextcode für die zweite DreiZeichengruppe. Ein weiterer Wahrscheinlichkeitsfaktor wird ebenfalls gleichzeitig ausgelesen. Wenn sechs reduzierte Sätze benutzt werden, enthält die Tabelle im ROS 433 6 χ 6 = 36 Eintragungen. Der ROS 435 und das Register 436 sind genauso aufgebaut wie die Einheiten 431 und 432. Obwohl der Inhalt und die Anordnung der Tabelleneintragungen im allgemeinen unterschiedlich ist, d.h., wenn "x", "R" und "C" entsprechend das unbekannte Zeichen darstellen, sind ein bestimmter reduzierter Satz und ein bestimmter Zeichencode, dann der reduzierte Satz, zu dem χ gehört, im allgemeinen verschieden für die Kombination xRC und für die Kombination CRx. Somit verwendet der Generator 430 eine tabellarische Anordnung in den ROS-Einheiten 431, 433 und 435 anstelle einer einzelnen Tabelle, wie sie im ROS 232 der Fig. 2 gespeichert ist.Encoders 422 and 424 address a second ROS 433 via address register 434 to generate another provisional one Context code for the second group of three characters. Another probability factor is also read out at the same time. if six reduced sentences are used, the table in the ROS 433 6 χ 6 = 36 entries. The ROS 435 and the register 436 are constructed in the same way as the units 431 and 432. Although the content and arrangement of the table entries in general is different, i.e., when "x", "R" and "C" respectively represent the unknown character, are certain reduced sentence and a certain character code, then the reduced one Theorem to which χ belongs, generally different for the combination xRC and for the combination CRx. Thus used the generator 430 tabulates the ROS units 431, 433 and 435 instead of a single table as stored in ROS 232 of FIG.

Anstelle des einzelnen im reduzierten Satz erzeugten Kontextcode durch die ROS-Tabelle 232 in Fig. 2 erzeugen die ROS-Tabellen 431, 433 und 435 drei provisorische Kontextcodes auf drei Leitungen 437. Die Abstimmungsschaltung 439 kombiniert dann diese provisorischen Codes zur Erzeugung eines einzelnen besten Vorschlags-Kontextcode auf der Wahlleitung 451. In einem für eine niedrige Ersatzrate ausgelegten System kann die' Schaltung 439 einfach einen der provisorischen Kontextcode an die Leitung übertragen, wenn alle drei provisorischen Codes identisch sind und in allen anderen Fällen einen Rückweisungscode senden. Für weniger genaue Anwendungen kann auch eine Zwei-Aus-Drei-Funktion verwendet werden. Die Wahrscheinlichkeitsfaktoren auf den Leitungen 438 können auch dazu verwendet werden, die Logik 439 zur übertragung des provisorischen Code mit dem höchsten Faktor oder zur übertragung dieses Code nur dann zu veranlassen, wenn sein Wahrscheinlichkeitsfaktor um einen bestimmten Betrag über dem Faktor mit der nächsthöheren Wahrscheinlichkeit auf den Leitungen 438 liegt. Die Tabellen 431, 433 und 435 können auch mehrereInstead of the individual context code generated in the reduced sentence through the ROS table 232 in FIG. 2 create the ROS tables 431, 433 and 435 three provisional context codes on three lines 437. The voting circuit 439 then combines these provisional codes to generate a single best suggestion context code on the selection line 451. In a system designed for a low spare rate, the circuit 439 simply transmit one of the provisional context codes to the line if all three provisional codes are identical and in all other cases send a rejection code. A two-out-of-three function can also be used for less precise applications be used. The probability factors on the lines 438 can also be used to control the logic 439 to transmit the provisional code with the highest factor or to cause this code to be transmitted only if his Probability factor by a certain amount above the factor with the next highest probability on the lines 438 lies. Tables 431, 433 and 435 can also have several

50971021 409816/0810 50971021 409816/0810

provisorische Code und Wahrscheinlichkeiten in jeder Eintragung enthalten, wenn die Schaltung 439 komplexer ist. Viele andere Algorithmen können für die Schaltung 439 abhängig von der jeweiligen Anwendung ausgewählt werden.provisional codes and probabilities included in each entry as circuit 439 is more complex. Many other Algorithms can be selected for circuit 439 depending on the particular application.

Wie im Zusammenhang mit dem Prozessor 200 bereits gesagt wurde, ■ kann das unbekannte Zeichen in der Stufe 413 des Registers 410 auch in den Generator 430 eingegeben werden. Es kann, obwohl nicht in Fig. 4 dargestellt, auch in eines der Register 4 32, 434 und 436 entweder in vollcodierter oder reduziert codierter Form eingegeben werden. Verfeinerte Codiertechniken können ebenfalls angewandt werden. In einer Siebenzeichengruppen können z.B. das unbekannte Zeichen und seine unmittelbaren Nachbarn in vollcodierter Form eingegeben werden, während die nächsten Nachbarn auf jeder Seite in einen von sechs Sätzen hineincodiert werden und die Endzeichen jeweils in einen von vier Sätzen. Das gestattet die detaillierte Betrachtung des unmittelbaren Zusammenhanges, der weitere Zusammenhang wird progressiv aufgelockert.As has already been said in connection with the processor 200, ■ For example, the unknown character can also be entered into generator 430 at stage 413 of register 410. It can, though not shown in FIG. 4, also in one of the registers 432, 434 and 436 either in fully coded or reduced coded form can be entered. Refined coding techniques can also be used. In a seven-character group, for example, the unknown characters and its immediate neighbors are entered in fully coded form while the nearest neighbor is on can be coded into one of six sentences on each side and the end characters into one of four sentences. That allows detailed consideration of the immediate connection, the further connection is progressively loosened.

Der Code für das unbekannte Zeichen wird in das Adreßregister 442 für den Verwechslungslistengenerator 44O eingegeben. Der Generator 440 enthält adressierbare Tabelleneintragungen in einem ROS 441 zur Erzeugung einer feststehenden Verwechslungsliste für jede Zeichenkategorie wie im Generator 240 der Fig. 2.The code for the unknown character is entered into address register 442 for mix-up list generator 44O. The generator 440 contains addressable table entries in a ROS 441 for generating a fixed mix-up list for each character category as in generator 240 of FIG. 2.

Die Ausgabeleiteinrichtung 450 wählt einen der Verwechs lungs codes in der durch den Generator 440 erzeugten Liste nach dem durch das Element 430 erzeugten Zusammenhangscode. Ein konventioneller Multiplexer 453 wird im einzelnen als elektronischer mehrstelliger Schaltung zur übertragung eines der Verwechslungscodes auf den Leitungen 454 an die Verzöge rungs einheit 455. Welche der Leitungen 454 gewählt wird, hängt vom Zusammenhangscode auf der Leitung 451 ab. Hier wiederum können Rückweisungscodes in die Listenpositionen des ROS 441 gesetzt werden, für die kein Verwechslungscode in dem entsprechenden Satz existiert.The output control device 450 selects one of the confusion codes in the list generated by the generator 440 according to the context code generated by the element 430. A conventional one Multiplexer 453 is used in detail as an electronic multi-digit circuit for transmitting one of the confusion codes to the Lines 454 to delay unit 455. Which of the lines 454 is dialed depends on the context code on the line 451 from. Here, in turn, rejection codes can be placed in the list items of the ROS 441 are set for which no confusion code exists in the corresponding sentence.

RO971021RO971021

Die Ausgabeschaltung 45O enthält auch Einrichtungen, um das verarbeitete Zeichen als Kontextzeichen für spätere unbekannte Zeichen zur Verfügung zu stellen. Eine Verzögerungseinheit 455 hält den ausgewählten Verwechslungscode fest, bis jeder Zeichencode im Register 410 durch die Ankunft eines neuen Zeichens auf der Leitung 401 verschoben wurde. Die Rückkopplungsleitung 456 setzt dann das unbekannte Zeichen, welches von der Stufe 413 zur StufeThe output circuit 450 also contains means for the processed To make characters available as context characters for later unknown characters. A delay unit 455 holds the selected mix-up code until each character code in register 410 was shifted by the arrival of a new character on line 401. The feedback line 456 asserts then the unknown character going from level 413 to level

414 verschoben wurde, mit dem ausgewählten Verwechs^ungscode zurück. Diese Substitution erfolgt vor dem Anfang der Verarbeitung des neuen unbekannten Zeichens in der Stufe 413. Die endgültige Ausgabe des Prozessors 400 wird dann von der Schieberegisterstufe414 was moved back with the selected confusion code. This substitution occurs prior to beginning processing of the new unknown character at stage 413. The final one Output of processor 400 is then from the shift register stage

415 über die Ausgabeleitung 402 abgenommen. Wieder kann die Leitung 402 mit einem weiteren Prozessor oder direkt mit der Leitung 161 in Fig. 1 verbunden sein.415 removed via the output line 402. Again the line can 402 can be connected to a further processor or directly to the line 161 in FIG. 1.

Der Prozessor 400 kann auch Markierungsbits oder Kennzeichen zur Differenzierung zwischen zuverlässigen und unzuverlässigen Entscheidungen verwenden. In der in Fig. 4 gezeigten Form wird jedoch jedes Zeichen verarbeitet und kein Zuverlässigkeitsanzeiger benötigt. Diese Betriebsart kann in Maschinen mit Ausnahme der maschinellen Belegleser verwendet werden. Diese Betriebsart ist z.B. brauchbar bei der Aussprachekorrektur von Textausgabesystemen und ähnlichen oder bei der Fehlerkorrektur in digitalen Kommunikationssystemen. Die Prozessoren 200 und 400 können innerhalb des Blockes 160 in Fig. 1 kaskadenförmig zur Verbesserung des zweistufigen Zusammenhanges angeordnet werden.The processor 400 can also use marker bits or flags to differentiate between reliable and unreliable decisions use. In the form shown in Figure 4, however, each character is processed and not a reliability indicator needed. This operating mode can be used in machines with the exception of automatic document readers. This operating mode is e.g. useful for correcting pronunciation of text output systems and the like or in error correction in digital communication systems. The processors 200 and 400 can be used within the Block 160 in Fig. 1 cascaded to improve the two-stage Related to be arranged.

Vorfilter 500Pre-filter 500

Fig. 5 zeigt ein zusätzliches Vorfilter 500, welches kaskadenförmig zusammen mit jeden der beiden Prozessoren 2OO und 400 zur weiteren Verbesserung ihrer Leistung angeordnet werden kann. Trotz der Bezeichnung "Vorfilter" kann die Eingabeleitung 501 mit einer der Leitungen 151, 202 und 204 verbunden werden. Das Vorfilter 500 soll volle Zeichencodes in einer sehr kleinen Tabelle verwenden, um Zeichenfolgen zu erkennen, deren Erscheinungswahrschein-Fig. 5 shows an additional pre-filter 500, which cascade can be arranged along with each of the two processors 200 and 400 to further improve their performance. Despite the designation "pre-filter" can be the input line 501 with a of lines 151, 202 and 204 are connected. The pre-filter 500 is intended to use full character codes in a very small table, to recognize character strings whose appearance probability

RO 971 021RO 971 021

409816/0810409816/0810

lichkeit so niedrig ist, daß sie als für praktische Zwecke unmöglich angesehen werden können, Bezug auf Tabelle I zeigt, daß die Mehrzahl aller Zeichen unmöglich ist, auch für die Zweizeichengruppen (N=2). Das Vorfilter 500 arbeitet mit drei gleitenden Dreizeichengruppen und weist ein Zeichen zurück, wenn eine der Dreizeichengruppen, die dieses Zeichen enthalten, unmöglich ist.so low as to be impossible for practical purposes Referring to Table I, it can be seen that the majority of all characters are impossible, even for the two-character groups (N = 2). The pre-filter 500 works with three sliding groups of three characters and rejects a character if one of the Groups of three characters containing this character are impossible.

Vollzeichencodes werden einzeln auf einer Leitung 501 empfangen und durch die Stufen 511 bis 515 eines Schieberegister 510 ge-' leitet. Der Zeitabstand zwischen aufeinanderfolgenden Verschiebungen des Registers wird in vier Unterabstände durch einen getakteten Zähler 531 unterteilt. Das zu verarbeitende unbekannte Zeichen steht in der Stufe 513·. Die erste Drei Zeichengruppe enthält das unbekannte Zeichen als erstes Zeichen, die anderen Zeichen stehen in den Stufen 514 und 515. Diese DreiZeichengruppe wird durch den Konsistenzgenerator 530 während des ünterintervalles Null des Zählers 531 ausgewertet. Die Zählerausgabe wird zur Übertragung der Zeichen von den Stufen 513, 514 und 515 durch die Multiplexer 532, 533 und 534 benutzt. Die Multiplexorausgänge steuern das Adreßregister 535 zur Auswahl einer Eintragung einer im ROS 536 gespeicherten Tabelle. Für 27 verschiedene Kategorien von Eingabezeichen erfordert die Tabelle etwa 20 000 Eintragungen, jede Eintragung braucht jedoch nur ein einziges "Konsistenzkennzeichenbit" zu enthalten, so daß die Gesamtgröße die Speichers relativ bescheiden ist. Ein Einerwert in der gewählten Eintragung bedeutet, daß die Dreizeichengruppe in den Stufen 513 bis 515 eine mögliche Konfiguration ist und erhöht den Inhalt des Zählers 537. Ein Nullbit in der Tabelleneintragung erhöht den Inhalt dieses Zählers nicht.Full character codes are received individually on a line 501 and passed through stages 511 to 515 of a shift register 510. directs. The time interval between successive shifts of the register is clocked in four sub-intervals by a Counter 531 divided. The unknown character to be processed is in stage 513 ·. The first three group of characters contains the unknown character as the first character, the other characters are in levels 514 and 515. This group of three characters becomes evaluated by the consistency generator 530 during the subinterval zero of the counter 531. The counter output becomes transmission of the characters from stages 513, 514 and 515 are used by multiplexers 532, 533 and 534. The multiplexor outputs control the address register 535 to select an entry from a table stored in the ROS 536. For 27 different categories of input characters, the table requires around 20,000 entries, but each entry only needs a single "consistency indicator bit" so that the total size of the memory is relatively modest. A units value in the selected entry means that the three-character group in steps 513 to 515 one possible configuration is and increases the content of the counter 537. A zero bit in the table entry increases the content this counter does not.

Die zweite Dreizeichengruppe betrachtet die Zeichen in den Stufen 512, 513 und 514 während des Ünterintervalles 1 des Zähler 531. Zu diesem Zeitpunkt wird der Inhalt die Stufen durch die Multiplexor 532, 533 und 534 entsprechend auf das Adreßregister 535 geleitet. Der ROS 536 gibt dann eine andere Einzelbiteintragung gemäß obiger Beschreibung in den Zähler 537. Die dritte Drei-The second group of three characters looks at the characters in the stages 512, 513 and 514 during subinterval 1 of counter 531. At this point, the content is the stages through the multiplexor 532, 533 and 534 are passed to the address register 535, respectively. The ROS 536 then gives another single bit entry as described above in the counter 537. The third three-

RO 971 021 409318/0810RO 971 021 409318/0810

Zeichengruppe umfaßt die Zeichen in den Stufen 511, 512 und 513 in ähnlicher Weise während des Unterintervalles 2 des Zählers 531. Alle drei Dreizeichengruppen können dieselbe Tabelle im ROS 536 benutzen, da sie alle im selben Code stehen und weil das unbekannte Zeichen zusammen mit den Kontextzeichen eingegeben wird.Character group comprises the characters in levels 511, 512 and 513 similarly during sub-interval 2 of counter 531. All three groups of three characters can use the same table in the Use ROS 536 because they are all in the same code and because the unknown character was entered together with the context character will.

Das Unterintervall 3 wird durch die Ausgabeschaltung 550 benutzt. Die unbenutzten Eingänge der Multiplexerschaltungen 532 bis 534 zeigen, daß keine Daten zu diesem Zeitpunkt vom Register 510 eingegeben werden. Da alle Dreizeichengruppen, die das Zeichen in der Stufe 513 enthalten, jetzt geprüft worden sind, enthält der Zähler 537 die Zahl 3 nur, wenn alle drei DreiZeichengruppen mögliche Zeichenfolgen in der betrachteten Sprache darstellen. Die Existenz einer andere als der Zahl erzeugt ein Signal auf der Leitung 551. Dieses Signal schaltet zusammen mit dem Signal für das dritte Unterintervall auf der Leitung 552 das UND-Glied 553 so ein, daß der Inhalt der Stufe 513 durch einen RückweisungsZeichencode von der Einheit 554 ersetzt wird, da dieses Zeichen vorher falsch identifiziert worden sein muß. Wenn andererseits das Vorfilter 500 in einem System verwendet werden soll, welches Markierungsbits zur Bezeichnung nicht zuverlässiger Entscheidungen verwendet, kann die Einheit 554 weggelassen werden, so daß das UND-Glied 553 nur ein Markierungsbit in die Stufe 513 setzt. Das Vorfilter 500 kann auch bei den Zeichen in einer Verwechslungsliste verwendet werden, indem man z.B. die Ausgänge 244 bis 246 der Reihe nach für die Ausgabe der Stufe 513 einsetzt.Sub-interval 3 is used by output circuit 550. The unused inputs of the multiplexer circuits 532 to 534 show that no data is being entered from register 510 at this time. Since all groups of three characters that make up the character contained in stage 513 have now been checked, the counter 537 contains the number 3 only if all three groups of three characters represent possible character strings in the language under consideration. The existence of any other than the number creates a signal on on line 551. This signal, together with the signal for the third subinterval on line 552, switches the AND gate 553 so that the content of stage 513 is replaced by a rejection character code is replaced by the unit 554, since this character must have been incorrectly identified beforehand. If on the other hand the prefilter 500 is to be used in a system which does not use flag bits for designation more reliably Decisions are used, the unit 554 can be omitted so that the AND gate 553 only one flag bit in the Level 513 sets. The prefilter 500 can also be used with the characters in a mix-up list, e.g. by adding the Outputs 244 through 246 are used in sequence for the output of stage 513.

Die Ausgabe des Vorfilters 500 wird von der Schieberegisterstufe 515 auf der Leitung 502 abgenommen. Die Verzögerungseinheit 555 stellt den Zähler 537 auf Null zurück, bevor das nächste Zeichen auf der Leitung 501 ankommt.The output of the prefilter 500 is from the shift register stage 515 removed on line 502. The delay unit 555 resets the counter 537 to zero before the next character arrives on line 501.

R0 971 °21 403816/0810 R0 971 ° 21 403816/0810

Das Vorfilter 500 stellt also eine Kontextverarbeitungstechnik dar, die insofern zuverlässig ist, als sie eine gültige Identifizierung nur in den seitesten Fällen zurückweist. Sie ist nicht so leistungsfähig wie die Prozessoren mit N-Zeichengruppen oder die Verzeichniseinheit insofern, als sie eine fragliche Identifizierung nicht in eine zuverlässige Identifizierung umwandeln, kann.The pre-filter 500 thus represents a context processing technique which is reliable in that it is a valid identification rejects it only in the most distant cases. It is not as powerful as the processors with N-character groups or the directory unit insofar as they do not convert a questionable identification into a reliable identification, can.

Kandidatenlistengenerator 600Candidate List Generator 600

Fig. 6 zeigt ein Verfahren zur Spezifizierung einer Verwechslungsliste oder Kandidateliste für das unbekannte Zeichen, die aus dem tatsächlich vom System 100 erkannten Zeichen und nicht von einer festen Tabelle her erstellt. Der Listengenerator 6OO ist für diese Funktion so ausgelegt, daß er die Komponenten 441 bis 454 der Fig. 4 ersetzt. Die Komponenten 401 und 410 bis 415 der Fig. sind in Fig. 6 doppelt vorhanden, jedoch sind nicht alle Verbindungen dargestellt.6 shows a method for specifying a mix-up list or candidate list for the unknown character that made up the character actually recognized by the system 100 and not from a fixed table. The list generator 600 is designed for this function in such a way that it includes components 441 to 454 of FIG. 4 is replaced. Components 401 and 410-415 of the Figure are duplicated in Figure 6, but not all Connections shown.

Einige konventionelle Erkennungseinheiten 15O in Fig. 1 leiten mehrere Kandidaten (dieser Ausdruck ist in Fachkreisen gebräuchlicher als die Bezeichnung "Verwechslungsliste") aus einem Zeichenmuster auf dem Beleg 110 ab. Eine solche Erkennungseinheit ist im einzelnen z.B. in der US-Patentschrift mit der Nummer 3 492 6 46 beschrieben. Anstatt diese Kandidaten zu einer endgültigen Kategorie auf der Basis ihres Bildes alleine aufzulösen, werden die Kandidatencodes auf die Eingabeleitungen 401, 601 und 602 übertragen. Die Größe der Liste wurde der klareren Erklärung halber auf drei beschränkt. Wie im Zusammenhang mit Fig. 4 beschrieben wurde, wird ein Kandidat für jedes Zeichen im Schieberegister 410 empfangen und durch dieses durchgeleitet. Die anderen beiden Kandidtaten werden gleichzeitig in den Schieberegistern 611 und 613 empfangen und durchgeleitet. Die Gruppe 610 der Schieberegister empfängt somit Kandidatenlisten oder Verwechs lungs-zeichencodes, die den wahrscheinlichen Kategorien der erkannten Muster und nicht vorgegebenen und festgelegten Kategorien entsprechen. Beim horizontalen Lesen eines jeden Schiebe-Some conventional recognition units 150 in FIG. 1 operate several candidates (this term is more common in specialist circles than the term "confusion list") from one character pattern on receipt 110. Such a recognition unit is detailed, for example, in U.S. Patent No. 3 492 6 46. Instead of resolving these candidates to a final category based on their image alone, the candidate codes are transmitted on input lines 401, 601 and 602. The size of the list became the clearer explanation half limited to three. As described in connection with Figure 4, there is a candidate for each character in the shift register 410 received and passed through this. The other two candidates are in the shift registers at the same time 611 and 613 received and passed through. The group 610 of shift registers thus receives candidate lists or mix-ups Lung character codes that indicate the likely categories of the recognized patterns and non-predetermined and fixed categories correspond. When reading horizontally each sliding

RO971°21 109816/0810 RO971 ° 21 109816/0810

registers enthalten die Stufen einen Kandidaten für jedes von fünf verschiedenen Zeichen auf dem Beleg 110. Beim vertikalen Abwärtslesen in Fig. 6 enthalten entsprechende Stufe verschiedene Kandidaten für das selbe Zeichen auf dem Beleg. Die Stufen 413 612 und 614 halten die Kandidaten für das durch den Prozessor ausgewertete unbekannte Zeichen.registers, the levels contain a candidate for each of five different characters on receipt 110. In the vertical Reading downwards in Fig. 6, corresponding stages contain different candidates for the same character on the document. The steps 413 612 and 614 consider the candidates to be the unknown character evaluated by the processor.

Die Kandidaten in den Stufen 413, 612 und 614 sind nicht unbedingt so erkannt worden, daß nicht mehr als eines in jeder Liste zu demselben reduzierten Satz gehört, der durch die Codeeinrichtung 430 definiert ist. Daher trennt die Codiereinrichtung 620 die Kandidaten und ordnet sie nach diesen Sätzen. Die Codiereinheit 621 übersetzt das Zeichen in der Stufe 413 in seinen reduzierten Code und enthält einen Decodierer, der eine Ausgabeleitung entsprechend dem Satz erregt, zu dem diese Zeichenkategorie gehört. Der Einfachheit halber sind die Ausgäbeleitungen für nur drei derartige Sätze gezeigt. Die Ausgaben des Codierers 621 werden weitergeleitet an die Schaltung 650 und in der Leitung 624 gesammelt. Die Codierer 622 und 623 übernehmen dieselbe Funktion für die Zeichen in den Schieberegisterstufen 612 und 614. Ihre Ausgaben werden ebenfalls in der Leitung 624 gesammelt. Die Mehrkandidatenschaltung 625 empfängt die neun Ausgänge, die auf der Leitung 624 gesammelt wurden, und schaltet die UND-Glieder 626, 627 oder 628 ein, wenn mehr als ein Zeichen in einer Kategorie liegt, die entsprechend zum ersten, zweiten oder dritten vordefinierten Kategoriensatz gehört. Dieses Auftreten mehrerer Kandidaten im selben Satz ist kein Problem, wenn dieser Satz nicht durch die Abstimmschaltung 439 in Fig. 4 ausgewählt wurde. Das UND-Glied 626 überträgt daher kein Signal durch das ODER-Glied 629, wenn mehrere Kandidaten im Satz Nummer 1 auftreten, wenn nicht die Ader für den Satz Nummer 1 der Leitung 451 anzeigt, daß die Abstimmschaltung 439 diesen Satz als Kontextcode für das unbekannte Zeichen ausgewählt hat. Die UND-Glieder 627 und 628 arbeiten entsprechend für die Adern der Sätze 2 und 3 der Leitung 451.The candidates at levels 413, 612, and 614 are not required so that no more than one in any list belongs to the same reduced set as determined by the coder 430 is defined. Therefore, the encoder 620 separates the candidates and ranks them according to these sentences. The coding unit 621 translates the character into its reduced code in stage 413 and contains a decoder which has an output line excited according to the sentence to which that character category belongs. For the sake of simplicity, the output lines are for only three such sentences are shown. The outputs of encoder 621 are passed to circuit 650 and on line 624 collected. The encoders 622 and 623 perform the same function for the characters in the shift register stages 612 and 614. Your expenses are also collected in line 624. The multi-candidate circuit 625 receives the nine outputs, the on line 624 and turns on AND gates 626, 627 or 628 if more than one character is in a Category that belongs to the first, second or third predefined category set, respectively. This occurrence multiple candidates in the same sentence is not a problem if that sentence is not selected by the voting circuit 439 in FIG became. The AND gate 626 therefore does not transmit a signal through the OR gate 629 if several candidates occur in sentence number 1, unless the wire for set number 1 on line 451 indicates that voting circuit 439 has that set as a context code selected for the unknown character. The AND gates 627 and 628 work accordingly for the wires of sets 2 and 3 the line 451.

RO971021 409816/0810 RO971021 409816/0810

Die Schalteinrichtung 610 und 620 geben zusammen also die Möglichkeit, eine Liste von Kandidaten- oder Verwechslungszeichen aufzustellen, anhand deren das unbekannte Zeichen in der Schieberegisterstufe 413 ausgewertet werden kann.The switching device 610 and 620 together give the possibility draw up a list of candidate or confusion marks, on the basis of which the unknown character in the shift register stage 413 can be evaluated.

Die Ausgabeschaltung 65O wählt jetzt einen dieser Kandidaten aufgrund des Kontextcode von der Abstimmschaltung 439. Die Leitschaltung 660 überträgt den Zeichencode in der Stufe 413 an die Leitung 651, wenn ihre Kategorie zu dem durch das Signal auf der Leitung 451 vorgeschriebenen Satz gehört. Wenn das Zeichen in der Stufe 413 im ersten Satz liegt und dieser Satz gewählt wurde, schalten das Signal auf der Ader für den Satz Nummer 1 der Leitung 451 und der obere Ausgang des Codierers 6 21 das UND-Glied 661 ein, so daß es den Code auf der Leitung 665 durch das ODER-Glied 664 an die Leitung 651 leitet. Ein Zusammenfluß der Signale auf der Ader Satz Nummer 2 und dem mittleren Ausgang des Codierers gestattet die übertragung des Code auf der Leitung 665 an die Leitung 651. Signale auf der Ader für Satz Nummer 3 und dem unteren Ausgang des Codierers gestatten in ähnlicher Weise die Übertragung des Code auf der Leitung 665 (?). In gleicher Weise leiten die UND-Glieder 671, 672 oder 673 und das ODER-Glied 674 den Kandidatencode auf der Leitung 675 auf die Leitung 651, wenn die Kategorie des Kandidaten in der Stufe 612 zu dem durch das Signal auf der Leitung 451 angegebenen reduzierten Satz gehört. Die Schaltglieder 6 81 bis 6 84 übertragen den Code auf der Leitung 6 85 auf die Leitung 651, wenn der Kandidatencode in der Stufe 614 zum vorgeschriebenen Satz gehört. Die ODER-Glieder 664, 674 und 684 sind der einfacheren Darstellung halber separat gezeigt, sie können tatsächlich jedoch ein einzelnes 9-bahniges ODER-Glied sein, welches groß genug ist, um einen Zeichencode weiterzuleiten.The output circuit 65O now chooses one of these candidates on the basis of this the context code from the voting circuit 439. The routing circuit 660 transmits the character code in stage 413 on the line 651 if its category belongs to the set prescribed by the signal on line 451. If the sign in the stage 413 is in the first set and this set has been selected, switch the signal on the wire for set number 1 of line 451 and the upper output of the encoder 6 21 the AND gate 661, so that it the code on the line 665 through the OR gate 664 to the Line 651 conducts. A confluence of the signals on wire set number 2 and the central output of the encoder is allowed the transmission of the code on line 665 to line 651. Signals on the wire for set number 3 and the lower output of the encoder similarly allow the code to be transmitted on line 665 (?). The AND gates conduct in the same way 671, 672 or 673 and the OR gate 674 the candidate code on line 675 to line 651 if the category of the candidate belongs to the reduced set indicated by the signal on line 451 at stage 612. The switching elements 6 81 to 6 84 transmit the code on line 6 85 to line 651 when the candidate code in step 614 becomes mandatory Sentence heard. The OR gates 664, 674 and 684 are shown separately for ease of illustration, they can however, it can actually be a single 9-lane OR gate, which is large enough to pass on a character code.

Wenn nur einer der Kandidaten eine Kategorie in den ausgewählten Kategoriensatz hat, kann nur eines der UND-Glied 661 bis 663, 671 bis 673 und 681 bis 683 gleichzeitig eingeschaltet sein, so daß nur ein Code auf der Leitung 651 erscheint. Wenn mehrere Kan-If only one of the candidates has a category in the selected category set, only one of the AND gates 661 to 663, 671 to 673 and 681 to 683 must be switched on at the same time, so that only one code appears on the line 651. If several channels

R0 971 °21 409816/0810 R0 971 ° 21 409816/0810

didaten im gewählten Satz auftreten, überschreiben ihre Codes jedoch einander und erzeugen falsche Ergebnisse. Die Steuerleitung 652 verhindert, daß ein solcher unerwünschter Vorgang an die Ausgabeleitung 456 weitergeleitet wird. Unter normalen Umständen führt die Steuerleitung 652 kein Signal, so daß der Inverter 6 53 das UND-Glied 654 zur Weiterleitung des Code auf der Leitung 6 51 durch das ODER-Glied auf die Leitung 456 einschaltet. Gemäß obiger Beschreibung veranlaßt jedoch die Erkennung mehrerer Kandidaten in demselben Satz das ODER-Glied 629 zur Erregung der Steuerleitung 652. Diese schaltet dann das UND-Glied 654 ab und das UND-Glied 655 ein, so daß ein Rückweisungssymbolcode von der Einheit 657 auf die Leitung 456 übertragen wird. Im obigen Fall muß der Rückweisungscode nur verwendet werden, wenn keine weitere Information über die relative Bedeutung der Kandidaten im Zusammenhang besteht. Wenn die Erkennungseinheit 150 z.B. immer den zuverlässigsten Kandidaten in das Register 410, den nächstzuverlässigen in das Register 611 usw. eingibt, kann die Schaltung 6 25 und die Leiteinrichtung durch nicht dargestellte Einrichtungen ersetzt werden, die den zuverlässigsten Kandidaten in dem durch das Signal auf der Leitung 451 ausgewählten Satz wählen. Das Ergebnis läßt sich auch erzielen, indem man Markierungsbits oder andere Zuverlässigkeitsdaten mit den Kandidatencodes präsentiert.didates occur in the selected sentence, but their codes overwrite each other and produce incorrect results. The control line 652 prevents such undesired operation from being passed on to output line 456. Under normal circumstances the control line 652 carries no signal, so that the inverter 6 53 uses the AND gate 654 to forward the code on the line 6 51 by the OR gate on line 456 turns on. However, as described above, it causes multiple candidates to be recognized in the same sentence, the OR gate 629 for exciting the control line 652. This then switches the AND gate 654 off and the AND gate 655, so that a reject symbol code is transmitted from the unit 657 on the line 456. In the above case the rejection code need only be used if there is no further information related to the relative importance of the candidates consists. For example, if the recognition unit 150 always puts the most reliable candidate in the register 410, the next most reliable inputs into the register 611, etc., the circuit 6 may 25 and the control device by means not shown which will choose the most reliable candidate in the set selected by the signal on line 451. That A result can also be achieved by presenting marker bits or other reliability data with the candidate codes.

Die Erkennungseinheit 150 kann z.B. auch so ausgelegt sein, daß sie einen Spezielcode in die Stufen 612 und 614 setzt, wenn sie das Zeichen in der Stufe 413 zuverlässig in eine Kategorie eingeordnet hat. Die Leitschaltung 650 kann dann auf diesen Code reagieren, indem sie den Zeichencode in der Stufe 413 direkt auf die Ausgäbeleitung 456 setzt. Die Codiereinrichtung 620 kann vor die Empfangseinrichtung 610 gesetzt oder auch in die Erkennungsschaltung 150 so eingebaut werden, daß jedes der Register 410, 611 und 613 jeweils nur die Kandidaten in einem dieser reduzierten Sätze enthält. Die Leitschaltungen 660 bis 6 80 können dann durch einen Multiplexer, z.B. den Multiplexer 453 in Fig. 4, ersetzt werden. Der Generator 600 kann natürlich auch an den Betrieb mit einem Prozessor 200 in Fig. 2 angepaßt werden.The recognition unit 150 may, for example, also be designed to set a special code in stages 612 and 614 when it has reliably classified the character in a category in stage 413. The control circuit 650 can then react to this code, by placing the character code directly on output line 456 in step 413. The encoder 620 can placed in front of the receiving device 610 or in the detection circuit 150 can be installed in such a way that each of the registers 410, 611 and 613 only contains the candidates in one of these Contains reduced rates. The routing circuits 660 through 680 can then be provided by a multiplexer, e.g., multiplexer 453 in Fig. 4, be replaced. The generator 600 can of course also be adapted to operate with a processor 200 in FIG.

EO971021 409816/0810 EO971021 409816/0810

Verarbeitunqsroutine 700Processing routine 700

Eine erfindungsgemäße Kontextverarbeitung kann auch durch Programmierung eines allgemeinen Digitalrechners ausgeführt werden. Fig. 7 zeigt in einem Ab lauf diagramm eine Poutine 700 zur Ausführung der Erfindung auf diese Weise.Context processing according to the invention can also be carried out by programming of a general digital computer. Fig. 7 shows in a flow diagram from a routine 700 for execution of the invention in this way.

Jeder in Fig. 7 (sowie in den Fign. 8 und 9) aufgeführt Code folgt demselben Format. Der erste Buchstabe des Codenamens bezeichnet seinen Typ. Der Buchstabe C bezeichnet einen Code, der ein mögliche Zeichenkategorie darstellt, z.B. kann das Zeichen <:Q" in binärer Schreibweise eine Kategoriencode von "1000 1101" haben. Alle Formen eines Zeichens, das zur selben Kategorie gehört, werden in jedem Digitalrechner normalerweise durch den selben Code dargestellt. Somit sind die Ausdrücke "Zeichen" und "Kategorie" effektiv Synonüme; ein Zeichen "Q" hat eine Kategorie, die ebenfalls "Q" genannt wird und für beide ist die Codedarstellung dieselbe. Zeichencodes haben normalerweise fünf bis acht Bits, die die Darstellung von 32 bis 256 verschiedenen Kategorien gestatten. In einem Digitalrechner ist die Zeichendarstellung normalerweise durch eine Standardform vorgeschrieben, wie EBCDIC oder ASCII. Der Anfangsbuchstabe R in einem Code gibt an, daß dieser Code einen der vorher beschriebenen Sätze von Kategorien darstellt. Wieder ist der Name eines Satzes von dem Code nicht zu unterscheiden, der zur Darstellung dieses Satzes benutzt wurde. Die Ausdrücke "Satz" (oder reduzierter Satz) und "reduzierter Code" haben somit dieselbe Bedeutung. Reduzierte Codes enthalten vorzugsweise zwei oder drei Bits, die die Darstellung von vier bis acht separaten Sätzen gestatten. Die Sätze können willkürlich den verschiedenen reduzierten Codes zugeordnet werden. Die verschiedenen Zeichenkategorien können unter den verschiedenen Sätzen nach Darstellung in Tabelle II zugeordnet werden. Der Anfangsbuchstabe F in einem Code bezeichnet einen Kennzeichen- oder Zustandscode. Da ein Kennzeichen im allgemeinen nur zwei mögliche Werte hat, reicht für seine Darstellung ein einzelnes Bit aus. Der Anfangsbuchstabe P stellt einen numerischen Wahrscheinlichkeitscode dar. Der für einenEach code listed in Figure 7 (as well as Figures 8 and 9) follows the same format. The first letter of the code name indicates its type. The letter C denotes a code which represents a possible character category, for example the character <: Q "in binary notation can have a category code of" 1000 1101 ". All forms of a character belonging to the same category are normally indicated by in every digital computer Thus the terms "character" and "category" are effectively synonymous; a character "Q" has a category also called "Q" and the code representation is the same for both. Character codes are usually five to eight bits which allow the representation of 32 to 256 different categories. In a digital computer, the character representation is usually dictated by a standard form such as EBCDIC or ASCII The initial R in a code indicates that this code represents one of the previously described sets of categories. Again, the name of a sentence is indistinguishable from the code used to represent that sentence The terms "sentence" (or reduced sentence) and "reduced code" thus have the same meaning. Reduced codes preferably contain two or three bits which allow four to eight separate sentences to be represented. The sentences can be arbitrarily assigned to the various reduced codes. The various categories of characters can be assigned to the various sentences as shown in Table II. The initial F in a code denotes a flag or status code. Since a label generally has only two possible values, a single bit is sufficient to represent it. The first letter P represents a numerical probability code. The one for one

RO 971 021RO 971 021

409816/0810409816/0810

solchen Code benötigte Raum kann beträchtlich schwanken, normalerweise reichen jedoch zwei bis sechs Bits für die vorliegenden Zwecke aus.space required for such code can vary considerably, usually however, two to six bits are sufficient for the present purposes.

Der zweite Buchstabe einer jeden Codebezeichnung schreibt die Funktion des Code innerhalb der Erfindung vor und beeinflußt seine Struktur nicht. Die dem zweiten Buchstaben eventuell folgenden Abostrophstriche unterteilen die Codes weiter, die dieselbe allgemeine Funktion haben. Die Zahl am Ende eines jeden Code gibt schließlich die Verbindung des Code mit einem bestimmten Zeichen in der betrachteten Zeichengruppe an. In der vorliegenden Darstellung kann das Zeichen #1 dem Zeichen in der Schieberegisterstufe 211 (Fig. 2), 411 (Fig. 4) oder 511 (Fig. 5), das Zeichen #2 dem Zeichen in der Stufe 212, 412 oder 512 usw. entsprechen.The second letter of each code designation dictates and affects the function of the code within the invention Structure not. The subscripts that may follow the second letter subdivide the codes further, the same general Function. The number at the end of each code indicates the connection between the code and a specific character in the group of characters under consideration. In the present illustration, the character # 1 can be the character in the shift register stage 211 (Fig. 2), 411 (Fig. 4) or 511 (Fig. 5), the character # 2 corresponds to the character in stage 212, 412 or 512, and so on.

So bezeichnet die Angabe "RY3" den Kontextcode, da dieser Code ein reduzierter Code mit einer bestimmten Funktion ist und zum dritten Zeichen in der illustrativen Gruppe von fünf betrachteten Zeichen gehört. Ein bestimmter Wert eines Code wird dargestellt durch eine oder mehrere Zahlen oder kleingeschriebene Buchstaben. Die Bezeichnung "FM3=1" besagt z.B., daß das zum dritten Zeichen gehörende Markierungskennzeichen den binären Wert 1 hat, während "CX3 ·*■ rej." bedeutet, daß ein zurückgewiesener Codewert, wie z.B. "1111 1111" den Kategoriecode des dritten Eingabezeichens ersetzt.For example, "RY3" denotes the context code, since this code is a reduced code with a specific function and belongs to the third character in the illustrative group of five characters under consideration. A certain value of a code is represented by one or more numbers or lower case letters. The designation "FM3 = 1" means, for example, that the marking identifier belonging to the third character has the binary value 1, while "CX3 · * ■ rej." means that a rejected code value such as "1111 1111" replaces the category code of the third input character.

Die.am Eingangspunkt 7Ol beginnende Routine 700 betrachtet fünf Eingabezeichen CXl bis CX5, um die Identifizierung des unbekannten Zeichens CX3 festzulegen oder zu verstärken. Nachdem im Schritt 710 diese fünf Codes einschließlich ihrer Harkierungskennzeichen FMl bis FM5 aus der Einheit 150 in Fig. 1 eingelesen werden, wird im Entscheidungsschritt 761 der Zuverlässigkeitsunterroutine 760 festgestellt, ob das Markierungskennzeichen FM3 den Wert 1 hat und damit anzeigt, daß das Zeichen #3 unzuverlässig durch die Einheit 150 identifiziert wurde. War die Identifizierung zuverlässig, verzweigt das Programm vom Schritt 761 zumRoutine 700 beginning at entry point 70 looks at five Input characters CXl to CX5 to identify the unknown Character CX3 to set or strengthen. After in step 710 these five codes including their tick mark FM1 to FM5 are read in from the unit 150 in FIG. 1, in decision step 761 of the reliability subroutine 760 determines whether the flag FM3 has the value 1, indicating that the character # 3 is unreliable identified by unit 150. If the identification was reliable, the program branches from step 761 to

RO 971 021RO 971 021

409816/0810409816/0810

Ausgangspunkt 702. Dadurch wird der Wert für CX3 unverändert gelassen. War die Entscheidung jedoch nicht zuverlässig, wird im Block 762 dem Kennzeichen FM13 ein Wert zugeordnet durch Auswertung einer vorgegebenen Funktion der Kennzeichen FMl, FM2, FM4 und FM5. Das Kennzeichen FM3 braucht hier nicht verwendet zu werden, da sein Wert bereits aus dem Block 761 bekannt ist. Die Sonderfunktion kann eine der in Verbindung mit der Schaltung 261 in Fig. 2 beschriebenen Funktionen sein. Wenn FM'3=1 ist, ist der Zusammenhang unzuverlässig und vom Block 76 3 verzweigt das Programm zum Block 764, wo ein Rückweisungscode für CX3 eingesetzt wird. Dann läuft das Programm am Punkt 702 aus.Starting point 702. This leaves the value for CX3 unchanged. However, if the decision was not reliable, a value is assigned to the identifier FM 1 3 in block 762 by evaluating a predetermined function of the identifiers FM1, FM2, FM4 and FM5. The identifier FM3 does not need to be used here, since its value is already known from block 761. The special function can be one of the functions described in connection with the circuit 261 in FIG. If FM'3 = 1, the relationship is unreliable and from block 76 3 the program branches to block 764, where a rejection code is inserted for CX3. The program then expires at point 702.

Wenn der Zusammenhang hinreichend zuverlässig ist, wird im Schritt 771 in einer Verzeichnissuche-Unterroutine 770 ein Leerschrittkennzeichen FS3 von den Eingabezeichencodes CXl, CX2, CX4 und CX5 ausgewertet. Der Wert dieses Kennzeichens ist 1, wenn CX3 ein Teil eines kleinen Wortes ist, andernfalls ist der Wert Null. Im Entscheidungsschritt 272 wird zum Übersetzungsschritt 773 für FS3=1 verzweigt. Im Block 773 wird durch Verkettung der Codes CX2, CX3 und CX4 eine Tabelle 774 adressiert. Jeder adressierbare Eintragung in der Tabelle 774 enthält einen Einzelzeichencode CD3, der die wahrscheinlichste Kategorie für das Eingabezeichen CX3 im Zusammenhang mit CX2 und CX4 angibt. In dem Tabellenaufbau wird bei 774 nur das Codeformat gezeigt, d.h., die Adresse der Tabelle wird aus drei Vollzeichencodes gebildet und jede Eintragung gibt einen Vollzeichencode aus. Diese Abkürzung zeigt klarer, daß, wenn jeder Zeichencode z.B. fünft Bit enthält, die Adresse eine Länge von 15 Bits hat und jede der Eintragungen fünf Bits umfaßt (d.h. die Tabelle hat eine Breite von fünf Bits). Die Tabelle 774 kann Wörter mit weniger als drei Buchstaben verarbeiten, da das Leerzeichen ebenfalls ein gültiger Zeichencode ist. Die Verzeichniseintragung CD3 ersetzt das Eingabezeichen CX3 im Schritt 775. Auf diese Weise unterstützt das einfache und zuverlässige Verzeichnis den leistungsfähigeren N-Grammprozessor.If the connection is sufficiently reliable, step 771 in a directory search subroutine 770, a space flag FS3 evaluated by the input character codes CXl, CX2, CX4 and CX5. The value of this flag is 1 if CX3 is part of a small word, otherwise the value is zero. Decision step 272 becomes translation step 773 for FS3 = 1 branched. In block 773, a table 774 is addressed by concatenating the codes CX2, CX3 and CX4. Any addressable Entry in table 774 contains a single character code CD3, which is the most likely category for the input character Indicates CX3 in connection with CX2 and CX4. In the table structure, only the code format is shown at 774, i.e. the address of the The table is formed from three full-character codes and each entry outputs a full-character code. This abbreviation shows It is clear that if each character code contains, for example, five bits, the address is 15 bits in length and each of the entries is five Bits (i.e. the table is five bits wide). Table 774 can handle words with fewer than three letters, because the space is also a valid character code. The directory entry CD3 replaces the input character CX3 in step 775. In this way the simple and reliable directory supports the more powerful n-gram processor.

R0 "1021 409816/0810 R0 " 1021 409816/0810

Die Unterroutine 750 wertet die Verwechslungsliste mit dem im Schritt 730 ausgewählten Satz aus, um den richtigen Code für das Eingabezeichen CX3 auszugeben. Im. Schritt 751 wird zuerst angefragt, ob die durch den ersten Verwechslungscode CW3 angegebene Kategorie ein Teil des durch den Kontexcode RY3 dargestellten ausgewählten Satzes ist. Wenn das der Fall ist, wird im Block 752 der Wert des Code CX3 durch den Wert des Code CW3 ersetzt. Ist es nicht Fall, wird im Entscheidungsblock 753 festgestellt, ob die Kategorie des zweiten Verwechselungszeichens CW'3 im Satz RY3 enthalten ist. Wenn das der Fall ist, wird im Schritt 754 der Code CX3 durch den Code XW13 ersetzt. Ist das nicht der Fall, wird im Block 755 weiter geprüft, ob das dritte Verwechslungszeichen CW"3 im Kontextcode RY3 enthalten ist. Ist das der Fall, wird im Block 756 der Wert CW"3 über CX3 geschrieben. Jeder der Blocks 752, 754 und 756 führt zum Ausgangspunkt 702.The subroutine 750 evaluates the mix-up list with the sentence selected in step 730 in order to output the correct code for the input character CX3. In step 751 an inquiry is first made as to whether the category indicated by the first confusion code CW3 is part of the selected set represented by the context code RY3. If so, in block 752 the value of code CX3 is replaced by the value of code CW3. If not, decision block 753 determines whether the category of the second confusion mark CW'3 is contained in set RY3. If so, in step 754 the code CX3 is replaced by the code XW 1 3. If this is not the case, a further check is made in block 755 as to whether the third confusion character CW "3 is contained in the context code RY3. If this is the case, the value CW" 3 is written via CX3 in block 756. Each of the blocks 752, 754 and 756 leads to the starting point 702.

Verarbeitungsroutine 800Processing routine 800

Die in Fig. 8 dargestellte Routine 800 ist eine andere Verwirklichung eines Kontextverarbeitungsverfahrens nach dem Erfindungsgedanken. Der Eintritt erfolgt am Punkt 801 und die Routine empfängt zuerst eine Gruppe von Eingabezeichen von einer Erkennungseinheit 150, aus denen mehrere Kandidaten für jedes Zeichen erzeugt werden sollen. Außer den Zeichencodes CXl bis CX5 werden im Schritt 810 daher ebenfalls die zweiten und dritten Kandidaten CX13 und CX"3 einegelesen, wobei CX3 selbst der erste Kandidat ist. Somit wird im Schritt 810 die Doppelfunktion des Empfanges der Kontexzeichen und des Spezifizierung der Kandidatenliste oder Verwechslungszeichen für die Routine 800 ausgeführt.The routine 800 shown in FIG. 8 is another implementation of a context processing method according to the inventive concept. Entry occurs at point 801 and the routine first receives a group of input characters from a recognition unit 150 from which multiple candidates are to be generated for each character. In addition to the character codes CX1 to CX5, the second and third candidates CX 1 3 and CX "3 are also read in step 810, with CX3 itself being the first candidate or confusion marks for routine 800 performed.

Die Codierunterroutine 820 übernimmt ebenfalls zwei Funktionen. Im Schritt 821 werden CX2 und CX4 in die entsprechenden reduzierten Codes RX2 und RX4 zur Benutzung durch die nachfolgend zu beschreibende Unterroutine 830 übersetzt. Im Schritt 821 werden ebenfalls die drei Kandidaten CX3,. CX83 und CX"3 in die ent-The coding subroutine 820 also performs two functions. In step 821, CX2 and CX4 are reduced to the corresponding ones Codes RX2 and RX4 translated for use by subroutine 830 to be described below. In step 821 also the three candidates CX3 ,. CX83 and CX "3 in the

RO971021 409816/081Ö RO971021 409816 / 081Ö

sprechenden reduzierten Codes RX3, RX'3 und RX"3 zur Erkennung einer Konfliktsituation übersetzt. Pur beide Funktionen kann die Tabelle 822 verwendet werden, da die Eintragungen an den entsprechenden Adressen für beide Anwendungen dieselben sind. Im Schritt 823 wird dann eine Funktion dieser reduzierten Codes zur Erzeugung eines Wertes für das Konfliktkennzeichen FI3 ausgewertet. Die im Block 823 ausgeführte Funktion kann eine der im Zusammenhang der Abstimmschaltung 439 in Fig. 4 beschriebenen Funktionen sein. Obwohl dieser Vorgang nicht in Fig. 8 gezeigt ist, kann der Block 823 umgeordnet werden, so daß er dem Schritt 841 folgt und der Kontextcode RY3 dann bei der Auswertung von FI3 verwendet werden kann. Im Ents cheidungs schritt 824 verzweigt das Programm zum Schritt 857, wenn FI3 anzeigt, daß ein Konflikt zwischen mehreren Kandidaten in demselben reduzierten Satz nicht gelöst werden kann. Sonst wird die Steuerung an den Schritt 831 weitergegeben.speaking reduced codes RX3, RX'3 and RX "3 for recognition translated into a conflict situation. The Table 822 can be used because the entries at the corresponding addresses are the same for both applications. In step 823, a function of these reduced codes is then evaluated to generate a value for the conflict indicator FI3. The in The function performed at block 823 may be any of those in the context of Tuning circuit 439 may be the functions described in FIG. Although this process is not shown in FIG. 8, the block 823 can be rearranged so that it follows step 841 and the context code RY3 is then used in the evaluation of FI3 can. In decision step 824 the program branches to Step 857 when FI3 indicates that a conflict between multiple candidates in the same reduced sentence cannot be resolved. Otherwise control is passed to step 831.

Die Kontextcode-Erzeugungsunterroutine 830 beginnt irit einer Prüfung auf ein Leerzeichen "b" in der vom Eingabezeichen CX2 belegten Stelle. Die tatsächlich benutzte Bedinung ist RX2=b und nicht CX2=b, da es für diesen Zweck erwünscht sein kann, Punkt, Komma usw. in demselben reduzierten Satz zu codieren wie das Leerzeichen. Wenn im Schritt 831 eine Leerstelle erkannt wird, wird im Schritt 832 der Code CXl durch den Wert für eine Leerzeichenkategorie ersetzt und das Programm läuft zum Schritt 833 weiter. Diese Wertänderung von CXl ist während der Verarbeitung weiterer Zeichen Problem, da im Schritt 810 der richtige Code von der Erkennungseinheit 150 im nächsten Durchlauf der Routine 800 eingelesen wird. Dem Schritt 833 folgt der Schritt 831 oder 832 und erzeugt einen provisorischen Kontextcode RW2 und einen Wahrscheinlichkeitsfaktor PW2 aus dem nichtcodierten Zeichen CXl und dem reduzierten Code RX2. Der provisorische Code RW2 stellt den wahrscheinlichsten Satz CX3 dar, basierend auf der um CX2 zentrierten Dreizeichengruppe. Der Schritt 833 kann durch eine übersetzung mit einer durch die Verkettung des Vollzeichencode und eines reduzierten Code adressierten Tabelle 834 ausgeführt werden. Darstellungsgemäß gibt die adressierte Eintragung einenThe context code generation subroutine 830 begins with one Check for a space "b" in the position occupied by the input character CX2. The actual condition used is RX2 = b and not CX2 = b, since for this purpose it may be desirable to encode periods, commas, etc. in the same reduced sentence as the space. If a space is detected in step 831, then in step 832 the code CX1 is replaced by the value for a space category and the program continues to step 833. This change in value of CXl is further during processing Character problem, since in step 810 the correct code is read in by the recognition unit 150 in the next run of the routine 800 will. Step 833 is followed by step 831 or 832 and generates a provisional context code RW2 and a probability factor PW2 from the non-coded character CXl and the reduced code RX2. The provisional code RW2 represents the represents the most likely sentence CX3, based on the group of three characters centered around CX2. Step 833 can be accomplished by a translation with a table 834 addressed by the concatenation of the full-character code and a reduced code. As shown, the addressed entry gives a

RO 971 021RO 971 021

409816/0810409816/0810

reduzierten Code und einen dazu gehörenden numerischen Wahrscheinlichkeitswert aus.reduced code and a corresponding numerical probability value the end.

Im Schritt 835 werden als nächstes die Codes RW3, PW3 für die auf CX3 zentrierte DreiZeichengruppe erzeugt. In diesem Fall wird die Tabelle 836 durch zwei reduzierte Codes adressiert. In den Schritten 837 und 838 werden dieselben Funktionen ausgeführt wie in den Blocks 831 und 832 relativ zu den Codes RX4 und CX5 anstelle von RX2 und CXl. D.h., die Kontextζeichen auf der weiten Seiten eines Leerzeichens in jeder Richtung werden als außerhalb der Identifizierung von CX3 liegend betrachtet. Im Schritt 839 wird dann ein provisorischer Kontextcode RW4 und die Wahrscheinlichkeit PW4 genauso erzeugt, wie im Schritt 833 die Werte RW2 und PW2. Die übersetzungstabelle 84Ο für den Schritt 839 muß andere Eintragungen enthalten als die Tabelle 834 entsprechend der Erklärung im Zusammenhang mit den ROS-Einheiten 431 und in Fig. 4. Die von der Tabelle 840 ausgegebene Eintragung schreibt den wahrscheinlichsten reduzierten Satz (und seinen Wahrscheinlichkeitswert} für das Eingabezeichen CX3 vor, basierend auf der auf CX4 zentrierten Dreizeichengruppe. D.h. die Routine 800 verwendet drei gleitende Drei2eichengruppen und die Tabellenanordnung 834, 836, 840 anstelle einer einzigen festliegenden Fünfzeichengruppe und einer Tabelle 731 der Routine 700. Im Schritt 841 der Dnterroutine 830 wird schließlich der endgültige Kontextcode RY3 erzeugt als eine vorbestimmte Funktion der drei provisorischen Codes RW2, RW3, RW4 und ihrer Wahrscheinlichkeiten PW2, PW3 und PW4. Die im Schritt 841 verwendete genaue Funktion kann sich ändern, sie kann aber auch mit den Funktionen übereinstimmen,' die im Zusammenhang mit der Abstimmschaltung 439 in Fig. 4 beschrieben wurden.Next, in step 835, the codes RW3, PW3 for the A group of three characters centered on the CX3 is generated. In this case it will the table 836 is addressed by two reduced codes. In steps 837 and 838 the same functions are performed as in blocks 831 and 832 relative to codes RX4 and CX5 instead of RX2 and CX1. That is, the context characters across the board Pages of space in either direction are considered to be outside the identification of CX3. In step 839 a provisional context code RW4 and the probability PW4 are then generated in the same way as the values RW2 in step 833 and PW2. The translation table 84Ο for step 839 must contain entries other than table 834 in accordance with the explanation in connection with the ROS units 431 and in Fig. 4. The entry returned by table 840 writes the most probable reduced sentence (and its probability value) for the input character CX3, based on the group of three characters centered on CX4. That is, routine 800 is used three sliding groups of three digits and the table arrangement 834, 836, 840 instead of a single fixed five-character group and table 731 of routine 700. In step 841 of interroutine 830 eventually becomes the final context code RY3 generates as a predetermined function of the three provisional codes RW2, RW3, RW4 and their probabilities PW2, PW3 and PW4. The exact function used in step 841 can change, but it can also match the functions, ' which were described in connection with the tuning circuit 439 in FIG.

Aus der Lister CX3, CX13, CX"3 bleibt der Kandidat auszuwählen, der ein Teil des durch den Kontextcode RY3 angegebenen Satzes ist. Zu diesem Zweck prüft der Schritt 851 der ünterroutine 850 zuerst die Kategorie CX3 auf Mitgliedschaft in dem durch RY3 angegebenen Satz. Wenn CX3 zu diesem Satz gehört, wird sein WertFrom the list CX3, CX 1 3, CX "3, the candidate remains to be selected which is part of the set indicated by the context code RY3. For this purpose, step 851 of the subroutine 850 first checks the category CX3 for membership in the set indicated by RY3 Sentence. If CX3 belongs to this sentence, its value becomes

RO 971 Ο21RO 971 Ο21

409816/08 10409816/08 10

dem Ausgäbezeichen CY3 im Schritt 852 zugeordnet. Andernfalls prüft der Schritt 853 den zweiten Kandidaten CX'3 auf Mitgliedschaft im reduzierten Satz RY3. Wenn diese Beziehung zufriedenstellend ist, schreibt der Schritt 854 den Wert von CX'3 in CY3, andernfalls verzweigt der Schritt 853 zum Entscheidungsschritt 855. Der Einfluß des dritten Kandidaten CX"3 in RY3 veranlaßt dann den Block 856 zum Schreiben von CX"3 in CY3, während die. entgegengesetzte Bedingung eine Verzweigung zum Schritt 857 hervorruft. Wenn keiner der Kandidaten im gewählten Satz RY3 liegt, gibt der Schritt 857 dem Rückweisungscode als CY3 aus. Die Blocks 852, 854, 856 und 857 führen alle zum Ausgangspunkt 802 der Routine 800.assigned to the output flag CY3 in step 852. Otherwise Step 853 examines the second candidate CX'3 for membership in the reduced rate RY3. If this relationship is satisfactory, step 854 writes the value of CX'3 to CY3, otherwise, step 853 branches to the decision step 855. The influence of the third candidate CX "3 in RY3 then causes block 856 to write CX" 3 in CY3 while the. opposite condition causes a branch to be made to step 857. If none of the candidates are in the chosen set RY3, Step 857 outputs the rejection code as CY3. The blocks 852, 854, 856 and 857 all lead to starting point 802 of routine 800.

Im Gegensatz zur Routine 700 gibt die Routine 800 das Ausgabezeichen CY3 nicht wieder in die Eingabezeichenfolge CXl bis CX5 ein. Diese Funktion kann jedoch in der Routine 800 bei Bedarf auch ausgeführt werden. Zahlreiche andere Variationen, wie sie in Verbindung mit den Fign. 2 bis 7 beschrieben wurden, sind ebenfalls möglich.In contrast to routine 700, routine 800 gives the output character Do not re-enter CY3 in the input string CX1 through CX5. However, this function can be used in routine 800 if necessary also be run. Numerous other variations, as they are in connection with FIGS. 2 to 7 are described also possible.

Vorfilterroutine 900Pre-filter routine 900

Die in Fig. 9 dargestellte Routine 9OO ist im wesentlichen eine programmierte Verwirklichung des in Fig. 5 gezeigten festverdrahteten Vorfilters 500. Die Routine 900 kann zusammen mit den Routinen 700 oder 800 oder als programmierte Verbindung zu den in Fig. 2 und 4 gezeigten Prozessoren vollendet werden. Wie das Filter 500 reicht die Routine 9OO zur Eigenverwendung nicht aus. Ihre Zuverlässigkeit steigert die Gesamtzuverlässigkeit eines Kontexsystemes jedoch, welches sie in Verbindung mit einem leistungsfähigeren Analyseverfahren verwendet.Routine 900 shown in FIG. 9 is essentially a programmed implementation of the hardwired one shown in FIG Pre-filter 500. The routine 900 can be used together with the routines 700 or 800 or as a programmed connection to the processors shown in Figs. 2 and 4 can be completed. Like the filter 500, the routine 900 is insufficient for self-use. Their reliability increases the overall reliability of a context system, however, which they in connection with a more powerful analysis methods are used.

Nach dem Eingangspunkt 901 werden im Schritt 910 die Eingabezeichencodes CXl bis CX5 empfangen, um festzustellen, ob das Zeichen CX3 eine hinreichende Wahrscheinlichkeit dafür aufweist, daß es falsch ist. Die Codierunterroutine 9 30 übersetzt jedeAfter entry point 901, at step 910, the input character codes become CXl to CX5 received in order to determine whether the character CX3 has a sufficient probability of that it is wrong. The coding subroutine 9 30 translates each

RO 971 021RO 971 021

^09816/0810^ 09816/0810

das Zeichen CX3 enthaltende Dreizeichengruppe in ein Kennzeichen, welches angibt, ob CX3 falsch sein kann oder nicht, basierend auf diesen drei Zeichen. Im Schritt 9 31 wird zuerst die die Zeichen CXl bis CX3 umfassende DreiZeichengruppe in ein binäres Konsistenzkennzeichen FJ2 übersetzt. Die übersetzung erfolgt durch Adressierung einer Tabelle 9 32 mit drei verketteten Zeichencodes. Diese Tabelle braucht nur ein Bit groß zu sein, da FJ2 nur zwei mögliche Werte hat. Als nächstes für den Schritt 933 die um CX3 zentrierte Dreizeichengruppe, die auch CX2 und CX4 umfaßt, in ein anderes binäres Konsistenzkennzeichen FJ2 übersetzt. Schließlich v/erden im Block 934 die um CX4 zentrierten Dreizeichen in ein drittes binäres Kennzeichen FJ4 übersetzt. Die Schritte 931, 933 und 9 34 verwenden alle dieselbe Tabelle 9 32,a group of three characters containing the character CX3 into a license plate, which indicates whether or not CX3 can be wrong based on these three characters. In step 9 31 first the characters CX1 to CX3 comprising three character group into a binary consistency indicator FJ2 translated. The translation is done by addressing a table 9 32 with three concatenated character codes. This table only needs to be one bit, as FJ2 only has two possible Has values. Next, for step 933, move the group of three characters centered around CX3, which also includes CX2 and CX4, to another binary consistency indicator FJ2 translated. Finally, in block 934, the three characters centered around CX4 ground into a third binary identifier FJ4 translated. Steps 931, 933 and 934 all use the same table 9 32,

Jedes der Kennzeichen FJ2 bis FJ4 gibt an, ob die Kategorie des Zeichens CX3 eine minimale Erscheinungswahrscheinlichkeit in einer der obigen Dreizeichengruppen hat. Im Schritt 9 35 werden dann diese Kennzeichen kombiniert, um ein binäres Kennzeichen FK3 abzuleiten, welches angibt, ob das gegebene CX3 tatsächlich in allen drei Dreizeichengruppen möglich ist. Die Ausgabeunterroutine 9 50 stellt schließlich den für CX3 zuzuordnenden Code fest. Wenn der Schritt 951 nicht die Bedingung FK3=1 erkennt, dann ist diese Kategorie in allen Dreizeichengruppen möglich und der CX3-Code wird unverändert zum Ausgangspunkt 902 weitergeleitet. Wenn jedoch FK3=1 ist, ist diese Kategorie in mindestens einer Dreizeichengruppe unwahrscheinlich und dann wird im Schritt 9 52 dem Zeichen CX3 ein Rückweisungscode zugeordnet, bevor es zum Ausgangspunkt 902 gegeben wird.Each of the flags FJ2 to FJ4 indicates whether the category of the Character CX3 has a minimum probability of appearance in one of the three character groups above. In step 9 35 are then combines these identifiers to derive a binary identifier FK3 which indicates whether the given CX3 is actually in all three groups of three characters is possible. The output subroutine 9 50 finally determines the code to be assigned for the CX3. If step 951 does not recognize the condition FK3 = 1, then it is Category possible in all three-character groups and the CX3 code is forwarded to starting point 902 unchanged. But when FK3 = 1, this category is unlikely in at least one group of three characters and then in step 9 52 the character CX3 assigned a rejection code before going to the starting point 902 is given.

Wechselverbindungen im SystemExchange connections in the system

Das Prinzip der Verknüpfung der Verfahren zu einem System, wie es im Block 160 in Fig. 1 gezeigt ist, ist ebenfalls Teil der vorliegenden Erfindung. Wie in einer Erkennungseinheit eine Entscheidung zwischen Rückweisungsrate und Substitionsrate getroffen werden muß, so bringt auch die Kontextverarbeitung eine Ent-The principle of linking the methods to form a system, as shown in block 160 in FIG. 1, is also part of FIG present invention. How a decision is made between rejection rate and substitution rate in a recognition unit must be, then the context processing also brings a development

971 021 4 09816/0810971 021 4 09816/0810

scheidung zwischen Leistung und Zuverlässigkeit mit sich, d.h.. zwischen der Möglichkeit, kontextgestützte Identifizierung vorzunehmen und der Genauigkeit dieser Entscheidung. Es wurde jedoch festgestellt, daß Leistungunzuverlässigkeit eines kontextgestützten gesamten Erkennungssystem ohne eine Kostensteigerung durch die gleichzeitige Anwendung eines sehr zuverlässigen Kontextverfahrens und eines sehr leistungsfähigen Kontextverfahrens erhöht werden können.distinction between performance and reliability with itself, i.e .. between the possibility of context-based identification and the accuracy of that decision. However, it has been found that performance unreliability of a context-based entire detection system without increasing costs through the simultaneous application of a very reliable context method and a very powerful context method can be increased.

Das zuverlässige Verfahren braucht nicht besonders leistungsfähig zu sein, wie z.B. die Einheit 500 und die Routine 9OO, sie brauchen auch nicht hinreichend allgemein zu sein, um auch nur eine Entscheidung in allen Fällen zu versuchen, wie es durch die Einheit 300 und die Unterroutine 770 gezeigt wurde. Das leistungsfähige Verfahren braucht andererseits nicht so zuverlässig zu sein, wie an den Beispielen in den Fign. 2, 4, 6, 7 und 8 gezeigt wird. Dieses Verfahren kann einige Kontextinformation zerstören, um z.B. eine größere Anzahl von Kontext zeichen zu betrachten, da viele Möglichkeiten für falsche Entscheidungen vorher oder nachher ausgeschaltet werden. Obwohl ein mit einem Großwortverzeichnis arbeitender Prozessor weniger genau sein kann bei der Lieferung einer korrekten Gesamtübereinstimmung zwischen Eingabewort und einem Verzeichniswort, reduziert die Erkennung unwahrscheinlicher Dreizeichengruppen oder Fünfzeichengruppen aus dem Eingabewort durch ein binäres Vorfilter, wie z.B. das Filter 500 oder das Programm 900 die Möglichkeit falscher Übereinstimmungen im Verzeichnis.The reliable method need not be particularly powerful, such as unit 500 and routine 900, nor do they need to be sufficiently general to attempt even one decision in all cases, as is done by unit 300 and subroutine 770 was shown. On the other hand, the efficient method does not need to be as reliable as in the examples in FIGS. 2, 4, 6, 7 and 8 is shown. This method can destroy some context information, for example to consider a larger number of context characters, since many possibilities for wrong decisions before or afterwards are eliminated. Although a processor working with a large word dictionary may be less accurate in providing a correct overall match between an input word and a dictionary word, the detection of improbable groups of three or five characters from the input word by a binary prefilter, such as filter 500 or program 900, reduces the possibility of wrong ones Matches in the directory.

Diese synergistische Anwendung ipehrfacher Kontextverfahren zeigt, daß die Zuverlässigkeits- und Genauigkeitsforderungen vieler allgemeiner und leistungsfähiger Verfahren nicht mehr so wichtig das , wie bisher angenommen wurde, ümgekeht können jetzt auch relativ einfache Verfahren, die bekanntlich sehr genau und Zuzuverlässig sind, ohne übermäßige Berücksichtigung ihrer allgemeinen oder umfassenden Basis verwendet werden. Ein einfaches BeispielThis synergistic application of multiple contextual methods shows that the reliability and accuracy requirements of many general and powerful methods are no longer so important that, as was previously assumed, can now also be done relatively simple procedures which are known to be very accurate and reliable without undue consideration of their general principles or comprehensive basis. A simple example

RO971021 409816/0810 RO971021 409816/0810

dafür ist die Formatinformationsquelle in der Erkennungseinheit 150 oder der CPU 170 in Fig. 1. Wenn z.B. bekannt ist, daß das System 100 ein numerisches Feld auf dem Beleg 110 liest, braucht der Prozessor der Fig. 2 z.B. keine Konflikte zwischen Zahlen und Buchstaben wie 2-Z, 5-S, 6-G und 8-B zu entscheiden.for this, the format information source is in the recognition unit 150 or the CPU 170 in Fig. 1. For example, if the system 100 is known to read a numeric field on the receipt 110, need For example, the processor of Fig. 2 does not resolve conflicts between numbers and letters such as 2-Z, 5-S, 6-G, and 8-B.

RO 971 021RO 971 021

409816/0810409816/0810

Claims (1)

P A ΤΕΝΤΑ N SPR ft C HE PA ΤΕΝΤΑ N SPR ft C HE 1. Verfahren zur kontextgestützten Zeichenerkennung, wobei die zu verarbeitenden Eingangscodes Muster darstellen, die zu einer Vielzahl möglicher Kategorien gehören körinen, dadurch gekennzeichnet, daß mehrere Eingangscode eingegeben werden, daß mindestens einige dieser Eingangscodes in eine Anzahl reduzierter Codes umgewandelt wird, von denen jeder eine von mehreren Gruppen der Kategorien darstellt, wobei die Anzahl der Gruppen wesentlich kleiner als die Anzahl der Kategorien ist, daß die Bildung eines Kontextcodes aus der Anzahl der reduzierten Codes danach erfolgt, wobei der Kontextcode eine Gruppe dieser Kategorien darstellt, daß ein Zugang zu einer Liste von Verwirrungs-Codes für eines dieser Muster geschaffen wird, wobei jeder der Verwirrungs-Codes eine der Kategorien darstellt und daß entsprechend dem Kontext-Code ein Verwirrungs-Code ausgewählt wird.1. Method for context-based character recognition, whereby the input codes to be processed represent patterns, which belong to a large number of possible categories, characterized in that several input codes are entered that at least some of these input codes are converted into a number of reduced codes from each of which represents one of several groups of the categories, whereby the number of groups is much smaller than the number of categories is that the formation of a context code from the number of reduced codes afterwards takes place, the context code representing a group of these categories that access to a list of Confusion codes are created for one of these patterns, each of the confusion codes representing one of the categories and that a confusion code is selected in accordance with the context code. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Zugangs-Schritt zu einer Liste von Verwirrungs-Codes die Eintragung in eine Liste -eines Eingangscodes enthält, der diesem einen Muster entspricht, und von wo die Verwirrungsliste entnommen wird.2. The method according to claim 1, characterized in that the step of accessing a list of confusion codes the entry in a list of an entry code which corresponds to this one pattern, and from where the confusion list is removed. 3. Verfahren nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Tabelle mehrere Positionen aufweist und daß jede Position einer der genannten möglichen Kategorien entspricht und eine Liste der Verwirrungs-Codes enthält, die dieser einen möglichen Kategorie zugeordnet sind.3. The method according to claims 1 and 2, characterized in that that the table has several positions and that each position is one of the possible categories mentioned and contains a list of confusion codes associated with that one possible category. RO 971 021 40981 6/081 0RO 971 021 40981 6/081 0 4. Verfahren nach den Ansprüchen 1 bis 3f dadurch gekennzeichnet, daß zur Kontext-Erkennung eines Eingangs-Zeichens aus einer Reihe von Kontext-Zeichen, wobei jedes dieser Zeichen zu einer Kategorie einer Gesamtheit von verschiedenen Kategorien gehört ein jedes Kontext-Zeichen aus einer Vielzahl von Kontext-Zeichen in eine Vielzahl von Gruppen der Kategorien codiert wird, wobei die Gesamtzahl dieser Gruppen wesentlich niedriger als die Anzahl der verschiedenen Kategorien ist, daß die Eintragung einer vorbestimmten Kombination von diesen reduzierten Zeichen in eine Tabelle mit verschiedenen dieser Gruppen, die verschiedenen möglichen Kombinationen der reduzierten Codes zugeordnet sind, danach erfolgt, um von dieser Tabelle jene Gruppe zu bekommen, die vorbestimmten Kombinationen zugeordnet ist, daß einem Eingangszeichen mehrere Verwirrungs-Zeichen zugeordnet werden und daß eines dieser Verwirrungs-Zeichen nach einer Gruppe ausgegeben wird.4. The method according to claims 1 to 3 f, characterized in that for context recognition of an input character from a series of context characters, each of these characters belonging to a category of a set of different categories, each context character from one Variety of context characters is encoded in a variety of groups of categories, the total number of these groups being substantially lower than the number of different categories, that the entry of a predetermined combination of these reduced characters in a table with different of these groups, the different possible combinations of the reduced codes are assigned, then in order to get that group from this table which is assigned to predetermined combinations, several confusion characters are assigned to an input character and that one of these confusion characters is output after a group. 5. Verfahren nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß die Eingangs-Zeichencodes mit Kennzeichenbit versehen sind.5. Process according to claims 1 to 4, characterized in that that the input character codes are provided with flag bits. Schaltungsanordnung zur Durchführung des Verfahrens nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß einer Speicheranordnung (230) zur Speicherung der reduzierten Codes Decoder (220) vorgeschaltet sind, die ihrerseits eingangsseitig mit einem Register (210) verbunden sind, das seinerseits mit einem Speicher (240) verbunden ist, der die Verwirrungs-Codes speichert, und daß die Ausgänge eines logischen Netzwerks (260), das von dem genannten Register (210) gespeist wird, des Verwirrungs-Codes-Speichers (240) und des Speichers (230) für die Vielzahl von reduzierten Codes über ein logisches Netzwerk (250) verbunden sind, an dessen Ausgang (202) das jeweiligeCircuit arrangement for performing the method according to claims 1 to 5, characterized in that a memory arrangement (230) for storing the reduced Codes decoders (220) are connected upstream, which in turn are connected on the input side to a register (210), which in turn is connected to a memory (240) which stores the confusion codes and the outputs a logical network (260) fed by said register (210), the confusion code memory (240) and the memory (230) for the large number of reduced codes via a logical network (250) are connected, at whose output (202) the respective RO 971 02! 409816/0810RO 971 02! 409816/0810 Ausgangssignal erzeugt wird.Output signal is generated. 7. Schaltungsanordnung nach Anspruch 6, dadurch gekennzeichnet, daß der Ausgang des Speichers (230) über einen Decoder (233) mit den Eingängen des logischen Netzwerkes (250) verbunden ist, das seinerseits aus einer Vielzahl von geoderten UND-Gliedern besteht.7. Circuit arrangement according to claim 6 , characterized in that the output of the memory (230) is connected via a decoder (233) to the inputs of the logical network (250), which in turn consists of a plurality of ORed AND gates. RO 971 021RO 971 021 409816/0810409816/0810
DE19732349116 1972-10-03 1973-09-29 PROCEDURE AND CIRCUIT ARRANGEMENT FOR CONTEXT-BASED CHARACTER RECOGNITION Pending DE2349116A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US29470672A 1972-10-03 1972-10-03

Publications (1)

Publication Number Publication Date
DE2349116A1 true DE2349116A1 (en) 1974-04-18

Family

ID=23134578

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19732349116 Pending DE2349116A1 (en) 1972-10-03 1973-09-29 PROCEDURE AND CIRCUIT ARRANGEMENT FOR CONTEXT-BASED CHARACTER RECOGNITION

Country Status (4)

Country Link
JP (1) JPS4973934A (en)
DE (1) DE2349116A1 (en)
FR (1) FR2201788A5 (en)
GB (1) GB1403816A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0054842A2 (en) * 1980-12-22 1982-06-30 Kabushiki Kaisha Toshiba Figure recognizing system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5131053A (en) * 1988-08-10 1992-07-14 Caere Corporation Optical character recognition method and apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0054842A2 (en) * 1980-12-22 1982-06-30 Kabushiki Kaisha Toshiba Figure recognizing system
EP0054842A3 (en) * 1980-12-22 1983-12-07 Tokyo Shibaura Denki Kabushiki Kaisha Figure recognizing system
US4484348A (en) * 1980-12-22 1984-11-20 Tokyo Shibaura Denki Kabushiki Kaisha Figure recognizing system

Also Published As

Publication number Publication date
FR2201788A5 (en) 1974-04-26
JPS4973934A (en) 1974-07-17
GB1403816A (en) 1975-08-28

Similar Documents

Publication Publication Date Title
DE2541204C3 (en) Error correction facility
DE3486272T2 (en) Method and system for character recognition based on the frequency of occurrence of the characters.
DE3851867T2 (en) Character recognition device.
EP0980293B1 (en) Mail distribution information recognition method and device
DE2640537A1 (en) METHOD AND DEVICE FOR DISTINCTIONING BETWEEN N LARGER THAN 2 CHARACTERS BELONGING TO ALPHABETS
DE3545125C2 (en)
DE2755875C2 (en)
DE2540101C2 (en) Method for the automatic recognition of characters by means of an optical character reader
DE2735319A1 (en) CIRCUIT ARRANGEMENT FOR RELATED ENCODING OF CHARACTERS AND FOR CHARACTER DECODING OF SIGNS OF ORIGIN
DE2208664A1 (en) Method for decoding a prefix-free compression code of variable length
DE2435889A1 (en) PROCEDURE AND DEVICE FOR DISTINCTIVE CHARACTER GROUPS
DE2654815A1 (en) PROCEDURE FOR DISTINGUISHING UPPER CASE AND SMALL LETTERS
DE102018115158A1 (en) NC program conversion means
DE2939919A1 (en) ARRANGEMENT FOR CODING IDEOGRAPHIC CHARACTERS
EP0107083B1 (en) Document processing device with correction circuit and video display
DE3026055C2 (en) Circuit arrangement for automatic character recognition
DE19726592C2 (en) Information recognition device
DE2349116A1 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR CONTEXT-BASED CHARACTER RECOGNITION
DE1221042B (en) Method and arrangement for recognizing combinations of characters
DE2460757C2 (en) Facility for selecting the correct form of a word garbled in machine character recognition
DE3110297C2 (en) Display device for several groups of characters in a text
DE4309362C2 (en) Recovery device for recovering information recorded in a storage medium
EP0990218B1 (en) Method for selectively detecting and reading a character string
DE2159884A1 (en) Process for the machine recognition of characters
DE2126231A1 (en) Device for pattern recognition

Legal Events

Date Code Title Description
OHJ Non-payment of the annual fee