(57)【特許請求の範囲】
【請求項１】
ユーザを撮像して得られた画像データ、前記ユーザの発話により入力された音声データ、及び前記ユーザにより前記発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する抽出手段と、
複数のサンプルデータの各々から抽出された特徴と複数種類の感情のいずれかとを対応付けた複数の学習データを用いて、各々が異なる１つの感情に対応すると共に、該学習データの感情の各々が前記１つの感情に該当する場合を正例として学習した前記複数種類の感情毎の複数の感情モデルを生成する感情モデル生成手段と、
前記抽出手段で抽出された前記入力データの特徴が、前記複数の感情モデルの各々に対応する１つの感情のいずれに対応するかを、前記１つの感情に該当する正例の学習データの個数が多い感情モデルから順に判断することにより、前記ユーザの感情を推定する推定手段と、
を含む感情推定装置。
【請求項２】
前記感情モデル生成手段は、前記複数の感情モデルの各々を生成する際に、前記該当する学習データの個数が多い順に生成すると共に、生成が終了した感情モデルに対応する感情に該当する学習データを、他の感情モデルを生成する際の学習データに含めないようにして前記他の感情モデルを生成する請求項１記載の感情推定装置。
【請求項３】
ユーザを撮像して得られた画像データ、前記ユーザの発話により入力された音声データ、及び前記ユーザにより前記発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する抽出手段と、
前記抽出手段により抽出された前記入力データの特徴が、第１の極性を表す感情及び該第１の極性に対して反対の感情の第２の極性を表す感情のいずれを示すかを判別する極性判別手段と、
各々が異なる１つの第１の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第１の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が前記１つの第１の極性を表す感情に該当するか否かを表した複数の第１感情モデルと、各々が異なる１つの第２の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第２の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が前記１つの第２の極性を表す感情に該当するか否かを表した複数の第２感情モデルとを生成する感情モデル生成手段と、
前記極性判別手段で前記入力データの特徴が前記第１の極性を表す感情であると判別された場合には、前記抽出手段で抽出された前記入力データの特徴が、前記複数の第１感情モデルの各々に対応する１つの第１の極性を表す感情のいずれかに対応するかを、前記１つの第１の極性を表す感情に該当する学習データの個数が多い第１感情モデルから順に判断し、前記極性判別手段で前記入力データの特徴が前記第２の極性を表す感情であると判別された場合には、前記抽出手段で抽出された前記入力データの特徴が、前記複数の第２感情モデルの各々に対応する１つの第２の極性を表す感情のいずれかに対応するかを、前記１つの第２の極性を表す感情に該当する学習データの個数が多い第２感情モデルから順に判断することにより、前記ユーザの感情を推定する推定手段と、
を含む感情推定装置。
【請求項４】
前記複数の学習データの各々に対して、該学習データの感情の各々が前記第１の極性を表す感情に該当するか前記第２の極性を表す感情に該当するかを表した感情極性モデルを生成する感情極性モデル生成手段をさらに含み、前記極性判別手段は、前記感情極性モデルに基づいて、前記入力データの特徴が、前記第１の極性を表す感情及び前記第２の極性を表す感情のいずれを示すかを判別する請求項３記載の感情推定装置。
【請求項５】
前記感情モデル生成手段は、前記複数の第１感情モデルの各々を生成する際に、前記該当する学習データの個数が多い順に生成すると共に、生成が終了した第１感情モデルに対応する第１の極性を表す感情に該当する学習データを、他の第１感情モデルを生成する際の学習データに含めないようにして前記他の第１感情モデルを生成し、前記複数の第２感情モデルの各々を生成する際に、前記該当する学習データの個数が多い順に生成すると共に、生成が終了した第２感情モデルに対応する第２の極性を表す感情に該当する学習データを、他の第２感情モデルを生成する際の学習データに含めないようにして前記他の第２感情モデルを生成する請求項３または請求項４記載の感情推定装置。
【請求項６】
コンピュータを、
ユーザを撮像して得られた画像データ、前記ユーザの発話により入力された音声データ、及び前記ユーザにより前記発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する抽出手段と、
複数のサンプルデータの各々から抽出された特徴と複数種類の感情のいずれかとを対応付けた複数の学習データを用いて、各々が異なる１つの感情に対応すると共に、該学習データの感情の各々が前記１つの感情に該当する場合を正例として学習した前記複数種類の感情毎の複数の感情モデルを生成する感情モデル生成手段と、
前記抽出手段で抽出された前記入力データの特徴が、前記複数の感情モデルの各々に対応する１つの感情のいずれに対応するかを、前記１つの感情に該当する正例の学習データの個数が多い感情モデルから順に判断することにより、前記ユーザの感情を推定する推定手段と、
して機能させるための感情推定プログラム。
【請求項７】
コンピュータを、
ユーザを撮像して得られた画像データ、前記ユーザの発話により入力された音声データ、及び前記ユーザにより前記発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する抽出手段と、
前記抽出手段により抽出された前記入力データの特徴が、第１の極性を表す感情及び該第１の極性に対して反対の感情の第２の極性を表す感情のいずれを示すかを判別する極性判別手段と、
各々が異なる１つの第１の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第１の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が前記１つの第１の極性を表す感情に該当するか否かを表した複数の第１感情モデルと、各々が異なる１つの第２の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第２の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が前記１つの第２の極性を表す感情に該当するか否かを表した複数の第２感情モデルとを生成する感情モデル生成手段と、
前記極性判別手段で前記入力データの特徴が前記第１の極性を表す感情であると判別された場合には、前記抽出手段で抽出された前記入力データの特徴が、前記複数の第１感情モデルの各々に対応する１つの第１の極性を表す感情のいずれかに対応するかを、前記１つの第１の極性を表す感情に該当する学習データの個数が多い第１感情モデルから順に判断し、前記極性判別手段で前記入力データの特徴が前記第２の極性を表す感情であると判別された場合には、前記抽出手段で抽出された前記入力データの特徴が、前記複数の第２感情モデルの各々に対応する１つの第２の極性を表す感情のいずれかに対応するかを、前記１つの第２の極性を表す感情に該当する学習データの個数が多い第２感情モデルから順に判断することにより、前記ユーザの感情を推定する推定手段と、
して機能させるための感情推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、感情推定装置及びプログラムに係り、特に、ユーザを撮像した画像データ、ユーザの発話による音声データ、及びユーザにより入力されたテキストデータの少なくとも１つを用いてユーザの感情を推定するための感情推定装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザからの入力情報に基づいてユーザの感情を推定することが行われている。
【０００３】
特許文献１の対話処理装置は、ユーザから入力された音声信号から抽出した韻律情報、音声信号を音声認識した結果に含まれる語句の概念情報、ユーザの顔を撮像して得られた顔画像情報、及びユーザの脈拍等の生理情報を用いてユーザの感情を推定するものである。このうち、顔画像情報を用いた感情の推定は、予め喜んでいる状態、怒っている状態、及び悲しんでいる状態等の各感情における顔の画像を用いて学習を行うことにより得られたモデルと、顔画像情報の特徴量とをマッチングすることにより行うことが提案されている。
【０００４】
また、特許文献２の感情推定装置では、ユーザを撮像して得られた画像データやユーザから発せられる音声に基づく音声データから抽出した特徴量を、興味度を示す学習モデルと比較することにより、ユーザの感情を推定することが提案されている。
【特許文献１】特開２００１−２１５９９３号公報
【特許文献２】特開２００７−３４６６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の対話処理装置及び特許文献２の感情推定装置では、学習モデルを生成する際の学習データの量が考慮されていないため、学習データの個数に偏りがある場合には正確な学習が行われていない場合がある、という問題がある。また、ポジティブまたはネガティブを表す感情極性の判定を行っていないため、例えば、ユーザの感情は「楽しい」というポジティブな感情であるのに対して、「腹立たしい」というネガティブな感情であると推定するような致命的な誤判断が生じる可能性がある、という問題がある。
【０００６】
本発明は、上述した問題を解決するためになされたものであり、１つの感情に対応する感情モデルに該当する学習データの個数を考慮して感情モデルを生成することにより、効率よくかつ精度よく感情を推定することができる感情推定装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、第１の発明に係る感情推定装置は、ユーザを撮像して得られた画像データ、前記ユーザの発話により入力された音声データ、及び前記ユーザにより前記発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する抽出手段と、複数のサンプルデータの各々から抽出された特徴と複数種類の感情のいずれかとを対応付けた複数の学習データを用いて、各々が異なる１つの感情に対応すると共に、該学習データの感情の各々が前記１つの感情に該当する場合を正例として学習した前記複数種類の感情毎の複数の感情モデルを生成する感情モデル生成手段と、前記抽出手段で抽出された前記入力データの特徴が、前記複数の感情モデルの各々に対応する１つの感情のいずれに対応するかを、前記１つの感情に該当する正例の学習データの個数が多い感情モデルから順に判断することにより、前記ユーザの感情を推定する推定手段と、を含んで構成されている。
【０００８】
また、第１の発明に係る感情推定プログラムは、コンピュータを、ユーザを撮像して得られた画像データ、前記ユーザの発話により入力された音声データ、及び前記ユーザにより前記発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する抽出手段と、複数のサンプルデータの各々から抽出された特徴と複数種類の感情のいずれかとを対応付けた複数の学習データを用いて、各々が異なる１つの感情に対応すると共に、該学習データの感情の各々が前記１つの感情に該当する場合を正例として学習した前記複数種類の感情毎の複数の感情モデルを生成する感情モデル生成手段と、前記抽出手段で抽出された前記入力データの特徴が、前記複数の感情モデルの各々に対応する１つの感情のいずれに対応するかを、前記１つの感情に該当する正例の学習データの個数が多い感情モデルから順に判断することにより、前記ユーザの感情を推定する推定手段として機能させるためのプログラムである。
【０００９】
第１の発明に係る感情推定装置及びプログラムによれば、抽出手段が、ユーザを撮像して得られた画像データ、ユーザの発話により入力された音声データ、及びユーザにより発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する。また、感情モデル生成手段が、複数のサンプルデータの各々から抽出された特徴と複数種類の感情のいずれかとを対応付けた複数の学習データを用いて、各々が異なる１つの感情に対応すると共に、学習データの感情の各々が１つの感情に該当する場合を正例として学習した複数種類の感情毎の複数の感情モデルを生成する。そして、推定手段が、抽出手段で抽出された入力データの特徴が、複数の感情モデルの各々に対応する１つの感情のいずれかに対応するかを、１つの感情に該当する正例の学習データの個数が多い感情モデルから順に判断することにより、ユーザの感情を推定する。
【００１０】
このように、入力データの特徴が各感情モデルに該当するか否かを、該当する学習データの個数が多い感情モデルから順に判断するため、出現率の高い感情から判断されることになり、効率よくかつ精度よく感情を推定することができる。
【００１１】
また、第１の発明に係る感情推定装置及びプログラムの前記感情モデル生成手段は、前記複数の感情モデルの各々を生成する際に、前記該当する学習データの個数が多い順に生成すると共に、生成が終了した感情モデルに対応する感情に該当する学習データを、他の感情モデルを生成する際の学習データに含めないようにして前記他の感情モデルを生成することができる。
【００１２】
このように、該当する学習データの個数が多い順に感情モデルが生成され、生成された感情モデルに該当する学習データは他の感情モデル生成の際に学習データに含まれないようにすることで、感情モデルの各々に含まれる該当する学習データの個数と該当しない学習データの個数との偏りを軽減することができるため、精度のよい感情モデルが生成され、感情推定の精度をさらに向上させることができる。
【００１３】
また、第２の発明に係る感情推定装置は、ユーザを撮像して得られた画像データ、前記ユーザの発話により入力された音声データ、及び前記ユーザにより前記発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する抽出手段と、前記抽出手段により抽出された前記入力データの特徴が、第１の極性を表す感情及び該第１の極性に対して反対の感情の第２の極性を表す感情のいずれを示すかを判別する極性判別手段と、各々が異なる１つの第１の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第１の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が前記１つの第１の極性を表す感情に該当するか否かを表した複数の第１感情モデルと、各々が異なる１つの第２の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第２の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が前記１つの第２の極性を表す感情に該当するか否かを表した複数の第２感情モデルとを生成する感情モデル生成手段と、前記極性判別手段で前記入力データの特徴が前記第１の極性を表す感情であると判別された場合には、前記抽出手段で抽出された前記入力データの特徴が、前記複数の第１感情モデルの各々に対応する１つの第１の極性を表す感情のいずれかに対応するかを、前記１つの第１の極性を表す感情に該当する学習データの個数が多い第１感情モデルから順に判断し、前記極性判別手段で前記入力データの特徴が前記第２の極性を表す感情であると判別された場合には、前記抽出手段で抽出された前記入力データの特徴が、前記複数の第２感情モデルの各々に対応する１つの第２の極性を表す感情のいずれかに対応するかを、前記１つの第２の極性を表す感情に該当する学習データの個数が多い第２感情モデルから順に判断することにより、前記ユーザの感情を推定する推定手段と、を含んで構成されている。
【００１４】
また、第２の発明に係る感情推定プログラムは、コンピュータを、ユーザを撮像して得られた画像データ、前記ユーザの発話により入力された音声データ、及び前記ユーザにより前記発話以外で入力されたテキストデータの少なくとも１つの入力データの特徴を抽出する抽出手段と、前記抽出手段により抽出された前記入力データの特徴が、第１の極性を表す感情及び該第１の極性に対して反対の感情の第２の極性を表す感情のいずれを示すかを判別する極性判別手段と、各々が異なる１つの第１の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第１の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が前記１つの第１の極性を表す感情に該当するか否かを表した複数の第１感情モデルと、各々が異なる１つの第２の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第２の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が前記１つの第２の極性を表す感情に該当するか否かを表した複数の第２感情モデルとを生成する感情モデル生成手段と、前記極性判別手段で前記入力データの特徴が前記第１の極性を表す感情であると判別された場合には、前記抽出手段で抽出された前記入力データの特徴が、前記複数の第１感情モデルの各々に対応する１つの第１の極性を表す感情のいずれかに対応するかを、前記１つの第１の極性を表す感情に該当する学習データの個数が多い第１感情モデルから順に判断し、前記極性判別手段で前記入力データの特徴が前記第２の極性を表す感情であると判別された場合には、前記抽出手段で抽出された前記入力データの特徴が、前記複数の第２感情モデルの各々に対応する１つの第２の極性を表す感情のいずれかに対応するかを、前記１つの第２の極性を表す感情に該当する学習データの個数が多い第２感情モデルから順に判断することにより、前記ユーザの感情を推定する推定手段として機能させるためのプログラムである。
【００１５】
第２の発明に係る感情推定装置及びプログラムによれば、極性判別手段が、抽出手段により抽出された入力データの特徴が、第１の極性を表す感情及び該第１の極性に対して反対の感情の第２の極性を表す感情のいずれを示すかを判別する。また、感情も出る生成手段が、各々が異なる１つの第１の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第１の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が１つの第１の極性を表す感情に該当するか否かを表した複数の第１感情モデルと、各々が異なる１つの第２の極性を表す感情に対応すると共に、各々が複数のサンプルデータから特徴と第２の極性を表す感情とを対応させて予め抽出した複数の学習データの各々に対して、該学習データの感情の各々が１つの第２の極性を表す感情に該当するか否かを表した複数の第２感情モデルとを生成する。
【００１６】
そして、極性判別手段で入力データの特徴が第１の極性を表す感情であると判別された場合には、抽出手段で抽出された入力データの特徴が、複数の第１感情モデルの各々に対応する１つの第１の極性を表す感情のいずれかに対応するかを、１つの第１の極性を表す感情に該当する学習データの個数が多い第１感情モデルから順に判断し、極性判別手段で入力データの特徴が第２の極性を表す感情であると判別された場合には、抽出手段で抽出された入力データの特徴が、複数の第２感情モデルの各々に対応する１つの第２の極性を表す感情のいずれかに対応するかを、１つの第２の極性を表す感情に該当する学習データの個数が多い第２感情モデルから順に判断することにより、ユーザの感情を推定する。
【００１７】
このように、第１の極性を表す感情について複数の第１感情モデルを生成し、第１の極性と反対の感情の第２の極性を表す感情について複数の第２感情モデルを生成し、まず入力データの特徴の極性を判別した上で、該当する極性を表す感情についての感情モデルに該当するか否かを判断するため、第１の極性を表す感情を第２の極性を表す感情であると推定したり、第２の極性を表す感情を第１の極性を表す感情であると推定したりという致命的な誤判断を防止することができる。
【００１８】
また、第２の発明に係る感情推定装置及びプログラムは、前記複数の学習データの各々に対して、該学習データの感情の各々が前記第１の極性を表す感情に該当するか前記第２の極性を表す感情に該当するかを表した感情極性モデルを生成する感情極性モデル生成手段をさらに含み、前記極性判別手段は、前記感情極性モデルに基づいて、前記入力データの特徴が、前記第１の極性を表す感情及び前記第２の極性を表す感情のいずれを示すかを判別するようにすることができる。
【００１９】
また、第２の発明に係る感情推定装置及びプログラムの前記感情モデル生成手段は、前記複数の第１感情モデルの各々を生成する際に、前記該当する学習データの個数が多い順に生成すると共に、生成が終了した第１感情モデルに対応する第１の極性を表す感情に該当する学習データを、他の第１感情モデルを生成する際の学習データに含めないようにして前記他の第１感情モデルを生成し、前記複数の第２感情モデルの各々を生成する際に、前記該当する学習データの個数が多い順に生成すると共に、生成が終了した第２感情モデルに対応する第２の極性を表す感情に該当する学習データを、他の第２感情モデルを生成する際の学習データに含めないようにして前記他の第２感情モデルを生成するようにすることができる。
【００２０】
このように、極性毎に該当する学習データの個数が多い順に感情モデルが生成され、生成された感情モデルに該当する学習データは他の感情モデル生成の際に含まれないようにすることで、感情モデルの各々に含まれる該当する学習データの個数と該当しない学習データの個数との偏りを軽減することができるため、精度のよい感情モデルが生成され、感情推定の精度をさらに向上させることができる。
【発明の効果】
【００２１】
以上説明したように、本発明の感情推定装置及びプログラムによれば、１つの感情に対応する感情モデルに該当する学習データの個数を考慮して学習モデルを生成することにより、効率よくかつ精度よく感情を推定することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施の形態について詳細に説明する。なお、以下では、本発明の感情推定装置を、ユーザからの入力に対応した応答を生成してユーザと対話を行う感情推定対話装置に適用した場合について説明する。
【００２３】
図１に示すように、第１の実施の形態に係る感情推定対話装置１０は、ユーザの音声を入力するためのマイク１２、ユーザの顔を撮像するための撮像装置１４、応答を音声で出力するためのスピーカ１６、及び感情推定及び応答生成の制御を実行するコンピュータ１８を備えている。
【００２４】
コンピュータ１８は、感情推定対話装置１０全体の制御を司るＣＰＵ２４、後述する感情推定モデル生成処理及び対話処理のプログラム等各種プログラムを記憶した記憶媒体としてのＲＯＭ２６、ワークエリアとしてデータを一時的に格納するＲＡＭ２８、各種情報が記憶された記憶手段としてのＨＤＤ（ハードディスク）３０、ネットワークと接続するためのネットワークＩ／Ｆ（インタフェース）部３２、Ｉ／Ｏ（入出力）ポート３４、及びこれらを接続するバスを含んで構成されている。Ｉ／Ｏポート３４には、マイク１２、撮像装置１４及びスピーカ１６が接続されている。
【００２５】
まず、後述する感情推定モデル生成処理に使用される学習元データベースについて説明する。学習元データベースは、例えば、図２に示されるようなものある。このような学習元データベース４０を得るためには、まず、対話中の人物の顔画像を撮影して得られる画像データ及び発話に基づく音声データを取得する。音声データと画像データとは略同時に取得される。また、音声データ及び画像データが取得された際の人物の感情を人物に対してヒアリングするなどして得ておく。なお、感情は予め定めたｎ（ｎは自然数）種類の感情に限定するものとし、ここでは、例えば、「嫌」「嬉しい」「残念」「楽しい」「恐い」「不安」「寂しい」「腹立たしい」「悲しい」の９種類（ｎ＝９）とする。なお、感情の種類は、１０以上であっても、８以下であってもよい。
【００２６】
画像データについては、エッジ処理などの画像処理を施して表情を認識するなどして画像特徴Ｉを抽出する。音声データについては、音声認識処理によりテキストデータに変換し、変換したテキストデータから、例えば、「ので」「ため」などの手がかり語を用いた方法で感情状態を示す感情語をテキスト特徴Ｔとして抽出する。同一の音声データについて、韻律を分析するなどして韻律特徴Ｒを抽出する。
【００２７】
この画像特徴Ｉ、テキスト特徴Ｔ、及び韻律特徴Ｒをまとめて１つの特徴４２とし、これらの特徴が抽出された画像データ及び音声データが取得された際の人物の感情４４と特徴４２とを対応付けて１つの学習データ４６とする。上述の音声データ及び画像データと、音声データ及び画像データが取得された際の感情とを大量に取得しておき、学習データ４６を大量に生成することで学習元データベース４０を構築する。
【００２８】
なお、学習元データベース４０は、人物から取得される情報から抽出される特徴と感情とを対応付けた学習データから構成されていればよく、取得するデータの種類、抽出される特徴の種類、特徴の抽出方法、及び感情の種類などは上記の内容に限定されるものではない。また、学習元データベース４０は、本実施の形態の感情推定対話装置１０で構築してもよいし、他の外部装置により構築してもよい。感情推定対話装置１０で構築した場合には、構築された学習元データベース４０は、ＨＤＤ３０に記憶しておく。外部装置で構築した場合には、ネットワークを介して取得することができる。本実施の形態では、学習元データベース４０は、外部装置にて構築されて外部装置に記憶されている場合について説明する。
【００２９】
次に、図３を参照して、第１の実施の形態における感情推定モデル生成の処理ルーチンについて説明する。
【００３０】
ステップ１００で、ネットワークＩ／Ｆ３２を介してネットワークに接続された外部装置から学習元データベース４０を取得する。
【００３１】
次に、ステップ１０２で、感情４４毎に学習データ４６の個数をカウントして、次に、ステップ１０４で、最もカウント数が多かった感情をパラメータＸに設定する。例えば、本実施の形態では「嫌」という感情４４の学習データ４６の個数が最も多かった場合を例としているので、Ｘ＝「嫌」と設定する。次に、ステップ１０６の学習処理を実行する。
【００３２】
ここで、図４を参照して、学習処理の処理ルーチンについて説明する。
【００３３】
ステップ２００で、学習元データベース４０の学習データ４６を１つずつ学習していく。ここでは、学習の手法としてＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）の手法を用いる。まず、１つ目の学習データ４６の感情４４がＸか否かを判断する。Ｘの場合、すなわち学習データ４６の感情４４が感情Ｘに該当する場合には、ステップ２０２へ進んで正例として学習を行い、Ｘではない場合、すなわち学習データ４６の感情４４が感情Ｘに該当しない場合には、ステップ２０４へ進んで負例として学習を行う。図２の学習元データベース４０の場合では、１つ目の学習データ４６の感情４４は「楽しい」であるので、ステップ２００で否定されてステップ２０４で負例として学習される。
【００３４】
次に、ステップ２０６で、学習元データベース４０のすべての学習データ４６について学習を終了したか否かを判断する。未学習の学習データ４６が残っている場合には、ステップ２００へ戻って、次の学習データ４６について学習を繰り返す。図２の学習元データベース４０の場合では、２つ目の学習データ４６の感情４４は「嫌」であるので、ステップ２００で肯定されてステップ２０２で正例として学習される。
【００３５】
学習元データベース４０内のすべての学習データ４６について学習が終了した場合には、ステップ２０６で肯定されてリターンする。この学習処理により、１つ目の感情Ｘ（＝１）についての感情モデルＭ（１）が生成される。ここでは、感情モデルＭ（１）は、１つの感情「嫌」に対応する感情モデル（「嫌」モデル）である。
【００３６】
次に、感情推定モデル生成処理ルーチン（図３）のステップ１０８で、学習元データベース４０から感情Ｘに該当する学習データ４６、すなわち正例の学習データ４６のすべてを削除する。なお、本実施の形態では、感情Ｘに対して正例の学習データ４６を削除することとしたが、学習元データベース４０からは削除せず、次の感情モデル生成の際に、既に生成された感情モデルに該当する感情の学習データ４６か否かを判断するステップを設け、否定判断される学習データ４６のみを感情モデルの生成に使用するようにしてもよい。
【００３７】
次に、ステップ１１０で、学習元データベース４０に残っている学習データ４６の感情４４の種類が１種類か否かを判断する。２種類以上残っている場合には、ステップ１０６へ戻り、残っている学習データ４６のうち、最も学習データの個数が多い感情をパラメータＸに設定して以降の処理を繰り返し、感情毎の感情モデルＭ（ｉ）（ｉは感情モデルが生成された順に付与される通し番号）を生成する。
【００３８】
ステップ１１０で、残りの感情が１種類であると判断された場合には、ステップ１１２へ進んで、生成した感情毎の感情モデルＭ（ｉ）を、感情モデルＭ（１）、感情モデルＭ（２）、・・・、感情モデルＭ（ｎ−１）のように配列した感情推定モデルを構築する。なお、感情の種類がｎ種類の場合には、最後の感情については感情モデルが生成されないため、配列の最後は感情モデルＭ（ｎ−１）になっている。
【００３９】
例えば、学習データの個数が「嫌」「嬉しい」「残念」「楽しい」「恐い」「不安」「寂しい」「腹立たしい」「悲しい」の順で多かったとすると、Ｍ（１）＝「嫌」モデル、Ｍ（２）＝「嬉しい」モデル、・・・、Ｍ（８）＝「腹立たしい」モデルとなり、図５に示すように、「嫌」モデル、「嬉しい」モデル、「残念」モデル、「楽しい」モデル、「恐い」モデル、「不安」モデル、「寂しい」モデル及び「腹立たしい」モデルの順で各感情モデル５０が配列された感情推定モデルが構築される。感情推定モデルをＨＤＤ３０に記憶して処理を終了する。
【００４０】
次に、図６を参照して、感情推定を含む対話処理の処理ルーチンについて説明する。
【００４１】
ステップ３００で、ユーザによりマイク１２から入力される音声データ及びユーザの顔を撮像装置１４で撮像した画像データを取り込む。次に、ステップ３０２で、取り込んだ画像データから画像特徴Ｉ０を抽出する。次に、ステップ３０４で、音声データを音声認識してテキストデータに変換し、変換したテキストデータからテキスト特徴Ｔ０を抽出する。次に、ステップ３０６で同一の音声データから韻律特徴Ｒ０を抽出する。画像特徴Ｉ０、テキスト特徴Ｔ０及び韻律特徴Ｒ０の抽出方法は、学習元データベース４０を構築する際に画像特徴Ｉ、テキスト特徴Ｔ及び韻律特徴Ｒを抽出した方法と同じ方法を用いる。
【００４２】
次に、ステップ３０８で、画像特徴Ｉ０、テキスト特徴Ｔ０及び韻律特徴Ｒ０をまとめて入力データの特徴を求める。次に、ステップ３１０で、後述する感情推定処理を実行し、次に、ステップ３１２で、応答生成出力処理を実行して、推定された感情に応じた応答を生成して出力する。応答生成出力処理については従来の技術を用いることができるため、説明を省略する。
【００４３】
ここで、図７を参照して、感情推定処理の処理ルーチンについて説明する。
【００４４】
ステップ４００で、カウンタ値ｉに「１」をセットする。このカウンタ値ｉは、感情推定モデルに含まれる各感情モデルに付与された通し番号に対応するものである。カウンタ値ｉ＝１として、以下のステップで通し番号「１」の感情モデルから順に比較することにより、感情推定モデルを構築した際に使用した学習元データベース４０の中の学習データの個数が多い感情に対応する感情モデルから順に判断が行われることになる。
【００４５】
次に、ステップ４０２で、対話処理（図６）のステップ３０８で求められた入力データの特徴が示す感情が感情推定モデルの最初の感情モデルＭ（１）に対応する感情に該当するか否かを、感情モデルを生成した際の手法に対応した手法を用いて判断する。該当する場合には、ステップ４０４へ進み、推定結果として感情モデルＭ（１）に対応する感情Ｆ（１）を出力する。
【００４６】
ステップ４０２で該当しないと判断された場合には、ステップ４０６へ進み、感情モデルＭ（１）が感情推定モデルの最後の感情モデルか否かを判断する。最後の感情モデルではない場合には、次の感情モデルとの比較を行うため、ステップ４０８へ進んでカウンタ値ｉをインクリメントしてステップ４０２へ戻る。
【００４７】
上記ステップを繰り返し、最後の感情モデルＭ（ｎ−１）に対応する感情にも該当しなかった場合には、ステップ４０６で肯定されてステップ４１０へ進み、感情モデルの生成されていなかった感情、すなわち該当する学習データの個数が最も少なかった感情を推定結果Ｆ（ｎ）として出力してリターンする。
【００４８】
上記処理を図５に示す感情推定モデルを例にして説明すると、まず、入力データの特徴が示す感情が「嫌」モデルに該当するか否かを判断し、該当する場合には、推定結果「嫌」を出力し、該当しない場合には、次の「嬉しい」モデルに該当するか否かを判断する。該当する場合には、推定結果「嬉しい」を出力する。該当しない場合には、順次次の感情モデル５０との判断を行う。最後の「腹立たしい」モデルに該当するか否かを判断し、該当する場合には、推定結果「腹立たしい」を出力し、該当しない場合には、推定結果「悲しい」を出力して終了する。
【００４９】
このように、該当する学習データの個数が多い感情モデルから順に、入力データの特徴が該当するか否かを判断するため、出現率の高い感情から該当するか否かの判断を行うこととなり、効率よく感情推定を行うことができる。また、該当する学習データの個数が多い順に感情モデルが生成され、かつ生成を終了した感情モデルに該当する学習データを削除して次の感情モデルを生成して感情推定モデルを構築することにより、各感情モデルを生成する際の正例の学習データの個数と負例の学習データの個数との偏りが解消された精度の高い感情モデルにより感情推定モデルが構築されることとなり、感情推定の精度が向上する。
【００５０】
次に、第２の実施の形態に係る感情推定対話装置について説明する。第２の実施の形態では、感情極性を判別する点が第１の実施の形態とは異なる。なお、第１の実施の形態と同一の構成及び処理については、同一の符号を付して説明を省略する。
【００５１】
まず、図８を参照して、第２の実施の形態における感情推定モデル生成の処理ルーチンについて説明する。
【００５２】
ステップ１００で、学習元データベース４０を取得し、次に、ステップ５００で、学習元データベース４０に含まれる学習データ４６を感情の示す極性に基づいて分類する。例えば、感情の種類として「嫌」「嬉しい」「残念」「楽しい」「恐い」「不安」「寂しい」「腹立たしい」「悲しい」及び「安心」が学習元データベース４０に含まれている場合、「嬉しい」「楽しい」及び「安心」をポジティブ極性、「嫌」「残念」「恐い」「不安」「寂しい」「腹立たしい」及び「悲しい」をネガティブ極性とする。このポジティブ極性及びネガティブ極性の一方を第１の極性、他方を第２の極性とすることができ、第１の極性と第２の極性とは反対の感情を有することになる。この極性に基づいて学習元データベース４０の学習データ４６を分類し、ポジティブ極性の学習元データベース及びネガティブ極性の学習元データベースを構築する。
【００５３】
次に、ステップ５０２〜ステップ５１０で、ポジティブ極性の学習元データベースの学習データを使用して、第１の実施の形態の感情推定モデル生成処理（図３）のステップ１０２〜ステップ１１０と同様の処理により、ポジティブ極性の感情モデルを生成する。
【００５４】
次に、ステップ５１２〜ステップ５２０で、同様に、ネガティブ極性の学習元データベースの学習データを利用して、ネガティブ極性の感情モデルを生成する。
【００５５】
ステップ５２０で、肯定判定されたステップ５２２へ進んで、生成したポジティブ極性の感情毎の感情モデルＭＰ（ｉ）を、感情モデルＭＰ（１）、感情モデルＭＰ（２）、・・・、感情モデルＭＰ（ｎ−１）のように配列し、生成したネガティブ極性の感情毎の感情モデルＭＮ（ｉ）を、感情モデルＭＮ（１）、感情モデルＭＮ（２）、・・・、感情モデルＭＮ（ｎ−１）のように配列した感情推定モデルを構築する。
【００５６】
例えば、ポジティブ極性の学習データの個数が「嬉しい」「楽しい」「安心」の順で多かったとすると、ＭＰ（１）＝「嬉しい」モデル、ＭＰ（２）＝「楽しい」モデルとなり、ネガティブ極性の学習データの個数が「嫌」「残念」「恐い」「不安」「寂しい」「腹立たしい」「悲しい」の順で多かったとすると、ＭＮ（１）＝「嫌」モデル、ＭＰ（２）＝「残念」モデル、・・・、ＭＮ（６）＝「腹立たしい」モデルとなり、図９に示すように、ポジティブ極性については、「嬉しい」モデル及び「楽しい」モデルの順で各感情モデル５０が配列され、ネガティブ極性については、「嫌」モデル、「残念」モデル、「恐い」モデル、「不安」モデル、「寂しい」モデル及び「腹立たしい」モデルの順で各感情モデル５０が配列された感情推定モデルが構築される。感情推定モデルをＨＤＤ３０に記憶して処理を終了する。
【００５７】
次に、図１０を参照して、第２の実施の形態における感情推定を含む対話処理の処理ルーチンについて説明する。
【００５８】
ステップ３００〜ステップ３０６で、画像データから画像特徴Ｉ０と、音声データからテキスト特徴Ｔ０、及び韻律特徴Ｒ０とを抽出し、これらの特徴をまとめて入力データの特徴を求める。次に、ステップ６００で、入力データの特徴が示す感情がポジティブか否かを判断する。この判断は、例えば、入力データの特徴の１つであるテキスト特徴Ｔ０の持つ概念から判断するなど、周知の技術を用いることができる。
【００５９】
ステップ６００で肯定判定された場合には、ステップ６０２へ進んで、入力データの特徴が示す感情が感情推定モデルのポジティブ極性として配列された感情モデルに該当するか否かを感情モデルが配列された順に判断することによりユーザの感情を推定する。例えば、入力データの特徴が示す極性がポジティブであった場合には、図９に示す感情推定モデルにおいて、「嬉しい」モデル及び「楽しい」モデルの順に該当するか否かを判断していく。
【００６０】
また、ステップ６００で否定判定された場合には、ステップ６０４へ進んで、入力データの特徴が示す感情が感情推定モデルのネガティブ極性として配列された感情モデルに該当するか否かを感情モデルが配列された順に判断することにより感情を推定する。例えば、入力データの特徴が示す極性がポジティブではなかった場合（ネガティブの場合）には、図９に示す感情推定モデルにおいて、「嫌」モデル、「残念」モデル、「恐い」モデル、「不安」モデル、「寂しい」モデル及び「腹立たしい」モデルの順に該当するか否かを判断していく。感情推定処理の詳細については、第１の実施の形態と同様である。
【００６１】
次に、ステップ３１２で、応答生成出力処理を実行して、推定された感情に応じた応答を生成して出力する。
【００６２】
このように、入力データの特徴が示す感情がポジティブかネガティブかという反対の極性のいずれであるかを判別し、ポジティブの場合には、ポジティブ極性の感情モデルに該当するか否か、ネガティブの場合には、ネガティブ極性の感情モデルに該当するか否かを、該当する学習データの個数が多い順に判断するため、第１の実施の形態の効果に加え、ポジティブの感情をネガティブの感情であると推定したり、ネガティブの感情をポジティブの感情であると推定したりという致命的な誤判断を防止することができる。
【００６３】
なお、上記対話処理の処理ルーチンのステップ６００では、テキストの持つ概念から感情の極性を判断する等の周知技術を用いる場合について説明したが、感情モデル５０を生成した手法と同じ手法により、感情極性モデルを生成して、入力データの特徴がポジティブ極性及びネガティブ極性のいずれに該当するかを判別するようにしてもよい。感情極性モデルは、学習元データベース４０の学習データ４６の各々を、学習データ４６の感情４４がポジティブ極性の場合には正例として、ネガティブ極性の場合には負例として学習することにより生成することができる。また、極性は、ポジティブ極性及びネガティブ極性の２値であるため、ネガティブ極性の場合には正例として、ポジティブ極性の場合には負例として学習することによっても、同様に感情極性モデルを生成することができる。
【００６４】
次に、第３の実施の形態に係る感情推定対話装置について説明する。第３の実施の形態では、スコアを用いて各感情モデルに該当するか否かを判断する点が第１の実施の形態及び第２の実施形態と異なる。なお、第１の実施の形態及び第２の実施の形態と同一の構成及び処理については、同一の符号を付して説明を省略する。
【００６５】
図１１を参照して、第３の実施の形態における感情推定モデル生成の処理ルーチンについて説明する。
【００６６】
ステップ１００で、学習元データベース４０を取得し、次に、ステップ７００で、後述する生成済み感情モデルに該当する学習データ４６に設定されるフラグを確認し、フラグが立っていない学習データ４６の個数を感情４４毎にカウントして、次に、ステップ１０４で、最もカウント数の多かった学習データの感情をパラメータＸに設定し、次に、ステップ１０６の学習処理を実行する。
【００６７】
次に、ステップ７０２で、学習元データベース４０の感情Ｘに該当する学習データ４６、すなわち正例の学習データ４６に対応する感情モデルが生成されたことを示すフラグを立てる。次に、ステップ７０４で、フラグが立っていない学習データ４６の感情４４の種類が１種類か否かを判断する。２種類以上残っている場合には、ステップ７００へ戻り、フラグが立っていない学習データ４６について学習処理を繰り返し、感情毎の感情モデルＭ（ｉ）（ｉは感情モデルが生成された順に付与される通し番号）を生成する。
【００６８】
ステップ７０４で、フラグが立っていない学習データ４６の感情４４が１種類であると判断された場合には、ステップ７０６へ進んで、最後の１種類の感情をパラメータＸに設定する。次に、ステップ７０８で、フラグが立っている学習データ４６の中からランダムに所定数の学習データ４６を選択してフラグをはずす。ここで所定数は、最後の感情Ｘに対応する感情モデルを生成する際の負例とするのに適当な個数とし、例えば、最後の感情Ｘに該当する学習データ４６の個数と同数とする。
【００６９】
次に、ステップ７１０で学習処理を実行し、次に、ステップ１１２で、生成した感情毎の感情モデルＭ（ｉ）を、感情モデルＭ（１）、感情モデルＭ（２）、・・・、感情モデルＭ（ｎ）のように配列した感情推定モデルを構築する。なお、第３の実施の形態では、感情の種類がｎ種類の場合に、最後の１種類の感情についても感情モデルが生成されるため、配列の最後は感情モデルＭ（ｎ）となる。
【００７０】
例えば、学習データの個数が「嫌」「嬉しい」「残念」「楽しい」「恐い」「不安」「寂しい」「腹立たしい」「悲しい」の順で多かったとすると、Ｍ（１）＝「嫌」モデル、Ｍ（２）＝「嬉しい」モデル、・・・、Ｍ（９）＝「悲しい」モデルとなり、図１２に示すように、「嫌」モデル、「嬉しい」モデル、「残念」モデル、「楽しい」モデル、「恐い」モデル、「不安」モデル、「寂しい」モデル、「腹立たしい」モデル及び「悲しい」モデルの順で各感情モデル５０が配列された感情推定モデルが構築される。感情推定モデルをＨＤＤ３０に記憶して処理を終了する。
【００７１】
次に、図１３を参照して、第３の実施の形態における対話処理（図６）ステップ３０８の感情推定の処理ルーチンについて説明する。対話処理の他のステップについては、第１の実施の形態と同様の処理であるので説明を省略する。
【００７２】
ステップ４００で、カウンタ値ｉに「１」をセットし、次に、ステップ８００で、入力データの特徴が示す感情の感情モデルＭ（ｉ）に対する当てはまりの度合いを示すスコアを算出する。スコアの算出には、感情モデルを生成した際の手法に対応した手法を用いる。例えば、ＳＶＭの手法では、正例の学習データと負例の学習データとの分離超平面上をスコア０とし、入力データの特徴が分離超平面から離れるほどスコアの絶対値を大きくし、正例側に離れるのであればプラス、負例側に離れるのであればマイナスとなるようにスコアを算出することができる。
【００７３】
次に、ステップ８０２で、算出したスコアが所定値以上か否かを判断する。ここで、所定値は、各感情モデルに該当するか否かを高い精度で判断するために、０より大きな値とすることができる。スコアが所定値以上の場合には、ステップ４０４へ進み、推定結果として感情モデルＭ（１）に該当する感情Ｆ（１）を出力する。
【００７４】
ステップ８０２で、スコアが所定値より小さいと判断された場合には、ステップ４０６へ進み、感情モデルＭ（１）が感情推定モデルの最後の感情モデルか否かを判断する。最後の感情モデルではない場合には、次の感情モデルとの比較を行うため、ステップ４０８へ進んでカウンタ値ｉをインクリメントしてステップ８００へ戻る。
【００７５】
上記ステップを繰り返し、最後の感情モデルＭ（ｎ）に対してもスコアが所定値以上とならなかった場合には、ステップ４０６で肯定されてステップ８０４へ進み、所定種類のいずれの感情にも該当しなかったため、推定結果「不明」を出力してリターンする。
【００７６】
推定結果「不明」の場合には、応答生成出力処理で、例えば相槌を打つなどの曖昧な応答を生成して出力するようにするとよい。
【００７７】
なお、第３の実施の形態の処理を第２の実施の形態の処理に適用することもできる。
【００７８】
また、上記実施の形態では、ユーザの顔を撮像して得られる画像データから抽出される画像特徴、ユーザの発話により入力される音声データから抽出されるテキスト特徴及び韻律特徴をまとめて入力データの特徴とする場合について説明したが、入力データの特徴は、画像特徴、テキスト特徴及び韻律特徴のいずれか１つでもよし、これらの中から選択した２つを組み合わせたものでもよい。また、脈拍や発汗などの人体の生理情報等その他の情報を取得し、この情報から抽出される特徴を用いてもよい。
【００７９】
また、上記実施の形態では、テキスト特徴を取得した音声データを音声認識してテキストデータに変換してから抽出する場合について説明した、キーボードなどの入力手段から入力されるテキストデータを取得してテキスト特徴を抽出するようにしてもよい。
【００８０】
また、上記実施の形態では、学習方法としてＳＶＭの手法を用いる場合について説明したが、これに限定されるものではない。
【図面の簡単な説明】
【００８１】
【図１】第１の実施の形態に係る感情推定対話装置の構成を示すブロック図である。
【図２】学習元データベースの一例を示す図である。
【図３】第１の実施の形態における感情推定モデル生成処理の処理ルーチンを示すフローチャートである。
【図４】第１の実施の形態における学習処理の処理ルーチンを示すフローチャートである。
【図５】第１の実施の形態における感情推定モデルの一例を示す図である。
【図６】第１の実施の形態における対話処理の処理ルーチンを示すフローチャートである。
【図７】第１の実施の形態における感情推定処理の処理ルーチンを示すフローチャートである。
【図８】第２の実施の形態における感情推定モデル生成処理の処理ルーチンを示すフローチャートである。
【図９】第２の実施の形態における感情推定モデルの一例を示す図である。
【図１０】第２の実施の形態における対話処理の処理ルーチンを示すフローチャートである。
【図１１】第３の実施の形態における感情推定モデル生成処理の処理ルーチンを示すフローチャートである。
【図１２】第３の実施の形態における感情推定モデルの一例を示す図である。
【図１３】第３の実施の形態における感情推定処理の処理ルーチンを示すフローチャートである。
【符号の説明】
【００８２】
１０   感情推定対話装置
１２   マイク
１４   撮像装置
１６   スピーカ
１８   コンピュータ
５０   感情モデル
【図１】
0005083033.tif 000002
【図２】
0005083033.tif 000003
【図３】
0005083033.tif 000004
【図４】
0005083033.tif 000005
【図５】
0005083033.tif 000006
【図６】
0005083033.tif 000007
【図７】
0005083033.tif 000008
【図８】
0005083033.tif 000009
【図９】
0005083033.tif 000010
【図１０】
0005083033.tif 000011
【図１１】
0005083033.tif 000012
【図１２】
0005083033.tif 000013
【図１３】
0005083033.tif 000014