• Keine Ergebnisse gefunden

Ergebnisbewertung durch Benutzer

5.5 Algorithmen

5.5.2 Ergebnisbewertung durch Benutzer

Gibt der Benutzer wie in 5.4.1 beschrieben eine Bewertung eines Suchergebnisses ab, so muss diese Information zu seiner Interessenslage gespeichert werden. Von dem Ergebnis ist, dank der vorhergehenden Klassifikation, bekannt, welchem Themengebiet der verwendeten Ontologie es zugeordnet ist. Im folgenden Beispiel handelt es sich bei dem bewerteten Ergebnis um eine Seite ¨uber Programmiersprachen, deren Klassifizierung ¨uber den Pfad

”Computers / Programming / Languages“ angegeben wird.

Das Speichern der Bewertung erfolgt in drei Schritten:

1. Pfad im Modell erzeugen: Jene Teile des Pfades, f¨ur die noch keine Gewichtungen im Modell gespeichert sind, werden als Knoten mit leerer Gewichtung erzeugt.

2. Gewichtungen ableiten: F¨ur die Knoten mit leeren Gewichtungen werden aus den Grup-penmodellen und Gewichtungen ¨ubergeordneter Knoten passende Werte abgeleitet.

3. Gewichtungen anpassen: Entsprechend der Bewertung (positiv oder negativ) werden die Gewichtungen eines jeden Knotens des Pfades vermindert oder erh¨oht.

Dargestellt ist der Ablauf f¨ur eine positive Bewertung beispielhaft in Abbildung 5.15 auf der n¨achsten Seite. Die genauen Vorg¨ange in Schritt zwei und drei werden im Folgenden beschrieben.

Ableitung von Gewichtungen

Bei der Ableitung von Gewichtungen f¨ur einen Themen-Knoten im Modell wird versucht, aus der Gewichtung des gleichlautenden Themas in den diversen Gruppenmodellen, zu denen

Benutzer- bzw. Gruppenmodell

Abbildung 5.15:Bewertung speichern: 1. Pfad erzeugen, 2. Gewichtungen ableiten, 3. Ge-wichtungen ver¨andern (Hierarchie ausgeflacht zu besseren Darstellung)

der Benutzer eine positive Affinit¨at hat, und den Gewichtungen ¨ubergeordneter Knoten einen Wert vorherzusagen. Dies Vorgehensweise wurde bereits in Unterabschnitt 5.4.2 vorgeschlagen.

Die Berechnung der abgeleiteten GewichtungGa(b, t) f¨ur einen Benutzer bund ein Thema t erfolgt gem¨aß Formel 5.1.

Grundlage der Berechung sind dieabgeleitete Gewichtung aus den GruppenmodellenGg(b, t) und die von den ¨ubergeordneten Knoten vererbte Gewichtung Gv(b, t). Beide Funktionen liefern 0, wenn keine Gewichtung bestimmt werden konnte. Im Fall von Gg(b, t) passiert dies, wenn der Benutzer zu keiner Gruppe eine positive Affinit¨at hat, oder in keinem Modell seiner Gruppen das entsprechende Thema gefunden wurde.Gv(b, t) liefert hingegen 0, wenn kein ¨ubergeordnetes Thema im Benutzermodell gespeichert ist, von dem eine Gewichtung abgeleitet werden k¨onnte.

Wenn beide Funktionen 0 zur¨uckgeben, so liegt keine Information vor, auf der die Ablei-tung der GewichAblei-tung basieren k¨onnte. In diesem Fall wird auf die neutrale Gewichtung 0,5 zur¨uckgegriffen. Liefert eine der zwei Funktionen einen Wert ungleich 0, so wird dieser als abgeleitete Gewichtung verwendet. Liefern beide eine positiven Wert, so werden sie mit dem Faktorλgewichtet summiert.λkann im Wertebereich [0, 1] gew¨ahlt werden. Bis jetzt wurde der Faktor auf 0,75 gesetzt und damit den Gruppenmodellen mehr Gewicht einger¨aumt. Eine experimentelle ¨Uberpr¨ufung dieser Wahl ist noch ausst¨andig.

Die Berechnung vonGv(b, t)erfolgt gem¨aß Formel 5.2 auf der n¨achsten Seite. Die Gewichtun-genG(b, ti)der ¨ubergeordneten Thementiwerden mit ihrerT ief e(ti)im Modell im Verh¨altnis zurT ief e(t) des betrachteten Themas gewichtet und aufsummiert. Die Tiefe berechnet sich

5 10 15 20 25

Abbildung 5.16:Abgeleitete Gewichte in Abh¨angigkeit der Pfadtiefe und der Gewichtung des obersten Knotens als Startwert. Klar erkennbar ist die asymptotische Ann¨aherung an die neutrale Gewichtung 0,5.

anhand der L¨ange des Klassifikationspfads:T ief e(T op/Computers/P rogramming) = 3. Die Summe wird durch die Zahl der ¨ubergeordneten Knoten N dividiert und somit genormt. Die Summenterme mit 0,5 haben den Zweck, mit steigender Pfadtiefe die abgeleitete Gewichtung immer n¨aher an die neutrale Gewichtung 0,5 zu bringen (siehe Abbildung 5.16). Dies soll aus-dr¨ucken, dass mit steigender Tiefe der Ableitung die Unsicherheit bez¨uglich der Vorhersage des Werts zunimmt.

