(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176081
(43)【公開日】2024-12-19
(54)【発明の名称】プログラム、グラフ生成システムおよびグラフ生成方法
(51)【国際特許分類】
G06F 17/18 20060101AFI20241212BHJP
G06Q 50/10 20120101ALI20241212BHJP
【FI】
G06F17/18 Z
G06Q50/10
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2023094311
(22)【出願日】2023-06-07
(71)【出願人】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】竹之内 隆夫
(72)【発明者】
【氏名】▲高▼橋 翼
(72)【発明者】
【氏名】リュウ センペイ
(72)【発明者】
【氏名】長谷川 聡
(72)【発明者】
【氏名】前田 若菜
【テーマコード(参考)】
5B056
5L049
5L050
【Fターム(参考)】
5B056BB66
5L049CC12
5L050CC12
(57)【要約】 (修正有)
【課題】集計値が存在する確率に関するより詳しい情報を知ることができるグラフを生成するためのプログラム、グラフ生成システムおよびグラフ生成方法を提供する。
【解決手段】プログラムは、統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で表示されたグラフを生成するための処理をコンピュータに実行させるプログラムであって、統計量から集計値が集計された際の集計手法の特性を示す特性値とプライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、ノイズ関数から出力されたノイズ値が集計値に加算された表示値、を取得することと、座標上で表示値が示す位置を基準位置として集計値に対応する主次元の方向に広がる形状の図形であって、集計値が存在する確率と対応した複数の存在範囲が表された図形を含むグラフを示すグラフ情報を生成することと、をコンピュータに実行させる。
【選択図】
図13
【特許請求の範囲】
【請求項1】
統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で表示されたグラフを生成するための処理をコンピュータに実行させるプログラムであって、
前記統計量から集計値が集計された際の集計手法の特性を示す特性値と前記プライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、前記ノイズ関数から出力されたノイズ値が前記集計値に加算された表示値、を取得することと、
座標上で前記表示値が示す位置を基準位置として前記集計値に対応する主次元の方向に広がる形状の図形であって、前記集計値が存在する確率と対応した複数の存在範囲が表された図形を含むグラフを示すグラフ情報を生成することと、
を前記コンピュータに実行させるプログラム。
【請求項2】
前記ノイズ関数は、前記特性値と前記プライバシーパラメータとによって決定される確率密度関数であり、
前記グラフには、前記確率密度関数の形状を示す前記複数の存在範囲が表された請求項1に記載のプログラム。
【請求項3】
前記特性値は、前記集計手法と前記統計量とから決定されるセンシティビティであり、
前記ノイズ関数は、平均がゼロであって、前記センシティビティを前記プライバシーパラメータで割った商を分散とするラプラス分布関数である請求項2に記載のプログラム。
【請求項4】
前記ノイズ関数は、前記特性値と前記プライバシーパラメータとによって決定され、離散型の確率変数を出力する確率質量変数である請求項1に記載のプログラム。
【請求項5】
前記図形は、前記複数の存在範囲の各々を示す複数の目盛りである請求項1から請求項4のいずれか一項に記載のプログラム。
【請求項6】
前記図形は、前記主次元の方向に伸びる帯であって、
前記帯の内部において、前記複数の存在範囲として、前記集計値が存在する確率と対応するように前記主次元の方向で色が段階的に異なる請求項1から請求項4のいずれか一項に記載のプログラム。
【請求項7】
前記図形は、前記主次元の方向に伸び、前記主次元の方向とは垂直な方向の外形が前記ノイズ関数のグラフの形状の相似形を有したものである請求項1から請求項4のいずれか一項に記載のプログラム。
【請求項8】
前記図形は、前記主次元の方向に伸び、前記主次元の方向とは垂直な方向の外形が前記ノイズ関数のグラフの形状の相似形を有したものであり、
前記図形の内部において、前記複数の存在範囲として、前記集計値が存在する確率と対応するように前記主次元の方向で色が段階的に異なる請求項1から請求項4のいずれか一項に記載のプログラム。
【請求項9】
前記グラフは、全体における第1要素と第2要素との比率を示す100%積み上げ棒グラフであり、
前記図形は、前記第1要素の前記表示値と前記第2要素の表示値との境界において前記第1要素の前記集計値が存在する確率と対応するように前記主次元の方向で色が段階的に異なるものである請求項1から請求項4のいずれか一項に記載のプログラム。
【請求項10】
前記グラフは、全体における第1要素と第2要素との比率を示す円グラフであり、
前記主次元の方向は、前記円グラフの円周に沿った方向であり、
前記図形は、前記第1要素の前記表示値と前記第2要素の表示値との境界において前記第1要素の前記集計値が存在する確率と対応するように前記主次元の方向で色が段階的に異なるものである請求項1から請求項4のいずれか一項に記載のプログラム。
【請求項11】
前記コンピュータに、前記グラフ情報を生成させる際に、
前記複数の存在範囲のうち指定存在範囲の指定を受け付けた場合に、前記集計値が存在する確率として前記複数の存在範囲のうち前記指定存在範囲のみが表されたグラフとなる前記グラフ情報を生成すること、
を実行させる請求項1から請求項4のいずれか一項に記載のプログラム。
【請求項12】
前記コンピュータに前記グラフ情報を生成させる際に、
前記複数の存在範囲に含まれる位置の指示を受け付けた場合に、前記指示を受け付けた位置に前記集計値が存在する確率を示す情報が前記複数の存在範囲と併せて表されたグラフとなる前記グラフ情報を生成すること、
を実行させる請求項1から請求項4のいずれか一項に記載のプログラム。
【請求項13】
統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で時間的に変化する動的なグラフを生成するための処理をコンピュータに実行させるプログラムであって、
前記統計量から集計値が集計された際の集計手法の特性を示す特性値と前記プライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、前記ノイズ関数から出力されたノイズ値が前記集計値に加算された表示値、を取得することと、
前記集計値に対応する主次元の方向において、ポインタの位置が、座標上で前記表示値が示す位置を基準位置として前記集計値が存在する確率を示すように時間に対して変化する動的なグラフを示すグラフ情報を生成することと、
を前記コンピュータに実行させるプログラム。
【請求項14】
前記グラフにおいて、前記ポインタが時間に対して点滅しながら前記集計値が存在する確率に則った位置に出現する請求項13に記載のプログラム。
【請求項15】
前記グラフにおいて、前記ポインタは前記基準位置を中心として前記主次元の方向へ往復運動を行い、
前記ポインタのある位置における移動速度が、当該位置において前記集計値が存在する確率に対応した値になる請求項13に記載のプログラム。
【請求項16】
統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で表示されたグラフを生成するためのシステムであって、
前記統計量から集計値が集計された際の集計手法の特性を示す特性値と前記プライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、前記ノイズ関数から出力されたノイズ値が前記集計値に加算された表示値、を取得する取得部と、
座標上で前記表示値が示す位置を基準位置として前記集計値に対応する主次元の方向に広がる形状の図形であって、前記集計値が存在する確率と対応した複数の存在範囲が表された図形を含むグラフを示すグラフ情報を生成する生成部と、
を備えたグラフ生成システム。
【請求項17】
統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で表示されたグラフを生成するための方法であって、
前記統計量から集計値が集計された際の集計手法の特性を示す特性値と前記プライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、前記ノイズ関数から出力されたノイズ値が前記集計値に加算された表示値、を取得することと、
座標上で前記表示値が示す位置を基準位置として前記集計値に対応する主次元の方向に広がる形状の図形であって、前記集計値が存在する確率と対応した複数の存在範囲が表された図形を含むグラフを示すグラフ情報を生成することと、
を含むグラフ生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、グラフ生成システムおよびグラフ生成方法に関する。
【背景技術】
【0002】
統計量を集計した結果を公開する際に、統計量に含まれる個別の情報のプライバシーを保証する手法として、差分プライバシーの考え方が提唱されている。差分プライバシーを保証するため、非特許文献1において、確率密度分布に従ったランダムな数値を集計結果にノイズとして付加した表示値が演算され、当該表示値のグラフが描画される。グラフには、表示値からノイズを除いた元の集計値が、95%の確率で存在する範囲を示すバーが併せて描画される。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Anonify,「個人情報保護とデータ利活用の両立を実現するプライバシー保護技術」 P.53 [online],[令和5年4月10日検索],インターネット<URL:https://www.anonify.layerx.co.jp/wp-privacy-anonify>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、元の集計値が存在する確率は、ノイズに用いられた確率変数の関数に応じて、グラフ上の位置でそれぞれ異なる。非特許文献1に記載されたグラフでは、元の集計値が存在する位置についてのより詳しい判断基準を得ることができない。
【課題を解決するための手段】
【0005】
本開示の第1の態様によると、プログラムは、統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で表示されたグラフを生成するための処理をコンピュータに実行させるプログラムであって、統計量から集計値が集計された際の集計手法の特性を示す特性値とプライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、ノイズ関数から出力されたノイズ値が集計値に加算された表示値、を取得することと、座標上で表示値が示す位置を基準位置として集計値に対応する主次元の方向に広がる形状の図形であって、集計値が存在する確率と対応した複数の存在範囲が表された図形を含むグラフを示すグラフ情報を生成することと、をコンピュータに実行させる。
【0006】
本開示の第2の態様によると、プログラムは、統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で時間的に変化する動的なグラフを生成するための処理をコンピュータに実行させるプログラムであって、統計量から集計値が集計された際の集計手法の特性を示す特性値とプライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、ノイズ関数から出力されたノイズ値が集計値に加算された表示値、を取得することと、集計値に対応する主次元の方向において、ポインタの位置が、座標上で表示値が示す位置を基準位置として集計値が存在する確率を示すように時間に対して変化する動的なグラフを示すグラフ情報を生成することと、をコンピュータに実行させる。
【0007】
本開示の第3の態様によると、グラフ生成システムは、統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で表示されたグラフを生成するためのシステムであって、統計量から集計値が集計された際の集計手法の特性を示す特性値とプライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、ノイズ関数から出力されたノイズ値が集計値に加算された表示値、を取得する取得部と、座標上で表示値が示す位置を基準位置として集計値に対応する主次元の方向に広がる形状の図形であって、集計値が存在する確率と対応した複数の存在範囲が表された図形を含むグラフを示すグラフ情報を生成する生成部と、を備えた。
【0008】
本開示の第4の態様によると、グラフ生成方法は、統計量の集計結果がプライバシーパラメータで規定されるプライバシーが保証された内容で表示されたグラフを生成するための方法であって、統計量から集計値が集計された際の集計手法の特性を示す特性値とプライバシーパラメータとによって決定された確率変数の関数であるノイズ関数、および、ノイズ関数から出力されたノイズ値が集計値に加算された表示値、を取得することと、座標上で表示値が示す位置を基準位置として集計値に対応する主次元の方向に広がる形状の図形であって、集計値が存在する確率と対応した複数の存在範囲が表された図形を含むグラフを示すグラフ情報を生成することと、を含む。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1におけるグラフ生成システムの全体概要を示す模式図である。
【
図2】実施の形態1におけるグラフ生成システムの機器構成図である。
【
図3】実施の形態1におけるグラフ生成システムの集計結果に施される処理の概要を示す図である。
【
図4】実施の形態1におけるグラフ生成システムの要部の機能ブロック図である。
【
図5】実施の形態1におけるグラフ生成システムによって生成されるグラフの第1例を示す図である。
【
図6】実施の形態1におけるグラフ生成システムによって生成されるグラフの第2例を示す図である。
【
図7】実施の形態1におけるグラフ生成システムによって生成されるグラフの第3例を示す図である。
【
図8】実施の形態1におけるグラフ生成システムによって生成されるグラフの第4例を示す図である。
【
図9】実施の形態1におけるグラフ生成システムによって生成されるグラフの第4例を示す図である。
【
図10】実施の形態1におけるグラフ生成システムによって生成されるグラフの第5例を示す図である。
【
図11】実施の形態1におけるグラフ生成システムによって生成されるグラフの第6例を示す図である。
【
図12】実施の形態1におけるグラフ生成システムによって生成されるグラフの第7例を示す図である。
【
図13】実施の形態1におけるグラフ生成システムが行う動作の概要を示すフローチャートである。
【
図14】実施の形態1におけるグラフ生成システムで生成されるグラフの第1変形例である。
【
図15】実施の形態1におけるグラフ生成システムで生成されるグラフの第1変形例である。
【
図16】実施の形態1におけるグラフ生成システムで生成されるグラフの第1変形例である。
【
図17】実施の形態1におけるグラフ生成システムで生成されるグラフの第2変形例である。
【
図18】実施の形態2におけるグラフ生成システムが生成するグラフの第1例である。
【
図19】実施の形態2におけるグラフ生成システムが生成するグラフの第2例である。
【発明を実施するための形態】
【0010】
本開示に記載の開示は、通信の秘密など、本開示の実施に必要な実施国の法的事項遵守を前提とすることに留意されたい。本開示に係るプログラム、グラフ生成システムおよびグラフ生成方法を実施するための形態について添付の図面を参照しながら説明する。各図において、同一または相当する部分には同一の符号を付して、重複する説明は適宜に簡略化または省略する。なお、本開示は以下の実施の形態に限定されることなく、本開示の趣旨を逸脱しない範囲において、各実施の形態の自由な組み合わせ、各実施の形態の任意の構成要素の変形、または各実施の形態の任意の構成要素の省略が可能である。
【0011】
実施の形態1.
図1から
図13を参照しながら、本開示の実施の形態1について説明する。
図1はグラフ生成システムの全体概要を示す模式図である。
図2はグラフ生成の機器構成図である。
図3は集計結果に施される処理の概要を示す図である。
図4はグラフ生成システムの要部の機能ブロック図である。
【0012】
図1および
図2に示すように、実施の形態1の第1例に係るグラフ生成システム400は、サーバ100と、ユーザ端末200とを備える。グラフ生成システム400では、サーバ100とユーザ端末200とが、ネットワーク300を介して通信可能に接続される。
【0013】
ここで説明する構成例では、サーバ100は、ネットワーク300を介してユーザが所有するユーザ端末200に、集計結果の表示サービスを提供する。集計結果の表示サービスでは、ある統計量を規定の集計手法で集計した結果が、ユーザ端末200において視覚的に表示される。視覚的に表示されるための情報は、サーバ100によって生成される。ユーザ端末200では、表示させたい統計量および集計結果を指定する操作が入力される。
【0014】
一例として、統計量は、ユーザが依頼しているweb広告の提供結果である。この場合、サーバ100には、web広告の提供結果に関するデータベースが格納される。ユーザ端末200には、期間毎に集計された結果が表示される。
【0015】
なお、ネットワーク300に接続されるユーザ端末200の数は1台に限られず、2台以上であってもよい。
【0016】
ネットワーク300は、ユーザ端末200と1以上のサーバ100とを接続する役割を担う。即ち、ネットワーク300は、ユーザ端末200がサーバ100に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。ネットワーク300のうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。
【0017】
ネットワーク300は、例えば、アドホック・ネットワーク(Ad Hoc Network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(Virtual Private Network:VPN)、ローカル・エリア・ネットワーク(Local Area Network:LAN)、ワイヤレスLAN(Wireless LAN:WLAN)、広域ネットワーク(Wide Area Network:WAN)、ワイヤレスWAN(Wireless WAN:WWAN)、大都市圏ネットワーク(Metropolitan Area Network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDN(Integrated Service Digital Networks)、無線LAN、LTE(Long Term Evolution)、CDMA(Code Division Multiple Access)、ブルートゥース(Bluetooth(登録商標))、または、衛星通信等、もしくは、これらの2つ以上の組合せを含むことができる。ネットワーク300は、1つまたは複数のネットワーク300を含むことができる。
【0018】
ユーザ端末200は、本開示に係る実施形態の機能を実現できる情報処理端末であればどのような端末であってもよい。ユーザ端末200は、例えば、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(例えば、デスクトップPC、ラップトップPC、タブレットPC等)、メディアコンピュータプラットホーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(例えば、PDA(Personal Digital Assistant)、電子メールクライアント等)、ウェアラブル端末(メガネ型デバイス、時計型デバイス等)、または他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、ユーザ端末200は情報処理端末と表現されてもよい。
【0019】
サーバ100は、ユーザ端末200に対して、所定のサービスを提供する機能を備える。サーバ100は、本開示に係る実施形態の機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ100は、例えば、サーバ装置、コンピュータ(例えば、デスクトップPC、ラップトップPC、タブレットPC等)、メディアコンピュータプラットホーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(例えば、PDA、電子メールクライアント等)、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、サーバ100は情報処理装置と表現されてもよい。サーバ100とユーザ端末200とを区別する必要がない場合は、サーバ100とユーザ端末200とは、それぞれ情報処理装置と表現されてもよいし、されなくてもよい。
【0020】
次に、
図2を参照しながら、ユーザ端末200の構成について説明する。ユーザ端末200は、端末制御手段210、端末記憶手段220、端末通信手段230、入出力手段240、および表示手段250を備える。ユーザ端末200のハードウェアの各構成要素は、例えば、バスを介して相互に接続される。なお、ユーザ端末200のハードウェア構成として、ここで説明する全ての構成要素を含むことは必須ではない。例えば、ユーザ端末200は、入出力手段240等の個々の構成要素、または複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
【0021】
端末制御手段210は、端末記憶手段220に記憶された情報等の各種の情報を用いて、ユーザ端末200の動作を全体的に制御可能である。
【0022】
端末通信手段230は、ネットワーク300を介して各種データの送受信を行うI/F(インタフェース)である。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。端末通信手段230は、ネットワーク300を介して、サーバ100との通信を実行する機能を有する。端末通信手段230は、端末制御手段210からの指示に従って、各種の情報をサーバ100に送信する。端末通信手段230は、サーバ100から送信された各種の情報を受信し、端末制御手段210に伝達する。なお、端末通信手段230を単に通信手段と表現する場合もある。端末通信手段230が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
【0023】
入出力手段240は、入力手段および出力手段を含む。入力手段は、ユーザ端末200に対する各種のユーザの操作を入力する装置である。出力手段は、ユーザ端末200で処理された処理結果を出力する装置である。入出力手段240において、入力手段と出力手段が一体化されていてもよいし、入力手段と出力手段とが分離していてもよい。
【0024】
入力手段は、ユーザからの入力を受け付けて、当該入力に係る情報を端末制御手段210に伝達できる全ての種類の装置のいずれか、または、その組み合わせにより実現される。例えば、入力手段は、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス等を含み得る。
【0025】
出力手段は、端末制御手段210で処理された処理結果を出力することができる全ての種類の装置のいずれか、または、その組み合わせにより実現される。出力手段は、例えば、タッチパネル、タッチディスプレイ、レンズ(例えば3D(Three Dimensions)出力や、ホログラム出力)、プリンター等を含み得る。
【0026】
表示手段250は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれか、または、その組み合わせにより実現される。即ち、表示手段250は、出力手段に含まれ得る。表示手段250は、例えば、タッチパネル、タッチディスプレイ、モニタ(例えば、液晶ディスプレイやOELD(Organic Electroluminescence Display)等)、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中等(真空であってもよいし、そうでなくてもよい)に画像やテキスト情報等を表示可能な装置を含み得る。なお、これらの表示手段250は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。
【0027】
なお、入出力手段240がタッチパネルを有する場合、入出力手段240と表示手段250とは、略同一の大きさおよび形状で対向して配置されていてもよい。
【0028】
端末制御手段210は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、例えば、ハードウェアに内蔵されたデータ処理装置により実現される。そのため、端末制御手段210は、制御回路と表現されてもよいし、されなくてもよい。
【0029】
端末制御手段210は、例えば、中央処理装置(CPU:Central Processing Unit)、マイクロプロセッサ(Microprocessor)、プロセッサコア(Processor Core)、マルチプロセッサ(Multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含む。
【0030】
端末記憶手段220は、ユーザ端末200が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。端末記憶手段220は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)等各種の記憶媒体を含む。また、端末記憶手段220は、メモリ(Memory)と表現されてもよいし、されなくてもよい。
【0031】
ユーザ端末200は、プログラムを端末記憶手段220に記憶し、このプログラムを実行することで、端末制御手段210が、端末制御手段210に含まれる各部としての処理を実行する。つまり、端末記憶手段220に記憶されるプログラムは、ユーザ端末200に、端末制御手段210が実行する各機能を実現させる。換言すれば、ユーザ端末200においてメモリに記憶されたプログラムをプロセッサが実行し、ユーザ端末200のハードウェアとソフトウェアとが協働することによって、ユーザ端末200が備える各部の機能が実現される。なお、このプログラムは、プログラムモジュールと表現されてもよいし、されなくてもよい。
【0032】
次に、サーバ100の構成について説明する。サーバ100は、サーバ処理手段110、サーバ記憶手段120、およびサーバ通信手段130を備える。サーバ100のハードウェアの各構成要素は、例えば、バスを介して相互に接続される。
【0033】
サーバ処理手段110は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、例えば、ハードウェアに内蔵されたデータ処理装置により実現される。サーバ処理手段110は、代表的には中央処理装置(CPU)であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGA等であってもよいし、そうでなくてもよい。本開示において、サーバ処理手段110は、これらに限定されない。
【0034】
サーバ記憶手段120は、サーバ100が動作するうえで必要となる各種プログラムおよび各種データを記憶する機能を有する。サーバ記憶手段120は、HDD、SSD、フラッシュメモリ等各種の記憶媒体により実現される。ただし、本開示において、サーバ記憶手段120は、これらに限定されない。また、サーバ記憶手段120は、メモリ(Memory)と表現されてもよいし、されなくてもよい。
【0035】
サーバ通信手段130は、ネットワーク300を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。サーバ通信手段130は、ネットワーク300を介して、ユーザ端末200との通信を実行する機能を有する。具体的には、サーバ通信手段130は、各種の情報をサーバ処理手段110からの指示に従って、ユーザ端末200に送信する。サーバ通信手段130は、ユーザ端末200から送信された各種の情報を受信し、サーバ処理手段110に伝達する。
【0036】
なお、サーバ通信手段130をサーバ通信I/F(インタフェース)と表現する場合もある。また、サーバ通信手段130が物理的に構造化された回路で構成される場合には、サーバ通信回路と表現する場合もある。
【0037】
なお、サーバ100は、ハードウェア構成として、入出力手段およびディスプレイを備えてもよい。入出力手段は、サーバ100に対する各種操作を入力する装置により実現される。入出力手段は、ユーザからの入力を受け付けて、当該入力に係る情報をサーバ処理手段110に伝達できる全ての種類の装置のいずれか、または、その組み合わせにより実現される。ディスプレイは、代表的にはモニタ(例えば、液晶ディスプレイやOELD等)で実現される。この場合、例えば、サーバ100のハードウェアは、ディスプレイを取り外すような構成であってもよいし、そうでなくてもよい。
【0038】
サーバ100は、プログラムをサーバ記憶手段120に記憶し、このプログラムを実行することで、サーバ処理手段110が、サーバ処理手段110に含まれる各部としての処理を実行する。つまり、サーバ記憶手段120に記憶されるプログラムは、サーバ100に、サーバ処理手段110が実行する各機能を実現させる。換言すれば、サーバ100においてメモリに記憶されたプログラムをプロセッサが実行し、サーバ100のハードウェアとソフトウェアとが協働することによって、サーバ100が備える各部の機能が実現される。なお、このプログラムは、プログラムモジュールと表現されてもよいし、されなくてもよい。
【0039】
なお、ユーザ端末200の端末制御手段210、および/または、サーバ100のサーバ処理手段110は、制御回路を有するCPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよいし、そうでなくてもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、本開示に係る実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよいし、そうでなくてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
【0040】
また、本開示に係る実施形態のプログラム(例えば、ソフトウェアプログラム、コンピュータプログラム、またはプログラムモジュール)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよいし、されなくてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。また、プログラムは、本開示に係る実施形態の機能の一部を実現するためのものであってもよいし、そうでなくてもよい。さらに、本開示に係る実施形態の機能を記憶媒体に既に記録されるプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよいし、そうでなくてもよい。
【0041】
記憶媒体は、1つまたは複数の半導体ベースの、または他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)等)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カード、またはドライブ、任意の他の適切な記憶媒体、もしくは、これらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。また、記憶媒体はメモリ(Memory)と表現されてもよいし、されなくてもよい。
【0042】
また、本開示のプログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ100および/またはユーザ端末200に提供されてもよいし、されなくてもよい。プログラムが伝送媒体を介して提供される場合、サーバ100および/またはユーザ端末200は、例えば、インターネット等を介してダウンロードしたプログラムを実行することにより、各実施形態に示す複数の機能部の機能を実現することが可能である。
【0043】
また、限定ではなく例として、ユーザ端末200がスマートフォンまたはPCである場合に、当該スマートフォンまたはPCにサーバ100(またはサーバ100以外のサーバ装置)から受信したアプリケーションが組み込まれ(インストールされ)て、本開示の請求項に係る一部の要素(処理・動作)が当該アプリケーションを介して実行されてもよい。また、限定ではなく例として、ユーザ端末200がスマートフォンまたはPCである場合に、当該スマートフォンまたはPCにアプリケーションが組み込まれる(インストールされる)ことなく、当該スマートフォンまたはPCからアクセス可能なウェブサイトを介して、本開示の請求項に係る一部の要素(処理・動作)が実行されてもよい。
【0044】
また、本開示に係る実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。また、サーバ100および/またはユーザ端末200における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよいし、そうでなくてもよい。また、ユーザ端末200における処理の少なくとも一部を、サーバ100により行う構成としてもよいし、そうでなくてもよい。この場合、ユーザ端末200の端末制御手段210の各機能部の処理のうち少なくとも一部の処理を、サーバ100で行う構成としてもよいし、そうでなくてもよい。また、サーバ100における処理の少なくとも一部を、ユーザ端末200により行う構成としてもよいし、そうでなくてもよい。この場合、サーバ100のサーバ処理手段110の各機能部の処理のうち少なくとも一部の処理を、ユーザ端末200で行う構成としてもよいし、そうでなくてもよい。
【0045】
なお、本開示のプログラムは、例えば、ActionScript、JavaScript(登録商標)等のスクリプト言語、Objective-C、Java(登録商標)等のオブジェクト指向プログラミング言語、HTML5等のマークアップ言語等を用いて実装され得る。
【0046】
次に、
図3において、サーバ100に格納された統計量のデータベースには、個人情報等の機密情報が含まれる。そのため、サーバ100によって閲覧可能な情報に対しては、適切なプライバシー保護の処理がなされる必要がある。
【0047】
例えば、統計量に相加平均処理等の統計的な集計がなされた集計値であったとしても、当該集計値が公開されることは、統計量に含まれる個々のデータ提供者のプライバシーを保護する観点から好ましくないことがある。一例として、統計量のデータベースDから統計的な集計が行われた集計値sが公開された後、データベースD´から同様の統計的な集計が行われた集計値s´が公開されたとする。データベースD´は、データベースDから統計量のうち1要素のみを除いたものである。この場合、集計値sと集計値s´とが比較されることで、除かれた1要素が復元され得る。更に、当該1要素が個人情報であって、図示されない他の個人を示す情報と関連付けられた場合、当該1要素である個人情報が第3者に知られてしまうことになる。
【0048】
このような事象を回避するためのプライバシー保護処理の1つとして、集計値に対して、ノイズ値が付与された表示値を集計値の代わりに公開するという処理がある。この処理において、ノイズ値には、データベースDに対応する表示値とD´に対応する表示値とが比較されたとしても、除かれた1要素が復元困難となるような値が設定される。処理の一例において、データベースDとデータベースD´との区別の困難性は、指標値であるプライバシーパラメータεで規定される。一般に、データベースDとデータベースD´とを区別することがプライバシーパラメータεだけ困難であるようにノイズ値が付与されているとき、ε-差分プライバシーが保証されている、と表現される。なお、差分プライバシーが保証される処理は、ε-差分プライバシーだけでなく、(ε,δ)-差分プライバシー等の別の差分プライバシー処理であってもよい。
【0049】
例えば、サーバ100によって、ユーザ端末200には統計量が集計された結果を示すグラフが表示される。本実施の形態において、ユーザ端末200には、ε-差分プライバシーが保証されたグラフが表示される。即ち、当該グラフに示される各値は、集計値ではなく表示値である。このため、ユーザ端末200からグラフを見た人物は、正確な集計値を知ることはできない。例えば、当該人物は、各グラフに示された表示値から、集計値の傾向を知ることができる。例えば、当該人物は、あるグラフに示された表示値を読むことで、集計値が自身で設定した基準値を上回っていると考えられるか否かを判断することができる。
【0050】
次に、ε-差分プライバシーについてより具体的に説明する。以下では、
図3に示されるようなセントラル差分プライバシーに関する内容を示す。まず、任意のデータベースの組D、D´は、以下の式(1)を満たす、即ち隣接データベースであると仮定する。隣接データベースは、任意の1要素だけが異なるデータベースの組である。d
Hは、ハミング距離である。
【0051】
【0052】
ノイズ値を付加する仕組みであるメカニズムMは、Dから表示値である出力Sを出力する。以下の式(2)が成り立つとき、メカニズムMがε-差分プライバシーを満たす、と定義される。ここで、Sは任意の出力の集合である。
【0053】
【0054】
式(2)より、εが小さいほど、出力からDとD´との区別が難しい、即ちより高いプライバシー性が保証される。εは、保証したいプライバシーの程度に応じて設定される。例えば、εが0.5から2程度であれば、ある程度実用的であると考えられている。
【0055】
本実施の形態において、メカニズムMは、統計量であるDの集計結果としての集計値と、ノイズ値nと、の和である。集計手法を関数fとしたとき、Dの集計値は、f(D)で表現される。
【0056】
ノイズ値nは、想定されるデータベースDに対して集計値f(D)がどの程度のばらつきを生じる得るか、即ち集計手法が持つ特性を示す特性値に応じて設計される必要がある。ノイズ値nの設計手法として、保証したいプライバシーの指標値であるプライバシーパラメータεと特性値とによって決定される確率変数の関数からランダムにサンプリングした値をノイズ値nとする手法がある。確率変数は、連続型の確率変数であってもよいし、離散型の確率変数であってもよい。
【0057】
具体的には、ノイズ値nの設計手法の一例として、ノイズ値nをラプラス分布関数からサンプリングする手法がある。当該ラプラス分布関数は、平均をゼロとし、センシティビティΔfをプライバシーパラメータεで割った商を分散として、設計される。即ち、以下の式(3)のようなメカニズムMが設計される。
【0058】
【0059】
センシティビティΔfは、集計手法が持つ特性を示す特性値であり、以下の式(4)で規定される。即ち、センシティビティΔfは、想定される隣接データベースの組D、D´を集計手法の関数fに入力したときに、発生する出力の変化量の最大値である。即ち、あるε-差分プライバシーを保証したいならば、センシティビティΔfが大きいほど、付加されるノイズ値nの最大値を大きくする必要がある。また、付加されるノイズ値nの期待値を大きくする必要がある。
【0060】
【0061】
式(3)によれば、メカニズムM(D)は、表示値であり、集計値f(D)とノイズ値nとの和である。ノイズ値nは、ラプラス分布関数からランダムでサンプリングされた値である。このような表示値が示されたグラフは、ε-差分プライバシーが保証されたものである。
【0062】
本実施の形態のグラフには、このような表示値に加えて、確率変数の関数を示す図形が描画される。例えば、上記の例では、表示値を中心としてラプラス分布の確率密度が表現された図形が描画される。ラプラス分布が平均を軸とした線対称な形状を有しておりかつ平均が0に設定されているため、ある位置における確率密度の値は、当該位置が集計値である確率を意味する。このため、当該グラフを見たユーザは、表示値に対して集計値が存在しそうな範囲を直感的に理解することができる。また、ユーザは、ノイズ値nに利用されている確率変数の関数の形状、種類、等を直感的に理解することができる。
【0063】
なお、メカニズムMに採用される確率変数の関数は、ガウス分布関数、その他の確率密度関数であってよい。この場合でも、例えば、ラプラス分布の形状とガウス分布の形状とは、容易に見分けがつく。また、メカニズムMに採用される確率変数の関数は、離散ラプラス関数、離散ガウス関数、等の離散型の確率変数の関数であってもよい。
【0064】
図4は、機能ブロック図を示す。一例として、サーバ100は、集計結果に関する入力を受け付けて、集計結果をグラフ等の形態で表示するためのインタフェースを提供する。ユーザ端末200の表示手段250には、当該インタフェースが表示される。ユーザ端末200において、ユーザは、内容を知りたい集計結果をインタフェースに入力する。
【0065】
サーバ100は、記憶部10、受付部11、集計部12、第1演算部13、第2演算部14、取得部15、生成部16、および出力部17を備える。
【0066】
例えば、記憶部10は、
図2に示されたサーバ記憶手段120によって実現される。記憶部10は、統計量の集計に関する各種の設定値、設定量、演算式、等の情報を記憶する。記憶部10は、統計量のデータベースを記憶していてもよい。
【0067】
受付部11は、インタフェースにて情報を受け付ける。具体的には、集計の対象となる統計量、グラフの表示形式、等のグラフを生成するための指示を受け付ける。なお、受付部11は、プライバシーパラメータε、集計の対象となる値、集計値、利用する確率変数の関数、等の、集計および演算に関する情報の入力を受け付けてもよい。
【0068】
集計部12は、記憶部10から、集計を行う対象の統計量と、統計量を集計するための演算式と、を取得する。集計部12は、対象の統計量を集計して、集計値と集計手法の特性値とを演算する。例えば、集計部12は、特性値としてセンシティビティΔfを演算する。
【0069】
第1演算部13と第2演算部14とは、プライバシー演算部を構成し、差分プライバシーを保証するための各値の演算を行う。即ち、集計部12とプライバシー演算部とによって、差分プライバシーが保証されたメカニズムを実現する。
【0070】
第1演算部13は、記憶部10から差分プライバシーの保証に利用する確率変数の関数を取得する。取得された確率変数の関数を決定するパラメータには、特性値とプライバシーパラメータとが含まれる。第1演算部13は、確率変数の関数に集計部12が演算した特性値とプライバシーパラメータεとを反映して、確率変数の関数を決定する、即ち、確率変数の関数のグラフ形状を確定させる。第1演算部13は、決定された確率変数の関数に従った1つの値をサンプリングして、ノイズ値nとする。
【0071】
第2演算部14は、集計部12が演算した集計値と、第1演算部13が演算したノイズ値nとの和を演算して、表示値とする。
【0072】
基本的に、統計量からは、期間を要素として期間ごとに区切った複数の集計値、項目を要素として項目ごとに分けた複数の統計値、等の要素によって区別された複数の集計値が集計される。集計部12、第1演算部13、および第2演算部14は、複数の集計値の各々について、その集計値と特性値と確率変数の関数とノイズ値と表示値とを対応付けて決定または演算する。
【0073】
取得部15は、グラフを描画するために必要な情報として、第1演算部13に決定された確率変数の関数と、第2演算部14に演算された表示値と、を取得する。この際、取得部15は、ある統計量に関連する複数の組の確率変数の関数と表示値とを取得する。
【0074】
生成部16は、取得された複数の表示値を示すグラフが表示されるようなグラフ情報を生成する。この際、生成部16は、複数の表示値の各々に対して、対応する確率変数の関数を示す図形が描画されるグラフのグラフ情報を生成する。確率変数の関数の図形は、グラフにおいて表示値が示す次元である主次元の方向に広がりを持つ。当該図形は、当該表示値の項目において対応する集計値の存在範囲を意味する。当該図形は、対応する集計値について複数の存在範囲を表す。即ち、グラフ情報に示されるグラフには、表示値と確率変数の関数との組が複数個描画される。
【0075】
出力部17は、生成部16が生成したグラフ情報を出力する。グラフ情報の出力処理は、最終的にグラフ情報に示されるグラフがユーザに対して表示されるような態様であればよい。例えば、出力部17は、グラフ情報の出力処理として、ユーザ端末200で閲覧されているインタフェースに当該グラフ情報に示されるグラフを表示させてもよい。例えば、出力部17は、グラフ情報の出力処理として、グラフ情報をユーザ端末200に送信してもよい。この場合、ユーザ端末200において、任意のタイミングでグラフ情報に示されるグラフが表示され得る。
【0076】
次に、
図5から
図12を用いて、生成されるグラフの例について説明する。
図5から
図12は実施の形態1におけるグラフ生成システムによって生成されるグラフの例を示す図である。特に断りがない限り、確率変数の関数としてラプラス分布関数が採用され、ε-差分プライバシーが保証された表示値に基づいたグラフが示される。
【0077】
図5は、グラフの第1例を示す。第1例において、グラフは、y軸が集計値の次元である主次元であり、y軸と垂直なx軸方向に要素によって分けられた複数の表示値が並ぶグラフである。具体的には、x軸方向において、要素A、B、C、D、Eの5つの表示値が並ぶ。
図5の例において、グラフは、棒の端部が表示値を示す棒グラフであるが、各点が表示値を示す散布図であってもよい。
【0078】
第1例において、複数の存在範囲を示す図形は、目盛りである。目盛りには、集計値の存在範囲を示すバーが複数含まれる。例えば、目盛りには、基準位置、50%、90%、および95%のバーが含まれる。50%のバー、90%のバー、および95%のバーは、主次元の方向において、基準位置pのバーを中心とする対称な位置2箇所に設けられる。基準位置pのバー、50%のバー、90%のバー、および95%のバーは、主次元の方向とは垂直な方向の長さが異なる、バーの太さが異なる、等の手法でそれぞれが区別される。
【0079】
50%のバー、90%のバー、および95%のバーは、それぞれ集計値の存在範囲を示す。即ち、2つの50%のバーで挟まれた範囲において、当該範囲に集計値が存在する確率は50%である。2つの90%のバーで挟まれた範囲において、当該範囲に集計値が存在する確率は90%である。2つの95%のバーで挟まれた範囲において、当該範囲に集計値が存在する確率は95%である。
【0080】
各バーの間隔は、ラプラス分布関数の平均からの距離に対応する。即ち、目盛りの形状に基づいて、ユーザは、表示値にラプラス分布関数に基づくノイズ値が利用されていることを知ることができる。
【0081】
なお、目盛りに含まれるバーおよびその数値の表示態様は、
図5で示された例に限定されない。例えば、目盛りには、25%のバーが含まれ、基準位置pのバーと25%のバーとで挟まれた範囲において集計値が存在する確率が25%であることが示されてもよい。
【0082】
図6は、グラフの第2例を示す。第2例において、グラフは、第1例と同じ規則で描画された散布グラフである。第2例において、複数の存在範囲を示す図形は、帯である。帯は、主次元の方向において、基準位置である中心位置から両側に広がる。主次元の方向における帯の中心の位置は、表示値が示す位置である。帯の内部の色は、集計値が存在する確率の分布と対応するように、段階的に異なる。例えば、帯の内部の色は、集計値が存在する確率が高いほど濃く、集計値が存在する確率が低いほど薄い。なお、帯の内部において、色の濃さでなく、色の種類が段階的に異なってもよい。
【0083】
第2例のグラフでは、基準位置であるy軸方向の中心に近いほど色が濃く、中心から離れるほど色が薄くなる。なお、
図6では、y軸方向における帯の両端が明確に区切られているが、当該両端は明確に区切られることなく徐々に色が薄くなっていってもよい。
【0084】
複数の存在範囲は、当該帯の内部の色の濃さによって示される。50%で示される濃さの範囲に集計値が存在する確率は、50%である。なお、
図6では、y軸方向における帯の濃さが複数の種類で描画されているが、内部の色の濃さが明確に区分けされず、グラデーションとして描画されてもよい。この場合であっても、ユーザは、例示に従って複数の存在範囲として認識し得る。
【0085】
図7は、グラフの第3例を示す。第3例において、グラフは、第2例と同じ規則で描画された散布グラフである。第3例において、複数の存在範囲を示す図形の外形は、主次元の方向において、基準位置である中心位置から両側に広がる。主次元の方向における図形の中心位置は、表示値が示す位置である。当該図形の外形は、ノイズ関数であるラプラス分布関数のグラフの形状の相似形となっている。具体的には、主次元の方向とは垂直なx軸の方向の外形が、ラプラス分布関数のグラフと相似の曲線となる。この場合、図形の外形のうちx軸方向の幅が、当該y軸方向の値が集計値である確率を示す。ユーザは、当該y軸方向の値から基準位置までの範囲に集計値が存在する確率を読み取ることができる。
【0086】
図8は、グラフの第4例を示す。第4例において、グラフは、第3例と同じ規則で描画された散布グラフである。第4例において、複数の存在範囲を示す図形の外形は、第3例と同じである。第4例において、当該図形の内部の色は、集計値が存在する確率の分布と対応するように、段階的に異なる。即ち、図形の内部の色は、第2例と同様に着色される。
【0087】
図9は、グラフの第4例について、ノイズ関数がラプラス分布関数ではなく、ガウス分布関数である場合を示す。
図9に示されるように、複数の存在範囲を示す図形の外形は、適用される確率変数の関数のグラフ形状に応じて異なる。なお、当該図形の内部の色は、第2例と同様に着色されてもよい。
【0088】
図10は、グラフの第5例について、グラフが折線グラフである場合を示す。グラフにおいて、y軸が主次元である。x軸方向に複数の表示値が並び、各表示値の間が線で結ばれる。
【0089】
折線グラフの場合においても、複数の要素の各々について、第2例のグラフと同様に、表示値を基準位置pとして主次元の方向に集計値の存在範囲を示す図形が描画される。また、要素と要素との間を結ぶ線に対して、当該線を基準位置として、主次元の方向に広がって集計値の存在範囲を示す図形が描画される。要素と要素との間の当該図形において、表示値を中心とする図形と同様に、主次元の方向への色が、段階的なグラデーションで変化する。
【0090】
なお、折線グラフのように角のあるグラフでなく、滑らかな線で示された線グラフに第5例と同様の図形が適用されてもよい。
【0091】
図11は、グラフの第6例について、グラフが第1要素Aと第2要素Bとからなる100%積み上げ棒グラフである場合を示す。100%積み合上げ棒グラフは、集計値の合計値が100%であり、全体に対する各要素の比率を示すグラフである。2つの要素A、Bからなる場合、第2要素Bの比率(%)は、100%から第1要素Aの比率(%)を減じた差である。例えば、第1要素Aと第2要素Bとは、異なる色が塗られることで描画される。
【0092】
第1要素Aの表示値は、第1要素Aの集計値と第1要素Aのノイズ値との和である。第1要素Aのノイズ値は、第2要素Bのノイズ値としてみなすことができる。そのため、100%と第1要素Aとの差を第2要素Bの表示値としても、差分プライバシーが保証される。グラフにおいて、第1要素Aの表示値は、第1要素Aと第2要素Bとの境界値である。そして、グラフには、第1要素Aと第2要素Bとの境界値を基準位置とした、第1要素Aの集計値の複数の存在範囲を示す図形、即ち第1要素Aと第2要素Bとの集計結果による境界値の複数の存在範囲を示す図形が含まれる。
【0093】
具体的には、当該図形は、第1要素Aの表示値を中心の位置として、第1要素Aの集計値が存在する確率と対応するように主次元の方向において色が段階的に異なるような図形である。例えば、主次元の方向において、図形うち中心位置の色が白色であり、中心から端へ向かうにつれて段階的に色が濃くなっていく。この際、図形の色は、第1要素Aに向かって第1要素Aと同じ色が濃くなっていき、第2要素Bに向かって第2要素Bと同じ色が濃くなっていく。
【0094】
なお、図形の中心位置の色は、白色ではなく、第1要素Aの色と第2要素Bの色とが混合された色であってもよい。この場合であっても、図形の色は、第1要素Aに向かって第1要素Aと同じ色が濃くなっていき、第2要素Bに向かって第2要素Bと同じ色が濃くなっていくように変化してもよい。具体的には、例えば、第1要素Aの色が赤色であって、第2要素Bの色が青色であって、図形の中心の色が紫色であってもよい。
【0095】
図12は、グラフの第7例について、グラフが、第1要素Aと第2要素Bとからなる円グラフである場合を示す。即ち、円グラフは、第1要素Aと第2要素Bとの比率を示す。円グラフの主次元の方向は、円グラフの円周に沿った方向である。
図12の例では、主次元の方向は、円グラフの円周に沿って反時計回りの方向である。
【0096】
グラフの第7例においても、第1要素Aと第2要素Bとの境界には、グラフの第6例と概ね同様の図形が示される。即ち、円グラフの図形は、第1要素Aの表示値を中心の位置として、第1要素Aの集計値が存在する確率と対応するように主次元の方向において色が段階的に異なるような図形である。
【0097】
次に、
図13を用いて、サーバ100の処理の流れを説明する。
図13は実施の形態1におけるグラフ生成システムが行う動作の概要を示すフローチャートである。
【0098】
ステップS1において、受付部11は、グラフを生成するための指示を受け付ける。
【0099】
その後、ステップS2において、集計部12は、統計量を集計して、集計値と特性値とを演算する。
【0100】
その後、ステップS3において、第1演算部13は、ノイズ値nを演算する。第2演算部14は、表示値を演算する。
【0101】
その後、ステップS4において、取得部15は、確率変数の関数と表示値とを取得する。
【0102】
その後、ステップS5において、生成部16は、グラフを描画するグラフ情報を生成する。
【0103】
その後、ステップS6において、出力部17は、グラフ情報を出力する。その後、フローチャートの動作が終了する。
【0104】
以上で説明した実施の形態1によれば、グラフ生成システム400のサーバ100は、プログラムによってグラフ生成方法の処理を実行する。グラフ生成方法の各処理は、サーバ100の各機能の処理に対応する。プログラムは、サーバ100に、取得部15の機能と、生成部16の機能と、を実行させ、グラフ情報を生成させる。グラフ情報に示されるグラフには、集計値が存在する確率と対応した複数の存在範囲が表される。このため、ユーザは、集計値が存在する確率に関するより詳しい情報を知ることができる。例えば、集計値に関する2つ以上の判断基準を得ることで、ユーザは、集計値がどの範囲に収まるのか、集計値が基準とする値よりも大きいのか、等を推測して、情報を整理することができる。
【0105】
また、ノイズ関数は、確率密度関数である。一例として、ノイズ関数は、ラプラス分布関数である。ここで、差分プライバシーが保証されたグラフに限らず、グラフにはエラーバーが付されることがある。当該エラーバーは、一般的に、ガウス分布に基づく値であることが多く、当該エラーバーの根拠となった確率密度関数について特に説明がなされないことが多い。一方で、差分プライバシーの分野において利用される確率密度関数は、ガウス分布関数に限られない。このため、非特許文献1に記載されたようなグラフでは、併せて表示される範囲の図形が必ずガウス分布によるものであると、ユーザが誤解してしまう恐れがある。本実施の形態に記載されたグラフでは、複数の存在範囲が表されるため、ユーザは、利用されている確率密度関数についてその形状を推測することができる。特に、ラプラス分布関数は、ガウス分布関数よりも、形状がシャープである。ユーザは、ノイズ値に利用されている関数が、ガウス分布関数でなくラプラス分布関数であることを、容易に知ることができる。
【0106】
なお、ノイズ関数は、離散型の確率変数を扱う確率質量関数であってもよい。例えば、ノイズ関数は、離散ラプラス分布関数、離散ガウス分布関数、等であってもよい。この場合であっても、差分プライバシーが保証された表示値が演算されることができる。
【0107】
また、グラフに示される図形は、複数の目盛りであってもよい。このため、ユーザは、明確な数値によって複数の存在範囲を知ることができる。
【0108】
また、グラフに示される図形は帯であって、色が異なることで複数の存在範囲が示されてもよい。このため、ユーザは、集計値が存在する位置と確率との組み合わせを直感的に理解することができる。
【0109】
また、グラフに示される図形の外形が、ノイズ関数のグラフの形状の相似形を有してもよい。このため、ユーザは、利用されているノイズ関数がどのような関数であるのかを容易に理解することができる。更に、当該図形の内部の色が、集計値が存在する確率に応じて段階的に異なってもよい。このため、ユーザは、集計値が存在する位置と確率との組み合わせを直感的に理解することができる。
【0110】
また、グラフは、100%積み上げ棒グラフであってもよい。もしくは、グラフは、円グラフであってもよい。いずれの場合にも、第1要素Aと第2要素Bとの間には、第1要素Aの集計値が存在する確率と対応するように色が段階的に異なる図形が表される。このため、集計値が比率を示す場合であっても、ユーザは、差分プライバシーが保証された状態で、集計値が存在する確率に関するより詳細な情報を知ることができる。
【0111】
なお、受付部11は、表示値と、ノイズ関数を示す数式と、の入力を受け付け、取得部15は、当該表示値と、ノイズ関数を示す数式と、を取得してもよい。生成部16は、このように取得された表示値とノイズ関数とに基づいて、グラフ情報を生成してもよい。即ち、表示値およびノイズ関数は、サーバ100によって集計および演算されたものでなくてもよい。
【0112】
次に、
図14から
図16を用いて、第1変形例を説明する。
図14から
図16は実施の形態1におけるグラフ生成システムで生成されるグラフの第1変形例である。
【0113】
第1変形例において、生成部16が生成するグラフ情報が表示される際、ユーザから、複数の存在範囲のうち1つの指定存在範囲の指定を受け付けることが可能である。グラフ情報に示されるグラフには、表示値が存在する確率の範囲として、指定された指定存在範囲のみが表される。
【0114】
図14から
図16において、グラフの第1例に第1変形例が適用されたグラフが示される。グラフ情報に示されるグラフには、指定存在範囲の指定を受け付けるインタフェースが併せて表示される。「ノイズバー設定」と記載された項目のうち1つが指定された場合、集計値が存在する確率を示す範囲として、当該項目に示される指定存在範囲のみがグラフに表示される。
【0115】
図14には、50%の指定存在範囲が指定され、グラフには、基準位置を中心とした50%のバーのみが表示される。また、2つのバーの間に存在する値の範囲を示す「±3」が併せて示される。この範囲は、集計値が基準位置を中心として、+3から-3の範囲内に存在する、ことを意味する。
図15には、同様に、90%の指定存在範囲が指定され、グラフには、基準位置を中心とした90%のバーのみが表示される。
図16には、同様に、95%の指定存在範囲が指定され、グラフには、基準位置を中心とした95%のバーのみが表示される。
【0116】
以上で説明した実施の形態1の第1変形例によれば、ユーザは、複数の存在範囲のうち指定存在範囲のみが表示されたグラフを見ることができる。このため、ユーザは、集計値がどの範囲に収まるのか、集計値が基準とする値よりも大きいのか、等の情報を容易に整理することができる。
【0117】
次に、
図17を用いて、第2変形例を説明する。
図17は実施の形態1におけるグラフ生成システムで生成されるグラフの第2変形例である。
【0118】
第2変形例において、生成部16が生成するグラフ情報が表示される際、ユーザから、集計値の存在範囲のうちいずれかの位置の指示を受け付けることが可能である。位置の指示を受け付けた場合、グラフには、当該位置に集計値が存在する確率を示す情報が、併せて表示される。即ち、生成部16は、このようなグラフを示すグラフ情報を生成する。
【0119】
図17において、グラフの第2例に第2変形例が適用されたグラフが示される。一例として、位置の指定は、ポインタ等で指示される。
図17に示される例では、集計値が存在する確率を示す情報として、対応する表示値が算出される際に利用されたノイズ関数のグラフおよび当該グラフ中における指定された確率の指示図形が表示される。例えば、ノイズ関数として、ラプラス分布関数のグラフと、指示された位置P1に対応する確率を示す指示図形P2と、がグラフに描画される。
【0120】
以上で説明した実施の形態1の第2変形例によれば、ユーザは、指示した位置に集計値が存在する確率の情報を知ることができる。このため、ユーザは、集計値が基準とする値よりも大きいのか、等の情報を容易に整理することができる。
【0121】
なお、指示を受け付けた位置に集計値が存在する確率を示す情報は、ノイズ関数等の情報ではなく、当該確率を示す数字であってもよい。
【0122】
実施の形態2.
図18は実施の形態2におけるグラフ生成システムが生成するグラフの第1例である。
図19は実施の形態2におけるグラフ生成システムが生成するグラフの第2例である。なお、実施の形態1の部分と同一または相当部分には同一符号が付される。当該部分の説明は省略される。
【0123】
実施の形態2において、生成部16は、動的なグラフを生成する。動的なグラフとは、時間変化によってグラフに示される図形の位置が変化するグラフである。具体的には、主次元の方向におけるポインタの位置が、表示値の位置を基準位置として、集計値が存在する確率を示すように時間変化に応じて移動する。
【0124】
図18に示される実施の形態2におけるグラフの第1例では、規定の時間ごとにポインタが点滅しながら、その位置を移動する。この際、ポインタがある位置に出現する確率は、当該位置に集積値が存在する確率と等しい。即ち、ポインタは、時間変化に応じて点滅しながら、集積値が存在する確率に則った位置に出現する。P3で示される実線のポインタは、基準位置に存在する。破線の丸は、ある時間範囲内でポインタが出現した位置を示す。
【0125】
なお、基準位置のポインタは、点滅して出現するポインタと独立して常に表示されてもよいし、表示されなくてもよい。
【0126】
ユーザは、ポインタの出現頻度と、その時の主次元の値と、に基づいて、集計値が存在する範囲と確率とを直感的に理解することができる。
【0127】
図19に示される実施の形態2におけるグラフの第2例では、ポインタは、主次元の方向に上下移動を繰り返して、基準位置を中心とした往復運動を行う。この際、ポインタの移動速度は、集計値が存在する確率に対応して変化する。具体的には、ある位置におけるポインタの移動速度は、当該位置において集計値が存在する確率に対応した速度となる。この際、ある位置に集計値が存在する確率が高いほど、ポインタの移動速度が遅くなる。例えば、ポインタの移動速度は、集計値が存在する確率と反比例する値であってもよい。
【0128】
ある時間内において、集計値が存在する確率が高い範囲ほど、ポインタが存在する時間が長い。そのため、ユーザは、集計値が存在する範囲と確率とを直感的に理解することができる。
【0129】
なお、基準位置のポインタは、移動するポインタと独立して常に表示されてもよいし、表示されなくてもよい。
【0130】
以上で説明した実施の形態2によれば、時間的に変化する動的なグラフを示すグラフ情報が生成される。動的なグラフでは、ポインタの位置が、集計値が存在する確率を示すように時間に対して変化する。一例では、ポインタは、時間に対して点滅しながら、当該確率に則った位置に出現する。また別の例では、ポインタは、当該確率に対応した移動速度になるよう往復移動する。このため、ユーザは、集計値の位置を直感的に理解することができる。
【0131】
本開示に係る発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。したがって、これらの変形や修正は本開示に係る発明の範囲に含まれることに留意されたい。例えば、各部、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、あるいは分割したりすることが可能である。また、以上で説明した実施形態に示す構成を適宜組み合わせることとしてもよい。
【0132】
本開示に係るプログラム、グラフ生成システムおよびグラフ生成方法は、一例として、広告の視聴に関する統計量の集計結果を広告主に報告するグラフを生成する際に活用することができる。
【符号の説明】
【0133】
10 記憶部、 11 受付部、 12 集計部、 13 第1演算部、 14 第2演算部、 15 取得部、 16 生成部、 17 出力部、 100 サーバ、 110 サーバ処理手段、 120 サーバ記憶手段、 130 サーバ通信手段、 200 ユーザ端末、 210 端末制御手段、 220 端末記憶手段、 230 端末通信手段、 240 入出力手段、 250 表示手段、 300 ネットワーク、 400 グラフ生成システム