JP2021163014A - Generation method, generation program, and generation device - Google Patents
Generation method, generation program, and generation device Download PDFInfo
- Publication number
- JP2021163014A JP2021163014A JP2020062248A JP2020062248A JP2021163014A JP 2021163014 A JP2021163014 A JP 2021163014A JP 2020062248 A JP2020062248 A JP 2020062248A JP 2020062248 A JP2020062248 A JP 2020062248A JP 2021163014 A JP2021163014 A JP 2021163014A
- Authority
- JP
- Japan
- Prior art keywords
- personal data
- data
- generation device
- anonymous
- personal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、生成方法、生成プログラム、および生成装置に関する。 The present invention relates to a generation method, a generation program, and a generation device.
従来、プライバシーを保護するため、個人データ(PII: Personally Identifiable Information)を匿名化して出力する匿名化手法が存在する。例えば、個人データを加工して匿名データを生成した後、生成した匿名データに対し、プライバシーテストを実施し、元となる個人データに関して匿名性が確保されていると判断した場合にのみ、生成した匿名データを出力する匿名化手法が存在する。 Conventionally, in order to protect privacy, there is an anonymization method for anonymizing and outputting personal data (PII: Personally Identity Information). For example, after processing personal data to generate anonymous data, the generated anonymous data is subjected to a privacy test, and it is generated only when it is determined that anonymity is ensured for the original personal data. There is an anonymization method that outputs anonymous data.
先行技術としては、例えば、第1のデータ群に含まれるデータについて、所定の関係を有するデータの数がN個以上である場合に、所定の関係を有する複数のデータを出力するものがある。 As the prior art, for example, with respect to the data included in the first data group, when the number of data having a predetermined relationship is N or more, a plurality of data having a predetermined relationship may be output.
しかしながら、従来技術では、出力される匿名データの有用性が損なわれることがある。例えば、プライバシーテストを実施すると、複数の個人データのうち一部の個人データに基づいて生成した匿名データしか出力されないことがある。結果として、出力される複数の匿名データが、統計処理において好ましくないデータになってしまうことがある。具体的には、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとが、類似しなくなってしまうことがある。 However, in the prior art, the usefulness of the output anonymous data may be impaired. For example, when a privacy test is performed, only anonymous data generated based on some personal data among a plurality of personal data may be output. As a result, a plurality of output anonymous data may become unfavorable data in statistical processing. Specifically, the histogram showing the feature distribution of a plurality of personal data and the histogram showing the feature distribution of a plurality of output anonymous data may not be similar.
1つの側面では、本発明は、有用な匿名データを得ることを目的とする。 In one aspect, the invention aims to obtain useful anonymous data.
1つの実施態様によれば、情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する生成方法、生成プログラム、および生成装置が提案される。 According to one embodiment, the degree of anonymity among the plurality of personal data is determined based on the result of anonymizing the personal data contained in the plurality of personal data by the first anonymization model for anonymizing the information. One or more personal data that do not meet a predetermined criterion are specified, and based on the specified one or more personal data, a second anonymization model for anonymizing information is learned, and the specified one or more personal data is specified. Based on the above, one or more anonymous data having a higher degree of anonymity than each personal data of the one or more personal data is generated, and the one or more anonymous data generated by the second anonymization model learned is generated. A generation method, a generation program, and a generation device for outputting new anonymous data obtained by anonymizing each of the anonymous data of the above are proposed.
一態様によれば、有用な匿名データを得ることが可能になる。 According to one aspect, it is possible to obtain useful anonymous data.
以下に、図面を参照して、本発明にかかる生成方法、生成プログラム、および生成装置の実施の形態を詳細に説明する。 Hereinafter, embodiments of a generation method, a generation program, and a generation apparatus according to the present invention will be described in detail with reference to the drawings.
(実施の形態にかかる生成方法の一実施例)
図1および図2は、実施の形態にかかる生成方法の一実施例を示す説明図である。図1において、生成装置100は、個人データの匿名性を確保しつつ、個人データに基づいて匿名データを生成して出力するコンピュータである。
(An example of a generation method according to an embodiment)
1 and 2 are explanatory views showing an embodiment of the generation method according to the embodiment. In FIG. 1, the
従来では、個人データを加工することにより匿名データを生成して出力するにあたり、個人データの匿名性を確保するため、プライバシーテストが実施されることがある。例えば、プライバシーテストにより、個人データに関して匿名性が確保されていると判断した場合にのみ、個人データに基づいて生成した匿名データが出力されることになる。 Conventionally, when anonymity data is generated and output by processing personal data, a privacy test may be carried out in order to ensure the anonymity of the personal data. For example, the anonymous data generated based on the personal data will be output only when the privacy test determines that the anonymity of the personal data is ensured.
具体的には、個人データに対して、プライバシーテストを実施することにより、匿名データの有用性と、個人データの匿名性との基準を定める、(k,γ)PD(Plausible Deniability)と呼ばれる安全性指標が存在する。ここで、図2の説明に移行し、従来の(k,γ)PDが行う処理の流れについて説明する。 Specifically, a safety called (k, γ) PD (Plausible Deniability) that sets the criteria for the usefulness of anonymous data and the anonymity of personal data by conducting a privacy test on personal data. There is a sexual index. Here, the description shifts to FIG. 2, and the flow of processing performed by the conventional (k, γ) PD will be described.
図2において、(k,γ)PDは、個人データ群Dからランダムに選択した個人データdに対して、確率的な差分プライバシーアルゴリズムMを適用することにより、匿名データy=M(d)を生成する。(k,γ)PDは、生成した匿名データyに対して、プライバシーテストを実施する。プライバシーテストは、有用性要件を設定されてもよい。 In FIG. 2, (k, γ) PD obtains anonymous data y = M (d) by applying a probabilistic differential privacy algorithm M to personal data d randomly selected from personal data group D. Generate. (K, γ) PD performs a privacy test on the generated anonymous data y. Privacy tests may have usefulness requirements set.
(k,γ)PDは、例えば、個人データ群Dの中に、個人データdと同一の属性値を含む他の個人データdがk以上(k>1)存在していれば、生成した匿名データyを、出力可能と判定し、リリースデータセットに追加する。一方で、(k,γ)PDは、例えば、個人データ群Dの中に、個人データdと同一の属性値を含む他の個人データdがk以上(k>1)存在していなければ、生成した匿名データyを、出力不能と判定して破棄する。 The (k, γ) PD is generated anonymously if, for example, other personal data d containing the same attribute value as the personal data d exists in the personal data group D by k or more (k> 1). It is determined that the data y can be output, and the data y is added to the release data set. On the other hand, in the (k, γ) PD, for example, if there is no other personal data d containing the same attribute value as the personal data d in the personal data group D by k or more (k> 1), It is determined that the generated anonymous data y cannot be output and is discarded.
また、(k,γ)PDは、パラメータkを推定する攻撃を防止するため、パラメータkに代わり、ランダム化されたパラメータk+Lap(1/ε0)を用いてもよい。Lap(・)は、ラプラス分布に基づく乱数発生メカニズムである。 Further, the (k, γ) PD may use a randomized parameter k + Lap (1 / ε 0 ) instead of the parameter k in order to prevent an attack that estimates the parameter k. Lap (・) is a random number generation mechanism based on the Laplace distribution.
kは、個人データdと同一の属性値を有する他の個人データdが、いくつ以上存在することが、匿名性の観点から好ましいのかを示すパラメータである。kは、値が大きいほど、個人データdに対応する個人を特定されにくくすることができるという性質を有する。 k is a parameter indicating how many or more other personal data d having the same attribute value as the personal data d is preferable from the viewpoint of anonymity. The larger the value of k, the more difficult it is to identify the individual corresponding to the personal data d.
γは、確率的な差分プライバシーアルゴリズムMのパラメータである。γは、個人データdに対して確率的に与えるノイズ値を規定するパラメータである。γは、値が小さいほど、個人データdに対して与えるノイズ値を大きくすることができるという性質を有する。ノイズ値が小さいほど、匿名データyが、いずれの個人データdから生成されたのかが、識別される危険性が高くなる傾向がある。 γ is a parameter of the stochastic differential privacy algorithm M. γ is a parameter that defines the noise value stochastically given to the personal data d. The smaller the value of γ, the larger the noise value given to the personal data d. The smaller the noise value, the higher the risk of identifying which personal data d the anonymous data y was generated from.
ε0は、kに対して与えるランダムなノイズ値を規定するパラメータである。ε0は、値が小さいほど、メンバーシップインクルージョン攻撃への耐性を強めることができるという性質を有する。メンバーシップインクルージョン攻撃の一例については、具体的には、図10を用いて後述する。 ε 0 is a parameter that defines a random noise value given to k. The smaller the value of ε 0 , the stronger the resistance to membership inclusion attacks. An example of a membership inclusion attack will be specifically described later with reference to FIG.
また、(k,γ)PDについては、例えば、下記非特許文献1を参照することができる。また、(k,γ)PDの他、(k,δ)PDと呼ばれる安全性指標なども存在する。(k,δ)PDについては、例えば、下記非特許文献2を参照することができる。
Further, for (k, γ) PD, for example, the following
非特許文献1 : Bindschaedler, Vincent, Reza Shokri, and Carl A. Gunter. “Plausible deniability for privacy−preserving data synthesis.” arXiv preprint arXiv:1708.07975 (2017). Non-Patent Document 1: Bindschaedler, Vincent, Reza Shokri, and Carl A. et al. Gunter. “Plausible deniaviity for privacy-preserving data synthesis.” ArXiv preprint arXiv: 1708.07975 (2017).
非特許文献2 : Bindschaedler, Vincent, and Reza Shokri. “Synthesizing plausible privacy−preserving location traces.” 2016 IEEE Symposium on Security and Privacy (SP). IEEE, 2016. Non-Patent Document 2: Bindschaedler, Vincent, and Reza Shokri. “Synthesis symposium privacy-preserving location races.” 2016 IEEE Symposium on Security and Privacy (SP). IEEE, 2016.
しかしながら、従来では、匿名データの有用性が損なわれることがある。例えば、プライバシーテストを実施すると、複数の個人データのうち一部の個人データに基づいて生成した匿名データしか出力されないことがある。結果として、出力される複数の匿名データが、統計処理において好ましくないデータになってしまうことがある。具体的には、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとが、類似しなくなってしまうことがある。ヒストグラムについては、具体的には、図11〜図17を用いて後述する。 However, in the past, the usefulness of anonymous data may be impaired. For example, when a privacy test is performed, only anonymous data generated based on some personal data among a plurality of personal data may be output. As a result, a plurality of output anonymous data may become unfavorable data in statistical processing. Specifically, the histogram showing the feature distribution of a plurality of personal data and the histogram showing the feature distribution of a plurality of output anonymous data may not be similar. Specifically, the histogram will be described later with reference to FIGS. 11 to 17.
より具体的には、(k,γ)PDにおいて、匿名データの有用性と、個人データの匿名性とを、バランスよく両立するよう、パラメータk,γ,ε0を調整することは難しい。ここで、(k,γ)PDにおいて、どのようにパラメータk,γ,ε0を調整しても、匿名データの有用性と、個人データの匿名性とのいずれかが損なわれる傾向がある。 More specifically, in (k, γ) PD, it is difficult to adjust the parameters k, γ, ε 0 so as to balance the usefulness of anonymous data and the anonymity of personal data in a well-balanced manner. Here, in (k, γ) PD, no matter how the parameters k, γ, ε 0 are adjusted, either the usefulness of the anonymous data or the anonymity of the personal data tends to be impaired.
特に、個人データの匿名性を確保するため、パラメータkの値を大きくすると、出力可能な匿名データを生成する元となる個人データの数が少なくなり、出力される複数の匿名データが、統計処理において好ましくないデータになる。例えば、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとが類似しなくなり、出力される複数の匿名データが、統計処理において好ましくないデータになる。 In particular, if the value of the parameter k is increased in order to ensure the anonymity of the personal data, the number of personal data that is the source of generating the anonymous data that can be output decreases, and the plurality of output anonymous data are statistically processed. It becomes unfavorable data in. For example, the histogram showing the feature distribution of a plurality of personal data and the histogram showing the feature distribution of a plurality of output anonymous data become dissimilar, and the plurality of output anonymous data becomes unfavorable data in statistical processing. ..
また、ユーザが、ヒストグラムを考慮し、匿名データの有用性を向上するため、恣意的に、プライバシーテストを実施してしまうことがある。例えば、ユーザが、特定の個人データに対して、パラメータk+Lap(1/ε0)が偶々大きい値を取るまで、プライバシーテストを繰り返し実施し、特定の個人データに基づいて生成された匿名データを出力しようとすることがある。この場合、個人データの匿名性が損なわれることがある。 In addition, the user may arbitrarily perform a privacy test in order to improve the usefulness of anonymous data in consideration of the histogram. For example, the user repeatedly performs a privacy test for specific personal data until the parameter k + Lap (1 / ε 0 ) happens to take a large value, and outputs anonymous data generated based on the specific personal data. I may try. In this case, the anonymity of personal data may be impaired.
また、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとが類似しなくなった結果、個人データの匿名性も損なわれることがある。比較的少数の個人データに基づいて、匿名データが比較的多量に生成されるため、匿名データに基づいて、個人が識別される危険性が高くなる傾向がある。 Further, as a result of the histogram showing the feature distribution of a plurality of personal data and the histogram showing the feature distribution of a plurality of output anonymous data becoming dissimilar, the anonymity of the personal data may be impaired. Since anonymous data is generated in a relatively large amount based on a relatively small amount of personal data, there is a tendency that the risk of identifying an individual based on anonymous data is high.
そこで、本実施の形態では、出力される匿名データの有用性を向上することができる生成方法について説明する。 Therefore, in the present embodiment, a generation method that can improve the usefulness of the output anonymous data will be described.
図1の説明に戻り、生成装置100は、複数の個人データを、DB(DataBase)101に記憶する。個人データは、例えば、個人に関する何らかの特徴を示す値を含む。生成装置100は、第1の匿名化モデル110を記憶する。第1の匿名化モデル110は、情報を匿名化するモデルである。匿名化は、加工に対応する。第1の匿名化モデル110は、例えば、個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルである。第1の匿名化モデル110は、例えば、確率的な差分プライバシーアルゴリズムである。
Returning to the description of FIG. 1, the
(1−1)生成装置100は、複数の個人データに含まれる個人データを、第1の匿名化モデル110により匿名化した結果に基づいて、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定する。所定の基準は、例えば、プライバシーテストの基準である。以下の説明では、所定の基準を満たすことを「OK」と表記し、所定の基準を満たさないことを「NG」と表記する場合がある。匿名度合いが所定の基準を満たさない1以上の個人データは、例えば、NG−DB102に記憶される。
(1-1) The
生成装置100は、例えば、複数の個人データに含まれる個人データをランダムに選択する。生成装置100は、例えば、個人データを選択する都度、選択した個人データに基づいて、第1の匿名化モデル110により匿名データを1以上生成する。生成装置100は、例えば、1以上の匿名データに基づいて、プライバシーテストを実施し、1以上の匿名データを生成する元となった個人データの匿名度合いが、所定の基準を満たすか否かを判定する。生成装置100は、例えば、判定した結果に基づいて、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定する。
The
(1−2)生成装置100は、特定した1以上の個人データに基づいて、第2の匿名化モデル120を学習する。第2の匿名化モデル120は、情報を匿名化するモデルである。第2の匿名化モデル120は、情報を匿名化するモデルである。第2の匿名化モデル120は、匿名データに含まれる値に、ランダムなノイズ値を加算して得られる新たな匿名データを、1以上生成するモデルである。第2の匿名化モデル120は、例えば、確率的な差分プライバシーアルゴリズムである。第2の匿名化モデル120は、例えば、第1の匿名化モデル110と同一のアルゴリズムである。生成装置100は、例えば、特定した1以上の個人データに含まれる値に関する分散および平均に基づいて、第2の匿名化モデル120を学習する。
(1-2) The
(1−3)生成装置100は、特定した1以上の個人データに基づいて、1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成する。1以上の匿名データは、例えば、MA−DB103に記憶される。MAは、ミクロアグリゲーションを意味する。生成装置100は、例えば、ミクロアグリゲーションを実施し、1以上の匿名データを生成する。
(1-3) The
生成装置100は、具体的には、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出する。統計値は、具体的には、平均値、最大値、最小値、中央値、または、最頻値などである。生成装置100は、具体的には、特定した1以上の個人データのそれぞれの個人データに含まれる値を、算出した統計値に置換することにより、1以上の匿名データを生成する。
Specifically, the
(1−4)生成装置100は、生成した1以上の匿名データのそれぞれの匿名データを、学習した第2の匿名化モデル120により匿名化して得られた、新たな匿名データを出力する。出力先は、例えば、リリースDB104である。生成装置100は、例えば、1以上の匿名データのそれぞれの匿名データに基づいて、第2の匿名化モデル120により、新たな匿名データを生成して出力する。この際、生成装置100は、例えば、複数の個人データのうち、所定の基準を満たす個人データに基づいて、第1の匿名化モデル110により生成された匿名データを、併せて出力してもよい。
(1-4) The
これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。
As a result, the
生成装置100は、例えば、プライバシーテストにより、匿名度合いが所定の基準を満たさないと判定された個人データに基づいて、新たな匿名データを生成することができる。このため、生成装置100は、例えば、出力される複数の匿名データを、統計処理において好ましいデータにすることができる。生成装置100は、具体的には、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができる。
The
また、生成装置100は、例えば、匿名度合いが所定の基準を満たさないと判定された個人データを、より匿名度合いが高い形式である匿名データに変換してから、第2の匿名化モデル120により、新たな匿名データを生成することができる。このため、生成装置100は、例えば、個人データの匿名性を確保し易くすることができる。
Further, for example, the
生成装置100は、例えば、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データに基づいて、第2の匿名化モデル120を学習することができる。生成装置100は、例えば、第2の匿名化モデル120により、新たな匿名データを生成することができる。このため、生成装置100は、例えば、出力される複数の匿名データを、統計処理において好ましいデータにすることができる。生成装置100は、具体的には、例えば、匿名度合いが所定の基準を満たさない個人データの特徴分布を示すヒストグラムと、第2の匿名化モデル120により生成される新たな匿名データの特徴分布を示すヒストグラムとを近づけることができる。
The
生成装置100は、本来であればNGと判定され得る個人データに基づいて、匿名データを生成して出力することができる。このため、生成装置100は、ユーザが、匿名データの有用性を向上するため、恣意的に、プライバシーテストを実施してしまうことを防止することができ、個人データの匿名性を確保することができる。
The
以上により、生成装置100は、匿名データの有用性と、個人データの匿名性とを両立し、外部に流通させて第3者に参照されても問題が発生しないと考えられる匿名データのDBを生成することができる。このため、生成装置100は、統計分析、または、機械学習の分野において利用することができる。
As described above, the
また、生成装置100は、プライバシーテストを行う手法を改良することができる。生成装置100は、例えば、(k,γ)PD、または、(k,δ)PDなどの手法を改良することができる。生成装置100は、(k,γ)PD、および、(k,δ)PD以外の、プライバシーテストを行う手法を改良することができる。
In addition, the
(データ利活用システム300の一例)
次に、図3を用いて、図1に示した生成装置100を適用した、データ利活用システム300の一例について説明する。
(Example of data utilization system 300)
Next, an example of the
図3は、データ利活用システム300の一例を示す説明図である。図3において、データ利活用システム300は、生成装置100と、データ提供側装置301と、データ利用側装置302とを含む。
FIG. 3 is an explanatory diagram showing an example of the
データ利活用システム300において、生成装置100とデータ提供側装置301とは、有線または無線のネットワーク310を介して接続される。ネットワーク310は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。また、生成装置100とデータ利用側装置302とは、有線または無線のネットワーク310を介して接続される。
In the
生成装置100は、個人データをデータ提供側装置301から収集する。収集した個人データは、例えば、図5に後述するデータ管理テーブル500に記憶される。生成装置100は、収集した複数の個人データに基づいて、複数の匿名データを生成してデータ利用側装置302に送信する。複数の匿名データを生成する具体例については、例えば、図7〜図9を用いて後述する。生成装置100は、例えば、サーバ、または、PC(Personal Computer)などである。
The
データ提供側装置301は、個人データを取得し、生成装置100に送信する。データ提供側装置301は、操作者の操作入力に基づき、個人データを取得し、生成装置100に送信する。データ提供側装置301は、例えば、タブレット端末、スマートフォン、ウェアラブル端末、IoT(Internet of Things)機器などから、個人データを取得し、生成装置100に送信する。データ提供側装置301は、例えば、サーバ、または、PCなどである。
The data providing
データ利用側装置302は、複数の匿名データを生成装置100から受信する。データ利用側装置302は、複数の匿名データに基づいて、データ利活用タスクを実施する。データ利活用タスクは、例えば、統計分析、または、機械学習などのタスクである。データ利用側装置302は、例えば、サーバ、または、PCなどである。
The data
ここでは、生成装置100が、データ提供側装置301とは異なる装置である場合について説明したが、これに限らない。例えば、生成装置100が、データ提供側装置301と一体であり、データ提供側装置301としても動作する場合があってもよい。
Here, the case where the
ここでは、生成装置100が、データ利用側装置302とは異なる装置である場合について説明したが、これに限らない。例えば、生成装置100が、データ利用側装置302と一体であり、データ利用側装置302としても動作する場合があってもよい。
Here, the case where the
ここでは、データ提供側装置301が、サーバ、または、PCなどである場合について説明したが、これに限らない。例えば、データ提供側装置301が、タブレット端末、スマートフォン、ウェアラブル端末、IoT機器などである場合があってもよい。
Here, the case where the data providing
(生成装置100のハードウェア構成例)
次に、図4を用いて、生成装置100のハードウェア構成例について説明する。
(Example of hardware configuration of generator 100)
Next, a hardware configuration example of the
図4は、生成装置100のハードウェア構成例を示すブロック図である。図4において、生成装置100は、CPU(Central Processing Unit)401と、メモリ402と、ネットワークI/F(Interface)403と、記録媒体I/F404と、記録媒体405とを有する。また、各構成部は、バス400によってそれぞれ接続される。
FIG. 4 is a block diagram showing a hardware configuration example of the
ここで、CPU401は、生成装置100の全体の制御を司る。メモリ402は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることにより、コーディングされている処理をCPU401に実行させる。
Here, the
ネットワークI/F403は、通信回線を通じてネットワーク310に接続され、ネットワーク310を介して他のコンピュータに接続される。そして、ネットワークI/F403は、ネットワーク310と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F403は、例えば、モデムやLANアダプタなどである。
The network I /
記録媒体I/F404は、CPU401の制御に従って記録媒体405に対するデータのリード/ライトを制御する。記録媒体I/F404は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体405は、記録媒体I/F404の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体405は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体405は、生成装置100から着脱可能であってもよい。
The recording medium I /
生成装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、生成装置100は、記録媒体I/F404や記録媒体405を複数有していてもよい。また、生成装置100は、記録媒体I/F404や記録媒体405を有していなくてもよい。
The
(データ管理テーブル500の記憶内容)
次に、図5を用いて、データ管理テーブル500の記憶内容の一例について説明する。データ管理テーブル500は、例えば、図4に示した生成装置100のメモリ402や記録媒体405などの記憶領域により実現される。
(Stored contents of data management table 500)
Next, an example of the stored contents of the data management table 500 will be described with reference to FIG. The data management table 500 is realized, for example, by a storage area such as a
図5は、データ管理テーブル500の記憶内容の一例を示す説明図である。図5に示すように、データ管理テーブル500は、氏名と、性別と、年齢と、身長とのフィールドを有する。データ管理テーブル500は、個人ごとに各フィールドに情報を設定することにより、個人データがレコード500−aとして記憶される。aは、任意の整数である。 FIG. 5 is an explanatory diagram showing an example of the stored contents of the data management table 500. As shown in FIG. 5, the data management table 500 has fields for name, gender, age, and height. In the data management table 500, personal data is stored as a record 500-a by setting information in each field for each individual. a is an arbitrary integer.
氏名のフィールドには、個人を識別する氏名が設定される。性別のフィールドには、個人の属性値として、個人の性別が設定される。年齢のフィールドには、個人の属性値として、個人の年齢が設定される。身長のフィールドには、個人の属性値として、個人の身長が設定される。個人データは、個人の属性値として、個人の氏名と、性別と、年齢と、身長とのいずれかを含まなくてもよい。個人データは、個人の属性値として、個人の氏名と、性別と、年齢と、身長との属性値以外を含んでいてもよい。 In the name field, a name that identifies an individual is set. In the gender field, the gender of the individual is set as the attribute value of the individual. In the age field, the age of the individual is set as the attribute value of the individual. In the height field, the height of the individual is set as an attribute value of the individual. The personal data does not have to include any of the individual's name, gender, age, and height as individual attribute values. The personal data may include other than the attribute values of the individual's name, gender, age, and height as the attribute values of the individual.
(データ提供側装置301のハードウェア構成例)
データ提供側装置301のハードウェア構成例は、図4に示した生成装置100のハードウェア構成例と同様であるため、説明を省略する。
(Example of hardware configuration of data provider device 301)
Since the hardware configuration example of the data providing
(データ利用側装置302のハードウェア構成例)
データ利用側装置302のハードウェア構成例は、図4に示した生成装置100のハードウェア構成例と同様であるため、説明を省略する。
(Example of hardware configuration of
Since the hardware configuration example of the data
(生成装置100の機能的構成例)
次に、図6を用いて、生成装置100の機能的構成例について説明する。
(Example of functional configuration of generator 100)
Next, a functional configuration example of the
図6は、生成装置100の機能的構成例を示すブロック図である。生成装置100は、記憶部600と、取得部601と、第1の匿名化部602と、判定部603と、特定部604と、学習部605と、生成部606と、第2の匿名化部607と、出力部608とを含む。
FIG. 6 is a block diagram showing a functional configuration example of the
記憶部600は、例えば、図4に示したメモリ402や記録媒体405などの記憶領域によって実現される。以下では、記憶部600が、生成装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部600が、生成装置100とは異なる装置に含まれ、記憶部600の記憶内容が生成装置100から参照可能である場合があってもよい。
The
取得部601〜出力部608は、制御部の一例として機能する。取得部601〜出力部608は、具体的には、例えば、図4に示したメモリ402や記録媒体405などの記憶領域に記憶されたプログラムをCPU401に実行させることにより、または、ネットワークI/F403により、その機能を実現する。各機能部の処理結果は、例えば、図4に示したメモリ402や記録媒体405などの記憶領域に記憶される。
The
記憶部600は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部600は、複数の個人データを記憶する。個人データは、例えば、個人に関する何らかの特徴を示す値を含む。値は、例えば、属性値である。個人データは、例えば、取得部601によって取得される。記憶部600は、複数の匿名データを記憶する。匿名データは、例えば、第1の匿名化部602、または、第2の匿名化部607によって生成される。
The
記憶部600は、第1の匿名化モデルを記憶する。第1の匿名化モデルは、情報を匿名化するモデルである。匿名化は、加工に対応する。第1の匿名化モデルは、例えば、個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルである。第1の匿名化モデルは、例えば、確率的な差分プライバシーアルゴリズムである。第1の匿名化モデルは、例えば、生成部606によって生成される。
The
記憶部600は、第2の匿名化モデルを記憶する。第2の匿名化モデルは、情報を匿名化するモデルである。第2の匿名化モデルは、例えば、匿名データに含まれる値に、ランダムなノイズ値を加算して得られる新たな匿名データを、1以上生成するモデルである。第2の匿名化モデルは、例えば、確率的な差分プライバシーアルゴリズムである。第2の匿名化モデルは、例えば、第1の匿名化モデルと同一のアルゴリズムである。
The
取得部601は、各機能部の処理に用いられる各種情報を取得する。取得部601は、取得した各種情報を、記憶部600に記憶し、または、各機能部に出力する。また、取得部601は、記憶部600に記憶しておいた各種情報を、各機能部に出力してもよい。取得部601は、例えば、ユーザの操作入力に基づき、各種情報を取得する。取得部601は、例えば、生成装置100とは異なる装置から、各種情報を受信してもよい。
The
取得部601は、複数の個人データを取得する。取得部601は、例えば、複数の個人データを、データ提供側装置301から受信することにより取得する。取得部601は、例えば、ユーザの操作入力に基づき、複数の個人データを取得する。取得部601は、例えば、第1の匿名化モデルを取得してもよい。
The
取得部601は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、ユーザによる所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。取得部601は、例えば、複数の個人データを取得したことを、第1の匿名化部602〜第2の匿名化部607の処理を開始する開始トリガーとして受け付ける。
The
第1の匿名化部602は、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化し、1以上の匿名データを生成する。第1の匿名化部602は、例えば、複数の個人データに含まれる個人データをランダムに複数回選択する。第1の匿名化部602は、例えば、個人データを選択する都度、選択した個人データに基づいて、第1の匿名化モデルにより匿名データを1以上生成する。これにより、第1の匿名化部602は、匿名データを生成し、個人データの匿名性の向上を図ることができる。
The
判定部603は、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した結果に基づいて、当該個人データの匿名度合いが、所定の基準を満たすか否かを判定する。所定の基準は、例えば、プライバシーテストの基準である。判定部603は、例えば、1以上の匿名データに基づいて、プライバシーテストを実施し、1以上の匿名データを生成する元となった、選択した個人データの匿名度合いが、所定の基準を満たすか否かを判定する。
The
判定部603は、具体的には、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した際に、当該個人データと同一または類似する値を含む、複数の個人データのうちの他の個人データの数を算出する。また、それぞれの個人データが、複数の値を含む場合が考えられる。この場合、判定部603は、具体的には、特定の項目の値が、匿名化の対象とした個人データと同一または類似する他の個人データの数を算出してもよい。
Specifically, the
ここで、判定部603は、算出した数が所定の数以下であれば、所定の基準を満たさないと判定する。所定の数は、例えば、固定値である。所定の数は、例えば、可変値であってもよい。可変値は、例えば、k+Lap(1/ε0)である。一方で、判定部603は、算出した数が所定の数より大きければ、所定の基準を満たすと判定する。これにより、判定部603は、個人データの匿名性が確保されているか否かを判定することができる。
Here, if the calculated number is equal to or less than a predetermined number, the
判定部603は、具体的には、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した際に、加算したノイズ値の代表値が、所定の閾値以下であれば、所定の基準を満たさないと判定する。代表値は、具体的には、平均値、最大値、最小値、中央値、または、最頻値などである。これにより、判定部603は、個人データの匿名性が確保されているか否かを判定することができる。
Specifically, when the personal data included in the plurality of personal data is anonymized by the first anonymization model, the
判定部603は、具体的には、所定の確率で、選択した個人データの実際の匿名度合いによらず、所定の基準を満たさないと判定してもよい。所定の確率は、例えば、ユーザによって設定される。これにより、判定部603は、学習部605が参照可能な個人データの数の増大化を図ることができ、学習部605が第2の匿名化モデルを生成し易くすることができる。
Specifically, the
特定部604は、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定する。特定部604は、例えば、判定した結果に基づいて、1以上の個人データを特定する。特定部604は、具体的には、判定した結果がNGである1以上の個人データを特定する。これにより、特定部604は、プライバシーテストにより破棄された匿名データを生成する元となった、匿名度合いが所定の基準を満たさない1以上の個人データを特定することができる。
The
特定部604は、特定した1以上の個人データを、1以上のクラスタに分割してもよい。特定部604は、例えば、特定した1以上の個人データのそれぞれの個人データに含まれる値に基づいて、特定した1以上の個人データを、1以上のクラスタに分割する。
The
特定部604は、具体的には、特定した1以上の個人データのそれぞれの個人データに含まれる値の大小関係に基づいて、特定した1以上の個人データをソートする。特定部604は、具体的には、ソートした1以上の個人データの上位から、k個の個人データごとに、同一のクラスタに属するよう、1以上の個人データを、1以上のクラスタに分割する。kは、可変値であってもよい。これにより、特定部604は、生成部606が生成する1以上の匿名データの特徴分布を示すヒストグラムを、1以上の個人データの特徴分布を示すヒストグラムと対応させ易くすることができる。
Specifically, the
学習部605は、特定した1以上の個人データに基づいて、第2の匿名化モデルを学習する。学習部605は、例えば、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する分散および平均に基づいて、第2の匿名化モデルに用いられるノイズ値の範囲を決定し、第2の匿名化モデルを学習する。これにより、学習部605は、第2の匿名化部607が生成する1以上の匿名データの特徴分布を示すヒストグラムを、複数の個人データの特徴分布を示すヒストグラムと対応させ易くすることができる。
The
学習部605は、クラスタごとに、クラスタに分割した個人データに基づいて、クラスタに対応する第2の匿名化モデルを学習する。これにより、学習部605は、第2の匿名化部607が生成する1以上の匿名データの特徴分布を示すヒストグラムを、複数の個人データの特徴分布を示すヒストグラムと対応させ易くすることができる。
The
生成部606は、特定した1以上の個人データに基づいて、1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成する。生成部606は、例えば、ミクロアグリゲーションを実施し、1以上の匿名データを生成する。
The
生成部606は、具体的には、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出する。統計値は、具体的には、平均値、最大値、最小値、中央値、または、最頻値などである。生成部606は、特定した1以上の個人データのそれぞれの個人データに含まれる値を、算出した統計値に置換し、1以上の匿名データを生成する。これにより、生成部606は、個人データの匿名性の向上を図ることができる。
Specifically, the
生成部606は、クラスタごとに、クラスタに分割した個人データに基づいて、クラスタに分割した個人データのそれぞれよりも匿名度合いが高い、クラスタに対応する匿名データを生成する。これにより、生成部606は、クラスタごとに、第2の匿名化モデルが参照する匿名データを生成することができる。
The
第2の匿名化部607は、生成した1以上の匿名データのそれぞれの匿名データを、学習した第2の匿名化モデルにより匿名化し、新たな匿名データを生成する。これにより、第2の匿名化部607は、生成した1以上の新たな匿名データの特徴分布を示すヒストグラムが、複数の個人データの特徴分布を示すヒストグラムに対応するよう、1以上の新たな匿名データを生成することができる。
The
第2の匿名化部607は、クラスタごとに、生成したクラスタに対応する匿名データを、学習したクラスタに対応する第2の匿名化モデルにより匿名化し、新たな匿名データを生成する。これにより、第2の匿名化部607は、クラスタごとに、生成した1以上の新たな匿名データの特徴分布を示すヒストグラムが、複数の個人データの特徴分布を示すヒストグラムに対応するよう、1以上の新たな匿名データを生成することができる。
The
出力部608は、いずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F403による外部装置への送信、または、メモリ402や記録媒体405などの記憶領域への記憶である。これにより、出力部608は、いずれかの機能部の処理結果をユーザに通知可能にし、生成装置100の利便性の向上を図ることができる。
The
出力部608は、第2の匿名化部607によって生成された新たな匿名データを出力する。出力部608は、さらに、第1の匿名化部602によって生成された匿名データを出力する。出力部608は、例えば、第1の匿名化部602によって生成された匿名データと、第2の匿名化部607によって生成された新たな匿名データとを併せて出力する。これにより、出力部608は、有用な匿名データを利用可能にすることができる。
The
(生成装置100の第1の動作例)
次に、図7を用いて、生成装置100の第1の動作例について説明する。
(First operation example of the generator 100)
Next, a first operation example of the
図7は、生成装置100の第1の動作例を示す説明図である。図7において、(7−1)生成装置100は、データ管理テーブル500から、氏名の属性値を削除した後の個人データ群701を取得する。
FIG. 7 is an explanatory diagram showing a first operation example of the
(7−2)生成装置100は、取得した個人データ群701のそれぞれの個人データに含まれる値に基づいて、個人データ群701をクラスタリングする。クラスタリングは、ヒストグラムを作成する可能性が高い属性について実施される。ヒストグラムを作成する可能性が高い属性は、例えば、予めユーザによって指定される。クラスタリングは、例えば、K−匿名化処理に規定されたクラスタリングが用いられる。
(7-2) The
図7の例では、生成装置100は、個人データ群701を、性別の値が「女性」の個人データを含むクラスタ702と、性別の値が「男性」の個人データを含むクラスタ703とに分割する。ここでは、性別の値が、準識別子として扱われている。性別以外の値が、センシティブ属性として扱われている。生成装置100は、性別の値が「女性」の個人データを含むクラスタ702を、DB710に保存する。生成装置100は、性別の値が「男性」の個人データを含むクラスタ703を、DB720に保存する。
In the example of FIG. 7, the
以下の説明では、生成装置100が、DB710を処理対象とする場合について説明する。生成装置100が、DB720を処理対象とする場合については、生成装置100が、DB710を処理対象とする場合と同様であるため、説明を省略する。
In the following description, a case where the
(7−3)生成装置100は、DB710に対して、ノイズ付与とプライバシーテストとを実施する。生成装置100は、例えば、DB710に記憶された個人データ群711を取得する。生成装置100は、例えば、取得した個人データ群711に含まれる個人データを、ランダムに所定回数選択する。
(7-3) The
生成装置100は、例えば、個人データを選択する都度、選択した個人データに基づいて、生成モデル730により匿名データを1以上生成する。生成モデル730は、確率的な生成モデルである。生成モデル730は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成モデル730は、例えば、個人データ群711に基づいて生成されてもよい。
For example, the
生成装置100は、例えば、生成した1以上の匿名データに基づいて、プライバシーテストを実施し、生成した1以上の匿名データを生成する元となった個人データの匿名度合いが、所定の基準を満たすか否かを判定する。ここで、生成装置100は、例えば、判定した結果がOKであれば、生成した1以上の匿名データを、リリースDB740に保存する。OKは、個人データの匿名度合いが所定の基準を満たし、プライバシーテストに合格したことを意味する。一方で、生成装置100は、判定した結果がNGであれば、生成した1以上の匿名データを破棄し、生成した1以上の匿名データを生成する元となった個人データを、NG−DB750に保存する。NGは、個人データの匿名度合いが所定の基準を満たさず、プライバシーテストに合格しなかったことを意味する。
The
(7−4)生成装置100は、NG−DB750に対して、ミクロアグリゲーションを実施する。生成装置100は、例えば、NG−DB750に記憶された個人データ群751を取得する。生成装置100は、例えば、取得した個人データ群751に対して、ミクロアグリゲーションを実施する。ミクロアグリゲーションとは、個人データ群751のそれぞれの個人データに含まれる値を、個人データ群751のそれぞれの個人データに含まれる値に関する統計値に置換する手法である。統計値は、具体的には、平均値、最大値、最小値、中央値、または、最頻値などである。
(7-4) The
図7の例では、生成装置100は、個人データ群751のそれぞれの個人データに含まれる値を、個人データ群751のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データ群761を生成する。生成装置100は、例えば、ミクロアグリゲーションにより、個人データ群751から得られた匿名データ群761を、MA−DB760に保存する。
In the example of FIG. 7, the
ここでは、生成装置100が、個人データ群751のそれぞれの個人データに含まれる値を、個人データ群751のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データを生成する場合について説明したが、これに限らない。この場合、匿名データは、平均値に比較的近い値を含む個人データに対応する個人のものであると誤認されるおそれがある。このため、例えば、生成装置100が、個人データ群751のそれぞれの個人データに含まれる値を、個人データ群751のそれぞれの個人データに含まれる値から一定以上離れた値に置換することにより、匿名データを生成する場合があってもよい。
Here, the
(7−5)生成装置100は、NG−DB750に基づいて、生成モデル770を学習する。生成装置100は、例えば、NG−DB750に記憶された個人データ群751を取得する。生成装置100は、例えば、取得した個人データ群751のそれぞれの個人データを、学習データに用いて、生成モデル770を学習する。生成モデル770は、確率的な生成モデルである。生成モデル770は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成装置100は、例えば、取得した個人データ群751のそれぞれの個人データに含まれる値に関する分散および平均に基づいて、生成モデル770を学習する。
(7-5) The
(7−6)生成装置100は、MA−DB760に対して、ノイズ付与を実施する。生成装置100は、例えば、MA−DB760に記憶された匿名データ群761を取得する。生成装置100は、例えば、取得した匿名データ群761に含まれる匿名データを、ランダムに所定回数選択する。生成装置100は、取得した匿名データ群761のそれぞれの匿名データを選択してもよい。
(7-6) The
生成装置100は、例えば、匿名データを選択する都度、選択した匿名データに基づいて、学習した生成モデル770により、新たな匿名データを1以上生成する。生成装置100は、例えば、生成した新たな匿名データを含む匿名データ群771を、リリースDB740に保存する。生成装置100は、新たな匿名データを1以上生成した際、プライバシーテストを実施してもよい。
For example, the
このように、生成装置100が、DB710を処理対象とした場合、リリースDB740が得られる。一方で、生成装置100が、DB720を処理対象とした場合、リリースDB781が得られたものとする。
In this way, when the
(7−7)生成装置100は、DB710を処理対象として得られたリリースDB740と、DB720を処理対象として得られたリリースDB781とを結合し、DB780を生成する。これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。
(7-7) The
生成装置100は、例えば、プライバシーテストにより、NGと判定された個人データに基づいて、新たな匿名データを生成することができる。このため、生成装置100は、例えば、出力される複数の匿名データを、統計処理において好ましいデータにすることができる。生成装置100は、具体的には、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができる。
The
また、生成装置100は、例えば、匿名度合いが所定の基準を満たさないと判定された個人データを、より匿名度合いが高い形式である匿名データに変換してから、生成モデル770により、新たな匿名データを生成することができる。このため、生成装置100は、例えば、個人データの匿名性を確保し易くすることができる。
Further, for example, the
生成装置100は、例えば、複数の個人データのうち、NGと判定された1以上の個人データに基づいて、生成モデル770を学習し、学習した生成モデル770により、新たな匿名データを生成することができる。このため、生成装置100は、例えば、出力される複数の匿名データを、統計処理において好ましいデータにすることができる。生成装置100は、具体的には、例えば、NGと判定された個人データの特徴分布を示すヒストグラムと、生成モデル770により生成される新たな匿名データの特徴分布を示すヒストグラムとを近づけることができる。
The
以上により、生成装置100は、匿名データの有用性と、個人データの匿名性とを両立し、外部に流通させて第3者に参照されても問題が発生しないと考えられる匿名データのDB780を生成することができる。このため、生成装置100は、統計分析、または、機械学習の分野において利用することができる。
As described above, the
ここでは、生成装置100が、(7−3)において、単にプライバシーテストを実施する場合について説明したが、これに限らない。例えば、生成装置100が、(7−3)において、プライバシーテストを実施するにあたり、生成した1以上の匿名データを生成する元となった個人データの匿名度合いによらず、一定確率で、NGであると判定するように動作する場合があってもよい。
Here, the case where the
これにより、生成装置100は、NG−DB750に記憶された個人データの数が少ないために、個人データの匿名性が損なわれるおそれが生じるような状況を回避することができる。この場合における生成装置100の動作例は、図8を用いて後述する第2の動作例に対応する。
As a result, the
ここでは、生成装置100が、(7−4)において、NG−DB750に記憶された個人データ群751全体に対して、ミクロアグリゲーションを実施する場合について説明したが、これに限らない。例えば、生成装置100が、(7−4)において、NG−DB750に記憶された個人データ群751のうち、k個の個人データごとに、ミクロアグリゲーションを実施する場合があってもよい。この場合、生成装置100は、k個の個人データごとに、生成モデル770を学習することになる。
Here, the case where the
これにより、生成装置100は、NGと判定された個人データの特徴分布を示すヒストグラムと、生成モデル770により生成される新たな匿名データの特徴分布を示すヒストグラムとを、さらに近づけ易くすることができる。この場合における生成装置100の動作例は、図9を用いて後述する第3の動作例に対応する。
As a result, the
(生成装置100の第2の動作例)
次に、図8を用いて、生成装置100の第2の動作例について説明する。
(Second operation example of the generator 100)
Next, a second operation example of the
図8は、生成装置100の第2の動作例を示す説明図である。第2の動作例は、生成装置100が、プライバシーテストを実施するにあたり、生成した1以上の匿名データを生成する元となった個人データの匿名度合いによらず、一定確率で、NGであると判定するように動作する場合に対応する。
FIG. 8 is an explanatory diagram showing a second operation example of the
図8において、(8−1)生成装置100は、(7−1)および(7−2)と同様の動作により、データ管理テーブル500に基づいて、性別の値が「女性」の個人データを含む個人データ群801を、DB800に保存している。
In FIG. 8, the (8-1)
以下の説明では、生成装置100が、DB800を処理対象とする場合について説明する。生成装置100が、性別の値が「男性」の個人データを含む個人データ群を保存した他のDBなどを処理対象とする場合については、生成装置100が、DB800を処理対象とする場合と同様であるため、説明を省略する。
In the following description, a case where the
(8−2)生成装置100は、DB800に対して、ノイズ付与とプライバシーテストとを実施する。生成装置100は、例えば、DB800に記憶された個人データ群801を取得する。生成装置100は、例えば、取得した個人データ群801に含まれる個人データを、ランダムに所定回数選択する。
(8-2) The
生成装置100は、例えば、個人データを選択する都度、選択した個人データに基づいて、生成モデル810により匿名データを1以上生成する。生成モデル810は、確率的な生成モデルである。生成モデル810は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成モデル810は、例えば、個人データ群801に基づいて生成されてもよい。
For example, the
生成装置100は、例えば、生成した1以上の匿名データに基づいて、プライバシーテストを実施し、生成した1以上の匿名データを生成する元となった個人データの匿名度合いが、所定の基準を満たすか否かを判定する。この際、生成装置100は、一定確率で、生成した1以上の匿名データを生成する元となった個人データの匿名度合いによらず、所定の基準を満たさないと判定する。
The
ここで、生成装置100は、例えば、判定した結果がOKであれば、生成した1以上の匿名データを、リリースDB820に保存する。一方で、生成装置100は、判定した結果がNGであれば、生成した1以上の匿名データを破棄し、生成した1以上の匿名データを生成する元となった個人データを、NG−DB830に保存する。
Here, for example, if the determination result is OK, the
(8−3)生成装置100は、NG−DB830に対して、ミクロアグリゲーションを実施する。生成装置100は、例えば、NG−DB830に記憶された個人データ群831を取得する。生成装置100は、例えば、取得した個人データ群831に対して、ミクロアグリゲーションを実施する。
(8-3) The
図8の例では、生成装置100は、個人データ群831のそれぞれの個人データに含まれる値を、個人データ群831のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データ群841を生成する。生成装置100は、例えば、ミクロアグリゲーションにより、個人データ群831から得られた匿名データ群841を、MA−DB840に保存する。
In the example of FIG. 8, the
ここでは、生成装置100が、個人データ群831のそれぞれの個人データに含まれる値を、個人データ群831のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データを生成する場合について説明したが、これに限らない。この場合、匿名データは、平均値に比較的近い値を含む個人データに対応する個人のものであると誤認されるおそれがある。このため、例えば、生成装置100が、個人データ群831のそれぞれの個人データに含まれる値を、個人データ群831のそれぞれの個人データに含まれる値から一定以上離れた値に置換することにより、匿名データを生成する場合があってもよい。
Here, the
(8−4)生成装置100は、NG−DB830に基づいて、生成モデル850を学習する。生成装置100は、例えば、NG−DB830に記憶された個人データ群831を取得する。生成装置100は、例えば、取得した個人データ群831のそれぞれの個人データを、学習データに用いて、生成モデル850を学習する。生成モデル850は、確率的な生成モデルである。生成モデル850は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成装置100は、例えば、取得した個人データ群831のそれぞれの個人データに含まれる値に関する分散および平均に基づいて、生成モデル850を学習する。
(8-4) The
(8−5)生成装置100は、MA−DB840に対して、ノイズ付与を実施する。生成装置100は、例えば、MA−DB840に記憶された匿名データ群841を取得する。生成装置100は、例えば、取得した匿名データ群841に含まれる匿名データを、ランダムに所定回数選択する。生成装置100は、取得した匿名データ群841のそれぞれの匿名データを選択してもよい。
(8-5) The
生成装置100は、例えば、匿名データを選択する都度、選択した匿名データに基づいて、学習した生成モデル850により、新たな匿名データを1以上生成する。生成装置100は、例えば、取得した匿名データ群841のうち、いずれか一つの匿名データを選択し、選択した匿名データに基づいて、学習した生成モデル850により、新たな匿名データを、匿名データ群841の匿名データの数と同一の数だけ生成してもよい。生成装置100は、例えば、生成した新たな匿名データを含む匿名データ群851を、リリースDB820に保存する。生成装置100は、新たな匿名データを1以上生成した際、プライバシーテストを実施してもよい。
For example, the
このように、生成装置100が、DB800を処理対象とした場合、リリースDB820が得られる。一方で、生成装置100が、性別の値が「男性」の個人データを含む個人データ群を保存した他のDBを処理対象とした場合、リリースDB861が得られたものとする。
As described above, when the
(8−6)生成装置100は、リリースDB820と、リリースDB861とを結合し、DB860を生成する。これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。
(8-6) The
生成装置100は、プライバシーテストを実施するにあたり、一定確率で、本来であればOKと判定され得る個人データを、NG−DB830に保存することができる。このため、生成装置100は、NG−DB830に記憶された個人データの数が少ないために、統計的解析により、個人データの匿名性が損なわれるおそれが生じるような状況を回避することができる。
When carrying out the privacy test, the
また、生成装置100は、プライバシーテストによりOKと判定された個人データの数に対して、所定の閾値を設定してもよい。所定の閾値は、例えば、ユーザによって予め設定される。そして、生成装置100は、OKと判定された個人データの数が、所定の閾値以下である間、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG−DB830に保存するという動作を実施する。一方で、生成装置100は、OKと判定された個人データの数が、所定の閾値より大きくなった後、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG−DB830に保存するという動作を停止する。これにより、生成装置100は、OKと判定される個人データの数と、NGと判定される個人データの数との偏りを低減することができ、データの匿名性の向上を図り易くすることができる。
Further, the
また、生成装置100は、OKと判定された個人データの数が、所定の閾値より大きくなった後、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG−DB830に保存するという動作を開始するようにしてもよい。これにより、生成装置100は、OKと判定される個人データの数と、NGと判定される個人データの数との偏りを低減することができ、データの匿名性の向上を図り易くすることができる。
Further, the
また、生成装置100は、NG−DB830に保存する個人データの数に対して、所定の閾値を設定してもよい。所定の閾値は、例えば、ユーザによって予め設定される。そして、生成装置100は、NG−DB830に保存された個人データの数が、所定の閾値以下である間、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG−DB830に保存するという動作を実施する。一方で、生成装置100は、NG−DB830に保存された個人データの数が、所定の閾値より大きくなった後、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG−DB830に保存するという動作を停止する。これにより、生成装置100は、OKと判定される個人データの数と、NGと判定される個人データの数との偏りを低減することができ、データの匿名性の向上を図り易くすることができる。
Further, the
(生成装置100の第3の動作例)
次に、図9を用いて、生成装置100の第3の動作例について説明する。
(Third operation example of the generator 100)
Next, a third operation example of the
図9は、生成装置100の第3の動作例を示す説明図である。第3の動作例は、生成装置100が、プライバシーテストにより、NGと判定された複数の個人データのうち、k個の個人データごとに、ミクロアグリゲーションを実施する場合に対応する。
FIG. 9 is an explanatory diagram showing a third operation example of the
図9において、(9−1)生成装置100は、(7−1)および(7−2)と同様の動作により、データ管理テーブル500に基づいて、性別の値が「女性」の個人データを含む個人データ群を、DB900に保存している。
In FIG. 9, the (9-1)
以下の説明では、生成装置100が、DB900を処理対象とする場合について説明する。生成装置100が、性別の値が「男性」の個人データを含む個人データ群を保存した他のDBなどを処理対象とする場合については、生成装置100が、DB900を処理対象とする場合と同様であるため、説明を省略する。
In the following description, a case where the
(9−2)生成装置100は、DB900に対して、ノイズ付与とプライバシーテストとを実施する。生成装置100は、例えば、DB900に記憶された個人データ群を取得する。生成装置100は、例えば、取得した個人データ群に含まれる個人データを、ランダムに所定回数選択する。
(9-2) The
生成装置100は、例えば、個人データを選択する都度、選択した個人データに基づいて、生成モデル910により匿名データを1以上生成する。生成モデル910は、確率的な生成モデルである。生成モデル910は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成モデル910は、例えば、取得した個人データ群に基づいて生成されてもよい。
For example, the
生成装置100は、例えば、生成した1以上の匿名データに基づいて、プライバシーテストを実施し、生成した1以上の匿名データを生成する元となった個人データの匿名度合いが、所定の基準を満たすか否かを判定する。ここで、生成装置100は、例えば、判定した結果がOKであれば、生成した1以上の匿名データを、リリースDB920に保存する。一方で、生成装置100は、判定した結果がNGであれば、生成した1以上の匿名データを破棄し、生成した1以上の匿名データを生成する元となった個人データを、NG−DB930に保存する。
The
(9−3)生成装置100は、NG−DB930に対して、クラスタリングを実施する。生成装置100は、例えば、NG−DB930に記憶された個人データ群940を取得する。生成装置100は、例えば、個人データ群940のそれぞれの個人データに含まれる値が大きい順に、個人データ群940をソートする。
(9-3) The
生成装置100は、例えば、ソート後の個人データ群940のうち、上位からk個の個人データずつ選択し、同一のクラスタとして分割することにより、ソート後の個人データ群940に対して、クラスタリングを実施する。kは、例えば、変動値であってもよい。換言すれば、クラスタごとに、異なる数の個人データが含まれていてもよい。図9の例では、生成装置100は、個人データ群940を、個人データ群941を同一のクラスタとして分割し、個人データ群942を同一のクラスタとして分割する。
For example, the
(9−4)生成装置100は、クラスタごとに、ミクロアグリゲーションを実施する。生成装置100は、例えば、あるクラスタに分割された個人データ群941を取得する。生成装置100は、例えば、取得した個人データ群941に対して、ミクロアグリゲーションを実施する。図9の例では、生成装置100は、個人データ群941のそれぞれの個人データに含まれる値を、個人データ群941のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データ群961を生成する。
(9-4) The
生成装置100は、例えば、あるクラスタに分割された個人データ群942を取得する。生成装置100は、例えば、取得した個人データ群942に対して、ミクロアグリゲーションを実施する。図9の例では、生成装置100は、個人データ群942のそれぞれの個人データに含まれる値を、個人データ群942のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データ群962を生成する。生成装置100は、例えば、ミクロアグリゲーションにより、個人データ群941から得られた匿名データ群961と、個人データ群942から得られた匿名データ群962とを合わせた、匿名データ群960を、MA−DB950に保存する。
The
(9−5)生成装置100は、クラスタごとに、生成モデル971,972を学習する。生成モデル971,972は、確率的な生成モデルである。生成モデル971,972は、例えば、差分プライバシーのメカニズムを有する生成モデルである。
(9-5) The
生成装置100は、例えば、あるクラスタに分割された個人データ群941を取得する。生成装置100は、例えば、取得した個人データ群941のそれぞれの個人データを、学習データに用いて、生成モデル971を学習する。生成装置100は、例えば、取得した個人データ群941のそれぞれの個人データに含まれる値に関する分散および平均に基づいて、生成モデル971を学習する。
The
生成装置100は、例えば、あるクラスタに分割された個人データ群942を取得する。生成装置100は、例えば、取得した個人データ群942のそれぞれの個人データを、学習データに用いて、生成モデル972を学習する。生成装置100は、例えば、取得した個人データ群942のそれぞれの個人データに含まれる値に関する分散および平均に基づいて、生成モデル972を学習する。
The
(9−6)生成装置100は、クラスタごとに、ノイズ付与を実施する。生成装置100は、例えば、あるクラスタに分割された匿名データ群961を取得する。生成装置100は、例えば、取得した匿名データ群961に含まれる匿名データを、ランダムに所定回数選択する。生成装置100は、取得した匿名データ群961のそれぞれの匿名データを選択してもよい。
(9-6) The
生成装置100は、例えば、匿名データを選択する都度、選択した匿名データに基づいて、学習した生成モデル971により、新たな匿名データを1以上生成する。生成装置100は、例えば、生成した新たな匿名データを含む匿名データ群を、リリースDB920に保存する。生成装置100は、新たな匿名データを1以上生成した際、プライバシーテストを実施してもよい。
For example, the
生成装置100は、例えば、あるクラスタに分割された匿名データ群962を取得する。生成装置100は、例えば、取得した匿名データ群962に含まれる匿名データを、ランダムに所定回数選択する。生成装置100は、取得した匿名データ群962のそれぞれの匿名データを選択してもよい。
The
生成装置100は、例えば、匿名データを選択する都度、選択した匿名データに基づいて、学習した生成モデル972により、新たな匿名データを1以上生成する。生成装置100は、例えば、生成した新たな匿名データを含む匿名データ群を、リリースDB920に保存する。生成装置100は、新たな匿名データを1以上生成した際、プライバシーテストを実施してもよい。
For example, the
このように、生成装置100が、DB900を処理対象とした場合、リリースDB920が得られる。一方で、生成装置100が、性別の値が「男性」の個人データを含む個人データ群を保存した他のDBを処理対象とした場合、リリースDB981が得られたものとする。
As described above, when the
(9−7)生成装置100は、リリースDB920と、リリースDB981とを結合し、DB980を生成する。これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。また、生成装置100は、NGと判定された個人データの特徴分布を示すヒストグラムと、生成モデル971,972により生成される新たな匿名データの特徴分布を示すヒストグラムとを、さらに近づけ易くすることができる。
(9-7) The
このように、生成装置100は、(k,γ)PDなどのプライバシーテストを含む匿名化データの生成アルゴリズムについて、出力される匿名データの有用性を向上することができ、匿名データの有用性と、個人データの匿名性とを両立することができる。
As described above, the
(生成装置100による効果)
次に、図10〜図17を用いて、生成装置100による効果について説明する。
(Effect of generator 100)
Next, the effect of the
図10は、メンバーシップインクルージョン攻撃の一例を示す説明図である。生成装置100は、動作例1〜動作例3により、メンバーシップインクルージョン攻撃を防止することができる。
FIG. 10 is an explanatory diagram showing an example of a membership inclusion attack. The
メンバーシップインクルージョン攻撃は、個人データdに係る個人と同一の属性を有する1以上の個人が、攻撃者と結託したと仮定した場合に可能な攻撃である。例えば、攻撃者は、プライバシーテストのパラメータk=3である場合、個人データdに係る個人と同一の属性を有する2名の個人を知っていれば、残りの1名の個人データdを推定可能である。 A membership inclusion attack is an attack that is possible when it is assumed that one or more individuals having the same attributes as the individual related to the personal data d have colluded with the attacker. For example, if the privacy test parameter k = 3, the attacker can estimate the remaining one personal data d if he / she knows two individuals who have the same attributes as the individual related to the personal data d. Is.
図10の例では、Aliceが存在し、また、Aliceと同一の属性「女性」「10代」を有するBecky、Chlis、Dazyが存在する。そして、それぞれの個人の個人データが、データ管理テーブル500に記憶されている。従来では、データ管理テーブル500に基づいて、それぞれの個人の個人データにノイズを加えたデータを含めたリリースデータセット1001が出力されることになる。
In the example of FIG. 10, Alice exists, and Becky, Chlis, and Dazzy having the same attributes “female” and “teen” as Alice exist. Then, the personal data of each individual is stored in the data management table 500. Conventionally, based on the data management table 500, the
ここで、攻撃者は、Alice、Becky、Chlis、Dazyの背景情報を知り、リリースデータセット1001を観察することにより、リリースデータセット1001に、Aliceの個人データを基にしたデータが含まれると推定可能である。攻撃者は、例えば、Aliceと同一の属性「女性」「10代」を有するBecky、Chlis、Dazyが存在することを知っている場合、Aliceに関する真値に近い個人データを取得することができる。
Here, the attacker knows the background information of Alice, Becky, Chlis, and Dazzy, and by observing the
これに対し、生成装置100は、データ管理テーブル500に基づいて、ランダムに選択した個人データにノイズを加えたデータを含めたリリースデータセット1002を出力することになる。このため、生成装置100は、それぞれの個人の個人データの匿名性を確保し、メンバーシップインクルージョン攻撃を防止することができる。
On the other hand, the
生成装置100は、本来であればNGと判定され得る個人データに基づいて、匿名データを生成して出力することができる。このため、生成装置100は、ユーザが、匿名データの有用性を向上するため、恣意的に、プライバシーテストを実施してしまうことを防止することができ、メンバーシップインクルージョン攻撃を防止し易くすることができる。
The
図11〜図14は、比較対象のヒストグラムの形状の第1の例を示す説明図である。生成装置100は、動作例1〜動作例3により、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができ、有用な匿名データを得ることができる。
11 to 14 are explanatory views showing a first example of the shape of the histogram to be compared. The
ここで、生成装置100との比較対象として、従来のプライバシーテストにより出力される複数の匿名データの特徴分布を示すヒストグラムについて説明する。図11の表1100は、従来のプライバシーテストにおいて、ε0を100に固定し、kを1〜1000まで変動した場合に、1月〜12月までのいずれかの値を有する個人データに基づいて出力される匿名データの数を示す。ここで、図12の説明に移行し、表1100をグラフ化した一例について説明する。
Here, as a comparison target with the
図12のグラフ1200は、表1100をグラフ化した一例である。表1100およびグラフ1200に示すように、個人データの匿名性を向上するため、kを大きくすると、出力される匿名データの数に偏りが生じることになる。例えば、k=1000の場合、k=1の場合に比べて、1月〜9月のいずれかの値を有する個人データに基づく匿名データは、出力されなくなっている。
これに対し、従来のプライバシーテストにおいて、ε0を小さくし、偏りの低減化を図ることも考えられる。図13の表1300は、従来のプライバシーテストにおいて、ε0を0.1に固定し、kを1〜1000まで変動した場合に、1月〜12月までのいずれかの値を有する個人データに基づいて出力される匿名データの数を示す。ここで、図14の説明に移行し、表1300をグラフ化した一例について説明する。 On the other hand, in the conventional privacy test, it is conceivable to reduce ε 0 to reduce the bias. Table 1300 in FIG. 13 shows personal data having any value from January to December when ε 0 is fixed at 0.1 and k is changed from 1 to 1000 in the conventional privacy test. Indicates the number of anonymous data to be output based on. Here, the explanation shifts to FIG. 14, and an example in which Table 1300 is graphed will be described.
図14のグラフ1400は、表1300をグラフ化した一例である。表1300およびグラフ1400に示すように、ε0を小さくしても、出力される匿名データの数に偏りが生じることになる。例えば、k=1000の場合、k=1の場合に比べて、11月の値を有する個人データに基づく匿名データの数は8割程度減少するのに対し、4月の値を有する個人データに基づく匿名データの数は5割程度減少することになる。
一方で、生成装置100は、プライバシーテストにより、NGと判定された個人データに基づいて、新たな匿名データを生成して出力することができる。このため、生成装置100は、出力される匿名データの数に、偏りが生じにくくすることができ、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができる。そして、生成装置100は、有用な匿名データを得ることができる。
On the other hand, the
また、生成装置100は、本来であればNGと判定され得る個人データに基づいて、匿名データを生成して出力することができる。このため、生成装置100は、ユーザが、匿名データの有用性を向上するため、恣意的に、プライバシーテストを実施してしまうことを防止することができ、個人データの匿名性を向上することができる。
Further, the
図15〜図17は、比較対象のヒストグラムの形状の第2の例を示す説明図である。生成装置100は、動作例1〜動作例3により、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができ、有用な匿名データを得ることができる。
15 to 17 are explanatory views showing a second example of the shape of the histogram to be compared. The
ここで、生成装置100との比較対象として、従来のプライバシーテストにより出力される複数の匿名データの特徴分布を示すヒストグラムについて説明する。図15のグラフ1500は、1月〜12月までのいずれかの値を有する個人データの数をグラフ化した一例である。次に、図16の説明に移行する。
Here, as a comparison target with the
図16のグラフ1601〜1603は、従来のプライバシーテストにおいて、kを平均値k1に固定し、ε0を0.001〜100まで変動した場合に、1月〜12月までのいずれかの値を有する個人データに基づいて出力される匿名データの数をグラフ化した一例である。図16のグラフ1601は、ε0を0.001にした場合に対応する。図16のグラフ1602は、ε0を1にした場合に対応する。図16のグラフ1603は、ε0を100にした場合に対応する。
グラフ1601〜1603に示すように、個人データの匿名性を向上するため、ε0を大きくすると、出力される匿名データの数に偏りが生じることになる。例えば、ε0=100の場合、1月〜4月、6月、8月のいずれかの値を有する個人データに基づく匿名データは、出力されなくなっている。次に、図17の説明に移行する。
As shown in
図17のグラフ1701〜1703は、従来のプライバシーテストにおいて、kを最低値k2に固定し、ε0を0.001〜100まで変動した場合に、1月〜12月までのいずれかの値を有する個人データに基づいて出力される匿名データの数をグラフ化した一例である。図17のグラフ1701は、ε0を0.001にした場合に対応する。図17のグラフ1702は、ε0を1にした場合に対応する。図17のグラフ1703は、ε0を100にした場合に対応する。
グラフ1701〜1703に示すように、ε0を大きくすると、出力される匿名データの数に基づいて、kの値が推定され易くなってしまう。例えば、ε0=100の場合、4月の値を有する個人データに基づく匿名データの数のみが5割程度減少しており、4月の値を有する個人データに基づく匿名データの数に基づいて、kの値が推定され易くなってしまう。
As shown in
一方で、生成装置100は、プライバシーテストにより、NGと判定された個人データに基づいて、新たな匿名データを生成して出力することができる。このため、生成装置100は、出力される匿名データの数に、偏りが生じにくくすることができ、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができる。そして、生成装置100は、有用な匿名データを得ることができる。また、生成装置100は、プライバシーテストのパラメータを推定されにくくすることができる。
On the other hand, the
このように、従来のプライバシーテストのパラメータk,γ,ε0を、匿名データの有用性と、個人データの匿名性とを、バランスよく両立するよう、調整することは難しい。これに対し、生成装置100は、プライバシーテストのパラメータk,γ,ε0を、適切に調整せずとも、匿名データの有用性と、個人データの匿名性とを、バランスよく両立することができる。
As described above, it is difficult to adjust the parameters k, γ, and ε 0 of the conventional privacy test so as to balance the usefulness of anonymous data and the anonymity of personal data in a well-balanced manner. On the other hand, the
生成装置100は、プライバシーテストのパラメータk,γ,ε0により、NGと判定される個人データの数が増加したとしても、匿名データの有用性と、個人データの匿名性とを、バランスよく両立することができる。結果として、生成装置100は、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとの、数量と比率とを類似させることができ、かつ、個人データの匿名性を確保することができる。
The
(準備処理手順)
次に、図18を用いて、生成装置100が実行する、準備処理手順の一例について説明する。準備処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
(Preparation procedure)
Next, an example of the preparatory processing procedure executed by the
図18は、準備処理手順の一例を示すフローチャートである。図18において、まず、生成装置100は、ヒストグラムの有用性を一定にする対象の属性を取得する(ステップS1801)。対象の属性は、例えば、ユーザによって予め設定される。ユーザは、例えば、ヒストグラムの有用性を一定にする属性の優先度を、性別、身長の順に設定する。
FIG. 18 is a flowchart showing an example of the preparatory processing procedure. In FIG. 18, first, the
次に、生成装置100は、DBの記憶内容を取得する(ステップS1802)。そして、生成装置100は、優先度に沿って、いずれかの属性について、DBの記憶内容を分割する(ステップS1803)。生成装置100は、例えば、優先度に沿って、性別が女性と男性とで、DBの記憶内容を分割する。
Next, the
次に、生成装置100は、分割した記憶内容のそれぞれを、DBnとして保存する(ステップS1804)。そして、生成装置100は、未処理の属性が存在するか否かを判定する(ステップS1805)。
Next, the
ここで、未処理の属性が存在する場合(ステップS1805:Yes)、生成装置100は、ステップS1802の処理に戻る。一方で、未処理の属性が存在しない場合(ステップS1805:No)、生成装置100は、準備処理を終了する。
Here, if an unprocessed attribute exists (step S1805: Yes), the
(テスト処理手順)
次に、図19を用いて、生成装置100が実行する、テスト処理手順の一例について説明する。テスト処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
(Test processing procedure)
Next, an example of a test processing procedure executed by the
図19は、テスト処理手順の一例を示すフローチャートである。図19において、生成装置100は、安全性基準を取得する(ステップS1901)。安全性基準は、例えば、プライバシーテストのパラメータk,γ,ε0を含む。
FIG. 19 is a flowchart showing an example of the test processing procedure. In FIG. 19, the
次に、生成装置100は、DBnの記憶内容を取得する(ステップS1902)。そして、生成装置100は、DBnの記憶内容に基づいて、データを生成するメカニズムMを生成する(ステップS1903)。
Next, the
メカニズムMは、差分プライバシーを保証したデータを生成するアルゴリズムである。生成装置100は、例えば、DBnの記憶内容の各レコードriに含まれる値に関する平均および分散を算出し、算出した平均および分散と、安全性基準とに基づいて、メカニズムMを生成する。
Mechanism M is an algorithm that generates data that guarantees differential privacy. The
次に、生成装置100は、DBnの記憶内容から、未処理のいずれかのレコードriを抽出し、メカニズムMへの入力に設定する(ステップS1904)。そして、生成装置100は、メカニズムMにより、レコードriにノイズを加えたデータM(ri)を、所定の数だけ生成する(ステップS1905)。
Next, the generation device 100 extracts one of the unprocessed records r i from the stored contents of the DBn and sets it as an input to the mechanism M (step S1904). Then,
次に、生成装置100は、kのランダム化処理を実施する(ステップS1906)。生成装置100は、例えば、kに関するメカニズムM’により、kのランダム化処理を実施する。この際、生成装置100は、複数のランダム化したk’を生成してもよい。そして、生成装置100は、ランダム化したk’を取得する(ステップS1907)。
Next, the
次に、生成装置100は、レコードriに対してプライバシーテストを実施し、OKか否かを判定する(ステップS1908)。この際、生成装置100は、一定確率で、NGであると判定してもよい。ここで、NGである場合(ステップS1908:No)、生成装置100は、ステップS1910の処理に移行する。一方で、OKである場合(ステップS1908:Yes)、生成装置100は、ステップS1909の処理に移行する。
Next, the
ステップS1909では、生成装置100は、データM(ri)をリリースデータセットとして、RL−DBに保存する(ステップS1909)。RL−DBは、リリースDBである。そして、生成装置100は、ステップS1911の処理に移行する。
In step S1909,
ステップS1910では、生成装置100は、レコードriをNG−DBに保存する(ステップS1910)。そして、生成装置100は、ステップS1911の処理に移行する。
In step S1910, the
ステップS1911では、生成装置100は、レコードriを所定の数抽出したか否かを判定する(ステップS1911)。ここで、所定の数抽出していない場合(ステップS1911:No)、生成装置100は、ステップS1904の処理に戻る。一方で、所定の数抽出している場合(ステップS1911:Yes)、生成装置100は、テスト処理を終了する。
In step S1911, the
(分岐処理手順)
次に、図20を用いて、生成装置100が実行する、分岐処理手順の一例について説明する。分岐処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
(Branch processing procedure)
Next, an example of the branch processing procedure executed by the
図20は、分岐処理手順の一例を示すフローチャートである。図20において、生成装置100は、安全性基準を取得する(ステップS2001)。安全性基準は、例えば、プライバシーテストのパラメータk,γ,ε0を含む。
FIG. 20 is a flowchart showing an example of the branch processing procedure. In FIG. 20, the
次に、生成装置100は、RL−DBの記憶内容を取得する(ステップS2002)。そして、生成装置100は、RL−DBの記憶内容におけるレコードの数を取得する(ステップS2003)。
Next, the
次に、生成装置100は、レコードの数が上限以上であるか否かを判定する(ステップS2004)。ここで、レコードの数が上限以上である場合(ステップS2004:Yes)、生成装置100は、ステップS2005の処理に移行する。一方で、レコードの数が上限未満である場合(ステップS2004:No)、生成装置100は、ステップS2007の処理に移行する。
Next, the
ステップS2005では、生成装置100は、プライバシーテストのオプションのPTOPを変更する(ステップS2005)。次に、生成装置100は、図19に示したテスト処理を再度実行する(ステップS2006)。そして、生成装置100は、分岐処理を終了する。
In step S2005, the
ステップS2007では、生成装置100は、レコードの数が下限以下であるか否かを判定する(ステップS2007)。ここで、レコードの数が下限以下である場合(ステップS2007:Yes)、生成装置100は、ステップS2008の処理に移行する。一方で、レコードの数が下限より大きい場合(ステップS2007:No)、生成装置100は、ステップS2009の処理に移行する。
In step S2007, the
ステップS2008では、生成装置100は、ミクロアグリゲーションのオプションのMAOPを変更する(ステップS2008)。そして、生成装置100は、ステップS2009の処理に移行する。
In step S2008, the
ステップS2009では、生成装置100は、図21に後述する再利用処理を実行する(ステップS2009)。そして、生成装置100は、分岐処理を終了する。
In step S2009, the
(再利用処理手順)
次に、図21を用いて、生成装置100が実行する、再利用処理手順の一例について説明する。再利用処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
(Reuse processing procedure)
Next, an example of the reuse processing procedure executed by the
図21は、再利用処理手順の一例を示すフローチャートである。図21において、生成装置100は、安全性基準を取得する(ステップS2101)。安全性基準は、例えば、プライバシーテストのパラメータk,γ,ε0を含む。
FIG. 21 is a flowchart showing an example of the reuse processing procedure. In FIG. 21, the
次に、生成装置100は、NG−DBの記憶内容を取得する(ステップS2102)。そして、生成装置100は、MAOPを取得し、NG−DBの記憶内容に対してミクロアグリゲーション処理を実行する(ステップS2103)。
Next, the
次に、生成装置100は、NG−DBの記憶内容のうち、上位からk個のデータを抽出する(ステップS2104)。そして、生成装置100は、抽出したk個のデータに基づいて、データを生成するメカニズムMiを生成する(ステップS2105)。
Next, the
メカニズムMiは、差分プライバシーを保証したデータを生成するアルゴリズムである。生成装置100は、例えば、抽出したk個のデータに含まれる値に関する平均および分散を算出し、算出した平均および分散と、安全性基準とに基づいて、メカニズムMiを生成する。
Mechanism M i is an algorithm to generate the data that guarantees the difference privacy. The
次に、生成装置100は、k個のデータを平均化し、i番目の処理対象としてMA−DBに保存する(ステップS2106)。そして、生成装置100は、NG−DBの記憶内容のすべてのデータを抽出したか否かを判定する(ステップS2107)。ここで、未抽出のデータが残っている場合(ステップS2107:No)、生成装置100は、ステップS2104の処理に戻る。一方で、すべてのデータを抽出している場合(ステップS2107:Yes)、生成装置100は、ステップS2108の処理に移行する。
Next, the
ステップS2108では、生成装置100は、MA−DBの記憶内容から、i番目の処理対象のレコードmi,kを抽出する(ステップS2108)。次に、生成装置100は、メカニズムMiにより、レコードmi,kを変換し、レコードMi(mi,k)を生成する(ステップS2109)。そして、生成装置100は、生成したレコードMi(mi,k)をRL−DBに保存する(ステップS2110)。
In step S2108, the generation device 100 extracts the i-th processing target record mi, k from the stored contents of the MA-DB (step S2108). Next, the
次に、生成装置100は、MA−DBの記憶内容のすべてのレコードを抽出したか否かを判定する(ステップS2111)。ここで、未抽出のレコードが残っている場合(ステップS2111:No)、生成装置100は、ステップS2108の処理に戻る。一方で、すべてのレコードを抽出している場合(ステップS2111:Yes)、生成装置100は、再利用処理を終了する。
Next, the
ここで、生成装置100は、図18〜図21の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS1904,1905の処理と、ステップS1906,1907の処理との順序は入れ替え可能である。また、生成装置100は、図18〜図21の各フローチャートの一部ステップの処理を省略してもよい。例えば、ステップS1801〜S1805の処理は省略可能である。
Here, the
以上説明したように、生成装置100によれば、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した結果に基づいて、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定することができる。生成装置100によれば、特定した1以上の個人データに基づいて、第2の匿名化モデルを学習することができる。生成装置100によれば、特定した1以上の個人データに基づいて、1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成することができる。生成装置100によれば、生成した1以上の匿名データのそれぞれの匿名データを、学習した第2の匿名化モデルにより匿名化して得られた、新たな匿名データを出力することができる。これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。
As described above, according to the
生成装置100によれば、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した結果に基づいて、当該個人データの匿名度合いが、所定の基準を満たすか否かを判定することができる。生成装置100によれば、複数の個人データに含まれる個人データの匿名度合いが、所定の基準を満たすか否かを判定するにあたり、所定の確率で、所定の基準を満たさないと判定することができる。生成装置100によれば、判定した結果に基づいて、1以上の個人データを特定することができる。これにより、生成装置100は、所定の基準を満たさないと判定される個人データの数が少ないために、統計的解析により、個人データの匿名性が損なわれるおそれが生じるような状況を回避することができる。
According to the
生成装置100によれば、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した際に、当該個人データと同一または類似する値を含む、複数の個人データのうちの他の個人データの数を算出することができる。生成装置100によれば、算出した数が、所定の数以下であれば、所定の基準を満たさないと判定することができる。これにより、生成装置100は、個人データの匿名性が確保されているか否かを判定することができる。
According to the
生成装置100によれば、所定の数に、可変値を採用することができる。これにより、生成装置100は、メンバーシップインクルージョン攻撃を防止し易くすることができる。
According to the
生成装置100によれば、第1の匿名化モデルに、個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルを採用することができる。生成装置100によれば、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した際に、加算したノイズ値の代表値が、所定の閾値以下であれば、所定の基準を満たさないと判定することができる。これにより、生成装置100は、個人データの匿名性が確保されているか否かを判定することができる。
According to the
生成装置100によれば、特定した1以上の個人データを、1以上のクラスタに分割することができる。生成装置100によれば、クラスタごとに、クラスタに分割した個人データに基づいて、クラスタに対応する第2の匿名化モデルを学習することができる。生成装置100によれば、クラスタごとに、クラスタに分割した個人データに基づいて、クラスタに分割した個人データのそれぞれよりも匿名度合いが高い、クラスタに対応する匿名データを生成することができる。生成装置100によれば、クラスタごとに、生成したクラスタに対応する匿名データを、学習したクラスタに対応する第2の匿名化モデルにより匿名化して得られた、新たな匿名データを出力することができる。これにより、生成装置100は、第2の匿名化モデルにより匿名化して得られる1以上の新たな匿名データの特徴分布を示すヒストグラムを、複数の個人データの特徴分布を示すヒストグラムと類似させ易くすることができる。
According to the
生成装置100によれば、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出することができる。生成装置100によれば、特定した1以上の個人データのそれぞれの個人データに含まれる値を、算出した統計値に置換し、1以上の匿名データを生成することができる。これにより、生成装置100は、個人データの匿名性の向上を図ることができる。
According to the
生成装置100によれば、さらに、複数の個人データのうち、匿名度合いが所定の基準を満たす個人データを、第1の匿名化モデルにより匿名化して得られた匿名データを出力することができる。これにより、生成装置100は、ユーザが、有用な匿名データを利用可能にすることができる。
According to the
生成装置100によれば、第2の匿名化モデルに、匿名データに含まれる値に、ランダムなノイズ値を加算して得られる新たな匿名データを、1以上生成するモデルを採用することができる。これにより、生成装置100は、個人データの匿名性を向上可能な第2の匿名化モデルを採用することができる。
According to the
生成装置100によれば、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する分散および平均に基づいて、第2の匿名化モデルに用いられるノイズ値の範囲を決定し、第2の匿名化モデルを学習することができる。これにより、生成装置100は、第2の匿名化モデルにより匿名化して得られる1以上の新たな匿名データの特徴分布を示すヒストグラムを、複数の個人データの特徴分布を示すヒストグラムと類似させ易くすることができる。
According to the
なお、本実施の形態で説明した生成方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した生成プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した生成プログラムは、インターネットなどのネットワークを介して配布してもよい。 The generation method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a PC or a workstation. The generation program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium is a hard disk, a flexible disk, a CD (Compact Disc) -ROM, an MO (Magnet Optical disc), a DVD (Digital Versaille Disc), or the like. Further, the generation program described in the present embodiment may be distributed via a network such as the Internet.
上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are further disclosed with respect to the above-described embodiment.
(付記1)情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
処理をコンピュータが実行することを特徴とする生成方法。
(Appendix 1) Anonymization of information Based on the result of anonymizing personal data contained in a plurality of personal data by the first anonymization model, the degree of anonymity of the plurality of personal data is set as a predetermined criterion. Identify one or more personal data that does not meet and
Based on the identified one or more personal data, learn a second anonymization model that anonymizes information.
Based on the specified one or more personal data, one or more anonymous data having a higher degree of anonymity than each personal data of the one or more personal data is generated.
A new anonymous data obtained by anonymizing each anonymized data of the one or more generated anonymous data by the learned second anonymization model is output.
A generation method characterized by the processing being performed by a computer.
(付記2)前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した結果に基づいて、当該個人データの匿名度合いが、前記所定の基準を満たすか否かを判定する、
処理を前記コンピュータが実行し、
前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した結果に基づいて、当該個人データの匿名度合いが、前記所定の基準を満たすか否かを判定するにあたり、所定の確率で、前記所定の基準を満たさないと判定し、
前記特定する処理は、
判定した結果に基づいて、前記1以上の個人データを特定する、ことを特徴とする付記1に記載の生成方法。
(Appendix 2) Whether or not the degree of anonymity of the personal data satisfies the predetermined criteria based on the result of anonymizing the personal data included in the plurality of personal data by the first anonymization model. judge,
The computer executes the process,
The determination process is
In determining whether or not the degree of anonymity of the personal data satisfies the predetermined criteria based on the result of anonymizing the personal data included in the plurality of personal data by the first anonymization model. With a predetermined probability, it is determined that the predetermined criteria are not met,
The specific process is
The generation method according to
(付記3)前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した際に、当該個人データと同一または類似する値を含む、前記複数の個人データのうちの他の個人データの数が、所定の数以下であれば、前記所定の基準を満たさないと判定する、ことを特徴とする付記2に記載の生成方法。
(Appendix 3) The determination process is
When personal data contained in the plurality of personal data is anonymized by the first anonymization model, other personal data among the plurality of personal data including values that are the same as or similar to the personal data. The generation method according to
(付記4)前記所定の数は、可変値である、ことを特徴とする付記3に記載の生成方法。
(Appendix 4) The generation method according to
(付記5)前記第1の匿名化モデルは、前記個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルであり、
前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した際に、加算したノイズ値の代表値が、所定の閾値以下であれば、前記所定の基準を満たさないと判定する、ことを特徴とする付記2〜4のいずれか一つに記載の生成方法。
(Appendix 5) The first anonymization model is a model that generates one or more anonymous data obtained by adding a random noise value to a value included in the personal data.
The determination process is
When the personal data included in the plurality of personal data is anonymized by the first anonymization model, if the representative value of the added noise value is equal to or less than a predetermined threshold value, the predetermined criterion is not satisfied. The generation method according to any one of
(付記6)特定した前記1以上の個人データを、1以上のクラスタに分割する、
処理を前記コンピュータが実行し、
前記学習する処理は、
前記クラスタごとに、前記クラスタに分割した個人データに基づいて、前記クラスタに対応する前記第2の匿名化モデルを学習し、
前記生成する処理は、
前記クラスタごとに、前記クラスタに分割した個人データに基づいて、前記クラスタに分割した個人データのそれぞれよりも匿名度合いが高い、前記クラスタに対応する匿名データを生成し、
前記出力する処理は、
前記クラスタごとに、学習した前記クラスタに対応する前記第2の匿名化モデルにより、生成した前記クラスタに対応する前記匿名データを匿名化して得られた、新たな匿名データを出力する、ことを特徴とする付記1〜5のいずれか一つに記載の生成方法。
(Appendix 6) The specified one or more personal data is divided into one or more clusters.
The computer executes the process,
The learning process is
For each cluster, the second anonymization model corresponding to the cluster is learned based on the personal data divided into the clusters.
The process to be generated is
For each of the clusters, based on the personal data divided into the clusters, anonymous data corresponding to the clusters having a higher degree of anonymity than each of the personal data divided into the clusters is generated.
The output process is
Each of the clusters is characterized in that new anonymous data obtained by anonymizing the generated anonymous data corresponding to the cluster by the second anonymization model corresponding to the learned cluster is output. The generation method according to any one of
(付記7)特定した前記1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出する、
処理を前記コンピュータが実行し、
前記生成する処理は、
特定した前記1以上の個人データのそれぞれの個人データに含まれる値を、算出した前記統計値に置換し、1以上の匿名データを生成する、ことを特徴とする付記1〜6のいずれか一つに記載の生成方法。
(Appendix 7) Calculate the statistical value regarding the value included in each personal data of the specified one or more personal data.
The computer executes the process,
The process to be generated is
Any one of
(付記8)前記出力する処理は、
さらに、前記複数の個人データのうち、匿名度合いが前記所定の基準を満たす個人データを、前記第1の匿名化モデルにより匿名化して得られた匿名データを出力する、ことを特徴とする付記1〜7のいずれか一つに記載の生成方法。
(Appendix 8) The output process is
Further, of the plurality of personal data, the personal data whose degree of anonymity satisfies the predetermined criterion is anonymized by the first anonymization model, and the anonymized data obtained is output. The generation method according to any one of 7 to 7.
(付記9)前記第2の匿名化モデルは、前記匿名データに含まれる値に、ランダムなノイズ値を加算して得られる新たな匿名データを、1以上生成するモデルである、ことを特徴とする付記1〜7のいずれか一つに記載の生成方法。
(Appendix 9) The second anonymization model is characterized in that one or more new anonymous data obtained by adding a random noise value to the value included in the anonymous data is generated. The generation method according to any one of
(付記10)前記学習する処理は、
特定した前記1以上の個人データのそれぞれの個人データに含まれる値に関する分散および平均に基づいて、前記第2の匿名化モデルに用いられるノイズ値の範囲を決定し、前記第2の匿名化モデルを学習する、ことを特徴とする付記9に記載の生成方法。
(Appendix 10) The learning process is
The range of noise values used in the second anonymization model is determined based on the variance and average of the values contained in each of the specified one or more personal data, and the second anonymization model is used. The generation method according to
(付記11)情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
(Appendix 11) Anonymization of information Based on the result of anonymizing personal data contained in a plurality of personal data by the first anonymization model, the degree of anonymity of the plurality of personal data is set as a predetermined criterion. Identify one or more personal data that does not meet and
Based on the identified one or more personal data, learn a second anonymization model that anonymizes information.
Based on the specified one or more personal data, one or more anonymous data having a higher degree of anonymity than each personal data of the one or more personal data is generated.
A new anonymous data obtained by anonymizing each anonymized data of the one or more generated anonymous data by the learned second anonymization model is output.
A generator characterized by having a computer perform processing.
(付記12)情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
制御部を有することを特徴とする生成装置。
(Appendix 12) Anonymization of information Based on the result of anonymizing personal data contained in a plurality of personal data by the first anonymization model, the degree of anonymity of the plurality of personal data is set as a predetermined criterion. Identify one or more personal data that does not meet and
Based on the identified one or more personal data, learn a second anonymization model that anonymizes information.
Based on the specified one or more personal data, one or more anonymous data having a higher degree of anonymity than each personal data of the one or more personal data is generated.
A new anonymous data obtained by anonymizing each anonymized data of the one or more generated anonymous data by the learned second anonymization model is output.
A generator characterized by having a control unit.
100 生成装置
102,750,830,930 NG−DB
103,760,840,950 MA−DB
104,740,781,820,861,920,981 リリースDB
110 第1の匿名化モデル
120 第2の匿名化モデル
300 データ利活用システム
301 データ提供側装置
302 データ利用側装置
310 ネットワーク
400 バス
401 CPU
402 メモリ
403 ネットワークI/F
404 記録媒体I/F
405 記録媒体
500 データ管理テーブル
600 記憶部
601 取得部
602 第1の匿名化部
603 判定部
604 特定部
605 学習部
606 生成部
607 第2の匿名化部
608 出力部
701,711,751,801,831,842,940〜942 個人データ群
702,703 クラスタ
710,720,780,800,860,900,980 DB
730,770,810,850,910,971,972 生成モデル
761,771,841,851,960〜962 匿名データ群
1001,1002 リリースデータセット
1100,1300 表
1200,1400,1500,1601〜1603,1701〜1703 グラフ
100 Generator 102,750,830,930 NG-DB
103,760,840,950 MA-DB
104,740,781,820,861,920,981 release DB
110
402
404 Recording medium I / F
405 Recording medium 500 Data management table 600
730,770,810,850,910,971,972 Generative model 761,771,841,851,960-962
Claims (8)
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
処理をコンピュータが実行することを特徴とする生成方法。 Based on the result of anonymizing personal data contained in a plurality of personal data by the first anonymization model for anonymizing information, one or more of the plurality of personal data whose degree of anonymity does not meet a predetermined standard. Identify your personal data
Based on the identified one or more personal data, learn a second anonymization model that anonymizes information.
Based on the specified one or more personal data, one or more anonymous data having a higher degree of anonymity than each personal data of the one or more personal data is generated.
A new anonymous data obtained by anonymizing each anonymized data of the one or more generated anonymous data by the learned second anonymization model is output.
A generation method characterized by the processing being performed by a computer.
処理を前記コンピュータが実行し、
前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した結果に基づいて、当該個人データの匿名度合いが、前記所定の基準を満たすか否かを判定するにあたり、所定の確率で、前記所定の基準を満たさないと判定し、
前記特定する処理は、
判定した結果に基づいて、前記1以上の個人データを特定する、ことを特徴とする請求項1に記載の生成方法。 Based on the result of anonymizing the personal data included in the plurality of personal data by the first anonymization model, it is determined whether or not the degree of anonymity of the personal data satisfies the predetermined criterion.
The computer executes the process,
The determination process is
In determining whether or not the degree of anonymity of the personal data satisfies the predetermined criteria based on the result of anonymizing the personal data included in the plurality of personal data by the first anonymization model. With a predetermined probability, it is determined that the predetermined criteria are not met,
The specific process is
The generation method according to claim 1, wherein one or more personal data is specified based on the determination result.
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した際に、当該個人データと同一または類似する値を含む、前記複数の個人データのうちの他の個人データの数が、所定の数以下であれば、前記所定の基準を満たさないと判定する、ことを特徴とする請求項2に記載の生成方法。 The determination process is
When personal data contained in the plurality of personal data is anonymized by the first anonymization model, other personal data among the plurality of personal data including values that are the same as or similar to the personal data. The generation method according to claim 2, wherein if the number of is equal to or less than a predetermined number, it is determined that the predetermined number is not satisfied.
前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した際に、加算したノイズ値の代表値が、所定の閾値以下であれば、前記所定の基準を満たさないと判定する、ことを特徴とする請求項2または3に記載の生成方法。 The first anonymization model is a model that generates one or more anonymous data obtained by adding a random noise value to a value included in the personal data.
The determination process is
When the personal data included in the plurality of personal data is anonymized by the first anonymization model, if the representative value of the added noise value is equal to or less than a predetermined threshold value, the predetermined criterion is not satisfied. The generation method according to claim 2 or 3, wherein the determination is made.
処理を前記コンピュータが実行し、
前記学習する処理は、
前記クラスタごとに、前記クラスタに分割した個人データに基づいて、前記クラスタに対応する前記第2の匿名化モデルを学習し、
前記生成する処理は、
前記クラスタごとに、前記クラスタに分割した個人データに基づいて、前記クラスタに分割した個人データのそれぞれよりも匿名度合いが高い、前記クラスタに対応する匿名データを生成し、
前記出力する処理は、
前記クラスタごとに、学習した前記クラスタに対応する前記第2の匿名化モデルにより、生成した前記クラスタに対応する前記匿名データを匿名化して得られた、新たな匿名データを出力する、ことを特徴とする請求項1〜4のいずれか一つに記載の生成方法。 Divide the specified one or more personal data into one or more clusters.
The computer executes the process,
The learning process is
For each cluster, the second anonymization model corresponding to the cluster is learned based on the personal data divided into the clusters.
The process to be generated is
For each of the clusters, based on the personal data divided into the clusters, anonymous data corresponding to the clusters having a higher degree of anonymity than each of the personal data divided into the clusters is generated.
The output process is
Each of the clusters is characterized in that new anonymous data obtained by anonymizing the generated anonymous data corresponding to the cluster by the second anonymization model corresponding to the learned cluster is output. The generation method according to any one of claims 1 to 4.
処理を前記コンピュータが実行し、
前記生成する処理は、
特定した前記1以上の個人データのそれぞれの個人データに含まれる値を、算出した前記統計値に置換し、1以上の匿名データを生成する、ことを特徴とする請求項1〜5のいずれか一つに記載の生成方法。 Calculate the statistical value regarding the value included in each personal data of the specified one or more personal data.
The computer executes the process,
The process to be generated is
Any of claims 1 to 5, wherein the value included in each of the specified personal data of one or more personal data is replaced with the calculated statistical value to generate one or more anonymous data. The generation method described in one.
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
処理をコンピュータに実行させることを特徴とする生成プログラム。 Based on the result of anonymizing personal data contained in a plurality of personal data by the first anonymization model for anonymizing information, one or more of the plurality of personal data whose degree of anonymity does not meet a predetermined standard. Identify your personal data
Based on the identified one or more personal data, learn a second anonymization model that anonymizes information.
Based on the specified one or more personal data, one or more anonymous data having a higher degree of anonymity than each personal data of the one or more personal data is generated.
A new anonymous data obtained by anonymizing each anonymized data of the one or more generated anonymous data by the learned second anonymization model is output.
A generator characterized by having a computer perform processing.
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
制御部を有することを特徴とする生成装置。 Based on the result of anonymizing personal data contained in a plurality of personal data by the first anonymization model for anonymizing information, one or more of the plurality of personal data whose degree of anonymity does not meet a predetermined standard. Identify your personal data
Based on the identified one or more personal data, learn a second anonymization model that anonymizes information.
Based on the specified one or more personal data, one or more anonymous data having a higher degree of anonymity than each personal data of the one or more personal data is generated.
A new anonymous data obtained by anonymizing each anonymized data of the one or more generated anonymous data by the learned second anonymization model is output.
A generator characterized by having a control unit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020062248A JP7359063B2 (en) | 2020-03-31 | 2020-03-31 | Generation method, generation program, and generation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020062248A JP7359063B2 (en) | 2020-03-31 | 2020-03-31 | Generation method, generation program, and generation device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021163014A true JP2021163014A (en) | 2021-10-11 |
| JP7359063B2 JP7359063B2 (en) | 2023-10-11 |
Family
ID=78003378
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020062248A Active JP7359063B2 (en) | 2020-03-31 | 2020-03-31 | Generation method, generation program, and generation device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7359063B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024000164A (en) * | 2022-06-20 | 2024-01-05 | Lineヤフー株式会社 | Information processing device, information processing method, and information processing program |
| JP2024000165A (en) * | 2022-06-20 | 2024-01-05 | Lineヤフー株式会社 | Information processing device, information processing method, and information processing program |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017215868A (en) * | 2016-06-01 | 2017-12-07 | Necソリューションイノベータ株式会社 | Anonymization processing device, anonymization processing method, and program |
| JP2018049437A (en) * | 2016-09-21 | 2018-03-29 | Kddi株式会社 | Evaluation apparatus, evaluation method, and evaluation program |
| JP2019021198A (en) * | 2017-07-20 | 2019-02-07 | 国立大学法人電気通信大学 | Clustering apparatus, clustering method, and program |
| JP2019032814A (en) * | 2017-05-10 | 2019-02-28 | エアクローク ゲーエムベーハーAircloak GmbH | System and method for anonymization statistic database query using noise element |
| WO2019168144A1 (en) * | 2018-03-02 | 2019-09-06 | 日本電気株式会社 | Information processing device, information processing system, information processing method, and recording medium |
-
2020
- 2020-03-31 JP JP2020062248A patent/JP7359063B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017215868A (en) * | 2016-06-01 | 2017-12-07 | Necソリューションイノベータ株式会社 | Anonymization processing device, anonymization processing method, and program |
| JP2018049437A (en) * | 2016-09-21 | 2018-03-29 | Kddi株式会社 | Evaluation apparatus, evaluation method, and evaluation program |
| JP2019032814A (en) * | 2017-05-10 | 2019-02-28 | エアクローク ゲーエムベーハーAircloak GmbH | System and method for anonymization statistic database query using noise element |
| JP2019021198A (en) * | 2017-07-20 | 2019-02-07 | 国立大学法人電気通信大学 | Clustering apparatus, clustering method, and program |
| WO2019168144A1 (en) * | 2018-03-02 | 2019-09-06 | 日本電気株式会社 | Information processing device, information processing system, information processing method, and recording medium |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024000164A (en) * | 2022-06-20 | 2024-01-05 | Lineヤフー株式会社 | Information processing device, information processing method, and information processing program |
| JP2024000165A (en) * | 2022-06-20 | 2024-01-05 | Lineヤフー株式会社 | Information processing device, information processing method, and information processing program |
| JP7778645B2 (en) | 2022-06-20 | 2025-12-02 | Lineヤフー株式会社 | Information processing device, information processing method, and information processing program |
| JP7788354B2 (en) | 2022-06-20 | 2025-12-18 | Lineヤフー株式会社 | Information processing device, information processing method, and information processing program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7359063B2 (en) | 2023-10-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Cummings et al. | " i need a better description": An investigation into user expectations for differential privacy | |
| KR102430649B1 (en) | Computer-implemented system and method for automatically identifying attributes for anonymization | |
| Efron et al. | Improving retrieval of short texts through document expansion | |
| US11004548B1 (en) | System for providing de-identified mortality indicators in healthcare data | |
| KR101745765B1 (en) | Method and apparatus for determining and utilizing value of digital assets | |
| US10176340B2 (en) | Abstracted graphs from social relationship graph | |
| US20170277907A1 (en) | Abstracted Graphs from Social Relationship Graph | |
| US20200143012A1 (en) | Digital rights management using a digital agent | |
| Billhardt et al. | Trust-based service provider selection in open environments | |
| US20240020415A1 (en) | Method of anonymizing a multi-relational dataset | |
| CN107211000B (en) | System and method for implementing a privacy firewall | |
| TW201820231A (en) | Method and device for integrate collaborative filtering with time factor | |
| Gundecha et al. | A tool for collecting provenance data in social media | |
| Riederer et al. | " I don't have a photograph, but you can have my footprints." Revealing the Demographics of Location Data | |
| JP2021163014A (en) | Generation method, generation program, and generation device | |
| US20110153619A1 (en) | Personalized content links | |
| US20180137149A1 (en) | De-identification data generation apparatus, method, and non-transitory computer readable storage medium thereof | |
| CN112100670A (en) | Big data based privacy data grading protection method | |
| Doerfel et al. | An analysis of tag-recommender evaluation procedures | |
| CN114564744A (en) | Data protection method and device for medical health archive management system | |
| JP6705763B2 (en) | Generation device, generation method, and generation program | |
| JP5292336B2 (en) | Knowledge amount estimation device, knowledge amount estimation method, and knowledge amount estimation program for each field of search system users | |
| Marturana et al. | Triage-based automated analysis of evidence in court cases of copyright infringement | |
| Hassanpour et al. | The impact of linkability on privacy leakage | |
| Shaw et al. | A rank test for bivariate time‐to‐event outcomes when one event is a surrogate |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221208 |
|
| TRDD | Decision of grant or rejection written | ||
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230823 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230829 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230911 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7359063 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |