11 概要

この節では高レベルなアーキテクチャモデルについて述べ、次にそこで用いられている用語によって、VoiceXMLの目指すもの、その扱う範囲、設計原理、そしてVoiceXMLをサポートするシステムに対する要求を述べる。

11.1 アーキテクチャモデル

この文書において仮定しているアーキテクチャモデルは以下の要素からなる。

Figure  11.1 VoiceXMLのアーキテクチャモデル
Figure 11.1 VoiceXMLのアーキテクチャモデル

ドキュメントサーバ(例えばWebサーバ)はVoiceXML処理コンテキストを経て渡されたクライアントアプリケーション(VoiceXML処理系)からの要求を処理し、VoiceXMLドキュメントを返す。返されたVoiceXMLドキュメントは、VoiceXML処理系によって処理される。VoiceXML処理コンテキストはVoiceXML処理系と平行してユーザ入力をモニタする。例えば、あるVoiceXML処理コンテキストは、ユーザに高レベルの個人化したアシスト作業を提供するための特別なエスケープフレーズをモニタしている、また別のVoiceXML処理コンテキストは音量や合成音声の種類などのユーザの好みに関するエスケープフレーズをモニタしている。

実装プラットフォームはVoiceXML処理コンテキストとVoiceXML処理系によって制御される。例えば、音声応答アプリケーションでは、VoiceXML処理コンテキストは発呼を検出し、最初のVoiceXMLドキュメントをロードし、応答を行う。一方、VoiceXML処理系は応答後の対話を制御する。実装プラットフォームはユーザによる行為(例:音声や文字の入力、切断)やシステムイベント(例:時間切れ)に応じて、イベントを生成する。これらのうちいくつかはVoiceXMLドキュメントの指定に従って処理系自身により処理され、その他は処理コンテキストで処理される。

11.2 VoiceXMLの目的(目標)

VoiceXMLの主な目標は、音声応答アプリケーションのためのWebの開発と、それによる情報提供を盛んにすることであり、アプリケーション製作者を低レベルなプログラミングやリソース管理から解放することである。VoiceXMLによって、親しんだクライアント-サーバパラダイムを用いて、音声サービスとデータサービスが統合できる。音声サービスはユーザと実装プラットフォームとの対話の系列であるとみなすことができる。対話は、実装プラットフォームの外部にあるドキュメントサーバにより供給される。ドキュメントサーバはサービスロジック全体を管理し、データベースなど既存のシステムオペレーションを実行し、対話を生成する。

VoiceXMLドキュメントは、VoiceXML処理系によって行われ相互作用対話を特定する。ユーザ入力は対話の処理に影響を与え、ドキュメントサーバへ返す要求として集められる。ドキュメントサーバは、他の対話によってユーザのセッションを継続するために、新たなVoiceXMLドキュメントを応答して返す。

VoiceXMLは以下のようなマークアップ言語である。

  1. 1つのドキュメント内に複数の相互作用を記述することによって、クライアント/サーバ間の相互作用を最小限にする。
  2. アプリケーション製作者に、低レベルで特定プラットフォームの詳細なことがらを意識させない。
  3. サービスロジック(CGIスクリプト)とユーザインタラクションコード(VoiceXML)を分離する。
  4. 実装プラットフォーム独立なサービスのポータビリティを高める。VoiceXMLは、コンテンツプロバイダ、ツールプロバイダ、プラットフォームプロバイダ用の共通言語である。
  5. シンプルな相互作用を簡単に記述でき、かつ複雑な対話をサポートするための機能も提供している。

VoiceXMLでは主として音声返答サービスの要求に対応するように進められているが、詳細なレベルの制御を実現しているアプリケーションからの切迫した要求は優先的に取り上げられる。

11.3 VoiceXMLの範囲

VoiceXMLは以下の要求を含む音声応答システムにおける人間と機械の相互関係を記述したものである。

  1. 合成音声の出力(text-to-speech)
  2. 音ファイルの出力
  3. 入力音声の認識
  4. DTMF入力の認識
  5. 入力音声の録音
  6. 転送や切断のような電話系の機能

VoiceXMLは文字および/または音声による入力を収集し、ドキュメントで定義された変数に入力を割り当て、VoiceXMLで書かれたドキュメントの処理に影響する判定を行う手段を提供する。ドキュメントはURI(Universal Resource Identifier)によって他のドキュメントにリンクされることもある。

11.4 デザインの原則

VoiceXMLはXMLスキーマである。XMLについての詳細はAnnotated XML Reference Manualを参照のこと。

11.5 実装プラットフォームへの要求

この節では、VoiceXML処理系をサポートするハードウェア/ソフトウェアプラットフォームへの要求について述べる。

ドキュメント獲得

処理コンテキストは、VoiceXML処理系の実行のため、ドキュメントを要求する。ドキュメント要求はVoiceXMLドキュメントの処理により生成されることもあるし、VoiceXMLの範囲外のイベント(例:着信)に応じて処理コンテキストにより生成されることもある。

音声出力

実装プラットフォームはオーディオファイルやtext-to-speech(TTS)を用いて音声出力が可能である。両方がサポートされている場合、プラットフォームはTTSと音声出力を任意の順序で出力できる必要がある。オーディオファイルは、URIにより参照される、VoiceXMLはオーディオファイルのフォーマットを特に定めない。

音声入力

実装プラットフォームは、文字かつ/または音声による入力を即時に検出し報告する必要があり、VoiceXMLドキュメントにより設定されたタイマーによって入力待ち時間をコントロールできなければならない。

  1. ユーザにより入力された文字(例:DTMF)を報告しなくてはならない。
  2. 音声認識用文法データを動的に受け取ることができなければならない。いつくかのVoiceXML要素は認識用文法データを含むことができ、ある要素はURIを通して文法データを参照する。認識用文法がどちらの方法によって特定されていても、音声認識装置は入力可能な音声入力集合を動的に更新できなければならない。
  3. ユーザにより入力された音声は録音できるべきである。実装プラットフォームは要求した変数に対して録音を可能にしなければならない。