マルチモーダル対話システムのためのアーキテクチャ階層化
The Layered Architecture for Multi-modal Dialog Systems
西本 卓也 †Takuya Nishimoto

1.

はじめに音声対話技術コンソーシアム (ISTC)

Rapid Prototyping Tools‡

では，音声対VoiceXML

Task Manager (TM)話システムおよびマルチモーダルインタフェース (MMI)のツールキット (Galatea Toolkit) の開発と並行して，マMacro Control Layer(AM-MCL)
Direct Control Layer (AM-DCL)

ルチモーダル対話記述言語の仕様を作成するためのワーキンググループ（SIG-MMI-WG）を 2004 年に設置し，活動を行っている§ ．この活動は 2006 年より，情報処理

AgentManager(AM)学会・学会試行標準専門委員会・WG4 小委員会（主査・SpeechRecognitionModule(SRM)

新田恒雄 豊橋技術科学大学 教授）における音声言語インタフェースの標準化活動 [1] とも連携しており，WorldWide Web Consortium (W3C) の標準に準拠した MMI

SpeechSynthesis
Module(SSM)

Facial image
Synthesis
Module(FSM)

記述言語の策定を目指している．
本稿では，本活動において議論されているマルチモー

図 1:

ダル対話システムのためのアーキテクチャ階層化についToolkit)

