Text für die Maschine

22. Oktober 2023
von Matthias Nagelschmidt

Maschinelle Erschließung braucht maschinenlesbare Texte. Die Textbereitstellung sorgt genau dafür und interessiert sich für PDF-Dateien, Pixelmuster und Silbentrennungen.

Foto: Sven Brandsma auf Unsplash

Werke, die ganz oder teilweise maschinell erschlossen werden, stammen inzwischen aus den Reihen O, B und H der Nationalbibliografie. Doch unabhängig davon, ob es sich um eine Online-Publikation aus der Reihe O handelt, oder um eine Printpublikation, die außerhalb des Verlagsbuchhandels (Reihe B) oder als Hochschulschrift (Reihe H) erschienen ist – es stellt sich zunächst die Aufgabe, diese für die eingesetzte Erschließungssoftware lesbar zu machen. Denn obwohl die Online-Publikationen, ebenso wie die nachträglich digitalisierten Inhaltsverzeichnisse der Printpublikationen entweder als EPUB- oder PDF-Dateien vorliegen und damit bereits in der digitalen Welt angekommen sind, kann die Erschließungssoftware sie nicht ohne Weiteres verarbeiten. Um diese Publikationen für die Software lesbar zu machen, muss der, in den Dateien enthaltene Text herausgelöst und an die Software geschickt werden. Mit diesem Prozess beschäftigt sich die Textbereitstellung.

Textextraktion für PDF-Dateien

Hinter der Textbereitstellung stehen Verfahren der sogenannten „Textextraktion“. Das Extrahieren von Text aus einer PDF-Datei ist eine, in vielen Bereichen alltägliche und grundlegende Aufgabe, die sich gleichwohl bei näherer Betrachtung als erstaunlich schwierig und anspruchsvoll erweist. Denn der PDF-Standard ist ein layoutorientiertes Dateiformat, in welchem nicht etwa einzelne Wörter oder auch ganze Absätze des darin enthaltenen Textes spezifiziert sind, sondern die Positionierung der einzelnen Zeichen und die verwendeten Schriftarten. Da es sich beim PDF-Standard aber immer noch um einen der am weitesten verbreiteten Standards für elektronische Dokumente handelt und es dementsprechend auch viele Anwendungen gibt, die Textdaten aus PDF-Dateien weiterverarbeiten, existiert auch ein breites Angebot von Extraktionstools, mit denen sich der in PDF-Dateien enthaltene Text auslesen lässt. Ebenso breit ist der Funktionsumfang dieser Extraktionstools, der von einfachen Anwendungen für eine möglichst schnelle Konvertierung zu Plain Text, XML oder HTML, bis hin zu umfangreicheren Programmbibliotheken reicht, die neben der bloßen Textextraktion auch in der PDF-Datei auftretende Ligaturen und Diakritika korrekt auflösen oder Silbentrennungen im extrahierten Text rückgängig machen können. Andere Tools setzen den Schwerpunkt auf die Interpretation von semantischen Strukturen in der PDF-Datei, etwa die automatische Erkennung von Überschriften, Textkorpora, Formeln, Tabellen, Abbildungen etc. Alle dies geht immer mit Fehlern einher, eine nahezu oder gar vollständig fehlerfrei Textextraktion gibt es nicht.

Fehlern die richtige Bedeutung beimessen

Dabei ist es für die Beurteilung der Leistungsfähigkeit einer Extraktionssoftware wichtig, die, auf den jeweiligen Anwendungskontext bezogen, kritischen Fehler von den weniger kritischen oder unkritischen Fehlern zu unterscheiden. So ist eine vergleichsweise hohe Fehlerquote bei der Erkennung semantischer Strukturen im Text nur dann ein Problem, wenn diese Strukturinformationen für die Nachbearbeitung auch relevant sind. Das fehlerfreie Rückgängigmachen von Silbentrennungen ist nur dann hilfreich, wenn ein möglichst zusammenhängender Fließtext gewünscht wird – soll dagegen das Extraktionsergebnis auch hinsichtlich Schriftsatz und Formatierung möglichst nah am zugrundeliegenden PDF sein, ist eine Silbentrennung sogar absolut kontraproduktiv. Ganz grundsätzlich lässt sich die Qualität eines Extraktionsergebnisses anhand folgender, allgemeiner Fehlerklassen messen: die Anzahl von falschen oder fehlenden Zeilen, die Anzahl falscher, fehlender oder falsch geschriebener Wörter und die Anzahl falscher, fehlender oder in falscher Reihenfolge stehender Absätze. Für die maschinelle Erschließung spielen vor allem Vollständigkeit und korrekte Rechtschreibung eine zentrale Rolle, denn das Ziel besteht schließlich darin, eine vollständige und fehlerfreie Datenbasis für die Erschließungssoftware bereitzustellen.

