Dokumentenklassifikation mittels Layout- und Textanalyse

28.10.2016

DCF 1.0

Die wachsende Digitalisierung stellt eine stetige Belastung für das Dokumentenmanagement eines Unternehmens dar. Jedes eingehende elektronische Dokument erfordert in der Regel eine initiale Betrachtung durch dessen Mitarbeiter, um die interne Zuständigkeit zu ermitteln. Gleichermaßen muss der für das Dokument zuständige Fachbereich reagieren, bevor er das Anliegen des Schriftstücks erschließen und entsprechend bearbeitet kann.

Dieser Prozess könnte optimiert werden, indem eingehende Dokumente automatisiert dem korrekten Fachbereich (z.B. Personalabteilung) oder zumindest einer bestimmten Dokumentenklasse (z.B. Bewerbung) zugeordnet werden können.
Im Rahmen meiner Bachelorarbeit habe ich ein System zur Klassifikation elektronischer Dokumente entwickelt.
Dabei werden Verfahren der Layout- und Textanalyse eingesetzt, um die Zugehörigkeit eines Dokuments zu einer vorgegebenen Dokumentenklasse (z.B. Bewerbung, Mahnung, Rechnung, …) zu ermitteln. Auf Basis dieser Klassifikation soll im ersten Schritt eine zuverlässige Erkennung von Bewerbungen ermöglicht werden. Manuell erzeugtes Expertenwissen liefert zahlreiche Informationen über den erwarteten Aufbau und Inhalt gängiger Bewerbungsschreiben.
Ein Beispiel: Die Absenderadresse befindet sich oben links, enthält mehrzeiligen Text, eine Adresse, ggf. E-Mail Adresse(n) und Telefonnummer(n). Doch auch weitere Dokumentenklassen lassen sich für eine Analyse flexibel und mit geringem Aufwand modellieren.
In diesem Beitrag beschreibe ich die Methoden und das Vorgehen zur Erstellung meiner Klassifikation.

Geometrische Layoutanalyse

Die geometrische Layoutanalyse liefert im ersten Schritt Informationen über die Aufteilung (Segmentierung) jeder Dokumentenseite in homogene, visuell zusammenhängende Regionen. Hierbei werden Ansätze der Bildanalyse verfolgt, die jedoch eine Überführung jeder Dokumentenseite in deren grafische Repräsentation voraussetzen. Das Framework PDFBox[1] stellt Funktionalitäten zur Durchführung des erforderlichen Rendering-Verfahrens bereit. Darauf aufbauend ermöglicht das sequentielle Anwenden mehrerer Bildfilter des Frameworks JavaCV[2], die qualitative Aufbereitung jeder grafischen Repräsentation. Weiterhin verfügt JavaCV über Verfahren der Konturerkennung zur Identifizierung wichtiger Bereiche einer Dokumentenseite.

blog

Die geometrische Layoutanalyse stellt eine wichtige Grundlage für nachfolgende Analyseverfahren dar. Eine fehlerhafte Segmentierung kann sich daher negativ auf die Klassifikation auswirken. Durch eine stetige Optimierung der Segmentierung in nachfolgenden Analyseverfahren kann dieser Problematik aber stark entgegengewirkt werden. Wurde beispielsweise ein großer Textbereich der Dokumentenseite in mehrere unabhängige Segmente zerteilt, so können diese im Laufe der logischen Layoutanalyse zusammengeführt werden.

Logische Layoutanalyse

Im zweiten Schritt fließen diese Segmente in die logische Layoutanalyse ein. Ziel dieses Verfahrens ist die Zuordnung einer logischen Bedeutung (z. B. Titel, Textkörper, Datum, etc.) zu jedem Segment. Hierbei wird vom Programm auf manuell erzeugtes Wissen (zuvor vom Anwender erstellt) in Form von Dokumentendefinitionen zurückgegriffen. Dokumentendefinitionen beschreiben den erwarteten Aufbau und Inhalt von Dokumenten einer Dokumentenklasse.
Im Folgenden werden drei mögliche Dokumentendefinitionen visualisiert, um den Aufbau eines Bewerbungsschreibens zu modellieren. Zur Vereinfachung wird hier nicht auf den erwarteten Inhalt eingegangen.

