(57)【要約】【課題】円滑な会話の契機を提供することができる発話タイミング判定装置、ロボット、発話タイミング判定方法及びプログラムを提供する。【解決手段】ロボット１００は、ユーザ情報取得部１１３と、発話タイミング判定部１１６とを備える。ユーザ情報取得部１１３は、所定の対象の情報を取得する。発話タイミング判定部１１６は、ユーザ情報取得部１１３が取得した所定の対象の情報に基づいて、所定の対象に話しかける発話タイミングであるか否かを判定する。【選択図】図２
2019113696.tif 000002
【特許請求の範囲】
【請求項１】
所定の対象の情報を取得する取得手段と、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定手段と、
を備える、
ことを特徴とする発話タイミング判定装置。
【請求項２】
前記所定の対象の情報に基づいて、前記所定の対象の状態を判定する状態判定手段を更に備え、
前記発話タイミング判定手段は、前記状態判定手段による状態判定結果に基づいて、前記所定の対象に話しかける前記発話タイミングであるか否かを判定する、
ことを特徴とする請求項１に記載の発話タイミング判定装置。
【請求項３】
前記発話タイミング判定手段による発話タイミング判定結果に応じて、音声を出力する音声出力手段と、
前記音声出力手段が音声を出力した後に前記取得手段が取得した前記所定の対象の情報に基づいて、前記所定の対象の感情を推定する感情推定手段と、
前記感情推定手段による感情推定結果に基づいて、前記発話タイミングを評価する発話タイミング評価手段と、
を更に備え、
前記発話タイミング判定手段は、前記発話タイミング評価手段による発話タイミング評価結果に基づいて、前記発話タイミングであるか否かを判定する、
ことを特徴とする請求項１又は２に記載の発話タイミング判定装置。
【請求項４】
前記所定の対象の情報は、前記所定の対象の画像を示す画像情報、前記所定の対象の音声を含む音声情報、自装置から前記所定の対象までの距離を示す距離情報を含む、
ことを特徴とする請求項３に記載の発話タイミング判定装置。
【請求項５】
前記所定の対象の状態は、前記所定の対象の姿勢を示す姿勢状態、前記所定の対象の行動を示す行動状態、前記所定の対象が自装置以外と会話中であるか否かを示す会話状態、を含む、
ことを特徴とする請求項４に記載の発話タイミング判定装置。
【請求項６】
前記状態判定手段は、
前記画像情報と前記距離情報とに基づいて、前記姿勢状態を判定し、
前記画像情報に基づいて、前記行動状態を判定する、
ことを特徴とする請求項５に記載の発話タイミング判定装置。
【請求項７】
前記状態判定手段は、前記画像情報と前記音声情報とに基づいて、前記会話状態を判定し、
前記発話タイミング判定手段は、所定の時間内における前記会話状態の累積時間と回数とが、それぞれ、閾値を超えるか否かに基づいて、前記発話タイミングであるか否かを判定する、
ことを特徴とする請求項５又は６に記載の発話タイミング判定装置。
【請求項８】
前記発話タイミング評価手段は、前記発話タイミング評価結果に応じて、前記閾値を変更する、
ことを特徴とする請求項７に記載の発話タイミング判定装置。
【請求項９】
前記取得手段は、前記所定の対象の情報が不十分な場合には、前記所定の対象の情報を更に取得するための情報取得行為を実施する、
ことを特徴とする請求項１乃至８の何れか１項に記載の発話タイミング判定装置。
【請求項１０】
前記所定の対象は人又は動物である、
ことを特徴とする請求項１乃至９の何れか１項に記載の発話タイミング判定装置。
【請求項１１】
請求項１乃至１０の何れか１項に記載の前記発話タイミング判定装置と、
前記発話タイミング判定装置の前記発話タイミング判定手段により、前記所定の対象に話しかける前記発話タイミングであると判定されたときに、前記所定の対象に音声を出力する音声出力装置と、
を備える、
ことを特徴とするロボット。
【請求項１２】
所定の対象の情報を取得する取得ステップと、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定ステップと、
を含む、
ことを特徴とする発話タイミング判定方法。
【請求項１３】
発話タイミング判定装置のコンピュータを、
所定の対象の情報を取得する取得手段、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定手段、
として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話タイミング判定装置、ロボット、発話タイミング判定方法及びプログラムに関する。
【背景技術】
【０００２】
人とコミュニケーションするロボット等の機器の開発が進められている。例えば、特許文献１は、人から発せられた音声を認識し、会話の最中に相槌をするタイミングを判定し、判定結果に応じて相槌音を出力する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−００３０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
人とロボット等の機器との円滑な会話を実現するためには、人に不快感等を与えることなく会話を開始する契機を提供することが必要であるが、特許文献１においては考慮されていない。
【０００５】
本発明は、前述のような事情に鑑みてなされたものであり、円滑な会話の契機を提供することができる発話タイミング判定装置、ロボット、発話タイミング判定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するため、本発明に係る発話タイミング判定装置の一様態は、
所定の対象の情報を取得する取得手段と、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定手段と、
を備える、
ことを特徴とする。
【０００７】
前記目的を達成するため、本発明に係るロボットの一様態は、
前記に記載の前記発話タイミング判定装置と、
前記発話タイミング判定装置の前記発話タイミング判定手段により、前記所定の対象に話しかける前記発話タイミングであると判定されたときに、前記所定の対象に音声を出力する音声出力装置と、
を備える、
ことを特徴とする。
【０００８】
また、前記目的を達成するため、本発明に係る発話タイミング判定方法の一様態は、
所定の対象の情報を取得する取得ステップと、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定ステップと、
を含む、
ことを特徴とする。
【０００９】
また、前記目的を達成するため、本発明に係るプログラムの一様態は、
発話タイミング判定装置のコンピュータを、
所定の対象の情報を取得する取得手段、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定手段、
として機能させる、
ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、円滑な会話の契機を提供することができる発話タイミング判定装置、ロボット、発話タイミング判定方法及びプログラムを提供することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係るロボットの正面図である。
【図２】ロボットの構成を示すブロック図である。
【図３】発話タイミング判定テーブルの一例を示す図である。
【図４】発話タイミング制御処理の流れを示すフローチャートである。
【図５】ユーザ特定処理の流れを示すフローチャートである。
【図６】画像解析処理の流れを示すフローチャートである。
【図７】音声解析処理の流れを示すフローチャートである。
【図８】発話タイミング判定処理の流れを示すフローチャートである。
【図９】感情推定処理の流れを示すフローチャートである。
【図１０】発話タイミング評価処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。以下の実施の形態では、発話タイミング判定装置を備えるロボットを例にして説明する。
【００１３】
実施の形態に係るロボット１００は、所定の対象の状態に応じて適切な発話タイミングで話しかけるロボットである。ここで、所定の対象とは、ロボット１００を利用するユーザであり、典型的には、ロボット１００の所有者や所有者の家族又は友人等である。また、所定の対象には、人以外に、例えばペットとして飼われている動物も含まれる。また、以下の説明において、ユーザに対して会話の契機となる話しかけをするタイミングを「発話タイミング」と称する。また、発話タイミングにおいてロボット１００がユーザに話しかける行為を「発話する」、「話しかける」等と称することがある。
【００１４】
ロボット１００は、図１に示すように、外観的には人を模した立体的な形状を有するロボットである。また、ロボット１００の外装は、合成樹脂を主たる材料として形成されている。ロボット１００は、胴体部１０１と、胴体部１０１の上部に接続する頭部１０２と、胴体部１０１の左右のそれぞれに接続する手部１０３と、胴体部１０１から下部に接続する２本の足部１０４と、を有する。また、頭部１０２は、左右一対の目部１０５、鼻部１０６、口部１０７を有する。なお、図１の上側、下側、左側、右側を、各々、ロボット１００の上側、下側、右側、左側とする。
【００１５】
ロボット１００は、図２に示すように、制御部１１０、記憶部１２０、撮像部１３０、音声入力部１４０、音声出力部１５０、距離検出部１６０を備える。各部は、バスラインＢＬを介して相互に電気的に接続されている。
【００１６】
制御部１１０は、ロボット１００全体の動作を制御する。制御部１１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）を有するコンピュータにより構成される。制御部１１０は、ＣＰＵがＲＯＭに記憶された動作プログラムを読み出してＲＡＭ上で実行することにより、ロボット１００の各部の動作を制御する。
【００１７】
制御部１１０は、動作プログラムを実行することにより、例えば、撮像部１３０から取得した各種データに基づいて、ロボット１００を動作させるための制御信号を生成して各部に送信することにより、ロボット１００の動作を制御する。制御部１１０は、動作プログラムの実行にあたり生成した情報をＲＡＭに一時的に記憶する。ＲＡＭには、例えば、音声入力部１４０を介して取得した音声情報が有効であるか否かを示す有効音声フラグ、音声情報が示す音声がユーザの音声であるか否かを示すユーザ音声フラグ、所定時間内においてユーザが会話した回数を示す会話カウンタ、ユーザの姿勢状態の区分を示すユーザ姿勢情報、ユーザの行動状態の区分を示すユーザ行動情報等を記憶する。
【００１８】
制御部１１０は、機能的には、ユーザ検知部１１１、ユーザ特定部１１２、ユーザ情報取得部１１３、画像解析部１１４、音声解析部１１５、発話タイミング判定部１１６、感情推定部１１７、発話タイミング評価部１１８、計時部１１９を有する。
【００１９】
ユーザ検知部１１１は、ロボット１００の周囲（例えば、半径２ｍ以内）に存在するユーザを検知する。ユーザ検知部１１１は、例えば、後述する撮像部１３０を制御して、ロボット１００の周囲を撮像し、物体の動きや頭、顔等の検出に応じてユーザの存在を検知する。
【００２０】
ユーザ特定部１１２は、ユーザ検知部１１１が検知したユーザを特定する。ユーザ特定部１１２は、例えば、撮像部１３０による撮像画像からユーザの顔を検出してその特徴量を抽出し、後述する記憶部１２０のユーザ情報データベースに登録された、顔の特徴量を示す顔情報と照合して類似度を算出し、所定の基準を満たすか否かに応じてユーザを特定する。特徴量は、ユーザを識別可能な情報であればよく、例えば、目、鼻、口の形状、大きさ、配置等の外観的特徴を数値で示した情報である。以下の説明では、ロボット１００の周囲に存在し、ユーザ検知部１１１により検知され、ユーザ特定部１１２により特定されたユーザを対象ユーザと称する。
【００２１】
ユーザ情報取得部１１３は、対象ユーザの状態を示すユーザ情報を取得する。本実施の形態において、ユーザ情報取得部１１３は、ユーザ情報として、撮像部１３０、音声入力部１４０、距離検出部１６０を介して、画像情報、音声情報、距離情報を取得する。このように、ユーザ情報取得部１１３は、本発明の取得手段として機能する。
【００２２】
画像解析部１１４は、ユーザ情報取得部１１３が取得した画像情報が示す撮像画像を解析し、対象ユーザの現在の状態を判定する。画像解析部１１４は、例えば、画像情報が示す撮像画像における対象ユーザの顔の位置、距離情報が示す対象ユーザとの距離等を参酌して、対象ユーザの姿勢状態を、立っている状態（立位）、座っている状態（座位）、横たわっている状態（臥位）のいずれか、対象ユーザの行動状態を、行動している状態（行動中）、静止している状態（静止中）のいずれかに判定する。このように、画像解析部１１４は、本発明の状態判定手段として機能する。
【００２３】
音声解析部１１５は、音声認識機能を有し、ユーザ情報取得部１１３が取得した音声情報が示す音声を解析し、対象ユーザの現在の状態を判定する。音声解析部１１５は、例えば、対象ユーザから発せられた音声（ユーザ音声）とそれ以外の環境音とを識別する。また、音声解析部１１５は、音声情報が示す音声の内容を文字列に変換し、ユーザ情報データベースに登録された登録音声を参照して音声情報が示す音声が対象ユーザのものであるか否かを判定する。このように、音声解析部１１５は、本発明の状態判定手段として機能する。
【００２４】
発話タイミング判定部１１６は、画像解析部１１４及び音声解析部１１５によって判定された対象ユーザの姿勢状態、行動状態、会話状態等に基づいて、発話タイミングを判定する。
【００２５】
感情推定部１１７は、画像情報、音声情報に基づいて、対象ユーザの表情、向き、発言を推定することにより、ロボット１００の発話に対する対象ユーザの感情を推定する。このように、感情推定部１１７は、本発明の感情推定手段として機能する。本実施の形態において、感情推定部１１７は、対象ユーザの感情をポジティブ（肯定的感情）とネガティブ（否定的感情）との２パターンに推定するが、例えば、喜、怒、哀、楽等の多数パターンに推定してもよい。
【００２６】
発話タイミング評価部１１８は、感情推定部１１７が推定した対象ユーザの感情推定結果に基づき、ロボット１００の発話タイミングを評価する。発話タイミング評価部１１８は、本発明の発話タイミング評価手段として機能する。
【００２７】
計時部１１９は、例えばＣＰＵに付設されたＲＴＣ（Real Time Clock）が計測する現在時刻情報に基づいて、各種の時間を計測する。計時部１１９は、例えば、ロボット１００の周囲に存在するユーザを特定した時点からの経過時間、所定時間内におけるユーザの会話の累積時間（会話累積時間）を計測する。
【００２８】
なお、ユーザ検知部１１１、ユーザ特定部１１２、ユーザ情報取得部１１３、画像解析部１１４、音声解析部１１５、発話タイミング判定部１１６、感情推定部１１７、発話タイミング評価部１１８、計時部１１９は、単一のコンピュータで各機能を実現してもよいし、各々別個のコンピュータによって各機能を実現してもよい。
【００２９】
記憶部１２０は、記憶内容が書き換え可能な不揮発性の半導体メモリ、ハードディスクドライブ等を備え、制御部１１０がロボット１００の各部を制御するために必要な各種データを記憶する。記憶部１２０は、顔情報、音声情報等の各ユーザに関する情報が格納されたユーザ情報データベースを有する。
【００３０】
ユーザ情報データベースは、例えば、図３に示す発話タイミング判定テーブルを記憶する。この発話タイミング判定テーブルは、発話タイミング判定部１１６が発話タイミングを判定する際等に参照するテーブルである。発話タイミング判定テーブルは、ユーザを識別するために予め付与された「ユーザＩＤ」毎に、発話タイミング判定部１１６が発話タイミングを判定した回数を示す「判定回数」と評価ポイントとが対応付けられている。評価ポイントは、ユーザの姿勢状態、行動状態、環境音の各区分において発話が実行された際の対象ユーザの感情毎に示されている。なお、図３に示す発話タイミング判定テーブルにおいて、感情推定部１１７が推定する対象ユーザの感情の区分である、ポジティブ（肯定的感情）を「Ｐ」、ネガティブ（否定的感情）を「Ｎ」と記している。また、行動状態の区分である、行動中を「行動」、静止中を「静止」と記している。
【００３１】
撮像部１３０は、レンズ、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ等の撮像素子を備えるカメラで構成され、ロボット１００の周囲を撮像する。撮像部１３０は、例えば鼻部１０６に設置され、頭部１０２の前方を撮像し、デジタル画像データを生成して出力する。カメラは、レンズが向く方向を変えるように動作可能なモータ駆動の架台（ジンバル等）に取り付けられ、ユーザの顔等を追尾することができるように構成される。
【００３２】
音声入力部１４０は、複数のマイクで構成されるマイクユニット、Ａ／Ｄ（Analog to Digital）変換器等で構成され、例えば頭部１０２に所定間隔で設置された複数のマイクで集音した音声を増幅し、Ａ／Ｄ変換、符号化等の信号処理を施したデジタル音声データ（音声情報）を制御部１１０に出力する。
【００３３】
音声出力部１５０は、スピーカ、Ｄ／Ａ（Digital to Analog）変換器等で構成され、制御部１１０から供給される音声データに復号化、Ｄ／Ａ変換、増幅等の信号処理を施し、アナログ音声信号を例えば口部１０７に設置されたスピーカから出力する。このように、音声出力部１５０は、本発明の音声出力手段として機能する。
【００３４】
ロボット１００は、音声入力部１４０のマイクでユーザの音声を集音し、制御部１１０の制御のもと、ユーザの発話内容に対応する音声を音声出力部１５０のスピーカから出力することにより、ユーザと会話をしてコミュニケーションをとることができる。
【００３５】
距離検出部１６０は、赤外線、超音波、レーザ等を利用する距離センサ、ライトフィールドカメラ等で構成され、ロボット１００からユーザまでの距離を検出する。
【００３６】
次に、図４に示すフローチャートを参照しながら、ロボット１００が実行する発話制御処理について説明する。発話タイミング制御処理は、ユーザ情報に基づいて発話タイミングを制御する処理である。制御部１１０は、ロボット１００の電源が投下されたことにより、発話タイミング制御処理を開始する。
【００３７】
制御部１１０は、発話タイミング制御処理を開始すると、まず、画像情報を取得する（ステップＳ１０１）。制御部１１０は、撮像部１３０を制御して、ロボット１００の周囲を撮像し、撮像部１３０から画像情報を取得する。
【００３８】
次に、制御部１１０は、ロボット１００の周囲にユーザが存在するか否かを判定する（ステップＳ１０２）。制御部１１０は、撮像部１３０から取得した画像情報に基づいて、ユーザ検知部１１１がユーザを検知したか否かに応じて判定する。ロボット１００の周囲にユーザが存在しないと判定した場合（ステップＳ１０２：ＮＯ）、制御部１１０は、ユーザを検知するまで、ステップＳ１０２の処理を繰り返し実行する。
【００３９】
一方、ロボット１００の周囲にユーザが存在すると判定した場合（ステップＳ１０２：ＹＥＳ）、制御部１１０は、ユーザ特定処理を実行する（ステップＳ１０３）。ここで、図５に示すフローチャートを参照して、ユーザ特定処理について説明する。ユーザ特定処理は、ロボット１００の周囲に存在するユーザを特定する処理である。
【００４０】
制御部１１０は、ユーザ特定処理を開始すると、まず、ユーザの顔情報を検出する（ステップＳ２０１）。制御部１１０（ユーザ特定部１１２）は、例えば、撮像部１３０から取得した画像情報が示す撮像画像に含まれる顔画像から特徴量を抽出することにより、ユーザの顔情報を検出する。
【００４１】
続いて、制御部１１０は、検出した顔情報（以下、検出顔情報と称する）に対応する予め登録された顔情報（以下、登録顔情報と称する）を検索する（ステップＳ２０２）。制御部１１０（ユーザ特定部１１２）は、記憶部１２０のユーザ情報データベースを参照し、検出顔情報と登録顔情報とを比較して類似度を算出し、類似度が所定の基準以上である登録顔情報を検索する。
【００４２】
そして、制御部１１０は、検出顔情報に対応する登録顔情報があるか否かを判定する（ステップＳ２０３）。制御部１１０は、ステップＳ２０２において、ユーザ特定部１１２が検出顔情報と類似度とが所定の基準以上の登録顔情報が検索できたか否かに応じて判定する。
【００４３】
検出顔情報に対応する登録顔情報がないと判定した場合（ステップＳ２０３：ＮＯ）、制御部１１０は、対象ユーザに関する情報を取得するための行為（情報取得行為）を実施する（ステップＳ２０４）。制御部１１０は、例えば、ユーザ情報データベースにおいて名前は登録されているが顔情報が登録されていないユーザがある場合、情報取得行為として、音声出力部１５０を制御して、その名前が対象ユーザのものであるかを問いかける音声（「あなたは○○？」等）を出力する。
【００４４】
そして、制御部１１０は、対象ユーザが判明したか否かを判定する（ステップＳ２０５）。制御部１１０は、例えば、情報取得行為の実施によって、ユーザ情報データベースにおいて名前は登録されているが顔情報が登録されていないユーザが、対象ユーザであることが確認できた場合には、対象ユーザが判明したと判定する。検知したユーザが判明していないと判定した場合（ステップＳ２０５：ＮＯ）、制御部１１０は、処理をステップＳ２０４に戻し、更に情報取得行為を実施する。
【００４５】
一方、対象ユーザが判明したと判定した場合（ステップＳ２０５：ＹＥＳ）、制御部１１０は、検出顔情報を対象ユーザの顔情報としてユーザ情報データベースに登録する（ステップＳ２０６）。
【００４６】
ステップＳ２０３において検出顔情報に対応する登録顔情報があると判定した場合（ステップＳ２０３：ＹＥＳ）、又は、ステップＳ２０６の処理を実行した後、制御部１１０は、対象ユーザを特定する（ステップＳ２０７）。制御部１１０は、例えば、ユーザ情報データベースにおいて、検索した登録顔情報に対応付けられたユーザＩＤを取得して、ロボット１００の周囲に存在する対象ユーザを特定する。
【００４７】
制御部１１０は、ステップＳ２０７の処理を実行した後、ユーザ特定処理を終了し、処理を発話タイミング制御処理に戻す。
【００４８】
図４に戻り、ユーザ特定処理（ステップＳ１０３）を実行した後、制御部１１０は、対象ユーザを特定した時点からの経過時間の計測を開始する（ステップＳ１０４）。制御部１１０（計時部１１９）は、ＲＴＣの現在時刻情報に基づいて経過時間を計測する。
【００４９】
続いて、制御部１１０は、音声情報を取得する（ステップＳ１０５）。制御部１１０は、音声入力部１４０を制御して、ロボット１００の周囲の音声を集音することにより、音声情報を取得する。
【００５０】
また、制御部１１０は、距離情報を取得する（ステップＳ１０６）。制御部１１０は、距離検出部１６０を制御して、ロボット１００からユーザまでの距離を検出することにより、距離情報を取得する。
【００５１】
次に、制御部１１０（画像解析部１１４）は、画像解析処理を実行する（ステップＳ１０７）。ここで、図６に示すフローチャートを参照して、画像解析処理について説明する。画像解析処理は、画像情報及び距離情報に基づいてユーザ状態を判定する処理である。
【００５２】
制御部１１０（画像解析部１１４）は、画像解析処理を開始すると、まず、ロボット１００とユーザとの高さ差を算出する（ステップＳ３０１）。制御部１１０（画像解析部１１４）は、例えば、ユーザ特定部１１２が画像情報から検出した顔情報と距離検出部１６０による距離情報とに基づいて、ロボット１００のカメラが内蔵された目部１０５とユーザの目とのそれぞれの高さを算出することにより、両者の高さ差を算出する。
【００５３】
次に、制御部１１０は、姿勢情報の登録数が所定数以上であるか否かを判定する（ステップＳ３０２）。制御部１１０は、記憶部１２０のユーザ情報データベースを参照し、対象ユーザの姿勢情報の登録数に応じて判定する。
【００５４】
姿勢情報の登録数が所定数より少ないと判定した場合（ステップＳ３０２：ＮＯ）、制御部１１０は、対象ユーザの姿勢状態を判定するための情報である姿勢情報の量が不十分であるため、対象ユーザの現在の姿勢状態を取得するための情報取得行為を実施する（ステップＳ３０３）。制御部１１０は、例えば、情報取得行為として、音声出力部１５０を制御して、対象ユーザの姿勢を問いかける音声（「今座っている？」等）を出力する。
【００５５】
そして、制御部１１０は、対象ユーザの姿勢状態が判明したか否かを判定する（ステップＳ３０４）。制御部１１０は、例えば、情報取得行為の実施によって、対象ユーザの姿勢状態を示す情報（例えば、問いかけに対する応答）が取得できたか否かに応じて判定する。対象ユーザの姿勢状態が判明していないと判定した場合（ステップＳ３０４：ＮＯ）、制御部１１０は、処理をステップＳ３０３に戻し、更に情報取得行為を実施する。
【００５６】
一方、対象ユーザの姿勢状態が判明したと判定した場合（ステップＳ３０４：ＹＥＳ）、制御部１１０は、姿勢状態と、ロボット１００とユーザとの高さ差と、を対応付けて、対象ユーザの姿勢情報としてユーザ情報データベースに登録する（ステップＳ３０５）。
【００５７】
ステップＳ３０２において姿勢情報の登録数が所定数以上であると判定した場合（ステップＳ３０２：ＹＥＳ）、又は、ステップＳ３０５の処理を実行した後、制御部１１０は、対象ユーザの現在の姿勢状態を特定する（ステップＳ３０６）。制御部１１０は、ユーザ情報データベース内の姿勢情報において、ステップＳ３０１において算出したロボット１００とユーザとの高さ差に対応付けられた姿勢状態を、対象ユーザの現在の姿勢状態として特定する。
【００５８】
次に、制御部１１０は、対象ユーザの現在の行動状態を特定する（ステップＳ３０７）。制御部１１０は、例えば、ユーザ情報取得部１１３が取得した画像情報が示す撮像画像における顔画像の動きから、対象ユーザの現在の行動状態を、行動中、静止中のいずれかに特定する。制御部１１０は、ステップＳ３０７の処理を実行した後、画像解析処理を終了し、処理を発話タイミング制御処理に戻す。
【００５９】
図４に戻り、画像解析処理（ステップＳ１０７）を実行した後、制御部１１０は、音声解析処理を実行する（ステップＳ１０８）。ここで、図７に示すフローチャートを参照して、音声解析処理について説明する。画像解析処理は、音声情報に基づいてユーザ状態を判定する処理である。
【００６０】
制御部１１０は、音声解析処理を開始すると、まず、ユーザ情報取得部１１３が取得した音声情報が示す音声（以下、入力音声と称する）の音量が所定の音量以上であるか否かを判定する（ステップＳ４０１）。本処理において、音声解析部１１５は、入力音声がその音量の大小に応じて有効な音声であるか無効な音声であるかを判別する。
【００６１】
入力音声の音量が所定の音量以上ではないと判定した場合（ステップＳ４０１：ＮＯ）、制御部１１０は、ＲＡＭに記憶された有効音声フラグをオフにセットし（ステップＳ４０２）、音声解析処理を終了して、処理を発話タイミング制御処理に戻す。
【００６２】
一方、入力音声の音量が所定の音量以上であると判定した場合（ステップＳ４０１：ＹＥＳ）、制御部１１０は、対象ユーザの予め登録された音声情報（以下、登録音声情報と称する）を取得する（ステップＳ４０３）。制御部１１０は、記憶部１２０のユーザ情報データベースから対象ユーザの登録音声情報を読み出して取得する。
【００６３】
次に、制御部１１０は、ステップＳ４０４〜ステップＳ４０６の処理により、入力音声に対象ユーザの音声が含まれるか否かを確認する。まず、制御部１１０は、ユーザの口が動いているか否かを判定する（ステップＳ４０４）。制御部１１０（画像解析部１１４）は、画像情報が示す撮像画像に含まれる顔画像における口部分の動きの有無に基づいて判定する。
【００６４】
ユーザの口が動いていると判定した場合（ステップＳ４０４：ＹＥＳ）、制御部１１０は、入力音声の入力方向（以下、音声入力方向と称する）と対象ユーザの顔の向きとが一致するか否かを判定する（ステップＳ４０５）。制御部１１０は、音声入力部１４０が有する各マイクの集音時間差に基づいて音声入力方向を特定するとともに、画像情報が示す撮像画像に基づいて対象ユーザの顔の向きを特定し、両者の比較結果に応じて判定する。
【００６５】
音声入力方向と対象ユーザの顔の向きとが一致すると判定した場合（ステップＳ４０５：ＹＥＳ）、制御部１１０は、入力音声と登録音声情報とが示す音声（以下、登録音声と称する）とが一致するか否かを判定する（ステップＳ４０６）。制御部１１０は、入力音声と登録音声とのそれぞれの特徴量（周波数分布における音声の強弱のピーク出現位置、周波数の変動の度合い等）を抽出し、両者の特徴量の類似度に応じて判定する。
【００６６】
入力音声と登録音声とが一致すると判定した場合（ステップＳ４０６：ＹＥＳ）、制御部１１０は、ＲＡＭが記憶するユーザ音声フラグをオンにセットし（ステップＳ４０７）、ユーザ情報取得部１１３が取得した音声情報を対象ユーザの登録音声情報としてユーザ情報データベースに追加登録する（ステップＳ４０８）。
【００６７】
次に、制御部１１０は、会話累積時間を計測中であるか否かを判定する（ステップＳ４１０）。制御部１１０は、計時部１１９が会話累積時間を計測しているか否かに応じて判定する。会話累積時間を計測中であると判定した場合（ステップＳ４１０：ＹＥＳ）、制御部１１０は、音声解析処理を終了して、処理を発話タイミング制御処理に戻す。
【００６８】
一方、会話累積時間を計測中ではないと判定した場合（ステップＳ４１０：ＮＯ）、制御部１１０（計時部１１９）は、会話累積時間の計測を開始する（ステップＳ４１１）。また、制御部１１０は、ＲＡＭに記憶された会話カウンタをインクリメントする（ステップＳ４１２）。そして、制御部１１０は、音声解析処理を終了して、処理を発話タイミング制御処理に戻す。
【００６９】
ステップＳ４０４〜ステップＳ４０６のいずれかの処理においてＮＯと判定した場合、制御部１１０は、会話累積時間を計測中であるか否かを判定する（ステップＳ４１３）。会話累積時間を計測中であると判定した場合（ステップＳ４１３：ＹＥＳ）、制御部１１０は、計時部１１９による会話累積時間の計測を停止する（ステップＳ４１４）。そして、制御部１１０は、ＲＡＭが記憶するユーザ音声フラグをオフにセットする（ステップＳ４１５）。ステップＳ４１５の処理を実行した後、または、ステップＳ４１３において会話累積時間を計測中であると判定した場合（ステップＳ４１３：ＮＯ）、制御部１１０は、有効音声フラグをオンにセットし（ステップＳ４１６）、音声解析処理を終了して、処理を発話タイミング制御処理に戻す。
【００７０】
図４に戻り、制御部１１０は、音声解析処理（ステップＳ１０８）を実行した後、ユーザを特定した時点からの経過時間が所定時間以上であるか否かを判定する（ステップＳ１０９）。経過時間が所定時間に達していないと判定した場合（ステップＳ１０９：ＮＯ）、制御部１１０は、処理をステップＳ１０５に戻し、ステップＳ１０５〜Ｓ１０８の処理を再実行する。
【００７１】
一方、経過時間が所定時間に達したと判定した場合（ステップＳ１０９：ＹＥＳ）、制御部１１０は、経過時間の計測を停止し（ステップＳ１１０）、発話タイミング判定処理を実行する（ステップＳ１１１）。ここで、図８に示すフローチャートを参照して、発話タイミング判定処理について説明する。発話タイミング判定処理は、対象ユーザに対して声をかける発話タイミングであるか否かを判定する処理である。
【００７２】
制御部１１０は、発話タイミング判定処理を開始すると、まず、発話タイミングの判定回数が所定回数以上であるか否かを判定する（ステップＳ５０１）。制御部１１０は、対象ユーザのユーザ情報テーブル内の「判定回数」に格納された数値に応じて判定する。発話タイミングの判定回数が所定回数未満であると判定した場合（ステップＳ５０１：ＮＯ）、制御部１１０は、ＲＡＭ内の発話タイミングフラグをオンにセットする（ステップＳ５１０）。これは、対象ユーザの状態に応じた適切な発話タイミングを判定するために必要となる評価データが不足しているため、発話タイミングの判定回数が所定回数以上となるまでは対象ユーザの状態に関わらず話しかけを試みることにより、十分な評価データを収集することを意図する。ステップＳ５１０を実行した後、制御部１１０は、発話タイミング判定処理を終了し、処理を発話タイミング制御処理に戻す。
【００７３】
一方、発話タイミングの判定回数が所定回数以上であると判定した場合（ステップＳ５０１：ＹＥＳ）、制御部１１０は、対象ユーザが会話中であるか否かを判定する（ステップＳ５０２）。制御部１１０は、ＲＡＭ内のユーザ音声フラグがオン状態であるか否かに応じて判定する。
【００７４】
対象ユーザが会話中ではないと判定した場合（ステップＳ５０２：ＮＯ）、制御部１１０は、対象ユーザの現在の姿勢状態が、話しかけると不機嫌になる傾向が高い姿勢状態であるか否かを判定する（ステップＳ５０３）。制御部１１０は、ＲＡＭ内のユーザ姿勢情報と、ユーザ情報データベースの発話タイミング判定テーブルと、を参照し、発話タイミング判定テーブルにおいて、ユーザ姿勢情報が示す対象ユーザの姿勢状態に対応付けられた評価ポイントに応じて判定する。
【００７５】
対象ユーザの現在の姿勢状態が、話しかけると不機嫌になる傾向が高い姿勢状態ではないと判定した場合（ステップＳ５０３：ＮＯ）、制御部１１０は、対象ユーザの現在の行動状態が、話しかけると不機嫌になる傾向が高い行動状態であるか否かを判定する（ステップＳ５０４）。制御部１１０は、ＲＡＭ内のユーザ行動情報と、ユーザ情報データベースの発話タイミング判定テーブルと、を参照し、発話タイミング判定テーブルにおいて、ユーザ行動情報が示す対象ユーザの行動状態に対応付けられた評価ポイントの数値に応じて判定する。
【００７６】
対象ユーザの現在の行動状態が、話しかけると不機嫌になる傾向が高い行動状態ではないと判定した場合（ステップＳ５０４：ＮＯ）、制御部１１０は、現在の環境音が、話しかけると不機嫌になる傾向が高い環境音であるか否かを判定する（ステップＳ５０５）。制御部１１０は、ＲＡＭ内の環境音情報と、ユーザ情報データベースの発話タイミング判定テーブルと、を参照し、発話タイミング判定テーブルにおいて、環境音情報が示す環境音の区分に対応付けられた評価ポイントの数値に応じて判定する。
【００７７】
現在の環境音が、話しかけると不機嫌になる傾向が高い環境音ではないと判定した場合（ステップＳ５０５：ＮＯ）、制御部１１０（発話タイミング判定部１１６）は、ＲＡＭ内の発話タイミングフラグをオンにセットし（ステップＳ５１０）、発話タイミング判定処理を終了し、処理を発話タイミング制御処理に戻す。
【００７８】
ステップＳ５０３〜ステップＳ５０５のいずれかの処理においてＹＥＳと判定した場合、制御部１１０は、ＲＡＭ内の発話タイミングフラグをオフにセットし（ステップＳ５１１）、発話タイミング判定処理を終了し、処理を発話タイミング制御処理に戻す。
【００７９】
ステップＳ５０２において、対象ユーザが会話中であると判定した場合（ステップＳ５０２：ＹＥＳ）、制御部１１０は、対象ユーザの会話累積時間が、対象ユーザの会話累積時間の評価基準である閾値ＴＨｔ以上であるか否かを判定する（ステップＳ５０６）。制御部１１０は、計時部１１９が測定する会話累積時間と閾値ＴＨｔとの比較結果に応じて判定する。
【００８０】
対象ユーザの会話累積時間が閾値ＴＨｔに達したと判定した場合（ステップＳ５０６：ＹＥＳ）、制御部１１０は、対象ユーザの会話回数が、対象ユーザの会話回数の評価基準である閾値ＴＨｆ以上であるか否かを判定する（ステップＳ５０７）。制御部１１０は、ＲＡＭ内の会話カウンタのカウント値と閾値ＴＨｆとの比較結果に応じて判定する。
【００８１】
対象ユーザの会話回数が閾値ＴＨｆ以上であると判定した場合（ステップＳ５０７：ＹＥＳ）、制御部１１０は、ＲＡＭ内の発話タイミングフラグをオフにセットし（ステップＳ５１１）、発話タイミング判定処理を終了し、処理を発話タイミング制御処理に戻す。
【００８２】
ステップＳ５０６又はステップＳ５０７のいずれかの処理においてＮＯと判定した場合、制御部１１０は、対象ユーザの現在の姿勢状態が、話しかけると不機嫌になる傾向が高い姿勢状態であるか否かを判定する（ステップＳ５０８）。制御部１１０は、ステップＳ５０３の処理と同様、ＲＡＭ内のユーザ姿勢情報と、ユーザ情報データベースの発話タイミング判定テーブルと、を参照し、発話タイミング判定テーブルにおいて、ユーザ姿勢情報が示す対象ユーザの姿勢状態に対応付けられた評価ポイントの数値に応じて判定する。
【００８３】
対象ユーザの現在の姿勢状態が、話しかけると不機嫌になる傾向が高い姿勢状態ではないと判定した場合（ステップＳ５０８：ＮＯ）、制御部１１０は、対象ユーザの現在の行動状態が、話しかけると不機嫌になる傾向が高い行動状態であるか否かを判定する（ステップＳ５０９）。制御部１１０は、ステップＳ５０４の処理と同様、ＲＡＭ内のユーザ行動情報と、ユーザ情報データベースの発話タイミング判定テーブルと、を参照し、発話タイミング判定テーブルにおいて、ユーザ行動情報が示す対象ユーザの行動状態に対応付けられた評価ポイントの数値に応じて判定する。
【００８４】
対象ユーザの現在の行動状態が、話しかけると不機嫌になる傾向が高い行動状態ではないと判定した場合（ステップＳ５０９：ＮＯ）、ＲＡＭ内の発話タイミングフラグをオンにセットし（ステップＳ５１０）、発話タイミング判定処理を終了して、処理を発話タイミング制御処理に戻す。
【００８５】
ステップＳ５０８又はステップＳ５０９のいずれかの処理においてＹＥＳと判定した場合、制御部１１０は、ＲＡＭ内の発話タイミングフラグをオフにセットし（ステップＳ５１１）、発話タイミング判定処理を終了し、処理を発話タイミング制御処理に戻す。
【００８６】
図４に戻り、発話タイミング判定処理（ステップＳ１１１）を実行した後、制御部１１０は、対象ユーザに対して話しかけるか否かを判定する（ステップＳ１１２）。制御部１１０は、ＲＡＭ内の発話タイミングフラグのオン／オフ状態に応じて判定する。対象ユーザに対して発話しないと判定した場合（ステップＳ１１２：ＮＯ）、制御部１１０は、発話タイミング制御処理を終了する。
【００８７】
対象ユーザに対して発話すると判定した場合（ステップＳ１１２：ＹＥＳ）、制御部１１０は、対象ユーザに対する発話（声かけ）を実行する（ステップＳ１１３）。制御部１１０は、音声出力部１５０を制御して、発話音声を出力する。
【００８８】
続いて、制御部１１０は、感情推定処理を実行する（ステップＳ１１４）。ここで、図９に示すフローチャートを参照して、感情推定処理について説明する。感情推定処理は、ロボット１００からの発話に対する対象ユーザの感情（以下、対象ユーザ感情と称する）を推定する処理である。
【００８９】
制御部１１０は、感情推定処理を開始すると、まず、対象ユーザの表情から、表情に基づく感情を推定する（ステップＳ６０１）。制御部１１０（感情推定部１１７）は、例えば、画像情報が示す撮像画像に含まれる顔画像における特徴点の変化量等に応じて表情を推定し、推定表情に基づいて、表情に基づく感情としてポジティブ（肯定的感情）とネガティブ（否定的感情）とのいずれかを推定する。制御部１１０（感情推定部１１７）は、例えば、推定表情が微笑む表情であれば、表情に基づく感情をポジティブ（肯定的感情）と推定する。一方、制御部１１０（感情推定部１１７）は、推定表情が困った表情であれば、表情に基づく感情をネガティブ（否定的感情）と推定する。
【００９０】
次に、制御部１１０は、対象ユーザの向きから向きに基づく感情を推定する（ステップＳ６０２）。制御部１１０（感情推定部１１７）は、例えば、画像情報が示す撮像画像における対象ユーザの顔の向きの変化に基づいて、向きに基づく感情としてポジティブ（肯定的感情）とネガティブ（否定的感情）とのいずれかを推定する。制御部１１０（感情推定部１１７）は、例えば、撮像画像においてロボット１００の発話後に対象ユーザの顔がロボット１００に向いたまま変化しない場合には、向きに基づく感情をポジティブ（肯定的感情）と推定する。一方、制御部１１０（感情推定部１１７）は、撮像画像においてロボット１００の発話後に対象ユーザがロボット１００から顔を逸らした場合には、向きに基づく感情をネガティブ（否定的感情）と推定する。
【００９１】
次に、制御部１１０は、対象ユーザの発言から、発言に基づく感情を推定する（ステップＳ６０３）。制御部１１０（感情推定部１１７）は、例えば、ロボット１００の発話後の入力音声に含まれる対象ユーザの音声を認識し、その認識結果に基づいて、発言に基づく感情としてポジティブ（肯定的感情）とネガティブ（否定的感情）とのいずれかを推定する。制御部１１０（感情推定部１１７）は、例えば、対象ユーザの発言がロボット１００の発話に応答するものである場合（ロボット１００の「おはよう」という発話に対して対象ユーザが「おはよう」と返した場合等）には、発言に基づく感情をポジティブ（肯定的感情）と推定する。一方、制御部１１０（感情推定部１１７）は、ロボット１００の発話に対して対象ユーザの発言が否定的なものである場合（ロボット１００の「おはよう」という発話に対して対象ユーザが「うるさい」と返した場合や無言であった場合等）には、音声に基づく感情をネガティブ（否定的感情）と推定する。
【００９２】
ステップＳ６０３の処理を実行した後、制御部１１０は、発言に基づく感情がネガティブ（否定的感情）であるか否かを判定する（ステップＳ６０４）。制御部１１０は、ステップＳ６０３の処理において推定した発言に基づく感情に応じて判定する。
【００９３】
発言に基づく感情がネガティブ（否定的感情）であると判定した場合（ステップＳ６０４：ＹＥＳ）、制御部１１０は、対象ユーザ感情をネガティブ（否定的感情）と推定する（ステップＳ６０７）。そして、制御部１１０は、感情推定処理を終了し、処理を発話タイミング制御処理に戻す。
【００９４】
一方、発言に基づく感情がポジティブ（肯定的感情）であると判定した場合（ステップＳ６０４：ＮＯ）、制御部１１０は、表情に基づく感情がネガティブ（否定的感情）であるか否かを判定する（ステップＳ６０５）。制御部１１０は、ステップＳ６０１の処理において推定した発言に基づく感情に応じて判定する。
【００９５】
表情に基づく感情がネガティブ（否定的感情）であると判定した場合（ステップＳ６０５：ＹＥＳ）、制御部１１０は、向きに基づく感情がネガティブ（否定的感情）であるか否かを判定する（ステップＳ６０６）。向きに基づく感情がネガティブ（否定的感情）であると判定した場合（ステップＳ６０６：ＹＥＳ）、制御部１１０は、対象ユーザ感情をネガティブ（否定的感情）と推定し（ステップＳ６０７）、感情推定処理を終了して、処理を発話タイミング制御処理に戻す。
【００９６】
ステップＳ６０５又はステップＳ６０６においてＮＯと判定した場合、制御部１１０は、対象ユーザ感情をポジティブ（肯定的感情）と推定し（ステップＳ６０８）する。そして、制御部１１０は、感情推定処理を終了して、処理を発話タイミング制御処理に戻す。
【００９７】
図４に戻り、感情推定処理（ステップＳ１１４）を実行した後、制御部１１０は、発話タイミング評価処理を実行する（ステップＳ１１５）。ここで、図１０に示すフローチャートを参照して、発話タイミング評価処理について説明する。発話タイミング評価処理は、ロボット１００の対象ユーザに対する発話タイミングを評価し、発話タイミング評価結果を以降の発話タイミングに反映する処理である。
【００９８】
制御部１１０は、発話タイミング評価処理を開始すると、まず、今回のロボット１００の発話に対する対象ユーザ感情がネガティブ（否定的感情）であるか否かを判定する（ステップＳ７０１）。制御部１１０（発話タイミング評価部１１８）は、感情推定処理において推定した対象ユーザ感情に応じて判定する。
【００９９】
対象ユーザ感情がポジティブ（肯定的感情）であると判定した場合（ステップＳ７０１：ＮＯ）、制御部１１０は、今回ロボット１００が発話した際の対象ユーザの姿勢状態に、対象ユーザ感情がポジティブ（肯定的感情）であったことを反映する（ステップＳ７０２）。具体的には、制御部１１０（発話タイミング評価部１１８）は、発話タイミング判定テーブルにおいて、今回ロボット１００が発話した際の対象ユーザの姿勢状態の「Ｐ」の評価ポイントに発話適正ポイントとして一定ポイント（例えば、１ポイント）加算する。これによりポジティブなユーザ感情が得られた対象ユーザの姿勢状態において、次回ロボット１００が対象ユーザに発話する確率を高めることができる。
【０１００】
次に、制御部１１０は、今回ロボット１００が発話した際の対象ユーザの行動状態に、対象ユーザ感情がポジティブ（肯定的感情）であったことを反映する（ステップＳ７０３）。具体的には、制御部１１０（発話タイミング評価部１１８）は、発話タイミング判定テーブルにおいて、今回ロボット１００が発話した際の対象ユーザの行動状態の「Ｐ」の評価ポイントに発話適正ポイントとして一定ポイント（例えば、１ポイント）加算する。これにより、ポジティブなユーザ感情が得られた対象ユーザの行動状態において、次回ロボット１００が対象ユーザに発話する確率を高めることができる。
【０１０１】
次に、制御部１１０は、今回ロボット１００が発話した際の対象ユーザの環境音に、対象ユーザ感情がポジティブ（肯定的感情）であったことを反映する（ステップＳ７０４）。具体的には、制御部１１０（発話タイミング評価部１１８）は、発話タイミング判定テーブルにおいて、今回ロボット１００が発話した際の環境音の「Ｐ」の評価ポイントに発話適正ポイントとして一定ポイント（例えば、１ポイント）加算する。これにより、ポジティブなユーザ感情が得られた環境音において、次回ロボット１００が対象ユーザに発話する確率を高めることができる。
【０１０２】
続いて、制御部１１０は、会話累積時間が閾値ＴＨｔ未満であるか否かを判定する（ステップＳ７０５）。制御部１１０は、計時部１１９が計測した会話累積時間と閾値ＴＨｔとの比較結果に応じて判定する。
【０１０３】
会話累積時間が閾値ＴＨｔ未満であると判定した場合（ステップＳ７０５：ＹＥＳ）、制御部１１０は、会話回数が閾値ＴＨｆ未満であるか否かを判定する（ステップＳ７０６）。制御部１１０は、ＲＡＭ内の会話カウンタのカウント値と閾値ＴＨｔとの比較結果に応じて判定する。
【０１０４】
会話回数が閾値ＴＨｆ未満であると判定した場合（ステップＳ７０６：ＹＥＳ）、制御部１１０は、閾値ＴＨｔを一定時間減少し（ステップＳ７０７）、閾値ＴＨｔを一定回数減少する（ステップＳ７０８）。ポジティブなユーザ感情が得られたことに応じて、閾値ＴＨｔ及び閾値ＴＨｆをともに減少させることにより、発話タイミング判定処理において、所定時間内に対象ユーザに対する発話を実行する確率を高めることができる（図８のステップＳ５０６，ステップＳ５０７参照）。
【０１０５】
ステップＳ７０５又はステップＳ７０６のいずれかにおいてＮＯと判定した場合、制御部１１０は、発話タイミング評価処理を終了し、処理を発話タイミング制御処理に戻す。
【０１０６】
ステップＳ７０１において、対象ユーザ感情がネガティブ（否定的感情）であると判定した場合（ステップＳ７０１：ＹＥＳ）、制御部１１０は、会話累積時間が閾値ＴＨｔ以上であるか否かを判定する（ステップＳ７０９）。制御部１１０は、計時部１１９が計測した会話累積時間と閾値ＴＨｔとの比較結果に応じて判定する。会話累積時間が閾値ＴＨｔ未満であると判定した場合（ステップＳ７０９：ＮＯ）、制御部１１０は、処理をステップＳ７１１に進める。
【０１０７】
会話累積時間が閾値ＴＨｔ以上であると判定した場合（ステップＳ７０９：ＹＥＳ）、制御部１１０は、閾値ＴＨｔを一定時間増加する（ステップＳ７１０）。これにより、所定時間内に対象ユーザに対する発話を実行する確率を下げることができる。
【０１０８】
次に、会話回数が閾値ＴＨｆ以上であるか否かを判定する（ステップＳ７１１）。制御部１１０は、ＲＡＭ内の会話カウンタのカウント値と閾値ＴＨｔとの比較結果に応じて判定する。会話回数が閾値ＴＨｆ未満であると判定した場合（ステップＳ７１１：ＮＯ）、制御部１１０は、発話タイミング評価処理を終了し、処理を発話タイミング制御処理に戻す。
【０１０９】
会話回数が閾値ＴＨｆ以上であると判定した場合（ステップＳ７１１：ＹＥＳ）、制御部１１０は、閾値ＴＨｆを一定回数増加する（ステップＳ７１２）。これにより、ステップＳ７１０の場合と同様、所定時間内に対象ユーザに対する発話を実行する確率を下げることができる。
【０１１０】
ステップＳ７０８又はステップＳ７１２の処理を実行した後、制御部１１０は、発話タイミング評価処理を終了し、処理を発話タイミング制御処理に戻す。
【０１１１】
図４に戻り、発話タイミング評価処理（ステップＳ１１５）を実行した後、制御部１１０は、発話タイミング制御処理を終了する。
【０１１２】
以上に説明したように、本実施の形態によれば、ロボット１００は、画像情報、音声情報、距離情報に基づいて、対象ユーザの姿勢状態、行動状態、会話状態を判定し、この状態判定結果に応じて発話タイミングを判定し、発話タイミング判定結果に応じて対象ユーザに対して発話音声を出力する。これにより、ロボット１００は、対象ユーザに対して適切なタイミングで話しかけることができ、円滑な会話の契機を提供することができる。
【０１１３】
また、ロボット１００は、ロボット１００の発話に対する対象ユーザの感情を推定して発話タイミングの評価を行い、その評価結果を以降の発話タイミングの判定に反映させる。これにより、ロボット１００は、対象ユーザに対する発話を実行する度に、より適切な発話タイミングを判定することができ、更に円滑な会話の契機を提供することができる。
【０１１４】
なお、本発明は、前記の実施の形態に限定されず、種々の変形及び応用が可能である。前記の実施の形態は、次のように変形されてもよい。
【０１１５】
例えば、ロボット１００は、画像情報、音声情報、距離情報に基づいて、対象ユーザの姿勢状態、行動状態、会話状態を判定して対象ユーザに対して発話音声を出力するように構成してもよい。また、ロボット１００は、画像情報、音声情報、距離情報に基づいて、これらの情報と対象ユーザの状態とが対応付けられた情報状態対応テーブル等を参照することで、対象ユーザの姿勢状態、行動状態、会話状態を判定して対象ユーザに対して発話音声を出力するように構成してもよい。
【０１１６】
例えば、ロボット１００は、外部機器と無線通信を行うための無線通信モジュール及びアンテナを備え、ネットワークを介して、外部機器に画像情報、音声情報等を供給し、供給した情報に基づいて生成された制御信号を外部機器から取得することにより、ユーザに対する発話を実行するように構成してもよい。
【０１１７】
前記の実施の形態では、発話タイミング判定装置としてロボットを例にして説明したが、本発明はロボットに限定されない。例えば、電子機器であって、電子機器の周囲に存在するユーザに関するユーザ情報（画像情報、音声情報、距離情報等）を取得し、このユーザ情報に基づいてユーザの状態を判定することにより、発話タイミングを判定してもよい。
【０１１８】
前記の実施の形態において、制御部１１０のＣＰＵが実行する動作プログラムは、あらかじめＲＯＭ等に記憶されていた。しかしながら、本発明は、これに限定されず、前記の各種処理を実行させるための動作プログラムを、既存の汎用コンピュータや、フレームワーク、ワークステーション等の電子機器に実装することにより、前記の実施の形態に係るロボットに相当する装置として機能させてもよい。
【０１１９】
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体（フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ）等に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【０１２０】
また、前記の処理をＯＳ（Operating System）とアプリケーションプログラムとの分担、又は、ＯＳとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板（Bulletin Board System：BBS）に前記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、配信されたプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【０１２１】
本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、前述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及び特許請求の範囲と同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【０１２２】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１２３】
（付記）
（付記１）
所定の対象の情報を取得する取得手段と、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定手段と、
を備える、
ことを特徴とする発話タイミング判定装置。
【０１２４】
（付記２）
前記所定の対象の情報に基づいて、前記所定の対象の状態を判定する状態判定手段を更に備え、
前記発話タイミング判定手段は、前記状態判定手段による状態判定結果に基づいて、前記所定の対象に話しかける前記発話タイミングであるか否かを判定する、
ことを特徴とする付記１に記載の発話タイミング判定装置。
【０１２５】
（付記３）
前記発話タイミング判定手段による発話タイミング判定結果に応じて、音声を出力する音声出力手段と、
前記音声出力手段が音声を出力した後に前記取得手段が取得した前記所定の対象の情報に基づいて、前記所定の対象の感情を推定する感情推定手段と、
前記感情推定手段による感情推定結果に基づいて、前記発話タイミングを評価する発話タイミング評価手段と、
を更に備え、
前記発話タイミング判定手段は、前記発話タイミング評価手段による発話タイミング評価結果に基づいて、前記発話タイミングであるか否かを判定する、
ことを特徴とする付記１又は２に記載の発話タイミング判定装置。
【０１２６】
（付記４）
前記所定の対象の情報は、前記所定の対象の画像を示す画像情報、前記所定の対象の音声を含む音声情報、自装置から前記所定の対象までの距離を示す距離情報を含む、
ことを特徴とする付記３に記載の発話タイミング判定装置。
【０１２７】
（付記５）
前記所定の対象の状態は、前記所定の対象の姿勢を示す姿勢状態、前記所定の対象の行動を示す行動状態、前記所定の対象が自装置以外と会話中であるか否かを示す会話状態、を含む、
ことを特徴とする付記４に記載の発話タイミング判定装置。
【０１２８】
（付記６）
前記状態判定手段は、
前記画像情報と前記距離情報とに基づいて、前記姿勢状態を判定し、
前記画像情報に基づいて、前記行動状態を判定する、
ことを特徴とする付記５に記載の発話タイミング判定装置。
【０１２９】
（付記７）
前記状態判定手段は、前記画像情報と前記音声情報とに基づいて、前記会話状態を判定し、
前記発話タイミング判定手段は、所定の時間内における前記会話状態の累積時間と回数とが、それぞれ、閾値を超えるか否かに基づいて、前記発話タイミングであるか否かを判定する、
ことを特徴とする付記５又は６に記載の発話タイミング判定装置。
【０１３０】
（付記８）
前記発話タイミング評価手段は、前記発話タイミング評価結果に応じて、前記閾値を変更する、
ことを特徴とする付記７に記載の発話タイミング判定装置。
【０１３１】
（付記９）
前記取得手段は、前記所定の対象の情報が不十分な場合には、前記所定の対象の情報を更に取得するための情報取得行為を実施する、
ことを特徴とする付記１乃至８の何れか１つに記載の発話タイミング判定装置。
【０１３２】
（付記１０）
前記所定の対象は人又は動物である、
ことを特徴とする付記１乃至９の何れか１つに記載の発話タイミング判定装置。
【０１３３】
（付記１１）
付記１乃至１０の何れか１つに記載の前記発話タイミング判定装置と、
前記発話タイミング判定装置の前記発話タイミング判定手段により、前記所定の対象に話しかける前記発話タイミングであると判定されたときに、前記所定の対象に音声を出力する音声出力装置と、
を備える、
ことを特徴とするロボット。
【０１３４】
（付記１２）
所定の対象の情報を取得する取得ステップと、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定ステップと、
を含む、
ことを特徴とする発話タイミング判定方法。
【０１３５】
（付記１３）
発話タイミング判定装置のコンピュータを、
所定の対象の情報を取得する取得手段、
前記所定の対象の情報に基づいて前記所定の対象に話しかける発話タイミングであるか否かを判定する発話タイミング判定手段、
として機能させる、
ことを特徴とするプログラム。
【符号の説明】
【０１３６】
１００…ロボット、１０１…胴体部、１０２…頭部、１０３…手部、１０４…足部、１０５…目部、１０６…鼻部、１０７…口部、１１０…制御部、１１１…ユーザ検知部、１１２…ユーザ特定部、１１３…ユーザ情報取得部、１１４…画像解析部、１１５…音声解析部、１１６…発話タイミング判定部、１１７…感情推定部、１１８…発話タイミング評価部、１１９…計時部、１２０…記憶部、１３０…撮像部、１４０…音声入力部、１５０…音声出力部、１６０…距離検出部、ＢＬ…バスライン
【図１】
2019113696.tif 000003
【図２】
2019113696.tif 000004
【図３】
2019113696.tif 000005
【図４】
2019113696.tif 000006
【図５】
2019113696.tif 000007
【図６】
2019113696.tif 000008
【図７】
2019113696.tif 000009
【図８】
2019113696.tif 000010
【図９】
2019113696.tif 000011
【図１０】
2019113696.tif 000012