JP2022041339A - 選択プログラム、情報処理装置および制御方法 - Google Patents

選択プログラム、情報処理装置および制御方法 Download PDF

Info

Publication number
JP2022041339A
JP2022041339A JP2020146476A JP2020146476A JP2022041339A JP 2022041339 A JP2022041339 A JP 2022041339A JP 2020146476 A JP2020146476 A JP 2020146476A JP 2020146476 A JP2020146476 A JP 2020146476A JP 2022041339 A JP2022041339 A JP 2022041339A
Authority
JP
Japan
Prior art keywords
terminal
user
user state
unit
state transition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020146476A
Other languages
English (en)
Inventor
勉 石田
Tsutomu Ishida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020146476A priority Critical patent/JP2022041339A/ja
Priority to US17/359,837 priority patent/US20220067561A1/en
Publication of JP2022041339A publication Critical patent/JP2022041339A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2614HVAC, heating, ventillation, climate control
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/80Homes; Buildings

Abstract

【課題】エッジ端末の処理能力やリソースに応じて処理の負荷を配分することを課題とする。【解決手段】情報処理装置は、端末に関する識別情報を前記端末から受信し、所定の単位時間におけるユーザの状態の時系列な推移であるユーザ状態推移を示す情報をクラスタリングすることによって得られる前記ユーザ状態推移の複数のパターンである複数のユーザ状態推移パターンから、前記識別情報に応じた数の1以上のユーザ状態推移パターンを選択し、前記1以上のユーザ状態推移パターンを前記端末に送信する、処理を実行させることを特徴とする。【選択図】図13

Description

