情報の収集方法及び端末
【課題】データの集計処理において、極力サーバによる個人情報管理の負担を軽減しつつ、個人に関する情報を知ることの無い集計処理を可能にすること。
【解決手段】アンケートを記入するためのアプリケーションが動作する各ユーザの端末と、アンケート結果を収集するアンケートサーバを用意する。問い合わせ内容とその回答データ処理方法を含む問い合わせデータをサーバから端末に配信し、端末の入力手段を介して収集された回答データ全体を構成する複数の群データ毎に攪乱処理を行い、この複数の群データを収集することで攪乱を消去する数値集計処理可能な情報の集計方法。
【解決手段】アンケートを記入するためのアプリケーションが動作する各ユーザの端末と、アンケート結果を収集するアンケートサーバを用意する。問い合わせ内容とその回答データ処理方法を含む問い合わせデータをサーバから端末に配信し、端末の入力手段を介して収集された回答データ全体を構成する複数の群データ毎に攪乱処理を行い、この複数の群データを収集することで攪乱を消去する数値集計処理可能な情報の集計方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して視聴率やアンケート結果や個人情報などを統計情報として集計する方法とその装置に関する。
【背景技術】
【0002】
近年の数々の個人情報流出事件の発生を背景に、2003年5月30日に個人情報保護法が施行された。ユーザの動向に関する統計情報の収集事業者は、個人情報流出リスクに伴う個人情報管理負荷を軽減しつつ、個人情報に関する統計情報の収集を実現したいとの要求が増大している。一方で、直接アンケートを収集するサーバへ個人情報を送付することに心理的抵抗を持つユーザが増えている。そのため、ネットワークを介してアンケート結果や個人情報をユーザが送付する際の個人情報保護に関する技術として下記するような技術が知られている。
まず電子アンケートの回答情報の一部を匿名項目として暗号化した上で集計サーバへ送信する技術がある。ユーザの回答情報の集計処理においては、集計サーバ上で暗号化項目を使用せず記名者情報を用いて運用し、アンケート主催者の集計処理においては記名者情報を削除した上で暗号化項目を解読し集計を行う(例えば、特許文献1参照)。
【0003】
次に、アンケート主催者のアンケートサーバと個人情報を扱う管理サーバを分離する技術もある(例えば、特許文献2参照)。管理サーバでは、アンケートの記名者情報を削除し、アンケートの集計と統計処理の結果のみをアンケートサーバへ送信することで、アンケートサーバ側におけるユーザの匿名性を保証する。
更に、電子アンケートの項目ごとに分割し、項目ごとの集計を独立して行えるようにすると同時に、項目間のクロス集計に関しても、項目間の関係を必要以上に知られることなく処理する技術もある(例えば、特許文献3参照)。
【0004】
【特許文献1】特開2002-109141号公報
【特許文献2】特開2003-152866号公報
【特許文献3】特開2002-244556号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
前述の何れの技術も、アンケート結果等の個人情報がサーバ側で統計処理されるまで適正に管理されることが前提となっている。また、サーバで適正に個人情報が管理されていても、項目間のクロス集計を行う場合や、項目間の相関係数等を算出する場合には、回答者の複数の属性を同時に知る必要があり、匿名性の薄れの問題が避けられない。
【0006】
本願は、数値的に集計処理が可能な情報の集計方法において、ユーザが個人情報をサーバによって解読可能な形で登録せずに、アンケートを収集するサーバ側において個人情報の内容を知ることのない集計処理を可能にする。さらに、同一個人に関する複数の属性情報が同時に必要な処理においてもその内容を知ることなく集計処理できること、を実現する集計方法を提供するものである。
【課題を解決するための手段】
【0007】
本願で開示する発明の概要を説明すれば以下の通りである。問い合わせ内容とその回答データ処理方法を含む問い合わせデータをサーバから端末に配信する。端末の入力手段を介して収集された回答データ全体を構成する複数の群データ毎に攪乱処理を行い、この複数の群データを収集することで攪乱を消去することを特徴とする数値集計処理可能な情報の集計方法。及び、この集計方法の実現のために用いる端末であって、入力されたデータに対して攪乱処理を行う攪乱作用部と、他の端末で上記攪乱処理の行われたデータと上記攪乱処理済みデータとの集計処理を行うデータ集計部とを有する端末である。
【発明の効果】
【0008】
本発明によって、アンケート回答などの個人に関する情報を、サーバで解読可能な形式で各端末からサーバに直接送信することなく、また、その情報の内容を知ることなく集計処理を行うことを可能にする。その結果、個人とその情報を結びつけることなく集計処理することで匿名性を維持し、また、同一個人に関する複数の属性情報が同時に必要な処理においてもその内容を知ることなく集計処理できるため、それに由来する匿名性の薄れを防ぐことができる。サーバ側で個人に関する属性情報が解読されないのでユーザに安心感を与える一方、サーバ自体も個人情報を知ることなく集計処理できるので個人情報の管理負担が低減できる。また、集計処理を各端末で分散処理できるのでサーバの集計処理による負荷が低減できる。
【発明を実施するための最良の形態】
【0009】
図を用いて説明する前に、本願発明の基本概念を説明する。なお、以下はユーザによるアンケート記入を想定して説明したが、アンケートの代わりに視聴率のように自動的にセンシングされるデータを対象としてもよい。
【0010】
アンケートを記入するためのアプリケーションが動作する各ユーザの端末と、アンケート結果を収集するアンケートサーバを用意する。アンケートサーバからアンケート内容とユーザの入力データの変換方法を記述したテンプレートを各端末へ送付する。端末のアプリケーションは、そのテンプレートに従って、ユーザにアンケート内容を提示して、ユーザが入力したデータから集計用データ(これをアンケートデータと呼ぶ)を生成し、データの各項目に対して乱数で擾乱をかける。各端末から収集された擾乱済みデータは擾乱済のまま集計処理を行って擾乱済み統計データを得る。集計処理はアンケートサーバで行ってもよいし、各端末で行ってもよいが、結局アンケートサーバに集約される。また、集計処理の内容は必ずしも加算演算とは限らない。アンケートサーバでは、各データの匿名性を維持したまま統計データを得ることができ、その擾乱済み統計データから擾乱を取り除くことによってデータの内容を知ることなく統計処理結果を得ることが出来る。
擾乱や集計の方法によって下記のバリエーションが用意される。
【実施例】
【0011】
以下に、添付図を参照して本発明の好適な実施例を詳細に説明する。
図1は、本発明の一実施例を説明する機能ブロック図である。
アンケート収集システムは、アンケートサーバ101と複数のアンケート回収装置(端末)107で構成される。102は、アンケート内容とその回答内容の変換方法に関するテンプレートデータを端末107に配信するテンプレート配信部である。103は、端末からのアンケートデータ(後述)を収集し、集計処理を行うデータ収集部である。104は、テンプレートを各端末へ配信し、アンケートデータを収集するまでの経路を生成する収集経路生成部である。105は、アンケートデータを擾乱するための乱数を生成する擾乱生成部である。正則線形変換を用いる手法の場合に用いられる。また、乱数サーバを用いる場合には、この部分はアンケートサーバから分離した乱数サーバの中に設けられる。106は、収集した擾乱済み集計データから擾乱を除去する擾乱除去部である。正則線形変換や乱数サーバを用いる手法の場合に用いられる。
【0012】
108は、アンケートサーバからアンケートリクエストして送信されるテンプレートを受信するテンプレート受信部である。このテンプレートに従って、表示入力部115でアンケート内容と入力インタフェースが表示される。また、外部のセンサ装置116などからセンシングデータや視聴率などのデータがデータ入力部111を介して入力される。入力された内容は、データ変換部114にてテンプレート内に記載されたデータ変換方法に従って、アンケートデータへと変換される。アンケートデータは、擾乱作用部110にて擾乱される。これらのデータは一旦データ保存部113にて保存される。端末同士でアンケートデータを送受信する場合には、データ送受信部112を介して行なわれ、データ集計部109にて擾乱済みのアンケートデータの集計処理が行なわれる。集計されたアンケートデータは、他の端末やアンケートサーバ101へデータ送受信部112を介して送付される。送受信する内容は、通信内容が盗聴されるのを防ぐために、端末間、端末とサーバ間にて暗号化される。なお、端末同士や乱数サーバと乱数を共有する場合にも、データ送受信部112を介して行なわれる。
これによって、アンケート回答装置で入力されたアンケート内容が擾乱された上でアンケートサーバへ収集されるため、アンケートサーバではその内容を知ることなく集計処理を行なうことを実現する。
【0013】
図2は、本発明の一実施例を説明するハードウェア構成のブロック図である。アンケートサーバ201は、通信I/F(202)、プログラムが動作するプロセッサ203、プログラムが格納されるメモリ204、プログラムやデータが記憶される記憶装置205で構成される。
アンケート回答装置(端末)212は、通信I/F(207)、端末プログラムが動作するプロセッサ208、端末プログラムを格納するメモリ209、プログラムやデータが記憶される記憶装置210、センサ装置116との通信を行なう通信I/F(211)にて構成される。
【0014】
アンケート回答装置212が、テレビ受像器、ビデオレコーダ、DVDレコーダ、ラジオ受信機等の場合、センサ装置116はチャンネルや番組、コンテンツと視聴時間を記録するセンサであり、記憶装置210にあらかじめ記録されたユーザ情報と併せて、詳細な視聴者情報の統計処理を実現する。
アンケート回答装置212が、カーナビゲーション装置の場合、センサ装置116はワイパーの動作速度やブレ―キング頻度、速度、GPSなどのセンサであり、走行中に自動車に関する各種センシングデータの統計処理を実現する。
これによってメモリ209に格納されたプログラムにより図1の各機能が実現され、アンケートサーバとアンケート回答装置をハードウェアとして実現することができる。
【0015】
図3は、アンケート表示とその回答から変換されたアンケートデータの模式図である。301はアンケートサーバから配信されるテンプレートにて指定されるアンケート表示であり、例えばHTML(HyperText Markup Language)にて記述される。302〜305は、フォーム文で記述された回答入力欄であり、入力された内容は確定ボタン306が押されると、端末内でこの表示のために動作するWWWサーバに送信され、テンプレートに含まれるデータ変換記述に従って、アンケートデータに変換される。アンケートデータとは集計用のデータであってユーザからの回答値を入力としてデータ変換記述(後述)(1208)によって出力されているものをいう。例えば、アンケート文章Aに対応する回答302は、YesまたはNoの回答であり、Yesの場合にアンケートデータ308として1が用意される。
【0016】
アンケート文章Bに対応する回答303は、a/b/c/dを選択するものであり、選択に応じて309のa/b/c/dのいずれかに1がセットされる。アンケート文章の回答304は、年齢を数値として入力し、310のCとして数値がセットされる。アンケート文章Dの回答305も同様である。アンケートデータのE312の場合、ユーザへ提示されるアンケート文章は存在しないが、自動的にセンシングされたデータが入力される。例えば、視聴率センサから入力された視聴割合がアンケートデータE312としてセットされる。313は、分散共分散行列を集計するためのアンケートデータである。313の行と列のC,D,Eで指定されるセルに、それぞれの値の積をセットする。例えば、CとDの組のセルでは310と311の値の積がセットされる。同じ組み合わせは省略するために、313の左下のセルにはセットする必要がないという意味で×を示した。307は、ユーザの回答によらず1を集計するアンケードデータであり、回答を返したユーザ数を集計することができる。
【0017】
これによって、アンケート集計を行なうためのアンケートデータを構成することができる。単純な回答値の集計だけでなく、前述のように変換処理を施してアンケートデータを作成することによって、項目間のクロス集計や、集計後に処理を行えば項目間の相関係数などを求めることも可能となる。また、分散共分散行列などを用意することで複数項目における主成分分析などのより一般的な統計処理を行うことも可能となる。
【0018】
図4は、自端末内でのみ乱数を扱う第1の実施例を示した模式図である。アンケート回答装置A(401)にて、データA(402)を集計すると元に戻るように二つのデータA1(403)とデータA2(406)の群データに分割する。アンケート回答装置A内で装置毎に生成される乱数rを生成し、データA1に加算し(404)、データA2からは減算し(407)、それぞれの結果を405、408とする。アンケートサーバ412は、アンケートデータの回収を2回行う。1回目410をアンケート回答装置Aから回収し、同様にアンケート回答装置B(409)からも、同様に処理された1回目のデータを回収する。アンケートサーバ内では擾乱済みの集計結果(A1+B1+r+q)が得られる。この集計結果はそれぞれの端末からのアンケートデータが分割された不完全なものである上に、乱数で擾乱されたデータであるため、アンケートサーバもその内容を知ることはできない。
【0019】
次に、2回目の収集(411等)を行なうと、アンケートサーバ内では2回目の集計結果(A2+B2−r−q)が収集され、前述同様これも内容を知ることはできないものである。1回目の結果と合わせるとアンケート回答装置から(A+B)のアンケート集計結果が擾乱が消去された形で得ることができる。
尚、アンケート回答装置内で分割される群データの数は3つ以上であってもよく、アンケートを回収する端末の数が多い方が匿名性の薄れが防ぐことができる。具体的には、端末ごとに異なる乱数を生成し、2つのアンケートデータの集計処理をすると、擾乱済みデータはアンケートサーバ以外の他の端末へ送付し、その端末では、受信した擾乱済みデータと自端末内で生成した擾乱済みデータを処理することによって擾乱済み集計データを得る。更にそのデータは他の端末へ送付される。アンケートサーバは、以上の処理を繰り返し、多くの端末によって集計済みのデータを受信する。アンケートサーバでは上記の様にして別々に受信される2つの集計結果を集計処理することで、全ての擾乱が打ち消された集計結果を得る。
【0020】
以上のように、収集したデータを分割し集計すると擾乱が打ち消されるように分割されたアンケートデータ各々を擾乱することで、アンケート回答装置で擾乱されたアンケートデータをアンケートサーバに収集された時、あるいはその直前に擾乱消去されるように集計経路を設計することができる。
【0021】
図5は、2端末間で乱数を共有する第2のアンケートデータ擾乱手法を示した模式図である。アンケート回答装置A(501)とアンケート回答装置(505)の間で、乱数rを共有する(512)。アンケートデータA(502)には乱数r(503)を足し加え、データB(506)からはその乱数rを差し引く(507)。結果として擾乱されたアンケートデータ504と508が得られる。アンケートサーバ511は、(A+r)504と(B−r)508を収集するが、それぞれ擾乱済み(509、510)のため、アンケートサーバはその内容を知ることができない。しかし、二つを加算することで、擾乱が消去された集計データ(A+B)を得る。上記構成において、アンケート回答装置が多くなると、より匿名性の効果を上げることができる。
【0022】
これによって、アンケート回答装置で擾乱されたアンケートデータをアンケートサーバに収集し、集計を終了するとアンケートデータに含まれる擾乱が消去された集計結果を得ることができる。
なお、乱数を共有した端末がアンケート結果を返信しなかった場合、乱数が相殺されないので正しい結果を得ない。それに対処する方法は以下のとおりである。アンケート結果を返信しなかった端末と乱数を共有した端末同士の端末群も複数のグループに分割し、グループ間で秘密乱数を交換する。そして新しい乱数から最初の乱数を差し引いてグループ内で集計処理することで対処できる。又、この際、乱数をサーバで直接集計してもよい。サーバ側で両グループの乱数の集計結果を最初の集計結果に対して集計処理をすると、アンケートを返信しなかった端末の分を除いた結果が得られる。
【0023】
図6は、乱数サーバと端末間で乱数を共有する第3のアンケートデータ擾乱手法を示した模式図である。乱数サーバ605で、乱数r(606)、乱数q(607)のように端末の数だけ乱数生成し、各アンケート回答装置(端末)へ送信する。その一方、乱数の集計データ608を算出する。アンケート回答装置A601で生成されたアンケートデータA602に対し、乱数サーバ605から受信した乱数r(603)を加算し、擾乱済みアンケートデータ(A+r)(604)を得る。アンケート回答装置B609でも同様に処理を行ない、アンケートサーバ610はそれぞれの端末から擾乱済みアンケートデータを収集し、擾乱済みのまま集計処理を行い(A+B+r+q)を得る。その後、乱数サーバ605から集計済みの乱数データ(r+q)(608)を入手し、差し引くことで擾乱が消去された集計結果(A+B)を得る。尚、アンケートデータの収集はアンケートサーバに限らず他の端末で行ったものを受信してもよい。
【0024】
これによって、アンケート回答装置で擾乱されたアンケートデータをアンケートサーバに収集して擾乱消去することができる。又、アンケートを回収する端末の数が多い方が匿名性を保持することができる。
図5同様に、乱数を共有した端末がアンケート結果を返信しなかった場合に、正しい集計結果を得ることができなくなるため、それに対処するように、アンケート結果を返信しなかった端末の乱数の集計結果を乱数サーバからアンケートサーバへ送信して、相殺する処理を行うことができる。こうして正しい集計結果を得ることができる。
【0025】
図7は、正則線形変換を用いた第4のアンケートデータ擾乱手法を示した模式図である。アンケートサーバ711では、ランダムに正則線形変換T(逆変換と線形演算が可能な変換)を生成する。例えば、アンケートへの回答からデータ変換されたアンケートデータのデータ列がN個の場合、NXN個の乱数からNXN行列を生成する。この行列式が0でないこと(あるいは、0に近くないこと)を確認して、正則線形行列Tとする。もし正則線形変換を満たさなければ、再び乱数を発生させて生成し直す。このようにして生成した正則線形変換Tを各アンケート回答装置(701、705)へ配信する。ここで、端末内のアンケートプログラムにのみ解読できる暗号化をほどこすこともできる。アンケート回答装置A(701)では、アンケートデータのデータ列をベクトルa(702)として扱い、正則線形変換T(703)を演算することで擾乱結果Ta(704)を得る。変換Tはランダムに生成されたものなので、変換後のデータは擾乱されたものとなるが、このまま線形処理(加減算および定数倍演算)を行うことが可能である。これをアンケート回答装置B(705)へ送付する。
【0026】
尚、アンケート回答装置Bも正則線形変換Tの内容を知ってはいるため暗号化して送付した方が良い。アンケート回答装置Bでは同様にデータ列b(705)と正則線形変換T(107)を用いて擾乱結果Tb(708)を得、アンケート回答装置Aから入手したTb(709)を加算することで、(Ta+Tb)(710)を得る。これは、Tが線形変換であるのでT(a+b)と同値である。これをアンケートサーバ711へ送付し、正則線形変換Tの逆変換を作用させることで(712)、集計結果としてベクトル(a+b)を得る。このベクトルの各要素は、アンケートデータの集計結果となっている。もし、集計結果が整数であるべきなら、数値の丸め処理を行なうことで、誤差を排除することができる。
【0027】
これによって、アンケート回答装置で擾乱されたアンケートデータをアンケートサーバ内で擾乱消去することができる。アンケートを回収する端末の数が多い方が匿名性の薄れが防げるため都合がよい。又、アンケートサーバは、正則線形変換Tの内容を知っているので、単にデータに正則線形変換Tをかけた結果であるTa(704)は直接アンケートサーバへ送らない方が良い。
【0028】
図8は、各端末で2回集計処理する場合の第1の実施例のデータフローを示した模式図である。Sはアンケートサーバ801内でのデータ処理の流れを、A〜Hは各端末(802〜809)でのデータ処理の流れを示している。端末802内では、データはA1とA2に分割されている。A1は端末803からデータB1を受信して集計処理810で加算される。更に、端末804では集計処理812が行なわれ、その結果が、端末802へ送付され、先の処理結果と集計処理811で集計される。同様に813で集計されたあと、アンケートサーバ801へ送付される。2回目の集計処理は、端末802のA2は端末806へ送付されE2と集計処理814で集計される。端末803のB2は、端末807へ送付されF2と集計処理815で集計される。A2〜H2の内容が集計処理816で集約されて、アンケートサーバ801へ送付され、集計処理817にてA1〜H1の集計結果と合算される。
【0029】
このとき、1回目の集計で直接集計された端末同士の結果は、2回目には最後に集計されるように処理フローを構成する。例えば、AとBのデータA1とB1が集計されるのは、初段の集計処理810であるが、2回目でAとBのデータA2とB2が出会うのは3段目の816である。もし、1回目と2回目が同じ処理フローで集計が行なわれており、B2が端末802へ送付されてA2と集計されたとすると、端末802には端末803の回答内容を知ることができる情報を得てしまうことになる。このような状態を避けるために、前述のような処理フローが構成される。
これによって、擾乱されたアンケートデータがアンケートサーバに収集されるまで擾乱を保ったままにすることができる。また、集計処理が各端末にて分散して行なわれるため、サーバの集計負荷を低減することができる。
【0030】
図9は、2端末間で乱数を共有する第2の実施例の集計処理のデータフローを示した模式図である。端末802と端末806の間で乱数pが共有され(901,902)、端末802のアンケートデータに加算されて、擾乱済みアンケートデータA(903)が生成される。同様に、端末806ではE(904)とする。それぞれのアンケートデータが図のように集計され、両者のデータが出会うのは3段目の集計処理905においてである。これがアンケートサーバS(801)へ送付され、集計結果を得る。
【0031】
もし、端末802と端末806の擾乱済みアンケートデータAとEが初段で出会ってしまうと、その段階で擾乱が消去されてしまうため、擾乱のない(A+E)が出現してしまう。すると、2つのアンケート結果の合計が知られてしまうため、匿名性の薄れの問題が生じてしまう。これを避けるために、乱数を共有しなかったアンケート回答装置からの多数のアンケートデータを集計済みの上、アンケートサーバへ送付するように処理フローを構成する。
これによって、擾乱されたアンケートデータが匿名性の薄れを極力避けつつアンケートサーバに収集することができる。また、集計処理が各端末にて分散して行なわれるため、サーバの集計負荷を低減することができる。
【0032】
図10は、乱数サーバと各端末間で乱数を共有する第3の場合の集計処理のデータフローを示した模式図である。アンケート回答装置A802は、乱数サーバR1001と乱数p(1002)を共有し、アンケートデータに加算して擾乱済みアンケートデータ1003を用意する。他のアンケート回答装置も同様に処理し、アンケートサーバS801に送付する。乱数サーバR1001では、アンケート回答装置と共有した全ての乱数を算出し、擾乱除去データ1005を用意する。アンケートサーバS801では、各アンケート回答装置からの擾乱済みアンケートデータと、乱数サーバからの擾乱除去データを1004で加算して、擾乱除去済みの集計データを得る。
【0033】
これによって、擾乱されたアンケートデータがアンケートサーバに収集されるまで擾乱を保ったままにすることができる。乱数サーバとアンケートサーバが分離しているので、両サーバにおいて、各端末が保持していたアンケートデータと乱数の対を知ることがない。
また、本願において端末同士でデータをやり取りして最終的にアンケートサーバが受信する第1、第2の手法の場合、送信経路をアンケートサーバで設定するとよい。特に第1の手法では、分割したデータ各々が同じ端末間で処理されるのを防ぎ、第2の手法では乱数を共有する端末間の処理を遅い段階で行う必要がある。第3と第4の手法では、あえてバイナリツリー構造で集計することによって、集計処理の負荷分散を行い、効率的に収集作業を行う効果を狙うことができる。
【0034】
また、正則線形変換を用いる第4の手法の場合(図示せず)、全ての端末で乱数を共有していることとなるため、送信経路の制御よりは送信経路中のデータの暗号化によって対処する方が良い。
さらに、データが漏洩しても解読がより困難となるように、第1、第2、第3、第4の手法を組み合わせて複合化してもよい。
【0035】
図11は、第1のアンケートデータ攪乱手法における送信先算出手法を示した模式図である。アンケートサーバは、アンケート回答装置の総数を把握しており、8台の場合は各アンケート回答装置にそれぞれ0〜7の数値と、それらの数値を表現できる最小ビット数3を1101のように送信する。例えば、Bには(1、3)となる。その数値はこの場合3ビットの2進数で表記され、下位ビットから1102、1103、1104のように表記される。数値が1の場合は、100になる。まず、最下位ビット(第0ビット)1102が1のアンケート回答装置が、1102が0でそれ以外のビット1103、1104が同一である他のアンケート回答装置へ擾乱済みアンケートデータを送信する。すなわち、B→A、D→C、F→E、H→Gとなる。データを受け取ったアンケート回答装置の中で、次のビット1103が1のアンケート回答装置が、1103が0で1104が同じ値の別のアンケート回答装置へ送信する。すなわち、C→A、G→Eである。最後に、データを受け取ったアンケート回答装置の中で、1104が1のアンケート回答装置から0の装置へデータを送信する。すなわち、E→Aとなる。そうして、アンケート回答装置Aにデータが収集される。もし、アンケート回答装置の総数が2のべき乗個数でなかった場合は、存在しないアンケート回答装置からデータを受信したとみなして処理を進める。
【0036】
次に、2回目の収集を行なう。1回目とはビット列は同じものを扱うが、ビットの0と1の扱いを変え、ビットの処理する向きも逆にする。すなわち、最上位ビット(第2ビット)1118が0のアンケート回答装置が、1118が1で1117、1116のビットが同じである他のアンケート回答装置へ擾乱済みアンケートデータを送信する。すると、A→E、B→F、C→G、D→Hとなる。次に、データを受信したアンケート回答装置の中でビット1117が0の装置が、1117が1で、1116が同じ値の他の装置へデータを送信する。つまり、E→G、F→Hとなる。最後に、データを受信したGとHの間で、ビット1116が0の装置から1の装置へデータを送信する。つまり、G→Hとなる。こうして、データがアンケート回答装置Hへ集約される。
【0037】
例えば、1回目のデータ集計処理で直接集約されたAとBについて、2回目のデータ集計をたどってみると、AとBからのデータが出会うのは、一番最後に集約されたアンケート回答装置H上においてである。これによって、2回集計処理する場合において、1回目にて直接集計された端末同士のデータは、2回目にて極力最後の段階まで出会わないように集計することができる。
以上のように、2回集計を行う場合には、各端末に1つずつ配布された数値を2回利用することで送信先を決めることができた。一般的には、N回集計する場合には各端末にN個の数値を配布して集計する。その各端末N個の数値はペアを組む相手の順番を決定することによって得ることができるが、そのペアを組む相手の設計方法は、図18、図19のようになる。
【0038】
図18は、以前ペアを組んだ端末とのデータとはなるべく最後の方の段階で出会うように設計するための模式図である。最初は、1801のように隣合った数値同士で順番にバイナリツリーを構成する。図11の1102、1103、1104のビット列をそれぞれの端末に対して、1806のように割り当てることで、1回目の配布先を示す数値を設計できる。1801に対してバイナリツリーの分岐点を親ノードとみなして、親族関係の距離を示す親等を記したものが1802である。端末0の行について、左から右へたどって調査していき、最初に出くわした最も大きな値(6)を持つ端末4と次のバイナリツリーのペアとする。同様に、端末1について同じ番号を選らばないように調査し、端末5を得る。同様に、端末2は端末6、端末3は端末7とペアを組む。こうして1803のペアが生成される。
【0039】
次にペア同士の距離を計算して、1804を得る。ペア同士の距離は、ペアに含まれる端末と相手の端末との親等の合計値とする。1804では、例えば、端末ペア04と端末ペア15の距離は16であることを示している。前述同様に、端末ペア04について、最初に出くわした最も大きな値(20)を持つ端末ペア26とさらにペアを組む。繰り返して、端末ペア15は端末ペア37とペアを組む。こうして、1805の構造を得る。端末数が多い場合には、この作業を繰り返していくことになる。結局、各端末に上から順番にビット列の数値を割り振ることで、1807の配布先を示す数値を設計できる。
【0040】
図19は、3回目の配布先を設計する方法を示した模式図である。2回目のバイナリツリーは1901のように設計されていた。これから得られる親等の値と、以前の親等の値1802で小さい方を採用して置き換えることによって、1902を得る。このテーブル上で、端末0について、以前と同様に、左から最初に出くわした最も大きな値(6)を得る端末5とペアを組む。同様に繰り返して、端末1は端末4、端末2は端末7、端末3は端末6とそれぞれペアを組む。こうして、1903のペア構造を得る。それぞれのペア同士の距離を計算して、1904を得る。ペア同士の距離を調査して、端末ペア05に対しては端末ペア27、端末ペア14に対して端末ペア36を得る。こうして1905の構造を得る。最終的に、上から順に、配布先を示す数値を割り振ることで、1906のビット列の割り当てを得ることができる。以下同様に繰り返すことによって、N回の集計のための、各端末におけるN個の配布先数値を得ることができる。
【0041】
以上のように、図11は2回集計を行う場合に特化した手法の説明で、図18,図19は、より一般的にN回集計を行う場合の手法の説明である。どちらの手法も、端末内でデータを分割して複数回集計する第1の実施例への適用を想定して説明したが、1回目の第1段階目のペアを乱数の共有に利用すれば、第2の実施例に適用することができる。また、第1、第2、第3、第4の実施例の組み合わせの実施例の場合、乱数の共有とデータの集計が3回以上となりえるため、より一般的にN回集計を行う後者の手法を適用することで、以前組んだペアのデータがなるべく最後の方の段階で出会うように設計することができる。
【0042】
図12は、アンケートサーバから各端末へ送信されるアンケート回答方法を記述するデータ構造である。これは、同じアンケートを行う全端末に同じデータを配布するものである。データ構造1201は、アンケートのテンプレートのことであり、全データ長1202、アンケート内容のHTMLファイルを示すURLの個数1203、その本数Nだけ続く、アンケート内容へのURLの長さ1204とURL文字列1205、アンケート記入内容からアンケートデータへ変換する記述データの長さ1206、そのデータ変換記述1207から構成されている。URLで指定されるHTMLファイルは、例えば、図3の301のようなアンケート表示を行なう。
【0043】
また、データ変換記述の内容は例えば、アンケート記述内容304、305と視聴率データをI1〜I3、アンケートデータC310,D311,E312および313の各セル値をO1〜O9だとすると、それらの演算方法が、1208に示すようにO5←I1*I2のような意味する内容が記述される。読み出したこの情報に基づいて、各端末では攪乱処理が行われる。
【0044】
データ変換としては、例えばO10←exp(I1*I2)のようなexpの指数関数を演算することが出来る。この場合、乱数による擾乱は乗算によって行ない、アンケートの集計処理はアンケートデータ同士の乗算によって行なう。アンケートサーバによる集計処理にて、log演算を施すと、アンケートデータの加算内容を得ることができる。従って、アンケートの集計処理は必ずしも加算処理とは限らない。すなわち、O10の例の場合、一部データ変換済みのI1*I2のような値に対するデータ変換をf(x)、集計処理をg(x、y)とすると、g(f(a)、f(b))=f(a+b)を満たすfとgによる計算方法が使用できる。擾乱処理は、乱数r=f(b)とすることで処理することができる。O10の場合の残りのデータ変換f(x)=exp(x)とする場合には、前述のようにg(x、y)=x*yとすればよい。
【0045】
また、例えば三角関数の加法定理などを用いると、より複雑で予測しずらい演算を行なうことができる。例えば、f1(x)=sin(x)、f2(x)=cos(x)とし、集計処理の引数の数を2倍にして、g(x1、x2、y1、y2)=x1*y2+x2*y1とする。すると、g(f1(x)、f2(x)、f1(y)、f2(y))=sin(x)*cos(y)+cos(x)*sin(y)=sin(x+y)=f1(x+y)となる。x、yの値の最大値を制御することで、集計処理として利用することも可能である。あるいは、引数の数を変えなければ、f(x)=tan(x)とし、g(x、y)=(x+y)/(1―x*y)とすると、g(f(x)、f(y))=(tan(x)+tan(y))/(1−tan(x)*tan(y))=tan(x+y)=f(x+y)となる。
このように、データ変換fと集計処理方法gの内容が知られなければ、集計結果の値も解析しにくくなる。
これによって、アンケート内容と、アンケート入力からアンケートデータへの変換方法を各アンケート回答装置へ配信することができる。
【0046】
図13は、アンケートサーバから各端末へ送信されるアンケートデータの処理方法を記述するデータ構造である。これは、図12と異なり、端末ごとに異なる内容のデータを配布するものである。データ構造1301は、全データ長1302、乱数の入手先ブロック1303、データ入手先ブロック1304、データ送信先ブロック1305、データ処理方法ブロック1306で構成される。
【0047】
乱数の入手先ブロック1303は、乱数の数(N)1310と、乱数の入手方法1311が乱数の数だけ記述される。入手先は乱数を共有する端末へのURLであったり、このデータ構造を送信する端末が乱数サーバの場合は、直接乱数が格納されることもあり得る。実施例によっては、正則線形行列の入手先が記述される。
【0048】
データ入手先ブロック1304は、入手先の数(M)1312と、その数だけ続く、データ入手先1313が記述される。このデータとは、アンケートデータであり、例えばデータを2回収集する場合には、図11で計算された処理経路を実現するように入手先が設定されることとなる。
【0049】
データ送信先ブロック1305は、送信先の数(L)1314、その数だけ続く、データ送信先1315が記述される。2回収集が行われる場合には、送信先の数1314は2となる。収集が1回の場合には1となる。
【0050】
データ処理方法ブロック1306は、以上の記述による乱数や入手データ、出力先を用いて、データ処理手順を記述する。例えば、図9の乱数を端末間で共有する方法の場合、端末803へ送付されるデータ構造には、乱数の入手先として端末807が指定され、データ送信先として端末802が指定される。そして、データ処理方法ブロックには、「乱数を生成して端末807と共有し、アンケートデータBを擾乱して、端末802へ送信する」といった手順が記述されることとなる。
これによって、各アンケート回答装置に対し、データ処理方法を指示することができる。また、次の端末へ送信される集計済みアンケートデータの構造は、図14によって記述される。
【0051】
図14は、各端末から送信される擾乱済み集計データのデータ構造である。データ構造1401は、全データ長1402、擾乱済み集計アンケートデータ1403で構成される。更に、署名数(N)1404及びその数だけ続く署名1405を含むこともできる。署名は、そのアンケート回答装置(端末)にて確かにアンケート回答が行なわれたことを示し、暗号化された後でもアンケート内容を知ることなくアンケートが確かに回答されたことを検証できる。あるいは、この署名部分のみを直接アンケートサーバへ送付してもよい。
これによって、擾乱済みアンケートデータの集計結果を受け渡すことができる。また、どの端末からアンケートデータが集計されたかの記録をアンケート内容を知られることなく送付することができる。
【0052】
図15は、アンケートサーバにてアンケートリクエストの送信処理を示したPAD図である。アンケートサーバにてアンケートリクエスト1500が実行されると、まずアンケートに協力してもらえるユーザの端末でかつ、実際にネットワーク接続が可能な有効端末のリストアップ1501が行なわれる。次に、アンケート準備1502が行なわれる。ここでは、アンケート内容を用意し、端末間における擾乱済みアンケートデータの収集経路を算出し、必要に応じて乱数を生成したりする。1503では各端末について次のループを実行する。その端末について、乱数入手先を指定1504、データ入手先を指定1505、データ送信先を指定1506、準備したデータから図12のアンケートテンプレートや図13のアンケートデータ処理方法を含む全データを用意して、その端末へ送信する(1507)。全端末について実行し終えると、回答受信1508を行なう。
これによって、各アンケート回答装置へアンケートのリクエストを行なうことができる。
【0053】
図16は、各端末での処理方法を示したPAD図である。アンケート回答装置において端末処理1600が実行されると、アンケートリクエスト(図12のアンケートテンプレート)や図13のアンケートデータ処理方法がテンプレート受信部108を介して受信される1601。アンケートテンプレートに含まれる各URLにいてループ1602を行ない、アンケート表示と回答入力1603をユーザに対して実施し、データ変換記述1207に従って、データ変換部114にてアンケートデータの変換処理1604を実行する。1605にて図13に指定された乱数入手先1303から乱数を入手し、攪乱作用部110にてアンケートデータを擾乱する(1606)。図13のデータ入手先1304から集計データ(1403)を入力1607して、回答内容から生成されたアンケートデータとの集計処理1608をデータ集計部109にて行なう。処理方法はデータ処理方法1306にて指示される。次に、アンケート回答が行なわれたことの署名1405を追記し(1609)、データ送信先1305の各送信先についてループ1610を行ない、データ送受信部112を介してデータを送信1611する。
これによって、各端末にてアンケートの表示・入力、およびアンケートデータの生成と集計を実行することができる。
【0054】
図17は、アンケートサーバにて各端末から回答を受信する際の処理方法を示したPAD図である。アンケートサーバにて回答受信1700が行なわれると、全集計結果を入手するまでループ1701を実行し、集計データの入手1702と、データ集計処理1703が必要に応じて行なわれる。集計済みアンケートデータに対し、擾乱消去1704が必要に応じて行なわれる。集計方法によっては集計済みアンケートデータは、全てのデータが集計された時点で擾乱が消去されている。例えば、乱数サーバから擾乱消去データを入手して擾乱を取り除く処理などがここでは行なわれる。次に、統計処理1705が行なわれる。クロス集計や相関係数の算出、主成分分析、ヒストグラム生成など、各種の統計処理が行なわれる。その結果は、アンケート統計送信1706で、契約した企業のサーバなどへ送信され、正しく処理されると課金処理1707が行なわれる。これは、主に、アンケート統計データを販売することによって、課金を行なう処理を意味している。
これによって、擾乱を取り除いたアンケートデータ集計を入手して、統計処理結果を販売し、代価を得ることができる。
【産業上の利用可能性】
【0055】
本願は、世帯情報との関連を含めた詳細な視聴率調査に基づくマーケティングや、世論調査や国勢調査、商品や製品に関する一般的なアンケート調査を。又は、自動車の各部分(エンジンの回転数や速度、燃費、センサによる危険警報からユーザによるブレーキまでの時間、ワイパーの稼動状況)等の実測値データの集計などに適用できる。
【図面の簡単な説明】
【0056】
【図1】本発明の一実施例を説明する機能ブロック図。
【図2】本発明の一実施例を説明する構成ブロック図。
【図3】アンケート表示とその回答から変換されたアンケートデータの一実施例の模式図。
【図4】自端末内でのみ乱数を扱うアンケートデータ擾乱手法の一実施例を示した模式図。
【図5】2端末間で乱数を共有するアンケートデータ擾乱手法の一実施例を示した模式図。
【図6】乱数サーバと端末間で乱数を共有するアンケートデータ擾乱手法の一実施例を示した模式図。
【図7】正則線形変換を用いたアンケートデータ擾乱手法の一実施例を示した模式図。
【図8】各端末で2回集計処理する場合のデータフローの一実施例を示した模式図。
【図9】2端末間で乱数を共有する場合の集計処理のデータフローの一実施例を示した模式図。
【図10】乱数サーバと各端末間で乱数を共有する場合の集計処理のデータフローの一実施例を示した模式図。
【図11】各端末で2回集計処理する場合の送信先算出手法の一実施例を示した模式図。
【図12】アンケートサーバから各端末へ送信されるアンケート回答方法の一実施例を記述するデータ構造。
【図13】アンケートデータの処理方法を記述するデータ構造の一実施例。
【図14】各端末から送信される擾乱済み集計データのデータ構造の一実施例。
【図15】アンケートサーバにてアンケートリクエストの送信処理の一実施例を示したPAD図。
【図16】各端末での処理方法の一実施例を示したPAD図。
【図17】アンケートサーバにて各端末から回答を受信する際の処理方法の一実施例を示したPAD図。
【図18】端末間で集計する際のペアを組む相手を設計する方法の一実施例を示した模式図(2回目の場合)。
【図19】端末間で集計する際のペアを組む相手を設計する方法の一実施例を示した模式図(3回目の場合)。
【符号の説明】
【0057】
101: アンケートサーバ
102: テンプレート配信部
103: データ収集部
104: 収集経路生成部
105: 擾乱生成部
106: 擾乱除去部
107: アンケート回答装置
108: テンプレート受信部
109: データ集計部
110: 擾乱作用部
111: データ入力部
112: データ送受信部
113: データ保存部
114: データ変換部
115: 表示入力部
116: センサ装置
201: アンケートサーバ
202: 通信I/F
203: プロセッサ
204: メモリ
205: 記憶装置
207: 通信I/F
208: プロセッサ
209: メモリ
210: 記憶装置
211: 通信I/F
212 アンケート回答装置(端末)
301: アンケート表示
302: データAに対応する回答入力欄
303: データBに対応する回答入力欄
304: データCに対応する回答入力欄
305: データDに対応する回答入力欄
306: 確定ボタン
307: 回答ユーザ数集計データ
308: アンケート文章A用集計データ
309: アンケート文章B用集計データ
310: アンケート文章C用集計データ
311: アンケート文章D用集計データ
312: 視聴率用集計データ
313: アンケート文章C,D,E用の分散共分散集計データ
401: アンケート回答装置A
402: データA
403: 分割データA1
404: 乱数r
405: 擾乱済み分割データA1
406: 分割データA2
407: 乱数(−r)
408: 擾乱済み分割データA2
409: アンケート回答装置B
410: 1回目の送信
411: 2回目の送信
412: アンケートサーバ
501: アンケート回答装置A
502: データA
503: 共有乱数r
504: 擾乱済みデータA
505: アンケート回答装置B
506: データB
507: 共有乱数(−r)
508: 擾乱済みデータB
509: 擾乱済みデータAの送信
510: 擾乱済みデータBの送信
511: アンケートサーバ
601: アンケート回答装置A
602: データA
603: 共有乱数r
604: 擾乱済みデータA
605: 乱数サーバ
606: 共有乱数r
607: 共有乱数q
608: 共有乱数の集計値
609: アンケート回答装置B
610: アンケートサーバ
701: アンケート回答装置A
702: データ列a
703: 共有された正則線形変換T
704: 擾乱済みデータ列a
705: アンケート回答装置B
706: データ列b
707: 共有された正則線形変換T
708: 擾乱済みデータ列b
709: 受信された擾乱済みデータ列a
710: 擾乱済みデータ列の集計結果
711: アンケートサーバ
712: 正則線形変換Tの生成
801: アンケートサーバS
802: 端末A
803: 端末B
804: 端末C
805: 端末D
806: 端末E
807: 端末F
808: 端末G
809: 端末H
810: データA1, B1の集計
811: データA1, B1, C1, D1の集計
812: データC1, D1の集計
813: データA1からH1の集計
814: データA2, E2の集計
815: データB2, F2の集計
816: データA2からH2の集計
817: データA1からH1, A2からH2の集計
901: 共有乱数p
902: 共有乱数(−p)
903: 擾乱済みデータA
904: 擾乱済みデータE
905: 擾乱済みデータAからHの集計
1001: 乱数サーバ
1002: 共有乱数p
1003: 擾乱済みデータA
1004: 擾乱済みデータAからHの集計
1005: 共有乱数との集計値
1101: 装置番号と最小ビット数のペア
1102: 最下位ビット(第0ビット)
1103: 第1ビット
1104: 第2ビット
1116: 第0ビット
1117: 第1ビット
1118: 最上位ビット(第2ビット)
1201: アンケート回答方法を記述するデータ構造
1202: 全データ長
1203: URL個数
1204: 1番目のURL文字列の長さ
1205: 1番目のURL文字列
1206: 変換記述データの長さ
1207: 変換記述データ
1208: 変換記述の例
1301: アンケートデータ処理方法を記述するデータ構造
1302: 全データ長
1303: 乱数の入手先ブロック
1304: データ入手先ブロック
1305: データ送信先ブロック
1306: データ処理方法ブロック
1310: 乱数の数
1311: 1番目の乱数の入手方法データ
1312: データ入手先の数
1313: 1番目のデータ入手先データ
1314: データ送信先の数
1315: 1番目のデータ送信先データ
1401: 擾乱済み集計データのデータ構造
1402: 全データ長
1403: 擾乱済み集計データ
1404: 署名数
1405: 1番目の署名
1500: アンケートリクエストの送信処理
1501: 有効端末のリストアップ
1502: アンケート準備
1503: 各端末にてループを実行
1504: 乱数入手先の指定
1505: データ入手先の指定
1506: データ送信先の指定
1507: 全データの送信処理
1508: 回答受信処理
1600: 端末処理
1601: データ受信処理
1602: 各ページについてループを実行
1603: アンケート表示・回答入力
1604: アンケートデータ変換処理
1605: 乱数入手
1606: アンケートデータ擾乱
1607: 集計データ入手
1608: データ集計処理
1609: 署名追記処理
1610: 各送信先についてループを実行
1611: データ送信処理
1700: 回答受信処理
1701: 全集計結果についてループを実行
1702: 集計データ入手
1703: データ集計処理
1704: 擾乱消去処理
1705: 統計処理
1706: アンケート統計の送信処理
1707: 課金処理
1801: 隣り合った数値同士で構成されたバイナリツリー構造
1802: ツリーに沿った距離を親等で表したマトリックス
1803: 第1段階目のペア
1804: 端末ペア同士の距離を表現したマトリックス
1805: 第2段階目のペア
1806: 1回目のビット列の割り当て
1807: 2回目のビット列の割り当て
1901: 2回目に構成されたバイナリツリー構造
1902: 2回目のツリーの距離も加味したマトリックス
1903: 3回目のツリーにおける第1段階目のペア
1904: 3回目のツリーにおける端末ペア同士の距離を表現したマトリックス
1905: 3回目のツリーにおける第2段階目のペア
1906: 3回目のビット列の割り当て。
【技術分野】
【0001】
本発明は、ネットワークを介して視聴率やアンケート結果や個人情報などを統計情報として集計する方法とその装置に関する。
【背景技術】
【0002】
近年の数々の個人情報流出事件の発生を背景に、2003年5月30日に個人情報保護法が施行された。ユーザの動向に関する統計情報の収集事業者は、個人情報流出リスクに伴う個人情報管理負荷を軽減しつつ、個人情報に関する統計情報の収集を実現したいとの要求が増大している。一方で、直接アンケートを収集するサーバへ個人情報を送付することに心理的抵抗を持つユーザが増えている。そのため、ネットワークを介してアンケート結果や個人情報をユーザが送付する際の個人情報保護に関する技術として下記するような技術が知られている。
まず電子アンケートの回答情報の一部を匿名項目として暗号化した上で集計サーバへ送信する技術がある。ユーザの回答情報の集計処理においては、集計サーバ上で暗号化項目を使用せず記名者情報を用いて運用し、アンケート主催者の集計処理においては記名者情報を削除した上で暗号化項目を解読し集計を行う(例えば、特許文献1参照)。
【0003】
次に、アンケート主催者のアンケートサーバと個人情報を扱う管理サーバを分離する技術もある(例えば、特許文献2参照)。管理サーバでは、アンケートの記名者情報を削除し、アンケートの集計と統計処理の結果のみをアンケートサーバへ送信することで、アンケートサーバ側におけるユーザの匿名性を保証する。
更に、電子アンケートの項目ごとに分割し、項目ごとの集計を独立して行えるようにすると同時に、項目間のクロス集計に関しても、項目間の関係を必要以上に知られることなく処理する技術もある(例えば、特許文献3参照)。
【0004】
【特許文献1】特開2002-109141号公報
【特許文献2】特開2003-152866号公報
【特許文献3】特開2002-244556号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
前述の何れの技術も、アンケート結果等の個人情報がサーバ側で統計処理されるまで適正に管理されることが前提となっている。また、サーバで適正に個人情報が管理されていても、項目間のクロス集計を行う場合や、項目間の相関係数等を算出する場合には、回答者の複数の属性を同時に知る必要があり、匿名性の薄れの問題が避けられない。
【0006】
本願は、数値的に集計処理が可能な情報の集計方法において、ユーザが個人情報をサーバによって解読可能な形で登録せずに、アンケートを収集するサーバ側において個人情報の内容を知ることのない集計処理を可能にする。さらに、同一個人に関する複数の属性情報が同時に必要な処理においてもその内容を知ることなく集計処理できること、を実現する集計方法を提供するものである。
【課題を解決するための手段】
【0007】
本願で開示する発明の概要を説明すれば以下の通りである。問い合わせ内容とその回答データ処理方法を含む問い合わせデータをサーバから端末に配信する。端末の入力手段を介して収集された回答データ全体を構成する複数の群データ毎に攪乱処理を行い、この複数の群データを収集することで攪乱を消去することを特徴とする数値集計処理可能な情報の集計方法。及び、この集計方法の実現のために用いる端末であって、入力されたデータに対して攪乱処理を行う攪乱作用部と、他の端末で上記攪乱処理の行われたデータと上記攪乱処理済みデータとの集計処理を行うデータ集計部とを有する端末である。
【発明の効果】
【0008】
本発明によって、アンケート回答などの個人に関する情報を、サーバで解読可能な形式で各端末からサーバに直接送信することなく、また、その情報の内容を知ることなく集計処理を行うことを可能にする。その結果、個人とその情報を結びつけることなく集計処理することで匿名性を維持し、また、同一個人に関する複数の属性情報が同時に必要な処理においてもその内容を知ることなく集計処理できるため、それに由来する匿名性の薄れを防ぐことができる。サーバ側で個人に関する属性情報が解読されないのでユーザに安心感を与える一方、サーバ自体も個人情報を知ることなく集計処理できるので個人情報の管理負担が低減できる。また、集計処理を各端末で分散処理できるのでサーバの集計処理による負荷が低減できる。
【発明を実施するための最良の形態】
【0009】
図を用いて説明する前に、本願発明の基本概念を説明する。なお、以下はユーザによるアンケート記入を想定して説明したが、アンケートの代わりに視聴率のように自動的にセンシングされるデータを対象としてもよい。
【0010】
アンケートを記入するためのアプリケーションが動作する各ユーザの端末と、アンケート結果を収集するアンケートサーバを用意する。アンケートサーバからアンケート内容とユーザの入力データの変換方法を記述したテンプレートを各端末へ送付する。端末のアプリケーションは、そのテンプレートに従って、ユーザにアンケート内容を提示して、ユーザが入力したデータから集計用データ(これをアンケートデータと呼ぶ)を生成し、データの各項目に対して乱数で擾乱をかける。各端末から収集された擾乱済みデータは擾乱済のまま集計処理を行って擾乱済み統計データを得る。集計処理はアンケートサーバで行ってもよいし、各端末で行ってもよいが、結局アンケートサーバに集約される。また、集計処理の内容は必ずしも加算演算とは限らない。アンケートサーバでは、各データの匿名性を維持したまま統計データを得ることができ、その擾乱済み統計データから擾乱を取り除くことによってデータの内容を知ることなく統計処理結果を得ることが出来る。
擾乱や集計の方法によって下記のバリエーションが用意される。
【実施例】
【0011】
以下に、添付図を参照して本発明の好適な実施例を詳細に説明する。
図1は、本発明の一実施例を説明する機能ブロック図である。
アンケート収集システムは、アンケートサーバ101と複数のアンケート回収装置(端末)107で構成される。102は、アンケート内容とその回答内容の変換方法に関するテンプレートデータを端末107に配信するテンプレート配信部である。103は、端末からのアンケートデータ(後述)を収集し、集計処理を行うデータ収集部である。104は、テンプレートを各端末へ配信し、アンケートデータを収集するまでの経路を生成する収集経路生成部である。105は、アンケートデータを擾乱するための乱数を生成する擾乱生成部である。正則線形変換を用いる手法の場合に用いられる。また、乱数サーバを用いる場合には、この部分はアンケートサーバから分離した乱数サーバの中に設けられる。106は、収集した擾乱済み集計データから擾乱を除去する擾乱除去部である。正則線形変換や乱数サーバを用いる手法の場合に用いられる。
【0012】
108は、アンケートサーバからアンケートリクエストして送信されるテンプレートを受信するテンプレート受信部である。このテンプレートに従って、表示入力部115でアンケート内容と入力インタフェースが表示される。また、外部のセンサ装置116などからセンシングデータや視聴率などのデータがデータ入力部111を介して入力される。入力された内容は、データ変換部114にてテンプレート内に記載されたデータ変換方法に従って、アンケートデータへと変換される。アンケートデータは、擾乱作用部110にて擾乱される。これらのデータは一旦データ保存部113にて保存される。端末同士でアンケートデータを送受信する場合には、データ送受信部112を介して行なわれ、データ集計部109にて擾乱済みのアンケートデータの集計処理が行なわれる。集計されたアンケートデータは、他の端末やアンケートサーバ101へデータ送受信部112を介して送付される。送受信する内容は、通信内容が盗聴されるのを防ぐために、端末間、端末とサーバ間にて暗号化される。なお、端末同士や乱数サーバと乱数を共有する場合にも、データ送受信部112を介して行なわれる。
これによって、アンケート回答装置で入力されたアンケート内容が擾乱された上でアンケートサーバへ収集されるため、アンケートサーバではその内容を知ることなく集計処理を行なうことを実現する。
【0013】
図2は、本発明の一実施例を説明するハードウェア構成のブロック図である。アンケートサーバ201は、通信I/F(202)、プログラムが動作するプロセッサ203、プログラムが格納されるメモリ204、プログラムやデータが記憶される記憶装置205で構成される。
アンケート回答装置(端末)212は、通信I/F(207)、端末プログラムが動作するプロセッサ208、端末プログラムを格納するメモリ209、プログラムやデータが記憶される記憶装置210、センサ装置116との通信を行なう通信I/F(211)にて構成される。
【0014】
アンケート回答装置212が、テレビ受像器、ビデオレコーダ、DVDレコーダ、ラジオ受信機等の場合、センサ装置116はチャンネルや番組、コンテンツと視聴時間を記録するセンサであり、記憶装置210にあらかじめ記録されたユーザ情報と併せて、詳細な視聴者情報の統計処理を実現する。
アンケート回答装置212が、カーナビゲーション装置の場合、センサ装置116はワイパーの動作速度やブレ―キング頻度、速度、GPSなどのセンサであり、走行中に自動車に関する各種センシングデータの統計処理を実現する。
これによってメモリ209に格納されたプログラムにより図1の各機能が実現され、アンケートサーバとアンケート回答装置をハードウェアとして実現することができる。
【0015】
図3は、アンケート表示とその回答から変換されたアンケートデータの模式図である。301はアンケートサーバから配信されるテンプレートにて指定されるアンケート表示であり、例えばHTML(HyperText Markup Language)にて記述される。302〜305は、フォーム文で記述された回答入力欄であり、入力された内容は確定ボタン306が押されると、端末内でこの表示のために動作するWWWサーバに送信され、テンプレートに含まれるデータ変換記述に従って、アンケートデータに変換される。アンケートデータとは集計用のデータであってユーザからの回答値を入力としてデータ変換記述(後述)(1208)によって出力されているものをいう。例えば、アンケート文章Aに対応する回答302は、YesまたはNoの回答であり、Yesの場合にアンケートデータ308として1が用意される。
【0016】
アンケート文章Bに対応する回答303は、a/b/c/dを選択するものであり、選択に応じて309のa/b/c/dのいずれかに1がセットされる。アンケート文章の回答304は、年齢を数値として入力し、310のCとして数値がセットされる。アンケート文章Dの回答305も同様である。アンケートデータのE312の場合、ユーザへ提示されるアンケート文章は存在しないが、自動的にセンシングされたデータが入力される。例えば、視聴率センサから入力された視聴割合がアンケートデータE312としてセットされる。313は、分散共分散行列を集計するためのアンケートデータである。313の行と列のC,D,Eで指定されるセルに、それぞれの値の積をセットする。例えば、CとDの組のセルでは310と311の値の積がセットされる。同じ組み合わせは省略するために、313の左下のセルにはセットする必要がないという意味で×を示した。307は、ユーザの回答によらず1を集計するアンケードデータであり、回答を返したユーザ数を集計することができる。
【0017】
これによって、アンケート集計を行なうためのアンケートデータを構成することができる。単純な回答値の集計だけでなく、前述のように変換処理を施してアンケートデータを作成することによって、項目間のクロス集計や、集計後に処理を行えば項目間の相関係数などを求めることも可能となる。また、分散共分散行列などを用意することで複数項目における主成分分析などのより一般的な統計処理を行うことも可能となる。
【0018】
図4は、自端末内でのみ乱数を扱う第1の実施例を示した模式図である。アンケート回答装置A(401)にて、データA(402)を集計すると元に戻るように二つのデータA1(403)とデータA2(406)の群データに分割する。アンケート回答装置A内で装置毎に生成される乱数rを生成し、データA1に加算し(404)、データA2からは減算し(407)、それぞれの結果を405、408とする。アンケートサーバ412は、アンケートデータの回収を2回行う。1回目410をアンケート回答装置Aから回収し、同様にアンケート回答装置B(409)からも、同様に処理された1回目のデータを回収する。アンケートサーバ内では擾乱済みの集計結果(A1+B1+r+q)が得られる。この集計結果はそれぞれの端末からのアンケートデータが分割された不完全なものである上に、乱数で擾乱されたデータであるため、アンケートサーバもその内容を知ることはできない。
【0019】
次に、2回目の収集(411等)を行なうと、アンケートサーバ内では2回目の集計結果(A2+B2−r−q)が収集され、前述同様これも内容を知ることはできないものである。1回目の結果と合わせるとアンケート回答装置から(A+B)のアンケート集計結果が擾乱が消去された形で得ることができる。
尚、アンケート回答装置内で分割される群データの数は3つ以上であってもよく、アンケートを回収する端末の数が多い方が匿名性の薄れが防ぐことができる。具体的には、端末ごとに異なる乱数を生成し、2つのアンケートデータの集計処理をすると、擾乱済みデータはアンケートサーバ以外の他の端末へ送付し、その端末では、受信した擾乱済みデータと自端末内で生成した擾乱済みデータを処理することによって擾乱済み集計データを得る。更にそのデータは他の端末へ送付される。アンケートサーバは、以上の処理を繰り返し、多くの端末によって集計済みのデータを受信する。アンケートサーバでは上記の様にして別々に受信される2つの集計結果を集計処理することで、全ての擾乱が打ち消された集計結果を得る。
【0020】
以上のように、収集したデータを分割し集計すると擾乱が打ち消されるように分割されたアンケートデータ各々を擾乱することで、アンケート回答装置で擾乱されたアンケートデータをアンケートサーバに収集された時、あるいはその直前に擾乱消去されるように集計経路を設計することができる。
【0021】
図5は、2端末間で乱数を共有する第2のアンケートデータ擾乱手法を示した模式図である。アンケート回答装置A(501)とアンケート回答装置(505)の間で、乱数rを共有する(512)。アンケートデータA(502)には乱数r(503)を足し加え、データB(506)からはその乱数rを差し引く(507)。結果として擾乱されたアンケートデータ504と508が得られる。アンケートサーバ511は、(A+r)504と(B−r)508を収集するが、それぞれ擾乱済み(509、510)のため、アンケートサーバはその内容を知ることができない。しかし、二つを加算することで、擾乱が消去された集計データ(A+B)を得る。上記構成において、アンケート回答装置が多くなると、より匿名性の効果を上げることができる。
【0022】
これによって、アンケート回答装置で擾乱されたアンケートデータをアンケートサーバに収集し、集計を終了するとアンケートデータに含まれる擾乱が消去された集計結果を得ることができる。
なお、乱数を共有した端末がアンケート結果を返信しなかった場合、乱数が相殺されないので正しい結果を得ない。それに対処する方法は以下のとおりである。アンケート結果を返信しなかった端末と乱数を共有した端末同士の端末群も複数のグループに分割し、グループ間で秘密乱数を交換する。そして新しい乱数から最初の乱数を差し引いてグループ内で集計処理することで対処できる。又、この際、乱数をサーバで直接集計してもよい。サーバ側で両グループの乱数の集計結果を最初の集計結果に対して集計処理をすると、アンケートを返信しなかった端末の分を除いた結果が得られる。
【0023】
図6は、乱数サーバと端末間で乱数を共有する第3のアンケートデータ擾乱手法を示した模式図である。乱数サーバ605で、乱数r(606)、乱数q(607)のように端末の数だけ乱数生成し、各アンケート回答装置(端末)へ送信する。その一方、乱数の集計データ608を算出する。アンケート回答装置A601で生成されたアンケートデータA602に対し、乱数サーバ605から受信した乱数r(603)を加算し、擾乱済みアンケートデータ(A+r)(604)を得る。アンケート回答装置B609でも同様に処理を行ない、アンケートサーバ610はそれぞれの端末から擾乱済みアンケートデータを収集し、擾乱済みのまま集計処理を行い(A+B+r+q)を得る。その後、乱数サーバ605から集計済みの乱数データ(r+q)(608)を入手し、差し引くことで擾乱が消去された集計結果(A+B)を得る。尚、アンケートデータの収集はアンケートサーバに限らず他の端末で行ったものを受信してもよい。
【0024】
これによって、アンケート回答装置で擾乱されたアンケートデータをアンケートサーバに収集して擾乱消去することができる。又、アンケートを回収する端末の数が多い方が匿名性を保持することができる。
図5同様に、乱数を共有した端末がアンケート結果を返信しなかった場合に、正しい集計結果を得ることができなくなるため、それに対処するように、アンケート結果を返信しなかった端末の乱数の集計結果を乱数サーバからアンケートサーバへ送信して、相殺する処理を行うことができる。こうして正しい集計結果を得ることができる。
【0025】
図7は、正則線形変換を用いた第4のアンケートデータ擾乱手法を示した模式図である。アンケートサーバ711では、ランダムに正則線形変換T(逆変換と線形演算が可能な変換)を生成する。例えば、アンケートへの回答からデータ変換されたアンケートデータのデータ列がN個の場合、NXN個の乱数からNXN行列を生成する。この行列式が0でないこと(あるいは、0に近くないこと)を確認して、正則線形行列Tとする。もし正則線形変換を満たさなければ、再び乱数を発生させて生成し直す。このようにして生成した正則線形変換Tを各アンケート回答装置(701、705)へ配信する。ここで、端末内のアンケートプログラムにのみ解読できる暗号化をほどこすこともできる。アンケート回答装置A(701)では、アンケートデータのデータ列をベクトルa(702)として扱い、正則線形変換T(703)を演算することで擾乱結果Ta(704)を得る。変換Tはランダムに生成されたものなので、変換後のデータは擾乱されたものとなるが、このまま線形処理(加減算および定数倍演算)を行うことが可能である。これをアンケート回答装置B(705)へ送付する。
【0026】
尚、アンケート回答装置Bも正則線形変換Tの内容を知ってはいるため暗号化して送付した方が良い。アンケート回答装置Bでは同様にデータ列b(705)と正則線形変換T(107)を用いて擾乱結果Tb(708)を得、アンケート回答装置Aから入手したTb(709)を加算することで、(Ta+Tb)(710)を得る。これは、Tが線形変換であるのでT(a+b)と同値である。これをアンケートサーバ711へ送付し、正則線形変換Tの逆変換を作用させることで(712)、集計結果としてベクトル(a+b)を得る。このベクトルの各要素は、アンケートデータの集計結果となっている。もし、集計結果が整数であるべきなら、数値の丸め処理を行なうことで、誤差を排除することができる。
【0027】
これによって、アンケート回答装置で擾乱されたアンケートデータをアンケートサーバ内で擾乱消去することができる。アンケートを回収する端末の数が多い方が匿名性の薄れが防げるため都合がよい。又、アンケートサーバは、正則線形変換Tの内容を知っているので、単にデータに正則線形変換Tをかけた結果であるTa(704)は直接アンケートサーバへ送らない方が良い。
【0028】
図8は、各端末で2回集計処理する場合の第1の実施例のデータフローを示した模式図である。Sはアンケートサーバ801内でのデータ処理の流れを、A〜Hは各端末(802〜809)でのデータ処理の流れを示している。端末802内では、データはA1とA2に分割されている。A1は端末803からデータB1を受信して集計処理810で加算される。更に、端末804では集計処理812が行なわれ、その結果が、端末802へ送付され、先の処理結果と集計処理811で集計される。同様に813で集計されたあと、アンケートサーバ801へ送付される。2回目の集計処理は、端末802のA2は端末806へ送付されE2と集計処理814で集計される。端末803のB2は、端末807へ送付されF2と集計処理815で集計される。A2〜H2の内容が集計処理816で集約されて、アンケートサーバ801へ送付され、集計処理817にてA1〜H1の集計結果と合算される。
【0029】
このとき、1回目の集計で直接集計された端末同士の結果は、2回目には最後に集計されるように処理フローを構成する。例えば、AとBのデータA1とB1が集計されるのは、初段の集計処理810であるが、2回目でAとBのデータA2とB2が出会うのは3段目の816である。もし、1回目と2回目が同じ処理フローで集計が行なわれており、B2が端末802へ送付されてA2と集計されたとすると、端末802には端末803の回答内容を知ることができる情報を得てしまうことになる。このような状態を避けるために、前述のような処理フローが構成される。
これによって、擾乱されたアンケートデータがアンケートサーバに収集されるまで擾乱を保ったままにすることができる。また、集計処理が各端末にて分散して行なわれるため、サーバの集計負荷を低減することができる。
【0030】
図9は、2端末間で乱数を共有する第2の実施例の集計処理のデータフローを示した模式図である。端末802と端末806の間で乱数pが共有され(901,902)、端末802のアンケートデータに加算されて、擾乱済みアンケートデータA(903)が生成される。同様に、端末806ではE(904)とする。それぞれのアンケートデータが図のように集計され、両者のデータが出会うのは3段目の集計処理905においてである。これがアンケートサーバS(801)へ送付され、集計結果を得る。
【0031】
もし、端末802と端末806の擾乱済みアンケートデータAとEが初段で出会ってしまうと、その段階で擾乱が消去されてしまうため、擾乱のない(A+E)が出現してしまう。すると、2つのアンケート結果の合計が知られてしまうため、匿名性の薄れの問題が生じてしまう。これを避けるために、乱数を共有しなかったアンケート回答装置からの多数のアンケートデータを集計済みの上、アンケートサーバへ送付するように処理フローを構成する。
これによって、擾乱されたアンケートデータが匿名性の薄れを極力避けつつアンケートサーバに収集することができる。また、集計処理が各端末にて分散して行なわれるため、サーバの集計負荷を低減することができる。
【0032】
図10は、乱数サーバと各端末間で乱数を共有する第3の場合の集計処理のデータフローを示した模式図である。アンケート回答装置A802は、乱数サーバR1001と乱数p(1002)を共有し、アンケートデータに加算して擾乱済みアンケートデータ1003を用意する。他のアンケート回答装置も同様に処理し、アンケートサーバS801に送付する。乱数サーバR1001では、アンケート回答装置と共有した全ての乱数を算出し、擾乱除去データ1005を用意する。アンケートサーバS801では、各アンケート回答装置からの擾乱済みアンケートデータと、乱数サーバからの擾乱除去データを1004で加算して、擾乱除去済みの集計データを得る。
【0033】
これによって、擾乱されたアンケートデータがアンケートサーバに収集されるまで擾乱を保ったままにすることができる。乱数サーバとアンケートサーバが分離しているので、両サーバにおいて、各端末が保持していたアンケートデータと乱数の対を知ることがない。
また、本願において端末同士でデータをやり取りして最終的にアンケートサーバが受信する第1、第2の手法の場合、送信経路をアンケートサーバで設定するとよい。特に第1の手法では、分割したデータ各々が同じ端末間で処理されるのを防ぎ、第2の手法では乱数を共有する端末間の処理を遅い段階で行う必要がある。第3と第4の手法では、あえてバイナリツリー構造で集計することによって、集計処理の負荷分散を行い、効率的に収集作業を行う効果を狙うことができる。
【0034】
また、正則線形変換を用いる第4の手法の場合(図示せず)、全ての端末で乱数を共有していることとなるため、送信経路の制御よりは送信経路中のデータの暗号化によって対処する方が良い。
さらに、データが漏洩しても解読がより困難となるように、第1、第2、第3、第4の手法を組み合わせて複合化してもよい。
【0035】
図11は、第1のアンケートデータ攪乱手法における送信先算出手法を示した模式図である。アンケートサーバは、アンケート回答装置の総数を把握しており、8台の場合は各アンケート回答装置にそれぞれ0〜7の数値と、それらの数値を表現できる最小ビット数3を1101のように送信する。例えば、Bには(1、3)となる。その数値はこの場合3ビットの2進数で表記され、下位ビットから1102、1103、1104のように表記される。数値が1の場合は、100になる。まず、最下位ビット(第0ビット)1102が1のアンケート回答装置が、1102が0でそれ以外のビット1103、1104が同一である他のアンケート回答装置へ擾乱済みアンケートデータを送信する。すなわち、B→A、D→C、F→E、H→Gとなる。データを受け取ったアンケート回答装置の中で、次のビット1103が1のアンケート回答装置が、1103が0で1104が同じ値の別のアンケート回答装置へ送信する。すなわち、C→A、G→Eである。最後に、データを受け取ったアンケート回答装置の中で、1104が1のアンケート回答装置から0の装置へデータを送信する。すなわち、E→Aとなる。そうして、アンケート回答装置Aにデータが収集される。もし、アンケート回答装置の総数が2のべき乗個数でなかった場合は、存在しないアンケート回答装置からデータを受信したとみなして処理を進める。
【0036】
次に、2回目の収集を行なう。1回目とはビット列は同じものを扱うが、ビットの0と1の扱いを変え、ビットの処理する向きも逆にする。すなわち、最上位ビット(第2ビット)1118が0のアンケート回答装置が、1118が1で1117、1116のビットが同じである他のアンケート回答装置へ擾乱済みアンケートデータを送信する。すると、A→E、B→F、C→G、D→Hとなる。次に、データを受信したアンケート回答装置の中でビット1117が0の装置が、1117が1で、1116が同じ値の他の装置へデータを送信する。つまり、E→G、F→Hとなる。最後に、データを受信したGとHの間で、ビット1116が0の装置から1の装置へデータを送信する。つまり、G→Hとなる。こうして、データがアンケート回答装置Hへ集約される。
【0037】
例えば、1回目のデータ集計処理で直接集約されたAとBについて、2回目のデータ集計をたどってみると、AとBからのデータが出会うのは、一番最後に集約されたアンケート回答装置H上においてである。これによって、2回集計処理する場合において、1回目にて直接集計された端末同士のデータは、2回目にて極力最後の段階まで出会わないように集計することができる。
以上のように、2回集計を行う場合には、各端末に1つずつ配布された数値を2回利用することで送信先を決めることができた。一般的には、N回集計する場合には各端末にN個の数値を配布して集計する。その各端末N個の数値はペアを組む相手の順番を決定することによって得ることができるが、そのペアを組む相手の設計方法は、図18、図19のようになる。
【0038】
図18は、以前ペアを組んだ端末とのデータとはなるべく最後の方の段階で出会うように設計するための模式図である。最初は、1801のように隣合った数値同士で順番にバイナリツリーを構成する。図11の1102、1103、1104のビット列をそれぞれの端末に対して、1806のように割り当てることで、1回目の配布先を示す数値を設計できる。1801に対してバイナリツリーの分岐点を親ノードとみなして、親族関係の距離を示す親等を記したものが1802である。端末0の行について、左から右へたどって調査していき、最初に出くわした最も大きな値(6)を持つ端末4と次のバイナリツリーのペアとする。同様に、端末1について同じ番号を選らばないように調査し、端末5を得る。同様に、端末2は端末6、端末3は端末7とペアを組む。こうして1803のペアが生成される。
【0039】
次にペア同士の距離を計算して、1804を得る。ペア同士の距離は、ペアに含まれる端末と相手の端末との親等の合計値とする。1804では、例えば、端末ペア04と端末ペア15の距離は16であることを示している。前述同様に、端末ペア04について、最初に出くわした最も大きな値(20)を持つ端末ペア26とさらにペアを組む。繰り返して、端末ペア15は端末ペア37とペアを組む。こうして、1805の構造を得る。端末数が多い場合には、この作業を繰り返していくことになる。結局、各端末に上から順番にビット列の数値を割り振ることで、1807の配布先を示す数値を設計できる。
【0040】
図19は、3回目の配布先を設計する方法を示した模式図である。2回目のバイナリツリーは1901のように設計されていた。これから得られる親等の値と、以前の親等の値1802で小さい方を採用して置き換えることによって、1902を得る。このテーブル上で、端末0について、以前と同様に、左から最初に出くわした最も大きな値(6)を得る端末5とペアを組む。同様に繰り返して、端末1は端末4、端末2は端末7、端末3は端末6とそれぞれペアを組む。こうして、1903のペア構造を得る。それぞれのペア同士の距離を計算して、1904を得る。ペア同士の距離を調査して、端末ペア05に対しては端末ペア27、端末ペア14に対して端末ペア36を得る。こうして1905の構造を得る。最終的に、上から順に、配布先を示す数値を割り振ることで、1906のビット列の割り当てを得ることができる。以下同様に繰り返すことによって、N回の集計のための、各端末におけるN個の配布先数値を得ることができる。
【0041】
以上のように、図11は2回集計を行う場合に特化した手法の説明で、図18,図19は、より一般的にN回集計を行う場合の手法の説明である。どちらの手法も、端末内でデータを分割して複数回集計する第1の実施例への適用を想定して説明したが、1回目の第1段階目のペアを乱数の共有に利用すれば、第2の実施例に適用することができる。また、第1、第2、第3、第4の実施例の組み合わせの実施例の場合、乱数の共有とデータの集計が3回以上となりえるため、より一般的にN回集計を行う後者の手法を適用することで、以前組んだペアのデータがなるべく最後の方の段階で出会うように設計することができる。
【0042】
図12は、アンケートサーバから各端末へ送信されるアンケート回答方法を記述するデータ構造である。これは、同じアンケートを行う全端末に同じデータを配布するものである。データ構造1201は、アンケートのテンプレートのことであり、全データ長1202、アンケート内容のHTMLファイルを示すURLの個数1203、その本数Nだけ続く、アンケート内容へのURLの長さ1204とURL文字列1205、アンケート記入内容からアンケートデータへ変換する記述データの長さ1206、そのデータ変換記述1207から構成されている。URLで指定されるHTMLファイルは、例えば、図3の301のようなアンケート表示を行なう。
【0043】
また、データ変換記述の内容は例えば、アンケート記述内容304、305と視聴率データをI1〜I3、アンケートデータC310,D311,E312および313の各セル値をO1〜O9だとすると、それらの演算方法が、1208に示すようにO5←I1*I2のような意味する内容が記述される。読み出したこの情報に基づいて、各端末では攪乱処理が行われる。
【0044】
データ変換としては、例えばO10←exp(I1*I2)のようなexpの指数関数を演算することが出来る。この場合、乱数による擾乱は乗算によって行ない、アンケートの集計処理はアンケートデータ同士の乗算によって行なう。アンケートサーバによる集計処理にて、log演算を施すと、アンケートデータの加算内容を得ることができる。従って、アンケートの集計処理は必ずしも加算処理とは限らない。すなわち、O10の例の場合、一部データ変換済みのI1*I2のような値に対するデータ変換をf(x)、集計処理をg(x、y)とすると、g(f(a)、f(b))=f(a+b)を満たすfとgによる計算方法が使用できる。擾乱処理は、乱数r=f(b)とすることで処理することができる。O10の場合の残りのデータ変換f(x)=exp(x)とする場合には、前述のようにg(x、y)=x*yとすればよい。
【0045】
また、例えば三角関数の加法定理などを用いると、より複雑で予測しずらい演算を行なうことができる。例えば、f1(x)=sin(x)、f2(x)=cos(x)とし、集計処理の引数の数を2倍にして、g(x1、x2、y1、y2)=x1*y2+x2*y1とする。すると、g(f1(x)、f2(x)、f1(y)、f2(y))=sin(x)*cos(y)+cos(x)*sin(y)=sin(x+y)=f1(x+y)となる。x、yの値の最大値を制御することで、集計処理として利用することも可能である。あるいは、引数の数を変えなければ、f(x)=tan(x)とし、g(x、y)=(x+y)/(1―x*y)とすると、g(f(x)、f(y))=(tan(x)+tan(y))/(1−tan(x)*tan(y))=tan(x+y)=f(x+y)となる。
このように、データ変換fと集計処理方法gの内容が知られなければ、集計結果の値も解析しにくくなる。
これによって、アンケート内容と、アンケート入力からアンケートデータへの変換方法を各アンケート回答装置へ配信することができる。
【0046】
図13は、アンケートサーバから各端末へ送信されるアンケートデータの処理方法を記述するデータ構造である。これは、図12と異なり、端末ごとに異なる内容のデータを配布するものである。データ構造1301は、全データ長1302、乱数の入手先ブロック1303、データ入手先ブロック1304、データ送信先ブロック1305、データ処理方法ブロック1306で構成される。
【0047】
乱数の入手先ブロック1303は、乱数の数(N)1310と、乱数の入手方法1311が乱数の数だけ記述される。入手先は乱数を共有する端末へのURLであったり、このデータ構造を送信する端末が乱数サーバの場合は、直接乱数が格納されることもあり得る。実施例によっては、正則線形行列の入手先が記述される。
【0048】
データ入手先ブロック1304は、入手先の数(M)1312と、その数だけ続く、データ入手先1313が記述される。このデータとは、アンケートデータであり、例えばデータを2回収集する場合には、図11で計算された処理経路を実現するように入手先が設定されることとなる。
【0049】
データ送信先ブロック1305は、送信先の数(L)1314、その数だけ続く、データ送信先1315が記述される。2回収集が行われる場合には、送信先の数1314は2となる。収集が1回の場合には1となる。
【0050】
データ処理方法ブロック1306は、以上の記述による乱数や入手データ、出力先を用いて、データ処理手順を記述する。例えば、図9の乱数を端末間で共有する方法の場合、端末803へ送付されるデータ構造には、乱数の入手先として端末807が指定され、データ送信先として端末802が指定される。そして、データ処理方法ブロックには、「乱数を生成して端末807と共有し、アンケートデータBを擾乱して、端末802へ送信する」といった手順が記述されることとなる。
これによって、各アンケート回答装置に対し、データ処理方法を指示することができる。また、次の端末へ送信される集計済みアンケートデータの構造は、図14によって記述される。
【0051】
図14は、各端末から送信される擾乱済み集計データのデータ構造である。データ構造1401は、全データ長1402、擾乱済み集計アンケートデータ1403で構成される。更に、署名数(N)1404及びその数だけ続く署名1405を含むこともできる。署名は、そのアンケート回答装置(端末)にて確かにアンケート回答が行なわれたことを示し、暗号化された後でもアンケート内容を知ることなくアンケートが確かに回答されたことを検証できる。あるいは、この署名部分のみを直接アンケートサーバへ送付してもよい。
これによって、擾乱済みアンケートデータの集計結果を受け渡すことができる。また、どの端末からアンケートデータが集計されたかの記録をアンケート内容を知られることなく送付することができる。
【0052】
図15は、アンケートサーバにてアンケートリクエストの送信処理を示したPAD図である。アンケートサーバにてアンケートリクエスト1500が実行されると、まずアンケートに協力してもらえるユーザの端末でかつ、実際にネットワーク接続が可能な有効端末のリストアップ1501が行なわれる。次に、アンケート準備1502が行なわれる。ここでは、アンケート内容を用意し、端末間における擾乱済みアンケートデータの収集経路を算出し、必要に応じて乱数を生成したりする。1503では各端末について次のループを実行する。その端末について、乱数入手先を指定1504、データ入手先を指定1505、データ送信先を指定1506、準備したデータから図12のアンケートテンプレートや図13のアンケートデータ処理方法を含む全データを用意して、その端末へ送信する(1507)。全端末について実行し終えると、回答受信1508を行なう。
これによって、各アンケート回答装置へアンケートのリクエストを行なうことができる。
【0053】
図16は、各端末での処理方法を示したPAD図である。アンケート回答装置において端末処理1600が実行されると、アンケートリクエスト(図12のアンケートテンプレート)や図13のアンケートデータ処理方法がテンプレート受信部108を介して受信される1601。アンケートテンプレートに含まれる各URLにいてループ1602を行ない、アンケート表示と回答入力1603をユーザに対して実施し、データ変換記述1207に従って、データ変換部114にてアンケートデータの変換処理1604を実行する。1605にて図13に指定された乱数入手先1303から乱数を入手し、攪乱作用部110にてアンケートデータを擾乱する(1606)。図13のデータ入手先1304から集計データ(1403)を入力1607して、回答内容から生成されたアンケートデータとの集計処理1608をデータ集計部109にて行なう。処理方法はデータ処理方法1306にて指示される。次に、アンケート回答が行なわれたことの署名1405を追記し(1609)、データ送信先1305の各送信先についてループ1610を行ない、データ送受信部112を介してデータを送信1611する。
これによって、各端末にてアンケートの表示・入力、およびアンケートデータの生成と集計を実行することができる。
【0054】
図17は、アンケートサーバにて各端末から回答を受信する際の処理方法を示したPAD図である。アンケートサーバにて回答受信1700が行なわれると、全集計結果を入手するまでループ1701を実行し、集計データの入手1702と、データ集計処理1703が必要に応じて行なわれる。集計済みアンケートデータに対し、擾乱消去1704が必要に応じて行なわれる。集計方法によっては集計済みアンケートデータは、全てのデータが集計された時点で擾乱が消去されている。例えば、乱数サーバから擾乱消去データを入手して擾乱を取り除く処理などがここでは行なわれる。次に、統計処理1705が行なわれる。クロス集計や相関係数の算出、主成分分析、ヒストグラム生成など、各種の統計処理が行なわれる。その結果は、アンケート統計送信1706で、契約した企業のサーバなどへ送信され、正しく処理されると課金処理1707が行なわれる。これは、主に、アンケート統計データを販売することによって、課金を行なう処理を意味している。
これによって、擾乱を取り除いたアンケートデータ集計を入手して、統計処理結果を販売し、代価を得ることができる。
【産業上の利用可能性】
【0055】
本願は、世帯情報との関連を含めた詳細な視聴率調査に基づくマーケティングや、世論調査や国勢調査、商品や製品に関する一般的なアンケート調査を。又は、自動車の各部分(エンジンの回転数や速度、燃費、センサによる危険警報からユーザによるブレーキまでの時間、ワイパーの稼動状況)等の実測値データの集計などに適用できる。
【図面の簡単な説明】
【0056】
【図1】本発明の一実施例を説明する機能ブロック図。
【図2】本発明の一実施例を説明する構成ブロック図。
【図3】アンケート表示とその回答から変換されたアンケートデータの一実施例の模式図。
【図4】自端末内でのみ乱数を扱うアンケートデータ擾乱手法の一実施例を示した模式図。
【図5】2端末間で乱数を共有するアンケートデータ擾乱手法の一実施例を示した模式図。
【図6】乱数サーバと端末間で乱数を共有するアンケートデータ擾乱手法の一実施例を示した模式図。
【図7】正則線形変換を用いたアンケートデータ擾乱手法の一実施例を示した模式図。
【図8】各端末で2回集計処理する場合のデータフローの一実施例を示した模式図。
【図9】2端末間で乱数を共有する場合の集計処理のデータフローの一実施例を示した模式図。
【図10】乱数サーバと各端末間で乱数を共有する場合の集計処理のデータフローの一実施例を示した模式図。
【図11】各端末で2回集計処理する場合の送信先算出手法の一実施例を示した模式図。
【図12】アンケートサーバから各端末へ送信されるアンケート回答方法の一実施例を記述するデータ構造。
【図13】アンケートデータの処理方法を記述するデータ構造の一実施例。
【図14】各端末から送信される擾乱済み集計データのデータ構造の一実施例。
【図15】アンケートサーバにてアンケートリクエストの送信処理の一実施例を示したPAD図。
【図16】各端末での処理方法の一実施例を示したPAD図。
【図17】アンケートサーバにて各端末から回答を受信する際の処理方法の一実施例を示したPAD図。
【図18】端末間で集計する際のペアを組む相手を設計する方法の一実施例を示した模式図(2回目の場合)。
【図19】端末間で集計する際のペアを組む相手を設計する方法の一実施例を示した模式図(3回目の場合)。
【符号の説明】
【0057】
101: アンケートサーバ
102: テンプレート配信部
103: データ収集部
104: 収集経路生成部
105: 擾乱生成部
106: 擾乱除去部
107: アンケート回答装置
108: テンプレート受信部
109: データ集計部
110: 擾乱作用部
111: データ入力部
112: データ送受信部
113: データ保存部
114: データ変換部
115: 表示入力部
116: センサ装置
201: アンケートサーバ
202: 通信I/F
203: プロセッサ
204: メモリ
205: 記憶装置
207: 通信I/F
208: プロセッサ
209: メモリ
210: 記憶装置
211: 通信I/F
212 アンケート回答装置(端末)
301: アンケート表示
302: データAに対応する回答入力欄
303: データBに対応する回答入力欄
304: データCに対応する回答入力欄
305: データDに対応する回答入力欄
306: 確定ボタン
307: 回答ユーザ数集計データ
308: アンケート文章A用集計データ
309: アンケート文章B用集計データ
310: アンケート文章C用集計データ
311: アンケート文章D用集計データ
312: 視聴率用集計データ
313: アンケート文章C,D,E用の分散共分散集計データ
401: アンケート回答装置A
402: データA
403: 分割データA1
404: 乱数r
405: 擾乱済み分割データA1
406: 分割データA2
407: 乱数(−r)
408: 擾乱済み分割データA2
409: アンケート回答装置B
410: 1回目の送信
411: 2回目の送信
412: アンケートサーバ
501: アンケート回答装置A
502: データA
503: 共有乱数r
504: 擾乱済みデータA
505: アンケート回答装置B
506: データB
507: 共有乱数(−r)
508: 擾乱済みデータB
509: 擾乱済みデータAの送信
510: 擾乱済みデータBの送信
511: アンケートサーバ
601: アンケート回答装置A
602: データA
603: 共有乱数r
604: 擾乱済みデータA
605: 乱数サーバ
606: 共有乱数r
607: 共有乱数q
608: 共有乱数の集計値
609: アンケート回答装置B
610: アンケートサーバ
701: アンケート回答装置A
702: データ列a
703: 共有された正則線形変換T
704: 擾乱済みデータ列a
705: アンケート回答装置B
706: データ列b
707: 共有された正則線形変換T
708: 擾乱済みデータ列b
709: 受信された擾乱済みデータ列a
710: 擾乱済みデータ列の集計結果
711: アンケートサーバ
712: 正則線形変換Tの生成
801: アンケートサーバS
802: 端末A
803: 端末B
804: 端末C
805: 端末D
806: 端末E
807: 端末F
808: 端末G
809: 端末H
810: データA1, B1の集計
811: データA1, B1, C1, D1の集計
812: データC1, D1の集計
813: データA1からH1の集計
814: データA2, E2の集計
815: データB2, F2の集計
816: データA2からH2の集計
817: データA1からH1, A2からH2の集計
901: 共有乱数p
902: 共有乱数(−p)
903: 擾乱済みデータA
904: 擾乱済みデータE
905: 擾乱済みデータAからHの集計
1001: 乱数サーバ
1002: 共有乱数p
1003: 擾乱済みデータA
1004: 擾乱済みデータAからHの集計
1005: 共有乱数との集計値
1101: 装置番号と最小ビット数のペア
1102: 最下位ビット(第0ビット)
1103: 第1ビット
1104: 第2ビット
1116: 第0ビット
1117: 第1ビット
1118: 最上位ビット(第2ビット)
1201: アンケート回答方法を記述するデータ構造
1202: 全データ長
1203: URL個数
1204: 1番目のURL文字列の長さ
1205: 1番目のURL文字列
1206: 変換記述データの長さ
1207: 変換記述データ
1208: 変換記述の例
1301: アンケートデータ処理方法を記述するデータ構造
1302: 全データ長
1303: 乱数の入手先ブロック
1304: データ入手先ブロック
1305: データ送信先ブロック
1306: データ処理方法ブロック
1310: 乱数の数
1311: 1番目の乱数の入手方法データ
1312: データ入手先の数
1313: 1番目のデータ入手先データ
1314: データ送信先の数
1315: 1番目のデータ送信先データ
1401: 擾乱済み集計データのデータ構造
1402: 全データ長
1403: 擾乱済み集計データ
1404: 署名数
1405: 1番目の署名
1500: アンケートリクエストの送信処理
1501: 有効端末のリストアップ
1502: アンケート準備
1503: 各端末にてループを実行
1504: 乱数入手先の指定
1505: データ入手先の指定
1506: データ送信先の指定
1507: 全データの送信処理
1508: 回答受信処理
1600: 端末処理
1601: データ受信処理
1602: 各ページについてループを実行
1603: アンケート表示・回答入力
1604: アンケートデータ変換処理
1605: 乱数入手
1606: アンケートデータ擾乱
1607: 集計データ入手
1608: データ集計処理
1609: 署名追記処理
1610: 各送信先についてループを実行
1611: データ送信処理
1700: 回答受信処理
1701: 全集計結果についてループを実行
1702: 集計データ入手
1703: データ集計処理
1704: 擾乱消去処理
1705: 統計処理
1706: アンケート統計の送信処理
1707: 課金処理
1801: 隣り合った数値同士で構成されたバイナリツリー構造
1802: ツリーに沿った距離を親等で表したマトリックス
1803: 第1段階目のペア
1804: 端末ペア同士の距離を表現したマトリックス
1805: 第2段階目のペア
1806: 1回目のビット列の割り当て
1807: 2回目のビット列の割り当て
1901: 2回目に構成されたバイナリツリー構造
1902: 2回目のツリーの距離も加味したマトリックス
1903: 3回目のツリーにおける第1段階目のペア
1904: 3回目のツリーにおける端末ペア同士の距離を表現したマトリックス
1905: 3回目のツリーにおける第2段階目のペア
1906: 3回目のビット列の割り当て。
【特許請求の範囲】
【請求項1】
問い合わせ内容とその回答データ処理方法を含む問い合わせデータを端末に配信し、
端末で収集された回答データ全体を構成する複数の群データ毎に攪乱処理を行い、
該攪乱処理された複数の群データを収集することで攪乱を消去することを特徴とする数値集計処理可能な情報の集計方法。
【請求項2】
上記群データは、上記端末毎に収集されたデータを複数に分割して作成されたものであり、
上記攪乱処理は端末に固有の乱数を該端末内の複数の群データ各々に、集計すると互いにうち消されるように攪乱処理を行い、
上記攪乱された群データ各々を異なる他の上記端末からの攪乱済み群データとで集計処理を行い、該集計処理を繰り返して階層的に収集することで上記攪乱の取り消された集計データを得ることを特徴とする請求項1記載の情報の集計方法。
【請求項3】
上記群データは上記端末毎に収集されたデータであり、
複数の上記端末間で共有される乱数を用いて、一方の群データには攪乱処理を行い、他方の群データには該攪乱をうち消す攪乱処理を行い、
上記乱数を共有する端末以外の端末との間で上記攪乱処理された群データの集計処理を行い、さらに他の端末との間での集計処理を繰り返すことで上記攪乱の取り消された集計データを得ることを特徴とする請求項1記載の集計方法。
【請求項4】
上記群データは上記端末毎に収集されたデータであり、
上記攪乱処理は上記端末固有の乱数を用いて行われ、
上記攪乱処理された群データを収集し、
上記収集された群データから上記端末ごとに異なる乱数の集計処理された値の消去処理を行うことで上記攪乱を消去することを特徴とする請求項1記載の情報の集計方法。
【請求項5】
上記群データは上記端末毎に収集されたデータであり、
上記攪乱は上記端末で共有される正則線形変換を用いて行われ、
上記1の端末で上記攪乱された群データを受信した他の端末において、該端末で攪乱された群データとの収集が行われ、該収集処理を繰り返すことで上記回答データ全体を最終的に収集し、
上記回答データ全体に上記正則線形変換の逆変換を施すことで上記攪乱を消去したデータを収集することを特徴とする請求項1記載の情報の集計方法。
【請求項6】
上記問い合わせデータは、上記乱数の入手方法、上記群データの入手先及び上記攪乱済み群データの送信先の指定情報も含むことを特徴とする請求項1乃至5の何れかに記載の集計方法。
【請求項7】
上記端末からの攪乱済み群データは、該攪乱処理を行った端末の署名が付されていることを特徴とする請求項1乃至6の何れかに記載の集計方法。
【請求項8】
入力されたデータに対して攪乱処理を行う攪乱作用部と、
他の端末で上記攪乱処理の行われたデータと上記攪乱処理済みデータとの集計処理を行うデータ集計部と、
該集計データを送出するデータ送受信部とを有することを特徴とする端末。
【請求項9】
上記送受信部を介してアンケート内容とその回答データ処理方法を含む問い合わせデータを受け取り、
上記アンケート内容を表示する表示手段と、
上記アンケートへの回答の入力を受ける入力部と、
上記入力データを上記回答データ処理方法に基づいて変換する変換部とをさらに有し、
上記データ集計部は上記変換されたデータを集計することを特徴とする請求項8記載の端末。
【請求項10】
請求項1乃至7の何れかに記載の収集方法によって収集された集計データを、他のサーバへ送信し、
集計データのデータ収集元の上記端末台数、又は、上記アンケート内容の問い合わせ項目の個数に応じて所定金額を上記他のサーバに課金することを特徴とする統計情報販売方法。
【請求項1】
問い合わせ内容とその回答データ処理方法を含む問い合わせデータを端末に配信し、
端末で収集された回答データ全体を構成する複数の群データ毎に攪乱処理を行い、
該攪乱処理された複数の群データを収集することで攪乱を消去することを特徴とする数値集計処理可能な情報の集計方法。
【請求項2】
上記群データは、上記端末毎に収集されたデータを複数に分割して作成されたものであり、
上記攪乱処理は端末に固有の乱数を該端末内の複数の群データ各々に、集計すると互いにうち消されるように攪乱処理を行い、
上記攪乱された群データ各々を異なる他の上記端末からの攪乱済み群データとで集計処理を行い、該集計処理を繰り返して階層的に収集することで上記攪乱の取り消された集計データを得ることを特徴とする請求項1記載の情報の集計方法。
【請求項3】
上記群データは上記端末毎に収集されたデータであり、
複数の上記端末間で共有される乱数を用いて、一方の群データには攪乱処理を行い、他方の群データには該攪乱をうち消す攪乱処理を行い、
上記乱数を共有する端末以外の端末との間で上記攪乱処理された群データの集計処理を行い、さらに他の端末との間での集計処理を繰り返すことで上記攪乱の取り消された集計データを得ることを特徴とする請求項1記載の集計方法。
【請求項4】
上記群データは上記端末毎に収集されたデータであり、
上記攪乱処理は上記端末固有の乱数を用いて行われ、
上記攪乱処理された群データを収集し、
上記収集された群データから上記端末ごとに異なる乱数の集計処理された値の消去処理を行うことで上記攪乱を消去することを特徴とする請求項1記載の情報の集計方法。
【請求項5】
上記群データは上記端末毎に収集されたデータであり、
上記攪乱は上記端末で共有される正則線形変換を用いて行われ、
上記1の端末で上記攪乱された群データを受信した他の端末において、該端末で攪乱された群データとの収集が行われ、該収集処理を繰り返すことで上記回答データ全体を最終的に収集し、
上記回答データ全体に上記正則線形変換の逆変換を施すことで上記攪乱を消去したデータを収集することを特徴とする請求項1記載の情報の集計方法。
【請求項6】
上記問い合わせデータは、上記乱数の入手方法、上記群データの入手先及び上記攪乱済み群データの送信先の指定情報も含むことを特徴とする請求項1乃至5の何れかに記載の集計方法。
【請求項7】
上記端末からの攪乱済み群データは、該攪乱処理を行った端末の署名が付されていることを特徴とする請求項1乃至6の何れかに記載の集計方法。
【請求項8】
入力されたデータに対して攪乱処理を行う攪乱作用部と、
他の端末で上記攪乱処理の行われたデータと上記攪乱処理済みデータとの集計処理を行うデータ集計部と、
該集計データを送出するデータ送受信部とを有することを特徴とする端末。
【請求項9】
上記送受信部を介してアンケート内容とその回答データ処理方法を含む問い合わせデータを受け取り、
上記アンケート内容を表示する表示手段と、
上記アンケートへの回答の入力を受ける入力部と、
上記入力データを上記回答データ処理方法に基づいて変換する変換部とをさらに有し、
上記データ集計部は上記変換されたデータを集計することを特徴とする請求項8記載の端末。
【請求項10】
請求項1乃至7の何れかに記載の収集方法によって収集された集計データを、他のサーバへ送信し、
集計データのデータ収集元の上記端末台数、又は、上記アンケート内容の問い合わせ項目の個数に応じて所定金額を上記他のサーバに課金することを特徴とする統計情報販売方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2006−18053(P2006−18053A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2004−196191(P2004−196191)
【出願日】平成16年7月2日(2004.7.2)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願日】平成16年7月2日(2004.7.2)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]