Definition Was ist Fonduer?

Fonduer ist ein Python-Softwarepaket und Framework, mit dem sich Anwendungen für Knowledge Base Construction aus vielfältig und stark formatierten Daten realisieren lassen. Die Software steht unter Open-Source-Lizenz und ist frei verfügbar. Informationen lassen sich mit Fonduer aus stark formatierten Datenquellen wie Webseiten, Produktdatenblättern oder Geschäftsberichten extrahieren und in strukturierter Form in Datenbanken ablegen.

Anbieter zum Thema

(Bild: © aga7ta - stock.adobe.com)

Fonduer ist der Name eines Frameworks für Knowledge Base Construction (KBC) aus vielfältig und stark formatierten Daten (Richly Formatted Data). Es handelt sich um ein Python-Software-Paket unter MIT-Open-Source-Lizenz, mit der sich KBC-Anwendungen realisieren lassen.

Knowledge Base Construction extrahiert Informationen aus unstrukturierten Daten und legt sie in strukturierter Form in Datenbanken ab. Im Gegensatz zu herkömmlichen KBC-Lösungen, die die Informationen aus Quellen wie einfachen Texten oder Tabellen extrahieren, ist Fonduer in der Lage, die Besonderheiten von vielfältig und stark formatierten Daten zu berücksichtigen. Fonduer basiert auf maschinellem Lernen und nutzt ein Datenmodell, das die Charakteristika der Richly Formatted Data berücksichtigt. Beispiele für vielfältig und stark formatierte Daten, aus denen Fonduer Informationen und Datenbeziehungen extrahieren kann, sind Webseiten, Produktdatenblätter, wissenschaftliche Dokumente oder Geschäftsberichte.

Fonduer ist über GitHub verfügbar und lässt sich mit dem Paketverwaltungsprogramm für Python-Pakete pip installieren. Zur Nutzung von Fonduer sind weitere Anwendungen und Software wie PostgreSQL notwendig. Aktuell befindet sich Fonduer in einer frühen, aktiven Entwicklungsphase. Die aktuelle Version ist Fonduer v0.9.0 (Juni 2021).

Grundlegende Informationen zu Knowledge Base Construction (KBC)

Da es sich bei Fonduer um eine speziell für Richly Formatted Data vorgesehene KBC-Engine handelt, zunächst einige grundlegende Informationen zu Knowledge Base Construction. Knowledge Base Construction ist ein Prozess, der Daten aus verschiedenen unstrukturierten Datenquellen und Datenformaten extrahiert und sie in strukturierter Form in einer relationalen Datenbank sammelt und speichert. Die Informationen stammen aus Texten, Tabellen, Bildern, Videos, Audiodaten und anderen Datenformaten.

Klassische KBC-Anwendungen konzentrieren sich auf die Extraktion von Informationen und deren Beziehungen aus unstrukturierten, wenig formatierten Daten. Ziel ist es, Daten in ein strukturiertes Format zu überführen, das für Anwendungen einfacher zu verwenden ist als die Originaldatenquellen und -formate. Typische Anwendungen für die mit KBC extrahierten und strukturierten Informationen sind Expertensysteme, Chatbots, Datenvisualisierungen und Business-Intelligence-Anwendungen.

Problemstellung KBC und Richly Formatted Data

Mit stark und vielfältig formatierten Daten können herkömmliche KBC-Lösungen nur eingeschränkt und ineffizient umgehen. Das liegt vor allem daran, dass in diesen Daten sich viele der enthaltenen Informationen und ihrer Attribute und Beziehungen erst durch die Kombination mehrerer Informationsebenen ergeben. Es müssen textliche, visuelle und strukturelle Hinweise der Dokumente miteinander verknüpft sowie Semantik und Kontext der Informationen beachtet werden. So ist beispielsweise das Layout oder die Organisation eines kompletten Dokuments und nicht nur der Inhalt einzelner Bereiche oder Textzeilen in die Extraktion der Informationen einzubeziehen. Die Bedeutung einer Information ändert sich abhängig beispielsweise vom verwendeten Schriftstil (normal, kursiv, unterstrichen oder fett) oder abhängig von der Positionierung auf der Seite eines Dokuments. Man spricht in diesem Zusammenhang von der Multimodalität und Vielfältigkeit der Informationen in den stark formatierten Daten. Diese Multimodalität und Vielfältigkeit der Informationen erfordern besondere KBC-Lösungen wie Fonduer, die die enthaltenen Informationen korrekt und umfassend extrahieren.

Funktionsprinzip und Pipeline von Fonduer

Ein Standard-KBC-System verwendet als Input eine Sammlung von Daten, extrahiert die enthaltenen Informationen und legt sie in strukturierter Form in einem relationalen Datenbanksystem ab. Fonduer verwendet als Input vielfältig und stark formatierte Daten. Der Anwender definiert und initialisiert zu Beginn das Datenschema, der zu extrahierenden und abzulegenden Informationen und Beziehungen. Fonduer verwendet einen Machine-Learning-basierten Ansatz und berücksichtigt die Multimodalität und Vielfältigkeit der Daten mit ihren textuellen, strukturellen und visuellen Inhalten. In der ML-Trainingsphase muss der Anwender eine gewisse Form von Überwachungsaufgaben für das korrekte Labeling der Daten wahrnehmen und User-Input in Form von Labeling-Funktionen liefern. Die Macher der KBC-Engine teilen die Fonduer Pipeline in fünf Phasen auf. Diese fünf Phasen sind:

  • Phase 1 – Parsing: In dieser Phase findet das Parsen des Input-Korpus der vielfältig und stark formatierten Dokumente in das Datenmodell von Fonduer statt.
  • Phase 2 – Mention and Candidate Extraction: Die Knowledge Base wird mit dem Zielschema des Anwenders initialisiert. Der Anwender definiert sogenannte Mentions mithilfe von Matchers und kombiniert die Mentions zu Candidates.
  • Phase 3 – Multimodal Featurization: Featurisierung der Candidates aus der Phase 2 mit den multimodalen Merkmalen.
  • Phase 4 – Supervision: Der User stellt als Überwachungsaufgabe (Supervision) Input-Labeling-Funktionen zur Verfügung.
  • Phase 5 – Classification: Fonduer stellt die Machine-Learning-Modelle zur Klassifizierung der Candidates bereit.

(ID:47943766)