WO2020149141A1 - データ処理装置、データ処理方法、データ処理プログラム、端末装置およびデータ処理システム - Google Patents

データ処理装置、データ処理方法、データ処理プログラム、端末装置およびデータ処理システム Download PDF

Info

Publication number
WO2020149141A1
WO2020149141A1 PCT/JP2019/051210 JP2019051210W WO2020149141A1 WO 2020149141 A1 WO2020149141 A1 WO 2020149141A1 JP 2019051210 W JP2019051210 W JP 2019051210W WO 2020149141 A1 WO2020149141 A1 WO 2020149141A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
noise
data processing
unit
dictionary
Prior art date
Application number
PCT/JP2019/051210
Other languages
English (en)
French (fr)
Inventor
哲士 梅田
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to US17/297,211 priority Critical patent/US11934562B2/en
Priority to EP19910906.7A priority patent/EP3913514A4/en
Priority to CN201980088304.9A priority patent/CN113287107A/zh
Publication of WO2020149141A1 publication Critical patent/WO2020149141A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]

Definitions

  • the present technology relates to a data processing device, a data processing method, a data processing program, a terminal device, and a data processing system.
  • -Differential privacy is a technology that makes it possible to use the data itself while adding noise to the collected data to prevent the user who is the subject of the data from being identified. It is possible to give more than a certain degree of statistical confidence to the hypothesis that "certain data belongs to a specific user". Since it is mathematically safe even against attacks by arbitrary background knowledge, it has a feature that the influence on privacy can be quantitatively evaluated. By using the differential privacy, it is possible to prevent the privacy invasion of the user even when the data is collected without the consent of the user.
  • Differential privacy includes output-type differential privacy and local-type differential privacy.
  • Output type differential privacy collects raw data from the device and manages it with a database built on the cloud.
  • a data user accesses the database and uses the data, the privacy of the user is protected by adding noise to the data and disclosing it.
  • the cloud service provider manages the raw data, there are concerns about the user's psychological barrier to collecting the raw data and the business risk of the provider when the raw data is leaked.
  • Local differential privacy is a method of adding noise with the device at the user's hand and collecting anonymized data in the cloud.
  • data it is possible to obtain statistical values with noise removed from the cloud. Since the data is collected in an anonymized state, the psychological barrier of the user is low, and the business risk of the business operator when it is leaked is small.
  • the present technology has been made in view of the above circumstances, and in the use of differential privacy that adds noise to data, a data processing device that can reduce the error in the statistical result of data with noise and improve the accuracy.
  • a data processing method, a data processing program, a terminal device, and a data processing system are used to reduce the error in the statistical result of data with noise and improve the accuracy.
  • the first technique is to form a data set with a noise removal unit that removes noise from noise-added data received from a terminal device, and classifies the data.
  • the data processing device includes a measurement unit that measures each data type, and a data set update unit that updates a data set based on a measurement result of the measurement unit.
  • the second technique removes noise from noise-added data received from a terminal device, measures the data for each data type that constitutes a data set and indicates the classification of the data, and outputs the measurement result.
  • a third technique is to remove noise from data to which noise is added, which is received from a terminal device, forms the data set, measures the data for each data type indicating the classification of the data, and based on the measurement result. And a data processing program for causing a computer to execute a data processing method for updating a data set.
  • the fourth technique associates data with the data type based on the information transmitted from the data processing apparatus and indicating the data set including the data type to which the data belongs, adds noise to the data, and adds the data to the data. It is a terminal device that transmits to the processing device.
  • the fifth technique associates data with the data type based on the information transmitted from the data processing device and indicating the data set including the data type to which the data belongs, adds noise to the data, and adds the data to the data.
  • a terminal device that transmits to the processing device, a noise removal unit that removes noise from the noise-added data received from the terminal device, and the data is measured for each data type that constitutes a data set and indicates the classification of the data.
  • the data processing system includes: a measurement unit that performs the measurement; and a data processing device that includes a data set update unit that updates the data set based on a measurement result of the measurement unit.
  • FIG. 3A to 3E are a group of graphs showing the relationship between the data distribution and the error
  • FIG. 3F is a graph showing the relative error of the data distribution. It is a graph which shows the distribution of data and the relationship of a privacy index. It is a graph which shows the relationship between a coefficient of variation and relative error. It is explanatory drawing of the dictionary update by the combination of data types.
  • FIG. 3 is a block diagram showing the configuration of the terminal device 100.
  • FIG. 3 is a block diagram showing a configuration of a data processing unit 200.
  • FIG. 3 is a block diagram showing a configuration of a server device 300.
  • FIG. 3 is a block diagram showing the configuration of a data processing unit 400.
  • FIG. 6 is a flowchart showing a process in the terminal device 100. 6 is a flowchart showing processing in the server device 300. It is a flowchart which shows the update process of a dictionary. It is an explanatory view of connection of a regional mesh. It is an explanatory view of division of a regional mesh.
  • differential privacy is a technique that allows the data itself to be used while adding noise to the collected data to prevent the user or the like who is the subject of the data from being specified.
  • local differential privacy in which noise is added by a device at hand of a user (corresponding to the terminal device 100 of the embodiment) and anonymized data is collected at a cloud (corresponding to the server device 300 of the embodiment). To use.
  • the local differential privacy generator encodes data in a device to generate a bit string v 1, and generates noise-added data v 1 ′ according to a random variable in the bit string v 1.
  • Noise addition technology, aggregation technology that collects noise-added data, noise removal technology that removes noise from aggregated data (the aggregation technology and noise removal technology are often executed at the same time, and they are collectively called decoding technology It also consists of data analysis technology that performs visualization processing according to the analysis use case.
  • sample size "sample size”, “dictionary size”, and “privacy index” are used as the main parameters.
  • sample size indicates the total number of data collected in the cloud.
  • the sample size can be defined as “the number of users having a device ⁇ the number of data transmitted from the device to the cloud”.
  • the dictionary size indicates the total number of data types included in the dictionary.
  • the dictionary is a set of data in which data is classified for each data type that indicates the classification of data, and corresponds to the data set in the claims.
  • the privacy index indicates the degree of privacy protection in differential privacy. The smaller the value of the privacy index, the higher the degree of privacy protection, and the larger the amount of noise added to the data. On the other hand, as the value of the privacy index increases, the degree of privacy protection decreases, and the amount of noise added to the data decreases.
  • FIG. 2 is a set of graphs showing the relationship between sample size, dictionary size, and error when the privacy index has a predetermined value.
  • the error is the difference between the measured value of data without noise (hereinafter referred to as the correct value) and the measured value of data with noise added due to differential privacy (referred to as the measured value with noise). ..
  • the right side shows the measured value (correct value) of the data without noise
  • the left side is the measured value of the data with noise added by differential privacy. (Measured value with noise) is shown.
  • the vertical graphs A, F, and K have a sample size of 10,000. Further, the graphs B, G, and L arranged vertically have a sample size of 100,000. Further, the graphs C, H, and M arranged vertically have a sample size of 1 million. The vertical graphs D, I, and N have a sample size of 10 million. Further, graphs E, J, and P arranged vertically have a sample size of 100 million. It should be noted that all graphs have the same privacy index.
  • the value shown in the upper right of each graph is the error between the correct value and the measured value with noise in that graph.
  • FIGS. 3A to 3E are a group of graphs showing the relationship between the data distribution and the error between the correct value and the measurement value with noise
  • FIG. 3F is a graph showing the relative error in each distribution.
  • the graphs of FIGS. 3A to 3E have the same sample size, the same dictionary size, and the same privacy index. As can be seen from FIG. 3F, even if the sample size, the dictionary size, and the privacy index are the same, the relative error differs depending on the data distribution.
  • FIG. 4 is a graph showing the relationship between each type of data distribution shown in FIGS. 3A to 3E and the value of the privacy index. As can be seen from FIG. 4, even if the distributions are different, if the privacy index is reduced, the amount of noise added to the data increases and the error also increases. On the other hand, when the privacy index is increased, the amount of noise added to the data is reduced and the error is reduced.
  • sample size, dictionary size, and privacy index have the following trade-off relationships.
  • the dictionary size is small, the error will be small even if the sample size is small.
  • the dictionary size is large, the error becomes large even if the sample size is large.
  • the error increases when the privacy index is decreased, and the error decreases when the privacy index is increased. Therefore, it is necessary to increase the sample size in order to increase the privacy strength and the reliability.
  • the error which is the difference between the statistical value of the correct value and the measured value with noise
  • the evaluation index is used as the evaluation index. Therefore, when the sample size is the same and the dictionary size is the same, even if the noise amount is increased and the subtlety is enhanced, it is good local differential privacy that the error does not change. Further, in the case where the dictionary size is the same and the privacy index is the same, it is good local-type differential privacy that the error does not change even if the sample size is reduced. This is because generally, in order to increase the sample size, many measurement values (data) must be obtained, which is costly.
  • the reliability is defined as an index of the effectiveness of the differential privacy.
  • the coefficient of variation is used as the reliability in order to compare different data types.
  • the coefficient of variation is an index for relatively evaluating the relationship between the measured value (data) and the variation with respect to the average value, and can be obtained from the following formula 1.
  • FIG. 5 is a graph showing the relationship between the coefficient of variation and the relative error, with the vertical axis representing the coefficient of variation and the relative error of the relative error, and the horizontal axis representing the data type (serial number starting from 1).
  • the coefficient of variation calculated from the measured value with noise has a correlation with the relative error. Therefore, the coefficient of variation can be used as an index of the effectiveness of differential privacy. Therefore, the coefficient of variation is used as the reliability and used as an index of the effectiveness of differential privacy. Since the coefficient of variation is low and the error is small, the reliability is high. On the other hand, the reliability is low because there are many errors with high coefficient of variation.
  • this technology optimizes the dictionary size by updating the dictionary size according to the distribution of the data while collecting the data. Specifically, the reliability is calculated for each data type forming a dictionary that is a data set, and the data size is combined or divided according to the reliability to update the dictionary size. The local differential privacy is performed using the dictionary whose dictionary size is updated, the reliability is evaluated again, and the dictionary size is updated. In this way, the combination/division of data types is repeated according to the reliability. Data types with high reliability are divided, and data types with low reliability are combined.
  • the dictionary sizes are reduced by combining the data types v1 and v2, v3 and v4, v5 and v6 shown in FIG. 6A into the data types d1, d2, and d3 as shown in FIG. 6B. ing. Further, by combining the data types v15 to v30 to form the data type d14 as shown in FIG. 6B, the dictionary size is reduced.
  • the data types v1 and v2 are measured as different data types before the dictionary is updated, but in the new data type d1 in which v1 and v2 are combined, the data measured as the data of v1 and v2 is the data type. It will be measured as the data of d1.
  • the dictionary size increases, so the number of data included in each data type decreases, so the error between the correct value and the measured value with noise increases.
  • the number of data types is small and the dictionary size is small, the number of data included in each data type is large, the error between the correct value and the measured value with noise is small, and the accuracy is high. It can be said that the accuracy of the statistical results increases as the measured value with noise added approaches the correct value by updating the dictionary and collecting data based on the dictionary.
  • the dictionary size when the dictionary size is small, the error is small even if the sample size is small, and the accuracy of the differential privacy is high. It is preferable to combine them to reduce the dictionary size.
  • Embodiment> [2-1. Configuration of Data Processing System 10] Next, the configuration of the data processing system 10 using the above-mentioned differential privacy will be described. In this embodiment, the present technology will be described by using an example of using differential privacy in collecting data using a regional mesh.
  • the terminal device 100 the positional information is acquired from a smartphone of a specific type made by a specific manufacturer, so that the distribution of users in the terminal device 100 in Japan is grasped.
  • the data processing system 10 is composed of a server device 300 and a plurality of terminal devices 100.
  • the server device 300 and the plurality of terminal devices 100 are connected via a network 1000 such as the Internet.
  • a network 1000 such as the Internet.
  • seven terminal devices 100 are described for convenience of explanation and drawings, there are more terminal devices 100 connected to the server device 300.
  • the server device 300 is a device that is operated by, for example, a manufacturer that manufactures the terminal device 100, and collects data from the terminal device 100 by using differential privacy according to the present technology to obtain statistical results.
  • the server device 300 corresponds to the cloud in the above description of differential privacy.
  • the terminal device 100 is a specific type of smartphone manufactured by a specific manufacturer.
  • the terminal device 100 transmits a log including its own position information to the server device 300 periodically or at a predetermined timing.
  • the regional mesh used to grasp the distribution of the users who are using the specific terminal device 100 will be described.
  • the regional mesh is a region divided into meshes of approximately the same size based on the latitude/longitude for use in statistics.
  • a code for identifying each mesh is a regional mesh code.
  • the primary mesh is one unit division of one leaf in the 1:200,000 terrain map.
  • the latitude difference is 40 minutes, the longitude difference is 1 degree, and the side length is about 80 km.
  • the secondary mesh is an area formed by dividing the secondary mesh into eight equal parts in the latitudinal direction and the meridian direction, and corresponds to a section of one leaf in the 1/25,000 topographic map.
  • the latitude difference is 5 minutes, the longitude difference is 7 minutes 30 seconds, and the length of one side is about 10 km.
  • the tertiary mesh is an area formed by dividing the secondary mesh into ten equal parts in the parallel direction and the meridian direction.
  • the latitude difference is 30 seconds, the longitude difference is 45 seconds, and the length of one side is about 1 km.
  • the number of regional meshes is the data type that constitutes the dictionary, and the number of data types is the dictionary size.
  • the primary mesh can cover the whole of Japan with 176 meshes, when only the primary mesh is used, the number of data types that make up the dictionary is 176 and the dictionary size is 176.
  • the primary mesh When covering the whole of Japan with the primary mesh, there are many wastes because it includes remote islands, depopulated areas, and mountainous areas in the mesh.
  • the secondary mesh can cover the whole area of Japan with 4862 meshes, when only the secondary mesh is used, the number of data types constituting the dictionary is 4862 and the dictionary size is 4862. Similar to the primary mesh, the secondary mesh is also wasteful because it includes remote islands, depopulated areas, and mountainous areas.
  • the tertiary mesh can cover the whole of Japan with 387286 meshes, if only the tertiary mesh is used, the number of data types that make up the dictionary will be 387286, and the dictionary size will be 387286.
  • FIG. 8 is a diagram showing a state in which the entire area of Japan is covered by using the primary mesh.
  • Each of the rectangles superimposed on the map of Japan is a primary mesh.
  • the population distribution of Japan becomes as shown in FIG.
  • the horizontal axis represents each primary mesh code
  • the vertical axis represents the population in each primary mesh.
  • the mesh size can be divided/combined according to the population distribution to optimize the dictionary size. For example, meshes with few people, such as mountainous areas with a population density of a predetermined number or less, can be combined because there is almost no effect on the statistical results even if they are combined.
  • the dictionary while collecting position information as data from the terminal device 100, the dictionary is updated and optimized according to the distribution of position information.
  • the reliability of each data type forming the dictionary is calculated, and the data sizes forming the dictionary are combined and divided according to the reliability to update the dictionary size.
  • local differential privacy is performed using the updated dictionary, and the reliability is evaluated again.
  • the dictionary is updated by combining and dividing the dictionary data types according to the reliability. By repeating this until the reliability reaches a constant state, it is possible to obtain accurate user distribution of the terminal device 100 while protecting personal information using differential privacy.
  • By combining the data types of the dictionaries to reduce the size of the dictionaries it is possible to reduce the error and increase the reliability.
  • the present technology is limited in some way by the specific number of meshes described above. Not a thing.
  • the terminal device 100 includes a control unit 101, a communication unit 102, a storage unit 103, a position information acquisition unit 104, a display unit 105, an input unit 106, and a data processing unit 200.
  • the data is position information indicating the current position of the terminal device 100.
  • the control unit 101 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like.
  • the ROM stores programs that are read and operated by the CPU.
  • the RAM is used as a work memory for the CPU.
  • the CPU controls the entire terminal device 100 by executing various processes in accordance with the programs stored in the ROM and issuing commands.
  • the communication unit 102 is a communication module that communicates with other devices and the Internet according to a predetermined communication standard.
  • Examples of communication methods include wireless LAN (Local Area Network) such as Wi-Fi (Wireless Fidelity), 4G (4th generation mobile communication system), broadband, Bluetooth (registered trademark), and the like.
  • the storage unit 103 is a storage medium including, for example, an HDD (Hard Disc Drive), a semiconductor memory, an SSD (solid state drive), and other content data such as image data, moving image data, audio data, and text data. It stores data such as applications, programs, and so on.
  • HDD Hard Disc Drive
  • SSD solid state drive
  • other content data such as image data, moving image data, audio data, and text data. It stores data such as applications, programs, and so on.
  • the position information acquisition unit 104 is a GPS (Global Positioning System) module for acquiring the position information of the terminal device 100.
  • GPS Global Positioning System
  • the display unit 105 is a display device for displaying contents such as images and videos, a user interface, and the like.
  • the display device includes, for example, an LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), an organic EL (Electro Luminescence) panel, and the like.
  • the input unit 106 is various input devices for a user to input an instruction to the terminal device 100.
  • the input unit 106 includes a button, a touch screen integrally formed with the display unit 105, and the like.
  • a control signal corresponding to the input is generated and output to the control unit 101 and the data processing unit 200.
  • the data processing unit 200 is a processing unit configured by the terminal device 100 executing a program.
  • the program may be installed in the terminal device 100, or may be downloaded, distributed by a storage medium or the like, and installed by the user. It should be noted that the data processing unit 200 may be realized not only by a program but also by combining a dedicated device, a circuit, or the like with hardware having the function.
  • the data processing unit 200 corresponds to the data processing device in the claims.
  • the data processing unit 200 includes a dictionary storage unit 201, a data conversion unit 202, an encoding unit 203, and a log generation unit 204.
  • the dictionary storage unit 201 is a storage unit that stores the dictionary transmitted from the server device 300.
  • the dictionary to be stored is first the initial dictionary generated by the dictionary generation unit 401 of the server device 300, and then becomes the dictionary updated by the dictionary update unit 408 of the server device 300.
  • the data conversion unit 202 acquires a code (region mesh code) indicating a regional mesh including the position indicated by the position information based on the position information of the terminal device 100 acquired by the position information acquisition unit 104.
  • the regional mesh code can be acquired by referring to the dictionary transmitted from the server device 300 and having the regional mesh code as the data type. Since the dictionary is repeatedly updated by the data processing unit 400 of the server device 300 and supplied to the terminal device 100, the code of the area mesh including the position indicated by the position information may be different depending on the update result. May be.
  • the encoding unit 203 adds noise to the position information and the area mesh code, which are data to be transmitted to the server device 300.
  • the amount of noise to be added is previously determined by the privacy index.
  • the log generation unit 204 generates a log to be transmitted to the server device 300.
  • the log includes position information to which noise is added, a regional mesh code, a privacy index that is parameter information of differential privacy, identification information (ID) of the terminal device 100, a time stamp, and the like.
  • the generated log is transmitted to the server device 300 via the network 1000 by communication by the communication unit 102. It should be noted that if the terminal device 100 and the server device 300 share invariant information such as the privacy index and the identification information in advance, it is not necessary to include it in the log.
  • the terminal device 100 is configured as described above.
  • the server device 300 includes a control unit 301, a communication unit 302, a storage unit 303, and a data processing unit 400.
  • the control unit 301 is composed of a CPU, a RAM, a ROM and the like.
  • the CPU controls the entire server device 300 by executing various processes according to the programs stored in the ROM and issuing commands.
  • the communication unit 302 is a communication module that communicates with the terminal device 100 and the Internet according to a predetermined communication standard. Examples of communication methods include wireless LAN such as Wi-Fi, 4G, broadband, and Bluetooth (registered trademark).
  • the storage unit 303 is a storage medium composed of, for example, an HDD, a semiconductor memory, an SSD, etc., and stores applications, programs, logs transmitted from the terminal device 100, data, and the like.
  • the data processing unit 400 is a processing unit configured by the server device 300 executing a program.
  • the program may be installed in the server device 300, or may be downloaded, distributed by a storage medium or the like, and installed by the user.
  • the data processing unit 400 may be realized not only by a program but also by combining a dedicated device, a circuit, or the like with hardware having the function.
  • the data processing unit 400 corresponds to the data processing device in the claims.
  • the data processing unit 400 includes a dictionary generation unit 401, a dictionary storage unit 402, a data aggregation unit 403, a decoding unit 404, a data measurement unit 405, a reliability calculation unit 406, a statistical analysis unit 407, and a dictionary update unit. It is configured with 408.
  • the dictionary generation unit 401 generates a dictionary as a data set using existing information and the like.
  • the dictionary generated by the dictionary generation unit 401 will be updated by the processing by the data processing unit 400.
  • the dictionary generation unit 401 corresponds to the data set generation unit in the claims.
  • the dictionary data generated by the dictionary generation unit 401 is stored in the dictionary storage unit 402, transmitted to the terminal device 100, and stored in the dictionary storage unit 201 of the data processing unit 200 of the terminal device 100.
  • the dictionary generation unit 401 can generate an initial dictionary by using the statistical information of this population distribution. Then, by executing the local differential privacy, the initial dictionary is repeatedly updated to generate an optimized dictionary in which the reliability is constant.
  • the processing in the data processing unit 400 is performed for any of the primary mesh, secondary mesh, and tertiary mesh.
  • Which mesh is to be processed may be set in the data processing unit 400 in advance by the operator of the server device 300, for example.
  • the dictionary generation unit 401 generates a dictionary according to the setting. For example, when processing is performed on a secondary mesh, a dictionary with the secondary mesh as the data type is generated from the statistical information of the population distribution in each secondary mesh.
  • the processing for all the meshes of the primary mesh, the secondary mesh, and the tertiary mesh may be performed in parallel, or the processing for any two meshes may be performed in parallel.
  • the stage of generating the dictionary can be optimized by connecting regional meshes whose population is 0 or less than a predetermined number.
  • the dictionary storage unit 402 is a storage unit that stores a dictionary.
  • the dictionary to be stored is the dictionary in the initial state generated by the dictionary generation unit 401, and then the dictionary updated by the dictionary update unit 408.
  • the data aggregating unit 403 aggregates the position information of the terminal device 100, which is the data added with noise from the log received from the terminal device 100 in the communication by the communication unit 302.
  • the aggregated data is supplied to the decoding unit 404.
  • the decoding unit 404 performs a process of removing noise from the data added with noise, which is supplied from the data aggregating unit 403.
  • the decoding unit 404 corresponds to the noise removing unit in the claims.
  • the data from which the noise is removed is supplied to the data measuring unit 405.
  • the data measuring unit 405 measures the position information of the terminal device 100, which is data from which noise has been removed, for each data type (in this embodiment, for each regional mesh code). In the present embodiment, the number of pieces of position information (the number of terminal devices 100) for each area mesh code is measured.
  • the data measuring unit 405 corresponds to the measuring unit in the claims.
  • the reliability calculator 406 calculates the reliability for each data type. The calculated reliability is supplied to the statistical analysis unit 407 and the dictionary update unit 408.
  • Statistic analysis unit 407 creates a heat map in order to visualize the measurement result, reliability, and the like. Note that the statistical analysis unit 407 is not an essential component in the present technology.
  • the dictionary update unit 408 updates the dictionary based on the reliability.
  • the dictionary is stored in the dictionary storage unit 402 each time it is updated, and also transmitted to the terminal device 100 and stored in the dictionary storage unit 201.
  • the dictionary is updated, the local differential privacy is executed again based on the updated dictionary, and the dictionary is updated until the reliability becomes constant.
  • the dictionary update unit 408 corresponds to the data set update unit in the claims, and the dictionary update corresponds to the data set update.
  • the server device 300 is configured as described above.
  • step S11 the data conversion unit 202 of the terminal device 100 acquires the regional mesh code corresponding to the position information by the data conversion unit 202 based on the position information acquired by the position information acquisition unit 104. To do.
  • step S12 the encoding unit 203 adds noise to the position information and the area mesh code.
  • This noise is for protecting the privacy information of the data by differential privacy, and the privacy index for determining the amount of noise to be added is set in advance.
  • the log generation unit 204 generates a log to be transmitted to the server device 300.
  • the log includes position information to which noise is added, a regional mesh code, a privacy index that is parameter information of differential privacy, identification information (ID) of the terminal device 100, a time stamp, and the like.
  • step S14 the communication unit 102 transmits the log to the server device 300.
  • the server device 300 When transmitting the log to the server device 300, header information unique to the terminal device 100 necessary for transmission is added to the log.
  • the terminal device 100 repeats this process periodically or at a predetermined timing.
  • step S21 logs transmitted from all the terminal devices 100 connected by the network 1000 are received. Since there are many terminal devices 100, the server device 300 receives a log from each of the many terminal devices 100.
  • step S22 the data aggregating unit 403 extracts data with noise from each of the plurality of received logs.
  • the extracted data is the position information and the area mesh code.
  • step S23 the decoding unit 404 removes noise from the data with noise.
  • step S24 the data measuring unit 405 measures the number of data for each data type (the number of position information of the terminal device 100 for each regional mesh as the data type). The measurement result of this data is supplied to the reliability calculation unit 406 for use in the calculation of reliability.
  • step S25 the reliability calculation unit 406 calculates the reliability by combining the measurement result of the data in step S24 and the measurement result of the stored past data.
  • the reliability is calculated from only one measurement result, or the reliability is not calculated.
  • the reliability is calculated from the latest data measurement result and the past data measurement result.
  • the reliability calculation unit 406 also calculates the average noise addition amount.
  • the average noise addition amount is the average of the standard deviations of the measurement results for each data type after multiple times of data measurement in all data types.
  • the measurement value of the data type V13 (measurement value in the state where noise is not added) is 10,000
  • the measurement values of the data for six times in the state where noise is added are 10,000, 10200, 9800, and 10,000, respectively. 10200 and 9800.
  • the standard deviation of the six measured values is about 163. Therefore, 163 noises are added to the data type V13.
  • the measurement value of the data type V4 (measurement value in the state where noise is not added) is 1000
  • the measurement values of the data for a total of 6 times in the state where noise is added are 1000, 1200, 800, respectively.
  • 1000, 1200, 800 The standard deviation of the six measured values is about 163. Therefore, 163 noises are added to the data type V4.
  • V4 has a measurement value that is one-tenth that of V13 in the state where noise is not added, but differential privacy is the same 163 without knowing the measurement value in the state where noise is not added. Since the noise is added, the error becomes large.
  • step S26 the calculated reliability is compared with the reliability calculated in the previous process to determine whether or not the amount of change in reliability falls within a predetermined range. If the amount of change in reliability is within the predetermined range, the dictionary size is determined to be appropriate, and the process ends (Yes in step S26).
  • step S27 the dictionary update unit 408 performs dictionary update processing. Details of the dictionary update process will be described later.
  • step S28 the updated dictionary is transmitted to all the terminal devices 100 configuring the data processing system 10 by communication by the communication unit 302. Every time the dictionary is updated, it is transmitted to all the terminal devices 100.
  • step S31 the measured value of the data in one of the data types transmitted and acquired from all the terminal devices 100 connected to the server device 300 via the network 1000 is the average noise addition amount. Is greater than or equal to. In the present embodiment, it is determined whether or not the number of pieces of position information included in the area mesh, which is the data type indicated by the area mesh code, is larger than the average noise addition amount. When the measured value of the data is larger than the average noise addition amount, the process proceeds to step S32 (Yes in step S31).
  • the average noise addition amount can be used as a threshold for determining the magnitude of the measured value of the data of each data type.
  • step S32 it is determined whether the reliability calculated in step S25 is higher than a predetermined threshold value. If the reliability is higher than the threshold, the process proceeds to step S33 (Yes in step S32), and the regional mesh that is the data type of the process target is divided.
  • the number of divisions is, for example, two.
  • step S34 the data type adjacent to the data type (regional mesh) to be processed is combined with the data type having low reliability.
  • the "data type adjacent to the data type to be processed" is the adjacent data type in a state where the data types are arranged on the graph according to a predetermined rule.
  • step S35 the process proceeds to step S35, and it is determined in step S35 whether or not the process has been performed for all the data types (regional meshes) forming the dictionary. The process ends when all data types have been processed (Yes in step S35).
  • step S31 No in step S35
  • steps S31 to S35 are repeated until all the data received in step S21 of the flowchart of FIG. 15 are processed.
  • the dictionary size can be reduced.
  • the dictionary is updated by repeatedly combining/dividing the data types forming the dictionary according to the distribution and reliability of the data types. Then, the updated dictionary is transmitted to the terminal device 100, local differential privacy is executed using the updated dictionary, data is measured for each data type, and reliability is evaluated (FIG. 16). Step S25 of the flowchart of FIG. This keeps the dictionary updated until the reliability does not change.
  • the dictionary thus updated is stored in the dictionary storage unit 402 of the server device 300, and is also transmitted to the terminal device 100 and stored in the dictionary storage unit 201 of the terminal device 100. Therefore, the terminal device 100 and the server device 300 always have a common updated dictionary. Data collection, addition of noise in differential privacy, and evaluation of reliability are performed for each data type forming a dictionary, and therefore the terminal device 100 and the server device 300 need to have the same dictionary.
  • the result of combining the mesh M (data type) and the mesh N (data type), which are independent meshes before the processing as shown in FIG. 17A. 18B, it is assumed that there is one "mesh M+N".
  • the mesh M and the mesh N individually measured the position information in the mesh as data of the data type, but after the combination of the meshes, the position information in the combined "mesh M+N" is Measured as data of one data type.
  • the dictionary is repeatedly updated to reduce the data type and reduce the dictionary size, so that even if noise is added to the data with differential privacy, the error between the correct value and the measurement value with noise is reduced and high accuracy is achieved. Statistical results can be obtained.
  • the log transmitted from the terminal device 100 to the server device 300 includes information indicating the current dictionary state (update count and version), and the server device 300 confirms the current dictionary state of the terminal device 100.
  • the dictionary update processing may be performed when the dictionary is the same as the dictionary stored in the dictionary storage unit 402 of the device 300.
  • the time stamp included in the log may be referenced to update the dictionary used by the terminal device 100 and the server device 300 at the same timing to a new dictionary.
  • the processing may be continued as it is even if the dictionary update timings of the terminal device 100 and the server device 300 do not match and the terminal device 100 and the server device 300 use different dictionaries.
  • the data type is regional mesh, and the mesh is associated with the actual region. Therefore, if the data types are simply combined, for example, a situation may occur in which the regional mesh in Hokkaido and the regional mesh in Okinawa are combined. Therefore, "when combining data types, it is required that regional meshes are geographically adjacent" and "when combining data types, prioritizing that regional meshes are geographically adjacent” The condition may be provided. However, it does not exclude joining geographically separated regional meshes. In a region with a small population, even if geographically separated regional meshes and regional meshes are combined, they do not have a large effect on the statistical results, so they may be combined.
  • the data types may be combined only between the secondary meshes included in the same primary mesh.
  • the secondary meshes separated from each other for example, the secondary mesh in Hokkaido and the secondary mesh in Okinawa
  • the case where the number of users of the terminal device 100 is grasped by using the regional mesh is taken as an example, but the present technology is not limited thereto.
  • statistical data such as the frequency of use of pictograms used by the user for character input in the terminal device, the frequency of use of applications operating on the terminal device, the measured value of the temperature in the area, etc. Anything can be applied.
  • the terminal device is described as a smartphone in the embodiments, the terminal device is not only a smartphone but also a personal computer, a tablet terminal, a camera, a wearable device, a smart speaker, a game device, a server device, and a pet type/person capable of connecting to the Internet.
  • Type robots various sensor devices, various IoT (Internet of Things) devices, and any device that can transmit information to the outside.
  • the present technology may also be configured as below.
  • a noise removal unit that removes noise from the data to which noise is added, received from the terminal device,
  • a measuring unit that measures the data for each data type that constitutes a data set and indicates the classification of the data
  • a data set updating unit for updating the data set based on the measurement result of the measuring unit,
  • a data processing device including.
  • a reliability calculation unit that calculates a reliability for each data type based on the measurement result, Until the amount of change between the reliability and the reliability calculated before the reliability falls within a predetermined range, the data set updating unit updates the data set each time the data is received from the terminal device.
  • the data processing device according to any one of (1) to (3), which is updated.
  • the data processing device according to any one of (1) to (4), wherein the reliability is a coefficient of variation of the measurement result and a plurality of measurement results before the measurement result.
  • (6) The data processing device according to (3), wherein when the data belonging to the data type is larger than the amount of noise added to the data and the reliability is higher than a predetermined threshold value, the data type is divided. ..
  • the data processing device (7) The data processing device according to (3), wherein when the data belonging to the data type is smaller than the amount of noise added to the data or the reliability is lower than a predetermined threshold value, the data types are combined. .. (8)
  • the data set updating unit combines the data type with another data type having a similar measurement result of the data and having a lower reliability than the data type (7).
  • Data processing equipment. (9) When the data set is updated by the data set update unit, the measurement unit measures the data for each of the data types that make up the updated data set (1) to (8) The data processing device according to. (10) The data processing device according to any one of (1) to (9), including a data set generation unit that generates the data set.
  • the data and the data type are associated with each other based on the information transmitted from the data processing device and indicating the data set including the data type to which the data belongs, noise is added to the data, and the data is transmitted to the data processing device.
  • the data and the data type are associated with each other based on the information transmitted from the data processing device and indicating the data set including the data type to which the data belongs, noise is added to the data, and the data is transmitted to the data processing device.
  • Terminal device to A noise removal unit that removes noise from the noise-added data received from the terminal device;
  • a measuring unit that measures the data for each data type that constitutes a data set and indicates the classification of the data,
  • a data set updating unit for updating the data set based on the measurement result of the measuring unit,
  • a data processing system including a data processing device including:

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