擬人化音声対話エージェントの構成 (Galateaて述べる．

2.

マルチモーダル対話記述言語

W3C においては，マルチモーダル入力の統合に必要なキーボードやポインティングデバイス（マウスやペン情報の記述言語 EMMA (Extensible MultiModal Anno-入力など）に加えて，音声認識，音声合成，エージェント顔画像など様々なモダリティを統合して実現されるヒュー

tation language) の仕様が作成されている．また，音声出力に関しては CSS (Cascading Style Sheets) の音声対マンインタフェースシステムを，本稿ではマルチモーダ応，音声合成記述言語 SSML (Speech Synthesis Markup

ル対話システムと呼ぶことにする．

Language) の国際化対応などが行われている．

マルチモーダル対話システムをさまざまなタスクに効MVC アーキテクチャ

率よく導入するためには，マルチモーダル対話を実現す

3.

るための汎用ツールキットと，タスクやインタフェース

ソフトウェア開発においては Model, View, Controller(MVC) を分離することが推奨される．Model とはアプリケーションが内部的に保持するデータモデルを，Viewの詳細に関する汎用の記述言語が必要となる．例えば，

ISTC が提供している Galatea Toolkit では，音声認識，音声合成，顔画像合成などの要素技術モジュールがエーとはユーザに提示する画面表示や入力イベントなど UI

ジェント管理・対話管理モジュールによって統合制御さ(User Interface) を，Controller はこれらを対応づけてれる（図 1）．Linux 版 [2] では，音声対話を主体としたユーザインタフェースを実現するロジックを意味していインタラクションを記述するために，W3C で作成される．UI とロジックを分離することで柔軟なシステム開た音声対話パターン記述言語 VoiceXML [3] を使用して発が可能になる．

いる．Windows 版では，マルチモーダル対話システム

SIG-MMI-WG でのユースケースや要求仕様の検討をを効率よく開発するためのプロトタイピングツールが実踏まえて，モダリティに依存する処理を集約すること，装されており，XISL (eXtensible Interaction Scenario

使用するモダリティの追加や変更を柔軟にすること，きLanguage) が提案されている [4] ．

め細かいタイミングでの入出力の制御を行うことなどがアーキテクチャと記述言語への要求として挙げられた．

† 東京大学, The University of Tokyo‡ http://www.astem.or.jp/istc/§ http://www.astem.or.jp/istc/ISTC-SIG-MMI/

MMI システムを MVC の観点から考えることで，これらを満たすことが容易になる．

MMI システムにおいては，View は各モダリティに対応するコンポーネント (Modality Component)，Controller
は各モダリティを統合する Interaction Manager と位置づけることができる．

W3C で検討されているウェブおよび MMI 技術など，いくつかの関連技術を MVC の分離という観点から検討し，以下のように整理した．

Dynamic HTML 動的なウェブページで用いられる
Dynamic HTML では，View を HTML のオブジェクト（input, img, select などの要素）として記述する．Model と Controller は ECMAScript(JavaScript) で実装する．View と Controller はHTML DOM (Document Object Model) API お

図 2: MVC に対応づけた MMI システムの要求

よび HTML Events によって通信を行う．
音声認識に関する要素を SALT で導入した listen,SVG Scalable Vector Graphics (SVG) では，View をSVG のオブジェクト（path, rect, circle, text, polygon などの要素）として記述する．Model と Controller は ECMAScript で実装する．View と Controller は SVG DOM API および SVG Events によって通信を行う．

prompt などのオブジェクトとして記述する．Modelと Controller は ECMAScript などで実装する．
View と Controller は HTML/SALT DOM API,
HTML/DOM Events によって通信を行う．
XHTML+Voice XHTML+Voice は IBM などが提案している MMI 記述の言語仕様であり，VoiceXML

XHTML 2.0 W3C による HTML の改訂版である
XHTML 2.0 では，View を HTML のオブジェクト（input, img, select などの要素）として記述する．
Model と Controller は分離され，Model は XFormsで記述し，Controller は ECMAScript および XML
Events で実装する．View と Controller は HTMLDOM API および HTML Events によって通信を行う．
XAML Extensible Application Markup Language(XAML) は Microsoft が新しいアプリケーション記の機能の一部を XHTML と組み合わせて使用する．

View のうち視覚的な要素を HTML のオブジェクト（input, img, select などの要素）として記述する．また，View のうち音声合成や音声認識に関する要素をVoiceXML の field や prompt などのオブジェクトとして記述する．Controller は ECMAScript などで実装するが，一部の機能は VoiceXML に由来する
form 要素 (FIA, Form Interpretation Algorithm)が担っており，XHTML+Voice で導入された sync要素（VoiceXML と XHTML の要素間の同期を取述言語として導入を進めている技術である．View をる）も Controller の機能の一部とみなせる．

XAML のオブジェクト（button などの要素）として記述する．Model と Controller は C # などのプ

これらの検討の末，アーキテクチャに関して以下の提ログラミング言語で実装する．View と Controller
は XAML API および XAML Events によって通信を行う．

SALT Speech Application Language Tags (SALT) はMicrosoft などが提案している MMI 記述の言語仕様である．以下，SALT を HTML と組み合わせる場合を考える．View のうち視覚的な要素を HTML案（図 2）が行われた．

Data Model MVC の Model に相当する．Controllerと分離されたデータモデルを用いることが望ましい．
データの種類や構造だけでなく，データ要素間の制約条件（条件によって入力が必要になったり不要になったりする場合など）や，フォームの充足条件なども定義したい．のオブジェクト（input, img, select などの要素）

例えば XForms は Data Model 記述言語の候補でとして記述する．また，View のうち音声合成やある．

Interaction Manager MVC の Controller に相当する．一般的には状態遷移モデルとして実装される．
すでに普及している ECMAScript などが候補となるが，音声インタフェースに関する記述は複雑になると予想されるため，状態遷移モデルの記述言語を用いることが望ましい．
例えば W3C の Voice Browser Working Group で導第1層

表 1: MMI 階層構造
入出力デバイス層

第2層

モダリティコンポーネント層

第3層

モダリティ統合層

第4層

タスク内制御層

第5層

タスク間制御層

第6層

アプリケーション層

入が検討されている SCXML (State Chart XML)
は，UML (Unified Modeling Language) の State

Chart を XML で記述するものであり，振る舞いの4 層はタスク内制御層である．ここでは各タスク内の記述能力が高いことから Interaction Manager 記述

対話の制御と応答内容の決定を行う．フォーム処理にお言語として有望である．

ける充足性判定や状況判断，フォーム充足のための次応

Modality Component MVC の View に相当する．
XHTML, SVG, 音声，手書きなどの多様なモダリ
ティが同時に使用される．その際，Interaction Manager との通信に使われる各 Modality Componentの API と Event の仕様を標準化し，新しいモダリティを容易にプラグインできることが望ましい．

みなどタスク内の対話遷移処理などが含まれる．

3 層はモダリティ統合層である．ここでは入力の統合，出力の分解，入出力同期制御などを行う．逐次入力や同時入力の解釈，逐次出力や同時出力の同期，モダリティ拡張などが含まれる．

2 層はモダリティコンポーネント層である．ここではまた，部品 (Modality Component) 自身が局所的画面表示，音声入出力，擬人化エージェント制御など，な振る舞い (Interaction Manager) を内包すること個々のモダリティの制御を行う．入出力の取扱いは分離（例えば「ボタンはクリックするとへこんで見える」

し，レベルメータや音声認識状態表示など，モダリティ「音声入力部品を activate すると決まったプロンプ間の連携は 3 層を介して実現される．

トが発声される」など）が考えられる．

4.

答処理のモダリティ制御，バージインやシステム割り込アーキテクチャの階層化

1 層は入出力デバイス層である．それぞれのデバイスに依存する API やイベントなどが用いられる．
各層の役割は，既存および提案中の言語仕様と以下のMVC に基づく検討を踏まえて，MMI システムのアーキテクチャ階層化（図 3）が提案された．階層構造化を行ように対応できる．

う目的は，要求仕様に基づいて記述言語の仕様を検討す

5 層:タスク間制御層 SCXML, VoiceXMLるために問題を分解することである．具体的には，各要求仕様がどの階層で解消されるべき課題かを確認すること，記述言語と動作の対応関係や原理，ユーザ操作とのインタラクションの確認を容易にすること，要求仕様の過不足を確認することなどを行う．また，記述言語の理想（モダリティ独立な記述への要求）やトレンド（MVCなどデファクトスタンダードなアプリケーション構造）

4 層:タスク内制御層 VoiceXML の FIA アルゴリズム
や HTML の form 要素
3 層:モダリティ統合層 SMIL 2.0 （出力）, XISL （出力，統合解釈）
2 層:モダリティコンポーネント層 SVG の rect 要素，VoiceXML の prompt 要素と SSML, SALT の listen 要素などとの対応も検討できる．

MMI 階層構造は 1 に示す 6 階層によって構成される．
このうち本 WG では第 2 層から第 5 層までを検討対象とする．

また，各層におけるデータ交換形式は EMMA, XFormsなどと対応する．

6 層はアプリケーション層である．ここではデータモデルとアプリケーションロジックを実装する．

5 層はタスク間制御層である．ここでは対話タスクの5.

まとめ全般的な制御を行う．また，アプリケーション層との入SIG-MMI-WG において議論しているマルチモーダル
対話システムのためのアーキテクチャ階層化について述

出力通信を行う．

べた．

図 3: MMI システムのアーキテクチャ階層化

本稿で述べた第 2 層から第 5 層までのすべてで記述
言語を用いて制御を行うことは繁雑であり，特に下位レ

参考文献

イヤではデフォルト動作を設定することが望ましい．例[1] 新田恒雄, 松浦 博, 西本卓也, 西村雅史: ”音声言語インタフェースのための情報処理学会試行標準,” 情

えば，フォーム充足のための応答手順決定や，照応解決

報処理学会誌 Vol.47 No.7, pp.762-767, Jul 2006.などの知的な処理，エージェントの頷きなどの自律的動作などが挙げられる．音声対話および MMI アプリケー[2] 西本卓也, 嵯峨山茂樹: ”擬人化エージェント Galatea

ションの開発においては，モダリティ独立な第 5 層を記のための VoiceXML 処理系,” 第 17 回人工知能学会

述し，第 2 層（音声認識・音声合成など）の動作に必要

全国大会, 2C2-04, Jun 2003.

なデータの準備を行えばよいような記述言語とし，必要[3] 荒木雅弘: ”ボイスウェブの可能性 – VoiceXML 概に応じてデフォルト動作の変更が行えるような仕様を目説,” 情報処理学会誌, Vol.44, No.10, pp.1044-1051,

指したい．

2003.

謝辞
本稿の内容は，音声対話技術コンソーシアム (ISTC)MMI 記述言語策定 WG および情報処理学会 学会試行
標準専門委員会 WG4 における議論をまとめたものである．新田恒雄 豊橋技術科学大学 教授をはじめとするワーキンググループ参加メンバー各位に感謝する．

[4] 桂田浩一，中村有作，山田 真，山田博文，小林 聡，
新田恒雄: ”MMI 記述言語 XISL の提案,” 情報処理学会論文誌, Vol.44，No.11，pp.2681-2689，2003.