本発明は、選択プログラム、情報処理装置および制御方法に関する。
近年、IoT(Internet of Things)の進展にともなって、エンドデバイスが生み出すデータの量が増加している。これに伴い、全てのデータの処理やエンドデバイスの制御を情報処理装置(例えばクラウドサーバ)側で行うことが難しくなってきている。そこで、情報処理装置だけでなくエンドデバイスも処理の一端を担うエッジコンピューティングに注目が集まっている。
エッジコンピューティングは、例えば、情報処理装置と、エンドデバイスである複数のエッジ端末とから構成される。情報処理装置と、エッジ端末の双方で分散処理を行うことで、情報処理装置の負荷の低減を図ることができる。
特開平8-061741号公報 特開2018-035957号公報 特開2015-122055号公報
情報処理装置に接続された複数のエッジ端末は、備えている処理能力や保持できる情報量(リソース)がそれぞれ異なる。このため、エッジコンピューティングにより処理を行う場合、情報処理装置にとって、各エッジ端末の処理能力やリソースに応じて処理の負荷を各エッジ端末に配分できることが好ましい。
本発明の1つの側面では、エッジ端末の処理能力やリソースに応じて処理の負荷を配分することが可能な選択プログラム、情報処理装置および制御方法を提供することを目的とする。
発明の一観点によれば、コンピュータに、端末に関する識別情報を前記端末から受信し、所定の単位時間におけるユーザの状態の時系列な推移であるユーザ状態推移を示す情報をクラスタリングすることによって得られる前記ユーザ状態推移の複数のパターンである複数のユーザ状態推移パターンから、前記識別情報に応じた数の1以上のユーザ状態推移パターンを選択し、前記1以上のユーザ状態推移パターンを前記端末に送信する、処理を実行させることを特徴とする。
一実施形態によれば、エッジ端末の処理能力やリソースに応じて処理の負荷を配分することが可能な、選択プログラム、情報処理装置および制御方法を提供することができる。
図1は、実施例1にかかるシステムの全体構成例を示す図である。 図2は、実施例1にかかるクラウドサーバ100の機能構成を示す機能ブロック図である。 図3は、特徴ベクトルDB103に記憶される情報の例を示す図である。 図4(a)は、クラスタ結果DB104に記憶される確率モデルの例である。また、図4(b)は、クラスタ結果DB104に記憶される曜日が対応づけられた確率モデルの例である。 図5は、クラスタ数決定DB105に記憶される情報の例を示す図である。 図6は、制御基準DB106に記憶される情報の例を示す図である。 図7は、スケジュールDB107に記憶される情報の例を示す図である。 図8は、実施例1にかかるエッジ端末200の機能構成を示す機能ブロック図である。 図9(a)は、センサ値DB203に記憶される情報の例を示す図である。また、図9(b)は、エッジ端末ログDB204に記憶される情報の例を示す図である。 図10は、実施例1にかかるユーザ端末300の機能構成を示す機能ブロック図である。 図11は、制御システムの処理の流れを示すシーケンス図である。 図12は、確率モデルの選択する処理を説明する図である。 図13は、ユーザ端末300に表示される操作画面例を示す図である。 図14は、クラウドサーバ100における学習処理を説明する図である。 図15は、学習データの特徴ベクトルについて説明する図である。 図16は、確率モデルのクラスタを作成する処理を説明する図である。 図17は、確率モデルのクラスタから在室確率を特定する処理を説明する図である。 図18は、エッジ端末200における予測処理を説明する図である。 図19は、ユーザの在室確率を算出する処理を説明する図である。 図20は、ハードウェア構成例を説明する図である。 図21は、ハードウェア構成例を説明する図である。 図22は、ハードウェア構成例を説明する図である。
エッジコンピューティングでは、例えば、情報処理装置の負荷の低減を図るため、情報処理装置と複数のエッジ端末の双方による分散処理が実施される。このような分散処理として、例えば、情報処理装置が配信するルールに従って、各エッジ端末が処理を実行する方法が考えられる。この方法によれば、情報処理装置はルールの配信(及び必要に応じてルールの生成)を行えば良いため、情報処理装置の負荷を低減することができる。
このとき、ルールの数を増やすことで、エッジ端末にきめ細かい処理を指示することが可能となり、処理精度を向上させることができる。しかしながら、すべてのエッジ端末に対して一律にルールの数を増やすのは望ましくない場合がある。具体的には、各エッジ端末の処理能力やリソースが異なる場合が考えられる。このような場合、処理能力やリソースが比較的小さいエッジ端末にとっては、多くのルールが負担となり、処理の遅延が発生するといった問題がある。
以下に開示の実施例では、各エッジ端末の処理能力やリソースに応じて処理の負荷を各エッジ端末に配分することが可能な、選択プログラム、情報処理装置および制御方法を説明する。
なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
(実施例1)
図1は、実施例1にかかるシステムの全体構成例を示す図である。図1に示すように、このシステムは、クラウドサーバ100と、複数のエッジ端末200とがネットワークNを介して相互に通信可能に接続されるシステムである。なお、ネットワークNには、有線や無線を問わず、インターネットなどの各種通信網を採用することができる。クラウドサーバ100は、コンピュータおよび情報処理装置の一例である。部屋1~3の各々に備えられているエッジ端末200は、室内の空調制御を実行する空調機、エアコンの一例である。
[クラウドサーバ100の機能構成]
次に、図1に示したクラウドサーバ100の機能構成について説明する。図2は、実施例1にかかるクラウドサーバ100の機能構成を示す機能ブロック図である。図2に示すように、クラウドサーバ100は、通信部101、記憶部102、および制御部110を有する。
通信部101は、他の装置との間の通信を制御する処理部であり、例えば、通信インタフェースによって実現される。
記憶部102は、各種データや、制御部110が実行するプログラムを記憶する。例えば、記憶部102は、メモリまたはハードディスクなどによって実現される。記憶部102は、特徴ベクトルDB103、クラスタ結果DB104、クラスタ数決定DB105、制御基準DB106、およびスケジュールDB107を記憶する。
特徴ベクトルDB103は、学習データを記憶するデータベースである。クラスタ結果DB104は、クラスタ結果を記憶するデータベースである。クラスタ数決定DB105は、エッジ端末200に配信する学習データの上限数を記憶するデータベースである。制御基準DB106は、エッジ端末200に対する制御内容が記憶されたデータベースである。スケジュールDB107は、エッジ端末200を制御するスケジュールが記憶されたデータベースである。
制御部110は、クラウドサーバ100全体の処理を司る処理部であり、例えばプロセッサなどにより実現される。制御部110は、取得部111、生成部112、選択部113、配信部114、処理部115を有する。
取得部111は、ユーザの状態を示す特徴と、エッジ端末200の識別情報とを取得する。ユーザの状態を示す特徴は、例えば、ユーザがある単位時間において(例えば一時間ごとの)、在宅をしているか否かを示す情報、またはユーザが睡眠をしているか否かを示す情報である。また、エッジ端末200の識別情報は、エッジ端末200の処理能力に紐づけられた情報である。
生成部112は、ユーザ状態の推移を示す確率モデルを生成する。これは次のようにして行う。生成部112は、取得部111が取得した単位時間ごとのユーザの状態を示す特徴を、所定の期間において時系列に結合した情報であるユーザ状態推移情報を生成する(例えば一時間ごとの24個のユーザの状態を示す特徴を結合して、あるユーザの1日分のユーザ状態推移情報を生成する)。そして、ここで生成されたユーザ状態推移情報を所定の条件でクラスタリングすることによって、複数のクラスタを生成する。次に、各クラスタにおいて、クラスタに含まれる1以上のユーザ状態推移情報に基づいて、当該クラスタを代表するまたは当該クラスタを典型的に示すユーザ状態推移パターンを生成する。本実施例においては、一例として、各クラスタにおいてこのユーザ状態推移パターンを後述するような確率モデルとして構築する。以上をまとめると、生成部112は、所定の単位時間におけるユーザの状態の時系列な推移であるユーザ状態推移を示す情報をクラスタリングすることによって得られるユーザ状態推移の複数のパターンである、複数のユーザ状態推移パターンを生成する。
選択部113は、確率モデルの数が、取得したエッジ端末200の識別情報に基づいて設定される上限数を超えるときに、確率モデルのクラスタに用いた特徴の数に基づいて、エッジ端末200に配信する確率モデルを選択する。具体的には、選択部113は、エッジ端末の処理能力が高いほど、エッジ端末200に配信する確率モデルの数が多くなるように、確率モデルを選択する。また、選択部113は、生成した確率モデルの数が上限数を超えるときに、確率モデル毎に確率モデルのクラスタに用いた特徴の数を算出する。そして、選択部113は、生成した確率モデルの中から、特徴の数が大きい方から上限数だけの確率モデルを選択する。具体的には、選択部113は、前述の複数のユーザ状態推移パターンから、識別情報に応じた数の1以上のユーザ状態推移パターンを選択する。
配信部114は、通信部101を介して、選択された確率モデルを配信する。具体的には、配信部114は、1以上のユーザ状態推移パターンをエッジ端末200に送信する。
処理部115は、エッジ端末200による予測結果に基づいて、エッジ端末200に対する制御内容を特定する。
[特徴ベクトルDB103に記憶される情報の例]
図3は、特徴ベクトルDB103に記憶される情報の例を示す図である。図3に示すように、特徴ベクトルDB103は、「日付、特徴ベクトル」を対応づけて記憶する。
図3に示すように、特徴ベクトルは、単位時間の開始から終了に至るまでの期間において、各時刻で、ユーザが在宅しているか、不在であるかを示す情報を有する。例えば、1つの特徴ベクトル(ログ)は、各時刻において複数のラベルを有する。ユーザが在宅している場合は、ラベル「1」を設定する。一方、ユーザが不在であるときには、ラベル「0」を設定する。「2020年1月1日は、t1の時刻ではユーザが在宅し、t2の時刻ではユーザが不在で、t3の時刻ではユーザが在宅」であることを示す。
[クラスタ結果DB104に記憶される情報の例]
図4(a)および図4(b)は、クラスタ結果DB104に記憶される情報の例を示す図である。図4(a)は、クラスタ結果DB104に記憶される確率モデルの例である。図4(b)は、クラスタ結果DB104に記憶される曜日が対応づけられた確率モデルの例である。
図4(a)に示すように、クラスタ結果DB104は、「確率モデルID、時刻、在室確率」を対応づけて記憶する。ここで記憶される「確率モデルID」は、確率モデルを識別する識別子であり、「時刻」は、基準となる時刻である。また、「在室確率」は、ユーザが存在している確率である。例えば、「確率モデル1は、t1の時刻ではユーザの在室確率が0.8で、t2の時刻ではユーザの在室確率が0.5」であることを示す。
図4(b)に示すように、クラスタ結果DB104は、「確率モデルID、時刻、在室確率、曜日」を対応づけて記憶する。ここで記憶される「確率モデルID」は、確率モデルを識別する識別子であり、「時刻」は、基準となる時刻である。また、「在室確率」は、ユーザが存在している確率である。「曜日」は、確率モデルの代表する曜日である。「曜日」は、確率モデルに付与されるラベルの一例であり、測定した場所などの環境情報であってもよい。
[クラスタ数決定DB105に記憶される情報の例]
図5は、クラスタ数決定DB105に記憶される情報の例を示す図である。図5に示すように、クラスタ数決定DB105は、「識別情報、クラスタの上限数」を対応づけて記憶する。ここで、「識別情報」は、エッジ端末200の型番号を識別する識別子である。また、「識別情報」は、エッジ端末200の処理能力を示す識別子であってもよい。「クラスタの上限数」は、エッジ端末200に配信する確率モデルの上限数である。例えば、「型番号がX001のエッジ端末200に対して、配信できる確率モデルの上限数は10」であることを示す。
[制御基準DB106に記憶される情報の例]
図6は、制御基準DB106に記憶される情報の例を示す図である。図6に示すように、「不在が予想される」状態と、「在宅が予想される」状態との各々に対し、「時間長、制御内容」を対応づけて記憶する。「時間長」は、ユーザが在室する時間の時間長、または、ユーザが在室しない時間の時間長である。「制御内容」は、エッジ端末200が実行する処理の内容である。図6の例では、ユーザの不在が予想される時間長が、「30分以上であるとき」、エッジ端末200の「省電力モード」を起動するように制御することを示している。
[スケジュールDB107に記憶される情報の例]
図7は、スケジュールDB107に記憶される情報の例を示す図である。図7に示すように、スケジュールDB107は、「日時、予測結果、登録内容」を対応づけて記憶する。ここで記憶される「時刻」は、基準となる時刻である。「予測結果」は、エッジ端末200によりユーザが存在するか否かを予測した結果である。「登録内容」は、ユーザの指示を受け付けた、エッジ端末200に対する制御内容である。図7の例では、「12:00~15:00までユーザの不在が予想され、エアコンの掃除モードを起動することが登録されている」ことを示す。また、「15:30~16:30までユーザの在宅が予想され、エアコンの運転開始が登録されている」ことを示す。
[エッジ端末200の機能構成]
図8は、実施例1にかかるエッジ端末200の機能構成を示す機能ブロック図である。エッジ端末200は、通信部201、記憶部202、および制御部210を有する。
通信部201は、他の装置との間の通信を制御する処理部であり、例えば、通信インタフェースによって実現される。
記憶部202は、各種データや、制御部210が実行するプログラムを記憶する。例えば、記憶部202は、メモリやハードディスクなどによって実現される。記憶部202は、センサ値DB203、およびエッジ端末ログDB204を記憶する。
センサ値DB203は、各部屋のセンサにより取得された、ユーザの状態を識別するセンサ値を記憶するデータベースである。例えば、ここで記憶されるセンサ値は、ユーザの状態の他に、温度の時間変化などセンサが測定できる他の観測値を含んでいてもよい。ユーザの状態とは、例えば、部屋の中にユーザがいるか否かを示す情報である。エッジ端末ログDB204は、エッジ端末200の識別情報を記憶するデータベースである。
通信部201は、センサデータなどをクラウドサーバ100に対して出力する。また、通信部201は、クラウドサーバ100により配信された確率モデルなどをクラウドサーバ100から受信する。さらに、通信部201は、確率モデルによる予測結果をクラウドサーバ100に対して送信する。
制御部210は、エッジ端末200全体の処理を司る。制御部210は、例えばプロセッサによって実現される。制御部210は、取得部211、処理部212、および実行部213を有する。
取得部211は、単位時間の開始から終了に至るまでのユーザの状態を示す、複数の特徴を取得する。例えば、取得部211は、0時から24時までの期間において、ユーザが在室しているか否かを示す特徴を取得する。このとき、単位時間の開始から終了に至るまでのユーザの状態を示す複数の特徴は、クラウドサーバ100に送信される。
また、取得部211は、単位時間の開始から推論の開始時刻に至るまでの、ユーザの状態を示す複数の特徴を取得する。例えば、取得部211は、本日の0時から現在までの期間において、ユーザが在室しているか否かを示す特徴を取得する。
処理部212は、確率モデルを用いて、推論の開始時刻から単位時間の終了までの期間において、ユーザの状態を予測する。
実行部213は、クラウドサーバ100から配信された制御情報に基づく処理を実行する。
[センサ値DB203に記憶される情報の例]
図9(a)は、センサ値DB203に記憶される情報の例を示す図である。図9(a)に示すように、センサ値DB203は、「日時、曜日、在室の有無、室温、湿度、外気温」などを対応づけて記憶する。ここで記憶される「日時」は、データが測定された日時である。「曜日」は、データが測定された日の曜日である。「在室の有無」は、ユーザの状態を測定した結果であり、ユーザの存在の有無を測定した結果である。「室温」および「湿度」は、それぞれ、各室内の各センサなどにより測定された室内の温度および湿度であり、「外気温」は、各室の各センサにより測定された室外の温度である。図9(a)の例では、30分ごとのセンサ値を示し、例えば、部屋1について、「2020年1月1日の水曜日の0:00では、ユーザが存在することが測定され、室温が20度、室内の湿度が55%、外気温が10度であったこと」を示す。
[エッジ端末ログDB204に記憶される情報の例]
図9(b)は、エッジ端末ログDB204に記憶される情報の例を示す図である。図9(b)に示すように、エッジ端末ログDB204は、「エッジID、識別情報」を対応づけて記憶する。ここで記憶される「エッジID」は、エアコンを識別するIDであり、「識別情報」は、エッジ端末200の型番号を識別する識別子である。また、「識別情報」は、エアコンに搭載されたエッジ端末200の処理能力を示す識別子であってもよい。
[ユーザ端末300の機能構成]
図10は、実施例1にかかるユーザ端末300の機能構成を示す機能ブロック図である。図10に示すように、ユーザ端末300は、通信部301、制御部302、表示部303、および入力部304を有する。
通信部301は、クラウドサーバ100に対して、ユーザから受け付けた操作内容を出力する。また、通信部301は、クラウドサーバ100から、エッジ端末200に対する制御内容の候補を受信する。
制御部302は、ユーザ端末300全体の処理を司る。制御部302は、例えばプロセッサによって実現される。制御部302は、エッジ端末200に対する制御内容の候補を実行するか否かの確認画像を表示部303に表示させる。
表示部303は、エッジ端末200に対する制御内容の候補を実行するか否かの確認画像を表示する。表示部303は、例えば、表示装置によって実現される。
入力部304は、各種の情報を入力する。入力部304は、例えば、キーボード、タッチパネル、またはマウスによって実現される。
[制御システムの処理の流れ]
図11は、制御システムの処理の流れを示すシーケンス図である。図11を用いて、制御システムによる、学習データの収集からエッジ端末200の制御を実行するまでの一連の処理を説明する。
図11に示すように、クラウドサーバ100の取得部111は、エッジ端末200から、エッジ端末200の識別情報と、ユーザの状態を示すセンサ値とを含むデータを取得する。例えば、図9(a)に示すように、クラウドサーバ100の取得部111は、エッジ端末200から、1日の開始から終了に至るまでの期間において、30分間隔での、「ユーザが在室しているか、または不在であるか」を示す情報と、「曜日」を示す情報とを含むセンサ値を取得する。また、図9(b)に示すように、クラウドサーバ100は、エッジ端末200から、端末の型番が「X002」を示す識別情報を取得する。(S101)。
クラウドサーバ100の生成部112は、取得されたデータから学習データを生成し、学習データをクラスタリングして確率モデルを生成する。生成部112は、「日付」に対応する期間において、所定の間隔ごとの、ユーザの状態を示す特徴ベクトルを有する学習データを作成する。そして、生成部112は、学習データを用いて、各時刻でのユーザの状態を示す確率モデルを生成する(S102)。
選択部113は、エッジ端末200に配信する確率モデルを選択する。具体的には、選択部113は、エッジ端末200の識別情報を基に、クラスタ数決定DB105を参照し、識別情報と対応づいたエッジ端末200に配信する確率モデルの上限数を特定する。そして、選択部113は、生成された確率モデルの数が特定された上限数を超えるときに、生成された確率モデルの中からエッジ端末200に配信する確率モデルを選択する。選択部113は、エッジ端末200の処理能力が高いほど、エッジ端末200に配信する確率モデルの数が多くなるように、確率モデルを選択する。(S103)。
配信部114は、選択された確率モデルをエッジ端末200に配信する(S104)。
エッジ端末200の実行部213は、配信された確率モデルを用いた予測制御を実行する。例えば、実行部213は、予め設定された推論時刻になったときに、センサにより測定されたセンサ値と確率モデルとに基づいて、推論時刻以降において、各時刻でのユーザの状態を予測する(S105)。
エッジ端末200の処理部212は、予測された結果をクラウドサーバ100に送信する(S106)。
クラウドサーバ100の処理部115は、エッジ端末200に対する制御内容の候補を特定する。例えば、図7に示すように、処理部115は、エッジ端末200から、「15:30に不在から在宅に変わり、16:30までの60分の期間において、在宅していること」の予測結果を受信する。処理部115は、図6に示すように、制御基準DB106に記憶される情報を参照して、時間長が60分である「運転の開始」を制御内容の候補として特定する(S107)。
クラウドサーバ100の処理部115は、ユーザ端末300に対して、制御内容の候補を実行させるか否かを問い合わせする(S108)。
ユーザ端末300の入力部304は、ユーザからの操作を受け付ける。そして、通信部301は、受け付けた操作結果を、クラウドサーバ100に送信する(S109)。
クラウドサーバ100の処理部115は、操作結果を、スケジュールDB107に登録する。例えば、処理部115は、図7に示すように、「15:30から16:30の在宅が予測される期間に対して、運転の開始」の制御情報を更新する(S110)。
クラウドサーバ100の処理部115は、スケジュールDB107を参照し、登録された制御情報をエッジ端末200に配信する。(S111)。
エッジ端末200の実行部213は、制御情報に従って、処理を実行する(S112)。
[確率モデルを選択する処理]
図12は、確率モデルの選択する処理を説明する図である。ここで、図12を用いて、クラウドサーバ100の選択部113が、生成された確率モデルの数が上限数を超えるときに、確率モデルの中からエッジ端末200に配信する確率モデルを選択する処理を説明する。
図12に示すように、生成部112は、確率モデル1、確率モデル2、確率モデル3、確率モデル4の4つの確率モデルを生成したとする。そして、選択部113は、エッジ端末200の識別情報を基に、エッジ端末200に配信する確率モデルの上限数は3であることを特定したとする。例えば、エッジ端末200の処理能力が高いほど、確率モデルの上限数が多くなるように特定する。また他の例では、上位モデルのエッジ端末200を、下位モデルのエッジ端末200よりも確率モデルの上限数が多くなるように特定する。また、エッジ端末200に搭載されたCPUのクロック数によって、確率モデルの上限数を特定する。
次いで、選択部113は、確率モデルのクラスタに用いた特徴ベクトルの数が多い確率モデルを選択する。具体的には、確率モデル1は、100個の特徴ベクトルをクラスタリングしたモデルである。また、確率モデル2は、5個の特徴ベクトルをクラスタリングしたモデルである。確率モデル3は、30個の特徴ベクトルをクラスタリングしたモデルである。そして、確率モデル4は、10個の特徴ベクトルをクラスタリングしたモデルである。そこで、選択部113は、確率モデルのクラスタに用いた特徴ベクトルの数の多い、確率モデル1、確率モデル3、確率モデル4の3つの確率モデルを選択する。
[ユーザ端末の操作画面]
図13は、ユーザ端末300に表示される操作画面例を示す図である。図13に示すように、ユーザ端末300の表示部303は、クラウドサーバ100の処理部115により特定された制御内容の候補を実行するか否かを受け付ける画面を表示する。例えば、表示部303は、制御内容の候補として、「今日の15:30からエアコンを運転させるか」を表示する。そして、ユーザ端末300は、制御内容の候補を実行することを受け付ける「YES」の操作ボタンと、制御内容の候補を実行しないことを受け付ける「NO」の操作ボタンとを表示する。
[クラウドサーバ100における学習処理]
ここで、図14を用いて、クラウドサーバ100における学習処理を説明する。図14は、図11のS102の詳細な処理を示すフローチャートである。
生成部112は、学習データを取得する(S201)。
生成部112は、学習データの特徴ベクトルを算出する(S202)。
生成部112は、特徴ベクトルをクラスタリングする。具体的には、生成部112は、特徴ベクトルの間の距離を計算する。そして、生成部112は、特徴ベクトルの距離が予め設定した閾値以下の距離の特徴ベクトルを同じクラスタに含ませるようにクラスタリングを行う。距離としては、例えば、ユークリッド距離やコサインに基づく距離等の任意の距離を用いることができる(S203)。
生成部112は、クラスタリングされた特徴ベクトルから、確率モデルを生成する。具体的には、生成部112は、同一のクラスタに含まれる複数の特徴ベクトルの各々から、クラスタの特徴ベクトルを算出する。そして、生成部112は、算出された特徴ベクトルを用いて、確率モデルを生成する(S204)。
生成部112は、代表となる曜日が対応づけられた確率モデルを生成する。生成部112は、確率モデルのクラスタに含まれる複数の特徴ベクトルの各々に対して、特徴ベクトルを測定した曜日を特定する。そして、生成部112は、特定した曜日のなかで最も数の多い曜日を、確率モデルの代表の曜日として設定する。例えば、図4(b)に示すように、確率モデル1は、水曜日が代表の曜日であることが設定される。これは、図9(a)に示すように、センサデータに含まれる曜日情報を用いて、確率モデルのクラスタに含まれる複数の特徴ベクトルの各々に対して、特徴ベクトルを測定した曜日を特定する。生成部112は、複数の特徴ベクトルの各々の類似度に基づいて複数の特徴ベクトルをクラスタリングすることによって、少なくとも1以上のクラスタを生成する。そして、生成部112は、少なくとも1以上のクラスタの中に含まれる特徴ベクトルの各々に対応づけられた曜日の中で、最も数の多い同一種類の曜日を特定し、特定した曜日が対応づけられた確率モデルを生成する。つまり、生成部112は、環境情報を設定した曜日が対応付けられた確率モデルを生成する(S205)。
生成部112は、確率モデルを出力する。また、生成部112は、曜日が対応づけられた確率モデルを出力する(S206)。
[学習データの特徴ベクトル]
ここで、図15を用いて、学習データの特徴ベクトルについて説明する。特徴ベクトルは、単位時間の開始から終了に至るまでの期間において、各時刻でのユーザの状態を示す情報である。例えば、図15に示すように、2020年1月1日の特徴ベクトルにおいては、午前中の後半は、ユーザは不在であるが、午後の前半は、ユーザは在宅である、ことを示している。また、2020年1月2日の特徴ベクトルにおいては、ユーザは終日在宅であることを示している。一方で、2020年1月3日の特徴ベクトルにおいては、ユーザは終日不在であることを示している。
[確率モデル]
ここで、図16および図17を用いて、確率モデルについて説明する。図16は、確率モデルのクラスタを作成する処理を説明する図である。図17は、確率モデルのクラスタから在室確率を特定する処理を説明する図である。
図16に示すように、生成部112は、学習データの複数の特徴ベクトルの各々の距離が近い特徴ベクトルをクラスタリングする。そして、生成部112は、クラスタリングしたクラスタから確率モデルを生成する。
このとき、図16の例では、確率モデル1のクラスタには、特徴ベクトル2と、特徴ベクトル3などが含まれる。そして、確率モデル1は、100個の特徴ベクトルを有する。また、確率モデル2のクラスタは、特徴ベクトル4と特徴ベクトル5などが含まれる。そして、確率モデル2は、5個の特徴ベクトルを有する。一方で、特徴ベクトル1は、どの確率モデルにも属していない特徴ベクトルである。これは、特徴ベクトル1は、他の特徴ベクトルと距離が離れているために、クラスタリングされなかったためである。
次いで、生成部112は、確率モデル1のクラスタに属する100個の特徴ベクトルの各々を用いて、確率モデル1の特徴ベクトルを算出する。算出した特徴ベクトルは、在室確率を示す。具体的には、生成部112は、図17に示すように、特徴ベクトルの各々の平均により、確率モデルの在室確率を算出する。例えば、特徴ベクトルの8時から8時30分までの複数のラベルの平均値を、確率モデルの8時から8時30分までの在室確率とする。また、特徴ベクトルの8時30分から9時までの複数のラベルの各々の平均値を、8時30分から9時までの在室確率とする。これにより、生成部112は、確率モデル1の各時刻における、ユーザの在室確率を示すパターンを算出する。
[エッジ端末200における予測処理]
ここで、図18を用いて、エッジ端末200における予測処理を説明する。図18は、図11のS105の詳細な処理を示すフローチャートである。エッジ端末200における予測処理は、必要に応じて、S307およびS308を省略することができる。すなわち、S306の次の処理はS309となる。
取得部211は、推論時刻までのデータを取得する(S301)。
処理部212は、特徴ベクトルを算出する(S302)。
処理部212は、推論時刻までの期間において、複数の確率モデルの各々が互いに類似するか否かを判定する。具体的には、処理部212は、単位時間の開始から推論時刻までの期間において、クラウドサーバ100から配信された複数の確率モデルのそれぞれの在室確率が類似するか否かを判定する。例えば、処理部212は、複数の確率モデルの各々の在室確率の差分が、予め設定した閾値以上であるか否かにより判定する。処理部212が、在室確率が類似しないと判定された場合、S304に移行する(S303:NO)。一方で、処理部212が、在室確率が類似すると判定された場合、S305に移行する(S303:YES)。
処理部212は、複数の確率モデルの中から確率モデルを特定する。処理部212は、算出した特徴ベクトルと類似する確率モデルを特定する。具体的には、処理部212は、クラウドサーバ100から配信された複数の確率モデルの中から、特徴ベクトルが類似する在室確率を有する確率モデルを特定する(S304)。
処理部212は、曜日が各々対応づけられた複数の確率モデルの中から確率モデルを特定する。処理部212は、当日の曜日を用いて、確率モデルを特定する。(S305)。
処理部212は、特定した確率モデルを用いて、推論時刻以降の当日の在室確率を取得する(S306)。
処理部212は、翌日の在室確率を取得する。具体的には、処理部212は、クラウドサーバ100から配信された複数の確率モデルの中から、翌日の曜日に対応づけられた確率モデルを特定する。そして、処理部212は、特定された確率モデルを用いて、翌日の在室確率を取得する(S307)。
処理部212は、推論時刻から24時間後までの在室確率を算出する(S308)。
処理部212は、ユーザの在室の有無を特定する。具体的には、処理部212は、算出した在室確率と、予め設定した閾値との比較結果に基づいて、ユーザの在室の有無を特定する。例えば、処理部212は、時刻と、在室確率が閾値(例えば、0.5)を超えている時の時間長を出力する。また、処理部212は、時刻と、在室確率が閾値(例えば、0.5)以下の時間長を出力する。(S309)。
[ユーザの在室確率を算出する処理]
ここで、図19を用いて、処理部212がユーザの在室確率を算出する処理について説明する。処理部212は、t1から推論時刻であるt2までの特徴ベクトルと、複数の確率モデルの各々の在室確率とを比較する。そして、処理部212は、複数の確率モデルの中から、t1から推論時刻であるt2までの特徴ベクトルと最も類似する在室確率を有する確率モデルを特定する。次いで、処理部212は、確率モデルの在室確率を参照し、t2からt3の期間の時刻のそれぞれにおける、ユーザの在室確率を予測する。
[ハードウェア]
図20は、ハードウェア構成例を説明する図である。図20に示すように、クラウドサーバ100は、通信装置100a、HDD(Hard Disk Drive)100b、メモリ100c、およびプロセッサ100dを有する。また、図20に示した各部は、バス等で相互に接続される。
通信装置100aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD100bは、図2等に示した機能を動作させるプログラムおよびDBを記憶する。
プロセッサ100dは、図2等に示した各処理部と同様の処理を実行するプログラムをHDD100b等から読み出してメモリ100cに展開することで、図2等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、クラウドサーバ100が有する各処理部と同様の機能を実行する。具体的には、プロセッサ100dは、取得部111、生成部112、選択部113、配信部114、処理部115等と同様の機能を有するプログラムをHDD100b等から読み出す。そして、プロセッサ100dは、取得部111、生成部112、選択部113、配信部114、処理部115等と同様の処理を実行するプロセスを実行する。
このようにクラウドサーバ100は、プログラムを読み出して実行することでデータ生成方法を実行する情報処理装置として動作する。また、クラウドサーバ100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、クラウドサーバ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などの、非一時的なコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
図21は、ハードウェア構成例を説明する図である。図21に示すように、エッジ端末200は、通信装置200a、HDD200b、メモリ200c、およびプロセッサ200dを有する。また、図21に示した各部は、バス等で相互に接続される。
通信装置200aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD200bは、図8等に示した機能を動作させるプログラムおよびDBを記憶する。
プロセッサ200dは、図8等に示した各処理部と同様の処理を実行するプログラムをHDD200b等から読み出してメモリ200cに展開することで、図8等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、エッジ端末200が有する各処理部と同様の機能を実行する。具体的には、プロセッサ200dは、取得部211、処理部212、実行部213等と同様の機能を有するプログラムをHDD200b等から読み出す。そして、プロセッサ200dは、取得部211、処理部212、実行部213等と同様の処理を実行するプロセスを実行する。
このようにエッジ端末200は、プログラムを読み出して実行することでデータ生成方法を実行する情報処理装置として動作する。また、エッジ端末200は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、エッジ端末200によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
図22は、ハードウェア構成例を説明する図である。図22に示すように、ユーザ端末300は、通信装置300a、HDD300b、メモリ300c、プロセッサ300d、表示装置300e、入力装置300fを有する。また、図23に示した各部は、バス等で相互に接続される。
通信装置300aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD300bは、図10等に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ300dは、図10等に示した各処理部と同様の処理を実行するプログラムをHDD300b等から読み出してメモリ300cに展開することで、図10等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、ユーザ端末300が有する各処理部と同様の機能を実行する。具体的には、プロセッサ300dは、制御部302等と同様の機能を有するプログラムをHDD300b等から読み出す。そして、プロセッサ300dは、制御部302等と同様の処理を実行するプロセスを実行する。
このようにユーザ端末300は、プログラムを読み出して実行することでデータ生成方法を実行する情報処理装置として動作する。また、ユーザ端末300は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、ユーザ端末300によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
100 クラウドサーバ
101 通信部
102 記憶部
103 特徴ベクトルDB
104 クラスタ結果DB
105 クラスタ数決定DB
106 制御基準DB
107 スケジュールDB
110 制御部
111 取得部
112 生成部
113 選択部
114 配信部
115 処理部
200 エッジ端末
201 通信部
202 記憶部
203 センサ値DB
204 エッジ端末ログDB
210 制御部
211 取得部
212 処理部
213 実行部
300 ユーザ端末
301 通信部
302 制御部
303 表示部
304 入力部