端末装置から受信した、ノイズが付加されたデータからノイズを除去するノイズ除去部と、データを、データ集合を構成するとともにデータの分類を示すデータ種別ごとに計測する計測部と、計測部の計測結果に基づいてデータ集合を更新するデータ集合更新部とを備えるデータ処理装置である。 である。

Description

データ処理装置、データ処理方法、データ処理プログラム、端末装置およびデータ処理システム
 本技術は、データ処理装置、データ処理方法、データ処理プログラム、端末装置およびデータ処理システムに関する。
 近年、インターネットの発達、インターネットに接続可能なデバイスの普及に伴い、デバイスにおける様々なデータがインターネットサービスを提供する会社、デバイスを開発知る会社などによって収集されサービスの向上、製品開発などに利用されている。そのようなデータの中で有用なデータの一つは、デバイスを使用するユーザ個人についてのデータである。ユーザ個人についてのデータとしては、デバイスの使用方法、デバイスを介したインターネット上のサービスの利用状況など様々なものがある。
 そのようなユーザ個人のデータは利用価値が高い反面、データの漏洩、データの取り扱い方法などによりユーザのプライバシーを侵害してしまうという問題がある。そこで、プライバシーの侵害を防ぐために差分プライバシーと称される技術が用いられている。
 差分プライバシーとは、収集するデータにノイズを加えることにより、データの主体であるユーザ等を特定することを防ぎつつ、データ自体を使用することをできるようにする技術である。「あるデータが特定ユーザのものである」という仮説に統計的な信頼を一定以上与えないことができる。任意の背景知識による攻撃に対しても、数学的な安全性が与えられるため、プライバシーへの影響を定量的に評価できる特徴を持っている。差分プライバシーを使用することにより、ユーザの同意を得ずにデータを収集した場合でもユーザのプライバシー侵害を防止することができる。差分プライバシーには、出力型差分プライバシーとローカル型差分プライバシーがある。
 出力型差分プライバシーはデバイスから生のデータを収集してクラウド上に構築したデータベースで管理する。データ利用者がデータベースにアクセスしてデータを利用する際にデータにノイズを付加して公開することによりユーザのプライバシーを保護する。クラウドサービスを提供する事業者が生データを管理するため、生データを収集されることに対するユーザの心理的障壁や、それが漏洩した際の事業者のビジネスリスクなどが懸念される。
 ローカル型差分プライバシーはユーザの手元のデバイスでノイズを付加し、匿名化されたデータをクラウドで収集する方法である。データ利用時にはクラウドからノイズを除去した統計値を得ることが可能となる。匿名化された状態でデータを収集するためユーザの心理的障壁は低く、それが漏洩した際の事業者のビジネスリスクも小さい。
 そのような差分プライバシーは、収集するデータが大量に存在するほうが精度が高くなるので、通常、収集するデータが大量に存在することを前提としている。しかし、データの種類によって大量のデータを収集することができないものもあり、そのようなデータの場合には差分プライバシーを適切に利用できないという問題がある。
 本技術はこのような点に鑑みなされたものであり、データにノイズを付加する差分プライバシーの利用において、ノイズを付加したデータの統計結果の誤差を小さくして精度を高めることができるデータ処理装置、データ処理方法、データ処理プログラム、端末装置およびデータ処理システムを提供することを目的とする。
 上述した課題を解決するために、第1の技術は、端末装置から受信した、ノイズが付加されたデータからノイズを除去するノイズ除去部と、データをデータ集合を構成するとともにデータの分類を示すデータ種別ごとに計測する計測部と、計測部の計測結果に基づいてデータ集合を更新するデータ集合更新部とを備えるデータ処理装置である。
 また、第2の技術は、端末装置から受信した、ノイズが付加されたデータからノイズを除去し、データを、データ集合を構成するとともにデータの分類を示すデータ種別ごとに計測し、計測結果に基づいてデータ集合を更新するデータ処理方法である。
 また、第3の技術は、端末装置から受信した、ノイズが付加されたデータからノイズを除去し、データをデータ集合を構成するとともにデータの分類を示すデータ種別ごとに計測し、計測結果に基づいてデータ集合を更新するデータ処理方法をコンピュータに実行させるデータ処理プログラムである。
 また、第4の技術は、データ処理装置から送信される、データが属するデータ種別から構成されるデータ集合を示す情報に基づいてデータとデータ種別を対応付けて、データにノイズを付加してデータ処理装置に送信する端末装置である。
 さらに、第5の技術は、データ処理装置から送信される、データが属するデータ種別から構成されるデータ集合を示す情報に基づいてデータとデータ種別を対応付けて、データにノイズを付加してデータ処理装置に送信する端末装置と、端末装置から受信した、ノイズが付加されたデータからノイズを除去するノイズ除去部と、データを、データ集合を構成するとともにデータの分類を示すデータ種別ごとに計測する計測部と、計測部の計測結果に基づいてデータ集合を更新するデータ集合更新部とを備えるデータ処理装置
