Sherlook - Der Buchstaben-Detektiv

Eigentlich war es vermessen, eine Namensabwandlung jenes berühmten englischen Detektivsaus viktorianischer Zeit nebst seinem bekannten Konterfei einem Programm zur Texterkennung aufzudrücken. War es doch die messerscharfe Kombinationsgabe und eine hundertprozentige Treffsicherheit, mit der die Romanfigur von Sir Arthur Conan Doyle Triumphe feierte und zwielichtige Elemente (zumindest auf dem Papier) in Schach hielt.

Wie sieht es denn nun aus mit dieser Anleihe beim berühmten Vorbild bei einem Programm, das (computerintern) so annähernd dasselbe mit Buchstaben zu tun gedenkt?

Im Januarheft 1/1990 durften wir die erste Fassung des „Buchstaben-Detektivs“ begutachten. Obwohl das Feld der Texterkennungsprogramme (OCR) damals von nur einem Anbieter abgedeckt wurde, wagten sich Marcel Rasche und Frank Wolter in diesen engen Markt hinein, mit einem völlig anderen Konzept und einem (vergleichbar) niedrigen Preis. Ein direkter Vergleich der Programme hat leider noch nicht stattgefunden, dazu ist dieser Anwendungsbereich auch noch zu jung.

Sherlook darf mittlerweile durchaus als ein ernstzunehmender Konkurrent zu jenen Produkten betrachtet werden, die uns aus der Schweiz von der Firma Marvin AG erreichen. Aber: die Konkurrenz schläft nicht!

Zum Profi geworden?

So wurde Sherlook in der Version „Professional“ auf der ATARI Messe in Düsseldorf vorgestellt. Schon in der Erstversion waren einige Besonderheiten aufgefallen, die ein sinnvolles Arbeiten angenehm machten: Teilausschnitte herauslöschen, Spiegelung oder Verdrehen der Vorlage, Ausblenden bestimmter Textteile (ohne sie zu löschen), umfangreiche Filterfunktionen (sogenannte freie Punkte ausradieren oder Linien und Striche eliminieren), Ausschnitte verdicken (wenn die Buchstaben zu schwach waren) usw.

Natürlich gab es auch Kleinigkeiten zu bemängeln:

  1. den Kopierschutzstecker (Dongle). Dankenswerterweise hat man in den neueren Ausgaben (Version 2.4 und Version „Professional“) nunmehr ganz auf solche Beigaben verzichtet. Der Grund lag wohl auch darin, daß mehr und mehr Anwender, mit Hand-Scanners ausgestattet, den ROM-Port nicht nutzen konnten.
    Aber: einen Kopierschutz gibt es dennoch. Mittels eines Installationsprogramms werden Name und Anschrift des Benutzers abgefragt und im Programmcode versteckt. Ohne diese Installation läuft nichts, aber der Benutzer ist im Programm verewigt. Das ist das kleinere Übel unter den Schutzmechanismen.
  2. das Begrüßungsbild. Dieser kleine Film, der sich damals zuerst über den Bildschirm breitmachte, ist der Einsicht gewichen, kostbare Programmiererzeit für sinnvollere Anwendungen zu verwenden.

Eines ist aber geblieben: die typische Bildaufteilung von damals, und (GEM-Programmierer aufgemerkt!) es gibt noch immer keine Pull-Down-, Pop-Up- oder sonstigen Menüs (wozu auch?).

Im Erkennungsmodus nimmt rechts der unbekannte Buchstabe den größten Raum ein.
Die Arbeitsoberfläche: Links sind die Buchstaben in Originalgröße zu sehen, rechts ist die Vorlage maßstabsgerecht verkleinert.
Alle Einzelfenster lassen sich in Lage und Größe verändern.

Methode eins-zwei-drei

