Last modified: Fri Feb 15 08:47:44 JST 2002 Takuya NISHIMOTO

VoiceXMLにおけるマルチモーダル入出力拡張

背景と目的

VoiceXML Forum および W3C で規格化された VoiceXML 1.0 は、 音声対話インタフェースを標準化する規格として注目されている。 しかし、現在の VoiceXML 仕様は電話によるウェブアクセス(音声ポータル)を 主な応用範囲として考えられており、 画像情報の提示や擬人化エージェントの制御、マルチモーダル入力などには 対応していない。

以下では VoiceXML の設計理念を活かしつつ、 さまざまなアプリケーションで擬人化対話エージェントによる音声対話を 実現するための VoiceXML 仕様の拡張案について述べる。

注:以下の内容は 2000年度 IPA 報告書に記載した仕様案とは異なります。

方針

  • マルチモーダル入力・・・当面は音声のみ
  • マルチモーダル出力
    • 音声合成(標準機能)
    • 画像
    • テキスト
    • エージェント

記述例

例1

vxml 要素またはアプリケーションルートドキュメントのレベルで、 出力モードとしてエージェント表示を有効にする。

<property name="outputmodes" value="agent" />

例2

画面に擬人化エージェントと3種類の果物の画像を表示する。
擬人化エージェントは平静感情で「りんご、ぶどう、はっさくがあります」と喋る。
続いて嬉しそうに「本日のお薦めはりんごです。」と喋る。
このとき「りんご」を喋るのと同時に「りんご」の画像を指さす。
その後、「りんご」「ぶどう」「はっさく」のどれかをユーザが発話するまで待つ。

<menu>
  <prompt>
    <enumerate />があります。
    <emotion type="happy-for" >
      本日のお薦めは <play act="point"> りんご </play>です。
    </emotion>
  </prompt>
  <choice img="apple.jpg" next="apple.vxml" > りんご </choice>
  <choice img="grape.jpg" next="grape.vxml" > ぶどう </choice>
  <choice img="hassaku.jpg" next="hassaku.vxml" > はっさく </choice>
</menu>

例3

画面に擬人化エージェントを表示する。
擬人化エージェントはおじぎをしながら「いらっしゃいませ。当店へようこそ。」と喋る。
続いて「りんご」という文字を表示して「本日のお薦めはりんごです。」と喋る。
このとき「りんご」を喋るのと同時に「りんご」の文字を指さす。

<block>

  <par>
    <play act="greeting" />
    <speak> いらっしゃいませ。当店へようこそ。 </speak>
  </par>

  <text> りんご </text>

  <speak> 本日のお薦めは、 </speak>
  <play act="point" >
    <speak> りんご </speak>
  </play>
  <speak> です。 </speak>

</block>

画像の表示

  1. <img>要素を新設

    <block>,<if>,<filled>などの子となる。(executable content)

    属性 備考
    src 画像のURIを指定
    target 画像を表示するターゲットウィンドウidの指定
    HTMLの<a>要素のtarget属性のようなもの
    無指定の場合は最近のウィンドウの書き換え

  2. <choice>要素を拡張

    <choice next="./next.vxml" img="./apple.jpg">りんご</choice>

    属性 備考
    img 画像のURIを記入

方針・・・特定の座標系,デバイスに依存しない

テキストの表示

  1. <text>要素の新設

    <block>,<if>,<filled>などの子となる。(executable content)
    廃止される可能性もあり

注:文字の表示開始と終了のタイミングについてはさらに検討を要する。

エージェントの表示

表示する方法

<property name="outputmodes" value="agent"/>

を記入することにより表示開始

エージェントを動作させる

  1. <play>要素の新設

    <block>,<if>,<filled>などの子となる。(executable content)
    属性 備考
    act エージェントの動作名を指定
    target act="point"の場合に、指差す画像ウィンドウidを指定

エージェントに感情表現させる

  1. <emotion>要素の新設

    音声合成の制御用タグとして扱う.
    属性 備考
    type 感情のタイプを指定する。

エージェントを喋らせる

  1. <speak>要素の新設

    <block>,<if>,<filled>などの子となる。(executable content)
    省略可能で、block内の子にテキストがある場合はspeak要素があるとみなす

同期

  1. <par>要素の新設

    通常はシーケンシャルに上の要素から実行されるが、
    <par>要素内の子は同時に実行される。