JP7788354B2 - Information processing device, information processing method, and information processing program - Google Patents
Information processing device, information processing method, and information processing programInfo
- Publication number
- JP7788354B2 JP7788354B2 JP2022098771A JP2022098771A JP7788354B2 JP 7788354 B2 JP7788354 B2 JP 7788354B2 JP 2022098771 A JP2022098771 A JP 2022098771A JP 2022098771 A JP2022098771 A JP 2022098771A JP 7788354 B2 JP7788354 B2 JP 7788354B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- noise
- organization
- group
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、情報処理装置、情報処理方法、および情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.
近年、オンラインサービスを利用したユーザのデータなどといった個人情報を特定の個人を識別できないように匿名加工した情報を第三者によるデータ分析などに利用する検討が行われている。例えば、特許文献1には、差分プライバシー(Differential Privacy)を用いて個人情報を保護する技術が提案されている。 In recent years, there has been research into anonymizing personal information, such as data from users of online services, to prevent the identification of specific individuals, and then using this information for data analysis by third parties. For example, Patent Document 1 proposes technology for protecting personal information using differential privacy.
しかしながら、ある組織(例えば、ある企業やある自治体)のサービスを利用するユーザの情報が、他の組織が提供するサービスの改善に有用な場合であっても、例えば、組織間での競争の公平性を損なうおそれがあり、個人情報の提供の観点から改善の余地がある。 However, even if information about users who use the services of one organization (e.g., a company or a local government) is useful for improving the services provided by other organizations, there is still room for improvement in terms of the provision of personal information, as this could, for example, undermine fair competition between organizations.
本願は、上記に鑑みてなされたものであって、個人情報の提供をより適切に行うことができる情報処理装置、情報処理方法、および情報処理プログラムを提供することを目的とする。 This application has been made in light of the above, and aims to provide an information processing device, information processing method, and information processing program that can more appropriately provide personal information.
本願に係る情報処理装置は、提供要求受付部と、判定部と、匿名加工部と、提供部とを備える。提供要求受付部は、データの提供要求を受け付ける。判定部は、提供要求受付部によって受け付けられた提供要求で特定されるデータである提供候補データが、提供要求の要求元と予め定められた関係性を有する組織に紐付けられたデータであるか否かを判定する。匿名加工部は、判定部によって提供候補データが要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定された場合に、提供候補データに匿名加工を行って匿名加工データを生成する。提供部は、匿名加工部によって生成された匿名加工データに基づいて、提供要求に応じたデータを提供する。 The information processing device according to the present application includes a provision request receiving unit, a determination unit, an anonymization unit, and a providing unit. The provision request receiving unit receives a request to provide data. The determination unit determines whether the provision candidate data, which is data specified in the provision request received by the provision request receiving unit, is data linked to an organization that has a predetermined relationship with the requester of the provision request. When the determination unit determines that the provision candidate data is data linked to an organization that has a predetermined relationship with the requester, the anonymization unit anonymizes the provision candidate data to generate anonymously processed data. The providing unit provides data in response to the provision request based on the anonymously processed data generated by the anonymization unit.
実施形態の一態様によれば、個人情報の提供をより適切に行うことができる。 According to one aspect of the embodiment, personal information can be provided more appropriately.
以下に、本願に係る情報処理装置、情報処理方法、および情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、および情報処理プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Below, detailed explanations will be given of the information processing device, information processing method, and information processing program (hereinafter referred to as "embodiments") according to the present application, with reference to the drawings. Note that the information processing device, information processing method, and information processing program according to the present application are not limited to these embodiments. Furthermore, the embodiments can be combined as appropriate to the extent that the processing content is not contradictory. Furthermore, the same components in the following embodiments will be assigned the same reference numerals, and redundant explanations will be omitted.
〔1.情報処理の一例〕
まず、図1を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。
[1. An example of information processing]
First, an example of information processing according to the embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram illustrating an example of information processing according to the embodiment.
図1に示す情報処理装置1は、複数の組織(例えば、企業や自治体など)の各々から複数のユーザUのデータを収集し、収集した複数のユーザUのデータを個々のユーザUのデータを特定できないように匿名加工する。 The information processing device 1 shown in Figure 1 collects data on multiple users U from each of multiple organizations (e.g., companies, local governments, etc.) and anonymizes the collected data on multiple users U so that the data on individual users U cannot be identified.
そして、情報処理装置1は、匿名加工したデータから利用対象データを生成し、かかる利用対象データを提供する。かかる利用対象データは、データ利用者による利用対象となるデータであり、かかる利用対象データによって、例えば、データ分析などを行うことができる。 The information processing device 1 then generates target data for use from the anonymized data and provides the target data for use. This target data for use is data that is to be used by data users, and can be used for data analysis, for example.
図1に示すように、サーバ31~3mの各々は、端末装置2のユーザUに対してオンラインサービスを提供する(ステップS11~S1m)。mは2以上の整数である。サーバ31~3mの各々は、例えば、互いに異なる組織が提供するオンラインサービスを提供するサーバである。 1, each of the servers 3 1 to 3 m provides an online service to a user U of the terminal device 2 (steps S1 1 to S1 m ), where m is an integer equal to or greater than 2. Each of the servers 3 1 to 3 m is, for example, a server that provides an online service provided by a different organization.
組織が提供するオンラインサービスは、組織が企業であれば、例えば、ショッピングサイト、ニュースサイト、オークションサイト、フリーマケットサイト、天気予報サイト、ファイナンス(株価)サイトなどによるオンラインサービスである。また、企業が提供するオンラインサービスは、例えば、検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログサイト、またはSNSサイトなどによるオンラインサービスであってもよい。 If the organization is a business, the online services provided by the organization may be, for example, online services such as shopping sites, news sites, auction sites, flea market sites, weather forecast sites, and finance (stock price) sites. Furthermore, the online services provided by a business may also be, for example, online services such as search sites, map sites, travel sites, restaurant introduction sites, blog sites, and SNS sites.
組織が提供するオンラインサービスは、組織が自治体であれば、行政サービスであり、例えば、電子申請、電子入札、電子申告、電子納税、公共施設予約、図書貸し出し予約、行政サービスに関する各種の情報提供などのオンラインサービスである。 If the organization is a local government, the online services provided by the organization are administrative services, such as electronic applications, electronic bidding, electronic tax returns, electronic tax payments, reservations for public facilities, book lending reservations, and the provision of various information related to administrative services.
サーバ31~3mの各々は、ユーザUに対して個人情報の利用可否に関する問い合わせを行い、ユーザUからの個人情報の利用可否に関する応答を受け付ける(ステップS21~S2m)。個人情報は、例えば、サーバ31~3mの各々が提供するオンラインサービスのユーザUによる利用履歴およびユーザUの属性情報などを含むユーザ情報である。 Each of the servers 3 1 to 3 m inquires of the user U about whether or not the personal information can be used, and receives a response from the user U about whether or not the personal information can be used (steps S2 1 to S2 m ). The personal information is user information including, for example, the user U's usage history of the online services provided by each of the servers 3 1 to 3 m , the user U's attribute information, and the like.
個人情報の利用可否に関する問い合わせは、個人情報の利用を拒否するか、個人情報の利用を条件付きで許諾するかの問い合わせであり、条件付きの許諾は、ユーザU毎の利用条件およびデータ毎の利用条件のうちの少なくとも1つを含む。ユーザU毎の利用条件およびデータ毎の利用条件の各々は、データが利用される際の個人情報の保護レベルで示され、各ユーザUによって決定される。 The inquiry regarding whether or not personal information can be used is an inquiry as to whether to deny use of the personal information or to conditionally approve use of the personal information, and the conditional approval includes at least one of the conditions of use for each user U and the conditions of use for each data. Each of the conditions of use for each user U and the conditions of use for each data is indicated by the level of protection of personal information when the data is used, and is determined by each user U.
例えば、各利用条件は、複数の保護レベルAL1,AL2,・・・,ALnの中からユーザUによって選択される。保護レベルAL1,AL2,・・・,ALnのうち、保護レベルAL1は、個人情報の保護の度合いが最も低く、保護レベルAL2は、個人情報の保護の度合いが保護レベルAL1の次に低く、保護レベルALnは、個人情報の保護の度合いが最も高い。以下において、保護レベルAL1,AL2,・・・,ALnのうちユーザUによって選択された保護レベルを選択保護レベルSALと記載する場合がある。また、保護レベルAL1,AL2,・・・,ALnの各々を個別に区別せずに示す場合、保護レベルALと記載する場合がある。 For example, each usage condition is selected by the user U from a plurality of protection levels AL 1 , AL 2 , ..., AL n . Of the protection levels AL 1 , AL 2 , ..., AL n , protection level AL 1 provides the lowest level of protection for personal information, protection level AL 2 provides the next lowest level of protection for personal information after protection level AL 1 , and protection level AL n provides the highest level of protection for personal information. Hereinafter, the protection level selected by the user U from protection levels AL 1 , AL 2 , ..., AL n may be referred to as selected protection level SAL. Furthermore, when referring to each of the protection levels AL 1 , AL 2 , ..., AL n without distinguishing them individually, they may be referred to as protection level AL.
個人情報の利用を条件付きで許諾するユーザUが上述した利用条件を選択しない場合、情報処理装置1は、ユーザUの情報に基づいて、利用条件を決定することもできる。情報処理装置1は、例えば、ユーザUの情報を入力とし、保護レベル毎のスコアを出力する保護レベル決定モデルによって、利用条件を決定することができる。 If user U, who conditionally consents to the use of his or her personal information, does not select the above-mentioned conditions of use, the information processing device 1 can also determine the conditions of use based on information about user U. For example, the information processing device 1 can determine the conditions of use using a protection level determination model that inputs information about user U and outputs a score for each protection level.
この場合、情報処理装置1は、利用条件を選択しないユーザUを保護レベル決定モデルに入力し、保護レベル決定モデルから出力される保護レベル毎のスコアのうち最も高いスコアの保護レベルを、利用条件を選択しないユーザUの保護レベルとして決定する。 In this case, the information processing device 1 inputs user U, who does not select any usage conditions, into the protection level determination model, and determines the protection level with the highest score among the scores for each protection level output from the protection level determination model as the protection level for user U, who does not select any usage conditions.
情報処理装置1は、例えば、ユーザUの情報とユーザUが選択した保護レベルとを含むデータセットを学習用データとして用いて、保護レベル決定モデルを機械学習によって生成することができる。 The information processing device 1 can generate a protection level determination model through machine learning, for example, using a dataset including information about user U and the protection level selected by user U as learning data.
保護レベル決定モデルは、例えば、GBDT(Gradient Boosting Decision Tree)によって生成される学習モデルまたはディープニューラルネットワーク(DNN:Deep Neural Network)を利用した深層学習(Deep Learning)によって生成される学習モデルなどであるが、かかる例に限定されず、その他の機械学習方法で生成される学習モデルであってもよい。 The protection level determination model may be, for example, a learning model generated by a Gradient Boosting Decision Tree (GBDT) or a learning model generated by deep learning using a deep neural network (DNN), but is not limited to these examples and may also be a learning model generated by other machine learning methods.
サーバ31~3mの各々は、情報処理装置1に情報を送信する(ステップS31~S3m)。サーバ31~3mの各々から送信される情報は、オンラインサービスのサービスログのデータと、オンラインサービスのサービスログのデータの利用可否を示す情報とを含む。なお、サーバ31~3mの各々から送信される情報には、オンラインサービスを提供する組織を示す提供組織情報、サービスログのデータの利用を許可する組織を示す許可組織情報などが含まれてもよい。 Each of the servers 3 1 to 3 m transmits information to the information processing device 1 (steps S3 1 to S3 m ). The information transmitted from each of the servers 3 1 to 3 m includes service log data of the online service and information indicating whether the service log data of the online service is available for use. Note that the information transmitted from each of the servers 3 1 to 3 m may include provider organization information indicating the organization that provides the online service, authorized organization information indicating the organization that is authorized to use the service log data, etc.
オンラインサービスのサービスログのデータは、サーバ31~3mの各々が提供するオンラインサービスの利用ログのデータであり、例えば、ユーザUによるオンラインサービスの利用履歴の情報およびユーザUの登録情報などを含む。以下において、オンラインサービスのサービスログのデータをサービスログのデータまたはサービスログと記載する場合がある。サービスログのデータは、提供データの一例である。 The service log data of the online service is usage log data of the online service provided by each of the servers 3-1 to 3- m , and includes, for example, information on the usage history of the online service by the user U and registration information of the user U. Hereinafter, the service log data of the online service may be referred to as service log data or service log. The service log data is an example of provided data.
ユーザUの登録情報は、例えば、ユーザUの属性情報および保護レベルの情報などを含む。保護レベルの情報には、複数の保護レベルAL1,AL2,・・・,ALnの中からユーザUに選択された保護レベルである選択保護レベルSALを示す情報が含まれる。 The registration information of the user U includes, for example, attribute information and protection level information of the user U. The protection level information includes information indicating a selected protection level SAL, which is a protection level selected by the user U from a plurality of protection levels AL 1 , AL 2 , ..., AL n .
サーバ31~3mから情報処理装置1に送信される情報に含まれるサービスログのデータには、ユーザUが個人情報の利用を拒否したデータが含まれない。すなわち、サーバ31~3mの各々は、オンラインサービスを利用する複数のユーザUのデータのうち個人情報の利用を条件付きでユーザUが許諾したデータが含まれ、個人情報の利用をユーザUが拒否したデータは含まれない。個人情報の利用をユーザUが拒否したデータは、ユーザU単位で拒否されたデータまたはデータ単位で拒否されたデータである。 The service log data included in the information transmitted from servers 3 1 to 3 m to information processing device 1 does not include data for which user U has refused to use his/her personal information. In other words, each of servers 3 1 to 3 m includes data of multiple users U who use online services, for which user U has conditionally permitted to use their personal information, but does not include data for which user U has refused to use their personal information. The data for which user U has refused to use their personal information is data for which use has been refused on a user U-by-user U basis or on a data-by-data basis.
また、サービスログのデータの利用可否を示す情報には、サービスログのデータの利用を拒否する拒否情報およびサービスログのデータの利用を許諾する許諾情報のいずれかが含まれる。サービスログのデータの利用可否を示す情報は、例えば、オンラインサービスを提供する組織によって設定される情報である。 In addition, the information indicating whether the service log data can be used includes either denial information that denies the use of the service log data or permission information that permits the use of the service log data. The information indicating whether the service log data can be used is, for example, information set by the organization that provides the online service.
情報処理装置1は、サーバ31~3mの各々から送信される情報を受信し、受信したサーバ31~3mの各々の情報を対応する組織に紐付けて記憶する(ステップS4)。以下において、サーバ31~3mの各々を個別に区別せずに示す場合、サーバ3と記載する場合があり、ステップS31~S3mの各々を個別に区別せずに示す場合、ステップS3と記載する場合がある。 The information processing device 1 receives the information transmitted from each of the servers 3 1 to 3 m , and stores the received information from each of the servers 3 1 to 3 m in association with the corresponding organization (step S4). Hereinafter, when each of the servers 3 1 to 3 m is referred to without distinction, it may be referred to as server 3, and when each of the steps S3 1 to S3 m is referred to without distinction, it may be referred to as step S3.
ステップS4の処理において、情報処理装置1は、各サーバ3から送信されるサービスログのデータを複数の組織のうち紐付け条件を満たす組織に紐付けて記憶する。紐付け条件を満たす組織は、例えば、オンラインサービスを提供する組織、またはサービスログのデータを提供した組織である。 In step S4, the information processing device 1 associates the service log data sent from each server 3 with an organization among multiple organizations that satisfies the association conditions, and stores the associated data. An organization that satisfies the association conditions is, for example, an organization that provides online services or an organization that provided the service log data.
例えば、情報処理装置1は、サーバ31がオンラインサービスを提供する組織が管理する組織のサーバである場合、サーバ31から送信されたサービスログのデータを、サーバ31を管理する組織に紐付ける。 For example, if the server 3 1 is a server managed by an organization that provides online services, the information processing device 1 associates the service log data sent from the server 3 1 with the organization that manages the server 3 1 .
また、情報処理装置1は、例えば、サーバ3mがサーバ3mを管理する組織とは異なる組織のオンラインサービスを提供するサーバである場合、サーバ3mから送信されたサービスログのデータを、サーバ3mによってオンラインサービスが提供される組織に紐付ける。 Furthermore, for example, when server 3 m is a server that provides online services for an organization different from the organization that manages server 3 m , the information processing device 1 links the service log data transmitted from server 3 m to the organization to which the online services are provided by server 3 m .
情報処理装置1は、ステップS3においてサーバ3から送信される情報にオンラインサービスを提供する組織を示す提供組織情報が含まれている場合、提供組織情報で示される組織を、紐付け条件を満たす組織として判定することができる。 If the information transmitted from the server 3 in step S3 includes providing organization information indicating an organization that provides online services, the information processing device 1 can determine that the organization indicated in the providing organization information is an organization that satisfies the linking conditions.
また、紐付け条件を満たす組織は、関連性推定モデルから出力されるスコアが予め設定された条件を満たす組織であってもよい。関連性推定モデルは、例えば、サービスログのデータを入力とし、サービスログのデータの要求元との組織毎の関連性を示すスコアを出力とする学習モデルである。 An organization that satisfies the linking conditions may also be an organization for which the score output from the relevance estimation model satisfies a preset condition. The relevance estimation model is, for example, a learning model that takes service log data as input and outputs a score indicating the relevance of each organization with the source of the service log data request.
関連性推定モデルは、各組織と関連性があると予め判定されたサービスログのデータを各組織の正解データとし、各組織の正解データが有する特徴をモデルに学習させることによって生成される。関連性推定モデルは、複数の組織に共通する学習モデルであるが、組織毎の学習モデルであってもよい。 The relevance estimation model is generated by using service log data that has been determined in advance to be relevant to each organization as the correct answer data for each organization and having the model learn the characteristics of the correct answer data for each organization. The relevance estimation model is a learning model common to multiple organizations, but it may also be a learning model for each organization.
情報処理装置1は、サービスログのデータを関連性推定モデルに入力し、関連性推定モデルから出力される組織毎のスコアのうち所定条件を満たすスコアの組織を、関連性推定モデルから出力されるスコアが予め設定された条件を満たす組織として特定する。所定条件を満たすスコアは、例えば、最も高いスコアであるが、例えば、閾値以上のスコアであってもよい。閾値以上のスコアの組織が複数ある場合、情報処理装置1は、サービスログのデータを複数の組織に紐付けることができる。 The information processing device 1 inputs the service log data into the relevance estimation model, and identifies organizations whose scores satisfy predetermined conditions among the scores for each organization output from the relevance estimation model as organizations whose scores output from the relevance estimation model satisfy the preset conditions. The score that satisfies the predetermined conditions is, for example, the highest score, but it may also be, for example, a score above a threshold. If there are multiple organizations with scores above the threshold, the information processing device 1 can link the service log data to multiple organizations.
関連性推定モデルは、例えば、GBDTによって生成される学習モデルまたはディープニューラルネットワークを利用した深層学習によって生成される学習モデルなどであるが、かかる例に限定されず、その他の機械学習方法で生成される学習モデルであってもよい。 The relevance estimation model may be, for example, a learning model generated by GBDT or a learning model generated by deep learning using a deep neural network, but is not limited to these examples and may also be a learning model generated by other machine learning methods.
例えば、関連性推定モデルは、線形回帰、重回帰、またはロジスティック回帰といった回帰手法やサポートベクタマシンなどの学習アルゴリズムなどのように他の学習アルゴリズムによる機械学習を用いて生成されてもよい。 For example, the relevance estimation model may be generated using machine learning with other learning algorithms, such as regression methods such as linear regression, multiple regression, or logistic regression, or learning algorithms such as support vector machines.
情報処理装置1は、例えば、利用を不可とされたサービスログのデータを、組織に紐付けずに記憶することもできる。情報処理装置1は、サーバ3から送信される情報に含まれるサービスログのデータの利用可否を示す情報に基づいて、利用を不可とされたサービスログのデータであるか否かを判定することができる。 For example, the information processing device 1 can store service log data that has been disabled without linking it to an organization. The information processing device 1 can determine whether the service log data has been disabled based on information indicating whether the service log data is available, which is included in the information sent from the server 3.
つづいて、情報処理装置1には、要求者装置4からのクエリをデータの提供要求として受け付ける(ステップS5)。要求者装置4からのクエリには、例えば、利用対象データまたは処理対象データなどを特定するためのデータ特定情報、および要求元の組織の組織ID(IDentifier)の組織特定情報などが含まれる。要求元の組織は、例えば、要求者装置4を操作する操作者が所属する組織またはかかる操作者が所属する組織に分析を依頼した組織などである。 Next, the information processing device 1 accepts a query from the requester device 4 as a request to provide data (step S5). The query from the requester device 4 includes, for example, data identification information for identifying the data to be used or the data to be processed, and organization identification information such as the organization ID (identifier) of the requesting organization. The requesting organization is, for example, the organization to which the operator operating the requester device 4 belongs, or the organization that has requested an analysis from the organization to which the operator belongs.
データ特定情報には、対象組織情報および処理対象情報などが含まれる。対象組織情報には、利用対象となるデータを有する組織である対象組織の組織IDなどが含まれる。例えば、要求元の組織が分析したいデータが組織Bによって提供されるオンラインサービスのサービスログのデータである場合、対象組織の組織IDは、組織Bの組織IDである。 Data identification information includes target organization information and processing target information. Target organization information includes the organization ID of the target organization, which is the organization that owns the data to be used. For example, if the data that the requesting organization wants to analyze is service log data for an online service provided by organization B, the organization ID of the target organization is the organization ID of organization B.
処理対象情報には、処理対象となるデータである処理対象データの種別を示すデータ種別情報や処理対象データの処理内容を示す処理内容情報などが含まれる。データ種別情報は、例えば、オンラインサービスを利用したユーザUである利用ユーザの位置を示す情報、利用ユーザによるオンラインサービスの利用履歴の種別を示す情報、利用ユーザの属性の種別を示す情報、学習モデルの入力情報および出力情報の種別を示す情報などである。 The processing target information includes data type information indicating the type of processing target data, which is the data to be processed, and processing content information indicating the processing content of the processing target data. Data type information includes, for example, information indicating the location of the user U who used the online service, information indicating the type of usage history of the online service by the user, information indicating the type of attributes of the user, and information indicating the type of input information and output information of the learning model.
利用ユーザの位置を示す情報は、例えば、端末装置2に設けられた不図示の位置検出部によって検出された位置を示す情報であり、利用ユーザによるオンラインサービス時に端末装置2からサーバ3に送信される情報である。 The information indicating the user's location is, for example, information indicating the location detected by a location detection unit (not shown) provided in the terminal device 2, and is information transmitted from the terminal device 2 to the server 3 when the user uses an online service.
オンラインサービスの利用履歴は、オンラインサービスの利用日時およびオンラインサービスの利用内容などを含む。オンラインサービスの利用内容は、例えば、オンラインサービスがショッピングサイトによるサービスであれば、取引対象の利用ユーザによる閲覧の内容、取引対象の利用ユーザによる購入の内容、取引対象に対する利用ユーザによる評価の内容、および取引対象に対する利用ユーザによるお気に入り登録の内容などである。 The online service usage history includes the date and time of use of the online service and the content of use of the online service. For example, if the online service is a shopping site service, the content of use of the online service includes the content viewed by the user of the transaction target, the content purchased by the user of the transaction target, the content rated by the user of the transaction target, and the content added to favorites by the user of the transaction target.
オンラインサービスの利用内容は、例えば、オンラインサービスが行政サービスであれば、利用ユーザによる電子申請の内容、利用ユーザによる電子入札の内容、利用ユーザによる電子申告の内容、利用ユーザによる電子納税の内容、利用ユーザによる公共施設予約の内容、利用ユーザによる図書貸し出し予約の内容、利用ユーザによる各種の情報の閲覧などである。 For example, if the online service is a government service, the usage content of the online service may include the content of electronic applications submitted by users, the content of electronic bidding submitted by users, the content of electronic tax returns submitted by users, the content of public facility reservations submitted by users, the content of book lending reservations submitted by users, and the viewing of various information by users.
ユーザUの属性は、デモグラフィック属性およびサイコグラフィック属性のうちの少なくともいずれか1つである。デモグラフィック属性は、人口統計学的属性であり、例えば、年齢、性別、職業、居住地、年収、家族構成などである。サイコグラフィック属性は、心理学的属性であり、例えば、ライフスタイル、価値観、興味関心などである。 User U's attributes are at least one of demographic attributes and psychographic attributes. Demographic attributes are demographic attributes, such as age, gender, occupation, place of residence, annual income, and family composition. Psychographic attributes are psychological attributes, such as lifestyle, values, and interests.
処理内容情報は、例えば、平均、合計、分散といった統計演算種別や学習モデルのパラメータの生成演算種別などを示す情報を含む。処理対象情報によって特定される処理内容は、例えば、京都府の20代の男性の平均年収、バイクが好きな人の平均の分散、電子納税を行ったユーザUの合計数などでの算出や、ユーザUの位置や属性を示す情報を入力とし、ユーザUによるオンラインサービスの利用可能性を示すスコアを出力する学習モデルの生成などである。 The processing content information includes, for example, information indicating the type of statistical calculation, such as average, sum, or variance, or the type of calculation to generate parameters for a learning model. The processing content specified by the processing target information includes, for example, calculation of the average annual income of men in their twenties in Kyoto Prefecture, the average variance of people who like motorcycles, or the total number of users U who have made electronic tax payments, or generation of a learning model that takes information indicating the location and attributes of user U as input and outputs a score indicating the likelihood of user U using online services.
つづいて、情報処理装置1は、ステップS5で受け付けたクエリで特定されるデータである提供候補データが、特定関係組織に紐付けられたデータであるか否かを判定する(ステップS6)。特定関係組織は、提供要求の要求元と予め定められた関係性を有する組織である。提供要求の要求元は、クエリに含まれる組織特定情報で示される組織IDの組織である。 Next, the information processing device 1 determines whether the candidate data to be provided, which is data identified by the query received in step S5, is data linked to a specific related organization (step S6). A specific related organization is an organization that has a predetermined relationship with the requester of the provision request. The requester of the provision request is the organization whose organization ID is indicated by the organization identification information included in the query.
情報処理装置1は、例えば、対象組織情報に含まれる組織IDで示される対象組織が提供要求の要求元と予め定められた競合関係にある組織である場合に、提供候補データが、特定関係組織のデータであると判定する。情報処理装置1は、例えば、予め定められた競合関係にある組織を示す情報を組織毎に含む関係性テーブルを有し、かかる関係性テーブルを用いて、提供候補データが特定関係組織のデータであるか否かを判定する。 For example, if the target organization indicated by the organization ID included in the target organization information is an organization that is in a predetermined competitive relationship with the requester of the provision request, the information processing device 1 determines that the data to be provided is data of a specific related organization. For example, the information processing device 1 has a relationship table that includes, for each organization, information indicating organizations that are in a predetermined competitive relationship, and uses this relationship table to determine whether the data to be provided is data of a specific related organization.
情報処理装置1は、ステップS3においてサーバ3から送信される情報にサービスログのデータの利用を許可する組織を示す許可組織情報が含まれている場合、許可組織情報で示される組織を予め定められた競合関係にある組織として判定することもできる。 If the information transmitted from the server 3 in step S3 includes permitted organization information indicating an organization that is permitted to use the service log data, the information processing device 1 can also determine that the organization indicated in the permitted organization information is an organization in a predetermined competitive relationship.
また、情報処理装置1は、競合関係にある組織の情報を正解データとし、競合関係にある組織の正解データが有する特徴を学習した関係組織推定モデルを用いて、競合関係にある組織であるかを推定することもできる。関係組織推定モデルは、提供要求の要求元の組織毎の学習モデルである。この場合、情報処理装置1は、例えば、提供要求の要求元の組織の関係組織推定モデルに各組織の情報を入力し、関係組織推定モデルから出力されるスコアが閾値以上である組織を競合関係の組織であると判定する。 The information processing device 1 can also use information about competing organizations as correct answer data and use a related organization estimation model that has learned the characteristics of the correct answer data for competing organizations to estimate whether an organization is in a competitive relationship. The related organization estimation model is a learning model for each organization that has requested the provision request. In this case, the information processing device 1 inputs information about each organization into the related organization estimation model for the organization that has requested the provision request, and determines that an organization whose score output from the related organization estimation model is equal to or greater than a threshold is a competing organization.
なお、上述した例では、特定関係組織として、提供要求の要求元と予め定められた競合関係にある組織を例に挙げて説明したが、かかる例に限定されない。例えば、情報処理装置1は、提供要求の要求元と予め定められた競合関係にない組織を、特定関係組織として判定することもできる。 In the above example, a specifically related organization is described as an organization that is in a predetermined competitive relationship with the requester of the provision request, but this example is not limited to this. For example, the information processing device 1 can also determine that an organization that is not in a predetermined competitive relationship with the requester of the provision request is a specifically related organization.
例えば、情報処理装置1は、予め定められた競合関係にない組織を示す情報を組織毎に含む関係性テーブルを有し、かかる関係性テーブルを用いて、特定関係組織を判定する。 For example, the information processing device 1 has a relationship table that contains, for each organization, information indicating organizations that are not in a predetermined competitive relationship, and uses this relationship table to determine specific related organizations.
また、情報処理装置1は、例えば、競合関係にない組織の情報を正解データとし、競合関係にない組織の正解データが有する特徴を学習した関係組織推定モデルを用いて、特定関係組織を判定することもできる。 In addition, the information processing device 1 can, for example, use information about non-competitive organizations as correct data and determine specific related organizations using a related organization estimation model that has learned the characteristics of the correct data about non-competitive organizations.
つづいて、情報処理装置1は、提供候補データが特定関係組織に紐付けられたデータがあると判定した場合、特定関係組織に紐付けられたデータであってステップS5で受け付けたクエリに応じたデータの種別を特定する(ステップS7)。 Next, if the information processing device 1 determines that the candidate data to be provided is data linked to a specific related organization, it identifies the type of data linked to the specific related organization and corresponding to the query received in step S5 (step S7).
ステップS5で受け付けたクエリには上述したように処理対象情報が含まれており、情報処理装置1は、処理対象情報に含まれるデータ種別情報に基づいて、クエリに応じたデータである対象データの種別を特定する。情報処理装置1は、例えば、データ種別情報が京都府の20代の男性の年収を示す情報である場合、京都府の20代の男性の年収を対象データの種別として特定する。 As described above, the query received in step S5 includes processing target information, and the information processing device 1 identifies the type of target data, which is data corresponding to the query, based on the data type information included in the processing target information. For example, if the data type information is information indicating the annual income of men in their twenties living in Kyoto Prefecture, the information processing device 1 identifies the annual income of men in their twenties living in Kyoto Prefecture as the type of target data.
また、情報処理装置1は、データ種別情報が、学習モデルの入力情報および出力情報の各々の種別を示す情報を含む場合、学習モデルの入力情報および出力情報の各々の種別を対象データの種別として特定する。入力情報は、例えば、ユーザUの位置や属性を示す情報であり、出力情報は、例えば、ユーザUによるオンラインサービスの利用内容を示す情報であるが、かかる例に限定されない。 Furthermore, when the data type information includes information indicating the types of input information and output information of the learning model, the information processing device 1 identifies the types of input information and output information of the learning model as the types of target data. The input information is, for example, information indicating the location and attributes of user U, and the output information is, for example, information indicating the content of user U's use of online services, but these examples are not limited to these.
なお、情報処理装置1は、ステップS7の処理において、対象データの数や対象データの元となるユーザUの数が閾値以上になるようにデータの指定を受け付けることもできる。例えば、情報処理装置1は、対象データの数や対象データの元となるユーザUの数が閾値以上である属性のリストを要求者装置4に送信することで、操作者に属性のリストの中から属性を選択させることができる。 In addition, in the processing of step S7, the information processing device 1 can also accept data specification so that the number of target data or the number of users U who are the source of the target data is greater than or equal to a threshold. For example, the information processing device 1 can send to the requester device 4 a list of attributes for which the number of target data or the number of users U who are the source of the target data is greater than or equal to a threshold, thereby allowing the operator to select an attribute from the list of attributes.
つづいて、情報処理装置1は、特定関係組織に紐付けられたデータであってステップS7で特定した種別のデータに匿名加工を行う(ステップS8)。 Next, the information processing device 1 anonymizes the data linked to the specific related organization and of the type identified in step S7 (step S8).
例えば、特定関係組織が組織Bであり、ステップS7で特定した種別がユーザUの特定の属性であるとする。この場合、情報処理装置1は、組織Bのサービスログのデータのうち特定の属性のデータに対して匿名加工を行う。例えば、ステップS7で特定した種別が京都府の20代の男性の年収である場合、京都府の20代の男性である複数のユーザUの年収を特定の属性のデータとして、匿名加工を行う。以下において、特定関係組織に紐付けられたデータであってステップS7で特定した種別のデータを匿名加工対象データと記載する。匿名加工対象データには、ステップS7で特定した種別のデータが複数含まれており、匿名加工対象データ群とも言える。 For example, suppose the specific related organization is organization B, and the type identified in step S7 is a specific attribute of user U. In this case, the information processing device 1 performs anonymization on data of the specific attribute from the service log data of organization B. For example, if the type identified in step S7 is the annual income of men in their twenties living in Kyoto Prefecture, the information processing device 1 performs anonymization on the annual incomes of multiple users U who are men in their twenties living in Kyoto Prefecture, using the data as the specific attribute. Hereinafter, data linked to the specific related organization and of the type identified in step S7 will be referred to as data to be anonymized. The data to be anonymized includes multiple pieces of data of the type identified in step S7, and can also be considered a group of data to be anonymized.
ステップS8において、情報処理装置1は、まず、匿名加工対象データに含まれる各データをユーザUが設定した利用条件に応じたグループに分類する。匿名加工対象データに含まれるデータは、ユーザUによって利用が許諾されたデータである。 In step S8, the information processing device 1 first classifies each piece of data included in the data to be anonymized into groups according to the usage conditions set by the user U. The data included in the data to be anonymized is data whose use has been permitted by the user U.
例えば、ユーザUによって設定された利用条件が、複数の保護レベルAL1,AL2,・・・,ALnの中からユーザUによって選択された保護レベルで示されるとする。この場合、情報処理装置1は、複数の保護レベルAL1,AL2,・・・,ALnに対応する複数のグループG1,G2,・・・,Gnに匿名加工対象データに含まれるデータを分類する。 For example, assume that the usage conditions set by a user U are indicated by a protection level selected by the user U from a plurality of protection levels AL 1 , AL 2 , ..., AL n . In this case, the information processing device 1 classifies data included in the data to be anonymized into a plurality of groups G 1 , G 2 , ..., G n corresponding to the plurality of protection levels AL 1 , AL 2 , ..., AL n .
例えば、保護レベルAL1で示される利用条件が設定されたデータは、グループG1に分類され、保護レベルAL2で示される利用条件が設定されたデータは、グループG2に分類され、保護レベルALnで示される利用条件が設定されたデータは、グループGnに分類される。以下において、複数のグループG1,G2,・・・,Gnの各々を個別に区別せずに示す場合、グループGと記載する場合がある。 For example, data for which usage conditions indicated by protection level AL 1 are set is classified into group G 1 , data for which usage conditions indicated by protection level AL 2 are set is classified into group G 2 , and data for which usage conditions indicated by protection level AL n are set is classified into group G n . Hereinafter, when each of the multiple groups G 1 , G 2 , ..., G n is referred to without being individually distinguished, they may be referred to as group G.
情報処理装置1は、匿名加工対象データに含まれる各データをユーザUが設定した利用条件に応じたグループGに分類した後、同一のグループGに分類された複数のデータを含むユーザデータ群に基づく演算結果(例えば、平均、合計、分散などの統計量)のデータをグループGに応じたノイズを付加したノイズ付加データまたはユーザデータ群にグループGに応じたノイズを付加したノイズ付加データ群をグループG毎に生成する。 The information processing device 1 classifies each piece of data included in the data to be anonymized into a group G according to the conditions of use set by the user U, and then generates, for each group G, noise-added data by adding noise appropriate to the group G to the data (e.g., statistical quantities such as average, sum, and variance) of calculations based on a user data group including multiple pieces of data classified into the same group G, or a noise-added data group by adding noise appropriate to the group G to the user data group.
情報処理装置1は、差分プライバシーによる匿名加工またはk-匿名化による匿名加工によって、ノイズ付加データまたはノイズ付加データ群を生成する。まず、差分プライバシーによる匿名加工について説明した後、k-匿名化による匿名加工について説明する。 The information processing device 1 generates noise-added data or a group of noise-added data using anonymization processing based on differential privacy or k-anonymization. First, we will explain anonymization processing based on differential privacy, and then we will explain anonymization processing based on k-anonymization.
情報処理装置1は、クエリに含まれる処理内容情報で示される処理内容に基づいて、グループG毎のユーザデータ群からグループG毎の演算結果のデータを算出する。処理内容情報で示される処理内容は、例えば、特定のデータに対する平均、合計、分散といった統計演算や学習モデルのパラメータの生成などである。 The information processing device 1 calculates the calculation result data for each group G from the user data set for each group G based on the processing content indicated in the processing content information included in the query. The processing content indicated in the processing content information includes, for example, statistical calculations such as average, sum, and variance for specific data, and generation of learning model parameters.
例えば、処理内容情報で示される処理内容がユーザUの平均年収であるとする。この場合、情報処理装置1は、グループG毎の演算結果のデータとして、グループG毎のユーザUの平均年収を示すデータを算出する。 For example, suppose the processing content indicated by the processing content information is the average annual income of user U. In this case, the information processing device 1 calculates data indicating the average annual income of user U for each group G as the calculation result data for each group G.
また、処理内容情報で示される処理内容がユーザUの年齢の分布であるとする。この場合、情報処理装置1は、グループG毎の演算結果のデータとして、グループG毎のユーザUの年齢の分布または分散を示すデータを算出する。 Also, assume that the processing content indicated by the processing content information is the age distribution of users U. In this case, the information processing device 1 calculates data indicating the distribution or variance of the ages of users U for each group G as data of the calculation results for each group G.
また、処理内容情報で示される処理内容が学習モデルのパラメータの生成であるとする。この場合、情報処理装置1は、確率的勾配降下法を使って学習モデルを最適化する際の、トレーニングデータのサンプルに起因する複数の勾配の平均値を示すデータをグループG毎に算出する。 Also, assume that the processing content indicated by the processing content information is the generation of parameters for a learning model. In this case, the information processing device 1 calculates, for each group G, data indicating the average value of multiple gradients resulting from training data samples when optimizing the learning model using stochastic gradient descent.
また、情報処理装置1は、処理内容情報で示される処理内容に加えて、グループG毎のユーザUの数(合計)を示すデータおよび統計処理対象のグループG毎の分散を示すデータの各々を演算結果のデータとして算出する。以下において、ユーザUの数をユーザ数と記載する場合がある。 In addition to the processing content indicated by the processing content information, the information processing device 1 also calculates, as calculation result data, data indicating the number (total) of users U for each group G and data indicating the variance for each group G subject to statistical processing. Hereinafter, the number of users U may be referred to as the number of users.
そして、情報処理装置1は、グループG毎の演算結果のデータにグループGに応じたノイズを付加したグループG毎のノイズ付加データを生成する。例えば、複数の保護レベルAL1,AL2,・・・,ALnに対応する複数のグループG1,G2,・・・,Gnに匿名加工対象データに含まれるデータが分類されたとする。 Then, the information processing device 1 generates noise-added data for each group G by adding noise according to the group G to the data of the calculation results for each group G. For example, it is assumed that data included in the data to be anonymized is classified into a plurality of groups G 1 , G 2 , ..., G n corresponding to a plurality of protection levels AL 1 , AL 2 , ..., AL n .
この場合、情報処理装置1は、グループG1,G2,・・・,Gnの順に演算結果のデータにノイズレベルが高くなるノイズを付加する。このように、データの保護レベルALが高い利用条件に応じたグループGほどノイズレベルが高いノイズを付加したグループG毎のノイズ付加データを生成する。 In this case, the information processing device 1 adds noise of increasing noise level to the data resulting from the calculation in the order of groups G 1 , G 2 , ..., G n . In this way, the noise-added data is generated for each group G, with the noise added to a higher level for groups G according to usage conditions with a higher data protection level AL.
ノイズは、例えば、固定ノイズ、ガウシアンノイズ、またはラプラスノイズなどである。情報処理装置1は、演算結果のデータに付加されるノイズが固定ノイズである場合、ノイズレベルが高い固定ノイズほど値を大きくする。 Noise may be, for example, fixed noise, Gaussian noise, or Laplace noise. If the noise added to the calculation result data is fixed noise, the information processing device 1 increases the value of the fixed noise as the noise level increases.
また、情報処理装置1は、演算結果のデータに付加されるノイズがガウシアンノイズである場合、ノイズの平均値の絶対値を大きくしたり、ノイズの標準偏差を大きくしたりすることで、ノイズレベルを高くすることができる。また、情報処理装置1は、演算結果のデータに付加されるノイズがラプラスノイズである場合、ノイズの平均値の絶対値を大きくしたり、ノイズの標準偏差を大きくしたりすることで、ノイズレベルを高くすることができる。 Furthermore, when the noise added to the calculation result data is Gaussian noise, the information processing device 1 can increase the noise level by increasing the absolute value of the average value of the noise or by increasing the standard deviation of the noise.Furthermore, when the noise added to the calculation result data is Laplace noise, the information processing device 1 can increase the noise level by increasing the absolute value of the average value of the noise or by increasing the standard deviation of the noise.
このように、情報処理装置1は、差分プライバシーによる匿名加工の処理において、グループG毎の演算結果のデータにグループGに応じたノイズを付加したグループG毎のノイズ付加データを生成する。 In this way, in the anonymization process using differential privacy, the information processing device 1 generates noise-added data for each group G by adding noise appropriate to the group G to the data resulting from the calculation for each group G.
次に、情報処理装置1におけるk-匿名化による匿名加工について説明する。k-匿名化は、個人が特定される確率をk分の1以下に変換して個人の特定を困難にする技術であり、例えば、ユーザUのデータに含まれる準識別子の組み合わせが同じであるユーザUをk人以上にするように、匿名加工対象データにノイズを付加する。 Next, we will explain anonymization using k-anonymization in the information processing device 1. K-anonymization is a technology that makes it difficult to identify an individual by reducing the probability of identifying the individual to 1 in k or less. For example, noise is added to the data to be anonymized so that there are k or more users U with the same combination of quasi-identifiers included in the data of user U.
準識別子の組み合わせは、例えば、年齢、性別、生年月日、および居住地(または位置)などといった属性項目の組み合わせである。情報処理装置1は、例えば、ある属性項目をアスタリスク「*」などに変換することによってノイズを付加する抑制処理を行ったり、属性項目の階層を上げることによってノイズを付加する一般化処理を行ったりすることで、匿名加工を行う。一般化処理は、例えば、属性項目が居住地(または位置)である場合、「東京都千代田区」を「東京都」にするなどの処理である。 A combination of quasi-identifiers is a combination of attribute items such as age, gender, date of birth, and place of residence (or location). The information processing device 1 performs anonymization by, for example, performing suppression processing to add noise by converting a certain attribute item into an asterisk (*) or by performing generalization processing to add noise by raising the hierarchy of the attribute item. For example, if the attribute item is place of residence (or location), generalization processing would change "Chiyoda-ku, Tokyo" to "Tokyo."
また、情報処理装置1は、ある閾値以上の値を1つのカテゴリにまとめるトップコーディング、またはある閾値以下の値を1つのカテゴリにまとめるボトムコーティングによってノイズを付加することもできる。トップコーディングは、例えば、属性項目が年齢である場合、「80才」、「81才」、および「92才」などを「80才以上」などとする処理である。また、ボトムコーティングは、例えば、属性項目が年齢である場合、「0才」、「1才」、および「3才」などを「3才以下」などとする処理である。 The information processing device 1 can also add noise using top coding, which groups values above a certain threshold into one category, or bottom coding, which groups values below a certain threshold into one category. Top coding is a process in which, for example, if the attribute item is age, values such as "80 years old," "81 years old," and "92 years old" are reclassified as "80 years old or older." Bottom coding is a process in which, for example, if the attribute item is age, values such as "0 years old," "1 year old," and "3 years old" are reclassified as "under 3 years old."
情報処理装置1は、データの保護レベルALが高い利用条件に応じたグループGのユーザデータ群ほどノイズレベルが高いノイズを付加したグループG毎のノイズ付加データ群を生成する。例えば、情報処理装置1は、データの保護レベルALが高いグループGほどノイズとして追加するデータの量である追加量を増やしたり、ノイズとして変更するデータの量である変更量を増やしたりする。 The information processing device 1 generates noise-added data groups for each group G, with noise added at higher levels for user data groups in the group G according to usage conditions with higher data protection levels AL. For example, the information processing device 1 increases the addition amount, which is the amount of data to be added as noise, or increases the change amount, which is the amount of data to be changed as noise, for groups G with higher data protection levels AL.
情報処理装置1は、一般化処理において、例えば、一般化のレベルを高くすることによってノイズレベルを高くすることができる。一般化のレベルは、1つ上の階層よりも2つ上の階層が高く、2つ上の階層よりも3つ上の階層が高い。 In the generalization process, the information processing device 1 can increase the noise level, for example, by increasing the generalization level. The generalization level is higher at the second hierarchical level than at the first hierarchical level, and higher at the third hierarchical level than at the second hierarchical level.
また、情報処理装置1は、例えば、抑制処理において、アスタリスク「*」に変換する属性項目を増やすことによってノイズレベルを高くすることができる。また、情報処理装置1は、ある閾値以上の値を1つのカテゴリにまとめる際に閾値を小さくすることによってノイズレベルを高くすることができる。また、情報処理装置1は、ある閾値以下の値を1つのカテゴリにまとめる際に閾値を大きくすることによってノイズレベルを高くすることができる。 In addition, the information processing device 1 can increase the noise level by, for example, increasing the number of attribute items that are converted to asterisks "*" during suppression processing. Furthermore, the information processing device 1 can increase the noise level by decreasing the threshold when grouping values above a certain threshold into one category. Furthermore, the information processing device 1 can increase the noise level by increasing the threshold when grouping values below a certain threshold into one category.
例えば、保護レベルAL1~ALnのうちユーザUによって選択された保護レベルである選択保護レベルSALに応じたグループGに各ユーザUが分類されたとする。この場合、情報処理装置1は、データの保護レベルALが高いグループGほどノイズレベルが高いノイズを付加する。 For example, suppose that each user U is classified into a group G according to a selected protection level SAL, which is a protection level selected by the user U from among protection levels AL 1 to AL n . In this case, the information processing device 1 adds noise at a higher noise level to groups G with higher data protection levels AL.
情報処理装置1は、グループG毎のユーザデータ群に対して、データの保護レベルALが高い利用条件に応じた数または内容のダミーデータを追加するダミー追加処理を行うこともできる。ダミーデータは、例えば、グループG毎のユーザデータ群に含まれるデータと同じであってもよく、ユーザデータ群に含まれるデータを加工したデータであってもよい。また、ダミーデータは、ランダムまたは所定の規則に従って生成したデータであってもよい。 The information processing device 1 can also perform a dummy addition process to add dummy data to the user data group for each group G, the number or content of which corresponds to the usage conditions for which the data protection level AL is high. The dummy data may, for example, be the same as the data contained in the user data group for each group G, or may be data obtained by processing the data contained in the user data group. The dummy data may also be data generated randomly or according to predetermined rules.
情報処理装置1は、例えば、データの保護レベルALが高いほど、追加するダミーデータの数を多くしたり、ユーザデータ群に含まれるデータに対する加工度合いを高めたデータをダミーデータとしたりすることができる。 For example, the higher the data protection level AL, the more dummy data the information processing device 1 can add, or use data that has been highly modified from data included in the user data group as dummy data.
情報処理装置1は、各グループGの全体的な傾向が変化しないようにダミーデータをユーザデータ群に付加することもできる。例えば、情報処理装置1は、各グループGの全体的な傾向が変化しないように、ダミーデータを付加する前と後とでユーザデータ群に基づく演算結果(例えば、平均、合計、分散などの統計量)が閾値範囲内になるように、ダミーデータをユーザデータ群に付加する。 The information processing device 1 can also add dummy data to the user data group so that the overall trend of each group G does not change. For example, the information processing device 1 adds dummy data to the user data group so that the results of calculations based on the user data group (e.g., statistical quantities such as averages, sums, and variances) before and after adding the dummy data are within a threshold range, so that the overall trend of each group G does not change.
情報処理装置1は、保護レベルAL毎に異なるノイズ付加方法でユーザデータ群にノイズを付加することもできる。ノイズ付加方法は、例えば、抑制処理、一般化処理、およびダミー追加処理などであり、抑制処理にも、アスタリスク「*」への変換、トップコーティング、およびボトムコーティングなどのノイズ付加方法がある。なお、ノイズ付加方法は上述した例に限定されない。 The information processing device 1 can also add noise to a group of user data using a different noise addition method for each protection level AL. Noise addition methods include, for example, suppression processing, generalization processing, and dummy addition processing, and suppression processing also includes noise addition methods such as conversion to asterisks (*), top coating, and bottom coating. Note that the noise addition methods are not limited to the examples described above.
このように、情報処理装置1は、k-匿名化による匿名加工の処理において、グループG毎のユーザデータ群にグループGに応じたノイズを付加したグループG毎のノイズ付加データ群を生成する。 In this way, in the anonymization process using k-anonymization, the information processing device 1 generates a noise-added data group for each group G by adding noise appropriate to the group G to the user data group for each group G.
次に、情報処理装置1は、ステップS8において匿名加工によって生成したグループG毎のノイズ付加データまたはグループG毎のノイズ付加データ群に基づいて、利用対象データを生成する(ステップS9)。 Next, the information processing device 1 generates data to be used based on the noise-added data for each group G or the group of noise-added data for each group G generated by anonymization in step S8 (step S9).
まず、ステップS8においてグループG毎のノイズ付加データが匿名加工によって生成された場合について説明する。この場合、情報処理装置1は、グループG毎のノイズ付加データを重み付け加算することによって、利用対象データを生成する。重み付けは、グループG毎のユーザデータ群に含まれるユーザ数にノイズを付加した値に応じた重み、またはグループG毎のユーザデータ群に含まれるユーザ数にノイズを付加した値をグループG毎の分散にノイズを付加した値で除算した値に応じた重みなどが用いられる。 First, we will explain the case where noise-added data for each group G is generated by anonymization in step S8. In this case, the information processing device 1 generates the data to be used by weighting and adding the noise-added data for each group G. The weighting may be a weight corresponding to the value obtained by adding noise to the number of users included in the user data group for each group G, or a weight corresponding to the value obtained by dividing the value obtained by adding noise to the number of users included in the user data group for each group G by the value obtained by adding noise to the variance for each group G.
例えば、グループG1,G2,・・・,Gnの演算結果をMs1,Ms2,・・・,Msnとし、グループG1,G2,・・・,GnのノイズをMn1,Mn2,・・・,Mnnとする。また、グループG1,G2,・・・,Gnの重みをk1,k2,・・・,knとする。 For example, let Ms1 , Ms2 , ..., Msn be the calculation results for groups G1 , G2 , ..., Gn , let Mn1 , Mn2 , ..., Mnn be the noises for groups G1 , G2 , ..., Gn , and let k1 , k2 , ..., kn be the weights for groups G1 , G2, ..., Gn .
この場合、情報処理装置1は、下記式(1)で表される値Daを利用対象データの値として算出することができる。
Da=k1(Ms1+Mn1)+k2(Ms2+Mn2)+・・・
+kn・(Msn+Mnn) ・・・(1)
In this case, the information processing device 1 can calculate the value Da expressed by the following formula (1) as the value of the use target data.
Da=k 1 (Ms 1 +Mn 1 )+k 2 (Ms 2 +Mn 2 )+...
+k n・(Ms n +Mn n ) ... (1)
ここで、グループG1,G2,・・・,Gnのノイズ付きユーザ数をNg1,Ng2,・・・,Ngnとし、ノイズ付きユーザ数Ng1,Ng2,・・・,Ngnの総数をNtとする。ノイズ付きユーザ数Ng1,Ng2,・・・,Ngnは、グループG1,G2,・・・,Gnのユーザデータ群に含まれるユーザ数にグループGに応じたノイズが付加されたユーザ数であり、上述したノイズ付加データと同様のノイズ付加処理によって生成される。 Here, the numbers of noise-added users in groups G1 , G2 , ..., Gn are denoted as Ng1 , Ng2 , ..., Ngn , and the total number of noise-added users Ng1 , Ng2 , ..., Ngn is denoted as Nt. The numbers of noise-added users Ng1 , Ng2 , ..., Ngn are the numbers of users included in the user data group of groups G1 , G2 , ..., Gn with noise added according to group G, and are generated by the same noise addition process as for the noise-added data described above.
この場合、重みk1,k2,・・・,knは、ユーザ数Ng1/Nt,Ng2/Nt,・・・,Ngn/Ntで表される。すなわち、k1=Ng1/Ntであり、k2=Ng2/Ntであり、・・・、kn=Ngn/Ntである。 In this case, the weights k1 , k2 , ..., kn are expressed as the number of users Ng1 /Nt, Ng2 /Nt, ..., Ngn /Nt, i.e., k1 = Ng1 /Nt, k2 = Ng2 /Nt, ..., kn = Ngn /Nt.
このように、情報処理装置1は、グループG毎のユーザデータ群に含まれるユーザ数に基づく重みを用いてグループG毎のノイズ付加データを重み付け加算することによって、利用対象データを生成することができる。 In this way, the information processing device 1 can generate the data to be used by weighting and adding the noise-added data for each group G using weights based on the number of users included in the user data set for each group G.
また、グループG1,G2,・・・,Gnのノイズ付き分散がσ1 2、σ2 2、・・・、σn 2であるとする。ノイズ付き分散σ1 2、σ2 2、・・・、σn 2は、グループG毎のユーザデータ群に含まれるデータで示される値の分散にグループGに応じたノイズが付加されたノイズ付き演算結果のデータである。例えば、ノイズ付き分散σ1 2、σ2 2、・・・、σn 2は、統計処理対象がユーザUの年収である場合、グループG毎のユーザUの年収の分散にグループGに応じたノイズが付加された分散である。 Furthermore, assume that the noise-added variances of groups G 1 , G 2 , ..., G n are σ 1 2 , σ 2 2 , ..., σ n 2. The noise-added variances σ 1 2 , σ 2 2 , ..., σ n 2 are data of noise-added calculation results in which noise according to the group G is added to the variance of values indicated by data included in the user data group for each group G. For example, if the statistical processing target is the annual income of user U, the noise-added variances σ 1 2 , σ 2 2 , ..., σ n 2 are variances in which noise according to the group G is added to the variance of the annual income of user U for each group G.
重みk1,k2,・・・,knは、ノイズ付きユーザ数Ng1,Ng2,・・・,Ngnの各々をグループG毎のノイズ付き分散σ1 2、σ2 2、・・・、σn 2のうち対応する分散で除算した値に応じた値で表されてもよい。この場合、重みk1,k2,・・・,knは、例えば、k1=Ng1/Nt・σ1 2、k2=Ng2/Nt・σ2 2、・・・、kn=Ngn/Nt・σn 2などで表される。 The weights k 1 , k 2 , ..., k n may be expressed as values corresponding to the values obtained by dividing each of the numbers of noise-added users Ng 1 , Ng 2 , ..., Ng n by the corresponding variances of noise-added variances σ 1 2 , σ 2 2 , ..., σ n 2 for each group G. In this case, the weights k 1 , k 2 , ..., k n are expressed, for example, as k 1 = Ng 1 / Nt · σ 1 2 , k 2 = Ng 2 / Nt · σ 2 2 , ..., k n = Ng n / Nt · σ n 2 .
このように、情報処理装置1は、グループG毎のノイズ付きユーザ数をグループG毎のノイズ付き分散で除算した値に応じた重みを用いてグループG毎のノイズ付加データを重み付け加算することによって、利用対象データを生成することができる。 In this way, the information processing device 1 can generate data to be used by weighting and adding the noise-added data for each group G using weights according to the value obtained by dividing the number of noise-added users for each group G by the noise-added variance for each group G.
なお、情報処理装置1は、上述した複数の勾配の平均値をグループG毎の演算結果とした場合、ノイズ付き演算結果のデータを用いた機械学習によって決定された学習モデルのパラメータを利用対象データとして算出する。 When the average value of the above-mentioned multiple gradients is used as the calculation result for each group G, the information processing device 1 calculates, as the data to be used, the parameters of the learning model determined by machine learning using the data of the calculation results with noise.
また、情報処理装置1は、ノイズ付きユーザ数Ng1,Ng2,・・・,Ngnに代えて、ノイズが付加されないグループG毎のユーザ数を用いてグループG毎のノイズ付加データを重み付け加算することもできる。また、情報処理装置1は、ノイズが付加されないグループG毎のユーザ数と分散とを用いて、グループG毎のノイズ付加データを重み付け加算することもできる。なお、分散は、σ1 2、σ2 2、・・・、σn 2の平方根であってもよい。 Furthermore, the information processing device 1 can also perform weighted addition of the noise-added data for each group G using the number of users in each group G to which noise is not added, instead of the number of noise-added users Ng 1 , Ng 2 , ..., Ng n. Furthermore, the information processing device 1 can also perform weighted addition of the noise-added data for each group G using the number of users in each group G to which noise is not added and the variance. Note that the variance may be the square root of σ 1 2 , σ 2 2 , ..., σ n 2 .
情報処理装置1は、ノイズ付きユーザ数に応じた重みを用いた第1の加重平均方法と、ノイズ付きユーザ数をノイズ付き分散で除算した値に応じた重みを用いた第2の加重平均方法とを選択的に用いることができる。 The information processing device 1 can selectively use a first weighted average method that uses a weight according to the number of noise-added users, and a second weighted average method that uses a weight according to the value obtained by dividing the number of noise-added users by the noise-added variance.
情報処理装置1は、ユーザデータ群に含まれるデータのばらつきをグループG間で比較し、比較した結果に基づいて、第1の加重平均方法および第2の加重平均方法の一方の加重平均方法を選択する。そして、情報処理装置1は、選択した加重平均方法を用いて、グループG毎のノイズ付加データを重み付け加算する。 The information processing device 1 compares the variations in the data contained in the user data groups between groups G, and based on the comparison results, selects one of the first and second weighted averaging methods. Then, the information processing device 1 weights and adds the noise-added data for each group G using the selected weighted averaging method.
例えば、情報処理装置1は、ユーザデータ群に含まれるデータのばらつきをグループG毎に算出し、グループG間でのデータのばらつきの傾向の類似度である傾向類似度が高い場合に、第1の加重平均方法を選択し、傾向類似度が低い場合に第2の加重平均方法を選択する。 For example, the information processing device 1 calculates the variability of data included in a user data group for each group G, and selects the first weighted average method when the trend similarity, which is the degree of similarity in the trends of data variability between groups G, is high, and selects the second weighted average method when the trend similarity is low.
例えば、情報処理装置1は、グループG毎の分散の分散またはグループG毎の分散の標準偏差が閾値未満である場合に、傾向類似度が高いと判定し、グループG毎の分散の分散またはグループG毎の分散の標準偏差が閾値以上である場合に、傾向類似度が低いと判定する。 For example, the information processing device 1 determines that the trend similarity is high when the variance of the variances for each group G or the standard deviation of the variances for each group G is less than a threshold value, and determines that the trend similarity is low when the variance of the variances for each group G or the standard deviation of the variances for each group G is equal to or greater than a threshold value.
また、情報処理装置1は、グループG毎の標準偏差の分散またはグループG毎の標準偏差の標準偏差が閾値未満である場合に、傾向類似度が高いと判定し、グループG毎の標準偏差の分散またはグループG毎の標準偏差の標準偏差が閾値以上である場合に、傾向類似度が低いと判定することもできる。なお、情報処理装置1は、グループG毎のばらつきの比較結果に基づいて、加重平均方法を選択すればよく、上述した例に限定されない。 The information processing device 1 can also determine that the trend similarity is high when the variance of the standard deviations for each group G or the standard deviation of the standard deviations for each group G is less than a threshold value, and determine that the trend similarity is low when the variance of the standard deviations for each group G or the standard deviation of the standard deviations for each group G is equal to or greater than a threshold value. Note that the information processing device 1 only needs to select a weighted average method based on the results of comparing the variations for each group G, and is not limited to the above-mentioned example.
次に、ステップS8においてグループG毎のノイズ付加データ群が匿名加工データ群として生成された場合の利用対象データの生成方法について説明する。 Next, we will explain how to generate data to be used when a noise-added data group for each group G is generated as an anonymously processed data group in step S8.
情報処理装置1は、処理内容情報で示される処理内容に基づいて、匿名加工データ群に基づく演算結果(例えば、平均、合計、分散などの統計量)のデータを算出する。処理内容情報で示される処理内容は、平均、合計、分散といった統計演算種別や学習モデルのパラメータの生成演算種別などを示す情報を含む。 The information processing device 1 calculates data on the results of calculations (e.g., statistical quantities such as average, sum, and variance) based on the anonymously processed data group based on the processing content indicated in the processing content information. The processing content indicated in the processing content information includes information indicating the type of statistical calculation, such as average, sum, and variance, and the type of calculation used to generate parameters for the learning model.
例えば、処理対象情報によって特定される処理内容がユーザUの年収の平均であるとする。この場合、情報処理装置1は、匿名加工データ群に基づく演算結果のデータとして、匿名加工データ群に含まれるユーザUの平均年収を示すデータを利用対象データとして算出する。 For example, suppose the processing content specified by the processing target information is the average annual income of user U. In this case, the information processing device 1 calculates, as the data of the calculation result based on the anonymized processed data group, data indicating user U's average annual income included in the anonymized processed data group as the data to be used.
また、処理対象情報によって特定される処理内容がユーザUの年齢の分散であるとする。この場合、情報処理装置1は、匿名加工データ群に基づく演算結果のデータとして、匿名加工データ群に含まれるユーザUの年齢の分散を示すデータを利用対象データとして、算出する。 Also, assume that the processing content identified by the processing target information is the variance of the age of user U. In this case, the information processing device 1 calculates, as the data of the calculation result based on the anonymized processed data group, data indicating the variance of the age of user U included in the anonymized processed data group as the data to be used.
また、処理対象情報によって特定される処理内容が匿名加工対象データを学習用データとして用いて生成される学習モデルのパラメータであるとする。この場合、情報処理装置1は、例えば、確率的勾配降下法を使ってモデルを最適化する際の、匿名加工データ群から得られるトレーニングデータのサンプルに起因する複数の勾配の平均値を用いた機械学習によって決定された学習モデルのパラメータを利用対象データとして算出する。 Also, assume that the processing content identified by the processing target information is the parameters of a learning model generated using the data to be anonymized as learning data. In this case, the information processing device 1 calculates, as the data to be used, the parameters of the learning model determined by machine learning using the average value of multiple gradients resulting from training data samples obtained from the anonymized data group when optimizing the model using, for example, stochastic gradient descent.
次に、情報処理装置1は、ステップS9で生成した利用対象データを提供情報として要求者装置4に送信することで、操作者に対して提供情報を提供する(ステップS10)。 Next, the information processing device 1 provides the provided information to the operator by transmitting the target usage data generated in step S9 to the requester device 4 as provided information (step S10).
このように、情報処理装置1は、ユーザUによって利用が許諾されたデータをユーザUが設定した利用条件に応じたグループGに分類し、同一のグループGに分類した複数のデータを含むユーザデータ群に基づく演算結果のデータにグループGに応じたノイズを付加したノイズ付加データまたはユーザデータ群にグループGに応じたノイズを付加したノイズ付加データ群をグループG毎に生成する。そして、情報処理装置1は、グループG毎のノイズ付加データまたはノイズ付加データ群を用いて利用対象データを生成する。これにより、情報処理装置1は、ユーザUが設定した利用条件に応じたノイズを付加することで、保護レベルによっては個人情報の利用の許諾をするユーザUのデータを用いることができ、より多くの個人情報を活用可能にすることができる。 In this way, the information processing device 1 classifies data permitted for use by user U into groups G according to the usage conditions set by user U, and generates, for each group G, noise-added data by adding noise according to group G to data resulting from calculations based on user data groups containing multiple data classified into the same group G, or noise-added data groups by adding noise according to group G to user data groups. The information processing device 1 then generates data to be used using the noise-added data or noise-added data groups for each group G. By adding noise according to the usage conditions set by user U, the information processing device 1 can thereby use the data of users U who have permitted use of their personal information depending on the protection level, making it possible to utilize more personal information.
また、情報処理装置1は、データの提供要求を受け付け、提供要求で特定されるデータである提供候補データが、提供要求の要求元と予め定められた関係性を有する組織である特定関係組織に紐付けられたデータであるか否かを判定する。そして、情報処理装置1は、提供候補データが要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定した場合に、提供候補データに匿名加工を行って匿名加工データを生成し、生成した匿名加工データに基づいて、提供要求に応じたデータを提供する。これにより、情報処理装置1は、個人情報の提供をより適切に行うことができる。 The information processing device 1 also accepts a request to provide data and determines whether the candidate data to be provided, which is data specified in the request, is data linked to a specific related organization that is an organization that has a predetermined relationship with the requester of the request. If the information processing device 1 determines that the candidate data to be provided is data linked to an organization that has a predetermined relationship with the requester, it anonymizes the candidate data to generate anonymized data, and provides data in response to the request based on the generated anonymized data. This enables the information processing device 1 to provide personal information more appropriately.
以下、このような処理を行う情報処理装置1、端末装置2、サーバ3、および要求者装置4を含む情報提供システムの構成などについて、詳細に説明する。 The following provides a detailed description of the configuration of the information provision system that includes the information processing device 1, terminal device 2, server 3, and requester device 4 that perform this processing.
〔2.情報提供システムの構成〕
図2は、実施形態に係る情報提供システムの構成の一例を示す図である。図2に示すように、実施形態に係る情報提供システム100は、情報処理装置1と、複数の端末装置2と、複数のサーバ31~3mと、要求者装置4とを含む。nは、例えば、3以上の整数である。
2. Configuration of the information provision system
Fig. 2 is a diagram showing an example of the configuration of an information providing system according to an embodiment. As shown in Fig. 2, the information providing system 100 according to an embodiment includes an information processing device 1, a plurality of terminal devices 2, a plurality of servers 3 1 to 3 m , and a requester device 4. n is, for example, an integer equal to or greater than 3.
情報処理装置1、複数の端末装置2、複数のサーバ31~3m、および要求者装置4は、ネットワークNを介して、有線または無線により互いに通信可能に接続される。なお、図2に示す情報提供システム100には、情報処理装置1および要求者装置4の各々が複数含まれてもよい。 The information processing device 1, the multiple terminal devices 2, the multiple servers 3 1 to 3 m , and the requester device 4 are connected to each other via a network N so as to be able to communicate with each other via wired or wireless communication. Note that the information providing system 100 shown in FIG. 2 may include multiple information processing devices 1 and multiple requester devices 4.
端末装置2は、例えば、デスクトップ型PC(Personal Computer)、ノート型PC、タブレット端末、スマートフォン、携帯電話機、またはPDA(Personal Digital Assistant)などである。なお、端末装置2は、上述した例に限定されず、例えば、スマートウォッチまたはウェアラブルデバイス(Wearable Device)などであってもよい。 The terminal device 2 may be, for example, a desktop PC (Personal Computer), a notebook PC, a tablet terminal, a smartphone, a mobile phone, or a PDA (Personal Digital Assistant). Note that the terminal device 2 is not limited to the above examples and may be, for example, a smart watch or a wearable device.
サーバ31~3mの各々は、端末装置2のユーザUに対してオンラインサービスを提供する。サーバ31~3mは、例えば、互いに異なる組織が提供するオンラインサービスを提供するサーバであるが、一部において同じ組織が提供するオンラインサービスを提供するサーバであってもよい。 Each of the servers 3 1 to 3 m provides online services to the user U of the terminal device 2. The servers 3 1 to 3 m are, for example, servers that provide online services provided by different organizations, but may also be servers that provide some online services provided by the same organization.
組織が提供するオンラインサービスは、組織が企業であれば、例えば、ショッピングサイト、ニュースサイト、オークションサイト、フリーマケットサイト、天気予報サイト、ファイナンス(株価)サイトなどによるオンラインサービスである。また、企業が提供するオンラインサービスは、例えば、検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログサイト、またはSNSサイトなどによるオンラインサービスであってもよい。 If the organization is a business, the online services provided by the organization may be, for example, online services such as shopping sites, news sites, auction sites, flea market sites, weather forecast sites, and finance (stock price) sites. Furthermore, the online services provided by a business may also be, for example, online services such as search sites, map sites, travel sites, restaurant introduction sites, blog sites, and SNS sites.
組織が提供するオンラインサービスは、組織が自治体であれば、行政サービスであり、例えば、電子申請、電子入札、電子申告、電子納税、公共施設予約、図書貸し出し予約、行政サービスに関する各種の情報提供などのオンラインサービスである。 If the organization is a local government, the online services provided by the organization are administrative services, such as electronic applications, electronic bidding, electronic tax returns, electronic tax payments, reservations for public facilities, book lending reservations, and the provision of various information related to administrative services.
要求者装置4は、例えば、デスクトップ型PCまたはノート型PCであるが、タブレット端末、スマートフォン、携帯電話機、またはPDAであってもよい。要求者装置4を操作する操作者は、自己が所属する組織または自己が所属する組織に分析を依頼した組織のサービスログのデータから演算によって得られる利用対象データなどを得るために、要求者装置4を操作する。 The requester device 4 is, for example, a desktop PC or laptop PC, but may also be a tablet terminal, smartphone, mobile phone, or PDA. The operator who operates the requester device 4 operates the requester device 4 to obtain target data, etc., obtained by calculation from data in the service logs of the organization to which the operator belongs or an organization that has requested the operator's organization to analyze it.
〔3.情報処理装置1の構成〕
図3は、実施形態に係る情報処理装置1の構成の一例を示す図である。図3に示すように、情報処理装置1は、通信部10と、記憶部11と、処理部12とを有する。
3. Configuration of information processing device 1
3 is a diagram showing an example of the configuration of the information processing device 1 according to the embodiment. As shown in FIG. 3, the information processing device 1 includes a communication unit 10, a storage unit 11, and a processing unit 12.
〔3.1.通信部10〕
通信部10は、例えば、NICなどによって実現される。そして、通信部10は、ネットワークNと有線または無線で接続され、他の各種装置との間で情報の送受信を行う。例えば、通信部10は、端末装置2との間でネットワークNを介して情報の送受信を行う。
3.1. Communication Unit 10
The communication unit 10 is realized by, for example, a NIC. The communication unit 10 is connected to a network N via a wired or wireless connection and transmits and receives information to and from various other devices. For example, the communication unit 10 transmits and receives information to and from the terminal device 2 via the network N.
〔3.2.記憶部11〕
記憶部11は、例えば、RAM、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置によって実現される。記憶部11は、組織情報記憶部20と、サービスログ記憶部21とを有する。
[3.2. Storage unit 11]
The storage unit 11 is realized by, for example, a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 11 has an organization information storage unit 20 and a service log storage unit 21.
〔3.2.1.組織情報記憶部20〕
組織情報記憶部20は、企業や自治体などの組織毎の情報を含む組織情報テーブルを記憶する。図4は、実施形態に係る情報処理装置1の組織情報記憶部20に記憶される組織情報テーブルの一例を示す図である。
[3.2.1. Organizational information storage unit 20]
The organization information storage unit 20 stores an organization information table including information on each organization such as a company, a local government, etc. Fig. 4 is a diagram showing an example of the organization information table stored in the organization information storage unit 20 of the information processing device 1 according to the embodiment.
図4に示す例では、組織情報記憶部20に記憶される組織情報テーブルは、「組織ID」、「組織名」、および「関係組織ID」といった項目の情報を含む。「組織ID」は、組織を識別する識別子である。「組織名」は、組織の名称を示す情報でわる。「関係組織ID」は、「組織ID」で示される組織と予め定められた関係性を有する組織の組織IDである。 In the example shown in Figure 4, the organization information table stored in the organization information storage unit 20 includes information for the items "Organization ID," "Organization Name," and "Related Organization ID." "Organization ID" is an identifier that identifies an organization. "Organization Name" is information that indicates the name of the organization. "Related Organization ID" is the organization ID of an organization that has a predetermined relationship with the organization indicated by the "Organization ID."
図4に示す例では、組織ID「O1」の組織は、組織名が「組織A」であり、予め定められた関係性を有する組織が組織ID「O1」の組織Bであり、組織ID「O2」の組織は、組織名が「組織B」であり、予め定められた関係性を有する組織が組織ID「O3」の組織Cである。また、織ID「O1」の組織は、組織名が「組織C」であり、予め定められた関係性を有する組織が組織ID「O1,O2」の組織A,Bである。 In the example shown in Figure 4, the organization with organization ID "O1" has the organization name "Organization A," and the organization with which it has a predetermined relationship is Organization B with organization ID "O1." The organization with organization ID "O2" has the organization name "Organization B," and the organization with which it has a predetermined relationship is Organization C with organization ID "O3." Furthermore, the organization with organization ID "O1" has the organization name "Organization C," and the organizations with which it has a predetermined relationship are Organizations A and B with organization IDs "O1, O2."
なお、組織情報記憶部20に記憶される組織情報テーブルは、「組織ID」に代えて、「関係組織推定モデル」を有していてもよい。「関係組織推定モデル」は、関係組織推定モデルの情報であり、例えば、関係組織推定モデルのパラメータの情報である。 The organization information table stored in the organization information storage unit 20 may include a "related organization estimation model" instead of an "organization ID." The "related organization estimation model" is information about the related organization estimation model, such as information about the parameters of the related organization estimation model.
〔3.2.2.サービスログ記憶部21〕
サービスログ記憶部21は、組織が提供するオンラインサービスのサービスログのデータなどの情報を含むサービスログ情報テーブルを記憶する。図5は、実施形態に係る情報処理装置1のサービスログ記憶部21に記憶されるサービスログテーブルの一例を示す図である。
3.2.2. Service Log Storage Unit 21
The service log storage unit 21 stores a service log information table including information such as service log data of online services provided by an organization. Fig. 5 is a diagram showing an example of the service log table stored in the service log storage unit 21 of the information processing device 1 according to the embodiment.
図5に示す例では、サービスログ記憶部21に記憶されるサービスログテーブルは、「組織ID」、「サービスログ」、および「利用条件情報」といった項目の情報を含む。「組織ID」は、組織を識別する識別子である。「サービスログ」は、組織が提供するオンラインサービスのサービスログのデータを示す情報でわる。 In the example shown in Figure 5, the service log table stored in the service log storage unit 21 includes information on items such as "Organization ID," "Service Log," and "Terms of Use Information." "Organization ID" is an identifier that identifies the organization. "Service Log" is information that indicates the service log data of the online service provided by the organization.
「利用条件情報」は、サービスログのデータに含まれる複数のデータのうち自己に対応するデータの利用を条件付きで許諾する各ユーザUが選択した利用条件を示す情報である。利用条件を示す情報は、例えば、保護レベルAL1,AL2,・・・,ALnの中からユーザUによって選択された保護レベルで示され、例えば、サービスログのデータに含まれるユーザIDなどに関連付けられる。 The "usage conditions information" is information indicating the usage conditions selected by each user U who conditionally permits the use of the data corresponding to that user U from among the multiple data included in the service log data. The information indicating the usage conditions is indicated by, for example, a protection level selected by the user U from protection levels AL1 , AL2 , ..., ALn , and is associated with, for example, a user ID included in the service log data.
図5に示す例では、組織ID「O1」の組織は、サービスログのデータが「DA1」であり、利用条件情報が「RA1」であり、組織ID「O2」の組織は、サービスログのデータが「DA2」であり、利用条件情報が「RA2」である。また、組織ID「O3」の組織は、サービスログのデータが「DA3」であり、利用条件情報が「RA3」である。 In the example shown in Figure 5, the organization with organization ID "O1" has service log data "DA1" and usage condition information "RA1", the organization with organization ID "O2" has service log data "DA2" and usage condition information "RA2", and the organization with organization ID "O3" has service log data "DA3" and usage condition information "RA3".
なお、図5に示した例では、サービスログのデータを「DA1」~「DA3」などの抽象的な符号で表現したが、サービスログのデータは、例えば、各ユーザUのデータを含むファイル形式のデータである。 Note that in the example shown in Figure 5, the service log data is represented by abstract symbols such as "DA1" to "DA3," but the service log data is, for example, data in a file format that includes data for each user U.
また、図5に示した例では、利用条件情報を「RA1」~「RA3」などの抽象的な符号で表現したが、利用条件情報は、例えば、各ユーザUのユーザIDと選択保護レベルSALとを含む情報をユーザU毎に含むデータを含むファイル形式のデータである。なお、利用条件情報は、「サービスログ」に含まれていてもよい。例えば、サービスログのデータに含まれるユーザUのデータの一部として保護レベルALの情報が含まれていてもよい。 In the example shown in Figure 5, the usage condition information is expressed using abstract symbols such as "RA1" to "RA3," but the usage condition information is, for example, data in a file format that includes information for each user U, including the user ID and selected protection level SAL of each user U. Note that the usage condition information may also be included in a "service log." For example, information on the protection level AL may be included as part of the user U data included in the service log data.
〔3.3.処理部12〕
処理部12は、コントローラであり、例えば、CPUまたはMPUなどのプロセッサによって、情報処理装置1内部の記憶装置(例えば、記憶部11)に記憶されている各種プログラム(情報提供プログラムの一例)がRAMを作業領域として実行されることにより実現される。また、処理部12は、例えば、ASICやFPGAなどの集積回路により一部または全部が実現されてもよい。
3.3. Processing Unit 12
The processing unit 12 is a controller, and is realized by a processor such as a CPU or an MPU, which uses RAM as a work area to execute various programs (examples of information provision programs) stored in a storage device (e.g., the storage unit 11) inside the information processing device 1. The processing unit 12 may also be partially or entirely realized by an integrated circuit such as an ASIC or FPGA.
図3に示すように、処理部12は、受付部30と、紐付部31と、判定部32と、匿名加工部33と、提供部34とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、処理部12の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As shown in FIG. 3, the processing unit 12 has a reception unit 30, a linking unit 31, a determination unit 32, an anonymization unit 33, and a provision unit 34, and realizes or executes the information processing functions and actions described below. Note that the internal configuration of the processing unit 12 is not limited to the configuration shown in FIG. 3, and may be any other configuration that performs the information processing described below.
〔3.3.1.受付部30〕
受付部30は、各種のデータやクエリを受け付ける。受付部30は、データ受付部40と、提供要求受付部41とを備える。
3.3.1. Reception unit 30
The receiving unit 30 receives various data and queries. The receiving unit 30 includes a data receiving unit 40 and a provision request receiving unit 41.
〔3.3.1.1.データ受付部40〕
データ受付部40は、各種の装置から送信されるデータを受け付け、受け付けたデータを記憶部11に記憶させる。
3.3.1.1. Data Receiving Unit 40
The data receiving unit 40 receives data transmitted from various devices and stores the received data in the storage unit 11 .
例えば、データ受付部40は、各サーバ3から情報処理装置1にアップロードされるサービスログのデータを受け付け、受け付けたデータを記憶部11に記憶させる。また、データ受付部40は、不図示の情報提供装置からアップロードされるデータを受け付け、受け付けたデータを記憶部11に記憶させる。 For example, the data acceptance unit 40 accepts service log data uploaded from each server 3 to the information processing device 1 and stores the accepted data in the storage unit 11. The data acceptance unit 40 also accepts data uploaded from an information providing device (not shown) and stores the accepted data in the storage unit 11.
〔3.3.1.2.提供要求受付部41〕
提供要求受付部41は、データの提供要求を受け付ける。例えば、提供要求受付部41は、要求者装置4から送信されるクエリをデータの提供要求として受け付ける。
[3.3.1.2. Provision request receiving unit 41]
The provision request receiving unit 41 receives a data provision request. For example, the provision request receiving unit 41 receives a query transmitted from the requester device 4 as a data provision request.
要求者装置4からのクエリには、例えば、利用対象データまたは処理対象データなどを特定するためのデータ特定情報、および要求元の組織の組織IDの組織特定情報などが含まれる。要求元の組織は、例えば、要求者装置4を操作する操作者が所属する組織またはかかる操作者が所属する組織に分析を依頼した組織などである。 A query from the requester device 4 includes, for example, data identification information for identifying the data to be used or the data to be processed, and organization identification information such as the organization ID of the requesting organization. The requesting organization is, for example, the organization to which the operator operating the requester device 4 belongs, or the organization that has requested an analysis from the organization to which the operator belongs.
データ特定情報には、対象組織情報および処理対象情報などが含まれる。対象組織情報には、利用対象となるデータを有する組織である対象組織の組織IDなどが含まれる。例えば、要求元の組織が分析したいデータが組織Bによって提供されるオンラインサービスのサービスログのデータである場合、対象組織の組織IDは、組織Bの組織IDである。 Data identification information includes target organization information and processing target information. Target organization information includes the organization ID of the target organization, which is the organization that owns the data to be used. For example, if the data that the requesting organization wants to analyze is service log data for an online service provided by organization B, the organization ID of the target organization is the organization ID of organization B.
処理対象情報には、処理対象となるデータである処理対象データの種別を示すデータ種別情報や処理対象データの処理内容を示す処理内容情報などが含まれる。データ種別情報は、例えば、オンラインサービスを利用したユーザUである利用ユーザの位置を示す情報、利用ユーザによるオンラインサービスの利用履歴の種別を示す情報、利用ユーザの属性の種別を示す情報、学習モデルの入力情報および出力情報の種別を示す情報などである。 The processing target information includes data type information indicating the type of processing target data, which is the data to be processed, and processing content information indicating the processing content of the processing target data. Data type information includes, for example, information indicating the location of the user U who used the online service, information indicating the type of usage history of the online service by the user, information indicating the type of attributes of the user, and information indicating the type of input information and output information of the learning model.
利用ユーザの位置を示す情報は、例えば、端末装置2に設けられた不図示の位置検出部によって検出された位置を示す情報であり、利用ユーザによるオンラインサービス時に端末装置2からサーバ3に送信される情報である。 The information indicating the user's location is, for example, information indicating the location detected by a location detection unit (not shown) provided in the terminal device 2, and is information transmitted from the terminal device 2 to the server 3 when the user uses an online service.
オンラインサービスの利用履歴は、オンラインサービスの利用日時およびオンラインサービスの利用内容などを含む。オンラインサービスの利用内容は、例えば、オンラインサービスがショッピングサイトによるサービスであれば、取引対象の利用ユーザによる閲覧の内容、取引対象の利用ユーザによる購入の内容、取引対象に対する利用ユーザによる評価の内容、および取引対象に対する利用ユーザによるお気に入り登録の内容などである。 The online service usage history includes the date and time of use of the online service and the content of use of the online service. For example, if the online service is a shopping site service, the content of use of the online service includes the content viewed by the user of the transaction target, the content purchased by the user of the transaction target, the content rated by the user of the transaction target, and the content added to favorites by the user of the transaction target.
オンラインサービスの利用内容は、例えば、オンラインサービスが行政サービスであれば、利用ユーザによる電子申請の内容、利用ユーザによる電子入札の内容、利用ユーザによる電子申告の内容、利用ユーザによる電子納税の内容、利用ユーザによる公共施設予約の内容、利用ユーザによる図書貸し出し予約の内容、利用ユーザによる各種の情報の閲覧などである。 For example, if the online service is a government service, the usage content of the online service may include the content of electronic applications submitted by users, the content of electronic bidding submitted by users, the content of electronic tax returns submitted by users, the content of public facility reservations submitted by users, the content of book lending reservations submitted by users, and the viewing of various information by users.
ユーザUの属性は、デモグラフィック属性およびサイコグラフィック属性のうちの少なくともいずれか1つである。デモグラフィック属性は、人口統計学的属性であり、例えば、年齢、性別、職業、居住地、年収、家族構成などである。サイコグラフィック属性は、心理学的属性であり、例えば、ライフスタイル、価値観、興味関心などである。 User U's attributes are at least one of demographic attributes and psychographic attributes. Demographic attributes are demographic attributes, such as age, gender, occupation, place of residence, annual income, and family composition. Psychographic attributes are psychological attributes, such as lifestyle, values, and interests.
処理内容情報は、例えば、平均、合計、分散といった統計演算種別や学習モデルのパラメータの生成演算種別などを示す情報を含む。処理対象情報によって特定される処理内容は、例えば、京都府の20代の男性の平均年収、バイクが好きな人の平均の分散、電子納税を行ったユーザUの合計数などでの算出や、ユーザUの位置や属性を示す情報を入力とし、ユーザUによるオンラインサービスの利用可能性を示すスコアを出力する学習モデルの生成などである。 The processing content information includes, for example, information indicating the type of statistical calculation, such as average, sum, or variance, or the type of calculation to generate parameters for a learning model. The processing content specified by the processing target information includes, for example, calculation of the average annual income of men in their twenties in Kyoto Prefecture, the average variance of people who like motorcycles, or the total number of users U who have made electronic tax payments, or generation of a learning model that takes information indicating the location and attributes of user U as input and outputs a score indicating the likelihood of user U using online services.
〔3.3.2.紐付部31〕
紐付部31は、データ受付部40によって受け付けられた提供データを複数の組織のうちの紐付け条件を満たす組織に紐付ける。提供データは、例えば、サービスログのデータ、すなわち、オンラインサービスの利用ログのデータを含む。
3.3.2. Linking unit 31
The linking unit 31 links the provided data received by the data receiving unit 40 to an organization among a plurality of organizations that satisfies the linking conditions. The provided data includes, for example, service log data, that is, data on the usage log of online services.
紐付け条件を満たす組織は、例えば、オンラインサービスを提供する組織、またはサービスログのデータを提供した組織である。例えば、紐付部31は、サーバ31がオンラインサービスを提供する組織が管理する組織のサーバである場合、サーバ31から送信されたサービスログのデータを、サーバ31を管理する組織に紐付ける。 An organization that satisfies the linking condition is, for example, an organization that provides an online service or an organization that provided the service log data. For example, if the server 31 is a server of an organization managed by an organization that provides an online service, the linking unit 31 links the service log data transmitted from the server 31 to the organization that manages the server 31 .
また、紐付部31は、例えば、サーバ3mがサーバ3mを管理する組織とは異なる組織のオンラインサービスを提供するサーバである場合、サーバ3mから送信されたサービスログのデータを、サーバ3mによってオンラインサービスが提供される組織に紐付ける。 Furthermore, for example, when server 3 m is a server that provides online services for an organization different from the organization that manages server 3 m , the linking unit 31 links the service log data transmitted from server 3 m to the organization to which the online service is provided by server 3 m .
紐付部31は、サーバ3から送信される情報にオンラインサービスを提供する組織を示す提供組織情報が含まれている場合、提供組織情報で示される組織を、紐付け条件を満たす組織として判定することができる。 When the information sent from the server 3 includes provider organization information indicating an organization that provides online services, the linking unit 31 can determine that the organization indicated in the provider organization information is an organization that satisfies the linking conditions.
また、紐付け条件を満たす組織は、関連性推定モデルから出力されるスコアが予め設定された条件を満たす組織であってもよい。関連性推定モデルは、例えば、サービスログのデータを入力とし、サービスログのデータの要求元との組織毎の関連性を示すスコアを出力とする学習モデルである。 An organization that satisfies the linking conditions may also be an organization for which the score output from the relevance estimation model satisfies a preset condition. The relevance estimation model is, for example, a learning model that takes service log data as input and outputs a score indicating the relevance of each organization with the source of the service log data request.
関連性推定モデルは、各組織と関連性があると予め判定されたサービスログのデータを各組織の正解データとし、各組織の正解データが有する特徴をモデルに学習させることによって生成される。関連性推定モデルは、複数の組織に共通する学習モデルであるが、組織毎の学習モデルであってもよい。 The relevance estimation model is generated by using service log data that has been determined in advance to be relevant to each organization as the correct answer data for each organization and having the model learn the characteristics of the correct answer data for each organization. The relevance estimation model is a learning model common to multiple organizations, but it may also be a learning model for each organization.
紐付部31は、サービスログのデータを関連性推定モデルに入力し、関連性推定モデルから出力される組織毎のスコアのうち所定条件を満たすスコアの組織を、関連性推定モデルから出力されるスコアが予め設定された条件を満たす組織として特定する。所定条件を満たすスコアは、例えば、最も高いスコアであるが、例えば、閾値以上のスコアであってもよい。閾値以上のスコアの組織が複数ある場合、紐付部31は、サービスログのデータを複数の組織に紐付けることができる。 The linking unit 31 inputs the service log data into the relevance estimation model, and identifies organizations whose scores satisfy predetermined conditions among the scores for each organization output from the relevance estimation model as organizations whose scores output from the relevance estimation model satisfy the preset conditions. A score that satisfies the predetermined conditions is, for example, the highest score, but may also be, for example, a score above a threshold. If there are multiple organizations with scores above the threshold, the linking unit 31 can link the service log data to multiple organizations.
関連性推定モデルは、例えば、GBDTによって生成される学習モデルまたはディープニューラルネットワークを利用した深層学習によって生成される学習モデルなどであるが、かかる例に限定されず、その他の機械学習方法で生成される学習モデルであってもよい。 The relevance estimation model may be, for example, a learning model generated by GBDT or a learning model generated by deep learning using a deep neural network, but is not limited to these examples and may also be a learning model generated by other machine learning methods.
例えば、関連性推定モデルは、線形回帰、重回帰、またはロジスティック回帰といった回帰手法やサポートベクタマシンなどの学習アルゴリズムなどのように他の学習アルゴリズムによる機械学習を用いて生成されてもよい。 For example, the relevance estimation model may be generated using machine learning with other learning algorithms, such as regression methods such as linear regression, multiple regression, or logistic regression, or learning algorithms such as support vector machines.
紐付部31は、例えば、利用を不可とされたサービスログのデータを、組織に紐付けずに記憶することもできる。紐付部31は、サーバ3から送信される情報に含まれるサービスログのデータの利用可否を示す情報に基づいて、利用を不可とされたサービスログのデータであるか否かを判定することができる。 The linking unit 31 can, for example, store service log data that has been made unavailable without linking it to an organization. The linking unit 31 can determine whether the service log data has been made unavailable based on information indicating whether the service log data is available, which is included in the information sent from the server 3.
〔3.3.3.判定部32〕
判定部32は、提供要求受付部41によって受け付けられた提供要求であるクエリで特定されるデータである提供候補データが、特定関係組織に紐付けられたデータであるか否かを判定する。特定関係組織は、提供要求の要求元と予め定められた関係性を有する組織である。提供要求の要求元は、クエリに含まれる組織特定情報で示される組織IDで示される組織である。
[3.3.3. Judgment unit 32]
The determination unit 32 determines whether the candidate data to be provided, which is data specified by a query that is a provision request accepted by the provision request acceptance unit 41, is data linked to a specific related organization. The specific related organization is an organization that has a predetermined relationship with the requester of the provision request. The requester of the provision request is the organization indicated by the organization ID indicated in the organization identification information included in the query.
判定部32は、例えば、対象組織情報に含まれる組織IDで示される対象組織が提供要求の要求元と予め定められた競合関係にある組織である場合に、提供候補データが、特定関係組織のデータであると判定する。判定部32は、例えば、予め定められた競合関係にある組織を示す情報を組織毎に含む関係性テーブルを有し、かかる関係性テーブルを用いて、提供候補データが特定関係組織のデータであるか否かを判定する。 The determination unit 32 determines that the candidate data to be provided is data of a specific related organization, for example, when the target organization indicated by the organization ID included in the target organization information is an organization that is in a predetermined competitive relationship with the requester of the provision request. The determination unit 32 has, for example, a relationship table that includes information indicating organizations in a predetermined competitive relationship for each organization, and uses this relationship table to determine whether the candidate data to be provided is data of a specific related organization.
判定部32は、サーバ3から送信される情報にサービスログのデータの利用を許可する組織を示す許可組織情報が含まれている場合、許可組織情報で示される組織を予め定められた競合関係にある組織として判定することもできる。 If the information sent from the server 3 includes permitted organization information indicating an organization that is permitted to use the service log data, the determination unit 32 can also determine that the organization indicated in the permitted organization information is an organization in a predetermined competitive relationship.
また、判定部32は、競合関係にある組織の情報を正解データとし、競合関係にある組織の正解データが有する特徴を学習した関係組織推定モデルを用いて、競合関係にある組織であるかを推定することもできる。関係組織推定モデルは、提供要求の要求元の組織毎の学習モデルである。この場合、判定部32は、例えば、提供要求の要求元の組織の関係組織推定モデルに各組織の情報を入力し、関係組織推定モデルから出力されるスコアが閾値以上である組織を競合関係の組織であると判定する。 The determination unit 32 can also use information about competing organizations as correct answer data and use a related organization estimation model that has learned the characteristics of the correct answer data for competing organizations to estimate whether an organization is in a competitive relationship. The related organization estimation model is a learning model for each organization that has requested the provision request. In this case, the determination unit 32 inputs information about each organization into the related organization estimation model of the organization that has requested the provision request, and determines that an organization whose score output from the related organization estimation model is equal to or greater than a threshold is a competing organization.
なお、上述した例では、特定関係組織として、提供要求の要求元と予め定められた競合関係にある組織を例に挙げて説明したが、かかる例に限定されない。例えば、判定部32は、提供要求の要求元と予め定められた競合関係にない組織を、特定関係組織として判定することもできる。 In the above example, a specific related organization is an organization that is in a predetermined competitive relationship with the requester of the provision request, but this is not limited to this example. For example, the determination unit 32 can also determine an organization that is not in a predetermined competitive relationship with the requester of the provision request as a specific related organization.
例えば、判定部32は、予め定められた競合関係にない組織を示す情報を組織毎に含む関係性テーブルを有し、かかる関係性テーブルを用いて、特定関係組織を判定する。 For example, the determination unit 32 has a relationship table that contains, for each organization, information indicating organizations that are not in a predetermined competitive relationship, and uses this relationship table to determine specific related organizations.
また、判定部32は、例えば、競合関係にない組織の情報を正解データとし、競合関係にない組織の正解データが有する特徴を学習した関係組織推定モデルを用いて、特定関係組織を判定することもできる。 Furthermore, the determination unit 32 can determine specific related organizations, for example, by using information about non-competitive organizations as correct answer data and using a related organization estimation model that has learned the characteristics of the correct answer data for non-competitive organizations.
判定部32は、提供候補データが特定関係組織に紐付けられたデータがあると判定した場合、特定関係組織に紐付けられたデータであって提供要求受付部41によって受け付けられたクエリに応じたデータの種別を特定する。 If the determination unit 32 determines that the candidate data to be provided is data linked to a specific related organization, it identifies the type of data that is linked to the specific related organization and corresponds to the query received by the provision request receiving unit 41.
提供要求受付部41によって受け付けられたクエリには上述したように処理対象情報が含まれており、判定部32は、処理対象情報に含まれるデータ種別情報に基づいて、クエリに応じたデータである対象データの種別を特定する。判定部32は、例えば、データ種別情報が京都府の20代の男性の年収を示す情報である場合、京都府の20代の男性の年収を対象データの種別として特定する。 As described above, the query received by the provision request receiving unit 41 includes processing target information, and the determination unit 32 identifies the type of target data, which is data corresponding to the query, based on the data type information included in the processing target information. For example, if the data type information is information indicating the annual income of men in their twenties living in Kyoto Prefecture, the determination unit 32 identifies the annual income of men in their twenties living in Kyoto Prefecture as the type of target data.
また、判定部32は、データ種別情報が、学習モデルの入力情報および出力情報の各々の種別を示す情報を含む場合、学習モデルの入力情報および出力情報の各々の種別を対象データの種別として特定する。入力情報は、例えば、ユーザUの位置や属性を示す情報であり、出力情報は、例えば、ユーザUによるオンラインサービスの利用内容を示す情報であるが、かかる例に限定されない。 Furthermore, when the data type information includes information indicating the types of input information and output information of the learning model, the determination unit 32 identifies the types of input information and output information of the learning model as the types of target data. The input information is, for example, information indicating the location and attributes of user U, and the output information is, for example, information indicating the content of user U's use of online services, but these examples are not limited to these.
なお、判定部32は、対象データの数や対象データの元となるユーザUの数が閾値以上になるようにデータの指定を受け付けることもできる。例えば、判定部32は、対象データの数や対象データの元となるユーザUの数が閾値以上である属性のリストを要求者装置4に送信することで、操作者に属性のリストの中から属性を選択させることができる。 The determination unit 32 can also accept data designation such that the number of target data or the number of users U that are the source of the target data is greater than or equal to a threshold. For example, the determination unit 32 can send a list of attributes for which the number of target data or the number of users U that are the source of the target data is greater than or equal to a threshold to the requester device 4, thereby allowing the operator to select an attribute from the list of attributes.
〔3.3.4.匿名加工部33〕
匿名加工部33は、判定部32によって提供候補データが特定関係組織に紐付けられたデータであると判定された場合に、提供候補データに匿名加工を行って匿名加工データを生成する。匿名加工部33は、分類部50とノイズ付加処理部51とを備える。
[3.3.4. Anonymous processing department 33]
The anonymization unit 33 performs anonymization on the candidate data to generate anonymously processed data when the determination unit 32 determines that the candidate data to be provided is data linked to a specific related organization. The anonymization unit 33 includes a classification unit 50 and a noise addition processing unit 51.
〔3.3.4.1.分類部50〕
分類部50は、匿名加工対象データに含まれる各データをユーザUが設定した利用条件に応じたグループGに分類する。匿名加工対象データに含まれる各データは、ユーザUによって利用が許諾されたデータである。
[3.3.4.1. Classification section 50]
The classification unit 50 classifies each piece of data included in the data to be anonymized into a group G according to the usage conditions set by the user U. Each piece of data included in the data to be anonymized is data whose use has been permitted by the user U.
例えば、ユーザUによって設定された利用条件が、複数の保護レベルAL1,AL2,・・・,ALnの中からユーザUによって選択された保護レベルで示されるとする。この場合、分類部50は、複数の保護レベルAL1,AL2,・・・,ALnに対応する複数のグループG1,G2,・・・,Gnに匿名加工対象データに含まれるデータを分類する。 For example, assume that the usage conditions set by the user U are indicated by a protection level selected by the user U from a plurality of protection levels AL 1 , AL 2 , ..., AL n . In this case, the classification unit 50 classifies the data included in the data to be anonymized into a plurality of groups G 1 , G 2 , ..., G n corresponding to the plurality of protection levels AL 1 , AL 2 , ..., AL n .
例えば、保護レベルAL1で示される利用条件が設定されたデータは、グループG1に分類され、保護レベルAL2で示される利用条件が設定されたデータは、グループG2に分類され、保護レベルALnで示される利用条件が設定されたデータは、グループGnに分類される。 For example, data for which usage conditions are set as indicated by protection level AL 1 is classified into group G 1 , data for which usage conditions are set as indicated by protection level AL 2 is classified into group G 2 , and data for which usage conditions are set as indicated by protection level AL n is classified into group G n .
〔3.3.4.2.ノイズ付加処理部51〕
ノイズ付加処理部51は、分類部50によって同一のグループGに分類された複数のデータを含むグループG毎のユーザデータ群に基づいて、ノイズ付加データまたはノイズ付加データ群をグループG毎に生成する。
[3.3.4.2. Noise Addition Processing Unit 51]
The noise addition processing unit 51 generates noise-added data or a noise-added data group for each group G based on a user data group for each group G including a plurality of data classified into the same group G by the classification unit 50 .
ノイズ付加データは、分類部50によって同一のグループGに分類された複数のデータを含むユーザデータ群に基づく演算結果(例えば、平均、合計、分散などの統計量)のデータにグループGに応じたノイズを付加したデータである。また、ノイズ付加データ群は、分類部50によって同一のグループGに分類された複数のデータを含むユーザデータ群にグループGに応じたノイズを付加したデータ群である。 Noise-added data is data obtained by adding noise appropriate to the group G to data of calculation results (e.g., statistical quantities such as averages, sums, and variances) based on a user data group including multiple pieces of data classified into the same group G by the classification unit 50. Noise-added data groups are data groups obtained by adding noise appropriate to the group G to a user data group including multiple pieces of data classified into the same group G by the classification unit 50.
ノイズ付加処理部51は、差分プライバシーによる匿名加工またはk-匿名化による匿名加工によって、ノイズ付加データまたはノイズ付加データ群を生成する。ノイズ付加処理部51は、例えば、サーバ3から送信される情報にノイズ付加種別を示すノイズ付加種別情報が含まれている場合、差分プライバシーによる匿名加工およびk-匿名化による匿名加工のうちノイズ付加種別情報で示される匿名加工を行うことができる。 The noise addition processing unit 51 generates noise-added data or a group of noise-added data using anonymization processing based on differential privacy or k-anonymization. For example, if the information transmitted from the server 3 includes noise addition type information indicating the type of noise addition, the noise addition processing unit 51 can perform the anonymization processing indicated by the noise addition type information, either differential privacy anonymization processing or k-anonymization anonymization processing.
また、ノイズ付加処理部51は、例えば、提供要求受付部41によって受け付けられたクエリにノイズ付加種別を示すノイズ付加種別情報が含まれている場合、差分プライバシーによる匿名加工およびk-匿名化による匿名加工のうちノイズ付加種別情報で示される匿名加工を行うことができる。 Furthermore, for example, if the query received by the provision request receiving unit 41 includes noise addition type information indicating the noise addition type, the noise addition processing unit 51 can perform anonymization indicated by the noise addition type information, either anonymization using differential privacy or anonymization using k-anonymization.
まず、差分プライバシーによる匿名加工について説明する。ノイズ付加処理部51は、提供要求受付部41によって受け付けられたクエリに含まれる処理内容情報で示される処理内容に基づいて、グループG毎のユーザデータ群からグループG毎の演算結果のデータを算出する。処理内容情報で示される処理内容は、例えば、特定のデータに対する平均、合計、分散といった統計演算や学習モデルのパラメータの生成などである。 First, we will explain anonymization using differential privacy. The noise addition processing unit 51 calculates calculation result data for each group G from the user data set for each group G based on the processing content indicated in the processing content information included in the query received by the provision request receiving unit 41. The processing content indicated in the processing content information includes, for example, statistical calculations such as average, sum, and variance for specific data, and generation of learning model parameters.
例えば、処理内容情報で示される処理内容がユーザUの平均年収であるとする。この場合、ノイズ付加処理部51は、グループG毎の演算結果のデータとして、グループG毎のユーザUの平均年収を示すデータを算出する。 For example, suppose the processing content indicated by the processing content information is the average annual income of user U. In this case, the noise addition processing unit 51 calculates data indicating the average annual income of user U for each group G as the calculation result data for each group G.
また、処理内容情報で示される処理内容がユーザUの年齢の分布であるとする。この場合、ノイズ付加処理部51は、グループG毎の演算結果のデータとして、グループG毎のユーザUの年齢の分布または分散を示すデータを算出する。 Also, assume that the processing content indicated by the processing content information is the age distribution of users U. In this case, the noise addition processing unit 51 calculates data indicating the distribution or variance of the ages of users U for each group G as data of the calculation results for each group G.
また、処理内容情報で示される処理内容が学習モデルのパラメータの生成であるとする。この場合、ノイズ付加処理部51は、確率的勾配降下法を使って学習モデルを最適化する際の、トレーニングデータのサンプルに起因する複数の勾配の平均値を示すデータをグループG毎に算出する。 Also, assume that the processing content indicated by the processing content information is the generation of parameters for a learning model. In this case, the noise addition processing unit 51 calculates, for each group G, data indicating the average value of multiple gradients resulting from training data samples when optimizing the learning model using stochastic gradient descent.
また、ノイズ付加処理部51は、処理内容情報で示される処理内容に加えて、グループG毎のユーザUの数(合計)を示すデータおよび統計処理対象のグループG毎の分散を示すデータの各々を演算結果のデータとして算出する。以下において、ユーザUの数をユーザ数と記載する場合がある。 In addition to the processing content indicated by the processing content information, the noise addition processing unit 51 also calculates, as calculation result data, data indicating the number (total) of users U for each group G and data indicating the variance for each group G subject to statistical processing. Hereinafter, the number of users U may be referred to as the number of users.
そして、ノイズ付加処理部51は、グループG毎の演算結果のデータにグループGに応じたノイズを付加したグループG毎のノイズ付加データを生成する。例えば、複数の保護レベルAL1,AL2,・・・,ALnに対応する複数のグループG1,G2,・・・,Gnに匿名加工対象データに含まれるデータが分類されたとする。 Then, the noise addition processing unit 51 generates noise-added data for each group G by adding noise according to the group G to the data of the calculation results for each group G. For example, it is assumed that data included in the data to be anonymized is classified into a plurality of groups G 1 , G 2 , ..., G n corresponding to a plurality of protection levels AL 1 , AL 2 , ..., AL n .
この場合、ノイズ付加処理部51は、グループG1,G2,・・・,Gnの順に演算結果のデータにノイズレベルが高くなるノイズを付加する。このように、データの保護レベルALが高い利用条件に応じたグループGほどノイズレベルが高いノイズを付加したグループG毎のノイズ付加データを生成する。 In this case, the noise addition processing unit 51 adds noise of increasing noise level to the data resulting from the calculation in the order of groups G 1 , G 2 , ..., G n . In this way, noise-added data is generated for each group G, with noise of higher noise level added to groups G according to usage conditions with higher data protection levels AL.
ノイズは、例えば、固定ノイズ、ガウシアンノイズ、またはラプラスノイズなどである。ノイズ付加処理部51は、演算結果のデータに付加されるノイズが固定ノイズである場合、ノイズレベルが高い固定ノイズほど値を大きくする。 Noise can be, for example, fixed noise, Gaussian noise, or Laplace noise. When the noise added to the calculation result data is fixed noise, the noise addition processing unit 51 increases the value of the fixed noise as the noise level increases.
また、ノイズ付加処理部51は、演算結果のデータに付加されるノイズがガウシアンノイズである場合、ノイズの平均値の絶対値を大きくしたり、ノイズの標準偏差を大きくしたりすることで、ノイズレベルを高くすることができる。また、ノイズ付加処理部51は、演算結果のデータに付加されるノイズがラプラスノイズである場合、ノイズの平均値の絶対値を大きくしたり、ノイズの標準偏差を大きくしたりすることで、ノイズレベルを高くすることができる。 Furthermore, when the noise added to the calculation result data is Gaussian noise, the noise addition processing unit 51 can increase the noise level by increasing the absolute value of the average value of the noise or by increasing the standard deviation of the noise.Furthermore, when the noise added to the calculation result data is Laplace noise, the noise addition processing unit 51 can increase the noise level by increasing the absolute value of the average value of the noise or by increasing the standard deviation of the noise.
このように、ノイズ付加処理部51は、差分プライバシーによる匿名加工の処理において、グループG毎の演算結果のデータにグループGに応じたノイズを付加したグループG毎のノイズ付加データを生成する。 In this way, in the anonymization process using differential privacy, the noise addition processing unit 51 generates noise-added data for each group G by adding noise appropriate to the group G to the data resulting from the calculation for each group G.
次に、k-匿名化による匿名加工について説明する。ノイズ付加処理部51は、例えば、ある属性項目をアスタリスク「*」などに変換することによってノイズを付加する抑制処理を行ったり、属性項目の階層を上げることによってノイズを付加する一般化処理を行ったりすることで、匿名加工を行う。 Next, we will explain anonymization using k-anonymization. The noise addition processing unit 51 performs anonymization by, for example, performing suppression processing to add noise by converting certain attribute items into asterisks (*) or by performing generalization processing to add noise by raising the hierarchy of attribute items.
また、ノイズ付加処理部51は、ある閾値以上の値を1つのカテゴリにまとめるトップコーディング、またはある閾値以下の値を1つのカテゴリにまとめるボトムコーティングによってノイズを付加することもできる。 The noise addition processing unit 51 can also add noise using top coding, which groups values above a certain threshold into one category, or bottom coding, which groups values below a certain threshold into one category.
ノイズ付加処理部51は、データの保護レベルALが高い利用条件に応じたグループGのユーザデータ群ほどノイズレベルが高いノイズを付加したグループG毎のノイズ付加データ群を生成する。例えば、ノイズ付加処理部51は、データの保護レベルALが高いグループGほどノイズとして追加するデータの量である追加量を増やしたり、ノイズとして変更するデータの量である変更量を増やしたりする。 The noise addition processing unit 51 generates a noise-added data group for each group G, with noise added at a higher noise level for user data groups in group G according to usage conditions with a higher data protection level AL. For example, the noise addition processing unit 51 increases the addition amount, which is the amount of data to be added as noise, or increases the change amount, which is the amount of data to be changed as noise, for groups G with a higher data protection level AL.
ノイズ付加処理部51は、一般化処理において、例えば、一般化のレベルを高くすることによってノイズレベルを高くすることができる。一般化のレベルは、1つ上の階層よりも2つ上の階層が高く、2つ上の階層よりも3つ上の階層が高い。 In the generalization process, the noise addition processing unit 51 can increase the noise level, for example, by increasing the generalization level. The generalization level is higher for the layer two levels above than for the layer one level above, and higher for the layer three levels above than for the layer two levels above.
また、ノイズ付加処理部51は、例えば、抑制処理において、アスタリスク「*」に変換する属性項目を増やすことによってノイズレベルを高くすることができる。また、ノイズ付加処理部51は、ある閾値以上の値を1つのカテゴリにまとめる際に閾値を小さくすることによってノイズレベルを高くすることができる。また、ノイズ付加処理部51は、ある閾値以下の値を1つのカテゴリにまとめる際に閾値を大きくすることによってノイズレベルを高くすることができる。 Furthermore, the noise addition processing unit 51 can increase the noise level by, for example, increasing the number of attribute items converted to asterisks "*" during suppression processing. Furthermore, the noise addition processing unit 51 can increase the noise level by decreasing the threshold when grouping values above a certain threshold into one category. Furthermore, the noise addition processing unit 51 can increase the noise level by increasing the threshold when grouping values below a certain threshold into one category.
例えば、保護レベルAL1~ALnのうちユーザUによって選択された保護レベルである選択保護レベルSALに応じたグループGに各ユーザUが分類されたとする。この場合、ノイズ付加処理部51は、データの保護レベルALが高いグループGほどノイズレベルが高いノイズを付加する。 For example, suppose that each user U is classified into a group G according to a selected protection level SAL, which is a protection level selected by the user U from among protection levels AL 1 to AL n . In this case, the noise addition processing unit 51 adds noise at a higher noise level to groups G having higher data protection levels AL.
ノイズ付加処理部51は、グループG毎のユーザデータ群に対して、データの保護レベルALが高い利用条件に応じた数または内容のダミーデータを追加するダミー追加処理を行うこともできる。ダミーデータは、例えば、グループG毎のユーザデータ群に含まれるデータと同じであってもよく、ユーザデータ群に含まれるデータを加工したデータであってもよい。また、ダミーデータは、ランダムまたは所定の規則に従って生成したデータであってもよい。 The noise addition processing unit 51 can also perform dummy addition processing to add dummy data to the user data group for each group G, the number or content of which depends on the usage conditions for which the data protection level AL is high. The dummy data may, for example, be the same as the data contained in the user data group for each group G, or may be data obtained by processing the data contained in the user data group. The dummy data may also be data generated randomly or according to predetermined rules.
ノイズ付加処理部51は、例えば、データの保護レベルALが高いほど、追加するダミーデータの数を多くしたり、ユーザデータ群に含まれるデータに対する加工度合いを高めたデータをダミーデータとしたりすることができる。 For example, the higher the data protection level AL, the more dummy data the noise addition processing unit 51 can add, or use data that has been highly processed compared to the data included in the user data group as dummy data.
ノイズ付加処理部51は、各グループGの全体的な傾向が変化しないようにダミーデータをユーザデータ群に付加することもできる。例えば、ノイズ付加処理部51は、各グループGの全体的な傾向が変化しないように、ダミーデータを付加する前と後とでユーザデータ群に基づく演算結果(例えば、平均、合計、分散などの統計量)が閾値範囲内になるように、ダミーデータをユーザデータ群に付加する。 The noise addition processing unit 51 can also add dummy data to the user data group so that the overall trend of each group G does not change. For example, the noise addition processing unit 51 adds dummy data to the user data group so that the calculation results (e.g., statistical quantities such as average, sum, and variance) based on the user data group before and after adding the dummy data are within a threshold range, so that the overall trend of each group G does not change.
ノイズ付加処理部51は、保護レベルAL毎に異なるノイズ付加方法でユーザデータ群にノイズを付加することもできる。ノイズ付加方法は、例えば、抑制処理、一般化処理、およびダミー追加処理などであり、抑制処理にも、アスタリスク「*」への変換、トップコーティング、およびボトムコーティングなどのノイズ付加方法がある。なお、ノイズ付加方法は上述した例に限定されない。 The noise addition processing unit 51 can also add noise to the user data group using a different noise addition method for each protection level AL. Noise addition methods include, for example, suppression processing, generalization processing, and dummy addition processing, and suppression processing also includes noise addition methods such as conversion to asterisks (*), top coating, and bottom coating. Note that the noise addition methods are not limited to the examples described above.
このように、ノイズ付加処理部51は、k-匿名化による匿名加工の処理において、グループG毎のユーザデータ群にグループGに応じたノイズを付加したグループG毎のノイズ付加データ群を生成する。 In this way, the noise addition processing unit 51 generates a noise-added data group for each group G by adding noise appropriate to the group G to the user data group for each group G during the anonymization process using k-anonymization.
〔3.3.5.提供部34〕
提供部34は、匿名加工部33によって生成された匿名加工データまたは匿名加工データ群に基づいて、提供要求受付部41によって受け付けられた提供要求に応じたデータを分析対象データとして提供する。
[3.3.5. Providing Department 34]
The providing unit 34 provides data in response to the provision request accepted by the provision request accepting unit 41 as data to be analyzed, based on the anonymized data or a group of anonymized data generated by the anonymization unit 33.
提供部34は、匿名加工部33によって生成された匿名加工データまたは匿名加工データ群に基づいて、利用対象データを生成する利用対象データ生成部60と、利用対象データ生成部60によって生成された利用対象データなどを提供する提供処理部61とを備える。 The providing unit 34 includes a target data generating unit 60 that generates target data for use based on the anonymized processed data or a group of anonymized processed data generated by the anonymization unit 33, and a providing processing unit 61 that provides the target data for use generated by the target data generating unit 60.
〔3.3.5.1.利用対象データ生成部60〕
利用対象データ生成部60は、匿名加工部33によって生成された匿名加工データまたは匿名加工データ群を用いて、利用対象データを生成する。匿名加工データは、上述したように、グループG毎のノイズ付加データまたはノイズ付加データ群である。
3.3.5.1. Use target data generation unit 60
The target data generation unit 60 generates target data for use using the anonymously processed data or a group of anonymously processed data generated by the anonymization unit 33. The anonymously processed data is noise-added data or a group of noise-added data for each group G, as described above.
利用対象データ生成部60は、比較部70と、選択部71と、加重平均演算部72と、演算処理部73とを備える。 The target data generation unit 60 includes a comparison unit 70, a selection unit 71, a weighted average calculation unit 72, and a calculation processing unit 73.
〔3.3.5.1.1.比較部70〕
比較部70は、ユーザデータ群に含まれるデータのばらつきをグループG間で比較する。例えば、比較部70は、ユーザデータ群に含まれるデータのばらつきをグループG毎に算出し、グループG間でのデータのばらつきの傾向の類似度である傾向類似度を算出する。
3.3.5.1.1. Comparison unit 70
The comparison unit 70 compares the variations in the data included in the user data groups between groups G. For example, the comparison unit 70 calculates the variations in the data included in the user data groups for each group G, and calculates a trend similarity, which is the similarity in the trends of the data variations between groups G.
傾向類似度は、例えば、グループG毎の分散の分散またはグループG毎の分散の標準偏差で示される値であるが、かかる例に限定されない。例えば、傾向類似度は、グループG毎の標準偏差の分散またはグループG毎の標準偏差の標準偏差で示される値であってもよい。 The trend similarity is, for example, a value expressed as the variance of the variances for each group G or the standard deviation of the variances for each group G, but is not limited to such examples. For example, the trend similarity may be a value expressed as the variance of the standard deviations for each group G or the standard deviation of the standard deviations for each group G.
〔3.3.5.1.2.選択部71〕
選択部71は、比較部70による比較結果に基づいて、複数の加重平均方法の中から1つの加重平均方法を選択する。複数の加重平均方法には、第1の加重平均方法および第2の加重平均方法などが含まれる。
3.3.5.1.2. Selection unit 71
The selection unit 71 selects one weighted averaging method from among the plurality of weighted averaging methods based on the comparison result by the comparison unit 70. The plurality of weighted averaging methods include a first weighted averaging method and a second weighted averaging method.
第1の加重平均方法は、グループG毎のノイズ付きユーザ数に応じた重みを用いた加重平均方法であり、第2の加重平均方法は、ノイズ付きユーザ数をグループG毎のノイズ付き分散で除算した値に応じた重みを用いた加重平均方法である。 The first weighted average method is a weighted average method using a weight according to the number of noise-added users for each group G, and the second weighted average method is a weighted average method using a weight according to the value obtained by dividing the number of noise-added users by the noise-added variance for each group G.
例えば、選択部71は、傾向類似度が高い場合に、第1の加重平均方法を選択し、傾向類似度が低い場合に第2の加重平均方法を選択する。例えば、選択部71は、グループG毎の分散の分散またはグループG毎の分散の標準偏差が閾値未満である場合に、傾向類似度が高いと判定し、グループG毎の分散の分散またはグループG毎の分散の標準偏差が閾値以上である場合に、傾向類似度が低いと判定する。 For example, the selection unit 71 selects the first weighted average method when the trend similarity is high, and selects the second weighted average method when the trend similarity is low. For example, the selection unit 71 determines that the trend similarity is high when the variance of the variances for each group G or the standard deviation of the variances for each group G is less than a threshold, and determines that the trend similarity is low when the variance of the variances for each group G or the standard deviation of the variances for each group G is equal to or greater than a threshold.
また、選択部71は、グループG毎の標準偏差の分散またはグループG毎の標準偏差の標準偏差が閾値未満である場合に、傾向類似度が高いと判定し、グループG毎の標準偏差の分散またはグループG毎の標準偏差の標準偏差が閾値以上である場合に、傾向類似度が低いと判定することもできる。なお、選択部71は、グループG毎のばらつきの比較結果に基づいて、加重平均方法を選択すればよく、上述した例に限定されない。 The selection unit 71 can also determine that the trend similarity is high when the variance of the standard deviations for each group G or the standard deviation of the standard deviations for each group G is less than a threshold, and determine that the trend similarity is low when the variance of the standard deviations for each group G or the standard deviation of the standard deviations for each group G is equal to or greater than a threshold. Note that the selection unit 71 only needs to select a weighted average method based on the results of comparing the variations for each group G, and is not limited to the above-mentioned example.
〔3.3.5.1.3.加重平均演算部72〕
加重平均演算部72は、匿名加工部33によって生成された匿名加工データがグループG毎のノイズ付加データである場合に、匿名加工データに基づいて、利用対象データを生成する。例えば、加重平均演算部72は、上記式(1)の演算によって、利用対象データを生成することができる。
[3.3.5.1.3. Weighted average calculation unit 72]
The weighted average calculation unit 72 generates data to be used based on the anonymously processed data when the anonymously processed data generated by the anonymization unit 33 is noise-added data for each group G. For example, the weighted average calculation unit 72 can generate data to be used by calculating the above formula (1).
加重平均演算部72は、グループG毎のノイズ付加データを重み付け加算することによって、利用対象データを生成する。重み付けは、グループG毎のユーザデータ群に含まれるユーザ数にノイズを付加した値に応じた重み、またはグループG毎のユーザデータ群に含まれるユーザ数にノイズを付加した値をグループG毎の分散にノイズを付加した値で除算した値に応じた重みなどが用いられる。 The weighted average calculation unit 72 generates the data to be used by weighting and adding the noise-added data for each group G. The weighting may be a weight corresponding to the value obtained by adding noise to the number of users included in the user data group for each group G, or a weight corresponding to the value obtained by dividing the value obtained by adding noise to the number of users included in the user data group for each group G by the value obtained by adding noise to the variance for each group G.
例えば、加重平均演算部72は、選択部71によって第1の加重平均方法が選択された場合、グループG毎のユーザデータ群に含まれるユーザ数にノイズを付加した値(ノイズ付きユーザ数)に応じた重みを用いてグループG毎のノイズ付加データを重み付け加算することによって、利用対象データを生成する。 For example, when the selection unit 71 selects the first weighted average method, the weighted average calculation unit 72 generates the data to be used by weighting and adding the noise-added data for each group G using a weight corresponding to the value obtained by adding noise to the number of users included in the user data group for each group G (number of users with noise).
また、加重平均演算部72は、選択部71によって第2の加重平均方法が選択された場合、グループG毎のノイズ付きユーザ数をグループG毎のノイズ付き分散で除算した値に応じた重みを用いてグループG毎のノイズ付加データを重み付け加算することによって、利用対象データを生成する。 Furthermore, when the selection unit 71 selects the second weighted average method, the weighted average calculation unit 72 generates the data to be used by weighting and adding the noise-added data for each group G using a weight corresponding to the value obtained by dividing the number of noise-added users for each group G by the noise-added variance for each group G.
なお、加重平均演算部72は、上述した複数の勾配の平均値をグループG毎の演算結果とした場合、ノイズ付き演算結果のデータを用いた機械学習によって決定された学習モデルのパラメータを利用対象データとして算出する。 When the average value of the above-mentioned multiple gradients is used as the calculation result for each group G, the weighted average calculation unit 72 calculates the parameters of the learning model determined by machine learning using the data of the calculation results with noise as the data to be used.
また、加重平均演算部72は、ノイズ付きユーザ数に代えて、ノイズが付加されないグループG毎のユーザ数を用いてグループG毎のノイズ付加データを重み付け加算することもできる。また、加重平均演算部72は、ノイズが付加されないグループG毎のユーザ数と分散とを用いて、グループG毎のノイズ付加データを重み付け加算することもできる。なお、分散は、σ1 2、σ2 2、・・・、σn 2の平方根であってもよい。 Furthermore, the weighted average calculation unit 72 can perform weighted addition of the noise-added data for each group G using the number of users in each group G to which noise is not added, instead of the number of users with noise. Furthermore, the weighted average calculation unit 72 can perform weighted addition of the noise-added data for each group G using the number of users in each group G to which noise is not added and the variance. Note that the variance may be the square root of σ 1 2 , σ 2 2 , ..., σ n 2 .
〔3.3.5.1.4.演算処理部73〕
演算処理部73は、匿名加工部33によってグループG毎のノイズ付加データ群、すなわち匿名加工データ群が生成された場合に、利用対象データを生成する。
[3.3.5.1.4. Processing unit 73]
When the anonymization unit 33 generates a noise-added data group for each group G, that is, an anonymized processed data group, the calculation processing unit 73 generates data to be used.
演算処理部73は、処理内容情報で示される処理内容に基づいて、匿名加工データ群に基づく演算結果(例えば、平均、合計、分散などの統計量)のデータを算出する。処理内容情報で示される処理内容は、平均、合計、分散といった統計演算種別や学習モデルのパラメータの生成演算種別などを示す情報を含む。 The calculation processing unit 73 calculates data of calculation results (e.g., statistical quantities such as average, sum, and variance) based on the anonymously processed data group based on the processing content indicated in the processing content information. The processing content indicated in the processing content information includes information indicating the statistical calculation type such as average, sum, and variance, and the calculation type for generating learning model parameters.
例えば、処理対象情報によって特定される処理内容がユーザUの年収の平均であるとする。この場合、演算処理部73は、匿名加工データ群に基づく演算結果のデータとして、匿名加工データ群に含まれるユーザUの平均年収を示すデータを利用対象データとして算出する。 For example, suppose the processing content specified by the processing target information is the average annual income of user U. In this case, the calculation processing unit 73 calculates, as the data of the calculation result based on the anonymized processed data group, data indicating user U's average annual income included in the anonymized processed data group as the data to be used.
また、処理対象情報によって特定される処理内容がユーザUの年齢の分散であるとする。この場合、演算処理部73は、匿名加工データ群に基づく演算結果のデータとして、匿名加工データ群に含まれるユーザUの年齢の分散を示すデータを利用対象データとして、算出する。 Also, assume that the processing content identified by the processing target information is the variance of the age of user U. In this case, the calculation processing unit 73 calculates, as the data of the calculation result based on the anonymously processed data group, data indicating the variance of the age of user U included in the anonymously processed data group as the data to be used.
また、処理対象情報によって特定される処理内容が匿名加工対象データを学習用データとして用いて生成される学習モデルのパラメータであるとする。この場合、演算処理部73は、例えば、確率的勾配降下法を使ってモデルを最適化する際の、匿名加工データ群から得られるトレーニングデータのサンプルに起因する複数の勾配の平均値を用いた機械学習によって決定された学習モデルのパラメータを利用対象データとして算出する。 Also, the processing content identified by the processing target information is assumed to be the parameters of a learning model generated using the data to be anonymized as learning data. In this case, the calculation processing unit 73 calculates, as the data to be used, the parameters of the learning model determined by machine learning using the average value of multiple gradients resulting from training data samples obtained from the anonymized data group when optimizing the model using, for example, stochastic gradient descent.
〔3.3.5.2.提供処理部61〕
提供処理部61は、例えば、提供要求受付部41によって受け付けられた提供要求に応じたデータを提供する。
3.3.5.2. Provision Processing Unit 61
The providing processing unit 61 provides, for example, data in response to a providing request accepted by the providing request accepting unit 41 .
例えば、提供処理部61は、利用対象データ生成部60によって生成された利用対象データを提供要求に応じたデータとして要求者装置4に送信することで、操作者に対して提供情報を提供する。これにより、提供処理部61は、個人情報の提供をより適切に行うことができる。 For example, the provision processing unit 61 provides the provision information to the operator by transmitting the use target data generated by the use target data generation unit 60 to the requester device 4 as data in response to the provision request. This allows the provision processing unit 61 to provide personal information more appropriately.
〔4.処理手順〕
次に、図6用いて、実施形態に係る情報処理装置1の処理部12が実行する情報処理の手順について説明する。図6は、情報処理装置1の処理部12が実行する情報処理の一例を示すフローチャートである。
4. Processing Procedure
Next, the procedure of information processing executed by the processing unit 12 of the information processing device 1 according to the embodiment will be described with reference to Fig. 6. Fig. 6 is a flowchart showing an example of information processing executed by the processing unit 12 of the information processing device 1.
図6に示すように、情報処理装置1の処理部12は、アップロードデータがあるか否かを判定する(ステップS20)。例えば、処理部12は、サーバ3からサービスログのデータが情報処理装置1に送信されて通信部10で受信された場合に、アップロードデータがあると判定する。 As shown in FIG. 6, the processing unit 12 of the information processing device 1 determines whether there is upload data (step S20). For example, the processing unit 12 determines that there is upload data when service log data is sent from the server 3 to the information processing device 1 and received by the communication unit 10.
処理部12は、アップロードデータがあると判定した場合(ステップS20:Yes)、アップロードデータであるサービスログのデータに組織を紐付ける(ステップS21)。そして、処理部12は、組織が紐付けられたアップロードデータであるサービスログのデータを記憶部11に記憶させる(ステップS22)。 If the processing unit 12 determines that there is uploaded data (Step S20: Yes), it links the service log data, which is the uploaded data, to the organization (Step S21). Then, the processing unit 12 stores the service log data, which is the uploaded data linked to the organization, in the memory unit 11 (Step S22).
処理部12は、ステップS22の処理が終了した場合、またはアップロードデータがないと判定した場合(ステップS20:No)、データの提供要求があるか否かを判定する(ステップS23)。例えば、処理部12は、要求者装置4からクエリが情報処理装置1に送信されて通信部10で受信された場合に、データの提供要求があると判定する。 When the processing of step S22 is completed, or when it is determined that there is no uploaded data (step S20: No), the processing unit 12 determines whether there is a request to provide data (step S23). For example, the processing unit 12 determines that there is a request to provide data when a query is sent from the requester device 4 to the information processing device 1 and received by the communication unit 10.
処理部12は、データの提供要求があると判定した場合(ステップS23:Yes)、クエリで特定されるデータである提供候補データが、特定関係組織に紐付けられたデータであるか否かを判定する(ステップS24)。 If the processing unit 12 determines that there is a request to provide data (step S23: Yes), it determines whether the candidate data to be provided, which is the data identified by the query, is data linked to a specific related organization (step S24).
処理部12は、提供候補データが特定関係組織に紐付けられたデータであると判定した場合(ステップS24:Yes)、匿名加工処理を行う(ステップS25)。匿名加工処理は、図7に示すステップS30,S31の処理であり、後で詳述する。 If the processing unit 12 determines that the candidate data to be provided is data linked to a specific related organization (step S24: Yes), it performs anonymization processing (step S25). The anonymization processing is the processing of steps S30 and S31 shown in Figure 7, and will be described in detail later.
次に、処理部12は、ステップS25の匿名加工処理において生成したグループG毎のノイズ付加データを含む匿名加工データまたはグループG毎のノイズ付加データ群を含む匿名加工データ群に基づいて、利用対象データを生成する(ステップS26)。そして、処理部12は、ステップS26で生成した利用対象データを提供要求の提供元に提供する(ステップS27)。 Next, the processing unit 12 generates data to be used based on the anonymized processed data including noise-added data for each group G generated in the anonymization process of step S25 or a group of anonymized processed data including a group of noise-added data for each group G (step S26). The processing unit 12 then provides the data to be used generated in step S26 to the provider that has issued the provision request (step S27).
処理部12は、ステップS27の処理が終了した場合、データの提供要求がないと判定した場合(ステップS23:No)、または提供候補データが特定関係組織に紐付けられたデータでないと判定した場合(ステップS24:No)、終了タイミングになったか否かを判定する(ステップS28)。処理部12は、例えば、情報処理装置1の電源がオフにされた場合、または情報処理装置1の不図示の操作部への操作によって終了操作が行われたと判定した場合に、終了タイミングになったと判定する。 When the processing of step S27 is completed, when it is determined that there is no request to provide data (step S23: No), or when it is determined that the candidate data to be provided is not data linked to a specific related organization (step S24: No), the processing unit 12 determines whether the time to end has arrived (step S28). The processing unit 12 determines that the time to end has arrived, for example, when the power of the information processing device 1 is turned off, or when it is determined that an end operation has been performed by operating an operation unit (not shown) of the information processing device 1.
処理部12は、終了タイミングになっていないと判定した場合(ステップS28:No)、処理をステップS20へ移行し、終了タイミングになったと判定した場合(ステップS28:Yes)、図6に示す処理を終了する。 If the processing unit 12 determines that the end timing has not yet arrived (step S28: No), it proceeds to step S20. If the processing unit 12 determines that the end timing has arrived (step S28: Yes), it terminates the processing shown in FIG. 6.
図7は、情報処理装置1の処理部12が実行する匿名加工処理の一例を示すフローチャートである。図7に示すように、処理部12は、提供候補データに含まれる各データをユーザが設定した利用条件に応じたグループGに分類する(ステップS30)。 Figure 7 is a flowchart showing an example of anonymization processing performed by the processing unit 12 of the information processing device 1. As shown in Figure 7, the processing unit 12 classifies each piece of data included in the candidate data to be provided into group G according to the usage conditions set by the user (step S30).
次に、処理部12は、ユーザデータ群に基づく演算結果のデータまたはユーザデータ群にグループGに応じたノイズを付加したノイズ付加データまたはノイズ付加データ群をグループG毎に生成し(ステップS31)、図7に示す処理を終了する。 Next, the processing unit 12 generates noise-added data or a noise-added data group for each group G by adding noise corresponding to the group G to the data of the calculation result based on the user data group or the user data group (step S31), and then ends the processing shown in FIG. 7.
〔5.変形例〕
上述した例では、匿名加工処理の対象となるデータがサービスログのデータである例を説明したが、匿名加工処理の対象となるデータは、サービスログデータに限定されず、例えば、オフラインで収集したデータであってもよい。
5. Modifications
In the above example, the data to be anonymized is service log data, but the data to be anonymized is not limited to service log data and may be, for example, data collected offline.
また、上述した例では、ユーザUが設定した利用条件で示される保護レベルに応じたノイズを付加する例を説明したが、かかる例に限定されない。例えば、匿名加工部33は、サーバ3からサービスログのデータの保護レベルを示す保護レベル情報が情報処理装置1に送信される場合、保護レベル情報で示される保護レベルを最も低い保護レベルとすることができる。 Furthermore, in the above example, an example was described in which noise was added according to the protection level indicated in the terms of use set by user U, but this is not limited to such an example. For example, when protection level information indicating the protection level of service log data is sent from server 3 to information processing device 1, the anonymization unit 33 can set the protection level indicated in the protection level information to the lowest protection level.
例えば、サービスログのデータに含まれるデータの保護レベルとして保護レベルAL1,AL2,・・・,ALnが含まれるとする。この場合、匿名加工部33は、保護レベル情報で示される保護レベルが保護レベルAL2であれば、ユーザUが利用条件として設定した保護レベルAL1を保護レベルAL2に変更する。また、匿名加工部33は、保護レベル情報で示される保護レベルが保護レベルALnであれば、ユーザUが利用条件として設定した保護レベルALの保護レベルALnに変更する。 For example, suppose the protection levels of the data included in the service log data are protection levels AL 1 , AL 2 , ..., AL n . In this case, if the protection level indicated by the protection level information is protection level AL 2 , the anonymization unit 33 changes the protection level AL 1 set by the user U as a condition of use to protection level AL 2. Also, if the protection level indicated by the protection level information is protection level AL n , the anonymization unit 33 changes the protection level AL set by the user U as a condition of use to protection level AL n .
また、保護レベル情報は、保護レベルALを挙げるための値pを示す情報であってもよい。この場合、匿名加工部33は、サービスログのデータに含まれるデータの保護レベルとして保護レベルAL1,AL2,・・・,ALnが含まれていれば、保護レベルAL1,AL2,・・・,ALnを保護レベルAL1+p,AL2+p,・・・,ALn+pに変更して、匿名加工処理を行う。 The protection level information may also be information indicating a value p for raising the protection level AL. In this case, if the protection levels AL 1 , AL 2 , ..., AL n are included as the protection levels of the data included in the service log data, the anonymization unit 33 changes the protection levels AL 1 , AL 2 , ..., AL n to protection levels AL 1+p , AL 2+p , ..., AL n+p , and performs the anonymization process.
〔6.ハードウェア構成〕
上述してきた実施形態に係る情報処理装置1または端末装置2は、例えば図8に示すような構成のコンピュータ80によって実現される。以下、情報処理装置1を例に挙げて説明する。図8は、実施形態に係る情報処理装置1の機能を実現するコンピュータ80の一例を示すハードウェア構成図である。コンピュータ80は、CPU81、RAM82、ROM(Read Only Memory)83、HDD(Hard Disk Drive)84、通信インターフェイス(I/F)85、入出力インターフェイス(I/F)86、およびメディアインターフェイス(I/F)87を有する。
6. Hardware Configuration
The information processing device 1 or the terminal device 2 according to the above-described embodiment is realized by, for example, a computer 80 configured as shown in Fig. 8. The following description will be given taking the information processing device 1 as an example. Fig. 8 is a hardware configuration diagram showing an example of a computer 80 that realizes the functions of the information processing device 1 according to the embodiment. The computer 80 has a CPU 81, a RAM 82, a ROM (Read Only Memory) 83, an HDD (Hard Disk Drive) 84, a communication interface (I/F) 85, an input/output interface (I/F) 86, and a media interface (I/F) 87.
CPU81は、ROM83またはHDD84に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM83は、コンピュータ80の起動時にCPU81によって実行されるブートプログラムや、コンピュータ80のハードウェアに依存するプログラムなどを記憶する。 The CPU 81 operates based on programs stored in the ROM 83 or HDD 84 and controls each component. The ROM 83 stores a boot program executed by the CPU 81 when the computer 80 starts up, as well as programs that depend on the computer 80's hardware.
HDD84は、CPU81によって実行されるプログラム、および、かかるプログラムによって使用されるデータなどを記憶する。通信インターフェイス85は、ネットワークN(図2参照)を介して他の機器からデータを受信してCPU81へ送り、CPU81が生成したデータを、ネットワークNを介して他の機器に送信する。 The HDD 84 stores programs executed by the CPU 81 and data used by such programs. The communication interface 85 receives data from other devices via the network N (see Figure 2) and sends it to the CPU 81, and transmits data generated by the CPU 81 to other devices via the network N.
CPU81は、入出力インターフェイス86を介して、ディスプレイやプリンタなどの出力装置、および、キーボードまたはマウスなどの入力装置を制御する。CPU81は、入出力インターフェイス86を介して、入力装置からデータを取得する。また、CPU81は、入出力インターフェイス86を介して生成したデータを出力装置へ出力する。 The CPU 81 controls output devices such as displays and printers, and input devices such as keyboards and mice, via the input/output interface 86. The CPU 81 acquires data from the input devices via the input/output interface 86. The CPU 81 also outputs data generated via the input/output interface 86 to the output devices.
メディアインターフェイス87は、記録媒体88に記憶されたプログラムまたはデータを読み取り、RAM82を介してCPU81に提供する。CPU81は、かかるプログラムを、メディアインターフェイス87を介して記録媒体88からRAM82上にロードし、ロードしたプログラムを実行する。記録媒体88は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)などの光学記録媒体、MO(Magneto-Optical disk)などの光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリなどである。 The media interface 87 reads programs or data stored on the recording medium 88 and provides them to the CPU 81 via the RAM 82. The CPU 81 loads the programs from the recording medium 88 onto the RAM 82 via the media interface 87 and executes the loaded programs. The recording medium 88 may be, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
例えば、コンピュータ80が実施形態に係る情報処理装置1として機能する場合、コンピュータ80のCPU81は、RAM82上にロードされたプログラムを実行することにより、処理部12の機能を実現する。また、HDD84には、記憶部11内のデータが記憶される。コンピュータ80のCPU81は、これらのプログラムを記録媒体88から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。 For example, when the computer 80 functions as the information processing device 1 according to the embodiment, the CPU 81 of the computer 80 executes programs loaded onto the RAM 82 to realize the functions of the processing unit 12. In addition, the HDD 84 stores data in the storage unit 11. The CPU 81 of the computer 80 reads and executes these programs from the recording medium 88, but as another example, these programs may be obtained from another device via the network N.
〔7.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[7. Other]
Furthermore, among the processes described in the above embodiments, some of the processes described as being performed automatically can also be performed manually. Alternatively, all or some of the processes described as being performed manually can be performed automatically using known methods. In addition, the information including the processing procedures, specific names, various data, and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified. For example, the various information shown in each drawing is not limited to the information shown in the drawings.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Furthermore, the components of each device shown in the figure are functional concepts and do not necessarily have to be physically configured as shown. In other words, the specific form of distribution and integration of each device is not limited to that shown, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
例えば、上述した情報処理装置1は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットホームなどをAPIやネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。 For example, the information processing device 1 described above may be implemented using multiple server computers, and depending on the function, the configuration can be flexibly changed, such as by calling an external platform using an API or network computing.
また、例えば、図3に示した記憶部11の一部または全部は、各装置によって保持されるのではなく、ストレージサーバなどに保持されてもよい。この場合、各装置は、ストレージサーバにアクセスすることで、各種情報を取得する。 Furthermore, for example, part or all of the memory unit 11 shown in FIG. 3 may not be held by each device, but may be held by a storage server or the like. In this case, each device obtains various information by accessing the storage server.
〔8.効果〕
上述してきたように、実施形態に係る情報処理装置1は、提供要求受付部41と、判定部32と、匿名加工部33と、提供部34とを備える。提供要求受付部41は、データの提供要求を受け付ける。判定部32は、提供要求受付部41によって受け付けられた提供要求で特定されるデータである提供候補データが、提供要求の要求元と予め定められた関係性を有する組織に紐付けられたデータであるか否かを判定する。匿名加工部33は、判定部32によって提供候補データが要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定された場合に、提供候補データに匿名加工を行って匿名加工データを生成する。提供部34は、匿名加工部33によって生成された匿名加工データに基づいて、提供要求に応じたデータを提供する。これにより、情報処理装置1は、個人情報の提供をより適切に行うことができる。
8. Effects
As described above, the information processing device 1 according to the embodiment includes a provision request receiving unit 41, a determination unit 32, an anonymization unit 33, and a providing unit 34. The provision request receiving unit 41 receives a data provision request. The determination unit 32 determines whether the provision candidate data, which is data identified in the provision request received by the provision request receiving unit 41, is data linked to an organization having a predetermined relationship with the requester of the provision request. When the determination unit 32 determines that the provision candidate data is data linked to an organization having a predetermined relationship with the requester, the anonymization unit 33 anonymizes the provision candidate data to generate anonymously processed data. The providing unit 34 provides data in response to the provision request based on the anonymously processed data generated by the anonymization unit 33. This allows the information processing device 1 to more appropriately provide personal information.
また、匿名加工部33は、提供候補データに対してk-匿名化による匿名加工を行って匿名加工データを生成する。これにより、情報処理装置1は、個人情報の提供をより適切に行うことができる。 The anonymization unit 33 also performs k-anonymization on the candidate data to be provided to generate anonymously processed data. This allows the information processing device 1 to provide personal information more appropriately.
また、匿名加工部33は、提供候補データに対して差分プライバシーによる匿名加工を行って匿名加工データを生成する。これにより、情報処理装置1は、個人情報の提供をより適切に行うことができる。 In addition, the anonymization unit 33 performs anonymization using differential privacy on the candidate data to generate anonymized data. This allows the information processing device 1 to provide personal information more appropriately.
また、情報処理装置1は、データ受付部40と、紐付部31とを備える。データ受付部40は、提供要求に応じたデータを提供するために用いられるデータである提供データを受け付ける。紐付部31は、データ受付部40によって受け付けられた提供データを複数の組織のうちの紐付け条件を満たす組織に紐付ける。これにより、情報処理装置1は、個人情報の提供をより適切に行うことができる。 The information processing device 1 also includes a data receiving unit 40 and a linking unit 31. The data receiving unit 40 receives provided data, which is data used to provide data in response to a provision request. The linking unit 31 links the provided data received by the data receiving unit 40 to an organization among multiple organizations that satisfies the linking conditions. This enables the information processing device 1 to provide personal information more appropriately.
また、提供データは、オンラインサービスの利用ログのデータである。これにより、情報処理装置1は、オンラインサービスの利用ログのデータの提供をより適切に行うことができる。 The provided data is also online service usage log data. This allows the information processing device 1 to more appropriately provide online service usage log data.
また、紐付部31は、データ受付部40によって受け付けられた提供データを提供した組織を、紐付け条件を満たす組織として判定する。これにより、情報処理装置1は、個人情報の提供をより適切に行うことができる。 In addition, the linking unit 31 determines that the organization that provided the provided data accepted by the data accepting unit 40 is an organization that satisfies the linking conditions. This allows the information processing device 1 to provide personal information more appropriately.
また、紐付部31は、オンラインサービスを提供する組織を、紐付け条件を満たす組織として判定する。これにより、情報処理装置1は、個人情報の提供をより適切に行うことができる。 In addition, the linking unit 31 determines that organizations that provide online services are organizations that satisfy the linking conditions. This allows the information processing device 1 to provide personal information more appropriately.
また、紐付部31は、データ受付部40によって受け付けられたデータを入力とし組織毎の要求元との関連性を示すスコアを出力とする関連性推定モデルを有し、関連性推定モデルから出力されるスコアに基づいて、紐付け条件を満たす組織を判定する。これにより、情報処理装置1は、個人情報の提供をより適切に行うことができる。 The linking unit 31 also has a relevance estimation model that inputs data received by the data receiving unit 40 and outputs a score indicating the relevance of each organization with the requester, and determines organizations that satisfy the linking conditions based on the score output from the relevance estimation model. This allows the information processing device 1 to provide personal information more appropriately.
また、匿名加工部33は、分類部50と、ノイズ付加処理部51とを備える。分類部50は、提供候補データに含まれるデータであってユーザUによって利用が許諾されたデータをユーザUが設定した利用条件に応じたグループGに分類する。ノイズ付加処理部51は、分類部50によって同一のグループGに分類された複数のデータを含むユーザデータ群に基づく演算結果のデータにグループGに応じたノイズを付加したノイズ付加データまたはユーザデータ群にグループGに応じたノイズを付加したノイズ付加データ群をグループG毎に生成する。これにより、情報処理装置1は、ユーザUが設定した利用条件に応じたノイズを付加することで、保護レベルによっては個人情報の利用の許諾をするユーザUのデータを用いることができ、より多くの個人情報を活用可能にすることができる。 The anonymization unit 33 also includes a classification unit 50 and a noise addition processing unit 51. The classification unit 50 classifies data included in the candidate provision data and whose use has been permitted by the user U into a group G according to the usage conditions set by the user U. The noise addition processing unit 51 generates noise-added data for each group G by adding noise according to the group G to data resulting from calculations based on a user data group including multiple pieces of data classified into the same group G by the classification unit 50, or a noise-added data group by adding noise according to the group G to a user data group. In this way, by adding noise according to the usage conditions set by the user U, the information processing device 1 can use the data of users U who have permitted the use of their personal information depending on the protection level, making it possible to utilize more personal information.
また、ノイズ付加処理部51は、データの保護レベルが高い利用条件に応じたグループGほどノイズレベルが高いノイズを付加したノイズ付加データまたはノイズ付加データ群を生成する。これにより、情報処理装置1は、より多くの個人情報を活用可能にすることができる。 In addition, the noise addition processing unit 51 generates noise-added data or noise-added data groups with higher noise levels added to groups G according to usage conditions with higher data protection levels. This allows the information processing device 1 to make more personal information usable.
また、提供部34は、ノイズ付加処理部51によって生成されたグループG毎のノイズ付加データまたはノイズ付加データ群を用いて利用対象データを生成する利用対象データ生成部60を備える。これにより、情報処理装置1は、ユーザUが設定した利用条件に応じたノイズをより適切に付加することができる。 The providing unit 34 also includes a usage target data generating unit 60 that generates usage target data using the noise-added data or noise-added data group for each group G generated by the noise addition processing unit 51. This allows the information processing device 1 to more appropriately add noise in accordance with the usage conditions set by the user U.
また、利用対象データ生成部60は、ノイズ付加処理部51によって生成されたグループG毎のノイズ付加データを、グループG毎のユーザデータ群に含まれるユーザUの数にノイズを付加した値に基づく重みを用いて、加重平均して得られるデータを、利用対象データとして生成する。これにより、情報処理装置1は、ユーザUが設定した利用条件に応じたノイズをより適切に付加することができる。 The target data generation unit 60 also generates target data for use by weighting the noise-added data for each group G generated by the noise addition processing unit 51, using a weight based on the value obtained by adding noise to the number of users U included in the user data group for each group G. This allows the information processing device 1 to more appropriately add noise according to the usage conditions set by the user U.
また、利用対象データ生成部60は、ノイズ付加処理部51によって生成されたグループG毎のノイズ付加データを、グループG毎のユーザデータ群に含まれるユーザUの数を演算結果の算出に用いたデータのグループG毎の分散にノイズを付加した値で除算した値に応じた重みを用いて、加重平均して得られるデータを、利用対象データとして生成する。これにより、情報処理装置1は、ユーザUが設定した利用条件に応じたノイズをより適切に付加することができる。 The target data generation unit 60 also generates, as target data for use, data obtained by weighting the noise-added data for each group G generated by the noise addition processing unit 51 using a weight corresponding to the value obtained by dividing the number of users U included in the user data set for each group G by the value obtained by adding noise to the variance for each group G of the data used to calculate the calculation results. This allows the information processing device 1 to more appropriately add noise according to the usage conditions set by the user U.
また、利用対象データ生成部60は、比較部70と、選択部71と、加重平均演算部72とを備える。比較部70は、ユーザデータ群に含まれるデータのばらつきをグループG間で比較する。選択部71は、比較部70による比較結果に基づいて、グループG毎のユーザデータ群に含まれるユーザUの数に応じた重みを用いる方法と、グループG毎のユーザデータ群に含まれるユーザUの数にノイズを付加した値を演算結果の算出に用いたデータのグループG毎の分散にノイズを付加した値で除算した値に応じた重みを用いる方法のいずれかを加重平均の方法として選択する。加重平均演算部72は、選択部71によって選択された加重平均の方法によって、ノイズ付加処理部51によって算出されたグループG毎の演算結果のデータの加重平均を算出する。これにより、情報処理装置1は、ユーザUが設定した利用条件に応じたノイズをより適切に付加することができる。 The usage target data generation unit 60 also includes a comparison unit 70, a selection unit 71, and a weighted average calculation unit 72. The comparison unit 70 compares the variability of the data included in the user data groups between groups G. Based on the comparison results by the comparison unit 70, the selection unit 71 selects, as the weighted averaging method, one of two methods: one using a weight according to the number of users U included in the user data group for each group G, or one using a weight according to a value obtained by dividing a value obtained by adding noise to the number of users U included in the user data group for each group G by a value obtained by adding noise to the variance for each group G of the data used to calculate the calculation results. The weighted average calculation unit 72 calculates a weighted average of the calculation result data for each group G calculated by the noise addition processing unit 51 using the weighted averaging method selected by the selection unit 71. This allows the information processing device 1 to more appropriately add noise according to the usage conditions set by the user U.
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 The above describes in detail the embodiments of the present application based on the drawings, but this is merely an example, and the present invention can be implemented in other forms that incorporate various modifications and improvements based on the knowledge of those skilled in the art, including the aspects described in the Disclosure of the Invention section.
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、提供部は、提供手段や提供回路に読み替えることができる。 Furthermore, the "parts" (sections, modules, units) mentioned above can be read as "means" or "circuits." For example, a providing unit can be read as a providing means or a providing circuit.
1 情報処理装置
2 端末装置
3,31~3m サーバ
4 要求者装置
10 通信部
11 記憶部
12 処理部
20 組織情報記憶部
21 サービスログ記憶部
30 受付部
31 紐付部
32 判定部
33 匿名加工部
34 提供部
40 データ受付部
41 提供要求受付部
50 分類部
51 ノイズ付加処理部
60 利用対象データ生成部
61 提供処理部
70 比較部
71 選択部
72 加重平均演算部
73 演算処理部
100 情報提供システム
REFERENCE SIGNS LIST 1 information processing device 2 terminal device 3, 3 1 to 3 m server 4 requester device 10 communication unit 11 memory unit 12 processing unit 20 organization information memory unit 21 service log memory unit 30 reception unit 31 linking unit 32 determination unit 33 anonymization unit 34 provision unit 40 data reception unit 41 provision request reception unit 50 classification unit 51 noise addition processing unit 60 use target data generation unit 61 provision processing unit 70 comparison unit 71 selection unit 72 weighted average calculation unit 73 calculation processing unit 100 information provision system
Claims (16)
前記データ受付部によって受け付けられた前記提供データを複数の組織のうちの紐付け条件を満たす組織に紐付ける紐付部と、
データの提供要求を受け付ける提供要求受付部と、
前記提供要求受付部によって受け付けられた前記提供要求で特定されるデータである提供候補データが、前記提供要求の要求元と予め定められた関係性を有する組織に紐付けられたデータであるか否かを判定する判定部と、
前記判定部によって前記提供候補データが前記要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定された場合に、前記提供候補データに匿名加工を行って匿名加工データを生成する匿名加工部と、
前記匿名加工部によって生成された前記匿名加工データに基づいて、前記提供要求に応じたデータを提供する提供部と、を備え、
前記紐付部は、
前記データ受付部によって受け付けられたデータを入力とし前記組織毎の前記要求元との関連性を示すスコアを出力とする関連性推定モデルを有し、前記関連性推定モデルから出力されるスコアに基づいて、前記紐付け条件を満たす組織を判定する
ことを特徴とする情報処理装置。 a data receiving unit that receives provision data that is data used to provide data in response to a provision request;
a linking unit that links the provided data accepted by the data accepting unit to an organization that satisfies a linking condition among a plurality of organizations;
a provision request receiving unit that receives a data provision request;
a determination unit that determines whether or not the provision candidate data, which is the data specified in the provision request accepted by the provision request acceptance unit, is data linked to an organization that has a predetermined relationship with a requester of the provision request;
an anonymization unit that generates anonymously processed data by anonymizing the candidate data to be provided when the determination unit determines that the candidate data to be provided is data linked to an organization that has a predetermined relationship with the request source;
a providing unit that provides data in response to the provision request based on the anonymized data generated by the anonymization unit ,
The linking unit is
a relevance estimation model that receives data received by the data receiving unit as input and outputs a score indicating a relevance between each organization and the requester, and determines an organization that satisfies the linking condition based on the score output from the relevance estimation model;
1. An information processing device comprising:
前記提供要求受付部によって受け付けられた前記提供要求で特定されるデータである提供候補データが、前記提供要求の要求元と予め定められた関係性を有する組織に紐付けられたデータであるか否かを判定する判定部と、
前記判定部によって前記提供候補データが前記要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定された場合に、前記提供候補データに匿名加工を行って匿名加工データを生成する匿名加工部と、
前記匿名加工部によって生成された前記匿名加工データに基づいて、前記提供要求に応じたデータを提供する提供部と、を備え、
前記匿名加工部は、
前記提供候補データに含まれるデータであってユーザによって利用が許諾されたデータを前記ユーザが設定した利用条件に応じたグループに分類する分類部と、
前記分類部によって同一のグループに分類された複数のデータを含むユーザデータ群に基づく演算結果のデータに前記グループに応じたノイズを付加したノイズ付加データを前記グループ毎に生成するノイズ付加処理部と、を備え、
前記提供部は、
前記ノイズ付加処理部によって生成された前記グループ毎の前記ノイズ付加データを、前記グループ毎の前記ユーザデータ群に含まれる前記ユーザの数にノイズを付加した値に基づく重みを用いて、加重平均して得られるデータを利用対象データとして生成する利用対象データ生成部を備える
ことを特徴とする情報処理装置。 a provision request receiving unit that receives a data provision request;
a determination unit that determines whether or not the provision candidate data, which is the data specified in the provision request accepted by the provision request acceptance unit, is data linked to an organization that has a predetermined relationship with a requester of the provision request;
an anonymization unit that generates anonymously processed data by anonymizing the candidate data to be provided when the determination unit determines that the candidate data to be provided is data linked to an organization that has a predetermined relationship with the request source;
a providing unit that provides data in response to the provision request based on the anonymized data generated by the anonymization unit ,
The anonymization unit includes:
a classification unit that classifies data included in the provision candidate data and whose use is permitted by a user into groups according to usage conditions set by the user;
a noise addition processing unit that generates noise-added data for each group by adding noise according to the group to data resulting from an operation based on a user data group including a plurality of data classified into the same group by the classification unit,
The providing unit
a usage target data generation unit that generates, as usage target data, data obtained by weighting average of the noise-added data for each of the groups generated by the noise addition processing unit using a weight based on a value obtained by adding noise to the number of users included in the user data group for each of the groups;
1. An information processing device comprising:
前記データ受付部によって受け付けられた前記提供データを複数の組織のうちの紐付け条件を満たす組織に紐付ける紐付部と、を備える
ことを特徴とする請求項2に記載の情報処理装置。 a data receiving unit that receives provided data, which is data used to provide data in response to the provision request;
The information processing apparatus according to claim 2 , further comprising: a linking unit that links the provided data accepted by the data accepting unit to an organization that satisfies a linking condition among a plurality of organizations.
オンラインサービスの利用ログのデータである
ことを特徴とする請求項1または3に記載の情報処理装置。 The provided data is
The information processing device according to claim 1 or 3 , wherein the data is a usage log data of an online service.
前記データ受付部によって受け付けられた前記提供データを提供した組織を、前記紐付け条件を満たす組織として判定する
ことを特徴とする請求項1または3に記載の情報処理装置。 The linking unit is
The information processing apparatus according to claim 1 or 3 , wherein an organization that provided the provided data accepted by the data accepting unit is determined to be an organization that satisfies the linking condition.
前記オンラインサービスを提供する組織を、前記紐付け条件を満たす組織として判定する
ことを特徴とする請求項4に記載の情報処理装置。 The linking unit is
The information processing device according to claim 4 , wherein the organization providing the online service is determined to be an organization that satisfies the linking condition.
前記提供候補データに含まれるデータであってユーザによって利用が許諾されたデータを前記ユーザが設定した利用条件に応じたグループに分類する分類部と、
前記分類部によって同一のグループに分類された複数のデータを含むユーザデータ群に基づく演算結果のデータに前記グループに応じたノイズを付加したノイズ付加データまたはユーザデータ群に前記グループに応じたノイズを付加したノイズ付加データ群を前記グループ毎に生成するノイズ付加処理部と、を備える
ことを特徴とする請求項1に記載の情報処理装置。 The anonymization unit includes:
a classification unit that classifies data included in the provision candidate data and whose use is permitted by a user into groups according to usage conditions set by the user;
the information processing device according to claim 1, further comprising: a noise addition processing unit that generates, for each group, noise-added data by adding noise according to the group to data of a calculation result based on a user data group including a plurality of data classified into the same group by the classification unit, or a noise-added data group by adding noise according to the group to a user data group.
前記データの保護レベルが高い前記利用条件に応じたグループほどノイズレベルが高いノイズを付加したノイズ付加データまたはノイズ付加データ群を生成する
ことを特徴とする請求項7に記載の情報処理装置。 The noise addition processing unit
The information processing apparatus according to claim 7 , wherein the information processing apparatus generates noise-added data or a noise-added data group to which a higher noise level is added for a group according to the usage conditions with a higher data protection level.
前記ノイズ付加処理部によって生成された前記グループ毎の前記ノイズ付加データまたは前記ノイズ付加データ群を用いて利用対象データを生成する利用対象データ生成部を備える
ことを特徴とする請求項7に記載の情報処理装置。 The providing unit
The information processing apparatus according to claim 7 , further comprising a utilization target data generation unit that generates utilization target data using the noise-added data for each group or the noise-added data group generated by the noise addition processing unit.
前記ノイズ付加処理部によって生成された前記グループ毎の前記ノイズ付加データを、前記グループ毎の前記ユーザデータ群に含まれる前記ユーザの数にノイズを付加した値に基づく重みを用いて、加重平均して得られるデータを、前記利用対象データとして生成する
ことを特徴とする請求項9に記載の情報処理装置。 The usage target data generation unit
The information processing device according to claim 9, characterized in that data obtained by weighting average of the noise-added data for each of the groups generated by the noise addition processing unit using a weight based on a value obtained by adding noise to the number of users included in the user data group for each of the groups is generated as the data to be used.
前記ノイズ付加処理部によって生成された前記グループ毎の前記ノイズ付加データを、前記グループ毎の前記ユーザデータ群に含まれる前記ユーザの数にノイズを付加した値を前記演算結果の算出に用いたデータの前記グループ毎の分散にノイズを付加した値で除算した値に応じた重みを用いて、加重平均して得られるデータを、前記利用対象データとして生成する
ことを特徴とする請求項2または10に記載の情報処理装置。 The usage target data generation unit
11. The information processing device according to claim 2 or 10, characterized in that the noise-added data for each of the groups generated by the noise addition processing unit is weighted-averaged using a weight corresponding to a value obtained by dividing a value obtained by adding noise to the number of users included in the user data group for each of the groups by a value obtained by adding noise to the variance for each of the groups of data used to calculate the calculation result.
前記ユーザデータ群に含まれるデータのばらつきを前記グループ間で比較する比較部と、
前記比較部による比較結果に基づいて、前記グループ毎の前記ユーザデータ群に含まれる前記ユーザの数にノイズを付加した値に応じた重みを用いる方法と、前記グループ毎の前記ユーザデータ群に含まれる前記ユーザの数にノイズを付加した値を前記演算結果の算出に用いたデータの前記グループ毎の分散にノイズを付加した値で除算した値に応じた重みを用いる方法のいずれかを前記加重平均の方法として選択する選択部と、
前記選択部によって選択された前記加重平均の方法によって、前記ノイズ付加処理部によって算出された前記グループ毎の演算結果のデータの加重平均を算出する加重平均演算部と、を備える
ことを特徴とする請求項11に記載の情報処理装置。 The usage target data generation unit
a comparison unit that compares the variations in data included in the user data groups between the groups;
a selection unit that selects, based on a comparison result by the comparison unit, one of a method using a weight according to a value obtained by adding noise to the number of users included in the user data group for each group, and a method using a weight according to a value obtained by dividing the value obtained by adding noise to the number of users included in the user data group for each group by a value obtained by adding noise to the variance for each group of data used to calculate the calculation result; and
12. The information processing device according to claim 11, further comprising: a weighted average calculation unit that calculates a weighted average of the data of the calculation results for each group calculated by the noise addition processing unit using the weighted average method selected by the selection unit.
提供要求に応じたデータを提供するために用いられるデータである提供データを受け付けるデータ受付工程と、
前記データ受付工程によって受け付けられた前記提供データを複数の組織のうちの紐付け条件を満たす組織に紐付ける紐付工程と、
データの提供要求を受け付ける提供要求受付工程と、
前記提供要求受付工程によって受け付けられた前記提供要求で特定されるデータである提供候補データが、前記提供要求の要求元と予め定められた関係性を有する組織に紐付けられたデータであるか否かを判定する判定工程と、
前記判定工程によって前記提供候補データが前記要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定された場合に、前記提供候補データに匿名加工を行って匿名加工データを生成する匿名加工工程と、
前記匿名加工工程によって生成された前記匿名加工データに基づいて、前記提供要求に応じたデータを提供する提供工程と、を含み、
前記紐付工程は、
前記データ受付工程によって受け付けられたデータを入力とし前記組織毎の前記要求元との関連性を示すスコアを出力とする関連性推定モデルを有し、前記関連性推定モデルから出力されるスコアに基づいて、前記紐付け条件を満たす組織を判定する
ことを特徴とする情報処理方法。 1. A computer-implemented information processing method, comprising:
a data receiving step of receiving provision data, which is data used to provide data in response to a provision request;
a linking step of linking the provided data received in the data receiving step to an organization among a plurality of organizations that satisfies a linking condition;
a provision request receiving step of receiving a data provision request;
a determination step of determining whether or not the provision candidate data, which is data specified in the provision request accepted by the provision request accepting step, is data linked to an organization having a predetermined relationship with the requester of the provision request;
an anonymization process for generating anonymously processed data by anonymizing the candidate data to be provided when it is determined by the determination process that the candidate data to be provided is data linked to an organization having a predetermined relationship with the request source;
a providing step of providing data in response to the provision request based on the anonymized processed data generated by the anonymization step ,
The linking step includes:
The method includes a relevance estimation model that receives the data received in the data receiving step as an input and outputs a score indicating the relevance of each organization with the requester, and determines an organization that satisfies the linking condition based on the score output from the relevance estimation model.
An information processing method comprising:
データの提供要求を受け付ける提供要求受付工程と、a provision request receiving step of receiving a data provision request;
前記提供要求受付工程によって受け付けられた前記提供要求で特定されるデータである提供候補データが、前記提供要求の要求元と予め定められた関係性を有する組織に紐付けられたデータであるか否かを判定する判定工程と、a determination step of determining whether or not the provision candidate data, which is data specified in the provision request accepted by the provision request accepting step, is data linked to an organization having a predetermined relationship with the requester of the provision request;
前記判定工程によって前記提供候補データが前記要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定された場合に、前記提供候補データに匿名加工を行って匿名加工データを生成する匿名加工工程と、an anonymization process for generating anonymously processed data by anonymizing the candidate data to be provided when it is determined by the determination process that the candidate data to be provided is data linked to an organization having a predetermined relationship with the request source;
前記匿名加工工程によって生成された前記匿名加工データに基づいて、前記提供要求に応じたデータを提供する提供工程と、を含み、a providing step of providing data in response to the provision request based on the anonymized processed data generated by the anonymization step,
前記匿名加工工程は、The anonymization process includes:
前記提供候補データに含まれるデータであってユーザによって利用が許諾されたデータを前記ユーザが設定した利用条件に応じたグループに分類する分類工程と、a classification step of classifying data included in the candidate data to be provided and for which use is permitted by a user into groups according to use conditions set by the user;
前記分類工程によって同一のグループに分類された複数のデータを含むユーザデータ群に基づく演算結果のデータに前記グループに応じたノイズを付加したノイズ付加データを前記グループ毎に生成するノイズ付加処理工程と、を含み、a noise addition processing step of generating noise-added data for each group by adding noise according to the group to data resulting from an operation based on a user data group including a plurality of data classified into the same group by the classification step,
前記提供工程は、The providing step includes:
前記ノイズ付加処理工程によって生成された前記グループ毎の前記ノイズ付加データを、前記グループ毎の前記ユーザデータ群に含まれる前記ユーザの数にノイズを付加した値に基づく重みを用いて、加重平均して得られるデータを利用対象データとして生成する利用対象データ生成工程を含むa use target data generating step of generating, as use target data, data obtained by weighting average of the noise-added data for each of the groups generated by the noise addition processing step using a weight based on a value obtained by adding noise to the number of users included in the user data group for each of the groups;
ことを特徴とする情報処理方法。An information processing method comprising:
前記データ受付手順によって受け付けられた前記提供データを複数の組織のうちの紐付け条件を満たす組織に紐付ける紐付手順と、
データの提供要求を受け付ける提供要求受付手順と、
前記提供要求受付手順によって受け付けられた前記提供要求で特定されるデータである提供候補データが、前記提供要求の要求元と予め定められた関係性を有する組織に紐付けられたデータであるか否かを判定する判定手順と、
前記判定手順によって前記提供候補データが前記要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定された場合に、前記提供候補データに匿名加工を行って匿名加工データを生成する匿名加工手順と、
前記匿名加工手順によって生成された前記匿名加工データに基づいて、前記提供要求に応じたデータを提供する提供手順と、をコンピュータに実行させ、
前記紐付手順は、
前記データ受付手順によって受け付けられたデータを入力とし前記組織毎の前記要求元との関連性を示すスコアを出力とする関連性推定モデルを有し、前記関連性推定モデルから出力されるスコアに基づいて、前記紐付け条件を満たす組織を判定する
ことを特徴とする情報処理プログラム。 a data receiving procedure for receiving provided data, which is data used to provide data in response to a provision request;
a linking step of linking the provided data accepted by the data accepting step to an organization among a plurality of organizations that satisfies a linking condition;
a provision request acceptance procedure for accepting a data provision request;
a determination step of determining whether or not the provision candidate data, which is data specified in the provision request accepted by the provision request acceptance step, is data associated with an organization having a predetermined relationship with a requester of the provision request;
an anonymization step of anonymizing the candidate data to be provided to generate anonymously processed data when the determination step determines that the candidate data to be provided is data linked to an organization having a predetermined relationship with the requester;
a provision step of providing data in response to the provision request based on the anonymized data generated by the anonymization step ;
The linking procedure includes:
a relevance estimation model that receives data received by the data receiving procedure as an input and outputs a score indicating a relevance between each organization and the requester, and determines an organization that satisfies the linking condition based on the score output from the relevance estimation model;
An information processing program characterized by:
前記提供要求受付手順によって受け付けられた前記提供要求で特定されるデータである提供候補データが、前記提供要求の要求元と予め定められた関係性を有する組織に紐付けられたデータであるか否かを判定する判定手順と、a determination step of determining whether or not the provision candidate data, which is data specified in the provision request accepted by the provision request acceptance step, is data associated with an organization having a predetermined relationship with a requester of the provision request;
前記判定手順によって前記提供候補データが前記要求元と予め定められた関係性を有する組織に紐付けられたデータであると判定された場合に、前記提供候補データに匿名加工を行って匿名加工データを生成する匿名加工手順と、an anonymization step of anonymizing the candidate data to be provided to generate anonymously processed data when the determination step determines that the candidate data to be provided is data linked to an organization having a predetermined relationship with the requester;
前記匿名加工手順によって生成された前記匿名加工データに基づいて、前記提供要求に応じたデータを提供する提供手順と、をコンピュータに実行させ、a provision step of providing data in response to the provision request based on the anonymized data generated by the anonymization step;
前記匿名加工手順は、The anonymization procedure is as follows:
前記提供候補データに含まれるデータであってユーザによって利用が許諾されたデータを前記ユーザが設定した利用条件に応じたグループに分類する分類手順と、a classification step of classifying data included in the candidate data to be provided and for which use is permitted by a user into groups according to use conditions set by the user;
前記分類手順によって同一のグループに分類された複数のデータを含むユーザデータ群に基づく演算結果のデータに前記グループに応じたノイズを付加したノイズ付加データを前記グループ毎に生成するノイズ付加処理手順と、を含み、a noise addition processing procedure for generating noise-added data for each group by adding noise according to the group to data resulting from an operation based on a user data group including a plurality of data classified into the same group by the classification procedure,
前記提供手順は、The providing step comprises:
前記ノイズ付加処理手順によって生成された前記グループ毎の前記ノイズ付加データを、前記グループ毎の前記ユーザデータ群に含まれる前記ユーザの数にノイズを付加した値に基づく重みを用いて、加重平均して得られるデータを利用対象データとして生成する利用対象データ生成手順を含むa usage target data generation step of generating, as usage target data, data obtained by weighting average of the noise-added data for each of the groups generated by the noise addition processing step using a weight based on a value obtained by adding noise to the number of users included in the user data group for each of the groups;
ことを特徴とする情報処理プログラム。An information processing program characterized by:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022098771A JP7788354B2 (en) | 2022-06-20 | 2022-06-20 | Information processing device, information processing method, and information processing program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022098771A JP7788354B2 (en) | 2022-06-20 | 2022-06-20 | Information processing device, information processing method, and information processing program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024000165A JP2024000165A (en) | 2024-01-05 |
| JP7788354B2 true JP7788354B2 (en) | 2025-12-18 |
Family
ID=89384508
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022098771A Active JP7788354B2 (en) | 2022-06-20 | 2022-06-20 | Information processing device, information processing method, and information processing program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7788354B2 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140351946A1 (en) | 2013-05-22 | 2014-11-27 | Hitachi, Ltd. | Privacy protection-type data providing system |
| JP2017010268A (en) | 2015-06-22 | 2017-01-12 | ニフティ株式会社 | Determination method, determination device and determination program |
| US20190227980A1 (en) | 2018-01-22 | 2019-07-25 | Google Llc | Training User-Level Differentially Private Machine-Learned Models |
| JP2020112922A (en) | 2019-01-09 | 2020-07-27 | 三菱電機株式会社 | Server device and data transfer method |
| JP2021163014A (en) | 2020-03-31 | 2021-10-11 | 富士通株式会社 | Generation method, generation program, and generation device |
-
2022
- 2022-06-20 JP JP2022098771A patent/JP7788354B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140351946A1 (en) | 2013-05-22 | 2014-11-27 | Hitachi, Ltd. | Privacy protection-type data providing system |
| JP2014229039A (en) | 2013-05-22 | 2014-12-08 | 株式会社日立製作所 | Privacy protection type data provision system |
| JP2017010268A (en) | 2015-06-22 | 2017-01-12 | ニフティ株式会社 | Determination method, determination device and determination program |
| US20190227980A1 (en) | 2018-01-22 | 2019-07-25 | Google Llc | Training User-Level Differentially Private Machine-Learned Models |
| JP2020112922A (en) | 2019-01-09 | 2020-07-27 | 三菱電機株式会社 | Server device and data transfer method |
| JP2021163014A (en) | 2020-03-31 | 2021-10-11 | 富士通株式会社 | Generation method, generation program, and generation device |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024000165A (en) | 2024-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Cardenal et al. | Digital technologies and selective exposure: How choice and filter bubbles shape news media exposure | |
| Yazdani et al. | A novel approach for heart disease prediction using strength scores with significant predictors | |
| US20240134946A1 (en) | Online identity reputation | |
| US20220261409A1 (en) | Extrapolating trends in trust scores | |
| US20220005125A1 (en) | Systems and methods for collecting and processing alternative data sources for risk analysis and insurance | |
| Greene et al. | Adjusting to the GDPR: The impact on data scientists and behavioral researchers | |
| Magliozzi et al. | Scaling up: Representing gender diversity in survey research | |
| Xie et al. | Welfare migration or migrant selection? Social insurance participation and rural migrants’ intentions to seek permanent urban settlement in China | |
| CN110313009B (en) | Method and system for adjusting a trust score of a second entity for a requesting entity | |
| Mohanty et al. | Does inward FDI lead to export performance in India? An empirical investigation | |
| US20170249698A1 (en) | Crowdsourcing of trustworthiness indicators | |
| JP7160980B2 (en) | INFORMATION PROVIDING DEVICE, INFORMATION PROVIDING METHOD AND PROGRAM | |
| US20100100398A1 (en) | Social network interface | |
| CN113742492A (en) | Insurance scheme generation method and device, electronic equipment and storage medium | |
| KR102417554B1 (en) | Apparatus, method and computer program for generating de-identified training data for conversation service | |
| WO2019144035A1 (en) | Systems and methods for collecting and processing alternative data sources for risk analysis and insurance | |
| JP7460365B2 (en) | Information provision server, program, and information provision method | |
| Leal et al. | Analysis and prediction of hotel ratings from crowdsourced data | |
| Han et al. | Reducing the bias in online reviews using propensity score adjustment | |
| Werfel et al. | Public support for assistance for workers displaced by technology | |
| JP7788354B2 (en) | Information processing device, information processing method, and information processing program | |
| US11449875B1 (en) | Organizational and personal identity verification and validation | |
| JP7778645B2 (en) | Information processing device, information processing method, and information processing program | |
| Teshome Bekele | Predictors of community-based health Insurance in Ethiopia via multilevel mixed-effects modelling: evidence from the 2019 Ethiopia Mini demography and health survey | |
| CN119048251A (en) | Personalized insurance service recommendation method based on artificial intelligence |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20231026 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241120 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250912 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250916 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251106 |
|
| 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: 20251118 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251208 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7788354 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |