IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社国際電気通信基礎技術研究所の特許一覧

特開2022-149064匿名化処理方法、プログラム、および、匿名化処理装置
<>
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図1
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図2
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図3
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図4
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図5
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図6
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図7
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図8
  • 特開-匿名化処理方法、プログラム、および、匿名化処理装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022149064
(43)【公開日】2022-10-06
(54)【発明の名称】匿名化処理方法、プログラム、および、匿名化処理装置
(51)【国際特許分類】
   G06F 16/332 20190101AFI20220929BHJP
   G06F 40/151 20200101ALI20220929BHJP
   G06F 40/279 20200101ALI20220929BHJP
   G06Q 50/10 20120101ALI20220929BHJP
   G06F 21/62 20130101ALI20220929BHJP
【FI】
G06F16/332
G06F40/151
G06F40/279
G06Q50/10
G06F21/62 354
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021051013
(22)【出願日】2021-03-25
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100143498
【弁理士】
【氏名又は名称】中西 健
(74)【代理人】
【識別番号】100136319
【弁理士】
【氏名又は名称】北原 宏修
(74)【代理人】
【識別番号】100148275
【弁理士】
【氏名又は名称】山内 聡
(74)【代理人】
【識別番号】100142745
【弁理士】
【氏名又は名称】伊藤 世子
(72)【発明者】
【氏名】三本 知明
(72)【発明者】
【氏名】橋本 真幸
(72)【発明者】
【氏名】横山 浩之
【テーマコード(参考)】
5B091
5B109
5B175
5L049
【Fターム(参考)】
5B091AA15
5B091CA01
5B091CA21
5B091CD11
5B109TA11
5B175DA01
5B175FA01
5B175JB02
5L049CC12
(57)【要約】      (修正有)
【課題】危険な単語の事前定義をしなくとも、単語の組み合わせや文書の種類を考慮し、個人識別や追加情報の漏洩の危険性がある単語を発見し、適切な匿名化処理を行う匿名化処理システム、装置、方法及びプログラムを提供する。
【解決手段】匿名化処理システムによる方法は、評価対象文書データを単語分割し、取得した単語の情報量に基づいてWeb検索を行うための検索語を取得し、取得した検索語により、Web検索を行い、Web検索により取得した文書データと評価対象文書データDとの同一性を判定し、Web検索処理により取得した文書データに追加情報が含まれているかを判定し、同一性判定処理において、同一性ありと判定され、かつ、追加情報判定処理で追加情報ありと判定された場合、Web検索処理に用いた検索語を高リスク単語として検出する。
【選択図】図4
【特許請求の範囲】
【請求項1】
評価対象文書データを単語データに分割する単語分割処理ステップと、
前記単語分割処理ステップにより分割された各単語データの情報量を取得する単語情報量算出ステップと、
前記単語情報量により取得された各単語データの情報量に基づいて、前記評価対象文書データに含まれる単語データの中から検索語の候補とする単語データの集合である検索語候補単語データ集合を選択する単語選択処理ステップと、
前記検索語候補単語データ集合から、Web検索処理用の検索語を取得する検索語取得ステップと、
前記検索語取得ステップにより取得された検索語を用いて、Web検索処理を行うWeb検索処理ステップと、
前記Web検索処理ステップにより取得されたデータであるWeb検索取得データと、前記評価対象文書データとの同一性を判定する同一性判定処理を行うとともに、前記Web検索取得データに、前記評価対象文書データに含まれるデータであって匿名化すべきであると認定されるデータである特異データを含む、あるいは、前記Web検索取得データに、前記評価対象文書データに含まれないデータが含まれるか否かを判定する追加情報判定処理を行い、前記同一性判定処理および前記追加情報判定処理の結果に基づいて、前記Web検索処理に用いた前記検索語を高リスク単語とするか否かを決定する高リスク単語検出処理ステップと、
を備える匿名化処理方法。
【請求項2】
前記評価対象文書データにおいて、前記高リスク単語検出処理ステップにより高リスク単語であると決定された単語を削除する、および/または一般化した単語に置換する処理である匿名化処理を行うことで、匿名化文書データを取得する匿名化処理ステップを
さらに備える、
請求項1に記載の匿名化処理方法。
【請求項3】
文書データを格納しているデータ格納部から、前記文書データを取得し、当該文書データに対して分類処理を実行することで、それぞれタグ付けされたクラスタを取得し、前記評価対象文書データが分類される前記クラスタのタグを取得する分類処理ステップと、
前記分類処理ステップによる処理結果に基づいて、単語選択処理の精度を決定する第1パラメータαと、検索語取得処理の精度を決定する第2パラメータβと、高リスク単語検出処理の精度を決定する第3パラメータγとを調整するパラメータ調整ステップと、
をさらに備える、
請求項1または2に記載の匿名化処理方法。
【請求項4】
前記単語選択処理ステップは、
前記第1パラメータαに基づいて、前記評価対象文書データに含まれる単語データの中から検索語の候補とする単語データの最大数を決定する、
請求項3に記載の匿名化処理方法。
【請求項5】
前記検索語取得ステップは、
前記第2パラメータβに基づいて、前記検索語候補単語データ集合から、Web検索処理用の検索語を取得するときの前記単語データの組み合わせ数を決定し、当該組み合わせ数に基づいて、前記検索語を取得する、
請求項3に記載の匿名化処理方法。
【請求項6】
前記高リスク単語検出処理ステップは、
前記第3パラメータγに基づいて、前記同一性判定処理、および/または、前記追加情報判定処理の処理精度を決定する、
請求項3に記載の匿名化処理方法。
【請求項7】
請求項1から6のいずれかに記載の匿名化処理方法をコンピュータに実行させるためのプログラム。
【請求項8】
評価対象文書データを単語データに分割する単語分割処理部と、
前記単語分割処理部により分割された各単語データの情報量を取得する単語情報量算出部と、
前記単語情報量により取得された各単語データの情報量に基づいて、前記評価対象文書データに含まれる単語データの中から検索語の候補とする単語データの集合である検索語候補単語データ集合を選択する単語選択処理部と、
前記検索語候補単語データ集合から、Web検索処理用の検索語を取得する検索語取得部と、
前記検索語取得部により取得された検索語を用いて、Web検索処理を行うWeb検索処理部と、
前記Web検索処理部により取得されたデータであるWeb検索取得データと、前記評価対象文書データとの同一性を判定する同一性判定処理を行うとともに、前記Web検索取得データに、前記評価対象文書データに含まれるデータであって匿名化すべきであると認定されるデータである特異データを含む、あるいは、前記Web検索取得データに、前記評価対象文書データに含まれないデータが含まれるか否かを判定する追加情報判定処理を行い、前記同一性判定処理および前記追加情報判定処理の結果に基づいて、前記Web検索処理に用いた前記検索語を高リスク単語とするか否かを決定する高リスク単語検出処理部と、
を備える匿名化処理装置。
【請求項9】
前記評価対象文書データにおいて、前記高リスク単語検出処理部により高リスク単語であると決定された単語を削除する、および/または一般化した単語に置換する処理である匿名化処理を行うことで、匿名化文書データを取得する匿名化処理部を
さらに備える、
請求項8に記載の匿名化処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、匿名化技術に関し、特に、文書データに対する匿名化技術に関する。
【背景技術】
【0002】
現在、文書データに対する匿名化処理は、データの保有者が手動で行うことが多く、手動で匿名化処理を行った文書データを公開または研究等の目的で他の組織に提供している。
【0003】
文書データに対する匿名化に関する研究は、あまりなされておらず、現在、提案されている文書データに対する匿名化手法の多くは、リスクとなる単語を事前に定義した上で、その単語に関連する単語を発見するという方式を採用している(例えば、非特許文献1~3を参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】D. Sanchez and M. Batet, "C-sanitized: A privacy model for document redaction and sanitization," Journal of the Association for Information Science and Technology, vol. 67, no. 1, pp. 148-163, 2016.
【非特許文献2】V. T. Chakaravarthy, H. Gupta, P. Roy, and M. K. Mohania, "Efficient techniques for document sanitization," in Proceedings of the 17th ACM conference on Information and knowledge management, 2008, pp. 843-852.
【非特許文献3】E. Bier, R. Chow, P. Golle, T. H. King, and J. Staddon, "The rules of redaction: Identify, protect, review (and repeat)," IEEE Security & Privacy, vol. 7, no. 6, pp. 46-53, 2009.
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のような従来の文書データに対する匿名化手法では、手動で匿名化した結果に近づけるような匿名化手法を採用している。手動で文書データに対して匿名化を行った場合であっても、個人識別や追加情報の漏洩といったリスクがあり、したがって、手動で匿名化した結果に近づけるような匿名化手法では、依然として個人識別や追加情報の漏洩といったリスクが残っている。加えて、上記のような従来の文書データに対する匿名化手法では、文書の分類結果によって匿名化の度合いを変えることは考えられておらず、潜在的にリスクが潜んでいる文書に対する匿名化が不十分である。
【0006】
また、上記の従来技術では、予め危険な単語をデータベース化し、それに関連する単語を文書中から算出する。しかしながら、このような従来技術では、以下のような問題点がある。
【0007】
第1に、危険な単語は分野ごと、利用シーンごとに異なるため、そのようなデータベースを作成することは技術的にもコスト的にも困難である。
【0008】
第2に、危険な単語でなくとも、特定の単語が組み合わさることで文書の特異性が高まり、結果として、個人識別や重要な情報が特定されるといった危険性が高まる。
【0009】
第3に、文書の内容によって匿名化の度合いを考えることがないため、特徴的な文書では依然として個人識別や追加情報の漏洩リスクが残っている。
【0010】
そこで、本発明では、上記課題に鑑み、文書データに関連するプライバシ保護を目的として、危険な単語の事前定義をしなくとも、単語の組み合わせや文書の種類を考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行う匿名化処理システム、匿名化処理方法、プログラム、および、匿名化処理装置を実現することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、第1の発明は、単語分割処理ステップと、単語選択処理ステップと、検索語取得ステップと、Web検索処理ステップと、高リスク単語検出処理ステップと、を備える匿名化処理方法である。
【0012】
単語分割処理ステップは、評価対象文書データを単語データに分割する。
【0013】
単語情報量算出ステップは、単語分割処理ステップにより分割された各単語データの情報量を取得する。
【0014】
単語選択処理ステップは、単語情報量により取得された各単語データの情報量に基づいて、評価対象文書データに含まれる単語データの中から検索語の候補とする単語データの集合である検索語候補単語データ集合を選択する。
【0015】
検索語取得ステップは、検索語候補単語データ集合から、Web検索処理用の検索語を取得する。
【0016】
Web検索処理ステップは、検索語取得ステップにより取得された検索語を用いて、Web検索処理を行う。
【0017】
高リスク単語検出処理ステップは、Web検索処理ステップにより取得されたデータであるWeb検索取得データと、評価対象文書データとの同一性を判定する同一性判定処理を行う。また、高リスク単語検出処理ステップは、Web検索取得データに、評価対象文書データに含まれるデータであって匿名化すべきであると認定されるデータである特異データを含む、あるいは、Web検索取得データに、評価対象文書データに含まれないデータが含まれるか否かを判定する追加情報判定処理を行う。そして、高リスク単語検出処理ステップは、同一性判定処理および追加情報判定処理の結果に基づいて、Web検索処理に用いた検索語を高リスク単語とするか否かを決定する。
【0018】
この匿名化処理方法では、評価対象文書データについて、文章データを単語分割し、取得した単語の情報量に基づいてWeb検索処理を行うための検索語を取得する。そして、この匿名化処理方法では、取得した検索語により、Web検索処理を行い、Web検索処理により取得した文書データと評価対象文書データDとの同一性の判定(同一性判定処理)、Web検索処理により取得した文書データに追加情報が含まれているかの判定(追加情報判定処理)を行う。そして、この匿名化処理方法では、同一性判定処理において、同一性ありと判定され、かつ、追加情報判定処理で追加情報ありと判定された場合、Web検索処理に用いた検索語を高リスク単語として検出する(高リスク単語と判定する)。
【0019】
これにより、この匿名化処理方法では、危険な単語の事前定義をしなくとも、単語の組み合わせを考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行うことができる。
【0020】
第2の発明は、第1の発明であって、評価対象文書データにおいて、高リスク単語検出処理ステップにより高リスク単語であると決定された単語を削除する、および/または一般化した単語に置換する処理である匿名化処理を行うことで、匿名化文書データを取得する匿名化処理ステップをさらに備える。
【0021】
これにより、この匿名化処理方法では、評価対象文書データDに対して、高リスク単語について、匿名化処理を行うことで、適切な匿名化処理を行うことができる(適切な匿名化処理が施された匿名化文書を取得できる)。
【0022】
したがって、この匿名化処理方法では、危険な単語の事前定義をしなくとも、単語の組み合わせを考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行うことができる。
【0023】
第3の発明は、第1または第2の発明であって、分類処理ステップと、パラメータ調整ステップと、をさらに備える。
【0024】
分類処理ステップは、文書データを格納しているデータ格納部から、文書データを取得し、当該文書データに対して分類処理を実行することで、それぞれタグ付けされたクラスタを取得し、評価対象文書データが分類されるクラスタのタグを取得する。
【0025】
パラメータ調整ステップは、分類処理ステップによる処理結果に基づいて、単語選択処理の精度を決定する第1パラメータαと、検索語取得処理の精度を決定する第2パラメータβと、高リスク単語検出処理の精度を決定する第3パラメータγとを調整する。
【0026】
これにより、この匿名化処理方法では、評価対象文書データがどのような種別の文書であるかに基づいて(評価対象文書データの分類結果に基づいて)、匿名化処理の精度を調整するパラメータを取得できる。
【0027】
第4の発明は、第3の発明であって、単語選択処理ステップは、第1パラメータαに基づいて、評価対象文書データに含まれる単語データの中から検索語の候補とする単語データの最大数を決定する。
【0028】
これにより、この匿名化処理方法では、評価対象文書データがどのような種別の文書であるかに基づいて(評価対象文書データの分類結果に基づいて)、単語選択処理の精度を調整することができる。
【0029】
第5の発明は、第3の発明であって、検索語取得ステップは、第2パラメータβに基づいて、検索語候補単語データ集合から、Web検索処理用の検索語を取得するときの単語データの組み合わせ数を決定し、当該組み合わせ数に基づいて、検索語を取得する。
【0030】
これにより、この匿名化処理方法では、評価対象文書データがどのような種別の文書であるかに基づいて(評価対象文書データの分類結果に基づいて)、Web検索処理用の検索語の組み合わせ数を調整することができる。
【0031】
第6の発明は、第3の発明であって、高リスク単語検出処理ステップは、第3パラメータγに基づいて、同一性判定処理、および/または、追加情報判定処理の処理精度を決定する。
【0032】
これにより、この匿名化処理方法では、評価対象文書データがどのような種別の文書であるかに基づいて(評価対象文書データの分類結果に基づいて)、同一性判定処理、および/または、追加情報判定処理の処理精度を調整することができる。
【0033】
第7の発明は、第1から第6のいずれの発明である匿名化処理方法をコンピュータに実行させるためのプログラムである。
【0034】
これにより、第1から第6のいずれの発明と同様の効果を奏する匿名化処理方法をコンピュータに実行させるためのプログラムを実現することができる。
【0035】
第8の発明は、単語分割処理部と、単語情報量算出部と、単語選択処理部と、検索語取得部と、Web検索処理部と、高リスク単語検出処理部と、を備える匿名化処理装置である。
【0036】
単語分割処理部は、評価対象文書データを単語データに分割する。
【0037】
単語情報量算出部は、単語分割処理部により分割された各単語データの情報量を取得する。
【0038】
単語選択処理部は、単語情報量により取得された各単語データの情報量に基づいて、評価対象文書データに含まれる単語データの中から検索語の候補とする単語データの集合である検索語候補単語データ集合を選択する。
【0039】
検索語取得部は、検索語候補単語データ集合から、Web検索処理用の検索語を取得する。
【0040】
Web検索処理部は、検索語取得部により取得された検索語を用いて、Web検索処理を行う。
【0041】
高リスク単語検出処理部は、Web検索処理部により取得されたデータであるWeb検索取得データと、評価対象文書データとの同一性を判定する同一性判定処理を行う。また、高リスク単語検出処理部は、Web検索取得データに、評価対象文書データに含まれるデータであって匿名化すべきであると認定されるデータである特異データを含む、あるいは、Web検索取得データに、評価対象文書データに含まれないデータが含まれるか否かを判定する追加情報判定処理を行う。また、高リスク単語検出処理部は、同一性判定処理および追加情報判定処理の結果に基づいて、Web検索処理に用いた検索語を高リスク単語とするか否かを決定する。
【0042】
この匿名化処理装置では、評価対象文書データについて、文章データを単語分割し、取得した単語の情報量に基づいてWeb検索処理を行うための検索語を取得する。そして、この匿名化処理装置では、取得した検索語により、Web検索処理を行い、Web検索処理により取得した文書データと評価対象文書データDとの同一性の判定(同一性判定処理)、Web検索処理により取得した文書データに追加情報が含まれているかの判定(追加情報判定処理)を行う。そして、この匿名化処理装置では、同一性判定処理において、同一性ありと判定され、かつ、追加情報判定処理で追加情報ありと判定された場合、Web検索処理に用いた検索語を高リスク単語として検出する(高リスク単語と判定する)。
【0043】
これにより、この匿名化処理装置では、危険な単語の事前定義をしなくとも、単語の組み合わせを考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行うことができる。
【0044】
第9の発明は、第7の発明であって、評価対象文書データにおいて、高リスク単語検出処理部により高リスク単語であると決定された単語を削除する、および/または一般化した単語に置換する処理である匿名化処理を行うことで、匿名化文書データを取得する匿名化処理部をさらに備える。
【0045】
これにより、この匿名化処理装置では、評価対象文書データDに対して、高リスク単語について、匿名化処理を行うことで、適切な匿名化処理を行うことができる(適切な匿名化処理が施された匿名化文書を取得できる)。
【0046】
したがって、この匿名化処理装置では、危険な単語の事前定義をしなくとも、単語の組み合わせを考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行うことができる。
【発明の効果】
【0047】
本発明によれば、文書データに関連するプライバシ保護を目的として、危険な単語の事前定義をしなくとも、単語の組み合わせや文書の種類を考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行う匿名化処理システム、匿名化処理方法、プログラム、および、匿名化処理装置を実現することができる。
【図面の簡単な説明】
【0048】
図1】第1実施形態に係る匿名化処理システム1000の概略構成図。
図2】第1実施形態に係る匿名化処理装置100の概略構成図。
図3】匿名化処理システム1000で実行される処理のシーケンス図。
図4】匿名化処理システム1000で実行される処理のフローチャートである。
図5】匿名化処理システム1000による匿名化処理の一例を示す図。
図6】匿名化処理システム1000による匿名化処理の一例を示す図。
図7】匿名化処理システム1000による匿名化処理の一例を示す図。
図8】第1実施形態に係る匿名化処理装置100(高リスク単語検出処理装置Dev1および匿名化処理部9)の概略構成図。
図9】CPUバス構成を示す図。
【発明を実施するための形態】
【0049】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
【0050】
<1.1:匿名化処理システムの構成>
図1は、第1実施形態に係る匿名化処理システム1000の概略構成図である。
【0051】
図2は、第1実施形態に係る匿名化処理装置100の概略構成図である。
【0052】
匿名化処理システム1000は、図1に示すように、匿名化処理装置1と、データ格納部DB1と、エッジルータER1とを備える。また、匿名化処理システム1000は、検索サーバSvr_searchと、M個(M:自然数)のサーバである第1サーバSvr_1から第MサーバSvr_Mとを備える。エッジルータER1、検索サーバSvr_search、および、第1サーバSvr_1から第MサーバSvr_Mは、ネットワークNW1(例えば、インターネット)を介して、通信可能に接続される。
【0053】
匿名化処理装置1は、図2に示すように、分類処理部1と、パラメータ調整部2と、単語分割処理部3と、単語情報量算出部4と、単語選択処理部5と、検索語取得部6と、通信処理部7と、通信インターフェースIF1と、高リスク単語検出処理部8と、匿名化処理部9とを備える。
【0054】
分類処理部1は、評価対象文書データDを含むデータDinを入力する。また、分類処理部1は、文書データの集合データD’をデータ格納部DB1から読み出し、読み出した当該データD’含むデータをデータD0として入力する。
【0055】
なお、評価対象文書データDは、人手によって加工されたデータ、あるいは、生データ(加工されていないデータ)であり、人手により加工されたデータの場合、評価対象文書データDの各単語は、加工されなかった単語の集合Aと加工された単語の集合Sとに分類される。つまり、評価対象文書データDのすべての単語を含む集合を集合Aallとすると、
all={A,S}
である。
【0056】
評価対象文書データDが生データである場合、評価対象文書データDに含まれる全ての単語の集合を集合Aとする。つまり、
all={A}
である。
【0057】
なお、上記集合データを作成するときに、助詞や助動詞等評価に無関係な単語は省くようにしてもよい。
【0058】
また、分類処理部1は、データ格納部DB1から取得した文書データ集合D’に対して機械学習等(例えば、クラスタやクラスに分類する処理を行うための機械学習)を適用し、所定の数のクラスタに分類する。そして、各クラスタに対して、例えば、手動でタグ付けを行うことで、文書データ集合D’をダグ付けされたクラスタに分類する。
【0059】
そして、分類処理部1は、評価対象文書データDが、上記で分類(取得)した、どのクラスタに属するかを判定する処理を行う。そして、当該判定処理の結果を含むデータをデータD1として、パラメータ調整部2に出力する。
【0060】
パラメータ調整部2は、分類処理部1から出力されるデータD1を入力する。パラメータ調整部2は、データD1に含まれる評価対象文書データDの分類結果に基づいて、パラメータα、β、および、γの値を決定(調整)する。そして、パラメータ調整部2は、パラメータαを単語選択処理部5に出力する。また、パラメータ調整部2は、パラメータβを検索語取得部6に出力する。また、パラメータ調整部2は、パラメータγを高リスク単語検出処理部8に出力する。
【0061】
単語分割処理部3は、入力データDin(評価対象文書データD)と、データ格納部DB1から出力されるデータD0(文書データ集合D’)とを入力する。単語分割処理部3は、データD1に含まれる評価対象文書データD、および、データDinに含まれる文書データ集合D’に対して、形態素解析処理を施し、単語データ(単語に分割したデータ)を取得する。
【0062】
なお、説明便宜のため、評価対象文書データDを1つの文章データdとし、n個(n:自然数)の単語に分割されるものとする。つまり、評価対象文書データDは、
D={d
D={w1、1,・・・,w1、n
1,i:i番目の単語データ(i:自然数、1≦i≦n)
である。
【0063】
また、説明便宜のため、文書データ集合D’がm個(m:自然数)の単語に分割されるものとする。つまり、文書データ集合D’は、
D’={w’,・・・,w’
w’:i番目の単語データ(i:自然数、1≦i≦m)
である。
【0064】
単語分割処理部3は、取得した単語データを含むデータを、データD2として、単語情報量算出部4および単語選択処理部5に出力する。
【0065】
単語情報量算出部4は、単語分割処理部3から出力されるデータD2を入力し、データD2に含まれる単語データの情報量(各単語に情報量)を算出する。そして、単語情報量算出部4は、算出した各単語データの情報量のデータを含むデータを、データD3として、単語選択処理部5に出力する。
【0066】
単語選択処理部5は、単語分割処理部3から出力されるデータD2と、単語分割処理部3から出力されるデータD3と、パラメータ調整部2から出力されるパラメータαとを入力する。
【0067】
単語選択処理部5は、パラメータαに基づいて、データD2に含まれる評価対象文書データDの単語データの集合({w1、1,・・・,w1、n})から、情報量の多い単語データ(単語)を選択する。そして、単語選択処理部5は、選択した単語データを含むデータをデータD4として検索語取得部6に出力する。なお、説明便宜のため、単語選択処理部5により選択された単語データの集合を{w,・・・,w}とする(k:自然数)。
【0068】
検索語取得部6は、単語選択処理部5から出力されるデータD4と、パラメータ調整部2から出力されるパラメータβとを入力する。検索語取得部6は、パラメータβに基づいて、データD4から、Web検索するための検索語を取得する。そして、検索語取得部6は、取得した検索語を含むデータをデータD5として通信処理部7に出力する。
【0069】
通信処理部7は、検索語取得部6から出力されるデータD5を入力し、当該データD5に基づいて、外部の検索サーバSvr_searchに対して、Web検索を行うための通信データを生成する。そして、通信処理部7は、生成した通信データをデータD6oとして、通信インターフェースIF1に出力する。また、通信処理部7は、通信インターフェースIF1から出力されるデータD6iを入力し、当該データD6iに含まれるデータを取得する。そして、通信処理部7は、取得したデータと当該データを取得するときに用いた検索語(これを検索語w_srchという)とを含むデータをデータD8として、高リスク単語検出処理部8に出力する。
【0070】
通信インターフェースIF1は、外部の通信機器(例えば、エッジルータ、ゲートウェイ)等とデータ通信を行うためのインターフェースである。通信インターフェースIF1は、通信処理部7から出力されるデータD6oを入力し、当該データD6oを、外部の通信機器と通信できる形式のデータに変換し、当該データを外部の通信機器(ここでは、エッジルータER1)に出力する。また、通信インターフェースIF1は、外部の通信機器(ここでは、エッジルータER1)から出力される通信データを入力し、当該通信データから所定のデータを取り出し、取り出したデータをデータD6iとして、通信処理部7に出力する。
【0071】
高リスク単語検出処理部8は、入力データDinと、通信処理部7から出力されるデータD8と、パラメータ調整部2から出力されるパラメータγとを入力する。高リスク単語検出処理部8は、パラメータγに基づいて、入力データDinとデータD8とを用いて、高リスク単語検出処理(詳細については後述)を実行し、高リスク単語w_detを検出(取得)する。そして、高リスク単語検出処理部8は、検出した高リスク単語w_detを含むデータをデータD9として、匿名化処理部9に出力する。
【0072】
匿名化処理部9は、入力データDinと、高リスク単語検出処理部8から出力されるデータD9とを入力する。匿名化処理部9は、データD9に基づいて、入力データDinに対して、匿名化処理を実行し、匿名化処理後のデータDoutを取得する。
【0073】
データ格納部DB1は、文書データを記憶する記憶部であり、例えば、データベースにより実現される。データ格納部DB1は、匿名化処理装置100の分類処理部1からの読み出し指令に従い、データを読み出し、読み出したデータをデータD0として、分類処理部1に出力する。
【0074】
エッジルータER1は、図1に示すように、ネットワークNW1および匿名化処理装置100に接続されており、パケット転送処理、パケット中継処理等を行う。例えば、エッジルータER1は、ネットワークNW1から受信したパケット(受信パケット)を解析し、その通信先が匿名化処理装置100であると判断した場合、当該受信パケットを、匿名化処理装置100に送信する。
【0075】
また、エッジルータER1は、匿名化処理装置100から受信したパケット(受信パケット)を解析し、その通信先がネットワークNW1に接続されている通信装置(例えば、検索サーバSvr_search、第1サーバSvr1~第MサーバSvrM等)であると判断した場合、当該受信パケットを、ネットワークNW1に接続されている当該通信装置に届くように、当該受信パケットを、ネットワークNW1を介して当該通信装置に転送(送信)する。なお、匿名化処理システム1000において、エッジルータER1の代わりに、ゲートウェイ等の装置(例えば、ルーティング機能を有する通信装置)を用いてもよい。
【0076】
検索サーバSvr_searchは、例えば、検索エンジンを備え、ネットワークNW1(例えば、インターネット)上で公開されている情報を検索する機能を有する。検索サーバSvr_searchは、例えば、匿名化処理装置100から、所定の検索語によるWeb検索を指示するデータ(Queryデータ(問い合わせデータ))を受信すると、当該Queryデータに対するWeb検索処理を行う。そして、検索サーバSvr_searchは、当該処理結果を含むデータを応答データ(Responseデータ)として、ネットワークNW1、エッジルータER1を介して、匿名化処理装置100に送信する。
【0077】
第1サーバSvr_1~第MサーバSvrMは、それぞれ、ネットワークNW1(例えば、インターネット)に接続されるサーバであり、所定の情報をネットワークNW1(例えば、インターネット)上で公開するサーバである。第1サーバSvr_1~第MサーバSvrMは、それぞれ、例えば、匿名化処理装置100から、エッジルータER1、ネットワークNW1を介して、データ取得要求データを受信すると、当該データ取得要求データに基づくデータを、ネットワークNW1、エッジルータER1を介して、匿名化処理装置100に送信する。
【0078】
<1.2:匿名化処理システムの動作>
以上のように構成された匿名化処理システム1000の動作について、以下、説明する。
【0079】
図3は、匿名化処理システム1000で実行される処理のシーケンス図である。
【0080】
図4は、匿名化処理システム1000で実行される処理のフローチャートである。
【0081】
以下では、匿名化処理システム1000の動作を、シーケンス図とフローチャートとを参照しながら、説明する。
【0082】
(ステップS1):
ステップS1において、評価対象文書データDの分類処理が実行される。具体的には、以下の処理が実行される。
【0083】
評価対象文書データDを含むデータDinが匿名化処理装置100に入力される。また、分類処理部1は、文書データの集合データD’をデータ格納部DB1から読み出す(データ格納部DB1からデータD0を入力する)。
【0084】
分類処理部1は、データ格納部DB1から取得した文書データ集合D’に対して機械学習等(例えば、クラスタやクラスに分類する処理を行うための機械学習)を適用し、所定の数のクラスタに分類する。そして、各クラスタに対して、タグ付けを行うことで、文書データ集合D’を所定数のタグ付けされたクラスタに分類する。
【0085】
例えば、所定のクラスタに分類された文書データが「事件」に関するものである場合(「事件」に関連する文書を多く含む場合)、当該クラスタに「事件」を示すタグを付与する。
【0086】
また、例えば、所定のクラスタに分類された文書データが「事故」に関するものである場合(「事故」に関連する文書を多く含む場合)、当該クラスタに「事故」を示すタグを付与する。
【0087】
また、例えば、所定のクラスタに分類された文書データが「死亡」に関するものである場合(「事故」に関連する文書を多く含む場合)、当該クラスタに「死亡」を示すタグを付与する。
【0088】
また、例えば、所定のクラスタに分類された文書データが「表彰」に関するものである場合(「表彰」に関連する文書を多く含む場合)、当該クラスタに「表彰」を示すタグを付与する。
【0089】
なお、タグ付けは、例えば、文書データ集合D’、あるいは、文書データ集合D’に含まれる文章データ(または、当該文章データを構成する単語データ)に対して、分散表現を取得するツール(例えば、fastText、word2txt等)を使用して行う。具体的には、分類処理部1は、文書データ集合D’、あるいは、文書データ集合D’に含まれる文章データ(または、当該文章データを構成する単語データ)に対して、分散表現を取得し、当該分散表現(例えば、各単語をn次元ベクトル(n:自然数)で表現する分散表現)と、タグの候補としている文字列との類似度(例えば、コサイン類似度)を取得する。そして、分類処理部1は、上記類似度が高い文字列をタグとして、当該文章データにタグ付けを行う。
【0090】
なお、文書データ集合D’、あるいは、文書データ集合D’に含まれる文章データに対して、複数のタグ付けがなされてもよい。例えば、所定の文章データ(あるいは、文章データの集合)に付けられるタグが「事件」および「死亡」であってもよい。
【0091】
そして、分類処理部1は、評価対象文書データD’が、上記で分類(取得)した、どのクラスタに属するかを判定する処理を行う。なお、この判定処理においても、分類処理部1は、評価対象文書データD’の分散表現を取得し、各クラスタのタグとの類似度(例えば、コサイン類似度)を取得し、取得した類似度に基づいて、評価対象文書データD’が、上記で分類(取得)した、どのクラスタに属するかを判定するようにしてもよい。
【0092】
そして、当該判定処理の結果(どのタグが付与されたクラスタに分類されたかを示す結果データ)を含むデータをデータD1として、パラメータ調整部2に出力する。なお、ここで、説明便宜のため、評価対象文書データD’が、「事故」および「死亡」を示すタグが付与されたクラスタに分類されたものとして、以下、説明する。なお、評価対象文書データD’がどのクラスタに分類されるかの判定処理においても、複数のクラスタに分類されるものと判定されるものであってもよい。
【0093】
なお、評価対象文書データDは、人手によって加工されたデータ、あるいは、生データ(加工されていないデータ)であり、人手により加工されたデータの場合、評価対象文書データDの各単語は、加工されなかった単語の集合Aと加工された単語の集合Sとに分類される。つまり、評価対象文書データDのすべての単語を含む集合を集合Aallとすると、
all={A,S}
である。
【0094】
評価対象文書データDが生データである場合、評価対象文書データDに含まれる全ての単語の集合を集合Aとする。つまり、
all={A}
である。
【0095】
なお、上記集合データを作成するときに、助詞や助動詞等評価に無関係な単語は省くようにしてもよい。
【0096】
(ステップS2):
ステップS2において、パラメータ調整処理が実行される。具体的には、以下の処理が実行される。
【0097】
パラメータ調整部2は、分類処理部1から出力されるデータD1(評価対象文書データDの分類結果データ)を入力する。パラメータ調整部2は、データD1に含まれる評価対象文書データDの分類結果(本実施形態では、タグ「事件」、「死亡」のクラスタに分類されたという結果データ)に基づいて、パラメータα、β、および、γの値を決定(調整)する。
【0098】
ここで、パラメータ調整部2は、データD1により、評価対象文書データDが「死亡」という語のようにニュースになりやすい語(話題になりやすい語)のクラスタに分類されていると判断した場合、パラメータα、β、および、γの値を高い値に設定し、匿名化処理装置100において、Web検索処理を高精度に行うようにする。なお、パラメータα、β、および、γは、その値が高い程、Web検索処理がより高精度に実行されるものとする。
【0099】
また、ニュースになりやすい語(話題になりやすい語)の判断は、例えば、ニュースになりやすい語(話題になりやすい語)を予め設定しておき、パラメータ調整部2が、当該語を含むか否かを判定することで行うようにすればよい。
【0100】
上記のようにして、パラメータ調整部2は、データD1(評価対象文書データDの分類結果データ)に基づいて、パラメータα、β、および、γの値を設定する。
【0101】
そして、パラメータ調整部2は、設定したパラメータαを単語選択処理部5に出力する。また、パラメータ調整部2は、設定したパラメータβを検索語取得部6に出力する。また、パラメータ調整部2は、設定したパラメータγを高リスク単語検出処理部8に出力する。
【0102】
(ステップS3):
ステップS3において、単語分割処理が実行される。具体的には、以下の処理が実行される。
【0103】
単語分割処理部3は、入力データDin(評価対象文書データD)と、分類処理部1から出力されるデータD0(文書データ集合D’)とを入力する。単語分割処理部3は、データD1に含まれる評価対象文書データD、および、データDinに含まれる文書データ集合D’に対して、形態素解析処理を施し、単語データ(単語に分割したデータ)を取得する。
【0104】
なお、ここで、説明便宜のため、評価対象文書データDを1つの文章データdとし、n個(n:自然数)の単語に分割されたものとし、文書データ集合D’がm個(m:自然数)の単語に分割されたものとして、以下、説明する。
【0105】
つまり、評価対象文書データDは、
D={d
D={w1、1,・・・,w1、n
1,i:i番目の単語データ(i:自然数、1≦i≦n)
であるものとする。
【0106】
また、文書データ集合D’は、
D’={w’,・・・,w’
w’:i番目の単語データ(i:自然数、1≦i≦m)
であるものとする。
【0107】
また、説明便宜のため、上記のように分割された単語データの集合をDset、D’setとする。つまり、
Dset={w1、1,・・・,w1、n
D’set={w’,・・・,w’
とする。
【0108】
単語分割処理部3は、上記により取得した単語データを含むデータを、データD2として、単語情報量算出部4および単語選択処理部5に出力する。
【0109】
(ステップS4):
ステップS4において、各単語(各単語データ)の情報量算出処理が実行される。単語情報量算出部4は、単語分割処理部3から出力されるデータD2を入力し、データD2に含まれる単語データの情報量(各単語に情報量)を算出する。具体的には、単語情報量算出部4は、評価対象文書データDの分割された単語データからなる集合Dset={w1、1,・・・,w1、n}と、文書データ集合D’の分割された単語データからなる集合D’set={w,・・・,w}との和集合(=Dset∪D’set)に対して、各単語データの情報量を
I(x)=-log(P(x))
log(x):xの対数をとる関数
P(x):xの出現確率
として、算出する。例えば、単語データw1,k(k:自然数、1≦k≦n)が、和集合(=Dset∪D’set)において出現する確率がP0(=P(w1,k))である場合、単語情報量算出部4は、当該単語データw1,kの情報量I(x)(=I(w1,k))を、-log(P0)として算出する。
【0110】
また、単語データw(q:自然数、1≦q≦m)が、和集合(=Dset∪D’set)において出現する確率がP1(=P(w))である場合、単語情報量算出部4は、当該単語データwの情報量I(x)(=I(w))を、-log(P1)として算出する。
【0111】
そして、単語情報量算出部4は、上記により算出した各単語データの情報量のデータを含むデータを、データD3として、単語選択処理部5に出力する。
【0112】
(ステップS5):
ステップS5において、単語選択処理が実行される。具体的には、以下の処理が実行される。
【0113】
単語選択処理部5は、単語分割処理部3から出力されるデータD2と、単語分割処理部3から出力されるデータD3と、パラメータ調整部2から出力されるパラメータαとを入力する。
【0114】
そして、単語選択処理部5は、パラメータαに基づいて、データD2に含まれる評価対象文書データDの単語データの集合({w1、1,・・・,w1、n})から、情報量の多い単語データ(単語)を選択する。例えば、単語選択処理部5は、以下のようにして、情報量の多い単語データ(単語)を選択する。
(1)パラメータαを情報量の閾値とした場合、単語選択処理部5は、情報量の閾値αを超える情報量を有する単語データを選択し、当該選択した単語データの集合を集合D_selected={w,・・・,w}として取得する。
(2)パラメータαを情報量の多い最上位からの数とした場合、単語選択処理部5は、情報量の多い方からα個(上位α個)単語データを選択し、当該選択した単語データの集合を集合D_selected={w,・・・,w}として取得する。
【0115】
なお、本実施形態では、評価対象文書データDがタグ「死亡」(話題になりやすい語)を含むので、パラメータαの値が高い値に設定されている。そのため、上記処理により、選択される単語の数(α個)が多くなる。
【0116】
そして、単語選択処理部5は、上記により選択した単語データを含むデータ(集合D_selected={w,・・・,w})をデータD4として検索語取得部6に出力する。
【0117】
(ステップS6):
ステップS6において、検索語取得処理が実行される。具体的には、以下の処理が実行される。
【0118】
検索語取得部6は、単語選択処理部5から出力されるデータD4と、パラメータ調整部2から出力されるパラメータβとを入力する。
【0119】
そして、検索語取得部6は、パラメータβに基づいて、データD4から、Web検索するための検索語を取得する。具体的には、検索語取得部6は、データD4に含まれる集合D_selected={w,・・・,w}(単語選択処理部5により選択された単語)の中から、単語(単語データ)を抽出し、組み合わせることで、検索ワードを取得する。なお、検索語取得部6は、検索語(検索ワード)を取得ための単語の組み合わせ数の最大数L(L:自然数)を、パラメータβに基づいて決定する。すなわち、
L=f(β)
f(x):xを変数とする関数
である。ここで、Lは、βが大きな値である程、大きな値をとるものとする。
【0120】
なお、本実施形態では、評価対象文書データDがタグ「死亡」(話題になりやすい語)を含むので、パラメータβの値が高い値に設定されている。そのため、上記処理における、検索語(検索ワード)を取得ための単語の組み合わせ数の最大数Lは大きな値となる。
【0121】
そして、検索語取得部6は、上記により取得した検索語を含むデータをデータD5として通信処理部7に出力する。
【0122】
(ステップS7):
ステップS7において、ステップS8~ステップS9を、ステップS6で決定された検索語数(検索語の組み合わせ数)(L回)だけ繰り返すループ処理が開始される。
【0123】
(ステップS8):
ステップS8において、Web検索処理が実行される。具体的には、以下の処理が実行される。
【0124】
通信処理部7は、検索語取得部6から出力されるデータD5を入力し、当該データD5に基づいて、外部の検索サーバSvr_searchに対して、Web検索を行うための通信データを生成する。つまり、通信処理部7は、データD5に含まれる検索語により、Web検索を行うための通信データを生成し、当該通信データをデータD6oとして、通信インターフェースIF1に出力する。
【0125】
通信インターフェースIF1は、通信処理部7から出力されるデータD6oを入力し、当該データD6oを、外部の通信機器と通信できる形式のデータに変換するとともに、送信先を検索サーバSvr_searchとするようにして通信データ(送信データ)を生成する。なお、ここでは、通信インターフェースIF1は、送信先を検索サーバSvr_searchとし、当該検索サーバSvr_searchにてWeb検索処理を実行するように指示する通信データ(通信データQuery)を生成するものとする。
【0126】
そして、通信インターフェースIF1は、上記により生成した通信データQueryを、エッジルータER1、ネットワークNW1を介して、検索サーバSvr_searchに送信する。
【0127】
検索サーバSvr_searchは、匿名化処理装置100の通信インターフェースIF1からの通信データQuery(送信データQuery)を受信し、当該通信データQueryに含まれる検索語によるWeb検索処理を行う。なお、Web検索処理は、検索サーバSvr_searchが、一定周期で、ネットワークNW1上の情報を検索し、検索結果を、例えば、リストとして、記憶保持しているデータを用いて実行されるものであってもよい。そして、検索サーバSvr_searchは、例えば、Web検索処理により、検索語を含む情報を提供、および/または、保持しているサーバのURLを取得する。
【0128】
そして、検索サーバSvr_searchは、上記の検索処理により取得したサーバのURL(検索語を含む情報を提供、および/または、保持しているサーバのURL)のデータを含めた応答データRes(匿名化処理装置100からの送信データQueryに対する応答データRes)を生成する。そして、検索サーバSvr_searchは、生成した応答データResを、匿名化処理装置100へ、ネットワークNW1、エッジルータER1を介して、送信する。
【0129】
匿名化処理装置100の通信インターフェースIF1は、検索サーバSvr_searchからの送信データRes(応答データRes)を、ネットワークNW1、エッジルータER1を介して、受信する。そして、通信インターフェースIF1により受信された応答データResから、送信データQueryによるWeb検索処理結果を含むデータを取得し、取得したデータをデータD6iとして通信処理部7に出力する。
【0130】
通信処理部7は、データD6iから、送信データQueryによるWeb検索処理結果のデータを取得する。つまり、通信処理部7は、検索語によるWeb検索結果のデータ、すなわち、検索語を含む情報を提供、および/または、保持しているサーバのURLを取得する。ここで、説明便宜のため、取得されたサーバのURLが、第1サーバSvr_1のURLであるURL_1~第MサーバSvr_MのURLであるURL_M(M個のサーバのURL)であるものとする。つまり、Web検索処理により、検索語に関連するデータを保持しているサーバが、第1サーバSvr_1~第MサーバSvr_Mであると判明したものとする。
【0131】
≪第1~第Mサーバからの文書データ取得処理(ステップS8_svr_1~S8_svr_M)(図3を参照)≫
通信処理部7は、上記Web検索処理により、検索語に関連するデータを保持しているサーバであると判定された、第1サーバSvr_1(第1サーバSvr_1のURLであるURL_1)に対して、当該サーバが保持している(提示している)情報を取得(要求)するための通信データ(この通信データを「ReqGetData(URL_1)」と表記する)を生成する。通信処理部7は、生成したデータをデータD6oとして、通信インターフェースIF1に出力する。
【0132】
通信インターフェースIF1は、通信処理部7からのデータD6oに入力し、当該データを、送信先を第1サーバSvr_1とする通信データ(送信データ)D7oを生成し、当該通信データをエッジルータER1、ネットワークNW1を介して、第1サーバSvr_1に送信する。なお、この第1サーバSvr_1への送信データを通信データReqGetData(URL_1)と表記する。
【0133】
第1サーバSvr_1は、匿名化処理装置100の通信インターフェースIF1からの通信データReqGetData(送信データReqGetData)を受信し、当該通信データReqGetDataにより要求されている情報(データ)(このデータをデータD_1とする)を取得し、当該情報(データD_1)を含めた送信データ(このデータを「Res(D_1)」と表記する)を生成する。そして、第1サーバSvr_1は、生成した送信データ(返信データRes(D_1))を、送信先を匿名化処理装置100として、ネットワークNW1、エッジルータER1を介して、匿名化処理装置100へ送信(返信)する。
【0134】
匿名化処理装置100の通信インターフェースIF1は、第1サーバSvr_1からの送信データRes(D_1)を、ネットワークNW1、エッジルータER1を介して、受信する。そして、通信インターフェースIF1により受信された応答データRes(D_1)から、第1サーバから送信されたデータD_1(例えば、第1サーバが保持している文書データD_1)を取得し、取得したデータをデータD6iとして通信処理部7に出力する。
【0135】
通信処理部7は、データD6iを入力し、当該データにふくまれている、データD_1(例えば、第1サーバが保持している文書データD_1)を取得する。
【0136】
上記にようにして、匿名化処理装置100と第1サーバSvr_1との間で、Web検索処理(文書データ取得(文書データD_1の取得)処理)が実行される。
【0137】
そして、同様に、匿名化処理装置100と第kサーバSvr_k(k:自然数、2≦k≦M)との間においてもWeb検索処理(文書データ取得(文書データD_1~D_Mの取得)処理)が実行される。
【0138】
通信処理部7は、上記のWeb検索処理により取得した文書データD_1~D_Mを含むデータと、当該データを取得するときに用いた検索語(検索語w_srch)とを含むデータをデータD8として、高リスク単語検出処理部8に出力する。
【0139】
(ステップS9):
ステップS9において、高リスク単語検出処理が実行される。具体的には、以下の処理が実行される。
【0140】
高リスク単語検出処理部8は、入力データDinと、通信処理部7から出力されるデータD8(Web検索処理により、第1~第Mサーバから取得した文書データD_1~D_Mと、検索語w_srchを含むデータ)と、パラメータ調整部2から出力されるパラメータγとを入力する。
【0141】
高リスク単語検出処理部8は、データD8から、Web検索処理により第1~第Mサーバから取得した文書データD_1~D_Mを取得する。そして、高リスク単語検出処理部8は、文書データD_1~D_Mのそれぞれと、評価対象文書データDとの同一性について判定する(同一性判定処理を行う)。
【0142】
≪A:同一性判定処理≫
具体的には、高リスク単語検出処理部8は、下記条件が満たされるか否かを判定することで、文書データD_k(k:自然数、1≦k≦M)と、評価対象文書データDとの同一性を判定する。
(1)Web検索処理により取得した文書データD_kに、パラメータγにより決定される割合rate1で、w∈Sを満たす単語(集合S(加工された単語の集合S)に含まれる単語w)が含まれている。
(2)Web検索処理により取得した文書データD_kに一定の割合rate1で、w∈Aall\{w1,1,・・・,w1,n}を満たす(単語wが集合Aallから{w1,1,・・・,w1,n}を除いた集合に含まれる)単語が含まれている。
【0143】
なお、割合rate1は、パラメータγが大きな値である程、小さな値となるものとする。つまり、パラメータγが大きな値である程、割合rate1は小さな値となり、その結果、文書データD_1と、評価対象文書データDとが同一性を有すると判定されやすくなる。
【0144】
本実施形態では、評価対象文書データDがタグ「死亡」(話題になりやすい語)を含むので、パラメータγの値が高い値に設定されている。そのため、上記処理における、割合rate1が小さな値となり、評価対象文書データDとが同一性を有すると判定されやすくなる。
【0145】
そして、上記条件(1)または(2)を満たす場合、高リスク単語検出処理部8は、文書データD_k(第kサーバSvr_kからWeb検索処理により取得した文書データ)と、評価対象文書データDとの間に同一性がある(同一内容を含む文書データである)と判定する。
【0146】
さらに、高リスク単語検出処理部8は、追加情報判定処理(追加情報が含まれているか否かを判定する処理)を行う。
【0147】
≪B:追加情報判定処理≫
具体的には、高リスク単語検出処理部8は、下記条件が満たされるか否かを判定することで、文書データD_k(k:自然数、1≦k≦M)に追加情報(評価対象文書データDにおいて、加工された情報(集合Sに含まれる単語による情報)、または、評価対象文書データDに含まれていない情報)が含まれていると判定する。
(1)Web検索処理により取得した文書データD_kに、w∈Sを満たす単語(集合S(加工された単語の集合S)に含まれる単語w)が含まれている。
(2)Web検索処理により取得した文書データD_kに、人名(人名を表す単語、単語列)が含まれている。
【0148】
そして、上記条件(1)または(2)を満たす場合、高リスク単語検出処理部8は、文書データD_k(第kサーバSvr_kからWeb検索処理により取得した文書データ)に、追加情報(評価対象文書データDにおいて、加工された情報(集合Sに含まれる単語による情報)、または、評価対象文書データDに含まれていない情報)が含まれていると判定する。
【0149】
そして、高リスク単語検出処理部8は、
(A)同一性判定処理において、文書データD_k(第kサーバSvr_kからWeb検索処理により取得した文書データ)と、評価対象文書データDとの間に同一性がある(同一内容を含む文書データである)と判定した場合であり、かつ、
(B)追加情報判定処理において、文書データD_k(第kサーバSvr_kからWeb検索処理により取得した文書データ)に、追加情報(評価対象文書データDにおいて、加工された情報(集合Sに含まれる単語による情報)、または、評価対象文書データDに含まれていない情報)が含まれていると判定した場合、
Web検索処理により第kサーバSvr_kから取得した文書データD_kを取得するときに用いた検索語w_srchを高リスク単語w_detとして検出する(高リスク単語であると判定する)。
【0150】
なお、上記処理については、第1サーバSvr_1~第MサーバSvr_Mのそれぞれから取得した文書データD_1~D_Mについて、繰り返し実行される。これにより、高リスク単語検出処理部8は、第1サーバSvr_1~第MサーバSvr_Mのそれぞれから取得した文書データD_1~D_Mについて、同一性判定処理、追加情報判定処理を実行して、高リスク単語w_det(または、高リスク単語の集合データ)を取得する。
【0151】
(ステップS10):
ステップS10において、ループ処理(ループ1)の終了条件を判定する。ループ処理の終了条件を満たしている場合、処理をステップS11に進め、ループ処理の終了条件を満たしていない場合、処理をステップS7に戻す。
【0152】
これにより、ステップS8、ステップS9が、検索語の組み合わせ数だけ繰り返される。
【0153】
そして、すべての検索語の組み合わせについて、ステップS8、S9を実行することで、高リスク単語検出処理部8により取得された高リスク単語w_det(または、高リスク単語の集合データ{w_det})を含むデータをデータ9として匿名化処理部9に出力する。
【0154】
(ステップS11):
ステップS11において、匿名化処理が実行される。具体的には、以下の処理が実行される。
【0155】
匿名化処理部9は、入力データDinと、高リスク単語検出処理部8から出力されるデータD9(={w_det})とを入力する。匿名化処理部9は、データD9に基づいて、入力データDinに対して、匿名化処理を実行する。例えば、匿名化処理部9は、入力データDinから取り出した評価対象文書データDに含まれる単語であって、高リスク単語の集合データ{w_det}に含まれる単語について、削除する、または、一般化する(上位概念化した単語に置換する)処理を行う。これにより、高リスク単語が削除、または、一般化された匿名化文書D_saniが取得される。そして、匿名化処理部9は、上記処理により取得した匿名化文書D_saniを含むデータを出力データDoutとして、出力する。
【0156】
以上のように処理することで、匿名化処理システム1000では、匿名化処理を実行することができる。
【0157】
ここで、匿名化処理システム1000による匿名化処理の一例について、図5図6を用いて説明する。
【0158】
図5図7は、匿名化処理システム1000による匿名化処理の一例を示す図である。
【0159】
説明便宜のため、一例として、図5に示す文章が評価対象文書データDである場合において、匿名化処理装置100により、
(1)図5に示す単語データA(=「第一小学校」),A(=「脊椎」),A(=「損傷」)が1回目の検索語として取得され、
(2)図5に示す単語データB(=「山田太郎」),B(=「2020年12月11日」),B(=「大阪市」)が2回目の検索語として取得され、
(3)図5に示す単語データC(=「山田太郎」),C(=「フットサル」)が3回目の検索語として取得されたものとして、説明する。なお、単語データA~A、B~B、および、C~Cの全ての単語データが集合S(評価対象文書データDにおいて、加工された単語データの集合)に含まれるものとする。
【0160】
そして、1回目の検索語{A,A,A}によるWeb検索処理(検索語{A,A,A}のAND検索によるWeb検索処理)により、図6に示す文書データD_kが取得されたものとする。
【0161】
この場合、図6に示す文書データD_kは、集合Sに含まれる単語を複数(例えば、単語データA~A、B~B、および、C~C)含むので、匿名化処理装置100は、同一性判定処理、および、追加情報判定処理において、評価対象文書データDと文書データD_kとは同一性を有しており、かつ、文書データD_kは、追加情報を含むと判定する。そして、匿名化処理装置100は、1回目の検索語{A,A,A}を高リスク単語であると判定する(高リスク単語として検出する)。つまり、匿名化処理装置100は、高リスク単語の集合{w_det}={A,A,A}とする。
【0162】
また、2回目の検索語{B,B,B}によるWeb検索処理(検索語{B,B,B}のAND検索によるWeb検索処理)により、図6に示す文書データD_kが取得されたものとする。
【0163】
この場合、図6に示す文書データD_kは、集合Sに含まれる単語を複数(例えば、単語データA~A、B~B、および、C~C)含むので、匿名化処理装置100は、同一性判定処理、および、追加情報判定処理において、評価対象文書データDと文書データD_kとは同一性を有しており、かつ、文書データD_kは、追加情報を含むと判定する。そして、匿名化処理装置100は、2回目の検索語{B,B,B}を高リスク単語であると判定する(高リスク単語として検出する)。つまり、匿名化処理装置100は、高リスク単語の集合{w_det}に{B,B,B}を追加する。すなわち、匿名化処理装置100は、高リスク単語の集合{w_det}={A,A,A,B,B,B}とする。
【0164】
また、3回目の検索語{C,C}によるWeb検索処理(検索語{C,C}のAND検索によるWeb検索処理)により、図6に示す文書データD_kが取得されたものとする。
【0165】
この場合、図6に示す文書データD_kは、集合Sに含まれる単語を複数(例えば、単語データA~A、B~B、および、C~C)含むので、匿名化処理装置100は、同一性判定処理、および、追加情報判定処理において、評価対象文書データDと文書データD_kとは同一性を有しており、かつ、文書データD_kは、追加情報を含むと判定する。そして、匿名化処理装置100は、3回目の検索語{C,C}を高リスク単語であると判定する(高リスク単語として検出する)。つまり、匿名化処理装置100は、高リスク単語の集合{w_det}に{C,C}を追加する。すなわち、匿名化処理装置100は、高リスク単語の集合{w_det}={A,A,A,B,B,B,C,C}とする。
【0166】
そして、匿名化処理装置100の匿名化処理部9は、評価対象文書データDにおいて、高リスク単語の集合{w_det}={A,A,A,B,B,B,C,C}に対して、削除または一般化する処理を行い、匿名化文書D_saniを取得する。
【0167】
例えば、匿名化処理部9は、図7に示すように、下記のように単語(単語データ)を一般化した単語に置換する。
「山田太郎」(B,C)→「A」
「2020年12月11日」(B)→「2020年」
「大阪市」(B)→「大阪」
「第一小学校」(A)→「小学校」
「フットサル」(C)→「スポーツ」
「脊椎」(A)→「体の一部」
「損傷」(A)→「負傷」
そして、匿名化処理部9は、上記処理により取得した文書データを匿名化文書D_saniとして取得する(図7の下段を参照)。
【0168】
図7から分かるように、匿名化処理装置100により取得された匿名化文書D_saniは、適切な匿名化が施された文書となっている。
【0169】
なお、このようにして取得された匿名化文書D_saniは、データ格納部DB1に記憶するようにしてもよい。
【0170】
≪まとめ≫
以上のように、匿名化処理システム1000では、評価対象文書データDについて、文章データを単語分割し、取得した単語の情報量に基づいてWeb検索処理を行うための検索語を取得する。そして、匿名化処理システム1000では、取得した検索語により、Web検索処理を行い、Web検索処理により取得した文書データと評価対象文書データDとの同一性の判定(同一性判定処理)、Web検索処理により取得した文書データに追加情報が含まれているかの判定(追加情報判定処理)を行う。そして、匿名化処理システム1000では、同一性判定処理において、同一性ありと判定され、かつ、追加情報判定処理で追加情報ありと判定された場合、Web検索処理に用いた検索語を高リスク単語として検出する(高リスク単語と判定する)。そして、匿名化処理システム1000では、評価対象文書データDに対して、高リスク単語について、匿名化処理を行うことで、適切な匿名化処理を行うことができる(適切な匿名化処理が施された匿名化文書D_saniを取得できる)。
【0171】
つまり、匿名化処理システム1000では、危険な単語の事前定義をしなくとも、単語の組み合わせを考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行うことができる。
【0172】
また、匿名化処理システム1000では、評価対象文書データDの分類処理を行い、評価対象文書データDの文書の種類を決定し、決定した文書の種類に応じて、パラメータ調整部2により、パラメータα、β、γを調整する。そして、匿名化処理システム1000では、パラメータα、β、γに基づいて、検索語の選択、Web検索処理の精度、同一性判定処理の判定制度、追加情報判定処理の判定制度を調整することができる。匿名化処理システム1000では、危険な単語の事前定義をしなくとも、単語の組み合わせや文書の種類を考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行うことができ、さらに、文書の分類結果に応じて、匿名化の度合いを変更することができる。
【0173】
以上のように、匿名化処理システム1000では、危険な単語の事前定義をしなくとも、単語の組み合わせや文書の種類を考慮して、個人識別や追加情報の漏洩の危険性がある単語を発見し、当該単語について処理することで適切な匿名化処理を行うことができる。
【0174】
なお、匿名化処理装置100において、図8に示すように、高リスク単語検出処理装置Dev1と、匿名化処理部9とを分けた構成としてもよい。つまり、匿名化処理装置100を、2つの装置(高リスク単語検出処理装置Dev1と匿名化処理部9)で構成するようにしてもよい。
【0175】
[他の実施形態]
上記実施形態では、匿名化処理システム1000において、高リスク単語検出処理部8が同一性判定処理および追加情報判定処理の両方を行う場合について、説明したが、これに限定されることはなく、例えば、高リスク単語検出処理部8は、同一性判定処理、または、追加情報判定処理のみを実行し、高リスク単語を検出するようにしてもよい。
【0176】
また、上記実施形態において、評価対象文書データDは、生データ(加工された単語、文章を含まないデータ)(Aall={A})であってもよいし、加工された単語(集合S)、文章を含むデータ(Aall={A,S})であってもよい。
【0177】
また、上記実施形態において、データ格納部DB1に格納する文書データは、用途別に収集された文書データであってもよい。例えば、データ格納部DB1に格納する文書データは、裁判用文章データ、学校用文章データ、スポーツ報告用文章データ等であってもよい。そして、この場合、データ格納部DB1に格納する文書データの種別に応じて、評価対象文書データDを分類した結果に基づいて調整されるパラメータα、β、γの調整度合いを設定してもよい。例えば、データ格納部DB1に格納する文書データの種別が「裁判用」である場合、「殺人」というタグ付けがされたクラスタに、評価対象文書データDが分類された場合、パラメータα、β、γが大きな値になるように設定してもよい。これにより、裁判用文章データにおいて、殺人を扱う文書データをWeb検索処理による取得できる可能性が高くすることができ、その結果、匿名化処理システム1000での匿名化処理の精度を上げることができる。
【0178】
また、上記実施形態において、追加情報判定処理では、人名が含まれるか否かで判定処理を行う場合について説明したが、これに限定されることはなく、例えば、追加情報判定処理において、人名以外の固有名詞(法人名、学校名)等が含まれるか否かで判定処理を行うようにしてもよい。
【0179】
また、上記実施形態で説明した匿名化処理システム1000、および、匿名化処理装置100において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
【0180】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0181】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0182】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0183】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0184】
例えば、上記実施形態の各機能部を、ソフトウェアにより実現する場合、図9に示したハードウェア構成(例えば、CPU(GPUを含む)、ROM、RAM、入力部、出力部等をバスBusにより接続したハードウェア構成)を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
【0185】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【0186】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0187】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0188】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【0189】
1000 匿名化処理システム
100 匿名化処理装置
1 分類処理部
2 パラメータ調整部
3 単語分割処理部
4 単語情報量算出部
5 単語選択処理部
6 検索語取得部
8 高リスク単語検出処理部
9 匿名化処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9