Back to top

Relevanzbewertung: Teil 3

Von Paul Nelson, leitender Architekt bei Search Technologies

 

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

 

Bei den meisten Kursen, die ich unterrichte, gerate ich so von einem Thema aufs nächste, und am Ende des Semesters fällt mir auf, dass ich nur die Hälfte des Materials abgedeckt habe. Aber zum Glück geht es in diesem Blog ja auch nicht um (mangelndes) Zeitmanagement, sondern um Relevanzbewertungen. Und damit geht es jetzt weiter.

 

Aufkommen von Begriffen 

Die Statistiken zur Relevanz in diesem Abschnitt befassen sich alle mit dem "Aufkommen" von Begriffen. Anders ausgedrückt, wo Begriffe im Dokument stehen (Position der Wörter), innerhalb der Dokumentstruktur (Boost des Formats) und innerhalb des Satzes (Boost der Syntax).

Einige Informationen zum Aufkommen der Begriffe werden anders erfasst. So verzeichnet etwa die Feldgewichtung (siehe Teil 2), wenn Begriffe in bestimmten Feldern auftreten (z.B. im Titel). Die Termfrequenz zählt die Anzahl, wie oft ein Begriff im Dokument auftritt.

Die folgenden Statistiken gehen tiefer. Sie erforschen Statistiken zur exakten Position eines Begriffs im Dokument und deren Nutzen.

 

Nähe

Nach der Feldgewichtung und der Vollständigkeit (siehe Teil 2) ist die Nähe der vielleicht wichtigste Parameter für die Relevanzbewertung. Leider ist sie auch einer der am schwierigsten zu berechnenden Parameter.

Die Bewertung der Nähe gewichtet Dokumente höher, wenn die Suchbegriffe innerhalb eines Dokuments nahe beieinander (also mit hoher Nähe) auftreten. Dies ist eine rein logische Relevanzbewertung für jede Query mit mehreren Wörtern. Sie hilft jedoch nicht bei Suchen nach einzelnen Wörtern.

Wenn wir beispielsweise nach |Entwicklung Datenbank| suchen, wird das Dokument als relevanter eingestuft, wenn diese Wörter nahe beieinander auftreten, und als weniger relevant, wenn sie in unterschiedlichen Abschnitten oder auf unterschiedlichen Seiten vorkommen.

Leider ist die wirkliche Bewertung der Nähe teuer in der Implementierung und stellt hohe Anforderungen an die Ressourcen (Festplattenspeicher, RAM und CPU). Dies kommt daher, weil für die Bewertung der Nähe die Position der Wörter innerhalb des Dokuments wichtig ist, nicht nur das Auftreten oder Fehlen eines Wortes. Speichern und Abrufen dieser Positionen macht den Index umfangreicher sowie das Indexieren und die Abfragen langsamer.

Daher wird die Bewertung nach Nähe von den Entwicklern von Suchmaschinen meist schnell abgetan, obwohl sie wirklich extrem leistungsfähig sein kann. Einige Suchmaschinen boosten beispielsweise nur Dokumente, welche die Abfrage als exakten Ausdruck enthalten, oder wenn alle Wörter in einem bestimmten Fenster enthalten sind. So geben manche Suchmaschinen einen Bonus von 25% auf die Bewertung, wenn alle Suchbegriffe innerhalb eines Raums von 25 Wörtern auftreten.

Die besten Algorithmen werden jedoch ein abgestuftes Fenster für die Gewichtung nach Nähe verwenden, in etwa wie dieses:

Dieses Fenster wird auf jeden Suchbegriff gelegt, der in einem Dokument gefunden wird. Dadurch wird dann ein Durchschnitt der benachbarten Suchbegriffe berechnet, jeder Begriff durch das Fenster gewichtet, basierend auf seinem Abstand zum zentralen Punkt. Dieser ist der Wert der Nähe für das zentrale Wort. Die Nähe des Dokuments wird dann als Bewertung der Nähe der übrigen Suchbegriffe zum zentralen Wort angegeben.

Der Vorteil eines solchen Fensters ist, dass ein gradueller Boost für die Nähe angegeben wird. Dokumente mit Wörtern, die direkt nebeneinander stehen, werden den größten Boost erhalten. Je weiter die Wörter voneinander entfernt stehen, desto geringer wird der Boost, und das Dokument wird immer weniger relevant.

 

Position des Begriffs

Dokumente können auch höher bewertet werden, wenn sie einige der Suchbegriffe weiter am Anfang des Dokuments enthalten. Der Gedanke dabei ist, dass der Autor die wichtigsten Informationen ganz an den Anfang stellen wird (zum Beispiel in einer Zusammenfassung oder Einführung), weniger wichtige Informationen folgen dann weiter hinten im Dokument.

