Back to top

Relevanzbewertung: Teil 2

Von Paul Nelson, leitender Architekt bei Search Technologies

 

Dieser Artikel ist Teil 2 in einer Reihe von vier Artikeln. Lesen Sie Teil 1 hier.

Herzlich Willkommen bei Teil 2 unseres Graduate Level Course zu Relevanz. Ich hoffe, die Pause hat uns allen gut getan, so dass wir jetzt frisch gestärkt wieder in die Materie einsteigen können.  

Also, dann wollen wir mal wieder.

 

Feldgewichtung

Eine besonders hilfreiche Technik für die Relevanzbewertung ist es, Dokumente höher zu gewichten, wenn die Suchbegriffe in Feldern vorkommen, denen ein hoher Wert zugeordnet wird. Das häufigste Beispiel hierfür ist es, Dokumente höher zu bewerten, wenn der Suchbegriff im Titel des Dokuments vorkommt.

Einige Suchmaschinen (wie etwa Microsoft FAST) verlassen sich so stark auf die Feldgewichtung, dass sie über spezielle Strukturen für die Feldgewichtung im Index verfügen, die man "Composite Fields" nennt.

Andere Suchmaschinen implementieren die Feldgewichtung durch Begriffserweiterung und Boosting. Angenommen, ein Benutzer sucht nach:George Washington. Um die Treffer im Titel höher zu gewichten, wird die Query wie folgt umgeschrieben:

(title:george^1.0 OR body:george^0.8) AND (title:washington^1.0 OR body:washington^0.8)

Man sieht, dass bei dieser umgeschriebenen Query mindestens einmal "george" und mindestens einmal "washington" vorkommen muss, so dass 100% Vollständigkeit garantiert wird (siehe unten). Dokumente, in denen diese Begriffe im Titel vorkommen, werden höher gewichtet als Dokumente, bei denen die Begriffe nur im Text vorkommen.

Die Feldgewichtung hat einen direkteren Bezug zur Benutzerzufriedenheit als jede andere Relevanztechnik, solange die Benutzer in den Suchergebnissen sehen, welche Felder für die Gewichtung verwendet wurden. Man darf nie vergessen, dass die Benutzer auch wissen wollen, warum ein Dokument ausgegeben wurde. Wenn der Benutzer sehen kann, warum ein Dokument in den Suchergebnissen als relevant angesehen wird (beispielsweise durch Unterstreichen der Suchbegriffe in der Ergebnisliste), sorgt dies für ein intuitives Verständnis der Funktionsweise und damit höheres Vertrauen in die Suchmaschine.

Die emotionale Reaktion ist dabei so stark, dass Suchmaschinen, die diese einfache Aufgabe nicht erfüllen ("warum werden Dokumente mit Treffern im Titel in den Suchergebnissen nicht höher bewertet") von den meisten Benutzern als unbrauchbar angesehen werden.

 

Text in Verknüpfungen

Text in Verknüpfungen ist der Text, den andere Leute in ihren HTML-Tags <A href=””> verwenden, wenn sie auf eine Seite verweisen. Verknüpfungen von fremden Websites zu dem jeweiligen Dokument nennt man eingehende Links. Die Theorie besagt hier, dass das, was andere Menschen über das Dokument sagen, in der Regel zuverlässiger ist, als das, was man selbst über die eigene Seite sagt (da es von unabhängiger Seite kommt).

Der Text in Verknüpfungen wird von Google stark gewichtet, so sehr, dass viele von Google ausgegebene Dokumente nicht einmal die Suchbegriffe enthalten. Die Begriffe tauchen aber im Text der HTML-Links auf, die auf dieses Dokument verweisen.

Text in Verknüpfungen wird hier aufgeführt, weil er eine weitere Art der Felddaten darstellt und ähnlich gehandhabt wird wie die oben beschriebene Feldgewichtung. Der grundlegende Algorithmus sieht wie folgt aus:

  1. Milliarden von Websites werden heruntergeladen, alle HTML-Links werden extrahiert
  2. Für jede Seite wird der Text aller eingehenden Links in einem "Link Text Feld" gesammelt
  3. Dieses Link Text Feld wird mit dem Dokument indexiert und wie oben beschrieben für die Feldgewichtung genutzt

Einfach, oder? Natürlich sind Schritt 1 und 2 recht umfangreich und erfordern massive Rechenleistung, um mit den enormen Datenmengen klarzukommen. Hierzu wird eine "Big Data" Batchverarbeitung mit MapReduce und Hadoop empfohlen.

