(57)【特許請求の範囲】
【請求項１】
機器を操作し、
前記機器の稼働状態を認識し、
前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する
制御装置から、前記機器ラベル、及び、前記稼働状態ラベルを取得する機器情報取得部と、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報を取得する可能性情報取得部と、
前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報を特定し、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けを行うラベル付け部と
を備える情報処理装置。
【請求項２】
前記可能性情報に基づいて、前記パターン情報が、前記機器ラベルが表す機器の現在の稼働状態の消費電流を表している確からしさを判定し、前記パターン情報が確からしくない場合、前記制御装置に、前記機器ラベルが表す機器の稼働状態を、他の稼働状態に変更することを要求する
請求項１に記載の情報処理装置。
【請求項３】
前記可能性情報に基づいて、前記機器の現在の稼働状態を検知する稼働状態検知部をさらに備え、
前記機器の現在の稼働状態において消費されている消費電流を表すパターン情報に対応付けられた前記機器ラベル及び前記稼働状態ラベルを、前記制御装置に送信する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記機器情報取得部は、前記機器の位置を表す位置情報も取得し、
前記ラベル付け部は、前記パターン情報に、前記機器ラベル及び前記稼働状態ラベルとともに、前記位置情報も対応付け、
前記機器の現在の稼働状態において消費されている消費電流を表すパターン情報に対応付けられた前記機器ラベル及び前記稼働状態ラベルとともに、前記位置情報も、前記制御装置に送信する
請求項３に記載の情報処理装置。
【請求項５】
前記機器分離では、
前記総和データを用いて、FHMM(Factorial Hidden Markov Model)の各ファクタの状態にいる状態確率を、前記可能性情報として求める状態推定を行い、
前記状態確率を用いて、前記FHMMの学習を行う
請求項１ないし４のいずれかに記載の情報処理装置。
【請求項６】
前記FHMMは、
各ファクタの状態の組み合わせにおいて観測される前記総和データの観測値の平均値を求めるのに用いられる、各ファクタの各状態に固有の固有波形と、
各ファクタの状態の組み合わせにおいて観測される前記総和データの観測値の分散と、
各ファクタの状態が初期状態である初期状態確率と、
各ファクタの状態が遷移する遷移確率と
を、モデルパラメータとして有し、
前記FHMMの学習では、
前記パターン情報として、前記固有波形を求める波形分離学習と、
前記分散を求める分散学習と、
前記初期状態確率と、前記遷移確率とを求める状態変動学習と
を行う
請求項５に記載の情報処理装置。
【請求項７】
前記状態推定では、
前記平均値、及び、前記分散を用いて、各ファクタの状態の組み合わせにおいて、前記総和データが観測される観測確率を求め、
前記観測確率、及び、前記遷移確率を用いて、前記総和データの系列Y1，Y2，・・・，YTについて、前記総和データY1，Y2，・・・，Ytを観測し、時刻tに、各ファクタの状態の組み合わせzにいる前向き確率αt,zと、時刻tに、各ファクタの状態の組み合わせzにいて、その後、前記総和データYt，Yt+1，・・・，YTを観測する後ろ向き確率βt,zとを求め、
前記前向き確率αt,z、及び、前記後ろ向き確率βt,zを用いて、時刻tに、各ファクタの状態の組み合わせzにいる事後確率γt,zを求め、
前記事後確率γt,zを周辺化することにより、前記状態確率を求める
請求項６に記載の情報処理装置。
【請求項８】
機器を操作し、
前記機器の稼働状態を認識し、
前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する
制御装置から、前記機器ラベル、及び、前記稼働状態ラベルを取得するステップと、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報を取得するステップと、
前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報を特定し、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けを行うステップと
を含む情報処理方法。
【請求項９】
機器を操作し、
前記機器の稼働状態を認識し、
前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する
制御装置から、前記機器ラベル、及び、前記稼働状態ラベルを取得する機器情報取得部と、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報を取得する可能性情報取得部と、
前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報を特定し、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けを行うラベル付け部と
して、コンピュータを機能させるためのプログラム。
【請求項１０】
機器の操作を制御する操作制御部と、
前記機器の稼働状態を認識する認識部と、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する通信部と
を備える制御装置。
【請求項１１】
移動可能なエージェントである
請求項１０に記載の制御装置。
【請求項１２】
前記操作制御部は、前記機器分離装置からの要求に応じて、前記機器の稼働状態を、他の稼働状態に変更するように、前記機器の操作を制御する
請求項１１に記載の制御装置。
【請求項１３】
前記機器分離装置において、前記可能性情報に基づいて得られる、前記機器の稼働状態を表す稼働状態ラベル、及び、前記機器を表す機器ラベルを取得し、その稼働状態ラベルに応じて、前記機器ラベルが表す前記機器の稼働状態の報知を制御する報知制御部をさらに備える
請求項１０ないし１２のいずれかに記載の制御装置。
【請求項１４】
前記認識部は、前記機器の位置も認識し、
前記通信部は、前記機器の位置を表す位置情報も、前記機器分離装置に送信し、
前記報知制御部は、前記稼働状態ラベル、及び、前記位置情報に応じて、前記機器ラベルが表す前記機器の稼働状態の報知を制御する
請求項１３に記載の制御装置。
【請求項１５】
前記認識部は、前記機器、及び、前記機器の稼働状態を、ユーザに聞くことで認識する
請求項１０ないし１４のいずれかに記載の制御装置。
【請求項１６】
機器を操作するステップと、
前記機器の稼働状態を認識するステップと、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信するステップと
を含む制御方法。
【請求項１７】
機器の操作を制御する操作制御部と、
前記機器の稼働状態を認識する認識部と、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する通信部と
して、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、制御装置、制御方法、情報処理装置、情報処理方法、及び、プログラムに関し、特に、例えば、家庭等の複数の機器それぞれの消費電力等を求める機器分離を、迅速に行うことができるようにする制御装置、制御方法、情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
例えば、家庭等において、分電盤（配電盤）で計測した電流の情報から、その先に繋がっている家庭内の家電（家庭用電化製品）等の機器（電気機器、電子機器）の個々の消費電力や消費電流等を求めるNILM(Non-Intrusive Load Monitoring)と呼ばれる技術が注目されている。【０００３】
本件出願人は、FHMM(Factorial Hidden Markov Model)を用いて、稼働状態が、オンとオフの2状態だけの機器はもちろん、3状態以上の稼働状態がある機器についても、分電盤で計測した電流の情報から、各機器の消費電流等を、容易かつ正確に求めるNILMとしての機器分離（家電分離）の技術を、先に提案している（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2013-210755号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
分電盤で計測した電流の情報から、各機器の消費電流等を求める機器分離を行うには、機器の稼働状態が変化することにより、すなわち、例えば、機器がオンになったり、オフになったりすることにより、機器の消費電流が変化することが必要である。【０００６】
機器の稼働状態は、例えば、ユーザの操作によって変化させることができるが、ユーザの操作に頼るのでは、機器分離を行うのに時間を要する。【０００７】
本技術は、このような状況に鑑みてなされたものであり、機器分離を、迅速に行うことができるようにするものである。
【課題を解決するための手段】
【０００８】
本技術の情報処理装置、又は、第１のプログラムは、機器を操作し、前記機器の稼働状態を認識し、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する制御装置から、前記機器ラベル、及び、前記稼働状態ラベルを取得する機器情報取得部と、複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報を取得する可能性情報取得部と、前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報を特定し、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けを行うラベル付け部とを備える情報処理装置、又は、そのような情報処理装置として、コンピュータを機能させるためのプログラムである。【０００９】
本技術の情報処理方法は、機器を操作し、前記機器の稼働状態を認識し、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する制御装置から、前記機器ラベル、及び、前記稼働状態ラベルを取得するステップと、複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報を取得するステップと、前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報を特定し、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けを行うステップとを含む情報処理方法である。【００１０】
本技術の情報処理装置、情報処理方法、及び、第１のプログラムにおいては、機器を操作し、前記機器の稼働状態を認識し、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する制御装置から、前記機器ラベル、及び、前記稼働状態ラベルが取得される。また、複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報が取得される。そして、前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報が特定され、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けが行われる。【００１１】
本技術の制御装置、又は、第２のプログラムは、機器の操作を制御する操作制御部と、前記機器の稼働状態を認識する認識部と、複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する通信部とを備える制御装置、又は、そのような制御装置として、コンピュータを機能させるためのプログラムである。【００１２】
本技術の制御方法は、機器を操作するステップと、前記機器の稼働状態を認識するステップと、複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信するステップとを含む制御方法である。【００１３】
本技術の制御装置、制御方法、及び、第２のプログラムにおいては、機器が操作され、前記機器の稼働状態が認識される。そして、複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルが送信される。【００１４】
なお、情報処理装置や制御装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。【００１５】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００１６】
本技術によれば、機器分離を、迅速に行うことができる。【００１７】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１８】
【図１】本技術を適用した機器分離システムの一実施の形態の構成例を示す図である。
【図２】機器分離システムの処理の例を説明する図である。
【図３】機器分離装置１６で行われる機器分離の概要を説明する図である。
【図４】機器分離で行われる波形分離学習の概要を説明する図である。
【図５】機器分離装置１６の構成例を示すブロックである。
【図６】FHMMを説明する図である。
【図７】FHMMによる機器分離の定式化の概要を説明する図である。
【図８】機器分離装置１６が行う、EMアルゴリズムに従ったFHMMの学習の処理（学習処理）を説明するフローチャートである。
【図９】機器分離装置１６がステップＳ１３で行うEステップの処理を説明するフローチャートである。
【図１０】FHMMの前向き確率αt,z、及び、後ろ向き確率βt,zと、HMMの前向き確率αt,i、及び、後ろ向き確率βt,jとの関係を説明する図である。
【図１１】機器分離装置１６がステップＳ１４で行うMステップの処理を説明するフローチャートである。
【図１２】機器分離装置１６が行う、機器#mの情報を提示する情報提示処理を説明するフローチャートである。
【図１３】情報提示処理で行われる消費電力U(m)の表示例を示す図である。
【図１４】エージェント１４の外観構成例を示す斜視図である。
【図１５】エージェント１４の内部構成例を示すブロック図である。
【図１６】半導体メモリ１１５に記憶される機器テーブルの例を示す図である。
【図１７】エージェント１４と機器分離装置１６とが協調して動作する場合のラベル取得部３５の構成例を示すブロック図である。
【図１８】対応関係記憶部２０４に記憶される対応関係テーブルの例を示す図である。
【図１９】対応付け情報を対応関係テーブルに登録するためのラベル付け処理として、エージェント１４が行う処理の例を示すフローチャートである。
【図２０】対応付け情報を対応関係テーブルに登録するためのラベル付け処理として、ラベル取得部３５が行う処理の例を示すフローチャートである。
【図２１】エージェント１４と機器分離装置１６とが協調して動作する場合のデータ出力部３６の構成例を示すブロック図である。
【図２２】ユーザ宅の機器の稼働状態をユーザに報知する稼働状態報知処理として、エージェント１４が行う処理の例を示すフローチャートである。
【図２３】ユーザ宅の機器の稼働状態をユーザに報知する稼働状態報知処理として、データ出力部３６が行う処理の例を示すフローチャートである。
【図２４】本技術を適用したコンピュータの一実施の形態のハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
＜機器分離システムの構成例＞
【００２０】
図１は、本技術を適用した機器分離システムの一実施の形態の構成例を示す図である。
【００２１】
ユーザ宅（家庭や会社等）には、分電盤１１が取り付けられている。電力会社から提供される電力は、電力計１２を経由して、分電盤１１に引き込まれ、分電盤１１から、ユーザ宅の（コンセント等に接続された）家電等の機器に供給される。
【００２２】
電流センサ１３は、例えば、分電盤１１に取り付けられている。電流センサ１３は、分電盤１１の、ユーザ宅内に電力を供給している、いわば根元の1箇所において、ユーザ宅内のすべての機器（１以上の機器）で消費されている電流の総和を計測し、インターネット等のネットワーク１５を介して、例えば、クラウド上に構成された機器分離装置１６に送信する。
【００２３】
エージェント１４は、例えば、犬を模した、移動可能なペット型ロボットであり、ユーザ宅の機器を制御する制御装置として機能する。
【００２４】
すなわち、エージェント１４は、手や足を動かすことにより、機器に設けられたボタンや、機器のリモートコントローラを直接操作することで、機器の電源のオンやオフ、動作モードの変更等の機器の操作を行う。
【００２５】
その他、エージェント１４は、機器のリモートコントローラが発する赤外線と同様の赤外線を発すること、あるいは、機器との間で、ホームネットワークを介した無線や有線の通信を行うことで、機器を操作（制御）することができる。
【００２６】
また、エージェント１４は、例えば、手で、棒などを持ち、その棒によって、機器に設けられたボタンを操作することで、機器の操作を行うことができる。
【００２７】
エージェント１４は、ユーザ宅の機器の稼働状態（例えば、オン又はオフになっている状態や、ミュート状態等）を認識し、機器に関する機器情報として、ネットワーク１５を介して、機器分離装置１６に供給する。
【００２８】
さらに、エージェント１４は、機器分離装置１６から、ネットワーク１５を介して、ユーザ宅の機器の稼働状態を受信し、その稼働状態に応じて、所定の行動をとることができる。
【００２９】
機器分離装置１６は、ユーザ宅の電流センサ１３からネットワーク１５を介して送信されてくる電流の総和を受信し、その電流の総和の系列（電流波形系列）から、ユーザ宅内の、例えば、TV（テレビジョン受像機）や、電気ポット、冷蔵庫、照明等の個々の機器で消費されている消費電流や消費電力を分離する機器分離を行う。
【００３０】
さらに、機器分離装置１６は、機器分離の結果得られる消費電流等が、どの機器のどのような稼働状態で消費されるのかを表すラベル付けを、エージェント１４からの機器情報を用いて行う。
【００３１】
また、機器分離情報１６は、機器分離の結果得られる消費電流等から、ユーザ宅の機器の稼働状態を検知し、ネットワーク１５を介して、エージェント１４に送信する。
【００３２】
図２は、図１の機器分離システムの処理の例を説明する図である。
【００３３】
電流センサ１３では、ユーザ宅内のすべての機器で消費されている電流の総和が計測され、ネットワーク１５を介して、機器分離装置１６に送信される。
【００３４】
機器分離装置１６では、ユーザ宅の電流センサ１３から送信されてくる電流の総和を受信し、その電流の総和の系列（電流波形系列）から、ユーザ宅内の個々の機器で消費されている電流を分離する機器分離が行われる。
【００３５】
図１及び図２では、ユーザ宅には、機器#1,#2,#3,#4があり、機器分離装置１６は、ユーザ宅の機器#1ないし#4それぞれで消費されている電流（消費電流）を分離する機器分離を行う。
【００３６】
ここで、機器分離装置１６において、機器#1ないし#4それぞれの消費電流を分離するには、機器の消費電流が変化することが必要である。
【００３７】
そこで、ユーザ宅のエージェント１４は、必要に応じて、ユーザ宅内を移動し、例えば、機器に設けられたボタンや、機器のリモートコントローラを操作することで、機器の電源のオンやオフ等の機器の操作を行う。
【００３８】
これにより、ある機器の電源がオフになっているときの、機器#1ないし#4の消費電流の総和や、他の機器の電源がオンになっているときの、機器#1ないし#4の消費電流の総和等の、機器#1ないし#4が様々な稼働状態になっているときの消費電力の総和が、電流センサ１３から機器分離装置１６に送信される。
【００３９】
そして、機器分離装置１６では、機器#1ないし#4が様々な稼働状態になっているときの消費電力の総和を用いて機器分離が行われ、これにより、機器#1ないし#4それぞれの消費電流が分離される。
【００４０】
また、機器分離装置１６は、機器分離の結果得られる機器#1ないし#4それぞれの消費電流から、ユーザ宅の機器の稼働状態を検知し、ネットワーク１５を介して、エージェント１４に送信する。
【００４１】
エージェント１４は、機器分離装置１６からの、ユーザ宅の機器の稼働状態を受信し、その稼働状態に応じて、所定の行動をとる。
【００４２】
例えば、エージェント１４は、機器分離装置１６から、ユーザ宅の玄関の照明がオンになった旨の機器の稼働状態を受信した場合には、ユーザ宅の玄関にいなくても、玄関の照明がオンになったことを認識することができる。
【００４３】
この場合、エージェント１４は、ユーザ宅のユーザが帰宅したと認識し、ユーザ宅の任意の部屋から玄関に出迎えに行く行動をとることができる。
【００４４】
あるいは、エージェント１４は、現在地の近くにいるユーザに、ユーザ宅の玄関の照明がオンになった旨を、音声等で報知することができる。
【００４５】
＜機器分離＞
【００４６】
図３は、図１の機器分離装置１６で行われる機器分離の概要を説明する図である。
【００４７】
各ユーザ宅において、電力会社から提供される電力は、分電盤１２に引き込まれ、分電盤１２から、ユーザ宅内の家電等の機器に供給される。
【００４８】
機器分離では、分電盤１２に、電流センサ１３を設け、その電流センサ１３で、ユーザ宅内の機器で消費されている電流の総和を計測するだけで、その電流の総和の系列（電流波形系列）から、ユーザ宅内の、個々の機器の消費電流（消費電力）が分離される。
【００４９】
なお、機器分離に用いるデータとしては、各機器で消費されている電流の総和そのもの等の、各機器で消費されている電流の総和に関する総和データを採用することができる。
【００５０】
総和データとしては、加算が成立する値の総和を採用することができる。具体的には、総和データとしては、各機器で消費されている電流の総和そのものの他、例えば、各機器で消費されている電力の総和や、各機器で消費されている電流の波形をFFT(Fast Fourier Transform)等することによって得られる周波数成分の総和等を採用することができる。
【００５１】
また、機器分離では、総和データから、個々の機器で消費されている電流等の、個々の機器で消費されている電流に関する情報を分離することができる。具体的には、機器分離では、総和データから、例えば、個々の機器で消費されている電流や電力、それらの周波数成分を分離することができる。
【００５２】
以下の説明では、総和データとして、例えば、各機器で消費されている電流の総和を採用するとともに、機器分離において、例えば、総和データとしての電流の総和の波形から、個々の機器で消費されている電流（消費電流）の波形を分離することとする。
【００５３】
図４は、機器分離で行われる波形分離学習の概要を説明する図である。
【００５４】
機器分離では、総和データから、各機器の消費電流の波形を求める波形分離学習が行われる。
【００５５】
波形分離学習では、各時刻tの総和データとしての電流波形Ytが、各機器#mの消費電流を表す固有波形W(m)の加算値（総和）であるとして、電流波形Ytから、個々の機器#mで消費されている固有波形W(m)が求められる。
【００５６】
図４では、ユーザ宅内に、5個の機器#1ないし#5があり、その5個の機器#1ないし#5のうちの、機器#1,#2,#4、及び、#5がオン状態（電力を消費する状態）になっており、機器#3がオフ状態（電力を消費しない状態）になっている。
【００５７】
そのため、図４では、総和データとしての電流波形Ytが、機器#1,#2,#4、及び、#5それぞれの消費電流W(1),W(2),W(4)、及び、W(5)の加算値（総和）になっている。
【００５８】
＜機器分離装置１６の構成例＞
【００５９】
図５は、図１の機器分離装置１６の構成例を示すブロックである。
【００６０】
図５において、機器分離装置１６は、通信部３０、データ取得部３１、状態推定部３２、モデル記憶部３３、モデル学習部３４、ラベル取得部３５、及び、データ出力部３６を有する。
【００６１】
通信部３０は、ネットワーク１５を介して、電流センサ１３やエージェント１４との間で通信を行う。
【００６２】
すなわち、通信部３０は、電流センサ１３からネットワーク１５を介して送信されてくる総和データとしての電流波形Yの時系列（電流時系列）を受信し、データ取得部３１に供給する。
【００６３】
また、通信部３０は、エージェント１４からネットワーク１５を介して送信されてくるデータを受信して、ラベル取得部３５やデータ出力部３６に供給する。さらに、通信部３０は、ラベル取得部３５やデータ出力部３６から供給されるデータを、ネットワーク１５を介して、エージェント１４に送信する。
【００６４】
なお、本実施の形態において、通信は、無線の通信、有線の通信、及び、無線と有線とが混在する通信のいずれであってもよい。
【００６５】
データ取得部３１は、電流センサ１３から送信されてくる総和データとしての電流波形Yの時系列（電流時系列）を、通信部３０を介して受信することにより取得し、状態推定部３２、モデル学習部３４、及び、データ出力部３６に供給する。
【００６６】
また、データ取得部３１は、総和データとしての電流波形Yに対応する電圧の波形（電圧波形）Vの時系列（電圧時系列）を取得し、状態推定部３２、モデル学習部３４、及び、データ出力部３６に供給する。
【００６７】
なお、電圧波形Vは、電流波形Yと同様に、分電盤１２で計測し、ネットワーク１５を介して、機器分離装置１６に送信することができる。また、電圧波形Vとしては、電力会社から供給される電圧を近似する、例えば、50Hzや60Hz等の所定周波数で、実効値が100V等の所定値のsin波を採用することができる。
【００６８】
状態推定部３２は、データ取得部３１からの電流波形Yと、モデル記憶部３３に記憶された、ユーザ宅内の機器全体のモデルである全体モデル（のモデルパラメータ）φとを用いて、ユーザ宅内の各機器に対応する全体モデルの状態を推定する状態推定を行う。そして、状態推定部３２は、状態推定の状態推定結果（としての全体モデルの状態）Γを、モデル学習部３４、ラベル取得部３５、及び、データ出力部３６に供給する。
【００６９】
すなわち、図５において、状態推定部３２は、評価部４１、及び、推定部４２を有する。
【００７０】
評価部４１は、モデル記憶部３３に記憶された全体モデルφを構成する複数の機器モデル#1ないし#Mそれぞれの状態の各組み合わせにおいて、データ取得部３１から（状態推定部３２に）供給される電流波形Yが観測される程度を評価した評価値Eを求め、推定部４２に供給する。
【００７１】
推定部４２は、評価部４１から供給される評価値Eを用い、モデル記憶部３３に記憶された全体モデルφを構成する複数の機器モデル#1ないし#Mそれぞれの状態Γを推定し、モデル学習部３４、ラベル取得部３５、及び、データ出力部３６に供給する。
【００７２】
モデル記憶部３３は、複数の機器全体のモデルである全体モデル（のモデルパラメータ）φを記憶する。
【００７３】
全体モデルφは、複数であるM個の、機器の（消費電流を表現する）モデルである機器モデル#1ないし#Mから構成される。機器モデル#1ないし#M、及び、その機器モデル#1ないし#Mから構成される全体モデルφは、例えば、確率生成モデル、あるいは、状態遷移モデルであり、複数の状態を有する。
【００７４】
全体モデルのパラメータφには、機器モデル#mの状態（に対応する機器の稼働状態）ごとの消費電流を表す電流波形パラメータが含まれる。
【００７５】
全体モデルのパラメータφには、その他、例えば、機器モデル#mの状態（に対応する機器の稼働状態）の遷移（変動）を表す状態変動パラメータ、機器モデル#mの状態（に対応する機器の稼働状態）の初期状態を表す初期状態パラメータ、及び、全体モデルにおいて観測（生成）される電流波形Yの観測値の分散に関する分散パラメータを含めることができる。
【００７６】
モデル記憶部３３に記憶された全体モデルのモデルパラメータφは、状態推定部３２の評価部４１と推定部４２、ラベル取得部３５、及び、データ出力部３６で、必要に応じて参照され、モデル学習部３４の後述する波形分離学習部５１、分散学習部５２、及び、状態変動学習部５３によって更新される。
【００７７】
モデル学習部３４は、データ取得部３１から供給される電流波形Yと、状態推定部３２（の推定部４２）から供給される状態推定の状態推定結果（（全体モデルを構成する）各機器モデル#mの状態）Γとを用いて、モデル記憶部３３に記憶された全体モデルのモデルパラメータφを更新するモデル学習を行う。
【００７８】
すなわち、図５において、モデル学習部３４は、波形分離学習部５１、分散学習部５２、及び、状態変動学習部５３を有する。
【００７９】
波形分離学習部５１は、データ取得部３１から（モデル学習部３４に）供給される電流波形Yと、状態推定部３２（の推定部４２）から供給される各機器モデル#mの状態推定結果Γとを用いて、モデルパラメータφとしての電流波形パラメータを求める（更新する）波形分離学習を行い、その波形分離学習によって得られる電流波形パラメータによって、モデル記憶部３３に記憶された電流波形パラメータを更新する。
【００８０】
分散学習部５２は、データ取得部３１から（モデル学習部３４に）供給される電流波形Yと、状態推定部３２（の推定部４２）から供給される各機器モデル#mの状態推定結果Γとを用いて、モデルパラメータφとしての分散パラメータを求める（更新する）分散学習を行い、その分散学習によって得られる分散パラメータによって、モデル記憶部３３に記憶された分散パラメータを更新する。
【００８１】
状態変動学習部５３は、状態推定部３２（の推定部４２）から供給される各機器モデル#mの状態推定結果Γを用いて、モデルパラメータφとしての初期状態パラメータ、及び、状態変動パラメータを求める（更新する）状態変動学習を行い、その状態変動学習によって得られる初期状態パラメータ、及び、状態変動パラメータによって、モデル記憶部３３に記憶された初期状態パラメータ、及び、状態変動パラメータをそれぞれ更新する。
【００８２】
ラベル取得部３５は、状態推定部３２（の推定部４２）から供給される各機器モデル#mの状態推定結果Γ、モデル記憶部３３に記憶された全体モデルφ、及び、データ出力部３６で得られる、各機器モデル#mが表す機器の消費電力U(m)、通信部３０から供給されるエージェント１４からのデータ等を、必要に応じて用いて、各機器モデル#mに対応する機器を表す（機器を識別するための）機器ラベルL(m)を取得し、必要に応じて、データ出力部３６に供給する。
【００８３】
データ出力部３６は、データ取得部３１から供給される電圧波形V、状態推定部３２（の推定部４２）から供給される各機器モデル#mの状態推定結果Γ、及び、モデル記憶部３３に記憶された全体モデルを用いて、各機器モデル#mが表す（各機器モデル#mに対応する）ユーザ宅の各機器の消費電力U(m)を求め、ラベル取得部３５から供給される機器ラベルL(m)とともに、ユーザ宅のユーザ等に提供する。
【００８４】
すなわち、データ出力部３６は、ユーザ宅の各機器の消費電力U(m)、及び、機器ラベルL(m)を、通信部３０からネットワーク１５を介して、エージェント１４に送信する。エージェント１４は、例えば、ユーザ宅のTVや、ユーザ宅のユーザが有するスマートフォン等のディスプレイを有するディスプレイ機器と通信を行うことにより、ディスプレイ機器に、データ出力部３６からの消費電力U(m)、及び、機器ラベルL(m)を送信して表示させることができる。
【００８５】
また、データ出力部３６は、各機器モデル#mの状態推定結果Γに応じて、ユーザ宅の各機器の稼働状態を検知し、その稼働状態を表す稼働状態ラベルを、通信部３０からネットワーク１５を介して、エージェント１４に送信する。エージェント１４は、データ出力部３６からのユーザ宅の各機器の稼働状態（ラベル）に応じて、所定の行動をとることができる。
【００８６】
以上のように構成される機器分離装置１６において、モデル記憶部３３に記憶される全体モデルとしては、例えば、FHMM(Factorial Hidden Markov Model)を採用することができる。
【００８７】
＜FHMM＞
【００８８】
図６は、FHMMを説明する図である。
【００８９】
すなわち、図６のＡは、通常のHMMのグラフィカルモデルを示しており、図６のＢは、FHMMのグラフィカルモデルを示している。
【００９０】
通常のHMMでは、時刻tに、その時刻tにいる１つの状態Stにおいて、１つの観測値Ytが観測される。
【００９１】
一方、FHMMでは、時刻tに、その時刻tにいる複数の状態S(1)t，S(2)t，・・・，S(M)tの組み合わせにおいて、１つの観測値Ytが観測される。
【００９２】
FHMMは、Zoubin Ghahramaniらが提案した確率生成モデルであり、その詳細については、例えば、Zoubin Ghahramani, and Michael I. Jordan, Factorial Hidden Markov Models’, Machine Learning Volume 29, Issue 2-3 ,Nov./Dec. 1997（以下、文献Ａともいう）に記載されている。
【００９３】
図７は、FHMMによる機器分離の定式化の概要を説明する図である。
【００９４】
ここで、FHMMは、複数のHMMを有する構成になっている。FHMMが有する各HMMは、ファクタと呼ばれる。以下、FHMMが有するm番目のファクタを、ファクタ#mとも記載する。
【００９５】
FHMMにおいて、時刻tにいる複数の状態S(1)tないしS(M)tの組み合わせとは、時刻tにいる各ファクタ#mの状態の組み合わせ（ファクタ#1の状態と、ファクタ#2の状態と、・・・、ファクタ#Mの状態とのセット）である。
【００９６】
図７は、ファクタの数Mが3のFHMMを示している。
【００９７】
機器分離においては、例えば、１つのファクタが１つの機器に対応する（１つのファクタと１つの機器とを対応させる）。図７では、ファクタ#mが、機器#mに対応している。
【００９８】
FHMMにおいて、ファクタを構成する状態の数は、ファクタごとに任意であるが、図７では、3つのファクタ#1,#2,#3の状態の数は、いずれも、4個になっている。
【００９９】
図７では、時刻t=t0において、ファクタ#1は、4つの状態#11,#12,#13,#14のうちの、状態#14（太線の丸印で示す）になっており（いて）、ファクタ#2は、4つの状態#21,#22,#23,#24のうちの、状態#21（太線の丸印で示す）になっている。また、時刻t=t0において、ファクタ#3は、4つの状態#31,#32,#33,#34のうちの、状態#33（太線の丸印で示す）になっている。
【０１００】
機器分離においては、ファクタ#mの状態は、例えば、そのファクタ#mが対応する機器#mの稼働状態に対応する。
【０１０１】
例えば、機器#1に対応するファクタ#1において、状態#11は、機器#1のオフ状態に対応し、状態#14は、機器#1の、いわゆる通常モードのオン状態に対応する。また、例えば、機器#1に対応するファクタ#1において、状態#12は、機器#1の、いわゆるスリープモードのオン状態に対応し、状態#13は、機器#1の、いわゆる省エネモードのオン状態に対応する。
【０１０２】
FHMMにおいて、ファクタ#mの状態#miでは、各ファクタの状態ごとに固有の波形である固有波形W(m)#miが観測（生成）される。
【０１０３】
図７において、ファクタ#1では、時刻t=t0にいる状態#14において、固有波形W(1)#14が観測され、ファクタ#2では、時刻t=t0にいる状態#21において、固有波形W(2)#21が観測される。さらに、ファクタ#3では、時刻t=t0にいる状態#33において、固有波形W(3)#33が観測される。
【０１０４】
FHMMでは、各ファクタにおいている状態で観測される固有波形を合成した合成波形が、FHMMにおいて観測される観測値として生成される。
【０１０５】
ここで、固有波形の合成としては、例えば、固有波形の総和（加算）を採用することができる。その他、固有波形の合成としては、例えば、固有波形の重み付け加算や、固有波形の論理和（固有波形の値が0と1の場合）等を採用することができるが、機器分離では、固有波形の総和が採用される。
【０１０６】
FHMMの学習では、FHMMにおいて、各時刻t＝・・・,t0,t1,・・・の総和データとしての電流波形・・・，Yt0，Yt0+1，・・・が観測されるように、FHMMのモデルパラメータが求められる（更新される）。
【０１０７】
モデル記憶部３３（図５）に記憶される全体モデルφとして、以上のようなFHMMを採用する場合、全体モデルφを構成する機器モデル#mは、ファクタ#mに相当する。
【０１０８】
なお、FHMMのファクタの数Mとしては、ユーザ宅内に存在すると想定される機器の最大数よりも、マージンとしての所定数だけ大きい値が採用される。
【０１０９】
また、全体モデルφとしてのFHMMとしては、各ファクタが2の状態又は3以上の状態を有するFHMMを採用することができる。
【０１１０】
ファクタの状態数が2状態である場合には、そのファクタに対応する機器の稼働状態として、例えば、オフ状態とオン状態との2つの稼働状態だけを表現することができる。したがって、ファクタの状態数が2状態である場合には、モードや設定等によって消費電力（電流）が変動するエアコンディショナ等の、3つ以上の稼働状態を有する機器（変動負荷機器）については、正確な消費電力等を求めることが困難になる。
【０１１１】
一方、全体モデルφとしてのFHMMとして、各ファクタが3以上の状態を有するFHMMを採用する場合には、3つ以上の稼働状態を有する変動負荷機器について、正確な消費電力等を求めることが可能となる。
【０１１２】
全体モデルφとして、FHMMを採用する場合、FHMMにおいて観測される電流波形Ytの系列と、各ファクタ#mの状態S(m)tの組み合わせStの系列との同時分布P({St,Yt})は、マルコフ性を仮定することにより、式（１）で計算される。
【０１１３】
【数１】
0006597612.tif 000002
・・・（１）
【０１１４】
ここで、同時分布P({St,Yt})は、時刻tにおいて、各ファクタ#mの状態S(m)tの組み合わせ（M個のファクタそれぞれの状態の組み合わせ）Stにおいて、電流波形Ytが観測される確率を表す。
【０１１５】
P(S１)は、最初の時刻t=1において、各ファクタ#mの状態S(m)1の組み合わせS1にいる初期状態確率を表す。
【０１１６】
P(St｜St-1)は、時刻t-1に、状態の組み合わせSt-1にいて、時刻tに、状態の組み合わせStに遷移する遷移確率を表す。
【０１１７】
P(Yt｜St)は、時刻tに、状態の組み合わせStにおいて、電流波形Ytが観測される観測確率を表す。
【０１１８】
時刻tにおける状態の組み合わせStは、M個のファクタ#1ないし#Mそれぞれの、時刻tにおける状態S(1)t，S(2)t，・・・，S(M)tの組み合わせであり、式St＝{S(1)t，S(2)t，・・・，S(M)t}で表現される。
【０１１９】
なお、機器#mの稼働状態は、他の機器#m'とは独立に変動すると仮定し、ファクタ#mの状態S(m)tは、他のファクタ#m'の状態S(m')tとは独立に遷移することとする。
【０１２０】
また、FHMMのファクタ#mとしてのHMMの状態の数K(m)としては、他のファクタ#m'としてのHMMの状態の数K(m')とは独立な数を採用することができる。但し、ここでは、説明を簡単にするため、ファクタ#1ないし#Mの状態の数K(1)ないしK(M)は、式K(1)＝K(2)＝・・・＝K(M)＝Kで表される通り、同一の数Kであることとする。
【０１２１】
FHMMにおいて、式（１）の同時分布P({St,Yt})の計算に必要な初期状態確率P(S１)、遷移確率P(St｜St-1)、及び、観測確率P(Yt｜St)は、以下のように計算することができる。
【０１２２】
すなわち、初期状態確率P(S１)は、式（２）に従って計算することができる。
【０１２３】
【数２】
0006597612.tif 000003
・・・（２）
【０１２４】
ここで、P(S(m)1)は、ファクタ#mの状態S(m)1が、最初の時刻t=1にいる状態（初期状態）である初期状態確率を表す。
【０１２５】
初期状態確率P(S(m)1)は、例えば、ファクタ#mのk番目（k＝1,2,・・・,K）の状態の初期状態確率を、k行目のコンポーネントとするK行の列ベクトル（K行1列の行列）である。
【０１２６】
遷移確率P(St｜St-1)は、式（３）に従って計算することができる。
【０１２７】
【数３】
0006597612.tif 000004
・・・（３）
【０１２８】
ここで、P(S(m)t|S(m)t-1)は、ファクタ#mにおいて、時刻t-1に状態S(m)t-1にいて、時刻tに状態S(m)tに遷移する遷移確率を表す。
【０１２９】
遷移確率P(S(m)t|S(m)t-1)は、例えば、ファクタ#mのk番目の状態#kから、k'番目（k'＝1,2,・・・,K）の状態#k'に遷移する遷移確率を、k行k'列目のコンポーネントとするK行K列の行列（正方行列）である。
【０１３０】
観測確率P(Yt｜St)は、式（４）に従って計算することができる。
【０１３１】
【数４】
0006597612.tif 000005
・・・（４）
【０１３２】
ここで、ダッシュ（’）は転置を表し、上付きの−１は、逆数（逆行列）を表す。また、｜C｜は、Cの絶対値（行列式）（determinant演算）を表す。
【０１３３】
また、Dは、観測値Ytの次元を表す。
【０１３４】
例えば、電流センサ１３は、電圧が、負の値から正の値に変化するときのゼロ交差のあるタイミングを、電流の位相が0になっているタイミングとして、所定のサンプリング間隔で、１周期分（日本では、1/50又は1/60秒）の電流をサンプリングし、そのサンプリング値をコンポーネントとする列ベクトルを、１時刻分の電流波形Ytとして出力する。
【０１３５】
電流センサ１３が１周期分の電流をサンプリングするサンプリングの回数がD回であるとすると、電流波形Ytは、D行の列ベクトルである。
【０１３６】
式（４）の観測確率P(Yt｜St)によれば、観測値Ytは、平均値（平均ベクトル）がμtで、分散（共分散行列）がCの正規分布に従う。
【０１３７】
平均値μtは、電流波形Ytと同様のD行の列ベクトルであり、分散Cは、D行D列の行列（対角成分が分散の行列）である。
【０１３８】
平均値μtは、図７で説明した固有波形W(m)を用い、式（５）で表される。
【０１３９】
【数５】
0006597612.tif 000006
・・・（５）
【０１４０】
ここで、ファクタ#mの状態#kの固有波形を、W(m)kと表すこととすると、ファクタ#mの状態#kの固有波形W(m)kは、例えば、電流波形Ytと同様のD行の列ベクトルである。
【０１４１】
また、固有波形W(m)は、ファクタ#mの各状態#1,#2,・・・,#Kの固有波形W(m)1,W(m)2,・・・,W(m)Kの集まりであり、ファクタ#mの状態#kの固有波形W(m)kである列ベクトルを、k列目のコンポーネントとするD行K列の行列である。
【０１４２】
さらに、S*(m)tは、時刻tにいるファクタ#mの状態を表し、以下、S*(m)tを、時刻tのファクタ#mの現在状態ともいう。時刻tのファクタ#mの現在状態S*(m)tは、例えば、式（６）に示すように、K行のうちの1行のみのコンポーネントが1で、他の行のコンポーネントが0のK行の列ベクトルである。
【０１４３】
【数６】
0006597612.tif 000007
・・・（６）
【０１４４】
時刻tにいるファクタ#mの状態が、状態#kである場合、時刻tのファクタ#mの現在状態S*(m)tとしてのK行の列ベクトルS*(m)tは、k行目のコンポーネントだけが1とされ、他のコンポーネントは0とされる。
【０１４５】
式（５）によれば、時刻tにいる各ファクタ#mの状態#kの固有波形W(m)kの総和が、時刻tの電流波形Ytの平均値μtとして求められる。
【０１４６】
FHMMのモデルパラメータφは、式（２）の初期状態確率P(S(m)1)、式（３）の遷移確率P(S(m)t|S(m)t-1)、式（４）の分散C、及び、式（５）の固有波形W(m)（＝W(m)1,W(m)2,・・・,W(m)K）であり、図５のモデル学習部３４では、これらのFHMMのモデルパラメータφが求められる。
【０１４７】
すなわち、波形分離学習部５１は、波形分離学習によって、固有波形W(m)を、電流波形パラメータとして求める。分散学習部５２では、分散学習によって、分散Cを、分散パラメータとして求める。状態変動学習部５３は、状態変動学習によって、初期状態確率P(S(m)1)、及び、遷移確率P(S(m)t|S(m)t-1)を、それぞれ、初期状態パラメータ、及び、状態変動パラメータとして求める。
【０１４８】
ここで、例えば、個々の機器の稼働状態が、オンとオフの2状態であっても、通常のHMMによって、20個の機器の稼働状態（の組み合わせ）を表現する場合には、HMMの状態の数は、220=1,048,576個になり、遷移確率の数は、その2乗の1,099,511,627,776個になる。
【０１４９】
一方、FHMMによれば、稼働状態がオンとオフの2状態しかないM個の機器は、各ファクタが2状態の、M個のファクタによって表現することができる。したがって、各ファクタにおいて、状態の数は、2個であり、遷移確率の数は、その2乗の4個であるから、FHMMによって、M=20個の機器（ファクタ）の稼働状態を表現する場合には、FHMMの状態の数（総数）は、40＝2×20個という少ない数で済み、遷移確率の数も、80＝4×20個という少ない数で済む。
【０１５０】
FHMMの学習、すなわち、FHMMのモデルパラメータφとしての初期状態確率P(S(m)1)、遷移確率P(S(m)t|S(m)t-1)、分散C、及び、固有波形W(m)の更新は、例えば、文献Ａに記載されているように、EM(Expectation-Maximization)アルゴリズムに従って行うことができる。
【０１５１】
EMアルゴリズムによるFHMMの学習では、式（７）の条件付き完全データ対数尤度の期待値Q(φnew|φ)を最大化するために、Eステップの処理とMステップの処理とが、交互に繰り返される。
【０１５２】
【数７】
0006597612.tif 000008
・・・（７）
【０１５３】
ここで、条件付き完全データ対数尤度の期待値Q(φnew|φ)とは、モデルパラメータφの下で、完全データ{St,Yt}が観測される場合において、新たなモデルパラメータφnewの下で、完全データ{St,Yt}が観測される対数尤度log(P({St,Yt}|φnew))の期待値を意味する。
【０１５４】
EMアルゴリズムのEステップの処理では、式（７）の条件付き完全データ対数尤度の期待値Q(φnew|φ)（に相当する値）が求められ、EMアルゴリズムのMステップの処理では、Eステップの処理で求められた期待値Q(φnew|φ)を、より大にする新たなモデルパラメータφnewが求められ、モデルパラメータφが、（期待値Q(φnew|φ)をより大にする）新たなモデルパラメータφnewに更新される。
【０１５５】
＜機器分離としてのFHMMのモデル学習＞
【０１５６】
図８は、機器分離装置１６（図５）が行う機器分離としての、EMアルゴリズムに従ったFHMMのモデル学習の処理（学習処理）の例を説明するフローチャートである。
【０１５７】
ステップＳ１１において、モデル学習部３４は、モデル記憶部３３に記憶されたFHMMのモデルパラメータφとしての初期状態確率P(S(m)1)、遷移確率P(S(m)t|S(m)t-1)、分散C、及び、固有波形W(m)を初期化し、処理は、ステップＳ１２に進む。
【０１５８】
ここで、初期状態確率P(S(m)1)としてのK行の列ベクトルのk行目のコンポーネント、すなわち、ファクタ#mのk番目の初期状態確率π(m)kは、例えば、1/Kに初期化される。
【０１５９】
遷移確率P(S(m)t|S(m)t-1)としてのK行K列の行列のi行j列目のコンポーネント（i,j＝1,2,・・・,K）、すなわち、ファクタ#mにおいて、i番目の状態#iからj番目の状態#jに遷移する遷移確率P(m)i,jは、例えば、乱数を用いて、式P(m)i,1＋P(m)i,2＋・・・＋P(m)i,K＝1を満たすように、初期化される。
【０１６０】
分散CとしてのD行D列の行列は、例えば、乱数を用いて、対角成分を設定し、他の成分（コンポーネント）を0としたD行D列の対角行列に初期化される。
【０１６１】
固有波形W(m)としてのD行K列の行列のk列目の列ベクトル、すなわち、ファクタ#mの状態#kの固有波形W(m)kとしてのD行の列ベクトルの各コンポーネントは、例えば、乱数を用いて初期化される。
【０１６２】
ステップＳ１２では、データ取得部３１が、電流センサ１３で計測された所定の時間T分の電流波形を取得し、各時刻t=1,2・・・,Tの電流波形（以下、計測波形ともいう）Y1,Y2,・・・,YTを、状態推定部３２、及び、モデル学習部３４に供給して、処理は、ステップＳ１３に進む。
【０１６３】
ここで、データ取得部３１は、時刻t=1,2・・・,Tの電流波形とともに、電圧波形も取得する。データ取得部３１は、時刻t=1,2・・・,Tの電圧波形を、データ出力部３６に供給する。
【０１６４】
データ出力部３６では、データ取得部３１からの電圧波形が、消費電力の算出に用いられる。
【０１６５】
ステップＳ１３では、状態推定部３２が、データ取得部３１からの計測波形Y1ないしYTを用いて、Eステップの処理を行い、処理は、ステップＳ１４に進む。
【０１６６】
すなわち、ステップＳ１３では、状態推定部３２は、データ取得部３１からの計測波形Y1ないしYTを用いて、モデル記憶部３３に記憶されたFHMMの各ファクタ#mの各状態にいる状態確率等を求める状態推定を行い、その状態推定の状態推定結果を、モデル学習部３４、及び、データ出力部３６に供給する。
【０１６７】
ここで、図７で説明したように、機器分離においては、ファクタ#mの状態は、そのファクタ#mが対応する機器#mの稼働状態に対応する。FHMMのファクタ#mの状態#kにいる状態確率は、機器#mの稼働状態が状態#kに対応する程度を表し、したがって、そのような状態確率を求める状態推定は、機器の稼働状態を求めている（推定している）、ということができる。
【０１６８】
ステップＳ１４では、モデル学習部３４は、データ取得部３１からの計測波形Y1ないしYT、及び、状態推定部３２からの状態推定結果を用いて、Mステップの処理を行い、処理は、ステップＳ１５に進む。
【０１６９】
すなわち、ステップＳ１４では、モデル学習部３４は、データ取得部３１からの計測波形Y1ないしYT、及び、状態推定部３２からの状態推定結果を用いて、モデル記憶部３３に記憶されたFHMMの学習を行うことにより、モデル記憶部３３に記憶されたFHMMのモデルパラメータφとしての初期状態確率π(m)k、遷移確率P(m)i,j、分散C、及び、固有波形W(m)を更新する。
【０１７０】
ステップＳ１５では、モデル学習部３４は、モデルパラメータφの収束条件が満たされているかどうかを判定する。
【０１７１】
ここで、モデルパラメータφの収束条件としては、例えば、Eステップ及びMステップの処理があらかじめ設定された所定の回数だけ繰り返されたことや、FHMMにおいて、計測波形Y1ないしYTが観測される尤度の、モデルパラメータφの更新前と更新後との間の変化量が、あらかじめ設定された閾値以内であること等を採用することができる。
【０１７２】
ステップＳ１５で、モデルパラメータφの収束条件が満たされていないと判定された場合、処理は、ステップＳ１３に戻り、以下、同様の処理が繰り返される。
【０１７３】
また、ステップＳ１５において、モデルパラメータφの収束条件が満たされると判定された場合、学習処理は、終了する。
【０１７４】
なお、ステップＳ１２ないしＳ１５の処理は、定期的又は不定期に、繰り返し行われる。
【０１７５】
図９は、図５の機器分離装置１６が、図８のステップＳ１３で行うEステップの処理を説明するフローチャートである。
【０１７６】
ステップＳ２１において、評価部４１は、モデル記憶部３３に記憶された全体モデルφとしてのFHMMの分散C、及び、固有波形W(m)、並びに、データ取得部３１からの計測波形Yt＝{Y1,Y2,・・・,YT}を用い、各時刻t＝{1,2,・・・,T}の、状態の各組み合わせStについて、式（４）の観測確率P(Yt|St)を、評価値Eとして求め、推定部４２に供給して、処理は、ステップＳ２２に進む。
【０１７７】
ステップＳ２２では、推定部４２が、評価部４１からの観測確率P(Yt|St)、及び、モデル記憶部３３に記憶された全体モデルφとしてのFHMMの遷移確率P(m)i,j（及び初期状態確率π(m)）を用いて、計測波形Y1,Y2,・・・,Ytを観測し、時刻tに、状態の組み合わせ(時刻tにいるファクタ#1の状態と、ファクタ#2の状態と、・・・、ファクタ#Mの状態との組み合わせ)zにいる前向き確率αt,zを求め、処理は、ステップＳ２３に進む。
【０１７８】
ここで、HMMの前向き確率の求め方については、例えば、C.M. ビショップ, 「パターン認識と機械学習 下 ベイズ理論による統計的予測」, シュプリンガー・ジャパン, 2008（以下、文献Ｂともいう）の336ページに記載されている。
【０１７９】
前向き確率αt,zは、例えば、1時刻前の前向き確率αt-1,wを用いた漸化式αt,z＝Σαt-1,wP(z|w)P(Yt|z)に従って求めることができる。
【０１８０】
漸化式αt,z＝Σαt-1,wP(z|w)P(Yt|z)において、Σは、wを、FHMMの状態の組み合わせのすべてに変えてとるサメーションを表す。
【０１８１】
また、漸化式αt,z＝Σαt-1,wP(z|w)P(Yt|z)において、wは、1時刻前の時刻t-1にいる状態の組み合わせを表す。P(z|w)は、時刻t-1に、状態の組み合わせwにいて、時刻tに状態の組み合わせzに遷移する遷移確率を表し、P(Yt|z)は、時刻tに、状態の組み合わせzにおいて、計測波形Ytを観測する観測確率を表す。
【０１８２】
なお、前向き確率αt,zの初期値、すなわち、時刻t=1のときの前向き確率α1,zとしては、状態の組み合わせzを構成する各ファクタ#mの状態#kの初期状態確率π(m)kの積が採用される。
【０１８３】
ステップＳ２３では、推定部４２が、評価部４１からの観測確率P(Yt|St)、及び、モデル記憶部３３に記憶された全体モデルφとしてのFHMMの遷移確率P(m)i,jを用いて、時刻tに、状態の組み合わせzにいて、その後、計測波形Yt,Yt+1,・・・,YTを観測する後ろ向き確率βt,zを求め、処理は、ステップＳ２４に進む。
【０１８４】
ここで、HMMの後ろ向き確率の求め方については、例えば、上述の文献Ｂの336ページに記載されている。
【０１８５】
後ろ向き確率βt,zは、例えば、1時刻後の後ろ向き確率βt+1,wを用いた漸化式βt,z＝ΣP(Yt|z)P(w|z)βt+1,wに従って求めることができる。
【０１８６】
漸化式βt,z＝ΣP(Yt|z)P(w|z)βt+1,wにおいて、Σは、wを、FHMMの状態の組み合わせのすべてに変えてとるサメーションを表す。
【０１８７】
また、漸化式βt,z＝ΣP(Yt|z)P(w|z)βt+1,wにおいて、wは、1時刻後の時刻t+1にいる状態の組み合わせを表す。P(w|z)は、時刻tに、状態の組み合わせzにいて、時刻t+1に状態の組み合わせwに遷移する遷移確率を表し、P(Yt|z)は、時刻tに、状態の組み合わせzにおいて、計測波形Ytを観測する観測確率を表す。
【０１８８】
なお、後ろ向き確率βt,zの初期値、すなわち、時刻t=Tのときの後ろ向き確率βT,zとしては、1が採用される。
【０１８９】
ステップＳ２４では、推定部４２は、前向き確率αt,zと後ろ向き確率βt,zを用いて、式（８）に従い、全体モデルφとしてのFHMMにおいて、時刻tに、状態の組み合わせzにいる事後確率γt,zを求め、処理は、ステップＳ２５に進む。
【０１９０】
【数８】
0006597612.tif 000009
・・・（８）
【０１９１】
ここで、式（８）の右辺の分母のΣは、wを、時刻tに取り得る状態の組み合わせStのすべてに変えてとるサメーションを表す。
【０１９２】
式（８）によれば、事後確率γt,zは、前向き確率αt,zと後ろ向き確率βt,zとの積αt,zβt,zを、その積αt,wβt,wの、FHMMが取り得る状態の組み合わせw∈Stについての総和Σαt,wβt,wで正規化することにより求められる。
【０１９３】
ステップＳ２５では、推定部４２は、事後確率γt,zを用い、ファクタ#mにおいて、時刻tに、状態S(m)tにいる事後確率<S(m)t>と、時刻tに、ファクタ#mにおいて、状態S(m)tにいて、他のファクタ#nにおいて、状態S(n)tにいる事後確率<S(m)tS(n)t'>とを求め、処理は、ステップＳ２６に進む。
【０１９４】
ここで、事後確率<S(m)t>は、式（９）に従って求められる。
【０１９５】
【数９】
0006597612.tif 000010
・・・（９）
【０１９６】
式（９）によれば、ファクタ#mにおいて、時刻tに、状態S(m)tにいる事後確率<S(m)t>は、時刻tに、状態の組み合わせzにいる事後確率γt,zを、ファクタ#mの状態を含まない状態の組み合わせzについて周辺化することにより求められる。
【０１９７】
なお、事後確率<S(m)t>は、例えば、時刻tに、ファクタ#mのK個の状態のうちのk番目の状態いる状態確率（事後確率）を、k行目のコンポーネントとするK行の列ベクトルである。
【０１９８】
事後確率<S(m)tS(n)t'>は、式（１０）に従って求められる。
【０１９９】
【数１０】
0006597612.tif 000011
・・・（１０）
【０２００】
式（１０）によれば、時刻tに、ファクタ#mにおいて、状態S(m)tにいて、他のファクタ#nにおいて、状態S(n)tにいる事後確率<S(m)tS(n)t'>は、時刻tに、状態の組み合わせzにいる事後確率γt,zを、ファクタ#mの状態と、ファクタ#nの状態との両方を含まない状態の組み合わせzについて周辺化することにより求められる。
【０２０１】
なお、事後確率<S(m)tS(n)t'>は、例えば、時刻tに、ファクタ#mの状態#kと、他のファクタ#nの状態#k'とにいる状態確率（事後確率）を、k行k'列目のコンポーネントとするK行K列の行列である。
【０２０２】
ステップＳ２６では、推定部４２は、前向き確率αt,z、後ろ向き確率βt,z、遷移確率P(z|w)、及び、評価部４１からの観測確率P(Yt|St)を用いて、ファクタ#mにおいて、時刻t-1に、状態S(m)t-1にいて、次の時刻tに、状態S(m)tにいる事後確率<S(m)t-1S(m)t'>を求める。
【０２０３】
そして、推定部４２は、事後確率<S(m)t>，<S(m)tS(n)t'>、及び、<S(m)t-1S(m)t'>を、状態推定結果として、モデル学習部３４、ラベル取得部３５、及び、データ出力部３６に供給し、Eステップの処理からリターンする。
【０２０４】
ここで、事後確率<S(m)t-1S(m)t'>は、式（１１）に従って求められる。
【０２０５】
【数１１】
0006597612.tif 000012
・・・（１１）
【０２０６】
式（１１）の事後確率<S(m)t-1S(m)t'>の算出にあたり、状態の組み合わせwから状態の組み合わせzに遷移する遷移確率P(z|w)は、式（３）に従い、状態の組み合わせwを構成するファクタ#1の状態#i(1)から状態の組み合わせzを構成するファクタ#1の状態#j(1)への遷移確率P(1)i(1),j(1)、状態の組み合わせwを構成するファクタ#2の状態#i(2)から状態の組み合わせzを構成するファクタ#2の状態#j(2)への遷移確率P(2)i(2),j(2)、・・・、及び、状態の組み合わせwを構成するファクタ#Mの状態#i(M)から状態の組み合わせzを構成するファクタ#Mの状態#j(M)への遷移確率P(M)i(M),j(M)の積P(1)i(1),j(1)×P(2)i(2),j(2)×・・・×P(M)i(M),j(M)として求められる。
【０２０７】
なお、事後確率<S(m)t-1S(m)t'>は、例えば、ファクタ#mにおいて、時刻t-1に状態#iにいて、次の時刻tに状態jにいる状態確率（事後確率）を、i行j列目のコンポーネントとするK行K列の行列である。
【０２０８】
図１０は、FHMMの前向き確率αt,z、及び、後ろ向き確率βt,zと、（通常の）HMMの前向き確率αt,i、及び、後ろ向き確率βt,jとの関係を説明する図である。
【０２０９】
FHMMについては、そのFHMMと等価なHMMを構成することができる。
【０２１０】
あるFHMMと等価なHMMは、そのFHMMの各ファクタの状態の組み合わせzに相当する状態を有する。
【０２１１】
そして、FHMMの前向き確率αt,z、及び、後ろ向き確率βt,zは、そのFHMMと等価なHMMの前向き確率αt,i、及び、後ろ向き確率βt,jに一致する。
【０２１２】
図１０のＡは、2つの状態#1及び#2を有するファクタ#1と#2からなるFHMMを示している。
【０２１３】
図１０のＡのFHMMでは、ファクタ#1の状態#kとファクタ#2の状態#k'との組み合わせz＝[k,k']として、ファクタ#1の状態#1とファクタ#2の状態#1との組み合わせ[1,1]、ファクタ#1の状態#1とファクタ#2の状態#2との組み合わせ[1,2]、ファクタ#1の状態#2とファクタ#2の状態#1との組み合わせ[2,1]、及び、ファクタ#1の状態#2とファクタ#2の状態#2との組み合わせ[2,2]の4通りがある。
【０２１４】
図１０のＢは、図１０のＡのFHMMと等価なHMMを示している。
【０２１５】
図１０のＢのHMMは、図１０のＡのFHMMの状態の4つの組み合わせ[1,1]，[1,2]，[2,1]、及び、[2,2]それぞれに相当する4つの状態#(1,1)，#(1,2)，#(2,1)、及び、#(2,2)を有する。
【０２１６】
そして、図１０のＡのFHMMの前向き確率αt,z＝{αt,[1,1]，αt,[1,2]，αt,[2,1]，αt,[2,2]}は、図１０のＢのHMMの前向き確率αt,i＝{αt,(1,1)，αt,(1,2)，αt,(2,1)，αt,(2,2)}と一致する。
【０２１７】
同様に、図１０のＡのFHMMの後ろ向き確率βt,z＝{βt,[1,1]，βt,[1,2]，βt,[2,1]，βt,[2,2]}は、図１０のＢのHMMの前向き確率βt,i＝{βt,(1,1)，βt,(1,2)，βt,(2,1)，βt,(2,2)}と一致する。
【０２１８】
例えば、上述の式（８）の右辺の分母、つまり、積αt,wβt,wの、FHMMが取り得る状態の組み合わせw∈Stについての総和Σαt,wβt,wは、図１０のＡのFHMMについては、式Σαt,wβt,w＝αt,[1,1]βt,[1,1]＋αt,[1,2]βt,[1,2]＋αt,[2,1]βt,[2,1]＋αt,[2,2]βt,[2,2]で表される。
【０２１９】
図１１は、図５の機器分離装置１６が、図８のステップＳ１４で行うMステップの処理を説明するフローチャートである。
【０２２０】
ステップＳ３１において、波形分離学習部５１は、データ取得部３１からの計測波形Yt、並びに、推定部４２からの事後確率<S(m)t>、及び、<S(m)tS(n)t'>を用いて、波形分離学習を行うことにより、固有波形W(m)の更新値W(m)newを求め、その更新値W(m)newによって、モデル記憶部３３に記憶された固有波形W(m)を更新して、処理は、ステップＳ３２に進む。
【０２２１】
すなわち、波形分離学習部５１は、波形分離学習として、式（１２）を計算することにより、固有波形W(m)の更新値W(m)newを求める。
【０２２２】
【数１２】
0006597612.tif 000013
・・・（１２）
【０２２３】
ここで、Wnewは、D行K列の行列であるファクタ#mの固有波形W(m)の更新値W(m)newが、ファクタ（のインデクス）#m順に、左から右方向に並んだD行K×M列の行列である。D行K×M列の行列である固有波形（の更新値）Wnewの(m-1)K+k列の列ベクトルは、ファクタ#mの状態#kの固有波形W(m)k（の更新値）になっている。
【０２２４】
<St'>は、K行の列ベクトルである事後確率<S(m)t>が、ファクタ#m順に、上から下方向に並んだK×M行の列ベクトルを転置したK×M列の行ベクトルである。K×M列の行ベクトルである事後確率<St'>の(m-1)K+k列目のコンポーネントは、時刻tに、ファクタ#mの状態#kにいる状態確率になっている。
【０２２５】
<StSt'>は、K行K列の行列である事後確率<S(m)tS(n)t'>が、ファクタ#m順に、上から下方向に並び、かつ、ファクタ#n順に、左から右方向に並んだK×M行K×M列の行列である。K×M行K×M列の行列である事後確率<StSt'>の(m-1)K+k行(n-1)K+k'列目のコンポーネントは、時刻tに、ファクタ#mの状態#kと、他のファクタ#nの状態#k'とにいる状態確率になっている。
【０２２６】
上付のアスタリスク(*)は、逆行列、又は、擬似逆行列を表す。
【０２２７】
式（１２）を計算する波形分離学習によれば、計測波形Ytと式（５）の平均値μt＝ΣW(m)S*(m)tとの誤差が、なるべく小さくなるように、計測波形Ytが、固有波形W(m)に分離される。
【０２２８】
ステップＳ３２では、分散学習部５２が、データ取得部３１からの計測波形Yt、推定部４２からの事後確率<S(m)t>、及び、及び、モデル記憶部３３に記憶された固有波形W(m)を用いて、分散学習を行うことにより、分散Cの更新値Cnewを求め、モデル記憶部３３に記憶された分散Cを更新して、処理は、ステップＳ３３に進む。
【０２２９】
すなわち、分散学習部５２は、分散学習として、式（１３）を計算することにより、分散Cの更新値Cnewを求める。
【０２３０】
【数１３】
0006597612.tif 000014
・・・（１３）
【０２３１】
ステップＳ３３では、状態変動学習部５３が、推定部４２からの事後確率<S(m)t>、及び、<S(m)t-1S(m)t'>を用いて、状態変動学習を行うことにより、遷移確率P(m)i,jの更新値P(m)i,jnew、及び、初期状態確率π(m)の更新値π(m)newを求め、その更新値P(m)i,jnew、及び、π(m)newによって、モデル記憶部３３に記憶された遷移確率P(m)i,j、及び、初期状態確率π(m)を更新して、Mステップの処理からリターンする。
【０２３２】
すなわち、状態変動学習部５３は、状態変動学習として、式（１４）、及び、式（１５）を計算することにより、それぞれ、遷移確率P(m)i,jの更新値P(m)i,jnew、及び、初期状態確率π(m)の更新値π(m)newを求める。
【０２３３】
【数１４】
0006597612.tif 000015
・・・（１４）
【０２３４】
【数１５】
0006597612.tif 000016
・・・（１５）
【０２３５】
ここで、<S(m)t-1,iS(m)t,j>は、K行K列の行列である事後確率<S(m)t-1S(m)t'>のi行j列目のコンポーネントであり、ファクタ#mにおいて、時刻t-1に状態#iにいて、次の時刻tに状態#jにいる状態確率を表す。
【０２３６】
<S(m)t-1,i>は、K行の列ベクトル事後確率<S(m)t-1>のi行目のコンポーネントであり、時刻t-1に、ファクタ#mの状態#iいる状態確率を表す。
【０２３７】
π(m)（π(m)new）は、ファクタ#mの状態#kの初期状態確率π(m)k（の更新値π(m)knew）を、k行目のコンポーネントとするK行の列ベクトルである。
【０２３８】
＜情報提示処理＞
【０２３９】
図１２は、機器分離装置１６（図５）が行う、機器#mの情報を提示する情報提示処理の例を説明するフローチャートである。
【０２４０】
ステップＳ４１において、データ出力部３６は、データ取得部３１からの電圧波形（電流波形Ytに対応する電圧波形）Vt、状態推定部３２からの状態推定結果としての事後確率<S(m)t>、及び、モデル記憶部３３に記憶された固有波形W(m)を用いて、各ファクタ#mの消費電力U(m)を求め、処理は、ステップＳ４２に進む。
【０２４１】
ここで、データ出力部３６は、時刻tの電圧波形Vtと、時刻tのファクタ#mに対応する機器#mの消費電流Atとを用いて、時刻tのファクタ#mに対応する機器#mの消費電力U(m)を求める。
【０２４２】
データ出力部３６において、時刻tのファクタ#mに対応する機器#mの消費電流Atは、以下のようにして求められる。
【０２４３】
すなわち、データ出力部３６は、例えば、ファクタ#mにおいて、事後確率<S(m)t>が最大の状態#kの固有波形W(m)を、時刻tのファクタ#mに対応する機器#mの消費電流Atとして求める。
【０２４４】
また、データ出力部３６は、例えば、K行の列ベクトルである事後確率<S(m)t>のコンポーネントである、時刻tのファクタ#mの各状態の状態確率を重みとして用いた、ファクタ#mの各状態の固有波形W(m)1，W(m)2，・・・，W(m)Kの重み付け加算値を、時刻tのファクタ#mに対応する機器#mの消費電流Atとして求める。
【０２４５】
なお、FHMMの学習が進行し、ファクタ#mが、機器#mを適切に表現する機器モデルとなると、時刻tのファクタ#mの各状態の状態確率は、時刻tの機器#mの稼働状態に対応する状態の状態確率がほぼ1になり、残りのK-1個の状態の状態確率はほぼ0となる。
【０２４６】
その結果、ファクタ#mにおいて、事後確率<S(m)t>が最大の状態#kの固有波形W(m)と、時刻tのファクタ#mの各状態の状態確率を重みとして用いた、ファクタ#mの各状態の固有波形W(m)1，W(m)2，・・・，W(m)Kの重み付け加算値とは、ほぼ同一となる。
【０２４７】
ステップＳ４２では、ラベル取得部３５が、各機器モデル#mが表す機器#m、すなわち、FHMMの各ファクタ#mに対応する機器#mを識別する機器ラベルL(m)を取得し、データ出力部３６に供給して、処理は、ステップＳ４３に進む。
【０２４８】
ここで、ラベル取得部３５では、例えば、データ出力部３６において求められる各ファクタ#mに対応する機器#mの消費電流Atや、消費電力U(m)、その消費電力U(m)から認識される機器#mの使用時間帯を、通信部３０からネットワーク１５を介してユーザ宅に送信して、ユーザ宅のディスプレイ機器に表示させることで、ユーザに提示することができる。
【０２４９】
そして、ラベル取得部３５では、例えば、ユーザに提示した消費電流Atや、消費電力U(m)、使用時間帯にあてはまる機器の名称を、ユーザに入力してもらい、ネットワーク１５、及び、通信部３０を介して受信することで、ユーザにより入力された機器の名称を、機器ラベルL(m)として取得することができる。
【０２５０】
また、ラベル取得部３５では、例えば、様々な機器について、その消費電力や、電流波形（消費電流）、使用時間帯等の属性と、機器の名称とを対応付けて登録したデータベースを事前に用意しておき、そのデータベースにおいて、データ出力部３６で求められる各ファクタ#mに対応する機器#mの消費電流Atや、消費電力U(m)、その消費電力U(m)から認識される機器#mの使用時間帯に対応付けられている機器の名称を、機器ラベルL(m)として取得することができる。
【０２５１】
なお、ラベル取得部３５において、既に、機器ラベルL(m)が取得され、データ出力部３６に供給されている機器#mに対応するファクタ#mについては、ステップＳ４２の処理をスキップすることができる。
【０２５２】
ステップＳ４３では、データ出力部３６が、各ファクタ#mに対応する機器の消費電力U(m)を、そのファクタ#mの機器ラベルL(m)とともに、通信部３０からネットワーク１５を介してユーザ宅に送信して、ユーザ宅のディスプレイ機器に表示させること等により、ユーザに提示して、情報提示処理は終了する。
【０２５３】
図１３は、図１２の情報提示処理において、ユーザ宅のディスプレイ機器で表示される消費電力U(m)の表示例を示す図である。
【０２５４】
ディスプレイ機器では、例えば、図１３に示すように、各ファクタ#mに対応する機器#mの消費電力U(m)の時系列を、その機器#mの名称等の機器ラベルL(m)とともに表示することができる。
【０２５５】
機器分離装置１６では、各ファクタが３以上の状態を有するFHMMによって、各機器の稼働状態をモデル化するFHMMの学習を、機器分離として行うことで、モードや設定等によって消費電力（電流）が変動するエアコンディショナ等の変動負荷機器について、正確な消費電力等を求めることができる。
【０２５６】
また、機器分離装置１６では、分電盤１２等の1箇所で、ユーザ宅内の各機器で消費されている電流の総和を計測するだけで、ユーザ宅内の各機器の消費電力を求めることができるので、コスト、及び、労力のいずれの面からも、容易に、ユーザ宅内の各機器の消費電力の「見える化」を実現することができる。
【０２５７】
以上のような、ユーザ宅内の各機器の消費電力の「見える化」によれば、例えば、ユーザ宅での節電の意識を高めることができる。
【０２５８】
また、機器分離装置１６では、多くのユーザ宅内の各機器の消費電力を収集し、各ユーザ宅の機器の消費電力から、機器の使用時間帯、ひいては、生活パターンを推定し、マーケティング等に役立てることができる。
【０２５９】
ところで、機器分離装置１６において、電流センサ１３で計測された電流波形Ytを用いて、ユーザ宅の各機器の消費電流等を求める機器分離を行うには、機器の稼働状態が変化し、機器の消費電流が変化することが必要である。
【０２６０】
機器の稼働状態は、例えば、ユーザの操作によって変化するが、機器の稼働状態の変化を、ユーザの操作だけに頼るのでは、機器分離を行うのに時間を要する。
【０２６１】
また、機器分離装置１６のラベル取得部３５において、ユーザにより入力された機器の名称を、機器ラベルL(m)として取得するのでは、ユーザに、機器ラベルL(m)となる機器の名称を入力してもらう必要があり、ユーザに煩わしさを感じさせることがあり得る。
【０２６２】
そこで、図１の機器分離システムでは、エージェント１４と機器分離装置１６とが協調して動作することで、機器の稼働状態を、迅速に変化させ、機器分離が、迅速に行われるようになっている。
【０２６３】
さらに、図１の機器分離システムでは、エージェント１４と機器分離装置１６とが協調して動作することで、ユーザに、機器ラベルL(m)（となる機器の名称）を入力してもらうことなく、ファクタ#mに、そのファクタ#mに対応する機器の機器ラベルL(m)を取得して対応付けるようになっている。
【０２６４】
以下、以上のように協調して動作するエージェント１４、及び、機器分離装置１６について説明する。
【０２６５】
＜エージェント１４の構成例＞
【０２６６】
図１４は、図１のエージェント１４の外観構成例を示す斜視図である。
【０２６７】
図１４の実施の形態において、エージェント１４は、犬を模したペット型ロボットであり、大きく分けて、胴体部ユニット１、脚部ユニット１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄ、頭部ユニット１０３、及び、尻尾部ユニット１０４から構成されている。
【０２６８】
胴体に相当する胴体部ユニット１０１の前後左右には、それぞれ、脚に相当する脚部ユニット１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄが連結され、胴体部ユニット１０１の前端部と後端部には、それぞれ、頭部に相当する頭部ユニット１０３と尻尾に相当する尻尾部ユニット１０４が連結されている。
【０２６９】
胴体部ユニット１０１の上面には背中センサ１０１Ａが設けられている。また、頭部ユニット１０３には、その上部に頭センサ１０３Ａが、下部に顎センサ１０３Ｂがそれぞれ設けられている。なお、背中センサ１０１Ａ、頭センサ１０３Ａ、顎センサ１０３Ｂは、いずれも圧力センサで構成され、その部位に与えられる圧力を検知する。
【０２７０】
尻尾部ユニット１０４は、胴体部ユニット１０１に対して、水平方向、及び、上下方向に揺動自在に取り付けられている。
【０２７１】
図１５は、図１４のエージェント１４の内部構成例を示すブロック図である。
【０２７２】
図１５に示すように、胴体部ユニット１０１には、制御部１１１、A/D(Analog/Digital)変換部１１２、D/A変換部１１３、通信部１１４、半導体メモリ１１５、背中センサ１０１Ａ等が格納されている。
【０２７３】
制御部１１１は、エージェント１４全体の制御、及び、各種の処理を行う。
【０２７４】
A/D変換部１１２は、マイク１２１、ＣＣＤカメラ１２２Ｌ及び、１２２Ｒ、背中センサ１０１Ａ、頭センサ１０３Ａ、顎センサ１０３Ｂが出力するアナログ信号をA/D変換することによりディジタル信号とし、制御部１１１に供給する。D/A変換部１１３は、制御部１１１から供給されるディジタル信号をD/A変換することによりアナログ信号とし、スピーカ１２３に供給する。
【０２７５】
通信部１１４は、外部と無線や有線で通信する。すなわち、通信部１１４は、外部から送信されているデータを受信して、制御部１１１に供給する。また、通信部１１４は、制御部１１１から供給されるデータを、外部に送信する。
【０２７６】
半導体メモリ１１５は、例えば、RAM(Random Access Memory)等の揮発性メモリや、EEPROM(Electrically Erasable Programmable Read-only Memory)等の不揮発性メモリで構成される。半導体メモリ１１５は、制御部１１１の制御に従い、例えば、後述する機器テーブル、その他の必要なデータ等を記憶する。
【０２７７】
なお、半導体メモリ１１５は、胴体部ユニット１０１に設けられた図示せぬスロットに対して、着脱可能なように構成することができる。
【０２７８】
背中センサ１０１Ａは、胴体部ユニット１０１において、エージェント１４の背中に対応する部位に設けられており、そこに与えられるユーザからの圧力を検出し、その圧力に対応する圧力検出信号を、A/D変換部１１２を介して制御部１１１に出力する。
【０２７９】
なお、胴体部ユニット１０１には、その他、例えば、エージェント１４の動力源となるバッテリ（図示せず）や、そのバッテリ残量を検出する回路等も格納されている。
【０２８０】
頭部ユニット１０３においては、図１５に示すように、外部からの刺激を感知するセンサとしての、音を感知する「耳」に相当するマイク１２１、光を感知する「左目」及び、「右目」に相当するイメージセンサ１２２Ｌ及び１２２Ｒ、並びに、ユーザが触れること等により与えられる圧力を感知する触覚に相当する頭センサ１０３Ａ及び顎センサ１０３Ｂが、例えば、それぞれ対応する部位に設けられている。また、頭部ユニット１０３には、エージェント１４の「口」に相当するスピーカ１２３が、例えば、対応する部位に設置されている。
【０２８１】
脚部ユニット１０２Ａないし１０２Ｄのそれぞれの関節部分、脚部ユニット１０２Ａないし１０２Ｄのそれぞれと胴体部ユニット１０１の連結部分、頭部ユニット１０３と胴体部ユニット１０１の連結部分、並びに、尻尾部ユニット１０４と胴体部ユニット１０１の連結部分等には、アクチュエータが設置されている。アクチュエータは、制御部１１１からの指示に基づいて各部を動作させる。即ち、アクチュエータによって、例えば、脚部ユニット１０２Ａないし１０２Ｄが動き、これにより、ロボットが歩行する。
【０２８２】
頭部ユニット１０３に設置されているマイク１２１は、ユーザからの発話を含む周囲の音声（音）を集音し、得られた音声信号を、A/D変換部１１２を介して制御部１１１に出力する。イメージセンサ１２２Ｌ及び１２２Ｒは、周囲の状況を撮像し、得られた画像信号を、A/D変換部１１２を介して制御部１１１に出力する。頭部ユニット１０３の上部に設けられた頭センサ１０３Ａや、頭部ユニット１０３の下部に設けられた顎センサ１０３Ｂは、例えば、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号として、A/D変換部１１２を介して、制御部１１１に出力する。
【０２８３】
ここで、図１５において、制御部１１１は、行動決定部１３１、認識部１３２、位置検出部１３３、操作制御部１３４、報知制御部１３５、及び、テーブル生成部１３６を有する。
【０２８４】
行動決定部１３１は、例えば、マイク１２１や、イメージセンサ１２２Ｌ及び１２２Ｒ、背中センサ１０１Ａ、頭センサ１０３Ａ、顎センサ１０３Ｂから、A/D変換部１１２を介して与えられる音声信号や、画像信号、圧力検出信号等に基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけ等の有無を判断し、その判断結果に基づいて、エージェント１４が次にとる行動を決定する。そして、行動決定部１３１は、行動の決定結果に基づいて、必要なアクチュエータを駆動させ、これにより、頭部ユニット１０３を上下左右に振らせたり、尻尾部ユニット１０４を動かせたりする。また、行動決定部１３１は、各脚部ユニット１０２Ａないし１０２Ｄを駆動して、エージェント１４を歩行させたり、ユーザ宅の機器を操作させる等の行動をとらせる。
【０２８５】
また、行動決定部１３１は、行動の決定結果に基づいて、合成音を生成し、それを、D/A変換部１１３を介して、スピーカ１２３に供給して出力させたり、エージェント１４の「目」の位置に設けられた、図示しないLED(Light Emitting Diode)を点灯、消灯又は点滅させたりする。
【０２８６】
以上のように、行動決定部１３１は、周囲の状況や、接してくるユーザ等に基づいて、エージェント１４に、自律的に行動をとらせる。
【０２８７】
認識部１３２は、例えば、イメージセンサ１２２Ｌ及び１２２Ｒから、A/D変換部１１２を介して制御部１１１に供給される画像信号に基づき、エージェント１４が操作の対象とする機器（以下、操作対象機器ともいう）を認識し、その操作対象機器を表す機器ラベルを取得する。
【０２８８】
すなわち、認識部１３２は、例えば、イメージセンサ１２２Ｌ及び１２２Ｒから供給される操作対象機器の画像信号に基づき、その操作対象機器を認識し、その機種名や型番等の、操作対象機器を識別する情報を、操作対象機器の機器ラベルとして取得する。
【０２８９】
操作対象機器の機器ラベルとしての機種名や型番等は、例えば、インターネット上のサーバから検索し、通信部１１４を介してダウンロードすること等により取得することができる。
【０２９０】
その他、操作対象機器の機器ラベルとしての機種名や型番等は、通信部１１４を介して、操作対象機器と通信することにより取得することができる。
【０２９１】
また、認識部１３２は、例えば、イメージセンサ１２２Ｌ及び１２２Ｒから供給される操作対象機器の画像信号に基づき、その操作対象機器の稼働状態を認識し、その稼働状態を表す稼働状態ラベルを取得する。
【０２９２】
すなわち、認識部１３２は、例えば、操作対象機器の稼働状態として、操作対象機器の電源がオフ又はオンになっていることを認識した場合には、それぞれ、電源がオフ又はオンになっている旨を表す文字列「電源オフ」又は「電源オン」を、稼働状態ラベルとして生成することにより取得する。
【０２９３】
また、認識部１３２は、例えば、操作対象機器の稼働状態として、操作対象機器の動作モードが省電力モードになっていることを認識した場合には、省電力モードを表す文字列「省電力モード」を、稼働状態ラベルとして生成することにより取得する。
【０２９４】
なお、認識部１３２において、操作対象機器や、操作対象機器の稼働状態は、操作対象機器の画像信号に基づいて認識する他、例えば、通信部１１４を介して、操作対象機器と通信することにより認識することができる。
【０２９５】
また、認識１３２において、操作対象機器や、操作対象機器の稼働状態は、例えば、操作対象機器や、操作対象機器の稼働状態を、ユーザに聞くことで認識することができる。
【０２９６】
すなわち、例えば、エージェント１４において、合成音等によって、操作対象機器や、操作対象機器の稼働状態を、ユーザに質問し、その質問に対するユーザの音声による回答を音声認識することにより、操作対象機器や、操作対象機器の稼働状態を認識することができる。
【０２９７】
この場合、例えば、ユーザの音声による回答の音声認識結果を、機器ラベルや稼働状態ラベルとして採用することができる。
【０２９８】
位置検出部１３３は、例えば、GPS(Global Positioning System)等を利用して、操作対象機器の位置を検出し、その位置を表す位置情報を出力する。
【０２９９】
例えば、ある絶対的な3次元座標系を定義し、その3次元座標系の座標を、操作対象機器の位置情報として採用することができる。また、例えば、エージェント１４において、ユーザ宅の見取り図を作成すること等により取得し、その見取り図上の所定の位置を基準とする座標系の座標や、見取り図上の場所（例えば、リビングルームや、寝室等）を、操作対象機器の位置情報として採用することができる。
【０３００】
操作制御部１３４は、エージェント１４による操作対象機器の操作を制御する。
【０３０１】
すなわち、操作制御部１３４は、操作対象機器に対して、どのような操作を行うかを決定し、その操作を行うように、行動決定部１３１に要求する。行動決定部１３１は、操作制御部１３４の要求に従った操作が行われるように、エージェント１４の行動を決定し、必要なアクチュエータを駆動させる。
【０３０２】
ユーザ宅の機器の稼働状態の検知を、ネットワーク１５を介して機器分離装置１６に要求する。そして、報知制御部１３５は、稼働状態の検知の要求に対して、機器分離装置１６から送信されてくる、ユーザ宅の機器の稼働状態を表す稼働状態ラベルを取得し、その稼働状態ラベルに応じて、機器の稼働状態の報知を制御する。
【０３０３】
すなわち、機器分離装置１６は、後述するように、必要に応じて、ユーザ宅の機器の稼働状態を表す稼働状態ラベルを、ネットワーク１５を介して、エージェント１４に送信する。
【０３０４】
報知制御部１３５は、機器分離装置１６から、ユーザ宅の機器の稼働状態を表す稼働状態ラベルが送信されてきた場合に、その機器分離装置１６からの稼働状態ラベルを、通信部１１４を介して取得し、その稼働状態ラベルに応じて、機器の稼働状態を報知するように、行動決定部１３１に要求する。行動決定部１３１は、操作制御部１３４の要求に従い、例えば、機器の稼働状態を音声で出力することを決定し、機器の稼働状態を報知する合成音を生成して、D/A変換部１１３を介して、スピーカ１２３から出力させる。
【０３０５】
テーブル生成部１３６は、認識部１３２で得られる機器（操作対象機器）の機器ラベルと、位置検出部１３３で得られる機器の位置情報とを対応付け、半導体メモリ１１５に記憶された機器テーブルに登録する。
【０３０６】
ここで、機器テーブルに登録される機器（操作対象機器）の機器ラベル及び位置情報は、通信部１１４から、ネットワーク１５を介して、機器分離装置１６に送信される。
【０３０７】
また、操作制御部１３４の制御によって、エージェント１４が、操作対象機器の操作を行い、認識部１３２が、その操作後の操作対象機器の稼働状態を認識して、その稼働状態の稼働状態ラベルを取得した場合には、その稼働状態ラベルは、通信部１１４から、ネットワーク１５を介して、機器分離装置１６に送信される。
【０３０８】
なお、操作制御部１３４では、例えば、インターネット上のサーバから、操作対象機器が、その稼働状態として、どのような稼働状態をとり得るのかを検索し、操作対象機器がとり得る稼働状態の中から、操作対象機器にとらせる稼働状態を、指示稼働状態として選択することができる。この場合、操作制御部１３４では、指示稼働状態になるように、操作対象機器の操作を制御することができる。さらに、この場合、認識部１３２では、指示稼働状態を、操作対象機器の稼働状態として認識することができる。
【０３０９】
図１６は、図１５の半導体メモリ１１５に記憶される機器テーブルの例を示す図である。
【０３１０】
機器テーブルには、認識部１３２で得られる機器の機器ラベルと、位置検出部１３３で得られる機器の位置情報とが対応付けられて登録される。
【０３１１】
エージェント１４は、例えば、ユーザ宅内を自律的に移動し、その移動中に、認識部１３２は、イメージセンサ１２２Ｌ及び１２２Ｒから、A/D変換部１１２を介して制御部１１１に供給される画像信号に基づき、機器を認識して、その機器を、操作対象機器の候補である候補機器に選択する。
【０３１２】
さらに、認識部１３２は、候補機器の機器ラベルを取得し、位置情報検出部１３３に、候補機器の位置情報を検出させる。そして、認識部１３２は、候補機器の機器ラベルと位置情報とのセットが、機器テーブルに登録されているかどうかを判定する。
【０３１３】
候補機器の機器ラベルと位置情報とのセットが、機器テーブルに登録されている場合、認識部１３２は、候補機器が、既に、操作対象機器に選択されたことがあると認識する。そして、認識部１３２は、別の機器を、候補機器に選択し直し、以下、同様の処理を繰り返す。
【０３１４】
一方、候補機器の機器ラベルと位置情報とのセットが、機器テーブルに登録されていない場合、認識部１３２は、候補機器を、操作対象機器に選択し、テーブル生成部１３６を制御することで、（候補機器であった）操作対象機器の機器ラベルと位置情報とを対応付けて、半導体メモリ１１５に記憶された機器テーブルに登録させる。
【０３１５】
＜ラベル取得部３５の構成例＞
【０３１６】
図１７は、エージェント１４と機器分離装置１６とが協調して動作する場合の図５のラベル取得部３５の構成例を示すブロック図である。
【０３１７】
ラベル取得部３５は、取得部２０１及び２０２、ラベル付け部２０３、対応関係記憶部２０４、及び、制御部２０５を有する。
【０３１８】
（機器情報）取得部２０１は、エージェント１４から、ネットワーク１５を介して送信され、通信部３０（図５）で受信される操作対象機器の機器情報を取得し、ラベル付け部２０３に供給する。
【０３１９】
ここで、操作対象機器の機器情報とは、操作対象機器に関する情報であり、本実施の形態では、機器情報として、操作対象機器の機器ラベルや、位置情報、稼働状態ラベルがある。
【０３２０】
（可能性情報）取得部２０２は、ユーザ宅の電流波形Ytを用いた機器分離により得られる状態確率（事後確率）<S(m)t>を、状態推定部３２（の推定部４２）から取得し、ラベル付け部２０３に供給する。
【０３２１】
ここで、機器分離装置１６での機器分離では、上述したことから、ユーザ宅のすべての機器で消費されている電流の総和に関する総和データとしての電流波形Ytを用いて、各機器の各稼働状態の消費電流を表すパターン情報としての各ファクタ#mの各状態#kの固有波形W(m)kを更新する（求める）ことにより、各機器の消費電流が分離される（固有波形W(m)kが、ファクタ#mの状態#kに対応する機器#mの稼働状態での消費電流として、電流波形Ytから分離される）、ということができる。
【０３２２】
そして、パターン情報としての固有波形W(m)kの更新では、固有波形W(m)kについて、その固有波形W(m)kが表す消費電流がファクタ#mに対応する機器#mで消費されている可能性を表す可能性情報としての状態確率<S(m)t>が、電流波形Ytを用いて求められ、その可能性情報としての状態確率<S(m)t>に基づいて、パターン情報としての固有波形W(m)kが更新される、ということができる。
【０３２３】
取得部２０２は、以上のような機器分離において、固有波形W(m)k（を有する状態#k）について、状態推定部３２で得られる可能性情報としての状態確率<S(m)t>を、状態推定部３２から取得する。
【０３２４】
ラベル付け部２０３は、取得部２０２からの可能性情報としての状態確率<S(m)t>に基づいて、操作対象機器の現在の稼働状態において消費されている消費電流を表すパターン情報としての固有波形W(m)kを特定し、その固有波形W(m)k（を有する状態#k）に、取得部２０１からの機器情報としての操作対象機器の機器ラベルと稼働状態ラベルを対応付けるラベル付けを行う。
【０３２５】
そして、ラベル付け部２０３は、ラベル付けの結果得られる対応付け情報を、対応関係記憶部２０４に記憶された対応関係テーブルに登録する。
【０３２６】
対応関係記憶部２０４は、対応関係テーブルを記憶する。
【０３２７】
制御部２０５は、例えば、ラベル付け部２０３を監視し、その監視結果に基づいて、通信部３０（図５）、及び、ネットワーク１５を介して、エージェント１４（の通信部１１４）との間で、必要なメッセージのやりとりを行う。
【０３２８】
図１８は、図１７の対応関係記憶部２０４に記憶される対応関係テーブルの例を示す図である。
【０３２９】
対応関係テーブルには、対応付け情報が登録される。
【０３３０】
対応付け情報では、ユーザ宅の機器について、機器ラベル、位置情報、機器に対応するファクタ#m（を特定する情報としてのファクタ番号#m）、及び、状態マップが対応付けられている。
【０３３１】
状態マップでは、機器#mに対応するファクタ#mの状態#k（を特定する情報としての状態番号#k）と、その機器#mの稼働状態の稼働状態ラベルとが対応付けられている。
【０３３２】
ここで、対応付け情報の機器ラベルとファクタ#mによれば、機器ラベルが表す機器に対応するファクタ#mを認識するとともに、ファクタ#mに対応する機器の機器ラベルを認識することができる。
【０３３３】
また、対応付け情報の機器ラベルと状態マップによれば、機器ラベルが表す機器の稼働状態に対応するファクタ#mの状態#kを認識するとともに、ファクタ#mの状態#kに対応する機器（ファクタ#mに対応する機器）の稼働状態の稼働ラベルを認識することができる。
【０３３４】
すなわち、状態マップでは、機器#mに対応するファクタ#mの状態#kと、その機器#mの稼働状態の稼働状態ラベルとが対応付けられているので、ファクタ#mの状態#kと、そのファクタ#mに対応する機器の稼働状態（の稼働状態ラベル）との対応を認識することができる。
【０３３５】
ここで、ファクタ#mの状態#kは、パターン情報としての固有波形W(m)kを有するので、状態マップでは、パターン情報としての固有波形W(m)kに、その固有波形W(m)kが表す電流が消費される機器#mの稼働状態の稼働状態ラベルがラベル付けされている、ということができる。
【０３３６】
また、対応付け情報では、以上のような稼働状態ラベルがパターン情報としての固有波形W(m)k（を有する状態#k）にラベル付けされている状態マップと、機器ラベルとが対応付けられているので、パターン情報としての固有波形W(m)kには、その固有波形W(m)kが表す電流が消費される機器#mの機器ラベルがラベル付けされている、ということもできる。
【０３３７】
したがって、対応付け情報では、パターン情報としての固有波形W(m)kに、その固有波形W(m)kが表す電流が消費される機器の機器ラベルと、その機器の稼働状態の稼働状態ラベルとがラベル付けされている、ということができる。
【０３３８】
対応付け情報によれば、ファクタ#mに対応する機器の機器ラベルを認識することができる。さらに、対応付け情報によれば、ファクタ#mの状態#kに対応する（機器#mの）稼働状態の稼働状態ラベルを認識することができる。
【０３３９】
＜ラベル付け処理＞
【０３４０】
図１９は、対応付け情報を対応関係テーブルに登録するためのラベル付け処理として、図１５のエージェント１４が行う処理の例を示すフローチャートである。
【０３４１】
ステップＳ１０１において、認識部１３２は、例えば、イメージセンサ１２２Ｌ及び１２２Ｒから、A/D変換部１１２を介して制御部１１１に供給される画像信号に基づき、いわばエージェント１４の視覚に映る機器を検出（認識）し、その機器の任意の１つを、候補機器に選択して、処理は、ステップＳ１０２に進む。
【０３４２】
ステップＳ１０２では、認識部１３２は、候補機器の機器ラベルを生成（取得）し、位置情報検出部１３３は、候補機器の位置情報を検出して、処理は、ステップＳ１０３に進む。
【０３４３】
ステップＳ１０３では、認識部１３２は、候補機器の機器ラベルと位置情報とのセットに基づき、候補機器が、機器テーブル（図１６）に未登録であるかどうかを判定する。
【０３４４】
ステップＳ１０２において、候補機器が未登録でないと判定された場合、すなわち、候補機器の機器ラベルと位置情報とのセットが、機器テーブルに、既に登録されている場合、処理は、ステップＳ１０１に戻り、以下、同様の処理が繰り返される。
【０３４５】
また、ステップＳ１０２において、候補機器が未登録であると判定された場合、すなわち、候補機器の機器ラベルと位置情報とのセットが、機器テーブルに登録されていない場合、処理は、ステップＳ１０４に進み、認識部１３２は、候補機器を、操作対象機器に選択し、テーブル生成部１３６を制御することで、その操作対象機器の機器ラベルと位置情報とを対応付けて、半導体メモリ１１５に記憶された機器テーブルに登録させる。
【０３４６】
さらに、ステップＳ１０４では、認識部１３２は、通信部１１４を制御することにより、操作対象機器の機器ラベル及び位置情報を、機器分離装置１６に送信させ、処理は、ステップＳ１０５に進む。
【０３４７】
ここで、エージェント１４の通信部１１４から送信される操作対象機器の機器ラベル及び位置情報は、ネットワーク１５を介して、機器分離装置１６の通信部３０（図５）で受信され、ラベル取得部３５（図１７）に供給される。
【０３４８】
ステップＳ１０５では、操作制御部１３４は、機器分離装置１６から、RESULT:READYメッセージが送信されてくるのを待って、エージェント１４に、操作対象機器が所定の稼働状態（例えば、電源がオンの稼働状態）になるように、操作対象機器を操作させ、処理は、ステップＳ１０６に進む。
【０３４９】
ここで、RESULT:READYメッセージは、機器分離装置１６のラベル取得部３５（図１７）において、対応付け情報を対応関係テーブル（図１８）に登録する準備ができた旨を表すメッセージであり、ラベル取得部３５の制御部２０５から、通信部３０（図５）及びネットワーク１５を介して、エージェント１４に送信される。以上のようにして、機器分離装置１６からエージェント１４に送信されるRESULT:READYメッセージは、通信部１１４で受信され、操作制御部１３４に供給される。
【０３５０】
ステップＳ１０６では、認識部１３２は、操作対象機器の稼働状態を認識し、その稼働状態を表す稼働状態ラベルを生成（取得）して、処理は、ステップＳ１０７に進む。
【０３５１】
ステップＳ１０７では、認識部１３２は、通信部１１４を制御することにより、操作対象機器の稼働状態の稼働状態ラベルを、機器分離装置１６に送信させ、処理は、ステップＳ１０８に進む。
【０３５２】
ここで、エージェント１４の通信部１１４から送信される操作対象機器の稼働状態ラベルは、ネットワーク１５を介して、機器分離装置１６の通信部３０（図５）で受信され、ラベル取得部３５（図１７）に供給される。
【０３５３】
ステップＳ１０８では、操作制御部１３４は、機器分離装置１６から、RESULT:FINISHEDメッセージを受信したかどうかを判定する。
【０３５４】
ここで、RESULT:FINISHEDメッセージは、機器分離装置１６のラベル取得部３５（図１７）において、操作対象機器の対応付け情報を対応関係テーブル（図１８）に登録した旨を表すメッセージであり、ラベル取得部３５の制御部２０５から、通信部３０（図５）及びネットワーク１５を介して、エージェント１４に送信される。
【０３５５】
ステップＳ１０８では、機器分離装置１６から、以上のようなRESULT:FINISHEDメッセージが送信され、通信部１１４（図１５）で受信されたかどうかが判定される。
【０３５６】
ステップＳ１０８において、RESULT:FINISHEDメッセージを受信していないと判定された場合、すなわち、機器分離装置１６のラベル取得部３５において、操作対象機器の対応付け情報が対応関係テーブルに登録されていない場合、処理は、ステップＳ１０９に進み、操作制御部１３４は、機器分離装置１６から、RESULT:MOREメッセージを受信したかどうかを判定する。
【０３５７】
ここで、RESULT:MOREメッセージは、操作対象機器の稼働状態を他の稼働状態に変更することを要求するメッセージであり、ラベル取得部３５（図１７）の制御部２０５から、通信部３０（図５）及びネットワーク１５を介して、エージェント１４に送信される。
【０３５８】
ステップＳ１０９では、機器分離装置１６から、以上のようなRESULT:MOREメッセージが送信され、通信部１１４で（図１５）で受信されたかどうかが判定される。
【０３５９】
ステップＳ１０９において、RESULT:MOREメッセージを受信していないと判定された場合、処理は、ステップＳ１０８に戻り、以下、同様の処理が繰り返される。
【０３６０】
一方、ステップＳ１０９において、RESULT:MOREメッセージを受信したと判定された場合、処理は、ステップＳ１１０に進み、操作制御部１３４は、エージェント１４に、操作対象機器が現在の稼働状態と異なる稼働状態になるように（例えば、電源がオンの稼働状態からオフの稼働状態になるように）、操作対象機器を操作させ、処理は、ステップＳ１１１に進む。
【０３６１】
ステップＳ１１１では、認識部１３２は、ステップＳ１１０でエージェントによる操作がされた後の操作対象機器の稼働状態を認識し、その稼働状態を表す稼働状態ラベルを生成（取得）して、処理は、ステップＳ１１２に進む。
【０３６２】
ステップＳ１１２では、認識部１３２は、通信部１１４を制御することにより、ステップＳ１１０でエージェントによる操作がされた後の操作対象機器の稼働状態の稼働状態ラベルを、機器分離装置１６に送信させ、処理は、ステップＳ１０８に戻り、以下、同様の処理が繰り返される。
【０３６３】
そして、ステップＳ１０８において、RESULT:FINISHEDメッセージを受信したと判定された場合、すなわち、機器分離装置１６のラベル取得部３５において、操作対象機器の対応付け情報が対応関係テーブル（図１８）に登録された場合、処理は、ステップＳ１０１に戻り、以下、同様の処理が繰り返される。
【０３６４】
図２０は、対応付け情報を対応関係テーブルに登録するためのラベル付け処理として、機器分離装置１６のラベル取得部３５（図１７）が行う処理の例を示すフローチャートである。
【０３６５】
ステップＳ１２１において、取得部２０１は、エージェント１４から、操作対象機器の機器ラベル及び位置情報が送信されてくるのを待って、その機器ラベル及び位置情報を取得する。
【０３６６】
すなわち、エージェント１４では、図１９のステップＳ１０４で、操作対象機器の機器ラベル及び位置情報が送信される。エージェント１４からの操作対象機器の機器ラベル及び位置情報は、機器分離装置１６（図５）の通信部３０で受信されるので、取得部２０１は、通信部３０で受信された操作対象機器の機器ラベル及び位置情報を取得し、ラベル付け部２０３に供給する。
【０３６７】
制御部２０５は、取得部２０１からラベル付け部２０３に、操作対象機器の機器ラベル及び位置情報が供給されると、対応付け情報を対応関係テーブル（図１８）に登録する準備ができた旨のRESULT:READYメッセージを生成し、通信部３０（図５）からエージェント１４に送信させ、処理は、ステップＳ１２１からステップＳ１２２に進む。
【０３６８】
ステップＳ１２２では、取得部２０１は、エージェント１４から、操作対象機器の稼働状態の稼働状態ラベルが送信されてくるのを待って、その稼働状態ラベルを取得する。
【０３６９】
すなわち、エージェント１４では、図１９のステップＳ１０７やＳ１２２で、操作対象機器の稼働状態の稼働状態ラベルが送信される。エージェント１４からの操作対象機器の稼働状態の稼働状態ラベルは、機器分離装置１６（図５）の通信部３０で受信されるので、取得部２０１は、通信部３０で受信された操作対象機器の稼働状態の稼働状態ラベルを取得し、ラベル付け部２０３に供給する。
【０３７０】
その後、処理は、ステップＳ１２２からステップＳ１２３に進み、取得部２０２は、操作対象機器が現在の稼働状態になっているときのユーザ宅の電流波形Ytを用いた機器分離により得られる、各ファクタ#mの各状態#kのパターン情報としての固有波形W(m)kについての可能性情報としての状態確率（事後確率）<S(m)t>を、状態推定部３２（図５）から取得し、ラベル付け部２０３に供給して、処理は、ステップＳ１２４に進む。
【０３７１】
ステップＳ１２４では、ラベル付け部２０３は、取得部２０２からの状態確率<S(m)t>に基づいて、各ファクタ#mの各状態#kのパターン情報としての固有波形W(m)kの中から、操作対象機器の現在の稼働状態で消費されている消費電流を表す対象固有波形W(m)kを特定し、処理は、ステップＳ１２５に進む。
【０３７２】
ここで、ステップＳ１２４では、例えば、すべてのファクタ#1ないし#Mのすべての状態#1ないし#kそれぞれが有する固有波形W(1)1，W(1)2，・・・，W(1)K，W(2)1，W(2)2，・・・，W(1)K，・・・W(M)1，W(M)2，・・・，W(M)Kの中で、操作対象機器の稼働状態が変更された後に、その稼働状態の変更前と比較して、状態確率<S(m)t>が最も向上した（ファクタ#mの状態#kが有する）固有波形を、対象固有波形W(m)kに特定することができる。
【０３７３】
なお、操作対象機器の稼働状態の変更が、まだ行われたことがない場合には、例えば、状態確率<S(m)t>が最も低い固有波形等を、対象固有波形W(m)kに特定することができる。
【０３７４】
ステップＳ１２５では、ラベル付け部２０３は、対象固有波形W(m)kの状態確率<S(m)t>、すなわち、対象固有波形W(m)kを有するファクタ#mの状態#kの状態確率<S(m)t>に基づいて、対象固有波形W(m)kが、操作対象機器の現在の稼働状態の消費電流を表している確からしさを判定する。
【０３７５】
例えば、ステップＳ１２５では、対象固有波形W(m)kの状態確率<S(m)t>が、1.0に近い1.0未満の閾値以上の確率である場合、対象固有波形W(m)kが確からしいと判定され、対象固有波形W(m)kの状態確率<S(m)t>が、閾値以上の確率ではない場合、対象固有波形W(m)kが確からしくないと判定される。
【０３７６】
ステップＳ１２５において、対象固有波形W(m)kが確からしくないと判定された場合、処理は、ステップＳ１２６に進み、制御部２０５は、操作対象機器の消費電流を変更させるために、操作対象機器の稼働状態を他の稼働状態に変更することを要求するRESULT:MOREメッセージを生成し、通信部３０（図５）からエージェント１４に送信させる。そして、処理は、ステップＳ１２６からステップＳ１２２に戻り、以下、同様の処理が繰り返される。
【０３７７】
一方、ステップＳ１２５において、対象固有波形W(m)kが確からしいと判定された場合、処理は、ステップＳ１２７に進み、ラベル付け部２０３は、対象固有波形W(m)kに、取得部２０１からの操作対象機器の機器ラベル及び位置情報、並びに、稼働状態ラベルを対応付けた対応付け情報（図１８）を生成する。
【０３７８】
すなわち、ラベル付け部２０３は、状態#kが対象固有波形W(m)kを有するファクタ#mを、操作対象機器に対応する対応ファクタ#mとして、その対応ファクタ#m（のファクタ番号#m）と、操作対象機器の機器ラベル及び位置情報とを対応付け、操作対象機器の対応付け情報に含める。
【０３７９】
さらに、ラベル付け部２０３は、対象固有波形W(m)kを有する対応ファクタ#mの状態#kを、操作対象機器の現在の稼働状態に対応する対応状態#kとして、操作対象機器の対応付け情報の状態マップ（図１８）に、対応状態#k（の状態番号#k）と、操作対象機器の現在の稼働状態の稼働状態ラベルとを対応付けて登録する。
【０３８０】
そして、ラベル付け部２０３は、操作対象機器の対応付け情報を、対応関係記憶部２０４の対応関係テーブルに登録し、処理は、ステップＳ１２８に進む。
【０３８１】
ステップＳ１２８では、制御部２０５は、操作対象機器の対応付け情報を対応関係テーブルに登録した旨を表すRESULT:FINISHEDメッセージを生成し、通信部３０（図５）からエージェント１４に送信させる。そして、処理は、ステップＳ１２８からステップＳ１２１に戻り、以下、同様の処理が繰り返される。
【０３８２】
以上のように、ユーザ宅のエージェント１４では、操作対象機器が操作され、操作対象機器の稼働状態が認識される。そして、操作対象機器を表す機器ラベル、及び、操作対象機器の稼働状態を表す稼働状態ラベルが、エージェント１４から機器分離装置１６に送信される。
【０３８３】
一方、機器分離装置１６では、エージェント１４からの操作対象機器ラベル、及び、稼働状態ラベルが取得されるとともに、ユーザ宅の電流波形Yを用いた機器分離において得られる可能性情報としての状態確率<S(m)t>が取得される。そして、機器分離装置１６では、その可能性情報としての状態確率<S(m)t>に基づいて、操作対象機器の現在の稼働状態において消費されている消費電流を表すパターン情報としての固有波形W(m)kが特定され、そのパターン情報としての固有波形W(m)kに、操作対象機器の機器ラベルと稼働状態ラベルが対応付けられる。
【０３８４】
したがって、エージェント１４によって、機器が操作されることにより、機器の消費電流が変化するので、その消費電流を含む電流波形Yを用いた、機器分離装置１６での機器分離を、迅速に行うことができる。
【０３８５】
さらに、エージェント１４では、機器を表す機器ラベル、及び、機器の稼働状態を表す稼働状態ラベルが、機器分離装置１６に送信され、機器分離装置１６では、パターン情報としての固有波形W(m)kが表す消費電流が消費されている可能性を表す可能性情報としての状態確率<S(m)t>に基づいて、パターン情報としての固有波形W(m)kに、機器ラベルと稼働状態ラベルが対応付けられるので、ユーザ宅のどの機器が、どのような稼働状態にあるのかを、機器ラベルと稼働状態ラベルによって提示することが可能になる。
【０３８６】
すなわち、機器ラベルと稼働状態ラベルによれば、その機器ラベルと稼働状態ラベルが対応付けられているパターン情報が表す消費電流が消費されている機器と、その機器の稼働状態を、人が認識することができる形で提示することができる。
【０３８７】
なお、操作対象機器の稼働状態は、機器分離装置１６からエージェント１４に送信されるRESULT:MOREメッセージに従って変更する他、エージェント１４において、自律的に変更することができる。すなわち、エージェント１４は、操作対象機器の稼働状態を変更するように、自律的に、操作対象機器を操作する行動をとることができる。
【０３８８】
＜データ出力部３６の構成例＞
【０３８９】
図２１は、エージェント１４と機器分離装置１６とが協調して動作する場合の図５のデータ出力部３６の構成例を示すブロック図である。
【０３９０】
データ出力部３６は、取得部２１１、検知対象記憶部２１２、及び、稼働状態検知部２１３を有する。
【０３９１】
（稼働状態検知要求）取得部２１１は、エージェント１４から、ネットワーク１５を介して送信され、通信部３０（図５）で受信される、機器の稼働状態の検知を要求する稼働状態検知要求メッセージを取得し、検知対象記憶部２１２に供給する。
【０３９２】
検知対象記憶部２１２は、取得部２１１からの稼働状態検知要求メッセージに含まれる、稼働状態の検知の対象とする機器である検知対象機器の機器ラベルを登録するリストである検知リストを記憶する。
【０３９３】
ここで、エージェント１４が送信する稼働状態検知要求メッセージには、検知対象機器の機器ラベルが含まれる。
【０３９４】
稼働状態検知部２１３は、ラベル取得部３５の対応関係記憶部２０４に記憶された対応関係テーブル（図１８）を参照し、検知対象記憶部２１２に記憶された検知リストに機器ラベルが登録された検知対象機器の現在の稼働状態を検知する。
【０３９５】
すなわち、稼働状態検知部２１３は、対応関係テーブルから、検知対象記憶部２１２に記憶された機器ラベルを含む対応付け情報を、対象対応付け情報として選択し、その対象対応付け情報に含まれるファクタ#mの各状態#kの可能性情報としての状態確率<S(m)t>を、状態推定部３２から取得する。
【０３９６】
さらに、稼働状態検知部２１３は、対象対応付け情報に含まれるファクタ#mの各状態#kの状態確率<S(m)t>に基づき、その対象対応付け情報に含まれるファクタ#mの状態#kの中で、状態確率<S(m)t>が最も高い状態#kを、検知対象機器の現在の稼働状態に対応する状態として検知する。
【０３９７】
そして、稼働状態検知部２１３は、対象対応付け情報に含まれる状態マップにおいて、状態確率<S(m)t>が最も高い状態#kに対応付けられている稼働状態ラベルを、検知対象機器の現在の稼働状態を表す対象稼働状態ラベルとして、検知対象機器の機器ラベルとともに、通信部３０（図５）から、エージェント１４に送信させる。
【０３９８】
＜稼働状態報知処理＞
【０３９９】
図２２は、ユーザ宅の機器の稼働状態をユーザに報知する稼働状態報知処理として、図１５のエージェント１４が行う処理の例を示すフローチャートである。
【０４００】
ステップＳ１４１において、報知制御部１３５は、半導体メモリ１１５に記憶された機器テーブル（図１６）に機器ラベルが登録された機器の中から、検知対象機器（とする機器）を決定する。
【０４０１】
ここで、報知制御部１３５では、例えば、エージェント１４が、機器テーブルに機器ラベルが登録された機器の中で、現在地からでは、稼働状態を認識することができない機器（例えば、現在地から、イメージセンサ１２２Ｌ及び１２２Ｒで撮影することができない機器）の１以上を、検知対象機器に決定することができる。
【０４０２】
報知制御部１３５は、検知対象機器の決定後、その検知対象機器の機器ラベルを含み、その検知対象機器の稼働状態の検知を要求する稼働状態検知要求メッセージを、通信部１１４から、機器分離装置１６に送信させる。
【０４０３】
例えば、検知対象機器の機器ラベルが"TV#1"である場合、その機器ラベルを含み、検知対象機器の稼働状態の検知を要求するMONITOR:TV#1メッセージが、稼働状態検知要求メッセージとして送信される。
【０４０４】
報知制御部１３５は、稼働状態検知要求メッセージの送信後、機器分離装置１６から、検知対象機器の稼働状態の検知の要求の受付を完了した旨のRESULT:FINISHEDメッセージが送信されてくるのを待って、そのRESULT:FINISHEDメッセージを取得し、処理は、ステップＳ１４１からステップＳ１４２に進む。
【０４０５】
すなわち、機器分離装置１６は、エージェント１４からの稼働状態検知要求メッセージを受信すると、RESULT:FINISHEDメッセージを、エージェント１４に送信する。エージェント１４では、通信部１１４が、機器分離装置１６からのRESULT:FINISHEDメッセージを受信し、報知制御部１３５に供給するので、報知制御部１３５は、そのようにして通信部１１４から供給される、エージェント１４からのRESULT:FINISHEDメッセージを取得する。
【０４０６】
ステップＳ１４２では、報知制御部１３５は、機器分離装置１６から、検知対象機器の機器ラベル及び稼働状態ラベルが送信されてくるのを待って、その機器ラベル及び稼働状態ラベルを取得し、処理は、ステップＳ１４３に進む。
【０４０７】
すなわち、機器分離装置１６は、検知対象機器の稼働状態を検出し、その稼働状態の稼働状態ラベルを、検知対象機器の機器ラベルとともに送信する。エージェント１４では、通信部１１４が、機器分離装置１６からの検知対象機器の機器ラベル及び稼働状態ラベルを受信し、報知制御部１３５に供給するので、報知制御部１３５は、そのようにして通信部１１４から供給される、検知対象機器の機器ラベル及び稼働状態ラベルを取得する。
【０４０８】
ステップＳ１４３では、報知制御部１３５は、ステップＳ１４２で取得した稼働状態ラベルに応じて、同じくステップＳ１４２で取得した機器ラベルの検知対象機器の稼働状態を、ユーザに報知し、処理は、ステップＳ１４４に進む。
【０４０９】
すなわち、報知制御部１３５は、例えば、エージェント１４に、合成音によって、機器ラベルの検知対象機器が、稼働状態ラベルが表す稼働状態になっている旨のメッセージを出力させる。
【０４１０】
あるいは、報知制御部１３５は、ユーザ宅の機器のうちのディスプレイ機器と、通信部１１４を介して通信を行い、ディスプレイ機器に、機器ラベルの検知対象機器が、稼働状態ラベルが表す稼働状態になっている旨のメッセージを、音声で出力させたり、画面に表示させたりすることができる。
【０４１１】
その他、報知制御部１３５は、例えば、通信部１１４を介して通信を行うことにより、機器ラベルの検知対象機器が、稼働状態ラベルが表す稼働状態になっている旨のメッセージを、ユーザが所持するスマートフォン等の携帯端末に送信することで、検知対象機器の稼働状態を、ユーザに報知することができる。
【０４１２】
ステップＳ１４４では、報知制御部１３５は、機器分離装置１６から、検知対象機器の稼働状態が変化した旨のRESULT:CHANGEメッセージ、並びに、検知対象機器の機器ラベル、及び、変化前後それぞれの稼働状態を表す稼働状態ラベルが送信されてくるのを待って、そのRESULT:CHANGEメッセージ、並びに、機器ラベル及び稼働状態ラベルを取得し、処理は、ステップＳ１４５に進む。
【０４１３】
すなわち、機器分離装置１６は、検知対象機器の稼働状態を検出し、その稼働状態が変化すると、RESULT:CHANGEメッセージとともに、検知対象機器の機器ラベル、及び、変化前後それぞれの稼働状態を表す稼働状態ラベルを送信する。エージェント１４では、通信部１１４が、機器分離装置１６からのRESULT:CHANGEメッセージ、並びに、検知対象機器の機器ラベル、及び、変化前後それぞれの稼働状態を表す稼働状態ラベルを受信し、報知制御部１３５に供給するので、報知制御部１３５は、そのようにして通信部１１４から供給される、RESULT:CHANGEメッセージ、並びに、検知対象機器の機器ラベル、及び、変化前後それぞれの稼働状態を表す稼働状態ラベルを取得する。
【０４１４】
ステップＳ１４５では、報知制御部１３５は、ステップＳ１４４で取得した稼働状態ラベルに応じて、同じくステップＳ１４４で取得した機器ラベルの検知対象機器の稼働状態（の変化）を、ユーザに報知し、処理は終了する。
【０４１５】
すなわち、例えば、検知対象機器の機器ラベルが、あるTVを表す"TV#1"であり、変化前の稼働状態を表す稼働状態ラベルが、電源がオフになっている旨を表し、変化後の稼働状態を表す稼働状態ラベルが、電源がオンになっている旨を表している場合には、エージェント１４では、例えば、「TV#1の電源がオンにされました。」等のメッセージを生成し、ステップＳ１４３で説明したように出力することで、検知対象機器の稼働状態（の変化）を、ユーザに報知することができる。
【０４１６】
なお、機器分離装置１６では、検知対象機器の機器ラベル及び稼働状態ラベルとともに、その検知対象機器の位置情報も、エージェント１４に送信することができる。
【０４１７】
この場合、エージェント１４では、検知対象機器の稼働状態（の変化）をユーザに報知するメッセージを、検知対象機器の位置情報を用いて生成することができる。
【０４１８】
すなわち、例えば、検知対象機器の機器ラベルが、あるTVを表す"TV#1"であり、変化前の稼働状態を表す稼働状態ラベルが、電源がオフになっている旨を表し、変化後の稼働状態を表す稼働状態ラベルが、電源がオンになっている旨を表している場合において、検知対象機器の位置情報から、検知対象機器が、ユーザ宅のリビングルームに設置してあることを認識することができるときには、エージェント１４では、検知対象機器の位置情報を用いた、例えば、「誰かが、リビングにあるTV#1を見始めたよ。」等のメッセージを生成することができる。
【０４１９】
また、例えば、検知対象機器の機器ラベルが、ある照明を表すラベルであり、変化前の稼働状態を表す稼働状態ラベルが、照明がオフになっている旨を表し、変化後の稼働状態を表す稼働状態ラベルが、照明がオンになっている旨を表している場合において、検知対象機器の位置情報から、検知対象機器としての照明が、ユーザ宅の玄関に設置してあることを認識することができるときには、エージェント１４では、検知対象機器の位置情報を用いた、例えば、「玄関の電気（照明）がつきました。」等のメッセージを生成することができる。
【０４２０】
図２３は、ユーザ宅の機器の稼働状態をユーザに報知する稼働状態報知処理として、機器分離装置１６のデータ出力部３６（図２１）が行う処理の例を示すフローチャートである。
【０４２１】
ステップＳ１５１において、取得部２１１は、エージェント１４から、図２２のステップＳ１４１で、検知対象機器の稼働状態の検知を要求する稼働状態検知要求メッセージが送信されてくるのを待って、その稼働状態検知要求メッセージを取得し、処理は、ステップＳ１５２に進む。
【０４２２】
すなわち、エージェント１４が送信する稼働状態検知要求メッセージは、機器分離装置１６（図５）の通信部３０で受信されるので、取得部２１１は、通信部３０で受信された稼働状態検知要求メッセージを取得する。
【０４２３】
ステップＳ１５２では、取得部２１１は、稼働状態検知要求メッセージに含まれる検知対象機器の機器ラベルを、検知対象記憶部２１２に供給し、検知対象記憶部２１２に記憶された検知リストに登録する。
【０４２４】
そして、取得部２１１は、検知対象機器の稼働状態の検知の要求の受付を完了した旨のRESULT:FINISHEDメッセージを生成し、通信部３０（図５）からエージェント１４に送信させ、処理は、ステップＳ１５２からステップＳ１５３に進む。
【０４２５】
ステップＳ１５３では、稼働状態検知部２１３は、検知対象記憶部２１２の検知リストに機器ラベルが登録された検知対象機器の消費電流を含む、ユーザ宅の電流波形Ytを用いた機器分離により得られる、各ファクタ#mの各状態#kのパターン情報としての固有波形W(m)kについての可能性情報としての状態確率（事後確率）<S(m)t>を、状態推定部３２（図５）から取得し、処理は、ステップＳ１５４に進む。
【０４２６】
ステップＳ１５４では、稼働状態検知部２１３は、対応関係記憶部２０４に記憶された対応関係テーブル（図１８）を参照し、検知対象機器の機器ラベルに対応付けられたファクタ#mを、検知対象機器に対応するファクタ#mとして認識する。
【０４２７】
さらに、稼働状態検知部２１３は、対応関係記憶部２０４に記憶された対応関係テーブル（図１８）を参照し、ステップＳ１５３で取得した状態確率<S(m)t>のうちの、検知対象機器に対応するファクタ#mの各状態#kの状態確率<S(m)t>に基づいて、検知対象機器の現在の稼働状態を検知する。
【０４２８】
すなわち、稼働状態検知部２１３は、対応関係記憶部２０４に記憶された対応関係テーブルの検知対象機器の機器ラベルに対応付けられた状態マップにおいて、検知対象機器に対応するファクタ#mの状態#kの中の、状態確率<S(m)t>が最も高い状態#kに対応付けられた稼働状態ラベルが表す稼働状態を、検知対象機器の稼働状態として検知する。
【０４２９】
その後、処理は、ステップＳ１５４からステップＳ１５５に進み、稼働状態検知部２１３は、検知対象機器の機器ラベル、及び、稼働状態ラベル（ステップＳ１５４で検知した稼働状態の稼働状態ラベル）を、通信部３０（図５）からエージェント１４に送信させ、処理は、ステップＳ１５６に進む。
【０４３０】
ここで、ステップＳ１５５では、検知対象機器の機器ラベル、及び、稼働状態ラベルとともに、検知対象機器の機器ラベルに対応付けて対応関係テーブル（図１８）に登録されている検知対象機器の位置情報も、エージェント１４に送信することができる。
【０４３１】
ステップＳ１５６では、稼働状態検知部２１３は、例えば、検知対象機器の消費電流を含む、ユーザ宅の、次の時刻tの電流波形Ytを用いた機器分離が行われるのを待って、その機器分離により得られる、各ファクタ#mの各状態#kの状態確率（事後確率）<S(m)t>を、状態推定部３２（図５）から取得し、処理は、ステップＳ１５７に進む。
【０４３２】
ステップＳ１５７では、稼働状態検知部２１３は、状態確率<S(m)t>に基づき、ステップＳ１５４と同様にして、検知対象機器の現在の稼働状態を検知し、処理は、ステップＳ１５８に進む。
【０４３３】
ステップＳ１５８では、稼働状態検知部２１３は、検知対象機器の稼働状態が変化したかどうか（検知対象機器について稼働状態の最新の検知の結果と、前回の検知の結果とが異なるかどうか）を判定する。
【０４３４】
ステップＳ１５８において、検知対象機器の稼働状態が変化していないと判定された場合、処理は、ステップＳ１５６に戻り、以下、同様の処理が繰り返される。
【０４３５】
また、ステップＳ１５８において、検知対象機器の稼働状態が変化したと判定された場合、処理は、ステップＳ１５９に進み、稼働状態検知部２１３は、検知対象機器の稼働状態が変化した旨のRESULT:CHANGEメッセージ、並びに、検知対象機器の機器ラベル、及び、検知対象機器の変化前後それぞれの稼働状態を表す稼働状態ラベルを、通信部３０（図５）からエージェント１４に送信させ、処理は、ステップＳ１６０に進む。
【０４３６】
ここで、ステップＳ１５９では、RESULT:CHANGEメッセージ、並びに、検知対象機器の機器ラベル、及び、稼働状態ラベルとともに、検知対象機器の機器ラベルに対応付けて対応関係テーブル（図１８）に登録されている検知対象機器の位置情報も、エージェント１４に送信することができる。
【０４３７】
ステップＳ１６０では、稼働状態検知部２１３は、検知対象記憶部２１２の検知リストから、エージェント１４に機器ラベルを送信した検知対象機器の機器ラベルを削除し、処理は終了する。
【０４３８】
なお、ステップＳ１５３ないしステップＳ１６０の処理は、検知対象記憶部２１２の検知リストに、複数の（検知対象機器の）機器ラベルが登録されている場合には、その複数の機器ラベルが表す検知対象機器それぞれについて行われる。
【０４３９】
以上のように、機器分離装置１６において、可能性情報としての状態確率<S(m)t>に基づき、検知対象機器の稼働状態を検知し、その検知対象機器の機器ラベルと稼働状態ラベルを、エージェント１４に送信する一方、エージェント１４において、機器分離装置１６からの検知対象機器の機器ラベルと稼働状態ラベルを取得し、その稼働状態ラベルに応じて、機器ラベルが表す検知対象機器の稼働状態を報知する場合には、エージェント１４は、例えば、現在地からでは、稼働状態を認識することができない機器（例えば、現在地から、イメージセンサ１２２Ｌ及び１２２Ｒで撮影することができない機器）の稼働状態を、その場で認識し、ユーザに報知することができる。
【０４４０】
なお、エージェント１４において、ユーザ宅内のすべての機器（機器テーブル（図１６）に機器ラベルが登録された機器のすべて）を、検知対象機器に決定することにより、エージェント１４は、ユーザ宅内のすべての機器の稼働状態を、リアルタイムで認識することができる。
【０４４１】
また、本実施の形態では、エージェント１４において、機器分離装置１６から得られる検知対象機器の稼働状態ラベルに応じて、検知対象機器の稼働状態を報知することとしたが、その他、エージェント１４では、機器分離装置１６から得られる検知対象機器の稼働状態ラベルに応じて、検知対象機器の稼働状態に応じた行動をとることができる。
【０４４２】
例えば、検知対象機器が、玄関の照明であり、その玄関の照明がオフからオンになった場合には、エージェント１４は、ユーザ宅に、ユーザが帰宅したと認識して、玄関にユーザを出迎えに行く行動をとることができる。
【０４４３】
なお、本実施の形態では、移動可能なエージェント１４を、ユーザ宅の機器を制御する制御装置として採用したが、機器を制御する制御装置としては、エージェント１４のような移動可能なロボットの他、ホームネットワーク等による無線や有線の通信によって、機器の電源のオン／オフや、動作モードの設定（変更）等を制御することができる装置（例えば、ホームネットワークのサーバ等）を採用することができる。
【０４４４】
また、本実施の形態では、総和データとしての電流波形Ytを用いて、各機器の各稼働状態の消費電流を表す固有波形W(m)kについて得られる、その固有波形W(m)kが表す消費電流が消費されている可能性を表す状態確率<S(m)t>に基づいて、固有波形W(m)kを求める（更新する）ことにより、各機器の消費電流を分離する機器分離を採用したが、その他、例えば、状態確率<S(m)t>以外の、パターン情報が表す消費電流が消費されている可能性を表す任意の可能性情報を用いる機器分離を採用することができる。
【０４４５】
すなわち、例えば、可能性情報として、パターン情報が表す消費電流を用いて求められる総和データ（電流波形Yt）の予測値と、実際の総和データとの誤差を採用し、その誤差に基づいて、誤差を小さくするように、パターン情報を更新することにより、各機器の消費電流を分離する機器分離を採用することができる。
【０４４６】
＜本技術を適用したコンピュータの説明＞
【０４４７】
次に、上述したエージェント１４や機器分離装置１６の一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にインストールされる。
【０４４８】
そこで、図２４は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０４４９】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク３０５やROM３０３に予め記録しておくことができる。
【０４５０】
あるいはまた、プログラムは、リムーバブル記録媒体３１１に格納（記録）しておくことができる。このようなリムーバブル記録媒体３１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体３１１としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【０４５１】
なお、プログラムは、上述したようなリムーバブル記録媒体３１１からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク３０５にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【０４５２】
コンピュータは、CPU(Central Processing Unit)３０２を内蔵しており、CPU３０２には、バス３０１を介して、入出力インタフェース３１０が接続されている。
【０４５３】
CPU３０２は、入出力インタフェース３１０を介して、ユーザによって、入力部３０７が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)３０３に格納されているプログラムを実行する。あるいは、CPU３０２は、ハードディスク３０５に格納されたプログラムを、RAM(Random Access Memory)３０４にロードして実行する。
【０４５４】
これにより、CPU３０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU３０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース３１０を介して、出力部３０６から出力、あるいは、通信部３０８から送信、さらには、ハードディスク３０５に記録等させる。
【０４５５】
なお、入力部３０７は、キーボードや、マウス、マイク等で構成される。また、出力部３０６は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【０４５６】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０４５７】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０４５８】
さらに、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０４５９】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０４６０】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０４６１】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０４６２】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０４６３】
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０４６４】
なお、本技術は、以下のような構成をとることができる。
【０４６５】
＜１＞
機器を操作し、
前記機器の稼働状態を認識し、
前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する
制御装置から、前記機器ラベル、及び、前記稼働状態ラベルを取得する機器情報取得部と、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報を取得する可能性情報取得部と、
前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報を特定し、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けを行うラベル付け部と
を備える情報処理装置。
＜２＞
前記可能性情報に基づいて、前記パターン情報が、前記機器ラベルが表す機器の現在の稼働状態の消費電流を表している確からしさを判定し、前記パターン情報が確からしくない場合、前記制御装置に、前記機器ラベルが表す機器の稼働状態を、他の稼働状態に変更することを要求する
＜１＞に記載の情報処理装置。
＜３＞
前記可能性情報に基づいて、前記機器の現在の稼働状態を検知する稼働状態検知部をさらに備え、
前記機器の現在の稼働状態において消費されている消費電流を表すパターン情報に対応付けられた前記機器ラベル及び前記稼働状態ラベルを、前記制御装置に送信する
＜１＞又は＜２＞に記載の情報処理装置。
＜４＞
前記機器情報取得部は、前記機器の位置を表す位置情報も取得し、
前記ラベル付け部は、前記パターン情報に、前記機器ラベル及び前記稼働状態ラベルとともに、前記位置情報も対応付け、
前記機器の現在の稼働状態において消費されている消費電流を表すパターン情報に対応付けられた前記機器ラベル及び前記稼働状態ラベルとともに、前記位置情報も、前記制御装置に送信する
＜３＞に記載の情報処理装置。
＜５＞
前記機器分離では、
前記総和データを用いて、FHMM(Factorial Hidden Markov Model)の各ファクタの状態にいる状態確率を、前記可能性情報として求める状態推定を行い、
前記状態確率を用いて、前記FHMMの学習を行う
＜１＞ないし＜４＞のいずれかに記載の情報処理装置。
＜６＞
前記FHMMは、
各ファクタの状態の組み合わせにおいて観測される前記総和データの観測値の平均値を求めるのに用いられる、各ファクタの各状態に固有の固有波形と、
各ファクタの状態の組み合わせにおいて観測される前記総和データの観測値の分散と、
各ファクタの状態が初期状態である初期状態確率と、
各ファクタの状態が遷移する遷移確率と
を、モデルパラメータとして有し、
前記FHMMの学習では、
前記パターン情報として、前記固有波形を求める波形分離学習と、
前記分散を求める分散学習と、
前記初期状態確率と、前記遷移確率とを求める状態変動学習と
を行う
＜５＞に記載の情報処理装置。
＜７＞
前記状態推定では、
前記平均値、及び、前記分散を用いて、各ファクタの状態の組み合わせにおいて、前記総和データが観測される観測確率を求め、
前記観測確率、及び、前記遷移確率を用いて、前記総和データの系列Y1，Y2，・・・，YTについて、前記総和データY1，Y2，・・・，Ytを観測し、時刻tに、各ファクタの状態の組み合わせzにいる前向き確率αt,zと、時刻tに、各ファクタの状態の組み合わせzにいて、その後、前記総和データYt，Yt+1，・・・，YTを観測する後ろ向き確率βt,zとを求め、
前記前向き確率αt,z、及び、前記後ろ向き確率βt,zを用いて、時刻tに、各ファクタの状態の組み合わせzにいる事後確率γt,zを求め、
前記事後確率γt,zを周辺化することにより、前記状態確率を求める
＜６＞に記載の情報処理装置。
＜８＞
機器を操作し、
前記機器の稼働状態を認識し、
前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する
制御装置から、前記機器ラベル、及び、前記稼働状態ラベルを取得するステップと、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報を取得するステップと、
前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報を特定し、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けを行うステップと
を含む情報処理方法。
＜９＞
機器を操作し、
前記機器の稼働状態を認識し、
前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する
制御装置から、前記機器ラベル、及び、前記稼働状態ラベルを取得する機器情報取得部と、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離において得られる前記可能性情報を取得する可能性情報取得部と、
前記可能性情報に基づいて、前記機器ラベルが表す機器の現在の稼働状態において消費されている消費電流を表すパターン情報を特定し、そのパターン情報に、前記機器ラベルと前記稼働状態ラベルを対応付けるラベル付けを行うラベル付け部と
して、コンピュータを機能させるためのプログラム。
＜１０＞
機器の操作を制御する操作制御部と、
前記機器の稼働状態を認識する認識部と、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する通信部と
を備える制御装置。
＜１１＞
移動可能なエージェントである
＜１０＞に記載の制御装置。
＜１２＞
前記操作制御部は、前記機器分離装置からの要求に応じて、前記機器の稼働状態を、他の稼働状態に変更するように、前記機器の操作を制御する
＜１１＞に記載の制御装置。
＜１３＞
前記機器分離装置において、前記可能性情報に基づいて得られる、前記機器の稼働状態を表す稼働状態ラベル、及び、前記機器を表す機器ラベルを取得し、その稼働状態ラベルに応じて、前記機器ラベルが表す前記機器の稼働状態の報知を制御する報知制御部をさらに備える
＜１０＞ないし＜１２＞のいずれかに記載の制御装置。
＜１４＞
前記認識部は、前記機器の位置も認識し、
前記通信部は、前記機器の位置を表す位置情報も、前記機器分離装置に送信し、
前記報知制御部は、前記稼働状態ラベル、及び、前記位置情報に応じて、前記機器ラベルが表す前記機器の稼働状態の報知を制御する
＜１３＞に記載の制御装置。
＜１５＞
前記認識部は、前記機器、及び、前記機器の稼働状態を、ユーザに聞くことで認識する
＜１０＞ないし＜１４＞のいずれかに記載の制御装置。
＜１６＞
機器を操作するステップと、
前記機器の稼働状態を認識するステップと、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信するステップと
を含む制御方法。
＜１７＞
機器の操作を制御する操作制御部と、
前記機器の稼働状態を認識する認識部と、
複数の機器で消費されている電流の総和に関する総和データを用いて、各機器の各稼働状態の消費電流を表すパターン情報について得られる、そのパターン情報が表す消費電流が消費されている可能性を表す可能性情報に基づいて、前記パターン情報を更新することにより、各機器の消費電流を分離する機器分離を行う機器分離装置に、前記機器を表す機器ラベル、及び、前記機器の稼働状態を表す稼働状態ラベルを送信する通信部と
して、コンピュータを機能させるためのプログラム。
【符号の説明】
【０４６６】
１１  分電盤，  １２  電力計，  １３  電流センサ，  １４  エージェント，  １５  ネットワーク，  １６  機器分離装置，  ３０  通信部，  ３１  データ取得部，  ３２  状態推定部，  ３３  モデル記憶部，  ３４  モデル学習部，  ３５  ラベル取得部，  ３６  データ出力部，  ４１  評価部，  ４２  推定部，  ５１  波形分離学習部，  ５２  分散学習部，  ５３  状態変動学習部，  １０１  胴体部ユニット，  １０１Ａ  背中センサ，  １０２Ａないし１０２Ｄ  脚部ユニット，  １０３  頭部ユニット，  １０３Ａ  頭センサ，  １０３Ｂ  顎センサ，  １０４  尻尾部ユニット，  １１１  制御部，  １１２  A/D変換部，  １１３  D/A変換部，  １１４  通信部，  １１５  半導体メモリ，  １２１  マイク，  １２２Ｌ，１２２Ｒ  イメージセンサ，  １２３  スピーカ，  １３１  行動決定部，  １３２  認識部，  １３３  位置検出部，  １３４  操作制御部，  １３５  報知制御部，  １３６  テーブル生成部，  ２０１，２０２  取得部，  ２０３  ラベル付け部，  ２０４  対応関係記憶部，  ２０５  制御部，  ２１１  取得部，  ２１２  検知対象記憶部，  ２１３  稼働状態検知部，  ３０１  バス，  ３０２  CPU，  ３０３  ROM，  ３０４  RAM，  ３０５  ハードディスク，  ３０６  出力部，  ３０７  入力部，  ３０８  通信部，  ３０９  ドライブ，  ３１０  入出力インタフェース，  ３１１  リムーバブル記録媒体
【図１】
0006597612.tif 000017
【図２】
0006597612.tif 000018
【図３】
0006597612.tif 000019
【図４】
0006597612.tif 000020
【図５】
0006597612.tif 000021
【図６】
0006597612.tif 000022
【図７】
0006597612.tif 000023
【図８】
0006597612.tif 000024
【図９】
0006597612.tif 000025
【図１０】
0006597612.tif 000026
【図１１】
0006597612.tif 000027
【図１２】
0006597612.tif 000028
【図１３】
0006597612.tif 000029
【図１４】
0006597612.tif 000030
【図１５】
0006597612.tif 000031
【図１６】
0006597612.tif 000032
【図１７】
0006597612.tif 000033
【図１８】
0006597612.tif 000034
【図１９】
0006597612.tif 000035
【図２０】
0006597612.tif 000036
【図２１】
0006597612.tif 000037
【図２２】
0006597612.tif 000038
【図２３】
0006597612.tif 000039
【図２４】
0006597612.tif 000040