複数のプログラミングパラダイムに基づく音声対話システム記述言語および開発環境の研究
Studies on spoken dialog system description language and development environment based on multiple
programming paradigms
１．研究の目的
音声対話システムは、ユーザとの対話を通じて特定のタスクを行うことができるものとして、また、雑談を通じてユーザに娯楽や癒やしを提供するものとして研究・開発が行われている。現在の音声対話システムの開発手法は、状態遷移記述で対話管理を行い、各状態で音声認識・音声合成・バックエンドシステムを制荒木 雅弘 (Masahiro ARAKI, Ph. D.)

御するコードを記述する方式が主流であるが、実用的

京都工芸繊維大学 工芸科学研究科 情報工学専攻
准教授

な音声対話システムでは状態数が膨大になり、拡張(Associate Professor, Kyoto Institute of Technology, Graduate
School of Information Science)

オブジェクト指向・論理型言語・関数型言語などの拡性・保守性の低さが問題となっている。本研究では、張性・保守性に優れたプログラミングパラダイムに基情報処理学会 人工知能学会 言語処理学会 日本音響学会受賞：人工知能学会 研究奨励賞 (2000) 第 42 回情報処理学会全国大会 研

づいた音声対話システム記述言語を設計し、その処理

究奨励賞 (1992)系を実現することを目的とした。

著書：イラストで学ぶ音声認識 講談社 (2015) フリーソフトではじめる機械学習入門 森北出版 (2014) フリーソフトで学ぶセマンティック Web とインタラクション 森北出版 (2010) フリーソフトでつくる音声認識シス

２．研究の背景テム - パターン認識・機械学習の初歩から対話システムまで - 森北出版
(2007) 音声対話システム（共著）オーム社 (2006) Multilingual and

近年、音声対話システムは携帯情報端末やロボット

Multimodal Dialogue Systems: Development and Assessment（共著）のインタフェースとして注目されており、高齢者や視Wiley (2005)
研究専門分野：音声対話処理

覚障害者が高度な情報通信機器を使いこなすための手段としても期待が高まっている。現在の音声対話システムの開発手法は、状態遷移記述で対話管理を行い、各状態で音声認識・音声合成・バックエンドシステムを制御するコードを記述する方式が主流である。この方式では、実用的なシステムでは状態数は数千にも及ぶものになり、その保守管理に多大なコストがかかること、また、そのようにコストの高い対話管理であっても、音声対話システム開発全体工数の 20%以下でしかないことが指摘され、開発方法論のパラダイムシフトが求められている。

現在、音声対話システムの開発は対話の状

筆者らは、これまで近年のソフトウェア工学の知見態遷移に基づく記述が主流であり、システムが高度を活用した、開発効率が高く、拡張性・保守性に優れ化・複雑化するにつれて、拡張性・保守性の低さが問た音声対話システム開発方法論の研究を進めてきた。

題になりつつある。本研究は、オブジェクト指向・論

具体的には、セマンティック web 標準技術に基づいて理型言語・関数型言語などのプログラミングパラダイ収集された実データである CSRs *1 をクラスライブラ

ムから音声対話システムの記述に適した要素を抽出し、リとし、開発者はクラスライブラリに基づいたデータ

新たな音声対話システム記述言語をすることを目的と定義を行うだけで、近年の Web アプリケーションの標し、オブジェクト指向に基づくデータ記述からの状態準である MVC モデル*2 のコードが自動生成される、遷移記述の自動生成・論理的記述による対話コンテンオブジェクト指向型の音声対話システム開発方法論をツの自動獲得を実現した。また、言語理解結果の関数提案・実装した。

あらまし

本研究は、この研究成果を発展させ、オブジェクトによる記述について実装方式を提案した。
1

TELECOM FRONTIER No.93 2016 AUTUMN

複数のプログラミングパラダイムに基づく音声対話システム記述言語および開発環境の研究
Studies on spoken dialog system description language and development environment based on multiple
programming paradigms
指向設計に基づく MVC コードの自動生成によって音め、定義済みのプロパティをデータモデルに採用する

声対話システム開発全体をカバーするという基本スタ

際は、その型を明示する必要はなく、constraints の要ンスは維持したまま、記述論理で定義された推論規則素として列挙するだけでよい。

を開発言語に組み込み、対話コンテンツの自動獲得をMrailsScript では、タスク・主導権の分類 [2] に基実現した。また、言語理解結果を関数で表現し、情報づき対話を分類し、ドメインごとにアノテーションに状態を入力として更新を行うプロセスの研究を行った。

よって指定する方法を取った。対話の主導権は、達成するべき目標や想定されるユーザによって、システム