とから構成されるデータ処理システムである。
差分プライバシーの概要を説明する図である。 サンプルサイズ、辞書サイズ、誤差の関係を示すグラフ群である。 図3A乃至図3Eはデータの分布と誤差の関係を示すグラフ群であり、図3Fはデータ分布の相対誤差を示すグラフである。 データの分布とプライバシー指標の関係を示すグラフである。 変動係数と相対誤差の関係を示すグラフである。 データ種別の結合による辞書更新の説明図である。 データ処理システムの構成を示すブロック図である。 1次メッシュを用いて日本全域をカバーした状態を示す図である。 1次メッシュに基づいた日本の人口分布を示すグラフである。 端末装置100の構成を示すブロック図である。 データ処理部200の構成を示すブロック図である。 サーバ装置300の構成を示すブロック図である。 データ処理部400の構成を示すブロック図である。 端末装置100における処理を示すフローチャートである。 サーバ装置300における処理を示すフローチャートである。 辞書の更新処理を示すフローチャートである。 地域メッシュの結合の説明図である。 地域メッシュの分割の説明図である。
 以下、本技術の実施の形態について図面を参照しながら説明する。なお、説明は以下の順序で行う。
<1.差分プライバシーの説明>
<2.実施の形態>
[2-1.データ処理システム10の構成]
[2-2.地域メッシュの説明]
[2-3.端末装置100の構成]
[2-4.サーバ装置300の構成]
[2-5.端末装置100における処理]
[2-6.サーバ装置300における処理]
[2-7.辞書の更新処理]
<3.変形例>
<1.差分プライバシーの説明>
 まず本技術の実施の形態の説明の前に本技術で使用する差分プライバシーについて説明する。差分プライバシーとは、収集するデータにノイズを加えることにより、データの主体であるユーザ等を特定することを防ぎつつ、データ自体を使用することをできるようにする技術である。本技術ではユーザの手元のデバイス(実施の形態の端末装置100に相当)でノイズを付加し、匿名化されたデータをクラウド(実施の形態のサーバ装置300に相当)で収集するローカル型差分プライバシーを用いる。
 図1の概要図に示すように、ローカル型差分プライバーはデバイスでデータをエンコードしてビット列vを生成するエンコード技術、ビット列vにある確率変数に従いノイズを付加したデータv’を生成するノイズ付加技術、ノイズが付加されたデータを収集する集約技術、集約したデータからノイズを除去するノイズ除去技術(集約技術とノイズ除去技術は同時に実行されることも多く、合わせてデコード技術と呼ぶこともある)、分析のユースケースに従って可視化処理を行うデータ分析技術から構成されるものである。
 本技術では差分プライバシーを用いるにあたり、主要なパラメータとして「サンプルサイズ」、「辞書サイズ」、「プライバシー指標」を用いる。
 サンプルサイズとは、クラウドで収集するデータの総数を示すものである。サンプルサイズは、「デバイスを有するユーザ数×デバイスからクラウドに送信されるデータ数」として規定することができる。
 辞書サイズとは、辞書に含まれるデータ種別の総数を示すものである。辞書はデータの分類を示すデータ種別ごとにデータまとめたデータの集合であり、特許請求の範囲におけるデータ集合に相当するものである。
 辞書サイズはデータ種別の数により決定される。例えば、ISO5218で定義されている性別のカテゴリーは男性、女性、不明、適用不能の4種類であるため、データ種別は4であり、この場合、辞書サイズ=4となる。また、例えばスマートフォンなどにおける文字入力で使用される絵文字の場合はその数は現在約2600種類であり、データ種別数は約2600であり、この場合、辞書サイズ=約2600となる。また、GPS(Global Positioning System)の位置情報を1kmの地域メッシュにマッピングする場合、メッシュの数は約38万種になるため、データ種別数は約38万であり、辞書サイズ=約38万となる。
 プライバシー指標とは、差分プライバシーにおけるプライバシー保護の度合いを示すものである。プライバシー指標の値が小さくなるほどプライバシー保護の度合いが高くなり、データに付加するノイズの量が多くなる。一方、プライバシー指標の値が大きくなるほど、プライバシー保護の度合いが低くなり、データに付加するノイズの量が少なくなる。
 プライバシー指標の値は扱うデータの機微性によって所定の値に決定される。例えば、スマートフォンなどにおける文字入力で使用される絵文字にノイズを付加して匿名化したい場合にはプライバシー指標=4とし、脈拍などのヘルスケア情報の場合にはプライバシー指標=2、とする、などである。なお、これらのプライバシー指標の具体的値はあくまで例示に過ぎず本技術がその値に限定されるものではない。
 図2はプライバシー指標が所定の値である場合におけるサンプルサイズ、辞書サイズ、誤差の関係を示すグラフ群である。誤差とは、ノイズを付加していないデータの計測値(以下、正解値と称する。)と、差分プライバシーによりノイズを付加したデータの計測値(ノイズ付計測値と称する。)との差である。図2のグラフにおいては、2本ずつ並んでいる各棒グラフのうち、右側がノイズを付加していないデータの計測値(正解値)を示し、左側が差分プライバシーによりノイズを付加したデータの計測値(ノイズ付計測値)を示す。
 図2は上段のグラフA乃至Eは辞書サイズが10であり、中段のグラフF乃至Jは辞書サイズが100であり、下段のグラフK乃至Pは辞書サイズが1000であるとする。
 縦に並ぶグラフA、F、Kはサンプルサイズが1万である。また、縦に並ぶグラフB、G、Lはサンプルサイズが10万である。また、縦に並ぶグラフC、H、Mはサンプルサイズが100万である。また、縦に並ぶグラフD、I、Nはサンプルサイズが1000万である。さらに縦に並ぶグラフE、J、Pはサンプルサイズが一億である。なお、全てのグラフのプライバシー指標は同一であるものとする。
 各グラフの右上に記載した値がそのグラフにおける正解値とノイズ付計測値との誤差である。
 図2のグラフ群からわかるように、サンプルサイズが同じグラフ同士を比較すると、辞書サイズが小さければ小さいほど誤差が小さくなることがわかる。また、辞書サイズが同じグラフ同士を比較すると、サンプルサイズが大きければ大きいほど誤差が小さくなることがわかる。差分プライバシーにおいては正解値とノイズ付計測値との誤差が小さければ小さいほどデータのプライバシーを保護しつつ、信頼度が高いデータを取得できるということであり、好ましい。
 図3A乃至図3Eはデータの分布と、正解値とノイズ付測定値の誤差、の関係を示すグラフ群であり、図3Fが各分布における相対誤差を示すグラフである。図3A乃至図3Eの各グラフはサンプルサイズが同一、辞書サイズが同一、プライバシー指標が同一であるものとする。図3Fからわかるようにサンプルサイズ、辞書サイズ、プライバシー指標が同一であってもデータの分布によって相対誤差が異なっている。
 図4は、図3A乃至図3Eに示したデータの分布の各種類とプライバシー指標の値の関係を示すグラフである。図4からわかるように分布が異なっていてもプライバシー指標を小さくするとデータに付加するノイズの量は大きくなり、誤差も大きくなる。一方、プライバシー指標を大きくするとデータに付加するノイズの量は小さくなり、誤差も小さくなる。
 このようなサンプルサイズ、辞書サイズ、プライバシー指標の関係から、サンプルサイズ、辞書サイズ、プライバシー指標には以下のようなトレード・オフの関係があることがわかる。
 辞書サイズが一定であり、かつ、プライバシー指標が一定である場合、サンプルサイズが小さいほど誤差が大きくなる。
 また、辞書サイズが小さい場合、サンプルサイズが小さくても誤差は小さいものとなる。一方、辞書サイズが大きい場合、サンプルサイズが大きくても誤差が大きくなる。
 さらに、サンプルサイズが一定であり、かつ、辞書サイズが一定である場合、プライバシー指標を小さくすると誤差が大きくなり、プライバシー指標を大きくすると誤差は小さくなる。よって、プライバシー強度を高めて、信頼度を高めるためにはよりサンプルサイズを大きくする必要がある。
 ローカル型差分プライバシーにおいては、正解値とノイズ付計測値の統計結果の差である誤差が評価指標として使われている。よって、サンプルサイズが同一、かつ、辞書サイズが同一の場合で、ノイズ量を多くして機微性を高めたとしても、誤差が変わらないのは良いローカル型差分プライバシーである。また、辞書サイズが同一、かつ、プライバシー指標が同一の場合で、サンプルサイズを小さくしても、誤差が変わらないのは良いローカル型差分プライバシーである。一般的にサンプルサイズを大きくするには多くの計測値(データ)を得なければならず、コストがかかるためである。
 なお、実際に差分プライバシーを用いたシステムの運用時はノイズを付加していない正解値を得ることができないため誤差を算出することはできない。そのため、本技術では誤差に代えて、差分プライバシーの有効性の指標として信頼度を定義する。
 辞書を構成するデータ種別ごとに、複数回のデータの集計結果のバラつきを評価する。異なるデータ種別間で比較するために変動係数を信頼度とする。変動係数とは平均値に対する計測値(データ)とばらつきの関係を相対的に評価する指標であり、下記の式1から求めることができる。
