Personalisierung und Benutzermodellierung Benutzermodellierung II Prof. Dr. N. Henze 24. April 2006 Inhaltsverzeichnis 1.2 1.3 Techniken der Benutzermodellierung . . . . . . . . . . . . . . . . . . . . . 1.2.3 Overlay - Modellierung . . . . . . . . . . . . . . . . . . . . . . . . Schließen unter Unsicherheit: Bayessche Netze / Probabilistisches Schließen Auffrischung: Begriffe der Wahrscheinlichkeitstheorie . . . . . . . . 1.3.1 Wie erhält man die CPTs? . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Vorteile der Benutzermodellierung mit Bayesschen Netzwerken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 12 15 19 24 Zur Erinnerung aus der letzten Vorlesung 1(2): Definition 1 (Benutzerprofil) Das Benutzerprofil ist eine Datenstruktur, die eine abstrakte Charakterisierung eines Benutzers U zu einem bestimmten Zeitpunkt t darstellt. Definition 2 (Benutzermodell) Das Benutzermodell enthält Vorschriften und Regeln, wie Ereignisse und Beobachtungen über einen Benutzer interpretiert werden sollen und in Benutzercharakteristika des Benutzerprofils überführt werden können. Definition 3 (Benutzermodellierung) Die Benutzermodellierung bezeichnet den Prozeß, ein Benutzerprofil zu erstellen bzw. zu aktualisieren. Mit Hilfe des Benutzermodells werden dazu Schlußfolgerungen aus dem aktuellen Benutzerprofil und den aktuellen Beobachtungen über U zu gezogen, um neue Charakteristika des Benutzers zu ermitteln, bzw. die Charakteristika im Benutzerprofil zu aktualisieren. Zur Erinnerung aus der letzten Vorlesung 2(2): Definition 4 (Customizing) Beim Customizing legt der Benutzer U eine Menge von Eigenschaften für sein Benutzerprofil fest. Das System S verwaltet das Profil in sofern, als es dem Benutzer die Möglichkeit gibt, die Einstellungen vorzunehmen / zu ändern. Definition 5 (Stereotypisches Benutzermodell) Ein Stereotyp ist eine Menge von Eigenschaften, die eine Gruppe von Benutzern charakterisiert. Zu einem Stereotypischen Benutzermodell gehören ein oder mehrere Stereotypen sowie eine Menge von Triggern, die festlegen, unter welchen Bedingungen ein Stereotyp aktiviert werden soll. 1.2 Techniken der Benutzermodellierung 1.2.3 Overlay - Modellierung Definition 6 (Overlay-Benutzerprofil) Ein Overlay-Benutzerprofil bildet das Wissen eines Benutzers in Relation zu dem Wissen eines Experten ab. Dazu wird das Benutzerprofil eines Experten erstellt und die Übereinstimmung und Abweichung sämtlicher Eigenschaften des zu modellierende Benutzers in Bezug auf dieses Expertenmodell dargestellt. Overlay−Ansatz: Korrekte Annahmen des Benutzers Unvollständige bzw. nicht Korrekte Annahmen des Benutzers Gesamt: Expertenwissen • Expertenprofile werden z.B. gerne eingesetzt, um das Wissen von Benutzern zu modellieren: – das Expertenprofil gibt das “ideale” Wissen wider – das Profil des Benutzers zeigt an, wieviel Wissen er erworben hat – das Profil des Benutzers zeigt an, wo Wissenslücken vorhanden sind oder entstehen; es kann eingesetzt werden, um Mißverständnisse bzw. deren Ursachen aufzudecken Definition 7 (Overlay Benutzermodellierung) Bei der Overlay-Benutzermodellierung wird angegeben, wie bestimmte Benutzerinteraktionen und -handlungsweisen im Vergleich zum Expertenprofil zu bewerten sind. Example 1 (Overlay-Benutzerprofil) Stadt-Land-Fluß-Wissen über Länder. Die Wissensrepräsentation erfolgt mit sogenannten “Frames”: Frame: country capital (town) location language currency climate popular resorts (resort) Frame: town population nearest airport location frame: resort nearest airport activities cultural events Expertenprofil zu Spanien: Country: Spain capital: Madrid location: Europe language: Spanish currency: Euro climate: warm continental popular resorts: Barcelona, madrid, Malaga, Toledo Town: Madrid population: 3 millionen nearest airport: Madrid location: central Spain Resort: Malaga nearest airport: Malaga activities: swimming, golf, beaches cultural events: Cathedral, Museum of Picasso Benutzerprofil: Country: Spain (known) capital: Madrid (not_known) location: Europe (known) language: Spanish (not_known) currency: Euro (not_known) climate: warm continental popular resorts: (known) Barcelona, (not_known) Madrid, (known) Malaga, (not_known)Toledo Town: Madrid (not_known) population: 3 millionen (known) nearest airport: Madrid (known) location: central Spain Resort: Malaga (known) nearest airport: Malaga activities: (known) swimming, (known) golf, (known)beaches cultural events: (not_known) Cathedral, (not_known) Museum of Picasso • Zusätzlich kann man noch Fehlannahmen / Bugs angeben, die angeben, wo der Benutzer sich – in Relation zum Expertenprofil – irrt, z.B. – Resort: Toledo AND nearest airport: Malaga – Capital: X => biggest city : X – Resort: X => nearest airport: X 1.3 Schließen unter Unsicherheit: Bayessche Netze / Probabilistisches Schließen • Customizing: Charakteristika des Benutzers werden explizit abgefragt • Stereotypen: Aufgrund von Triggern werden typische Charakteristika einer Gruppe von ähnlichen Benutzern einem bestimmten Benutzer zugeordnet, eventuell mit einer Bewertung, die das Vertrauen in diesen Stereotypen angibt • Aber: Viele Beobachtungen eines Benutzers lassen sich nicht eindeutig interpretieren – z.B. Webseiten, die ein Benutzer aufgerufen hat: Hat er den Inhalt wirklich gelesen und verstanden? • Mögliche Ansätze für das Problem, den Aufruf von Seiten in Benutzercharakteristika umzusetzen: – Seitenbesuche, die nicht länger als 2 Sekunden gedauert haben, werden ignoriert Vereinfachung!! Manchmal kann man mit einem Blick sehen, das die Seiten nicht den Inhalt enthält, den man erwartet hat – Seitenbesuche, die zwischen 2 Sekunden und 10 Sekunden dauern, werden als geringes Wissen / geringes Interesse klassifiziert – Seitenbesuche, die zwischen 10 Sekunden und 1 Minute dauern, werden als mittleres Wissen / mittleres Interesse klassifiziert – Seitenbesuche, die zwischen 10 Sekunden und 1 Minute dauern, und während der Mausaktivitäten beobachtet werden, werden als hohes Wissen / hohes Interesse klassifiziert – Seitenbesuche, die zwischen 1 Minute und 2 Minuten dauern, werden als hohes Wissen / hohes Interesse klassifiziert – längeres Betrachten der Seite wird nicht mehr zusätzlich beachtet (Kaffee getrunken?) • Unsicherheit, wie die Beobachtungen zu interpretieren sind, bleibt! Gilt die Klassifizierung mit 100% Wahrscheinlichkeit, oder sind wir uns nur zu 80% sicher? • Welche folgen hat die Beobachtung? Wenn Interesse für ein Thema hoch ist, sind dann auch ähnliche Themen für den Benutzer interessant? Wenn ja, wie sicher sind wir, daß ähnliche Themen interessant sind? • Umgang mit unsicheren Beobachtungen und Schlußfolgerungen unter Unsicherheit sind für die Benutzermodellierung sehr wichtig! Auffrischung: Begriffe der Wahrscheinlichkeitstheorie Der Laplace’sche Wahrscheinlichkeitsbegriff: P (w) := 1 |Ω| P (A) := |A| |Ω| Paarweise Unabhängigkeit P (A ∩ B) := P (A) ∗ P (B) Bedingte Wahrscheinlichkeiten: P (A|B) := |A ∩ B| |B| Das ist äquivalent zu: P (A|B) = P (A ∩ B) P (B) “Bayes’ Theorem:” (folgt direkt aus der Definition der Bedingten Wahrscheinlichkeit): P (A|B) = P (B|A) ∗ P (A) P (B) Definition 8 (Bayessches Netzwerk / Bayesian Network) Ein Bayessches Netzwerk ist ein gerichteter, azyklischer Graph (d.h. es liegen keine gerichteten Kreise vor) mit den folgenden Eigenschaften: • Jeder Knoten in dem Graphen repräsentiert eine Zufallsvariable • Es gibt eine Kante von X nach Y 6= X, genau dann wenn Y von X abhängig ist. • Jeder knoten wird mit einer Bedingten Wahrscheinlichkeitstabelle annotiert (CPT - Conditional Probability Table), die den Effekt der Eltern auf einen Kindknoten quantifiziert. Dabei gilt: X ist ein Elternknoten von Y , wenn es eine Kante von X nach Y gibt, und Y ist in diesem Falle eine Kindknoten von X. Ein Knoten ohne Elternknoten heißt Wurzelknoten / root. Example 2 (Einbruch (siehe Russel und Norvig, Künstliche Intelligenz)) P/Einbruch) Einbruch P(Erdbeben) 0,001 Erdbeben Einbruch Alarm John ruft an Erdbeben 0.002 P(Alarm) t t 0,95 t f 0,94 f t 0,29 f f 0,001 Alarm P(John_ruf_an) Alarm P(Mary_ruf_an) t 0,90 t 0,70 f 0,05 f 0,01 Mary ruft an • Ein Bayessches Netzwerk gibt eine gemeinsame Wahrscheinlichkeitsverteilung an • Jeder Eintrag in der gemeinsamen Wahrscheinlichkeitsverteilung kann aus den Informationen im Netzwerk berechnet werden. P (X1 = x1 , X2 = x2 , ...Xn = xn ) = n Y P (Xi = xi |Eltern(Xi )) (1) i=1 • Beim Berechnen der bedingten Wahrscheinlichkeiten im Bayesschen Netzwerk muß man immer nur die direkten Elternknoten berücksichtigen! Wo kommt Formel 1 her? • Direkt aus der Defintion von bedingten Wahrscheinlichkeiten! P (A ∧ B) = P (A|B) ∗ P (B) P (X1 ∧ X2 ∧ . . . Xn ) = P (X1 |X2 . . . Xn ) ∗ P (X2 . . . Xn ) = P (X1 |X2 . . . Xn ) ∗ P (X2 |X3 . . . Xn ) ∗ P (X3 . . . Xn ) = ... = n Y P (Xi |Xi+1 ..Xn ) i=1 • Durch geeignete Numerierung erreichen, daß immer die Elternknoten im Bedingungsteil enthalten sind • Die Struktur des Bayesschen Netzwerks ermöglicht das! Also zunächst die Kindknoten, dann die Eltern, dann die Großeltern, etc. • Dies berücksichtigend, sowie die Tatsache, daß jeder Knoten in einem Bayesschen Netzwerk nur von seinen direkten Elternknoten abhängig ist, gibt die Formel 1 1.3.1 Wie erhält man die CPTs? • Die CPTs gehören zu einer vollständigen Beschreibung eines Bayesschen Netzwerkes. • Es herrscht die Überzeugung vor, daß sich bedingte Wahrscheinlichkeiten besser schätzen lassen als Wahrscheinlichkeiten. – Wie groß ist die Wahrscheinlichkeit, daß es morgen regnet? – Wie groß ist die Wahrscheinlichkeit, daß der Boden naß ist, wenn es geregnet hat? • Eine Methode, die CPTs zu erhalten, sind also Schätzungen durch Experten. • Alternativ hat man in der Forschung Methoden entwickelt, diese Wahrscheinlichkeitstabellen durch Beobachtungen zu lernen – das wird u.a. beim sog. Lernen von Bayesschen Netzwerken untersucht. Zusätzlich zu den CPTs können durch Lernverfahren auch die Abhängigkeiten, also der Graph selbst, gelernt werden. Diese Methoden werden wir in dieser Vorlesung aber nicht vertiefen. Example 3 ((Kleines) Bayessches Netzwerk über Algorithmen) P(Algorithms = known) = 0.5, P(Algorithms = not known = 0.5) Algorithms Algorithms Sorting QuickSort P(Sorting=E|.) P(Sorting=F|.) P{Sorting=A|.) P{Sorting=N|.) known 0.8 0.6 0.2 0.1 not known 0.2 0.4 0.8 0.9 P(quicksort=E|.) P(quicksort=F|.) P{quicksort=A|.) E 0.8 0.2 0 0 F 0.2 0.6 0.2 0 A 0 0.2 0.6 0.2 N 0 0 0.2 0.8 sorting P{quicksort=N|.) Abbildung 1: “E” bedeutet Expertenwissen, “F” bedeutet Fortgeschritten, “A” bedeutet Anfänger, “N” bedeutet Neuling P (Algorithms = known ∧ Sorting = E ∧ Quicksort = E) = P (Quicksort = E|Sorting = E) ∗ P (Sorting = E|Algorithms = Known) ∗ P (Algorithms = known) = 0, 8 ∗ 0, 8 ∗ 0, 5 = 0, 32 P (Algorithms = known ∧ Sorting = N ∧ Quicksort = E) = P (Quicksort = E|Sorting = N ) ∗ P (Sorting = N |Algorithms = Known) ∗ P (Algorithms = known) = 0 P (Algorithms = known ∧ Sorting = N ∧ Quicksort = N ) = P (Quicksort = N |Sorting = N ) ∗ P (Sorting = N |Algorithms = Known) ∗ P (Algorithms = known) = 0, 8 ∗ 0.1 ∗ 0.5 = 0, 04 P (Algorithms = known ∧ Sorting = A ∧ Quicksort = A) = P (Quicksort = A|Sorting = A) ∗ P (Sorting = A|Algorithms = Known) ∗ P (Algorithms = known) = 0, 6 ∗ 0.2 ∗ 0.5 = 0, 05 1.3.2 Vorteile der Benutzermodellierung mit Bayesschen Netzwerken • Erlauben es, Unsicherheit in den Beobachtungen und deren Schlußfolgerungen zu modellieren: – In den CPTs kann man sehr gut die Schlußfolgerungen und die ihnen anhaftenden Unsicherheiten berücksichtigen. – z.B. Wir beobachten, daß ein Benutzer eine Seite P aufgerufen hat, die von einem Thema t handelt. Die Wahrscheinlichkeit, daß U Thema t kennt, ist dann 0,8, die Wahrscheinlichkeit, daß U Thema t nicht kennt, 0,2. • Erlauben es, Abhängigkeiten zwischen Beobachtungen zu modellieren: – Ein sehr Thema t bestehe aus verschiedenen Teilaspekte ta. Wir beobachten nun, daß ein Benutzer U das Thema t beherrscht (z.B. weil wir beobachten, daß er ein Projekt bearbeitet, das Expertenwissen über t zur Lösung erfodert). Dann kann – durch eine Modellierung im Bayesschen Netzwerk – auch das Wissen von U in Bezug auf die Teilaspekte ta als hoch eingeschätzt werden. Wie hoch – das wiederum kann individuell in den CPTs festgelegt werden.