Zum Inhalt springen

VoiceXML

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. Dezember 2004 um 15:17 Uhr durch 212.114.220.153 (Diskussion) (Analogien zum World Wide Web). Sie kann sich erheblich von der aktuellen Version unterscheiden.

VoiceXML (Voice Extended Markup Language) dient der Beschreibung von Dialog-Abläufen bei einem Sprachdialogsystem und ist eine Variante der Datenbeschreibungssprache XML. Sie ist besonders für Telefonanwendungen entwickelt worden. Seit März 2004 ist VoiceXML eine Empfehlung des World Wide Web Consortiums (W3C). Damit hat VoiceXML denselben Status als Web-Standard wie HTML. Das bedeutet, dass Anwendungen, die in VoiceXML entwickelt wurden, auf jeder VoiceXML-kompatiblen Sprachplattform laufen.

Um die multimodale Komponente von Sprachschnittstellen auszubauen, haben sich zwei weitere Dialogbeschreibungssprachen als Ergänzung oder Alternative zu VoiceXML entwickelt: SALT und X+V. Salt (Speech Application Language Tags) wurde von Microsoft initiiert und dient der stärken Verknüpfung von Sprachanwendungen mit den Inhalten und Verfahrensweisen des World Wide Web. X+V (XHTML plus Voice) setzt auf die Verschmelzung bestehender Sprache, um die Verbindung von graphischer und akustischer Nutzeroberfläche zu vereinfachen.

Historie

Bei den ersten Sprachanwendungen gab es keine Trennung von Applikation und Plattform. Dialogverläufe wurde genauso „hart verdrahtet“ programmiert und kompiliert wie beispielsweise die Schnittstellen zur Telefonanlage. Das hatte zwar den Vorteil, dass Sprachanwendungen in der Regel schnell erstellt werden konnten und zuverlässig liefen. Der Preis dafür war eine für heutige Begriffe unakzeptable Starrheit. Sollte beispielsweise ein Dialog geändert werden, musste der Anwendungsprogrammierer Eingriffe tief im Quellcode vornehmen.

In der neueren Sprachanwendungen wurde deshalb die Anwendung von der Plattform getrennt, so dass Dialoge einfacher gepflegt werden konnten. Jedoch waren (und sind es in vielen Fällen auch heute häufig noch) die Skriptsprachen oder Tools zur Beschreibung dieser Anwendungen proprietär – also von Anbieter zu Anbieter unterschiedlich.

VoiceXML ist eine Standisierungsanstrengung mit dem Ziel, zu einer einheitlichen Beschreibung von Sprachapplikationen zu kommen. Gleichzeitig ist es eine Schnittstellensprache, die zur Kommunikation zwischen Anwendung und Plattform genutzt werden kann.

Analogien zum World Wide Web

Vergleicht man VoiceXML mit HTML, dann gibt es eine Reihe von Parallelen. Wie HTML ist VoiceXML sowohl Beschreibungssprache als auch Schnittstellenstandard:

  • Man kann VoiceXML direkt nutzen, um Sprachanwendungen zu codieren, genauso wie man HTML direkt nutzen kann, um Benutzeroberflächen zu codieren.
  • Man kann die Anwendung aber auch mit einem proprietären Tool definieren, und daraus (dynamisch oder statisch) VoiceXML-Code generieren. Das entspricht der Verwendung eines Dokumentenmanagementsystems für die Pflege einer Webseite. VoiceXML wird in diesem Fall weitgehend auf seine Eigenschaft als Schnittstellenstandard reduziert.

Die Analogie hinkt allerdings beim heutigen Stand der Technik noch an einem wichtigen Punkt: Noch sitzt der VoiceXML-Browser (als Bestandteil der Plattform) nicht direkt im Telefon des Endkunden, sondern steht häufig (aus Effizienzgründen) sogar noch im gleichen Serverraum wie der Anwendungs-Server. Die Kommunikation zwischen Anrufer und Plattform geschieht über das öffentliche Telefonnetz. Damit ist für den Anrufer und oft auch für den Betreiber die Frage ohne große Bedeutung, mit welchem Standard Plattform und Applikation kommunizieren. Erst wenn aufgrund gestiegener Rechenleistung der Browser (und mit ihm zusammen insbesondere der Spracherkenner und die Sprachsynthese) auf dem Telefon Platz findet, ist die Frage der Standardisierung für den Anrufer (genauer: den Nutzer der Sprachapplikation) von wirklicher Bedeutung. Die Situation ist also heute in gewisser Weise vergleichbar mit der Frage, ob eine Benutzeroberfläche für eine lokal betriebene Anwendung in der Sprache HTML, oder etwa in Visual Basic realisiert werden soll.

Grenzen

VoiceXML wird interpretiert und ist deshalb nicht so schnell auszuführen wie kompilierte Programmiersprachen. Dieser Nachteil kann jedoch durch schnellere Hardware ausgeglichen werden.

VoiceXML ist – wie jeder Standard – ein Kompromiss. Das bedeutet, dass erwünschte Features möglicherweise nicht oder erst in einer späteren Version unterstützt werden. In diesem Fall kann VoiceXML jedoch durch proprietäre Ergänzungen ausgeweitet. Das verwässert die oben erwähnten Vorteile zwar etwas, ist jedoch immer noch praktikabler als wegen weniger Features gleich das gesamte System auf ein proprietäres Skript aufzusetzen.

Multimodale Anwendungen – also die Verbindung von Sprache und grafischer Ausgabe – werden derzeit von VoiceXML nur begrenzt unterstützt. Es gibt jedoch Tendenzen, die multimedial angelegte Dialogbeschreibungssprache SALT mit VoiceXML zum neuen Standard X+V zu vereinen. Dadurch würde diese Lücke geschlossen.

Siehe auch