３．研究の方法、研究の結果主導・ユーザ主導・混合主導の 3 つに分類される。ま

３.１ 宣言的記述からの対話状態遷移の自動生成

た、対話タスクは、システムとユーザの間を流れる情

ここでは、筆者らの研究グループが開発したオブジ報の方向という観点から、情報検索を行う検索タス

ェクト指向設計に基づくマルチモーダル対話システム

ク・ユーザに情報の入力を求めるスロットフィリング（ MMI ： Multi-Modal Interaction ） 記 述 言 語

タスク・ユーザに情報を提供する説明タスクの 3 つに

MrailsScript [1] について説明する。

分類される。MrailsScript はこれらのタスク・主導権

MrailsScript は、2 章で述べた既存の MMI システの組合せ毎に異なる MVC コードを生成することで、ム開発手法の問題点から、MVC の明確な分離、GUIそれぞれの対話を実現するモダリティ非依存な MMIベースのアプリケーション開発方法論との共通性の確アプリケーションの雛形を自動生成する。

保、モダリティの追加・変更等に対する保守性・機能拡張性の維持の 3 点を重視した設計を行っている。

@initiative.System@task.DBSearchclass MyBook extends Book {static hasMany = [comment:MyUserComments]
static constraints = {name( onsearch:"ilike" )description( onsearch:"ilike" )author.name()}}

MrailsScript は、オブジェクト指向設計と MVC モデルに基づいた Web アプリケーションプラットフォームである Grails フレームワーク*3 を基礎とすることで、開発効率や保守性・機能拡張性を保っている。
Grails の MVC モデルは、アプリケーションが扱うコンテンツを操作するドメインモデル（Model）、ユーザとのやり取りとコンテンツの表示方法を規定するビュ

図１ー（View）、タスクを遂行するために Model 部・View部とデータの入出力を行うコントローラ（Controller）

Schema.org の Book クラスを継承した
MrailsScriptの 3 つにコードを分離する。
MrailsScript は、Grails のドメインモデル定義を拡

３.２ 開発支援環境の構築と論理記述による張した記述を MMI システム開発の中心的記述と位置対話コンテンツの自動獲得づけた。ドメインモデル定義にセマンティック web のMrailsScript は、状態遷移記述に基づく既存対話記標準オントロジーのクラス定義を継承させることで、述言語と比較して、保守管理性および拡張性に優れてドメインモデルが扱うデータのオントロジーを決定し、いる。データモデル定義は、セマンティック web のオ

これにアノテーションによってモダリティ非依存の対ントロジーに基づいて行うので、比較的単純な操作で話タスクと対話主導権を付加することで、対話システあり、Linked Open Data *5 のメタデータをそのままムの設計を行う。

用いることもできる。しかし、MrailsScript の利点を図 1 は、Schema.org *4 の Book クラスを継承し、デ活かしたデータ定義作業を行うためには、MMI シスータベース検索タスクをシステム主導で行うためのアテム開発者がセマンティック web 技術に精通する必ノテーションが付加された MrailsScript の例である。

要があった。この問題を解決するため、筆者らは、オBook クラスでプロパティ名と型が定義されているた

ントロジーの知識に基づいた開発支援を行う MMI シ
2TELECOM FRONTIER No.93 2016 AUTUMN

複数のプログラミングパラダイムに基づく音声対話システム記述言語および開発環境の研究
Studies on spoken dialog system description language and development environment based on multipleprogramming paradigms
ステム開発環境 MrailsBuilder を構築した。
MrailsBuilder は、図 2 に示すように、オントロジーをリアルタイムで探索し、意味情報を可視化することで、データ定義作業を支援する。また図 3 に示すように、定義されたデータモデルから Linked Open Data を自動的に取得する SPARQL を自動的に作成し、さらに、別途定義された推論規則と組み合わせることによって、対話システムで提供するコンテンツを幅広い情報源から自動取得する機能を持つ。この開発環境を用いて、特定タスク
図３の MMI システムを作成し、開発プロセスにおMrailsBuilder によるコンテンツの自動収集けるこれらの機能の有効性を確認した [3]。

図２ MrailsBuilder におけるオントロジーに基づくデータ定義支援

３.３ 言語理解結果の関数による表現

為タイプ毎に関数の雛形を用意し、入力解釈によって音声対話システムやマルチモーダル対話システムに得られた結果を用いてその雛形を書き換えることで、おいては、断片的な入力の連続や、複数のモダリティ発話理解結果としての関数を得る。音声入力の場合は、を組み合わせた入力を解釈する必要があるが、これら誤認識による不確実性に対処するために複数認識結果を個々の入力として扱って状態遷移記述を行うと、膨に対する理解結果をリストとして扱う。対話状態を管大な組合せに対する記述を行う必要がある。そこで、理する情報状態更新モデルにこの関数を適用すること入力理解結果を関数として表現し、対話状態の遷移記で、対話を進めることができる。

