Algemene informatie over een product of dienst gewoon aanbieden op bijvoorbeeld de website maakt van een bezoeker nog geen klant. Reclamefolders – ook de elektronische – kunnen wel mooi zijn, maar of ze de ‘zoekers’ ook bieden wat ze verlangen… Vaak is de informatie te beknopt en te algemeen van aard. Een catalogus is al een stap in de goede richting: de bezoeker krijgt een overzicht van de aanwezige informatie gepresenteerd en kan gericht zoeken naar de gewenste producten en diensten. Een student Cognitieve Kunstmatige Intelligentie beschrijft hoe je van een bezoeker van een website een klant maakt.
Het ontwerpen van een gebruiksvriendelijke zoek-interface mag niet worden onderschat. Zelfs als aan de belangrijkste optimalisatie-criteria is voldaan, krijgen de bezoekers te veel informatie [1], zie kader 1.
Hoe kan de bezoeker worden voorzien van de door hem gewenste informatie, gelet op de gewenste hoeveelheid, de gewenste relevantie en de gewenste mate van detail? De ideale zoek-interface is afgestemd op iedere afzonderlijke bezoeker. Daarvoor is een goed beeld nodig van de (gewenste) doelgroep. De belangrijkste criteria van de informatiezoeker danwel gebruiker daarbij zijn: ervaring met zoek-interfaces, kennis op het vlak van de in de catalogus opgenomen informatie, en persoonlijke voorkeuren.
De individuele bezoeker verdient het van moment tot moment gevolgd te worden om hem op maat informatie te kunnen verstrekken. Aangezien ervaring, kennis en voorkeuren aan verandering onderhevig zijn, is het nodig de interface continu aan te passen aan de bezoeker.
Een dergelijke ‘adaptieve’ interface past in de huidige trend van meer en meer persoonlijke dienstverlening. Bovendien levert een adaptieve gebruikersinterface een antwoord op het meer algemene probleem dat gebruikers niet alleen een overvloed aan informatie ervaren, maar tegenwoordig ook verdrinken in de vele functies. De adaptieve interface is een breuk met de strikte principes achter de grafische gebruikersinterface. Kader 2 noemt enkele beperkingen.
Adaptieve interface
Een adaptieve interface is het best te beschouwen als een interface waaraan een intelligent agent is toegevoegd. (Overigens kan de interface ook onderdeel uitmaken van de intelligente ‘agent’; voor de gebruiker is dit implementatiedetail niet relevant). De interface is verantwoordelijk voor de manipulatie van informatie: het presenteren, verbergen en verwerken van informatie. Traditioneel is het ondersteunen van de gebruiker in het uitvoeren van zijn taak ook een verantwoordelijkheid van de interface. In het geval van een adaptieve interface echter wordt de ondersteuning verzorgd door de intelligente ‘agent’.
De agent is intermediair tussen interface en gebruiker. Zowel gebruikersprofiel als interface moeten continu worden aangepast. En de interactie tussen gebruiker en interface dient als bron voor het aanpassen van het profiel. Datzelfde profiel beïnvloedt de interpretatie van de interactie. Op basis van deze interpretatie worden de door de interface getoonde informatie en functies aangepast. (kader 3 legt aan de hand van de metafoor van het museumbezoek de werking van de adaptieve interface uit).
Het initialiseren van het gebruikersprofiel kan op verschillende wijzen geschieden: instructie of inductie [2]. De gebruiker kan expliciet gevraagd worden zijn voorkeuren op te geven in de vorm van regels en trefwoorden. Het profiel wordt dan weliswaar erg precies, maar dient zelf te worden onderhouden. Dit is erg tijdrovend en leidt al gauw tot fouten. Alleen zeer ervaren gebruikers kunnen hun eigen profiel afstemmen. Ook zijn niet alle trefwoorden even geschikt.
Gebruikersklassen
Daarnaast kan de gebruiker aan de hand van enkele persoonlijke kenmerken in een bepaalde klasse worden ondergebracht. Deze gebruikersklassen zijn gecreëerd op basis van statistieken en kennen elk een eigen profiel. Afhankelijk van de klasse krijgt de gebruiker een profiel toegewezen. In dit geval is sprake van een duidelijke wisselwerking tussen nauwkeurigheid en eenvoud. De statistieken zijn bovendien een moment-opname.
Verder kan de gebruiker om voorbeelden worden gevraagd. De classificaties van de voorbeelden dienen als input van het gebruikersprofiel. Veelal worden op basis van dit prille profiel nieuwe voorbeelden aan de gebruiker getoond waarover de gebruiker zijn oordeel mag geven (vergelijk de recommendations van Amazon.com of het passport van Firefly). Deze feedback leidt tot verdere detaillering van het profiel. Al heeft de gebruiker vaak de mogelijkheid op elk gewenst moment zijn profiel aan te passen door voorbeelden te geven of te evalueren, het is een tijdrovend proces en niet alle voorbeelden zijn even representatief.
Tenslotte kan alleen de interactie van de gebruiker dienen om een profiel op te bouwen. Dit vereist geen instructie van de gebruiker, maar neemt vaak toch wel enige tijd in beslag voordat de agent voldoende heeft geleerd. Het feit dat de agent geen directe interactie kent met de gebruiker, heeft positieve en negatieve gevolgen. Aan de ene kant willen de gebruikers liefst zo min mogelijk interactie met de adaptieve interface die niet leidt tot resultaten. En aan de andere kant willen zij graag in staat zijn hun profiel aan te passen of in ieder geval uit te lezen, zodat zij de prestaties van de adaptieve interface op waarde kunnen schatten [3].
Initialiseren van het gebruikersprofiel is één, het vereist ook aanpassing. Hierbij dient bijna altijd het gedrag van de gebruiker als bron van kennis. Bovendien kan ook om expliciete feedback gevraagd worden, zoals in het aanbieden van voorbeelden ter evaluatie. Na het initialiseren van het profiel zijn de laatste twee methoden dus ook bruikbaar om het ‘up to date’ te houden.
Eigen doelen
Naast de voorkeuren van de gebruiker die in het profiel worden opgeslagen, kan de agent van een adaptieve interface ook eigen doelen hebben. De doelen van de agent zijn afhankelijk van de taak die de ontwerpers van de agent in gedachten hadden. In ieder geval beschikt de agent over expertise (kennis in de vorm van beslisbomen, neurale netwerken of regels) over human-computer interaction, machine learning en het domein waarin de adaptieve interface wordt toegepast.
De ‘human-computer interaction’-kennis is nodig om de interface aan te passen. Met behulp van de ‘machine learning’-kennis zijn uit de interactie en verstrekte informatie de voorkeuren van de gebruiker te destilleren. Ook worden hiermee de in het profiel opgeslagen voorkeuren aangepast, evenals de eigen doelen van de agent. Met de domeinkennis tenslotte zijn zowel de eigen doelen als die van de gebruiker na te streven. Hiertoe wordt eventueel de interpretatie van de interactie aangepast en doorgegeven aan de HCI-module.
Al kunnen agents vaak worden toegevoegd aan interfaces, het is niet altijd even vanzelfsprekend. Gelukkig zijn er wel kenmerken van taken te geven waarin agents de ondersteunende rol van de interface kunnen overnemen of faciliteren [4]:
adaptief – bijhouden van de gebruikersvoorkeuren is gewenst;
onderzoekend – probeer structuur te ontdekken of aan te brengen in de slecht gedefinieerde taak (veelal zogenaamde ‘shallow tasks’);
demonstratief – breng de gebruiker enkele vaardigheden bij;
begeleidend – assisteer de gebruiker in het verrichten van zijn werkzaamheden of leid hem rond;
representatief – vorm een vertegenwoordiger van of namens de gebruiker;
autonoom – voer regelmatig of zelfs constant een bepaalde controle uit; en
asynchroon – voer een langdurige of onregelmatige taak uit.
Vaak kent een taak een combinatie van deze kenmerken. Een complexere agent of meerdere simpele agents kunnen dan uitkomst bieden.
Virtuele werelden
Door vanuit taak en gebruiker naar interfaces en agents te kijken, wordt vermeden interface-agents slechts te zien als informatiefilters. De taken zijn te vergelijken met ecologische nissen. Zodra nieuwe nissen ontstaan of oude vrijkomen, worden deze al gauw gevuld door – evolutionair gezien – nieuwe oplossingen. Daarom zijn de toepassingen waarin agents een rol kunnen spelen veel groter dan intelligente nieuwslezers. Niet alleen is door de komst van Internet en intranetten een gigantische information space ontstaan, maar ook een collectie virtuele werelden waarin momenteel veel taken matig tot slecht worden ondersteund. Kader 4 toont een overzicht van de diverse soorten ‘interface-agents’.
Alle soorten agents vergroten de tevredenheid van de gebruiker en beperken de benodigde leertijd. In het geval van de avatar krijgt de gebruiker een natuurlijke metafoor (namelijk een mens), waardoor zeer flexibel door de virtuele wereld kan worden bewogen. Men kan zich afvragen of de snelheid van de uit te voeren taken niet verminderd wordt (het ’teleporten’ in Active Worlds is een voorbeeld van een alternatief om tijdverlies door lopen te voorkomen). De assistent geeft tips, voorkomt fouten en laat verschillende manieren om bepaalde resultaten te bereiken zien. Het is de kunst de gebruiker niet te overvoeren met informatie, waardoor snelheid van gebruik verminderd wordt en geheugenbelasting toeneemt. De acteur dient wel relevante shows op te voeren, al kan amusement van tijd tot tijd de dagelijkse sleur verlichten.
De beheerder vermindert het aantal fouten door het geheugen- en apparaatbeheer op zich te nemen. Wat de secretaris met de beheerder gemeen heeft, is dat de processen van de agent niet transparant zijn. In het veld is dan ook een stevige discussie aan de gang over de wenselijkheid van autonome agents versus de wenselijkheid van totale gebruikerscontrole. Liefst dient men deze keuze aan de gebruiker zelf over te laten. Deze kan aangeven in welke mate hij zelf wil manipuleren, taken wil overdragen (delegatie) of zelfs alleen zijn agents wil managen (autonomie). Al met al is het toepassen van agents een volgende stap in het verder optimaliseren van interfaces.
De interface-agent kan ook enkele eigen, domein-specifieke doelen krijgen. Een assistent kan proberen de gebruiker een bepaalde applicatie te leren bedienen. Een acteur kan kennis over een bepaald bedrijf of product aan klanten overdragen. Verder kan een secretaris werknemers leren greep te krijgen op hun activiteiten door time-management. Uiteraard zijn de doelen van de gebruiker minstens net zo belangrijk als die van de agent.
Avatars
Voorbeelden van toepassingen van avatars zijn de avatars in Active Worlds om leeromgevingen te betreden (‘chatten’ met de docenten en het bekijken van de werking van object-georiënteerde frisdrank-automaten). Verdere voorzichtige toepassingen van assistenten zijn de ‘wizards’ in diverse ‘office suites’. Acteurs worden al voorzichtig gebruikt in amusement-omgevingen zoals Creatures. Windows kent al een tijdje de ‘System agent’: een stapje in de richting van de beheerder. Als secretarissen kunnen de informatie-filterende honden van Agentware Suite genoemd worden.
Een catalogus is zeer geschikt om te worden uitgebreid met een gids: een combinatie van assistent en acteur. De bezoeker wordt zo door de zee van informatie en mogelijkheden geloodst [5]. Interfaces van bestaande applicaties zijn verder te optimaliseren. Intranetten en virtuele werelden kunnen beter worden ontsloten. Adaptieve interfaces vormen de logische vervolgstap na de virtualisering van bedrijfsprocessen. De gebruiker wil niet meer functionaliteit en meer informatie; de gebruiker wil de juiste functionaliteit en informatie.
Joost Jonker, medewerker Kenniscentrum Cibit
Literatuur
[1] Shneiderman, Ben, Byrd, Donald & Croft, Bruce W., Sorting Out Searching: A User-Interface Framework for Text Searches, Communications of the ACM, Vol. 41, No. 4 (1998), pag. 95 – 98.
[2] Lieberman, H. & Maulsby, D., Instructible agents: Software that just keeps getting better, IBM Systems Journal, Vol. 35, No’s 3 & 4 (1996), pag. 539 – 556.
[3] Brenner, Walter, Zarnekow, Rüdiger & Wittig, Hartmut, Intelligent Software Agents: Foundations and Applications, Berlin [etc]: Springer-Verlag (1998), pag. 132 – 136.
[4] Beale, Russell & Wood, Andrew, Agent-Based Interaction, People and Computers IX: Proceedings of HCI’94, Glasgow, UK, August 1994, pag. 239 – 245.
[5] Goodall, Alex, Special Feature: IBM and Agents, AI Watch, Vol. 6, No. 11 (1997), pag. 1 – 18.
[6] Redmond-Pyle, David & Moore, Alan, Graphical User Interface Design & Evaluation (GUIDE), A Practical Process, London: Prentice-Hall (1995), pag. 69.
[7] Gentner, Don & Nielsen, Jakob, The Anti-Mac Interface, Communications of the ACM, Vol. 39, No. 8 (1996), pag. 70 – 82.
[8] Dale, R., Oberlander, J., Milosavlejevic, M. & Knott, A., Integrating natural language generation and hypertext to produce dynamic documents, Interacting with Computers, in voorbereiding.
Kader 1: Optimalisatie-criteria
Zes criteria om ontwerp en ontwikkeling van interfaces te optimaliseren [6].
1 Hoeveelheid fouten: Probeer het aantal fouten dat de gebruiker kan maken te minimaliseren. Zorg dat eventuele fouten te herstellen zijn.
2 Flexibiliteit: Zorg dat de bezoeker van de site op verschillende wijzen hetzelfde resultaat kan bereiken. Let er op dat het overzicht behouden blijft.
3 Snelheid: Zorg dat de klant zo snel mogelijk zijn taak kan uitvoeren. De nauwkeurigheid van de taak mag hieronder niet lijden.
4 Tevredenheid van de gebruiker: Stel de bezoeker in staat zo goed mogelijk het gewenste resultaat te bereiken. Verleen assistentie bij het verrichten van zijn taak.
5 Leertijd: Maak de informatiezoeker snel vertrouwd met de interface. Wees zo consistent mogelijk en sluit aan bij interface-standaards.
6 Geheugenbelasting: Belast het geheugen van de gebruiker zo min mogelijk. In zoverre de zoekopdracht het toestaat, is het op de automatische piloot uitvoeren van de taak te prefereren boven het bewust stap-voor-stap doorlopen ervan.
Deze factoren kunnen elkaar in de weg zitten, maar ze kunnen elkaar ook versterken. Meer flexibiliteit kan leiden tot meer fouten. Daarnaast kan minder geheugenbelasting een snellere leertijd betekenen. Bovendien verschilt het gewicht van deze factoren per te ondersteunen taak.
Kader 2: Anti-Mac interface
In hun nu al klassieke artikel ‘The Anti-Mac Interface’ noemen Gentner en Nielsen [7] een waslijst van beperkingen waar ontwerpers en gebruikers van een ‘gui’ tegenaan lopen. Een kleine selectie: metaforen blijven metaforen, directe manipulatie betekent zeer basale interactie en ‘zien-en-aanwijzen’ kent weinig uitdrukkingskracht. Voorts is totale gebruikerscontrole niet altijd wenselijk, is stabiliteit niet realistisch en saai, en wil de gebruiker zijn aandacht richten op de details van zijn taak, niet op het totaal.
Kader 3: Metafoor van het museumbezoek
In een museum kan de bezoeker zich laten begeleiden door een gids. De bezoeker wandelt langs de vitrines en krijgt informatie opgedist. De route van de wandeling en de inhoud van het verhaal worden mede bepaald door de bezoeker. Wat de gids bij een vitrine vertelt, hangt af van de route die tot dusver is gevolgd, de route die de gids nog in gedachten heeft, de vragen die de bezoeker stelt en het verhaal dat de gids tot dan heeft verteld [8].
Het verhaal dat de gids nog in gedachten heeft, is te vergelijken met de vormgeving van de doelen van de adaptieve interface. De vragen die de bezoeker stelt, onthullen als het ware de doelen van de gebruiker. De gevolgde route is vergelijkbaar met de interactiegeschiedenis. Het vertelde verhaal vormt de informatiegeschiedenis.Metafoor van het museumbezoek Adaptieve interfaces Verhaal van de gids Doelen van de agent Vragen van de bezoeker Doelen van de gebruiker Gevolgde route Interactiegeschiedenis Vertelde verhaal Informatiegeschiedenis
De oude metafoor van de zoek-interface is de kaartenbak. Deze is zeer bruikbaar (getuige de vele databases), maar op zichzelf erg passief. Iedere bibliotheekbezoeker weet dat de bibliothecaris tegenwoordig de klant graag helpt zoeken in de kaartenbakken of publiekscatalogus. In deze situatie assisteert de bibliothecaris de klant bij het formuleren van zijn zoekvragen om zodoende trefzeker te vinden wat gezocht wordt.
Kader 4: Soorten interface-agents
Grofweg zijn de verschillende soorten interface-agents onder te verdelen in de volgende soorten [4].Soort Kenmerken/taak Gebruikerscontrole Beschrijving Avatar representatief totaal De gebruiker kan zich bewegen in de virtuele wereld. De avatar is als een marionet. Assistent adaptief begeleidend enige: feedback Biedt af en toe de gebruiker aan kleine taken te verrichten. Probeert te achterhalen wat de gebruiker wil bereiken. Wil ook wel eens tips geven. Acteur demonstratief zeer weinig: show keuze Toont de gebruiker hoe bepaalde zaken werken, vertelt een verhaal of beeldt dat uit. Vermaakt de gebruiker. Beheerder autonoom, asynchroon weinig: opties en parameters Beheert resources en controleert processen voor de gebruiker (bijvoorbeeld zijn computer). Brengt zo nu en dan een status-rapport uit. De gebruiker wordt alert gemaakt op problemen of nieuwe mogelijkheden. Secretaris adaptief, onderzoekend (autonoom) elk gewenste hoeveelheid Filtert informatie voor de gebruiker op basis van het gebruikersprofiel. Is ook geschikt om structuur aan te brengen in het leven van de gebruiker door agenda en e-mail te beheren.
Het is mogelijk een ‘avatar’ te programmeren en de rol van ‘assistent’ of ‘acteur’ te geven. De avatar is een mooi voorbeeld van ‘agents’ als softwarerobots. De ‘assistent’ onderscheidt zich van de ‘secretaris’ doordat de assistent vooral probeert met de gebruiker samen te werken, terwijl de secretaris juist probeert voor de gebruiker te werken. Delegatie bij assistenten is veelal beperkter. Vaak beschouwen auteurs een assistent als een secretaris. Vanwege dit subtiele maar belangrijke onderscheid zijn het eigenlijk twee aparte soorten.