Personalisierung und Benutzermodellierung, N. Henze

Werbung
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.
Herunterladen