(57)【要約】【課題】音声認識結果又は感情推定結果が誤っていてもユーザの発話に対して適切な応答を生成する。【解決手段】音声対話装置は、ユーザが発話した音声を認識して、当該音声に含まれる単語を抽出し、当該音声に含まれる単語の信頼度を算出する音声認識部１０と、認識結果又は音声の韻律情報を用いてユーザの音声の感情を推定し、推定した感情の信頼度を算出する感情推定部２０と、抽出された単語と予め定められた応答テンプレートとを用いて応答候補を生成し、さらに、推定された感情と予め定められた応答テンプレートとを用いて応答候補を生成する応答候補生成部３０と、応答候補生成部３０で生成された応答候補のうち、信頼度が最も高い単語又は感情に基づく応答候補を選択する応答候補選択部４０と、を備えている。【選択図】図１
2010224153.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが発話した音声を認識して、当該音声に含まれる単語を抽出し、当該音声に含まれる単語の信頼度を算出する音声認識手段と、
前記音声認識手段の認識結果又は前記音声の韻律情報を用いて前記ユーザの音声の感情を推定し、推定した感情の信頼度を算出する感情推定手段と、
前記音声認識手段により抽出された単語と、予め定められた応答テンプレートと、を用いて応答候補を生成する第１の応答候補生成手段と、
前記感情推定手段により推定された感情と、予め定められた応答テンプレートと、を用いて応答候補を生成する第２の応答候補生成手段と、
前記第１及び第２の応答候補生成手段により生成された応答候補のうち、信頼度が最も高い単語又は感情に基づく応答候補を選択する応答候補選択手段と、
を備えた音声対話装置。
【請求項２】
前記音声認識手段は、音声に含まれる各単語の信頼度が所定の閾値以上の単語のみを抽出する
請求項１に記載の音声対話装置。
【請求項３】
前記応答候補選択手段により選択された応答候補を応答履歴として格納する応答履歴格納手段を更に備え、
前記応答候補選択手段は、前記第１及び第２の応答候補生成手段により生成された応答候補から前記応答履歴に含まれる応答候補を除外して、残った応答候補の中から信頼度が最も高い単語又は感情に基づく応答候補を選択する
請求項１または請求項２に記載の音声対話装置。
【請求項４】
コンピュータを、請求項１から請求項３のいずれか１項に記載の音声対話装置の各手段として機能させるための音声対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声対話装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザの感情の状態によってバリエーションに富んだ会話を行う対話処理装置が提案されている（例えば特許文献１参照）。特許文献１の対話処理装置は、ユーザから入力された語句の概念、韻律情報、ユーザの顔画像、ユーザの生理情報を用いてユーザの感情を推定し、その感情を表す感情情報に基づいてユーザに出力する出力文を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２１５９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の対話処理装置は、語句の概念及び韻律情報等の多くの情報を用いてユーザの感情を推定している。しかし、ユーザの感情を確実に推定するのは非常に困難であり、間違った感情が推定される場合がある。しかし、特許文献１の対話処理装置は、間違った感情を推定しても、その感情の信頼度が分からないので、間違った感情推定結果に基づいて出力文を生成してしまう問題がある。
【０００５】
また、ユーザの発話した音声に対する認識結果に基づいて応答を生成する公知技術があるが、誤認識があった場合は、ユーザの発話に対して誤った応答を生成してしまう問題がある。
【０００６】
本発明は、上述した課題を解決するために提案されたものであり、音声認識結果又は感情推定結果が誤っていてもユーザの発話に対して適切な応答を生成する音声対話装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る音声対話装置は、ユーザが発話した音声を認識して、当該音声に含まれる単語を抽出し、当該音声に含まれる単語の信頼度を算出する音声認識手段と、前記音声認識手段の認識結果又は前記音声の韻律情報を用いて前記ユーザの音声の感情を推定し、推定した感情の信頼度を算出する感情推定手段と、前記音声認識手段により抽出された単語と、予め定められた応答テンプレートと、を用いて応答候補を生成する第１の応答候補生成手段と、前記感情推定手段により推定された感情と、予め定められた応答テンプレートと、を用いて応答候補を生成する第２の応答候補生成手段と、前記第１及び第２の応答候補生成手段により生成された応答候補のうち、信頼度が最も高い単語又は感情に基づく応答候補を選択する応答候補選択手段と、を備えている。
【０００８】
上記発明によれば、音声認識手段により抽出された単語と予め定められた応答テンプレートとを用いて応答候補を生成し、感情推定手段により推定された感情と予め定められた応答テンプレートとを用いて応答候補を生成し、生成された応答候補のうち信頼度が最も高い単語又は感情に基づく応答候補を選択する。これにより、上記発明は、音声認識結果又は感情推定結果に誤りがあったとしても、その誤りの影響のない応答候補を選択するので、ユーザの発話に対して適切な応答を生成することができる。
【発明の効果】
【０００９】
本発明は、音声認識結果又は感情推定結果に誤りがあったとしても、その誤りの影響のない応答を生成するので、ユーザの発話に対して適切な応答をすることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る音声対話装置の構成を示すブロック図である。
【図２】応答生成ルールを示す図である。
【図３】音声対話装置により実行される音声対話ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００１２】
図１は、本発明の実施形態に係る音声対話装置の構成を示すブロック図である。音声対話装置は、音声を認識する音声認識部１０と、音声認識部１０で認識された履歴を格納する音声認識履歴格納部１１と、音声認識部１０の認識結果に基づいてユーザの感情を推定する感情推定部２０と、感情推定部２０の感情推定結果の履歴を格納する感情推定履歴格納部２１と、を備えている。
【００１３】
さらに、音声対話装置は、応答候補を生成する応答候補生成部３０と、応答ルールが格納されている応答ルール格納部３１と、応答候補を選択する応答候補選択部４０と、応答履歴を格納する応答履歴格納部４１と、を備えている。
【００１４】
音声認識部１０は、ユーザの発話した音声の認識処理を行い、その音声に含まれる１つ以上の単語を認識し、各単語の信頼度を算出する。音声認識部１０で認識された単語及びその信頼度は、音声認識履歴格納部１１に逐次格納される。
【００１５】
なお、信頼度の算出方法は、特に限定されるものではないが、例えば、文献１「２パス探索アルゴリズムにおける高速な単語事後確率に基づく信頼度算出法」李ら、２００３年１２月１９日、社団法人情報処理学会研究報告、に記載された技術を用いることができる。また、本実施形態では、信頼度は０〜１．０とし、最も高い信頼度は１．０である。
【００１６】
感情推定部２０は、音声認識部１０でユーザの音声が認識された場合、音声認識部１０から出力された音声認識結果に基づいて、入力された音声の感情を推定する。音声認識結果を用いた感情推定の手法は、特に限定されるものではないが、例えば、文献２「Ｗｅｂから獲得した感情生起要因コーパスに基づく感情推定」、徳久ら、言語処理学会第１４回年次大会論文集、ｐｐ．３３−３６、２００８年３月  に記載された技術を用いることができる。
【００１７】
また、感情推定部２０は、音声認識部１０でユーザの音声が認識されなかった場合、ユーザの音声に含まれる韻律情報（基本周波数等）を用いて、ユーザの感情を推定する。韻律情報を用いて感情を推定する手法は、特に限定されるものではないが、例えば特開２００２−９１４８２号公報（感情検出方法及び感情検出装置ならびに記憶媒体）に記載された技術を用いることができる。
【００１８】
なお、感情推定部２０は、音声認識部１０で音声が認識された場合、音声認識結果を用いて感情を推定するだけでなく、韻律情報を用いて感情を推定してもよい。
【００１９】
応答候補生成部３０は、音声認識部１０によって信頼度が高い音声認識結果が得られた場合には、認識された単語に基づく応答候補を生成する。また、応答候補生成部３０は、感情推定部２０で感情が推定された場合には、推定された感情に基づく応答候補を生成する。
【００２０】
なお、応答候補生成部３０は、音声認識結果が得られず、かつ感情が推定されない場合、音声が所定時間入力されない場合（ライムアウトの場合）においても、応答候補を生成する。これらの応答候補は、応答生成ルール格納部３１に格納されている応答生成ルールに従ってそれぞれ生成される。
【００２１】
図２は、応答生成ルール格納部３１に格納されている応答生成ルールを示す図である。応答生成ルールは、入力と、その入力を用いて応答候補を生成するための応答テンプレートと、を対応付けたものである。
【００２２】
図２に示す［動詞］、［形容詞］、［名詞］は、音声認識部１０で認識された動詞、形容詞、名詞をそれぞれ示している。［感情：楽しい］、［感情：悲しい］は、感情推定部２０で推定されたユーザの感情をそれぞれ示している。［音声認識候補、感情推定結果なし］は、音声認識部１０で信頼度の高い音声認識結果（例えば信頼度が閾値を超える単語を含む音声認識結果）が得られず、かつ感情推定部２０で感情が推定されないことを示している。［タイムアウト］は、本装置の音声出力後、所定時間ユーザが発話しない場合を示している。
【００２３】
ここで図２によると、応答生成ルールは、動詞と、その動詞を用いて応答候補を生成するための３つの応答テンプレート（「［動詞］したんだ。」、「誰と［動詞］したの？」、「どこで［動詞］したの？」）を対応付けている。
【００２４】
そして、音声認識部１０において動詞「食べる」が認識された場合、応答テンプレートの［動詞］の部分に、［食べる］が最適な形式に変形されて挿入される。その結果、「食べたんだ。」、「誰と食べたの？」、「どこで食べたの？」の３つの応答候補が生成される。
【００２５】
また、応答生成ルールは、感情、例えば「楽しい」と、その感情を用いて応答候補を生成するための２つの応答テンプレート（「よかったね。」、「楽しかったんだね。」）を対応付けている。そして、感情推定部２０で感情「楽しい」が推定された場合、「よかったね。」、「楽しかったんだね。」の２つの応答候補が生成される。
【００２６】
応答生成ルールは、音声認識部１０で認識された文字列「こんにちは」と、「こんにちは」とを対応づけている。よって、音声認識部１０で文字列「こんにちは」が認識された場合、応答候補として「こんにちは」が生成される。
【００２７】
応答生成ルールは、音声認識部１０で認識された文字列「今日の天気は？」と、「今日の天気は［今日の天気情報］だよ」とを対応づけている。よって、音声認識部１０で文字列「今日の天気は？」が認識された場合、外部から今日の天気情報（例えば「曇り」）を取得し、応答候補として「今日の天気は曇りだよ」が生成される。
【００２８】
また、応答生成ルールは、［音声認識候補、感情推定結果なし］と「もう一度言ってください。」とを対応付け、［タイムアウト］と「今日は天気がいいね。」とを対応付けている。よって、音声認識部１０で信頼度が高い音声認識結果が得られず、かつ感情推定部２０で感情が推定されない場合は、応答候補として「もう一度言ってください。」が生成され、タイムアウトの場合は、応答候補として「今日は天気がいいね。」が生成される。
【００２９】
そして、応答候補生成部３０は、音声認識結果に基づく応答候補、感情に基づく応答候補を生成した場合、それぞれの応答候補の信頼度を算出する。応答候補の信頼度は、その応答候補に含まれる単語の信頼度、又は、その応答候補の感情の信頼度と同じ値である。
【００３０】
応答候補選択部４０は、応答履歴格納部４１の応答履歴を参照して、応答候補生成部３０で生成された１つ以上の応答候補の中から、過去に選択された応答候補を除外し、残りの応答候補の中から最も信頼度が高い応答候補を選択する。
【００３１】
以上のように構成された音声対話装置は、ユーザが例えば
「今日は、遊園地に行ったよ。」
と発話した場合、次の音声対話ルーチンを実行する。
【００３２】
図３は、音声対話装置により実行される音声対話ルーチンを示すフローチャートである。
【００３３】
ステップＳ１では、音声認識部１０は、本ルーチンの実行開始後又は本装置の音声再生後から所定時間が経過するまでユーザからの音声入力が有るか否かを判定する。そして、肯定判定の場合はステップＳ３に進み、否定判定の場合はタイムアウトと判定され、ステップＳ２に進む。
【００３４】
ステップＳ２では、応答候補生成部３０は、例えばユーザに情報提供を促すような応答を生成する。具体的には、応答候補生成部３０は、応答生成ルール格納部３１に格納された応答生成ルールに従い、応答候補として、［タイムアウト］に対応付けられた「今日は天気がいいね。」を生成する。そして、ステップＳ１５へ進む。
【００３５】
ステップＳ３では、音声認識部１０は、ユーザの発話した音声「今日は、遊園地に行ったよ。」に対して音声認識処理を行い、入力音声から単語を抽出すると共に、各単語の信頼度を算出する。
【００３６】
例えば本実施形態では、音声認識部１０は、音声認識処理の結果、次の認識候補１〜３を得る。
【００３７】
認識候補１：「今日は遊泳しに行ったよ。」
認識候補２：「今日は遊園地に行ったよ。」
認識候補３：「今日は遊泳しにいたよ。」
【００３８】
そして、音声認識部１０は、認識候補１〜３のうち尤度最大となる認識候補１を音声認識結果として出力する。音声認識結果の各単語の信頼度は、例えば上述の文献１の技術に基づいて算出される。この結果、本実施形態では、例えば以下のような音声認識結果が得られる。
「今日（０．７）は（０．６）遊泳（０．２）し（０．４）に（０．８）行った（０．８）よ（１．０）。」  
【００３９】
なお、括弧内の数字は、その直前（左側）にある単語の信頼度を示している。
【００４０】
ステップＳ４では、音声認識部１０は、認識された単語の中に信頼度が閾値（例えば０．５）より高い自立語があるかを判定する。そして、肯定判定の場合はステップＳ６に進み、否定判定の場合はステップＳ５へ進む。
【００４１】
なお、ステップＳ３に示した認識結果が得られた場合、この認識結果の中で信頼度が０．５より大きい単語として「今日」、「行った」がある。この２つの単語は共に自立語である。そこで、本実施形態では、認識結果の中に信頼度が閾値より高い自立語が含まれているので、ステップＳ６へ進む。
【００４２】
ステップＳ５では、感情推定部２０は、音声認識部１０の音声認識結果を使用できないので、音声認識部１０に入力された音声の韻律情報を用いてユーザの感情を推定する。ここでは、例えば特開２００２−９１４８２号公報に記載された技術が用いられる。なお、本実施形態では、感情として例えば「楽しい」が推定され、その信頼度は１．０とする。そして、ステップＳ６へ進む。
【００４３】
ステップＳ６では、応答候補生成部３０は、応答生成ルール格納部３１に格納された応答生成ルールに従って、感情推定部２０の推定結果を用いて応答候補を生成すると共に、各応答候補の信頼度を算出する。
【００４４】
本実施形態の場合では、応答生成ルールの［感情：楽しい］に対応付けられた応答候補、「よかったね。」、「楽しかったんだね。」が生成され、各々の信頼度は１．０である。
【００４５】
ステップＳ７では、応答候補生成部３０は、音声認識履歴格納部１１に格納された音声認識履歴を用いて応答候補を生成する。ここでは、応答候補生成部３０は、現時刻から遡って、音声認識履歴の中から信頼度が高い（例えば信頼度０．５以上）の自立語（単語）を探し出す。そして、応答候補生成部３０は、探し出した単語と、その単語に対応づけられた応答テンプレートと、に基づいて応答候補を生成する。
【００４６】
一方、ステップＳ８では、音声認識部１０は、ステップＳ３で示した音声認識結果を音声認識履歴格納部１１へ格納する。そして、ステップＳ９へ進む。
【００４７】
ステップＳ９では、感情推定部２０は、ステップＳ３の音声認識処理で用いた各認識候補に対して、文献２に記載された技術を用いることで各認識候補の感情を推定する。そして、感情推定部２０は、各認識候補の感情の中で多数を占めた感情をユーザの感情として推定し、その感情が占める割合を信頼度として算出する。
【００４８】
本実施形態では、ステップＳ３で示した認識候補１〜３の感情は、例えば、すべて「楽しい」と推定される。この場合、「楽しい」は３候補中３つを占めているので、「楽しい」の信頼度は、３／３＝１．０となる。そして、ステップＳ１０へ進む。
【００４９】
なお、仮に、認識候補１〜３のうち２つの感情が「楽しい」であって残りの１つの感情が「悲しい」と推定された場合、ユーザの感情として「楽しい」が推定され、その信頼度は２／３＝０．６７となる。
【００５０】
ステップＳ１０では、応答候補生成部３０は、応答生成ルール格納部３１に格納された応答生成ルールに従って、感情推定部２０の感情推定結果を用いて応答候補を生成すると共に、各応答候補の信頼度を算出する。
【００５１】
本実施形態の場合では、応答生成ルールの［感情：楽しい］に対応付けられた応答候補、「よかったね。」、「楽しかったんだね。」が生成される。なお、これらの信頼度は共に１．０である。
【００５２】
ステップＳ１１では、応答候補生成部３０は、音声認識部１０の音声認識結果を用いて応答候補を生成すると共に、各応答候補の信頼度を算出する。
【００５３】
例えば、本実施形態では、応答候補生成部３０は、ステップＳ３で示した音声認識結果の各単語を用いて応答候補を生成する。
【００５４】
図２に示す応答生成ルールによると、例えば「今日」については、［名詞］に対応付けられた応答候補、「今日？」、「どんな今日なの？」、「誰の今日なの？」が生成される。更に、例えば「行った」については、［動詞］に対応付けられた応答候補、「行ったんだ。」、「誰と行ったの？」、「どこで行ったの？」が生成される。
【００５５】
さらに、ステップＳ３によると「今日」の信頼度は０．７であるので、応答候補である「今日？」、「どんな今日なの？」、「誰の今日なの？」の各々の信頼度は０．７となる。同様に「行った」の信頼度は０．８であるので、応答候補である「行ったんだ。」、「誰と行ったの？」、「どこで行ったの？」の各々の信頼度は０．８となる。なお、応答候補生成部３０は、音声認識結果に含まれる他の単語についても同様に応答候補を生成する。そして、ステップＳ１２へ進む。
【００５６】
ステップＳ１２では、応答候補選択部４０は、応答候補生成部３０で生成された応答候補に対して、応答履歴格納部４１に格納されている応答履歴を用いて応答候補フィルタフィング処理を行う。具体的には、応答候補選択部４０は、応答候補生成部３０で生成された応答候補の中から、応答履歴として過去に選択されたことのある応答候補を除外する。これにより、過去と同じ応答をするのを回避することができる。そして、ステップＳ１３へ進む。
【００５７】
ステップＳ１３では、応答候補選択部４０は、応答候補が有るか、すなわち上述のステップＳ１２を経ても応答候補が残っているかを判定する。そして、肯定判定の場合はステップＳ１５へ進み、否定判定の場合はステップＳ１４へ進む。
【００５８】
ステップＳ１４では、応答候補生成部３０は、相槌又は再入力を促す応答候補を生成する。具体的には、応答候補生成部３０は、応答候補として、応答生成ルールの［音声認識候補、感情推定結果無し］に対応付けられた「もう一度言ってください。」を生成する。なお、応答候補生成部３０は、この応答候補の代わりに、相槌「うんうん」、「そうだね」などを生成してもよい。そして、ステップＳ１７へ進む。
【００５９】
一方、ステップＳ１５では、応答候補選択部４０は、既に生成されている応答候補の中から信頼度が最も高い応答候補を選択する。なお、信頼度が最も高い応答候補が複数存在する場合は、応答候補選択部４０は、予め定められた優先度に従って応答候補を選択してもよいし、ランダムに応答候補を選択してもよい。
【００６０】
本実施形態では、ステップＳ１０で生成された応答候補、「よかったね。」、「楽しかったんだね。」の信頼度（＝１．０）が最も高いので、応答候補選択部４０は、「よかったね。」又は「楽しかったんだね。」を選択する。そして、ステップＳ１６へ進む。  
【００６１】
ステップＳ１６では、応答候補選択部４０は、ステップＳ１５で選択した応答候補を応答履歴として応答履歴格納部４１に格納する。そして、ステップＳ１７へ進む。
【００６２】
ステップＳ１５では、応答候補選択部４０は、ステップＳ２、Ｓ１４、Ｓ１６のいずれかで得られた応答候補について音声合成を行い、音声を再生する。そして、ステップＳ１へ戻って、ユーザの発話待ちの状態となる。
【００６３】
以上のように、本発明の実施形態に係る音声対話装置は、ユーザの音声に対して、音声認識結果に基づいて応答候補を生成し、感情推定結果に基づいて応答候補を生成して、各応答候補の中から最も信頼度の高い応答候補を出力する。これにより、上記音声対話装置は、音声認識結果又は感情推定結果に誤りがあって応答候補を生成したとしても、その影響のない最も信頼度の高い応答候補を出力することで、誤応答のない応答をして、ユーザと円滑な対話を行うことができる。
【００６４】
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。
【００６５】
例えば、感情推定部２０は、音声認識部１０において音声認識結果が得られた場合であっても、ユーザの音声の韻律情報を用いてユーザの感情を推定してもよい。この場合、感情推定部２０は、音声認識結果に基づくユーザの感情と、韻律情報に基づく感情と、が一致する場合に、その一致した感情を推定結果として出力すればよい。
【００６６】
なお、図１に示した音声対話装置は、コンピュータに対して、図３に示す音声対話ルーチンを実行するためのプログラムをインストールすることによって構成されたものでもよい。
【符号の説明】
【００６７】
１０  音声認識部
１１  音声認識履歴格納部
２０  感情推定部
３０  応答候補生成部
３１  応答生成ルール格納部
４０  応答候補選択部
４１  応答履歴格納部
【図１】
2010224153.tif 000003
【図２】
2010224153.tif 000004
【図３】
2010224153.tif 000005