(57)【特許請求の範囲】
【請求項１】
対話対象者の発話を検出する検出部と、
前記検出部により検出された発話に基づいて、前記対話対象者との対話に関する評価を算出する算出部と、
頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方により定常的に態度を表出する表出部と、
前記算出部により算出された評価が低い状態が続いた場合、頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を少なく変更し、評価が高い状態が続いた場合、頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を多く変更する変更部と、
を有する対話装置。  
【請求項２】
前記算出部は、発話に対する理解度を算出すると共に、前記評価として、前記理解度が高い状態が続いた場合に上昇し、前記理解度が低い状態が続いた場合に低下する興味度を算出し、
前記変更部は、前記興味度に基づいて前記表出部により表出される態度を変更する
ことを特徴とする請求項１に記載の対話装置。  
【請求項３】
前記変更部は、前記興味度が所定の第１の閾値以下の場合、頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を少ない第１の状態に変更し、前記興味度が前記第１の閾値より大きく、かつ、前記理解度が所定の第２の閾値以下の場合、頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を前記第１の状態よりも多い第２の状態に変更し、前記興味度が前記第１の閾値より大きく、かつ、前記理解度が前記第２の閾値よりも大きい場合、頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を前記第２の状態よりも多い第３の状態に変更する
ことを特徴とする請求項２に記載の対話装置。  
【請求項４】
コンピュータに、
対話対象者の発話を検出する検出部により検出された発話に基づいて、前記対話対象者との対話に関する評価を算出し、
算出された評価が低い状態が続いた場合、頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方により定常的に態度を表出する表出部により表出される頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を少なく変更し、評価が高い状態が続いた場合、前記表出部により表出される頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を多く変更する
処理を実行させることを特徴とする対話プログラム。  
【請求項５】
コンピュータが、
対話対象者の発話を検出する検出部により検出された発話に基づいて、前記対話対象者との対話に関する評価を算出し、
算出された評価が低い状態が続いた場合、頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方により定常的に態度を表出する表出部により表出される頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を少なく変更し、評価が高い状態が続いた場合、前記表出部により表出される頷き頻度、対話対象者に対して視線を合わせる頻度の一方または両方を多く変更する
処理を実行することを特徴とする対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話装置、対話プログラムおよび対話方法に関する。
【背景技術】
【０００２】
会話や仕草などにより、人との間で親和的な対話（インタラクション）を行う対話装置が開発されている。この対話装置の一態様としては、セラピーロボットやエンターテイメントロボットなどが挙げられる。
【０００３】
ところで、対話装置は、人から入力された発話の内容を理解できない場合がある。このように、人から入力された発話の内容を理解できない場合でも対話を継続する技術が各種提案されている。例えば、人から入力された発話を認識できなかった場合に、現在の会話における話題を判別し、話題に応じた返答を出力する技術が提案されている。また、例えば、ユーザの命令などを理解できない場合、ロボットに首を傾げさせたり、耳に手を当てるなどの所定の行動を行わせ、ユーザに対して、音声認識の信頼性が低いことや音声認識の失敗を知らせる技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１６９５９０号公報
【特許文献２】特開２００２−１１６７９２号公報
【特許文献３】特開２００２−１８９４８８号公報
【特許文献４】特開２００３−２６０６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来技術は、人との対話が継続されても、対話装置の発話が不自然な内容となり、人との対話が不自然になってしまう場合がある。
【０００６】
開示の技術は、人との対話が不自然になることを抑制できる対話装置、対話プログラムおよび対話方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の開示する対話装置は、一つの態様において、検出部と、算出部と、表出部と、変更部とを有する。検出部は、対話対象者の発話および動作の少なくとも一方を検出する。算出部は、前記検出部により検出された発話および動作の少なくとも一方に基づいて、前記対話対象者との対話に関する評価を算出する。表出部は、前記対話対象者に対して仕草により定常的に態度を表出する。変更部は、前記算出部により算出された評価が高い状態が続いた場合、前記表出部により表出される態度を前記対話に対して理解の高い状態へと変更する。また、変更部は、前記評価が低い状態が続いた場合、前記表出部により表出される態度を前記対話に対して理解の低い状態へと変更する。
【発明の効果】
【０００８】
本願の開示する対話装置の一つの態様によれば、人との対話が不自然になることを抑制できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係るロボットの構成を示す斜視図である。
【図２】図２は、実施例１に係るロボットの内部的な構成を示すブロック図である。
【図３】図３は、実施例１に係るロボットが有する制御部の機能的構成を示すブロック図である。
【図４】図４は、実施例１に係る会話データの構成の一例を示す図である。
【図５】図５は、実施例１に係る非言語動作データの構成の一例を示す図である。
【図６】図６は、実施例１に係る頷き動作データの構成の一例を示す図である。
【図７】図７は、実施例１に係る定常動作頻度データの構成の一例を示す図である。
【図８】図８は、対話の流れの一例を示す図である。
【図９】図９は、実施例１に係る対話処理の手順を示すフローチャートである。
【図１０】図１０は、実施例１に係る表出態度決定処理の手順を示すフローチャートである。
【図１１】図１１は、実施例１に係る応答処理の手順を示すフローチャートである。
【図１２】図１２は、実施例１に係る定常態度表出処理の手順を示すフローチャートである。
【図１３】図１３は、対話処理プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する対話装置、対話プログラムおよび対話方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。以下の実施例では、対話装置の一態様としてロボットに適用した場合について説明する。
【実施例１】
【００１１】
［ロボットの全体構成］
まず、本実施例に係るロボットの全体構成について説明する。図１は、実施例１に係るロボットの構成を示す斜視図である。図１に示すように、ロボット１は、軟らかい毛で覆われた表皮や幼児に近い体型を持つ子ぐまのぬいぐるみの外観を採用している。ロボット１は、このような子ぐまのぬいぐるみの外観を採用することにより、スキンシップを促し、かつ動物と人間（幼児）の中間的な存在感を演出でき、人の日常生活に溶け込んで親和的な対話を行える。
【００１２】
ロボット１は、頭２と、胴体３、右腕４Ｒと、左腕４Ｌと、右脚５Ｒと、左脚５Ｌとを有する。頭２は、頭２を垂直方向にしてロボット１を配置した際に、左右を軸（Ｘ軸）として前後方向に回転するピッチ方向と、上下を軸（Ｚ軸）として左右方向に回転するヨー方向と、前後を軸（Ｙ軸）として左右方向に回転するロール方向の動作が可能とされている。すなわち、ロボット１は、頭２をピッチ方向、ヨー方向、ロール方向の３軸方向に回転させることが可能とされている。ロボット１は、頭２を３軸方向に回転させることにより、様々な動作を行うことができる。例えば、ロボット１は、頭２をピッチ方向に回転させて頷く動作や、頭２をヨー方向に回転させて顔を横に向ける動作、頭２をロール方向に回転させて頭２を傾ける動作を行うことができる。
【００１３】
また、右腕４Ｒ、左腕４Ｌは、頭２を上方向としてロボット１を配置した際に、胴体３と接続部分を軸として、前後方向に回転する動作が可能とされている。すなわち、ロボット１は、右腕４Ｒ、左腕４Ｌをピッチ方向の１軸方向に回転させることが可能とされている。ロボット１は、右腕４Ｒ、左腕４Ｌをピッチ方向に動作させて、右腕４Ｒ、左腕４Ｌを前後させる動作を行うことができる。
【００１４】
また、右脚５Ｒと、左脚５Ｌは、頭２を上方向としてロボット１を配置した際に、胴体３と接続部分を軸として、前後方向に回転する動作が可能とされている。ロボット１は、右脚５Ｒと、左脚５Ｌをピッチ方向に動作させて、右脚５Ｒと、左脚５Ｌを前後させる動作を行うことができる。
【００１５】
頭２には、右耳６Ｒと、左耳６Ｌと、２つの目７と、鼻８と、口９が設けられている。右耳６Ｒおよび左耳６Ｌは、頭２と接続部分を軸として、前後方向に回転する動作が可能とされている。目７は、眼球を左右方向に回転させる動作が可能とされており、視線を左右へ移動させることが可能とされている。また、目７には、まぶた７Ａが設けられている。まぶた７Ａは、上下方向の動作が可能とされており、瞬きが可能とされている。口９は、開閉する動作が可能とされている。また、鼻８には、後述するカメラ４１が内蔵されている。カメラ４１は、光軸をロボット１の視線方向に概ね一致させて配置されている。さらに、頭２には、後述するマイク４２およびスピーカ４３が内蔵されている。
【００１６】
本実施例に係るロボット１は、人との間で発話および仕草により対話を行う。本実施例に係るロボット１は、人の発話および動作の少なくとも一方を検出すると、検出された発話および動作の少なくとも一方に基づいて、対話対象者との対話に関する評価を算出する。本実施例に係るロボット１は、対話対象者との対話に関する評価に応じて発話や仕草により応答動作を行う。また、本実施例に係るロボット１は、人からの発話が無い状態でも対話対象者に対して仕草により定常的に態度を表出する。そして、本実施例に係るロボット１は、対話対象者の発話において、評価が高い状態が続いた場合、表出する態度を対話に対して理解の高い状態へと変更し、評価が低い状態が続いた場合、表出する態度を対話に対して理解の低い状態へと変更する。例えば、本実施例に係るロボット１は、対話内容が理解できており、興味が高いことを示す傾聴感、対話内容をやや理解できていないことを示す不明感、および対話内容を理解できておらず、退屈であることを示す退屈感の何れかの態度を仕草などにより表出する。そして、本実施例に係るロボット１は、評価が高い状態が続いた場合、表出する態度を傾聴感に変更し、評価が低い状態が続いた場合、不明感、退屈感へと変更する。このように、本実施例に係るロボット１は、対話対象者の発話に対して理解状態に応じて、表出する態度を変更する。このため、本実施例に係るロボット１によれば、ロボット１が表出する態度からロボット１が対話に対して理解が高い状態か理解が低い状態か対話対象者が判別できる。これにより、本実施例に係るロボット１によれば、ロボット１が対話に対して理解の低い状態となり発話が不自然な内容となっても、対話対象者が予めロボット１の対話に対する理解が低い状態であると判別できるため、人との対話が不自然になることを抑制できる。
【００１７】
次に、本実施例に係るロボット１の内部構成について説明する。図２は、実施例１に係るロボットの内部的な構成を示すブロック図である。
【００１８】
図２に示すように、ロボット１の胴体３には、頭２、右腕４Ｒ、左腕４Ｌ、右脚５Ｒおよび左脚５Ｌがモータ３３Ｐ、３３Ｒ、３３Ｙ、３４Ｒ、３４Ｌ、３５Ｒ及び３５Ｌを介して接続される。また、ロボット１の頭２には、小型のモータ３６Ｒ、３６Ｌ、３７、３８、３９が設けられている。
【００１９】
モータ３３Ｐ、３３Ｒ及び３３Ｙは、ロボット１の頭２と胴体３とを接続する首関節に設けられる。モータ３３Ｐは、ロボット１の頭２をピッチ方向に回転させ、モータ３３Ｒは、ロボット１の頭２をロール方向に回転させ、また、モータ３３Ｙは、ロボット１の頭２をヨー方向に回転させる。
【００２０】
また、モータ３４Ｒ及び３４Ｌは、ロボット１の右腕４Ｒ及び左腕４Ｌと胴体３とを接続する肩関節に設けられる。モータ３４Ｒは、ロボット１の右腕４Ｒをロボット１の前後方向に回転させる。モータ３４Ｌは、ロボット１の左腕４Ｌをロボット１の前後方向に回転させる。
【００２１】
また、モータ３５Ｒ及び３５Ｌは、ロボット１の右脚５Ｒ及び左脚５Ｌと胴体３とを接続する股関節に設けられる。モータ３５Ｒは、ロボット１の右脚５Ｒをロボット１の前後方向に回転させる。モータ３５Ｌは、ロボット１の左脚５Ｌをロボット１の前後方向に回転させる。
【００２２】
また、モータ３６Ｒおよび３６Ｌは、ロボット１の頭２の右耳６Ｒ、左耳６Ｌの接続箇所に設けられる。モータ３６Ｒは、右耳６Ｒを前後方向に回転させる。モータ３６Ｌは、左耳６Ｌを前後方向に回転させる。
【００２３】
モータ３７は、ロボット１の頭２の目７の部分に設けられる。モータ３７は、図示しない伝達機構を用いて２つの目７の眼球を左右方向に回転させる。すなわち、モータ３７は、目７の眼球を左右方向に回転させることにより、ロボット１の視線方向を変更する。
【００２４】
モータ３８は、ロボット１の頭２の目７の部分に設けられる。モータ３８は、図示しない伝達機構を用いて２つの目７のまぶた７Ａを上下方向に動作させる。すなわち、モータ３８は、まぶた７Ａを上下方向に動作させることにより、瞬きを行わせる。
【００２５】
モータ３９は、ロボット１の頭２の口９部分に設けられる。モータ３９は、図示しない伝達機構を用いて口９を開閉動作させる。
【００２６】
ここで、以下では、モータ３３Ｐ、３３Ｒ、３３Ｙ、３４Ｒ、３４Ｌ、３５Ｒ、３５Ｌ、モータ３６Ｒ、３６Ｌ、３７、３８および３９を区別なく総称する場合には「モータ３０」と総称する場合がある。また、モータ３０は、モータを制御するモータ制御部４０と接続される。モータ制御部４０は、頭２、右腕４Ｒ、左腕４Ｌ、右脚５Ｒおよび左脚５Ｌを駆動させるモータ３０の動力制御やモータ３０に流れる電流値のモニタリングなどの各種の統括制御を行う。また、右耳６Ｒ、左耳６Ｌ、目７、および口９を駆動させるモータ３０の動力制御やモータ３０に流れる電流値のモニタリングなどの各種の統括制御を行う。
【００２７】
各モータ３０は、モータ制御部４０からの指示にしたがって動力を伝達することにより、頭２、右腕４Ｒ、左腕４Ｌ、右脚５Ｒ、左脚５Ｌ、右耳６Ｒ、左耳６Ｌ、目７の眼球、まぶた７Ａ、および口９をそれぞれ駆動する。
【００２８】
また、ロボット１の頭２には、カメラ４１と、マイク４２と、スピーカ４３が設けられている。カメラ４１は、頭２の鼻８の部分に配置されており、頭２の正面方向を所定の周期で撮影する。マイク４２は、任意の位置に取り付けることができるが、対話を行う人の発話を集音するため、頭２の正面側に設置されることが好ましい。スピーカ４３も、任意の位置に取り付けることができるが、対話を行う人に対して音声を出力するため、頭２の正面側に設置されることが好ましい。
【００２９】
また、ロボット１の胴体３には、ロボット１の全体制御を司る制御部１０が設けられている。モータ制御部４０、カメラ４１、マイク４２およびスピーカ４３は、制御部１０と接続される。モータ制御部４０は、制御部１０からの指示に応じて各モータ３０を動作させる制御を行う。カメラ４１は、撮影された画像データを制御部１０へ出力する。マイク４２は、集音された音声データを制御部１０へ出力する。スピーカ４３は、制御部１０からの制御に基づき、音声を出力する。
【００３０】
続いて、本実施例に係るロボットが有する制御部の機能的構成について説明する。図３は、実施例１に係るロボットが有する制御部の機能的構成を示すブロック図である。図３に示すように、制御部１０は、ロボット１の全体制御を司る処理部である。制御部１０には、記憶部１１が接続されている。
【００３１】
記憶部１１は、制御部１０で実行されるＯＳ（Operating  System）やロボット１の制御に用いる各種プログラムを記憶する。さらに、記憶部１１は、制御部１０で実行されるプログラムの実行に必要な各種データを記憶する。かかるデータの一例として、記憶部１１は、会話データ１１ａと、非言語動作データ１１ｂと、頷き動作データ１１ｃと、定常動作頻度データ１１ｄとを記憶する。
【００３２】
会話データ１１ａは、会話を行う際の発話内容を示す情報である。一例として、会話データ１１ａは、ロボット１の作成元で予め登録される。また、他の一例として、会話データ１１ａは、発話を行うために、後述する応答決定部１０ｆによって参照される。
【００３３】
図４は、実施例１に係る会話データの構成の一例を示す図である。図４に示すように、会話データ１１ａは、「話題」、「質問」、「態度」、「次の質問」の各項目を有する。話題の項目は、対話を行う話題を示す情報を格納する領域である。質問の項目は、人に対して質問した内容を示す情報を格納する領域である。態度の項目は、表出する態度を示す情報を格納する領域である。次の質問の項目は、次に質問する質問内容を示す情報を格納する領域である。会話データ１１ａには、話題、質問内容、態度毎に次に質問する質問内容が格納される。また、質問および態度の項目に共に「−」が格納されたレコードには、話題を変更した際に最初に質問する質問内容が格納される。
【００３４】
図４の例では、話題「Ａ」において最初に「質問ａ１」の質問を行うことを示す。また、図４の例では、話題「Ａ」の「質問ａ１」の質問を行い、回答を得た結果、表出する態度が「傾聴感」である場合、次に「質問ａ２」の質問を行うことを示す。また、図４の例では、話題「Ａ」の「質問ａ１」の質問を行い、回答を得た結果、表出する態度が「不明感」である場合、次に「質問ａ３」の質問を行うことを示す。また、図４の例では、話題「Ａ」の「質問ａ１」の質問を行い、回答を得た結果、表出する態度が「退屈感」である場合、次に「話題Ｂ」の質問を行うことを示す。そして、図４の例では、話題「Ｂ」において最初に「質問ｂ１」の質問を行うことを示す。
【００３５】
非言語動作データ１１ｂは、表出する態度毎の動作内容を示す情報である。一例として、非言語動作データ１１ｂは、ロボット１の作成元で予め登録される。また、他の一例として、非言語動作データ１１ｂは、非言語表現の動作を指示するために、後述する非言語応答決定部１０ｈおよび定常非言語動作決定部１０ｉによって参照される。
【００３６】
図５は、実施例１に係る非言語動作データの構成の一例を示す図である。図５に示すように、非言語動作データ１１ｂは、「設定要素」、「傾聴感」、「不明感」、「退屈感」の各項目を有する。設定要素の項目は、態度を表出するために設定を行う要素を示す情報を格納する領域である。傾聴感の項目は、傾聴感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。不明感の項目は、不明感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。退屈感の項目は、退屈感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。
【００３７】
設定要素の項目には、人が傾聴感、不明感、退屈感をそれぞれ表出する際に、動作に違いが現れる要素が格納される。そして、傾聴感、不明感、退屈感の各項目には、それぞれで顕著となる動作内容を示す情報が格納される。一態様として、本実施例では、設定要素として「音量」、「音高」、「発話の速さ」、「視線」、「瞬き」、「動作、表情」について設定を行う。音量の設定要素は、スピーカ４３から発話などの音声を出力する際の音量の設定を示す。本実施例では、音量の「小」は、発話の標準的な音量よりも小さくすることを示す。音量の「中」は、発話の標準的な音量とすることを示す。音量の「大」は、発話の標準的な音量よりも大きくすることを示す。発話の標準的な音量は、例えば、予め多数の人の音を解析して決定してもよく、所定の音量を標準的な音量と定めてもよい。
【００３８】
音高の設定要素は、スピーカ４３から発話を出力する際の声の高さの設定を示す。本実施例では、声高の「低」は、発話の声の高さを、発話の標準的な声の高さよりも低くすることを示す。声高の「中」は、発話の声の高さを、発話の標準的な声の高さとすることを示す。声高の「高」は、発話の声の高さを、発話の標準的な声の高さよりも高くすることを示す。発話の標準的な声の高さは、例えば、予め多数の人の音を解析して決定してもよく、所定の声の高さを標準的な高さと定めてもよい。
【００３９】
発話の速さの設定要素は、スピーカ４３から発話を出力する際の発話の速さの設定を示す。本実施例では、発話の速さの「ゆっくり」は、発話の速度を、発話の標準的な速度よりも遅くすることを示す。発話の速さの「ふつう」は、発話の速度を、発話の標準的な速度とすることを示す。発話の標準的な速度は、例えば、予め多数の人の音を解析して決定してもよく、所定の発話の速度を標準的な発話の速度と定めてもよい。
【００４０】
視線の設定要素は、目７の視線方向の設定を示す。本実施例では、視線の「ユーザ注視」は、ユーザの方向に視線を向けたままの状態とすることを示す。視線の「時々そらす」は、ユーザの方向に視線を向けるが、周期的にユーザと異なる方向へ視線を移動させることを示す。視線の「あまりユーザを見ない」は、ユーザと異なる方向へ視線を向け、周期的にユーザの方向に視線を移動させることを示す。視線を移動させる周期は、例えば、一定期間としてもよく、所定の範囲内でランダムな期間としてもよい。
【００４１】
瞬きの設定要素は、まぶた７Ａを上下動作させる瞬きの設定を示す。本実施例では、瞬きの「ふつう」は、標準的な頻度で瞬きを行うことを示す。瞬きの「頻度多い」は、標準的な頻度よりも多い頻度で瞬きを行うことを示す。瞬きの標準的な頻度は、例えば、予め多数の人の瞬きの頻度を解析して決定してもよく、所定の頻度を標準的な瞬きの頻度と定めてもよい。
【００４２】
動作、表情の設定要素は、ロボット１が表出する動作や表情に関する設定を示す。本実施例では、動作、表情の「笑顔」は、ロボット１の各部を動作させて笑顔であると感じられる状態にすることを示す。例えば、右耳６Ｒ、左耳６Ｌを最も直立した状態とし、頭２および目７をユーザの方向に向け、まぶた７Ａ、口９を全開の状態とし、右腕４Ｒ、左腕４Ｌを上部へ移動させる。動作、表情の「首を傾げる」は、ロボット１の各部を動作させて首を傾げたと感じられる状態にすることを示す。例えば、口９を閉じた状態とし、右腕４Ｒ、左腕４Ｌを下部へ移動させ、頭２をヨー方向やピッチ方向に回転させて首を傾げた状態にする。動作、表情の「眠そう」は、ロボット１の各部を動作させて眠そうと感じられる状態にすることを示す。例えば、まぶた７Ａを半分開いた状態とし、右腕４Ｒ、左腕４Ｌを下部へ移動させ、頭２をピッチに回転させて頭２を下方向に向けた状態にする。
【００４３】
図５の例では、傾聴感を表出する場合、音量を「大」とし、音高を「中」とし、発話の速さを「ふつう」とし、視線を「ユーザ注視」とし、瞬きを「ふつう」とし、動作、表情を「笑顔」とすることを示す。また、図５の例では、不明感を表出する場合、音量を「小」とし、音高量を「高」とし、発話の速さを「ふつう」とし、視線を「時々そらす」とし、瞬きを「頻度多い」とし、動作、表情を「首を傾げる」とすることを示す。また、図５の例では、退屈感を表出する場合、音量を「中」とし、音高量を「低」とし、発話の速さを「ゆっくり」とし、視線を「あまりユーザを見ない」とし、瞬きを「ふつう」とし、動作、表情を「眠そう」とすることを示す。
【００４４】
頷き動作データ１１ｃは、応答を行う際の頷きに関する設定を示す情報である。一例として、頷き動作データ１１ｃは、ロボット１の作成元で予め登録される。また、他の一例として、頷き動作データ１１ｃは、頷き動作を指示するために、後述する非言語応答決定部１０ｈによって参照される。
【００４５】
図６は、実施例１に係る頷き動作データの構成の一例を示す図である。図６に示すように、頷き動作データ１１ｃは、「設定要素」、「傾聴感」、「不明感」、「退屈感」の各項目を有する。設定要素の項目は、頷き動作に関して設定を行う要素を示す情報を格納する領域である。傾聴感の項目は、傾聴感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。不明感の項目は、不明感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。退屈感の項目は、退屈感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。
【００４６】
設定要素の項目には、頷き動作に関する設定要素が格納される。そして、傾聴感、不明感、退屈感の各項目には、それぞれでの頷き動作内容を示す情報が格納される。一態様として、本実施例では、設定要素として「頷き深さ」、「頷き速さ」、「頷き遅れ」について設定を行う。頷き深さの設定要素は、頷く際の上下動作の振幅の大きさの設定を示す。頷き速さの設定要素は、頷く速度の設定を示す。頷き遅れの設定要素は、ユーザの発話を検出してから頷くまでの期間の設定を示す。
【００４７】
ここで、人は、対話に対する状態に応じて頷き動作が変化する。例えば、人は、相手の話を傾聴している場合、相手の発話に応じて頷く。また、人は、相手の話が十分に理解できない場合、相手の発話に応じて頷くが、頷き動作の振幅が小さく、頷く速さが速くなり、頷く頻度も多くなる。また、人は、相手の話を理解できず、退屈な場合、相手の発話に応じて頷くが遅延が大きく、頷き動作の振幅がより小さくなる。そこで、本実施例では、傾聴感、不明感、退屈感毎に、後述する理解度、興味度から頷き深さ、頷き速さ、頷き遅れを導出する条件を設定している。
【００４８】
図６の例では、表出する態度が「傾聴感」である場合、係数ｇ×ｍａｘ（理解度、興味度）から頷く深さを導出し、係数ｉ×興味度から頷く速さを導出し、頷き遅れを０．０とすることを示す。なお、ｍａｘ（理解度、興味度）は、（）内に代入された理解度、興味度から最も大きい値を返す関数である。また、図６の例では、表出する態度が「不明感」である場合、係数ｈ×理解度から頷く深さを導出し、頷く速さを１．０とし、係数ｊ×（１．０−理解度）から頷き遅れを導出することを示す。また、図６の例では、表出する態度が「退屈感」である場合、頷く深さ０．１とし、頷く速さを０．５とし、係数ｋ×（１．０−興味度）から頷き遅れを導出することを示す。なお、本実施例では、頷き深さ、頷き速さ、頷き遅れを０．０〜１．０の範囲で定めるものとしており、０．０より小さい場合、０．０とし、１．０より大きい場合、１．０とする。また、不明感よりも傾聴感での頷く深さを大きくするため、係数ｇは、係数ｈよりも大きい値とされている。不明感よりも退屈感での頷きの遅れを大きくするため、係数ｋは、係数ｊよりも大きい値とされている。
【００４９】
定常動作頻度データ１１ｄは、人からの発話が無い状態で定常的に態度を表出する頻度に関する設定を示す情報である。一例として、定常動作頻度データ１１ｄは、ロボット１の作成元で予め登録される。また、他の一例として、定常動作頻度データ１１ｄは、定常的な非言語表現の動作の動作タイミングを指示するために、後述する定常非言語動作決定部１０ｉによって参照される。
【００５０】
図７は、実施例１に係る定常動作頻度データの構成の一例を示す図である。図７に示すように、頷き動作データ１１ｃは、「設定要素」、「傾聴感」、「不明感」、「退屈感」の各項目を有する。設定要素の項目は、定常的に態度を表出する動作を示す情報を格納する領域である。傾聴感の項目は、傾聴感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。不明感の項目は、不明感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。退屈感の項目は、退屈感を表出する際にそれぞれの要素での設定内容を示す情報を格納する領域である。
【００５１】
設定要素の項目には、人が傾聴感、不明感、退屈感をそれぞれ表出する際に、違いが現れる動作が格納される。そして、傾聴感、不明感、退屈感の各項目には、後述する理解度、興味度から頻度を導出する条件が設定されている。一態様として、本実施例では、設定要素として「頷き頻度」、「視線頻度」について設定を行う。頷き頻度の設定要素は、頷きを行う周期の設定を示す。視線頻度の設定要素は、ユーザに視線を合わせる周期の設定を示す。
【００５２】
図７の例では、表出する態度が「傾聴感」である場合、理解度×係数ａから頷きを行う頻度を導出し、理解度×係数ｄからユーザに視線を合わせる頻度を導出することを示す。また、図７の例では、表出する態度が「不明感」である場合、理解度×係数ｂから頷きを行う頻度を導出し、興味度×係数ｅからユーザに視線を合わせる頻度を導出することを示す。また、図７の例では、表出する態度が「退屈感」である場合、興味度×係数ｃから頷きを行う頻度を導出し、興味度×係数ｆからユーザに視線を合わせる頻度を導出することを示す。ここで、後述するように、本実施例では、理解度が高いと興味度が高くなり、理解度が低下すると興味度が低下するように理解度から興味度を算出しており、理解度および興味度から対話の状態が傾聴感、不明感、退屈感の何れかであるか判別している。対話状態が興味度の高い傾聴感である場合は、理解度から頷き頻度および視線頻度を導出する。また、対話状態が興味度が高く、理解度の低い不明感である場合は、理解度から頷き頻度を導出し、興味度から視線頻度を導出する。また、対話状態が興味度の低い退屈感である場合は、興味度から頷き頻度および視線頻度を導出する。なお、頷き頻度を、退屈感よりも不明感で多く、不明感よりも傾聴感でより多くするため、係数ａ、係数ｂ、係数ｃは、係数ａ＞係数ｂ＞係数ｃとなるように値を設定する。また、視線頻度を、退屈感よりも不明感で多く、不明感よりも傾聴感でより多くするため、係数ｄ、係数ｅ、係数ｆは、係数ｄ＞係数ｅ＞係数ｆとなるように値を設定する。
【００５３】
図３に戻り、制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１０は、図３に示すように、発話解析部１０ａと、発話理解部１０ｂと、非言語表現解析部１０ｃと、評価算出部１０ｄと、状態決定部１０ｅとを有する。また、制御部１０は、応答決定部１０ｆと、発話応答決定部１０ｇと、非言語応答決定部１０ｈと、定常非言語動作決定部１０ｉと、発話生成部１０ｊと、非言語動作指示部１０ｋとをさらに有する。
【００５４】
なお、制御部１０には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００５５】
発話解析部１０ａは、マイク４２により取得される音声データに対して音声認識を行う。音声認識の手法は、統計的手法、動的時間伸縮法、隠れマルコフモデルを用いた手法など何れの手法でもよい。発話解析部１０ａは、音声データに対して音声認識を行い、認識した音声をテキストデータへ変換する。
【００５６】
発話理解部１０ｂは、発話内容に関して理解できた単語の割合の算出を行う。一態様としては、発話理解部１０ｂは、発話解析部１０ａにより音声データから音声認識が行えた単語の割合を算出する。また、他の一態様としては、例えば、対話を行う話題毎、それぞれの話題の対話を行った際に会話に含まれる単語を話題別単語データとして予め記憶する。そして、発話理解部１０ｂは、発話解析部１０ａにより変換されたテキストデータに、話題別単語データに記憶された現在の話題に関する単語が含まれる割合を算出する。
【００５７】
非言語表現解析部１０ｃは、非言語表現から対話に対する関心状態について解析を行い、関心状態を示す計測値を生成する。例えば、人は、楽しそうに話をしている場合、話題に対して関心が高い。そこで、一態様としては、非言語表現解析部１０ｃは、カメラ４１から得られる画像データに対して、顔認識処理を含む画像処理を行って口角や目尻の検出を行う。そして、非言語表現解析部１０ｃは、検出した口角や目尻の位置の変化や、口の拡がり度合いなどから人物の表情が笑顔である可能性の高さを示す笑顔度を計測値として算出する。また、人は、熱心に話しをしている場合、ジャスチャが大きくなったり、ジャスチャが速くなる。そこで、非言語表現解析部１０ｃは、画像データに含まれる人物の手の動きを追跡することにより、人の手の動きによって示されるジェスチャの大きさや、その動きの速さなどを示す計測値を算出してもよい。人は、熱心に話しをしている場合、声が大きく、抑揚も大きくなり、発話の頻度に多くなる。そこで、他の一態様としては、非言語表現解析部１０ｃは、マイク４２で得られた音声データに対して音声解析処理を適用することにより、例えば、人の声の抑揚や声の大きさ、発話の頻度などを、非視覚的な非言語反応の強さを示す計測値として生成してもよい。なお、ロボット１には、ユーザの非言語表現を検出するセンサとして、カメラ４１およびマイク４２に加えて、接触を検出する接触センサを設けてもよい。そして、非言語表現解析部１０ｃは、接触センサで検出されるユーザの接触期間や接触頻度から関心状態を示す計測値を生成してもよい。例えば、非言語表現解析部１０ｃは、ユーザの接触期間が長く、接触頻度が多いほど計測値を高く算出する。
【００５８】
評価算出部１０ｄは、発話理解部１０ｂにより算出された理解できた単語の割合、および非言語表現解析部１０ｃによる解析によって得られた計測値に基づき、対話対象者との対話に関する評価を算出する。一態様としては、評価算出部１０ｄは、対話に関する評価として、発話に対する理解度を算出する。そして、評価算出部１０ｄは、算出された理解度から対話に対する興味の度合い表す興味度を算出する。例えば、発話理解部１０ｂにより、時刻ｔに入力された音声についての理解できた単語の割合をｐとした場合、評価算出部１０ｄは、時刻ｔ−１時点の理解度Ｕ（ｔ−１）から以下の（１）式から時刻ｔ時点の理解度Ｕ（ｔ）を算出する。
【００５９】
Ｕ（ｔ）＝Ｕ（ｔ−１）×(１−α)＋ｐ×α      （１）
ここで、αは、更新の為の係数である。
【００６０】
また、例えば、発話理解部１０ｂにより、時刻ｔに検出された非言語表現ｉに対する計測値をｑｉとした場合、評価算出部１０ｄは、時刻ｔ−１時点の理解度Ｕ（ｔ−１）から以下の（２）式により時刻ｔ時点の理解度Ｕ（ｔ）を算出する。
【００６１】
Ｕ（ｔ）＝Ｕ（ｔ−１）×(１−β)＋ｑｉ×β      （２）
ここで、βは、更新の為の係数である。
【００６２】
そして、評価算出部１０ｄは、算出された理解度が高い状態が続いた場合に上昇し、当該理解度が低い状態が続いた場合に低下するように興味度を算出する。例えば、時刻ｔに算出された理解度Ｕ（ｔ）とした場合、評価算出部１０ｄは、時刻ｔ−１時点の興味度Ｉ（ｔ−１）から以下の（３）式から時刻ｔ時点の興味度Ｉ（ｔ）を算出する。
【００６３】
Ｉ（ｔ）＝Ｉ（ｔ−１）−(１．０−Ｕ（ｔ）)×γ＋Ａ      （３）
ここで、γは、更新の為の係数であり、γ＞Ａとする。また、Ａは、(０＜Ａ＜１．０)の定数とする。
【００６４】
なお、本実施例では、理解度および興味度を０．０〜１．０の範囲で定めるものとしている。評価算出部１０ｄは、算出されたＵ（ｔ）やＩ（ｔ）が０．０より小さい場合、０．０とし、１．０より大きい場合、１．０とする。また、対話を開始した最初状態において、理解度および興味度には、初期値として１．０を設定する。
【００６５】
状態決定部１０ｅは、評価算出部１０ｄにより算出される評価に基づいて、表出する態度を決定する。また、状態決定部１０ｅは、評価が高い状態が続いた場合、表出する態度を対話に対して理解の高い状態へと変更する。また、状態決定部１０ｅは、評価が低い状態が続いた場合、表出する態度を前記対話に対して理解の低い状態へと変更する。一態様としては、状態決定部１０ｅは、興味度が所定の閾値Ｔ１よりも大きいか否かを判定する。そして、状態決定部１０ｅは、興味度が閾値Ｔ１以下の場合、表出する態度を退屈感と決定する。また、興味度が閾値Ｔ１よりも大きい場合、状態決定部１０ｅは、理解度が所定の閾値Ｔ２よりも大きいか否かを判定する。そして、状態決定部１０ｅは、理解度が閾値Ｔ２よりも大きい場合、表出する態度を傾聴感と決定する。一方、状態決定部１０ｅは、理解度が閾値Ｔ２以下の場合、表出する態度を不明感と決定する。なお、閾値Ｔ１および閾値Ｔ２は、算出される理解度および興味度が表出する態度と対応するように適切に定める。例えば、閾値Ｔ１は、０．３〜０．５の範囲内の値とする。また、閾値Ｔ２は、０．３〜０．７の範囲の値とする。なお、閾値Ｔ１、Ｔ２は、外部から調整可能としてもよい。これにより、状態決定部１０ｅは、理解度が高い状態が続き、興味度も高い状態へと変化した場合、表出する態度を退屈感、不明感、傾聴感へ順次変更する。また、状態決定部１０ｅは、理解度が低い状態が続き、興味度も低い状態へと変化した場合、表出する態度を傾聴感、不明感、退屈感へ順次変更する。
【００６６】
応答決定部１０ｆは、人との対話を行う際の発話内容を決定する。一態様としては、応答決定部１０ｆは、対話を開始した最初の発話内容について、会話データ１１ａに記憶された何れかの話題を選択し、選択した話題の最初に質問する質問内容を読み出し、読み出した質問内容を最初の発話内容と決定する。また、応答決定部１０ｆは、ユーザに対して何れの話題で質問を行っており、発話理解部１０ｂによりユーザの発話に対する解析が行われた場合、次のような処理を行う。すなわち、応答決定部１０ｆは、会話データ１１ａから、現在の話題の直前の質問についての、状態決定部１０ｅにより決定された態度に対応する次の質問内容を読み出し、読み出した質問内容を次の発話内容と決定する。
【００６７】
発話応答決定部１０ｇは、発話の音質を決定する。一態様としては、発話応答決定部１０ｇは、非言語動作データ１１ｂから態度に対応する音量、声高、発話の速さの設定を読み出し、読み出した設定を発話に関する音質の設定と決定する。
【００６８】
非言語応答決定部１０ｈは、表出する動作内容を決定する。一態様としては、非言語応答決定部１０ｈは、頷き動作データ１１ｃから態度に対応する頷き深さ、頷き速さ、頷き遅れの導出条件を読み出す。そして、非言語応答決定部１０ｈは、評価算出部１０ｄにより算出された理解度および興味度を用いて、読み出した導出条件から頷き深さ、頷き速さ、頷き遅れを算出する。例えば、非言語応答決定部１０ｈは、決定された態度が傾聴感である場合、係数ｇ×ｍａｘ（理解度、興味度）から頷く深さを導出し、係数ｉ×興味度から頷く速さを導出し、頷き遅れを０．０とする。また、非言語応答決定部１０ｈは、決定された態度が不明感である場合、係数ｈ×理解度から頷く深さを導出し、頷く速さを１．０とし、係数ｊ×（１．０−理解度）から頷き遅れを導出する。非言語応答決定部１０ｈは、決定された態度が退屈感である場合、頷く深さ０．１とし、頷く速さを０．５とし、係数ｋ×（１．０−興味度）から頷き遅れを導出する。なお、非言語応答決定部１０ｈは、算出された頷き深さ、頷き速さ、頷き遅れが０．０より小さい場合、０．０とし、１．０より大きい場合、１．０とする。
【００６９】
また、非言語応答決定部１０ｈは、非言語動作データ１１ｂから、決定された態度に対応する視線、瞬き、動作表情の設定を読み出し、読み出した設定を動作に関する設定と決定する。
【００７０】
定常非言語動作決定部１０ｉは、人からの発話が無い状態でも対話対象者に対して頷きや仕草により定常的に表出する態度を決定する。一態様としては、定常非言語動作決定部１０ｉは、定常動作頻度データ１１ｄから、決定された態度に対応する頷き頻度、視線頻度の導出条件を読み出す。そして、非言語応答決定部１０ｈは、評価算出部１０ｄにより算出された理解度および興味度を用いて、読み出した導出条件から頷き頻度、視線頻度を算出する。例えば、非言語応答決定部１０ｈは、決定された態度が傾聴感である場合、理解度×係数ａから頷きを行う頻度を導出し、理解度×係数ｄからユーザに視線を合わせる頻度を導出する。また、非言語応答決定部１０ｈは、決定された態度が不明感である場合、理解度×係数ｂから頷きを行う頻度を導出し、興味度×係数ｅからユーザに視線を合わせる頻度を導出する。また、非言語応答決定部１０ｈは、決定された態度が退屈感である場合、興味度×係数ｃから頷きを行う頻度を導出し、興味度×係数ｆからユーザに視線を合わせる頻度を導出する。そして、定常非言語動作決定部１０ｉは、頷きを行う頻度が高いほど短いものとして頷きを行う周期を導出する。また、定常非言語動作決定部１０ｉは、視線を合わせる頻度が高いほど短いものとしてユーザに視線を合わせる周期を導出する。周期は、頻度から演算によって導出してもよい。例えば、周期は、値ｘ／頻度から導出する。この値ｘは定数であってもよく、対話状態によって変化させてもよい。また、頻度毎に周期を定めた周期情報を記憶部１１に記憶させておき、定常非言語動作決定部１０ｉは、周期情報から頻度に応じた周期を導出してもよい。
【００７１】
また、定常非言語動作決定部１０ｉは、頷き動作データ１１ｃから、決定された態度に対応する頷き深さ、頷き速さ、頷き遅れの導出条件を読み出し、理解度および興味度を用いて、読み出した導出条件から頷き深さ、頷き速さ、頷き遅れを算出する。また、定常非言語動作決定部１０ｉは、非言語動作データ１１ｂから、決定された態度に対応する視線、瞬き、動作表情の設定を読み出し、読み出した設定を動作に関する設定と決定する。
【００７２】
発話生成部１０ｊは、発話内容に応じた音声信号を生成してスピーカ４３へ出力する。一態様としては、発話生成部１０ｊは、発話内容および発話に関する音量、声高、発話の速さが決定した場合、決定した発話内容の音声を、決定した音量、声高、発話の速さで発生させる音声信号を生成してスピーカ４３へ出力する。これにより、スピーカ４３は、音声信号に応じた音声を出力して発話を行う。
【００７３】
非言語動作指示部１０ｋは、仕草など非言語動作を行わせる動作指示を生成してモータ制御部４０へ出力する。一態様としては、非言語動作指示部１０ｋは、発話内容および発話に関する音量、声高、発話の速さが決定し、発話を行う場合、非言語応答決定部１０ｈにより算出された頷き深さ、頷き速さ、頷き遅れで頷き動作を行わせる動作指示をモータ制御部４０へ出力する。また、非言語動作指示部１０ｋは、非言語応答決定部１０ｈにより決定された視線、瞬き、動作表情で動作を行わせる動作指示をモータ制御部４０へ出力する。例えば、非言語動作指示部１０ｋは、非言語表現解析部１０ｃにより顔が認識された方向へ目７あるいは頭２を移動させ、決定された視線、瞬き、動作表情で動作させる動作指示をモータ制御部４０へ出力する。モータ制御部４０は、動作指示に従ってモータ３０を制御して、ロボット１に動作指示に応じた動作を行わせる。これにより、ロボット１は、ユーザからの発話に対して非言語動作による応答を行う。
【００７４】
また、非言語動作指示部１０ｋは、前回の頷き動作、ユーザに視線を合わせた動作から定常非言語動作決定部１０ｉで算出された頷きを行う周期、視線を合わせる周期が経過した場合、次の定常的な動作を行わせる動作指示をモータ制御部４０へ出力する。例えば、非言語動作指示部１０ｋは、定常非言語動作決定部１０ｉにより決定された頷き深さ、頷き速さ、頷き遅れで頷き動作を行わせる動作指示をモータ制御部４０へ出力する。また、非言語動作指示部１０ｋは、定常非言語動作決定部１０ｉにより決定された視線、瞬き、動作表情で動作を行わせる動作指示をモータ制御部４０へ出力する。モータ制御部４０は、動作指示に従ってモータ３０を制御して、ロボット１に動作指示に応じた動作を行わせる。これにより、ロボット１は、ユーザ対して定常的に非言語動作により現在の状態を態度で表出する。
【００７５】
次に、ロボット１による対話の流れを説明する。図８は、対話の流れの一例を示す図である。図８に示すように、ユーザから発話Ｃ１が行われた場合、ロボット１は、発話Ｃ１に対して、発話および非言語動作による応答Ｃ２を行う。例えば、ロボット１は、決定された状態が傾聴感である場合、頷きながら応答Ｃ２を行い、また、ユーザを注視するなどして傾聴感を表出する。
【００７６】
また、ロボット１は、定常的に非言語動作により態度Ｃ３を表出する。また、ロボット１は、ユーザの発話やユーザの態度を検出した結果、決定された状態が退屈感である場合、ユーザから視線を時々そらしたりして非言語動作で退屈感を表出する。また、ユーザから発話Ｃ４が行われ、発話Ｃ４の内容を十分に理解できない場合、ロボット１は、発話Ｃ４に対して、発話と共に首を傾げるなどして不明感を表出する応答Ｃ５を行う。
【００７７】
また、ロボット１は、ユーザの発話やユーザの態度を検出した結果、決定された状態が退屈感である場合、定常的な非言語動作で眠そうな表情などの態度Ｃ６を表出して退屈感を表出する。
【００７８】
このように、本実施例に係るロボット１は、対話対象者の発話に対して理解状態に応じて、定常的に非言語動作で表出する態度を変更する。このため、本実施例に係るロボット１によれば、ロボット１が表出する態度からロボット１が対話に対して理解が高い状態か理解が低い状態か対話対象者が判別できる。
【００７９】
次に、本実施例に係るロボット１により対話を行う処理の流れについて説明する。図９は、実施例１に係る対話処理の手順を示すフローチャートである。この対話処理は、ロボット１に対して対話開始を指示する所定の操作が行われた場合に処理を起動する。例えば、対話処理は、ロボット１の電源がオンされ、所定の初期処理が終了したタイミングで処理を起動する。
【００８０】
図９に示すように、評価算出部１０ｄは、理解度および興味度を初期値として１．０が設定する（ステップＳ１０）。評価算出部１０ｄは、ユーザからの対話の入力が検出されたか否かを判定する（ステップＳ１１）。例えば、評価算出部１０ｄは、発話解析部１０ａによる音声認識の結果、ユーザの発話が検出された場合、音声により対話が入力されたと判定する。また、評価算出部１０ｄは、非言語表現解析部１０ｃによりユーザの表情や動作などが検出された場合、非言語表現により対話が入力されたと判定する。ユーザからの対話の入力が検出されていない場合（ステップＳ１１否定）、ステップＳ１１へ移行してユーザからの対話の入力待ちを行う。ユーザからの対話の入力が検出された場合（ステップＳ１１肯定）、評価算出部１０ｄは、音声認識したユーザの発話内容に含まれる理解できた単語の割合、およびユーザの非言語表現を解析して得られた計測値に基づき、理解度を更新する（ステップＳ１２）。そして、評価算出部１０ｄは、理解度に基づき、興味度を更新する（ステップＳ１３）。状態決定部１０ｅは、対話を継続するか判定する（ステップＳ１４）。例えば、状態決定部１０ｅは、興味度が０である場合、対話を継続できないと判定する。対話を継続できない場合（ステップＳ１４否定）、処理を終了する。対話を継続できる場合（ステップＳ１４肯定）、状態決定部１０ｅは、表出する態度を決定する表出態度決定処理を行う（ステップＳ１５）。応答決定部１０ｆは、会話データ１１ａから応答する発話内容を決定する（ステップＳ１６）。そして、発話による応答を行う応答処理を行い（ステップＳ１７）、再度ステップＳ１１へ移行する。
【００８１】
次に、本実施例に係る表出態度決定処理の流れについて説明する。図１０は、実施例１に係る表出態度決定処理の手順を示すフローチャートである。この表出態度決定処理は、対話処理のステップＳ１５から呼び出されて起動する。
【００８２】
図１０に示すように、状態決定部１０ｅは、興味度が所定の閾値Ｔ１よりも大きいか否かを判定する（ステップＳ３０）。興味度が閾値Ｔ１以下の場合（ステップＳ３０否定）、状態決定部１０ｅは、表出する態度を退屈感と決定する（ステップＳ３１）。一方、興味度が閾値Ｔ１よりも大きい場合（ステップＳ３０肯定）、状態決定部１０ｅは、理解度が所定の閾値Ｔ２よりも大きいか否かを判定する（ステップＳ３２）。状態決定部１０ｅは、理解度が閾値Ｔ２以下の場合（ステップＳ３２否定）、状態決定部１０ｅは、表出する態度を不明感と決定する（ステップＳ３３）。一方、理解度が閾値Ｔ２よりも大きい場合（ステップＳ３２肯定）、状態決定部１０ｅは、表出する態度を傾聴感と決定する（ステップＳ３４）。
【００８３】
次に、本実施例に係る応答処理の流れについて説明する。図１１は、実施例１に係る応答処理の手順を示すフローチャートである。この応答処理は、対話処理のステップＳ１７から呼び出されて起動する。
【００８４】
図１１に示すように、発話応答決定部１０ｇおよび非言語応答決定部１０ｈは、応答を行う際に動作パラメータを決定する（ステップＳ４０）。例えば、発話応答決定部１０ｇは、非言語動作データ１１ｂから態度に対応する音量、声高、発話を決定する。また、非言語応答決定部１０ｈは、頷き動作データ１１ｃから頷き深さ、頷き速さ、頷き遅れを決定する。発話生成部１０ｊは、決定した発話内容の音声を、決定した音量、声高、発話の速さで発生させる音声信号を生成してスピーカ４３へ出力する（ステップＳ４１）。非言語動作指示部１０ｋは、決定した頷き深さ、頷き速さ、頷き遅れで頷き動作を行わせる動作指示をモータ制御部４０へ出力する（ステップＳ４２）。
【００８５】
次に、本実施例に係るロボット１が定常的に態度を表出する定常態度表出処理の流れについて説明する。図１２は、実施例１に係る定常態度表出処理の手順を示すフローチャートである。この定常態度表出処理は、ロボット１に対して対話開始を指示する所定の操作が行われた場合に処理を起動する。例えば、定常態度表出処理は、ロボット１の電源がオンされ、所定の初期処理が終了したタイミングで処理を起動する。
【００８６】
図１２に示すように、定常非言語動作決定部１０ｉは、処理終了を指示する所定操作が行われた否かを判定する（ステップＳ５０）。処理終了を指示する所定操作が行われた場合（ステップＳ５０肯定）、処理を終了する。一方、処理終了を指示する所定操作が行われていない場合（ステップＳ５０否定）、定常非言語動作決定部１０ｉは、一定期間待機を行う（ステップＳ５１）。この一定期間は、仕草により定常的な態度を表出するために適切な期間に定められており、例えば、数百ミリ秒から数秒程度とされている。
【００８７】
定常非言語動作決定部１０ｉは、定常動作頻度データ１１ｄから態度に対応する頷きを行う周期および、視線を合わせる周期を導出する（ステップＳ５２）。非言語動作指示部１０ｋは、頷き動作を行うタイミングであるか否かを判定する（ステップＳ５３）。例えば、非言語動作指示部１０ｋは、前回の頷き動作から頷きを行う周期を経過している場合、頷き動作を行うタイミングであると判定する。頷き動作を行うタイミングでない場合（ステップＳ５３否定）、後述するステップＳ５６へ移行する。一方、頷き動作を行うタイミングである場合（ステップＳ５３肯定）、定常非言語動作決定部１０ｉは、頷き動作の動作パラメータを決定する（ステップＳ５４）。例えば、定常非言語動作決定部１０ｉは、頷き動作データ１１ｃから態度に対応する頷き深さ、頷き速さを決定する。非言語動作指示部１０ｋは、決定された頷き深さ、頷き速さで頷き動作を行わせる動作指示をモータ制御部４０へ出力する（ステップＳ５５）。
【００８８】
次に、非言語動作指示部１０ｋは、ユーザに視線を合わせる動作を行うタイミングであるか否かを判定する（ステップＳ５６）。例えば、非言語動作指示部１０ｋは、前回の視線を合わせる動作から視線を合わせる周期を経過している場合、視線を合わせる動作を行うタイミングであると判定する。視線を合わせる動作を行うタイミングでない場合（ステップＳ５６否定）、後述するステップＳ５８へ移行する。一方、視線を合わせる動作を行うタイミングである場合（ステップＳ５６肯定）、非言語動作指示部１０ｋは、ユーザの方向へ目７あるいは頭２を移動させる動作指示をモータ制御部４０へ出力する（ステップＳ５７）。
【００８９】
次に、非言語動作指示部１０ｋは、仕草などの振舞いを行うタイミングであるか否かを判定する（ステップＳ５８）。例えば、非言語動作指示部１０ｋは、状態決定部１０ｅにより決定される態度が変わったタイミングを振舞いを行うタイミングであると判定する。また、非言語動作指示部１０ｋは、前回仕草を表出してから、所定の期間を経過している場合、振舞いを行うタイミングであると判定する。この所定の期間は、一定の期間としてもよく、所定の範囲内でランダムな期間としてもよい。振舞いを行うタイミングでない場合（ステップＳ５８否定）、ステップＳ５０へ移行する。一方、振舞いを行うタイミングである場合（ステップＳ５８肯定）、非言語動作指示部１０ｋは、仕草などに関する動作パラメータを決定する（ステップＳ５９）。例えば、定常非言語動作決定部１０ｉは、仕草として表情などの表出を行う場合、頷き動作データ１１ｃから動作、表情を決定する。非言語動作指示部１０ｋは、決定された動作、表情の動作を行わせる動作指示をモータ制御部４０へ出力し（ステップＳ６０）、ステップＳ５０へ移行する。
【００９０】
上述してきたように、本実施例に係るロボット１は、対話対象者の発話および動作の少なくとも一方を検出し、検出された発話および動作の少なくとも一方に基づいて、対話対象者との対話に関する評価を算出する。また、本実施例に係るロボット１は、対話対象者に対して仕草により定常的に態度を表出する。そして、本実施例に係るロボット１は、算出された評価が高い状態が続いた場合、表出される態度を対話に対して理解の高い状態へと変更する。また、本実施例に係るロボット１は、算出された評価が低い状態が続いた場合、表出される態度を前記対話に対して理解の低い状態へと変更する。これにより、本実施例に係るロボット１によれば、ロボット１が表出する態度からロボット１が対話に対して理解が高い状態か理解が低い状態か対話対象者が判別できる。これにより、本実施例に係るロボット１によれば、ロボット１が対話に対して理解の低い状態となり発話が不自然な内容となっても、対話対象者が予めロボット１の対話に対する理解が低い状態であると判別できるため、人との対話が不自然になることを抑制できる。
【００９１】
また、本実施例に係るロボット１は、評価として、発話に対する理解度、および当該理解度が高い状態が続いた場合に上昇し、当該理解度が低い状態が続いた場合に低下する興味度を算出する。そして、本実施例に係るロボット１は、理解度および前記興味度に基づいて表出される態度を変更する。これにより、本実施例に係るロボット１によれば、単純にユーザからの一つの発話に対する理解度のみでなく、興味度も用いて態度を変更するため、ユーザとの対話毎に態度が頻繁に変わることを抑制できる。
【００９２】
また、本実施例に係るロボット１は、対話に対する傾聴感、不明感、退屈感を仕草により表出可能とし、評価が低い状態が続いた場合、表出される態度が傾聴感、不明感、退屈感がある態度へ順次変更する。これにより、本実施例に係るロボット１によれば、理解が低い状態が続いた場合に、対話が理解できないことがより表出される態度に段階的に移行するため、対話の違和感を抑制できる。
【００９３】
また、本実施例に係るロボット１は、頷きの深さ、頷きの早さ、頷きのタイミング、頷きの頻度、前記対話対象者に対して視線を合わせるタイミング、視線を合わせる時間、視線を合わせる頻度、表情の何れかにより定常的に態度を表出する。これにより、本実施例に係るロボット１によれば、ユーザがロボット１の状態を判別しやすい。
【実施例２】
【００９４】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００９５】
例えば、上記の実施例では、表出する態度を傾聴感、不明感、退屈感の３段階とした場合について説明したが、開示の装置はこれに限定されない。例えば、表出する態度を２段階あるいは４段階以上としてもよい。また、表出する態度に段階を設けず、除々に変化させるようにしてもよい。
【００９６】
また、上記の実施例では、対話に関する評価として、理解度および興味度を算出する場合について説明したが、開示の装置はこれに限定されない。対話に関する評価を示す値であれば、何れの値を用いてもよい。例えば、理解できた単語の割合や、非言語表現解析部１０ｃによる解析によって得られた計測値を評価として用いてもよい。
【００９７】
また、上記の実施例では、ロボット１により対話装置を実現した場合について説明したが、これに限定されない。例えば、パーソナルコンピュータ（ＰＣ：Personal  Computer）を始めとする固定端末や、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistant）などの移動体端末により対話装置を実現してもよい。例えば、固定端末や移動体端末により対話装置を実現する場合、ディスプレイなどの表示に顔の画像を表示し、顔の画像を変化させて態度を表出すればよい。
【００９８】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、制御部１０の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９９】
［対話プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、上記の実施例と同様の機能を有する対話プログラムを実行し、ディスプレイに顔画像を表示してユーザと対話を行うコンピュータの一例について説明する。
【０１００】
図１３は、対話処理プログラムを実行するコンピュータの一例について説明するための図である。図１３に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、マイク１１０ｄ、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０と有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１０１】
ＨＤＤ１７０には、制御部１０の各処理部と同様の機能を発揮する対話プログラム１７０ａが予め記憶される。この対話プログラム１７０ａについては、実施例１で示した各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【０１０２】
そして、ＣＰＵ１５０が、対話プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図１３に示すように、対話プログラム１７０ａは、対話プロセス１８０ａとして機能する。この対話プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、対話プロセス１８０ａは、制御部１０の各処理部にて実行される処理、例えば図９〜１２に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【０１０３】
なお、上記の対話プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【０１０４】
１    ロボット
２    頭
４Ｒ  右腕
４Ｌ  左腕
５Ｒ  右脚
５Ｌ  左脚
６Ｒ  右耳
６Ｌ  左耳
７    目
７Ａ  まぶた
９    口
１０  制御部
１０ｄ  評価算出部
１０ｅ  状態決定部
４１    カメラ
４２    マイク
４３    スピーカ
【図１】
0005982840.tif 000002
【図２】
0005982840.tif 000003
【図３】
0005982840.tif 000004
【図４】
0005982840.tif 000005
【図５】
0005982840.tif 000006
【図６】
0005982840.tif 000007
【図７】
0005982840.tif 000008
【図８】
0005982840.tif 000009
【図９】
0005982840.tif 000010
【図１０】
0005982840.tif 000011
【図１１】
0005982840.tif 000012
【図１２】
0005982840.tif 000013
【図１３】
0005982840.tif 000014