Joakim Nivre 1 / 34
Interaktiva datorsystem Kommunikation på (talat) naturligt språk Dialog mellan system och användare Gränssnitt mellan tillämpning och användare 2 / 34
Tillämpningar Samtalsstyrning ( fritt tal ) Frågebesvarande system (väder, sport, etc.) Röststyrning i mobila enheter Inlärningssystem Speltillämpningar 3 / 34
Varför? Kostnadseffektivt ersätta människor Ökad frihet ersätta skärm och tangentbord/mus 4 / 34
Hur fungerar samtal? Några viktiga aspekter: 5 / 34
Yttranden Vi talar inte i grammatiska meningar 01 M: Bork 02 P: ja tjena Magn:u[s 03 M: [ja men tjenare Per 04 P: ha (.) i [morron- 05 M: [(rolit) å höra din röst 06 P: i morron kväll ä de dags 07 M: i morron kväll e ja= 08 P: =ha 09 (1.0) 10 M: ja får väl säja ett återbud 11 P: va? ((chockat)) 12 M: (för) ja har fått träningsvärk 13 P: a dra du åt helsike Överlappande tal, oavslutade meningar, omtagningar... 6 / 34
Mänsklig dialog är mer systematisk än den (ibland) ser ut : deltagare turas om att tala Hur vet man vem som ska tala härnäst (och när)? Långa överlapp är ovanliga, liksom långa pauser Närhetspar: tvådelade strukturer med tydlig turtagning fråga-svar hälsning-hälsning erbjudande-respons... 7 / 34
sregler Generella regler: 1. Om den nuvarande talaren A utser B som nästa talare, måste B ta i nästa tur 2. Om A inte utser någon nästa talare, kan vem som helst ta nästa tur 3. Om ingen annan tar turen, kan A fortsätta att tala 8 / 34
Gemensam grund Gemensam grund: det talarna gemensamt tror om samtalet En dialog är en serie relaterade yttranden Deltagarna måste etablera en gemensam grund Lyssnaren måste visa förståelse av talarens yttranden 9 / 34
: olika sätt för lyssnaren att visa förståelse 1. Fortsatt uppmärksamhet: B visar att hon fortsätter lyssna och därför godtar A:s yttrande 2. Relevant ny tur: B startar på en relevant ny tur (t.ex. fråga-svar, hälsning-hälsning) 3. Feedback: B nickar eller säger mm, ja, absolut 4. Omformulering: B visar sin förståelse genom att parafrasera vad A sagt eller att avsluta A:s yttrande 5. Repetition: B upprepar ordagrant vad A sagt 10 / 34
Exempel på grundning Repetition: Feedback: A: Jag ska åka i maj. B: Och vilken dag i maj? A: Jag vill resa från Uppsala. B: Okej. Negativ grundning: A: Jag vill resa till Göteborg i tid för Bokmässan. B: Förlåt, jag uppfattade inte när du ville åka. 11 / 34
En dialog kan ses som en serie drag, som i ett spel 1. Vissa yttranden är initiativdrag Påstående ( den sista föreläsningen var tråkig") Uppmaning/förslag ( vi går och fikar ) Fråga ( har du planerat något till helgen? ) 2. Andra yttranden är responser på initiativ Instämma med ett påstående ( ja, supertråkig") Acceptera ett förslag ( ja, jag är jättehungrig ) Svara på en fråga ( nej, inget särskilt ) 3. Andra är responser för dialoghantering Säga "va om man inte hör Säga "vad menar du? om man inte förstår Säga "jag menade inte så om man blir missförstådd 12 / 34
Talhandlingar Vilken funktion har ett yttrande? Yttranden jämställs ofta med handlingar (Austin 1962) Det finns t.ex. performativa verb; genom att uttala dem utför man en handling Jag döper detta skepp till Titanic. Härmed förklarar jag er man och hustru. Jag slår vad om att Sverige vinner VM. 13 / 34
Tahandlingar Talhandlingsbegreppet kan användas för att förklara vad som händer när man t.ex. säger kan du skicka saltet?" Till formen är yttrandet en fråga Men talhandlingen är oftast en artig uppmaning Talhandlingar kan analyseras i förvillkor och effekter Exempel: informera om att tentan är på fredag Förvillkor: talaren vet att tentan är på fredag lyssnaren vet inte att tentan är på fredag Effekt: lyssnaren vet att tentan är på fredag representerar ofta talhandlingar på detta sätt för att kunna resonera om om användarens avsikter 14 / 34
Indirekta talhandlingar Talhandlingar kan vara direkta eller indirekta Direkt: form och funktion stämmer överens A: Ta ut soporna, så är du snäll. (imperativ form och funktion ) Indirekt: form och funktion är olika A: Kan du ta ut soporna (interrogativ form och imperativ funktion ) A: Soporna står fortfarande i hallen. (deklarativ form och imperativ (?) funktion ) Hur kan en dator förstå detta? 15 / 34
: Grices maximer Även indirekta talhandlingar är ofta lätta att förstå Vi följer vad Grice (1975) kallade maximer för samtal Alla maximer bygger på samarbetsprincipen alla talare försöker bidra till samtalets syfte Vi använder maximerna för att dra slutsatser om vad talaren menar 16 / 34
Kvantitetsmaximen Kvanitet: Var exakt så informativ som krävs Var tillräckligt informativ (givet samtalets syfte) A: Var är Lisa? B: Hon är i köket. B tror att A hittar till köket Var inte mer informativ än som krävs A: Var är Lisa? B: Hon är i köket och hon har tagit ut soporna. B tror att A vill fråga Lisa om hon tagit ut soporna 17 / 34
Kvalitetsmaximen Kvalitet: Försök att säga sanningen Säg inte sådant du tror är falskt Säg inte sådant som du inte har stöd för A: Var är Lisa? B: Hon är i köket eller i vardagsrummet. B vet inte i vilket rum Lisa är (jfr Kvantitet) 18 / 34
Relations- och sättsmaximen Relation: Var relevant A: Var är Lisa? B: Det är fint golfväder i dag. B tror att A är på golfbanan Sätt: Var tydlig A: Var är Lisa? B: I det rum som är avsett för kulinariska aktiviteter. B vill att Patrik, 2 år, inte ska förstå att Lisa är i köket 19 / 34
Ett av de mest kända ska systemen är Utvecklat av Joseph Weizenbaum på 1960-talet Simulerar en psykoterapeut Användaren skriver yttranden och ger respons För många är testet för ett system hur människolikt det är: Om jag kan avgöra att jag interagerar med en dator, så har det inte klarat Turing-testet 20 / 34
Exempelsamtal Från Weizenbaum (1966): USER: : USER: : USER: : USER: : USER: : Men are all alike. IN WHAT WAY? They re always bugging us about something or other. CAN YOU THINK OF A SPECIFIC EXAMPLE? Well, my boyfriend made me come here. YOUR BOYFRIEND MADE YOU COME HERE He says I m depressed much of the time. I AM SORRY TO HEAR YOU ARE DEPRESSED It s true. I am unhappy DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY 21 / 34
Demonstration i Emacs = M-x doctor 22 / 34
Hur fungerar Det finns många olika implementationer av, men de fungerar alla på samma sätt: 1. Transfomera input för att ändra perspektiv från I till you 2. Utför mönsterigenkänning 3. Byt ut nyckelord i burkade fraser eller använd en generell burkad fras De kan även hålla reda på en större eller mindre del av det föregående samtalet 23 / 34
ALICE ALICE är en mer avancerad chatterbot, som vann Loebner-priset 2004 Loebner-priset = 100 000 dollar till det system som först klarar Turing-testet Varje år ges ett pris på 2000 dollar till det mest människolika systemet Ni kan prata med ALICE på: http://alice.pandorabots.com/ 24 / 34
Chatterbots som och ALICE bygger på väsentligen på mönstermatchning och burkad text bygger på: Mer lingvistisk kunskap Mer kunskap om dialogstruktur Mer kunskap om världen (inom en begränsad domän) 25 / 34
Arkitektur Ett typiskt består av 6 komponenter: 1. Taligenkänning (ASR) 2. Talsyntes (TTS) 3. Språkförståelse (NLU) 4. Språkgenerering (NLG) 5. 6. Uppgiftshantering 26 / 34
Taligenkänning Översätta tal (yttranden) till text (strängar av ord) Kräver kunskap om fonetik och fonologi Bygger på statistiska modeller (t.ex. HMM) Utmaningar: 1. Variation i talsignalen (språk, kontext, talare, kanal) 2. Hantera kontinuerligt tal 3. Hantera stora ordförråd 4. Hantera vilka talare som helst 27 / 34
Talsyntes Översätta text till tal Två huvudmetoder: Förinspelat (burkat) tal med eller utan inklippta bitar Du har femton nya meddelanden. Text-till-tal-syntes Grafem-fonem-konvertering Talgenerering (konkatenativ syntes) 28 / 34
Språkförståelse Översätta text till semantisk representation Jag vill resa till Göteborg. want(u, go(e, u, gbg) Kräver kunskap om morfologi, syntax och semantik Särskilda krav på robusthet p.g.a. talspråkets egenskaper (tvekljud, omtagningar, avbrott m.m.) och taligenkänningsfel 29 / 34
Språkgenerering Översätta semantisk representation till text want(s, inform(u, t : want(u, [go(e, u, gbg) AND time(e, t)]))) När vill du resa till Göteborg? Kräver beslut om ordval och syntax De flesta av dagens system använder enkla mallar 30 / 34
Kärnan i ett Tar emot input från ASR + NLU Interagerar med uppgiftshanteraren Genererar respons till NLG + TTS Metoder: 1. Finita automater fast dialogstruktur 2. Ramar (eng frames) flexibel dialogstruktur 3. Planer och informationstillstånd mot mänsklig dialog 31 / 34
med finita automater S: What is your destination? U: London. S: Was that London? U: Yes. S: When do you want to travel? U: Friday. S: Was that Sunday? U: No. S: When do you want to travel? 32 / 34
med ramar S: What is your destination? U: London. S: When do you want to travel? U: Friday. S: What is your destimation? U: I want to go to London on Friday around nine in the morning. S: I have the following connection... 33 / 34
Sammanfattning har många praktiska tillämpningar Talspråk är naturligt men ger stora tekniska utmaningar Det kommer att dröja innan vi får en dator som förstår dig som din mamma 34 / 34