Dagens lektion Mänsklig igenkänning Talteknologi och DialogSystem Talteknologi, VT 2006 Rebecca Jonson Mänsklig taligenkännning Talteknologi och Dialogsystem Demos! Kurssammandrag Labgenomgång Frågestund Dagens Litteratur WER: Human vs machines Jurafsky & Martin 5.10, 7.9, 15.5 (s573-577) kap 19-19.2 R.P. Lippman (1997) Speech recognition by machines and humans Taligenkänning mskiner/mskor Till skillnad mot ASR så kompenserar människor för många av de störande faktorerna i tal Förståelsen påverkas inte så mycket av brus/oljud/bakgrundsljud men för ASR är skillnaden enorm Skiljer lätt talljud från andra ljud Skiljer lingvistiska produktionen fr ån extralingvistiska Känner igen helt okända ord Mycket bättre på nonsensmeningar och siffror/bokstäver Anpassar lyssnandet till talarens röst/dialekt/frasuppbyggnad Anpassar lyssnandet snabbt till kanalen, omgivningen olika mikrofoner, bandvidd etc. Extrem skillnad när det gäller igenkänning av spontant tal: ASR= 43% WER Människor= 4% WER (på Switchboard Talkorpusen) Mänsklig igenkänning Flera processer i mänsklig igenkänning hj älper till att kompensera: Akustisk-fonetisk Syntax/Grammatik Semantik Pragmatik Prediktion Information om talaren Kunskap om ämnet/situationen Kontext på flera niv åer Omv ärldskunskap Dagens taligenkänning har en hel del att lära
ASR-försök att härma hur vi gör ASR delar upp talsignalen i flera frekvensband (dussintal) = Vårt hörselsystem gör samma sak, varje nerv i innerörat svarar mot olika frekvenser. Örat är dock extremt känsligt till olika frekvenser (skiljer flera tusen överlappande frekvensband). Ökning av frekvensbanden i ASR ökar ASR igenkänningsförmåga av tal men vi har realtidsbegränsning hos datorerna (CPU/RAM) ASRs tre variabler Talaroberoende Stor vokabulär (>60000 ord) Kontinuerligt tal Än så länge finns inget ASR system som kombinerar alla dessa tre egenskaper Framtiden kräver speaker independent, large-vocabulary continuous speech recognition Begränsningar ASR Brist på träningsdata Anpassar sig inte efter talaren Modellerar inte kunskapen som behövs för att förstå de ambiguösa och varierande fenomenen i talat språk. Processhungrigt och minneshungrigt. Kräver snabba datorer med mycket minne. Kräver snabba sökalgoritmer eftersom realtid. Prosodisk information utnyttjas inte Påverkas kraftigt av brus och kanalvariabilitet Begränsad intelligens och omvärldskunskap Leverar text även när vi egentligen inte vill ha diktering utan snarare en semantisk tolkning av akustiska data Framtidens ASR Integration ASR med Natural Language Understanding(NLU) Prosodisk information Anpassning av akustiska modeller till talaren under igenkänning. (Speaker Adaptation) Task-independence Lågnivå akustisk fonetisk analys (känna igen bättre utan kontext, nonsensmeningar) Robusthet och adaptering till brus och kanalvariabilitet Skilja på bakgrunds/extralingvistiska ljud och talsignal. Forska om spontant talspråk (talspr åksgrammatik?) Inlärning/Igenkänning av nya ord Nya typer av språkmodeller Pågående Forskning Talaradaptering Robusthet mot brus och kanalvariabilitet Confidence scores N-bästa omrankning/lattices Förbättrade språkmodeller (klassbaserade, LSA, bättre smoothing-tekniker) Hybrida lösningar grammatiker + SLM:er Forskning på spontant talspråk Language Identification/Multilingual Recognition Identifiering/Modellering av okända ord Använda webben som korpus till SLM ASU (automatic speech understanding)
ASU Automatisk språkförståelse Istället för tal-till-text konvertering så vill vi ha tal-till-koncept. Inte bara igenkänning (perception) utan också förståelse. Behöver inte känna igen allt i motsats till diktering utan fånga tolkningen av talarens yttrande ja, jajamen, japp answer(yes) Time flies like an arrow Parser output: That time passes as quicklyas an arrowpasses A command telling us to time flies the same way that an arrowtimes flies. Command telling us to time onlythose flies that are similarto arrows. Means that a type of flies known as time flies have a fondness for arrows Språkförståelse kräver både kunskap om relationer mellan ord och kunskap om ordens underliggande koncept. Kontext Normalt i ett ASU-system är domänen begränsad till en viss situation och kontext därför faller många varianter bort. Tolkningen av språk förenklas av domänrestriktionen För att förstå behöver man dock inte känna igen allt. Tolkningen kan bli densamma även om ett ord missas. Lägg till en låt på spellistan request(playlist_add) Jag vill l ägga till en låt till spellistan request(playlist_add) Parsning av tal I många system parsar man yttrandet för att få en syntaktisk representation som man lättare ska kunna tolka. Robust parsning: Tal följer inte alltid samma grammatik som text och ibland får man bara fragment av yttranden från taligenkänning vilket kräver annan typ av parsning Måste kunna extrahera disfluenser (tvekljud öh, felsägningar, repetitioner, omstart etc.) Which flights uhleave (pause) leave bef- after noon? Tal ogrammatiskt? och fragmentariskt Tekniker: Keywordspotting Semantiska grammatiker Djupare parsning i kombination med robustare tekniker Probabilistiska grammatiker (PCFG) Statistisk parsning Keywordspotting Ett försök att hitta en metod som tillåter kontinuerligt tal men som bara lyssnar till isolerade delar. Känner igen ord eller kommandon ur längre yttranden Exempel: Jag vill beställa en pizza Jag skulle vilja ha en pizza Öhm, en pizza skulle jag vilja ha ena Semantiska grammatiker Istället för att utgå från syntax så utgår dessa från semantiken för en viss domän. Är inte mer allmänna än att de täcker domänen. When does the flight 573 arrive in Atlanta? When does it arrive in Dallas? InfoRequest when does Flight arrive in City? Fångar it och matchar till Flight. En syntaktiskt parser skulle matcha it till en möjlig NP Problemet är att det är svårt att återanvända semantiska grammatiker
Speech Recognition Grammar Specification Standarder för grammatiker för taligenkänning är på gång i W3C I want to book a flight from Prague to Paris <book-flight> <depart>prague</depart> <arrive>paris</arrive> </book-flight> Vanliga parsningsmetoder Använder en vanlig grammatik för att parsa yttranden Blir ofta för restriktiv eftersom taligenkänning kan korrumpera input Används ihop med taligenkänningsgrammatiker och inte SLM:er eftersom man då bara får hypoteser som följer taligenkänningsgrammatiken Dialogdragstaggning Fungerar med samma metoder som ordklasstaggning men här taggar man hela yttranden till dialogdrag Statistiska metoder Maskininlärning Dialogsystem (DS) Datorprogram som gör det möjligt för oss att interagera med datorer med naturliga språk (såsom svenska, japanska etc). System som klarar längre dialoger, inte bara en fråga följd av ett svar och som låter användare tala någorlunda fritt (d v s inte bara kommandon). Det kan gälla både talad och skriven dialog liksom kombinationer av skriven/talad dialog. De är oftast begränsade till en specifik domän Multimodala dialogsystem blandar grafiska gränsnitt med dialog. Dialogsystem Svenska kommersiella DS Bilregistret (SpeechCraft): 077-114 15 16 SAS SpeechLine (SpeechCraft): 0770-727 888 SJ:s automatiska t ågtidsupplysning (Presector): 0771-75 75 75, välj 1 Sjöfartsverkets sjöväderupplysning (SpeechCraft): 08-612 54 40 Telias nummerupplysning Autosvar (Presector): 118 888 teliamobiles röststyrda aktietjänst (SpeechCraft): 4444 (endast för teliamobile-kunder) Västernorrlands länstrafik / Din Tur (SpeechCraft): 0771-511 513, välj sedan 1 Västtrafiks röststyrda tidtabellsupplysning (Sigma): 0771-41 43 00, välj 1
Dialogdesign Design genom egen inspiration: Tänk ut själv vad du tror användare skulle vilja göra och säga, fråga andra vad de tror, enkäter och intervjuer Design genom observation: Titta på hur vi gör i H-H dialoger i liknande situationer Studera transkriberade människa-människa dialoger (talkorpusar) Men H-H dialoger skiljer sig från H-M dialoger Design genom simulering: Wizard of OZ-experiment låt användare tro att de använder ett riktigt system men använd dig av en Wizard som låtsas vara ett system. Utgå från hur användarna betedde sig för att bygga systemet. Design genom iteration: Bygg en prototyp och testa den på användare. Bygg sedan en ny version utifrån testresultaten. Studera H-M dialogerna. Dialogsystem och Talteknologi Kombinerar ASR/TTS Kräver turtagningstekniker Verifiering: Vi måste försäkra oss att det vi fått från taligenkänningen är korrekt Felhantering: om det blivit fel som måste vi kunna komma på rätt spå r igen Vi måste tänka på vad systemet säger och hur det kommer på verka användaren. Vart vill du åka? Jag vill åka till Stocholm Vi måste se till att det systemet säger låter bra och uppfattas rätt (rätt fokus) Dynamiska språ kmodeller/grammatiker Till vilket telefonnummer vill du skicka sms:et? 0704543213 (anv ända en modell för telefonnummer) Vi måste kunna tolka det vi känner igen och tvärtom och kunna känna igen det vi pratar om. Turtagning När ska systemet (TTS:en) säga något? När ska systemet lyssna (ASR)? Turtagning ofta striktare än vad vi har i människa-människa dialog: systemet pratar till punkt, användaren kan börja prata först efter en stund (eller efter ett pip) och har en viss tid på sig för sitt yttrande Barge-in= användaren kan avbryta systemet För att kunna göra dialogen mer flytande använder man sig av Barge-in d v s man låter taligenkänning vara igång medan talsyntesen pratar så att användaren kan avbryta systemet. Ett problem är att systemet måste skilja på användarens medvetna avbrott och andra ljud (bakgrundsljud, extralingvistiska ljud, återkoppling fr ån användaren etc) Måste hålla reda på vart användaren bröt för att veta vad han hann höra Verifiering P g a att resultaten från taligenkänningen är tvivelaktiga så brukar dialogsystem kolla med användaren om de har uppfattat rätt med möjlighet för användaren att korrigera Explicit verifering S: Vart vill du åka? U: Till Västerås. S: Du vill åka till Borås. Stämmer det? Implicit verifiering S: Vart vill du åka? U: Till Västerås. S: Vilken dag vill du åka till Borås? Användarbeteende Några typer av användare: Fru Pratig: Hej, jag ska äntligen på semester och tänkte boka en resa till någon varm plats. Hur är vädret I Brasilien? Herr Kryptisk: San Fransisco temperatur Fröken Fåordig: tio När saker går fel När saker går fel så brukar användare: Hyperartikulera Tala långsammare Göra pauser mellan ord Tala högre Ändra fokus vilket INTE hjälper taligenkänningen!
Speech Browser Opera Diktering Dragon CALL-system Listen Dialogsystem GoDiSApplikationer Demo-session Opera Speech browser www.opera.com Gratis talbrusare för engelska Gör det möjligt att surfa på nätet med talkommandon: Gå till en viss sida Få text uppläst Zooma ut/in, reload Gå längst ner/högst upp på sidan Klicka osv. Kan användas på talsajter Möjlighet att lägga till egna kommandon Diktering Finns många gratis dikteringssystem på nätet. Dragon är kommersiellt och anses vara det bästa dikteringssystemet (tillhör Scansoft idag). Project LISTEN (Literacy Innovation that Speech Technology ENables) is an inter-disciplinary research project at Carnegie Mellon University to develop a novel tool to improve literacy an automated Reading Tutor that displays stories on a computer screen, and listens to children read aloud. http://www-2.cs.cmu.edu/~listen/ Demo GoDiS-applikationer AgendaTalk DJGoDiS (mp3spelare) VideoGodis LightGoDiS Dico (mobiltelefon) mfl Kursbeskrivning Kursen ger en introduktion och översikt till talteknologi ur ett datalingvistiskt perspektiv. Kursen tar upp grunderna för text-till-tal-analys, talsyntes, taligenkänning och ger en inblick i talspråkets karakteristika.
Kurssammanfattning Användningsområden för talteknologi Kort historik om talteknologi Talperception och talproduktion Talets akustik Spektrogram och Källa-Filter teori Digital Signalbehandling Analog till digital signal sampling/kvantifiering Delarna i ett TTS-system Textanalys (TEXT -till-ord) Tokenisering TTS Homografdisambiguering Lingvistisk behandling (ORD-till-SEGMENT + prosodi) Uttal frasering Talsyntes (SEGMENT + PROSODI TALSIGNAL) Konkateneringssyntes Formantsyntes Artikulatorisk syntes Talande huvuden Konkateneringssyntes Segmentdatabas Hitta rätt segment: Unit selection Limited domain Återsyntes: LPC, PSOLA, MBROLA Jämf örelse av syntesmetoder Utvärdering av talsyntes Talsyntes och prosodi i dialogsystem, mark- up spr åk (Stinas lektion) Sannolikhetslära Sannolikhetslärans grunder Betingade sannolikheter Bayes lag Statistiska metoder Markovmodeller (HMM:er) ASR Varför ASR är så svårt? Parametrisering av talsignal i ASR (mfcc-analys, vektorkvantisering) Mönsterigenkänning Talarverifiering/Talarigenkänning Dynamisk programmering (DTW, minimum edit distance) Taligenkänningssystem (HMM-system) Sannolikhet i ASR: P(Ord Akustik) HMM:er P(Akustik Ord) Språkmodeller P(Ord) och Taligenkänningsgrammatiker (Nuance) Avkodning: Viterbialgoritmen, N -bästa Utvärdering av ASR-system Word Error Rate Perplexitet Prestanda Talarberoende/talaroberoende, vokabulär, typ av tal Mänsklig taligenkänning vs automatisk taligenkänning Taligenkänning i dialogsystem (ASU) Talteknologiföretag (http://www.speechtechmag.com) AOL AT&T Acapela (Swe) Scansoft (Swe) IBM Apple Microsoft Loquendo Nuance NTT Philips SpeechWorks Tellme Fluency Linguamatics Pipebeach (Swe) VoiceProvider (Swe) Telia Research (Swe) Artificial-solutions (Swe) Telefonica R&D Voxit (Swe) Dialogue Technologies (Swe) Lab 3: Skriva Nuancegrammatik Skriva en NuanceGrammatik för någon av följande domäner. Talande MP3-spelare Talande filofax
Steg i labben! 1. Fundera ut/samla in användaryttranden i domänen. Vad skulle man vilja säga till en MP3-spelare och Filofax. Hur tror ni användare skulle formulera sig? Försök fånga varianter av formuleringar för samma koncept. Exempel videodomänen: 1. Jag vill spela in en film 2. Kan du inte spela in en film åt mig 2. Fånga dessa i en NuanceGrammatik. 3. Kompilera grammatiken och testa. (testa med tal, med parse-tool, genom att generera del av grammatiken) 4. Byt taligenkänningspaket med en annan grupp (annan domän) och utvärdera varandras paket. 1. Spela in 20 domä nyttranden per gruppmedlem med transkription 2. Kör batchrec med paketet 5. Skriv en kort rapport om hur ni har gått tillväga. 1. Vad ni tycker ni har lyckats fånga, vad som saknas i er grammatik. Redogör för utvärderingen av den andra gruppens taligenk ä nningspaket (WER). Verkar deras grammatik täcka st örre delen av dom änen?