マルチモーダル対話システム開発手法
■
多様な端末からWebサービスを利用する
■
MMI 記述言語と MMI システム
■
MMI システムのための
プロトタイピングツール
新田 恒雄 (豊橋技術科学大学)
Issues on Interaction with Web
■ The coming of heterogeneous devices
and interaction manner
•
access by :
PC, Mobile phone, PDA, AutoPC, DTV, …
•
interaction with:
Our Purpose:
Seamless Services over Internet
Ex. On-line Shopping
Devices
- order goods at Kiosk ... touch panel - confirm the order with a mobile phone ... voice
- change the order at home ... DTV remote terminal XML Document Server
XML Document Server (Contents ; View ; Interaction)
How to do it?
<xhtml ... <head> VoiceXML </head> <body> ... CSS CSS <xhtml ... Form <salt: ...CSS
XISL: Extensible Interaction-Sheet Language
CSS <xhtml ... Form <xisl> <dialog> <exchange> ... contents-independent <xhtml ... Form VoiceXML ...
XISL: Device-Independent - 1/3
no modality-specific tag : input modality
<input type=“speech” event=“recog” target=“grammar.gxml” match=“/grammar/goods” return=“goods_name”>
<param name=“mode”>data</param> </input>
<input type=“dtmf” event=“push” target=“grammar.gxml”
match=“/grammar/goods_select”return=“goods_name”> <param name=“mode”>digit</param>
</input> ...
XISL: Device-Independent - 2/3
Front-end Module
<input ….. > type: speech event:recognize recognize grammar rule: introduction return: word1 <input ….. > type: pointing : ASR Pointing Keyboard Hello! Hello word1: Hello gram mar type: speech event: recognize target: ***.xml match: /page return: word1:HelloDialog
Manager
XISL: Device-Independent - 3/3
no modality-specific tag : output modality
type
event
mode
window
open, close, …
speech
play, stop, …
TTS, rec_speech, …
video
play, stop, …
audio
play, stop, …
MMI Description Language: XISL
- is content ( & view ) -independent.
- has no modality-specific tags
that enable XISL device-independent.
- has MMI control tags and attributes.
→ • realizes seamless services over internet
and reuse of XML documents.
• meets modality-rich services
XISL enables combinatorial usage of modalities.
Sequential
Parallel
← adding a new modality
<?xml version=“1.0” encoding=“Shift-JIS”?> <!DOCTYPE xisl SYSTEM “xisl.dtd”>
<xisl version=“1.0”>
<head>...</head> <body>
<dialogue id = “WAP_phone”>
<exchange>
<operation comb = “alt”>
<input type=“dtmf” event=“push” target=“/d_gram.gxml”
match=“/d_gram/goods_select” return=“number”> <param name=“mode”>digit</param>
</input>
<input type=“speech” event=“recognize”
target=“/gram.gxml” match=“/gram/goods_select” return=“goods_name”> <param name=“mode”>data</param> </input> < /operation >
XISL: example -1/2
< action comb = “seq” >
<output type=“speech” event=“play”/>
<param name=“speaker”>nancy</param> <param name=“speech_text”>
You selected No. One. < /output > < call dialogue_name=“2”/ > < /action > : : :
XISL: example -2/2
MMIシステムの構成図
入 力 イ ン タ フ ェ ー ス 出 力 イ ン タ フ ェ ー ス ド キ ュ メ ン ト 管 理 ・ イ ン タ プ リ タ フロントエンド 対話シナリオ コンテンツ 対話制御部 ドキュメント サーバ 入 力 統 合 ・ ア ク シ ョ ン 実 行 端 末 依 存 の 入 出 力 モ ダ リ テ ィドキュメントサーバ
ドキュメントサーバ
z
一般的なWebサーバを想定
z
対話シナリオ,コンテンツ,表示スタイル
を記述した各文書を格納
対話シナリオ: XISL文書
コンテンツ
: XML文書
表示スタイル: XSL文書
⇒ 分離記述により,各文書の再利用性が向上
XISL
XISL
の特徴
の特徴
z
XMLベース
の言語
z
対話シナリオ
のみを記述
XISL
XISL
の記述例
の記述例
<xisl application=“app-root.xisl”>
<dialog id=“1”> ‥ 1組の対話
<exchange> ‥‥ 1ユニットの対話
<operation comb=“par”> ‥ 一纏りの入力とその制御
<input type=“speech” target=“sample.grm” ….. />
<input type=“touch” event=“click” match=“/button1”/>
</operation> ↑XML要素
<action comb=“seq”> ‥ 一纏りの動作とその制御
<output type=“agent” event=“speech”>‥‥</output> <goto next=“2”/>
</action>
XISLの記述例
<xisl application=“app-root.xisl”> <dialog id=“1”>
<exchange>
<operation comb=“par”>
<input type=“speech” target=“sample.grm” ….. />
<input type=“touch” event=“click” match=“/button1”/>
</operation> ↑<input>の属性値は端末毎に自由に規定
<action comb=“seq”>
<output type=“agent” event=“speech”>‥‥</output> <goto next=“2”/> ↑<output>の属性値と要素内容は
</action> 端末毎に自由に規定
XISLの最新仕様
z
<submit>タグ
の導入
-CGIの実行
z
<prompt>タグ
の導入
-システム主導対話の記述
z
ECMAScript
への対応を検討中
http://www.vox.tutkie.tut.ac.jp/XISL/XISL.html
対話制御部
z
アプリケーション,モダリティ
双方に
非依存
z
ドキュメントサーバとXISL文書等を授受
z
XISLを解釈し,
対話の進行
を管理
※対話制御部では<input><output>を解釈せず,
フロントエンドが解釈する
対話制御部の構成
対話制御部
ド
キ
ュ
メ
ン
ト
サ
ー
バ
フ
ロ
ン
ト
エ
ン
ド
ド キ ュ メ ン ト 管 理 部 アクション 実行部 <output> 端末依存の情報 XMLの編集 対話切替 <action> 入力制御部 GLRパーサ 入力統合部 <input> ユーザ入力 <operation> XISL イ ン タ プ リ タ 起動命令入力統合部の動作
z
<dialog>内の<input>を一種の文法規則
とみなし,GLRテーブルを作成
–開始記号:
<dialog>
–終端記号:
<input>,タイムアウト
–文
:
<input>の系列
–入力 <input> の系列が <operation> として
還元されると,アクション実行部に通知
Dialogue Control by Using GLR TBL
REDUCE-2 5 REDUCE-1 4 SHIFT-5 3 SHIFT-4 2 ACCEPT 1 SHIFT-2 SHIFT-1 SHIFT-3 0 EXCH1 BUYGOODS complete timeout goods_sp buy_btn GOTO TBL ACTION TBL IN State 0 SHIFT-3 3 SHIFT-5 5 REDUCE-2Implementation -3/4
フロントエンド
z
<input>
,
<output>
の解釈
z
文法ファイル
や
表示ファイル
の解釈
z
各種エンジン(音声認識など)の実行
PC端末の入力モダリティ
z
ポインティング
(クリック,ドラッグ,…)
z
音
声
(文法に従った音声)
z
キーボード
(キー入力)
PC端末の出力モダリティ
z
MMIブラウザ
(XMLファイルの表示など)
z
Webブラウザ
(他サイトのHTMLの表示など)
z
サウンド,動画
z
擬人化エージェント
(動作,バルーン,TTS)
z
合成音声
(TTSによる出力)
z
タイマー
(タイマーのセット)
アプリケーション
z
オンラインショッピング(OLS)システム
–ユーザ認証
–商品閲覧
–商品説明
–購入手続き
:
①
②
③
Interaction Builder
Interaction Builder
z
Interaction Builder(IB)
–MMIシステムのプロトタイピングツール
–GUI操作によってXISLを記述
–システム−ユーザ間の様々なモダリティを
介したやり取りを容易に記述
オンラインショッピングシステムを対象
I
I
B: 起
B: 起
動
動
時
時
音声入力
マウス入力
音声とマウスの
複合入力
擬人化エージェント
I
I
I
<input type=“pointing" event="click"
match="/OLS/goods_list/category/goods[@id='23'] /object/picture[1]"/>