Claims (5)

  1. コンピュータに、
    端末に関する識別情報を前記端末から受信し、
    所定の単位時間におけるユーザの状態の時系列な推移であるユーザ状態推移を示す情報をクラスタリングすることによって得られる前記ユーザ状態推移の複数のパターンである複数のユーザ状態推移パターンから、前記識別情報に応じた数の1以上のユーザ状態推移パターンを選択し、
    前記1以上のユーザ状態推移パターンを前記端末に送信する、
    処理を実行させることを特徴とする選択プログラム。
  2. 前記選択する処理は、
    前記端末の処理能力が高いほど、前記端末に配信する確率モデルの数が多くなるように、複数の確率モデルの中から確率モデルを選択する、
    処理を含むことを特徴とする請求項1に記載の選択プログラム。
  3. 前記選択する処理は、
    前記複数の確率モデルの数が上限数を超えるときに、前記複数の確率モデルの各々について、特徴の数を算出し、
    前記複数の確率モデルの中から、前記特徴の数が大きい方から前記上限数だけの確率モデルを特定する、処理を含み、
    特定した前記確率モデルを前記端末に配信する、
    処理を更に実行させることを特徴とする請求項2に記載の選択プログラム。
  4. 端末に関する識別情報を前記端末から受信する受信部と、
    所定の単位時間におけるユーザの状態の時系列な推移であるユーザ状態推移を示す情報をクラスタリングすることによって得られる前記ユーザ状態推移の複数のパターンである複数のユーザ状態推移パターンから、前記識別情報に応じた数の1以上のユーザ状態推移パターンを選択する選択部と、
    前記1以上のユーザ状態推移パターンを前記端末に送信する送信部と、
    を有することを特徴とする情報処理装置。
  5. コンピュータに、
    端末に関する識別情報を前記端末から受信し、
    所定の単位時間におけるユーザの状態の時系列な推移であるユーザ状態推移を示す情報をクラスタリングすることによって得られる前記ユーザ状態推移の複数のパターンである複数のユーザ状態推移パターンから、前記識別情報に応じた数の1以上のユーザ状態推移パターンを選択し、
    前記1以上のユーザ状態推移パターンを前記端末に送信する、
    処理を実行させることを特徴とする制御方法。