Doch neben diesen Fehlerklassen, die je nach bestehenden Anforderungen individuell gewichtet werden sollten, ist es grundsätzlich auch möglich, dass entweder nichts extrahiert wurde, das heißt, die Datei, in die der extrahierte Text geschrieben wird, ist leer, oder dass ein vollständig unbrauchbares Ergebnis vorliegt, wenn also die Extraktion des Textes vollständig fehlgeschlagen ist und die Datei mit den Extraktionsergebnissen nur eine Sequenz von Zeichen enthält, die keinerlei Rückschlüsse auf den Inhalt des PDFs zulassen. Die Ursachen für diese Fehlerklassen werden in den allermeisten Fällen bei den PDF-Dateien zu finden sein, die entweder fehlerhaft sind, oder auf einer zu niedrigen Konformitätsstufe erzeugt wurden, also von zu geringer Qualität für eine Extraktion des darin enthaltenen Textes sind. Beide Fälle sind eindeutig unerwünscht, da eine leere oder vollständig fehlerhafte Ergebnismenge jede Art von Weiterverarbeitung unmöglich macht. Um einzuschätzen, ob diese beiden Fehlerklassen auch tatsächlich kritisch sind, muss die Frage nach der Häufigkeit gestellt werden. Es macht sicherlich einen Unterschied, ob ein Drittel oder sogar die Hälfte der extrahierten PDF-Dateien zu einem leeren oder unbrauchbaren Ergebnis führen, oder ob dies nur auf einige, wenige Prozent der verarbeiteten Menge zutrifft. Wie oft eine maschinelle Erschließung ausbleiben muss, weil keine oder eine gänzlich unbrauchbare Datenbasis bereitgestellt wird, ist eine Frage, auf die eine genaue Antwort noch aussteht. Immerhin bleibt es im alltäglichen Betrieb unterhalb der Schwelle des deutlich Wahrnehmbaren, denn Werke, bei denen die maschinelle Erschließung fehlschlägt, weil gar kein Text dazu bereitgestellt wurde, sind tatsächlich die Ausnahme.

Doch wie könnte man mit solchen PDF-Dateien umgehen, die zu dieser Ausnahme gehören, für die die Textextraktion also keine brauchbare Datenbasis bereitstellen konnte? Gibt es noch andere Möglichkeiten, um an die Texte heranzukommen? Die Arbeitsgruppe TEXT hat begonnen, sich mit dieser Frage zu beschäftigen und dabei eine bestimmte Verfahrensklasse besonders in den Blick genommen.

Wie funktioniert eine optische Zeichenerkennung?

Die optische Zeichenerkennung (Optical Character Recognition, kurz: OCR) übersetzt die in einer Bilddatei zu erkennenden Muster in einen maschinenlesbaren Text. Im bibliothekarischen Kontext ist OCR bisher vor allem im Zusammenhang mit umfangreichen Digitalisierungsmaßnahmen zur Anwendung gekommen, etwa bei der Erstellung der „Verzeichnisse der im deutschen Sprachbereich erschienenen Drucke“ (VD). Nachdem als Ergebnis der VD-Projekte die deutschsprachigen Drucke des 16., 17. und 18. Jahrhunderts zunehmend in Form umfangreicher Bilddateien vorliegen, wird durch die DFG-Förderinitiative OCR-D inzwischen auch an der Bereitstellung der durchsuchbaren bzw. maschinenlesbaren Volltexte dieser alten Drucke gearbeitet. Außerhalb des Kulturbereiches, etwa in Industrie und Verwaltung, werden OCR-Verfahren zur Automatisierung von Geschäftsprozessen eingesetzt. Verträge, Dokumentationen zu Produkten und Dienstleistungen, aber auch die automatische Erkennung von Kfz-Kennzeichen oder von Adressen auf Briefumschlägen, die vielfältigen Anwendungsfelder für die Konvertierung einer Bilddatei in einen maschinenlesbaren Text sind leicht vorstellbar.

OCR-Verfahren haben bereits eine lange technische Evolution durchlaufen, von der einfachen Mustererkennung einzelner Zeichen aufgrund zusammenhängender Pixel in den Bilddateien, bis hin zu Deep Learning-Technologien, die nicht mehr einzelne Zeichen, sondern ganze Zeilen in den Blick nehmen und die auch in frei verfügbaren OCR-Engines zum Einsatz kommen. Doch für eine bestimmte Bilddatei das passende OCR-Verfahren mit den richtigen Parametern zu finden und zu konfigurieren, ist ein keine leichte Aufgabe, sondern ein längerer, iterativer Prozess.

Die populäre Open Source OCR-Software „Tesseract“ verfügt beispielsweise über mehr als sechshundert Parameter, anhand derer sich der OCR-Prozess gestalten lässt und die Bezug nehmen auf bestimmte Eigenschaften der zu verarbeitenden Bilddatei, die Sprache des zu erkennenden Textes, die zu verwendende OCR-Engine, das Debugging und viele andere Bereiche. Der Preis für diesen hohen Grad von Anpassbarkeit ist die damit einhergehende Komplexität. Schließlich müssen die je nach Aufgabenstellung relevanten Parameter identifiziert und die optimalen Parameterausprägungen bestimmt werden. Wird der damit verbundene Aufwand gescheut, so hat dies direkte Auswirkungen auf die Qualität des Ergebnisses, welches im Wesentlichen durch das Verhältnis von korrekt erkannten zu falsch bzw. nicht erkannten Zeichen ausgedrückt wird. Das bedeutet konkret: Sind die Parameter der OCR-Software nicht sorgfältig genug an die zu verarbeitende Bilddatei angepasst, kann die Menge der falsch erkannten Zeichen schnell einen Schwellenwert überschreiten, der das Ergebnis unbrauchbar macht. Eine wesentliche Rolle bei dieser Anpassung spielt die sogenannte „Segmentierung“. Die Segmentierung ist ein, der eigentlichen Zeichenerkennung vorgelagerter Schritt, bei dem es darum geht, die in der Bilddatei enthaltenen Textblöcke von anderen Elementen wie Tabellen, Diagrammen und Abbildungen zu unterscheiden. In der OCR-Software „Tesseract“ kann die Segmentierung beispielsweise durch die Festlegung sogenannter „Page Segmentation Modes“ vorgenommen werden. Die verschiedenen Segmentierungsmodi sind auf die Erkennung von, auf eine bestimmte Art und Weise angeordneten Zeichen optimiert. So gibt es z.B. einen Segmentierungsmodus, der besonders gut zusammenhängenden Fließtext erkennen kann, ein weiterer Modus kann Zeichen erkennen, die in tabellarischer Struktur angeordnet sind, ein weiterer Modus kann Zeichen aus Tabellen im Querformat herauslesen. Darüber hinaus gibt es Modi zur Verarbeitung von einzelnen Zeilen oder einzelnen Wörtern. Dabei ist die Wahl des Segmentierungsmodus eine kritische Entscheidung, denn der Einsatz eines nicht zur Bilddatei passenden Modus wird in den allermeisten Fällen zu einem unbrauchbaren Ergebnis führen.

Doch über die Segmentierung hinaus besteht ein gereifter OCR-Prozess aus zahlreichen weiteren Schritten der Vor- und auch Nachbearbeitung, in die die eigentliche Zeichenerkennung eingebettet ist. Zur Vorbereitung der Bilddatei können z.B. die „Binarization“ (Umwandlung aller Farb- und Graustufenpixel in Schwarz oder Weiß, um den Kontrast zu erhöhen), das „Cropping“ (Erkennen des Satzspiegels und Abgrenzung zu den Seitenrändern), das „Deskewing“ (Ausrichtung des Textes durch korrigierende Drehung), das „Despeckling“ (Entfernung von Flecken, Unterstreichungen u.ä.) und das „Dewarping“ (Begradigung der Textzeilen und Korrektur von geometrischen Verzerrungen) gehören. Die generischen Workflow-Modelle für OCR-Prozesse, etwa aus dem Kontext des OCR-D-Projektes, sehen dabei schon unmittelbar nach diesen Vorverarbeitungsschritten Qualitätskontrollen vor, die beim Unterschreiten eines definierten Schwellenwerts zu einer erneuten Vorverarbeitung führen können – bereits diese vorbereitenden Schritte können also mehrere Iterationen benötigen.

Unmittelbar im Anschluss an die Zeichenerkennung kann eine Exportschicht implementiert werden, die die Ergebnisse in eine oder mehrere, meist durch ein standardisiertes XML-Schema vorstrukturierte Dateien schreibt. Eine finale Nachbearbeitung des erkannten Textes kann dann entweder manuell, halbautomatisch oder automatisch erfolgen. Was an dieser Stelle sinnvoll ist, hängt stark von der weiteren Nutzung der OCR-Ergebnisse ab. Da, wo der durch OCR bereitgestellte Text die autoptische Arbeit am Werk ersetzen soll, kommt es darauf an, dass Layoutinformationen und Satzspiegel, inklusive der enthaltenen Silbentrennungen erhalten bleiben und in die Ergebnisdatei integriert werden. Etablierte Standards zur Speicherung von OCR-Ergebnissen wie das ALTO- oder TEI-Format sehen dafür entsprechende Kategorien vor. Geht es jedoch nur um den Text an sich bzw. um dessen Weiterverarbeitung, so kann z.B. eine automatisierte Zusammenführung getrennter Silben ein wichtiger Nachbearbeitungsschritt sein.

Auf der Suche nach einer „Fallback“-Lösung

Kehren wir zum Schluss noch einmal zurück zur Ausgangsfrage: Wie könnte man mit solchen PDF-Dateien umgehen, bei denen unsere praxiserprobten Verfahren der Textextraktion zu keinen Ergebnissen kommen? Bleiben diese Inhalte verloren? Oder gibt es eine „Fallback“-Lösung, also einen zweiten Versuch, um den Text für die maschinelle Erschließung doch noch zugänglich zu machen? Und könnte die optische Zeichenerkennung eine solche Lösung sein? Deutlich geworden ist jedenfalls, dass die Entwicklung und Implementierung von ausgereiften OCR-Prozessen anspruchsvoll und mit nicht zu unterschätzenden Kosten verbunden ist. Um zu verwertbaren Ergebnissen zu kommen, muss viel investiert werden. Die Fragen, die sich auf der Detailebene stellen, sind vielfältig und nicht leicht zu beantworten. Wie könnte man OCR so flexibel konfigurieren, dass es mit dem überaus heterogenen Bestand einer Nationalbibliothek umgehen kann? Wie viel muss durch eine Nachbearbeitung korrigiert werden, um zu einem zusammenhängenden Fließtext zu kommen und der Erschließungssoftware eine ideale Arbeitsgrundlage zu liefern?

Die Suche nach Antworten auf diese größeren und kleineren Fragen sollte jedoch nicht den Blick darauf verstellen, dass OCR in den großen Digitalisierungsprojekten durchaus erfolgreich eingesetzt wird und auch außerhalb des Kulturbereiches eine neue Relevanz erfahren hat. Für das Deep Learning beispielsweise und insbesondere für die großen Sprachmodelle, die die zugrundeliegende Technologie für leistungsfähige Chatbots wie ChatGPT sind, wird OCR als Schlüssel zu noch umfassender trainierten Modellen verstanden, denn schließlich sind auch diese Modelle auf immer mehr maschinenlesbaren Text angewiesen, um sich weiterentwickeln zu können. Dies ist bereits heute ein starker Treiber für Entwicklung neuer OCR-Engines, wie z.B. die Entwicklung von OCR-basierten Lösungen wie „Nougat“ (Neural Optical Understanding for Academic Documents) zeigt, eine Software, die auf die Extraktion von Formeln und anderen, insbesondere mathematischen Notationen spezialisiert ist. Manchmal ist es gut zu wissen, dass man nicht allein an einer Aufgabe arbeitet: Text für die Maschine(n)!

Gestern geliefert, heute verfügbar - Automatisierung beim Sammeln und Erschließen

In der Deutschen Nationalbibliothek arbeiten wir verstärkt an Automatisierung und setzen Künstliche Intelligenz #KI für die automatische Erschließung ein. Bei täglich mehr als 6.500 eingehenden digitalen Medienwerken erhalten Nutzer*innen dadurch schnell und effektiv Zugang zu den neuesten Veröffentlichungen. Wie funktioniert das? Die Kolleg*innen unseres Referats Automatische Erschließungsverfahren, Netzpublikationen erklären in dieser Serie den Weg von digitalen Medienwerken mit ihren Metadaten in und durch die DNB bis hin zur Erschließung mit Hilfe von Verfahren der KI.

Weitere Beiträge dieser Serie:

  • Die Herausforderung eines Webarchivs
    Was macht das Sammeln von Websites eigentlich so schwierig? Ein kurzer Abriss der Herausforderungen des Webarchivs der DNB.
  • Texte erschließen mit KI
    KI-Lösungen finden, die den Inhalt gesammelter Publikationen mit Schlagwörtern umfassend und präzise beschreiben. Das ist das Ziel des KI-Projekts.
  • In der DNB lesen jede Nacht die Maschinen
    Ein Teil der inhaltlichen Erschließung von Medienwerken wird in der Deutschen Nationalbibliothek (DNB) maschinell und vollautomatisiert durchgeführt.
  • Text für die Maschine
    Maschinelle Erschließung braucht maschinenlesbare Texte. Die Textbereitstellung sorgt genau dafür und interessiert sich für PDF-Dateien, Pixelmuster und Silbentrennungen.
  • Personen verbinden – in Katalog und GND
    Immer mehr Publikationen werden mit maschineller Unterstützung ihren Urheber*innen zugeordnet. In diesem Beitrag erfahren Sie, wie die DNB dazu beiträgt.
  • Parallelwelten in der Sammlung der DNB
    Wie findet man eine Parallelausgabe, was ist der Parallelabgleich und wofür brauchen wir ihn? Entdecken Sie Parallelwelten in der DNB!
  • Das Webarchiv der DNB
    Websites archivieren? Was wird da im Webarchiv so gemacht? Was wird gesammelt und wie nutzt man es? Der Beitrag bringt etwas Licht in ein unbekanntes Terrain.
*Nachweis Beitragsbild auf der Startseite:Sven Brandsma auf Unsplash

Schreibe einen Kommentar

Kommentare werden erst veröffentlicht, nachdem sie von uns geprüft wurden.
Deine E-Mail-Adresse wird nicht veröffentlicht.

Über uns

Die Deutsche Nationalbibliothek ist die zentrale Archivbibliothek Deutschlands.

Wir sammeln, dokumentieren und archivieren alle Medienwerke, die seit 1913 in und über Deutschland oder in deutscher Sprache veröffentlicht werden.

Ob Bücher, Zeitschriften, CDs, Schallplatten, Karten oder Online-Publikationen – wir sammeln ohne Wertung, im Original und lückenlos.

Mehr auf dnb.de

Schlagwörter

Blog-Newsletter

In regelmäßigen Abständen erhalten Sie von uns ausgewählte Beiträge per E-Mail.

Mit dem Bestellen unseres Blog-Newsletters erkennen Sie unsere Datenschutzerklärung an.

  • ISSN 2751-3238