Back to top

Relevanz – Ein Graduate Level Course

Von Paul Nelson, leitender Architekt bei Search Technologies

 

Dieser Artikel ist Teil 4 in einer Reihe von vier Artikeln. Lesen Sie auch Teil 1,Teil 2 und Teil 3, falls noch nicht geschehen.

 

Willkommen zum nächsten Teil. Dem letzten Teil. Wirklich. Falls mir nicht später doch noch was einfällt.

 

DOKUMENTQUALITÄT 

Die Dokumentqualität ist eine verlockende Komponente für die Relevanzbewertung. Die unterschiedlichsten Systeme nutzen diese Möglichkeit, von Amazon bis zu Google. Sie gibt an, dass manche Dokumente "nützlicher" sind als andere und dass nützlichere Dokumente höher in den Suchergebnissen auftauchen sollen. 

Dabei ist die Dokumentqualität ein Faktor, der von der Query unabhängig bestimmt wird. Sie basiert rein auf den Eigenschaften des Dokuments selbst, ohne zu bedenken, wie gut es zu der Suche passt. Normalerweise wird die Dokumentqualität im Voraus berechnet, wenn das Dokument das erste Mal aufgenommen wird. Danach wird der Wert für die Qualität mit dem Dokument zusammen im Index gespeichert. 

Natürlich ist es sehr subjektiv, wie "nützlich" ein Dokument ist. Dazu gibt es unzählige Diskussionen, statistische Analysen und Doktorarbeiten. Es gibt auch viele Faktoren, die zur Berechnung der Qualität herangezogen werden können. Hier sind einige der wichtigsten:

  • Qualität der Quelle – hierbei weist man einfach einer Contentquelle einen Qualitätswert zu und überträgt diesen auf alle Dokumente, die dieser Quelle zugeordnet sind. 

Diese Funktion wird bei Unternehmenssuchen oft verlangt, sowohl von Endnutzern als auch dem Management. Oft hört man: "In unserer Suche tauchen Seitenweise Treffer aus Kundendienst-Tickets auf. Können wir diese nicht einfach komplett ans Ende verschieben?" Die Antwort ist klar und einfach: Ja. Können wir. Man sollte nur aufpassen, dass man sie nicht so weit nach unten schiebt, dass sie gar nicht mehr gefunden werden.

  • Größe der Dokumente – In einigen Datenbanken ist die Größe eines Dokuments ein guter Anhaltspunkt für seine Qualität. In Wikipedia beispielsweise ist ein größeres Dokument (meist) wichtiger. 

Wenn der Benutzer zum Beispiel nach "Olympia" sucht, kann er als Ergebnis die olympischen Spiele (ausgedruckt 11 Seiten DIN A4) oder den Olympia-Verlag (zwei kurze Absätze) bekommen. Normalerweise werden Themen, die von höherem allgemeinen Interesse sind, auch eingehender und ausführlicher diskutiert.

  • Popularität – Popularität ist die am direktesten mit der Nützlichkeit verbundene Statistik. Sie besagt, dass beliebte Dokumente weiter oben in den Ergebnissen auftauchen sollten. 

Die Systeme analysieren dazu Log-Dateien, um die Popularität zu bestimmen, z.B. indem sie die Anzahl der Klicks in den letzten 12 Monaten pro Dokument zählen.

  • Eingehende Links – Die Zählung von eingehenden Links stellt einen sehr hilfreichen Algorithmus zur Bestimmung der Popularität eines Dokuments dar, falls verfügbar. Beim Zählen der eingehenden Links werden die Dokumente am hilfreichsten eingestuft, auf die am häufigsten von anderen Dokumenten aus verwiesen wird.  

Das Zählen eingehender Links findet man in den unterschiedlichsten Situationen, wie etwa bei der Internetsuche, Patentsuche (Patente verweisen untereinander auf andere Patente), akademischen Abhandlungen (wissenschaftliche Artikel, die häufig von anderen Akademikern zitiert werden, werden als wichtigste Artikel angesehen) und Enzyklopädien.

  • Page Rank – Page Rank ist eine mehr auf Statistik beruhende Version der eingehenden Links, die versucht, die Wahrscheinlichkeit zu berechnen, dass ein Benutzer zufällig auf einer Seite landet, indem er Verknüpfung anklickt. 

