JP7158175B2 - 情報処理装置、システム、情報処理方法及びプログラム - Google Patents
情報処理装置、システム、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP7158175B2 JP7158175B2 JP2018094817A JP2018094817A JP7158175B2 JP 7158175 B2 JP7158175 B2 JP 7158175B2 JP 2018094817 A JP2018094817 A JP 2018094817A JP 2018094817 A JP2018094817 A JP 2018094817A JP 7158175 B2 JP7158175 B2 JP 7158175B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- data
- product
- correspondence information
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
非特許文献1には、同じ属性値を持つデータがk件以上存在するようにデータを変換することで、データの匿名化を行う手法であるk-匿名化が開示されている。
そこで、本発明は、データの有用性の低下を抑えつつ、データのセキュリティを向上させることを支援することを目的とする。
<実施形態1>
(本実施形態の処理の概要)
図1は、本実施形態の処理の一例の概要を説明する図である。本実施形態の処理の主体は、図5で後述する情報処理装置500であるとする。
本実施形態では、予め、複数のユーザそれぞれについての商品の購買履歴のデータの集合である購買履歴データ100が用意されているとする。購買履歴データ100は、例えば、何時、誰が、何を、どれだけ購買したかを示すデータの集合である。以下では、購買履歴データ100のように、分析に用いられる蓄積されたデータの集合を、元データとする。購買履歴データ100のような元データは、第1のデータ集合の一例である。購買履歴データ100は、図3、4で後述する予測評価値の決定等の分析に用いることができるデータであり、特定の分析に対して有用性を有するデータである。しかし、購買履歴データ100には、ユーザの情報が含まれるため、個人の識別ができる情報である個人情報や、個人に関する情報が含まれる場合がある。そのため、購買履歴データ100をそのまま保持していると、個人情報等の漏洩の可能性があるという問題がある。また、購買履歴データ100を非特許文献1に記載のk-匿名化の技術で匿名化すると購買履歴データ100の有用性が顕著に低下してしまう場合がある。
そこで、本実施形態では、情報処理装置500は、購買履歴データ100を、購買履歴データ100を有用性の低下を防ぎつつ、購買履歴データ100内のデータを個人の特定を困難にするように加工する処理を行う。
情報処理装置500は、この45000個のデータを集計し、誰が、どの商品(アイテム)を合計でいくつ購買したかを特定する。図2の例では、ユーザは500人存在して、ユーザにより購買され得る商品は、3000種類存在する。そのため、図2の例では、情報処理装置500は、item-User行列101として、3000×500の行列を生成する。即ち、item-User行列101の各行が、商品それぞれに対応し、item-User行列101の各列が、ユーザそれぞれに対応することとなる。item-User行列101のi行j列目の要素の値は、j列目に対応するユーザが、i行目に対応する商品を購買した購買数を示す。
近似item-User行列102は、item-User行列101の低ランク近似であり、item-User行列101の特徴的な成分を有し、微細な成分を除外した行列であるとみなせる。
そこで、情報処理装置500は、近似item-User行列102を生成することで、item-User行列101から、特徴的な成分を残し、微細な成分を除外することとした。
情報処理装置500は、生成した近似item-User行列102に基づいて、例えば、item-User行列101を生成する際の処理と逆の処理を行うことで、匿名化された購買履歴データ100である匿名化購買履歴データ103を生成する。匿名化購買履歴データ103は、匿名化された元データである匿名化データの一例である。
本実施形態の情報処理装置500の処理は、例えば、以下のような処理と見なせる。即ち、購買履歴データ100を特定の分析に用いられる形式であるitem-User行列101に変換して、変換したitem-User行列101を、特徴的な成分を残し、微細な成分を除外することで近似item-User行列102を生成し、生成した近似item-User行列102から、購買履歴データ100に近似するデータを生成することで、匿名化された購買履歴データ100である匿名化購買履歴データ103を生成する処理である。
図3、図4を用いて、購買履歴データ100を用いた分析処理の一例として、あるユーザがある商品を購入したり、評価したりしたある商品を購入したりした際に、そのユーザが他の商品について、どの程度の評価をするかを予測する処理を説明する。より具体的には、予測の結果として、予測された評価の度合いを示す指標である予測評価値を求める処理について説明する。
図3は、商品同士の類似度を示すitem間類似度行列104を生成する処理の一例を説明する図である。情報処理装置500は、例えば、item-user行列101に基づいて、商品間の類似度を示すitem間類似度行列104を生成する。item-user行列101の各行は、対応する商品を各ユーザがどれだけ購買したかを示す要素で構成された行となる。ここで、item-user行列101のi行の各要素を並べたベクトルを、Viとする。Viは、i行目に対応する商品を各ユーザがどれだけ購買したかを示すベクトルとみなすことができる。ここで、i行目に対応する商品と、j行目に対応する商品と、の類似度を以下の式1で表されるWijとして定義する。
Wij=Vi・Vj/(|Vi||Vj|) (式1)
情報処理装置500は、例えば、式1を用いて、全てのi、jの組について、Wijを求める。そして、情報処理装置500は、Wijが表す行列を、item間類似度行列104として決定する。
図4の例では、あるユーザについての各商品の評価値を含むベクトルであるitem評価ベクトル401が用意されているとする。情報処理装置500は、例えば、そのユーザが評価済みの商品について、item間類似度行列104に、item評価ベクトル401を掛け、得られたベクトルの第i要素を、類似度行列のi行目の行絶対値和で割ることで、そのユーザがある商品を購買した際の予測評価値を含むベクトルである予測評価ベクトル402を生成する。予測評価ベクトル402の各行には、その行に対応する商品についてのそのユーザの評価値の予測値が格納されることとなる。j行目に対応する商品についてのユーザuの評価値をruj、ユーザuが評価済みのアイテムの集合をYu、y行目に対応する商品についてのユーザuの評価値の予測値をr’uyとすると、r’uyは以下の式2で表されることになる。
例えば、以上のような処理で、購買履歴データ100が分析に用いられることとなる。
図5は、情報処理装置500のハードウェア構成の一例を示す図である。情報処理装置500は、例えば、パーソナルコンピュータ(PC)、サーバ装置、タブレット装置等である。
情報処理装置500は、CPU501、主記憶装置502、補助記憶装置503、入力I/F504、出力I/F505、ネットワークI/F506を含む。各要素は、システムバス507を介して、相互に通信可能に接続されている。
CPU501は、情報処理装置500を制御する中央演算装置である。主記憶装置502は、CPU501のワークエリアやデータの一時的な記憶領域として機能するRandom Access Memory(RAM)等の記憶装置である。主記憶装置502は、記憶媒体の一例である。補助記憶装置503は、各種プログラム、各種設定情報、購買履歴データ100等の元データ、元データから生成される各種情報等を記憶する記憶装置である。補助記憶装置503は、例えば、Read Only Memory(ROM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等である。補助記憶装置503は、記憶媒体の一例である。
CPU501が、補助記憶装置503等に記憶されたプログラムにしたがって処理を実行することで、図6で後述する情報処理装置500の機能、図7で後述するフローチャートの処理等が実現される。
図6は、情報処理装置500の機能構成の一例を示す図である。情報処理装置500は、データ取得部601、データ生成部602、判定部603、更新部604、出力部605を含む。
データ取得部601は、補助記憶装置503から元データを取得し、取得した元データに基づいて、複数の項目の組み合わせに対応する特定の項目の値を示す複数次元の配列状の情報である対応情報を取得する。
データ生成部602は、データ取得部601により取得された対応情報を、複数の複数次元の配列状の情報の掛け合わせとして分解する。そして、データ生成部602は、分解により得られた情報のうち、他の情報それぞれと掛け合わされる情報について、含まれる要素のうちの一部の要素の値を減ずるように修正する。以下では、対応情報の分解により得られた情報のうち、他の情報それぞれと掛け合わされる情報を、配列情報とする。また、以下では、含まれる要素のうちの一部の要素の値を減ずるように修正された配列情報は、修正配列情報とする。そして、データ生成部602は、修正した修正配列情報に基づいて、対応情報を近似することで、対応情報を生成しなおす。以下では、修正配列情報に基づいて、生成された対応情報を、近似対応情報とする。またデータ生成部602は、生成した近似対応情報に基づいて、匿名化された元データである匿名化データを生成する。生成された匿名化データは、第2のデータ集合の一例である。
更新部604は、判定部603によりデータ生成部602により生成された匿名化データを採用しないと判定された場合、データ生成部602による近似対応情報の生成に用いられるパラメータの値を更新する。更新部604によるパラメータの更新後に、データ生成部602は、改めて、更新されたパラメータに基づいて、近似対応情報、及び匿名化データを生成する。
出力部605は、データ生成部602により生成された匿名化データを出力する。
図7は、情報処理装置500の処理の一例を示すフローチャートである。
S701において、データ取得部601は、例えば、補助記憶装置503から、元データを取得する。図7の例では、データ取得部601は、補助記憶装置503から、元データとして、購買履歴データ100を取得することとする。
S702において、データ取得部601は、S701で取得した元データに基づいて、予め指定された複数の項目の組み合わせに対応する予め定められた項目の値を示す対応情報を生成する。本実施形態では、この複数の項目として、予め、ユーザの項目と商品の項目とが指定されているとする。また、この複数の項目の組み合わせに対応する項目として、商品の購買数が指定されているとする。図7の例では、データ取得部601は、元データ内のデータを集計することで、各ユーザが各商品をどれだけ購買したかを特定し、2次元の配列状の対応情報として、Item-User行列101を生成する。
データ生成部602は、取得した特異値のうち値の小さなものから一部を選択する。データ生成部602は、例えば、取得した特異値のうち、予め定められた閾値以下の特異値を全て選択する。また、データ生成部602は、取得した特異値のうち、値の小さなものから順に予め定められた個数だけ特異値を選択してもよい。また、データ生成部602は、選択した特異値の合計の全ての特異値の合計に対する割合が、予め定められた閾値以下となるように、値の小さなものから順に特異値を選択してもよい。
そして、データ生成部602は、行列Σについて、対角成分のうち、選択した特異値に対応する要素を0にするように修正する。修正後の行列をΣ’とする。Σ’は、修正配列情報の一例である。データ生成部602は、例えば、行列Σ’と、行列Uと、行列Vと、に基づいて、UΣ’Vを求めることで、対応情報を低ランク近似し、近似対応情報を生成する。即ち、本実施形態では、データ生成部602は、対応情報であるItem-User行列101を低ランク近似することで、近似対応情報である近似Item-User行列102を生成する。
また、近似対応情報に示されるあるユーザがある商品を購買した個数が、小数点以下の端数がある値である場合、この近似対応情報に基づいて匿名化データが生成されると、匿名化データには、そのユーザがその商品を小数点以下の端数がある値の個数(例えば、0.5個)だけ購入したというデータが含まれることとなり得る。商品を購買した個数は、整数であるため、このような匿名化データは、不自然なデータとなってしまう。データ生成部602は、近似対応情報の各要素について端数処理を行うことで、匿名化データが不自然なデータとなる可能性を低減できる。
また、データ生成部602は、生成した近似対応情報における配列の要素ベクトル同士を入れ替えることとしてもよい。例えば、データ生成部602は、生成した近似対応情報におけるj1列目の各要素と、j2列目の各要素と、j3列目の各要素と、(j1≠j2、j1≠j3、j2≠j3、)を入れ替えることとしてもよい。例えば、データ生成部602は、近似対応情報におけるj1列目の各要素を、元のj3列目の各要素として、j2列目の各要素を、元のj1列目の各要素として、j3列目の各要素を、元のj2列目の各要素としてもよい。
また、データ生成部602は、生成した近似対応情報における各列に対応するユーザ同士を入れ替えることとしてもよい。例えば、近似対応情報において、j1列目がユーザAに対応し、j2列目がユーザBに対応し、j3列目がユーザCに対応するとする。この場合、データ生成部602は、例えば、近似対応情報におけるj1列目を、ユーザCに対応する列として修正し、j2列目をユーザAに対応する列として修正し、j3列目をユーザBに対応する列として修正してもよい。
これにより、データ生成部602は、近似対応情報に含まれるデータがどのようなデータかを特定しにくいように加工することができ、結果的に、S704で生成する匿名化データを更に匿名化することができるようになる。
本実施形態では、何時、誰が、何を、どれだけ購買したかを示すデータの集合である元データ内のデータを集計することで、誰が何をどれだけ購買したかを示す対応情報が生成された。そして、対応情報が低ランク近似されることで、誰が何をどれだけ購買したかを示す情報である近似対応情報が得られた。
データ生成部602が匿名化データを生成する処理の一例について説明する。データ生成部602は、元データを加工することで、匿名化データを生成することとする。データ生成部602は、まず、近似対応情報の各要素のうち、対応情報と同一の要素と、異なる要素と、を特定する。
データ生成部602は、対応情報と同一でないと特定した要素に対応するユーザと、商品と、を特定する。データ生成部602は、元データのうち、特定したユーザと、商品と、に対応するデータについては、加工する対象のデータとして決定する。データ生成部602は、加工する対象として決定したあるユーザとある商品とに対応するデータそれぞれについて、対応する商品の購買数の項目の値を、合計が、近似対応情報におけるそのユーザとその商品とに対応する要素の値となるように、調整する。
データ生成部602は、加工対象として決定したデータそれぞれについて、購買した数の項目の値を調整することで、匿名化データを生成する。
また、データ生成部602は、例えば、そのユーザがその商品を購買したという情報を残すために、元データにおけるそのユーザとその商品とに対応するデータを、「ある時点で、そのユーザがその商品を0個購買した」ことを示すデータに修正することとしてもよい。
近似対応情報に対して、ユーザAとユーザBとユーザCとに対応するそれぞれの列(それぞれ、j1列、j2列、j3列とする)を入れ替える処理が行われたとする。データ生成部602は、近似対応情報におけるj1列目の各要素を、元のj3列目の各要素として、j2列目の各要素を、元のj1列目の各要素として、j3列目の各要素を、元のj2列目の各要素としたとする。
元データに含まれるユーザAに対応するデータが、「1月10日に、ユーザAが、商品αを、a個購買した」ことを示すデータと、「1月20日に、ユーザAが、商品βを、b個購買した」ことを示すデータであるとする。また、元データに含まれるユーザBに対応するデータが、「2月10日に、ユーザBが、商品βを、c個購買した」ことを示すデータと、「2月20日に、ユーザBが、商品γを、d個購買した」ことを示すデータであるとする。また、元データに含まれるユーザCに対応するデータが、「3月10日に、ユーザCが、商品αを、e個購買した」ことを示すデータと、「3月20日に、ユーザCが、商品γを、f個購買した」ことを示すデータであるとする。
要素の入れ替えが行われる前の近似対応情報において、これらの値が、以下のようになるとする。ユーザAと商品αとに対応する購買数は、a-1となる。また、ユーザAと商品βとに対応する購買数は、bとなる。また、ユーザBと商品βとに対応する購買数は、c-1となる。また、ユーザBと商品γとに対応する購買数は、dとなる。また、ユーザCと商品αとに対応する購買数は、e-1となる。また、ユーザCと商品γとに対応する購買数は、fとなる。
そして、要素の入れ替えが行われた後の近似対応情報において、ユーザAと商品αとに対応する購買数は、e-1となる。また、ユーザAと商品βとに対応する購買数は、0となる。また、また、ユーザAと商品γとに対応する購買数は、fとなる。また、ユーザBと商品αとに対応する購買数は、a―1となる。また、ユーザBと商品βとに対応する購買数は、bとなる。また、ユーザBと商品γとに対応する購買数は、0となる。また、ユーザCと商品αとに対応する購買数は、0となる。また、ユーザCと商品βとに対応する購買数は、c-1となる。また、ユーザCと商品γとに対応する購買数は、dとなる。
近似対応情報においてユーザAに対応する列は、元々ユーザCに対応する列となっている。これは、元データに含まれる各データにおいて、ユーザの入れ替えが生じたことと解釈できる。そこで、データ生成部602は、元データに含まれるユーザCに対応するデータである「3月10日に、ユーザCが、商品αを、e個購買した」ことを示すデータと、「3月20日に、ユーザCが、商品γを、f個購買した」ことを示すデータと、におけるユーザCをユーザAに入れ替えるように修正する。これにより、「3月10日に、ユーザAが、商品αを、e個購買した」ことを示すデータと、「3月20日に、ユーザAが、商品γを、f個購買した」ことを示すデータと、が生成される。近似対応情報には、ユーザAが商品αをe-1個、商品γをf個購買したことが示されているので、データ生成部602は、生成した「3月10日に、ユーザAが、商品αを、e個購買した」ことを示すデータにおける購買数を近似対応情報に併せるように修正して、「3月10日に、ユーザAが、商品αを、e-1個購買した」ことを示すデータを生成する。
また、データ生成部602は、元データに含まれる各ユーザに対応するデータにおけるユーザを修正せずに、各ユーザに対応するデータにおける購買した数を修正することとしてもよい。データ生成部602は、例えば、「1月10日に、ユーザAが、商品αを、a個購買した」ことを示すデータについて、購買した数を修正し、「1月10日に、ユーザAが、商品αを、e-1個購買した」ことを示すデータに変更し、「1月20日に、ユーザAが、商品βを、b個購買した」ことを示すデータについて、購買した商品と、購買した数と、を修正し、「1月20日に、ユーザAが、商品γを、f個購買した」ことを示すデータに変更することとしてもよい。
近似対応情報においてユーザBに対応する列は、元々ユーザAに対応する列となっている。そこで、データ生成部602は、元データに含まれるユーザAに対応するデータである「1月10日に、ユーザAが、商品αを、a個購買した」ことを示すデータと、「1月20日に、ユーザAが、商品βを、b個購買した」ことを示すデータと、におけるユーザAを、ユーザBに入れ替えるように修正する。これにより、「1月10日に、ユーザBが、商品αを、a個購買した」ことを示すデータと、「1月20日に、ユーザBが、商品βを、b個購買した」ことを示すデータと、が生成される。近似対応情報には、ユーザBが商品αをa-1個、商品βをb個購買したことが示されているので、データ生成部602は、生成した「1月10日に、ユーザBが、商品αを、a個購買した」ことを示すデータにおける購買数を近似対応情報に併せるように修正して、「1月10日に、ユーザBが、商品αを、a-1個購買した」ことを示すデータを生成する。
また、データ生成部602は、元データに含まれるユーザBに対応するデータである「2月10日に、ユーザBが、商品βを、c個購買した」ことを示すデータについて、購買した数を修正し、「2月10日に、ユーザBが、商品βを、b個購買した」ことを示すデータに変更し、「2月20日に、ユーザBが、商品γを、d個購買した」ことを示すデータについて、購買した商品と、購買した数と、を修正し、「2月20日に、ユーザBが、商品αを、a-1個購買した」ことを示すデータに変更することとしてもよい。
近似対応情報においてユーザCに対応する列は、元々ユーザBに対応する列となっている。そこで、データ生成部602は、元データに含まれるユーザBに対応するデータである「2月10日に、ユーザBが、商品βを、c個購買した」ことを示すデータと、「2月20日に、ユーザBが、商品γを、d個購買した」ことを示すデータと、におけるユーザBを、ユーザCに入れ替えるように修正する。これにより、「2月10日に、ユーザCが、商品βを、c個購買した」ことを示すデータと、「2月20日に、ユーザCが、商品γを、d個購買した」ことを示すデータと、が生成される。近似対応情報には、ユーザCが商品βをc-1個、商品γをd個購買したことが示されているので、データ生成部602は、生成した「2月10日に、ユーザCが、商品βを、c個購買した」ことを示すデータにおける購買数を近似対応情報に併せるように修正して、「2月10日に、ユーザCが、商品βを、c-1個購買した」ことを示すデータを生成する。
また、データ生成部602は、元データに含まれるユーザCに対応するデータである「3月20日に、ユーザCが、商品γを、f個購買した」ことを示すデータについて、購買した数を修正し、「3月20日に、ユーザCが、商品γを、d個購買した」ことを示すデータに変更し、「3月10日に、ユーザCが、商品αを、e個購買した」ことを示すデータについて、購買した商品を修正し、「3月10日に、ユーザCが、商品βを、c-1個購買した」ことを示すデータに変更することとしてもよい。
このように、情報処理装置500は、要素が入れ替えられた近似対応情報に基づいて、匿名化データを生成することで、各データが、誰に関するデータであるかをより把握しにくくすることができ、セキュリティをより向上できる。また、図3、4で説明したような分析を行う際には、各商品を購買したユーザが誰であるかは、影響がない。そのため、情報処理装置500は、このような要素の入れ替えを行っても、特定の分析に対するデータの有用性を維持できる。
また、判定部603は、出力I/F505に接続されたモニタに匿名化データを表示し、表示された匿名化データを確認したユーザによる入力I/F504に接続された入力装置を介した指示に基づいて、S704で生成された匿名化データを、最終的な結果として採用するか否かを判定することとしてもよい。
S707において、更新部604は、匿名化データの生成に関するパラメータ(例えば、配列情報の要素のうち選択される要素の数、配列情報の要素から要素を選択する際に用いられる閾値等)を更新する。更新部604は、例えば、ユーザにより入力I/F504に接続された入力装置を介して指定された値に、このパラメータを更新する。その後、情報処理装置500は、更新されたパラメータを用いて、再度、匿名化データを生成することとなる。
以上、本実施形態の処理により、情報処理装置500は、元データから匿名化データを生成した。
生成された匿名化データは、元データから加工され、内部の各データが誰に関するデータであるかを特定することが困難なデータとなっており、セキュリティが向上している。また、匿名化データを、集計することで、近似対応情報を復元することが可能となっている。近似対応情報は、元データに関する特定の分析に有用な対応情報について、主要な成分を残したまま近似した情報となっており、この特定の分析にも有用である。即ち、匿名化データから、特定の分析に有用な情報が生成できることとなる。したがって、匿名化データは、元データに比べて、有用性の低下が抑えられていることとなる。
このように、情報処理装置500は、元データの有用性の低下を抑えつつ、元データのセキュリティを向上させることができる。
また、情報処理装置500は、近似対応情報を生成する処理まで行うこととして、近似対応情報から匿名化データを生成する処理については、他の装置が実行することとしてもよい。また、近似対応情報から匿名化データをどのようにするかを人が決定して、人が、情報処理装置500等に決定した匿名化データの情報を入力することとしてもよい。
その場合、情報処理装置500は、近似対応情報を生成することで、元データの有用性の低下を抑えつつ、元データのセキュリティを向上させることを支援することができる。
本実施形態では、情報処理装置500は、配列情報について、一部の要素の値を0にするように修正して、修正配列情報を取得することとした。しかし、情報処理装置500は、配列情報について、一部の要素の値を、現在の値よりも小さくするような、他の修正を行うことで、修正配列情報を取得することとしてもよい。例えば、情報処理装置500は、配列情報について、一部の要素の値を、現在の値の予め定められた割合(例えば、10分の1、100分の1等)で縮小させるように修正することで、修正配列情報を取得することとしてもよい。
また、本実施形態では、情報処理装置500は、配列情報について、配列情報の要素のうち、小さなものから選択された一部の要素の値を減ずるように修正した。これは、情報処理装置500が、配列情報について、配列情報の要素のうち、大きなものから選択された一部の要素以外の要素の値を減ずるように修正することと同義である。
例えば、データ取得部601は、指定された3つの項目であるユーザの項目と商品の項目と購買月の項目との組み合わせに対応する商品の購買数の項目の値を示す3次元の配列状の対応情報を生成することとしてもよい。その場合、対応情報の各要素は、その要素に対応するユーザにより、その要素に対応する月に、購入されたその要素に対応する商品の数を示すこととなる。
対応情報が3次元以上の配列状である場合、対応情報は、3階以上のテンソルとして表すことができる。データ生成部602は、例えば、対応情報に対して、Tucker分解等のテンソル分解を施すことで、対応情報を、複数の複数次元の配列状の情報の掛け合わせとして表すことができる。そして、データ生成部602は、これらの複数次元の配列状の情報のうち、他の情報それぞれと掛け合わされる情報(配列情報)であるコアテンソルの各要素のうち値の小さなものから一部を選択する。データ生成部602は、例えば、取得した各要素のうち、予め定められた閾値以下の要素を全て選択する。また、データ生成部602は、取得した各要素のうち、値の小さなものから順に予め定められた個数だけ要素を選択してもよい。また、データ生成部602は、選択した要素の値の合計の全ての要素の値の合計に対する割合が、予め定められた閾値以下となるように、値の小さなものから順に要素を選択してもよい。
そして、データ生成部602は、コアテンソルについて、各要素のうち、選択した要素の値を減ずる(例えば、0にする、10分の1にする、100分の1にする等)ように修正する。データ生成部602は、例えば、修正したコアテンソルと、対応情報に対するテンソル分解で得られたコアテンソル以外の複数次元の配列状の情報と、を掛け合わせることで、対応情報を近似し、近似対応情報を生成することとなる。
図8は、近似対応情報に含まれるデータ等の一例を示す図である。図8の例では、近似対応情報におけるユーザiと商品J3に対応する要素は、20となっており、「ユーザiが商品J3を20個購買したこと」を示す。また、元データには、「ユーザjが5月25日に商品T-800を50個購買したこと」を示すデータ、「ユーザjが10月30日に商品T-1000を150個購買したこと」を示すデータが含まれるとする。このように、ユーザiが購買した商品の種類の数の方が、ユーザjの行った購買の回数よりも少ない。
近似対応情報におけるユーザiに対応する要素が、ユーザjに対応する要素に入れ替えられる場合、データ生成部602は、ユーザjが商品J3を20個購買したことを示すように、「ユーザjが5月25日に商品T-800を50個購買したこと」を示すデータ、「ユーザjが10月30日に商品T-1000を150個購買したこと」を示すデータを修正する。例えば、データ生成部602は、これらのデータを、「ユーザjが5月25日に商品J3を5個購買したこと」を示すデータ、「ユーザjが10月30日に商品J3を15個購買したこと」を示すデータに修正する。このように、ユーザiの購買した商品の種類の数が、ユーザjの行った購買の回数よりも少ない場合、データ生成部602は、ユーザjが2回購買を行ったことと矛盾がないように、ユーザiに対応するデータを、ユーザjに対応するデータとして入れ替えることができる。
また、元データには、「ユーザjが5月25日に商品T-800を50個購買したこと」を示すデータ、「ユーザjが10月30日に商品T-1000を150個購買したこと」を示すデータが含まれる。図9の例では、ユーザiが購買した商品の種類の数の方が、ユーザjの行った購買の回数よりも多い。
ここで、近似対応情報におけるユーザiに対応する要素が、ユーザjに対応する要素に入れ替えられる場合、データ生成部602は、ユーザjが2回購買を行ったことと矛盾のないようには、データを入れ替えることができないという問題が生じる。ユーザiが購買した商品の種類が3種類であるため、2回の購買のデータに変換できないためである。なお、本実施形態では、商品単位で購買履歴が生成されることとしており、1つの購買履歴に複数商品の購買データが含まれることはないこととする。
そこで、情報処理装置500は、以下のようにしてもよい。情報処理装置500は、S703で対応情報を分解して、得られたパラメータ(例えば、特異値)のうちの一部のパラメータを用いて、対応情報を近似することとした。そして、情報処理装置500は、近似対応情報の各要素の値について、小数点以下を切り捨てる端数処理を行うことで、近似対応情報において値が0となる要素を増やすことができる。これにより、情報処理装置500は、近似対応情報い示される各ユーザが購買した商品の種類を低減させることができる。また、情報処理装置500は、近似対応情報の各要素の値について、予め定められた閾値以下の値の要素の値を、0に変更することとしてもよい。
例えば、情報処理装置500は、タスク管理システムにおけるチケットデータ、テキストのアップロードアプリにアップロードされたテキスト等のテキストデータの集合等の他のデータの集合を元データとして用いることとしてもよい。この場合、元データは、テキストデータに対応する出現する単語の情報とみなすことができ、テキストデータと単語との間には、has-a関係が存在する。その場合、情報処理装置500は、元データに基づいて、各テキストにおける指定された単語の出現頻度を示す対応情報を生成できる。その場合、例えば、対応情報における各列は、各テキストの識別情報を示し、各行は、単語を示す。対応情報の各要素は、その要素に対応するテキストにおけるその要素に対応する単語の出現頻度を示す情報となる。
そして、情報処理装置500は、本実施形態で説明した処理と同様の処理で、対応情報から、近似対応情報を生成し、生成した近似対応情報から匿名化データを生成することとなる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、上述した情報処理装置500の機能構成の一部又は全てをハードウェアとして情報処理装置500に実装してもよい。
501 CPU
Claims (13)
- ユーザに対応する購買した商品に関する購買データの集合である第1のデータ集合について、前記第1のデータ集合内の商品の購買数を集計して、各ユーザが各商品をどれだけ購買したかを特定した商品-ユーザ行列を第1の対応情報として生成する第1の生成手段と、
前記第1の対応情報に対して低ランク近似を行うことで、前記第1の対応情報に近似する商品-ユーザ行列を第2の対応情報として生成する第2の生成手段と、
前記第1の対応情報と前記第2の対応情報とで値の異なる要素を特定する特定手段と、
前記第1のデータ集合に含まれる購買データのうち、前記特定手段により特定された要素に対応するユーザと商品とを特定し、前記特定されたユーザと商品とに対応する購買データを、加工対象データとして決定する決定手段と、
前記決定手段により特定されたユーザと商品とに対応する前記加工対象データの商品の購買数を集計した値が、前記第2の対応情報における前記特定手段により特定された要素の値と同一となるよう前記加工対象データを加工する加工手段と、
を有する情報処理装置。 - 前記加工手段は、前記第2の対応情報の要素の値が整数でない場合に小数点以下を切り捨てる端数処理を行い、前記決定手段により特定されたユーザと商品とに対応する前記加工対象データの商品の購買数を集計した値が、前記端数処理を行った前記第2の対応情報における前記特定手段により特定された要素の値と同一になるように加工する
請求項1記載の情報処理装置。 - 前記第1のデータ集合に含まれる前記加工対象データを前記加工手段により加工した後の前記第1のデータ集合を表示する表示手段と、
前記表示手段により表示された加工後の第1のデータ集合を確認したユーザから前記第1のデータ集合を採用するか否かの入力を受け付ける入力手段と
を更に有する請求項1又は2記載の情報処理装置。 - 前記第1の対応情報は2次元の行列であり、
前記第2の生成手段は、前記第1の対応情報を特異値分解することで得られる、前記第1の対応情報の特異値を対角成分とする行列について、要素の一部の値を0にすることで低ランク近似を行う
請求項1乃至3何れか1項記載の情報処理装置。 - 前記第1の対応情報は3階以上のテンソルであり、
前記第2の生成手段は、前記第1の対応情報をテンソル分解することで得られる、前記第1の対応情報のコアテンソルについて、要素の一部の値を0にすることで低ランク近似を行う
請求項1乃至3何れか1項記載の情報処理装置。 - 前記第2の生成手段において値を0にする要素を値が小さい要素から選択して低ランク近似を行う
請求項4又は5記載の情報処理装置。 - 前記第2の生成手段において値が予め定められた閾値以下である要素の値を0にすることで低ランク近似を行う
請求項6記載の情報処理装置。 - 前記第2の生成手段において値が小さいものから順に予め定められた個数の要素の値を0にすることで低ランク近似を行う
請求項6記載の情報処理装置。 - 前記第2の生成手段により生成された前記第2の対応情報の任意の次元について、要素ベクトル同士を入れ替える入れ替え手段を更に有し、
前記特定手段は前記第1の対応情報と、入れ替え手段により値が入れ替えられた前記第2の対応情報とで値の異なる要素を特定する
請求項1乃至8何れか1項記載の情報処理装置。 - ユーザに対応する購買した商品に関する購買データの集合である第1のデータ集合について、前記第1のデータ集合内の商品の購買数を集計して、各ユーザが各商品をどれだけ購買したかを特定した商品-ユーザ行列を第1の対応情報として生成する第1の生成手段と、
前記第1の対応情報に対して低ランク近似を行うことで、前記第1の対応情報に近似する商品-ユーザ行列を第2の対応情報として生成する第2の生成手段と、
前記第1の対応情報と前記第2の対応情報とで値の異なる要素を特定する特定手段と、
前記第1のデータ集合に含まれる購買データのうち、前記特定手段により特定された要素に対応するユーザと商品とを特定し、前記特定されたユーザと商品とに対応する購買データを、加工対象データとして決定する決定手段と、
前記決定手段により特定されたユーザと商品とに対応する前記加工対象データの商品の購買数を集計した値が、前記第2の対応情報における前記特定手段により特定された要素の値と同一となるよう前記加工対象データを加工する加工手段と、
を有するシステム。 - 情報処理装置が実行する情報処理方法であって、
ユーザに対応する購買した商品に関する購買データの集合である第1のデータ集合について、前記第1のデータ集合内の商品の購買数を集計して、各ユーザが各商品をどれだけ購買したかを特定した商品-ユーザ行列を第1の対応情報として生成する第1の生成ステップと、
前記第1の対応情報に対して低ランク近似を行うことで、前記第1の対応情報に近似する商品-ユーザ行列を第2の対応情報として生成する第2の生成ステップと、
前記第1の対応情報と前記第2の対応情報とで値の異なる要素を特定する特定ステップと、
前記第1のデータ集合に含まれる購買データのうち、前記特定ステップにおいて特定された要素に対応するユーザと商品とを特定し、前記特定されたユーザと商品とに対応する購買データを、加工対象データとして決定する決定ステップと、
前記決定ステップにおいて特定されたユーザと商品とに対応する前記加工対象データの商品の購買数を集計した値が、前記第2の対応情報における前記特定ステップにおいて特定された要素の値と同一となるよう前記加工対象データを加工する加工ステップと、
を含む情報処理方法。 - システムが実行する情報処理方法であって、
ユーザに対応する購買した商品に関する購買データの集合である第1のデータ集合について、前記第1のデータ集合内の商品の購買数を集計して、各ユーザが各商品をどれだけ購買したかを特定した商品-ユーザ行列を第1の対応情報として生成する第1の生成ステップと、
前記第1の対応情報に対して低ランク近似を行うことで、前記第1の対応情報に近似する商品-ユーザ行列を第2の対応情報として生成する第2の生成ステップと、
前記第1の対応情報と前記第2の対応情報とで値の異なる要素を特定する特定ステップと、
前記第1のデータ集合に含まれる購買データのうち、前記特定ステップにおいて特定された要素に対応するユーザと商品とを特定し、前記特定されたユーザと商品とに対応する購買データを、加工対象データとして決定する決定ステップと、
前記決定ステップにおいて特定されたユーザと商品とに対応する前記加工対象データの商品の購買数を集計した値が、前記第2の対応情報における前記特定ステップにおいて特定された要素の値と同一となるよう前記加工対象データを加工する加工ステップと、
を含む情報処理方法。 - コンピュータを、請求項1乃至9何れか1項記載の情報処理装置の各手段として、機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018094817A JP7158175B2 (ja) | 2018-05-16 | 2018-05-16 | 情報処理装置、システム、情報処理方法及びプログラム |
PCT/JP2019/019103 WO2019221113A1 (ja) | 2018-05-16 | 2019-05-14 | 情報処理装置、システム、情報処理方法及びプログラム |
CN201980031631.0A CN112106045B (zh) | 2018-05-16 | 2019-05-14 | 信息处理装置、***、信息处理方法以及计算机可读记录介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018094817A JP7158175B2 (ja) | 2018-05-16 | 2018-05-16 | 情報処理装置、システム、情報処理方法及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019200605A JP2019200605A (ja) | 2019-11-21 |
JP2019200605A5 JP2019200605A5 (ja) | 2020-07-30 |
JP7158175B2 true JP7158175B2 (ja) | 2022-10-21 |
Family
ID=68539772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018094817A Active JP7158175B2 (ja) | 2018-05-16 | 2018-05-16 | 情報処理装置、システム、情報処理方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7158175B2 (ja) |
CN (1) | CN112106045B (ja) |
WO (1) | WO2019221113A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7109712B2 (ja) * | 2020-06-25 | 2022-07-29 | 三菱電機株式会社 | 匿名加工装置、匿名加工方法、及び、匿名加工プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018828A (ja) | 2004-06-30 | 2006-01-19 | Mitsubishi Electric Research Laboratories Inc | 変形可能な表面のクラスを表す可変多重線形モデルを構築する方法 |
JP2011525305A (ja) | 2008-03-03 | 2011-09-15 | フェダースピール コーポレイション | Hvacユニットの制御を調整するための方法及びシステム |
US20130198188A1 (en) | 2012-02-01 | 2013-08-01 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus and Methods For Anonymizing a Data Set |
US20160055124A1 (en) | 2014-08-21 | 2016-02-25 | Massachusetts Institute Of Technology | Systems and methods for low-rank matrix approximation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014181491A1 (ja) * | 2013-05-10 | 2014-11-13 | 新日鐵住金株式会社 | 変形解析装置、変形解析方法及びプログラム |
JP6066825B2 (ja) * | 2013-05-17 | 2017-01-25 | 株式会社日立製作所 | データ分析装置及び保健事業支援方法 |
US10346507B2 (en) * | 2016-11-01 | 2019-07-09 | Nvidia Corporation | Symmetric block sparse matrix-vector multiplication |
-
2018
- 2018-05-16 JP JP2018094817A patent/JP7158175B2/ja active Active
-
2019
- 2019-05-14 CN CN201980031631.0A patent/CN112106045B/zh active Active
- 2019-05-14 WO PCT/JP2019/019103 patent/WO2019221113A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018828A (ja) | 2004-06-30 | 2006-01-19 | Mitsubishi Electric Research Laboratories Inc | 変形可能な表面のクラスを表す可変多重線形モデルを構築する方法 |
JP2011525305A (ja) | 2008-03-03 | 2011-09-15 | フェダースピール コーポレイション | Hvacユニットの制御を調整するための方法及びシステム |
US20130198188A1 (en) | 2012-02-01 | 2013-08-01 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus and Methods For Anonymizing a Data Set |
US20160055124A1 (en) | 2014-08-21 | 2016-02-25 | Massachusetts Institute Of Technology | Systems and methods for low-rank matrix approximation |
Also Published As
Publication number | Publication date |
---|---|
JP2019200605A (ja) | 2019-11-21 |
CN112106045B (zh) | 2024-05-24 |
CN112106045A (zh) | 2020-12-18 |
WO2019221113A1 (ja) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Krishnan et al. | Efficient preconditioning of laplacian matrices for computer graphics | |
CN113570064A (zh) | 利用复合机器学习模型来执行预测的方法及*** | |
EP4270214A2 (en) | Media unit retrieval and related processes | |
Salmi et al. | An IMEX-scheme for pricing options under stochastic volatility models with jumps | |
US10140342B2 (en) | Similarity calculation system, method of calculating similarity, and program | |
CN104854580B (zh) | 一种推荐方法和设备 | |
KR20190084866A (ko) | 시간 인자와 결합한 협업 필터링 방법, 장치, 서버 및 저장 매체 | |
Kadison et al. | A note on derivations of Murray–von Neumann algebras | |
Nasiri et al. | Adjusting data sparsity problem using linear algebra and machine learning algorithm | |
US20220093218A1 (en) | Skin care product formulation development method and system | |
JP2023024950A (ja) | 共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法 | |
JP7158175B2 (ja) | 情報処理装置、システム、情報処理方法及びプログラム | |
CN111667298B (zh) | 用户个性化需求预测方法和*** | |
JP2018055057A (ja) | データ撹乱装置、方法及びプログラム | |
Brandwajn et al. | Reduced complexity in M/Ph/c/N queues | |
He et al. | Rank-based greedy model averaging for high-dimensional survival data | |
CN112836767B (zh) | 联邦建模方法、装置、设备、存储介质及程序产品 | |
Akyüz et al. | Solving the multi-commodity capacitated multi-facility Weber problem using Lagrangean relaxation and a subgradient-like algorithm | |
JP6978385B2 (ja) | 匿名化装置、匿名化方法及び匿名化プログラム | |
Finley et al. | Exploring empirical rank-frequency distributions longitudinally through a simple stochastic process | |
Mynbaev et al. | Asymptotic distribution of the OLS estimator for a purely autoregressive spatial model | |
Shen et al. | Precise large deviations for sums of two-dimensional random vectors with dependent components of heavy tails | |
Mishmash et al. | Ultracold atoms in 1D optical lattices: mean field, quantum field, computation, and soliton formation | |
AU2017202115A1 (en) | Reciprocal distribution calculating method and reciprocal distribution calculating system for cost accounting | |
JP2020030702A (ja) | 学習装置、学習方法及び学習プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200617 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200617 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210902 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220426 |
|
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: 20220913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7158175 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |