Optimierung von Suchergebnissen: Finden und Gefunden werden

Der IT-Unternehmer Michell Kapor verglich einst die Informationssuche im Internet mit dem Trinken eines Schlucks Wasser aus einem Feuerhydrant: Man wird schlicht überflutet. Im Rahmen meiner Dissertation habe ich einen Ansatz entwickelt, der dieses Problem reduzieren kann, indem Nutzer bessere Suchergebnisse von Suchmaschinen erhalten.

Wahrscheinlich haben Sie auch heute wieder Google oder eine andere Suchmaschine benutzt. Doch haben Sie auch gleich gefunden, was Sie gesucht haben? Häufig ist dies leider nicht der Fall. Da Mensch und Maschine nicht die selbe Sprache sprechen, ist es nicht immer einfach eine Suchanfrage so zu formulieren, dass die Maschine exakt identifizieren kann, was man denn sucht.

Stellt man sich beispielsweise einen Arbeitssuchenden vor, der gedanklich eine Suchanfrage vom folgenden Typ formuliert: „Ich habe Sozialpädagogik studiert, suche eine Anstellung in Vollzeit in der Gegend von Dresden und möchte gerne mit Kindern arbeiten.“ Für den Menschen ist klar ersichtlich, dass diese Anfrage unterschiedliche Aspekte enthält. Konkret sind dies das absolvierte Studium, der gewünschte Umfang der Stelle, die Region und das bevorzugte Themenfeld. Für die Maschine sind diese Aspekte jedoch nicht offensichtlich. Alle Elemente der Suchanfrage sind mehr oder weniger gleichwertige Zeichenketten, deren Bedeutungen der Maschine nicht bekannt sind.

Domänenspezifische Suchmaschinen für facettierten Suchanfragen

In der Vergangenheit hat sich daher das Konzept domänenspezifischer Suchmaschinen am Markt etabliert. Diese erlauben es, eine Suchanfrage hinsichtlich einzelner Aspekte genauer zu spezifizieren. So kann der Suchende beispielsweise durch das Mittel der facettierten Suche bei der Stellensuche angeben, welchen Arbeitsumfang er sich wünscht, welche Qualifikationen er mitbringt oder wo sich der zukünftige Arbeitsort befinden soll. Damit die Suchmaschine diese Aspekte im Suchprozess berücksichtigen kann, muss sie aber entsprechende Informationen in den Dokumenten identifizieren können. Im obigen Beispiel muss dafür jede Stellenanzeige zuvor aufwändig gekennzeichnet und kategorisiert werden: Welche absolvierten Studiengänge gelten als Voraussetzung, welchen Arbeitsumfang hat die Stelle oder wo ist der Arbeitsort. Diese Informationen sind versteckt in den Stellenanzeigen zu finden, aber nicht in einer Form, die von der Maschine lesbar ist. Für Stellenanzeigen werden bereits teilweise Verfahren verwendet, die diese Informationen automatisiert identifizieren und kennzeichnen können. Die Konzeption solcher Verfahren erfordert jedoch sehr viel Handarbeit.

Auch in anderen Anwendungsbereichen werden domänenspezifische Suchmaschinen eingesetzt, beispielsweise bei der Produktsuche oder der Suche von wissenschaftlichen Publikationen. In jedem Anwendungsbereich sind andere Aspekte für den Suchenden relevant. Bei Produkten ist das meist der Produktname oder der Preis, bei wissenschaftlichen Publikationen die Autoren, der Titel oder die verwendeten Methoden. Verfahren, mit denen solche Aspekte in Dokumenten einer spezifischen Domäne identifiziert werden können, sind allerdings nicht automatisch auf andere Suchmaschinen übertragbar. Ich habe mich deshalb in meiner Dissertation damit beschäftigt, wie solche Aspekte ohne großen händischen Aufwand in unterschiedlichen Anwendungsbereichen identifiziert werden können.

Die verschiedenen Aspekte tauchen in unterschiedlichen Formen in den Texten auf, daher ist es schwierig, alle Aspekte mit nur einem einzigen Verfahren zu identifizieren. Daher habe ich drei grundlegend verschiedene Verfahren zur Identifikation von Informationsaspekten entwickelt. Diese zeichnen sich alle dadurch aus, dass der manuelle Aufwand, der zur Anpassung für neue Domänen und/oder Aspekte aufgebracht werden muss, gering ist. Das ermöglicht eine schnelle und günstige Übertragung zwischen Anwendungsbereichen.

Die kluge Suchmaschine lernt ähnlich wie ein Kind

Das erste Verfahren adressiert die Identifikation von sogenannten Freitextattributen. Freitextattribute sind Informationen, die in Texten keinerlei festen Mustern folgen. Beispiele hierfür sind die Aufgaben des zukünftigen Arbeitnehmers, die in einer Stellenausschreibung beschrieben sind, oder die Motivation für eine wissenschaftliche Arbeit, die in einer wissenschaftlichen Publikation dargestellt ist. Diese Aspekte sind schwierig zu identifizieren, da sie sehr unterschiedlich strukturiert sind.

