(57)【要約】【課題】処理モジュールへ入力データを出力するデバイスの適合性を判定可能な適合性判定装置、適合性判定方法及びプログラムを提供する。【解決手段】処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルである。複数の学習用データの各々は、入力データと、入力データに対応付けられた出力データの正解ラベルとを含む。処理モジュールには、第１メタデータが対応付けられている。第１メタデータは、各々が共通の正解ラベルに対応付けられた複数の入力データの確率密度関数に基づいて生成されている。適合性判定装置は、第１メタデータを取得し、第１メタデータに基づいて適合性を判定する。【選択図】図１
2019148974.tif 000002
【特許請求の範囲】
【請求項１】
処理モジュールへ入力データを出力する主体の適合性を判定するように構成された適合性判定装置であって、
前記処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記複数の学習用データの各々は、前記入力データと、前記入力データに対応付けられた前記出力データの正解ラベルとを含み、
前記処理モジュールには、第１メタデータが対応付けられており、
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数に基づいて生成されており、
前記適合性判定装置は、
前記第１メタデータを取得するように構成された第１取得部と、
前記第１メタデータに基づいて前記適合性を判定するように構成された判定部とを備える、適合性判定装置。
【請求項２】
前記主体によって前記処理モジュールへ出力された前記入力データを一時的に記憶するように構成されたバッファと、
前記バッファに記憶された複数の入力データの確率密度関数を生成するように構成された確率密度関数生成部とをさらに備え、
前記判定部は、前記第１メタデータと、前記確率密度関数生成部によって生成された確率密度関数とに基づいて前記適合性を判定するように構成されている、請求項１に記載の適合性判定装置。
【請求項３】
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数であり、
前記判定部は、前記第１メタデータと、前記確率密度関数生成部によって生成された確率密度関数との類似度が所定値以上である場合に前記主体が適合であると判定するように構成されている、請求項２に記載の適合性判定装置。
【請求項４】
前記主体には、第２メタデータが対応付けられており、
前記第２メタデータは、各々が前記主体によって前記処理モジュールへ出力された複数の入力データの確率密度関数に基づいて生成されており、
前記複数の入力データの各々が前記処理モジュールへ入力された場合に、前記処理モジュールは共通の出力データを出力し、
前記適合性判定装置は、
前記第２メタデータを取得するように構成された第２取得部をさらに備え、
前記判定部は、第１及び第２メタデータに基づいて前記適合性を判定するように構成されている、請求項１に記載の適合性判定装置。
【請求項５】
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数であり、
前記第２メタデータは、各々が前記デバイスによって前記処理モジュールへ出力された複数の入力データの確率密度関数であり、
前記判定部は、前記第１及び第２メタデータの類似度が所定値以上である場合に前記デバイスが適合であると判定するように構成されている、請求項４に記載の適合性判定装置。
【請求項６】
前記主体は、センサであり、
前記入力データは、前記センサによって出力されたセンシングデータである、請求項１から請求項５のいずれか１項に記載の適合性判定装置。
【請求項７】
前記処理モジュールは、複数の前記入力データに基づいて前記出力データを生成するように構成されている、請求項１から請求項６のいずれか１項に記載の適合性判定装置。
【請求項８】
前記処理モジュールと、前記処理モジュールへ前記入力データを出力する前記デバイスとによって仮想センサが形成される、請求項１から請求項７のいずれか１項に記載の適合性判定装置。
【請求項９】
処理モジュールへ入力データを出力する主体の適合性を判定する適合性判定方法であって、
前記処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記複数の学習用データの各々は、前記入力データと、前記入力データに対応付けられた前記出力データの正解ラベルとを含み、
前記処理モジュールには、第１メタデータが対応付けられており、
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数に基づいて生成されており、
前記適合性判定方法は、
前記第１メタデータを取得するステップと、
前記第１メタデータに基づいて前記適合性を判定するステップとを含む、適合性判定方法。
【請求項１０】
処理モジュールへ入力データを出力する主体の適合性を判定する処理をコンピュータに実行させるプログラムであって、
前記処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記複数の学習用データの各々は、前記入力データと、前記入力データに対応付けられた前記出力データの正解ラベルとを含み、
前記処理モジュールには、第１メタデータが対応付けられており、
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数に基づいて生成されており、
前記プログラムは、
前記第１メタデータを取得するステップと、
前記第１メタデータに基づいて前記適合性を判定するステップとを前記コンピュータに実行させるように構成されている、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、適合性判定装置、適合性判定方法及びプログラムに関する。
【背景技術】
【０００２】
特開２０１４−４５２４２号公報（特許文献１）は、仮想センサを生成する仮想センサ生成装置を開示する。この仮想センサ生成装置においては、所定範囲内に存在する実センサが検出され、検出された実センサを用いることによって仮想センサが生成される（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４５２４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に開示されるような仮想センサは、たとえば、実センサ（デバイスの一例）と、処理モジュールとを含む。処理モジュールは、たとえば、複数の学習用データを用いることによって生成された学習済みモデルであって、実センサにより出力されたセンシングデータ（入力データの一例）に処理を施すことによって、入力データとは異なる出力データを生成する。
【０００５】
このような場合に、学習用データの生成に用いられたデバイスと全く異なる属性を有するデバイスによって出力されたデータが処理モジュールへ入力されると、学習済みモデルの本来の機能が発揮されず、その結果、仮想センサが所望の機能を発揮できないという事態が生じ得る。
【０００６】
本発明は、このような問題を解決するためになされたものであって、その目的は、処理モジュールへ入力データを出力するデバイスの適合性を判定可能な適合性判定装置、適合性判定方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明のある局面に従う適合性判定装置は、処理モジュールへ入力データを出力する主体の適合性を判定するように構成されている。処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。複数の学習用データの各々は、入力データと、入力データに対応付けられた出力データの正解ラベルとを含む。処理モジュールには、第１メタデータが対応付けられている。第１メタデータは、各々が共通の正解ラベルに対応付けられた複数の入力データの確率密度関数に基づいて生成されている。適合性判定装置は、第１取得部と、判定部とを備える。第１取得部は、第１メタデータを取得するように構成されている。判定部は、第１メタデータに基づいて適合性を判定するように構成されている。
【０００８】
上述のように、処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルである。学習済みモデルは、学習用データを出力したデバイスの属性を前提としているため、全く異なる属性のデバイスによって出力されたデータが入力された場合に所望の結果を出力するとは限らない。この適合性判定装置においては、各々が共通の正解ラベル（学習用データに含まれる。）に対応付けられた複数の入力データ（学習用データに含まれる。）の確率密度関数に基づいて第１メタデータが生成され、第１メタデータに基づいてデバイスの適合性が判定される。すなわち、この適合性判定装置においては、学習用データを出力したデバイスの属性が十分に考慮された上で、デバイスの適合性が判定される。したがって、この適合性判定装置によれば、処理モジュールへ入力データを出力するデバイスの適合性をより正確に判定することができる。
【０００９】
また、上記適合性判定装置は、バッファと、確率密度関数生成部とをさらに備えてもよい。バッファは、上記主体によって処理モジュールへ出力された入力データを一時的に記憶するように構成されている。確率密度関数生成部は、バッファに記憶された複数の入力データの確率密度関数を生成するように構成されている。判定部は、第１メタデータと、確率密度関数生成部によって生成された確率密度関数とに基づいてデバイスの適合性を判定するように構成されてもよい。
【００１０】
この適合性判定装置においては、デバイスによって処理モジュールへ出力された複数の入力データの確率密度関数と第１メタデータとに基づいてデバイスの適合性が判定される。したがって、この適合性判定装置によれば、デバイスによって処理モジュールへ出力された複数の入力データの確率密度関数も考慮されるため、処理モジュールへ入力データを出力しているデバイスの適合性をより正確に判定することができる。
【００１１】
また、第１メタデータは、各々が共通の正解ラベルに対応付けられた複数の入力データの確率密度関数であってもよい。判定部は、第１メタデータと、確率密度関数生成部によって生成された確率密度関数との類似度が所定値以上である場合に上記主体が適合であると判定するように構成されてもよい。
【００１２】
この適合性判定装置においては、第１メタデータと、確率密度関数生成部によって生成された確率密度関数との類似度が所定値以上である場合にデバイスが適合であると判定される。すなわち、この適合性判定装置においては、学習用データを出力したデバイスと出力の傾向が近いデバイスが適合であると判定される。したがって、この適合性判定装置によれば、判定基準が適切であるため、処理モジュールへ入力データを出力しているデバイスの適合性をより正確に判定することができる。
【００１３】
また、上記主体には、第２メタデータが対応付けられてもよい。第２メタデータは、各々が上記主体によって処理モジュールへ出力された複数の入力データの確率密度関数に基づいて生成されている。該複数の入力データの各々が処理モジュールへ入力された場合に、処理モジュールは共通の出力データを出力する。適合性判定装置は、第２取得部をさらに備えてもよい。第２取得部は、第２メタデータを取得するように構成されている。判定部は、第１及び第２メタデータに基づいてデバイスの適合性を判定するように構成されてもよい。
【００１４】
この適合性判定装置においては、第１及び第２メタデータに基づいてデバイスの適合性が判定される。したがって、この適合性判定装置によれば、第２メタデータを参照することによって処理モジュールへ入力データを出力しているデバイスの属性が十分に考慮されるため、処理モジュールへ入力データを出力しているデバイスの適合性をより正確に判定することができる。
【００１５】
また、第１メタデータは、各々が共通の正解ラベルに対応付けられた複数の入力データの確率密度関数であってもよい。第２メタデータは、各々がデバイスによって処理モジュールへ出力された複数の入力データの確率密度関数であってもよい。判定部は、第１及び第２メタデータの類似度が所定値以上である場合にデバイスが適合であると判定するように構成されてもよい。
【００１６】
この適合性判定装置においては、第１及び第２メタデータの類似度が所定値以上である場合にデバイスが適合であると判定される。すなわち、この適合性判定装置においては、学習用データを出力したデバイスと出力の傾向が近いデバイスが適合であると判定される。したがって、この適合性判定装置によれば、判定基準が適切であるため、処理モジュールへ入力データを出力しているデバイスの適合性をより正確に判定することができる。
【００１７】
また、上記主体はセンサであってもよく、入力データはセンサによって出力されたセンシングデータであってもよい。
【００１８】
また、処理モジュールは、複数の入力データに基づいて出力データを生成するように構成されてもよい。
【００１９】
また、処理モジュールと、処理モジュールへ入力データを出力するデバイスとによって仮想センサが形成されてもよい。
【００２０】
本発明の別の局面に従うメタデータ生成方法は、処理モジュールへ入力データを出力する主体の適合性を判定する。処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。複数の学習用データの各々は、入力データと、入力データに対応付けられた出力データの正解ラベルとを含む。処理モジュールには、第１メタデータが対応付けられている。第１メタデータは、各々が共通の正解ラベルに対応付けられた複数の入力データの確率密度関数に基づいて生成されている。適合性判定方法は、第１メタデータを取得するステップと、第１メタデータに基づいて適合性を判定するステップとを含む。
【００２１】
この適合性判定方法においては、各々が共通の正解ラベル（学習用データに含まれる。）に対応付けられた複数の入力データ（学習用データに含まれる。）の確率密度関数に基づいて第１メタデータが生成され、第１メタデータに基づいてデバイスの適合性が判定される。すなわち、この適合性判定方法においては、学習用データを出力したデバイスの属性が十分に考慮された上で、デバイスの適合性が判定される。したがって、この適合性判定方法によれば、処理モジュールへ入力データを出力するデバイスの適合性をより正確に判定することができる。
【００２２】
本発明の別の局面に従うプログラムは、処理モジュールへ入力データを出力する主体の適合性を判定する処理をコンピュータに実行させる。処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。複数の学習用データの各々は、入力データと、入力データに対応付けられた出力データの正解ラベルとを含む。処理モジュールには、第１メタデータが対応付けられている。第１メタデータは、各々が共通の正解ラベルに対応付けられた複数の入力データの確率密度関数に基づいて生成されている。プログラムは、第１メタデータを取得するステップと、第１メタデータに基づいてデバイスの適合性を判定するステップとをコンピュータに実行させるように構成されている。
【００２３】
このプログラムがコンピュータによって実行されると、各々が共通の正解ラベル（学習用データに含まれる。）に対応付けられた複数の入力データ（学習用データに含まれる。）の確率密度関数に基づいて第１メタデータが生成され、第１メタデータに基づいてデバイスの適合性が判定される。すなわち、このプログラムがコンピュータによって実行されると、学習用データを出力したデバイスの属性が十分に考慮された上で、デバイスの適合性が判定される。したがって、このプログラムによれば、処理モジュールへ入力データを出力するデバイスの適合性をより正確に判定することができる。
【発明の効果】
【００２４】
本発明によれば、処理モジュールへ入力データを出力するデバイスの適合性を判定可能な適合性判定装置、適合性判定方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】適合性判定装置の概要を説明するための図である。
【図２】実施の形態１におけるセンサネットワークシステムの一例を示す図である。
【図３】実施の形態１における仮想センサ管理サーバのハードウェア構成の一例を示す図である。
【図４】学習用データＤＢの一例を示す図である。
【図５】第１メタデータＤＢの一例を示す図である。
【図６】仮想センサ管理サーバのソフトウェア構成の一部（第１メタデータ生成モジュールを含む。）の一例を示す図である。
【図７】実施の形態１における、仮想センサ管理サーバのソフトウェア構成の一部（適合性判定モジュールを含む。）の一例を示す図である。
【図８】第１メタデータの生成動作の一例を示すフローチャートである。
【図９】実施の形態１における、センシングデバイスの適合性判定動作の一例を示すフローチャートである。
【図１０】実施の形態２におけるセンサネットワークシステムを示す図である。
【図１１】実施の形態２における仮想センサ管理サーバのハードウェア構成を示す図である。
【図１２】第２メタデータＤＢの一例を示す図である。
【図１３】実施の形態２における、仮想センサ管理サーバのソフトウェア構成の一部（適合性判定モジュールを含む。）の一例を示す図である。
【図１４】実施の形態２における、センシングデバイスの適合性判定動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明の一側面に係る実施の形態（以下、「本実施の形態」とも称する。）について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
【００２７】
［１．実施の形態１］
＜１−１．概要＞
図１は、本実施の形態に従う適合性判定装置６０の概要を説明するための図である。図１を参照して、処理モジュール１１０は少なくとも１つの入力ポートを有し、各入力ポートにはセンシングデバイス１２（デバイスの一例）によって出力されたセンシングデータ（入力データの一例）が入力される。処理モジュール１１０は、入力データに基づいて入力データとは異なる出力データを生成するように構成されている。すなわち、処理モジュール１１０と、処理モジュール１１０へ入力データを出力するセンシングデバイス１２（入力センサ）とによって、いわゆる仮想センサが形成される。仮想センサとは、入力センサが対象を観測することによって生成されたセンシングデータに基づいて、入力センサによって観測された対象とは異なる対象の観測結果をセンシングデータとして出力するセンサモジュールである。仮想センサについては、後程詳しく説明する。
【００２８】
処理モジュール１１０は、複数の学習用データを用いることによって生成された学習済みモデルである。各学習用データは、処理モジュール１１０への入力データ（センシングデバイス１２によって出力されたセンシングデータ）と、該入力データが入力された場合における処理モジュール１１０の出力データの正解ラベルとを含む。
【００２９】
処理モジュール側メタデータＤＢ（以下、「第１メタデータＤＢ」とも称する。）１５０には、該学習用データに基づいて生成された、処理モジュール１１０のメタデータ（以下、「第１メタデータ」とも称する。）が格納されている。具体的には、第１メタデータは、各々が共通の正解ラベル（処理モジュール１１０の生成時に使用された学習用データに含まれている。）に対応付けられた複数の入力データの確率密度関数に基づいて生成されている。
【００３０】
処理モジュール１１０に、学習用データの生成に用いられたセンシングデバイス１２と全く異なる属性を有するセンシングデバイス１２によって出力されたデータが入力されると、学習済みモデルの本来の機能が発揮されず、その結果、仮想センサが所望の機能を発揮できないという事態が生じ得る。
【００３１】
本実施の形態に従う適合性判定装置６０は、このような事態を回避するために、処理モジュール１１０へ入力データを出力するセンシングデバイス１２の適合性を判定する。
【００３２】
具体的には、適合性判定装置６０は、取得部１３２と、適合性判定部１３６とを備える。取得部１３２は、処理モジュール１１０に対応付けられている第１メタデータを取得する。適合性判定部１３６は、第１メタデータに基づいて、センシングデバイス１２の適合性を判定する。
【００３３】
この適合性判定装置６０においては、各々が共通の正解ラベル（学習用データに含まれる。）に対応付けられた複数の入力データ（学習用データに含まれる。）の確率密度関数に基づいて第１メタデータが生成され、第１メタデータに基づいてセンシングデバイス１２の適合性が判定される。すなわち、この適合性判定装置６０においては、学習用データを出力したセンシングデバイス１２の属性が十分に考慮された上で、センシングデバイス１２の適合性が判定される。したがって、この適合性判定装置６０によれば、処理モジュール１１０へ入力データを出力するセンシングデバイス１２の適合性をより正確に判定することができる。
【００３４】
＜１−２．構成＞
（１−２−１．システム全体の構成）
図２は、本実施の形態１に従う処理モジュール側メタデータ生成モジュール（以下、「第１メタデータ生成モジュール」とも称する。）１２０を含むセンサネットワークシステム１０の一例を示す図である。図２の例では、センサネットワークシステム１０は、センサネットワーク部１４と、仮想センサ管理サーバ１００と、アプリケーションサーバ３００とを含む。
【００３５】
センサネットワーク部１４、仮想センサ管理サーバ１００及びアプリケーションサーバ３００は、インターネット１５を介して相互に通信可能に接続されている。なお、センサネットワークシステム１０に含まれる各構成要素（仮想センサ管理サーバ１００、アプリケーションサーバ３００、センサネットワークアダプタ１１及びセンシングデバイス１２等）の数は、図２に示されるものに限定されない。
【００３６】
センサネットワークシステム１０においては、センシングデバイス１２等によって生成されたセンシングデータが流通可能である。たとえば、センシングデバイス１２によって生成されたセンシングデータは仮想センサ管理サーバ１００に流通し得るし、仮想センサによって生成されたセンシングデータはアプリケーションサーバ３００に流通し得る。
【００３７】
センサネットワーク部１４は、たとえば、複数のセンサネットワークアダプタ１１を含む。複数のセンサネットワークアダプタ１１の各々には複数のセンシングデバイス１２が接続されており、各センシングデバイス１２はセンサネットワークアダプタ１１を介してインターネット１５に接続されている。
【００３８】
センシングデバイス１２は、対象を観測することによってセンシングデータを得るように構成されている。センシングデバイス１２は、たとえば、画像センサ（カメラ）、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、速度センサ、加速度センサ、ＲＦＩＤ（Radio Frequency IDentification）センサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等を含む。また、センシングデバイス１２は、必ずしも固設型である必要はなく、携帯電話、スマートフォン及びタブレット等の移動型であってもよい。また、各センシングデバイス１２は、必ずしも単一のセンサで構成されている必要はなく、複数のセンサによって構成されていてもよい。また、センシングデバイス１２は、どのような目的で設置されていてもよく、たとえば、工場におけるＦＡ（Factory Automation）及び生産管理、都市交通制御、気象等の環境計測、ヘルスケア並びに防犯等のために設置されていてもよい。
【００３９】
センサネットワーク部１４において、たとえば、各センサネットワークアダプタ１１は別々の（遠い）場所に配置され、各センサネットワークアダプタ１１に接続される各センシングデバイス１２は同一の（近い）場所に配置されるが、これらの配置場所はこれに限定されない。
【００４０】
各アプリケーションサーバ３００（３００Ａ，３００Ｂ）は、センシングデータを利用するアプリケーションを実行するように構成されており、たとえば、汎用のコンピュータによって実現されている。アプリケーションサーバ３００は、インターネット１５を介して必要なセンシングデータを取得する。
【００４１】
仮想センサ管理サーバ１００は、仮想センサを実現するためのサーバである。仮想センサ管理サーバ１００においては、複数の処理モジュール１１０と、第１メタデータ生成モジュール１２０と、適合性判定モジュール１３０とが実現されるとともに、学習用データＤＢ１４０と、第１メタデータＤＢ１５０とが管理される。複数の処理モジュール１１０、第１メタデータ生成モジュール１２０及び適合性判定モジュール１３０の各々は、たとえば、ソフトウェアモジュールである。
【００４２】
処理モジュール１１０は、少なくとも１つの入力ポートを含み、各入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール１１０は、必要に応じて入力ポートへ入力データを出力するセンシングデバイス１２を切り替え可能である。たとえば、現在入力ポートに入力データを出力しているセンシングデバイス１２が故障した場合に、処理モジュール１１０は、入力センサを他のセンシングデバイス１２に切り替えることができる。
【００４３】
処理モジュール１１０は、たとえば、室内に配置された音センサによって出力される入力データ（音声データ）に基づいて、該室内に存在する人の数を示すデータを出力するように構成されてもよい。この場合には、処理モジュール１１０と、センシングデバイス１２（音センサ）とによって、室内の人の数を検知する仮想センサを実現することができる。
【００４４】
第１メタデータ生成モジュール１２０は、処理モジュール１１０に対応付けられる第１メタデータを生成するように構成されている。適合性判定モジュール１３０は、処理モジュール１１０へ入力データを出力しているセンシングデバイス１２の適合性を判定するように構成されている。各ソフトウェアモジュール及び各データベースの詳細については後程説明する。
【００４５】
（１−２−２．仮想センサ管理サーバのハードウェア構成）
図３は、仮想センサ管理サーバ１００のハードウェア構成の一例を示す図である。なお、本実施の形態１において、仮想センサ管理サーバ１００は、たとえば、汎用コンピュータによって実現される。
【００４６】
図３の例において、仮想センサ管理サーバ１００は、制御部１８０と、通信Ｉ／Ｆ（interface）１９５と、記憶部１９０とを含み、各構成は、バス１９７を介して電気的に接続されている。
【００４７】
制御部１８０は、ＣＰＵ（Central Processing Unit）１８２、ＲＡＭ（Random Access Memory）１８４及びＲＯＭ（Read Only Memory）１８６等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
【００４８】
通信Ｉ／Ｆ１９５は、インターネット１５を介して、仮想センサ管理サーバ１００の外部に設けられた外部装置（たとえば、アプリケーションサーバ３００及びセンサネットワーク部１４（図２））と通信するように構成されている。通信Ｉ／Ｆ１９５は、たとえば、有線ＬＡＮ（Local Area Network）モジュールや無線ＬＡＮモジュールで構成される。
【００４９】
記憶部１９０は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部１９０は、たとえば、学習用データＤＢ１４０と、第１メタデータＤＢ１５０と、制御プログラム１９１とを記憶するように構成されている。また、記憶部１９０の一部の記憶領域には、データバッファ１６０が設けられている。
【００５０】
図４は、学習用データＤＢ１４０の一例を示す図である。図４の例では、学習用データＤＢ１４０において、各処理モジュール１１０の生成時に用いられた学習用データが管理されている。この例において、処理モジュールＭ１は、音センサから出力された入力データ（音量データ）に基づいて、該音センサが配置されている部屋内に存在する人の数を出力するように構成されている。この場合に、処理モジュールＭ１の生成に用いられた複数の学習用データの各々は、音量データと、該音量データが入力された場合における処理モジュール１１０の出力データ（部屋内の人数）の正解ラベル（正しい値）とを含む。
【００５１】
なお、処理モジュールＭ１は、１つの入力データに基づいて１つの出力データを生成することとしたが、各処理モジュール１１０は、必ずしも１つの入力データに基づいて１つの出力データを生成する必要はない。各処理モジュール１１０は、たとえば、複数の入力データに基づいて１つの出力データを生成してもよい。
【００５２】
図５は、第１メタデータＤＢ１５０の一例を示す図である。図５の例では、第１メタデータＤＢ１５０において、各処理モジュール１１０の第１メタデータ１５１が管理されている。各第１メタデータ１５１は、対応付けられている処理モジュール１１０の生成時に使用された複数の学習用データに基づいて生成される。各処理モジュール１１０に対応付けられる第１メタデータについては、生成方法及び利用方法も含めて後程詳しく説明する。
【００５３】
再び図３を参照して、データバッファ１６０は、センシングデバイス１２によって処理モジュール１１０へ出力されたセンシングデータを一時的に記憶するように構成されている。データバッファ１６０に一時的に記憶されたセンシングデータに基づいて、処理モジュール１１０へセンシングデータを出力しているセンシングデバイス１２の適合性が判定される。適合性の判定方法については、後程詳しく説明する。
【００５４】
制御プログラム１９１は、制御部１８０によって実行される仮想センサ管理サーバ１００の制御プログラムである。たとえば、制御部１８０が制御プログラム１９１を実行することによって、各処理モジュール１１０、第１メタデータ生成モジュール１２０及び適合性判定モジュール１３０が実現されてもよい。制御部１８０が制御プログラム１９１を実行する場合に、制御プログラム１９１は、ＲＡＭ１８４に展開される。そして、制御部１８０は、ＲＡＭ１８４に展開された制御プログラム１９１をＣＰＵ１８２によって解釈及び実行することにより、各構成要素を制御する。
【００５５】
（１−２−３．仮想センサ管理サーバのソフトウェア構成）
図６は、仮想センサ管理サーバ１００のソフトウェア構成の一部（第１メタデータ生成モジュール１２０を含む。）の一例を示す図である。図６の例においては、制御部１８０が制御プログラム１９１を実行することによって、処理モジュール１１０と、第１メタデータ生成モジュール１２０と、第１メタデータ登録部１２６とが実現される。
【００５６】
上述のように、処理モジュール１１０は、学習用データＤＢ１４０に格納されている複数の学習用データを用いた学習を行なうことによって生成されている。
【００５７】
第１メタデータ生成モジュール１２０は、処理モジュール１１０の生成に用いられた学習用データに基づいて、処理モジュール１１０に対応付けられるメタデータ（第１メタデータ）を生成するように構成されている。第１メタデータ生成モジュール１２０は、確率密度関数生成部１２２と、処理モジュール側メタデータ生成部（以下、「第１メタデータ生成部」とも称する。）１２４とを含む。
【００５８】
確率密度関数生成部１２２は、処理モジュール１１０の生成に用いられた複数の学習用データを学習用データＤＢ１４０から読み出す。確率密度関数生成部１２２は、各々が共通の正解ラベルに対応付けられた複数の入力データの確率密度関数を生成する。確率密度関数生成部１２２は、正解ラベル毎に確率密度関数を生成する。すなわち、確率密度関数生成部１２２においては、複数の確率密度関数が生成される。なお、処理モジュール１１０への入力データが１つである場合には、確率密度関数は、図５内の第１メタデータ１５１に示されるように２次元となるが、処理モジュール１１０への入力データが２つ以上である場合には、入力データ数が増加するのに応じて確率密度関数の次元数も増加する。
【００５９】
第１メタデータ生成部１２４は、確率密度関数生成部１２２によって生成された複数の確率密度関数に基づいて、第１メタデータ（たとえば、図５における第１メタデータ１５１）を生成する。たとえば、第１メタデータ生成部１２４は、確率密度関数生成部１２２によって生成された複数の確率密度関数を一纏めにしたデータを第１メタデータとする。
【００６０】
第１メタデータ登録部１２６は、第１メタデータ生成部１２４によって生成された第１メタデータを、処理モジュール１１０に対応付けて第１メタデータＤＢ１５０に登録する。本実施の形態１に従う仮想センサ管理サーバ１００においては、各処理モジュール１１０の第１メタデータが第１メタデータＤＢ１５０に登録される。第１メタデータＤＢ１５０に登録された第１メタデータは、様々な用途に用いられる。
【００６１】
図７は、仮想センサ管理サーバ１００のソフトウェア構成の一部（適合性判定モジュール１３０を含む。）の一例を示す図である。図７の例に示される構成は、第１メタデータＤＢ１５０に登録された第１メタデータを利用する。なお、適合性判定モジュール１３０と、切替部１３８と、処理モジュール１１０とは、制御部１８０が制御プログラム１９１を実行することによって実現される。
【００６２】
適合性判定モジュール１３０は、処理モジュール１１０に対応付けられた第１メタデータと、処理モジュール１１０への入力データとに基づいて、処理モジュール１１０へ入力データを出力しているセンシングデバイス１２の適合性を判定する。適合性判定モジュール１３０は、取得部１３２と、確率密度関数生成部１３４と、適合性判定部１３６とを含む。
【００６３】
取得部１３２は、処理モジュール１１０に対応付けられている第１メタデータを第１メタデータＤＢ１５０から取得する。なお、処理モジュール１１０には、適合性判定の対象となっているセンシングデバイス１２によって出力されたセンシングデータが入力されている。センシングデバイス１２によって出力されたセンシングデータは、データバッファ１６０に一時的に記憶される。
【００６４】
確率密度関数生成部１３４は、データバッファ１６０に一時的に記憶された複数のセンシングデータ（入力データ）の確率密度関数を生成する。該複数のセンシングデータは、センシングデバイス１２の周囲の環境が大きく変わらない時間内に生成されている。すなわち、確率密度関数生成部１３４によって生成される確率密度関数は、共通の環境下においてセンシングデバイス１２によって出力されるセンシングデータ（処理モジュール１１０への入力データ）の確率密度関数であり、センシングデバイス１２の属性（出力の傾向）を示す。
【００６５】
適合性判定部１３６は、取得部１３２によって取得された第１メタデータと、確率密度関数生成部１３４によって生成された確率密度関数とに基づいて、センシングデバイス１２の適合性を判定する。適合性判定部１３６は、たとえば、第１メタデータに含まれる複数の確率密度関数のいずれかと、確率密度関数生成部１３４によって生成された確率密度関数との類似度が所定値以上か否かを判定する。なお、類似度の算出には、公知の種々の方法が用いられる。
【００６６】
適合性判定部１３６は、類似度が所定値以上である場合には、センシングデバイス１２の出力の傾向が処理モジュール１１０の学習用データを生成したセンシングデバイス１２の出力の傾向と近いため、センシングデバイス１２が適合であると判定する。一方、適合性判定部１３６は、類似度が所定値未満である場合には、センシングデバイス１２の出力の傾向が処理モジュール１１０の学習用データを生成したセンシングデバイス１２の出力の傾向と近くないため、センシングデバイス１２が不適合であると判定する。
【００６７】
切替部１３８は、適合性判定部１３６による判定結果に基づいて、処理モジュール１１０へセンシングデータを出力するセンシングデバイス１２の切替えを行なう。切替部１３８は、たとえば、適合性判定部１３６によってセンシングデバイス１２が不適合であると判定された場合に、センシングデバイス１２の切替えを行なう。たとえば、切替部１３８は、通信Ｉ／Ｆ１９５を介して、現在処理モジュール１１０へ入力データを出力しているセンシングデバイス１２に出力の停止指示を送信するとともに、別のセンシングデバイス１２へ出力の開始指示を送信する。一方、切替部１３８は、たとえば、適合性判定部１３６によってセンシングデバイス１２が適合であると判定された場合に、センシングデバイス１２の切替えを行なわない。
【００６８】
＜１−３．動作＞
（１−３−１．メタデータ生成動作）
図８は、第１メタデータの生成動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、処理モジュール１１０の生成後に、制御部１８０が第１メタデータ生成モジュール１２０（図６）として機能することによって実行される。
【００６９】
図８を参照して、制御部１８０は、処理モジュール１１０の生成に用いられた複数の学習用データに含まれる複数種類の正解ラベルのうちいずれかを選択する（ステップＳ１００）。制御部１８０は、各々が選択された種類の正解ラベルに対応付けられている複数の入力データ（処理モジュール１１０の生成に用いられた複数の学習用データに含まれる。）に基づいて確率密度関数を生成する（ステップＳ１１０）。
【００７０】
制御部１８０は、複数の学習用データに含まれる全種類の正解ラベルに関して確率密度関数を生成したか否かを判定する（ステップＳ１２０）。一部の正解ラベルに関して確率密度関数を生成していないと判定されると（ステップＳ１２０においてＮＯ）、制御部１８０は、既に確率密度関数が生成された正解ラベルとは異なる種類の正解ラベルを選択する（ステップＳ１３０）。その後、制御部１８０は、全種類の正解ラベルに関して確率密度関数を生成するまで、ステップＳ１１０からステップＳ１３０までの処理を繰り返す。
【００７１】
一方、ステップＳ１２０において、全種類の正解ラベルに関して確率密度関数を生成したと判定されると（ステップＳ１２０においてＹＥＳ）、制御部１８０は、生成された全ての確率密度関数に基づいて第１メタデータを生成する（ステップＳ１４０）。その後、制御部１８０は、生成された第１メタデータを第１メタデータＤＢ１５０（図６）に登録する（ステップＳ１５０）。
【００７２】
このように、本実施の形態１においては、各々が共通の正解ラベルに対応付けられた複数の入力データ（学習用データに含まれる。）の確率密度関数に基づいて第１メタデータが生成される。第１メタデータには、学習用データを生成したセンシングデバイス１２の属性が反映される。第１メタデータを参照することによって、たとえば、処理モジュール１１０へ入力データを出力するセンシングデバイス１２として、学習用データを生成したセンシングデバイス１２と近い属性を有するセンシングデバイス１２を選択することができ、処理モジュール１１０へ不適切なデータが入力されることを回避することができる。したがって、仮想センサ管理サーバ１００によれば、処理モジュール１１０への不適切なデータの入力の回避に役立つ第１メタデータを生成することができる。
【００７３】
（１−３−２．センシングデバイスの適合性判定動作）
図９は、センシングデバイス１２の適合性判定動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、センシングデバイス１２から処理モジュール１１０へセンシングデータが出力されている場合に、所定間隔で実行される。また、このフローチャートに示される処理は、制御部１８０が適合性判定モジュール１３０として機能することによって実行される。
【００７４】
図９を参照して、制御部１８０は、処理モジュール１１０に対応付けられている第１メタデータを第１メタデータＤＢ１５０から取得する（ステップＳ２００）。ステップＳ２００において取得される第１メタデータが対応付けられている処理モジュール１１０には、適合性の判定対象であるセンシングデバイス１２によって出力されたセンシングデータが入力されている。
【００７５】
制御部１８０は、センシングデバイス１２によって処理モジュール１１０へ出力されたセンシングデータのバッファリングを開始するようにデータバッファ１６０を制御する（ステップＳ２１０）。制御部１８０は、バッファリングの開始から所定時間Ｔ１が経過したか否かを判定する（ステップＳ２２０）。所定時間Ｔ１が経過していないと判定されると（ステップＳ２２０においてＮＯ）、制御部１８０は、所定時間Ｔ１が経過するまで、センシングデータのバッファリングを継続する。なお、所定時間Ｔ１は、たとえば、センシングデバイス１２の周囲の環境が大きく変わらない時間である。
【００７６】
一方、ステップＳ２２０において、所定時間Ｔ１が経過したと判定されると（ステップＳ２２０においてＹＥＳ）、制御部１８０は、データバッファ１６０に記憶された複数のセンシングデータに基づいて確率密度関数を生成する（ステップＳ２３０）。制御部１８０は、生成された確率密度関数と、ステップＳ２００において取得された第１メタデータに含まれる複数の確率密度関数の各々との類似度を算出し、算出されたいずれかの類似度が所定値Ｖ１以上であるか否かを判定する（ステップＳ２４０）。
【００７７】
いずれかの類似度が所定値Ｖ１以上であると判定されると（ステップＳ２４０においてＹＥＳ）、制御部１８０は、センシングデバイス１２が適合であると判定する（ステップＳ２５０）。一方、全ての類似度が所定値Ｖ１未満であると判定されると（ステップＳ２４０においてＮＯ）、制御部１８０は、センシングデバイス１２が不適合であると判定する（ステップＳ２６０）。
【００７８】
＜１−４．特徴＞
以上のように、本実施の形態１においては、処理モジュール１１０に対応付けられている第１メタデータに基づいて、処理モジュール１１０へセンシングデータを出力しているセンシングデバイス１２の適合性が判定される。すなわち、本実施の形態１においては、処理モジュール１１０の生成に用いられた学習用データを出力したセンシングデバイス１２の属性（出力傾向）が十分に考慮された上で、センシングデバイス１２の適合性が判定される。したがって、本実施の形態１に従う仮想センサ管理サーバ１００によれば、処理モジュール１１０へ入力データを出力するセンシングデバイス１２の適合性をより正確に判定することができる。
【００７９】
また、本実施の形態１においては、センシングデバイス１２の適合性の判定時に、データバッファ１６０に記憶された複数のセンシングデータに基づいて生成された確率密度関数が考慮された。したがって、本実施の形態１に従う仮想センサ管理サーバ１００によれば、処理モジュール１１０へ入力データを出力するセンシングデバイス１２の適合性をより正確に判定することができる。
【００８０】
［２．実施の形態２］
上記実施の形態１においては、処理モジュール１１０へセンシングデータを出力しているセンシングデバイス１２の適合性が、処理モジュール１１０に対応付けられた第１メタデータと、バッファリングされたセンシングデータとに基づいて判定された。詳細については後述するが、本実施の形態２においては、各センシングデバイス１２に予めセンサ側メタデータ（以下、「第２メタデータ」とも称する。）が対応付けられており、第１及び第２メタデータに基づいてセンシングデバイス１２の適合性が判定される。以下では、実施の形態１と異なる点を中心に説明する。
【００８１】
＜２−１．構成＞
（２−１−１．システム全体の構成）
図１０は、本実施の形態２におけるセンサネットワークシステム１０Ａを示す図である。図２の例において、センサネットワークシステム１０Ａは、仮想センサ管理サーバ１００Ａを含み、仮想センサ管理サーバ１００Ａは、センサ側メタデータＤＢ（以下、「第２メタデータＤＢ」とも称する。）１７０と、適合性判定モジュール１３０Ａとを含む。第２メタデータＤＢ１７０及び適合性判定モジュール１３０Ａについては、後程詳しく説明する。
【００８２】
（２−１−２．仮想センサ管理サーバのハードウェア構成）
図１１は、仮想センサ管理サーバ１００Ａのハードウェア構成を示す図である。図１１の例において、仮想センサ管理サーバ１００Ａは制御部１８０Ａと記憶部１９０Ａとを含み、記憶部１９０Ａは第２メタデータＤＢ１７０と制御プログラム１９１Ａとを記憶している。
【００８３】
制御部１８０Ａは、ＣＰＵ１８２、ＲＡＭ１８４及びＲＯＭ１８６等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。記憶部１９０Ａは、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。
【００８４】
図１２は、第２メタデータＤＢ１７０の一例を示す図である。図１２の例では、第２メタデータＤＢ１７０において、センサネットワーク部１４に含まれるセンシングデバイス１２毎に第２メタデータ１７１が管理されている。この例において、第２メタデータＤＢ１７０は、少なくとも、センシングデバイスＳ１，Ｓ２，Ｓ３の各々に対応付けられている第２メタデータ１７１を管理している。各第２メタデータは、各々がセンシングデバイス１２によって処理モジュール１１０へ出力された複数の入力データ（センシングデータ）に基づいて生成されている。なお、該複数の入力データの各々が処理モジュール１１０へ入力された場合に、処理モジュール１１０は共通の出力値を出力する。
【００８５】
たとえば、センシングデバイスＳ１に関して、第２メタデータ１７１の一例は、処理モジュールＭ１が各出力値（共通の出力値）を出力した場合におけるセンシングデータ（センシングデバイスＳ１（入力センサ）の出力値）の確率密度関数、及び、処理モジュールＭ２が各出力値を出力した場合におけるセンシングデータの確率密度関数である。第２メタデータ１７１は、たとえば、新たなセンシングデバイス１２がセンサネットワーク部１４に追加された場合や、仮想センサ管理サーバ１００Ａにおいて新たな処理モジュール１１０が生成された場合に生成される。
【００８６】
（２−１−３．仮想センサ管理サーバのソフトウェア構成）
図１３は、仮想センサ管理サーバ１００Ａのソフトウェア構成の一部（適合性判定モジュール１３０Ａを含む。）の一例を示す図である。適合性判定モジュール１３０Ａ及び切替部１３８Ａは、制御部１８０Ａが制御プログラム１９１Ａを実行することによって実現される。
【００８７】
適合性判定モジュール１３０Ａは、処理モジュール１１０に対応付けられた第１メタデータと、センシングデバイス１２に対応付けられた第２メタデータとに基づいて、処理モジュール１１０へセンシングデータを出力している（又は、出力する予定である）センシングデバイス１２の適合性を判定する。適合性判定モジュール１３０Ａは、取得部１３２Ａ，１３５と、適合性判定部１３６Ａとを含む。
【００８８】
取得部１３２Ａは、処理モジュール１１０に対応付けられている第１メタデータを第１メタデータＤＢ１５０から取得する。なお、適合性の判定対象となっているセンシングデバイス１２は、該処理モジュール１１０へセンシングデータを出力していてもよいし、該処理モジュール１１０へセンシングデータを出力する予定（現時点では出力していない。）であってもよい。
【００８９】
取得部１３５は、適合性の判定対象であるセンシングデバイス１２に対応付けられている複数の第２メタデータのうち、センシングデータの出力先（出力予定先を含む。）の処理モジュール１１０に対応付けられている第２メタデータを第２メタデータＤＢ１７０（図１２）から取得する。
【００９０】
適合性判定部１３６Ａは、取得部１３２Ａによって取得された第１メタデータと、取得部１３５によって取得された第２メタデータとに基づいて、センシングデバイス１２の適合性を判定する。適合性判定部１３６Ａは、たとえば、第１及び第２メタデータの類似度が所定値以上か否かを判定する。なお、類似度の算出には、公知の種々の方法が用いられる。
【００９１】
適合性判定部１３６Ａは、類似度が所定値以上である場合には、センシングデバイス１２の出力の傾向が処理モジュール１１０の学習用データを生成したセンシングデバイス１２の出力の傾向と近いため、センシングデバイス１２が適合であると判定する。一方、適合性判定部１３６Ａは、類似度が所定値未満である場合には、センシングデバイス１２の出力の傾向が処理モジュール１１０の学習用データを生成したセンシングデバイス１２の出力の傾向と近くないため、センシングデバイス１２が不適合であると判定する。
【００９２】
切替部１３８Ａは、適合性判定部１３６Ａによる判定結果に基づいて、処理モジュール１１０へセンシングデータを出力するセンシングデバイス１２の切替えを行なう。切替部１３８Ａは、たとえば、適合性判定部１３６Ａによってセンシングデバイス１２が不適合であると判定された場合に、センシングデバイス１２の切替えを行なう。
【００９３】
たとえば、切替部１３８Ａは、センシングデバイス１２が処理モジュール１１０へセンシングデータを出力している場合にセンシングデバイス１２が不適合であると判定されたときは、通信Ｉ／Ｆ１９５を介して、該センシングデバイス１２へ出力の停止指示を送信するとともに、別のセンシングデバイス１２へ出力の開始指示を送信する。この場合に、別のセンシングデバイス１２は、必ずしも出力の停止指示が送信されたセンシングデバイス１２と同種のセンシングデバイス１２である必要はない。たとえば、出力停止指示が送信されたセンシングデバイス１２が監視カメラである場合に、切替え先のセンシングデバイス１２がスマートフォン（カメラ機能有り）であってもよい。要するに、切替え元と切替え先とが同種の機能を有していればよい。
【００９４】
なお、切替部１３８Ａは、センシングデバイス１２が未だにセンシングデータを出力していない場合には、特に切替えを行なわない。この場合に、センシングデバイス１２が不適合であると判定されたときは、たとえば、別のセンシングデバイス１２の適合性判定が行なわれる。
【００９５】
＜２−２．センシングデバイスの適合性判定動作＞
図１４は、センシングデバイス１２の適合性判定動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、センシングデバイス１２から処理モジュール１１０へセンシングデータが出力されている場合に、所定間隔で実行される。また、このフローチャートに示される処理は、たとえば、処理モジュール１１０へ未だにセンシングデータが入力されていない状態で、センシングデバイス１２を選択する場合に実行される。また、このフローチャートに示される処理は、制御部１８０Ａが適合性判定モジュール１３０Ａとして機能することによって実行される。
【００９６】
図１４を参照して、制御部１８０Ａは、処理モジュール１１０に対応付けられている第１メタデータを第１メタデータＤＢ１５０から取得する（ステップＳ３００）。制御部１８０Ａは、適合性の判定対象であるセンシングデバイス１２に対応付けられている複数の第２メタデータのうち、センシングデータの出力先（出力予定先を含む。）の処理モジュール１１０に対応付けられている第２メタデータを第２メタデータＤＢ１７０から取得する（ステップＳ３１０）。
【００９７】
制御部１８０Ａは、ステップＳ３００において取得された第１メタデータと、ステップＳ３１０において取得された第２メタデータとの類似度を算出し、算出された類似度が所定値Ｖ２以上か否かを判定する（ステップＳ３２０）。
【００９８】
類似度が所定値Ｖ２以上であると判定されると（ステップＳ３２０においてＹＥＳ）、制御部１８０Ａは、センシングデバイス１２が適合であると判定する（ステップＳ３３０）。一方、類似度が所定値Ｖ２未満であると判定されると（ステップＳ３２０においてＮＯ）、制御部１８０Ａは、センシングデバイス１２が不適合であると判定する（ステップＳ３４０）。
【００９９】
＜２−３．特徴＞
以上のように、本実施の形態２においては、処理モジュール１１０に対応付けられている第１メタデータと、センシングデバイス１２に対応付けられている第２メタデータとに基づいて、センシングデバイス１２の適合性が判定される。したがって、本実施の形態２に従う仮想センサ管理サーバ１００Ａによれば、第２メタデータを参照することによって処理モジュール１１０へ入力データを出力しているセンシングデバイス１２の属性が十分に考慮されるため、センシングデバイス１２の適合性をより正確に判定することができる。
【０１００】
なお、処理モジュール１１０は、本発明の「処理モジュール」の一例であり、センシングデバイス１２は、本発明の「デバイス」の一例であり、適合性判定装置６０及び適合性判定モジュール１３０，１３０Ａは、本発明の「適合性判定装置」の一例である。第１メタデータは、本発明の「第１メタデータ」の一例であり、取得部１３２，１３２Ａは、本発明の「取得部」の一例であり、適合性判定部１３６，１３６Ａは、本発明の「判定部」の一例である。データバッファ１６０は、本発明の「バッファ」の一例であり、確率密度関数生成部１３４は、本発明の「確率密度関数生成部」の一例である。第２メタデータは、本発明の「第２メタデータ」の一例であり、取得部１３５は、本発明の「第２取得部」の一例である。
【０１０１】
［３．変形例］
以上、実施の形態１，２について説明したが、本発明は、上記実施の形態１，２に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。以下、変形例について説明する。但し、以下の変形例は適宜組合せ可能である。
【０１０２】
＜３−１＞
上記実施の形態１，２においては、学習用データＤＢ１４０は、仮想センサ管理サーバ１００，１００Ａに設けられた。しかしながら、学習用データＤＢ１４０は、必ずしも仮想センサ管理サーバ１００，１００Ａに設けられる必要はない。学習用データＤＢ１４０は、たとえば、インターネット１５に接続された他のサーバに記憶されていてもよい。
【０１０３】
＜３−２＞
また、上記実施の形態１，２においては、第１メタデータに確率密度関数自体が含まれた。しかしながら、必ずしも確率密度関数自体が第１メタデータに含まれる必要はない。たとえば、確率密度関数において頻度（確率）が所定値未満となる入力値の範囲や、確率密度関数において頻度（確率）が所定値以上となる入力値の範囲のみが第１メタデータに含まれてもよい。
【０１０４】
＜３−３＞
また、上記実施の形態２においては、第２メタデータに確率密度関数自体が含まれた。しかしながら、必ずしも確率密度関数自体が第２メタデータに含まれる必要はない。たとえば、確率密度関数において頻度（確率）が所定値未満となる入力値の範囲や、確率密度関数において頻度（確率）が所定値以上となる入力値の範囲のみが第２メタデータに含まれてもよい。
【０１０５】
＜３−４＞
また、上記実施の形態１，２においては、処理モジュール１１０に、センシングデバイス１２によって出力されたセンシングデータが入力された。しかしながら、処理モジュール１１０へ入力されるデータは、センシングデバイス１２によって出力されるセンシングデータに限られない。たとえば、予めサーバ上のデータベースに蓄積されているセンシングデータ（たとえば、データセット）が処理モジュール１１０へ入力されてもよい。また、たとえば、仮想センサによって出力されたセンシングデータが処理モジュール１１０に入力されてもよい。すなわち、処理モジュール１１０へデータを出力する主体は必ずしもセンシングデバイス１２である必要はなく、たとえば、多数のデータ（データセット）を蓄積したストレージやサーバ等のデバイスであってもよい。また、データセット自体や仮想センサが、処理モジュール１１０へデータを出力する主体であってもよい。
【０１０６】
＜３−５＞
また、上記実施の形態１，２において、仮想センサ管理サーバ１００，１００Ａによって行なわれた処理は、複数のサーバ等によって実現されてもよい。
【符号の説明】
【０１０７】
１０  センサネットワークシステム、１１  センサネットワークアダプタ、１２  センシングデバイス、１４  センサネットワーク部、１５  インターネット、６０  適合性判定装置、１００  仮想センサ管理サーバ、１１０  処理モジュール、１２０  処理モジュール側メタデータ（第１メタデータ）生成モジュール、１２２  確率密度関数生成部、１２４  処理モジュール側メタデータ（第１メタデータ）生成部、１２６  処理モジュール側メタデータ（第１メタデータ）登録部、１３０  適合性判定モジュール、１３２，１３２Ａ，１３５  取得部、１３４  確率密度関数生成部、１３６，１３６Ａ  適合性判定部、１３８  切替部、１４０  学習用データＤＢ、１５０  処理モジュール側メタデータ（第１メタデータ）ＤＢ、１５１  第１メタデータ、１６０  データバッファ、１７０  センサ側メタデータ（第２メタデータ）ＤＢ、１８０，１８０Ａ  制御部、１８２  ＣＰＵ、１８４  ＲＡＭ、１８６  ＲＯＭ、１９０，１９０Ａ  記憶部、１９１，１９１Ａ  制御プログラム、１９５  通信Ｉ／Ｆ、１９７  バス、３００  アプリケーションサーバ。
【図１】
2019148974.tif 000003
【図２】
2019148974.tif 000004
【図３】
2019148974.tif 000005
【図４】
2019148974.tif 000006
【図５】
2019148974.tif 000007
【図６】
2019148974.tif 000008
【図７】
2019148974.tif 000009
【図８】
2019148974.tif 000010
【図９】
2019148974.tif 000011
【図１０】
2019148974.tif 000012
【図１１】
2019148974.tif 000013
【図１２】
2019148974.tif 000014
【図１３】
2019148974.tif 000015
【図１４】
2019148974.tif 000016
【手続補正書】
【提出日】平成31年1月9日(2019.1.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理モジュールへ入力データを出力する主体の適合性を判定するように構成された適合性判定装置であって、
前記処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記複数の学習用データの各々は、前記入力データと、前記入力データに対応付けられた前記出力データの正解ラベルとを含み、
前記処理モジュールには、第１メタデータが対応付けられており、
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数に基づいて生成されており、
前記適合性判定装置は、
前記第１メタデータを取得するように構成された第１取得部と、
前記第１メタデータに基づいて前記適合性を判定するように構成された判定部とを備える、適合性判定装置。
【請求項２】
前記主体によって前記処理モジュールへ出力された前記入力データを一時的に記憶するように構成されたバッファと、
前記バッファに記憶された複数の入力データの確率密度関数を生成するように構成された確率密度関数生成部とをさらに備え、
前記判定部は、前記第１メタデータと、前記確率密度関数生成部によって生成された確率密度関数とに基づいて前記適合性を判定するように構成されている、請求項１に記載の適合性判定装置。
【請求項３】
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数であり、
前記判定部は、前記第１メタデータと、前記確率密度関数生成部によって生成された確率密度関数との類似度が所定値以上である場合に前記主体が適合であると判定するように構成されている、請求項２に記載の適合性判定装置。
【請求項４】
前記主体には、第２メタデータが対応付けられており、
前記第２メタデータは、各々が前記主体によって前記処理モジュールへ出力された複数の入力データの確率密度関数に基づいて生成されており、
前記複数の入力データの各々が前記処理モジュールへ入力された場合に、前記処理モジュールは共通の出力データを出力し、
前記適合性判定装置は、
前記第２メタデータを取得するように構成された第２取得部をさらに備え、
前記判定部は、第１及び第２メタデータに基づいて前記適合性を判定するように構成されている、請求項１に記載の適合性判定装置。
【請求項５】
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数であり、
前記第２メタデータは、各々が前記主体によって前記処理モジュールへ出力された複数の入力データの確率密度関数であり、
前記判定部は、前記第１及び第２メタデータの類似度が所定値以上である場合に前記主体が適合であると判定するように構成されている、請求項４に記載の適合性判定装置。
【請求項６】
前記主体は、センサであり、
前記入力データは、前記センサによって出力されたセンシングデータである、請求項１から請求項５のいずれか１項に記載の適合性判定装置。
【請求項７】
前記処理モジュールは、複数の前記入力データに基づいて前記出力データを生成するように構成されている、請求項１から請求項６のいずれか１項に記載の適合性判定装置。
【請求項８】
前記処理モジュールと、前記処理モジュールへ前記入力データを出力する前記主体とによって仮想センサが形成される、請求項１から請求項７のいずれか１項に記載の適合性判定装置。
【請求項９】
処理モジュールへ入力データを出力する主体の適合性を判定する適合性判定方法であって、
前記処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記複数の学習用データの各々は、前記入力データと、前記入力データに対応付けられた前記出力データの正解ラベルとを含み、
前記処理モジュールには、第１メタデータが対応付けられており、
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数に基づいて生成されており、
前記適合性判定方法は、
前記第１メタデータを取得するステップと、
前記第１メタデータに基づいて前記適合性を判定するステップとを含む、適合性判定方法。
【請求項１０】
処理モジュールへ入力データを出力する主体の適合性を判定する処理をコンピュータに実行させるプログラムであって、
前記処理モジュールは、複数の学習用データを用いることによって生成された学習済みモデルであって、少なくとも１つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記複数の学習用データの各々は、前記入力データと、前記入力データに対応付けられた前記出力データの正解ラベルとを含み、
前記処理モジュールには、第１メタデータが対応付けられており、
前記第１メタデータは、各々が共通の前記正解ラベルに対応付けられた複数の前記入力データの確率密度関数に基づいて生成されており、
前記プログラムは、
前記第１メタデータを取得するステップと、
前記第１メタデータに基づいて前記適合性を判定するステップとを前記コンピュータに実行させるように構成されている、プログラム。