290 likes | 412 Vues
VoiceXML – stemmestyrede interfaces (Voice Extensible Markup Language). Hvorfor: Det er intuitivt, ambient og ”nomadisk” og alle kan tale Det kræver ikke investering i ny teknologi for brugeren Fremtidens – især telefoni-applikationer – vil kræve andre interaktionsformer
E N D
VoiceXML – stemmestyrede interfaces(Voice Extensible Markup Language)
Hvorfor: Det er intuitivt, ambient og ”nomadisk” og alle kan tale Det kræver ikke investering i ny teknologi for brugeren Fremtidens – især telefoni-applikationer – vil kræve andre interaktionsformer Teknologier bliver mindre og mindre Hvorfor ikke: Det kan være hunde-svært at lave (naturligt sprog er komplekst) Stemmen er ikke den mest diskrete interaktionsform Egner sig ikke til alle typer services Stemmestyring – pro et contra SAS bizzline
Spektret af stemmestyring Ring op! Brev - Hej mormor og morfar – jeg fik min første tand i dag... VoiceXML Få stemmer – rigtig mange udtryk Mange stemmer – få udtryk
Stemmestyring • IVR (interactive voice response): Målet er næsten naturlig tale • C: Velkommen til MegaBank, hvad kan jeg gøre for dig? • B: Øh, jeg vil gerne vide hvor mange penge jeg har på min konto. • C: Du har både en kassekredit og en lønkonto – hvilken af dem mener du? • B: Nå ja, det har jeg da også. Øh, kassekreditten • C: <oplæser saldo på kassekredit>
Forbigående oplysninger: ”Hvad sagde du/den?” Usynlighed: ”Hvad kan jeg sige nu?” Asymmetri: Hvem siger hvor meget? Talegenkendelsens kvalitet Talesyntesens kvalitet Lange lister er kedelige tidsrøvere GUI navne (f.eks. på knapper) er ikke talesprog Kalenderprogrammer bruger absolutte datoer – mennesker bruger tit relative Menuer gør funktionalitet synlig for brugeren i en GUI – ikke muligt i en VUI Udfordringer i VUI design
Middag Eksempel: Angivelse af tid Lidt over ti Efter-middag Kvart over tre – godt og vel ...i over-morgen På onsdag 14 dage... Sidst på ugen... Midten af november... I uge 13... Fem minutter over halv seks Sytten tredive
Design af stemmestyring (1/3) • Feedback og ventetid • Pauser til processering forvirrer brugeren • Tale er en langsom måde at videregive informationer • Behov for feedback på handlinger • Bekræftelse af fremsøgte data ”Var det den?” • Bekræftelse af handlinger der ændrer data ”Vil du gemme denne?” ”Vil du slette denne?” SJ Røstsvar
Feedback og ventetid (eksempler) • Brugeren skal kende nuværende tilstand • ”Regner maskinen stadig, eller venter den på at jeg siger noget?” • ”Hørte den mig overhovedet? Forstod den det?” • Eksplicit feedback • ”Vil du betale regningen til TeleDanmark Internet på 1647 kroner? Svar med ja eller nej” • Implicit feedback • ”For øjeblikket er vejret i Odense blæsende og koldt” SAS
Design af stemmestyring (2/3) • At spørge om det rigtige… • Afvejning mellem fleksibilitet og præcision • Få svarmuligheder => bedre genkendelse • Eksplicitte spørgsmål begrænser brugeren • Implicitte spørgsmål tillader fleksibelt input • Afkortning af spørgsmål • Trinvise spørgsmål kan øge hastigheden for eksperter og hjælpe begynderen • ...på den rigtige måde • Undgå ”min tur / din tur”-forvirring SAS
At spørge om det rigtige… • Eksplicit spørgsmål: • ”Sig ja, nej eller afbryd” • Implicit spørgsmål: • Bruger: ”Send mail til Kurt” • System: ”Mener du Kurt Thorsen eller Kurt Ravn?
Fejlhåndtering, eksempler • Øget hjælp • ”Hvilken dato?” bliver til ”Undskyld, gentag lige det. Gerne lidt tydeligere” bliver til ”Det forstod jeg ikke – prøv at sige datoen som dag-måned-år” • Skift til eksplicitte spørgsmål • ”Sagde du kassekredit? Svar ja eller nej” • Tillad brug af trykknapper • ”Du kan svare ja ved at trykke på ”1”, nej ved at trykke på ”2”
Brugerens rolle ved VUI design • Observation af dialoger • Lad brugerne tale sammen mens en bestemt opgave løses, og udtræk dialogens ”regler” (svarer til tænke-højt-metoden) • ”Manden i maskinen” • Lad en udvikler ”lege” stemmestyring • Og som sædvanligt • Kan brugerne rent faktisk løse deres opgaver gennem brug af applikationen? Nannas pizzabiks
Hvad er VoiceXML? • En anvendelse af XML • En sammenblanding af flere forskellige tale og telefoni relaterede teknologier. • Automated Speech Recognition (ASR) • Text-to-Speech Synthesis (TTS) • DTMF (Dual Tone Multi Frequency) • Interactive Voice Response (IVR)
Arkitektur Enterprise applikationer Databaser Messaging Data Middleware Session manager, ubruger profiler etc. Publishing engine Backend integration Business logik Præsentation Prompts Grammatiker Call Flow Tale-genkendelse Tale-verifikation Tale-syntese Tale Hardware Telefoni platform Servere
VoiceXML vs (X)HTML <?xml version=“1.0”?> <vxml version=“1.0” > </vxml> <html> <head><title>Vælg sektion</title></head> <body> </body> </html> <form id=”velkomst”> <field name=“selection”> <prompt> Vælg mellem Nyheder, Vejret eller Sport. </prompt> <grammar> [ nyheder vejret sport ] </grammar> </field> <block> <submit next=“valgt.jsp”/> </block> </form> <form id=”velkomst” action=“valgt.jsp”> <select name=“selection”> <option value=“nyheder”>Nyheder</option> <option value=”vejret”>Vejret</option> <option value=”sport”>Sport</option> </select> <input type=”submit” value=”Vælg” /> </form>
Dialoger 1/2 • Et VoiceXML dokument er sammensat af dialoger • To top-level dialog elementer • Forms: <form> • Menus: <menu> • Andre top-level elementer
Dialoger 2/2 • Directed • Dialogen følger den orden, som informationerne (form elementerne) optræder i • C: ”Vil du have adgang til din kassekredit eller budgetkonto?” • B: ”Kassekredit” • C. ”Vil du hæve eller overføre penge?” • B: ”Hæve” • Mixed Initiative • Dialogen har flere indfald og udfald • C: ”Velkommen til Mega Bank. Hvad kan vi hjælpe med?” • B: ”Jeg vil gerne overføre 1000 kroner fra min kassekredit til min budgetkonto” • C: ”Tak. Er det korrekt opfattet, at du vil overføre 1000 kroner fra konto XXXX-XXXX til budgetkonto XXXX-XXXX?” • B: ”Ja”
Mixed Initiative Dialog <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE vxml PUBLIC '-//Voxpilot/DTD VoiceXML 1.0//EN' 'http://dtd.voxpilot.com/voice/1.0/voxpilot_voicexml-1.0.dtd'> <vxml xml:lang="da-DK" version="1.0" > <property name="voxpilot.ttslang" value="da-DK-Nanna"/> <form id="pizza_order"> <grammar src="../grammar/pizza.gsl#ORDER" /> <initial name="initial1"> <prompt bargein="true">Velkommen til Nannas pizza biks. Må jeg tage imod din bestilling?</prompt> ..... Se hele eksemplet Se grammatikken Nannas pizzabiks
Form Items (1/3) • Field Items: Input fra bruger indsamles og videreføres i variable (field item variables)
Form Items (2/3) • Control Items: Blok instruktioner til gruppering
Form Items (3/3) • Events: Hvis input ikke matcher grammatik, kan følgende events benyttes.
Pro Det er en standard Generaliseret Velkendte og velafprøvede teknologier og teknikker Det virker! Contra Kræver adgang til gateway Understøttelsen af andre sprog end engelsk er ringe Microsofts opbakning er måske ikke helhjertet VoiceXML – pro et contra
VoiceXML – og de andre drenge i klassen • Diverse proprietære produkter – fx Phillips’ Speechmania • CCXML – Call Control eXtensible Markup Language • SALT - Speech Application Language Tags • W3C’s Voice Browser initiativ – modulariseret XHTML
Links og litteratur • www.w3.org/Voice/ • www.voicexml.org • www.alphaworks.ibm.com/tech/voicexml/ • developers.motorola.com/developers/voicexml/ • www.voxpilot.com (blot et eksempel på en voicegateway-udbyder) • ”How to Build a Speech Recognition Application” Bruce Balentine & David P. Morgan