Das scheint auf den ersten Blick logisch, unsere eigene statistische Auswertung hat aber ergeben, dass die Bewertung nach der Position des Begriffs mehr schadet als hilft. Selbst für relativ strukturierte Dateien mit chronologischem Ablauf, wie etwa einem Lebenslauf, hilft die Position der Begriffe wenig.

Der einzige Fall, bei dem die Position der Begriffe wirklich von Bedeutung war, war bei der Suche nach bekannten Titeln, wie etwa den Namen von Filmen oder Fernsehserien. Wenn man beispielsweise nach "star" sucht, bekommt man zuerst Titel wie "Star Wars" und "Star Trek", vor Titeln wie "The Raccoons and the Lost Star". In begrenzten Situationen wie diesen, kann die Position des Begriffs nützlich sein. In den meisten Fällen wird die Feldgewichtung aber vollkommen ausreichen.

 

Formatbasierter Boost von Begriffen

Der formatbasierte Boost von Begriffen gibt Dokumenten eine höhere Gewichtung, wenn Suchbegriffe in diesen Dokumenten durch die Formatierung hervorgehoben auftreten.

So könnte man beispielsweise <b>fett gedruckte</b> Begriffe als wichtiger werten als den Rest des Dokuments. Dokumente, in denen Begriffe auf diese Art hervorgehoben sind (fett gedruckt, in größerer Schrift, als Überschrift gekennzeichnet usw.), können dann stärker gewertet werden als Dokumente, in denen dieselben Begriffe normal formatiert vorkommen.

Das Problem ist natürlich, wie man die Formatierung des Dokuments verlässlich ausliest. Hierzu müssen die Kennzeichnungen im Dokument analysiert werden. Selbst bei normalem HTML kann es schon schwierig sein, das Format auszulesen, gerade bei verschachtelten Tags und CSS Stylesheets. Dazu gibt es dann noch Sonderfälle, wie groß geschriebene, fett gedruckte Begriffe in verborgenen <div> Tags, oder Wörter, die in der gleichen Farbe formatiert sind wie der Hintergrund (ein beliebter Trick bei Spammern).

Wenn der Content komplexer ist als HTML, wie beispielsweise PDF oder Microsoft Office-Dokumente, werden auch die Schwierigkeiten größer. Es kann schon schwer genug sein, überhaupt Text aus diesen binären Formaten auszulesen. Dazu auch noch die Formatierung verlässlich auszulesen wird schwer und nur selten wirklich zuverlässig. Noch schlimmer, wenn man die Formatierung von einem Dokument ausliest, von einem anderen nicht, dann erschafft man damit ein Ungleichgewicht der Statistik und senkt die Genauigkeit damit sogar.

Aus diesen Gründen gibt es derzeit keine Suchmaschine, die die Formatierung des Content für die Relevanzbewertung verwendet. Eine mögliche Ausnahme könnte die Google Search Appliance sein, die im Gegensatz zu den meisten kommerziellen Suchmaschinen primär auf HTML-Inhalte ausgerichtet ist. Ich bin mir nicht sicher, ob die GSA die Formatierung für einen Boost verwendet, würde aber davon ausgehen.

 

Boost der Syntax 

Bei einem syntaktischen Boost wird die Nutzung der Wörter innerhalb eines Satzes untersucht. Dokumente, die Suchbegriffe als Subjekt eines Satzes verwenden, werden dabei beispielsweise höher eingestuft, als Dokumente, bei denen die Suchbegriffe nur in Nebensätzen auftauchen.

So würde bei einer Suche nach "Star Wars" Dokument A höher eingestuft als Dokument B:

Dokument A: "Ich liebe Star Wars."

Dokument B: "Science Fiction-Filme, wie Star Wars, können mehr sein als reiner Eskapismus."

Das syntaktische Boosting ist aber enorm schwierig und bietet nur begrenzten Nutzen.

 

Zuerst einmal ist es schwierig, die Syntax größerer Textmengen ohne strikte formelle Vorgaben zu analysieren, man wird nur etwa 65% der Begriffe korrekt analysiert bekommen. Und weiterhin gibt es keinen zuverlässigen Beweis dafür, dass das Subjekt wirklich wichtiger ist als der Rest des Satzes (man denke nur an das Passiv). Die Position im Satz spielt nur eine untergeordnete Rolle im Vergleich zu den nützlicheren Statistiken, wie etwa der Nähe oder Termfrequenz. 

 

Soweit ich weiß wurde syntaktisches Boosting bisher nur in akademischen Suchmaschinen für Machbarkeitsnachweise eingesetzt.

 

Ende von Teil 3 

Vielen Dank, dass ihr so weit gekommen seid. Wie gesagt, Zeitmanagement ist nicht mein Fachgebiet, daher wird gleich noch ein Teil folgen.

Oder auch zwei, falls mir später noch mehr einfällt.

-- Paul

Weiter zu Teil 4

0