Sherlook arbeitet nach dem „Matrix-Matching-Verfahren“, also dem reinen Mustervergleich zwischen bestehenden Zeichen in einer Bibliothek und den (noch) unbekannten. Das unbekannte Zeichen durchwandert hierbei (elektronisch) die Bibliothek, es legt sich wie eine Schablone auf die Musterzeichen. Man braucht nun nur noch (softwaremäßig) zu untersuchen, wo das unbekannte Zeichen am ehesten auf ein Muster paßt - und schon ist der gesuchte Buchstabe gefunden. Ein Vorteil dieses Verfahrens ist die hohe Verarbeitungsgeschwindigkeit und auch die relativ hohe Trefferquote. Der Nachteil besteht aber darin, daß nur wirklich identische Buchstaben (also auch in Größe, Dicke und Neigung) wirklich erkannt werden. Jeder andere Schrifttyp und jede Größenabweichung benötigen wieder eine eigene Bibliothek. Angeblich hat Sherlook nun auch Funktionen des moderneren „Feature-Extraction-Verfahrens" eingebaut. Dort wird nach typischen Eigenschaften und markanten Merkmalen der Buchstaben gesucht, so daß die Schriftgröße keinen Hinderungsgrund mehr dar stellt. Desweiteren soll auch schon ein „Spell-Checker“ eingebaut sein. Dies ist ein kleines Wörterbuch, das nach dem Erkennungsvorgang ganze Wörter auf grammatikalische und orthografische Richtigkeit überprüft. Das ist Texterkennung in der 3. Generation.

Obwohl in der Einleitung zum Handbuch (Seite 5) alle drei Verfahren angesprochen werden und Sherlook angeblich auch alle drei benutzt, fehlt im weiteren Verlauf des Handbuchtextes leider jeglicher Hinweis darauf, wie groß das Wörterbuch beispielsweise ist, wie man es sich ansehen kann, oder wie und wann Sherlook das eine bzw. das andere Verfahren benutzt. Der eingebaute „Spell-Checker“ ist eine komfortable Rechtschreibkorrektur die nach grammatikalischen Regeln Verbesserungen durchführt. Aber es werden lediglich unsinnige Buchstabenkombinationen und sogenannte Ligaturen (Buchstabenverschmelzungen) automatisch ausgefiltert. Diesen „Checker“ gibt es für Deutsch, Französisch, Englisch und Hex-Listings mit automatischer Prüfsummenkontrolle.

Los geht's

Sherlook bevorzugt Arbeitsspeicher zwischen 2 und 4 MByte, damit die volle Leistung ausgenutzt werden kann. Dennoch l#uft es auch mit nur 1 MByte RAM. Aller Wahrscheinlichkeit nach dürften unter 1 MByte die Vorlagen etwas kleiner werden.

Wenn nach dem Programmstart die Arbeitsoberfläche erscheint, fällt dem GEM-gewohnten Auge sofort auf: Es gibt keine Menü-Zeile. Die Hauptarbeit wird über Funktionstasten gesteuert, die aber wahlweise auch mit dem Mauspfeil ansprechbar sind. Ich habe mir angewöhnt, in diesem Fall die Funktionstastensymbole wie GEM-Buttons (Schaltknöpfe) zu verwenden. Alternativ stehen auch einige (wenige) Buchstabentasten zur Verfügung.

Im Hauptarbeitsfenster finden wir rechts die maßstäblich verkleinerte Originalvorlage des eingelesenen Bildes und links einen um den Faktor acht vergrößerten Teilausschnitt, die Lupe. Unter der Lupe liegt ein Informationsfenster. Hier sehen Sie, mit welchem Zeichensatz gerade gearbeitet wird, unter welchem Namen die Bilddatei gespeichert ist und wieviel Zeichen bereits erkannt und im Textpuffer zwischengespeichert sind. Die %-Angaben unter Zeichensatz und Textpuffer zeigen außerdem, wie stark der dafür reservierte RAM-Speicherplatz bereits ausgelastet ist. Ganz unten im Bild gibt es dann noch die Funktionsleiste, die bei drei Einträgen weitere (andere) Belegungen anzeigt.

