Natural Language Question Answering-Systeme
Trends & Innovationen

Natural Language Question Answering – schnelle Antworten auf konkrete Fragen

| | Softwareentwickler, SEEBURGER
Natural Language Processing

Sicher haben Sie auch schon Unmengen an Zeit damit verbracht, aus einer Fülle vorhandener digitaler Daten und Informationen nach Antworten auf konkrete Fragestellungen zu suchen. Das Auffinden relevanter Inhalte wird immer anspruchsvoller und mühsamer. Ob in den Weiten des World Wide Web oder im Wirrwarr unternehmensinterner Daten- und Informationssysteme – die reine Keywordsuche grenzt das Suchgebiet häufig lediglich ein. Die Antworten auf seine Fragen muss der Nutzer jedoch aus den Ergebnisvorschlägen nach wie vor selbst herausfiltern. Erfahren Sie, wie Natural Language Question Answering-Systeme das Auffinden von Antworten im Datendschungel erleichtern können.

Durch die fortschreitende Digitalisierung nimmt die weltweite Datenmenge rasant zu. Für das Jahr 2021 geht Statista davon aus, dass 79 Zettabytes an Daten erstellt, erfasst oder konsumiert wurden. Bereits in vier Jahren soll sich dieser Wert mehr als verdoppelt haben. Das Statistik-Portal prognostiziert die weltweite Datenmenge für 2025 auf 181 Zettabytes[1].

Mit der SEEBURGER Business Integration Suite (BIS) können Unternehmen jeden Tag eine große Menge an Daten verarbeiten. Diese werden in Form von Rechnungen, API-Aufrufen oder anderen Protokollen und Formaten bereitgestellt und generiert. Der BIS ist in der Lage, auf Basis dieser strukturierten Daten mit anderen Systemen zu kommunizieren.

Neben den strukturierten Daten werden jedoch auch immer mehr unstrukturierte Daten, wie etwa Dokumentationen, Blogartikel, Sprachnachrichten oder Videos, erzeugt. Viele dieser unstrukturierten Daten liefern Informationen zu unterschiedlichsten Themen. Schnelle Antworten auf konkrete Fragen zu diesen Themen zu erhalten, ist jedoch aufgrund der stetig wachsende Anzahl an Dokumenten und Dateien nicht gerade einfach. Klassische Suchmaschinen wie Google, Bing etc. helfen zwar, bestimmte Dokumente im World Wide Web zu finden, jedoch wird das gezielte Ermitteln spezifischer Informationen aus den oftmals sehr umfangreichen Dateien dem Nutzer überlassen.

Um also den Suchaufwand zu reduzieren und den Endanwendern schnell die benötigten Informationen zu liefern, werden neue Ansätze benötigt. Lernen Sie die Natural Language Question Answering-Systeme kennen.

Was ist ein Natural Language Question Answering-System?

Im Gegensatz zu herkömmlichen Keywordsuchen wird bei einem Natural Language Question Answering-System nicht ein komplettes Dokument an den Nutzer zurückgeliefert, sondern die Nutzer können eine Frage in natürlicher Sprache stellen und erhalten daraufhin eine konkrete Antwort auf ihre Frage zurück.

Ein Natural Language Question Answering-System nimmt Fragen in natürlicher Sprache entgegen und liefert eine konkrete Antwort
Abbildung 1: Ein Natural Language Question Answering-System nimmt Fragen in natürlicher Sprache entgegen und liefert eine konkrete Antwort

Zum Beispiel erhält ein Nutzer auf die Frage „What is the capital of Germany?“ nicht nur eine Webseite mit relevanten Informationen, sondern derartige Systeme liefern mit „Berlin“ direkt eine konkrete Antwort an den Nutzer zurück. Somit wird dem Nutzer, besonders bei längeren Dokumenten, das Auffinden der benötigten Antwort und somit viel Zeit erspart.

Wie funktioniert ein Natural Language Question Answering-System?

Die Entwicklung von Question Answering-Systemen ist schon seit längerem ein Thema in der Informatik. Früher wurde noch versucht, mit komplexen Regelwerken die in natürlicher Sprache vorliegende Frage des Nutzers zu verstehen, und eine Antwort darauf zu finden.

Heutige Natural Language Question Answering-Systeme basieren oftmals auf einem Extractive-Ansatz und bestehen dabei aus einem Retriever und einem Reader. Dabei werden die Antworten auf die Fragen nicht in großen Datenbanken abgespeichert, sondern es wird versucht, aus einer Menge an Texten die passenden Antworten auf die Fragen der Nutzer zu finden und diese zu extrahieren. Dabei werden zuerst die für die Frage des Nutzers relevanten Dokumente aus einem Document-Store geladen. Anschließend versucht der Reader, die Antwort auf die Frage des Nutzers aus den erhaltenen Dokumenten zu extrahieren.

Funktionsweise von Indexer, Document-Store, Retriever und Reader in einem Natural Language Question Answering-System
Abbildung 2: Funktionsweise von Indexer, Document-Store, Retriever und Reader in einem Natural Language Question Answering-System

Was ist ein Document-Store?

Der Document-Store ist für das Liefern der relevanten Dokumente verantwortlich. Dafür können verschiedene Arten eingesetzt werden. Oftmals werden für diesen Zweck einfache Indexe bzw. reverse Index eingesetzt. Eine bekannte und oftmals eingesetzte Implementierung eines solchen reverse Index ist zum Beispiel Apache Lucene, welche auch in Elasticsearch als Index verwendet wird. Diese bietet eine schnelle und effiziente Art und Weise zur Abfrage von Dokumenten an.

Was ist ein Retriever?

Der Retriever ist für die Abfrage der für die Frage des Nutzers relevanten Dokumente verantwortlich. Dazu wird zuerst versucht, die relevanten Begriffe aus der Frage zu extrahieren und diese dann für die Abfrage der Dokumente zu nutzen.

Um aus der Frage des Nutzers eine geeignete Query zur Abfrage der Dokumente zu erstellen, werden verschiedene Natural Language Processing (NLP)-Techniken angewandt.

  1. Punctuation Removal
    Punkte, Kommas und andere Satzzeichen spielen für die Abfrage der relevanten Dokumente keine Rolle und werden daher aus der Frage des Nutzers entfernt.
  2. Stop-Word-Removal
    Auch Stopp-Wörter (der, die, das, ein, …) kommen in vielen Texten relativ häufig vor, ohne einen großen Beitrag zum Inhalt zu liefern. Daher werden diese Wörter aus der Frage ebenfalls herausgefiltert.
  3. Entity-Tagging
    Entitäten, wie Produkte oder Namen, sind meistens von großer Relevanz für die Abfrage und werden daher direkt in die Query übernommen.
  4. Stemming
    Wörter können in verschiedenen Formen (laufen, lief, läuft, …) vorkommen. Da diese nicht immer genau so in den Dokumenten enthalten sind, werden die Wörter in ihre Grundform gebracht und in die Query übernommen.

Nach diesen Schritten ist die Query zum Abfragen der Dokumente erstellt und diese können vom Document-Store geladen werden.

Als Antwort erhält der Retriever die relevantesten Dokumente und kann diese an den Reader zur Extrahierung der Antworten mit der Frage des Nutzers weitergeben.

Das BERT-Modell in einem Natural Learning Question Answering-System
Abbildung 3: Das BERT-Modell in einem Natural Learning Question Answering-System

Was ist ein Reader?

Der Reader ist für das Extrahieren der Antwort aus den erhaltenen Dokumenten verantwortlich. Dafür wird durch den Einsatz eines geeigneten Sprachmodells versucht, die Frage und die Texte zu verstehen und aus diesen die relevanten Antworten zu extrahieren.

Was sind Sprachmodelle?

Für die Extrahierung der Antworten aus den vorgelegten Texte wird ein Sprachmodell eingesetzt. Dabei kann es sich um das in Abbildung 2 dargestellte und häufig genutzte BERT-Modell handeln, jedoch sind auch andere Arten von Sprachmodellen möglich. Ein Sprachmodell ist ein Modell, welches die Wahrscheinlichkeit für das Auftreten eines Wortes oder Satzes berechnen kann. Dabei nutzt es das Wissen, welches es beim Trainieren des Modells erlernt hat.

Es gibt verschiedene Arten von Sprachmodellen, die je nach Einsatzgebiet unterschiedlich gute Ergebnisse liefern. Viele dieser Sprachmodelle bauen auf einem Transformers- und Attention-basierenden Ansatz auf, welcher die Verarbeitung von Sprache und ein generelles Leseverständnis ermöglicht.

Wie funktioniert das BERT-Modell?

Devlin et al. haben mit BERT (Bidirectional Encoder Representations from Transformers) ein leistungsfähiges Sprachmodell vorgestellt. Dieses baut auf dem Encoder des von Vaswani et al. vorgestellten Transformers und Attention-Mechanismus auf.

Zuerst wird die Eingabe in ihre einzelnen Wörter (Tokens) aufgeteilt. Diese werden dann wiederum um weitere BERT-spezifische Tokens erweitert und in das Modell gegeben. Im Falle des Question Answerings besteht die Eingabe sowohl aus der Frage, als auch dem Paragraphen, aus dem die Antwort extrahiert werden soll.

Zwischen der Ein- und Ausgabe des Modells befinden sich mehrere Transformers-Schichten, welche für die Berechnung der Antwort verwendet werden.

Die Ausgabe des Modells besteht aus einem Start- und End-Token, welche die beste Antwort festlegen. Diese können später genutzt werden, um die Antwort aus dem Paragraphen an den Nutzer zurückzuliefern. Das Modell selbst ist noch nicht in der Lage, sinnvolle Antworten zu berechnen. Um dies zu ermöglichen, muss das Modell zuvor trainiert werden. Zuerst wurde ein Modell trainiert, welches ein generelles Leseverständnis besitzt und somit für weitere Aufgaben genutzt werden kann. Dazu wurde das Modell auf dem aus über 800 Millionen Wörtern bestehenden BooksCorpus und der englischen Fassung von Wikipedia vortrainiert. Bei letzterem wurde nur der Fließtext der einzelnen Artikel und somit über 2,5 Milliarden Wörter für das Training genutzt. Dadurch hat das Modell Abhängigkeiten von Wörtern und Sätzen erlernt und kann dieses Wissen für weitere Aufgaben nutzen. Dieses vortrainieren des Modells bietet den Vorteil, dass das Modell einfach an neue Aufgaben, wie etwa das Auffinden von Antworten in vorgelegten Paragraphen angepasst werden kann, ein komplett neues Training jedoch nicht zwingend notwendig ist.