[式1]
変動係数=標準偏差/平均
 図5は縦軸を変動係数および相対誤差の相対誤差とし、横軸をデータ種別(1から始める通し番号)として、変動係数と相対誤差の関係を示すグラフである。図5に示すように、ノイズ付計測値から算出する変動係数には相対誤差との相関関係がある。よって変動係数は差分プライバシーの有効性の指標として使用することができる。よって変動係数を信頼度として差分プライバシーの有効性の指標として用いる。変動係数が低い誤差も少ないため信頼度は高くなる。一方、変動係数が高い誤差も多いため、信頼度は低くなる。
 少ないサンプルサイズで差分プライバシーを適用した結果と差分プライバシーを適用しない結果の誤差を小さくするには辞書サイズを小さくする必要がある。また、同一の条件(サンプルサイズが同一、辞書サイズが同一、プライバシー指標が同一)でもデータの分布によっても差分プライバシーを適用した結果と差分プライバシーを適用しない結果の誤差は変化する。よって辞書サイズを最適化して誤差を小さくするためには、データ分布に合わせる必要がある。しかし、実際のサンプルサイズおよびデータの分布はデータを収集してみなければ把握することができない。
 そこで本技術では、データを収集しながらデータの分布に合わせて辞書サイズを更新することにより辞書サイズを最適化する。具体的にはデータ集合である辞書を構成するデータ種別ごとの信頼度を算出し、信頼度に応じてデータ種別同士を結合または分割して辞書サイズを更新する。その辞書サイズが更新された辞書を使用してローカル型差分プライバシーを実行し、再び信頼度を評価し、辞書サイズを更新する。このように信頼度に応じてデータ種別の結合/分割を繰り返し行う。信頼度が高いデータ種別は分割、信頼度が低いデータ種別は結合する。
 図6の例では、図6Aに示すデータ種別v1とv2、v3とv4、v5とv6をそれぞれ結合して図6Bに示すようにデータ種別d1、d2、d3とすることにより辞書サイズを小さくしている。さらに、データ種別v15~v30を結合して図6Bに示すようにデータ種別d14とすることにより辞書サイズを小さくしている。データ種別v1とv2は辞書更新前はそれぞれ別のデータ種別としてデータの計測が行われるが、v1とv2が結合した新たなデータ種別d1ではv1とv2のデータとして計測されていたデータはデータ種別d1のデータとして計測されることになる。これはv3とv4を結合したd2、v4とv5を結合したd3、v15~v30を結合したd14においても同様である。このようにデータ種別を結合して辞書サイズを小さくすることにより、少ないサンプルサイズでも差分プライバシーを適用した結果と差分プライバシーを適用しない結果の誤差を小さくして精度の高い統計結果を得ることができる。
 データ種別が増えて辞書サイズが大きくなると各データ種別に含まれるデータの数が少なくなるので正解値とノイズ付計測値との誤差が大きくなる。一方、データ種別を少なくして辞書サイズが小さいと各データ種別に含まれるデータの数が多くなり、正解値とノイズ付計測値との誤差が小さくなり、精度が高くなる。辞書を更新してその辞書に基づいてデータを収集し、ノイズを付加した計測値が正解値に近づいていくにつれて統計結果の精度が上がっている、といえる。また、上述のサンプルサイズと辞書サイズのトレード・オフの関係の説明で述べたように辞書サイズが小さい場合、サンプルサイズが小さくても誤差は小さくなり差分プライバシーの精度が高くなるため、データ種別を結合して辞書サイズを小さくするのが好ましい。
