(57)【特許請求の範囲】
【請求項１】
ユーザに対する行動タイミングを決定する行動タイミング決定装置であって、
任意の回答者が回答に要した時間情報である直近タイミング情報ＳＩＭＤと、前記回答者の回答が情報の要求であるか否かの情報である要否情報ＲＩＭＤと、前記直近タイミング情報ＳＩＭＤに対応する回答の直前における前記回答者の回答に要した時間情報である直前タイミング情報ＳＰＡＳとからなる学習データｄを１以上有する学習データ集合Ｄを記憶する学習データ記憶部と、
ユーザの行動を表す信号であるユーザ行動信号ＷＵＳＲを取得してユーザ時刻ＣＵＳＲを出力し、システムの行動を表すシステム行動信号ＷＳＹＳを取得してシステム時刻ＣＳＹＳを出力し、一定時刻経過毎に現在時刻ＣＮＯＷを出力するクロック発生部と、
前記ユーザ時刻ＣＵＳＲと前記システム時刻ＣＳＹＳとを取得し、当該取得したユーザ時刻ＣＵＳＲとシステム時刻ＣＳＹＳの差分を直近タイミングＴＩＭＤとして出力する直近タイミング抽出部と、
前記システム時刻ＣＳＹＳと前記現在時刻ＣＮＯＷとを取得し、当該取得したシステム時刻ＣＳＹＳと現在時刻ＣＮＯＷの差分を経過時間Ｔとして出力する経過時間抽出部と、
前記経過時間Ｔを取得して、前記学習データ集合Ｄから前記直近タイミング情報ＳＩＭＤが前記経過時間Ｔ以上となる学習データｄのみからなる部分集合ＤＴを抽出し、当該部分集合ＤＴを出力する部分集合抽出部と、
前記部分集合ＤＴと前記直近タイミングＴＩＭＤとを取得して、当該取得した部分集合ＤＴと直近タイミングＴＩＭＤから要否確率ＰＲＥＱ（Ｔ）を計算し、当該計算した要否確率ＰＲＥＱ（Ｔ）を出力する要否確率計算部と、
前記要否確率ＰＲＥＱ（Ｔ）を取得し、当該要否確率ＰＲＥＱ（Ｔ）を用いて行動、もしくは待機の何れを実行するかを決定し、前記行動を実行すると決定した場合には行動タイミング信号ＷＴＩＭを出力する行動タイミング決定部と、
を有することを特徴とする行動タイミング決定装置。
【請求項２】
請求項１に記載の行動タイミング決定装置であって、
前記部分集合ＤＴにおいて、前記直前タイミング情報ＳＰＡＳと前記直近タイミングＴＩＭＤとの差が小さい順にｋ個（ｋは任意の正の数）の学習データのうち、要否情報ＲＩＭＤが情報要求を示す学習データの個数をＫｐ，Ｔとして
前記要否確率計算部が、前記要否確率ＰＲＥＱ（Ｔ）を
ＰＲＥＱ（Ｔ）＝Ｋｐ，Ｔ／ｋ      （式１）
と計算すること
を特徴とする行動タイミング決定装置。
【請求項３】
請求項１または２に記載の行動タイミング決定装置であって、
前記行動タイミング決定部が、
前記要否確率ＰＲＥＱ（Ｔ）が予め定めた閾値ＰＴＨＲよりも小さくなる場合には待機を実行する旨決定すること
を特徴とする行動タイミング決定装置。
【請求項４】
任意の回答者が回答に要した時間情報である直近タイミング情報ＳＩＭＤと、前記回答者の回答が情報の要求であるか否かの情報である要否情報ＲＩＭＤと、前記直近タイミング情報ＳＩＭＤに対応する回答の直前における前記回答者の回答に要した時間情報である直前タイミング情報ＳＰＡＳとからなる学習データｄを１以上有する学習データ集合Ｄを記憶する学習データ記憶部を用いて、ユーザに対する行動タイミングを決定する行動タイミング決定方法であって、
ユーザの行動を表す信号であるユーザ行動信号ＷＵＳＲを取得してユーザ時刻ＣＵＳＲを出力し、システムの行動を表す信号であるシステム行動信号ＷＳＹＳを取得してシステム時刻ＣＳＹＳを出力し、一定時刻経過毎に現在時刻ＣＮＯＷを出力するクロック発生ステップと、
前記ユーザ時刻ＣＵＳＲと前記システム時刻ＣＳＹＳとを取得し、当該取得したユーザ時刻ＣＵＳＲとシステム時刻ＣＳＹＳの差分を直近タイミングＴＩＭＤとして出力する直近タイミング抽出ステップと、
前記システム時刻ＣＳＹＳと前記現在時刻ＣＮＯＷとを取得し、当該取得したシステム時刻ＣＳＹＳと現在時刻ＣＮＯＷの差分を経過時間Ｔとして出力する経過時間抽出ステップと、
前記経過時間Ｔを取得して、前記学習データ集合Ｄから前記直近タイミング情報ＳＩＭＤが前記経過時間Ｔ以上となる学習データｄのみからなる部分集合ＤＴを抽出し、当該部分集合ＤＴを出力する部分集合抽出ステップと、
前記部分集合ＤＴと前記直近タイミングＴＩＭＤとを取得して、当該取得した部分集合ＤＴと直近タイミングＴＩＭＤから要否確率ＰＲＥＱ（Ｔ）を計算し、当該計算した要否確率ＰＲＥＱ（Ｔ）を出力する要否確率計算ステップと、
前記要否確率ＰＲＥＱ（Ｔ）を取得し、当該要否確率ＰＲＥＱ（Ｔ）を用いて行動、もしくは待機の何れを実行するかを決定し、前記行動を実行すると決定した場合には行動タイミング信号ＷＴＩＭを出力する行動タイミング決定ステップと、
を有することを特徴とする行動タイミング決定方法。
【請求項５】
請求項４に記載の行動タイミング決定方法であって、
前記部分集合ＤＴにおいて、前記直前タイミング情報ＳＰＡＳが前記直近タイミングＴＩＭＤの近傍となるｋ個（ｋは任意の正の数）の学習データのうち、要否情報ＲＩＭＤが情報要求を示す学習データの個数をＫｐ，Ｔとして
前記要否確率計算ステップが、前記要否確率ＰＲＥＱ（Ｔ）を
ＰＲＥＱ（Ｔ）＝Ｋｐ，Ｔ／ｋ      （式１）
と計算すること
を特徴とする行動タイミング決定方法。
【請求項６】
請求項４または５に記載の行動タイミング決定方法であって、
前記行動タイミング決定ステップが、
前記要否確率ＰＲＥＱ（Ｔ）が予め定めた閾値ＰＴＨＲよりも小さくなる場合には待機を実行する旨決定すること
を特徴とする行動タイミング決定方法。
【請求項７】
請求項４から６の何れかに記載の行動タイミング決定方法を実行すべき指令をコンピュータに対してするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はユーザに情報を提示するシステム（対話システムなど）において、システムが情報提示を行うタイミングを決定する行動タイミング決定装置、行動タイミング決定方法、およびそのプログラムに関する。
【背景技術】
【０００２】
対話システムの行動タイミング制御に関する従来技術として、非特許文献１、２が知られている。これらは頻繁にターンが切り替わる対話を想定し、視線や韻律を用いてユーザ側のターン交代意図を推定し、このターン交代意図やユーザの発話内容に応じて、システム側の自然な発話（情報提示）タイミングを決定する技術である。また、ユーザがシステムからの支援（情報提示）を必要としているか否かを推定し、この推定結果に基づいて行動を決定する支援要否推定に基づく行動制御に関する従来技術として非特許文献３が知られている。非特許文献３では、レゴ組立作業を題材として、作業者の視線運動の履歴を利用して作業者の迷いの状態を検出し、この検出結果から、その局面においてとるべき適切な動作を推定し、この推定結果を作業者に提示することによって作業者の行動を支援するシステムが開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Michaela Atterer,Timo Baumann,David Schlangen,"Towards Incremental End-of-Utterance Detection in Dialogue Systems",Coling2008:Companion volume-Posters and Demonstrations,(USA),Manchester,August2008,p.11-14
【非特許文献２】Lei Chen,Mary P.Harper,"Multimodal Floor Control Shift Detection",ICMI-MLMI'09,(USA),Cambridge,November 2-4,2009,p.15-22
【非特許文献３】小川原光一、崎田健二、池内克史、「視線運動からの動作意図の推定とロボットによる協調行動への応用」、情報処理学会研究報告、社団法人情報処理学会、平成17年9月5日、vol.2005、No.88、p.55-62
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１および２ではユーザが迷うことなく意思決定を行うことができることを前提としている。しかしユーザは常に素早く意思決定を行うことができるわけではなく、システム側の情報提示に対して迷い、考え込むことがある。このような状態のユーザに対して、システムが不必要なタイミングで追加の情報提示行動を行うとユーザはシステムを煩わしく感じる。このためシステムは、ユーザがシステムからの支援（情報提示）を必要としているか否かを推定する必要がある。これが前述の支援要否推定に基づく行動制御であり、この制御は非特許文献３において実現されている。しかしながら非特許文献３の行動制御はタスク特有の事前知識に依存している。このため非特許文献３の行動制御は通常の対話環境での支援要否推定に用いることはできない。本発明の行動タイミング決定装置は、通常の対話環境での支援要否推定に基づく対話システムの行動タイミング制御を実現することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の行動タイミング決定装置は、学習データ記憶部と、行動取得部と、クロック発生部と、直近タイミング抽出部と、経過時間抽出部と、部分集合抽出部と、要否確率計算部と、行動タイミング決定部とを有する。学習データ記憶部は、任意の回答者が回答に要した時間情報である直近タイミング情報ＳＩＭＤと、前記回答者の回答が情報の要求であるか否かの情報である要否情報ＲＩＭＤと、前記直近タイミング情報ＳＩＭＤに対応する回答の直前における前記回答者の回答に要した時間情報である直前タイミング情報ＳＰＡＳとからなる学習データｄを１以上有する学習データ集合Ｄを記憶する。行動取得部は、ユーザの行動ＡＵＳＲを取得してユーザ行動信号ＷＵＳＲを出力し、システムの行動ＡＳＹＳを取得してシステム行動信号ＷＳＹＳを出力する。クロック発生部は、ユーザ行動信号ＷＵＳＲを取得してユーザ時刻ＣＵＳＲを出力し、システム行動信号ＷＳＹＳを取得してシステム時刻ＣＳＹＳを出力し、一定時刻経過毎に現在時刻ＣＮＯＷを出力する。直近タイミング抽出部は、ユーザ時刻ＣＵＳＲとシステム時刻ＣＳＹＳとを取得し、当該取得したユーザ時刻ＣＵＳＲとシステム時刻ＣＳＹＳの差分を直近タイミングＴＩＭＤとして出力する。経過時間抽出部は、システム時刻ＣＳＹＳと現在時刻ＣＮＯＷとを取得し、当該取得したシステム時刻ＣＳＹＳと現在時刻ＣＮＯＷの差分を経過時間Ｔとして出力する。部分集合抽出部は、経過時間Ｔを取得して、学習データ集合Ｄから直近タイミング情報ＳＩＭＤが経過時間Ｔ以上となる学習データｄのみからなる部分集合ＤＴを抽出し、当該部分集合ＤＴを出力する。要否確率計算部は、部分集合ＤＴと直近タイミングＴＩＭＤとを取得して、当該取得した部分集合ＤＴと直近タイミングＴＩＭＤから要否確率ＰＲＥＱ（Ｔ）を計算し、当該計算した要否確率ＰＲＥＱ（Ｔ）を出力する。行動タイミング決定部は、要否確率ＰＲＥＱ（Ｔ）を取得し、当該要否確率ＰＲＥＱ（Ｔ）を用いて行動、もしくは待機の何れを実行するかを決定し、行動を実行すると決定した場合には行動タイミング信号ＷＴＩＭを出力する。
【発明の効果】
【０００６】
本発明の行動タイミング決定装置によれば、部分集合抽出部が、経過時間Ｔを用いて学習データ集合Ｄから部分集合ＤＴを抽出し、要否確率計算部が当該部分集合ＤＴと直近タイミングＴＩＭＤから要否確率ＰＲＥＱ（Ｔ）を計算し、行動タイミング決定部が当該要否確率ＰＲＥＱ（Ｔ）に基づいて行動もしくは待機の何れを実行するかを決定するため、支援要否推定に基づく対話システムの行動タイミング制御を実現することができ、これによりユーザが求める適切なタイミングで情報提示を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】対話システムとユーザの対話事例を示す図。
【図２】行動タイミングの学習に用いられるデータの事例を示す図。
【図３】実施例１に係る行動タイミング学習装置の構成例を示すブロック図。
【図４】実施例１に係る行動タイミング学習装置の動作例を示すフローチャート。
【図５】実施例１に係る行動タイミング学習装置の時刻ロガーへの記録事例を示す図。
【図６】実施例１に係る行動タイミング学習装置が生成する学習データ集合の具体例を示す図。
【図７】実施例１に係る行動タイミング決定装置の構成例を示すブロック図。
【図８】実施例１に係る行動タイミング決定装置の動作例を示すフローチャート。
【図９】実施例１に係る行動タイミング決定装置が用いる部分集合の例、要否確率計算例を示す図。
【図１０】実施例１に係る行動タイミング決定装置の行動タイミング決定部の詳細を示すブロック図。
【図１１】変形例２に係る行動タイミング決定装置の行動タイミング決定部の詳細を示すブロック図。
【図１２】実施例１に係る行動タイミング決定装置の行動タイミング決定部の動作の詳細を示すフローチャート。
【図１３】変形例２に係る行動タイミング決定装置の行動タイミング決定部の動作の詳細を示すフローチャート。
【図１４】実施例２に係る行動タイミング決定装置の構成例を示すブロック図。
【図１５】実施例２に係る行動タイミング決定装置の動作例を示すフローチャート。
【図１６】本発明の行動タイミング決定装置の精度を評価する実験の結果を示す図。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【０００９】
支援要否推定に基づく行動タイミング制御の単純な方法として、ユーザが行動を継続するか否かに基づき間接的に情報提示の要否を推定する技術が考えられる。例えば、予め定めた一定時間ユーザの行動間隔が空いた場合には情報提示が必要であると判断し、予め定めた一定時間ユーザの行動間隔が空くことなく、ユーザの行動が継続する場合には情報提示が不要であると判断する方法がある。この方法を一定時間待機法と呼ぶ。しかし、この一定時間待機法による行動タイミング制御では、常にシステムの行動に予め定めた一定の待機時間が生じることになる。この待機時間はユーザを苛立たせる原因となりうる。そこで、本発明の行動タイミング決定装置では後述する構成により要否推定を行う。
【００１０】
図１を参照して対話システムとユーザの間で行われる対話について具体例を交えながら説明する。図１は対話システムとユーザの対話事例（昼食ガイド）を示す図である。対話システムとユーザの対話は以下のように進められる。
まず、ユーザが対話システムに対して焦点となる話題を投げかけることで対話がスタートする。図１の例ではユーザは対話システムに対して「今日は昼食は何にしようかな？」と尋ねることで対話がスタートしている。この対話の焦点となる話題は「昼食を何にするか」である。次に対話システムはユーザに対して情報提示を行う。図１の例では対話システムは、ユーザからの問いかけに対して「カレーはいかがですか？」と情報提示を行っている。対話システムの情報提示に対して、今度はユーザが行動する。図１の例では対話システムの情報提示に対しユーザは「辛いものは苦手なんだ。」と回答している。このユーザの行動に対して、今度は対話システムが行動する。図１の例ではユーザの行動に対し対話システムは「そうですか、これはすみません。」と応答の行動をとっている。対話システムの行動のあとはユーザのターンであるため、ユーザは前述の「回答」を行う（つまり会話を続ける）か、対話システムに対して情報要求を行うことができる。例えば図１の例では対話システムの最初の応答の後、ユーザは「他に何かお勧めはある？」と対話システムに尋ねており、これがユーザの情報要求にあたる。ユーザから情報要求がなされた場合には対話システムは情報提示の行動を行う。図１の例ではユーザからの情報要求に対し対話システムは「イタリアンはいかがですか？」と新たな情報提示を行っている。対話システムの情報提示に対しては前述同様、ユーザが回答し、ユーザの回答に対して、対話システムが応答する。つまりユーザから情報要求があった場合には対話システムとユーザの対話は情報要求（ユーザ）、情報提示（対話システム）、回答（ユーザ）、応答（対話システム）の順に進む。
【００１１】
ここで、本発明の目的に立ち返れば、対話システムがユーザの情報要求に先だって情報提示を精度よく行うことが出来れば本発明の目的は達成されることとなる。一方ユーザ側に情報要求意思が無いにも関わらず、対話システムが情報提示を行うことは避けなければならない。ここで、ユーザが情報要求を行うタイミングについて考えてみると、ユーザは一般的にはユーザの回答、対話システムの応答、が順次実行された後に情報要求を行うことが多いと考えられる。従って、対話システムの応答の後であってかつユーザから次の発話が得られる前に対話システムが情報提示を行ったと仮定すると、その仮定された情報提示は成功であったか失敗であったかの情報は本発明の目的を達成するうえで重要な情報となる。
【００１２】
対話システムによる情報提示の仮定を対話システムの「仮説生成」と呼ぶ。例えば、図１の例では対話システムの「そうですか、これはすみません。」という応答の後であって、ユーザの「他に何かお勧めはある？」との情報要求の前に対話システムは仮説生成を行う。この仮説生成は、ユーザの次の発話を待たずに対話システムが「イタリアンはいかがでしょうか？」と情報提示を行うことを仮定するものである。この仮説生成に対し、ユーザは直後に「他に何かお勧めはある？」と情報要求を行っている。このユーザの情報要求により、仮定された対話システムの情報提示「イタリアンはいかがでしょうか？」は成功であったことが分かる。この「成功」とはつまり、対話システムは自身の応答「そうですか、これはすみません。」の後に、ユーザからの発話を待たずに立て続けに「イタリアンはいかがでしょうか？」と情報提示を行っても、この場合にはユーザは対話システムの情報提示に煩わしさを感じないと評価できるということである。ユーザが煩わしさを感じないと評価できる理由は、ユーザが直後に「他に何かお勧めはある？」と情報要求を行っており、ユーザがこのタイミングで情報を必要としていたということが分かるからである。
【００１３】
一方、図１における対話システムの二番目の応答「なるほど。」の後にも対話システムは前記と同様に仮説生成を行う。今度の仮説生成は、ユーザの次の発話を待たずに対話システムが「ハンバーガーはいかがでしょうか？」と情報提示を行うことを仮定するものである。この仮説生成に対し、ユーザは直後に「それにあそこは少し遠いからね」と「回答」を行っている。このユーザの行動により、仮定された対話システムの情報提示「ハンバーガーはいかがでしょうか？」は失敗であったことが分かる。この「失敗」とはつまり、対話システムは自身の応答「なるほど。」の後に、ユーザからの発話を待たずに立て続けに「ハンバーガーはいかがでしょうか？」と情報提示を行ってしまうと、この場合にはユーザは対話システムの情報提示に煩わしさを感じると評価できるということである。なぜならば、ユーザは直後に情報要求でなく回答「それにあそこは少し遠いからね。」を行っており、未だイタリアンレストランについての話題を引きずっている。従ってユーザはこのタイミングでは会話を続けようとしており、情報要求を望んでいない。
【００１４】
このように、対話システムの仮説生成は、そのタイミングにより、「成功」「失敗」の何れかに分類することができる。従ってこの「成功」をユーザが情報を必要としていたことを意味する「要（値＝１）」、「失敗」をユーザが情報を必要としていないことを意味する「否（値＝０）」とし、システムの応答からユーザの次の発話までの時間（sec）とともに記録していくことで、本発明の行動タイミング決定装置が用いる学習データとすることができる。詳細については後述する。
【００１５】
次に図２を参照して行動タイミングの学習に用いられるデータの収集方法の具体例について詳細に説明する。図２は行動タイミングの学習に用いられるデータの事例を示す図である。図２の例では学習データの収集は提示ユーザと受信ユーザ間で行われる連想クイズ対話により行われる。提示ユーザが出題者にあたり、受信ユーザが回答者にあたる。連想クイズ対話とは、提示ユーザが出すヒント単語から連想される正解単語を受信ユーザが当てるゲームである。提示ユーザはヒント伝達、正誤判定、ヒント提案の３種類の行動のみを行うことが出来る。受信ユーザは回答、ヒント要求の２種類の行動のみを行うことが出来る。ここで、受信ユーザ、提示ユーザはそれぞれ受信ユーザ端末、提示ユーザ端末を使用して連想クイズ対話を行うものとし、受信ユーザ端末、提示ユーザ端末にはそれぞれこの連想クイズ対話を実行するための専用のアプリケーションソフトがインストールされているものとする。ヒント伝達、回答については１単語のみの入力が許されているものとする。ヒント伝達、回答以外の行動は全てこのアプリケーションソフト上に配置されたアイコンをクリックすることにより行うことができる。ヒント伝達は各クイズ開始直後、もしくは受信ユーザからのヒント要求直後に限定して行われるものとする。回答は１つのヒントに対して複数回行うことができる。提示ユーザは前述のとおり、ヒント提案を行うことができるが、このヒント提案は受信ユーザには提示されない。これについては後述する。
【００１６】
図２の連想クイズ対話の各行動は、図１の一般的な対話システムとユーザとの対話における各行動と対応付くように設計されている。図１の「情報提示」は図２の「ヒント伝達」に対応する。図１の「回答」は図２の「回答」に、図１の「応答」は図２の「正誤判定」に、図１の「情報要求」は図２の「ヒント要求」にそれぞれ対応する。また、図１の「仮説生成」と図２の「ヒント提案」とは、どちらもユーザ支援のための情報提示が「成功」であるか「失敗」であるかを事後に評価することができるため、等価に扱うことができる。
【００１７】
上記で説明した連想クイズ対話について、図２の例に沿ってより具体的に解説する。まず、提示ユーザが提示ユーザ端末で実行中の専用アプリケーションに表示された「スタート」アイコンをクリックすることでゲームがスタートする。このとき、受信ユーザ端末で実行中の専用アプリケーションには「それでは開始します」というメッセージが表示される。この行動については記号「ＳＹＳ１」を付与される。以後、後述の説明などで適宜用いるため、提示ユーザの行動には記号「ＳＹＳ（番号）」が、受信ユーザの行動には記号「ＵＳＲ（番号）」が付与されるものとする。次に、提示ユーザは、提示ユーザ端末に備わるキーボードなどの情報入力手段によってヒントを入力する（ＳＹＳ２：ヒント伝達）。ヒント伝達として入力が許されているのは前述のとおり１単語のみである。ＳＹＳ２では、提示ユーザによって単語「丸い」が入力され、受信ユーザ端末に伝達されて表示される。ＳＹＳ２のヒント伝達を受けた受信ユーザは、回答「サッカーボール」を受信ユーザ端末に備わるキーボードなどの情報入力手段にて入力する（ＵＳＲ１：回答）。ここでの受信ユーザの回答も前述のとおり、１単語に限られている。入力された単語「サッカーボール」は、提示ユーザに伝達されて表示される。ＵＳＲ１の回答「サッカーボール」を受けた提示ユーザは、受信ユーザの回答に対して正誤判定を行う（ＳＹＳ３：正誤判定）。ここで、受信ユーザの回答が正答であれば、提示ユーザは正答アイコンをクリックし、受信ユーザの回答が誤答であれば、提示ユーザは誤答アイコンをクリックする。図２の例における連想クイズ対話においては、連想クイズの正解は「すいか」である。従って、ここでは提示ユーザは誤答アイコンをクリックする。提示ユーザによる誤答アイコンのクリックは受信ユーザ端末に伝達されて、受信ユーザ端末上のアプリケーション内に判定結果「違います。」が表示される。次に、受信ユーザは提示ユーザに対して１回目のヒント要求を行っている（ＵＳＲ２：ヒント要求）。このとき、受信ユーザのヒント要求（ＵＳＲ２）の直前には提示ユーザはヒント提案を行っていないことに注意を要する。一方、受信ユーザのヒント要求（ＵＳＲ５）の直前には、提示ユーザによるヒント提案（ＳＹＳ７）が行われている。つまり提示ユーザはヒント要求（ＵＳＲ５）を事前に予測することに成功した（ＳＹＳ７）が、ヒント要求（ＵＳＲ２）については事前に予測することに失敗したと解釈することができる。従って提示ユーザの提案成功回数を受信ユーザのヒント要求回数の総数で除算することで、提示ユーザの提案成功率を計算することができる。
【００１８】
この後も連想クイズ対話は続いていき、図２の例ではＵＳＲ９において受信ユーザが正答を答える。これに対して提示ユーザが正答アイコンをクリックし（ＳＹＳ１２：正誤判定）、提示ユーザが専用アプリケーションに表示された「エンド」アイコンをクリックすることで連想クイズ対話が終了する（ＳＹＳ１３：エンド）。このように提示ユーザと受信ユーザとの間で、それぞれの端末を通して行われる連想クイズ対話を、次に述べる行動タイミング学習装置が収集することによって、行動タイミングの決定に必要な学習データ集合を生成することができる。
【００１９】
図３から図６を参照して本発明の実施例１に係る行動タイミング学習装置１００について詳細に説明する。図３は、本実施例の行動タイミング学習装置１００の構成例を示すブロック図である。図４は本実施例の行動タイミング学習装置１００の動作例を示すフローチャートである。図５は、本実施例の行動タイミング学習装置１００の時刻ロガー９４０への記録事例を示す図である。図６は本実施例の行動タイミング学習装置１００が生成する学習データ集合Ｄの具体例を示す図である。まず、本実施例における行動タイミング学習装置１００が取得するデータについて説明する。本実施例の行動タイミング学習装置１００は、受信ユーザ端末９１０と、提示ユーザ端末９２０の双方と通信可能に接続されている。本実施例の行動タイミング学習装置１００は、受信ユーザ端末９１０からは受信ユーザの行動ＡＵＳＲと、受信ユーザの要否情報ＲＩＭＤとを取得することができる。また、本実施例の行動タイミング学習装置１００は、提示ユーザ端末９２０からは提示ユーザの行動ＡＳＹＳを取得することができる。ここで、受信ユーザの行動ＡＵＳＲおよび、提示ユーザの行動ＡＳＹＳとは、例えば前述の図２における記号、対話種別などとすることができる。ただし、本実施例において受信ユーザの行動ＡＵＳＲ、提示ユーザの行動ＡＳＹＳを取得することの意図は、後述するように受信ユーザの行動時刻であるユーザ時刻ＣＵＳＲや提示ユーザの行動時刻であるシステム時刻ＣＳＹＳを取得することにある。従って上記に限られず、例えばＡＵＳＲ、ＡＳＹＳを受信ユーザの行動か提示ユーザの行動かを示すビット情報のみとすることも可能である。また、受信ユーザの要否情報ＲＩＭＤとは、前記の受信ユーザの行動ＡＵＳＲとセットで取得するものとし、セットとなっている受信ユーザの行動ＡＵＳＲが情報要求であったか否かを示すものである。本実施例では、受信ユーザの要否情報ＲＩＭＤを{要＝１、否＝０}のビット情報とする。例えば図２の例では受信ユーザの行動ＡＵＳＲとして、ＵＳＲ２やＵＳＲ５が入力された場合には、これとセットとなる受信ユーザの要否情報ＲＩＭＤ＝１である。また、ＵＳＲ１やＵＳＲ３が入力された場合には、これとセットとなる受信ユーザの要否情報ＲＩＭＤ＝０となる。以後、図２の例における連想クイズ対話の内容が本実施例における行動タイミング学習装置１００に実際に入力されたものとして説明を進める。
【００２０】
次に本実施例の行動タイミング学習装置１００の内部構成について詳細に説明する。本実施例の行動タイミング学習装置１００は、行動取得部１１０と、クロック発生部１２０と、時刻ロガー更新部９３０と、時刻ロガー９４０と、直近タイミング抽出部１３０と、第一メモリ９５０と、直前タイミング取得部１４０と、タイミング構造生成部１５０と、一時メモリ更新部１６０と、第二メモリ９６０と、要否情報抽出部１７０と、学習データ生成部１８０と、学習データ記憶部１９０とを有する。
【００２１】
行動取得部１１０は、受信ユーザの行動ＡＵＳＲを取得してユーザ行動信号ＷＵＳＲを出力し、提示ユーザの行動ＡＳＹＳを取得してシステム行動信号ＷＳＹＳを出力する（Ｓ１１０）。クロック発生部１２０は、ユーザ行動信号ＷＵＳＲを取得してユーザ時刻ＣＵＳＲを出力し、システム行動信号ＷＳＹＳを取得してシステム時刻ＣＳＹＳを出力し、一定時刻経過毎に現在時刻ＣＮＯＷを出力する（Ｓ１２０）。ここで、本実施例の行動タイミング学習装置１００は、必ずしも行動取得部１１０を必要とせず、行動取得部１１０を省略することができる。この場合はステップ１１０が省略され、クロック発生部１２０が受信ユーザの行動を表す信号であるユーザ行動信号ＷＵＳＲを受信ユーザ端末９１０から直接取得してユーザ時刻ＣＵＳＲを出力し、提示ユーザの行動を表すシステム行動信号ＷＳＹＳを提示ユーザ端末９２０から直接取得してシステム時刻ＣＳＹＳを出力してもよい。Ｓ１２０においてシステム時刻ＣＳＹＳが出力された場合には（Ｓ１２５）、時刻ロガー更新部９３０は、当該システム時刻ＣＳＹＳを時刻ロガー９４０に記録する（Ｓ９３０）。ここで時刻ロガー９４０に記録されるデータの例について図５を参照して説明する。本実施例では、時刻ロガー９４０は、図５に示すように提示ユーザの行動ＡＳＹＳが行われた時刻であるシステム時刻ＣＳＹＳを入力された順序ですべて記録していく。図５では分かりやすさのため記号、対話種別の情報を併記したが、時刻ロガー９４０は必ずしも記号や対話種別などの情報を併せて記録しておく必要はなく、最低限システム時刻ＣＳＹＳが記録されていればよい。また、本実施例では、システム時刻ＣＳＹＳを入力された順序ですべて記録することとしたが、これに限られず最新のシステム時刻ＣＳＹＳを１つだけ記録しておき、新たなシステム時刻ＣＳＹＳの発生に伴ってこのシステム時刻ＣＳＹＳを最新の時刻に更新していくこととしても良い。図５の下向きの矢印は時間の経過を意味する。図５上部の表は提示ユーザが図２におけるＳＹＳ１を行動した直後の時刻ロガー９４０の状態である。図５中央部の表は提示ユーザが図２におけるＳＹＳ４を行動した直後の時刻ロガー９４０の状態である。図５下部の表は提示ユーザが図２におけるＳＹＳ１３を行動し、連想クイズ対話が終了したときの時刻ロガー９４０の状態である。
【００２２】
次に、直近タイミング抽出部１３０は、ユーザ時刻ＣＵＳＲとシステム時刻ＣＳＹＳとをクロック発生部１２０および時刻ロガー９４０から取得し、当該取得したユーザ時刻ＣＵＳＲとシステム時刻ＣＳＹＳの差分を直近タイミングＴＩＭＤとして出力する（Ｓ１３０）。Ｓ１３０にて出力された直近タイミングＴＩＭＤは、第一メモリ９５０に一時保存される。直前タイミング取得部１４０は、第一メモリ９５０から直近タイミングＴＩＭＤを取得し、後述する第二メモリ９６０から直前タイミングＴＰＡＳを取得し、当該取得した直前タイミングＴＰＡＳを出力する（Ｓ１４０）。タイミング構造生成部１５０は、直近タイミングＴＩＭＤと、直前タイミングＴＰＡＳとを第一メモリ９５０および直前タイミング取得部１４０から取得して、直近タイミングＴＩＭＤを直近タイミング情報ＳＩＭＤとし、直前タイミングＴＰＡＳを直前タイミング情報ＳＰＡＳとし、タイミング構造｛ＳＩＭＤ，ＳＰＡＳ｝として出力する（Ｓ１５０）。一時メモリ更新部１６０は、第一メモリ９５０から直近タイミングＴＩＭＤを取得して、当該取得した直近タイミングＴＩＭＤを直前タイミングＴＰＡＳとして第二メモリ９６０に記憶する（Ｓ１６０）。要否情報抽出部１７０は、ユーザの要否情報ＲＩＭＤを取得して、当該取得した要否情報ＲＩＭＤを出力する（Ｓ１７０）。学習データ生成部１８０は、要否情報ＲＩＭＤと、タイミング構造｛ＳＩＭＤ，ＳＰＡＳ｝とを入力とし、学習データｄ＝｛ＳＩＭＤ，ＲＩＭＤ，ＳＰＡＳ｝を生成して（Ｓ１８０）、当該生成した学習データｄを学習データ記憶部１９０に記憶する（Ｓ１９０）。したがって、学習データ記憶部１９０には、受信ユーザが回答に要した時間情報である直近タイミング情報ＳＩＭＤと、この受信ユーザの回答が情報の要求であるか否かの情報である要否情報ＲＩＭＤと、直近タイミング情報ＳＩＭＤに対応する回答の直前における受信ユーザの回答に要した時間情報である直前タイミング情報ＳＰＡＳとからなる学習データｄを１以上有する学習データ集合Ｄが記憶されることになる。この学習データ集合Ｄについて図６を参照して具体的に説明する。図６は、本実施例の行動タイミング学習装置１００が生成する学習データ集合Ｄの具体例を示す図である。図６の例における学習データ集合Ｄは分かりやすさのため番号、記号などの情報を併記したが、学習データＤには必ずしも番号、記号などの情報を併せて記憶しておく必要はなく、最低限直近タイミング情報ＳＩＭＤと、要否情報ＲＩＭＤと、直前タイミング情報ＳＰＡＳとが学習データｄとしてセットで記録されていればよい。ここで番号は、学習データｄの生成順に通し番号を付与したものである。また、記号は図２における記号と対応しており、例えば番号１を付与された学習データｄにおける記号「ＳＹＳ３−ＵＳＲ２」は図２におけるＳＹＳ３が提示ユーザによって行われた後、受信ユーザがＵＳＲ２を行うまでを意味する。従って番号１が付与された学習データｄにおける直近タイミング情報ＳＩＭＤは、ＳＹＳ２が提示ユーザによって行われた後、受信ユーザがＵＳＲ１を行うまでの時間情報である。また、番号１が付与された学習データｄにおける要否情報ＲＩＭＤはＵＳＲ１がヒント要求であったか否かを{要＝１、否＝０}で表す情報である。
【００２３】
次に図７、図８を参照して本発明の実施例１に係る行動タイミング決定装置２００について詳細に説明する。図７は本実施例の行動タイミング決定装置２００の構成例を示すブロック図である。図８は本実施例の行動タイミング決定装置２００の動作例を示すフローチャートである。本実施例の行動タイミング決定装置２００は、前述の学習データ集合Ｄを用いることで最適な行動タイミングを決定することを目的とするものである。本実施例の行動タイミング決定装置２００が用いる学習データ集合Ｄは、前述の行動タイミング学習装置１００が生成したものを用いることとしても良いし、全く別の方法で取得したものを用いても良い。学習データ集合Ｄは１以上の学習データｄ＝｛ＳＩＭＤ，ＲＩＭＤ，ＳＰＡＳ｝にて構成されていれば良く、学習データ集合Ｄの取得方法に制限はない。次に、本実施例における行動タイミング決定装置２００が取得するデータについて説明する。本実施例の行動タイミング決定装置２００は、受信ユーザ端末９１０と対話システム９７０の双方と通信可能に接続されている。本実施例の行動タイミング決定装置２００は、受信ユーザ端末９１０から受信ユーザの行動ＡＵＳＲを取得することができる。また、本実施例の行動タイミング決定装置２００は、対話システム９７０から対話システム９７０の行動ＡＳＹＳを取得することができる。ここで、前述の行動タイミング学習装置１００が取得する提示ユーザの行動と、行動タイミング決定装置２００が取得する対話システム９７０の行動については、共通の記号ＡＳＹＳを用いることとする。提示ユーザは人間であり、対話システム９７０は装置であるが、いずれも受信ユーザの対話相手であるため、何れの行動も本発明の範囲においては同一視できるためである。
【００２４】
次に本実施例の行動タイミング決定装置２００の内部構成について詳細に説明する。本実施例の行動タイミング決定装置２００は、行動取得部１１０と、クロック発生部１２０と、時刻ロガー更新部９３０と、時刻ロガー９４０と、直近タイミング抽出部１３０と、第一メモリ９５０と、経過時間抽出部２１０と、部分集合抽出部２２０と、要否確率計算部２３０と、行動タイミング決定部２４０と、学習データ記憶部１９０とを有する。ここで、行動取得部１１０と、クロック発生部１２０と、時刻ロガー更新部９３０と、時刻ロガー９４０と、直近タイミング抽出部１３０と、第一メモリ９５０と、学習データ記憶部１９０については前述した行動タイミング学習装置１００における同一番号を付した各構成部と同じ機能を有する。従って、これらについては説明を簡略化し、データの受け渡しなどについて述べるに留める。
【００２５】
まず、行動取得部１１０は、ＡＵＳＲを取得してＷＵＳＲを出力し、ＡＳＹＳを取得してＷＳＹＳを出力する（Ｓ１１０）。クロック発生部１２０は、ＷＵＳＲを取得してＣＵＳＲを出力し、ＷＳＹＳを取得してＣＳＹＳを出力し、一定時刻経過毎にＣＮＯＷを出力する（Ｓ１２０）。ここで、本実施例の行動タイミング決定装置２００は、必ずしも行動取得部１１０を必要とせず、行動取得部１１０を省略することができる。この場合はステップ１１０が省略され、クロック発生部１２０が受信ユーザの行動を表す信号であるユーザ行動信号ＷＵＳＲを受信ユーザ端末９１０から直接取得してユーザ時刻ＣＵＳＲを出力し、対話システム９７０の行動を表すシステム行動信号ＷＳＹＳを対話システム９７０から直接取得してシステム時刻ＣＳＹＳを出力してもよい。時刻ロガー更新部９３０は、ＣＳＹＳを時刻ロガー９４０に記録する（Ｓ９３０）。ここで、図８のステップ９１１で発生する分岐について説明する。ステップ９１１では、未だ第一メモリ９５０に記録されていない未更新の直近タイミングＴＩＭＤが存在するか否かによって分岐が発生する。ステップ９１１は、必ず対話システム９７０の行動ＡＳＹＳが行われた後に行われることを特徴とする。ここで、対話システム９７０の行動ＡＳＹＳが行われる直前には、受信ユーザの行動ＡＵＳＲが行われているのが通常と考えられる。この場合には、直前の受信ユーザの行動ＡＵＳＲによって未更新の直近タイミングＴＩＭＤを生成して、当該未更新の直近タイミングＴＩＭＤを第一メモリ９５０に記録する必要がある。しかし、対話システム９７０の行動ＡＳＹＳが行われる直前には、常に受信ユーザの行動ＡＵＳＲが行われているとは限らず、対話システム９７０の行動ＡＳＹＳが行われる直前に、さらに対話システム９７０の行動ＡＳＹＳが続いていることも考えられる。この場合には前述のような未更新の直近タイミングＴＩＭＤは存在しない。この場合は第一メモリ９５０内に記憶済みの直近タイミングＴＩＭＤが最新である。従ってステップ９１１では、未だ第一メモリ９５０に記録されていない未更新の直近タイミングＴＩＭＤが存在する場合にはステップ１３０に進み、直近タイミング抽出部１３０が、ＣＵＳＲとＣＳＹＳの差分を直近タイミングＴＩＭＤとして出力する（Ｓ１３０）。一方、未だ第一メモリ９５０に記録されていない未更新の直近タイミングＴＩＭＤが存在しない場合にはステップ１３０をスキップし、ステップ２１０に進む。
【００２６】
経過時間抽出部２１０は、システム時刻ＣＳＹＳと現在時刻ＣＮＯＷとをクロック発生部１２０および時刻ロガー９４０から取得し、当該取得したシステム時刻ＣＳＹＳと現在時刻ＣＮＯＷの差分を経過時間Ｔとして出力する（Ｓ２１０）。部分集合抽出部２２０は、経過時間Ｔを取得して、学習データ記憶部１９０に保存された学習データ集合Ｄから直近タイミング情報ＳＩＭＤが経過時間Ｔ以上となる学習データｄのみからなる部分集合ＤＴを抽出し、当該部分集合ＤＴを出力する（Ｓ２２０）。要否確率計算部２３０は、部分集合ＤＴと直近タイミングＴＩＭＤとを部分集合抽出部２２０および第一メモリ９５０から取得して、当該取得した部分集合ＤＴと直近タイミングＴＩＭＤから要否確率ＰＲＥＱ（Ｔ）を計算し、当該計算した要否確率ＰＲＥＱ（Ｔ）を出力する（Ｓ２３０）。行動タイミング決定部２４０は、要否確率ＰＲＥＱ（Ｔ）を取得し、当該要否確率ＰＲＥＱ（Ｔ）を用いて行動、もしくは待機の何れを実行するかを決定し（Ｓ２４０）、行動を実行すると決定した場合には（Ｓ２４１）、行動タイミング信号ＷＴＩＭを対話システム９７０に出力する（Ｓ２４２）。一方、ステップ２４０において、待機が実行されると決定した場合には（Ｓ２４１）、行動タイミング決定部２４０は予め定めた一定時間経過まで何らの動作も行わない。この予め定めた一定時間が経過する前に受信ユーザの行動ＡＵＳＲが入力された場合には（Ｓ９１２、Ｓ９１３）ステップ２４２に進み、行動タイミング信号ＷＴＩＭを対話システム９７０に出力する（Ｓ２４２）。一方、予め定めた一定時間が経過するまでに受信ユーザの行動ＡＵＳＲが入力されなかった場合には（Ｓ９１２、Ｓ９１３）、対話システムが待機状態のままステップ２１０に戻り、再度要否確率の計算を行って（Ｓ２１０〜Ｓ２４０）、行動、待機の何れを実行するかを決定する（Ｓ２４１）。行動タイミング決定装置２００がステップ２４２を実行した後、対話システム９７０が行動タイミング信号ＷＴＩＭを取得し、対話内容を決定して、受信ユーザに対して行動を行う。
【００２７】
次に図９を参照して、本実施例の行動タイミング決定装置２００の部分集合抽出部２２０と、要否確率計算部２３０が行う動作について具体例を交えて詳細に説明する。図９は本実施例の行動タイミング決定装置２００が用いる部分集合ＤＴの例、要否確率ＰＲＥＱ（Ｔ）の計算例を示す図である。図９の上部の表は図６で例示した学習データ集合Ｄを再度表示したものである。中央部の表はこの学習データ集合Ｄから直近タイミング情報ＳＩＭＤが経過時間４．０（ｓｅｃ）以上となる学習データｄのみからなる部分集合Ｄ４を表示したものである。下部の表はこの部分集合Ｄ４のうち、直前タイミング情報ＳＰＡＳと直近タイミングＴＩＭＤ＝３．０（ｓｅｃ）との差が小さい順にｋ個（ｋ＝２）の学習データのみを抽出したものである。このようにして抽出した学習データについて、要否情報ＲＩＭＤが１である学習データの数をｋ（ｋ＝２）で除算することにより要否確率ＰＲＥＱ（Ｔ）を計算することができる。図９の例ではＰＲＥＱ（Ｔ）＝１／２＝０．５である。従って、部分集合ＤＴにおいて、直前タイミング情報ＳＰＡＳと直近タイミングＴＩＭＤとの差が小さいｋ個（ｋは任意の正の数）の学習データのうち、要否情報ＲＩＭＤが情報要求を示す学習データの個数をＫｐ，Ｔとおけば要否確率ＰＲＥＱ（Ｔ）を
ＰＲＥＱ（Ｔ）＝Ｋｐ，Ｔ／ｋ      （式１）
と計算することができる。このように要否確率を計算するモデルをｋＮＮ（ｋ−Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ）モデルと呼ぶ。
【００２８】
次に、図１０、図１２を参照して本実施例の行動タイミング決定装置２００の行動タイミング決定部２４０について詳細に説明する。図１０は本実施例の行動タイミング決定装置２００の行動タイミング決定部２４０の詳細を示すブロック図である。図１２は本実施例の行動タイミング決定装置２００の行動タイミング決定部２４０の動作の詳細を示すフローチャートである。本実施例の行動タイミング決定装置２００の行動タイミング決定部２４０は、行動確率計算手段２４１と、行動決定手段２４２とを有する。行動確率計算手段２４１は、要否確率ＰＲＥＱ（Ｔ）を取得し、この要否確率にＰＲＥＱ（Ｔ）に一定の重み係数ｗで重みづけを行って行動確率ＰＡＣＴ（Ｔ）（＝ｗ×ＰＲＥＱ（Ｔ））を計算して、当該行動確率ＰＡＣＴ（Ｔ）を出力する（ＳＳ２４１）。行動決定手段２４２は、行動確率ＰＡＣＴ（Ｔ）を取得し、以下に述べるサンプリングモデルにより、行動、もしくは待機の何れを実行するかを決定する（ＳＳ２４２）。行動決定手段２４２が行動を実行することをａ＝１と表現することとし、行動決定手段２４２が待機を実行することをａ＝０と表現すれば、サンプリングモデルでは行動を下式に従いサンプリングする。
【００２９】
【数１】
0005361832.tif 000002
【００３０】
本実施例では前述したｋＮＮモデルとサンプリングモデルとを組み合わせて用いる。このため、実施例１の行動タイミング決定装置２００の行動タイミング決定方法をｋＮＮ−ｓモデルと呼ぶ。
【００３１】
［変形例１］
再び図７、図８を参照して、実施例１の変形例１に係る行動タイミング決定装置２００’について説明する。本変形例の行動タイミング決定装置２００’は、実施例１の行動タイミング決定装置２００が有する要否確率計算部２３０が、要否確率計算部２３０’に変更されている点のみで、実施例１と相違する。従って、本変形例の行動タイミング決定装置２００’の説明においては実施例１の説明に用いた図７、図８を流用することとし、要否確率計算部２３０’以外の各構成部については重複説明を省略する。本変形例の行動タイミング決定装置２００’の要否確率計算部２３０’は、（式１）におけるｋを部分集合ＤＴにおける学習データｄの全数Ｋに設定することを特徴とする。従って、要否確率ＰＲＥＱ（Ｔ）を、
ＰＲＥＱ（Ｔ）＝Ｋｐ，Ｔ／Ｋ      （式１’）
と計算することができる。図９の例では部分集合Ｄ４における学習データｄの全数Ｋ＝５である。一方、中央部の表からもわかるように、Ｋｐ，Ｔ＝２であるため、ＰＲＥＱ（Ｔ）＝２／５＝０．４である。このように要否確率を計算するモデルを正負分布モデルと呼ぶ。本変形例では、この正負分布モデルと前述したサンプリングモデルとを組み合わせて用いる。このため、変形例１の行動タイミング決定装置２００’の行動タイミング決定方法を正負分布−ｓモデルと呼ぶ。
【００３２】
［変形例２］
次に図７、図８、図１１、図１３を参照して、実施例１の変形例２に係る行動タイミング決定装置２００’’について説明する。図１１は本変形例の行動タイミング決定装置２００’’の行動タイミング決定部２４０’の詳細を示すブロック図である。図１３は本変形例の行動タイミング決定装置２００’’の行動タイミング決定部２４０’の動作の詳細を示すフローチャートである。本変形例の行動タイミング決定装置２００’’は、実施例１の行動タイミング決定装置２００が有する行動タイミング決定部２４０が、行動タイミング決定部２４０’に変更されている点のみで、実施例１と相違する。従って、本変形例の行動タイミング決定装置２００’’の説明においては実施例１の説明に用いた図７、図８を流用することとし、行動タイミング決定部２４０’以外の各構成部については重複説明を省略する。本変形例の行動タイミング決定装置２００’’の行動タイミング決定部２４０’は、行動確率計算手段２４１と、行動決定手段２４２’とを有する。行動確率計算手段２４１については前述と同様であるため説明を省略する。行動決定手段２４２’は、行動確率ＰＡＣＴ（Ｔ）を取得し、以下に述べる閾値モデルにより、行動、もしくは待機の何れを実行するかを決定する（ＳＳ２４２’）。上記と同様に、行動決定手段２４２’が行動を実行することをａ＝１と表現することとし、行動決定手段２４２’が待機を実行することをａ＝０と表現すれば、閾値モデルでは行動を下式に従いサンプリングする。
【００３３】
【数２】
0005361832.tif 000003
【００３４】
ただしｄは予め定めた一定確率、ＰＴＨＲは予め定めた閾値を表すものとする。本変形例では、この閾値モデルと前述したｋＮＮモデルとを組み合わせて用いる。このため、変形例２の行動タイミング決定装置２００’’の行動タイミング決定方法をｋＮＮ−ｔモデルと呼ぶ。
【００３５】
［変形例３］
再び図７、図８、図１１、図１３を参照して、実施例１の変形例３に係る行動タイミング決定装置２００’’’について説明する。本変形例の行動タイミング決定装置２００’’’は、実施例１の行動タイミング決定装置２００が有する要否確率計算部２３０および行動タイミング決定部２４０が、要否確率計算部２３０’および行動タイミング決定部２４０’にそれぞれ変更されている点が実施例１との相違点である。従って、本変形例の行動タイミング決定装置２００’’’が有する各構成部については上述の各構成部の説明と重複するため、説明を省略する。本変形例では、前述の正負分布モデルと、前述の閾値モデルとを組み合わせて用いる。このため、変形例３の行動タイミング決定装置２００’’’の行動タイミング決定方法を正負分布−ｔモデルと呼ぶ。
【実施例２】
【００３６】
次に、図１４、図１５を参照して本発明の実施例２に係る行動タイミング決定装置３００について詳細に説明する。図１４は実施例２に係る行動タイミング決定装置３００の構成例を示すブロック図である。図１５は実施例２に係る行動タイミング決定装置３００の動作例を示すフローチャートである。実施例２の行動タイミング決定装置３００は、実施例１の行動タイミング学習装置１００および実施例１の行動タイミング決定装置２００の各構成要素をすべて有することにより、行動タイミングの学習と、行動タイミングの決定の何れも実行可能としたことを特徴とする。具体的には、本実施例の行動タイミング決定装置３００は、行動取得部１１０と、クロック発生部１２０と、時刻ロガー更新部９３０と、時刻ロガー９４０と、直近タイミング抽出部１３０と、第一メモリ９５０と、直前タイミング取得部１４０と、タイミング構造生成部１５０と、一時メモリ更新部１６０と、第二メモリ９６０と、要否情報抽出部１７０と、学習データ生成部１８０と、学習データ記憶部１９０と、経過時間抽出部２１０と、部分集合抽出部２２０と、要否確率計算部２３０と、行動タイミング決定部２４０とを有する。ただし行動取得部１１０は前記同様行動タイミング決定装置３００の必須の構成要素ではないため省略することとしてもよい。これらの各構成部については前述した行動タイミング学習装置１００、もしくは前述した行動タイミング決定装置２００における同一番号を付した各構成部と同じ機能を有する。従って、これらについては説明を省略する。本実施例の行動タイミング決定装置３００は、行動タイミングを学習する際には、図３に示した各構成部のみを機能させ、実施例１に係る行動タイミング学習装置１００と全く同一の動作をすることにより、学習データ集合Ｄを生成することができる。また、本実施例の行動タイミング決定装置３００は、行動タイミングを決定する際には、図７に示した各構成部のみを機能させ、実施例１に係る行動タイミング決定装置２００と全く同一の動作をすることにより、対話システム９７０に行動タイミング信号ＷＴＩＭを出力することができる。また、行動タイミングを決定する際に得られた受信ユーザの直近タイミングＴＩＭＤ、直前タイミングＴＰＡＳ、要否情報ＲＩＭＤに対して、ステップ１４０〜ステップ１９０を実行することにより、学習データ集合Ｄを随時更新しながら、行動タイミング決定を行うことも可能である。また、実施例１、変形例１〜３に示したように、本実施例の行動タイミング決定装置３００は、ｋＮＮ−ｓモデル、正負分布−ｓモデル、ｋＮＮ−ｔモデル、正負分布−ｔモデルのいずれのモデルを用いて行動タイミングを決定することとしても良く、前述と同様に、それぞれ行動タイミング決定装置３００、３００’、３００’’、３００’’’にて各モデルを用いた行動タイミング決定を行うことができる。
【００３７】
次に本発明の実施例１および、実施例１の変形例１〜３に係る行動タイミング決定装置２００、２００’、２００’’、２００’’’の精度を評価するために行われた実験について説明する。この実験は、図２において説明した連想クイズ対話を収録した対話ログを用いて行った。まず、収録した対話ログを学習セットとテストセットに分ける。学習セットから学習データ集合Ｄを生成し、この学習データ集合Ｄを用いて、テストセットに対してヒント提案をシミュレートする。モデルごとにヒント提案の成功率を計算し、この成功率を人間のヒント提案の成功率と比較した。ヒント提案の成功率比較に用いたモデルはランダムモデル、引き込みモデル、ｋＮＮ−ｓモデル（実施例１）、正負分布−ｓモデル（変形例１）、ｋＮＮ−ｔモデル（変形例２）、正負分布−ｔモデル（変形例３）の６種類である。ここでランダムモデルと引き込みモデルについて説明する。ランダムモデルとは上述した行動確率ＰＡＣＴ（Ｔ）を、経過時間Ｔによらず一定の予め定めた確率値ｒとする（ＰＡＣＴ（Ｔ）＝ｒ）行動タイミング決定モデルのことである。ランダムモデルでは、対話相手の意図とは関係なく、行動、待機の何れを実行するかが一定の確率値ｒに基づいて、常に無作為に定まる。従って、このランダムモデルは他のモデルのヒント提案の成功率を評価する基準となる。他のモデルのヒント提案の成功率が、無作為にヒント提案をするランダムモデルの成功率に比べてどれだけ向上しているかを評価することができる。一方、引き込みモデルとは上述した行動確率ＰＡＣＴ（Ｔ）を、受信ユーザの直近タイミングＴＩＭＤで最大となるガウス分布に従うものと仮定し、行動確率ＰＡＣＴ（Ｔ）を、
【００３８】
【数３】
0005361832.tif 000004
【００３９】
として計算する行動タイミング決定モデルのことである。この引き込みモデルは従来の行動タイミング研究で用いられている方法であり、本発明の行動タイミング決定装置の精度が従来技術と比較してどれだけ向上しているかを評価することができる。図１６を参照して、実験結果の説明を行う。ヒント提案の成功率については、各モデルがヒント提案までに要した時間が０〜２［ｓｅｃ］であるヒント提案、２〜６［ｓｅｃ］であるヒント提案、６〜［ｓｅｃ］であるヒント提案の３分類に対してそれぞれ成功率を計算し、さらに全てのヒント提案結果の合計についても成功率を計算した。各成功率の右隣の欄には前述のランダムモデルの成功率を１とした場合の正規化成功率を示してある。ｋＮＮモデルでは、ｋ＝１５、ｗ＝ｄ＝ｒ、ＰＴＨＲ＝０．３とし、正負分布モデルでは、ｋ＝１５、ｗ＝ｒ、ＰＴＨＲ＝０．２とした。また、人間のヒント提案の成功率として、図２において説明した提示ユーザのヒント提案の成功率を用いた。提示ユーザのヒント提案成功率の計算方法については前述のとおり、提示ユーザの提案成功回数を受信ユーザのヒント要求回数の総数で除算することで計算可能である。実験結果より、ｋＮＮ−ｓモデル（実施例１）、正負分布−ｓモデル（変形例１）、ｋＮＮ−ｔモデル（変形例２）、正負分布−ｔモデル（変形例３）はいずれもランダムモデルや従来技術である引き込みモデルよりも優れていることが分かる。加えて、ｋＮＮ−ｔモデルのみ０〜２［ｓｅｃ］の結果において提示ユーザの成功率の９０％信頼区間に含まれていることが分かった。また、ｋＮＮ−ｔモデル、ｋＮＮ−ｓモデルについては全ての時間帯（０〜２［ｓｅｃ］、２〜６［ｓｅｃ］、６〜［ｓｅｃ］）において正規化成功率が基準値１よりも有意に高いことが分かった。
【００４０】
＜本発明の各実施例が有する効果＞
本発明の実施例１にかかる行動タイミング学習装置１００によれば、タイミング構造生成部１５０がタイミング構造｛ＳＩＭＤ，ＳＰＡＳ｝を生成し、要否情報抽出部１７０がユーザの要否情報ＲＩＭＤを取得して、当該取得した要否情報ＲＩＭＤを出力するため、要否確率ＰＲＥＱ（Ｔ）を計算するために必要な学習データ集合Ｄを生成することができる。
【００４１】
本発明の実施例１にかかる行動タイミング決定装置２００によれば、部分集合抽出部２２０が、経過時間Ｔを用いて学習データ集合Ｄから部分集合ＤＴを抽出し、要否確率計算部２３０が当該部分集合ＤＴと直近タイミングＴＩＭＤから要否確率ＰＲＥＱ（Ｔ）を計算し、行動タイミング決定部２４０が当該要否確率ＰＲＥＱ（Ｔ）に基づいて行動もしくは待機の何れを実行するかを決定するため、支援要否推定に基づく対話システムの行動タイミング制御を実現することができ、これによりユーザが求める適切なタイミングで情報提示を行うことができる。また、本発明の実施例１にかかる行動タイミング決定装置２００によれば、ｋＮＮ−ｓモデルにより行動タイミングを決定するため、図１６の実験結果に示したように、従来技術よりも高い成功率で行動タイミングを決定することができる。
【００４２】
本発明の変形例１にかかる行動タイミング決定装置２００’によれば、正負分布−ｓモデルにより行動タイミングを決定するため、図１６の実験結果に示したように、従来技術よりも高い成功率で行動タイミングを決定することができる。
【００４３】
本発明の変形例２にかかる行動タイミング決定装置２００’’によれば、ｋＮＮ−ｔモデルにより行動タイミングを決定するため、図１６の実験結果に示したように、従来技術よりも高い成功率で行動タイミングを決定することができる。
【００４４】
本発明の変形例３にかかる行動タイミング決定装置２００’’’によれば、正負分布−ｔモデルにより行動タイミングを決定するため、図１６の実験結果に示したように、従来技術よりも高い成功率で行動タイミングを決定することができる。
【００４５】
本発明の実施例２に係る行動タイミング決定装置３００によれば、行動タイミングを決定する機能と、行動タイミングを学習する機能とを１つの装置で実現することができる。また、学習データ集合Ｄを随時更新しながら、行動タイミング決定を行うこともできる。
【００４６】
＜本発明の各実施例が有する効果の説明終わり＞
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００４７】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００４８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００４９】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００５１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0005361832.tif 000005
【図２】
0005361832.tif 000006
【図３】
0005361832.tif 000007
【図４】
0005361832.tif 000008
【図５】
0005361832.tif 000009
【図６】
0005361832.tif 000010
【図７】
0005361832.tif 000011
【図８】
0005361832.tif 000012
【図９】
0005361832.tif 000013
【図１０】
0005361832.tif 000014
【図１１】
0005361832.tif 000015
【図１２】
0005361832.tif 000016
【図１３】
0005361832.tif 000017
【図１４】
0005361832.tif 000018
【図１５】
0005361832.tif 000019
【図１６】
0005361832.tif 000020