Bei einfachem Zählen der eingehenden Links (siehe oben) zählt jede Verknüpfung gleich. Bei PageRank zählen Verknüpfungen von besser bewerteten Seiten mehr als Verknüpfungen von schlechteren Seiten. Da der PageRank auf Wahrscheinlichkeiten beruht bleibt er immer zwischen 0 und 100%, so dass die Bewertung für Suchmaschinen mathematisch einfacher einbeziehbar ist.

  • Benutzerbewertungen – Bei Seiten, die Benutzerbewertungen nutzen, wie Netflix oder Amazon, kann die Bewertung genutzt werden, um die Dokumentqualität zu bestimmen. Ein mit 5 Sternen bewerteter Film ist wohl interessanter als ein 1-Sterne-Film.
  • Aktualität – Die Aktualität besagt, dass neuere Dokumente (mit neuerem Erstellungsdatum) hilfreicher sind als alte Dokumente. Bei aktuellen Nachrichten mag das stimmen, und auch bei Datenbanken zum Produktsupport. Aber in anderen Situationen ist dieser Faktor weniger hilfreich, wie etwa bei Enzyklopädien, Archiven oder normalen Geschäftsdaten.
  • Entscheidungen des Redakteurs – In vielen Suchanwendungen können Redakteure Entscheidungen zur Dokumentqualität treffen. Das kommt meist bei Unternehmenswebsites oder im E-Commerce vor, wenn manuell neue Initiativen oder Produkte hervorgehoben werden sollen.

 

SEMANTISCHE DISTANZ 

Nehmen wir an, wir haben das Wort "Pferd". Sollen bei einer Suche auch Ergebnisse für "Pony" ausgegeben werden? Wie sieht es mit Dokumenten aus, in denen die Begriffe "Reiter", "Hengst" oder "Kentucky Derby" vorkommen? 

Das sind alles Beispiele für die Relevanzbewertung nach semantischer Distanz. Dokumente, die Begriffe oder Konzepte ansprechen, die einen engeren thematischen Bezug zum Suchbegriff haben, werden höher in den Suchergebnissen aufgeführt. 

Es gibt aber auch mehrere Probleme mit der Relevanzbewertung nach semantischer Distanz: Zunächst ist dafür ein semantisches Wörter-Netzwerk erforderlich, mit Synonymen und Konzepten, welches aktuell gehalten werden muss. Ein beliebtes semantisches Netzwerk ist WordNet, gegründet von George A. Miller (So nebenbei: George, wo immer du jetzt sein magst, dein WordNet ist eine wahre Inspiration für mich, schon seit fast einem Vierteljahrhundert. Ruhe in Frieden.) an der Universität Princeton.

Das zweite Problem mit der Relevanzbewertung nach semantischer Distanz ist, dass damit Dokumente ausgegeben werden, die gar keine der Wörter enthalten, die der Benutzer für die Suche eingegeben hat. Wenn man zum Beispiel nach "Wohnung" sucht und die Suchmaschine Dokumente zur Band "Einstürzende Neubauten" liefert, wird man wohl eher vermuten, dass die Suchmaschine einen Fehler gemacht hat. Das Wort "Neubauten" hier in dem musikalischen Kontext hat keinen wirklichen Bezug mehr zu tatsächlichen Häusern. 

Wenn man aber nach "Wohnung" sucht und die Suchmaschine einen Artikel zur Band "2raumwohnung" ausgibt, kann man das eher nachvollziehen, weil der Suchbegriff im Namen vorkommt. Also muss der Benutzer sich weniger den Kopf zerbrechen, warum ihm gerade dieses Dokument angeboten wird. 

Als drittes ist es oft schwer zu sagen, welche Bedeutung des Wortes durch den Benutzer gemeint war. Ein beliebtes Beispiel ist hier die Suche nach "Fonds". Welche verwandten Wörter bezieht man mit ein, wird hier nach einer Kapitalanlage gesucht oder nach Rezepten für Kraftbrühen? Es gibt immer wieder Wörter, die je nach Kontext unterschiedliche Bedeutungen haben, und die Suchmaschine kann nicht wissen, welche Bedeutung der Benutzer meint. Wenn dann Suchergebnisse ausgegeben werden, die auf eine nicht vom Benutzer beabsichtigte Bedeutung passen, wird der Benutzer wahrscheinlich verwirrt sein. Eine Lösung wäre es, den Benutzer einfach zu fragen, wenn mehr als eine mögliche Bedeutung gefunden wurde. In manchen Bereichen ist das ein durchaus praktikabler Ansatz. 

 

MUSTERENTFERNUNG 

