(57)【要約】【課題】対象データに含まれる項目の値の出現率に基づいて検定の処理を軽減し、効率良く匿名化処理を行う技術を提供する。【解決手段】個人と対応付けられた複数の項目を含む対象データを取得し、前記対象データ中の項目の値である語を抽象化した語に替えて抽象化候補データを生成し、前記抽象化候補データを構成する複数の語の最小出現率を求め、各語の最小出現率を乗じた値に基づいて前記抽象化候補データを抽出し、前記抽出された抽象化候補データの項目の値の組み合わせが、前記対象データの一個人に限定されないことを条件として検定する。【選択図】図５
2015076035.tif 000002
【特許請求の範囲】
【請求項１】
個人と対応付けられた複数の項目を含む対象データを取得するデータ取得部と、
前記対象データ中の項目の値である語を抽象化した語に替えて抽象化候補データを生成する抽象化部と、
前記抽象化候補データを構成する複数の語の最小出現率を求め、各語の最小出現率を乗じた値に基づいて前記抽象化候補データを抽出する候補抽出部と、
前記抽出された抽象化候補データの項目の値の組み合わせが、前記対象データの一個人に限定されないことを条件として検定する検定部と、
を備える匿名化装置。
【請求項２】
前記候補抽出部が、前記最小出現率を乗じた値に基づいて前記抽象化候補データの優先度を決定し、当該優先度に基づいて前記抽象化候補データを抽出する請求項１に記載の匿名化装置。
【請求項３】
前記候補抽出部が、前記最小出現率を乗じた値を閾値と比較し、前記最小出現率を乗じた値が閾値以上である前記抽象化候補データを抽出する請求項１又は２に記載の匿名化装置。
【請求項４】
前記抽象化候補データに含まれる語の価値を取得し、前記抽象化候補データに含まれる語の価値に基づいて当該抽象化候補データの価値を求める価値判定部を備え、
前記候補抽出部が、前記抽象化候補データの価値と、前記最小出現率を乗じた値とに基づいて抽象化候補データの優先度を決定する請求項２に記載の匿名化装置。
【請求項５】
個人と対応付けられた複数の項目を含む対象データを取得するステップと、
前記対象データ中の項目の値である語を抽象化した語に替えて抽象化候補データを生成するステップと、
前記抽象化候補データを構成する複数の語の最小出現率を求め、各語の最小出現率を乗じた値に基づいて前記抽象化候補データを抽出するステップと、
前記抽出された抽象化候補データの項目の値の組み合わせが、前記対象データの一個人に限定されないことを条件として検定するステップと、
をコンピュータが実行する匿名化方法。
【請求項６】
個人と対応付けられた複数の項目を含む対象データを取得するステップと、
前記対象データ中の項目の値である語を抽象化した語に替えて抽象化候補データを生成するステップと、
前記抽象化候補データを構成する複数の語の最小出現率を求め、各語の最小出現率を乗じた値に基づいて前記抽象化候補データを抽出するステップと、
前記抽出された抽象化候補データの項目の値の組み合わせが、前記対象データの一個人に限定されないことを条件として検定するステップと、
をコンピュータに実行させるための匿名化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人情報を匿名化又は多様化する技術に関する。
【背景技術】
【０００２】
情報処理技術の発展に伴い、日常の多くの場面で情報が収集され、この収集された情報を用いた処理が行われている。例えば、消費者が店舗の会員となって商品を購入する場合、会員登録時に消費者の氏名、年齢、性別、住所、メールアドレス等を登録することが多い。そして、消費者が商品を購入すると、店舗側のシステムが、この消費者と購入した商品の情報を対応付けて記録する。このように購入した商品の情報を蓄積して分析すると、当該消費者の嗜好が推定でき、この消費者が好む新商品が発売されたような場合にダイレクトメールを発送するといったサービスを行うことができる。更に、多くの消費者の情報について分析することで、２０代女性の好む商品や関東エリアで好まれる商品といった情報を導くことができ、マーケティング等に利用される。
【０００３】
また、これらの情報は、当該店舗だけでなく、商品を製造するメーカや、他の企業にとっても新商品の開発や安全性の向上などに用いることができ、価値を有することがある。
【０００４】
しかし、店舗が有する消費者の個人情報を各消費者の許諾を得ずに、他者へ提供することはできない。このため、上記消費者に関する情報を他者へ提供する場合には、個人を特定できないように、匿名化する必要がある。
【０００５】
例えば、年齢が記載されている会員リストに２５歳の人が一人だけであると、２５歳の知人がその会員であることを知った時点で、その人を特定できることになる。即ち、２５歳の会員という属性を持つ人が一人だけであると、他の情報と照らし合わせることで、個人を特定できる可能性が高い。
【０００６】
そこで、会員リストの年齢の記載を１０歳区切りに抽象化し、２０代が３人のように同じ属性を持つ人が複数人となるようにすれば、３人のうちの誰であるかを特定できなくなる。このように同じ属性を持つ人がｋ人以上いる状態を、「ｋ−匿名性」を満たすと称し、そのようにデータを加工することを「k-匿名化」と称する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１３３４５１号公報
【特許文献２】特開２０１１−１０８１９５号公報
【特許文献３】特開２０１１−１２８８６２号公報
【特許文献４】特開２０１２−７８９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の匿名化装置では、ｋ−匿名性を満たすように各項目の値を抽象化する場合、単に同じ属性値が複数となるようにデータを区切るため、例え匿名性を満たしても利用価値の無いデータとなってしまうことがある。例えば、ファッションの傾向を知るためにデータを利用する場合、年齢の項目は重要であり、匿名化装置が単に同じ属性値が複数となるように匿名化を行うことで年齢の項目を抽象化し過ぎると、利用価値が無くなってしまう。この場合、操作者が抽象化する項目の優先度を指定し、年齢以外の項目を抽象化することで匿名性を満たすようにする。また、匿名化装置が、年齢の項目について、同じ属性値が
複数となるように年齢の項目を１７歳以上２２歳未満のように区切ると、同一グループに成年と未成年が混在したり、高校生と社会人が混在したりすることになり、マーケティング的な価値が極めて少なくなってしまう。この場合、操作者が年齢の項目の区切りを指定し、他の項目を抽象化することで匿名性を満たすようにする。
【０００９】
このように従来の匿名化装置では、操作者の判断を必要とする機会が多く、実用的ではなかった。特にインターネット上の店舗（ネットショップ）や、ＳＮＳ（ソーシャル・ネットワーキング・サービス）の会員情報のような所謂ビッグデータを従来の匿名化装置で自動的に匿名化するのは困難であった。
【００１０】
また、抽象化のため、１０才、１１才、１２才、・・・９８才、９９才といった年齢のデータを１０代、２０代、３０代・・・９０代のように匿名化した場合、この匿名情報から１０代の人が小学生なのか中学生なのか、２０代の人が大学生なのか社会人なのかといったことは分からず、この匿名情報を別の概念で再区分することは出来なかった。このため、元データの年齢の項目を１０代、２０代、３０代・・・のように年代で区分する項目と、小学生、中学生、高校生・・・のように学業で区分する項目とに匿名化し、匿名情報が双方の情報を含むようにすることが考えられる。
【００１１】
しかし、匿名化するデータの項目数が多すぎると、匿名化処理後の各項目の値がｋ−匿名性を満たしているか否かの検定を行う処理が膨大になり、検定が困難になってしまう。この検定の処理は、項目数に応じて指数関数的に増加するので、例えばマーケティング用のデータを得るために十数項目を含むデータの検定を行うのは現実的では無い。特に、個人情報の総数が少ない場合、多くの項目を組み合わせると同じ属性値を持つ人数がｋ以上とならず、検定をパスしないので、項目の組み合わせが多すぎると匿名化処理の効率が低下してしまう。
【００１２】
そこで本発明は、対象データに含まれる項目の値の出現率に基づいて検定の処理を軽減し、効率良く匿名化処理を行う技術を提供する。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明の匿名化装置は、
個人と対応付けられた複数の項目を含む対象データを取得するデータ取得部と、
前記対象データ中の項目の値である語を抽象化した語に替えて抽象化候補データを生成する抽象化部と、
前記抽象化候補データを構成する複数の語の最小出現率を求め、各語の最小出現率を乗じた値に基づいて前記抽象化候補データを抽出する候補抽出部と、
前記抽出された抽象化候補データの項目の値の組み合わせが、前記対象データの一個人に限定されないことを条件として検定する検定部と、
を備える。
【００１４】
前記候補抽出部が、前記最小出現率を乗じた値に基づいて前記抽象化候補データの優先度を決定し、当該優先度に基づいて前記抽象化候補データを抽出しても良い。
【００１５】
前記候補抽出部が、前記最小出現率を乗じた値を閾値と比較し、前記最小出現率を乗じた値が閾値以上である前記抽象化候補データを抽出して良い。
【００１６】
前記匿名化装置は、
前記抽象化候補データに含まれる語の価値を取得し、前記抽象化候補データに含まれる語の価値に基づいて当該抽象化候補データの価値を求める価値判定部を備え、
前記候補抽出部が、前記抽象化候補データの価値と、前記最小出現率を乗じた値とに基
づいて前記抽象化候補データの優先度を決定しても良い。
【００１７】
上記課題を解決するため、本発明の匿名化方法は、
個人と対応付けられた複数の項目を含む対象データを取得するステップと、
前記対象データ中の項目の値である語を抽象化した語に替えて抽象化候補データを生成するステップと、
前記抽象化候補データを構成する複数の語の最小出現率を求め、各語の最小出現率を乗じた値に基づいて前記抽象化候補データを抽出するステップと、
前記抽出された抽象化候補データの項目の値の組み合わせが、前記対象データの一個人に限定されないことを条件として検定するステップと、
をコンピュータが実行する。
【００１８】
また、本発明は、上記匿名化方法をコンピュータに実行させるための匿名化プログラムであっても良い。更に、前記匿名化プログラムは、コンピュータが読み取り可能な記録媒体に記録されていても良い。
【００１９】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。
【００２０】
また、コンピュータに固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【発明の効果】
【００２１】
本発明は、対象データに含まれる項目の値の出現率に基づいて検定の処理を軽減し、効率良く匿名化処理を行う技術を提供できる。
【図面の簡単な説明】
【００２２】
【図１】図１は、匿名化処理の説明図である。
【図２】図２は、多様化処理の説明図である。
【図３】図３は、匿名化辞書に記憶させた年齢に関する語の対応関係の一例を示す図である。
【図４】図４は、出現率の説明図である。
【図５】図５は、情報処理装置の機能ブロック図である。
【図６】図６は、情報処理装置のハードウェア構成を示す図である。
【図７】図７は、個人情報を抽象化して抽象化候補データを作成する処理を示す図である。
【図８】図８は、抽象化候補データを検定する処理を示す図である。
【図９】図９は、最小出現率に基づいて抽象化候補データの優先度を決定する処理を示す図である。
【図１０】図１０は、候補パターンの説明図である。
【図１１】図１１は、出現率の積と検定をパスする可能性についての説明図である。
【図１２】図１２は、項目の組み合わせに関する具体例を示す図である。
【図１３】図１３は、候補テーブルに記憶させる指数の具体例を示す図である。
【図１４】図１４は、ボトムコーディングや裾切りの説明図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明を実施するための形態について説明する。以下の実施の形
態の構成は例示であり、本発明は実施の形態の構成に限定されない。
【００２４】
〈実施形態１〉
図１は、匿名化処理の説明図、図２は、多様化処理の説明図である。
図１（Ａ）は、姓、年齢、性別の項目を含む会員情報から姓の項目を削除した例を示す。図１（Ａ）に示すように年齢が記載されている会員情報に１６歳の女性が一人だけであると、１６歳の女性が、この会員であることが分かった時点で、その人を特定できる。即ち、１６歳・女性という属性を持つ人が一人だけであると、他の情報と照らし合わせることで、個人を特定できる可能性がある。
【００２５】
図１（Ｂ）では、会員リストの年齢の記載を抽象化し、０代（１０歳未満）、１０代、２０代のように年代別とした。しかし、この場合でも１０代女性は一人だけであり、図１（Ａ）と同様に個人が特定できてしまい匿名化としては不十分である。
【００２６】
そこで、図１（Ｃ）では、更に抽象化し、１０代以下（１９歳以下）と２０代のように年代の区切りを変更した。図１（Ｃ）の場合、１０代以下の女性が２人であり、［１０代以下］及び［女性］という属性が単一では無くなる。このため前述のように１６歳の女性が、この会員であることが分かったとしても、どちらが当該１６歳女性のデータであるかは特定できない。このように同じ属性を持つ人がｋ人以上いる状態を、「ｋ−匿名性」を満たすと称し、そのようにデータを加工することを「k-匿名化」と称する。
【００２７】
図２は、ユーザ毎の利用駅のデータを抽象化し、ユーザ毎の利用駅が属する区のデータとした例を示す。抽象化前のデータでは、駅が特定されているために、住居が新宿駅付近で勤務地が東京駅付近といったデータと照らし合わせることでユーザを特定できる可能性がある。このため利用駅を抽象化して、利用駅が属する区とすることで、新宿区内の駅と千代田区内の駅を利用するユーザが複数となり、利用者が特定されなくなる。このように「新宿区内の駅と千代田区内の駅を利用する」のように属性値がｌ種類の可能性を持つよう抽象化することをｌ−多様化と称する。
【００２８】
図３は、匿名化辞書に記憶させた年齢に関する語の対応関係の一例を示す図、図４は出現率の説明図である。上述のように匿名化のため、匿名化対象の個人情報（以下単に対象データとも称す）に含まれる語を抽象化する場合には、例えば匿名化辞書を参照して、対象データの語を対応する抽象化レベルの高い語に置き換える。図３の匿名化辞書の例では、生年月日より抽象化レベルが高い語として年齢が対応付けられ、年齢より抽象化レベルの高い語として小学生等の学業の区分が対応付けられ、更に学業より抽象化レベルの高い語として年代が対応付けられている。また、本実施形態では、各語の価値をデータベース等から求めている。図３の例では、インターネットの検索エンジンにキーワードを入力して検索した際、検索結果とともに表示される広告媒体の掲載費用に用いられるＳＥＭ（Search Engine Marketing）単価を示している。
【００２９】
図４は、200/1/1、200/1/3、2000/1/9といった対象データを抽象化した例を示している。なお、図４において、合計は、対象データの各語の価値の総計を示している。また、対象データのｋは、対象データに含まれる語のうち、最も少ない語の数、即ち最小の出現数(最小出現数)を示し、ｋ％は、当該項目、即ち本例では生年月日に含まれる語の総数に対する最小出現数の割合（以下、最小出現率又は単に出現率と称す）を示している。図４の例では、最小出現数ｋが１で、総数が５００であり、最小出現率ｋ％は０．２％となっている。
【００３０】
図４において、パターン１は、生年月日を年代に抽象化した場合を示し、この場合の価値の合計が２０００円、最小出現数ｋが５、最小出現率ｋ％が１％であった。パターン２
は、生年月日を学業の区分に抽象化した場合を示し、この場合の価値の合計が１５００円、最小出現数ｋが３０、最小出現率ｋ％が６％であった。パターン３は、生年月日を年齢に抽象化した場合を示し、この場合の価値の合計が１０００円、最小出現数ｋが１００、最小出現率ｋ％が２０％であった。
【００３１】
このように各項目の最小出現率ｋ％を求め、ｋ−匿名性を満たすための値（認定値）Ｋを定めると、当該項目を組み合わせて認定値Ｋを満たすために、当該項目を含む個人情報の総数（件数、又はレコード数）Ｍが幾つ必要かが次式により求められる。なお、ｎは組み合わせる項目の数である。
【数１】
2015076035.tif 000003
例えば、個人情報１００００件について匿名化する際に、認定値Ｋを５とし、匿名化する項目が一つで、当該項目の最小出現率ｋ％が１０％であった場合、次式のように総数Ｍが５０となり、１００００件よりも少ないため、匿名化可能と推定できる。
【数２】
2015076035.tif 000004
また、匿名化する項目が二つで、当該項目の最小出現率ｋ％の平均が１０％であった場合、次式のように総数Ｍが２５００となり、１００００件よりも少ないため、匿名化可能と推定できる。
【数３】
2015076035.tif 000005
また、匿名化する項目が三つで、当該項目の最小出現率ｋ％の平均が１０％であった場合、次式のように総数Ｍが１２５０００となり、１００００件を超えたため、匿名化できない（ｋ−匿名性を満たさない）ことがある。
【数４】
2015076035.tif 000006
このため、匿名化する項目を四つ以上組み合わせると、ｋ−匿名性を満たす可能性が極めて少ない、即ち検定処理が無駄になり、匿名化の効率が低下することが推定できる。
【００３２】
従って、最小出現率ｋ％に基づき、ｋ−匿名性を満たす可能性が極めて少ない組み合わせの処理を省くことで、効率良く匿名化処理を行うことができる。例えば最小出現率ｋ％に基づく総数Ｍが、実際の個人情報の件数を超える最少の項目数、上記の例では３つの項目までの組み合わせについて検定処理を行い、それ以上の組み合わせについては、検定処理を行わない。このように最小出現率ｋ％に基づいて匿名化処理を行う匿名化装置の例について、以下に説明する。
【００３３】
匿名化装置１０は、図５に示すように、抽象化部１１、価値判定部１２、検定部１３選択部１４、データ登録部１５、データ取得部１６、価値データ取得部１７、ワードカテゴ
リ分析部１８、ワード価値計算部１９、候補抽出部４４、データ出力部４０を備えている。
【００３４】
データ取得部１６は、個人と対応付けられた複数の項目を含む対象データを受信し、検定用ＤＢ（データベース）４１に記憶させる。
【００３５】
抽象化部１１は、対象データを匿名化或いは多様化する際に、対象データ中の項目の値であるワード（語）を匿名化辞書に基づき抽象化したワードに替えて抽象化候補データを生成する。本実施形態においてワード（語）は、単語や句など、一まとまりの言葉であり、位置情報や電話番号等の数値、メールアドレスやＩＰアドレス等の識別情報、言葉と同様の意味を持つ記号等を含んでも良い。
【００３６】
候補抽出部４４は、前記抽象化候補データを構成する複数の語の最小出現率を求め、各語の最小出現率を乗じた値に基づいて前記抽象化候補データを抽出する。例えば、前記候補抽出部４４は、最小出現率を乗じた値に基づいて前記抽象化候補データの優先度を決定し、当該優先度に基づいて所定数の抽象化候補データを抽出する。なお、前記候補抽出部４４は、抽象化候補データを構成する複数の語の価値と、前記最小出現率を乗じた値とに基づいて前記抽象化候補データの優先度を決定しても良い。また、候補抽出部４４は、前記最小出現率を乗じた値を閾値と比較し、前記最小出現率を乗じた値が閾値以上である前記抽象化候補データを抽出しても良い。
【００３７】
価値判定部１２は、抽象化候補データに含まれるワードの価値に基づいて当該抽象化候補データの価値を求める。
【００３８】
検定部１３は、候補抽出部４４抽象化候補データの一個人と対応する項目の値の組み合わせが、当該抽象化候補データ中で単一でないことを条件として検定する。例えば検定部１３は、抽象化候補データがｋ−匿名性を満たしているか、ｌ−多様性を満たしているかを検定する。
【００３９】
選択部１４は、前記検定の条件を満たした抽象化候補データの価値に基づいて抽象化候補データを選択する。例えば、選択部１４は、ｋ−匿名性やｌ−多様性を満たした抽象化候補データを価値が高い順に所定数選択する。また、選択部１４は、ｋ−匿名性やｌ−多様性を満たした抽象化候補データのうち、最も価値が高い抽象化候補データを選択しても良い。
【００４０】
データ登録部１５は、例えば選択部１４で選択された抽象化候補データに基づき、検定用ＤＢ４１の個人情報のうち個人が特定される項目の値を抽象化した値に更新して匿名化情報を登録する。
【００４１】
価値データ取得部１７は、抽象化候補データに含まれるワードの価値データを検索情報蓄積ＤＢから取得（受信）する。また、価値データ取得部１７は、検索情報蓄積ＤＢに前記ワードの価値データが登録されていない場合に、他の装置にリクエストし、取得した価値データを検索情報蓄積ＤＢに登録する機能（データリクエスト）や、定期的に他の装置を巡回して最新の価値データを取得し、検索情報蓄積ＤＢに登録されている価値データを更新する機能（データクローラ）を有する。本実施形態では、この価値データとして検索エンジン２０から各ワードの統計情報を受信する。ここで、各ワードの統計情報は、例えばＳＥＭの広告単価（クリック単価）や、クリック率、平均掲載順位、１日の表示回数、１日のクリック数等である。なお、価値の取得先は、検索エンジンに限らず、ウェブページやＳＮＳ等であっても良い。この場合、例えばウェブページやＳＮＳにおける各ワードの使用頻度を価値としても良い。
【００４２】
ワードカテゴリ分析部１８は、ウェブサイト等のデータを分析して、新規のワードや、当該ワードを抽象化したワード（カテゴリ）を求め、検索情報蓄積ＤＢに登録する。
【００４３】
価値計算部１９は、価値データ取得部１７で取得したワードの価値に基づき、ワードの価値の年平均や月平均、週平均など、ワードの価値の統計情報を求める。
【００４４】
データ出力部４０は、検定用ＤＢ４１から匿名化情報を読み出して出力する。ここで、匿名化情報の出力とは、表示装置による表示出力や、プリンタによる印刷出力、他のコンピュータへの送信、記憶媒体への書き込み等である。例えばデータ登録部１５は、リクエストに応じてユーザの端末へ匿名化情報を配信することや、所定の配信先に匿名化情報を配信すること等を行う。なお、データ出力部４０は、匿名化の処理が完了した時点で匿名化情報を匿名化完了ＤＢ（不図示）にコピーし、匿名化完了ＤＢから読み出して出力しても良い。
【００４５】
検定用ＤＢ４１は、個人情報（対象データ）が入力され、当該個人情報を検定用に供すと共に、データ登録部１５により個人が特定されるデータが書き換えられ、匿名化した匿名化情報を保持する。
【００４６】
検索情報蓄積ＤＢ４２は、価値データ取得部１７で取得したワードの価値や、ワードカテゴリ分析部１８で求めたワードやカテゴリの情報、価値計算部１９で求めた価値の統計情報などを記憶する。
【００４７】
また、図５中、検索エンジン２０は、インターネット等のネットワーク上に存在する情報の検索機能を提供するサイト（コンピュータ）である。即ち、検索エンジン２０は、ユーザ端末から検索するキーワードを受信すると、このキーワードを含むウェブページのＵＲＬ等のリストを検索結果として提供し、ユーザ端末に表示させる。
【００４８】
また、検索エンジン２０は、この検索機能を利用し、検索結果にキーワードと連動した広告を表示させることや、キーワードに応じた広告料を支払ったスポンサーサイトへのリンクを表示させることも行う。このため、検索エンジン２０は、検索されたワード毎に、１日の検索回数（表示回数）、検索結果の広告がクリックされた回数（クリック数）、１クリック当たりの広告料（クリック単価）等をワードの統計情報として記憶する。
【００４９】
また、これらの情報に基づき、検索エンジン２０は、表示回数をクリック数で除したクリック率や、１日のクリック数にクリック単価を乗じた値（１日の費用）、広告の申し込み時（広告オークション時）に提示した費用に応じた広告の掲載順位等も求める。
【００５０】
検索エンジン２０は、匿名化装置１０に対し、上記クリック数、表示回数、掲載順位、１日の費用、クリック率、クリック単価等の情報を提供するデータ出力部２１や、これらワードに関する情報を記憶する検索ワード蓄積ＤＢ２２、検索結果と共に配信する広告の情報を記憶する検索広告配信ＤＢ２３を備える。
【００５１】
図６は情報処理装置のハードウェア構成を示す図である。匿名化装置１０は、ＣＰＵ１、メモリ２、通信制御部３、記憶装置４、入出力インタフェース５を有する所謂コンピュータである。
【００５２】
ＣＰＵ１は、メモリ２に実行可能に展開されたプログラムを実行し、前述の抽象化部１１、価値判定部１２、検定部１３、選択部１４、データ登録部１５、データ取得部１６、価値データ取得部１７、ワードカテゴリ分析部１８、ワード価値計算部１９、候補抽出部
４４、データ出力部４０の機能を提供する。
【００５３】
メモリ２は、主記憶装置ということもできる。メモリ２は、例えば、ＣＰＵ１が実行するプログラムや、通信制御部３を介して受信したデータ、記憶装置４から読み出したデータ、その他のデータ等を記憶する。
【００５４】
通信制御部３は、ネットワークを介して他の装置と接続し、当該装置との通信を制御する。入出力インタフェース５は、表示装置やプリンタ等の出力手段や、キーボードやポインティングデバイス等の入力手段、ドライブ装置等の入出力手段が適宜接続される。ドライブ装置は、着脱可能な記憶媒体の読み書き装置であり、例えば、フラッシュメモリカードの入出力装置、ＵＳＢメモリを接続するＵＳＢのアダプタ等である。また、着脱可能な記憶媒体は、例えば、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ブルーレイディスク（Blu-ray Disc）等のディスク媒体であってもよい。ドライブ装置は、着脱可能な記憶媒体からプログラムを読み出し、記憶装置４に格納する。
【００５５】
記憶装置４は、外部記憶装置ということもできる。記憶装置４としては、ＳＳＤ（Solid State Drive）やＨＤＤ等であってもよい。記憶装置４は、ドライブ装置との間で、デ
ータを授受する。例えば、記憶装置４は、ドライブ装置からインストールされる情報処理プログラム等を記憶する。また、記憶装置４は、プログラムを読み出し、メモリ２に引き渡す。本実施形態では、記憶装置４が前述の検定用ＤＢ４１や検索情報蓄積ＤＢ４２、候補テーブル４５を格納している。
【００５６】
図７−図９は、匿名化装置１０が、匿名化プログラムに従って実行する匿名化方法の説明図であり、図７は、個人情報を抽象化して抽象化候補データを作成する処理を示す図、図８は、抽象化候補データを検定する処理を示す図、図９は、最小出現率に基づいて抽象化候補データの優先度を決定する処理を示す図である。
【００５７】
匿名化装置１０は、定期的或いは操作者の指示等を契機に図７の処理を匿名化の事前処理として実行する。先ず、匿名化装置１０は、他のコンピュータ或いは記憶装置から対象データを取得し（ステップＳ１０）、対象データ中の各ワードについて、価値データが検索情報蓄積ＤＢ４２に存在するか否かを判定する（ステップＳ２０）。匿名化装置１０は、全てのワードの価値データが検索情報蓄積ＤＢ４２に存在する場合（ステップＳ２０，Ｙｅｓ）にはステップＳ３０へ移行し、足りない価値データがある場合（ステップＳ２０，Ｎｏ）、当該ワードの価値データを外部の装置、本例では検索エンジン２０から取得する（ステップＳ４０）。なお、検索エンジン２０から取得した価値データ以外、即ち検索情報蓄積ＤＢ４２に存在したワードの価値情報は、検索情報蓄積ＤＢ４２から取得する（ステップＳ３０）。
【００５８】
また、匿名化装置１０は、匿名性を満たすため対象データの各項目を抽象化したワード（カテゴリ）に置き換えて抽象化候補データを作成し、抽象化したワードと当該ワードの価値（本例ではＳＥＭ価格）を記憶装置４の候補テーブル４５に記憶させる（ステップＳ５０）。なお、抽象化可能な項目が複数存在する場合には、各項目を抽象化した場合と抽象化しない場合の全てのパターンを作成する。例えば対象データに三つの項目Ａ，Ｂ，Ｃが含まれ、全項目について抽象化が可能で、抽象化した項目をＡ´，Ｂ´，Ｃ´とした場合、図１０に示すように、項目Ａだけを抽象化した場合Ａ´，Ｂ，Ｃ、項目Ａ，Ｂを抽象化した場合Ａ´，Ｂ´，Ｃなど、七つの候補パターンが作成できる。また、対象データに含まれる項目Ａ，Ｂ，Ｃのうち一部を省略した候補パターンを作成しても良い。例えば、項目Ａ，Ｂ、項目Ａ´，Ｂ、項目Ａ，Ｂ´、項目Ａ´，Ｂ´や、項目Ｂ，Ｃ、項目Ｂ´，Ｃ、項目Ｂ，Ｃ´、項目Ｂ´，Ｃ´、項目Ａ，Ｃ、項目Ａ´，Ｃ、項目Ａ，Ｃ´、項目Ａ´，Ｃ´のような候補を作成しても良い。このとき省略しない項目（必須項目）を予め設
定しておき、この必須項目以外の項目を省略した候補パターンを作成しても良い。また、一つの項目を抽象化の程度が異なる複数のワードに抽象化して複数の候補としても良い。
【００５９】
次に匿名化装置１０は、抽象化候補データに含まれる各ワードの価値データに基づいて各パターンの抽象化候補データの価値を算出する、例えば抽象化候補データに含まれる各ワードの価値（ＳＥＭ価格等）を総計して当該抽象化候補データの価値とすると共に、各ワードの出現数ｋを求める（ステップＳ６０）。この抽象化候補データの価値及び出現数ｋを指数化し（ステップＳ７０）、各抽象化候補データの指数を候補テーブル４５に登録する（ステップＳ７５）。また、匿名化装置１０は、出現率に基づいて、抽象化候補データの項目数の最大値を求め、この項目数以内の抽象化候補データを抽出しても良い。なお、このステップＳ７０における指数化や抽出の処理については後述する。
【００６０】
また、所定のスケジュールに基づくバッチ処理或いは操作者の指示等を契機に、匿名化装置１０は、図８の検定処理を実行する。先ず、匿名化装置１０は、処理条件として、処理時間や、検定処理する抽象化候補データの数（処理回数）、優先する指数、認定値（Ｋの値）等を設定する（ステップＳ８０）。
【００６１】
次に匿名化装置１０は、検定が未処理の抽象化候補データのうち、価格の指数が最も高いものを候補テーブル４５から取得し（ステップＳ９０）、検定処理を続行するか否かを判定する（ステップＳ１００）。例えば、ステップＳ９０で次に処理する抽象化候補データが存在しなかった場合や、ステップＳ８０で設定した処理時間・処理回数等の終了条件に達した場合、匿名化装置１０は続行しないと判定して（ステップＳ１００，Ｎｏ）処理を終了する。
【００６２】
一方、ステップＳ９０で次に処理する抽象化候補データが存在した場合や、終了条件に達していない場合、匿名化装置１０は、処理の続行と判定し（ステップＳ１００，Ｙｅｓ）、次に取得した抽象化候補データの出現率ｋの指数を閾値と比較し、出現率ｋの積が閾値以上か否かを判定する（ステップＳ１１０）。
【００６３】
ここで、抽象化候補データの出現率ｋの指数が閾値より低い場合（ステップＳ１１０，Ｎｏ）、匿名化装置１０は、この抽象化候補データの検定を行わずに処理済にして、例えば処理済のフラグを付加してステップＳ９０に戻る（ステップＳ１１５）。また、抽象化候補データの出現率ｋの指数が閾値以上の場合（ステップＳ１１０，Ｙｅｓ）、匿名化装置１０は、この抽象化候補データについて、匿名状態の検定を行う（ステップＳ１２０）。即ち、匿名化装置１０は、出現率ｋの指数が閾値未満の抽象化候補データを検定から除き、出現率ｋが閾値以上の抽象化候補データを抽出して検定を行う。
【００６４】
検定の結果、匿名化装置１０は、ｋ−匿名性を満たしているか又はＬ−匿名性を満たしているか、即ち匿名状態であるか否かを判定し（ステップＳ１３０）、匿名状態であると判定した場合には（ステップＳ１３０，Ｙｅｓ）、この抽象化候補データを匿名情報として検定用ＤＢ４１に登録する（ステップＳ１４０）。登録後、匿名化装置１０は、当該抽象化データを処理済として、例えば処理済のフラグを付加して、ステップＳ９０に戻る（ステップＳ１５０）。なお、検定をパスした抽象化候補データを全て匿名化情報として検定用ＤＢ４１に登録しても良いし、抽象化候補データの価値に基づき、価値の高い順に所定数の抽象化候補データを匿名化情報として検定用ＤＢ４１に登録しても良い。
【００６５】
一方、ステップＳ１３０で匿名状態ではないと判定した場合（ステップＳ１３０，Ｎｏ）、匿名化装置１０は、閾値を当該抽象化候補データの出現率に更新し、ステップＳ１５０へ移行して当該抽象化候補データを処理済としてステップＳ９０へ戻る。
【００６６】
このように本実施形態の匿名化装置１０は、抽象化候補データに含まれるワードの出現率に基づいて抽象化候補データを抽出して検定処理を行っている。
【００６７】
図９は、ステップＳ７０における指数化と抽出の処理の詳細な説明図である。前述のステップＳ７０において、匿名化装置１０は、図９に示すように、処理対象の抽象化候補データに含まれる各ワードの価格と、ワード総数に対する最小出現数の割合を出現率ｋ％として候補テーブル４５から求める（ステップＳ２１０）。
【００６８】
次に匿名化装置１０は、各項目の出現率を平均して平均出現率を求め（ステップＳ２２０）、次式により組み合わせ限界数ｎを次式から求める（ステップＳ２３０）。
【数５】
2015076035.tif 000007
なお、上記ステップＳ２２０，Ｓ２３０では、（（ｋ1／Ｍ）＋（ｋ2／Ｍ）・・・（ｋn／Ｍ））／ｎのように抽象化候補データを構成する各項目の平均出現率を求めているが
、これに限らず、抽象化候補データ中で最小の出現率や、所定の項目の出現率を用いても良い。
【００６９】
また、匿名化装置１０は、ステップＳ２３０で求めた限界数ｎを抽象化候補データの含む項目の最大値としてメモリ等の記憶装置に設定（記憶）し（ステップＳ２４０）、この最大値以下の項目を有する抽象化候補データの全パターンを抽出し（ステップＳ２５０）、この抽出した抽象化候補データを記録する（ステップＳ２６０）。なお、匿名化装置１０は、抽出した抽象化候補データを新たに候補テーブル４５に記録させても良いし、ステップＳ２５０で抽出したパターン以外を消し込むことで、抽出した抽象化候補データを候補テーブル４５の記録に残すようにしても良い。
【００７０】
次に匿名化装置１０は、抽出した抽象化候補データが含む各項目の価格又は元データの価格に対する抽象化候補データの価格の割合（価格割合）を総計し、当該抽象化候補データの総価格を検定処理の優先度を決める指数として候補テーブル４５に記録する（ステップＳ２７０）。
【００７１】
また、匿名化装置１０は、抽出した抽象化候補データが含む各項目の出現率の積を求め、当該出現率の積を検定処理の優先度を決める指数として候補テーブル４５に記録する（ステップＳ２８０）。
【００７２】
このように抽象化候補データが含む各項目の出現率の積を求めることで、当該抽象化候補データの検定を行った場合に、検定をパスする可能性を判断することができる。図１１は、出現率の積と検定をパスする可能性についての説明図である。
【００７３】
図１１では、対象データの総件数（ワード総数）が１００００人、認定値Ｋが２人であり、項目１〜項目３の出現率がそれぞれ５％の場合を示している。
【００７４】
抽象化候補データに含まれる項目が、項目１（年代）だけであると、最小出現数が５００人になると推定される。
【００７５】
また、抽象化候補データに含まれる項目が、項目１（年代）と項目２（職業）であると、最小出現数は総件数に各項目の出現率の積を乗じた１００００人＊５％＊５％＝２５人になると推定される。
【００７６】
そして、抽象化候補データに含まれる項目が、項目１（年代）と項目２（職業）と項目３（地域）であると、最小出現数は総件数に各項目の出現率の積を乗じた１００００人＊５％＊５％＊５％＝１．２５人になると推定される。このため、項目１〜３を組み合わせた場合であれば、最低出現数の推定値が１．２５人であり、認定値Ｋ＝２人に近いので、検定をパスする可能性が高いことが分かるが、更に出現率が５％の項目を組み合わせた場合、最低出現数が０．０６２５となり、認定値Ｋ＝２人を満たす、即ち検定をパスする可能性が極めて低いことが分かる。
【００７７】
このため認定値Ｋ＝２人であれば、最低出現数の推定値の閾値を１．０人や１．２人等と設定し、抽象化候補データに含まれる項目の出現率の積が閾値以上の抽象化候補データを抽出し、この抽出した抽象化候補について検定を行うことにより、検定をパスする可能性が低い抽象化候補データの検定処理を省き、検定をパスする可能性がある抽象化候補データを抽出して検定処理を行うことができるので、効率良く匿名化処理を実行できる。
【００７８】
図１２は、項目の組み合わせに関する具体例を示す図である。図１２では、年齢、居住地、職業の項目がそれぞれＡ〜Ｄのパターンを有している、即ち候補テーブルに記録された抽象化候補データが最大１２の項目を有する状態を示している。なお、年齢Ａは、年齢を１０代、２０代・・・のように年代で抽象化したパターン、年齢Ｂは、年齢を小学生、中学生・・・のように学業の区分で抽象化したパターンであり、同様に各項目のＡ〜Ｄは抽象化のパターンが異なる状態を示している。
【００７９】
このように図１２の例では、抽象化候補データが最大１２の項目を有しており、このとき組み合わせ最大値ｎが３であれば、１２個の項目の中から、「年齢Ａ、居住地Ａ、職業Ａ」や「年齢Ａ、居住地Ｂ、職業Ｃ」、「年齢Ａ、職業Ｃ」「職業Ａ、職業Ｄ」のように最大値ｎ以下の項目を含む抽象化候補データを抽出する。
【００８０】
図１３は候補テーブルに記憶させる指数の具体例を示す図である。図１３に示すように、候補テーブル４５は、各抽象化候補データについて、価格割合の和や出現率の積を指数として記憶させている。
【００８１】
例えば、「年齢Ａ、居住地Ｂ、職業Ａ」の項目の組み合わせを持つ抽象化候補データは、価格の和が５８０％、「年齢Ｂ、居住地Ｂ、職業Ａ」の項目の組み合わせを持つ抽象化候補データは、価格の和が６００％であり、この価格の和の順番に抽象化候補データを読み出し、読み出した抽象化候補データの出現率の積が閾値以上であれば検定を行い、閾値未満であれば検定を行わない。
【００８２】
なお、図１４に示すように各項目の値（図１４の例では年代）と出現率とを対応付けた場合に、出現率が５％や１０％等、所定の閾値以下の場合に、他の項目と併合してボトムコーディングや裾切りを行っても良い。
【００８３】
以上のように本実施形態によれば、対象データに含まれる項目の値の出現率に基づいて検定の処理を軽減し、効率良く匿名化処理を行うことができる。
【００８４】
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００８５】
１    ＣＰＵ
２    メモリ
３    通信制御部
４    記憶装置
５    入出力インタフェース
１０  匿名化装置
１１  抽象化部
１２  価値判定部
１３  検定部
１４  選択部
１５  データ登録部
１６  データ取得部
１７  価値データ取得部
１８  ワードカテゴリ分析部
１９  ワード価値計算部
２０  検索エンジン
２１  データ出力部
２２  歳以上
４０  データ出力部
４４  候補抽出部
４５  候補テーブル
【図１】
2015076035.tif 000008
【図２】
2015076035.tif 000009
【図３】
2015076035.tif 000010
【図４】
2015076035.tif 000011
【図５】
2015076035.tif 000012
【図６】
2015076035.tif 000013
【図７】
2015076035.tif 000014
【図８】
2015076035.tif 000015
【図９】
2015076035.tif 000016
【図１０】
2015076035.tif 000017
【図１１】
2015076035.tif 000018
【図１２】
2015076035.tif 000019
【図１３】
2015076035.tif 000020
【図１４】
2015076035.tif 000021