Der neu entwickelte Ansatz setzt daher auf überwachtes maschinelles Lernen. Damit lernt die Suchmaschine ähnlich wie ein Kind: durch Beispiele. Wenn man einem Kind erklärt, was ein Auto ist, macht man das am besten mit Bildern, auf denen ein Auto zu sehen ist. Zusätzlich kann man dem Kind auch Bilder zeigen, auf denen keine Autos, sondern beispielsweise Motorräder zu sehen sind. So lernt das Kind, Autos und Motorräder anhand von Merkmalen wie der Anzahl der Räder oder der Größe zu unterscheiden.

Auf die gleiche Art lernen auch überwachte maschinelle Lernverfahren. Für den von mir entwickelten Ansatz habe ich eine große Anzahl Merkmale definiert, welche für Aspekte in Textdokumenten unterschiedlichster Domänen relevant sind. Dies sind beispielsweise verwendete Begriffe, Zeitformen oder die Stimmung, die in einem Text zu finden ist. Wenn man diese Menge von Merkmalen gemeinsam betrachtet, kann man Aspekte in Texten unterschiedlichster Anwendungsbereiche erfolgreich identifizieren, ohne jeweils ein neues Verfahren zu entwickeln.

Die Identifikation sogenannter Meta-Attribute ist das Ziel des zweiten Verfahrens. Meta-Attribute sind Aspekte, die nicht wörtlich im Text zu finden sind, die aber aus dem Inhalt abgeleitet werden können – beispielsweise das Thema einer wissenschaftlichen Veröffentlichung oder die Berufskategorie einer Stellenausschreibung. Auch hier verwende ich zur Identifikation das überwachte maschinelle Lernen. Das sogenannte Ensemble Learning besteht aus mehreren Teilkomponenten, die unabhängige Entscheidungen treffen und diese dann zu einer Gesamtentscheidung zusammenführen. Auch dieses Verfahren arbeitet so ähnlich, wie Kinder lernen: Man zeigt das Bild mit einem Fahrzeug darauf aber nicht mehr nur einem, sondern gleich mehreren Kindern. Jedes Kind soll dann entscheiden, ob ein Auto abgebildet ist oder nicht – die Mehrheitsentscheidung ist dann häufiger richtig als die Entscheidung des Einzelnen.

Active Learning: Lernprozess mit Hilfestellung

Das Active Learning bezieht einen „wissenden Menschen“ in den Lernprozess ein. Im Kontext des Lernbeispiels von Kindern würde das bedeuten, dass das Kind bei Unsicherheiten die Eltern fragt, ob das Fahrzeug auf dem Foto auch wirklich ein Auto ist und die Eltern ihm die richtige Antwort geben. So erkennt das Kind über die Zeit immer zuverlässiger Autos. Beim Active Learning fragt die Maschine im Zweifelsfall einen Menschen und verwendet dessen Antwort, um die Erkennungsrate zu verbessern. Der Mensch trainiert auf diese Art kontinuierlich die Maschine. Die Methode hat den Vorteil, dass insgesamt weniger Beispiele durch den „wissenden Menschen“ gegeben werden müssen und somit der manuelle Aufwand reduziert wird. In meiner Arbeit konnte ich nachweisen, dass man durch die Kombination von Active Learning und Ensemble Learning ein sehr gutes Lernverhalten der Suchmaschine erreicht und so gleichzeitig den händischen Aufwand reduzieren kann.

Besonders wichtig sind Aspekte, die nicht nur aus einer einzelnen Information bestehen, sondern aus einer Verkettung mehrerer Informationen. Solche aggregierten Attribute, wie beispielsweise Adressen oder Produktnamen, müssen vollständig korrekt identifiziert werden, um sie sinnvoll weiterzuverarbeiten. Damit beschäftigt sich das dritte Verfahren, das ich entwickelt habe. Dabei verwende ich frei verfügbare Wissensdatenbanken wie beispielsweise die Webseite OpenStreetMap.

Da ich die Maschine mit diesem Wissen füttere, kann sie die aggregierten Attribute ähnlich wie ein Mensch finden, der dieses Wissen hat. Bei der Erkennung von Adressen konnte ich zeigen, dass dieser Ansatz trotz seiner hohen Flexibilität eine bessere Erkennungsrate als existierende Ansätze besitzt, die nur zur Erkennung von Adressen geeignet sind. Der Ansatz ist jedoch auch für andere Anwendungsbereiche nutzbar. Um das Verfahren für neue Aspekte einzusetzen, muss nur eine geringe Menge an Regeln manuell definiert werden und die Maschine muss gesagt kriegen, woher sie das menschliche Wissen erlangen kann, was ihr bei der Erkennung hilft.

Diese drei von mir entwickelten Verfahren zeichnen sich alle durch einen geringeren manuellen Aufwand bei der Verwendung in einem neuen Anwendungsbereich aus. Das spart Zeit und Kosten. Die Verfahren können eingesetzt werden, um automatisiert relevante Aspekte in großen Mengen von Texten zu identifizieren. Die identifizierten Aspekte können dann im Suchprozess verwendet werden, um dem Suchenden die Suchergebnisse anzuzeigen, die er finden wollte.

Bild: Pixabay, Lizenziert nach CC0