(57)【特許請求の範囲】
【請求項１】
所定の人物が所有している機器を利用していたか否かを示す利用データを所定の時間分取得する機器利用データ取得部と、
人物ごとに、各人物が所有している機器の機器データと、所定の時間ごとに前記各人物が前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記各人物が行っていた行動を表す行動データとを含む教師データを用いて、人物の行動を推定する際に使用されるモデルを、人物の行動が別の行動に変化したときの前後の行動の組み合わせを表す行動変化ごとに作成する作成部と、
前記所定の人物の前記利用データと、前記モデルとを利用して前記利用データと行動変化との相関性を示す値の高さを表す信頼度を行動変化ごとに算出する信頼度算出部と、
算出された信頼度に基づいて前記所定の人物の行動を推定する行動推定部と、
を備える行動推定装置。
【請求項２】
前記機器利用データ取得部は、取得した前記利用データから第１の単位時間ごとに前記第１の単位時間よりも長い時間である第２の単位時間分の利用データを抽出し、
前記信頼度算出部は、前記第２の単位時間分の利用データに関して、行動変化ごとの信頼度を算出する、請求項１に記載の行動推定装置。
【請求項３】
前記行動推定部は、前記信頼度の高い行動変化を前記利用データの行動とする、請求項１又は２に記載の行動推定装置。
【請求項４】
人物が所有している機器の機器データと、前記人物が所定の時間ごとに前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記人物が行っていた行動を表す行動データとを含む教師データを、複数の人物から取得する取得部と、
取得された複数の前記教師データから前記人物の行動が変化した時刻を基準時刻として、前記基準時刻を所定の時間遡った時間から前記基準時刻を所定の時間進んだ時間までの利用データを、人物の行動変化ごとに抽出する抽出部と、
抽出された利用データに基づいて人物の行動を推定する際に使用されるモデルを行動変化ごとに生成する生成部と、
を備えるモデル生成装置。
【請求項５】
所定の人物が所有している機器を利用していたか否かを示す利用データを所定の時間分取得する機器利用データ取得ステップと、
人物ごとに、各人物が所有している機器の機器データと、所定の時間ごとに前記各人物が前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記各人物が行っていた行動を表す行動データとを含む教師データを用いて、人物の行動を推定する際に使用されるモデルを、人物の行動が別の行動に変化したときの前後の行動の組み合わせを表す行動変化ごとに作成する作成ステップと、
前記所定の人物の前記利用データと、前記モデルとを利用して前記利用データと行動変化との相関性を示す値の高さを表す信頼度を行動変化ごとに算出する信頼度算出ステップと、
算出された信頼度に基づいて前記所定の人物の行動を推定する行動推定ステップと、
を有する行動推定方法。
【請求項６】
人物が所有している機器の機器データと、前記人物が所定の時間ごとに前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記人物が行っていた行動を表す行動データとを含む教師データを、複数の人物から取得する取得ステップと、
取得された複数の前記教師データから前記人物の行動が変化した時刻を基準時刻として、前記基準時刻を所定の時間遡った時間から前記基準時刻を所定の時間進んだ時間までの利用データを、人物の行動変化ごとに抽出する抽出ステップと、
抽出された利用データに基づいて人物の行動を推定する際に使用されるモデルを行動変化ごとに生成する生成ステップと、
を有するモデル生成方法。
【請求項７】
所定の人物が所有している機器を利用していたか否かを示す利用データを所定の時間分取得する機器利用データ取得ステップと、
人物ごとに、各人物が所有している機器の機器データと、所定の時間ごとに前記各人物が前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記各人物が行っていた行動を表す行動データとを含む教師データを用いて、人物の行動を推定する際に使用されるモデルを、人物の行動が別の行動に変化したときの前後の行動の組み合わせを表す行動変化ごとに作成する作成ステップと、
前記所定の人物の前記利用データと、前記モデルとを利用して前記利用データと行動変化との相関性を示す値の高さを表す信頼度を行動変化ごとに算出する信頼度算出ステップと、
算出された信頼度に基づいて前記所定の人物の行動を推定する行動推定ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【請求項８】
人物が所有している機器の機器データと、前記人物が所定の時間ごとに前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記人物が行っていた行動を表す行動データとを含む教師データを、複数の人物から取得する取得ステップと、
取得された複数の前記教師データから前記人物の行動が変化した時刻を基準時刻として、前記基準時刻を所定の時間遡った時間から前記基準時刻を所定の時間進んだ時間までの利用データを、人物の行動変化ごとに抽出する抽出ステップと、
抽出された利用データに基づいて人物の行動を推定する際に使用されるモデルを行動変化ごとに生成する生成ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行動を推定する技術に関する。
【背景技術】
【０００２】
従来、ある情報から別の情報を推定するために、大量の情報を機械学習させることにより生成されたモデルを識別器として用いるパターン認識の技術が利用されている（例えば、特許文献１参照）。パターン認識の技術では、大量の情報から統計的に情報の傾向を求め、新たな情報が入力された際にその傾向から入力された情報がどのようなものであるかを推定する。このようなパターン認識においては、従来、ＳＶＭ（Support Vector Machine）の技術が用いられてきた。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】山田俊哉、外１名、「サポートベクターマシーンによる統計的判別」、日本計算機統計学会、日本計算機統計学会大会論文集、2007、p.81-44.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＳＶＭを用いた手法では、モデルを生成するための情報のブロックデータのサイズを同じにする必要があった。そのため、ブロックデータのサイズが異なる情報では、モデルを生成することができない。例えば、人物の行動を推定しようとした場合、睡眠時間や食事の時間など行動時間が人物ごとに異なる。このような場合には、機械学習させる情報ごとにブロックデータのサイズも異なってしまう。そのため、モデルを生成することができなくなってしまう。その結果、人物の行動を推定することができないという問題があった。
【０００５】
上記事情に鑑み、本発明は、人物の行動を推定することを可能にする技術の提供を目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、所定の人物が所有している機器を利用していたか否かを示す利用データを所定の時間分取得する機器利用データ取得部と、人物ごとに、各人物が所有している機器の機器データと、所定の時間ごとに前記各人物が前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記各人物が行っていた行動を表す行動データとを含む教師データを用いて、人物の行動を推定する際に使用されるモデルを、人物の行動が別の行動に変化したときの前後の行動の組み合わせを表す行動変化ごとに作成する作成部と、前記所定の人物の前記利用データと、前記モデルとを利用して前記利用データと行動変化との相関性を示す値の高さを表す信頼度を行動変化ごとに算出する信頼度算出部と、算出された信頼度に基づいて前記所定の人物の行動を推定する行動推定部と、を備える行動推定装置である。
【０００７】
本発明の一態様は、上記の行動推定装置であって、前記機器利用データ取得部は、取得した前記利用データから第１の単位時間ごとに前記第１の単位時間よりも長い時間である第２の単位時間分の利用データを抽出し、前記信頼度算出部は、前記第２の単位時間分の利用データに関して、行動変化ごとの信頼度を算出する。
【０００８】
本発明の一態様は、上記の行動推定装置であって、前記行動推定部は、前記信頼度の高い行動変化を前記利用データの行動とする。
【０００９】
本発明の一態様は、人物が所有している機器の機器データと、前記人物が所定の時間ごとに前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記人物が行っていた行動を表す行動データとを含む教師データを、複数の人物から取得する取得部と、取得された複数の前記教師データから前記人物の行動が変化した時刻を基準時刻として、前記基準時刻を所定の時間遡った時間から前記基準時刻を所定の時間進んだ時間までの利用データを、人物の行動変化ごとに抽出する抽出部と、抽出された利用データに基づいて人物の行動を推定する際に使用されるモデルを行動変化ごとに生成する生成部と、を備えるモデル生成装置である。
【００１０】
本発明の一態様は、所定の人物が所有している機器を利用していたか否かを示す利用データを所定の時間分取得する機器利用データ取得ステップと、人物ごとに、各人物が所有している機器の機器データと、所定の時間ごとに前記各人物が前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記各人物が行っていた行動を表す行動データとを含む教師データを用いて、人物の行動を推定する際に使用されるモデルを、人物の行動が別の行動に変化したときの前後の行動の組み合わせを表す行動変化ごとに作成する作成ステップと、前記所定の人物の前記利用データと、前記モデルとを利用して前記利用データと行動変化との相関性を示す値の高さを表す信頼度を行動変化ごとに算出する信頼度算出ステップと、算出された信頼度に基づいて前記所定の人物の行動を推定する行動推定ステップと、を有する行動推定方法である。
【００１１】
本発明の一態様は、人物が所有している機器の機器データと、前記人物が所定の時間ごとに前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記人物が行っていた行動を表す行動データとを含む教師データを、複数の人物から取得する取得ステップと、取得された複数の前記教師データから前記人物の行動が変化した時刻を基準時刻として、前記基準時刻を所定の時間遡った時間から前記基準時刻を所定の時間進んだ時間までの利用データを、人物の行動変化ごとに抽出する抽出ステップと、抽出された利用データに基づいて人物の行動を推定する際に使用されるモデルを行動変化ごとに生成する生成ステップと、を有するモデル生成方法である。
【００１２】
本発明の一態様は、所定の人物が所有している機器を利用していたか否かを示す利用データを所定の時間分取得する機器利用データ取得ステップと、人物ごとに、各人物が所有している機器の機器データと、所定の時間ごとに前記各人物が前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記各人物が行っていた行動を表す行動データとを含む教師データを用いて、人物の行動を推定する際に使用されるモデルを、人物の行動が別の行動に変化したときの前後の行動の組み合わせを表す行動変化ごとに作成する作成ステップと、前記所定の人物の前記利用データと、前記モデルとを利用して前記利用データと行動変化との相関性を示す値の高さを表す信頼度を行動変化ごとに算出する信頼度算出ステップと、算出された信頼度に基づいて前記所定の人物の行動を推定する行動推定ステップと、をコンピュータに実行させるためのコンピュータプログラムである。
【００１３】
本発明の一態様は、人物が所有している機器の機器データと、前記人物が所定の時間ごとに前記機器を利用していたか否かを示す利用データと、前記所定の時間ごとに前記人物が行っていた行動を表す行動データとを含む教師データを、複数の人物から取得する取得ステップと、取得された複数の前記教師データから前記人物の行動が変化した時刻を基準時刻として、前記基準時刻を所定の時間遡った時間から前記基準時刻を所定の時間進んだ時間までの利用データを、人物の行動変化ごとに抽出する抽出ステップと、抽出された利用データに基づいて人物の行動を推定する際に使用されるモデルを行動変化ごとに生成する生成ステップと、をコンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【００１４】
本発明により、人物の行動を推定することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における行動推定システムのシステム構成を示す図である。
【図２】ＧＷ１０の機能構成を表す概略ブロック図である。
【図３】行動推定装置２０の機能構成を表す概略ブロック図である。
【図４】機器利用情報データベース及びプロトコルデータベースの具体例を示す図である。
【図５】モデルデータベース及び全ユーザ機器利用情報データベースの具体例を示す図である。
【図６】モデル生成処理の概略図である。
【図７】行動推定処理の概略図である。
【図８】行動推定処理の概略図である。
【図９】本実施形態における行動推定処理の流れを示すフローチャートである。
【図１０】本実施形態における行動推定処理の流れを示すフローチャートである。
【図１１】本実施形態におけるＧＷ１０の処理の流れを示すフローチャートである。
【図１２】本実施形態における行動推定の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図１は、本実施形態における行動推定システムのシステム構成を示す図である。本実施形態の行動推定システムは、複数のＧＷ（Gate Way）１０、行動推定装置２０、ネットワーク３０、複数のＧＷ下部機器４０（４０−１〜４０−Ｎ：Ｎは１以上の整数）を備える。ＧＷ下部機器とは、ＧＷ１０に接続されたＩＰ（Internet Protocol）対応機器である。ＧＷ下部機器は、例えば、エアコンやテレビなどの家電機器やＯＡ（Office Automation）機器である。
【００１７】
まず、本実施形態における行動推定システムの理解のため、具体例として、人物の行動を推定するシステムについて説明する。そこで、以下の説明において使用する文言を定義する。
機器データとは、ユーザが所有しているＧＷ下部機器４０に関するデータである。機器データは、例えばＧＷ下部機器４０の機器ＩＤやＧＷ下部機器４０の名前である。
利用データとは、ユーザがＧＷ下部機器４０を利用していたか否かを示すデータである。例えば、利用データは、所定の時間（例えば、２４時間）の間のＧＷ下部機器４０の利用状態を表す。
行動データとは、ユーザが行っていた行動を示すデータである。行動データの具体例として、余暇、睡眠、通勤などがある。
対象ユーザとは、行動を推定する対象となっているユーザである。
なお、以下の説明では、機器データ、利用データ及び行動データが含まれているデータを教師データと称する。
【００１８】
本実施形態の行動推定システムは、まず、行動推定装置２０が複数のＧＷ１０から複数のユーザ（例えば、１万人）分の教師データを取得する。そして、行動推定装置２０は、取得した教師データから人物の行動を推定するために使用されるモデルを生成する。その後、行動推定装置２０は、対象ユーザの行動推定の要求がなされると、当該対象ユーザの利用データと、生成されたモデルとに基づいて対象ユーザの行動を推定する。以下、本発明の一実施形態の詳細について説明する。
【００１９】
ＧＷ１０は、ＧＷ下部機器４０とネットワーク３０との間で通信の中継を行う中継装置である。ＧＷ１０には、無線通信又は有線通信で１台以上のＧＷ下部機器４０が接続される。以下、ＧＷ１０にＧＷ下部機器４０が接続されることを「ＧＷ５０に帰属する」と表現する。
行動推定装置２０は、情報処理装置を用いて構成される。行動推定装置２０は、管理者の操作に応じて人物の行動を推定する。
ネットワーク３０は、どのように構成されたネットワークでもよい。例えば、ネットワーク３０はインターネットを用いて構成されてもよい。
ＧＷ下部機器４０は、ＧＷ１０に帰属するＩＰ対応の機器である。
【００２０】
図２は、ＧＷ１０の機能構成を表す概略ブロック図である。ＧＷ１０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、通信プログラムを実行する。通信プログラムの実行によって、ＧＷ１０は、通信部１０１、機器名特定信号生成部１０２、ＧＷ下部機器情報記憶部１０３、利用状態確認信号生成部１０４、機器利用情報記憶部１０５、判定部１０６を備える装置として機能する。なお、ＧＷ１０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。また、通信プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、通信プログラムは、電気通信回線を介して送受信されてもよい。
【００２１】
通信部１０１は、ＧＷ下部機器４０との間で通信を行う。また、通信部１０１は、行動推定装置２０との間で通信を行う。
機器名特定信号生成部１０２は、機器名特定信号を生成し、通信部１０１を介してＧＷ下部機器４０に送信する。機器名特定信号とは、ＧＷ下部機器４０の機器名や機器ＩＤを取得するために送信される信号である。機器名特定信号生成部１０２がＧＷ下部機器４０に機器名特定信号を送信するタイミングは、予め設定されていてもよいし、ユーザによって設定されてもよい。
【００２２】
ＧＷ下部機器情報記憶部１０３は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。ＧＷ下部機器情報記憶部１０３は、プロトコルデータベースを記憶している。
利用状態確認信号生成部１０４は、利用状態確認信号を生成し、通信部１０１を介してＧＷ下部機器４０に送信する。利用状態確認信号とは、ＧＷ下部機器４０が利用されているか否かを確認するために送信される信号である。なお、以下の説明では、ＧＷ下部機器４０が利用されている状態を利用状態と称し、利用されていない状態を非利用状態と称する。
【００２３】
機器利用情報記憶部１０５は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。機器利用情報記憶部１０５は、機器利用情報データベースを記憶している。
判定部１０６は、利用情報確認信号の応答が通信部１０１によって受信されたか否かを判定する。
【００２４】
図３は、行動推定装置２０の機能構成を表す概略ブロック図である。行動推定装置２０は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、行動推定プログラムを実行する。行動推定プログラムの実行によって、行動推定装置２０は、通信部２０１、作成部（モデル生成装置）２０２、モデル記憶部２０７、全ユーザ機器情報記憶部２０８、入力部２０９、機器利用データ取得部２１０、信頼度算出部２１１、候補選択部２１２、行動推定部２１３、出力部２１４を備える装置として機能する。また、作成部２０２は、教師データ取得部（取得部）２０３、教師データテーブル記憶部２０４、抽出部２０５、モデル生成部２０６として機能する。なお、行動推定装置２０の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、行動推定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、行動推定プログラムは、電気通信回線を介して送受信されてもよい。
【００２５】
通信部２０１は、ＧＷ１０との間で通信を行う。
作成部２０２は、人物の行動を推定するために使用されるモデルを生成する。以下、作成部２０２の具体的な構成について説明する。
教師データ取得部２０３は、複数のＧＷ１０から所定の時間（例えば、２４時間）分の教師データを取得する。教師データ取得部２０３は、取得した教師データごとに教師データテーブルを生成する。教師データテーブルとは、ユーザが所有しているＧＷ下部機器４０の機器データと、所定の時間（例えば、２４時間）分の当該ＧＷ下部機器４０の利用データと当該所定の時間の人物の行動データとが対応付けられたテーブルである。教師データ取得部２０３は、生成した教師データテーブルを教師データテーブル記憶部２０４に記録する。
【００２６】
教師データテーブル記憶部２０４は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。教師データテーブル記憶部２０４は、複数ユーザ（例えば、１万人）分の教師データテーブルを記憶している。
抽出部２０５は、教師データテーブル記憶部２０４に記憶されている教師データテーブルから、行動データが変化した時刻（以下、「基準時刻」という。）の前後所定の時間（例えば、前後１時間）分の利用データを抽出し、行動データの変化（例えば、余暇→睡眠など）を対応付けた行動変化データを生成する。行動変化とは、ある行動（例えば、余暇）から別の行動（例えば、睡眠）に変化したときの前後の行動の組み合わせである。前後の行動とは、変化前の行動と変化後の行動を表す。
【００２７】
より具体的には、抽出部２０５は、基準時刻を所定の時間遡った時間から基準時刻を所定の時間進んだ時間までの時間（以下、「行動変化時間」という。）における利用データを抽出し、行動データの変化を対応付けた行動変化データを生成する。抽出部２０５は、教師データテーブルの全ての行動変化に対して行動変化データを生成する。
【００２８】
モデル生成部２０６は、生成された行動変化データに基づいて行動変化ごとのモデルを生成する。すなわち、モデル生成部２０６は、生成された行動変化データが同じ行動変化であるデータごとにモデルを生成する。モデル生成部２０６は、生成した行動変化ごとのモデルをモデル記憶部２０７に記録する。
モデル記憶部２０７は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。モデル記憶部２０７は、モデルデータベースを記憶している。
【００２９】
全ユーザ機器情報記憶部２０８は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。全ユーザ機器情報記憶部２０８は、全ユーザ機器情報データベースを記憶している。
入力部２０９は、対象ユーザの行動推定の要求を受け付ける。入力部２０９は、例えば対象ユーザのユーザＩＤ、当該対象ユーザの行動を推定したい時間帯（以下、「対象時間」という。）などの入力を受け付ける。対象時間は、例えば、行動を推定したい開始時刻から終了時刻までの時間を表す。
【００３０】
機器利用データ取得部２１０は、入力部２０９に入力された対象ユーザに関する情報を全ユーザ機器情報データベースから取得し、対象ユーザデータテーブルを生成する。対象ユーザデータテーブルとは、対象ユーザが所有しているＧＷ下部機器４０の機器データと、対象時間分の当該ＧＷ下部機器４０の利用データとが対応付けられたテーブルである。
信頼度算出部２１１は、生成された対象ユーザデータテーブルに基づいてモデルデータベースに記録されている行動変化ごとのモデルと比較することによって信頼度を算出する。信頼度とは、各行動変化と利用データとの相関性を示す値の高さを表す。信頼度が高いほど、利用データと行動変化とが相関していることを表す。
【００３１】
具体的には、信頼度算出部２１１は、以下のようにして信頼度を算出する。まず、信頼度算出部２１１は、対象ユーザデータテーブルに記録されている利用データから単位時間（例えば、１時間：第１の単位時間）ごとに、単位時間（例えば、２時間：第２の単位時間）分の利用データを抽出し、ブロックデータを生成する。この際、信頼度算出部２１１は、利用データを抽出する所定の時間を開始時刻、単位時間後の時間を終了時刻、開始時刻と終了時刻との中間の時間を変化時刻とする。次に、信頼度算出部２１１は、モデル記憶部２０７に記憶されている行動変化ごとのモデルを取得する。そして、信頼度算出部２１１は、生成されたブロックデータそれぞれと各モデルとを機械学習することにより、各モデルに対する信頼度をブロックデータごとに算出する。
【００３２】
候補選択部２１２は、算出された信頼度に基づいてブロックデータごとに候補行動変化を選択する。候補行動変化とは、複数の行動変化の中で信頼度が最も高い行動変化である。
行動推定部２１３は、ブロックデータごとに選択された候補行動変化に基づいて対象ユーザの行動を推定する。
出力部２１４は、行動推定部２１３によって推定された対象ユーザの行動推定の結果を出力する。出力部２１４は、例えば不図示の表示装置に対象ユーザの行動推定の結果を出力する。
【００３３】
図４は、機器利用情報データベース及びプロトコルデータベースの具体例を示す図である。
図４（Ａ）は、機器利用情報データベースの構成図である。機器利用情報データベースは、ＧＷ下部機器４０に関する情報を表すレコード５０を複数有する。レコード５０は、ＭＡＣアドレス、機器ＩＤ、利用情報の各値を有する。ＭＡＣアドレスの値は、レコード５０によって表されるＧＷ下部機器４０のＭＡＣアドレスを表す。機器ＩＤの値は、レコード５０によって表されるＧＷ下部機器４０を識別するための識別番号を表す。利用情報の値は、レコード５０によって表されるＧＷ下部機器４０が利用状態であるか否かを示す情報を表す。利用情報の具体例として、所定の間隔（例えば、１秒ごと）の時間が設定されている。すなわち、利用情報の値は、所定の間隔の時間ごとに、ＧＷ下部機器４０が利用状態であるか否かを示す。
【００３４】
図４（Ａ）に示す例では、機器利用情報データベースには１つのＭＡＣアドレスが存在する。この１つのＭＡＣアドレスは、“ＸＸ：ＸＸ：ＸＸ：ＸＸ：ＸＸ：Ｘ１”である。図４（Ａ）において、ＭＡＣアドレスの値が“ＸＸ：ＸＸ：ＸＸ：ＸＸ：ＸＸ：Ｘ１”、機器ＩＤの値が“ｔ０００１”、利用時間“２０１２／１２／２１  １１：００：０１”の値が“０”、利用時間“２０１２／１２／２１  １１：００：０２”の値が“１”、利用時間“２０１２／１２／２１  １１：００：０３”の値が“１”である。すなわち、ＭＡＣアドレス“ＸＸ：ＸＸ：ＸＸ：ＸＸ：ＸＸ：Ｘ１”で識別されるＧＷ下部機器４０の機器ＩＤが“ｔ０００１”であり、当該ＧＷ下部機器４０が“２０１２／１２／２１  １１：００：０１”には非利用状態であり、“２０１２／１２／２１  １１：００：０２”には利用状態であり、“２０１２／１２／２１  １１：００：０３”には利用状態であることが表されている。
【００３５】
図４（Ｂ）は、プロトコルデータベースの構成図である。プロトコルデータベースは、ＧＷ下部機器４０に関する情報を表すレコード６０を複数有する。レコード６０は、機器ＩＤ、機器情報、応答プロトコルの各値を有する。機器ＩＤの値は、レコード６０によって表されるＧＷ下部機器４０を識別するための識別番号を表す。機器情報の値は、レコード６０によって表されるＧＷ下部機器４０に関する情報を表す。機器情報の具体例として、メーカー名、機器種別、機種名などがある。応答プロトコルの値は、レコード６０によって表されるＧＷ下部機器４０が利用可能なプロトコルを表す。
【００３６】
図４（Ｂ）に示す例では、プロトコルデータベースには１つの機器ＩＤが存在する。この１つの機器ＩＤは、“ｔ０００１”である。図４（Ｂ）において、機器ＩＤの値が“ｔ０００１、メーカー名の値が“ＳＳＳ”、機器種別の値が“ＴＴＴ”、機種名の値が“ＺＺＺ”、応答プロトコルの値が“ＨＴＴＰ（Hyper Text Transfer Protocol），ＩＣＭＰ（Internet Control Message Protocol）”である。すなわち、機器ＩＤ“ｔ０００１”で識別されるＧＷ下部機器４０のメーカー名が“ＳＳＳ”であり、機器種別が“ＴＴＴ”であり、機種名が“ＺＺＺ”であり、使用可能なプロトコルが“ＨＴＴＰ、ＩＣＭＰ”であることが表されている。
【００３７】
図５は、モデルデータベース及び全ユーザ機器利用情報データベースの具体例を示す図である。図５（Ａ）は、モデルデータベースの構成図である。モデルデータベースは、モデルに関する情報を表すレコード７０を複数有する。レコード７０は、モデルＩＤ、行動変化、モデルデータの各値を有する。モデルＩＤの値は、レコード７０によって表されるモデルを識別するための識別番号を表す。行動変化の値は、レコード７０によってモデルで表される行動変化を表す。モデルデータの値は、レコード７０によって表されるモデルの２進数のデータを表す。
【００３８】
図５（Ａ）に示す例では、モデルデータベースには２つのモデルＩＤが存在する。これら２つのモデルＩＤは、“ｃ０１２３”、“ｃ０１２４”である。図５（Ａ）において、モデルデータベースの最上段の行は、モデルＩＤの値が“ｃ０１２３”、行動変化の値が“食事→睡眠”、モデルデータの値が“０１１１１１１０”である。すなわち、モデルＩＤ“ｃ０１２３”で識別されるモデルで表される行動変化が“食事→睡眠”であり、モデルデータの２進数のデータが“０１１１１１１０”であることが表されている。
【００３９】
図５（Ｂ）は、全ユーザ機器利用情報データベースの構成図である。全ユーザ機器利用情報データベースは、全てのユーザに関する情報を表すレコード８０を複数有する。全てのユーザとは、行動推定装置２０と通信可能に接続されているＧＷ１０を所有しているユーザを表す。レコード８０は、ユーザＩＤ、ＭＡＣアドレス、機器ＩＤ、利用情報の各値を有する。ユーザＩＤの値は、レコード８０によって表されるユーザを識別するための識別番号を表す。ＭＡＣアドレスの値は、レコード８０によって表されるユーザが所有しているＧＷ１０に帰属するＧＷ下部機器４０のＭＡＣアドレスを表す。機器ＩＤの値は、レコード８０によって表されるユーザが所有しているＧＷ１０に帰属するＧＷ下部機器４０を識別するための識別番号を表す。利用情報の値は、レコード８０によって表されるＧＷ下部機器４０が利用状態であるか否かを示す情報を表す。利用情報の具体例として、所定の間隔（例えば、１秒ごと）の時間が設定されている。すなわち、利用情報の値は、所定の間隔の時間ごとに、ＧＷ下部機器４０が利用状態であるか否かを示す。
【００４０】
図５（Ｂ）に示す例では、全ユーザ機器利用情報データベースには１つのユーザＩＤが存在する。このユーザＩＤは、“ｕ０１２０”である。図５（Ｂ）において、ユーザＩＤの値が“ｕ０１２０”、ＭＡＣアドレスの値が“ＸＸ：ＸＸ：ＸＸ：ＸＸ：ＸＸ：Ｘ１”、機器ＩＤの値が“ｔ０００１”、利用時間“２０１２／１２／２１  １１：００：０１”の値が“０”、利用時間“２０１２／１２／２１  １１：００：０２”の値が“１”、利用時間“２０１２／１２／２１  １１：００：０３”の値が“１”である。すなわち、ユーザＩＤ“ｕ０１２０”で識別されるユーザが所有しているＧＷ１０に帰属するＧＷ下部機器４０のＭＡＣアドレスが“ＸＸ：ＸＸ：ＸＸ：ＸＸ：ＸＸ：Ｘ１”であり、当該ＧＷ１０に帰属するＧＷ下部機器４０の機器ＩＤが“ｔ０００１”であり、当該ＧＷ下部機器４０が“２０１２／１２／２１  １１：００：０１”には非利用状態であり、“２０１２／１２／２１  １１：００：０２”には利用状態であり、“２０１２／１２／２１  １１：００：０３”には利用状態であることが表されている。
【００４１】
次に、図６を用いてモデル生成処理について具体的に説明する。図６は、モデル生成処理の概略図である。
図６（Ａ）は、教師データテーブルの具体例を示す図である。図６（Ａ）に示される教師データテーブルでは、項目“機器Ａ”、“機器Ｂ”、“・・・”、“機器Ｃ”で表されるＧＷ下部機器４０と、項目“０時”、“１時”、“２時”、“３時”、“・・・”、“２２時”、“２３時”で表される時間との組み合わせごとに当該ＧＷ下部機器４０が利用されていたか否かを表す利用データが示されている。また、時間ごとに行動データ（図６（Ａ）では、睡眠、食事など）も対応付けて示されている。なお、利用データは、各ＧＷ下部機器４０が利用されている場合には“１”（黒く塗りつぶされている箇所）、ＧＷ下部機器４０が利用されていない場合には“０”（白く塗りつぶされている箇所）で示されている。
【００４２】
図６（Ａ）に示す例では、“機器Ａ”は、“０時”から“２時”までの間には利用されておらず、“２時”から利用されていたことが表されている。また、“機器Ｂ”は、“０時”には利用されており、“１時”〜“３時”の間には利用されていないことが表されている。また、図６（Ａ）に示す例では、“２時”から“３時”で行動が変化していることが表されている。例えば、あるユーザが“０時”から“２時５９分”までの間には睡眠をとっており、“３時”から食事を行っていることが表されている。
【００４３】
抽出部２０５は、教師データテーブルから行動変化時間の利用データ９０を行動変化ごとに抽出し、行動変化データを生成する。そして、抽出部２０５は、上記の処理を教師データテーブル記憶部２０４に記憶されている全ての教師データテーブルの行動変化ごとに行う。
【００４４】
図６（Ｂ）は、抽出部２０５によって抽出された行動変化データを示す図である。図６（Ｂ）に示される行動変化データ（ａ）、（ｂ）、（ｃ）は、それぞれ異なるユーザの教師データテーブルから抽出された同じ行動変化の行動変化データである。具体的には、行動変化データ（ａ）は、あるユーザＡの行動の変化（例えば、食事から風呂への行動変化）のデータである。この行動変化データ（ａ）を２進数のデータで表すと、“１０００００１０”になる。
【００４５】
また、行動変化データ（ｂ）は、あるユーザＢの行動の変化（例えば、食事から風呂への行動変化）のデータである。この行動変化データ（ｂ）を２進数のデータで表すと、“１０１００１０１”になる。また、行動変化データ（ｃ）は、あるユーザＣの行動の変化（例えば、食事から風呂への行動変化）のデータである。この行動変化データ（ｃ）を２進数のデータで表すと、“００１０００００”になる。
【００４６】
モデル生成部２０６は、上述したように同じ行動変化の行動変化データを用いて機械学習させることにより、行動変化ごとのモデルを生成する。上述した例では、モデル生成部２０６は、食事から風呂への行動変化のモデルを生成する。モデル生成部２０６は、同じ行動変化の行動変化データデータごとにそれぞれモデルを生成する。
以上で、モデル生成処理について具体的な説明を終了する。
【００４７】
次に、図７及び図８を用いて行動推定装置２０の行動推定処理の概要について説明する。図７及び図８は、行動推定処理の概略図である。
図７（Ａ）は、入力部２０９に入力された対象ユーザに関する情報を全ユーザ機器情報データベースから取得し、対象ユーザデータテーブルの具体例を表す図である。図７（Ａ）に示される対象ユーザデータテーブルは、対象ユーザの行動を推定したい対象時間分の利用データである。図７（Ａ）に示す例では、対象時間は２４時間である。信頼度算出部２１１は、対象ユーザデータテーブルから所定の時間（例えば、１時間）ごとに、単位時間（例えば、２時間）分の利用データを抽出し、ブロックデータを生成する。信頼度算出部２１１は、このような処理を対象時間（例えば、２４時間）分行うことによって、複数のブロックデータを生成する。すなわち、図７（Ａ）に示される例では、２３個のブロックデータが生成される。
【００４８】
具体的には、信頼度算出部２１１は、“０時”から“２時”までの２時間分のブロックデータ９１、“１時”から“３時”までの２時間分のブロックデータ９２、“２時”から“４時”までの２時間分のブロックデータ９３を生成し、この処理を対象時間分繰り返すことによって、合計２３個のブロックデータ（ブロックＮｏ．１からブロックＮｏ．２３）を生成する。すなわち、ブロックデータ９１がブロックＮｏ．１であり、ブロックデータ９２がブロックＮｏ．２である。
図７（Ｂ）は、生成されたブロックデータの具体例を示す図である。図７（Ｂ）に示されるように、信頼度算出部２１１が対象ユーザデータテーブルから所定の時間ごとに単位時間（例えば、２時間）分のブロックデータを抽出し、生成したブロックデータが示されている。
【００４９】
次に、信頼度算出部２１１は、各ブロックデータに対して、モデルデータベースに記憶されている行動変化ごとに生成されたモデルにおける信頼度を算出する。より具体的には、信頼度算出部２１１は、あるブロックデータ（例えば、ブロックデータ９１）に対して、モデルデータベースに記憶されている全てのモデルにおける信頼度を機械学習させることによって算出する。信頼度算出部２１１は、この処理を全てのブロックデータ（ブロックＮｏ．１からブロックＮｏ．２３）に対して行うことによって、ブロックデータごとに各モデルにおける信頼度を算出する。
【００５０】
図７（Ｃ）は、ブロックデータごとに各モデルにおける信頼度をまとめた表を示す図である。図７（Ｃ）に示される表には、ブロックデータのブロックＮｏ．ごとに、開始時刻、変化時刻、終了時刻、ランク、推定結果、信頼度の各値が示されている。開始時刻の値は、利用データが抽出された時間を表す。変化時刻の値は、開始時刻と終了時刻との間の時間を表す。終了時刻の値は、開始時刻から単位時間経過後の時間を表す。ランクの値は、信頼度の高さの順位を表す。推定結果の値は、モデルの行動推定結果を表す。信頼度の値は、信頼度の高さを表す。
【００５１】
図７（Ｃ）に示す例では、ブロックＮｏ．１で表されるブロックデータは、開始時間が“０：００”であり、変化時刻が“１：００”であり、終了時刻が“２：００”の利用データであり、“食事→家事”に行動変化するモデルにおける信頼度の高さが“２５”で一番高いことを表す。したがって、候補選択部２１２は、推定結果“食事→家事”の行動変化をブロックデータ“１”の候補行動変化に選択する（図７（Ｃ）の太枠）。
候補選択部２１２は、ブロックＮｏ．２からブロックＮｏ．２３までの各ブロックデータに対しても上述の処理と同様の処理を行い、ブロックデータごとに候補行動変化を選択する。
【００５２】
図７（Ｄ）は、候補選択部２１２によって選択された候補行動変化をブロックデータごとにまとめた具体例を示す図である。行動推定部２１３は、図７（Ｄ）に示されるブロックデータごとの候補行動変化及び信頼度の各値の並び替えを行う。例えば、行動推定部２１３は、信頼度の高い順にブロックデータごとの候補行動変化及び信頼度の各値を並びかえる。その結果を図８（Ａ）に示す。
【００５３】
図８（Ａ）は、信頼度順に並び替えた推定結果の具体例を示す図である。
図８（Ａ）に示されるように、信頼度が高い順に信頼度ランクに対応付けられてブロックデータのブロックＮＯ．及び推定結果が示されている。例えば、信頼度ランクが“１”のブロックデータは、“ブロックＮｏ．２”であり、推定結果“余暇→睡眠”の行動変化の信頼度が“９６”であることが表されている。
行動推定部２１３は、図８（Ａ）に示される表（以下、「行動推定表」という。）を用いて対象ユーザの行動推定を行う。以下、図８（Ｂ）を用いて具体的に説明する。
【００５４】
図８（Ｂ）は、行動推定を行う際の処理の流れを表した図である。図８（Ｂ）に示される各ステップ（ステップ１〜ステップＭ）は、それぞれ行動推定処理時に行われるＭ個のステップの概略を示す図である。以下、行動推定を行う際の処理の流れについて説明する。
まず、ステップ１では、行動推定部２１３は、対象ユーザの対象時間分の空のタイムテーブルを生成する。次に、ステップ２では、行動推定部２１３は、行動推定表を参照し、信頼度ランク“１”の推定結果をタイムテーブルに割り当てる。行動推定表に示されるように信頼度ランク“１”の推定結果は、“余暇→睡眠”の行動変化である。そこで、行動推定部２１３は、空のタイムテーブルに“余暇→睡眠”の行動変化を割り当てる。その後、ステップ３に移行する。
【００５５】
次に、ステップ３では、行動推定部２１３は、“０：００”から“２：００”までの間で余暇が別の行動に変化する変化、又は、“２：００”から“２４：００”までの間で睡眠が別の行動に変化する変化を割り当てる。信頼度ランク“２”から信頼度ランク“４”までの行動変化は、上記の条件を満たさない。しかし、信頼度ランク“５”の推定結果“睡眠→食事”の行動変化は、上記の条件を満たす。具体的には、信頼度ランク“５”の項目に対応するブロックＮＯ．“８”は、開始時刻が“７：００”であり、変化時刻が“８：００”であり、終了時刻が“９：００”であり、推定結果が“睡眠→食事”である。そのため、信頼度ランク“５”の項目に対応するブロックＮＯ．“８”は、上記の条件を満たす。そこで、行動推定部２１３は、条件を満たす信頼度ランク“５”の推定結果“睡眠→食事”をタイムテーブルに割り当てる。その後、ステップ４に移行する。なお、以下の説明では、条件を満たさないことをタイムテーブルに矛盾すると称し、条件を満たすことをタイムテーブルに矛盾しないと称する。
【００５６】
ステップ４では、行動推定部２１３は、“０：００”から“２：００”までの間で余暇が別の行動に変化する変化、“２：００”から“８：００”までの間で睡眠が別の行動に変化する変化、“８：００”から“２４：００”までの間で食事が別の行動に変化する変化を割り当てる。この際、行動推定部２１３は、既にタイムテーブルに割り当てた行動変化データ（以下、「割当済みデータ」という。）について処理を行わず、タイムテーブルに割り当てていない行動変化データ（以下、「未割当データ」という。）についてのみ割り当てを行う。すなわち、行動推定部２１３は、割当済みデータである信頼度ランク“１”の推定結果及び信頼度ランク“５”の推定結果については処理を行わない。そして、行動推定部２１３は、未割当データである信頼度ランク“２”〜“４”の推定結果及び信頼度ランク“６”以降の推定結果についてのみ処理を行う。ここで、信頼度ランク“１０”の推定結果“食事→通勤”の行動変化は、タイムテーブルに矛盾しない。具体的には、信頼度ランク“１０”の項目に対応するブロックＮＯ．“９”は、開始時刻が“８：００”であり、変化時刻が“９：００”であり、終了時刻が“１０：００”であり、推定結果が“食事→通勤”である。そのため、タイムテーブルに矛盾しない。そこで、行動推定部２１３は、タイムテーブルに矛盾しない信頼度ランク“１０”の推定結果“食事→通勤”をタイムテーブルに割り当てる。
【００５７】
その後、行動推定部２１３は、ステップ１からステップ４までの処理を繰り返し実行する。そして、ステップ１からステップ４までの処理が繰り返し実行され、全ての推定結果について走査が完了した時点で処理が終了する。すなわち、未割当データがある場合であっても、タイムテーブルに矛盾するデータに対しては処理を行わない。その後、ステップＭに移行する。
ステップＭでは、出力部２１４は、上記ステップ１からステップ４の処理により、生成されたタイムテーブルを対象ユーザの行動推定の結果として出力する。
以上で、行動推定処理についての具体的な説明を終了する。
【００５８】
図９及び図１０は、本実施形態における行動推定処理の流れを示すフローチャートである。なお、図９及び図１０では、信頼度の順位の数を表す変数を“ｉ”と記載する。
入力部２０９は、対象ユーザの行動推定の指示を受け付ける（ステップＳ１０１）。具体的には、入力部２０９は、対象ユーザのユーザＩＤ、対象時間、信頼度の閾値の各値の入力を受け付ける。
【００５９】
次に、機器利用データ取得部２１０は、全ユーザ機器情報記憶部２０８に記憶されている全ユーザ機器情報データベースを参照し、対象ユーザに対応する対象時間分の利用データを取得し、対象ユーザデータテーブルを生成する（ステップＳ１０２）。具体的には、まず、機器利用データ取得部２１０は、全ユーザ機器情報記憶部２０８から全ユーザ機器情報データベースを読み出す。次に、機器利用データ取得部２１０は、読み出した全ユーザ機器情報データベースを参照し、対象ユーザのユーザＩＤに対応するレコード８０を選択する。そして、機器利用データ取得部２１０は、選択したレコード８０から対象時間分の利用データを抽出することによって対象ユーザデータテーブルを生成する。
【００６０】
信頼度算出部２１１は、作成された対象ユーザデータテーブルに記録されている利用データを所定の時間ごとに、単位時間分の利用データを抽出することによってブロックデータを生成する（ステップＳ１０３）。その後、信頼度算出部２１１は、生成した各ブロックデータと、モデルデータベースに記録されている行動変化毎のモデルとを用いて信頼度を算出する。より具体的には、信頼度算出部２１１は、生成されたブロックデータそれぞれを各モデルに適用することにより、各モデルに対する信頼度をブロックデータごとに算出する（ステップＳ１０４）。
【００６１】
候補選択部２１２は、ブロックデータごとに、信頼度が最も高い行動変化を当該ブロックデータの候補行動変化に選択する（ステップＳ１０５）。
行動推定部２１３は、信頼度が高い順にブロックデータを並び替える（ステップＳ１０６）。行動推定部２１３は、ステップＳ１０１の処理において入力部２０９に入力された閾値に基づいて、信頼度の値が閾値未満のブロックデータを削除する（ステップＳ１０７）。
【００６２】
行動推定部２１３は、対象時間が設定された空のタイムテーブルを生成する（ステップＳ１０８）。行動推定部２１３は、信頼度が最も高いブロックデータの候補行動変化をタイムテーブルに割り当てる（ステップＳ１０９）。次に、行動推定部２１３は、信頼度の順位の数を表す変数ｉに“２”を代入する（ステップＳ１１０）。
【００６３】
次に、行動推定部２１３は、信頼度の順位が２番目に高いブロックデータの候補行動変化がタイムテーブルと矛盾するか否かを判定する（ステップＳ１１１）。タイムテーブルと矛盾する場合（ステップＳ１１１−ＹＥＳ）、行動推定部２１３は信頼度の順位の数を表す変数ｉの数と、未割当データの数に割当済みデータの数を加算した数とが一致するか否かを判定する（ステップＳ１１２）。
【００６４】
信頼度の順位の数を表す変数ｉの数と、未割当データの数に割当済みデータの数を加算した数とが一致する場合（ステップＳ１１２−ＹＥＳ）、出力部２１４はタイムテーブルを出力する（ステップＳ１１３）。その後、処理を終了する。
【００６５】
また、ステップＳ１１２の処理において、信頼度の順位の数を表す変数ｉの数と、未割当データの数に割当済みデータの数を加算した数とが一致しない場合（ステップＳ１１２−ＮＯ）、行動推定部２１３は信頼度の順位の数に“１”を加算してステップＳ１１１以降の処理を繰り返し実行する（ステップＳ１１４）。
また、ステップＳ１１１の処理において、タイムテーブルと矛盾しない場合（ステップＳ１１１−ＮＯ）、行動推定部２１３は対応する行動変化をタイムテーブルに割り当てる（ステップＳ１１５）。その後、行動推定部２１３は、ステップＳ１１５の処理で割り当てた行動変化に対応するブロックデータを削除する（ステップＳ１１６）。行動推定部２１３は、信頼度の順位の数“ｉ”に、未割当データのうち、信頼度が最も高い未割当データの順位の数を代入する（ステップＳ１１７）。その後、ステップＳ１１１以降の処理が繰り返し実行される。
【００６６】
図１１は、本実施形態におけるＧＷ１０の処理の流れを示すフローチャートである。
機器名特定信号生成部１０２は、機器名特定信号を生成し、通信部１０１を介してＧＷ下部機器４０に送信する（ステップＳ２０１）。通信部１０１は、各ＧＷ下部機器４０から当該ＧＷ下部機器４０ごとの機器ＩＤを取得する（ステップＳ２０２）。そして、通信部１０１は、取得したＧＷ下部機器４０ごとの機器ＩＤを機器利用情報記憶部１０５に記録する。
【００６７】
利用状態確認信号生成部１０４は、ＧＷ下部機器情報記憶部１０３に記憶されているプロトコルデータベースからステップＳ２０２の処理で取得された機器ＩＤに対応する応答プロトコルの値を取得する（ステップＳ２０３）。
利用状態確認信号生成部１０４は、所定のタイミングで利用状態確認信号を生成する。所定のタイミングとは、例えば所定の時間（例えば１秒、１分、１時間など）が経過したタイミングであってもよい。利用状態確認信号生成部１０４は、例えば、取得された応答プロトコルの値を格納することによって利用状態確認信号を生成する。
【００６８】
利用状態確認信号生成部１０４は、生成した利用状態確認信号をＧＷ下部機器４０に送信する（ステップＳ２０４）。通信部１０１は、ＧＷ下部機器４０から応答信号を受信し、ＧＷ下部機器４０の利用情報を取得する（ステップＳ２０５）。判定部１０６は、全てのＧＷ下部機器４０の利用情報を取得したか否かを判定する（ステップＳ２０６）。全てのＧＷ下部機器４０の利用情報を取得していない場合（ステップＳ２０６−ＮＯ）、ステップＳ２０４の処理に戻る。
【００６９】
一方、全てのＧＷ下部機器４０の利用情報を取得した場合（ステップＳ２０６−ＹＥＳ）、判定部１０６は所定の時間経過したか否かを判定する（ステップＳ２０７）。所定の時間経過した場合（ステップＳ２０７−ＹＥＳ）、通信部１０１は機器利用情報記憶部１０５に記憶されている機器利用情報データベースを参照し、機器データと所定の時間の間に取得された利用情報とを取得する。そして、通信部１０１は機器データと所定の時間の間に取得された利用情報とユーザＩＤとを対応付けて行動推定装置２０に送信する（ステップＳ２０８）。
また、ステップＳ２０７の処理において、所定の時間経過していない場合（ステップＳ２０７−ＮＯ）、ステップＳ２０４の処理に戻る。その後、処理が終了する。
【００７０】
図１２は、本実施形態における行動推定の動作を示すシーケンス図である。なお、図１２の説明では、行動推定装置２０には、行動変化ごとのモデルが生成されているものとして説明する。
ＧＷ１０の機器名特定信号生成部１０２は、機器名特定信号を生成し、ＧＷ下部機器４０に送信する（ステップＳ３０１）。ＧＷ下部機器４０は、機器名特定信号を受信する。ＧＷ下部機器４０は、受信した機器名特定信号に応じて自装置（ＧＷ下部機器４０）の機器ＩＤを含む応答信号を生成し、ＧＷ１０に送信する（ステップＳ３０２）。ＧＷ１０の通信部１０１は、ＧＷ下部機器４０から応答信号を受信する。通信部１０１は、受信した応答信号からＧＷ下部機器４０の機器ＩＤを取得する（ステップＳ３０３）。通信部１０１は、取得したＧＷ下部機器４０の機器ＩＤを機器利用情報記憶部１０５に記録する。
【００７１】
また、利用状態確認信号生成部１０４は、所定のタイミングで利用状態確認信号を生成し、ＧＷ下部機器４０に送信する（ステップＳ３０４）。具体的には、まず、利用状態確認信号生成部１０４は、ＧＷ下部機器情報記憶部１０３からプロトコルデータベースを読み出す。次に、利用状態確認信号生成部１０４は、読み出したプロトコルデータベースを参照し、取得された機器ＩＤに対応するレコード６０を選択する。そして、利用状態確認信号生成部１０４は、選択したレコード６０に記録されている応答プロトコルの値を取得し、利用状態確認信号を生成する。
【００７２】
ＧＷ下部機器４０は、利用状態確認信号を受信する。ＧＷ下部機器４０は、受信した利用状態確認信号に応じて応答情報を生成し、ＧＷ１０に送信する（ステップＳ３０５）。判定部１０６は、ＧＷ下部機器４０の利用状態を確認する（ステップＳ３０６）。具体的には、判定部１０６は、応答情報が受信されたか否かを判定する。応答情報が受信された場合、判定部１０６は当該応答情報を送信したＧＷ下部機器４０が利用されていると判定する。この場合、判定部１０６は、ＧＷ下部機器４０の機器ＩＤと利用情報確認信号の送信時刻とに対応付けて、利用状態であることを示す情報（例えば、“１”）を機器利用情報記憶部１０５に記録する（ステップＳ３０７）。一方、応答情報が受信されてなかった場合、判定部１０６は当該応答情報が受信されていないＧＷ下部機器４０が利用されていないと判定する。この場合、判定部１０６は、ＧＷ下部機器４０の機器ＩＤと利用情報確認信号の送信時刻とに対応付けて、非利用状態であることを示す情報（例えば、“０”）を機器利用情報記憶部１０５に記録する。
【００７３】
その後、所定の時間の間、ステップＳ３０４からステップＳ３０７までの処理が繰り返し実行される。そして、所定の時間経過すると、通信部１０１は、機器利用情報データベースを参照し、所定の時間の間に蓄積された機器データ及び利用情報をユーザＩＤに対応付けて行動推定装置２０に送信する（ステップＳ３０８）。行動推定装置２０の通信部２０１は、ＧＷ１０から機器データ及び利用情報を受信し、全ユーザ機器情報記憶部２０８に記録する（ステップＳ３０９）。
【００７４】
行動推定装置２０の入力部２０９は、管理者の操作に応じて対象ユーザの行動推定の指示を受け付ける（ステップＳ３１０）。行動推定装置２０は、行動推定の指示が入力されると、対象ユーザの行動推定を行う（ステップＳ３１１）。出力部２１４は、行動推定の結果を出力する（ステップＳ３１２）。
【００７５】
以上のように構成された行動推定システムによれば、異なるブロックデータのサイズであっても、ユーザの行動を推定することができる。具体的には、行動推定装置２０は、複数のユーザから収集した教師データごとに、ユーザの行動が変化する前後所定の時間のデータを用いて行動変化ごとのモデルを生成する。したがって、人物ごとに時間が異なる行動（例えば、睡眠時間など）においてもモデルを生成することができる。そのため、データサイズが異なる場合であっても、人物の行動を推定することが可能となる。
【００７６】
＜変形例＞
プロトコルデータベースに記録される機器情報は、メーカー名、機器種別及び機種名に限定される必要はなく、ＧＷ下部機器４０に関する情報であればどのような情報でもよい。
出力部２１４は、通信部２０１を介して対象ユーザの行動推定の結果をその他の装置に出力してもよい。例えば、出力部２１４は、コピー機と通信部２０１を介して接続されて、行動推定の結果を印刷するように構成されてもよい。
【００７７】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７８】
１０…ＧＷ，  ２０…行動推定装置，  ３０…ネットワーク，  ４０（４０−１〜４０−Ｎ）…ＧＷ下部機器，  １０１…通信部，  １０２…機器名特定信号生成部，  １０３…利用状態確認信号生成部，  １０４…ＧＷ下部機器情報記憶部，  １０５…判定部，  １０６…機器利用情報記憶部，  ２０１…通信部，  ２０２…作成部，  ２０３…教師データ取得部，  ２０４…教師データテーブル記憶部，  ２０５…抽出部，  ２０６…モデル生成部，  ２０７…モデル記憶部，  ２０８…全ユーザ機器情報記憶部，  ２０９…入力部，  ２１０…機器利用データ取得部，  ２１１…信頼度算出部，  ２１２…候補選択部，  ２１３…行動推定部，  ２１４…出力部
【図１】
0005957418.tif 000002
【図２】
0005957418.tif 000003
【図３】
0005957418.tif 000004
【図４】
0005957418.tif 000005
【図５】
0005957418.tif 000006
【図６】
0005957418.tif 000007
【図７】
0005957418.tif 000008
【図８】
0005957418.tif 000009
【図９】
0005957418.tif 000010
【図１０】
0005957418.tif 000011
【図１１】
0005957418.tif 000012
【図１２】
0005957418.tif 000013