Produktinformationen für Software-Entwickler
Textweiser wird als Software-Bibliothek bereitgestellt, verfügt über eine intuitive API, ist thread-sicher und weist keine Abhängigkeiten außer den Standard C- und Thread-Bibliotheken des jeweiligen Systems und der jeweiligen Datenbank auf. Dadurch lässt sich Textweiser einfach in eigene C/C++ Softwareprojekte integrieren und ermöglicht darüber hinaus eine unkomplizierte Weitergabe an eigene Kunden.
Die komplette Funktionalität wird durch Bibliotheksfunktionen bereitgestellt. Zusätzlich werden Kommandozeilen-Anwendungen mit ausgeliefert, die vor allem die (automatisierte) Administration des Textklassifikations-Systems und der dazugehörigen Datenbank erleichtern, aber auch einen Zugriff auf alle anderen Funktionen ermöglichen.
Bevor Textweiser produktiv verwendet werden kann, muss zunächst die Datenbank initialisiert und mit den erforderlichen Kategorien für den jeweiligen Einsatzzweck versehen werden. Es können sowohl flache Kategoriestrukturen als auch Taxonomien angelegt werden. Im Anschluss daran müssen die Kategorien mit einer ausreichenden Menge von jeweils mindestens zehn repräsentativen Dokumenten trainiert werden, damit Textweiser deren Merkmale sicher analysieren und erlernen kann. Diese Arbeitsschritte können sowohl durch das Ausführen von Bibliotheksfunktionen als auch unter Verwendung der mitgelieferten Anwendungen durchgeführt werden. Danach ist Textweiser einsatzbereit und kann zur Klassifikation unbekannter Dokumente verwendet werden.
Eigenschaften
- volle Unterstützung und automatische Handhabung monohierarchischer Kategoriestrukturen (Taxonomien)
- verwendet Unicode (UTF-8)
- alle Bibliotheksfunktionen sind thread-sicher
- nur eine geringe Anzahl an Trainingsdokumenten notwendig
- fortlaufendes Anpassen des Kategoriebestands und ergänzendes Training möglich
- integrierte SQLite Datenbank oder Schnittstelle zu anderer Datenbank
- stellt viele Zusatzfunktionen bereit, um das Administrieren und Verwalten der Daten zu erleichtern (zum Beispiel das Anlegen und Wiederherstellen einer Sicherungskopie)
Eine kurze Einführung in die API
Die Funktionen der API lassen sich in fünf Gruppen einteilen: Funktionen zur Administration, zum Ressource-Handling, zum Lernen und Klassifizieren sowie Hilfsfunktionen:
Klicken Sie auf die obigen Diagramme um diese zu vergrößern.
Textweiser speichert Kategorien und deren zugehörige Daten in einer der unterstützten Datenbanken. Daher ist es notwendig, zunächst alle erforderlichen Einstellungen zum Verbindungsaufbau in der Datenstruktur tw_config_t abzulegen und diese im Anschluss an die gewünschte Bibliotheksfunktion zu übergeben.
tw_init() stellt eine Verbindung zur verwendeten Datenbank her und
initialisiert ein neues Textweiser-Objekt vom Typ tw_t, das von einem
Großteil der Bibliotheksfunktionen als Argument erwartet wird.
Die Textklassifikations-, Lern- und Administrationsfunktionen können nun
verwendet werden, um unbekannte Dokumente Kategorien zuordnen zu lassen,
bekannte Dokumente zum Training bestehender Kategorien zu verwenden,
Lernvorgänge rückgängig zu machen, eine Liste aller Kategorien zu erhalten
oder Kategorien anzulegen, umzubenennen oder zu löschen.
Detaillierte Informationen zu allen Bibliotheksfunktionen finden sich im deutschen oder englischen Textweiser Benutzerhandbuch und in den Manpages.
Fehlerbehandlung
Textweiser bietet eine thread-sichere, einfach zu verwendende Fehlerbehandlung über Rückgabewerte. Jede Bibliotheksfunktion, in der ein Fehler auftreten kann, liefert einen Rückgabewert vom Typ tw_errno_t, der Aufschluss darüber gibt, ob die jeweilige Funktion erfolgreich ausgeführt worden ist.
Für jeden möglichen Fehlerfall werden benannte Konstanten bereitgestellt, die eine Fallunterscheidung und anschließende Fehlerbehandlung einfach möglich machen. Zusätzlich stellt die Bibliotheksfunktion tw_strerror() englischsprachige Fehlerbeschreibungen für alle Fehlerfälle zur Verfügung.
Quellcode von Beispielanwendungen
Quellcodebeispiele von Minimalanwendungen finden sich im deutschen und englischen Textweiser Benutzerhandbuch, sowie in den Manpages der Bibliotheksfunktionen tw_classify(), tw_get_categories() und tw_parse_config().


