以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一又は相当する部分には、同一符号を付している。実施の形態の説明において、同一又は相当する部分については、その説明を適宜省略又は簡略化する。
実施の形態1.
本実施の形態に係るシステム及び装置の構成、本実施の形態に係る装置の動作、本実施の形態の効果を順番に説明する。
***構成の説明***
図1を参照して、本実施の形態に係るシステムである情報出力システム800の構成を説明する。
情報出力システム800は、情報出力装置100、情報提供装置200、センサ300、機器400、携帯端末500を備える。
情報出力装置100、情報提供装置200、センサ300、機器400、携帯端末500は、それぞれ1つ以上の通信方式に対応する。本実施の形態では、通信方式として、IP(Internet・Protocol)が用いられるが、他の規格化された通信方式、又は、独自の通信方式が用いられてもよい。
情報出力装置100は、インターネット700を介して情報提供装置200と接続される。また、情報出力装置100は、センサ300、機器400、携帯端末500とも接続される。接続方法は、有線でも無線でも構わない。インターネット700に代えて、専用回線、或いは、インターネット700以外のネットワークが用いられてもよい。
情報出力装置100は、住宅に設置される。情報出力装置100は、後述するように、情報提供装置200から情報が通知された場合、機器400の操作ログ、センサ300の検知結果、携帯端末500の位置情報から、住民であるユーザ600の居場所及び状況を推定することで、ユーザ600にタイミングよく情報を表示することができる。なお、情報出力装置100は、ビル、店舗等、住宅以外の建物に設置されてもよい。いずれの場合も、情報出力装置100が設置された建物にいる人間がユーザ600に該当する。ユーザ600は、少なくとも1人いればよいが、本実施の形態では2人以上いるものとする。
情報提供装置200は、インターネット700を介して、天気情報、地域の催事情報、店舗の広告情報等の情報を情報出力装置100に配信する。また、情報提供装置200は、情報出力装置100から特定の情報が要求された際に該当する情報を情報出力装置100に送信する。情報提供装置200は、具体的には、クラウドサーバ等の外部サーバである。
センサ300は、情報出力装置100と同じ建物に設置される。即ち、本実施の形態では、センサ300は、住宅に設置される。センサ300は、具体的には、カメラ、人感センサ、音感センサ、指紋センサ等である。センサ300は、エアコン(空気調和機の室内機)、テレビといった家電(家庭用電気機器)に搭載されるカメラ又は人感センサであってもよい。
センサ300は、検知結果を発信する機能を有する。センサ300は、検知結果として、ユーザ600の顔、体格、声、指紋といった、ユーザ600を識別するための情報を情報出力装置100に送信する。情報出力装置100には、ユーザ600を識別するための情報が事前に登録されているものとする。また、情報出力装置100には、どのセンサ300が住宅のどこに設置されているかを示す情報が事前に登録されているものとする。よって、情報出力装置100は、センサ300からの情報に基づいて、どのユーザ600が住宅のどこにいるのかを特定することができる。
センサ300は、住宅の各部屋に少なくとも1台ずつ設置されることが望ましいが、一部の部屋のみに設置されてもよいし、全く設置されなくてもよい。センサ300が複数台設置される場合、情報出力装置100は、図2に示すように、複数台のセンサ300のそれぞれと直接接続されてもよいし、図3に示すように、センサ中継器350を介して複数台のセンサ300と接続されてもよい。図2の例では、情報出力装置100がLAN(Local・Area・Network)等のプライベートネットワークを介して複数台のセンサ300のそれぞれと接続される。図3の例では、情報出力装置100がプライベートネットワーク、又は、移動通信網等のパブリックネットワークを介してセンサ中継器350と接続される。センサ中継器350は、具体的には、スマートフォン、携帯電話機等である。
機器400は、情報出力装置100と同じ建物に設置される。即ち、本実施の形態では、機器400は、住宅に設置される。機器400は、具体的には、エアコン、冷蔵庫、換気扇、テレビ、洗濯機、IH(Induction・Heating)ヒータ、給湯機といった家電である。
機器400は、操作ログを発信する機能を有する。機器400は、本実施の形態では操作ログを情報出力装置100に直接送信するが、操作ログを情報提供装置200又はその他の外部サーバにアップロードし、情報出力装置100がダウンロードできるようにしてもよい。また、機器400は、本実施の形態では状態が変化した際に自律的に操作ログを情報出力装置100に送信するが、情報出力装置100からの問い合わせに応じて操作ログを送信してもよい。ここで、機器400から送信される操作ログは、操作ログ全体ではなく、更新分のみであることが望ましい。更新分の代わりに、機器400の1回の操作の結果、即ち、機器400の現在の状態を示す情報が送信されてもよい。
機器400は、住宅の中に複数台設置されることが望ましいが、少なくとも1台設置されていればよい。
携帯端末500は、ユーザ600によって所有され、通常はユーザ600によって携帯される。携帯端末500は、具体的には、スマートフォン、携帯電話機、タブレット等である。
携帯端末500は、位置情報を発信する機能を有する。携帯端末500は、位置情報として、無線LANアクセスポイントからの電波強度の情報と、Bluetooth(登録商標)による距離計測の情報とのいずれかを情報出力装置100に送信する。携帯端末500は、位置情報として、GPS(Global・Positioning・System)受信機により得られる測位情報と、移動量、傾き等のセンサ情報とのいずれかを情報出力装置100に送信してもよい。情報出力装置100には、どのユーザ600がどの携帯端末500の所有者であるかを示す情報が事前に登録されているものとする。また、情報出力装置100には、必要に応じて、どの無線LANアクセスポイントが住宅のどこに設置されているかを示す情報、或いは、どのBluetooth(登録商標)アクセスポイントが住宅のどこに設置されているかを示す情報が事前に登録されているものとする。よって、情報出力装置100は、携帯端末500からの位置情報に基づいて、どのユーザ600が住宅のどこにいるのかを特定することができる。
携帯端末500は、全てのユーザ600によって携帯されることが望ましいが、一部のユーザ600のみによって携帯されてもよいし、全く携帯されなくてもよい。なお、携帯端末500に代えて、位置情報を発信する機能を有し、ユーザ600の体内に埋め込まれる発信器が用いられてもよい。
図4を参照して、本実施の形態に係る装置である情報出力装置100の構成を説明する。
情報出力装置100は、検出部110と、管理部120と、通信部130と、推定部140と、出力部150とを備える。管理部120は、操作履歴管理部121と、居場所履歴管理部122とを有する。
情報出力装置100には、データを記憶するための記録媒体101が1つ以上搭載される。また、情報出力装置100には、ユーザに情報を提示するための表示器102が1つ以上搭載される。なお、本実施の形態では、ユーザに情報を提示する方法として、情報をテキスト又は画像として表示する方法が用いられるが、情報を音声として出力する方法が用いられてもよい。その場合には、表示器102とともに、或いは、表示器102に代えて、スピーカが情報出力装置100に搭載される。記録媒体101、表示器102、スピーカは、それぞれ情報出力装置100の外部に設置されても構わない。
検出部110は、センサ300の検知結果と携帯端末500の位置情報との少なくともいずれかから、ユーザ600の位置をリアルタイムに推定する。検出部110は、システム時刻と、ユーザ600を識別するユーザ識別子と、ユーザ600の位置が該当するユーザ600の居場所とを示す居場所データを居場所履歴管理部122に出力する。本実施の形態では、ユーザ600の居場所が、住宅の部屋を単位として識別される。即ち、居場所データでは、ユーザ600の居場所として、ユーザ600がいる部屋が示される。なお、住宅には、部屋以外にも、廊下、階段等が存在するので、部屋よりも細かい単位でユーザ600の居場所を特定できたほうが、ユーザ600の状況をより詳細に把握できるが、部屋を単位とすることで情報出力システム800の導入が容易になるという効果が得られる。
検出部110は、ユーザ600が持つ携帯端末500を利用してユーザ600を識別する。ユーザ600が持つ携帯端末500のマイクで音声を取得できれば、ユーザ600をより確実に特定することが可能である。検出部110は、ユーザ600を検知するセンサ300を利用してユーザ600を識別してもよい。ユーザ600が触れたドアノブ等の指紋センサで指紋を取得できれば、ユーザ600をより確実に特定することが可能である。
管理部120の操作履歴管理部121は、記録媒体101を用いて、機器400から送信された操作ログを蓄積し、操作履歴データ123として管理する。本実施の形態では、操作履歴データ123が、データベースのテーブルとして保持される。
管理部120の居場所履歴管理部122は、記録媒体101を用いて、検出部110から入力された居場所データを蓄積し、居場所履歴データ124として管理する。本実施の形態では、居場所履歴データ124が、データベースのテーブルとして保持される。
通信部130は、インターネット700を介して情報提供装置200から情報を受信した場合に、その情報を出力部150に出力する。
推定部140は、操作履歴データ123と居場所履歴データ124とから、ユーザ600の状況を推定する。
出力部150は、通信部130から入力された情報の中から、推定部140により推定されたユーザ600の状況に応じて情報を選択する。出力部150は、選択した情報を表示器102に出力する。
本実施の形態において、情報出力装置100は、コンピュータである。情報出力装置100の機能は、ソフトウェアで実現される。情報出力装置100は、プロセッサ103、記録媒体101である補助記憶装置、記録媒体101であるメモリ、図示していない通信装置、表示器102といったハードウェアを備える。プロセッサ103は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ103は、プロセッシングを行うIC(Integrated・Circuit)である。プロセッサ103は、具体的には、CPU(Central・Processing・Unit)である。
記録媒体101は、補助記憶装置及びメモリにより実現される。
補助記憶装置は、具体的には、ROM(Read・Only・Memory)、フラッシュメモリ、又は、HDD(Hard・Disk・Drive)である。
メモリは、具体的には、RAM(Random・Access・Memory)である。
通信装置は、データを受信するレシーバ及びデータを送信するトランスミッタを含む。通信装置は、具体的には、通信チップ又はNIC(Network・Interface・Card)である。通信装置は、通信部130によって利用される。
情報出力装置100は、ハードウェアとして、入力装置を備えていてもよい。
入力装置は、具体的には、マウス、タッチペン、キーボード、又は、タッチパネルである。
表示器102は、具体的には、LCD(Liquid・Crystal・Display)である。
記録媒体101である補助記憶装置には、検出部110、管理部120、通信部130、推定部140、出力部150といった「部」の機能を実現するプログラムが記憶されている。このプログラムは、記録媒体101であるメモリにロードされ、プロセッサ103に読み込まれ、プロセッサ103によって実行される。補助記憶装置には、OS(Operating・System)も記憶されている。OSの少なくとも一部がメモリにロードされ、プロセッサ103はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
情報出力装置100は、1つのプロセッサ103のみを備えていてもよいし、複数のプロセッサ103を備えていてもよい。複数のプロセッサ103が「部」の機能を実現するプログラムを連携して実行してもよい。
「部」の処理の結果を示す情報やデータや信号値や変数値は、補助記憶装置、メモリ、又は、プロセッサ103内のレジスタ又はキャッシュメモリに記憶される。
「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital・Versatile・Disc)等の可搬記憶媒体に記憶されてもよい。
***動作の説明***
図5を参照して、本実施の形態に係る装置である情報出力装置100の動作を説明する。情報出力装置100の動作は、本実施の形態に係る情報出力方法に相当する。情報出力装置100の動作は、本実施の形態に係る情報出力プログラムの処理手順に相当する。
ステップS11において、検出部110は、各ユーザ600の携帯端末500の位置を検出することで、各ユーザ600の居場所を推定する。或いは、検出部110は、各ユーザ600を、センサ300を用いて検出することで、各ユーザ600の居場所を推定する。或いは、検出部110は、各ユーザ600の携帯端末500の位置を検出した結果と、各ユーザ600を、センサ300を用いて検出した結果との両方に基づき、各ユーザ600の居場所を推定する。
本実施の形態では、検出部110の機能を実現するプログラムがプロセッサ103によって実行されることで、ステップS11の処理が実施される。
ステップS11の具体的な処理として、検出部110は、各ユーザ600の携帯端末500に備えられた無線LAN通信機能又はBluetooth(登録商標)通信機能を用いて、無線LANアクセスポイントからの電波強度又はBluetooth(登録商標)の距離検知結果から、各ユーザ600の携帯端末500の位置を算出する。検出部110は、予め記録媒体101を用いて住宅の各部屋の位置範囲を示すデータを保持しており、このデータから、算出した位置が、どの部屋の位置範囲に含まれるかを判定する。或いは、検出部110は、住宅の各部屋にセンサ300の一種として設置されたカメラの映像の画像処理を行うことで、各ユーザ600が、どの部屋にいるかを判定する。これにより、各ユーザ600がいる部屋、即ち、各ユーザ600の居場所が推定される。
ステップS12において、管理部120の居場所履歴管理部122は、居場所履歴データ124を、記録媒体101を用いて記録する。居場所履歴データ124は、各ユーザ600の居場所の履歴を示す時系列データである。具体的には、居場所履歴データ124は、ステップS11で推定された居場所の履歴を示す時系列データである。即ち、本実施の形態では、管理部120が、居場所履歴データ124として、検出部110により推定された居場所の履歴を示す時系列データを記録する。
本実施の形態では、居場所履歴管理部122の機能を実現するプログラムがプロセッサ103によって実行されることで、ステップS12の処理が実施される。
ステップS12の具体的な処理として、居場所履歴管理部122は、ステップS11で居場所が推定されたユーザ600について、推定された居場所が前回推定された居場所と同じかどうかを判定する。居場所が異なる場合、そのユーザ600が別の部屋へ移動したことになる。居場所履歴管理部122は、そのような移動を検知する度に、当該移動を検知した時刻と、当該移動を行ったユーザ600の識別子と、当該ユーザ600の居場所、即ち、移動先の部屋とを示すレコードを作成する。操作履歴管理部121は、居場所履歴データ124をテーブル又は複数のテーブルの組み合わせとして格納するデータベースに対して、作成したレコードを追加するクエリを発行する。これにより、居場所履歴データ124が記録される。なお、データベースの各テーブルは、ファイルとして記録媒体101に記憶される。
ステップS13において、管理部120の操作履歴管理部121は、操作履歴データ123を、記録媒体101を用いて記録する。操作履歴データ123は、各ユーザ600による機器400の操作の履歴を示す時系列データである。
本実施の形態では、操作履歴管理部121の機能を実現するプログラムがプロセッサ103によって実行されることで、ステップS13の処理が実施される。
ステップS13の具体的な処理として、操作履歴管理部121は、機器400の操作が行われる度に、当該操作が行われた時刻と、当該機器400の識別子と、当該機器400の設置場所と、当該操作の内容とを示すレコードを作成する。機器400の識別子としては、機器400の名称等が用いられる。機器400の設置場所については、予め記録媒体101を用いてデータが保持されているものとする。操作履歴管理部121は、操作履歴データ123をテーブル又は複数のテーブルの組み合わせとして格納するデータベースに対して、作成したレコードを追加するクエリを発行する。これにより、操作履歴データ123が記録される。なお、データベースの各テーブルは、ファイルとして記録媒体101に記憶される。居場所履歴データ124を格納するデータベースと操作履歴データ123を格納するデータベースは、共通のデータベースであってもよい。
ステップS14において、推定部140は、管理部120により記録された操作履歴データ123から、第1時刻よりも前における機器400の操作をユーザ操作として少なくとも1つ特定する。本実施の形態において、第1時刻は、ユーザ操作が行われた時刻から数秒又は数十秒又は数分といった短時間以内の時刻である。
ステップS15において、推定部140は、ステップS14で特定したユーザ操作が行われた場所を特定する。具体的には、管理部120が、住宅における機器400の設置場所の情報を予め保持しており、推定部140はこの情報に基づいて、ステップS14で特定したユーザ操作が行われた機器400の設置場所を特定する。そして、推定部140は、その設置場所を、ユーザ操作が行われた場所とみなす。
ステップS16において、推定部140は、管理部120により記録された居場所履歴データ124から、ステップS14で特定したユーザ操作が行われた時刻における居場所が、ステップS15で特定した場所と一致するユーザ600を特定することで、ユーザ操作を行ったユーザ600を識別する。即ち、推定部140は、ステップS15でユーザ操作が行われた場所として特定した部屋に、ステップS14で特定したユーザ操作が行われた時刻にいることを特定できたユーザ600が、ユーザ操作を行ったユーザ600であると判断する。
ステップS17において、推定部140は、ステップS14で特定したユーザ操作によって、第2時刻における、ステップS16で識別したユーザ600の行動を推定する。本実施の形態において、第2時刻は、第1時刻と同じ時刻であるが、第1時刻以降の時刻であればよい。
本実施の形態では、推定部140の機能を実現するプログラムがプロセッサ103によって実行されることで、ステップS14からステップS17の処理が実施される。
ステップS14及びステップS15の具体的な処理として、推定部140は、操作履歴データ123を格納するデータベースに対して、機器400の操作が行われた時刻が現在時刻に最も近いレコードを抽出するクエリを発行する。抽出されるレコードでは、機器400の操作が行われた時刻と、当該機器400の識別子と、当該機器400の設置場所と、当該操作の内容とが示されている。よって、第1時刻よりも前における機器400の操作であるユーザ操作と、ユーザ操作が行われた場所とが特定されたことになる。また、ユーザ操作が行われた時刻も特定されたことになる。
ステップS16の具体的な処理として、推定部140は、居場所履歴データ124を格納するデータベースに対して、移動が検知された時刻と移動先の部屋との組み合わせが、ステップS14及びステップS15で特定された時刻及び場所の組み合わせと一致するレコードを抽出するクエリを発行する。抽出されるレコードでは、移動を行ったユーザ600の識別子が示されている。よって、抽出されたレコードがあれば、ユーザ操作を行ったユーザ600が識別されたことになる。
ステップS17の具体的な処理として、推定部140は、機器400の識別子と操作の内容との組み合わせごとに、当該機器400に対して当該操作を行ったユーザ600がとると予想される行動を示すデータをテーブル又は複数のテーブルの組み合わせとして格納するデータベースに対して、クエリを発行する。このクエリでは、ステップS14及びステップS15で抽出したレコードで示される機器400の識別子と操作の内容との組み合わせが指定される。データベースからは、クエリで指定された組み合わせに対応する行動を示すデータが返される。これにより、第2時刻における、ステップS16で識別されたユーザ600の行動が推定されたことになる。なお、データベースの各テーブルは、ファイルとして記録媒体101に記憶される。このデータベースも、居場所履歴データ124を格納するデータベース、及び、操作履歴データ123を格納するデータベースと共通のデータベースであってよい。
ステップS18において、出力部150は、推定部140により識別されたユーザ600と推定部140により推定された行動との組み合わせによって、そのユーザ600へ第1時刻に提示する情報を決定し、決定した情報を出力する。ここで、ステップS14でテレビのチャンネル操作がユーザ操作として特定され、ステップS16で「おじいさん」がユーザ操作を行ったユーザ600であると判断され、ステップS17で「テレビを見ている」という行動が推定されたとする。その場合、地域の催事情報等、「おじいさんがリビングで落ち着いて過ごしている」という状況に適した情報が表示器102に出力される。このとき、リビングのテレビが表示器102として用いられてもよい。
本実施の形態では、出力部150の機能を実現するプログラムがプロセッサ103によって実行されることで、ステップS18の処理が実施される。
ステップS18の具体的な処理として、出力部150は、ユーザ600の識別子とユーザ600の行動との組み合わせごとに、当該ユーザ600が当該行動をとっている状況に適した情報をテーブル又は複数のテーブルの組み合わせとして格納するデータベースに対して、クエリを発行する。このクエリでは、ステップS16で抽出されたレコードで示されるユーザ600の識別子とステップS17で返されたデータで示された行動との組み合わせが指定される。データベースからは、クエリで指定された組み合わせに対応する情報が返される。これにより、ステップS16で識別されたユーザ600へ第1時刻に提示する情報が決定される。出力部150は、返された情報を表示器102の画面に表示する。なお、データベースの各テーブルは、ファイルとして記録媒体101に記憶される。このデータベースも、居場所履歴データ124を格納するデータベース、及び、操作履歴データ123を格納するデータベース、及び、機器400の識別子と操作の内容との組み合わせごとに行動を示すデータを格納するデータベースと共通のデータベースであってよい。また、ユーザ600の識別子とユーザ600の行動との組み合わせごとに情報を格納するデータベースに代えて、ユーザ600の属性とユーザ600の行動との組み合わせごとに情報を格納するデータベースを利用してもよい。その場合、ユーザ600の識別子ごとにユーザ600の属性を定義するデータが予め記録媒体101に記憶されており、出力部150が発行するクエリでは、このデータで定義された属性が識別子の代わりに指定されるものとする。ユーザ600の属性としては、性別、年齢、職業、嗜好等がある。
図6及び図7及び図8及び図9を参照して、情報出力装置100の動作の具体例を説明する。
本例は、情報出力装置100が、ユーザ600の状況として「お母さんがキッチンで料理中」という状況を推定した際に、朝食の料理のレシピに関する情報を「お母さん」に提示する例である。
図6に示すように、住宅の部屋として、1階に玄関、キッチン、リビング、トイレ、浴室、2階に子供部屋、寝室、トイレ、空き部屋がある。機器400として、全ての部屋に照明、リビングと子供部屋と寝室にエアコン、キッチンに冷蔵庫及びIHヒータ、リビングにテレビがある。管理部120は、記録媒体101を用いて、図6に示した住宅の間取りと機器400の配置との情報、即ち、部屋と機器400との対応関係を示すデータを予め記録する。なお、このデータは、管理部120によって記録される代わりに、情報提供装置200又はその他の外部サーバによって管理されてもよい。その場合、情報出力装置100は、必要に応じて情報提供装置200又はその他の外部サーバからデータを取得して利用する。
図7に示すように、ユーザ識別子「A」のユーザ600である「お父さん」は、携帯端末500である「スマートフォンP1」及び「ウェアラブル端末W1」を所有する。ユーザ識別子「B」のユーザ600である「お母さん」は、携帯端末500である「スマートフォンP2」及び「ウェアラブル端末W2」を所有する。ユーザ識別子「C」のユーザ600である「子供」は、携帯端末500である「ウェアラブル端末W3」を所有する。管理部120は、記録媒体101を用いて、図7に示したユーザ600と携帯端末500との対応関係を示す紐付けデータ125を予め記録する。なお、紐付けデータ125は、管理部120によって記録される代わりに、情報提供装置200又はその他の外部サーバによって管理されてもよい。その場合、情報出力装置100は、必要に応じて情報提供装置200又はその他の外部サーバからデータを取得して利用する。
図8は、管理部120の居場所履歴管理部122が管理する居場所履歴データ124の例を示している。前述したように、居場所履歴データ124は、センサ300及び携帯端末500から常時アップロードされる情報に基づいて検出部110により生成される居場所データを蓄積したものである。
居場所履歴データ124には、2015年3月26日6時20分に、ユーザ識別子「B」のユーザ600がキッチンにいたことを示すデータが含まれている。このデータは、以下のように記録される。
2015年3月26日6時20分に「スマートフォンP2」を持つ「お母さん」がリビングからキッチンに移動すると、検出部110は、自動で居場所データを作成し、居場所履歴管理部122に出力する。この動作は、前述したステップS11に相当する。居場所履歴管理部122は、居場所データを居場所履歴データ124に追加する。この動作は、前述したステップS12に相当する。検出部110は、「スマートフォンP2」に備えられた無線LAN通信機能又はBluetooth(登録商標)通信機能を用いて、無線LANアクセスポイントからの電波強度又はBluetooth(登録商標)の距離検知結果から、2015年3月26日6時20分における「お母さん」の居場所を推定する。このとき、検出部110は、紐付けデータ125から、「スマートフォンP2」に対応するユーザ識別子を取得することで、キッチンにいるユーザ600を特定することができる。キッチンの入口に人感センサを取り付けることによって、ユーザ600の出入りを検出することでユーザ600がキッチンに入ったことをより確実に検知できるようにしてもよい。
図9は、管理部120の操作履歴管理部121が管理する操作履歴データ123の例を示している。前述したように、操作履歴データ123は、各ユーザ600が機器400を操作する度に、機器400からアップロードされる操作ログを蓄積したものである。
操作履歴データ123には、「2015年3月26日6時30分」にキッチンのIHヒータのスイッチが入れられたことを示すデータが含まれている。このデータは、以下のように記録される。
「2015年3月26日6時30分」にキッチンのIHヒータのスイッチが入れられると、機器400は、自動で操作ログの更新分を操作履歴管理部121に送信する。操作履歴管理部121は、機器400の設置場所を示すデータを予め記録媒体101に記録しているため、そのデータと併せて操作ログの更新分を操作履歴データ123に追加する。この動作は、前述したステップS13に相当する。操作ログには、機器400の動作の状態及び変化の原因も示される。動作の状態としては、具体的には、機器400のオン、オフ等がある。変化の原因としては、具体的には、機器400のスイッチ、タイマ、リモートコントローラ等がある。
前述した第1時刻及び第2時刻をともに「2015年3月26日6時31分」とすると、IHヒータのスイッチが入れられた「2015年3月26日6時30分」は、第1時刻よりも前である。推定部140は、図9に示した操作履歴データ123から、最後の機器400の操作として、IHヒータのスイッチを入れる操作を特定する。この動作は、前述したステップS14に相当する。
推定部140は、IHヒータのスイッチを入れる操作が行われた場所を特定する。具体的には、推定部140は、IHヒータの設置場所であるキッチンを、IHヒータのスイッチが入れられた場所とみなす。この動作は、前述したステップS15に相当する。
推定部140は、図8に示した居場所履歴データ124から、IHヒータのスイッチが入れられた「2015年3月26日6時30分」における居場所が、IHヒータのスイッチが入れられたキッチンであるユーザ600を特定する。「2015年3月26日6時30分」において、ユーザ識別子「A」のユーザ600である「お父さん」の居場所は、1階のトイレである。ユーザ識別子「B」のユーザ600である「お母さん」の居場所は、1階のキッチンである。図8には示していないが、ユーザ識別子「C」のユーザ600である「子供」の居場所は、2階の子供部屋であるとする。推定部140は、「2015年3月26日6時30分」にIHヒータのスイッチが入れられた場所がキッチンであるとみなしていることから、「2015年3月26日6時30分」にIHヒータのスイッチを入れたユーザ600が「お母さん」であると判断する。即ち、推定部140は、「お母さん」が、「2015年3月26日6時30分」にキッチンのIHヒータのスイッチを入れたユーザ600であると判断する。この動作は、前述したステップS16に相当する。
推定部140は、「2015年3月26日6時30分」の後である「2015年3月26日6時31分」における「お母さん」の行動が「料理中」であると推定する。この動作は、前述したステップS17に相当する。
出力部150は、「お母さん」というユーザ600と「料理中」という行動との組み合わせによって、「お母さんが料理中」という状況を認識する。出力部150は、本実施の形態では、さらに、キッチンという居場所によって、「お母さんがキッチンで料理中」という状況を認識する。そして、出力部150は、「お母さん」へ「2015年3月26日6時31分」に提示する情報をレシピ情報に決定し、レシピ情報を出力する。この動作は、前述したステップS18に相当する。レシピ情報の出力先である表示器102としては、情報出力装置100専用のものが用いられてもよいし、キッチンの冷蔵庫又はその他の家電に備えられたディスプレイが用いられてもよい。また、出力部150は、冷蔵庫の中の食材を手動又は自動で特定し、その食材を使ったレシピの情報を出力してもよい。
なお、本例では、推定部140が最後の機器400の操作のみからユーザ600の行動を推定するが、推定精度を向上させるために、複数回の操作からユーザ600の行動を推定してもよい。具体的には、ステップS14において、推定部140は、さらに、2015年3月26日6時23分におけるキッチンの冷蔵庫の扉を開閉する操作をユーザ操作の一部として特定してもよい。推定部140は、さらに、2015年3月26日6時22分におけるキッチンのIHヒータのスイッチを入れる操作をユーザ操作の一部として特定してもよい。推定部140は、さらに、2015年3月26日6時20分におけるキッチンの照明のスイッチを入れる操作をユーザ操作の一部として特定してもよい。
***効果の説明***
本実施の形態では、第1時刻よりも前における機器400の操作を行ったユーザが識別されるとともに、その操作によって、第1時刻以降の時刻である第2時刻における、識別されたユーザ600の行動が推定される。そして、そのユーザ600と、その行動との組み合わせによって、そのユーザ600へ第1時刻に提示する情報が決定される。このため、本実施の形態によれば、ユーザ600に関係のありそうな情報或いはユーザ600が興味を持てそうな情報をユーザ600にタイミングよく提示することが可能となる。
本実施の形態では、センサ300又は携帯端末500を利用してユーザ600を識別し、機器400の操作ログからユーザ600の状況を予測することで、ユーザ600の状況に応じた情報をタイミングよく表示することができる。よって、ユーザ600が、自分の現在の状況に関連する情報を唐突感なく得ることができる。
本実施の形態では、機器400の操作ログを利用してユーザ600の居場所と状況とを予測するため、宅内にカメラを設置したり、赤外線センサを設置したりすることは必須ではない。宅内にカメラを設置する場合、システムの導入コストが高くなったり、ユーザ600が他人に監視されているように感じて不快になったりするが、本実施の形態では、そのような事態を避けることも可能である。即ち、本実施の形態によれば、情報出力システム800を容易に導入することができる。
***他の構成***
図10を参照して、本実施の形態の変形例を説明する。
図10は、管理部120が管理する定義データ126の例を示している。定義データ126は、各ユーザ600による機器400の操作と各ユーザ600の行動との対応関係を示すデータである。
この変形例において、管理部120は、記録媒体101を用いて、定義データ126を予め記録する。定義データ126は、各ユーザ600による機器400の操作ごとに、対応する行動だけでなく、情報を提示するまでの時間T1と、対応する行動が始まるまでの時間T2とを示すデータである。
ステップS11からステップS16の動作については、前述したものと同じである。
ステップS17において、推定部140は、ステップS14で特定したユーザ操作が行われた時刻と、管理部120により記録された定義データ126で示された時間T2とから、第2時刻を算出する。そして、推定部140は、管理部120により記録された定義データ126から、第2時刻における、ステップS16で識別したユーザ600の行動として、ステップS14で特定したユーザ操作に対応する行動を選択することで、第2時刻における、ステップS16で識別したユーザ600の行動を推定する。
ステップS18において、推定部140は、ステップS14で特定したユーザ操作が行われた時刻と、管理部120により記録された定義データ126で示された時間T1とから、第1時刻を算出する。出力部150は、推定部140により識別されたユーザ600と推定部140により推定された行動との組み合わせによって、そのユーザ600へ第1時刻に提示する情報を決定し、決定した情報を出力する。
定義データ126には、IHヒータのスイッチを入れる操作に対して、「料理中」という行動と、「1分」という時間T1と、「1分」という時間T2とを指定するデータが予め含まれている。したがって、前述した具体例のように、ステップS14で「2015年3月26日6時30分」にIHヒータのスイッチを入れる操作が特定された場合、ステップS17において、推定部140は、「2015年3月26日6時30分」に時間T2「1分」を加算して、第2時刻「2015年3月26日6時31分」を求める。そして、推定部140は、「2015年3月26日6時31分」における「お母さん」の行動が「料理中」であると推定する。ステップS18において、推定部140は、「2015年3月26日6時30分」に時間T1「1分」を加算して、第1時刻「2015年3月26日6時31分」を求める。出力部150は、「お母さん」というユーザ600と「料理中」という行動との組み合わせによって決定したレシピ情報を「2015年3月26日6時31分」に出力する。
なお、時間T1と時間T2は、互いに異なる時間に設定されてもよい。また、時間T1と時間T2とのうち、いずれか一方のみが設定されていてもよいし、どちらも設定されていなくてもよい。時間T2が設定されていない場合、第2時刻は、ステップS17の動作が行われている時刻となる。時間T1が設定されていない場合、第1時刻は、ステップS18の動作が行われている時刻となる。
実施の形態2.
本実施の形態に係るシステム及び装置の構成、本実施の形態に係る装置の動作、本実施の形態の効果を順番に説明する。主に実施の形態1との差異を説明する。
***構成の説明***
本実施の形態に係るシステムである情報出力システム800の構成は、図1に示した実施の形態1のものと同じである。
本実施の形態では、情報出力装置100が、機器400の操作ログ等からユーザ600の生活パターンを学習し、学習した生活パターンの情報を利用してユーザ600を識別する。
図11を参照して、本実施の形態に係る装置である情報出力装置100の構成を説明する。
情報出力装置100は、実施の形態1と同じように、検出部110と、管理部120と、通信部130と、推定部140と、出力部150とを備えるほか、学習部160を備える。
学習部160は、操作履歴データ123から、ユーザ600ごとの生活パターンを学習し、学習した生活パターンの情報から、機器400を操作したユーザ600の特定を行う。
***動作の説明***
図12を参照して、本実施の形態に係る装置である情報出力装置100の動作を説明する。情報出力装置100の動作は、本実施の形態に係る情報出力方法に相当する。情報出力装置100の動作は、本実施の形態に係る情報出力プログラムの処理手順に相当する。
学習部160は、管理部120により記録された操作履歴データ123から、ユーザ600の居場所が変化するパターンを予め抽出しておく。
本実施の形態では、学習部160の機能を実現するプログラムがプロセッサ103によって実行されることで、パターンを抽出する処理が実施される。
その具体的な処理として、学習部160は、操作履歴データ123を参照して、ユーザ600ごとに、1日のうち、どの時間帯に、住宅の中で、どの部屋にいる割合が高いかを分析する。分析の結果、あるユーザ600が、ある時間帯において、予め定められた閾値以上の割合で同じ部屋にいることが判明した場合、学習部160は、そのユーザ600のパターンに含まれる要素として、その時間帯と、その部屋との組み合わせを記録したデータを記録媒体101に記録する。
ステップS21からステップS25の動作については、図5に示したステップS11からステップS15の動作と同じである。
ステップS26において、推定部140は、ステップS24で特定したユーザ操作を行ったユーザ600を、管理部120により記録された居場所履歴データ124を参照することで識別できるかどうかを判定する。具体的には、推定部140は、居場所履歴データ124により示される、ユーザ操作が行われた時刻における居場所が、ステップS25で特定した場所と一致するユーザ600がいるかどうかを判定する。そのようなユーザ600がいれば、推定部140は、そのユーザ600が、ステップS24で特定した機器400の操作を行ったユーザ600であると判断する。この場合、フローはステップS28に進む。一方、そのようなユーザ600がいなければ、推定部140は、ステップS24で特定したユーザ操作を行ったユーザ600を居場所履歴データ124より識別することができないと判断する。この場合、フローはステップS27に進む。
ステップS27において、推定部140は、ステップS24で特定したユーザ操作が行われた時刻と、ステップS25で特定した、ユーザ操作が行われた場所とが、学習部160により抽出されたパターンと整合するユーザ600を特定することで、ユーザ操作を行ったユーザ600を識別する。ステップS27の後、フローはステップS28に進む。
ステップS27の具体的な処理として、推定部140は、学習部160により記録媒体101に記録されたデータを参照し、ステップS14及びステップS15で特定された時刻及び場所の組み合わせと合致する時間帯及び部屋の組み合わせをパターンに含むユーザ600がいるかどうかを判定する。そのようなユーザ600がいれば、ユーザ操作を行ったユーザ600が識別されたことになる。
ステップS28及びステップS29の動作については、図5に示したステップS17及びステップS18の動作と同じである。
図6及び図8及び図9を参照して、情報出力装置100の動作の具体例を説明する。
図8に示した居場所履歴データ124には、2015年3月26日6時20分に、ユーザ識別子「B」のユーザ600がキッチンにいたことを示すデータが含まれているが、本例では、どのユーザ600がキッチンにいたかは不明であるとする。「お母さん」が携帯端末500を持たずに移動した場合等は、このようなことが起こり得る。
操作履歴データ123には、「2015年3月26日6時30分」にキッチンのIHヒータのスイッチが入れられたことを示すデータが含まれている。よって、推定部140は、最後の機器400の操作として、IHヒータのスイッチを入れる操作を特定する。そして、推定部140は、IHヒータの設置場所であるキッチンを、IHヒータのスイッチが入れられた場所とみなす。これらの動作は、ステップS24及びステップS25に相当する。
ここで、学習部160は、ユーザ識別子「B」のユーザ600である「お母さん」が6時20分から6時45分までキッチンにいるというパターンを予め学習しているものとする。推定部140は、IHヒータのスイッチが入れられた時刻及び場所が、それぞれ「2015年3月26日6時30分」及びキッチンであることから、学習部160により学習されたパターンの情報に基づき、「2015年3月26日6時30分」にIHヒータのスイッチを入れたユーザ600が「お母さん」であると判断する。即ち、推定部140は、「お母さん」が、「2015年3月26日6時30分」にキッチンのIHヒータのスイッチを入れたユーザ600であると判断する。この動作は、前述したステップS27に相当する。
推定部140は、「2015年3月26日6時30分」の後である「2015年3月26日6時31分」における「お母さん」の行動が「料理中」であると推定する。この動作は、前述したステップS28に相当する。
出力部150は、「お母さん」というユーザ600と「料理中」という行動との組み合わせによって、「お母さんが料理中」という状況を認識する。出力部150は、本実施の形態では、さらに、キッチンという居場所によって、「お母さんがキッチンで料理中」という状況を認識する。そして、出力部150は、「お母さん」へ「2015年3月26日6時31分」に提示する情報をレシピ情報に決定し、レシピ情報を出力する。この動作は、前述したステップS29に相当する。レシピ情報の出力先である表示器102としては、情報出力装置100専用のものが用いられてもよいし、キッチンの冷蔵庫又はその他の家電に備えられたディスプレイが用いられてもよい。また、出力部150は、冷蔵庫の中の食材を手動又は自動で特定し、その食材を使ったレシピの情報を出力してもよい。
***効果の説明***
本実施の形態によれば、実施の形態1と同様に、ユーザ600に関係のありそうな情報或いはユーザ600が興味を持てそうな情報をユーザ600にタイミングよく提示することが可能となる。
本実施の形態では、ユーザ600が携帯端末500を携帯しない場合にも対処することができる。
実施の形態3.
本実施の形態について、主に実施の形態1との差異を説明する。
本実施の形態に係るシステムである情報出力システム800の構成は、図1に示した実施の形態1のものと同じである。
実施の形態1では、情報出力装置100が、機器400の操作ログ等からユーザ600の状況を推定し、その状況に合った情報を情報提供装置200から取得して出力する。一方、本実施の形態では、情報出力装置100が、情報提供装置200から情報を事前に取得しておく。或いは、情報提供装置200が、情報を事前にマルチキャストしておく。そして、情報出力装置100が、ユーザ600の状況を推定した際に、その状況に合った情報を選択して出力する。
本実施の形態に係る装置である情報出力装置100の構成は、図4に示した実施の形態1のものと同じである。
本実施の形態において、通信部130は、提示条件が付された情報を、外部の情報提供装置200から受信する。出力部150は、推定部140により識別されたユーザ600と推定部140により推定された行動との組み合わせが、通信部130により受信された情報に付された提示条件と合致する場合、当該情報を、そのユーザ600へ第1時刻に提示する情報とすることを決定する。
具体的には、出力部150は、情報提供装置200から配信されたレシピ情報及びその他の情報を事前に保持しておく。レシピ情報には、「お母さんが料理中」という状況が発生することが提示条件として付されているとする。出力部150は、定期的に推定部140から、推定部140により識別されたユーザ600と推定部140により推定された行動との組み合わせの通知を受けて、そのユーザ600の状況を認識する。出力部150は、保持している情報の提示条件に合致する状況が発生するまで情報を提示せずに待機する。出力部150は、保持している情報の提示条件と合致する状況が発生したときに、その情報を表示器102に出力する。レシピ情報については、出力部150が、「お母さんが料理中」という状況を認識したときに、キッチンにある表示器102に当該情報を表示する。
本実施の形態によれば、実施の形態1と同様に、ユーザ600に関係のありそうな情報或いはユーザ600が興味を持てそうな情報をユーザ600にタイミングよく提示することが可能となる。
本実施の形態では、ユーザ600の状況を推定してから情報を提示するまでの時間を短縮することができる。
実施の形態4.
本実施の形態について、主に実施の形態1との差異を説明する。
本実施の形態に係るシステムである情報出力システム800の構成は、図1に示した実施の形態1のものと同じである。
図13を参照して、本実施の形態に係る装置である情報出力装置100の構成を説明する。
実施の形態1に係る情報出力装置100の機能は、ソフトウェアで実現されるが、本実施の形態に係る情報出力装置100の機能は、ハードウェアで実現される。本実施の形態において、情報出力装置100は、表示器102、処理回路104といったハードウェアを備える。
処理回路104は、「部」及び記録媒体101の機能を実現する専用の電子回路である。処理回路104は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、又は、FPGA(Field−Programmable・Gate・Array)である。
「部」及び記録媒体101の機能は、1つの処理回路104で実現されてもよいし、複数の処理回路104に分散して実現されてもよい。
表示器102は、図4に示した実施の形態1のものと同じである。
「部」及び記録媒体101の機能についても、実施の形態1のものと同じである。
実施の形態2及び実施の形態3に係る情報出力装置100の機能は、実施の形態1に係る情報出力装置100と同じように、ソフトウェアで実現されるが、本実施の形態に係る情報出力装置100と同じように、ハードウェアで実現されてもよい。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、いくつかを組み合わせて実施しても構わない。或いは、これらの実施の形態のうち、いずれか1つ又はいくつかを部分的に実施しても構わない。例えば、これらの実施の形態の説明において「部」として説明するもののうち、いずれか1つのみを採用してもよいし、いくつかの任意の組み合わせを採用してもよい。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
本発明の実施の形態に係る情報出力装置100の機能は、ソフトウェアとハードウェアとの組み合わせで実現されてもよい。即ち、情報出力装置100の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
実施の形態1から実施の形態3における記録媒体101及びプロセッサ103、実施の形態4における処理回路104を、総称して「プロセッシングサーキットリ」という。つまり、情報出力装置100の構成が図4及び図11及び図13のいずれに示した構成であっても、検出部110、管理部120、通信部130、推定部140、出力部150、学習部160といった「部」及び記録媒体101の機能は、プロセッシングサーキットリにより実現される。
「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。