(57)【要約】【課題】人間の行う確認動作を行うように対話装置を制御し、対話装置の誤った応答を低減することができる対話制御装置等を提供する。【解決手段】対話制御装置は、(i)対話装置側から対話の契機となる音声を出力して対話を開始する話しかけシナリオ、(ii)利用者側からの発話に対して応答する応答シナリオ、及び、(iii)利用者に対して対話を開始するか否かを確認する確認シナリオを記憶するシナリオ記憶部と、対話装置側から対話の契機となる音声を出力して対話を開始すべきであるか否かを示す話しかけ開始指標Sと、ある音声に対して応答すべきであるか否かを示す応答開始指標Rとを入力とし、J及びKをそれぞれ1以上の整数の何れかとし、話しかけ開始指標SとJ個の閾値との大小関係、及び、応答開始指標RとK個の閾値との大小関係とに基づき、話しかけシナリオ、応答シナリオ、または、確認シナリオを選択するシナリオ選択部を含む。【選択図】図２
2018087847.tif 000002
【特許請求の範囲】
【請求項１】
(i)対話装置側から対話の契機となる音声を出力して対話を開始する話しかけシナリオ、(ii)利用者側からの発話に対して応答する応答シナリオ、及び、(iii)利用者に対して対話を開始するか否かを確認する確認シナリオを記憶するシナリオ記憶部と、
対話装置側から対話の契機となる音声を出力して対話を開始すべきであるか否かを示す話しかけ開始指標Sと、ある音声に対して応答すべきであるか否かを示す応答開始指標Rとを入力とし、J及びKをそれぞれ1以上の整数の何れかとし、前記話しかけ開始指標SとJ個の閾値Ths,1,Ths,2,…,Ths,Jとの大小関係、及び、前記応答開始指標RとK個の閾値Thr,1,Thr,2,…,Thr,Kとの大小関係とに基づき、前記話しかけシナリオ、前記応答シナリオ、または、前記確認シナリオを選択するシナリオ選択部を含む、
対話制御装置。
【請求項２】
請求項１の対話制御装置であって、
前記シナリオ選択部は、(I)待ち受け状態、(II)前記確認シナリオを実行後の状態である確認状態、(III)前記話しかけシナリオまたは前記応答シナリオを実行後の状態である対話状態の何れかの状態に遷移し、前記待ち受け状態、前記確認状態、前記対話状態の何れかの状態に応じて、前記話しかけシナリオ、前記応答シナリオ、または、前記確認シナリオを選択する際の選択基準を変更する、
対話制御装置。
【請求項３】
請求項１または請求項２の対話制御装置であって、
マイクロホンの出力信号及び人感センサの出力信号のうちの少なくとも１つの出力信号とイメージセンサの出力信号とに基づき、前記話しかけ開始指標を計算する話しかけ開始指標計算部を含み、
前記話しかけ開始指標計算部は、前記イメージセンサの出力信号を用いて得られる顔の方向を示す検出結果及び顔の大きさを示す検出結果の少なくとも何れかを用いて、前記話しかけ開始指標を計算する、
対話制御装置。
【請求項４】
請求項１から請求項３の何れかの対話制御装置であって、
イメージセンサ及び人感センサの出力信号のうちの少なくとも１つの出力信号とマイクロホンの出力信号とに基づき、前記応答開始指標を計算する応答開始指標計算部を含み、
前記応答開始指標計算部は、前記マイクロホンの出力信号を用いて得られる音声認識結果を用いて応答開始指標を計算する、
対話制御装置。
【請求項５】
シナリオ記憶部には、(i)対話装置側から対話の契機となる音声を出力して対話を開始する話しかけシナリオ、(ii)利用者側からの発話に対して応答する応答シナリオ、及び、(iii)利用者に対して対話を開始するか否かを確認する確認シナリオが記憶されるものとし、
シナリオ選択部が、対話装置側から対話の契機となる音声を出力して対話を開始すべきであるか否かを示す話しかけ開始指標Sと、ある音声に対して応答すべきであるか否かを示す応答開始指標Rとを入力とし、J及びKをそれぞれ1以上の整数の何れかとし、前記話しかけ開始指標SとJ個の閾値Ths,1,Ths,2,…,Ths,Jとの大小関係、及び、前記応答開始指標RとK個の閾値Thr,1,Thr,2,…,Thr,Kとの大小関係とに基づき、前記話しかけシナリオ、前記応答シナリオ、または、前記確認シナリオを選択するシナリオ選択ステップを含む、
対話制御方法。
【請求項６】
請求項５の対話制御方法であって、
話しかけ開始指標計算部が、マイクロホンの出力信号及び人感センサの出力信号のうちの少なくとも１つの出力信号とイメージセンサの出力信号とに基づき、前記話しかけ開始指標を計算する話しかけ開始指標計算ステップを含み、
前記話しかけ開始指標計算ステップは、前記イメージセンサの出力信号を用いて得られる顔の方向を示す検出結果及び顔の大きさを示す検出結果の少なくとも何れかを用いて、前記話しかけ開始指標を計算する、
対話制御方法。
【請求項７】
請求項５または請求項６の対話制御方法であって、
応答開始指標計算部が、イメージセンサ及び人感センサの出力信号のうちの少なくとも１つの出力信号とマイクロホンの出力信号とに基づき、前記応答開始指標を計算する応答開始指標計算ステップを含み、
前記応答開始指標計算ステップは、前記マイクロホンの出力信号を用いて得られる音声認識結果を用いて応答開始指標を計算する、
対話制御方法。
【請求項８】
請求項１から請求項４の対話制御装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話型ロボットや音声リモコン等のコンピュータによる対話技術に関する。
【背景技術】
【０００２】
コンピュータによる対話技術の従来技術として特許文献１が知られている。図１は特許文献１の対話装置の機能ブロック図を示す。応答部９３によって、ユーザ発話の入力文字列に対して、単語列を取得すると共に、抽象化された文字列を取得する。次に、単語パターンデータベース９１又は抽象化パターンデータベース９２に記憶された単語パターン又は抽象化パターンから、取得した単語列と一致すると判断される単語パターン又は抽象化パターンを検索する。一致すると判断される単語パターン又は抽象化パターンが検索されると、応答部９３は、検索された単語パターン又は抽象化パターンの後の発話データの単語列を用いて応答する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−４６１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、応答をするかしないかの選択しかない。そのため、何らかの音声に対して応答すべきか否かが不確かな場合であっても、全く応答しないか、不確かな情報に基づき応答するかしか選択できない。そのため、誤った応答となってしまう可能性が高い。人間が話しかけに応答する場合、自分に対する話しかけかどうかがあやふやな場合には、質問で聞き返したり、そちらのほうを向いて自分への話しかけであるかを確認したりする。
【０００５】
本発明は、人間の行う上述のような確認動作を行うように対話装置を制御し、対話装置の誤った応答を低減することができる対話制御装置、その方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様によれば、対話制御装置は、(i)対話装置側から対話の契機となる音声を出力して対話を開始する話しかけシナリオ、(ii)利用者側からの発話に対して応答する応答シナリオ、及び、(iii)利用者に対して対話を開始するか否かを確認する確認シナリオを記憶するシナリオ記憶部と、対話装置側から対話の契機となる音声を出力して対話を開始すべきであるか否かを示す話しかけ開始指標Sと、ある音声に対して応答すべきであるか否かを示す応答開始指標Rとを入力とし、J及びKをそれぞれ1以上の整数の何れかとし、話しかけ開始指標SとJ個の閾値Ths,1,Ths,2,…,Ths,Jとの大小関係、及び、応答開始指標RとK個の閾値Thr,1,Thr,2,…,Thr,Kとの大小関係とに基づき、話しかけシナリオ、応答シナリオ、または、確認シナリオを選択するシナリオ選択部を含む。
【０００７】
上記の課題を解決するために、本発明の他の態様によれば、対話制御方法は、シナリオ記憶部には、(i)対話装置側から対話の契機となる音声を出力して対話を開始する話しかけシナリオ、(ii)利用者側からの発話に対して応答する応答シナリオ、及び、(iii)利用者に対して対話を開始するか否かを確認する確認シナリオが記憶されるものとし、シナリオ選択部が、対話装置側から対話の契機となる音声を出力して対話を開始すべきであるか否かを示す話しかけ開始指標Sと、ある音声に対して応答すべきであるか否かを示す応答開始指標Rとを入力とし、J及びKをそれぞれ1以上の整数の何れかとし、話しかけ開始指標SとJ個の閾値Ths,1,Ths,2,…,Ths,Jとの大小関係、及び、応答開始指標RとK個の閾値Thr,1,Thr,2,…,Thr,Kとの大小関係とに基づき、話しかけシナリオ、応答シナリオ、または、確認シナリオを選択するシナリオ選択ステップを含む。
【発明の効果】
【０００８】
本発明によれば、誤った応答を低減することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】従来技術に係る対話装置の機能ブロック図。
【図２】第一実施形態に係る対話制御装置の機能ブロック図。
【図３】第一実施形態に係る対話制御装置の処理フローの例を示す図。
【図４】応答決定部の機能ブロック図。
【図５】シナリオの選択基準を説明するための図。
【図６】シナリオの選択基準を説明するための図。
【図７】シナリオ選択部の状態遷移図。
【図８】開始指標計算部の機能ブロック図。
【図９】開始指標計算部の処理フローの例を示す図。
【図１０】カメラから見た顔の方向を示す検出結果と音源方向の推定結果との差分と閾値との関係を示す図。
【図１１】時間補正部の機能ブロック図。
【図１２】時間補正部の処理例を説明するための図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
【００１１】
＜第一実施形態＞
図２は第一実施形態に係る対話制御装置１００の機能ブロック図を、図３はその処理フローを示す。
【００１２】
この対話制御装置１００は、CPUと、RAMと、以下の処理を実行するためのプログラムを記録したROMを備えたコンピュータで構成され、機能的には次に示すように構成されている。対話制御装置１００は、開始指標計算部１１０と対応決定部１２０とを含む。
【００１３】
対話制御装置１００は、マイクロホンアレイ６１の出力信号x(t0)に基づくデータと、カメラ７１のイメージセンサの出力信号y(u)に基づくデータと、人感センサ８１の出力信号I7(t7)とを入力とし、図示しない対話装置を動作させるための制御信号z(t8)を出力する。制御信号z(t8)は、対話装置に実行させる動作に応じて適宜変更すればよい。例えば、(i)対話装置が音声による対話を行うのであれば、発話に対応する再生信号を制御信号z(t8)として出力し、対話装置のスピーカで再生すればよいし、(ii)対話装置が非言語コミュニケーション(例えば、身ぶり)により意思表示を行うのであれば、非言語コミュニケーションに対応する駆動信号を制御信号z(t8)として出力し、対話装置のモータなどを駆動させ機械的動作により所望の非言語コミュニケーションを行えばよいし、(iii)対話制御装置１００が文字やイラスト、所定の意味を持つ光信号により対話を行うのであれば、発話に対応する画像データ、動画データ、LEDの点滅をさせる信号を制御信号z(t8)として出力し、対話装置のディスプレイやLED等で再生し、文字やイラスト、光信号等を使って対話を実現する。
【００１４】
なお、t0,u,t7はそれぞれマイクロホンアレイ６１、カメラ７１のイメージセンサ、人感センサ８１のサンプル番号またはサンプル番号に対応する時刻を示す。それぞれのサンプリング周期は必ずしも一致しないため、異なるサンプル番号を使って表す。またt8は出力信号の番号を示す。
【００１５】
＜マイクロホンアレイ６１の出力信号x(t0)に基づくデータ＞
例えば、マイクロホンアレイ６１は、N個のマイクロホンからなり、出力信号x(t0)はx1(t0),x2(t0),…,xN(t0)を含む。例えば、x(t0)={x1(t0),x2(t0),…,xN(t0)}である。Nは1以上の整数の何れかである。
【００１６】
発音検出部６２は、出力信号x(t0)を入力とし、出力信号x(t0)に含まれる人間の発音を検出し、発音の検出結果I1(t0)を出力する。例えば、サンプル時刻t0において発音がある場合I1(t0)=1であり、発音がない場合I1(t0)=0である。発音検出の方法は既存のいかなる発音検出技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００１７】
音源方向推定部６３は、出力信号x(t0)を入力とし、音源方向を推定し、推定結果xD(t0)を出力する。音源方向推定の方法は既存のいかなる音源方向推定技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、特開２０１０−１７５４３１号公報記載の技術により実現する。
【００１８】
音レベル推定部６４は、出力信号x(t0)を入力とし、出力信号x(t0)に含まれる音声のレベルを推定し、推定結果xL(t0)を出力する。音声レベル推定の方法は既存のいかなる音声レベル推定技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００１９】
音声認識部６５は、出力信号x(t0)に対して、音声認識を行い、その結果xR(t4)を出力する。音声認識の方法は既存のいかなる音声認識技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、特開２０１５−１６９５号公報記載の技術により実現する。なお、t4は、音声認識結果の番号を示す。例えば、1つの発話に対する時系列の出力信号x(t0)(複数個)を入力とし、その発話に対する音声認識結果xR(t4)を1つ出力する。なお、本実施形態では、音声認識部６５は、音声信号である出力信号x(t0)を入力とし、形態素解析され、単語化された文字列を出力する。そのため、対話制御装置１００は、単語化された文字列が入力されるものとする。
【００２０】
よって、マイクロホンアレイ６１の出力信号x(t0)に基づくデータは、例えば、発音の検出結果I1(t0)、音源方向の推定結果xD(t0)、音声のレベルの推定結果xL(t0)、音声認識結果xR(t4)を含む。
【００２１】
なお、本実施形態では、マイクロホンアレイ６１のサンプリング周期と、発音の検出結果I1(t0)、音源方向の推定結果xD(t0)及び音声のレベルの推定結果xL(t0)との出力の周期とを同一としているが、処理方法に応じてそれぞれ別の周期で出力してもよい。その場合には、ある出力（例えば音声認識結果xR(t4)）を基準として、その出力に対して直近の他の出力を用いる構成とすればよい。
【００２２】
＜カメラ７１のイメージセンサの出力信号y(u)に基づくデータ＞
顔検出部７２は、イメージセンサの出力信号y(u)を入力とし、出力信号y(u)に対応する画像に含まれる顔がカメラ７１から見てどの方向にあるかを求め、求めた方向を検出結果yD(u)として出力する。
【００２３】
顔検出部７３は、イメージセンサの出力信号y(u)を入力とし、出力信号y(u)に対応する画像に含まれる顔の大きさを求め、求めた大きさを検出結果yS(u)として出力する。顔検出の方法は既存のいかなる顔検出技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００２４】
よって、カメラ７１のイメージセンサの出力信号y(u)に基づくデータは、例えば、カメラから見た顔の方向を示す検出結果yD(u)、顔の大きさを示す検出結果yS(u)を含む。
【００２５】
なお、本実施形態では、カメラ７１のイメージセンサのサンプリング周期と、検出結果yD(u)及び検出結果yS(u)との出力の周期とを同一としているが、処理方法に応じてそれぞれ別の周期で出力してもよい。その場合には、何れかの出力を基準として、その出力に対して直近の他の出力を用いる構成とすればよい。
【００２６】
＜人感センサ８１＞
人感センサ８１は、例えば、赤外線、超音波、可視光などを用いたセンサであり、人の所在を検知し、検知結果を出力信号I7(t7)として出力する。例えば、サンプル時刻t7において人感センサ８１の感知しうる範囲に人が存在する場合I7(t7)=1であり、人が存在しないI7(t7)=0である。
【００２７】
＜開始指標計算部１１０＞
開始指標計算部１１０は、発音の検出結果I1(t0)、音源方向の推定結果xD(t0)、音声のレベルの推定結果xL(t0)、音声認識結果xR(t4)、顔の方向を示す検出結果yD(u)、顔の大きさを示す検出結果yS(u)、人感センサ８１の出力信号I7(t7)を入力とする。開始指標計算部１１０は、これらの入力値を総合的に解析して、話しかけ開始指標S(u)と応答開始指標R(t4)とを求め（Ｓ１１０）、対応決定部１２０に出力する。
【００２８】
対話を行う際には、対話装置側からきっかけとなる音声を出力して対話を開始する場合と、人間側からきっかけとなる発話をして対話を開始する場合がある。対話装置側からきっかけとなる音声を出力して対話を開始するべきであるか否かを示す指標を「話しかけ開始指標」とする。話しかけ開始指標Sは例えば0〜1の値をとり、1に近いほど話しかけを開始すべきであり、0に近いほど話しかけを開始すべきでないという意味を持つ。「ある音声」に対して、対話装置側が応答すべきであるか否かを示す指標を「応答開始指標」とする。応答開始指標Rは例えば0〜1の値をとり、1に近いほど応答を開始すべきであり、0に近いほど応答を開始すべきでないという意味を持つ。なお、「ある音声」が対話のきっかけとなる人間側からの発話であれば、当然応答を開始すべきであるが、「ある音声」が対話装置に対する発話ではない場合や対話を意図せずTVから発せられた音声である場合など、対話装置に向けられたものでない場合には、応答を開始すべきではないと判断する。
【００２９】
なお、本実施形態では、顔の方向、大きさを示す検出結果yD(u)、yS(u)を取得する度に話しかけ開始指標S(u)を求め、音声認識結果xR(t4)を取得する度に応答開始指標R(t4)を求めるものとし、話しかけ開始指標の番号をuで、応答開始指標の番号をt4で表す。
【００３０】
＜対応決定部１２０＞
対応決定部１２０は、話しかけ開始指標S(u)及び応答開始指標R(t4)を入力とし、これらの指標に基づき、対話装置の動作を決定し（Ｓ１２０）、対話装置を動作させるための制御信号z(t8)を出力する。なお、話しかけ開始指標S(u)及び応答開始指標R(t4)は異なるタイミングで対応決定部１２０に入力される。そのため、対応決定部１２０は、話しかけ開始指標S(u)及び応答開始指標R(t4)の何れかが入力された時点で動作する。
【００３１】
図４は、対応決定部１２０の機能ブロック図を示す。対応決定部１２０は、シナリオ選択部１２２とシナリオ記憶部１２３とを含む。
【００３２】
（シナリオ記憶部１２３）
シナリオ記憶部１２３には、話しかけシナリオ、応答シナリオ、及び、確認シナリオを利用に先立ち記憶しておく。なお、(i)話しかけシナリオとは、対話装置側から対話の契機となる音声を出力して対話を開始する対話シナリオであり、(ii)応答シナリオとは、話し利用者側からの発話に対して応答する対話シナリオであり、(iii)確認シナリオとは、利用者に対して対話を開始するか否かを確認する対話シナリオである。
【００３３】
話しかけシナリオとして、例えば、従来技術のような対話装置側からの発話を用意する。応答シナリオとして、例えば、従来技術のような質問やあいさつに対する直接的な反応を用意する。確認シナリオ１として、例えば、話しかけられたかどうかが、あやふやな場合に「何？」、「何か用ですか？」、「私ですか？」、「ん？」など、自分に話しかけているのかを問いかけるシナリオ（以下「確認シナリオ１」ともいう）や、近くに人はいるが対話を開始すべきか否かがが確実でない場合に、音声は出力せずに顔認識された方向に対話装置の顔を向けるようにモータを動作させることや、「なんかつまんないなー」など独り言を言うなどして、自然な挙動で対話を開始するかを確認するシナリオ（以下「確認シナリオ２」ともいう）を用意する。
【００３４】
（シナリオ選択部１２２）
シナリオ選択部１２２は、話しかけ開始指標S(u)及び応答開始指標R(t4)を入力とし、話しかけ開始指標S(u)とJ個の閾値Ths,1,Ths,2,…,Ths,Jとの大小関係、及び、応答開始指標R(t4)とK個の閾値Thr,1,Thr,2,…,Thr,Kとの大小関係とに基づき、話しかけシナリオ、応答シナリオ、または、確認シナリオを選択し、選択したシナリオに対応して動作させるための制御信号z(t8)を出力する。なお、本実施形態では、上述の2つの確認シナリオ（確認シナリオ１、確認シナリオ２）を用意する。また、対話装置側からきっかけとなる音声を出力して対話を開始するべきではなく、かつ、対話装置側が応答すべきでない場合のために、「動作無し」というシナリオを用意する。「動作無し」の場合には、制御信号z(t8)を出力しなくともよいし、動作しないことを示す制御信号z(t8)を出力してもよい。なお、J及びKは、それぞれ1以上の整数の何れかである。
【００３５】
前述の通り、対応決定部１２０は、話しかけ開始指標S(u)及び応答開始指標R(t4)の何れかが入力された時点で動作する。ここで、通常、ある応答開始指標R(t4-1)が入力されてから次の応答開始指標R(t4)が入力されるまでに複数の話しかけ開始指標S(u)が入力される。そこで、シナリオ選択部１２２では、応答開始指標R(t4)が入力されたとき、最新の話しかけ開始指標S(u)のみを用いてもよいし、ある応答開始指標R(t4-1)が入力されてから次の応答開始指標R(t4)が入力されるまでに入力された話しかけ開始指標S(u)の平均値を用いてよいし、最新のN個の話しかけ開始指標S(u),S(u-1),…,S(u-N+1)の平均値を用いて閾値との比較を行ってもよい。なお、話しかけ開始指標S(u)が入力された時点で動作する場合には、直近の応答開始指標R(t4)を用いて閾値との比較を行えばよい。
【００３６】
例えば、シナリオ選択部１２２は、話しかけ開始指標S(u)を、あらかじめ設定された二つの閾値Ths,1,Ths,2により(J=2)、高、中、低の3段階に分類する。高は閾値Ths,1を話しかけ開始指標S(u)が超えた場合(Ths,1<S(u))、低は話しかけ開始指標S(u)が閾値Ths,2以下である場合(S(u)≦Ths,2)、中はこれら以外(Ths,2<S(u)≦Ths,1)のように分類する。分類の数は２以上であればいくつでもよい。
【００３７】
応答開始指標R(t4)も同様にして、例えば、高、中、低の3段階に分類される(K=2)。なお、応答開始指標R(t4)の分類のための閾値Thr,1,Thr,2は、話しかけ開始指標S(u)の閾値Ths,1,Ths,2とは独立に設定される。
【００３８】
図５は、シナリオ選択部１２２において話しかけシナリオ、応答シナリオ、または、確認シナリオを選択する際の選択基準を示す。話しかけ開始指標S(u)と応答開始指標R(t4)をそれぞれ３段階に分類した場合、その組み合わせで９個の分類ができる。それぞれの分類で、どのシナリオを用いるかあらかじめ設定しておき、実際の話しかけ開始指標S(u)と応答開始指標R(t4)の入力に対してシナリオを選択する。
【００３９】
例えば、以下のように選択基準を作成する。
(i)話しかけ開始指標S(u)の値が大きい（対話装置側からきっかけとなる音声を出力して対話を開始するべきである）と話しかけシナリオを選択しやすく、応答開始指標R(t4)の値が大きい（ある音声に対して、対話装置側が応答すべきである）と応答シナリオを選択しやすくなるように選択基準を作成する。
(ii)対話装置側からきっかけとなる音声を出力して対話を開始するべきか否かが不明確な場合、自然な挙動で対話を開始するかを確認するシナリオ（確認シナリオ２）を選択しやすくなるように選択基準を作成する。また、対話装置側が応答すべきであるか否かが不明確な場合、自分に話しかけているのかを問いかけるシナリオ（確認シナリオ１）を選択しやすくなるように選択基準を作成する。
(iii)対話装置側からきっかけとなる音声を出力して対話を開始するべきではなく、かつ、対話装置側が応答すべきでない場合、対話装置は動作しないように選択基準を作成する。
(iv)より高い区分に分類された指標を優先するように選択基準を作成する。例えば、話しかけ開始指標S(u)が高に分類され、応答開始指標R(t4)が中や低に分類された場合には、話しかけ開始指標S(u)が高の場合に選択される話しかけシナリオが選択しやすくなるように選択基準を作成する。
(v)応答開始指標R(t4)と話しかけ開始指標S(u)とに対して同程度の分類がなされた場合、応答開始指標R(t4)を優先するように選択基準を作成する。例えば、Ths,1<S(u)かつThR,1<R(t4)の場合には応答シナリオを選択し、Ths,2<S(u)≦Ths,1かつThR,2<R(t4)≦ThR,1の場合には、確認シナリオ１（問いかけ）を選択する。利用者が話しかけているのに応答がない場合（無視された場合）、誤って対話装置が応答しているよりも、対話意欲は削がれると想定し、このような選択基準を作成することで、利用者の対話意欲が削がれることを防ぐ。
【００４０】
なお、図５では、話しかけ開始指標S(u)と応答開始指標R(t4)をそれぞれ３段階に分類しているが、それ以外の分類(JやKが2の場合や、4以上の場合)においても上述の(i)〜(v)の条件を満たすように選択基準を作成すればよい。
【００４１】
＜効果＞
このような構成により、対話装置への話しかけかどうかあやふやな場合に、質問で聞き返したり、利用者のほうを向いて自分への話しかけであるかを確認したりすることができ、より人間らしいふるまいをすることができる。その結果、誤った応答を低減することができる。
【００４２】
＜第二実施形態＞
第一実施形態と異なる部分を中心に説明する。
【００４３】
第一実施形態において、確認シナリオ１が連続して選択されてしまうと、何度も確認行為を行うことになり、不自然な対応となってしまう。これを防ぐために、本実施形態では状態を考慮する。
【００４４】
シナリオ選択部１２２は、(I)待ち受け状態、(II)確認シナリオを実行後の状態である確認状態、(III)話しかけシナリオまたは応答シナリオを実行後の状態である対話状態の3つの状態を持つ。シナリオ選択部１２２は、(I)待ち受け状態、(II)確認状態、(III)対話状態の何れかの状態に遷移し、待ち受け状態、確認状態、対話状態の何れかの状態に応じて、話しかけシナリオ、応答シナリオ、または、確認シナリオを選択する際の選択基準を変更する。図６は、各状態における選択基準を示す。
【００４５】
シナリオ選択部１２２は、話しかけ開始指標SとJ個の閾値Ths,1,Ths,2,…,Ths,Jとの大小関係、及び、応答開始指標RとK個の閾値Thr,1,Thr,2,…,Thr,Kとの大小関係と、シナリオ選択部１２２の状態に対応する選択基準に基づき、話しかけシナリオ、応答シナリオ、または、確認シナリオを選択し（Ｓ１２２）、選択したシナリオに対応して動作させるための制御信号z(t8)を出力する。図６ではJ=2,K=2とする。
【００４６】
図７は、本実施形態の状態遷移図を示す。待ち受け状態を初期状態とする。
【００４７】
（待ち受け状態）
待ち受け状態において、シナリオ選択部１２２は、話しかけ開始指標S(u)及び応答開始指標R(t4)を入力とし、待ち受け状態における判定基準に基づき、応答シナリオ、話しかけシナリオ、確認シナリオ１、確認シナリオ２、動作無しの何れかを選択し、選択したシナリオに対応して動作させるための制御信号z(t8)を出力する。
【００４８】
応答シナリオまたは話しかけシナリオが選択された場合には対話状態に遷移し、確認シナリオ１または確認シナリオ２が選択された場合には確認状態に遷移し、何れのシナリオも選択されなかった場合（動作無しが選択された場合）には待ち受け状態から待ち受け状態に遷移する（待ち受け状態を維持する）。
【００４９】
（確認状態）
シナリオ選択部１２２は、話しかけ開始指標S(u)及び応答開始指標R(t4)を入力とし、確認状態における判定基準に基づき、応答シナリオ、話しかけシナリオ、動作無しの何れかを選択し、選択したシナリオに対応して動作させるための制御信号z(t8)を出力する。応答シナリオまたは話しかけシナリオが選択された場合には対話状態に遷移し、何れのシナリオも選択されなかった場合（動作無しが選択された場合）には確認状態から確認状態に遷移する。但し、動作無しが選択されつづけ、確認状態のまま一定時間が経過すると(または一定回数の入力S(u),R(t4)を受け付けると)待ち受け状態に遷移する。
【００５０】
（対話状態）
シナリオ選択部１２２は、話しかけ開始指標S(u)及び応答開始指標R(t4)を入力とし、対話状態における判定基準に基づき、応答シナリオ、動作無しの何れかを選択し、選択したシナリオに対応して動作させるための制御信号z(t8)を出力する。この状態では対話状態から対話状態に遷移する。但し、動作無しが選択されつづけ、一定時間が経過すると(または一定回数の入力S(u),R(t4)を受け付けると)待ち受け状態に遷移する。
【００５１】
このように、確認状態では、再度確認シナリオが実行されることがないように、シナリオの選択基準から確認シナリオをなくした選択基準を用い、対話状態では、確認シナリオ及び話しかけシナリオを削除した選択基準を用いる。
【００５２】
＜効果＞
このような構成とすることで、第一実施形態と同様の効果を得ることができる。さらに、確認シナリオを連続して実施して不自然な対応となってしまうことを防ぐことができる。
【００５３】
＜第三実施形態＞
第一実施形態及び第二実施形態と異なる部分を中心に説明する。
【００５４】
特許文献１等の従来技術ではユーザ発話に対応する文字列だけを用いてどのような対応を行うかを判断している。そのため、例えば、テレビの音声など、対話装置と対話をするために発せられた音声でなかったとしても、あらかじめ用意した単語パターンと一致する場合は、対話をしてしまう。つまり、従来技術では、対話とは無関係の音声などに反応した誤動作が起こってしまう。
【００５５】
そこで、本実施形態では、音声だけではなく、様々なセンサからの情報に基づき対話音声であるかの確からしさ数値化し、その確からしさに基づいて、入力音声に対する対応を決定する。このような構成により、対話とは無関係の音声などに対して反応することを防ぐことができる。
【００５６】
上述の効果を得るために本実施形態では、開始指標計算部１１０における処理を限定する。
【００５７】
＜開始指標計算部１１０＞
図８は開始指標計算部１１０の機能ブロック図を、図９はその処理フローの例を示す。
【００５８】
開始指標計算部１１０は、方向一致度計算部１１１、発話距離指標計算部１１２、キーワード検出部１１３、キーワードデータベース１１４、発話頻度計算部１１５、顔の距離指標計算部１１６、応答開始指標計算部１１７及び話しかけ開始指標計算部１１８を含む。
【００５９】
＜方向一致度計算部１１１＞
方向一致度計算部１１１は、カメラから見た顔の方向を示す検出結果yD(u)と音源方向の推定結果xD(t0)とを入力とし、音源方向の推定結果と映像による顔認識方向の一致度合いI2(u)を計算し（Ｓ１１１）、出力する。一致度合いI2(u)は、例えば0.0〜1.0の値をとり1.0に近いほど一致していることを表す指標である。例えば、カメラから見た顔の方向を示す検出結果yD(u)と音源方向の推定結果xD(t0)との差分の絶対値|(xD(t0))-(yD(u))|をとり、その値があらかじめ設定した第１の閾値T1よりも大きければI2(u)=0を出力し、あらかじめ設定した第２の閾値T2よりも小さければI2(u)=1を出力し、どちらでもなければ以下の式により、差分の絶対値|(xD(t0))-(yD(u))|が第１の閾値T1の時に0になり、第２の閾値T2のときに1となる直線上の値を出力する。
I2(u)={|(xD(t0))-(yD(u))|-(T1)}/{(T2)-(T1)}
この関係をグラフにしたものを図１０に示す。つまり、
I2(u)=0    if  |(xD(t0))-(yD(u))|>T1
I2(u)=1    if  |(xD(t0))-(yD(u))|<T2
I2(u)={|(xD(t0))-(yD(u))|-(T1)}/{(T2)-(T1)}  if  T2≦|(xD(t0))-(yD(u))|≦T1
となる。
【００６０】
＜発話距離指標計算部１１２＞
発話距離指標計算部１１２は、音声のレベルの推定結果xL(t0)を入力とし、マイクロホンアレイ６１と発話者と距離に応じて変化する発話距離指標I3(t0)を計算し（Ｓ１１２）、出力する。例えば、発話距離指標I3(t0)を、マイクロホンアレイ６１に含まれるマイクロホンと発話者との距離が近いほど1.0に近くなり、距離が遠いほど0.0に近くなる指標とする。音は音源から受音位置までの距離に反比例して受音される音の大きさが変化する。よって、マイクロホンで観測された音声のレベルからおおよその距離を推定することができる。例えば1mの位置で標準的な音量で発話したときのマイクロホンの出力のレベルをAとした場合、推定対象音声のマイクロホンの出力のレベルがBであったとすれば、推定対象音声のマイクロホンから音源までの距離は、その比A/B(m)で推定することができる。推定された距離があらかじめ設定した第３の閾値T3よりも大きければI3(t0)=0を出力し、あらかじめ設定した第４の閾値T4よりも小さければI3(t0)=1を出力し、どちらでもなければ以下の式により第３の閾値T3の時に0になりと第４の閾値T4のときに1となる直線上の値を出力する。
I3(t0)={A/B-(T3)}/{(T4)-(T3)}
【００６１】
＜キーワード検出部１１３及びキーワードデータベース１１４＞
キーワード検出部１１３は、音声認識結果xR(t4)を入力とし、音声認識結果xR(t4)に含まれる単語列と、キーワードデータベース１１４に格納されているキーワードとのマッチングを行い、音声認識結果xR(t4)に含まれる単語列の何れかがキーワードデータベース１１４にある場合には検出結果I4(t4)=1を出力し、無い場合には検出結果I4(t4)=0を出力する（Ｓ１１３）。キーワードデータベース１１４に格納されているキーワードは、話しかけるきっかけに良く使われるものである。または、キーワードデータベース１１４に格納されているキーワード毎に0.0〜1.0の数値をあらかじめ指定しておき、そのキーワードが検出された際に対応する数値を検出結果I4(t4)として出力する構成としてもよい。数値は、話しかけるきっかけに良く使われるキーワードほど１に近い値をあらかじめ設定しておく。
【００６２】
＜発話頻度計算部１１５＞
発話頻度計算部１１５は、発音の検出結果I1(t0)と音源方向の推定結果xD(t0)とを入力とし、同一の方向からの発話が過去T秒の間にどのくらいあったかを計算する（Ｓ１１５）。例えば、過去T秒の間に音源方向の推定結果xD(t0)がθであり、かつ、発音があった時間(I1(t0)=1)の合計をA(θ)秒とすれば、θ方向の発音頻度を、それらの比D(θ)=A(θ)/Tとして求めることができる。発話頻度計算部１１５は、この頻度D(θ)を現時点t0の推定結果(音源方向)xD(t0)について求める。例えば音源がテレビや音楽受聴用のスピーカであった場合、これらは長時間の間ほとんど無音になることなく、同じ方向から音が到来し続けることとなる。このような音源がθ方向にあった場合、発音頻度D(θ)は1に近い大きな値をとることになる。発話頻度計算部１１５は、発音頻度D(θ)があらかじめ設定した第７の閾値T7よりも大きければ発話頻度指標I5=0を出力し、あらかじめ設定した第８の閾値T8よりも小さければ発話頻度指標I5=1を出力し、どちらでもなければ以下の式により第７の閾値T7の時にI5=0になりと第８の閾値T8のときにI5=1となる直線上の値を出力する。
I5(t0)={D(θ)-(T7)}/{(T8)-(T7)}
【００６３】
＜顔の距離指標計算部１１６＞
顔の距離指標計算部１１６は、顔の大きさを示す検出結果yS(u)を入力とし、この値を用いて、利用者とカメラ７１との距離を示す距離指標I6(u)を計算し（Ｓ１１６）、出力する。例えば、距離指標I6(u)は、利用者とカメラ７１との距離が近いほど1.0に近くなり、距離が遠いほど0.0に近くなる指標である。
【００６４】
顔が近いほど大きく映像に映るので、検出された顔の大きさから距離を推定することができる。例えば1mの位置で標準的な大きさの顔が顔認識で認識された際の大きさをFとした場合、検出結果yS(u)の大きさがGであったとすれば、顔までの距離は、その比F/G(m)で推定することができる。推定された距離があらかじめ設定した第５の閾値T5よりも大きければI6(u)=0を出力し、あらかじめ設定した第６の閾値よりも小さければI6(u)=1を出力し、どちらでもなければ以下の式により第５の閾値の時に0になりと第６の閾値のときに1となる直線上の値を出力する。
I6(u)={F/G-(T5)}/{(T6)-(T5)}
【００６５】
＜応答開始指標計算部１１７＞
応答開始指標計算部１１７は、発音の検出結果I1(t0),一致度合いI2(u),発話距離指標I3(t0),検出結果I4(t4),発話頻度指標I5(t0),距離指標I6(u),人感センサ８１の出力信号I7(t7)を入力とし、これらの情報の全てを使って、応答するか否かを判定するための指標である応答開始指標R(t4)を計算し（Ｓ１１７）、出力する。
【００６６】
前述の通り、発音の検出結果I1(t0)は、発音有の場合1となり、発音なしの場合0となる。ただし、t0はマイクロホンアレイ６１のサンプル番号またはサンプル番号に対応する時刻を表す。一致度合いI2(u)は、0〜1の値をとり、音による音源方向の推定結果と映像による顔認識結果が一致するほど1に近い値となる。ただし、uはカメラ７１のイメージセンサのサンプル番号またはサンプル番号に対応する時刻を表す。発話距離指標I3(t0)は、0〜1の値をとり、利用者とマイクロホンアレイ６１との距離が近いほど１に近い値となる。検出結果I4(t4)は、話しかけるきっかけに良く使われるキーワードを検出した場合1となり、検出できなかった場合0となる。ただし、t4は音声認識結果の番号を表す。発話頻度指標I5(t0)は、0〜1の値をとり、過去の同一方向の発話頻度が低いほど１に近い値となる。距離指標I6(u)は、0〜1の値をとり、利用者とカメラ７１との距離が近いほど１に近い値となる。人感センサ８１の出力信号I7(t7)は、人検出有の場合1となり、人検出なしの場合0となる。ただし、t7は、人感センサ８１のサンプル番号またはサンプル番号に対応する時刻を表す。
【００６７】
応答開始指標計算部１１７の入出力間の関係式を関数Fとすれば、次式で応答開始指標R(t4)を計算できる。
R(t4)=F{I1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)}
【００６８】
関数Fは、例えば一次方程式とすることができ、各入力I1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)にあらかじめ設定した重みWnを乗じて加算した総和にあらかじめ設定した定数Cを加算した次式が用いられる。
【００６９】
【数１】
2018087847.tif 000003
【００７０】
ただし、I1(t4),I2(t4),I3(t4),I5(t4),I6(u),I7(t4)は、I4(t4)の取得時からみて直近のI1(t0),I2(u),I3(t0),I5(t0),I6(u),I7(t7)である。音声認識結果を出力するタイミングと他の出力値が出力される周期とは、通常、一致しない。応答開始指標R(t4)は、複数の入力値の中で、音声認識結果xR(t4)から得られる検出結果I4(t4)の影響を最も受けると考えられる。そこで、応答開始指標R(t4)は音声認識結果xR(t4)の入力を契機に、その時刻t4に最も近い他の指標をバッファから読みだして処理を実行する。
【００７１】
関数Fは、二次方程式でもよい。その場合、各入力In(t4)にあらかじめ設定した重みWnを乗じて加算した総和と、入力の２つを乗じた値In(t4)Im(t4)にあらかじめ設定した重みVn,mを乗じて加算した総和と、あらかじめ設定した定数Cとを加算した次式が用いられる。
【００７２】
【数２】
2018087847.tif 000004
【００７３】
関数Fは、一次方程式や二次方程式で重み付の加算値を計算した後で、0〜1でクリッピングする関数をかけることで０〜1の間の出力値となるように制限しても良い（次式）。クリッピングをする関数はシグモイド関数G(x)などが用いられる。
【００７４】
【数３】
2018087847.tif 000005
【００７５】
ただし、a、bは予め設定される定数である。
【００７６】
＜話しかけ開始指標計算部１１８＞
話しかけ開始指標計算部１１８は、上述のI1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)を入力とし、これらの情報の全てを使って、話しかけをするか否かを判定するための指標である話しかけ開始指標S(u)を計算し（Ｓ１１８）、出力する。話しかけ開始指標計算部１１８は、応答開始指標計算部１１７と同様の方法で話しかけ開始指標S(u)を計算することができる。ただし、あらかじめ設定した重みWnやVn,mの値は応答開始指標計算部１１７とは異なる数値で設定される。また、話しかけ開始指標S(u)は、外部からの話しかけがない場合に大きな値をとるので、発音の検出結果I1(t0)、一致度合いI2(u)、発話距離指標I3(t0)、キーワード検出部１１３の出力値I4(t4)を、それぞれ、1から減算した値を入力するように置きなおしてもよい。つまり、I1(t0)を1-I1(t0)に、I2(u)を1-I2(u)に、I3(t0)を1-I3(t0)に、I4(t4)を1-I4(t4)に置き換えてもよい。
【００７７】
なお、話しかけ開始指標S(u)は、複数の入力値の中で、顔の方向を示す検出結果yD(u)及び顔の大きさを示す検出結果yS(u)の影響を最も受けると考えられる。そこで、話しかけ開始指標S(u)は顔の方向を示す検出結果yD(u)及び顔の大きさを示す検出結果yS(u)の入力を契機に、その時刻uに最も近い他の指標をバッファから読みだして処理を実行する。
【００７８】
＜効果＞
このような構成により、様々なセンサの情報から、外部からの音に対して応答するか否かの指標である応答開始指標Rと、対話装置側から会話を開始すべきか否かの指標である話しかけ開始指標Sを求め、これに基づいて対話の開始の制御をすることができ、対話とは無関係の音声などに対して反応することを防ぐことができる。
【００７９】
＜変形例＞
本実施形態の開始指標計算部１１０は、話しかけ開始指標S(u)と応答開始指標R(t4)とを求め、出力しているが、何れか一方の指標のみを求める構成としてもよい。その場合、他方の指標は、本実施形態とは異なる方法を用いて求めればよい。または、シナリオ選択部１２２は、話しかけ開始指標S(u)または応答開始指標R(t4)を入力とし、話しかけ開始指標S(u)とJ個の閾値Ths,1,Ths,2,…,Ths,Jとの大小関係、または、応答開始指標R(t4)とK個の閾値Thr,1,Thr,2,…,Thr,Kとの大小関係とに基づき、(A)話しかけシナリオ若しくは確認シナリオ（例えば確認シナリオ２（動作、独り言））、または、(B)応答シナリオ若しくは確認シナリオ（例えば確認シナリオ１（問いかけ））を選択し、選択したシナリオに対応して動作させるための制御信号z(t8)を出力する。
【００８０】
本実施形態では、マイクロホンアレイ６１の出力信号x(t0)に基づくデータと、カメラ７１のイメージセンサの出力信号y(u)に基づくデータと、人感センサ８１の出力信号I7(t7)とを入力としているが、必要に応じて、マイクロホンアレイ６１の出力信号x(t0)とカメラ７１のイメージセンサの出力信号y(u)と人感センサ８１の出力信号I7(t7)との3つの出力信号のうちの2つの出力信号を用いればよい。そのような構成とすることで、音声だけではなく、様々なセンサからの情報に基づき対話音声であるかの確からしさ数値化することができる。
【００８１】
本実施形態では、I1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)を全て使って、話しかけ開始指標S(u)と応答開始指標R(t4)とを求めているが、必ずしも全て使う必要はなく、話しかけ開始指標S(u)と応答開始指標R(t4)を求める際に影響が大きいものを適宜選択してもよい。例えば、話しかけ開始指標S(u)は、顔の方向を示す検出結果yD(u)及び顔の大きさを示す検出結果yS(u)の影響を大きく受けると考えられるため、yD(u)またはyS(u)を使って求めることが望ましい。よって、話しかけ開始指標計算部１１８は、マイクロホンアレイ６１の出力信号x(t0)及び人感センサ８１の出力信号I7(t7)のうちの少なくとも１つの出力信号とカメラ７１のイメージセンサの出力信号y(u)とに基づき、話しかけ開始指標S(u)を計算する。要は、yD(u)またはyS(u)に基づき得られるI2(u)またはI6(u)と、それ以外のI1(t0),I3(t0),I4(t4),I5(t0),I7(t7)の中から1つ以上を用いて話しかけ開始指標S(u)を計算すればよい。一方、応答開始指標R(t4)は、音声認識結果xR(t4)の影響を大きく受けると考えられるため、xR(t4)を使って求めることが望ましい。よって、応答開始指標計算部１１７は、カメラ７１のイメージセンサの出力信号y(u)及び人感センサ８１の出力信号I7(t7)のうちの少なくとも１つの出力信号とマイクロホンアレイ６１の出力信号x(t0)とに基づき、応答開始指標R(t4)を計算する。要は、xR(t4)に基づき得られるI4(t4)と、カメラ７１のイメージセンサの出力信号y(u)及び人感センサ８１の出力信号I7(t7)のうちの少なくとも１つの出力信号に基づくI2(u),I6(u),I7(t7)の中から1つ以上を用いて応答開始指標R(t4)を計算すればよい。この場合にも、必要な重みWn,Vn,m、定数Cを予め設定すればよい。
【００８２】
要は、マイクロホンアレイ６１、カメラ７１のイメージセンサ、人感センサ８１の3つのセンサ情報のうち2つ以上が含まれるように入力信号を設定することで、様々なセンサからの情報に基づき対話音声らしさを数値化でき性能が良くなる。
【００８３】
＜第四実施形態＞
第三実施形態と異なる部分を中心に説明する。
【００８４】
第三実施形態の対話制御装置１００の応答開始指標計算部１１７において応答開始指標モデルを用いて応答開始指標R(t4)を計算し（Ｓ１１７）、話しかけ開始指標計算部１１８において話しかけ開始指標モデルを用いて話しかけ開始指標S(u)を計算する（Ｓ１１８）。
【００８５】
本実施形態では、応答開始指標モデルを学習する応答開始指標モデル学習部２１１と、話しかけ開始指標モデルを学習する話しかけ開始指標モデル学習部２１２とを追加した構成である（図８中、破線で示す）。
【００８６】
応答開始指標モデル学習部２１１は、応答開始指標計算モデルの入力信号I1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)と、応答開始指標R(t4)との関係を事前に学習データを用いて学習する。学習データは、実環境で取得した実入力データI1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)に対し、人手で正解の応答開始指標R(t4)の値を付与したものなどを用いる。このようなデータから、機械学習の手法を用いて入出力の関係が近くなるようにモデルを学習する。例えばニューラルネットワークで構成されたモデルをバックプロパゲーションの手法を使って学習するなどの手法が用いられる。
【００８７】
話しかけ開始指標モデル学習部２１２も同様にして、入力信号I1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)と、話しかけ開始指標S(u)との関係を事前に学習データを用いて学習する。
【００８８】
応答開始指標計算部１１７は、応答開始指標モデル学習部２１１で学習された応答開始指標モデルを用いて、入力信号I1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)から応答開始指標R(t4)を計算する。
【００８９】
話しかけ開始指標計算部１１８は、話しかけ開始指標モデル学習部２１２で学習された話しかけ開始指標モデルを用いて、入力信号I1(t0),I2(u),I3(t0),I4(t4),I5(t0),I6(u),I7(t7)から話しかけ開始指標S(u)を計算する。
【００９０】
＜効果＞
このような構成により、第三実施形態では人手により設定されていた計算式や重みWnやVn,mを、実データを用いて最適に自動設定することが可能となり、より精度の高い指標の出力が可能となる。
【００９１】
＜第五実施形態＞
第三実施形態及び第四実施形態と異なる部分を中心に説明する。
【００９２】
第三実施形態または第四実施形態の対話制御装置１００に時間補正部３１０を追加した構成である（図８中、破線で示す）。音声認識や顔検出は処理に遅延が生じ、また処理遅延が一定しないため、この遅延時間の補正を行わないと、様々なセンサからの情報が異なる時刻の情報となってしまい、誤った応答開始指標R(t4)や話しかけ開始指標S(u)を出力してしまう可能性がある。これを防ぐために、時間補正部３１０を追加し、各センサからの情報を時刻とともにバッファリングし、最も遅延の大きい情報に合わせて、情報の読み出し位置を決定する。
【００９３】
＜時間補正部３１０＞
図１１は、時間補正部３１０の機能ブロック図を示す。
【００９４】
時間補正部３１０は、発音の検出結果I1(t0)、音源方向の推定結果xD(t0)、音声のレベルの推定結果xL(t0)、音声認識結果xR(t4)、顔の方向を示す検出結果yD(u)、顔の大きさを示す検出結果yS(u)、人感センサ８１の出力信号I7(t7)をそれぞれ格納する格納する７つのバッファ３１１−ｎと、対応時刻選択部３１２とを含む。
【００９５】
各バッファ３１１−ｎには、それぞれ各入力信号がFIFO（先入れ先出し）によりバッファリングされる。バッファ３１１−ｎには入力信号のデータと、そのデータの時刻とがともに記憶される。
【００９６】
対応時刻選択部３１２は、FIFOの出力のうち最も新しい時刻(遅い時刻、遅延の大きい時刻)を探索し、その時刻に最も近い時刻に対応するデータを、それぞれのFIFOから読み出し出力する。また、その読み出しデータよりも古いデータはバッファより破棄する。例えば、図１２の場合、まず、最も新しい時刻のデータを探索し、時刻(00：04)のデータxR(1)を得る。次に、時刻(00：04)に最も近い時刻に対応するデータであるI1(3)(時刻00：05)、xD(3)(時刻00：05)、xL(3)(時刻00：05)、yD(2)(時刻00：05)、yS(2)(時刻00：05)、I7(4)(時刻00：04)を読み出し、出力する。そして、その読み出しデータよりも古いデータを破棄する。さらに、読み出しデータの次のFIFOの出力のうち最も新しい時刻を探索するという動作を繰り返す。
【００９７】
このようにすることにより、もっとも遅延の大きいデータと同時刻のデータをそれぞれ出力することができ、時間ずれによる誤動作を防ぐことができる。
【００９８】
なお、本実施形態では、開始指標計算部１１０の入力値に対してバッファリングを行っているが、応答開始指標計算部１１７及び話しかけ開始指標計算部１１８の入力値I1〜I7に対してバッファリングを行っても同様の効果を得ることができる。
【００９９】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【０１００】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０１０１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１０２】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【０１０３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１０４】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2018087847.tif 000006
【図２】
2018087847.tif 000007
【図３】
2018087847.tif 000008
【図４】
2018087847.tif 000009
【図５】
2018087847.tif 000010
【図６】
2018087847.tif 000011
【図７】
2018087847.tif 000012
【図８】
2018087847.tif 000013
【図９】
2018087847.tif 000014
【図１０】
2018087847.tif 000015
【図１１】
2018087847.tif 000016
【図１２】
2018087847.tif 000017