(57)【要約】【課題】計算量を抑えながらユーザの行動を予測して、予測に応じて機器を制御する。【解決手段】機器制御システムは、ユーザの位置を計測する位置計測部と、計測された前記ユーザの位置の履歴を格納する位置情報記録部と、前記ユーザの位置の履歴に基づいて、複数の時刻における複数の場所に関してノードを有するベイジアンネットワークである行動予測モデルを生成する行動予測モデル生成部と、前記行動予測モデルを用いて、前記ユーザの所在位置の情報から所定の場所に前記ユーザが到着する予測到着時刻を求める行動予測部と、前記予測到着時刻に基づいて、前記所定の場所における機器を制御する制御機器とを有する。前記行動予測モデルは、前記ノードからその次の時刻のノードへ向かう１次リンクと、前記ノードからその次の更に次の時刻のノードへ向かう２次リンクとを有する。【選択図】図３
2017121017.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの位置を計測する位置計測部と、
計測された前記ユーザの位置の履歴を格納する位置情報記録部と、
前記ユーザの位置の履歴に基づいて、複数の時刻における複数の場所に関してノードを有するベイジアンネットワークである行動予測モデルを生成する行動予測モデル生成部と、
前記行動予測モデルを用いて、前記ユーザの所在位置の情報から前記複数の場所のうちの所定の場所に前記ユーザが到着すると予測される予測到着時刻を求める行動予測部と、
前記予測到着時刻に基づいて、前記所定の場所における機器を制御する制御機器と
を備え、
前記行動予測モデルは、
前記ノードからその次の時刻のノードへ向かう１次リンクと、
前記ノードからその次の更に次の時刻のノードへ向かう２次リンクと
を有する
機器制御システム。
【請求項２】
請求項１の機器制御システムにおいて、
前記行動予測部は、前記ノードのそれぞれに関して、
前記１次リンクのみに基づいて求められる条件付き確率に第１の重みを乗算して得られる第１乗算結果と、前記２次リンクのみに基づいて求められる条件付き確率に第２の重みを乗算して得られる第２乗算結果との和を、そのノードの条件付き確率として用いる
機器制御システム。
【請求項３】
請求項１の機器制御システムにおいて、
前記行動予測部は、前記複数の場所のそれぞれに関して、前記ユーザがその場所に存在する確率を求め、前記ユーザがその場所に存在する確率が最大になる時刻を前記予測到着時刻として求める
機器制御システム。
【請求項４】
請求項１の機器制御システムにおいて、
モバイル機器が、前記位置計測部、前記位置情報記録部、前記行動予測モデル生成部、及び前記行動予測部を有する
機器制御システム。
【請求項５】
請求項１の機器制御システムにおいて、
モバイル機器が、前記位置計測部を有し、
モバイル機器と通信するサーバが、前記位置情報記録部、前記行動予測モデル生成部、及び前記行動予測部を有する
機器制御システム。
【請求項６】
機器制御方法であって、
ユーザの位置を計測し、
計測された前記ユーザの位置の履歴を格納し、
前記ユーザの位置の履歴に基づいて、複数の時刻における複数の場所に関してノードを有するベイジアンネットワークである行動予測モデルを生成し、
前記行動予測モデルを用いて、前記ユーザの所在位置の情報から前記複数の場所のうちの所定の場所に前記ユーザが到着すると予測される予測到着時刻を求め、
前記予測到着時刻に基づいて、前記所定の場所における機器を制御し、
前記行動予測モデルは、
前記ノードからその次の時刻のノードへ向かう１次リンクと、
前記ノードからその次の更に次の時刻のノードへ向かう２次リンクと
を有する
機器制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機器の制御を行う技術に関する。
【背景技術】
【０００２】
ユーザの行動に基づいてそのユーザの次の行動を予測する技術が知られている。例えば、特許文献１には、過去の運転履歴から現在の運転状況と類似度の高いものを探し、それを予測される行動とみなすことが記載されている。また、特許文献２には、ユーザの現在の行動から次の行動を予測する技術が記載されている。このように、行動が、その１つ前の行動によって一意に決定されるような性質は、１次マルコフ性と呼ばれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２６７７４１号公報
【特許文献２】国際公開第２００６／０３０７４２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１によると、寄り道や休憩等、過去の運転履歴に含まれない行動が発生した場合には正しい予測ができない、という問題がある。また、ユーザの行動は、直前の行動のみならず、更に前の行動の影響も受けることが多い。例えば、このような更に前の行動と同じ行動をユーザが繰り返す可能性は低い。特許文献２に記載されているような１次マルコフ性を用いた予測には、過去の複数の行動の因果関係を表現できないという問題がある。
【０００５】
ベイジアンネットワークと呼ばれる状態遷移モデルが知られている。その中でも、時系列データを入力として将来の行動を予測するための手法として、動的ベイジアンネットワークと呼ばれる方法がある。これは、静的ベイジアンネットワークを時系列方向に複製し、隣合う時刻のノード間を有向グラフにより接続したものである。このような有向グラフは、ノードをその次の時刻のノードと接続するので、このネットワークは１次マルコフモデルといえる。
【０００６】
このような動的ベイジアンネットワークでは、ある時刻においてユーザが居る場所によって次の時刻においてユーザが各場所に居る確率が決まるので、例えば時刻ｔにおいてユーザが駅に居るとき、次の時刻においてユーザが各場所に居る確率は、時刻ｔ−１においてユーザが居る場所によっては影響を受けない。このため、自宅から駅に向かうような出社時の行動と、会社から駅に向かうような帰宅時の行動との区別ができない。ユーザの位置の履歴に基づいて、駅から会社に向かう確率が高くなるようにパラメータの学習がなされている場合には、会社から駅に向かった後、再び会社に戻るような異常な行動が予測され得る。
【０００７】
このような誤推定を防ぐためには、高次マルコフ性を導入する必要がある。しかしながら、ベイジアンネットワークにおいて、高次マルコフ性を導入するためにあらゆるノード同士を有向グラフで接続することは、計算量が莫大となるため現実的ではない。そこで、現実的な計算量で予測精度の高い動的ベイジアンネットワークを構築する必要がある。
【０００８】
本発明は、計算量を抑えながらユーザの行動を予測して、予測されたユーザの行動に応じた制御を機器に対して行うことを目的とする。
【課題を解決するための手段】
【０００９】
本開示による機器制御システムは、ユーザの位置を計測する位置計測部と、計測された前記ユーザの位置の履歴を格納する位置情報記録部と、前記ユーザの位置の履歴に基づいて、複数の時刻における複数の場所に関してノードを有するベイジアンネットワークである行動予測モデルを生成する行動予測モデル生成部と、前記行動予測モデルを用いて、前記ユーザの所在位置の情報から前記複数の場所のうちの所定の場所に前記ユーザが到着すると予測される予測到着時刻を求める行動予測部と、前記予測到着時刻に基づいて、前記所定の場所における機器を制御する制御機器とを有する。前記行動予測モデルは、前記ノードからその次の時刻のノードへ向かう１次リンクと、前記ノードからその次の更に次の時刻のノードへ向かう２次リンクとを有する。
【００１０】
本開示による機器制御方法は、ユーザの位置を計測し、計測された前記ユーザの位置の履歴を格納し、前記ユーザの位置の履歴に基づいて、複数の時刻における複数の場所に関してノードを有するベイジアンネットワークである行動予測モデルを生成し、前記行動予測モデルを用いて、前記ユーザの所在位置の情報から前記複数の場所のうちの所定の場所に前記ユーザが到着すると予測される予測到着時刻を求め、前記予測到着時刻に基づいて、前記所定の場所における機器を制御する。前記行動予測モデルは、前記ノードからその次の時刻のノードへ向かう１次リンクと、前記ノードからその次の更に次の時刻のノードへ向かう２次リンクとを有する。
【発明の効果】
【００１１】
本開示よれば、計算量を抑えながら、より正確に、ユーザの行動を予測することができる。その結果、予測されたユーザの行動に応じた制御を機器に対して行うことができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施形態に係る機器制御システムの構成例を示すブロック図である。
【図２】図２は、１次リンクのみを有するベイジアンネットワークの例を示す説明図である。
【図３】図３は、２次リンクのみを有するベイジアンネットワークの例を示す説明図である。
【図４】図４は、１次リンクと２次リンクとを有するベイジアンネットワークの例を示す説明図である。
【図５】図５は、学習データの例を示す説明図である。
【図６】図６は、ＣＰＴの学習結果として求められた、ベイジアンネットワークである行動予測モデルの例を示す説明図である。
【図７】図７は、図１の機器制御システムにおける処理の例を示すフローチャートである。
【図８】図８は、図６のベイジアンネットワークに基づいて求められた予測結果の例を示す説明図である。
【図９】図９は、１次リンクのみを用いた場合の予測結果の例を示す説明図である。
【図１０】図１０は、図６のベイジアンネットワークに基づいて求められた予測結果の他の例を示す説明図である。
【図１１】図１１は、本発明の実施形態に係る機器制御システムの他の構成例を示すブロック図である。
【図１２】図１２は、本発明の実施形態に係る機器制御システムを実現するコンピュータシステムの構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照しながら説明する。図面において下２桁が同じ参照番号で示された構成要素は、互いに対応しており、同一の又は類似の構成要素である。
【００１４】
図１は、本発明の実施形態に係る機器制御システムの構成例を示すブロック図である。図１の機器制御システム１００は、モバイル機器１１０と、制御機器１８０とを有する。モバイル機器１１０は、位置計測部１１２と、位置情報記録部１１４と、行動予測モデル生成部１１６と、行動予測部１１８と、送信部１２０とを有する。制御機器１８０は、受信部１８２と、空調制御部１８４とを有する。モバイル機器１１０は、例えば、携帯電話、スマートフォン、腕時計型の通信装置、タブレット端末、パーソナルコンピュータ等である。本明細書において、時刻は離散的なものである。各時刻ｔ−１，ｔ，ｔ＋１，…の間の間隔は、典型的には一定（例えば１分）であるが、これには限られない。
【００１５】
モバイル機器１１０はユーザとともに移動し、位置計測部１１２はユーザの位置を計測する。位置計測部１１２は、例えばＧＰＳ（global positioning system）受信機であり、複数のＧＰＳ衛星からの電波を受信してユーザの位置を計測し、その位置を示す位置情報を出力する。位置計測部１１２は、ネットワークから受信したデータをも用いるＡ−ＧＰＳ（assisted GPS）によって位置を計測してもよい。位置計測部１１２は、無線ＬＡＮ（local area network）又は携帯電話の基地局と通信し、その基地局の位置情報を用いてユーザの位置を計測してもよいし、その基地局の位置をユーザの位置と見なすようにしてもよい。位置情報記録部１１４は、位置計測部１１２から出力された位置情報を格納する。位置情報記録部１１４には、ユーザの位置の履歴が格納される。
【００１６】
行動予測モデル生成部１１６は、ユーザの位置の履歴を表す位置情報を、位置計測部１１２から読み出し、複数の時刻における複数の場所をノードとして有するベイジアンネットワークである行動予測モデルを生成する。行動予測モデルの生成の詳細については後述する。行動予測モデル生成部１１６は、この行動予測モデルに関する複数の場所のうち、例えば計測されたユーザの位置に最も近い場所が、ユーザが存在する場所であると見なす。つまり、本明細書において、場所はある程度の広がりを有する。なお、位置情報記録部１１４は、このようなユーザの位置に最も近い場所を示す情報を位置情報として格納してもよい。
【００１７】
行動予測部１１８は、生成された行動予測モデルを用いて、ユーザの所在位置から複数の場所のうちの所定の場所にユーザが到着する時刻を予測し、求められた予測到着時刻を出力する。送信部１２０は、行動予測部１１８で求められた予測到着時刻を、インターネット等のネットワーク９０を経由して制御機器１８０に送信する。
【００１８】
制御機器１８０の受信部１８２は、送信部１２０から送信された予測到着時刻を受信し、空調制御部１８４に出力する。空調制御部１８４は、受信された予測到着時刻に基づいて、前記所定の場所の空調機１８８を制御する。より具体的には、例えば、空調制御部１８４は、ユーザの自宅に設置されており、ユーザの到着時に室温が適温になっているように、予測到着時刻より所定時間前（例えば３０分前）に空調機１８８の運転を開始させる。
【００１９】
図１の行動予測モデル生成部１１６が行う行動予測モデルの生成について説明する。本実施形態では、行動予測モデルとしてベイジアンネットワークを用い、ベイジアンネットワークにおけるノード間の関係に着目し、いくつかの拘束条件を導入すること等によって計算量を削減する。本実施形態では、３つの時刻における３つの場所に関してノードを有するベイジアンネットワークを、行動予測モデルとして生成する例について説明する。このベイジアンネットワークは、１次リンク及び２次リンクを有する。１次リンクは、あるノードからその次の時刻のノードに向かう有向グラフであり、１次マルコフ性を表現する。２次リンクは、あるノードからその次の時刻の更に次の時刻のノードに向かう有向グラフであり、２次マルコフ性を表現する。
【００２０】
場所の数及び時間方向のノード数は３には限定されず、場所の数は３より多くてもよく、時間方向のノード数も３より多くてもよい。時間方向にＮ個のノードを有する行動予測モデルの場合、１次からＮ−１次までのリンクを設定することができる。例えばＮは１６０であってもよいが、これには限定されない。
【００２１】
図２は、１次リンクのみを有するベイジアンネットワークの例を示す説明図である。図２では、ｔ−１、ｔ、ｔ＋１の３時刻における、会社、駅、自宅の３つの場所に関して、ノードが示されている。例えば時刻ｔにおける会社、駅、自宅のノードの確率変数は、それぞれOt,St,Htで示される。P(Ot)等はOt等の確率を、P(Ot|Ot-1,St-1,Ht-1)等は条件付き確率を示す。各ノードは、その次の時刻の全てのノードと接続されている。時刻tにおいてユーザが存在できる場所は１つであるので、ある場所での存在確率が１に決まると、同じ時刻に他の場所にユーザが存在する確率は０になる。これは、全ての時刻の全てのノードに対しての拘束条件である。
【００２２】
図２において、時刻ｔ−１のノードと時刻ｔ＋１のノードとの間には直接的なリンクはない。このとき、図２のベイジアンネットワークには、
P(Ot|Ot-1,St-1,Ht-1)
P(St|Ot-1,St-1,Ht-1)
P(Ht|Ot-1,St-1,Ht-1)
P(Ot+1|Ot,St,Ht)
P(St+1|Ot,St,Ht)
P(Ht+1|Ot,St,Ht)
の６つの条件付き確率が存在する。その後の学習処理では、行動予測モデル生成部１１６は、学習データを用いて、これら６つの条件付き確率について条件付き確率表（ＣＰＴ：conditional probability table）を計算する。
【００２３】
学習処理では、学習データの再現率が最も高くなるように、ノード間の親子関係（どのノードをどのノードに有向グラフでつなぐか）を探索する。条件付き確率が０とならない場合、親子関係が存在する。この探索処理が、ベイジアンネットワークの計算コストが高くなる理由である。どの時刻においても、ユーザは必ずどこかの場所にいなければならないので、２つの時刻の間において、1次リンクは少なくとも１つは必要である。なお、時刻ｔのノードから時刻ｔ−１のノードへ向かう逆向きの有向グラフは存在しない。
【００２４】
例えば確率変数Otについては、条件が３つあるので、一般的には８（２の３乗）パターンの条件についてＣＰＴを計算しなければならない。しかし、本実施形態では、ある時刻においてユーザが存在できる場所は１つであるという拘束条件を用いるので、確率変数Ot-1,St-1,Ht-1のうちの１つのみが真となる３パターンについてのみ計算すればよい。これにより、ＣＰＴの計算を大幅に削減できる。確率変数Ot+1,St,St+1,Ht,Ht+1についても同様である。
【００２５】
図３は、２次リンクのみを有するベイジアンネットワークの例を示す説明図である。図３では、各ノードは、その次の更に次の時刻の全てのノードと接続されている。図３において、時刻ｔ−１のノードと時刻ｔのノードとの間や、時刻ｔのノードと時刻ｔ＋１のノードとの間には直接的なリンクはない。このとき、図３のベイジアンネットワークには、
P(Ot+1|Ot-1,St-1,Ht-1)
P(St+1|Ot-1,St-1,Ht-1)
P(Ht+1|Ot-1,St-1,Ht-1)
の３つの条件付き確率が存在する。その後の学習処理では、行動予測モデル生成部１１６は、学習データを用いて、これら３つの条件付き確率についてＣＰＴを計算する。
【００２６】
例えば確率変数Ot+1については、条件が３つあるので、一般的には８（２の３乗）パターンの条件についてＣＰＴを計算しなければならない。しかし、本実施形態では、ある時刻においてユーザが存在できる場所は１つであるという拘束条件を用いるので、確率変数Ot-1,St-1,Ht-1のうちの１つのみが真となる３パターンについてのみ計算すればよい。これにより、ＣＰＴの計算を大幅に削減できる。確率変数St+1,Ht+1についても同様である。
【００２７】
図４は、１次リンクと２次リンクとを有するベイジアンネットワークの例を示す説明図である。図４のベイジアンネットワークには、
P(Ot|Ot-1,St-1,Ht-1)
P(St|Ot-1,St-1,Ht-1)
P(Ht|Ot-1,St-1,Ht-1)
P(Ot+1|Ot-1,St-1,Ht-1,Ot,St,Ht)
P(St+1|Ot-1,St-1,Ht-1,Ot,St,Ht)
P(Ht+1|Ot-1,St-1,Ht-1,Ot,St,Ht)
の６つの条件付き確率が存在する。
【００２８】
学習処理において、図２のような1次リンクのみを用いるベイジアンネットワークのＣＰＴの計算コストは、場所に関してノードがＭ個あり、時間方向にノードがＮ個ある場合、
O(M)*O(N)=O(MN)
である。条件付き確率の条件となるノードは直前の時刻のノードのみであるので、場所に関するノード数Ｍのみから計算コストO(M)が決まる。時間方向に条件付き確率を求める対象となるノード数Ｎから計算コストO(N)が決まる。図３のような２次リンクのみを用いるベイジアンネットワークのＣＰＴの計算コストも、同様にO(MN)である。より高次のリンクについても同様である。
【００２９】
一方、１次からＮ−１次までの全てのリンクを用いるベイジアンネットワークのＣＰＴの計算コストは、場所に関してノードがＭ個あり、時間方向にノードがＮ個ある場合、
O(MN)*O(N)=O(N MN)
である。このように、計算コストが指数関数で示されるので、莫大な計算コストが必要となる。高次マルコフモデルを導入したベイジアンネットワークは、図４のように全てのリンクを用いるものが正しい表現形式となる。ただし、計算コストの問題により、高次マルコフモデルを導入したベイジアンネットワークは実用に向いておらず、導入が進んでいない。そこで、本実施形態では、各ノードに関して、図２のように１次リンクのみを含むベイジアンネットワークによって求められる条件付き確率と、図３のように高次リンクのみを含むベイジアンネットワークによって求められる条件付き確率とを、それぞれに重みを与えて加算し、得られた和をそのノードの条件付き確率とする。
【００３０】
具体的には、行動予測モデル生成部１１６は、１次リンクのみのベイジアンネットワークの条件付き確率の重み（１次リンクの重み）w1と、２次リンクのみのベイジアンネットワークの条件付き確率の重み（２次リンクの重み）w2とを、適切に設定する。行動予測モデル生成部１１６は、例えば確率変数Xt+1の条件付き確率P(Xt+1|Ot-1,St-1,Ht-1,Ot,St,Ht)を、次式（１）、すなわち、
P(Xt+1|Ot-1,St-1,Ht-1,Ot,St,Ht)=w1P(Xt+1|Ot,St,Ht)+w2P(Xt+1|Ot-1,St-1,Ht-1)  …（１）
ただし、w1+w2=1、XはO,S,又はH
によって求める。
【００３１】
図４のベイジアンネットワークを用いて式（１）の左辺を直接求める場合、計算コストはO(N MN)であるが、図２及び図３のベイジアンネットワークを用いて式（１）の右辺を求める場合、計算コストはO(MN)である。これにより、計算量を抑えつつ、高次マルコフ性を導入することができる。１次からＮ次までのリンクを含むベイジアンネットワークを用いてもよく、この場合、式（１）は、
P(Ot|(時刻t-1までの全移動事象))=Σi=1N wiP(Ot|(時刻t-iまでの移動事象))
…（２）
ここで、w1+w2+...+wi+...+wn-1+wn=1
wi: ｉ次リンクの重み
N: リンクの最大次数
のように一般化することができる。
【００３２】
次に、学習処理について説明する。図５は、学習データの例を示す説明図である。図５には４つの経路が含まれる。会社から自宅に向かう場合の例として、（Ｌ１）会社→駅→自宅、（Ｌ２）会社→駅→駅、の２つの経路が示されている。自宅から会社に向かう場合の例として、（Ｌ３）自宅→駅→会社、（Ｌ４）自宅→駅→会社、の２つの経路が示されている。４例とも自宅と会社との間を往復するような移動行動の一部であり、駅が中間地点となっている。
【００３３】
図６は、ＣＰＴの学習結果として求められた、ベイジアンネットワークである行動予測モデルの例を示す説明図である。行動予測モデル生成部１１６が学習データの統計処理を行うことにより、各リンクに関する条件付き確率が求められる。図６には、図５の学習データによる１次リンクについてのＣＰＴの学習結果（細線）と、図５の学習データによる２次リンクについてのＣＰＴの学習結果（太線）とが示されている。図６には、条件付き確率が０ではないリンクのみが示されている。図６では、各リンクについて、学習データから統計的に求められる条件付き確率を示している。
【００３４】
例えば、時刻ｔにおいてユーザが駅に存在するという条件で、時刻ｔ＋１においてユーザが会社に存在する条件付き確率P(Ot+1|Ot=0,St=1,Ht=0)は、時刻ｔにおいてユーザが駅に存在する４例のうち２例が該当することから、0.5である。例えば、時刻ｔ−１においてユーザが会社に存在するという条件で、時刻ｔ＋１においてユーザが駅に存在する条件付き確率P(St+1|Ot-1=1,St-1=0,Ht-1=0)は、時刻ｔ−１においてユーザが会社に存在する２例のうち１例が該当することから、0.5である。
【００３５】
図１の機器制御システム１００の動作について説明する。図７は、図１の機器制御システム１００における処理の例を示すフローチャートである。ブロックＢ２において、位置計測部１１２は上述のようにユーザの位置を計測する。ブロックＢ４において、位置情報記録部１１４は、位置計測部１１２から出力された位置情報を格納する。位置情報記録部１１４には、ユーザの位置が順次格納されるので、ユーザの位置の履歴が格納されている。
【００３６】
ブロックＢ１２〜Ｂ２４において、行動予測モデル生成部１１６は、図２〜図６を参照して説明したように、行動予測モデルを生成する。ブロックＢ１２において、行動予測モデル生成部１１６は、学習データとしてユーザの位置の履歴を位置情報記録部１１４から読み込む。ブロックＢ１４において、行動予測モデル生成部１１６は、ノード間を接続する有向グラフのうち、１次リンクを設定する。ブロックＢ１４において、行動予測モデル生成部１１６は、図２のように設定可能な全ての１次リンクを設定する。ブロックＢ１６において、行動予測モデル生成部１１６は、図６を参照して説明したように、学習データを統計処理することによって１次リンクのＣＰＴを計算する（学習処理）。行動予測モデル生成部１１６は、条件付き確率が０である有向グラフを削除する。
【００３７】
ブロックＢ１８において、行動予測モデル生成部１１６は、ノード間を接続する有向グラフのうち、高次リンク（ここでは２次リンク）を設定する。ブロックＢ１８において、行動予測モデル生成部１１６は、図３のように設定可能な全ての高次リンクを設定する。ブロックＢ２０において、行動予測モデル生成部１１６は、図６を参照して説明したように、学習データを統計処理することによって高次リンクのＣＰＴを計算する（学習処理）。行動予測モデル生成部１１６は、条件付き確率が０である有向グラフを削除する。更に、ブロックＢ１８及びＢ２０と同様に、行動予測モデル生成部１１６は、３次以上のリンクについて、リンクの設定及びリンクのＣＰＴの計算等をしてもよい。
【００３８】
ブロックＢ２２において、行動予測モデル生成部１１６は、１次リンクの条件付き確率と高次リンクの条件付き確率の重みの設定を探索的に行う。行動予測モデル生成部１１６は、例えば、重みのそれぞれとして初期値を設定する。各重みの総和は、１である。
【００３９】
ブロックＢ２４において、行動予測モデル生成部１１６は、設定された重みが適切か否かを判断する。具体的には、行動予測モデル生成部１１６は、式（１）によって条件付き確率を求め、これと学習データとの整合性を評価する。整合性が高い場合には重みが適切であるのでブロックＢ３２に進み、整合性が高くない場合には適切でないのでブロックＢ２２に戻る。ブロックＢ２２に戻った場合、行動予測モデル生成部１１６は、重みを変更する。この際、行動予測モデル生成部１１６は、例えば最急降下法を用いて重みを変更してもよい。その後、再びブロックＢ２４に進む。なお、行動予測モデル生成部１１６は、ブロックＢ２２及びＢ２４を繰り返して、条件付き確率と学習データとの整合性が最も高くなるような重みを求めて設定してもよい。
【００４０】
ブロックＢ３２において、行動予測部１１８は、図６のベイジアンネットワーク及び式（１）に基づいて、ユーザの到着時刻の予測を行う。図８は、図６のベイジアンネットワークに基づいて求められた予測結果の例を示す説明図である。図８においては、各ノードにユーザが存在する確率が示されている。行動予測部１１８は、時刻ｔ−１においてユーザが会社に居る場合において、時刻ｔ＋１においてユーザが存在している可能性の高い場所を以下のように予測する。ブロックＢ２２及びＢ２４の処理により、例として、重みw1及びw2のいずれにも0.5が設定されているものとする。
【００４１】
入力値は、P(Ot-1)=1である。このとき、同時刻にユーザが存在できる場所は１つだけという拘束条件により、P(St-1)=P(Ht-1)=0となる。時刻ｔ−１から時刻ｔに遷移した際に、それぞれの場所にユーザが存在する確率P(Ot|Ot-1)、P(St|Ot-1)、P(Ht|Ot-1)を、行動予測部１１８は、図６のＣＰＴを用いて、
P(Ot|Ot-1)=P(Ot-1)*P(Ot|Ot-1=1,St-1=0,Ht-1=0) + P(St-1)*P(Ot|Ot-1=0,St-1=1,Ht-1=0)
+ P(Ht-1)*P(Ot|Ot-1=0,St-1=0,Ht-1=1)
=1.0*0.0 + 0.0*0.0 + 0.0*0.0
=0.0
P(St|Ot-1)=P(Ot-1)*P(St|Ot-1=1,St-1=0,Ht-1=0) + P(St-1)*P(St|Ot-1=0,St-1=1,Ht-1=0)
+ P(Ht-1)*P(St|Ot-1=0,St-1=0,Ht-1=1)
=1.0*1.0 + 0.0*0.0 + 0.0*1.0 
=1.0
P(Ht|Ot-1)=P(Ot-1)*P(Ht|Ot-1=1,St-1=0,Ht-1=0) + P(St-1)*P(Ht|Ot-1=0,St-1=1,Ht-1=0)
+ P(Ht-1)*P(Ht|Ot-1=0,St-1=0,Ht-1=1)
=1.0*0.0 + 0.0*0.0 + 0.0*0.0 
=0.0
のように求める。
【００４２】
時刻ｔ−１から時刻ｔ＋１に遷移した後に、それぞれの場所にユーザが存在する確率P(Ot+1|Ot-1)、P(St+1|Ot-1)、P(Ht+1|Ot-1)について、行動予測部１１８は、図６のＣＰＴを用いて求める。すなわち、行動予測部１１８は、１次リンクのみでの条件付き確率と、２次リンクのみでの条件付き確率とを、それぞれに重みw1=0.5及びw2=0.5を乗算してから加算した結果として、
P(Ot+1|Ot-1)=w1{P(Ot+1|Ot)P(Ot|Ot-1)+P(Ot+1|St)P(St|Ot-1)+P(Ot+1|Ht)P(Ht|Ot-1)}
+ w2P(Ot+1|Ot-1,St-1,Ht-1)
=0.5*{0.0*0.0+0.5*1.0+0.0*0.0}
+ 0.5*{P(Ot-1)*P(Ot+1|Ot-1=1,St-1=0,Ht-1=0)
+P(St-1)*P(Ot+1|Ot-1=0,St-1=1,Ht-1=0)
+P(Ht-1)*P(Ot+1|Ot-1=0,St-1=0,Ht-1=1)}
=0.25+0.5*{1.0*0.0+0.0*0.0+0.0*1.0}
=0.25
P(St+1|Ot-1)=w1{P(St+1|Ot)P(Ot|Ot-1)+P(St+1|St)P(St|Ot-1)+P(St+1|Ht)P(Ht|Ot-1)}
+ w2P(St+1|Ot-1,St-1,Ht-1)
=0.5*{0.0*0.0+0.25*1.0+0.0*0.0}
+ 0.5*{P(Ot-1)*P(St+1|Ot-1=1,St-1=0,Ht-1=0)
+P(St-1)*P(St+1|Ot-1=0,St-1=1,Ht-1=0)
+P(Ht-1)*P(St+1|Ot-1=0,St-1=0,Ht-1=1)}
=0.13+0.5*{1.0*0.5+0.0*0.0+0.0*0.0}
=0.38
P(Ht+1|Ot-1)=w1{P(Ht+1|Ot)P(Ot|Ot-1)+P(Ht+1|St)P(St|Ot-1)+P(Ht+1|Ht)P(Ht|Ot-1)}
+ w2P(Ht+1|Ot-1,St-1,Ht-1)
=0.5*{0.0*0.0+0.25*1.0+0.0*0.0}
+ 0.5*{P(Ot-1)*P(Ht+1|Ot-1=1,St-1=0,Ht-1=0)
+P(St-1)*P(Ht+1|Ot-1=0,St-1=1,Ht-1=0)
+P(Ht-1)*P(Ht+1|Ot-1=0,St-1=0,Ht-1=1)}
=0.13+0.5*{1.0*0.5+0.0*0.0+0.0*0.0}
=0.38
のように求める。１次リンクのみでの条件付き確率は、時刻ｔ−１から時刻ｔへの遷移と、時刻ｔから時刻ｔ＋１への遷移の連結結果として表される。２次リンクのみでの条件付き確率は、時刻ｔ−１から時刻ｔ＋１への遷移の確率として表される。得られた確率P(Ot+1|Ot-1)=0.25、P(St+1|Ot-1)=0.38、P(Ht+1|Ot-1)=0.38は、時刻ｔ−１においてユーザが会社にいた場合、時刻ｔ＋１においてはユーザが駅に移動しているか自宅に戻っている可能性が高いということを、示している。
【００４３】
図９は、１次リンクのみを用いた場合の予測結果の例を示す説明図である。参考のため、１次リンクのみを用いた場合に得られる確率を計算する。P(Ot|Ot-1)、P(St|Ot-1)、P(Ht|Ot-1)については、図８の場合と同じ結果が得られる。
【００４４】
時刻ｔ−１から時刻ｔ＋１に遷移した後に、それぞれの場所にユーザが存在する確率P(Ot+1|Ot-1)、P(St+1|Ot-1)、P(Ht+1|Ot-1)については、時刻ｔ−１から時刻ｔへの遷移と、時刻ｔから時刻ｔ＋１への遷移の連結結果として表される。これらの確率は、図６のＣＰＴを用いて、
P(Ot+1|Ot-1)=P(Ot+1|Ot)P(Ot|Ot-1)+P(Ot+1|St)P(St|Ot-1)+P(Ot+1|Ht)P(Ht|Ot-1)
=0.0*0.0+0.5*1.0+0.0*0.0
=0.5
P(St+1|Ot-1)=P(St+1|Ot)P(Ot|Ot-1)+P(St+1|St)P(St|Ot-1)+P(St+1|Ht)P(Ht|Ot-1)
=0.0*0.0+0.25*1.0+0.0*0.0
=0.25
P(Ht+1|Ot-1)=P(Ht+1|Ot)P(Ot|Ot-1)+P(Ht+1|St)P(St|Ot-1)+P(Ht+1|Ht)P(Ht|Ot-1)
=0.0*0.0+0.25*1.0+0.0*0.0
=0.25
のように求められる。得られたP(Ot+1|Ot-1)=0.5、P(St+1|Ot-1)=0.25、P(Ht+1|Ot-1)=0.25は、時刻ｔ−１においてユーザが会社にいた場合、時刻ｔ＋１においてはユーザが会社に引き返している可能性が高いということを、示している。これは、学習データが示す実際の行動と大きくかけ離れており、正しい予測ができていないと言える。
【００４５】
図１０は、図６のベイジアンネットワークに基づいて求められた予測結果の他の例を示す説明図である。図１０においても、各ノードにユーザが存在する確率が示されている。行動予測部１１８は、時刻ｔ−１においてユーザが自宅に居る場合において、時刻ｔ＋１においてユーザが存在している可能性の高い場所を以下のように予測する。例として、重みw1及びw2のいずれにも0.5が設定されているものとする。
【００４６】
入力値は、P(Ht-1)=1である。このとき、同時刻にユーザが存在できる場所は１つだけという拘束条件により、P(Ot-1)=P(St-1)=0となる。時刻ｔ−１から時刻ｔに遷移した際に、それぞれの場所にユーザが存在する確率P(Ot|Ht-1)、P(St|Ht-1)、P(Ht|Ht-1)を、行動予測部１１８は、図６のＣＰＴを用いて、
P(Ot|Ht-1)=P(Ot-1)*P(Ot|Ot-1=1,St-1=0,Ht-1=0) + P(St-1)*P(Ot|Ot-1=0,St-1=1,Ht-1=0)
+ P(Ht-1)*P(Ot|Ot-1=0,St-1=0,Ht-1=1)
=0.0*0.0 + 0.0*0.0 + 1.0*0.0
=0.0
P(St|Ht-1)=P(Ot-1)*P(St|Ot-1=1,St-1=0,Ht-1=0) + P(St-1)*P(St|Ot-1=0,St-1=1,Ht-1=0)
+ P(Ht-1)*P(St|Ot-1=0,St-1=0,Ht-1=1)
=0.0*1.0 + 0.0*0.0 + 1.0*1.0 
=1.0
P(Ht|Ht-1)=P(Ot-1)*P(Ht|Ot-1=1,St-1=0,Ht-1=0) + P(St-1)*P(Ht|Ot-1=0,St-1=1,Ht-1=0)
+ P(Ht-1)*P(Ht|Ot-1=0,St-1=0,Ht-1=1)
=0.0*0.0 + 0.0*0.0 + 1.0*0.0 
=0.0
のように求める。
【００４７】
時刻ｔ−１から時刻ｔ＋１に遷移した後に、それぞれの場所にユーザが存在する確率P(Ot+1|Ht-1)、P(St+1|Ht-1)、P(Ht+1|Ht-1)について、行動予測部１１８は、図６のＣＰＴを用いて求める。すなわち、行動予測部１１８は、１次リンクのみでの条件付き確率と、２次リンクのみでの条件付き確率とを、それぞれに重みw1=0.5及びw2=0.5を乗算してから加算した結果として、
P(Ot+1|Ht-1)=w1{P(Ot+1|Ot)P(Ot|Ht-1)+P(Ot+1|St)P(St|Ht-1)+P(Ot+1|Ht)P(Ht|Ht-1)}
+ w2P(Ot+1|Ot-1,St-1,Ht-1)
=0.5*{0.0*0.0+0.5*1.0+0.0*0.0}
+ 0.5*{P(Ot-1)*P(Ot+1|Ot-1=1,St-1=0,Ht-1=0)
+P(St-1)*P(Ot+1|Ot-1=0,St-1=1,Ht-1=0)
+P(Ht-1)*P(Ot+1|Ot-1=0,St-1=0,Ht-1=1)}
=0.25+0.5*{0.0*0.0+0.0*0.0+1.0*1.0}
=0.75
P(St+1|Ht-1)=w1{P(St+1|Ot)P(Ot|Ht-1)+P(St+1|St)P(St|Ht-1)+P(St+1|Ht)P(Ht|Ht-1)}
+ w2P(St+1|Ot-1,St-1,Ht-1)
=0.5*{0.0*0.0+0.25*1.0+0.0*0.0}
+ 0.5*{P(Ot-1)*P(St+1|Ot-1=1,St-1=0,Ht-1=0)
+P(St-1)*P(St+1|Ot-1=0,St-1=1,Ht-1=0)
+P(Ht-1)*P(St+1|Ot-1=0,St-1=0,Ht-1=1)}
=0.13+0.5*{0.0*0.5+0.0*0.0+1.0*0.0}
=0.13
P(Ht+1|Ht-1)=w1{P(Ht+1|Ot)P(Ot|Ht-1)+P(Ht+1|St)P(St|Ht-1)+P(Ht+1|Ht)P(Ht|Ht-1)}
+ w2P(Ht+1|Ot-1,St-1,Ht-1)
=0.5*{0.0*0.0+0.25*1.0+0.0*0.0}
+ 0.5*{P(Ot-1)*P(Ht+1|Ot-1=1,St-1=0,Ht-1=0)
+P(St-1)*P(Ht+1|Ot-1=0,St-1=1,Ht-1=0)
+P(Ht-1)*P(Ht+1|Ot-1=0,St-1=0,Ht-1=1)}
=0.13+0.5*{0.0*0.5+0.0*0.0+1.0*0.0}
=0.13
のように求める。得られた確率P(Ot+1|Ht-1)=0.75、P(St+1|Ht-1)=0.13、P(Ht+1|Ht-1)=0.13は、時刻ｔ−１においてユーザが自宅に居た場合、時刻ｔ＋１においてはユーザが会社に移動している可能性が高いということを、示している。
【００４８】
時刻ｔ−１においてユーザが自宅に居る場合において、時刻ｔ＋１においてユーザが存在している可能性の高い場所を、１次リンクのみを用いて予測すると、図９と同様の結果が得られる。これは、図６において、時刻ｔ−１における会社のノードを起点とする１次リンクは駅のノードに向かうリンクのみであり、時刻ｔ−１における自宅のノードを起点とする１次リンクも駅のノードに向かうリンクのみであることからもわかる。
【００４９】
このように、１次リンクのみを用いると、ユーザが会社を出発する帰宅時においても、ユーザが自宅を出発する出社時においても、同じ結果が得られてしまい、正しい予測が行われないことがわかる。２次リンクも用いる本実施形態によると、図８及び図１０に示されているように、帰宅時には時刻ｔ＋１においてユーザが自宅に居る可能性が比較的高くなり、出社時には時刻ｔ＋１においてユーザが会社に居る可能性が比較的高くなる。
【００５０】
図６のベイジアンネットワークは、実際には時間方向により多くのノードを有している。図７のブロックＢ３２において、行動予測部１１８は、図８を参照して説明したような処理を時間方向に繰り返し、時刻ｔ＋１より後の時刻のノードについても、ユーザがそのノードに存在する確率を求める。更に、行動予測部１１８は、ユーザが自宅のノードに存在する確率P(Ht+1|Ot-1)、P(Ht+2|Ot-1)、P(Ht+3|Ot-1)、……のうち、値が最も大きいものを求め、それに対応する時刻を、ユーザが自宅に到着する予測到着時刻として出力する。なお、行動予測部１１８は、時間方向に複数のノードにわたって、ユーザの存在した場所を入力として用いてもよい。
【００５１】
送信部１２０は、求められた予測到着時刻を、ネットワーク９０を経由して制御機器１８０に送信する。制御機器１８０の受信部１８２は、予測到着時刻を受信して空調制御部１８４に出力する。ブロックＢ３４において、空調制御部１８４は、予測到着時刻より所定時間前に運転（例えば、冷房運転や暖房運転）を開始するように、空調機１８８を制御する。これにより、ユーザが自宅に到着したときには、室温が適切な温度になっているようにすることができる。
【００５２】
本実施形態は、過去の一連の行動に基づいて次の行動を予測する確率モデルを用いるので、直前の行動のみに基づいて次の行動を予測するようなモデルを用いる場合と比べて、より正確に、ユーザの行動（各場所にユーザが存在する確率や、ユーザの到着時刻）を予測することができる。また、類似する過去の行動履歴に基づいて次の行動を予測するような、パターンマッチング手法と比べると、過去にしたことがない行動をユーザが行うような場合においてもユーザの行動を予測することができる。本実施形態は、１次リンクに関する計算と、高次リンクに関する計算とを独立して行い、式（１）のように、これらを、それぞれに重み付けしてから加算する。このため、計算量を抑えることもできる。
【００５３】
図１１は、本発明の実施形態に係る機器制御システムの他の構成例を示すブロック図である。図１１の機器制御システム２００は、モバイル機器２１０と、サーバ２４０と、制御機器２８０とを有する。モバイル機器２１０は、位置計測部２１２と、送信部２２０とを有する。サーバ２４０は、受信部２４２と、位置情報記録部２４４と、行動予測モデル生成部２４６と、行動予測部２４８と、送信部２５０とを有する。制御機器２８０は、受信部２８２と、給湯制御部２８４とを有する。
【００５４】
モバイル機器２１０は、位置情報記録部１１４、行動予測モデル生成部１１６、及び行動予測部１１８を有しない点以外は、図１のモバイル機器１１０とほぼ同様に構成されている。送信部２２０は、位置計測部２１２から出力された位置情報を、ネットワーク９０を経由してサーバ２４０に送信する。
【００５５】
サーバ２４０の受信部２４２は、位置情報を受信して位置情報記録部２４４に出力する。位置情報記録部２４４、行動予測モデル生成部２４６、及び行動予測部２４８は、図１の位置情報記録部１１４、行動予測モデル生成部１１６、及び行動予測部１１８とそれぞれ同様であるので説明を省略する。送信部２５０は、行動予測部２４８で求められた予測到着時刻を、ネットワーク９０を経由して制御機器２８０に送信する。
【００５６】
制御機器２８０の受信部２８２は、送信部２５０から送信された予測到着時刻を受信し、給湯制御部２８４に出力する。給湯制御部１８４は、受信された予測到着時刻に基づいて、所定の場所の給湯器２８８を制御する。より具体的には、例えば、給湯制御部２８４は、ユーザの自宅に設置されており、ユーザの到着時に浴槽に適切な量の湯が貯留されているように、予測到着時刻より所定時間前（例えば３０分前）に給湯器２８８の運転を開始させる。このように、行動予測モデルの生成や行動予測を、モバイル機器２１０ではなく、サーバ２４０において行うようにしてもよい。
【００５７】
図１２は、本発明の実施形態に係る機器制御システムを実現するコンピュータシステムの構成例を示すブロック図である。図１２のコンピュータシステム３００は、プロセッサ５２と、バス５４と、ＧＰＳ受信機５６と、送受信機５８と、格納部６０と、ユーザインタフェース６６とを有する。格納部６０は、メモリ６２と、ファイル格納部６４とを有する。
【００５８】
プロセッサ５２は、バス５４を経由して他の構成要素と通信する。ＧＰＳ受信機５６は、ＧＰＳ衛星からの電波をアンテナ経由で受信し、位置の検出を行う。送受信機５８は、例えば携帯電話の基地局や無線ＬＡＮの基地局と無線で通信を行い、インターネット等のネットワークとの間でデータを送受信する。ＧＰＳ受信機５６は、ネットワークから受信したデータをも用いて、位置を検出し得る。ＧＰＳ受信機５６は、位置計測部１１２又は２１２として動作し得る。
【００５９】
メモリ６２は例えばＲＡＭ（random access memory）及びＲＯＭ（read only memory）を含んでおり、データ及び命令を格納する。ファイル格納部６４は、１以上の揮発性又は不揮発性の、非過渡的な、コンピュータ読み取り可能な格納媒体である。本発明の実施形態がソフトウェアで実現される場合には、例えば、マイクロコード、アセンブリ言語のコード、又はより高レベルの言語のコードが用いられ得る。これらのコードで記述され、本発明の実施形態の機能を実現する命令を含むプログラムを、ファイル格納部６４は格納する。ファイル格納部６４は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（electrically erasable programmable read only memory）、及びフラッシュメモリ等の半導体メモリ、ハードディスクドライブ等の磁気記録媒体、光記録媒体、これらの組み合わせ等を含み得る。
【００６０】
ユーザインタフェース６６は、入力デバイスとして、タッチスクリーン、キーボード、及びマウス等を含み得る。ユーザインタフェース６６は、出力デバイスとして、液晶ディスプレイ、有機ＥＬ（electroluminescence）ディスプレイ等のフラットパネルディスプレイを含み得る。
【００６１】
本明細書における各機能ブロックは、例えば、回路等のハードウェアで実現され得る。代替としては各機能ブロックの一部又は全ては、ソフトウェアで実現され得る。例えばそのような機能ブロックは、プロセッサ５２及びプロセッサ５２上で実行されるプログラムによって実現され得る。換言すれば、本明細書で説明される各機能ブロックは、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよいし、ハードウェアとソフトウェアとの任意の組合せで実現され得る。
【００６２】
本発明の多くの特徴及び優位性は、記載された説明から明らかであり、よって添付の特許請求の範囲によって、本発明のそのような特徴及び優位性の全てをカバーすることが意図される。更に、多くの変更及び改変が当業者には容易に可能であるので、本発明は、図示され記載されたものと全く同じ構成及び動作に限定されるべきではない。したがって、全ての適切な改変物及び等価物は本発明の範囲に入るものとされる。
【産業上の利用可能性】
【００６３】
以上説明したように、本発明は、機器制御システム及び機器制御方法等について有用である。
【符号の説明】
【００６４】
１００，２００  機器制御システム
１１０  モバイル機器
１１２  位置計測部
１１６  行動予測モデル生成部
１１８  行動予測部
１８０，２８０  制御機器
２４０  サーバ
【図１】
2017121017.tif 000003
【図２】
2017121017.tif 000004
【図３】
2017121017.tif 000005
【図４】
2017121017.tif 000006
【図５】
2017121017.tif 000007
【図６】
2017121017.tif 000008
【図７】
2017121017.tif 000009
【図８】
2017121017.tif 000010
【図９】
2017121017.tif 000011
【図１０】
2017121017.tif 000012
【図１１】
2017121017.tif 000013
【図１２】
2017121017.tif 000014