DEIM Forum 2016 B8-5 排他制御機能を有する状態遷移機械に基づく 音声対話コンテンツ制御手法 石川 博規 堤 修平 山本 大介 高橋 直久 名古屋工業大学大学院工学研究科情報工学専攻 466 8555 愛知県名古屋市昭和区御器所町 E-mail: hiroki@moss.elcom.nitech.ac.jp, {tsutsumi.shuhei,yamamoto.daisuke,naohisa}@nitech.ac.jp あらまし 我々は音声インタラクションシステム構築ツールキット MMDAgent [1] を用いた研究を行ってきた MMDA- gent は FST(有限状態遷移機械) [12] に基づいた FST ファイルと呼ばれる対話スクリプトファイルを編集することで 自由に音声対話内容を編集することができる [2] 従来の MMDAgent においては 特定の目的と状況に合わせてその 都度1つの FST ファイルを作成することが一般的であった そこで 本研究では 対話シナリオを独立した対話内容 を持つ複数の FST ファイルを分割し 並行制御を行う手法を提案する 提案手法によって FST ファイルの保守性 や移植性が高まると考えている キーワード 音声対話システム, MMDAgent, FST, デジタルコンテンツ, コンテンツ管理, モジュール化, 排他制御 1. は じ め に プによる先行研究 [13] においても音声対話システムを容易にマ ルチタスクで使用できるようする必要性が述べられている ま 近年 モジュール化されたコンテンツを配信する GooglePlay た FST ファイルの保守性を向上させるため FST ファイル や AppStore 等のシステムやサービスが普及している これら を対話シナリオに応じて分割し 並列実行する方法も考えられ のシステムやサービスでは 独立したモジュール化されたコン ていた しかし 従来では後述する FST 競合といった問題か テンツをユーザが任意に切り替えることで 自分好みの機能を ら FST ファイルの並列実行を効果的に実現することが出来 容易に構築していくことが可能となっている 一方で我々は音 なかった そこで 本研究では 分割され独立した対話シナリ 声インタラクションシステム構築ツールキット MMDAgent [1] オを持つ FST ファイルを モジュール化した FST ファイルと を用いた研究を行ってきた MMDAgent は音声認識 音声合 定義し 複数のモジュール化した FST ファイルを並行制御す 成 3D モデル描写を高度に統合したマルチモーダルな音声対 る手法を実現することを目的とする これにより 個々の FST 話システムであり FST ファイルと呼ばれるテキスト形式の ファイルに記述される状態数が少なくなり保守性が向上した 対話スクリプトファイルを編集することで自由に音声対話内 また 目的に合わせて動作させる FST ファイルを動的に変更 容を編集することができる [2] MMDAgent の実行画面の例を することも可能になった例えば 図 3 のように 大学の南門と 図 1 に示す 音声対話を記述する言語としては XML ベースの 北門それぞれにおいて構内を案内する音声対話システムを考え VoiceXML [9] や XISL [10] 等がある また VoiceXML を用 ると 従来では構内の案内を1つの FST ファイルで網羅した いたマルチモーダル音声対話システムを構築する試み [11] もあ 結果 数千行という膨大なサイズとなっていたものが 個々の るが MMDAgent においてはテキストベースの FST ファイル 建物の案内に分割することで数十行単位までサイズが小さく を用いて音声対話を記述する FST ファイルは FST(有限状態 なり 保守性を高められると考えられる また 1号館や21 遷移機械) [12] に基づいており FST ファイルと FST は1対1 号館の案内のように両方の門で共通している FST ファイルを に対応し FST ファイルを読み込んだ数だけ FST が生成され それぞれの音声対話システムに容易に追加することができると る FST ファイルは図 2 のような形式で記述される 状態番 考えられる 号 遷移先状態番号 遷移条件 (入力イベント) 遷移時のコマ 提案手法を実現する上で 従来の MMDAgent において次の ンド (出力コマンド) の4つ組で表せられる FST は独立した 現在の状態番号を持ち 状態番号と遷移条件となっている入力 イベントが共に合致した時に状態遷移を実行する 実行中の各 FST は MMDAgent の対話管理部によって制御されている 従 来の MMDAgent においては 特定の目的と状況に合わせてそ の都度 FST ファイルを作成することが一般的であった しか し そのような利用法では状態数の増加によって 対話シナリ オの編集が煩雑となる傾向があり また FST ファイルの保守 性が低いといった問題があった MMDAgent とは異なる音声 対話システムではあるが 豊橋技術科学大学の小暮らのグルー 図 1 MMDAgent の実行画面
1(FST ) FST FST FST 2(FST ) FST FST 4 FST MMDAgent FST FST 5 MMDAgent FST FST FST MMDAgent FST FST FSTFST 状態番号, 遷移先状態番号, 遷移条件, 出 FST 例 / ε ε / ε / は 1 10 11 12 FST 2 SYNTH_EVENT_STOP / ε FST 独 した機能を持った FST 追加 変更 削除 / 変更 / が容易に える FST A 北門 FST B FST FST 1 FST MMDAgent FST 2 1 FST FST 1. 同じ認識キーワードで状態遷移する複数の FST が実 2. 同じ 声認識内容で作成者が状態遷移すると FSTFST FSTA 1 FSTB 99 1 2 声認識 A 99 100 認識 B FST FSTFST 4 FST FST 1 12 声認識 1 22 声認識 5 2. FST FST 1. MMDAgent 1 MMDAgent 6 FST FST FST FST FST FST 3 FST
2 MMDAgent FST FST 声認識部 POP イベント 処理フレーム終了後 6 出 3. FST A FST B FST C. MMDAgent 3. 1 FST MMDAgent FST FST MMDAgent MMDAgent FST FST FST FST FST FST FST FST Active Inactive FST MMDAgent Active/Inactive Active Inactive FST FST Active Active FST Active FST Active/Inactive FST Active FST FST Active Active FST Active FST Inactive 3. 2 MMDAgent FST 3. 1 FST FST FST FST FST Active FST FST pop pop pop Active FST
Active Active FST Inactive FST push Active FST Inactive 4. 4. 1 MMDAgent MMDAgent C++ C++MMDAgent 3D MMDAgent FST FST NoSyncModeQueueSyncModeSyncMode FST FST 4. 1 @ FST 3. 1 4. 1 FST FST 4. 1 # @ WAITSTATE 0 1 # @ TRANSITIONMODE QueueSync 0 31 RECOG_EVENT_STOP <eps>... 4. 2 NoSyncMode NoSyncMode MMDAgent Active/Inactive FST FST FST 1. FST FST QueueSyncMode 3. 1 FST 3. 2 FST FST Active FST Active FST Inactive FST push Active FST pop FST MMDAgent FST FST FST FST QueueSyncMode FST FST SyncMode 3. 1 FST Active FST Inactive FST 5. 5. 1 FST
MMDAgent FST 6 2goukan.fst 2 FST 51goukan.fst 51 FST FST 51 51 seiza.fst 12 FST uranai.fst 12 FST weatherforecast.fst FST countup.fst FST MMDAgent SYNTH EVENT START 6 FST 6 3 FST FST 6C 3 = 20 A 3 NoSync- Mode B 3 SyncMode C FST 1 20 3 = 60 C 2goukan.fst 51goukan.fstweatherforecast.fst QueueSyncMode FST 1 C FST 2goukan.fst QueueSyncMode 51goukan.fst QueueSyncMode seiza.fst SyncMode uranai.fst SyncMode weatherforecast.fst QueueSyncMode countup.fst NoSyncMode QueueSyncMode 51goukan.fst Active FST QueueSyncMode Active FST FST 2goukan.fst 51goukan.fst seiza.fst uranai.fst SyncMode FST seiza.fst MMDAgent uranai.fst MMDAgent FST QueueSyncMode MMDAgent FST SyncMode countup.fst NoSyncMode FST FST FST NoSyncMode FST 5. 2 FST 2 3 3 C MMDAgent FST
2 OK MMDAgent OKi FST FST NG i FST FST 3 OK OK NG A 0% 60% 40% B 20% 30% 50% C 80% 20% 0% A FST FST 3D FST B FST FST FST FST FST FST FST FST FST FST FST B FST (SyncMode) FST FST FST C FST FST FST FST C FST FST C OK 20% seiza.fst uranai.fst uranai.fst MMDAgent seiza.fst FST [1] Akinobu Lee, Keiichiro Oura, Keiichi Tokuda, MMDAgent - A fully open-source toolkit for voice interaction systems, Proceedings of the ICASSP 2013, pp. 8382-8385, 2013.5 [2],,. SP, 111(365)pp. 153-1572011 [3],,,, 2014 (2), pp. 200, 2014.3 [4],,,, 2014 2014, pp. 789-795, 2014.7 [5],,,, 2014 2014, pp. 781-788, 2014.7 [6] Wakabayashi Keitaro, Daisuke Yamamoto, Naohisa Takahashi, A Voice Dialog Editor Based on Finite State Transducer Using Composite State for Tablet Devices, Computer and Information Science 2015, Springer International Publishing, pp. 125-139, 2016 [7],,,, 2014 2014, pp. 294-300, 2014.7 [8] Yanagi Tomohiro, Daisuke Yamamoto, Naohisa Takahashi, Development of mobile voice navigation system using userbased mobile maps annotations, Computer and Information Science (ICIS), 2015 IEEE/ACIS 14th International Conference on. IEEE, pp. 373-378, 2015. [9] VoiceXMl Forum technical working group, Voice Extensible Markup Language (VoiceXML) version2.0, http://www.w3.org/tr/voicexml20/ [10],,,,, XISL,, pp. 43-48, 2001.7 [11],,,,, VoiceXML,, pp. 43-48, 2001.10 [12] Allauzen C., Riley M., Schalkwyk J., Skut, W., Mohri M., OpenFst: A general and efficient weighted finite-state transducer library, Implementation and Application of Automata Springer Berlin Heidelberg, pp. 11-23, 2007 [13],,,,, pp. 139-144, 2002.2 [14],..,,, D-II, No.5, pp. 608-615, 2003.5