Ganz interessant und neu ist die Möglichkeit, alle Fensterbestandteile in Größe und Lage verändern zu können. Man braucht nur die Kopfleisten oder Ränder der Fenster mit dem Mauspfeil zu ergreifen. und schon kann die Arbeitsoberfläche eine andere Gestalt annehmen. Nur eines ist nicht möglich - die Fenster können andere nicht überdecken. Es wäre wünschenswert, diesen Punkt noch einmal zu überdenken, so daß zumindest die Lupe oder/und das Originalfenster im Bedarfsfälle auf maximal (also ganze Bildschirmgröße) einstellbar wären. Man kann sich behelfen, indem man beispielsweise die Lupe extrem verkleinert in die linke obere Ecke verbannt und dann das Originalfenster soweit vergrößert, bis es an andere Fensterränder stößt. In diesem Fall verändert sich der Vergrößerungsfaktor automatisch im Verhältnis Originalvorlagen- zu neuer Originalfenstergröße.

Obwohl sich das Originalvorlagenfenster dem eingelesenen Format maßstäblich anpaßt, gibt es noch immer keine Möglichkeit, die Lupe in Vergrößerungsschritten stufenlos zu variieren. Auch ein Wunsch in das Stammbuch der Programmierer!

An die Arbeit

Das Vorlagenbild kann nun entweder per Datei oder mittels eines Scanners eingelesen werden. Nun sind zahlreiche Manipulationen möglich, wie Spiegeln, digital verbessern. Filtern, Ausschnitte bearbeiten usw.

Sehen wir uns diese Funktionen doch etwas näher an:

  1. Spiegeln. Oft kann es vorkommen, daß eine Vorlage nicht so durch den Scanner gelangen kann (z.B. bei Büchern), wie das Programm sie erwartet. Jetzt kann die Vorlage nachträglich von oben nach unten geklappt, von links nach rechts gewendet oder um 90 und 180 Grad gedreht werden.
  2. Digital verbessern. Häufig sind die Originale von schlechter Qualität, so daß auch der beste Scanner (in den optimalen Einstellungen) nicht viel herausholen kann. Da sind die Buchstaben ausgefranst, Schmutzpünktchen sind über die Seite verstreut, Buchstaben sind sehr dünn oder auseinandergerissen. Es können nun verschiedene Manipulationsverfahren zum Tragen kommen. So bedeutet „Filtern“, daß verstreute Bildpunkte, die ganz eindeutig keinem Buchstaben zuzuordnen sind (weil sie ganz einfach zu weit von den Buchstaben entfernt sind), eliminiert werden. In der Einstellung „schwach“ verschwinden nur einzelne Pünktchen, während bei „stark“ sogar ganze Linienzüge ausradiert werden. Die Filteroperation erfordert sehr viel Rechenzeit, weil die Umgebung eines jeden einzelnen Buchstabens genau untersucht werden muß. Bei großen Ausschnitten kann das auch schon bis zu 30 Sekunden dauern. Wenn nur einzelne, wenige Schmutzpunkte zu sehen sind, sollte man lieber auf die Filterfunktion verzichten. Außerdem erkennt Sherlook bei der Textanalyse ohnehin solche weitab vom Buchstaben liegenden unbekannten Punkte und ignoriert sie.
  3. Texte, die mit Nadeldruckern im sogenannten Draft-Modus erstellt wurden, oder Fotokopien, die ihrerseits von Fotokopien abstammen, können jedem OCR-Programm große Probleme bereiten. Ein Texterkennungsprogramm benötigt eine dicke, gerade Linienführung der Buchstaben. Wenn nun doch einmal solche „schwachen“ Zeichen Vorkommen, kann der „Verdickungsfilter“ sie künstlich aufblähen. Dabei ist aber Vorsicht geboten. Wenn der Verdickungsfaktor zu groß gewählt würde, können sich die Buchstaben berühren, und die Arbeit beginnt von vorn.
  4. Mit dem Toleranzregler für die Fehlergenauigkeit wird festgelegt, wie groß die Abweichungen sein dürfen, damit ein Zeichen noch zu ähnlichen zugeordnet wird. Ist die Toleranz hoch (also sehr empfindlich) eingestellt, wird das Programm öfter nachfragen, um Ähnlichkeiten vom Benutzer be stätigt zu bekommen. Je niedriger diese Toleranzschwelle angesetzt ist, desto eher akzeptiert der Rechner gröbere Ähnlichkeiten. Die Wahl des Toleranzwertes sollte auch abhängig gemacht werden von der Qualität der Vorlage - je besser die Vorlage, desto niedriger die Fehlergenauigkeit.
  5. Sehr interessant sind die Lernphasen. Wenn bei der Funktion „Zeichen lernen“ vom Benutzer die Buchstaben eingetippt werden, merkt sie sich das System und markiert sie in der Bibliothek. Aber dieser eine Buchstabe genügt noch nicht, um später dem System hinreichende Sicherheit für ähnlich aussehende Zeichen zu geben. Deswegen verlangt Sherlook öfter, ähnliche Zeichen zu bestätigen, selbst wenn der Benutzer kaum Unterschiede ausmachen konnte. Die Zahl der Lernphasen legt nun fest, wie oft das selbe Zeichen bestätigt werden muß, um hernach als endgültig „erlernt“ zu gelten. In Sherlook wird das letztendlich so erlernte Zeichen „Normzeichen“ genannt, und erst dieses dient in weiteren Erkennungsdurchläufen als Vergleichsvorlage.

