Semantisch-Linguistische Indexierung für bessere Suchergebnisse

IntraFind bietet Linguistik-Erweiterung für Elasticsearch

25.09.2020 

Die meisten von uns kennen den Ärger, wenn sie dringend nach Informationen suchen und von ihrer Suchmaschine unbrauchbare Treffer erhalten. In solchen Fällen wird es offensichtlich, dass die meisten Suchmaschinen über keinerlei Textverständnis verfügen. Mit dem Linguistik Plugin wird Text linguistisch und semantisch analysiert und die Ergebnisse dieser Analyse werden in den Elasticsearch Index integriert. Frustrierende Erlebnisse können in vielen Fällen vermieden werden.

Es mag banal klingen, aber für den Nutzer wird die Suche komfortabler, wenn er sich über Wortvarianten und Schreibweisen keine Gedanken mehr machen muss. So wird das IntraFind Linguistik Plugin für Elasticsearch beispielsweise für die Suche nach „Autor“ auch Treffer mit dem Wort „Kinderbuchautor“ oder „Autorenteam“ liefern, nicht jedoch mit „Autoradio“ oder „Autoreifen“. Der Nutzer muss hierzu kein Experte sein und Wildcard-Queries formulieren. Eine Suche nach „Buch“ wird auch Treffer für „Kinderbücher“ liefern, eine Suche nach „Bundesforschungsministerium“ Treffer für „Ministerium des Bundes für Forschung und Technologie“ und zwar allein auf Basis der morphologischen Normalisierung und Kompositazerlegung.

Grundformen und zerlegte Mehrwortbegriffe als Schlüssel
Im Linguistik Plugin werden verschiedene Verfahren zur linguistischen Texterschließung kombiniert, um flektierte Wörter auf ihre Grundformen zu normalisieren (Lemmatisierung) und um zusammengesetzte Begriffe in ihre Grundbestandteile zu zerlegen (Kompositazerlegung). Bei den zahlreichen deutschen Mehrwortbegriffen ist das besonders wichtig. Als Beispiel:
Lemmatisierung: Bücher -> Buch
Kompositazerlegung: Bundesumweltminister -> (Bund, Umwelt, Minister) findet auch Treffer für Bundesminister für Umwelt

Die Suche basierend auf Lemmatisierung und Kompositazerlegung ist wesentlich präziser als die üblicherweise in Suchmaschinen eingesetzte sogenannte Stemming (Stammformerzeugung). Diese neigen in vielen Fällen zu Übergeneralisierung, da sie Wörter mit völlig unter-schiedlicher Bedeutung auf den gleichen künstlichen Wortstamm zurückführen (Beispiele: Messer → Mess, Messe → Mess).

Software berücksichtigt Entwicklung von Sprache
Die linguistischen Verfahren des Plugin basieren auf umfassenden Lexikonbeständen und zeichnen sich zusätzlich durch eine stark prozedurale Orientierung in der Lexikon-Analyse aus. Linguistische Ergebnisse insbesondere für die Wortzerlegung werden also hierbei, im Gegensatz zu vergleichbaren Verfahren, stärker über Prozeduren „berechnet“ und nicht im Lexikon „nachgeschlagen“. Die umfangreichen Lexika sind hochqualitativ und effizient aufbereitet, so dass die Analyse schnell und speichersparend vollzogen wird. Da sich Sprachen dynamisch entwickeln und ein großes kreatives Potential zur Schöpfung neuer Wörter bzw. Wortkombinationen aufweisen, wäre es ineffizient, sich nur auf starre Lexika zu verlassen.

Verwendung von Thesauri
In zahlreichen Suchprojekten wird die Suche durch die Verwendung von Thesauri qualitativ deutlich aufgewertet. Viele dieser so erreichbaren Verbesserungen liefert das Linguistik Plugin durch die Verwendung von Lemmatisierung und Kompositazerlegung bereits automatisch. Allerdings ersetzen Lemmatisierung und Kompositazerlegung keine echten Synonyme und Abkürzungen (wie z.B. Auto, Kfz, Kraftfahrzeug), Hyponyme (Unterbegriffe) oder Hyperonyme (Oberbegriffe).

Das Plugin erlaubt deshalb die Verwendung beliebiger Thesauri und unterstützt übliche Thesaurus-Formate, wie z.B. SKOS. Durch die Verwendung von Lemmatisierung und Kompositazerlegung auch für den Lookup im Thesaurus müssen keine Flexionsformen im Thesaurus gepflegt werden. Das vereinfacht die Pflege kundenspezifischer Thesauri und die Verwendung bereits existierender Thesauri deutlich.

