Överblick Dialogsystem Del I Dialogsystemsarkitektur Människa-maskin-dialog jämfört med människa-människa-dialog Dialog-initiativ, barge-in, verifiering Dialogspecifikation Några svenska röststyrda tjänster Ett forskningssystem: GoDiS En dialogsystemsarkitektur Dialogsystemsarkitektur Talförståelse Signalprocessning (från ljudvågor till informationsvektor ) Taligenkänning (från vektor till sekvens av ord) Semantisk tolkning (bestämning av mening hos den igenkända ordsekvensen) Dialoghantering Vad göra med det användaren sagt? Vad blir systemets respons, systemets nästa handling(ar)? Utnyttja dialoghistorien Klargöra via subdialoger
Tal ut Talgenerering (generering av ordsekvens från systemets semantik) Talsyntes (generering av syntetiskt tal från ordsekvensen) Människa-maskin vs. Människa-människa Vad skiljer människa-maskindialogen från människamänniska-dialogen? (1) Begränsad förståelse av naturligt språk (Mer eller mindre) begränsad vokabulär Begränsad återkoppling Begränsad kunskap om världen, begränsad inferens-förmåga, brist på sunt förnuft Vad skiljer människa-maskindialogen från människamänniska-dialogen? (2) Begränsad social och känslomässig kompetens Begränsningar i modaliteter Taligenkänningsproblem (även om människor också kan höra fel) Dialog-initiativ Dialog-initiativ, barge-in, verifiering System-initiativ För system som inte används så ofta av samma användare Användar-initiativ Erfarna användare kan exv ge mycket och rätt information på en gång Blandat initiativ Användaren kan ta initiativet om hon vill, t.ex hjälp-funktioner
Barge-in = Användaren kan avbryta systemet Fördelar: Möjligt att avbryta långa systemyttranden Snabbare svar på systemfrågor av vana användare Problem Systemet kan bli avbrutet av bakgrundsljud Skilja på avbrott och återkoppling Verifiering Systemet bekräftar vad (det tror att) användaren har sagt, med möjlighet för användaren att korrigera Explicit verifiering S: Vart vill du åka? U: Till Skövde S: Du vill åka till Västerås. Stämmer det? Implicit verifiering S: Vart vill du åka? U: Till Skövde S: Vilken dag vill du åka till Västerås? Dialogspecifikation Dialogspecifikation Behavioristiska modeller (stimulus-respons) Ex. 60-talets Eliza, paranoid Perry Ändliga tillståndsmodeller Ex. CSLU toolkit Slot filling Ex. SJ (Philips) Informationstillståndsbaserade modeller Ex. GoDiS Planerings-/Agent-baserade modeller Ex. TRAINS, TRIPS Några svenska röststyrda tjänster
Några svenska röststyrda tjänster (1) SJ:s automatiska tågtidsupplysning (Philips) 0771-75 75 75 Västtrafik (?) 0771-41 43 00 SAS (SpeechCraft?) 0770-727 888 Storstockholms Lokaltrafiks trafikupplysning (SpeechCraft?) 08-600 10 00 Några svenska röststyrda tjänster (2) Telias nummerupplysning Autosvar 118 888 Bilregistret 077-114 15 16 LedigaRum hotellbokningssystem (Arico AB) SMHI:s väderlekstjänst (Speech Time) Ett forskningssystem: GoDiS GoDiS: Ett informationstillståndsbaserat system Ett informationstillstånd! en dialogdeltagares mentala bild av dialogen Ett informationstillstånd per dialogdeltagare Dialogdeltagare gör (dialog-)drag som uppdaterar informationstillståndet Exempel på dialogdrag: greet, ask, answer, inform, quit GoDiS-arkitekturen CONTROL GoDiS Informationstillstånd (IS) INPUT INTER- PRET UPDATE D M E SELECT GENE- RATE OUTPUT PLAN : StackSet(Action) PRIVATE : AGENDA: Stack(Action) BEL : Set(Prop) TMP : <same as shared> INFORMATION STATE BEL : Set(Prop) SHARED : QUD : Stack(Question) LU : SPEAKER : Participant MOVES : AssocSet(Move,Bool) DATABASE LEXICON DOMAIN KNOWLEDGE
Dialogexempel: normaldialogen S> Welcome to the VCR manager! S> Lets see. What can I do for you? U> I d like to add a program S> What channel do you want? U> Channel two S> What date? U> Today S> What time do you want to start recording? U> Six thirty S> What time do you want to stop recording? U> Seven thirty S> The program has been added Dialogexempel: ackommodering S> "Lets see. What can I do for you? " U> "channel five today" S> "Alright. add a program." S> "Lets see. Okay. channel five." S> "today." S> "What time do you want to start recording? " U> "from six thirty to seven thirty" S> "Okay. from six thirty." S> "to seven thirty." S> "The program has been added. " Dialogexempel: byta språk S> "Lets see. What can I do for you? " U> "add program" S> "Okay. add a program." S> "Lets see. What channel do you want? " U> "svenska" S> "Okej. " S> "Gå tillbaks till lägg till ett program. Vilken kanal vill du spela in? " U> "kanal ett" S> "kanal ett, är det korrekt? " S> "Så, Vilken kanal vill du spela in? " U> "English" S> "Okay. So, What channel do you want? " U> "channel one" Dialogexempel: korrigering S> "What can I do for you?" U> "Add program" S> "Okay. Add a program" S> "Lets see. What channel do you want? " U> "Channel six" S> "Okay. Channel five." U> "no" S> "not channel five. So, What channel do you want? " U> "channel six" S> "channel six?" U> "yes" S> "What date? "