1.29k likes | 1.47k Views
Dialogsystem. Logopediutbildningen VT05 Staffan Larsson sl@ling.gu.se Institutionen för lingvistik, GU. Översikt. Dialogsystem som gränssnitt Dialogmodellering Agenter och dialog TrindiKit och informationstillstånd Ett exempel: BeadieEye Frågebaserad dialoghantering i GoDiS
E N D
Dialogsystem Logopediutbildningen VT05 Staffan Larsson sl@ling.gu.se Institutionen för lingvistik, GU
Översikt • Dialogsystem som gränssnitt • Dialogmodellering • Agenter och dialog • TrindiKit och informationstillstånd • Ett exempel: BeadieEye • Frågebaserad dialoghantering i GoDiS • Dialogsystem och AAC
Vad är gränssnitt? • Teknologier som utgör kontaktytan mellan människan och maskinen • Tillåter kommunikation mellan människa och maskin • Exempel: • Skärm • Tangentbord • Mus • Talad dialog? • Gränssnittet bestämmer hur vi relaterar till maskinerna i vardagen
Språket som gränssnitt • Kan språket (det mänskliga, naturliga, talade) användas för att överbrygga gränsen mellan människa och maskin? • Hur? • Genom att få maskiner (datorer) att förstå mänskligt språk och kunna föra dialoger: detta är ett av målet för språkteknologin • Varför? • Talad dialog är – för människor - det mest naturliga sättet att interagera
Dialog och dialogsystem • Dialog: • interaktivt informationsutbyte med hjälp av naturligt språk • Dialogsystem: • Teknologier som möjliggör interaktion mellan människa och maskin med hjälp av (talad) dialog
Praktiska användningsområden (urval) • Demokratisering av teknologi • Dialog som gränssnitt till teknologi som annars hade varit för komplex • Fördel: kräver ingen teknisk fallenhet eller förkunskaper (utöver att kunna tala) • Kommunikationsstöd • För döva • För blinda • Andra funktionshinder • Möjliggöra kommunikation • Tal-till-tal-översättning
Varför är dagens dialogsystem inte bättre? • Exempel: SJ:s tidtabellsupplysning (020 757575), Tidpunkten (077 1414300) • Dessa systems förmåga att föra en dialog ligger ljusår från människans. Varför? • De utgår i stor utsträckning från maskinernas förutsättningar, inte från teorier om den mänskliga dialogförmågan!
Hur ska vi kunna bygga bra dialogsystem? • För det första: Vi måste förstå hur människor använder språk! • Wittgenstein (1889- 1951): • Språklig aktivitet är alltid förankrad i någon specifik mänsklig aktivitet! • Till varje aktivitet hör ett språkspel; ett språk som svenska är i själva verket en samling språkspel • För det andra: vi måste formulera våra teorier på ett sätt som är begripligt för en dator • Formalisering och simulation
Formalisering • Översättning till ett formellt språk • Exempel på formella språk • Matematik • Används för att formalisera bl a fysik • Logik • Programmeringsspråk, t ex Java • Formella språk är generellt sett extremt enkla och regelbundna • Detta gör att datorer kan ”förstå” dem
Simulation • Antag att vi har en teori om (en del av) den mänskliga språkförmågan • Hur ska vi ta reda på om den är sann? • Empiriska studier (lingvistik) • Studera insamlat språkligt material • Gör experiment • Simulering (språkteknologi / datalingvistik) • Översätt teorin till ett datorprogram (formalisera) • Kör programmet och se om beteendet är det förväntade • ”reverse engineering”
Dialogsystem som simulationer • Dialogsystem försöker simulera hela den mänskliga språkförmågan • Att uppfatta, tolka och förstå talade yttranden • Att resonera om vad som ska sägas och när det ska sägas • Att formulera och uttala yttranden
Två sorters språkteknologi? • ”Praktisk” språkteknologi • Förbättra gränssnitt • I princip ointressant huruvida man försöker efterlikna en mänsklig språklig förmåga • Simulerande språkteknologi / datalingvistik • En forskningsmetodik för att utforska den mänskliga språkförmågan • I princip ointressant huruvida resultatet är praktiskt användbart • Dessa sammanfaller i den mån det människolika också är det praktisk användbara • Det finns skäl att tro att möjligheterna att simulera hela den mänskliga språkförmågan är begränsad
Maskinen människan? • Descartes (1596-1650) • Djur är att betrakta som maskiner • Människan har en själ, och skiljer sig därför på ett fundamentalt sätt från djuren • de la Mettrie (1709-1751) • ”Maskinen människan” • Skillnaden mellan människa och maskin är en kvantitativ skillnad i komplexitet • Ingen fundamental skillnad!
Turingtestet • Kan en maskin vara intelligent? • Är ”artificiell intelligens” (AI) möjlig? • Turing (1912-1954): ”Turingtestet” • Testperson A får föra en dialog (via textterminaler) med B. • A:s mål är att försöka avgöra om B är en människa eller en dator • (OBS! Detta är en förenklad version av Turingtestet!)
Turingtest och dialogsystem • Enligt Turingtestet – vad är det fundamentalt mänskliga? • Förmågan att föra en dialog med naturligt språk! • Varför skulle detta vara fundamentalt? • Antagande: I talet visar sig alla andra mänskliga förmågor (direkt eller indirekt)
En svart låda • Turing behandlar i stor utsträckning psyket som en svart låda • Om vi lyckas simulera mänskligt beteende, betyder det att vår teori är korrekt? • Turing: Ja; alla eventuella skillnader är oväsentliga! • Fenomenologisk kritik (Dreyfus, Heidegger) : Nej; även om vi lyckats fånga de centrala iakttagbara aspekterna av det mänskliga psyket i datorn, så ÄR den inte en människa – vi kan inte veta att datorn fungerar som en människa inuti!
Heideggers projekt i Varat och tiden • Beskriv grunderna för det mänskliga varandet • Hur det är att vara människa • Detta kan enligt Heidegger bara göras ”inifrån” • H:s utläggning är ej avsedd att vara begriplig för någon som inte är människa • En sådan förklaring är inte möjlig, hävdar H.; det mänskliga går inte att förklara ”från scratch” • Ändå är det en sådan förklaring som eftersträvas inom AI-forskningen
Principargument mot ”artificiell intelligens” • (här: AI = att datorer skulle kunna förstå språk på samma sätt som människor gör det) • ”Religiösa” argument • Människan har en immateriell själ, vilket maskiner aldrig kan ha • Materiella argument • Varelser av silikon och metall kan aldrig vara sant mänskliga; till detta krävs kött och blod (och neuroner)
Fler principargument • Freudianska argument • Människor och maskiner har radikalt annorlunda konstitution och ursprung; detta ursprung (t ex barnets utvecklingsfaser) är fundamentalt för hur vi förstår världen och språket • Maskiner föds inte av två andra maskiner; de byggs • Fenomenologiska argument • Spädbarn är, strikt talat, inte människor; de måste först socialiseras in i världen • Maskiner socialiseras aldrig in i världen; de programmeras • AI kräver formalisering av tolkningsbakgrund, vardaglig omedveten praktisk förmåga att förstå världen • Men denna ”kunskap” är inte en samling fakta • Människor har en biologisk kropp som ligger till grund för deras sätt att förstå världen • AI förutsätter att intelligens kan abstraheras från kroppen
(Hur människolika ska maskinerna bli?) • Vill man verkligen efterlikna alla mänskliga engenskaper? • Freudianska felsägningar? • Dåligt minne? • Panikångest? Utbrändhet?
Principfrågan – i princip ointressant? • Är det egentligen intressant huruvida människor i princip är / inte är maskiner? Frågan om huruvida en dator kan tänka är inte mer intressant än frågan om huruvida en ubåt kan simma. (E. W. Dijkstra, 1930-2002)
Fel fråga? • Istället för ”Kan maskiner vara intelligenta”: • På vilket sätt kan maskiner vara intelligenta? • Hur simmar ubåtar?
Dialog i begränsade regelbundna domäner • Även om vi inte kan hoppas simulera den mänskliga språkförmågan.. • ...så kan dialogsystem fortfarande göra nytta för att förbättra gränssnitt till datorer och annan teknologi • Detta kan göras för relativt enkla och regelbundna domäner (resebyrå. programmera videon, ordbehandling...) • (Wittgensteins språkspel) • Men även om vi inte försöker simulera mänsklig dialogförmåga i datorn... • ...så måste den kunna delta i en dialog med en människa • detta kräver kunskap om mänsklig kommunikation och dialog
Dialogue modelling • Theoretical motivations • find structure of dialogue • explain structure • relate dialogue structure to informational and intentional structure • Practical motivation • build dialogue systems to enable natural human-computer interaction • (what is natural?)
Informal approaches to dialogue modelling • speech act theory (Austin, Searle, ...) • utterances are actions • illocutionary acts: ask, assert, instruct etc. • discourse analysis (Schegloff, Sacks, ...) • turn-taking, pre-sequences etc. • dialogue games (Sinclair & Coulthard,...) • structure of dialogue segments (rather than separate utterances) • can e.g. be encoded as regular expressions or finite automata • qna-game -> question qna-game* answer
Computational approaches implemented in systems and toolkits • finite state automata (CLSU toolkit, Nuance) • frame-based (Philips, SpeechWorks) • plan-based (TRAINS, Allen, Cohen, Grosz, Sidner, ...) • general reasoning (Sadek, ...) • information states (TRINDI: Traum, Bos, ...)
Why build dialogue systems? • theoretical: test theories (of human-computer dialogue) • e.g. what kind of information does the an artificial dialogue agent need to keep track of? • problem: complex system with many components • practical: natural language interfaces • databases (train timetables etc) • electronic devices (mobile phones,...) • instructional/helpdesk systems • booking flights etc • tutorial systems
What does a system need to be able to do? • speech recognition • parsing, syntactic and semantic interpretation • resolve ambiguities • anaphora and ellipsis resolution, etc... • dialogue management • how does an utterance change the state of the dialogue? • given the current state of the dialogue, what should the system do? • natural language generation • speech synthesis
Why spoken dialogue? • Spoken dialogue is the natural way for people to communicate • as far as possible, computers should adapt to humans rather than the other way around • (but humans will also need to adapt their conversational style) • important to enable system and user to communicate in a natural (human-like) way • mixed initiative • turntaking, feedback, barge-in • handle embedded subdialogues • ...
What’s happening with dialogue systems • Beginning to be used commercially • Limited domains • need to encode domain-specific knowledge; a general system would require general world knowledge • speech recognition is harder with large lexicon • Simple dialogue types • mostly information-seeking • Need to bridge gap between dialogue theory and working systems
Vad är en (artificiell) agent? • beteendebaserad defintion • autonomi: • agenter handlar utan direkt inblandning av människor eller andra, och har kontroll över sina egna handlingar och sitt eget interna tillstånd • social förmåga: • agenter interagerar med andra agenter (inkl. människor), bl a med hjälp av språk • reaktivitet: • agenter uppfattar sin omgivning (den fysiska världen, ett grafiskt användarinterface, internet...) och reagerar på förändringar i omgivningen • proaktivitet: • aganter reagerar inte bara på omgivningen, utan är också kapabla till målinriktat beteende och kan ta initiativ
Två huvudtyper av ramverk för artificiella agenter • ”Deliberative” • en agent har en explicit representerad symbolisk modell av världen • beslut fattas genom logiskt slutledning (mönstermatchning, symbolmanipulation) • teoribaserade • Exempel: General Problem Solver (Newell & Simon) • Reaktiv • ingen symbolisk modell • ingen komplex symbolprocessning • Exempel: situerade finita automater (Rosenschein & Kaelbling) • tenderar att vara ad hoc • det finns ocskå hybridteorier • ett reaktivt och ett deliberativt lager • Är människor reaktiva eller deliberativa? Eller kanske hybrider...
Attityder för deliberativa agenter • Privat • Social • Informationsattityd • kunskap / tro • Proattityd • handling, mål
Reaktivitet • Perception • agenter uppfattar världen genom sinnesorganen, vilket ger upphov till kunskap / trosföreställningar om världen • Privata informationsattityder • trosföreställningar (beliefs, B) • kunskap (sann berättigad tro) • Reaktion • kräver förmåga att agera
Proaktivitet • Initiativ • Agenter har behov, önskningar och avsikter och försöker ofta ändra världen utgående från dessa • Kräver • förmåga att planera • förmåga att bestämma sig • Privat proattityd: intention
Autonomi • agenter handlar utan direkt inblandning av människor eller andra, och har kontroll över sina egna handlingar och sitt eget interna tillstånd • Privata attityder (info- och proattityder): • trosföreställningar (beliefs, B) • önskningar/vilja (desires, D) • intentioner (I)
Social förmåga • Människor är också sociala varelser; de står i sociala relationer till varandra och agerar utifrån dessa • Sociala informationsattityder: • delad tro/kunskap (shared belief), • Sociala proattityder • skyldigheter (obligations) • åtaganden (committments), • rättigheter (rights) (?)
(Agenter och) dialog Kunskap för dialogagenter Informella approacher Formella ramverk
Typer av kunskap som behövs för att kunna delta i en dialog • sociala informationsattityder (delad kunskap) • statisk • generell världskunskap för att tolka yttranden • aktivitetsspecifik världskunskap • språklig kunskap; förmåga att tolka och konstruera yttranden, inkl. kunskap om talakter och dialogspel • dynamisk • privata och sociala attityder • dialogmodell; ``dialogprotokoll'’: håller reda på gemensamma antaganden, aktuella frågor, skyldigheter, referenter mm.
Hur ska kunskap representeras? • Kunskapsrepresentationsspråk, t ex FOL, semantiska nätverk, frames... • Kunskapsbas = mängd av statser + inferensregler • ontologier / typhierarkier (för begreppskunskap)
Hur mycket och vilken typ av kunskap som behövs beror på dialogtyp • enkel -> komplex • call routing • tidtabellsupplysning • databassökning • programmera video • instruktionsdialog (t ex ge vägbeskrivning) • förhandling • planera framtida aktivitet • vardagligt småprat (?)
Ramverk för dialogagenter • Finita automater • strikt ”flödesschema” från starttillstånd till sluttillstånd • i varje tillstånd är ett begränsat antal handlingar möjliga • Logikbaserade • Rationalitetsaxiom + inferens • axiomatiserad talaktsteori (i modallogik) • problem med komplexitet och avgörbarhet • Planbaserade • Planering & planigenkänning • talakter som planer • problem med komplexitet • Informationstillstånd • dialogdrag, dialogspel, uppdateringsregler • variabel komplexitet deliberativ <-> reaktiv • Dessa kan kombineras!
En (artificiell) dialogagent kan • interagera och kommunicera med andra agenter på ett koherent sätt • delta i dialoger (d v s kommunikativa utbyten med en längre sekvens av yttranden) om ett givet ämne med avsikten att uppnå ett gemensamt övergripande mål • Yttranden är handlingar som ändrar • mentala tillstånd • kontexten och dialogtillståndet
Interaktion på flera nivåer • Ide: modellera dialog som handlingar på flera nivåer • ej bara satsnivå (talakter) • 4 talaktsnivåer (Traum & Hinkelmann 1992) • turtagning • ”grounding” • bekräftelse att man förstår varandra • ”core speech acts” (traditionella illokuta akter) • Exempel: Inform, YNQ, Check, Eval, ReqRepair, RecAck • en CSA involverar flera agenter, eftersom de måste bekräftas • argumentationshandlingar (retoriska handlingar) • Exempel: Elaborate, Summarize, Clarify, Q&A, Convince, Find-Plan
What is TrindiKit? a toolkit for building and experimenting with dialogue move engines and systems, based on the information state approach not a dialogue system in itself
control DME module1 module… modulei modulej module… modulen • Total Information State • (TIS) • Information state proper (IS) • Module Interface Variables • Resource Interface Variables resource1 resource… resourcem