-
Querverweis zu verwandten
Anmeldungen
-
Diese
Anmeldung ist verwandt mit der U.S.-Patentanmeldung mit dem Titel „INDEX
EXTRACTION FROM DOCUMENTS",
die am gleichen Datum hiermit eingereicht wurde, mit der zugewiesenen
Seriennummer _____ (Anwaltsaktenzeichen 200401785-1), und mit der U.S.-Patentanmeldung mit
dem Titel „INDEX
EXTRACTION FROM DOCUMENTS",
eingereicht am gleichen Datum hiermit, mit der zugewiesenen Seriennummer
_____ (Anwaltsaktenzeichen: 200401804-1).
-
Beschreibung
-
Der
Betrieb vieler Firmen, Nonprofit-Organisationen, Regierungsinstitutionen
und anderen Organisationen produziert einen endlosen Strom an Papierdokumenten,
die für
eine zukünftige
Verwendung langfristig gelagert werden müssen. Die Lagerung von Dokumenten
ist ziemlich aufwendig. Typischerweise muss eine Organisation häufig teuren
Raum mieten, nur für
Aktenschränke
zum Lagern von Dokumenten. Außerdem
kann es sein, dass abhängig
von der Bedeutung der Dokumente in solchen Räumen Feuerschutzmaßnahmen
installiert sind, wodurch die Kosten der Lagerung erhöht werden.
-
Ansprechend
darauf bevorzugen es viele Organisationen, Papierdokumente in digitale
Form umzuwandeln, für
eine langfristige Lagerung in einem Server oder einer anderen Massendatenspeichervorrichtung.
Um Dokumente zu speichern, so dass dieselben in der Zukunft ohne
weiteres lokalisiert werden können,
werden in jedem Dokument mehrere Indizes identifiziert, die dem
Dokument als Metadaten zugeordnet sind, die die Dokumentensuche
erleichtern. Um die Metadaten in jedem Dokument zu identifizieren,
wird typischerweise ein manueller Prozess verwendet, bei dem eine
Person das Dokument untersucht und die Metadaten in dem Dokument
identifiziert. Ein solcher manueller Prozess ist sehr aufwendig
und behindert somit die Fähigkeit
vieler Organisationen, ihre Papierdokumente in digitale Dokumente
umzuwandeln.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Indexieren
von Dokumenten, ein Programm zum Indexieren von Dokumenten, das
in einem computerlesbaren Medium ausgeführt ist, und ein System zum
Indexieren von Dokumenten mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein Programm
gemäß Anspruch
7 sowie ein System gemäß einem
der Ansprüche
13 und 19 gelöst.
-
Die
Erfindung ist mit Bezugnahme auf die folgenden Zeichnungen verständlich.
Die Komponenten in den Zeichnungen sind nicht notwendigerweise maßstabsgerecht.
Außerdem
bezeichnen in den Zeichnungen gleiche Bezugszeichen entsprechende Teile
in den mehreren Ansichten.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm, das ein Dokumentenindexierungsnetzwerk gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
2 ein
Funktionsblockdiagramm, das ein automatisches Dokumentenindexierungssystem
darstellt, das in einem Server von 1 ausgeführt wird, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
3 ein
Blockdiagramm einer Datenbank, die in dem automatischen Dokumentenindexierungssystem
gemäß
-
2 verwendet
wird, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
4 ein
Blockdiagramm von Klassenindexierungsstatistiken, die in der Datenbank
von 3 beibehalten werden, gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
5 ein
Blockdiagramm eines Hauptindex-Verzeichnisses,
das in der Datenbank von 3 beibehalten wird, gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung;
-
6A bis 6G Flussdiagramme,
die ein Beispiel des Betriebs des automatischen Dokumentenindexierungssystems
von 2 darstellen, gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
7 ein
Flussdiagramm, das ein Beispiel des Betriebs einer Korrekturindexierungsmaschine darstellt,
die als ein Teil des automatischen Dokumentenindexierungssystems
von 2 ausgeführt wird,
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung; und
-
8A bis 8C Flussdiagramme,
die Beispiele des Betriebs von Neuklassifizierungsentitäten darstellen,
die als ein Teil des automatischen Dokumentenindexierungssystems
von 2 ausgeführt
werden, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
Gemäß verschiedenen
Ausführungsbeispielen
der vorliegenden Erfindung wird ein automatisches Dokumentenindexierungssystem
beschrieben. Als Annehmlichkeit für den Leser beginnt die folgende
Erörterung
mit einer Beschreibung eines physikalischen Netzwerks, gefolgt von
einer Erörterung des
Betriebs verschiedener Komponenten in dem Netzwerk.
-
Mit
Bezugnahme auf 1 ist ein Blockdiagramm eines
Dokumentenindexierungsnetzwerks 100 gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Das Dokumentenindexierungsnetzwerk 100 umfasst
beispielsweise einen Scanner 103, der mit einem Dokumentenindexierungsserver 106 gekoppelt
ist. Diesbezüglich
ist der Scanner 103 in Datenkommunikation mit dem Dokumentenindexierungsserver 106.
Der Dokumentenindexierungsserver 106 ist mit einem Netzwerk 109 gekoppelt.
Außerdem
sind ein Client 113 und ein Arbeitsflussprozessor 116 mit
dem Netzwerk 109 gekoppelt. Diesbezüglich kann das Netzwerk 109 beispielsweise
das Internet, Intranet, weite Netze (WANs), lokale Netze, drahtlose
Netzwerke oder ein anderes geeignetes Netzwerk sein, usw., oder
jede Kombination von zwei oder mehr solchen Netzwerken.
-
Alternativ
kann der Scanner 103 auch mit dem Netzwerk 109 gekoppelt
sein und kann durch das Netzwerk 109, wie es offensichtlich
ist, mit dem Dokumentenindexierungsserver 106 kommunizieren.
Außerdem
sind der Client 113 und der Arbeitsflussprozessor 116 jeweils
repräsentativ
für mehrere Clienten 113 oder
mehrere Arbeitsflussprozessoren 116, die mit dem Netzwerk 109 gekoppelt
sind und in Datenkommunikation mit dem Dokumentenindexierungsserver 106 sind.
-
Der
Dokumentenindexierungsserver 106 umfasst eine Prozessorschaltung 119 mit
einem Prozessor 123 und einem Speicher 126, die
beide mit einer lokalen Schnittstelle 129 gekoppelt sind.
Die lokale Schnittstelle 129 kann beispielsweise ein Datenbus
mit einem begleitenden Steuer-/Adressbus sein, wie es für Durchschnittsfachleute
auf diesem Gebiet offensichtlich ist. Diesbezüglich kann der Dokumentenindexierungsserver 106 beispielsweise
ein Server, ein Computersystem oder eine andere Vorrichtung mit ähnlicher
Kapazität
sein, usw.
-
In
dem Speicher 126 des Dokumentenindexierungsservers 106 sind
verschiedene Komponenten gespeichert, die durch den Prozessor 123 ausführbar sind,
wie z. B. ein Betriebssystem 133, ein automatisches Dokumentenindexierungssystem 136,
eine Datenbank 139 und ein Netzwerkserver 143.
Das automatische Dokumentenindexierungssystem 136 wird
durch den Prozessor 123 für das automatische Indexieren
von Dokumenten ausgeführt, wie
es beschrieben wird. In der Datenbank 139 sind sogenannte „Grundwahrheit"-Dokumente und andere
Informationen gespeichert, die in Verbindung mit dem Betrieb des
automatischen Dokumentenindexierungssystems 136 gespeichert
sind, wie es nachfolgend beschrieben wird. Der Netzwerkserver 143 kann
beispielsweise einen Webserver oder einen anderen Servertyp umfassen,
der Browserzugriff zu Informationen und Benutzerschnittstellen liefert,
die durch das automatische Dokumentenindexierungssystem 136 erzeugt
werden, wie es beschrieben wird.
-
Der
Client 113 umfasst auch eine Prozessorschaltung 146,
die einen Prozessor 153 und einen Speicher 156 umfasst,
die beide mit einer lokalen Schnittstelle 159 gekoppelt
sind. Die lokale Schnittstelle 159 kann beispielsweise
ein Datenbus mit einem begleitenden Steuer-/Adressbus sein, wie
es für Durchschnittsfachleute
auf diesem Gebiet klar ist. Diesbezüglich kann der Client 113 beispielsweise
ein Computersystem, wie z. B. einen Desktop, Laptop, Personaldigitalassistenten
oder eine andere Vorrichtung mit ähnlicher Kapazität, usw.
umfassen.
-
In
dem Speicher 156 sind verschiedene Komponenten gespeichert,
die durch den Prozessor 153 ausführbar sind, wie z. B. ein Betriebssystem 163 und
ein Browser 166. Diesbezüglich ermöglicht der Browser 166 Zugriff
zu Informationen und Benutzerschnittstellen in dem Dokumentenindexierungsserver 106 durch
den Netzwerkserver 143. Genauer gesagt, durch Manipulieren
des Browsers 166 des Client 113 kann ein Benutzer
auf Informationen und Benutzerschnittstellen von dem Dokumentenindexierungsserver 106 durch
den Netzwerkserver 143 zugreifen, wie es nachfolgend erörtert wird.
Andere Anwendungen können
außerdem
in dem Client 113 ausgeführt werden. Außerdem ist
der Browser 166 als ein Beispiel einer beliebigen Anzahl
von Anwendungen oder Programmen vorgesehen, die in dem Client 113 verwendet
werden können,
um Zugriff zu Schnittstellen und anderer Funktionalität in dem
Dokumentenindexierungsserver 106 zu erhalten. Der Browser
kann beispielsweise durch eine graphische Clientbenutzerschnittstelle
und geeignete Netzwerkzugriffssoftware usw. ersetzt werden.
-
Der
Arbeitsflussprozessor 116 umfasst auch eine Prozessorschaltung 169.
Diesbezüglich
umfasst die Prozessorschaltung 169 einen Prozessor 173 und
einen Speicher 176, die beide mit einer lokalen Schnittstelle 179 gekoppelt
sind. Diesbezüglich
kann die lokale Schnittstelle 179 ein Daten-/Steuerbus sein,
wie es für
Durchschnittsfachleute auf diesem Gebiet klar ist. Der Arbeitsflussprozessor 116 kann beispielsweise
einen Server, ein Computersystem oder eine andere Vorrichtung mit ähnlicher
Kapazität umfassen.
-
In
dem Speicher 176 sind ein Betriebssystem 183 und
ein Arbeitsflussverarbeitungssystem 186 gespeichert, die
durch den Prozessor 173 ausführbar sind. Das Arbeitsflussverarbeitungssystem 186 wird ausgeführt, um
eine oder mehrere Aufgaben an einem Satz von Indizes durchzuführen, die
durch das automatische Dokumentenindexierungssyrtem 136 von
einem Dokument extrahiert werden, wie es nachfolgend beschrieben
wird.
-
Außerdem können der
Dokumentenindexierungsserver 106, der Client 113 und/oder
der Arbeitsflussprozessor 116 jeweils verschiedene Peripheriegeräte umfassen
(nicht gezeigt), wie z. B. Tastaturen, Tastenfelder, Berührungsfelder,
Berührungsbildschirme,
Mikrophone, eine Maus, Joysticks oder einen oder mehrere Druckknöpfe usw.
Die Peripheriegeräte
können
auch Anzeigegeräte,
Indikatorlichter, Lautsprecher, Drucker, usw., umfassen.
-
Wie
es oben erwähnt
wurde, sind eine Anzahl von Softwarekomponenten in den Speichern 126, 156 und 176 gespeichert
und durch die jeweiligen Prozessoren 123, 153 und 173 ausführbar. Diesbezüglich bedeutet
der Begriff „ausführbar" eine Programmdatei,
die in einer Form ist, die schließlich durch die jeweiligen
Prozessoren 123, 153 und 173 ausgeführt werden
kann. Beispiele von ausführbaren Programmen
können
beispielsweise ein kompiliertes Programm sein, das in Maschinencode übersetzt werden
kann, in einem Format, das in einen Direktzugriffsabschnitt der
Speicher 126, 156 und 176 geladen werden
kann und durch die jeweiligen Prozessoren 123, 153 und 173 ausgeführt werden
kann, oder Quellencode, der in einem geeigneten Format ausgedrückt sein
kann, wie z. B. Objektcode, der in einen Direktzugriffsabschnitt
der Speicher 126, 156 und 176 geladen
werden kann und durch die jeweiligen Prozessoren 123, 153 und 173 usw.
ausgeführt
werden kann. Ein ausführbares
Programm kann in jedem Abschnitt oder jeder Komponente von jedem
der Speicher 126, 156 und 176 gespeichert
werden, einschließlich
beispielsweise Direktzugriffsspeicher, Nur-Lese-Speicher, eine Festplatte, eine
CD, Diskette oder andere Speicherkomponenten.
-
Diesbezüglich ist
jeder der Speicher 126, 156 und 176 hierin
sowohl als flüchtiger
als auch als nichtflüchtiger
Speicher und Datenspeicherkomponenten definiert. Flüchtige Komponenten
sind diejenigen, die auf einen Leistungsverlust hin Datenwerte nicht
beibehalten. Nichtflüchtige
Komponenten sind diejenigen, die Daten auf einen Leistungsverlust
hin beibehalten. Somit kann jeder der Speicher 126, 156 und 176 beispielsweise
Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), Festplattenlaufwerke,
Disketten, auf die über
ein zugeordnetes Diskettenlaufwerk zugegriffen wird, CDs, auf die über ein CD-Laufwerk
zugegriffen wird, Magnetbänder,
auf die über
ein geeignetes Bandlaufwerk zugegriffen wird, und/oder andere Speicherkomponenten,
oder eine Kombination von jeweils zwei oder mehr dieser Speicherkomponenten
umfassen. Außerdem
kann der RAM beispielsweise ei nen statischen Direktzugriffsspeicher
(SRAM), einen dynamischen Direktzugriffsspeicher (DRAM) oder einen
magnetischen Direktzugriffsspeicher (MRAM) und andere solche Vorrichtungen
umfassen. Der ROM kann beispielsweise einen programmierbaren Nur-Lese-Speicher (PROM),
einen löschbaren
programmierbaren Nur-Lese-Speicher (EPROM), einen elektrisch löschbaren
programmierbaren Nur-Lese-Speicher (EEPROM) oder eine andere ähnliche
Speichervorrichtung umfassen.
-
Außerdem kann
jeder der Prozessoren 123, 153 und 173 mehrere
Prozessoren darstellen und jeder der Speicher 126, 156 und 176 kann
mehrere Speicher darstellen, die jeweils in parallelen Verarbeitungsschaltungen
arbeiten. In einem solchen Fall kann jede der lokalen Schnittstellen 129, 159 und 179 ein
geeignetes Netzwerk sein, das eine Kommunikation zwischen beliebigen
zwei der mehreren Prozessoren, zwischen einem beliebigen Prozessor
und einem beliebigen Speicher oder zwischen beliebigen zwei der
Speicher, usw. ermöglicht.
Die Prozessoren 123, 153 und 173 können einen
elektrischen oder optischen Aufbau oder einen anderen Aufbau haben, wie
es für
Durchschnittsfachleute auf diesem Gebiet offensichtlich ist.
-
Jedes
der Betriebssysteme 133, 163 und 183 wird
ausgeführt,
um die Zuweisung und Verwendung von Hardwareressourcen, wie z. B.
des Speichers, der Verarbeitungszeit und der Peripheriegeräte in dem
Dokumentenindexierungsserver 106, dem Client 113 und
dem Arbeitsflussprozessor 116 zu steuern. Auf diese Weise
dient jedes der Betriebssysteme 133, 163 und 183 als
die Grundlage, von der verschiedene Komponenten oder Anwendungen
abhängen,
wie es für
Durchschnittsfachleute auf diesem Gebiet allgemein bekannt ist.
-
Obwohl
die verschiedenen Komponenten, wie z. B. das automatische Dokumentenindexierungssyrtem 136,
der Browser 166 und das Arbeitsflussverarbeitungssystem 186,
so dargestellt sind, dass sie auf dem Dokumentenindexierungsserver 106,
dem Client 113 und dem Arbeitsflussprozessor 116 ausgeführt werden,
ist außerdem
klar, dass alle diese Komponenten auch auf einem einzigen Server oder
einer einzelnen Vorrichtung ausgeführt werden können. Alternativ
kann die Ausführung
von jeder dieser Komponenten zwischen mehreren Servern, Computersystemen
oder anderen Vorrichtungen verteilt sein, wie es offensichtlich
ist. Somit liefert das oben beschriebene Dokumentenindexierungsnetzwerk 100 lediglich
ein Beispiel der verschiedenen unterschiedlichen Konfigurationen
der Dokumentenindexierungsnetzwerke 100, die verwendet
werden können,
um die Ausführung
der verschiedenen Komponenten hierin zu ermöglichen.
-
Mit
Bezugnahme auf 2 ist dann ein Funktionsblockdiagramm
gezeigt, das ein Beispiel der Architektur des automatischen Dokumentenindexierungssystems 136 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung zeigt. Wie es in 2 gezeigt
ist, stellt jeder Block ein Modul, ein Objekt oder eine andere Gruppierung
oder Einkapselung der darunter liegenden Funktionalität dar, wie
sie in Programmiercode implementiert ist. Die gleiche darunter liegende
Funktionalität
kann jedoch in einem oder mehreren Modulen, Objekten oder anderen
Gruppierungen oder Einkapselungen existieren, die sich von denjenigen
unterscheiden, die in 2 gezeigt sind, ohne von der
vorliegenden Erfindung abzuweichen, wie sie durch die angehängten Ansprüche definiert
ist.
-
Das
automatische Dokumentenindexierungssystem 136 empfängt ein
Dokument 200 und versucht, das Dokument 200 für die Speicherung
in der Datenbank 139 oder für die Anwendung an einem bestimmten
Arbeitsflussverarbeitungssystem 186 zu „indexieren". Diesbezüglich bezieht
sich das Konzept des „Indexierens" eines Dokuments
auf den Prozess des Extrahierens von Indizes von dem Dokument 200.
Gemäß Ausführungsbeispielen
der vorliegenden Erfindung wird Indexieren automatisch und manuell
durchgeführt,
wenn das automatische Indexieren versagt.
-
Um
eine automatische Extraktion von Indizes von dem Dokument 200 zu
versuchen, umfasst das automatische Dokumentenindexierungssystem 136 eine
Anzahl von Komponenten, wie z. B. eine optische Zeichenerkennungsroutine 203 und
einen Klassifizierungsprädiktor
bzw. einer Klassifizierungsvorhersageeinrichtung 206. Das
automatische Dokumentenindexierungssystem 136 umfasst auch
einen Dokumentenindexierungsorchestrator 209 und eine Anzahl
von Indexierungsentitäten 213.
Der Dokumentenindexierungsorchestrator 209 weist die Verwendung
verschiedener Indexierungsentitäten 213 an,
um Indizes von einem jeweiligen Dokument 200 zu extrahieren,
wie es nachfolgend beschrieben wird. Die Indexierungsentitäten 213 können beispielsweise
irgendeines einer Anzahl von im Handel verfügbaren Programmen zum Extrahieren
von Indizes von einem Dokument 200 umfassen, die Technologien,
wie z. B. die Verarbeitung natürlicher
Sprache, neurale Netzwerke, Bayes-Analyse und andere Technologien,
verwenden. Alternativ können
verschiedene der Indexierungsentitäten 213 eine Kombination
von zwei oder mehr Programmen umfassen, wie es oben beschrieben
ist, die nacheinander ausgeführt
werden, um gewünschte
Indizes von einem Dokument 200 effektiver zu extrahieren.
-
Das
automatische Dokumentenindexierungssystem 136 umfasst auch
eine Korrekturindexierungsmaschine 219 und eine Anzahl
von Neuklassifizierungsentitäten 223.
Der Dokumentenindexierungsorchestrator 209 bildet ferner
eine Schnittstelle mit der Korrekturindexierungsmaschine 219 und
den Neuklassifizierungsentitäten 223,
wenn die Indexierungsentitäten 213 nicht
in der Lage sind, Indizes von einem Dokument 200 zu extrahieren,
bei einem letzten Versuch, das automatische Indexieren eines Dokuments 200 zu
erreichen, bevor dasselbe einer manuellen Indexierung unterworfen
wird, wie es nachfolgend beschrieben wird.
-
Das
automatische Indexierungssystem 136 umfasst auch ein manuelles
Indexierungsmodul 226, das ausgeführt wird, um eine manuelle
Extraktion von Indizes von dem Dokument 200 zu ermöglichen, wenn
der Dokumentenindexierungsorchestrator 209, die Indexierungsentitäten 213,
die Korrekturindexierungsmaschine 219 und die Neuklassifizierungsentitäten 223 nicht
in der Lage sind, die gleichen Indizes automatisch zu extrahieren,
wie es nachfolgend beschrieben wird. Außerdem kommuniziert der Dokumentenindexierungsorchestrator 209 mit
dem Arbeitsflussverarbeitungssystem 186 und liefert indexierte
Dokumente 200 an dasselbe zum Verarbeiten gemäß dem jeweiligen
Arbeitsfluss des Arbeitsflussverarbeitungssystems 186,
wie es nachfolgend beschrieben wird. Verschiedene Komponenten des
automatischen Dokumentenindexierungssystems 136 bilden
eine Schnittstelle mit der Datenbank 139, um solche Informationen
zu erhalten, wie es notwendig ist, um ihre Funktionen durchzuführen, wie
es nachfolgend beschrieben wird.
-
Mit
Bezugnahme auf 3 ist ein Beispiel einer Datenbank 139 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. In der Datenbank 139 sind
eine Anzahl von Grundwahrheitsdokumenten 233 gespeichert,
die gemäß einer
Anzahl von Klassifizierungen 236 organisiert sind. Innerhalb
einer gegebenen Klassifizierung 239 umfassen die Grundwahrheitsdokumente 233 ähnliche Charakteristika
oder Spuren, wie es nachfolgend beschrieben wird. Jedem der Grundwahrheitsdokumente 233 sind
Indizes 239 und Kontextinformationen 243 zugeordnet.
Die Indizes 239 umfassen Datenfelder mit entsprechenden
Werten, die verwendet werden können,
um die Grundwahrheitsdokumente 233 in der Datenbank 139 zu
suchen. Beispielsweise kann ein Index ein „Name"-Datenfeld
mit einem entsprechenden Wert von „John Doe" umfassen. Die Indizes 239,
die jedem Grundwahrheitsdokument 233 zugeordnet sind, wirken
als Metadaten, die eine Suche für
jedes Grundwahrheitsdokument 233 ermöglichen, so dass dieselben
zu einem späteren
Datum auf eine schnelle und ökonomische
Weise wiedergewonnen werden können.
-
Die
Grundwahrheitsdokumente 233 werden auch durch das automatische
Dokumentenindexierungssystem 136 referenziert, bei dem
Versuch, Indizes von neu gescannten Dokumenten 200 zu extrahieren,
wie es nachfolgend beschrieben wird. Während neue Dokumente 200 gescannt
werden und schließlich
in der Datenbank 139 als Grundwahrheit gespeichert werden,
passt sich das automatische Dokumentenindexierungssystem 136 diesbezüglich im
Verlauf der Zeit an Änderungen
in den Dokumenten 200 an.
-
Jeder
der Klassifizierungen 236 ist ein Klassenindexierungsentitätsprotokoll 246 zugeordnet. Das
Klassenindexierungsentitätsprotokoll 246 wird verwendet,
um die Erfolge und Misserfolge jeder Indexierungsentität 213 beim
Extrahieren von Indizes von verschiedenen Dokumenten 200 bezüglich jeder der
Klassifizierungen 236 zu verfolgen. Diesbezüglich liefern
die Klassenindexierungsentitätsprotokolle 246 Informationen,
von denen Statistiken erzeugt werden können relativ zu dem Betrieb
jeder der Indexierungsentitäten 213 (2),
wie es nachfolgend beschrieben wird.
-
Außerdem umfasst
jede der Klassifizierungen 236 Klassenindexierungsstatistiken 249.
Unter den Klassenindexierungsstatistiken 249 befindet sich beispielsweise
die Erfolgswahrscheinlichkeit für
jede der Indexierungsentitäten 213 beim
Extrahieren gewünschter
Indizes von den Dokumenten 200 für jede der jeweiligen Klassifizierungen 236.
Die Klassenindexierungsstatistiken 249 umfassen auch andere Werte,
wie es nachfolgend beschrieben wird.
-
Außerdem weist
jede Klassifizierung 236 ein Hauptindex-Verzeichnis 253 auf. Die Hauptindex-Verzeichnise 253 listen
gewünschte
Indizes auf, die das automatische Dokumentenindexierungssystem 136 versuchen
soll, von den Dokumenten 200 für jede jeweilige Klassifizierung 236 zu
extrahieren, wie es nachfolgend beschrieben wird. Außerdem können für jede der
Klassifizierungen 236 und für andere Zwecke andere Informationen
in der Datenbank 139 gespeichert werden, wie es in dem
folgenden Text beschrieben wird.
-
Mit
Bezugnahme auf 4 ist ein Blockdiagramm gezeigt,
das ein Beispiel der Klassenindexierungsstatistiken 249 darstellt,
die jeder der Klassifizierungen 236 zugeordnet sind (3),
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Für
jede der Klassifizierungen 236 sind in den Klassenindexierungsstatistiken 249 Prozentkonfidenzen 263 für sowohl
die Indexierungsentitäten 213,
die Korrekturindexierungsmaschine 219 als auch die Neuklassifizierungsentitäten 223 gespeichert.
-
Andere
Informationen, die in den Klassenindexierungsstatistiken 249 beibehalten
werden können,
umfassen die Verarbeitungszeit pro Seite 266 für jede der
Indexierungsentitäten 213.
Die Klassenindexierungsstatistiken können auch die Kosten pro Verwendung 269 umfassen,
für jede
jeweilige Indexierungsentität 213 für die Situation,
in denen die Verwendung verschiedener Indexierungsentitäten 213 einer
Lizenzvereinbarung unterworfen ist, usw. Außerdem können andere Informationen in
den Klassenindexierungsstatistiken 249 beibehalten werden, die
in Verbindung mit dem Betrieb des automatischen Dokumentenindexierungssystems 136 verwendet wird,
wie es nachfolgend beschrieben wird.
-
Mit
erneuter Bezugnahme auf 2 wird als Nächstes der allgemeine Betrieb
des automatischen Dokumentenindexierungssystems 136 beschrieben, gemäß verschiedenen
Ausführungsbeispielen
der vorliegenden Erfindung. Anfangs wird ein Druckkopiedokument
durch den Scanner 103 in eine digitale Form gescannt (1),
wodurch das Dokument 200 erzeugt wird. Außerdem werden
alle Kontextinformationen 273, die durch den Scanner 103 erzeugt
werden, wenn das Dokument 200 gescannt wird, dem Dokument 200 zugeordnet.
Die Kontextinformationen 273 können beispielsweise einen Namen
eines Benutzers umfassen, der das Dokument 200 unter Verwendung
des Scanners 103 gescannt hat, eine Zeit, zu der das Dokument 200 durch
den Scanner 103 gescannt wurde, oder andere Informationen,
wie es offensichtlich ist. Die Kontextinformationen 273 können dem
Dokument 200 zugeordnet werden durch Aufnehmen der Kontextinformationen 273 als Metadaten,
die dem Dokument 200 zugeordnet sind, oder die Kontextinformationen 273 können dem
Dokument 200 auf andere Weise zugeordnet werden, wie es
offensichtlich ist.
-
Sobald
es in digitale Form gescannt ist, wird das Dokument 200 zunächst an
das optische Zeichenerkennungs-(OCR-)Modul 203 angelegt,
um jeden Text in dem Dokument 200, der in Bildformat dargestellt
ist, in erkennbaren Text umzuwandeln, wie es offensichtlich ist.
Danach wird das Dokument 200 an den Klassifizierungsprädiktor 206 angelegt,
um zu identifizieren, mit welcher der Klassifizierungen 236 (3)
das Dokument 200 am engsten ausgerichtet oder zugeordnet
scheint. Diesbezüglich
klassifiziert der Klassifizierungsprädiktor 206 das Dokument 200 anfangs
als zu einer der Klassifizierungen 236 gehörig. Diesbezüglich wird
eine Zuordnung zwischen einem Dokument 200, das indexiert
werden soll, und einer der Klassifizierungen 236 gezogen.
-
Außerdem erzeugt
der Klassifizierungsprädiktor 206 eine
Liste von Klassifizierungen 236, die in einer vordefinierten
Reihenfolge angeordnet sind, auf der Basis der Wahrscheinlichkeit,
dass das Dokument 200 innerhalb solche Klassifizierungen 236 fällt. Genauer
gesagt, je wahrscheinlicher das Dokument 200 ordnungsgemäß in eine
bestimmte Klassifizierung 236 klassifiziert wird, um so
höher ist
die Priorität,
die der Klassifizierung 236 in der Liste zugewiesen wird.
Anfangs wird das Dokument 200 als zu der Klassifizierung 236 auf
der Liste mit der höchsten
Priorität
gehörig
klassifiziert.
-
Das
Dokument 200 wird auf diese Weise klassifiziert, da die
Klassifizierung 236, die dem Dokument 200 zugeordnet
ist, einen Kontext für
den Betrieb der verschiedenen Indexierungsentitäten 213, der Korrekturindexierungsmaschine 219 und
der Neuklassifizierungsentitäten 223 liefert,
wie es nachfolgend beschrieben wird. Um die anfängliche Klassifizierung des
Dokuments 200 zu bestimmen, kann der Klassifi zierungsprädiktor 206 Sortieralgorithmen verwenden,
um spezifische Grundwahrheitsdokumente 233 in der Datenbank 139 zu
identifizieren, mit denen das Dokument 200 ähnliche
Charakteristika aufweist. Alternativ kann der Klassifizierungsprädiktor 206 auch
vordefinierte Regeln verwenden, um das Dokument 200 auf
der Basis der Kontextinformationen 273 zu klassifizieren,
die dem Dokument 200 zugeordnet sind. Beispielsweise kann
eine Regel vorgeben, dass alle Dokumente 200, die durch
eine bestimmte Person gescannt werden, gemäß einer bestimmten der Klassifizierungen 236 klassifiziert werden.
Genauer gesagt, falls ein Benutzer beispielsweise ein Buchhalter
ist, dann kann angenommen werden, dass alle Dokumente, die er in
das System scannt, Rechnungen sind, die in der Datenbank 139 gespeichert
werden sollen, usw. Als solche wird eine Klassifizierung 236 in
der Datenbank 139 für
die Speicherung von Rechnungen erzeugt, die automatisch dem Dokument 200 zugewiesen
wird, für
die weitere Verarbeitung durch das automatische Dokumentenindexierungssystem 136.
-
Sobald
das Dokument 200 anfangs durch den Klassifizierungsprädiktor 206 klassifiziert
wird, wird das Dokument 200 an den Dokumentenindexierungsorchestrator 209 angelegt.
Danach legt der Dokumentenindexierungsorchestrator 209 das
Dokument 200 an eine oder mehrere Indexierungsentitäten 213 an,
bei dem Versuch, Indizes 239 von dem Dokument 200 zu
extrahieren. Wie es oben beschrieben ist, umfassen die Indizes 239 Felder
mit entsprechenden Werten, die dem Dokument 200 zugeordnet sind,
und die eine Suche für
das Dokument ermöglichen,
wenn das Dokument als eines der Grundwahrheitsdokumente 233 in
der Datenbank 139 gespeichert ist. Außerdem können die Informationen, die den
Indizes 239 zugeordnet sind, in einem Arbeitsflussprozess
verwendet werden. Um zu bestimmen, welche der Indexierungsentitäten 213 bei
dem Versuch verwendet werden sollen, die gewünschten Indizes von dem Dokument 200 zu
extrahieren, verwendet der Dokumentenindexierungsorchestrator 209 verschiedene
Algorithmen, wie es nachfolgend beschrieben wird.
-
Außerdem kann
es der Fall sein, dass der Dokumentenindexierungsorchestrator 209 das
Dokument 200 an mehrere der Indexierungsentitäten 213 anlegt,
bei einem Versuch, die Indizes von dem Dokument 200 zu
extrahieren. Wo jede der Indexierungsentitäten 213 nicht in der
Lage ist, alle der gewünschten
Indizes auf einer individuellen Basis für eine bestimmte Klassifizierung 236 erfolgreich
zu extrahieren, kann der Dokumentenindexierungsorchestrator 209 dann
eine zusammengesetzte Gruppe von Indizes von den Sätzen von
Indizes erzeugen, die erfolgreich durch die Indexierungsentitäten 213 extrahiert
wurden. Genauer gesagt, jede Klassifizierung 236 umfasst
eine Anzahl von vordefinierten Indizes, die in den jeweiligen Hauptindex-Verzeichnissen 253 gespeichert
sind, die von den Dokumenten 200 extrahiert werden sollen,
die so klassifiziert sind.
-
Die
Bestimmung, ob irgendeine der Indexierungsentitäten 213 in der Lage
ist, das Dokument 200 erfolgreich zu indexieren, hängt davon
ab, ob die Indexierungsentitäten 213 in
der Lage sind, zumindest eine minimale Anzahl von Indizes erfolgreich
zu extrahieren, die in dem Hauptindex-Verzeichnis 253 für die jeweilige
Klassifizierung angezeigt sind, für die das Dokument 200 klassifiziert
ist. In Situationen, wo Instantiierungen von mehreren der Indexierungsentitäten 213 in
der Lage sind, eine geringere Anzahl von Indizes zu extrahieren
als das Minimum, das für
eine bestimmte Klassifizierung 236 erforderlich ist, verwendet
der Dokumentenindexierungsorchestrator 209 verschiedene
Lösungsansätze zum
Zusammenfassen der Indizes, die durch die einzelnen Indexierungsentitäten 213 extrahiert
wurden, in den zusammengesetzten Satz von Indizes, wie es nachfolgend beschrieben
wird. Beispiele spezifischer Lösungsansätze, die
verwendet werden können,
um den zusammengesetzten Satz von Indizes zu kompilieren, können Abstimmen,
Gewichtungsabstimmen und Verwenden einer Konfusionsmatrix umfassen,
wie es nachfolgend beschrieben wird.
-
Angenommen,
der Dokumentenindexierungsorchestrator 209 war in der Lage,
die minimal erforderlichen Indizes für das jeweilige Dokument 200 zu
erhalten, auf der Basis einer bestimmten Klassifizierung 236,
dann kann der Dokumentenindexierungsorchestrator 209 das
Dokument 200 automatisch an ein Arbeitsflussverarbeitungssystem 186 für weitere
Verarbeitung anlegen, auf der Basis eines vordefinierten Arbeitsflusses.
Indem dies durchgeführt
wird, kann der Satz von Indizes 239, der von dem Dokument 200 extrahiert
wurde, dem Dokument 200 zugeordnet werden, durch Platzierung
in einen geeigneten Anfangsblock oder eine andere Datenstruktur,
die dem Dokument 200 zugeordnet ist.
-
Das
Arbeitsflussverarbeitungssystem 186 kann die Werte verwenden,
die den Indizes 239 zugeordnet sind, um einen vordefinierten
Arbeitsfluss durchzuführen.
Das Arbeitsflussverarbeitungssystem 186 kann beispielsweise
ein Bankkreditbewilligungssystem umfassen. Verschiedene der Indizes 239 können beispielsweise
den Namen eines Kreditgebers, einen Kreditbetrag und andere Informationen umfassen,
die angemessen sind, um die Bewilligung eines Kredits zu erhalten.
Das Arbeitsflussverarbeitungssystem 186 kann dann auf der
Basis von vordefinierten Kriterien damit fortfahren, automatisch
zu bestimmen, ob der Kredit bewilligt wird. Falls das Dokument 200 falsch
klassifiziert wurde 236 und/oder die spezifischen Indizes 239,
die dem Dokument 200 zugeordnet sind, nicht diejenigen
sind, die von dem Arbeitsflussverarbeitungssystem 186 erwartet
werden, dann sendet das Arbeitsflussverarbeitungssystem das Dokument 200 zurück zu dem
Dokumentenindexierungsorchestrator 209 für eine Neuklassifizierung,
um weitere Versuche durchzuführen,
um Indizes von dem Dokument 200 zu extrahieren, wie es nachfolgend
beschrieben wird.
-
Angenommen
jedoch, dass der Dokumentenindexierungsorchestrator 209 nicht
in der Lage war, die erforderliche minimale Anzahl von Indizes zu erhalten,
wie es in dem jeweiligen Hauptindex-Verzeichnis 253 aufgeführt ist,
dann legt der Dokumentenindexierungsorchestrator 209 das
Dokument 200 an die Korrekturindexierungsmaschine 219 an.
Die Korrekturindexierungsmaschine 219 verwendet verschiedene
Algorithmen zum Korrigieren jeglicher potentieller Fehler, die durch
das optische Zeichenerkennungsmodul 203 gemacht werden,
auf der Basis der aktuellen Klassifizierung 236, die dem
Dokument 200 zugeordnet ist. Genauer gesagt, die Korrekturindexierungsmaschine 219 sucht
nach erwarteten Fehlern auf der Seite des OCR-Moduls 203,
die auf der Basis der Indizes gemacht wurden, die in dem jeweiligen
Hauptindex-Verzeichnis 253 für die aktuelle Klassifizierung 236 des
Dokuments 200 gespeichert sind, wie es nachfolgend beschrieben
wird.
-
Nach
jeglichen Korrekturen, die durch die Korrekturindexierungsmaschine 219 durchgeführt wurden,
versucht die Korrekturindexierungsmaschine 219, die gewünschten
Indizes, die in dem Hauptindex-Verzeichnis 253 der jeweiligen
Klassifizierung 236 gespeichert sind, zu extrahieren. Falls
die Korrekturindexierungsmaschine 219 erfolgreich war beim
Extrahieren der erforderlichen minimalen Anzahl von Indizes 239,
dann legt der Dokumentenindexierungsorchestrator 209 das
Dokument 200 an das Arbeitsflussverarbeitungssystem 186 an,
wie es oben beschrieben ist.
-
Falls
die Korrekturindexierungsmaschine 219 nicht in der Lage
war, die gewünschten
Indizes von dem Dokument 200 zu extrahieren, dann nimmt der
Dokumentenindexierungsorchestrator 209 andererseits an,
dass die aktuelle Klassifizierung des Dokuments 200 falsch
war. In einem solchen Fall legt der Dokumentenindexierungsorchestrator 209 das Dokument 200 an
eine oder mehrere der Neuklassifizierungsentitäten 223 an, in einem
Versuch, das Dokument 200 ordnungsgemäß als zu einer anderen der
Klassifizierungen 236 gehörig neu zu klassifizieren.
Diesbezüglich
können
die Neuklassifizierungsentitäten 223 jeweils
verschiedene Algorithmen verwenden, wie es nachfolgend beschrieben
wird. Jeder dieser Algorithmen ist ein Lösungsansatz, durch den Zu ordnungen
zwischen dem Dokument 200 und zumindest einem der Grundwahrheitsdokumente 233 gezogen
werden.
-
Sobald
die Neuklassifizierung abgeschlossen ist, legt der Dokumentenindexierungsorchestrator 209 das
neu klassifizierte Dokument 200 ein weiteres Mal an die
Indexierungsentitäten 213 an,
bei dem Versuch, die Indizes von dem Dokument 200 zu extrahieren
auf der Basis des neuen Hauptindex-Verzeichnisses 253, das der
neuen Klassifizierung 236 zugeordnet ist. Diesbezüglich durchschreitet
der Dokumentenindexierungsorchestrator 209 erneut den gesamten
Prozess, wie es oben bezüglich
der neuen Klassifizierung 236 beschrieben ist, bei dem Versuch,
das Dokument 200 ordnungsgemäß zu indexieren. Auf diese
Weise kann der Dokumentenindexierungsorchestrator 209 wiederholt
versuchen, die Extraktion der gewünschten Indizes von dem Dokument 200 als
unter jeder möglichen
Klassifizierung 236 klassifiziert zu ermöglichen,
bis die Indizes 239 erfolgreich extrahiert sind oder bis
die Extraktion der Indizes 239 vollständig erfolglos ist.
-
Angenommen,
die Indexextraktion war für das
Dokument 200 bezüglich
jeder der Klassifizierungen 236 vollständig erfolglos, dann legt der
Dokumentenindexierungsorchestrator 209 das Dokument 200 an
das manuelle Indexierungsmodul 226 an, um eine manuelle
Extraktion der Indizes 239 zu ermöglichen. Diesbezüglich platziert
der Dokumentenindexierungsorchestrator 209 das Dokument 200 in
eine manuelle Warteschlange, auf die durch das manuelle Indexierungsmodul 226 zugegriffen
wird, um die manuelle Extraktion der Indizes von dem Dokument 200 zu
ermöglichen.
-
Während dem
Verlauf der automatischen Indexierungsoperation auf Seiten des Dokumentenindexierungsorchestrators 209 kann
der Dokumentenindexierungsorchestrator 209 angewiesen werden, verschiedene
der Indexierungsentitäten 213 für eine Indexextraktion
auszuwählen,
auf der Basis von Beschränkungen,
die durch einen Benutzer spezifiziert werden. Genauer gesagt, Beschränkungen
der Kosten und der Zeit können
für den
Betrieb der verschiedenen Indexierungsentitäten 213 spezifiziert
werden, die die Fähigkeit
des Dokumentenindexierungsorchestrators 209 begrenzen,
spezifische der Indexierungsentitäten 213 zu verwenden,
bei dem Versuch, die gewünschten
Indizes von demselben zu extrahieren, wie es nachfolgend erörtert wird.
Alternativ können
verschiedene Indexierungsentitäten 213 für Indexextraktion
tabu sein, abgesehen von vordefinierten Bedingungen, die durch einen
Systemverwalter spezifiziert sind.
-
Mit
Bezugnahme auf 5 ist ein Beispiel eines Hauptindex-Verzeichnisses 253 gezeigt,
das jeder der Klassifizierungen 236 zugeordnet ist. Das Hauptindex-Verzeichnis 253 umfasst
eine Liste von Basisklassifizierungsindizes 276 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Die Basisklassifizierungsindizes 276 umfassen
eine vordefinierte Gruppe von Indizes, die beispielsweise durch einen
Systemverwalter der Datenbank 139 als repräsentativ
für die
Indizes 239 (3) spezifiziert sind, die im
Allgemeinen den Grundwahrheitsdokumenten 233 (3)
in einer bestimmten der Klassifizierungen 236 zugeordnet
sind. Alternativ kann die Basisklassifizierung von Indizes 276 auf
eine andere Weise spezifiziert sein. Für ein neues Dokument 200,
das indexiert werden soll, versucht das automatische Dokumentenindexierungssystem 136,
jeden der Basisklassifizierungsindizes 276 von dem Dokument 200 zu
extrahieren. Die spezifische Liste von Basisklassifizierungsindizes 276,
die extrahiert werden sollen, hängt
von der Klassifizierung 236 des Dokuments 200 ab.
-
Angenommen,
dass eine bestimmte Klassifizierung 236 Kreditanträge enthält, dann
können
die Basisklassifizierungsindizes 276 beispielsweise Felder
sein, von denen erwartet wird, dass sie von einem Kreditantrag extrahiert
werden. Das automatische Dokumentenindexierungssystem 136 versucht, die
Basisklassifizierungsindizes 276 automatisch von dem Dokument 200 zu
extrahieren. Aus verschiedenen Gründen, die der automatischen
Extraktion von Indizes von einem Dokument 200 inhärent sind,
kann es jedoch der Fall sein, dass nur eine vorbestimmte Anzahl
der Gesamtzahl von Basisklassifizierungsindizes 276 zu
einem bestimmten Zeitpunkt erfolgreich von dem Dokument 200 extrahiert
werden kann. Folglich wird gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung eine automatische Extraktion von Indizes 239 von
einem Dokument 200 als erfolgreich angesehen, wenn ein
erforderlicher Teilsatz der Basisklassifizierungsindizes 276,
der eine minimale Anzahl der Basisklassifizierungsindizes 276 für die bestimmte
Klassifizierung 236 erhält,
erfolgreich von dem Dokument 200 extrahiert wird.
-
Diesbezüglich umfasst
das Hauptindex-Verzeichnis 253 auch einen Extraktionserfolgsschwellenwert 279.
Der Extraktionserfolgsschwellenwert 279 zeigt die minimale
Anzahl der Basisklassifizierungsindizes 276 an, die von
einem bestimmten Dokument 200 extrahiert werden müssen, damit
die automatische Extraktion als erfolgreich angesehen wird. Alternativ
kann der Extraktionserfolgsschwellenwert 279 ein Prozentsatz
sein anstatt einer Ganzzahl von Indizes usw. Außerdem können verschiedene der Basisklassifizierungsindizes 276 als
verbindliche Indizes gekennzeichnet werden, die von einem Dokument 200 extrahiert
werden müssen,
damit eine automatische Extraktion als erfolgreich angesehen wird.
Dies kann angezeigt werden durch Markieren der Daten, die die verbindlichen
Basisklassifizierungsindizes 276 darstellen, in dem jeweiligen Hauptindex-Verzeichnis 253.
-
Andere
der Basisklassifizierungsindizes 276 können für die erfolgreiche automatische
Extraktion der Indizes 239 als nicht verbindlich angesehen
werden. Somit ist für
die Erörterungszwecke
hierin ein „erforderlicher
Teilsatz von Indizes" hierin
als minimal erforderliche Anzahl der Basisklassifizierungsindizes 276 definiert,
die von einem Dokument 200 extrahiert werden müssen, damit
eine automatische Extraktion der Indizes als erfolgreich angesehen
wird. Für
eine bestimmte Klassifizierung 236 kann der erforderliche Teilsatz
von Indizes verbindliche Basisklassifizierungsindizes 276 umfassen
oder nicht. Um ein Beispiel zu liefern, nehme man an, dass eine
bestimmte Klassifizierung 236 Kreditanträge umfasst.
Als solches könnten
die Basisklassifizierungsindizes 276, die in dem jeweiligen
Hauptindex-Verzeichnis 253 gespeichert
sind, folgende Indizes umfassen: Name, Adresse, Fallnummer, Vertreter,
Gehalt, geforderter Betrag und Kreditfähigkeit. Man nehme auch an, dass
es der Systemadministrator für
erforderlich gehalten hat, dass nur drei der obigen Indizes extrahiert werden
müssen,
um das Dokument 200 ordnungsgemäß einem jeweiligen Arbeitsflussverarbeitungssystem 186 zuzuweisen.
Von den drei erforderlichen Indizes können der Name und die Fallnummer
als verbindlich angesehen werden. Folglich kann der erforderliche
Teilsatz von Indizes, der von dem Dokument 200 extrahiert
werden muss, „Name,
Fallnummer und Vertreter" sein.
Alternativ kann in dieser Gruppe der „Vertreter" durch einen anderen Index ersetzt werden.
-
Mit
Bezugnahme auf 6A-6G, 7 und 8A-8C sind
Beispiele von Flussdiagrammen von verschiedenen Komponenten des
automatischen Dokumentenindexierungssystems 136 gezeigt,
gemäß verschiedenen
Ausführungsbeispielen
der vorliegenden Erfindung. Alternativ kann jedes der Flussdiagramme
von 6A-6G, 7 und 8A-8C so
gesehen werden, dass es Schritte von beispielhaften Verfahren darstellt,
die in dem Dokumentenindexierungsserver 106 und dem Arbeitsflussprozessor 116 implementiert
sind. Die Funktionalität
des automatischen Dokumentenindexierungssystems 136, wie
es durch die beispielhaften Flussdiagramme von 6A-6G, 7 und 8A-8C dargestellt
ist, kann beispielsweise in einem objektorientierten Entwurf oder
einer anderen Programmierarchitektur implementiert sein. Angenommen,
dass die Funktionalität
in einem objektorientierten Entwurf implementiert ist, dann stellt
jeder Block eine Funktionalität
dar, die in einem oder mehreren Verfahren implementiert werden kann,
die in einem oder mehreren Objekten eingekapselt sind. Das automatische
Dokumentenindexierungssystem 136 kann implementiert werden
unter Verwendung von irgendeiner einer Vielzahl von Programmiersprachen, wie
z. B. C, C++, C#, Visual Basic, JAVA, Perl, Python oder anderen
Programmiersprachen.
-
Mit
besonderer Bezugnahme auf 6A ist ein
Flussdiagramm gezeigt, das ein Beispiel des Betriebs des Dokumentenindexierungsorchestrators 209 darstellt.
Beginnend mit dem Kasten 303 identifiziert der Dokumentenindexierungsorchestrator 209 zunächst einen
Pool von Indexierungsentitäten 213 (2),
die bei einem Versuch der automatischen Indexextraktion bezüglich des
Dokuments 200 (2) verwendet werden sollen.
Genauer gesagt, das Dokument 200 wird an vordefinierte
Indexierungsentitäten 213 angelegt,
um zu versuchen, den erforderlichen Teilsatz von Indizes 239 (3)
von dem Dokument 200 zu extrahieren, auf der Basis der
jeweiligen Basisklassifizierungsindizes 276 (5),
die der jeweiligen Klassifizierung 236 (3)
zugeordnet sind, in der das Dokument 200 aktuell klassifiziert
ist.
-
Um
den Pool von Indexierungsentitäten 213 zu
identifizieren, die für
Indexextraktion bezüglich des
Dokuments 200 verwendet werden können, können verschiedene Lösungsansätze verwendet
werden. Bei einem Lösungsansatz
wird eine Prädiktionsselektion
spezifiziert. Genauer gesagt, die Indexierungsentitäten 213 werden
nur ausgewählt,
falls dieselben eine Prozentkonfidenz 263 aufweisen (4),
wie es in den Klassenindexierungsstatistiken 246 (4)
der jeweiligen Klassifizierung 236 (3) spezifiziert
ist, die eine Schwellenwertprozentkonfidenz überschreitet, die durch den
Benutzer spezifiziert ist. Alternativ kann der Pool von Indexierungsentitäten, der
für die
Verwendung identifiziert wird, in eine Reihenfolge für die Verwendungsbestimmung
platziert werden, gemäß den Prozentkonfidenzen,
die jeder Indexierungsentität 213 zugeordnet sind.
Als eine zusätzliche
Alternative kann eine bekannte Sequenz von Indexierungsentitäten 213 in
die Klassenindexierungsstatistiken 246 aufgenommen werden,
die auf der Basis der Klassifizierung 236 des Dokuments 200 verwendet
werden.
-
Angenommen,
der Pool von Indexierungsentitäten 213 ist
zum Verarbeiten des Dokuments 200 identifiziert, dann legt
der Dokumentenindexierungsorchestrator 209 in dem Kasten 306 jegliche
Beschränkungen,
die durch einen Benutzer spezifiziert werden, an den Pool von Indexierungsentitäten 213 an,
die in dem Kasten 303 identifiziert werden. Solche Beschränkungen
können
beispielsweise sein, bestimmte der Indexierungsentitäten 213 aus
verschiedenen Gründen
nicht zu verwenden. Solche Gründe
können
beispielsweise sein, dass nur Indexierungsentitäten 213 mit einer
Prozentkonfidenz 263 über
einer vordefinierten Schwellenwertprozentkonfidenz zu verwenden
sind, dass nur Indexierungsentitäten 213 verwendet
werden können,
die die Indexierungsfunktion in einer vordefinierten Zeitdauer pro
Seite 246 durchführen
können
(4), oder dass nur Indexierungsentitäten 213 verwendet
werden können,
die Kosten unter vordefinierten Kosten pro Verwendung 296 aufweisen
(4).
-
Außerdem kann
die Reihenfolge, in der die Indexierungsentitäten 213 verwendet
werden, so geändert
werden, wie es durch einen Benutzer spezifiziert wird. Beispielsweise
kann der Benutzer spezifizieren, dass aufwendigere Indexierungsentitäten 213 als
letztes verwendet werden sollten, oder die Indexierungsentität(en) 213,
die die längsten
Verarbeitungszeiten pro Seite aufweist/aufweisen, als letztes verwendet
wird/werden, usw. Außerdem
können
andere Beschränkungen
auf die Verwendung der Indexierungsentitäten 213 auferlegt
werden.
-
Angenommen,
dass jegliche und alle Beschränkungen
an den Pool von Indexierungsentitäten 213 in dem Kasten 306 angelegt
werden, dann bestimmt der Dokumentenindexierungsorchestrator 209 in
dem Kasten 309 eine erste der Indexierungsentitäten 213,
an die das Dokument 200 angelegt werden soll, bei dem Versuch,
die gewünschten
Indizes 239 von demselben zu extrahieren. Alternativ können mehrere
Indexierungsentitäten 213 ausgewählt werden,
um die gewünschten Indizes 239 von dem
Dokument 200 zu extrahieren, wobei die mehreren Indexierungsentitäten 213 parallel
arbeiten, wo es beispielsweise unwahrscheinlich ist, dass eine erste
der Indexierungsentitäten 213 erfolgreich
wäre beim
Extrahieren des erforderlichen Teilsatzes von Indizes 239,
usw. Als Nächstes
wird in dem Kasten 313 das Dokument 200 an die
Indexierungsentität(en) 213 angelegt,
die für
den Betrieb bestimmt sind. Die jeweiligen Indexierungsentitäten 213 versuchen
dann, einen Satz von Indizes von dem Dokument 200 zu extrahieren,
der zumindest den erforderlichen Teilsatz von Indizes für die jeweilige
Klassifizierung 236 umfasst, wie es oben beschrieben ist.
-
Im
Block 316 bestimmt der Dokumentenindexierungsorchestrator 209,
ob die erforderliche Anzahl von Indizes, die in dem jeweiligen Hauptindex-Verzeichnis 253 spezifiziert
ist, unter Verwendung der aktuellen Indexierungsentität 213 erfolgreich
von dem Dokument 200 extrahiert wurden. Danach zeichnet
der Dokumentenindexierungsorchestrator 209 in dem Kasten 319 auf,
ob die Extraktion, die durch die aktuelle Indexierungsentität 213 durchgeführt wurde,
erfolgreich war, in dem Klassenindexierungsentitätsprotokoll 246 (3),
das der jeweiligen Klassifizierung 236 zugeordnet ist,
unter der das Dokument 200 aktuell klassifiziert ist. Diese
Information kann somit verwendet werden, um die Prozentkonfidenzen 263 für die jeweiligen
Indexierungsentitäten 213 für jede Klassifizierung 236 beizubehalten.
-
Falls
als Nächstes
in dem Kasten 323 der Versuch, die erforderliche Anzahl
von Indizes von dem Dokument 200 zu extrahieren, erfolgreich
war, dann schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 326 fort. Andernfalls schreitet der Dokumentenindexierungsorchestrator 209 zu dem
Kasten 329 fort. In dem Kasten 326 werden das Dokument 200 und
die extrahierten Indizes 239 an das Arbeitsflussverarbeitungssystem 186 angelegt, zum
Verarbeiten gemäß einem
vordefinierten Arbeitsfluss, wie es oben beschrieben ist. Diesbezüglich kann
das Dokument 200 in eine geeignete Warteschlange platziert
werden, die dem Arbeitsflussverarbeitungssystem 186 zugeordnet
ist, so dass zu einem späteren
Zeitpunkt auf das Dokument 200 zugegriffen werden kann.
Danach schreitet der Betrieb des Dokumentenindexierungsorchestrators 209 zu dem
Verbinder A fort, wie es gezeigt ist.
-
In
dem Kasten 329 bestimmt der Dokumentenindexierungsorchestrator 209,
ob bei dem Versuch, die gewünschten
Indizes von dem Dokument 200 zu extrahieren, mehr als eine
der Indexierungsentitäten 213 verwendet
wurde. Falls dies der Fall ist, dann schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 333 fort. Andernfalls schreitet der Dokumentenindexierungsorchestrator 209 zu dem
Kasten 336 fort.
-
Bei
dem Kasten 333 versucht der Dokumentenindexierungsorchestrator 209,
den erforderlichen Teilsatz von Indizes für die aktuelle Klassifizierung 236 von
den Sätzen
von Indizes zu extrahieren, die durch die mehreren Indexierungsentitäten 213 extrahiert
wurden. Das heißt,
selbst wenn eine Indexierungsentität 213 bei dem Versuch,
den erforderlichen Teilsatz von Indizes zu extrahieren, nicht erfolgreich war,
kann die Indexierungsentität 213 Erfolg
darin gehabt haben, einen geringeren oder „unvollständigen" Satz von Basisklassifizierungsindizes 276 zu
extrahieren. Obwohl jeder der Sätze
von Indizes, die durch die mehreren Indexierungsentitäten 213 extrahiert wurden,
auf einer individuellen Basis unangemessen ist, kann es somit möglich sein,
dieselben in einen zusammengesetzten Satz von Indizes zusammenzufassen,
der als erforderlicher Teilsatz von Indizes für die aktuelle Klassifizierung 236 geeignet
ist.
-
Diesbezüglich versucht
der Dokumentenindexierungsorchestrator 209, einen zusammengesetzten
Satz von Indizes von jedem der „unvollständigen" Sätze
von Indizes zu erhalten, die durch die Indexierungsentitäten 213 erzeugt
werden. Diesbezüglich
ist ein „zusammengesetzter" Satz von Indizes hierin definiert
als ein Satz von Indizes, die von den Extraktionsausgaben der mehreren
Indexierungsentitäten 213 erzeugt
wird. Diesbezüglich
werden die ausgewählten
Indizes, die durch verschiedene Indexierungsentitäten 213 extrahiert
werden, in den zusammengesetzten Satz von Indizes zusammengefasst.
Falls somit keine einzelne Indexierungsentität 213 in der Lage
ist, den erforderlichen Teilsatz von Indizes zu extrahieren, wie
er durch die Gesamtgruppe von Indizes in dem jeweiligen Hauptindex-Verzeichnis 253 spezifiziert
ist, dann versucht der Dokumentenindexierungsorchestrator 209,
die Indizes, die durch mehrere Indexierungsentitäten 213 extrahiert wurden,
zusammenzufassen, um den Teilsatz von Indizes zu kompilieren, der
erforderlich war, damit die Extraktion von Indizes erfolgreich ist.
-
Um
den zusammengesetzten Satz von Indizes von den Sätzen von Indizes zu erzeugen,
die durch jede der Indexierungsentitäten 213 erzeugt wurden,
können
verschiedene Lösungsansätze verwendet
werden. Diese Lösungsansätze umfassen die
Verwendung von Abstimmen, gewichtetem Abstimmen und die Verwendung
einer Konfusionsmatrix, wie es nachfolgend mit Bezugnahme auf 6B, 6C und 6D näher beschrieben
wird.
-
Falls
der zusammengesetzte Satz von Indizes in dem Kasten 333 erfolgreich
kompiliert wird, so dass der zusammengesetzte Satz von Indizes als
erforderlicher Teilsatz von Indizes für die jeweilige Klassifizierung 236 geeignet
ist, dann schreitet der Dokumentenindexierungsorchestrator 209 als
Nächstes
in dem Kasten 339 zu dem Kasten 326 fort, in dem
das Dokument 200 zusammen mit den extrahierten Indizes
an das jeweilige Arbeitsflussverarbeitungssystem 186 im
Kasten 326 angelegt wird. Falls der zusammengesetzte Satz
von Indizes jedoch nicht erfolgreich kompiliert werden konnte, wie
es in dem Kasten 339 bestimmt wurde, dann schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 336 fort.
-
In
dem Kasten 336 bestimmt der Dokumentenindexierungsorchestrator 209,
ob die letzte Indexierungsentität 213 verwendet
wurde, entweder seriell oder parallel, bei dem Versuch, die gewünschten Indizes
von dem Dokument 200 zu extrahieren. Diese Abfrage berücksichtigt
alle Beschränkungen,
die auf die Verwendung verschiedener verfügbarer Indexierungsentitäten 213 in
dem Kasten 306 auferlegt wurden, wie es oben beschrieben
ist. Falls Indexierungsentitäten 213 übrig bleiben,
die verwendet werden können,
schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 343 fort. Andernfalls schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 346 fort.
-
Angenommen,
der Dokumentenindexierungsorchestrator 209 ist zu dem Kasten 343 fortgeschritten,
dann wird die nächste
oder mehrere der nächsten
Indexierungsentitäten 213 bestimmt,
um bei einem Versuch verwendet zu werden, den gewünschten
Teilsatz von Indizes von dem Dokument 200 zu extrahieren.
Danach kehrt der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 313 zurück.
Angenommen, dass keine der Indexierungsentitäten 213 den erforderlichen
Teilsatz von Indizes von dem Dokument 200 erfolgreich extrahiert,
wurden diesbezüglich
mehrere Sätze
von Indizes durch mehrere der Indexierungsentitäten 213 erzeugt, bei ihren
Versuchen, dies zu tun. Obwohl keine der Indexierungsentitäten 213 in
der Lage ist, die gewünschten
Indizes von dem Dokument 200 zu extrahieren, kann der Dokumentenindexierungsorchestrator 209 folglich
immer noch versuchen, den zusammengesetzten Satz von Indizes von
denjenigen Indizes zu kompilieren, die die Indexierungsentitäten tatsächlich extrahieren
konnten, wie es oben beschrieben ist.
-
Angenommen,
dass der Dokumentenindexierungsorchestrator 209 zu dem
Kasten 346 fortschreitet, da die letzte Indexierungsentität 213 bei dem
Versuch verwendet wurde, die erforderlichen Indizes von dem Dokument 200 zu
extrahieren, dann legt der Dokumentenindexierungsorchestrator 209 in dem
Kasten 346 die Dokumente an die Korrekturindexierungsma schine 219 an,
bei einem Versuch, erneut den erforderlichen Teilsatz von Indizes
von dem Dokument 200 zu extrahieren. Diesbezüglich versucht
die Korrekturindexierungsmaschine 219, Korrekturen an dem
Dokument 200 durchzuführen,
auf der Basis der Indizes, die in dem Hauptindex-Verzeichnis 253 aufgelistet
sind. Genauer gesagt, das Dokument 200 wird nach erwarteten
Rechtschreibfehlern der Begriffe durchsucht, die in dem Hauptindex-Verzeichnis 253 für die jeweilige
Klassifizierung 236 enthalten sind. Der Betrieb der Korrekturindexierungsmaschine 219 (2)
ist mit Bezugnahme auf 7 beschrieben.
-
Danach
bestimmt der Dokumentenindexierungsorchestrator 209 in
dem Kasten 349, ob die Korrekturindexierungsmaschine 219 in
der Lage war, den erforderlichen Teilsatz von Indizes erfolgreich von
dem Dokument 200 zu extrahieren. Falls dies der Fall ist,
schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 326 fort, um das Dokument 200 an das
entsprechende Arbeitsflussverarbeitungssystem 186 anzulegen.
Andernfalls schreitet der Dokumentenindexierungsorchestrator 209 zu dem
Kasten 353 fort.
-
In
dem Kasten 353 bestimmt der Dokumentenindexierungsorchestrator 209,
ob das aktuelle Dokument 200 in jeder der verfügbaren Klassifizierungen 236 klassifiziert
wurde, bei den mehreren Versuchen, den erforderlichen Teilsatz von
Indizes von dem Dokument 200 für jede jeweilige Klassifizierung 236 zu
extrahieren. Die Indexextraktion wird relativ zu jeder der Klassifizierungen 236 auf
diese Weise durchgeführt,
da das Hauptindex-Verzeichnis 253 für jede Klassifizierung 236 variiert.
Somit versuchen die Indexierungsentitäten 213 für jede Klassifizierung 236,
einen anderen erforderlichen Teilsatz von Indizes von dem Dokument 200 zu
extrahieren. Falls bezüglich
jeder der Klassifizierungen 236 für das aktuelle Dokument 200 eine
Indexextraktion versucht wurde, dann schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 356 fort. Andernfalls bewegt sich der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 359.
-
In
dem Kasten 356 wird das Dokument 200 an eine manuelle
Indexierungswarteschlange angelegt, wo durch das manuelle Indexierungsmodul 226 auf
dasselbe zugegriffen wird, um eine manuelle Indexierung des Dokuments 200 durch
einen Benutzer zu ermöglichen,
da alle Versuche einer automatischen Indexierungsextraktion erfolglos
waren. Danach endet der Betrieb des Dokumentenindexierungsorchestrators 209 bezüglich des
aktuellen Dokuments 200.
-
Angenommen,
der Dokumentenindexierungsorchestrator 209 schreitet zu
Kasten 359 fort, dann legt der Dokumentenindexierungsorchestrator 209 jedoch
das Dokument 200 an eine oder mehrere der Neuklassifizierungsentitäten 223 an,
bei einem Versuch, eine genauere Klassifizierung des Dokuments 200 zu
erhalten. Dies liegt daran, dass angenommen wird, dass die vorhergehende
Klassifizierung des Dokuments 200 ungenau war, da die versuchte
Indexextraktion erfolglos war. Der Betrieb der einzelnen Neuklassifizierungsentitäten 223 wird
mit Bezugnahme auf 8A-8C beschrieben.
-
Falls
als Nächstes
in dem Kasten 363 die Neuklassifizierungsentitäten 223 in
der Lage waren, eine neue Klassifizierung 236 des Dokuments 200 zu identifizieren,
dann kehrt der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 303 zurück. Andernfalls
schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 366 fort, in dem die nächste aufgelistete Klassifizierung 236 von
der Klassenprioritätsliste
identifiziert wird, die durch den Klassifizierungsprädiktor 206 erzeugt
wird (2), wie es oben beschrieben ist. Danach kehrt
der Dokumentenindexierungsorchestrator 209 zurück zu dem Kasten 303,
um den Prozess bezüglich
der neu identifizierten Klassifizierung 236 erneut zu beginnen.
-
Mit
Bezugnahme auf 6B ist ein Flussdiagramm gezeigt,
das den Betrieb des Dokumentenindexierungsorchestrators 209 bezüglich des
Kastens 333 näher
darstellt, der hierin als Routine 333a bezeichnet ist.
Genauer gesagt, es wird ein Abstimmlösungsansatz beschrieben, um
einen zusammengesetzten Satz von Indizes von jedem der unvollständigen Sätze von
Indizes zu erhalten, die durch die jeweiligen Indexierungsentitäten 213 erzeugt
wurden. Beginnend mit dem Kasten 373 wird eine Gesamtzahl
von Malen bestimmt, die jeder Index 239 in allen unvollständigen Sätzen von
Indizes erscheint, die durch die jeweiligen Indexierungsentitäten 213 erzeugt
werden. Danach wählt
der Dokumentenindexierungsorchestrator 209 die Indizes
aus den Sätzen von
Indizes aus, die in dem zusammengesetzten Satz von Indizes aufgenommen
werden sollen, auf der Basis der Gesamtzahl von Malen, die jeder
der jeweiligen Indizes in den Sätzen
von Indizes erscheint, die durch die Indexierungsentitäten 213 erzeugt
werden. Diesbezüglich
wird eine einzehne Abstimmung für
jedes Mal, wenn ein bestimmter Index in den verschiedenen Sätzen von
Indizes erscheint, die durch die Indexierungsentitäten 213 erzeugt
werden, bewertet. Der zusammengesetzte Satz von Indizes wird dann
aufgebaut durch Aufnehmen von nur denjenigen Indizes, die die höchste Anzahl
von Abstimmungen haben oder die zumindest eine vordefinierte Anzahl
von Abstimmungen haben.
-
Es
wird beispielsweise angenommen, dass drei Sätze von Indizes durch drei
getrennte Entitäten 313 erzeugt
wurden. Es wird außerdem
angenommen, dass die minimale Anzahl von Abstimmungen, die für die Aufnahme
eines bestimmten Index in einen zusammengesetzten Satz von Indizes
als notwendig angesehen wird, zwei ist. Für jedes Mal, wenn irgendein
Index in einem der drei Sätze
von Indizes erscheint, die durch die jeweiligen Indexierungsentitäten 213 extrahiert
wurden, wird dem jeweiligen Index eine einzige Abstimmung zugerechnet.
Angenommen, dass ein bestimmter Index in allen drei der erzeugten
Sätze von
Indizes erscheint, dann würde
somit ein solcher Index in den zusammengesetzten Satz von Indizes aufgenommen. Gleichartig
dazu würde
jeder Index, der in jeweils zwei der Sätze von Indizes erscheint,
ebenfalls ausgewählt,
um in den zusammengesetzten Satz von Indizes aufgenommen zu werden.
Jeder Index, der in nur einem der Sätze von Indizes erscheint,
würde jedoch
nicht ausgewählt,
um in den zusammengesetzten Satz von Indizes aufgenommen zu werden,
da derselbe nicht genug Abstimmungen aufweist, um über dem
erforderlichen Schwellenwert zu liegen. Auf diese Weise wird Abstimmen
verwendet, um den zusammengesetzten Satz von Indizes zu erzeugen.
-
Mit
Bezugnahme auf 6C wird als Nächstes ein
Flussdiagramm gezeigt, das einen Gewichtungsabstimmlösungsansatz
zum Erzeugen des zusammengesetzten Satzes von Indizes näher darstellt,
wie es in dem Kasten 333 (6A) aufgeführt ist,
der hierin als Routine 333b bezeichnet wird. Diesbezüglich ist
der Gewichtungsabstimmlösungsansatz ähnlich zu
demjenigen, der mit Bezugnahme auf 6B beschrieben
ist, jede Abstimmung wird jedoch gemäß einem Gewicht gewichtet,
das jeder der Indexierungsentitäten 213 zugeordnet
ist, die verwendet werden, um ihren jeweiligen Satz von Indizes zu
extrahieren. Beginnend mit dem Kasten 383 assoziiert somit
der Dokumentenindexierungsorchestrator 209 eine Abstimmung
mit jedem Index in jedem der Sätze
von Indizes, die durch eine jeweilige der Indexierungsentitäten 213 erzeugt
wurden. Danach wird in dem Kasten 386 für jeden Index eine gewichtete Abstimmung
erzeugt, auf der Basis der Prozentkonfidenz 263 (4),
die den Indexierungsentitäten 213 für die jeweilige
Klasse zugeordnet ist, die die Indizes extrahiert hat.
-
Als
Nächstes
werden in dem Kasten 389 die gewichteten Abstimmungen für jeden
jeweiligen Index hinzugefügt,
um eine angesammelte oder gesamt gewichtete Abstimmung für jeden
Index zu erzeugen, der in den Sätzen
von Indizes erscheint, die durch die entsprechenden Indexierungsentitäten 213 erzeugt
werden. Danach werden die Indizes, die in dem zusammengesetzten
Satz von Indizes aufgenommen werden sollen, auf der Basis der gesamt
gewichteten Abstimmungen ausgewählt,
die jedem Index zugerechnet werden. Genauer gesagt, bei einem Ausführungsbeispiel
werden nur diejenigen Indizes in den zusammengesetzten Satz von
Indizes aufgenommen, deren zusammengesetzte oder gesamt gewichtete
Abstimmung größer ist
als ein vordefinierter Schwellenwert.
-
Mit
Bezugnahme auf 6D ist dann ein zusätzliches
Flussdiagramm gezeigt, das ferner einen weiteren Lösungsansatz
zum Bestimmen derjenigen Indizes beschreibt, die in einem zusammengesetzten Satz
von Indizes aufgenommen werden sollten, auf der Basis der Sätze von
Indizes, die durch die einzelnen Indexierungsentitäten 213 erzeugt
werden, wie es in dem Kasten 333 beschrieben ist (6A),
der hierin als Routine 333c bezeichnet ist.
-
Wie
es in 6D gezeigt ist, ist ein Lösungsansatz
gezeigt, der eine Konfusionsmatrix verwendet, um zu bestimmen, welche
der Indizes, die durch eine der jeweiligen Indexierungsentitäten 213 erzeugt
werden, in den zusammengesetzten Satz von Indizes aufgenommen werden
soll. Um dies näher
zu erklären,
ist, wie oben beschrieben, jeder der Indexierungsentitäten 213 für jede Klassifizierung 236 eine
Prozentkonfidenz 236 zugewiesen (4), dass
die Indexierungsentität 213 selbst
diesen erforderlichen Teilsatz von Indizes von einem bestimmten Dokument 200 extrahieren
wird. Außerdem
können die
Indexierungsentitäten 213 die
Fähigkeit
umfassen, jedem Index, den dieselben von einem jeweiligen Dokument 200 extrahieren,
eine Prozentkonfidenz zuzuweisen, wobei die Prozentkonfidenz, die jedem
Index zugewiesen ist, die Wahrscheinlichkeit anzeigt, dass der Index
selbst in der Tat einer der Basisklassifizierungsindizes 276 ist,
wie es in dem jeweiligen Hauptindex-Verzeichnis 253 der
aktuellen Klassifizierung 236 beschrieben ist. Die Prozentkonfidenz,
die jeder Indexierungsentität 213 zugeordnet ist,
wie es in den jeweiligen Klassenindexierungsstatistiken 246 beschrieben
ist, wird hierin als die „Entitätskonfidenz" bezeichnet. Die
Prozentkonfidenz, die einzelnen Indizes durch ihre jeweiligen extrahierenden
Indexierungsentitäten 213 zugewiesen
ist, wird hierin als die „Indexkonfidenz" bezeichnet.
-
Somit
wird in dem Kasten 396 ein Konfidenzergebnis für jeden
Index berechnet, wo das Konfidenzergebnis = (Entitätskonfidenz)
(Indexkonfidenz) ist. Danach werden in dem Kasten 399 ausgewählte Indizes,
die in jedem Satz von Indizes erscheinen, der durch die jeweiligen
Indexierungsentitäten 213 erzeugt
wird, in den zusammengesetzten Satz von Indizes aufgenommen, auf
der Basis des Konfidenzergebnisses für jeden Index. Beispielsweise
können nur
diejenigen Indizes ausgewählt
werden, die ein Konfidenzergebnis umfassen, das größer ist
als ein vordefinierter Schwellenwert. Alternativ kann nur eine vordefinierte
Anzahl von Indizes ausgewählt werden,
die die höchsten
Konfidenzergebnisse aufweist.
-
Mit
Bezugnahme auf 6E ist ein Flussdiagramm gezeigt,
das den Betrieb des Dokumentenindexierungsorchestrators 209 näher darstellt,
mit Bezugnahme auf Block 306 (6A) beim
Anlegen verschiedener Beschränkungen
auf den potentiellen Pool von Indexierungsentitäten 213, die verwendet werden
können,
um den erforderlichen Teilsatz von Indizes von dem Dokument 170 zu
extrahieren (2), das gemäß einer bestimmten Klassifizierung 236 (3)
klassifiziert wurde. Genauer gesagt, wie es in 6E beschrieben
ist, legt der Dokumentenindexierungsorchestrator 209 verschiedene
Beschränkungen
auf die Verwendung identifizierter Indexierungsentitäten 213 an,
auf der Basis von Kriterien, die durch einen Benutzer spezifiziert
werden. Diesbezüglich
kann das automatische Dokumentenindexierungssystem 136 (2)
geeignete Benutzerschnittstellen erzeugen, die das Eingeben von
Beschränkungen
ermöglichen,
die verwendet werden, um den Pool von Indexierungsentitäten 213 zu
beschränken,
die verwendet werden, um Indizes von einem bestimmten Dokument 200 zu
extrahieren. Alternativ können
die Beschränkungen
gemäß einem oder
mehreren Algorithmen, die in dem Dokumentenindexierungsserver 106 (1)
ausgeführt
werden, usw., automatisch bestimmt werden.
-
Beginnend
mit dem Kasten 405 bestimmt der Dokumentenindexierungsorchestrator 209,
ob eine aktive Beschränkung
besteht, wie sie durch einen Benutzer für das Beschränken des
Betriebs der verschiedenen Indexierungsentitäten 213 eingegeben wurde.
Eine solche Beschränkung
kann beispielsweise das Verhindern der Verwendung irgendeiner Indexierungsentität 213 für Indexextraktion
umfassen, die bestimmte Kosten oder Zeitbeschränkungen überschreitet, usw. Alternativ
kann ein Benutzer spezifizieren, dass verschiedene Indexierungsentitäten 213 gemäß einer
vordefinierten Reihenfolge verwendet werden sollen. Beispielsweise
kann ein Benutzer erfordern, dass bestimmten Indexierungsentitäten 213, denen
kaum oder keine Kosten zugeordnet sind, vor Indexierungsentitäten verwendet
werden sollen, deren Verwendung Kosten verursacht, usw. Außerdem kann
ein Benutzer vorgeben, dass bestimmte Indexierungsentitäten 213 von
Zeit zu Zeit überhaupt nicht
verwendet werden.
-
Falls
somit in dem Kasten 403 eine aktive Beschränkung existiert,
schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 406 fort, indem bestimmt wird, ob ein Benutzer
bestimmt hat, dass bestimmte Indexierungsentitäten 213 nicht verwendet
werden sollen, um Indizes von einem bestimmten Dokument 200 zu
extrahieren. Solche Indexierungsentitäten 213 müssen von
dem Pool von Indexierungsentitäten 213 eliminiert
werden, die in dem Kasten 303 (6A) für die Berücksichtigung bei
der Verwendung zum Extrahieren von Indizes von dem Dokument 200 identifiziert
sind. Angenommen, dass in dem Kasten 406 Indexierungsentitäten entfernt
werden sollen, schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 409 fort. Andernfalls schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 413 fort. In dem Kasten 409 werden
die jeweiligen Indexierungsentitäten 213 von
dem Pool von möglichen
Indexierungsentitäten 213 entfernt,
die verwendet werden sollen, um Indizes von dem Dokument 200 zu
extrahieren. Danach schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 413 fort.
-
In
dem Kasten 413 bestimmt der Dokumentenindexierungsorchestrator 209,
ob die Liste, die den Pool von Indexierungsentitäten 213 umfasst, die verwendet
werden sollen, um Indizes von dem Dokument 200 zu extrahieren,
gemäß einer
vordefinierten Priorität
neu geordnet werden soll. Dies kann beispielsweise der Fall sein,
falls der Benutzer spezifiziert, dass bestimmte Indexierungsentitäten 213 als letztes
oder zumindest nach anderen Indexierungsentitäten 213 verwendet
werden sollen, die geringere Verwendungskosten oder eine kürzere Verarbeitungszeit
umfassen. Angenommen, dass die Liste von Indexierungsentitäten 213 auf
eine gewisse Weise neu geordnet werden soll, dann schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 416 fort. Andernfalls schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 419 fort. Bei 416 wird die Reihenfolge
der Ausführung
der Indexierungsentitäten 213 gemäß den spezifizierten Beschränkungen
neu geordnet. Danach schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 419 fort. Die Reihenfolge, die auf die Verwendung
der Indexierungsentitäten 213 auferlegt
ist, bestimmt, welche der Indexierungsentitäten 213 für den Betrieb
in den Kästen 309 und 343 bestimmt
ist (6A), wie es offensichtlich ist.
-
In
dem Kasten 419 bestimmt der Dokumentenindexierungsorchestrator 209,
ob ein Benutzer eine bestimmte Zeitbeschränkung spezifiziert hat, die durch
jede der Indexierungsentitäten 213 in
dem Verlauf ihrer Extraktion der Indizes von dem jeweiligen Dokument 200 eingehalten
werden muss. Genauer gesagt, die Zeitbeschränkung kann eine maximale Zeitdauer
spezifizieren, innerhalb der jede Indexierungsentität 213 den
Betrieb der Extraktion der Indizes pro Seite abschließen muss,
usw. Falls in dem Kasten 419 eine Zeitbeschränkung spezifiziert
wurde, dann schreitet der Do kumentenindexierungsorchestrator 209 zu
dem Kasten 423 fort. Andernfalls schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 426 fort.
-
In
dem Kasten 423 bestimmt der Dokumentenindexierungsorchestrator 209,
ob es eine Verletzung einer bestimmten Zeitbegrenzung gibt, die
für irgendeine
der Indexierungsentitäten 213 spezifiziert ist.
Falls nicht, schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 426 fort. Falls jedoch in dem Kasten 423 eine
Zeitverletzung erfasst wird, dann schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 429 fort, indem bezüglich der Indexierungsentität 213,
für die
die Verletzung auftritt, eine Korrekturaktion durchgeführt wird. Genauer
gesagt, die jeweilige Indexierungsentität 213 kann von den
möglichen
Indexierungsentitäten 213 entfernt
werden, die für
Indexextraktion verwendet werden sollen, oder die Priorität der Indexierungsentitäten 213,
die für
Indexextraktion bestimmt ist, kann verschoben oder neu geordnet
werden, usw. Sobald die Korrekturaktion in dem Kasten 429 durchgeführt ist,
schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 426 fort.
-
In
dem Kasten 426 bestimmt der Dokumentenindexierungsorchestrator 209,
ob bezüglich
jeder der Indexierungsentitäten 213 eine
Kostenbeschränkung
besteht. Falls dies der Fall ist, schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 433 fort. Andernfalls endet der Dokumentenindexierungsorchestrator 209,
wie es gezeigt ist. Angenommen, in dem Kasten 423 besteht
eine Kostenbeschränkung,
dann bestimmt der Dokumentenindexierungsorchestrator 209 in
dem Kasten 433, ob die Betriebszeit von irgendeiner der
Indexierungsentitäten 213,
die für
Indexextraktion ausgewählt
sind, die Kostenbeschränkung
verletzt. Falls dies der Fall ist, schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 436 fort. Andernfalls endet diese Routine des
Dokumentenindexierungsorchestrators 209. In dem Kasten 436 führt der
Dokumentenindexierungsorchestrator 209 eine Kor rekturaktion
bezüglich
der Indexierungsentitäten 213 durch,
für die eine
Kostenbeschränkung
verletzt wird. Genauer gesagt, solche Indexierungsentitäten können von
dem Betrieb entfernt werden oder die Bestimmungsreihenfolge der
verschiedenen Indexierungsentitäten 213 kann
bezüglich
der Indexextraktion entsprechend neu geordnet werden, wo Indexierungsentitäten mit
höheren
Kosten an die Bestimmung mit niedrigster Priorität platziert werden. Danach
endet diese Routine des Dokumentenindexierungsorchestrators 209.
-
Mit
Bezug auf 6F ist ein Flussdiagramm gezeigt,
das einen Teil der Operation des Dokumentenindexierungsorchestrators 209 darstellt,
das sich von dem Verbinder A fortsetzt (6A). Beginnend mit
dem Kasten 453 bestimmt der Dokumentenindexierungsorchestrator 209,
ob der Arbeitsfluss des jeweiligen Arbeitsflussverarbeitungssystems 186 erfolgreich
ausgeführt
wurde, in Anbetracht der Indizes, die von dem Dokument 200 extrahiert
wurden. Diese Bestimmung wird auf der Basis einer Erfolgs- oder
Misserfolgsanzeige durchgeführt,
die durch das Arbeitsflussverarbeitungssystem 186 bezüglich des Dokuments 200 geliefert
wird.
-
Beispielsweise
kann das Arbeitsflussverarbeitungssystem 186 ausgeführt werden,
um zu bestimmen, ob ein Kreditantrag bewilligt oder abgelehnt wurde.
Das Arbeitsflussverarbeitungssystem 186 bearbeitet die
extrahierten Indizes, die dem bestimmten Dokument 200 von
dem automatischen Dokumentenindexierungssystem 136 zugewiesen
sind (2), um die Bestimmung durchzuführen, ob der Kreditantrag bewilligt
wird. Diesbezüglich
können
die extrahierten Indizes beispielsweise den Namen des Antragstellers,
das jährliche
Einkommen des Antragstellers und andere angemessene Informationen
umfassen. Falls in der Tat die Indizes, die benötigt werden, um den Arbeitsfluss
des spezifizierten Arbeitsflussverarbeitungssystems 186 durchzuführen, nicht extrahiert
wurden, ist es unwahrscheinlich, dass der Arbeitsfluss erfolgreich
ausführt.
-
Falls
der Dokumentenindexierungsorchestrator 209 bestimmt, dass
der Arbeitsflussprozess in dem Kasten 453 nicht erfolgreich
war, schreitet der Dokumentenindexierungsorchestrator 209 zurück zu dem
Kasten 353 (6A) durch den Verbinder B. Falls
der Arbeitsfluss erfolgreich ausgeführt wurde, schreitet der Dokumentenindexierungsorchestrator 209 zu
dem Kasten 456 fort.
-
In
dem Kasten 456 speichert der Dokumentenindexierungsorchestrator 209 das
Dokument 200 als ein Grundwahrheitsdokument 233 in
der Datenbank 139 (3). Genauer
gesagt, das Dokument 200 wird als Grundwahrheitsdokument 233 unter
der geeigneten Klassifizierung 236 gespeichert, die spezifiziert
wurde, um die Indizes 239 ordnungsgemäß von dem Dokument 200 zu
extrahieren. Beim Speichern des Dokuments 200 als eines
der Grundwahrheitsdokumente 233 werden die extrahierten
Indizes 239 ebenfalls in Zuordnung zu demselben gespeichert.
Außerdem
werden alle Kontextinformationen 243 in Zuordnung zu dem
Grundwahrheitsdokument 233 gespeichert. Als Nächstes wird
in dem Kasten 456 die Prozentkonfidenz 263 von
jeder der Indexierungsentitäten 213 für die jeweilige
Klassifizierung 246 aktualisiert, hinsichtlich der Erfolge
und/oder Nichterfolge der Indexierungsentitäten 213, um die Indizes
entweder einzeln oder zusammen ordnungsgemäß von dem Dokument 200 zu
extrahieren, usw. Danach endet der Dokumentenindexierungsorchestrator 209.
-
Durch
Speichern eines Dokuments 200, das durch ein Arbeitsflussverarbeitungssystem 186 erfolgreich
als ein Grundwahrheitsdokument verarbeitet wurde, nimmt das automatische
Dokumentenindexierungssystem 136 somit einen automatischen Rückkopplungsmechanismus
auf, der die Leistungsfähigkeit
im Verlauf der Zeit verbessert. Genauer gesagt, während der
Pool von Grundwahrheitsdokumenten wächst, gibt es mehr Dokumente
für den
Vergleich mit neu gescannten Dokumenten, wie er durch hierin beschriebene
verschiedene Routinen durchgeführt
wird.
-
Bezüglich 6G ist
ein Flussdiagramm gezeigt, das ein Beispiel des manuellen Indexierungsmoduls 226 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung zeigt. Das manuelle Indexierungsmodul 226 wird
ausgeführt,
um eine manuelle Indexextraktion bezüglich eines Dokuments 200 zu ermöglichen,
für das
die automatische Indexextraktion versagt hat. Beginnend mit dem
Kasten 473 benachrichtigt das manuelle Indexierungsmodul 226 einen
Benutzer über
das Versagen, ein gescanntes Dokument 200 durch das automatische
Dokumentenindexierungssystem 136 automatisch zu indexieren.
Diese Warnung kann in der Form einer Email-Mitteilung oder einer
anderen Warnung durchgeführt
werden, die an den Client 113 gesendet wird, der wahrscheinlich
durch den Benutzer betrieben wird. Bei einem Ausführungsbeispiel
kann die Mitteilung eine Verbindung zu einer Benutzerschnittstelle für eine manuelle
Korrektur umfassen, wobei die Benutzerschnittstelle beispielsweise
eine Webseite oder eine andere Art von graphischer Netzwerkschnittstelle
umfasst, die einem Client 113 durch den Netzwerkserver 143 (1)
des Dokumentenindexierungsservers 106 (1)
angeboten wird (1). Der Benutzer kann auf die
Verbindung „klicken", um die automatische
Ausführung
des Browsers 166 zu bewirken, der eine Anforderung für die Benutzerschnittstelle
an den Netzwerkserver 143 erzeugt und überträgt, wobei die Verbindung die
Stelle der Benutzerschnittstelle auf dem Netzwerk 109 spezifiziert.
-
Die
Benutzerschnittstelle, die erhalten wird, liefert eine manuelle
Indexextraktion, wie es beschrieben wird. Angenommen, die Warnung
wird an den Benutzer geliefert, dann wartet das manuelle Indexierungsmodul 226 in
dem Kasten 476, bis ein Benutzer versucht, auf die spezifische
Benutzerschnittstelle zuzugreifen, durch Auswählen der Verbindung in der
entsprechenden Email-Mitteilung, usw. Angenommen, der Client hat
die Benutzerschnittstelle in dem Kasten 476 angefordert,
dann erzeugt und überträgt das manuelle
Indexierungsmodul 226 in dem Kasten 479 die Benutzerschnitt stelle
durch den Netzwerkserver 143 (1) an den
bestimmten Client 113, der die Anforderung erzeugt hat.
-
Die
Benutzerschnittstelle ermöglicht
eine Benutzerspezifikation der Dokumentenindizes 239 (3)
und eine geeignete Klassifizierung 236 (3)
für das
Dokument 200. Genauer gesagt, die Benutzerschnittstelle
kann es einem Benutzer ermöglichen,
verschiedene Abschnitte des Dokuments zu markieren, die Indexinformation
umfassen, und/oder die Möglichkeit
bieten, solche Informationen auf einer Tastatur usw. einzugeben.
-
In
dem Kasten 483 wartet das manuelle Indexierungsmodul 226 darauf,
eine Antwort von dem Client 113 zu empfangen, die die Benutzerspezifikation
der Indizes 239 in dem Dokument 200 umfasst. In
dem Kasten 486 wird das Dokument 200 in der Datenbank 139 als
eines der Grundwahrheitsdokumente 233 gespeichert, wie
es oben beschrieben ist. Außerdem
werden die Indizes 239, die manuell extrahiert wurden,
in Zuordnung zu dem Grundwahrheitsdokument 233 in der Datenbank 139 gespeichert. Das
Dokument 200 und die Indizes 239 werden unter der
entsprechenden Klassifizierung 236 in der Datenbank 139 gespeichert.
-
Danach
werden in dem Kasten 489 die Prozentkonfidenzen 263,
die den jeweiligen Indexierungsentitäten 213 zugeordnet
sind, die eine Indexextraktion für
das aktuelle Dokument 200 versuchten, in den jeweiligen
Klassenindexierungsstatistiken 246 aktualisiert für die jeweilige
Klassifizierung 236, die manuell identifiziert wurde. Diesbezüglich werden alle
Prozentkonfidenzen 263 aktualisiert, um das Versagen auf
Seiten jeder der entsprechenden Indexierungsentitäten 213 zu
reflektieren, den erforderlichen Teilsatz von Indizes bezüglich der
manuell identifizierten Klassifizierung 236 ordnungsgemäß zu extrahieren.
-
Es
ist klar, dass das Flussdiagramm von 6G ein
Beispiel liefert, wie eine manuelle Indexextraktion durchge führt werden
kann. Alternativ kann eine manuelle Indexextraktion über andere
Lösungsansätze erreicht
werden, wie es offensichtlich ist.
-
Mit
Bezugnahme auf 7 ist ein Flussdiagramm der
Korrekturindexierungsmaschine 219 gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Die Korrekturindexierungsmaschine 219 wird
durch den Dokumentenindexierungsorchestrator 209 ausgeführt, auf
ein Versagen der Indexierungsentitäten 213 hin, entweder
einzeln oder zusammen den erforderlichen Teilsatz von Indizes von dem
Dokument 200 für
die aktuelle Klassifizierung 236 zu extrahieren. Diesbezüglich hat
nicht nur jede einzelne Indexierungsentität 213 dabei versagt,
den erforderlichen Teilsatz von Indizes zu extrahieren, sondern
auch der Dokumentenindexierungsorchestrator 209 war nicht
in der Lage, den zusammengesetzten Satz von Indizes von den Indizes
zu erzeugen, die durch die Indexierungsentitäten 213 extrahiert
wurden. Angesichts dieses Versagens legt der Dokumentenindexierungsorchestrator 209 das
Dokument 200 an die Korrekturindexierungsmaschine 219 an,
bei einem Versuch, jegliche Texterkennungsfehler zu erfassen und
zu korrigieren, durch Durchsuchen des Dokuments 200 nach
erwarteten Rechtschreibfehlern im Zusammenhang mit jeder der Basisklassifizierungsindizes 276 (5)
in dem Hauptindex-Verzeichnis 253 der jeweiligen Klassifizierung 236.
-
Beginnend
mit dem Kasten 503 versucht die Korrekturindexierungsmaschine 219 jegliche
Texterkennungsfehler zu finden, durch Suchen nach erwarteten Rechtschreibfehlern
im Zusammenhang mit jedem der Basisklassifizierungsindizes 276,
die durch die Indexierungsentitäten 213 nicht
von dem aktuellen Dokument 200 extrahiert wurden. Die Texterkennungsfehler
umfassen die erwarteten Rechtschreibfehler, die typischerweise während der
Verwendung der optischen Zeichenerkennung auftreten, nachdem das
Dokument 200 gescannt wurde, wie es oben beschrieben ist.
Solche Fehler umfassen typischerweise Glyphenfehler oder andere
Fehler, die häufig
bei Texterken nungssystemen auftreten, wie es für Durchschnittsfachleute auf
diesem Gebiet klar ist. Beispielsweise kann das Wort „Client" als „Chent" erkannt werden (und
daher falsch buchstabiert). Außerdem
können
die Rechtschreibfehler Sprachverarbeitungsfehler sein, wo das Wort „Client" als das Wort „Pliant" erkannt wird, usw.
Die erwarteten Rechtschreibfehler werden durch einen Systemadministrator
vordefiniert und beispielsweise in dem Hauptindex-Verzeichnis 253 der
jeweiligen Klassifizierung 236 gespeichert.
-
Als
Nächstes
wird in dem Kasten 506 das aktuelle Dokument 200 nach
Texterkennungsfehlern durchsucht, durch Suchen nach den erwarteten Rechtschreibfehlern.
Falls in dem Kasten 509 die Korrekturindexierungsmaschine 219 einen
der potentiellen Rechtschreibfehler findet, schreitet die Korrekturindexierungsmaschine 219 zu
dem Kasten 513 fort. Andernfalls schreitet die Korrekturindexierungsmaschine 219 zu
dem Kasten 516 fort. Angenommen, dass in dem Kasten 509 erwartete
Rechtschreibfehler identifiziert wurden, dann führt die Korrekturindexierungsmaschine 219 in
dem Kasten 513 Korrekturen an dem Dokument 200 durch
und macht einen nachfolgenden Versuch, den erforderlichen Teilsatz
von Indizes einschließlich
den Indizes zu extrahieren, die nun aufgrund der Korrekturen erkennbar
sind, die an dem Dokument 200 durchgeführt wurden. Danach schreitet
die Korrekturindexierungsmaschine 219 zu dem Kasten 516 fort.
In dem Kasten 516 sendet die Korrekturindexierungsmaschine 219 die
Ergebnisse an den Dokumentenindexierungsorchestrator 209 zurück, der
dann reagiert, um zu bestimmen, ob die Extraktion von Indizes zu
dem erforderlichen Teilsatz von Indizes geführt hat. Danach endet der Betrieb
der Korrekturindexierungsmaschine 219 bezüglich des
aktuellen Dokuments 200.
-
Mit
Bezugnahme auf 8A ist ein Flussdiagramm gezeigt,
das ein Beispiel einer Neuklassifizierungsentität 223 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung zeigt. Die Neuklassifizierungsentität 223 ist
eine von vielen Neuklassifizierungsentitäten 223, die verwendet
werden, um das Dokument 200 neu zu klassifizieren auf einen Ausfall
der Korrekturindexierungsentität 223 hin,
um den erforderlichen Teilsatz von Indizes zu extrahieren. Die Neuklassifizierungsentität 223,
die in 8A dargestellt ist, verwendet
ein muttersprachliches Wörterbuch,
das der Muttersprache zugeordnet ist, die in dem Dokument 200 dargestellt
ist, um mutmaßliche
Indizes zu erhalten, die verwendet werden, um die Indizes 239 von
Grundwahrheitsdokumenten in der Datenbank 139 zu durchsuchen
(3), um eine Übereinstimmung
zwischen denselben zu finden. Die Klassifizierung 236 von
jedem Grundwahrheitsdokument 233, das Indizes 239 aufweist,
die mit den mutmaßlichen
Indizes übereinstimmen,
wird als eine mögliche
Klassifizierung des Dokuments 200 angenommen.
-
Beginnend
mit dem Kasten 523 bestimmt die Neuklassifizierungsentität 223 zuerst
die Sprache des Dokuments 200. Diesbezüglich können viele unterschiedliche
Algorithmen verwendet werden, um die Sprache des Dokuments zu bestimmen,
wie es für
Durchschnittsfachleute auf diesem Gebiet klar ist. Folglich werden
solche Algorithmen hierin nicht näher erörtert.
-
Sobald
die Sprache des Dokuments 200 in dem Kasten 523 bestimmt
ist, wird in dem Kasten 526 jedes Wort, das in dem Dokument 200 erscheint, einer
Anzahl von vordefinierten Gruppen zugewiesen, die auf der Basis
von Charakteristika der Sprache erzeugt werden, die in dem Muttersprachenwörterbuch
dargestellt sind. Diesbezüglich
wird jeder Begriff in dem Dokument gemäß den Gruppen organisiert.
Beispielsweise können
solche Gruppen Wörter umfassen,
die groß geschrieben
sind, die nicht in dem Wörterbuch
erscheinen, Wörter,
die nicht groß geschrieben
sind, die nicht in dem Wörterbuch
erscheinen, Wörter,
die groß geschrieben
sind und in dem Wörterbuch
erscheinen, und Wörter,
die nicht groß geschrieben
sind und in dem Wörterbuch
erscheinen.
-
Die
bestimmten Gruppierungen sind durch einen Benutzer auf der Basis
bekannter Informationen über
die Muttersprache vordefiniert. Beispielsweise reflektiert das oben
zitierte Beispiel, bei dem Großbuchstaben,
die nicht in einem Wörterbuch
erscheinen, in einer spezifischen Gruppe gebildet sind, die Tatsache,
dass solche Wörter
typischerweise Namen von Einzelpersonen umfassen können, die
von Interesse sein können,
und die in vorhergehenden Dokumenten erschienen sein können, die
als Grundwahrheitsdokumente 233 gespeichert sind (3). Gleichartig
dazu können
Wörter,
die nicht groß geschrieben
sind, aber in dem Wörterbuch
erscheinen, einmalige Wörter
reflektieren, die dem Gegenstand des Dokuments zugeordnet sind,
die von Interesse sind.
-
Jeder
der Gruppen, die spezifiziert ist, ist eine vordefinierte Priorität zugewiesen.
Beispielsweise kann Wörtern,
die in Großbuchstaben
stehen und nicht in dem Wörterbuch
stehen, eine hohe Priorität zugewiesen
werden, da solche Wörter
von einmaliger Bedeutung sein können,
während
Wörter
in Kleinbuchstaben, die in dem Wörterbuch
stehen, von geringerer Bedeutung sein können. Als Nächstes werden in dem Kasten 529 die
Wörter,
die in den verschiedenen Gruppierungen platziert wurden, verwendet,
um die Indizes 239, die den Grundwahrheitsdokumenten 233 zugeordnet
sind (3), nach Übereinstimmungen
zwischen denselben zu durchsuchen. Diesbezüglich werden die gesuchten
Begriffe gemäß einer
Priorität
gesucht, die den Gruppierungen zugeordnet ist, die in dem Kasten 526 identifiziert sind.
Somit können
die Gruppen als Suchprioritätsgruppen
betrachtet werden. Die Priorität
von Begriffen, die in jeder Gruppierung gesucht werden, können beispielsweise
zufällig
bestimmt werden oder auf der Basis eines Satzes von Kriterien, usw.
Die Begriffe, die zum Suchen verwendet werden, können als „mutmaßliche Indizes" betrachtet werden.
-
Danach
identifiziert die Neuklassifizierungsentität 223 in dem Kasten 533 alle
Klassen, die Grundwahrheitsdokumente 233 mit Indizes 239 aufweisen
und zeichnet dieselben auf, die mit den mutmaßlichen Indizes übereinstimmen,
die oben in dem Kasten 529 gesucht wurden. Danach liefert
die Neu klassifizierungsentität 223 die
Ergebnisse an den Dokumentenindexierungsorchestrator 209,
der dann eine Entscheidung trifft, wie das Dokument 200 neu zu
klassifizieren ist bezüglich
der Ausrichtung des Dokuments 200 mit entsprechenden Klassifizierungen
auf der Basis der Ergebnisse der Neuklassifizierungsentität 223.
Danach endet die Neuklassifizierungsentität 223.
-
Mit
Bezugnahme auf 8B ist ein weiteres Beispiel
der Neuklassifizierungsentitäten 223 gezeigt,
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Die in 8B beschriebene
Neuklassifizierungsentität 223 verwendet
ein Relative-Häufigkeit-Verzeichnis,
um dabei zu helfen, eine ordnungsgemäße Klassifizierung für das Dokument 200 zu
identifizieren, wie es nachfolgend beschrieben wird. Beginnend mit
dem Kasten 543 wird zuerst die relative Häufigkeit
jedes Begriffs identifiziert, der in dem Dokument 200 auftritt.
Danach wird in dem Kasten 546 ein Maß berechnet, das die Häufigkeit des
Begriffs reflektiert, die in 543 bestimmt wird, geteilt
durch das Inverse der relativen Häufigkeit des Begriffs in dem
Relative-Häufigkeit-Verzeichnis. Diesbezüglich wird
die allgemeine relative Häufigkeit des
Auftretens jedes Worts in einem allgemeinen Sprachsinn berechnet
und gespeichert, beispielsweise in dem geeigneten Hauptindex-Verzeichnis 253.
-
Danach
werden in dem Kasten 549 eine Anzahl von mutmaßlichen
Indizes identifiziert und gemäß einer
vordefinierten Priorität
angeordnet. Beispielsweise werden die mutmaßlichen Indizes identifiziert
als diejenigen Indizes, die das höchste Maß, das in dem Kasten 546 berechnet
wurde, über
einem vordefinierten Schwellenwert aufweisen. Alternativ wird eine
vordefinierte Anzahl von Indizes von denjenigen ausgewählt, die
als das höchste
Maß aufweisend
identifiziert wurde, die im Kasten 546 berechnet wurde.
Die mutmaßlichen
Indizes werden gemäß der Größe des Maßes, das
in dem Kasten 546 für
jeden Begriff berechnet wurde, angeordnet.
-
Danach
werden in dem Kasten 553 die Indizes 239, die
den Grundwahrheitsdokumenten 233 zugeordnet sind, durchsucht,
um darin die mutmaßlichen
Indizes zu finden, die in dem Kasten 549 identifiziert
wurden. Schließlich
wird in dem Kasten 556 jede Klassifizierung 236,
die jedem der Grundwahrheitsdokumente 233 zugeordnet ist,
die Indizes 239 aufweisen, die mit den in dem Kasten 549 identifizierten
mutmaßlichen
Indizes übereinstimmen,
aufgezeichnet. Danach liefert die Neuklassifizierungsentität 223 die
Ergebnisse an den Dokumentenindexierungsorchestrator 209,
um das Dokument 200 für weitere
Versuche zur Indexextraktion neu zu klassifizieren, wie es oben
beschrieben ist.
-
Mit
Bezugnahme auf 8C ist ein weiteres Beispiel
der Neuklassifizierungsentitäten 223 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Die Neuklassifizierungsentität 223 von 8C wird
ausgeführt,
um die Grundwahrheitsdokumente 233 zu identifizieren, die
ein Strukturlayout umfassen, das mit dem Strukturlayout des aktuellen Dokuments 200 übereinstimmt.
Auf der Basis der Übereinstimmung
zwischen solchen Grundwahrheitsdokumenten 233 und dem Dokument 200 kann die
Klassifizierung 236 des übereinstimmenden Grundwahrheitsdokuments 233 als
die Klassifizierung 236 des Dokuments 200 genommen
werden, wie es nachfolgend beschrieben wird.
-
Beginnend
mit dem Kasten 563 identifiziert die Neuklassifizierungsentität 223 ein
repräsentatives
Grundwahrheitsdokument 233 zum Durchführen einer strukturellen Übereinstimmung
mit dem aktuellen Dokument 200. Solche darstellenden Grundwahrheitsdokumente 233 können beispielsweise
durch einen Systemadministrator bestimmt werden. Alternativ können alle
der Grundwahrheitsdokumente 233 durchsucht werden. Danach
wird in dem Kasten 566 jeder Dokumentenschräglauf, der
in dem Grundwahrheitsdokument 233 entdeckt wird, das in
dem Kasten 563 identifiziert wurde, korrigiert. Außerdem wird
jeder neue Schräglauf,
der in dem Dokument 200 erfasst wird, ebenfalls korrigiert.
-
Als
Nächstes
werden in dem Kasten 569 sowohl das darstellende Grundwahrheitsdokument 233 als
auch das Dokument 200 für
eine übereinstimmende
Struktur analysiert. Dies kann beispielsweise durchgeführt werden
durch Subtrahieren des Strukturinhalts von einem der Dokumente von
dem anderen auf einer Pixel-um-Pixel-Basis zum Bestimmen, wie viel
Inhalt verbleibt. Falls nach der Subtraktion relativ wenig Inhalt
verbleibt, können
die Dokumente als Übereinstimmung
angesehen werden. Falls in dem Kasten 573 eine Übereinstimmung
erfasst wird, schreitet die Neuklassifizierungsentität 223 zu
dem Kasten 576 fort. Andernfalls schreitet die Neuklassifizierungsentität 223 zu
dem Kasten 579 fort. In dem Kasten 576 wird die
Klasse des übereinstimmenden Grundwahrheitsdokuments
für eine
zukünftige
Verwendung aufgezeichnet.
-
Danach
wird in dem Kasten 579 bestimmt, ob das letzte darstellende
Grundwahrheitsdokument 233 mit dem aktuellen Dokument 200 verglichen
wurde, wie es oben beschrieben ist. Falls nicht, schreitet die Neuklassifizierungsentität 223 zu
dem Kasten 583 fort, indem das nächste darstellende Grundwahrheitsdokument
für Strukturübereinstimmung
bestimmt wird. Danach kehrt die Neuklassifizierungsentität 223 zu
dem Kasten 566 zurück.
Diesbezüglich liefert
die Neuklassifizierungsentität 223 die
Ergebnisse derjenigen Klassen, die Dokumente umfassen, die mit dem
Strukturformat des Dokuments 200 übereinstimmen, an den Dokumentenindexierungsorchestrator 209.
-
Danach
wird der Dokumentenindexierungsorchestrator 209 das Dokument 200 neu
klassifizieren auf der Basis der Informationen von einer oder mehreren
Neuklassifizierungsentitäten 223.
Diesbezüglich
kann der Dokumentenindexierungsorchestrator 209 einen Abstimmungs-,
einen Gewichtete-Abstimmungs-
oder einen Konfusionsmatrix-Lösungsansatz
verwenden, um die Ergebnisse von mehreren Neuklassifizierungsentitäten 223,
falls notwendig, zu kombinieren, um die op timale Klassifizierung 236 zu identifizieren,
für die
das Dokument 200 neu klassifiziert werden sollte.
-
Obwohl
das automatische Dokumentenindexierungssystem 136 in Software
oder Code enthalten ist, der durch Universalhardware ausgeführt wird,
wie es oben erörtert
wird, kann derselbe als eine Alternative auch in zweckgebundener
Hardware oder einer Kombination von Software/Universalhardware und zweckgebundener
Hardware ausgeführt
sein. Falls derselbe in zweckgebundener Hardware ausgeführt ist,
kann das automatische Dokumentenindexierungssystem 136 als
eine Schaltung oder Zustandsmaschine implementiert sein, die eine
oder eine Kombination einer Anzahl von Technologien verwendet. Diese
Technologien können
folgendes umfassen, sind aber nicht darauf beschränkt: einzelne
Logikschaltungen mit Logikgattern zum Implementieren verschiedener
Logikfunktionen auf das Anlegen von einem oder mehreren Datensignalen
hin, anwendungsspezifische integrierte Schaltungen mit geeigneten
Logikgattern, programmierbare Gatterarrays (PGA), feldprogrammierbare
Gatterarrays (FPGA) oder andere Komponenten usw. Solche Technologien
sind für
Fachleute auf diesem Gebiet im Allgemeinen gut bekannt und werden
folglich hierin nicht näher
beschrieben.
-
Die
Blockdiagramme und/oder Flussdiagramme von 1-5, 6A-6G, 7 und 8A-8C zeigen
die Architektur, Funktionalität
und Operation einer Implementierung des automatischen Dokumentenindexierungssystems 136. Falls
dasselbe in Software ausgeführt
ist, kann jeder Block ein Modul, ein Segment oder einen Codeabschnitt
darstellen, der Programmbefehle umfasst, um die spezifizierten logischen
Funktionen zu implementieren. Die Programmbefehle können in
der Form von Quellencode ausgeführt
sein, der von Menschen lesbare Anmerkungen umfasst, die in einer
Programmiersprache geschrieben sind, oder Maschinencode, der numerische
Anweisungen umfasst, die durch ein geeignetes Ausführungssystem
erkennbar sind, wie z. B. einen Prozessor in einem Computersystem
oder einem anderen System. Der Maschinencode kann von dem Quellencode
umgewandelt werden, usw. Falls dasselbe in Hardware ausgeführt ist,
kann jeder Block eine Schaltung oder eine Anzahl von miteinander
verbundenen Schaltungen darstellen, um die spezifizierten logischen
Funktionen zu implementieren.
-
Obwohl
die Blockdiagramme und/oder Flussdiagramme von 1-5, 6A-6G, 7 und 8A-8C eine
spezifische Ausführungsreihenfolge
zeigen, ist klar, dass die Ausführungsreihenfolge
sich auch von der unterscheiden kann, die dargestellt ist. Beispielsweise
kann die Ausführungsreihenfolge
von zwei oder mehreren Blöcken
relativ zu der gezeigten Ordnung verwürfelt werden. Außerdem können zwei
oder mehr Blöcke,
die in 6A-6G, 7 und 8A-8C aufeinander
folgend gezeigt sind, gleichzeitig oder mit teilweiser Gleichzeitigkeit
ausgeführt
werden. Außerdem
kann jede Anzahl von Zählern,
Zustandsvariablen, Warnsemaphoren oder Mitteilungen dem hierin beschriebenen
logischen Fluss hinzugefügt
werden, zum Zweck einer verbesserten Verwendbarkeit, Abrechenbarkeit,
Leistungsmessung oder Bereitstellung von Fehlersuchehilfen usw.
Es ist klar, dass alle solche Variationen innerhalb des Schutzbereichs
der vorliegenden Erfindung liegen.
-
Wo
das automatische Dokumentenindexierungssystem 136 Software
oder Code umfasst, kann dasselbe außerdem in jedem computerlesbaren
Medium ausgeführt
sein, für
die Verwendung durch oder in Verbindung mit einem Befehlsausführungssystem, wie
z. B. einem Prozessor in einem Computersystem oder einem anderen
System. In diesem Sinne kann die Logik beispielsweise Anmerkungen
umfassen, die Befehle und Erklärungen
umfassen, die von dem computerlesbaren Medium abgerufen werden können und
durch das Befehlsausführungssystem
ausgeführt
werden können.
In dem Zusammenhang der vorliegenden Erfindung kann ein „computerlesbares Medium" jedes Medium sein,
das das automatische Dokumentenindexierungssystem 136 enthalten, speichern
oder beibehalten kann, für
die Verwendung durch oder in Verbindung mit dem Befehlsausführungs system.
Das computerlesbare Medium kann jedes von vielen physikalischen
Medien umfassen, wie z. B. ein elektronisches, magnetisches, optisches,
elektromagnetisches, Infrarot- oder Halbleitermedium. Genauere Beispiele
eines geeigneten computerlesbaren Mediums würden folgendes umfassen, sind
aber nicht darauf beschränkt:
Magnetbänder, Magnetdisketten,
Magnetfestplattenlaufwerke oder CDs. Außerdem kann das computerlesbare
Medium ein Direktzugriffsspeicher (RAM) sein, der beispielsweise
einen statischen Direktzugriffsspeicher (SRAM) und einen dynamischen
Direktzugriffsspeicher (DRAM) oder einen magnetischen Direktzugriffsspeicher
(MRAM) umfasst. Außerdem
kann das computerlesbare Medium ein Nur-Lese-Speicher (ROM), ein
programmierbarer Nur-Lese-Speicher (PROM),
ein löschbarer
programmierbarer Nur-Lese-Speicher
(EPROM), ein elektrisch löschbarer
programmierbarer Nur-Lese-Speicher (EEPROM) oder ein anderer Speichervorrichtungstyp
sein.