(57)【特許請求の範囲】
【請求項１】
個人の情報に関する少なくとも１つの属性値が設定された属性に関する個人情報データが抽象化パターンに従って匿名化された各匿名化データについて、前記属性値と、前記属性値が前記匿名化において書き換えられた前記抽象化パターンとを対応付けた各組み合わせの出現数を計数する計数部と、
所望の匿名化データを検索する検索語を受け付けた場合に、前記検索語を前記属性値または前記属性として含む検索対象の抽象化パターンの出現数にしたがって、前記検索対象の抽象化パターンの表示を制御する表示制御部と
を有することを特徴とする匿名化データ提供装置。
【請求項２】
前記各匿名化データに含まれる各抽象化パターンと対応付けられる前記属性値の数および前記各抽象化パターンの包含関係に基づいて、前記各抽象化パターンの階層関係を特定する特定部と、
前記検索対象の抽象化パターンの出現数または前記階層関係を用いて、前記検索対象の抽象化パターンに対して前記匿名化の評価指標を算出する算出部と、をさらに有し、
前記表示制御部は、前記評価指標にしたがって、前記検索対象の抽象化パターンの表示を制御することを特徴とする請求項１に記載の匿名化データ提供装置。
【請求項３】
前記算出部は、前記匿名化の評価指標として、前記所望の匿名化データを検索するユーザが保持する前記匿名化データの区分数を、前記検索対象の抽象化パターンを含む前記匿名化データの区分数で除算した評価値を算出し、
前記表示制御部は、前記評価値が大きい前記検索対象の抽象化パターンを優先的に表示させることを特徴とする請求項２に記載の匿名化データ提供装置。
【請求項４】
前記特定部は、前記属性に対応付けられる前記各抽象化パターンを抽出し、前記各抽象化パターンの包含関係を用いて、前記属性を複数の階層関係に分類し、
前記算出部は、前記匿名化の評価指標として、前記検索対象の抽象化パターンの数を、前記検索対象の抽象化パターンの階層と対応付けられる前記属性が有する前記抽象化パターンの数で除算した評価値を算出し、
前記表示制御部は、前記評価値が大きい前記検索対象の抽象化パターンを優先的に表示させることを特徴とする請求項２に記載の匿名化データ提供装置。
【請求項５】
前記計数部は、前記所望の匿名化データを検索するユーザによって検索された前記抽象化パターンの出現数、または、検索された前記抽象化パターンのうち前記ユーザが選択した前記抽象化パターンの出現数を、所定値増加させることを特徴とする請求項１に記載の匿名化データ提供装置。
【請求項６】
コンピュータが、
個人の情報に関する少なくとも１つの属性値が設定された属性に関する個人情報データが抽象化パターンに従って匿名化された各匿名化データについて、前記属性値と、前記属性値が前記匿名化において書き換えられた前記抽象化パターンとを対応付けた各組み合わせの出現数を計数し、
所望の匿名化データを検索する検索語を受け付けた場合に、前記検索語を前記属性値または前記属性として含む検索対象の抽象化パターンの出現数にしたがって、前記検索対象の抽象化パターンの表示を制御する
処理を含むことを特徴とする匿名化データ提供方法。
【請求項７】
コンピュータに、
個人の情報に関する少なくとも１つの属性値が設定された属性に関する個人情報データが抽象化パターンに従って匿名化された各匿名化データについて、前記属性値と、前記属性値が前記匿名化において書き換えられた前記抽象化パターンとを対応付けた各組み合わせの出現数を計数し、
所望の匿名化データを検索する検索語を受け付けた場合に、前記検索語を前記属性値または前記属性として含む検索対象の抽象化パターンの出現数にしたがって、前記検索対象の抽象化パターンの表示を制御する
処理を実行させる含むことを特徴とする匿名化データ提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名化データ提供装置、匿名化データ提供方法および匿名化データ提供プログラムに関する。
【背景技術】
【０００２】
近年、情報漏洩の問題及び個人情報保護法の制定等により、個人情報の取り扱いが問題となっている。個人情報は、公的機関のみならず、種々の企業によって収集されている。例えば、商品又はサービスを購入する消費者（以下では、「個人」と呼ぶことがある）が商品又はサービスを購入する際に、会員登録することがある。この会員登録時には、通常、個人の氏名、年齢、性別、住所、及びメールアドレス等のデータが、個人に割り振られた個人ＩＤと対応づけられた状態で、企業のシステムに登録（記憶）される。すなわち、企業のシステムは、「個人情報データ」を記憶しておく。ここで、「個人情報データ」は、例えば、氏名、年齢、性別、住所、メールアドレス、及び個人ＩＤを含む。さらに、企業のシステムは、個人情報データが既に登録されている個人が商品又はサービスを購入する度に、その個人のＩＤに対応づけて、購入された商品又はサービスに関する情報を記憶する。これにより、企業は、収集した個人情報データを用いて、企業活動に利用することができる。
【０００３】
一方で、例えば、個人情報データを収集した第１の企業以外の第２の企業が、その個人情報データを利用することを望むことがある。すなわち、データ収集主体とデータ利用主体とが異なる可能性がある。しかしながら、個人情報保護の観点から、個人の許可を得ること無しに、個人情報データそのものを提供することはできない。そこで、個人情報データを、個人を特定できない状態のデータ（以下では、「匿名化データ」と呼ぶことがある）に変換し、匿名化データを利用することが考えられている。
【０００４】
また、今後改正が予定される個人情報保護法では、一定レベルの非識別化処理を行った個人情報を利用者の許可なる流通させることが可能となることから、匿名化データの流通が期待される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１５３９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、データ収集主体とデータ利用主体とが異なる場合、データ収集主体とデータ利用主体との間で、属性や属性値などの匿名化パターンが異なる場合がある。例えば、データ収集側は、年齢が６０才から９９才の各データを属性値「老人」として匿名化し、データ利用側は、６５才から８０の各データを属性値「老人」として匿名化する場合がる。この場合に、データ利用側は、属性値「老人」を有する匿名化データを購入すると、自身が想定した匿名化データと異なることになるので、匿名化データを用いた解析などが不正確になる。結果として、匿名化データの流通を阻害することになる。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、匿名化データの流通を向上させることができる匿名化データ提供装置、匿名化データ提供方法および匿名化データ提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する匿名化データ提供装置は、個人の情報に関する少なくとも１つの属性値が設定された属性に関する個人情報データが抽象化パターンに従って匿名化された各匿名化データについて、前記属性値と、前記属性値が前記匿名化において書き換えられた前記抽象化パターンとを対応付けた各組み合わせの出現数を計数する計数部を有する。匿名化データ提供装置は、所望の匿名化データを検索する検索語を受け付けた場合に、前記検索語を前記属性値または前記属性として含む検索対象の抽象化パターンの出現数にしたがって、前記検索対象の抽象化パターンの表示を制御する表示制御部を有する。
【発明の効果】
【０００９】
１実施形態によれば、匿名化データの流通を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係るシステムの全体構成例を示す図である。
【図２】図２は、匿名化流通装置の機能構成を示す機能ブロック図である。
【図３】図３は、匿名化データの例を示す図である。
【図４】図４は、属性蓄積ＤＢに記憶される書き換え結果の例を示す図である。
【図５】図５は、属性集計ＤＢに記憶される書き換え結果の集計例を示す図である。
【図６】図６は、値一般化階層の例を示す図である。
【図７】図７は、属性一般化階層の例を示す図である。
【図８】図８は、値一般化階層の生成例を説明する図である。
【図９】図９は、レベル値の設定例を示す図である。
【図１０】図１０は、評価指標の算出例を説明する図である。
【図１１】図１１は、ＤＩＳの算出例を説明する図である。
【図１２】図１２は、検索結果の例を説明する図である。
【図１３】図１３は、検索結果の例を説明する図である。
【図１４】図１４は、スコア評価の生成処理の流れを示すフローチャートである。
【図１５】図１５は、スコア評価のデータ遷移を説明する図である。
【図１６】図１６は、検索処理の流れを示すフローチャートである。
【図１７】図１７は、ハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する匿名化データ提供装置、匿名化データ提供方法および匿名化データ提供プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
［全体構成］
図１は、実施例１に係るシステムの全体構成例を示す図である。このシステムは、匿名化流通装置１０を有し、企業等によって提供される個人情報データを匿名化して、社会に流通させるシステムである。なお、匿名化流通装置１０は、匿名化データ提供装置の一例である。
【００１３】
具体的には、匿名化流通装置１０は、匿名化処理、統計処理、検索処理などを実行して、匿名化データを流通させる。例えば、匿名化処理において、匿名化流通装置１０は、各種サービスを利用する際に登録された個人の氏名、年齢、性別、住所、及びメールアドレス等のデータなどを含む個人情報データを、企業や個人ユーザなどから受け付ける。そして、匿名化流通装置１０は、所定のアプリケーションを用いて個人情報データを匿名化する。このとき、匿名化流通装置１０は、ユーザ指定等によって、属性の書き換えパターンを決定する。
【００１４】
また、統計処理において、匿名化流通装置１０は、匿名化処理において属性値が書き換えられた結果の統計情報を収集し、統計情報によって属性の再定義を実行して、各属性のメタ属性を生成する。例えば、匿名化流通装置１０は、属性値「２１才」が「２０代」に書き換えられたなどの情報を集計する。ここで、匿名化流通装置１０は、匿名化処理において利用される、いわゆる値一般化階層や属性一般化階層などを生成する。
【００１５】
そして、検索処理において、匿名化流通装置１０は、匿名化済みである匿名化データを検索する検索者が入力した検索語をメタ属性の概念に展開し、匿名化データの検索用インデックスから該当する匿名化済みデータを検索して、検索者に応答する。
【００１６】
ここで、匿名化流通装置１０は、Ａ社のデータ処理者１ａ、Ｂ社のデータ処理者２、Ｃ社のデータ処理者３の各々が匿名化した匿名化データを保持する。すなわち、匿名化流通装置１０は、各社が独自に決定した抽象化パターンで匿名化された匿名化済みデータを保持する。例えば、匿名化流通装置１０は、属性値「２１」を抽象化パターン「２０代」として匿名化された匿名化データや属性値「２１」を抽象化パターン「２０−２２才」として匿名化された匿名化済みデータをも保持する。つまり、匿名化流通装置１０は、匿名化前が同じ属性でもあるにも関わらず、抽象化パターンが異なる複数の匿名化データを保持する。
【００１７】
このような状態において、Ａ社のデータ検索者１ｂが検索語として属性値「２０代」を入力した場合、匿名化流通装置１０は、抽象化パターン「２０代」に該当する匿名化データを検索する。具体的には、匿名化流通装置１０は、属性値が書き換えられた抽象化パターン「２０代」を検索し、データ検索者１ｂは、属性値が書き換えられる前の「２０代」で検索しているので、両者の間にズレが生じする。このズレが発生することから、検索結果として得られた匿名化データが、データ検索者１ｂが所望する、属性値の書き換え前の「２０代」に該当するデータではないことも考えられる。
【００１８】
そこで、匿名化流通装置１０は、個人の情報に関する少なくとも１つの属性値が設定された属性に関する個人情報データが抽象化パターンに従って匿名化された各匿名化データについて、属性値と、属性値が匿名化において書き換えられた抽象化パターンとを対応付けた各組み合わせの出現数を計数する。そして、匿名化流通装置１０は、所望の匿名化データを検索する検索語を受け付けた場合に、検索語を属性値または属性として含む検索対象の抽象化パターンの出現数にしたがって、検索対象の抽象化パターンの表示を制御する。この結果、匿名化流通装置１０は、元の個人情報を判別できない匿名化データの中から、検索者が検索する検索語を含み検索者が所望する可能性の高いデータを選別して検索者に提供するので、匿名化データの流通を向上させることができる
【００１９】
［機能構成］
図２は、匿名化流通装置の機能構成を示す機能ブロック図である。図２に示すように、匿名化流通装置１０は、匿名化情報ＤＢ１１、属性蓄積ＤＢ１２、属性集計ＤＢ１３、スコアＤＢ１４、匿名化処理部１５、属性取得部１６、スコア生成部１７、検索部１８を有する。
【００２０】
なお、匿名化情報ＤＢ１１、属性蓄積ＤＢ１２、属性集計ＤＢ１３、スコアＤＢ１４は、例えばメモリやハードディスクなどの記憶装置に記憶される。また、ここで挙げたＤＢは、一例であり、履歴を記憶するＤＢや計算過程を記憶するＤＢなどを有していてもよい。また、匿名化処理部１５、属性取得部１６、スコア生成部１７、検索部１８は、プロセッサなどの電子回路の一例またはプロセッサなどが実行するプロセスの一例である。
【００２１】
匿名化情報ＤＢ１１は、匿名化データを記憶するデータベースである。具体的には、匿名化情報ＤＢ１１は、ユーザすなわち個人情報を提供する企業や該企業の技術者ごとに、各ユーザが生成した数世代分の匿名化データを対応付けて記憶する。例えば、匿名化情報ＤＢ１１は、１ユーザについて、２世代すなわち前回の匿名化データと今回生成された匿名化データを記憶する。
【００２２】
図３は、匿名化データの例を示す図である。匿名化情報ＤＢ１１は、図３に示す匿名化データを記憶する。図３に示すように、匿名化データは、複数の抽象化パターンと、各抽象化パターンに対応する「存在数」とが対応づけられている。「存在数」の値は、対応づけられた抽象化パターンに対応する匿名化データ群にいくつ含まれているかを示しており、いわゆる出現数である。なお、「匿名化データ群」は、項目値についての複数の「抽象化パターン」に基づいて個人情報データを抽象化して得られた複数の匿名化データを含んでいる。
【００２３】
また、図３に示す「ｋ−匿名性判定テーブル」において「ｋ−匿名性」の項目値である「○」は、「存在数」の項目値が１０以上であることを示しており、項目値「△」は、「存在数」の項目値が１０未満であることを示している。ここでは、「ｋ−匿名性のクリア基準値」が「１０」に設定されている。
【００２４】
例えば、図３に示すように、抽象化パターン「２０代」の存在数の値、つまり、ｋ値は、「３０」であり、抽象化パターン「２０代、男性」のｋ値は、「２１」であり、抽象化パターン「２０代、女性」のｋ値は、「９」である。
【００２５】
つまり、個人情報データの識別情報をＡとした場合、１７才に該当するデータの数が５０人、１８才に該当するデータの数が１８人、１６才に該当するデータの数が１６人、１５才以下に該当するデータの数が１０人となる。このように、抽象化パターンは、複数の属性で定義され、その属性に該当するデータの数が存在数となる。
【００２６】
属性蓄積ＤＢ１２は、各匿名化データについて、属性値が匿名化処理において書き換えられた結果を記憶するデータベースである。具体的には、属性蓄積ＤＢ１２は、匿名化前の属性値と匿名化後の属性値との対応関係を記憶する。
【００２７】
図４は、属性蓄積ＤＢ１２に記憶される書き換え結果の例を示す図である。図４に示すように、属性蓄積ＤＢ１２は、「属性、属性値、書き換え結果、日時」を対応付けて記憶する。ここで記憶される「属性」は、匿名化対象に指定される属性を示す。「属性値」は、属性に設定される、書き換え前の値である。「書き換え結果」は、属性値が匿名化に際して書き換えられた語（属性値）を示す。「日時」は、書き換えが行われた日時、すなわち匿名化が実行された日時である。
【００２８】
図４の一例を説明すると、属性「年齢」に設定される属性値「２１才」が、日時「１２月１日」に「２０代」に書き換えられて、匿名化されたことを示す。同様に、属性「年齢」に設定される属性値「５３才」が、日時「１２月１日」に「５０代」に書き換えられて、匿名化されたことを示す。
【００２９】
属性集計ＤＢ１３は、各匿名化データについて、属性値が匿名化処理において書き換えられた結果の集計を記憶するデータベースである。具体的には、属性集計ＤＢ１３は、属性、書き換え前の属性値、書き換え後の属性値の組み合わせの出現数を記憶する。
【００３０】
図５は、属性集計ＤＢ１３に記憶される書き換え結果の集計例を示す図である。図５に示すように、属性集計ＤＢ１３は、「属性、属性値、書き換え結果、出現数」を対応付けて記憶する。ここで記憶される「属性」は、匿名化対象に指定される属性を示す。「属性値」は、属性に設定される、書き換え前の値である。「書き換え結果」は、属性値が匿名化に際して書き換えられた語を示す。「出現数」は、属性、属性値、書き換え結果の組み合わせが匿名化情報ＤＢ１１に記憶される匿名化データにおいて出現した出現数の累計である。
【００３１】
図５の一例を説明すると、属性「年齢」、属性値「２１才」、書き換え結果「２０代」の組み合わせが「２０」件出現したこと、言い換えると匿名化データの提供社のうち２０社が属性値「２１才」を「２０代」に抽象化したことを示す。属性「年齢」、属性値「２１才」、書き換え結果「２０−２２才」の組み合わせが「１」件出現したこと、匿名化データの提供社のうち１社が属性値「２１才」を「２０−２２才」に抽象化したことを示す。
【００３２】
スコアＤＢ１４は、匿名化データを評価する際に使用される情報を記憶するデータベースである。具体的には、スコアＤＢ１４は、ある属性値を別の値に書き換える際の候補群を特定する値一般化階層と、属性全体を抽象化する際の元情報からの距離を特定する属性一般化階層とを記憶する。
【００３３】
図６は、値一般化階層の例を示す図である。図６に示すように、値一般化階層は、「属性、書き換え結果、レベル、順位、出現数」を対応付けて管理する。ここで記憶される「属性」は、匿名化対象に指定される属性を示す。「書き換え結果」は、属性値が匿名化に際して書き換えられた語を示す。
【００３４】
「レベル」は、書き換え前の属性値と書き換え結果（抽象化パターン）、および、抽象化パターンの等に基づいて特定される、抽象化パターンの階層を示す情報である。具体的には、書き換え前の属性値「８才、９才」などをレベル１、書き換え後の属性値（抽象化パターン）「１０代、２０代」をレベル２、書き換え後の属性値を包含する別の抽象化パターン「未成年、成年」などをレベル３などと設定する。
【００３５】
「順位」は、同じレベルにある複数の書き換え結果の優先順位であり、出現数が多い方が高い順位が設定される。「出現数」は、書き換え結果が匿名化データにおいて出現した累計数である。図６の一例を説明すると、属性「年齢」かつ書き換え結果「８才」のデータが、レベル「１」に属し、優先順位が「１位」であり、出現数が「２５」回であることを示す。
【００３６】
図７は、属性一般化階層の例を示す図である。図７に示すように、属性一般化階層は、「属性、レベル、属性値」を対応付けて管理する。ここで記憶される「属性」は、匿名化対象に指定される属性を示す。「レベル」は、属性値の包含関係から属性を分類させた階層を示す。「属性値」は、同じ属性に属する属性値のうち、包含関係等から分類された属性値である。
【００３７】
図７の例は、属性「年齢」が３階層に分類された例である。レベル１（階層１）には、属性値「８才、９才、１０才・・・９９才」が分類され、レベル２（階層２）には、「０代、１０代、２０代・・・」が分類され、レベル３（階層３）には、「未成年、成人、１８才以下・・・」が分類されることを示す。
【００３８】
匿名化処理部１５は、所定のアプリケーションを利用して、個人情報データを匿名化データに変換する処理部である。具体的には、匿名化処理部１５は、データ処理者などの技術者から受け付けた個人情報データに対して、技術者によって指定されたアプリケーションを用いて、技術者が指定した抽象化パターンで匿名化し、匿名化後の匿名化データを匿名化情報ＤＢ１１に格納する。なお、技術者は、辞書ＤＢなどを参照して、抽象化パターンに含まれる属性などを指定することができる。
【００３９】
属性取得部１６は、匿名化に際して、技術者が指定した抽象化パターンに関する情報を収集する処理部である。具体的には、属性取得部１６は、各企業の各技術者が属性値をどのように抽象化したかを示す情報を、各技術者等から取得して属性蓄積ＤＢ１２に格納する。例えば、属性取得部１６は、属性「年齢」、属性値「２１才」、書き換え結果「２０代」、日付「１２／１」などを取得して、属性蓄積ＤＢ１２に格納する。
【００４０】
スコア生成部１７は、第１階層生成部１７ａおよび第２階層生成部１７ｂを有し、これらによって、値一般化階層および属性一般化階層を生成する処理部である。
【００４１】
第１階層生成部１７ａは、各匿名化データに含まれる各抽象化パターンと対応付けられる属性値の数および各抽象化パターンの包含関係に基づいて、各抽象化パターンの階層関係を特定して、値一般化階層を生成する。
【００４２】
図８は、値一般化階層の生成例を説明する図である。ここでは、一例として、「年齢、地域」の属性値として「２１才、東京」、「５３才、青森」、「４５才、鹿児島」、「２４才、神奈川」、「１７才、長野」などのデータが属性「年齢」および属性「地域」で匿名化されることで、匿名化データ「年齢、人数」として「１０代、３０」、「２０代、２１」、「３０代、１７」、「４０代、１９」、「５０代、１６」が生成された例で説明すう。同様に、匿名化データ「地域、人数」として「東北、１２」、「関東、２５」、「東海、２１」、「関西、２９」、「中国、１６」が生成された例で説明する。
【００４３】
また、このような匿名化に際して、属性蓄積ＤＢ１２には、「属性、属性値、書き換え結果、日時」として「年齢、２１才、２０代、１２／１」、「地域、東京、関東、１２／１」などが蓄積されたとする。
【００４４】
この場合、第１階層生成部１７ａは、属性蓄積ＤＢ１２を参照して、「属性、属性値、書き換え結果」の組み合わせの出現数を計数する。具体的には、第１階層生成部１７ａは、「属性、属性値、書き換え結果」として「年齢、２１才、２０代」が２つ検出された場合は、「年齢、２１才、２０代」の出現数を２とする。このようにして、第１階層生成部１７ａは、「属性、属性値、書き換え結果、出現数」として「年齢、２１才、２０代、２０」や「年齢、２１才、１８才以上、２」などを生成して、属性集計ＤＢ１３に格納する。
【００４５】
続いて、第１階層生成部１７ａは、「属性値＋書き換え結果」ごとの各出現数から、上位概念と下位概念を生成する。具体的には、第１階層生成部１７ａは、属性値＝下位概念、書き換え結果＝上位概念として、上位と下位の位置づけを集計する。例えば、第１階層生成部１７ａは、書き換え結果「２０代」の下位概念として複数の属性が存在する場合、下位概念に設定されるレベルに１加算した値を、書き換え結果「２０代」のレベルに設定する。
【００４６】
このようにして、第１階層生成部１７ａは、書き換え結果の出現数によって値一般化階層を生成するが、同一の内容が重複するなど、階層が固定できない場合は、出現数の多い方を優先する。また、第１階層生成部１７ａは、レベル内においても出現数が多い方を優先する。この結果、第１階層生成部１７ａは、「属性、書き換え結果、レベル、順位、出現数」から構成される値一般化階層を生成して、スコアＤＢ１４に格納する。
【００４７】
ここで、階層関係を示すレベルの設定を具体的に説明する。図９は、レベル値の設定例を示す図である。図９に示す各レベルに対応付けられる値は、各レベルにおける書き換え後の属性値である。レベル１は、書き換え結果が１つの属性が該当する。例えば、書き換え前の属性「１８才」を「１８才」のまま匿名化されたデータや書き換え前の属性「１９才」を「１９才」のまま匿名化されたデータが該当する。
【００４８】
次に、レベル２は、レベル１に該当する書き換え前の属性値が抽象化されて匿名化されたデータが該当する。例えば、書き換え前の属性「２１」を「２０代」に書き換えて匿名化されたデータや書き換え前の属性「２１」を「２０−２２才」に書き換えて匿名化されたデータが該当する。これらのデータには、書き換え前の属性値がレベル１に該当することから、レベル１から１つ加算されたレベル２が設定される。
【００４９】
次に、レベル３は、レベル２に該当する書き換え前の属性値が抽象化されて匿名化されたデータが該当する。例えば、書き換え前の属性「２０代」を「青年」に書き換えて匿名化されたデータや書き換え前の属性「２０代」を「２０才以上」に書き換えて匿名化されたデータが該当する。これらのデータには、書き換え前の属性値がレベル２に該当することから、レベル２から１つ加算されたレベル３が設定される。
【００５０】
ここで、各レベルにおける書き換え後の属性値の上下関係は、出現数の多いほど上に設定される。つまり、属性値「２１才」を「２０−２２才」に書き換えた匿名化データよりも属性値「２１才」を「２０代」に書き換えた匿名化データの方が出現数が多いことを示し、書き換え後の属性値「２０代」の方が優先度が高い。このように、各レベルは、書き換え後の属性値、すなわち抽象化パターンの包含関係および出現数等によって決定され、値一般化階層は、書き換え後の属性値（抽象化パターン）に着目した階層構造である。
【００５１】
図２に戻り、第２階層生成部１７ｂは、属性に対応付けられる各抽象化パターンを抽出し、各抽象化パターンの包含関係を用いて属性を複数の階層関係に分類して、属性一般化階層を生成する処理部である。具体的には、第２階層生成部１７ｂは、レベル分けされた書き換え後の属性値「抽象化パターン」でグルーピングして、匿名化データの対象である属性を分類する。そして、第２階層生成部１７ｂは、分類結果を属性一般化階層としてスコアＤＢ１４に格納する。
【００５２】
例えば、第１階層生成部１７ａによって、属性「年齢」に対する匿名化データにおいて、図９に示すような書き換え後の属性値（抽象化パターン）の階層関係が特定されたとする。この場合、第２階層生成部１７ｂは、レベル１に属する各属性値をグルーピングし、レベル２に属する各属性値をグルーピングし、レベル３に属する各属性値をグルーピングする。
【００５３】
そして、第２階層生成部１７ｂは、「属性（年齢）、レベル１、レベル１に属する各属性値」、「属性（年齢）、レベル２、レベル２に属する各属性値」、「属性（年齢）、レベル３、レベル３に属する各属性値」を対応付ける。すなわち、第２階層生成部１７ｂは、属性（年齢）をレベルで分類する。そして、第２階層生成部１７ｂは、この対応付けを属性一般化階層としてスコアＤＢ１４に格納する。このように、属性一般化階層は、匿名化データの対象となっている属性に着目した階層構造である。
【００５４】
検索部１８は、評価部１８ａおよび表示制御部１８ｂを有し、これらによって、データ利用者が入力した検索語によって、該当する匿名化データを検索してデータ利用者に提供する処理部である。
【００５５】
評価部１８ａは、データ利用者から検索語を受け付けて、匿名化データの評価指標を生成する処理部である。具体的には、評価部１８ａは、区分数の変化を計測するＮＣＰ（Normalized  Certainty  Penalty）や属性一般化階層と値一般化階層の変化割合の合計であるＤＩＳなどの評価指標を生成することによって、検索語を属性または抽象化パターンとして含む匿名化データに対して、データ利用者の所望する匿名化データと似ているか否かの指標を算出する。
【００５６】
なお、ＮＣＰは、レベルがどれだけ違うかの指標なので、全く同じ場合は「１００％」、全く異なる場合は「０％」となる。一方、ＤＩＳは、選択肢のバリエーションが似ているか否かを示す指標なので、全く同じ場合は「０％」、全く異なる場合は「１００％」となる。
【００５７】
図１０を例にして評価指標の生成例を説明する。図１０は、評価指標の算出例を説明する図である。ここでは、情報Ａが、データ利用者が所持する匿名化データであり、情報Ｂが、検索語によって検索された匿名化データであり、メタ属性が、属性一般化階層とする。なお、メタ属性の区分数とは、属性値の数である。
【００５８】
例えば、評価部１８ａは、式（１）を用いて、データ利用者が保持する匿名化データと検索された匿名化データとの間の区分数の変化度を算出する。この例では、評価部１８ａは、「ＮＣＰ＝（検索された匿名化データの区分数／データ利用者が保持する匿名化データの区分数）」として「ＮＣＰ＝５／６＝０．８３」を算出する。したがって、評価部１８ａは、ＮＣＰ値を８３％と算出する。
【００５９】
【数１】
0006270756.tif 000002
【００６０】
別例としては、評価部１８ａは、式（２）を用いて、データ利用者が保持する匿名化データと属性一般化階層（メタ属性）との間の区分数の変化度を算出する。この例では、情報Ａがレベル２とレベル３を包含するので、メタ属性においてもレベル２およびレベル３が対象となる。具体的には、評価部１８ａは、「ＮＣＰ＝（データ利用者が保持する匿名化データの区分数／（メタ属性のレベル２の区分数＋メタ属性のレベル３の区分数））」として「ＮＣＰ＝（６／（７＋６））＝０．４６」を算出する。したがって、評価部１８ａは、ＮＣＰ値を４６％と算出する。
【００６１】
【数２】
0006270756.tif 000003
【００６２】
なお、ここでは、データ利用者が匿名化データを保持している例で説明したが、これに限定されるものではなく、データ利用者が匿名化データを保持していない場合でもＮＣＰ値を算出することができる。
【００６３】
具体的には、評価部１８ａは、式（２）を用いて、検索された匿名化データと属性一般化階層（メタ属性）との間の区分数の変化度を算出する。この例では、検索された匿名化データを示す情報Ｂがレベル１とレベル３を包含するので、メタ属性においてもレベル１およびレベル３が対象となる。具体的には、評価部１８ａは、「ＮＣＰ＝（検索された匿名化データの区分数／（メタ属性のレベル１の区分数＋メタ属性のレベル３の区分数）」として「ＮＣＰ＝（５／（８９＋６））＝０．０５」を算出する。したがって、評価部１８ａは、ＮＣＰ値を５％と算出する。
【００６４】
また、評価部１８ａは、式（３）を用いて、属性一般化階層と値一般化階層の変化割合の合計であるＤＩＳを算出する。式（３）における「ａ」は、掛け合わせる属性の合計であり、１属性の場合無視してよい。「ｂ」は、一つの属性の中に含まれる属性値のゆがみの合計であり、「ｃ」は、「匿名化処理前の値一般化属性における高さ−匿名化処理後の値一般化階層における高さ」であり、「ｄ」は、属性一般化階層の高さである。「ｅ」は、属性数×属性値数である。
【００６５】
【数３】
0006270756.tif 000004
【００６６】
図１１は、ＤＩＳの算出例を説明する図である。情報Ａが、データ利用者が所持する匿名化データであり、図１１に示す値一般化階層（ＶＧＨ）と属性一般化階層（ＤＶＨ）が生成されたと仮定して、情報ＡのＤＩＳ算出例を説明する。
【００６７】
図１１に示すように、評価部１８ａは、算出対象が属性（年齢）の１属性について、区分数が「６、７、８９」であることから、分母について「１（属性）×６×７×８９」を算出する。また、評価部１８ａは、分子について、「（未成年−最も詳細な情報（１））／情報Ａにおける未成年のレベル」、「（２０代−最も詳細な情報（１））／情報Ａにおける２０代のレベル」、「（３０代−最も詳細な情報（１））／情報Ａにおける３０代のレベル」、「（４０代−最も詳細な情報（１））／情報Ａにおける４０代のレベル」、「（５０代−最も詳細な情報（１））／情報Ａにおける５０代のレベル」、「（６０代−最も詳細な情報（１））／情報Ａにおける６０代のレベル」を算出する。具体的には、評価部１８ａは、上述した分母および分子を用いて図１１に示す計算を行うことで、ＤＩＳ＝０．００１０２を算出する。
【００６８】
表示制御部１８ｂは、評価部１８ａから評価指標および検索された匿名化データを取得して、評価指標にしたがって並び替えた検索結果をデータ利用者に提供する処理部である。また、表示制御部１８ｂは、検索結果画面でユーザによる並び替え指示を受け付けると、検索結果を並び替えた画面をデータ利用者に提供する。
【００６９】
図１２は、検索結果の例を説明する図である。表示制御部１８ｂは、評価部１８ａから取得した情報を用いて検索結果画面２０を生成して提供する。この図１２は、データ利用者が匿名化データを保持していない場合の例であり、この場合、表示制御部１８ｂは、検索された匿名化データのうち、ｋ−匿名性が閾値を満たした匿名化データを表示する。
【００７０】
図１２に示すように、検索結果画面２０は、検索欄２０ａ、検索結果２０ｂ、購入ボタン２０ｃ、絞り込み検索ボタン２０ｄ、並び替えボタン２０ｅを有する。検索欄２０ａは、データ利用者が検索語を入力する欄である。検索結果２０ｂは、検索された匿名化データの情報であり、ＤＩＳ、ＮＣＰ、出現数などによって並び替えられる。この検索結果には、匿名化データを公開する企業名である「公開企業」、匿名化データの属性を示す「属性」、属性に含まれる「属性値」、データ利用者が匿名化データを選択する「選択ボタン」、「ＤＩＳスコア」、「ＮＣＰスコア」、「出現数」、「匿名化データのｋ−匿名性」、匿名化データに含まれる「ユーザ数」などが表示される。なお、ここでのＤＩＳスコア、ＮＣＰスコアは、検索結果の匿名化データの値一般化階層と属性一般化階層とを用いた評価値である。
【００７１】
購入ボタン２０ｃは、検索結果で選択された匿名化データの購入処理に遷移するボタンである。絞り込み検索ボタン２０ｄは、検索された匿名化データを絞り込む処理に遷移するボタンである。並び替えボタン２０ｅは、ＤＩＳスコア、ＮＩＳスコア、出現数のそれぞれに対して設けられており、値を昇順もしくは降順に並び替えるボタンである。
【００７２】
このように、表示制御部１８ｂは、ｌ−匿名レベルの基準を超えた情報の中から、ＤＩＳ、ＮＣＰ等の情報スコアを表示し、情報の相違レベルを表示することができる。それによって、データ利用者は、情報の近いまたは遠いを判断することができる。また、ソート基準値などを作成できるため、データ利用者は、自分の必要性に近い情報を選択し、それに近いものに絞りこむ機能などを追加できる。
【００７３】
図１３は、検索結果の例を説明する図である。この図１３は、データ利用者が匿名化データを保持している場合の例であり、この場合、表示制御部１８ｂは、データ利用者が保持する匿名化データを基準点としてと、ｋ−匿名性が閾値を満たすとともに情報量が似ている匿名化データを表示する。
【００７４】
図１３示す検索画面２１が図１２と異なる点は、自分（データ利用者）が保持する匿名化データの情報２１ｂを有する点である。情報２１ｂは、「公開企業」、「属性」、「属性値」、「ＤＩＳスコア」、「ＮＣＰスコア」、「出現数」、「ｋ−匿名性」、「ユーザ数」を含む。匿名化データの情報２１ｂのＤＩＳやＮＣＰなどの評価指標は、同一匿名化データ同士の比較になるので、ＤＩＳスコア＝０％、ＮＣＰスコア＝１００％となる。
【００７５】
［スコア評価生成の流れ］
図１４は、スコア評価の生成処理の流れを示すフローチャートである。図１４に示すように、第１階層生成部１７ａは、属性値を取得し（Ｓ１０１）、属性蓄積ＤＢ１２から属性値および書き換え後の組み合わせのレコードを生成する（Ｓ１０２）。
【００７６】
続いて、第１階層生成部１７ａは、今回の集計期間に同じ語（属性値および書き換え後の組み合わせ）の結果が存在するかを判定し（Ｓ１０３）、結果が存在しない場合（Ｓ１０４：Ｎｏ）、当該組み合わせの書き換え後の語にレベル１を設定する（Ｓ１０５）。その後、第１階層生成部１７ａは、当該組み合わせについて、属性集計ＤＢ１３に出現数分を追加する（Ｓ１０６）。
【００７７】
一方、第１階層生成部１７ａは、結果が存在する場合（Ｓ１０４：Ｙｅｓ）、当該組み合わせ内の書き換え後の語に、同じ語にすでに設定されるレベルを設定して（Ｓ１０７）、Ｓ１０６を実行する。
【００７８】
その後、第１階層生成部１７ａは、書き換え後の語（属性値、抽象化パターン）を取得し（Ｓ１０８）、今回の集計期間に書き換え後の語の下位概念を取得し（Ｓ１０９）、下位概念が２個以上あるか判定する（Ｓ１１０）。
【００７９】
そして、第１階層生成部１７ａは、下位概念が１個の場合（Ｓ１１０：Ｎｏ）、書き換え後の語は同じレベルに設定する（Ｓ１１１）。そして、第１階層生成部１７ａは、属性集計ＤＢ１３に、書き換え後の語の出現数を追加する（Ｓ１１２）。
【００８０】
また、第１階層生成部１７ａは、下位概念が２個以上ある場合（Ｓ１１０：Ｙｅｓ）、書き換え後の語に、下位概念のレベルの最大値に＋１したレベルを設定して（Ｓ１１３）、Ｓ１１２を実行する。
【００８１】
その後、第１階層生成部１７ａは、次の属性値がある場合（Ｓ１１４：Ｙｅｓ）、次の属性値を取得して（Ｓ１１５）、Ｓ１０２以降を繰り返す。
【００８２】
一方、第１階層生成部１７ａは、次の属性値がない場合（Ｓ１１４：Ｎｏ）、レベルの平均値および出現数の合計を取得して、値一般化階層に登録する（Ｓ１１６）。第１階層生成部１７ａは、出現数で特定した順位を値一般化階層に登録する（Ｓ１１７）。
【００８３】
ここで、レベル設定の具体例を説明する。図１５は、スコア評価のデータ遷移を説明する図である。図１５に示すように、第１階層生成部１７ａは、属性「年齢」について属性集計ＤＢ１３から書き換え結果「２０代」を選択し、スコア中間データとして書き換え結果「２０代」に、仮として「レベル１」を設定する。
【００８４】
その後、第１階層生成部１７ａは、他の書き換え結果と下位概念との情報から、匿名化処理において、対象である書き換え結果「２０代」に書き換えた他の属性値が存在することを検出するとともに、当該他の属性値の下位概念レベルが１であることを特定する。その結果、第１階層生成部１７ａは、対象である書き換え結果「２０代」のレベル値を「下位概念のレベル（レベル１）＋１＝２」とする。このようにして、第１階層生成部１７ａは、書き換え結果「属性値」に対して、階層を特定するレベルを設定する。
【００８５】
［検索処理の流れ］
図１６は、検索処理の流れを示すフローチャートである。図１６に示すように、評価部１８ａは、検索語を取得すると（Ｓ２０１）、匿名化条件（ｋ＞１等）を満たす情報群から検索語を含む群を取得する（Ｓ２０２）。
【００８６】
続いて、評価部１８ａは、比較すべき情報がない場合（Ｓ２０３：Ｎｏ）、該当レベルのメタ属性を属性一般化階層から取得する（Ｓ２０４）。一方、評価部１８ａは、比較すべき情報がある場合（Ｓ２０３：Ｙｅｓ）、比較する対象の情報（自分の匿名化データ）を取得する（Ｓ２０５）。
【００８７】
その後、評価部１８ａは、各情報に対して、値一般化属性からレベルやスコアを取得し（Ｓ２０６）、匿名化済情報（匿名化データ）の変更レベルとしてＤＩＳやＮＣＰ等を計算する（Ｓ２０７）。そして、表示制御部１８ｂは、ＤＩＳ、ＮＣＰ、出現数等によって表示の順番を決定し（Ｓ２０８）、決定した順番で検索結果をディスプレイやユーザ端末等に表示する（Ｓ２０９）。
【００８８】
［効果］
上述したように、匿名化流通装置１０は、匿名化処理を行う際に作成される値一般化階層の作成ロジックと、同じ形で情報の検索用の階層ロジックを作成し、両者を同一フォーマットで記述できるようにすることで、匿名化処理と情報検索の両方に利用することができる。また、匿名化流通装置１０は、匿名化情報を作成する際に生成された書き換え結果を蓄積することで、情報検索に利用し、情報検索で利用された結果情報を匿名化情報の生成にも利用できる。
【００８９】
また、匿名化流通装置１０は、非常に少ない情報の入力に対して、その属性情報の持つ概念を含むまたは含まないを交えて検索し、利用可能な検索結果として提供するため、結果表示が多く、かつ詳細なものを提示することが可能となる。また、匿名化流通装置１０は、情報の利用者の保持する情報の属性を登録しておくことによって、事前に利用可能または不可能な情報の判断を行うことができ、結果出力の精度が高まる。
【００９０】
また、匿名化流通装置１０は、属性の優先度登録などの機能要素を加えるなども構造的に容易であるため、簡単な操作で、匿名化済み情報の収集が可能となる。また、多くのデータとの接続性が高いということは、比較的安全性が高く、有益な概念に包含されることと同意義となるため、無駄な属性値の設定や、安全性を大きく損なう結果を排除することにつながる。
【００９１】
また、属性の持つ意味が同一であったとしても、その概念を知らなければ検索することはできないが、匿名化流通装置１０は、概念の持つ情報自体を比較するため、語を知らなくても結果表示が可能となる。また、匿名化流通装置１０は、データ作成時の匿名化エンジンに対して、接続性を評価基準とした指標を提供することが可能であり、匿名化処理に有益な属性をなるべく利用することが可能となる。結果的に匿名化情報の加工精度が高まる。例えば、匿名化を行っても利用されない情報をなるべく排除し、流通を促進する効果も期待できる。
【実施例２】
【００９２】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００９３】
［評価指標］
上記実施例では、ＤＩＳやＮＣＰの値によって表示制御を実行する例を説明したが、これに限定されるものではない。匿名化流通装置１０は、ＤＩＳやＮＣＰの値を用いず、出現数のみを用いて表示制御を実行することもできる。例えば、匿名化流通装置１０は、ｋ−匿名化を満たす検索結果のうち、出現数が多いものを優先して表示することもできる。また、ＤＩＳやＮＣＰ以外にも、自分の匿名化データと検索された匿名化データとのハミング距離なども用いることができる。
【００９４】
［フィードバック］
匿名化流通装置１０は、検索結果をフィードバックさせることもできる。具体的には、匿名化流通装置１０は、所望の匿名化データを検索するユーザによって検索された抽象化パターンの出現数、または、検索された抽象化パターンのうちユーザが選択した抽象化パターンの出現数を、所定値増加させることができる。
【００９５】
例えば、匿名化流通装置１０は、Ｃ社が提供する匿名化データが実際に購入された場合、Ｃ社の匿名化データに含まれる属性値（書き換え後の語）の出現数を所定値（例えば１０）増加させることができる。なお、増加条件は、任意に設定することができ、例えばＣ社が提供する匿名化データが検索された場合やＣ社が提供する匿名化データの詳細が閲覧した場合などが挙げられる。また、購入、詳細表示、検索などによって所定値の数を変更することもでき、例えば購入、詳細表示、検索など影響の大きい順に所定値の数も多くすることができる。
【００９６】
［システム］
また、図示した装置の各構成は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、任意の単位で分散または統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９７】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９８】
更に、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしてもよい。
【００９９】
上記匿名化流通装置１０は、例えば、次のようなハードウェア構成により実現することができる。図１７は、ハードウェア構成例を示す図である。図１７に示すように、匿名化流通装置１００は、プロセッサ１０１と、メモリ１０２と、ＩＦ１０３を有する。
【０１００】
プロセッサ１０１の一例としては、ＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）等が挙げられる。また、メモリ１０２の一例としては、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。  
【０１０１】
そして、匿名化流通装置１０で行われる各種処理機能は、不揮発性記憶媒体などの各種メモリに格納されたプログラムを制御装置が備えるプロセッサで実行することによって実現してもよい。すなわち、匿名化処理部１５、属性取得部１６、スコア生成部１７、検索部１８によって実行される各処理に対応するプログラムがメモリ１０２に記録され、各プログラムがプロセッサ１０１で実行されてもよい。
【符号の説明】
【０１０２】
１０  匿名化流通装置
１１  匿名化情報ＤＢ
１２  属性蓄積ＤＢ
１３  属性集計ＤＢ
１４  スコアＤＢ
１５  匿名化処理部
１６  属性取得部
１７  スコア生成部
１７ａ  第１階層生成部
１７ｂ  第２階層生成部
１８  検索部
１８ａ  評価部
１８ｂ  表示制御部
【図１】
0006270756.tif 000005
【図２】
0006270756.tif 000006
【図３】
0006270756.tif 000007
【図４】
0006270756.tif 000008
【図５】
0006270756.tif 000009
【図６】
0006270756.tif 000010
【図７】
0006270756.tif 000011
【図８】
0006270756.tif 000012
【図９】
0006270756.tif 000013
【図１０】
0006270756.tif 000014
【図１１】
0006270756.tif 000015
【図１２】
0006270756.tif 000016
【図１３】
0006270756.tif 000017
【図１４】
0006270756.tif 000018
【図１５】
0006270756.tif 000019
【図１６】
0006270756.tif 000020
【図１７】
0006270756.tif 000021