述を関数の連続適用へと置き換え、対話制御の記述を上記の手法を関数型言語 Scala のドメイン依存言語なくすことでこの組合せ爆発の問題を解決する手法をとして実装し、列車チケット購入を行うスロットフィ提案した [4]。対話システムに出現する様々な発話行リング型対話システムを実現した。スロットフィリン
3

TELECOM FRONTIER No.93 2016 AUTUMN

複数のプログラミングパラダイムに基づく音声対話システム記述言語および開発環境の研究
Studies on spoken dialog system description language and development environment based on multiple
programming paradigms
グ型タスクでは、情報状態更新モデルに持たせる情報用語解説を以下の 4 つに限定して実装することができた。

*1 CSRs（Collaboratively Constructed Semantic Resources）：

 PLAN：長期的な対話の目標となる行動のリスト

一般ユーザによって作成されたセマンティック

 TMP ：対話参加者間で明示的に対話によって確立

web 標準に基づく意味構造が付与されたデータ

された情報を反映したフィールド

*2 MVC モデル（Model-View-Controller model）：

 BEL ：システムが対話によって確認した命題の集合

web アプリケーション開発の枠組みで、データ処理ロジ

 QUD：議論中の質問のスタックックである Model と、ユーザインタフェースである Viewと、制御を行う Controller を明確に分離する方法*3 Grails フレームワーク：スクリプト言語Groovy を使用

４．将来の展望４.１ 音声対話システム開発者に対する波及効果

したMVC フレームワーク

MrailsScript は、今後データの充実が見込まれるセ*4 Schema.org：意味マークアップのための共通オン

マンティック web リソースを背景知識としているのトロジーを提供している web サイト*5 Linked Open Data：再利用を許すオープンライセ

で、最新・大量のデータを対象とした音声対話システ
ムを用いたサービスをすぐに始めることができる。まンスに基づき、Web 上に公開されるデータた、システムの上位レベル設計には、近年の web アプリケーション開発フレームワークである Rails の考え参考文献を用いているので、web アプリケーション開発者がこ[1] 竹腰大輔, 荒木雅弘: データモデル定義に基づくれまで敷居の高かった音声対話システム開発に簡単にマルチモーダル対話記述言語の設計と実装, 人工取り組むことができる。

知 能 学 会 論 文 誌 , Vol.28, No.3, pp.261-266,
doi:10.1527/tjsai.28.261, 2013.
[2] M. Araki, K. Komatani, T. Hirata and S. Doshita:

４.２ 情報通信端末ユーザに対する波及効果
現在のスマートフォン等の携帯情報端末でも音声操

A Dialogue Library for Task-oriented Spoken

作機能が搭載されることが多くなっているが、それら

Dialogue Systems, Proc. IJCAI Workshop on

は 1 つの音声コマンドで特定できるアプリ操作や webKnowledge and Reasoning in Practical Dialogue

検索の音声入力インタフェースとして一問一答型の利Systems, pp.1-7, 1999.

用を前提とされており、複数ターンに渡る複雑な対話[3] 竹腰 大輔, 荒木 雅弘: コンテンツの情報構造をは想定されていない。研究レベルの音声対話システム利用したマルチモーダル対話システム開発支援環

においても、タスクはバスの乗換・時刻表案内や観光

境, 人工知能学会論文誌, Vol.30, No.1, pp.61-70,案内等、比較的単純なものに限定されている。本研究doi: 10.1527/tjsai.30.61, 2015.の成果を発展させて開発の初期コストが低くなると、[4] 井手麻友美, 荒木雅弘: マルチモーダル対話記述

知的な推論を伴うような様々な音声対話サービスがユにおける関数による解釈表現の検討, 2013 年度人ーザに提供されることが期待される。

工知能学会全国大会論文集, 1K3-OS-17a-3, 2013.

４.３ 今後の展開
セマンティック web リソースは、多言語で提供されているものであり、本開発手法そのものもデータモデ
ル定義を中心とするものなので、個別の言語には依存

この研究は、平成２４年度ＳＣＡＴ研究助成の対象としていない。この特性を利用して、観光案内等の多言して採用され、平成２５～２７年度に実施されたもの

語サービスを提供するシステムへの発展が考えられる。

です。

4TELECOM FRONTIER No.93 2016 AUTUMN