【新規性喪失の例外の表示】特許法第30条第2項適用 平成24年5月24日に2012年度人工知能学会全国大会(第26回)論文集102−OS−18−4にて公開した。〔刊行物等〕 平成24年6月12日に2012年度人工知能学会全国大会(第26回)にて公開した。
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
図1は、本発明の一実施形態による対話システム100の構成を示す図である。対話システム100は、発話検出・音声認識部101と、発話特徴抽出部103と、対話管理部105と、言語理解処理部107と、を含む。発話検出・音声認識部101は、ユーザ(話者)の発話の検出と音声認識とを同時に行う。発話特徴抽出部103は、発話検出・音声認識部101によって検出されたユーザの発話の特徴を抽出し、ユーザの発話が対話システム100に向けられたものであるかどうかを判別する。発話検出・音声認識部101及び発話特徴抽出部103については後で詳細に説明する。言語理解処理部107は、発話検出・音声認識部101によって得られた音声認識の結果に基づいて、ユーザの発話の内容を理解するための処理を行う。対話管理部105は、発話特徴抽出部103によって対話システム100に向けられた発話であると判別された発話について、言語理解処理部107によって得られた発話の内容に基づいて、ユーザに対する応答を作成するための処理を行う。ユーザの独り言や相槌などは、発話特徴抽出部103によって、対話システム100に向けられた発話ではないと判別されるので、対話管理部105がユーザに対する応答を作成することはない。対話システム100は、他にユーザ向けの言語を生成する言語生成処理部、ユーザ向けの言語の音声を合成する音声合成部などを含むが、本発明には関係がないので
図1には示していない。
【0019】
発話検出・音声認識部101は、一例として、Juliusのdecoder-vadモードによる発話区間検出及び音声認識を行う。Juliusのdecoder-vadとは、Julius ver.4で実装されたコンパイル時のオプションの一つであり(李晃伸.大語彙連続音声認識エンジンJulius ver.4. 情報処理学会研究報告報、2007-SLP-69-53.一般社団法人情報処理学会、2007.)、デコーディング結果を用いて発話区間検出を行う。つまり、デコーディングの結果、最尤結果が無音単語である区間が一定フレーム以上続くとき、そこを無音区間と決定し、辞書中の単語が最尤であった場合は、それを認識結果として採用する(酒井啓行、ツィンツアレクトビアス、川波弘道、猿渡洋、鹿野清宏、李晃伸.実環境ハンズフリー音声認識のための音響モデルと言語モデルに基づく音声区間検出と認識アルゴリズム(電子情報通信学会技術研究報告.SP,音声、Vol. 103,No.632, pp.13-18,2004-01-22.))。この結果、発話区間検出と音声認識を同時に行うこととなるため、振幅レベルや零交差数など事前設定するパラメータに依存せず、高精度な発話区間検出が可能となる。
【0020】
発話特徴抽出部103は、最初に発話の特徴を抽出する。つぎに、発話特徴抽出部103は、対象とする発話に対して受諾(システムに向けた発話)か棄却(そうでない発話)かを判断する。一例として、具体的に、発話特徴抽出部103は、各特徴を説明変数とする以下のロジスティック回帰関数を使用する。
【数1】
ロジスティック回帰関数の目的変数として、受諾に1、棄却に0を割り当てる。x
kは、以下に説明する各特徴の値、a
kは、各特徴の係数であり、a
0は定数項である。
【0021】
表1は、特徴の一覧を示す表である。x
iは特徴を表す。実際の対話中で利用するため、特徴にはその発話までに得られる情報のみを使用した。値の区間が定まっていない特徴の値は、値を算出した後、平均が0、分散が1となるように正規化した。
【表1】
【0022】
発話の長さ
x
1は入力された発話の長さを表す。単位は秒である。発話が長いほどユーザが意図して行った発話である可能性が高い。
【0023】
図2は発話の長さ(発話長)を説明するための図である。
図2乃至
図5において、太い線は発話区間を示し、細い線は非発話区間を示す。
【0024】
直前の発話との時間関係
特徴x
2からx
5は、対象とする現在の発話と直前の発話との時間関係を表す。x
2は発話時間間隔(インターバル)であり、現在の発話の開始時刻と、その前のシステム発話の終了時刻との差と定義される。単位は秒とする。
【0025】
図3は発話時間間隔(インターバル)を説明するための図である。
【0026】
x
3は、ユーザ発話が連続していることを表す。つまり、直前の発話がユーザによる発話であった場合に1とする。なお、一発話は、機械的に一定長の無音区間で区切ることで認定しているため、ユーザ発話やシステム発話が連続することがしばしば起こる。
【0027】
x
4及びx
5は、バージインに関する特徴である。バージインは、システムの発話中に、ユーザが割り込んで話し始める現象である。x
4は、バージインのうち、ユーザの発話区間が、システムの発話区間に含まれている場合に1とする。つまり、ユーザがシステムの発話中に割り込んだが、システムより先に発話を止めた場合である。x
5は、バージインタイミングである。システム発話の長さに対する、システム発話の開始時刻からユーザ発話の開始時刻までの間の時間の比である。つまり、x
5は、システムの発話開始時刻を0、システムの発話終了時刻を1として、システムの発話のどの部分でユーザが割り込んだかを0と1の間の数値で表している。
【0028】
図4は、x
4=1となる例を示す図である。ユーザの独り言や相槌などはこの例に該当する。
【0029】
図5は、システム発話を、ユーザが発話により遮る一般的なバージインの例を示す図である。この場合、x
4=0となる。
【0030】
システムの状態
x
6はシステムの状態を表す。システムの状態は、直前のシステム発話が、ターン(発言権)を譲与するものである場合に1とし、ターンを保持する場合に0とする。
【0031】
表2は、ターンを譲与または保持するシステム発話の例を示す表である。1番目及び2番目の発話は、システムの応答に続きがあるため、システムがターンを保持していると考える。一方、3番目の発話は、システムが話し終えてユーザに質問をしているため、システムが発言権をユーザに譲与しているとする。この保持と譲与の認定は、システム発話に対して付与していた14種類のタグを分類することにより行った。
【表2】
表2においてSとUは、それぞれ、システムとユーザを表す。「xx−yy」は、発話の開始および終了時刻(単位:秒)を表す。
【0032】
発話の内容(発話の言語表現)
特徴x
7からx
11は、発話の表現中に、以下に挙げる表現が含まれていることを表す。x
7は、「はい」、「いいえ」、「そうです」など、システムの発話に対する返答を表す表現11種類が含まれているときに1とする。x
8は、「教えてください」などの要求の表現が含まれているときに1とする。x
9は、システムによる一連の説明を中断させる、「おわり」という単語が含まれている場合に1とする。x
10は、フィラーを表す「えーっと」や「へー」などの表現が含まれる場合に1とする。ここで、フィラーとは、対話中の話し手(ユーザ)の心的な情報処理操作を表す表現である。フィラーは人手で21種類を用意した。x
11は、内容語を表す244後のどれかが含まれる場合を1、それ以外を0とする。内容語は、地域名や建物など、システムで使用される固有名詞である。
【0033】
音声認識結果から得る特徴
x
12は、当該発話に対する音声認識結果と検証用音声認識器との間の、音響尤度差スコアの差である(Komatani, K., Fukubayashi, Y., Ogata, T., and Okuno, H. G.,: Introducing Utterance Verification in Spoken Dialogue System to Improve Dynamic Help Generation for Novice Users, in Proc. 8
th SIGdial Workshop on Discourse and Dialogue, pp. 202-205 (2007))。検証用音声認識器の言語モデルには、julius ディクテーション実行キットに含まれる、ウェブから学習した言語モデル(語彙サイズ6万)を使用した。上記の差を発話長で正規化したものを本特徴とする。
【0034】
図6は、本発明の一実施形態による対話システムの動作を示す流れ図である。
【0035】
図6のステップS1010において、発話検出・音声認識部101が、発話検出及び音声認識を行う。
【0036】
図6のステップS1020において、発話特徴抽出部103が、発話の特徴を抽出する。具体的には、現在の発話について、上述のx
1乃至x
12の値を定める。
【0037】
図6のステップS1030において、発話特徴抽出部103が、発話の特徴に基づいて、発話が対話システムに向けられたものであるかどうか判別する。具体的には、式(1)のロジスティック回帰関数を使用して、対象とする発話に対して受諾(システムに向けた発話)か棄却(そうでない発話)かを判断する。
【0038】
対話システムの評価実験について以下に説明する。
【0039】
最初に評価実験の対象データについて説明する。本実験では、音声対話システムを用いて収集した対話データ(Nakano, M., Sato, S., Komatani, K., Matsuyama, K., Funakoshi, K., and Okuno, H. G.: A Two-Stage Domain Selection Framework for Extensible Multi-Domain Spoken Dialogue Systems, in Proc. SIGDAL Conference, pp. 18-29 (2011))を対象とする。以下においては、データ収集の方法と、書き起こしの作成基準について説明する。ユーザは19歳乃至57歳の一般男女35名(男性17名、女性18名)である。1回8分の対話を、一人当たり4回収録した。対話方法についてあらかじめ指定せず、自由に対話するように指示した。その結果、19415発話(ユーザ:5395発話、対話システム:14020発話)を得た。収集した音声データを、400ミリ秒の無音区間で機械的に区切って書き起こしを作成した。ただし、促音など、形態素内部では、400ミリ秒以上の無音区間があっても、区切らず一発話に含めた。400ミリ秒よりも短いポーズは、当該部分に<p>を挿入して表記した。この発話ごとに、発話の内容を表すタグ21種類(要求、応答、独り言など)を人手で付与した。
【0040】
この書き起こしの単位と、受諾/棄却を判断すべきユーザ意図の単位は必ずしも合致しない。このため、短い無音区間を挟んで連続する発話を、マージして一発話とみなすという前処理を行う。ここでは、他の手法(たとえば、Sato, R., Higashinaka, R., Tamoto, M., Nakano, M. and Aikawa, K.: Learning decision trees to determine turn-taking by spoken dialogue systems, in Proc. ICSLP (2002))で発話の修了認定が正しく行えると仮定している。上記の前処理は、書き起こしと音声認識結果それぞれについて別に行った。
【0041】
書き起こしについては、ユーザの発話に対して付与したタグの中に、発話が複数に分かれていることを示すものがあるため、これが付与されている場合、二発話をマージして一発話とする。この結果、ユーザ発話数は5193発話となった。受諾または棄却の正解ラベルの付与は、これも人手で付与しておいたユーザ発話タグをもとに行った。その結果、受諾が4257発話、棄却が936発話となった。
【0042】
一方、音声認識結果に対しては、発話間の無音区間が1100ミリ秒以下のものをマージした。この結果、発話数は4298発話となった。音声認識結果に対する正解ラベルは、書き起こしと音声認識結果の時間的な対応関係に基づき付与した。具体的には、音声認識結果の発話開始または終了時刻が、書き起こしにおける発話の区間内にある場合、その音声認識結果と書き起こしデータ内の発話は対応するとする。その後、書き起こしデータにおける正解ラベルを、対応する音声認識結果に付与した。
【0043】
表3は、実験対象の発話数を示す表である。書き起こしの発話数と比較して、音声認識結果の発話数が少ないのは、発話断片が前後の発話とマージされたことや、人手では書き起こされていた発話の中で音声認識結果では発話区間が検出されないものが存在したためである。
【表3】
【0044】
つぎに、評価実験の条件について説明する。実験における評価基準は、受諾すべき発話と棄却すべき発話を正しく判断できた精度とする。ロジスティック回帰の実装には、”weka.classifiers.functions.Logistic”(Hall, M., Frank, E., Holmes, G., Pfharinger, B., Reutemann, P., and Witten, I., H.: The WEKA data mining software: an update, SIGKDD Explor. Newsl., Vol. 97, No. 1-2, pp.10-18 (2009))を用いた。式(1)中の係数a
kは、10分割交差検定により推定した。学習データの中で、受諾すべき発話吸うと棄却すべき発話数に偏りがあるため、棄却に対して発話数の日に対応する重みを与え、学習と評価を行った。このため、マジョリティべースラインは50%である。
【0045】
実験条件として、以下の4個の実験条件を設定した。
【0046】
1.発話長のみを用いる場合
特徴x1のみで判別を行う。これは、音声認識エンジンJuliusのオプション-rejectshotを用いる場合に相当し、簡便に実現できる方法であるため、ベースラインの一つとした。発話長の閾値は、学習データに対して判別精度が最高となるように定めた。具体的には、書き起こしに対しては1.10秒、音声認識結果に対しては1.58秒とし、それよりも発話長が長い場合を受諾とした。
【0047】
2.全特徴を用いる場合
表1に挙げた特徴をすべて用いて判別を行う。書き起こしの場合は、音声認識から得られる特徴(x
12)以外をすべて用いる。
【0048】
3.音声対話システム特有の特徴を除いた場合
上記の「全特徴を用いる場合」から、音声対話システム特有の特徴、つまりx
2からx
6を使用しない場合である。この条件をもう一つのベースラインとした。
【0049】
4.特徴選択を行った場合
利用可能な全特徴に対して、backward stepwise feature selection による特徴選択(Kohavi, R., and John, G. H.: Wrappers for feature subset selection, Artificial Intelignce, Vol. 97, No. 1-2, pp. 273-324 (1997))を行った場合である。つまり、特徴を一つずつ取り除いて判別精度を計算し、判別精度が悪化しない場合はその特徴を取り除くという手順を、いずれの特徴を取り除いても判別精度が悪化するようになるまで繰り返した場合の結果である。
【0050】
図7は特徴選択の手順を示す流れ図である。
【0051】
図7のステップS2010において、特徴集合Sから0または1個の特徴を除外した特徴集合をS
kとする。ここで、kは除外した特徴番号を表す。特徴の数をnとして、kは1からnまでの整数である。ただし、特徴を除外しない場合は、k=φとする。
【0052】
図7のステップS2020において、集合S
kを用いた判別精度をD
kとしてkについての最大値D
k_maxを求める。
【0053】
図7のステップS2030において、D
k_maxに対応するkをkmaxとして、
kmax=φ
であるかどうか判断する。判断の結果が肯定的であれば、処理を終了する。判断の結果が否定的であれば、ステップS2040に進む。
【0054】
図7のステップS2040において、
S=S
k_max
として、ステップS2010に戻る。ここで、S
k_maxは、現在の特徴集合から特徴番号kmaxの特徴を除外した特徴集合である。
【0055】
つぎに、書き起こしデータに対する判別性能について説明する。表3に記載されているユーザ発話5193発話(受諾4257、棄却936)に対して、10分割交差検定により判別精度を計算した。正解ラベルの偏りを考慮して、棄却すべき発話に4.55(=4257/936)の重みを与えて学習を行った。
【0056】
表4は、4個の実験条件について書き起こしデータに対する判別精度を示す表である。全特徴を用いた場合の方が、音声対話システム特有の特徴を除いた場合よりも判別精度が高い。このことより、音声対話システム特有の特徴により判別精度が向上したことがわかる。特徴選択の結果、特徴x3とx5が取り除かれた。発話長のみを用いるベースラインと特徴選択を行った場合を比較すると、判別精度は全体で11.0ポイント向上した。
【表4】
【0057】
つぎに、音声認識結果に対する判別精度について説明する。ユーザ発話の音声認識結果4298個(受諾4096個、棄却202個)に対して、同様に10分割交差検定による判別精度を計算した。音声認識にはJuliusを使用した。言語モデルの語彙サイズは517発話、音素正解率は69.5%であった。正解ラベルの偏りを考慮して棄却に20.3(=4096/202)の重みを与えて学習を行った。
【0058】
表5は、4個の実験条件について音声認識結果に対する判別精度を示す表である。書き起こしデータの場合と同様に、全特徴を用いた場合の方が、音声対話システム特有の特徴を除いた場合よりも判別精度が高い。この差は、マクネマー検定により統計的に有意であった。このことは、音声対話システムの特徴が、受諾と棄却の判別に優位であったことを示している。特徴選択では、x
3、x
7、x
9、x
10、x
12の5個の特徴が取り除かれた。
【表5】
【0059】
表6は、各特徴の係数の性質を示す表である。係数a
kが正であった特徴は、値が1、または大きいほど、その発話が受諾とされる傾向がある。係数a
kが負であった特徴は、値が1、または大きいほど、その発話が棄却とされる傾向がある。たとえば、特徴x
5の係数は正であるので、バージインがシステムの発話の後半に対するものであれば、受諾と判別される可能性が高くなる。特徴x
4の係数は負であるので、ユーザの発話区間がシステムの発話区間に包含されていた場合には、棄却と判別される可能性が高くなる。
【表6】
【0060】
表4と表5とを比較すると、音声認識結果に対する判別精度は、書き起こしデータ見対する判別精度よりも低い。これは、音声認識誤りによるものである。また、音声認識結果に対する判別では、発話内容を示す特徴(x
7、x
9、x
10)が特徴選択によって除外されている。これらの特徴は音声認識結果に強く依存するため、音声認識誤りが多く生じた場合には有効でなくなり、特徴選択により除外されている。
【0061】
たとえば、対話システムの発話中のユーザのフィラーが音声認識誤りにより内容語を含んでいると判断された場合は、そのままでは受諾と判断される可能性が高い。ここで、ユーザ発話がシステム発話の前半で始まっているとすると、特徴x5の値は小さくなる。また、ユーザ発話の発話区間がシステム発話の発話区間に包含されているとすると、特徴x4の値は1となる。音声対話システムにおいて、これらの音声対話システム特有の特徴を使用することにより、フィラーが誤認識された場合にも、棄却と判断することができる。音声対話システム特有の特徴は音声認識結果に依存しないため、音声認識結果が誤りがちである場合でも、発話の判別に有用である。
【0062】
本実施形態の対話システムでは、前発話との時間関係や対話の状態などの、対話システム特有の特徴を使用して受諾と棄却の判別を行った。対話システム特有の特徴を使用することで、発話長のみを使用するベースラインと比較して、受諾と棄却の判別率は、書き起こしデータで11.4ポイント、音声認識結果で4.1ポイントそれぞれ向上した。