-
Die
Erfindung betrifft ein Verfahren sowie ein entsprechendes Programm
zum Ermitteln von Textinformationen aus PDF-Dokumenten.
-
In
der Dokumentenverwaltung wird heutzutage eine Vielzahl unterschiedlicher
Dateiformate verwendet. Dies hat den Nachteil, dass zum Betrachten oder
zum Ausdrucken der entsprechenden Dokumente oft unterschiedliche
Programme erforderlich sind. Insbesondere bei großen Projekten,
beispielsweise in der Bauindustrie, hat es sich daher als vorteilhaft
erwiesen, ein einheitliches Dokumentenformat zu verwenden. In den
letzten Jahren hat sich als ein solches geeignetes einheitliches
Dokumentenformat das sogenannte PDF etabliert (Portable Document
Format).
-
Bei
großen
Projekten gibt es zudem eine Vielzahl von unterschiedlichen Versionen
des gleichen zu Grunde liegenden Dokuments. Um in jedem Zeitpunkt
beispielsweise einer Bauphase sicher zu stellen, dass alle Beteiligten
dieselbe Version eines Dokuments verwenden, muss die Verteilung
der Dokumente an die beteiligten Personen einheitlich erfolgen.
Dies erfordert, dass die Dokumente zum einen zentral verwaltet werden,
zum anderen allerdings auch leicht auffindbar sind. Hierzu wird
vorzugsweise eine Indexsuche verwendet. Da eine Vielzahl von Dokumenten
auf verteilten Systemen erstellt wird, umfasst die Archivierung
dabei auch eingescannte Dokumente, die insbesondere wieder in PDFs
umgewandelt werden. Andererseits werden oft auch unmittelbar beispielsweise
aus einem zur Erstellung eines Textdokuments verwendeten Textverarbeitungsprogramm
PDFs generiert.
-
Problematisch
ist es nun, aus diesen unterschiedlichen PDFs eine möglichst
große
Anzahl aussagekräftiger
Schlagwörter
oder allgemeiner der Textinformation zu erstellen, um ein bestimmtes
Dokument mit geringem Aufwand auffinden zu können. Da ein einzelnes PDF-Dokument
sowohl originäre
Textabschnitte als auch grafische Buchstabenelemente oder andere
Grafiken, wie z. B. mittels eines CAD-Systems erstellter Zeichnungen
enthalten kann, ist die Erfassung der in dem gesamten PDF enthaltenen
Textinformation problematisch.
-
Es
ist daher die Aufgabe der Erfindung, ein Verfahren zum Erfassen
von Textinformationen in PDFs zu schaffen, bei dem eine hohe Quote
aufgefundener Textinformation unabhängig vom Aufbau und der Herkunft
des PDFs erreicht werden kann.
-
Die
Aufgabe wird durch das erfindungsgemäße Verfahren sowie die erfindungsgemäßen Computerprogramme
gelöst.
-
Erfindungsgemäß wird zum
Ermitteln von Textinformation aus PDF-Dokumenten zunächst ein zu
analysierendes PDF-Dokument eingelesen. Die Struktur eines solchen
PDF-Dokuments wird anschließend
analysiert und es werden einzelne Dokumentabschnitte ermittelt.
Das Dokument wird dann in die ermittelten Dokumentenabschnitte zerlegt.
Für die
einzelnen Dokumentenabschnitte werden dann Inhaltstypen ermittelt.
Die Inhaltstypen der unterschiedlichen Dokumentenabschnitte können voneinander
abweichen. Zur Ermittlung der in den Dokumentenabschnitten enthaltenen
Textinformationen wird dann ein Texterkennungsalgorithmus verwendet,
der für
jeden Dokumentenabschnitt anhand seines ermittelten Inhaltstyps
ausgewählt
wird. Mit diesem Texterkennungsalgorithmus wird dann nur der jeweils
zugeordnete Dokumentenabschnitt überprüft und die
darin enthaltene Textinformation ermittelt. Anschließend wird
der erkannte Text des Dokumentenabschnitts ausgegeben.
-
Bei
dem erfindungsgemäßen Verfahren
ist es vorteilhaft, dass zunächst
eine Zergliederung des einheitlichen PDF-Dokuments in einzelne Dokumentenabschnitte
erfolgt. Diesen Dokumentenabschnitten ist dann zum einen über ihren Inhaltstyp
ein geeigneter Texterkennungsalgorithmus zugeordnet. Lässt sich
in einem bestimmten Dokumentenabschnitt eine Ermittlung der darin
enthaltenen Textinformationen nicht mit vertretbarem Aufwand durchführen, so
ist aufgrund der Gliederung in die einzelnen Dokumentenabschnitte
lediglich die in diesem Dokumentenabschnitt enthaltene Textinformation
bezüglich
einer weiteren Verarbeitung verloren. Auch bei komplexen Dokumenten
kann somit ein Großteil der
enthaltenen Textinformation in einfach und insbesondere ökonomisch
kurzer Zeit erfasst werden. Da häufig
die Information die in dem Text enthalten ist über verschiedene Abschnitte
eines Dokuments verteilt ist lässt
sich somit auf Basis des so ermittelten Texts des Gesamtdokuments
auch dieses Dokument mit hoher Wahrscheinlichkeit auffinden. Der
negative Effekt einer nicht ermittelten Textinformation in einem der
Abschnitte fällt
daher nicht gravierend auf.
-
In
den Unteransprüchen
sind vorteilhafte Weiterbildungen des erfindungsgemäßen Verfahrens ausgeführt.
-
Vorzugsweise
werden bei der Analyse der Struktur des PDF-Dokuments Seitenumbrüche ermittelt. Die Dokumentenabschnitte
entsprechen dann jeweils einer Seite des eingelesenen PDF Dokuments. Die
Strukturen der verwendeten PDF Dokumente haben den Vorteil, dass
sie unabhängig
von der Erzeugung des PDFs zumindest einen gewissen Mindeststandard
erfüllen.
Dieser Mindeststandard erlaubt es in einfacher Weise, die einzelnen
Seiten eines PDF-Dokuments zu ermitteln. Das Gleichsetzen einer
solchen Seite mit einem Dokumentenabschnitt hat dann den Vorteil,
dass durch den kurzen Dokumentenabschnitt im Zweifelsfall nur ein
extrem geringer Teil der Textinformation nicht ermittelt werden kann.
Zudem entspricht die Gliederung in Dokumentenabschnitte, die den
Seiten entsprechen, häufig
einer natürlichen
Gliederung des Gesamtdokuments. So werden insbesondere Zeichnungen
oft als ganzseitige Zeichnungen in ein Dokument eingefügt. Diese
können
dann wenn die Zergliederung des PDFs in einzelne Seiten erfolgt in
einfacher Weise eine für Zeichnungen
geeigneten Texterkennungsalgorithmus zugeführt werden.
-
Zur
Ermittlung des Inhaltstyps wird vorzugsweise zwischen zwei Inhaltstypen
unterschieden. Der erste Inhaltstyp ist ein solcher Teil des PDF-Dokuments,
der zum Inhalt reinen Text Bestandteil hat. Dies könnten beispielsweise
Seiten sein, die mit einem Textverarbeitungsprogramm erstellt werden, wobei
das entstehende Dokument in ein PDF umgewandelt wird. Der zweite
Inhaltstyp ist jeder Dokumentenabschnitt, der wenigstens einen weiteren
Bestandteil enthält.
Damit werden alle Dokumentenabschnitte, die nicht unmittelbar Text
enthalten dem zweiten Inhaltstyp zugeordnet. Hierunter fallen auch eingescannte
Textdokumente, da hier die Textinformation auch als grafische Information
vorliegt.
-
Während für den ersten
Inhaltstyp unmittelbar eine Textextraktion durchgeführt werden
kann ist es für
den zweiten Inhaltstyp schwieriger. Hier kann es zudem auftreten,
dass beispielsweise DIN A0 oder größere Zeichnungen, die häufig für Grundrisse
oder ähnliches
verwendet werden, auftreten. Die Wahrscheinlichkeit, dass in einer
solchen Grafik, die eine gewisse Größe überschreitet, zum Auffinden
des Dokuments in einer Suche relevante Textinformation enthalten
ist, ist dabei gering. Zudem steigt mit zunehmender Komplexität eines
grafischen Bestandteils die Dauer zum Erfassen der Textinformationen erheblich
an. Es wird daher bevorzugt ab einer vorzugsweise einstellbaren,
festgelegten Seitengröße, mit
der die ermittelte Seitengröße des Dokumentenabschnitts
verglichen wird, der Texterkennungsvorgang abgebrochen und zum nächsten Dokumentenabschnitt übergegangen.
Ein zweites, kumulativ wirkendes Abbruchkriterium ist, dass bei
Dokumentenabschnitten des zweiten Inhaltstyps bei Überschreitung
einer längsten
Bearbeitungsdauer ebenfalls die Textermittlung abgebrochen wird
und zum nächsten Dokumentenabschnitt übergegangen
wird. Auf diese Weise ist sichergestellt, dass auch dann, wenn zunächst anzunehmen ist,
dass die Textinformation aus dem Dokumentenabschnitt ermittelbar
ist, aufgrund beispielsweise der Komplexität einer in DIN A4 vorliegenden
Zeichnung die Überarbeitungszeit
zu einem Blockieren des Systems führen würde. Für die Dokumentenabschnitte
des zweiten Inhaltstyps wird zur Ermittlung der Textinformation
vorzugsweise ein Mustervergleich mit Umwandlung der erkannten Textinformation
in Text durchgeführt,
wie er für OCR-Systeme
bekannt ist. Dagegen wird vorzugsweise für die Dokumentenabschnitte
des ersten Inhaltstyps eine Textextraktion der schon als Text im PDF
enthaltenen Textinformation durchgeführt. Unter Textextraktion ist
hierbei zu verstehen, dass mit Hilfe eines geeigneten Erkennungsalgorithmus
die Struktur des PDF-Dokumentenabschnitts
analysiert wird, um den darin als Text enthaltenen Anteil zu ermitteln. Hierzu
werden Steuerinformationen des PDF-Dokuments interpretiert.
-
Ein
bevorzugtes Ausführungsbeispiel
des erfindungsgemäßen Verfahrens
ist in der Zeichnung dargestellt und wird in der nachfolgenden Beschreibung
näher erläutert. Es
zeigen:
-
1 ein
Blockschaltbild eines Systems, indem die erfindungsgemäße Ermittlung
von Textinformationen eingesetzt wird; und
-
2 ein
vereinfachtes Ablaufschema zur Durchführung des erfindungsgemäßen Verfahrens.
-
In
der 1 ist vereinfacht die Struktur eines Systems 1 dargestellt,
welches die erfindungsgemäße Ermittlung
von Textinformationen verwendet. Zur Kommunikation mit einem nicht
dargestellten Nutzer ist ein User Interface 2 vorgesehen.
Das User Interface 2 kann beispielsweise ein Bildschirm
eines Computersystems sein, der mit den übrigen in der 1 dargestellten
Komponenten auch über
ein Netzwerk verbunden sein kann. Zu dem bereits beschriebenen Auffinden
von Dokumenten wird der User über
das Interface 2 in einem Eingabefeld 21 eine Suchanfrage
definieren. Er gibt hierzu beispielsweise Schlagwörter ein,
die er in dem für
ihn relevanten Dokument vermutet. Als Antwort erwartet er eine Liste 22,
in der die Fundstellen, die zu seiner Suchanfrage passen, nach Relevanz
sortiert ausgegeben werden.
-
Die
Dokumente, zu denen die Suche durchgeführt werden soll sind in einem
File Server 3 gespeichert. Zusätzlich existiert eine Datenbank 4,
die weitere Informationen zu den einzelnen Dokumenten enthält. Sowohl
die Textinformationen aus den Dateien des File Servers 3 als
auch die zugeordneten Informationen der damit verknüpften Datenbank 4 werden
einem Volltextindex 5 zur Verfügung gestellt. Der Volltextindex 5 enthält dann
eine verknüpfte
Information mit dem Auftreten von Wörtern in den Dokumenten sowie
in der Datenbank abgelegter Zusatzinformationen. Die eingegebene
Suchanfrage des Users wird dem Volltextindex 5 bzw. einem
hierauf zugreifenden Algorithmus zugeführt. Auf Basis der Suchanfrage
wird mit an sich bekannten Algorithmen in dem Volltextindex 5 eine
Auswertung durchgeführt und
die so ermittelten Dokumente nach Relevanz sortiert dem Interface 2 wieder
zur Ausgabe zur Verfügung
gestellt. Auf eine Darstellung des genauen Ablaufs dieses Analyseschritts
kann vorliegend verzichtet werden, da hier an sich bekannte Algorithmen zum
Einsatz kommen können.
-
Entscheidend
für die
Qualität
einer solchen Suche ist, dass dem Volltextindex 5 möglichst
umfassende Textinformationen aus den Dateien des File Servers 3 zur
Verfügung
gestellt werden. Zur weiteren Erläuterung des Beispiels wird
davon ausgegangen, dass es sich um reine PDF Dateien handelt. Es ist
jedoch erkennbar, dass auf dem File Server 3 auch anderen
Dateien gespeichert sein können,
die allerdings nicht mittels des vorliegenden Verfahrens zu analysieren
sind, da sie beispielsweise ein auf andere Weise analysierbares
Dokumentenformat aufweisen. Solche Dateien wären beispielsweise reine Textdateien,
wie sie mit einfachen Texteditoren erstellt werden oder Dateien,
die mit den weit verbreiteten Microsoft Office-Programmen erstellt
wurden.
-
Wird
zur Archivierung dem File Server 3 ein neues PDF hinzugefügt, so wird
automatisch das nachfolgend im Detail erläuterte Verfahren angewandt.
Zunächst
wird das PDF-Dokument
dem Textermittlungsabschnitt 6 zugeführt. Der Textermittlungsabschnitt 6 weist
einen Strukturanalyseabschnitt 7 und einen damit verbundenen
Algorithmuszuweisungsabschnitt 8 auf. In dem Strukturanalyseabschnitt 7 wird
das eingelesene PDF Dokument hinsichtlich seiner Struktur zunächst analysiert.
Als Ergebnis der Strukturanalyse wird das PDF-Dokument in einzelne
Abschnitte gegliedert. Diese Dokumentenabschnitte werden beispielsweise
durch jeden erkannten Seitenwechsel definiert. Zum Erkennen des Seitenwechsels
können
entsprechende Steuerbefehle, die in dem PDF-Dokument enthalten sind,
gesucht werden.
-
Die
einzelnen Dokumentenabschnitte werden dann von dem Strukturanalyseabschnitt 7 dem Algorithmuszuweisungsabschnitt 8 zugeführt. In
dem Algorithmuszuweisungsabschnitt 8 wird zunächst für die einzelnen
Dokumentenabschnitte deren Inhaltstyp ermittelt. Hierzu wird wiederum
auf die bestimmten Inhalten zugeordneten, im PDF-Dokument enthaltenen
Markierungen zurückgegriffen.
Diese leiten beispielsweise einen reinen Textabschnitt des PDF Dokuments
ein. Wird eine solche einleitende Markierung gefunden, so ergibt
sich daraus zwingend, dass der nachfolgende Abschnitt ein reiner
Textabschnitt ist. Ein solcher Textabschnitt wird mit einer Endmarke beendet.
Wird innerhalb eines Dokumentenabschnitts lediglich eine Anfangs-
und Endmarke für Text
gefunden, so wird diesem Dokumentenabschnitt ein erste Inhaltstyp
(„Text”) zugeordnet.
Werden dagegen innerhalb eines Dokumentenabschnitts auch andere
Anfangs- und Endmarken,
die beispielsweise eine eingefügte
Grafik charakterisieren, gefunden, so wird einem solchen Dokumentenabschnitt,
der wenigstens einen weiteren Bestandteil, also einem Nicht-Textbestandteil,
enthält,
ein zweiter Inhaltstyp zugeordnet. Dem zweiten Inhaltstyp sind beispielsweise
auch solche Dokumentenabschnitte zuzuordnen, die einen eingescannten
Text enthalten. Da hier die Textinformation nicht als Text, sondern
als Grafik vorliegt, muss ein anderer Algorithmus zum Ermitteln der
Textinformation als bei dem ersten Inhaltstyp zur Anwendung kommen.
-
Nachdem
die Dokumentenabschnitte eindeutig dem ersten Inhaltstyp oder dem
zweiten Inhaltstyp zugeordnet sind, werden sie einem für den Inhaltstyp
geeigneten Texterkennungsalgorithmus zugeführt. In der 1 sind
allgemein drei solcher Bearbeitungsabschnitte für unterschiedliche Texterkennungsalgorithmen 9', 9'' und 9''' dargestellt.
Bei der zuvor beschriebenen Unterscheidung in lediglich zwei Inhaltstypen
ist es leicht ersichtlich, dass der erste und der zweite Texterkennungsalgorithmus 9' und 9'' ausreichend sind. Es ist jedoch
auch möglich, einen
dritten Inhaltstyp zu definieren und hierfür einen besonders geeigneten
Erkennungsalgorithmus zu verwenden. Mit Hilfe dieser Texterkennungsalgorithmen 9'–9''' werden
die Textinformationen aus den Dokumentenabschnitten ermittelt. Anschließend werden
die aus allen Dokumentenabschnitten eines PDF-Dokuments ermittelten
Textinformationen in reinen Text umgewandelt und die so erzeugte
Textdatei dem Volltextindex 5 übermittelt.
-
Sowohl
bei der Übermittlung
der Suchanfrage an den Volltextindex 5 als auch bei der Übermittlung
der Textdatei 10 an den Volltextindex 5 werden sogenannte
Wortartenreduktion und Kompositazerlegung verwendet, um Wörter auf
ihre Stammform und/oder Wortbestandteile zurückzuführen. Dieser als Indizierung
bekannte Vorgang ist an sich wieder bekannt und wird daher nicht
weiter erläutert.
-
Die 2 zeigt
das Verfahren zur Ermittlung der Textinformation in PDF-Dokumenten
und Erzeugung einer Textdatei mit diesen Textinformationen noch
einmal in vereinfachter Form. Zunächst wird in Schritt 25 ein
PDF-Dokument durch den Textermittlungsabschnitt 6 eingelesen.
Es wird dann in Schritt 26 wie bereits beschrieben, eine
Strukturermittlung des PDF-Dokuments in dem Strukturanalyseabschnitt 7 durchgeführt. Auf
Basis dieser ermittelten Struktur wird ebenfalls in dem Strukturanalyseabschnitt 7 das
PDF-Dokument in mehrere Dokumentenabschnitte zerteilt. Die Dokumentenabschnitte entsprechen
dabei vorzugsweise den einzelnen Seiten eines PDF-Dokuments.
-
In
Schritt 28 wird dann eine Zuordnung eines Inhaltstyps von
wenigstens zwei Inhaltstypen zu den einzelnen Dokumentenabschnitten
durchgeführt. Hierzu
wird der Inhalt der einzelnen Dokumentenabschnitte analysiert, wozu
Anfangs- und Endmarkierungen der einzelnen Abschnitte verwendet
werden. Die Dokumentenabschnitte und die Abschnitte müssen dabei
nicht übereinstimmen.
So kann jeder Dokumentenabschnitt mehrere mit Anfangs- und Endmarkierungen
begrenzte Abschnitte enthalten, die unterschiedliche Inhalte haben
können.
Wenn mindestens einer dieser Abschnitte kein Text ist und somit
der Dokumentenabschnitt wenigstens einen Nicht-Text-Bestandteil aufweist,
wird diesem Dokumentenabschnitt der zweite Inhaltstyp zugeordnet. Der
erste Inhaltstyp wird dagegen zugeordnet, wenn es sich um einen
reinen Text-Dokumentenabschnitt handelt.
-
Zur
eigentlichen Ermittlung der in den Dokumentenabschnitten und damit
dem gesamten Dokument enthaltenen Textinformation wird ein Dokumentenabschnitt
in Schritt 29 dem eigentlichen Erkennungsalgorithmus übergeben.
War festgestellt worden, dass der Dokumentenabschnitt den ersten
Inhaltstyp aufweist, so wird eine Textextraktion in Schritt 30 durchgeführt. Eine
solche Textextraktion kann den zwischen den Anfangs- und der Endmarkierung
enthaltenen reinen Text herauslesen und in einer Textdatei speichern.
Zunächst
wird allerdings das Teilergebnis zwischengespeichert, bis sämtliche Dokumentenabschnitte
des PDF-Dokuments fertig ausgewertet sind. Nach dem Abarbeiten des
Dokumentenabschnitts wird also das jeweilige Teilergebnis ergänzt (Schritt 31)
und anschließend
der nächste Dokumentenabschnitt
dem jeweils zugeordneten Erkennungsalgorithmus zugeführt.
-
Im
Beispiel war davon ausgegangen worden, dass der gerade analysierte
Dokumentenabschnitt vom ersten Inhaltstyp war. Wird anschließend z.
B. ein Dokumentenabschnitt vom zweiten Inhaltstyp übergeben,
so wird zunächst
in Schritt 32 die Seitengröße des Dokumentenabschnitts
ermittelt. Ist diese größer als
DIN A3, wird eine weitere Ermittlung der darin enthaltenen Textinformation
nicht durchgeführt. Dies
dient der Reduzierung der Zeiten, die zur Ermittlung der Textinformation
in ein PDF-Dokuments erforderlich sind. Es wird dann unmittelbar
zurückgesprungen
zu Schritt 29 und wiederum der nächste Dokumentenabschnitt an
den jeweils zugeordneten Algorithmus übergeben.
-
Wird
dagegen in Schritt 32 erkannt, dass die Seitengröße kleiner
oder gleich DIN A3 ist, so wird eine Mustererkennung in Schritt 33 zur
Ermittlung der Textinformation durchgeführt. Diese Mustererkennung
erfolgt mit an sich bekannten OCR-Algorithmen. Sie beinhaltet auch
eine Konvertierung der erkannten Textmuster im Text. Die Festlegung
der Seitengröße zu DIN
A3 ist lediglich für
das dargestellte Ausführungsbeispiel
gewählt
und kann in Abhängigkeit
von der Leistungsfähigkeit
der zur Berechnung verwendeten Prozessoren angepasst werden.
-
Die
in der Mustererkennung 33 erkannten Textinformationen werden
in Text umgewandelt, wie es allgemein für OCR-Programme bekannt ist und auch hier
wird ein Teilergebnis in Schritt 34 zwischengespeichert
und bei weiteren Dokumentenabschnitten desselben Inhaltstyps ergänzt. Damit werden
in Schritt 31 und Schritt 34 jeweils Textinformationen aus
den Dokumentenabschnitten des ersten Inhaltstyps und den Dokumentenabschnitten
des zweiten Inhaltstyps als Text ergänzt. Dabei fehlen lediglich diejenigen
Textinformationen von Dokumentenabschnitten des zweiten Inhaltstyps,
die aufgrund einer zu großen
Seitengröße nicht
ermittelt werden konnten. Ferner wird auch bei einer Seitengröße, die
kleiner oder gleich DIN A3 ist, die Mustererkennung in Schritt 33 abgebrochen,
wenn der Erkennungsprozess länger
als eine definierte Zeitspanne dauert.
-
Die
Teilergebnisse aus den Schritten 31 und 34 werden,
wenn keine weiteren Dokumentenabschnitte mehr vorhanden sind und
das PDF-Dokument somit vollständig
erfasst ist, in ein gemeinsames Textdokument überführt. Nach Erstellen eines solchen
Textdokuments 35, das den gesamten aus dem PDF-Dokument
ermittelten Text enthält,
wird dieses dann wie bereits beschrieben dem Volltextindex 5 zugeführt.
-
Die
Erfindung ist nicht auf das dargestellte Ausführungsbeispiel beschränkt. Insbesondere
sind auch Kombinationen einzelner Merkmale in vorteilhafterweise
möglich.
So dienen vor allem die beschriebenen Algorithmen zur Ermittlung
der Textinformation (OCR, usw.) lediglich dem Verständnis. Eine
Beschränkung
hierauf kann jedoch für
die Erfindung nicht erfolgen.