220 likes | 316 Vues
Explore the components and design of speech applications like voice portals, dialog systems, and natural language information systems. Learn about VUI design, VoiceXML, event handling, and voice application development. 8
E N D
VoicePortaleMedienpraxis II: EDV Tobias Göbel Bernhard Schröder
Einführung Speech/Dialog/Voice Applications Sprachdialogsysteme Sprachanwendungen Natürlichsprachliche Auskunftssysteme Voice-Portale . .
Dialogsysteme in der Praxis • „Einfache“ gesprochensprachliche Frage-Antwort-Systeme • I.d.R. keine (tiefen-)linguistische Verarbeitung • Keine Diskursanalyse • Form-Filling oder Menüstrukturen • Anwendungen: • Informationsportale • Auskunftssysteme • Telefonbanking • Entertainment ...
Die Komponenten eines Dialogsystems • Sprachsynthese (Text-to-Speech, TTS) • Automatische Konvertierung von orthographischem Text in gesprochene Sprache (= Soundfiles) • Alternativ: voraufgenommene Sprache verwenden • Spracherkennung (Automatic Speech Recognition, ASR) • Automatische Konvertierung gesprochener Sprache in (orthographischen) Text mit Hilfe von Grammatiken • [DTMF-Erkennung, Tonwahl]
Voice Browser • Parst und interpretiert die Dialogbeschreibungssprache (hier: VoiceXML) • Arbeitet die Dialoge prozedural ab, steuert Synthese und Erkennung
Beispielanwendungen Klingeltöne „talking t-zones“ Auskunftssystem Entertainment Informationsportal
Erstellung einer Sprachanwendung • Erstellung eines Konzepts • Was soll die Anwendung leisten • Wer soll die Applikation anrufen? (Benutzerprofile) • Voice User Interface (VUI) Design • Dialog Flow erstellen • Personas definieren • Prompts ausformulieren • Technische Realisierung • Implementierung des Dialogs (VoiceXML, Grammatiken etc.) • Verfeinerung des Dialogflusses • Deployment • Evaluation, Anpassungen Life-cycle Management
VUI Design • Verständliche, intuitiv nachvollziehbare Benutzerführung • Klare Navigationshinweise (je nach Design der Anwendung) • Wichtig: eindeutige Fragen stellen, die wenig Spielraum für allzu freie Antworten lassen • Beispiel: Klingeltöne • s. Soundfiles • Abwechslung durch „Random Prompting“
VUI Design: Event Handling • Event Handling: Abfangen bestimmter Ereignisse während des Dialogablaufs • NoInput: Der Anrufer schweigt, obwohl das System auf Input wartet (oder: das System hat ihn nicht gehört) • NoMatch: Der Anrufer sagt etwas, was nicht zur Situation/Frage passt ( was nicht von den aktiven Grammatiken gematcht werden kann) • Help: Der Anrufer verlangt nach weiteren Navigationshinweisen • Error: Laufzeitfehler (der Plattform) • Internetverbindung unterbrochen • Fehler in der Verarbeitung von Ressourcen zur Laufzeit (z.B. Syntaxfehler in Grammatiken) • ...
VoiceXML • Eine XML-basierte Sprache zur Beschreibung von natürlichsprachlichen Mensch-Maschine-Dialogen • Basiert auf Entwicklungen von Motorola (VoxML), IBM (SpeechML), AT&T und Lucent Technologies • Version 1.0 als W3C Note (05/2000) • Seitdem in der Hand der W3C Voice Browser Working Group • Version 2.0 als Candidate Recommendation (02/2003) • Formulare und Menüs als grundlegende Dialogkonstrukte
Dialogvarianten Computer: Herzlich Willkommen.Welchen Film möchten Sie sehen? Anrufer:Herr der Ringe Computer:An welchem Tag möchten Sie „Der Herr der Ringe“ sehen? Anrufer: Am Montag Computer:Wie viele Karten möchten Sie reservieren? Anrufer:Drei Computer: Ich reserviere für Sie drei Karten für „Der Herr der Ringe“ am Montag. Ihre Reservierungsnummer lautet... Directed Dialog Computer: Herzlich Willkommen bei der Kinokartenbestellung. Wie kann ich Ihnen helfen? Anrufer: Ich hätte gerne drei Karten für Herr der Ringe Computer: An welchem Tag möchten Sie „Der Herr der R... Anrufer: Am Montag Computer: Ich reserviere für Sie drei Karten für „Der Herr der Ringe“ am Montag. Ihre Reservierungsnummer lautet... Mixed-Initiative
Vor- und Nachteile • Directed Dialog: • Dialoge sind klar und eindeutig • Systemhinweise unmissverständlich • Dialoge wirken starr, unflexibel • Mixed-Initiative Dialog: • Dialoge wirken natürlicher • Dialoge können effizienter (=kürzer) werden • Fehleranfällig
Aufbau einer VoiceXML-Anwendung Application Application RootDocument Document Dialog Dialog Dialog Document Dialog Dialog Dialog Document Dialog Dialog Dialog
Menüs • Bieten eine Auswahl an Optionen, aus denen der Benutzer eine wählen kann <?xml version="1.0"?> <vxml version="1.0" application="root.vxml"> <menu id="main"> <prompt>Bitte wählen Sie: <enumerate/> </prompt> <choice next="#lehre">Lehrveranstaltungen</choice> <choice accept="approximate" next="#cl"> Informationen zur Computerlinguistik </choice> <choice accept="approximate" next="#phonetik"> Informationen zur Phonetik </choice> </menu>
Formulare • Sammeln Benutzereingaben • Form Items • Input Items: • <field>: Definition eines Formularfelds • <record>: Sprachaufnahme einer Benutzereingabe • <transfer>: Anrufweiterleitung zu einer anderen Nummer • <subdialog>: Ausführung eines Subdialogs („Function Call“) • Control Items: • <block>: enthält ausführbaren Code • <initial>: dient als Startpunkt für Mixed-Initiative-Dialoge
Formulare • Die Felder eines Formulars entsprechen Variablen, die gefüllt werden sollen • <field name=„stadt“> • Diese Variablen können verarbeitet werden: <if cond=„stadt==‚Bonn‘“> <goto next=„Bonn.vxml“ /> </if> <if cond=„stadt“> <goto expr=„‘wetter.vxml#‘+stadt“ /> </if>
Formular - Beispiel <?xml version="1.0"?> <vxml version="1.0" application="root.vxml"> <form> <block> <prompt>Herzlich Willkommen!</prompt> </block> <field name="stadt"> <prompt>Für welche Stadt wünschen Sie eine Wetterauskunft? </prompt> <grammar type="application/gsl"> [berlin bonn frankfurt hamburg stuttgart] </grammar> </field> . .
. . <field name="zeit"> <prompt>Für wann wünschen Sie die Vorhersage für <value expr="stadt"/>? </prompt> <grammar type="application/gsl"> [heute morgen übermorgen] </grammar> <catch event="nomatch noinput help"> Sagen Sie heute, morgen oder übermorgen </catch> </field> <filled namelist="stadt zeit"> <submit next="weather.php" namelist="stadt zeit"/> </filled> </form> </vxml>
VoiceXML Tutorials • W3C-Seiten • Homepage der Voice Browser Working Group: www.w3c.org/Voice • Spezifikation VoiceXML: www.w3.org/TR/voicexml20 • Tutorials/Referenzen • www.w3.org/Voice/Guide/ • www.voxpilot.com/help/helpTagref.html • http://cafe.bevocal.com/docs/tutorial • www.fi.muni.cz/~gazi/VoiceXML/tutorial.html • ...
Form Interpretation Algorithm • Beschreibt detailliert die Vorgehensweise von Voice Browsern bei der Abarbeitung eines Dialogs • Vier Phasen: • Initialization (Variablen, Zähler etc.) • Selection (Auswahl des nächsten Dialogelements) • Collection (Abspielen der Prompts, Aktivierung der Grammatiken, Sprach-/DTMF-Erkennung) • Processing (Event Handling, Verarbeitung der Eingabe) • Explizite Navigation durch • <goto>, <subdialog>, <submit> und <link> Loop
Grammatiken • Dienen zur Eingrenzung möglicher Benutzereingaben • Verbesserung der Spracherkennung • Haben Gültigkeitsbereich (Scope) • Es existieren verschiedene Formate <link next="menu.vxml"> <grammar>Hauptmenü</grammar> </link>