• Keine Ergebnisse gefunden

Version 1 – Erstentwicklung

5.2 Bisherige Entwicklung

5.2.1 Version 1 – Erstentwicklung

Den Anstoß zur Entwicklung der ersten Version von Prospector gab eine ¨Ubungsaufgabe in der Lehrveranstaltung Adaptive Web-based Systems im Wintersemester 2004. Als Projektarbeit sollte ein einfaches adaptives web-basiertes System erstellt werden. Gemeinsam mit meinem Kollegen Christian Schwendtner starteten wir die Entwicklung einer adaptiven Suchmaschine, die wir zu dieser Zeit nochGoogle Prospector nannten. Mehr Details zu den hier angef¨uhrten Erkl¨arungen finden sich in der zu dieser Version ver¨offentlichten Publikation [SKP06].

Ziele

Das Ziel der Entwicklung war,passendere Suchergebnisse zu liefern. Dies sollte einerseits nach den pers¨onlichen Vorlieben des Benutzers und andererseits situationsbezogen und anonym m¨oglich sein. Benutzer sollten zudem von den Bewertungen anderer Benutzern profitieren und ihr Benutzermodell einsehen und bearbeiten k¨onnen. Aufgrund der beschr¨ankten Zeit, die f¨ur das Projekt zur Verf¨ugung stand, sollte dieses so einfach wie m¨oglich realisiert werden.

Nichtsdestotrotz waren bereits die Grundlagen aller wichtigen Funktionalit¨aten der aktuellen Version vorgesehen.

Datenquelle

Die Suchergebnisse lieferte in dieser ersten Version ausschließlich Google. Die Wahl fiel auf diesen Anbieter, weil sich zu jener Zeit Google als einzige große Suchmaschine ¨uber eine Schnittstelle programmatisch abfragen ließ. M¨oglich war und ist dies mittels der von Google

selbst ver¨offentlichten, fr¨uher frei erh¨altlichen Search API. Mit dieser Java-Bibliothek lassen sich SOAP-Aufrufe mit Suchanfragen zum Webservice von Google machen.

Als Ergebnis erh¨alt man eine Liste von Ergebnissen mit unter anderem Titel und URL der Seiten, dem kurzen Abriss des Inhalts genanntSnippet, sowie einerKlassifizierung der Seitein der Ontologie des ODP. Jedes der vier Informationsst¨ucke f¨ur sich (aber auch Kombinationen) h¨atte als Basis f¨ur die Modellierung von Benutzerinteressen dienen k¨onnen. Die Wahl fiel auf die Klassifizierung, da diese mit dem geringsten Aufwand die meiste semantische Information liefert.

Aus der URL ließen sich anhand der Top-level Domain das Land bzw. die Organisationsform (gemeinn¨utzig, kommerziell, akademisch, milit¨arisch, ...) der Ergebnisseite erkennen. Unter Umst¨anden k¨onnten noch Worte zur Klassifizierung der Seite aus der URL extrahiert werden.

Wesentlich mehr Worte lassen sich aus dem Titel und dem Snippet extrahieren. Im Gegensatz zur schon bestehenden Klassifizierung durch ODP stellt dies aber einen h¨oheren Aufwand dar und ist zudem unsicherer. Besonders das Snippet wird oft so gestaltet, dass es nicht einen allgemeinen Abriss des Inhalts der Seite wiedergibt sondern Textpassagen rund um die gefundenen Suchbegriffe enth¨alt. Einziger Vorteil, den Titel und Snippet h¨atten, w¨are ihre universelle Verf¨ugbarkeit. Anders als die Klassifizierung durch ODP sind diese Informationen bei jedem Ergebnis vorhanden.

Algorithmus

In dieser ersten Version verwendete der Algorithmus f¨ur die Gewichtungen in den Benutzer-und Gruppenmodellen noch einPunktesystem. Je nach Bewertung durch den Benutzer wurden in den einzelnen Themengebieten der Ontologie, nach denen das Benutzermodell aufgebaut war, Punkte addiert oder subtrahiert. F¨ur die Berechnung der Relevanz eines Ergebnisses wurde die Summe der Punkte jener Themen, in denen das Ergebnis klassifiziert war, genom-men. Nicht klassifizierte Suchergebnisse, also Seiten, die nicht durch das ODP erfasst sind, erhielten 0 Punkte. Beim Umreihen der Ergebnisliste wurde zuerst nach der Punktezahl eines jeden Ergebnisses sortiert und bei Punktegleichstand nach der urspr¨unglichen Reihenfolge von Google.

Benutzerschnittstelle

Wie von der ¨Ubungsaufgabe gefordert, handelte es sich bei der ersten Version von Pro-spector um eine Web-Anwendung. Realisiert wurde sie mit Servlet-Technologie und Java Server Pages (JSP) auf Apache Tomcat und unter Verwendung des Struts Framework zur Erzeugung von Web-Anwendungen nach dem Model-View-Controller (MVC) Prinzip. Die Web-Schnittstelle unterst¨utzte alle zuvor beschriebenen Funktionalit¨aten von Prospector, ei-ne Login- und Logout-Funktion, Bl¨attern durch die Ergebnisliste und eine M¨oglichkeit zum Bewerten der Ergebnisse.

