User modeling Robbert Jan Beun
Vandaag 1. 2. 3. 4.
Introductie Stereotypering Modellen Usermodellen – – – – – – –
Kennis Pragmatische en overlaymodellen Mentale modellen Interesse Doelen, taken, plannen Background, traits & werkcontext Onzekerheidgebaseerde modellen
5. De groepsopdracht
Brusilovsky, P. & Millán, E. (2007) User Models for Adaptive Hypermedia and Adaptive Educational Systems. In: P. Brusilovsky, A. Kobsa & W.Nejdl (eds.) The Adaptive Web, LNCS 4321. Springer: Heidelberg, pp. 3- 29.
tot 1.4.2!
Adaptieve Systemen • Intelligente interfaces zijn adaptief • Processen – Diagnose, classificatie en controle
• Gebieden – Cybernetica: feedback – Linguïstisch: alignment of afstemming
Toepassingen • • • • • • • • •
Social media Adaptieve hypermedia Educatieve/tutoring systemen Expert systemen Beslissingsondersteunende systemen Recommender systemen Coachingssystemen Simulaties (bijv. tamagotchi) …
Adaptieve en adapteerbare systemen adaptief
adapteerbaar
Definitie
Zelfstandige aanpassing van systeem naar de taak, de huidige user en omgeving
user kan functionaliteit of interface zelf aanpassen
Informatie
in systeem, op verschillende manieren gepresenteerd
impliciet
Sterkte
weinig inspanning user
user in controle
Zwakte
mentaal model dynamisch, complexe modellering
toename complexiteit voor user
User modeling (NL: Gebruikersmodellering)
Geachte heer Beun, Alles werkt naar behoren. Uw melding met referentienummer I1104 2025 is afgehandeld op 03-05-2011 om 09:49 uur. Uw melding luidde als volgt: Het slot van mijn deur is vervangen in BBL 477, maar dat is blijkbaar geen verbetering want het blijft voortdurend haperen. De slotenmaker vertelde dat ik dan maar contact met jullie moet opnemen. Groet, Robbert-Jan Beun Wij vertrouwen erop dat wij uw melding naar tevredenheid hebben afgehandeld. Bent u van mening dat uw melding ten onrechte is afgesloten of mocht het probleem onverhoopt niet verholpen zijn, dan kunt u, door middel van een antwoord op deze mail, verzoeken om uw melding te heropenen. Indien u niet tevreden bent over de wijze waarop uw melding is afgehandeld dan kunt u, onder vermelding van het meldingnummer, dit kenbaar maken via mailadres
[email protected]. Met vriendelijke groet, N.G.H. Willers Servicemeldpunt Beta
Een gesprek
communicatie op maat Meneer Beun, we zijn vanmorgen bij u langs geweest. Het slot werkt weer naar behoren. Indien dat niet het geval is, wilt u het dan aan ons laten weten? Beun: Zeker, vriendelijk bedankt! SM:
of SM: RJ:
Robbert-Jan, we zijn vanmorgen langs geweest. Het slot doet het weer. Als je nog problemen hebt, laat het me weten. OK, bedankt!
Matchingsdagen ‘… en een laatste aandachtspunt is de meisjes. We vinden het als faculteit belangrijk dat er voldoende meisjes instromen in onze opleidingen; het is belangrijk dat we ons bewust zijn dat meisjes en jongens op een andere manier communiceren en dus ook op een andere manier reageren op een matchingsdag.’ (uit email 31-3-2014)
? • Jongens zeggen vaak dat het goed gaat, terwijl het helemaal niet goed gaat. • Meisjes zeggen vaak dat het niet goed gaat, terwijl het in de praktijk wel mee valt. • Tegen meisjes moet je niet zeggen dat iets heel moeilijk is, dan haken ze bij voorbaat al af. • Jongens laten zich daar niet gauw door afschrikken en houden van een uitdaging. • Jongens presteren beter als iets in wedstrijdvorm wordt gegoten. • Meisjes houden van samenwerken.
Kortom, we bezitten modellen over onze gesprekspartners en passen daarop onze interactie en interventie aan.
Hetzelfde gebeurt bij het ontwerp van interfaces. We maken in iedere interface aannames over de gebruiker.
Traditioneel: stereotypering in HCI bijv. novice en expert
• novice: bruikbaarheid voor grote groepen – – – –
lage functionaliteit gereduceerde expressieve kracht korte leertijd bijv. pinautomaten, ov-chipkaart
• expert: bruikbaarheid voor enkelen – – – –
hoge functionaliteit grote expressieve kracht lange leertijd bijv. Photoshop, kerncentrale
Stereotypering: Default aannames over eigenschappen van de gesprekspartner of user
Wat is je beeld bij iemand van 80 jaar?
Stereotype oudere?
•
Uiterlijk
– rimpels, gevlekte huid, grijs haar, kalend, gebogen houding, grote oren, wallen, …
•
Actie
– beweegt/eet langzaam, loopt moeilijk, … – geen seks
•
Perceptief
– hoort slecht, ziet slecht – typische geur
•
Cognitief
– levenswijsheid, vergeetachtig, … – weet weinig of niks van computers, nieuwe media, …
•
Slapen –
•
‘s middags dutje, ‘s nachts slechter, onregelmatig, dikwijls moe, …
Ziektes
– dementie, reuma, parkinson, osteoporose, …
•
Hulpmiddelen
– bril, gehoorapparaat, rollator, scootmobiel
•
Sociaal
– eenzaam, isolatie, moeilijk verstaanbaar, lastig, eigenzinnig, …
De Oudere?
We zitten er dus soms flink naast met onze stereotypering
Oplossing: Onderzoek je doelgroep goed
Oplossing: Onderzoek je doelgroep goed Probleem: Er verandert voortdurend iets tijdens de interactie. We slaan gegevens tijdelijk op, we leren nieuwe kennis en vaardigheden, onze stemming wisselt, onze locatie verandert (vooral met mobieltjes), …
Oplossing: 1. Onderzoek je doelgroep goed 2. Ga uit van een defaultontwerp en stel in de loop van de interacties bij het systeem wordt daarmee adaptief
Om een adaptieve interface te maken hebben we een user model nodig
Modellen • Mentaal model
– Model van de gebruiker van het domein
• Conceptueel model
– Model van de ontwerper van het domein
• Formeel model
– Expliciete representatie in termen van symbolen
• User model
– Model van het systeem over model van de gebruiker
Mentaal model 1. Objecten, relaties en eigenschappen met betrekking tot het domein 2. Kennis, vermoedens, verwachtingen, voorkeuren, aannames, interesses, doelen, etc. met betrekking tot 1. Eigenschappen: dynamisch, inconsistent, incompleet, incoherent, inaccuraat.
De spoelbak
user model
conceptueel model
Model van de computer
Modellen • Mentaal model
– Model van de gebruiker van het domein
• Conceptueel model
– Model van de ontwerper van het domein
• Formeel model
– Expliciete representatie in termen van symbolen
• User model
– Model van het systeem over de gebruiker
User model Models that systems have of users that reside inside a computational environment (Fisher) Knowledge about the user, either implicitly or explicitly encoded, that is used by the system to improve the interaction (Kass & Finin) Representation of information about an individual user that is essential for an adaptive system to […] behave differently for different users (Brusilovsky & Millán)
Belangrijke vragen • • • • •
Welke informatie moet ik representeren? Hoe kom ik aan die informatie? Hoe representeer ik die informatie? Hoe onderhoud ik die informatie? Hoe adapteer ik de interface op basis van deze informatie?
Welke informatie? – Hangt af van toepassing – Demografische gegevens
• leeftijd, geslacht, lengte, afkomst, studie, beroep, taal, …
– Rollen
• werkgever/werknemer, moeder/kind, expert/novice, verkoper/koper, peers, man/vrouw, moeder/kind, …
– Overige gegevens
• motivatie, kennis, vaardigheden, gedrag, doelen, plannen, interesse, houding, verwachtingen, normen, waarden, emoties, locatie, karakter, …
– Fysiologische data
• hartslag, beweging, bloeddruk, …
– Hiërarchie, sociale afstand – Discourse – Gemeenschappelijke kennis
Informatie over coachee • Profiel – leeftijd, gewicht, gezondheid, geslacht, educatie, hobby, werk, karakter, …
• Slaapdagboek – info over medicatie, drugs, alcohol, koffie, oefeningen, slaaptijden, bedtijden, kwaliteit van de dag en de nacht, …
• Tests – motivatie, slaaptest, depressietest, attitudetest, …
• Fysieke metingen – hartslag, temperatuur, beweging, locatie, huidweerstand, geluid, licht, … – slaapstages: NREM1, 2, 3, 4, REM-slaap, Wakker – emotie, …
• Andere interactie – dialoog
Informatiebronnen • Fysiologisch
– sensormetingen – non-verbaal, niet intentioneel – bijv. zweet, hartslag, beweging, EEG, temperatuur, …
• Performance
– bijv. gedrag met betrekking tot de taak – non-verbaal, intentioneel – bijv. snelheid, frequentie, fouten, …
• Uitingen
– taalgebruik – verbaal, intentioneel – bijv. interviews, dialoog, boeken, NLP, …
Types informatie Brusilovsky & Millán
• • • • • •
Kennis Interesse Doelen en taken Background Traits Context
Twee types representaties • Stereotypering • Feature based Kan in feite met betrekking tot alle types informatie. In combinatie kan stereotypering gebruikt worden voor initialisatie.
Kennis
Feature based modellen • Schalen
– 0-10 over alle domeinkennis – novice, beginner, expert
• Toepassingen – – – –
variatie in hoeveelheid tekst (stretchtext) variatie in complexiteit van de tekst (bijv. niveau A1, A2, …) variatie in oefeningen denk ook aan game level
• Eigenschappen
– eenvoudig – tamelijk statisch – niet erg precies (alleen gemiddeldes)
Bijv. ‘Interface genderization’
Oppassen! Er bestaan verschillende taalniveaus (A1, A2, …, C2) • Stel:
– Je hebt een database met zinnen voor ieder niveau
• Regel:
– Hanteer een lager taalniveau bij lager opgeleiden
• Aanname:
– PVV-stemmers zijn lager opgeleid
Hanteer een lager taalniveau bij PVV-stemmers
Kennis
Structurele modellen
• Domeinkennis gefragmenteerd gerepresenteerd – Procedureel: bijv. algoritmes en strategieën – Declaratief: bijv. feiten en relaties, proposities
• Expert vs. user kennis • Toepassingen
– tutoring/educatieve systemen – beslissingsondersteunende/advies/expertsystemen – antwoordgeneratie
• Eigenschappen
– complex – preciezer en respons op maat
Domeinmodel • Bevat kenniselementen van het betreffende domein • Concepten, feiten, constraints, eigenschappen, … • Ook ontologieën • Zie bijv. ook cursus KAM (KennisAcquisitie en Modellering)
Domein of semantisch model Bijvoorbeeld informatie over • het bestaan van een bepaald type – ‘dieren bestaan’ – animals : s*
•
subtypes
– ‘zoogdieren zijn dieren’ – mammal < animal: s*
•
het bestaan van predicaten die van toepassing zijn op een bepaald type – ‘warmbloedig is van toepassing op zoogdieren’ – warm_blooded : animal p*
•
regels die een noodzakelijke eigenschap aangeven van een object van een bepaald type – ‘alle zoogdieren zijn warmbloedig’ – mammal(x) warm_blooded(x)
•
Instanties van de bovenstaande informatie – ‘flipper is een dolfijn’ – flipper : dolphin
Sequentiële opbouw Gerepresenteerde kennis 1. dieren bestaan 2. zoogdieren bestaan 3. dolfijnen bestaan 4. flipper is een dolfijn 5. zoogdieren zijn dieren 6. ‘warmbloedig’ is van toepassing op zoogdieren 7. dolfijnen zijn zoogdieren 8. alle zoogdieren zijn warmbloedig Afgeleide kennis 9. flipper is warmbloedig
Types kennis • • • • •
Expert kennis over het domein Kennis over de kennis van de ander Kennis over de kennis van de kennis van de ander … Kennis over elkaars wederzijdse kennis – common ground/beliefs, shared knowledge, mutual beliefs, …
• Kennis over de misconcepties van de ander – onvolledig en onjuist – wat doe je daarmee?
Pragmatisch model • Common vocabulary: de woorden die gebruikt worden in de communicatie • Private belief: domeinmodel van het systeem • Common belief: veronderstelde overlay met de gebruiker • Pending belief: het geloof van het systeem over het geloof van de gebruiker • Goal: het geloof van het systeem over de doelen van de gebruiker
Pragmatisch model • Common vocabulary: de woorden die gebruikt worden in de communicatie • Private belief: domeinmodel van het systeem • Common belief: veronderstelde overlay met de gebruiker • Pending belief: het geloof van het systeem over het geloof van de gebruiker • Goal: het geloof van het systeem over de doelen van de gebruiker
Het overlay model • • • •
Kennis over de kennis van de gebruiker Individuele gebruikerskennis Subset van domein/expert model Kan ook met kwalificatie per fragment (bijv. zeker, onzeker)
Voorbeeld overlay model kennis van het systeem
• • • • • • • •
dieren bestaan jan loopt op straat iemand heeft mazelen alle jongens hebben kort haar jongens zijn geen dieren marie ligt niet in bed de nachtwacht hangt in het rijksmuseum de temperatuur mag niet hoger dan 20 graden
Voorbeeld overlay model
kennis van het systeem over de gebruiker • • • • • • • •
dieren bestaan jan loopt op straat iemand heeft mazelen alle jongens hebben kort haar jongens zijn geen dieren marie ligt niet in bed de nachtwacht hangt in het rijksmuseum de temperatuur mag niet hoger dan 20 graden
Sequentiële opbouw 1. dieren bestaan 2. zoogdieren bestaan 3. dolfijnen bestaan 4. flipper is een dolfijn 5. zoogdieren zijn dieren 6. ‘warmbloedig’ is van toepassing op zoogdieren 7. dolfijnen zijn zoogdieren 8. alle zoogdieren zijn warmbloedig 9. flipper is warmbloedig
Sequentiële opbouw en overlay 1. dieren bestaan (exist) 2. zoogdieren bestaan (exist) 3. dolfijnen bestaan (exist) 4. flipper is een dolfijn (is_a) 5. zoogdieren zijn dieren (is_a) 6. ‘warmbloedig’ is van toepassing op zoogdieren (applies_to) 7. dolfijnen zijn zoogdieren (for_all) 8. alle zoogdieren zijn warmbloedig (for_all) 2
|| 9. flipper is warmbloedig (is)
7
8
3
5
6 1
9
4
‘Waar staat de kleurenprinter?’ • • • •
Op vloer 1 van het CGN Op vloer 1 In kamer 1.37 Naast printer 4
HP 4Si
HP1200c1
HP1200c2
Geel weergegeven printers zijn kleurenprinters. Gebruiker ziet alleen grootte en relatieve locatie, maar kent geen namen of ziet geen kleuren van printers.
Welke printers zijn kleurenprinters? a. b. c. d. e. f. g.
Printer HP1200c1 en Printer HP1200c2 De kleine printer en een grote De rechter en middelste printer De gele printers, maar niet de blauwe Alle printers, behalve HP 4Si De kleine printer De kleurenprinters
Gewogen overlay model • aangeven kennisniveaus – – – –
simpel: bekend-onbekend kwalitatief: goed-gemiddeld-slecht numeriek: bijv. rapportcijfers onzekerheid: waarschijnlijk dat de gebruiker iets weet
• gelaagde overlay modellen – integratie van verschillende kennisbronnen – bijv. sensormetingen, dialoog, enquêtes, gedragsobservaties, … source: sensor
certainty: 0.456
K: ‘marie eet kaas’
source: dialogue
certainty: 0.890
K: ‘jan drinkt bier’
Mentaal model 1. Objecten, relaties en eigenschappen met betrekking tot het domein 2. Kennis, vermoedens, verwachtingen, voorkeuren, aannames, interesses, doelen, etc. met betrekking tot 1. Eigenschappen: dynamisch, inconsistent, incompleet, incoherent, inaccuraat.
Incompleet (overlay) 1. dieren bestaan 2. zoogdieren bestaan 3. dolfijnen bestaan 4. flipper is een dolfijn 5. zoogdieren zijn dieren 6. ‘warmbloedig’ is van toepassing op zoogdieren 7. dolfijnen zijn zoogdieren 8. alle zoogdieren zijn warmbloedig || 9. flipper is warmbloedig
Incoherent (overlay) 1. dieren bestaan 2. zoogdieren bestaan 3. dolfijnen bestaan 4. flipper is een dolfijn 5. zoogdieren zijn dieren 6. ‘warmbloedig’ is van toepassing op zoogdieren 7. dolfijnen zijn zoogdieren 8. alle zoogdieren zijn warmbloedig || flipper is warmbloedig
Inconsistentie kunnen we niet kwijt in het overlay model.
Hoe gaan we om met tegenstrijdige informatie? Bug en perturbation modellen
Tegenstrijdigheid Coachee: Ik heb slecht geslapen Coach: Nee hoor, u hebt goed geslapen Coachee: Ik weet toch wel beter dan jij of ik goed heb geslapen! Coach: Ja maar, ik heb gemeten dat je goed hebt geslapen! Coachee: (Verwijdert app)
Pragmatisch model • Common vocabulary: de woorden die gebruikt worden in de communicatie • Private belief: domeinmodel van het systeem • Common belief: veronderstelde overlay met de gebruiker • Pending belief: het geloof van het systeem over het geloof van de gebruiker • Goal: het geloof van het systeem over de doelen van de gebruiker
Het nut van Pending Belief U: S: U: S: U:
Het regent. Nee, hoor het regent helemaal niet. Jawel, ik zie toch dat de daken nat worden. Ja, maar dat komt omdat er iemand staat te sproeien. Ah, oké ik snap het al. Vergissing.
Onderscheid: S gelooft p & S gelooft dat U gelooft p ‘S gelooft dat U gelooft’ kan kort bestaan
Tegenstrijdigheden zijn niet altijd zo duidelijk
Misconcepties Ik kan geen e-mail versturen. Is het internet vol? Is het internet ook op zondag geopend? Hoe krijg ik dat cirkeltje om de a? (@) Het internet is langzaam. Kunnen jullie het opnieuw opstarten? Ik kan niet printen. Mijn computer zegt dat hij hem niet kan vinden. Ik heb de printer nu voor de computer gezet, maar hij kan hem nog steeds niet vinden. Ik heb een probleem. Mijn vriend heeft een screensaver op de computer gezet, maar iedere keer als ik de muis beweeg verdwijnt hij.
Welke reactie op misconcepties? U: “Herstart het Internet, a.u.b.” S1: Sorry, ik begrijp je niet. S2: Wat bedoel je met ‘herstarten’? S3: Nee, want ik kan het internet niet herstarten. S4: Het Internet kan niet geherstart worden, want het internet is een netwerk en netwerken kun je niet herstarten, alleen processen kun je herstarten. S5: ‘Herstart’ is alleen van toepassing op processen. S6: Het Internet kan niet worden geherstart. S7: Het Internet is geen proces. S8: Netwerken zijn geen processen. S9: Denk je dat herstarten van toepassing is op het Internet? S10: …
Zover over kennis
Interesse • belangrijk feature in adaptieve systemen • encyclopedieën, nieuws systemen, e-stores, museumgidsen, informatiekiosken, … • keywords vs. concept level – bijv. boomstructuur op concept level
• closed vs. open corpus systemen • hybride systemen
Overlay modellen van interesses • Lijkt veel op de kennismodellen • Vectormodellen
– [object : type] – explore(user, object) interest(type) := interest + 1 – nadeel: wat als niet geëxploreerd?
• Taxonomie modellen
– topic-subtopic relaties – propagatie van interesses: van kind naar ouder – handig bij open systemen (bijv. toevoeging van nieuws)
• Ontologiemodellen
– verschillende types relaties: is_a, part_of, similar, … – propagatie van interesses: via de relaties – gesloten systemen
Doelen en taken
Pragmatisch model • Common vocabulary: de woorden die gebruikt worden in de communicatie • Private belief: domeinmodel van het systeem • Common belief: veronderstelde overlay met de gebruiker • Pending belief: het geloof van het systeem over het geloof van de gebruiker • Goal: het geloof van het systeem over de doelen van de gebruiker
Doelen, taken en plannen Wat wil de gebruiker bereiken? Sterk veranderlijk Doel: een gewenste ‘stand van zaken’ Plan: sequentie van handelingen om het doel te bereiken • Doelen in gesprekken: • • • •
– iemand iets laten weten, iemand iets laten doen, … – directe uitingen, indirecte uitingen, incorrecte of incomplete plannen en doelen, meerdere plannen en doelen
Doelen Inferentie van doelen en plannen is lastig en kan makkelijk tot verkeerde verwachtingen leiden A: B1: B2: A:
‘Waar staat de zwart/wit-printer?’ ‘Die is kapot, neem kleurenprinter.’ ‘Je kunt beter de kleurenprinter nemen, omdat je anders de figuren niet goed kunt lezen.’ ‘Ja maar, ik kom hem repareren.’
Doelen: direct • Het doel is direct afleidbaar uit de oppervlaktestructuur: – Hoe laat is het? – Maak het raam open! – Wanneer kom je terug? – Ben je gisteren in Amsterdam geweest?
• Zinstype: imperatief, interrogatief, declaratief • WH-woorden: wie, waarom, wanneer, hoe, …
Doelen: indirect • Doelen zijn niet onmiddellijk afleidbaar uit oppervlaktestructuur van de zin: – Kunt u mij vertellen hoe laat het is? – Mijn band is lek. – De rode staat op de blauwe.
• Inferenties op basis van user model A: De trein naar Amsterdam? B: Spoor 13. – bijv. vind de obstakels in het plan en los die op – complex!
Lastig • Het herkennen van doelen a.d.h. van acties van de gebruiker • Verschil taalhandelingen en fysieke acties • Beiden pre- en postcondities, maar hoe herken je de actie en het doel van de actie. • Kan ook in overleg met de gebruiker
Doelen herkennen • Bijv. goal modeling van U(ser): – Observe: Open(U, fridge) – [Open(U, fridge) Wants(U, beer), 0.7] – [Open(U, fridge) Wants(U, cheese), 0.2999] – [Open(U, fridge) Wants(U, coldness), 0.0001] – [Wants(U, beer) Wants(U, glass), 0.6] – [Wants(U, cheese) Wants(U, plate), 0.7]
Agent-based dialogue systems: rational agents reasoning
perception
beliefs
intention
action
desires
BDI model Bratman et al. (1988)
Regels over geloof en intenties/doelen • X believes p: B(x,p) • X has intention to achieve p: I(x,p) • • • •
B(x,p) → ¬B(x,¬p) B(x,p) & B(x,p→q) → B(x,q) B(x,p) → B(x, B(x,p)) ¬B(x,p) → B(x, ¬B(x,p))
Consistency Closure Pos. Introspection Neg. Introspection
• • • •
I(x,p) → ¬B(x,p) I(x,p) & B(x,p→q) → I(x,q) I(x,p) → B(x, I(x,p)) ¬I(x,p) → B(x, ¬I(x,p))
Efficiency IB-Consistency Pos. Introspection Neg. Introspection
• Precon. on Questioning(p): I(s, B(h, I(s, B(s,p) V B(s, ¬p)))) • Precon. on Stating(p): I(s, B(h,p)) Suppose a rational and cooperative situation: • Tell the truth: (1) I(s, B(h, p)) ⇒ B(s, p) • Be cooperative: (2) B(h, I(s, p)) ⇒ I(h, p) • Believe the other: (3) B(h, B(s, p)) ⇒ B(h, p) • Answer if you can: (4) I(h, B(s, p)V B(s, ¬p)) & B(h,p) ⇒ I(h, B(s,p)) • B(h, DO(s,int,p)) ⇒ B(h, I(s, B(h, I(s, B(s,p) V B(s, ¬p))))) (1) ⇒ B(h, B(s, I(s, B(s,p) V B(s, ¬p)))) (3) ⇒ B(h, I(s, B(s,p) V B(s, ¬p))) (2) ⇒ I(h, B(s,p) V B(s, ¬p)) (4) + B(h,p) ⇒ I(h, B(s,p))
Een eenvoudig dialoogspel: dynamische user modeling (en adaptatie)
A Kennis(A) Doel(B) pq
Com.
B Kennis(B) Doel(A) p
A Kennis(A) Doel(B) pq
Com.
B: q?
B Kennis(B) Doel(A) p
A Kennis(A) Doel(B) pq
Com.
B Kennis(B) Doel(A) p
B: q? pq
p
A Kennis(A) Doel(B) pq
Com.
B Kennis(B) Doel(A) p
B: q? pq
p A: p?
A Kennis(A) Doel(B) pq
Com.
B Kennis(B) Doel(A) p
B: q? pq
p A: p?
pq
p
A Kennis(A) Doel(B) pq
Com.
B Kennis(B) Doel(A) p
B: q? pq
p A: p?
pq
p B: p!
A Kennis(A) Doel(B) pq
Com.
B Kennis(B) Doel(A) p
B: q? pq
p A: p?
pq
p B: p!
p, p q, q
p
A Kennis(A) Doel(B) pq
Com.
B Kennis(B) Doel(A) p
B: q? pq
p A: p?
pq
p B: p!
p, p q, q
p A: q!
A Kennis(A) Doel(B) pq
Com.
B Kennis(B) Doel(A) p
B: q? pq
p A: p?
pq
p B: p!
p, p q, q
p A: q!
p, p q, q
p, q
De overige types uit B&M: Background, traits en werkcontext
Background ervaring buiten het core domein stabiel beroep, rollen, verantwoordelijkheden, … bijv. student, dokter, verpleegster voor selectie van lexicon in medische documenten • native of non-native sprekers • meestal stereotype model (hoeft niet precies) • lastig af te leiden, meestal expliciet gegeven via simpel interview • • • •
Traits • Karakter (introvert/extravert, …), cognitieve eigenschappen (holistisch, serialistisch), leerstijlen, … • Redelijk stabiel • Afgeleid via psychologische tests • Voornamelijk cognitieve en leerstijlen
Cognitieve stijlen • Stijlen – – – – – –
veld-afhankelijk/onafhankelijk (Rod en Frame test) impulsief/reflectief conceptueel/inferentieel thematisch/relationeel analytisch/globaal holist/serialist
• uitgebreide tests • van invloed op: navigatie, organisatie, user control, support tools • gemengde resultaten: stijl heeft invloed maar adaptatie is lastig
Field dependence test
Leerstijlen • Nadruk op leren (dus minder ruim dan cognitieve stijlen) • klassificaties – doener, bezinner, denker, beslisser
• metingen – vragenlijsten
• adaptatie – zie volgende slides
Optimale leeromgeving volgens Kolb (Doener) • Humor, plezier en ontspanning op de leer- of werkplek • Terugkoppeling op eigen acties • Contact met anderen en de sfeer zijn erg belangrijk • Vrij zijn om snel te reageren • Verschillende werkvormen tot zijn beschikking hebben • Situaties die uitdagend en spannend zijn en die om keuzes vragen
Optimale leeromgeving volgens Kolb (Bezinner) • Voldoende mogelijkheden om de overige groepsleden te leren kennen • Tijd en ruimte om gedachten, gevoelens en ervaringen uit te wisselen en te uiten • In aanraking komen met diverse visies • De benadering dient als veilig ervaren te worden
Weinig succesverhalen, er is nog te weinig bekend
Werkcontext • locatie, fysische omstandigheden, sociale context, affectieve toestand • zie ook college over context awareness • Platform – schermgrootte, media capabilities, …
• Locatie – toeristen/museum gidsen, coaching, …
• Affective state – detectie van motivatie, frustratie, engagement, …
Context vs. user modeling
Platform
Time/location Fysieke omgeving
Persoonlijke context
Sociale context
Doelen/taken
Onzekerheidgebaseerde modellen • Basis Baysiaanse netwerken • Kwalitatief model – overlay model – beyond the overlay model – beyond knowledge
• Ontwikkeling van kwantitatief model • Veel gebruikt bij ‘student modellen’
Voorbeelden • Temperatuur is ongeveer 40 C, zweten en rillerig de kans is groot dat de gebruiker griep heeft • Misschien staat de auto van Jan voor de deur de kans is dan klein dat hij afwezig is • Marie wist de oplossing niet de kans is groot dat ze concept C niet kent • De gebruiker heeft zijn mobiel aanstaan, en de app is geopend de kans is klein dat hij de boodschap niet heeft gelezen • De gebruiker is rond 10 uur vertrokken de kans is groot dat ze ongeveer twaalf uur aankomt
Bayesiaanse Netwerken • Probabilistisch model • Causaliteit • Grafisch model – Node: (propositionele) variabele – Link: causale invloed
• Speciaal voor diagnose en classificatie bij onzekerheid
Bayesiaans Netwerk • Verzameling V van propositionele variabelen (X1, ….Xn) (knopen) • Verzameling E van relaties tussen de variabelen (links) • G=(V,E) is gerichte acyclische graaf • Gegeven de toestand van de ouders zijn de knopen onafhankelijk van elkaar
Voorbeeld • • • •
K = Kennis van domein E = Evidence (testresultaat, opinie, …) E K (diagnostisch) K E (causaal)
K
K is ‘kan optellen’ en E is ‘kan 3+4 uitrekenen’ Stel: P(K=1)= 0.2 P(E=1|K=1) = 0.99 P(E=1|K=0) = 0.02
(kans op ‘kan optellen’ is 0.2) (als kind kan optellen, dan …) (als kind niet kan optellen, dan …)
P(E=1|K=0) P(E=0|K=1) = ?
(false positive, type II error) (false negative, type I error)
E
Tijdsaspecten Statisch: relatief constant tijdens de interactie – bijv. leeftijdsverschil, rollen, lengte, sociale afstand, … Dynamisch: verandering tijdens de interactie – bijv. discourse, uitgevoerde acties of oefeningen, balans, kennis, ingenomen calorieën, … Hangt af van je applicatie of taak!
Moeten we alles bewaren en waar? Welke overwegingen spelen hierbij een rol?
Een gesprek I: S:
I: S: I: S: I: S: I: S: I:
Schiphol Inlichtingen, goedemorgen. Goedemorgen, U spreekt met J. Op dertig juni komt er ‘s morgens een kennis van mij aan uit Dublin met het vliegtuig. Ik weet niet wat de aankomsttijd is van dat vliegtuig. Kunt u mij daar inlichtingen over geven? Ik zal even voor u kijken hoor. Ja (5 sec.) Om twaalf over negen komt dat vliegtuig. Twaalf over negen. Ja. Bedankt. Graag gedaan. Dag. Dag.
Zoekruimte Domein
S y s t e m
kennis doelen
referentiële expressie
User
discourse pending 109
Discourse vs. kennis Taak domein
Kennis:
Ontologie Expert Overlay
Discourse: Zin Pending Dialoog
Gebruiker
De architectuur B
A
Update: speech act postcondities Generatie: precondities speech acts
Kennis A Doelen B
Update rules Generatie rules
Input Output
Virtuele assistent Taak domein
Eassistent
Sensoren
Expert kennis Overlay kennis
Context interpreter
NL-parser
Respons generator Pending context
NLproductie
Gebruiker
De groepsopdracht
Conferentie UMAP: User Modelling, Adaptation and Personalization Workshops: • • • • • • •
SASWeb: Semantic Adaptive Social Web PALE: Personalization Approaches in Learning Environments DEMRA: Decision Making and Recommendation Acceptance Issues in Recommender Systems AUM: Augmenting User Models with Real World Experiences to Enhance Personalization and Adaptation UMMS: User Models for Motivational Systems: The affective and the rational routes to persuasion TRUM: Trust, Reputation and User Modeling ASTC: Adaptive Support for Team Collaboration
Journal • UMUAI: journal of personalization research – interdisciplinair forum voor het ontwerp van interactieve en adaptieve computersystemen en de rol van het gebruikersmodel hierin
Welke soorten informatie over de gebruiker heb je nodig om je systeem zo goed mogelijk te laten functioneren?
Waar kun je deze informatie vandaan halen en hoe moet die verwerkt worden?
Hoe kun je deze informatie representeren in je systeem? Bijv. keywords met values, databases, knowledge base, hyperlinks, reasoning, XML, UML, …
Welke interface aspecten kun je aanpassen op basis van deze informatie?
Extra (niet verplicht) Geef in je ontwerp aan of en zo ja, welke kennis common/overlay moet zijn en welke expert kennis Motiveer je keus in het paper en geef ruwweg de regels aan voor het gebruik van deze kennistypes (updates, generatie).
Conclusies • User modellering is noodzakelijk om het systeem adaptief te maken • Er zijn verschillende types informatie van belang over de user – kennis, interesses, doelen, achtergrond, …
• Deze types kunnen op verschillende manieren gerepresenteerd worden • Begin met default aannames en stel later bij • Denk na over de meetmethodes
– natuurlijke dialoog, sensoren, observatie van gedrag
• Geef aan welke invloed het model heeft op het gedrag van je systeem