Bild_1 Bild_2 Bild_3

Durch Kombination unterschiedlicher Abstandsmaße kann darüber hinaus entschieden werden, welche Dokumentendefinition der gegebenen Dokumentenklasse, die höchste Übereinstimmung mit einer realen Dokumentenseite erzielt.

Textanalyse

Den letzten Schritt bildet die Verarbeitung aller Segmente durch Anwenden multilingualer NLP (Natural Language Processing) Verfahren. NLP Verfahren dienen der Verarbeitung „natürlicher“ Sprachen, die von Menschen gesprochen und niedergeschrieben werden. In Abhängigkeit der durch das Framework Apache Stanbol[3] identifizierten Sprache, kommen unterschiedliche NLP Verfahren zum Einsatz, die das Framework Apache Lucene[4] bereitstellt.

Folgende NLP Verfahren wurden implementiert:

NLP Verfahren

1. Tokenization: Zerteilen von Fließtext in dessen Bestandteile (Token)
Beispiel: Bewerbung um eine Festanstellung. → [ Bewerbung, um, eine, Festanstellung, . ]
2. Stopword Filtering: Entfernen „unwichtiger“ Wörter
Beispiel: [ Bewerbung, um, eine, Festanstellung, . ] → [ Bewerbung, Festanstellung ]

3. Stemming: Zurückführen jedes Wortes auf dessen Wortstamm. Durch dieses Verfahren können ähnliche Wörter auf denselben Wortstamm
zurückgeführt werden. Der resultierende Wortstamm muss nicht zwingend in einem Wörterbuch vorzufinden sein.
Beispiel: [ Bewerbung, Bewerbungen, Bewerber, bewerben ] → bewerb

Dokumentenklassifikation: Automatisches Zuordnen von Dokumenten

Die eigentliche Klassifikation ergibt sich letztendlich aus den Abbruchbedingungen jedes Analyseverfahrens. Können im Laufe der geometrischen Layoutanalyse beispielsweise keine Segmente identifiziert werden, so schlägt dieses Verfahren fehl und die Dokumentenseite wird übersprungen. Erst wenn eine Dokumentenseite alle Analyseverfahren ohne eine Abbruchbedingung durchläuft, wird es entsprechend klassifiziert.

Die Kür zu guter Letzt: Informationsextraktion

Wurde ein Dokument positiv klassifiziert, erfolgt abschließend eine Informationsextraktion. Diese kann innerhalb der Dokumentendefinitionen unter Verwendung vordefinierter Ausgabestrategien flexibel vom Anwender konfiguriert werden. Extrahierte Metadaten, wie beispielsweise Telefonnummern, E-Mail Adressen oder Schlüsselwörter werden in einer Textdatei abgelegt und stehen anschließend zur weiteren Verarbeitung durch den Anwender bereit.

Beispiel

Bild_4 Bild_5

Fazit

Auch ohne hochkomplexe Algorithmen der künstlichen Intelligenz lässt sich die Klassifikation von beliebigen Dokumenten bewerkstelligen. Die Effizienz des hier vorgestellten Verfahrens hängt zwar unter anderem von der manuell erzeugten Wissensbasis (Dokumentendefinitionen) ab, erfordert im Vergleich zu lernfähigen Algorithmen jedoch keine aufwändige Trainingsphase mit unzähligen gleichartigen Dokumenten. Egal ob komplexe oder simple Algorithmen: Auf die steigende Digitalisierung muss entsprechend regiert werden. Je nach Anwendungsfall kann weniger manchmal eben mehr sein.

[1] https://pdfbox.apache.org
[2] https://github.com/bytedeco/javacv
[3] https://stanbol.apache.org
[4] https://lucene.apache.org

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*