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 においては、特定の目的と状況に合わせてその都度１つの 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 を用ると，従来では構内の案内を１つの FST ファイルで網羅したいたマルチモーダル音声対話システムを構築する試み [11] もあ

結果，数千行という膨大なサイズとなっていたものが，個々のるが，MMDAgent においてはテキストベースの FST ファイル

建物の案内に分割することで数十行単位までサイズが小さくを用いて音声対話を記述する．FST ファイルは FST(有限状態なり，保守性を高められると考えられる．また，１号館や２１遷移機械) [12] に基づいており，FST ファイルと FST は１対１

号館の案内のように両方の門で共通している FST ファイルを，に対応し，FST ファイルを読み込んだ数だけ FST が生成されそれぞれの音声対話システムに容易に追加することができるとる．FST ファイルは図 2 のような形式で記述される．状態番考えられる．

号，遷移先状態番号，遷移条件 (入力イベント)，遷移時のコマ提案手法を実現する上で，従来の MMDAgent において次のンド (出力コマンド) の４つ組で表せられる．FST は独立した現在の状態番号を持ち，状態番号と遷移条件となっている入力イベントが共に合致した時に状態遷移を実行する．実行中の各

FST は MMDAgent の対話管理部によって制御されている．従来の MMDAgent においては，特定の目的と状況に合わせてその都度 FST ファイルを作成することが一般的であった．しかし，そのような利用法では状態数の増加によって，対話シナリオの編集が煩雑となる傾向があり，また，FST ファイルの保守性が低いといった問題があった．MMDAgent とは異なる音声対話システムではあるが，豊橋技術科学大学の小暮らのグルー

図 1 MMDAgent の実行画面

ような問題点が挙げられる．

教えて」という音声入力に対して天気予報と占いのそのどちら問題点 1(FST 競合)

かしか実行されない．また，２つの FST ファイルにそれぞれ全ての FST が独立かつ並列に動作するため，複数の FST を実行した場合に FST ファイルの作成者が予期しない動作をする可能性がある．

天気予報と占いの音声対話を記述した場合，前述の FST 競合が発生し，不自然な動作となってしまう．
そこで本研究ではこれらの問題点を解決するため，次のアプ

問題点 2(FST 協調の欠如)

ローチをとる．

１つの入力イベントに対して，複数の FST が協調的に動作アプローチ 1

FST に優先度を付与し，それと同時に MMDAgent の対話管することができない．

FST 競合の例を図 4 に示す．同じ認識キーワードで状態遷移する複数の FST が実行中であるとき，従来の MMDAgent で理部へ排他制御を導入し FST の状態遷移を制御する．
アプローチ 2は遷移条件に合致した全ての FST で同時に状態遷移が起きてアプローチ 1 に合わせて，各 FST への入力イベントを一時しまい，結果として音声合成やモーションなど同時に２つ以上的に保存するキューを用いて，順序良く FST を状態遷移できが共存できないコマンドがほぼ同時に実行されてしまう問題がるようにする．

あった．ほぼ同時に音声合成やモーションのコマンドが実行されると後から実行されたコマンドで上書きされてしまうため，音声再生の途中で次の音声再生が始まってしまう，モーションの途中で次のモーションが始まってしまうといった現象が発生する．これらはどれもシステムのユーザにとって不自然な動作に見えてしまうと考えられる．
次に FST 協調の欠如の例を図 5 に示す．従来の MMDAgent
では，１回の音声入力に対して複数の FST を協調的に動作させたい時，例えば「今日の天気と占いと教えて」という音声入力に対して天気予報をする FST と占いをする FST を順番に実



同じ認識キーワードで状態遷移する複数のFSTが実⾏
2.
同じ⾳声認識内容で作成者が状態遷移すると
1.
同じ認識キーワードで状態遷移する複数のFSTが実⾏FSTFST

2.
同じ⾳声認識内容で作成者が状態遷移するとFSTFST
A
1 FST
FSTB 99  
1.

1 2 ⾳声認識|A

99 100 認識|BFSTA
1  FST
B 99 FST!"#$%&'FST()*+,-.-FST/ !"#0123%$40
1 2 ⾳声認識| A
99 100 認識| B

図 4 FST 競合の例
FST!"#$%&'
FST()*+,-.-FST/ !"#0123%$40

行するといったことができない問題があった．より具体的には，
従来の MMDAgent において１つの FST ファイルに天気予報と占いの両方の音声対話を記述した場合，「今日の天気と占いをFST
FSTFST 


