Traditionelt (det vil sige da jeg var en lille datalog) levede Human Computer Interaction (HCI) og Artificial Intelligence (AI) sammen. Det var lagt på vej et lykkeligt ægteskab, hvor de sammen forsøgte at løse det samme problem: nemlig det at få maskiner og mennesker til at samarbejde på en god måde. Skillet mellem HCI- og AI-folk var flydende. Desværre har disse to felter vokse fra hinanden. Hvilket egentlig er meningsløst da man stadigvæk prøver at løse det samme problem.
Min personlige tese er at der er to hoved grunde til dette: den tradition inden for HCI med stor vægt på affordance begrebet, og ubiquitous computing. Inden for traditionel HCI og affordance har man ikke rigtig taget ind over sig at man er på vej væk fra den traditionelle aktivt menneske og passivt værktøj til partnerskab med maskinen. Noget som er allerede er delvist realiseret inden for AI-verdenen.
Dette er meget bedrøveligt. Ikke mindst fordi at vores systemer er blevet pro-aktive. De kan indlede et samarbejde og i stor grad gøre ting autonomt. Dette leder naturligt til meget interessante udfordringer i forhold til netop interaktion. Både fysisk, men ikke mindst også vidensmæssigt. Det skal jo ikke være nogen hemmelighed at jeg er en stor fortaler for at systemer skal kunne rationalisere deres adfærd (et sikkert tegn på intelligens hvis vi spørger Kant).
Mark Weisers tanker er et eksempel på dette. Han har haft en enorm indflydelse på moderne HCI. Han er på mange måder grundlæggeren af “feltet” ubiquitous computing, som er pervasive computing, som er ambient intelligence, som er disappering computer, som er IoT? Kært barn har mange navne.
Det skal ikke være nogen hemmelighed at den gode Weiser havde en god indsigt i det faktum at de vigtige teknologier netop er dem som forsvinder i baggrunden. Desværre er hans tanke om at man ikke har behov for AI (“No revolution in artificial intelligence is needed - just the proper imbedding of computers into the everday world”) i bedste tilfælde naiv [The Computer for the 21st Century].
Et standard problemerne for et samarbejdende system er at tilpasse sig en situation. Møder er ofte et yndet eksempel i litteraturen. Ifølge Weiser selv er: “meetings, for example, consist of several people spending time in the same room…”. Det er da en meget grov antagelse.
Det er ret nemt at komme op med mange eksempler på at der kan være mange mennesker i det samme rum uden det er et møde (det kunne være frokost). Det er tilmed muligt at komme op med eksempler på et møde og andre mennesker i rummet som ikke er en del af mødet (pedellen er der også). Problemet ligger i at han tager sin egen tolkning af en situation (som man jo må antage er intelligent) og fører den ned i et computer system. Dette kalder man ofte et regelstyret ekspertsystem, og der er general enighed om at det sjælden er en god idé.
Desværre døde Weiser ganske ung. Jeg er overbevist om at hvis han havde levet længere ville han også have indset sin naivitet i den antagelse at man ikke trænger maskinel intelligens. Jeg tror at hans udtalelse om AI skal ses i lyset af at hans vigtigste artikel blev skrevet i 1991, og at han på det tidspunkt stadigvæk hang fast i den anakronistiske GOFAI (Good Old Fashion AI) tankgang.
Den planke folk ofte klamre sig til når AI forsværges er context awareness. Det må være det mindst veldefinerede begreb i historien. Jeg har en udemærket fransk kollega som samler på definitioner af context (altså inden for datalogi o.l. ligende felter). Ved sidste optælling havde han 189.
Der er mange problemer med denne term. Den første er context som har en kedelig tendens til at bruges som noget strukturelt. Nogle af de mest citerede arbejder om kontekst taler fundamentalt om en taksonomi (på en god dag). Det er oplagt at alle modeller har en strukturel komponent. Men det er nu engang det funktionelle som burde adskille kontekst fra et hvilket som helst andet input parameter. Ofte lave man en struktur og siger f.eks. position er kontekst, eller præferencer er kontekst.
Skoleeksemplet som ødelægger dette er en app som kan finde en restaurant (som du kan lide) nær dig. Hvis man nu vælger at gøre:
f(location) => listOfRestaurants
f(listOfRestaurants, preferences) => listOfPreferedRestaurants
Her er det oplagt at location ikke kan være kontekst. Det er et godt gammeldags input parameter. Derimod kan man føre et forholdsvis godt argument for at preferences er kontekst.
Man kunne naturligvis også vælge at gøre:
f(preferences) => listOfRestaurants
f(listOfRestaurants, location) => listOfPreferedRestaurants
I dette tilfælde er location nu blevet kontekst. Sidste chance er naturligvis:
f(location, preferences) => listOfPreferedRestaurants
Nu er der ingen kontekst, kun input parametre.
Dette eksempel har en tendens til at hisse folk op som så levere en mystiske forklaringer om at det er brugerens kontekst. Den er fin nok. Men et rigtigt brugbart system er nød til at kunne resonere om en brugers situation for at kunne vide hvad som er konteksten (i hvilken situation). Dette er essentielt hvis man skal have en fornuftig og intelligent interaktion med ens partner-system. Derfor er kontekst først og fremmest noget funktionelt.
Så her står vi så, strukturalister mod funktionalister. En sådan faglig fejde kan nemt holdes ved lige i umindelige tider. Men måske vi skal huske på hvad HCI og AI egentlig har som mål. Nemlig at lave systemer som er meningsfyldte for folk og tilfører dem værdi. Jeg har ingen tror på at gammel kærlighed ruster. Men måske den har behov for lidt WD40 og knofedt for at blomstre igen.