Ähnlich wie die semantische Distanz bewertet auch die Musterentfernung Dokumente höher, wenn bestimmte Wörter vorkommen, die ähnliche Muster aufweisen wie die eingegebenen Suchbegriffe. 

Bei einigen Contentquellen ist dies von kritischer Bedeutung für die Relevanzbewertung, z.B. bei Werbeanzeigen oder Dokumenten, die über OCR (Optische Zeichenerkennung) erstellt wurden. In beiden findet sich ein hoher Anteil falsch geschriebener Wörter. Besonders Werbeanzeigen bieten dazu auch nur sehr wenig Content (meist nur ein bis zwei Dutzend Wörter), so dass ein einzelner Tippfehler einen Großteil des "Dokuments" unbrauchbar macht. Ohne Relevanzbewertung durch Musterentfernung wäre dieses Dokument nicht auffindbar. 

Musterentfernung wird meist über die N-Gramm-Analyse bestimmt. Dokumente, die Wörter enthalten, welche die höchste Zahl von gemeinsamen N-Grammen relativ zum Suchbegriff aufweisen, werden zuerst ausgegeben. 

 

BOOST FÜR GEOGRAFISCHE DISTANZ 

Es gibt einen feinen Unterschied zwischen Sortieren und Relevanzbewertung. Dieser Unterschied ist vor allem bei der Bewertung der geografischen Distanz besonders klein. 

Die meisten Systeme sortieren einfach nach geografischer Distanz. Leider kann das zu der seltsamen Situation führen, dass ein Dokument als erster Treffer ausgegeben wird, dass kaum auf die Suchanfrage passt, einfach nur, weil es geografische Nähe zum Kunden aufweist. Daher versuchen viele Systeme, einen Boost für die Distanz von Dokumenten einzuführen, die sich nahe beim Benutzer befinden.

Es ist jedoch nicht einfach, den Boost für die geografische Distanz genau hinzubekommen (und vielleicht sogar mathematisch unmöglich). Stellt man den Boost für geografische Distanz zu hoch ein, wirkt er wie reines Sortieren nach Distanz. Stellt man ihn zu niedrig ein, wirkt es wie reines Sortieren nach regulärer Relevanz.

Wenn dann die Distanz auch noch in den Suchergebnissen angegeben wird, wird der Benutzer sich vielleicht wundern: "Es ist ja gar nicht nach Distanz sortiert, da muss was kaputt sein." Wenn man dann versucht zu erklären, dass die Distanz nur einen Boost der Gewichtung verursacht, erntet man meist nur verwirrte Blicke. 

 

UND JETZT ALLES ZUSAMMEN 

Irgendwie muss ich dabei immer an meinen liebsten Broadway-Song denken. 

Gut, wir haben jetzt die verschiedenen Möglichkeiten der Relevanzbewertung gesehen. Wie um alles in der Welt soll man all das in einer einzelnen Ergebnisliste zusammenbringen? 

Ich muss zugeben, es ist nicht einfach, und manchmal mehr eine Kunstform als reine Wissenschaft (womit wir wieder bei dem Song wären) – aber viel kann man mathematisch lösen. Im Folgenden ein paar Vorschläge und mögliche Strategien. 

 

Teile und Herrsche 

Mein erster Vorschlag ist, das Problem in vier Bereiche aufzuteilen:

  1. Dokumentqualität
  2. Abfragequalität
  3. Abgleich von Query und Dokument
  4. Externe Faktoren (Distanz, Zeit, Kategorie usw.)

Diese vier Bereiche sind voneinander relativ unabhängig, daher kann man jeden Bereich einzeln abstimmen und alle vier am Ende verbinden. 

 

Nicht sentimental, sondern methodisch sein 

Wenn ein Faktor für Relevanz nicht funktioniert, muss man ihn nicht einsetzen. Viele Leute versuchen Faktoren mit einzubauen, weil es sich "nach einer guten Idee angehört hat" oder "weil man das schon immer so gemacht hat". 

Man sollte aber vielmehr alles von Grund auf in Frage stellen. Zuerst das grundlegende System aufbauen, dann die Relevanzbewertung Schritt für Schritt einbauen. Dabei muss man sichergehen, dass jedes Element, das man einbaut, auch wirklich die Ergebnisse verbessert. Wenn nicht, sollte man es weglassen. 

 

Mehrere Ergebnisse erwägen 

Manchmal erhält man schlechte Dokumente, egal, was man macht. Man sieht das häufig bei Websites, auf denen Pressemitteilungen die eigentlich wichtigen Dokumente verdrängen. 