Die Ableitung aus den GruppenmodellenGg(b, t)wird mit Formel 5.3 berechnet. Die Gewich-tungen G(gi, t) des Themas t in den Modellen all jener Gruppen gi, zu denen der Benutzer eine positive Affinit¨at haben, werden nach der Affinit¨at geteilt durch die maximale Affini-t¨at 5 gewichtet aufsummiert und anschließend durch die ZahlN dieser Gruppen geteilt. Die Summenterme mit 0,5 haben wiederum den Zweck bei sinkender Affinit¨at positive wie auch negative Gewichtungen in Richtung 0,5 zu bewegen.

Gg(b, t) =

0.0 0.2 0.4 0.6 0.8 1.0

0.00.20.40.60.81.0

Abbildung 5.17:Nicht-lineare Funktion zur Ver¨anderung von Gewichtungen

Ver¨anderung von Gewichtungen

Positive bzw. negative Bewertungen werden durch Erh¨ohen bzw. Vermindern von Gewichtun-gen modelliert. Da die Gewichtung eines Themas die Wahrscheinlichkeiten des Interesses an ihm abbilden soll, muss sie im Wertebereich zwischen 0 und 1 gehalten werden. Ein primiti-ver Ansatz w¨are, die Gewichtung immer um einen fixen Wert (z. B. 0,1) zu ver¨andern, außer sie hat 0 oder 1 erreicht. Eine zweite w¨unschenswerte Eigenschaft l¨asst sich damit allerdings nicht realisieren: die Werte sollen sich um 0,5 schneller ¨andern, gegen 0 bzw. 1 aber immer mehr Bewertungen ben¨otigen. Damit sollen unbewertete Themen schnell als interessant bzw.

uninteressant eingestuft werden k¨onnen, aber auf l¨angere Zeit relativ stabil so verbleiben.

Aus diesem Grund wird in Prospector eine nicht-lineare Funktion zur Ver¨anderung von Ge-wichtungen verwendet. Die Funktion ist in Formel 5.4 angef¨uhrt und zeigt einen Verlauf wie in Abbildung 5.17. Wie gew¨unscht ist diese im Bereich um 0,5 steiler und sorgt so f¨ur eine schnellere Ver¨anderung der Gewichtungen. Zu den R¨andern bei 0 und 1 hin wird sie flacher, was f¨ur eine Stabilisierung der Gewichtung sorgt.

f(x) = cos((1−x)·π

2 + 0,5 (5.4)

Die konkrete ¨Anderung von Modellen nach einer Bewertung erfolgt nach folgendem Schema:

1. Gewichtung bestimmen: die Gewichtung des Themas, in welches das Ergebnis klassi-fiziert ist, wird aus dem Benutzermodell gelesen. Sollte der entsprechende Pfad nicht vorhanden sein, so wird er erzeugt, und die Gewichtungen werden mit den Formeln des vorangegangenen Unterabschnitts abgeleitet.

2. Gewichtung r¨uckf¨uhren: mittels der Umkehrfunktion der in Formel 5.4 auf der vorherigen Seite genannten Funktion wird das Gewicht auf einen Wert auf der x-Achse r¨uckgef¨uhrt.

3. Bewertung umsetzen: bei einer positiven Bewertung wird zu diesem Wert 0,1 addiert, bei einem negativen Wert 0,1 subtrahiert. Werden durch diese Operation 0 oder 1 erreicht, so werden diese Werte nicht ¨uberschritten.

4. Neue Gewichtung berechnen: mit der Funktion in Abbildung 5.17 auf der vorherigen Seite wird aus dem x-Wert die neue Gewichtung berechnet.

5. Anderung nach oben propagieren: auch die dem aktuellen Knoten¨ t ubergeordneten¨ werden durch die ¨Anderung der Gewichtung ∆G(b, t) f¨ur das Modell des Benutzers b beeinflusst. Gem¨aß Formel 5.5 ergibt sich die ¨Anderung der Gewichtung ∆G(b, t0)eines

¨

ubergeordneten Knotenst0 durch eine Skalierung mit dessen Tiefe.

∆G(b, t0) = ∆G(b, t)·T ief e(t0)

T ief e(t) (5.5)

6. Anderung in Gruppenmodellen vornehmen: auch in den Gruppenmodellen, zu denen¨ der Benutzer eine positive Affinit¨at hat, wird eine ¨Anderung vorgenommen. Der Ablauf erfolgt gem¨aß den zuvor genannten Punkten eins bis f¨unf. Der jeweilige Wert, um den sich ein Knoten ¨andert, wird aber zus¨atzlich noch durch einen Faktor Einf luss(b, g), der den Einfluss eines Benutzersbauf eine Gruppegangibt, skaliert. Wie in Formel 5.6 zu sehen ist, wird dieser Wert aus dem Anteil der Affinit¨at des Benutzers an der Summe aller Affinit¨aten von Benutzern in Bezug auf diese Gruppe berechnet.

Einf luss(b, g) = Af f init¨at(b, g)

N

X

i=1

Af f init¨at(bi, g)

(5.6)

Der in Schritt 3 erw¨ahnte Wert 0,1 bedarf noch einer Erkl¨arung: Er bestimmt, wie schnell sich die Gewichtung bei einer Bewertung in Richtung der beiden Extreme 0 und 1 bewegt. In der konkreten Auspr¨agung mit 0,1 l¨agen zwischen diesen Randwerten zehn positive bzw. negative Bewertungen. Sollte das System langsamer bzw. schneller reagieren, so kann der Wert auch verkleinert bzw. vergr¨oßert werden. Aufgrund von Beobachtungen des Systemverhaltens hat sich der Wert 0,1 als brauchbar erwiesen.