220 likes | 311 Views
VoicePortale Medienpraxis 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
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>