以下、本発明に係る実施の形態について図面を参照して説明する。
(実施の形態1)
図1は、本発明の実施の形態1における目的推定装置の構成図である。
本実施の形態における目的推定装置100は、操作対象機器の有する複数の機能のうち、ユーザの目的とする機能を適切に推定して、その操作対象機器に対するユーザの操作を十分に支援し得るものである。そして、この目的推定装置100は、入力部101、出力部103、入出力制御部107、機器制御部109、操作履歴格納部108、操作支援決定部114、目的推定部113、サブゴール推定部110、機能表現格納部111、および単語概念記憶部112を備えている。
なお、本実施の形態では、サブゴール推定部110がサブゴール特定手段として構成され、目的推定部113が推定手段として構成され、機能表現格納部111が機能要素記憶手段として構成されている。
このような目的推定装置100は、例えば、入力部101と、入力部101以外の構成要素からなる目的推定装置本体とに分離されている。そして、目的推定装置本体は、操作対象機器に備え付けられている。また、入力部101は、例えば、操作対象機器および目的推定装置本体をリモートコントロールするための端末(以下、単にリモコンという)として構成されている。
入出力制御部107は、入力部101からの信号に基づいて目的推定装置本体の各構成要素の制御を行う。
入力部101はユーザからの入力を受け付ける。また、入力部101は、ユーザによる操作によって選択された、メニュー上の選択肢を入力選択肢として受け付ける選択肢入力部102と、ユーザからの支援要求を受け付ける支援要求入力部106とを備える。支援要求入力部106は、そのリモコンに取り付けられたヘルプボタンや、出力部103に提示される「?」が記されたボタンなどが選択されることによって、支援要求を受け付ける。そして入力部101は、受け付けられた入力選択肢、または受け付けられた支援要求を示す入力信号121を入出力制御部107に送信する。
なお、本実施の形態では、選択肢入力部102が、複数の選択肢の中から、ユーザによって選択された選択肢を取得する選択肢取得手段として構成され、支援要求入力部106が、ユーザから支援の要求を受け付ける支援要求受付手段として構成されている。
出力部103は、入出力制御部107から出力信号122を取得し、その出力信号122の示す情報をユーザに提示する。また、出力部103は、複数の選択肢を表示する選択肢提示部104と、支援情報を表示する操作支援提示部105とを備える。支援情報は、ユーザの操作対象機器に対する操作を支援するための情報であって、目的推定装置100によって推定された、ユーザの目的とする機能を示す情報である。
なお、本実施の形態では、操作支援提示部105が目的推定部113で推定された機能を提示する提示手段として構成されている。
操作履歴格納部108は、選択肢入力部102で受け付けられた入力選択肢を示す入力信号121を選択信号123として入出力制御部107から取得し、その選択信号123の示す入力選択肢を格納する。また、操作支援要求があると、つまり、支援要求入力部106で受け付けられた支援要求を示す入力信号121が入出力制御部107に出力されると、操作履歴格納部108は、それまでに蓄積されている入力選択肢である操作履歴を示す履歴信号133を、入出力制御部107を介してサブゴール推定部110に出力する。
機器制御部109は、操作対象機器(例えばDVDレコーダなど)を制御する。この機器制御部109は、入出力制御部107から機器制御信号124を取得する。そして、機器制御部109は、その機器制御信号124の示す機能に応じて操作対象機器を制御する。つまり、入出力制御部107は、入力部101から取得された入力信号121に基づいて、操作対象機器に実行させるべき機能を特定し、その機能を示す機器制御信号124を機器制御部109に出力する。また、機器制御部109は、操作対象機器によってその機能が実行された場合は、その機能が実行されたことを示す機器制御信号124を入出力制御部107に出力する。
単語概念記憶部112は、単語間の類似度(スコア)の算出を可能にするため、単語をベクトルで定義した情報を記憶している。このような情報は、例えば潜在意味解析(LSA:latent semantic analysis)などの方法で作成可能であり、単語概念信号127としてサブゴール推定部110に出力される。つまり、単語概念信号127は、複数の単語のそれぞれに対して、その単語を表すベクトルを示す。ここでLSAは、例えば、操作対象機器のマニュアルや、それに関連するWeb(World Wide Web)などから取得されたテキスト情報をもとに作成される。
機能表現格納部111は、操作対象機器の有する全ての機能をそれぞれ表す名称(機能名)と、その名称に含まれる単語などの部分要素とを対応付けた状態で格納している。なお、本実施の形態では、部分要素(要素)を単語として説明するが、部分要素は、より詳細な単位である形態素や、より大きな単位である名詞句や動詞句といった句であってもよい。また、この機能表現格納部111に格納されている情報は、機能表現信号128としてサブゴール推定部110および目的推定部113に出力される。
サブゴール推定部110は、入出力制御部107から出力された履歴信号133と、単語概念記憶部112から得られる単語概念信号127と、機能表現格納部111から得られる機能表現信号128とに基づいて、履歴信号133の示す入力選択肢ごとに、機能表現信号128の示す全ての機能に対するサブゴールを推定する。そして、サブゴール推定部110は、そのサブゴールを示すサブゴール推定結果信号125を入出力制御部107に出力する。
ここで、サブゴールの定義を説明する。例えば、機能名「人名で検索して番組を予約録画する」は、「人名で検索する」および「番組を予約録画する」のように2つの部分に分けられたり、「人名で」、「検索する」、「番組を」、および「予約録画する」のように4つの部分に分けられる。このように、操作対象機器の機能名は、複数の部分に分けられる。そして、この複数の部分のうちの、入力選択肢に最も関連の深い部分をサブゴールという。
言い換えれば、サブゴールとは、機能名の文字列を構成する複数の部分要素(要素)のうちの、入力選択肢に最も関係の深い、つまり入力選択肢との間で最も類似度が大きい、1つの部分要素、または複数の部分要素の集合である。なお、機能名全体を1つのサブゴールとして扱ってもよい。
目的推定部113は、入出力制御部107から出力されたサブゴール推定結果信号125および機能表現格納部111から得られる機能表現信号128をもとに、最終的にユーザの目的機能を推定し、その結果を入出力制御部107に目的推定結果信号130として出力する。
操作支援決定部114は、入出力制御部107を通じて得られる目的推定結果信号130をもとに、操作支援の方法を決定し、操作支援のための操作支援信号131を出力する。
図2は、選択肢と機能を説明するための説明図である。
操作対象機器は、例えば、メニュー選択型インターフェースを持つDVDレコーダである。
一般に、DVDレコーダやテレビなどの機器のメニューは階層型に構成され、画面に表示されるメニューの項目(選択肢)を順次選択して階層を下っていくことで所望の機能が実現される。なお、メニューは複数の選択肢から構成される。
入出力制御部107は、ユーザの現在状態を管理するために、例えば図2に示すような、操作対象機器におけるツリー型(階層型)のメニュー情報を用いる。このメニュー情報は、ツリー型に構成された各メニューに対応するノードと、各ノードに対応する表示画面を識別するための画面IDとを示す。例えば、第1階層のトップメニューと書かれたノードは、選択肢の選択操作が開始されたときに最初に選択されるノードで、そのノードが選択されると、画面ID「A」に対応する画面、すなわちトップメニュー401が表示される。トップメニュー401に表示された項目(選択肢)の中から、ユーザが例えば番組表を選択すると、第2階層の「番組表」と書かれたノードが選択され、画面ID「F」に対応する画面、すなわちメニュー402が表示される。
つまり、選択肢提示部104は、まず、選択肢「放送中番組、再生ナビ、Gコードなど」を示す第1階層のトップメニュー401を表示する。選択肢入力部102は、ユーザによる操作に応じて選択された選択肢(入力選択肢)、例えば「番組表」を示す入力信号121を入出力制御部107に出力する。入出力制御部107は、その入力信号121を取得すると、その入力信号121の示す入力選択肢「番組表」に対応する第2階層のノードをメニュー情報から特定する。そして、入出力制御部107は、その第2階層のノードに対応する、選択肢「地上波アナログ、BS、CS」を示すメニュー402を選択肢提示部104に表示させる。そして、選択肢入力部102は、ユーザによる操作に応じて選択された選択肢(入力選択肢)、例えば「CS」を示す入力信号121を入出力制御部107に出力する。このように、選択肢が順次選択されるごとに、操作対象機器の全ての機能F(1)〜F(N)の中から、操作対象機器に実行させるべき機能が絞り込まれ、最終的に1つの機能が特定される。
図3は、入力部101の外観を示す図である。
入力部101は、上述のようにリモコンとして構成され、メニューボタン506、カーソルキー502、戻るボタン504、および決定ボタン503を有する選択肢入力部102と、ヘルプボタン507を有する支援要求入力部106とを備えている。また、入力部101は電源ボタン505を有する。
つまり、ユーザは、図3に示す入力部101の電源ボタン505を押して、操作対象機器の電源を入れる。そして、ユーザは、メニューボタン506を押下し、まず、図2に示すようなトップメニュー401を表示させる。その後、ユーザは、図3に示す入力部101のカーソルキー502を使い、トップメニュー401内の所望の項目(選択肢)にカーソルを移動させ、決定ボタン503を押す。その結果、メニュー情報における表示対象のノードが下層側へ移り、表示される画面が次の画面に遷移する。
例えば、ユーザは、図2に示すようなトップメニュー401を表示させた後、カーソルキー502の下を4回押して、カーソルを選択肢「番組表」に移動させ、決定ボタン503を押す。その結果、図2に示すメニュー情報における第2階層のノード「番組表」に定義されたメニュー402が表示される。また、ユーザが戻るボタン504を押すことで、メニュー情報における表示対象のノードが上層側に一つ移り、第1階層のノード「トップメニュー」に定義されたトップメニュー401が再び表示される。
また、例えば、ユーザが現在放送中のCS放送の番組から所望の番組を視聴したいと考えた場合、ユーザは、同様の操作を行うことにより、「トップメニュー」→「番組表」→「CS」→「現時刻」→「番組リスト」の順で、表示されるメニューを変える。その結果、現在放送中のCS放送の番組の一覧を示すメニュー403が表示される。そして、ユーザは、そのメニュー「番組リスト」から見たい番組(選択肢)を選択することで、その番組の視聴が可能となる。
図4は、機能表現格納部111に格納されている情報を示す図である。
機能表現格納部111は、図4に示す機能表現データベース601を格納している。機能表現データベース601は、ユーザの操作目的である機能を推定するため、機能ごとに、その機能を識別するための機能IDと、その機能を表す名称(機能名)と、その機能名を構成する部分要素と、その要素数とを示す。
具体的には、機能名には、マニュアルなどに記載されている説明文が使用される。また、部分要素(要素)には、機能名(説明文)に形態素解析を施して抽出された名詞や動詞などに相当する部分が使用される。また、何れの機能の表現(機能名)も「〜を〜する」という形式で記載できることに着目し、機能名において、「〜を」の部分である操作対象、「〜する」の部分である操作目的、および、それら以外の要素をそれぞれ部分要素として使用してもよい。このように、部分要素に文法的な単位を利用しても良い。
例えば、機能名(説明文)が「録画した番組の内容を確認する」である場合、その機能名の部分要素は、その機能名に形態素解析を施して抽出された「録画」、「番組」、「内容」および「確認」である。なお、この場合、機能名「録画した番組の内容を確認する」の部分要素として、操作対象である「録画、番組、内容」と、操作目的である「確認」とを使用しても良い。
このような機能表現データベース601は、機能表現信号128としてサブゴール推定部110および目的推定部113に出力される。
つまり、本実施の形態では、機能表現格納部111は、操作対象機器の機能ごとに、その機能の機能名の文字列に含まれる複数の要素を要素群として記憶している。
図5は、単語概念記憶部112に格納されている情報の一例を示す図である。
単語概念記憶部112は、単語概念データベース112aを格納している。この単語概念データベース112aは、単語ごとに、その単語と、その単語を表現するベクトルとを示す。各単語は、LSAなどの手法で構築された意味空間上のベクトルとして表現される。すなわち、単語概念データベース112aによって示されるベクトルは、そのLSAなどの手法により構築された意味空間上のベクトルである。このような単語概念データベース112aは、単語概念信号127としてサブゴール推定部110に出力される。
図6は、サブゴール推定部110の機能構成を詳細に示す構成図である。
サブゴール推定部110は、入力解釈部201と、近傍要素特定部202と、導出部203と、推定部204とを備えている。入力解釈部201で入力選択肢の解釈として可能性がある表現(以下、入力解釈という)を展開し、近傍要素特定部202で必要以上に優劣をつけることを防ぐために、それぞれの入力選択肢の解釈のもと機能を構成する部分要素のうち、重要なものを特定する。さらに、導出部203で特定された部分要素を組み合わせることによりサブゴールとなる候補を生成し、推定部204でもっとも可能性の高いサブゴールを推定する。
入力解釈部201は、履歴信号133を受け取ると、その履歴信号133の示す入力選択肢ごとに、その入力選択肢の解釈として可能性がある表現(以下、入力解釈という)を列挙し、その入力解釈を示す入力解釈信号211を近傍要素特定部202に出力する。
図7は、履歴信号133の内容を示す図である。
この履歴信号133は、例えば、ユーザによる1回目の選択操作によって選択肢「HDD/DVD/SD切換」が入力選択肢として選択され、2回目の選択操作によって選択肢「番組表」が入力選択肢として選択され、3回目の選択操作によって選択肢「戻る」が入力選択肢として選択されたことを示す。
図8は、入力選択肢から解釈される入力解釈を示す図である。
入力解釈部201は、例えば、入力選択肢「HDD/DVD/SD切換」の入力解釈として「HDD」、「DVD」、「SD」、「切換」、および「HDD/DVD」などを特定(解釈)する。そして、入力解釈部201は、図8に示すような入力選択肢ごとに複数の入力解釈を示す入力解釈信号211を出力する。
このような入力解釈は、入力選択肢の名称を構成する要素や、複数の要素の集合などである。また、その要素は、単語や句、形態素などである。
つまり、本実施の形態では、サブゴール推定部110は、選択肢入力部102によって取得された入力選択肢を表現する文字列を複数の要素に分けることにより、その複数の要素をそれぞれ入力解釈として生成する入力解釈部201を備えている。
近傍要素特定部202は、入力解釈信号211と機能表現信号128と単語概念信号127とをもとに、入力選択肢と機能ごとに、その入力選択肢に対する複数の入力解釈のそれぞれと、その機能に対する複数の部分要素のそれぞれとの間の意味内容の類似度をスコアとして算出する。つまり、近傍要素特定部202は、入力解釈を表すベクトルと部分要素を表すベクトルとのベクトル間距離(例えば、コサイン距離)を、その入力解釈とその部分要素との間のスコアとして算出する。さらに、近傍要素特定部202は、入力選択肢と機能ごとに、算出されたスコアを閾値と比較することで、その機能の部分要素のうち重要な部分要素(以下、近傍要素という)を特定する。そして、近傍要素特定部202は、その特定した近傍要素を示す近傍要素信号212を導出部203に出力する。
図9は、入力解釈と部分要素とのスコアを示す図である。
例えば、近傍要素特定部202は、入力選択肢「HDD/DVD/SD切換」に対する入力解釈「HDD、DVD、SD、…」のそれぞれと、機能「録画した番組の内容を確認する」に対する部分要素「録画、番組、内容、確認」のそれぞれとの間のスコアを算出する。具体的に、近傍要素特定部202は、入力解釈「HDD」と部分要素「録画」との間のスコアを「0.26」として算出する。
また、近傍要素特定部202は、入力選択肢「HDD/DVD/SD切換」と他の機能「録画した番組の音声を切り換える」との間でも、上述と同様のスコアを算出する。さらに、入力解釈信号211に入力選択肢「HDD/DVD/SD切換」以外の他の入力選択肢「番組表」も含まれていれば、近傍要素特定部202は、入力選択肢「番組表」と機能「録画した番組の内容を確認する」との間でも、上述と同様のスコアを算出する。
さらに、近傍要素特定部202は、図9に示すように、入力選択肢「HDD/DVD/SD切換」と機能「録画した番組の内容を確認する」とに対して算出されたスコアと閾値とを用いることで、その機能「録画した番組の内容を確認する」の部分要素「録画、番組、内容、確認」のうち重要な部分要素を近傍要素として特定する。具体的に、近傍要素特定部202は、閾値が0.4の場合には、0.4以上のスコアを有する部分要素「録画」および「番組」を近傍要素として特定する。これにより、入力選択肢「HDD/DVD/SD切換」からでは特定が困難であると考えられる「内容」や「確認」といった部分要素を省くことができる。
導出部203は、近傍要素信号212を取得すると、その近傍要素信号212の示す近傍要素に基づいて、入力選択肢と機能ごとに、サブゴール候補を導出する。つまり、導出部203は、近傍要素信号212の示す近傍要素をサブゴール候補として導出するとともに、複数の近傍要素を組み合わせることでサブゴール候補を導出する。例えば上述のように、近傍要素信号212が近傍要素「録画」および「番組」を示す場合、導出部203は、サブゴール候補として「録画」、「番組」および「録画番組」を導出する。
そして、導出部203は、上述のように導出されたサブゴール候補を示す候補信号213を推定部204に出力する。
推定部204は、候補信号213を取得すると、その候補信号213と単語概念信号127とをもとに、入力選択肢と機能ごとに、その入力選択肢に対する複数の入力解釈のそれぞれと、その機能に対する複数のサブゴール候補のそれぞれとの間のスコアを算出する。なお、推定部204は、近傍要素特定部202と同様の手順でスコアを算出する。さらに、推定部204は、入力選択肢と機能ごとに、算出されたスコアの中で最大のスコアに対応するサブゴール候補をサブゴールとして推定(特定)する。そして、推定部204は、入力選択肢と機能ごとに推定されたサブゴールとその最大スコアを示すサブゴール推定結果信号125を出力する。なお、上記最大スコアを、以下、サブゴールスコアという。
図10は、入力解釈とサブゴール候補とのスコアを示す図である。
例えば、推定部204は、入力選択肢「HDD/DVD/SD切換」に対する入力解釈「HDD、DVD、SD、…」のそれぞれと、機能「録画した番組の内容を確認する」に対するサブゴール候補「録画、番組、録画番組」のそれぞれとの間のスコアを算出する。具体的に、推定部204は、入力解釈「HDD」とサブゴール候補「録画番組」との間のスコアを「0.27」として算出する。
さらに、推定部204は、このように算出されたスコアの中で最大のスコア「0.45」に対応するサブゴール候補「録画番組」を、入力選択肢「HDD/DVD/SD切換」と機能「録画した番組の内容を確認する」に対するサブゴールとして推定する。そして、推定部204は、サブゴール「録画番組」と、そのサブゴールの最大スコア(サブゴールスコア)「0.45」とを示すサブゴール推定結果信号125を出力する。
また、推定部204は、入力選択肢「HDD/DVD/SD切換」と他の機能「録画した番組の音声を切り換える」との間でも、上述と同様に、スコアを算出してサブゴールを推定する。さらに、入力解釈信号211に入力選択肢「HDD/DVD/SD切換」以外の他の入力選択肢「番組表」も含まれていれば、推定部204は、入力選択肢「番組表」と機能「録画した番組の内容を確認する」との間でも、上述と同様にスコアを算出してサブゴールを推定する。以上の方法により、各入力に応じて特定可能な機能の範囲を決めることで、従来、入力選択肢と機能の全特徴をもとに推定を行っていたために必要以上に優劣をつけてしまっていた課題が解決可能になる。
図11は、サブゴール推定結果信号125の内容を示す図である。
サブゴール推定結果信号125は、入力選択肢ごとに、各機能のサブゴールと、そのサブゴールに対して算出されたサブゴールスコアとを示す。例えば、サブゴール推定部110は、図7に示すような履歴信号133を取得すると、図11に示すようなサブゴール推定結果信号125を出力する。なお、図11中、両端矢印はサブゴールの範囲を示し、その両端矢印の上の数字はそのサブゴールに対して算出されたサブゴールスコアを示す。
具体的に、サブゴール推定結果信号125は、図11に示すように、入力選択肢「HDD/DVD/SD切換」に対して、機能ID「1」の機能のサブゴール「録画番組」と、そのサブゴールのサブゴールスコア「0.45」とを示すとともに、機能ID「2」の機能のサブゴール「録画番組音声切換」と、そのサブゴールのサブゴールスコア「0.62」とを示す。さらに、このサブゴール推定結果信号125は、入力選択肢「番組表」に対して、機能ID「1」の機能のサブゴール「録画番組」と、そのサブゴールのサブゴールスコア「0.87」とを示すとともに、機能ID「2」の機能のサブゴール「録画番組」と、そのサブゴールのサブゴールスコア「0.87」とを示す。
図12は、サブゴール推定部110の動作を示すフローチャートである。
サブゴール推定部110は、履歴信号133の示す、1回目(t=1)から最後のT回目(t=T)までの選択操作ごとに、その選択操作で選択された入力選択肢と各機能との間でのサブゴールおよびサブゴールスコアを推定する。
具体的には、まず、サブゴール推定部110の入力解釈部201は、ユーザによる選択操作の順番を示すカウント数tをt=1に初期化し、サブゴールの推定対象とされる機能を特定するためのカウント数iをi=1に初期化する(ステップS901)。
続いて、入力解釈部201は、履歴信号133の示す全ての入力選択肢に対してサブゴールの推定が行われたか否かを判別する(ステップS902)。例えば、入力解釈部201は、履歴信号133の示す全ての入力選択肢の数がM個である場合、カウント数t>Mが成立するか否かを判別することで、全ての入力選択肢に対して推定が行われたか否かを判別する。
ここで、入力解釈部201は、全ての入力選択肢に対して推定が行われたと判別したときには(ステップS902のY)、サブゴールの推定処理を終了し、全ての入力選択肢に対して推定が行われていないと判別したときには(ステップS902のN)、t回目に選択された入力選択肢に対する入力解釈を生成する(ステップS903)。例えば、入力解釈部201は、その入力選択肢の言葉に対して形態素解析を施し、得られた形態素の全ての組み合わせを入力解釈として生成する。具体的には、図8に示すように、入力解釈部201は、入力選択肢「HDD/DVD/SD切換」に対して、その入力選択肢を構成する4つの形態素「HDD」、「DVD」、「SD」および「切換」の組み合わせからなる合計15種類の入力解釈を生成する。
次に、入力解釈部201は、t回目に選択された入力選択肢と、操作対象機器に用意された全ての機能との間でサブゴールの推定が行われたか否かを判別する(ステップS904)。例えば、入力解釈部201は、操作対象機器に用意された機能の数がN個である場合、カウント数i>Nが成立するか否かを判別することで、全ての機能との間で推定が行われたか否かを判別することができる。ここで、入力解釈部201は、全ての機能との間で推定が行われたと判別したときには(ステップS904のY)、カウント数tを1つだけ増加させて(ステップS905)、ステップS902からの処理を繰り返し実行する。
一方、入力解釈部201は、全ての機能との間で推定が行われていないと判別したときには(ステップS904のN)、近傍要素特定部202に対して、t回目に選択された入力選択肢と、カウント数iにより特定される機能との間における近傍要素を特定させる(ステップS906)。
つまり、近傍要素特定部202は、カウント数iの機能を表現する複数の部分要素のうち、t回目の入力選択肢との関係が深い部分要素を近傍要素として抽出する。
具体的には、近傍要素特定部202は、図9に示すように、入力選択肢に対する全ての入力解釈のそれぞれと、機能を構成する全ての部分要素のそれぞれとの間でスコアを算出し、閾値以上のスコアを有する部分要素を近傍要素として抽出する。
また、近傍要素特定部202は、スコアを算出するときには、図5に示す単語概念記憶部112に格納された各単語の意味空間上でのベクトル表現をもとに、入力解釈を表すベクトルと部分要素を表すベクトルとのベクトル間距離(例えばコサイン距離)を用いて算出する。ここで、入力解釈が複数の単語からなる場合は、近傍要素特定部202は、その複数の単語のそれぞれを表すベクトルを足し合わせた後、正規化を行い、この正規化されたベクトルを上述の入力解釈を表すベクトルとして用いる。
そして、近傍要素特定部202は、図9に示すようにスコアを算出すると、機能を構成する全ての部分要素のうち、閾値(0.4)以上のスコアを有する「録画」と「番組」とを近傍要素として抽出する。この閾値を決める場合には、ユーザビリティー評価などを行い、ユーザがある機能を行おうとしたときに選択された選択肢について、ユーザが機能のどの言語表現に手がかりを持っていたかを調査する。そして、閾値は、その結果に整合するように経験的に求められる。
続いて、導出部203は、近傍要素特定部202で特定(抽出)された近傍要素をサブゴール候補として導出し、近傍要素が複数あるときには、さらに、その複数の近傍要素の組み合わせをサブゴール候補として導出する(ステップS907)。
具体的には、導出部203は、ステップS906で抽出された近傍要素「録画」および「番組」と、これらを組み合わせた「録画番組」とをサブゴール候補として導出する。
続いて、推定部204は、ステップS907で導出されたサブゴール候補と、ステップS903で生成された全ての入力解釈との間でスコアを算出する。推定部204は、スコアを算出するときには、入力解釈を表すベクトルとサブゴール候補を表すベクトルとの間のコサイン距離を用いて算出する。例えば、推定部204は、図10に示すようにスコアを算出する。そして、推定部204は、算出されたスコアの中で一番高いスコア(サブゴールスコア)を得たサブゴール候補をサブゴールとして推定する(ステップS908)。図10に示す例では、推定部204は、入力解釈「DVD」とサブゴール候補「録画番組」との間で算出されたスコアが最も高いスコアであるため、そのスコア(サブゴールスコア)を有するサブゴール候補「録画番組」をサブゴールとして推定する。
入力選択肢と機能との間でサブゴールが推定されると、入力解釈部201は、カウント数iをインクリメントして(ステップS909)、ステップS904からの処理を繰り返し実行する。
このように、本実施の形態では、サブゴール推定部110は、操作対象機器の機能ごとに、その機能の要素群(複数の部分要素)の中から、1つまたは複数の部分要素からなる互いに異なる複数のサブゴール候補を設定し、選択肢入力部102に取得された入力選択肢と、複数のサブゴール候補のそれぞれとの間の意味内容の類似度を算出し、最大の類似度に対応するサブゴール候補をサブゴールとして特定する。
図13は、目的推定部113の機能構成を詳細に示す構成図である。
目的推定部113は、可能性ベース推定部301と、確信度ベース推定部302と、切換部303とを備えている。
なお、本実施の形態における目的推定部113は、操作対象機器の複数の機能のうち、サブゴールの類似度(サブゴールスコア)が大きい機能ほど、ユーザの目的とされていると推定する。
可能性ベース推定部301は、サブゴール推定結果信号125と機能表現信号128とを受け、機能に含まれる何れかのサブゴールに対して算出されたサブゴールスコアが高いほど、その機能がユーザの目的とされている可能性が高いと推定する。そして、可能性ベース推定部301は、各機能と、それらの機能の上記可能性(可能性スコア)とを示す可能性ベース推定結果信号311を出力する。
なお、可能性ベース推定部301によって行われる推定を以下、可能性ベースの推定という。
一方、確信度ベース推定部302は、サブゴール推定結果信号125と機能表現信号128とを受け、機能を構成する部分要素の中で、サブゴールまたはサブゴールの一部として高いサブゴールスコアが算出された部分要素が多いほど、その機能がユーザの目的とされていると推定する。そして、確信度ベース推定部302は、各機能と、それらの機能の推定の度合い(確信度)とを示す確信度ベース推定結果信号312を出力する。
なお、確信度ベース推定部302によって行われる推定を以下、確信度ベースの推定という。
切換部303は、可能性ベース推定結果信号311と確信度ベース推定結果信号312とを取得して、それらの信号を切り換えて出力する。つまり、切換部303は、確信度ベース推定結果信号312の示す確信度が高ければ、確信度ベース推定結果信号312を目的推定結果信号130として出力し、確信度が低ければ、可能性ベース推定結果信号311を目的推定結果信号130として出力する。
ここで、可能性ベース推定部301の詳細な動作について説明する。
可能性ベース推定部301は、機能表現信号128を取得して、操作対象機器の有する機能および部分要素を知得する。さらに、可能性ベース推定部301は、サブゴール推定結果信号125を取得して、入力選択肢ごとの各機能のサブゴールおよびサブゴールスコアを知得する。
そして、可能性ベース推定部301は、機能の部分要素ごとに、その部分要素を一部または全部とするサブゴールと各入力選択肢との間で算出されたサブゴールスコアの中から、最大のサブゴールスコアを、その部分要素に対する要素代表サブゴールスコアとして特定する。さらに、可能性ベース推定部301は、機能ごとに、その機能に含まれる全ての部分要素に対して特定された要素代表サブゴールスコアの中から、最大の要素代表サブゴールスコアを、その機能に対する可能性スコアとして特定する。
図14は、可能性ベース推定部301の動作を説明するための説明図である。
例えば、可能性ベース推定部301は、図4の機能表現データベース601の内容を示す機能表現信号128を取得し、図11のサブゴール推定結果信号125を取得する。
そして、可能性ベース推定部301は、図11に示すサブゴール推定結果信号125に基づき、1回目(t=1)から最後のT回目(t=T)までの選択操作において、機能ID「1」の機能の中の部分要素「録画」を含む各サブゴールに対して算出されたサブゴールスコアの最大値(時間方向の最大値)を、その部分要素「録画」に対する要素代表サブゴールスコアとして特定する。同様に、可能性ベース推定部301は、機能ID「1」の機能の中の他の部分要素「番組」を含む各サブゴールに対して算出されたサブゴールスコアの最大値(時間方向の最大値)を、その部分要素「番組」に対する要素代表サブゴールスコアとして特定する。
その結果、可能性ベース推定部301は、図14に示すように、機能ID「1」の機能の中の部分要素「録画」および「番組」に対する要素代表サブゴールスコア「0.87」と、機能ID「2」の機能の中の部分要素「録画」および「番組」に対する要素代表サブゴールスコア「0.87」と、機能ID「2」の機能の中の部分要素「音声」および「切換」に対する要素代表サブゴールスコア「0.62」とを特定する。なお、図14中、「−」はサブゴールスコアまたは要素代表サブゴールスコアが不明であることを示す。
なお、図14は、最後のT回目(t=T)の選択操作が行われた後にユーザから支援要求が受け付けられた場合の要素代表サブゴールスコアだけでなく、選択操作のそれぞれで、その選択操作が行われた後にユーザから支援要求が受け付けられた場合における要素代表サブゴールスコアも示している。
つまり、仮に、1回目(t=1)の選択操作が行われた後に、ユーザから支援要求が受け付けられた場合には、可能性ベース推定部301は、1回目(t=1)だけの選択操作において、機能ID「1」の機能の中の部分要素「録画」に対するサブゴールスコアの最大値「0.45」を、その部分要素「録画」に対する要素代表サブゴールスコアとして特定する。同様に、可能性ベース推定部301は、機能ID「1」の機能の中の他の部分要素「番組」に対するサブゴールスコアの最大値「0.45」を、その部分要素「番組」に対する要素代表サブゴールスコアとして特定する。
また、仮に、2回目(t=2)の選択操作が行われた後に、ユーザから支援要求が受け付けられた場合には、可能性ベース推定部301は、1回目(t=1)から2回目(t=2)までの選択操作において、機能ID「1」の機能の中の部分要素「録画」に対するサブゴールスコアの最大値「0.87」を、その部分要素「録画」に対する要素代表サブゴールスコアとして特定する。同様に、可能性ベース推定部301は、機能ID「1」の機能の中の他の部分要素「番組」に対するサブゴールスコアの最大値「0.87」を、その部分要素「番組」に対する要素代表サブゴールスコアとして特定する。
図15は、可能性ベース推定部301の他の動作を説明するための説明図である。
可能性ベース推定部301は、上述のように要素代表サブゴールスコアを特定すると、さらに、機能の中の全ての部分要素の要素代表サブゴールスコアのうち、最大の要素代表サブゴールスコアを、その機能に対する可能性スコアとして特定する。
また、可能性ベース推定部301は、機能の中の全ての部分要素のうち、その最大の要素代表サブゴールスコアを有する部分要素またはその集合を、その機能に対する推定対象範囲として特定する。
例えば、可能性ベース推定部301は、図14に示すように、1回目(t=1)から最後のT回目(t=T)までの選択操作に対して、機能ID「1」の機能の部分要素「録画、番組、内容、確認」に対する要素代表サブゴールスコア「0.87、 0.87、 −、 −」を特定する。
この場合、可能性ベース推定部301は、図15に示すように、それらの中で最大の要素代表サブゴールスコア「0.87」を、機能ID「1」の機能に対する可能性スコアとして特定し、その最大の要素代表サブゴールスコア「0.87」を有する部分要素の集合「録画番組」を推定対象範囲として特定する。
同様に、可能性ベース推定部301は、図14に示すように、1回目(t=1)からT回目(t=T)までの選択操作に対して、機能ID「2」の機能の部分要素「録画、番組、音声、切換」に対する要素代表サブゴールスコア「0.87、 0.87、 0.62、 0.62」を特定する。
この場合、可能性ベース推定部301は、図15に示すように、それらの中で最大の要素代表サブゴールスコア「0.87」を、機能ID「2」の機能に対する可能性スコアとして特定し、その最大の要素代表サブゴールスコア「0.87」を有する部分要素の集合「録画番組」を推定対象範囲として特定する。
なお、図15も、図14と同様、最後のT回目(t=T)の選択操作が行われた後にユーザから支援要求が受け付けられた場合の可能性スコアおよび推定対象範囲だけでなく、選択操作のそれぞれで、その選択操作が行われた後にユーザから支援要求が受け付けられた場合における可能性スコアおよび推定対象範囲も示している。
つまり、仮に、1回目(t=1)の選択操作が行われた後に、ユーザから支援要求が受け付けられた場合には、可能性ベース推定部301は、図15に示すように、機能ID「1」の機能に対して、可能性スコア「0.45」と、その機能に対する推定対象範囲「録画番組」とを特定する。また、仮に、2回目(t=2)の選択操作が行われた後に、ユーザから支援要求が受け付けられた場合には、可能性ベース推定部301は、図15に示すように、機能ID「1」の機能に対して、可能性スコア「0.87」と、その機能に対する推定対象範囲「録画番組」とを特定する。
なお、可能性ベース推定部301は、サブゴール推定結果信号125に基づいて、所定の機能と入力選択肢との間にサブゴール(手がかり)が得られていないと判断した場合には、上述のように算出された可能性スコアから、上述のような手がかりが得られていない入力選択肢の数に応じた数値を減算してもよい。
例えば、可能性ベース推定部301は、図11に示すようなサブゴール推定結果信号125に基づいて、最後のT回目の選択操作で選択された入力選択肢と、機能ID「1」および機能ID「2」の機能との間にサブゴールの手がかりが得られていないと判断する。そこで、可能性ベース推定部301は、ペナルティとして、手がかりが得られていない機能ID「1」および機能ID「2」の機能の可能性スコアから所定の数値を減算する。
このように、本実施の形態における目的推定部113は、操作対象機器の機能ごとに、その機能と各入力選択肢との間で特定された複数のサブゴールの類似度のうち最大の類似度を、その機能の可能性スコアとして算出し、操作対象機器の複数の機能の中で、可能性スコアの大きい機能ほど、ユーザの目的とされていると推定する可能性ベース推定部301を備えている。
ここで、確信度ベース推定部302の詳細な動作について説明する。
確信度ベース推定部302は、可能性ベース推定部301と同様、図14に示すように、機能の部分要素ごとに、1回目(t=1)から最後のT回目(t=T)までの選択操作において、その部分要素を含む各サブゴールと各入力選択肢との間で算出されたサブゴールスコアの中から最大のサブゴールスコアを、その部分要素に対する要素代表サブゴールスコアとして特定する。
そして、確信度ベース推定部302は、機能ごとに、その機能の中の全ての部分要素に対して特定された要素代表サブゴールスコアと(数1)とを用いて、その機能に対する確信度Bf(f)を算出する。
なお、(数1)において、L(ei)は、部分要素eiに対する要素代表サブゴールスコアであり、n(f)は機能fの有する部分要素の数であり、iは1〜n(f)までの整数を示す。ただし、部分要素eiに対する要素代表サブゴールスコアL(ei)が不明である場合には、L(ei)=0.01とする。
このように、確信度ベース推定部302は、(数1)に示すような計算を行うことにより、機能fを構成する部分要素の中で、サブゴールまたはサブゴールの一部として高いサブゴールスコアが算出された部分要素eiが多いほど大きい数値を示す確信度Bf(f)を、その機能fに対して算出する。なお、Bf(f)は0よりも小さい値を示す。
図16は、確信度ベース推定部302によって算出される確信度を示す図である。
例えば、確信度ベース推定部302は、図14に示すように、1回目(t=1)から最後のT回目(t=T)までの選択操作に対して、機能ID「1」の機能の部分要素「録画、番組、内容、確認」に対する要素代表サブゴールスコア「0.87、 0.87、 −、 −」を特定する。
この場合、確信度ベース推定部302は、機能ID「1」の機能fの中の各部分要素ei(i=1〜4)対する要素代表サブゴールスコアL(ei)=「0.87 、0.87、 0.01、 0.01」とn(f)=4とを(数1)に代入する。その結果、確信度ベース推定部302は、図16に示すように、機能ID「1」の機能fに対する確信度Bf(f)を「−1.03」として算出する。
同様に、確信度ベース推定部302は、図14に示すように、1回目(t=1)から最後のT回目(t=T)までの選択操作に対して、機能ID「2」の機能の部分要素「録画、番組、音声、切換」に対する要素代表サブゴールスコア「0.87、 0.87、 0.62、 0.62」を特定する。
この場合、確信度ベース推定部302は、機能ID「2」の機能fの中の各部分要素ei(i=1〜4)対する要素代表サブゴールスコアL(ei)=「0.87 、0.87、 0.62、 0.62」とn(f)=4とを(数1)に代入する。その結果、確信度ベース推定部302は、図16に示すように、機能ID「2」の機能fに対する確信度Bf(f)を「−0.14」として算出する。
このように、確信度ベース推定部302は、全ての機能に対してその機能の確信度を算出する。
なお、図16も、図14と同様、最後のT回目(t=T)の選択操作が行われた後にユーザから支援要求が受け付けられた場合の確信度だけでなく、選択操作のそれぞれで、その選択操作が行われた後にユーザから支援要求が受け付けられた場合における確信度も示している。
つまり、仮に、1回目(t=1)の選択操作が行われた後に、ユーザから支援要求が受け付けられた場合には、確信度ベース推定部302は、図16に示すように、機能ID「1」の機能に対する確信度Bf(f)を「−1.18」として算出する。また、仮に、2回目(t=2)の選択操作が行われた後に、ユーザから支援要求が受け付けられた場合には、確信度ベース推定部302は、図16に示すように、機能ID「1」の機能に対する確信度Bf(f)を「−1.03」として算出する。
このように、本実施の形態における目的推定部113は、操作対象機器の機能ごとに、その機能の要素群(複数の部分要素)のうち、その機能と各入力選択肢との間で特定された複数のサブゴールの何れにも含まれていない部分要素の数の割合が大きいほど小さく、複数のサブゴールの類似度(サブゴールスコア)が大きいほど大きくなるような確信度を算出し、操作対象機器の機能の中で、その確信度の大きい機能ほど、ユーザの目的とされていると推定する確信度ベース推定部302を備えている。
図17は、目的推定部113の動作を示すフローチャートである。
目的推定部113の可能性ベース推定部301は、まず、サブゴール推定結果信号125をもとに各機能の可能性スコアおよび推定対象範囲を特定する(ステップS1001)。つまり、可能性ベース推定部301は、可能性スコアが高い機能ほど、ユーザの目的とする機能であると推定する。このような推定の方法は、機能を構成する部分要素の一部でも高いスコアが算出されていれば、その機能がユーザの目的とする機能である可能性があるとする推定方法である。
続いて、目的推定部113の確信度ベース推定部302は、各機能の確信度を算出する(ステップS1002)。つまり、確信度ベース推定部302は、確信度が高い機能ほど、ユーザの目的とする機能であると推定する。このような推定の方法は、機能を構成する部分要素のうち高いスコアの部分要素がより多くある機能ほど、その機能がユーザの目的とする機能であるとする推定方式である。
例えば、確信度ベース推定部302は、上記(数1)に基づき各機能の確信度Bf(f)を算出する。その結果、より多くの部分要素に対して手がかり(サブゴールスコア)が得られている機能ほど、その確信度Bf(f)は高い値(0に近い値)となり、逆に、多くの部分要素に対して手がかりが得られていない機能ほど、その確信度Bf(f)は低い値(0より低い値)になる。
確信度ベース推定部302は、各機能に対して例えば図16に示すような確信度を算出する。この場合、機能ID「2」の機能および機能ID「N」の機能では、図14に示すように、機能ID「1」の機能に比べて、「録画番組」の部分だけではなく、それぞれ「音声の切換」と「再生」の部分の手がかりも得られている。その結果、機能ID「2」の機能および機能ID「N」の機能では、機能ID「1」の機能「録画した番組の内容を確認する」よりも高い確信度が算出される。また、機能に対する確信度は、選択操作が繰り返される過程で、その機能に対して実際に手がかりが得られた時点から高くなる。
続いて、目的推定部113の切換部303は、確信度ベース推定部302の推定結果に対して確信があるかどうかを判定する(ステップS1003)。具体的に、切換部303は、ステップS1002で算出された確信度の最大値が閾値(第1の閾値)以上であるか否かを判別し、閾値以上であれば確信があると判定し、閾値未満であれば確信がないと判定する。
ここで、切換部303は、ステップS1003で確信があると判定すると(ステップS1003のY)、確信度ベースの推定結果、つまり確信度ベース推定部302から出力された確信度ベース推定結果信号312を目的推定結果信号130として入出力制御部107に出力する(ステップS1004)。一方、切換部303は、ステップS1003で確信がないと判定すると(ステップS1003のN)、可能性ベースの推定結果、つまり可能性ベース推定部301から出力された可能性ベース推定結果信号311を目的推定結果信号130として入出力制御部107に出力する(ステップS1005)。
例えば、最後のT回目(t=T)の選択操作の後にユーザから支援要求が受け付けられた場合、図16に示すような確信度「−1.03、 −0.14、 …、 −0.16」が算出される。この場合、閾値を「−1.05」とすると、切換部303は、上記各確信度のうちの最大の確信度「−0.14」が閾値「−0.15」よりも大きいため、確信度ベースの推定結果を採用する。一方、仮に、1回目(t=T)の選択操作の後にユーザから支援要求が受け付けられた場合には、図16に示すような確信度「−1.18、 −0.2、 …、 −0.9」が算出される。この場合、閾値を「−1.05」とすると、切換部303は、上記各確信度のうちの最大の確信度「−0.2」が閾値「−0.15」よりも小さいため、可能性ベースの推定結果を採用する。
ところで、操作支援決定部114は、入出力制御部107を介して目的推定部113から目的推定結果信号130を取得する。そして、操作支援決定部114は、その目的推定結果信号130が確信度ベースの推定結果を示す場合には、操作対象機器の各機能を、確信度の高い機能から順に表示するような確信度ベースの操作支援方法を決定する。一方、操作支援決定部114は、その目的推定結果信号130が可能性ベースの推定結果を示す場合には、操作対象機器の全ての機能(機能名)のうち、予め定められた閾値以上の可能性スコアを有する複数の機能を、推定対象範囲を共通とする機能ごとに纏めて表示するような可能性ベースの操作支援方法を決定する。
さらに、操作支援決定部114は、決定した操作支援方法を示す操作支援信号131を入出力制御部107に出力する。
入出力制御部107は、操作支援決定部114から操作支援信号131を取得すると、目的推定部113で推定された機能を、操作支援決定部114で決定された操作支援方法で表示するように指示する内容の出力信号122を、出力部103の操作支援提示部105に対して出力する。
操作支援提示部105は、上述のような出力信号122を取得すると、その出力信号122の示す内容にしたがって、目的推定部113で推定された機能を支援情報として表示する。
つまり、操作支援提示部105は、出力信号122が確信度ベースの推定結果、つまり図16に示すような各機能の確信度を示す場合には、確信度ベースの操作支援方法で操作対象機器の各機能を表示する。すなわち、操作支援提示部105は、操作対象機器の各機能(機能名)を、確信度の高い機能から順に表示する。一方、操作支援提示部105は、出力信号122が可能性ベースの推定結果、つまり図15に示すような各機能の可能性スコアおよび推定対象範囲を示す場合には、可能性ベースの操作支援方法で操作対象機器の各機能を表示する。すなわち、操作支援提示部105は、操作対象機器の全ての機能(機能名)のうち、予め定められた閾値以上の可能性スコアを有する複数の機能を、推定対象範囲を共通とする機能ごとに纏めて表示する。
図18は、可能性ベースの操作支援方法で表示される操作対象機器の機能名を示す図である。
操作支援提示部105は、図18に示すように、予め定められた値以上の可能性スコアを有する機能(機能名)を、同一の推定対象範囲ごとにカテゴライズして提示する。また、操作支援提示部105は、複数のカテゴリを表示するときには、機能の数が多いカテゴリから順に表示する。なお、カテゴリは、推定対象範囲を共通とする機能の集合である。
例えば、操作支援提示部105は、推定対象範囲「録画番組」を共通とする機能「録画した番組の内容を確認する」、「録画した番組の音声を切り換える」、および「録画した番組を再生する」などを1つのカテゴリとして纏めて表示する。このとき、操作支援提示部105は、機能名のうち、インデントとなる推定対象範囲「録画番組」以降の表現を省略して、例えば「内容の確認」、「音声を切り換える」および「再生する」のように各機能名を表示する。
このように本実施の形態では、ユーザが着目したサブゴール(推定対象範囲)を核に各機能(機能名)をカテゴライズして提示することで、操作対象機器の設計者によって予め用意されたメニューでは、ユーザと設計者の間でメニュー構造に対する想定が異なるためにうまく機能を見つけられなかった問題を解消することができる。つまり、ユーザは、全機能のリストから目的とする機能を選ぶよりも、早期に目的とする機能を見つけることが可能になる。また、ユーザは、単純に操作対象機器の全機能から目的とする機能を選ぶよりも、可能性スコアの高い機能だけから選ぶので、短時間で目的とする機能を見つけ出すことができる。
図19は、本実施の形態における目的推定装置100の動作を示すフローチャートである。
まず、ユーザが入力部101の電源ボタン505を押下すると、入力部101は、電源をオンするように指示する内容の入力信号121を入出力制御部107に出力する。その結果、入出力制御部107は、その入力信号121を機器制御信号124として機器制御部109に出力し、機器制御部109に対して操作対象機器の電源をオンさせる。
続いて、入出力制御部107は、再び電源ボタン505が押下されて電源をオフするように指示されたか否か、つまり、電源をオフするように指示する内容の入力信号121が入力部101から出力されたか否かを判別する(ステップS801)。ここで、入出力制御部107は、電源をオフするように指示されたと判別したときには(ステップS801のY)、機器制御部109に対して操作対象機器の電源をオフするにように指示する内容の機器制御信号124を出力し、操作対象機器の電源をオフさせる。
一方、入出力制御部107は、電源をオフするように指示されていないと判別したときには(ステップS801のN)、さらに、ユーザが入力部101を操作して選択肢を選択したか否かを判別する(ステップS802)。ここで、入出力制御部107は、選択肢を選択していないと判別すると(ステップS802のN)、ステップS801からの処理を繰り返し実行する。一方、入出力制御部107は、選択肢を選択したと判別すると(ステップS802のY)、その選択された選択肢を入力選択肢として操作履歴格納部108に格納する(ステップS803)。このように、入力選択肢が操作履歴格納部108に格納されると、操作履歴格納部108には、図7に示すように、これまで選択された入力選択肢が操作履歴として蓄積される。
次に、入出力制御部107は、ステップS802で取得された入力選択肢、つまり操作履歴格納部108に格納された最新の入力選択肢に応じた処理を実行する(ステップS804)。例えば、ユーザがメニューボタン506を押すと、入出力制御部107は、そのメニューボタン506に応じた入力選択肢を入力部101から取得する。このとき、入出力制御部107は、図2に示すように、その入力選択肢がメニュー情報の第1階層のノード「トップメニュー」を示すと判別する。そして、入出力制御部107は、その入力選択肢「トップメニュー」に応じた処理、即ちトップメニュー401の表示を実行する。また、ユーザがカーソルキー502および決定ボタン503を押してトップメニュー401に示す選択肢「番組表」を選択すると、入出力制御部107は、その選択された選択肢「番組表」を入力選択肢として入力部101から取得する。このとき、入出力制御部107は、その入力選択肢「番組表」がメニュー情報の第2階層のノード「番組表」を示すと判別する。その結果、入出力制御部107は、その入力選択肢「番組表」に応じた処理、即ちメニュー402の表示を実行する。
また、ユーザがカーソルキー502および決定ボタン503を押して、メニュー403に示す選択肢「大リーグ中継」を選択すると、入出力制御部107は、その選択された選択肢「大リーグ中継」を入力選択肢として入力部101から取得する。このとき、入出力制御部107は、メニュー情報に基づき、入力選択肢「大リーグ中継」が「大リーグ中継を表示する」という機能を示していると判断する。その結果、入出力制御部107は、その入力選択肢「大リーグ中継」に応じた処理、すなわち、「大リーグ中継を表示する」という機能を操作対象機器に実行させる。つまり、入出力制御部107は、機能「大リーグ中継を表示する」を実行するように指示する内容の機器制御信号124を機器制御部109に出力する。
次に、入出力制御部107は、ステップS804において機能が実行されたか否かを判別する(ステップS805)。ここで、入出力制御部107は、機能が実行されたと判別すると(ステップS805のY)、操作履歴格納部108に格納されている操作履歴を消去するなどの終了処理を実行し(ステップS806)、ステップS801からの処理を繰り返し実行する。
一方、入出力制御部107は、機能が実行されていないと判別すると(ステップS805のN)、さらに、ヘルプボタン507が押下されてユーザから支援要求が受け付けられたか否か、つまり、支援要求が受け付けられたことを示す入力信号121が入力部101の支援要求入力部106から出力されたか否かを判別する(ステップS807)。
ここで、入出力制御部107は、ステップS807で支援要求が受け付けられていないと判別すると(ステップS807のN)、ステップS801からの処理を繰り返し実行する。一方、入出力制御部107は、ステップS807で支援要求が受け付けられたと判別すると(ステップS807のY)、操作履歴格納部108から操作履歴を示す履歴信号133を出力させて、その履歴信号133をサブゴール推定部110に出力する。これにより、入出力制御部107は、サブゴール推定部110に対して、入力選択肢ごとに、各機能のサブゴールおよびサブゴールスコアの推定を実行させる(ステップS808)。
さらに、入出力制御部107は、サブゴールおよびサブゴールスコアを用いた、ユーザの目的とする機能の推定を、目的推定部113に対して実行させる(ステップS809)。そして、入出力制御部107は、その推定された機能を操作支援提示部105に提示させることで、操作支援を実行する(ステップS810)。このとき、例えば、目的推定装置100は、選択操作の回数が少なく推定結果に確信がない場合、つまり、各機能の確信度の最大値が閾値未満の場合には、可能性スコアおよび推定対象範囲に基づいて機能(機能名)を表示するような、可能性をベースにした支援を実行し、逆に、選択操作の回数が多く推定結果に確信が得られいる場合、つまり、各機能の確信度の最大値が閾値以上の場合には、確信度の順に各機能を順位付けして表示するような、確信度をベースにした支援を実行する。
このように本実施の形態では、ユーザによって入力された選択肢と、比較対象である機能との組み合わせに応じて、入力された選択肢から推定可能な機能の部分要素を特定し、その部分要素から構成されるサブゴールを単位にユーザの目的とする機能を推定することで、従来と比較して、必要以上に各機能の間に優劣をつけてしまうことなく、ユーザの目的とする機能を適切に推定することができる。さらに、本実施の形態では、推定に十分な手がかりが得られていない場合は可能性をベースに、ユーザの目的とする幾つかの機能を推定して提示し、推定に十分な手がかりが得られた場合は確信度をベースに、ユーザの目的とする幾つかの機能を推定してそれらを順位付けして提示する。これにより、より的確な支援が可能となる。
ここで、本実施の形態における目的推定装置100の効果を、従来例と比較して具体的に説明する。
図20は、本実施の形態における目的推定装置100の効果を説明するための、従来の目的推定装置によって推定された結果を示す図である。
例えば、従来の目的推定装置では、図7に示すような操作履歴、つまり1回目(t=1)から最後のT回目(t=T)までのユーザの選択操作によってT個の入力選択肢を受け付けて、その後、ユーザから支援要求を受け付けると、図20に示すようなスコアを算出する。つまり、従来の目的推定装置は、機能ID「1」の機能に対するスコア「0.29」と、機能ID「2」の機能に対するスコア「0.40」と、機能ID「N」の機能に対するスコア「0.42」とを算出し、そのスコアが高い機能ほどユーザの目的とされていると推定する。
なお、図20は、最後のT回目(t=T)の選択操作が行われた後にユーザから支援要求が受け付けられた場合のスコアだけでなく、選択操作のそれぞれで、その選択操作が行われた後にユーザから支援要求が受け付けられた場合におけるスコアも示している。
このような従来の目的推定装置では、サブゴールを考慮せずに、支援要求までの操作履歴から算出される特徴ベクトルと、機能の全体から作成される機能説明ベクトルとの比較を行ってスコアを算出している。したがって、従来では、機能ID「1,2,N」の各機能に対して算出されたスコアの間に必要以上の差が生じている。つまり、必要以上に各機能の間に優劣をつけてしまっている。このような差(優劣)は、支援要求が何れの選択操作後に受け付けられた場合にも生じている。
一方、本実施の形態における目的推定装置100は、可能性ベースの推定方法では、図15に示すように、機能ID「1,2,N」の各機能に対して算出された可能性スコアの間の差は小さく収まっている。このように、本実施の形態では、機能の間で必要以上に優劣をつけてしまうのを防ぐことができる。
つまり、本実施の形態では、選択操作から機能の推定対象範囲であるサブゴールを適切に見つけることで、入力選択肢から得られる手がかりを適切に判断することが可能となり、1回目の選択操作後に支援要求があった場合では、機能ID「1」の機能「録画した番組の内容を確認する」と、機能ID「N」の機能「録画した番組を再生する」の両者の可能性スコアを等しく算出することができる。さらに、本実施の形態では、2回目の選択操作により選択肢「番組表」がユーザよって選択されて支援要求がされると、機能ID「2」の機能「録画した番組の音声を切り換える」に対しても、上記2つの機能の可能性スコアと等しい可能性スコアを算出することができる。
また、従来の目的推定装置では、図20に示すように、例えば機能ID「N」の機能「録画した番組を再生する」に対して算出されたスコアには、T回目の選択操作で選択された入力選択肢「再生ナビ」が大きく反映されていない。つまり、従来の目的推定装置は、その入力選択肢「再生ナビ」に対してその機能「録画した番組を再生する」の一部「再生」に大きな手がかりが得られているが、その手がかりを反映せずに、その機能に対して高いスコアを算出していない。
さらに、従来の目的推定装置は、ユーザによって選択される複数の入力選択肢を平均化するため、2回目の選択操作により入力選択肢「番組表」が選択されてユーザから支援要求を受け付けると、機能ID「1」の機能に対して算出されるスコアを向上(増加)させ、機能ID「2」および機能ID「N」の機能に対して算出されるスコアを悪化(減少)させる。
一方、本実施の形態における目的推定装置100は、確信度ベースの推定方法では、機能を構成する部分要素に対してどの程度高いスコア(サブゴールスコア)が算出されているかということを、その機能のスコア(確信度)に反映し、高いスコアを有する部分要素の数が増加するにしたがって、その機能のスコア(確信度)を上昇させる。
したがって、本実施の形態における目的推定装置100は、図16に示すように、例えばT回目の選択操作で選択された入力選択肢「再生ナビ」に対して、機能ID「N」の機能「録画した番組を再生する」の一部「再生」に大きな手がかりを得て、その機能に対して高いスコア(確信度)を算出する。
さらに、本実施の形態における目的推定装置100は、ユーザによって選択される複数の入力選択肢を平均化するようなことをしないため、2回目の選択操作により入力選択肢「番組表」が選択されてユーザから支援要求を受け付けると、機能ID「1」、機能ID「2」および機能ID「N」の機能に対して算出されるスコア(確信度)をそれぞれ向上(増加)させる。
(実施の形態2)
図21は、本発明の実施の形態2における目的推定装置の構成図である。
本実施の形態における目的推定装置は、ユーザから支援要求を受け付けていないときにも、ユーザの目的として推定された機能を提示するような支援を行う。
本実施の形態における目的推定装置1900は、入力部101、出力部103、入出力制御部107、機器制御部109、操作履歴格納部108、操作支援決定部114、目的推定部1901、サブゴール推定部110、機能表現格納部111、単語概念記憶部112、操作支援判定部1902および時刻情報取得部1903を備えている。すなわち、本実施の形態における目的推定装置1900は、実施の形態1の目的推定装置100と比べて、操作支援判定部1902および時刻情報取得部1903をさらに備えるとともに、目的推定装置100の目的推定部113の代わりに目的推定部1901を備えている。
なお、本実施の形態における目的推定装置1900が備える構成要素のうち、実施の形態1の目的推定装置100と同一の構成要素に対しては、実施の形態1の構成要素と同一の符号を付して示し、詳細な説明を省略する。また、本実施の形態では、操作支援判定部1902が提示タイミング判定手段として構成されている。
時刻情報取得部1903は、計時を行い、その計時結果である時刻を示す時刻情報信号1913を入出力制御部107および操作支援判定部1902に出力する。
入出力制御部107は、入力部101の選択肢入力部102から入力選択肢を取得するごとに、その入力選択肢を取得した時刻、つまりユーザが入力選択肢を選択した時刻(選択時刻)を特定する。そしてさらに、入出力制御部107は、入力選択肢を取得するごとに、その入力選択肢を操作履歴格納部108に格納するとともに、その操作履歴格納部108に格納されているその入力選択肢を含む操作履歴を履歴信号133として取得してサブゴール推定部110に出力する。
また、入出力制御部107は、目的推定部1901から可能性ベース推定結果信号311および確信度ベース推定結果信号312を取得し、時刻情報信号1913に基づいて選択時刻を特定すると、それらの信号および選択時刻を纏めて判定入力信号1911として操作支援判定部1902に出力する。
図22は、判定入力信号1911の内容を示す図である。
判定入力信号1911は、例えば図22に示すように、入力選択肢の選択操作ごとに、選択時刻と、その選択時刻における各機能の可能性スコアおよび確信度とを示す。具体的に、判定入力信号1911は、1回目(t=1)の選択操作における選択時刻「10時」と、機能ID「1」の機能の可能性スコア「0.45」および確信度「−1.18」と、機能ID「2」の機能の可能性スコア「0.62」および確信度「−0.2」とを示す。
また、入出力制御部107は、支援要求が受けられたことを示す入力信号121を入力部101の支援要求入力部106から取得すると、その入力信号121を支援要求信号121aとして操作支援判定部1902に出力する。
サブゴール推定部110は、ユーザによって入力選択肢が選択されるごとに、その入力選択肢を含む操作履歴を履歴信号133として取得すると、その入力選択肢と各機能との間のサブゴールおよびサブゴールスコアを推定し、その推定結果をサブゴール推定結果信号125として入出力制御部107を介して目的推定部1901に出力する。
目的推定部1901は、サブゴール推定結果信号125を取得するごとに、つまり、ユーザによって入力選択肢が選択されるごとに、そのサブゴール推定結果信号125に基づいて、可能性ベースおよび確信度ベースの推定を行い、それらの推定結果を示す可能性ベース推定結果信号311および確信度ベース推定結果信号312を切り換えることなく入出力制御部107に出力する。
つまり、本実施の形態における目的推定部1901は、図14〜図16に示すように、選択操作が行われるごとに、これまで選択された入力選択肢に基づいて、機能ごとに、要素代表サブゴールスコアを算出したり、可能性スコアおよび推定対象範囲を特定したり、確信度を算出したりする。
操作支援判定部1902は、入出力制御部107から判定入力信号1911を取得すると、その判定入力信号1911に基づいて、ユーザに対して操作支援を行うべきタイミングであるか否かを判定する。そして、操作支援判定部1902は、操作支援を行うべきタイミングであると判定すると、可能性ベース推定結果信号311および確信度ベース推定結果信号312の何れか一方を、操作支援判定結果信号1912として入出力制御部107に出力する。このような操作支援判定結果信号1912を取得した入出力制御部107は、その操作支援判定結果信号1912を目的推定結果信号130として操作支援決定部114に出力する。
このような目的推定装置1900は、実施の形態1と同様に、ユーザから支援要求が受け付けられたタイミングで、ユーザの目的として推定された機能を提示するとともに、ユーザが困惑状態にあると判定されたタイミング、およびユーザの目的とする機能が適切に推定されたタイミングで、その推定された機能を提示するように操作支援を実行する。
つまり、本実施の形態における目的推定装置1900は、以下の3つのタイミングで操作支援を行う。
第1支援タイミング: 目的推定装置1900が、ユーザが新たな選択操作を行うことができずに所定期間悩んでいる(困惑状態にある)と判定したタイミング
第2支援タイミング: 目的推定装置1900が、ユーザが選択肢の選択操作を行っている間に、ユーザの目的とする機能を高い確信度で推定したタイミング
第3支援タイミング: 目的推定装置1900がユーザから支援要求を受け付けたタイミング
なお、目的推定装置1900は、第1支援タイミングで支援を行うときには、可能性ベースの推定結果を提示するような支援を行い、第2支援タイミングで支援を行うときには、確信度ベースの推定結果を提示するような支援を行う。また、目的推定装置1900は、第3支援タイミングで支援を行うときには、実施の形態1と同様、可能性ベースの推定結果と確信度ベースの推定結果のうち何れか一方を提示するような支援を行う。
図23は、本実施の形態における目的推定部1901の機能構成を詳細に示す構成図である。
目的推定部1901は、実施の形態1の目的推定部113と同様、可能性ベース推定部301と確信度ベース推定部302とを備えている。
可能性ベース推定部301は、サブゴール推定結果信号125を取得し、そのサブゴール推定結果信号125に基づいて可能性ベースの推定を行い、その推定結果を可能性ベース推定結果信号311として出力する。
確信度ベース推定部302は、サブゴール推定結果信号125を取得し、そのサブゴール推定結果信号125に基づいて確信度ベースの推定を行い、その推定結果を確信度ベース推定結果信号312として出力する。
図24は、本実施の形態における操作支援判定部1902の機能構成を詳細に示す構成図である。
操作支援判定部1902は、確信度変化算出部2801と、経過時間特定部2802と、判定出力部2803とを備えている。
確信度変化算出部2801は、判定入力信号1911を取得して、その判定入力信号1911の示す各機能の確信度の変化量を算出する。つまり、確信度変化算出部2801は、(数2)に示すように、最後の選択操作(t=T)によって算出された機能fの確信度と、その前回の選択操作(t=T−1)によって算出された機能fの確信度との差をΔBf(f)とし、各機能のΔBf(f)の平均値を上述の変化量ΔBfaとして算出する。そして、確信度変化算出部2801は、その算出した確信度の変化量ΔBfaを判定出力部2803に通知する。
つまり、本実施の形態では、確信度変化算出部2801は、最後の選択操作に対する各機能の確信度の平均値と、前回の選択操作に対する各機能の確信度の平均値との差を変化量ΔBfaとして算出している。なお、確信度変化算出部2801は、移動平均の差を変化量ΔBfaとして算出してもよい。すなわち、確信度変化算出部2801は、最後の選択操作までのn回の選択操作に対する各機能の確信度の平均値と、前回の選択操作までのn回の選択操作に対する各機能の確信度の平均値との差を変化量ΔBfaとして算出してもよい。
経過時間特定部2802は、判定入力信号1911と時刻情報信号1913とを取得し、それらの信号に基づいて、ユーザによって最後に選択操作が行われてからの経過時間を特定する。そして、経過時間特定部2802は、その特定した経過時間を判定出力部2803に通知する。
判定出力部2803は、判定入力信号1911を取得する。そして、判定出力部2803は、入出力制御部107から支援要求信号121aを取得すると、現時点がユーザに対して操作支援すべきタイミングであると判定する。このとき、判定出力部2803は、実施の形態1の切換部303と同様の処理を行い、可能性ベース推定結果信号311と確信度ベース推定結果信号312の何れか一方を操作支援判定結果信号1912として出力する。
また、判定出力部2803は、支援要求信号121aを取得していないときには、確信度変化算出部2801から通知された確信度の変化量ΔBfaと、経過時間特定部2802から通知された経過時間Δtと、判定入力信号1911によって示される確信度および可能性スコアとに基づいて、現時点がユーザに対して操作支援すべきタイミングであるか否かを判定する。このとき、判定出力部2803は、その判定結果に基づいて、可能性ベース推定結果信号311と確信度ベース推定結果信号312の何れか一方を操作支援判定結果信号1912として出力する。
つまり、判定出力部2803は、支援要求信号121aを取得していないときには、現時点が第1支援タイミングまたは第2支援タイミングであるか否かを判定する。そして、判定出力部2803は、現時点が第1支援タイミングであると判定したときには、可能性ベース推定結果信号311の示す推定結果が提示されるように、可能性ベース推定結果信号311を出力する。一方、判定出力部2803は、現時点が第2支援タイミングであると判定したときには、確信度ベース推定結果信号312の示す推定結果が提示されるように、確信度ベース推定結果信号312を出力する。
ここで、判定出力部2803の第1支援タイミングにおける動作について、図25および図26を用いて詳細に説明する。
図25は、具体的な選択操作の一例を示す図である。
例えば、ユーザは、1回目(t=1)の選択操作では、選択時刻「10時」に入力選択肢「HDD/DVD/SD切換」を選択し、その3秒後の選択時刻「10時3秒」に、2回目(t=2)の選択操作として入力選択肢「番組表」を選択する。その後、ユーザは暫く新たな入力選択肢を選択することなく悩んでいる。
図26は、判定出力部2803の第1支援タイミングにおける動作を説明するための説明図である。
判定出力部2803は、常時、現時点が第1支援タイミングであるか否かを判別する。以下、図25に示す1回目の選択操作が行われてから2秒経過したとき、および2回目の選択操作が行われてから11秒経過したときにおける判定出力部2803の具体的な動作の例を説明する。
まず、図25に示すように、1回目の選択操作により入力選択肢「HDD/DVD/SD切換」が選択されると、操作支援判定部1902の判定出力部2803は、判定入力信号1911に基づいて、1回目の選択操作によって算出された各機能の可能性スコアおよび確信度を知得する。具体的に、判定出力部2803は、図26に示すように、機能ID「1」の機能の可能性スコア「0.45」および確信度「−1.18」と、機能ID「2」の機能の可能性スコア「0.62」および確信度「−0.2」と、機能ID「N」の機能の可能性スコア「0.45」および確信度「−0.9」とを知得する。
またこのとき、操作支援判定部1902の確信度変化算出部2801は、1回目の選択操作による各機能の確信度の平均値「−0.76」を算出する。また、確信度変化算出部2801は、前回の選択操作がないため、上述の確信度の変化量ΔBfaを不定(図26中の「−」)として判定出力部2803に通知する。
さらに、操作支援判定部1902の経過時間特定部2802は、1回目の選択操作が行われてからの経過時間Δtを計測して判定出力部2803に通知している。つまり、経過時間特定部2802は、時刻情報信号1913の示す時刻から、1回目の選択操作の選択時刻「10時」を減算することにより経過時間Δtを計測している。
したがって、判定出力部2803は、次の2回目の選択操作が行われるまでの間、1回目の選択操作によって算出された各機能の可能性スコアと、確信度の変化量ΔBfaと、経過時間Δtとを用いて、現時点が第1支援タイミングであるか否かを判定する。
すなわち、判定出力部2803は、経過時間Δtが時間閾値(第4の閾値)thよりも長く、確信度の変化量ΔBfaの絶対値が変化量閾値θaよりも小さく、且つ、スコア閾値(第5の閾値)γaよりも大きい可能性スコアがある場合に、現時点が第1支援タイミングであると判定する。
このような判別は、以下のような根拠に基づく。
判定出力部2803は、経過時間Δtが時間閾値thを超えると、ユーザが困惑している可能性があると推定する。しかし、ユーザが困惑しているわけではなく、別のことに気をとられているために、経過時間Δtが増加していることがある。そこで、判定出力部2803は、ユーザが別のことに気を取られていることを、誤って困惑していると判別してしまうのを避けるために、確信度の変化量ΔBfaを用いて、選択操作に行き詰まりがあるか否かのチェックを行っている。
つまり、ユーザが選択操作に困惑すると、同じメニューを探し回ることになり、目的を推定するための新たな手がかりを得ることができなくなる。その結果、確信度Bf(f)の値が変化しなくなるという傾向がある。そこで、判定出力部2803は、確信度の変化量ΔBfaの絶対値が変化量閾値θaよりも小さいと、ユーザが単に別のことに気をとられているのではなく、選択操作に行き詰まりがあると判断する。
そこで、判定出力部2803は、経過時間Δtが時間閾値thよりも長く、確信度の変化量ΔBfaの絶対値が変化量閾値θaよりも小さい場合に、ユーザが選択操作に行き詰って困惑していると判断し、ユーザがそのような困惑状態に陥っていることを、第1支援タイミングの判定基準にしている。
さらに、何れの機能に対しても低い可能性スコアしか得られていない段階で、可能性スコアに基づく機能の提示を行っても、その機能がユーザの目的とする機能でないことがある。
そこで、判定出力部2803は、何れかの機能の可能性スコアがスコア閾値γaよりも大きい場合に、ユーザの目的として可能性の高い機能が推定されていると判断し、そのような機能が推定されていることを、第1支援タイミングの判定基準にしている。
例えば、時間閾値thはth=10秒であり、変化量閾値θaはθa=0.5であり、スコア閾値γaはγa=0.6である。
このような場合、判定出力部2803は、現時点での経過時間ΔtがΔt=2秒であれば、1つの可能性スコア「0.62」がスコア閾値γa=0.6よりも大きくても、経過時間Δt=2秒が時間閾値th=10秒よりも小さく、確信度の変化量ΔBfaが不定であるため、現時点(1回目の選択操作が行われてから2秒経過したとき)が第1支援タイミングでないと判定する。
次に、図25に示すように、2回目の選択操作により入力選択肢「番組表」が選択されると、操作支援判定部1902の判定出力部2803は、判定入力信号1911に基づいて、2回目の選択操作によって算出された各機能の可能性スコアおよび確信度を知得する。具体的に、判定出力部2803は、機能ID「1」の機能の可能性スコア「0.87」および確信度「−1.03」と、機能ID「2」の機能の可能性スコア「0.87」および確信度「−0.14」と、機能ID「N」の機能の可能性スコア「0.87」および確信度「−0.53」とを知得する。
またこのとき、操作支援判定部1902の確信度変化算出部2801は、2回目の選択操作による各機能の確信度の平均値「−0.56」を算出する。さらに、確信度変化算出部2801は、1回目の選択操作による各機能の確信度の平均値「−0.76」と、2回目の選択操作による各機能の確信度の平均値「−0.56」との差「−0.20」を、上述の確信度の変化量ΔBfaとして判定出力部2803に通知する。
さらに、操作支援判定部1902の経過時間特定部2802は、2回目の選択操作が行われてからの経過時間Δtを計測して判定出力部2803に通知している。つまり、経過時間特定部2802は、時刻情報信号1913の示す時刻から、2回目の選択操作の選択時刻「10時3秒」を減算することにより経過時間Δtを計測している。
したがって、判定出力部2803は、次の3回目の選択操作が行われるまでの間、2回目の選択操作によって算出された各機能の可能性スコア、確信度の変化量ΔBfa、および経過時間Δtを、スコア閾値γa、変化量閾値θa、および時間閾値thと比較することにより、再び、現時点が第1支援タイミングであるか否かを判定する。
例えば、上述と同様、時間閾値thはth=10秒であり、変化量閾値θaはθa=0.5であり、スコア閾値γaはγa=0.6である。
このような場合、判定出力部2803は、現時点での経過時間ΔtがΔt=11秒であれば、経過時間Δt=11秒が時間閾値th=10秒よりも長く、確信度の変化量ΔBfaの絶対値「0.2」が変化量閾値θa=0.5よりも大きく、且つ、3つの可能性スコア「0.87」がスコア閾値γa=0.6よりも大きいため、現時点(3回目の選択操作が行われてから11秒経過したとき)が第1支援タイミングであると判定する。
そして、判定出力部2803は、このように現時点が第1支援タイミングであると判別すると、可能性ベース推定結果信号311を操作支援判定結果信号1912として出力する。
このように、本実施の形態における目的推定装置1900は、ユーザが目的とする機能を見つけていない段階で、新たな選択操作を行うことができずに悩んでいるときに、ユーザの目的として可能性のある機能、つまり可能性スコアの高い機能を提示するような支援を行うことで、効率的な支援を実現する。
次に、判定出力部2803の第2支援タイミングにおける動作について、図27および図28を用いて詳細に説明する。
図27は、具体的な選択操作の他の例を示す図である。
例えば、ユーザは、1回目(t=1)の選択操作では、選択時刻「10時」に入力選択肢「HDD/DVD/SD切換」を選択し、その3秒後の選択時刻「10時3秒」に、2回目(t=2)の選択操作として入力選択肢「番組表」を選択し、さらにその4秒後に、3回目(t=3)の選択操作として入力選択肢「再生ナビ」を選択する。
図28は、判定出力部2803の第2支援タイミングにおける動作を説明するための説明図である。
判定出力部2803は、ユーザによって選択操作が行われて入力選択肢が選択されるごとに、その選択操作が行われたときを現時点として、現時点が第2支援タイミングであるか否かを判別する。
以下、図27に示す2回目および3回目の選択操作が行われたときにおける判定出力部2803の具体的な動作の例を説明する。
図27に示すように、2回目の選択操作により入力選択肢「番組表」が選択されると、上述と同様、操作支援判定部1902の判定出力部2803は、判定入力信号1911に基づいて、2回目の選択操作によって算出された各機能の可能性スコアおよび確信度を知得する。具体的に、判定出力部2803は、機能ID「1」の機能の可能性スコア「0.87」および確信度「−1.03」と、機能ID「2」の機能の可能性スコア「0.87」および確信度「−0.14」と、機能ID「N」の機能の可能性スコア「0.87」および確信度「−0.53」とを知得する。
またこのとき、操作支援判定部1902の確信度変化算出部2801は、上述と同様、2回目の選択操作による各機能の確信度の平均値「−0.56」を算出する。さらに、確信度変化算出部2801は、1回目の選択操作による各機能の確信度の平均値「−0.76」と、2回目の選択操作による各機能の確信度の平均値「−0.56」との差「−0.20」を、上述の確信度の変化量ΔBfaとして判定出力部2803に通知する。
したがって、判定出力部2803は、2回目の選択操作によって算出された各機能の確信度と、確信度の変化量ΔBfaとを用いて、2回目の選択操作が行われた現時点が第2支援タイミングであるか否かを判定する。
すなわち、判定出力部2803は、確信度の変化量ΔBfaの絶対値が変化量閾値(第2の閾値)θb(θb<θa)よりも小さく、且つ、確信度閾値γbよりも大きい確信度Bf(f)がある場合に、現時点が第2支援タイミングであると判定する。
このような判別は、以下のような根拠に基づく。
ユーザは選択操作の行き詰まりを強く感じるほど操作支援を強く希望する。また、上述のように、ユーザが選択操作に行き詰まると、同じメニューを探し回ることになり、目的を推定するための新たな手がかりを得ることができなくなる。その結果、確信度Bf(f)の値が変化しなくなるという傾向がある。そこで、判定出力部2803は、確信度の変化量ΔBfaの絶対値が変化量閾値θbよりも小さいと、ユーザの選択操作に行き詰まりがあると判断する。
そこで、判定出力部2803は、確信度の変化量ΔBfaの絶対値が変化量閾値θaよりも小さい場合に、ユーザが選択操作に行き詰っていると判断し、ユーザがそのように行き詰っていることを、第2支援タイミングの判定基準にしている。
さらに、何れの機能に対しても低い確信度Bf(f)しか得られていない段階で、確信度Bf(f)に基づく機能fの提示を行っても、その機能fがユーザの目的とする機能でないことがある。
そこで、判定出力部2803は、何れかの機能の確信度が確信度閾値γbよりも大きい場合に、ユーザの目的として確信度の高い機能が推定されていると判断し、そのような機能が推定されていることを、第2支援タイミングの判定基準にしている。
例えば、変化量閾値θbはθb=0.15であり、確信度閾値γbはγb=−0.2である。
このような場合、判定出力部2803は、1つの確信度「−0.14」が確信度閾値γb=−0.2よりも大きくても、確信度の変化量ΔBfa=−0.20の絶対値「0.2」が変化量閾値θb=0.15よりも大きいため、現時点(2回目の選択操作が行われたとき)が第2支援タイミングでないと判定する。
次に、図27に示すように、2回目の選択操作から時間閾値th(=10秒)を経過しないうちに3回目の選択操作により入力選択肢「再生ナビ」が選択されると、操作支援判定部1902の判定出力部2803は、判定入力信号1911に基づいて、3回目の選択操作によって算出された各機能の可能性スコアおよび確信度を知得する。具体的に、判定出力部2803は、機能ID「1」の機能の可能性スコア「0.87」および確信度「−1.03」と、機能ID「2」の機能の可能性スコア「0.87」および確信度「−0.14」と、機能ID「N」の機能の可能性スコア「0.87」および確信度「−0.16」とを知得する。
またこのとき、操作支援判定部1902の確信度変化算出部2801は、3回目の選択操作による各機能の確信度の平均値「−0.43」を算出する。さらに、確信度変化算出部2801は、2回目の選択操作による各機能の確信度の平均値「−0.56」と、3回目の選択操作による各機能の確信度の平均値「−0.43」との差「−0.13」を、上述の確信度の変化量ΔBfaとして判定出力部2803に通知する。
したがって、判定出力部2803は、3回目の選択操作によって算出された各機能の確信度および確信度の変化量ΔBfaの絶対値を、確信度閾値γbおよび変化量閾値θbと比較することにより、再び、3回目の選択操作が行われた現時点が第2支援タイミングであるか否かを判別する。
例えば、上述と同様、変化量閾値θbはθb=0.15であり、確信度閾値γbはγb=−0.2である。
このような場合、判定出力部2803は、確信度の変化量ΔBfa=−0.13の絶対値「0.13」が変化量閾値θb=0.15よりも小さく、且つ、2つの確信度「−0.14」および「−0.16」が確信度閾値γb=−0.2よりも大きいため、現時点(3回目の選択操作が行われたとき)が第2支援タイミングであると判定する。
そして、判定出力部2803は、このように現時点が第2支援タイミングであると判別すると、確信度ベース推定結果信号312を操作支援判定結果信号1912として出力する。
このように、本実施の形態における目的推定装置1900は、ユーザが目的とする機能を探して行き詰った段階で、高い確信度が得られていれば、その確信度の高い機能を提示するような支援を行うことで、ユーザによる無駄な機能の探索、つまり余計な選択操作を低減することができる。
図29は、操作支援判定部1902の動作を示すフローチャートである。
まず、操作支援判定部1902は、判定入力信号1911を取得し(ステップS100)、ユーザから支援要求が受け付けられたか否か、つまり支援要求信号121aを取得したか否かを判別する(ステップS102)。
ここで、操作支援判定部1902は、支援要求が受け付けられたと判別すると(ステップS102のY)、第3支援タイミングでユーザの目的とする機能を提示すべきと判定する。そして、このとき、操作支援判定部1902は、各機能に対して算出された確信度Bf(f)の何れかが確信度閾値γよりも大きいか否かを判別する(ステップS104)。操作支援判定部1902は、確信度Bf(f)の何れかが確信度閾値γよりも大きいと判別すると(ステップS104のY)、確信度ベース推定結果信号312を操作支援判定結果信号1912として出力し(ステップS106)、確信度閾値γ以下と判別すると(ステップS104のN)、可能性ベース推定結果信号311を操作支援判定結果信号1912として出力する(ステップS108)。
また、操作支援判定部1902は、ステップS102で支援要求が受け付けられていないと判別すると(ステップS102のN)、さらに、先に判定入力信号1911が取得されてからの経過時間Δtが時間閾値thよりも長いか否かを判別する(ステップS110)。つまり、操作支援判定部1902は、ユーザが困惑している可能性があるか否かを判別する。
ここで、操作支援判定部1902は、経過時間Δtが時間閾値thよりも長いと判別すると(ステップS110のY)、さらに、確信度の変化量ΔBfaの絶対値が変化量閾値θaよりも小さいか否かを判別する(ステップS112)。つまり、操作支援判定部1902は、ユーザの選択操作に行き詰まりがあるか否かを判別する。
そして、操作支援判定部1902は、確信度の変化量ΔBfaの絶対値が変化量閾値θaよりも小さいと判別すると(ステップS112のY)、ユーザが選択操作に行き詰っていると判断し、さらに、スコア閾値γaよりも大きい可能性スコアがあるか否かを判別する(ステップS114)。
ここで、操作支援判定部1902は、スコア閾値γaよりも大きい可能性スコアがあると判別すると(ステップS114のY)、第1支援タイミングでユーザの目的とする機能を提示すべきと判定する。そして、このとき、操作支援判定部1902は、可能性ベース推定結果信号311を操作支援判定結果信号1912として出力する(ステップS116)。
また、操作支援判定部1902は、ステップS110で経過時間Δtが時間閾値th以下と判別すると(ステップS110のN)、さらに、次の判定入力信号1911を取得したか否かを判別する(ステップS118)。そして、操作支援判定部1902は、次の判定入力信号1911を取得したと判別すると(ステップS118のY)、前回の判定入力信号1911と取得した判定入力信号1911とを比較することにより、確信度の変化量ΔBfaを算出する(ステップS120)。
さらに、操作支援判定部1902は、確信度の変化量ΔBfaの絶対値が変化量閾値θbよりも小さいか否かを判別する(ステップS122)。つまり、操作支援判定部1902は、ユーザの選択操作に行き詰まりがあるか否かを判別する。ここで、操作支援判定部1902は、確信度の変化量ΔBfaの絶対値が変化量閾値θbよりも小さいと判別すると(ステップS122のY)、ユーザが選択操作に行き詰っていると判断し、さらに、確信度閾値γbよりも大きい確信度Bf(f)があるか否かを判別する(ステップS124)。
ここで、操作支援判定部1902は、確信度閾値γbよりも大きい確信度Bf(f)があると判別すると(ステップS124のY)、既にユーザの目的とする機能が適切に推定され、第2支援タイミングでその機能を提示すべきと判定する。そして、このとき、操作支援判定部1902は、確信度ベース推定結果信号312を操作支援判定結果信号1912として出力する(ステップS126)。
また、操作支援判定部1902は、ステップS112で確信度の変化量ΔBfaの絶対値が変化量閾値θa以上であると判別したとき(ステップS112のN)、ステップS114で全ての可能性スコアがスコア閾値γa以下であると判別したとき(ステップS114のN)、ステップS118で次の判定入力信号1911を取得していないと判別したとき(ステップS118のN)、ステップS122で確信度の変化量ΔBfaの絶対値が変化量閾値θb以上であると判別したとき(ステップS122のN)、および、ステップS124で全ての確信度Bf(f)が確信度閾値γb以下であると判別したとき(ステップS124のN)には、全ての処理を終了すべきか否かを判別する(ステップS128)。操作支援判定部1902は、終了すべきでないと判別すると(ステップS128のN)、ステップS102からの処理を繰り返し実行し、終了すべきと判別すると(ステップS128のY)、全ての処理を終了する。
図30は、本実施の形態における目的推定装置1900の動作を示すフローチャートである。
まず、ユーザが入力部101の電源ボタン505を押下すると、入力部101は、電源をオンするように指示する内容の入力信号121を入出力制御部107に出力する。その結果、入出力制御部107は、その入力信号121を機器制御信号124として機器制御部109に出力し、機器制御部109に対して操作対象機器の電源をオンさせる。
続いて、入出力制御部107は、再び電源ボタン505が押下されて電源をオフするように指示されたか否か、つまり、電源をオフするように指示する内容の入力信号121が入力部101から出力されたか否かを判別する(ステップS200)。ここで、入出力制御部107は、電源をオフするように指示されたと判別したときには(ステップS200のY)、機器制御部109に対して操作対象機器の電源をオフするにように指示する内容の機器制御信号124を出力し、操作対象機器の電源をオフさせる。
一方、入出力制御部107は、電源をオフするように指示されていないと判別したときには(ステップS200のN)、さらに、ユーザが入力部101を操作して選択肢を選択したか否かを判別する(ステップS202)。ここで、入出力制御部107は、選択肢を選択していないと判別すると(ステップS202のN)、現時点が第1支援タイミングであるか否かを操作支援判定部1902に判定させる(ステップS204)。このとき、操作支援判定部1902は、図29に示すステップS110〜S114の処理を行うことにより、現時点が第1支援タイミングであるか否かを判定する。
そして、現時点が第1支援タイミングでないと判定されると(ステップS204のN)、入出力制御部107はステップS200からの処理を繰り返し実行する。一方、現時点が第1支援タイミングであると判定されると(ステップS204のY)、入出力制御部107は、操作支援判定部1902から出力される操作支援判定結果信号1912(可能性ベース推定結果信号311)を取得して、その操作支援判定結果信号1912を目的推定結果信号130として操作支援決定部114に出力する。その結果、操作支援提示部105は、目的推定部1901の推定結果を表示することにより操作支援を実行する(ステップS206)。この場合、操作支援提示部105には、可能性ベースの推定結果を、図18に示す可能性ベースの操作支援方法で表示させる。
また、入出力制御部107は、ステップS202で選択肢を選択したと判別すると(ステップS202のY)、その選択された選択肢を入力選択肢として操作履歴格納部108に格納する(ステップS208)。このように、入力選択肢が操作履歴格納部108に格納されると、操作履歴格納部108には、図7に示すように、これまで選択された入力選択肢が操作履歴として蓄積される。
次に、入出力制御部107は、ステップS202で取得された入力選択肢、つまり操作履歴格納部108に格納された最新の入力選択肢に応じた処理を実行する(ステップS210)。
次に、入出力制御部107は、ステップS210において機能が実行されたか否かを判別する(ステップS212)。ここで、入出力制御部107は、機能が実行されたと判別すると(ステップS212のY)、操作履歴格納部108に格納されている操作履歴を消去するなどの終了処理を実行し(ステップS214)、ステップS200からの処理を繰り返し実行する。
一方、入出力制御部107は、機能が実行されていないと判別すると(ステップS212のN)、操作履歴格納部108から、ステップS202で取得された入力選択肢を含む操作履歴を履歴信号133として出力させて、その履歴信号133をサブゴール推定部110に出力する。これにより、入出力制御部107は、サブゴール推定部110に対して、入力選択肢ごとに、各機能のサブゴールおよびサブゴールスコアの推定を実行させる(ステップS216)。
さらに、入出力制御部107は、サブゴールおよびサブゴールスコアを用いた、ユーザの目的とする機能の推定を、目的推定部1901に対して実行させる(ステップS218)。
ここで、入出力制御部107は、現時点が第3支援タイミングであるか否かを操作支援判定部1902に判定させる(ステップS220)。このとき、操作支援判定部1902は、図29のステップS102の処理を実行することにより、現時点が第3支援タイミングであるか否かを判定する。
操作支援判定部1902によって現時点が第3タイミングであると判定されると(ステップS220のY)、入出力制御部107は、その操作支援判定部1902から操作支援判定結果信号1912を取得して、その操作支援判定結果信号1912を目的推定結果信号130として操作支援決定部114に出力する。その結果、操作支援提示部105は、目的推定部1901の推定結果を表示することにより操作支援を実行する(ステップS206)。
一方、操作支援判定部1902は、現時点が第3タイミングでないと判定すると(ステップS220のN)、さらに、現時点が第2支援タイミングであるか否かを判定する(ステップS222)。このとき、操作支援判定部1902は、図29のステップS122,S124の処理を実行することにより、現時点が第2支援タイミングであるか否かを判定する。
操作支援判定部1902によって現時点が第2支援タイミングであると判定されると(ステップS222のY)、入出力制御部107は、その操作支援判定部1902から操作支援判定結果信号1912(確信度ベース推定結果信号312)を取得して、その操作支援判定結果信号1912を目的推定結果信号130として操作支援決定部114に出力する。その結果、操作支援提示部105は、目的推定部1901の推定結果を表示することにより操作支援を実行する(ステップS206)。この場合、操作支援提示部105には、確信度ベースの推定結果が表示される。
一方、操作支援判定部1902によって現時点が第2支援タイミングでないと判定されると(ステップS222のN)、入出力制御部107は、ステップS200からの処理を繰り返し実行する。
このように、本実施の形態では、ユーザが入力部101の支援要求入力部115に備えられたヘルプボタン507を押さなくても、ユーザが選択肢の選択操作に困惑しているときには、正しく推定された機能をユーザに提示することができる。