Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7359063B2 - Generation method, generation program, and generation device - Google Patents
[go: Go Back, main page]

JP7359063B2 - Generation method, generation program, and generation device - Google Patents

Generation method, generation program, and generation device Download PDF

Info

Publication number
JP7359063B2
JP7359063B2 JP2020062248A JP2020062248A JP7359063B2 JP 7359063 B2 JP7359063 B2 JP 7359063B2 JP 2020062248 A JP2020062248 A JP 2020062248A JP 2020062248 A JP2020062248 A JP 2020062248A JP 7359063 B2 JP7359063 B2 JP 7359063B2
Authority
JP
Japan
Prior art keywords
personal data
data
generation device
anonymous
pieces
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.)
Active
Application number
JP2020062248A
Other languages
Japanese (ja)
Other versions
JP2021163014A (en
Inventor
秀暢 小栗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020062248A priority Critical patent/JP7359063B2/en
Publication of JP2021163014A publication Critical patent/JP2021163014A/en
Application granted granted Critical
Publication of JP7359063B2 publication Critical patent/JP7359063B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、生成方法、生成プログラム、および生成装置に関する。 The present invention relates to a generation method, a generation program, and a generation device.

従来、プライバシーを保護するため、個人データ(PII: Personally Identifiable Information)を匿名化して出力する匿名化手法が存在する。例えば、個人データを加工して匿名データを生成した後、生成した匿名データに対し、プライバシーテストを実施し、元となる個人データに関して匿名性が確保されていると判断した場合にのみ、生成した匿名データを出力する匿名化手法が存在する。 BACKGROUND ART Conventionally, in order to protect privacy, there is an anonymization method that anonymizes and outputs personal data (PII: Personally Identifiable Information). For example, after processing personal data to generate anonymous data, a privacy test is conducted on the generated anonymous data, and only when it is determined that the anonymity of the original personal data is ensured, the generated anonymous data is There are anonymization methods that output anonymous data.

先行技術としては、例えば、第1のデータ群に含まれるデータについて、所定の関係を有するデータの数がN個以上である場合に、所定の関係を有する複数のデータを出力するものがある。 As a prior art, for example, when the number of data having a predetermined relationship is N or more among the data included in the first data group, there is a technique that outputs a plurality of data having a predetermined relationship.

特開2014-016675号公報Japanese Patent Application Publication No. 2014-016675

しかしながら、従来技術では、出力される匿名データの有用性が損なわれることがある。例えば、プライバシーテストを実施すると、複数の個人データのうち一部の個人データに基づいて生成した匿名データしか出力されないことがある。結果として、出力される複数の匿名データが、統計処理において好ましくないデータになってしまうことがある。具体的には、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとが、類似しなくなってしまうことがある。 However, in the conventional technology, the usefulness of the output anonymous data may be impaired. For example, when a privacy test is carried out, only anonymous data generated based on a portion of a plurality of pieces of personal data may be output. As a result, a plurality of pieces of anonymous data that are output may become undesirable data in statistical processing. Specifically, a histogram showing the feature distribution of a plurality of pieces of personal data and a histogram showing the feature distribution of a plurality of anonymous data to be output may no longer 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 personal data included in the plurality of personal data using a first anonymization model that anonymizes information. Identifying one or more pieces of personal data that do not meet predetermined criteria, learning a second anonymization model that anonymizes information based on the identified one or more pieces of personal data, and learning the identified one or more pieces of personal data. , one or more anonymous data having a higher degree of anonymity than each of the one or more personal data is generated, and the one or more anonymous data generated by the learned second anonymization model. A generation method, a generation program, and a generation device are proposed for outputting new anonymous data obtained by anonymizing each anonymous data.

一態様によれば、有用な匿名データを得ることが可能になる。 According to one aspect, useful anonymous data can be obtained.

図1は、実施の形態にかかる生成方法の一実施例を示す説明図(その1)である。FIG. 1 is an explanatory diagram (part 1) showing an example of the generation method according to the embodiment. 図2は、実施の形態にかかる生成方法の一実施例を示す説明図(その2)である。FIG. 2 is an explanatory diagram (part 2) showing an example of the generation method according to the embodiment. 図3は、データ利活用システム300の一例を示す説明図である。FIG. 3 is an explanatory diagram showing an example of the data utilization system 300. 図4は、生成装置100のハードウェア構成例を示すブロック図である。FIG. 4 is a block diagram showing an example of the hardware configuration of the generation device 100. 図5は、データ管理テーブル500の記憶内容の一例を示す説明図である。FIG. 5 is an explanatory diagram showing an example of the storage contents of the data management table 500. 図6は、生成装置100の機能的構成例を示すブロック図である。FIG. 6 is a block diagram showing an example of the functional configuration of the generation device 100. 図7は、生成装置100の第1の動作例を示す説明図である。FIG. 7 is an explanatory diagram showing a first operation example of the generation device 100. 図8は、生成装置100の第2の動作例を示す説明図である。FIG. 8 is an explanatory diagram showing a second operation example of the generation device 100. 図9は、生成装置100の第3の動作例を示す説明図である。FIG. 9 is an explanatory diagram showing a third operation example of the generation device 100. 図10は、メンバーシップインクルージョン攻撃の一例を示す説明図である。FIG. 10 is an explanatory diagram showing an example of a membership inclusion attack. 図11は、比較対象のヒストグラムの形状の第1の例を示す説明図(その1)である。FIG. 11 is an explanatory diagram (part 1) showing a first example of the shape of a histogram to be compared. 図12は、比較対象のヒストグラムの形状の第1の例を示す説明図(その2)である。FIG. 12 is an explanatory diagram (part 2) showing a first example of the shape of a histogram to be compared. 図13は、比較対象のヒストグラムの形状の第1の例を示す説明図(その3)である。FIG. 13 is an explanatory diagram (part 3) showing a first example of the shape of a histogram to be compared. 図14は、比較対象のヒストグラムの形状の第1の例を示す説明図(その4)である。FIG. 14 is an explanatory diagram (part 4) showing a first example of the shape of a histogram to be compared. 図15は、比較対象のヒストグラムの形状の第2の例を示す説明図(その1)である。FIG. 15 is an explanatory diagram (part 1) showing a second example of the shape of the histogram to be compared. 図16は、比較対象のヒストグラムの形状の第2の例を示す説明図(その2)である。FIG. 16 is an explanatory diagram (part 2) showing a second example of the shape of the histogram to be compared. 図17は、比較対象のヒストグラムの形状の第2の例を示す説明図(その3)である。FIG. 17 is an explanatory diagram (part 3) showing a second example of the shape of the histogram to be compared. 図18は、準備処理手順の一例を示すフローチャートである。FIG. 18 is a flowchart illustrating an example of a preparation process procedure. 図19は、テスト処理手順の一例を示すフローチャートである。FIG. 19 is a flowchart illustrating an example of a test processing procedure. 図20は、分岐処理手順の一例を示すフローチャートである。FIG. 20 is a flowchart illustrating an example of a branch processing procedure. 図21は、再利用処理手順の一例を示すフローチャートである。FIG. 21 is a flowchart illustrating an example of a reuse processing procedure.

以下に、図面を参照して、本発明にかかる生成方法、生成プログラム、および生成装置の実施の形態を詳細に説明する。 DESCRIPTION OF EMBODIMENTS Below, embodiments of a generation method, a generation program, and a generation device according to the present invention will be described in detail with reference to the drawings.

(実施の形態にかかる生成方法の一実施例)
図1および図2は、実施の形態にかかる生成方法の一実施例を示す説明図である。図1において、生成装置100は、個人データの匿名性を確保しつつ、個人データに基づいて匿名データを生成して出力するコンピュータである。
(An example of the generation method according to the embodiment)
FIGS. 1 and 2 are explanatory diagrams showing an example of the generation method according to the embodiment. In FIG. 1, a generation device 100 is a computer that generates and outputs anonymous data based on personal data while ensuring the anonymity of the personal data.

従来では、個人データを加工することにより匿名データを生成して出力するにあたり、個人データの匿名性を確保するため、プライバシーテストが実施されることがある。例えば、プライバシーテストにより、個人データに関して匿名性が確保されていると判断した場合にのみ、個人データに基づいて生成した匿名データが出力されることになる。 Conventionally, when generating and outputting anonymous data by processing personal data, a privacy test is sometimes conducted to ensure the anonymity of the personal data. For example, anonymous data generated based on the personal data will be output only if it is determined through a privacy test that the anonymity of the personal data is ensured.

具体的には、個人データに対して、プライバシーテストを実施することにより、匿名データの有用性と、個人データの匿名性との基準を定める、(k,γ)PD(Plausible Deniability)と呼ばれる安全性指標が存在する。ここで、図2の説明に移行し、従来の(k,γ)PDが行う処理の流れについて説明する。 Specifically, we conduct a privacy test on personal data to establish a security standard called (k, γ) PD (Plausible Deniality), which establishes standards for the usefulness of anonymous data and the anonymity of personal data. There are gender indicators. Now, moving on to the explanation of FIG. 2, the flow of processing performed by the conventional (k, γ) PD will be explained.

図2において、(k,γ)PDは、個人データ群Dからランダムに選択した個人データdに対して、確率的な差分プライバシーアルゴリズムMを適用することにより、匿名データy=M(d)を生成する。(k,γ)PDは、生成した匿名データyに対して、プライバシーテストを実施する。プライバシーテストは、有用性要件を設定されてもよい。 In Figure 2, (k, γ) PD is an anonymous data y = M(d) by applying a probabilistic differential privacy algorithm M to personal data d randomly selected from a personal data group D. generate. (k, γ) PD performs a privacy test on the generated anonymous data y. Privacy tests may have usability requirements set.

(k,γ)PDは、例えば、個人データ群Dの中に、個人データdと同一の属性値を含む他の個人データdがk以上(k>1)存在していれば、生成した匿名データyを、出力可能と判定し、リリースデータセットに追加する。一方で、(k,γ)PDは、例えば、個人データ群Dの中に、個人データdと同一の属性値を含む他の個人データdがk以上(k>1)存在していなければ、生成した匿名データyを、出力不能と判定して破棄する。 (k, γ) PD is, for example, if there are k or more (k>1) other personal data d that includes the same attribute value as personal data d in personal data group D, the generated anonymous Data y is determined to be outputtable and added to the release data set. On the other hand, (k, γ) PD is, for example, if there are no more than k (k>1) other personal data d including the same attribute value as the personal data d in the personal data group D. The generated anonymous data y is determined to be impossible to output and is discarded.

また、(k,γ)PDは、パラメータkを推定する攻撃を防止するため、パラメータkに代わり、ランダム化されたパラメータk+Lap(1/ε0)を用いてもよい。Lap(・)は、ラプラス分布に基づく乱数発生メカニズムである。 Furthermore, in order to prevent attacks that estimate the parameter k, the (k, γ) PD may use a randomized parameter k+Lap (1/ε 0 ) instead of 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 pieces of other personal data d having the same attribute value as the personal data d is preferably present from the viewpoint of anonymity. k has a property that the larger the value, 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 probabilistic differential privacy algorithm M. γ is a parameter that defines a noise value given stochastically to the personal data d. γ has a property that the smaller the value, the larger the noise value given to the personal data d. The smaller the noise value, the higher the risk that it will be identified from which personal data d anonymous data y was generated.

ε0は、kに対して与えるランダムなノイズ値を規定するパラメータである。ε0は、値が小さいほど、メンバーシップインクルージョン攻撃への耐性を強めることができるという性質を有する。メンバーシップインクルージョン攻撃の一例については、具体的には、図10を用いて後述する。 ε 0 is a parameter that defines a random noise value given to k. ε 0 has a property that the smaller the value, the stronger the resistance to membership inclusion attacks. An example of the membership inclusion attack will be specifically described later using FIG. 10.

また、(k,γ)PDについては、例えば、下記非特許文献1を参照することができる。また、(k,γ)PDの他、(k,δ)PDと呼ばれる安全性指標なども存在する。(k,δ)PDについては、例えば、下記非特許文献2を参照することができる。 Further, regarding (k, γ) PD, for example, reference can be made to the following non-patent document 1. In addition to (k, γ) PD, there is also a safety index called (k, δ) PD. Regarding (k, δ) PD, for example, the following non-patent document 2 can be referred to.

非特許文献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. Gunter. “Plausible deniability 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. “Synthesizing plausible privacy-preserving location traces.” 2016 IEEE Symposium on Security and Privacy (SP). IEEE, 2016.

しかしながら、従来では、匿名データの有用性が損なわれることがある。例えば、プライバシーテストを実施すると、複数の個人データのうち一部の個人データに基づいて生成した匿名データしか出力されないことがある。結果として、出力される複数の匿名データが、統計処理において好ましくないデータになってしまうことがある。具体的には、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとが、類似しなくなってしまうことがある。ヒストグラムについては、具体的には、図11~図17を用いて後述する。 However, in the past, the usefulness of anonymous data may be compromised. For example, when a privacy test is carried out, only anonymous data generated based on a portion of a plurality of pieces of personal data may be output. As a result, a plurality of pieces of anonymous data that are output may become undesirable data in statistical processing. Specifically, a histogram showing the feature distribution of a plurality of pieces of personal data and a histogram showing the feature distribution of a plurality of anonymous data to be output may no longer be similar. The histogram will be specifically described later using 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. Here, in (k, γ) PD, no matter how the parameters k, γ, ε 0 are adjusted, either the usefulness of anonymous data or the anonymity of personal data tends to be impaired.

特に、個人データの匿名性を確保するため、パラメータkの値を大きくすると、出力可能な匿名データを生成する元となる個人データの数が少なくなり、出力される複数の匿名データが、統計処理において好ましくないデータになる。例えば、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとが類似しなくなり、出力される複数の匿名データが、統計処理において好ましくないデータになる。 In particular, in order to ensure the anonymity of personal data, if the value of the parameter k is increased, the number of personal data from which anonymous data that can be outputted will be generated will decrease, and the multiple anonymous data that will be output will be subjected to statistical processing. This results in unfavorable data. For example, a histogram showing the feature distribution of multiple pieces of personal data and a histogram showing the feature distribution of multiple output anonymous data will no longer be similar, and the multiple output anonymous data will become undesirable data in statistical processing. .

また、ユーザが、ヒストグラムを考慮し、匿名データの有用性を向上するため、恣意的に、プライバシーテストを実施してしまうことがある。例えば、ユーザが、特定の個人データに対して、パラメータk+Lap(1/ε0)が偶々大きい値を取るまで、プライバシーテストを繰り返し実施し、特定の個人データに基づいて生成された匿名データを出力しようとすることがある。この場合、個人データの匿名性が損なわれることがある。 Furthermore, users may arbitrarily perform privacy tests in order to improve the usefulness of anonymous data by considering histograms. For example, a user repeatedly performs a privacy test on 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. Sometimes I try. In this case, the anonymity of personal data may be compromised.

また、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとが類似しなくなった結果、個人データの匿名性も損なわれることがある。比較的少数の個人データに基づいて、匿名データが比較的多量に生成されるため、匿名データに基づいて、個人が識別される危険性が高くなる傾向がある。 Further, the anonymity of the personal data may also be impaired as a result of the histogram showing the feature distribution of a plurality of pieces of personal data and the histogram showing the feature distribution of a plurality of anonymous data to be output no longer similar. Since a relatively large amount of anonymous data is generated based on a relatively small amount of personal data, the risk of individuals being identified based on the anonymous data tends to be high.

そこで、本実施の形態では、出力される匿名データの有用性を向上することができる生成方法について説明する。 Therefore, in this embodiment, a generation method that can improve the usefulness of output anonymous data will be described.

図1の説明に戻り、生成装置100は、複数の個人データを、DB(DataBase)101に記憶する。個人データは、例えば、個人に関する何らかの特徴を示す値を含む。生成装置100は、第1の匿名化モデル110を記憶する。第1の匿名化モデル110は、情報を匿名化するモデルである。匿名化は、加工に対応する。第1の匿名化モデル110は、例えば、個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルである。第1の匿名化モデル110は、例えば、確率的な差分プライバシーアルゴリズムである。 Returning to the explanation of FIG. 1, the generation device 100 stores a plurality of pieces of personal data in a DB (DataBase) 101. Personal data includes, for example, values that indicate some characteristic about an individual. The generation device 100 stores a first anonymization model 110. The first anonymization model 110 is a model that anonymizes information. Anonymization corresponds to processing. The first anonymization model 110 is, for example, a model that generates one or more anonymous data obtained by adding a random noise value to a value included in personal data. The first anonymization model 110 is, for example, a probabilistic differential privacy algorithm.

(1-1)生成装置100は、複数の個人データに含まれる個人データを、第1の匿名化モデル110により匿名化した結果に基づいて、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定する。所定の基準は、例えば、プライバシーテストの基準である。以下の説明では、所定の基準を満たすことを「OK」と表記し、所定の基準を満たさないことを「NG」と表記する場合がある。匿名度合いが所定の基準を満たさない1以上の個人データは、例えば、NG-DB102に記憶される。 (1-1) The generation device 100 determines, based on the result of anonymizing the personal data included in the plurality of personal data using the first anonymization model 110, the degree of anonymity among the plurality of personal data is a predetermined standard. Identify one or more pieces of personal data that do not meet the requirements. The predetermined standard is, for example, a privacy test standard. In the following description, satisfying a predetermined standard may be expressed as "OK", and not satisfying a predetermined criterion may be expressed as "NG". One or more pieces of personal data whose degree of anonymity does not meet a predetermined standard is stored in the NG-DB 102, for example.

生成装置100は、例えば、複数の個人データに含まれる個人データをランダムに選択する。生成装置100は、例えば、個人データを選択する都度、選択した個人データに基づいて、第1の匿名化モデル110により匿名データを1以上生成する。生成装置100は、例えば、1以上の匿名データに基づいて、プライバシーテストを実施し、1以上の匿名データを生成する元となった個人データの匿名度合いが、所定の基準を満たすか否かを判定する。生成装置100は、例えば、判定した結果に基づいて、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定する。 For example, the generation device 100 randomly selects personal data included in a plurality of pieces of personal data. For example, each time personal data is selected, the generation device 100 generates one or more pieces of anonymous data using the first anonymization model 110 based on the selected personal data. For example, the generation device 100 performs a privacy test based on one or more pieces of anonymous data, and determines whether the degree of anonymity of the personal data from which the one or more pieces of anonymous data was generated satisfies a predetermined standard. judge. For example, based on the determined result, the generation device 100 identifies one or more pieces of personal data whose degree of anonymity does not satisfy a predetermined standard from among the pieces of personal data.

(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 generation device 100 learns the second anonymization model 120 based on the specified one or more pieces of personal data. The second anonymization model 120 is a model that anonymizes information. The second anonymization model 120 is a model that anonymizes information. The second anonymization model 120 is a model that generates one or more new anonymous data obtained by adding a random noise value to a value included in the anonymous data. The second anonymization model 120 is, for example, a probabilistic differential privacy algorithm. The second anonymization model 120 is, for example, the same algorithm as the first anonymization model 110. The generation device 100 learns the second anonymization model 120, for example, based on the variance and average regarding the values included in the specified one or more personal data.

(1-3)生成装置100は、特定した1以上の個人データに基づいて、1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成する。1以上の匿名データは、例えば、MA-DB103に記憶される。MAは、ミクロアグリゲーションを意味する。生成装置100は、例えば、ミクロアグリゲーションを実施し、1以上の匿名データを生成する。 (1-3) The generation device 100 generates one or more anonymous data having a higher degree of anonymity than each of the one or more personal data, based on the one or more identified personal data. One or more pieces of anonymous data are stored in the MA-DB 103, for example. MA means microaggregation. For example, the generation device 100 performs micro-aggregation and generates one or more anonymous data.

生成装置100は、具体的には、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出する。統計値は、具体的には、平均値、最大値、最小値、中央値、または、最頻値などである。生成装置100は、具体的には、特定した1以上の個人データのそれぞれの個人データに含まれる値を、算出した統計値に置換することにより、1以上の匿名データを生成する。 Specifically, the generation device 100 calculates statistical values regarding the values included in each of the one or more pieces of personal data that has been identified. Specifically, the statistical value is an average value, maximum value, minimum value, median value, mode, or the like. Specifically, the generation device 100 generates one or more anonymous data by replacing the value included in each of the identified one or more pieces of personal data with the calculated statistical value.

(1-4)生成装置100は、生成した1以上の匿名データのそれぞれの匿名データを、学習した第2の匿名化モデル120により匿名化して得られた、新たな匿名データを出力する。出力先は、例えば、リリースDB104である。生成装置100は、例えば、1以上の匿名データのそれぞれの匿名データに基づいて、第2の匿名化モデル120により、新たな匿名データを生成して出力する。この際、生成装置100は、例えば、複数の個人データのうち、所定の基準を満たす個人データに基づいて、第1の匿名化モデル110により生成された匿名データを、併せて出力してもよい。 (1-4) The generation device 100 outputs new anonymous data obtained by anonymizing each of the one or more generated anonymous data using the learned second anonymization model 120. The output destination is, for example, the release DB 104. The generation device 100 generates and outputs new anonymous data using the second anonymization model 120, for example, based on each of the one or more anonymous data. At this time, the generation device 100 may also output anonymous data generated by the first anonymization model 110 based on personal data that satisfies a predetermined criterion among the plurality of personal data, for example. .

これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。 Thereby, the generation device 100 can obtain useful anonymous data, and can achieve both the usefulness of anonymous data and the anonymity of personal data.

生成装置100は、例えば、プライバシーテストにより、匿名度合いが所定の基準を満たさないと判定された個人データに基づいて、新たな匿名データを生成することができる。このため、生成装置100は、例えば、出力される複数の匿名データを、統計処理において好ましいデータにすることができる。生成装置100は、具体的には、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができる。 The generation device 100 can generate new anonymous data, for example, based on personal data whose degree of anonymity is determined not to satisfy a predetermined standard through a privacy test. For this reason, the generation device 100 can, for example, make a plurality of output anonymous data data preferable in statistical processing. Specifically, the generation device 100 can bring a histogram indicating the feature distribution of a plurality of pieces of personal data closer to a histogram indicating a feature distribution of a plurality of anonymous data to be output.

また、生成装置100は、例えば、匿名度合いが所定の基準を満たさないと判定された個人データを、より匿名度合いが高い形式である匿名データに変換してから、第2の匿名化モデル120により、新たな匿名データを生成することができる。このため、生成装置100は、例えば、個人データの匿名性を確保し易くすることができる。 Further, the generation device 100 converts, for example, personal data whose degree of anonymity is determined to not satisfy a predetermined standard into anonymous data in a format with a higher degree of anonymity, and then uses the second anonymization model 120 to convert the personal data to anonymous data that has a higher degree of anonymity. , new anonymous data can be generated. Therefore, the generation device 100 can easily ensure the anonymity of personal data, for example.

生成装置100は、例えば、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データに基づいて、第2の匿名化モデル120を学習することができる。生成装置100は、例えば、第2の匿名化モデル120により、新たな匿名データを生成することができる。このため、生成装置100は、例えば、出力される複数の匿名データを、統計処理において好ましいデータにすることができる。生成装置100は、具体的には、例えば、匿名度合いが所定の基準を満たさない個人データの特徴分布を示すヒストグラムと、第2の匿名化モデル120により生成される新たな匿名データの特徴分布を示すヒストグラムとを近づけることができる。 For example, the generation device 100 can learn the second anonymization model 120 based on one or more pieces of personal data whose degree of anonymity does not satisfy a predetermined standard among a plurality of pieces of personal data. The generation device 100 can generate new anonymous data using the second anonymization model 120, for example. For this reason, the generation device 100 can, for example, make a plurality of output anonymous data data preferable in statistical processing. Specifically, the generation device 100 generates, for example, a histogram showing the feature distribution of personal data whose degree of anonymity does not meet a predetermined standard, and a feature distribution of new anonymous data generated by the second anonymization model 120. The histogram shown can be brought closer to the histogram shown.

生成装置100は、本来であればNGと判定され得る個人データに基づいて、匿名データを生成して出力することができる。このため、生成装置100は、ユーザが、匿名データの有用性を向上するため、恣意的に、プライバシーテストを実施してしまうことを防止することができ、個人データの匿名性を確保することができる。 The generation device 100 can generate and output anonymous data based on personal data that would otherwise be determined to be unacceptable. Therefore, the generation device 100 can prevent the user from arbitrarily conducting a privacy test in order to improve the usefulness of anonymous data, and can ensure the anonymity of personal data. can.

以上により、生成装置100は、匿名データの有用性と、個人データの匿名性とを両立し、外部に流通させて第3者に参照されても問題が発生しないと考えられる匿名データのDBを生成することができる。このため、生成装置100は、統計分析、または、機械学習の分野において利用することができる。 As described above, the generation device 100 has created a database of anonymous data that is compatible with the usefulness of anonymous data and the anonymity of personal data, and that is considered to cause no problem even if it is distributed externally and referenced by a third party. can be generated. Therefore, the generation device 100 can be used in the field of statistical analysis or machine learning.

また、生成装置100は、プライバシーテストを行う手法を改良することができる。生成装置100は、例えば、(k,γ)PD、または、(k,δ)PDなどの手法を改良することができる。生成装置100は、(k,γ)PD、および、(k,δ)PD以外の、プライバシーテストを行う手法を改良することができる。 Furthermore, the generation device 100 can improve the method of performing a privacy test. The generation device 100 can improve a method such as (k, γ) PD or (k, δ) PD, for example. The generation device 100 can improve methods for performing privacy tests other than (k, γ) PD and (k, δ) PD.

(データ利活用システム300の一例)
次に、図3を用いて、図1に示した生成装置100を適用した、データ利活用システム300の一例について説明する。
(Example of data utilization system 300)
Next, an example of a data utilization system 300 to which the generation device 100 shown in FIG. 1 is applied will be described using FIG. 3.

図3は、データ利活用システム300の一例を示す説明図である。図3において、データ利活用システム300は、生成装置100と、データ提供側装置301と、データ利用側装置302とを含む。 FIG. 3 is an explanatory diagram showing an example of the data utilization system 300. In FIG. 3, a data utilization system 300 includes a generation device 100, a data provider device 301, and a data usage device 302.

データ利活用システム300において、生成装置100とデータ提供側装置301とは、有線または無線のネットワーク310を介して接続される。ネットワーク310は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。また、生成装置100とデータ利用側装置302とは、有線または無線のネットワーク310を介して接続される。 In the data utilization system 300, the generation device 100 and the data providing device 301 are connected via a wired or wireless network 310. The network 310 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like. Furthermore, the generation device 100 and the data usage device 302 are connected via a wired or wireless network 310.

生成装置100は、個人データをデータ提供側装置301から収集する。収集した個人データは、例えば、図5に後述するデータ管理テーブル500に記憶される。生成装置100は、収集した複数の個人データに基づいて、複数の匿名データを生成してデータ利用側装置302に送信する。複数の匿名データを生成する具体例については、例えば、図7~図9を用いて後述する。生成装置100は、例えば、サーバ、または、PC(Personal Computer)などである。 The generation device 100 collects personal data from the data provider device 301. The collected personal data is stored, for example, in a data management table 500 shown in FIG. 5 and described later. The generation device 100 generates a plurality of anonymous data based on the collected plurality of personal data and transmits the generated anonymous data to the data usage side device 302. A specific example of generating a plurality of anonymous data will be described later using, for example, FIGS. 7 to 9. The generation device 100 is, for example, a server or a PC (Personal Computer).

データ提供側装置301は、個人データを取得し、生成装置100に送信する。データ提供側装置301は、操作者の操作入力に基づき、個人データを取得し、生成装置100に送信する。データ提供側装置301は、例えば、タブレット端末、スマートフォン、ウェアラブル端末、IoT(Internet of Things)機器などから、個人データを取得し、生成装置100に送信する。データ提供側装置301は、例えば、サーバ、または、PCなどである。 The data providing device 301 acquires personal data and transmits it to the generating device 100. The data providing device 301 acquires personal data based on the operator's operation input and transmits it to the generating device 100. The data provider device 301 acquires personal data from, for example, a tablet terminal, a smartphone, a wearable terminal, an IoT (Internet of Things) device, etc., and transmits it to the generation device 100. The data providing device 301 is, for example, a server or a PC.

データ利用側装置302は、複数の匿名データを生成装置100から受信する。データ利用側装置302は、複数の匿名データに基づいて、データ利活用タスクを実施する。データ利活用タスクは、例えば、統計分析、または、機械学習などのタスクである。データ利用側装置302は、例えば、サーバ、または、PCなどである。 The data usage device 302 receives a plurality of pieces of anonymous data from the generation device 100. The data utilization side device 302 implements a data utilization task based on a plurality of anonymous data. The data utilization task is, for example, a task such as statistical analysis or machine learning. The data usage side device 302 is, for example, a server or a PC.

ここでは、生成装置100が、データ提供側装置301とは異なる装置である場合について説明したが、これに限らない。例えば、生成装置100が、データ提供側装置301と一体であり、データ提供側装置301としても動作する場合があってもよい。 Although a case has been described here in which the generation device 100 is a device different from the data providing device 301, the present invention is not limited to this. For example, the generation device 100 may be integrated with the data providing device 301 and may also operate as the data providing device 301.

ここでは、生成装置100が、データ利用側装置302とは異なる装置である場合について説明したが、これに限らない。例えば、生成装置100が、データ利用側装置302と一体であり、データ利用側装置302としても動作する場合があってもよい。 Here, a case has been described in which the generation device 100 is a device different from the data usage side device 302, but the present invention is not limited to this. For example, the generation device 100 may be integrated with the data usage side device 302 and may also operate as the data usage side device 302.

ここでは、データ提供側装置301が、サーバ、または、PCなどである場合について説明したが、これに限らない。例えば、データ提供側装置301が、タブレット端末、スマートフォン、ウェアラブル端末、IoT機器などである場合があってもよい。 Although the case where the data providing side device 301 is a server, a PC, or the like has been described here, the present invention is not limited to this. For example, the data providing device 301 may be a tablet terminal, a smartphone, a wearable terminal, an IoT device, or the like.

(生成装置100のハードウェア構成例)
次に、図4を用いて、生成装置100のハードウェア構成例について説明する。
(Example of hardware configuration of generation device 100)
Next, an example of the hardware configuration of the generation device 100 will be described using FIG. 4.

図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 an example of the hardware configuration of the generation device 100. In FIG. 4, the generation device 100 includes a CPU (Central Processing Unit) 401, a memory 402, a network I/F (Interface) 403, a recording medium I/F 404, and a recording medium 405. Further, each component is connected to each other by a bus 400.

ここで、CPU401は、生成装置100の全体の制御を司る。メモリ402は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることにより、コーディングされている処理をCPU401に実行させる。 Here, the CPU 401 is in charge of overall control of the generation device 100. The memory 402 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 401. The program stored in the memory 402 is loaded into the CPU 401 and causes the CPU 401 to execute the coded processing.

ネットワークI/F403は、通信回線を通じてネットワーク310に接続され、ネットワーク310を介して他のコンピュータに接続される。そして、ネットワークI/F403は、ネットワーク310と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F403は、例えば、モデムやLANアダプタなどである。 Network I/F 403 is connected to network 310 through a communication line, and connected to other computers via network 310. The network I/F 403 serves as an internal interface with the network 310, and controls data input/output from other computers. The network I/F 403 is, for example, a modem or a LAN adapter.

記録媒体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/F 404 controls reading/writing of data to/from the recording medium 405 under the control of the CPU 401 . The recording medium I/F 404 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like. The recording medium 405 is a nonvolatile memory that stores data written under the control of the recording medium I/F 404. The recording medium 405 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 405 may be removable from the generation device 100.

生成装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、生成装置100は、記録媒体I/F404や記録媒体405を複数有していてもよい。また、生成装置100は、記録媒体I/F404や記録媒体405を有していなくてもよい。 In addition to the components described above, the generation device 100 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like. Furthermore, the generation device 100 may include a plurality of recording medium I/Fs 404 and recording media 405. Further, the generation device 100 does not need to have the recording medium I/F 404 or the recording medium 405.

(データ管理テーブル500の記憶内容)
次に、図5を用いて、データ管理テーブル500の記憶内容の一例について説明する。データ管理テーブル500は、例えば、図4に示した生成装置100のメモリ402や記録媒体405などの記憶領域により実現される。
(Stored contents of data management table 500)
Next, an example of the storage contents of the data management table 500 will be explained using FIG. 5. The data management table 500 is realized, for example, by a storage area such as the memory 402 or the recording medium 405 of the generation device 100 shown in FIG. 4.

図5は、データ管理テーブル500の記憶内容の一例を示す説明図である。図5に示すように、データ管理テーブル500は、氏名と、性別と、年齢と、身長とのフィールドを有する。データ管理テーブル500は、個人ごとに各フィールドに情報を設定することにより、個人データがレコード500-aとして記憶される。aは、任意の整数である。 FIG. 5 is an explanatory diagram showing an example of the storage 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 any integer.

氏名のフィールドには、個人を識別する氏名が設定される。性別のフィールドには、個人の属性値として、個人の性別が設定される。年齢のフィールドには、個人の属性値として、個人の年齢が設定される。身長のフィールドには、個人の属性値として、個人の身長が設定される。個人データは、個人の属性値として、個人の氏名と、性別と、年齢と、身長とのいずれかを含まなくてもよい。個人データは、個人の属性値として、個人の氏名と、性別と、年齢と、身長との属性値以外を含んでいてもよい。 A name for identifying an individual is set in the name field. 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 the attribute value of the individual. The personal data does not need to include any one of the individual's name, gender, age, and height as an attribute value of the individual. The personal data may include attribute values other than the individual's name, gender, age, and height.

(データ提供側装置301のハードウェア構成例)
データ提供側装置301のハードウェア構成例は、図4に示した生成装置100のハードウェア構成例と同様であるため、説明を省略する。
(Example of hardware configuration of data provider device 301)
The hardware configuration example of the data providing side device 301 is similar to the hardware configuration example of the generation device 100 shown in FIG. 4, and therefore a description thereof will be omitted.

(データ利用側装置302のハードウェア構成例)
データ利用側装置302のハードウェア構成例は、図4に示した生成装置100のハードウェア構成例と同様であるため、説明を省略する。
(Example of hardware configuration of data usage side device 302)
The hardware configuration example of the data usage side device 302 is the same as the hardware configuration example of the generation device 100 shown in FIG. 4, and therefore a description thereof will be omitted.

(生成装置100の機能的構成例)
次に、図6を用いて、生成装置100の機能的構成例について説明する。
(Functional configuration example of generation device 100)
Next, an example of the functional configuration of the generation device 100 will be described using FIG. 6.

図6は、生成装置100の機能的構成例を示すブロック図である。生成装置100は、記憶部600と、取得部601と、第1の匿名化部602と、判定部603と、特定部604と、学習部605と、生成部606と、第2の匿名化部607と、出力部608とを含む。 FIG. 6 is a block diagram showing an example of the functional configuration of the generation device 100. The generation device 100 includes a storage unit 600, an acquisition unit 601, a first anonymization unit 602, a determination unit 603, an identification unit 604, a learning unit 605, a generation unit 606, and a second anonymization unit. 607 and an output section 608.

記憶部600は、例えば、図4に示したメモリ402や記録媒体405などの記憶領域によって実現される。以下では、記憶部600が、生成装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部600が、生成装置100とは異なる装置に含まれ、記憶部600の記憶内容が生成装置100から参照可能である場合があってもよい。 The storage unit 600 is realized, for example, by a storage area such as the memory 402 or the recording medium 405 shown in FIG. 4. In the following, a case will be described in which the storage unit 600 is included in the generation device 100, but the invention is not limited to this. For example, there may be a case where the storage unit 600 is included in a device different from the generation device 100, and the storage contents of the storage unit 600 can be referenced from the generation device 100.

取得部601~出力部608は、制御部の一例として機能する。取得部601~出力部608は、具体的には、例えば、図4に示したメモリ402や記録媒体405などの記憶領域に記憶されたプログラムをCPU401に実行させることにより、または、ネットワークI/F403により、その機能を実現する。各機能部の処理結果は、例えば、図4に示したメモリ402や記録媒体405などの記憶領域に記憶される。 The acquisition unit 601 to output unit 608 function as an example of a control unit. Specifically, the acquisition unit 601 to the output unit 608 execute the program by causing the CPU 401 to execute a program stored in a storage area such as the memory 402 or the recording medium 405 shown in FIG. This function is realized by The processing results of each functional unit are stored in a storage area such as the memory 402 or the recording medium 405 shown in FIG. 4, for example.

記憶部600は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部600は、複数の個人データを記憶する。個人データは、例えば、個人に関する何らかの特徴を示す値を含む。値は、例えば、属性値である。個人データは、例えば、取得部601によって取得される。記憶部600は、複数の匿名データを記憶する。匿名データは、例えば、第1の匿名化部602、または、第2の匿名化部607によって生成される。 The storage unit 600 stores various information that is referenced or updated in the processing of each functional unit. The storage unit 600 stores a plurality of pieces of personal data. Personal data includes, for example, values that indicate some characteristic about an individual. The value is, for example, an attribute value. Personal data is acquired by the acquisition unit 601, for example. Storage unit 600 stores a plurality of anonymous data. The anonymous data is generated by, for example, the first anonymization unit 602 or the second anonymization unit 607.

記憶部600は、第1の匿名化モデルを記憶する。第1の匿名化モデルは、情報を匿名化するモデルである。匿名化は、加工に対応する。第1の匿名化モデルは、例えば、個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルである。第1の匿名化モデルは、例えば、確率的な差分プライバシーアルゴリズムである。第1の匿名化モデルは、例えば、生成部606によって生成される。 The storage unit 600 stores the first anonymization model. The first anonymization model is a model that anonymizes information. Anonymization corresponds to processing. The first anonymization model is, for example, a model that generates one or more anonymous data obtained by adding a random noise value to a value included in personal data. The first anonymization model is, for example, a probabilistic differential privacy algorithm. The first anonymized model is generated by the generation unit 606, for example.

記憶部600は、第2の匿名化モデルを記憶する。第2の匿名化モデルは、情報を匿名化するモデルである。第2の匿名化モデルは、例えば、匿名データに含まれる値に、ランダムなノイズ値を加算して得られる新たな匿名データを、1以上生成するモデルである。第2の匿名化モデルは、例えば、確率的な差分プライバシーアルゴリズムである。第2の匿名化モデルは、例えば、第1の匿名化モデルと同一のアルゴリズムである。 Storage unit 600 stores the second anonymization model. The second anonymization model is a model that anonymizes information. The second anonymization model is, for example, a model that generates one or more new anonymous data obtained by adding a random noise value to a value included in the anonymous data. The second anonymization model is, for example, a probabilistic differential privacy algorithm. The second anonymization model is, for example, the same algorithm as the first anonymization model.

取得部601は、各機能部の処理に用いられる各種情報を取得する。取得部601は、取得した各種情報を、記憶部600に記憶し、または、各機能部に出力する。また、取得部601は、記憶部600に記憶しておいた各種情報を、各機能部に出力してもよい。取得部601は、例えば、ユーザの操作入力に基づき、各種情報を取得する。取得部601は、例えば、生成装置100とは異なる装置から、各種情報を受信してもよい。 The acquisition unit 601 acquires various information used in processing of each functional unit. The acquisition unit 601 stores the acquired various information in the storage unit 600 or outputs it to each functional unit. Further, the acquisition unit 601 may output various information stored in the storage unit 600 to each functional unit. The acquisition unit 601 acquires various information based on, for example, a user's operation input. The acquisition unit 601 may receive various information from a device different from the generation device 100, for example.

取得部601は、複数の個人データを取得する。取得部601は、例えば、複数の個人データを、データ提供側装置301から受信することにより取得する。取得部601は、例えば、ユーザの操作入力に基づき、複数の個人データを取得する。取得部601は、例えば、第1の匿名化モデルを取得してもよい。 The acquisition unit 601 acquires a plurality of pieces of personal data. The acquisition unit 601 acquires, for example, a plurality of pieces of personal data by receiving them from the data provider device 301. The acquisition unit 601 acquires a plurality of pieces of personal data based on, for example, a user's operation input. The acquisition unit 601 may acquire the first anonymized model, for example.

取得部601は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、ユーザによる所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。取得部601は、例えば、複数の個人データを取得したことを、第1の匿名化部602~第2の匿名化部607の処理を開始する開始トリガーとして受け付ける。 The acquisition unit 601 may receive a start trigger that starts processing of any functional unit. The start trigger is, for example, a predetermined operation input by the user. The start trigger may be, for example, receiving predetermined information from another computer. The start trigger may be, for example, that any functional unit outputs predetermined information. The acquisition unit 601 receives, for example, the acquisition of a plurality of pieces of personal data as a start trigger for starting the processing of the first anonymization unit 602 to the second anonymization unit 607.

第1の匿名化部602は、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化し、1以上の匿名データを生成する。第1の匿名化部602は、例えば、複数の個人データに含まれる個人データをランダムに複数回選択する。第1の匿名化部602は、例えば、個人データを選択する都度、選択した個人データに基づいて、第1の匿名化モデルにより匿名データを1以上生成する。これにより、第1の匿名化部602は、匿名データを生成し、個人データの匿名性の向上を図ることができる。 The first anonymization unit 602 anonymizes personal data included in a plurality of pieces of personal data using a first anonymization model, and generates one or more anonymous data. The first anonymization unit 602, for example, randomly selects personal data included in a plurality of pieces of personal data multiple times. For example, each time personal data is selected, the first anonymization unit 602 generates one or more pieces of anonymous data using a first anonymization model based on the selected personal data. Thereby, the first anonymization unit 602 can generate anonymous data and improve the anonymity of personal data.

判定部603は、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した結果に基づいて、当該個人データの匿名度合いが、所定の基準を満たすか否かを判定する。所定の基準は、例えば、プライバシーテストの基準である。判定部603は、例えば、1以上の匿名データに基づいて、プライバシーテストを実施し、1以上の匿名データを生成する元となった、選択した個人データの匿名度合いが、所定の基準を満たすか否かを判定する。 The determination unit 603 determines whether the degree of anonymity of the personal data satisfies a predetermined standard based on the result of anonymizing the personal data included in the plurality of personal data using the first anonymization model. . The predetermined standard is, for example, a privacy test standard. For example, the determination unit 603 performs a privacy test based on one or more pieces of anonymous data, and determines whether the degree of anonymity of the selected personal data from which the one or more pieces of anonymous data were generated satisfies a predetermined standard. Determine whether or not.

判定部603は、具体的には、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した際に、当該個人データと同一または類似する値を含む、複数の個人データのうちの他の個人データの数を算出する。また、それぞれの個人データが、複数の値を含む場合が考えられる。この場合、判定部603は、具体的には、特定の項目の値が、匿名化の対象とした個人データと同一または類似する他の個人データの数を算出してもよい。 Specifically, when the personal data included in the plurality of personal data is anonymized using the first anonymization model, the determination unit 603 determines whether the plurality of personal data includes the same or similar value as the personal data. Calculate the number of other personal data. Further, each piece of personal data may include multiple values. In this case, the determination unit 603 may specifically calculate the number of other pieces of personal data in which the value of a specific item is the same as or similar to the personal data targeted for anonymization.

ここで、判定部603は、算出した数が所定の数以下であれば、所定の基準を満たさないと判定する。所定の数は、例えば、固定値である。所定の数は、例えば、可変値であってもよい。可変値は、例えば、k+Lap(1/ε0)である。一方で、判定部603は、算出した数が所定の数より大きければ、所定の基準を満たすと判定する。これにより、判定部603は、個人データの匿名性が確保されているか否かを判定することができる。 Here, if the calculated number is less than or equal to a predetermined number, the determination unit 603 determines that the predetermined criterion is not satisfied. The predetermined number is, for example, a fixed value. The predetermined number may be a variable value, for example. The variable value is, for example, k+Lap(1/ε 0 ). On the other hand, if the calculated number is larger than the predetermined number, the determination unit 603 determines that the predetermined criterion is satisfied. Thereby, the determination unit 603 can determine whether the anonymity of the personal data is ensured.

判定部603は、具体的には、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した際に、加算したノイズ値の代表値が、所定の閾値以下であれば、所定の基準を満たさないと判定する。代表値は、具体的には、平均値、最大値、最小値、中央値、または、最頻値などである。これにより、判定部603は、個人データの匿名性が確保されているか否かを判定することができる。 Specifically, the determination unit 603 determines that when personal data included in a plurality of pieces of personal data is anonymized using the first anonymization model, the representative value of the added noise value is equal to or less than a predetermined threshold value. , it is determined that the predetermined criteria are not met. Specifically, the representative value is an average value, maximum value, minimum value, median value, mode, or the like. Thereby, the determination unit 603 can determine whether the anonymity of the personal data is ensured.

判定部603は、具体的には、所定の確率で、選択した個人データの実際の匿名度合いによらず、所定の基準を満たさないと判定してもよい。所定の確率は、例えば、ユーザによって設定される。これにより、判定部603は、学習部605が参照可能な個人データの数の増大化を図ることができ、学習部605が第2の匿名化モデルを生成し易くすることができる。 Specifically, the determination unit 603 may determine, with a predetermined probability, that a predetermined standard is not satisfied, regardless of the actual degree of anonymity of the selected personal data. The predetermined probability is set by the user, for example. Thereby, the determination unit 603 can increase the number of personal data that can be referenced by the learning unit 605, and can make it easier for the learning unit 605 to generate the second anonymized model.

特定部604は、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定する。特定部604は、例えば、判定した結果に基づいて、1以上の個人データを特定する。特定部604は、具体的には、判定した結果がNGである1以上の個人データを特定する。これにより、特定部604は、プライバシーテストにより破棄された匿名データを生成する元となった、匿名度合いが所定の基準を満たさない1以上の個人データを特定することができる。 The identification unit 604 identifies one or more pieces of personal data whose degree of anonymity does not satisfy a predetermined standard from among the plurality of pieces of personal data. The identification unit 604 identifies one or more pieces of personal data, for example, based on the determined result. Specifically, the identifying unit 604 identifies one or more pieces of personal data for which the determined result is NG. Thereby, the identification unit 604 can identify one or more pieces of personal data whose degree of anonymity does not meet a predetermined standard, which was the source of the anonymous data discarded by the privacy test.

特定部604は、特定した1以上の個人データを、1以上のクラスタに分割してもよい。特定部604は、例えば、特定した1以上の個人データのそれぞれの個人データに含まれる値に基づいて、特定した1以上の個人データを、1以上のクラスタに分割する。 The identifying unit 604 may divide the identified one or more pieces of personal data into one or more clusters. The identifying unit 604 divides the identified one or more pieces of personal data into one or more clusters, for example, based on the value included in each of the identified one or more pieces of personal data.

特定部604は、具体的には、特定した1以上の個人データのそれぞれの個人データに含まれる値の大小関係に基づいて、特定した1以上の個人データをソートする。特定部604は、具体的には、ソートした1以上の個人データの上位から、k個の個人データごとに、同一のクラスタに属するよう、1以上の個人データを、1以上のクラスタに分割する。kは、可変値であってもよい。これにより、特定部604は、生成部606が生成する1以上の匿名データの特徴分布を示すヒストグラムを、1以上の個人データの特徴分布を示すヒストグラムと対応させ易くすることができる。 Specifically, the identifying unit 604 sorts the identified one or more pieces of personal data based on the magnitude relationship of the values included in each of the identified pieces of personal data. Specifically, the identifying unit 604 divides the one or more pieces of personal data into one or more clusters so that each k piece of personal data belongs to the same cluster from the top of the sorted one or more pieces of personal data. . k may be a variable value. Thereby, the specifying unit 604 can easily associate the histogram showing the feature distribution of one or more anonymous data generated by the generating unit 606 with the histogram showing the feature distribution of one or more personal data.

学習部605は、特定した1以上の個人データに基づいて、第2の匿名化モデルを学習する。学習部605は、例えば、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する分散および平均に基づいて、第2の匿名化モデルに用いられるノイズ値の範囲を決定し、第2の匿名化モデルを学習する。これにより、学習部605は、第2の匿名化部607が生成する1以上の匿名データの特徴分布を示すヒストグラムを、複数の個人データの特徴分布を示すヒストグラムと対応させ易くすることができる。 The learning unit 605 learns the second anonymization model based on the identified one or more pieces of personal data. For example, the learning unit 605 determines the range of noise values used in the second anonymization model based on the variance and average regarding the values included in each of the one or more pieces of personal data that has been identified, and Learn an anonymization model for . Thereby, the learning unit 605 can easily associate the histogram showing the feature distribution of one or more anonymous data generated by the second anonymization unit 607 with the histogram showing the feature distribution of a plurality of pieces of personal data.

学習部605は、クラスタごとに、クラスタに分割した個人データに基づいて、クラスタに対応する第2の匿名化モデルを学習する。これにより、学習部605は、第2の匿名化部607が生成する1以上の匿名データの特徴分布を示すヒストグラムを、複数の個人データの特徴分布を示すヒストグラムと対応させ易くすることができる。 The learning unit 605 learns, for each cluster, a second anonymization model corresponding to the cluster, based on the personal data divided into clusters. Thereby, the learning unit 605 can easily associate the histogram showing the feature distribution of one or more anonymous data generated by the second anonymization unit 607 with the histogram showing the feature distribution of a plurality of pieces of personal data.

生成部606は、特定した1以上の個人データに基づいて、1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成する。生成部606は、例えば、ミクロアグリゲーションを実施し、1以上の匿名データを生成する。 The generation unit 606 generates one or more anonymous data having a higher degree of anonymity than each of the one or more personal data, based on the one or more identified personal data. For example, the generation unit 606 performs micro-aggregation and generates one or more anonymous data.

生成部606は、具体的には、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出する。統計値は、具体的には、平均値、最大値、最小値、中央値、または、最頻値などである。生成部606は、特定した1以上の個人データのそれぞれの個人データに含まれる値を、算出した統計値に置換し、1以上の匿名データを生成する。これにより、生成部606は、個人データの匿名性の向上を図ることができる。 Specifically, the generation unit 606 calculates statistical values regarding the values included in each of the identified one or more pieces of personal data. Specifically, the statistical value is an average value, maximum value, minimum value, median value, mode, or the like. The generation unit 606 replaces the value included in each of the identified one or more pieces of personal data with the calculated statistical value, and generates one or more pieces of anonymous data. Thereby, the generation unit 606 can improve the anonymity of personal data.

生成部606は、クラスタごとに、クラスタに分割した個人データに基づいて、クラスタに分割した個人データのそれぞれよりも匿名度合いが高い、クラスタに対応する匿名データを生成する。これにより、生成部606は、クラスタごとに、第2の匿名化モデルが参照する匿名データを生成することができる。 The generation unit 606 generates, for each cluster, anonymous data corresponding to the cluster and having a higher degree of anonymity than each of the personal data divided into clusters, based on the personal data divided into clusters. Thereby, the generation unit 606 can generate anonymous data referenced by the second anonymization model for each cluster.

第2の匿名化部607は、生成した1以上の匿名データのそれぞれの匿名データを、学習した第2の匿名化モデルにより匿名化し、新たな匿名データを生成する。これにより、第2の匿名化部607は、生成した1以上の新たな匿名データの特徴分布を示すヒストグラムが、複数の個人データの特徴分布を示すヒストグラムに対応するよう、1以上の新たな匿名データを生成することができる。 The second anonymization unit 607 anonymizes each of the one or more generated anonymous data using the learned second anonymization model, and generates new anonymous data. Thereby, the second anonymization unit 607 generates one or more new anonymous data so that the histogram showing the feature distribution of the generated one or more new anonymous data corresponds to the histogram showing the feature distribution of the plurality of personal data. Data can be generated.

第2の匿名化部607は、クラスタごとに、生成したクラスタに対応する匿名データを、学習したクラスタに対応する第2の匿名化モデルにより匿名化し、新たな匿名データを生成する。これにより、第2の匿名化部607は、クラスタごとに、生成した1以上の新たな匿名データの特徴分布を示すヒストグラムが、複数の個人データの特徴分布を示すヒストグラムに対応するよう、1以上の新たな匿名データを生成することができる。 For each cluster, the second anonymization unit 607 anonymizes the anonymous data corresponding to the generated cluster using the learned second anonymization model corresponding to the cluster, and generates new anonymous data. As a result, the second anonymization unit 607 adjusts the histograms indicating the feature distribution of the generated one or more new anonymous data to correspond to the histograms indicating the feature distribution of the plurality of personal data for each cluster. new anonymous data can be generated.

出力部608は、いずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F403による外部装置への送信、または、メモリ402や記録媒体405などの記憶領域への記憶である。これにより、出力部608は、いずれかの機能部の処理結果をユーザに通知可能にし、生成装置100の利便性の向上を図ることができる。 The output unit 608 outputs the processing results of any of the functional units. The output format is, for example, display on a display, printout to a printer, transmission to an external device via network I/F 403, or storage in a storage area such as memory 402 or recording medium 405. Thereby, the output unit 608 can notify the user of the processing results of any of the functional units, thereby improving the usability of the generation device 100.

出力部608は、第2の匿名化部607によって生成された新たな匿名データを出力する。出力部608は、さらに、第1の匿名化部602によって生成された匿名データを出力する。出力部608は、例えば、第1の匿名化部602によって生成された匿名データと、第2の匿名化部607によって生成された新たな匿名データとを併せて出力する。これにより、出力部608は、有用な匿名データを利用可能にすることができる。 The output unit 608 outputs the new anonymous data generated by the second anonymization unit 607. The output unit 608 further outputs the anonymous data generated by the first anonymization unit 602. The output unit 608 outputs, for example, the anonymous data generated by the first anonymization unit 602 and the new anonymous data generated by the second anonymization unit 607. This allows the output unit 608 to make useful anonymous data available.

(生成装置100の第1の動作例)
次に、図7を用いて、生成装置100の第1の動作例について説明する。
(First operation example of generation device 100)
Next, a first operation example of the generation device 100 will be described using FIG. 7.

図7は、生成装置100の第1の動作例を示す説明図である。図7において、(7-1)生成装置100は、データ管理テーブル500から、氏名の属性値を削除した後の個人データ群701を取得する。 FIG. 7 is an explanatory diagram showing a first operation example of the generation device 100. In FIG. 7, (7-1) the generation device 100 obtains the personal data group 701 from the data management table 500 after deleting the name attribute value.

(7-2)生成装置100は、取得した個人データ群701のそれぞれの個人データに含まれる値に基づいて、個人データ群701をクラスタリングする。クラスタリングは、ヒストグラムを作成する可能性が高い属性について実施される。ヒストグラムを作成する可能性が高い属性は、例えば、予めユーザによって指定される。クラスタリングは、例えば、K-匿名化処理に規定されたクラスタリングが用いられる。 (7-2) The generation device 100 clusters the personal data group 701 based on the value included in each piece of personal data in the acquired personal data group 701. Clustering is performed on attributes that are likely to create a histogram. For example, attributes for which a histogram is likely to be created are specified in advance by the user. As the clustering, for example, clustering defined in K-anonymization processing is used.

図7の例では、生成装置100は、個人データ群701を、性別の値が「女性」の個人データを含むクラスタ702と、性別の値が「男性」の個人データを含むクラスタ703とに分割する。ここでは、性別の値が、準識別子として扱われている。性別以外の値が、センシティブ属性として扱われている。生成装置100は、性別の値が「女性」の個人データを含むクラスタ702を、DB710に保存する。生成装置100は、性別の値が「男性」の個人データを含むクラスタ703を、DB720に保存する。 In the example of FIG. 7, the generation device 100 divides a personal data group 701 into a cluster 702 that includes personal data whose gender value is "female" and a cluster 703 that includes personal data whose gender value is "male." do. Here, the gender value is treated as a quasi-identifier. Values other than gender are treated as sensitive attributes. The generation device 100 stores, in the DB 710, a cluster 702 that includes personal data whose gender value is "female." The generation device 100 stores, in the DB 720, a cluster 703 that includes personal data whose gender value is “male.”

以下の説明では、生成装置100が、DB710を処理対象とする場合について説明する。生成装置100が、DB720を処理対象とする場合については、生成装置100が、DB710を処理対象とする場合と同様であるため、説明を省略する。 In the following description, a case will be described in which the generation device 100 processes the DB 710. The case in which the generation device 100 processes the DB 720 is the same as the case in which the generation device 100 processes the DB 710, so a description thereof will be omitted.

(7-3)生成装置100は、DB710に対して、ノイズ付与とプライバシーテストとを実施する。生成装置100は、例えば、DB710に記憶された個人データ群711を取得する。生成装置100は、例えば、取得した個人データ群711に含まれる個人データを、ランダムに所定回数選択する。 (7-3) The generation device 100 performs noise addition and privacy test on the DB 710. The generation device 100 obtains a personal data group 711 stored in the DB 710, for example. For example, the generation device 100 randomly selects personal data included in the acquired personal data group 711 a predetermined number of times.

生成装置100は、例えば、個人データを選択する都度、選択した個人データに基づいて、生成モデル730により匿名データを1以上生成する。生成モデル730は、確率的な生成モデルである。生成モデル730は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成モデル730は、例えば、個人データ群711に基づいて生成されてもよい。 For example, each time personal data is selected, the generation device 100 generates one or more pieces of anonymous data using the generation model 730 based on the selected personal data. Generative model 730 is a probabilistic generative model. The generative model 730 is, for example, a generative model that has a differential privacy mechanism. The generative model 730 may be generated based on the personal data group 711, for example.

生成装置100は、例えば、生成した1以上の匿名データに基づいて、プライバシーテストを実施し、生成した1以上の匿名データを生成する元となった個人データの匿名度合いが、所定の基準を満たすか否かを判定する。ここで、生成装置100は、例えば、判定した結果がOKであれば、生成した1以上の匿名データを、リリースDB740に保存する。OKは、個人データの匿名度合いが所定の基準を満たし、プライバシーテストに合格したことを意味する。一方で、生成装置100は、判定した結果がNGであれば、生成した1以上の匿名データを破棄し、生成した1以上の匿名データを生成する元となった個人データを、NG-DB750に保存する。NGは、個人データの匿名度合いが所定の基準を満たさず、プライバシーテストに合格しなかったことを意味する。 For example, the generation device 100 performs a privacy test based on the one or more generated anonymous data, and determines that the degree of anonymity of the personal data from which the one or more generated anonymous data was generated satisfies a predetermined standard. Determine whether or not. Here, the generation device 100 stores the generated one or more anonymous data in the release DB 740, for example, if the determined result is OK. OK means that the degree of anonymity of the personal data satisfies a predetermined standard and passes the privacy test. On the other hand, if the determined result is NG, the generation device 100 discards the one or more generated anonymous data and stores the personal data from which the one or more generated anonymous data was generated into the NG-DB 750. save. NG means that the degree of anonymity of the personal data does not meet a predetermined standard and does not pass the privacy test.

(7-4)生成装置100は、NG-DB750に対して、ミクロアグリゲーションを実施する。生成装置100は、例えば、NG-DB750に記憶された個人データ群751を取得する。生成装置100は、例えば、取得した個人データ群751に対して、ミクロアグリゲーションを実施する。ミクロアグリゲーションとは、個人データ群751のそれぞれの個人データに含まれる値を、個人データ群751のそれぞれの個人データに含まれる値に関する統計値に置換する手法である。統計値は、具体的には、平均値、最大値、最小値、中央値、または、最頻値などである。 (7-4) The generation device 100 performs micro-aggregation on the NG-DB 750. The generation device 100 obtains the personal data group 751 stored in the NG-DB 750, for example. For example, the generation device 100 performs micro-aggregation on the acquired personal data group 751. Micro-aggregation is a method of replacing the values included in each personal data in the personal data group 751 with statistical values regarding the values included in each personal data in the personal data group 751. Specifically, the statistical value is an average value, maximum value, minimum value, median value, mode, or the like.

図7の例では、生成装置100は、個人データ群751のそれぞれの個人データに含まれる値を、個人データ群751のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データ群761を生成する。生成装置100は、例えば、ミクロアグリゲーションにより、個人データ群751から得られた匿名データ群761を、MA-DB760に保存する。 In the example of FIG. 7, the generation device 100 generates anonymous data by replacing the value included in each personal data of the personal data group 751 with the average value of the values included in each personal data of the personal data group 751. A group 761 is generated. The generation device 100 stores an anonymous data group 761 obtained from the personal data group 751 in the MA-DB 760, for example, by micro-aggregation.

ここでは、生成装置100が、個人データ群751のそれぞれの個人データに含まれる値を、個人データ群751のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データを生成する場合について説明したが、これに限らない。この場合、匿名データは、平均値に比較的近い値を含む個人データに対応する個人のものであると誤認されるおそれがある。このため、例えば、生成装置100が、個人データ群751のそれぞれの個人データに含まれる値を、個人データ群751のそれぞれの個人データに含まれる値から一定以上離れた値に置換することにより、匿名データを生成する場合があってもよい。 Here, the generation device 100 generates anonymous data by replacing the value included in each personal data of the personal data group 751 with the average value of the values included in each personal data of the personal data group 751. Although the case has been described, it is not limited to this. In this case, the anonymous data may be mistakenly recognized as belonging to an individual whose personal data includes a value relatively close to the average value. Therefore, for example, by the generation device 100 replacing the value included in each personal data of the personal data group 751 with a value that is more than a certain distance from the value included in each personal data of the personal data group 751, There may be cases where anonymous data is generated.

(7-5)生成装置100は、NG-DB750に基づいて、生成モデル770を学習する。生成装置100は、例えば、NG-DB750に記憶された個人データ群751を取得する。生成装置100は、例えば、取得した個人データ群751のそれぞれの個人データを、学習データに用いて、生成モデル770を学習する。生成モデル770は、確率的な生成モデルである。生成モデル770は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成装置100は、例えば、取得した個人データ群751のそれぞれの個人データに含まれる値に関する分散および平均に基づいて、生成モデル770を学習する。 (7-5) The generation device 100 learns the generation model 770 based on the NG-DB 750. The generation device 100 obtains the personal data group 751 stored in the NG-DB 750, for example. The generation device 100 uses, for example, each personal data of the acquired personal data group 751 as learning data to learn the generation model 770. Generative model 770 is a probabilistic generative model. The generative model 770 is, for example, a generative model that has a differential privacy mechanism. The generation device 100 learns the generation model 770, for example, based on the variance and average regarding the values included in each personal data of the acquired personal data group 751.

(7-6)生成装置100は、MA-DB760に対して、ノイズ付与を実施する。生成装置100は、例えば、MA-DB760に記憶された匿名データ群761を取得する。生成装置100は、例えば、取得した匿名データ群761に含まれる匿名データを、ランダムに所定回数選択する。生成装置100は、取得した匿名データ群761のそれぞれの匿名データを選択してもよい。 (7-6) The generation device 100 adds noise to the MA-DB 760. The generation device 100 obtains the anonymous data group 761 stored in the MA-DB 760, for example. For example, the generation device 100 randomly selects anonymous data included in the acquired anonymous data group 761 a predetermined number of times. The generation device 100 may select each piece of anonymous data from the acquired anonymous data group 761.

生成装置100は、例えば、匿名データを選択する都度、選択した匿名データに基づいて、学習した生成モデル770により、新たな匿名データを1以上生成する。生成装置100は、例えば、生成した新たな匿名データを含む匿名データ群771を、リリースDB740に保存する。生成装置100は、新たな匿名データを1以上生成した際、プライバシーテストを実施してもよい。 For example, each time anonymous data is selected, the generation device 100 generates one or more new pieces of anonymous data using the learned generation model 770 based on the selected anonymous data. The generation device 100 stores, for example, an anonymous data group 771 including the generated new anonymous data in the release DB 740. The generation device 100 may perform a privacy test when generating one or more new anonymous data.

このように、生成装置100が、DB710を処理対象とした場合、リリースDB740が得られる。一方で、生成装置100が、DB720を処理対象とした場合、リリースDB781が得られたものとする。 In this way, when the generation device 100 processes the DB 710, the release DB 740 is obtained. On the other hand, when the generation device 100 processes the DB 720, it is assumed that the release DB 781 is obtained.

(7-7)生成装置100は、DB710を処理対象として得られたリリースDB740と、DB720を処理対象として得られたリリースDB781とを結合し、DB780を生成する。これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。 (7-7) The generation device 100 combines the release DB 740 obtained with the DB 710 as the processing target and the release DB 781 obtained with the DB 720 as the processing target, and generates the DB 780. Thereby, the generation device 100 can obtain useful anonymous data, and can achieve both the usefulness of anonymous data and the anonymity of personal data.

生成装置100は、例えば、プライバシーテストにより、NGと判定された個人データに基づいて、新たな匿名データを生成することができる。このため、生成装置100は、例えば、出力される複数の匿名データを、統計処理において好ましいデータにすることができる。生成装置100は、具体的には、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができる。 The generation device 100 can generate new anonymous data, for example, based on personal data determined to be NG in a privacy test. For this reason, the generation device 100 can, for example, make a plurality of output anonymous data data preferable in statistical processing. Specifically, the generation device 100 can bring a histogram indicating the feature distribution of a plurality of pieces of personal data closer to a histogram indicating a feature distribution of a plurality of anonymous data to be output.

また、生成装置100は、例えば、匿名度合いが所定の基準を満たさないと判定された個人データを、より匿名度合いが高い形式である匿名データに変換してから、生成モデル770により、新たな匿名データを生成することができる。このため、生成装置100は、例えば、個人データの匿名性を確保し易くすることができる。 Further, the generation device 100 converts personal data whose degree of anonymity is determined to not meet a predetermined standard into anonymous data in a format with a higher degree of anonymity, and then uses the generation model 770 to generate new anonymous data. Data can be generated. Therefore, the generation device 100 can easily ensure the anonymity of personal data, for example.

生成装置100は、例えば、複数の個人データのうち、NGと判定された1以上の個人データに基づいて、生成モデル770を学習し、学習した生成モデル770により、新たな匿名データを生成することができる。このため、生成装置100は、例えば、出力される複数の匿名データを、統計処理において好ましいデータにすることができる。生成装置100は、具体的には、例えば、NGと判定された個人データの特徴分布を示すヒストグラムと、生成モデル770により生成される新たな匿名データの特徴分布を示すヒストグラムとを近づけることができる。 For example, the generation device 100 may learn the generation model 770 based on one or more pieces of personal data determined to be NG among the plurality of pieces of personal data, and generate new anonymous data using the learned generation model 770. I can do it. For this reason, the generation device 100 can, for example, make a plurality of output anonymous data data preferable in statistical processing. Specifically, the generation device 100 can, for example, bring the histogram indicating the feature distribution of personal data determined to be NG closer to the histogram indicating the feature distribution of new anonymous data generated by the generation model 770. .

以上により、生成装置100は、匿名データの有用性と、個人データの匿名性とを両立し、外部に流通させて第3者に参照されても問題が発生しないと考えられる匿名データのDB780を生成することができる。このため、生成装置100は、統計分析、または、機械学習の分野において利用することができる。 As described above, the generation device 100 has created an anonymous data DB 780 that is compatible with the usefulness of anonymous data and the anonymity of personal data, and that is considered to cause no problem even if it is distributed externally and referred to by a third party. can be generated. Therefore, the generation device 100 can be used in the field of statistical analysis or machine learning.

ここでは、生成装置100が、(7-3)において、単にプライバシーテストを実施する場合について説明したが、これに限らない。例えば、生成装置100が、(7-3)において、プライバシーテストを実施するにあたり、生成した1以上の匿名データを生成する元となった個人データの匿名度合いによらず、一定確率で、NGであると判定するように動作する場合があってもよい。 Although the case where the generation device 100 simply performs the privacy test in (7-3) has been described here, the present invention is not limited to this. For example, when the generation device 100 conducts a privacy test in (7-3), it has a certain probability of failing or failing, regardless of the degree of anonymity of the personal data that was the source of the one or more generated anonymous data. There may be a case where the operation is performed so as to determine that there is.

これにより、生成装置100は、NG-DB750に記憶された個人データの数が少ないために、個人データの匿名性が損なわれるおそれが生じるような状況を回避することができる。この場合における生成装置100の動作例は、図8を用いて後述する第2の動作例に対応する。 Thereby, the generation device 100 can avoid a situation where the anonymity of personal data may be lost due to the small number of personal data stored in the NG-DB 750. An example of the operation of the generation device 100 in this case corresponds to a second example of operation, which will be described later with reference to FIG.

ここでは、生成装置100が、(7-4)において、NG-DB750に記憶された個人データ群751全体に対して、ミクロアグリゲーションを実施する場合について説明したが、これに限らない。例えば、生成装置100が、(7-4)において、NG-DB750に記憶された個人データ群751のうち、k個の個人データごとに、ミクロアグリゲーションを実施する場合があってもよい。この場合、生成装置100は、k個の個人データごとに、生成モデル770を学習することになる。 Here, a case has been described in which the generation device 100 performs micro-aggregation on the entire personal data group 751 stored in the NG-DB 750 in (7-4), but the present invention is not limited to this. For example, the generation device 100 may perform micro-aggregation for each k pieces of personal data out of the personal data group 751 stored in the NG-DB 750 in (7-4). In this case, the generation device 100 learns the generation model 770 for each k piece of personal data.

これにより、生成装置100は、NGと判定された個人データの特徴分布を示すヒストグラムと、生成モデル770により生成される新たな匿名データの特徴分布を示すヒストグラムとを、さらに近づけ易くすることができる。この場合における生成装置100の動作例は、図9を用いて後述する第3の動作例に対応する。 Thereby, the generation device 100 can more easily bring the histogram showing the feature distribution of the personal data determined to be NG and the histogram showing the feature distribution of the new anonymous data generated by the generation model 770 closer to each other. . The operation example of the generation device 100 in this case corresponds to the third operation example described later using FIG. 9.

(生成装置100の第2の動作例)
次に、図8を用いて、生成装置100の第2の動作例について説明する。
(Second operation example of generation device 100)
Next, a second operation example of the generation device 100 will be described using FIG. 8.

図8は、生成装置100の第2の動作例を示す説明図である。第2の動作例は、生成装置100が、プライバシーテストを実施するにあたり、生成した1以上の匿名データを生成する元となった個人データの匿名度合いによらず、一定確率で、NGであると判定するように動作する場合に対応する。 FIG. 8 is an explanatory diagram showing a second operation example of the generation device 100. In the second operation example, when the generation device 100 conducts a privacy test, it determines that one or more pieces of generated anonymous data are NG with a certain probability, regardless of the degree of anonymity of the personal data from which the generated anonymous data was generated. This corresponds to the case where it operates to make a judgment.

図8において、(8-1)生成装置100は、(7-1)および(7-2)と同様の動作により、データ管理テーブル500に基づいて、性別の値が「女性」の個人データを含む個人データ群801を、DB800に保存している。 In FIG. 8, (8-1) the generation device 100 generates personal data whose gender value is "female" based on the data management table 500 by the same operation as (7-1) and (7-2). A group of personal data 801 including this information is stored in the DB 800.

以下の説明では、生成装置100が、DB800を処理対象とする場合について説明する。生成装置100が、性別の値が「男性」の個人データを含む個人データ群を保存した他のDBなどを処理対象とする場合については、生成装置100が、DB800を処理対象とする場合と同様であるため、説明を省略する。 In the following description, a case will be described in which the generation device 100 processes the DB 800. The case where the generation device 100 processes another DB that stores a group of personal data containing personal data whose gender value is "male" is the same as the case where the generation device 100 processes the DB 800. Therefore, the explanation will be omitted.

(8-2)生成装置100は、DB800に対して、ノイズ付与とプライバシーテストとを実施する。生成装置100は、例えば、DB800に記憶された個人データ群801を取得する。生成装置100は、例えば、取得した個人データ群801に含まれる個人データを、ランダムに所定回数選択する。 (8-2) The generation device 100 performs noise addition and privacy test on the DB 800. For example, the generation device 100 acquires a personal data group 801 stored in the DB 800. For example, the generation device 100 randomly selects personal data included in the acquired personal data group 801 a predetermined number of times.

生成装置100は、例えば、個人データを選択する都度、選択した個人データに基づいて、生成モデル810により匿名データを1以上生成する。生成モデル810は、確率的な生成モデルである。生成モデル810は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成モデル810は、例えば、個人データ群801に基づいて生成されてもよい。 For example, each time personal data is selected, the generation device 100 generates one or more pieces of anonymous data using the generation model 810 based on the selected personal data. Generative model 810 is a probabilistic generative model. The generative model 810 is, for example, a generative model that has a differential privacy mechanism. The generative model 810 may be generated based on the personal data group 801, for example.

生成装置100は、例えば、生成した1以上の匿名データに基づいて、プライバシーテストを実施し、生成した1以上の匿名データを生成する元となった個人データの匿名度合いが、所定の基準を満たすか否かを判定する。この際、生成装置100は、一定確率で、生成した1以上の匿名データを生成する元となった個人データの匿名度合いによらず、所定の基準を満たさないと判定する。 For example, the generation device 100 performs a privacy test based on the one or more generated anonymous data, and determines that the degree of anonymity of the personal data from which the one or more generated anonymous data was generated satisfies a predetermined standard. Determine whether or not. At this time, the generation device 100 determines, with a certain probability, that the one or more generated anonymous data do not meet the predetermined criteria, regardless of the degree of anonymity of the personal data from which the generated one or more pieces of anonymous data were generated.

ここで、生成装置100は、例えば、判定した結果がOKであれば、生成した1以上の匿名データを、リリースDB820に保存する。一方で、生成装置100は、判定した結果がNGであれば、生成した1以上の匿名データを破棄し、生成した1以上の匿名データを生成する元となった個人データを、NG-DB830に保存する。 Here, the generation device 100 stores the generated one or more anonymous data in the release DB 820, for example, if the determined result is OK. On the other hand, if the determined result is NG, the generation device 100 discards the one or more generated anonymous data and stores the personal data from which the one or more generated anonymous data was generated in the NG-DB 830. save.

(8-3)生成装置100は、NG-DB830に対して、ミクロアグリゲーションを実施する。生成装置100は、例えば、NG-DB830に記憶された個人データ群831を取得する。生成装置100は、例えば、取得した個人データ群831に対して、ミクロアグリゲーションを実施する。 (8-3) The generation device 100 performs micro-aggregation on the NG-DB 830. For example, the generation device 100 acquires the personal data group 831 stored in the NG-DB 830. For example, the generation device 100 performs micro-aggregation on the acquired personal data group 831.

図8の例では、生成装置100は、個人データ群831のそれぞれの個人データに含まれる値を、個人データ群831のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データ群841を生成する。生成装置100は、例えば、ミクロアグリゲーションにより、個人データ群831から得られた匿名データ群841を、MA-DB840に保存する。 In the example of FIG. 8, the generation device 100 generates anonymous data by replacing the value included in each personal data of the personal data group 831 with the average value of the values included in each personal data of the personal data group 831. A group 841 is generated. The generation device 100 stores the anonymous data group 841 obtained from the personal data group 831 in the MA-DB 840, for example, by micro-aggregation.

ここでは、生成装置100が、個人データ群831のそれぞれの個人データに含まれる値を、個人データ群831のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データを生成する場合について説明したが、これに限らない。この場合、匿名データは、平均値に比較的近い値を含む個人データに対応する個人のものであると誤認されるおそれがある。このため、例えば、生成装置100が、個人データ群831のそれぞれの個人データに含まれる値を、個人データ群831のそれぞれの個人データに含まれる値から一定以上離れた値に置換することにより、匿名データを生成する場合があってもよい。 Here, the generation device 100 generates anonymous data by replacing the value included in each personal data of the personal data group 831 with the average value of the values included in each personal data of the personal data group 831. Although the case has been described, it is not limited to this. In this case, the anonymous data may be mistakenly recognized as belonging to an individual whose personal data includes a value relatively close to the average value. Therefore, for example, by the generation device 100 replacing the value included in each personal data of the personal data group 831 with a value that is more than a certain distance from the value included in each personal data of the personal data group 831, There may be cases where anonymous data is generated.

(8-4)生成装置100は、NG-DB830に基づいて、生成モデル850を学習する。生成装置100は、例えば、NG-DB830に記憶された個人データ群831を取得する。生成装置100は、例えば、取得した個人データ群831のそれぞれの個人データを、学習データに用いて、生成モデル850を学習する。生成モデル850は、確率的な生成モデルである。生成モデル850は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成装置100は、例えば、取得した個人データ群831のそれぞれの個人データに含まれる値に関する分散および平均に基づいて、生成モデル850を学習する。 (8-4) The generation device 100 learns the generative model 850 based on the NG-DB 830. For example, the generation device 100 acquires the personal data group 831 stored in the NG-DB 830. The generation device 100 uses, for example, each personal data of the acquired personal data group 831 as learning data to learn the generation model 850. Generative model 850 is a probabilistic generative model. The generative model 850 is, for example, a generative model that has a differential privacy mechanism. The generation device 100 learns the generation model 850, for example, based on the variance and average regarding the values included in each personal data of the acquired personal data group 831.

(8-5)生成装置100は、MA-DB840に対して、ノイズ付与を実施する。生成装置100は、例えば、MA-DB840に記憶された匿名データ群841を取得する。生成装置100は、例えば、取得した匿名データ群841に含まれる匿名データを、ランダムに所定回数選択する。生成装置100は、取得した匿名データ群841のそれぞれの匿名データを選択してもよい。 (8-5) The generation device 100 adds noise to the MA-DB 840. The generation device 100 obtains the anonymous data group 841 stored in the MA-DB 840, for example. For example, the generation device 100 randomly selects anonymous data included in the acquired anonymous data group 841 a predetermined number of times. The generation device 100 may select each piece of anonymous data from the acquired anonymous data group 841.

生成装置100は、例えば、匿名データを選択する都度、選択した匿名データに基づいて、学習した生成モデル850により、新たな匿名データを1以上生成する。生成装置100は、例えば、取得した匿名データ群841のうち、いずれか一つの匿名データを選択し、選択した匿名データに基づいて、学習した生成モデル850により、新たな匿名データを、匿名データ群841の匿名データの数と同一の数だけ生成してもよい。生成装置100は、例えば、生成した新たな匿名データを含む匿名データ群851を、リリースDB820に保存する。生成装置100は、新たな匿名データを1以上生成した際、プライバシーテストを実施してもよい。 For example, each time anonymous data is selected, the generation device 100 generates one or more new pieces of anonymous data using the learned generation model 850 based on the selected anonymous data. For example, the generation device 100 selects any one anonymous data from the acquired anonymous data group 841, and generates new anonymous data into the anonymous data group using the learned generation model 850 based on the selected anonymous data. The same number of anonymous data as 841 may be generated. The generation device 100 stores, for example, an anonymous data group 851 including the generated new anonymous data in the release DB 820. The generation device 100 may perform a privacy test when generating one or more new anonymous data.

このように、生成装置100が、DB800を処理対象とした場合、リリースDB820が得られる。一方で、生成装置100が、性別の値が「男性」の個人データを含む個人データ群を保存した他のDBを処理対象とした場合、リリースDB861が得られたものとする。 In this way, when the generation device 100 processes the DB 800, a release DB 820 is obtained. On the other hand, it is assumed that the release DB 861 is obtained when the generation device 100 processes another DB that stores a group of personal data that includes personal data whose gender value is "male."

(8-6)生成装置100は、リリースDB820と、リリースDB861とを結合し、DB860を生成する。これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。 (8-6) The generation device 100 combines the release DB 820 and the release DB 861 to generate the DB 860. Thereby, the generation device 100 can obtain useful anonymous data, and can achieve both the usefulness of anonymous data and the anonymity of personal data.

生成装置100は、プライバシーテストを実施するにあたり、一定確率で、本来であればOKと判定され得る個人データを、NG-DB830に保存することができる。このため、生成装置100は、NG-DB830に記憶された個人データの数が少ないために、統計的解析により、個人データの匿名性が損なわれるおそれが生じるような状況を回避することができる。 When performing a privacy test, the generation device 100 can store personal data that could otherwise be determined to be OK in the NG-DB 830 with a certain probability. Therefore, the generation device 100 can avoid a situation where the anonymity of personal data may be lost due to statistical analysis because the number of personal data stored in the NG-DB 830 is small.

また、生成装置100は、プライバシーテストによりOKと判定された個人データの数に対して、所定の閾値を設定してもよい。所定の閾値は、例えば、ユーザによって予め設定される。そして、生成装置100は、OKと判定された個人データの数が、所定の閾値以下である間、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG-DB830に保存するという動作を実施する。一方で、生成装置100は、OKと判定された個人データの数が、所定の閾値より大きくなった後、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG-DB830に保存するという動作を停止する。これにより、生成装置100は、OKと判定される個人データの数と、NGと判定される個人データの数との偏りを低減することができ、データの匿名性の向上を図り易くすることができる。 Further, the generation device 100 may set a predetermined threshold value for the number of personal data determined to be OK by the privacy test. The predetermined threshold value is set in advance by the user, for example. Then, while the number of personal data determined to be OK is below a predetermined threshold, the generation device 100 determines personal data that would normally be determined to be OK as NG with a certain probability, and generates the NG-DB830. Execute the operation of saving to . On the other hand, after the number of personal data determined to be OK becomes larger than a predetermined threshold, the generation device 100 determines, with a certain probability, personal data that would otherwise be determined to be OK as NG. -Stop the operation of saving to DB830. Thereby, the generation device 100 can reduce the bias between the number of personal data determined to be OK and the number of personal data determined to be NG, making it easier to improve the anonymity of the data. can.

また、生成装置100は、OKと判定された個人データの数が、所定の閾値より大きくなった後、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG-DB830に保存するという動作を開始するようにしてもよい。これにより、生成装置100は、OKと判定される個人データの数と、NGと判定される個人データの数との偏りを低減することができ、データの匿名性の向上を図り易くすることができる。 Furthermore, after the number of personal data determined to be OK becomes larger than a predetermined threshold, the generation device 100 determines personal data that would normally be determined to be OK as NG, with a certain probability, and NG- An operation of saving the data in the DB 830 may be started. Thereby, the generation device 100 can reduce the bias between the number of personal data determined to be OK and the number of personal data determined to be NG, making it easier to improve the anonymity of the data. can.

また、生成装置100は、NG-DB830に保存する個人データの数に対して、所定の閾値を設定してもよい。所定の閾値は、例えば、ユーザによって予め設定される。そして、生成装置100は、NG-DB830に保存された個人データの数が、所定の閾値以下である間、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG-DB830に保存するという動作を実施する。一方で、生成装置100は、NG-DB830に保存された個人データの数が、所定の閾値より大きくなった後、一定確率で、本来であればOKと判定され得る個人データをNGと判定し、NG-DB830に保存するという動作を停止する。これにより、生成装置100は、OKと判定される個人データの数と、NGと判定される個人データの数との偏りを低減することができ、データの匿名性の向上を図り易くすることができる。 Further, the generation device 100 may set a predetermined threshold value for the number of personal data to be stored in the NG-DB 830. The predetermined threshold value is set in advance by the user, for example. Then, while the number of personal data stored in the NG-DB 830 is below a predetermined threshold, the generation device 100 determines personal data that would otherwise be determined as OK with a certain probability, and rejects the personal data as NG. - Execute the operation of saving in the DB830. On the other hand, after the number of personal data stored in the NG-DB 830 becomes larger than a predetermined threshold, the generation device 100 determines, with a certain probability, personal data that would otherwise be determined to be OK as NG. , the operation of saving to NG-DB830 is stopped. Thereby, the generation device 100 can reduce the bias between the number of personal data determined to be OK and the number of personal data determined to be NG, making it easier to improve the anonymity of the data. can.

(生成装置100の第3の動作例)
次に、図9を用いて、生成装置100の第3の動作例について説明する。
(Third operation example of generation device 100)
Next, a third operation example of the generation device 100 will be described using FIG. 9.

図9は、生成装置100の第3の動作例を示す説明図である。第3の動作例は、生成装置100が、プライバシーテストにより、NGと判定された複数の個人データのうち、k個の個人データごとに、ミクロアグリゲーションを実施する場合に対応する。 FIG. 9 is an explanatory diagram showing a third operation example of the generation device 100. The third operation example corresponds to a case where the generation device 100 performs micro-aggregation for each k piece of personal data among a plurality of pieces of personal data determined to be NG in the privacy test.

図9において、(9-1)生成装置100は、(7-1)および(7-2)と同様の動作により、データ管理テーブル500に基づいて、性別の値が「女性」の個人データを含む個人データ群を、DB900に保存している。 In FIG. 9, (9-1) the generation device 100 generates personal data whose gender value is "female" based on the data management table 500 by the same operation as (7-1) and (7-2). A group of personal data including this information is stored in the DB900.

以下の説明では、生成装置100が、DB900を処理対象とする場合について説明する。生成装置100が、性別の値が「男性」の個人データを含む個人データ群を保存した他のDBなどを処理対象とする場合については、生成装置100が、DB900を処理対象とする場合と同様であるため、説明を省略する。 In the following description, a case will be described in which the generation device 100 processes the DB 900. The case where the generation device 100 processes another DB that stores a group of personal data containing personal data whose gender value is "male" is the same as the case where the generation device 100 processes the DB 900. Therefore, the explanation will be omitted.

(9-2)生成装置100は、DB900に対して、ノイズ付与とプライバシーテストとを実施する。生成装置100は、例えば、DB900に記憶された個人データ群を取得する。生成装置100は、例えば、取得した個人データ群に含まれる個人データを、ランダムに所定回数選択する。 (9-2) The generation device 100 performs noise addition and privacy test on the DB 900. For example, the generation device 100 acquires a group of personal data stored in the DB 900. For example, the generation device 100 randomly selects personal data included in the acquired personal data group a predetermined number of times.

生成装置100は、例えば、個人データを選択する都度、選択した個人データに基づいて、生成モデル910により匿名データを1以上生成する。生成モデル910は、確率的な生成モデルである。生成モデル910は、例えば、差分プライバシーのメカニズムを有する生成モデルである。生成モデル910は、例えば、取得した個人データ群に基づいて生成されてもよい。 For example, each time personal data is selected, the generation device 100 generates one or more pieces of anonymous data using the generation model 910 based on the selected personal data. Generative model 910 is a probabilistic generative model. The generative model 910 is, for example, a generative model that has a differential privacy mechanism. The generative model 910 may be generated based on the acquired personal data group, for example.

生成装置100は、例えば、生成した1以上の匿名データに基づいて、プライバシーテストを実施し、生成した1以上の匿名データを生成する元となった個人データの匿名度合いが、所定の基準を満たすか否かを判定する。ここで、生成装置100は、例えば、判定した結果がOKであれば、生成した1以上の匿名データを、リリースDB920に保存する。一方で、生成装置100は、判定した結果がNGであれば、生成した1以上の匿名データを破棄し、生成した1以上の匿名データを生成する元となった個人データを、NG-DB930に保存する。 For example, the generation device 100 performs a privacy test based on the one or more generated anonymous data, and determines that the degree of anonymity of the personal data from which the one or more generated anonymous data was generated satisfies a predetermined standard. Determine whether or not. Here, the generation device 100 stores the generated one or more anonymous data in the release DB 920, for example, if the determined result is OK. On the other hand, if the determined result is NG, the generation device 100 discards the one or more generated anonymous data and stores the personal data from which the one or more generated anonymous data was generated into the NG-DB 930. save.

(9-3)生成装置100は、NG-DB930に対して、クラスタリングを実施する。生成装置100は、例えば、NG-DB930に記憶された個人データ群940を取得する。生成装置100は、例えば、個人データ群940のそれぞれの個人データに含まれる値が大きい順に、個人データ群940をソートする。 (9-3) The generation device 100 performs clustering on the NG-DB 930. For example, the generation device 100 acquires the personal data group 940 stored in the NG-DB 930. The generation device 100 sorts the personal data group 940, for example, in descending order of the values included in each piece of personal data in the personal data group 940.

生成装置100は、例えば、ソート後の個人データ群940のうち、上位からk個の個人データずつ選択し、同一のクラスタとして分割することにより、ソート後の個人データ群940に対して、クラスタリングを実施する。kは、例えば、変動値であってもよい。換言すれば、クラスタごとに、異なる数の個人データが含まれていてもよい。図9の例では、生成装置100は、個人データ群940を、個人データ群941を同一のクラスタとして分割し、個人データ群942を同一のクラスタとして分割する。 For example, the generation device 100 performs clustering on the sorted personal data group 940 by selecting k pieces of personal data from the top from the sorted personal data group 940 and dividing them into the same cluster. implement. For example, k may be a variable value. In other words, each cluster may contain a different number of personal data. In the example of FIG. 9, the generation device 100 divides the personal data group 940 into the same cluster with the personal data group 941, and divides the personal data group 942 into the same cluster.

(9-4)生成装置100は、クラスタごとに、ミクロアグリゲーションを実施する。生成装置100は、例えば、あるクラスタに分割された個人データ群941を取得する。生成装置100は、例えば、取得した個人データ群941に対して、ミクロアグリゲーションを実施する。図9の例では、生成装置100は、個人データ群941のそれぞれの個人データに含まれる値を、個人データ群941のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データ群961を生成する。 (9-4) The generation device 100 performs micro-aggregation for each cluster. For example, the generation device 100 acquires a personal data group 941 divided into certain clusters. For example, the generation device 100 performs micro-aggregation on the acquired personal data group 941. In the example of FIG. 9, the generation device 100 generates anonymous data by replacing the value included in each personal data of the personal data group 941 with the average value of the values included in each personal data of the personal data group 941. A group 961 is generated.

生成装置100は、例えば、あるクラスタに分割された個人データ群942を取得する。生成装置100は、例えば、取得した個人データ群942に対して、ミクロアグリゲーションを実施する。図9の例では、生成装置100は、個人データ群942のそれぞれの個人データに含まれる値を、個人データ群942のそれぞれの個人データに含まれる値に関する平均値に置換することにより、匿名データ群962を生成する。生成装置100は、例えば、ミクロアグリゲーションにより、個人データ群941から得られた匿名データ群961と、個人データ群942から得られた匿名データ群962とを合わせた、匿名データ群960を、MA-DB950に保存する。 For example, the generation device 100 obtains a personal data group 942 divided into certain clusters. For example, the generation device 100 performs micro-aggregation on the acquired personal data group 942. In the example of FIG. 9, the generation device 100 generates anonymous data by replacing the value included in each personal data of the personal data group 942 with the average value of the values included in each personal data of the personal data group 942. A group 962 is generated. For example, the generation device 100 generates an anonymous data group 960, which is a combination of an anonymous data group 961 obtained from a personal data group 941 and an anonymous data group 962 obtained from a personal data group 942, by micro-aggregation. Save to DB950.

(9-5)生成装置100は、クラスタごとに、生成モデル971,972を学習する。生成モデル971,972は、確率的な生成モデルである。生成モデル971,972は、例えば、差分プライバシーのメカニズムを有する生成モデルである。 (9-5) The generation device 100 learns generation models 971 and 972 for each cluster. The generative models 971 and 972 are probabilistic generative models. The generative models 971 and 972 are, for example, generative models that have a differential privacy mechanism.

生成装置100は、例えば、あるクラスタに分割された個人データ群941を取得する。生成装置100は、例えば、取得した個人データ群941のそれぞれの個人データを、学習データに用いて、生成モデル971を学習する。生成装置100は、例えば、取得した個人データ群941のそれぞれの個人データに含まれる値に関する分散および平均に基づいて、生成モデル971を学習する。 For example, the generation device 100 acquires a personal data group 941 divided into certain clusters. The generation device 100 uses, for example, each personal data of the acquired personal data group 941 as learning data to learn the generation model 971. The generation device 100 learns the generation model 971, for example, based on the variance and average regarding the values included in each personal data of the acquired personal data group 941.

生成装置100は、例えば、あるクラスタに分割された個人データ群942を取得する。生成装置100は、例えば、取得した個人データ群942のそれぞれの個人データを、学習データに用いて、生成モデル972を学習する。生成装置100は、例えば、取得した個人データ群942のそれぞれの個人データに含まれる値に関する分散および平均に基づいて、生成モデル972を学習する。 For example, the generation device 100 obtains a personal data group 942 divided into certain clusters. The generation device 100 uses, for example, each personal data of the acquired personal data group 942 as learning data to learn the generation model 972. The generation device 100 learns the generation model 972, for example, based on the variance and average regarding the values included in each personal data of the acquired personal data group 942.

(9-6)生成装置100は、クラスタごとに、ノイズ付与を実施する。生成装置100は、例えば、あるクラスタに分割された匿名データ群961を取得する。生成装置100は、例えば、取得した匿名データ群961に含まれる匿名データを、ランダムに所定回数選択する。生成装置100は、取得した匿名データ群961のそれぞれの匿名データを選択してもよい。 (9-6) The generation device 100 adds noise to each cluster. The generation device 100 obtains, for example, an anonymous data group 961 divided into certain clusters. For example, the generation device 100 randomly selects anonymous data included in the acquired anonymous data group 961 a predetermined number of times. The generation device 100 may select each piece of anonymous data from the acquired anonymous data group 961.

生成装置100は、例えば、匿名データを選択する都度、選択した匿名データに基づいて、学習した生成モデル971により、新たな匿名データを1以上生成する。生成装置100は、例えば、生成した新たな匿名データを含む匿名データ群を、リリースDB920に保存する。生成装置100は、新たな匿名データを1以上生成した際、プライバシーテストを実施してもよい。 For example, each time anonymous data is selected, the generation device 100 generates one or more new pieces of anonymous data using the learned generation model 971 based on the selected anonymous data. The generation device 100 stores, for example, an anonymous data group including the generated new anonymous data in the release DB 920. The generation device 100 may perform a privacy test when generating one or more new anonymous data.

生成装置100は、例えば、あるクラスタに分割された匿名データ群962を取得する。生成装置100は、例えば、取得した匿名データ群962に含まれる匿名データを、ランダムに所定回数選択する。生成装置100は、取得した匿名データ群962のそれぞれの匿名データを選択してもよい。 The generation device 100 obtains, for example, an anonymous data group 962 divided into certain clusters. For example, the generation device 100 randomly selects anonymous data included in the acquired anonymous data group 962 a predetermined number of times. The generation device 100 may select each piece of anonymous data from the acquired anonymous data group 962.

生成装置100は、例えば、匿名データを選択する都度、選択した匿名データに基づいて、学習した生成モデル972により、新たな匿名データを1以上生成する。生成装置100は、例えば、生成した新たな匿名データを含む匿名データ群を、リリースDB920に保存する。生成装置100は、新たな匿名データを1以上生成した際、プライバシーテストを実施してもよい。 For example, each time anonymous data is selected, the generation device 100 generates one or more new pieces of anonymous data using the learned generation model 972 based on the selected anonymous data. The generation device 100 stores, for example, an anonymous data group including the generated new anonymous data in the release DB 920. The generation device 100 may perform a privacy test when generating one or more new anonymous data.

このように、生成装置100が、DB900を処理対象とした場合、リリースDB920が得られる。一方で、生成装置100が、性別の値が「男性」の個人データを含む個人データ群を保存した他のDBを処理対象とした場合、リリースDB981が得られたものとする。 In this way, when the generation device 100 processes the DB 900, a release DB 920 is obtained. On the other hand, it is assumed that the release DB 981 is obtained when the generation device 100 processes another DB that stores a group of personal data that includes personal data whose gender value is "male."

(9-7)生成装置100は、リリースDB920と、リリースDB981とを結合し、DB980を生成する。これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。また、生成装置100は、NGと判定された個人データの特徴分布を示すヒストグラムと、生成モデル971,972により生成される新たな匿名データの特徴分布を示すヒストグラムとを、さらに近づけ易くすることができる。 (9-7) The generation device 100 combines the release DB 920 and the release DB 981 to generate a DB 980. Thereby, the generation device 100 can obtain useful anonymous data, and can achieve both the usefulness of anonymous data and the anonymity of personal data. Furthermore, the generation device 100 can make it easier to bring the histogram showing the feature distribution of personal data determined to be NG and the histogram showing the feature distribution of new anonymous data generated by the generation models 971 and 972 closer together. can.

このように、生成装置100は、(k,γ)PDなどのプライバシーテストを含む匿名化データの生成アルゴリズムについて、出力される匿名データの有用性を向上することができ、匿名データの有用性と、個人データの匿名性とを両立することができる。 In this way, the generation device 100 can improve the usefulness of output anonymous data for anonymized data generation algorithms including privacy tests such as (k, γ) PD, and improve the usefulness of anonymous data. , it is possible to achieve both anonymity of personal data.

(生成装置100による効果)
次に、図10~図17を用いて、生成装置100による効果について説明する。
(Effects due to generation device 100)
Next, the effects of the generation device 100 will be explained using FIGS. 10 to 17.

図10は、メンバーシップインクルージョン攻撃の一例を示す説明図である。生成装置100は、動作例1~動作例3により、メンバーシップインクルージョン攻撃を防止することができる。 FIG. 10 is an explanatory diagram showing an example of a membership inclusion attack. The generation device 100 can prevent membership inclusion attacks according to operation examples 1 to 3.

メンバーシップインクルージョン攻撃は、個人データ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 who have the same attributes as the individual related to the personal data d collude with an attacker. For example, if the privacy test parameter k = 3, if an attacker knows two individuals who have the same attributes as the individual related to personal data d, he or she can estimate the remaining one person's personal data d. It is.

図10の例では、Aliceが存在し、また、Aliceと同一の属性「女性」「10代」を有するBecky、Chlis、Dazyが存在する。そして、それぞれの個人の個人データが、データ管理テーブル500に記憶されている。従来では、データ管理テーブル500に基づいて、それぞれの個人の個人データにノイズを加えたデータを含めたリリースデータセット1001が出力されることになる。 In the example of FIG. 10, Alice exists, and Becky, Chris, and Dazy, who have the same attributes as Alice, ``female'' and ``teenage,'' also exist. The personal data of each individual is stored in a data management table 500. Conventionally, based on the data management table 500, a release data set 1001 including data obtained by adding noise to the personal data of each individual is output.

ここで、攻撃者は、Alice、Becky、Chlis、Dazyの背景情報を知り、リリースデータセット1001を観察することにより、リリースデータセット1001に、Aliceの個人データを基にしたデータが含まれると推定可能である。攻撃者は、例えば、Aliceと同一の属性「女性」「10代」を有するBecky、Chlis、Dazyが存在することを知っている場合、Aliceに関する真値に近い個人データを取得することができる。 Here, by knowing the background information of Alice, Becky, Chris, and Dazy and observing the release data set 1001, the attacker deduces that the release data set 1001 contains data based on Alice's personal data. It is possible. For example, if the attacker knows that Becky, Chris, and Dazy who have the same attributes as Alice, such as "female" and "teenage," exist, the attacker can obtain personal data about Alice that is close to the true value.

これに対し、生成装置100は、データ管理テーブル500に基づいて、ランダムに選択した個人データにノイズを加えたデータを含めたリリースデータセット1002を出力することになる。このため、生成装置100は、それぞれの個人の個人データの匿名性を確保し、メンバーシップインクルージョン攻撃を防止することができる。 In contrast, the generation device 100 outputs a release data set 1002 that includes data obtained by adding noise to randomly selected personal data based on the data management table 500. Therefore, the generation device 100 can ensure the anonymity of each individual's personal data and prevent membership inclusion attacks.

生成装置100は、本来であればNGと判定され得る個人データに基づいて、匿名データを生成して出力することができる。このため、生成装置100は、ユーザが、匿名データの有用性を向上するため、恣意的に、プライバシーテストを実施してしまうことを防止することができ、メンバーシップインクルージョン攻撃を防止し易くすることができる。 The generation device 100 can generate and output anonymous data based on personal data that would otherwise be determined to be unacceptable. Therefore, the generation device 100 can prevent the user from arbitrarily conducting a privacy test in order to improve the usefulness of anonymous data, making it easier to prevent membership inclusion attacks. I can do it.

図11~図14は、比較対象のヒストグラムの形状の第1の例を示す説明図である。生成装置100は、動作例1~動作例3により、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができ、有用な匿名データを得ることができる。 FIGS. 11 to 14 are explanatory diagrams showing first examples of the shapes of histograms to be compared. According to operation examples 1 to 3, the generation device 100 can bring the histogram showing the feature distribution of a plurality of pieces of personal data closer to the histogram showing the feature distribution of a plurality of anonymous data to be output, and generate useful anonymous data. can be obtained.

ここで、生成装置100との比較対象として、従来のプライバシーテストにより出力される複数の匿名データの特徴分布を示すヒストグラムについて説明する。図11の表1100は、従来のプライバシーテストにおいて、ε0を100に固定し、kを1~1000まで変動した場合に、1月~12月までのいずれかの値を有する個人データに基づいて出力される匿名データの数を示す。ここで、図12の説明に移行し、表1100をグラフ化した一例について説明する。 Here, as a comparison target with the generation device 100, a histogram showing the feature distribution of a plurality of anonymous data outputted by a conventional privacy test will be described. Table 1100 in FIG. 11 is based on personal data having any value from January to December when ε 0 is fixed at 100 and k is varied from 1 to 1000 in the conventional privacy test. Indicates the number of anonymous data output. Now, moving on to the explanation of FIG. 12, an example of a graph of the table 1100 will be explained.

図12のグラフ1200は、表1100をグラフ化した一例である。表1100およびグラフ1200に示すように、個人データの匿名性を向上するため、kを大きくすると、出力される匿名データの数に偏りが生じることになる。例えば、k=1000の場合、k=1の場合に比べて、1月~9月のいずれかの値を有する個人データに基づく匿名データは、出力されなくなっている。 A graph 1200 in FIG. 12 is an example of a graph of the table 1100. As shown in table 1100 and graph 1200, when k is increased to improve the anonymity of personal data, the number of anonymous data output becomes uneven. For example, when k=1000, anonymous data based on personal data having any value from January to September is no longer output compared to when k=1.

これに対し、従来のプライバシーテストにおいて、ε0を小さくし、偏りの低減化を図ることも考えられる。図13の表1300は、従来のプライバシーテストにおいて、ε0を0.1に固定し、kを1~1000まで変動した場合に、1月~12月までのいずれかの値を有する個人データに基づいて出力される匿名データの数を示す。ここで、図14の説明に移行し、表1300をグラフ化した一例について説明する。 On the other hand, in conventional privacy tests, it is conceivable to reduce ε 0 to reduce bias. Table 1300 in FIG. 13 shows that in the conventional privacy test, when ε 0 is fixed at 0.1 and k is varied from 1 to 1000, personal data having any value from January to December is Indicates the number of anonymous data output based on. Now, moving on to the explanation of FIG. 14, an example of a graph of the table 1300 will be explained.

図14のグラフ1400は、表1300をグラフ化した一例である。表1300およびグラフ1400に示すように、ε0を小さくしても、出力される匿名データの数に偏りが生じることになる。例えば、k=1000の場合、k=1の場合に比べて、11月の値を有する個人データに基づく匿名データの数は8割程度減少するのに対し、4月の値を有する個人データに基づく匿名データの数は5割程度減少することになる。 A graph 1400 in FIG. 14 is an example of a graph of the table 1300. As shown in the table 1300 and graph 1400, even if ε 0 is made small, the number of anonymous data output will be biased. For example, when k = 1000, the number of anonymous data based on personal data with values in November decreases by about 80% compared to the case with k = 1, whereas the number of anonymous data based on personal data with values in April decreases by about 80%. The number of anonymous data based on this will be reduced by about 50%.

一方で、生成装置100は、プライバシーテストにより、NGと判定された個人データに基づいて、新たな匿名データを生成して出力することができる。このため、生成装置100は、出力される匿名データの数に、偏りが生じにくくすることができ、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができる。そして、生成装置100は、有用な匿名データを得ることができる。 On the other hand, the generation device 100 can generate and output new anonymous data based on personal data determined to be NG by the privacy test. Therefore, the generation device 100 can make it difficult for bias to occur in the number of output anonymous data, and generate a histogram showing the characteristic distribution of a plurality of pieces of personal data and a characteristic distribution of a plurality of pieces of anonymous data to be output. The histogram can be brought closer. The generation device 100 can then obtain useful anonymous data.

また、生成装置100は、本来であればNGと判定され得る個人データに基づいて、匿名データを生成して出力することができる。このため、生成装置100は、ユーザが、匿名データの有用性を向上するため、恣意的に、プライバシーテストを実施してしまうことを防止することができ、個人データの匿名性を向上することができる。 Further, the generation device 100 can generate and output anonymous data based on personal data that would otherwise be determined to be unacceptable. Therefore, the generation device 100 can prevent users from arbitrarily conducting a privacy test in order to improve the usefulness of anonymous data, and can improve the anonymity of personal data. can.

図15~図17は、比較対象のヒストグラムの形状の第2の例を示す説明図である。生成装置100は、動作例1~動作例3により、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができ、有用な匿名データを得ることができる。 FIGS. 15 to 17 are explanatory diagrams showing second examples of the shapes of the histograms to be compared. According to operation examples 1 to 3, the generation device 100 can bring the histogram showing the feature distribution of a plurality of pieces of personal data closer to the histogram showing the feature distribution of a plurality of anonymous data to be output, and generate useful anonymous data. can be obtained.

ここで、生成装置100との比較対象として、従来のプライバシーテストにより出力される複数の匿名データの特徴分布を示すヒストグラムについて説明する。図15のグラフ1500は、1月~12月までのいずれかの値を有する個人データの数をグラフ化した一例である。次に、図16の説明に移行する。 Here, as a comparison target with the generation device 100, a histogram showing the feature distribution of a plurality of anonymous data outputted by a conventional privacy test will be described. A graph 1500 in FIG. 15 is an example of a graph of the number of personal data having any value from January to December. Next, the explanation will move on to FIG. 16.

図16のグラフ1601~1603は、従来のプライバシーテストにおいて、kを平均値k1に固定し、ε0を0.001~100まで変動した場合に、1月~12月までのいずれかの値を有する個人データに基づいて出力される匿名データの数をグラフ化した一例である。図16のグラフ1601は、ε0を0.001にした場合に対応する。図16のグラフ1602は、ε0を1にした場合に対応する。図16のグラフ1603は、ε0を100にした場合に対応する。 Graphs 1601 to 1603 in FIG. 16 show that in a conventional privacy test, when k is fixed to the average value k1 and ε 0 is varied from 0.001 to 100, any value from January to December is This is an example of a graph of the number of anonymous data output based on personal data held. A graph 1601 in FIG. 16 corresponds to the case where ε 0 is set to 0.001. A graph 1602 in FIG. 16 corresponds to the case where ε 0 is set to 1. A graph 1603 in FIG. 16 corresponds to the case where ε 0 is set to 100.

グラフ1601~1603に示すように、個人データの匿名性を向上するため、ε0を大きくすると、出力される匿名データの数に偏りが生じることになる。例えば、ε0=100の場合、1月~4月、6月、8月のいずれかの値を有する個人データに基づく匿名データは、出力されなくなっている。次に、図17の説明に移行する。 As shown in graphs 1601 to 1603, if ε 0 is increased in order to improve the anonymity of personal data, the number of anonymous data output will be biased. For example, when ε 0 =100, anonymous data based on personal data having a value from January to April, June, or August is no longer output. Next, the explanation will move on to FIG. 17.

図17のグラフ1701~1703は、従来のプライバシーテストにおいて、kを最低値k2に固定し、ε0を0.001~100まで変動した場合に、1月~12月までのいずれかの値を有する個人データに基づいて出力される匿名データの数をグラフ化した一例である。図17のグラフ1701は、ε0を0.001にした場合に対応する。図17のグラフ1702は、ε0を1にした場合に対応する。図17のグラフ1703は、ε0を100にした場合に対応する。 Graphs 1701 to 1703 in FIG. 17 show that in the conventional privacy test, when k is fixed at the lowest value k2 and ε 0 is varied from 0.001 to 100, any value from January to December is This is an example of a graph of the number of anonymous data output based on personal data held. A graph 1701 in FIG. 17 corresponds to the case where ε 0 is set to 0.001. A graph 1702 in FIG. 17 corresponds to the case where ε 0 is set to 1. A graph 1703 in FIG. 17 corresponds to the case where ε 0 is set to 100.

グラフ1701~1703に示すように、ε0を大きくすると、出力される匿名データの数に基づいて、kの値が推定され易くなってしまう。例えば、ε0=100の場合、4月の値を有する個人データに基づく匿名データの数のみが5割程度減少しており、4月の値を有する個人データに基づく匿名データの数に基づいて、kの値が推定され易くなってしまう。 As shown in graphs 1701 to 1703, when ε 0 is increased, the value of k becomes easier to estimate based on the number of output anonymous data. For example, when ε 0 = 100, only the number of anonymous data based on personal data with values in April has decreased by about 50%; , k becomes easy to estimate.

一方で、生成装置100は、プライバシーテストにより、NGと判定された個人データに基づいて、新たな匿名データを生成して出力することができる。このため、生成装置100は、出力される匿名データの数に、偏りが生じにくくすることができ、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとを近づけることができる。そして、生成装置100は、有用な匿名データを得ることができる。また、生成装置100は、プライバシーテストのパラメータを推定されにくくすることができる。 On the other hand, the generation device 100 can generate and output new anonymous data based on personal data determined to be NG by the privacy test. Therefore, the generation device 100 can make it difficult for bias to occur in the number of output anonymous data, and generate a histogram showing the characteristic distribution of a plurality of pieces of personal data and a characteristic distribution of a plurality of pieces of anonymous data to be output. The histogram can be brought closer. The generation device 100 can then obtain useful anonymous data. Furthermore, the generation device 100 can make it difficult for privacy test parameters to be estimated.

このように、従来のプライバシーテストのパラメータk,γ,ε0を、匿名データの有用性と、個人データの匿名性とを、バランスよく両立するよう、調整することは難しい。これに対し、生成装置100は、プライバシーテストのパラメータk,γ,ε0を、適切に調整せずとも、匿名データの有用性と、個人データの匿名性とを、バランスよく両立することができる。 In this way, it is difficult to adjust the parameters k, γ, ε 0 of the conventional privacy test so as to balance the usefulness of anonymous data and the anonymity of personal data. In contrast, the generation device 100 can balance the usefulness of anonymous data and the anonymity of personal data without appropriately adjusting the parameters k, γ, ε 0 of the privacy test. .

生成装置100は、プライバシーテストのパラメータk,γ,ε0により、NGと判定される個人データの数が増加したとしても、匿名データの有用性と、個人データの匿名性とを、バランスよく両立することができる。結果として、生成装置100は、複数の個人データの特徴分布を示すヒストグラムと、出力される複数の匿名データの特徴分布を示すヒストグラムとの、数量と比率とを類似させることができ、かつ、個人データの匿名性を確保することができる。 The generation device 100 balances the usefulness of anonymous data and the anonymity of personal data even if the number of personal data determined to be NG increases due to the parameters k, γ, ε 0 of the privacy test. can do. As a result, the generation device 100 can make the quantity and ratio of the histogram showing the feature distribution of the plurality of personal data similar to the histogram showing the feature distribution of the plurality of output anonymous data, and Data anonymity can be ensured.

(準備処理手順)
次に、図18を用いて、生成装置100が実行する、準備処理手順の一例について説明する。準備処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
(Preparation procedure)
Next, an example of a preparation process procedure executed by the generation device 100 will be described using FIG. 18. The preparation process is realized by, for example, the CPU 401 shown in FIG. 4, a storage area such as the memory 402 or the recording medium 405, and the network I/F 403.

図18は、準備処理手順の一例を示すフローチャートである。図18において、まず、生成装置100は、ヒストグラムの有用性を一定にする対象の属性を取得する(ステップS1801)。対象の属性は、例えば、ユーザによって予め設定される。ユーザは、例えば、ヒストグラムの有用性を一定にする属性の優先度を、性別、身長の順に設定する。 FIG. 18 is a flowchart illustrating an example of a preparation process procedure. In FIG. 18, first, the generation device 100 acquires the attribute of the object that makes the usefulness of the histogram constant (step S1801). The target attributes are set in advance by the user, for example. For example, the user sets the priority of attributes that make the usefulness of the histogram constant in the order of gender and height.

次に、生成装置100は、DBの記憶内容を取得する(ステップS1802)。そして、生成装置100は、優先度に沿って、いずれかの属性について、DBの記憶内容を分割する(ステップS1803)。生成装置100は、例えば、優先度に沿って、性別が女性と男性とで、DBの記憶内容を分割する。 Next, the generation device 100 acquires the storage contents of the DB (step S1802). Then, the generation device 100 divides the storage contents of the DB for any attribute according to the priority (step S1803). For example, the generation device 100 divides the storage contents of the DB according to the gender, female and male, according to the priority.

次に、生成装置100は、分割した記憶内容のそれぞれを、DBnとして保存する(ステップS1804)。そして、生成装置100は、未処理の属性が存在するか否かを判定する(ステップS1805)。 Next, the generation device 100 saves each of the divided storage contents as DBn (step S1804). The generation device 100 then determines whether there are any unprocessed attributes (step S1805).

ここで、未処理の属性が存在する場合(ステップS1805:Yes)、生成装置100は、ステップS1802の処理に戻る。一方で、未処理の属性が存在しない場合(ステップS1805:No)、生成装置100は、準備処理を終了する。 Here, if there is an unprocessed attribute (step S1805: Yes), the generation device 100 returns to the process of step S1802. On the other hand, if there are no unprocessed attributes (step S1805: No), the generation device 100 ends the preparation process.

(テスト処理手順)
次に、図19を用いて、生成装置100が実行する、テスト処理手順の一例について説明する。テスト処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
(Test processing procedure)
Next, an example of a test processing procedure executed by the generation device 100 will be described using FIG. 19. The test process is realized by, for example, the CPU 401 shown in FIG. 4, a storage area such as the memory 402 or the recording medium 405, and the network I/F 403.

図19は、テスト処理手順の一例を示すフローチャートである。図19において、生成装置100は、安全性基準を取得する(ステップS1901)。安全性基準は、例えば、プライバシーテストのパラメータk,γ,ε0を含む。 FIG. 19 is a flowchart illustrating an example of a test processing procedure. In FIG. 19, the generation device 100 acquires safety standards (step S1901). The security criteria includes, for example, privacy test parameters k, γ, ε 0 .

次に、生成装置100は、DBnの記憶内容を取得する(ステップS1902)。そして、生成装置100は、DBnの記憶内容に基づいて、データを生成するメカニズムMを生成する(ステップS1903)。 Next, the generation device 100 acquires the storage contents of DBn (step S1902). Then, the generation device 100 generates a mechanism M for generating data based on the storage contents of DBn (step S1903).

メカニズムMは、差分プライバシーを保証したデータを生成するアルゴリズムである。生成装置100は、例えば、DBnの記憶内容の各レコードriに含まれる値に関する平均および分散を算出し、算出した平均および分散と、安全性基準とに基づいて、メカニズムMを生成する。 Mechanism M is an algorithm that generates data with guaranteed differential privacy. For example, the generation device 100 calculates the average and variance of the values included in each record r i of the storage contents of DBn, and generates the mechanism M based on the calculated average and variance and the safety standard.

次に、生成装置100は、DBnの記憶内容から、未処理のいずれかのレコードriを抽出し、メカニズムMへの入力に設定する(ステップS1904)。そして、生成装置100は、メカニズムMにより、レコードriにノイズを加えたデータM(ri)を、所定の数だけ生成する(ステップS1905)。 Next, the generation device 100 extracts any unprocessed record r i from the storage contents of DBn and sets it as input to mechanism M (step S1904). Then, the generation device 100 generates a predetermined number of data M(r i ) obtained by adding noise to the record r i using the mechanism M (step S1905).

次に、生成装置100は、kのランダム化処理を実施する(ステップS1906)。生成装置100は、例えば、kに関するメカニズムM’により、kのランダム化処理を実施する。この際、生成装置100は、複数のランダム化したk’を生成してもよい。そして、生成装置100は、ランダム化したk’を取得する(ステップS1907)。 Next, the generation device 100 performs k randomization processing (step S1906). The generation device 100 performs randomization processing on k using a mechanism M' regarding k, for example. At this time, the generation device 100 may generate a plurality of randomized k's. Then, the generation device 100 obtains the randomized k' (step S1907).

次に、生成装置100は、レコードriに対してプライバシーテストを実施し、OKか否かを判定する(ステップS1908)。この際、生成装置100は、一定確率で、NGであると判定してもよい。ここで、NGである場合(ステップS1908:No)、生成装置100は、ステップS1910の処理に移行する。一方で、OKである場合(ステップS1908:Yes)、生成装置100は、ステップS1909の処理に移行する。 Next, the generation device 100 performs a privacy test on the record r i and determines whether it is OK (step S1908). At this time, the generation device 100 may determine that the result is NG with a certain probability. Here, if the result is NG (step S1908: No), the generation device 100 moves to the process of step S1910. On the other hand, if it is OK (step S1908: Yes), the generation device 100 moves to the process of step S1909.

ステップS1909では、生成装置100は、データM(ri)をリリースデータセットとして、RL-DBに保存する(ステップS1909)。RL-DBは、リリースDBである。そして、生成装置100は、ステップS1911の処理に移行する。 In step S1909, the generation device 100 stores the data M(r i ) in the RL-DB as a release data set (step S1909). RL-DB is a release DB. The generation device 100 then proceeds to the process of step S1911.

ステップS1910では、生成装置100は、レコードriをNG-DBに保存する(ステップS1910)。そして、生成装置100は、ステップS1911の処理に移行する。 In step S1910, the generation device 100 stores the record r i in the NG-DB (step S1910). The generation device 100 then proceeds to the process of step S1911.

ステップS1911では、生成装置100は、レコードriを所定の数抽出したか否かを判定する(ステップS1911)。ここで、所定の数抽出していない場合(ステップS1911:No)、生成装置100は、ステップS1904の処理に戻る。一方で、所定の数抽出している場合(ステップS1911:Yes)、生成装置100は、テスト処理を終了する。 In step S1911, the generation device 100 determines whether a predetermined number of records r i have been extracted (step S1911). Here, if the predetermined number of samples have not been extracted (step S1911: No), the generation device 100 returns to the process of step S1904. On the other hand, if the predetermined number of samples have been extracted (step S1911: Yes), the generation device 100 ends the test process.

(分岐処理手順)
次に、図20を用いて、生成装置100が実行する、分岐処理手順の一例について説明する。分岐処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
(Branch processing procedure)
Next, an example of a branch processing procedure executed by the generation device 100 will be described using FIG. 20. The branching process is realized by, for example, the CPU 401 shown in FIG. 4, a storage area such as the memory 402 or the recording medium 405, and the network I/F 403.

図20は、分岐処理手順の一例を示すフローチャートである。図20において、生成装置100は、安全性基準を取得する(ステップS2001)。安全性基準は、例えば、プライバシーテストのパラメータk,γ,ε0を含む。 FIG. 20 is a flowchart illustrating an example of a branch processing procedure. In FIG. 20, the generation device 100 acquires safety standards (step S2001). The security criteria includes, for example, privacy test parameters k, γ, ε 0 .

次に、生成装置100は、RL-DBの記憶内容を取得する(ステップS2002)。そして、生成装置100は、RL-DBの記憶内容におけるレコードの数を取得する(ステップS2003)。 Next, the generation device 100 acquires the storage contents of the RL-DB (step S2002). Then, the generation device 100 obtains the number of records in the storage contents of the RL-DB (step S2003).

次に、生成装置100は、レコードの数が上限以上であるか否かを判定する(ステップS2004)。ここで、レコードの数が上限以上である場合(ステップS2004:Yes)、生成装置100は、ステップS2005の処理に移行する。一方で、レコードの数が上限未満である場合(ステップS2004:No)、生成装置100は、ステップS2007の処理に移行する。 Next, the generation device 100 determines whether the number of records is greater than or equal to the upper limit (step S2004). Here, if the number of records is greater than or equal to the upper limit (step S2004: Yes), the generation device 100 moves to the process of step S2005. On the other hand, if the number of records is less than the upper limit (step S2004: No), the generation device 100 moves to the process of step S2007.

ステップS2005では、生成装置100は、プライバシーテストのオプションのPTOPを変更する(ステップS2005)。次に、生成装置100は、図19に示したテスト処理を再度実行する(ステップS2006)。そして、生成装置100は、分岐処理を終了する。 In step S2005, the generation device 100 changes the PTOP of the privacy test option (step S2005). Next, the generation device 100 executes the test process shown in FIG. 19 again (step S2006). The generation device 100 then ends the branching process.

ステップS2007では、生成装置100は、レコードの数が下限以下であるか否かを判定する(ステップS2007)。ここで、レコードの数が下限以下である場合(ステップS2007:Yes)、生成装置100は、ステップS2008の処理に移行する。一方で、レコードの数が下限より大きい場合(ステップS2007:No)、生成装置100は、ステップS2009の処理に移行する。 In step S2007, the generation device 100 determines whether the number of records is less than or equal to the lower limit (step S2007). Here, if the number of records is less than or equal to the lower limit (step S2007: Yes), the generation device 100 moves to the process of step S2008. On the other hand, if the number of records is greater than the lower limit (step S2007: No), the generation device 100 moves to the process of step S2009.

ステップS2008では、生成装置100は、ミクロアグリゲーションのオプションのMAOPを変更する(ステップS2008)。そして、生成装置100は、ステップS2009の処理に移行する。 In step S2008, the generation device 100 changes the optional MAOP of the micro-aggregation (step S2008). The generation device 100 then proceeds to the process of step S2009.

ステップS2009では、生成装置100は、図21に後述する再利用処理を実行する(ステップS2009)。そして、生成装置100は、分岐処理を終了する。 In step S2009, the generation device 100 executes reuse processing, which will be described later in FIG. 21 (step S2009). The generation device 100 then ends the branching process.

(再利用処理手順)
次に、図21を用いて、生成装置100が実行する、再利用処理手順の一例について説明する。再利用処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
(Reuse processing procedure)
Next, an example of a reuse processing procedure executed by the generation device 100 will be described using FIG. 21. The reuse process is realized by, for example, the CPU 401 shown in FIG. 4, storage areas such as the memory 402 and the recording medium 405, and the network I/F 403.

図21は、再利用処理手順の一例を示すフローチャートである。図21において、生成装置100は、安全性基準を取得する(ステップS2101)。安全性基準は、例えば、プライバシーテストのパラメータk,γ,ε0を含む。 FIG. 21 is a flowchart illustrating an example of a reuse processing procedure. In FIG. 21, the generation device 100 acquires safety standards (step S2101). The security criteria includes, for example, privacy test parameters k, γ, ε 0 .

次に、生成装置100は、NG-DBの記憶内容を取得する(ステップS2102)。そして、生成装置100は、MAOPを取得し、NG-DBの記憶内容に対してミクロアグリゲーション処理を実行する(ステップS2103)。 Next, the generation device 100 acquires the storage contents of the NG-DB (step S2102). The generation device 100 then obtains the MAOP and executes micro-aggregation processing on the storage contents of the NG-DB (step S2103).

次に、生成装置100は、NG-DBの記憶内容のうち、上位からk個のデータを抽出する(ステップS2104)。そして、生成装置100は、抽出したk個のデータに基づいて、データを生成するメカニズムMiを生成する(ステップS2105)。 Next, the generation device 100 extracts the k pieces of data from the top among the stored contents of the NG-DB (step S2104). Then, the generation device 100 generates a mechanism M i for generating data based on the k pieces of extracted data (step S2105).

メカニズムMiは、差分プライバシーを保証したデータを生成するアルゴリズムである。生成装置100は、例えば、抽出したk個のデータに含まれる値に関する平均および分散を算出し、算出した平均および分散と、安全性基準とに基づいて、メカニズムMiを生成する。 Mechanism M i is an algorithm that generates data with guaranteed differential privacy. For example, the generation device 100 calculates the average and variance of the values included in the k pieces of extracted data, and generates the mechanism M i based on the calculated average and variance and the safety standard.

次に、生成装置100は、k個のデータを平均化し、i番目の処理対象としてMA-DBに保存する(ステップS2106)。そして、生成装置100は、NG-DBの記憶内容のすべてのデータを抽出したか否かを判定する(ステップS2107)。ここで、未抽出のデータが残っている場合(ステップS2107:No)、生成装置100は、ステップS2104の処理に戻る。一方で、すべてのデータを抽出している場合(ステップS2107:Yes)、生成装置100は、ステップS2108の処理に移行する。 Next, the generation device 100 averages the k pieces of data and stores it in the MA-DB as the i-th processing target (step S2106). Then, the generation device 100 determines whether all data stored in the NG-DB has been extracted (step S2107). Here, if unextracted data remains (step S2107: No), the generation device 100 returns to the process of step S2104. On the other hand, if all data has been extracted (step S2107: Yes), the generation device 100 moves to the process of step S2108.

ステップ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 record m i,k to be processed from the storage contents of the MA-DB (step S2108). Next, the generation device 100 converts the record m i , k using the mechanism M i to generate a record M i (m i,k ) (step S2109). The generation device 100 then stores the generated record M i (m i,k ) in the RL-DB (step S2110).

次に、生成装置100は、MA-DBの記憶内容のすべてのレコードを抽出したか否かを判定する(ステップS2111)。ここで、未抽出のレコードが残っている場合(ステップS2111:No)、生成装置100は、ステップS2108の処理に戻る。一方で、すべてのレコードを抽出している場合(ステップS2111:Yes)、生成装置100は、再利用処理を終了する。 Next, the generation device 100 determines whether all records of the storage contents of the MA-DB have been extracted (step S2111). Here, if unextracted records remain (step S2111: No), the generation device 100 returns to the process of step S2108. On the other hand, if all records have been extracted (step S2111: Yes), the generation device 100 ends the reuse process.

ここで、生成装置100は、図18~図21の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS1904,1905の処理と、ステップS1906,1907の処理との順序は入れ替え可能である。また、生成装置100は、図18~図21の各フローチャートの一部ステップの処理を省略してもよい。例えば、ステップS1801~S1805の処理は省略可能である。 Here, the generation device 100 may perform the processing by changing the order of some of the steps in each of the flowcharts in FIGS. 18 to 21. For example, the order of the processing in steps S1904 and 1905 and the processing in steps S1906 and 1907 can be changed. Furthermore, the generation device 100 may omit some of the steps in each of the flowcharts in FIGS. 18 to 21. For example, the processing in steps S1801 to S1805 can be omitted.

以上説明したように、生成装置100によれば、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した結果に基づいて、複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定することができる。生成装置100によれば、特定した1以上の個人データに基づいて、第2の匿名化モデルを学習することができる。生成装置100によれば、特定した1以上の個人データに基づいて、1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成することができる。生成装置100によれば、生成した1以上の匿名データのそれぞれの匿名データを、学習した第2の匿名化モデルにより匿名化して得られた、新たな匿名データを出力することができる。これにより、生成装置100は、有用な匿名データを得ることができ、匿名データの有用性と、個人データの匿名性とを両立することができる。 As explained above, according to the generation device 100, the degree of anonymity among the plurality of personal data is determined based on the result of anonymizing the personal data included in the plurality of personal data using the first anonymization model. One or more pieces of personal data that do not meet the criteria can be identified. According to the generation device 100, the second anonymization model can be learned based on one or more pieces of identified personal data. According to the generation device 100, it is possible to generate one or more anonymous data having a higher degree of anonymity than each of the one or more pieces of personal data, based on the one or more pieces of identified personal data. According to the generation device 100, it is possible to output new anonymous data obtained by anonymizing each of the one or more generated anonymous data using the learned second anonymization model. Thereby, the generation device 100 can obtain useful anonymous data, and can achieve both the usefulness of anonymous data and the anonymity of personal data.

生成装置100によれば、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した結果に基づいて、当該個人データの匿名度合いが、所定の基準を満たすか否かを判定することができる。生成装置100によれば、複数の個人データに含まれる個人データの匿名度合いが、所定の基準を満たすか否かを判定するにあたり、所定の確率で、所定の基準を満たさないと判定することができる。生成装置100によれば、判定した結果に基づいて、1以上の個人データを特定することができる。これにより、生成装置100は、所定の基準を満たさないと判定される個人データの数が少ないために、統計的解析により、個人データの匿名性が損なわれるおそれが生じるような状況を回避することができる。 According to the generation device 100, based on the result of anonymizing personal data included in a plurality of pieces of personal data using the first anonymization model, it is determined whether the degree of anonymity of the personal data satisfies a predetermined standard. can be determined. According to the generation device 100, when determining whether the degree of anonymity of personal data included in a plurality of pieces of personal data satisfies a predetermined standard, it can be determined with a predetermined probability that the degree of anonymity of personal data does not satisfy the predetermined standard. can. According to the generation device 100, one or more pieces of personal data can be specified based on the determined result. As a result, the generation device 100 can avoid a situation where the anonymity of personal data may be lost due to statistical analysis due to a small number of personal data determined not to meet a predetermined standard. Can be done.

生成装置100によれば、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した際に、当該個人データと同一または類似する値を含む、複数の個人データのうちの他の個人データの数を算出することができる。生成装置100によれば、算出した数が、所定の数以下であれば、所定の基準を満たさないと判定することができる。これにより、生成装置100は、個人データの匿名性が確保されているか否かを判定することができる。 According to the generation device 100, when personal data included in a plurality of pieces of personal data is anonymized using the first anonymization model, among the plurality of pieces of personal data that includes a value that is the same as or similar to the personal data, A number of other personal data can be calculated. According to the generation device 100, if the calculated number is less than or equal to a predetermined number, it can be determined that the predetermined criterion is not satisfied. Thereby, the generation device 100 can determine whether the anonymity of personal data is ensured.

生成装置100によれば、所定の数に、可変値を採用することができる。これにより、生成装置100は、メンバーシップインクルージョン攻撃を防止し易くすることができる。 According to the generation device 100, a variable value can be adopted as the predetermined number. Thereby, the generation device 100 can easily prevent membership inclusion attacks.

生成装置100によれば、第1の匿名化モデルに、個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルを採用することができる。生成装置100によれば、複数の個人データに含まれる個人データを、第1の匿名化モデルにより匿名化した際に、加算したノイズ値の代表値が、所定の閾値以下であれば、所定の基準を満たさないと判定することができる。これにより、生成装置100は、個人データの匿名性が確保されているか否かを判定することができる。 According to the generation device 100, a model that generates one or more anonymous data obtained by adding a random noise value to a value included in personal data can be adopted as the first anonymization model. According to the generation device 100, when personal data included in a plurality of pieces of personal data is anonymized using the first anonymization model, if the representative value of the added noise value is equal to or less than a predetermined threshold, a predetermined It can be determined that the criteria are not met. Thereby, the generation device 100 can determine whether the anonymity of personal data is ensured.

生成装置100によれば、特定した1以上の個人データを、1以上のクラスタに分割することができる。生成装置100によれば、クラスタごとに、クラスタに分割した個人データに基づいて、クラスタに対応する第2の匿名化モデルを学習することができる。生成装置100によれば、クラスタごとに、クラスタに分割した個人データに基づいて、クラスタに分割した個人データのそれぞれよりも匿名度合いが高い、クラスタに対応する匿名データを生成することができる。生成装置100によれば、クラスタごとに、生成したクラスタに対応する匿名データを、学習したクラスタに対応する第2の匿名化モデルにより匿名化して得られた、新たな匿名データを出力することができる。これにより、生成装置100は、第2の匿名化モデルにより匿名化して得られる1以上の新たな匿名データの特徴分布を示すヒストグラムを、複数の個人データの特徴分布を示すヒストグラムと類似させ易くすることができる。 According to the generation device 100, one or more pieces of identified personal data can be divided into one or more clusters. According to the generation device 100, the second anonymization model corresponding to the cluster can be learned for each cluster based on the personal data divided into clusters. According to the generation device 100, it is possible to generate, for each cluster, anonymous data corresponding to the cluster and having a higher degree of anonymity than each of the personal data divided into clusters, based on the personal data divided into clusters. According to the generation device 100, for each cluster, new anonymous data obtained by anonymizing the anonymous data corresponding to the generated cluster using the second anonymization model corresponding to the learned cluster can be output. can. Thereby, the generation device 100 makes it easier to make the histogram showing the feature distribution of one or more new anonymous data obtained by anonymization using the second anonymization model similar to the histogram showing the feature distribution of a plurality of pieces of personal data. be able to.

生成装置100によれば、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出することができる。生成装置100によれば、特定した1以上の個人データのそれぞれの個人データに含まれる値を、算出した統計値に置換し、1以上の匿名データを生成することができる。これにより、生成装置100は、個人データの匿名性の向上を図ることができる。 According to the generation device 100, it is possible to calculate statistical values regarding values included in each of the identified one or more pieces of personal data. According to the generation device 100, it is possible to generate one or more anonymous data by replacing the value included in each of the identified one or more pieces of personal data with the calculated statistical value. Thereby, the generation device 100 can improve the anonymity of personal data.

生成装置100によれば、さらに、複数の個人データのうち、匿名度合いが所定の基準を満たす個人データを、第1の匿名化モデルにより匿名化して得られた匿名データを出力することができる。これにより、生成装置100は、ユーザが、有用な匿名データを利用可能にすることができる。 According to the generation device 100, it is further possible to output anonymous data obtained by anonymizing personal data whose degree of anonymity satisfies a predetermined standard among a plurality of personal data using the first anonymization model. Thereby, the generation device 100 can make useful anonymous data available to the user.

生成装置100によれば、第2の匿名化モデルに、匿名データに含まれる値に、ランダムなノイズ値を加算して得られる新たな匿名データを、1以上生成するモデルを採用することができる。これにより、生成装置100は、個人データの匿名性を向上可能な第2の匿名化モデルを採用することができる。 According to the generation device 100, a model that generates one or more new anonymous data obtained by adding a random noise value to a value included in the anonymous data can be adopted as the second anonymization model. . Thereby, the generation device 100 can employ the second anonymization model that can improve the anonymity of personal data.

生成装置100によれば、特定した1以上の個人データのそれぞれの個人データに含まれる値に関する分散および平均に基づいて、第2の匿名化モデルに用いられるノイズ値の範囲を決定し、第2の匿名化モデルを学習することができる。これにより、生成装置100は、第2の匿名化モデルにより匿名化して得られる1以上の新たな匿名データの特徴分布を示すヒストグラムを、複数の個人データの特徴分布を示すヒストグラムと類似させ易くすることができる。 According to the generation device 100, the range of noise values used in the second anonymization model is determined based on the variance and average regarding the values included in each of the identified one or more pieces of personal data, and the range of noise values used in the second anonymization model is determined. can learn anonymized models. Thereby, the generation device 100 makes it easier to make the histogram showing the feature distribution of one or more new anonymous data obtained by anonymization using the second anonymization model similar to the histogram showing the feature distribution of a plurality of pieces of personal data. be able to.

なお、本実施の形態で説明した生成方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した生成プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した生成プログラムは、インターネットなどのネットワークを介して配布してもよい。 Note that 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 includes a hard disk, a flexible disk, a CD (Compact Disc)-ROM, an MO (Magneto Optical disc), a DVD (Digital Versatile Disc), and the like. Furthermore, the generation program described in this embodiment may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。 Regarding the embodiments described above, the following additional notes are further disclosed.

(付記1)情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
処理をコンピュータが実行することを特徴とする生成方法。
(Additional note 1) Based on the results of anonymizing personal data included in a plurality of personal data using the first anonymization model that anonymizes information, it is determined that among the plurality of personal data, the degree of anonymity meets a predetermined standard. Identify one or more pieces of personal data that do not meet the requirements,
learning a second anonymization model that anonymizes information based on the one or more identified personal data;
Based on the identified one or more pieces of personal data, generate one or more anonymous data having a higher degree of anonymity than each of the one or more pieces of personal data;
outputting new anonymous data obtained by anonymizing each of the one or more generated anonymous data using the learned second anonymization model;
A generation method characterized in that processing is performed by a computer.

(付記2)前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した結果に基づいて、当該個人データの匿名度合いが、前記所定の基準を満たすか否かを判定する、
処理を前記コンピュータが実行し、
前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した結果に基づいて、当該個人データの匿名度合いが、前記所定の基準を満たすか否かを判定するにあたり、所定の確率で、前記所定の基準を満たさないと判定し、
前記特定する処理は、
判定した結果に基づいて、前記1以上の個人データを特定する、ことを特徴とする付記1に記載の生成方法。
(Additional note 2) Based on the result of anonymizing personal data included in the plurality of personal data using the first anonymization model, determine whether the degree of anonymity of the personal data satisfies the predetermined criteria. judge,
the computer executes the process;
The determining process is as follows:
In determining whether the degree of anonymity of the personal data satisfies the predetermined standard based on the result of anonymizing the personal data included in the plurality of personal data using the first anonymization model, Determining that the predetermined criterion is not met with a predetermined probability,
The identifying process is
The generation method according to appendix 1, characterized in that the one or more pieces of personal data are specified based on the determined result.

(付記3)前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した際に、当該個人データと同一または類似する値を含む、前記複数の個人データのうちの他の個人データの数が、所定の数以下であれば、前記所定の基準を満たさないと判定する、ことを特徴とする付記2に記載の生成方法。
(Additional note 3) The above-mentioned determining process is
When the personal data included in the plurality of personal data is anonymized by the first anonymization model, other personal data among the plurality of personal data that includes the same or similar value as the personal data concerned. If the number of is less than or equal to a predetermined number, it is determined that the predetermined criterion is not satisfied.

(付記4)前記所定の数は、可変値である、ことを特徴とする付記3に記載の生成方法。 (Supplementary note 4) The generation method according to supplementary note 3, wherein the predetermined number is a variable value.

(付記5)前記第1の匿名化モデルは、前記個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルであり、
前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した際に、加算したノイズ値の代表値が、所定の閾値以下であれば、前記所定の基準を満たさないと判定する、ことを特徴とする付記2~4のいずれか一つに記載の生成方法。
(Additional Note 5) The first anonymization model is a model that generates one or more anonymous data obtained by adding a random noise value to the value included in the personal data,
The determining process is as follows:
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, the predetermined criterion is not satisfied. The generation method according to any one of appendices 2 to 4, characterized in that the generation method is determined as follows.

(付記6)特定した前記1以上の個人データを、1以上のクラスタに分割する、
処理を前記コンピュータが実行し、
前記学習する処理は、
前記クラスタごとに、前記クラスタに分割した個人データに基づいて、前記クラスタに対応する前記第2の匿名化モデルを学習し、
前記生成する処理は、
前記クラスタごとに、前記クラスタに分割した個人データに基づいて、前記クラスタに分割した個人データのそれぞれよりも匿名度合いが高い、前記クラスタに対応する匿名データを生成し、
前記出力する処理は、
前記クラスタごとに、学習した前記クラスタに対応する前記第2の匿名化モデルにより、生成した前記クラスタに対応する前記匿名データを匿名化して得られた、新たな匿名データを出力する、ことを特徴とする付記1~5のいずれか一つに記載の生成方法。
(Additional Note 6) Divide the identified one or more pieces of personal data into one or more clusters,
the computer executes the process;
The process to learn is
learning the second anonymization model corresponding to the cluster based on the personal data divided into the clusters for each cluster;
The process to generate the
For each cluster, based on the personal data divided into the clusters, generate anonymous data corresponding to the cluster, which has a higher degree of anonymity than each of the personal data divided into the clusters,
The output process is as follows:
For each cluster, new anonymous data obtained by anonymizing the anonymous data corresponding to the generated cluster by the second anonymization model corresponding to the learned cluster is output. The generation method described in any one of Supplementary Notes 1 to 5.

(付記7)特定した前記1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出する、
処理を前記コンピュータが実行し、
前記生成する処理は、
特定した前記1以上の個人データのそれぞれの個人データに含まれる値を、算出した前記統計値に置換し、1以上の匿名データを生成する、ことを特徴とする付記1~6のいずれか一つに記載の生成方法。
(Additional Note 7) Calculating statistical values regarding the values included in each of the one or more pieces of personal data identified;
the computer executes the process;
The process to generate the
Any one of appendices 1 to 6, characterized in that the value included in each of the identified one or more pieces of personal data is replaced with the calculated statistical value to generate one or more anonymous data. Generation method described in.

(付記8)前記出力する処理は、
さらに、前記複数の個人データのうち、匿名度合いが前記所定の基準を満たす個人データを、前記第1の匿名化モデルにより匿名化して得られた匿名データを出力する、ことを特徴とする付記1~7のいずれか一つに記載の生成方法。
(Additional Note 8) The output process is
Furthermore, among the plurality of personal data, personal data whose degree of anonymity satisfies the predetermined standard is anonymized using the first anonymization model, and the obtained anonymous data is output. 7. The production method according to any one of 7.

(付記9)前記第2の匿名化モデルは、前記匿名データに含まれる値に、ランダムなノイズ値を加算して得られる新たな匿名データを、1以上生成するモデルである、ことを特徴とする付記1~7のいずれか一つに記載の生成方法。 (Additional Note 9) The second anonymization model is a model that generates one or more new anonymous data obtained by adding a random noise value to the value included in the anonymous data. The production method described in any one of Supplementary Notes 1 to 7.

(付記10)前記学習する処理は、
特定した前記1以上の個人データのそれぞれの個人データに含まれる値に関する分散および平均に基づいて、前記第2の匿名化モデルに用いられるノイズ値の範囲を決定し、前記第2の匿名化モデルを学習する、ことを特徴とする付記9に記載の生成方法。
(Additional Note 10) The process to be learned is
A noise value range to be used in the second anonymization model is determined based on the variance and average of the values included in each of the one or more pieces of personal data that has been identified, and the second anonymization model The generation method according to appendix 9, characterized in that the generation method learns.

(付記11)情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
(Additional note 11) Based on the results of anonymizing personal data included in a plurality of personal data using the first anonymization model that anonymizes information, it is determined that among the plurality of personal data, the degree of anonymity meets a predetermined standard. Identify one or more pieces of personal data that do not meet the requirements,
learning a second anonymization model that anonymizes information based on the one or more identified personal data;
Based on the identified one or more pieces of personal data, generate one or more anonymous data having a higher degree of anonymity than each of the one or more pieces of personal data;
outputting new anonymous data obtained by anonymizing each of the one or more generated anonymous data using the learned second anonymization model;
A generation program that causes a computer to perform processing.

(付記12)情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
制御部を有することを特徴とする生成装置。
(Additional note 12) Based on the results of anonymizing personal data included in a plurality of personal data using the first anonymization model that anonymizes information, it is determined that among the plurality of personal data, the degree of anonymity meets a predetermined standard. Identify one or more pieces of personal data that do not meet the requirements,
learning a second anonymization model that anonymizes information based on the one or more identified personal data;
Based on the identified one or more pieces of personal data, generate one or more anonymous data having a higher degree of anonymity than each of the one or more pieces of personal data;
outputting new anonymous data obtained by anonymizing each of the one or more generated anonymous data using the learned second anonymization model;
A generation device characterized by having a control section.

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 Generation device 102,750,830,930 NG-DB
103,760,840,950 MA-DB
104,740,781,820,861,920,981 Release DB
110 First anonymization model 120 Second anonymization model 300 Data utilization system 301 Data provider device 302 Data user device 310 Network 400 Bus 401 CPU
402 Memory 403 Network I/F
404 Recording medium I/F
405 recording medium 500 data management table 600 storage unit 601 acquisition unit 602 first anonymization unit 603 determination unit 604 identification unit 605 learning unit 606 generation unit 607 second anonymization unit 608 output unit 701, 711, 751, 801, 831,842,940-942 Personal data group 702,703 Cluster 710,720,780,800,860,900,980 DB
730,770,810,850,910,971,972 Generative model 761,771,841,851,960-962 Anonymous data group 1001,1002 Release data set 1100,1300 Table 1200,1400,1500,1601-1603,1701 ~1703 Graph

Claims (8)

情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
処理をコンピュータが実行することを特徴とする生成方法。
Based on the results of anonymizing personal data included in a plurality of pieces of personal data using the first anonymization model that anonymizes information, one or more pieces of personal data whose degree of anonymity does not meet a predetermined standard are determined. identify the personal data of
learning a second anonymization model that anonymizes information based on the one or more identified personal data;
Based on the identified one or more pieces of personal data, generate one or more anonymous data having a higher degree of anonymity than each of the one or more pieces of personal data;
outputting new anonymous data obtained by anonymizing each of the one or more generated anonymous data using the learned second anonymization model;
A generation method characterized in that processing is performed by a computer.
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した結果に基づいて、当該個人データの匿名度合いが、前記所定の基準を満たすか否かを判定する、
処理を前記コンピュータが実行し、
前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した結果に基づいて、当該個人データの匿名度合いが、前記所定の基準を満たすか否かを判定するにあたり、所定の確率で、前記所定の基準を満たさないと判定し、
前記特定する処理は、
判定した結果に基づいて、前記1以上の個人データを特定する、ことを特徴とする請求項1に記載の生成方法。
Determining whether the degree of anonymity of the personal data satisfies the predetermined criterion based on the result of anonymizing the personal data included in the plurality of personal data using the first anonymization model;
the computer executes the process;
The determining process is as follows:
In determining whether the degree of anonymity of the personal data satisfies the predetermined standard based on the result of anonymizing the personal data included in the plurality of personal data using the first anonymization model, Determining that the predetermined criterion is not met with a predetermined probability,
The identifying process is
2. The generation method according to claim 1, further comprising identifying the one or more pieces of personal data based on the determined result.
前記判定する処理は、
前記第1の匿名化モデルにより、前記複数の個人データに含まれる個人データを匿名化した際に、当該個人データと同一または類似する値を含む、前記複数の個人データのうちの他の個人データの数が、所定の数以下であれば、前記所定の基準を満たさないと判定する、ことを特徴とする請求項2に記載の生成方法。
The determining process is as follows:
When the personal data included in the plurality of personal data is anonymized by the first anonymization model, other personal data among the plurality of personal data that includes the same or similar value as the personal data concerned. 3. The generation method according to claim 2, further comprising determining that the predetermined criterion is not satisfied if the number of the predetermined criteria is less than or equal to a predetermined number.
前記第1の匿名化モデルは、前記個人データに含まれる値に、ランダムなノイズ値を加算して得られる匿名データを、1以上生成するモデルであり、
前記判定する処理は、
前記第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 determining process is as follows:
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, the predetermined criterion is not satisfied. The generation method according to claim 2 or 3, characterized in that it is determined that:
特定した前記1以上の個人データを、1以上のクラスタに分割する、
処理を前記コンピュータが実行し、
前記学習する処理は、
前記クラスタごとに、前記クラスタに分割した個人データに基づいて、前記クラスタに対応する前記第2の匿名化モデルを学習し、
前記生成する処理は、
前記クラスタごとに、前記クラスタに分割した個人データに基づいて、前記クラスタに分割した個人データのそれぞれよりも匿名度合いが高い、前記クラスタに対応する匿名データを生成し、
前記出力する処理は、
前記クラスタごとに、学習した前記クラスタに対応する前記第2の匿名化モデルにより、生成した前記クラスタに対応する前記匿名データを匿名化して得られた、新たな匿名データを出力する、ことを特徴とする請求項1~4のいずれか一つに記載の生成方法。
dividing the identified one or more pieces of personal data into one or more clusters;
the computer executes the process;
The process to learn is
learning the second anonymization model corresponding to the cluster based on the personal data divided into the clusters for each cluster;
The process to generate the
For each cluster, based on the personal data divided into the clusters, generate anonymous data corresponding to the cluster, which has a higher degree of anonymity than each of the personal data divided into the clusters,
The output process is as follows:
For each cluster, new anonymous data obtained by anonymizing the anonymous data corresponding to the generated cluster by the second anonymization model corresponding to the learned cluster is output. The production method according to any one of claims 1 to 4, wherein:
特定した前記1以上の個人データのそれぞれの個人データに含まれる値に関する統計値を算出する、
処理を前記コンピュータが実行し、
前記生成する処理は、
特定した前記1以上の個人データのそれぞれの個人データに含まれる値を、算出した前記統計値に置換し、1以上の匿名データを生成する、ことを特徴とする請求項1~5のいずれか一つに記載の生成方法。
calculating statistical values regarding the values included in each of the one or more pieces of personal data identified;
the computer executes the process;
The process to generate the
Any one of claims 1 to 5, characterized in that the value included in each of the identified one or more pieces of personal data is replaced with the calculated statistical value to generate one or more pieces of anonymous data. The generation method described in one.
情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
Based on the results of anonymizing personal data included in a plurality of pieces of personal data using the first anonymization model that anonymizes information, one or more pieces of personal data whose degree of anonymity does not meet a predetermined standard are determined. identify the personal data of
learning a second anonymization model that anonymizes information based on the one or more identified personal data;
Based on the identified one or more pieces of personal data, generate one or more anonymous data having a higher degree of anonymity than each of the one or more pieces of personal data;
outputting new anonymous data obtained by anonymizing each of the one or more generated anonymous data using the learned second anonymization model;
A generation program that causes a computer to perform processing.
情報を匿名化する第1の匿名化モデルにより、複数の個人データに含まれる個人データを匿名化した結果に基づいて、前記複数の個人データのうち、匿名度合いが所定の基準を満たさない1以上の個人データを特定し、
特定した前記1以上の個人データに基づいて、情報を匿名化する第2の匿名化モデルを学習し、
特定した前記1以上の個人データに基づいて、前記1以上の個人データのそれぞれの個人データよりも匿名度合いが高い、1以上の匿名データを生成し、
学習した前記第2の匿名化モデルにより、生成した前記1以上の匿名データのそれぞれの匿名データを匿名化して得られた、新たな匿名データを出力する、
制御部を有することを特徴とする生成装置。
Based on the results of anonymizing personal data included in a plurality of pieces of personal data using the first anonymization model that anonymizes information, one or more pieces of personal data whose degree of anonymity does not meet a predetermined standard are determined. identify the personal data of
learning a second anonymization model that anonymizes information based on the one or more identified personal data;
Based on the identified one or more pieces of personal data, generate one or more anonymous data having a higher degree of anonymity than each of the one or more pieces of personal data;
outputting new anonymous data obtained by anonymizing each of the one or more generated anonymous data using the learned second anonymization model;
A generation device characterized by having a control section.
JP2020062248A 2020-03-31 2020-03-31 Generation method, generation program, and generation device Active JP7359063B2 (en)

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 JP2021163014A (en) 2021-10-11
JP7359063B2 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Citations (5)

* Cited by examiner, † Cited by third party
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 device, 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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 device, 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

Also Published As

Publication number Publication date
JP2021163014A (en) 2021-10-11

Similar Documents

Publication Publication Date Title
US9602513B2 (en) Access control of edges in graph index applications
US9165068B2 (en) Techniques for cloud-based similarity searches
CN110069943B (en) A data processing method and system based on clustering anonymization and differential privacy protection
JP7359063B2 (en) Generation method, generation program, and generation device
JP2017091515A (en) Computer-implemented system and method for automatically identifying attributes for anonymization
US20150012573A1 (en) Automatic resource ownership assignment system and method
Le et al. Anonfaces: Anonymizing faces adjusted to constraints on efficacy and security
Halboob et al. Privacy levels for computer forensics: toward a more efficient privacy-preserving investigation
JP2015114871A (en) Public information privacy protection device, public information privacy protection method and program
Wang et al. Boosting the accuracy of differentially private in weighted social networks
JP6584861B2 (en) Privacy protection device, method and program
RU2592460C1 (en) System and method of controlling privileges of consumers of personal data
US20110153619A1 (en) Personalized content links
US9361480B2 (en) Anonymization of streaming data
JP2016018379A (en) Privacy protection system, method, and program
CN112100670A (en) Big data based privacy data grading protection method
US20180137149A1 (en) De-identification data generation apparatus, method, and non-transitory computer readable storage medium thereof
JP7026653B2 (en) Clustering device, clustering method and clustering program
JP5929532B2 (en) Event detection apparatus, event detection method, and event detection program
RU2587422C2 (en) Method and system for automatic license management
JP6437842B2 (en) Privacy protection device, method and program
CN119808135A (en) Privacy protection method, device and electronic device for discrete-time dynamic graphs
Marturana et al. Triage-based automated analysis of evidence in court cases of copyright infringement
Kalia et al. A hybrid approach for preserving privacy for real estate data
Zhai et al. Counteracting Popularity Bias in Multimedia Web API Recommendation

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