5HD±HQNRQYHUVHUDQGH DJHQW,QJULG0nUWHQVVRQ LQJPD#VWXGHQWOLXVH
6DPPDQIDWWQLQJ I det här arbetet har jag tittat på Rea som är en gestaltad konversations (embodied conversation agent) agent som forskare på MIT skapat för att forska på att överföra mänsklig kommunikation till datorer. Rea försöker efterlikna det mänskliga beteendet som vi använder när vi kommunicerar med varandra. Att kunna se vems tur det är att tala, ge feedback och kunna hålla igång en diskussion. Att kunna avgöra vad det viktiga är i ett samtal och kunna bidra så att diskussionen går framåt. I och med att Rea ska kunna konversera så har jag även tittat på den mänskliga konversationen och vad som är så specifikt med den. Rea klarar att känna igen gester och 2
,nnehållsförteckning 1 Inledning... 4 1.1 Bakgrund mänsklig kommunikation... 4 1.2 Funktioner i stället för beteende... 4 1.2.1 Synkronisering... 4 1.2.2 Prepositions information och interaktions information.... 4 1.2.3 Växelverkan... 5 1.2.4 Efterapning... 5 1.3 Vad är en embodied conversation agent?... 5 2. REA en konversations agent... 5 2.1 Inledning... 5 2.3 Hur hon fungerar... 6 2.4 Tal och gester... 7 3. Arkitektur... 7 3.1 Diskurs modell... 7 3.1.2 De olika delarna... 8 5. Diskussion och framtid... 12 6. Källor... 13 3
,QOHGQLQJ %DNJUXQG±PlQVNOLJNRPPXQLNDWLRQ För att dessa agenter ska kunna fungera så bra som möjligt så måste de bygga på studier om hur vi människor kommunicerar ansikte mot ansikte med varandra. [3] En viktig aspekt för grunden för en konversation är att man kan visa att man förstår och är med i samtalet som man kan göra genom t.ex. hummanden. En konversations som kan använda sig av både positiv och negative feedback möjliggör för agenten att uppfatta missförstånd och initiera en lämplig funktion för att åtgärda detta [2]. Man tar upp fyra stycken mänskliga förmågor som man anser vara viktiga för dessa agenter att efterlikna: Att kunna känna igen och svara på verbala och ickeverbala input, kunna ge verbala och ickeverbala utdata, att kunna hantera olika funktioner i konversationer som att se vems tur det är att prata, ge feedback och återuppta saker och att slutligen kunna ge signaler om var man är i samtalet och kunna bidra med ny information för att föra samtalet framåt. [3] Man modulerade fem mänskliga konversationsegenskaper för att kunna demonstrera dessa mönster. )XQNWLRQHULVWlOOHWI UEHWHHQGH Även om konversationer kan ses som väldigt välordnade och styrda av regler så är inte en konversation en annan lik. Om man ska lyckas att bygga en modell som härmar den mänskliga kommunikationen kan man inte bara ta hänsyn till hur det ser att fungera på ytan eller hur vi beter oss, utan man måste lägga betoningen på att identifiera de fundamentala faserna och de högre strukturerna som bygger upp själva konversationen. De här elementen beskrivs sedan beroende på vilken roll eller funktion de har i kommunikationen. Typiska diskursfunktioner är att inbjuda till ett samtal, att turas om och att veta vems tur det är, att kunna ge feedback, kontraster och betoningar. Det är dock inte så lätt att bara dela upp och göra om dessa handlingar till funktioner eftersom de skiljer sig så mycket från samtal till samtal, mellan olika ämnen som diskuteras, för att inte tala om mellan olika kulturer. 6\QNURQLVHULQJ Beteenden som representerar samma funktion förekommer i synkronisering med varandra. T.ex. så kan en skillnad på när man nickar i en mening på 200 millisekunder göra en stor skillnad. Samma gest skulle kunna betyda något helt annat om den utfördes tillsammans med en annorlunda mening eller i ett annat sammanhang. [3] 3UHSRVLWLRQVLQIRUPDWLRQRFKLQWHUDNWLRQVLQIRUPDWLRQ Man delar in de olika inläggen i samtalet i prepositions (sats) information, och interaktions (växelverkande) information. Prepositions information är innehållet i diskussionen så som meningsfullt tal, men också gester och intuition som används för att komplimentera språket (t.ex. fisken jag fångade var MlWWH stor). Interaktions information består i sin tur av de delar i konversationen som är icke-verbala som huvudskakningar som visar att man är med i samtalet, och andra yttrande för att visa att man är med som t.ex. hummande. 4
Interaktions informationen är i korthet den funktion som är ansvarig för att hålla en öppen kanal mellan personerna som talar, medan prepositions informationen är det verkliga innehållet i samtalet [2]. 9l[HOYHUNDQ Det anmärkningsvärda med mänskliga konversationer är de olika tidsintervallerna som är involverade, en paus på 500 millisekunder i ett samtal ger den andre personen att på nått sätt visa att hon/han är med i samtalet medan den andre fortsätter prata och kan hålla på så i ett antal minuter. Bara vissa saker i en diskussion är gjorde med eftertanke, speciellt i långa samtal. Att bestämma vad man ska säga är något som kräver eftertanke men de gester eller ord man använder för att bara visa att man är med i samtalet är mer reaktiva respons. (IWHUDSQLQJ Att vi synkroniserar våra rörelser och handlingar med varandra så vi samarbetar i en konversation. Rea klarar inte av att göra detta men människor gör det lätt när de talar med henna, de börjar nicka med i hennes samtal och röra sig synkroniserat med henne.[3] 9DGlUHQHPERGLHGFRQYHUVDWLRQDJHQW" Embodied conversation agents (ECA), är agenter som försöker efterlikna det mänskliga beteendet som vi använder när vi kommunicerar med varandra. T.ex. kunna uppfatta verbala och icke-verbala input, och likaså kunna ge verbal och icke-verbal respons. Att kunna se vems tur det är att tala, ge feedback och kunna hålla igång en diskussion. Att kunna avgöra vad det viktiga är i ett samtal och kunna bidra så att diskussionen går framåt.[2] De flesta ECA är idag inte så jätte avancerade utan kan mest ses som underhållning och är inte bättre eller snabbare än text- eller ren språk gränssnitt. [1] Motivationen för att skapa dessa agenter är bland annat för att konversationen mellan människor är ett väldigt enkelt sätt att integrera med varandra då det är en färdighet som är medfödd och som vi tränar upp under hela livet [2]. Eftersom människor är så bra utrustade med att så lätt kunna konversera så kan embodied conversation agents bli en utmärkt sätt för oss att integrera med datorer. [3] Det ger oss också möjligheten att överföra information i mer än en modalitet och vi kan uttrycka oss bättre och förstärka de uttryck som vi tycker behöver förstärkas. Man har sett med undersökningar att människor har lätt för att ge datorer mänskliga attribut redan idag och en embodied conversation agent skulle fullt kunna utnyttja detta och vi skulle kunna använda datorn på ett lättare sätt [2]. 5($HQNRQYHUVDWLRQVDJHQW,QOHGQLQJ Rea är en dator genererad humanoid som har en artikulerad grafisk kropp som är designad att ge respons till tal, auditiv och visuella input, så som olika blickar, gester, ickeverbala ljud som ljud man ger ifrån sig när man förstått något. Systemet fungerar så att Rea visas på en skärm, i helfigur, och personen som hon integrerar med står mitt framför henne. Man har gett henne en människokropp som hon använder så 5
mänskligt som möjligt med olika ögonrörelser, kroppsställningar, olika ansiktsuttryck när hon pratar. Två stycken kameror är placerade ovanför projektorskärmen och de följer användarens huvud och handpositioner och användaren har en mikrofon för talupptagning. En SGI Octan dator sköter hela Reas grafik medan andra datorer tar han om taligenkänning och alstringen av hennes bild. Reas domän är en mäklaredomän (därav namnet, 5eal (state $gent) och hon ska efterlikna en verklig sådan, och hon visar hus för användaren. Hon är designad att leda mixade konversationer om olika hus och för att nå fram till användarens önskemål, och då också svara på användarens verbala och ickeverbala input som för konversationen framåt. Reas svar är baserade på en Eliza-liknande struktur (engine) som ofta speglar nyckeluttryck ur talarens sistnämnda yttrande, men man vill kunna implementera en naturligt språk och gest genererande struktur istället [2]. Rea kan beskriva de saker som hon visar i huset samtidigt som hon reagerar på användarens kroppspråk, tex. om användaren gör en gest som är typisk för att avbryta eller för att vilja säga något så avbryter Rea sig och låter användare tala medan hon väntar på sin tur att tala. Rea kan avbryta om hon inte förstår, med ansiktsutryck, gester och hon kan också språkligt lägga tonvikt på olika ord. figur 1. En användare som integrerar med Rea +XUKRQIXQJHUDU Den underliggande förståelsen för konversationer i Rea bygger på diskurs funktioner [2]. De input användaren ger i form av språk, görs om till konversations funktioner som Rea sedan matchar mot och använder för att ge tillbaka information, tal så att det passar med diskussionen så bra som möjligt. Baserat på den visuella informationen så kan Rea via att hon vet att en användare är närvarande och visar detta genom att vända sitt huvud honom/henne. Genom samma visuella information kan hon också veta om användare vänder sig bort från henne under konversationen och hon slutar då samtala med användaren tills den återigen vänder sin uppmärksamhet mot henne. Att ha koll på själva konversationen och att hålla reda på vem som talar och vems tur det är att tala sköter programmet genom en auditiv tröskel och det visuella systemet. Det fungerar som så att Rea avbryter sig så fort användaren börjar pratar, och den känner även av avbrytande 6
gester från användaren. När programmet planerar nästa steg så visar det visuella systemet detta genom att få Rea tittar bort från användaren när den planerar nästa drag och återupptar ansiktskontakten igen när och hon är redo att agera. [1] 7DORFKJHVWHU Rea kan också reagera på vissa ord som användaren använder. Hon reagerar också på gester och mappar gester med ord som användaren sagt samtidigt vid en viss tidpunkt, och taggar dessa ord. Orden kan Rea sen använda sig av i sin tur för att låta användaren förstå att hon är med i samtalet eller bara för att beskriva något mer ingående. Rea klarar inte av att härma gester som vi människor gör när vi kommunicerar med varandra.[3] $UNLWHNWXU 'LVNXUVPRGHOO När man ska behandla prepositions information så krävs det att man bygger en modell av vad användaren kräver och vet. Arkitekturen innehåller både en statisk kunskapsbas som behandlar agentens domän, i det här fallet en mäklar domän, men också en dynamisk diskurs kunskapsbas som behandlar det som redan har sagts. För att generera prepositions information så planerar systemet hur den ska presentera flermenings utmatning och hur den ska klara ordningen som den ska presentera fakta som är beroende av varandra. För att förstå interaktions information så bygger systemet en tillfällig modell av det aktuella tillståndet av konversationen med hänsyn till de konversationella processer inkluderat att veta vem som är den som pratar för tillfället och vem som är den som lyssnar, och se om den som lyssnar har förstått vad talaren säger. Kärnmodulen av Reas system opererar bara med funktioner, medan andra av systemet översätter input till funktioner och andra delar översätter funktioner till output. Detta arrangemang skapar en symmetrisk arkitektur eftersom samma funktioner och modaliteter finns både vid in och utdata. Indata accepteras från så många modaliteter som det finns indata sensorer, men sedan integreras dem till en enda semantisk representation som skickas från modul till modul. Semantisk representation, sparas i frames som har speciella platser för prepositions information och interaktions information, så alla reglerande och innehålls orienterade delar av konversationen behålls genom hela systemet. Detta beskrivs mer ingående nedan. 7
'HROLNDGHODUQD Rea består av en Input manager (IM), en Deliberative Module (DeM) och en Action Scheduler (AS). (se figur 2.) Deliberative modulen, kategoriserar olika beteenden beroende på vilken funktion de har i ett samtal och sedan bearbetas dessa och de olika tolkningar skickas sedan till handlings modulen (action scheduler). Input manager sköter tre former av input, Gester STIVE vision software skapar en 3D position och orientation av huvud och händer. Ljud en enkel ljud processor känner av när det kommer ljud och inte. Grammatik baserad tal igenkänning IBM ViaVoice retunerar text från en uppsättning fraser definierade av en grammatik. I alla fall där information sänds till IM märks informationen för tid för start och slut i millisekunder. De olika datorerna är synkroniserade med ett par millisekunder av varandra. Synkroniseringen är mycket viktig för att associera verbala och ickeverbala beteenden. Brister i sensorerna kan ha stora konsekvenser på funktionen av systemet då en försening på några millisekunder kan ha signifikant skillnad i konversationen. T.ex. om Rea dröjer med att svara ja, kan detta tolkas som osäkerhet av användaren. Målet är att minimera input och process fördröjningar som mycket som möjligt [2]. De olika händelserna lagras också och en KQML-frame skapas innehållande gester, tal och ljud. Detta skickas sedan vidare till UM. [1] IM och handlingsväljaren (action scheduler) kan också kommunicera direkt, genom en hårdvarulänk ( hardwire reaction connection ). Gester på den lägre nivån och ljud skickas direkt till reaktions modulen. Då kan den ge omedelbar respons på användarens eller systemets indata på under 200 millisekunder, ett exempel på ett sådant respons är att Rea följer användaren när den rör sig med ögonen. UM-understanding Module UM binder samman alla input modaliteter till en sammanhängandet tolkning av vad användaren antas göra baserat på det aktuella tillståndet i konversationen. DM Decision Module DM är den ansvariga komponenten som väljer handlingar för arkitekturen, vilket bestämmer vad agenten ska göra i alla tidsmoment. Den formulerar sekvenser av handlingar som kommer att genomföras under framtida utföranden (dålig översättning) för att göra eftersökta kommunikationer eller sökta mål. GM - Generation Module GM tar de komplexa handlingarna från decision-module genom att producera en eller flera koordinerade primitiva handlingar, som tal, gester eller ansisksuttryck, och skickar vidare dessa till AS Action Scheduling Här utförs alla handlingar. AS har ansvaret för att koordinera de olika handlingarna på den lägsta nivån. De tar alla de handlingarna som DM och GM skickar till den och utför dessa. [2] ECA har vissa likheter med multimodala system på det sättet att informationen från flera modaliteter måste bli integrerade till en enda representation av användarens tal.[2] 8
Alla meddelanden packas ihop till en KQML (the Knowledge Quering and manipulation Language) som kan se på följande sätt: (tell :sender UM :recipient DM :content (commact :sender USER :recipient REA :input [(speaking :state TRUE) (gesturing :state TRUE) ] :prop NONE :intr [ (takingturn) ] ) ) Sändare (Sender) och mottagare (recipient) beskriver vilka som det är som kommunicerar. Commact är en frame som innehåller och beskriver all information om hur, USER och Rea integrerar med varandra. Sändare- (Sender) och mottagarefältet (recipient) i (commact-) framen visar varifrån själva konversationshandlingen kom från och till vem den var riktad, i detta fall är det Rea eller USER, beroende om den är generad eller tolkad av Reas Decision Module (DM). Den generella process sekvensen är att Input Manager (IM) får ny information om vad användaren gör, den skapar då en ny frame med sändarnamn USER och mottagarnamn Rea, där den beskriver vilka beteenden som de auditiva och visuella sensorerna har upptäckt. Framen skickas sedan till Understanding Module (UM) som tolkar de upptäckta beteendena och fyller sedan i prop- (propositional) och intr- (interactional) fälten och skickar detta vidare till Decision Maker (DM). DM i sin tur kan välja att göra en ny frame där den sätter Rea som sändare och USER som mottagare istället och sen skicka framen vidare till Generation Module (GM). Här översätts de prop- och intr fälten till en serie low level behaviors som i sin tur skickar till AS (action scheduler). Den tar emot framen och sen koordinerar den det verbala och ickeverbala genomförandet. [1] Figur 2. Reas arkitektur. 9
([HPSHO: När en användare närmar sig Rea så reagerar först det stereoskopiska visuella systemet med att börja följa användarens huvud- och handrörelser. Det skickas då information från IM till UM och DM om att det är en person närvarande. Systemet sätter sig då i User present state och GM genera en inbjudan till en konversation genom att Rea tittar på användaren och ler. Svarar användaren med att säga Hello så svarar IM med att säga till UM att en röst har hörts. UM skickar sedan till DM att användaren har tagit sin turn. Den stannar sedan i det här stadiet tills användaren på något sätt meddelar att den har pratat färdigt och att det är Reas tur. UM får veta detta genom IM och en signal skickas om vilken action som ska väljas och i detta fall kommer det bli en hälsninghandling. DM skickar en sådan action till GM som delar upp hälsningshandlingen i en gest och ett tal och skickar det hela till AS som utför det. När detta sker så står programmet i Rea-turn men så fort handlingen är utförd så återgår programmet till ett öppetgolvstadie, där den är öppen för ny indata från användaren. Så fort användaren börjar tala igen så sätts programmet i User-turn. Figur 3. Samtalsturer Låt oss säga att användaren är intresserad av ett hus nära MIT och berättar detta för Rea som reagerar på följande sätt: Först lägger programmet märke till att det är en fråga om ett hus (SA-REQUEST-PLACE) och UM håller också i minnet att användaren sa att den ville bo nära MIT. DM matchar detta mot sin kunskapsbas för att se om det finns något som möter användarens förfrågan och hittar den en match, t.ex. Hus1, genereras en beskriv-hus-funktion samtidigt som detta sker så genereras också funktionen erbjud-hus. GM tar hand om all information som ska utföras och skickar det i slutskedet till AS, och huset visas bakom Rea samtidigt som Rea beskriver det. Innan hon gör detta söker hon kontakt med användaren som ser att hon vill säga något och han/hon låter henne fortsätta och hon stannar i Rea-turn. Om användaren gör en gest som för att avbryta Rea, reagerar DM med att ta bort beskriv-hus-handlingen men låter GM och AS fortsätta med det som de håller på med för tillfället för att låta Rea avsluta vad hon håller på med/säger. Gester från användaren har låg prioritet, detta för att Rea ska kunna avsluta det hon säger innan hon ger användaren turen att prata, medan tal från användaren behandlas som hög prioritet och GM och AS släpper alla sina handlingar och Rea låter användaren ta ordet direkt. [1] 10
Ett exempel på konversations funktioner här hur programmet gör när det gället vems tur det är: När Rea pratar och den andra personen avbryter med en gest så kommer den in som wanting turn -funktion, och om användaren istället skulle börja prata när Rea talar så kommer den in som en taking turn -funktion. När användaren gör en paus i samtalet på mindre än 500 millisekunder, så får Rea detta som en wanting feedback funktion där hon kan med nickningar eller andra mmm visa att hon är med i samtalet. När användaren slutar prata eller gestikulera tolkar programmet detta som en giving turn funktion. Om användaren fortsätter prata inom 500 millisekunder eller fortsätter att gestikulera så tolkas detta i sin tur som holding turn. [2] Specifika Rea Det är saker som skiljer Rea från andra embodied conversation agents, och det är det sätt hon speglas i organisationen av systemets arkitektur. Input accepteras från så många modaliteter som det finns indata kanaler. De olika modaliteterna är sedan integrerade till en semantisk representation (KQML frames) som skickas mellan de olika modulerna. KQML framen har olika fack för interaktions information och prepositions information så att de reglerande och innehållet för varje konversations akt kan bevaras genom hela systemet. Kategoriseringen av beteenden i form av deras konversations funktioner speglas organisationen av arkitekturen. 11
'LVNXVVLRQRFKIUDPWLG När dessa artiklar som har använts som källor till detta arbete skrevs så var Rea fortfarande lite klumpig i sitt tal[1]. Man vill förbättra hur hon uppfattar användaren för att sedan kunna använda hans beteende för att göra hennes bättre. En sak man tittar på är att kunna ha sensorer som följer huvudets och ögonens rörelser och separat från de andra visuella system för att räkna ut vart användaren ansikte är riktat. Med hjälp av denna information ska man kunna undvika att Rea avbryter sig när användaren gör gester som att nicka eller skaka på huvudet. För att Rea ska kunna fungera ännu bättre måste hon också bli bättre på att följa användarens beteende och härma detta vilket man har sätt att människor gör i riktiga konversationer [1] Man vill fortsätta att förbättra talet och att matcha ord så hon ska kunna delta i större diskussioner och i småprat. Kritik mot ECA säger att risken finns att dessa agenter kommer leda till långsammare responstid och förvirring för användaren. Detta baserat på att människoliknande datorer inte haft särskilt stor framgång tidigare. [3] 12
.looru 1. J.Cassell, T.Bickmore, L. Campbell, H. Vilhjálmsson, H.Yan (2001), ³0RUHWKDQMXVWD SUHWW\IDFHYRQYHUVDWLRQDOSURWRFROVDQGWKHDIIRUGDQFHVRIHPERGLPHQW knowledge-based system 2. J.Casell, T. Bickmore, M. Billinghurst, L. Campbell, K. Chang, H. Vilhjálmsson, H. Yan (1999), ³(PERGLPHQWLQ&RQYHUVDWLRQDO,QWHUIDFHV5HD 3. J.Castell, (2000) Embodied Conversational Interface Agents 13