-
Verwandte
Anmeldungen
-
Die vorliegende Anmeldung nimmt Bezug auf
die europäische
Patentanmeldung mit der Nummer 99 108 354.4, die am 28. April 1999
eingereicht wurde.
-
Gebiet der
Erfindung
-
Die vorliegende Erfindung betrifft
ein Verfahren und eine Vorrichtung zum Verarbeiten elektronischer
Dokumente, insbesondere zum Extrahieren von bestimmten Elementen
von elektronischen Textdokumenten.
-
Beschreibung
verwandter Technologie
-
Die elektronische Datenverarbeitung
(EDV) wird heutzutage immer wichtiger, um mit der riesigen Menge
von Dokumenten fertig zu werden, die von Institutionen wie großen Firmen,
Verwaltungsbüros oder Ähnlichem
bearbeitet werden müssen.
Es ist heute üblich,
dass die Dokumente in elektronischer Form vorliegen, die beispielsweise
das Ergebnis eines Scanning-Prozesses und danach eines optischen
Zeichenerkennungsprozesses (OCR) sind, um geschriebene Dokumente
in eine elektronische Form zu konvertieren.
-
Falls eine große Menge von solchen Dokumenten
bearbeitet werden muss, beispielsweise, um spezifische Daten, die
darin enthalten sind, in geordneter Weise wie beispielsweise in
einer Datenbank zu speichern, dann ist es wünschenswert, dass bestimmte
Teile von Informationen (Elemente des Dokuments), wie beispielsweise
das Geburtsdatum, der Geburtsort, oder Ähnliches, von solchen elektronischen
Dokumenten auf automatische Weise extrahiert werden können. Wenn
beispielsweise eine Firma automatisch ein großes Volumen von Lebensläufen verarbeiten
möchte,
dann könnte
es wünschenswert
sein, diese Daten auf automatische Weise von den elektronischen
Dokumenten zu extrahieren. Auch für andere Zwekke wie beispielsweise
die Extraktion von Buchhaltungsinformationen für ERP-Systeme kann die Extraktion von Daten
aus Textdokumenten wünschenswert
sein. Es gibt viele Anwendungen, die vorstellbar sind, für welche
es wünschenswert
sein kann, dass eine bestimmte Textinformation oder ein Textelement
oder bestimmte Zahlen oder Zahleninformationen aus einem Textdokument
extrahiert werden können.
Das Textdokument kann beispielsweise ein beliebiges Dokument sein,
das bestimmte Daten von Interesse enthält, die extrahiert werden sollen,
da sie zu einer bestimmten Informationskategorie, die extrahiert
werden soll, gehören.
-
Herkömmliche Extraktionssysteme,
die bestimmte spezifische Daten von elektronischen Textdokumenten
extrahieren können,
arbeiten so, dass sie eine bestimmte feste Position in einem Dokument aufsuchen,
von der angenommen wird, dass die gewünschten Daten dort lokalisiert
sind.
-
Solche Arten von Suchalgorithmen
arbeiten nicht sehr gut, da sie stark von Dokumenten abhängig sind,
die ein bestimmtes vordefiniertes Format aufweise, wobei jedoch
die gewünschten
Daten nicht immer am selben Platz angeordnet sind.
-
US-5,191,525 beschreibt ein System
zum automatischen Verarbeiten von Papierdokumenten basierend auf
einer automatischen Extraktion und zum Verarbeiten von Daten, die
in diesen Dokumenten enthalten sind. Für diesen Zweck werden die Dokumente
zuerst in ein elektronisches Format konvertiert. Das System kann
verschiedene Typen von Dokumenten bearbeiten, und zuerst muss der
Typ des Dokuments identifiziert werden. Für diesen Zweck sind verschiedene
geographische Identifikationsgebiete vorgesehen, die ein spezifisches
Identifikationswort oder -worte enthalten, basierend auf welchen
die Identifikation des Dokumententyps durchgeführt wird. Nachdem der Typ identifiziert
wurde, wird basierend auf Wissen über die Zusammensetzung dieses
Typs von Dokument ein Herausschneiden von graphischen Datenbereichen,
die von dem graphischen Bild extrahiert werden, durchgeführt. Diese Bereiche
werden zum Erkennungssubsystem gesandt und gemäß dem schon wohl bekannten
Wissen über
den Typ des Dokuments enthalten sie einen bestimmten Typ von Daten,
der dann für
die weitere Verarbeitung dieses Dokuments verwendet werden kann.
Das System hängt
somit von a-priori-Wissen über
die Zusammensetzung der individuellen Dokumente ab, insbesondere über den
Ort, wo ein bestimmter Typ von Daten innerhalb eines bestimmten Dokumententyps
erwartet werden kann.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung,
die herkömmlichen
Verfahren zur Extraktion bestimmter Teile von Daten von Textdokumenten zu
verbessern.
-
Zusammenfassung
der Erfindung
-
Gemäß einem Aspekt schafft die
vorliegende Erfindung ein Verfahren und eine Vorrichtung zur Erzeugung
eines Layout-Dokuments, das ein Element des Textdokuments repräsentiert
und als Eingabe für eine
Klassifiziervorrichtung verwendet werden kann. Aufgrund des besonderen
Typs des Layout-Dokuments, das gemäß diesem Aspekt der vorliegenden Erfindung
erzeugt wird, ist die Klassifiziervorrichtung in der Lage, eine
verbesserte Klassifikation eines Textelements, das durch das Layout-Dokument
repräsentiert
wird, durchzuführen.
Dadurch wird eine verbesserte Extraktion von bestimmten Textelementen
von Textdokumenten möglich.
-
Gemäß einem Aspekt der vorliegenden
Erfindung wird ein Layout-Dokument basierend auf Elementen eines
elektronischen Textdokuments erzeugt, wobei das Layout eine Repräsentation
von Elementen des Dokuments zusammen mit Repräsentationen ihrer entsprechenden
Position enthält. Durch
Erzeugung eines solchen Layout-Dokuments, das als Eingabe für eine Klassifiziervorrichtung
wie beispielsweise ein neuronales Netz verwendet werden kann, wird
es möglich,
die Elemente eines Dokuments zusammen mit ihren geometrischen Kontextelementen
(ihrer Nachbarschaft/Umgebung) zu evaluieren und dabei nicht nur
das Format oder den Inhalt eines Elements selbst auszunutzen, sondern
auch weitere Informationen, um zu evaluieren, ob das Element zu
einer bestimmten Kategorie gehört
oder nicht. Durch Berücksichtigung
nicht nur eines Elements oder seines Formats selbst, sondern statt
dessen auch seines Umgebungsbereichs bzw. der Elemente, die in dem Umgebungsbereich
enthalten sind, erhält
eine Klassifiziervorrichtung weitere Hinweise dahingehend, ob ein
Textelement zu einer bestimmten Kategorie gehört oder nicht. Diese weiteren Hinweise,
die durch den Umgebungsbereich und die darin enthaltenen Textelemente
gegeben werden, können
von einer Klassifiziervorrichtung erkannt oder gelernt werden, beispielsweise
einem neuronalen Netz, und dadurch kann ein trainiertes neuronales Netz
eine verbesserte Klassifikation und somit eine verbesserte Extraktion
von Elementen von Textdokumenten erzielen.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung werden Layouts für eine Vielzahl von Elementen,
die zu einer bestimmte Kategorie gehören, erzeugt, und die so erzeugten
Layouts werden dann verwendet, um die Klassifiziervorrichtung zu trainieren,
um Elemente dieser Kategorie zu erkennen. Vorzugsweise ist die Klassifiziervorrichtung
ein neuronales Netz, das durch die Layouts, die für eine Vielzahl
von Elementen erzeugt wurden, trainiert wird, und durch Eingabe
in die Vorrichtung während der
Trainingsphase, ob die Elemente, für die die Layouts erzeugt wurden,
zu einer bestimmten Kategorie gehören oder nicht. Ein so trainiertes
neuronales Netz oder eine Klassifiziervorrichtung kann weiter zur Klassifizierung
von unbekannten Textelementen verwendet werden sowie zur Durchführung einer
Extraktion von Elementen aus unbekannten Texten.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung wird eine Klassifiziervorrichtung, die trainiert
wurde, verwendet, um zu evaluieren, ob ein unbekanntes Element zu
einer bestimmten Kategorie gehört
oder nicht, und zwar basierend auf einem Layout-Dokument, das für dieses
Element generiert wurde, um dadurch Elemente aus einem Dokument
zu extrahieren, die zu einer bestimmten Kategorie gehören.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung werden Kandidaten identifiziert, die gemäß einem
Suchkriterium möglicherweise
zu der Kategorie, zu der die extrahierten Daten gehören sollen,
gehören.
Vorzugsweise kann ein Suchkriterium ein Format eines Elements sein,
ein Wortsuchkriterium, ein fehlertolerantes Wortsuchkriterium oder eine
Kombination solcher Kriterien. Für
jeden dieser Kandidaten kann dann ein Layout-Dokument erzeugt werden,
und zwar basierend auf dem Kandidaten selbst, seiner Position in
dem elektronischen Dokument und basierend auf weiteren Elementen
des elektronischen Dokuments und ihrer Position in dem Dokument.
Vorzugsweise werden diejenigen Elemente bei Erzeugung des Layout-Dokuments
in Betracht gezogen, die innerhalb eines oder mehrerer vordefinierter
Gebiete liegen, vorzugsweise in der Nähe oder in der Umgebung des
Kandidaten.
-
Basierend auf einem solchen Layout-Dokument
wird dann beurteilt, ob der Kandidat tatsächlich zu der gewünschten
Kategorie gehört
oder nicht.
-
Gemäß einem weiteren bevorzugten
Ausführungsbeispiel
der vorliegenden Erfindung wird die Entscheidung, ob ein Kandidat
zu der gewünschten Kategorie
gehört,
durch Verwendung einer Klassifiziervorrichtung durchgeführt, die
vorzugsweise ein neuronales Netz ist. Das neuronale Netz kann durch Verwendung
von Layout-Dokumenten
von Kandidaten trainiert worden sein und ferner durch Eingabe von
Informationen in das neuronale Netz, ob diese Kandidaten zu der
gewünschten
Kategorie gehören oder
nicht.
-
Gemäß einem weiteren bevorzugten
Ausführungsbeispiel
wird die Entscheidung, ob ein Kandidat zu der gewünschten
Kategorie gehört
oder nicht, durch Verwendung eines Verfahrens oder einer Vorrichtung
wie in der europäischen
Patentanmeldung mit der Anmeldenummer 99 108 354.4 beschrieben durchgeführt, die
am 28. April 1999 eingereicht wurde und deren Priorität für die vorliegende
Anmeldung beansprucht wurde und die hiermit durch Bezugnahme in
die Anmeldung aufgenommen wird.
-
Kurze Beschreibung
der Zeichnungen
-
1 zeigt
ein Computersystem, das verwendet werden kann, ein Ausführungsbeispiel
gemäß der vorliegenden
Erfindung zu implementieren;
-
2 illustriert
ein Beispiel für
ein Textdokument, von dem Elemente extrahiert werden sollen;
-
3 zeigt
ein Beispiel eines Arbeitsdokuments, das aus einem Textdokument
erzeugt wurde;
-
4 zeigt
ein Beispiel eines Benutzerinterfaces für die Definition des Layoutgebiets;
-
5a zeigt
ein Beispiel für
ein Layoutgebiet;
-
5b zeigt
ein Beispiel für
ein Layout-Dokument;
-
6 zeigt
ein Beispiel eines Kodierschemas für das Kodieren einer Kandidaten-Box;
-
7 zeigt
ein Beispiel für
das Kodieren von Elementpositionen des Layout-Dokuments;
-
8 zeigt
ein Beispiel einer Lernphase einer Klassifiziervorrichtung;
-
9 zeigt
ein Beispiel einer Extraktionsphase einer Klassifiziervorrichtung.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsbeispiele
-
Die vorliegende Erfindung kann durch
ein Computersystem wie in 1 gezeigt
implementiert werden.
-
1 zeigt
schematisch den Aufbau eines Computersystems, das in Verbindung
mit dem bevorzugten Ausführungsbeispiel
der Erfindung verwendet werden kann. Der Computer 100 enthält eine
CPU 110, einen Speicher 120; und eine I/O-Einheit 130. Der
Computer 100 ist in der Lage, Programme auszuführen, indem
Computer befehle durch die CPU 110 ausgeführt werden,
die die CPU von dem Speicher 120 geholt hat und die in
einer Speichereinrichtung 150 wie beispielsweise einer
CD-ROM oder einer
Floppydisk gespeichert waren. Die I/O-Einheit 120 ist mit einer
Tastatur 160 und einer Maus 170 verbunden, um
einen Benutzer in die Lage zu versetzen, Daten in den Computer einzugeben,
und sie ist ferner mit einem Drucker 180 verbunden, um
Dokumente als Ausdrucke auszugeben. Der Computer 100 ist
ferner mit einer Anzeigeeinheit 140 wie einem Monitor verbunden.
Es ist ferner zu verstehen, dass die Computerkonfiguration, die
in 1 gezeigt ist, nur
eine exemplarische Konfiguration ist und andere Computerkonfigurationen
wie Parallelverarbeitungs-Computer, neuronale Netz-Computer mit
gesonderter Hardware oder irgendwelche anderen Computersysteme,
die in der Lage sind, das unten erklärte Verfahren auszuführen, in
Verbindung mit der vorliegenden Erfindung benutzt werden können.
-
Die vorliegende Erfindung wird nachfolgend in
Verbindung mit der Extraktion eines Geburtsdatums (date of birth)
aus einem Lebenslauf (curriculum vitae) wie in 2 gezeigt beschrieben. Es wird sofort
von dem Fachmann verstanden, dass die Beschreibung der vorliegenden
Erfindung in Zusammenhang mit der Extraktion eines Geburtsdatums
eines Lebenslaufs lediglich für
erläuternde
Zwecke dient und das gleiche Verfahren und die Vorrichtung wie nachfolgend
beschrieben auch für
jegliche andere Textdokumente, von denen bestimmte Teile von Informationen
extrahiert werden sollen, wie beispielsweise eine Kontonummer eines
Kontoblatts, die Preise von Rechnungen, zur Extraktion von Werten,
die eine Lagerhaltung in einer Fabrik von entsprechenden Blättern, und Ähnlichem
verwendet werden können.
-
Der Lebenslauf ist in dem Computer
auf einem Datenträger
in elektronischer Form gespeichert, er kann das Ergebnis eines Editierprozesses
unter Verwendung eines Textverarbeitungsprogramms sein, oder das
elektronische Dokument kann das Ergebnis eines Scanning-Prozesses
und einer anschließenden
optischen Zeichenerkennung sein. An Stelle eines Lebenslaufs kann
jegliches andere Dokument, von dem ein Element mit einer bestimmten Bedeutung
oder fallend in eine bestimmte Kategorie extrahiert werden soll,
verwendet werden.
-
Zunächst wird das elektronische
Dokument analysiert, um die individuellen Dokumente, aus denen es
besteht, zu erhalten. "Element" bedeutet hier irgendeine
Sequenz von Zeichen, die von anderen Elementen durch einen Begrenzer
wie beispielsweise eine Leerstelle, einen Tabulator, einen Unterstrich, oder
irgendein anderes Datenelement, das als Trennzeichen interpretiert
werden kann, getrennt ist. Der einfachste Weg zur Aufsplittung von
Text in einzelne Elemente ist durch Identifizierung derjenigen Textteile
als Elemente, die voneinander durch ein Leerzeichen getrennt sind,
abhängig
von dem Zweck der Analyse können
jedoch auch andere Kriterien in Betracht gezogen werden wie beispielsweise
der genannte Unterstrich, ein Bindestrich, ein neuer Absatz, oder
andere Elemente des elektronischen Dokuments, die so betrachtet
werden können,
dass sie ein Element von dem anderen trennen. Ein weiteres Kriterium,
das in Betracht gezogen werden kann, wenn individuelle Elemente
identifiziert werden, könnte
die geometrische Distanz zwischen den individuellen Textzeichen
sein. Beispielsweise könnte
ein Schwellwert definiert sein, jenseits von dem ein Abstand zwischen
zwei Zeichen so interpretiert wird, dass die zwei Zeichen unterschiedliche
Elemente sind. Im vorliegenden Beispiel nehmen wir an, dass ein
Element irgendein einzelnes Zeichen oder eine Sequenz von Zeichen
sein kann, die von anderen "Elementen" durch ein Leerzeichen
getrennt sind.
-
Im vorliegenden Beispiel eines Textdokuments
wie in 2 gezeigt wären die
ersten beiden Elemente "curriculum" und "vitae", andere Elemente wären "Tel:", "Fax:", etc. wie sofort
von dem Fachmann verstanden wird. Diese Elemente werden beispielsweise
durch einen Parser identifiziert, der einfach nach Leerzeichen sucht.
-
Abgesehen von dem Erhalten der Elemente selbst
wird auch ihre entsprechende Position in dem Dokument erhalten,
beispielsweise durch Berechnung der X- und Y-Koordinaten, an denen
das Element in dem Dokument angeordnet ist. Die Position wird später zur
Erzeugung des Layout-Dokuments verwendet.
-
Nachdem die individuellen Elemente
des elektronischen Textdokuments identifiziert wurden, werden diese
Elemente in einem so genannten "Arbeitsdokument" gespeichert. In
dem Arbeitsdokument wird jedes Element, das identifiziert wurde,
zusammen mit Information über
seine Position in dem elektronischen Dokument gespeichert. Beispielsweise
kann das Element "curriculum" zusammen mit seinen
X- und Y-Koordinaten gespeichert werden, die seine Position in dem
elektronischen Dokument identifizieren. Das Arbeitsdokument ist
ein bequemes Werkzeug zur Speicherung aller Elemente, die identifiziert
wurden, zusammen mit ihrer entsprechenden Position, so dass für die Erzeugung
des Layout-Dokuments, das später
im Detail erläutert
wird, Bezug genommen werden kann auf das Arbeitsdokument. Ein Beispiel
eines Arbeitsdokuments, das aus einem Textdokument erzeugt wurde,
ist in 3 gezeigt. Die
Tags Tagt, Tagt, etc. enthalten die Positionsinformationen der entsprechenden
Elemente. Diese Information kann in irgendeiner Form repräsentiert
werden, beispielsweise durch direktes Speichern der X- und Y-Koordinaten
der Elemente in den Tags. Die Elemente in 3 können
beispielsweise die individuellen Worte sein, die in einem Textdokument
identifiziert wurden, oder irgendwelche anderen Zeichensequenzen,
die durch das vorher erläuterte
Verfahren als Elemente erkannt wurden, und die Tags enthalten dann
Informationen über
die Position dieser Elemente, wie beispielsweise, wo sie bezüglich ihrer X-
und Y-Koordinaten
lokalisiert sind. Die Tags können
ferner Indikationen des Schriftstils der Elemente, der Fonts, enthalten,
ob sie unterstrichen sind oder nicht, oder irgendwelche ähnliche
Informationen. Beispielsweise kann für ein fettgedrucktes Element
im entsprechenden Tag die Zeichensequenz "bf' enthalten
sein, die repräsentiert,
dass das Element in fettgedruckten Zeichen (bold faced characters)
gedruckt ist, eine andere Zeichensequenz kann repräsentieren,
dass das Element unterstrichen ist, oder Ähnliches.
-
Die Position eines Elements kann
beispielsweise das Gravitationszentrum eines Elements sein, das
auf der Grundlage seiner individuellen Pixelwerte berechnet wurde,
oder es kann irgendwelche andere geometrische Informationen repräsentieren,
die die Lokalisierung des Elements repräsentieren. Beispielsweise kann
eine Umrahmung (box) konstruiert werden, die das Element umgibt,
und der Durch schnitt zwischen den maximalen und minimalen X-Koordinaten
der Box kann aus X-Koordinate für
die Positionen verwendet werden und der Durchschnitt des Maximums
und des Minimums der Y-Position der Box kann als Y-Koordinate des
Elements verwendet werden, wenn seine Position im Text durch ein
entsprechendes Tag im Arbeitsdokument repräsentiert wird.
-
Das Arbeitsdokument enthält eine
Liste von identifizierten Elementen zusammen mit Tags, die ihre
jeweilige Position und möglicherweise
auch weitere Informationen wie vorher erwähnt enthalten, wie beispielsweise
Informationen über
die Fonts der Elemente, ihren Stil, ob sie unterstrichen sind oder
nicht, etc.
-
Auf diese Weise wird das Arbeitsdokument erzeugt
und enthält
eine Liste von den individuellen Elementen des elektronischen Textdokuments
zusammen mit ihrer entsprechenden Position und möglicherweise anderer Informationen.
Auch nichttextuelle Elemente können
in dem Arbeitsdokument enthalten sein, wie beispielsweise horizontale
oder vertikale Linien oder Gitter, die in dem elektronischen Dokument
enthalten sind, die dann ebenso in dem Arbeitsdokument in einer
Form gespeichert werden, die ihre Position und ihr Aussehen (horizontal,
vertikal, Linie, Gitter, oder Ähnliches)
gemäß einem
Kodierungsschema repräsentieren.
Beispielsweise kann eine horizontale Linie in einem Arbeitsdokument
durch die Zeichensequenz AAAA repräsentiert werden, eine vertikale
Linie kann durch die Zeichensequenz BBBB repräsentiert werden, wobei jede dann
gefolgt wird von einem Tag, das die Position der Linie angibt. Das
so erzeugte Arbeitsdokument kann dann zur Identifizierung von Kandidatenelementen verwendet
werden, die möglicherweise
das Element, das extrahiert werden soll, sein können. Zu diesem Zweck wird
das Arbeitsdokument (oder möglicherweise
auch das "Quelldokument", basierend auf dem das
Arbeitsdokument erzeugt wurde) geparst, um diejenigen Elemente zu
identifizieren, die ein bestimmtes Suchkriterium wie beispielsweise
ein Formatkriterium erfüllen.
In diesem Schritt des Extrahierens eines Kandidaten werden alle
Elemente analysiert, um mögliche
Kandidaten für
die gewünschten zu
extrahierenden Elemente zu finden. Vorzugsweise werden nicht nur
individuelle Elemente gesucht, sondern auch Kombinationen von Elementen,
so dass das Verfahren mit Leerzeichen zwischen den individuellen
Elementen fertig wird. Wenn beispielsweise nach einer Bankkontonummer
gesucht wird, von der angenommen wird, dass sie acht Stellen hat,
so kann eine Suche nach einer Nummer durchgeführt werden, die acht Stellen
hat, die entweder repräsentiert werden
als "99999999" oder als "999 999 99" oder als "9 9 9 9 9 9 9 9", oder in irgendeiner
anderen Kombination. Die Suche nach solch einer Bankkontonummer
kann daher beispielsweise durchgeführt werden, indem nach einer
Zahl mit acht Stellen gesucht wird. Abhängig von dem Informationsinhalt, den
das zu extrahierende Element haben soll, kann ein anderes Format
als Suchkriterium verwendet werden. Mögliche Suchkriterien sind Suchen
nach regulären
Ausdrücken
(wie beispielsweise eine Formatsuche, bei der nach einem bestimmten
Format wie etwa einer Zeichenkette, einer Folge von Zahlen, die
möglicherweise
auch eine bestimmte Gesamtzahl von Ziffern enthält, gesucht wird), oder Ähnliches.
Ein anderes Suchkriterium könnte
sein, dass eine Suche nach einem simplen vordefinierten Element
durchgeführt
wird, indem ein String-Vergleich durchgeführt wird. Beispielsweise kann
eine Suche nach dem Wort "birth" (Geburt) durchgeführt werden, und
jedes Element, das dieses Suchkriterium erfüllt, würde dann als Kandidat auftauchen.
-
Ein anderes mögliches Suchkriterium könnte es
sein, eine sogenannte Bestimmungssuche durchzuführen, was bedeutet, dass ein
Element gesucht wird, das an einer bestimmten Position (links/rechts/oben/unten)
bezüglich
eines Kandidaten angeordnet ist, der durch ein anderes Suchkriterium gefunden
wurde. Wenn z.B. ein Suchkriterium eine Suche nach dem Wort "birth" sein würde, dann
könnte
eine Bestimmungssuche für
ein Element durchgeführt
werden, das rechts von dem Element "birth" angeordnet ist, und in diesem Fall
wäre der
resultierende Kandidat das Element, das rechts von dem Element "birth" angeordnet ist.
Im Beispiel von 2 würde mit
einer solchen Bestimmungssuche das Element "May 5, 1960" als Kandidat auftauchen.
-
Ein weiteres Suchkriterium könnte es
sein, eine Suche nach allen Elementen durchzuführen, die auch in einer Datenbank
vorliegen.
-
Die Suche nach Kandidaten ist vorzugsweise
fehlertolerant in der Art, dass Präfixe/Suffixe ignoriert werden
können,
um typische Fehler von optischer Zeichenerkennung zu ignorieren,
oder um solche Elemente wie "," und "." zu ignorieren. Beispielsweise könnte im
Fall von 2 eine Wortsuche
für das
Wort "birth" durch Verwendung
einer solchen fehlertoleranten Suche durchgeführt werden, z.B. unter Verwendung
einer Wildcard. Eine Suche würde dann
für das
Element "birth*" durchgeführt werden, so
dass das Element "birth:" als Kandidat auftauchen würde. Mit
der Bestimmungssuche könnte
dann das tatsächliche
Datum, das rechts von dem Element "birth" angeordnet ist, als Kandidat ermittelt
werden.
-
Abhängig von der Art, mit der die
Kandidatensuche durchgeführt
wird, werden mehr oder weniger Kandidaten für die zu extrahierenden Elemente identifiziert.
-
Andere Suchverfahren könnten beispielsweise
eine Trigramm-Suche einschließen,
was bedeutet, dass Kombinationen von drei Zeichen gesucht werden.
Dies ist auch eine Methode zur Durchführung einer fehlertoleranten
Suche. Wenn beispielsweise ein Tippfehler in einem Kandidaten auftaucht,
dann würde
eine Trigramm-Suche nichtsdestotrotz solch einen Kandidaten erhalten,
da mehrere Zeichensequenzen, die in dem Kandidaten enthalten sind,
als korrekte Trigramme erkannt würden.
Eine weitere fehlertolerante Suchmethode wäre es, die Levenshtein-Distanz
zu verwenden, die eine Repräsentation der
Tastendrucke ist, die auf einer Tastatur nötig sind, um eine Zeichensequenz
in eine andere umzuwandeln. Basierend auf der Levenshtein-Distanz
könnte ebenfalls
eine fehlertolerante Suche durchgeführt werden.
-
Vorzugsweise wird die Kandidatensuche durch
Suche des Arbeitsdokuments nach Elementen, die das verwendete Suchkriterium
erfüllen,
durchgeführt.
Dabei kann die Analyse des Dokuments in Elemente, die bereits durchgeführt wurde,
verwendet werden. Im Prinzip kann jedoch auch eine Suche nach Kandidaten
direkt auf dem Textdokument durchgeführt werden.
-
Die Suche dient dazu, Kandidatenelemente zu
erhalten, die möglicherweise
die Information enthalten, nach der gesucht wird. Es ist sofort
erkennbar, dass abhängig
von den Informationen, die gesucht werden, die Suchkriterien entsprechend
angepasst werden müssen.
Wenn eine Bankkontonummer gesucht wird, dann wird vorzugsweise ein
Formatkriterium verwendet, das ein möglicherweise bekanntes Zahlenformat
der Kontonummer verwendet. Wenn dagegen ein Geburtsort gesucht wird,
dann ist die Suche nach Zeichenketten vielversprechender als die
Suche nach Zahlen. Die Anpassung der Suchkriterien (Formatsuche,
Wortsuche, Datenbanksuche, Bestimmungssuche, oder eine Kombination
davon) an das bestimmte Stück
Information, das gesucht wird, kann vom Fachmann abhängig von
den Umständen
entsprechend gewählt
werden.
-
Wenn die gefundenen Kandidaten später in einer
Trainingsprozedur für
eine Klassifiziervorrichtung verwendet werden sollen, wie dies im
Detail später
beschrieben wird, dann ist es bevorzugt, wenn sie irgendwie dem
Benutzer angezeigt oder initiiert werden, und wenn der Benutzer
in der Lage ist zu bestätigen,
ob die gefundenen Kandidaten mit dem Suchkriterium übereinstimmen
oder nicht. Dadurch kann die Klassifiziervorrichtung wie später erläutert wird
trainiert werden. Die Anzeige der Kandidaten kann beispielsweise
durch "Highlighten" von ihnen im durchsuchten
Textdokument geschehen, um dann dem Benutzer eine Bestätigung oder
ein Verwerfen der Kandidaten durch einen Mausklick zu ermöglichen.
Die Formatsuche oder fehlertolerante Elementensuche liefern Kandidaten
für zu
extrahierende Elemente. Das Ergebnis der Kandidatensuche ist bereits ganz
gut in Bezug auf Korrektheit, da es auf inhärenten Eigenschaften der Elemente,
die gesucht werden, basiert, wie etwa ihrem Format oder ihrem tatsächlichen
Informationsinhalt. Die Kandidaten können jedoch dann weiter ausgewertet
werden bezüglich
dessen, ob sie zu einer bestimmten Kategorie gehören, indem andere Elemente
als die Kandidaten selbst berücksichtigt
werden, wie dies nachfolgend beschrieben wird.
-
Für
jeden der Kandidaten wird dann ein sogenanntes Layout-Dokument erzeugt,
das nicht nur eine Repräsentation
des Kandidaten und seiner Position in dem elektronischen Dokument
enthält,
sondern auch von anderen Elementen, die das Kan didatenelement umgeben,
sowie ihrer jeweiligen Position. Daher ist das Layout-Dokument eine elektronische Repräsentation
des Kandidaten und seiner Position in dem elektronischen Dokument
selbst, sowie auch von anderen Elementen in dem elektronischen Dokument
und ihrer entsprechenden Position. Vorzugsweise wird ein Layout-Dokument,
das für
einen bestimmten Kandidaten generiert wird, für ein bestimmtes Gebiet, das
diesen Kandidaten umgibt, erzeugt. Dieses Gebiet (oder eine entsprechende
Mehrzahl von Gebieten) kann entweder vordefiniert sein oder vom
Benutzer definiert werden.
-
Ein Beispiel der Definition eines
solchen Umgebungsgebiets durch ein Benutzerinterface ist in 4 gezeigt. 4 zeigt, wie insgesamt vier Kästen (boxes),
die den Kandidaten umgeben, von einem Benutzer definiert werden
können.
Eine erste Box umgibt den Kandidaten in alle Richtungen, eine zweite
Box repräsentiert
die Nachbarschaft links des Kandidaten, eine dritte Box repräsentiert
die Nachbarschaft rechts des Kandidaten, und eine vierte Box repräsentiert
die Nachbarschaft über
dem Kandidaten. Optional kann auch eine fünfte Box, die die Nachbarschaft
unter dem Kandidaten repräsentiert, verwendet
werden. Der Benutzer kann die Dimension der Größe der Boxen beispielsweise
durch Eingabe von Werten, die ihre Größe in Dots per Inch oder in
einer anderen Einheit, wie etwa Pixels, Millimeter, oder Ähnlichem
repräsentieren,
eingeben. In dem Beispiel von 4 kann
die Größe der Boxen
vom Benutzer dimensioniert werden, sie können jedoch auch vordefiniert
sein. Das Gebiet zur Erzeugung des Layout-Dokuments kann vom Benutzer
abhängig
von der spezifischen Kategorie eines Elements, das ein Benutzer
zu extrahieren wünscht,
definiert werden.
-
Zur Erzeugung des Layout-Dokuments
werden alle Elemente, die bezüglich
ihrer Position in dem elektronischen Dokument in die Boxen, die
das Gebiet des Layout-Dokuments
definieren, zur Erzeugung des Layout-Dokuments berücksichtigt.
Für diesen
Zweck kann Bezug genommen werden auf das Arbeitsdokument, in dem
alle Elemente zusammen mit ihren entsprechenden Positionen gespeichert sind.
-
Im Folgenden wird angenommen, dass
der Prozess des Erhaltens eines Kandidatenelements das Element May
5, 1960 des Dokuments aus 2 als
Kandidat ergeben hat. Dies kann beispielsweise das Ergebnis einer
Formatsuche sein, die nach einer Kombination von drei individuellen
Elementen in Reihe sucht, wobei die drei Elemente zwei ganze Zahlen (repräsentieren
Tag und Jahr) und eine weitere Zahl oder ein Wort, das den Monat
repräsentiert,
enthalten sollen. Das Suchergebnis wäre dann die Reihe der drei
Elemente. Auch andere Suchkriterien könnten vorgestellt werden, die
zum Ergebnis May 5, 1960 als Kandidaten führen, wie etwa eine Bestimmungssuche,
die nach drei Elementen neben dem Element "birth" sucht, was ebenfalls in May 5, 1960
als Kandidaten resultieren würde.
Irgendwelche anderen Suchen nach regulären Ausdrücken könnten ebenfalls in einem Kandidaten
wie May 5, 1960 resultieren, wie beispielsweise die Suche nach einem
regulären
Ausdruck, der drei Elemente enthält,
wobei zwei der drei Elemente Zahlen und das dritte ein Wort oder
eine Nummer sind, wobei eine der Zahlen im Bereich zwischen 1 und
31 liegt. Es ist sofort erkennbar für den Fachmann, dass viele
Definitionen von Suchkriterien möglich
sind, die zu Kandidaten für
ein Stück
Information führen,
das ein "Datum" sein soll.
-
Nachdem ein oder mehrere Kandidaten durch
die obige Suchprozedur wie beschrieben erhalten wurden, wird dann
für jeden
der Kandidaten ein Layout-Dokument
erzeugt, das eine Repräsentation
des Kandidaten sowie seines Umgebungsgebiets ist. Zur Erzeugung
des Layout-Dokuments werden zunächst
die Elemente, die innerhalb des Gebiets liegen, das zur Erzeugung
des Layout-Dokuments
verwendet wird, identifiziert und dann basierend auf diesen Elementen
das Layout-Dokument erzeugt. Es enthält eine Repräsentation
des Kandidaten sowie der Elemente, die innerhalb dieses Gebiets liegen,
zusammen mit den entsprechenden Positionen dieser Elemente.
-
5a zeigt
ein Beispiel eines Layoutgebiets im Fall des Textdokuments aus 2. Der Kandidat hier ist "May 5, 1960", und die gestrichelte
Linie in 5a definiert
das Layoutgebiet, das den Kandidaten umgibt. Alle Elemente des Dokuments
aus 2, bzw. aus 5a, die in dieses Gebiet
fallen, werden zur Erzeugung des Layout-Dokuments verwendet. Das
in 5a gezeigte Gebiet
kann das Ergebnis einer Benutzerdefinition unter Verwendung eines
Interfaces wie dem aus 4 sein,
oder es kann auch vordefiniert sein.
-
Ein Beispiel für das Layout-Dokument, das für den Kandidaten "May 5, 1960" erzeugt wurde und das
entsprechende Layoutgebiet wie im Beispiel von der 5a gezeigt ist in 5b gezeigt. Die erste Linie des Layout-Dokuments
entspricht dem Element "May
5, 1960" selbst.
Es wird im Layout-Dokument durch die Zeichensequenz "DDMMYY" repräsentiert, da
gemäß der besonderen
Implementation des vorliegenden Ausführungsbeispiels erkannt wird,
dass sein Format einem "Datum" entspricht. Es ist
jedoch nicht nötig,
sondern lediglich eine bevorzugte Option bei der Erzeugung des Layout-Dokuments,
dass ein erkennbares Element, von dem das Format erkennbar ist,
im Layout-Dokument durch eine entsprechende Repräsentation dieses Formats ersetzt
wird, wie hier durch DDMMYY als Repräsentation des Formats "Datum". Die Zeichensequenz
rechts der Sequenz "DDMMYY" repräsentiert
die Position dieses Elements im elektronischen Dokument, wie später genauer
erläutert
wird.
-
Die erste Linie des Layout-Dokuments
in 5b entspricht daher
dem Kandidatenelement "May
5, 1960". Die Position
des Kandidaten im elektronischen Dokument aus 2 und auch seine Größe wird durch die Zeichensequenz "MXMYWLHM" repräsentiert,
wie aus der nachfolgenden Erläuterung klarer
werden wird.
-
Zur Erläuterung, wie die Position des
Kandidatenelements in dem elektronischen Dokument im Layout-Dokument
durch die Zeichensequenz "MXMYWLHM" repräsentiert
wird, wird auf 6 Bezug genommen. 6 zeigt eine sogenannte
Kandidatenbox, d.h. das begrenzende Rechteck des Kandidatenelements.
Abhängig
von der Größe des Kandidatenelements
(z.B. abhängig
vom Font) kann auch die Größe der Kandidatenbox
variieren und kann im Layout-Dokument unter Verwendung des Kodierschemas
für die
Boxgröße wie schematisch
illustriert in dem rechten Teil von 6 repräsentiert
werden. Basierend auf diesem Kodierschema wird die Boxgröße als "WLHM" kodiert, was bedeutet,
dass die Kandidatenbox eine große
Breite "lange width" (WL) aufweist, sowie
eine mittlere Höhe "medium height" (HM), wie aus 6 erkennbar ist. Diese Kodiersequenz
führt dann
zu den letzten vier Zeichen WLHM in der ersten Linie des Layout-Dokuments
aus 5b. Es wird sofort
verstanden, dass welche tatsächlichen
Werte durch welche Kodiersequenz repräsentiert werden, in anderen
Worten, welche Werte als "klein" und welche als "groß" kodiert werden,
von der besonderen Implementierung abhängt und lediglich eine Frage
der Auswahl für
den Fachmann ist.
-
Daher wird, wie aus der ersten Linie
des Layout-Dokuments aus 5b erkennbar,
nicht nur die Position der Kandidatenbox (die die Positionen des Kandidaten
selbst repräsentiert)
in dem Dokument kodiert wie später
erläutert
wird, sondern auch die Größe der Kandidatenbox
(repräsentierend
die Größe des Kandidaten).
Die Repräsentation
der Größe der Kandidatenbox
durch eine entsprechende Kodiersequenz wird schematisch im unteren
Teil auf der rechten Seite der 6 illustriert.
Eine Kandidatenbox, die eine geringe Kandidatenbreite in X-Richtung aufweist,
wird als "WS" (für "width small", geringe Breite)
kodiert, eine Kandidatenbox mittlerer Größe wird kodiert als "WM" (für "width medium", mittlere Breite),
eine Kandidatenbox mit großer
Ausdehnung in X-Richtung wird kodiert als "WL" (für "width lange", große Breite),
und eine extra große
Kandidatenbox mit einer extra großen Größe in X-Richtung wird kodiert
als "WX" (für "width extra lange", extra große Breite).
Auf ähnliche
Weise ist die Frage, welche Werte welchen Kodiersequenzen zugeordnet
sind, eine Frage der Auswahl für
den Fachmann.
-
Ähnlich
der Breite wird auch die Höhe
der Kandidatenbox durch eine der Sequenzen "NS", "HM", "HL", oder durch "HX" kodiert. Für den Fall
der 5b mit dem Kandidaten
May 5, 1960, wird die Kandidatenbox kodiert als "WLHM",
was bedeutet, dass sie eine große
Ausdehnung in X-Richtung hat und eine mittlere Ausdehnung in Y-Richtung.
-
Die Position der Kandidatenbox in
X- und Y-Richtung wird kodiert wie schematisch illustriert im linken
Teil der 6. Für diesen
Zweck werden bestimmte Gebiete des Dokuments aus 2 bestimmten Kodiersequenzen zugeordnet,
wie in 6 im linken Teil
gezeigt. Abhängig
von dem Gebiet, in dem die Kandidatenbox angeordnet ist, wird die
X- und Y-Position der Kandidatenbox kodiert entweder als "LL", "MX", "RR" (für die X-Position)
und als "TT", "MY", oder "BB" (für die Y-Position).
-
Im vorliegenden Fall von 5a für die Kandidatenbox May 5,
1960, ist es so, dass die Kandidatenbox bezüglich ihrer Lokalisierung in
X-Richtung mittel ist, was bedeutet, dass sie nicht sehr weit rechts
im Dokument liegt und nicht sehr weit links im Dokument, sondern
eher in der Mitte des Dokuments bezüglich ihrer X-Position. Solch
eine Lokalisierung wird durch die Zeichensequenz "MX" kodiert, wie aus dem
linken Teil von 6 erkennbar
ist. Die Y-Position der Kandidatenbox wird kodiert durch die Sequenz "MY", da sie bezüglich ihrer
Y-Position vergleichsweise in der Mitte des Dokuments liegt. Daraus
kann die Positionskodierung "MXMY" wie in der ersten
Linie des Layout-Dokuments gezeigt, für die Kandidatenbox erhalten
werden. Kombinieren der Repräsentation
der Formatrepräsentation
des Kandidaten, der Position der Kandidatenbox und der Größe der Kandidatenbox
resultiert in der Zeichensequenz, die in der ersten Linie von 5b gezeigt ist.
-
Es ist zu verstehen, dass die Kodierung
aus 6 für die Kandidatenbox
lediglich exemplarisch ist und andere Kodierungen, andere Zuordnungen zwischen
Position und Code und andere Aufspaltungen des Dokuments in entsprechende
Gebiete genauso gut verwendet werden können. Die Granularität der Größe und der
Position der Kandidatenbox können
feiner oder grober als in 6 sein,
abhängig von
der besonderen Implementierung, wie leicht vom Fachmann verstanden
wird.
-
Ganz ähnlich sind die Kodiersequenzen,
die hier verwendet wurden, völlig
arbiträr,
hier bedeutet "LL" einfach "ganz weit links", "MX" bedeutet "ziemlich in der Mitte
in X-Richtung",
und "RR" bedeutet "ganz weit rechts
im Dokument in X-Richtung".
Auf ähnliche
Weise bedeutet "TT" "ganz oben", "MY" bedeutet "ziemlich in der Mitte", und "BB" bedeutet "ganz unten im Dokument
bezüglich
Y-Richtung". Andere
Kodiersequenzen können
jedoch genauso gut verwendet werden, wie vom Fachmann erkannt wird. Auch
können
anstelle von Großbuchstaben
DDMMYY andere Zeichensequenzen verwendet werden, um das erkannte
Format eines "Datums" zu repräsentieren.
-
Nachdem die Kandidatenbox wie oben
erläutert
kodiert wurde, werden dann die anderen Elemente, die in das Gebiet
des Layout-Dokuments wie unter Bezugnahme auf 5a erläutert fallen, dann auch kodiert
und in das Layout-Dokument integriert.
-
Das in 5b gezeigte
Layout-Dokument wurde erzeugt basierend auf einem Gebiet, das in 5a durch die gestrichelte
Linie gezeigt wird. Wie bereits vorher erläutert, kann das Umgebungsgebiet auch
anders auf ein kleineres Gebiet gesetzt werden, abhängig von
den Präferenzen
des Benutzers und der Rechenlast, die vom verwendeten Computer verarbeitet
werden kann, und es kann natürlich
auch größer gesetzt
werden. Daher ist das Layout, das hier verwendet wird, als exemplarisches
Beispiel zu verstehen, und andere Gebietsdefinitionen können genauso
gut verwendet werden. Natürlich
ist, je größer das
verwendete Gebiet, um so mehr Information im Layout-Dokument, das
aus diesem Gebiet erzeugt wird, enthalten, und daher ist es möglich, dass
mit einem vergrößerten Gebiet
die Genauigkeit der weiteren Evaluierung des Layout-Dokuments erhöht wird. Dies
kann jedoch von der besonderen Implementierung und dem besonderen
Zweck abhängen,
und es können
ebenso gut mit kleinen Layoutgebieten gute Resultate erzielt werden.
-
Die zweite Zeile des Layout-Dokuments
aus 5b ist eine Repräsentation
der Faxnummer 07029 8125, die in 5a gezeigt
ist und in das Layoutgebiet fällt.
Da gemäß der besonderen
Implementierung des vorliegenden Ausführungsbeispiels erkannt wird,
dass die zwei Elemente 07029 und 8125, die in das Layoutgebiet fallen,
aus ganzen Zahlen bestehen, werden sie in dem Layout-Dokument durch eine
Kodiersequenz repräsentiert,
die der Repräsentation
von ganzen Zahlen zugewiesen ist, nämlich Großbuchstaben IIQQ.
-
Die zweite und die dritte Zeile des
Layout-Dokuments in 5d repräsentieren
jeweils die Vorwahl 07029 und die Nummer 8125. Die Kodiersequenz
IIQQ, die eine ganze Zahl repräsentiert,
wird dann jeweils gefolgt von einer Kodiersequenz, die die relative
Position der ganzen Zahl in dem Textdokument aus 2 bezüglich
des Kandidatenelements angibt.
-
Zum Kodieren der relativen Position
kann irgendein Kodierschema verwendet werden, das besondere, das
hierin verwendet wird, wird schematisch in 7 erläutert.
Zum Zweck der Kodierung diskreter Bereiche von Distanzen, die relativen
Positionen in X- und Y-Richtung entsprechen, werden entsprechende
Kodiersequenzen zugeordnet, wie "NR" für near (nahe), "FF" für far (weit), "HEE" für angeordnet
an gleicher Position in horizontaler Richtung, "VFF" für angeordnet
an gleicher Position in vertikaler Richtung, usw. Das besondere
Kodierschema wird in 7 illustriert,
aber es ist zu verstehen, dass dies lediglich ein Beispiel ist und
leicht modifiziert werden kann. So können beispielsweise die Kodiersequenzen
unterschiedlich sein, die Aufteilung in bestimmte Bereiche kann
unterschiedlich sein, die Zahlenbereiche können unterschiedlich sein,
usw.
-
Aus 7 in
Verbindung mit 5b wird verstanden,
dass die zweite Zeile des Layout-Dokuments aus 5b basiert auf dem Fakt, dass die Vorwahl
07029 links nahe (LNR) und oben nahe (ANR) der Kandidatenbox ist,
was zu einer Positionskodiersequenz LNRANR wie in der zweiten Zeile
von 5b gezeigt und an
den Ganzzahlencode IIQQ angehängt.
-
Da die Nummer 8125 horizontal gleich
aber nahe über
dem Kandidaten angeordnet ist, führt
dies zu der dritten Zeile in 5b,
die lautet IIQQHEEANR.
-
Die verbleibenden drei Elemente "date", "of' und "birth:", die in das Layoutgebiet
fallen, werden in den letzten drei Zeilen des Layout-Dokuments aus 5b zusammen mit ihren entsprechenden
Positionskodiersequenzen repräsentiert,
die sofort in Verbindung mit 7 verstanden
werden. Alle Elemente sind vertikal gleich dem Kandidaten (VEE),
aber an unterschiedlichen horizontalen Distanzen von dem Kandidaten.
-
Es wird sofort verstanden, dass anstelle
der relativen Positionskodierung auch absolute Positionen der Elemente
innerhalb des Layoutgebiets für
die Erzeugung des Layout-Dokuments verwendet werden können.
-
Weiter ist es auch möglich, dass,
wenn das Layout-Dokument erzeugt wird, andere solche Elemente, für die das
Format erkennbar ist, nicht nur beispielsweise so als wenn das Element
das Format eines "Datum" aufweist, im Layout-Dokument
durch eine entsprechende Kodiersequenz kodiert werden. Während dies
hier lediglich für
das Datum in der ersten Zeile und die ganzen Zahlen in zweiter und
dritter Zeile des Layout-Dokuments gezeigt wurden, kann eine solche
Ersetzung auch für
andere erkennbare Elemente wie etwa beispielsweise Postleitzahlen (ZIP-Codes)
(könnten
durch eine Datenbankabfrage erkannt werden) und die durch eine bestimmte
Zeichensequenz wie ZZZ oder Ähnliches
repräsentiert werden,
durchgeführt
werden. Die entsprechende Erkennung kann entweder basieren auf Formaterkennung
oder einer Datenbankabfrage (in der beispielsweise alle Postleitzahlen
gespeichert sind).
-
Wie oben erläutert, wird ein Layout-Dokument
erzeugt, das Informationen über
den Kandidaten selbst, seine Position im Dokument und ferner Informationen über andere
Elemente des Dokuments und ihre Position im Dokument enthält. Die
Positionsinformationen werden im vorliegenden Beispiel repräsentiert
durch Ersetzung von Koordinatenwerten durch Zeichensequenzen, die
eine Position gemäß einem
bestimmten Kodierschema repräsentieren, das
verwendet wird, um Orte oder Gebiete, in die das elektronische Element
für Kodierzwecke
aufgeteilt wurde, und denen entsprechende Zeichenkodes zugewiesen
wurden, zu definieren. Ähnlich
können Zahlenkodes
genauso gut zur Kodierung der Position der Elemente des elektronischen
Dokuments verwendet werden. Irgendein Kodierschema, das die Position
und/oder das Format der Elemente repräsentiert, kann zur Erzeugung
des Layout-Dokuments verwendet werden. Das Layout-Dokument kann
auch weitere In formationen über
nicht-textuelle Elemente des Dokuments, das analysiert werden soll,
wie beispielsweise Linien oder Gitter in dem Dokument, enthalten.
Die Information kann auch leicht durch eine geometrische Analyse
des Dokuments erhalten werden, und dann können die Linien oder Gitter,
die in einem Dokument vorhanden sind, in dem Layout-Dokument durch
entsprechende Kodiersequenzen kodiert werden, vorzugsweise auch
durch Repräsentierung
ihrer entsprechenden Position, möglicherweise auch
ihres Stils und weiterer Informationen.
-
Vorzugsweise enthält das Kodierschema, das zur
Erzeugung des Layout-Dokuments
verwendet wird, eine Positionskodierung, die basiert darauf, dass
diskrete Gebiete von Lokalisierungsinformationen entsprechenden
Positionskodes wie vorher erläutert
zugewiesen sind. Weiter werden vorzugsweise Stilinformationen oder
Formatinformationen, die erkannt werden können, wie etwa das Format oder der
Stil von Elementen, auch im Layout-Dokument durch entsprechende
Kodiersequenzen repräsentiert.
Es ist jedoch möglich,
lediglich einige dieser Elemente eines Kodierschemas zur Erzeugung
eines Layout-Dokuments zu verwenden.
-
Die im Layout-Dokument angegebene
Position kann eine Repräsentation
der geometrischen Position basierend auf Koordinatenwerten sein,
wie etwa den X- und Y-Koordinatenwerten,
die vorher erläutert
wurden. Es ist jedoch auch möglich,
dass die Positionsinformation für
ein Element in dem Layout-Dokument die relative Position zwischen
dem Kandidaten und diesem Element repräsentiert, wie etwa die Anzahl
von Elementen, die zwischen diesem Element und dem Kandidaten auftauchen.
Dadurch wird es auch möglich,
die relative Position zwischen dem Kandidaten und anderen Elementen
in dem Layoutgebiet zu kodieren, und zwar durch die Distanz zwischen
ihnen durch die Anzahl von Worten, die zwischen ihnen auftauchen.
Solch ein Kodierschema könnte
beispielsweise nützlich
sein, wenn das zu verarbeitende Textdokument tatsächlich nicht
viel eines Layouts aufweist, wie etwa eine E-Mail-Nachricht. Alternativ
kann jedoch für
eine E-Mail ein virtuelles Layout berechnet und für die weitere
Verarbeitung verwendet werden anstelle der relativen Position der
Elemente wie vorher erläutert.
-
Je mehr Informationen in dem Layout-Dokument über die
Kandidaten und ihre umgebenden Elemente enthalten ist, desto genauer
kann das Layout-Dokument und das nachfolgende Verarbeitungsergebnis
sein. Je detaillierter das Layout-Dokument jedoch ist, um so mehr Verarbeitungsleistung
ist nötig,
um das Layout-Dokument
zu erzeugen und es weiterzuverarbeiten, um zu einer Entscheidung
zu kommen. Deshalb kann abhängig
von der gewünschten
Genauigkeit der Entscheidungsprozedur der Benutzer oder ein Programmierer
das Gebiet zur Erzeugung des Layout-Dokuments sowie die bei Erzeugung
des Layout-Dokuments verwendeten Informationen bestimmen.
-
Vorgehend wurde das Erhalten von
Kandidaten und die nachfolgende Erzeugung eines Layout-Dokuments
für den
Kandidaten erläutert.
Wenn es nun beispielsweise gewünscht
wird, dass ein bestimmtes Stück
Information, nämlich
das Geburtsdatum, aus dem Dokument aus 2 extrahiert wird, dann wird eine Kandidatensuche
auf dem Dokument durchgeführt,
um Kandidaten für
ein Datum zu erhalten. Im Fall von 2 wird
eine Suche nach einem regulären
Ausdruck oder eine Formatsuche wie vorher erläutert durchgeführt und
würde zwei
Kandidaten liefern, die gemäß dem verwendeten
Suchkriterium das Geburtsdatum sein könnten, nämlich May 5, 1960 und May 17,
1979. Für
beide Kandidaten wird dann ein Layout-Dokument wie vorher erläutert erzeugt
und dieses Layout-Dokument wird in eine Klassifiziervorrichtung
eingegeben, die trainiert wurde, die Layout-Dokumente von tatsächlichen
Geburtsdaten im Gegensatz zu Layout-Dokumenten zu erkennen, die
zwar Daten sind, aber keine Geburtsdaten. Solch eine Erkennung wird
möglich,
da das aus einem Geburtsdatum erzeugte Layout-Dokument weitere Hinweise
enthält,
die es möglich
machen, sie als Layout-Dokumente zu erkennen, die von Geburtsdaten
stammen anstelle von anderen Daten. So ist es beispielsweise häufig, dass
das Wort "birth" in der Nachbarschaft
des Geburtsdatums auftaucht, und wenn ein Layout-Dokument vorliegt,
bei dem dieser Begriff enthalten ist, so ist dies ein weiterer Hinweis, dass
dieses Layout-Dokument aus einem Geburtsdatum erzeugt wurde. Auf ähnliche
Weise können andere
Elemente, die in der Nachbarschaft des Geburtsdatums auftauchen,
auch als Hinweis interpretiert werden, wie etwa der Begriff "place" oder der Begriff "of' wie im Beispiel
aus 5b. Wenn jedoch
bei spielsweise mehrere Geburtsdaten in der Spalte einer Tabelle
angeordnet sind, wobei der Kopf der Spalte den Begriff "birth" enthält, dann
kann durch Kodierung der Position des Begriffs "birth" wie vorher erläutert dies von einer Klassifiziereinrichtung
als Hinweis verwendet werden, dass die Daten in dieser Spalte tatsächlich Geburtsdaten
sind. Im Allgemeinen kann das Umgebungsgebiet der Nachbarschaft eines
Kandidaten, für
den ein Layout-Dokument erzeugt wurde, als Hinweis für den tatsächlichen
Informationsinhalt eines solchen Kandidaten durch eine Klassifiziervorrichtung
verwendet werden. Durch Berücksichtigung
der Hinweise, die durch ein solches Umgebungsgebiet oder eine Nachbarschaft
gegeben werden, kann ein Satz von Kandidaten, der aus einem Dokument
gemäß einem
Suchkriterium extrahiert wurde, weiter ausgewertet werden dahingehend,
ob diese Kandidaten tatsächlich
die gesuchte Information enthalten.
-
Natürlich kann das Layout-Dokument
auch direkt für
alle Elemente eines Textdokuments erzeugt werden, und dann kann
jedes Element basierend auf dem so generierten Layout-Dokument ausgewertet werden,
ob es zu einer bestimmten gewünschten
Kategorie gehört
oder nicht. Die Verwendung einer Kandidatensuche vorher reduziert
jedoch die Rechenkosten, die entstehen würden, wenn ein Layout-Dokument für jedes
Element des Textdokuments erzeugt werden müsste.
-
Nachfolgend wird der Extraktionsprozess und
der Trainingsprozess unter Verwendung einer Klassifiziervorrichtung
im Detail beschrieben.
-
Nachdem das Layout-Dokument erzeugt wurde,
kann es zum Trainieren eines neuronalen Netzes oder irgendeiner
anderen computerisierten Vorrichtung verwendet werden, das entscheiden kann,
ob ein bestimmtes Dokument zu einer bestimmten Kategorie gehört oder
einer Klasse oder nicht. Für
diesen Zweck werden die Layout-Dokumente von Kandidaten in das neuronale
Netz oder eine andere Entscheidungsvorrichtung (Klassifiziervorrichtung)
eingegeben, und zwar zusammen mit der Information, ob das Layout-Dokument
einem korrekten Kandidaten entspricht oder nicht, was bedeutet,
ob der Kandidat den gewünschten
Informationsinhalt aufweist oder nicht.
-
Ein Training eines solchen neuronalen
Netzes wird schematisch in 8 dargestellt.
-
Ein elektronisches Dokument wird
wie oben erläutert
analysiert, um Elemente eines Textdokuments und ihre entsprechenden
Positionen zu erhalten. Vorzugsweise wird dann ein textbasiertes
Dokument, ein Arbeitsdokument erzeugt. Dann wird ein Filtern durchgeführt, um
daraus einen Satz von Kandidaten zu erhalten, die möglicherweise
mit einer bestimmten Kategorie übereinstimmen
könnten.
Vorzugsweise wird das erhaltene Set korrigiert, entweder basierend
auf manueller Eingabe durch den Benutzer oder automatisch, z.B.
durch Überprüfung, ob der
erhaltene Kandidat eine Wahrscheinlichkeit einer Korrektheit jenseits
eines bestimmten Schwellwerts aufweist. Für eine manuelle Korrektur in
der Trainingsphase können
die Kandidaten in dem Dokument gehighlighted werden und der Benutzer
kann dann für
einige oder alle von ihnen bestätigen,
ob sie korrekte Kandidaten sind oder nicht. Die vorgenannte manuelle
oder automatische Selektion von korrekten Resultaten führt dann
zu einem Satz von korrekten Ergebnissen und zu einem Satz von falschen
Ergebnissen. Für
jedes der Elemente des Satzes der korrekten Ergebnisse und für jedes
der Elemente des Satzes von falschen Ergebnissen werden dann Layout-Dokumente erzeugt.
Danach werden die für
den Satz von falschen Ergebnissen erzeugten Layout-Dokumente und
die für
den Satz von korrekten Ergebnissen erzeugten Layout-Dokumente verwendet,
um das neuronale Netz zu trainieren. Wenn kein Kandidat erkannt
wird, kann der Benutzer auch selbst einen Kandidaten auswählen, ihn
highlighten (beispielsweise durch die Maus) und dann als Trainingsinput
verwenden.
-
Ein Extraktionsprozess, er ein Netzwerk
verwendet, das wie in 8 gezeigt
trainiert wurde, ist in 9 gezeigt.
Ein Satz von Kandidaten wird ähnlich
wie in 8 erhalten, für jeden
von ihnen wird ein Layout-Dokument erzeugt wie vorher erläutert. Die Layouts
werden dann als Inputs für
das trainierte neuronale Netz verwendet, welches dann entscheidet,
ob die Kandidaten zu der gewünschten
Kategorie gehören
oder nicht.
-
Eine Ausgabe des Netzwerks kann in
den korrekt extrahierten Kandidaten bestehen oder beispielsweise
auch in einer Gewichtung, die die Wahrscheinlichkeit der Korrektheit
für jeden
Kandidaten gewichtet. Die extrahierten Kandidaten können auch direkt
importiert oder exportiert in ein anderes elektronisches Dokument
werden, wie etwa eine Datenbank, eine MS-Excel-Datei, eine Tabelle,
ein Word-Dokument
oder irgendein anderes Dokument, das für eine weitere elektronische
Verarbeitung oder Ähnliches
geeignet ist.
-
Der Extraktionsprozess, der die Identifikation der
Kandidaten und die Erzeugung des Layout-Dokuments einschließt, kann
wie oben im Detail beschrieben ausgeführt werden. Für alle gefundenen
Kandidaten wird dann das entsprechende erzeugte Layout-Dokument
in eine Klassifiziervorrichtung oder eine Entscheidungsvorrichtung
eingegeben, die nicht notwendigerweise, wenn auch bevorzugt, ein
neuronales Netzwerk ist, und dann wird für jeden Kandidaten eine Entscheidung
getroffen, ob er zu der korrekten Kategorie gehört oder nicht.
-
Eine besonders geeignete Vorrichtung
zur Klassifizierung des erzeugten Layout-Dokuments dahingehend, ob es zu der
gewünschten
Kategorie gehört
oder nicht, wird in der europäischen
Patentanmeldung 99 108 354.4 beschrieben, deren ganzer Inhalt hiermit
durch Bezugnahme in die vorliegende Anmeldung aufgenommen ist. Die
darin beschriebene Vorrichtung ist in der Lage, Text-Dokumente durch ihre
Repräsentation
mittels Vektoren zu klassifizieren, wobei die Werte der Vektorkomponenten
jeweils der Frequenz entsprechen, mit der ein bestimmtes Wort oder
ein Term in dem Dokument auftaucht. Solch ein Vektor, der ein Dokument
repräsentiert, spannt
einen n-dimensionalen Vektorraum auf, und mehrere Dokumente zusammen
spannen auch einen bestimmten Vektorraum auf. Die Klassifikation
wird durchgeführt
durch Berechnung einer Hyperebene, die den Vektorraum in mindestens
zwei Subebenen aufteilt, wodurch eine Klassifikation in so viele
Klassen, wie Unterräume
vorliegen, durchgeführt
werden kann. Ein Lern- oder Trainierprozess besteht in der Ausbildung
des Vektorraums und der entsprechenden trennenden Hyperebene für einen
Satz von Trainingsdokumenten. Ein unbekanntes Dokument kann dann
klassifiziert werden, indem berechnet wird, ob der entsprechende
Vektor in den einen oder anderen Unterraum fällt. Da mit dem vorgehend beschriebenen
Verfahren es möglich
ist, die Elemente eines Textdokuments durch ein Layout-Dokument zu repräsentieren,
das Hinweise über
ihre Umgebungsgebiete gibt, und da das Layout-Dokument selbst wiederum
ein Textdokument ist, kann der in der vorgenannten europäischen Patentanmeldung
beschriebene Klassifizierapparat für Klassifizierzwecke verwendet werden.
Eine vorzugsweise Implementierung der Vorrichtung zur Klassifikation,
die in der Patentanmeldung beschrieben ist, besteht in einem neuronalen
Netz, wie etwa in einem Perceptron. Weitere Details, wie die Entscheidungsvorrichtung
implementiert werden kann, können
aus dieser Anmeldung entnommen werden und werden daher nicht weiter
hier im Detail beschrieben.
-
Es soll jedoch verstanden werden,
dass irgendein anderes neuronales Netz oder ein anderes Computerverfahren
oder eine Vorrichtung, die in der Lage ist, Dokumente dahingehend
zu evaluieren (klassifizieren), ob sie zu einer bestimmten Kategorie gehören oder
nicht, zum Training von Layout-Dokumenten und dann zum Treffen der
Entscheidung, ob ein Kandidat (oder sein entsprechendes Layout-Dokument) als korrekt
extrahiert anzusehen ist oder nicht, verwendet werden kann. Es soll
ferner verstanden werden, dass auch irgendeine andere Layout-Dokument-Repräsentation
in Verbindung mit der vorliegenden Erfindung verwendet werden kann, nicht
nur die Layout-Dokumente, bei denen die Positionen durch Sign-Sequenzen repräsentiert
werden. Es ist beispielsweise auch gut möglich, dass die Positionen
durch absolute Zahlen kodiert werden, die die Positionen (Koordinaten)
repräsentieren,
oder durch Winkel und Entfernungen (Polarkoordinaten).
-
Es wird vom Fachmann verstanden,
dass die vorgenannte detaillierte Beschreibung lediglich ein exemplarisches
Ausführungsbeispiel
der vorliegenden Erfindung beschreibt, andere Ausführungsbeispiele
liegen ebenfalls im Können
des allgemeinen Wissens des Fachmanns. Es ist ferner sofort erkennbar
für den
Fachmann, dass das Verfahren der vorliegenden Erfindung durch irgendein
Computersystem, irgendeinen Allzweckcomputer oder durch irgendeine
Spezialhardware, die eine vor ne beschriebene Methode ausführt, implementiert
werden kann. Eine Vorrichtung gemäß der vorliegenden Erfindung
kann daher in irgendeinem Computersystem bestehen, das das Verfahren
der vorliegenden Erfindung ausführt,
wobei das Verfahren beispielsweise in einem Computersystem wie in 1 gezeigt, bestehen kann.
Soweit bestimmte Vorrichtungselemente oder Vorrichtungskomponenten
hier oder in den angefügten
Ansprüchen
erwähnt
sind, so können
sie durch einen Computer oder einen Teil eines Computers implementiert
werden, der Computerprogramme oder Teile von Computerprogrammen
trägt oder
ausführt. Soweit
die vorliegende Erfindung auf ein Computerprogramm oder ein Computerprogrammprodukt
bezogen ist, ist es für
den Fachmann offensichtlich, dass ein Datenträger oder irgendein Computerelement
wie ein Speicher oder eine Übertragungsleitung oder Ähnliches,
das Computerprogrammbefehle aufnehmen kann, ein Ausführungsbeispiel
der vorliegenden Erfindung bilden kann, soweit es Computerprogrammbefehle
aufnimmt, die einen Computer in die Lage versetzen, ein Verfahren
gemäß der vorliegenden
Erfindung auszuführen.
Der Fachmann wird auch erkennen, dass viele Computerprogramme geschrieben
werden können,
die gemäß den Prinzipien der
vorliegenden Erfindung wie vorgehend beschrieben arbeiten, so dass
irgendwelche Computerprogramme, die gemäß dem Verfahren der Erfindung wie
vorstehend beschrieben arbeiten, als unter den Schutzbereich der
vorliegenden Erfindung fallend anzusehen sind. Darüber hinaus
kann eine Datenstruktur, die die Struktur eines Layout-Dokuments
wie beschrieben repräsentiert,
auch ein Ausführungsbeispiel
der Erfindung sein, unabhängig
davon, ob sie auf einem Speichermedium, einem Datenträger, einer Übertragungsleitung,
einem Speicher wie einem ROM, einem RAM, oder Ähnlichem, ausgebildet ist. Weiter
kann die vorliegende Erfindung in einer Klein-Server-Architektur
verwendet werden, was bedeutet, dass Teile eines Computerprogramms,
die die vorliegende Erfindung implementieren, auf dem Server und
andere Teile auf dem Client ausgeführt werden.
-
Soweit Vorrichtungskomponenten in
der vorliegenden Beschreibung oder den angefügten Ansprüchen erwähnt sind, so können sie
durch einen Computer realisiert werden, der ein Computerprogramm
oder bestimmte Programmbefehle ausführt, oder sie können durch
irgendeine Spezialhardware implementiert werden, die die Funktion
dieser Komponente ausführt,
wie etwa ein elektronischer Schaltkreis, ein Special-Purpose-Computer,
oder Ähnliches.
-
Weitere Modifikationen und Anwendungen der
vorliegenden Erfindung werden für
den Fachmann erkennbar, und es wird verstanden, dass die vorliegende
Erfindung lediglich durch exemplarische Ausführungsbeispiele erläutert wurde,
die nicht als limitierend für
den Schutzbereich der vorliegenden Erfindung zu verstehen sind.
Insbesondere soll verstanden werden, dass das Beispiel des Extrahierens eines
Geburtsdatums lediglich ein exemplarisches Beispiel ist und die
vorstehend erläuterte
Methode zur Extraktion irgendwelcher Informationselemente aus einem
Textdokument verwendet werden kann, die zu einer bestimmten Kategorie
gehören,
wie sofort von dem Fachmann erkannt wird.