<2.実施の形態>
[2-1.データ処理システム10の構成]
 次に、上述の差分プライバシーを使用するデータ処理システム10の構成について説明する。この実施の形態では地域メッシュを用いたデータの収集において差分プライバシーを使用する例で本技術の説明を行う。この実施の形態では端末装置100として特定のメーカー製の特定の種類のスマートフォンから位置情報を取得することによりその端末装置100を使用しているユーザの日本国内における分布を把握するものである。
 図7に示すように、データ処理システム10はサーバ装置300と複数の端末装置100とから構成されている。サーバ装置300と複数の端末装置100はインターネットなどのネットワーク1000を介して接続されている。なお、説明および図面の便宜上、端末装置100は7つ記載されているが、サーバ装置300に接続されている端末装置100はそれ以上に多数存在する。
 サーバ装置300は、例えば端末装置100を製造するメーカーなどが運用する、本技術に係る差分プライバシーを利用して端末装置100からデータを収集して統計結果を得るための装置である。サーバ装置300は上述の差分プライバシーの説明におけるクラウドに相当するものである。
 端末装置100は、特定のメーカーにより製造された特定の種類のスマートフォンである。端末装置100は定期的または所定のタイミングで自己の位置情報を含むログをサーバ装置300に送信する。
[2-2.地域メッシュの説明]
 ここで、特定の端末装置100を使用しているユーザの分布を把握するために使用する地域メッシュについて説明する。地域メッシュとは、統計に利用するために緯度/経度に基づいて地域をほぼ同じ大きさの網の目(メッシュ)に分けたものである。メッシュのそれぞれを識別するためのコードが地域メッシュコードである。
 地域メッシュはメッシュの大きさに応じて1次メッシュ、2次メッシュ、3次メッシュに分類される。1次メッシュは20万分の1地勢図の1図葉の区画を1単位区画としたもので、緯度差は40分、経度差は1度で、辺の長さは約80kmである。2次メッシュは2次メッシュを緯線方向及び経線方向に8等分してできる区域で、2万5千分の1地形図の1図葉の区画に対応する。緯度差は5分、経度差は7分30秒で、1辺の長さは約10kmである。3次メッシュは2次メッシュを緯線方向及び経線方向に10等分してできる区域である。緯度差は30秒、経度差は45秒で、1辺の長さは約1kmである。
 多数の端末装置100からそれぞれの位置情報を収集することにより端末装置100のユーザの日本全域における分布を把握することができる。地域メッシュの数を辞書を構成するデータ種別とし、そのデータ種別数を辞書サイズとする。
 1次メッシュは176個のメッシュで日本全域をカバーすることできるため、1次メッシュのみを使用した場合、辞書を構成するデータ種別数は176となり、辞書サイズは176となる。1次メッシュで日本全域をカバーするとメッシュ内に離島や過疎地域、山岳地域などが含まれることになり無駄が多い。
 2次メッシュは4862個のメッシュで日本全域をカバーすることができるため、2次メッシュのみを使用した場合、辞書を構成するデータ種別数は4862となり、辞書サイズが4862となる。2次メッシュも1次メッシュと同様にメッシュ内に離島や過疎地域、山岳地域などが含まれることになり無駄が多い。
 3次メッシュは387286個のメッシュで日本全域をカバーすることができるため、3次メッシュのみを使用した場合、辞書を構成するデータ種別数は387286となり、辞書サイズが387286となる。
 図8は1次メッシュを用いて日本全域をカバーした状態を示す図である。日本地図に重畳された矩形の一つ一つが1次メッシュである。このように1次メッシュで日本全域をカバーした場合、日本の人口分布は図9に示すようになる。図9は横軸が各1次メッシュコードであり、縦軸が各1次メッシュにおける人口である。図9に示す人口分布ではトップ25に含まれる1次メッシュで人口の大部分を占めていることがわかる。人口分布に応じてメッシュを分割/結合し、辞書サイズを最適化することができる。例えば、人口密度が所定数以下の山岳地帯など人がほとんどいないメッシュは結合しても統計結果にほとんど影響がないため結合することができる。
 本実施の形態では、端末装置100からデータとして位置情報を収集しながら、位置情報の分布に合わせて辞書を更新して最適化する。辞書を構成する各データ種別の信頼度を計算し、信頼度に応じて辞書を構成するデータ種別同士の結合と分割を行って辞書サイズを更新する。そして、その更新された辞書を使用してローカル型差分プライバシーを実行し、再び信頼度を評価する。さらにその信頼度に応じて辞書のデータ種別同士の結合と分割を行って辞書を更新する。信頼度が一定の状態になるまでこれを繰り返すことにより、差分プライバシーを用いて個人情報を保護しつつ、正確な端末装置100のユーザ分布を得ることができる。辞書のデータ種別を結合して辞書サイズを小さくすることにより誤差を小さくして信頼度を高めることができる。
 また、1次メッシュ、2次メッシュ、3次メッシュの具体的な値は参照するインターネット上のメッシュについての情報により変動があるため、本技術は上述の具体的なメッシュ数により何かしらの限定を受けるものではない。
