(57)【要約】  本発明は、レコード間の対応関係の情報が曖昧になりすぎないように匿名化を実行する情報処理装置を提供する。その情報処理装置は、固有識別子を同一として対応する第１の属性を含む第１のレコードと第２の属性を含む第２のレコードとの組の中から、第２のレコード群に対応する第１のレコード群のそれぞれにおいて第１及び第２のそれぞれのｌ−多様性を充足可能であることと、第１及び第２のレコードとの間に存在する対応関係の抽象度とに基づいて、複数の第２のレコードの組を抽出する手段と、その第２のレコードの組からなる匿名グループのデータセットをその第２のレコードの組において第２のｌ−多様性を充足し、対応する第１のレコードの組において第１のｌ−多様性を充足するように、生成する手段を備える。
2014049995.tif 000002
【特許請求の範囲】
【請求項１】
固有識別子及び少なくとも１つの第１の属性を含む第１のレコードと、前記固有識別子と同一の固有識別子及び少なくとも１つの第２の属性を含む第２のレコードと、の組が複数件含まれるデータセットの中から、複数の前記第２のレコードを含む第２のレコード群において第２のｌ−多様性を充足可能であること、前記第２のレコード群に含まれる第２のレコードと組を成す前記第１のレコードから成る前記第１のレコード群において第１のｌ−多様性を充足可能であること、及び前記第１のレコードと前記第２のレコードとの間に存在する対応関係の抽象度に基づいて、複数の前記第２のレコードを抽出するレコード抽出手段と、  前記レコード抽出手段によって抽出された前記第２のレコードからなる匿名グループデータセットを、前記匿名グループデータセットにおいて前記第２のｌ−多様性を充足可能であり、かつ前記匿名グループデータセットに含まれる第２のレコードと組を成す前記第１のレコードからなる第１のレコード群において前記第１のｌ−多様性を充足可能であるように、生成し、出力する匿名グループ生成手段と、を備える  情報処理装置。
【請求項２】
前記匿名グループ生成手段は、更に、前記匿名グループデータセット及び前記匿名グループデータセットに含まれる第２のレコードのそれぞれと組を成す複数の前記第１のレコードが匿名化された前提匿名グループデータセットに対し、前記匿名グループデータセットに含まれる第２のレコードと前記前提匿名グループデータセットに含まれる第１のレコードとの前記対応関係を示す情報を付与して出力する  ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記レコード抽出手段は、  前記第１のレコードに含まれる前記第１の属性の属性値毎の、前記第２のレコードに含まれる第２の属性の各第２の属性値が、前記第１のレコードと前記組を成す前記第２のレコードに出現する頻度を要素とする遷移ベクトルを生成し、  ２つの前記遷移ベクトルのそれぞれに対応する前記第２のレコードのそれぞれ同士で同一である前記第２の属性の第２の属性値の数が、前記第２のｌ−多様性の種類数未満である前記遷移ベクトル間の類似度を最低値の０として、前記遷移ベクトル間の類似度を算出し、  前記類似度が相対的に大きい順の、前記第１のｌ−多様性の種類数の前記遷移ベクトルのそれぞれに対応する前記第１の属性値を含む第１レコードと組を成す前記第２のレコードを、前記抽象度が相対的に小さい前記第２のレコードとして抽出する、  ことを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
複数の前記遷移ベクトルについての前記類似度の算出対象を示す算出対象情報を生成し、前記算出対象情報を出力する遷移ベクトル抽出手段を更に含み、  前記レコード抽出手段は、前記生成した遷移ベクトルを前記遷移ベクトル抽出手段に出力し、前記遷移ベクトル抽出手段から前記算出対象情報を取得する  ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記レコード抽出手段は、前記抽出した第１のレコードに対応する前記遷移ベクトルを除いた、前記生成した遷移ベクトルを遷移ベクトル抽出手段に出力する  ことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記匿名グループ生成手段は、前記匿名グループデータセットに含まれる第２のレコードの第２の属性の属性値と、匿名化された前記第１のレコード群に含まれる第１のレコードの第１の属性の属性値との間の前記対応関係の種類の数が増加しないように、前記匿名グループデータセットを生成する、  ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記匿名グループ生成手段は、更に、前記匿名グループデータセットに前記対応関係の抽象化が発生しないように追加可能な、前記匿名グループデータセットに含まれていない、前記第２のレコードを前記匿名グループデータセットに追加する、  ことを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記匿名グループ生成手段は、更に、前記匿名グループデータセットに含まれていない前記第２のレコードから、前記第２のｌ−多様性を充足する匿名化が可能な前記第２のレコードの組であって、前記第２のｌ−多様性を充足する匿名化が可能な前記第２のレコードと組を成す前記第１のレコードの組において前記第１のｌ−多様性を充足可能である、前記第２のレコードの組を抽出し、前記匿名グループデータセットに追加する  ことを特徴とする請求項６または７記載の情報処理装置。
【請求項９】
コンピュータが、  固有識別子及び少なくとも１つの第１の属性を含む第１のレコードと、前記固有識別子と同一の固有識別子及び少なくとも１つの第２の属性を含む第２のレコードと、の組が複数件含まれるデータセットの中から、前記第２のレコードからなる第２のレコード群において第２のｌ−多様性を充足可能であること、前記第２のレコード群に含まれる第２のレコードと組を成す前記第１のレコードから成る前記第１のレコード群において第１のｌ−多様性を充足可能であること、及び前記第１のレコードと前記第２のレコードとの間に存在する対応関係の抽象度に基づいて、複数の前記第２のレコードを抽出し、  前記抽出された前記第２のレコードからなる匿名グループデータセットを、前記匿名グループデータセットにおいて前記第２のｌ−多様性を充足可能であり、かつ前記匿名グループデータセットに含まれる第２のレコードと組を成す前記第１のレコードからなる第１のレコード群において前記第１のｌ−多様性を充足可能であるように、生成し、出力する  匿名化方法。
【請求項１０】
前記第２のレコードの抽出は、  前記第１のレコードに含まれる前記第１の属性の属性値毎の、前記第２のレコードに含まれる第２の属性の第２の各属性値が、前記第１のレコードと前記組を成す前記第２のレコードに出現する頻度を要素とする遷移ベクトルを生成し、  ２つの前記遷移ベクトルそれぞれに対応する第２のレコードのそれぞれ同士で同一である、前記第２の属性の第２の属性値の数が、前記第２のｌ−多様性の種類数未満である前記遷移ベクトル間の類似度を最低値の０として、前記遷移ベクトル間の類似度を算出し、  前記類似度が相対的に大きい順の、前記第１のｌ−多様性の種類数の前記遷移ベクトルそれぞれに対応する前記第１の属性値を含む第１レコードと組を成す前記第２のレコードとを、前記抽象度が相対的に小さい前記第２のレコードとして抽出する、  ことを特徴とする請求項９記載の匿名化方法。
【請求項１１】
前記コンピュータが、更に、複数の前記遷移ベクトルについての前記類似度の算出対象を示す算出対象情報を生成し、前記算出対象情報を出力し、  前記第２のレコードの抽出において、前記生成した遷移ベクトルに対応する前記算出対象情報に基づいて、前記遷移ベクトル間の類似度を算出する  ことを特徴とする請求項１０記載の匿名化方法。
【請求項１２】
固有識別子及び少なくとも１つの第１の属性を含む第１のレコードと、前記固有識別子と同一の固有識別子及び少なくとも１つの第２の属性を含む第２のレコードと、の組が複数件含まれるデータセットの中から、前記第２のレコードからなる第２のレコード群において第２のｌ−多様性を充足可能であること、前記第２のレコード群に含まれる第２のレコードと組を成す前記第１のレコードから成る前記第１のレコード群において第１のｌ−多様性を充足可能であること、及び前記第１のレコードと前記第２のレコードとの間に存在する対応関係の抽象度に基づいて、複数の前記第２のレコードを抽出する処理と、  前記抽出された前記第２のレコードからなる匿名グループデータセットを、前記匿名グループデータセットにおいて前記第２のｌ−多様性を充足可能であり、かつ前記匿名グループデータセットに含まれる第２のレコードと組を成す前記第１のレコードからなる第１のレコード群において前記第１のｌ−多様性を充足可能であるように、生成し、出力する処理と、をコンピュータに実行させるための  プログラムを記録したコンピュータ読み取り可能不揮発性記録媒体。
【請求項１３】
前記第２のレコードを抽出する処理において、  前記第１のレコードに含まれる前記第１の属性の属性値毎の、前記第２のレコードに含まれる第２の属性の各第２の属性値が、前記第１のレコードと前記組を成す前記第２のレコード出現する頻度を要素とする遷移ベクトルを生成し、  ２つの前記遷移ベクトルそれぞれに対応する第２のレコードのそれぞれ同士で同一である、前記第２の属性の第２の属性値の数が、前記第２のｌ−多様性の種類数未満である前記遷移ベクトル間の類似度を最低値の０として、前記遷移ベクトル間の類似度を算出し、  前記類似度が相対的に大きい順の、前記第１のｌ−多様性の種類数の前記遷移ベクトルそれぞれに対応する前記第１の属性値を含む第１レコードと組を成す前記第２のレコードとを、前記抽象度が相対的に小さい前記第２のレコードとして抽出する、処理を前記コンピュータに実行させる  前記プログラムを記録した請求項１２記載のコンピュータ読み取り可能不揮発性記録媒体。
【請求項１４】
複数の前記遷移ベクトルについての前記類似度の算出対象を示す算出対象情報を生成し、前記算出対象情報を出力する処理を、更に、前記コンピュータに実行させ、  前記第２のレコードの抽出において、前記生成した遷移ベクトルに対応する前記算出対象情報に基づいて、前記遷移ベクトル間の類似度を算出する、処理を前記コンピュータに実行させる  前記プログラムを記録した請求項１３記載のプログラムを記録した不揮発性記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、個人情報等のように、オリジナルな情報内容のままで公開や利用されることが好ましくない情報を匿名化する情報処理装置、匿名化方法、及びそのためのプログラムに関する。
【背景技術】
【０００２】  購買履歴や診療履歴等のように、サービス提供者によって日々ユーザ（利用者）に提供されるサービス活動から生まれるログ情報は、それらのサービス提供者によって、履歴情報として蓄積されている。これらの履歴情報を分析することで、特定の利用者の行動パターンの把握、ある集団が持つ固有の傾向の把握、将来起こり得る事象の予測、及び過去の事象に対する要因分析等が可能である。これらの履歴情報及びその分析結果を利用することで、サービス提供者は、自己の事業の強化や見直しが可能である。よって、履歴情報は、利用価値が非常に高い有益な情報である。ここで、ある集団は、複数の利用者からなる集団である。【０００３】  サービス提供者以外の第三者にとっても、このようなサービス提供者が保有する履歴情報は有益である。例えば、その第三者は、係る履歴情報を利用することで、自身では得られなかった情報を手にすることができる。従って、この第三者自身のサービスやマーケティングの強化が可能である。また、サービス提供者自身が、その第三者に対して、履歴情報の分析を依頼する場合や、研究を目的として、係る履歴情報を公開する場合もある。【０００４】  上述のように利用価値の高い履歴情報には、その履歴情報の主体にとって他人に知られたくない情報や、第三者に知られるべきでない情報が含まれている場合がある。このような情報は、一般に、センシティブ情報（機微情報：Ｓｅｎｓｉｔｉｖｅ  Ａｔｔｒｉｂｕｔｅ（ＳＡ）、  Ｓｅｎｓｉｔｉｖｅ  Ｖａｌｕｅ）と呼ばれる。例えば、購買履歴の場合は、購入した商品がセンシティブ情報に成り得る。診療情報の場合は、傷病名や、診療行為名がセンシティブ情報である。【０００５】  履歴情報には、サービス利用者を一意に識別するユーザ識別子（ユーザＩＤ）と、サービス利用者を特徴付ける複数の属性（属性情報）とが付与されている場合が多い。ユーザ識別子には、氏名、会員番号や被保険者番号などが該当する。サービス利用者を特徴付ける属性には、性別、生年月日、職業、居住エリア、郵便番号などが該当する。サービス提供者は、これらのユーザ識別子と、複数種類の属性と、センシティブ情報とを、一つのレコードとして記録する。そして、サービス提供者は、係るレコードを、該当するユーザ（サービス利用者）がサービスを享受する度に、履歴情報として蓄積する。ユーザ識別子が付与されたままの履歴情報が第三者に提供されると、その第三者はそのユーザ識別子を用いることによってサービス利用者を特定することが可能である。このため、プライバシ侵害の問題が、発生し得る。【０００６】  また、複数のレコードによって構成されるデータセットの中から、各レコードに付与されている属性値を１つ以上組み合わせることにより、ある個人を特定できてしまう場合がある。このように個人を特定し得る属性は、準識別子（Ｑｕａｓｉ−Ｉｄｅｎｔｉｆｉｅｒ）と呼ばれる。即ち、例えユーザ識別子を取り除いた履歴情報であっても、準識別子に基づいてある個人を特定可能であれば、プライバシ侵害が発生し得る。【０００７】  但し、その一方で、全ての準識別子を履歴情報から取り除いてしまうと、統計的な分析が不可能になる。従って、その履歴情報の本来の有益性が大幅に失われる。例えば、その統計的な分析とは、その全ての準識別子取り除かれた履歴情報に対する分析である。具体的には、ある年代が好んで購入する傾向にある製品の分析や、ある地域に居住する住民が罹患する特有の傷病の分析等が行えない。【０００８】  このような特性を有する履歴情報のデータセットを、本来の有用性を保ちながら、プライバシを保護した形態に変換する手法として、匿名化（匿名化技術：Ａｎｏｎｙｍｉｚａｔｉｏｎ）が知られている。【０００９】  例えば、特許文献1は、入力されたデータを属性毎に準識別子或いは重要情報に分類し、全てのその準識別子における“ｋ−匿名性”と全てのその重要情報における“ｌ−多様性”とを満たすデータセットを出力する技術を開示する。【００１０】  非特許文献１は、最もよく知られた匿名性指標であるｋ−匿名性を提案する。匿名化対象のデータセットに、係るｋ−匿名性を充足させる手法は、“ｋ−匿名化”と呼ばれる。このｋ−匿名化では、同じ準識別子を有するレコードがその匿名化対象のデータセットの中に少なくともｋ個以上存在するように、対象となる準識別子を変換する処理が行われる。この変換処理としては、一般化、切り落とし等の方式が知られている。係る一般化において、元の詳細な情報は、抽象化された情報に変換される。【００１１】  非特許文献２は、係るｋ−匿名性を発展させた匿名性指標の１つである、ｌ−多様性を提案する。匿名化対象のデータセットに、係るｌ−多様性を充足させる手法は、“ｌ−多様化”と呼ばれる。このｌ−多様化では、同じ準識別子を持つ複数のレコードに、少なくともｌ種類以上の異なるセンシティブ情報が含まれるように、対象となる準識別子を変換する処理が行われる。【００１２】  ここで、ｋ−匿名化は、準識別子と関連付けされるレコードの数がｋ個以上になることを保証する。また、ｌ−多様化は、準識別子と関連付けされるセンシティブ情報の種類がｌ種類以上になることを保証する。【００１３】  上述したｋ−匿名化や、ｌ−多様化では、同一のユーザ識別子を持つ複数のレコードが存在する場合に、それらレコード間の順序や関係等の、互いに異なる事象間の対応関係（換言すれば、特徴、遷移、プロパティ：以下、本願では「対応関係」と称する）が考慮されていない。そのため、係るレコード間の性質が曖昧になったり、失われたりしてしまう場合がある。【００１４】  また、同一のユーザ識別子を持つ複数のレコードを対象とした、時間軸上における順序を保存した匿名化方法として、移動軌跡に対する匿名化技術が知られている。【００１５】  非特許文献３は、位置情報が時系列に関連付けされた移動軌跡を匿名化する技術に関する論文である。より具体的に、非特許文献３に記載された匿名化技術は、係る移動軌跡の始点から終点までを一連のシーケンスとみなして、一貫したｋ−匿名性を保証する匿名化技術である。この移動軌跡の匿名化技術では、地理的に類似するｋ個以上の移動軌跡を束ねたチューブ状の匿名移動軌跡が生成される。移動軌跡の匿名化技術では、匿名性の制約の中で、地理的な類似性を最大化した匿名移動軌跡が生成される。【００１６】  非特許文献３に代表される移動軌跡の匿名化方式では、同一のユーザ識別子を与えら��たレコード間に存在する性質のうち、特に、時系列な順序関係が保たれる。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２０１２−００３４４０号公報
【非特許文献】
【００１８】
【非特許文献１】Ｌ．Ｓｗｅｅｎｅｙ，“ｋ−ａｎｏｎｙｍｉｔｙ：ａ  ｍｏｄｅｌ  ｆｏｒ  ｐｒｏｔｅｃｔｉｎｇ  ｐｒｉｖａｃｙ”，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｎ  Ｕｎｃｅｒｔａｉｎｔｙ，  Ｆｕｚｚｉｎｅｓｓ  ａｎｄ  Ｋｎｏｗｌｅｄｇｅ−ｂａｓｅｄ  Ｓｙｓｔｅｍｓ，１０（５），ｐｐ．５５５−５７０，２００２．
【非特許文献２】Ａ．Ｍａｃｈａｎａｖａｊｊｈａｌａ，  Ｄ．Ｋｉｆｅｒ，  Ｊ．Ｇｅｈｒｋｅ  ａｎｄ  Ｍ．Ｖｅｎｋｉｔａｓｕｂｒａｍａｎｉａｍ，  “ｌ−Ｄｉｖｅｒｓｉｔｙ：  Ｐｒｉｖａｃｙ  Ｂｅｙｏｎｄ  ｋ−Ａｎｏｎｙｍｉｔｙ”，  ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｆｒｏｍ  Ｄａｔａ，Ｖｏｌｕｍｅ１  Ｉｓｓｕｅ１，Ｍａｒｃｈ  ２００７  Ａｒｔｉｃｌｅ  Ｎｏ．  ３．
【非特許文献３】Ｏ．Ａｂｕｌ，  Ｆ．Ｂｏｎｃｈｉ  ａｎｄ  Ｍ．Ｎａｎｎｉ、“Ｎｅｖｅｒ  Ｗａｌｋ  Ａｌｏｎｅ：  Ｕｎｃｅｒｔａｉｎｔｙ  ｆｏｒ  Ａｎｏｎｙｍｉｔｙ  ｉｎ  Ｍｏｖｉｎｇ  Ｏｂｊｅｃｔｓ  Ｄａｔａｂａｓｅｓ．”  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ２４ｔｈ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄａｔａ  Ｅｎｇｉｎｅｅｒｉｎｇ，  ｐｐ．３７６−３８５，２００８．
【発明の概要】
【発明が解決しようとする課題】
【００１９】  しかしながら、上述した特許文献及び非特許文献に記載された技術においては、対応関係の情報を含むデータセットがｌ−多様性を充足するように匿名化を施された場合、その情報が曖昧になりすぎる場合があるという問題点がある。ここで、「対応関係」の情報とは、「同一の固有識別子（ユーザ識別子）を有するレコード間の対応関係」の情報である。ここで、そのデータセットは、例えば、同一の固有識別子をそれぞれが有するレコードの組を、１以上含む、複数のレコードから構成されるデータセットである。【００２０】  そのデータセットにおいて、例えば、それらのレコードの一部からなるレコード群毎にｌ−多様性が定められる。そして、それらのｌ−多様性を充足するようにデータセットが匿名化される。そうした場合に、その匿名化されたデータセットに含まれる「同一の固有識別子を有するレコード間の対応関係」が、元のデータセットのそれに比べて曖昧になりすぎる場合がある。【００２１】  その情報（「対応関係」の情報）が曖昧になりすぎる場合がある理由は、以下のとおりである。【００２２】  上述の特許文献及び非特許文献に記載の技術は、「同一の固有識別子を有するレコード間の対応関係」の情報を、維持するために必要な考慮を払っていない。そのため、それらのレコード群毎に定められたｌ−多様性を充足するように、データセットが匿名化された場合、元のデータセットには存在しなかった、余分な「同一の固有識別子を有するレコード間の対応関係」が付加される場合がある。【００２３】  特許文献１では、「同一の固有識別子を有するレコード間の対応関係」の情報を考慮していない。【００２４】  非特許文献１は、ｌ−多様性に関する技術を開示していない。【００２５】  非特許文献２では、地理的な類似性を最大化した匿名移動軌跡を構築することを主たる目的としており、必ずしも、各レコード間の性質（対応関係）が維持されるわけではない。また、非特許文献３では、ｌ−多様性の匿名性の保証には対応していない。【００２６】  次に、具体的な例を説明する。【００２７】  図２８は、匿名化前データセットの一例を示す図である。図２８に示す匿名化前データセットは、複数の第１のレコードと複数の第２のレコードとを含む。その第１のレコードは、固有識別子と診療月、年齢及び病名の属性とを含み、診療月の属性値が「４月」である。その第２のレコードは、固有識別子と診療月、年齢及び病名の属性とを含み、診療月の属性値が「５月」である。【００２８】  また、図２８に示す匿名化前データセットは、同一の固有識別子を有する第１のレコードと第２のレコードとの間の対応関係の、情報を含んでいる。例えば、その対応関係は、固有識別子が「１」の第１のレコード及び第２のレコードのそれぞれに含まれる病名の属性値の「Ｕ」と「Ａ」との対応関係（以後、「Ｕ−Ａ」と表記する）である。【００２９】  図２９は、図２８に示す匿名化前データセットが匿名化された、匿名化後データセットの一例を示す図である。図２９に示す匿名化後データセットは、その匿名化前データセットの第１のレコードからなる第１のレコード群が、ｌ＝３でｌ−多様性を充足するように匿名化されている。また、匿名化後データセットは��その匿名化前データセットの第２のレコードからなる第２のレコード群が、ｌ＝２でｌ−多様性を充足するように匿名化されている。【００３０】  例えば、図２８に示す匿名化前データセットにおいて、固有識別子が「６」、「７」及び「９」のレコードは、図２９に示す匿名化後データセットにおいて、固有識別子に替えて同一のグループ識別子である「１０１」を付与されている。また、同一のグループ識別子を持つレコードは、準識別子である属性の属性値が同一の値に汎化されている。【００３１】  図２８に示す匿名化前のデータセットにおいて、固有識別子が「６」、「７」及び「９」に対応する「同一の固有識別子を有するレコード間の対応関係」は、「Ｙ−Ｅ」、「Ｘ−Ｄ」及び「Ｗ−Ｃ」である。【００３２】  一方、図２９に示す匿名化後データセットにおいて、グループ識別子が「１０１」に対応する「同一の固有識別子を有するレコード間の対応関係」は、「Ｙ−Ｅ」、「Ｙ−Ｄ」、「Ｙ−Ｃ」、「Ｘ−Ｅ」、「Ｘ−Ｄ」、「Ｘ−Ｃ」、「Ｗ−Ｅ」、「Ｗ−Ｄ」及び「Ｗ−Ｃ」である。即ち、図２９に示す匿名化後データセットは、図２８に示す匿名化前のデータセットに存在しない「同一の固有識別子を有するレコード間の対応関係」である、「Ｙ−Ｃ」及び「Ｗ−Ｅ」が余分に付加されてしまっている。【００３３】  以上が、「同一の固有識別子を有するレコード間の対応関係」の情報が曖昧になりすぎるという問題の具体例である。【００３４】  本発明の目的は、上述した問題点を解決する情報処理装置、匿名化方法、及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【００３５】  本発明の情報処理装置は、固有識別子及び少なくとも１つの第１の属性を含む第１のレコードと、前記固有識別子と同一の固有識別子及び少なくとも１つの第２の属性を含む第２のレコードと、の組が複数件含まれるデータセットの中から、複数の前記第２のレコードを含む第２のレコード群において第２のｌ−多様性を充足可能であること、前記第２のレコード群に含まれる第２のレコードと組を成す前記第１のレコードから成る前記第１のレコード群において第１のｌ−多様性を充足可能であること、及び前記第１のレコードと前記第２のレコードとの間に存在する対応関係の抽象度に基づいて、複数の前記第２のレコードを抽出するレコード抽出手段と、前記レコード抽出手段によって抽出された前記第２のレコードからなる匿名グループデータセットを、前記匿名グループデータセットにおいて前記第２のｌ−多様性を充足可能であり、かつ前記匿名グループデータセットに含まれる第２のレコードと組を成す前記第１のレコードからなる第１のレコード群において前記第１のｌ−多様性を充足可能であるように、生成し、出力する匿名グループ生成手段と、を備える。【００３６】  本発明の匿名化方法は、コンピュータが、固有識別子及び少なくとも１つの第１の属性を含む第１のレコードと、前記固有識別子と同一の固有識別子及び少なくとも１つの第２の属性を含む第２のレコードと、の組が複数件含まれるデータセットの中から、前記第２のレコードからなる第２のレコード群において第２のｌ−多様性を充足可能であること、前記第２のレコード群に含まれる第２のレコードと組を成す前記第１のレコードから成る前記第１のレコード群において第１のｌ−多様性を充足可能であること、及び前記第１のレコードと前記第２のレコードとの間に存在する対応関係の抽象度に基づいて、複数の前記第２のレコードを抽出し、前記抽出された前記第２のレコードからなる匿名グループデータセットを、前記匿名グループデータセットにおいて前記第２のｌ−多様性を充足可能であり、かつ前記匿名グループデータセットに含まれる第２のレコードと組を成す前記第１のレコードからなる第１のレコード群において前記第１のｌ−多様性を充足可能であるように、生成し、出力する。【００３７】  本発明のコンピュータ読み取り可能な不揮発性記録媒体に記録されたプログラムは、固有識別子及び少なくとも１つの第１の属性を含む第１のレコードと、前記固有識別子と同一の固有識別子及び少なくとも１つの第２の属性を含む第２のレコードと、の組が複数件含まれるデータセットの中から、前記第２のレコードからなる第２のレコード群において第２のｌ−多様性を充足可能であること、前記第２のレコード群に含まれる第２のレコードと組を成す前記第１のレコードから成る前記第１のレコード群において第１のｌ−多様性を充足可能であること、及び前記第１のレコードと前記第２のレコードとの間に存在する対応関係の抽象度に基づいて、複数の前記第２のレコードを抽出する処理と、前記抽出された前記第２のレコードからなる匿名グループデータセットを、前記匿名グループデータセットにおいて前記第２のｌ−多様性を充足可能であり、かつ前記匿名グループデータセットに含まれる第２のレコードと組を成す前記第１のレコードからなる第１のレコード群において前記第１のｌ−多様性を充足可能であるように、生成し、出力する処理と、をコンピュータに実行させる。
【発明の効果】
【００３８】  本発明は、「同一の固有識別子（ユーザ識別子）を有するレコード間の対応関係」の情報を含むデータセットがｌ−多様性を充足するように匿名化を施された場合に、その対応関係の情報が曖昧になりすぎることを防止することが可能になるという効果がある。
【図面の簡単な説明】
【００３９】
【図１】図１は、第１の実施形態に係る匿名化装置の構成を示すブロック図である。
【図２】図２は、第１の実施形態に係る匿名化装置を含むシステムの構成を示すブロック図である。
【図３】図３は、データセットの一例を示す図である。
【図４】図４は、ソートされた前提レコード分の一例を示す図である。
【図５】図５は、ソートされた結論レコード分の一例を示す図である。
【図６】図６は、前提匿名グループデータセットの一例を示す図である。
【図７】図７は、結論匿名グループデータセットの一例を示す図である。
【図８】図８は、抽出レコード群の一例を示す図である。
【図９】図９は、結論レコードを纏めた抽出結論レコード群の一例を表す図である。
【図１０】図１０は、共通部分レコード群の一例を示す図である。
【図１１】図１１は、前提属性値が同一の前提レコード毎に結論レコードを纏めた共通部分結論レコード群の一例を表す図である。
【図１２】図１２は、結論ソートレコード群の一例を示す図である。
【図１３】図１３は、結論属性値が同一の結論レコードを纏めた結論ソート結論レコード群の一例を表す図である。
【図１４】図１４は、匿名グループ結論レコード群の一例を示す図である。
【図１５】図１５は、グループ識別子毎に結論レコードを纏めた、匿名グループ結論レコード群の一例を表す図である。
【図１６】図１６は、本実施形態に係る匿名化装置を実現するコンピュータのハードウェア構成を示す図である。
【図１７】図１７は、本実施形態の動作を示すフローチャートである。
【図１８】図１８は、残レコードの一例を示す図である。
【図１９】図１９は、結論匿名グループの一例を示す図である。
【図２０】図２０は、結論匿名グループの一例を示す図である。
【図２１】図２１は、結論匿名グループの一例を示す図である。
【図２２】図２２は、第２の実施形態に係る匿名化装置２００の構成を示すブロック図である。
【図２３】図２３は、遷移ベクトルの組み合わせの一例を示す図である。
【図２４】図２４は、２つの遷移ベクトルの組み合わせの一例を示す図である。
【図２５】図２５は、遷移ベクトル間の類似度が「０」か否かを示す図である。
【図２６】図２６は、利用済みの遷移ベクトルを除いた遷移ベクトルの一例を示す図である。
【図２７】図２７は、遷移ベクトル間の組み合わせを示す図である。
【図２８】図２８は、匿名化前データセットの一例を示す図である。
【図２９】図２９は、匿名化後データセットの一例を示す図である。
【発明を実施するための形態】
【００４０】  本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
【００４１】  ＜＜＜第１の実施形態＞＞＞  図１は、本発明の第１の実施形態に係る匿名化装置１００の構成を示すブロック図である。尚、匿名化装置（匿名化装置１００）は、一般的に情報処理装置とも呼ばれる。
【００４２】  図１に示すように、本実施形態に係る匿名化装置１００は、レコード抽出部１１０と、匿名グループ生成部１２０とを含む。
【００４３】  図２は、本実施形態に係る匿名化装置１００を含む匿名化システム１０１の構成を示すブロック図である。
【００４４】  図２に示すように、匿名化システム１０１は、匿名化装置１００と履歴情報記憶部５００と匿名化情報記憶部６００とを含む。
【００４５】  まず、匿名化システム１０１における、匿名化装置１００の動作の概要を説明する。
【００４６】  ＝＝＝履歴情報記憶部５００＝＝＝  履歴情報記憶部５００は、図３に示すような、データセット５１０を記憶する。図３に示すように、例えば、データセット５１０は、固有識別子と、診療月、年齢及び病名の属性とを含む、複数のレコードから成る履歴情報である。また、データセット５１０は、同一の固有識別子を有する、「診療月」の属性値が「４月」のレコード（前提レコード）と「診療月」の属性値が「５月」のレコード（結論レコード）との間の対応関係の情報を含んでいる。
【００４７】  前提レコードと結論レコードとは、同じ属性を含んでいなくてもよい。例えば、その前提レコードが固有識別子及びあるセンシティブ属性のみを含み、その結論レコードが固有識別子と他のセンシティブ属性のみを含む、データセットであってもよい。
【００４８】  図４及び図５は、以下の説明の便宜上、図３に示すデータセット５１０を前提レコード（第１のレコード）分と結論レコード（第２のレコード）分とに分けて示す図である。即ち、図４及び図５に示す前提レコード分５２１及び結論レコード分５２２は、匿名化装置１００が生成するものではなく、説明のために便宜的に示す図である。図４は、前提レコードから成る、前提レコード分５２１を示す。図５は、結論レコードから成る、結論レコード分５２２を示す。
【００４９】  以下の実施形態では、結論レコード分５２２を、前提レコード分５２１を参照しながら、前提レコード分５２１との間に存在する対応関係を保つように匿名化する方法について説明する。
【００５０】  ＝＝＝匿名化装置１００＝＝＝  匿名化装置１００は、データセット５１０の中から、複数の結論レコード（結論レコード群、第１のレコード群とも呼ばれる）を抽出し、更に対応関係の抽象度に基づいて、その結論レコード群から複数の結論レコードを抽出する。ここで、その結論レコード群を構成するその複数の結論レコードは、その結論レコード群において第２のｌ−多様性を充足可能な複数の結論レコードであり、かつ、それらの結論レコードのそれぞれと組を成す複数の前提レコード（前提レコード群、第１のレコード群とも呼ばれる）において第１のｌ−多様性を充足可能であるような、複数の結論レコードである。
【００５１】  次に、匿名化装置１００は、それらの抽出された複数の結論レコードから、結論レコードからなる結論匿名グループデータセット（匿名グループデータセットとも呼ばれる）を生成し、出力する。ここで、その結論レコードは、第２のｌ−多様性を充足し、かつ『それらの抽出された複数の結論レコード』との対応関係がある第１のレコード群に対して第１のｌ−多様性を充足する匿名化が可能なレコードである。
【００５２】  また、匿名化装置１００は、前提匿名グループデータセットに含まれる前提レコードのそれぞれ及び匿名グループデータセットに含まれる結論レコードのそれぞれに対して、それらの前提レコードと結論レコードとの対応関係を付与するようにしてもよい。ここで、その前提匿名グループデータセットは、結論匿名グループデータセットに含まれる結論レコードのそれぞれと組を成す複数の前提レコードが匿名化された、データセットである。
【００５３】  ＝＝＝匿名化情報記憶部６００＝＝＝  匿名化情報記憶部６００は、匿名化装置１００が出力する、前提匿名グループデータセット及び結論匿名グループデータセットを含む、匿名グループデータセットを記憶する。
【００５４】  図６は、前提匿名グループデータセット６１１の一例を示す図である。図７は、結論匿名グループデータセット６１２の一例を示す図である。
【００５５】  図６及び図７に示すように、前提匿名グループデータセット６１１及び結論匿名グループデータセット６１２のレコードのそれぞれは、固有識別子に替えて、グループ識別子及び関連識別子を含む。尚、図６において、点線枠で囲ったその固有識別子は、前提レコード分５２１のレコードのそれぞれと、前提匿名グループデータセット６１１のレコードのそれぞれとの関連を判りやすくするために記載したものである。従って、その固有識別子は、前提匿名グループデータセット６１１には含まれない。尚、図７において点線枠で囲ったその固有識別子も、同様に結論匿名グループデータセット６１２には含まれない。
【００５６】  そのグループ識別子は、ある前提匿名グループに含まれる複数の前提レコードに同一に付与された識別子である。同様に、そのグループ識別子は、ある結論匿名グループに含まれる複数の結論レコードに同一に付与された識別子である。関連識別子は、同一の固有識別子を有する他方のレコードの、グループ識別子である。即ち、同一のそのグループ識別子に対応する複数の前提レコードは、一つの前提匿名グループを形成する。同様に、同一のグループ識別子に対応する複数の結論レコードは、一つの結論匿名グループを形成する。
【００５７】  尚、前提匿名グループデータセット６１１及び結論匿名グループデータセット６１２のレコードのそれぞれは、これらの固有識別子を含んでもよい。その場合、匿名化情報記憶部６００は、外部からの前提匿名グループデータセット６１１及び結論匿名グループデータセット６１２の取得要求に対して、それらの固有識別子を削除して出力するようにしてもよい。
【００５８】  以上が、匿名化装置１００の動作の概要の説明である。
【００５９】  次に、匿名化装置１００が備える各構成要素について、詳細に説明する。尚、図１に示す構成要素は、ハードウェア単位の構成要素でも、コンピュータ装置の機能単位に分割した構成要素でもよい。ここでは、図１に示す構成要素は、コンピュータ装置の機能単位に分割した構成要素として説明する。
【００６０】  ＝＝＝レコード抽出部１１０＝＝＝  レコード抽出部１１０は、遷移ベクトルを生成する。例えば、その遷移ベクトルは、前提レコードに含まれる第１の属性（以下、前提属性と呼ぶ）の属性値毎の、結論レコードに含まれる第２の属性（以下、結論属性と呼ぶ）の各属性値が、その前提レコードと組を成す結論レコードに出現する頻度を要素とするベクトルである。換言すると、その遷移ベクトルは、前提属性の属性値毎の、結論属性の各属性値の出現頻度を要素とするベクトルである。ここで、前提属性は、前提レコードに含まれる第１の属性である。また、結論属性は、結論レコードに含まれる第２の属性である。その出現頻度は、結論属性の各属性値が、その前提レコードと組みを成す、その結論レコードに出現する頻度前提レコードと組みをなす。
【００６１】  具体的には、レコード抽出部１１０は、図４に示す前提レコード分５２１及び図５に示す結論レコード分５２２を参照して次のように遷移ベクトルを算出する。
【００６２】  前提レコードに含まれる前提属性は、図４に示す前提レコード分５２１の前提レコードの、病名の属性である。また、結論レコードに含まれる結論属性は、図５に示す結論レコード分５２２のレコードの、病名の属性である。
【００６３】  例えば、病名の属性値が「Ｕ」のその前提レコードは、固有識別子が「１」、「１３」、「２７」、「３９」、「１４」、「２６」、「２８」、「２９」、「３８」、「１１」及び「１２」の前提レコード群のレコードである。これらの前提レコードと組を成す結論レコードは、同一の固有識別子「１」、「１３」、「２７」、「３９」、「１４」、「２６」、「２８」、「２９」、「３８」、「１１」及び「１２」を有する結論レコードである。
【００６４】  次に、レコード抽出部１１０は、これらの結論レコードに含まれる病名の属性として出現する属性値の出現頻度を算出する。ここでその属性値は、４回出現の「Ａ」、３回出現の「Ｂ」、２回出現の「Ｃ」及び２回出現の「Ｄ」である。従って、それぞれのその出現頻度は、「Ａ」が０．３７（＝４÷１１）、「Ｂ」が０．２８（＝３÷１１）、「Ｃ」が０．１９（＝２÷１１）及び「Ｄ」が０．１９（＝２÷１１）である。また、その結論レコードの病名の属性の属性値である「Ｅ」及び「Ｆ」は、病名の属性値が「Ｕ」の前提レコードと組を成す結論レコードには出現しない。従って、「Ｅ」及び「Ｆ」のそれぞれの出現頻度は、いずれも「０」である。
【００６５】  以上より、レコード抽出部１１０は、その属性値の「Ｕ」についての遷移ベクトルｔｒＵを、以下のとおり生成する。
【００６６】  ｔｒＵ＝（０．３７，０．２８，０．１９，０．１９，０．００，０．００）Ｔ  同様にして、レコード抽出部１１０は、属性値の「Ｖ」、「Ｗ」、「Ｘ」、「Ｙ」及び「Ｚ」のそれぞれの、遷移ベクトルｔｒＶ、ｔｒＷ、ｔｒＸ、ｔｒＹ及びｔｒＺを以下のとおり生成する。
【００６７】  ｔｒＶ＝（０．２２，０．４４，０．２２，０．１１，０．００，０．００）Ｔ  ｔｒＷ＝（０．２２，０．３３，０．３３，０．１１，０．００，０．００）Ｔ  ｔｒＸ＝（０．２０，０．２０，０．００，０．２０，０．４０，０．００）Ｔ  ｔｒＹ＝（０．００，０．００，０．００，０．６７，０．３３，０．００）Ｔ  ｔｒＺ＝（０．００，０．００，０．００，０．００，０．００，１．００）Ｔ  次に、レコード抽出部１１０は、これらの遷移ベクトル間の類似度を算出する。レコード抽出部１１０は、それらの遷移ベクトルのいずれか２つの遷移ベクトルが、結論レコード群において第２のｌ−多様性を充足可能である場合、それらの遷移ベクトル同士の類似度として、それらの遷移ベクトルの内積を算出する。尚、レコード抽出部１１０は、ベクトル間の類似性を表現する類似度、ベクトル間の非類似性を表現する距離であれば、内積に限らず、例えばユークリッド距離などを距離として算出してもよい。また、レコード抽出部１１０は、それらの遷移ベクトルのいずれか２つの遷移ベクトルが、結論レコード群において第２のｌ−多様性を充足可能でない場合、それらの遷移ベクトル同士の類似度を「０」とする。
【００６８】  ここで、「２つの遷移ベクトルが、結論レコード群において第２のｌ−多様性を充足可能」とは、２つの遷移ベクトルそれぞれに対応する結論レコードの、結論属性の結論属性値が、第２のｌ−多様性のｌ種類（例えば、２種類）以上、共起していることである。即ちそれは、２つの遷移ベクトルそれぞれに対応する結論レコードのそれぞれ同士で同一である、結論属性の結論属性値が、第２のｌ−多様性のｌ種類（例えば、２種類）以上、存在することである。
【００６９】  具体的には、レコード抽出部１１０は、遷移ベクトルｔｒＵと遷移ベクトルｔｒＶとの類似度ｓｉｍ（Ｕ、Ｖ）を、遷移ベクトルｔｒＵと遷移ベクトルｔｒＶの内積である「０．２６」と算出する。同様に、レコード抽出部１１０は、他の類似度を以下のとおり算出する。
【００７０】  ｓｉｍ（Ｕ、Ｗ）＝０．２５  ｓｉｍ（Ｕ、Ｘ）＝０．１６  ｓｉｍ（Ｕ、Ｙ）＝０．１２  ｓｉｍ（Ｕ、Ｚ）＝０．００  ｓｉｍ（Ｖ、Ｗ）＝０．２８  ｓｉｍ（Ｖ、Ｘ）＝０．１６  ｓｉｍ（Ｖ、Ｙ）＝０．０７  ｓｉｍ（Ｖ、Ｚ）＝０．００  ｓｉｍ（Ｗ、Ｘ）＝０．１３  ｓｉｍ（Ｗ、Ｙ）＝０．０７  ｓｉｍ（Ｗ、Ｚ）＝０．００  ｓｉｍ（Ｘ、Ｙ）＝０．２７  ｓｉｍ（Ｘ、Ｚ）＝０．００  ｓｉｍ（Ｙ、Ｚ）＝０．００  次に、レコード抽出部１１０は、類似度の大きい遷移ベクトルの順（即ち抽象度が小さい順）に、第１のｌ−多様性の種類数のその遷移ベクトルに対応する、前提属性値を含む前提レコードと、その前提レコードと組を成す結論レコードと、を抽出する。尚、「第１のｌ−多様性の種類数のその遷移ベクトルに対応する」は、「対応関係を持つ前提レコード群（第２のレコードと組を成す第１のレコードから成る、第１のレコード群）において第１のｌ−多様性を充足可能である」と言われることもある。
【００７１】  また、レコード抽出部１１０は、上述の結論レコードのみを抽出するようにしてもよい。この場合、レコード抽出部１１０は、以後の処理において、抽出した結論レコードの固有識別子に基づいて、データセット５１０の前提レコードを参照するようにしてもよい。
【００７２】  具体的には、レコード抽出部１１０は、以下のようにして前提レコードと結論レコードとの組を抽出する。その抽出される前提レコードと結論レコードとの組は、抽象度が小さくなるように抽出されればよく、その順序はいかなる順序であってもよい。
【００７３】  ここで、前提レコードと結論レコードとの組の抽出の一例を示す。「Ｕ」、「Ｖ」、「Ｗ」、「Ｘ」及び「Ｙ」のそれぞれの前提属性値に対応する、その類似度の合計のそれぞれは、「０．８０」、「０．７８」、「０．７４」、「０．７２」及び「０．５４」である。そこで、レコード抽出部１１０は、その類似度の合計が最大である、「Ｕ」の前提属性値に対応する遷移ベクトルｔｒＵ、を選択する。次に、レコード抽出部１１０は、遷移ベクトルｔｒＵとのその類似度が大きい順に、遷移ベクトルｔｒＶ及び遷移ベクトルｔｒＷを選択する。
【００７４】  これらに対応する前提レコードと、その前提レコードと組を成す結論レコードとは、固有識別子が「１」、「１３」、「２７」、「３９」、「１４」、「２６」、「２８」、「２９」、「３８」、「１１」、「１２」、「２」、「２５」、「１０」、「１５」、「１６」、「３０」、「２４」、「３１」、「３」、「３２」、「３７」、「４」、「２２」、「２３」、「９」、「１７」、「３６」及び「３３」のレコードである。レコード抽出部１１０は、これらのレコードを抽出する。
【００７５】  図８は、上述のようにしてレコード抽出部１１０が抽出した、抽出レコード群５３０の一例を示す図である。図８は、組を成す前提レコード及び結論レコードのそれぞれが抽出前提レコード群５３１及び抽出結論レコード群５３２のそれぞれに含まれるレコードとして、抽出レコード群５３０を示す図である。
【００７６】  図９は、図８に示す抽出レコード群５３０について、前提属性値が同一の前提レコード毎に、結論レコードを纏めた抽出結論レコード群５３２の一例を表す図である。尚、図９において、結論レコード５３２１の上段に固有識別子（例えば、「１」）を記し、下段に前提属性値と結論属性値と（例えば、「Ｕ−Ａ」）を記す。以降の図１１、図１３、図１５、図１８、図１９、図２０及び図２１も同様である。
【００７７】  図９に示すように、例えば、前提属性値が「Ｕ」の前提レコードに対応する、結論レコードは、固有識別子が「１」、「１３」、「２７」、「３９」、「１４」、「２６」、「２８」、「２９」、「３８」、「１１」、「１２」のレコードである。
【００７８】  ＝＝＝匿名グループ生成部１２０＝＝＝  匿名グループ生成部１２０は、抽出レコード群５３０から、前提属性値が同一の前提レコード毎に、前提レコードと結論レコードとの組を抽出する。その抽出の際、匿名グループ生成部１２０は、その前提属性値が同一の前提レコードに対応する、結論属性値が同一の結論レコードの数が共通になるように、その前提レコードとその結論レコードとの組を抽出する。即ち、匿名グループ生成部１２０は、その前提属性値が同一の前提レコード毎に対応する、その結論属性値が同一のその結論レコードの数の最小値の分だけ、前提レコードと結論レコードとの組を抽出する。
【００７９】  また、匿名グループ生成部１２０は、上述の結論レコードのみを抽出するようにしてもよい。この場合、匿名グループ生成部１２０は、以後の処理において、抽出した結論レコードの固有識別子に基づいて、データセット５１０の前提レコードを参照するようにしてもよい。
【００８０】  例えば、匿名グループ生成部１２０は、前提属性値が「Ｕ」、「Ｖ」及び「Ｗ」それぞれの結論属性値が「Ａ」の結論レコードの数を比較して、最小値が２であると判定する。
【００８１】  その最小値が２であることに基づいて、匿名グループ生成部１２０は、前提属性値が同一の前提レコード毎に、前提レコードと結論レコードとの組を２個ずつ抽出する。例えば、前提属性値が「Ｕ」である前提レコードと、それらに対する結論属性値が「Ａ」である結論レコードとの組は、固有識別子が「１」、「１３」、「２７」及び「３９」の、前提レコードと結論レコードとの組である。そこで、匿名グループ生成部１２０は、例えば、固有識別子が「１」及び「１３」の、前提レコードと結論レコードとの組を抽出する。
【００８２】  図１０は、組を成す前提レコード及び結論レコードのそれぞれを共通部分前提レコード群５４１及び共通部分結論レコード群５４２のそれぞれに含まれるレコードとして、共通部分レコード群５４０の一例を示す図である。共通部分レコード群５４０は、図８に示す抽出レコード群５３０から抽出された、前提レコードと結論レコードとの組から成る。ここで、その前提レコードと結論レコードとは、前提属性値が同一の前提レコード毎に対応する結論レコード群が共通になるように抽出される。即ち、共通部分レコード群５４０は、前述のように抽出された前提レコード及び結論レコードのそれぞれを、共通部分前提レコード群５４１及び共通部分結論レコード群５４２として含む。
【００８３】  図１１は、図１０に示す共通部分レコード群５４０について、前提属性値が同一の前提レコード毎に、結論レコードを纏めた共通部分結論レコード群５４２の一例を表す図である。
【００８４】  図１１に示すように、例えば、前提属性値が「Ｕ」、「Ｖ」及び「Ｗ」のそれぞれの前提レコードに対応する、結論属性値が「Ａ」の結論レコードの数は、いずれも２つである。
【００８５】  図１２は、図１０の共通部分レコード群５４０を、共通部分前提レコード群５４１の結論属性でソートした状態で、結論ソートレコード群５５０として示す図である。図１２に示す結論ソートレコード群５５０は、匿名化装置１００が生成するものではなく、説明の便宜上示す図である。図１２は、結論属性でソートされた状態の、組を成す前提レコードと結論レコードとの組のそれぞれが結論ソート前提レコード群５５１及び結論ソート結論レコード群５５２のそれぞれに含まれるレコードとして、結論ソートレコード群５５０（共通部分レコード群５４０）を示す。
【００８６】  図１３は、図１０に示す共通部分結論レコード群５４２を、図１２に示す結論ソート結論レコード群５５２にソートしたように、結論属性値が同一の結論レコードを纏めた結論ソート結論レコード群５５２（共通部分結論レコード群５４２）の一例を表す図である。
【００８７】  図１３に示すように、例えば、結論属性値が「Ａ」の結論レコードは、前提属性値が「Ｕ」、「Ｖ」及び「Ｗ」のそれぞれの前提レコードに対応する２組の組み合わせ（以後、組み合わせＣと呼ぶ）を形成する。それらの２組の組み合わせＣは、固有識別子が、例えば「１」、「２」及び「３２」の組み合わせと、「１３」、「２５」及び「３７」の組み合わせとである。尚、組み合わせＣは、前提属性値が「Ｕ」、「Ｖ」及び「Ｗ」のそれぞれの前提レコードに対応する組み合わせであれば、任意の組み合わせであってよい。即ち、組み合わせＣは、第１のｌ−多様性を充足する前提レコードに対応する組み合わせである。
【００８８】  次に、匿名グループ生成部１２０は、共通部分結論レコード群５４２を利用して、第２のｌ−多様性を満たす結論匿名グループにグループ分けされた結論レコードから成る、匿名グループ結論レコード群５６２を生成する。
【００８９】  例えば、匿名グループ生成部１２０は、結論ソート結論レコード群５５２から、結論属性値が「Ｂ」の組み合わせＣと結論属性値が「Ａ」の組み合わせＣとを選択して結論匿名グループを生成し、これにグループ識別子（例えば、「２０１」）を付与する。この際、匿名グループ生成部１２０は、組み合わせＣの残数が結論属性値毎にできるだけ均一になるように、組み合わせＣを選択してもよい。
【００９０】  図１４は、共通部分結論レコード群５４２を利用して生成された、匿名グループ結論レコード群５６２の一例を示す図である。尚、図中の点線枠で囲った前提レコード群は、結論レコードと前提レコードとの関連を判りやすくするために記載したものであり、匿名グループ結論レコード群５６２には含まれない。
【００９１】  図１５は、図１４に示す匿名グループ結論レコード群５６２について、グループ識別子毎に結論レコードを纏めた、匿名グループ結論レコード群５６２の一例を表す図である。
【００９２】  次に、匿名グループ生成部１２０は、匿名グループ結論レコード群５６２の各グループ（グループ識別子が同一の結論レコードの集合）毎に、結論属性以外の準識別子の属性値（ここでは、年齢の属性値）を汎化（同一の値に変換）し、図７に示す結論匿名グループデータセット６１２を生成し、結論匿名グループデータセット（第２の匿名グループデータセット）として出力する。尚、図７に示す結論匿名グループデータセット６１２はグループ識別子でソートされているが、匿名グループ生成部１２０が出力する結論匿名グループデータセットの結論レコードは任意の並び順であってよい。
【００９３】  尚、匿名グループ生成部１２０は、結論属性以外の準識別子の属性値（ここでは、診療月及び年齢の属性値）を汎化する必要がない場合（例えば、結論レコードがこれらの属性を含んでいない場合）、匿名グループ結論レコード群５６２をそのまま、結論匿名グループデータセットとして出力するようにしてもよい。
【００９４】  以上は、結論レコードからなる結論匿名グループデータセットの生成についての説明である。
【００９５】  次に、前提レコードからなる前提匿名グループデータセットの生成について説明する。尚、その前提匿名グループデータセットは、以下の方法に限らず、他の匿名化装置や方法によって生成されていてもよい。
【００９６】  匿名グループ生成部１２０は、図１０に示す共通部分前提レコード群５４１を利用して、図６に示す前提匿名グループデータセット６１１を生成し、出力する。
【００９７】  具体的には、匿名グループ生成部１２０は、共通部分前提レコード群５４１の先頭から第１のｌ−多様性の種類数の前提属性値に対応する前提レコードの組み合わせ（例えば、固有識別子が「１」、「２」及び「３２」の前提レコードの組み合わせ）を順次抽出する。そして、匿名グループ生成部１２０は、その抽出した組み合わせのそれぞれに、グループ識別子（例えば、「１０１」）を付与する。即ち、その抽出した組み合わせのそれぞれは、前提匿名グループを形成する。
【００９８】  次に、匿名グループ生成部１２０は、同一のグループ識別子を付与した前提レコードのそれぞれの、前提属性以外の準識別子の属性値（ここでは、年齢の属性値）を汎化（同一の値に変換）する。
【００９９】  更に、匿名グループ生成部１２０は、同一の固有識別子を有する結論レコードのグループ識別子を関連識別子とし、図６に示す前提匿名グループデータセット６１１を生成する。
【０１００】  以上が、前提レコードからなる前提匿名グループデータセットの生成についての説明である。
【０１０１】  以上が、匿名化装置１００の機能単位の各構成要素についての説明である。
【０１０２】  次に、匿名化装置１００のハードウェア単位の構成要素について説明する。
【０１０３】  図１６は、本実施形態に係る匿名化装置１００を実現するコンピュータ７００のハードウェア構成を示す図である。
【０１０４】  図１６に示すように、コンピュータ７００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、記憶部７０２、記憶装置７０３、入力部７０４、出力部７０５及び通信部７０６を含む。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体であってもよい。
【０１０５】  ＣＰＵ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の、全体の動作を制御する。また、ＣＰＵ７０１は、例えば記憶装置７０３に装着された記録媒体７０７から、プログラムやデータを読み込み、読み込んだプログラムやデータを記憶部７０２に書き込む。ここで、そのプログラムは、例えば、後述の図１７に示すフローチャートの動作をコンピュータ７００に実行させるプログラムである。
【０１０６】  そして、ＣＰＵ７０１は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図１に示すレコード抽出部１１０及び匿名グループ生成部１２０として各種の処理を実行する。
【０１０７】  尚、ＣＰＵ７０１は、通信網（不図示）に接続されている外部コンピュータ（不図示）から、記憶部７０２にプログラムやデータをダウンロードするようにしてもよい。
【０１０８】  記憶部７０２は、プログラムやデータを記憶する。記憶部７０２は、データセット５１０、抽出レコード群５３０、共通部分レコード群５４０、匿名グループ結論レコード群５６２、前提匿名グループデータセット６１１及び結論匿名グループデータセット６１２などを記憶してもよい。また、記憶部７０２は、履歴情報記憶部５００及び匿名化情報記憶部６００を含んでよい。
【０１０９】  記憶装置７０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体７０７を含む。記憶装置７０３（記録媒体７０７）は、プログラムをコンピュータ読み取り可能に記憶する。また、記憶装置７０３は、データを記憶してもよい。記憶装置７０３は、記憶部７０２と同様のデータを記憶してもよい。また、記憶装置７０３は、履歴情報記憶部５００及び匿名化情報記憶部６００を含んでよい。
【０１１０】  入力部７０４は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力部７０４は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
【０１１１】  出力部７０５は、例えばディスプレイで実現され、出力を確認するために用いられる。
【０１１２】  通信部７０６は、外部とのインタフェースを実現する。通信部７０６は、レコード抽出部１１０及び匿名グループ生成部１２０の一部として含まれる。
【０１１３】  以上説明したように、図１に示す匿名化装置１００の機能単位のブロックは、図２に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【０１１４】  尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給され、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを読み出して実行するようにしてもよい。或いは、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを、記憶部７０２、記憶装置７０３またはその両方に格納するようにしてもよい。すなわち、本実施形態は、コンピュータ７００（ＣＰＵ７０１）が実行するプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。
【０１１５】  以上が、本実施形態における匿名化装置１００を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【０１１６】  次に本実施形態の動作について、図１〜図１７を参照して詳細に説明する。
【０１１７】  図１７は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵによるプログラム制御に基づいて、実行されても良い。また、処理のステップ名については、Ｓ６０１のように、記号で記載する。
【０１１８】  レコード抽出部１１０は、遷移ベクトルを生成する（Ｓ６０１）。
【０１１９】  次に、レコード抽出部１１０は、遷移ベクトル間の類似度を算出する（Ｓ６０２）。
【０１２０】  次に、レコード抽出部１１０は、類似度の大きい遷移ベクトルの順に、第１のｌ−多様性の種類数のその遷移ベクトルに対応する、前提属性値を含む前提レコードと、その前提レコードと組を成す結論レコードと、を抽出し、抽出レコード群５３０として出力する（Ｓ６０３）。
【０１２１】  次に、匿名グループ生成部１２０は、抽出レコード群５３０から、前提属性値が同一の前提レコード毎に、「それらの前提レコードに対応する、結論属性値が同一の結論レコードの数が共通」になるように、共通部分レコード群５４０として、前提レコードと結論レコードとの組を抽出する（Ｓ６０４）。
【０１２２】  次に、匿名グループ生成部１２０は、共通部分結論レコード群５４２を利用して、第２のｌ−多様性を満たす結論匿名グループにグループ分けされた結論レコードから成る匿名グループ結論レコード群５６２を生成する（Ｓ６０６）。
【０１２３】  次に、匿名グループ生成部１２０は、匿名グループ結論レコード群５６２のグループ毎に、結論属性以外の準識別子の属性値を汎化し、結論匿名グループデータセット６１２を生成し、結論匿名グループとして出力する（Ｓ６０７）。
【０１２４】  次に、匿名グループ生成部１２０は、前提レコードのグループ化を行う。匿名グループ生成部１２０は、共通部分前提レコード群５４１の先頭から第１のｌ−多様性の種類数の前提属性値に対応する前提レコードの組み合わせを順次抽出し、その抽出した組み合わせのそれぞれにグループ識別子を付与する（Ｓ６０８）。
【０１２５】  但し、前提レコードのグループ化は、この方法によらず、様々な方法を用いてよい。例えば、ここでの前提レコードを結論レコードとし、他のレコード群を前提レコードとして、ここでの前提レコードがグループ化されていてもよい。
【０１２６】  次に、匿名グループ生成部１２０は、同一のグループ識別子を付与した前提レコードそれぞれの、前提属性以外の準識別子の属性値を汎化する（Ｓ６０９）。
【０１２７】  次に、匿名グループ生成部１２０は、同一の固有識別子を有する結論レコードのグループ識別子を関連識別子として、図６に示す前提匿名グループデータセット６１１を生成し、出力する（Ｓ６１０）。
【０１２８】  ＜＜＜本実施形態の第１の変形例＞＞＞  匿名グループ生成部１２０は、図１７に示す動作において出力された前提匿名グループデータセット（第１の匿名グループデータセット）と結論匿名グループデータセット（第２の匿名グループデータセット）とに、対応関係の抽象化が発生しないように追加可能な、残レコードを追加する。ここで、その残レコードは、その結論匿名グループデータセットに含まれる結論レコードの有する固有識別子以外の、他の固有識別子を有する結論レコードである。
【０１２９】  図を用いて、具体的な例を説明する。
【０１３０】  図１８は、図５に示す結論レコード分５２２から、図７に示す結論匿名グループデータセット６１２を除いた残レコード５７０の一例を示す図である。
【０１３１】  匿名グループ生成部１２０は、特定の結論匿名グループに対して、以下の条件に合致する、複数の前提レコードと結論レコードとの組を追加する。第一の条件は、その複数の前提レコードが、その特定の結論匿名グループに含まれる結論レコードと組を成す、いずれの前提レコードの前提属性値とも異なる、同一の前提属性値を有することである。第２の条件は、その複数の結論レコードが、その特定の結論匿名グループに含まれる前提レコードのそれぞれの、前提属性値の全ての種類を含むことである。
【０１３２】  例えば、匿名グループ生成部１２０は、図１７に示すステップＳ６０６の次に、特定の結論匿名グループとして、グループ識別子が「２０１」のグループを選択する。
【０１３３】  更に、匿名グループ生成部１２０は、前提属性値が「Ｕ」、「Ｖ」及び「Ｗ」以外の前提属性値に対応し、結論属性値が「Ａ」及び「Ｂ」を有する結論レコードを残レコード５７０から抽出する。
【０１３４】  次に、匿名グループ生成部１２０は、抽出した結論レコードに「２０１」のグループ識別子を付与する。
【０１３５】  次に、匿名グループ生成部１２０は、図７に示すステップＳ６０７以降の処理を、抽出した結論レコードとそれに対応する前提レコードを含めて、実行する。
【０１３６】  図１９は、上述のようにして形成された、グループ識別子が「２０１」の結論匿名グループの一例を、模式的に示す図である。図１９に示すように、匿名化前の固有識別子毎の対応関係は８種類である。また、これらの結論レコードが全て同じグループ識別子のもとにグループ化された場合、即ち前提属性値と結論属性値とを任意に入れ替え可能とされた場合、やはり対応関係は８種類である。即ち、対応関係の抽象化は発生しない。
【０１３７】  また、匿名グループ生成部１２０は、特定の結論匿名グループに対して、以下の条件に合致する、複数の前提レコードと結論レコードとの組を追加するようにしてもよい。第一の条件は、その複数の結論レコードが、その特定の結論匿名グループに含まれる結論レコードの結論属性値のいずれとも異なる、同一の結論属性値を有することである。第２の条件は、その複数の前提レコードのそれぞれが、その特定の結論匿名グループに含まれる結論レコードに対応する前提レコードのそれぞれの、前提属性値の全ての種類を含むことである。
【０１３８】  図２０は、上述の条件に基づいて形成された結論匿名グループの一例を模式的に示す図である。
【０１３９】  ＜＜＜本実施形態の第２の変形例＞＞＞  匿名グループ生成部１２０は、残レコードから、第１のｌ−多様性及び第２のｌ−多様性のそれぞれを充足する匿名化が可能な、前提レコードからなる前提匿名グループ及び結論レコードからなる結論匿名グループのそれぞれを生成する。ここで、その残レコードは、図１７に示す動作において出力された結論匿名グループデータセットに含まれる結論レコードの有する固有識別子以外の、固有識別子を有する結論レコードである。
【０１４０】  図２１は、残レコード５７０から生成した結論匿名グループの一例を示す図である。図２１に示すように、上述のようにして生成された結論匿名グループは、第２のｌ−多様性を充足し、それらの結論レコードに対応する前提レコードからなる匿名グループは、第１のｌ−多様性を充足する。但し、匿名化前の固有識別子毎の対応関係は５種類であるのに対し、グループ化された場合の対応関係は９種類である。従って、対応関係の抽象化が、発生する。
【０１４１】  ＜＜＜本実施形態の第３の変形例＞＞＞  上述の説明においては、レコード抽出部１１０及び匿名グループ生成部１２０は、診療月の属性値が「４月」のレコードを前提レコード（第１のレコード）とし、診療月の属性値が「５月」のレコードを結論レコード（第２のレコード）として、処理した。しかし、レコード抽出部１１０及び匿名グループ生成部１２０は、診療月の属性値が「５月」のレコードを前提レコード（第１のレコード）とし、診療月の属性値が「４月」のレコードを結論レコード（第２のレコード）としてもよい。
【０１４２】  即ち、対応関係は、属性の物理的な性質に係わらず、任意の方向の対応関係であってよい。
【０１４３】  ＜＜＜本実施形態の第４の変形例＞＞＞  上述の説明においては、レコード抽出部１１０及び匿名グループ生成部１２０は、各動作におけるレコードの抽出及び選択を、前提属性値と結論属性値との関係のみを考慮して、図示されている順番で行うようにした。しかし、レコード抽出部１１０及び匿名グループ生成部１２０は、他の属性の匿名化（例えば、年齢の汎化）を考慮して、各動作におけるレコードの抽出及び選択を行う（例えば、年齢の属性値が近いレコードを同一のグループにする）ようにしてもよい。
【０１４４】  ＜＜＜本実施形態の第５の変形例＞＞＞  図７に示すステップＳ６０８からステップＳ６１０までの処理のそれぞれは、その順番を守った上で、ステップＳ６０４以降の、任意のタイミングで実行してもよい。
【０１４５】  ＜＜＜本実施形態の第６の変形例］  匿名グループ生成部１２０は、前提匿名グループデータセットと結論匿名データセットとを別々に出力してもよいし、纏めて１つのデータセットとして出力してもよい。
【０１４６】  ＜＜＜本実施形態の第７の変形例＞＞＞  匿名グループ生成部１２０は、結論匿名グループデータセットの結論レコードに対して、対応する前提レコードのグループ識別子を、関連識別子として関連付けてもよい。この場合、匿名グループ生成部１２０は、前提レコードに関連識別子を関連付けないようにしてもよい。
【０１４７】  ＜＜＜本実施形態の第８の変形例＞＞＞  匿名グループ生成部１２０は、対応関係にある前提匿名グループの前提レコードと結論匿名グループの結論レコードとについてグループ識別子を一致させてもよい。この場合、匿名グループ生成部１２０は、前提レコード及び結論レコードに関連識別子を関連付けないようにしてもよい。
【０１４８】  上述した本実施形態における第１の効果は、「同一の固有識別子を有するレコード間の対応関係」の情報を含むデータセットがｌ−多様性を充足するように匿名化を施された場合に、その対応関係の情報が曖昧になりすぎることを防止することが可能になる点である。
【０１４９】  その理由は、以下のような構成を含むからである。即ち、第１にレコード抽出部１１０が、第１及び第２のｌ−多様性を充足可能であることと対応関係の抽象度とに基づいて、前提レコード及び結論レコードを抽出する。第２に、匿名グループ生成部１２０が、レコード抽出部１１０によって抽出された前提レコードを参照し、同じく抽出された結論レコードから第１のｌ−多様性と第２のｌ−多様性とを充足可能にするように結論レコードを抽出して結論匿名グループを生成する。
【０１５０】  上述した本実施形態における第２の効果は、「同一の固有識別子を有するレコード間の対応関係」の情報を含むデータセットが、前提レコードと結論レコードとで異なるｌの値のｌ−多様性を充足するように匿名化を施された場合にも、その対応関係の情報が曖昧になりすぎることを防止することが可能になる点である。
【０１５１】  その理由は、第１の効果の理由と同じである。
【０１５２】  上述した本実施形態における第３の効果は、データセットに含まれるレコードをより有効に利用することが可能になる点である。
【０１５３】  その理由は、匿名グループ生成部１２０が、前提匿名グループデータセットと結論匿名グループデータセットとに、対応関係の抽象化が発生しないように追加可能な、残レコードを追加するようにしたからである。
【０１５４】  上述した本実施形態における第４の効果は、データセットに含まれるレコードを、更に、より有効に利用することが可能になる点である。
【０１５５】  その理由は、匿名グループ生成部１２０が、残レコードから、前提匿名グループ及び結論匿名グループのそれぞれを生成するようにしたからである。
【０１５６】  上述した本実施形態における第５の効果は、データセットの匿名化を、利用価値が低くならないように施すことが可能になる点である。
【０１５７】  その理由は、レコード抽出部１１０及び匿名グループ生成部１２０が、他の属性の匿名化を考慮して、各動作におけるレコードの抽出及び選択を、行うようにしたからである。
【０１５８】  ＜＜＜第２の実施形態＞＞＞  次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１５９】  図２２は、本発明の第２の実施形態に係る匿名化装置２００の構成を示すブロック図である。
【０１６０】  図２２に示す構成要素は、ハードウェア単位の構成要素ではなく、機能単位の構成要素を示している。尚、図２２に示す構成要素は、ハードウェア単位の構成要素でも、コンピュータ装置の機能単位に分割した構成要素でもよい。ここでは、図１に示す構成要素は、コンピュータ装置の機能単位に分割した構成要素として説明する。
【０１６１】  図２２を参照すると、本実施形態に係る匿名化装置２００は、第１の実施形態の匿名化装置１００と比べて、遷移ベクトル抽出部２３０を更に含み、レコード抽出部１１０に替えてレコード抽出部２１０を含む。
【０１６２】  ＝＝＝遷移ベクトル抽出部２３０＝＝＝  遷移ベクトル抽出部２３０は、複数の遷移ベクトルについての類似度の算出対象を示す、算出対象情報を生成する。そして、遷移ベクトル抽出部２３０は、その算出対象情報をレコード抽出部２１０に出力する。
【０１６３】  算出対象情報に含まれる算出対象を抽出する操作について具体的に説明する。
【０１６４】  ＜＜＜第一の抽出操作＞＞＞  遷移ベクトル抽出部２３０は、２つの遷移ベクトル間に、第２のｌ−多様性のｌ種類以上の、要素の共起が存在する場合、その２つの遷移ベクトルの組み合わせを算出対象として抽出する。
【０１６５】  例えば、第２のｌ−多様性のｌが「２」であるとする。また、遷移ベクトル抽出部２３０が処理の対処とする複数の遷移ベクトルを以下のとおりであるとする。
【０１６６】  ｔｒＡ＝（０．３，  ０．２，  ０．２，  ０．０，  ０．０，  ０．０，  ０．０，  ０．１，  ０．１，  ０．０，  ０．２）Ｔ  ｔｒＢ＝（０．２，  ０．０，  ０．２，  ０．０，  ０．０，  ０．０，  ０．０，  ０．０，  ０．１，  ０．３，  ０．２）Ｔ  ｔｒＣ＝（０．０，  ０．０，  ０．０，  ０．０，  ０．０，  ０．０，  ０．０，  ０．１，  ０．１，  ０．２，  ０．０）Ｔ  ｔｒＤ＝（０．０，  ０．０，  ０．１，  ０．０，  ０．２，  ０．１，  ０．１，  ０．２，  ０．２，  ０．０，  ０．０）Ｔ  ｔｒＥ＝（０．０，  ０．０，  ０．２，  ０．１，  ０．２，  ０．０，  ０．０，  ０．０，  ０．０，  ０．０，  ０．０）Ｔ  ｔｒＦ＝（０．０，  ０．０，  ０．０，  ０．０，  ０．０，  ０．１，  ０．２，  ０．０，  ０．０，  ０．０，  ０．０）Ｔ  ｔｒＧ＝（０．０，  ０．０，  ０．１，  ０．２，  ０．２，  ０．０，  ０．０，  ０．０，  ０．０，  ０．０，  ０．０）Ｔ  この場合、遷移ベクトルｔｒＡと遷移ベクトルｔｒＢとは、１、３、９及び１１番目の各要素が共起している。従って、遷移ベクトル抽出部２３０は、遷移ベクトルｔｒＡと遷移ベクトルｔｒＢとの組み合わせを算出対象として抽出する。
【０１６７】  また、遷移ベクトルｔｒＡと遷移ベクトルｔｒＥとは、３番目の要素だけが共起している（共起している要素が１種類である）。従って、遷移ベクトル抽出部２３０は、遷移ベクトルｔｒＡと遷移ベクトルｔｒＥとの組み合わせを算出対象として抽出しない。
【０１６８】  図２３は、遷移ベクトル抽出部２３０が抽出した２つの遷移ベクトルの組み合わせの、一例を示す図である。図２３は、各遷移ベクトルをノードとし、算出対象の２つのベクトルの組み合わせをエッジで示す。
【０１６９】  以上のようにして、遷移ベクトル抽出部２３０は、例えば、以下に示す算出対象情報を生成する。
【０１７０】  （ｔｒＡ−ｔｒＢ  、ｔｒＡ−ｔｒＣ  、ｔｒＡ−ｔｒＤ  、ｔｒＢ−ｔｒＣ  、ｔｒＢ−ｔｒＤ  、ｔｒＣ−ｔｒＤ  、ｔｒＤ−ｔｒＥ  、ｔｒＤ−ｔｒＧ  、ｔｒＤ−ｔｒＦ  、ｔｒＥ−ｔｒＧ）  ＜＜＜第二の抽出操作＞＞＞  遷移ベクトル抽出部２３０は、ある遷移ベクトルについて、その遷移ベクトルとの類似度が「０」ではない他の遷移ベクトルが、第１のｌ−多様性のｌ種類の「ｌ−１」個以上存在する場合、その遷移ベクトルと他の遷移ベクトルとの組み合わせを算出対象として抽出する。
【０１７１】  尚、遷移ベクトル抽出部２３０は、類似度が遷移ベクトル間の内積である場合、それらの遷移ベクトルに対応する各要素間のそれぞれの、論理積をとることで遷移ベクトル間の類似度が「０」か否かを判定する。即ち、各要素間の論理積の全てが「０」の場合、遷移ベクトル抽出部２３０は、遷移ベクトル間の類似度が「０」であると判定する。各要素間の論理積のいずれかが「０」でない場合、遷移ベクトル抽出部２３０は、遷移ベクトル間の類似度が「０」でないと判定する。
【０１７２】  例えば、第１のｌ−多様性のｌが「３」であるとする。また、遷移ベクトル抽出部２３０が処理の対処とする複数の遷移ベクトルを第一の抽出操作で示した例のとおりであるとする。
【０１７３】  この場合、遷移ベクトルｔｒＡについて、遷移ベクトルｔｒＡとの類似度が「０」でない他の遷移ベクトルは遷移ベクトルｔｒＢ、遷移ベクトルｔｒＣ及び遷移ベクトルｔｒＤである。従って、遷移ベクトル抽出部２３０は、遷移ベクトルｔｒＡと遷移ベクトルｔｒＢ及び遷移ベクトルｔｒＣとの組み合わせを算出対象として抽出する。
【０１７４】  また、遷移ベクトルｔｒＦについて、遷移ベクトルｔｒＦとの類似度が「０」でない他の遷移ベクトルは遷移ベクトルｔｒＤのみである。従って、遷移ベクトル抽出部２３０は、遷移ベクトルｔｒＦと他の遷移ベクトルとの組み合わせを算出対象として抽出しない。
【０１７５】  図２４は、遷移ベクトル抽出部２３０が抽出した２つの遷移ベクトルの組み合わせの、一例を示す図である。図２４は、各遷移ベクトルをノードとし、算出対象の２つのベクトルの組み合わせをエッジで示す。
【０１７６】  以上のようにして、遷移ベクトル抽出部２３０は、例えば、以下に示す算出対象情報を生成する。
【０１７７】  （ｔｒＡ−ｔｒＢ  、ｔｒＡ−ｔｒＣ  、ｔｒＡ−ｔｒＤ  、ｔｒＢ−ｔｒＣ  、ｔｒＢ−ｔｒＤ  、ｔｒＣ−ｔｒＤ  、ｔｒＤ−ｔｒＥ  、ｔｒＤ−ｔｒＧ  、ｔｒＥ−ｔｒＧ）  ＜＜＜第三の抽出操作＞＞＞  遷移ベクトル抽出部２３０は、第１のｌ−多様性のｌ個のある遷移ベクトルについて、それらの遷移ベクトル間の類似度のいずれもが、「０」ではない場合、それらの遷移ベクトル間の組み合わせを算出対象として抽出する。
【０１７８】  図２５は、遷移ベクトル抽出部２３０が処理対象とする遷移ベクトル間の類似度が「０」か否かを示す模式図である。図２５は、各遷移ベクトルをノードとし、ある２つの遷移ベクトル間の類似度が「０」でないことをエッジで示す。
【０１７９】  例えば、第１のｌ−多様性のｌが「３」の場合、遷移ベクトル抽出部２３０は、３個の遷移ベクトルｔｒＡ、遷移ベクトルｔｒＢ及び遷移ベクトルｔｒＣについて、それらの遷移ベクトル間の類似度のいずれもが、「０」ではない（エッジがある）ので、それらの遷移ベクトル間の組み合わせを算出対象として抽出する。また、遷移ベクトル抽出部２３０は、３個の遷移ベクトルｔｒＤ、遷移ベクトルｔｒＥ及び遷移ベクトルｔｒＦについて、遷移ベクトルｔｒＤと遷移ベクトルｔｒＦとの類似度が「０」であるので、それらの遷移ベクトル間の組み合わせを、算出対象として抽出しない。
【０１８０】  以上のようにして、遷移ベクトル抽出部２３０は、例えば、以下に示す算出対象情報を生成する。
【０１８１】  （ｔｒＡ−ｔｒＢ  、ｔｒＡ−ｔｒＣ  、ｔｒＡ−ｔｒＤ  、ｔｒＢ−ｔｒＣ  、ｔｒＢ−ｔｒＤ  、ｔｒＣ−ｔｒＤ  、ｔｒＦ−ｔｒＧ  、ｔｒＦ−ｔｒＨ  、ｔｒＧ−ｔｒＨ  ）  また、同様にして、第１のｌ−多様性のｌが「４」の場合、遷移ベクトル抽出部２３０は、以下に示す算出対象情報を生成する。
【０１８２】  （ｔｒＡ−ｔｒＢ  、ｔｒＡ−ｔｒＣ  、ｔｒＡ−ｔｒＤ  、ｔｒＢ−ｔｒＣ  、ｔｒＢ−ｔｒＤ  、ｔｒＣ−ｔｒＤ  ）  以上が、算出対象情報に含まれる算出対象を抽出する操作の説明である。
【０１８３】  尚、遷移ベクトル抽出部２３０は、上述の第一、二及び三の抽出操作を単独でも、任意に組み合わせてでも、実行してよい。
【０１８４】  ＝＝＝レコード抽出部２１０＝＝＝  レコード抽出部２１０は、生成した遷移ベクトルを遷移ベクトル抽出部２３０に出力する。そして、レコード抽出部２１０は、遷移ベクトル抽出部２３０からその抽出した結果を受け取る。
【０１８５】  例えば、レコード抽出部２１０は、図１７に示すステップＳ６０１に続けて、生成した遷移ベクトルを遷移ベクトル抽出部２３０に出力する。そして、レコード抽出部２１０は、遷移ベクトル抽出部２３０からその抽出した結果を受け取ると、ステップＳ６０２以後の動作を実行する。
【０１８６】  尚、レコード抽出部２１０は、図１７に示すステップＳ６０３に続けて、利用済みの遷移ベクトルを除いた遷移ベクトルを遷移ベクトル抽出部２３０に出力するようにしてもよい。この場合、レコード抽出部２１０は、遷移ベクトル抽出部２３０からその抽出した結果を受け取ると、再度ステップＳ６０２から以後の動作を実行するようにしてもよい。ここで、利用済みの遷移ベクトルは、ステップＳ６０３において抽出した前提レコードに対応する遷移ベクトルである。
【０１８７】  図２６は、レコード抽出部２１０が出力する、利用済みの遷移ベクトルを除いた遷移ベクトルの一例を示す図である。例えば、レコード抽出部２１０は、図１７のステップＳ６０３において、３個の遷移ベクトルｔｒＡ、遷移ベクトルｔｒＢ及び遷移ベクトルｔｒＣを利用したとする。この場合、レコード抽出部２１０は、３個の遷移ベクトルｔｒＡ、遷移ベクトルｔｒＢ及び遷移ベクトルｔｒＣを除いた、遷移ベクトルｔｒＤ、遷移ベクトルｔｒＥ、遷移ベクトルｔｒＧ及び遷移ベクトルｔｒＨを遷移ベクトル抽出部２３０に出力する。
【０１８８】  図２７は、遷移ベクトル抽出部２３０が、レコード抽出部２１０から受け取った遷移ベクトルについて、算出対象として抽出する遷移ベクトル間の組み合わせを示す図である。この場合、遷移ベクトル抽出部２３０は、以下に示す算出対象情報を生成する。
【０１８９】  （ｔｒＤ−ｔｒＥ  、ｔｒＤ−ｔｒＧ  、ｔｒＥ−ｔｒＧ  ）  上述した本実施形態における第１の効果は、第１の実施形態の効果に加えて、効率よく匿名化することが可能になる点である。
【０１９０】  その理由は、遷移ベクトル抽出部２３０が複数の遷移ベクトルについての類似度の算出対象を示す算出対象情報を生成し、レコード抽出部２１０がその算出対象情報に基づいて、類似度を算出するようにしたからである。即ち、必要のない類似度について、その算出処理を実行しないようにしたからである。
【０１９１】  また、レコード抽出部２１０が、利用済みの遷移ベクトルを除いた遷移ベクトルを遷移ベクトル抽出部２３０に出力し、算出対象情報を取得するようにしたので、更に匿名化を効率化することが可能になる。
【０１９２】  以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が１個のモジュールとして実現されてよい。また、各構成要素は、１つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
【０１９３】  以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【０１９４】  そのプログラムは、例えば、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【０１９５】  また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
【０１９６】  更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
【０１９７】  更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
【０１９８】  以上、各実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１９９】  この出願は、２０１２年９月２６日に出願された日本出願特願２０１２−２１２４５４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２００】  １００    匿名化装置  １０１    匿名化システム  １１０    レコード抽出部  １２０    匿名グループ生成部  ２１０    レコード抽出部  ２３０    遷移ベクトル抽出部  ５００    履歴情報記憶部  ５１０    データセット  ５２１    前提レコード分  ５２２    結論レコード分  ５３０    抽出レコード群  ５３１    抽出前提レコード群  ５３２    抽出結論レコード群  ５４０    共通部分レコード群  ５４１    共通部分前提レコード群  ５４２    共通部分結論レコード群  ５５０    結論ソートレコード群  ５５１    結論ソート前提レコード群  ５５２    結論ソート結論レコード群  ５６２    匿名グループ結論レコード群  ５７０    残レコード  ６００    匿名化情報記憶部  ６１１    前提匿名グループデータセット  ６１２    結論匿名グループデータセット  ７００    コンピュータ  ７０１    ＣＰＵ  ７０２    記憶部  ７０３    記憶装置  ７０４    入力部  ７０５    出力部  ７０６    通信部  ７０７    記録媒体  ５３２１    結論レコード
【図１】
2014049995.tif 000003
【図２】
2014049995.tif 000004
【図３】
2014049995.tif 000005
【図４】
2014049995.tif 000006
【図５】
2014049995.tif 000007
【図６】
2014049995.tif 000008
【図７】
2014049995.tif 000009
【図８】
2014049995.tif 000010
【図９】
2014049995.tif 000011
【図１０】
2014049995.tif 000012
【図１１】
2014049995.tif 000013
【図１２】
2014049995.tif 000014
【図１３】
2014049995.tif 000015
【図１４】
2014049995.tif 000016
【図１５】
2014049995.tif 000017
【図１６】
2014049995.tif 000018
【図１７】
2014049995.tif 000019
【図１８】
2014049995.tif 000020
【図１９】
2014049995.tif 000021
【図２０】
2014049995.tif 000022
【図２１】
2014049995.tif 000023
【図２２】
2014049995.tif 000024
【図２３】
2014049995.tif 000025
【図２４】
2014049995.tif 000026
【図２５】
2014049995.tif 000027
【図２６】
2014049995.tif 000028
【図２７】
2014049995.tif 000029
【図２８】
2014049995.tif 000030
【図２９】
2014049995.tif 000031
【手続補正書】
【提出日】平成27年3月18日(2015.3.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
固有識別子及び少なくとも１つの第１の属性を含む第１のレコードと、前記固有識別子と同一の固有識別子及び少なくとも１つの第２の属性を含む第２のレコードと、の組が複数件含まれるデータセットの中から、前記第２のレコードからなる第２のレコード群において第２のｌ−多様性を充足可能であること、前記第２のレコード群に含まれる第２のレコードと組を成す前記第１のレコードから成る前記第１のレコード群において第１のｌ−多様性を充足可能であること、及び前記第１のレコードと前記第２のレコードとの間に存在する対応関係の抽象度に基づいて、複数の前記第２のレコードを抽出する処理と、
前記抽出された前記第２のレコードからなる匿名グループデータセットを、前記匿名グループデータセットにおいて前記第２のｌ−多様性を充足可能であり、かつ前記匿名グループデータセットに含まれる第２のレコードと組を成す前記第１のレコードからなる第１のレコード群において前記第１のｌ−多様性を充足可能であるように、生成し、出力する処理と、をコンピュータに実行させるための
プログラム。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１３
【補正方法】変更
【補正の内容】
【請求項１３】
前記第２のレコードを抽出する処理において、
前記第１のレコードに含まれる前記第１の属性の属性値毎の、前記第２のレコードに含まれる第２の属性の各第２の属性値が、前記第１のレコードと前記組を成す前記第２のレコード出現する頻度を要素とする遷移ベクトルを生成し、
２つの前記遷移ベクトルそれぞれに対応する第２のレコードのそれぞれ同士で同一である、前記第２の属性の第２の属性値の数が、前記第２のｌ−多様性の種類数未満である前記遷移ベクトル間の類似度を最低値の０として、前記遷移ベクトル間の類似度を算出し、
前記類似度が相対的に大きい順の、前記第１のｌ−多様性の種類数の前記遷移ベクトルそれぞれに対応する前記第１の属性値を含む第１レコードと組を成す前記第２のレコードとを、前記抽象度が相対的に小さい前記第２のレコードとして抽出する、処理を前記コンピュータに実行させる
請求項１２記載のプログラム。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
複数の前記遷移ベクトルについての前記類似度の算出対象を示す算出対象情報を生成し、前記算出対象情報を出力する処理を、更に、前記コンピュータに実行させ、
前記第２のレコードの抽出において、前記生成した遷移ベクトルに対応する前記算出対象情報に基づいて、前記遷移ベクトル間の類似度を算出する、処理を前記コンピュータに実行させる
請求項１３記載のプログラム。
【国際調査報告】
2014049995.tif 000032
2014049995.tif 000033
2014049995.tif 000034
2014049995.tif 000035