DE69722971T2 - Automatisches sprachenerkennungssystem für die mehrsprachige optische zeichenerkennung - Google Patents
Automatisches sprachenerkennungssystem für die mehrsprachige optische zeichenerkennungInfo
- Publication number
- DE69722971T2 DE69722971T2 DE69722971T DE69722971T DE69722971T2 DE 69722971 T2 DE69722971 T2 DE 69722971T2 DE 69722971 T DE69722971 T DE 69722971T DE 69722971 T DE69722971 T DE 69722971T DE 69722971 T2 DE69722971 T2 DE 69722971T2
- Authority
- DE
- Germany
- Prior art keywords
- language
- zone
- word
- confidence
- words
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/242—Division of the character sequences into groups prior to recognition; Selection of dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Discrimination (AREA)
- Machine Translation (AREA)
Description
- Die Erfindung betrifft im Allgemeinen die Unterscheidung zwischen mehreren Sprachen in Kommunikationen, und insbesondere die automatische Erkennung von verschiedenen Sprachen in einem mehrsprachigen Dokument für Zwecke optischer Zeichenerkennung (OCR) und dergleichen.
- Allgemein ausgedrückt umfaßt optische Zeichenerkennung das Unterteilen eines Bildes eines Dokumentes in einzelne Symbole und Gruppen von Symbolen, und Vergleichen der Bilder der Symbole mit Musterinformation, welche repräsentativ für verschiedene Zeichen bezogen auf die Buchstaben eines Alphabetes, Nummern und dergleichen, sind. Um die Genauigkeit des Erkennungsvorganges zu erhöhen, setzen OCR-Maschinen Techniken ein, die auf den Charakteristiken einer besonderen Sprache basieren. Beispielsweise kann die Sprachinformation dazu eingesetzt werden, geeignete Klassifizierer, Wörterbücher, Bigramm- und Trigrammsymbolwahrscheinlichkeiten auszuwählen, sowie sprachspezifische Formate von Daten, Nummern etc. zu erkennen.
- Wenn in der Vergangenheit ein OCR-System in der Lage war, Text in verschiedenen Sprachen zu erkennen, mußte der Benutzer die Sprache des Textes in einem eingescannten Bild von Hand spezifizieren, um das OCR-System in die Lage zu versetzen, die Symbole und Worte in dem Dokumentbild exakt zu erkennen. Für ein Einsprachendokument war diese Aufgabe relativ einfach. Für eine optimale OCR-Verarbeitung von mehrsprachigen Seiten mußten jedoch verschiedene Zonen, welche Text in verschiedenen jeweiligen Sprachen enthielten, abgegrenzt werden und jede Zone mit der korrekten Sprachenmarke identifiziert werden. Die Notwendigkeit für ein solches manuelles Einschreiten kann arbeitsintensiv sein, was in höheren Kosten resultiert und den gesamten Bild-Zu-Text- Umwandlungsvorgang erheblich verlangsamt.
- Da Unternehmen weiterhin global anwachsen, werden mehrsprachige Dokumente immer üblicher. Beispiele solcher Dokumente umfassen Benutzerhandbücher, welche auf mehrere Länder abzielen und welche daher mehrere Sprachen auf einer Seite haben können, und Reisebroschüren, welche genaue Mengen von Information in einer Vielzahl von mehrsprachigen Darstellungen bereitstellen. In diesen Arten von Dokumenten kann der gleiche Typ von Information in verschiedenen Sprachen beschrieben sein sowohl in verschiedenen Paragraphen als auch Spalten oder Seiten. Anderer Beispiele von mehrsprachigen Dokumenten umfassen Magazine von Fluggesellschaften, welche Information für internationale Touristen und Geschäftsreisende bereitstellen, internationale Geschäftskorrespondenz, welche einen Kopf in der Sprache des Ursprungslandes und einen Hauptanteil in der Sprache des Ziellandes aufweist, und Einwanderungsdokumente, welche Anleitungen in verschiedenen Sprachen umfassen. Daher ergibt sich eine wachsende Notwendigkeit für die Fähigkeit, automatisch zwischen verschiedenen Sprachen in einem einzelnen Dokument zu unterscheiden und diese zu identifizieren.
- In der Vergangenheit haben Versuche einer automatischen Sprachidentifikation einen von zwei allgemeinen Ansätzen eingesetzt. In einem Ansatz beruht die Sprachidentifikation auf Merkmalen, welche aus Bildern von Wortgruppierungen extrahiert sind. Beispiele für diesen Ansatz sind z. B. beschrieben in T. Nakayama und A. L. Spitz, "European Language Determination From Image", Proc of Int. Conf. on Document Analysis and Recognition, Tsukuba, Japan, 1993; P. Sibun und A. L. Spitz, "Language Determination: Natural Language Processing From Scanned Document Images", Proc. Of Conf. On App. Natural Language Processing, Stuttgart, Deutschland, 1994; und A. L. Spitz, "Script and Language Determination from Document Images", Proc. Of Symp. On Document Analysis and Information Retrieval, Las Vegas, Nevada, 1994. Techniken des in diesen Referenzen beschriebenen Typs benötigen einen erheblichen Umfang von Text in der betreffenden Sprache, damit die Identifikation verläßlich ist. Wenn die Textsprache relativ häufig wechselt, z. B. von Zeile zu Zeile, ist es nicht möglich, genügend statistische, merkmalsbasierte Hinweise zu erhalten, um eine Sprache von der anderen zu unterscheiden.
- Ein zweiter Ansatz zur Sprachidentifikation nutzt eine Worthäufigkeit und Bigrammwahrscheinlichkeiten. Beispiele dieses Ansatzes sind beschrieben in H. S. Baird, D. Gilbert, und D. J. Ittner, "A Family Of European Page Readers", Proc. Of Int. Conf. on Pattern Recognition, Jerusalem, Israel, 1994; und D. Lee, C. Nohl und H. Baird, "Language Identification in Complex, Unoriented, And Degraded Document Images", Proc. Of IAPR Workshop on Document Analysis Systems, Malvern, PA, 1996. Dieser Ansatz ist nur auf Dokumente des Typs anwendbar, bei dem jede Seite Text in einer einzigen Sprache umfaßt. Er stellt nicht die Möglichkeit bereit, zwischen zwei verschiedenen Sprachen auf der gleichen Seite zu unterscheiden, wenn zuvor keine manuelle Untergliederung vollzogen wurde.
- Desweiteren erfordert er Dokumentbilder mit relativ hoher Wiedergabetreue, um vertrauenswürdige Übergangswahrscheinlichkeiten für die Sprachmodelle zu erzielen.
- Es ist daher wünschenswert, ein System zur automatischen Unterscheidung zwischen und Identifizierung von mehreren Sprachen bereitzustellen, welches keine vorhergehende, manuelle Eingabe erfordert, und welche in der Lage ist, ein Bild in homogene Sprachregionen zu unterteilen, um verläßlich eine Mehrzahl von verschiedenen Sprachen auf einer einzelnen Seite zu identifizieren, und dadurch zu ermöglichen, daß optische Zeichenerkennung mit höherer Geschwindigkeit und Genauigkeit durchgeführt werden kann.
- In Verfolgung der vorhergehenden Aufgaben setzt die vorliegende Erfindung einen wörterbuchbasierenden Ansatz ein, um verschiedene Bereiche eines Dokumentbildes in homogene Sprachbereiche zu unterteilen. Das Unterteilen des Dokumentes kann durchgeführt werden mittels eines Oben-nach-unten-Ansatzes, eines Unten-nach-oben-Ansatzes oder einer Verknüpfung der beiden. In dem Oben-nach- unten-Ansatz wird das Dokument in Zonen und Wortgruppierungen untergliedert mittels geeigneter geometrischer Eigenschaften. Innerhalb jeder Zone werden die Wortgruppierungen verglichen mit Wörterbüchern, welche zu jeder der verschiedenen in Betracht kommenden Sprachen zugeordnet sind, um einen Vertrauensfaktor für jede Sprache definieren. Die Sprache mit dem höchsten Vertrauensfaktor wird anfänglich als die Sprache der Zone identifiziert. Jede Zone ist in lokale Bereiche geteilt, von denen jeder ein einzelnes Wort oder eine Gruppierung von Worten, wie eine Zeile, umfaßt. Die Sprache für jeden lokalen Bereich wird identifiziert mittels eines wörterbuchbasierenden Vertrauensfaktors für Wörter dieses Bereichs. Die lokalen Bereiche werden dann getrennt gemäß der zu jedem von ihnen zugeordneten Sprache.
- In dem Unten-nach-oben-Ansatz wird das Dokumentbild in einzelne Wortgruppierungen zergliedert und ein Vertrauensfaktor wird für jedes Wort für jede in Betracht kommende Sprache bestimmt. Das Dokumentbild wird geteilt in lokale Bereiche, welche wiederum ein einzelnes Wort oder eine Gruppierung von Worten, wie eine Zeile, umfassen. Die Sprache für jeden lokalen Bereich wird identifiziert mittels eines wörterbuchbasierenden Vertrauensfaktors für die Wörter dieser Region. Die lokalen Bereiche, welche eine gemeinsame Sprache aufweisen, werden dann gruppiert gemäß der jeder von ihnen zugeordneten Sprache, um homogene Sprachbereiche zu erzielen.
- In dem verknüpften Ansatz wird das Dokumentbild zuerst in eine oder mehrere Zonen untergliedert, und eine Sprache wird für jede Zone identifiziert. Daran anschließend wird der Oben-nach-unten-Ansatz ausgeführt, und die Zonensprache wird eingesetzt in der Bestimmung der Gruppierungen von lokalen Bereichen, um die homogenen Sprachbereiche zu bilden. Weitere Merkmale der Erfindung und dadurch erreichte Vorteile werden im Anschluß im einzelnen beschrieben unter Bezugnahme von beispielhaften Ausführungsformen, welche in den begleitenden Zeichnungen veranschaulicht sind.
- Fig. 1 ist ein Blockdiagramm eines Computersystems des Typs, bei dem die vorliegende Erfindung eingesetzt werden kann;
- Fig. 2 ist ein Blockdiagramm, welches die allgemeinen Schritte veranschaulicht, welche ausgeführt werden in der optischen Zeichenerkennung eines Dokumentes;
- Fig. 3 ist eine schematische Wiedergabe eines mehrsprachigen Dokuments;
- Fig. 4 ist ein Flußdiagramm eines Gesamtvorgangs einer ersten Ausführungsform der vorliegenden Erfindung;
- Fig. 5 ist ein Flußdiagramm der Unterroutine zum Bestimmen einer Wort-Sprache-Vertrauensstatistik;
- Fig. 6 ist ein Flußdiagramm der Unterroutine zum Definieren einer Bereichs-Sprache-Vertrauensstatistik
- Fig. 7 ist ein Flußdiagramm der Unterroutine zum Zusammenfassen von Bereichen in Unterzonen;
- Fig. 8 ist ein Flußdiagramm des Gesamtvorgangs einer zweiten Ausführungsform der vorliegenden Erfindung;
- Fig. 9 ist ein Flußdiagramm der Unterroutine zum Definieren einer Zonensprache;
- Fig. 10 ist ein Flußdiagramm der Unterroutine zum Definieren einer Bereichssprache; und
- Fig. 11 ist ein Flußdiagramm der Unterroutine zum Unterteilen von Bereichen in Unterzonen.
- Um ein Verständnis der vorliegenden Erfindung zu erleichtern, ist sie im Anschluß unter besonderer Bezugnahme auf die optische Zeichenerkennung einer Dokumentseite, welche Text in mehreren Sprachen umfaßt, beschrieben. Während die vorliegende Erfindung besonders geeignet ist für eine solche Anwendung, wird angemerkt, daß sie nicht auf diesen speziellen Einsatztyp beschränkt sein soll. Vielmehr können die Prinzipien, welche der Erfindung unterliegen, in einer Vielzahl verschiedener Zusammenhänge eingesetzt werden, wo immer wünschenswerterweise die Notwendigkeit besteht, zwischen verschiedenen Sprachen zu unterscheiden und diese zu identifizieren.
- Die automatische Identifikation von Sprachen, oder allgemeiner, optische Zeichenerkennung, kann auf einer Vielzahl von Computersystemen ausgeführt werden. Während die speziellen Hardwarekomponenten eines Computersystems nicht Teil der Erfindung selbst bilden, sind sie hierin kurz beschrieben, um ein tieferes Verständnis der Art und Weise zu geben, auf die die Merkmale der Erfindung mit den Komponenten eines Computersystems zusammenwirken, um die gewünschten Ergebnisse zu erzielen.
- Bezugnehmend auf Fig. 1 umfaßt ein beispielhaftes Computersystem einen Computer 10 mit einer Vielzahl von externen, daran angeschlossenen Peripherievorrichtungen 12. Der Computer 10 umfaßt eine zentrale Prozeßeinheit (CPU) 14 und dazu zugeordneten Speicher. Dieser Speicher umfaßt im Allgemeinen einen Haupt- oder Arbeitsspeicher, welcher typischerweise in der Form eines flüchtigen Speichers (Random Access Memory, RAM) 16, eines statischen Speichers, der einen Nur-Lese-Speicher (Read Only Memory, ROM) 18 umfassen kann, und einer Permanent- Speichervorrichtung, wie einer magnetischen oder optischen Scheibe 20 ausgeführt. Die CPU kommuniziert mit jeder dieser Formen von Speicher durch einen internen Bus 22. Die Peripherievorrichtungen 12 umfassen eine Dateneingabevorrichtung, wie eine Tastatur 24, und eine Zeige- oder Cursorsteuervorrichtung 26, wie eine Maus, ein Stift oder dergleichen. Eine Anzeigevorrichtung 28, wie ein Kathodenstrahlröhrenmonitor oder ein LCD- Bildschirm, stellen eine visuelle Anzeige der Information bereit, welche innerhalb des Computers verarbeitet wird, z. B. eines Bildes eines Dokumentes, welches einer optischen Zeichenerkennung unterzogen wird. Ein Ausdruck der Information kann durch einen Drucker 30 bereitgestellt werden oder eine ähnliche Vorrichtung. Kommunikationen mit anderen Computern können durch ein Modem 32 geführt werden und/oder eine Netzwerkschnittstellenkarte 34. Ein Scanner 36 kann eingesetzt werden, um einen Ausdruck eines Dokumentes in ein elektronisches Format, welches zu speichern, zu manipulieren und innerhalb des Computers zu verarbeiten ist, zu konvertieren. Jede dieser externen Peripherievorrichtungen tauscht Daten mit der CPU 14 mittels einem oder mehrerer Eingabe/Ausgabe-Anschlüsse 38 an dem Computer aus.
- Bei einem Arbeitsvorgang kann der Benutzer ein Dokument über den Scanner 36 einscannen, woraufhin ein Datenfile, welches das Bild des Dokumentes beschreibt, in dem Hauptspeicher 16 gespeichert wird. Das gescannte Dokument kann auch auf dem Monitor 28 dargestellt werden. Während die Inhalte der Bilddatei in dem Hauptspeicher 16 gespeichert werden, kann optische Zeichenerkennungsverarbeitung an ihnen durchgeführt werden, um Zeichendaten für den Text-Anteil des Bildes zu entwickeln. Das Ergebnis der optischen Zeichenerkennung ist die Erzeugung einer separaten Datendatei wie einer ASCII-Datei. Eine oder beide der Bilddatei und der Zeichendatendatei kann in der Permanentspeichervorrichtung 20 gespeichert werden und/oder zu einem weiteren Computer über das Modem 32 oder ein Netzwerk übertragen werden.
- Fig. 2 veranschaulicht die grundlegenden Schritte, welche durch die CPU des Computers während eines typischen optische Zeichenerkennungsvorganges durchgeführt werden. Bezugnehmend hierauf wird zuerst das Bild des Dokumentes in den Computer als Schritt 40 importiert, z. B. mittels des Scanners 36 oder indem es über ein Kommunikationsnetzwerk heruntergeladen wird. In einem optionalen Vorverarbeitungsschritt 42 wird das Bild des Dokumentes um eine Verkippung korrigiert und auf andere Weise gefiltert, um Artefakte zu entfernen, die mit dem Zeichenerkennungsvorgang wechselwirken könnten. Wenn beispielsweise ein fehlerhafter Scanner eine vertikale Linie entlang des Bildes einfügt, kann diese Linie detektiert werden und geeignet vor einer weiteren Verarbeitung entfernt werden. Daran anschließend wird das Dokumentbild in eine Anzahl von Zonen in Schritt 44 untergliedert. Ein Beispiel einer solchen Untergliederung ist in Fig. 3 veranschaulicht. In dem Beispiel dieser Figur umfaßt eine Seite 46 drei Textspalten, welche jede aus zwei Absätzen bestehen. Wenn das Dokument eine mehrsprachige Benutzeranleitung ist, kann z. B. jede Spalte oder jeder einzelne Absatz Text in einer unterschiedlichen Sprache umfassen. Die Untergliederung des Bildes kann zum Unterteilen des Dokumentes in drei Zonen 48a, 48b und 48c führen, welche jeweils zu den drei Spalten korrespondieren. Abhängig von dem Grad der gewünschten Genauigkeit kann das Dokument feiner in kleinere Zonen unterteilt werden. Beispielsweise kann jeder Absatz oder sogar jede Zeile oder Halbzeile eine unterschiedliche Zone bilden. Allgemein kann eine Zone jeder Teil des Dokumentes sein, welcher zwei oder mehr Wortgruppierungen umfaßt.
- Die Vorverarbeitungsschritte zum Korrigieren einer Verkippung und zum Entfernen von Artefakten wie auch die Untergliederung des Dokumentes können ausgeführt werden in Übereinstimmung mit jeder beliebigen einer Vielzahl von wohlbekannten Techniken. Beispiele solcher Techniken sind beschrieben in "Document Image Analysis", von L.O'Gorman und R. Kasturi, IEEE Comp. Soc. Press, 1995, insbesondere Kapitel 4.
- Sobald das Dokument in Segmente unterteilt wurde, werden die einzelnen Wortgruppierungen, d. h. Gruppierungen von Zeichensymbolen, welche einzelne Worte zu bilden scheinen; identifiziert mittels wiederum herkömmlichen optische Zeichenerkennungstechniken. Für jede Wortgruppierung werden eine oder mehrere Annahmen für die möglichen Zeichenketten, welche die Wortgruppierung bilden, in Schritt 50 erzeugt mittels eines Symbolklassifizierers. Detaillierte Informationen hinsichtlich solcher Klassifizierer und ihrer Wirkungsweise kann gefunden werden in "Pattern Classification and Scene Analysis" von Duda und Hart, Wiley & Sons, 1973. Das Ergebnis des ursprünglichen OCR- Schrittes 50 ist eine Abschätzung der Zeichen in jeder der einzelnen Wortgruppierungen. Jede Wortabschätzung oder Annahme kann eine zugeordnete Erkennungswahrscheinlichkeit aufweisen, welche die Wahrscheinlichkeit angibt, daß die Schätzung richtig ist, relativ zu anderen Wortschätzungen für die selbe Wortgruppierung.
- Allgemein ausgedrückt setzt optische Zeichenerkennung einen Klassifizierer ein, der Muster oder Symbole erkennt, welche zu den Zeichen eines Alphabetes, Nummern, Satzzeichen, etc. entspricht. Wenn die spezifische Sprache eines Dokumentes, welches verarbeitet wird, bekannt ist, kann der Klassifizierer auf diese Sprache zugeschnitten werden. In dem Beispiel aus Fig. 3 sind jedoch mehrere Sprachen vorhanden, welche nicht a priori bekannt sein können. In diesem Fall ist der Zeichenklassifizierer, welcher für die Erzeugung der ursprünglichen Wortannahme eingesetzt wird, vorzugsweise einer, der typisch für alle möglichen Sprachen, die zu erkennen sind, ist. Wenn z. B. die optische Zeichenerkennungstechnik dafür entwickelt ist, die verschiedenen romanischen Sprachen zu identifizieren und zwischen diesen zu unterscheiden, kann der typische Symbolklassifizierer derart ausgelegt sein, alle oder die meisten der Symbole in diesen Sprachen zu erkennen. Als Alternative zu dem Einsatz von typischen Klassifizierern ist es möglich, einen Klassifizierer einzusetzen, der spezifisch für eine Sprache ist, aber welcher mit Nachverarbeitungsfähigkeiten erweitert ist, um Symbole zu erkennen, welche nicht in dieser Sprache auftreten können.
- Sobald die Worte ursprünglich abgeschätzt wurden, ist die dem Text in jeder der Zonen zugeordnete Sprache identifiziert in Schritt 52, wie in genaueren Einzelheiten im Anschluß beschrieben. Als ein Ergebnis kann dann eine aggressivere optische Zeichenerkennung, welche einen höheren Grad an Genauigkeit ermöglicht, durchgeführt werden in Schritt 54 mit dem Einsatz von Klassifizierern, die spezifisch für jede identifizierte Sprache sind. Das Endprodukt dieser Verarbeitung ist ein Datenfile 56, welches die einzelnen Zeichen des Textes in dem Originalbild, wie einer ASCII-Datei, wiedergibt.
- Allgemein setzt die vorliegende Erfindung einen wörterbuchbasierten Ansatz ein, bei dem ein Wörterbuch von in einer speziellen Sprache gefundenen Wörtern verwendet wird, um Text in dieser Sprache zu identifizieren. Für jede mögliche, zu identifizierende Sprache wird ein Wörterbuch angelegt für die Wörter in dieser Sprache. Daher kann, wenn z. B. auf römischen Alphabeten basierende Sprachen zu identifizieren sind, ein Wörterbuch eingerichtet werden für jede der folgenden Sprachen: Amerikanisches Englisch, britisches Englisch, französisch, italienisch, deutsch, schwedisch, norwegisch, finnisch, dänisch, portugiesisch, brasilianisches portugiesisch, spanisch und holländisch. Jedes Wörterbuch kann ein Teilwörterbuch sein, welches nur die gebräuchlichsten Wörter in der Sprache umfaßt, oder ein Gesamtwörterbuch, welches einen vollständigeren Umfang von Wörtern aus dieser Sprache umfaßt. Das Wörterbuch kann auch statistische Information über die Wörter umfassen, z. B. die Häufigkeit, mit der sie gewöhnlich in der Sprache auftreten. Als eine Alternative zu dem Einsatz eines separaten Wörterbuches für jede mögliche Sprache ist es möglich, ein einzelnes Wörterbuch einzusetzen, welches alle Wörter für die verschiedenen, möglichen Sprachen umfaßt. In diesem Fall gibt jeder Eintrag in dem Wörterbuch Daten zurück, welche die Sprachen angeben, in denen dieses Wort auftritt.
- In einer Ausführungsform der Erfindung wird eine Vertrauensstatistik für jede mögliche Sprache berechnet für jede der Zonen 48a bis 48c des Dokumentes. In einer relativ einfachen Implementierung der Erfindung kann die Vertrauensstatistik berechnet werden durch Zählen der Anzahl von Wörtern in der Zone, die in jedem der jeweiligen Wörterbücher gefunden sind. Andere kompliziertere Ansätze können auch eingesetzt werden, um die Vertrauensstatistik zu berechnen, wie im Anschluß detailliert beschrieben. Die Sprache mit der höchsten Vertrauensstatistik wird bestätigt und als eine ursprüngliche Schätzung der Sprache für die Zone eingesetzt.
- Abhängig davon, wie fein sie ausgeführt ist, kann es der Fall sein, daß die Zonenuntergliederung nicht in Zonen resultiert, die jede nur eine Sprache umfassen. In dem Beispiel von Fig. 3 kann z. B. jeder der zwei Absätze in den jeweiligen Zonen 48a bis 48c in einer verschiedenen Sprache sein. Daher wird, nachdem die ursprüngliche Zonensprache identifiziert wurde, jede der Zonen weiter in lokale Bereiche geteilt. Ein lokaler Bereich kann so klein wie eine einzelne Wortgruppierung sein. Bevorzugter besteht ein lokaler Bereich jedoch aus einer logischen Gruppe von Wörtern, wie einer oder mehrere Zeilen des Dokumentes. Die Sprache für jeden Bereich wird identifiziert mittels einer wörterbuchbasierten Vertrauenstatistik für den Bereich. Aufeinanderfolgende Bereiche mit der gleichen Sprachidentität werden dann zusammengefügt. Für jeden gegebenen Bereich wird, wenn keine der möglichen Sprachen eine hohe Sprachvertrauensstatistik aufweist, die dieser Region zugeordnete Zonensprache als eine Standardbereichssprachenidentität eingesetzt.
- Das vorhergehende Verfahren zum Untergliedern eines Dokumentes in homogene Sprachbereiche kann in Übereinstimmung mit der Erfindung auf verschiedene Arten implementiert sein. Ausführungsformen der Erfindung, welche diese verschiedenen Ansätze wiedergeben, sind im einzelnen in den Flußdiagrammen der Fig. 4 bis 11 veranschaulicht. Allgemein ausgedrückt können die verschiedenen Ansätze klassifiziert werden als ein Unten- nach-oben-Ansatz, ein Oben-nach-unten-Ansatz und ein Mischansatz, welcher Konzepte von jedem der beiden anderen Ansätze einsetzt. Fig. 4 gibt einen Gesamtspracherkennungsvorgang in Übereinstimmung mit dem Oben-nach-unten-Ansatz wieder. In Schritt 100 wird das Dokument gescannt oder ein Bild des Dokumentes wird auf andere Weise importiert in den flüchtigen Speicher 16 des Computers. Eine vorläufige Verarbeitung kann an dem Bild ausgeführt werden, z. B. um eine Verkippung zu korrigieren, so daß die Zeilen des Textes in einer horizontalen Richtung orientiert sind, und um auf andere Weise offensichtliche Artefakte herauszufiltern. In Schritt 102 wird das Bild des Dokumentes in Wortgruppierungen und logische Bereiche untergliedert, basierend auf geometrischen Eigenschaften des Bildes, mittels herkömmlicher Techniken. Um ein Verständnis der Erfindung zu erleichtern, wird das folgende Beispiel beschrieben, bei dem jeder lokale Bereich eine Zeile des Textes in dem Dokument umfaßt. Es soll jedoch angemerkt werden, daß ein lokaler Bereich von jeder beliebigen Größe sein kann, sogar so klein wie ein einzelnes Wort.
- Sobald die Untergliederung des Dokumentes in Wörter und lokale Bereiche abgeschlossen wurde, wird eine Routine 106 ausgeführt, um eine Sprachenvertrauensstatistik für jedes der Wörter zu definieren. Daran anschließend wird in Schritt 108 der erste Bereich ausgewählt und eine weitere Routine 110 wird ausgeführt, um Sprachvertrauensstatistiken für diesen Bereich zu bestimmen. Eine Bestimmung wird in Schritt 112 durchgeführt, ob weitere Bereiche in dem Dokument verbleiben, und falls dem so ist, werden die Schritte 108 und 110 wiederholt, um die Sprachvertrauensstatistiken für jeden Bereich zu bestimmen. Nachdem die Vertrauensstatistiken für jeden Bereich bestimmt sind, werden benachbarte Bereiche, z. B. aufeinanderfolgende Zeilen, welche einen ausreichend hohen Vertrauensgrad für eine gegebene Sprache aufweisen, in Unterzonen zusammengefaßt in einer Routine 114. Nachdem alle Bereiche auf diese Art verarbeitet wurden, endet der Vorgang mit Schritt 118. Das Ergebnis dieses Vorgangs ist ein geordnetes Set von Unterzonen, welche jeweils eine homogene Sprachenidentität aufweisen.
- Die Routine, die in Schritt 106 ausgeführt wird, um Sprachvertrauensstatistiken für jedes der Wörter zu definieren, wird im Detail in dem Flußdiagramm aus Fig. 5 veranschaulicht. In Schritt 124 wird eine erste Wortgruppierung in der Zone ausgewählt, und eine erste mögliche Sprache l wird in Schritt 128 gewählt. In Schritt 130 wird eine Statistik w(l) berechnet, welche einen Grad des Vertrauens angibt, ob das ausgewählte Wort in der gewählten Sprache enthalten ist. In einer Ausführungsform kann die Statistik einfach eine Eins oder eine Null sein in Abhängigkeit davon, ob das Wort in dem Wörterbuch für die Sprache gefunden ist. Andere, kompliziertere Ansätze können auch eingesetzt werden. Beispielsweise kann die Vertrauensstatistik w(l) für jedes Wort in Übereinstimmung mit der Länge des Wortes gewichtet werden. Dieser Ansatz ist besonders nützlich für Sprachen, die relativ lange, einzigartige Wörter aufweisen, wie deutsch oder norwegisch. Ein weiterer Faktor, der eingesetzt werden kann, ist, den für jedes Wort berechneten Wert als eine Funktion der Erkennungswahrscheinlichkeit zu gewichten, welche den einzelnen Buchstaben der Wortgruppierung zugeordnet ist, wie durch den Klassifizierer bestimmt. Mit diesem Ansatz werden Wortschätzungen, welche eine relativ geringe Erkennungswahrscheinlichkeit aufweisen, die Sprachvertrauensstatistik nicht so stark beeinflussen wie diejenigen, welche positiver identifziert sind. Zusätzlich zu der Angabe, ob ein ausgewähltes Wort in dem Wörterbuch gefunden ist, kann die Vertrauensstatistik auch andere Faktoren in Betracht ziehen. Beispielsweise kann es wünschenswert sein, eine n-gramm-Information oder eine Wort-Häufigkeits-Information zum Gewichten der Vertrauensstatistik einzusetzen, d. h., sie ist ein Faktor, wie wahrscheinlich die Wortkette in der Wortgruppierung auftritt in der gewählten Sprache.
- In Schritt 140 wird eine Feststellung getroffen, ob weitere Sprachen zum Verarbeiten für das ausgewählte Wort verbleiben. Trifft dies zu, werden die Schritte 128 und 130 wiederholt, bis das Wort mit dem Wörterbuch für jede der möglichen Sprachen verglichen wurde, und eine Vertrauensstatistik für jede Sprache berechnet ist. Nachdem alle Sprachen geprüft wurden und der Vertrauensfaktor berechnet wurde, wird das nächste Wort gewählt und die Schritte 124 bis 140 werden wiederholt. Sobald eine Vertrauensstatistik für jedes Wort berechnet ist, relativ zu jeder der möglichen Sprachen, kehrt die Unterroutine zu dem Hauptprozeß zurück.
- Die Unterroutine, welche in Schritt 110 ausgeführt wird, um eine Sprachvertrauensstatistik für einen Bereich zu bestimmen, wird im Detail in dem Flußdiagramm von Fig. 6 veranschaulicht. Hierauf bezugnehmend wird in Schritt 142 eine erste mögliche Sprache l ausgewählt, und eine Sprachvertrauensstatistik für den Bereiche r(l) wird initialisiert, z. B. auf Null zurückgesetzt, in Schritt 144. Das erste Wort in dem Bereich wird in Schritt 146 ausgewählt, und der Bereichsvertrauensfaktor für die ausgewählte Sprache, r(l), wird in Schritt 148 aktualisiert. Beispielsweise kann der Bereichsvertrauensfaktor in einem Akkumulator gespeichert werden. Die Aktualisierung des Faktors kann durch Hinzufügen der Sprachvertrauensstatistik w(l) für das Wort zu dem in dem Akkumulator gespeicherten Wert ausgeführt werden.
- Der Prozeß fährt dann mit Schritt 150 fort, um zu bestimmen, ob weitere Wörter in dem Bereich zu überprüfen verbleiben. Schritte 146 und 158 werden für jedes Wort in dem Bereich wiederholt, um eine Vertrauensstatistik r(l) zu erhalten, welche bezogen ist auf die Wörter in dem Bereich, welche in dem Wörterbuch für die ausgewählte Sprache l gefunden sind. Nachdem alle Wörter geprüft wurden, wird der aktualisierte Wert für r(l) als der Vertrauensfaktor für die ausgewählte Sprache in dem Bereich gespeichert. In Schritt 152 wird eine Bestimmung durchgeführt, ob weitere Sprachen verbleiben, welche für die Zone zu verarbeiten sind. Trifft dies zu, werden die Schritte 142 bis 150 wiederholt, bis jedes der Wörter in der Zone gegen das Wörterbuch für jede der möglichen Sprachen verglichen wurde. Als ein Ergebnis dieses Vorgangs ist ein Vertrauensfaktor r(l) für jede Sprache in dem Bereich bestimmt. Nachdem alle Sprachen geprüft wurden und die Vertrauensfaktoren bestimmt wurden, kehrt die Unterroutine zu dem Hauptprozeß zurück.
- Die Unterroutine, welche in Schritt 114 ausgeführt wird, um Bereiche in sprachhomogene Zonen zusammenzufassen, wird im einzelnen in dem Flußdiagramm von Fig. 7 veranschaulicht. In Schritt 154 wird das Set von Unterzonen Z' ursprünglich als ein leeres oder Null-Set definiert. Eine temporäre Variable u für die aktuelle Unterzone wird ebenfalls anfangs auf einen Nullwert gesetzt in Schritt 156 und die Sprache für die aktuelle Unterzone, wird ursprünglich auf einen Standardsprachwert gesetzt in Schritt 158. Der erste Bereich r wird dann ausgewählt in Schritt 160 und eine Bestimmung wird durchgeführt in Schritt 162, ob die Sprachvertrauensfaktoren r(l) für die ausgewählte Region angeben, daß die aktuelle Unterzonensprache uL wahrscheinlich die Sprache des Bereichs 9, ist. Mit anderen Worten sind die Vertrauensfaktoren für jede der möglichen Sprachen verglichen und eine Bestimmung wird durchgeführt, ob der Sprachvertrauensfaktor r(l) für die Sprache der aktuellen Unterzone der höchste, oder wenigstens ausreichend hoch relativ zu den anderen Vertrauensfaktoren für die Region, ist, Trifft dies zu, wird der ausgewählte Bereich r an das Set von Bereichen R(u) für die aktuelle Unterzone angehängt in Schritt 164.
- Wenn die aktuelle Unterzonensprache uL nicht die wahrscheinlichste Sprache für den Bereich ist, d. h. der Vertrauensfaktor r(l) für die Unterzonensprache nicht ausreichend hoch ist unter den Vertrauensfaktoren für den interessierenden Bereich, wird in Schritt 166 eine Bestimmung durchgeführt, ob der höchste Vertrauensfaktor r(l)max für den Bereich größer ist als ein Grenzwert Th. Wenn dem so ist, kann eine neue Unterzone begonnen werden. Daher wird in Schritt 168 die Unterzonensprache uL geändert, um die Sprache des höchsten Vertrauens für den ausgewählten Bereich zu sein. Daran anschließend wird in Schritt 170 die zuletzt aufgetretene Unterzone u an das Set von Unterzonen Z' angehängt und die aktuelle Unterzonenvariable u wird in Schritt 172 initialisiert, um die neue Unterzone zu beginnen. Daran anschließend wird der aktuell ausgewählte Bereich r an die neue aktuelle Unterzone in Schritt 164 angehängt.
- Wenn in Schritt 166 der höchste Vertrauensfaktor für den Bereich nicht den Grenzwert überschreitet, gibt es eine geringere Wahrscheinlichkeit, daß eine neue Unterzone beginnt. In dem in der Ausführungsform veranschaulichten Flußdiagramm wird der ausgewählte Bereich zu dem Set von Bereichen R(u) in der aktuellen Unterzone hinzugefügt. Alternativ kann der Bereich zeitweise zur Seite gelegt werden, während der nächste Bereich untersucht wird. Wenn die Vertrauensfaktoren für den nächsten Bereich angeben, daß eine neue Unterzone begonnen werden soll, kann der vorhergehende Bereich erneut untersucht werden, um zu sehen, ob er in der neuen Unterzone inbegriffen sein soll. Somit kann in einem Übergangsgebiet zwischen zwei Unterzonen ein Vorschau-Vorgang eingesetzt werden, um zu bestimmen, welche der zwei Unterzonen eine zugeordnete Sprache aufweist, die derjenigen des Übergangsbereiches am nächsten kommt.
- Das Verfahren in den Schritten 160 bis 172 wird für jeden Bereich r wiederholt, um ein Set von Unterzonen Z' zu definieren. Jede Unterzone umfaßt einen oder mehrere aufeinanderfolgende Bereiche, welche als Text in der gleichen Sprache umfassend identifiziert wurden. Demnach umfaßt in dem Fall, bei dem jeder Bereich eine Textzeile ist, eine Unterzone aufeinanderfolgende Textzeilen. Wenn die nächste darauffolgende Zeile als eine unterschiedliche Sprache aufweisend aufgefunden wird, z. B. der Anfang eines neuen Absatzes, wird eine neue Unterzone eingerichtet.
- In dem zuvorgehenden Beispiel der Erfindung wird jede Wortgruppierung eingesetzt und eine gleiche Gewichtung gegeben beim Bestimmen des Vertrauensbereichsfaktors für die jeweiligen Sprachwörterbücher. In einigen Fällen kann es wünschenswert sein, selektiver in den Werten zu sein, welche zu jeweiligen verschiedenen Wörtern gegeben sind, um eine höhere Genauigkeit zu erzielen. Beispielsweise können Wortgruppierungen, welche nur aus einem einzigen Buchstaben bestehen, aus der Betrachtung entfernt werden, um der Tatsache Rechnung zu tragen, daß sie Rauschen anstatt von substantiellem Gehalt wiedergeben können.
- In dem Unten-nach-oben-Ansatz der vorhergehenden Ausführungsform beginnt die Analyse des Dokumentbildes, um verschiedene Sprachregionen herauszugliedern, mit dem kleinsten gemeinsamen Element, nämlich der Wortgruppierung. In einem alternativen Oben-nach-unten- Ansatz kann zuerst die Sprache für eine größere Zone eingerichtet werden, gefolgt von einer Unterteilung in kleinere sprachhomogene Bereiche. Ein Flußdiagramm, welches den Gesamtvorgang für diese Ausführungsform der Erfindung angibt, ist in Fig. 8 dargestellt. Darauf bezugnehmend wird in Schritt 200 ein Bild des Dokumentes in den flüchtigen Speicher 16 des Computers importiert und eine vorläufige Verarbeitung wird wiederum an dem Bild durchgeführt, um Verkippung zu korrigieren und offensichtliche Artefakte herauszufiltern. In Schritt 202 wird das Bild des Dokumentes in Zonen, Bereiche und Wortgruppierungen untergliedert basierend auf geometrischen Eigenschaften des Bildes. In dem Beispiel von Fig. 3 können die drei vertikalen Spalten des Textes einfach identifiziert werden basierend auf den dicken weißen Streifen, welche sie trennen, um separate Zonen zu definieren. Innerhalb jeder Spalte werden einzelne Textteile identifiziert durch die horizontalen, weißen Streifen zwischen ihnen, welche verschiedene Bereiche abgrenzen. Auf ähnliche Weise wird innerhalb jeder Zeile die einzelne Wortgruppierung identifiziert durch die relativen Abstände zwischen Symbolen. Während das Beispiel aus Fig. 3 mehrere Zonen angibt, ist es möglich, daß die gesamte Seite eine einzelne Zone umfassen kann.
- Sobald die Untergliederung des Dokumentes abgeschlossen wurde, wird eine Zone in Schritt 204 ausgewählt. Eine Routine wird dann ausgeführt, um eine Sprache für die Zone zu definieren. Daran anschließend wird in Schritt 208 der erste Bereich ausgewählt, und eine weitere Routine 210 wird ausgeführt, um Sprachvertrauensstatistiken für diesen Bereich zu bestimmen. Eine Bestimmung wird in Schritt 212 durchgeführt, ob zusätzliche Bereiche in der Zone verbleiben, und wenn dem so ist, werden die Schritte 208 und 210 wiederholt, um die Sprachvertrauensstatistiken für jeden Bereich zu bestimmen. Nachdem die Vertrauensstatistiken für jeden Bereich bestimmt sind, werden Bereiche mit einem ähnlichen Vertrauensgrad für eine gegebene Sprache von anderen Bereichen, welche nicht dieser Sprache zugeordnet sind, abgetrennt, um homogene Unterzonen zu bilden in einer Routine 214. In Schritt 216 wird eine Bestimmung durchgeführt, ob weitere zu verarbeitende Zonen verbleiben. Wenn dem so ist, werden die Schritte 204 bis 214 wiederholt für jede weitere Zone. Nachdem alle Zonen auf diese Weise verarbeitet wurden, endet der Vorgang bei Schritt 218. Das Ergebnis dieses Vorgangs ist ein geordnetes Set von sprachhomogenen Unterzonen innerhalb jeder Zone.
- Die Routine, welche in Schritt 206 ausgeführt wird, um die Zonensprache zu definieren, ist in Einzelheiten in dem Flußdiagramm von Fig. 9 dargestellt. In Schritt 224 wird eine erste mögliche Sprache l ausgewählt und eine Statistik für diese Sprache, z(l), wird in Schritt 226 initialisiert. Das erste Wort in der Zone wird in Schritt 228 ausgewählt und in Schritt 230 wird eine Vertrauensstatistik w(l) berechnet für das Wort in Abhängigkeit davon, ob die Buchstabenkette in dieser Wortgruppierung in dem Wörterbuch für die ausgewählte Sprache l gefunden werden kann. Die Sprachstatistik z(l) wird dann aktualisiert in Schritt 232 in Übereinstimmung mit dem bestimmten Vertrauenswert. Beispielsweise kann die Sprachstatistik z(l) eine Akkumulierung von einzelnen Vertrauensfaktoren w(l) für die Wörter in der Zone sein, relativ zu der ausgewählten Sprache. Der Vorgang fährt dann mit Schritt 234 fort, um zu bestimmen, ob weitere Wörter in der Zone zu überprüfen verbleiben.
- Die Schritte 228 bis 232 werden für jedes Wort in der Zone wiederholt, um den endgültigen Wert von z(l) für die ausgewählte Sprache zu erhalten. In einer relativ einfachen Implementierung kann die Statistik eine Abzählung der Anzahl von Wörtern in der Zone sein, welche in dem Wörterbuch für die ausgewählte Sprache l aufgefunden werden. Wenn alle Wörter überprüft wurden, wird eine Bestimmung in Schritt 236 durchgeführt, ob weitere Sprachen zum Verarbeiten für die Zone verbleiben. Wenn dem so ist, werden die Schritte 224 bis 234 wiederholt, bis jedes der Wörter in der Zone gegen das Wörterbuch verglichen wurden für jede der möglichen Sprachen. Sobald alle Sprachen auf diese Weise untersucht wurden, wird die Zonensprache z L in Schritt 240 ausgewählt basierend auf der Sprachstatistik z(l), welche den höchsten Vertrauenswert wiedergab. In der oben beschriebenen einfachen Implementierung wird die Sprache mit der höchsten Häufigkeit von Wörtern in der Zone, d. h. die Sprache, deren Wörterbuch die höchste Zählung erzeugt, abschließend als die Zonensprache zL für diese Zone ausgewählt. Nachdem all die Sprachen überprüft wurden und die Zonensprache identifiziert wurde, kehrt die Unterroutine zu dem Hauptprozeß zurück. Die Unterroutine, welche in Schritt 210 ausgeführt wird, um die Bereichssprache zu definieren, ist im einzelnen in dem Flußdiagramm von Fig. 10 veranschaulicht. Hierauf bezugnehmend wird die Bereichssprache rL ursprünglich auf die zuvor bestimmte Zonensprache zL in Schritt 242 gesetzt. Dann wird in einem Vorgang, welcher ähnlich zu demjenigen ist, der in den Schritten 224 bis 236 des Flußdiagramms aus Fig. 9 ausgeführt wird, jedes Wort in einem Bereich untersucht, um seinen Vertrauenswert r(l) für eine ausgewählte Sprache l zu bestimmen.
- Sobald ein Vertrauenswert für jeden Bereich bestimmt ist, kehrt der Vorgang zu der Hauptroutine zurück. Daran anschließend werden die Bereiche in homogene Sprachunterzonen in der Unterroutine 214 zusammengefaßt. Dies kann beispielsweise in einer Weise erfolgen, welche ähnlich dem Zusammenfassvorgang ist, welcher in dem Flußdiagramm aus Fig. 7 gezeigt ist. In dieser Ausführungsform wird die Zonensprache zL jedoch in der Bestimmung der Unterzonen eingesetzt. Fig. 11 veranschaulicht diesen Unterschied. Hierauf bezugnehmend wird in Schritt 266, wenn eine Bestimmung durchgeführt ist, daß der Vertrauenswert r(l) für einen Bereich nicht ausreichend hoch ist, um zu einer neuen Unterzone überzugehen, die Unterzonensprache uL für eine neue Unterzone auf die Zonensprache zL als einen Standardwert gesetzt in Schritt 267. Mit anderen Worten, wenn eine Unsicherheit über die vorherrschende Sprache in einem Bereich existiert, wird eine Annahme gemacht, daß er in der vorherrschenden Sprache der Zone, in der dieser Bereich auftritt, ist, und er wird in eine Unterzone, welche dieser Sprache zugeordnet ist, gruppiert. Demnach ermöglicht die ursprüngliche Bestimmung einer Zonensprache dem Zusammenfassvorgang, ein konservativeres Kriterium einzusetzen in Verbindung damit, ob zu einer Unterzone weitergeschaltet wird, wenn ein geringer Vertrauenswert angetroffen wird.
- Eine dritte Ausführungsform der Erfindung, welche als Mischansatz bezeichnet wird, setzt die Techniken, welche in jeder der ersteren beiden Ausführungsformen ausgeführt werden, ein. Insbesondere wird in dieser Ausführungsform eine Zonensprache zuerst bestimmt für jede der Zonen des Dokumentes, wie in dem Oben-nach-unten-Ansatz. Daran anschließend fährt der Vorgang in der Weise des Unten- nach-oben-Ansatzes fort, um einen Vertrauensfaktor für jedes Wort und dann eine Bereichssprache für jeden Bereich zu bestimmen. In diesem Fall kann wie in dem Oben-nach-unten-Ansatz die Zonensprache eingesetzt werden, um das Zusammenfassen von Bereichen in Unterzonen zu unterstützen.
- Es wird von dem Fachmann erkannt werden, daß die vorliegende Erfindung in anderen spezifischen Ausprägungen ausgeführt sein kann, ohne von deren grundlegenden Charakteristiken abzuweichen. Beispielsweise wird in den spezifischen Implementierungen, welche in dem begleitenden Flußdiagramm veranschaulicht sind, eine Vertrauensstatistik für jedes Wort in einer Zone berechnet für jede der möglichen Sprachen. Daran anschließend werden alle der berechneten Vertrauen eingesetzt bei der Bestimmung der Zonensprache und der Bereichssprache. In einer optimierten Implementierung kann es jedoch nicht nötig sein, eine Vertrauensstatistik für jedes Wort oder für jede Sprache zu berechnen.
- Vielmehr kann die Berechnung, wenn die Vertrauensstatistik für eine Sprache ausreichend hoch ist, um verläßlich festzustellen, daß die korrekte Sprache für ein Wort identifiziert wurde, an diesem Punkt beendet werden ohne Vertrauenswerte für andere Sprachen zu berechnen. In ähnlicher Weise kann, wenn genügend Wörter in einer Zone oder einem Bereich bestimmt worden sind, alle von der gleichen Sprache zu sein, dann die Sprache dieser Zone oder dieses Bereiches ausgewählt werden, ohne jedes verbleibende Wort zu überprüfen. Die vorliegend offenbarten Ausführungsformen sind daher in allen Bezügen als veranschaulichend anzusehen, nicht als beschränkend. Der Umfang der Erfindung ist angegeben durch die angehängten Ansprüche statt der zuvorgehenden Beschreibung, und alle Änderungen, die innerhalb des Gedankens oder dessen Bereichs von Äquivalenten kommen, werden als hierin inbegriffen angesehen.
Claims (10)
1. Verfahren zur automatischen Bestimmung einer oder
mehrerer Sprachen, welche zu Text in einem Dokument
zugeordnet sind, umfassend die Schritte:
Untergliedern (102) des Dokumentes in eine Mehrzahl
von Wortgruppierungen;
Bilden wenigstens einer Annahme für die Buchstaben in
den Wortgruppierungen.;
Bestimmen (106) eines Vertrauensfaktors für jede Wort-
Annahme, wobei der Vertrauensfaktor angibt, ob das
Wort in jeder der mehreren Sprachen enthalten ist;
Definieren einer Mehrzahl von Bereichen in dem
Dokument, wobei jeder Bereich wenigstens ein Wort
umfasst;
Bestimmen (110) eines Sprach-Vertrauensfaktors für
jeden Bereich basierend auf den Vertrauensfaktoren,
welche den Worten in dem Bereich zugeordnet sind; und
Zusammenfassen (114) von Bereichen, welche relativ
hohe Vertrauensfaktoren für eine bestimmte Sprache
aufweisen, um eine Unterzone zu bilden, welche mit der
bestimmten Sprache identifiziert ist.
2. Verfahren zur automatischen Bestimmung einer oder
mehrerer Sprachen, welche zu Text in einem Dokument
zugeordnet sind, umfassend die Schritte:
Untergliedern (202) des Dokumentes in eine Mehrzahl
von Zonen, welche Bereiche von Wortgruppierungen
umfassen;
Bilden wenigstens einer Annahme der Buchstaben in den
Wortgruppierungen;
Definieren eines Wörterbuches für jede von mehreren
Sprachen;
Bestimmen, und zwar für jedes angenommene Wort, welche
der Wörterbücher die Annahme für das Wort enthalten
und Bestimmen (106) eines Vertrauenswertes für jede
Sprache;
Identifizieren (206) einer Zonensprache für jede Zone,
basierend auf den Vertrauenswerten, welche den Worten
in der Zone zugeordnet sind;
Identifizieren (110; 210) einer Bereichssprache für
jeden Bereich, basierend auf den Vertrauenswerten,
welche den Worten in dem Bereich zugeordnet sind;
Zuordnen der Zonensprache als die Bereichssprache,
wenn die Vertrauenswerte, welche den Worten in dem
Bereich zugeordnet sind, nicht ausreichend groß sind;
und
Zusammenfassen (114; 214) von Bereichen in einer Zone,
welche die selbe Bereichssprache aufweisen, um eine
Unterzone zu bilden, welche mit einer speziellen
Sprache identifiziert ist.
3. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei
die Vertrauensfaktoren für angenommene Worte gewichtet
werden in Übereinstimmung mit der Häufigkeit, mit der
die angenommenen Worte in den jeweiligen Sprachen
auftreten.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, wobei
eine Annahme nur für Worte gebildet wird, welche eine
vorbestimmte Mindestbuchstabenanzahl größer als eins
aufweisen.
5. Verfahren gemäß einem der Ansprüche 1 bis 4, ferner.
umfassend den Schritt des Gewichtens der
Vertrauenswerte in Übereinstimmung mit den Längen der
angenommenen Worte.
6. Verfahren gemäß einem der Ansprüche 1 bis 5, ferner
umfassend die Schritte des Bestimmens einer
Erkennungswahrscheinlichkeit für jede Annahme, und
Gewichten der Vertrauenswerte in Übereinstimmung mit
den Erkennungswahrscheinlichkeiten.
7. Verfahren gemäß einem der Ansprüche 1 bis 6, wobei die
Anfangsannahme gebildet ist mittels eines
Klassifizierers, der typisch für jede der mehreren
Sprachen ist.
8. Verfahren zum automatischen Untergliedern eines
Dokumentes in homogene Sprach-Unterzonen, umfassend
die Schritte:
Definieren (202) wenigstens einer Zone in dem
Dokument, welche eine Mehrzahl von Worten umfasst;
Bestimmen eines Vertrauensfaktors für jedes Wort in
der Zone, wobei der Vertrauensfaktor angibt, ob das
Wort in jeder von mehreren Sprachen enthalten ist;
Identifizieren (206) einer Zonensprache für die Zone
basierend auf den Vertrauensfaktoren in
Übereinstimmung mit den Worten in der Zone;
Auswählen (208) eines lokalen Bereiches in der Zone,
welcher wenigstens ein Wort umfasst;
Identifizieren (210) einer Bereichssprache für den
lokalen Bereich basierend auf dem Vertrauensfaktor,
welcher den Worten in dem Bereich zugeordnet ist;
Bestimmen, ob die Bereichssprache die gleiche ist wie
die Zonensprache; und
Aussondern (214) des lokalen Bereiches aus anderen
Bereichen in der Zone, wenn seine Bereichssprache
nicht die gleiche ist, wie die Zonensprache.
9. Verfahren gemäß einem der Ansprüche 1 oder 8, ferner
umfassend den Schritt des Definierens eines
Wörterbuches für jede der mehreren Sprachen.
10. Computerlesbares Medium, welches ein Computerprogramm
zum Ausführen des Verfahrens gemäß einem der Ansprüche
1 bis 9 trägt.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/929,788 US6047251A (en) | 1997-09-15 | 1997-09-15 | Automatic language identification system for multilingual optical character recognition |
| PCT/US1997/018705 WO1999014708A1 (en) | 1997-09-15 | 1997-11-20 | Automatic language identification system for multilingual optical character recognition |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69722971D1 DE69722971D1 (de) | 2003-07-24 |
| DE69722971T2 true DE69722971T2 (de) | 2003-12-04 |
Family
ID=25458457
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69722971T Expired - Lifetime DE69722971T2 (de) | 1997-09-15 | 1997-11-20 | Automatisches sprachenerkennungssystem für die mehrsprachige optische zeichenerkennung |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US6047251A (de) |
| EP (1) | EP1016033B1 (de) |
| CN (1) | CN1122243C (de) |
| AT (1) | ATE243342T1 (de) |
| AU (1) | AU5424498A (de) |
| DE (1) | DE69722971T2 (de) |
| EA (1) | EA001689B1 (de) |
| WO (1) | WO1999014708A1 (de) |
Families Citing this family (80)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6449718B1 (en) * | 1999-04-09 | 2002-09-10 | Xerox Corporation | Methods and apparatus for partial encryption of tokenized documents |
| US20020023123A1 (en) * | 1999-07-26 | 2002-02-21 | Justin P. Madison | Geographic data locator |
| EP1236354A4 (de) | 1999-11-10 | 2009-04-22 | Yahoo Inc | Internetradio und rundfunkverfahren |
| US6389467B1 (en) | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
| US6567801B1 (en) | 2000-03-16 | 2003-05-20 | International Business Machines Corporation | Automatically initiating a knowledge portal query from within a displayed document |
| US6584469B1 (en) * | 2000-03-16 | 2003-06-24 | International Business Machines Corporation | Automatically initiating a knowledge portal query from within a displayed document |
| EP1139231A1 (de) * | 2000-03-31 | 2001-10-04 | Fujitsu Limited | Anordnung und Verfahren zur Dokumentbearbeitung |
| US6738745B1 (en) * | 2000-04-07 | 2004-05-18 | International Business Machines Corporation | Methods and apparatus for identifying a non-target language in a speech recognition system |
| US7024485B2 (en) * | 2000-05-03 | 2006-04-04 | Yahoo! Inc. | System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback |
| US8352331B2 (en) | 2000-05-03 | 2013-01-08 | Yahoo! Inc. | Relationship discovery engine |
| US7251665B1 (en) | 2000-05-03 | 2007-07-31 | Yahoo! Inc. | Determining a known character string equivalent to a query string |
| US7162482B1 (en) * | 2000-05-03 | 2007-01-09 | Musicmatch, Inc. | Information retrieval engine |
| US6678415B1 (en) * | 2000-05-12 | 2004-01-13 | Xerox Corporation | Document image decoding using an integrated stochastic language model |
| DE10196421T5 (de) * | 2000-07-11 | 2006-07-13 | Launch Media, Inc., Santa Monica | Online Playback-System mit Gemeinschatsausrichtung |
| US8271333B1 (en) | 2000-11-02 | 2012-09-18 | Yahoo! Inc. | Content-related wallpaper |
| US7493250B2 (en) * | 2000-12-18 | 2009-02-17 | Xerox Corporation | System and method for distributing multilingual documents |
| US7406529B2 (en) * | 2001-02-09 | 2008-07-29 | Yahoo! Inc. | System and method for detecting and verifying digitized content over a computer network |
| US7574513B2 (en) | 2001-04-30 | 2009-08-11 | Yahoo! Inc. | Controllable track-skipping |
| GB0111012D0 (en) | 2001-05-04 | 2001-06-27 | Nokia Corp | A communication terminal having a predictive text editor application |
| DE10126835B4 (de) * | 2001-06-01 | 2004-04-29 | Siemens Dematic Ag | Verfahren und Vorrichtung zum automatischen Lesen von Adressen in mehr als einer Sprache |
| US7191116B2 (en) * | 2001-06-19 | 2007-03-13 | Oracle International Corporation | Methods and systems for determining a language of a document |
| US7707221B1 (en) | 2002-04-03 | 2010-04-27 | Yahoo! Inc. | Associating and linking compact disc metadata |
| US7020338B1 (en) * | 2002-04-08 | 2006-03-28 | The United States Of America As Represented By The National Security Agency | Method of identifying script of line of text |
| US7305483B2 (en) | 2002-04-25 | 2007-12-04 | Yahoo! Inc. | Method for the real-time distribution of streaming data on a network |
| RU2251737C2 (ru) * | 2002-10-18 | 2005-05-10 | Аби Софтвер Лтд. | Способ автоматического определения языка распознаваемого текста при многоязычном распознавании |
| JP3919617B2 (ja) * | 2002-07-09 | 2007-05-30 | キヤノン株式会社 | 文字認識装置および文字認識方法、プログラムおよび記憶媒体 |
| US6669085B1 (en) * | 2002-08-07 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | Making language localization and telecommunications settings in a multi-function device through image scanning |
| US20040078191A1 (en) * | 2002-10-22 | 2004-04-22 | Nokia Corporation | Scalable neural network-based language identification from written text |
| FR2848688A1 (fr) * | 2002-12-17 | 2004-06-18 | France Telecom | Identification de langue d'un texte |
| WO2005026916A2 (en) * | 2003-09-10 | 2005-03-24 | Musicmatch, Inc. | Music purchasing and playing system and method |
| US7424672B2 (en) * | 2003-10-03 | 2008-09-09 | Hewlett-Packard Development Company, L.P. | System and method of specifying image document layout definition |
| JP3890326B2 (ja) * | 2003-11-07 | 2007-03-07 | キヤノン株式会社 | 情報処理装置、情報処理方法ならびに記録媒体、プログラム |
| US8027832B2 (en) * | 2005-02-11 | 2011-09-27 | Microsoft Corporation | Efficient language identification |
| JP4311365B2 (ja) * | 2005-03-25 | 2009-08-12 | 富士ゼロックス株式会社 | 文書処理装置およびプログラム |
| JP4856925B2 (ja) * | 2005-10-07 | 2012-01-18 | 株式会社リコー | 画像処理装置、画像処理方法及び画像処理プログラム |
| US8185376B2 (en) * | 2006-03-20 | 2012-05-22 | Microsoft Corporation | Identifying language origin of words |
| US7493293B2 (en) * | 2006-05-31 | 2009-02-17 | International Business Machines Corporation | System and method for extracting entities of interest from text using n-gram models |
| US8140267B2 (en) * | 2006-06-30 | 2012-03-20 | International Business Machines Corporation | System and method for identifying similar molecules |
| US9020811B2 (en) * | 2006-10-13 | 2015-04-28 | Syscom, Inc. | Method and system for converting text files searchable text and for processing the searchable text |
| US7912289B2 (en) | 2007-05-01 | 2011-03-22 | Microsoft Corporation | Image text replacement |
| US9141607B1 (en) * | 2007-05-30 | 2015-09-22 | Google Inc. | Determining optical character recognition parameters |
| GB0717067D0 (en) * | 2007-09-03 | 2007-10-10 | Ibm | An Apparatus for preparing a display document for analysis |
| US8233726B1 (en) * | 2007-11-27 | 2012-07-31 | Googe Inc. | Image-domain script and language identification |
| US8107671B2 (en) | 2008-06-26 | 2012-01-31 | Microsoft Corporation | Script detection service |
| US8073680B2 (en) * | 2008-06-26 | 2011-12-06 | Microsoft Corporation | Language detection service |
| US8019596B2 (en) * | 2008-06-26 | 2011-09-13 | Microsoft Corporation | Linguistic service platform |
| US8266514B2 (en) * | 2008-06-26 | 2012-09-11 | Microsoft Corporation | Map service |
| US8224641B2 (en) | 2008-11-19 | 2012-07-17 | Stratify, Inc. | Language identification for documents containing multiple languages |
| US8224642B2 (en) * | 2008-11-20 | 2012-07-17 | Stratify, Inc. | Automated identification of documents as not belonging to any language |
| CN101751567B (zh) * | 2008-12-12 | 2012-10-17 | 汉王科技股份有限公司 | 快速文本识别方法 |
| US8468011B1 (en) * | 2009-06-05 | 2013-06-18 | Google Inc. | Detecting writing systems and languages |
| US8326602B2 (en) * | 2009-06-05 | 2012-12-04 | Google Inc. | Detecting writing systems and languages |
| CN102024138B (zh) * | 2009-09-15 | 2013-01-23 | 富士通株式会社 | 字符识别方法和字符识别装置 |
| US8756215B2 (en) * | 2009-12-02 | 2014-06-17 | International Business Machines Corporation | Indexing documents |
| US20120035905A1 (en) * | 2010-08-09 | 2012-02-09 | Xerox Corporation | System and method for handling multiple languages in text |
| US8635061B2 (en) * | 2010-10-14 | 2014-01-21 | Microsoft Corporation | Language identification in multilingual text |
| JP5672003B2 (ja) * | 2010-12-28 | 2015-02-18 | 富士通株式会社 | 文字認識処理装置及びプログラム |
| US8600730B2 (en) * | 2011-02-08 | 2013-12-03 | Microsoft Corporation | Language segmentation of multilingual texts |
| CN102156889A (zh) * | 2011-03-31 | 2011-08-17 | 汉王科技股份有限公司 | 一种识别手写文本行语言类别的方法及装置 |
| US9519641B2 (en) * | 2012-09-18 | 2016-12-13 | Abbyy Development Llc | Photography recognition translation |
| CN104704510B (zh) | 2012-10-10 | 2018-08-31 | 摩托罗拉解决方案公司 | 识别在文档中使用的语言并且基于识别的语言执行ocr识别的方法和装置 |
| US9411801B2 (en) * | 2012-12-21 | 2016-08-09 | Abbyy Development Llc | General dictionary for all languages |
| CN103902993A (zh) * | 2012-12-28 | 2014-07-02 | 佳能株式会社 | 文档图像识别方法和设备 |
| US9269352B2 (en) * | 2013-05-13 | 2016-02-23 | GM Global Technology Operations LLC | Speech recognition with a plurality of microphones |
| CN103285360B (zh) * | 2013-06-09 | 2014-09-17 | 王京涛 | 一种治疗血栓闭塞性脉管炎的中药制剂及其制备方法 |
| CN105637519A (zh) | 2013-08-09 | 2016-06-01 | 行为识别系统公司 | 使用行为辨识系统的认知信息安全性 |
| RU2613847C2 (ru) | 2013-12-20 | 2017-03-21 | ООО "Аби Девелопмент" | Выявление китайской, японской и корейской письменности |
| JP2015210683A (ja) * | 2014-04-25 | 2015-11-24 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法およびプログラム |
| US9798943B2 (en) * | 2014-06-09 | 2017-10-24 | I.R.I.S. | Optical character recognition method |
| WO2016017009A1 (ja) * | 2014-07-31 | 2016-02-04 | 楽天株式会社 | メッセージ処理装置、メッセージ処理方法、記録媒体およびプログラム |
| US10963651B2 (en) * | 2015-06-05 | 2021-03-30 | International Business Machines Corporation | Reformatting of context sensitive data |
| JP6655331B2 (ja) * | 2015-09-24 | 2020-02-26 | Dynabook株式会社 | 電子機器及び方法 |
| CN106598937B (zh) * | 2015-10-16 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 用于文本的语种识别方法、装置和电子设备 |
| CN107092903A (zh) * | 2016-02-18 | 2017-08-25 | 阿里巴巴集团控股有限公司 | 信息识别方法及装置 |
| US10579741B2 (en) | 2016-08-17 | 2020-03-03 | International Business Machines Corporation | Proactive input selection for improved machine translation |
| US10311330B2 (en) | 2016-08-17 | 2019-06-04 | International Business Machines Corporation | Proactive input selection for improved image analysis and/or processing workflows |
| US10460192B2 (en) * | 2016-10-21 | 2019-10-29 | Xerox Corporation | Method and system for optical character recognition (OCR) of multi-language content |
| US10579733B2 (en) | 2018-05-10 | 2020-03-03 | Google Llc | Identifying codemixed text |
| US11720752B2 (en) * | 2020-07-07 | 2023-08-08 | Sap Se | Machine learning enabled text analysis with multi-language support |
| WO2021081562A2 (en) * | 2021-01-20 | 2021-04-29 | Innopeak Technology, Inc. | Multi-head text recognition model for multi-lingual optical character recognition |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3988715A (en) * | 1975-10-24 | 1976-10-26 | International Business Machines Corporation | Multi-channel recognition discriminator |
| US4829580A (en) * | 1986-03-26 | 1989-05-09 | Telephone And Telegraph Company, At&T Bell Laboratories | Text analysis system with letter sequence recognition and speech stress assignment arrangement |
| US5062143A (en) * | 1990-02-23 | 1991-10-29 | Harris Corporation | Trigram-based method of language identification |
| US5182708A (en) * | 1990-12-11 | 1993-01-26 | Ricoh Corporation | Method and apparatus for classifying text |
| US5371807A (en) * | 1992-03-20 | 1994-12-06 | Digital Equipment Corporation | Method and apparatus for text classification |
| GB9220404D0 (en) * | 1992-08-20 | 1992-11-11 | Nat Security Agency | Method of identifying,retrieving and sorting documents |
| US5548507A (en) * | 1994-03-14 | 1996-08-20 | International Business Machines Corporation | Language identification process using coded language words |
-
1997
- 1997-09-15 US US08/929,788 patent/US6047251A/en not_active Expired - Lifetime
- 1997-11-20 DE DE69722971T patent/DE69722971T2/de not_active Expired - Lifetime
- 1997-11-20 CN CN97182407A patent/CN1122243C/zh not_active Expired - Fee Related
- 1997-11-20 WO PCT/US1997/018705 patent/WO1999014708A1/en not_active Ceased
- 1997-11-20 AT AT97948111T patent/ATE243342T1/de not_active IP Right Cessation
- 1997-11-20 EA EA200000321A patent/EA001689B1/ru not_active IP Right Cessation
- 1997-11-20 AU AU54244/98A patent/AU5424498A/en not_active Abandoned
- 1997-11-20 EP EP97948111A patent/EP1016033B1/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP1016033B1 (de) | 2003-06-18 |
| CN1122243C (zh) | 2003-09-24 |
| CN1276077A (zh) | 2000-12-06 |
| EA001689B1 (ru) | 2001-06-25 |
| EP1016033A1 (de) | 2000-07-05 |
| US6047251A (en) | 2000-04-04 |
| DE69722971D1 (de) | 2003-07-24 |
| ATE243342T1 (de) | 2003-07-15 |
| WO1999014708A1 (en) | 1999-03-25 |
| EA200000321A1 (ru) | 2000-10-30 |
| AU5424498A (en) | 1999-04-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69722971T2 (de) | Automatisches sprachenerkennungssystem für die mehrsprachige optische zeichenerkennung | |
| DE69229468T2 (de) | Verfahren und Gerät zur Bestimmung der Wortfrequenz in einem Dokument ohne Dokumentbilddekodierung | |
| DE4311172C2 (de) | Verfahren und Einrichtung zum Identifizieren eines Schrägenwinkels eines Vorlagenbildes | |
| DE69230632T2 (de) | Optische Worterkennung durch Wortgestaltuntersuchung | |
| DE69519323T2 (de) | System zur Seitensegmentierung und Zeichenerkennung | |
| DE69229536T2 (de) | Verfahren und Gerät zum Auswahl linguistisch bezeichnender Bilder in einem Dokumentbild ohne Dekodierung des Bildinhalts | |
| DE69523970T2 (de) | Dokumentspeicher- und Wiederauffindungssystem | |
| DE69423254T2 (de) | Verfahren und Gerät zur automatischen Spracherkennung von Dokumenten | |
| DE69132206T2 (de) | Verfahren und Gerät zur Bildverarbeitung | |
| DE69226609T2 (de) | Verfahren und Gerät zur Dokumentbildverarbeitung | |
| DE69225678T2 (de) | Verfahren und Gerät zur Dokumentbildverarbeitung | |
| DE69226846T2 (de) | Verfahren zur Bestimmung von Wortgrenzen im Text | |
| DE69229537T2 (de) | Verfahren und Gerät zur Dokumentverarbeitung | |
| DE69525401T2 (de) | Verfahren und Gerät zur Identifikation von Wörtern, die in einem portablen elektronischen Dokument beschrieben sind | |
| DE60129872T2 (de) | Verfahren zur Extrahierung von Titeln aus numerischen Bildern | |
| DE69516751T2 (de) | Bildvorverarbeitung für Zeichenerkennungsanlage | |
| DE69230784T2 (de) | Verfahren und Vorrichtung zur Dokumenterkennung mit Normnotierung für Mehrdeutigkeitenspeicherung | |
| DE69332459T2 (de) | Verfahren und Vorrichtung zur Zeichenerkennung | |
| DE69226611T2 (de) | Verfahren und Gerät zur Verarbeitung eines Dokumentbildes | |
| DE69230633T2 (de) | Verfahren zur Ermittlung von Wortformen zum folgenden Vergleich | |
| DE69033079T2 (de) | Aufbereitung von Text in einem Bild | |
| DE69829074T2 (de) | Identifizierung der sprache und des zeichensatzes aus text-repräsentierenden daten | |
| DE3926327C2 (de) | Verfahren und System zum Erkennen von Zeichen auf einem Medium | |
| DE69230631T2 (de) | Verfahren zum Vergleichen von Wortgestalten | |
| DE69517564T2 (de) | Verfahren und Gerät zur Erzeugung einer hybriden Datenstruktur zur Anzeige eines Rasterbildes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition |