01.10.2021 | Blog NLP: Schlüsseltechnologie für Suchmaschinen und Text-Analyse
Der Begriff NLP beschreibt die Erfassung und computerbasierte Verarbeitung natürlicher Sprache mit Verfahren der Künstlichen Intelligenz. Die zunehmende Bedeutung von NLP zeigt sich im Consumer-Bereich in der Etablierung von digitalen Assistenten wie Siri, Cortana oder dem Google Assistant. In Unternehmensanwendungen halten solche Technologien insbesondere in Enterprise-Search-Anwendungen und in der intelligenten Textanalyse von Dokumenten Einzug.
Dass das Verarbeiten und Verstehen natürlicher Sprache mit ihrer Komplexität und Mehrdeutigkeit eine immense Herausforderung darstellt, zeigen einfache Beispiele: Die unterschiedliche Rolle von „Löffel“ und „Nudeln“ in den Sätzen „Ich esse die Suppe mit den Nudeln“ und „Ich esse die Suppe mit dem Löffel“ sind mit einer einfachen syntaktischen Analyse nicht korrekt zu erfassen. Auch im Englischen ist das nicht einfacher - wie folgende aus Nachrichten übernommene Titel zeigen: „Scientists watch whales from space“, „The pope's baby steps on gays“.
NLP nutzt Lexika, Regeln und Maschinelles Lernen
Zur Bewältigung dieser Herausforderung nutzt NLP verschiedene KI-Methoden, vor allem Lexika und regelbasierte Verfahren (klassische Computerlinguistik) und Maschinelles Lernen (ML), etwa in der Form des Deep Learning.
Klassische Computerlinguistik
Die Analyse und Aufbereitung von Text mittels klassischer computerlinguistischer Verfahren besteht aus folgenden Schritten:
1. Erkennung von Wörtern und ihre Normalisierung
Zunächst wird der Text in eine Folge von Wörtern zerlegt. Wichtig ist auch die Normalisierung dieser Wörter und für die weitere Verarbeitung die Bestimmung des Wort-Typs (Substantiv, Verb, usw.). Beides wird meist auf Basis von Lexika realisiert. Beispiele sind etwa die Lemmatisierung, um bei einer Suche nach „Buch“ auch „Bücher“ zu finden, oder die Komposita-Zerlegung, die „Buchhandel“ und „Kinderbuch“ als Treffer ermöglicht. Meist ist auch noch eine weitere Normalisierung auf den Wortstamm (Tänzer -> tanzen) notwendig. Ebenso sind semantische Lexika mit Thesauren erforderlich, damit verwandte Begriffe wie „Auto“ und „Kfz“ miteinander identifiziert werden können.
2. Erkennen von Entitäten
Namen, z.B. von Personen, Organisationen und Orten (Adressen), spielen eine besondere Rolle in der Suche. Dies trifft auch auf Zahlenangaben wie Preise oder Datumsangaben oder auf technisch wissenschaftliche Einheiten wie Flächenangaben, Geschwindigkeiten oder Temperaturen zu. Die Intention hinter vielen Suchanfragen ist oft eine Faktenfrage oder W-Frage (Wer?, Wann?, Wo?, Wieviel?). Basis für das Erkennen solcher Informationseinheiten sind spezielle Lexika (zum Beispiel typische Vor- und Nachnamen) und typische Kontexte dieser Entitäten. So stellen Formulierungen wie „liegt in“ oder „wohnhaft in“ typische Kontexte für Ortsangaben dar. Regelbasiert wird dann auf Basis von Matches mit den Lexika und den Kontextbeschreibungen entschieden, ob für eine konkrete Textstelle eine Entität identifiziert werden kann.
3. Erkennung von Wortgruppen, Satzstrukturen und Relationen
Die Königsdisziplin der klassischen Computerlinguistik ist die syntaktisch-semantische Analyse kompletter Sätze. Auf Basis der Informationen der beiden vorherigen Analyseschritte und Grammatiken können komplette Sätze analysiert werden. Dabei werden größere zusammengehörige Wortgruppen – in obigen Beispielen „mit dem Löffel“ und „mit den Nudeln“ –erkannt und im ersten Fall als Attribut zum Verb „essen“, im zweiten Fall als Teil des Satz-Objekts „Suppe“ identifiziert. Somit können dann auch Relationen erkannt werden. Aus dem Satz „Das Unternehmen IntraFind wurde am 1. Oktober 2000 von Franz Kögl und Bernhard Messer gegründet“ kann zum Beispiel eine Relation (Gründungs-Relation) zwischen den beiden genannten Personen und dem Unternehmen IntraFind extrahiert werden. Auf Basis erkannter Relationen können dann zuverlässig Fragen beantwortet werden.
Maschinelle Lernverfahren
1. Klassisches Machine Learning
Schon lange werden klassische computerlinguistische Verfahren durch ML ergänzt oder ersetzen diese sogar. Aufgaben wie die Bestimmung von Textsprache, Thema eines Textes (Klassifikation) oder Stimmung (Sentiment) werden fast ausschließlich mit ML gelöst. Auch zur Erkennung von Entitäten wird häufig ML eingesetzt. Jedoch hatten ML-Verfahren bisher zwei grundsätzliche Nachteile: 1. Es wurden große Mengen von manuell analysierten und annotierten Beispieltexten als Trainingsmengen benötigt. 2. Bis vor ein paar Jahren war ML eher eine Domäne für Experten, da die Aufbereitung der Texte (Feature-Engineering) oft eine entscheidende Voraussetzung für den Erfolg war.
2. Deep Learning
Mit der Entwicklung der Deep-Learning-Ansätze der letzten Jahre werden die Karten neu verteilt. Zum einen ist das oben erwähnte Feature-Engineering weniger wichtig, da die tiefen Neuronalen Netze in der Lage sind, aus großen nicht manuell annotierten Textmengen semantische Repräsentationen für Text in Form hochdimensionaler Vektoren (Embeddings) zu lernen. Durch die Nutzung dieser Repräsentationen (Transfer Learning) für Wörter, Sätze und längere Abschnitte lassen sich viele klassische NLP-Aufgaben lösen. Für die konkrete NLP-Aufgaben werden wieder manuell annotierte Beispieltexte benötigt, jedoch durch die Verwendung der semantisch reichen Embeddings weniger als beim klassischen ML.
Unter anderem kann die Aufgabe einer Suchmaschine, das Mapping von Suchanfragen auf Dokumente, komplett auf Basis von Embeddings erfolgen. Dieser auch Neural Search genannte Ansatz könnte klassische Suchmaschinentechnologie, die Dokumente und Suchanfragen als Menge von Wörtern (Bag-of-Words) repräsentiert, komplett ablösen. Neural Search Ansätze sind weniger anfällig für das Problem, dass gleiche Dinge mit unterschiedlichen Wörtern beschrieben werden (vocabulary mismatch), denn ihre Repräsentationen sind zu einem gewissen Grad unabhängig von den konkret verwenden Wörtern. Klassische Suchmaschinentechnologie baut hier auf Wort-Normalisierungen und Thesauren. Ein weiterer Vorteil von Neural Search liegt darin, dass Embeddings für größere Texteinheiten wie Sätze auch gewisse semantische Beziehungen enthalten. Ein Satz und seine Negation können sehr unterschiedliche Embedding-Repräsentationen haben. Für das klassische Information Retrieval liegt der Unterschied evtl. nur in einem Wort, oder sogar in der Position eines Wortes und hat damit kaum Einfluss auf die Suchergebnisse.
Neural Search Ansätze sind momentan jedoch deutlich weniger robust als klassische Suchmaschinentechnologie. Die Suche nach Produktnummern, Fehlercodes oder Bestellnummern ist mit Neural Search Ansätzen nicht möglich. Ebenso die Suche nach numerischen Werten oder Telefonnummern. Der Hardwarebedarf von Neural Search Ansätzen ist mindestens eine Größenordnung größer als der von klassischer Suchmaschinentechnologie. Große Probleme gibt es auch noch mit der Verlässlichkeit der Suche. Im Gegensatz zur klassischen Technologie ist nicht vorhersehbar, welche Inhalte mit einer Suchanfrage gefunden werden. Auch die Erklärbarkeit einzelner Suchergebnisse ist deutlich schlechter. Wie alle Deep Learning Ansätze entzieht sich ihr Verhalten weitgehend der menschlichen Analyse (Black Box).
Die Zukunft wird zeigen, ob wir hier einen kompletten Technologiewandel erleben oder ob eher die Kombination neuer und alter Ansätze weiterführt.