Ausarbeitung - Universität Ulm

Transcription

Ausarbeitung - Universität Ulm
Suchmaschinen und Text Mining
Robert Schmitz
Proseminar Text Minig,
Universität Ulm, Abteilung Neuroinformatik, SS 2007
1
Konventionelle Suchmaschinen
Eine offizielle Antwort auf die Frage nach den Ausmaßen den World Wide Web zu bekommen scheint unmöglich. Seit Bestehen des WWW vergrößert sich dieses Netzwerk stetig
und in rasantem Tempo. Längst hat sich das Internet auch für Privatpersonen geöffnet,
was dessen Wachstum natürlich nochmals beschleunigte.
Folge dieser Entwicklung ist eine praktisch unerschöpfliche Quelle an Informationen zu
annähernd jedem vorstellbaren Thema. Die Kehrseite der Medaille ist jedoch offensichtlich: Das gezielte Finden von Informationen gleicht der berühmten Suche nach der Nadel
im größten Heuhaufen der Welt. Ein Durchforsten der Internets von Hand ist unmöglich,
Softwarelösungen sind nötig, so genannte Suchmaschinen.
1.1
Funktionsweise
Die Funktionsweise konventioneller Suchmaschinen lässt sich typischerweise in drei Schritte unterteilen:
(1) Indexierung des WWW
(2) Verarbeitung und Ausführung der Suchanfrage
(3) Präsentation der Ergebnisse
1.1.1
Indexierung des WWW
Hinsichtlich der enormen Größe des Internets wäre es ein äußerst ineffektiver Ansatz,
einfach linear durch die Menge der verfügbaren Seiten zu gehen und diese mit den Suchbegriffen zu vergleichen. Abhilfe schafft hier ein geschicktes Indexierungsverfahren.
Dabei kommt ein so genannter WebCrawler zum Einsatz, ein Programm, welches das
Internet durchsucht und Webseiten analysiert. Der Crawler hangelt sich von Hyperlink
zu Hyperlink und kann so praktisch das gesamte erreichbare Internet durchlaufen. Zweck
des Verfahrens ist es, die gefundenen Dokumente zu scannen und in einzelne Wörter zu
zerlegen, anhand deren ein so genannter invertierter Index erstellt wird.
2. Juli 2007
Abb. 1 Invertierter Index für Dokumente
Invertiert deswegen, da der Index nicht direkt Aufschluss darüber gibt, welche Wörter
ein bestimmtes Dokument enthält, sondern vielmehr darüber, welche Dokumente ein bestimmtes Wort enthalten. Man kann sich diese Datenstruktur also als einen Baum der
Tiefe eins vorstellen, an dessen Wurzel das indexierte Wort steht und dessen Blätter die
Dokumente repräsentieren.
Der Vorteil dieses Verfahrens liegt auf er Hand: In diesem Index lässt sich sehr effizient
suchen, beispielsweise mit binärer Suche. Hat man den Begriff schließlich gefunden, so
erhält man gleichzeitig Pointer auf alle Seiten im Internet (soweit indexiert), welche dieses
Wort enthalten. Wie zu Anfang bereits erwähnt, befindet sich das Internet jedoch in
einem steten Wachstums und Veränderungsprozess. Im Sekundentakt kommen neue Seiten
hinzu, werden bestehende Seiten gelöscht oder Inhalte geändert. Dies führt zu einem klaren
Nachteil dieses Algorithmus: Zu keiner Zeit kann der erstellte Index eine hundertprozentige
Vollständigkeit und Aktualität für sich in Anspruch nehmen. So muss die Analyse des
Internets ständig wiederholt werden um so aktuell wie möglich zu bleiben.
Dieses Verfahren ist zwar schon recht geschickt, eine komplette Indexierung des Internet
hätte jedoch einen sehr großen Index zur Folge, was wiederum zu Performance-Einbußen
beim Suchen führen würde. Um dieses Problem zu löschen stützt man sich auf die Annahme, dass die wichtigsten Informationen eines Dokumentes stets am Anfang des Textes
stehen, so dass es ausreichen müsste, nur die ersten ca. 100 Wörter zu indexieren. Außerdem verfügen HTML-Dokumente über Meta-Informationen wie Titel, und Stichwörter –
Information, die geradezu prädestiniert sind um in den Index aufgenommen zu werden.
1.1.2
Verarbeitung und Ausführung der Suchanfrage
Typischerweise ist die Anfrage an das System nichts anderes als eine einfachen Zeichenkette, bestehend aus Leerzeichengetrennen Suchbegriffen. Viele Suchmaschinen ermöglichen
zudem Verknüpfungs-Operatoren, beispielsweise um festlegen zu können, dass ein Begriff
nur im Zusammenhang mit einem anderen Begriff auftauchen darf, usw. Zudem hat der
Anwender meist die Möglichkeit einige einschränkende Kriterien einzugeben, wie Sprache,
geographische Lage oder Erstellungsdatum des Dokuments.
Damit das System überhaupt mit dieser Eingabe arbeiten kann, muss die Zeichenkette
zuerst geparst und in einzelne Wörter, so genannte Tokens, zerlegt werden. Diese Tokens
werden nun ggf. auf Rechtschreibung geprüft und danach mit dem Index verglichen, wodurch die Menge aller Seiten gefunden wird, welche mindestens eines dieser Suchwörter
enthalten.
2
Durch einen weiteren Trick machen manche Suchmaschinen diesen Schritt noch effektiver: Nachdem die einzelnen Tokens aus der Zeichenkette extrahiert wurden, wird ein
Stemming-Algorithmus verwendet um die Wörter auf ihre Grundform zu reduzieren. Da
der Index – soweit möglich – ebenfalls auf Grundform gebracht wurde, folgt daraus eine
weit höhere Anzahl an Suchtreffern.
1.1.3
Präsentation des Ergebnisses
Wie bereits angedeutet handelt es sich beim Suchergebnis um eine meist sehr große, ungeordnete Menge von Dokumenten. Um Diese Menge für die Darstellung auf dem Bildschirm
zu ordnen, ist es sinnvoll zu ermitteln, wie relevant das einzelne Dokument überhaupt für
die Beantwortung der Suchanfrage ist.
Eine Möglichkeit besteht darin, unabhängig von der Suche jedem Dokument eine Gewichtung zuzuordnen. Je gewichtiger eine Datei, desto wichtiger ist sie auch. Die Suchmaschine
Google sortiert ihre Suchanfrage unter anderem auf diese Weise. Dazu nutzt sie den so
genannten PageRank-Algorithmus, der anhand von Verweisen auf dieses Dokument den
PageRank-Wert errechnet: [2]
P Ri =
X P Rj
1−d
+d
N
∀j∈M Cj
M = {j | j verweist auf i}
(1)
Das Gewicht P Ri einer Seite i ergibt sich also aus der Summe der Gewichte P Rj aller
Seiten j, die auf i verweisen, wobei Cj die Anzahl der Seiten ist, auf die j insgesamt
verweist. So verteilt sich das Gewicht der Seite j gleichmäßig auf alle verwiesenen Seiten,
insbesondere erhält auch die Seite i nur C1j des Gewichtes der Seite j. N ist die Gesamtanzahl der Seiten und d ein Dämpfungsfaktor, der verhindert, dass Seiten ohne Verweise zu
viel Gewicht erhalten.
Neben dem PageRank bezieht Google allerdings noch weitere Faktoren in die Sortierreihenfolge der Treffer ein, beispielsweise das Vorkommen eines der Suchbegriffe im DokumentenTitel oder Überschriften. [5]
Ein weiterer Ansatz, die Relevanz eines Dokumentes zu messen, besteht darin nicht nur
die Anzahl der verweisenden Dokumente zu betrachten, sondern auch ob diese Dokumente
thematisch mit den zu bewertendem Dokument verwandt sind. Denn klar ist: Ein Link
von einer Seite, die sich mit dem selben Thema befasst, hat mehr Aussagekraft als eine themenfremde Seite. Um Diese Unterscheidung in thematisch verwandt oder fremd
überhaupt durchführen zu können, müssen die Dokumente allerdings nach Themengebieten gruppiert werden, was zusätzlichen Aufwand darstellt. Ein nützlicher Nebeneffekt
dieser Clusterung ist allerdings, dass die einzelnen Dokumente nun in einem thematischen
Kontext zueinander stehen und dieser Kontext helfen kann, die Suche zu verfeinern. [4]
3
2
Erweiterte Suchmaschinen
2.1
Beispiel MetaCrawler
MetaCrawler ist der erste Vertreter der so genannten Meta-Suchmaschinen und wurde
1995 von Erik Selberg und Oren Etzioni im Rahmen eines Forschungsprojektes an der
University of Washington entwickelt. Sie gilt mit 60.000 Anfragen pro Tag als populärste
Suchmaschine dieser Art.
Das Konzept der Meta-Suchmaschinen entspricht dem einer recherchierenden Person: Um
möglichst hochwertige Informationen zu erhalten, ist es sinnvoll mehreren Quellen zu
folgen und die Ergebnisse miteinander zu vergleichen. Übertragen auf die Recherche im
Internet würde dies bedeuten, mehrere Suchmaschinen zu nutzen und gegeneinander abzugleichen.
Und genau dies machen Meta-Suchmaschinen wie MetaCrawler. Die vom Benutzer an
das System übermittelte Suchanfrage wird an eine ganze Reihe weiterer – konventioneller – Suchmaschinen (Google, Altavista, Yahoo, ...) weitergeleitet und die jeweiligen
Ergebnisse werden zu einem großen Über-Ergebnis zusammengefasst. Auf diese Weise
werden natürlich mehr Dokumente gefunden, als bei der Beschränkung auf eine einzige Suchmaschine. Doch die Maximierung der Ergebnismenge ist nicht alleiniges Ziel der
Meta-Suchmaschinen: Das Verfahren ermöglicht zudem eine Qualitative Beurteilung der
einzelnen Dokumente. Dokumente, welche beispielsweise nur von einer oder wenigen Suchmaschinen gefunden werden und/oder einen niedrigen Rang haben, sind sicherlich weniger
wertvolle Treffer, als Dokumente, die in allen Unterergebnissen stets hoch platziert vorkommen. Auf diese Weise kann eine Vorauswahl getroffen werden, welche Dokumente nun
wirklich relevant sind und welche nicht. Experimente zeigten, dass MetaCrawler fast 75%
aller Suchtreffer als irrelevant oder veraltet erkannte – eine Arbeit, die sonst der Anwender
auf mühsame Weise hätte leisten müssen.
Ein Nachteil dieses Verfahrens ist, dass die Ausführung der Suchanfragen meist länger
dauert, da auf die Antwort aller mit einbezogenen Suchmaschinen gewartet werden muss.
Außerdem ist die größere Datenflut, die bei Meta-Suchmaschinen zu erwarten ist, manchmal eher hinderlich als von Vorteil. [6]
2.2
2.2.1
Beispiel Grouper
Was ist Grouper
Um genau diese Datenflut in den Griff zu bekommen, hat die Univerity of Washington die
Suchmaschine Grouper entwickelt. Die Idee hinter diesem System ist, die von einer MetaSuchmaschine zurückgelieferten Dokumente für die Präsentation in thematische Gruppen
zu fassen (clustern). Ziel dieser Clusterung ist ein verbesserter Überblick und ein schnelleres Finden der gewünschten Inhalte.
4
2.2.2
Wie arbeitet Grouper?
Wie bereits erwähnt bezieht Grouper seine Rohdaten von einer Meta-Suchmaschine (= document set), genauer gesagt von HuskeySearch, einem Nachfolgerprojekt von MetaCrawler
und ebenfalls aus der Schmiede der University of Washington. Der Weg von ungeordneten
Dokumenten zu thematisch geordneten Gruppen wurde von den Entwicklern des System
unter dem Namen Suffix-Tree-Clustering zusammengefasst, der im folgenden erläutert
wird.
2.2.3
Der Suffix-Tree-Clustering Algorithmus
Der Suffix-Tree-Clustering Algorithmus (STC Algorithmus) besteht aus drei Schritten:
(1) Säuberung der Rohdaten
(2) Ermittlung der Basis-Cluster anhand eines Suffix-Trees
(3) Zusammenfassen der Basis-Cluster zu Ergebnis-Clustern
Beim Säubern der Dokumente wird die den Text repräsentierende Zeichenkette in Tokens
zerlegt, die von einem ’leichten’ Stemming-Algorithmus falls möglich in Grundform gebracht werden. Satzgrenzen werden markiert, Zahlen und Satzzeichen werden aus dem
Token-Array entfernt, sowie HTML-Tags, deren Aufgabe hauptsächlich in der Formatierung und Darstellung des Textes besteht und die somit keinen Einfluss auf die Aussage
des Dokuments haben.
Im zweiten Schritt des Algorithmus werden die Basis-Cluster ermittelt. Ein solches BasisCluster setzt sich aus allen Dokumenten des document sets zusammen, die eine gemeinsame Phrase besitzen, also eine geordnete Folge mehrerer Wörter. Man kann diesen Vorgang
auch als Aufbau eines invertierten Index aus Phrasen für die gesammelten Dokumente betrachten. Während das Erstellen eines invertierten Index aus Wörtern noch relativ einfach
war, gestaltet sich dies für ganze Phrasen schon wesentlich schwieriger, denn wie schon
erwähnt ist eine Phrase als Folge einer unbestimmten Menge von Wörter an einer unbestimmten Position des Dokuments definiert.
Angenommen jede Phrase wäre in ihrer Länge l begrenzt auf 3 ≤ l ≤ 10 und jedes
Dokument hätte im Schnitt 1000 Wörter, so käme man (vereinfachenderweise alle Satzgrenzen ignorierend) auf 7760 mögliche Phrasen pro Dokument, die dann jeweils mit allen
noch nicht analysierten Dokumenten gematcht werden müssten. Dieser Schritt müsste
dann mit allen anderen Dokumenten wiederholt werden, um tatsächlich alle gemeinsamen
Phrasen zu identifizieren. Selbst wenn man diesen Algorithmus soweit optimiert, so dass
keine der Phrasen doppelt überprüft wird, wird er dennoch nie schnell genug funktionieren
um sinnvoll einsetzbar zu sein.
Die Entwickler von Grouper setzten also einen intelligenteren und somit effizienteren Algorithmus ein, der auf einer Datenstruktur namens Suffix-Tree basiert. Diese Datenstruktur
kann schon während des Einlesens der Dokumente aufgebaut werden - also in linearer Zeit
zu der Größe des document sets.
5
Der Suffix-Tree setzt sich aus den einzelnen Wörtern der Dokumente zusammen, jedes
Wort repräsentiert einen Knoten. Wie ein Suffix-Tree genau aussieht, wird in Abb. 2
demonstriert (vereinfacht) [3]. Der dort dargestellte Suffix-Tree repräsentiert die beiden
Phrasen the president of the united states“ und the united states of america“.
”
”
Abb. 2 Suffix-Tree
Der Tree ist so konstruiert, dass sich jede Teilphrase von the president of the united
”
states“ oder the united states of america“ durch einen Pfad innerhalb des Trees darstellen
”
lässt.
Anhand dieses Suffix-Trees lässt sich nun sehr einfach herausfinden welche Wörter, bzw.
Folge von Wörtern gleichzeitig in Phrase 1 und in Phrase 2 vorkommen. In Abb. 2 wurde
mit #1 bzw. #2 gekennzeichnet, welche der Wörter das Ende der jeweiligen Phrasen
darstellen. Zur Erinnerung: Jeder Pfad im Baum repräsentiert eine (Teil-)Phrase von the
”
president of the united states“ oder the united states of america“. Befindet sich sowohl
”
#1 als auch #2 in ein und dem selben Baumpfad, so folgt daraus, dass beide Phrasen
in einem gewissen Bereich deckungsgleich sein müssen. Der gemeinsame Bereich besteht
aus dem Pfad von der Wurzel des Baumes bis zum ersten Auftreten eines #1 oder #2.
Befinden sich die beiden Endsymbole in ein und dem selben Zweig des Baumes, so befindet
sich die geteilte Phrase in dem Pfad von der Wurzel bis zu dem Wort, an dem die beiden
Äste auseinander laufen. (Beispiel of“ in Abb. 2)
”
Nach diesem Prinzip geht der STC Algorithmus ebenfalls vor. Ist der Suffix-Tree erst einmal aufgebaut, ist es ein leichtes die Dokumente mit den gemeinsamen Phrasen ausfindig
zu machen.
6
Im letzten Schritt des Suffix-Tree-Clustering Algorithmus werden nun Basis-Cluster, die
eine größere Anzahl gemeinsamer Dokumente enthalten zu übergeordneten ErgebnisClustern zusammengefasst. Dieser Schritt ermöglicht es thematisch verwandten Dokumenten sich in ein und dem selben Cluster zu befinden, selbst wenn sie phrasendisjunkt
sind, sich also keine gemeinsamen Phrasen teilen. Außerdem reduziert sich die Anzahl der
Cluster auf eine überschaubarere, weniger fragmentierte Menge.
Der Suffix-Tree-Clustering Algorithmus bringt im Vergleich zu den meisten ClusteringAlgorithmen viele Vorteile und Neuerungen mit sich. Viele Cluster-Methoden ordnen
ein Dokument genau einem Cluster zu. Der STC Algorithmus unterstützt hingegen eine überlappende Clusterung, erlaubt es also einem Dokument in mehr als einem Cluster
vorzukommen. Da die Anordnung der Wörter innerhalb einer Phrase genutzt wird um
ähnliche Dokumente besser identifizieren zu können, sind die Ergebnisse des Suffix-TreeClustering Algorithmus zudem meist besser als die vieler andere Clustering-Algorithmen,
die diese zusätzliche Information ignorieren und die Dokumente als eine ungeordnete Menge von Wörtern betrachten. Vorteilhaft ist ebenfalls, dass STC die Dokumente nicht in
eine vorgegebene Anzahl an Clustern zwingt, sondern eben so viele Cluster erstellt werden,
wie nötig sind.
Zusammenfassend kann gesagt werden, dass sich der STC Algorithmus sehr gut für den
Einsatz im Internet eignet, da er schnell und inkrementell ist, d.h. die ankommenden
Daten können bereits verarbeitet werden noch bevor die Übertragung abgeschlossen ist.
Bei konventionellen Suchmaschinen besteht das präsentierte Ergebnis meist zum großen
Teil aus nahezu irrelevanten Dokumenten und die Text-Ausschnitte, die zu den einzelnen
Treffern angezeigt werden, sind häufig ohne jeglichen Bezug zu der gestellten Anfrage. In
diesen Situationen erzielt der STC Algorithmus bessere Ergebnisse.
2.2.4
User Interface und Präsentation des Ergebnisses
Abb. 3 Grouper Benutzerschnittstelle [1]
Die Arbeit mit Grouper ähnelt vom Prinzip her der mit einer konventionellen Suchmaschine: Die Benutzerscnittstelle wird von einem einzeiligen Textfeld dominiert in welche
die Suchanfrage eingegeben werden soll (Siehe Abb. 3). Zudem kann nun auch ausgewählt
werden, ob die Eingabe als Menge von Stichwörtern betrachtet werden soll, oder als zusammenhängende Phrase. Als weitere Einstellmöglichkeit kann der Benutzer wählen, wie
7
viele Dokumente pro Suchmaschine in das Endergebnis einbezogen werden sollen – zur
Erinnerung: Grouper baut auf HuskeySearch auf, einer Meta-Suchmaschine also, die ihre
Ergebnisse wiederum aus den Ergebnissen mehrerer anderen Suchmaschinen zusammensetzt. Eben die Anzahl dieser Treffer lässt sich hier auf maximal 200 beschränken.
Grouper arbeitet mit etwa 10 Suchmaschinen zusammen, die nach Entfernen aller Duplikate insgesamt 70 bis 1000 Ergebnisse pro Anfrage liefern. Diese Suchmaschinen haben 10
Sekunden Zeit ihre Daten an Grouper zu senden, dann wird die Ergebnis-Seite (Abb. 4)
im Browser angezeigt.
Abb. 4 Grouper Benutzerschnittstelle Anfrageergebis[1]
Die Ergebnis-Seite besteht hauptsächlich aus einer langen Tabelle, jede Tabellen-Zeile
repräsentiert ein Cluster. Die drei besten Treffer pro Cluster werden mit ihrer Headline
aufgeführt, zudem die gemeinsamen Phrasen der im Ergebnis-Cluster enthaltenen BasisCluster. Hinter diesen Phrasen steht zudem in Prozent angegeben, wie viele der Dokumente diese Phrase enthalten. Der Benutzer soll so mit wenigen Blicken erfassen können,
welche Art von Informationen sich hinter diesem Cluster verbergen.
Grouper erlaubt es zudem, die Suche zu verfeinern, indem die bestehende Suchanfrage um
gemeinsamen Phrasen der einzelne Basis-Cluster erweitert werden kann. Die Möglichkeit,
sich alle enthaltenen Dokumente eines Clusters auflisten zu lassen besteht selbstverständlich
ebenfalls.
2.2.5
Performance
Internetanwendungen werden im Extremfall von mehreren tausend Personen gleichzeitig
genutzt und die Kommunikation mit dem Server erfolgt über einen – verglichen mit einem System-Bus oder einem LAN – sehr langsamen Kanal. So ist einzusehen, dass die
8
Anwendung an sich effizient programmiert sein sollte um so wenig Zeit wie möglich auf
der Serverseite zu verschwenden.
Gouper ist effizient (also schnell) und verdankt dies vier Optimierungs-Tricks:
(1) Es gibt mehrere Möglichkeiten Internetsuchergebnisse zu clustern: Entweder nutzt
man die Text-Schnipsel, die von der Suchmaschine als Ergebnis präsentiert werden,
oder man lädt die Originaldokumente aus dem Web und clustert diese. Dass Letzteres natürlich erheblich zeitintensiver ist, leuchtet ein: Das Dokument muss erstens
heruntergeladen und zweitens in seiner Gänze geclustert werden. Was aber ist mit
der Qualität der Basis-Cluster? Versuche haben gezeigt, dass die Qualität der BasisCluster im Schnitt nur etwa 15% schlechter wurde, wenn kleine Text-Schnipsel geclustert wurden anstatt ganzer Dokumente. Dies könnte dadurch erklärt werden,
dass die Suchmaschinen, ihrerseits bereits bestrebt sind möglichst charakteristische
Schnipsel zu liefern. Aufgrund dieses geringen Qualitätsverlust nutzt Grouper die
deutlich schnellere Schnipsel-Variante.
(2) Der Suffix-Tree-Clustering Algorithmus ist inkrementell – der Aufbau des Suffix-Trees
kann also sofort beginnen, wenn die ersten Daten von den Suchmaschinen übertragen
wurden und ist schon weit fortgeschritten, wenn das letzte Datenpacket ankommt.
Nicht-Inkrementelle Clustering Algorithmen müssten bis zu diesem Zeitpunkt warten
– verschenkte CPU-Zeit.
(3) Der STC Algorithmus erfordert, dass eine große Anzahl an Zeichenketten zeitaufwändig
miteinander verglichen werden. Um dies effizienter durchführen zu können, wird
jedem Wort eine eindeutige Ganzzahl zugeordnet, so dass nun schnellere IntegerVergleiche möglich sind.
(4) Nicht jede mögliche Phrase ist tatsächlich von Interesse. Wörter mit extrem häufigem
Vorkommen können weggelassen werden, wenn sie zu Beginn oder am Ende einer
Phrase stehen, ohne die Aussage dieser Phrase zu verändern. Als Beispiel sei hier
im englischen das Wort the“ angeführt. the university of ulm“ unterscheidet sich
”
”
inhaltlich nicht von der Phrase university of ulm“. So wird die Phrase the first
”
”
man on the“ reduziert auf first man on“, the frst man on the moon“ jedoch auf
”
”
first man on the moon“. Zudem werden nur Phrasen berücksichtigt, die in einer
”
Mindestanzahl von Dokumenten auftreten. Alleine diese beiden Schritte reduzieren
die anfallende Arbeit auf unter 50%!
Durch diese Optimierungen erreicht Grouper die Arbeitsgeschwindigkeit, die für eine interaktive Onlineanwendung notwendig ist. Wie der Kurve in Abb. 5 zu entnahmen ist
clustert Grouper in 2 Sekunden durchschnittlich fast 750 Dokumente.
9
Abb. 5 Anzahl der geclusterten Dokumente pro Sekunde [1]
2.2.6
Grouper im Test
Als Grouper entwickelt wurde war das Ziel eine Suchmaschine, die es dem Benutzer dank
einer intelligenten Gruppierung der Treffer ermöglicht, einen besseren Überblick über das
Suchergebnis zu bekommen und schneller die relevanten Dokumente ausfindig zu machen.
Nun stellt sich natürlich die Frage, ob dieses Ziel erreicht wurde, also ob Grouper die
Suche nach den wichtigen Dokumenten tatsächlich erleichtert.
Die Entwickler analysierten die Log-Dateien des Systems um auf statistischem Wege eine Antwort auf diese Frage zu erhalten. Dabei stellten sie fest, dass die Anwender dazu
tendierten möglichst wenige Cluster zu besuchen. Daraus folgten sie, dass Grouper genau
dann eine gute Arbeit leisten würde, wenn möglichst wenige Dokumente aus möglichst
wenigen Clustern durchsucht werden müssten, um an die gewünschten Informationen zu
kommen. Die auf Abb. 6 dargestellte Kurve setzt die Anzahl der betrachteten Dokumente mit der Anzahl der besuchten Cluster in einen Zusammenhang. Dabei werden
vier Clustering-Verfahren unterschieden: random clustering (Dokumente werden nach Zufallsprinzip in Cluster gepackt), STC auf MuskeySearch-Data angewandt, K-Means auf
HiskeySearch-Data angewandt und Grouper.
Abb. 6 Anzahl der gefolgten Dokumente in einer Session [1]
Dem Diagramm ist eindeutig zu entnehmen, dass Grouper am besten abschneidet: Es
wurden am wenigsten Dokumente durchsucht um am wenigsten Cluster besucht, was
10
so interpretiert wird, dass der Benutzer keine weiteren Dokumente durchsuchen musste,
da er bereits alle relevanten Informationen gefunden hat. Das schlechteste Ergebnis hat
natürlich das random clustering erziehlt, die Benutzer wählten fast jedes Dokument aus
einem anderen Cluster aus.
Grouper ist zwar klarer Sieger des Vergleichs, jedoch hatten die Entwickler ein noch besseres Ergebnis erwartet. Diese Abweichung kann dadurch erklärt werden, dass die Benutzer
sich womöglich einen Überblick über das Thema verschaffen wollten und deshalb mehr
Informationen eingeholt haben, als ursprünglich geplant. Aber die Kurve könnte auch bedeuten, dass der verwendete Clustering-Algorithmus schlicht und einfach nicht gut genug
ist um das ideale Ziel zu erreichen, nämlich dass der Benutzer nur den Links eines einzigen
Cluster folgen muss um die Suche erfolgreich beenden zu können.
2.2.7
Fazit zu Grouper
Im Großen und Ganzen funktioniert Grouper gut. Die Ergebnisse werden wesendlich
übersichtlicher präsentiert und die Dokumente sind sinnvoll geclustert. Allerdings ist der
Zugewinn an Usability nicht ganz so hoch, wie ursprünglich erhofft. Die Entwickler des
Systems ziehen den Entwurf eines Nachfolger-Projektes in Betracht, Grouper-II, welcher
zudem eine hierarchische Clusterung unterstützen soll, so dass der Benutzer noch effizienter durch die Ergebnisse navigieren kann.
So kann abschließend gesagt werden, dass Grouper ohne Frage ein interessantes Projekt
mit vielen sehr guten Ansätzen war und es recht bedauerlich ist, dass der Betrieb des
Systems im Jahr 2000 eingestellt wurde.
Literatur
[1] Grouper: A Dynamic Clustering Interface to Web Search Results
http://www.cs.washington.edu/research/projects/WebWare1/etzioni/www/papers/www8.pdf
[2] Wikipedia-Artikel zu PageRank
http://de.wikipedia.org/wiki/PageRank
[3] Wikipedia-Artikel zu Suffix-Baum
http://de.wikipedia.org/wiki/Suffixbaum
[4] TEXT MINING
S. Weiss, N. Indurkhya, T. Zhang F.J. Damerau Springer Verlag, 2005
[5] Wikipedia-Artikel zu Google
http://de.wikipedia.org/wiki/Google
[6] Information der Univerity of Washington zu MetaCrawler, HuskeySearch und Grouper
http://www.cs.washington.edu/research/projects/WebWare1/www/metacrawler/
11