Was ist neu in Version 5.0

Allgemeines

Grösste, aber am wenigsten sichtbare Änderung ist die Umstellung auf 64-Bit-Variablen in KADMOS sowie in allen Programmen, die zur Datensammlung und Klassifikator-Berechnung benötigt werden.

Die grössten sichtbare Veränderungen sind:

1. Einsatz von Multi-Threading beim Modul REP (rep_do()).
In der Standard-Version von KADMOS wird der Parallel-Betrieb mit zwei Threads unterstützt. In der neuen Server-Version wird der Parallel-Betrieb auf allen verfügbaren Threads untersützt. Dadurch kann bei entsprechenden Prozessoren ein Gewinn an Geschwindigkeit erzielt werden - so etwa Faktor 10 beim Intel i7. Die Server-Version liegt preislich beim Vierfachen der Standard-Version. Im Programm Famulus kann die Erkennung in beiden Varianten gestartet werden. Im Ergebnis-Fenster kann man sich dabei die jeweilige Erkennungs-Geschwindigkeit anzeigen lassen. Mithilfe der neuen Parameter GENERAL_REPMULTITHREADING und GENERAL_MULTITHREADING kann das Multithreading deaktiviert werden.
Sollten Sie beim Umstieg auf KADMOS 5.0 auf eine Fehlermeldung wie etwa "KADMOS läuft bereits auf diesem Computer" stossen, dann haben Sie in aller Regel zu wenige KADMOS-Lizenzen geordert. Sie sollten dann entweder eine Lizenz nachbestellen (4.4 oder 5.0), oder (bei echtem Server-Betrieb) gleich auf eine "KADMOS Server"- Lizenz umsteigen.
2. Neue Verfahren zur Klassifikator-Berechnung und Diskriminierung.
Diese Verfahren bringen eine deutliche Verbesserung der Erkennungsqualität.
rec_value, der Vertrauenswert der Erkennung, hat jetzt eine inhaltlich klare Bedeutung. Bei den einzelnen Basis-Klassifikatoren werden 99% aller Zeichen aus unserem riesigen Datenfundus mit einem rec_value unter 32 erkannt. 99,9% haben einen rec_value unter 64, 99,99% einen rec_value unter 96. Bei Klassifikatoren mit etwa 100 oder 150 Zeichenklassen gilt Verhältnis analog: 90% haben einen rec_value unter 32, 99% unter 64, 99,9% unter 96. Ein Absenken der Rückweisungs-Schwelle um 32 führt also in etwa zu einer zehnfachen Menge an Rückweisungen. Dies alles gilt natürlich nur für die Einzelzeichen-Erkennung REC. Bei der Zeilen-Erkennung REL verschieben sich diese Werte dadurch, dass rec_value kombiniert wird mit Bewertungen der Lage des Zeichen in der Zeile, mit Bewertungen des fonts des Zeichens im Verhältnis zum font des umliegenden Wortes sowie weiterer Bewertungen. Durch diese Zuordnung von Rückweisungs-Schwelle und dem Prozentsatz rückgewiesener Zeichen ist eine einfache Regel ableitbar: Beträgt der Anteil rückgewiesener Zeichen bei der Schwelle 64 mehr als 5 oder 10 Prozent, so macht eine Datensammlung zur Nachbelehrung des Klassifikators unbedingt Sinn.
Im Programm Famulus.exe wurde wurde im Resultat-Fenster ein zusätzlicher Menü-Punkt "Rückweisungs-Raten" eingerichtet, unter dem nach jeder Erkennung die betreffenden Rückweisungs-Raten angezeigt werden. Im Zusammenhang mit dieser Veränderung wurde die Voreinstellung für den Parameter parm.reject_limit auf 128 gesetzt. Trotz Verkleinerung bei diesem Wert werden mit der neuen Version mehr Alternativen generiert als mit der alten Version und dem früheren Wert 150. Um ein vergleichbares Verhalten mit der alten Version zu erreichen, sollte reject_limit auf einen Wert von etwa 110 gesetzt werden.

Im Programm Famulus.exe wurde im Resultat-Fenster ein zusätzlicher Menü-Punkt "Rückweisungs-Raten" eingerichtet, unter dem nach jeder Erkennung die betreffenden Rückweisungs-Raten angezeigt werden.

Es wurden Vorbereitungen getroffen, dass KADMOS im Laufe des nächsten Jahres intern komplett auf die Verwendung von Unicode© umgestellt werden kann. Das ermöglicht dann die Einbeziehung von Schriften, für die keine Codepage existiert (zum Beispiel Koreanisch).

Zwei neue Funktionen Funktionen rel_find() und rel_findg() wurden bereitgestellt. rel_find() sucht in Schwarz-Weiss-Bildern nach einer vernünftig erkennbaren Text-Zeile. rel_findg() tut das Gleiche für Maschinenschrift in Graubildern, die oftmals Probleme bei der Binarisierung bereiten. Als Beispiel sei hier die Erkennung von Seriennummern auf Banknoten genannt.

Bei den Funktionen re_(w)readparm(), re_(w)writeparm() und GetPrivateFileName() wurde für Windows die Voreinstellung des Verzeichnisses geändert, falls kein Pfad beim angegebenen Dateinamen spezifiziert wurde. Das war notwendig, weil Windows Vista und Windows 7 mit der bisherigen Voreinstellung (Windows-Verzeichnis) nicht mehr korrekt arbeiten. Die neue Voreinstellung bei Windows ist jetzt - wie schon bisher bei Linux - das Arbeits-Verzeichnis (WorkDir). Will man dies ändern, so kann man die neue Umgebungsvariale KADMOS_inifiles verwenden und mit dem Namen eines anderen, gewünschten Verzeichnises besetzten.

In KADMOS.h wurde REC_CHAR_SIZE von 8 auf 16 Byte erweitert, um den späteren Einsatz von Unicode© 32-Bit Codierungen vorzubereiten.

Bei den Maschinenschrift-Klassifikatoren wurden die beiden Doppelakzente Unicode© 0x201C und 0x201D mit den Ersatz-Kennungen "[ und "] hinzugefügt. Der Thai-Klassifikator wurde um die Kennungen T2 und U2 (Ersatz) erweitert. Es sind spezielle Formklassen der Zeichen Unicode© 0x0E14 und 0x0E15.

Parameter, Strukturen und Funktionen

Neue Funktionen

rel_find() sucht in Schwarz-Weiss-Bildern eine gut lesbare Textzeile mit der vogegebenen Anzahl von Buchstaben. 🗏

rel_findg() sucht in Graubildern eine gut lesbare Textzeile mit der vogegebenen Anzahl von Buchstaben. 🗏

re_layout() analysiert die Struktur und den Inhalt eines gegebenen Dokumentes. 🗏 ab version 5.0o

Geänderte Funktionen

Für Windows wurde die Voreinstellung des Verzeichnisses geändert, falls kein Pfad beim angegebenen Dateinamen spezifiziert wurde.

re_readparm(), re_wreadparm() 🗏

re_writeparm(), re_wwriteparm() 🗏

GetPrivateFileName() 🗏

Neue Strukturen

ReLayoutResult, ReLayoutData 🗏

Geänderte Strukturen

ReParm 🗏

RecData 🗏