(57)【要約】【課題】データの提供者及び利用者にとって有用なデータ提供システムを実現可能とする情報処理装置、情報処理方法、プログラム、及び情報処理システムを提供すること。【解決手段】本技術の一形態に係る情報処理装置は、算出部と、生成部とを具備する。前記算出部は、所定の属性と前記属性に関する１以上の属性値とを有するデータベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出する。前記生成部は、前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成する。【選択図】図６
2014013479.tif 000002
【特許請求の範囲】
【請求項１】
所定の属性と前記属性に関する１以上の属性値とを有するデータベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出する算出部と、
前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成する生成部と
を具備する情報処理装置。
【請求項２】
前記頻度関数は、前記属性値ごとの出現頻度である第１の出現頻度を表す
請求項１に記載の情報処理装置。
【請求項３】
前記生成部は、前記頻度関数により表される前記サンプル属性値ごとの第１の出現頻度と、前記サンプルデータにおける前記サンプル属性値ごとの出現頻度である第２の出現頻度とが対応するように、前記サンプルデータを生成する
請求項２に記載の情報処理装置。
【請求項４】
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合を近似した近似値を前記第１の出現頻度として表す前記頻度関数を算出する
請求項２に記載の情報処理装置。
【請求項５】
前記算出部は、所定のモデル関数を選択し、前記所定のモデル関数を前記属性値ごとの前記出現回数の割合にフィッティングすることで前記頻度関数を算出する
請求項４に記載の情報処理装置。
【請求項６】
前記算出部は、最尤推定法により前記属性値ごとの前記出現回数の割合に応じた確率関数を推定することで、当該推定された確率関数を前記頻度関数として算出する
請求項４に記載の情報処理装置。
【請求項７】
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合を前記第１の出現頻度として表す前記頻度関数を生成する
請求項２に記載の情報処理装置。
【請求項８】
前記１以上の属性値のうち所定の属性値を、前記算出部による前記頻度関数の算出に用いられない対象外属性値として設定する設定部をさらに具備し、
前記算出部は、前記設定された前記対象外属性値を除いた前記１以上の属性値の出現頻度に関する前記頻度関数を算出し、
前記生成部は、前記算出された頻度関数をもとに、前記対象外属性値を除いた前記１以上の属性値から前記サンプルデータを生成する
請求項１に記載の情報処理装置。
【請求項９】
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合をもとに前記頻度関数を生成し、
前記設定部は、前記属性値ごとの前記出現回数の割合をもとに、当該出現回数の割合が所定よりも小さい属性値を前記対象外属性値として設定する
請求項８に記載の情報処理装置。
【請求項１０】
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合をもとに前記頻度関数を生成し、
前記設定部は、前記属性値ごとの前記出現回数の割合をもとに、当該出現回数の割合と前記頻度関数により表される前記第１の出現頻度との差が、所定よりも大きい属性値を前記対象外属性値として設定し、
前記算出部は、前記設定された前記対象外属性値を除いた前記１以上の属性値の出現頻度に関する前記頻度関数を改めて算出し、
前記生成部は、前記改めて算出された頻度関数をもとに、前記対象外属性値を除いた前記１以上の属性値から前記サンプルデータを生成する
請求項８に記載の情報処理装置。
【請求項１１】
外部装置からの、前記データベースの所定のデータに関する前記サンプルデータの要求を受信する受信部と、
前記要求をもとに、前記データベースから前記所定のデータを選択する選択部と
をさらに具備し、
前記算出部は、前記選択された所定のデータに関して前記頻度関数を算出し、
前記生成部は、前記算出された頻度関数をもとに前記所定のデータから前記サンプルデータを生成する
請求項１に記載の情報処理装置。
【請求項１２】
前記受信部は、外部装置が有する外部データと、前記データベースの前記外部データに関連する関連データに関する前記サンプルデータの要求とを受信し、
前記算出部は、前記外部データと前記関連データとの組み合わせを前記１以上の属性値として、前記頻度関数を算出し、
前記生成部は、前記算出された頻度関数をもとに、前記外部データと前記関連データとの組み合わせを１以上のサンプル属性値として含む前記サンプルデータを生成する
請求項１１に記載の情報処理装置。
【請求項１３】
前記受信部、前記算出部、及び前記生成部は、マルチパーティプロトコルに基づいてそれぞれ動作可能である
請求項１２に記載の情報処理装置。
【請求項１４】
前記受信部は、完全準同型暗号により暗号化された前記外部データを受信し、
前記情報処理装置は、前記完全準同型暗号により前記関連データを暗号化する暗号化部をさらに具備し、
前記算出部は、前記暗号化された前記外部データと前記暗号化された前記関連データとの組み合わせに関して前記頻度関数を算出し、
前記生成部は、前記算出された頻度関数をもとに、前記暗号化された前記外部データと前記暗号化された前記関連データとの組み合わせに関する前記サンプルデータを生成する
請求項１３に記載の情報処理装置。
【請求項１５】
前記算出部は、前記１以上の属性値の出現頻度に関する関数として、第１の頻度関数と前記第１の頻度関数と異なる第２の頻度関数とを生成することが可能であり、
前記受信部は、前記外部装置からの、前記第１及び前記第２の頻度関数のいずれかを選択するための指定を受信する
請求項１１に記載の情報処理装置。
【請求項１６】
所定の属性と前記属性に関する１以上の属性値とを有するデータベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出し、
前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成する
情報処理方法。
【請求項１７】
所定の属性と前記属性に関する１以上の属性値とを有するデータベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出するステップと、
前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成するステップと
をコンピュータに実行させるプログラム。
【請求項１８】
所定の属性と前記属性に関する１以上の属性値とを有するデータベースを提供可能な第１の情報処理装置と、前記第１の情報処理装置に前記データベースに関するサンプルデータの要求を送信する第２の情報処理装置とを具備する情報処理システムであって、
前記第１の情報処理装置は、
前記第２の情報処理装置からの前記サンプルデータの要求を受信する受信部と、
前記データベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出する算出部と、
前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成する生成部と
を有し、
前記第２の情報処理装置は、
前記サンプルデータの要求を送信する送信部と、
前記生成されたサンプルデータを受信する受信部と
を有する
情報処理システム。
【請求項１９】
所定の属性と前記属性に関する１以上の属性値とを有するデータベースを提供可能なデータ提供装置に、前記データベースに関するサンプルデータの要求を送信する送信部と、
前記要求を受信した前記データ提供装置により前記１以上の属性値の出現頻度に関する関数である頻度関数をもとに生成された、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記出現頻度に応じた前記サンプルデータを受信する受信部と
を具備する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、例えばデータベースの提供等に用いられる情報処理装置、情報処理方法、プログラム、及び情報処理システムに関する。
【背景技術】
【０００２】
例えば特許文献１には、データベースにおける個々のデータを秘匿しつつ、それらのデータの集計結果として、統計的手法による統計値のみを得る技術について記載されている。例えば企業等の各種組織が所有する顧客情報等を、学術研究やマーケティング分析のために流通させるような場合に上記のような技術が用いられる。
【０００３】
特許文献１に記載のデータ集計方法では、データに対して逆関数が定義可能な関数による変換処理が行われ、変換された変換データに対して撹乱処理が行われる。この攪乱処理された撹乱データをもとに、上記の変換データに関する統計値の近似値が算出される。そしてこの統計値に対して逆関数による逆変換処理が行われることで、データに関する統計値の近似値が生成される。
【０００４】
このデータ集計方法では、データに対して撹乱処理だけでなく変換処理が行われるので、データの秘匿性が向上する。その一方で、変換処理及び逆変換処理では統計値の精度は低下しないので、統計値の精度の低下は撹乱処理による分だけに抑えられる。この結果、生成される統計値の精度とデータ秘匿性とを両立させることができる（特許文献１の段落［０００１］−［００１０］等参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−９３４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のようなデータの提供等において、データの提供者及び利用者にとって有用なシステムが求められる。
【０００７】
以上のような事情に鑑み、本技術の目的は、データの提供者及び利用者にとって有用なデータ提供システムを実現可能とする情報処理装置、情報処理方法、プログラム、及び情報処理システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本技術の一形態に係る情報処理装置は、算出部と、生成部とを具備する。
前記算出部は、所定の属性と前記属性に関する１以上の属性値とを有するデータベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出する。
前記生成部は、前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成する。
【０００９】
この情報処理装置では、データベースが有する１以上の属性値の出現頻度に関する頻度関数が算出される。この頻度関数が用いられて上記の出現頻度に応じたサンプルデータが生成される。この結果、データの提供者及び利用者にとって有用なデータ提供システムが実現可能となる。
【００１０】
前記頻度関数は、前記属性値ごとの出現頻度である第１の出現頻度を表してもよい。
このように属性値ごとの第１の出現頻度を表す関数が頻度関数として用いられてもよい。
【００１１】
前記生成部は、前記頻度関数により表される前記サンプル属性値ごとの第１の出現頻度と、前記サンプルデータにおける前記サンプル属性値ごとの出現頻度である第２の出現頻度とが対応するように、前記サンプルデータを生成してもよい。
これによりデータベースに関する有用なサンプルデータを生成することが可能となる。
【００１２】
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合を近似した近似値を前記第１の出現頻度として表す前記頻度関数を算出してもよい。
この情報処理装置では、属性値全体に対する出現回数の割合が算出される。そして出現回数の割合の近似値が第１の出現頻度として表される。これにより出現回数の割合に応じたサンプルデータが生成される。
【００１３】
前記算出部は、所定のモデル関数を選択し、前記所定のモデル関数を前記属性値ごとの前記出現回数の割合にフィッティングすることで前記頻度関数を算出してもよい。
このようにモデル関数をフィッティングすることで頻度関数が算出されてもよい。
【００１４】
前記算出部は、最尤推定法により前記属性値ごとの前記出現回数の割合に応じた確率関数を推定することで、当該推定された確率関数を前記頻度関数として算出してもよい。
このように最尤推定法により推定された確率関数が頻度関数として用いられてもよい。
【００１５】
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合を前記第１の出現頻度として表す前記頻度関数を生成してもよい。
このように出現回数の割合が第１の出現頻度として表されてもよい。これにより出現回数の割合に応じたサンプルデータが生成される。
【００１６】
前記情報処理装置は、前記１以上の属性値のうち所定の属性値を、前記算出部による前記頻度関数の算出に用いられない対象外属性値として設定する設定部をさらに具備してもよい。この場合、前記算出部は、前記設定された前記対象外属性値を除いた前記１以上の属性値の出現頻度に関する前記頻度関数を算出してもよい。また前記生成部は、前記算出された頻度関数をもとに、前記対象外属性値を除いた前記１以上の属性値から前記サンプルデータを生成してもよい。
この情報処理装置では、頻度関数の算出に用いられない対象外属性値が設定される。例えばサンプルデータに含めたくないような特徴的な属性値が対象外属性値として設定される。これにより有用なサンプルデータを生成することができる。
【００１７】
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合をもとに前記頻度関数を生成してもよい。この場合、前記設定部は、前記属性値ごとの前記出現回数の割合をもとに、当該出現回数の割合が所定よりも小さい属性値を前記対象外属性値として設定してもよい。
このように出現回数の割合が所定の値よりも小さい属性値が対象外属性値として設定されてもよい。これにより例えば出現回数の割合が小さい特徴的な属性値が対処外属性値として設定される。
【００１８】
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合をもとに前記頻度関数を生成してもよい。この場合、前記設定部は、前記属性値ごとの前記出現回数の割合をもとに、当該出現回数の割合と前記頻度関数により表される前記第１の出現頻度との差が、所定よりも大きい属性値を前記対象外属性値として設定してもよい。また前記算出部は、前記設定された前記対象外属性値を除いた前記１以上の属性値の出現頻度に関する前記頻度関数を改めて算出してもよい。また前記生成部は、前記改めて算出された頻度関数をもとに、前記対象外属性値を除いた前記１以上の属性値から前記サンプルデータを生成してもよい。
この情報処理装置では、算出された頻度関数により表される第１の出現頻度と、出現回数の割合との差が算出される。その差が所定よりも大きい属性値が対象外属性値として設定される。そして対象外属性値を除いた属性値に関する出現頻度が改めて算出される。これにより例えば出現回数の割合と第１の出現頻度との差が大きい特徴的な属性値が対象外属性値として設定される。
【００１９】
前記情報処理装置は、受信部と、選択部とをさらに具備してもよい。
前記受信部は、外部装置からの、前記データベースの所定のデータに関する前記サンプルデータの要求を受信する。
前記選択部は、前記要求をもとに、前記データベースから前記所定のデータを選択する。
この場合、前記算出部は、前記選択された所定のデータに関して前記頻度関数を算出してもよい。また前記生成部は、前記算出された頻度関数をもとに前記所定のデータから前記サンプルデータを生成してもよい。
このようにデータベース内の所定のデータに関するサンプルデータの要求が受信されてもよい。そして所定のデータが適宜選択されてそのデータに関するサンプルデータが適宜生成されてもよい。
【００２０】
前記受信部は、外部装置が有する外部データと、前記データベースの前記外部データに関連する関連データに関する前記サンプルデータの要求とを受信してもよい。この場合、前記算出部は、前記外部データと前記関連データとの組み合わせを前記１以上の属性値として、前記頻度関数を算出してもよい。また前記生成部は、前記算出された頻度関数をもとに、前記外部データと前記関連データとの組み合わせを１以上のサンプル属性値として含む前記サンプルデータを生成してもよい。
この情報処理装置は、外部装置から外部データと、サンプルデータの要求とを受信する。そして外部データとこれに関連する関連データとの組み合わせについてのサンプルデータが生成される。これにより、データの提供者及び利用者にとって有用なデータ提供システムが実現可能となる。
【００２１】
前記受信部、前記算出部、及び前記生成部は、マルチパーティプロトコルに基づいてそれぞれ動作可能であってもよい。
上記で説明した外部データと関連データとの組み合わせについてのサンプルデータの生成が、マルチパーティプロトコルに基づいて実行されてもよい。これにより、データの提供者及び利用者にとって有用なデータ提供システムが実現可能となる。
【００２２】
前記受信部は、完全準同型暗号により暗号化された前記外部データを受信してもよい。この場合、前記情報処理装置は、前記完全準同型暗号により前記関連データを暗号化する暗号化部をさらに具備してもよい。また前記算出部は、前記暗号化された前記外部データと前記暗号化された前記関連データとの組み合わせに関して前記頻度関数を算出してもよい。また前記生成部は、前記算出された頻度関数をもとに、前記暗号化された前記外部データと前記暗号化された前記関連データとの組み合わせに関する前記サンプルデータを生成してもよい。
このように、完全準同型暗号により外部データと関連データとがそれぞれ暗号化されてもよい。そして暗号化された外部データ及び関連データの組み合わせに関するサンプルデータが生成されてもよい。
【００２３】
前記算出部は、前記１以上の属性値の出現頻度に関する関数として、第１の頻度関数と前記第１の頻度関数と異なる第２の頻度関数とを生成することが可能であってもよい。この場合、前記受信部は、前記外部装置からの、前記第１及び前記第２の頻度関数のいずれかを選択するための指定を受信してもよい。
このように算出部が、異なる２つの頻度関数をそれぞれ生成可能であってもよい。そして外部装置からの指定をもとに、第１及び第２の頻度関数のいずれかが適宜選択されてもよい。これにより、有用なデータ提供システムが実現可能となる。
【００２４】
本技術の一形態に係る情報処理方法は、所定の属性と前記属性に関する１以上の属性値とを有するデータベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出することを含む。
前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータが生成される。
【００２５】
本技術の一形態に係るプログラムは、以下のステップをコンピュータに実行させる。
所定の属性と前記属性に関する１以上の属性値とを有するデータベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出するステップ。
前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成するステップ。
【００２６】
本技術の一形態に係る情報処理システムは、第１の情報処理装置と、第２の情報処理装置とを具備する。
前記第１の情報処理装置は、所定の属性と前記属性に関する１以上の属性値とを有するデータベースを提供可能である。
前記第２の情報処理装置は、前記第１の情報処理装置に前記データベースに関するサンプルデータの要求を送信する。
前記第１の情報処理装置は、受信部と、算出部と、生成部とを有する。
前記受信部は、前記第２の情報処理装置からの前記サンプルデータの要求を受信する。
前記算出部は、前記データベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出する。
前記生成部は、前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成する。
前記第２の情報処理装置は、送信部と、受信部とを有する。
前記送信部は、前記サンプルデータの要求を送信する。
前記受信部は、前記生成されたサンプルデータを受信する。
【００２７】
本技術の他の形態に係る情報処理装置は、送信部と、受信部とを具備する。
前記送信部は、所定の属性と前記属性に関する１以上の属性値とを有するデータベースを提供可能なデータ提供装置に、前記データベースに関するサンプルデータの要求を送信する。
前記受信部は、前記要求を受信した前記データ提供装置により前記１以上の属性値の出現頻度に関する関数である頻度関数をもとに生成された、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記出現頻度に応じた前記サンプルデータを受信する。
【発明の効果】
【００２８】
以上のように、本技術によれば、データの提供者及び利用者にとって有用なデータ提供システムが実現可能となる。
【図面の簡単な説明】
【００２９】
【図１】本技術の第１の実施形態に係るデータ提供システムの構成例を示す図である。
【図２】データ提供装置及びデータ受信装置のハードウェア構成例を示す図である。
【図３】データ提供システムの動作の概要を説明するための模式的な図である。
【図４】データ提供装置が有するデータベースの一例を示す図である。
【図５】データ提供装置のソフトウェア構成例を示す模式的な図である。
【図６】データ提供装置による擬似サンプルデータの生成を示すフローチャートである。
【図７】データベースから選択された所定のデータの例を示す図である。
【図８】属性値ごとの出現回数の割合を示す模式的な図である。
【図９】頻度分布を近似した頻度関数の例を説明するための図である。
【図１０】属性値ごとの出現回数の割合を第１の出現頻度とする頻度関数を説明するための図である。
【図１１】本技術の第２の実施形態に係る対象外属性値の設定処理を説明するための模式的な図である。
【図１２】対象外属性値の設定処理の他の例を説明するための模式的な図である。
【図１３】対象外属性値の設定処理の他の例を説明するための模式的な図である。
【図１４】本技術の第３の実施形態に係るデータ提供システムの動作の概要を説明するための模式的な図である。
【図１５】データ提供装置及びデータ受信装置がそれぞれ有するデータベースの一例を示す図である。
【図１６】データ提供装置のソフトウェア構成例を示す模式的な図である。
【図１７】データ提供装置による擬似サンプルデータの生成を示すフローチャートである。
【図１８】所定の条件に関するデータを表すテーブルを示す図である。
【図１９】本技術の第４の実施形態に係るデータ提供システムの動作の概要を説明するための模式的な図である。
【図２０】データ提供装置のソフトウェア構成例を示す模式的な図である。
【図２１】データ提供装置による擬似サンプルデータの生成を示すフローチャートである。
【図２２】本技術の第５の実施形態に係るデータ提供装置のソフトウェア構成例を示す模式的な図である。
【図２３】データ提供装置による擬似サンプルデータの生成を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【００３１】
＜第１の実施形態＞
［情報処理システムの構成］
図１は、本技術の第１の実施形態に係る情報処理システムであるデータ提供システムの構成例を示す図である。データ提供システム１００は、データ提供者が使用する第１の情報処理装置としてのデータ提供装置１０と、データ利用者が使用する第２の情報処理装置としてのデータ受信装置２０とを有する。
【００３２】
データ提供装置１０とデータ受信装置２０とは、例えばＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等のネットワーク１で接続される。データ提供装置１０及びデータ受信装置２０間でデータの送受信か可能であれば、２つの装置１０及び２０の接続形態は限定されない。
【００３３】
データ提供システム１００に、複数のデータ提供装置１０と複数のデータ受信装置２０とがそれぞれ配置されてもよい。すなわちデータ提供装置１０とデータ受信装置２０との数は限定されない。データ提供システム１００において、ネットワーク１を介して互いに接続されている他の装置は外部装置に相当する。例えば図１では、データ提供装置１０からみて、データ受信装置２０は外部装置に相当する。
【００３４】
図１に示すように、データ提供装置１０は、各種のデータを記憶する記憶部７０８を有する。この記憶部７０８には、外部装置へネットワーク１を介して提供することが可能なデータベース３０が記憶されている。データベース３０は、データ提供装置１０が有する記憶部７０８に記憶されている。
【００３５】
例えばデータ利用者はデータ提供装置１０が有するデータベース３０が所望のデータである場合にデータの提供を要求する。データ提供者はデータベース３０が所望のデータであるか否かを確認するために、データ受信装置２０を用いてデータ提供装置１０へデータベース３０に関するサンプルデータ５０の要求を送信する。
【００３６】
データ提供装置１０は、サンプルデータ５０の要求を受信すると、以下に説明するように、本技術に係るサンプルデータ５０を生成する。そしてサンプルデータ５０をデータ受信装置２０へ送信する。この本技術に係るサンプルデータ５０の生成により、データの提供者及び利用者にとって有用なデータ提供システム１００が実現される。
【００３７】
［データ提供装置のハードウェア構成］
本実施形態では、データ提供装置１０及びデータ受信装置２０として、図２に示すようなハードウェア構成を有するＰＣ（Personal Computer）７０が用いられる。しかしこれに限定されず、他の構成を有するコンピュータが適宜用いられてもよい。またデータ提供装置１０及びデータ受信装置２０が互いに等しいハードウェア構成を有する必要もない。
【００３８】
ＰＣ７０は、ＣＰＵ（Central Processing Unit）７０１、ＲＯＭ（Read Only Memory）７０２、ＲＡＭ（Random Access Memory）７０３、入出力インターフェース７０５、及び、これらを互いに接続するバス７０４を備える。
【００３９】
入出力インターフェース７０５には、表示部７０６、入力部７０７、記憶部７０８、通信部７０９、ドライブ部７１０等が接続される。
【００４０】
表示部７０６は、例えば液晶、ＥＬ（Electro-Luminescence）、ＣＲＴ（Cathode Ray Tube）等を用いた表示デバイスである。
【００４１】
入力部７０７は、例えばポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。入力部７０７がタッチパネルを含む場合、そのタッチパネルは表示部７０６と一体となり得る。
【００４２】
記憶部７０８は、不揮発性の記憶デバイスであり、例えばＨＤＤ（Hard Disk Drive）、フラッシュメモリ、その他の固体メモリである。
【００４３】
ドライブ部７１０は、例えば光学記録媒体、フロッピー（登録商標）ディスク、磁気記録テープ、フラッシュメモリ等、リムーバブルの記録媒体７１１を駆動することが可能なデバイスである。これに対し上記記憶部７０８は、主にリムーバブルでない記録媒体を駆動する、データ提供装置１０に予め搭載されたデバイスとして使用される場合が多い。
【００４４】
リムーバブルな記録媒体７１１にデータベース３０が記憶されてもよい。そしてドライブ部７１０により、データベース３０が適宜読み出されてもよい。
【００４５】
通信部７０９は、ＬＡＮ、ＷＡＮ等のネットワークに接続可能な、他のデバイスと通信するためのモデム、ルータ、その他の通信機器である。通信部７０９は、有線及び無線のどちらを利用して通信するものであってもよい。通信部７０９は、ＰＣ７０とは別体で使用される場合もある。
【００４６】
例えばこの通信部７０９により、データ受信装置２０からの種々のデータ、指示又は要求等が受信される。例えば上記したサンプルデータ５０の要求も通信部７０９により受信される。通信部７０９は、本実施形態において、データ提供装置１０の受信部として機能する。
【００４７】
また図２をデータ受信装置２０のハードウェア構成例とみた場合、通信部７０９により、データ提供装置１０への種々のデータや要求等が送信される。また通信部７０９により、データ提供装置１０からのサンプルデータ５０等が受信される。従って通信部７０９は、本実施形態において、データ受信装置２０の送信部及び受信部として機能する。
【００４８】
上記のようなハードウェア構成を有するＰＣ７０による情報処理は、記憶部７０８またはＲＯＭ７０２等に記憶されたソフトウェアと、ＰＣ７０のハードウェア資源との協働により実現される。具体的には、ＣＰＵ７０１が記憶部７０８またはＲＯＭ７０２等に記憶された、ソフトウェアを構成するプログラムをＲＡＭ７０３にロードして実行することにより実現される。プログラムは、例えば記録媒体を介してＰＣ７０にインストールされる。あるいは、グローバルネットワーク等を介してプログラムがＰＣ７０にインストールされてもよい。
【００４９】
［データ提供システムの動作］
図３は、本実施形態に係るデータ提供システム１００の動作の概要を説明するための模式的な図である。図４は、本実施形態に係るデータ提供装置１０が有するデータベース３０の一例を示す図である。
【００５０】
本実施形態のデータ提供装置１０が有するデータベース３０は、リレーショナルデータベースであり、図４に示すテーブル３１で表れされる。テーブル３１は、フィールド名が「ＩＤ番号」、「身長」、「体重」及び「既往症」である４つのフィールド（列）３２を有する。またテーブル３１は、これらのフィールドのデータがそれぞれ格納されるレコード（行）３３を有する。
【００５１】
４つのフィールドのうち「ＩＤ番号」のフィールド３２は主キーとして設定されている。従ってレコード３３は「ＩＤ番号」により識別され、レコード３３には互いに対応付けられた「身長」、「体重」及び「既往症」の各データが格納される。「ＩＤ番号」、「身長」、「体重」及び「既往症」の４つのフィールド３２には、それぞれ所定の定義域に応じたデータが格納される。「ＩＤ番号」「身長」及び「体重」のフィールド３２には整数値が格納され、「既往症」のフィールド３２には文字列が格納される。
【００５２】
データベース３０は、所定の属性と属性に関する１以上の属性値とを有する。本実施形態では、テーブル３１が有する「身長」、「体重」及び「既往症」の各フィールド３２の組み合わせが所定の属性３１ａに相当する。そしてレコード３３に格納される「身長」、「体重」及び「既往症」の各データの組み合わせが１以上の属性値３１ｂに相当する。すなわち本実施形態では、リレーショナルデータベースを表すテーブル３１の、主キーでないフィールド３２が属性に相当し、レコード３３に格納される各属性のデータが属性値３１ｂに相当する。
【００５３】
図３に示すように、データ受信装置２０から、ある条件を満たすデータのサンプルデータ５０の要求が送信される。例えばある条件として以下のものがあげられる。
条件１  テーブル３１の身長のデータ
条件２  テーブル３１の身長が１７０ｃｍ以上のＩＤの身長と体重の組み合わせデータ
条件３  テーブル３１の既往症がある人の既往症のデータ
すなわち本実施形態では、データベース３０の所定のデータ（上記の条件を満たすデータ等）に関するサンプルデータ５０の要求が、データ受信装置２０からデータ提供装置１０に送信される。
【００５４】
サンプルデータ５０の要求を受信したデータ提供装置は、本技術に係るサンプルデータ５０を生成して、データ受信装置２０に送信する。サンプルデータ５０は、データベース３０の１以上の属性値３１ｂの少なくとも一部を１以上のサンプル属性値５１として含む。図３に示すサンプルデータ（ｘ１，ｘ２，・・・ｘｎ）の各要素がサンプル属性値５１を表している。
【００５５】
［データ提供装置の動作］
本実施形態に係るデータ提供装置１０によるサンプルデータ５０の生成を詳しく説明する。図５は、データ提供装置１０のソフトウェア構成例を示す模式的な図である。図６は、データ提供装置１０によるサンプルデータ５０の生成を示すフローチャートである。
【００５６】
例えば所定のプログラムを実行するＣＰＵ７０１により、図５に示す各ソフトウェアブロックが実現される。そして各ブロックが図６のフローチャートに示すように動作することでサンプルデータ５０が生成される。なお各ブロックを実現するための専用のハードウェアが適宜用いられてもよい。
【００５７】
データ利用者によりデータ受信装置２０にサンプルデータ５０として必要なデータの条件が指定される（ステップ１０１）。指定された条件を満たすデータのサンプルデータ５０の要求が、データ受信装置２０の送信部によりデータ提供装置１０へ送信される（ステップ１０２）。なお、本技術に係るサンプルデータ５０を、擬似サンプルデータ５０と記載する場合がある。
【００５８】
図５に示すデータ提供装置１０の受信部１１により、擬似サンプルデータ５０の要求が受信される（ステップ１０３）。データ抽出部１２により、擬似サンプルデータ５０の要求をもとに、データベース３０から条件を満たすデータが抽出される。これによりデータベース３０から所定のデータが選択されて取得される（ステップ１０４）。本実施形態では、データ抽出部１２が選択部として機能する。
【００５９】
図７は、データベース３０から選択された所定のデータの例を示す図である。例えば上記した条件１の指定があった場合、データ抽出部１２は、図７（Ａ）に示す身長のデータであるテーブル３４を抽出する。このテーブルでは、「身長」が所定の属性３４ａとなり、その値のデータが１以上の属性値３４ｂとなる。
【００６０】
条件２の指定があった場合、データ抽出部１２は、図７（Ｂ）に示す身長が１７０ｃｍ以上のＩＤの身長と体重の組み合わせデータであるテーブル３５を抽出する。このテーブル３５では、「身長」及び「体重」の組み合わせが所定の属性３５ａとなり、それらの値が１以上の属性値３５ｂとなる。
【００６１】
条件３の指定があった場合、データ抽出部１２は、図７（Ｃ）に示す既往症がある人の既往症のデータであるテーブル３６を抽出する。このテーブル３６では、「既往症」が所定の属性３６ａとなり、それの文字列が１以上の属性値３６ｂとなる。
【００６２】
以下、データ抽出部１２により抽出された所定のデータを元のデータ３７と記載する場合がある。ここでは元データ３７として、図７（Ａ）に示す身長のデータのテーブル３４を例に挙げて説明を続ける。
【００６３】
頻度関数算出部１３により、元データ３７の出現頻度を表す関数である頻度関数が算出される（ステップ１０５）。ここで頻度関数とは、データベースが有する１以上の属性値の出現頻度に関する関数である。すなわち、ある属性値について当該属性値がデータベース内にてどの程度出現するかに関する関数である。本実施形態では、属性値ごとの出現頻度である第１の出現頻度を表す関数が頻度関数として算出される。従って頻度関数は、各属性値を入力し第１の出現頻度を出力する関数となる。
【００６４】
図６のステップ１０５では、テーブル３４が有する１以上の属性値３４ｂの出現頻度に関する頻度関数が算出される。従って、属性値３４ｂである身長のデータを入力し、属性値３４ｂごとの第１の出現頻度を出力する頻度関数が算出される。
【００６５】
以下、頻度関数算出部１３による頻度関数の算出について説明する。図８〜図１０は、頻度関数の算出を説明するための図である。本実施形態では、頻度関数算出部１３により、属性値３４ｂごとの、１以上の属性値３４ｂの全体数に対する出現回数の割合が算出される。
【００６６】
図８は、図７（Ａ）に示す身長のデータのテーブル３４についての、属性値３４ｂごとの出現回数の割合３８のデータを表す図である。属性値３４ｂ（身長を表す整数値）ごとに、当該属性値３４ｂのテーブル３１内に出現する回数が算出される。そして属性値３４ｂごとの出現回数を、テーブル３１内の属性値３４ｂの全体の個数で割った比率が、属性値３４ｂごとの出現回数の割合３８として算出される。
【００６７】
図８に示すように、本実施形態では、図７（Ａ）のテーブル３４内の最も小さい属性値３４ｂである１５２よりも小さい１５０から、テーブル３１内の最も大きい属性値３４ｂである１８０までの出現回数の割合３８がデータとして算出される。出現回数の割合３８が算出される属性値３４ｂの選択方法は限定されない。上記のように元データ３７に含まれない属性値３４ｂについて出現頻度の割合３８（その値は０になる）が算出されてもよい。属性値３４ｂは、頻度関数の算出に合わせて適宜選択されてよい。
【００６８】
本実施形態では、図８に示す属性値３４ｂごとの出現回数の割合３８を近似した近似値を第１の出現頻度として表す頻度関数が算出される。すなわち元データ３７における属性値の頻度分布を近似するような頻度関数が算出される。
【００６９】
図９は、頻度分布を近似した頻度関数の例を説明するための図である。図９に示すように横軸を身長、縦軸を出現頻度の割合として属性値３４ｂごとの出現頻度の割合３８がプロットされる。この属性値の頻度分布を近似するような出現関数ｆ（ｘ）が算出される。
【００７０】
そのために本実施形態では、頻度関数算出部１３により、所定のモデル関数が選択され、当該所定のモデル関数が属性値３４ｂごとの出現回数の割合３８にフィッティングされる。これにより頻度関数が算出される。モデル関数は、属性値３４ｂに対してその属性値３４ｂの第１の出現頻度を出力する頻度関数のモデルとなる関数である。モデル関数の選択方法と、出現回数の割合３８のフィッティング方法は限定されず、公知の技術も含めた種々の技術が用いられてよい。
【００７１】
例えば選択されるモデル関数としては、指数関数、線形関数、対数回数、多項式関数、又はガウス関数等がある。本実施形態では、以下のガウス関数がモデル関数として選択される。
ｇ（ｘ）＝ａ＋ｂ・ｅｘｐ（−（ｘ−ｃ）2／ｄ2））
変数ｘは身長の値で、出力ｇ（ｘ）が第１の出現頻度である。
【００７２】
フィッティング方法としては、典型的には最小二乗法が用いられるが他の方法が用いられてもよい。例えば最小二乗法により上記のガウス関数がフィッティングされた場合、各各パラメータは、ａ＝−０．０７５、ｂ＝０．１８５、ｃ＝１６５．８、ｄ＝１６．１となる。
【００７３】
本実施形態では、フィッティングされたモデル関数ｇ（ｘ）が正規化されることで頻度関数ｆ（ｘ）が算出される。具体的には、図８に示す１以上の属性値３４ｂを（ｙ１〜ｙｍ）とすると、ｋΣｇ（ｙｉ）＝１となるように、正規化パラメータｋが定められる。例えばｍ＝１５、ｙｉ＝１５２＋２（ｉ−１）とすると、ｋ＝０．９８となる。これにより擬似サンプルデータ５０を生成するための頻度関数ｆ（ｘ）として、ｋ・ｇ（ｘ）が算出される（ｆ（ｘ）＝ｋ・ｇ（ｘ））。
【００７４】
この頻度関数ｆ（ｘ）＝ｋ・ｇ（ｘ）により、属性値３４ｂごとの出現回数の割合３８を近似した近似値が第１の出現頻度として出力される。なお算出された関数が０未満を取る場合は、擬似サンプルデータ５０として用いられる属性値３４ｂ、すなわちサンプル属性値５１として選択される属性値３４ｂを、０の取らない範囲に限定してもよい。
【００７５】
図６に示すステップ１０１で上記の条件２が指定されたとする。この場合、データ抽出部１２により、図７（Ｂ）に示すテーブル３５が抽出される。この場合、「身長」及び「体重」のデータの組み合わせを属性値３５ｂとして、属性値３５ｂごとの出現回数の割合が算出される。そしてこの出現回数の割合の近似値を第１の出現頻度として出力する頻度関数が算出される。
【００７６】
この場合の基本的な頻度関数の求め方は上記で説明したのと同様である。上記では選択されるモデル関数が１変数であったが、それを２変数とする。２変数のモデル関数を選択して、そのモデル関数を属性値３５ｂごとの出現回数の割合にフィッティングすることでテーブル３５に関する頻度関数を算出することが可能である。頻度関数を算出する対象となるテーブルがより多くのフィールドを有している場合も、複数の変数のモデル関数が適宜選択されればよい。
【００７７】
図６に示すステップ１０１で上記の条件３が指定されたとする。この場合、データ抽出部１２により、図７（Ｃ）に示すテーブル３６が抽出される。この場合、「既往症」のデータを属性値３６ｂとして、図１０に示すように属性値３６ｂごとの出現回数の割合３８が算出される。
【００７８】
条件１及び２に関しては、属性値が順序のある連続した値であった。一方、条件３に関するテーブル３６では、属性値３６ｂが既往症の名称を示す文字列であり、順序のない値である。すなわちテーブル３６では、属性値３６ｂとして離散値が格納される。このような場合、図１０に示すように、属性値３６ｂを変数ｘとし、属性値ごとの出現回数の割合３８を出力する関数が頻度関数ｆ（ｘ）として算出されればよい。
【００７９】
このように、出現頻度の割合３８を第１の出現頻度として表す頻度関数が算出されてもよい。この頻度関数は、属性値が複数のフィールドからなる場合、すなわち変数複数の場合や、属性値が順序のある値である場合、あるいはこれらの組み合わせの場合でも算出可能である。
【００８０】
出現関数の生成方法の他の例を説明する。以下に示すように、最尤推定法により属性値ごとの出現回数の割合に応じた確率関数を推定することで、当該推定された確率関数が頻度関数として算出されてもよい。
【００８１】
例えば確率モデルを仮定し、最尤推定法（最尤法）を用いて母数を求めることで頻度関数が推定される。最尤推定法とは、与えられたデータからそれが従う確率分布の母数を推測するために用いられる方法で、ガウス分布、２項分布、ポアソン分布など、様々なモデルに適用可能である。
【００８２】
具体的な例を示すと、まず変数ｘが従うと考えられる確率密度関数、あるいは確率関数ｐ（ｘ；θ）を選択する。母数θを例えば属性値のデータである１以上の属性値（ｙ１〜ｙｍ）をもとに推定する。
【００８３】
確率モデルとして、正規線形モデルを考えると、各データはｙｉ＝μ＋εｉ（ｉ＝１・・ｒ）に従うと考えられる。μは固定値（例えば平均値等）、εｉはガウス分布に従う誤差、またデータ間でεｉは独立とする。この例では、母数θを推定する問題は、μとεｉの分散σ2を推定する問題となる。
【００８４】
最尤推定法による母数θの推定については、尤度関数ｐ（ｘ；θ）＝Πｐ（ｘｉ；θ）の対数尤度関数ｌｏｇ・ｐ（ｘ；θ）を最大化するθ’が最尤推定量となる。例えば上記した正規線形モデルでの最尤推定量は、μ’＝（１／ｒ）Σｘｉ、σ2＝（１／ｒ）Σ（ｘｉ−μ‘）2となる。属性値のデータが図８に示す場合では、μ’＝１６５．４、σ2＝４３．２４となる。
【００８５】
このように最尤推定法により推定された確率関数が頻度関数として算出されてもよい。なお最尤推定法による確率関数の推定方法は限定されない。選択される確率モデルも任意である。
【００８６】
擬似サンプルデータ生成部１４により、算出された頻度関数をもとに、１以上の属性値３４ｂの少なくとも一部を１以上のサンプル属性値５１として含む、データベース（元データ３７）に関する出現頻度に応じた擬似サンプルデータ５０が生成される（ステップ１０６）。
【００８７】
本実施形態では、頻度関数ｆ（ｘ）により表されるサンプル属性値５１ごとの第１の出現頻度と、擬似サンプルデータ５０におけるサンプル属性値５１ごとの出現頻度である第２の出現頻度とが対応するように、擬似サンプルデータ５０が生成される。例えば頻度関数ｆ（ｘ）に基づき、サンプル属性値ｘの擬似サンプルデータ５０内での出現確率がｆ（ｘ）の値となるようにデータを出力することで擬似サンプルデータ（ｘ１，ｘ２，・・・ｘｎ）が生成される。
【００８８】
サンプル属性値ｘｎを頻度関数ｆ（ｘｎ）に入力すると、その出力はサンプル属性値ｘｎの第１の出現頻度となる。一方、擬似サンプルデータ（ｘ１，ｘ２，・・・ｘｎ）内のｘｎの出現頻度を第２の出現頻度とする。典型的には、擬似サンプルデータ５０内のサンプル属性値５１の全体数に対する出現回数の割合が第２の出現頻度とされる。なおサンプル属性値５１ごとの出現回数の割合の近似値が第２の出現頻度とされてもよい。
【００８９】
これら第１及び第２の出現頻度が互いに対応するように擬似サンプルデータ５０が生成される。典型的には、第１及び第２の出現頻度が等しくなるように擬似サンプルデータ５０が生成される。しかしこれに限定されず、第１及び第２の出現頻度とが近似により対応付けられてもよい。元データ３７内の属性値の出現分布に対応するような出現分布でサンプル属性値５１が出力されて擬似サンプルデータ５０が生成されればよい。これにより元データの特徴を残しながら擬似サンプルデータ５０を生成可能となる。
【００９０】
なお、擬似サンプルデータ５０に含まれるサンプル属性値５１の数は限定されない。元データ３７の属性値の数や、データの漏洩防止の観点等から適宜設定されればよい。また擬似サンプルデータ５０の精度に関するデータ利用者からの要求、あるいはデータ提供サービスとしての設定等、種々の条件をもとに適宜設定されればよい。
【００９１】
生成された擬似サンプルデータ５０は、送信部１５により、データ受信装置２０に送信される（ステップ１０７）。そしてデータ受信装置２０の受信部により擬似サンプルデータ５０が受信される（ステップ１０８）。
【００９２】
以上、本実施形態に係る情報処理装置としてのデータ提供装置１０では、データベース３０（あるいは元データ３７）が有する１以上の属性値の出現頻度に関する頻度関数が算出される。この頻度関数が用いられて上記の出現頻度に応じた擬似サンプルデータ５０が生成される。この結果、データの提供者及び利用者にとって有用なデータ提供システムが実現可能となる。
【００９３】
頻度関数としては、例えば属性値ごとの出現回数の割合の近似値を第１の出現頻度として表す関数や、属性値ごとの出現回数の割合を第１の出現頻度として表す関数が算出される。これにより出現回数の割合に応じた擬似サンプルデータ５０が生成される。
【００９４】
データベースに関するサンプルデータの生成方法として、以下のような方法も考えられる。例えばデータ提供装置によりデータベース内の一定割合のデータがランダムに選択され、その選択された一部のデータがサンプルデータとして生成される方法が考えられる。この方法では、データベースのデータ量が少ない場合、サンプルデータの数も少なくなり、データ利用者による所望のデータベースであるか否かの判断が難しくなる。すなわちデータ提供者に渡すサンプルデータとしての有用性が低くなってしまう。
【００９５】
データベース内のデータにノイズを加えたデータを、サンプルデータとして生成する方法も考えられる。例えばもとのデータ（ｄ１，ｄ２，・・・ｄｎ）に対して、（ｄ１＋ε１，ｄ２＋ε２，・・・ｄｎ＋εｎ）となるデータがサンプルデータとして生成する。ε１〜εｎは、例えば平均値０の一様分布、ガウス分布に従うノイズである。
【００９６】
この方法では、順序がある値（体重や身長等）はノイズを加えても意味があるが、順序がない値（既往症や居住地等）はノイズを加えると意味がなくなってしまい。またサンプルデータとしてノイズを加えるという単純なモデルで変形されたデータしか取得できず、サンプルデータとしての有用性が低い。
【００９７】
データベース内の要素（属性値等）が、ある確率で置換されたデータをサンプルデータとして生成する方法も考えられる。例えばもとのデータ（ｄ１，ｄ２，・・・ｄｎ）に対して、（ｄ’１，ｄ’２，・・・ｄ’ｎ）が置換により生成される。置換の方法としては、データベース内の要素が（ａ１〜ａｋ）であったとすると、ａｋからａｋへ置換する、すなわち置換しない確率をρとする。そしてａｋからａｋ以外の要素へ置換する確率をそれぞれ（１−ρ）／（ｎ−１）とするような方法が考えられる。
【００９８】
この方法では、もとのデータ全体の頻度分布が変わり、データ提供者がデータベースの傾向をつかめないという問題が生じる。またサンプルデータとして要素を置換するという単純なモデルで変形されたデータしか取得できず、サンプルデータとしての有用性が低い。
【００９９】
さらに、データベースの平均や分散等の何らかの統計量が算出され、その値がデータの特性を表す特徴量として生成される。そしてこの特徴量がサンプルデータとしてユーザ利用者に送信される方法も考えられる。この方法では、ユーザ利用者は限定された特徴量しか確認することができず、サンプルデータの有用性が低い。あるいは、平均や分散等の特徴量事態が、データ利用者が求める情報である場合も考えられる。そうするとサンプルデータ自体が、ユーザが所望するデータとなり、データベースの提供サービスが成立しなくなってしまう。またデータベースの漏洩防止が図れなくなる可能性もある。
【０１００】
上記のような方法に対して、本実施形態に係る擬似サンプルデータ５０の生成方法では、出現頻度に関する頻度関数が算出される。そして第１及び第２の出現頻度が互いに対応するように擬似サンプルデータ５０が生成される。このように擬似サンプルデータ５０を生成することで、データの漏洩を防止しつつ、データに関する情報を擬似サンプルデータ５０として送信することができる。
【０１０１】
例えば一定割合のサンプルデータを生成する場合で、サンプルレートが１０％で全体のデータが１００個であるとする。この場合、データ利用者は１０個のデータから全体のデータの特性を見極める必要がある。これに対して、本実施形態では、１０倍のデータ数である１００個全体のデータをもとに頻度関数が生成される。そして頻度関数をもとに擬似サンプルデータ５０が生成される。この結果、データ全体の傾向を反映したデータを擬似サンプルデータ５０として生成可能となる。データ全体の数が多い方が頻度関数の推定等も高精度に実行できるので、本実施形態の生成方法は、元データの構造をより反映した方法だといえる。例えばサンプルレートをｐ％とすると、本実施形態に係る擬似サンプルデータ５０では、およそ１００／ｐ倍のデータに匹敵する情報をデータ利用者に提供できる。
【０１０２】
また本実施形態では、順序がない値（既往症や居住地等）のデータであっても、擬似サンプルデータ５０を提供することができる。上記のようにノイズを加える方法では、順序がない値だと意味がなくなってしまう。本実施形態では、属性値の頻度に着目したため、値の順序に関係なく、その頻度関数を算出することが可能である。そして頻度関数をもとに擬似サンプルデータ５０を生成することが可能である。
【０１０３】
元データの構造を残した擬似サンプルデータ５０を提供することができるので、データ利用者がデータの利用に関して判断できる程度の情報を与えつつ、必要以上の情報漏洩を制限することができる。例えばデータベースの要素を置換する方法では、データの確率分布が変わってしまう。一方、本実施形態では、属性値の頻度分布を近似する頻度関数として、様々な関数や近似法（フィッティングや最尤法等）を選択可能である。この結果、元データの構造に応じた関数を適宜選択することで、元データの構造を残すことができる。また関数の選択等により、近似度合いを調節できることから、必要以上の情報漏洩を制限することができる。
【０１０４】
また本実施形態では、擬似サンプルデータ５０に含まれるサンプル属性値５１の個数を制限することで、データ利用者に与える情報量を調節することができる。例えば頻度分布が多項式関数ｆ（ｘ）＝ａ０＋ａ１ｘ＋・・・＋ａｑｘnで近似されるとする。この場合、上記の他の方法で説明したように、データ特徴量として（ａ０，ａ１，・・・ａｑ）がサンプルデータとして用いられるとする。そうすると、そのデータが、データ利用者が求めるデータである場合、サンプルデータによりデータが漏洩してしまうことになる。本実施形態では、算出されたｆ（ｘ）をもとに擬似サンプルデータ（ｘ１，ｘ２，・・・ｘｎ）が生成されるので、そのような問題は発生しない。
【０１０５】
同様に、ガウス分布を最尤推定して以下のような頻度関数ｆ（ｘ）が算出されたとする。
ｆ（ｘ）＝（１／√（２π）σ）ｅｘｐ（−（ｘ−μ）2／２σ2））
この場合でも、データ特徴量として（μ，σ）がサンプルデータとして用いられるとすると情報が漏洩してしまう恐れがある。本実施形態では、ｆ（ｘ）をもとに擬似サンプルデータ（ｘ１，ｘ２，・・・ｘｎ）が生成されるので問題は生じない。
【０１０６】
本実施形態の擬似サンプルデータ（ｘ１，ｘ２，・・・ｘｎ）をもとに、データ利用者側で、データ特徴量である（ａ０，ａ１，・・・ａｑ）や（μ，σ）が算出される場合がある。この場合、高い精度でデータ特徴量を生成するためには、多くのサンプルデータが必要である。そのため、擬似サンプルデータ５０のサンプル属性値５１の数を調整することで、データ利用者に渡る情報量を調整することができる。この結果、必要以上に情報が漏洩するのを防止することができる。
【０１０７】
一方で、本実施形態に係る擬似サンプルデータ５０をもとに、データ利用者は、ある程度の精度の範囲内で、様々な統計量を得ることができる。すなわちデータの特徴量として平均や分散が送信される場合と比べて、ある程度の精度の範囲内で、全体の傾向を把握可能であったり、平均と分散以外の他の統計量を得ることができる。これを、データ利用者側で自由に行うことが可能となる。
【０１０８】
＜第２の実施形態＞
本技術に係る第２の実施形態のデータ提供システムについて説明する。これ以降の説明では、上記の実施形態で説明したデータ提供システム１００における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
【０１０９】
本実施形態では、頻度関数算出部による頻度関数の算出処理に関して、以下のような処理が行われる。本実施形態では、頻度関数算出部により、１以上の属性値のうち所定の属性値が、頻度関数算出部による前記頻度関数の算出に用いられない対象外属性値として設定される。本実施形態では、頻度関数算出部が設定部としても動作し、当該頻度関数算出部により対象外属性値が設定される。しかしながら対象外属性値を設定するためのブロックが、頻度関数算出部と別個に設けられてもよい。
【０１１０】
頻度関数算出部により、設定された対象外属性値を除いた１以上の属性値の出現頻度に関する頻度関数が算出される。擬似サンプルデータ生成部により、算出された頻度関数をもとに、対象外属性値を除いた１以上の属性値から擬似サンプルデータが生成される。
【０１１１】
図１１〜図１３は、この対象外属性値の設定処理を説明するための模式的な図である。例えば図１１（Ａ）に示すようなテーブル２３０の身長に関するデータについて、擬似サンプルデータが生成されるとする。この際、属性値（身長）ごとの出現頻度をモデル関数にフィッティングすることで頻度関数が算出されるとする。
【０１１２】
本実施形態では、頻度関数を算出する際に、頻度が所定の値よりも小さい属性値が対象外属性値４０として設定される。図１１（Ａ）のテーブル２３０には、ＩＤ２０００のレコードに身長の属性値として１９０が格納されている。図１１（Ｂ）に示すように、１９０の属性値は、予め設定された出現頻度に関する閾値よりも小さくなっている。従って身長が１９０ｃｍである属性値は、対象外属性値４０として設定される。
【０１１３】
なお、図１１（Ｂ）の縦軸に示す属性値ごとの頻度は、典型的には、第１の実施形態で説明した、属性値ごとの出現回数の割合である。すなわち属性値ごとの出現回数の割合が算出され、出現回数の割合をもとに頻度関数が生成される場合、出現回数の割合が所定の値よりも小さい属性値が対象外属性値４０として設定される。
【０１１４】
このように頻度について閾値が設定され、ある閾値未満の属性値が対象外属性値４０として設定される。図１１（Ｂ）に示すように、対象外属性値４０を除いた属性値が用いられてフィッティングが実行され、頻度関数ｆ（ｘ）が算出される。
【０１１５】
なお、一度頻度関数が算出され、その出力である第１の出現頻度が所定の値よりも小さい属性値が対象外属性値４０として設定されてもよい。そして対象外属性値４０を除いた属性値をもとに改めて頻度関数が算出されてもよい。
【０１１６】
属性値に閾値が設定されてもよい。例えば図１１に示す例において、所定の身長以上の属性値が対象外属性値４０として設定されるようなアルゴリズムも採用可能である。
【０１１７】
図７（Ｃ）に示すような順序のない離散値のデータベースの場合、図１０に示すように、属性値３６ｂごとの出現回数の割合３８を第１の出現頻度とする頻度関数ｆ（ｘ）が算出された。このような順序のない値の場合は、例えば図１２に示すように、一度頻度関数ｆ（ｘ）を求めた上で、頻度（出現回数の割合３８）が小さい属性値が対象外属性値４０として設定されてもよい。図１２に示す例では、「腎不全」の属性値が対象外属性値４０として設定されている。そして対象外属性値４０を除く属性値により改めて頻度関数ｆ（ｘ）が算出される。
【０１１８】
なお頻度関数が複数変数の関数となるような場合でも、その組み合わせにおける頻度等をもとに対象外属性値が適宜設定可能である。
【０１１９】
図１３を参照して、対象外属性値４０の設定について他の方法を説明する。この方法も、モデル関数をフィッティングして頻度関数を算出する場合や、最尤推定法を用いて頻度関数を推定する場合等で用いられる。
【０１２０】
図１３に示す例ではフィッティングにより頻度関数ｆ（ｘ）が算出されているが、一度算出されたｆ（ｘ）により表される第１の出現頻度（図１３のグラフ）と、当該属性値ｘの頻度との差が所定の値よりも大きい属性値が対象外属性値４０として設定される。
【０１２１】
属性値ごとの出現回数の割合をもとに頻度関数が算出される場合、出現回数の割合と、頻度関数により表される第１の出現頻度との差が、所定よりも大きい属性値が対象外属性値４０として設定される。適宜閾値が設定されることで当該設定処理が実行されてもよい。
【０１２２】
図１３に示すように、対象外属性値４０を除いた１以上の属性値の出現頻度に関する頻度関数が改めて算出される。そして擬似サンプルデータ生成部により、改めて算出された頻度関数をもとに、対象外属性値４０を除いた１以上の属性値から擬似サンプルデータが生成される。
【０１２３】
このように一度生成された頻度関数により表される第１の出現頻度と、出現回数の割合等の属性値ごとの頻度との差が算出されてもよい。そして当該差が所定の値よりも大きい属性値が対象外属性値４０として設定されてもよい。
【０１２４】
以上、本実施形態に係る情報処理装置としてのデータ提供装置では、頻度関数の算出に用いられない対象外属性値４０が設定される。例えば擬似サンプルデータに含めたくないような特徴的な属性値が対象外属性値４０として設定される。これにより有用なサンプルデータを生成することができる。例えば出現回数の割合が小さい属性値や、出現回数の割合と第１の出現頻度との差が大きい属性値が、特徴的な属性値として対象外属性値４０に設定される。
【０１２５】
例えば身長が非常に高い人のデータや、珍しい既往症を有する人のデータは、重要な意味を持つ貴重なデータとなることが多い。このようなデータがサンプルデータとして漏洩してしまうと、例えばその個人が特定されてしまうような事態が発生してしまう可能性がある。本実施形態では、属性値ごとの頻度等を用いて、そのような全体の傾向から離れた特異な値を外すように、対象外属性値４０の設定が行われる。そして対象外属性値４０を除いて頻度関数の算出及び擬似サンプルデータの生成が行われる。その結果、重要な意味を持つ貴重な情報の漏洩が防止できる．
【０１２６】
一定割合でサンプルデータが生成される場合、例えば図１１（Ａ）に示す特徴的な属性値（外れ値と記載する）(ＩＤ＝２０００の身長) がデータ利用者に送付されることがあった。サンプルレートがｐ％のとき、確率ｐ／１００で外れ値がサンプルデータとして選択されてしまう。またデータにノイズを加えてサンプルデータが生成さえる場合、１９０＋εのデータがサンプルデータとして生成される。データの利用価値を高めるためにはεが小さいことが望まれるため、結局特徴的な情報として漏洩してしまう可能性がある。
【０１２７】
また１９０ｃｍ以上の人物が特定される可能性がある場合に、他のデータと組み合わせることで機微データ（既往症等）が漏洩する可能性もあった。本実施形態では、出現頻度が低いことや、一度算出した頻度関数と元データの乖離とが大きいこと等を利用することで、データの漏洩を防止することができる。
【０１２８】
＜第３の実施形態＞
本技術に係る第３の実施形態のデータ提供システムについて説明する。図１４は、本実施形態に係るデータ提供システム３００の動作の概要を説明するための模式的な図である。図１５は、本実施形態に係るデータ提供装置３１０及びデータ受信装置３２０がそれぞれ有するデータベースの一例を示す図である。
【０１２９】
本実施形態では、外部装置としてのデータ受信装置３２０の記憶部に、外部データとしてのデータベースが記憶されている。またデータ提供装置３１０の記憶部には、外部データと関連するデータベースが記憶されている。この外部データに関連するデータベースは、関連データに相当する。このような状況において、データ利用者はデータ受信装置３２０を操作して、データ提供装置３１０へ、外部データと、関連データに関する擬似サンプルデータの要求とを送信する。
【０１３０】
本実施形態では、図１５（Ａ）に示すような、テーブル３３０で表されるデータベースが外部データとして記憶されている。また図１５（Ｂ）に示すようなテーブル３３５で表されるようなデータベースが関連データとして記憶されている。
【０１３１】
図１５（Ａ）のテーブル３３０は、「ＩＤ番号」及び「身長」のフィールド３３２からなる。図１５（Ｂ）のテーブル３３５は、「ＩＤ番号」及び「体重」３３２のフィールドからなる。同じ「ＩＤ番号」には、同じ人物のデータが格納されている。
【０１３２】
図１４に示すように本実施形態では、外部データとしてテーブル３３０の全体あるいは所定の一部のデータがデータ提供装置３１０に送信される。また関連データに関する擬似サンプルデータの要求として、同じＩＤ番号に対応した（身長、体重）の組み合わせのデータに関する擬似サンプルデータの要求が送信される。
【０１３３】
データ提供装置３１０の受信部により、外部データと、擬似サンプルデータの要求とが受信される。頻度関数算出部により、外部データと関連データとの組み合わせ、すなわち同じＩＤ番号に対応した（身長、体重）の組み合わせを１以上の属性値として、上記の実施形態で説明したように頻度関数が生成される。
【０１３４】
擬似サンプルデータ生成部により、算出された頻度関数をもとに、外部データと関連データとを組み合わせた（身長、体重）の組を1以上のサンプル属性値として含む擬似サンプルデータ３５０が生成される。生成された擬似サンプルデータ３５０はデータ受信装置３２０へ送信される。図１４に示す擬似サンプルデータ（（ｘ１，ｙ１），（ｘ２，ｙ２），・・・（ｘｎ，ｙｎ））の各要素は、サンプル属性値３５１を表す。
【０１３５】
また本実施形態では、上記の処理がマルチパーティ計算（multi-party computation：ＭＰＣ））により実行される。従ってデータ提供装置３１０の受信部、頻度関数算出部、及び擬似サンプルデータ生成部を含む種々のブロックはマルチパーティプロトコルに基づいてそれぞれ動作可能である。ＭＰＣとは，互いのデータを秘匿しながら、共同で計算を実行するプロトコルである。本実施形態では、身長及び体重のデータが互いに秘匿された状態で、頻度関数の算出及び擬似サンプルデータの生成が実行される。
【０１３６】
データ提供装置３１０による擬似サンプルデータ３５０の生成を詳しく説明する。図１６は、データ提供装置３１０のソフトウェア構成例を示す模式的な図である。図１７は、データ提供装置３１０による擬似サンプルデータ３５０の生成を示すフローチャートである。
【０１３７】
データ利用者によりデータ受信装置３２０に擬似サンプルデータ３５０として必要なデータの条件が指定される。また擬似サンプルデータ３５０を所望するＩＤ番号が指定される（ステップ３０１）。これらの指定に基づいた擬似サンプルデータ３５０の要求がデータ受信装置３２０の送信部によりデータ提供装置３１０へ送信される（ステップ３０２）。
【０１３８】
ステップ３０１での、条件及びＩＤの指定としては、例えば以下のものがあげられる。
条件４  テーブル３３０及び３３５の身長及び体重の組み合わせのデータ
条件５  テーブル３３０の身長が１７０ｃｍ以上のＩＤの身長及び体重の組み合わせのデータ
【０１３９】
図１８は、条件４及び５の各データを表すテーブルを示す図である。図１８（Ａ）のテーブル３３１は、条件４の身長及び体重の組み合わせのデータを表している。図１８（Ｂ）のテーブル３３６は、条件５の身長が１７０ｃｍ以上のＩＤの身長及び体重の組み合わせのデータを表している。
【０１４０】
データ提供装置３１０の受信部３１１により、擬似サンプルデータ３５０の要求が受信される（ステップ３０３）。データ提供装置３１０は、擬似サンプルデータ３５０を作成するための、暗号化された外部データの要求をデータ受信装置３２０へ送信する（ステップ３０４）。
【０１４１】
例えば条件４が指定された場合、暗号化されたテーブル３３０の身長のデータ（テーブル３３６の身長のデータ）が要求される。条件５が指定された場合、暗号化されたテーブル３３５の１７０ｃｍ以上の身長のデータ（テーブル３３６の身長のデータ）が要求される。外部データの要求は、例えば図示しない外部データ要求部により生成され、送信部３１５により送信される。
【０１４２】
データ受信装置３２０の受信部により、暗号化された外部データの要求が受信される（ステップ３０５）。データ受信装置３２０の選択部により、テーブル３３０のデータベースから、関係する属性と対象とする全ＩＤに関するデータ（属性値）が取得される（ステップ３０６）。例えば条件４であれば身長のデータが選択され、条件５であれば、１７０ｃｍ以上の身長のデータが選択される。
【０１４３】
データ受信装置３２０の暗号化部により、取得された外部データが暗号化される。本実施形態では、完全準同型暗号により外部データが暗号化される。本実施形態では、暗号化部は鍵記憶部を有し、当該鍵記憶部には公開鍵と秘密鍵が記憶されている。この公開鍵が用いられて、外部データの暗号化が実行される（ステップ３０７）。
【０１４４】
完全準同型暗号は、暗号化したまま和や積の演算が可能であり、論理可能なアルゴリズムであれば、入力値を秘匿したままアルゴリズムの出力結果を得ることができる。例えば以下の式が成り立つ。
Ｅｎｃ（ｐｋ，ｐ１）＋Ｅｎｃ（ｐｋ，ｐ２）＝Ｅｎｃ（ｐｋ，ｐ１＋ｐ２）
Ｅｎｃ（ｐｋ，ｐ１）×Ｅｎｃ（ｐｋ，ｐ２）＝Ｅｎｃ（ｐｋ，ｐ１×ｐ２）
ｐ１，ｐ２：平文、ｐｋ：データ提供者の公開鍵
【０１４５】
本実施形態では、入力値ｐ１及びｐ２は、外部データ及び関連データとなる。そしてアルゴリズムは、組み合わせたデータに対する頻度関数の算出と、頻度関数をもとにした擬似サンプルデータの生成となる。すなわち出力結果は、擬似サンプルデータとなる。
【０１４６】
データ受信装置３２０の送信部により、暗号化された外部データがデータ提供装置３１０へ送信される（ステップ３０８）。データ提供装置３１０の受信部３１１により、暗号化された外部データが受信される（ステップ３０９）。
【０１４７】
データ抽出部３１２により、テーブル３３５のデータベースから、関係する属性に関する関連データ（元データ）が取得される（ステップ３１０）。例えば条件４の場合では、図１８（Ａ）に示すテーブル３３１の体重のデータが選択される。条件５の場合では、図１８（Ｂ）に示すテーブル３３６の体重のデータが選択される。
【０１４８】
暗号化部３１６により、選択された関連データが暗号化される。外部データの暗号化と同様に、完全準同型暗号により関連データが暗号化される。暗号化は、データ受信装置３２０の公開鍵が用いられて実行される（ステップ３１１）。公開鍵は、暗号化された外部データとともにデータ提供装置３１０に送信されてもよい。あるいは別の方法で、データ提供装置３１０の記憶部等に記憶されてもよい。
【０１４９】
データ受信装置３２０及びデータ提供装置３１０によるデータの暗号化の方法や、暗号化のための構成及びアルゴリズム等は限定されない。
【０１５０】
頻度関数算出部３１３により、暗号化された外部データと暗号化された関連データとの組み合わせに関する頻度関数ｆ（ｘ，ｙ）が算出される（ステップ３１２）。すなわちＩＤをもとに組み合わされた、暗号化された（身長、体重）の組み合わせデータを属性値として、上記の実施形態で説明した方法により頻度関数が算出される。
【０１５１】
擬似サンプルデータ生成部３１４により、算出された頻度関数ｆ（ｘ，ｙ）をもとに、暗号化された外部データと暗号化された関連データとの組み合わせに関する擬似サンプルデータ（（ｘ１，ｙ１），（ｘ２，ｙ２），・・・（ｘｎ，ｙｎ））が生成される（ステップ３１３）。擬似サンプルデータ３５０は、暗号化された（身長、体重）の組み合わせデータをサンプル属性値３５１として含むデータである。
【０１５２】
上記の実施形態で説明したように、頻度関数ｆ（ｘ，ｙ）により表される第１の出現頻度と、擬似サンプルデータ３５０における第２の出現頻度が対応するように、擬似サンプルデータ（（ｘ１，ｙ１），（ｘ２，ｙ２），・・・（ｘｎ，ｙｎ））が生成される。
【０１５３】
送信部３１５により、生成された擬似サンプルデータ（（ｘ１，ｙ１），（ｘ２，ｙ２），・・・（ｘｎ，ｙｎ））がデータ受信装置３２０へ送信される（ステップ３１４）。データ受信装置３２０により、擬似サンプルデータ（（ｘ１，ｙ１），（ｘ２，ｙ２），・・・（ｘｎ，ｙｎ））が受信される（ステップ３１５）。
【０１５４】
データ受信装置３２０の復号部により、暗号化されたデータである擬似サンプルデータ３５０が復号される。本実施形態では、データ受信装置３２０の鍵記憶部に記憶された秘密鍵が用いられることで、暗号化された（身長、体重）の組み合わせデータが復号される（ステップ３１６）。
【０１５５】
以上、本実施形態に係るデータ提供システム３００では、データ受信装置３２０から外部データと、擬似サンプルデータ３５０の要求とが送信される。外部データ及び擬似サンプルデータ３５０の要求は、同じタイミングで送信されてもよいし、異なるタイミングで送信されてもよい。そして外部データとこれに関連する関連データとの組み合わせについての擬似サンプルデータ３５０が生成される。これにより、例えば関連するデータ同士の相関関係について擬似サンプルデータ３５０を生成することができる。例えば複数のデータ提供者間での、それぞれが保持するデータ同士の相関関係を見ることも可能となる。これにより、データの提供者及び利用者にとって有用なデータ提供システム３００が実現可能となる。
【０１５６】
本実施形態では、マルチパーティ計算により外部データと関連データとの組み合わせに関する擬似サンプルデータ３５０が生成される。すなわち暗号化された組み合わせデータを属性値として、フィッティングや最尤推定法により頻度関数が算出される。そして頻度関数をもとに擬似サンプルデータ３５０が生成される。これにより、互いにデータを秘匿化したまま擬似サンプルデータ３５０の生成、提供、及び受信が実行可能となる。この結果、有用なデータ提供システム３００が実現可能となる。
【０１５７】
なお、データ提供装置３１０及びデータ受信装置３２０とは異なる装置に、外部データ及び関連データが送信され、当該装置にてマルチパーティ計算により擬似サンプルデータ３５０が生成されてもよい。
【０１５８】
＜第４の実施形態＞
本技術に係る第４の実施形態のデータ提供システムについて説明する。図１９は、本実施形態に係るデータ提供システム４００の動作の概要を説明するための模式的な図である。
【０１５９】
本実施形態では、データ提供装置４１０が、１以上の属性値の出現頻度に関する関数として、第１の頻度関数と、この第１の頻度関数と異なる第２の頻度関数とを生成することが可能である。すなわち頻度関数として、少なくとも２つの異なる関数を生成可能である。
【０１６０】
データ受信装置４２０からは、第１及び第２の頻度関数のいずれかを選択するための指定が送信される。当該指定はデータ提供装置４１０の受信部により受信される。これによりデータ提供者が頻度関数を選択することが可能となり、擬似サンプルデータの生成方法を指定することが可能となる。頻度関数の選択の指示が受信されるタイミングは任意でよい。
【０１６１】
上記の実施形態で説明したように、頻度関数の算出方法及び擬似サンプルデータの生成方法として、以下に示すような様々な選択肢が考えられる。
【０１６２】
例えば頻度関数の生成方法の種類（モデル関数をフィッティングする方法、又は最尤推定法を用いて確率関数を推定する方法等）
フィッティングに用いられるモデル関数の種類（指数関数、線形関数、対数回数、多項式関数、又はガウス関数等）
最尤推定法に用いられる確率モデルの種類（ガウス分布、２項分布、ポアソン分布等）
対象外属性値（外れ値）の設定の有無
対象外属性値の設定方法の内容（対象外属性値を設定するための閾値の大きさ等）
頻度関数の算出に用いられる属性値の個数
擬似サンプルデータに含まれるサンプル属性値の数
アルゴリズムの収束条件（例えば最小二乗法における繰り返し回数等）
【０１６３】
その他、頻度関数を算出する方法として種々の例があり、そのなかから少なくとも２つの頻度関数が生成され、第１及び第２の頻度関数として算出される。２つ以上の頻度関数が生成可能であってもよい。また擬似サンプルデータ生成部が、頻度関数をもとにした擬似サンプルデータの生成方法に関して、複数の生成方法を実行可能であってもよい。そしてデータ利用者からの生成方法の指示をもとに、適宜擬似サンプルデータが生成されてもよい。
【０１６４】
図１９に示すように、データ受信装置４２０から、ある条件を満たすデータのサンプルデータの要求、及び頻度関数の指定が送信される。ここでは、ある条件を満たし、正規分布を最尤推定した頻度関数から生成した擬似サンプルデータの要求が送信されている。データ提供装置４１０からは、指示された頻度関数をもとに生成された擬似サンプルデータ４５０がデータ受信装置４２０へ送信される。図１９に示す擬似サンプルデータ（ｘ１，ｘ２，・・・ｘｎ）の各要素は、サンプル属性値４５１を表す。
【０１６５】
図２０は、データ提供装置４１０のソフトウェア構成例を示す模式的な図である。図２１は、データ提供装置４１０による擬似サンプルデータ４５０の生成を示すフローチャートである。
【０１６６】
擬似サンプルデータ４５０として必要なデータの条件が指定され、擬似サンプルデータ４５０の要求送信される（ステップ４０１、４０２）。受信部４１１により、擬似サンプルデータ４５０の要求が受信される（ステップ４０３）。
【０１６７】
データ提供装置４１０が実行可能な擬似サンプルデータの生成方法を提示するための情報がデータ受信装置４２０に送信される（ステップ４０４）。実行可能な擬似サンプルデータの生成方法に関する情報は、図２０に示すサンプルオプション保存部４１７に保存されている。データ受信装置４２０に提示される情報は、第１及び第２の頻度関数に関する情報を含む。
【０１６８】
提示された情報をもとに、データ受信装置４２０により擬似サンプルデータ４５０の生成方法が選択され、その生成方法の指示がデータ提供装置４１０へ送信される（ステップ４０５、４０６）。この指示は、第１及び第２の出現関数のいずれかを選択するための指定を含む。
【０１６９】
受信部４１１により、擬似サンプルデータ４５０の生成方法の指示が受信される（ステップ４０７）。データ抽出部４１２により、データベース４３０から元データが選択される（ステップ４０８）。頻度関数算出部４１３により、データ利用者が指定した擬似サンプルデータの生成方法で頻度関数が算出される。すなわちデータ受信装置４２０からの指示をもとに、第１及び第２の頻度関数のいずれか一方が算出される（ステップ４０９）。
【０１７０】
擬似サンプルデータ生成部４１４により、算出された頻度関数をもとに擬似サンプルデータ４５０が生成され、送信部４１５により擬似サンプルデータ４５０がデータ受信装置４２０へ送信される（ステップ４１０、４１１）。データ受信装置４２０により、擬似サンプルデータ４５０が受信される（ステップ４１２）。
【０１７１】
以上、本実施形態に係るデータ提供システム４００では、データ提供装置４１０が異なる２つの頻度関数をそれぞれ生成可能である。そして外部装置からの指定をもとに、第１及び第２の頻度関数のいずれかが適宜選択される。これにより、有用なデータ提供システム４００が実現可能となる。
【０１７２】
本実施形態では、データ提供側が複数の頻度関数を生成可能であり、複数の擬似サンプルデータの生成方法を用いることが可能である。これによりデータ提供者は、複数の生成方法から生成方法を適宜選択して、所望の擬似サンプルデータ４５０を取得することができる。
【０１７３】
例えば頻度関数の生成方法や、それに用いられる属性値の数等により、擬似サンプルデータ４５０の統計的な精度が変わる。従ってデータ利用者は、異なる生成方法を適宜用いることで、データ利用者側に渡す擬似サンプルデータ４５０の精度を制御することが可能となる。これによりデータ提供者による精度に応じた価格設定が可能となり、サービスの多様性を生むことが可能となる。一方、データ利用者も、例えば最終的に解析したい目的に応じた擬似サンプルデータ４５０を取得することが可能となる。すなわち所望する擬似サンプルデータ４５０に関して選択の余地が広がる。この結果、データの提供者及び利用者にとって有用なデータ提供システム４００が実現される。
【０１７４】
本実施形態では、擬似サンプルデータ４５０の要求に応じて、データ提供装置４１０により実行可能な擬似サンプルデータの生成方法が提示された。これに限定されず、予め実行可能な擬似サンプルデータ４５０の生成方法が外部装置に提示されてもよい。
【０１７５】
＜第５の実施形態＞
本技術に係る第５の実施形態のデータ提供システムについて説明する。図２２は、データ提供装置５１０のソフトウェア構成例を示す模式的な図である。図２３は、データ提供装置５１０による擬似サンプルデータの生成を示すフローチャートである。
【０１７６】
本実施形態では、上記で説明したマルチパーティ計算をもとに、データ受信装置５２０の外部データと、データ提供装置５１０の関連データとの組み合わせについての擬似サンプルデータが生成される。また本実施形態では、上記で説明したように、データ提供装置５１０が複数の頻度関数を生成可能であり、複数の擬似サンプルデータの生成方法を用いることが可能である。
【０１７７】
本実施形態では、擬似サンプルデータの要求に応じて、サンプルオプション保存部５１７に保存されている、実行可能な擬似サンプルデータの生成方法に関する情報が、データ受信装置５２０へ送信される（ステップ５０１〜５０４）。データ受信装置５２０により、擬似サンプルデータの生成方法が指定され、その指定がデータ提供装置へ送信される（ステップ５０５、５０６）。
【０１７８】
擬似サンプルデータの生成方法の指示に応じて、暗号化した外部データの要求がデータ提供装置５１０からデータ受信装置５２０へ送信される（ステップ５０７、５０８）。データ受信装置５２０により、外部データが暗号化され、暗号化された外部データがデータ提供装置５１０へ送信される（ステップ５０９〜５１２）。
【０１７９】
データ提供装置５１０は、外部データに関連する関連データを選択して、暗号化する（ステップ５１３〜５１５）。そしてユーザ利用者から指定された擬似サンプルデータの生成方法をもとに頻度関数を算出し、当該頻度関数をもとに暗号化された外部データと関連データとの組み合わせに関する擬似サンプルデータを生成する（ステップ５１６、５１７）。生成された擬似サンプルデータはデータ受信装置５２０へ送信され、データ受信装置５２０により復号される（ステップ５１８〜５２０）。
【０１８０】
本実施形態のように、外部データと相関データとの組み合わせに関する擬似サンプルデータの生成において、当該擬似サンプルデータの生成方法をデータ利用者が選択可能であってもよい。この結果、データの提供者及び利用者にとって有用なデータ提供システムが実現される。
【０１８１】
＜変形例＞
本技術に係る実施形態は、上記で説明した実施形態に限定されず種々変形される。
例えば図８に示すような、属性値ごとの出現回数の割合の算出において、属性値の粒度が適宜調整されてもよい。すなわち属性値ごとの出現回数の割合がそれぞれ少ない場合等において、複数の属性値がまとめられて出現回数の割合が算出されてもよい。例えば図８において、複数の身長データがまとめられて、１５０−１５４の出現回数の割合といった算出が行われてもよい。まとめられて算出された値が、複数の属性値のそれぞれの出現回数の割合となる。
【０１８２】
上記の実施形態において例示したデータベースに限定されず、種々のデータベースの提供に本技術は適用可能である。例えば天気情報、交通情報、医療情報等に関するデータベースの提供に、本技術に係るデータ提供システムが用いられてもよい。またリレーショナルデータベースではなく、オブジェクトデータベースに関して本技術が適用されてもよい。
【０１８３】
上記で説明したマルチパーティ計算による擬似サンプルデータの生成において、用いられるマルチパーティプロトコルは限定されず、任意のプロトコルが用いられてよい。
【０１８４】
以上説明した各形態の特徴部分のうち、少なくとも２つの特徴部分を組み合わせることも可能である。
【０１８５】
なお、本技術は以下のような構成も採ることができる。
（１）所定の属性と前記属性に関する１以上の属性値とを有するデータベースの、前記１以上の属性値の出現頻度に関する関数である頻度関数を算出する算出部と、
前記算出された頻度関数をもとに、前記１以上の属性値の少なくとも一部を１以上のサンプル属性値として含む、前記データベースに関する前記出現頻度に応じたサンプルデータを生成する生成部と
を具備する情報処理装置。
（２）（１）に記載の情報処理装置であって、
前記頻度関数は、前記属性値ごとの出現頻度である第１の出現頻度を表す
情報処理装置。
（３）（２）に記載の情報処理装置であって、
前記生成部は、前記頻度関数により表される前記サンプル属性値ごとの第１の出現頻度と、前記サンプルデータにおける前記サンプル属性値ごとの出現頻度である第２の出現頻度とが対応するように、前記サンプルデータを生成する
情報処理装置。
（４）（２）又は（３）に記載の情報処理装置であって、
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合を近似した近似値を前記第１の出現頻度として表す前記頻度関数を算出する
情報処理装置。
（５）（４）に記載の情報処理装置であって、
前記算出部は、所定のモデル関数を選択し、前記所定のモデル関数を前記属性値ごとの前記出現回数の割合にフィッティングすることで前記頻度関数を算出する
情報処理装置。
（６）（４）又は（５）の情報処理装置であって、
前記算出部は、最尤推定法により前記属性値ごとの前記出現回数の割合に応じた確率関数を推定することで、当該推定された確率関数を前記頻度関数として算出する
情報処理装置。
（７）（２）から（６）のうちいずれか１つに記載の情報処理装置であって、
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合を前記第１の出現頻度として表す前記頻度関数を生成する
情報処理装置。
（８）（１）から（７）のうちいずれか１つに記載の情報処理装置であって、
前記１以上の属性値のうち所定の属性値を、前記算出部による前記頻度関数の算出に用いられない対象外属性値として設定する設定部をさらに具備し、
前記算出部は、前記設定された前記対象外属性値を除いた前記１以上の属性値の出現頻度に関する前記頻度関数を算出し、
前記生成部は、前記算出された頻度関数をもとに、前記対象外属性値を除いた前記１以上の属性値から前記サンプルデータを生成する
情報処理装置。
（９）（８）に記載の情報処理装置であって、
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合をもとに前記頻度関数を生成し、
前記設定部は、前記属性値ごとの前記出現回数の割合をもとに、当該出現回数の割合が所定よりも小さい属性値を前記対象外属性値として設定する
情報処理装置。
（１０）（８）に記載の情報処理装置であって、
前記算出部は、前記属性値ごとの前記１以上の属性値の全体数に対する出現回数の割合を算出し、前記出現回数の割合をもとに前記頻度関数を生成し、
前記設定部は、前記属性値ごとの前記出現回数の割合をもとに、当該出現回数の割合と前記頻度関数により表される前記第１の出現頻度との差が、所定よりも大きい属性値を前記対象外属性値として設定し、
前記算出部は、前記設定された前記対象外属性値を除いた前記１以上の属性値の出現頻度に関する前記頻度関数を改めて算出し、
前記生成部は、前記改めて算出された頻度関数をもとに、前記対象外属性値を除いた前記１以上の属性値から前記サンプルデータを生成する
情報処理装置。
（１１）（１）から（１０）のうちいずれか１つに記載の情報処理装置であって、
外部装置からの、前記データベースの所定のデータに関する前記サンプルデータの要求を受信する受信部と、
前記要求をもとに、前記データベースから前記所定のデータを選択する選択部と
をさらに具備し、
前記算出部は、前記選択された所定のデータに関して前記頻度関数を算出し、
前記生成部は、前記算出された頻度関数をもとに前記所定のデータから前記サンプルデータを生成する
情報処理装置。
（１２）（１１）に記載の情報処理装置であって、
前記受信部は、外部装置が有する外部データと、前記データベースの前記外部データに関連する関連データに関する前記サンプルデータの要求とを受信し、
前記算出部は、前記外部データと前記関連データとの組み合わせを前記１以上の属性値として、前記頻度関数を算出し、
前記生成部は、前記算出された頻度関数をもとに、前記外部データと前記関連データとの組み合わせを１以上のサンプル属性値として含む前記サンプルデータを生成する
情報処理装置。
（１３）（１２）に記載の情報処理装置であって、
前記受信部、前記算出部、及び前記生成部は、マルチパーティプロトコルに基づいてそれぞれ動作可能である
情報処理装置。
（１４）（１３）に記載の情報処理装置であって、
前記受信部は、完全準同型暗号により暗号化された前記外部データを受信し、
前記情報処理装置は、前記完全準同型暗号により前記関連データを暗号化する暗号化部をさらに具備し、
前記算出部は、前記暗号化された前記外部データと前記暗号化された前記関連データとの組み合わせに関して前記頻度関数を算出し、
前記生成部は、前記算出された頻度関数をもとに、前記暗号化された前記外部データと前記暗号化された前記関連データとの組み合わせに関する前記サンプルデータを生成する
情報処理装置。
（１５）（１１）から（１４）のうちいずれか１つに記載の情報処理装置であって、
前記算出部は、前記１以上の属性値の出現頻度に関する関数として、第１の頻度関数と前記第１の頻度関数と異なる第２の頻度関数とを生成することが可能であり、
前記受信部は、前記外部装置からの、前記第１及び前記第２の頻度関数のいずれかを選択するための指定を受信する
情報処理装置。
【符号の説明】
【０１８６】
１０、３１０、４１０、５１０…データ提供装置
１１、３１１、４１１…受信部
１２、３１２、４１２…データ抽出部
１３、３１３、４１３…頻度関数算出部
１４、３１４、４１４…擬似サンプルデータ生成部
１５、３１５、４１５…送信部
２０、３２０、４２０、５２０…データ受信装置
３０、４３０…データベース
３１、３４、３５、３６、２３０…テーブル
３１ａ、３４ａ、３５ａ、３６ａ…属性
３１ｂ、３４ｂ、３５ｂ、３６ｂ…属性値
３７…元データ
３８…属性値ごとの出現回数の割合
４０…対象外属性値
５０、３５０、４５０…擬似サンプルデータ
５１、３５１、４５１…サンプル属性値
１００、３００、４００…データ提供システム
３１６…暗号化部
３３０…外部データのテーブル
３３５…関連データのテーブル
４１７、５１７…サンプルオプション保存部
【図１】
2014013479.tif 000003
【図２】
2014013479.tif 000004
【図３】
2014013479.tif 000005
【図４】
2014013479.tif 000006
【図５】
2014013479.tif 000007
【図６】
2014013479.tif 000008
【図７】
2014013479.tif 000009
【図８】
2014013479.tif 000010
【図９】
2014013479.tif 000011
【図１０】
2014013479.tif 000012
【図１１】
2014013479.tif 000013
【図１２】
2014013479.tif 000014
【図１３】
2014013479.tif 000015
【図１４】
2014013479.tif 000016
【図１５】
2014013479.tif 000017
【図１６】
2014013479.tif 000018
【図１７】
2014013479.tif 000019
【図１８】
2014013479.tif 000020
【図１９】
2014013479.tif 000021
【図２０】
2014013479.tif 000022
【図２１】
2014013479.tif 000023
【図２２】
2014013479.tif 000024
【図２３】
2014013479.tif 000025