Abbildung 5.1:Prospector Version 1 – Suchmaske

In Abbildung 5.1 sieht man die einfach gehaltene Suchmaske, Abbildung 5.2 auf der n¨achsten Seite zeigt eine Liste mit Ergebnissen. Besonders zu beachten sind hierbei die zuvor schon angesprochenen Relevanzpunkte, deren Wertebereich nicht beschr¨ankt war und die, wie in Abbildung 5.3 auf der n¨achsten Seite und Abbildung 5.4 auf der n¨achsten Seite zu sehen ist, heftig schwanken konnten, sowohl innerhalb einer Ergebnisliste als auch zwischen zwei Listen.

Ebenfalls zu sehen in Abbildung 5.3 ist die Auswahl der Gruppen, nach deren Modell (hier

”profile“ genannt) umgereiht werden konnte. Diese Umreihung konnte auch wieder aufgehoben werden (

”disable“), und es wurden, je nachdem ob man eingeloggt war oder anonym suchte, die personalisierte oder die unver¨anderte Reihung wiederhergestellt.

DieBewertung von Suchergebnissenwar auf zwei Arten m¨oglich: in der Ergebnisliste konnten die Benutzer die Schaltfl¨ache

”Unsuitable“ mit dem roten Kreuz verwenden, um das jeweilige Ergebnis aus der Liste zu entfernen und negativ zu bewerten (siehe Abbildung 5.3). Klickte man auf den Link im Titel eines Suchergebnisses, so wurde die Seite des Ergebnisses und dar¨uber ein Bereich mit Schaltfl¨achen zum Bewerten angezeigt (siehe Abbildung 5.5 auf Sei-te 58). Diese Schaltfl¨achen erm¨oglichten positive und negative Bewertungen und ließen den Benutzer wahlweise zur Ergebnisliste zur¨uckkehren oder entfernten den Bewertungsbereich, wenn er die Suche mit diesem Ergebnis abschließen wollte.

Die Seiten zum Festlegen der Gruppenzugeh¨origkeit und zum Betrachten und Bearbeiten desBenutzermodells sieht man in Abbildung 5.6 auf Seite 58 und Abbildung 5.7 auf Seite 59.

Auch hier zeigen sich die Gewichtungen in Form von in ihrem Wertebereich nicht beschr¨ankten Werten. Durch Anwahl von

”Disable subtree“ in einer Zeile des Baums im Benutzermodell konnten die Benutzer diesen Ast aus dem Modell entfernen.

Evaluierung

Die erste Version von Prospector wurde einer informellen und auf Gebrauchstauglichkeit (usa-bility) ausgerichteten,heuristischen Evaluierung unterzogen. Gleichzeitig benutzen Mitglieder des Instituts das System testweise f¨ur einen Tag. Trotz der kurzen Zeit und dem Fehlen einer Kontrollgruppe konnten einige wichtige Erkenntnisse gewonnen werden.

Abbildung 5.2:Prospector Version 1 – Ergebnisliste

Abbildung 5.3: Prospector Version 1 – Unbeschr¨ankter Wertebereich f¨ur Relevanzpunkte

Abbildung 5.4:Prospector Version 1 – Negative Punkte markierten Ergebnisse in einer Ka-tegorie, die vom Benutzer zuvor schon negativ bewertet wurde

Abbildung 5.5:Prospector Version 1 – Ergebnisanzeige mit M¨oglichkeit zum Bewerten

Abbildung 5.6:Prospector Version 1 – St¨arke der Gruppenzugeh¨origkeit festlegen

Abbildung 5.7:Prospector Version 1 – Benutzermodell betrachten und bearbeiten

Die Benutzer waren im Allgemeinen Prospector gegen¨uber positiv eingestellt und zufrieden mit den Umreihungen. Die Modellierung der Interessen und Berechnung der Relevanz mit in ihrem Wertebereich nicht eingeschr¨ankten Gewichten und Punkten waren hingegen schwer zu verstehen. Die Werte schwankten, wie zuvor bereits erw¨ahnt, stark und machten einen Vergleich zwischen einzelnen Ergebnissen auf Basis der Punkte schwierig. Die hypothetische Frage

”Wie mehr relevant ist eine Ergebnis mit 50 Punkten als eines mit 5 Punkten? Zehn mal so relevant?“ soll dieses Problem illustrieren.

Kritisch war auch, dass dadurch ein Wertebereich f¨ur die manuelle Modell¨anderung fehlte (siehe Abbildung 5.7). Die Wahl eines Wertes f¨ur die Gewichtung einer bestimmten Katego-rie war nicht trivial und f¨ur Laien kaum zu durchschauen. Dar¨uber hinaus war der genaue Effekt eines Wertes auf den Prozess der Umreihung nicht klar. Die Benutzer fanden auch die Benennung der Gruppen nach den obersten Kategorien der Ontologie des ODP verwirrend.