Ein konkretes Beispiel für die Vorteile der linguistischen Normalisierung
Ziel eines Suchtools ist es Informationen zu finden - sei es um als Mitarbeiter im Support schnell auskunftsfähig zu sein oder damit Kunden im Onlineshop auch wirklich alle Produkte finden. Ein Beispiel: Bei einem Online Shop für Automobilzubehör sucht ein Nutzer nach "Räder A6". Er weiß nicht, dass dieser Artikel unter einer anderen Bezeichnung geführt wird. Das ist auch unerheblich, die Trefferliste liefert ihm den gesuchten Artikel unter dem Begriff "Komplettradsatz A6" allein auf Basis der linguistischen Normalisierung. Eine anwendungsspezifische Pflege von Thesaurus-Ressourcen ist hierfür nicht notwendig. Damit ist die wirtschaftliche Komponente einer effizienten Suche nicht zu unterschätzen.

Multilingualität
Ein nicht zu unterschätzender Vorteil des Linguistik Plugins ist die einfache Konfiguration gerade im multilingualen Umfeld. Der typische Aufwand, für jede Sprache ein eigenes Feld und einen eigenen Analyzer im Schema konfigurieren zu müssen, zusammen mit einer Steuerung der Indexierung mittels einer Spracherkennungskomponente, entfällt komplett. Dies liegt daran, dass die IntraFind Analyzer bereits eine Spracherkennung enthalten und sogar bei gemischtsprachigen Inhalten die in unterschiedlichen Sprachen abgefassten Teile erkannt und automatisch korrekt behandelt werden.

Details zur Suche auf Basis der linguistischen Normalisierung und Multilingualität findet man auch in einem älteren Blog-Beitrag [1].

Suche nach Entitäten, Numerische Suche und Einheitensuche
Namen, z.B. von Personen, Organisationen und Orten (Adressen), spielen in der Suche oft eine besondere Rolle. 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?).

Das Linguistik Plugin bietet nun die Erkennung von Entitäten, Zahlen und Einheiten und deren Integration in den Suchindex an. Die Integration in den Index erfolgt auf Basis des bei IntraFind seit langem genutzten typisierten Index [2], [3] unter Beibehaltung der Information über textuelle Nähe (Wortabstand).

Mit diesen semantischen Erweiterungen wird es z.B. möglich, nach einer beliebigen Person in der Nähe (kleiner Wortabstand oder gleicher Satz) von „gründen“ und „Ärzte ohne Grenzen“ zu suchen. Wird für diese Suchanfrage ein Dokument gefunden, so enthält das Highlighting Snippet mit hoher Wahrscheinlichkeit die Namen eines oder mehrere Gründer des Vereins “Ärzte ohne Grenzen“. Die semantische Anreicherung des Index ermöglicht z.B. auch die gezielte Suche nach einer Person mit Namen „Schwarz“ unter Ausschluss von Treffern für die Farbe „Schwarz“.

Die Suche nach einem beliebigen Geldbetrag in einem Text in der Nähe von Miete und Adressbestandteilen als weiterem Kontext könnte die Antwort auf die Miethöhe eines Objekts liefern.

Die numerische Suche kann nicht nur die Antwort auf Fragen nach „Wieviel?“ liefern. Auch die Suche nach Beträgen in einem spezifizierten Intervall ist möglich. Außerdem werden erkannte Einheiten automatisch normalisiert. Die Suche nach den Wörtern „boiling point“ und einer „Temperatur von 90 – 110 °C“ im gleichen Satz liefert dank der Einheitennormalisierung auch Treffer für den Satz „The boiling point of water is 212 °F“. Die Suche nach „Display 5 Zoll“ wird auch Treffer für de „Displaydiagonale 4.8 Zoll“ liefern.

[1] “New High Quality Search and Linguistics for iFinder5 elastic”, C. Goller, IntraFind Blog
[2] “The Typed Index”, C. Goller, FOSDEM 2015, https://archive.fosdem.org/2015/schedule/event/the_typed_index/
[3] “The Typed Index”, C. Goller, Lucene Revolution 2013, Dublin, https://www.youtube.com/watch?v=X93DaRfi790

 

 

Zurück

Der Autor

Christoph Goller

Christoph Goller hat einen Doktortitel in Informatik von der Technischen Universität München für seine bahnbrechende Arbeit über Deep Learning. Er ist Apache Lucene Committer und hat mehr als 20 Jahre Erfahrung in den Bereichen Information Retrieval, Verarbeitung natürlicher Sprache und KI. Seit 2002 ist er Leiter der Forschungsabteilung von IntraFind.

 

 

 

 

Zurück