[2-3.端末装置100の構成]
 次に端末装置100の構成について説明する。図10に示すように端末装置100は、制御部101、通信部102、記憶部103、位置情報取得部104、表示部105、入力部106およびデータ処理部200を備えて構成されている。なお、サーバ装置300に接続されている端末装置100は多数存在するが、説明および図面の便宜上、端末装置100の詳細は一つのみを示している。なお、以下の説明においてデータとは端末装置100の現在位置を示す位置情報である。
 制御部101は、CPU(Central Processing Unit)、RAM(Random Access Memory)およびROM(Read Only Memory)などから構成されている。ROMには、CPUにより読み込まれ動作されるプログラムなどが記憶されている。RAMは、CPUのワークメモリとして用いられる。CPUは、ROMに記憶されたプログラムに従い様々な処理を実行してコマンドの発行を行うことによって端末装置100全体の制御を行う。
 通信部102は、所定の通信規格により他の装置やインターネットと通信する通信モジュールである。通信方法としては、Wi-Fi(Wireless Fidelity)などの無線LAN(Local Area Network)、4G(第4世代移動通信システム)、ブロードバンド、Bluetooth(登録商標)、などがある。
 記憶部103は、例えば、HDD(Hard Disc Drive)、半導体メモリ、SSD(solid state drive)などにより構成された記憶媒体であり、画像データ、動画データ、音声データ、テキストデータなどのコンテンツデータの他、アプリケーション、プログラムなどのデータを保存するものである。
 位置情報取得部104は端末装置100の位置情報を得るためのGPS(Global Positioning System)モジュールである。
 表示部105は、画像や映像などのコンテンツ、ユーザインターフェースなどを表示するための表示デバイスである。表示デバイスとしては、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro Luminescence)パネルなどにより構成されたものがある。
 入力部106は、ユーザが端末装置100に対して指示を入力するための各種入力デバイスである。入力部106としては、ボタン、表示部105と一体に構成されたタッチスクリーンなどがある。入力部106に対して入力がなされると、その入力に応じた制御信号が生成されて制御部101やデータ処理部200に出力される。
 データ処理部200は、端末装置100がプログラムを実行することにより構成される処理部である。プログラムは端末装置100内にインストールされていてもよいし、ダウンロード、記憶媒体などで配布されて、ユーザが自らインストールするようにしてもよい。なお、データ処理部200は、プログラムによって実現されるのみでなく、その機能を有するハードウェアによる専用の装置、回路などを組み合わせて実現されてもよい。データ処理部200は特許請求の範囲におけるデータ処理装置に相当するものである。
 図11に示すように、データ処理部200は、辞書格納部201、データ変換部202、エンコード部203、ログ生成部204を備えて構成されている。
 辞書格納部201は、サーバ装置300から送信された辞書を格納する記憶部である。格納する辞書はまずはサーバ装置300の辞書生成部401が生成した初期辞書であり、その後はサーバ装置300の辞書更新部408により更新された辞書となる。
 データ変換部202は、位置情報取得部104で取得した端末装置100の位置情報に基づいてその位置情報で示される位置が含まれる地域メッシュを示すコード(地域メッシュコード)を取得するものである。地域メッシュコードはサーバ装置300から送信される、データ種別としての地域メッシュコードを有している辞書を参照することにより取得できる。辞書はサーバ装置300のデータ処理部400により繰り返し更新されていき端末装置100に供給されるものであるため、更新結果に応じて位置情報で示される位置が含まれる地域メッシュのコードも異なるものになる場合がある。
 エンコード部203は、サーバ装置300に送信するデータである位置情報と地域メッシュコードにノイズを付加するものである。付加するノイズの量は予めプライバシー指標により決定される。
 ログ生成部204は、サーバ装置300へ送信するログを生成するものである。ログは、ノイズが付加された位置情報および地域メッシュコード、差分プライバシーのパラメータ情報であるプライバシー指標、端末装置100の識別情報(ID)、タイムスタンプなどを含むものである。生成されたログは、通信部102による通信でネットワーク1000を介してサーバ装置300に送信される。なお、プライバシー指標や識別情報など不変の情報については予め端末装置100とサーバ装置300で共有していればログに含める必要はない。
 端末装置100は以上のように構成されている。
[2-4.サーバ装置300の構成]
 次にサーバ装置300の構成について説明する。図12に示すようにサーバ装置300は制御部301、通信部302、記憶部303、データ処理部400とから構成されている。
 制御部301は、CPU、RAMおよびROMなどから構成されている。CPUは、ROMに記憶されたプログラムに従い様々な処理を実行してコマンドの発行を行うことによってサーバ装置300全体の制御を行う。
 通信部302は、所定の通信規格により端末装置100やインターネットと通信する通信モジュールである。通信方法としては、Wi-Fiなどの無線LAN、4G、ブロードバンド、Bluetooth(登録商標)などがある。
 記憶部303は、例えば、HDD、半導体メモリ、SSDなどにより構成された記憶媒体であり、アプリケーション、プログラム、端末装置100から送信されたログ、データなどを保存するものである。
 データ処理部400は、サーバ装置300がプログラムを実行することにより構成される処理部である。プログラムはサーバ装置300内にインストールされていてもよいし、ダウンロード、記憶媒体などで配布されて、ユーザが自らインストールするようにしてもよい。なお、データ処理部400は、プログラムによって実現されるのみでなく、その機能を有するハードウェアによる専用の装置、回路などを組み合わせて実現されてもよい。データ処理部400は特許請求の範囲におけるデータ処理装置に相当するものである。
 図13に示すようにデータ処理部400は、辞書生成部401、辞書格納部402、データ集約部403、デコード部404、データ計測部405、信頼度算出部406、統計分析部407、辞書更新部408を備えて構成されている。
 辞書生成部401は、既存の情報などを用いてデータ集合として辞書の生成するものである。辞書生成部401で生成した辞書がデータ処理部400による処理で更新されていくことになる。辞書生成部401は特許請求の範囲におけるデータ集合生成部に相当するものである。辞書生成部401により生成された辞書のデータは辞書格納部402に格納されるとともに、端末装置100に送信されて端末装置100のデータ処理部200の辞書格納部201に格納される。
 なお、2次メッシュの人口分布の統計情報は総務省により公開されておりインターネットで取得することが可能である。辞書生成部401はこの人口分布の統計情報を用いて初期辞書を生成することができる。そしてローカル型差分プライバシーを実行することによりこの初期辞書を繰り返し更新して信頼度が一定の状態になる最適化辞書を生成する。
 データ処理部400における処理は、1次メッシュ、2次メッシュ、3次メッシュのいずれかを対象として行われる。1次メッシュよりも2次メッシュ、2次メッシュよりも3次メッシュを対象として処理を行うことによって、より詳細な統計結果を得ることができる。どのメッシュを処理の対象とするかは例えばサーバ装置300の運営者が予めデータ処理部400に設定しておくとよい。その設定に合わせて辞書生成部401は辞書を生成する。例えば、2次メッシュを対象として処理を行う場合、各2次メッシュにおける人口分布の統計情報から2次メッシュをデータ種別とした辞書を生成する。なお、1次メッシュ、2次メッシュ、3次メッシュ全てのメッシュを対象とした処理を並列的に行ってもよいし、いずれか2つのメッシュを対象とした処理を並列的に行ってもよい。
 端末装置100のユーザと人口には相関関係がある(人口が多い地域では端末装置100のユーザも多く、人口が少ない地域では端末装置100のユーザは少ないと考えられる)ので、辞書の生成の段階で例えば、人口が0または所定数以下である地域メッシュを結合するなどして辞書の最適化を行っておくこともできる。
 辞書格納部402は、辞書を格納する記憶部である。格納する辞書はまずは辞書生成部401が生成した初期状態の辞書であり、その後は辞書更新部408により更新された辞書となる。
 データ集約部403は、通信部302による通信で端末装置100から受信したログからノイズが付加されたデータである端末装置100の位置情報を集約するものである。集約されたデータはデコード部404に供給される。
 デコード部404は、データ集約部403から供給された、ノイズが付加されたデータからノイズを除去する処理を行うものである。デコード部404は特許請求の範囲におけるノイズ除去部に相当するものである。ノイズが除去されたデータはデータ計測部405に供給される。
 データ計測部405は、ノイズが除去されたデータである端末装置100の位置情報をデータ種別ごと(本実施例では地域メッシュコードごと)に計測するものである。本実施の形態においては、地域メッシュコードごとの位置情報の数(端末装置100の数)を計測する。データ計測部405は特許請求の範囲における計測部に相当するものである。
 信頼度算出部406は、データ種別ごとの信頼度を算出するものである。算出した信頼度は統計分析部407と辞書更新部408に供給される。
 統計分析部407は、計測結果、信頼度などを可視化するためにヒートマップを作成するものである。なお、統計分析部407は本技術において必須の構成ではない。
 辞書更新部408は、信頼度に基づいて辞書の更新処理を行うものである。辞書は更新されるたびに辞書格納部402に格納されるとともに、端末装置100に送信されて辞書格納部201に格納される。辞書が更新されると、その更新された辞書に基づいて再びローカル型差分プライバシーが実行されて、信頼度が一定の状態になるまで辞書の更新が繰り返される。辞書更新部408は特許請求の範囲におけるデータ集合更新部に相当するものであり、辞書の更新がデータ集合の更新に相当するものである。
 サーバ装置300は以上のように構成されている。
[2-5.端末装置100における処理]
 次に端末装置100における処理について説明する。なお、以下の処理は1次メッシュ、2次メッシュ、3次メッシュのいずれかを対象として行われる。これは上述したように辞書におけるデータ種別がどのメッシュを対象としているかに基づくものである。
 図14にフローチャートに示すように、ステップS11で、端末装置100のデータ変換部202は位置情報取得部104により取得した位置情報に基づいてデータ変換部202で位置情報に対応する地域メッシュコードを取得する。
 次にステップS12で、エンコード部203により位置情報および地域メッシュコードにノイズを付加する。このノイズは差分プライバシーによりデータのプライバシー情報を保護するためのものであり、付加するノイズ量を決定するプライバシー指標は予め定められているものとする。
 次にステップS13で、ログ生成部204により、サーバ装置300に送信するためのログを生成する。ログは、ノイズが付加された位置情報および地域メッシュコード、差分プライバシーのパラメータ情報であるプライバシー指標、端末装置100の識別情報(ID)、タイムスタンプなどを含むものである。
 そしてステップS14で通信部102によりログをサーバ装置300に送信する。なお、ログをサーバ装置300に送信する際には送信に必要な端末装置100固有のヘッダー情報をログに付加する。
 端末装置100はこの処理を定期的に、または予め定められたタイミングで繰り返し行う。
[2-6.サーバ装置300における処理]
 次にサーバ装置300における処理について説明する。図15のフローチャートに示すように、まずステップS21で、ネットワーク1000で接続されている全ての端末装置100から送信されるログを受信する。なお、端末装置100は多数存在するため、サーバ装置300はその多数の端末装置100のそれぞれからログを受信する。
 次にステップS22で、受信した複数のログそれぞれからデータ集約部403によりノイズ付データを取り出す。取り出されるデータは位置情報と地域メッシュコードである。
 次にステップS23で、デコード部404により、ノイズ付データからノイズを除去する。
 次にステップS24で、データ計測部405によりデータ種別ごとにデータの数(データ種別としての地域メッシュごとの端末装置100の位置情報の数)を計測する。このデータの計測結果は信頼度の算出において使用するため、信頼度算出部406に供給される。
 次にステップS25で、信頼度算出部406により、ステップS24におけるデータの計測結果と、保持してある過去のデータの計測結果と合わせて信頼度を算出する。なお、1回目の処理の場合は過去のデータの計測結果は存在しないため、1つの計測結果のみから信頼度を算出する、または信頼度の算出は行わない。2回目以降の処理においては最新のデータの計測結果と、過去のデータの計測結果から信頼度が算出される。また、信頼度算出部406は、平均ノイズ付加量を算出する。
 ここで平均ノイズ付加量の算出について説明する。平均ノイズ付加量とは、全てのデータ種別における複数回のデータ計測後のデータ種別ごとの計測結果の標準偏差の平均、である。
 例えば、V13というデータ種別の計測値(ノイズが付加されていない状態の計測値)が10000であるとして、ノイズを付加した状態における計6回のデータの計測値がそれぞれ10000、10200、9800、10000、10200、9800であったとする。この6回の計測値の標準偏差は約163である。よって、データ種別V13には163のノイズが付加されていることになる。
 端末装置100側でノイズを付加する場合、各データ種別の計測値がどのような値になるかがわからないので各データ種別に一様にノイズを付加することになる。
 よって、例えば、V4というデータ種別の計測値(ノイズが付加されていない状態の計測値)が1000であるとして、ノイズが付加した状態における計6回のデータの計測値がそれぞれ1000、1200、800、1000、1200、800であったとする。この6回の計測値の標準偏差は約163である。よって、データ種別V4には163のノイズが付加されていることになる。
 V4はV13に対して、ノイズが付加されていない状態の計測値で10分の1の計測値を有しているが、差分プライバシーはノイズが付加されていない状態の計測値を知らずに同じ163というノイズを付加するため、誤差は大きくなる。
 フローチャートの説明に戻る。次にステップS26で、算出した信頼度と前回の処理で算出した信頼度とを比較して信頼度の変化量が所定の範囲内に収まっているか否かを判定する。信頼度の変化量が所定の範囲内である場合、辞書サイズは適切であるとして処理は終了となる(ステップS26のYes)。
 一方、信頼度の変化量が所定の範囲内ではない場合、辞書サイズは適切ではないとして処理はステップS27に進む(ステップS26のNo)。次にステップS27で辞書更新部408が辞書の更新処理を行う。辞書の更新処理の詳細は後述する。
 そしてステップS28で、更新された辞書を通信部302による通信でデータ処理システム10を構成する全ての端末装置100に送信する。辞書は更新されるたびに全ての端末装置100に送信される。