Leider ist der Text von Verknüpfungen nur im Internet wirklich hilfreich. Die meisten Intranets in Unternehmen haben nur wenige Verknüpfungen (da es sich bei den Daten vorwiegend um Office-Dokumente wie Word und PowerPoint handelt). Daher gibt es zu wenig Text in Verknüpfungen, um die Berechnungsleistung zu rechtfertigen. Auch andere Arten der vertikal ausgerichteten Dokumentsammlungen (Verzeichnisse, Anzeigen, E-Commerce usw.) haben nur wenige Verknüpfungen, so dass auch hier die Feldgewichtung des Verknüpfungstextes nicht hilfreich ist.

 

Vollständigkeit

Vollständigkeit berechnet, wie viele der vom Benutzer eingegebenen Suchbegriffe tatsächlich im Dokument vorkommen. Dies wird normalerweise als Prozentsatz ausgegeben. Wenn beispielsweise vier von fünf eingegebenen Suchbegriffen im Dokument vorkommen, ergäbe dies 80% Vollständigkeit.

Fortschrittlichere Versionen der Vollständigkeit berechnen diese Prozentsätze auch gemäß den Begriffsgewichtungen. Angenommen wir haben zwei Suchbegriffe, Begriff A hat eine Gewichtung von 0,5, und Begriff B eine Gewichtung von 1,5. Wenn in diesem Beispiel nur Begriff A in einem Dokument vorkommt, ergäbe dies nur 0,5/2 = 25% Vollständigkeit.

Vollständigkeit ist eine Statistik für die Relevanzbewertung, die oft unterschätzt wird. So sehr, dass sie nur selten wirklich thematisiert wird. Vielleicht liegt das auch daran, dass sie noch nicht einmal einen offiziellen Namen hat. "Vollständigkeit" ist nur der Name, den ich ihr verliehen habe, als ich in den frühen 90er Jahren zum ersten Mal mit dieser Statistik gearbeitet habe.

Trotzdem ist klar, dass die Vollständigkeit für den Endnutzer die wichtigste Statistik ist. Der Benutzer erwartet Dokumente, in denen alle von ihm eingegebenen Wörter vorkommen. Wenn dies nicht der Fall ist, geht er von einem Fehler der Suchmaschine aus. Benutzer haben in der Hinsicht so hohe Ansprüche, dass die meisten professionellen Suchmaschinen nur Dokumente mit 100% Vollständigkeit ausgeben.

Allerdings erwartet der Benutzer nicht nur 100% Vollständigkeit, sondern will das auch von der Suchmaschine klar gezeigt bekommen. Die meisten modernen Suchmaschinen verwenden dafür dynamische Teaser, die Ausschnitte aus den Dokumenten in den Suchergebnissen anzeigen, die Suchbegriffe darin werden hervorgehoben.

 

Vollständigkeit und Null Prozent

Wenn man sich strikt auf Ergebnisse mit 100% Vollständigkeit beschränkt, ist eine der Konsequenzen, dass häufig gar keine Ergebnisse gefunden werden. Null gefundene Ergebnisse ist auch eine wichtige Aussage für viele Benutzer, kann aber zu einem Problem werden, wenn der Prozentsatz der Querys mit null Ergebnissen (auch "Null Prozent" genannt) zu groß wird, sagen wir über 30%. Das Problem ist besonders groß für Betreiber von E-Commerce-Websites, bei denen der Umsatz direkt davon abhängt, ob die Kunden die gesuchten Produkte finden. Wenn sie das Produkt nicht finden können, können sie es auch nicht kaufen.

Naive Ansätze, dieses Problem zu lösen, bestehen meist darin, die Maßgaben zur Vollständigkeit zu reduzieren, so dass auch Dokumente mit weniger als 100% Vollständigkeit ausgegeben werden. Eine einfache Maßnahme, die ich tatsächlich in verschiedenen Implementierungen gesehen habe, ist es, den Operator "default AND" gegen "default OR" zu ersetzen. Damit wird zwar das Problem der Null Prozent-Ergebnisse gelöst, aber auf Kosten der Benutzer.

Das Problem bei "default OR" ist, dass Querys oft aus einem sehr häufigen Suchbegriff und einem genauer spezifizierenden, seltenen Suchbegriff bestehen. Ein Beispiel wäre: |kapillarer Aufstieg| - in dieser Suche ist wohl der seltenere Begriff "kapillar" der Grund, warum keine Ergebnisse gefunden werden. Wenn die Suchmaschine jetzt aber alle Dokumente ausgibt, in denen einfach nur |Aufstieg| vorkommt, sind diese Ergebnisse weitgehend nutzlos und verschwenden nur die Zeit des Benutzers, der auch noch herausfinden muss, warum die Ergebnisse so schlecht sind.