JP2020146476A 2020-09-01 2020-09-01 選択プログラム、情報処理装置および制御方法 Pending JP2022041339A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020146476A JP2022041339A (ja) 2020-09-01 2020-09-01 選択プログラム、情報処理装置および制御方法
US17/359,837 US20220067561A1 (en) 2020-09-01 2021-06-28 Storage medium, information processing device, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020146476A JP2022041339A (ja) 2020-09-01 2020-09-01 選択プログラム、情報処理装置および制御方法

Publications (1)

Publication Number Publication Date
JP2022041339A true JP2022041339A (ja) 2022-03-11

Family

ID=80358660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020146476A Pending JP2022041339A (ja) 2020-09-01 2020-09-01 選択プログラム、情報処理装置および制御方法

Country Status (2)

Country Link
US (1) US20220067561A1 (ja)
JP (1) JP2022041339A (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904097B2 (en) * 2005-12-07 2011-03-08 Ekahau Oy Location determination techniques
JP5495014B2 (ja) * 2009-09-09 2014-05-21 ソニー株式会社 データ処理装置、データ処理方法、およびプログラム
US20140359637A1 (en) * 2013-06-03 2014-12-04 Microsoft Corporation Task continuance across devices
US20180129959A1 (en) * 2016-11-10 2018-05-10 General Electric Company Methods and systems for programmatically selecting predictive model parameters

Also Published As

Publication number Publication date
US20220067561A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
US20200334574A1 (en) Machine learning device, machine learning method, and storage medium
CN109783028B (zh) I/o调度的优化方法、装置、存储介质及智能终端
US20160077538A1 (en) Load forecasting for residential sector demand response
EP2469676A1 (en) Demand-prediction device, program, and recording medium
JP7279445B2 (ja) 予測方法、予測プログラムおよび情報処理装置
CN108958828B (zh) 应用程序预加载方法、装置、存储介质及终端
US7664671B2 (en) Methods and systems for profile-based forecasting with dynamic profile selection
JP7342833B2 (ja) 制御装置、コントローラ、制御システム、制御方法、および制御プログラム
US11480623B2 (en) Apparatus and method for predicting a remaining battery life in a device
CN112529301A (zh) 用电量预测方法、设备及存储介质
CN111623486B (zh) 开机时间的确定方法和装置、存储介质及电子装置
CN112346738A (zh) 智能灰度发布方法、装置、电子设备及存储介质
CN113206774A (zh) 一种基于室内定位信息的智能家居设备的控制方法及装置
WO2021038759A1 (ja) モデル選択方法、モデル選択プログラムおよび情報処理装置
JP2022041339A (ja) 選択プログラム、情報処理装置および制御方法
CN101142559A (zh) 对计算机控制的处理进行监视
Trabelsi et al. Leveraging evolutionary algorithms for dynamic multi-objective optimization scheduling of multi-tenant smart home appliances
JP2019082895A (ja) 訪問時刻決定装置
CN117154844A (zh) 储能系统的能源供应控制方法及装置
CN112053022A (zh) 计划制定系统及其方法
CN110086835B (zh) 应用程序管控方法、终端、服务器及系统
CN114442697B (zh) 一种温度控制方法、设备、介质及产品
CN109062396B (zh) 用于控制设备的方法和装置
CN115307274A (zh) 控制空调系统的主机的方法、设备和存储介质
CN114358350A (zh) 会议预定模型的使用方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230608

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20230801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20230801