[2-7.辞書の更新処理]
 次に図15のフローチャートにおけるステップS27の辞書の更新処理の詳細について図16を参照して説明する。この処理は辞書を構成するデータ種別ごとに行われるものである。
 まずステップS31で、サーバ装置300にネットワーク1000を介して接続されている全ての端末装置100から送信されて取得した全てのデータ種別の中の一のデータ種別におけるデータの計測値が平均ノイズ付加量よりも大きいか否かが判定される。本実施の形態では地域メッシュコードで示されるデータ種別である地域メッシュに含まれる位置情報の数が平均ノイズ付加量よりも大きいが否かを判断する。データの計測値が平均ノイズ付加量よりも大きい場合処理はステップS32に進む(ステップS31のYes)。
 ノイズは各データ種別のデータの計測値に関わらず一律で全てのデータ種別に付加されるものである。よって平均ノイズ付加量は各データ種別のデータの計測値の大小を判断する閾値として利用することができる。
 次にステップS32で、ステップS25で算出された信頼度が所定の閾値より高いか否かが判定される。信頼度が閾値よりも高い場合処理はステップS33に進み(ステップS32のYes)、処理対象のデータ種別である地域メッシュを分割する。分割数は例えば2分割である。
 一方、ステップS32で、信頼度が閾値よりも低い場合処理はステップS34に進む(ステップS32のNo)。なお、ステップS31でデータ種別のデータの値が平均ノイズ付加量よりも小さい場合も処理はステップS34に進む(ステップS31のNo)。そしてステップS34で、処理対象のデータ種別(地域メッシュ)に隣接するデータ種別のうち、信頼度が低いデータ種別と結合する。この場合の「処理対象のデータ種別に隣接するデータ種別」とは、グラフ上においてデータ種別を所定のルールで並べた状態における隣接するデータ種別、のことである。
 ステップS33、ステップS34のいずれも処理はステップS35に進み、ステップS35で辞書を構成する全てのデータ種別(地域メッシュ)について処理がなされたかが判定される。全てのデータ種別の処理を行った場合終了となる(ステップS35のYes)。
 一方、全てのデータ種別(地域メッシュ)の処理を行ってない場合処理はステップS31に進む(ステップS35のNo)。そして、図15のフローチャートのステップS21で受信した全てのデータに対して処理を行うまでステップS31乃至ステップS35が繰り返し行われる。
 これにより、例えば、データ種別(地域メッシュ)の結合を複数回行った結果、辞書サイズを小さくすることができる。データ種別を収集しながらデータ種別の分布と信頼度に応じて辞書を構成するデータ種別同士の結合/分割を繰り返すことにより辞書を更新する。そして、更新された辞書を端末装置100に送信し、その更新された辞書を使用してローカル型差分プライバシーを実行して、データ種別ごとのデータの計測を行い、信頼度を評価する(図16のフローチャートのステップS25)。これにより信頼度が変化しなくなるまで、辞書が更新され続ける。
 このように更新された辞書はサーバ装置300の辞書格納部402に保存されるとともに、端末装置100に送信されて端末装置100の辞書格納部201に保存される。よって、端末装置100とサーバ装置300とは常に共通の更新された辞書を有することになる。データの収集、差分プライバシーにおけるノイズの付加、信頼度の評価は辞書を構成するデータ種別ごとに行うため、端末装置100とサーバ装置300とは同一の辞書を有している必要がある。
 例えば、2次メッシュに対して処理を行い辞書を更新した結果、図17Aに示すように処理前は独立したメッシュであったメッシュM(データ種別)とメッシュN(データ種別)が結合された結果、図18Bに示すように一つの「メッシュM+N」になったとする。結合前はメッシュM、メッシュNそれぞれ個別にメッシュ内の位置情報をデータ種別のデータとして計測していたが、メッシュ結合後はその結合された一つの「メッシュM+N」内の位置情報を一つのデータ種別のデータとして計測する。
 このように辞書を繰り返し更新してデータ種別を少なくして辞書サイズを小さくすることにより、差分プライバシーでデータにノイズを付加しても正解値とノイズ付測定値の誤差を小さくし、精度の高い統計結果を得ることができる。
 なお、端末装置100からサーバ装置300に送信するログに現在の辞書の状態(更新回数やバージョン)を示す情報を含めて、サーバ装置300で端末装置100の現在の辞書の状態を確認し、サーバ装置300の辞書格納部402に格納されている辞書と同一の場合に辞書の更新処理を行うようにしてもよい。また、ログに含まれるタイムスタンプを参照して端末装置100とサーバ装置300とで同じタイミングで使用する辞書を新しいものに更新するようにしてもよい。ただし、端末装置100とサーバ装置300とで辞書の更新タイミングが一致せず端末装置100とサーバ装置300が異なる辞書を使っていたとしてもそのまま処理を継続してもよい。
 なお、データ種別は地域メッシュであり、メッシュは実際の地域と対応づけられたものである。よって、単に、データ種別を結合する、とすると例えば北海道における地域メッシュと沖縄における地域メッシュが結合される、という事態も生じうる。そこで、「データ種別を結合する場合、地域メッシュが地理的に隣接していることを条件とする」や「データ種別を結合する場合、地域メッシュが地理的に隣接していることを優先する」という条件を設けてもよい。ただし、地理的に離間した地域メッシュを結合することを除外するものではない。人口が少ない地域のおいては地理的に離間した地域メッシュと地域メッシュが結合しても統計結果に大きな影響は与えないので結合してもよい。
 本技術により処理は以上のようにして行われる。本技術によれば、人口が少ない(端末装置100のユーザが少ない)地域メッシュを結合していくことにより地域メッシュをデータ種別とするデータ集合である辞書のサイズを小さくすることができる。辞書サイズを小さくすることにより収集するデータ数が少なくてもローカル型差分プライバシーを使用する場合においてより誤差の少ない統計結果を得ることができる。
 差分プライバシーを用いる場合、通常は収集するデータの数が多くサンプルサイズが大きいほうが正解値とノイズを付加した計測値の誤差が小さくなり精度が高くなる。しかし、本技術によれば、辞書に含まれるデータ種別を結合してデータ種別を少なくし、各データ種別に含まれるデータを多くすることにより、収集するデータの数が少なくサンプルサイズが小さい場合でも高い精度で差分プライバシーを実行することができる。
 なお、例えば2次メッシュをデータ種別として処理を行う場合、データ種別の結合は同一の1次メッシュ内に含まれる2次メッシュ同士でのみ可能としてもよい。これにより、地域に離間した2次メッシュ(例えば、北海道の2次メッシュと沖縄の2次メッシュ)が結合されてしまうことがない。
 また、一つの地域メッシュの中に人口が多い地域と少ない地域が存在することもある。そのような場合、地域メッシュの中に独自の大きさのメッシュを設定するとよい。例えば、図18に示すように人口密度に基づいて2次メッシュを複数(図18においてはL、M、Nの3つ)にクラスタリングし、そのクラスタリングに基づいて1次メッシュを分割する(図18においては3分割)。そしてこの1次メッシュを3分割したそれぞれの領域を独自のメッシュとして設定する。これによってより詳細な統計結果を得ることができる。
<3.変形例>
 以上、本技術の実施の形態について具体的に説明したが、本技術は上述の実施の形態に限定されるものではなく、本技術の技術的思想に基づく各種の変形が可能である。
 実施の形態では、地域メッシュを使用して端末装置100のユーザ数を把握する場合を例にしたが、本技術はそれに限られるものではない。例えば、端末装置における文字入力でユーザが使用する絵文字の使用頻度、端末装置において動作するアプリケーションの使用頻度、地域の温度の計測値、など、統計データとして扱えることができるものであればどのようなものでも適用可能である。
 実施の形態では端末装置をスマートフォンとして説明を行ったが、端末装置はスマートフォンの他、パーソナルコンピュータ、タブレット端末、カメラ、ウェアラブル機器、スマートスピーカ、ゲーム機器、サーバ装置、インターネット接続可能なペット型/人型ロボット、各種センサ装置、各種IoT(Internet of Things)機器、情報を外部に送信することができるものであればなんでもよい。
 本技術は以下のような構成も取ることができる。
(1)
 端末装置から受信した、ノイズが付加されたデータからノイズを除去するノイズ除去部と、
 前記データを、データ集合を構成するとともに前記データの分類を示すデータ種別ごとに計測する計測部と、
 前記計測部の計測結果に基づいて前記データ集合を更新するデータ集合更新部と、
を備える
データ処理装置。
(2)
 前記データ集合更新部は、前記データ集合を構成するデータ種別を他のデータ種別と結合することにより前記データ集合を更新する(1)に記載のデータ処理装置。
(3)
 前記データ集合更新部は、前記データ集合を構成するデータ種別を分割することにより前記データ集合を更新する(1)または(2)に記載のデータ処理装置。
(4)
 前記計測結果に基づいて前記データ種別ごとの信頼度を算出する信頼度算出部を備え、
 前記信頼度と該信頼度よりも前に算出した信頼度との変化量が所定の範囲内となるまで、前記データ集合更新部は、前記端末装置から前記データを受信するたびに前記データ集合を更新する(1)から(3)のいずれかに記載のデータ処理装置。
(5)
 前記信頼度は、前記測定結果と該測定結果のよりも前の複数の測定結果の変動係数である(1)から(4)のいずれかに記載のデータ処理装置。
(6)
 前記データ種別に属する前記データが、該データに付加されたノイズの量よりも大きく、かつ、前記信頼度が所定の閾値より高い場合、前記データ種別を分割する(3)に記載のデータ処理装置。
(7)
 前記データ種別に属する前記データが、該データに付加されたノイズの量よりも小さい、または、前記信頼度が所定の閾値より低い場合、前記データ種別を結合する(3)に記載のデータ処理装置。
(8)
 前記データ集合更新部は、前記データ種別を前記データの測定結果が近似する他のデータ種別であり、かつ、前記データ種別よりも前記信頼度の低い他のデータ種別と結合する(7)に記載のデータ処理装置。
(9)
 前記計測部は、前記データ集合更新部により前記データ集合が更新されると、更新された前記データ集合を構成する前記データ種別ごとに前記データの計測を行う(1)から(8)のいずれかに記載のデータ処理装置。
(10)
 前記データ集合を生成するデータ集合生成部を備える(1)から(9)のいずれかに記載のデータ処理装置。
(11)
 前記データ集合は更新されるたびに前記端末装置に送信される(1)から(10)のいずれかに記載のデータ処理装置。
(12)
 端末装置から受信した、ノイズが付加されたデータからノイズを除去し、
 前記データを、データ集合を構成するとともに前記データの分類を示すデータ種別ごとに計測し、
 計測結果に基づいて前記データ集合を更新するデータ処理方法。
