JP6015661B2 - Data division apparatus, data division system, data division method, and program - Google Patents
Data division apparatus, data division system, data division method, and program Download PDFInfo
- Publication number
- JP6015661B2 JP6015661B2 JP2013534778A JP2013534778A JP6015661B2 JP 6015661 B2 JP6015661 B2 JP 6015661B2 JP 2013534778 A JP2013534778 A JP 2013534778A JP 2013534778 A JP2013534778 A JP 2013534778A JP 6015661 B2 JP6015661 B2 JP 6015661B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- user
- personal information
- division
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2123—Dummy operation
Description
本発明は、分散して保持されているデータを、互いに開示することなく適切に分割する技術に関する。 The present invention relates to a technique for appropriately dividing data held in a distributed manner without disclosing each other.
分散して保持されているデータを、互いに開示することなく分割する技術が知られている。例えば、非特許文献1には、分散して保持されているプライバシ保護の対象となるデータに関する、データマイニングによる分類木生成技術が開示されている。
非特許文献1に記載の技術は、複数の事業者が異なる種類のユーザの個人情報を保持している状況において、ID3(Iterative Dichotomiser 3)のアルゴリズムを分散環境で実現することで、互いの事業者がデータを開示することなく分類木を生成する。非特許文献1に記載の技術は、MPC(Multi Party Computation)を利用したエントロピー計算により、分類木の分割点を決定する。
以下、非特許文献1に記載の技術による、分類木生成の動作を説明する。
図46は、事業者Sが保持しているデータの例を示す図である。図46に示すように、事業者Sは、「userID」と「腹囲(X)」と「Class」に関するデータを保持している。「userID」はデータとして登録されているユーザの識別子である。事業者Sは、user1〜user9の計9人のユーザに関するデータを保持している。「腹囲(X)」は、ユーザの腹囲を示すデータである。「Class」は、「A」又は「B」で表示され、「A」はユーザが非メタボリックであることを、「B」はユーザがメタボリックであることを示す。
図47は、事業者Tが保持しているデータの例を示す図である。図47に示すように、事業者Tは、「userID」と「血圧(Y)」に関するデータを保持している。また、事業者Tは、user1〜user8の計8人のユーザに関するデータを保持している。「血圧(Y)」は、ユーザの血圧を示すデータである。
非特許文献1に記載の技術は、事業者Sと事業者Tとの共通のユーザであるuser1〜user8のデータに関して、MPCを用いてエントロピーを計算することにより、分割後に最もエントロピーが小さくなる点「X=90」を分割点として決定する。
図48は、事業者S及び事業者Tが保持するデータが、「X=90」で2つに分割された状態を示す図である。図49は、腹囲をX軸とし、血圧をY軸とした場合の、データの分布を「X=90」で分割した様子を示す図である。図48及び図49に示すように、user1〜user8のデータは、「X=90」を分割点として、「user1〜3,7,8」のグループと、「user4〜6」のグループとに分割される。
図50は、図48に示すデータが、さらに「Y=130」で分割された状態を示す図である。図51は、データの分布を「Y=130」で分割した様子を示す図である。図50及び図51に示すように、非特許文献1に記載の技術は、MPCを用いたエントロピー計算により、「Y=130」で分割することが、最もデータの混じりが少なく、分割点として適切であると判断する。
図52は、非特許文献1に記載の技術により最終的に生成される分類木の例を示す図である。上述の例の場合、非特許文献1に記載の技術によれば、図52に示される分類木が生成される。A technique for dividing data held in a distributed manner without disclosing them is known. For example, Non-Patent Document 1 discloses a classification tree generation technique by data mining regarding data that is subject to privacy protection that is distributed and held.
The technology described in Non-Patent Document 1 is based on the fact that ID3 (Iterative Dichotomiser 3) algorithm is realized in a distributed environment in a situation where a plurality of business operators hold personal information of different types of users. A person generates a classification tree without disclosing data. The technique described in Non-Patent Document 1 determines classification tree division points by entropy calculation using MPC (Multi Party Computation).
Hereinafter, the operation of classification tree generation by the technique described in Non-Patent Document 1 will be described.
FIG. 46 is a diagram illustrating an example of data held by the operator S. As shown in FIG. 46, the business operator S holds data on “userID”, “abdominal circumference (X)”, and “Class”. “UserID” is an identifier of a user registered as data. The business operator S holds data relating to a total of nine users, user1 to user9. “Waist circumference (X)” is data indicating the user's waist circumference. “Class” is displayed as “A” or “B”, “A” indicates that the user is non-metabolic, and “B” indicates that the user is metabolic.
FIG. 47 is a diagram illustrating an example of data held by the operator T. As shown in FIG. 47, the business operator T holds data related to “userID” and “blood pressure (Y)”. Further, the business operator T holds data relating to a total of eight users, user1 to user8. “Blood pressure (Y)” is data indicating the blood pressure of the user.
The technique described in Non-Patent Document 1 is that the entropy is the smallest after division by calculating entropy using MPC for the data of user1 to user8 that are common users of the operator S and the operator T. “X = 90” is determined as a dividing point.
FIG. 48 is a diagram illustrating a state where data held by the business operator S and the business operator T is divided into two at “X = 90”. FIG. 49 is a diagram illustrating a state where the data distribution is divided by “X = 90” when the abdominal circumference is the X axis and the blood pressure is the Y axis. As shown in FIGS. 48 and 49, the data of user1 to user8 is divided into a group of “user1 to 3,7,8” and a group of “user4 to 6” with “X = 90” as a division point. Is done.
FIG. 50 is a diagram showing a state where the data shown in FIG. 48 is further divided by “Y = 130”. FIG. 51 is a diagram illustrating a state where the data distribution is divided by “Y = 130”. As shown in FIGS. 50 and 51, in the technique described in Non-Patent Document 1, dividing by “Y = 130” by entropy calculation using MPC has the least data mixing and is suitable as a dividing point. It is judged that.
FIG. 52 is a diagram illustrating an example of a classification tree finally generated by the technique described in Non-Patent Document 1. In the case of the above example, according to the technique described in Non-Patent Document 1, the classification tree shown in FIG. 52 is generated.
非特許文献1に記載の技術の課題は、一方の事業者(装置)が保持する非共通ユーザのデータが重要な意味を持っていた場合に、該データが分割の処理に反映されず、分類の精度が悪くなることである。なぜなら、非特許文献1に記載の技術は、双方の事業者(装置)が保持する共通のユーザのデータを処理の対象とし、一方の事業者(装置)が保持する非共通のユーザのデータを処理の対象としないからである。また、一方の事業者(装置)が保持する非共通のユーザのデータに対し、他の事業者(装置)の非共通のユーザのデータをランダムに値を割り当てたとしても、分類の精度が良くなるとは限らない。 The problem of the technology described in Non-Patent Document 1 is that when data of a non-common user held by one operator (device) has an important meaning, the data is not reflected in the division process and is classified. The accuracy of is worse. This is because the technology described in Non-Patent Document 1 targets the common user data held by both operators (devices) and the non-common user data held by one operator (device). This is because it is not subject to processing. In addition, even if non-common user data held by one operator (device) is randomly assigned to non-common user data of another operator (device), the classification accuracy is good. Not necessarily.
上記目的を達成するため、本発明におけるデータ分割装置は、自装置の第一の個人情報と、前記自装置の前記第一の個人情報に割当てられたユーザ識別子と、他装置の第二の個人情報に割当てられたユーザ識別子を含むユーザデータを分割するデータ分割装置であって、前記他装置のユーザ識別子を取得する送受信手段と、前記自装置のユーザ識別子と当該識別子に関連付けられた前記第一の個人情報の値とを記憶する記憶手段と、取得した前記他装置のユーザ識別子のうち、前記自装置のユーザ識別子と一致しない前記他装置のユーザ識別子に関連付けするダミーデータとして、前記第一の個人情報のダミー値を設定する設定手段と、前記ダミーデータを含む所定のユーザデータを、前記ダミー値を含む前記第一の個人情報の値又は前記第二の個人情報の値に基づいて決定された分割点によって、グループに分割する分割手段と、分割後のグループに属するユーザデータのうち、前記自装置と前記他装置のユーザ識別子が一致する前記第一の個人情報の値に基づいて、前記設定された第一の個人情報の前記ダミー値を修正する修正手段と、を含む。
上記目的を達成するため、本発明におけるデータ分割システムは、第一のデータ分割装置の第一の個人情報と、前記第一のデータ分割装置の前記第一の個人情報に割当てられたユーザ識別子と、第二のデータ分割装置の第二の個人情報に割当てられたユーザ識別子を含むユーザデータを分割するデータ分割システムであって、前記第一のデータ分割装置は、前記第二のデータ分割装置のユーザ識別子を取得する第一の送受信手段と、前記第一のデータ分割装置のユーザ識別子と当該識別子に関連付けられた前記第一の個人情報の値とを記憶する第一の記憶手段と、取得した前記第二のデータ分割装置のユーザ識別子のうち、前記第一のデータ分割装置のユーザ識別子と一致しない前記第二のデータ分割装置のユーザ識別子に関連付けするダミーデータとして、前記第一の個人情報の第一のダミー値を設定する第一の設定手段と、前記ダミーデータを含む所定のユーザデータを、前記第一のダミー値を含む前記第一の個人情報の値又は前記第二のデータ分割装置が設定した第二のダミー値を含む第二の個人情報の値に基づいて決定された分割点によって、グループに分割する第一の分割手段と、分割後のグループに属するユーザデータのうち、前記第一のデータ分割装置と前記第二のデータ分割装置のユーザ識別子が一致する前記第一の個人情報の値に基づいて、設定された前記第一のダミー値を修正する修正手段と、前記第二のデータ分割装置は、前記第一のデータ分割装置のユーザ識別子を取得する第二の送受信手段と、前記第二のデータ分割装置のユーザ識別子と当該識別子に関連付けられた前記第二の個人情報の値とを記憶する第二の記憶手段と、取得した前記第一のデータ分割装置のユーザ識別子のうち、前記第二のデータ分割装置のユーザ識別子と一致しない前記第一のデータ分割装置のユーザ識別子に関連付けするダミーデータとして、前記第二の個人情報の第二のダミー値を設定する第二の設定手段と、前記ダミーデータを含む所定のユーザデータを、前記第二のダミー値を含む前記第二の個人情報の値又は前記第一のダミー値を含む第一の個人情報の値に基づいて決定された分割点によって、グループに分割する第二の分割手段と、分割後のグループに属するユーザデータのうち、前記第二のデータ分割装置と前記第一のデータ分割装置のユーザ識別子が一致する前記第二の個人情報の値に基づいて、設定された前記第二のダミー値を修正する修正手段と、を含む。
上記目的を達成するため、本発明におけるデータ方法は、自装置の第一の個人情報と、前記自装置の前記第一の個人情報に割当てられたユーザ識別子と、他装置の第二の個人情報に割当てられたユーザ識別子を含むユーザデータを分割するデータ分割方法であって、前記他装置のユーザ識別子を取得し、前記自装置のユーザ識別子と当該識別子に関連付けられた前記第一の個人情報の値とを記憶し、取得した前記他装置のユーザ識別子のうち、前記自装置のユーザ識別子と一致しない前記他装置のユーザ識別子に関連付けするダミーデータとして、前記第一の個人情報のダミー値を設定し、前記ダミーデータを含む所定のユーザデータを、前記ダミー値を含む前記第一の個人情報の値又は前記第二の個人情報の値に基づいて決定された分割点によって、グループに分割し、分割後のグループに属するユーザデータのうち、前記自装置と前記他装置のユーザ識別子が一致する前記第一の個人情報の値に基づいて、前記設定された第一の個人情報の前記ダミー値を修正する。
上記目的を達成するため、本発明におけるプログラムは、自装置の第一の個人情報と、前記自装置の前記第一の個人情報に割当てられたユーザ識別子と、他装置の第二の個人情報に割当てられたユーザ識別子を含むユーザデータを分割するデータ分割装置を実現するプログラムであって、前記他装置のユーザ識別子を取得し、前記自装置のユーザ識別子と当該識別子に関連付けられた前記第一の個人情報の値とを記憶し、取得した前記他装置のユーザ識別子のうち、前記自装置のユーザ識別子と一致しない前記他装置のユーザ識別子に関連付けするダミーデータとして、前記第一の個人情報のダミー値を設定し、前記ダミーデータを含む所定のユーザデータを、前記ダミー値を含む前記第一の個人情報の値又は前記第二の個人情報の値に基づいて決定された分割点によって、グループに分割し、分割後のグループに属するユーザデータのうち、前記自装置と前記他装置のユーザ識別子が一致する前記第一の個人情報の値に基づいて、前記設定された第一の個人情報の前記ダミー値を修正する、処理をコンピュータに実行させる。In order to achieve the above object, the data dividing device according to the present invention includes the first personal information of the own device, the user identifier assigned to the first personal information of the own device, and the second individual of the other device. A data dividing device for dividing user data including a user identifier assigned to information, the transmitting / receiving means for obtaining a user identifier of the other device, the user identifier of the own device, and the first associated with the identifier As the dummy data associated with the user identifier of the other device that does not match the user identifier of the own device among the obtained user identifiers of the other device. Setting means for setting a dummy value of personal information; and predetermined user data including the dummy data, the value of the first personal information including the dummy value or the first The dividing means for dividing the group into groups based on the division point determined based on the personal information value, and the user data belonging to the group after the division match the user identifiers of the own device and the other device among the first Correction means for correcting the dummy value of the set first personal information based on the value of the personal information.
In order to achieve the above object, a data division system according to the present invention includes first personal information of a first data division device, and a user identifier assigned to the first personal information of the first data division device. A data division system for dividing user data including a user identifier assigned to the second personal information of the second data division device, wherein the first data division device is the second data division device First transmission / reception means for acquiring a user identifier, first storage means for storing a user identifier of the first data dividing device and a value of the first personal information associated with the identifier, and Of the user identifiers of the second data dividing device, the dummy associated with the user identifier of the second data dividing device that does not match the user identifier of the first data dividing device First setting means for setting a first dummy value of the first personal information as data, predetermined user data including the dummy data, and the first personal information including the first dummy value A first dividing means for dividing into groups based on a dividing point determined based on the value of the second personal information including the value of the second data dividing device or the second dummy value set by the second data dividing device; and Among the user data belonging to the first group, the first dummy information set based on the value of the first personal information that matches the user identifiers of the first data dividing device and the second data dividing device Correction means for correcting the value; the second data dividing device; second transmitting / receiving means for obtaining a user identifier of the first data dividing device; a user identifier of the second data dividing device; and the identifier. In The second storage means for storing the associated second personal information value and the user identifier of the second data dividing device among the acquired user identifiers of the first data dividing device The second setting means for setting the second dummy value of the second personal information as dummy data associated with the user identifier of the first data dividing device, and predetermined user data including the dummy data The second division into groups by the division point determined based on the value of the second personal information including the second dummy value or the value of the first personal information including the first dummy value Based on the value of the second personal information in which the user identifiers of the second data dividing device and the first data dividing device match among the dividing means and user data belonging to the group after the division. Correcting means for correcting the second dummy value.
In order to achieve the above object, a data method according to the present invention includes: first personal information of an own device; a user identifier assigned to the first personal information of the own device; and second personal information of another device. A data dividing method for dividing user data including a user identifier assigned to a device, wherein the user identifier of the other device is acquired, the user identifier of the own device and the first personal information associated with the identifier A dummy value of the first personal information is set as dummy data associated with the user identifier of the other device that does not match the user identifier of the own device among the acquired user identifiers of the other device. The predetermined user data including the dummy data is divided based on the value of the first personal information or the value of the second personal information including the dummy value. Therefore, it is divided into groups, and among the user data belonging to the group after the division, based on the value of the first personal information that matches the user identifiers of the own device and the other device, the set first data The dummy value of personal information is corrected.
In order to achieve the above object, the program according to the present invention includes the first personal information of the own device, the user identifier assigned to the first personal information of the own device, and the second personal information of the other device. A program for realizing a data dividing device that divides user data including an assigned user identifier, obtains a user identifier of the other device, and obtains a user identifier of the own device and the first identifier associated with the identifier. The dummy information of the first personal information is stored as dummy data associated with the user identifier of the other device that does not match the user identifier of the own device among the acquired user identifiers of the other device. A value is set, and predetermined user data including the dummy data is set based on the value of the first personal information or the value of the second personal information including the dummy value. Based on the value of the first personal information that matches the user identifiers of the own device and the other device among the user data belonging to the group after the division by the division point determined in the above, The computer is caused to execute a process of correcting the dummy value of the set first personal information.
本発明の効果の一例は、複数の装置によるデータの分散処理において、一方の装置が保持する非共通ユーザのデータを有効に活用することで、精度の良いデータの分割が可能になることである。 An example of the effect of the present invention is that, in data distribution processing by a plurality of devices, it is possible to divide data with high accuracy by effectively using non-common user data held by one device. .
まず、本発明の実施形態の理解を容易にするために、本発明の背景を説明する。
背景技術で説明した例と同様に、事業者Sと事業者Tが、それぞれ保持している個人情報から、分類木を生成することを考える。各事業者が保持する個人情報は、識別子管理事業者が管理する共通の識別子に対応していても良い。
分類木生成の技術には、非特許文献1の技術を用いるものとする。
まず、例えば、識別子管理事業者は、分類木生成の対象となるユーザの識別子を各事業者に対して通知する。例えば、user1〜user15の識別子が各事業者に通知されたものとする。
事業者Sは、通知された識別子のユーザに関して、図1に示すデータを保持しているとする。図1に示すように、事業者Sは、user1〜user15の識別子のユーザに関する個人情報(「腹囲(X)」と「Class」のデータ)を保持している。「Class」は、「A」又は「B」で表示され、「A」はユーザが非メタボリックであることを、「B」はユーザがメタボリックであることを示す。
事業者Tは、通知された識別子のユーザに関して、図2に示すデータを保持しているとする。図2に示すように、事業者Tは、user1〜user6の識別子のユーザに関する個人情報(「血圧(Y)」のデータ)を保持している。
非特許文献1に記載の技術は、事業者Sと事業者Tとの共通のユーザであるuser1〜user6のデータを分類木生成処理の対象とし、user7〜user15のデータは使用しない。非特許文献1に記載の技術は、user1〜user6のデータを対象としてMPCを用いてエントロピーを計算することにより、分割後に最もエントロピーが小さくなる点「Y=130」を分割点として決定する。
図3は、事業者S及び事業者Tが保持するデータが、「Y=130」で2つに分割された状態を示す図である。図4は、腹囲をX軸とし、血圧をY軸とした場合の、データの分布を「Y=130」で分割した様子を示す図である。図3及び図4に示すように、user1〜user8のデータは、「Y=130」を分割点として、「user1〜4」のグループと、「user5,6」のグループとに分割される。
図5は、図1及び図2に示すデータから最終的に生成される分類木の例を示す図である。上述の例の場合、非特許文献1に記載の技術は、図3及び図4に示した以上の分類は不可能と判断し、図5に示される分類木を生成する。図5に示される分類木によれば、user1〜user6のデータは正確に分類される。具体的には、user1〜user4は、「A」、すなわち「非メタボリック」に分類され、user5,user6は、「B」、すなわち「メタボリック」に分類される。しかしながら、user7〜user15のデータは、「血圧(Y)」の値を持たないため、分類することができない。
図6は、非特許文献1の技術により生成された分類木を用いた、user1〜user15の分類結果を示す図である。図6の「正解」は、図5に示される分類木を用いて分類した場合に、「A」又は「B」が正しく分類されているかを示すデータである。「○」は正しく分類されていることを表す。「不明」は、対象となるデータが分類に必要な値を保持していないことから分類ができないか、又は「A」と「B」とが混ざったグループに分類されるため「A」と「B」とのいずれに該当するか不明であることを表す。
図6に示す分類結果は、user1〜user15のデータ全体から見ると、決して精度の良い分類であるとは言えない。ここで、分類木の生成に使用されなかったuser7〜user15のデータに着目する。user7〜user15のデータは、「腹囲(X)=80台」のユーザのほとんどが「A」であることを示し、また、「腹囲(X)=90台」のユーザのほとんどが「B」であることを示す。user7〜user15のデータは、分類木生成にあたり重要な意味を持つにも関わらず、非特許文献1の技術では、分類木生成にあたりこれらのデータが活用されない。
分類木生成にあたり、user7〜user15のデータを活用するために、「リサンプリング」という技術を用いることが考えられる。「リサンプリング」とは、標本に基づいてサンプルの値を決定する手法をいう。上述の例においては、「血圧(Y)」の値を実際に保持するuser1〜user6の値の分布に基づいて、user7〜user15の値を決定する。
図7は、事業者Tが保持しているデータに対し、user7〜user15の値をリサンプリングにより決定したデータを示す図である。事業者Tは、user1〜user6の「血圧(Y)」の値に関し、「110台:120台:130台=1:1:1」の割合で保持している。そこで、事業者Tの装置は、図7に示すように、user7〜user15の「血圧(Y)」の値を「110台:120台:130台=1:1:1」の割合でリサンプリングしてダミー値を設定する。本例においては、110台として115を、120台として125を、130台として135を割り当てた。
非特許文献1に記載の技術は、ダミー値を設定することで事業者Sと事業者Tとの共通のユーザとなったuser1〜user15のデータに関して、MPCを用いてエントロピーを計算することにより、分割後に最もエントロピーが小さくなる点「X=90」を分割点として決定する。
図8は、user1〜user15のデータが、「X=90」で2つに分割された状態を示す図である。図9は、ダミー値が設定されたデータも含めたuser1〜user15のデータの分布を「X=90」で分割した様子を示す図である。図8及び図9に示すように、user1〜user15のデータは、「X=90」を分割点として、「user1〜3,7〜9,11,12,14」のグループと、「user4〜6,10,13,15」のグループとに分割される。
図10は、図8に示すデータが、さらに「Y=120」で分割された状態を示す図である。図11は、ダミー値が設定されたデータも含めたデータの分布を「Y=120」で分割した様子を示す図である。図10及び図11に示すように、非特許文献1に記載の技術は、MPCを用いたエントロピー計算により、本例においては「Y=120」で分割することが、最もデータの混じりが少なく、分割点として適切であると判断する。
図12は、ダミー値を設定したデータも含めたuser1〜user15のデータから最終的に生成される分類木の例を示す図である。リサンプリングを行った場合、非特許文献1に記載の技術によれば、図12に示される分類木が生成される。
図13は、ダミー値を設定したデータも含めたデータにより生成された分類木を用いた、user1〜user15の分類結果を示す図である。図13に示すように、図6の結果と比較して、リサンプリングを行うことで、分類結果が「不明」であったuser7〜user15のデータのうち、user7〜9,11,12,14のデータを正しく分類することが可能な分類木を生成することができる。一方で、リサンプリングの値は標本の分布に従っているとはいえランダムに設定されるため、user4〜6のように本来正しく分類可能であったデータが、「不明」となってしまうことがある。
以上説明したように、共通ユーザのデータを用いたデータ分割の場合、精度の良い分類木を生成することができない。リサンプリングの手法によりダミー値をランダムに設定しても、必ずしも精度の良い分類木が生成されるとは言えない。言い換えれば、非特許文献1の技術に単純にリサンプリングの手法を適用しただけでは、データを精度良く分割することができない。
以下に説明される本発明の第1実施形態によれば、これまでに説明した問題が解決される。
<第1実施形態>
まず、図14及び図15を参照して、本発明の第1実施形態に係るデータ分割装置の構成を説明する。
図14は、第1実施形態に係る第一のデータ分割装置100の構成を示すブロック図である。図14に示すように、第一のデータ分割装置100は、第一の送受信部110と、第一の記憶部120と、第一の設定部130と、第一の分割部140と、第一の修正部150とを含む。
図15は、第1実施形態に係る第二のデータ分割装置200の構成を示すブロック図である。図15に示すように、第二のデータ分割装置200の構成は、第一のデータ分割装置100と同様でも良い。本実施形態では、第一のデータ分割装置100及び第二のデータ分割装置200が、データ分割システムを構成する。以下の説明においては、第一のデータ分割装置100の構成を中心として説明する。
なお、本実施形態においては、データ分割装置は2台として説明するが、2台に限定されず、2台以上の複数の装置を含むシステムでも良い。
第一の送受信部110は、外部装置と通信を行うことで、自装置(第一のデータ分割装置100)及び他装置(第二のデータ分割装置200)のそれぞれが保持しているユーザの識別子の情報を取得する。なお、プライバシを保護することを前提とするため、例えば「腹囲」や「血圧」等の個人情報に関しては互いに開示せず、例えば、userIDの情報を交換する。
また、第一の送受信部110は、例えば識別子管理事業者が保持する識別子管理装置からの通知を受け、母集団となる所定の識別子の情報を取得しても良い。第一の送受信部110は、取得した所定の識別子の情報のうち、第一のデータ分割装置100(自装置)が保持していない識別子の情報を第二のデータ分割装置200(他装置)が保持している非共通な識別子の情報であると判定しても良い。
または、第一の送受信部110は、第二の送受信部210と直接userIDの情報の送受信を行うことで、第二のデータ分割装置200(他装置)が保持しているuserIDの情報を取得しても良い。
または、第一のデータ分割装置100は、予め第二のデータ分割装置200が保持しているuserIDの情報を第一の記憶部120に記憶していても良い。この場合、第一の送受信部110は、第二のデータ分割装置200のuserIDの情報を取得する処理を行わなくても良い。
なお、本実施形態において使用する識別子は、例えば国民IDでも良い。又は識別子は、非特許文献2に記載されているOpenIDでも良く、これらに限定されない。
第一の記憶部120は、複数のユーザ識別子と第一の個人情報の値とを関連付けたユーザデータを記憶する。ここで「ユーザ識別子」とは、各データ分割装置が記憶しているユーザの識別子を意味する。例えば、「第一の記憶部120が記憶するユーザ識別子」とは、第一のデータ分割装置100の第一の記憶部120が記憶しているユーザの識別子を意味し、第二のデータ分割装置200の第二の記憶部220が記憶しているが、第一の記憶部120が記憶していないユーザの識別子は含まない。
また、「第一の個人情報」とは、第一のデータ分割装置100(自装置)が記憶している個人情報の一つを言う。例えば、第一の記憶部120が図1に示すユーザデータを記憶している場合、「第一の個人情報」は「腹囲」でも良い。
第一の設定部130は、第一のデータ分割装置100(自装置)が記憶しているユーザデータ(ユーザ識別子と当該識別子に関連する個人情報の値)を第一の記憶部120から取得する。また、第一の設定部130は、第二のデータ分割装置200(他装置)が保持しているユーザ識別子を第一の送受信部110又は第一の記憶部120から取得する。
第一の設定部130は、第二のデータ分割装置(他装置)が記憶しているユーザデータであって、第一の記憶部120が記憶していないユーザ識別子のデータに対し、ダミーデータとして第一の個人情報の値にダミー値を設定する。ダミー値は、例えば、ユーザ識別子に対応する第一の個人情報の値の分布に従って、リサンプリングの手法により設定する。第一の設定部130によるダミー値の設定方法は、リサンプリングの手法に限定されず、他の適当な方法でも良い。
第一の設定部130は、ダミーデータを含む所定のユーザデータを第一の分割部140に出力する。
第一の分割部140は、第一の設定部130から出力されたダミーデータを含む所定のユーザデータを、分割点によってクループに分割する。分割点とは、ユーザデータを分割するための閾値であり、ダミー値を含む第一の個人情報の値、又は、第二の個人情報の値に基づいて、決定される。
上記の他に、第一の分割部140は、第一の送受信部110を介して第二の分割部240と通信を行い、第一のデータ分割装置100及び第二のデータ分割装置200が保持する個人情報のうち、分割の軸として最も適切な個人情報を決定しても良い。この場合、第一の分割部140は、第二の分割部240と通信を行い、該個人情報の値の中で最も適切な分割点を決定しても良い。
なお、第二のデータ分割装置200(他装置)においてもダミー値の設定が行われている場合には、分割点を決定するための第二の個人情報の値には第二のデータ分割装置(他装置)が設定したダミー値(第二のダミー値)を含む。
分割方法は特に限定されない。第一の分割部140は、所定の個人情報の値の平均値を分割点として、ユーザデータを2つのグループに分割しても良い。この場合、第一の分割部140は、分割後のグループの内容を第一の送受信部110を介して第二の分割部240に送信しても良い。第一の分割部140及び第二の分割部240は、互いの個人情報の値の平均値を分割点として、順番に分割を繰り返しても良い。または、第一の分割部140は、周知のヒューリスティック関数を用いて分割点を決定しても良い。
また、第一の分割部140は、ユーザデータを分割した場合のエントロピーを考慮して分割点を決定しても良い。エントロピーを考慮することで、第一の分割部140は、分割後のグループに属するユーザデータの混ざりが少なくなるように分割点を決定しても良い。
例えば、分割後のグループにおけるエントロピーは以下の式で計算しても良い。
エントロピー=Σ{−1×P(Class)×log(P(Class))}
ここで、「Class」を「A」又は「B」で分類する場合、P(Class)はそれぞれ以下のようになる。
P(A)=「分割後のグループ内での「A」の数」/「分割後のグループ内での「A」及び「B」の数の合計」
P(B)=「分割後のグループ内での「B」の数」/「分割後のグループ内での「A」及び「B」の数の合計」
この場合、第一の分割部140は、分割後のグループにおけるエントロピーを以下のように計算する。
エントロピー={−1×P(A)×log(P(A))}+{−1×P(B)×log(P(B))}
例えば、第一の分割部140は、上記のエントロピーを、適当な分割候補点における分割後の2つのグループ(分割点以上と未満の2つのグループ)について計算する。分割候補点は、所定のルール(アルゴリズム)で決めれば良く、周知の手法で良い。
第一の分割部140は、分割候補点でデータを2つのグループに分割して、2つのグループのエントロピーを足した値をSとした場合に、Sの値が最も小さくなる点を分割点として決定しても良い。なお、Sの値が最も小さくなる点を分割点として決定することが好ましいが、これに限らず最も小さくなるSの値に近似した値でもよい。
Sの値が小さいということは、2つのグループ内におけるデータの混ざり(「A」と「B」の混ざり)が少ないことを意味する。
または、第一の分割部140は、所定の分割候補点のうちで、分割点以上と未満の2つのグループのいずれかが最小の値を取るグループを含むように分割する分割候補点を、分割点として決定しても良い。なお、前述のように、分割候補点のうちで、分割点以上と未満の2つのグループのいずれかが最小の値をとるグループを含むように分割することが好ましいが、これに限られず最小の値に近似した値であってもよい。エントロピーを用いた分割点の決定方法は上述の方法には限定されず、他の方法でも良い。
なお上述したように、第一のデータ分割装置100と第二のデータ分割装置200とは、互いの個人情報の値がわからない。具体的には第一のデータ分割装置100は、第二のデータ分割装置200が保持する第二の個人情報の真の値がわからない。
そこで、第一の分割部140は、MPC(Multi Party Computation)又はSMPC(Secure Multi Party Computation)を用いて、第二の個人情報の値も考慮して、分割点を計算しても良い。第一の分割部140は、MPC等を用いることで、第一のデータ分割装置100及び第二のデータ分割装置200の互いの個人情報の値を一切出さずに分割点を計算することができる。
以降は説明の便宜のため、第一の分割部140は、MPCを用いてエントロピーを計算することで分割点を決定し、データを分割するものとする。
第一の分割部140は、分割した各グループにおける識別子の内容を示す分割情報を、第一の送受信部110を介して第二のデータ分割装置200に送信する。分割情報は、例えば分割点で分割したuserIDのリストでも良い。
また、第一の分割部140は、第二の送受信部210から送信される分割情報を、第一の送受信部110を介して受信する。第一の分割部140は、受信した分割情報に基づいてデータを分割する。
第一の分割部140は、分割後のデータを第一の修正部150に出力する。
第一の修正部150は、第一の分割部140による分割の度に、分割後のグループに属するユーザデータのうちダミーデータ以外のデータの第一の個人情報の値に基づいて、ダミー値を修正する。例えば、第一の修正部150は、分割後のグループにおいて、ユーザ識別子に対応するデータの第一の個人情報の値の分布に従って、そのグループ内でダミー値の値を修正しても良い。
第一の修正部150は、ダミー値の修正後のデータを、再び第一の分割部140に出力する。第一の分割部140は、ダミー値が修正されたグループ内のユーザデータを、さらに2つのグループに分割することが可能か否かを判定する。第一の分割部140は、グループ内において周知の手法により分割候補点が存在するか否かを判定することで、さらに分割可能か否かを判定しても良い。
さらに分割可能であると判定した場合、第一の分割部140は、第一の修正部150から出力されたデータを、さらにグループに分割する。
分割不可能と判定した場合、第一のデータ分割装置100は、処理を終了する。この場合、第一のデータ分割装置100は、分割後のユーザデータ、生成した分類木等を出力装置、外部の他のシステム等に出力しても良い。
次に図16を参照して、本発明の第1実施形態に係る第一のデータ分割装置100の動作について説明する。
図16は、本発明の第1実施形態に係る第一のデータ分割装置100の動作を示すフローチャート図である。図16に示すように、例えば第一の送受信部110は、第二のデータ分割装置200が保持しているデータのuserIDの情報(ユーザ識別子)を取得する(ステップS11)。
第一の送受信部110が第二のデータ分割装置200(他装置)のuserIDの情報を取得すると、第一の設定部130は、取得したuserIDの情報を含んだユーザデータのうち第一の記憶部120が実際に記憶しているuserID(ユーザ識別子)に対応するデータ以外のデータに対し、ダミーデータとして第一の個人情報の値にダミー値を設定する(ステップS12)。この時、第二のデータ分割装置200においても同様に、第二の送受信部210が第一のデータ分割装置100が保持するuserIDの情報を取得し、第二の設定部230が第二の個人情報の値にダミー値を設定する。当然のことながら、第一の記憶部120と第二の記憶部220とが記憶しているデータは異なるので、互いのダミーデータは異なる。
次に、第一の分割部140は、ダミー値が設定されたデータを含めた所定のユーザデータの分割にあたり、分割候補点が存在するか否かを判定する。分割候補点が存在すると判定すると、第一の分割部140は、所定の分割候補点について、分割した場合の2つのグループのエントロピーの合計を計算する。第一の分割部140は、エントロピーの合計が最も低い点を分割点として決定し、その点で所定のユーザデータを2つのグループに分割する(ステップS13)。
次に、第一の修正部150は、分割後のグループ内のユーザデータに対しダミー値を修正する(ステップS14)。第一の修正部150は、ユーザ識別子に対応するデータの第一の個人情報の値の分布に従って、分割後のグループ内でダミー値を修正しても良い。
次に、第一の修正部150は、ダミー値を修正した分割後のグループ内のユーザデータを、再び第一の分割部140に出力する。第一の分割部140は、分割後にダミー値が修正されたユーザデータを、さらに分割可能か否かを判定する(ステップS15)。第一の分割部140は、分割候補点が存在するか否かを判定することで、さらに分割可能か否かを判定しても良い。
分割候補点が存在すると判定した場合は、処理は、ステップS13に進む。ステップS13において、第一の分割部140は、分割後にダミー値を修正したユーザデータのグループを、さらに分割する。分割候補点が存在しないと判定した場合は、処理は終了する。
次に、図17〜図22を参照して、図16の各ステップを、具体的に例を用いて説明する。前提として、第一のデータ分割装置100は事業者Sの装置であるものとする。また、第二のデータ分割装置200は事業者Tの装置であるものとする。
また、以降の例は、上述した例と同様の状況を前提とする。具体的には、事業者S(第一のデータ分割装置100)は、「腹囲」と「Class」に関する個人情報(図1に示すデータ)を保持しているとする。事業者T(第二のデータ分割装置200)は、「血圧」に関する個人情報(図2に示すデータ)を保持しているとする。各事業者が保持する個人情報は、識別子管理事業者が管理する共通の識別子で対応している。また、以降の例では「腹囲」を第一の個人情報とし、「血圧」を第二の個人情報とする。
図16のステップS11において、第一のデータ分割装置100及び第二のデータ分割装置200は、互いが保持しているデータのuserIDの情報を交換する。具体的には、第一の送受信部110は、user1〜user15の識別子を第二の送受信部210に送信し、第二の送受信装置210から、user1〜user6の識別子を受信する。
図16のステップS12において、事業者Sにおける第一の送受信部110がuser1〜user6の識別子を受信すると、第一の設定部130は、図1に示すデータと照合する。照合した結果、第一の設定部130は、第二のデータ分割装置200が記憶しているuser1〜user6の識別子は、第一のデータ分割装置100が記憶しているuser1〜user15の識別子に含まれていると判定する。従って第一の設定部130は、ダミーデータの設定を行わない。
一方、事業者Tにおける第二の設定部230は、受信したuser1〜user15の識別子と、図2に示す情報とを照らし合わせた結果、第一のデータ分割装置100は、第二のデータ分割装置200が記憶していないuser7〜user15のデータを記憶していると判定する。従って、第二の設定部230は、図7に示すようにuser7〜user15のデータに対し、リサンプリングの手法により第二の個人情報にダミー値を設定する。
図16のステップS13において、第一のデータ分割装置100の第一の分割部140及び第二のデータ分割装置200の第二の分割部240は、互いに通信を行いながら、個人情報の分割候補点が存在するか否かを判定する。第一の分割部140及び第二の分割部240は、第一の個人情報に関して「X=90」が、第二の個人情報に関して「Y=120」及び「Y=130」が、分割候補点であると判定する。
第一の分割部140及び第二の分割部240は、互いに通信を行いながら、MPCを用いて個人情報の値を開示することなく、各分割候補点で分割した場合の2つのグループのエントロピーの合計を計算する。第一の分割部140及び第二の分割部240は、「X=90」を、エントロピーの合計が最小となる点であると判定し、分割点に決定する。
分割点が決定すると、腹囲(X)の個人情報(第一の個人情報)を保持している第一のデータ分割装置100において、第一の分割部140が所定のユーザデータを{user1〜3,7〜9,11,12,14}及び{user4〜6,10,13,15}の2つのグループに分割する。
第一の分割部140は、データの分割情報({user1〜3,7〜9,11,12,14}、{user4〜6,10,13,15}という2つのグループにユーザデータを分割することを示す情報)を事業者Tの第二の送受信部210に送信する。分割情報を受信すると、第二の分割部240も所定のユーザデータを分割する。図8及び図9は分割後のユーザデータの状態を示す図である。
図16のステップS14において、第一の修正部150及び第二の修正部250は、分割後のグループ内でダミー値の修正を行う。本例においては、事業者S(第一のデータ分割装置100)はダミーデータを保持しないためダミー値の修正は行わず、事業者T(第二のデータ分割装置200)の第二の修正部250が、ダミー値の修正を行う。
図17は、図7のユーザデータに対し、ダミー値を修正したデータを表す図である。第二のデータ分割装置200の第二の修正部250は、グループ毎にダミーデータ(user7〜user15のデータ)以外の識別子(ユーザ識別子)のデータ(user1〜user6のデータ)の第二の個人情報の値の分布に従って、ダミー値を修正する。
まず、{user1〜3,7〜9,11,12,14}のグループについて考える。当該グループに属する第二のデータ分割装置200におけるユーザ識別子のデータはuser1〜user3のデータである。user1〜user3のデータは、第二の個人情報(血圧)に関し「110台:120台=2:1」に分布している。そのため、第二の修正部250は、{user1〜3,7〜9,11,12,14}のグループに属するダミーデータ(user 7〜9,11,12,14のデータ)のダミー値を「110台:120台=2:1」になるように修正する。
図17に示すように、第二の修正部250は、例えばuser9を「135」から「115」に、user12を「135」から「115」に、user14を「125」から「115」に修正する。
次に、{user4〜6,10,13,15}のグループについて考える。当該グループに属する第二のデータ分割装置200におけるユーザ識別子のデータはuser4〜user6のデータである。user4〜user6のデータは、第二の個人情報(血圧)に関し「120台:130台=1:2」に分布している。そのため、第二の修正部250は、{user4〜6,10,13,15}のグループに属するダミーデータ(user 10,13,15のデータ)のダミー値を「120台:130台=1:2」になるように修正する。
図17に示すように、第二の修正部250は、例えばuser10を「115」から「125」に、user13を「115」から「135」に修正する。
図18は、ダミー値を修正した場合の分割の状態を示す図である。図19は、ダミー値を修正した場合の、ユーザデータの分布と分割の様子を示す図である。図19において、丸で囲ったデータが、ダミー値が修正されたデータである。
ダミー値の修正後、ステップS15において、第一の分割装置100の第一の分割部140及び第二の分割装置200の第二の分割部240は、2つの各グループにおいて分割候補点が存在するか否かを判定する。第一の分割部140及び第二の分割部240は、{user1〜3,7〜9,11,12,14}のグループには分割候補点はないと判定する。第一の分割部140及び第二の分割部240は、{user4〜6,10,13,15}のグループについては、「Y=120」及び「Y=130」が分割候補点であると判定し、処理は再び図16のステップS13に戻る。第一の分割部140及び第二の分割部240は、MPCを用いて分割後のエントロピーの合計を計算する。その結果、第一の分割部140及び第二の分割部240は、「Y=130」を分割点に決定する。
図20は、図18に示すデータにおける{user4〜6,10,13,15}のグループが、さらに「Y=130」で分割された状態を示す図である。図21は、ダミー値が修正されたユーザデータの分布と、{user4〜6,10,13,15}のグループの「Y=130」で分割した様子を示す図である。図20において、{user5,6,13,15}のグループは、「A」と「B」とが混じっているが、「B」の数が明かに多いため、当該グループは「B」のグループであると判定している。
図22は、ダミー値を修正した場合のuser1〜user15のデータから最終的に生成される分類木の例を示す図である。本発明によれば、図22に示される分類木が生成される。分類木は、図14及び図25には図示しない生成部によって、データの分割の過程を情報としてまとめることで生成されても良い。
図23は、ダミー値を修正したユーザデータにより生成された分類木を用いた、user1〜user15の分類結果を示す図である。図23に示すように、図13の結果と比較して、ダミー値の修正を行うことで、分類結果が「不明」であったuser4〜6のデータのうち、user5,6のデータを正しく分類することが可能な分類木を生成することができる。当該分類木は、図5、図12に示す分類木と比較して、最も精度の良い分類木である。
以上説明したように、第1実施形態に係るデータ分割装置100によれば、複数の装置によるデータの分散処理において、一方の装置が保持する非共通データを有効に活用することで、精度の良いデータの分割が可能となる。第1実施形態に係るデータ分割装置100においては、非共通データにダミー値を設定して活用し、分割の度にダミー値を修正することで、非共通データを有効に活用する。
<第2実施形態>
次に本発明の第2実施形態に係る第一のデータ分割装置300の機能構成を説明する。
図24は、第2実施形態に係る第一のデータ分割装置300の構成を示すブロック図である。図24に示すように、第一のデータ分割装置300は、第1実施形態における第一のデータ分割装置100と比較して、第一の調整部310を含む点で異なる。第一の調整部310以外の構成部については第1実施形態と同様の構成であるため、同様の番号を付し、説明を省略する。
第一の調整部310は、第一の修正部150によるダミー値の修正の後に、当該修正前のダミー値と、当該修正後のダミー値との値の変化量に基づいてダミー値を調整する。データの分布に相関関係などの特徴がある場合、第一の調整部310がダミー値の変化量に基づいてダミー値を調整することで、第一のデータ分割装置300は、その特徴を反映してより精度良くデータを分割する。
図25は、本発明の第2実施形態に係る第一のデータ分割装置300の動作を示すフローチャート図である。図25に示すように、第一のデータ分割装置300の動作は、図16に示す第一のデータ分割装置100の動作と比較して、第一の調査部310がダミー値の修正前後の変化量に基づいてダミー値を調整するステップS16を有する点で異なる。
ステップS16の後、ステップS15において、第一の分割部140は、分割後にダミー値が修正及び調整されたデータを、さらに分割可能か否かを判定する(ステップS15)。
図26及び図27は第一の調整部310の機能を説明するための図である。
図26は、修正されたデータを表す図17のデータに対し、ダミー値を調整したデータを表す図である。第一の調整部310は、第一の修正部150によるダミー値の修正の後に、グループ毎に当該修正前のダミーデータ(user7〜user15のデータ)のダミー値と、当該修正後のダミーデータ(user7〜user15のデータ)のダミー値との値の変化量に基づいてダミー値を調整する。修正前後のダミー値の変化量に基づく調整の方法はどのような方法でも良いが、以下ではダミー値の重心の値(ダミー値の平均値)の変化に基づいて、調整する方法を例に説明する。
まず、{user1〜3,7〜9,11,12,14}のグループについて考える。当該グループに属するダミーデータはuser7〜9,11,12,14のデータである。
図7に示す第一の修正部150による修正前のユーザデータにおいて、user7〜9,11,12,14のダミー値はそれぞれ、「115」、「125」、「135」、「125」、「135」及び「125」である。従って、第一の調整部310は、当該グループにおける修正前のダミー値の重心の値(平均値)を、(115+125+135+125+135+125)÷6により「126.666」であると算出する。
また、図17に示す第一の修正部150による修正後のデータにおいて、user7〜9,11,12,14のダミー値はそれぞれ、「115」、「125」、「115」、「125」、「115」及び「115」である。従って、第一の調整部310は、当該グループにおける修正後のダミー値の重心の値(平均値)を、(115+125+115+125+115+115)÷6により「118.666」であると算出する。
ダミー値の修正によって、重心の値が「126.666」から「118.666」に変化したため、ダミー値の重心の値の変化量は「−8」である。そのため、第一の調整部310は、{user1〜3,7〜9,11,12,14}のグループに属するダミーデータ(user 7〜9,11,12,14のデータ)所定のダミー値から「10」を減算する。ここで、ダミー値は「115」から10刻みの値を取ることとしているため、「−8」は、「−10」とした。また、本実施形態において、ダミー値は「115〜135」の範囲の値をとることとし、115以下又は135以上の値はとらないこととする。
図26に示すように、第一の調整部310は、例えばuser8及びuser11のダミー値を「125」から「115」に修正する。
同様に、{user4〜6,10,13,15}のグループについて考える。当該グループに属するダミーデータはuser10,13,15のデータである。
図7に示す第一の修正部150による修正前のデータにおいて、user10,13,15のダミー値はそれぞれ、「115」、「115」及び「135」である。従って、第一の調整部310は、当該グループにおける修正前のダミー値の重心の値(平均値)を、(115+115+135)÷3により「121.666」であると算出する。
また、図17に示す第一の修正部150による修正後のデータにおいて、user10,13,15のダミー値はそれぞれ、「125」、「135」及び「135」である。従って、第一の調整部310は、当該グループにおける修正後のダミー値の重心の値(平均値)を、(125+135+135)÷3により「131.666」であると算出する。
ダミー値の修正によって、重心の値が「121.666」から「131.666」に変化したため、ダミー値の重心の値の変化量は「+10」である。そのため、第一の調整部310は、{user4〜6,10,13,15}のグループに属するダミーデータ(user10,13,15のデータ)所定のダミー値に「10」を加算する。
図26に示すように、第一の調整部310は、例えばuser10のダミー値を「125」から「135」に修正する。
図27は、ダミー値を調整した場合の分割の状態を示す図である。図28は、ダミー値を調整した場合の、ユーザデータの分布と分割の様子を示す図である。図28において、丸で囲ったデータが、ダミー値が調整されたデータである。
図29は、ダミー値を調整した場合のuser1〜user15のデータから最終的に生成される分類木の例を示す図である。第2実施形態に係る本発明によれば、図29に示される分類木が生成される。
図30は、ダミー値を調整したデータにより生成された分類木を用いた、user1〜user15の分類結果を示す図である。図30に示すように、図23の結果と比較して、ダミー値の調整を行うことで、分類結果が「不明」であったuser4のデータを正しく分類することが可能な分類木を生成することができる。当該分類木は、図5、図12、図22に示す分類木と比較して、最も精度の良い分類木である。
以上説明したように、第2実施形態に係るデータ分割装置300によれば、データの特徴を反映したより精度の良いデータの分割が可能となる。その理由は、例えばデータの分布に相関関係があるとか、一定の範囲にデータが固まっている等の特徴がある場合に、第一の調整部310が、その特徴が強調されるように修正後のデータを調整するからである。
<第3実施形態>
次に本発明の第3実施形態について説明する。本発明の第3実施形態は、第一のデータ分割装置400及び第二のデータ分割装置500を用いて分散匿名化を行う分散匿名化システムである。
分散匿名化とは、分散して保持されている情報を結合する際における、個人の特定や属性の推定を防ぐための匿名化の技術である。分散匿名化技術は、例えば、非特許文献2に記載されている。
非特許文献2の技術は、2つの事業者の間でデータを結合する際に、まず2つの事業者がそれぞれ保持する個人情報を抽象化して初期匿名データを生成する。非特許文献2の技術は、抽象化された個人情報を、匿名性を満たすことを確認しながら徐々に具体化していく。
個人情報の具体化のために、個人情報の分割点を決定し、データを分割する。非特許文献2に記載の技術は、分割の際に、k−匿名性(k−anonymity)とl−多様性(l−diversity)という二つの指標が満たされるか否かを、センシティブ情報を保持している事業者で確認する。
ここでセンシティブ情報とは、結合後のデータの情報処理に用いるため、変更したくない情報のことを言う。
k−匿名性(k−anonymity)とは、準識別子の組み合わせが同じユーザをk人以上にすることを要求する指標である。l−多様性(l−diversity)とは、準識別子の組み合わせが同じユーザのセンシティブ情報をl通り以上にすることを要求する指標である。二つの指標を満たしているデータを利用者に提供することで、非特許文献1の技術により、提供するデータからの個人の特定を防ぐことができ、個人のセンシティブ情報が知られることを防ぐことができる。
以降の本実施形態の説明では、個人情報のデータが2−匿名性を満たすことを要求する。
図31は、第3実施形態に係る第一のデータ分割装置400の構成を示すブロック図である。図31に示すように、第一のデータ分割装置400は、第1実施形態における第一のデータ分割装置100と比較して、第一の判定部410を含む点で異なる。第一の判定部410以外の構成部については第1実施形態と同様の構成であるため、同様の番号を付し、説明を省略する。
第一の判定部410は、自装置(第一のデータ分割装置400)と、他装置(第二のデータ分割装置500)とのいずれにも存在するユーザ識別子の割合が、予め定められた匿名指標を満たすか否かを第一の分割部140による分割後のグループ毎に判定する。
図32は、第3実施形態に係る第二のデータ分割装置500の構成を示すブロック図である。図32に示すように、第二のデータ分割装置200の構成は、第一のデータ分割装置400と同様でも良い。
図33は、第3実施形態における第一のデータ分割装置400の動作を示すフローチャート図である。図33に示すように、第一のデータ分割装置400の動作は、図16に示す第一のデータ分割装置100の動作と比較して、第一の判定部410が分割後のグループが所定の匿名指標を満たすか否かを判定するステップS18を有する点で異なる。また、第一のデータ分割装置400の動作は、ステップS12を有さず、代わりにステップS17を有する。図16における動作と同様の動作には同様の符合を付し、説明を省略する。
次に、図34〜図43を参照して、図33の各ステップを、具体的に例を用いて説明する。前提として、第一のデータ分割装置400は事業者Sが有するものとする。また、第二のデータ分割装置500は事業者Tが有するものとする。
また、事業者Sは、「腹囲」と「Class」に関する個人情報(図1に示すデータ)を保持しているとする。事業者Tは、「血圧」と「病気」に関する個人情報を保持しているとする。
図34は、第3実施形態において事業者Tが保持しているデータの例を示す図である。
各事業者が保持する個人情報は、識別子管理事業者が管理する共通の識別子で対応している。また、以降の例では「腹囲」を第一の個人情報とし、「血圧」を第二の個人情報とし、「病気」をセンシティブ情報とする。
図33のステップS11において、第一のデータ分割装置400及び第二のデータ分割装置500は、互いに、互いが保持するユーザの識別子を取得する。
図35は、user7〜user15のデータをリサンプリングにより決定したデータを示す図である。より具体的に説明すると、図33のステップS17において、事業者T(第二のデータ分割装置500)における第二の設定部230は、受信した図1に示すデータと、図34に示すデータとを照らし合わせた結果、図35に示すようにuser7〜user15のデータに対し、リサンプリングの手法により第二の個人情報にダミー値を設定し、センシティブ情報を適当に設定する。
また、ステップS17において、第一の設定部130及び第二の設定部230は、初期匿名データを生成する。例えば、第一の設定部130は、図1のデータから図36に示す初期匿名データを生成する。また、第二の操作部240は、事業者Tが保持する図34のデータから図37に示す初期匿名データを生成する。
図36及び図37に示すように、初期匿名データは、userID、準識別子(血圧、腹囲、及び、classに関する情報)及びセンシティブ情報(病気に関する情報)を含む。
図33のステップS13において、第1実施形態と同様に、第一の分割部140及び第二の分割部240は、「X=90」を、エントロピーの合計が最小となる点であると判定し、分割点に決定する。腹囲(X)に関する情報を保持している事業者Sは、「X=90」で分割した場合のグループの内容に関する情報を第一の送受信部110を介して事業者Tに送信する。具体的には、第一の分割部140は、データの分割情報({user1〜3,7〜9,11,12,14}、{user4〜6,10,13,15}という2つのグループにデータを分割することを示す情報)を事業者Tの第二の送受信部210に送信する。
図38は、図36のデータを「X=90」で分割したユーザデータを表す図である。図39は、図37のユーザデータを「X=90」で分割したユーザデータを表す図である。
次に図33のステップS18において、第一の判定部410及び第二の判定部420は、第一の分割装置400(自装置)と、第二の分割装置500(他装置)とのいずれにも存在するユーザ識別子の割合が、予め定められた匿名指標を満たすか否かを第1の分割装置400第一の分割部140による分割後のグループ毎に判定する。
「ユーザ識別子」とは、自装置が記憶しているユーザの識別子を意味する。具体的には、事業者Sのユーザ識別子はuser1〜15である。事業者Tのユーザ識別子はuser1〜6である。
本実施形態において、予め定められた匿名指標は、2−匿名性である。図39の{user1〜3,7〜9,11,12,14}のグループ(一行目のグループ)は、ユーザ9名のうち6名がダミーなので3−匿名である。また、{user4〜6,10,13,15}のグループ(二行目のグループ)は、ユーザ6名のうち3名がダミーなので3−匿名である。従って、いずれのグループも2−匿名性を満たす。
なお、本例においては、センシティブ情報を保持しているのは事業者Tなので、匿名指標の確認は事業者Tが行えばよい。
また、本例においては、ダミーデータは事業者Tのユーザデータに含まれているので、指標を満たしていることの確認は難しくない。仮に事業者Sのデータにもダミーデータが含まれている場合には、第1の判定部410が、MPCを用いて事業者Sのデータ及び事業者Tのデータが共に匿名指標を満たしていることを確認しても良い。
事業者Tが保持するデータの匿名指標が保たれていることを確認すると、図33のステップS14において第二の修正部250は、第1実施形態と同様の手順でダミー値の修正を行う。
図40は、図35のデータに対し、ダミー値を修正したユーザデータを表す図である。第二の修正部250がダミー値を修正することで、次のステップにおいて適格な点で精度良くユーザデータを分割することが可能となる
次に、第一の分割部140及び第二の分割部240は、第1実施形態と同様の方法により、分割後にダミー値が修正されたユーザデータを、さらに分割可能か否かを判定する(ステップS15)。分割候補点が存在すると判定すると、第一の分割部140及び第二の分割部240は、MPCを用いて分割後のエントロピーの合計を計算して、第1実施形態と同様に「Y=130」を分割点に決定する。
再び図33のステップS13において、第一の分割部140及び第二の分割部240は、ユーザデータを分割する。図41は、図38のデータを「Y=130」で分割したデータを表す図である。図42は、図39のデータを「Y=130」で分割したユーザデータを表す図である。
図33のステップS18において、第二の判定部420は、図42のユーザデータについて匿名指標が保たれているかを確認する。第二の判定部420は、{user4,10}のグループ(二行目のグループ)は、ユーザ2名のうち1名がダミーなので1匿名であり、2匿名性を満たさないと判定する。
第二の判定部420が匿名指標を満たさないと判定すると、第一のデータ分割装置400及び第二のデータ分割装置500は、最後に行った分割をキャンセルする。第一のデータ分割装置400及び第二のデータ分割装置500は、キャンセルしたそれぞれのデータについて、MPCを用いて双方に存在する人数を計算し、結合匿名化データを生成する。
図43は、第3実施形態に係る本発明により生成された最終的な結合された匿名化データ(結合匿名化データ)を示す図である。
ここで、最終的に出力される図43に示すユーザデータを参照しても、事業者Sはどのユーザのデータが確実に事業者Tのデータに存在するかはわからない。また、事業者Tはどのユーザのデータが確実に事業者Sのデータに存在するかはわからない。
以上説明したように、第3実施形態に係る本願発明である分散匿名化システムによれば、他の事業者にユーザのデータの存在が漏洩する危険性なく、かつ一方の装置が保持する非共通データを有効に活用して、データ分割の精度良く分散匿名化処理を実行することができる。その理由は、本願発明の分散匿名化システムは、他の事業者に送信するデータの中に、実際には存在しないダミーのデータを含めて送信することで、分散匿名化処理の過程における、他の事業者へのユーザのデータの存在の漏洩が防止できるからである。また、分割の度でダミー値を修正することで、適切な分割点で分割が可能となるからである。
<第4実施形態>
次に図44を参照して、本発明の第4実施形態に係るデータ分割装置600の機能構成を説明する。
図44は、第4実施形態に係るデータ分割装置600の構成を示すブロック図である。図44に示すように、データ分割装置600は、送受信部610と、記憶部620と、設定部630と、分割部640と、修正部650とを含む。なお、これらは上述した第一の送受信部110、第一の記憶部120、第一の設定部130、第一の分割部140及び第一の修正部150と同様の構成である。
データ分割装置600は、第一の個人情報を記憶しており、第二の個人情報を記憶している他装置と、送受信部610を介して互いに通信を行いながらデータを分割する。
送受信部610は、他装置とデータを送受信する。
記憶部620は、複数のユーザの識別子と、第一の個人情報の値とを関連付けてユーザデータとして記憶する。
設定部630は、送受信手段610が受信した他装置が記憶しているデータであって、記憶部620が記憶していない識別子のデータに対し、ダミーデータとして第一の個人情報に第一のダミー値を設定する。
分割部640は、ダミーデータを含む所定のデータを、ダミー値を含む第一の個人情報の値又は第二の個人情報の値に基づいて決定された分割点によって、グループに分割する。
修正部650は、分割の度に、分割後のグループに属するデータのうちダミーデータ以外のデータの第一の個人情報の値に基づいて、ダミー値を修正する。
以上説明したように、第4実施形態に係るデータ分割装置600によれば、複数の装置によるデータの分散処理において、一方の装置が保持する非共通データを有効に活用することで、精度の良いデータの分割が可能となる。
以上、各実施形態を参照して本発明を説明したが、本発明は以上の実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で同業者が理解し得る様々な変更をすることができる。
なお、本発明に係る二以上の異なる事業者が保持するデータ分割装置は、それぞれ管理上分離された装置であれば良く、例えば、仮想的に分離された装置であっても良い。また、例えば、各事業者のデータ分割装置の記憶部が同一のデータベースで保持されており、異なる事業者が保持するデータであることが分かるような管理形態で保持されていても良い。
図45は、第1実施形態に係る第一のデータ分割装置100のハードウェア構成の一例を示すブロック図である。
図45に示すように、第一のデータ分割装置100を構成する各部は、CPU(Central Processing Unit)1と、ネットワーク接続用の通信IF2(通信インターフェース2)と、メモリ3と、プログラムを格納するハードディスク等の記憶装置4とを含む、コンピュータ装置によって実現される。ただし、第一のデータ分割装置100の構成は、図45に示すコンピュータ装置に限定されない。
例えば、第一の送受信部110は、通信IF2によって実現されても良い。
CPU1は、オペレーティングシステムを動作させて第一のデータ分割装置100を制御する。また、CPU1は、例えばドライブ装置などに装着された記録媒体からメモリ3にプログラムやデータを読み出し、これにしたがって各種の処理を実行する。
例えば第一の設定部130、第一の分割部140及び第一の修正部150は、CPU1及びプログラムによって実現されても良い。
記録装置4は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。
例えば、第一の記憶部120は記録装置4によって実現されても良い。
なお、これまでに説明した各実施形態において利用するブロック図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。これらの機能ブロックはハードウェア及びソフトウェアの任意の組み合わせによって実現される。また、第一のデータ分割装置100の構成部の実現手段は特に限定されない。すなわち、第一のデータ分割装置100は、物理的に結合した一つの装置により実現されても良いし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置により実現されても良い。
本発明のプログラムは、上記の各実施形態で説明した各動作を、コンピュータに実行させるプログラムであれば良い。
この出願は、2011年9月21日に出願された日本出願特願2011−205519を基礎とする優先権を主張し、その開示の全てをここに取り込む。First, in order to facilitate understanding of the embodiments of the present invention, the background of the present invention will be described.
As in the example described in the background art, it is assumed that the business operator S and the business operator T generate a classification tree from personal information held respectively. The personal information held by each business operator may correspond to a common identifier managed by the identifier management business operator.
The technique of Non-Patent Document 1 is used as a technique for generating a classification tree.
First, for example, the identifier management business operator notifies each business operator of the identifier of the user who is the target of classification tree generation. For example, it is assumed that the identifiers of user1 to user15 are notified to each business operator.
It is assumed that the business operator S holds the data shown in FIG. 1 regarding the user with the notified identifier. As shown in FIG. 1, the business operator S holds personal information (data of “abdominal girth (X)” and “Class”) regarding users with identifiers of user 1 to
It is assumed that the business operator T holds the data shown in FIG. 2 regarding the user with the notified identifier. As shown in FIG. 2, the business operator T holds personal information (“blood pressure (Y)” data) related to the users having the identifiers of user 1 to user 6.
In the technology described in Non-Patent Document 1, data of users 1 to 6 that are common users of the business operators S and T are targeted for classification tree generation processing, and data of user 7 to
FIG. 3 is a diagram illustrating a state where data held by the business operator S and the business operator T is divided into two at “Y = 130”. FIG. 4 is a diagram illustrating a state where the data distribution is divided by “Y = 130” when the abdominal circumference is the X axis and the blood pressure is the Y axis. As shown in FIGS. 3 and 4, the data of user1 to user8 is divided into a group of “user1 to 4” and a group of “user5, 6” with “Y = 130” as a division point.
FIG. 5 is a diagram illustrating an example of a classification tree that is finally generated from the data illustrated in FIGS. 1 and 2. In the case of the above-described example, the technique described in Non-Patent Document 1 determines that the above classification shown in FIGS. 3 and 4 is impossible, and generates the classification tree shown in FIG. According to the classification tree shown in FIG. 5, the data of user1 to user6 is correctly classified. Specifically, user1 to user4 are classified as “A”, that is, “non-metabolic”, and user5 and user6 are classified as “B”, that is, “metabolic”. However, since the data of user7 to user15 does not have the value of “blood pressure (Y)”, the data cannot be classified.
FIG. 6 is a diagram illustrating the classification results of user1 to user15 using the classification tree generated by the technique of Non-Patent Document 1. The “correct answer” in FIG. 6 is data indicating whether “A” or “B” is correctly classified when the classification tree shown in FIG. 5 is used for classification. “◯” indicates that the classification is correct. “Unknown” cannot be classified because the target data does not hold a value necessary for classification, or “A” and “B” are classified into a group in which “A” and “B” are mixed. “B” indicates that it is unknown.
The classification result shown in FIG. 6 cannot be said to be a highly accurate classification when viewed from the entire data of user1 to user15. Here, attention is focused on the data of user7 to user15 that were not used for generating the classification tree. The data of user 7 to
In generating the classification tree, it is conceivable to use a technique called “resampling” in order to use the data of user7 to user15. “Resampling” refers to a method of determining a sample value based on a specimen. In the above example, the values of user7 to user15 are determined based on the distribution of values of user1 to user6 that actually hold the value of “blood pressure (Y)”.
FIG. 7 is a diagram illustrating data in which values of user7 to user15 are determined by resampling with respect to data held by the operator T. The business operator T holds the values of “blood pressure (Y)” of the users 1 to 6 at a ratio of “110 units: 120 units: 130 units = 1: 1: 1”. Therefore, as shown in FIG. 7, the device of the business operator T resamples the values of “blood pressure (Y)” of the users 7 to 15 at a ratio of “110 units: 120 units: 130 units = 1: 1: 1”. And set a dummy value. In this example, 115 is assigned as 110 units, 125 is assigned as 120 units, and 135 is assigned as 130 units.
The technique described in Non-Patent Document 1 calculates the entropy using MPC for the data of user1 to user15 that have become common users of the business operator S and the business operator T by setting a dummy value. A point “X = 90” having the smallest entropy after division is determined as a division point.
FIG. 8 is a diagram illustrating a state in which the data of user1 to user15 is divided into two at “X = 90”. FIG. 9 is a diagram illustrating a state in which the distribution of data of users 1 to 15 including data for which dummy values are set is divided by “X = 90”. As shown in FIG. 8 and FIG. 9, the data of user 1 to
FIG. 10 is a diagram showing a state where the data shown in FIG. 8 is further divided by “Y = 120”. FIG. 11 is a diagram illustrating a state where the distribution of data including data for which dummy values are set is divided by “Y = 120”. As shown in FIG. 10 and FIG. 11, the technique described in Non-Patent Document 1 is divided by “Y = 120” in this example by entropy calculation using MPC. Judged to be appropriate as a dividing point.
FIG. 12 is a diagram illustrating an example of a classification tree that is finally generated from data of users 1 to 15 including data for which dummy values are set. When resampling is performed, according to the technique described in Non-Patent Document 1, the classification tree shown in FIG. 12 is generated.
FIG. 13 is a diagram illustrating a classification result of users 1 to 15 using a classification tree generated from data including data for which dummy values are set. As shown in FIG. 13, by performing resampling as compared with the result of FIG. 6, among the data of user7 to user15 whose classification result is “unknown”, user7 to 9,11,12,14 A classification tree capable of correctly classifying data can be generated. On the other hand, since the re-sampling value is randomly set although it follows the sample distribution, data that can be classified correctly such as users 4 to 6 may become “unknown”.
As described above, in the case of data division using common user data, it is not possible to generate an accurate classification tree. Even if dummy values are set at random by a resampling method, it cannot be said that a classification tree with high accuracy is necessarily generated. In other words, simply applying a resampling method to the technique of Non-Patent Document 1 cannot divide data with high accuracy.
According to the first embodiment of the present invention described below, the problems described so far are solved.
<First Embodiment>
First, the configuration of the data dividing apparatus according to the first embodiment of the present invention will be described with reference to FIGS.
FIG. 14 is a block diagram showing a configuration of the first
FIG. 15 is a block diagram illustrating a configuration of the second
In the present embodiment, two data dividing devices are described. However, the number of data dividing devices is not limited to two, and a system including a plurality of two or more devices may be used.
The first transmission /
In addition, the first transmission /
Alternatively, the first transmission /
Alternatively, the first
The identifier used in this embodiment may be a national ID, for example. Alternatively, the identifier may be OpenID described in
The
Further, “first personal information” refers to one piece of personal information stored in the first data dividing apparatus 100 (self apparatus). For example, when the
The
The
The
The
In addition to the above, the
In addition, when the dummy value is set also in the second data dividing device 200 (other device), the second data dividing device uses the value of the second personal information for determining the dividing point. The dummy value (second dummy value) set by (other device) is included.
The dividing method is not particularly limited. The
Further, the
For example, the entropy in the divided group may be calculated by the following formula.
Entropy = Σ {−1 × P (Class) × log (P (Class))}
Here, when “Class” is classified by “A” or “B”, P (Class) is as follows.
P (A) = “number of“ A ”in the group after the division” / “total number of“ A ”and“ B ”in the group after the division” ”
P (B) = “number of“ B ”s in group after division” / “total number of“ A ”and“ B ”in group after division” ”
In this case, the
Entropy = {− 1 × P (A) × log (P (A))} + {− 1 × P (B) × log (P (B))}
For example, the
The
A small value of S means that there is little data mixing (mixing of “A” and “B”) in the two groups.
Alternatively, the
As described above, the first
Therefore, the
Hereinafter, for convenience of explanation, it is assumed that the
The
Further, the
The
The
The first correcting
If it is determined that the data can be further divided, the
If it is determined that the data cannot be divided, the first
Next, the operation of the first
FIG. 16 is a flowchart showing the operation of the first
When the first transmission /
Next, the
Next, the
Next, the
If it is determined that there is a candidate for division, the process proceeds to step S13. In step S13, the
Next, with reference to FIGS. 17 to 22, each step of FIG. 16 will be specifically described with an example. As a premise, it is assumed that the first
Further, the following examples are based on the same situation as the above-described example. Specifically, it is assumed that the business operator S (first data division device 100) holds personal information (data shown in FIG. 1) regarding “abdominal circumference” and “Class”. It is assumed that the business operator T (second data division device 200) holds personal information (data shown in FIG. 2) regarding “blood pressure”. The personal information held by each business operator is associated with a common identifier managed by the identifier management business operator. In the following examples, “abdominal circumference” is the first personal information, and “blood pressure” is the second personal information.
In step S11 of FIG. 16, the first
In step S12 of FIG. 16, when the first transmission /
On the other hand, as a result of comparing the received identifiers of user1 to user15 and the information shown in FIG. 2, the
In step S13 of FIG. 16, the
The
When the dividing point is determined, in the first
The
In step S14 of FIG. 16, the
FIG. 17 is a diagram illustrating data obtained by correcting a dummy value with respect to the user data in FIG. The
First, consider the groups {user 1 to 3, 7 to 9, 11, 12, 14}. The user identifier data in the second
As illustrated in FIG. 17, the
Next, consider the group {user4-6,10,13,15}. The data of the user identifier in the second
As illustrated in FIG. 17, the
FIG. 18 is a diagram illustrating a division state when the dummy value is corrected. FIG. 19 is a diagram illustrating the distribution and division of user data when the dummy value is corrected. In FIG. 19, the data surrounded by a circle is data in which the dummy value is corrected.
After the correction of the dummy value, in step S15, the
FIG. 20 is a diagram illustrating a state where the group of {user4 to 6, 10, 13, 15} in the data illustrated in FIG. 18 is further divided by “Y = 130”. FIG. 21 is a diagram illustrating the distribution of user data with the dummy values corrected and the division by “Y = 130” of the groups {user4 to 6,10,13,15}. In FIG. 20, in the group of {user5, 6, 13, 15}, “A” and “B” are mixed, but since the number of “B” is clearly large, the group is a group of “B”. It is determined that.
FIG. 22 is a diagram illustrating an example of a classification tree that is finally generated from the data of user1 to user15 when the dummy value is corrected. According to the present invention, the classification tree shown in FIG. 22 is generated. The classification tree may be generated by collecting data division processes as information by a generation unit (not shown in FIGS. 14 and 25).
FIG. 23 is a diagram illustrating a classification result of user1 to user15 using a classification tree generated from user data whose dummy values are corrected. As shown in FIG. 23, the data of users 5 and 6 among the data of users 4 to 6 whose classification result is “unknown” is correctly classified by correcting the dummy value as compared with the result of FIG. 13. A classification tree that can be generated can be generated. The classification tree is the most accurate classification tree compared to the classification trees shown in FIGS.
As described above, according to the
Second Embodiment
Next, the functional configuration of the first
FIG. 24 is a block diagram illustrating a configuration of the first
The
FIG. 25 is a flowchart showing the operation of the first
After step S16, in step S15, the
26 and 27 are diagrams for explaining the function of the
FIG. 26 is a diagram illustrating data obtained by adjusting dummy values with respect to the data illustrated in FIG. 17 representing corrected data. The
First, consider the groups {user 1 to 3, 7 to 9, 11, 12, 14}. The dummy data belonging to the group is data of users 7 to 9, 11, 12, and 14.
In the user data before correction by the
In addition, in the data corrected by the
Since the value of the center of gravity has changed from “126.666” to “118.666” by the modification of the dummy value, the amount of change in the value of the center of gravity of the dummy value is “−8”. Therefore, the
As illustrated in FIG. 26, the
Similarly, consider the group {user4-6,10,13,15}. The dummy data belonging to the group is data of
In the data before correction by the
In addition, in the data corrected by the
Since the value of the center of gravity has changed from “121.666” to “131.666” due to the modification of the dummy value, the amount of change in the value of the center of gravity of the dummy value is “+10”. Therefore, the
As shown in FIG. 26, the
FIG. 27 is a diagram illustrating a division state when the dummy value is adjusted. FIG. 28 is a diagram showing the distribution and division of user data when the dummy value is adjusted. In FIG. 28, data surrounded by a circle is data in which the dummy value is adjusted.
FIG. 29 is a diagram illustrating an example of a classification tree that is finally generated from the data of user1 to user15 when the dummy value is adjusted. According to the present invention related to the second embodiment, the classification tree shown in FIG. 29 is generated.
FIG. 30 is a diagram illustrating a classification result of user1 to user15 using a classification tree generated from data with adjusted dummy values. As shown in FIG. 30, a classification tree that can correctly classify the data of user4 whose classification result is “unknown” is generated by adjusting the dummy value as compared with the result of FIG. be able to. The classification tree is the most accurate classification tree as compared to the classification trees shown in FIGS.
As described above, according to the
<Third Embodiment>
Next, a third embodiment of the present invention will be described. The third embodiment of the present invention is a distributed anonymization system that performs distributed anonymization using the first
Distributed anonymization is an anonymization technique for preventing individual identification and attribute estimation when combining information held in a distributed manner. The distributed anonymization technique is described in
In the technique of
In order to materialize the personal information, the division point of the personal information is determined and the data is divided. The technology described in
Here, the sensitive information is information that is not to be changed because it is used for information processing of the combined data.
k-anonymity (k-anonymity) is an index that requires the number of users with the same combination of quasi-identifiers to be k or more. The l-diversity is an index that requires the number of pieces of sensitive information of the same user with the same combination of quasi-identifiers to be 1 or more. By providing users with data that satisfies the two indicators, it is possible to prevent the identification of individuals from the data provided by the technology of Non-Patent Document 1, and to prevent personal sensitive information from being known. Can do.
In the following description of the present embodiment, it is required that personal information data satisfy 2-anonymity.
FIG. 31 is a block diagram showing a configuration of the first
The
FIG. 32 is a block diagram illustrating a configuration of a second
FIG. 33 is a flowchart showing the operation of the first
Next, with reference to FIGS. 34 to 43, each step of FIG. 33 will be described using a specific example. As a premise, the business operator S has the first
Further, it is assumed that the business operator S holds personal information (data shown in FIG. 1) relating to “abdominal circumference” and “Class”. It is assumed that the business operator T holds personal information regarding “blood pressure” and “disease”.
FIG. 34 is a diagram illustrating an example of data held by the operator T in the third embodiment.
The personal information held by each business operator is associated with a common identifier managed by the identifier management business operator. In the following examples, “abdominal circumference” is the first personal information, “blood pressure” is the second personal information, and “disease” is the sensitive information.
In step S11 of FIG. 33, the first
FIG. 35 is a diagram illustrating data obtained by resampling data of user7 to user15. More specifically, in step S17 of FIG. 33, the
In step S17, the
As shown in FIGS. 36 and 37, the initial anonymous data includes a user ID, a quasi-identifier (information on blood pressure, waist circumference, and class), and sensitive information (information on disease).
In step S13 of FIG. 33, as in the first embodiment, the
FIG. 38 is a diagram illustrating user data obtained by dividing the data in FIG. 36 by “X = 90”. FIG. 39 is a diagram illustrating user data obtained by dividing the user data in FIG. 37 by “X = 90”.
Next, in step S18 of FIG. 33, the
“User identifier” means an identifier of a user stored in the device itself. Specifically, the user identifiers of the business operators S are users 1 to 15. User identifiers of the business operator T are users 1 to 6.
In the present embodiment, the predetermined anonymous index is 2-anonymity. The group of {users 1-3, 7-9, 11, 12, 14} in FIG. 39 (group in the first row) is 3-anonymous because 6 of the 9 users are dummy. Moreover, the group of {user4-6,10,13,15} (group of the 2nd line) is 3-anonymous because three of six users are dummy. Therefore, any group satisfies 2-anonymity.
In this example, since the business operator T holds sensitive information, the business operator T may confirm the anonymous index.
In this example, since the dummy data is included in the user data of the business operator T, it is not difficult to confirm that the index is satisfied. If dummy data is also included in the data of the operator S, the
If it is confirmed that the anonymous index of the data held by the operator T is maintained, the
FIG. 40 is a diagram showing user data obtained by correcting dummy values with respect to the data shown in FIG. By correcting the dummy value by the
Next, the
In step S13 in FIG. 33 again, the
In step S18 of FIG. 33, the
If the
FIG. 43 is a diagram showing final combined anonymized data (joined anonymized data) generated by the present invention according to the third embodiment.
Here, even if the user data shown in FIG. 43 that is finally output is referred to, the business operator S does not know which user's data surely exists in the data of the business operator T. Further, the business operator T does not know which user's data is surely present in the data of the business operator S.
As described above, according to the distributed anonymization system of the present invention according to the third embodiment, there is no risk that the existence of the user's data leaks to other operators, and the non-common that one device holds It is possible to execute the distributed anonymization process with high accuracy of data division by effectively utilizing the data. The reason for this is that the distributed anonymization system of the invention of the present application includes other dummy data that does not actually exist in the data to be transmitted to other operators, and so on in the process of distributed anonymization processing. This is because it is possible to prevent the leakage of the existence of the user data to the business operators. Moreover, it is because it becomes possible to divide at an appropriate division point by correcting the dummy value at each division.
<Fourth embodiment>
Next, with reference to FIG. 44, a functional configuration of a
FIG. 44 is a block diagram showing a configuration of a
The
The transmission /
The
The dividing
The
As described above, according to the
As mentioned above, although this invention was demonstrated with reference to each embodiment, this invention is not limited to the above embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
Note that the data dividing devices held by two or more different business operators according to the present invention may be devices that are separated from each other in terms of management, for example, may be devices that are virtually separated. Further, for example, the storage units of the data division apparatuses of the respective companies may be held in the same database, and may be held in a management form so that it is understood that the data is held by different companies.
FIG. 45 is a block diagram illustrating an example of a hardware configuration of the first
As shown in FIG. 45, each unit constituting the first
For example, the first transmission /
The CPU 1 controls the first
For example, the
The recording device 4 is, for example, an optical disk, a flexible disk, a magnetic optical disk, an external hard disk, a semiconductor memory, etc., and records a computer program so that it can be read by a computer. The computer program may be downloaded from an external computer (not shown) connected to the communication network.
For example, the
In addition, the block diagram utilized in each embodiment described so far has shown the block of a functional unit instead of the structure of a hardware unit. These functional blocks are realized by any combination of hardware and software. In addition, the means for realizing the components of the first
The program of the present invention may be a program that causes a computer to execute the operations described in the above embodiments.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2011-205519 for which it applied on September 21, 2011, and takes in those the indications of all here.
1 CPU
2 通信IF
3 メモリ
4 記憶装置
100、300、400 第一のデータ分割装置
110 第一の送受信部
120 第一の記憶部
130 第一の設定部
140 第一の分割部
150 第一の修正部
310 第一の調整部
410 第一の判定部
600 データ分割装置
610 送受信部
620 記憶部
630 設定部
640 分割部
650 修正部
200、500 第二のデータ分割装置
210 第二の送受信部
220 第二の記憶部
230 第二の設定部
240 第二の分割部
250 第二の修正部
420 第二の判定部1 CPU
2 Communication IF
3 Memory 4
Claims (9)
前記他装置のユーザ識別子を取得する送受信手段と、
前記自装置のユーザ識別子と当該識別子に関連付けられた前記第一の個人情報の値とを記憶する記憶手段と、
取得した前記他装置のユーザ識別子のうち、前記自装置のユーザ識別子と一致しない前記他装置のユーザ識別子に関連付けするダミーデータとして、前記第一の個人情報のダミー値を設定する設定手段と、
前記ダミーデータを含む所定のユーザデータを、前記ダミー値を含む前記第一の個人情報の値又は前記第二の個人情報の値に基づいて決定された分割点によって、グループに分割する分割手段と、
分割後のグループに属するユーザデータのうち、前記自装置と前記他装置のユーザ識別子が一致する前記第一の個人情報の値に基づいて、前記設定された第一の個人情報の前記ダミー値を修正する修正手段と、
を含むデータ分割装置。Data that divides user data including the first personal information of the own device, the user identifier assigned to the first personal information of the own device, and the user identifier assigned to the second personal information of the other device A splitting device,
Transmitting / receiving means for acquiring a user identifier of the other device;
Storage means for storing the user identifier of the device and the value of the first personal information associated with the identifier;
Setting means for setting a dummy value of the first personal information as dummy data associated with the user identifier of the other device that does not match the user identifier of the own device among the acquired user identifiers of the other device;
Division means for dividing predetermined user data including the dummy data into groups by division points determined based on the value of the first personal information or the value of the second personal information including the dummy value; ,
Based on the value of the first personal information in which the user identifiers of the own device and the other device match among the user data belonging to the group after the division, the dummy value of the set first personal information is determined. Correction means to correct;
A data dividing device including:
請求項1に記載のデータ分割装置。When the predetermined user data is divided at division candidate points determined by a predetermined rule, the dividing unit determines a point at which entropy is minimum or a point approximate to the minimum as the division point, and the predetermined user data Split into groups,
The data dividing device according to claim 1.
請求項1又は2に記載のデータ分割装置。The correction means includes a dummy value in the group after the division according to a distribution of values of the first personal information in which user identifiers of the own device and the other device match among user data belonging to the group after the division. Correct the value of
The data dividing device according to claim 1 or 2.
をさらに含む請求項1〜3のいずれか一項に記載のデータ分割装置。An adjusting means for adjusting the dummy value based on the amount of change between the dummy value before the correction and the dummy value after the correction after the correction of the dummy value by the correction means;
The data dividing device according to any one of claims 1 to 3, further comprising:
請求項4に記載のデータ分割装置。The amount of change is a difference between an average value of a predetermined dummy value before correction belonging to the group and an average value of the predetermined dummy value after correction.
The data dividing device according to claim 4.
をさらに含む請求項1〜4のいずれか一項に記載のデータ分割装置。A determination unit that determines, for each group after division by the division unit, whether or not the ratio of user identifiers existing in both the own device and the other device satisfies a predetermined anonymous index;
The data dividing device according to any one of claims 1 to 4, further comprising:
前記第一のデータ分割装置は、
前記第二のデータ分割装置のユーザ識別子を取得する第一の送受信手段と、
前記第一のデータ分割装置のユーザ識別子と当該識別子に関連付けられた前記第一の個人情報の値とを記憶する第一の記憶手段と、
取得した前記第二のデータ分割装置のユーザ識別子のうち、前記第一のデータ分割装置のユーザ識別子と一致しない前記第二のデータ分割装置のユーザ識別子に関連付けするダミーデータとして、前記第一の個人情報の第一のダミー値を設定する第一の設定手段と、
前記ダミーデータを含む所定のユーザデータを、前記第一のダミー値を含む前記第一の個人情報の値又は前記第二のデータ分割装置が設定した第二のダミー値を含む第二の個人情報の値に基づいて決定された分割点によって、グループに分割する第一の分割手段と、
分割後のグループに属するユーザデータのうち、前記第一のデータ分割装置と前記第二のデータ分割装置のユーザ識別子が一致する前記第一の個人情報の値に基づいて、設定された前記第一のダミー値を修正する修正手段と、
前記第二のデータ分割装置は、
前記第一のデータ分割装置のユーザ識別子を取得する第二の送受信手段と、
前記第二のデータ分割装置のユーザ識別子と当該識別子に関連付けられた前記第二の個人情報の値とを記憶する第二の記憶手段と、
取得した前記第一のデータ分割装置のユーザ識別子のうち、前記第二のデータ分割装置のユーザ識別子と一致しない前記第一のデータ分割装置のユーザ識別子に関連付けするダミーデータとして、前記第二の個人情報の第二のダミー値を設定する第二の設定手段と、
前記ダミーデータを含む所定のユーザデータを、前記第二のダミー値を含む前記第二の個人情報の値又は前記第一のダミー値を含む第一の個人情報の値に基づいて決定された分割点によって、グループに分割する第二の分割手段と、
分割後のグループに属するユーザデータのうち、前記第二のデータ分割装置と前記第一のデータ分割装置のユーザ識別子が一致する前記第二の個人情報の値に基づいて、設定された前記第二のダミー値を修正する修正手段と、
を含むデータ分割システム。First personal information of the first data dividing device, user identifier assigned to the first personal information of the first data dividing device, and assigned to second personal information of the second data dividing device A data dividing system for dividing user data including a given user identifier,
The first data dividing device includes:
First transmitting / receiving means for obtaining a user identifier of the second data dividing device;
First storage means for storing a user identifier of the first data dividing device and a value of the first personal information associated with the identifier;
Among the acquired user identifiers of the second data dividing device, as the dummy data associated with the user identifier of the second data dividing device that does not match the user identifier of the first data dividing device, the first individual A first setting means for setting a first dummy value of information;
Second user information including predetermined user data including the dummy data, a value of the first personal information including the first dummy value, or a second dummy value set by the second data dividing device. A first dividing means for dividing into groups by dividing points determined based on the values of
Of the user data belonging to the group after the division, the first data set based on the value of the first personal information in which the user identifiers of the first data division device and the second data division device match A correction means for correcting the dummy value of
The second data dividing device includes:
Second transmitting / receiving means for obtaining a user identifier of the first data dividing device;
Second storage means for storing a user identifier of the second data dividing device and a value of the second personal information associated with the identifier;
Among the acquired user identifiers of the first data division device, the second individual as dummy data associated with the user identifier of the first data division device that does not match the user identifier of the second data division device A second setting means for setting a second dummy value of information;
Division of predetermined user data including the dummy data determined based on the value of the second personal information including the second dummy value or the value of the first personal information including the first dummy value A second dividing means for dividing into groups by points;
Of the user data belonging to the group after the division, the second data set based on the value of the second personal information in which the user identifiers of the second data division device and the first data division device match. A correction means for correcting the dummy value of
Data partitioning system including
前記他装置のユーザ識別子を取得し、
前記自装置のユーザ識別子と当該識別子に関連付けられた前記第一の個人情報の値とを記憶し、
取得した前記他装置のユーザ識別子のうち、前記自装置のユーザ識別子と一致しない前記他装置のユーザ識別子に関連付けするダミーデータとして、前記第一の個人情報のダミー値を設定し、
前記ダミーデータを含む所定のユーザデータを、前記ダミー値を含む前記第一の個人情報の値又は前記第二の個人情報の値に基づいて決定された分割点によって、グループに分割し、
分割後のグループに属するユーザデータのうち、前記自装置と前記他装置のユーザ識別子が一致する前記第一の個人情報の値に基づいて、前記設定された第一の個人情報の前記ダミー値を修正する、
データ分割方法。Data that divides user data including the first personal information of the own device, the user identifier assigned to the first personal information of the own device, and the user identifier assigned to the second personal information of the other device A division method,
Obtaining a user identifier of the other device;
Storing the user identifier of the device and the value of the first personal information associated with the identifier;
Among the acquired user identifiers of the other devices, set dummy values of the first personal information as dummy data associated with the user identifiers of the other devices that do not match the user identifier of the own device,
The predetermined user data including the dummy data is divided into groups by a division point determined based on the value of the first personal information or the second personal information including the dummy value,
Based on the value of the first personal information in which the user identifiers of the own device and the other device match among the user data belonging to the group after the division, the dummy value of the set first personal information is determined. To fix,
Data partitioning method.
前記他装置のユーザ識別子を取得し、
前記自装置のユーザ識別子と当該識別子に関連付けられた前記第一の個人情報の値とを記憶し、
取得した前記他装置のユーザ識別子のうち、前記自装置のユーザ識別子と一致しない前記他装置のユーザ識別子に関連付けするダミーデータとして、前記第一の個人情報のダミー値を設定し、
前記ダミーデータを含む所定のユーザデータを、前記ダミー値を含む前記第一の個人情報の値又は前記第二の個人情報の値に基づいて決定された分割点によって、グループに分割し、
分割後のグループに属するユーザデータのうち、前記自装置と前記他装置のユーザ識別子が一致する前記第一の個人情報の値に基づいて、前記設定された第一の個人情報の前記ダミー値を修正する、
処理をコンピュータに実行させるプログラム。Data that divides user data including the first personal information of the own device, the user identifier assigned to the first personal information of the own device, and the user identifier assigned to the second personal information of the other device A program for realizing a dividing device,
Obtaining a user identifier of the other device;
Storing the user identifier of the device and the value of the first personal information associated with the identifier;
Among the acquired user identifiers of the other devices, set dummy values of the first personal information as dummy data associated with the user identifiers of the other devices that do not match the user identifier of the own device,
The predetermined user data including the dummy data is divided into groups by a division point determined based on the value of the first personal information or the second personal information including the dummy value,
Based on the value of the first personal information in which the user identifiers of the own device and the other device match among the user data belonging to the group after the division, the dummy value of the set first personal information is determined. To fix,
A program that causes a computer to execute processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013534778A JP6015661B2 (en) | 2011-09-21 | 2012-09-14 | Data division apparatus, data division system, data division method, and program |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011205519 | 2011-09-21 | ||
JP2011205519 | 2011-09-21 | ||
JP2013534778A JP6015661B2 (en) | 2011-09-21 | 2012-09-14 | Data division apparatus, data division system, data division method, and program |
PCT/JP2012/074311 WO2013042788A1 (en) | 2011-09-21 | 2012-09-14 | Data partitioning apparatus, data partitioning system, data partitioning method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013042788A1 JPWO2013042788A1 (en) | 2015-03-26 |
JP6015661B2 true JP6015661B2 (en) | 2016-10-26 |
Family
ID=47914546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013534778A Active JP6015661B2 (en) | 2011-09-21 | 2012-09-14 | Data division apparatus, data division system, data division method, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6015661B2 (en) |
WO (1) | WO2013042788A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015162748A1 (en) * | 2014-04-24 | 2015-10-29 | 株式会社日立製作所 | Data conversion device and data conversion method |
US20200342331A1 (en) * | 2018-01-15 | 2020-10-29 | Nec Corporation | Classification tree generation method, classification tree generation device, and classification tree generation program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216307A (en) * | 2000-01-31 | 2001-08-10 | Teijin Ltd | Relational database management system and storage medium stored with same |
JP2004086782A (en) * | 2002-08-29 | 2004-03-18 | Hitachi Ltd | Apparatus for supporting integration of heterogeneous database |
JP2005011049A (en) * | 2003-06-19 | 2005-01-13 | Nec Soft Ltd | Database integration device |
-
2012
- 2012-09-14 JP JP2013534778A patent/JP6015661B2/en active Active
- 2012-09-14 WO PCT/JP2012/074311 patent/WO2013042788A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JPWO2013042788A1 (en) | 2015-03-26 |
WO2013042788A1 (en) | 2013-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6065833B2 (en) | Distributed anonymization system, distributed anonymization device, and distributed anonymization method | |
Daubert et al. | A view on privacy & trust in IoT | |
US20170337641A1 (en) | Determining connectivity within a community | |
US10341103B2 (en) | Data analytics on encrypted data elements | |
AU2018361246A1 (en) | Data protection via aggregation-based obfuscation | |
US20170208041A1 (en) | Systems and methods for enabling data de-identification and anonymous data linkage | |
US20160246981A1 (en) | Data secrecy statistical processing system, server device for presenting statistical processing result, data input device, and program and method therefor | |
US11916920B2 (en) | Account access security using a distributed ledger and/or a distributed file system | |
US10176340B2 (en) | Abstracted graphs from social relationship graph | |
CN110086817B (en) | Reliable user service system and method | |
US11775656B2 (en) | Secure multi-party information retrieval | |
KR20200053613A (en) | Data statistics method and device | |
US10783277B2 (en) | Blockchain-type data storage | |
US10791122B2 (en) | Blockchain user account data | |
CN105991596B (en) | Access control method and system | |
CN106796534A (en) | The service quality provided by application is provided based on mandatory system support | |
US10783054B2 (en) | Method, apparatus, and device for storing operation record based on trusted execution environment | |
JP2014211607A (en) | Apparatus and method for information processing | |
JP6015661B2 (en) | Data division apparatus, data division system, data division method, and program | |
CN112860790B (en) | Data management method, system and device | |
US20220407706A1 (en) | Generation device, generation method, and verification device | |
WO2013121738A1 (en) | Distributed anonymization device, and distributed anonymization method | |
JP2014011503A (en) | Ciphering device, ciphering program and ciphering method | |
JP2020003989A (en) | Personal information analysis system and personal information analysis method | |
JP5895080B2 (en) | Data confidential statistical processing system, statistical processing result providing server device and data input device, and program and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150824 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160912 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6015661 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |