Steigende Mengen an Dokumenten und die darin enthaltenen Informationen müssen heute von Unternehmen verarbeitet werden, um die verborgenen Inhalte nutzen zu können. Dies geschieht entweder durch zeitaufwändige manuelle Textzusammenfassung oder durch den Einsatz einer Automatisierungslösung. Die automatische Textzusammenfassung hilft dem Menschen, die wachsende Menge an Informationen effizient zu verarbeiten.
Was genau ist automatische Textzusammenfassung?
Das Oxford English Dictionary definiert automatische Textzusammenfassung als „die Erstellung einer gekürzten Version eines Textes durch ein Computerprogramm. Das Produkt dieses Verfahrens enthält noch die wichtigsten Punkte des ursprünglichen Textes.“ [1]
Ein gutes Beispiel, für Fälle indem eine Zusammenfassung nützlich sein kann, sind die Geschäftsberichte von Unternehmen. Diese Dokumente enthalten viele Fakten, die für Investoren entscheidend sein können, da sie Informationen über viele Faktoren wie Nachhaltigkeit oder Umweltpolitik enthalten, die für die Entscheidung der Investoren hilfreich sein können. Allerdings sind die Geschäftsberichte in der Regel sehr lange Dokumente mit Hunderten von Seiten, was ihre Analyse zu einem zeitaufwändigen Prozess macht, der durch einen automatischen Workflow erleichtert werden könnte.
Sie lesen den Text in seiner Originalfassung.
Wie können wir den Text in PDF-Dateien zusammenfassen?
Wir unterteilen den Prozess in drei Hauptteile. Für jeden dieser Schritte gehen wir in den folgenden Abschnitten dieses Artikels näher ins Detail. Sie können direkt in die Details einsteigen, oder wir erläutern Ihnen zunächst die wichtigsten Ergebnisse der einzelnen Schritte.
1. Objekterkennung für Seitensegmentierung verwenden
Im ersten Schritt müssen wir die Teile des Dokuments auswählen, auf die wir uns konzentrieren wollen. Mit Seitensegmentierung oder auch Layout-Analyse genannt, bezeichnen wir die Aufteilung eines Dokuments in einzelne Teile. Dies geschieht mit unserem eigenen trainierten Modell, da wir mit Standardsoftware wie Tesseract oder Abbyy FineReader nicht das gewünschte Ergebnis erzielen konnten. Während wir viele bereits zusammengefasste Informationen aus Bildern, Grafiken und Überschriften erhalten können, ist es der Text, der die vollständigste Informationsquelle darstellt. Ein möglicher Weg, das Dokument in verschiedene Komponenten aufzuteilen, ist die Verwendung eines Computer-Vision-Ansatzes. Ein Modell zur Multiklassen-Objekterkennung kann automatisch zwischen verschiedenen Elementen im Geschäftsbericht unterscheiden. Alle Inhalte können in fünf Kategorien aufgeteilt werden: Titel, Text, Tabelle, Liste und Abbildung. Nur die gefundenen Stellen der Kategorie Text werden für die folgenden Schritte des Verdichtungsprozesses verwendet.
2. Konvertierung des Bildes in Text mit OCR
Der nächste Schritt besteht darin, die ausgewählten Bounding Boxes des Dokuments in Text umzuwandeln. Dieser Teil kann als ein OCR-Problem (Optical Character Recognition) definiert werden, das mit Hilfe etablierter Tools gelöst wurde. Natürlich kann dieser Schritt entfallen, wenn die Dokumente bereits über Texteinbettungen verfügen. Oft ist es jedoch notwendig, z. B. Tabellen oder gescannte Dokumente einzulesen. In unserer Softwarelösung können die Anwender für jedes Projekt entscheiden, ob sie Texteinbettungen, Tesseract oder eine kommerzielle OCR verwenden wollen.
3. Text-Zusammenfassung eines beliebigen Absatzes
Der letzte Schritt ist die Zusammenfassung des ausgewählten Inhalts. Hier kommen so genannte Transformers ins Spiel, die sich in letzter Zeit als leistungsfähige Modelle erwiesen haben. Wir haben das maßgeschneiderte BERT-Modell PEGASUS verwendet, das speziell für automatische Zusammenfassungen entwickelt wurde. Das Ergebnis zeigt uns eine zusammengefasste Version des Absatzes, den wir in den ersten Schritten erkannt und aus dem Bericht extrahiert haben. Die ursprüngliche Länge von 910 Zeichen wurde auf 193 Zeichen reduziert, was zu einer Zeitersparnis von fast 80% führt. Trotzdem sind alle relevanten Informationen zum Verständnis des Absatzes enthalten.
Dieser Ansatz schrumpft Absätze in einer PDF-Datei um 80 %.
Text-Zusammenfassung mit PEGASUS und schnellerem R-CNN Whitepaper
Möchten Sie jetzt mehr erfahren?
Wie verwendet man Objekterkennung für die Seitensegmentierung?
Die Objekterkennung ist eine Aufgabe, bei der Objekte einer bekannten Klasse im Bild identifiziert werden und Informationen über ihren Standort geliefert werden. Eine sehr bekannte Architektur für diese Aufgabe ist das Faster R-CNN. Diese Architektur hat zwei Ausgaben für jedes Objekt: ein Klassenlabel und eine Bounding-Box. Sie besteht aus zwei Modulen: einem tiefen, voll gefalteten Netzwerk zum Vorschlagen von Regionen und einem Fast R-CNN, das Objekte in diesen Regionen erkennt.
Das funktioniert so, dass ein Eingangsbild in ein Faltungsnetzwerk eingespeist wird, das eine Merkmalskarte des Bildes erstellt. Dann nimmt ein separates Netzwerk (das Regionsvorschlag-Netzwerk) diese Merkmalskarte und sagt mögliche Regionen für die Objekte (Regionsvorschläge) voraus. Diese Regionsvorschläge werden einer ROI-Pooling-Schicht zugeführt, die sie in eine vordefinierte Größe umformt. Schließlich wird der Ausgabevektor der Pooling-Schicht zur Klassifizierung der vorgeschlagenen Regionen und zur Verfeinerung der Bounding Boxes verwendet.
In jüngerer Zeit hat Mask R-CNN, das eine Erweiterung des Faster R-CNN ist, einen dritten Ausgang hinzugefügt, der die Maske des Objekts ermöglicht. Das Ergebnis ist die Klassifizierung, die Bounding Box und die Maske des Objekts. Die Vorhersage der Maske erfolgt parallel zur Vorhersage der Klasse und des Begrenzungsrahmens [2].
Das Ziel ist es, nur die relevanten Teile des Berichts auszuwählen, in unserem Fall die Textabsätze. Andere Teile, die bereits Zusammenfassungen enthalten, wie Überschriften oder Tabellen, sind nicht relevant. Als erstes brauchen wir also einen annotierten Datensatz mit den verschiedenen Dokumentenelementen. PubLayNet ist ein Datensatz mit Annotationen von Text, Abbildungen, Titeln, Listen und Tabellen auf mehr als 360.000 Seiten wissenschaftlicher Arbeiten [3]. Durch die Feinabstimmung eines Masken-R-CNN-Modells, das im PubLayNet trainiert wurde, erhalten wir ein Modell, mit dem wir die Teile der Dokumente erkennen können, die Text entsprechen. Das Modell, das wir verwendet haben, ist in der Detectron2-Plattform verfügbar, einer Plattform von Facebook AI Research, die schnelle Tests von State-of-the-Art-Algorithmen ermöglicht [4]. In der Abbildung sehen wir die Bounding Boxes und die Klassifizierung, die für jede Klasse mit einer anderen Farbe dargestellt ist, was das Ergebnis ohne jegliche Feinabstimmung war. Für unser Problem sind wir nicht an der Maske des Textes interessiert, sondern nur an der blau markierten Bounding Box.
Registrieren Sie sich kostenlos und probieren Sie die Seitensegmentierungs-API mit Ihren eigenen Dokumenten aus. Registrieren Sie sich, um auf unsere API-Dokumentation zuzugreifen. Mit unserem Dokumentenlabeling-Tool können Sie ein Dataset erstellen und das PubLayNet-Modell an Ihren eigenen Dokumenten feinjustieren.
Welches ist die beste OCR-Engine?
Nachdem wir den Teil der Bilder gefunden haben, an dem wir interessiert sind, ist der nächste Schritt die Extraktion des Textes aus den Bildern mit Hilfe der optischen Zeichenerkennung (OCR). OCR kann mit Hilfe von Computer-Vision-Ansätzen durchgeführt werden, die die Erkennung, Segmentierung und Erkennung von Zeichen beinhalten können, aber die neuesten Ansätze beinhalten eine Kombination von CNNs und rekurrenten neuronalen Netzen.
Ein Beispiel für eine OCR-Pipeline kann sein:
- Texterkennung – erkennt, wo sich die Zeichen befinden
- Vorverarbeitung – der Text wird normalisiert
- Merkmalsextraktion – die Ausgabe ist die Merkmalskarte des Bildes
- Nachbearbeitung – Fehler können korrigiert werden, indem z. B. mit häufigeren Wortfolgen verglichen wird.
Die Zusammenfassung wird jetzt üblicherweise mit Transformer-Modellen durchgeführt. Transformers sind eine Art von neuronaler Netzwerkarchitektur, die 2017 eingeführt wurde. Sie wurden ursprünglich für die maschinelle Übersetzung entwickelt, werden aber mittlerweile für fast alle modernen NLP-Anwendungen verwendet, wie z. B.: Entity Recognition, Natural Language Inference, Question Answering und Summarization. Transformatoren sind in der Lage, alle eingehenden Daten parallel zu verarbeiten, im Vergleich zu den bisherigen State-of-the-Art-Modellen, den LSTMs, die Daten sequentiell verarbeiten. Diese Fähigkeit zur Parallelisierung erleichtert die Skalierung mit einer exponentiell wachsenden Menge an Rechenleistung und Daten.
Das wichtigste neue Konzept, das in der Transformer-Architektur eingeführt wurde, ist die Verwendung von „Multi-Head Attention“. Im Transformer wird jedes Element in der Eingabesequenz in drei Vektoren aufgeteilt: Q, K und V. Die Aufmerksamkeit wird als gewichtete Summe dieser Vektoren berechnet, wobei die Gewichte sowohl gelernt werden als auch kontextabhängig sind. Mit anderen Worten: Die in das Modell eingegebenen Daten entscheiden, worauf das Modell seine Aufmerksamkeit richten soll. Mehrköpfige Aufmerksamkeit bedeutet, dass wir jeden Vektor in mehrere „Köpfe“ aufteilen und die Aufmerksamkeit für jeden Kopf parallel berechnen. Wir führen also mehrere Aufmerksamkeitsberechnungen auf einmal durch, alle parallel, bevor wir die Ergebnisse am Ausgang zusammenführen. [5]
Die am häufigsten verwendete Transformer-Variante wird BERT genannt. BERT verwendet nur den Encoder aus dem ursprünglichen Transformer mit sehr kleinen Änderungen an der Architektur. Die wichtigste Neuerung von BERT ist, dass es als „maskiertes Sprachmodell“ auf einer großen Menge von unmarkiertem Text trainiert wurde. Maskierte Sprachmodelle haben die Aufgabe, die Leerstellen eines gegebenen Satzes auszufüllen, d.h. sie ersetzen in einem Satz einige der Wörter durch ein [MASK]-Token und versuchen dann vorherzusagen, was das eigentliche Wort war. Es hat sich herausgestellt, dass diese Aufgabe dem Modell eine Menge über natürliche Sprache beibringt, so sehr, dass es jetzt üblich ist, ein vortrainiertes BERT-Modell zu nehmen und es dann auf die gewünschte Aufgabe abzustimmen. Dies ist normalerweise ein guter Ausgangspunkt, wenn man neuronale Netze für NLP ausprobiert, und die meiste NLP-Forschung konzentriert sich jetzt darauf, wie man Transformer-Modelle und ihre Varianten verbessern kann, indem man entweder die Architektur optimiert oder ein neues Vortrainingsziel erfindet.
PEGASUS ist ein Modell, das für automatische Zusammenfassungen entwickelt wurde. Die Architektur ähnelt dem ursprünglichen Transformer mit dem Decoder, aber es wird auf zwei Aufgaben gleichzeitig vortrainiert. Die erste Aufgabe ist die maskierte Sprachmodellierungsaufgabe, die von BERT eingeführt wurde. Die zweite Aufgabe ist die Vorhersage eines ganzen Satzes, der in der Eingabe maskiert wurde. PEGASUS wird zunächst auf einer riesigen Textmenge, bestehend aus 1,5 Milliarden Nachrichtenartikeln, vortrainiert und dann auf dem Zieldatensatz feinabgestimmt. Es erreichte die beste Leistung in zwölf häufig verwendeten Zusammenfassungsdatensätzen. [6].
Quellen:
[1] He, K. et al. (2017). Mask R-CNN. Facebook AI Research (FAIR).
[4] Yuxin Wu, et al. (2019). Detectron2 Github Repository.
[5] Vaswani, A. et al. (2017). Attention is all you need.