状態番号，遷移先状態番号，遷移条件，出⼒ FST


FSTFST
FST
  状態番号，遷移先状態番号，遷移条件，出⼒!
" # $%&'  !  " #  FST  
/ ε ! " # $%&'
ε / ε / は〜! 1 " #  
101211     / εFST

1011112A




"

YAMAMOTOLABORATORY!

YAMAMOTOLABORATORY  !
# 

FST$%&'()*+,-.
1 12 ⾳声認識|56 56789:;;
1 22 ⾳声認識|<4 <49:;;"/=>?@FSTABCDEFGHI-$405678
JK/L9:M0

YAMAMOTOLABORATORY

図 5 FST 協調の欠如の例
YAMAMOTOLABORATORY

実現上の課題 1
従来の MMDAgent の対話管理部では，入力イベントを図 6のように全ての FST に同一処理フレームで流し込むようになっ北門 
FSTている．また，実行中の FST 群の処理順が固定されている．さらに，各 FST は実行中の他の FST の状態を考慮していない．
そのため，状態遷移条件に合致した全ての FST で状態遷移が並列に実行されることになり，FST ファイルの作成者が意図しB

図 3 モジュール化された FST ファイルの活用例



る上で次のような実現上の課題が挙げられる．


/変更/が容易に⾏える FST

1. のアプローチに基づき MMDAgent の対話管理部を改良す独⽴した機能を持った
FST  追加・変更・削除




 !
"# $%&'(

2. 実現上の課題

図 2 FST
ファイルの記述形式
SYNTH_EVENT_STOP / ε

FST

例SYNTH_EVENT_STOP / εε / ε / は〜ていない不自然な動作をする可能性がある．
2

実現上の課題 2
FST A
FST B
FST C
従来の MMDAgent の対話管理部では，前述のように入力イを用いた排他制御のアルゴリズムを次に示す．

ベントを全ての FST に同一フレームで流し込むようになってら遷移条件をみたしているか判定する

おり，また，入力イベントは処理フレーム終了後に破棄されている．そのため，入力イベントに合致する FST の状態遷移を⼊⼒タイミングをずらして実行するようなことが出来ない．
出⼒
⾳声認識部





POP

⼊⼒イベント


FST A
FST B

処理フレーム終了後⼊⼒

⼊⼒
出⼒

FST C..
.

YAMAMOTO
図 6 従来の MMDAgentの対話管理部
LABORATORY••

全ての FST に対して入力イベントと現在の状態番号かActive な FST がないときは，優先度順に各 FST に対して次のことを実行する– 遷移条件を満たしているとき∗ 状態遷移させる∗ 遷移後の状態番号を見て，待機状態番号以外であったらActive な状態に切り替える– １回でも状態遷移が実行されていたら，そのフレームの状態遷移処理を終了する•

Active な FST があるときは，Active な FST に対してのみ次のことを実行する– 遷移条件を満たしているとき∗ 状態遷移させる∗ 遷移後の状態番号を見て，待機状態番号であったら Inactive な状態に切り替える
3. 2 イベントキューを用いた状態遷移の遅延実行
従来の MMDAgent の対話管理部では入力イベントを同一処
理フレームで全ての FST に流し込んだ後，破棄するという制

3. 実 現 手 法
3. 1 FST の優先度付けと排他制御
MMDAgent において，FST はクラスを用いて実装されており，実行時には FST の数だけクラスからオブジェクトがインスタンス化される．MMDAgent の対話管理部はそれらオブジェクトをリスト構造で保持し制御している．従来の MMDAgentの対話管理部での FST の制御方式では，リストの先頭から順番に全ての FST に入力イベントを与えて状態遷移を行っていた．そこで，先頭から順番に処理をする部分は変えずに，FSTのリストを動的に入れ替えられるようにすることに加え，同一処理フレームでは最初に遷移条件を満たした FST のみを状態遷移させ，以降の FST の処理をスキップする制御方式に変更した．これにより，同一処理フレーム内では状態番号と入力イベントから遷移条件を満たしている FST を最大１つだけ状態遷移させることになる．また，リストの最初から順番に処理を行うためリストの順番を入れ替えることで FST の優先度を変更することができる．
排他制御を行う手法として，FST を Active と Inactive の２つの状態に分けるようにした．各状態は FST の待機状態番号と現在の状態番号から判定する．待機状態番号とは MMDAgent
がユーザの入力を待っておりかつ対話の途中でない状態番号を指す．主に対話開始のトリガーとなっている音声入力待ちの状
態番号が待機状態番号に当たる．Active/Inactive の２状態は次のように定義される．

