説明

音声対話装置及びプログラム

【課題】音声認識結果又は感情推定結果が誤っていてもユーザの発話に対して適切な応答を生成する。
【解決手段】音声対話装置は、ユーザが発話した音声を認識して、当該音声に含まれる単語を抽出し、当該音声に含まれる単語の信頼度を算出する音声認識部10と、認識結果又は音声の韻律情報を用いてユーザの音声の感情を推定し、推定した感情の信頼度を算出する感情推定部20と、抽出された単語と予め定められた応答テンプレートとを用いて応答候補を生成し、さらに、推定された感情と予め定められた応答テンプレートとを用いて応答候補を生成する応答候補生成部30と、応答候補生成部30で生成された応答候補のうち、信頼度が最も高い単語又は感情に基づく応答候補を選択する応答候補選択部40と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声対話装置及びプログラムに関する。
【背景技術】
【0002】
従来、ユーザの感情の状態によってバリエーションに富んだ会話を行う対話処理装置が提案されている(例えば特許文献1参照)。特許文献1の対話処理装置は、ユーザから入力された語句の概念、韻律情報、ユーザの顔画像、ユーザの生理情報を用いてユーザの感情を推定し、その感情を表す感情情報に基づいてユーザに出力する出力文を生成する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−215993号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の対話処理装置は、語句の概念及び韻律情報等の多くの情報を用いてユーザの感情を推定している。しかし、ユーザの感情を確実に推定するのは非常に困難であり、間違った感情が推定される場合がある。しかし、特許文献1の対話処理装置は、間違った感情を推定しても、その感情の信頼度が分からないので、間違った感情推定結果に基づいて出力文を生成してしまう問題がある。
【0005】
また、ユーザの発話した音声に対する認識結果に基づいて応答を生成する公知技術があるが、誤認識があった場合は、ユーザの発話に対して誤った応答を生成してしまう問題がある。
【0006】
本発明は、上述した課題を解決するために提案されたものであり、音声認識結果又は感情推定結果が誤っていてもユーザの発話に対して適切な応答を生成する音声対話装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る音声対話装置は、ユーザが発話した音声を認識して、当該音声に含まれる単語を抽出し、当該音声に含まれる単語の信頼度を算出する音声認識手段と、前記音声認識手段の認識結果又は前記音声の韻律情報を用いて前記ユーザの音声の感情を推定し、推定した感情の信頼度を算出する感情推定手段と、前記音声認識手段により抽出された単語と、予め定められた応答テンプレートと、を用いて応答候補を生成する第1の応答候補生成手段と、前記感情推定手段により推定された感情と、予め定められた応答テンプレートと、を用いて応答候補を生成する第2の応答候補生成手段と、前記第1及び第2の応答候補生成手段により生成された応答候補のうち、信頼度が最も高い単語又は感情に基づく応答候補を選択する応答候補選択手段と、を備えている。
【0008】
上記発明によれば、音声認識手段により抽出された単語と予め定められた応答テンプレートとを用いて応答候補を生成し、感情推定手段により推定された感情と予め定められた応答テンプレートとを用いて応答候補を生成し、生成された応答候補のうち信頼度が最も高い単語又は感情に基づく応答候補を選択する。これにより、上記発明は、音声認識結果又は感情推定結果に誤りがあったとしても、その誤りの影響のない応答候補を選択するので、ユーザの発話に対して適切な応答を生成することができる。
【発明の効果】
【0009】
本発明は、音声認識結果又は感情推定結果に誤りがあったとしても、その誤りの影響のない応答を生成するので、ユーザの発話に対して適切な応答をすることができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態に係る音声対話装置の構成を示すブロック図である。
【図2】応答生成ルールを示す図である。
【図3】音声対話装置により実行される音声対話ルーチンを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【0012】
図1は、本発明の実施形態に係る音声対話装置の構成を示すブロック図である。音声対話装置は、音声を認識する音声認識部10と、音声認識部10で認識された履歴を格納する音声認識履歴格納部11と、音声認識部10の認識結果に基づいてユーザの感情を推定する感情推定部20と、感情推定部20の感情推定結果の履歴を格納する感情推定履歴格納部21と、を備えている。
【0013】
さらに、音声対話装置は、応答候補を生成する応答候補生成部30と、応答ルールが格納されている応答ルール格納部31と、応答候補を選択する応答候補選択部40と、応答履歴を格納する応答履歴格納部41と、を備えている。
【0014】
音声認識部10は、ユーザの発話した音声の認識処理を行い、その音声に含まれる1つ以上の単語を認識し、各単語の信頼度を算出する。音声認識部10で認識された単語及びその信頼度は、音声認識履歴格納部11に逐次格納される。
【0015】
なお、信頼度の算出方法は、特に限定されるものではないが、例えば、文献1「2パス探索アルゴリズムにおける高速な単語事後確率に基づく信頼度算出法」李ら、2003年12月19日、社団法人情報処理学会研究報告、に記載された技術を用いることができる。また、本実施形態では、信頼度は0〜1.0とし、最も高い信頼度は1.0である。
【0016】
感情推定部20は、音声認識部10でユーザの音声が認識された場合、音声認識部10から出力された音声認識結果に基づいて、入力された音声の感情を推定する。音声認識結果を用いた感情推定の手法は、特に限定されるものではないが、例えば、文献2「Webから獲得した感情生起要因コーパスに基づく感情推定」、徳久ら、言語処理学会第14回年次大会論文集、pp.33−36、2008年3月 に記載された技術を用いることができる。
【0017】
また、感情推定部20は、音声認識部10でユーザの音声が認識されなかった場合、ユーザの音声に含まれる韻律情報(基本周波数等)を用いて、ユーザの感情を推定する。韻律情報を用いて感情を推定する手法は、特に限定されるものではないが、例えば特開2002−91482号公報(感情検出方法及び感情検出装置ならびに記憶媒体)に記載された技術を用いることができる。
【0018】
なお、感情推定部20は、音声認識部10で音声が認識された場合、音声認識結果を用いて感情を推定するだけでなく、韻律情報を用いて感情を推定してもよい。
【0019】
応答候補生成部30は、音声認識部10によって信頼度が高い音声認識結果が得られた場合には、認識された単語に基づく応答候補を生成する。また、応答候補生成部30は、感情推定部20で感情が推定された場合には、推定された感情に基づく応答候補を生成する。
【0020】
なお、応答候補生成部30は、音声認識結果が得られず、かつ感情が推定されない場合、音声が所定時間入力されない場合(ライムアウトの場合)においても、応答候補を生成する。これらの応答候補は、応答生成ルール格納部31に格納されている応答生成ルールに従ってそれぞれ生成される。
【0021】
図2は、応答生成ルール格納部31に格納されている応答生成ルールを示す図である。応答生成ルールは、入力と、その入力を用いて応答候補を生成するための応答テンプレートと、を対応付けたものである。
【0022】
図2に示す[動詞]、[形容詞]、[名詞]は、音声認識部10で認識された動詞、形容詞、名詞をそれぞれ示している。[感情:楽しい]、[感情:悲しい]は、感情推定部20で推定されたユーザの感情をそれぞれ示している。[音声認識候補、感情推定結果なし]は、音声認識部10で信頼度の高い音声認識結果(例えば信頼度が閾値を超える単語を含む音声認識結果)が得られず、かつ感情推定部20で感情が推定されないことを示している。[タイムアウト]は、本装置の音声出力後、所定時間ユーザが発話しない場合を示している。
【0023】
ここで図2によると、応答生成ルールは、動詞と、その動詞を用いて応答候補を生成するための3つの応答テンプレート(「[動詞]したんだ。」、「誰と[動詞]したの?」、「どこで[動詞]したの?」)を対応付けている。
【0024】
そして、音声認識部10において動詞「食べる」が認識された場合、応答テンプレートの[動詞]の部分に、[食べる]が最適な形式に変形されて挿入される。その結果、「食べたんだ。」、「誰と食べたの?」、「どこで食べたの?」の3つの応答候補が生成される。
【0025】
また、応答生成ルールは、感情、例えば「楽しい」と、その感情を用いて応答候補を生成するための2つの応答テンプレート(「よかったね。」、「楽しかったんだね。」)を対応付けている。そして、感情推定部20で感情「楽しい」が推定された場合、「よかったね。」、「楽しかったんだね。」の2つの応答候補が生成される。
【0026】
応答生成ルールは、音声認識部10で認識された文字列「こんにちは」と、「こんにちは」とを対応づけている。よって、音声認識部10で文字列「こんにちは」が認識された場合、応答候補として「こんにちは」が生成される。
【0027】
応答生成ルールは、音声認識部10で認識された文字列「今日の天気は?」と、「今日の天気は[今日の天気情報]だよ」とを対応づけている。よって、音声認識部10で文字列「今日の天気は?」が認識された場合、外部から今日の天気情報(例えば「曇り」)を取得し、応答候補として「今日の天気は曇りだよ」が生成される。
【0028】
また、応答生成ルールは、[音声認識候補、感情推定結果なし]と「もう一度言ってください。」とを対応付け、[タイムアウト]と「今日は天気がいいね。」とを対応付けている。よって、音声認識部10で信頼度が高い音声認識結果が得られず、かつ感情推定部20で感情が推定されない場合は、応答候補として「もう一度言ってください。」が生成され、タイムアウトの場合は、応答候補として「今日は天気がいいね。」が生成される。
【0029】
そして、応答候補生成部30は、音声認識結果に基づく応答候補、感情に基づく応答候補を生成した場合、それぞれの応答候補の信頼度を算出する。応答候補の信頼度は、その応答候補に含まれる単語の信頼度、又は、その応答候補の感情の信頼度と同じ値である。
【0030】
応答候補選択部40は、応答履歴格納部41の応答履歴を参照して、応答候補生成部30で生成された1つ以上の応答候補の中から、過去に選択された応答候補を除外し、残りの応答候補の中から最も信頼度が高い応答候補を選択する。
【0031】
以上のように構成された音声対話装置は、ユーザが例えば
「今日は、遊園地に行ったよ。」
と発話した場合、次の音声対話ルーチンを実行する。
【0032】
図3は、音声対話装置により実行される音声対話ルーチンを示すフローチャートである。
【0033】
ステップS1では、音声認識部10は、本ルーチンの実行開始後又は本装置の音声再生後から所定時間が経過するまでユーザからの音声入力が有るか否かを判定する。そして、肯定判定の場合はステップS3に進み、否定判定の場合はタイムアウトと判定され、ステップS2に進む。
【0034】
ステップS2では、応答候補生成部30は、例えばユーザに情報提供を促すような応答を生成する。具体的には、応答候補生成部30は、応答生成ルール格納部31に格納された応答生成ルールに従い、応答候補として、[タイムアウト]に対応付けられた「今日は天気がいいね。」を生成する。そして、ステップS15へ進む。
【0035】
ステップS3では、音声認識部10は、ユーザの発話した音声「今日は、遊園地に行ったよ。」に対して音声認識処理を行い、入力音声から単語を抽出すると共に、各単語の信頼度を算出する。
【0036】
例えば本実施形態では、音声認識部10は、音声認識処理の結果、次の認識候補1〜3を得る。
【0037】
認識候補1:「今日は遊泳しに行ったよ。」
認識候補2:「今日は遊園地に行ったよ。」
認識候補3:「今日は遊泳しにいたよ。」
【0038】
そして、音声認識部10は、認識候補1〜3のうち尤度最大となる認識候補1を音声認識結果として出力する。音声認識結果の各単語の信頼度は、例えば上述の文献1の技術に基づいて算出される。この結果、本実施形態では、例えば以下のような音声認識結果が得られる。
「今日(0.7)は(0.6)遊泳(0.2)し(0.4)に(0.8)行った(0.8)よ(1.0)。」
【0039】
なお、括弧内の数字は、その直前(左側)にある単語の信頼度を示している。
【0040】
ステップS4では、音声認識部10は、認識された単語の中に信頼度が閾値(例えば0.5)より高い自立語があるかを判定する。そして、肯定判定の場合はステップS6に進み、否定判定の場合はステップS5へ進む。
【0041】
なお、ステップS3に示した認識結果が得られた場合、この認識結果の中で信頼度が0.5より大きい単語として「今日」、「行った」がある。この2つの単語は共に自立語である。そこで、本実施形態では、認識結果の中に信頼度が閾値より高い自立語が含まれているので、ステップS6へ進む。
【0042】
ステップS5では、感情推定部20は、音声認識部10の音声認識結果を使用できないので、音声認識部10に入力された音声の韻律情報を用いてユーザの感情を推定する。ここでは、例えば特開2002−91482号公報に記載された技術が用いられる。なお、本実施形態では、感情として例えば「楽しい」が推定され、その信頼度は1.0とする。そして、ステップS6へ進む。
【0043】
ステップS6では、応答候補生成部30は、応答生成ルール格納部31に格納された応答生成ルールに従って、感情推定部20の推定結果を用いて応答候補を生成すると共に、各応答候補の信頼度を算出する。
【0044】
本実施形態の場合では、応答生成ルールの[感情:楽しい]に対応付けられた応答候補、「よかったね。」、「楽しかったんだね。」が生成され、各々の信頼度は1.0である。
【0045】
ステップS7では、応答候補生成部30は、音声認識履歴格納部11に格納された音声認識履歴を用いて応答候補を生成する。ここでは、応答候補生成部30は、現時刻から遡って、音声認識履歴の中から信頼度が高い(例えば信頼度0.5以上)の自立語(単語)を探し出す。そして、応答候補生成部30は、探し出した単語と、その単語に対応づけられた応答テンプレートと、に基づいて応答候補を生成する。
【0046】
一方、ステップS8では、音声認識部10は、ステップS3で示した音声認識結果を音声認識履歴格納部11へ格納する。そして、ステップS9へ進む。
【0047】
ステップS9では、感情推定部20は、ステップS3の音声認識処理で用いた各認識候補に対して、文献2に記載された技術を用いることで各認識候補の感情を推定する。そして、感情推定部20は、各認識候補の感情の中で多数を占めた感情をユーザの感情として推定し、その感情が占める割合を信頼度として算出する。
【0048】
本実施形態では、ステップS3で示した認識候補1〜3の感情は、例えば、すべて「楽しい」と推定される。この場合、「楽しい」は3候補中3つを占めているので、「楽しい」の信頼度は、3/3=1.0となる。そして、ステップS10へ進む。
【0049】
なお、仮に、認識候補1〜3のうち2つの感情が「楽しい」であって残りの1つの感情が「悲しい」と推定された場合、ユーザの感情として「楽しい」が推定され、その信頼度は2/3=0.67となる。
【0050】
ステップS10では、応答候補生成部30は、応答生成ルール格納部31に格納された応答生成ルールに従って、感情推定部20の感情推定結果を用いて応答候補を生成すると共に、各応答候補の信頼度を算出する。
【0051】
本実施形態の場合では、応答生成ルールの[感情:楽しい]に対応付けられた応答候補、「よかったね。」、「楽しかったんだね。」が生成される。なお、これらの信頼度は共に1.0である。
【0052】
ステップS11では、応答候補生成部30は、音声認識部10の音声認識結果を用いて応答候補を生成すると共に、各応答候補の信頼度を算出する。
【0053】
例えば、本実施形態では、応答候補生成部30は、ステップS3で示した音声認識結果の各単語を用いて応答候補を生成する。
【0054】
図2に示す応答生成ルールによると、例えば「今日」については、[名詞]に対応付けられた応答候補、「今日?」、「どんな今日なの?」、「誰の今日なの?」が生成される。更に、例えば「行った」については、[動詞]に対応付けられた応答候補、「行ったんだ。」、「誰と行ったの?」、「どこで行ったの?」が生成される。
【0055】
さらに、ステップS3によると「今日」の信頼度は0.7であるので、応答候補である「今日?」、「どんな今日なの?」、「誰の今日なの?」の各々の信頼度は0.7となる。同様に「行った」の信頼度は0.8であるので、応答候補である「行ったんだ。」、「誰と行ったの?」、「どこで行ったの?」の各々の信頼度は0.8となる。なお、応答候補生成部30は、音声認識結果に含まれる他の単語についても同様に応答候補を生成する。そして、ステップS12へ進む。
【0056】
ステップS12では、応答候補選択部40は、応答候補生成部30で生成された応答候補に対して、応答履歴格納部41に格納されている応答履歴を用いて応答候補フィルタフィング処理を行う。具体的には、応答候補選択部40は、応答候補生成部30で生成された応答候補の中から、応答履歴として過去に選択されたことのある応答候補を除外する。これにより、過去と同じ応答をするのを回避することができる。そして、ステップS13へ進む。
【0057】
ステップS13では、応答候補選択部40は、応答候補が有るか、すなわち上述のステップS12を経ても応答候補が残っているかを判定する。そして、肯定判定の場合はステップS15へ進み、否定判定の場合はステップS14へ進む。
【0058】
ステップS14では、応答候補生成部30は、相槌又は再入力を促す応答候補を生成する。具体的には、応答候補生成部30は、応答候補として、応答生成ルールの[音声認識候補、感情推定結果無し]に対応付けられた「もう一度言ってください。」を生成する。なお、応答候補生成部30は、この応答候補の代わりに、相槌「うんうん」、「そうだね」などを生成してもよい。そして、ステップS17へ進む。
【0059】
一方、ステップS15では、応答候補選択部40は、既に生成されている応答候補の中から信頼度が最も高い応答候補を選択する。なお、信頼度が最も高い応答候補が複数存在する場合は、応答候補選択部40は、予め定められた優先度に従って応答候補を選択してもよいし、ランダムに応答候補を選択してもよい。
【0060】
本実施形態では、ステップS10で生成された応答候補、「よかったね。」、「楽しかったんだね。」の信頼度(=1.0)が最も高いので、応答候補選択部40は、「よかったね。」又は「楽しかったんだね。」を選択する。そして、ステップS16へ進む。
【0061】
ステップS16では、応答候補選択部40は、ステップS15で選択した応答候補を応答履歴として応答履歴格納部41に格納する。そして、ステップS17へ進む。
【0062】
ステップS15では、応答候補選択部40は、ステップS2、S14、S16のいずれかで得られた応答候補について音声合成を行い、音声を再生する。そして、ステップS1へ戻って、ユーザの発話待ちの状態となる。
【0063】
以上のように、本発明の実施形態に係る音声対話装置は、ユーザの音声に対して、音声認識結果に基づいて応答候補を生成し、感情推定結果に基づいて応答候補を生成して、各応答候補の中から最も信頼度の高い応答候補を出力する。これにより、上記音声対話装置は、音声認識結果又は感情推定結果に誤りがあって応答候補を生成したとしても、その影響のない最も信頼度の高い応答候補を出力することで、誤応答のない応答をして、ユーザと円滑な対話を行うことができる。
【0064】
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。
【0065】
例えば、感情推定部20は、音声認識部10において音声認識結果が得られた場合であっても、ユーザの音声の韻律情報を用いてユーザの感情を推定してもよい。この場合、感情推定部20は、音声認識結果に基づくユーザの感情と、韻律情報に基づく感情と、が一致する場合に、その一致した感情を推定結果として出力すればよい。
【0066】
なお、図1に示した音声対話装置は、コンピュータに対して、図3に示す音声対話ルーチンを実行するためのプログラムをインストールすることによって構成されたものでもよい。
【符号の説明】
【0067】
10 音声認識部
11 音声認識履歴格納部
20 感情推定部
30 応答候補生成部
31 応答生成ルール格納部
40 応答候補選択部
41 応答履歴格納部