(13)
 端末装置から受信した、ノイズが付加されたデータからノイズを除去し、
 前記データを、データ集合を構成するとともに前記データの分類を示すデータ種別ごとに計測し、
 計測結果に基づいて前記データ集合を更新する
データ処理方法をコンピュータに実行させるデータ処理プログラム。
(14)
 データ処理装置から送信される、データが属するデータ種別から構成されるデータ集合を示す情報に基づいて前記データと前記データ種別を対応付けて、該データにノイズを付加して前記データ処理装置に送信する端末装置。
(15)
 データ処理装置から送信される、データが属するデータ種別から構成されるデータ集合を示す情報に基づいて前記データと前記データ種別を対応付けて、該データにノイズを付加して前記データ処理装置に送信する端末装置と、
 前記端末装置から受信した、ノイズが付加されたデータからノイズを除去するノイズ除去部と、
 前記データを、データ集合を構成するとともに前記データの分類を示すデータ種別ごとに計測する計測部と、
 前記計測部の計測結果に基づいて前記データ集合を更新するデータ集合更新部と、
を備えるデータ処理装置とから構成されるデータ処理システム。
10・・・・データ処理システム
100・・・端末装置
400・・・データ処理部
404・・・デコード部
405・・・データ計測部
406・・・信頼度算出部
408・・・辞書更新部

Claims (15)

  1.  端末装置から受信した、ノイズが付加されたデータからノイズを除去するノイズ除去部と、
     前記データを、データ集合を構成するとともに前記データの分類を示すデータ種別ごとに計測する計測部と、
     前記計測部の計測結果に基づいて前記データ集合を更新するデータ集合更新部と、
    を備える
    データ処理装置。
  2.  前記データ集合更新部は、前記データ集合を構成するデータ種別を他のデータ種別と結合することにより前記データ集合を更新する
    請求項1に記載のデータ処理装置。
  3.  前記データ集合更新部は、前記データ集合を構成するデータ種別を分割することにより前記データ集合を更新する
    請求項1に記載のデータ処理装置。
  4.  前記計測結果に基づいて前記データ種別ごとの信頼度を算出する信頼度算出部を備え、
     前記信頼度と該信頼度よりも前に算出した信頼度との変化量が所定の範囲内となるまで、前記データ集合更新部は、前記端末装置から前記データを受信するたびに前記データ集合を更新する
    請求項1に記載のデータ処理装置。
  5.  前記信頼度は、前記測定結果と該測定結果のよりも前の測定結果の変動係数である
    請求項1に記載のデータ処理装置。
  6.  前記データ種別に属する前記データが、該データに付加されたノイズの量よりも大きく、かつ、前記信頼度が所定の閾値より高い場合、前記データ種別を分割する
    請求項3に記載のデータ処理装置。
  7.  前記データ種別に属する前記データが、該データに付加されたノイズの量よりも小さい、または、前記信頼度が所定の閾値より低い場合、前記データ種別を結合する
    請求項3に記載のデータ処理装置。
  8.  前記データ集合更新部は、前記データ種別を前記データの測定結果が近似する他のデータ種別であり、かつ、前記データ種別よりも前記信頼度の低い他のデータ種別と結合する
    請求項7に記載のデータ処理装置。
  9.  前記計測部は、前記データ集合更新部により前記データ集合が更新されると、更新された前記データ集合を構成する前記データ種別ごとに前記データの計測を行う
    請求項1に記載のデータ処理装置。
  10.  前記データ集合を生成するデータ集合生成部を備える
    請求項1に記載のデータ処理装置。
  11.  前記データ集合は更新されるたびに前記端末装置に送信される
    請求項1に記載のデータ処理装置。
  12.  端末装置から受信した、ノイズが付加されたデータからノイズを除去し、
     前記データを、データ集合を構成するとともに前記データの分類を示すデータ種別ごとに計測し、
     計測結果に基づいて前記データ集合を更新する
    データ処理方法。
  13.  端末装置から受信した、ノイズが付加されたデータからノイズを除去し、
     前記データを、データ集合を構成するとともに前記データの分類を示すデータ種別ごとに計測し、
     計測結果に基づいて前記データ集合を更新する
    データ処理方法をコンピュータに実行させるデータ処理プログラム。
  14.  データ処理装置から送信される、データが属するデータ種別から構成されるデータ集合を示す情報に基づいて前記データと前記データ種別を対応付けて、該データにノイズを付加して前記データ処理装置に送信する
    端末装置。
  15.  データ処理装置から送信される、データが属するデータ種別から構成されるデータ集合を示す情報に基づいて前記データと前記データ種別を対応付けて、該データにノイズを付加して前記データ処理装置に送信する端末装置と、
     前記端末装置から受信した、ノイズが付加されたデータからノイズを除去するノイズ除去部と、
     前記データを、データ集合を構成するとともに前記データの分類を示すデータ種別ごとに計測する計測部と、
     前記計測部の計測結果に基づいて前記データ集合を更新するデータ集合更新部と、
    を備えるデータ処理装置
    とから構成されるデータ処理システム。
PCT/JP2019/051210 2019-01-15 2019-12-26 データ処理装置、データ処理方法、データ処理プログラム、端末装置およびデータ処理システム WO2020149141A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/297,211 US11934562B2 (en) 2019-01-15 2019-12-26 Data processing device, data processing method, data processing program, terminal device, and data processing system
EP19910906.7A EP3913514A4 (en) 2019-01-15 2019-12-26 DATA PROCESSING DEVICE, DATA PROCESSING METHOD, DATA PROCESSING PROGRAM, TERMINAL AND DATA PROCESSING SYSTEM
CN201980088304.9A CN113287107A (zh) 2019-01-15 2019-12-26 数据处理装置、数据处理方法、数据处理程序、终端装置和数据处理系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019004215 2019-01-15
JP2019-004215 2019-01-15

Publications (1)

Publication Number Publication Date
WO2020149141A1 true WO2020149141A1 (ja) 2020-07-23

Family

ID=71614396

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/051210 WO2020149141A1 (ja) 2019-01-15 2019-12-26 データ処理装置、データ処理方法、データ処理プログラム、端末装置およびデータ処理システム

Country Status (4)

Country Link
US (1) US11934562B2 (ja)
EP (1) EP3913514A4 (ja)
CN (1) CN113287107A (ja)
WO (1) WO2020149141A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3866042B1 (en) * 2020-02-11 2022-07-20 Leapyear Technologies, Inc. Adaptive differentially private count

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290274A (ja) * 1993-03-31 1994-10-18 Hitachi Ltd グラフ編集方法
JP2010166228A (ja) * 2009-01-14 2010-07-29 Nec Corp 分散型秘匿化データ統合装置、分散型秘匿化データ統合方法および分散型秘匿化データ統合用プログラム
JP2016054002A (ja) * 2016-01-06 2016-04-14 国際航業株式会社 個別基礎情報秘匿化プログラム、及び個別基礎情報秘匿化装置
US20180322279A1 (en) * 2017-05-02 2018-11-08 Sap Se Providing differentially private data with causality preservation
JP2019175002A (ja) * 2018-03-27 2019-10-10 富士通株式会社 匿名化装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012063546A1 (ja) * 2010-11-09 2012-05-18 日本電気株式会社 匿名化装置及び匿名化方法
US8909711B1 (en) * 2011-04-27 2014-12-09 Google Inc. System and method for generating privacy-enhanced aggregate statistics
US20140270249A1 (en) * 2013-03-12 2014-09-18 Motorola Mobility Llc Method and Apparatus for Estimating Variability of Background Noise for Noise Suppression
US10296761B2 (en) * 2013-11-22 2019-05-21 The Trustees Of Columbia University In The City Of New York Database privacy protection devices, methods, and systems
JP6471699B2 (ja) * 2014-02-04 2019-02-20 日本電気株式会社 情報判定装置、情報判定方法及びプログラム
KR101696338B1 (ko) * 2015-02-16 2017-01-13 네이버 주식회사 컬럼-인덱스 데이터 포맷을 이용하여 빅데이터를 효율적으로 처리 및 분석하는 시스템 및 방법
CN106033425A (zh) * 2015-03-11 2016-10-19 富士通株式会社 数据处理设备和数据处理方法
US10956603B2 (en) * 2016-04-07 2021-03-23 Samsung Electronics Co., Ltd. Private dataaggregation framework for untrusted servers
US9645998B1 (en) * 2016-06-12 2017-05-09 Apple Inc. Learning new words
US10958685B2 (en) * 2018-12-06 2021-03-23 Sap Se Generation of honeypot data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290274A (ja) * 1993-03-31 1994-10-18 Hitachi Ltd グラフ編集方法
JP2010166228A (ja) * 2009-01-14 2010-07-29 Nec Corp 分散型秘匿化データ統合装置、分散型秘匿化データ統合方法および分散型秘匿化データ統合用プログラム
JP2016054002A (ja) * 2016-01-06 2016-04-14 国際航業株式会社 個別基礎情報秘匿化プログラム、及び個別基礎情報秘匿化装置
US20180322279A1 (en) * 2017-05-02 2018-11-08 Sap Se Providing differentially private data with causality preservation
JP2019175002A (ja) * 2018-03-27 2019-10-10 富士通株式会社 匿名化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3913514A4 *

Also Published As

Publication number Publication date
EP3913514A1 (en) 2021-11-24
US20220027516A1 (en) 2022-01-27
CN113287107A (zh) 2021-08-20
US11934562B2 (en) 2024-03-19
EP3913514A4 (en) 2022-03-09

Similar Documents

Publication Publication Date Title
US20170169534A1 (en) Damage data propagation in predictor of structural damage
US20180045853A1 (en) Landslide hazard assessment system and method
US20180336652A1 (en) Estimation of damage prevention with building retrofit
Gerstenberger et al. Real-time forecasts of tomorrow's earthquakes in California
US10602223B2 (en) Methods and apparatus to categorize media impressions by age
US8577922B2 (en) Information management apparatus, data processing method and computer program
Meseck et al. Is missing geographic positioning system data in accelerometry studies a problem, and is imputation the solution?
US10915829B1 (en) Data model update for structural-damage predictor after an earthquake
CN114764508A (zh) 一种基于人工智能的企业数据安全管理系统
CN115662627A (zh) 学生心理健康风险预警模型构建预警方法及其应用
Smolak et al. The impact of human mobility data scales and processing on movement predictability
CN108345662B (zh) 一种考虑用户分布区域差异的签到微博数据加权统计方法
Cohen et al. Taylor's law and related allometric power laws in New Zealand mountain beech forests: the roles of space, time and environment
WO2020149141A1 (ja) データ処理装置、データ処理方法、データ処理プログラム、端末装置およびデータ処理システム
Baran et al. Statistical post‐processing of heat index ensemble forecasts: is there a royal road?
EP3192061A1 (en) Measuring and diagnosing noise in urban environment
Jogarah et al. Hybrid machine learning algorithms for fault detection in android smartphones
WO2021187506A1 (ja) データ処理装置、データ処理方法およびデータ処理プログラム
EP4035045A1 (en) Maintaining privacy during attribution of a condition
CN109873836A (zh) 一种数据的风险评估方法及装置
CN114218574A (zh) 一种数据检测方法、装置、电子设备以及存储介质
Asmai et al. An intelligent crisis-mapping framework for flood prediction
CN108694212B (zh) 一种样本对象的处理方法及装置
US20160232150A1 (en) Method and System for Generating a User Activity Grid Table
US20230082679A1 (en) Data processing device, data processing method, data processing program, data extraction device, data extraction method, and data extraction program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19910906

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019910906

Country of ref document: EP

Effective date: 20210816

NENP Non-entry into the national phase

Ref country code: JP