Schön ist außerdem die Möglichkeit, das Lernen auch auszuschalten. Das bedeutet, daß ein Bild bei hinreichend genauen und vollzähligen Normzeichen nicht mehr weiter auf unbekannte Zeichen durchforstet werden soll. Die dann noch immer nicht erkannten Zeichen markiert das Programm mit dem entsprechenden Symbol.

Der Analytiker

Eine neue Funktion stellt die Zeichensatzanalyse dar. Man wählt im Text eine typische, gut lesbare Passage. Diese wird mit einem Rahmen markiert. Mit Start der Analyse versucht Sherlook nun, den Text mit allen (auch extern auf Datenträgern) vorhandenen Zeichensätzen zu vergleichen. Dabei wird eine Liste erstellt, in der die Ergebnisse zu sehen sind. Der Zeichensatz mit der höchsten Treffergenauigkeit wird automatisch geladen. So kann Sherlook Professional (theoretisch) maximal 50 verschiedene Schriftarten- bzw. typenbibliotheken verwalten. In einem 4 MByte-Arbeitsspeicher hätten bis zu 2000 verschiedene Zeichen Platz.

Höchst interessant erscheint mir auch die Möglichkeit, jetzt den erkannten Text in „Datenbank-Form“ abzuspeichern. Dies eröffnet Datenbankanwendern ganz neue Perspektiven. So ist es nun machbar, Texte von Karteikarten herunter zu lesen und in das richtige Dateiformat des Datenbank Programms abzulegen. In einer Dialogbox sind entsprechende Einstellungen für die Programme Adimens, Easybase und 1st Base vorgesehen. Die Programme erwarten unterschiedliche Steuerzeichen (Trennzeichen genannt), womit sie Datenfelder und Datensätze abgrenzen. Üblicherweise wird als Feldtrenner ein Komma und als Satztrenner eine Zeilenschaltung benutzt.

Wer jetzt noch glaubt, lieber auf die Anschaffung eines Computers nebst Datenbank programm verzichten zu müssen, weil er Tausende von Karteikarten eintippen müßte, der sieht sich widerlegt.

Viele Einstellmöglichkeiten für ein gutes Scan-Ergebnis.
Hier ist die Bibliothek mit dem aktuellen Zeichen zu sehen.

Im Rahmen bleiben

Alle Arbeit der Texterkennung spielt sich in Rahmen innerhalb des Gesamtübersichtsfensters (rechts) ab. Dem Programm muß also zuvor durch Festlegen von Begrenzungskästen gezeigt werden, in welchem "Rahmen“ sich der Erkennungsvorgang abspielen soll. Diese Rahmen können manuell, also von Hand, mit dem Mauspfeil aufgezogen werden. Pro Seite sind maximal 99 solcher Erkennungsrahmen möglich. Ein Sichtrahmen stellt die maßstäbliche Verkleinerung des Lupenfensters in das Gesamtübersichtsfenster hineinprojiziert dar. Dieser Sichtrahmen kann frei umherbewegt werden. Entsprechend bewegt sich der Inhalt des Lupenfensters mit.

