VoiceXML

VoiceXML（VXML）は、人間とコンピュータの間の音声のやり取りを記述するもので、W3Cの標準XMLフォーマットの一種である。視覚的アプリケーションをHTMLが記述するのと同じような方法で、音声アプリケーションの開発や配布を可能にする。HTML文書がWebブラウザで解釈されるように、VoiceXML文書はボイスブラウザで解釈される。典型的な応用としては、電話での音声案内などがある。
用途.
商用 VoiceXML アプリケーションは、毎日数百万の電話呼び出しに応答して処理している。例えば、注文問い合わせ、貨物追跡、運転方向指示、緊急通知、モーニングコール、フライト追跡、電子メールへの音声アクセス、顧客関係管理、薬の補充、音声ニュース雑誌、音声ダイアル、不動産情報、電話番号案内などに利用される。
VoiceXML には、ボイスブラウザに対して音声合成、自動音声認識、対話管理、音声再生などを指示するタグがある。以下はVoiceXML文書の例である。
VoiceXMLインタプリタがこれを解釈すると、"Hello world" という音声が合成出力される。VoiceXMLページの転送プロトコルには通常、HTTP が使われる。アプリケーションによっては静的VoiceXMLページを使うが、Tomcat、WebLogic、IIS、WebSphereなどのアプリケーションサーバを使って動的に生成することもある。うまく設計されたWebアプリケーションでは、音声インタフェースも視覚インタフェースも同じビジネスロジックを共有できる。
従来、VoiceXMLプラットフォームのベンダーは実装を独自に拡張していた。2004年3月16日、W3C勧告として VoiceXML 2.0 が承認され、そういった差異についても標準を与えることになった。この標準を推進する業界団体 VoiceXML Forum は、実装が標準に準拠しているかどうかを調べる適合試験プロセスを提供している。
関連する標準.
W3C の Speech Interface Framework は、VoiceXML に密接に関連する以下のような標準も定義している。
SRGS と SISR.
SRGS（Speech Recognition Grammar Specification）は、音声認識システムが聞き取るべき文のパターンをシステムに覚えさせるのに使われる。このパターンを文法（grammar）と呼ぶ。音声認識システムが最もそれらしい文を選んだとき、その文から意味を抽出し、VoiceXMLインタプリタに返す必要がある。この意味的解釈を生成するルールを記述する仕様が SISR（Semantic Interpretation for Speech Recognition）である。SISR は ECMAScriptの形式で記述され、SRGS の中に埋め込む形で使用される。
SSML.
SSML（Speech Synthesis Markup Language）は、音声合成時の修飾的情報を指定するのに使われる。例えば、どういった声を使うのか、音量はどの程度にするかといった情報である。
PLS.
PLS（Pronounciation Lexicon Specification）は、単語の発音を定義するのに使われる。この汎用発音情報は、音声合成にも音声認識にも使える。
CCXML.
CCXML（Call Control eXtensible Markup Language）は、W3Cの補助的な標準である。CCXML は電話回線でVoiceXMLを使う際の補助的な部分（電話が接続されたときのボイスブラウザとの設定、呼の転送、ボイスブラウザとの切断など）を扱う。CCXML は VoiceXML とは無関係の電話会議システムなどでも使われる。
歴史.
1999年3月、AT&T、IBM、ルーセント、モトローラは、音声対話を記述するマークアップ言語を標準化すべく VoiceXML Forum を結成した。1999年9月、VoiceXML 0.9 が完成して査読され、2000年3月、VoiceXML 1.0 を公開した。その直後 VoiceXML Forum は、この標準を W3C に移管した。W3C は何度かこれを改訂し、2004年3月に VoiceXML 2.0 が最終勧告となった。
VoiceXML 2.1 では、2.0 の実装を行った結果のフィードバックに基づき、若干の機能追加をしている。VoiceXML 2.0 とは互換性があり、2007年6月にW3C勧告となった。