Active FST の現在の状態番号が待機状態番号以外
Inactive FST の現在の状態番号が待機状態番号
Active な状態は対話を実行中である状態を指し，また，Activeな FST は同時に１つまでしか存在しないように制御する．そして，Active な FST を優先して状態遷移させる．Active/Inactive

御を行っていた．本研究における提案手法では 3. 1 で述べた

FST の優先度付けと排他制御に加え，１処理フレームで入力イベントを破棄するのではなく，適切なタイミングで FST に入力イベントを流し込み状態遷移を制御するという状態遷移の遅延実行を行う．実際には何度も遷移条件に合致しているのか判定することを防ぐため，状態遷移情報を保持し，適切なタイミン
グでその情報を用いて FST を状態遷移させるようにしている．
状態遷移情報には遷移先状態番号と出力コマンドが含まれている．このような情報を保持するキュー構造をイベントキューと定義する．また，イベントキューは FST のクラスに含まれている．イベントキューを用いた状態遷移の遅延実行のアルゴリ
ズムを次に示す．

•全ての FST に対して入力イベントと現在の状態番号から遷移条件をみたしているか判定する•

Active な FST がないとき– 優先度順に各 FST に対して先にイベントキューを用いた状態遷移を行う∗ イベントキューから状態遷移情報を pop 可能であれば，状態遷移情報を pop する∗ pop された状態遷移情報があった場合· 状態遷移させる· 遷移後の状態番号を見て，待機状態番号以外であったらActive な状態に切り替える· イベントキューをクリアする∗ １回でも状態遷移が実行されていたらそのフレームの状態遷移処理を終了する– 優先度順に各 FST に対して次のことを実行する∗ 遷移条件を満たしているとき· 状態遷移させる· 遷移後の状態番号を見て，待機状態番号以外であったらと同じ制御方式である．Active/Inactive 関係なく全ての FSTActive な状態に切り替える∗ １回でも状態遷移が実行されていたら，そのフレームのを独立かつ並列に実行する．入力イベントが全ての FST に同一処理フレームで流し込まれる制御を行う．このモードを使用

状態遷移処理を終了する•する場面としては，音声認識内容をカウントするだけの FSTActive な FST があるときファイルを実行する場面などが考えられる．例えば，「こんに– 全ての Inactive な FST において，遷移条件を満たしているとき，状態遷移情報を push するちは」と音声認識した回数をカウントするだけで，音声合成や– Active な FST が遷移条件を満たしているときモーションの再生等の２つ以上が同時に共存不可能なコマンド∗ 状態遷移させるを使用しないのであれば，排他制御を行わなくても 1. で述べた

∗ 遷移後の状態番号を見て，待機状態番号であったらような FST 競合は発生しないと考えられる．また，このような内容の FST ファイルを排他制御した場合，正しいカウントInactive な状態に切り替えるが取れないなど意図した通りの結果が得られないことが考えら

4. プロトタイプシステム

れる．

4. 1 プロトタイプシステム概要

QueueSyncMode

既存の MMDAgent のプログラムの一部を改造する形でプ

3. 1 で述べたアルゴリズムを用いて FST の排他制御を行う．

ロとタイムシステムの実装を行った．MMDAgent のプログラ

また，それに加えて 3. 2 で述べたアルゴリズムを用いて FST

ムは基本的に C++で記述されており，本研究で実装した内容の状態遷移の遅延実行を行う．このモードでは排他制御により，も全て C++で記述した．MMDAgent は音声認識，音声合成，同時に２つ以上の FST を並列実行しない．Active な FST を

3D 描写，対話管理などの各機能がモジュール化されており，そ優先して状態遷移させ，また，Active な FST は１つまでしかれぞれプラグインとして実装されている．そこで本研究におい存在しないように制御する．しかし，Inactive な FST が遷移ては対話管理を行うプラグインのみを改造し，それ以外の部分条件を満たす入力イベントがあったとき，イベントキューに遷は変更していない．これにより対話管理部以外の機能に変更が移情報を push し，Active な FST が存在しなくなったときにあっても容易にマージすることができる．また，プロトタイプ

順次 pop するため，入力イベントの取りこぼしが起きない．まシステムでは対話管理部において，３つの排他制御レベルを選た，１つの入力イベントによって複数の FST が優先度順に順択可能にするように考えている．そのようにする理由としは，次状態遷移するような制御が可能である．このモードを使用す

