(57)【要約】【課題】情報損失を抑制する。【解決手段】本方法は、第1データ項目値と当該第1データ項目値を匿名化するために一般化され得る第2データ項目値と当該第2データ項目値の一般化のためにグループ化すべきデータの数とを含む複数のデータから、グループを代表する第1データを選択する処理、第2データ項目値に基づき算出される、第1データとの距離が閾値未満であり且つグループ化すべきデータの数が閾値以上である第2データを抽出する処理、第1データ及び第2データの数が、第1データに含まれる、グループ化すべきデータの数以上であれば、第2データの少なくとも一部及び第1データをグループ化する処理、上記選択する処理と抽出する処理とグループ化する処理を、グループ化すべきデータの数が大きいデータの順に実行する処理と、グループ毎に、当該グループに含まれるデータにおける第2データ項目値を、所定のルールに従って一般化する処理とを含む。【選択図】図６
2014106691.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ項目値と当該第１のデータ項目値を匿名化するために一般化され得る第２のデータ項目値と当該第２のデータ項目値の一般化のためにグループ化すべきデータブロックの数とを含むデータブロックを複数格納するデータ格納部から、グループを代表する第１のデータブロックを選択する処理と、
前記データ格納部から、第２のデータ項目値に基づき算出される、前記第１のデータブロックとの距離が閾値未満であり且つグループ化すべきデータブロックの数が閾値以上である第２のデータブロックを抽出する処理と、
前記第１のデータブロック及び前記第２のデータブロックの数が、前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数以上であれば、前記第２のデータブロックの少なくとも一部及び前記第１のデータブロックをグループ化する処理と、
前記選択する処理と前記抽出する処理と前記グループ化する処理とを、前記データ格納部に格納されたデータブロックのうち、前記グループ化すべきデータブロックの数が大きいデータブロックの順に実行する処理と、
グループ毎に、当該グループに含まれるデータブロックにおける第２のデータ項目値を、所定のルールに従って一般化する処理と、
を含み、コンピュータにより実行される匿名化処理方法。
【請求項２】
前記実行する処理において、
直前に選択された前記第１のデータブロックとの距離が最大となるデータブロック又は前記直前に選択された前記第１のデータブロックとの距離が前記閾値を超えるデータブロックを選択する
請求項１記載の匿名化処理方法。
【請求項３】
前記距離が、
第２のデータ項目値を段階的に一般化する階層木のデータにおいて、２つの第２のデータ項目値を含む最小の部分木における階層数と、前記階層木の階層数とから算出される
請求項１又は２記載の匿名化処理方法。
【請求項４】
前記距離の閾値が、
前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数に応じて決定される
請求項１乃至３のいずれか１つ記載の匿名化処理方法。
【請求項５】
前記データブロックの数の閾値が、
前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数に応じて決定される
請求項１乃至４のいずれか１つ記載の匿名化処理方法。
【請求項６】
前記第１のデータブロック及び前記第２のデータブロックの数が、前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数未満である場合、他のグループに含まれる第１のデータブロックとの距離が閾値以下であれば、当該他のグループに前記選択する処理において選択された前記第１のデータブロックを追加する処理
をさらに含む請求項１乃至５のいずれか１つ記載の匿名化処理方法。
【請求項７】
前記他のグループに含まれる第１のデータブロックとの距離が閾値を超える場合には、前記第１のデータブロックを破棄する処理
をさらに含む請求項６記載の匿名化処理方法。
【請求項８】
第１のデータ項目値と当該第１のデータ項目値を匿名化するために一般化され得る第２のデータ項目値と当該第２のデータ項目値の一般化のためにグループ化すべきデータブロックの数とを含むデータブロックを複数格納するデータ格納部から、グループを代表する第１のデータブロックを選択する処理と、
前記データ格納部から、第２のデータ項目値に基づき算出される、前記第１のデータブロックとの距離が閾値未満であり且つグループ化すべきデータブロックの数が閾値以上である第２のデータブロックを抽出する処理と、
前記第１のデータブロック及び前記第２のデータブロックの数が、前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数以上であれば、前記第２のデータブロックの少なくとも一部及び前記第１のデータブロックをグループ化する処理と、
前記選択する処理と前記抽出する処理と前記グループ化する処理とを、前記データ格納部に格納されたデータブロックのうち、前記グループ化すべきデータブロックの数が大きいデータブロックの順に実行する処理と、
グループ毎に、当該グループに含まれるデータブロックにおける第２のデータ項目値を、所定のルールに従って一般化する処理と、
を、コンピュータに実行させるための匿名化処理プログラム。
【請求項９】
第１のデータ項目値と当該第１のデータ項目値を匿名化するために一般化され得る第２のデータ項目値と当該第２のデータ項目値の一般化のためにグループ化すべきデータブロックの数とを含むデータブロックを複数格納するデータ格納部から、グループを代表する第１のデータブロックを選択する処理と、前記データ格納部から、第２のデータ項目値に基づき算出される、前記第１のデータブロックとの距離が閾値未満であり且つグループ化すべきデータブロックの数が閾値以上である第２のデータブロックを抽出する処理と、前記第１のデータブロック及び前記第２のデータブロックの数が、前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数以上であれば、前記第２のデータブロックの少なくとも一部及び前記第１のデータブロックをグループ化する処理とを、前記データ格納部に格納されたデータブロックのうち、前記グループ化すべきデータブロックの数が大きいデータブロックの順に実行する第１処理部と、
グループ毎に、当該グループに含まれるデータブロックにおける第２のデータ項目値を、所定のルールに従って一般化する第２処理部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報の匿名化技術に関する。
【背景技術】
【０００２】
病院などが有する、個人の病歴などのデータを基にデータ分析を行って、例えば「○○代の××地区に住んでいる人は△△病になりやすい」といった有益な情報が得られることが期待されている。
【０００３】
このようなデータ分析処理は、データ分析についてノウハウを有する有識者がおり且つ複数の病院などから大量のデータを受け付けることができる大規模リソースを有する外部のクラウドコンピューティングなどの第三者機関に委託できることが望ましい。しかし、個人の機微なプライバシ情報である病歴データなどを、そのまま外部の第三者機関に公開することは出来ない。そこで、個人のプライバシ情報を保護するための匿名化技術が用いられることになる。
【０００４】
匿名化の最も基本的な方法として、情報提供者についての複数のデータ項目値を含む各レコードから、名前などの個人を識別するための情報（すなわちＩＤ）を除去するというものが考えられる。例えば図１に示されたようなデータが存在するものとする。図１の例では、ＩＤと、年齢と、性別と、住所と、病気というデータ項目の各々についてデータ項目値を含む３つのレコードが示されている。そして、このようなレコード群からＩＤを除去すると、図２に示すようなデータが得られる。
【０００５】
しかし、ＩＤが除去されたデータから、組み合わせることで個人を特定できる可能性があるデータ項目（住所や年齢など）を基に、個人とデータ（例えば病気）を紐付け、個人のプライバシ情報を取得するという攻撃方法が存在する。例えば、Ｘ病院に２４歳男性のＡが通院していることを攻撃者が知っているとする。Ｘ病院が公開した匿名化データ（図２）に、「２４歳男性」のレコードが１つしかなければ、それはＡのレコードであると容易に特定できる。これにより、Ａのものであろうレコードを確認することで、Ａの機微なプライバシ情報である病歴などが漏洩してしまう。
【０００６】
そこで、組み合わせることで個人を特定できる可能性があるデータ項目から個人を一意に特定できないように、同じデータ項目値を有するレコードがレコード群中にｋ個以上存在するようになるまでデータ項目値を一般化するｋ−匿名化技術が提案されている。
【０００７】
例えば、図２のようなデータであれば、Ａの年齢「２４歳」を「２０代」に、Ｂの年齢「２６歳」を「２０代」に一般化すれば、ｋ＝２を満たすｋ−匿名化がなされたことになる。なお、図３の例では、さらに住所についても、「埼玉」や「東京」を「関東」に一般化することで匿名化を行っている。
【０００８】
同じデータ項目値を有するレコードをｋ個以上にすることによって、攻撃者は、ある人物に関するレコードをｋ個以上絞り込めない。攻撃者は、２４歳男性のＡに相当する「２０代男性」のレコードが、Ｘ病院が公開した匿名化データにｋ個以上存在することから、ｋ個のうちいずれがＡのレコードなのか特定できず、Ａの機微なプライバシ情報を得ることは出来なくなる。
【０００９】
ｋ−匿名化されたレコード群のプライバシレベルはｋ−匿名化のパラメータであるｋの値によって決まる。一般に、ｋが大きければ大きいほど高いプライバシを保つことが出来るが、その分データが一般化されすぎたり、ｋ個のレコードを揃えることができなくなって、レコードそのものを削除することになったりして、匿名化による情報損失も多くなる。
【００１０】
一方、プライバシに対する考え方は人それぞれであり、それほど高いプライバシを要求しない情報提供者も存在する。そのような情報提供者の有益な情報までも、既存のｋ−匿名化技術では失われてしまう。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００５−７８１３８号公報
【特許文献２】特開２００９−３１９００号公報
【特許文献３】特開２００６−３３９８９５号公報
【特許文献４】特開２０１２−３４４０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従って、本技術の目的は、一側面によれば、情報損失を抑制する匿名化処理技術を提供することである。
【課題を解決するための手段】
【００１３】
本技術の一側面に係る匿名化処理方法は、（Ａ）第１のデータ項目値と当該第１のデータ項目値を匿名化するために一般化され得る第２のデータ項目値と当該第２のデータ項目値の一般化のためにグループ化すべきデータブロックの数とを含むデータブロックを複数格納するデータ格納部から、グループを代表する第１のデータブロックを選択する処理と、（Ｂ）データ格納部から、第２のデータ項目値に基づき算出される、第１のデータブロックとの距離が閾値未満であり且つグループ化すべきデータブロックの数が閾値以上である第２のデータブロックを抽出する処理と、（Ｃ）第１のデータブロック及び第２のデータブロックの数が、第１のデータブロックに含まれる、グループ化すべきデータブロックの数以上であれば、第２のデータブロックの少なくとも一部及び第１のデータブロックをグループ化する処理と、（Ｄ）上記選択する処理と上記抽出する処理と上記グループ化する処理とを、データ格納部に格納されたデータブロックのうち、グループ化すべきデータブロックの数が大きいデータブロックの順に実行する処理と、（Ｅ）グループ毎に、当該グループに含まれるデータブロックにおける第２のデータ項目値を、所定のルールに従って一般化する処理とを含む。
【発明の効果】
【００１４】
一側面によれば、匿名化処理において情報損失を抑制することができるようになる。
【図面の簡単な説明】
【００１５】
【図１】図１は、レコードの一例を示す図である。
【図２】図２は、ＩＤを除去したレコードの一例を示す図である。
【図３】図３は、ｋ−匿名化の処理結果の一例を示す図である。
【図４】図４は、本技術の実施の形態に係るシステムの概要を示す図である。
【図５】図５は、情報収集者装置の機能ブロック図である。
【図６】図６は、第１データ格納部に格納されるデータの一例を示す図である。
【図７】図７は、設定データ格納部に格納される一般化階層木の一例を示す図である。
【図８】図８は、設定データ格納部に格納される一般化階層木の一例を示す図である。
【図９】図９は、一般化階層木のバリエーションを説明するための図である。
【図１０】図１０は、設定データ格納部に格納される定義データの一例を示す図である。
【図１１】図１１は、実施の形態に係るメインの処理フローを示す図である。
【図１２】図１２は、レコード探索処理の処理フローを示す図である。
【図１３】図１３は、ｋ−匿名化処理を説明するための図である。
【図１４】図１４は、ｋ−匿名化処理を説明するための図である。
【図１５】図１５は、ｋ−匿名化処理を説明するための図である。
【図１６】図１６は、ｋ−匿名化処理を説明するための図である。
【図１７】図１７は、本実施の形態の概要を説明するための図である。
【図１８】図１８は、本実施の形態の概要を説明するための図である。
【図１９】図１９は、レコード探索処理の処理フローを示す図である。
【図２０】図２０は、距離算出処理の処理フローを示す図である。
【図２１】図２１は、距離算出処理を説明するための図である。
【図２２】図２２は、距離算出処理を説明するための図である。
【図２３】図２３は、レコードグループ生成処理の処理フローを示す図である。
【図２４】図２４は、統合又は削除処理の処理フローを示す図である。
【図２５】図２５は、一般化処理の処理フローを示す図である。
【図２６】図２６は、一般化処理を説明するための図である。
【図２７】図２７は、処理結果の一例を示す図である。
【図２８】図２８は、情報分析者装置における処理を説明するための図である。
【図２９】図２９は、情報分析者装置における処理を説明するための図である。
【図３０】図３０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１６】
本技術の実施の形態では、情報提供者毎に異なる匿名化希望レベルｋを設定して、当該情報提供者毎に異なる匿名化希望レベルｋに基づき匿名化処理を実行する。但し、匿名化希望レベルｋの値が大きい情報提供者のレコードと、匿名化希望レベルｋの値が小さい情報提供者のレコードとが一緒に匿名化のために一般化されることがないようにして、情報損失を抑制する。
【００１７】
具体的に、本実施の形態に係る処理を行うシステムの構成例を図４に示す。図４に示すように、例えばインターネットなどのネットワーク１には、例えば患者のデータを分析のために提供する複数の情報提供者装置（図４では情報提供者装置Ａ及びＢ）と、データ分析のために匿名化処理を実行する情報収集者装置３と、情報収集者装置３から匿名化データの提供を受けて分析処理を実行する情報分析者装置５とが接続されている。これらの装置は、情報処理装置であり、記憶装置、通信機能、演算機能を有している。
【００１８】
情報提供者は、自らの個人のデータを提供する者である場合もあれば、病院などの複数の患者のデータを提供する者である場合もある。また、ネットワーク１を介する通信については、暗号化などで秘匿化されているものとする。
【００１９】
情報提供者装置Ａ及びＢは、自らが保持しているデータをネットワーク１を介して情報収集者装置３に送信する。この際、送信するデータには、識別子（ＩＤ）と、組み合わせることで個人を特定できる可能性があるデータ（ｑＩＤ（quasi-ID）と呼ぶ）と、プライバシデータ又はセンシティブデータと、匿名化希望レベルとが含まれる。匿名化希望レベルは、ｋ−匿名化におけるｋに相当する値であり、同一値がｋ個以上となるようにｑＩＤの値を一般化するものとする。
【００２０】
情報収集者装置３は、以下で述べるような匿名化処理を実施して、匿名化データを保持しておく。そして、情報収集者装置３は、情報分析者装置５からの要求に応じて、匿名化データを、情報分析者装置５に送信する。情報分析装置５は、匿名化データを用いて所定の分析処理を実施し、何らかの分析結果を出力する。
【００２１】
本実施の形態に係る主要な処理を実施する情報収集者装置３は、図５に示すような構成を有する。情報収集者装置３は、受信部３１と、第１データ格納部３２と、グループ化処理部３３と、設定データ格納部３４と、第２データ格納部３５と、一般化処理部３６と、第３データ格納部３７と、送信部３８とを有する。
【００２２】
受信部３１は、情報提供者装置Ａ及びＢからデータを受信し、第１データ格納部３２に格納する。第１データ格納部３２には、例えば図６に示すようなデータが格納される。図６の例では、ＩＤである名前と、ｑＩＤである年齢及び住所と、センシティブデータである病気及び体重と、匿名化希望レベルｋとが、各レコード（データブロックとも呼ぶ）に含まれるようになっている。匿名化希望レベルｋは、各レコードで異なり得るものである。
【００２３】
グループ化処理部３３は、設定データ格納部３４に格納されているデータに基づき、第１データ格納部３２に格納されているレコード群をグループ化する処理を実行し、処理結果を第２データ格納部３５に格納する。一般化処理部３６は、第２データ格納部３５に格納されている各グループについて、ｑＩＤのデータを、設定データ格納部３４に格納されているデータに従って一般化する処理を実行し、処理結果を第３データ格納部３７に格納する。送信部３８は、情報分析者装置５の要求等に応じて、当該情報分析者装置５等に、第３データ格納部３７に格納するデータを送信する。
【００２４】
設定データ格納部３４には、各ｑＩＤについて、例えば図７に示すような一般化階層木のデータを保持しておく。図７は、住所というｑＩＤについての一般化階層木の一部を示しており、最上層として「日本」、第２階層として「東日本」「西日本」、第３階層として「東日本」の配下に「東北」及び「関東」など、「西日本」の配下に「関西」及び「九州」などがノードとして配置されている。住所であれば、例えば出現し得る住所のうち市区町村が葉ノードとなるように階層構造を予め用意しておく。このような一般化階層木を用いて、レコード間の距離や一般化処理を行う。
【００２５】
また、年齢というｑＩＤについての一般化階層木の一部を図８に示す。図８では、２０代というノード以下の部分木を示している。このように、２０代というノードの配下には「２０代前半」及び「２０代後半」というノードが配置されており、２０代前半というノードの配下には２０歳から２４歳までのノードが配置されており、２０代後半というノードの配下には２５歳から２９歳までのノードが配置されている。この場合、葉ノードは、ｑＩＤとして実際に出現する値となっている。
【００２６】
以下でも説明するが、本実施の形態では、階層の深さで距離を算出するようになっているので、ブランクの中間ノードを設けることで、階層の深さを調節して距離に対する重み付けを行ってもよい。例えば、図９に示すように、若者というノードの配下には、１０歳未満というノードと１０代というノードとを並列に配置するのではなく、１０代の階層を深くするために、１０歳未満というノードと並列にブランク｛ｂｌａｎｋ｝というノードを配置している。このように予め一般化処理や距離を算出する上で適切に設計された一般化階層木のデータを用意しておく。
【００２７】
また、本実施の形態では、設定データ格納部３４には、図１０に示すような定義データについても格納しておく。図１０の例では、ＩＤと取り扱われるべきカラムが「名前」カラムであり、ｑＩＤとして取り扱われるべきカラムが「年齢」及び「住所」であり、センシティブデータとして取り扱われるべきカラムが「病気」及び「体重」であることが示されている。以下の処理では、ＩＤについては除去され、ｑＩＤについては距離を算出する際や一般化する際に用いられるので、本データは他の属性のカラムと区別するために用いられる。
【００２８】
次に、図１１乃至図２９を用いて、情報収集者装置３の処理内容について説明する。なお、既に受信部３１が、情報提供者装置Ａ及びＢ等からデータを受信して第１データ格納部３２に格納する処理が完了しているものとする。
【００２９】
グループ化処理部３３は、第１データ格納部３２に格納されている処理すべきレコードを、レコードｒの集合Ｘに設定する（図１１：ステップＳ１）。例えば、ＩＤ以外のデータ項目値を含むものとしてレコードｒを特定する。すなわち、ｒ＝｛ｑＩＤ1,...,ｑＩＤn,ＳＤ1,..,ＳＤm，ｋ｝。但し、ＳＤはセンシティブデータを表し、ｑＩＤの数はｎ、センシティブデータの項目数がｍであるものとする。例えば、図６のＡという患者の場合、ｒ＝｛２３，東京，胃炎，６７，１｝となっており、２３及び東京はｑＩＤであり、胃炎及び「６７」はＳＤであり、１はｋである。
【００３０】
次に、グループ化処理部３３は、レコードグループｅの集合Ｙ＝｛｝（空集合）を設定する（ステップＳ３）。本実施の形態におけるレコードグループｅは、当該グループの代表レコードと、グループに含まれるレコードの集合Ｒとで表される。例えば、ｅ＝｛ｒe，Ｒ＝｛ｒ1,...,ｒl｝｝。なお、ｌは、Ｒに含まれるレコードの匿名化希望レベルｋのうちの最大値以上の整数である。
【００３１】
そして、グループ化処理部３３は、集合Ｘにおいて匿名化希望レベルが最大のレコードのうち、１つのレコードを代表レコードｒ＿ｍａｘとして選択する（ステップＳ５）。匿名化希望レベルが大きいほどグループ化しにくいので、匿名化希望レベルが大きい順に優先的にグループ化するものである。
【００３２】
その後、グループ化処理部３３は、レコードｒ＿ｍａｘに基づき、レコード探索処理を実行する（ステップＳ７）。レコード探索処理については、図１２乃至図２２を用いて説明する。
【００３３】
まず、グループ化処理部３３は、レコードｒ＿ｍａｘについてのレコードグループｅ＝｛ｒ＿ｍａｘ，Ｒ＝｛ｒ＿ｍａｘ｝｝を生成する（ステップＳ２１）。また、グループ化処理部３３は、グループに含めるべきレコードの集合Ｒｃ＝｛｝（空集合）を設定する（ステップＳ２３）。
【００３４】
さらに、グループ化処理部３３は、ｒ＿ｍａｘの匿名化希望レベルｋ＿ｍａｘからｋ＿ａ＝α×ｋ＿ｍａｘを算出する（ステップＳ２５）。ｋ＿ａは、グループ化する際に他のレコードの匿名化希望レベルの閾値として用いられる。αについては、例えば設定データ格納部３４に予め格納しておく係数である。
【００３５】
また、グループ化処理部３３は、距離についての閾値Δ＿ａ＝β×ｋ＿ｍａｘを算出する（ステップＳ２７）。βについても、例えば設定データ格納部３４に予め格納しておく係数である。
【００３６】
ここで、一般的なｋ−匿名化との差を具体的に示しておく。例えば図１３に示すような年齢及び住所というｑＩＤを含むレコードをｋ＝３でｋ−匿名化する場合には、図１４に模式的に示すようにｑＩＤの値が近いｋ個のレコードでグループ（図１４中点線丸）を生成し、グループ内のレコードが同じｑＩＤとなるように、値を一般化する。そうすると、図１５に示すように、ｑＩＤである年齢及び住所は一般化される。このように一般的なｋ−匿名化ではｋは全てのレコードについて同一であるが、本実施の形態のようにレコード毎に匿名化希望レベルｋが設定される場合には、同一のｋを有するレコードのみからなるグループを形成しようとすると情報損失が大きくなってしまう。例えば、図１６に示すように、ｋ＝５のレコードを表す丸が４つしかないと、×印が付されているようにそれらのレコードは削除されてしまう。一方、ｋ＝３のレコードを表す丸は３つ存在しているが、大きく離れており、これらのｑＩＤを同一の値に一般化してしまうと、情報が一般化されすぎてしまう。さらに、削除される４つのレコードの近くには、１つｋ＝３のレコードがあるのにグループ化されない。
【００３７】
本実施の形態では、代表レコードｒ＿ｍａｘについてのｋに基づき算出されるｋ＿ａ以上であれば、同じｋでなくとも、以下で説明する距離がΔ＿ａ以下であれば同じグループに纏めてしまう。図１６と同じようなレコード群をグループ化する際に、図１７に模式的に示すように、ｋ＝５のレコード４つと、ｋ＝３の１つのレコードは、ｋの値が近く且つ距離も近いため１つのグループ（点線丸）に纏められる。この際、ｋ＝５のレコードに応じて５つのレコードでグループ化する。また、ｋ＝３の２つのレコードとｋ＝１の１つのレコードについても、ｋの値が近く且つ距離も近いため１つのグループ（点線丸）に纏められる。この際、ｋ＝３のレコードに応じて３つのレコードでグループ化する。
【００３８】
より具体的には、図１８に示すように、代表レコード１００を中心に、距離の閾値Δ＿ａ以内（一点鎖線の範囲）に入るレコードがグループ化の対象となる。但し、代表レコード１００の匿名化希望レベルｋは「３」でα＝０．６であるとすると、ｋ＿ａ＝１．８以上のｋを有するレコードでなければグループ化しないので、ｋ＝１のレコード１０１については同じグループには入れられない。
【００３９】
なお、当初は、Δ＿ａ以内に入るレコードが代表レコードの匿名化希望レベルｋを超えて見つかるかもしれない。例えば、代表レコード１１０の場合、距離の閾値Δ＿ａ以内の範囲１１１に４つのレコードが見つかるが、最も距離が遠いレコード１１２は、一旦グループから除外される。但し、レコード１１２を代表レコードとしてグループ化を行った結果、当該レコード１１２の匿名化希望レベルｋ＝２以上のレコードが見つからなかった場合には、レコード１１２は代表レコード１１０のグループに入れられる。なお、レコード１０２のように孤立してしまっている、すなわち距離と匿名化希望レベルと個数の要件を満たす他のレコードが見つからない場合には、削除される。
【００４０】
以下、図１２の処理フローに戻って具体的な処理内容について説明する。グループ化処理部３３は、集合Ｘに含まれる未処理のレコードｒ＿ｊを１つ選択する（ステップＳ２９）。処理は端子Ａを介して図１９の処理に移行する。
【００４１】
図１９の処理の説明に移行して、グループ化処理部３３は、レコードｒ＿ｊの匿名化希望レベルがｋ＿ａ以上であるか判断する（ステップＳ３１）。レコードｒ＿ｊの匿名化希望レベルがｋ＿ａ未満であれば処理はステップＳ３９に移行する。
【００４２】
一方、レコードｒ＿ｊの匿名化希望レベルがｋ＿ａ以上であれば、グループ化処理部３３は、代表レコードｒ＿ｍａｘとレコードｒ＿ｊとの間の距離Δ＿ｊを算出する距離算出処理を実行する（ステップＳ３３）。距離算出処理については、図２０乃至図２２を用いて説明する。
【００４３】
まず、グループ化処理部３３は、距離Δを０に設定する（図２０：ステップＳ４１）。そして、グループ化処理部３３は、全てのｑＩＤのうち未処理のｑＩＤｉを選択する（ステップＳ４３）。その後、グループ化処理部３３は、設定データ格納部３４におけるｑＩＤｉについての一般化階層木から、距離を算出すべきレコードｒ０及びｒ１のｑＩＤｉの値を含む最小の部分木の深さＤｅｐｔｈ＿ｐを特定する（ステップＳ４５）。
【００４４】
図８のような部分木が一般化階層木であるとすると、図２１に示すように、レコードｒ０のｑＩＤｉである年齢が「２０歳」で、レコードｒ１のｑＩＤｉである年齢が「２４歳」であれば、レコードｒ０及びｒ１の値を両方とも含む部分木は点線Ｘで囲まれたものである。そうすると、部分木の深さはＡの矢印で示された深さであり、Ｄｅｐｔｈ＿ｐ＝１となる。一方、一般化階層木の深さは「２」となる。
【００４５】
一方、図２２に示すように、レコードｒ０のｑＩＤｉである年齢が「２０歳」で、レコードｒ１のｑＩＤｉである年齢が「２９歳」であれば、レコードｒ０及びｒ１の値を両方とも含む部分木は点線Ｙで囲まれた一般化階層木全体となる。従って、部分木の深さはＢの矢印で示された深さであり、Ｄｅｐｔｈ＿ｐ＝２となる。
【００４６】
そして、グループ化処理部３３は、ｑＩＤｉについての距離Δ＿ｉ＝Ｄｅｐｔｈ＿ｐ／｛ｑＩＤｉの一般化階層木の深さ｝を算出する（ステップＳ４７）。さらに、グループ化処理部３３は、Δ＝Δ＋Δ＿ｉを算出する（ステップＳ４９）。すなわち、ｑＩＤｉについて算出された距離Δ＿ｉの総和が、レコード間の距離となる。
【００４７】
そして、グループ化処理部３３は、未処理のｑＩＤｉが存在するか判断する（ステップＳ５１）。未処理のｑＩＤｉが存在する場合には、処理はステップＳ４３に戻る。一方、未処理のｑＩＤｉが存在しない場合には、処理は呼出元の処理に戻る。
【００４８】
図１９の処理の説明に戻って、代表レコードｒ＿ｍａｘ及びレコードｒ＿ｊの間の距離が算出されると、グループ化処理部３３は、Δ＿ｊ≦Δ＿ａであるか判断する（ステップＳ３５）。すなわち、代表レコードｒ＿ｍａｘ及びレコードｒ＿ｊの間の距離Δ＿ｊが閾値Δ＿ａ以下であるかを判断する。距離Δ＿ｊが閾値Δ＿ａを超える場合には処理はステップＳ３９に移行する。
【００４９】
一方、距離Δ＿ｊが閾値Δ＿ａ以下である場合には、グループ化処理部３３は、集合Ｒｃに、レコードｒ＿ｊ及び距離Δ＿ｊを設定する（ステップＳ３７）。その後、グループ化処理部３３は、集合Ｘにおいて未処理のレコードが存在するか判断する（ステップＳ３９）。そして、集合Ｘにおいて未処理のレコードが存在しない場合には、端子Ｂを介して図１２のステップＳ２９に戻る。
【００５０】
このようにすれば、距離と匿名化レベルとについて条件を満たすレコード及びそのレコードとの距離とが集合Ｒｃに登録される。
【００５１】
図１１の処理の説明に戻って、グループ化処理部３３は、Ｒｃの要素数がｋ＿ｍａｘ−１以上であるか判断する（ステップＳ９）。Ｒｃの要素数がｋ＿ｍａｘ−１以上であれば、グループ化処理部３３は、レコードグループ生成処理を実行する（ステップＳ１１）。レコードグループ生成処理については図２３を用いて説明する。レコードグループ生成処理が終了するとステップＳ１５に移行する。
【００５２】
グループ化処理部３３は、集合ＲｃにおいてΔ＿ｊが小さい順にレコードｒ＿ｊをｋ＿ｍａｘ−１個抽出し、集合Ｒに対して抽出したレコードｒ＿ｊを追加する（ステップＳ６１）。できるだけレコードを何らかのグループに含めるためには、当初は集合Ｒに代表レコードｒ＿ｍａｘを含めてｋ＿ｍａｘ個のレコードを含めるだけにしておく。結果としては、このグループにはｋ＿ｍａｘ個以上のレコードが含まれる場合もある。
【００５３】
また、グループ化処理部３３は、レコードグループｅを集合Ｙに追加する（ステップＳ６３）。集合Ｙについてのデータは、第２データ格納部３５に格納される。
【００５４】
さらに、グループ化処理部３３は、集合Ｘから集合Ｒに含まれるレコードを除外する（ステップＳ６５）。そして処理は、呼出元の処理に戻る。
【００５５】
このような処理を実施することで、いっしょに一般化すべきレコードグループｅが１つできあがったことになる。但し、レコードグループｅには、まだレコードが追加される可能性はある。
【００５６】
図１１の処理の説明に戻って、一方、集合Ｒｃの要素数がｋ＿ｍａｘ−１未満であれば、グループ化処理部３３は、統合又は削除処理を実行する（ステップＳ１３）。統合又は削除処理については、図２４を用いて説明する。なお、この処理が終了すると、処理はステップＳ１５に移行する。
【００５７】
グループ化処理部３３は、代表レコードｒ＿ｍａｘと、集合Ｙに含まれるレコードグループｅの代表レコードｒ＿ｏとの距離Δ（ｒ＿ｏ，ｒ＿ｍａｘ）が最小のレコードグループｅ＿ｍｉｎを特定する（図２４：ステップＳ７１）。
【００５８】
そして、グループ化処理部３３は、Δ（ｒ＿ｏ，ｒ＿ｍａｘ）≦β×｛代表レコードｒ＿ｏの匿名化希望レベル｝であるかを判断する（ステップＳ７３）。自らの周辺に十分なレコードが存在しなかった代表レコードｒ＿ｍａｘであっても、他のレコードグループの代表レコードとの距離のうち最も短い距離が、当該他のレコードグループの代表レコードの圏内（β×｛代表レコードｒ＿ｏの匿名化希望レベル）であれば、例えば図２３のステップＳ６１で選に漏れたレコードである。従って、ここで再確認を行うものである。
【００５９】
この処理フローでは、最初に距離が最小のレコードグループｅ＿ｍｉｎを特定しているが、距離Δ（ｒ＿ｏ，ｒ＿ｍａｘ）が、β×｛代表レコードｒ＿ｏの匿名化希望レベル｝以下という条件を満たすレコードグループであれば、そのレコードグループにレコードｒ＿ｍａｘを含めるようにしても大きな問題は無い。
【００６０】
Δ（ｒ＿ｏ，ｒ＿ｍａｘ）≦β×｛代表レコードｒ＿ｏの匿名化希望レベル｝ではない場合には、処理はステップＳ７７に移行する。すなわち、代表レコードｒ＿ｍａｘは、削除されることになる。
【００６１】
一方、Δ（ｒ＿ｏ，ｒ＿ｍａｘ）≦β×｛代表レコードｒ＿ｏの匿名化希望レベル｝である場合には、グループ化処理部３３は、レコードグループｅ＿ｍｉｎのレコード集合Ｒ＿ｍｉｎに処理に係るレコードｒ＿ｍａｘを追加する（ステップＳ７５）。
【００６２】
そして、グループ化処理部３３は、集合Ｘからレコードｒ＿ｍａｘを除外する（ステップＳ７７）。これによって、レコードｒ＿ｍａｘは、これ以降の処理の対象から除外される。そして処理は呼出元の処理に戻る。
【００６３】
図１１の処理の説明に戻って、グループ化処理部３３は、集合Ｘが空集合であるか判断する（ステップＳ１５）。集合Ｘが空集合でない場合には、グループ化処理部３３は、集合Ｘにおいて匿名化希望レベルが最大のレコードのうち、現ｒ＿ｍａｘとの距離が最大となるレコードｒを新ｒ＿ｍａｘと設定する（ステップＳ１７）。そして処理はステップＳ７に戻る。
【００６４】
このように現ｒ＿ｍａｘと距離が最大となるレコードｒを抽出すれば、レコードｒのグループ生成が効率的に行われるようになる。すなわち、まだレコードｒの周辺により多くのレコードが残っていることが期待されるためである。但し、現ｒ＿ｍａｘから距離Δ＿ａを超えた位置にあるレコードであれば、このステップで新たなｒ＿ｍａｘとして選択しても処理は可能である。
【００６５】
一方、集合Ｘが空集合であれば、一般化処理部３６は、設定データ格納部３４に格納されているデータを用いて、一般化処理を実行し、処理結果を第３データ格納部３７に格納する（ステップＳ１９）。一般化処理については、図２５乃至図２７を用いて説明する。
【００６６】
一般化処理部３６は、集合Ｙに含まれるレコードグループｅのうち未処理のレコードグループを特定する（図２５：ステップＳ８１）。そして、一般化処理部３６は、未処理のｑＩＤｉを１つ選択する（ステップＳ８３）。
【００６７】
その後、一般化処理部３６は、レコードグループｅの集合Ｒに含まれるレコードのｑＩＤｉの値について共通の親を一般化階層木から特定し、集合Ｒに含まれるレコードのｑＩＤｉの値を、共通の親の値で置換する（ステップＳ８５）。例えば、図２６に示すように、ｑＩＤｉである年齢の値が「２０歳」「２４歳」「２５歳」であるレコード群が集合Ｒに含まれている場合には、共通の親「２０代」に、置換される。
【００６８】
そして、一般化処理部３６は、未処理のｑＩＤｉが存在するか判断する（ステップＳ８７）。未処理のｑＩＤｉが存在する場合には、処理はステップＳ８３に戻る。一方、未処理のｑＩＤｉが存在しない場合には、一般化処理部３６は、未処理のレコードグループｅが集合Ｙに存在しているか判断する（ステップＳ８９）。未処理のレコードグループｅが存在する場合にはステップＳ８１に戻る。一方、未処理のレコードグループｅが存在していない場合には、一般化処理部３６は、集合Ｙに含まれる全てのレコードグループｅ及び当該レコードグループｅの集合Ｒに含まれるレコードのデータを、第３データ格納部３７に格納する（ステップＳ９１）。
【００６９】
以上のような処理を実行することで、レコード毎に匿名化希望レベルｋが異なる場合であっても、情報損失を抑えつつ匿名化することができるようになる。
【００７０】
例えば図６のようなデータを上で述べたような処理を実行すれば、図２７に示すようなデータが得られる。図２７の例では、年齢及び住所といったｑＩＤについては一般化されている。
【００７１】
このような処理を行った後、図２７に示すようなデータは、送信部３８により、例えば情報分析者装置５からの要求に応じて、情報分析者装置５へ送信される。
【００７２】
しかしながら、例えば図２８に示すように、できるだけ情報損失が少なくなるように匿名化しているが、住所が「東京都」や「関東」、年齢が「２０代」と「２３歳」といったようにデータの粒度が異なるとデータ分析がやりにくいという側面もある。従って、これに対しては図２９に示すように、一般化階層木の階層に従って属性を分割し、一般化されてしまっており不明な属性値についてはブランク「ｂｌａｎｋ」として設定する。すなわち、住所が「関東」でどの県か不明な場合には、県属性は「ｂｌａｎｋ」となる。また、年齢が「２０代」で二十何歳か分からないので、年齢属性は「ｂｌａｎｋ」となる。このような処理を情報分析者装置５で実施すれば、相関関係抽出などのデータ分析が容易になる。
【００７３】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図５に示した情報収集装置３の機能ブロック図は、プログラムモジュール構成とは一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実行できる場合もある。
【００７４】
また、医療情報の例を示しているが、これは一例であってどのようなデータであっても良い。
【００７５】
なお、上で述べた情報提供者装置Ａ及びＢ、情報収集者装置３及び情報分析者装置５は、コンピュータ装置であって、図３０に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７６】
以上述べた本実施の形態をまとめると、以下のようになる。
【００７７】
本実施の形態に係る匿名化処理方法は、（Ａ）第１のデータ項目値と当該第１のデータ項目値を匿名化するために一般化され得る第２のデータ項目値と当該第２のデータ項目値の一般化のためにグループ化すべきデータブロックの数とを含むデータブロックを複数格納するデータ格納部から、グループを代表する第１のデータブロックを選択する処理と、（Ｂ）データ格納部から、第２のデータ項目値に基づき算出される、第１のデータブロックとの距離が閾値未満であり且つグループ化すべきデータブロックの数が閾値以上である第２のデータブロックを抽出する処理と、（Ｃ）第１のデータブロック及び第２のデータブロックの数が、第１のデータブロックに含まれる、グループ化すべきデータブロックの数以上であれば、第２のデータブロックの少なくとも一部及び第１のデータブロックをグループ化する処理と、（Ｄ）上記選択する処理と上記抽出する処理と上記グループ化する処理とを、データ格納部に格納されたデータブロックのうち、グループ化すべきデータブロックの数が大きいデータブロックの順に実行する処理と、（Ｅ）グループ毎に、当該グループに含まれるデータブロックにおける第２のデータ項目値を、所定のルールに従って一般化する処理とを含む。
【００７８】
このような処理を実行すれば、データブロック毎に上記グループ化すべきデータブロックの数（実施の形態における匿名化希望レベルに相当）が設定されていても、情報損失を抑えつつ適切に匿名化を行うことができるようになる。
【００７９】
上記実行する処理において、直前に選択された第１のデータブロックとの距離が最大となるデータブロック又は直前に選択された第１のデータブロックとの距離が上記閾値を超えるデータブロックを選択するようにしても良い。前者であれば効率的にグループ化を行うことができるようになる。
【００８０】
また、上記距離が、第２のデータ項目値を段階的に一般化する階層木のデータにおいて、２つの第２のデータ項目値を含む最小の部分木における階層数と、階層木の階層数とから算出されるようにしても良い。このようにすれば、適切に距離を定義できるようになる。
【００８１】
また、上記距離の閾値が、第１のデータブロックに含まれる、グループ化すべきデータブロックの数に応じて決定されるようにしても良い。例えばグループ化すべきデータブロックの数が大きければ閾値を大きくし、小さければ閾値を小さくして、データブロックをグループ化する範囲を適切に調節するものである。
【００８２】
さらに、データブロックの数の閾値が、第１のデータブロックに含まれる、グループ化すべきデータブロックの数に応じて決定されるようにしても良い。あまりにグループ化すべきデータブロックの数が異なるデータブロックがグループ化されると、一般化されすぎるので、制限を加えて情報損失を抑えるものである。
【００８３】
さらに、上記匿名化処理方法は、上記第１のデータブロック及び第２のデータブロックの数が、第１のデータブロックに含まれる、グループ化すべきデータブロックの数未満である場合、他のグループに含まれる第１のデータブロックとの距離が閾値以下であれば、当該他のグループに上記選択する処理において選択された第１のデータブロックを追加する処理をさらに含むようにしても良い。このようにすれば破棄されるデータブロックの数を抑えることができるようになる。また、追加の条件として、「最短の距離が閾値以下」という条件を付しても良い。
【００８４】
さらに、上記匿名化処理方法は、上記他のグループに含まれる第１のデータブロックとの距離が閾値を超える場合には、第１のデータブロックを破棄する処理をさらに含むようにしても良い。
【００８５】
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
【００８６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８７】
（付記１）
第１のデータ項目値と当該第１のデータ項目値を匿名化するために一般化され得る第２のデータ項目値と当該第２のデータ項目値の一般化のためにグループ化すべきデータブロックの数とを含むデータブロックを複数格納するデータ格納部から、グループを代表する第１のデータブロックを選択する処理と、
前記データ格納部から、第２のデータ項目値に基づき算出される、前記第１のデータブロックとの距離が閾値未満であり且つグループ化すべきデータブロックの数が閾値以上である第２のデータブロックを抽出する処理と、
前記第１のデータブロック及び前記第２のデータブロックの数が、前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数以上であれば、前記第２のデータブロックの少なくとも一部及び前記第１のデータブロックをグループ化する処理と、
前記選択する処理と前記抽出する処理と前記グループ化する処理とを、前記データ格納部に格納されたデータブロックのうち、前記グループ化すべきデータブロックの数が大きいデータブロックの順に実行する処理と、
グループ毎に、当該グループに含まれるデータブロックにおける第２のデータ項目値を、所定のルールに従って一般化する処理と、
を含み、コンピュータにより実行される匿名化処理方法。
【００８８】
（付記２）
前記実行する処理において、
直前に選択された前記第１のデータブロックとの距離が最大となるデータブロック又は前記直前に選択された前記第１のデータブロックとの距離が前記閾値を超えるデータブロックを選択する
付記１記載の匿名化処理方法。
【００８９】
（付記３）
前記距離が、
第２のデータ項目値を段階的に一般化する階層木のデータにおいて、２つの第２のデータ項目値を含む最小の部分木における階層数と、前記階層木の階層数とから算出される
付記１又は２記載の匿名化処理方法。
【００９０】
（付記４）
前記距離の閾値が、
前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数に応じて決定される
付記１乃至３のいずれか１つ記載の匿名化処理方法。
【００９１】
（付記５）
前記データブロックの数の閾値が、
前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数に応じて決定される
付記１乃至４のいずれか１つ記載の匿名化処理方法。
【００９２】
（付記６）
前記第１のデータブロック及び前記第２のデータブロックの数が、前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数未満である場合、他のグループに含まれる第１のデータブロックとの距離が閾値以下であれば、当該他のグループに前記選択する処理において選択された前記第１のデータブロックを追加する処理
をさらに含む付記１乃至５のいずれか１つ記載の匿名化処理方法。
【００９３】
（付記７）
前記他のグループに含まれる第１のデータブロックとの距離が閾値を超える場合には、前記第１のデータブロックを破棄する処理
をさらに含む付記６記載の匿名化処理方法。
【００９４】
（付記８）
第１のデータ項目値と当該第１のデータ項目値を匿名化するために一般化され得る第２のデータ項目値と当該第２のデータ項目値の一般化のためにグループ化すべきデータブロックの数とを含むデータブロックを複数格納するデータ格納部から、グループを代表する第１のデータブロックを選択する処理と、
前記データ格納部から、第２のデータ項目値に基づき算出される、前記第１のデータブロックとの距離が閾値未満であり且つグループ化すべきデータブロックの数が閾値以上である第２のデータブロックを抽出する処理と、
前記第１のデータブロック及び前記第２のデータブロックの数が、前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数以上であれば、前記第２のデータブロックの少なくとも一部及び前記第１のデータブロックをグループ化する処理と、
前記選択する処理と前記抽出する処理と前記グループ化する処理とを、前記データ格納部に格納されたデータブロックのうち、前記グループ化すべきデータブロックの数が大きいデータブロックの順に実行する処理と、
グループ毎に、当該グループに含まれるデータブロックにおける第２のデータ項目値を、所定のルールに従って一般化する処理と、
を、コンピュータに実行させるための匿名化処理プログラム。
【００９５】
（付記９）
第１のデータ項目値と当該第１のデータ項目値を匿名化するために一般化され得る第２のデータ項目値と当該第２のデータ項目値の一般化のためにグループ化すべきデータブロックの数とを含むデータブロックを複数格納するデータ格納部から、グループを代表する第１のデータブロックを選択する処理と、前記データ格納部から、第２のデータ項目値に基づき算出される、前記第１のデータブロックとの距離が閾値未満であり且つグループ化すべきデータブロックの数が閾値以上である第２のデータブロックを抽出する処理と、前記第１のデータブロック及び前記第２のデータブロックの数が、前記第１のデータブロックに含まれる、グループ化すべきデータブロックの数以上であれば、前記第２のデータブロックの少なくとも一部及び前記第１のデータブロックをグループ化する処理とを、前記データ格納部に格納されたデータブロックのうち、前記グループ化すべきデータブロックの数が大きいデータブロックの順に実行する第１処理部と、
グループ毎に、当該グループに含まれるデータブロックにおける第２のデータ項目値を、所定のルールに従って一般化する第２処理部と、
を有する情報処理装置。
【符号の説明】
【００９６】
３  情報収集者装置
３１  受信部
３２  第１データ格納部
３３  グループ化処理部
３４  設定データ格納部
３５  第２データ格納部
３６  一般化処理部
３７  第３データ格納部
３８  送信部
【図１】
2014106691.tif 000003
【図２】
2014106691.tif 000004
【図３】
2014106691.tif 000005
【図４】
2014106691.tif 000006
【図５】
2014106691.tif 000007
【図６】
2014106691.tif 000008
【図７】
2014106691.tif 000009
【図８】
2014106691.tif 000010
【図９】
2014106691.tif 000011
【図１０】
2014106691.tif 000012
【図１１】
2014106691.tif 000013
【図１２】
2014106691.tif 000014
【図１３】
2014106691.tif 000015
【図１４】
2014106691.tif 000016
【図１５】
2014106691.tif 000017
【図１６】
2014106691.tif 000018
【図１７】
2014106691.tif 000019
【図１８】
2014106691.tif 000020
【図１９】
2014106691.tif 000021
【図２０】
2014106691.tif 000022
【図２１】
2014106691.tif 000023
【図２２】
2014106691.tif 000024
【図２３】
2014106691.tif 000025
【図２４】
2014106691.tif 000026
【図２５】
2014106691.tif 000027
【図２６】
2014106691.tif 000028
【図２７】
2014106691.tif 000029
【図２８】
2014106691.tif 000030
【図２９】
2014106691.tif 000031
【図３０】
2014106691.tif 000032