(57)【要約】    【構成】傾聴対話持続システム１００に含まれるＰＣ１０は、ロボット１２の腹部カメラ１４およびモニタカメラ２２によって撮影された画像とマイク２０によって集音された音声とから、ユーザの行動データを取得する。また、特定のユーザの行動データからサンプリングされた個人学習サンプルおよびＳＶＭを構築するための一般学習サンプルに基づいて、境界線（超平面）の位置が調整された個人化ＳＶＭが構築される。そして、個人化ＳＶＭに、特定のユーザの行動からサンプリングされた認識サンプルが入力されると、特定のユーザの集中状態が認識される。    【効果】ＰＣ１０は、特定のユーザの集中状態を容易に正しく認識できる。【選択図】図１
2012010856.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの行動を取得する取得手段と、認識基準を有し、前記取得手段によって取得されたユーザの行動からユーザ状態を認識する認識手段とを備える、状態認識装置において、
複数の学習サンプルを記憶する記憶手段、および
前記複数の学習サンプルに基づいて、前記認識基準を調整する調整手段をさらに備えることを特徴とする、状態認識装置。
【請求項２】
前記認識基準は、ＳＶＭにおける境界であり、
前記調整手段は、前記複数の学習サンプルの重みを調整する重み調整手段を含み、
前記重み調整手段によって前記複数の学習サンプルの重みが調整されると前記境界の位置が変化することを特徴とする、請求項１記載の状態認識装置。
【請求項３】
前記重み調整手段によって重みが調整された後に、ユーザ状態を仮認識する仮認識手段、および
前記仮認識手段による認識度を記録する記録手段をさらに備え、
前記重み調整手段は、前記記録手段によって記録された前回の認識度と、今回の認識度との差が所定値以下となるまで前記複数の学習サンプルの重みの調整を繰り返すことを特徴とする、請求項２記載の状態認識装置。
【請求項４】
ユーザのユーザ状態を認識する、状態認識装置であって、
複数の学習サンプルを記憶する記憶手段、
前記ユーザの行動を取得する取得手段、
前記複数の学習サンプルに基づいて、前記取得手段によって取得された前記ユーザの行動から、重みを調整した認識サンプルを作成する作成手段、および
認識基準を有し、前記作成手段によって作成された認識サンプルから前記ユーザのユーザ状態を認識する認識手段を備える、状態認識装置。
【請求項５】
前記ユーザの複数の要素行動の有無を判定する要素行動判定手段をさらに備え、
前記ユーザの行動は、前記複数の要素行動の有無を組み合わせた複合行動を含むことを特徴とする、請求項１ないし４のいずれかに記載の状態認識装置。
【請求項６】
前記複数の要素行動は、前記ユーザの発話、前記ユーザの注視、前記ユーザの前傾姿勢および前記ユーザの頷きを含むことを特徴とする、請求項５記載の状態認識装置。
【請求項７】
請求項６記載の状態認識装置を有する、傾聴対話持続システムあって、
対話相手の発話の有無を判定する相手発話判定手段をさらに備え、
一方の話者における前記複数の要素行動には、他方の対話相手の発話がさらに含まれる、傾聴対話持続システム。
【請求項８】
複数の学習サンプルを記憶する記憶手段を備える、状態認識装置のプロセッサを、
ユーザの行動を取得する取得手段、
認識基準を有し、前記取得手段によって取得されたユーザの行動からユーザ状態を認識する認識手段、および
前記複数の学習サンプルに基づいて、前記認識基準を調整する調整手段として機能させる、状態認識プログラム。
【請求項９】
複数の学習サンプルを記憶する記憶手段を備える、状態認識装置のプロセッサを、
ユーザの行動を取得する取得手段、
前記複数の学習サンプルに基づいて、前記取得手段によって取得された前記ユーザの行動から重みが調整された認識サンプルを作成する作成手段、および
認識基準を有し、前記作成手段によって作成された重みが調整された認識サンプルから前記ユーザのユーザ状態を認識する認識手段として機能させる、状態認識プログラム。
【請求項１０】
ユーザの行動を取得する取得手段、認識基準を有し、前記取得手段によって取得されたユーザの行動からユーザ状態を認識する認識手段および複数の学習サンプルを記憶する記憶手段を備える、状態認識装置の状態認識方法において、
前記取得手段によって前記ユーザの行動を取得し、
前記複数の学習サンプルに基づいて、前記認識基準を調整し、そして
前記認識基準が調整された前記認識手段によって、前記取得手段によって取得されたユーザ行動からユーザ状態を認識することを特徴とする、状態認識方法。
【請求項１１】
複数の学習サンプルを記憶する記憶手段を備える、状態認識装置の状態認識方法であって、
ユーザの行動を取得し、
前記複数の学習サンプルに基づいて、前記取得手段によって取得された前記ユーザの行動から重みが調整された認識サンプルを作成し、そして
認識基準を有し、重みが調整された認識サンプルから前記ユーザのユーザ状態を認識する、状態認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、状態認識装置、傾聴対話持続システム、状態認識プログラムおよび状態認識方法に関し、特にたとえば、ユーザの状態を認識する、状態認識装置、傾聴対話持続システム、状態認識プログラムおよび状態認識方法に関する。
【背景技術】
【０００２】
特許文献１に開示されている、状態監視装置は、複数台のカメラおよびマイクを利用して、人間の姿勢や顔の向きの変化および目や口の開閉を検出する。また、状態監視装置は、検出された情報に基づいて、人間がテレビなどを見ている停止状態、人間が話をしている会話状態および人間が寝ている就眠状態などを判定することができる。そして、状態監視装置は、判定した状態に応じて、人間の周囲に設定された各種電気製品の電源を制御したり、人間に対してメッセージを流したりする。
【特許文献１】特開２００５−１９９０７８号公報［A61B 5/11, A61B 5/107, G06T 1/00, G06T 7/20］
【発明の概要】
【発明が解決しようとする課題】
【０００３】
近年、特許文献１の状態監視装置のように人間の状態を認識する認識システムが多く開発され、様々な分野で利用され始めている。
【０００４】
ところが、様々な人間の状態を認識するために開発された認識システムでは、姿勢の変化や口の開閉が極端に少ない人間の状態は、正しく認識されないことがある。この場合、その人間に特化した認識システムを構築することも考えられるが、個人用の認識システムを構築するためには大量の学習データを用意しなければならず、現実的な解決手段とは言えない。また、個人用の認識システムを構築してしまうと、他の人間は個人用の認識システムを全く利用できず、認識システムの汎用性が損なわれる。
【０００５】
それゆえに、この発明の主たる目的は、新規な、状態認識装置、傾聴対話持続システム、状態認識プログラムおよび状態認識方法を提供することである。
【０００６】
この発明の他の目的は、特定のユーザの状態を、容易に正しく認識することができる、状態認識装置、傾聴対話持続システム、状態認識プログラムおよび状態認識方法を提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００８】
第１の発明は、ユーザの行動を取得する取得手段と、認識基準を有し、取得手段によって取得されたユーザの行動からユーザ状態を認識する認識手段とを備える、状態認識装置において、複数の学習サンプルを記憶する記憶手段、および複数の学習サンプルに基づいて、認識基準を調整する調整手段をさらに備えることを特徴とする、状態認識装置である。
【０００９】
第１の発明では、状態認識装置（１０：実施例において対応する部分を例示する参照符号。以下、同じ。）は、カメラ（１４，２２）やマイク（２０）などからユーザの行動を取得する取得手段（２６，Ｓ１５３，Ｓ１５５）と、認識基準を有し、取得手段によって取得されたユーザの行動から、ユーザ状態（集中状態）を認識する認識手段（２６，Ｓ１９５，Ｓ２１３）とを備える。記憶手段（３０）は、認識する対象ユーザの行動からサンプリングされた、複数の学習サンプルを記憶する。調整手段（２６，Ｓ１７１，Ｓ１７３）は、認識対象のユーザの行動からサンプリングされた、複数の学習サンプルに基づいて、認識手段の認識基準を調整する。
【００１０】
第１の発明によれば、特定のユーザの行動からサンプリングされた学習サンプルを利用して、認識基準が調整されるため、そのユーザの状態を容易に正しく認識できるようになる。
【００１１】
第２の発明は、第１の発明に従属し、認識基準は、ＳＶＭにおける境界であり、調整手段は、複数の学習サンプルの重みを調整する重み調整手段を含み、重み調整手段によって複数の学習サンプルの重みが調整されると境界の位置が変化することを特徴とする。
【００１２】
第２の発明では、認識基準は、ＳＶＭにおける境界（境界線または超平面）である。重み調整手段（２６，Ｓ１７１）は、学習サンプルに含まれる各パラメータ値の重みを調整する。そして、重み調整手段によって複数の学習サンプルの重みが調整され、ＳＶＭが再構築されると境界の位置が変化する。
【００１３】
第２の発明によれば、学習サンプルに含まれる各パラメータ値の重みを調整することで、ＳＶＭの境界を個人の行動に適した位置に変化させることができる。
【００１４】
第３の発明は、第２の発明に従属し、重み調整手段によって重みが調整された後に、ユーザ状態を仮認識する仮認識手段、および仮認識手段による認識度を記録する記録手段をさらに備え、重み調整手段は、記録手段によって記録された前回の認識度と、今回の認識度との差が所定値以下となるまで複数の学習サンプルの重みの調整を繰り返すことを特徴とする。
【００１５】
第３の発明では、仮認識手段（２６，Ｓ１７５）は、重み調整手段によって学習サンプルに含まれるパラメータの重みが調整された後に、ユーザ状態を仮認識する。記録手段（２６，Ｓ１７７）は、たとえば、アクティブ状態と認識された認識サンプルの数を認識度として記録する。そして、重み調整手段は、たとえば、前回の認識度と、今回の認識度との差が所定値以下となるまで複数の学習サンプルの重みの調整を繰り返す。
【００１６】
第３の発明によれば、ユーザ状態の認識精度は、状態認識装置の稼働時間に比例して向上する。
【００１７】
第４の発明は、ユーザのユーザ状態を認識する、状態認識装置であって、複数の学習サンプルを記憶する記憶手段、ユーザの行動を取得する取得手段、複数の学習サンプルに基づいて、取得手段によって取得されたユーザの行動から、重みを調整した認識サンプルを作成する作成手段、および認識基準を有し、作成手段によって作成された認識サンプルからユーザのユーザ状態を認識する認識手段を備える、状態認識装置である。
【００１８】
第４の発明では、状態認識装置（１０）はユーザのユーザ状態を認識する。記憶手段（３０）は、複数のユーザの行動からサンプリングされた複数の学習サンプルを記憶する。取得手段（２６，Ｓ１５３，Ｓ１５５）は、カメラ（１４，２２）やマイク（２０）などからユーザの行動を取得する。作成手段（２６，Ｓ３１３）は、複数のユーザの行動からサンプリングされた複数の学習サンプルに基づいて、ユーザの行動から、重みを調整した認識サンプルを作成する。認識手段（２６，Ｓ３１５）は、認識基準を有し、作成手段によって作成された認識サンプルからユーザのユーザ状態（集中状態）を認識する。
【００１９】
第４の発明によれば、認識サンプルの重みを調整するだけでよいので、認識基準を変化させることなく、特定のユーザの状態を容易に正しく認識できるようになる。
【００２０】
第５の発明は、第１の発明ないし第４の発明のいずれかに従属し、ユーザの複数の要素行動の有無を判定する要素行動判定手段をさらに備え、ユーザの行動は、複数の要素行動の有無を組み合わせた複合行動を含むことを特徴とする。
【００２１】
第５の発明では、要素行動判定手段（２６，Ｓ１３，Ｓ３７，Ｓ４５，Ｓ６７，Ｓ７５，Ｓ９７，Ｓ１０５）は、カメラやマイクの入力に基づいて、ユーザの複数の要素行動の有無を判定する。そして、ユーザの行動は、複数の要素行動の有無を組み合わせた複合行動を含む。
【００２２】
第６の発明は、第５の発明に従属し、複数の要素行動は、ユーザの発話、ユーザの注視、ユーザの前傾姿勢およびユーザの頷きを含むことを特徴とする。
【００２３】
第５の発明および第６の発明によれば、取得される要素行動の種類を少なくしつつ、学習および認識に必要な複合行動を得ることができる。そのため、ユーザの要素行動を記録する状態認識装置の負荷を減らすことができる。
【００２４】
第７の発明は、請求項６記載の状態認識装置を有する、傾聴対話持続システムあって、対話相手の発話の有無を判定する相手発話判定手段をさらに備え、一方の話者における複数の要素行動には、他方の対話相手の発話がさらに含まれる、傾聴対話持続システムである。
【００２５】
第７の発明では、傾聴対話持続システム（１００）は、請求項６記載の状態認識装置（１０）を有し、対話相手との対話を持続させるためのシステムである。また、傾聴対話持続システムの相手発話判定手段（２６，Ｓ１２３）は、対話相手の相手の発話の有無を判定する。そして、一方の話者における複数の要素行動には、他方の対話相手の発話がさらに含まれる。
【００２６】
第７の発明によれば、相手の発話の有無を利用してユーザの集中状態を認識することで、認識の精度を向上させることができる。
【００２７】
第８の発明は、複数の学習サンプルを記憶する記憶手段（３０）を備える、状態認識装置のプロセッサ（２６）を、ユーザの行動を取得する取得手段（２６，Ｓ１５３，Ｓ１５５）、認識基準を有し、取得手段によって取得されたユーザの行動からユーザ状態を認識する認識手段（２６，Ｓ２１３）、および複数の学習サンプルに基づいて、認識基準を調整する調整手段（２６，Ｓ１７１，Ｓ１７３）として機能させる、状態認識プログラムである。
【００２８】
第８の発明でも、第１の発明と同様に、特定のユーザの行動からサンプリングされた学習サンプルを利用して、認識基準が調整されるため、そのユーザの状態を容易に正しく認識できるようになる。
【００２９】
第９の発明は、複数の学習サンプルを記憶する記憶手段（３０）を備える、状態認識装置（１０）のプロセッサ（２６）を、ユーザの行動を取得する取得手段（Ｓ１５３，Ｓ１５５）、複数の学習サンプルに基づいて、取得手段によって取得されたユーザの行動から重みが調整された認識サンプルを作成する作成手段（Ｓ３１３）、および認識基準を有し、作成手段によって作成された重みが調整された認識サンプルからユーザのユーザ状態を認識する認識手段（Ｓ３１５）として機能させる、状態認識プログラムである。
【００３０】
第９の発明でも、第４の発明と同様に、認識サンプルの重みを調整するだけでよいので、認識基準を変化させることなく、特定のユーザの状態を容易に正しく認識できるようになる。
【００３１】
第１０の発明は、ユーザの行動を取得する取得手段（Ｓ１５３，Ｓ１５５）、認識基準を有し、取得手段によって取得されたユーザの行動からユーザ状態を認識する認識手段（２６，Ｓ２１３）および複数の学習サンプルを記憶する記憶手段（３０）を備える、状態認識装置（１０）の状態認識方法において、取得手段によってユーザの行動を取得し（Ｓ１５３，Ｓ１５５）、複数の学習サンプルに基づいて、認識基準を調整し（Ｓ１７１，Ｓ１７３）、そして認識基準が調整された認識手段によって、取得手段によって取得されたユーザ行動からユーザ状態を認識することを特徴とする、状態認識方法である。
【００３２】
第１０の発明でも、第１の発明と同様に、特定のユーザの行動からサンプリングされた学習サンプルを利用して、認識基準が調整されるため、そのユーザの状態を容易に正しく認識できるようになる。
【００３３】
第１１の発明は、複数の学習サンプルを記憶する記憶手段（３０）を備える、状態認識装置（１０）の状態認識方法であって、ユーザの行動を取得し（Ｓ１５３，Ｓ１５５）、複数の学習サンプルに基づいて、取得手段によって取得されたユーザの行動から重みが調整された認識サンプルを作成し（Ｓ３１３）、そして認識基準を有し、重みが調整された認識サンプルからユーザのユーザ状態を認識する（Ｓ３１５）、状態認識方法である。
【００３４】
第１１の発明でも、第４の発明と同様に、認識サンプルの重みを調整するだけでよいので、認識基準を変化させることなく、特定のユーザの状態を容易に正しく認識できるようになる。
【発明の効果】
【００３５】
この発明によれば、特定のユーザの行動からサンプリングされた学習サンプルを利用して、認識基準が調整されるため、そのユーザの状態を容易に正しく認識できるようになる。
【００３６】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３７】
【図１】図１はこの発明の一実施例の傾聴対話持続システムの概要を示す図解図である。
【図２】図２は図１に示すモニタカメラとモニタとロボットとユーザとの位置関係およびそのモニタカメラと腹部カメラとの撮影範囲の一例を示す図解図である。
【図３】図３は図１に示すＰＣの電気的な構成の一例を示すブロック図である。
【図４】図４は図１に示すロボットの外観を正面から見た図解図である。
【図５】図５は図１に示すロボットの電気的な構成の一例を示すブロック図である。
【図６】図６は図１に示すサーバの電気的な構成の一例を示すブロック図である。
【図７】図７は図３に示すメモリに記憶される行動テーブルの一例を示す図解図である。
【図８】図８は図１に示すモニタカメラおよび腹部カメラによって撮影された画像データの一例を示す図解図である。
【図９】図９は図３に示すメモリに記憶される行動テーブルに基づく時系列グラフの一例を示す図解図である。
【図１０】図１０は図９に示す時系列データから求められる複合行動の一例を示す図解図である。
【図１１】図１１は図１０に示す複合行動の行動頻度の一例を示す図解図である。
【図１２】図１２は図１に示すＰＣによって構築されるＳＶＭの一例を示す図解図である。
【図１３】図１３は図３に示すメモリに記憶される行動テーブルから求められる要素行動の発生頻度の一例を示す図解図である。
【図１４】図１４は図１３に示す要素行動の発生頻度から算出された複合行動の行動頻度の一覧を示す図解図である。
【図１５】図１５は図１２に示すＳＶＭを個人化するために利用される数値の一例を示す図解図である。
【図１６】図１６は図１２に示すＳＶＭを個人化することで変化する境界線の一例を示す図解図である。
【図１７】図１７は図３に示すＰＣのメモリのメモリマップの一例を示す図解図である。
【図１８】図１８は図１７に示すデータ記憶領域の一例を示す図解図である。
【図１９】図１９は図１７に示す行動判定プログラムの構成の一例を示す図解図である。
【図２０】図２０は図３に示すＰＣのプロセッサの画像／音声取得処理を示すフロー図である。
【図２１】図２１は図３に示すＰＣのプロセッサの発話判定処理を示すフロー図である。
【図２２】図２２は図３に示すＰＣのプロセッサの注視方向判定処理を示すフロー図である。
【図２３】図２３は図３に示すＰＣのプロセッサの前傾姿勢判定処理を示すフロー図である。
【図２４】図２４は図３に示すＰＣのプロセッサの頷き判定処理を示すフロー図である。
【図２５】図２５は図３に示すＰＣのプロセッサの相手の発話判定処理を示すフロー図である。
【図２６】図２６は図３に示すＰＣのプロセッサの同期処理を示すフロー図である。
【図２７】図２７は図３に示すＰＣのプロセッサのサンプル蓄積処理を示すフロー図である。
【図２８】図２８は図３に示すＰＣのプロセッサの学習処理を示すフロー図である。
【図２９】図２９は図３に示すＰＣのプロセッサの認識処理を示すフロー図である。
【図３０】図３０は図３に示すＰＣのプロセッサの集中認識処理を示すフロー図である。
【図３１】図３１は図３に示すＰＣのプロセッサのロボット制御処理を示すフロー図である。
【図３２】図３２は図３に示すメモリに記憶される行動テーブルからサンプリングされた認識サンプルが一般化されたときの一例を示す図解図である。
【図３３】図３３は図３に示すＰＣのプロセッサの第２実施例の学習処理を示すフロー図である。
【図３４】図３４は図３に示すＰＣのプロセッサの第２実施例の集中認識処理を示すフロー図である。
【図３５】図３５は他の実施例における傾聴対話持続システムの概要を示す図解図である。
【図３６】図３６は図３５に示す他の実施例の傾聴対話持続システムを利用する２人のユーザの位置関係を示す図解図である。
【発明を実施するための形態】
【００３８】
＜第１実施例＞
図１を参照して、この実施例の傾聴対話持続システム１００は、たとえば認知症患者のような軽度脳障害を持つユーザＡと、ユーザＢとの対話に利用される。そのため、傾聴対話持続システム１００には、ＰＣ１０ａ、ユーザＡが居る部屋１に設置される腹部カメラ１４ａを含むぬいぐるみ型ロボット（以下、単に「ロボット」と言う。）１２ａ、モニタ１６ａ、スピーカ１８ａ、マイク２０ａおよびモニタカメラ２２ａと、ユーザＢが居る部屋２（遠隔地）に設置されるＰＣ１０ｂ、腹部カメラ１４ｂを含むロボット１２ｂ、モニタ１６ｂ、スピーカ１８ｂ、マイク２０ｂおよびモニタカメラ２２ｂと、ネットワーク２００に接続されるサーバ２４とを備える。なお、本明細書では、部屋１および部屋２において対応する機器および人間を区別なく説明する場合、参照符号に添えられたアルファベットは省略する。
【００３９】
ロボット１２はＰＣ１０による制御信号に基づいて、傾聴動作や発話を行う。ロボット１２の腹部に設けられた腹部カメラ１４はユーザを撮影し、ロボット１２を介して画像をＰＣ１０に出力する。ＰＣ１０は、ロボット１２に対して制御信号を出力するとともに、腹部カメラ１４およびモニタカメラ２２によって撮影された画像およびマイク２０によって集音される音声が入力される。そして、ＰＣ１０は、入力された画像および音声に基づいてユーザの行動を判定することで、ユーザの状態（ユーザ状態）を認識する。また、判定されたユーザの行動およびユーザ状態は、ネットワーク２００を介してサーバ２４に送信される。なお、ＰＣ１０は、ユーザの状態を認識するため、状態認識装置と呼ばれることもある。
【００４０】
また、ＰＣ１０、モニタ１６、スピーカ１８、マイク２０およびモニタカメラ２２はテレビ電話機として機能する。たとえば、ＰＣ１０ａは、ユーザＢ側のＰＣ１０ｂから送信されたユーザＢの画像および音声を受信する。そのため、モニタ１６ａはユーザＢの画像を表示し、スピーカ１８はユーザＢの音声を出力する。さらに、マイク２０はユーザＡの音声を集音してＰＣ１０に出力し、モニタカメラ２２はユーザＡの画像を撮影してＰＣ１０に出力する。そして、ＰＣ１０は、ユーザＡの画像と音声とを、ネットワーク２００を介してＰＣ１０ｂに送信する。そのため、傾聴対話持続システム１００は、テレビ電話システムと呼ばれることもある。
【００４１】
サーバ２４は、ＰＣ１０ａおよびＰＣ１０ｂから送信される、ユーザＡおよびユーザＢの行動や状態のデータを受信すると、データベース（ＤＢ）に蓄積する。そして、ＰＣ１０から行動および状態のデータを取得する要求がある場合に、その要求に基づいてデータがＰＣ１０に送信される。
【００４２】
なお、他の実施例では、ロボット１２とＰＣ１０とが有線接続ではなく、無線接続であってもよい。また、ＰＣ１０およびサーバ２４のネットワーク２００との接続は、有線接続であってもよいし、無線接続であってもよい。
【００４３】
図２は図１に示す実施例を側面から見た実施例である。図２から分かるように、モニタカメラ２２はモニタ１６の上に置かれ、ロボット１２とモニタ１６とは机の上に置かれる。ユーザは、机の上に置かれるモニタ１６およびモニタカメラ２２に対面する状態で、腹部カメラ１４およびモニタカメラ２２によって撮影される。さらに、ロボット１２は、ユーザとモニタ１６との間に配置されるため、モニタカメラ２２はロボット１２とユーザとを同時に撮影する。これにより、ロボット１２は、ユーザＡに対して疑似的な傾聴動作（疑似傾聴動作）を行ったり、ユーザＢが表示されるモニタ１６ａに対して疑似傾聴動作を行ったりする。
【００４４】
なお、ロボット１２は、モニタカメラ２２によって撮影され、かつユーザを撮影可能な位置であれば、机の上に置かれていなくてもよい。
【００４５】
図３にはＰＣ１０の電気的な構成を示すブロック図が示される。ＰＣ１０には、マイクロコンピュータ或いはCPUとも呼ばれる、プロセッサ２６が内蔵されている。プロセッサ２６は、バス２８を介して、メモリ３０、音声入力／出力ボード３２、Ｉ／Ｏ３４および通信ＬＡＮボード３６と接続される。なお、プロセッサ２６には、日時情報を出力するＲＴＣ(Real Time Clock)２６ａが内蔵されている。
【００４６】
記憶手段として機能するメモリ３０は、図示しないROM、RAMおよびHDDが組み込まれており、ROMには主として、電話機能を実現するためのプログラムや、後述のフローチャート（図２０−図３１）で表現されるプログラムが記憶される。また、RAMには主として、腹部カメラ１４およびモニタカメラ２２によって撮影された画像や、マイク２０によって集音された音声などが一時的に記憶されるバッファなどが設定されている。そして、HDDには主として、ユーザの行動を判定した結果や、状態を認識した結果などが記憶される。
【００４７】
スピーカ１８には、音声入力／出力ボード３２を介して、プロセッサ２６から相手ユーザの音声データが与えられ、それに応じて、スピーカ１８からはそのデータに従った音声が出力される。そして、マイク２０によって集音された相手ユーザの音声は、音声入力／出力ボード３２を介して、プロセッサ２６に取り込まれる。
【００４８】
Ｉ／Ｏ３４は、各々入力／出力の制御が可能なディジタルポートであり、出力ポートからは、制御信号がロボット１２に出力され、画像信号がモニタ１６に出力される。また、ロボット１２およびモニタカメラ２２からは、映像信号が出力され、入力ポートに与えられる。
【００４９】
通信ＬＡＮボード３６は、たとえばDSP(Digital Signal Processor)で構成され、プロセッサ２６から与えられた送信データを無線通信装置３８に与える。無線通信装置３８は送信データを、ネットワーク２００を介して外部のコンピュータ（サーバ２４および相手のＰＣ１０）に送信する。また、通信ＬＡＮボード３６は、無線通信装置３８を介してデータを受信し、受信したデータをプロセッサ２６に与える。
【００５０】
たとえば、送信データとしては、テレビ電話機として必要なコマンド、画像データおよび音声データや、ユーザの行動を判定した結果およびユーザの状態を認識した結果であったりする。また、受信データとしては、テレビ電話機として得られる相手の画像データおよび音声データや、相手ユーザの行動を判定した結果および状態を認識した結果であったりする。
【００５１】
図４にはロボット１２の外観が図示される。このロボット１２は、頭部４２とそれを支える胴体４４とを含む。胴体４４の上部（人間の肩に相当）の左右に左腕４６Ｌおよび右腕４６Ｒが設けられ、胴体４４の腹部には腹部カメラ１４が設けられる。この腹部カメラ１４には、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。また、頭部４２には、前面に口４８が配置され、その口４８の上方には眼球５０が設けられる。そして、頭部４２の上部側面には耳５２が取り付けられている。
【００５２】
頭部４２は、胴体４４によって旋回・俯仰可能に支持され、眼球５０も稼働的に保持されている。また、胴体４４は、腰の部分を中心として左右方向に傾くことが可能である。さらに、口４８にはスピーカ７２（図５）が内蔵され、耳５２にはマイク７４（図５）が内蔵される。
【００５３】
なお、マイク７４を両方の耳５２にそれぞれ内蔵すれば、ステレオマイクとして機能し、それによって、そのステレオマイクに入力された音声の位置を必要に応じて特定することができる。また、ロボット１２の外見は、熊だけに限らず、他の動物や、人型であってもよい。
【００５４】
図５にはロボット１２の電気的な構成を示すブロック図が示される。ロボット１２には、ＰＣ１４と同様、プロセッサ５４が内蔵されている。また、プロセッサ２６は、通信路の一例であるバス５６を介して、メモリ５８、モータ制御ボード６０、音声入力／出力ボード７０、センサ入力／出力ボード７６およびＩ／Ｏ７８に接続される。
【００５５】
メモリ５８は、図示しないROMやRAMが組み込まれており、ROMには主として、ロボット１２による傾聴動作や、発話を行うためのプログラムや、発話を行う際にスピーカ７２から出力される音声データなどが予め記憶されている。また、RAMは一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用される。
【００５６】
モータ制御ボード６０は、たとえばDSPで構成され、図４に示すロボット１２の各腕や頭部の各軸モータを制御する。すなわち、モータ制御ボード６０は、プロセッサ５４からの制御データを受け、右腕４６Ｒ（図４）を前後や左右に動かすことができるように、Ｘ，ＹおよびＺ軸のそれぞれの角度を制御する３つのモータ（図５ではまとめて、「右腕モータ」として示す。）６２Ｒの回転角度を調節する。また、モータ制御ボード６０は、左腕４６Ｌの３つのモータ（図５ではまとめて、「左腕モータ」として示す。）６２Ｌの回転角度を調節する。モータ制御ボード６０は、また、頭部４２の旋回角や俯仰角を制御する３つのモータ（図５ではまとめて、「頭部モータ」として示す。）６４の回転角度を調節する。モータ制御ボード６０は、また、眼球５０を動かす眼球モータ６６および胴体４４を傾ける腰モータ６８も制御する。
【００５７】
なお、上述のモータは、制御を簡単化するために、それぞれステッピングモータまたはパルスモータであるが、直流モータであってもよい。
【００５８】
スピーカ７２には音声入力／出力ボード７０を介して、プロセッサ５４から合成音声データが与えられ、それに応じて、スピーカ７２からはそのデータに従った音声または声が出力される。そして、マイク７４によって集音された音声は、音声入力／出力ボード７０を介して、プロセッサ５４に取り込まれる。
【００５９】
センサ入力／出力ボード７６は、モータ制御ボード６０と同様に、DSPで構成され、腹部カメラ１４からの信号を取り込んで、プロセッサ５４に与える。腹部カメラ１４からの映像信号が、必要に応じてセンサ入力／出力ボード７６で所定の処理を施してからプロセッサ５４に入力される。
【００６０】
Ｉ／Ｏ７８は、ＰＣ１０のＩ／Ｏ３２と同様に、各々入力／出力の制御が可能なディジタルポートであり、出力ポートからは映像信号が出力され、ＰＣ１０に与えられる。一方、ＰＣ１０からは、制御信号が出力され、入力ポートに与えられる。
【００６１】
図６にはサーバ２４の電気的な構成を示すブロック図が示される。サーバ２４は、プロセッサ２６，５４と同様、プロセッサ８０が内蔵されている。また、プロセッサ８０は、バス８２を介して、メモリ８４、第１ユーザ情報ＤＢ８６、第２ユーザ情報ＤＢ８８および通信ＬＡＮボード９０に接続されている。
【００６２】
メモリ８４は、図示しないROMやRAMが組み込まれており、ROMには主として、サーバ２４とＰＣ１０ａ，１０ｂなどとのデータ通信を行うためのプログラムなどが予め記憶されている。また、RAMは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用される。
【００６３】
第１ユーザ情報ＤＢ８６は、ＰＣ１０ａから送信されるユーザＡの行動データおよび状態データを蓄積するためのデータベースである。また、第２ユーザ情報ＤＢ８８は、ＰＣ１０ｂから送信されるユーザＢの行動データおよび状態データを蓄積するためのデータベースである。そして、第１ユーザ情報ＤＢ８６および第２ユーザ情報ＤＢ８８は、HDDやSSDのような記憶媒体から構成される。
【００６４】
通信ＬＡＮボード９０は、ＰＣ１０の通信ＬＡＮボード３８と同様に、たとえばDSPで構成され、プロセッサ８０から与えられた送信データを無線通信装置９２に与える。無線通信装置９２は送信データを、ネットワーク２００を介して外部のコンピュータ（ＰＣ１０ａ，１０ｂ）に送信する。また、通信ＬＡＮボード９０は、無線通信装置９２を介してデータを受信し、受信データをプロセッサ８０に与える。
【００６５】
たとえば、受信データはＰＣ１０ａから送信されるユーザＡの行動データであり、プロセッサ８０はユーザＡの行動データを第１ユーザ情報ＤＢ８６に保存する。さらに、受信データとして、ＰＣ１０ｂからユーザＡの行動データ取得要求がプロセッサ８０に与えられると、プロセッサ８０は、ユーザＡの行動データを送信データとして、通信ＬＡＮボード９０に与える。
【００６６】
図７にはＰＣ１０のメモリ３０に記憶される、行動テーブルが示される。この行動テーブルとは、ユーザの行動が判定された結果が行動データにされ、その行動データが一定時間（たとえば、１秒）毎に刻々と記録されるテーブルである。
【００６７】
図７を参照して、行動テーブルは、左側から「時刻」、「発話」、「注視方向」、「前傾姿勢」、「頷き」および「相手の発話」の列で構成されている。そして、各行動データは、「時刻」の列に同期して、各欄に記録される判定結果から構成される。
【００６８】
「時刻」の列に記録される数値はＲＴＣ２６ａが出力する日時情報であり、たとえば「10:00:30」は「１０時００分３０秒」を表す。
【００６９】
「発話」の列には、ユーザが発話しているか否かを示す判定結果が記録される。たとえば、「発話」の列に「有り」が記録されていれば、ユーザが発話していることを示し、「無し」が記録されていれば、ユーザが発話していないことを示す。そして、発話の「有り」／「無し」は、マイク２０によって集音された音声データの音声レベルから判定される。たとえば、音声データの音声レベルが決められた値以上であれば「有り」と判定され、決められた値未満であれば「無し」と判定される。
【００７０】
「注視方向」の列には、ユーザが注視している物が記録される。たとえば、「モニタ」が記録されていれば、ユーザがモニタ１６を注視していることを示し、「ロボット」が記録されていれば、ユーザがロボット１２を注視していることを示し、「その他」が記録されていれば、ユーザがロボット１２またはモニタ１６以外の物を注視していることを示す。そして、「注視方向」の列における、「モニタ」、「ロボット」および「その他」は腹部カメラ１４またはモニタカメラ２２によって撮影されたユーザの顔を認識することで判定される。
【００７１】
図８（Ａ）にはモニタカメラ２２による顔認識結果の成功列が示され、図８（Ｂ）には腹部カメラ１４による顔認識結果の成功例が示され、図８（Ｃ）にはどちらのカメラでも顔認識が失敗した状態が示される。
【００７２】
図８（Ａ）を参照して、左側が腹部カメラ１４による画像であり、右側がモニタカメラ２２による画像であり、どちらの画像も同じ時刻に撮影された画像である。このとき、ユーザはモニタカメラ２２を注視している状態である。そのため、モニタカメラ２２による画像では、ユーザの顔が正面に写っているため、顔認識が成功している。一方、腹部カメラ１４による画像では、ユーザの顔は傾いて写っているため、顔認識が失敗している。そのため、ユーザの注視方向は「モニタ」と判定される。
【００７３】
次に、図８（Ｂ）を参照して、図８（Ａ）と同様、同じ時刻に撮影された画像である。このとき、ユーザは腹部カメラ１４を注視しているため、腹部カメラ１４による画像では顔認識が成功している。一方、モニタカメラ２２による画像ではユーザの顔が見きれているため顔認識が失敗している。そのため、ユーザの注視方向は「ロボット」と判定される。
【００７４】
そして、図８（Ｃ）を参照して、図８（Ａ），（Ｂ）と同様、同じ時刻に撮影された画像である。このとき、ユーザは俯いているため、腹部カメラ１４およびモニタカメラ２２のどちらでも、顔認識は失敗している。そのため、ユーザの注視方向は「その他」と判定される。
【００７５】
図７に戻って、「前傾姿勢」の列には、ユーザが前傾姿勢を取っている方向が記録される。また、「前傾姿勢」の列には、「注視方向」の列と同様に、「モニタ」、「ロボット」および「その他」が記録される。そして、「前傾姿勢」の列における、「モニタ」、「ロボット」および「その他」は腹部カメラ１４またはモニタカメラ２２によって撮影されたユーザの顔領域の認識結果に基づいて判定される。
【００７６】
たとえば、図８（Ａ）に示す画像では、モニタカメラ２２によって撮影された顔領域が閾値以上でるため、前傾姿勢は「モニタ」と判定される。また、図８（Ｂ）に示す画像では、腹部カメラ１４によって撮影された顔領域が閾値以上であるため、前傾姿勢は「ロボット」と判定される。そして、図８（Ｃ）に示す画像では、腹部カメラ１４およびモニタカメラ２２のどちらでも顔認識は失敗しているため、どちらのカメラの画像でも顔領域が閾値未満の状態となる。そのため、前傾姿勢は「その他」と判定される。
【００７７】
図７に戻って、「頷き」の列には、ユーザによる頷きの有無が記録される。たとえば、「頷き」の列に「有り」が記録されていればユーザが頷いたことを示し、「無し」が記録されていればユーザが頷かなかったことを示す。そして、ユーザの頷きの有無は、腹部カメラ１４およびモニタカメラ２２によって撮影された画像における顔位置の変化に基づいて判定される。たとえば、顔の位置（顔領域の重心）は一定時間毎に認識および記録される。そして、「頷き」の判定を行う際に、前回の顔の位置と今回の顔の位置との距離が一定距離以上離れていれば「有り」と判定される。また、前回の顔の位置と今回の顔の位置との距離が一定距離未満であれば「無し」と判定される。なお、ユーザの頷きは、ユーザに頭部加速度センサを取り付けて、加速度の変化から検出されてもよい。
【００７８】
「相手の発話」の列には、相手のユーザが発話しているかが記録される。つまり、「相手の発話」の列に「有り」が記録されていれば相手のユーザが発話していることを示す。また、「相手の発話」の列に「無し」が記録されていれば相手のユーザが発話していないことを示す。そして、「相手の発話」の有無は、サーバ２４に記録された相手のユーザの行動データに基づいて記録される。たとえば、図７に示す行動テーブルがユーザＡに対応していれば、ユーザＢに対応する行動データがサーバ２４から読み出され、「相手の発話」の有無が記録される。
【００７９】
なお、上述した顔認識処理、顔領域認識処理および顔位置認識処理には、Haar-like特徴量が利用されているが、他の特徴量が用いられてもよい。また、図７に示す行動テーブルは、ＰＣ３０のメモリ３０だけでなく、サーバ２４の第１ユーザ情報ＤＢ８６および第２ユーザ情報ＤＢ８８にも記憶されている。
【００８０】
ここで、ＰＣ１０では、一定時間毎に記録された行動データから、ユーザ状態が所定時間（たとえば、１０秒）毎に認識される。ユーザ状態には、「対話における発話」、「興味を持つ対象」および「対話への集中」が含まれる。そして、これらのユーザ状態は、発話認識処理、興味対象認識処理および集中認識処理によって認識される。
【００８１】
発話認識処理とは、ユーザが話し手となり発話している「トーク：Ｔａｌｋ」状態であるか、相手ユーザの話を傾聴している「リッスン：Ｌｉｓｔｅｎ」状態であるかを認識する処理である。そして、発話認識処理では、ユーザの発声時間に基づいて発話状態（トーク／リッスン）が認識される。
【００８２】
次に、興味対象認識とは、ユーザの興味が「ロボット」、「モニタ」および「その他」のいずれであるかを認識する処理である。そのため、興味対象認識では、所定時間分のユーザの行動データのうち、ユーザの注視方向に基づいて、ユーザが興味を持つ物（ロボット、モニタ、その他）が認識される。
【００８３】
そして、集中認識処理とは、ユーザが対話に積極的に参加し、対話に集中している「アクティブ：Ａｃｔｉｖｅ」状態か、ユーザが対話に非積極的であり、対話に集中していない「パッシブ：Ｐａｓｓｉｖｅ」状態かを認識する処理である。そして、本実施例の集中認識処理は、ＳＶＭによって集中状態（アクティブ／パッシブ）を認識する。
【００８４】
ＳＶＭとは、認識手法（認識モデル）の一種であり、予めラベル付けがされた複数の学習サンプルを学習することで構築される。そして、本実施例における複数の学習サンプルは、システムの管理者によって予め作成され、メモリ３０に記憶されている。また、学習サンプルを作成する場合、まず、行動テーブルから所定時間の行動データが切り出される。次に、切り出された行動データから特徴量を抽出し、手作業でアクティブまたはパッシブのラベルが付けられる。さらに、抽出した特徴量にラベルを対応付けることで、学習サンプルが完成する。そして、このようにして作成された学習サンプルを学習することで、ＳＶＭは構築される。
【００８５】
図９−図１１を用いて、学習サンプルについて説明する。図９は行動テーブルを時系列グラフによって表す図解図である。図９を参照して、この時系列グラフは、横軸が時間の変化を示し、縦軸が行動を示す。また、縦軸の行動は、行動テーブルの列における、「発話」、「注視方向」、「前傾姿勢」、「頷き」および「相手の発話」に対応している。さらに、時系列グラフでは、各行動が「起きている」または「起きていない」の２状態で表現される。たとえば、「発話」であれば、ユーザが「発話している」／「発話していない」の２状態で表現される。また、「注視方向」であれば、「モニタ」、「ロボット」および「その他」に分割して、「注視している」／「注視していない」の２状態で表現される。そして、図９に示す、「発話」、「注視（モニタ）」、「注視（ロボット）」、「注視（その他）」、「姿勢（モニタ）」、「姿勢（ロボット）」、「姿勢（その他）」、「頷き」および「相手の発話」が、抽出される特徴量を構成する要素行動となる。
【００８６】
たとえば、図１０（Ａ），（Ｂ）を参照して、図９における「発話」、「注視（モニタ）」および「頷き」の３つの要素行動に着目した場合、「発話のみ」、「注視のみ」、「頷きのみ」、「発話と注視」、「発話と頷き」、「注視と頷き」、「発話と注視と頷き」および「全てなし」の８つの組み合わせ（複合行動）が得られる。そして、本実施例では、これらの複合行動が発生する頻度が学習サンプルの特徴量となる。また、複合行動が発生する頻度は以下に記述するサンプリング窓に基づいて算出される。
【００８７】
図１１（Ａ）はラベルが付けられた行動データを示す図解図であり、図１１（Ｂ）はサンプリングされた行動データを示す図解図であり、図１１（Ｃ）は複合行動が発生する頻度を示す図解図である。図１１（Ａ）を参照して、図１０（Ａ）に示す時系列グラフに対して、「アクティブ」および「パッシブ」のラベルが、システムの管理者によって付けられる。そして、「アクティブ」および「パッシブ」のラベルが付けられた行動データから、サンプリング窓のウィンドウ幅に基づいて学習サンプルがサンプリングされる。
【００８８】
たとえば、ウィンドウ幅が１０秒のサンプリング窓によって、「アクティブ」のラベルが付けられた行動データからサンプリングされた第１学習サンプルと、「パッシブ」のラベルが付けられた行動データサンプリングされた第２学習サンプルとは、図１１（Ｂ）のように表すことができる。また、第１学習サンプルおよび第２学習サンプルのそれぞれから、各複合行動が発生する頻度（発生頻度）を算出すると、図１１（Ｃ）のグラフで表すことができる。
【００８９】
図１１（Ｂ），（Ｃ）を参照して、第１学習サンプルで「注視のみ」が発生した時間が２．５秒であれば、「注視のみ」の発生頻度は「０．２５（＝２．５／１０）」となる。また、「発話と注視」が発生した時間が５．８秒であれば、「発話と注視」の発生頻度は「０．５８」となる。さらに、「発話と注視と頷き」が発生した時間が１．７秒であれば、「発話と注視」の発生頻度は「０．１７」となる。そして、「発話のみ」、「頷きのみ」、「発話と頷き」、「注視と頷き」および「全てなし」が発生した時間が０秒であれば、それらの複合行動の発生頻度は「０」となる。
【００９０】
ここで、複合行動の種類をＭ、複合行動をｐａｔ、複合行動の発生頻度をｄ、複合行動が発生した時間をｔｐａｔ、ウィンドウ幅をｔｓと表したとき、特徴量を示す特徴ベクトル（行動頻度）Ｄは数１のように表すことができる。なお、要素行動の種類をｍとした場合、複合行動の数は、「Ｍ＝２ｍ」となる。
【００９１】
［数１］
Ｄ＝[ｄ１，ｄ２，…，ｄＭ]
ただし、ｄｐａｔ＝ｔｐａｔ／ｔｓ（ｐａｔ＝１，…，Ｍ）
また、Ｋ（ｋ＝１，…Ｋ）人のユーザから複数の学習サンプルを取得している場合、ユーザｋの行動データに基づいて取得されたＮｋ個の特徴ベクトルは、Ｄ（ｋ）１，…Ｄ（ｋ）Ｎｋと表すことができる。このとき、ユーザｋに関する行動頻度Ｄ￣（ｋ）は数２のように示され、ＳＶＭが学習する全ての学習サンプルの行動頻度Ｄ￣は数３のように示される。
【００９２】
ただし、「Ｎｋ」が下付きの添え字である場合については、表現の都合上、数式以外では「ｋ」を「Ｎ」の添え字とせず、まとめて下付きの添え字にして記載する。また、数式以外では、上付きバーを上付き添え字として記載する。
【００９３】
【数２】
2012010856.tif 000003
【００９４】
【数３】
2012010856.tif 000004
【００９５】
また、ユーザ毎に行動の複合行動の発生頻度は異なるため、各発生頻度を正規化する。発生頻度を正規化する場合には、ユーザｋの行動頻度Ｄ￣（ｋ）を構成する発生頻度ｄ￣（ｋ）に対する全ての各学習サンプルの行動頻度Ｄ￣を構成する発生頻度ｄ￣の割合と、そのユーザｋの各発生頻度ｄ￣（ｋ）ｉとの積を求めればよい。そして、正規化された各発生頻度ｄ￣（ｋ）ｉから構成されるユーザｋの行動頻度Ｄ＾（ｋ）は数４に示す式に従って求めることができる。なお、正規化された学習サンプルは、一般学習サンプルと呼ぶ。
【００９６】
ただし、添え字「＾」は、数式では「Ｄ」の上に付されるが、表現の都合上、数式以外では「Ｄ」の上付き添え字として記載する。
【００９７】
【数４】
2012010856.tif 000005
【００９８】
そして、正規化された行動頻度Ｄ＾（ｋ）の一般学習サンプルは、ＳＶＭによって学習される。また、学習したＳＶＭは、学習した複数の一般学習サンプルを分離する境界線（超平面）を設定する。また、全ての一般学習サンプルを学習した一般ＳＶＭは、図１２のように表すことができる。
【００９９】
図１２を参照して、ＳＶＭによって学習された一般学習サンプルは平面上に配置される。平面上の一般学習サンプルのうち、アクティブのラベルが付けられた学習サンプルは丸で示され、パッシブのラベルが付けられた学習サンプルは三角形で示される。また、境界線は、「アクティブ」が付けられた一般学習サンプルと「パッシブ」が付けられた一般学習サンプルとを分離する位置に設定される。そして、認識処理が行われ、このＳＶＭに認識サンプルが入力されると、境界線に基づいて集中状態が認識される。つまり、認識サンプルが、境界線の左側に配置されるとパッシブ状態と認識され、境界線の右側に配置されるとアクティブ状態と認識される。
【０１００】
ここで、一般ＳＶＭによってユーザの集中状態を認識した場合、ユーザによっては特定の要素行動の発生頻度が少ないことがあるため、そのユーザがアクティブ状態であったとしても、パッシブ状態と認識されることがある。そこで、第１実施例では、認識対象ユーザの行動データを利用し、一般ＳＶＭを個人化して、ユーザ状態を認識する。
【０１０１】
一般ＳＶＭを個人化する手法としては、まず、認識対象のユーザの行動データから個人学習サンプルをサンプリングし、要素行動の発生頻度を求める。次に、各要素行動の発生頻度から複合行動の発生頻度を推定すると共に、一般学習サンプルにおける各要素行動から複合行動の発生頻度も推定する。さらに、個人学習サンプルから推定された複合行動の発生頻度および一般学習サンプルから推定された複合行動の発生頻度に基づいて一般学習サンプルを個人化する。そして、個人化された一般学習サンプルを学習したＳＶＭを再構築することで、一般ＳＶＭを個人化することができる。以下、これらの処理について具体的に説明する。
【０１０２】
まず、状態を認識するユーザの行動データから、個人学習サンプルをサンプリングする。次に、個人学習サンプルから、各要素行動の発生頻度を算出する。
【０１０３】
たとえば、図１３（Ａ），（Ｂ）を参照して、ウィンドウ幅が１０秒の場合、個人学習サンプルで「発話している」と記録された総時間が７．５秒であれば、「発話」の行動頻度は「０．７５（＝７．５／１０）」となる。同様に、「モニタを注視している」と記録された総時間が３．３秒であれば「注視」の行動頻度は「０．３３」となり、「頷いている」と記録された総時間が０．１７秒であれば「頷き」の行動頻度は「０．１７（＝１．７／１０）」となる。
【０１０４】
ここで、要素行動をＰｒｉ、要素行動が発生した時間（記録された総時間）をｔｐｒｉと表す場合に、要素行動の発生頻度ｐは数５のように示すことができる。
【０１０５】
［数５］
ｐ＝ｔｐｒｉ／ｔｓ
そして、複合行動が要素行動の組み合わせであることに着目し、認識対象ユーザの行動頻度を、各要素行動の期待値から推定する。ここで、個人学習サンプルから推定された行動頻度をＱｐとしたとき、推定行動頻度Ｑｐは数６に従う数式に基づいて算出される。
【０１０６】
【数６】
2012010856.tif 000006
【０１０７】
たとえば、図１４を参照して、「発話と注視と頷き」の行動頻度は、各要素行動の期待値、つまり「０．０４２（＝０．７５×０．３３×０．１７）」となる。また、「発話のみ」の行動頻度は、「発話」の行動頻度と「注視」および「頷き」が起きない期待値、つまり「０．４１７（＝０．７５×０．６７×０．８３）」となる。そして、複合行動毎に算出された期待値（行動頻度）から推定行動頻度Ｑｐが構成される。
【０１０８】
また、一般学習サンプルから推定された行動頻度をＱｎとしたとき、推定行動頻度Ｑｎは数７に従う式に基づいて算出される。
【０１０９】
【数７】
2012010856.tif 000007
【０１１０】
そして、個人化された一般学習サンプルの行動頻度Ｄｐ＾は、数８に従う数式に基づいて算出される。
【０１１１】
【数８】
2012010856.tif 000008
【０１１２】
図１５（Ａ）は一般学習サンプルから推定された推定行動頻度Ｑｎを構成する、複数の期待値（発生頻度）を示すテーブルであり、図１５（Ｂ）は個人学習サンプルから推定された推定行動頻度Ｑｐを構成する複数の期待値（発生頻度）を示すテーブルである。また、図１５（Ｃ）は一般学習サンプルの行動頻度Ｄ＾を構成する複数の発生頻度を示すテーブルである。そして、図１５（Ｄ）は個人化された一般学習サンプルの行動頻度Ｄｐ＾を構成する複数の発生頻度を示すテーブルである。
【０１１３】
たとえば、図１５（Ａ）−図１５（Ｄ）を参照して、複合行動の「発話のみ」に着目すると、行動頻度Ｄｐ＾の「発話のみ」の発生頻度「０．５００」は、行動頻度Ｑｎの発生頻度「０．２０８」に対する行動頻度Ｑｐの発生頻度「０．４１７」の割合と、一般学習サンプルの行動頻度の発生頻度「０．２５０」との積（０．４１７／０．２０８×０．２５０）となる。そして、図１５（Ｄ）のテーブルにおいて、「注視のみ」、「頷きのみ」、「発話と注視」、「発話と頷き」、「注視と頷き」、「発話と注視と頷き」および「全部なし」の発生頻度も、上記したの「発話のみ」の発生頻度と同様に算出された結果である。そして、図１５（Ｄ）で示される複数の発生頻度によって、個人化された一般学習サンプルの行動頻度Ｄ＾ｐが構成される。
【０１１４】
さらに、全ての一般学習サンプルが個人化されると、ＳＶＭが再構築される。つまり、個人化された一般学習サンプルを学習した、個人化ＳＶＭが新たに構築される。そして、集中認識処理では、その個人化ＳＶＭによってユーザの集中状態が認識されるため、ユーザの集中状態が正しく認識される。
【０１１５】
たとえば、図１６（Ａ）を参照して、「注視」の発生頻度が低いユーザの場合、そのユーザからサンプリングした認識サンプルは、一般ＳＶＭによって認識された場合、会話に集中していたとしてもパッシブ（非集中）状態と誤認識されることがある。ところが、一般学習サンプルの重みを、上記ユーザの行動データからサンプリングされた個人学習サンプルを利用して調整した場合、個人化ＳＶＭの境界線は、一般ＳＶＭの境界線に対して異なる位置に設定される。そのため、上記ユーザの認識サンプルは、アクティブ状態と認識されるようになる。
【０１１６】
このように、一般学習サンプルの行動頻度Ｄ＾ｐを構成する発生頻度の重みを調整することで、ＳＶＭの境界線を個人の行動に適した位置に変化させることができる。
【０１１７】
なお、上記説明では、説明の簡単のために３つの要素行動だけで説明したが、実際には９つの要素行動を利用して学習や認識を行う。
【０１１８】
また、本実施例では、個人学習サンプルを所定時間毎に蓄積し、蓄積した個人学習サンプルによって個人化ＳＶＭを逐次更新することで、認識の精度を高める。具体的には、まず、個人化ＳＶＭを更新する毎に、蓄積された全ての個人学習サンプルを認識する。次に、個人学習サンプルに集中状態の認識結果をラベル付けし、アクティブ状態と認識された個人学習サンプルの数を、個人化ＳＶＭの認識度として記録する。そして、個人化ＳＶＭを更新する度に、その認識度における前回と今回との差が閾値（所定値）以下となるまで、個人化ＳＶＭの更新を繰り返す。
【０１１９】
したがって、集中状態の認識精度は、ユーザが傾聴対話持続システム１００を利用する時間に比例して向上する。また、蓄積する個人化学習サンプルを集中状態の認識に利用することで、ユーザの集中状態を認識しつつ、集中状態の認識精度も向上させることができる。さらに、個人化ＳＶＭの認識精度が一定の精度となれば、プロセッサ２６は学習処理を終了させることができる。
【０１２０】
なお、傾聴対話持続システム１００では、認識されたユーザの状態や、相手ユーザの状態データに基づいて、２人の対話が持続するように、ロボット１２が動作する。そして、ロボット１２は、ユーザＡとユーザＢとの対話に対して、「疑似傾聴動作」、「発話制御動作」および「注意の引きつけの動作」の３種類の動作を行い、対話を持続させる。
【０１２１】
たとえば、疑似傾聴動作とは、ユーザＡとユーザＢとが積極的に対話している場合には、どちらか一方の発話を傾聴しているかのように振る舞う動作のことである。さらに、発話制御動作とは、どちらかのユーザが一方的に話している場合に、２人の発話のバランスを取るため、ユーザを見ることで発話を抑制したり、ユーザに話しかけたりすることで発話を促進したりする動作のことである。そして、注意の誘導や引きつけの動作は、ユーザが対話に対して集中していない場合に、ユーザに話しかけることでユーザの注意を引きつける動作のことである。
【０１２２】
図１７は図２に示すＰＣ１０におけるメモリ３０のメモリマップ３００の一例を示す図解図である。図１７に示すようにメモリ３０はプログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、ＰＣ１０を動作させるためのプログラムとして、データ通信プログラム３１２、行動判定プログラム３１４、サンプル蓄積プログラム３１６、学習プログラム３１８、認識プログラム３２０、集中認識プログラム３２２およびロボット制御プログラム３２４などが記憶される。
【０１２３】
データ通信プログラム３１２は、サーバ２４とデータ通信を行うためのプログラムである。行動判定プログラム３１４は、ユーザの行動を判定するためのプログラムである。サンプル蓄積プログラム３１６は、ユーザ行動から個人学習サンプルを所定時間毎に蓄積するためのプログラムである。なお、蓄積された個人学習サンプルは、認識サンプルとして読み出されることもある。
【０１２４】
学習プログラム３１８は、個人化ＳＶＭを構築するためのプログラムである。認識プログラム３２０は、認識サンプルを読み出し、その認識サンプルから集中状態、発話状態および興味対象を認識するためのプログラムである。集中認識プログラム３２２は、学習プログラムによって構築された個人化ＳＶＭによってユーザの集中状態を認識するためのプログラムである。ロボット制御プログラム３２４は、ロボット１２の動作を決定するためのプログラムである。
【０１２５】
なお、図示は省略するが、ＰＣ１０を動作させるためのプログラムには、テレビ電話機能を実現するためのプログラムなどが含まれる。
【０１２６】
また、図１８を参照して、データ記憶領域３０４には、時刻バッファ３３０、モニタカメラバッファ３３２、腹部カメラバッファ３３４、音声バッファ３３６、判定結果バッファ３３８、顔位置バッファ３４０，データ通信バッファ３４２およびＳＶＭ認識バッファ３４４が設けられる。また、データ記憶領域３０４には、一般学習データ３４６、行動テーブルデータ３４８、個人学習データ３５０および状態データ３５２が記憶されると共に、集中フラグ３５４および所定時間カウンタ３５６がさらに設けられる。
【０１２７】
時刻バッファ３３０は、ＲＴＣ２６ａが出力する日時情報が一時的に記憶されるバッファである。モニタカメラバッファ３３２は、モニタカメラ２２によって撮影された画像が一時的に記憶されるバッファである。腹部カメラバッファ３３４は、腹部カメラ１４によって撮影された画像が一時的に記憶されるバッファである。音声バッファ３３６は、マイク２０によって集音された音声が一時的に記憶されるバッファである。
【０１２８】
判定結果バッファ３３８は、ユーザの発話の有無を判定する発話判定、ユーザの注視方向を判定する注視方向判定、ユーザの前傾姿勢の方向判定する前傾姿勢判定、ユーザの頷きの有無を判定する頷き判定および相手ユーザの発話の有無を判定する相手の発話判定それぞれの判定結果を一時的に記憶するためのバッファである。顔位置バッファ３４０は、撮影されたユーザの画像において、ユーザの顔の位置が記憶されるバッファである。また、顔位置バッファ３４０に記憶された位置データに基づいて、ユーザの頷きが判定される。
【０１２９】
データ通信バッファ３４２は、サーバ２４とのデータ通信によって得られた相手の行動データや、状態データなどが一時的に記憶されるバッファである。ＳＶＭ認識バッファ３４４は、一般ＳＶＭおよび個人化ＳＶＭの認識度が一時的に記憶されるバッファである。
【０１３０】
一般学習データ３４６は、複数の一般学習サンプルから構成されるデータである。行動テーブルデータ３４８は、図７に示す行動テーブルであり、一定時間毎に最新の行動データが追記される。個人学習データ３５０は、複数の個人学習サンプルから構成されるデータであり、所定時間毎に最新の個人学習サンプルが追加される。状態データ３５２は、ユーザの集中状態、発話状態および興味対象が認識された結果を示すデータである。
【０１３１】
集中フラグ３５４は、集中状態の認識結果を示すフラグである。たとえば集中フラグ３５４は１ビットのレジスタで構成される。集中フラグ３５４がオン（成立）されると、レジスタにはデータ値「１」が設定される。一方、集中フラグ３５４がオフ（不成立）されると、レジスタにはデータ値「０」が設定される。また、集中フラグ３５４は、アクティブ状態と認識されるとオンになり、パッシブ状態と認識されるとオフになる。
【０１３２】
所定時間カウンタ３５６は、所定時間を計測するためのカウンタであり、初期化されるとカウントを開始する。また、所定時間カウンタ３５６は所定時間カウンタとも呼ばれ、所定時間タイマによって時間を計測する処理が実行されると、所定時間カウンタ３５６は初期化される。たとえば、所定時間カウンタ３５６は、ＰＣ１０の電源がオンにされると初期化され、個人学習サンプルがサンプリングされる毎にリセットされる。
【０１３３】
なお、図示は省略するが、データ記憶領域３０４には、様々な計算の結果を一時的に格納するバッファなどが設けられると共に、ＰＣ１０の動作に必要な他のカウンタやフラグなども設けられる。
【０１３４】
図１９は行動判定プログラム３１４のサブルーチンに対応するプログラムを示す図解図である。図１９を参照して、状況認識プログラム３１４は、画像／音声取得プログラム３１４ａ、発話判定プログラム３１４ｂ、注視方向判定プログラム３１４ｃ、前傾姿勢判定プログラム３１４ｄ、頷き判定プログラム３１４ｅ、相手の発話判定プログラム３１４ｆおよび同期プログラム３１４ｇから構成される。
【０１３５】
画像／音声取得プログラム３１４ａは、モニタカメラ２２および腹部カメラ１４によって撮影された画像と、マイク２０によって集音された音声とをバッファに取り込むためのプログラムである。発話判定プログラム３１４ｂは、ユーザが発話しているか否かを判定するためのプログラムである。注視方向判定プログラム３１４ｃは、ユーザが注視している方向を判定するためのプログラムである。前傾姿勢判定プログラム３１４ｄは、ユーザが前傾姿勢を取っている方向を判定するためのプログラムである。頷き判定プログラム３１４ｅは、ユーザが頷いたか否かを判定するためのプログラムである。相手の発話判定プログラム３１４ｆは、相手ユーザが発話しているか否かを判定するためのプログラムである。同期プログラム３１４ｇは、発話判定結果、注視方向判定結果、前傾姿勢判定結果、頷き判定結果および相手ユーザの発話判定結果を同期して、行動データとするためのプログラムである。
【０１３６】
以下、ＰＣ１０によって実行される第１実施例のフロー図について説明する。また、図２０−図２６のフロー図は行動判定プログラム３１４を構成する各プログラムの処理を示す。さらに、図２７のフロー図はサンプル蓄積プログラム３１６による処理を示し、図２８のフロー図は学習プログラムによる処理を示し、図２９のフロー図は認識プログラム３２０による処理を示し、図３０のフロー図は集中認識プログラムによる処理を示し、図３１のフロー図はロボット制御プログラムによる処理を示す。
【０１３７】
図２０は画像／音声取得プログラム３１４ａの処理を示すフロー図である。たとえば、ＰＣ１０のプロセッサ２６は、ユーザによってＰＣ１０の電源がオンにされると、ステップＳ１で腹部カメラ１４による画像データを取得する。つまり、ロボット１２から入力される映像信号から画像データを取得し、腹部カメラバッファ３３４に一旦記憶させる。続いて、プロセッサ２６は、ステップＳ３で、モニタカメラ２２による画像データを取得する。つまり、モニタカメラ２２から入力される映像信号から画像データを取得し、モニタカメラバッファ３３２に一旦記憶させる。続いて、プロセッサ２６は、ステップＳ５で、音声データを取得し、ステップＳ１に戻る。つまり、プロセッサ２６は、マイク２０によって集音された音声から音声データを抽出し、音声バッファ３３６に一旦記憶させる。
【０１３８】
図２１は発話判定プログラム３１４ｂの処理を示すフロー図である。プロセッサ２６は、ステップＳ１１で、音声データが取得されたか否かを判断する。つまり、プロセッサ２６は、音声バッファ３３６に新たな音声データが記憶されたか否かを判断する。ステップＳ１１で“ＮＯ”であれば、つまり音声データが取得されていなければ、プロセッサ２６はステップＳ１１の処理を繰り返し実行する。一方、ステップＳ１１で“ＹＥＳ”であれば、つまり音声データが取得されていれば、プロセッサ２６はステップＳ１３で、音量が閾値以上であるか否かを判断する。つまり、プロセッサ２６は、音声バッファ３３６に記憶される音声データの音声レベルが閾値以上であるか否かを判定する。
【０１３９】
ステップＳ１３で“ＹＥＳ”であれば、つまり音声レベルが閾値以上であれば、プロセッサ２６はステップＳ１５で、「発話有り」と判定する。一方、ステップＳ１３で“ＮＯ”であれば、つまり音声レベルが閾値未満であれば、プロセッサ２６はステップＳ１７で、「発話無し」と判定する。
【０１４０】
続いて、プロセッサ２６は、ステップＳ１９で、現在時刻を取得する。つまり、プロセッサ２６は、時刻バッファ３３０に記憶される日時情報を取得する。続いて、プロセッサ２６は、ステップＳ２１で、発話の判定結果に現在時刻を対応付ける。つまり、プロセッサ２６は、複数の判定結果を同期させるために、現在時刻を対応付ける。そして、現在時刻が対応付けられた発話判定結果は、判定結果バッファ３３８に一時的に記憶される。
【０１４１】
なお、図２２−図２５に示す他の判定処理でも、ステップＳ１９と同様に日時情報を取得し、ステップＳ２１と同様に日時情報を対応付ける処理が存在するが、処理内容は全て同じであるため、他のフロー図では詳細な説明は省略する。
【０１４２】
図２２は注視方向判定プログラム３１４ｃの処理を示すフロー図である。プロセッサ２６は、ステップＳ３１で、画像が取得されたか否かを判断する。つまり、プロセッサ２６は、モニタカメラバッファ３３２および腹部カメラバッファ３３４に新たな画像データが記憶されたか否かを判断する。ステップＳ３１で“ＮＯ”であれば、つまり画像データが取得されていなければ、プロセッサ２６はステップＳ３１の処理を繰り返し実行する。一方、ステップＳ３１で“ＹＥＳ”であれば、つまり画像データが取得されていれば、プロセッサ２６はステップＳ３３で、モニタカメラ２２の画像を取得する。つまり、プロセッサ２６は、モニタカメラバッファ３３２から画像データを取得する。
【０１４３】
続いて、プロセッサ２６は、ステップＳ３５で、顔認識処理を実行する。つまり、プロセッサ２６は、モニタカメラバッファ３３２に記憶される画像データに対して所定の顔認識処理を実行する。続いて、プロセッサ２６は、ステップＳ３７で、顔を認識できたか否かを判断する。つまり、プロセッサ２６は、ステップ３５の処理が成功したか否かを判断する。ステップＳ３７で“ＹＥＳ”であれば、つまりモニタカメラ２２によって撮影された画像において顔の認識に成功していれば、プロセッサ２６はステップＳ３９で、注視方向を「モニタ」に設定する。
【０１４４】
また、ステップＳ３７で“ＮＯ”であれば、つまりモニタカメラ２２によって撮影された画像において顔の認識に失敗していれば、プロセッサ２６はステップＳ４１で、腹部カメラの画像を取得する。つまり、プロセッサ２６は、腹部カメラバッファ３３４から画像データを取得する。続いて、プロセッサ２６は、ステップＳ４３で、腹部カメラバッファ３３４に記憶される画像データに対して、ステップＳ３５と同様、顔認識処理を実行する。
【０１４５】
続いて、プロセッサ２６は、ステップＳ４５で顔が認識されたか否かを判断する。つまり、プロセッサ２６は、ステップＳ４３の処理で顔の認識が成功したか否かを判断する。ステップＳ４５で“ＹＥＳ”であれば、つまり腹部カメラ１４によって撮影された画像において顔の認識に成功していれば、プロセッサ２６はステップＳ４７で注視方向を「ロボット」に設定する。
【０１４６】
一方、ステップＳ４５で“ＮＯ”であれば、つまりモニタカメラ２２と腹部カメラ１４との両方のカメラでユーザの顔の認識が失敗していれば、プロセッサ２６はステップＳ４９で、注視方向を「その他」に設定する。
【０１４７】
続いて、プロセッサ２６は、ステップＳ５１で現在時刻を取得し、ステップＳ５３で発話の判定結果に現在時刻を対応付ける。そして、プロセッサ２６は、ステップＳ５３の処理が終了するとステップＳ３１に戻る。なお、ステップＳ５３において、現在時刻が対応付けられた注視方向の判定結果は、判定結果バッファ３３８に一旦記憶される。
【０１４８】
なお、他の実施例では、モニタカメラ２２または腹部カメラ１４のどちらか一方の画像だけで注視方向の判定を行ってもよい。また、図２３および図２４に示す他の判定処理でも、ステップＳ３１，Ｓ３３，Ｓ４１と同様の処理が存在するが、処理内容は全て同じであるため、他のフロー図では詳細な説明は省略する。
【０１４９】
図２３は前傾姿勢判定プログラム３１４ｄの処理を示すフロー図である。プロセッサ２６は、ステップＳ６１で、画像が取得されたかを判断する。ステップＳ６１で“ＮＯ”であれば、つまり画像が取得されていなければ、ステップＳ６１の処理は繰り返し実行される。一方、ステップＳ６１で“ＹＥＳ”であれば、つまり画像が取得されていれば、プロセッサ２６はステップＳ６３で、モニタカメラ２２の画像を取得する。
【０１５０】
続いて、プロセッサ２６は、ステップＳ６５で顔領域認識処理を実行する。つまり、プロセッサ２６は、モニタカメラバッファ３３２に格納されている画像データから顔領域を認識する。続いて、プロセッサ２６は、ステップＳ６７で、顔領域が閾値（たとえば、画像データの面積の５割を示す値）以上か否かを判断する。つまり、プロセッサ２６は、認識された顔領域の面積が閾値以上であるか否かを判断する。ステップＳ６７で“ＹＥＳ”であれば、たとえば、図８（Ａ）に示すように、ユーザの顔が撮影されていれば、プロセッサ２６はステップＳ６９で、前傾姿勢を「モニタ」に設定する。
【０１５１】
一方、ステップＳ６７で“ＮＯ”であれば、顔領域の面積が閾値未満、または顔領域の認識が失敗してれば、プロセッサ２６はステップＳ７１で、腹部カメラ１４の画像を取得する。続いて、プロセッサ２６は、ステップＳ７３で、顔領域の認識処理を実行する。つまり、プロセッサ２６は、腹部ロボットバッファ３３４に格納された画像データから顔領域を認識する。続いて、プロセッサ２６は、ステップＳ７５で、顔領域が閾値以上か否かを判断する。つまり、プロセッサ２６は、腹部カメラ１４で撮影された画像データにおいて、ユーザの顔が閾値以上であるか否かを判断する。ステップＳ７５で“ＹＥＳ”であれば、たとえば、図８（Ｂ）に示すように、ユーザの顔が撮影されていれば、プロセッサ２６はステップＳ７７で、前傾姿勢を「ロボット」に設定する。
【０１５２】
一方、ステップＳ７５で“ＮＯ”であれば、たとえば、図８（Ｃ）に示すように、ユーザの顔が撮影されていれば、プロセッサ２６はステップＳ７９で、前傾姿勢を「その他」に設定する。
【０１５３】
続いて、プロセッサ２６は、ステップＳ８１で現在時刻を取得し、ステップＳ８３で発話の判定結果に現在時刻を対応付ける。そして、プロセッサ２６は、ステップＳ８３の処理が終了するとステップＳ６１に戻る。なお、ステップＳ８３において、現在時刻が対応付けられた注視方向の判定結果は、判定結果バッファ３３８に一旦記憶される。
【０１５４】
なお、他の実施例では、モニタカメラ２２または腹部カメラ１４のどちらか一方の画像だけで、前傾姿勢の判定が行われてもよい。
【０１５５】
図２４は頷き判定プログラム３１４ｅの処理を示すフロー図である。プロセッサ２６はステップＳ９１で画像が取得されたか否かを判断する。ステップＳ９１で“ＮＯ”であれば、つまり画像が取得されていなければ、プロセッサ２６はステップＳ９１の処理を繰り返し実行する。一方、ステップＳ９１で“ＹＥＳ”であれば、つまり画像が取得されていれば、プロセッサ２６は、ステップＳ９１で、モニタカメラ２２の画像を取得する。
【０１５６】
続いて、プロセッサ２６は、ステップＳ９５で、顔位置認識処理を実行する。つまり、プロセッサ２６は、モニタカメラバッファ３３２に保存される画像データにおいて、顔領域の重心位置を認識する。続いて、プロセッサ２６は、ステップＳ９７で、顔位置が変化したか否かを判断する。つまり、プロセッサ２６は、顔位置バッファ３４０からモニタカメラ２２に対応する前回の顔位置を取得する。さらに、プロセッサ２６は、取得した前回の顔位置とステップＳ９５で認識された今回の顔位置とを比較して、ユーザの顔位置が変化したか否かを判断する。ステップＳ９７で“ＹＥＳ”であれば、つまりモニタカメラ２２で撮影された画像において、ユーザの顔位置が変化していれば、プロセッサ２６は、ステップＳ９９で、頷きを「有り」と判定する。
【０１５７】
また、ステップＳ９７で“ＮＯ”であれば、つまりモニタカメラ２２の画像において、ユーザの顔位置が変化していなければ、プロセッサ２６はステップＳ１０１で、腹部カメラ１４の画像を取得する。続いて、プロセッサ２６は、ステップＳ１０３で、顔位置認識処理を実行する。つまり、プロセッサ２６は、腹部カメラバッファ３３４に記憶された画像データにおいて、顔領域の重心位置を認識する。続いて、プロセッサ２６は、ステップＳ１０５で、顔位置が変化したか否かを判断する。つまり、プロセッサ２６は、顔位置バッファ３４０から腹部カメラ１４に対応する前回の顔位置を取得し、ステップＳ９７と同様、ユーザの顔位置が変化したか否かを判断する。ステップＳ１０５で“ＹＥＳ”であれば、つまり腹部カメラ１４の画像において、ユーザの顔位置が変化していれば、プロセッサ２６はステップＳ９９で、頷きを「有り」と判定する。一方、ステップＳ１０５で“ＮＯ”であれば、つまり腹部カメラ１４の画像でも、ユーザの顔位置の変化が検出されなければ、プロセッサ２６はステップＳ１０７で、ユーザの頷きを「無し」と判定する。
【０１５８】
続いて、プロセッサ２６は、ステップＳ１０９で、今回の顔位置を記憶する。つまり、プロセッサ２６は、ステップＳ９５，Ｓ１０３で認識されたユーザの顔位置を顔位置バッファ３４０に記憶させる。
【０１５９】
続いて、プロセッサ２６は、ステップＳ１１１で現在時刻を取得し、ステップＳ１１３で発話の判定結果に現在時刻を対応付ける。そして、プロセッサ２６は、ステップＳ１１３の処理が終了するとステップＳ９１に戻る。また、ステップＳ１１３では、現在時刻が対応付けられた頷きの判定結果は、判定結果バッファ３３８に一旦記憶される。
【０１６０】
なお、上記ステップＳ１３，Ｓ３７，Ｓ４５，Ｓ６７，Ｓ７５，Ｓ９７およびＳ１０５の処理を実行するプロセッサ２６は要素行動判定手段として機能する。
【０１６１】
図２５は相手の発話判定プログラム３１４ｆの処理を示すフロー図である。プロセッサ２６は、ステップＳ１２１で、相手の行動データを取得する。つまり、プロセッサ２６は、サーバ２４とのデータ通信を確立し、相手の行動データをデータ通信バッファ３４２に記憶させる。続いて、プロセッサ２６は、ステップＳ１２３で、相手が発話したか否かを判断する。つまり、プロセッサ２６は、データ通信バッファ３４２に格納された相手の行動データにおいて、発話の欄に「有り」が記録されているか否かを判断する。ステップＳ１２３で“ＹＥＳ”であれば、つまり相手の行動データにおいて、発話が「有り」と記録されていれば、プロセッサ２６はステップＳ１２５で、相手の発話を有りと判定する。一方、ステップＳ１２３で“ＮＯ”であれば、つまり相手の行動データにおいて、発話が「無し」と記録されていれば、プロセッサ２６はステップＳ１２７で、相手の発話を「無し」と判定する。なお、ステップＳ１２３の処理を実行するプロセッサ２６は相手発話判定手段として機能する。
【０１６２】
続いて、プロセッサ２６は、ステップＳ１２９で現在時刻を取得し、ステップＳ１３１で発話の判定結果に現在時刻を対応付ける。そして、プロセッサ２６は、ステップＳ１３１の処理が終了するとステップＳ１２１に戻る。なお、ステップＳ１３１では、現在時刻が対応付けられた相手の発話の判定結果は、判定結果バッファ３３８に一旦記憶される。
【０１６３】
図２６は同期プログラム３１４ｇの処理を示すフロー図が示される。プロセッサ２６は、ステップＳ１４１で各判定が終了したか否かを判断する。たとえば、プロセッサ２６は、判定結果バッファ３３８に発話、注視方向、前傾姿勢、頷きおよび相手の発話の判定結果が記憶されているか否かを判定する。ステップＳ１４１で“ＮＯ”であれば、つまり各判定が終了していなければ、プロセッサ２６はステップＳ１４３の処理を繰り返し実行する。一方、ステップＳ１４３で“ＹＥＳ”であれば、つまり各判定が終了していれば、プロセッサ２６はステップＳ１４３で、各判定結果および顔認識結果を時刻に基づいて同期する。つまり、プロセッサ２６は、各判定結果に対応付けられた時刻に基づいて同期する。
【０１６４】
続いて、プロセッサ２６は、ステップＳ１４５で、同期した各判定結果を行動データとし、行動テーブルに記録する。つまり、プロセッサ２６は、図７に示す行動テーブルにおいて、新たな行に各判定結果を記録する。続いて、プロセッサ２６は、ステップＳ１４７で、現在の行動データをサーバ２４に送信する。そして、プロセッサ２６はステップＳ１４７の処理が終了すればステップＳ１４１に戻る。つまり、プロセッサ２６は、行動テーブルにおいて、新たに追加された行に対応する行動データをサーバ２４に送信する。
【０１６５】
このように、図２０−図２６の処理が一定時間毎に並列的に実行されることで、ユーザの行動が、判定され、サーバ２４に送信される。
【０１６６】
図２７はサンプル蓄積プログラム３１６の処理を示すフロー図である。プロセッサ２６は、ステップＳ１５１で所定時間タイマが満了したか否かを判断する。つまり、プロセッサ２６は、前回の個人学習サンプルを蓄積してから所定時間が経過したか否かを、所定時間カウンタ３５６の値に基づいて判断する。続いて、プロセッサ２６は、ステップＳ１５３で、所定時間分の行動データを取得する。つまり、プロセッサ２６は、行動テーブルの時刻欄に基づいて、所定時間分の行動データを、行動テーブルデータ３４８から読み出す。
【０１６７】
続いて、プロセッサ２６は、ステップＳ１５５で、複合行動の行動頻度を算出する。たとえば、プロセッサ２６は、読み出した行動データから要素行動の発生頻度を算出する。そして、プロセッサ２６は、複合行動の行動頻度として、算出された発生頻度の期待値を算出する。続いて、プロセッサ２６は、ステップＳ１５７で、算出された行動頻度を、個人学習サンプルとして個人学習データ３５０に追加（蓄積）する。たとえば、プロセッサ２６は、図１４に示すように算出された行動頻度を、個人学習データ３５０を構成する個人学習サンプルとして、ＲＡＭ３０に記憶させる。続いて、プロセッサ２６は、ステップＳ１５９で、所定時間タイマをリセットして、ステップＳ１５１に戻る。つまり、プロセッサ２６は、所定時間カウンタ３５４を初期化する。
【０１６８】
図２８は学習プログラム３１８の処理を示すフロー図である。プロセッサ２６は、ステップＳ１６１で、一般学習データ３４６を取得する。つまり、プロセッサ２６は、ＲＡＭ３０から一般学習データ３４６を読み出す。続いて、プロセッサ２６は、ステップＳ１６３で、一般ＳＶＭを構築する。つまり、プロセッサ２６は、読み出した一般学習データ３４６を構成する複数の一般学習サンプルから、図１６（Ａ）に示すような一般ＳＶＭを構築する。続いて、プロセッサ２６は、ステップＳ１６７で、一般ＳＶＭによって個人学習データ３４６を構成する全ての個人学習サンプルを認識する。つまり、個人化ＳＶＭの認識精度を向上させるために、まず一般ＳＶＭによって個人学習サンプルを認識する。続いて、プロセッサ２６は、ステップＳ１６９で、一般ＳＶＭの認識度を記録する。つまり、プロセッサ２６は、個人学習データ３５０を構成する複数の個人学習サンプルのうち、アクティブ状態と認識された個人学習サンプルの数を、一般ＳＶＭの認識度としてＳＶＭ認識バッファ３４４に記憶する。
【０１６９】
続いて、プロセッサ２６は、ステップＳ１７１で、一般学習サンプルの重みを、個人学習データ３５０を利用して調整する。つまり、プロセッサ２６は、数６および数７の数式に基づいて、個人学習サンプルおよび一般学習サンプルから複合行動の期待値を算出し、数８の数式に基づいて、一般学習データ３４６を構成する各一般学習サンプルの重みを調整する。続いて、プロセッサ２６は、ステップＳ１７３で、個人化ＳＶＭを構築する。つまり、プロセッサ２６は、重みが調整された一般学習サンプル（個人化された一般学習サンプル）から、図１６（Ｂ）に示すような個人化ＳＶＭを構築する。なお、ステップＳ１７１，Ｓ１７３の処理を実行するプロセッサ２６は調整手段として機能する。また、ステップＳ１７１の処理を実行するプロセッサ２６は重み調整手段とて機能する。
【０１７０】
続いて、プロセッサ２６は、ステップＳ１７５で、個人化ＳＶＭによって、個人学習データ３５０を構成する全ての個人学習サンプルを認識する。つまり、プロセッサ２６は、個人化ＳＶＭの認識精度を向上させるために、個人化ＳＶＭで個人学習サンプルを認識する。続いて、プロセッサ２６は、ステップＳ１７７で、個人化ＳＶＭの認識度を記憶する。つまり、プロセッサ２６は、個人学習データ３４６を構成する複数の個人学習サンプルのうち、アクティブ状態と認識された個人学習サンプルの数を、個人化ＳＶＭの認識度としてＳＶＭ認識バッファ３４４に記憶させる。なお、ステップＳ１７５の処理を実行するプロセッサ２６は仮認識手段として機能し、ステップＳ１７７の処理を実行するプロセッサ２６は記録手段とし機能する。
【０１７１】
続いて、プロセッサ２６は、ステップＳ１７９で、前回の認識度と今回の認識度との差が閾値以下か否かを判断する。たとえば、プロセッサ２６は、ＳＶＭ認識バッファ３４４に記憶されている、一般ＳＶＭの認識度と個人化ＳＶＭの認識度との差を算出し、その差が個人学習サンプルの総数の１割以下であるか否かを判断する。なお、ステップＳ１７１-Ｓ１８１の処理が２回目以降の場合、ステップＳ１７９の判断は、個人化ＳＶＭによる前回の認識度と今回の認識度とから判断される。ステップＳ１７９で“ＹＥＳ”であれば、つまり認識度の差が閾値以下であれば、プロセッサ２６は学習処理を終了する。
【０１７２】
また、ステップＳ１７９で“ＮＯ”であれば、つまり認識度の差が閾値よりも大きければ、プロセッサ２６はステップＳ１８１で、個人学習サンプルが追加されたか否かを判断する。つまり、プロセッサ２６は、個人学習データ３５０に新しい個人学習サンプルが追加されたか否かを判断する。ステップＳ１８１で“ＮＯ”であれば、たとえば、所定時間が経過しておらず、個人学習サンプルが追加されていなければ、プロセッサ２６はステップＳ１８１の処理を繰り返し実行する。一方、ステップＳ１８１で“ＹＥＳ”であれば、つまり個人学習サンプルが追加されれば、プロセッサ２６はステップＳ１７１に戻る。そして、ステップＳ１７１では、追加された個人学習サンプルを含む個人学習データ３５０を利用して、一般学習サンプルの重みが調整される。
【０１７３】
なお、他の実施例では、ステップＳ１６３−Ｓ１６９およびステップＳ１７５−Ｓ１８１を省略し、既に蓄積された個人学習サンプルのみで、個人化ＳＶＭが構築されてもよい。たとえば、認識対象ユーザが、一般学習サンプルを作成するために使われた個人学習サンプルを提供したユーザであれば、多くの個人学習サンプルが既に蓄積されているため、上記のように、処理は簡略化される。
【０１７４】
図２９は認識プログラム３２０の処理を示すフロー図が示される。たとえば、ＰＣ１０のプロセッサ２６は、ユーザによってＰＣ１０の電源がオンにされると、ステップＳ１９１で、上記ステップＳ１８１と同様、個人学習サンプルが追加されたか否かを判断する。ステップＳ１９１で“ＮＯ”であれば、つまり個人学習サンプルが追加されていなければ、プロセッサ２６はステップＳ１９１の処理を繰り返す。一方、ステップＳ１９１で“ＹＥＳ”であれば、つまり個人学習サンプルが追加されれば、プロセッサ２６はステップＳ１９３で、追加された個人学習サンプルを認識サンプルとして取得する。つまり、プロセッサ２６は、個人学習データ３５０から一番最後に追加された個人学習サンプルを、集中状態を認識するために、認識サンプルとして読み出す。
【０１７５】
続いて、プロセッサ２６は、ステップＳ１９５で、集中認識処理を実行する。また、ステップＳ１９５の処理については、図３０に示すフロー図を用いて後述するため、ここでの詳細な説明は省略する。続いて、プロセッサ２６は、ステップＳ１９７で発話認識処理を実行し、ステップＳ１９９で興味対象認識処理を実行する。先述したように、プロセッサ２６は、発話認識処理によって、ユーザが話し手として発話しているトーク状態、またはユーザが相手の話を傾聴しているリッスン状態を認識する。また、プロセッサ２６は、興味対象認識処理によって、ユーザの興味対象（ロボット、モニタ、その他）を認識する。
【０１７６】
続いて、プロセッサ２６は、ステップＳ２０１で、各認識結果を状態データ３５２として記憶する。たとえば、プロセッサ２６は、集中認識の結果がアクティブ状態であり、発話認識の結果がトークであり、興味対象認識の結果が「ロボット」であれば、状態データ３５２は、「アクティブ・トーク・ロボット」としてメモリ３０に記憶される。続いて、プロセッサ２６は、ステップＳ８３で、状態データ３５２をサーバ２４に送信し、ステップＳ１９１に戻る。
【０１７７】
図３０は集中認識プログラム３２２の処理を示すフロー図が示される。ステップＳ１９５の処理が実行されると、プロセッサ２６は、ステップＳ２１１で、取得した認識サンプルから複合行動の行動頻度を算出する。つまり、プロセッサ２６は、図１４に示すように、認識サンプルにおける要素行動の発生頻度から、複合行動の行動頻度を算出する。続いて、プロセッサ２６は、ステップＳ２１３で、ユーザの集中状態を認識する。つまり、プロセッサ２６は、ステップＳ２１１で算出された行動頻度を個人化ＳＶＭに入力して、ユーザの集中状態を認識する。なお、ステップＳ２１３の処理を実行するプロセッサ２６は認識手段として機能する。
【０１７８】
続いて、プロセッサ２６は、ステップＳ２１５で、認識結果がアクティブ状態か否かを判断する。ステップＳ２１５で“ＹＥＳ”であれば、つまり個人化ＳＶＭによる認識結果がアクティブ状態であれば、プロセッサ２６はステップＳ２１７で、アクティブ状態を設定して、集中認識処理を終了する。つまり、プロセッサ２６は、集中フラグ３５４をオンに設定する。一方、ステップＳ２１５で“ＮＯ”であれば、つまり個人化ＳＶＭによる認識結果がパッシブ状態であれば、プロセッサ２６はステップＳ２１９で、パッシブ状態を設定して、集中処理を終了する。つまり、プロセッサ２６は、集中フラグ３５４をオフに設定する。
【０１７９】
そして、プロセッサ２６は、集中認識処理が終了すれば認識処理に戻って、ステップＳ１９７の処理を実行する。
【０１８０】
図３１はロボット制御プログラム３２４の処理を示すフロー図である。たとえば、ＰＣ１０のプロセッサ２６は、テレビ電話機能による通話が開始されると、ステップＳ２３１で終了操作か否かを判断する。たとえば、プロセッサ２６は、テレビ電話機能による通話を終了する操作がされたか否かを判断する。ステップＳ２３１で“ＹＥＳ”であれば、つまり終了操作が行われると、プロセッサ２６はロボット制御処理を終了する。一方、ステップＳ２３１で“ＮＯ”であれば、つまり終了操作が行われなければ、プロセッサ２６はステップＳ２３３で、状態データ３５２を参照する。
【０１８１】
続いて、プロセッサ２６は、ステップＳ２３５ではモニタ状態か否かを判断する。つまり、プロセッサ２６は、状態データ３５２にユーザの興味対象がモニタ１６であること示す「モニタ」が含まれているか否かを判断する。ステップＳ２３５で“ＮＯ”であれば、つまりユーザの興味対象がモニタ１６でなければ、プロセッサ２６はステップＳ２４５に進む。一方、ステップＳ２３５で“ＹＥＳ”であれば、つまりユーザの興味対象がモニタ１６であれば、プロセッサ２６はステップＳ２３７で、アクティブか否かを判断する。つまり、プロセッサ２６は、状態データ３５２にユーザがアクティブ状態であることを示す「アクティブ」が含まれているか否かを判断する。ステップＳ２３７で“ＮＯ”であれば、つまりユーザがパッシブ状態であれば、プロセッサ２６はステップＳ２４７に進む。
【０１８２】
一方、ステップＳ２３７で“ＹＥＳ”であれば、つまりユーザがアクティブ状態であれば、プロセッサ２６はステップＳ２３９で、トークであるか否かを判断する。つまり、プロセッサ２６は状態データ３５２に、ユーザがトーク状態であることを示す「トーク」が含まれるか否かを判断する。ステップＳ２３９で“ＹＥＳ”であれば、つまり、ユーザがトーク状態であれば、状態データ３５２は「アクティブ・トーク・モニタ」であるため、プロセッサ２６はステップＳ１７１でアクティブトーク処理を実行し、ステップＳ２３１に戻る。また、このアクティブトーク処理が実行されると、ロボット１２は、疑似傾聴動作および発話制御動作を行う。
【０１８３】
ステップＳ２３９で“ＮＯ”であれば、つまりユーザがリッスン状態であれば、状態データ３５２は「アクティブ・リッスン・モニタ」であるため、プロセッサ２６はステップＳ２４３で、アクティブリッスン処理を実行し、ステップＳ１６１に戻る。また、このアクティブリッスン処理が実行されると、ロボット１２は、疑似傾聴動作およびユーザに発話を促す動作を行う。
【０１８４】
また、ユーザの興味対象がモニタ１６以外である場合、プロセッサ２６はステップＳ１４５で、ロボット状態か否かを判断する。つまり、プロセッサ２６は、状態データ３５２に、ユーザの興味対象がロボット１２であることを示す「ロボット」が含まれているか否かを判断する。ステップＳ２４５で“ＹＥＳ”であれば、つまりユーザの興味対象がロボット１２であれば、プロセッサ２６はステップＳ２４７で非アクティブ処理を実行し、ステップＳ２３１に戻る。また、この非アクティブ処理が実行されると、ロボット１２は、ユーザの注意を引きつける動作およびユーザの発話を促す動作を行う。
【０１８５】
一方、ステップＳ２４５で“ＮＯ”であれば、つまりユーザの興味対象がロボット１２でもモニタ１６でもなければ、ステップＳ２４９でアザー処理を実行し、ステップＳ２３１に戻る。また、アザー処理が実行されると、ロボット１２は、注意の引きつける動作およびユーザに話しかける動作を行う。
【０１８６】
このように、第１実施例では、ユーザの集中状態は、ユーザの行動に基づいてＳＶＭが個人化されるため、ユーザの状態が正しく認識されるようになる。
【０１８７】
＜第２実施例＞
第２実施例では、ＳＶＭを個人化するのではなく、認識サンプルを一般化することで、認識対象ユーザの集中状態を正しく認識する。そして、第２実施例では、認識サンプルは、ユーザの発生頻度を正規化（一般化）するために利用される、数４に示す数式に基づいて、一般化される。
【０１８８】
なお、第２実施例の傾聴対話持続システム１００は、第１実施例と同じであるため、ＰＣ１０およびロボット１２などの電気的な構成や、ＰＣ１０のメモリマップなどなど、重複した説明は省略する。
【０１８９】
たとえば、図３２（Ａ）を参照して、図１６（Ａ）と同じように、「注視」の発生頻度が低いユーザは、会話に集中していたとしても、認識サンプルがパッシブ側に配置されるため、パッシブ状態と誤認識される。そこで、数４に示す数式に基づいてユーザの認識サンプルを一般化すると、一般化された認識サンプルは、境界線の右側（アクティブ側）に配置されるため、上記ユーザは、アクティブ状態と認識されるようになる。
【０１９０】
このように、認識サンプルの重みを調整するだけでよいので、認識基準を変化させることなく、特定のユーザの集中状態を容易に正しく認識できるようになる。
【０１９１】
以下、第２実施例のＰＣ１０によって実行される本願発明のフロー図について説明する。ただし、図２０−図２７、図２９および図３１に示すフロー図は、第１実施例と同じであるため、詳細な説明は省略する。また、図３３のフロー図は第２実施例の学習プログラム３１８による処理を示し、図３４のフロー図は第２実施例の集中認識プログラム３２２による処理を示す。
【０１９２】
図３３は第２実施例の学習プログラム３１８の処理を示すフロー図である。プロセッサ２６は、ステップＳ３０１で一般学習データを取得し、ステップＳ３０３で一般ＳＶＭを構築する。そして、一般ＳＶＭを構築する処理が終了すると、プロセッサ２６は学習処理を終了する。つまり、第２実施例の学習処理は、一般ＳＶＭを構築するだけの処置となる。
【０１９３】
図３４は第２実施例の集中認識プログラム３２２の処理を示すフロー図である。プロセッサ２６は、ステップＳ３１１で、集中処理で取得された認識サンプルから、複合行動の行動頻度を算出する。続いて、プロセッサ２６は、ステップＳ３１３で、重みを調整した認識サンプルを作成する。つまり、プロセッサ２６は、ステップＳ３１１で算出された行動頻度および数４に示す数式に基づいて、認識サンプルの重みを調整する。なお、重みが調整された認識サンプルは「一般化された認識サンプル」と呼ばれる。続いて、プロセッサ２６は、ステップＳ３１５で、重みが調整された認識サンプルに基づいて、ユーザの集中状態を認識する。つまり、プロセッサ２６は、学習処理で構築された一般ＳＶＭによって、一般化された認識サンプルを認識することで、ユーザの集中状態を認識する。なお、ステップＳ３１５の処理を実行するプロセッサ２６は作成手段として機能し、ステップＳ３１７の処理を実行するプロセッサ２６は認識手段として機能する。
【０１９４】
続いて、プロセッサ２６は、ステップＳ３１７で、認識結果がアクティブ状態か否かを判断する。つまり、プロセッサ２６は、一般ＳＶＭによる認識結果がアクティブ状態であるかを判断する。ステップＳ３１７で“ＹＥＳ”であれば、つまり認識結果がアクティブ状態であれば、プロセッサ２６はステップＳ３１９で、アクティブ状態を設定する。つまり、ステップＳ３１９では、集中フラグ３５４がオンに設定される。一方、ステップＳ３１７で“ＮＯ”であれば、つまり認識結果がパッシブ状態であれば、プロセッサ２６はステップＳ３２１で、パッシブ状態を設定する。つまり、集中フラグ３５４がオフに設定される。
【０１９５】
また、プロセッサ２６は、ステップＳ３２３で、認識サンプルに認識結果をラベル付けして個人学習サンプルに追加し、集中認識処理を終了する。そして、プロセッサ２６は、集中認識処理を終了すると、上位ルーチンである認識処理に戻る。
【０１９６】
ここで、ステップＳ２３２で、ラベル付けされた個人学習サンプルが個人学習データ３５０に追加されるため、第２実施例では、ラベル付けされた個人学習サンプルを利用して一般学習サンプルを再計算する事ができる。つまり、一般ＳＶＭが学習する一般学習サンプルの数を増やすことができるため、認識の精度を向上させることができる。
【０１９７】
これらの実施例によれば、傾聴対話持続システム１００に含まれるＰＣ１０は、ロボット１２の腹部カメラ１４およびモニタカメラ２２によって撮影された画像とマイク２０によって集音された音声とから、ユーザの行動データを取得する。また、第１実施例では、特定のユーザの行動データからサンプリングされた個人学習サンプルおよびＳＶＭを構築するための一般学習サンプルに基づいて、境界線（超平面）の位置が調整された個人化ＳＶＭが構築される。さらに、第２実施例では、特定のユーザの行動データからサンプリングされた個人学習サンプルおよび一般ＳＶＭを構築するための一般学習サンプルに基づいて、認識サンプルが一般化される。
【０１９８】
そして、各実施例では、特定のユーザの行動から個人学習サンプルがサンプリングされ、その個人学習サンプルおよび既存の一般学習サンプルを利用して、特定のユーザの状態が認識される。そのため、ＰＣ１０は、特定のユーザの集中状態を容易に正しく認識できるようになる。
【０１９９】
また、これらの実施例では、取得される要素行動の種類を少なくしつつ、学習および認識に必要な複合行動を得ることができる。そのため、ユーザの要素行動を記録するＰＣ１０の負荷を減らすことができる。さらに、相手の発話の有無を利用してユーザの集中状態を認識することで、認識の精度を向上させることができる。
【０２００】
なお、傾聴対話持続システム１００は、図１のように、必ずしも遠隔対話を前提としているわけではなく、同じ空間（部屋）に居る人物の状態を推定する場合にも用いることができる。図３５を参照して、２人のユーザが同じ部屋に居る場合は、ＰＣ１０は、ネットワーク２００を介さず、サーバ２４に直接接続される。また、図３６を参照して、２人が同じ部屋の中でお互いが向かい合って座る場合には、お互いが相手の顔を直接確認できるため、モニタ１６は何も表示しない。また、他の実施例では、ＰＣ１０がサーバ２４の機能を果たすことで、１台のＰＣ１０によって、ユーザＡおよびユーザＢの集中状態が認識されてもよい。つまり、各ユーザの行動データは、１台のＰＣ１０に蓄積される。ただし、ロボット１２、スピーカ１８、マイク２０およびモニタカメラ２２は、各ユーザの近くにそれぞれ設置される。
【０２０１】
また、他の実施例では、集中状態だけでなく、発話状態や興味の対象なども、ＳＶＭによって認識されてもよい。
【０２０２】
また、本実施例では、集中状態を認識する手法としてＳＶＭを採用したが、他の実施例では最近傍法などの他の認識手法が採用されてもよい。
【０２０３】
また、複合行動には、ロボット１２の制御結果およびユーザの手のジェスチャーなどが含まれていてもよい。そして、ロボット１２の制御結果を利用する場合はロボット１２の動作履歴データが参照される。また、ユーザの手のジェスチャーは、ユーザの手を検出する処理を利用して認識される。
【０２０４】
また、腹部カメラ１４およびモニタカメラ２２以外に、モニタ１６およびロボット１２以外の位置でユーザの顔を撮影する第３カメラを設置してもよい。
【０２０５】
また、ＰＣ１０に代えて、サーバ２４によってユーザの状態が認識されてもよい。この場合、腹部カメラ１４およびモニタカメラ２２によって撮影された画像と、マイク２０によって集音された音声とはサーバ２４に直接送信される。
【０２０６】
また、ＰＣ１０およびネットワーク２００を利用せずに電話網などを介して、ユーザの画像と音声とがＰＣ１０に送受信されてもよい。また、ＰＣ１０、モニタ１６、スピーカ１８、マイク２０およびモニタカメラ２２が同一の筐体に組み込まれてもよい。さらに、この場合、ロボット１２とテレビ電話機とが接続された状態で、テレビ電話の通話が開始される。
【０２０７】
また、メモリ３０に記憶される各種プログラムのデータは、データ配信用のサーバのHDDに記憶され、通信を介してＰＣ１０に配信されてもよい。さらに、光学ディスクなどの記憶媒体にこれらのプログラムのデータを記憶させた状態で、その記憶媒体が販売または配布されてもよい。
【０２０８】
そして、本明細書中で挙げた、ウィンドウ幅の時間、一定時間および所定時間閾値などの具体的な数値は、いずれも単なる一例であり、製品の仕様などの必要に応じて適宜変更可能である。
【符号の説明】
【０２０９】
１０ａ，１０ｂ  …ＰＣ
１２ａ，１２ｂ  …ロボット
１４ａ，１４ｂ  …腹部カメラ
１６ａ，１６ｂ  …モニタ
２０ａ，２０ｂ  …マイク
２２ａ，２２ｂ  …モニタカメラ
２４  …サーバ
２６  …プロセッサ
３０  …メモリ
３６  …通信ＬＡＮボード
３８  …無線通信装置
１００  …傾聴対話持続システム
２００  …ネットワーク
【図１】
2012010856.tif 000009
【図２】
2012010856.tif 000010
【図３】
2012010856.tif 000011
【図４】
2012010856.tif 000012
【図５】
2012010856.tif 000013
【図６】
2012010856.tif 000014
【図７】
2012010856.tif 000015
【図８】
2012010856.tif 000016
【図９】
2012010856.tif 000017
【図１０】
2012010856.tif 000018
【図１１】
2012010856.tif 000019
【図１２】
2012010856.tif 000020
【図１３】
2012010856.tif 000021
【図１４】
2012010856.tif 000022
【図１５】
2012010856.tif 000023
【図１６】
2012010856.tif 000024
【図１７】
2012010856.tif 000025
【図１８】
2012010856.tif 000026
【図１９】
2012010856.tif 000027
【図２０】
2012010856.tif 000028
【図２１】
2012010856.tif 000029
【図２２】
2012010856.tif 000030
【図２３】
2012010856.tif 000031
【図２４】
2012010856.tif 000032
【図２５】
2012010856.tif 000033
【図２６】
2012010856.tif 000034
【図２７】
2012010856.tif 000035
【図２８】
2012010856.tif 000036
【図２９】
2012010856.tif 000037
【図３０】
2012010856.tif 000038
【図３１】
2012010856.tif 000039
【図３２】
2012010856.tif 000040
【図３３】
2012010856.tif 000041
【図３４】
2012010856.tif 000042
【図３５】
2012010856.tif 000043
【図３６】
2012010856.tif 000044