以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態では、後述するように、計測データの一部を置換用データに置き換えることにより、計測データを保護するようになっている。
計測装置20は、例えば、計測データの数値のばらつきや、分析のメニュー毎に必要な数値精度を基に、許容可能なデータ置換率(ノイズ確率とも呼ぶ)を設定し、ノイズ確率に応じてノイズ(置換用データとも呼ぶ)を含む計測データを記録する。ノイズには計測データを用いて生成するか、あらかじめ登録した模擬データを用いる。ノイズを含む計測データを記録する場合は、人体構造等の物理的な制約を基に整合性を判定する。矛盾が生じる場合は、制約に基づきノイズを修正する。
本実施形態によれば、数値のばらつきやアプリケーションの必要とする精度を基にノイズ確率を設定するため、分析に必要となる情報量は保持しつつ、矛盾のないノイズを計測データに混入させることができる。これにより、本実施形態によれば、個人のプライバシー保護と、計測データの分析とを両立させることができ、信頼性と使い勝手の両方を向上させることができる。
以下、図面を参照して本発明の幾つかの実施例を説明する。但し、それらの実施例は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではない。
以下の説明では、「記憶部」は、1以上のメモリである。少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。記憶部は、1以上のメモリに加えて、1以上のPDEVを含んでもよい。「PDEV」は、物理的な記憶装置を意味し、典型的には、不揮発性の記憶装置(例えば補助記憶装置)でよい。PDEVは、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)でよい。
以下の説明では、「プロセッサ部」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)である。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
以下の説明では、「kkk部」(記憶部およびプロセッサ部を除く)の表現にて機能を説明することがあるが、機能は、1以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit))によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部および/またはインターフェース部等を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。
機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。
以下の説明では、「kkkテーブル」等の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「kkkテーブル」を「kkk情報」と言うことができる。
以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。
以下の説明では、「データセット」とは、1以上のデータ要素から成るデータ(論理的な電子データの塊)を意味し、例えば、レコード、ファイル、キーバリューペアおよびタプルのうちのいずれでもよい。
以下の説明では、「特徴量」は分析の目的に依存する情報であってもよい。例えば、人体構造に基づく情報、歩幅、歩行速度、開脚角度あるいはそれらの平均値、最大値、中間値などを特徴量として用いてもよい。これらのほかに、例えば、頭部の揺れ具合、身体の傾き、心拍数、血圧などを特徴量として採用してもよい。
図1は、本実施形態にかかる計測データ処理システムの全体概要を示す。計測データ処理システムは、例えば、分析装置10a,10bと、計測装置20とを含む。
分析装置10aは、例えば、大学や製薬会社などの研究機関の使用する計算機システムである。研究者などのユーザは、計測装置20から取得した各被験者TSの計測データを、分析装置10aを用いて解析することにより、例えば、疾病の予兆判断や健康状態の推測などを行う。
分析装置10bは、例えば、保険会社、健康管理会社、スポーツ用品会社、娯楽施設運営会社、食品会社などのサービスを提供する機関の使用する計算機システムである。サービス企画者などのユーザは、各被験者TSに対してサービスを提供するために必要な計測データを計測装置20から収集する。
このように本実施例の計測装置20は、計測データの使用目的の異なる分析装置10a,10bに対して、計測データを提供することができる。分析装置10a,10bは、計測データの使用目的が異なるため、それぞれの要求する計測データの品質(ノイズ確率)も相違する。
計測装置20は、各分析装置10a,10bの両方に計測データを供給してもよいし、各分析装置10a,10bのいずれか一方に計測データを供給してもよい。なお、図1では、分析装置10a,10bをそれぞれ1つずつ示すが、複数の分析装置10aまたは複数の分析装置10bが一つの計測装置20を共有してもよい。複数の分析装置10aおよび複数の分析装置10bが一つの計測装置20を共有してもよい。
「計算機」としての計測装置20は、複数のセンサ27と接続されており、各センサ27から計測データを定期的にまたは不定期に受信する。センサ27は、信号増幅機能やフィルタリング機能などを備えてもよい。以下の説明では、置換用データ(ノイズ)を混入する前の計測データを生データと呼び、置換用データを混入させた後の計測データを保護データと呼ぶことがある。
計測データ記録部211は、各センサ27からの計測データ(生データ)を取得して保存する。特徴量算出部212は、計測データから特徴量を算出する。特徴量は、計測データの使用目的や分析目的に応じて設定することができる。例えば、被験者の歩行状態と健康状態との関係を分析する場合は、歩幅、歩行速度、開脚角度などを特徴量として設定し、計測データから算出することができる。
データ置換率設定部222は、計測データに混入させる置換用データ(ノイズ)の割合を設定する。この割合は、ノイズ確率とも呼ばれる。データ置換率設定部222は、幾つかの実施例において、ノイズ確率算出部222と呼ばれる。
置換用データ生成部223は、置換用データを生成する。置換用データは、ノイズデータ(またはノイズと略記)と呼ばれる。置換部224は、データ置換率に応じて置換用データを計測データの一部と置き換えることにより、置換用データを計測データへ混入させて計測データを保護する。すなわち、置換部224は、元の計測データ(生データ)とは異なる計測データに偽装させることにより、計測データの提供元である被験者と計測データとの関係性を偽装し、被験者のプライバシーを保護する。置換部224はノイズ挿入部224とも呼ばれる。
出力部225は、ノイズの混入された計測データ(保護された計測データ)を分析装置10a,10bへ提供する。出力部225は、例えば、有線または無線の通信媒体を介して、または、記憶媒体を介して、保護された計測データを分析装置10a,10bへ提供する。出力部225は、後述の実施例で示すように、メニュー画面を分析者などのユーザへ提示することにより、計測データの処理に使用するパラメータ(例えば、特徴量ごとのノイズ確率)をユーザから取得することもできる。
図2は、本実施例に係る計測装置20を含む計測データ処理システム全体の物理構成を示す。図2では、図1で述べた分析装置10a,10bを区別せずに、分析装置10として説明する。
分析装置10は、計測データを分析する装置である。分析装置10は、計算機として構成することができる。分析装置10は、例えば、プロセッサ11、メモリ12、記憶装置13、ネットワークインターフェース14を備え、これら回路11〜14はバスにより通信可能に接続されている。
さらに、図示は省略するが、分析装置10には、分析者などのユーザとの間で情報を交換するためのユーザインターフェース装置を設けることができる。ユーザインターフェース装置は、入力装置および出力装置(いずれも図示せず)を含む。
分析装置10には、通信ネットワーク(例えばWAN(Wide Area Network))CNを介して、1以上の計測装置20が接続されている。
計測装置20は、データを計測する装置である。計測装置20は、センサに接続された計算機として構成することができる。計測装置20は、例えば、プロセッサ21、メモリ22、記憶装置23、ネットワークインターフェース24、入力装置25、出力装置26、センサ27を備え、これら回路21〜27はバスにより通信可能に接続される。
ネットワークインターフェース14,24は、インターフェース部の一例であり、通信ネットワークCNを介して通信するための通信インターフェース装置である。
記憶装置13,23およびメモリ12,22は、記憶部の一例である。記憶装置13,23は、1以上のPDEVである。PDEVは、物理的な不揮発記憶デバイス、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)である。
記憶装置13の少なくとも一部は、分析装置10の外に存在してもよい。記憶装置23の少なくとも一部は、計測装置20の外に存在してもよい。メモリ12,22は、例えば、DRAM(Dynamic Random Access Memory)であり、プロセッサ11,21により実行される1以上のコンピュータプログラムを記憶する。
プロセッサ11,21は、プロセッサ部の一例であり、1以上のコンピュータプログラムを実行する。
入力装置25および出力装置26は、ユーザインターフェース装置の一例である。入力装置25は、例えば、キーボード、ポインティング装置、タッチパネル、音声入力装置(音声認識装置)などである。出力装置26は、例えば、ディスプレイ、プリンタ、音声合成装置などである。入力装置25および出力装置26は、複数設けることもできる。
より詳しくは、「ユーザインターフェース装置」は、計算機の1以上のユーザインターフェース装置(入力装置と出力装置のうちの少なくとも1つ)でもよいし、1以上のユーザインターフェース装置を有する別のクライアント計算機であってもよい。
以下、「ユーザ操作」とは、ユーザが入力装置を使用する操作を言う。以下の説明によれば、計測装置20は情報を表示することができるが、「情報を表示する」とは、ユーザインターフェース装置に表示対象の情報を送り、ユーザインターフェース装置によりその情報が表す表示対象(例えば分析結果)が表示されることであってよい。
センサ27は、計測対象である被験者毎に1以上設けられる。ここでは、計測対象として人間を例に挙げるが、犬、猫、鳥、植物などの被験者に関連する動植物を計測対象に含めてもよい。被験者の周囲の動植物が被験者の健康状態に関係する場合も考えられ、かつ、どのような動植物を好むのかは被験者のプライバシーに属する問題と考えることができるためである。
センサ群のうち少なくとも一つのセンサ27は、被験者の身体に装着することができ、例えば、被験者の歩行速度、歩数、加速度、揺れ、血圧、脈拍などを計測する。これらは例示であり、歩数や血圧などの全ての項目を計測する必要はない。計測データの分析目的に合った項目のデータを計測できればよい。被験者の身体に装着するタイプのセンサとしては、例えば、カード型、スティック型、腕時計型、腕輪型、指輪型、ペンダント型、眼鏡型、帽子型、靴型、下着型、マスク型などの形状が考えられる。
センサ群のうち他の少なくとも一つのセンサ27は、被験者の周囲空間に配置されるセンサとして構成することができ、例えば、被験者の容姿、顔の表情、歩行状態などを計測する。
センサ27は、上述の通り、計測データの使用目的(分析目的を含む)に応じて、その種類および配置方法などが決定される。センサ27の種類としては、例えば、速度センサ、加速度センサ、画像センサ、音センサ、超音波センサ、レーダーセンサ、圧力センサ、脈拍センサ、温度センサ、匂いセンサなどを例示的に列挙できる。
分析装置10および計測装置20は、計算機システム(1以上の計算機)として構成される。計算機システムは、例えば、1以上のユーザ(分析者)が使用可能なスタンドアロンの計算機から構成されてもよいし、または、サーバ計算機およびクライアント計算機から構成されてもよい。分析装置10は、例えば、同一施設内に存在する1以上の計測装置20と接続されてもよいし、または、異なる施設内の1以上の計測装置20と接続されてもよい。
以上が、本実施例に係るシステム全体の構成である。なお、本実施例では、分析装置10と計測装置20が通信ネットワークCNに接続されているが、システム全体の構成は、図1に示す構成に限定されない。例えば、装置10,20のうちの1以上の装置の各々が、計算機システムにおいて実行されるVM(Virtual Machine)でもよい。
図3は、計測データ処理システム全体の論理構成を示す。図3に示す論理構成は、図2で述べたコンピュータのハードウェア資源を用いることにより実現される。
分析装置10では、記憶装置13に分析DB100を格納する。分析DB100は、保護テーブル101を格納する。保護テーブル101は、計測装置20内の保護テーブル243の全部または一部のコピーである。保護テーブルの構成例は後述する。
計測装置20は、それぞれ後述するように、例えば、計測部210と、保護部220と、計測DB230と、保護DB240とを備える。
計測装置20の記憶装置23には、例えば、計測DB230と保護DB240とが格納されている。計測DB230は、センサテーブル231と特徴量テーブル232とを格納する。保護DB240は、ノイズ確率テーブル241と、ノイズテーブル242と、保護テーブル243とを格納する。各テーブルの詳細な一例は後述する。
計測部210および保護部220は、プロセッサ21が1以上のコンピュータプログラムを実行することにより実現される機能である。
計測部210は、センサ27で計測した値(計測値)を基に、センサデータと特徴量とを記録する。計測部210は、例えば、センサデータセットを記録するセンサデータ記録部211と、記録されたセンサデータセットを基に特徴量を算出する特徴量算出部212とを有する。ここで「センサデータセット」とは、センサにより計測された値を含んだデータセットであり、「計測データ」に該当する。以下の説明では、センサデータセットと、単にデータ、センサデータ、または計測データと呼ぶ場合がある。
保護部220は、計測部210により記録されたデータを保護する。保護部220は、例えば、制御管理部221と、保護データ送信部225とを備える。制御管理部221は、例えば、ノイズ確率算出部222と、ノイズ生成部223と、ノイズ挿入部224とを備える。
図1の「データ置換率設定部222」に対応するノイズ確率算出部222は、記録された値(計測データ)の一部をノイズに置換する確率を算出する。図1の「置換用データ生成部223」に対応するノイズ生成部223は、ノイズデータを生成する。図1の「置換部224」に対応するノイズ挿入部224は、計測データの一部(記録値の一部)をノイズデータに置換する。
保護データ送信部225は、一部がノイズに置換されることでプライバシーが保護された計測データ(保護データ)を分析装置10へ出力する。
計測部210の処理と保護部220の処理と分析装置10の処理とは、同期して実行されてもよいし、非同期に実行されてもよい。計測DB230と保護DB240と分析DB100とは、同一構造のデータベースまたは同一構造のレコードを持つデータベースとして構成されてもよい。
図4は、計測DB230が格納するセンサテーブル231の構成例を示す。センサテーブル231は、各センサ27からのセンサデータセット(計測データ)を格納する。センサテーブル231は、例えば、計測毎に、レコード(以下、センサレコードとも呼ぶ)を有する。各センサレコードは、センサデータセットを格納する。センサデータセットは、例えば、計測時刻2311、センサID2312および計測値2313といった情報を格納する。センサID2312は、センサ27を計測データ処理システム内で一意に特定する識別子である。本実施例では、計測データを時系列データとして説明したが、これは例示であって、本発明の範囲を時系列データに限定する趣旨ではない。例えば、計測データは、距離を用いて空間で系列化したデータを用いてもよく、計測のある瞬間のみを捉えて系列化していないデータを用いてもよい。
以下、計測時刻2311が対象時間帯に属するセンサレコード(センサデータセット)を、「対象時間帯に属するセンサレコード(センサデータセット)」と言う。
図5は、計測DB230が格納する特徴量テーブル232の構成例を示す。特徴量テーブル232は、対象時間帯に属する複数のセンサレコード(複数のセンサデータセット)の統計的な集約結果に関する情報を格納する。
特徴量テーブル232は、例えば、センサ27毎に、レコード(以下、特徴量レコードとも呼ぶ)を有する。各特徴量レコードは、特徴量データセットを格納する。特徴量データセットは、例えば、計測時刻2321、センサID2322、特徴量CA2323、特徴量CB2324、特徴量CC2325といった情報を格納する。
特徴量CA2323、特徴量CB2324、特徴量CC2325とは、例えば、対象時間帯に属するセンサレコードの各計測値の平均値、最大値、最大値と平均値の差分などである。すなわち、一つの例では、特徴量CAは各計測値の平均値であり、特徴量CBは計測値の最大値であり、特徴量CCは最大値と平均値との差分である。
本実施例では、CA,CB,CCの3つの特徴量を格納する構成を例示した。これに限らず、特徴量はセンサレコードに関する1以上の統計的な集約結果でよく、センサレコードの値そのものを特徴量として構成してもよい。
図6は、保護DB240が格納するノイズ確率テーブル241の構成例を示す。ノイズ確率テーブル241は、特徴量レコードの各特徴量をノイズに変更する確率に関する情報を格納する。ノイズ確率テーブル241は、例えば、確率PA2411、確率PB2412、確率PC2413を有する。
確率PA2411は、各特徴量レコードについて、特徴量CA2323をノイズへ変更する確率を示す。確率PB2412は、各特徴量レコードについて、特徴量CB2324をノイズへ変更する確率を示す。同様に確率PC2413は、各特徴量レコードについて、特徴量CC2325をノイズへ変更する確率を示す。本実施例では変更確率をパーセントで表記しているが、これに代えて、分数での表記や、変更しない確率での表記などでもよい。ノイズに置換する確率を判断できる表記方法であればよい。
図7は、保護DB240が格納するノイズテーブル242の構成例を示す。ノイズテーブル242は、各特徴量に対応するノイズに関する情報を格納する。ノイズとは、模擬の計測値のことを示す。ノイズテーブル242は、例えば、ノイズDA2421、ノイズDB2422、ノイズDC2423を有する。
ノイズDA2421は、各特徴量レコードについて、特徴量CA2323を変更する場合のノイズの値を示す。ノイズDB2422は、各特徴量レコードについて、特徴量CB2324を変更する場合のノイズの値を示す。ノイズDC2423は、各特徴量レコードについて、特徴量C2325を変更する場合のノイズの値を示す。
本実施例では、テーブルにノイズの値を予め格納しているが、これに代えて、ノイズの計算式や、ノイズを生成するための確率密度分布などをテーブルに格納してもよい。ノイズの値を生成できる構成であればよい。
図8は、保護DB240が格納する保護テーブル243の構成例を示す。保護テーブル243は、各特徴量レコードについて、一部をノイズに変更したレコード(以下、保護レコード)に関する情報を格納する。保護テーブル243は、例えば、センサ27毎に保護レコードを有する。各保護レコードは、保護データセットを記憶する。保護データセットは、計測時刻2431、センサID2432、特徴量CA2433、特徴量CB2434、特徴量CC2435を有する。
保護レコードには一部ノイズが含まれているが、図5で述べた特徴量レコードと同様の項目が格納される。特徴量CA2433には、図5に示す特徴量CA2323の一部が図7に示すノイズDA2421に置き換わったデータが記録される。同様に、特徴量CB2434には、特徴量CB2324の一部がノイズDB2422に置き換わったデータが記録される。特徴量CC2435には、特徴量CC2325の一部がノイズDC2423に置き換わったデータが記録される。
本実施例では特徴量CA,CB,CCについて、ノイズ確率に基づきノイズに入れ替える例を示したが、これに限らず、計測時刻2431やセンサID2432についても同様の処理を行ってもよい。
本実施例では、保護レコードを分析装置10へ送信した場合、その保護レコードを削除する。しかし、保護レコードは必ずしも記録されたり、削除されたりしなくてよい。例えば、保護レコードは、保護レコードの送信時に特徴量テーブル232から適宜生成してもよい。保護レコードは全て蓄積しておき、時間範囲に基づいて保護レコードを送信してもよい。
以下、本実施例で行われる処理の一例を説明する。図9は、センサデータ記録処理のフローチャートである。
定期時間間隔で、ステップS11〜S13が行われる。センサデータ記録部211は、対象時間帯分のセンサデータセットをセンサ27から取得し(S11)、センサデータセットからなるセンサレコードをセンサテーブル231へ追加する(S12)。そして、センサデータ記録部211は、特徴量算出部212を呼び出す(S13)。
なお、常に、対象時間帯分のセンサレコードが取得されるとは限らない。すなわち、センサデータセットの受信に遅延が生じたり、またはセンサデータセットが通信途中で消失し、欠損を生じたりすることもあり得る。そこで、例えば、現在時刻と格納実績(計測時刻2311)との差分などに基づいて、対象時間帯分のセンサデータセットを全て取得するまで待ったり、または、欠損したと判定されたセンサデータセットの受信をスキップしたりしてもよい。
図10は、特徴量算出処理のフローチャートを示す。各センサレコードについて、ステップS21〜S24が行われる。
すなわち、特徴量算出部212は、対象時間帯分のセンサレコードをセンサテーブル231から取得する(S21)。特徴量算出部212は、取得した各センサレコードをセンサID毎に統計的に集計することにより、特徴量CA2323,CB2324,CC2325を生成する(S22)。特徴量算出部212は、生成した特徴量レコードを特徴量テーブル232へ追加する(S23)。最後に、特徴量算出部212は、制御管理部221へレコードが追加されたことを通知する(S24)。
図11は、制御管理処理のフローチャートを示す。制御管理部221は、計測装置20が停止するまで、ステップS31〜S35を実行する。
すなわち、制御管理部221は、特徴量レコードが追加された旨の通知を受け取ったか判断する(S31)。通知を受信した場合(S31:Yes)、制御管理部221は、ノイズ確率算出部222を呼び出し(S32)、ノイズデータ生成部223を呼び出し(S33)、ノイズ挿入部224を呼び出し(S34)、保護データ送信部225を呼び出す(S35)。
図11では、特徴量レコードが追加されたことの通知を制御管理部221が受信したことを契機に、ステップS32〜S35を実施する場合を示したが、これに代えて、定期的にステップS32〜S35を実行してもよい。
図12は、計測データ(センサデータセット)の一部をノイズに置換する際の一つの手法を概念的に示す説明図である。図12の左側のグラフには、或る一つの特徴量CAについて、属性PS1を持つ母集団と、属性PS2を持つ母集団とが示されている。このグラフの縦軸は集計値であり、横軸は集計範囲の各計測値である。すなわち、このグラフは計測値ごとの集計結果の分布を示す。
図12(a)に示すように、もしも各属性PS1,PS1を持つ母集団の母数を全く無視して、計測データの一部をノイズに置換したとすると、属性PS1を持つ母集団と属性PS2を持つ母集団との差異が失われてしまい、母集団間の有意差を観察することが難しくなる。これに対し、図12(b)に示すように、各母集団の母数を考慮して、計測データの一部をノイズに置換したとすると、各母集団の有意差を観察できる。
図13は、ノイズ確率算出処理のフローチャートを示す。この処理は、ノイズ確率算出部222が呼び出された場合に行われる。
ノイズ確率算出部222は、特徴量テーブル232の全特徴量レコードを参照し(S41)、特徴量レコードの特徴量ごとにステップS42〜S44を実行する。すなわち、ノイズ確率算出部222は、特徴量の値の頻度分布を集計する(S42)。値の集計幅は値に応じて任意の幅でよく、例えば最大値と最小値までを10分割する幅でもよい。
ノイズ確率算出部222は、各集計幅の中で最も少ない集計値を抽出し(S43)、抽出した集計値に基づきノイズ確率を生成する(S44)。集計値に基づきとは、計測値をノイズに置き換えた際にその集計幅の集計値が無くならない程度の確率を設定することを示す。例えば、(集計値−1)/集計値をパーセンテージに変換した値をノイズ確率として用いてよい(ノイズ確率=(集計値−1)/集計値)。
ノイズ確率算出部222は、特徴量ごとに生成したノイズ確率を用いて、ノイズテーブル242の値を更新する(S45)。
本実施例では、特徴量ごとにノイズ確率を生成しているが、全特徴量のなかで最も値の集計値が小さい特徴量から生成されるノイズ確率を全てのノイズテーブルに格納してもよい。また、集計値に基づく値は、当該対象時間帯に加えて過去の対象時間帯についての値も参酌された値でよい。
図14は、ノイズデータ生成処理のフローチャートを示す。この処理は、ノイズデータ生成部223が呼び出された場合に行われる。
ノイズデータ生成部223は、特徴量テーブル232の全特徴量レコードを参照し(S51)、特徴量ごとにステップS52を実行する。すなわち、ノイズデータ生成部223は、特徴量の値の平均値を集計する(S52)。ノイズデータ生成部223は、集計した平均値を用いてノイズを生成し、ノイズテーブル242に記憶させる(S53)。
本実施例では、特徴量の平均値をノイズとして用いたが、これに限らない。他の特徴量の値と比較して自然に見える値であればよい。したがって、例えば、中間値から生成される値をノイズとして用いてもよいし、あるいは、特徴量の値のばらつきを用いて生成された確率密度分布から生成される値をノイズとして用いてもよい。
図15は、ノイズ挿入処理のフローチャートを示す。この処理は、ノイズ挿入部224が呼び出された場合に行われる。
ノイズ挿入部224は、ノイズ確率テーブル241を参照し(S61)、さらにノイズテーブル242を参照する(S62)。ノイズ挿入部224は、特徴量テーブル232の全特徴量レコードを取得する(S63)。
ノイズ挿入部224は、特徴量レコードごとにステップS64〜S67を実行し、さらに特徴量ごとにステップS64,S65を実行する。すなわち、ノイズ挿入部224は、特徴量レコードの特徴量ごとに、ノイズ確率レコードに記録されたノイズ確率に基づいて、特徴量の一部の値をノイズに置き換えるか判定する(S64)。
ノイズへ置き換えると判定された場合(S64:Yes)、ノイズ挿入部224は、特徴量の値を当該ノイズレコードのノイズ値に置き換える(S65)。ノイズへ置き換えないと判定された場合(S64:No)、ステップS65はスキップされる。
ノイズ挿入部224は、特徴量レコードごとに、保護テーブル243へ保護レコードを記録する(S66)。ノイズ挿入部224は、特徴量テーブル232から当該特徴量レコードを削除する(S67)。
本実施例では、保護レコードの記録後に特徴量レコードを削除するが、ノイズ置き換え判定をしたか否かを識別できるのであれば、特徴量レコードを削除しなくてもよい。例えば、時間範囲を用いたり、特徴量レコードに判定済みフラグの情報を持たせたりして、当該レコードを識別してもよい。
図16は、保護データ送信処理のフローチャートを示す。この処理は、保護データ送信部225が呼び出された場合に行われる。
保護データ送信部225は、保護テーブル243の全保護レコードを取得し(S71)、取得した保護レコードを分析装置10へ送信する(S72)。
分析装置10に送信するとは、分析DB100の保護テーブル101へ保護レコードを格納することである。保護レコードを保護テーブル101へ格納する処理は、分析装置10が保護レコードを受信後に実施してもよく、あるいは、保護データ送信部225が通信ネットワークCNを経由して分析DB100へ直接クエリを発行してもよい。
保護データ送信部225は、保護テーブル243に記録された全保護レコードを削除する(S73)。
本実施例では、保護レコードの送信後に保護レコードを全て削除しているが、過去の送信有無が識別できるのであれば、保護レコードを削除しなくてもよい。例えば、時間範囲を用いたり、保護レコードに送信済みフラグの情報を持たせたりして、当該保護レコードの送信の有無を識別してもよい。
このように構成される本実施例によれば、計測データのばらつきに基づいてノイズ確率を設定し、ノイズ確率に基づいて計測データの一部をノイズに置換する。したがって、本実施例では、分析に必要な情報量は維持しつつ、個人の状態を断定できない程度のプライバシーを実現することができる。すなわち、本実施例によれば、信頼性と使い勝手とを両立させることができる。
図17〜図22を用いて第2実施例を説明する。本実施例では、第1実施例との相違点を中心に説明する。本実施例では、計測データへノイズを挿入する判定に際して、メニューテーブル244から選択されたサービスごとのノイズ確率が参酌される。さらに、保護レコードの条件判定として、制約テーブルが245参酌され、制約を満たさない場合は保護レコードが変更される。
図17は、本実施例に係るシステム全体の論理構成を示す。計測装置20aは、メニュー選択を行なうユーザインターフェース制御部250をさらに有する。ユーザインターフェース制御部250は、計測DB230および保護DB240aを用いることができ、入力装置25からの操作に対応する情報を出力装置26へ出力する。図中では、ユーザインターフェース制御部をUI制御部と表示する。
保護部220aは、ノイズ確率算出部222に代えて(または加えて)、制約を判定する制約判定部226を有する。保護DB240aは、ノイズ確率テーブルに代えて(または加えて)、メニューテーブル244および制約テーブル245を有する。
図18は、保護DB240aが格納するテーブルの構成を示す。保護DB240aは、例えば、メニューテーブル244と、ノイズテーブル242と、保護テーブル243と、制約テーブル245とを格納する。
ノイズテーブル242および保護テーブル243の構成は、第1実施例と同様のため、説明を省略する。
メニューテーブル244は、ユーザが受けるサービスメニューと、サービスメニューに必要な計測精度の情報とを対応づけて格納する。メニューテーブル244は、サービスごとにレコード(以下メニューレコードとも呼ぶ)を有する。メニューレコードは、例えば、サービス2441、確率PA2442、確率PB2443、確率PC2444、選択2445といった情報を格納する。
サービス2441は、保護レコードを分析して受けられるサービスの内容である。サービスの内容としては、例えば、保険料の策定サービスや、健康診断のスクリーニングサービスや、健康促進の保健指導サービスなどがある。
確率PA2442,PB2443,PC2444は、第1実施例のノイズ確率テーブル241で述べたと同様のため説明を省略する。
選択2445は、メニューレコードが選択されているか(“True”)否か(“False”)を示す。
制約テーブル245は、保護レコードの各特徴量が満たすべき制約と、制約を満たさない場合に行なう対策処理の情報とを格納する。例えば、制約テーブル245は、例えば、制約LA2451、制約LB2452、制約LC2453、対策MA2454、対策MB2455、対策MC2456といった情報を格納する。
制約2451〜2453は、特徴量の値が満たすべき条件である。制約LA2451は、各保護レコードについて、特徴量CA2433が満たすべき条件を示す。制約LB2452は、各保護レコードについて、特徴量CB2434が満たすべき条件を示す。制約LC2453は、各保護レコードについて、特徴量CC2435が満たすべき条件を示す。制約は、特徴量に依存してよく、例えば人体構造から成る可動領域、限界速度、あるいはそれらを用いた統計量の符合条件などでよい。
対策2454〜2456は、制約を満たさない場合に、制約を満たすように保護レコードに行う処理である。対策MA2454は、制約LA2451を満たさない場合に特徴量CA2433へ行なう処理である。対策MB2455は、制約LB2452を満たさない場合に特徴量CB2434へ行なう処理である。対策MC2456は、制約LC2453を満たさない場合に特徴量CC2435へ行なう処理である。対策は、制約に依存してよく、例えば他のレコードからの数値の複製や入れ替えでよい。
図19は、ノイズ挿入処理(置換処理)のフローチャートを示す。この処理は、ノイズ挿入部224が呼び出された場合に行われる。
ノイズ挿入部224は、選択2445“True”を含んだメニューテーブル244内のメニューレコードを参照する(S101)。次にノイズ挿入部224は、ステップS62〜S67を実行する。ステップS62〜S67は、第1実施例で述べたため、ここでは説明を省略する。
ノイズ挿入部224は、ステップS65でノイズ置き換え処理を行った場合、制約判定部226を呼び出す(S102)。
本実施例では、制約判定を特徴量の書き換え処理ごとに行なっているが、これに代えて、レコードやテーブルの単位で、まとまった判定を行なってもよい。
図20は、制約判定処理のフローチャートを示す。この処理は、制約判定部226が呼び出された場合に行われる。本実施例では、制約判定処理はノイズ挿入処理のサブルーチンである。
制約判定部226は、制約テーブル245を参照する(S111)。制約判定部226は、特徴量の値が制約テーブル245の制約を満たさないか判定する(S112)。特徴量の値が制約を満たさない場合(S112:Yes)、制約判定部226は、制約テーブル245の対策に従って特徴量の値を更新する(S113)。これに対し、特徴量の値が制約を満たす場合(S112:No)、ステップS113はスキップされる。
図21は、ユーザインターフェース制御処理のフローチャートを示す。この処理は、ユーザインターフェース制御部250が呼び出された場合に行われる。
ユーザインターフェース制御部250は、全メニューレコードを取得し(S121)、ステップS121で取得した全メニューレコードを基に、サービス一覧を表示した画面であるメニュー選択画面G1を表示する(S122)。
図22は、メニュー選択画面G1の一例である。サービス一覧GP11は、サービス毎に、メニューテーブル244を基に表示されたサービス名、特徴量CAの取得率、特徴量CBの取得率、特徴量CCの取得率を有する。さらにメニュー選択画面G1は、決定ボタンGP12と取消ボタンGP13とを有する。
取得率とは、特徴量の全データのうちサービス提供に必要な割合を示し、100%から「ノイズ確率」を差し引いた値に相当する。例えば、保険サービスのように多額の金銭の支払いに関するサービスでは、厳格な調査判定が必要になる。このため、保険サービスの提供に際しては、各特徴量の全てが必要になる。したがって、保険サービスを受けるための取得率は、100%に設定されている。この場合、ノイズ確率は0%である。
これに対し、健康を促進するサービスのような、金銭の授受と無関係な遊び心を持ったサービスの場合は、厳格な調査判定は不要である。このため、健康促進サービスの提供に際しては、各特徴量の半分程度を取得できればよい。そこで、健康促進サービスを受けるための取得率は、50%に設定されている。この場合、ノイズ確率は50%である。
図21に戻る。ユーザが、サービス一覧GP11の中から所望のサービスを選択して、決定ボタンGP12を押すと、サービスが選択される。ユーザによるサービス選択操作が入力されると(S123:Yes)、ユーザインターフェース制御部250は、非選択状態のサービスに対応したメニューレコードの選択2445の“True”を“False”に更新し、選択状態のサービスに対応したメニューレコードの選択2445の“False”を“True”に更新する(S124)。
サービス選択のユーザ操作は、ブラウザを閉じるユーザ操作が行われるまで判定され(S125)、操作が行われると処理を終了する(S125:Yes)。なお、サービスの追加または削除は、サービス選択画面のようなユーザインターフェース経由で行われてもよい。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。本実施例では、分析メニュー毎に必要な精度に基づきノイズ確率を設定するため、分析に必要な情報量は維持しつつ、制約判定により矛盾のないノイズを挿入することができる。したがって、本実施例によれば、ユーザの利用するサービスの種類に応じて、そのサービスを受けるために必要な範囲でノイズの挿入された計測データを提供することができる。この結果、本実施例では、プライバシー保護と使い勝手とを両立させることができる。
以上、幾つかの実施例を説明したが、それらは本発明の説明のための例示であって、本発明の範囲をそれらの実施例に限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。
例えば、第1実施例の処理と第2実施例の処理とを組み合わせて、同時に実施する構成としてもよい。つまり、計測装置20は、異なる分析装置10a,10bに対して、それぞれの分析装置10a,10bでの使用目的に応じた計測データ(保護データ)を提供することができる。