排他制御を実装したことで従来の MMDAgent で可能であったる場面としては，ユーザが１回の発話で複数の対話内容を要求対話処理ができなくなる場合があるからである．そこで，FSTした時が考えられる．例えば，「１号館と２１号館がどこにあるファイルの用途と内容によって FST ファイルの作成者が排他制か教えて．
」というユーザの発話に対して音声認識部は１号館、御のモードを選択可能にしたほうが良いと考えた．３つの排他２１号館といったキーワードを認識する．従来の MMDAgent

制御モードは，NoSyncMode，QueueSyncMode，SyncModeの対話管理部では，１つの FST ファイルに両方の記述があっである．各排他制御モードは FST ファイル単位で設定することた場合は入力イベントが１処理フレームで破棄されてしまう問ができるようにする．FST ファイルにソースコード 4. 1 のよう題からどちらか一方の案内しかせず，また，それぞれ別の FSTに記述することで，排他制御のモードを設定する．@マークがファイルに記述した場合は入力イベントを常に全ての FST に先頭につけられた行が FST の排他制御モードの設定するコマ流し込んでしまう制御の問題から FST 競合が発生していた．提ンドとなっている．また，3. 1 で述べた待機状態番号もソース

案システムの QueueSyncMode では FST の排他制御とイベン

コード 4. 1 のように FST ファイル中に記述することで，待機トキューによる状態遷移の遅延実行により，各案内を別の FST状態番号の範囲を FST ファイルごとに設定することができる．


ソースコード 4. 1 待機状態番号と排他制御モードの設定

ファイルに記述すると，それぞれの案内を優先度順に順番に実行することができ，より自然な音声対話を可能にする．
SyncMode# 待機状態番号の設定3. 1 で述べたアルゴリズムを用いた FST の排他制御を行う．

@ WAITSTATE 0 1

ただし，こちらのモードではイベントキューによる状態遷移# 排他制御モードの設定の遅延実行は行わないため，Active な FST が存在するときは@ TRANSITIONMODE QueueSync

Inactive な FST では遷移条件に合致した入力イベントがあっ
031

RECOG_EVENT_STOP|こんにちは

<eps>

...



4. 2 各排他制御モードの実装
次に，各排他制御モードのプロトタイプシステムにおける実装を述べる．

NoSyncModeNoSyncMode では排他制御を行わない従来の MMDAgentても状態遷移を行わない．これにより入力イベントの取りこぼしが発生する可能性があるが，３つの排他制御モードの中で最も排他制御のレベルが高い制御方式であると考えられる．

5. 評 価 実 験
5. 1 目的と方法
評価実験の目的は，作成したプロトタイプシステムを用いて実験を行い，複数のモジュール化された FST ファイルを並行実行した場合に MMDAgent の対話管理部が改良されているかど

表 1 パターン C の排他制御モード

うか評価することである．また，上手く動作しなかったパター

FST ファイル 排他制御モード
2goukan.fst QueueSyncModeンが存在した場合は，可能ならばその原因と対処法について考

51goukan.fst QueueSyncMode

察する．

seiza.fst SyncMode

実験で用いた FST ファイルは次の 6 個である．

2goukan.fst

uranai.fst SyncModeweatherforecast.fst QueueSyncMode

2 号館を案内する FST ファイル．案内パネルは用いない．

countup.fst NoSyncMode

51goukan.fst
51 号館を案内する FST ファイル．案内パネルを使用する．
この FST ファイルでは，案内が開始されると標準で表示されているメニューパネルが削除され，代わりに 51 号館の位置を示すパネルが追加される．そして，案内が終了すると 51 号館のパネルが削除され，再び標準のメニューパネルが追加されるという流れで動作する．

seiza.fst

取りこぼしが発生しない QueueSyncMode を用いた方がより自然な対話を実行可能であると考えている．例えば，パネルを出して説明する 51goukan.fst は Active 状態で説明を続ける時間が比較的長く，対話の途中で２号館の案内や天気など，別のFST についてユーザから入力がある場合が考えらるが，そのような場合であっても，QueueSyncMode であれば，現在 Active状態になっている FST ファイルの対話が終了してから，途中黄道 12 星座の説明をする FST ファイル．簡単化のため，今回の実験では双子座のみの説明を行う．

uranai.fst

で入力のあった FST ファイルの方へと切り替えていくことが可能である．また，「２号館と５１号館を案内して」といった入力があった場合，2goukan.fst と 51goukan.fst の両方で遷移条