Eine bessere Lösung, die Null Prozent zu reduzieren ohne die Vollständigkeit zu opfern, ist eine Modifikation der Abfrage. So können beispielsweise Akronyme erweitert werden ("DAX" zu "Deutscher Aktienindex") oder häufige Varianten anstelle des Suchbegriffs genommen werden ("Azubi" für "Auszubildender"), die Rechtschreibkorrektur kann Tippfehler ausgleichen (viele Null Prozent-Ergebnisse kommen durch Tippfehler), die Suchbegriffe können um Synonyme erweitert werden ("Kredit" für "Darlehen"), alternative Schreibweisen können miteinbezogen werden ("CO2" für "Kohlendioxid"), es können sogar komplett andere Suchen ausgeführt werden (wie etwa Nutzen der Mustersuche, wenn in den Dokumentdaten im Index viele falsch geschriebene oder sehr ungewöhnliche Wörter vorkommen). Es ist hierbei wichtig, die Query-Logs sorgfältig zu untersuchen, um die Techniken zu bestimmen, mit denen der größte Effekt bei geringstem Aufwand erreicht werden kann.

In jedem Fall muss man aber darauf achten, die Interessen des Benutzers nicht aus dem Blick zu verlieren. Wenn die Suchmaschine zu irgendeinem Zeitpunkt Ergebnisse liefert, die der Benutzer nicht logisch nachvollziehen kann, verliert der Benutzer den Bezug zu der Suche und wird die Suchmaschine nicht wieder verwenden. Google ist beispielsweise sehr vorsichtig und erwähnt bei angepassten Suchergebnissen auch die Möglichkeit, nach dem exakten eingegebenen Suchbegriff zu suchen. Gibt man beispielsweise "van gough" ein, wird die Suche auf "van gogh" angepasst, aber auch mit einem Link versehen, über den man wirklich nach "van gough" suchen kann. Auf diese Art weiß der Benutzer jederzeit, was die Suchmaschine gerade versucht.

[Als Insider finde ich, dass die Sucherfahrung des Benutzers mit einem Besuch im Theater vergleichbar ist. Wenn es zu konfus oder zu dumm wird (oder zu trivial, zu schmierig, zu altmodisch oder was auch immer), schaltet das Publikum ab. Sie verlieren das Interesse und kommen nach der Pause nicht wieder.

Genauso läuft es auch bei Suchmaschinen. Auch hier sollte alles für den Benutzer selbsterklärend sein. Die Suchmaschine muss den Benutzer leiten, so dass der Benutzer bei jedem Schritt weiß, was geschieht und warum. Das funktioniert nur, wenn die Suchmaschine, die Daten, die Struktur des Index und die Benutzeroberfläche alle perfekt zusammenarbeiten. Auch das ist wieder wie beim Theater, wo der Regisseur, der Autor, die Schauspieler, der Bühnenbildner, der Kostümdesigner, der Lichttechniker usw. alle ihren Teil erfüllen müssen, um ein funktionierendes Kunstwerk zu schaffen.]

 

Vollständigkeit sollte andere Statistiken beeinflussen

Als letztes will ich darauf hinweisen, dass die Vollständigkeit mit anderen Statistiken der Relevanzbewertung zusammenarbeiten kann und sollte. Wenn beispielsweise die Termfrequenz (siehe Teil 1) berechnet wird, werden Dokumente, in denen alle Suchbegriffe in etwa gleicher Menge vorkommen, vermutlich bessere Treffer sein als Dokumente, in denen die Begriffe in ungleichem Verhältnis vorkommen. Ähnlich bei der Berechnung der Feldgewichtung (siehe oben). Dokumente, in denen alle Suchbegriffe im Titel vorkommen, sollten höher gewichtet werden als Dokumente, in denen nur einige der Begriffe im Titel vorkommen. Ein weiteres Beispiel ist der Bezug zur Nähe (die in Teil 3 genauer besprochen wird). Eine Ansammlung einiger weniger der Suchbegriffe in direkter Nähe zueinander wird weniger interessant sein als eine direkte Ansammlung mehrerer der Suchbegriffe.

 

Ende von Teil 2

Schön, dass Sie es so weit durchgehalten haben. Im nächsten Teil werden wir über Nähe und andere Statistiken reden, für die auch die Position der Suchbegriffe im Dokument wichtig sein wird.

 

--Paul

Weiter zu Teil 3

 

0