(57)【要約】【課題】複数のユーザの行動履歴について匿名化の検定を可能にする技術を提供する。【解決手段】ユーザを識別するユーザ識別情報と当該ユーザに係る情報とを対応付けたデータを対象データとし、前記対象データに含まれる複数の語を抽出し、各語の出現数に基づいて、前記複数の語の少なくとも一部をデータ項目の候補とする項目候補生成部と、統計情報に基づいて前記データ項目の候補から所定数の候補を選択する項目選択部と、前記選択された前記データ項目の値を前記対象データの前記ユーザ識別情報と対応付けられたデータから求めて、前記ユーザ識別情報毎に前記データ項目の値を対応付けて匿名候補データとする匿名候補生成部と、備える。【選択図】図５
2015200972.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを識別するユーザ識別情報と当該ユーザに係る情報とを対応付けたデータを対象データとし、前記対象データに含まれる複数の語を抽出し、各語の出現数に基づいて、前記複数の語の少なくとも一部をデータ項目の候補とする項目候補生成部と、
統計情報に基づいて前記データ項目の候補から所定数の候補を選択する項目選択部と、
前記選択された前記データ項目の値を前記対象データの前記ユーザ識別情報と対応付けられたデータから求めて、前記ユーザ識別情報毎に前記データ項目の値を対応付けて匿名候補データとする匿名候補生成部と、
を備える情報処理装置。
【請求項２】
前記項目候補生成部が、前記対象データから抽出した前記語を抽象化し、抽象化した語の出現数に基づいて、前記複数の語及び前記抽象化した語の少なくとも一部をデータ項目の候補とする請求項１に記載の情報処理装置。
【請求項３】
前記匿名候補生成部が、前記対象データの時間、地域、又は所定カテゴリ毎に、前記匿名候補データを生成する請求項１又は２に記載の情報処理装置。
【請求項４】
前記抽出された抽象化候補データの項目の値の組み合わせが、前記対象データの一個人に限定されないことを条件として検定する検定部を備える請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
ユーザを識別するユーザ識別情報と当該ユーザに係る情報とを対応付けたデータを対象データとし、前記対象データに含まれる複数の語を抽出し、各語の出現数に基づいて、前記複数の語の少なくとも一部をデータ項目の候補とするステップと、
統計情報に基づいて前記データ項目の候補から所定数の候補を選択するステップと、
前記選択された前記データ項目の値を前記対象データの前記ユーザ識別情報と対応付けられたデータから求めて、前記ユーザ識別情報毎に前記データ項目の値を対応付けて匿名候補データとするステップと、
をコンピュータが実行する情報処理方法。
【請求項６】
ユーザを識別するユーザ識別情報と当該ユーザに係る情報とを対応付けたデータを対象データとし、前記対象データに含まれる複数の語を抽出し、各語の出現数に基づいて、前記複数の語の少なくとも一部をデータ項目の候補とするステップと、
統計情報に基づいて前記データ項目の候補から所定数の候補を選択するステップと、
前記選択された前記データ項目の値を前記対象データの前記ユーザ識別情報と対応付けられたデータから求めて、前記ユーザ識別情報毎に前記データ項目の値を対応付けて匿名候補データとするステップと、
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人情報を匿名化又は多様化するための情報処理技術に関する。
【背景技術】
【０００２】
情報処理技術の発展に伴い、日常の多くの場面で情報が収集され、この収集された情報を用いた処理が行われている。例えば、消費者が店舗の会員となって商品を購入する場合、会員登録時に消費者の氏名、年齢、性別、住所、メールアドレス等を登録することが多い。そして、消費者が商品を購入すると、店舗側のシステムが、この消費者と購入した商品の情報を対応付けて記録する。このように購入した商品の情報を蓄積して分析すると、当該消費者の嗜好が推定でき、この消費者が好む新商品が発売されたような場合にダイレクトメールを発送するといったサービスを行うことができる。更に、多くの消費者の情報について分析することで、２０代女性の好む商品や関東エリアで好まれる商品といった情報を導くことができ、マーケティング等に利用される。
【０００３】
また、これらの情報は、当該店舗だけでなく、商品を製造するメーカや、他の企業にとっても新商品の開発や安全性の向上などに用いることができ、価値を有することがある。
【０００４】
しかし、店舗が有する消費者の個人情報を各消費者の許諾を得ずに、他者へ提供することはできない。このため、上記消費者に関する情報を他者へ提供する場合には、個人を特定できないように、匿名化する必要がある。
【０００５】
例えば、年齢が記載されている会員リストに２５歳の人が一人だけであると、２５歳の知人がその会員であることを知った時点で、その人を特定できることになる。即ち、２５歳の会員という属性を持つ人が一人だけであると、他の情報と照らし合わせることで、個人を特定できる可能性が高い。
【０００６】
そこで、会員リストの年齢の記載を１０歳区切りに抽象化し、２０代が３人のように同じ属性を持つ人が複数人となるようにすれば、３人のうちの誰であるかを特定できなくなる。このように同じ属性を持つ人がｋ人以上いる状態を、「ｋ−匿名性」を満たすと称し、そのようにデータを加工することを「k-匿名化」と称する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１３３４５１号公報
【特許文献２】特開２０１１−１０８１９５号公報
【特許文献３】特開２０１１−１２８８６２号公報
【特許文献４】特開２０１２−７８９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図１９は、ユーザがＩＣカードを用いて駅の自動改札を出入りし、乗車料金を決済した場合に、管理サーバ側に記録される履歴データ（フローデータ）の一例を示す図である。図１９の履歴データ９１は、ユーザＩＤや、利用日時、利用駅、利用内容、料金等が対応付けられている。この履歴データ９１は、ユーザＩＤとユーザの姓、年齢、性別を対応付けたユーザ情報９２を参照することで、履歴データの各ユーザが識別できる。
【０００９】
この履歴データ９１を他の事業者へ提供する場合、ユーザＩＤとユーザの姓等とを対応
付けるユーザ情報９２を削除する、或は参照できないように管理することで、ユーザＩＤから個人を識別できないようにすること（仮名化状態とすること）が考えられる。
【００１０】
しかし、仮名化状態の場合、ユーザＩＤから氏名が特定できないとしても、ユーザＩＤと対応付けられた利用駅等の情報が一個人に限定されている場合、即ち、他に利用駅等の情報が一致するユーザがいない場合、利用駅等の情報から再識別できる可能性がある。例えば、ＩＤ＝Ａ００１のユーザが新宿駅、秋葉原駅、人形町を利用していた場合に、同じように駅を利用した人が他にいなければ、ＩＤ＝Ａ００１のユーザの行動を知る人であれば、この履歴データからＩＤ＝Ａ００１のユーザを再識別できる。
【００１１】
例えば、ｎ＝４２４７万人のユーザが、ｍ＝９２６２の駅を一様分布で選択した場合に、再識別できる駅の数ｓを式１によって求めると、
ｍＳ＝ｎ  ・・・（式１）
Ｓ＝２．２３７となり、履歴データに３駅記録されていれば、再識別できることが分かる。
【００１２】
また、ＩＣカードの履歴データには、この他にもショッピングの情報が含まれることがあり、この場合再識別の可能性が更に高くなる。
【００１３】
このため、各項目の値を抽象化して、各項目の値の組み合わせが一個人に限定されないように匿名化することが考えられるが、行動履歴のようなデータは、データ量が非常に多くなり易く、例えば１０万人を超えるユーザの行動履歴の場合、所謂ビッグデータの場合、抽象化を人手で行うのは現実的ではない。
【００１４】
また、機械的に抽象化を行うことも考えられるが、機械的に抽象化を行うと、抽象化した結果が例え匿名性を満たしたとしても、有用なデータになるとは限らない。例えば項目の値の組み合わせが一個人に限定されなくなるまで抽象化した結果、利用価値が無くなるほど抽象的な項目の値（語）になってしまった場合、匿名性を満たしても意味が無い。このため機械的に抽象化を行う場合でも抽象化の結果を人が確認し、有用なデータになっていなければ、抽象化する項目を変える等の設定を変更して抽象化の処理をやり直すといった試行の繰り返しになる。
【００１５】
しかし、単に試行を繰り返すのは非効率であり、特にビッグデータの場合、抽象化の処理や匿名性を検定する処理に多大な時間がかかってしまうため、充分に試行を行うことが困難であった。
【００１６】
また、上記のような行動履歴（フローデータ）の場合、各ユーザの行動に伴って随時データが挿入され、挿入されるデータの数もタイミングも異なるため、匿名性を厳密に行うことが困難であった。
【００１７】
そこで本発明は、複数のユーザの行動履歴について匿名化の検定を可能にする技術を提供する。
【課題を解決するための手段】
【００１８】
本発明に係る情報処理装置は、
ユーザを識別するユーザ識別情報と当該ユーザに係る情報とを対応付けたデータを対象データとし、前記対象データに含まれる複数の語を抽出し、各語の出現数に基づいて、前記複数の語の少なくとも一部をデータ項目の候補とする項目候補生成部と、
統計情報に基づいて前記データ項目の候補から所定数の候補を選択する項目選択部と、
前記選択された前記データ項目の値を前記対象データの前記ユーザ識別情報と対応付け
られたデータから求めて、前記ユーザ識別情報毎に前記データ項目の値を対応付けて匿名候補データとする匿名候補生成部と、
を備える。
【００１９】
前記項目候補生成部は、前記対象データから抽出した前記語を抽象化し、抽象化した語の出現数に基づいて、前記複数の語及び前記抽象化した語の少なくとも一部をデータ項目の候補としても良い。
【００２０】
前記匿名候補生成部は、前記対象データの時間、地域、又は所定カテゴリ毎に、前記匿名候補データを生成しても良い。
【００２１】
前記情報処理装置は、前記抽出された抽象化候補データの項目の値の組み合わせが、前記対象データの一個人に限定されないことを条件として検定する検定部を備えても良い。
【００２２】
本発明に係る情報処理方法は、
ユーザを識別するユーザ識別情報と当該ユーザに係る情報とを対応付けたデータを対象データとし、前記対象データに含まれる複数の語を抽出し、各語の出現数に基づいて、前記複数の語の少なくとも一部をデータ項目の候補とするステップと、
統計情報に基づいて前記データ項目の候補から所定数の候補を選択するステップと、
前記選択された前記データ項目の値を前記対象データの前記ユーザ識別情報と対応付けられたデータから求めて、前記ユーザ識別情報毎に前記データ項目の値を対応付けて匿名候補データとするステップと、
をコンピュータが実行する。
【００２３】
また、本発明は、上記情報処理方法をコンピュータに実行させるための匿名化プログラムであっても良い。更に、前記匿名化プログラムは、コンピュータが読み取り可能な記録媒体に記録されていても良い。
【００２４】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。
【００２５】
また、コンピュータに固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【発明の効果】
【００２６】
本発明は、複数のユーザの行動履歴について匿名化の検定を可能にする技術を提供できる。
【図面の簡単な説明】
【００２７】
【図１】図１は、匿名化処理の説明図である。
【図２】図２は、ユーザの行動履歴の一例を示す図である。
【図３】図３は、匿名化装置の概略構成を示す図である。
【図４】図４は情報処理装置のハードウェア構成を示す図である。
【図５】図５は、対象データを解析して項目を選択する処理を示す図である。
【図６】図６は、抽象化候補データを生成する処理を示す図である。
【図７】図７は、匿名性を検定する処理を示す図である。
【図８】図８は、対象データを自然語解析して語の出現数を求める処理の一例を示す図である。
【図９】図９は、対象データを自然語解析して語の出現数を求める処理の一例を示す図である。
【図１０】図１０は、対象データを自然語解析して語の出現数を求める処理の一例を示す図である。
【図１１】図１１は、対象データを自然語解析して語の出現数を求める処理の一例を示す図である。
【図１２】図１２は、対象データを自然語解析して語の出現数を求める処理の一例を示す図である。
【図１３】図１３は、対象データを自然語解析して語の出現数を求める処理の一例を示す図である。
【図１４】図１４は、対象データを自然語解析して語の出現数を求める処理の一例を示す図である。
【図１５】図１５は、対象データを解析して項目を選択する処理を示す図である。
【図１６】図１６は、抽象化候補データを生成する処理を示す図である。
【図１７】図１７は、１月で区分したデータ、２月で区分したデータを示す図である。
【図１８】図１８は、匿名化データを複数の区分で作成した例を示す図である。
【図１９】図１９は、ユーザの行動履歴の一例を示す図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明を実施するための形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。
【００２９】
〈実施形態１〉
図１は、匿名化処理の説明図である。図１（Ａ）は、姓、年齢、性別の項目を含む会員情報から姓の項目を削除した例を示す。図１（Ａ）に示すように年齢が記載されている会員情報に１６歳の女性が一人だけであると、１６歳の女性が、この会員であることが分かった時点で、その人を特定できる。即ち、１６歳・女性という属性を持つ人が一人だけであると、他の情報と照らし合わせることで、個人を特定できる可能性がある。
【００３０】
図１（Ｂ）では、会員リストの年齢の記載を抽象化し、０代（１０歳未満）、１０代、２０代のように年代別とした。しかし、この場合でも１０代女性は一人だけであり、図１（Ａ）と同様に個人が特定できてしまい匿名化としては不十分である。
【００３１】
そこで、図１（Ｃ）では、更に抽象化し、１０代以下（１９歳以下）と２０代のように年代の区切りを変更した。図１（Ｃ）の場合、１０代以下の女性が２人であり、［１０代以下］及び［女性］という属性が単一では無くなる。このため前述のように１６歳の女性が、この会員であることが分かったとしても、どちらが当該１６歳女性のデータであるかは特定できない。このように同じ属性を持つ人がｋ人以上いる状態を、「ｋ−匿名性」を満たすと称し、そのようにデータを加工することを「k-匿名化」と称する。
【００３２】
図１のデータは、ユーザ毎に、当該ユーザに係る情報の各項目の値が対応付けられている。換言すると、図１のデータは、各ユーザのデータが各行に記録され、当該ユーザに係る情報の各項目の値が各列に記録されている。即ち、図１のデータは、ユーザ毎の行と項目毎の列とからなるスプレッドシート型のデータである。
【００３３】
図２は、ユーザの行動履歴の一例を示す図である。図２のデータは、ユーザを識別するユーザＩＤ（ユーザ識別情報）と当該ユーザに係る情報（行動データ）とを対応付けている。図２の例では、この行動データとして、ユーザが商品を購入した日付、店舗、内容を
有している。このように図２のデータは、ユーザの行動データが各行に記録され、当該ユーザに係る情報の各項目の値が各列に記録されている。即ち、図２のデータは、ユーザの行動データ毎に記録されたフロー型のデータである。
【００３４】
図２に示すフロー型のデータでは、ユーザＩＤと対応付けられた行動データは、随時追加され、一ユーザのユーザＩＤと対応付けられた行動データが複数行に存在し、その数の追加されるタイミングも異なるため、図１のスプレッドシート型のデータのように匿名性を検定することができない。
【００３５】
そこで、本実施形態１の情報処理装置（匿名化装置）１では、フローデータ型の対象データをスプレッドシート型に変換することで匿名性の検定を可能にする。以下に、この匿名化装置１０について説明する。
【００３６】
図３は、匿名化装置１０の概略構成を示す図である。匿名化装置１０は、図３に示すように、項目候補生成部１１、項目選択部１２、匿名候補生成部１３、匿名検定部１４、データ出力部１５を備えている。
【００３７】
項目候補生成部１１は、ユーザを識別するユーザ識別情報と当該ユーザに係る情報とを対応付けたデータを対象データとし、前記対象データに含まれる複数の語を抽出し、各語の出現数に基づいて、前記複数の語の少なくとも一部をデータ項目の候補とする。また、項目候補生成部１１は、対象データから抽出した語を抽象化し、抽象化した語の出現数に基づいて、複数の語及び抽象化した語の少なくとも一部をデータ項目の候補とする。
【００３８】
項目選択部１２は、統計情報（価値データ）に基づいて前記データ項目の候補から所定数の候補を選択する。項目選択部１２は、価値データを検索情報蓄積ＤＢ４２から取得する。また、項目選択部１２は、検索情報蓄積ＤＢ４２に前記価値データが登録されていない場合に、他の装置にリクエストし、取得した価値データを検索情報蓄積ＤＢ４２に登録する機能（データリクエスト）や、定期的に他の装置を巡回して最新の価値データを取得し、検索情報蓄積ＤＢ４２に登録されている価値データを更新する機能（データクローラ）を有する。本実施形態では、この価値データとして検索エンジン９０から各ワードの統計情報を受信する。ここで、各ワードの統計情報は、例えばＳＥＭの広告単価（クリック単価）や、クリック率、平均掲載順位、１日の表示回数、１日のクリック数等である。なお、価値の取得先は、検索エンジンに限らず、ウェブページやＳＮＳ等であっても良い。このようにワードの統計情報を価値データとする場合、例えばウェブページやＳＮＳにおける各ワードの使用頻度を価値データとしても良い。
【００３９】
匿名候補生成部１３は、選択されたデータ項目の値を対象データのユーザ識別情報と対応付けられたデータから求めて、ユーザ識別情報毎にデータ項目の値を対応付けて匿名候補データとする。
【００４０】
匿名検定部１４は、匿名化候補データの一個人と対応する項目の値の組み合わせが、当該抽象化候補データ中で単一でないことを条件として検定する。例えば匿名検定部１４は、抽象化候補データがｋ−匿名性を満たしているか、ｌ−多様性を満たしているかを検定する。匿名候補データの匿名性を検定し、匿名性を満たした匿名候補データを匿名化情報とする。
【００４１】
データ出力部１５は、匿名性を満たした匿名化情報を読み出して出力する。ここで、匿名化情報の出力とは、表示装置による表示出力や、プリンタによる印刷出力、他のコンピュータへの送信、記憶媒体への書き込み等である。
【００４２】
図４は情報処理装置のハードウェア構成を示す図である。匿名化装置１０は、ＣＰＵ１、メモリ２、通信制御部３、記憶装置４、入出力インタフェース５を有する所謂コンピュータである。
【００４３】
ＣＰＵ１は、メモリ２に実行可能に展開されたプログラムを実行することで、前述の項目候補生成部１１、項目選択部１２、匿名候補生成部１３、匿名検定部１４、データ出力部１５の機能を提供する。
【００４４】
メモリ２は、主記憶装置（メインメモリ）ということもできる。メモリ２は、例えば、ＣＰＵ１が実行するプログラムや、通信制御部３を介して受信したデータ、記憶装置４から読み出したデータ、その他のデータ等を記憶する。
【００４５】
通信制御部（ＣＣＵ：Communication Control Unit）３は、ネットワークを介して他の装置と接続し、当該装置との通信を制御する。入出力インタフェース５は、表示装置やプリンタ等の出力手段や、キーボードやポインティングデバイス等の入力手段、ドライブ装置等の入出力手段が適宜接続される。ドライブ装置は、着脱可能な記憶媒体の読み書き装置であり、例えば、フラッシュメモリカードの入出力装置、ＵＳＢメモリを接続するＵＳＢのアダプタ等である。また、着脱可能な記憶媒体は、例えば、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ブルーレイディスク（Blu-ray(登録商標) Disc）等のディスク媒体であってもよい。ドライブ装置は、着脱可能な記憶媒体からプログラムを読み出し、記憶装置４に格納する。
【００４６】
記憶装置４は、外部記憶装置ということもできる。記憶装置４としては、ＳＳＤ（Solid State Drive）やＨＤＤ等であってもよい。記憶装置４は、ドライブ装置との間で、デ
ータを授受する。例えば、記憶装置４は、ドライブ装置からインストールされる情報処理プログラム等を記憶する。また、記憶装置４は、プログラムを読み出し、メモリ２に引き渡す。本実施形態では、記憶装置４が対象データや検索情報蓄積ＤＢ４２、匿名化検定用ＤＢ４５を格納している。
【００４７】
図５−図７は、匿名化装置１０が、本実施形態の情報処理プログラムに従って実行する情報処理方法の説明図であり、図５は、対象データを解析して項目を選択する処理を示す図、図６は、抽象化候補データを生成する処理を示す図、図７は、匿名性を検定する処理を示す図である。
【００４８】
匿名化装置１０は、定期的或いは操作者の指示等を契機に図５，図６の処理を匿名化の事前処理として実行する。先ず、匿名化装置１０は、他のコンピュータ或いは記憶装置から対象データを取得し、形態素解析により対象データに含まれる語を抽出し、当該語の出現数や出現率を求める（ステップＳ１０）。なお、語の抽出は、全対象データから抽出しても良いが、これに限らず、最初の１万行や、全体の５％など、対処データの一部から抽出するものでも良い。
【００４９】
次に、匿名化装置１０は、ステップＳ１０で抽出した語を抽象化し（ステップＳ２０）、この抽象化した語の出現数や出現率を求める（ステップＳ３０）。また、匿名化装置１０は、出現数や出現率が必要とされる所定値未満、例えばｋ値未満の項目候補を削除し、足きりを行う（ステップＳ３５）。
【００５０】
そして、匿名化装置１０は、ステップＳ１０で抽出した語、及びステップＳ２０で抽象化した語を項目候補とし、検索情報蓄積ＤＢ４２から価値データを取得して各項目候補の重み付けを行い（ステップＳ４０）、この重み付けに基づいて所定数の項目を選択する（ステップＳ５０）。例えば、各語の出現数又は出現率に価値データ（ＳＥＭ価格）を乗じ
て指数化し、この指数の高い順に所定数の項目を選択する。
【００５１】
次に匿名化装置１０は、図６の処理を実行し、対象データから一行分のデータを読み出して（ステップＳ６０）、形態素解析により、この行に含まれる語を抽出する（ステップＳ７０）。匿名化装置１０は、この抽出した語の中から、図５の処理で生成した項目の値に該当する語を索出し（ステップＳ８０）、この項目の値をステップＳ６０で読み出した行のユーザＩＤと対応付けて匿名化検定用ＤＢ４５に記憶する（ステップＳ９０）。そして、匿名化装置１０は、次の処理があるか否かを判定し（ステップＳ１００）、次の処理があればステップＳ６０に戻り、次の行のデータを読み出してステップＳ６０〜ステップＳ１００を繰り返し、ステップＳ１００で次の処理が無ければ、図６の処理を終了する。このように各行のユーザＩＤと対応付けて、各列の項目の値をそれぞれ対象データから抽出して匿名化検定用ＤＢ４５に記憶したものが匿名化候補データである。
【００５２】
次に匿名化装置１０は、図７の処理を実行し、図６の処理で作成した匿名化候補データを匿名化検定用ＤＢ４５から読み出し、匿名化候補データの一個人と対応する項目の値の組み合わせが、当該抽象化候補データ中で所定数以下、例えば、１でないことを条件として検定する（ステップＳ１１０）。即ち、抽象化候補データがｋ−匿名性を満たしているか否かを判定する。ここで、匿名化候補データが匿名性を満たしていなければ、ステップＳ１１０に戻って他の匿名化候補データを読み出して検定を繰り返す（ステップＳ１１０〜Ｓ１２０）。
【００５３】
一方、ステップＳ１２０で、匿名性を満たしていれば匿名化装置１０は、次の処理があるか否かを判定し（ステップＳ１３０）、次の処理があればステップＳ１１０に戻り、次の匿名化候補データを読み出してステップＳ１１０〜ステップＳ１３０を繰り返し、ステップＳ１３０で次の処理が無ければ、検定をパスした匿名候補データを匿名化データとして出力し（ステップＳ１４０）、図７の処理を終了する。
【００５４】
次に匿名化候補データを作成する処理について、図８〜図１４を用いて具体的に説明する。
【００５５】
図８は、対象データを自然語解析して語の出現数を求める処理の一例を示す図である。図８において、対象データ５１は、ユーザを識別するユーザＩＤ（ユーザ識別情報）と当該ユーザに係る情報（行動データ）とを対応付け、この行動データとして、ユーザが商品を購入した日付、店舗、内容を有している。対象データ５１には、Ａブック−中野、Ｂストロ−新宿、Ｃレストラン−新宿のように、自然語のデータが記録されている。
【００５６】
対象データ５１を自然言語解析し、対象データ５１に含まれる語を抽出して、当該語の出現数を求めた結果がデータ５２である。データ５２は、対象データ５１から抜き出された新宿、ネット、Ｃレストラン等の語と、その品詞及び出現数を対応付けている。なお、データ５２では、各語と出現数を対応付けているが、出現数に代えて出現率としても良い、例えば、ある語の出現数がｎで、語の総数がｓの場合に、出現率Ａｑをｎ／ｓとする。また、出現率比（ｔｆ(term frequency)／ｉｄｆ(inverse document frequency)）を用いても良い。
【００５７】
また、基となる語と、この語を抽象化した語（上位概念）とを対応付けた抽象化辞書５３を用いて、抽出した語を上位概念に置き換えて抽象化する。例えば新宿を東京、ラーメンを中華料理、Ｅストアをコンビニのように変換する。そして、抽象化した語についても出現数を求めて、データ５２に加えたものがデータ５４である。
【００５８】
なお、形態素解析を行う際、対象データ５１の属性に応じて自然語解析を行っても良い
。例えば、図９に示すように、対象データ５２の店舗の項目のデータについては、店舗名を重点的に登録した店舗用の辞書を用いて自然語解析を行い、データ５２ａとし、対象データ５１の内容の項目のデータについては、商品名を重点的に登録した購買内容用の辞書を用いて自然語解析を行い、データ５２ｂとし、これらをまとめて、解析結果５２としても良い。
【００５９】
更に、図１０，図１１に示すように、店舗属性の形態素解析結果５２ａを店舗用抽象化辞書５３ａで抽象化して抽象化データ５５ａを作成し、形態素解析結果５２ａの語と抽象化データ５５ａの語とを掛け合わせる。同様に、内容属性の形態素解析結果５２ｂを内容用抽象化辞書（不図示）で抽象化して抽象化データ５５ｂを作成し、形態素解析結果５２ｂの語と抽象化データ５５ｂの語とを掛け合わせる。
例えば、
（１）店舗属性の形態素解析結果５２ａと内容属性の形態素解析結果５２ｂ、
（２）店舗属性の形態素解析結果５２ａと内容属性の抽象化結果５５ｂ、
（３）店舗属性の抽象化結果５５ａと内容属性の抽象化結果５５ｂ、
（４）店舗属性の形態素解析結果５２ａと内容属性の形態素解析結果５２ｂ、
の４種類のパターンを作成する。データ５６は、この掛け合わせ結果の一部である。
【００６０】
そして、店舗属性の形態素解析結果５２ａ、内容属性の形態素解析結果５２ｂ、店舗属性の抽象化結果５５ａ、内容属性の抽象化結果５５ｂ、掛け合わせ結果５６をあわせたものがデータ５７（図１２）である。
【００６１】
なお、図１２のデータ５７では、各語と出現数を対応付けているが、出現数に代えて出現率としても良い、例えば、ある語の出現数がｎで、語の総数がｓの場合に、出現率Ａｑをｎ／ｓとする。図１２において、レベルは、語の加工の程度、換言すれば元データとの距離であり、本例において、レベル１は元の語、レベル２は抽象化した語、レベル３は掛け合わせた語である。
また、掛け合わせた語の場合、
属性１の出現数  Ａｎ(1)
属性１の出現率  Ａｑ(1)
属性２の出現数  Ａｎ(1)
属性２の出現率  Ａｑ(2)
Ａｎ(1) ＞ Ａｎ(2)
Ａｎ(1)×(Ａｎ(1)／Ａｎ(1))とする。
また、Ａｎ(1)×(（Ａｎ(1)／ｓ）×（Ａｑ(2)／ｓ）)としても良い。
【００６２】
なお出現率の計算は、一例であり、これに限定されるものではない。
【００６３】
項目候補を含むデータ５７の出現数は、この情報群の中における出現数の大小を示している。そのため、２つ以上の情報を組み合わせて匿名性を検証する必要がある場合、ｋ匿名性を満たすためには、最低でも２以上の出現数がなければ、複数要素の選択肢を組み合わせることが出来ないことが解る。また、２以上であっても出現数が少ない場合、ｋ匿名性を満たす可能性が低くなる。そのため、必要とされるｋの値で足きりを行い、必要とされる情報群を作成する。例えば、図１３の例では、最低出現数を３以上とし、出現数が３未満の候補を除外（足きり）したものが、データ５８である。また、データ５８の出現数に価値データを乗じて指数化し、指数テーブル５９を作成している。なお、出現数に乗ずる価値データは、ＳＥＭ価格に限らず、ＰＯＳの売り上げデータや、ユーザや操作者による重み付け係数であっても良い。
【００６４】
図１４のデータ６１に示すように、スプレッドシートの各行を各ユーザのデータとし、
スプレッドシートの各列に、指数テーブル５９の指数の高い順に項目候補を割り当てる。
【００６５】
そして、対象データ５１を形態素解析し、語を抽出し、また、この語を抽象化して、データ６１の対応する項目に入力する。例えば、データ５１のＩＤ＝Ａ００１のＡブック−中野というデータから、中野を抽出し、抽象化辞書を参照して東京とし、データ６１のＩＤ＝Ａ００１の東京の項目をインクリメントする。なお、データ６１に入力する項目の値は、対象データ５１で該当するデータの数をそのまま入力しても良いし、所定の閾値を越えたら１、超えなければ０とするフラグとして入力しても良い。また、１〜５、６〜１０のように、数値の範囲で入力しても良い。
【００６６】
以上のように本実施形態１によれば、対象データがフローデータ型であってもスプレッドシート型のデータに変換することで、匿名化の検定を確実に行うことができる。
【００６７】
また、本実施形態１によれば、スプレッドシート型のデータに変換する際の項目を語の出現数や価値データに基づいて選択しているので、機械的に変換を行っても、適切な変換結果が得られる。
【００６８】
更に、スプレッドシート型のデータに変換する際、対象データを全て処理しなくても項目候補を選択することができ、処理の負荷が軽減される。
【００６９】
《実施形態２》
本実施形態２は、前述の実施形態１と比べて、主に匿名化候補データを複数の区分に区切って作成した構成が異なる。なお、前述の実施形態１と同一の要素には同符号を付す等して再度の説明を省略している。
【００７０】
匿名化装置１０は、定期的或いは操作者の指示等を契機に図１５，図１６の処理を匿名化の事前処理として実行する。先ず、匿名化装置１０は、他のコンピュータ或いは記憶装置から対象データを取得し、形態素解析により対象データに含まれる語を抽出し、当該語の出現数や出現率を求める（ステップＳ１０）。なお、語の抽出は、全対象データから抽出しても良いが、これに限らず、最初の１万行や、全体の５％など、対処データの一部から抽出するものでも良い。
【００７１】
次に、匿名化装置１０は、ステップＳ１０で抽出した語を抽象化し（ステップＳ２０）、この抽象化した語の出現数や出現率を求める（ステップＳ３０）。また、匿名化装置１０は、必要とされるｋ値未満の項目候補を削除し、足きりを行う（ステップＳ３５）。
【００７２】
そして、匿名化装置１０は、ステップＳ１０で抽出した語、及びステップＳ２０で抽象化した語を項目候補とし、検索情報蓄積ＤＢ４２から価値データを取得して各項目候補の重み付けを行う（ステップＳ４０）。
【００７３】
次に、匿名化装置１０は、操作者（分析担当者）による、区分の設定を受ける（ステップＳ４３）。例えば、年/月/日、時刻、時間帯、季節などの時間の区分や、都道府県など地域の区分、食品/書籍など所定カテゴリによる区分等が設定される。
【００７４】
また、既存データへの追加処理化、新規作成処理かが指定される（ステップＳ４６）。例えば、新規に２月の匿名化候補データを作成する場合や、過去に東京の区分で作成した匿名候補データにデータを追加する等の処理を選択する。
【００７５】
この設定に従い、既存の匿名候補データ又は新規の匿名候補データに、ステップＳ４０で定めた重み付けに基づいて所定数の項目を設定する（ステップＳ５０）。例えば、各語
の出現数又は出現率に価値データ（ＳＥＭ価格）を乗じて指数化し、この指数の高い順に所定数の項目を設定する。
【００７６】
次に匿名化装置１０は、図１６の処理を実行し、対象データから一行分のデータを読み出して（ステップＳ６０）、形態素解析により、この行に含まれる語を抽出する（ステップＳ７０）。匿名化装置１０は、ステップＳ４３で設定された区分の条件を読み出し、利用する匿名化候補データを決定する（ステップＳ７６）。
【００７７】
匿名化装置１０は、この抽出した語の中から、図１５の処理で生成した項目の値に該当する語を索出し（ステップＳ８０）、この項目の値をステップＳ６０で読み出した行のユーザＩＤと対応付けて記憶する（ステップＳ９０）。そして、匿名化装置１０は、次の処理があるか否かを判定し（ステップＳ１００）、次の処理がある場合、現在の行のデータを並行して書き込む他の匿名化候補データがあるか否かを判定する（ステップＳ１０３）。ここで、他の匿名化候補データへ書き込む処理があればステップＳ７６へ移行して利用する匿名化候補データを決定し、ステップＳ８０へ移行する。
【００７８】
一方、ステップＳ１０３で他の匿名化候補データへ書き込む処理がなければ、ステップＳ６０へ戻ってステップＳ６０〜１０３の処理を繰り返す。そして、ステップＳ１００で次の処理が無ければ、匿名化候補データの管理テーブルを作成して、図１６の処理を終了する。
【００７９】
図１７は、１月で区分したデータ６２と、２月で区分したデータ６３を示す図である。本実施形態の対象データ５１は、常に増加するフローデータであるため、例えば月ごとに新しい情報が追加される場合、過去との整合性を確保するテーブル群を追加して管理することが可能となる。
【００８０】
匿名化処理は、時期によって大きく性質が異なるため、例えば１カ月分のデータでは匿名化できないが、１年分のデータを集計すれば匿名化できる場合などが多く存在する。このため、月ごとに匿名化データを累積して行くことで、１年分のデータを改めて計算する手間をかけることなく、長期にわたる知見を得ることができる。
【００８１】
また、地域によってテーブルを分類するなどすることで、その後の統計処理を簡便にすることができる。
【００８２】
更に、図１８に示すように、例えば１月の匿名化データを作成し、２月には、その項目名をそのまま用いた上で、対象データから各ユーザのデータを入力することで、１月に多く存在した数字が、季節要因的なものなのか、定常的なものであるのかの比較が可能となる。
【００８３】
定常的に存在する情報は、出現数が大きい＝匿名性が高いため、情報として細かく区分することが出来る。本実施形態では、語の出現数に基づいて匿名化候補データの項目を決定するので、出現数が大きい語を無駄に抽象化することなく、適切に抽象化候補データを作成できる。
【００８４】
また、１月の上位に作成した匿名化候補データと別に、２月に上位に出現した語による匿名化候補データを作成し、先月との語の相違レベルの比較などに利用することも可能となる。このような多次元の匿名化候補データを管理するテーブルも存在すると、匿名化処理のための指針とすることが出来る。
【００８５】
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００８６】
２    メモリ
３    通信制御部
４    記憶装置
５    入出力インタフェース
１０  匿名化装置
１１  項目候補生成部
１２  項目選択部
１３  匿名候補生成部
１４  匿名検定部
１５  データ出力部
【図１】
2015200972.tif 000003
【図２】
2015200972.tif 000004
【図３】
2015200972.tif 000005
【図４】
2015200972.tif 000006
【図５】
2015200972.tif 000007
【図６】
2015200972.tif 000008
【図７】
2015200972.tif 000009
【図８】
2015200972.tif 000010
【図９】
2015200972.tif 000011
【図１０】
2015200972.tif 000012
【図１１】
2015200972.tif 000013
【図１２】
2015200972.tif 000014
【図１３】
2015200972.tif 000015
【図１４】
2015200972.tif 000016
【図１６】
2015200972.tif 000017
【図１７】
2015200972.tif 000018
【図１８】
2015200972.tif 000019
【図１９】
2015200972.tif 000020
【図１５】
2015200972.tif 000021