【特許請求の範囲】
【請求項1】
ユーザが発話した音声を認識して、当該音声に含まれる単語を抽出し、当該音声に含まれる単語の信頼度を算出する音声認識手段と、
前記音声認識手段の認識結果又は前記音声の韻律情報を用いて前記ユーザの音声の感情を推定し、推定した感情の信頼度を算出する感情推定手段と、
前記音声認識手段により抽出された単語と、予め定められた応答テンプレートと、を用いて応答候補を生成する第1の応答候補生成手段と、
前記感情推定手段により推定された感情と、予め定められた応答テンプレートと、を用いて応答候補を生成する第2の応答候補生成手段と、
前記第1及び第2の応答候補生成手段により生成された応答候補のうち、信頼度が最も高い単語又は感情に基づく応答候補を選択する応答候補選択手段と、
を備えた音声対話装置。
【請求項2】
前記音声認識手段は、音声に含まれる各単語の信頼度が所定の閾値以上の単語のみを抽出する
請求項1に記載の音声対話装置。
【請求項3】
前記応答候補選択手段により選択された応答候補を応答履歴として格納する応答履歴格納手段を更に備え、
前記応答候補選択手段は、前記第1及び第2の応答候補生成手段により生成された応答候補から前記応答履歴に含まれる応答候補を除外して、残った応答候補の中から信頼度が最も高い単語又は感情に基づく応答候補を選択する
請求項1または請求項2に記載の音声対話装置。
【請求項4】
コンピュータを、請求項1から請求項3のいずれか1項に記載の音声対話装置の各手段として機能させるための音声対話プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−224153(P2010−224153A)
【公開日】平成22年10月7日(2010.10.7)
【国際特許分類】
【出願番号】特願2009−70465(P2009−70465)
【出願日】平成21年3月23日(2009.3.23)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】