黄道 12 星座に基づいた星座占いを行う FST ファイル．簡単化のため，今回の実験では占うのはふたご座のみで，占いの結果は完全ランダムである．

weatherforecast.fst
明日の天気予報を行う FST ファイル．簡単化のため，今回の実験では天気予報の結果は完全ランダムである．

countup.fst

件が満たされることになるが，そのような場合であっても，２号館と５１号館の案内を両方とも順番待ちをして実行していくことが可能である．

seiza.fst と uranai.fst を SyncMode にした理由としては，これらの FST ファイル間で対話開始の遷移条件となっている入力イベントが重複していることが挙げられる．seiza.fst の方は，「ふたご座」と入力すると MMDAgent がふたご座自体の説明音声認識の回数をカウントする FST ファイル．カウントを確認できるように MMDAgent のプログラムを若干変更している．SYNTH EVENT START（何かしら音声認識を開始すると発行されるイベント）が発行された回数をカウントして画面上に表示する．

をする．一方 uranai.fst の方は，「ふたご座」と入力すると生まれ月がふたご座に対応している人の運勢について MMDAgentが話す．これらの FST ファイルを QueueSyncMode で実行す
ると，「ふたご座」という入力に対して，ふたご座自体の説明とふたご座の人の運勢の両方を MMDAgent が行うことになる．

6 個のモジュール化された FST ファイルを用意し，それら 6

このような動作の方が自然に感じられる可能性はあるが，今回個の中から 3 個を選択し並行実行する．実行中の各 FST ファの実験では事前に動作させてみた結果から，優先度の高いどちイルに対して，正常に対話が可能かどうか検証する．正確に測定するため対話に用いる入力としてキーボードによる入力を用い，擬似的に音声入力を再現した．FST ファイルの組み合わせは全部で 6 C3 = 20 通りとなる．さらに，各組み合わせに対して次のようなパターンで実験を行う．
パターン A

全て従来手法で実行した場合（3 個全て NoSync-らか一方のみを話す方がより自然な対話であると仮定した．これらの FST ファイルを SyncMode で実行することで，優先度の高いどちらか一方のみを開始する対話の処理が可能である．

countup.fst を NoSyncMode とした理由としては，この FSTファイルが音声認識イベントやキー入力イベントの回数をカウントするだけであり，FST 競合を起こす可能性がある音声合成

Mode で排他制御）やモーション再生などのコマンドメッセージを発行しないもの

パターン Bだからである．また，正確に入力イベントをカウントするため全てイベントキューなしの排他制御手法で実行した場合には，入力イベントが発行されたその時に状態遷移する方が良（3 個全て SyncMode で排他制御）
パターン C

それぞれの FST ファイルの排他制御モードを表1 のようにした場合
よって，全体の実験総数は 20 × 3 = 60 通りとなる．
パターン C をこのように設定した理由を述べる．2goukan.fst，51goukan.fst，weatherforecast.fst を QueueSyncMode にした
理由としては，これらの FST ファイルの間では認識キーワードなどの対話が開始する遷移条件となっている入力イベントが重複していないことが挙げられる．基本的には入力イベントのく，FST の排他制御が邪魔となる．そこで，排他制御を行わな
い NoSyncMode でこの FST ファイルを実行する．

5. 2 結果と考察
FST ファイルの切り替えと排他制御モードに基づく実験の結果と，その結果からの考察を述べる．評価の基準を表 2 に，実験結果を表 3 に示す．
表 3 より，パターン C が最も結果を得られたことが分かる．
従来の MMDAgent の対話管理部の FST 制御手法に近いパ

実験の評価基準移する．そこで，uranai.fst は「占い」と入力すると，「それでは実行時の MMDAgent の動作に対して不自然な点占います．あなたの星座を教えてください．
」と MMDAgent か

表2OKがない．

OKi∗

FST 競合や FST 協調の不足により特定の条件下では異常な動作をする．

N Gi

FST 競合や FST 協調の不足により致命的に異常ら応答があるが，その後に，「ふたご座」と入力しても seiza.fstの方が優先度が高い場合，先に占いでなく星座の説明を始めてしまう．今回の実験で発生した前述の問題を解決するためには，直前に実行された FST ファイルの優先度をシステムで自動的な動作をする．に上げるような処理が必要であると考えている．
表 3 各排他制御パターンにおける評価結果
排他制御パターン OK の割合
パターン A0%

OK ∗ の割合 N G の割合
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 が「占い」と「ふたご座」のどちらの入力でも状態遷

文

献[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-157，2011[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, Computerand 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 eﬃcient 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