next up previous contents
Next: Handschriftenerkennung Up: Kognitive Systeme Previous: Kognitive Systeme

Assoziative Datenbanken

 
figure423

Abbildung: Leseergebnis und Resultat des Datenbankabgleichs für die Bankleitzahl und den Banknamen. Zeichen in spitzen Klammern stellen mehrere Alternativen der Lese-Software dar.

Bei der Klassifikation handgeschriebener Zeichen treten häufig mehrdeutige Fälle auf, d.h. ein einzelnes Zeichen kann mehrere verschiedene Interpretationen haben. Beispielsweise sind die Schreibweisen der Ziffern ,,1`` und ,,7`` bei manchen Schreibern sehr ähnlich. Solche Mehrdeutigkeiten können aber oft aufgelöst werden, wenn Kontextinformationen zur Verfügung stehen. So kann im obigen Beispiel eine Entscheidung getroffen werden, wenn die betrachtete Ziffer Teil einer Bankleitzahl ist und nur eine der beiden Möglichkeiten eine existierende Bankleitzahl ergibt.

Durch schlechte Leseergebnisse bei schwierigen Handschriften oder durch die Ausgabe von mehreren Alternativen nach der Klassifikation wird der Suchraum stark vergrößert. Datenbanken in der Größenordnung von bis zu 100 MByte können dann nur mit Hilfe schneller Hash-Algorithmen in akzeptabler Zeit durchsucht werden. Diese erlauben es, schon mit wenigen Operationen festzustellen, ob ein Eintrag in der Datenbank vorkommt. Im Sommer 1995 haben wir daher mit der Entwicklung der assoziativen Datenbank DACCORD begonnen. Das Ziel war dabei, eine hocheffiziente, portable Anwendung zu entwickeln, die auch auf Standard-PCs eine hohe Verarbeitungsgeschwindigkeit bei großen Datenbankvolumina erzielt.

Der Vergleich von Datenbankeinträgen mit den Leseergebnissen geschieht auf Basis der Levenshtein-Distanz, die ein Maß für die Abweichung zweier Zeichenketten ist. Dabei wird die erste Zeichenkette durch aufeinanderfolgende Einfüge- und Löschoperationen in die Zielzeichenkette überführt. Werden dann die verschiedenen Operationen mit Kosten belastet, so ergeben die aufsummierten Kosten die gesuchte Distanz. In unserer Arbeit wurde die Berechnung der Levenshtein-Distanz zu einem Einzelwortabgleich erweitert, bei dem zu jedem Wort des Quelltextes ein möglichst ähnliches Wort im Zieltext gesucht wird. Dieser wortweise Abgleich führte zu einer Halbierung der Anzahl der nicht erkannten Zeichenketten (Rejectrate) bei gleicher Fehlerquote.

Die aktuelle Version von DACCORD besitzt folgende Merkmale:

Bearbeitungsgeschwindigkeit: Auf einer Sparc-10 mit 60 MHz werden etwa 80 Formulare pro Sekunde korrigiert, auf einem Pentium-PC mit 133 MHz unter Windows etwa 70 Formulare pro Sekunde.

Speicherbedarf: Die Daten liegen komprimiert im Hauptspeicher. Beispielsweise können bei einem 64 Mbyte großen Hauptspeicher unter Windows NT über 110 MByte an Auftraggeber- und Empfängerdaten bearbeitet werden.

Zuverlässigkeit: Durch entsprechende Einstellung in einer ASCII-Konfigurationsdatei kann die Fehlerquote immer auf unter 0,1 % bei einer Rejectrate von weniger als 25 % gedrückt werden.

Portabilität: Alle Programmteile sind in ANSI-C geschrieben, so daß die Programme praktisch für jede Rechnerplattform zur Verfügung gestellt werden können. Zur Zeit ist das System auf Solaris, SunOS, Win32s und Windows NT implementiert.

Konfigurierbarkeit: Alle wesentlichen Parameter des Systems werden in ASCII-Konfigurationsdateien definiert und können problemlos den individuellen Anforderungen des Endkunden angepaßt werden.

DACCORD wird bereits von einer deutschen Großbank auf einem Parsytec-CC-Rechner unter Windows NT eingesetzt. Auf diesem Rechner werden pro Sekunde bis zu 10 Überweisungsformulare basierend auf Datenbanken mit ca. 1,8 Millionen Konten verarbeitet.


next up previous contents
Next: Handschriftenerkennung Up: Kognitive Systeme Previous: Kognitive Systeme

Webmaster <www@zpr.uni-koeln.de>, 7. Apr. 1997