Man kann das Rahmenziehen auch Sherlook selbst überlassen. Einfach mit dem Mauspfeil irgendwo einen Textblock anklicken - und schon sucht das Programm benachbarte freie Leerflächen ab. Diese stellen ja dann die Begrenzung eines Textbereiches dar - und schon wird dort ein Rahmen herumgezogen (halbautomatisch). Diese Prozedur kann man für weitere Textblöcke beliebig wiederholen.

Wenn man das ganze Spiel völlig dem Programm überlassen will, stellt man einfach auf vollautomatisch, und die Rahmen legen sich wie von Zauberhand selbst um den Text. Sherlook möchte dann nur noch wissen, ob es sich um ein- oder mehrspaltigen Text handelt. Der Grund ist ganz einfach. Bei einspaltigem Text nimmt das Programm die Blattränder als äußerste Begrenzung und nähert sich von links und rechts, bis es auf Text stößt. Bei mehrspaltigem Text muß es auch zusätzlich innerhalb eines großen Textblocks auf vertikal durchziehende weiße Zwischenräume oder schwarze Linien (das sind dann die Spaltenbegrenzungen) untersuchen.

Ein lockerer Job

Immer wiederkehrende Arbeiten, wie Laden eines bestimmten Zeichensatzes, Installieren eines bestimmten Scanner-Treibers, fest vorbestimmte Einstellungen der Parameter, alles das kann man nun (und das ist neu) einem ,Job‘ anvertrauen. So muß nur eine bestimmte Arbeitsumgebung einmal manuell angelegt und als Job unter einem markanten Namen abgespeichert werden. Wenn man bei späteren Arbeiten diesen Job-Namen aufruft, wird die Arbeitsumgebung mit allen Einstellungen und Dateizugriffen (Laden bestimmter Texte und Zeichensätze usw.) genauso wie damals wieder hergestellt.

Und am Ende ...

Sherlook ist ein interessantes Programm. Es hat seit der Erstvorstellung im Januar einiges an Verbesserungen und Änderungen erfahren. Unnötiger Schnickschnack (Dongle und Begrüßungsfilm) sind verschwunden. dafür haben sich sinnvolle Funktionen etabliert (Fenster verändern, Text in Datenbankform, umfangreiche Einstellungen).

Sherlook läuft klaglos auf dem ATARI TT (d.h. im TT-Modus und ist dort etwa 8,5mal schneller). Außerdem spricht es alle verfügbaren Großbildschirme an. Sherlook gibt es auch weiterhin in der Einsteigerstufe (Version 2.4) für 444 DM (siehe ST-Computer Heft 1/90) und parallel in der neuen, stark erweiterten Ausgabe „Professional“ (Version 3.0) für 1000 DM.

Besonders lobenswert ist das Handbuch. Wenn auch der Zweispaltendruck etwas ungewöhnlich ist, so zeichnet sich diese Bedienungsanleitung durch einen flüssigen Sprachstil aus. Die Erklärungen sind ausreichend und verständlich. Nur hätte ich mir etwas mehr und vor allem etwas größere Bilder gewünscht. Auch markante Piktogramme an den Blatträndern (vielleicht hätte man hierzu die Funktionstasten nehmen können) hätten das ganze Layout noch mehr aufgelockert.

Wenn Sherlook so konsequent weiterentwickelt wird, wie es bisher geschah, dann wird es sich in diesem expandierenden Markt mit Sicherheit gegen die Konkurrenz behaupten können.

DK

Bezugsquelle:

3K Computerbild GmbH
Sassenfeld 71
4054 Nettetal 1



Aus: ST-Computer 11 / 1990, Seite 30

Links

Copyright-Bestimmungen: siehe Über diese Seite