In solchen Fällen kann es sinnvoll sein, zwei separate Ergebnislisten auszugeben. So kann man beispielsweise die Pressemitteilungen in eine separate Kategorie fassen oder irgendwie zusammengestellt präsentieren (als Beispiel kann man sich ansehen, wie Google alle Nachrichten in einer Abfrage zusammenstellt) 

Resultate zu Gruppen zusammenzustellen und mehrere Ergebnislisten zu bieten ist eine gute Möglichkeit, die Suchergebnisse zu ordnen und dem Benutzer einen Überblick zu geben, was alles verfügbar ist. 

 

Bereichssortierung 

Wenn mehrere Dimensionen der Relevanz und des Sortierens involviert sind, kann die Bereichssortierung hilfreich sein. 

Dies kommt in der Regel vor, wenn sowohl Zeit als auch Relevanz wichtig sind (zum Beispiel, wenn nach Nachrichten gesucht wird), oder wenn Entfernung und Relevanz wichtig sind (zum Beispiel, wenn in einem Geschäftsverzeichnis gesucht wird). 

Man sortiert nun nicht nur nach Zeit (oder Entfernung), und nicht nur nach Relevanz, sondern erstellt "Bereiche" für Zeit und Distanz, und sortiert die Relevanz innerhalb dieser Bereiche. 

So könnte man statt der genauen Entfernung 4,32 km einen benutzerfreundlicheren Bereich von "0-5 km" angeben. Damit hätte man einen Bereich für die Entfernung. Jetzt nimmt man alle Dokumente, die in 0-5 km Entfernung liegen und nimmt eine Untersortierung nach Relevanz vor. 

Genauso funktioniert das mit der Zeit. Statt der exakten Zeit "vor 4 Stunden, 13 Minuten und 42 Sekunden" nimmt man einfach "Heute", "diese Woche" oder "diesen Monat". Auch so erschafft man wieder Bereiche. Innerhalb dieser Bereiche nimmt man dann die Untersortierung nach Relevanz vor. 

Die Bereichssortierung ist eine relativ einfache Möglichkeit, Werte (wie Entfernung oder Zeit) mit Relevanz zu kombinieren und Ergebnisse zu liefern, die leicht zu verstehen sind. 

 

Regressive Analyse 

Wenn man Zugriff auf die internen Algorithmen der Suchmaschine hat, kann man auch eine statistisch regressive Analyse vornehmen, um die optimalen Gewichtungen für alle Komponenten der Relevanz zu bestimmen.

Damit dies funktionieren kann, werden zwei Dinge benötigt:

  1. Eine "Entscheidungs-Datenbank", welche relevante Dokumente bestimmt. Diese kann durch Klick-Logs oder durch manuelle Auswertung erstellt werden.
  2. Detaillierte, separate Relevanzdaten der Suchmaschine. Idealerweise sollte man separate Werte für Nähe, Vollständigkeit, semantische Distanz, IDF, TF, Dokumentqualität usw. für jedes Dokument erhalten können, das von einer Query ausgegeben wird.

Sobald man all diese Informationen hat, kann man die regressive Analyse verwenden, um die Relevanz basierend auf den separierten Daten zu bestimmen. Das Endergebnis wird eine Formel sein, die eine normalisierte Bewertung (Prozentsatz) für jedes Dokument ausgibt. Die Analyse wird weiterhin bestimmen, wie gut jeder der individuellen Datenpunkte mit der Gesamtwertung korreliert, so dass Faktoren mit geringem Nutzwert aus den Berechnungen entfernt werden können.  

Sobald die Formel bereit ist, muss sie natürlich noch direkt in den Code der Suchmaschine eingefügt werden. Daher ist es hilfreich, Zugriff auf den Quellcode der Suchmaschine zu haben. 

 

ZUSAMMENFASSUNG

Die Relevanzbewertung für Suchmaschinen ist mein liebstes Thema, da hier alle Aspekte der Suche, der Daten und des Benutzerverhaltens angeschnitten werden. Ich glaube, dass man einen gewissen Grad der Leidenschaft und künstlerische Inspiration braucht, um eine Relevanzbewertung zu erstellen, die einen wirklichen Unterschied in den Suchergebnissen liefert. Man spielt mit der Balance vieler verschiedener Faktoren und muss immer ein Auge darauf haben, wie alles durch den Endnutzer wahrgenommen wird. 

 

--Paul 

0