Funktionsweise des BERT-Models beim Natural Language Question Answering
Abbildung 4: Funktionsweise des BERT-Models beim Natural Language Question Answering[2]
Für die Aufgabe des Extractive Question Answerings wurde das zuvor vortrainierte Modell mit dem SQuAD-Datensatz auf seine Aufgabe angepasst. Der SQuAD Datensatz besteht aus 100.000 Frage-Antwort-Paaren zu ausgewählten Wikipedia-Artikeln. Durch diese Beispiele kann das Modell lernen, die vordefinierten Antworten zu den Fragen aus den vorgelegten Texten zu extrahieren. Dabei kann das Modell auf das zuvor antrainierte generelle Sprachverständnis aufbauen. Durch diese erneute Anpassung des Modells ist es in der Lage, die Frage und den vorgelegten Text zu verstehen und die beste Antwortmöglichkeit daraus zu finden und zurückzuliefern.

Dieses Modell kann bereits für den Einsatz in einem Question Answering System genutzt werden. Jedoch kann auch dieses Modell mit eigenen Datensätzen an spezielle Fachgebiete oder Dokumentenarten angepasst werden, um in diesen Bereichen bessere Ergebnisse zu liefern.

SeeQA – das SEEBURGER Natural Learning Question Answering-Tool

Die SeeQA App ist ein Natural Language Question Answering Tool, welches intern bei SEEBURGER für das Auffinden von Informationen aus verschiedenen Systemen genutzt wird. Das System nimmt die Fragen der Nutzer über eine Webapp entgegen, durchsucht die Dokumentationen und Blogartikel nach relevanten Texten und extrahiert daraus die Antwort für den Nutzer. In einer Liste werden die relevantesten Antworten (gelb markiert) und deren Kontext dargestellt. Somit kann der Nutzer nicht nur die Antwort, sondern auch weiterführende Informationen erhalten.

Die SeeQA-App - Ein Natural Learning Question Answering-Tool von SEEBURGER
Abbildung 5: Die SeeQA-App – Ein Natural Learning Question Answering-Tool von SEEBURGER

Das entwickelte System hilft den Mitarbeiterinnen und Mitarbeitern, schneller an die benötigten Informationen zu gelangen. Eine interne Umfrage hat gezeigt, dass das Auffinden der benötigten Informationen deutlich verbessert werden konnte. Bisher können zwar noch nicht immer alle Fragen direkt richtig beantwortet werden, jedoch finden die meisten Anwender relevante Informationen, die ihnen bei ihrem Problem weiterhelfen.

Eine integrierte Feedbackfunktion gibt dem System Informationen über die Relevanz der gelieferten Antworten für die Nutzer. Dieses Feedback wird gesammelt und gespeichert. Aus diesen Daten werden neue Trainingsdaten erstellt, welche wiederum für eine erneute Optimierung des eingesetzten Modells genutzt werden können. Somit wird ein kontinuierlicher Lernprozess ermöglicht und das System kann immer besser an die SEEBURGER-spezifischen Texte und Fragen angepasst werden.

Die fortlaufende Anpassung des eingesetzten Modells an die SEEBURGER-spezifischen Texte macht es interessant zu sehen, wie weit das System selbständig lernen und sich somit auch in Zukunft verbessern kann und ab wann der gewählte Ansatz nicht weiter optimiert werden kann.


[1] Statista Inc.: Volume of data/information created, captured, copied, and consumed worldwide from 2010 to 2025 https://www.statista.com/statistics/871513/worldwide-data-created/ (abgerufen am 13.12.2021)

[2] Quelle: Cornell University, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, [Submitted on 11 Oct 2018 (v1), last revised 24 May 2019 (this version, v2)], abgerufen am 13.12.2021

Haben Sie Fragen oder Anmerkungen?

Wir freuen uns hier über Ihre Nachricht.

Teilen Sie diesen Beitrag, wählen Sie Ihre Plattform!

Twitter
Florian Höhn

Ein Beitrag von:

Florian Höhn hat 2013 sein duales Studium bei SEEBURGER begonnen und arbeitet seit 2016 als Softwareentwickler im Unternehmen. Dort ist er mit der Entwicklung von Lösungen im Bereich API Management und API Integration beschäftigt. Seit seinem dualen Master beschäftigte er sich außerdem mit dem Thema künstliche Intelligenz und nutzt dieses Wissen für die Entwicklung von intelligenten Systemen und Produkten. In seiner Freizeit macht Florian gerne Sport oder trifft sich mit Freunden und Familie.