-
Die vorliegende Erfindung bezieht
sich allgemein auf ein Dokumentverarbeiten und insbesondere auf
Vorrichtungen und Verfahren zum Verarbeiten von textbasierten elektronischen
Dokumenten.
-
Optische Zeichenerkennungssysteme (OCR-Systeme;
OCR = Optical Character Recognition) werden üblicherweise verwendet, um
Text aus einem Dokument zu erfassen (z. B. einem maschinengedruckten
Dokument, handgeschriebenen Dokument etc.), durch optisches Abtasten
des Dokuments und Erzeugen einer zweidimensionalen digitalen Darstellung
des Dokuments (z. B. einer Pixeldarstellung, einer Bitabbildung
etc.). Die meisten OCR-Systeme sind konfiguriert, um die zweidimensionale
digitale Darstellung in eine Reihe von Zeichen umzuwandeln, die
durch einen Computer manipuliert werden können. OCR-Systeme wandeln z.
B. üblicherweise die
Textabschnitte in Code um, wie z. B. Code, der gemäß dem American
Standard Code for Information Interchange (ASCII) oder dem Unicode-Standard
formatiert ist, durch Durchführen
einer Vielzahl von Zeichenerkennungsprozessen an der zweidimensionalen
digitalen Darstellung. Viele OCR-Systeme sind konfiguriert, um die
zeichencodierte Darstellung in einer Form zu liefern, die mit üblichen
Softwareanwendungen kompatibel ist, wie z. B. Textverarbeitung etc..
OCR-Systeme führen
eine Vielzahl von heuristischen und schablonen-getriebenen Aufgaben
an der zweidimensionalen digitalen Darstellung durch, um die zeichencodierte
Darstellung zu erzeugen, die in eine andere Softwareanwendung importiert
werden kann, um angezeigt, gedruckt und/oder modifiziert zu werden.
-
Die Genauigkeit der Ausgabe aktueller OCR-Systeme
kann jedoch sehr eingeschränkt
sein. Zum Beispiel aufgrund der Ähnlichkeit
zwischen individuellen Symbolen, Zeichen und/oder Kommentaren, sowie
Kombinationen von Zeichen oder Symbolen (Glyphen), können aktuelle
OCR-Systeme nicht in der Lage sein, Fehler zu beseitigen, die in
dem Prozeß des
Erkennens von Zeichen in der zweidimensionalen digitalen Darstellung
des Dokuments auftreten. Üblicherweise
weisen OCR-System
ein Tendenz auf, Fehler von Glyphen (eines oder mehrere Zeichen),
Ersetzungen, Einfügungen,
Löschungen etc.
zu erzeugen. Zusätzlich
dazu ist die Ausgabe aktueller OCR-Systeme weitgehend abhängig von
der Qualität
des Originaldokuments und der Qualität der zweidimensionalen digitalen
Darstellung, die abgetastet werden soll.
-
Ferner, um Zeichenerkennungsfehler
zu reduzieren, muß ein
aktuelles OCR-System evtl. komplexere Zeichenerkennungstechniken
implementieren. Komplexe Zeichenerkennungstechniken sind jedoch
teuerer und erfordern mehr Verarbeitungszeit. Ein aktuelles OCR-System
kann z. B. eine sehr komplexe Zeichenerkennungstechnik implementieren, die
entworfen ist, um eine sehr genaue Ausgabe zu erzeugen. Diese Systeme
können
jedoch aufgrund der erhöhten
erforderlichen Verarbeitungszeit problematisch sein, wenn große Mengen
von Text umgewandelt werden.
-
Es ist die Aufgabe der vorliegenden
Erfindung, ein Verfahren zum Verarbeiten eines textbasierten elektronischen
Dokuments, eine Vorrichtung zum Verarbeiten eines textbasierten
elektronischen Dokuments und ein System zum Verarbeiten eines textbasierten
elektronischen Dokuments mit verbesserten Charakteristika zu schaffen.
-
Diese Aufgabe wird durch ein Verfahren
gemäß Anspruch
1 und eine Vorrichtung gemäß Anspruch
12 oder 25 gelöst.
-
Die vorliegende Erfindung schafft
Vorrichtungen und Verfahren zum Verarbeiten von textbasierten elektronischen
Dokumenten.
-
Kurz beschrieben weist ein Ausführungsbeispiel
eines Verfahrens zum Verarbeiten eines textbasierten elektronischen
Dokuments folgende Schritte auf: Vergleichen von zumindest einem
Wort in einem textbasierten elektronischen Dokument mit einem systemeigenen
Sprachverzeichnis bzw. einem Muttersprachlichen Wörterbuch,
um zu bestimmen, ob das zumindest eine Wort einer vordefinierten
Regel entspricht; für
jedes des zumindest einen Wortes, das der vordefinierten Regel nicht
entspricht, Fragmentieren des zumindest einen Worts in Wortfragmente;
Kombinieren von zumindest zwei aufeinanderfolgenden Wortfragmenten
und Vergleichen der Kombination der Wortfragmente mit dem systemeigenen
Sprachverzeichnis.
-
Ein anderes Ausführungsbeispiel weist ein System
zum Verarbeiten eines textbasierten elektronischen Dokuments auf.
Kurz beschrieben weist ein Ausführungsbeispiel
eines solchen Systems eine Logik auf, die konfiguriert ist, um folgende
Schritte auszuführen:
Vergleichen von zumindest einem Wort in einem textbasierten elektronischen
Dokument mit einem systemeigenen Sprachverzeichnis, um zu bestimmen,
ob das zumindest eine Wort mit einer vordefinierten Regel konform
ist, Fragmentieren von jedem des zumindest einen Worts, das nicht
mit der vordefinierten Regel konform ist, in Wortfragmente, Kombinieren
von zumindest zwei aufeinanderfolgenden Wortfragmenten und Vergleichen
der Kombination der Wortfragmente mit dem systemeigenen Sprachverzeichnis.
-
Ein anderes Ausführungsbeispiel eines solchen
Systems weist folgende Merkmale auf: eine Einrichtung zum Vergleichen
von zumindest einem Wort in einem textbasierten elektronischen Dokuments
mit einem systemeigenen Sprachverzeichnis, um zu bestimmen, ob das
zumindest eine Wort mit einer vordefinierten Regel konform ist;
eine Wortfragmentierungseinrichtung zum Fragmentieren von jedem
des zumindest einen Worts, das nicht mit der vordefinierten Regel
konform ist, in Wortfragmente; eine Wortfragment-Integrationseinrichtung
zum Kombinieren von zumindest zwei aufeinanderfolgenden Wortfragmenten;
und eine Einrichtung zum Vergleichen der Kombination der Wortfragmente
mit dem systemeigenen Sprachverzeichnis.
-
Die Erfindung ist Bezug nehmend auf
die nachfolgenden Zeichnungen besser verständlich. Die Komponenten in
den Zeichnungen sind nicht notwendigerweise maßstabsgetreu, wobei die Betonung auf
das klare Darstellen der Prinzipien der vorliegenden Erfindung gelegt
ist. Ferner bezeichnen in den Zeichnungen gleiche Bezugszeichen
entsprechende Teile in den unterschiedlichen Ansichten.
-
Bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm eines Ausführungsbeispiels
eines Systems gemäß der vorliegenden
Erfindung zum Verbessern der Genauigkeit eines optischen Zeichenerkennungssystems (OCR-System);
-
2 ein
Flußdiagramm,
das den allgemeinen Betrieb des Systems aus 1 darstellt;
-
3 ein
Flußdiagramm,
das die Funktionalität,
Architektur und/oder Operation eines Ausführungsbeispiels der optischen
Zeichenerkennungsmaschine des Systems aus 1 darstellt;
-
4 ein
Flußdiagramm,
das die Funktionalität,
Architektur und/oder Operation eines Ausführungsbeispiels des Nach-OCR-Verarbeitungsmoduls des
Systems aus 1 darstellt;
-
5 ein
anderes Flußdiagramm,
das die Funktionalität,
Architektur und/oder Operation eines Ausführungsbeispiels des Nach-OCR-Verarbeitungsmoduls
des Systems aus 1 darstellt;
und
-
6 ein
Flußdiagramm,
das ein Ausführungsbeispiel
des Wortfragmentierungsmoduls und des Wortfragment-Integrationsmoduls
aus 4 darstellt, die
ein Nach-OCR-Verarbeiten an einem Musterabschnitt eines Texts aus
einem Dokument durchführen.
-
Wie oben erwähnt schafft die vorliegende
Erfindung Vorrichtung und Verfahren zum Verarbeiten von textbasierten
elektronischen Dokumenten (z. B. Dokumenten, die durch ein optisches
Zeichenerkennungssystem (OCR) verarbeitet werden, Textdateien, Textverarbeitungsdateien,
Hypertext-Markup-Textdateien
(HTLM-Dateien), andere computerlesbare Textdateien etc.). Fachleute
auf dem Gebiet werden unter spezifischer Bezugnahme auf dieses Dokument
erkennen, abhängig
von dem bestimmten Typ des textbasierten elektronischen Dokuments, das
verarbeitet wird, daß die
vorliegende Erfindung in einer Vielzahl von Umgebungen implementiert
sein kann. Bei einer Anzahl von möglichen Ausführungsbeispielen
können
die Vorrichtungen und Verfahren gemäß der vorliegenden Erfindung
verwendet werden, um ein Dokument zu verarbeiten, das durch ein OCR-System
abgetastet wurde. Auf diese Weise kann die vorliegende Erfindung
die Genauigkeit verbessern, mit der Text in dem abgetasteten Dokument in
eine computerlesbare Form umgewandelt wird. Obwohl die Vorrichtungen
und Verfahren gemäß der vorliegenden
Erfindung verwendet werden können, um
eine Vielzahl von alternativen textbasierten elektronischen Dokumenten
zu verarbeiten, erörtert
der Rest dieses Dokuments eine spezifische Implementierung innerhalb
eines OCR-Systems.
-
1 ist
ein Blockdiagramm eines Systems 100, bei dem ein Ausführungsbeispiel
eines optischen Zeichenerkennungssystems (OCR-System) 110 gemäß der vorliegenden
Erfindung implementiert sein kann. Wie nachfolgend detaillierter
beschrieben wird, verbessert das optische Zeichenerkennungssystem 110 die
Genauigkeit, mit der Text in einem Dokument, das als ein Dokumentbild
oder eine Bitabbildung (z. B. eine digitale Abbildung von Pixel)
durch ein optisches Abtasten des Dokuments erfaßt wurde, in eine computerlesbare
Form umgewandelt wird.
-
Das optische Zeichenerkennungssystem 110 kann
in Software, Firmware, Hardware oder einer Kombination derselben
implementiert sein. Bei einem Ausführungsbeispiel, das in 1 dargestellt ist, ist das
optische Zeichenerkennungssystem 110 in Software als ein
ausführbares
Programm implementiert, das durch eine Verarbeitungsvorrichtung 102 ausgeführt wird.
Allgemein, im Hinblick auf die Hardwarearchitektur, wie in 1 gezeigt ist, weist das System 100 eine
Verarbeitungsvorrichtung 102, einen Speicher 104,
eine Abtastvorrichtung 116, eine oder mehrere Netzwerkschnittstellenvorrichtungen 118 und
eine oder mehrere Eingabeund/oder Ausgabe-Vorrichtungen (I/O-Vorrichtungen)
120 auf, die über
eine lokale Schnittstelle 122 verbunden sind. Das System 100 kann
ferner zusätzliche
Komponenten aufweisen, die in 1 nicht
dargestellt sind.
-
Die lokale Schnittstelle 122 kann
z. B. aber nicht ausschließlich
einer oder mehrere Busse sein, oder eine andere verdrahtete oder
drahtlose Verbindung. Die lokale Schnittstelle 122 kann
zusätzliche Elemente
aufweisen, die der Einfachheit halber weggelassen sind, wie z. B.
Steuerungen, Puffer (Cache-Speicher), Treiber, Repeater und Empfänger, um Kommunikationen
zu ermöglichen.
Ferner kann die lokale Schnittstelle 122 Adreß-, Steuerungs- und/oder
Daten-Verbindungen
umfassen, um geeignete Kommunikationen zwischen den zuvor genannten
Komponenten zu ermöglichen.
-
Die Verarbeitungsvorrichtung 102 ist
eine Hardwarevorrichtung zum Ausführen von Software, insbesondere
der, die in dem Speicher 104 gespeichert ist. Die Verarbeitungsvorrichtung 102 kann
ein kundenspezifisch hergestellter oder handelsüblich erhältlicher Prozessor, eine zentrale
Verarbeitungseinheit (CPU = Central Processing Unit), ein Hilfsprozessor
unter verschiedenen Prozessoren, die dem System 100 zugeordnet
sind, ein halbleiterbasierter Mikroprozessor (in der Form eine Mikrochips
oder eines Chipsatzes), ein Makroprozessor oder allgemein eine Vorrichtung
zum Ausführen
von Softwarebefehlen sein.
-
Wie in 1 dargestellt
ist, weist der Speicher 104 ein Betriebssystem 106,
zumindest eine Anwendung 108, und ein optisches Zeichenerkennungssystem 110 auf.
Das optische Zeichenerkennungssystem 110 weist ferner zumindest
eine OCR-Maschine 112 und zumindest ein Nach-OCR-Verarbeitungsmodul 114 auf.
Der Speicher 104 kann eines oder eine Kombination aus flüchtigen
Speicherelementen (z. B. Direktzugriffsspeicher (RAM, wie z. B.
DRAM, SRAM, SDRAM etc.)) und nichtflüchtigen Speicherelementen (z.
B. ROM, Festplatte, Band, CDROM etc.) aufweisen. Der Speicher 104 kann
elektronische, magnetische, optische und/oder andere Typen von Speicherungsmedien
einlagern. Ferner kann der Speicher 104 eine verteilte
Architektur aufweisen, in der verschiedenen Komponenten entfernt
voneinander positioniert sind, aber durch die Verarbeitungsvorrichtung 102 zugegriffen
werden können.
-
Die Software in dem Speicher 104 kann
eines oder mehrere separate Programme umfassen, wobei jedes derselben
ausführbare
Befehle zum Implementieren logischer Funktionen aufweist. In dem Beispiel
aus 1 umfaßt die Software
in dem Speicher 104 ein optisches Zeichenerkennungssystem 110 gemäß der vorliegenden
Erfindung. Der Speicher 104 kann ferner ein geeignetes
Betriebssystem 106 aufweisen, das die Ausführung von
anderen Computerprogrammen steuert, wie z. B. einer oder mehrerer
Anwendungen 108 und des optischen Zeichenerkennungssystem 110,
und das Planung, Eingabe-Ausgabe-Steuerung,
Datei- und Daten-Verwaltung, Speicherverwaltung und Kommunikationssteuerung
und verwandte Dienste liefert.
-
Das optische Zeichenerkennungssystem 110 kann
ein Quellprogramm, ein ausführbares
Programm (Objektcode), ein Script oder eine andere Entität sein,
die einen Satz von Befehlen aufweist, die ausgeführt werden sollen. Wenn dasselbe
als ein Quellprogramm implementiert ist, dann wird das Programm über einen
Kompilierer, Assemblierer, Interpretierer oder ähnliches übersetzt, das innerhalb des Speichers 104 umfaßt sein
kann oder nicht, um ordnungsgemäß in Verbindung
mit dem Betriebssystem 106 zu arbeiten.
-
Die Abtastvorrichtung 116 kann
eine Vorrichtung sein, die konfiguriert ist, um ein Dokument 202, wie
z. B. ein Papierdokument, in eine elektronische Darstellung des
Dokuments umzuwandeln. Die Abtastvorrichtung 116 kann z.
B. konfiguriert sein, um Text, Darstellungen etc. optisch zu erfassen,
die auf Papier gedruckt sind, und die Informationen in eine computerlesbare
Form zu translatieren. Anders ausgedrückt digitalisiert die Abtastvorrichtung 116 das Dokument 202 durch
Teilen desselben in ein Gitter von Kästen und durch Darstellen jedes
Kastens mit entweder einer 0 oder einer 1, abhängig davon, ob der Kasten ausgefüllt ist.
Für Farb-
und Grau-Skalieren gelten die selben Prinzipien, aber jeder Kasten
ist dann durch mehr als ein Bit dargestellt. Die resultierende Bitmatrix,
die als eine Bitabbildung bezeichnet wird, kann dann in dem Speicher 104 gespeichert und
durch die OCR-Maschine 112 verarbeitet werden, wie nachfolgend
beschrieben wird.
-
Ein Durchschnittsfachmann auf dem
Gebiet wird erkennen, daß eine
Vielzahl von Abtastvorrichtungen 116 verwendet werden kann.
Eine Blattzuführabtastvorrichtung
kann z. B. implementiert sein, in der mechanische Rollen das Dokument,
das abgetastet werden soll, an einem Abtastkopf vorbei bewegen.
Bei anderen Ausführungsbeispielen
kann ein Flachbettscanner implementiert sein, bei dem das Dokument,
das abgetastet werden soll, stationär ist, z. B. hinter einem Glasfenster,
während
sich der Abtastkopf an dem Dokument vorbei bewegt. Die Abtastvorrichtung 116 kann
ferner eine Handhalte-Abtastvorrichtung
sein, in der der Abtastkopf manuell über das Dokument bewegt wird,
das abgetastet werden soll.
-
Eine oder mehrere Netzwerkschnittstellenvorrichtungen 118 können eine
Vorrichtung sein, die konfiguriert ist, um eine Kommunikation zwischen dem
System 100 und einem Kommunikationsnetzwerk zu ermöglichen,
wie z. B. einem öffentlichen oder
privaten Paketvermittlungsnetz oder einem anderen Datennetzwerk,
das das Internet, ein schaltungsgeschaltetes Netzwerk, wie das öffentliche Fernsprechnetz,
ein drahtloses Netzwerk, ein optisches Netzwerk oder eine andere
gewünschte
Kommunikationsinfrastruktur sein kann.
-
Eine Eingabe-/Ausgabe-Vorrichtung
120 kann eine Vorrichtung aufweisen, die konfiguriert ist, um mit
der lokalen Schnittstelle 118 zu kommunizieren. Ein Durchschnittsfachmann
auf dem Gebiet wird erkennen, daß abhängig von der Konfiguration
des Systems 100 eine Eingabe-/Ausgabe-Vorrichtung 120 eines der nachfolgenden
oder andere Vorrichtungen umfassen kann: eine Tastatur, eine Maus, eine
Anzeigevorrichtung, wie z. B. einen Computermonitor, ein serielles
Tor, ein paralleles Tor, einen Drucker, Lautsprecher, ein Mikrophon
etc.
-
Während
der Operation des Systems 100 ist die Verarbeitungsvorrichtung 102 konfiguriert,
um eine Logik auszuführen,
die innerhalb des Speichers 104 gespeichert ist, um Daten
zu und von dem Speicher 104 zu kommunizieren, und um Operationen des
Systems 100 gemäß der Software
allgemein zu steuern. Das optische Zeichenerkennungssystem 110 und
das Betriebssystem 106 werden ganz oder teilweise, aber
typischerweise letzteres, durch die Verarbeitungsvorrichtung 102 gelesen,
evtl. innerhalb der Verarbeitungsvorrichtung 102 gepuffert
und dann ausgeführt.
-
Bei Ausführungsbeispielen, bei denen
das optische Zeichenerkennungssystem 110 in Software implementiert
ist, wie in 1 gezeigt
ist, kann das optische Zeichenerkennungssystem 110 auf
einem computerlesbaren Medium zur Verwendung durch oder in Verbindung
mit einem computerverwandten Sy stem oder Verfahren gespeichert sein.
In dem Kontext dieses Dokuments kann ein computerlesbares Medium
eine elektronische, magnetische, optische oder andere physikalische
Vorrichtung oder Einrichtung sein, die ein Computerprogramm zur
Verwendung durch oder in Verbindung mit einem computerverwandten
System oder Verfahren enthalten oder speichern kann. Das optische
Zeichenerkennungssystem 110 kann in einem computerlesbaren
Medium zur Verwendung durch oder in Verbindung mit einem Befehlsausführungs-System,
einer -Einrichtung oder einer -Vorrichtung verkörpert sein, wie z. B. einem
computerbasierten System, einem prozessorenthaltenden System oder
einem anderen System, das die Befehle aus dem Befehlsausführungs-System,
der -Einrichtung oder der -Vorrichtung abrufen und die Befehle ausführen kann.
-
In dem Kontext dieses Dokuments kann
ein „computerlesbares
Medium" eine Einrichtung sein, die das Programm zur Verwendung durch
oder in Verbindung mit dem Befehlsausführungssystem, der Einrichtung
oder der Vorrichtung speichern, kommunizieren, verbreiten oder transportieren
kann. Das computerlesbare Medium kann z. B. aber nicht ausschließlich ein
elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot-
oder Halbleiter-System, eine -Einrichtung, eine -Vorrichtung oder ein
-Verteilmedium sein. Spezischere Beispiele (eine nichterschöpfende Liste)
eines computerlesbaren Mediums würden
folgende umfassen: einen elektrische Verbindung, eine tragbare Computerdiskette, einen
Direktzugriffsspeicher (RAM = Random Access Memory), einen Nur-Lese-Speicher (ROM
= Read Only Memory), einen löschbaren
programmierbaren Nur-Lese-Speicher (EPROM, EEPROM oder Flash-Speicher),
eine optische Faser und einen tragbaren CD-Platten-Nur-Lese-Speicher
(CDROM). Es wird darauf hingewiesen, daß das computerlesbare Medium
sogar Papier oder ein anderes geeignetes Medium sein könnte, auf
das das Programm gedruckt ist, da das Programm elektronisch erfaßt werden kann,
z. B. über
ein optisches Abtasten des Papier oder eines anderen Mediums, geeignet
verarbeitet und in einem Computerspeicher gespeichert werden kann.
-
Bei alternativen Ausführungsbeispielen,
bei denen das optische Zeichenerkennungssystem 110 in Hardware
implementiert ist, kann das optische Zeichenerkennungssystem 110 mit
einer oder einer Kombination aus den nachfolgenden Techniken implementiert
sein: einer oder mehreren Logikschaltungen, die Logikgatter zum
Implementieren von Logikfunktionen auf Datensignalen aufweisen,
eine anwendungsspezifische integrierte Schaltung (ASIC = Application
Specific Integrated Circuit), die geeignete kombinatorische Logikgatter
aufweist, einem oder mehreren programmierbaren Gatterarrays (PGA
= Programmable Gate Array), einem feldprogrammierbaren Gatterarray
(FPGA = Field Programmable Gate Array) etc., oder Techniken, die
bereits bekannt sind oder in Zukunft entwickelt werden.
-
Wie oben erwähnt wurde, weist das optische Zeichenerkennungssystem 110 zumindest
eine OCR-Maschine 112 und zumindest ein Nach-OCR-Verarbeitungsmodul 114 auf.
Allgemein ausgedrückt
verbessert das optische Zeichenerkennungssystem 110 die
Zeichenerkennungsgenauigkeit des Gesamtsystems durch Verarbeiten
der Ausgabe der OCR-Maschine 112 über ein Nach-OCR-Verarbeitungsmodul 114.
-
Bezugnehmend nun auf 2 wird die allgemeine Operation des Systems 100 beschrieben.
Wie durch die Blöcke 204 und 206 dargestellt
ist, erfaßt das
OCR-System 100 Text aus einem Dokument 202 durch
optisches Abtasten des Dokuments und Erzeugen eines Dokumentbildes.
Bei Block 208 wandelt das OCR-System 100 Text
innerhalb des Dokumentbildes in eine zeichencodierte Darstellung 210 um,
z. B. eine computerlesbare Form (z. B. ASCII-Code (American Standard
Code for Information Interchange) oder Unicode), durch Durchführen von
einem aus einer Vielzahl von Zeichenerkennungsprozessen. Nachdem
der Text in dem Dokument durch die OCR-Prozesse in eine computerlesbare
Form übersetzt
ist, kann das OCR-System 100 bei
Block 212 eine Vielzahl von Nach-OCR-Prozessen durchführen, um eine zeichencodierte
Darstellung
214 zu liefern, die eine verbesserte Zeichenerkennungsgenauigkeit
aufweist.
-
Wie in 3 dargestellt
ist, kann die OCR-Maschine 112 eine Vielzahl von logischen
Modulen zum Umwandeln eines Dokumentbildes 300 (z. B. einer
elektronischen Darstellung eines Dokuments, das abgetastet wurde)
in eine zeichencodierte Darstellung 210 des Dokuments in
eine computerlesbare Form. Die zeichencodierte Darstellung 210 kann
in einer Vielzahl von Formen vorliegen, wie z. B. einem ASCII-Code
oder Unicode. Um diese Übersetzung
durchzuführen,
kann die OCR-Maschine 112z. B. ein Zeichenextrahierermodul 202,
eine Zeichenerkennungsmodul 304 und zumindest eine Zeichenschablone 306 aufweisen.
Das Textextrahierermodul 302 kann konfiguriert sein, um
ein Dokumentbild 300 zu empfangen und Textabschnitte von
Nichttextabschnitten, wie z. B. Bildern, zu unterscheiden. Das Zeichenerkennungsmodul 304 kann
konfiguriert sein, um die Textabschnitte des Dokumentbildes 300 zu verarbeiten
und die Wörter,
Buchstaben, Zahlen, Leerzeichen, Punktierung, diakritische Zeichen
etc. zu identifizieren, um eine zeichencodierte Darstellung 210 zu
erzeugen. Das Zeichenerkennungsmodul 304 kann z. B. eine
Vielzahl von heuristischen und schablonengetriebenen Aufgaben an
der zweidimensionalen digitalen Darstellung des Dokuments über einen
Vergleich mit zumindest einer Zeichenschablone 306 durchführen. Ein
Durchschnittsfachmann auf dem Gebiet wird erkennen, daß das Zeichenerkennungsmodul 304 eine
aus einer Vielzahl von bekannten oder in Zukunft entwickelten Zeichenerkennungstechniken
implementieren kann. Unabhängig
von der verwendeten Zeichenerkennungstechnik erzeugt die OCR-Maschine 112 eine
zeichencodierte Darstellung 210, die in einer computerlesbaren
Form vorliegen kann. Wie nachfolgend detaillierter beschrieben wird,
empfängt
das Nach-OCR-Verarbeitungsmodul 114 die zeichencodierte
Darstellung 210 von der OCR-Maschine 112, verarbeitet
die zeichencodierte Darstellung 210 und erzeugt eine semantische
Darstellung 212, die eine verbesserte Genauigkeit aufweist.
-
Wie oben erwähnt wurde, kann das Nach-OCR-Verarbeitungsmodul 114 verwendet
werden, um das Verhalten der OCR-Maschine 212 zu verbessern,
durch Verarbeiten der zeichencodierten Darstellung 210,
die durch die OCR-Maschine 112 erzeugt wird. Allgemein
ausgedrückt
verarbeitet ein Nach-OCR-Verarbeitungsmodul 114 die
zeichencodierte Darstellung 210 gemäß statistischen Informationen,
die sich auf Erkennungsfehler beziehen, die durch die OCR-Maschine 112 und
ein systemeigenes Sprachverzeichnis, sowie durch einen iterativen
Prozeß zum
Fragmentieren von Wörtern
in der zeichencodierten Darstellung 210 und Kombinieren
der resultierenden Wortfragmente gemacht werden.
-
Bei dem in 4 dargestellten Ausführungsbeispiel weist das Nach-OCR-Verarbeitungsmodul 114 ein
Systemeigenes-Sprachverzeichnis-Modul bzw.
muttersprachliches Wörterbuchmodul 402,
ein Wortparsermodul (Modul zur syntaktischen Analyse eines Wortes) 404,
ein OCR-Statistikmodul 406, ein Wortfragmentierungsmodul 408 und
ein Wortfragmentintegrationsmodul 410 auf. Ein Durchschnittsfachmann
auf dem Gebiet wird erkennen, daß das Systemeigenes-Sprachverzeichnis-Modul 402 in
einer Vielzahl von Arten konfiguriert sein kann. Das Systemeigenes-Sprachverzeichnis-Modul 402 kann z.
B. konfiguriert sein, um eine Sprache zu unterstützten. Ferner kann das Systemeigenes-Sprachverzeichnis-Modul 402 bei
bestimmten Ausführungsbeispielen
als ein Array von Zeichenfolgen konfiguriert sein. Jede Zeichenfolge
kann eine separate Zeile aufweisen, z. B. durch Verwenden der digitalen
Darstellung einer neuen Zeile oder eines Zeilenvorschubs (z. B.
ASCII „10").
Somit kann bei dieser Konfiguration das Nach-OCR-Verarbeitungsmodul 114 ein
Maximum von N Nachschlagungen durchführen, wobei 2" größer oder
gleich der Anzahl von Wörtern in
dem systemeigenen Sprachverzeichnis ist. Ein systemeigenes Sprachverzeichnis,
das z. B. 65.636 Einträge
aufweist, würden
z. B. nicht mehr als 16 Nachschlagungen erfordern (216 =
65.536).
-
Das Wortparsermodul 404 kann
ferner konfiguriert sein, um die Wörter in der zeichencodierten Darstellung 210 auf
eine Vielzahl von Weisen syntaktisch zu analysieren bzw. zu zerlegen.
Zum Beispiel können
unterschiedliche Regeln angewendet werden, um das syntaktische Wortanalysieren
bzw. Parsen zu erreichen. Ein Durchschnittsfachmann auf dem Gebiet
wird erkennen, daß eine
der nachfolgenden oder andere Regeln für das syntaktische Analysieren
verwendet werden können:
(1) Abgrenzung durch Zeichenfolgen alphabetischer Zeichen; (2) Abgrenzung
durch alphabetische Zeichen plus übliche Punktuierung (z. B.
das Apostrophzeichen ('), das für Abkürzungen
verwendet wird) und Punktierungsfehler (z. B. Ersetzen von „i" durch „,.", etc.);
(3) Abgrenzen wie in (1) und (2) oben mit der Zulassung eines weißen Raums
und/oder Weißraum/Fortsetzung-Anzeigevorrichtungen
(z. B. Trennungsstrich-Zeichen „-" zwischen Teilen eines
Wortes auf zwei Zeilen), etc..
-
Wie nachfolgend detaillierter beschrieben wird,
kann das Wortfragmentierungsmodul 408 konfiguriert sein,
um einen Glyph (zumindest ein Zeichen) basierend auf einer Vielzahl
von vordefinierten Regeln zu fragmentieren. Ein Wortfragmentierungsmodul 408 kann
z. B. konfiguriert sein, um einen Glyph zu analysieren, um zu bestimmen,
ob der Glyph ein eingebettetes oder ein „Wort-Fragment" enthält. Bei bestimmten
Ausführungsbeispielen
kann das Wortfragmentierungsmodul 408 konfiguriert sein,
um Wortfragmente einer bestimmten Länge (z. B. sechs oder mehr
Zeichen) zu extrahieren, die in einen längeren Glyphen eingebettet
sind. Zusätzlich
zu dem Extrahieren von Wortfragmenten aus einem Glyphen kann das
Wortfragmentierungsmodul 408 konfiguriert sein, um einen
Glyphen in einen Satz von kleinsten „Grundelement"-Teilen zu fragmentieren.
Das Wortfragment-Integrationsmodul 410 ist
konfiguriert, um zwei oder mehr Wortfragmente und/oder Glyphen basierend
auf vordefinierten Regeln zu kombinieren.
-
Ein Durchschnittsfachmann auf dem
Gebiet wird erkennen, daß das
OCR-Statistikmodul 406 Informationen aufweisen kann, die
sich auf die Zeichenerkennungsgenauigkeit der OCR-Maschine 112 beziehen.
Beispielsweise kann das OCR-Statistikmodul 406 eine
historische Statistik über
verbreitete Fehler, Ersetzungen, Einfügungen, Löschungen etc. eines Glyph (Glyph
ist gleich zumindest ein Zeichen) aufweisen. Ein Nach-OCR-Verarbeitungsmodul 114 kann
auf solche Weise konfiguriert sein, daß Statistiken, die sich auf
die OCR-Maschine 112 beziehen aus einem Kommunikationsnetzwerk über eine
Netzwerkschnittstellenvorrichtung 118 heruntergeladen werden
können.
Ein Durchschnittsfachmann auf dem Gebiet wird ferner erkennen, daß das optische
Zeichenerkennungssystem 110 als ein Rückkopplungssystem konfiguriert
sein kann, derart, daß OCR-Statistikmodule 406 aktualisiert
werden, wenn OCR-Fehler identifiziert werden. OCR-Fehler können z.
B. durch einen Benutzer identifiziert werden oder alternativ durch
ein Verfahren, das als „gründliche Überprüfung" bezeichnet
wird. Ein „gründlich überprüftes Dokument"
oder „geprüftes Dokument"
umfaßt
Dokumente, für
die die exakte, korrekte Buchstabierung aller Wörter verfügbar ist. Diesbezüglich kann
ein Benutzer manuell OCR-Fehler zu dem OCR-Statistikmodul 406 hinzufügen, oder
das OCR-Statistikmodul 406 kann
basierend auf einem Vergleich mit einem geprüften Dokument aktualisiert werden.
-
Es sollte darauf hingewiesen werden,
daß das
Nach-OCR-Verarbeitungsmodul 114 unabhängig von
der OCR-Maschine 112 implementiert sein kann. Das Nach-OCR-Verarbeitungsmodul 114 kann
z. B. verwendet werden, um ein elektronisches Dokument zu verarbeiten,
das bereits existiert und/oder nicht über eine OCR-Maschine 112 verarbeitet
wurde. Das Nach-OCR-Verarbeitungsmodul 114 kann
verwendet werden, um ein elektronisches Dokument zu verarbeiten,
das z. B. nicht abgetastet wurde, und/oder eines, das heruntergeladen
wurde, um verarbeitet zu werden. Das Nach-OCR-Verarbeitungsmodul 119 kann
verwendet werden, um z. B. Textverarbeitungsdateien, Hypertext Markup
Language-Dateien (HTML-Dateien) oder ande re elektronische Dokumente
zu verarbeiten, für
die es wünschenswert
ist, verbleibende OCR-Fehler oder andere Buchstabierfehler zu erfassen
und/oder zu korrigieren, unabhängig
von der Quelle. Auf diese Weise kann ein großer, vorangehend gründlich überprüfter Korpus
verwendet werden, um eine statistisch relevante Liste von OCR, handgetippten,
HTML-basierten Fehlern oder anderes zu erzeugen. Diesbezüglich wird
darauf hingewiesen, daß das
Nach-OCR-Verarbeitungsmodul 114 lokal und/oder entfernt
von der OCR-Maschine 112 sein kann.
-
5 ist
ein Flußdiagramm
eines Ausführungsbeispiels
eines Nach-OCR-Verarbeitungsmoduls 114. Das Nach-OCR-Verarbeitungsmodul 114 beginnt
bei Block 500. Das Nach-OCR-Verarbeitungsmodul 114 kann
durch einen Benutzer über
eine I/O-Vorrichtung 120 initiiert werden. Das Nach-OCR-Verarbeitungsmodul 114 kann
ferner automatisch durch die OCR-Maschine 112 initiiert
werden, oder einen anderen Auslöser.
-
Unabhängig von der Art und Weise,
auf die dasselbe initiiert wird, analysiert das Nach-OCR-Verarbeitungsmodul 114 bei
Block 502 die semantische Darstellung 210 des
Dokuments analytisch in Wörtern.
-
Bei Block 504 vergleicht
das Nach-OCR-Verarbeitungsmodul 114 jedes Wort, das syntaktisch analysiert
wurde, mit einem systemeigenen Sprachverzeichnis, um zu bestimmen,
ob das Wort mit einer vorbestimmten Regel konform ist. Das Nach-OCR-Verarbeitungsmodul 114 kann
z. B. einen Standardvergleich durchführen, ausschließlich durch Vergleichen
des syntaktisch analysierten Wortes mit dem systemeigenen Sprachverzeichnis,
um zu bestimmen, ob dasselbe mit einem der Worteinträge übereinstimmt,
die in dem systemeigenen Sprachverzeichnis enthalten sind. Dieser
Typ von Vergleich kann z. B. verwendet werden, um zu bestimmen,
ob das Wort richtig buchstabiert ist und/oder ordnungsgemäß durch
die OCR-Maschine 112 erkannt wurde. Somit kann das Nach-OCR- Verarbeitungsmodul 114 verwendet
werden, um Fehlbuchstabierungen zu identifizieren, die in dem Originaldokument 202 gemacht
werden, sowie Fehlbuchstabierungen, die aus Zeichenerkennungsfehlern
resultieren, die durch die OCR-Maschine 112 gemacht
werden. Zusätzlich dazu
werden „falsche
Positive" (d. h. Situationen, in denen Wörter absichtlich derart buchstabiert
wurden, daß dieselben
in dem systemeigenen Sprachverzeichnis nicht gefunden werden), die
durch das Nach-OCR-Verarbeitungsmodul 114 „korrigiert"
werden, minimiert werden, ausschließlich durch Versuchen, Wörter zu
finden, die von üblichen
Fehlern von Glyphen, Zeichen, Punktierung, Einfügung und/oder Löschung von
Leerraum etc. stammen. Auf diese Weise können absichtlich falsch buchstabierte
Wörter,
die Verzeichnisnachschlagungen nicht ähnlich sind, oder die nicht
in Verzeichnisnachschlagungen übersetzt
werden können,
unter Verwendung von üblichen
OCR-Fehlern, nicht
durch das Nach-OCR-Verarbeitungsmodul 114 „korrigiert"
werden.
-
Das Nach-OCR-Verarbeitungsmodul 114 kann
komplexere Vergleiche durchführen,
um die Funktionalität
des systemeigenen Sprachverzeichnisses zu erweitern. Das Nach-OCR-Verarbeitungsmodul 114 kann
z. B. jedes Wort mit dem systemeigenen Sprachverzeichnis vergleichen,
in Kombination mit verschiedenen üblichen Nachsilben und/oder Vorsilben,
um sicher zu stellen, daß Ableitungen
von Wortwurzeln berücksichtigt
werden. Das optische Zeichenerkennungssystem 110 kann z.
B, mit einem relativ einfachen systemeigenen Sprachverzeichnis konfiguriert
sein, das eine durchschnittliche Anzahl von Worteinträgen aufweist,
und das das Wort „indecipherable"
nicht enthält,
das jedoch das Wort „decipher"
enthält.
Daher, unter Annahme, daß das
syntaktisch analysierte Wort tatsächlich „indecipherable" ist, würde das
Nach-OCR-Verarbeitungsmodul 114 keine exakte Übereinstimmung
in dem systemeigenen Sprachverzeichnis finden. Wenn jedoch übliche Vorsilben
und/oder Nachsilben bei dem Vergleich berücksichtigt werden (z. B. die
Vorsilbe „in"
und die Nachsilbe „able"),
kann das Nach-OCR- Verarbeitungsmodul 114 in
der Lage sein, zu bestimmen, daß das
syntaktisch analysierte Wort „indecipherable" ordnungsgemäß buchstabiert
wurde und/oder daß die
OCR-Maschine 112 die Zeichen ordnungsgemäß erkannt
hat.
-
Das Nach-OCR-Verarbeitungsmodul 114 kann
ferner Vergleiche mit dem systemeigenen Sprachverzeichnis basierend
auf vorbestimmten Statistiken durchführen, die sich auf die Zeichenerkennungsgenauigkeit
der OCR-Maschine 112 beziehen. Das Nach-OCR-Verarbeitungsmodul 114 kann
z. B. historische Statistiken über
Fehler, Ersetzungen, Einfügungen,
Löschungen
etc. eines üblichen
Glyphen (zumindest ein Zeichen) einlagern. Beispielsweise sei angenommen,
daß die
OCR-Maschine 112 eine statistisch
bestimmte Tendenz aufweist, den Glyphen „rn" als das einzelne Zeichen „m" zu
erkennen. Unter diesen Umständen
kann die OCR-Maschine 112 das Wort „Journal" fälschlich
als „Joumal"
identifizieren. Unter Verwendung des Standardvergleichs und des Ergänzungsvergleichs
basierend auf üblichen
Vorsilben und/oder Nachsilben, wie oben beschrieben wurde, wäre die Nach-OCR-Verarbeitung 114 nicht
in der Lage, ein übereinstimmenden
Worteintrag in dem systemeigenen Sprachverzeichnis zu finden. Wenn jedoch
OCR-Statistiken berücksichtigt
werden, kann das Nach-OCR-Verarbeitungsmodul 114 in der
Lage sein, zu bestimmen, daß diese
fälschliche
Ersetzung durch die OCR-Maschine 112 durchgeführt wurde.
-
Nach dem mißglückten Finden von „Joumal" in
dem systemeigenen Sprachverzeichnis kann das Nach-OCR-Verarbeitungsmodul 114z.
B. die Zeichen in dem Wort und der OCR-Statistik analysieren, um zu
bestimmen, ob alternative Wörter
vorliegen, die mit dem systemeigenen Sprachverzeichnis verglichen
werden können.
Bezugnehmend auf das vorliegende Beispiel kann das Nach-OCR-Verarbeitungsmodul 114 erkennen,
daß das
Wort das Zeichen „m" enthält, und
daß die
OCR-Maschine 112 eine statisch bestimmte Tendenz aufweist,
den Glyphen „rn"
als das einzelne Zeichen „m"
zu erkennen. Basierend auf diesen Informationen kann das Nach-OCR-Verarbeitungsmodul
114 das
modifizierte Wort mit dem systemeigenen Sprachverzeichnis vergleichen. Wenn
das systemeigene Sprachverzeichnis einen Worteintrag enthält, der
mit dem modifizierten Wort übereinstimmt,
kann das Nach-OCR-Verarbeitungsmodul 114 bestimmen, daß das Originalwort
durch die OCR-Maschine 112 falsch erkannt wurde. Das Nach-OCR-Verarbeitungsmodul 114 kann
dann das Originalwort „Joumal"
(aus der zeichencodierten Darstellung 210) durch das modifizierte
Wort „Journal" ersetzen.
Wie oben erwähnt
wurde, können
Statistiken über
Fehler, andere Erscheinungen von „Journal" über „Joumal" sowohl innerhalb
des vorliegenden Dokuments als auch in anderen Dokumenten in einem
großen
Korpus ebenfalls verwendet werden. Das Nach-OCR-Verarbeitungsmodul 114 kann
die Wortersetzung innerhalb der zeichencodierten Originaldarstellung 210 durchführen, wodurch
eine zeichencodierte Darstellung 212 erzeugt wird, die
eine verbesserte Zeichenerkennungsgenauigkeit aufweist. Alternativ
kann die zeichencodierte Darstellung 212, die eine verbesserte
Zeichenerkennungsgenauigkeit aufweist, separat aus der zeichencodierten
Originaldarstellung 210 erzeugt werden.
-
Wie oben erwähnt wurde, wenn der Standardvergleich
und der Ergänzungsvergleich
basierend auf üblichen
Vorsilben und/oder Nachsilben keine erfolgreiche Übereinstimmung
liefern, kann das Nach-OCR-Verarbeitungsmodul 114 die Zeichen
in dem Wort und der OCR-Statistik analysieren, um zu bestimmen,
ob alternative Wörter
vorliegen, die mit dem systemeigenen Sprachverzeichnis verglichen werden
sollen. Somit können
mehrere alternative Wörter
vorliegen. In diesen Umständen
kann das Nach-OCR-Verarbeitungsmodul 114 die OCR-Statistik verwenden,
um die Reihenfolge zu priorisieren, in der alternative Wörter mit
dem systemeigenen Sprachverzeichnis verglichen werden. Alternative Wörter, die
z. B. eine höhere
Erscheinungswahrscheinlichkeit aufweisen, können mit dem systemeigenen
Sprachverzeichnis verglichen werden, vor alternativen Wörtern, die
eine niedrigere Erscheinungswahrscheinlichkeit aufweisen. Beispielsweise sei
angenommen, daß die
OCR-Maschine 112 eine statistisch bestimmte Tendenz aufweist,
den Glyphen „rn"
als das einzelne Zeichen „m"
zu erkennen, und eine geringere statistisch bestimmte Tendenz, die Zahl „1" als
den Kleinbuchstaben „1"
zu erkennen. Das Nach-OCR-Verarbeitungsmodul 114 kann konfiguriert
sein, das alternative Wort „Journal"
zuerst zu vergleichen, da eine höhere
Wahrscheinlichkeit besteht, daß die
OCR-Maschine 112 diesen
Fehler gemacht hat.
-
Bei Block 506 kann das Nach-OCR-Verarbeitungsmodul 114 jedes
Wort fragmentieren, das bei zumindest einem der Vergleiche des systemeigenen Sprachverzeichnisses
fehlschlägt,
die oben basierend auf vordefinierten Wortfragmentierungsregeln beschrieben
wurden. Das Nach-OCR-Verarbeitungsmodul 114 kann z. B.
jedes Wort analysieren, um zu bestimmen, ob das Wort ein zusammengesetztes Wort
ist und/oder ob das Wort andere eingebettete Wörter oder „Wortfragmente" enthält. Bei
bestimmten Ausführungsbeispielen
kann das Nach-OCR-Verarbeitungsmodul 114 konfiguriert
sein, um Wortfragmente einer bestimmten Länge (z. B. sechs oder mehr
Zeichen) zu extrahieren, die in längere Wörter eingebettet sind. Zusätzlich zu
dem Extrahieren von Wortfragmenten aus jedem Wort, kann das Nach-OCR-Verarbeitungsmodul 114 konfiguriert sein,
jedes falsch buchstabierte Wort und/oder jedes Wortfragment in einen
Satz von kleinsten „Grundelement"-Teilen
aufzuteilen. Dieser Prozeß des
Extrahierens von Wortfragmenten und des Unterteilens von Wortfragmenten
in einen Satz von kleinsten Grundelementteilen kann als „Spalten
und Zusammenfügen"
oder „Fragmentieren
und Kombinieren" bezeichnet werden. Es ergibt einen optimalen Satz von
relevanten Kombinationen von „Grundelementen"
(oder noch besser „Atomen")
für eine
gegebene Textzeichenfolge, um Korrekturen von echten Fehlbuchstabierungen
zu ermöglichen.
Somit reduziert derselbe „falsche
Negative" in denen plausible Korrekturen weggelassen werden, ohne
zu viele „falsche Positive"
einzubringen, die durch ein übereifriges
Suchen nach „ähnlichen"
Buchstabierungen in dem Verzeichnis verursacht werden. Anderes ausgedrückt kann
das Nach-OCR-Verarbeitungsmodul 114 nur nach ähnlichen
Buchstabierungen suchen, wenn die Fehler-Ersetzung, -Weglassung,
-Austausch, -Einfügungen
etc. typisch für
die gegebenen OCR-Maschine sind.
-
Bei Block 508 kann das Nach-OCR-Verarbeitungsmodul 114 zwei
oder mehr Wortfragmente kombinieren und/oder fehlerhaft buchstabierte
Wörter
mit dem systemeigenen Sprachverzeichnis vergleichen. Gruppen von
ursprünglich
falsch buchstabierten Wörtern
und/oder Wortfragmenten können zum
Beispiel kombiniert werden, durch Berücksichtigen von Wörtern und/oder
Wortfragmenten vor und nach jedem Wort und/oder Wortfragment. Wie
durch die Blöcke 510, 512 und 514 dargestellt
ist, kann das Nach-OCR-Verarbeitungsmodul 114 den nachfolgenden
iterativen Prozeß durchführen: (1)
Kombinieren von zwei oder mehr falsch buchstabierten Wörtern und/oder
Wortfragmenten; (2) Vergleichen des kombinierten Wortes mit dem
systemeigenen Sprachverzeichnis, wie vorangehend beschrieben wurde;
und (3) Modifizieren der semantischen Darstellung 210 des
Dokuments mit dem kombinierten Wort, wenn das kombinierte Wort mit
einem der Worteinträge
in dem systemeigenen Sprachverzeichnis übereinstimmt. Wie oben erwähnt wurde,
kann das Nach-OCR-Verarbeitungsmodul 114 das Originalwort
durch das kombinierte Wort innerhalb der semantischen Originaldarstellung 210 ersetzen,
wodurch eine semantische Darstellung 212 erzeugt wird,
die eine verbesserte Zeichenerkennungsgenauigkeit aufweist. Alternativ
dazu kann die semantische Darstellung 212, die eine verbesserte
Zeichenerkennungsgenauigkeit aufweist, separat von der semantischen
Originaldarstellung 210 erzeugt werden.
-
Ferner kann der iterative Prozeß durch
eine Anzahl von vordefinierten Regeln getrieben werden. Bei bestimmten
Ausführungsbeispielen
kann das Nach-OCR-Verarbeitungsmodul 114z. B. eine vordefinierte
Anzahl von Iterationen durchführen.
Bei einem alternativen Ausführungsbeispiel
kann das Nach-OCR-Verarbeitungsmodul 114 konfiguriert sein,
um nur eine bestimmte Anzahl von aufeinanderfolgenden falsch buchsta bierten
Wörtern
und/oder Wortfragmenten zu kombinieren. Das Nach-OCR-Verarbeitungsmodul 114 endet
bei Block 514.
-
Um die Konzepte der vorliegenden
Erfindung weiter darzustellen, stellt 6 ein
Ausführungsbeispiel
eines Nach-OCR-Verarbeitungsmoduls 112 dar, das
eine Nach-OCR-Verarbeitung
an einem Probeabschnitt eines Texts aus einem Dokument 202 durchführt. Wie
in 6 dargestellt ist,
kann ein Dokument 202 einen Textabschnitt 600 enthalten.
Zu Zwecken dieses Beispiels weist der Textabschnitt 600 das
einzelne Wort „relationships"
auf. Wie oben beschrieben ist, kann das OCR-System 100 den Textabschnitt 600 als
Teil eines Dokumentbildes 300 erfassen, durch Abtasten
des Dokuments 202. Die OCR-Maschine 112 kann das
Dokumentbild 300 in eine semantische Darstellung 210 umwandeln,
die einen Glyphen 602 enthält, der dem umgewandelten Textabschnitt 600 entspricht, über eine
Vielzahl von Zeichenerkennungsprozessen. Aufgrund von Ungenauigkeiten,
die dem Zeichenerkennungsprozeß zugeordnet
sind, kann die OCR-Maschine 112 zumindest ein Zeichen in
dem Glyphen 602 nicht ordnungsgemäß erkennen. Die OCR-Maschine 112 kann
z. B. einen zusätzlichen
weißen
Raum zwischen den Zeichen „i"
und „p"
nicht ordnungsgemäß erkennen,
wodurch zwei separate Glyphen 604 und 606 erzeugt werden:
Glyph 604 weist die Zeichen „relationshi" auf, und der
Glyph 606 weist die Zeichen „ps" auf.
-
Das Nach-OCR-Verarbeitungsmodul 114 kann
die Glyphen 604 und 606 aus der semantischen Darstellung 210 syntaktisch
analysieren und dann die Glyphen 604 und 606 mit
einem systemeigenen Sprachverzeichnis vergleichen, wie oben im Hinblick auf 5 beschrieben ist. Wenn
die OCR-Maschine 112 den Glyphen 602 ordnungsgemäß erkannt
hätte, könnte das
Nach-OCR-Verarbeitungsmodul 114 bestimmen, daß der Glyph 606 ordnungsgemäß buchstabiert
wurde. Das Nach-OCR-Verarbeitungsmodul 112 könnte z.
B. verifizieren, daß der
Glyph 602 ordnungsgemäß buchstabiert
wurde, unter Verwendung des Standardvergleichs, der oben beschrieben
wurde, wenn das systemeigene Sprachverzeichnis das Wort „relati onships"
enthalten würde.
Das Nach-OCR-Verarbeitungsmodul 114 könnte ferner verifizieren, daß der Glyph 602 ordnungsgemäß buchstabiert
wurde, unter Verwendung des Ergänzungsvergleichs
basierend auf üblichen
Vorsilben und/oder Nachsilben, wie oben beschrieben wurde, wenn
das systemeigene Sprachverzeichnis das Wort „relationship" enthalten würde und
das Nach-OCR-Verarbeitungsmodul 112 konfiguriert ist, die
Nachsilbe „s"
zu berücksichtigen.
Bei diesem Beispiel jedoch, wo die Glyphen bzw. Zeichen oder Symbole 604 und 606 nicht
durch den Vergleich des systemeigenen Sprachverzeichnisses verifiziert
werden können,
kann eine weitere Nach-OCR-Verarbeitung auftreten.
-
Die Glyphen 604 und 606 können weiter durch
ein Wortfragmentierungsmodul 408 verarbeitet werden. Das
Wortfragmentierungsmodul 408 kann die Glyphen 604 und 606 wie
oben beschrieben fragmentieren. Das Wortfragmentierungsmodul 408 kann z.
B. die Glyphen 604 und 606 analysieren, um zu
bestimmen, ob der Glyph ein zusammengesetztes Wort aufweist und/oder
ob das Wort andere eingebettete Wörter oder „Wortfragmente" enthält. Bei
bestimmten Ausführungsbeispielen
kann das Wortfragmentierungsmodul 408 konfiguriert sein,
um Wortfragmente einer bestimmten Länge (z. B. sechs oder mehr
Zeichen) zu extrahieren, die in Glyphen 604 und 606 eingebettet
sind. Zusätzlich
zu dem Extrahieren von Wortfragmenten kann das Wortfragmentierungsmodul 408 konfiguriert
sein, jeden Glyphen in einen Satz von kleinsten „atomaren" Teilen zu unterteilen.
Wie in 6 dargestellt
ist, kann das Fragmentierungsmodul 408 den Glyphen 604 basierend
auf den vordefinierten Fragmentierungsregeln in die Fragmente 608 und 610 fragmentieren.
Das Fragment 608 weist das Wort „relations" auf, und das Fragment 610 weist
das Wort „hi"
auf.
-
Die Fragmente 608 und 610 und
der Glyph 606 können
dann durch das Wortfragmentintegrationsmodul 410 verarbeitet
werden. Wie oben beschrieben kann das Wortfragmentintegrationsmodul 410 konfiguriert
sein, um zwei oder mehr Wort fragmente und/oder falsch buchstabierte
Wörter
mit dem systemeigenen Sprachverzeichnis zu kombinieren. Zum Beispiel
können
Gruppen von ursprünglich falsch
buchstabierten Wörtern
und/oder Wortfragmenten miteinander kombiniert werden, durch Berücksichtigen
von Wörtern
und/oder Wortfragmenten vor und nach jedem Wort und/oder Wortfragment. Wie
in 6 dargestellt ist,
kann das Wortfragmentintegrationsmodul 410 die Fragmente 608 und 610 und
den Glyphen 606 kombinieren (wodurch das Wort „relationships"
erzeugt wird), und die Kombination mit dem systemeigenen Sprachverzeichnis
vergleichen. Das Nach-OCR-Verarbeitungsmodul 112 kann verifizieren,
daß die
Kombination ein gültiges Wort
ergibt (über
den Standardvergleich, der oben beschrieben ist), wenn das systemeigene
Sprachverzeichnis das Wort „relationships"
enthält.
Das Nach-OCR-Verarbeitungsmodul 114 kann ferner verifizieren,
daß die
Kombination ein gültiges
Wort ergibt (über
den Ergänzungsvergleich
basierend auf üblichen
Vorsilben und/oder Nachsilben, wie oben beschrieben ist), wenn das
systemeigene Sprachverzeichnis das Wort „relationship" enthält und das Nach-OCR-Verarbeitungsmodul 112 konfiguriert
ist, um die Nachsilbe „s"
zu berücksichtigen.
Wenn das Nach-OCR-Verarbeitungsmodul 112 verifiziert, daß die Kombination
ein gültiges
Wort ergibt, kann das Nach-OCR-Verarbeitungsmodul 114 den
Glyphen 602 innerhalb der zeichencodierten Darstellung 210 durch
die Kombination ersetzen, wodurch eine zeichencodierte Darstellung 212 erzeugt
wird, die eine verbesserte Zeichenerkennungsgenauigkeit aufweist.
-
In Anbetracht der obigen Beschreibung
wird ein Durchschnittsfachmann auf dem Gebiet erkennen, daß das OCR-System 110 mehrere
OCR-Maschinen 112 aufweisen kann, die in das Nach-OCR-Verarbeitungsmodul 114 integriert
sind. Auf diese Weise kann das Nach-OCR-Verarbeitungsmodul 114 die
zeichencodierte Darstellung 210 aus mehreren OCR-Maschinen
verarbeiten und entsprechende zeichencodierte Darstellungen 212 erzeugen,
die eine verbesserte Zeichenerkennungsgenauigkeit aufweisen. Somit
kann das OCR-System 110 Vergleichs daten für die OCR-Maschinen 112 liefern. Ferner
können
die zeichencodierten Darstellungen 212, die den OCR-Maschinen 112 entsprechen,
verwendet werden, um eine bessere Gesamtausgabe zu erhalten. Das
Nach-OCR-Verarbeitungsmodul 114 kann z. B. konfiguriert
sein, um die OCR-Maschine 112 zu bestimmen, die die beste
Gesamtgenauigkeit aufweist (z. B. basierend auf der Anzahl von Wörtern, die
während
des Vergleichs des systemeigenen Sprachverzeichnisses nicht erkannt
wurden). Das Nach-OCR-Verarbeitungsmodul 112 kann konfiguriert
sein, um die entsprechende zeichencodierte Darstellung 212 als
die genaueste Ausgabe auszuwählen.
Das Nach-OCR-Verarbeitungsmodul 114 kann ferner konfiguriert
sein, um die zeichencodierten Darstellungen 212 zu kombinieren,
um eine umfassendere Ausgabe zu erzeugen. Die Nach-OCR-Verarbeitungsmaschine 114 kann
konfiguriert sein, um die zeichencodierten Darstellungen 212 basierend
auf den OCR-Statistiken für
jede OCR-Maschine 112 zu kombinieren. Das Nach-OCR-Verarbeitungsmodul 114 kann
ferner konfiguriert sein, um Statistiken für jede OCR-Maschine 112 einzulagern,
wie z. B. wie gut sich jede OCR-Maschine 112 an bestimmten
Texttypen verhält (z.
B. abgegrenzte Schriftartgröße, Typ,
Familie, Attribut etc.).
-
Es sollte darauf hingewiesen werden,
daß zusätzliche
Techniken zum Vergrößern der
OCR-Statistiken verwendet werden können. Das Dokument selbst kann
z. B. zunehmend gewichtete Statistiken für eine vermeintliche Korrektur
liefern, basierend auf der Anzahl von Erscheinungen der „korrigierten" Buchstabierung
anderswo in dem Dokument. Sollten die Statistiken für „relationships"
direkt unter jenen von „relations
hi ps" sein, aber „relationships"
(oder dessen Wurzeln, „relation", „relations", „relationship" mit
einer geringeren aber ungleich Null Auswirkung auf die Gewichtung)
tritt an mehreren anderen Stellen in demselben Dokument auf, dann
kann dies zu einem Akzeptieren von „relationships" über „relations hi
ps" führen,
auch wenn die einzelne Instanz dies nicht tut. Diese „Erscheinungsgewichtungs"-Statistiken können durch
das Nach-OCR-Verarbeitungsmodul 114 verwendet werden.
-
Es sollte darauf hingewiesen werden,
daß die
OCR-Maschine 112 und das Nach-OCR-Verarbeitungsmodul 114 in
denselben lokalen Speicher 104 gespeichert sein können, wie
in 1 dargestellt ist.
Bei alternativen Ausführungsbeispielen
kann das Nach-OCR-Verarbeitungsmodul 114 entfernt von der OCR-Maschine 112 in
einem separaten Speicher angeordnet sein. Es sollte ferner darauf
hingewiesen werden, daß verschiedene
Aspekte des Nach-OCR-Verarbeitungsmoduls 114 in einem Speicher
entfernt von einem Speicher angeordnet sein können, der die anderen Aspekte
enthält.