JP6509719B2 - 構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム - Google Patents

構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム Download PDF

Info

Publication number
JP6509719B2
JP6509719B2 JP2015248304A JP2015248304A JP6509719B2 JP 6509719 B2 JP6509719 B2 JP 6509719B2 JP 2015248304 A JP2015248304 A JP 2015248304A JP 2015248304 A JP2015248304 A JP 2015248304A JP 6509719 B2 JP6509719 B2 JP 6509719B2
Authority
JP
Japan
Prior art keywords
data set
search
structure data
data
data generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015248304A
Other languages
English (en)
Other versions
JP2017116981A (ja
Inventor
知明 三本
知明 三本
清本 晋作
晋作 清本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2015248304A priority Critical patent/JP6509719B2/ja
Publication of JP2017116981A publication Critical patent/JP2017116981A/ja
Application granted granted Critical
Publication of JP6509719B2 publication Critical patent/JP6509719B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、木構造を用いてデータセットを検索するための装置、方法及びプログラムに関する。
従来、集合(データセット)内から文字列を検索するためのデータ構造として、木構造が用いられることが多い。木構造の一種である基数木(Radix Tree)を用いて文字列を検索する場合、レコード内の検索したい文字列に対応した一部の文字列を抜き取って基数木が構築される(例えば、非特許文献1参照)。
A. Basu, T. Nakamura, S. Hidano and S. Kiyomoto, k−anonymity: risks and the reality, Accepted for publication in the IEEE International Symposium on Recent Advances of Trust, Security and Privacy in Computing and Communications (RATSP, collocated with the IEEE TrustCom), Helsinki, 2015.
しかしながら、基数木を用いて検索する場合、検索対象のデータセットが同一であったとしても、検索するデータの属性が異なれば、その都度、属性に合わせた基数木を構築する必要があった。
例えば、図6のように場所、年齢、性別を属性(カラム)として持つデータセットに対して検索を行う場合を説明する。
属性の組み合わせが「東京」、「25−30」、「男」のレコードの件数を得る場合、図7のように3つの属性値を連結した文字列に基づいて基数木を構築した後、4番目のリーフノードに割り振られたレコード件数を確認する。また、属性の組み合わせが「愛媛」、「女」のレコードの件数を得る場合、図8のように2つの属性値を連結した文字列に基づいて図7とは異なる基数木を構築した後、2番目のリーフノードに割り振られたレコード件数を確認する。
このように、異なる属性の組み合わせで検索を繰り返す場合、基数木の構築処理が繰り返し実行されることになるため、高速処理が難しかった。
本発明は、高速にデータセットを繰り返し検索できる構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラムを提供することを目的とする。
本発明に係る構造データ生成装置は、データセットのレコードを検索するための構造データを生成する構造データ生成装置であって、前記データセットに含まれる属性及び当該属性の組み合わせについて、当該データセットの各レコードの属性値を特定文字列に置換した新たなレコードを、当該データセットに追加して新たなデータセットを生成する生成部と、前記新たなデータセットに対応する検索用の木構造データを構築する構築部と、を備える。
本発明に係る検索装置は、前記構造データ生成装置により生成された前記木構造データを用いて、前記データセットのレコードを検索する検索装置であって、前記データセットに含まれる属性又は当該属性の組み合わせからなる検索キーの入力を受け付ける入力部と、前記検索キーに含まれない属性を前記特定文字列として当該検索キーに挿入した、前記データセットに含まれる全ての属性の連結文字列によって、前記木構造データを検索する検索部と、を備える。
本発明に係る構造データ生成方法は、データセットのレコードを検索するための構造データをコンピュータが生成する構造データ生成方法であって、前記データセットに含まれる属性及び当該属性の組み合わせについて、当該データセットの各レコードの属性値を特定文字列に置換した新たなレコードを、当該データセットに追加して新たなデータセットを生成する生成ステップと、前記新たなデータセットに対応する検索用の木構造データを構築する構築ステップと、を前記コンピュータが実行する。
本発明に係る構造データ生成プログラムは、データセットのレコードを検索するための構造データをコンピュータに生成させるための構造データ生成プログラムであって、前記データセットに含まれる属性及び当該属性の組み合わせについて、当該データセットの各レコードの属性値を特定文字列に置換した新たなレコードを、当該データセットに追加して新たなデータセットを生成する生成ステップと、前記新たなデータセットに対応する検索用の木構造データを構築する構築ステップと、を前記コンピュータに実行させる。
本発明によれば、高速にデータセットを繰り返し検索できる。
実施形態に係る検索システムの構成を示すブロック図である。 実施形態に係る生成部により生成される新たなデータセットを例示する図である。 実施形態に係る構築部により生成される基数木を例示する図である。 実施形態に係る検索システムにおける処理の流れを示すフローチャートである。 実施形態に係る検索装置による検索時のデータセットの変換例を示す図である。 データセットを例示する図である。 データセットに基づく基数木の第1の例を示す図である。 データセットに基づく基数木の第2の例を示す図である。
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係る検索システム1の構成を示すブロック図である。
本実施形態に係る検索システム1は、データセットのレコードを検索するための構造データを生成する構造データ生成装置10と、生成された構造データを用いて、データセットのレコードを検索する検索装置20とを備える。
なお、本実施形態では、検索システム1は、構造データとして基数木を用いることとするが、これには限られない。
構造データ生成装置10は、生成部11と、構築部12とを備える。
生成部11は、データセットに含まれる属性及び属性の組み合わせについて、このデータセットの各レコードの属性値を特定文字列に置換した新たなレコードを、元のデータセットに追加して新たなデータセットを生成する。
特定文字列は、例えば「*」等、データセットに含まれる属性値と区別できる文字列である。
図2は、本実施形態に係る生成部11により生成される新たなデータセットを例示する図である。
ここでは、符号Aで示す図6と同一のデータセットに対して、符号Bで示す新たなレコードが追加されている。
具体的には、生成部11は、元レコードそれぞれについて、属性の組み合わせを特定文字列(例えば、「*」)に置換した複数の新たなレコードを追加する。
例えば、「愛知/21−24/男」から、複数の新たなレコード「愛知/21−24/*」、「愛知/*/男」、「*/21−24/男」、「愛知/*/*」、「*/21−24/*」、「*/*/男」が生成される。
構築部12は、新たなデータセットに対応する検索用の木構造データとして、基数木を構築する。
図3は、本実施形態に係る構築部12により生成される基数木を例示する図である。
生成部11により生成された新たなデータセット(図2)は、特定文字列「*」で名寄せすると、元のデータセット(図2のA)に比べて、該当の属性の値を問わずに他の属性の値でグループ化したレコード数が新たに追加されている(図2のB)。
したがって、構築部12は、この新たなデータセット(図2)を用いて基数木を構築することにより、図3のように、特定文字列をワイルドカードとした検索用の木構造データを生成できる。
この例では、「愛知/21−24/男」(1)のように、全属性の値を検索キーとした検索結果(レコード数)の他、例えば、「愛媛/21−24/*」(6)、「東京/*/*」(17)、「*/25−30/*」(23)のように、いずれかの属性をワイルドカードとした検索キーによる検索結果(レコード数)が単一の基数木から得られる。
検索装置20は、入力部21と、検索部22とを備える。
入力部21は、データセットに含まれる属性又は属性の組み合わせからなる検索キーの入力を受け付ける。
例えば、入力部21は、「愛知/21−24/男」のような全属性の組み合わせの他、「愛知」、「21−24」、「男」のような単一の属性、又は「愛知/21−24」、「愛媛/女」、「25−30/男」のような属性の組み合わせを、入力として受け付ける。
検索部22は、入力された検索キーに含まれない属性を特定文字列として検索キーに挿入した、データセットに含まれる全ての属性の連結文字列によって、木構造データを検索する。
具体的には、例えば、性別の属性が含まれない場所及び年齢のような属性の組み合わせが検索キーとして入力された場合、検索部22は、性別の属性があるべき3番目の位置に特定文字列「*」を挿入した連結文字列(例えば、「愛知21−24*」)によって基数木を検索する。そして、検索部22は、性別の属性をワイルドカードとした検索結果として、場所及び年齢の属性値が同一のレコード数を得る。
図4は、本実施形態に係る検索システム1における処理の流れを示すフローチャートである。
本処理では、検索システム1は、データセットに含まれる複数の属性のうち、指定された属性の組み合わせの値が同一であるレコード数を、各レコードの匿名性を示す指標として検索する。
ステップS1において、構造データ生成装置10(生成部11)は、処理対象となるデータセットの入力を受け付ける。
ステップS2において、構造データ生成装置10(生成部11)は、入力されたデータセットに対して特定文字列を用いたレコードを追加し、新たなデータセットを生成する。
ステップS3において、構造データ生成装置10(構築部12)は、生成された新たなデータセットに基づいて、検索用の木構造データである基数木を生成する。
ステップS4において、検索装置20(入力部21)は、検索キーとして検索対象とする属性の組み合わせの入力を受け付ける。
ステップS5において、検索装置20(検索部22)は、ステップS1で入力された元のデータセットの各レコードに対して、検索対象外の属性の位置に特定文字列を挿入した連結文字列を生成する。
このとき、検索部22は、元のデータセットに含まれる複数の属性のうち、検索に不要な属性の値を特定文字列に変換、又は読み替えることにより、各レコードから検索用の連結文字列を取得する。
図5は、本実施形態に係る検索装置20による検索時のデータセットの変換例を示す図である。
この例では、場所及び年齢の属性値が同一のレコード数を検索する場合を示しており、検索に不要な性別の属性値が全て特定文字列「*」に変換されている。
ステップS6において、検索装置20(検索部22)は、ステップS5で生成された連結文字列を用いて基数木を検索し、元のデータセットの全レコードに対して順に検索結果を出力する。
ステップS7において、検索装置20は、検索処理を終了するか否かを判定する。この判定がNOの場合、処理はステップS4に戻り、検索装置20は、新たな検索キーの入力を受け付ける。この場合、検索装置20は、既に生成済みの基数木を用いて検索が可能であり、構造データ生成装置10による処理(ステップS1〜S3)は不要である。
本実施形態によれば、検索システム1は、検索キーが異なる複数の検索が想定される場合に、検索対象のデータセットについて、これら異なる検索キーのいずれにも対応した基数木を、検索前に一度だけ構築する。したがって、検索システム1は、検索の都度、基数木を構築することなく、全属性及び任意の一部の属性を対象として高速にデータセットを繰り返し検索できる。
また、検索システム1は、データセットの属性値を特定文字列に置き換えることで、既存の検索アルゴリズムを利用して容易に基数木の構築、及び検索処理を実行できる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
本実施形態では、検索システム1は、構造データ生成装置10及び検索装置20が独立に設けられた構成として説明したが、これには限られず、単一の情報処理装置が構造データ生成装置10及び検索装置20の機能を備えた構成であってもよい。
検索システム1による構造データ生成方法及び検索方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(構造データ生成装置10及び検索装置20)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(構造データ生成装置10及び検索装置20)に提供されてもよい。
1 検索システム
10 構造データ生成装置
11 生成部
12 構築部
20 検索装置
21 入力部
22 検索部

Claims (4)

  1. データセットのレコードを検索するための構造データを生成する構造データ生成装置であって、
    前記データセットに含まれる属性及び当該属性の組み合わせについて、当該データセットの各レコードの属性値を特定文字列に置換した新たなレコードを、当該データセットに追加して新たなデータセットを生成する生成部と、
    前記新たなデータセットに対応する検索用の木構造データを構築する構築部と、を備える構造データ生成装置。
  2. 請求項1に記載の構造データ生成装置により生成された前記木構造データを用いて、前記データセットのレコードを検索する検索装置であって、
    前記データセットに含まれる属性又は当該属性の組み合わせからなる検索キーの入力を受け付ける入力部と、
    前記検索キーに含まれない属性を前記特定文字列として当該検索キーに挿入した、前記データセットに含まれる全ての属性の連結文字列によって、前記木構造データを検索する検索部と、を備える検索装置。
  3. データセットのレコードを検索するための構造データをコンピュータが生成する構造データ生成方法であって、
    前記データセットに含まれる属性及び当該属性の組み合わせについて、当該データセットの各レコードの属性値を特定文字列に置換した新たなレコードを、当該データセットに追加して新たなデータセットを生成する生成ステップと、
    前記新たなデータセットに対応する検索用の木構造データを構築する構築ステップと、を前記コンピュータが実行する構造データ生成方法。
  4. データセットのレコードを検索するための構造データをコンピュータに生成させるための構造データ生成プログラムであって、
    前記データセットに含まれる属性及び当該属性の組み合わせについて、当該データセットの各レコードの属性値を特定文字列に置換した新たなレコードを、当該データセットに追加して新たなデータセットを生成する生成ステップと、
    前記新たなデータセットに対応する検索用の木構造データを構築する構築ステップと、を前記コンピュータに実行させるための構造データ生成プログラム。
JP2015248304A 2015-12-21 2015-12-21 構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム Active JP6509719B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015248304A JP6509719B2 (ja) 2015-12-21 2015-12-21 構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015248304A JP6509719B2 (ja) 2015-12-21 2015-12-21 構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム

Publications (2)

Publication Number Publication Date
JP2017116981A JP2017116981A (ja) 2017-06-29
JP6509719B2 true JP6509719B2 (ja) 2019-05-08

Family

ID=59231809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015248304A Active JP6509719B2 (ja) 2015-12-21 2015-12-21 構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム

Country Status (1)

Country Link
JP (1) JP6509719B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2683870B2 (ja) * 1994-05-23 1997-12-03 日本アイ・ビー・エム株式会社 文字列検索システム及び方法
JP2000222434A (ja) * 1999-02-04 2000-08-11 Hitachi Ltd 結合検索方法
JP2003218490A (ja) * 2002-01-24 2003-07-31 Sharp Corp プリント配線板およびその製造方法
JP4920303B2 (ja) * 2006-05-17 2012-04-18 株式会社野村総合研究所 データ処理システム
US9171054B1 (en) * 2012-01-04 2015-10-27 Moonshadow Mobile, Inc. Systems and methods for high-speed searching and filtering of large datasets

Also Published As

Publication number Publication date
JP2017116981A (ja) 2017-06-29

Similar Documents

Publication Publication Date Title
US10778441B2 (en) Redactable document signatures
JP5442161B2 (ja) 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム
US9300471B2 (en) Information processing apparatus, information processing method, and program
EP3067814A1 (en) Url matching device, url matching method, and url matching program
JP6917942B2 (ja) データ分析サーバ、データ分析システム、及びデータ分析方法
JPWO2011013463A1 (ja) 範囲検索システム、範囲検索方法、及び範囲検索用プログラム
US11222131B2 (en) Method for a secure storage of data records
JP6487820B2 (ja) リスク評価装置、リスク評価方法及びリスク評価プログラム
JP6337133B2 (ja) 非減少列判定装置、非減少列判定方法及びプログラム
JP6509719B2 (ja) 構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム
WO2012049883A1 (ja) データ構造、インデックス作成装置、データ検索装置、インデックス作成方法、データ検索方法およびコンピュータ読み取り可能な記録媒体
Raddum et al. Factorization using binary decision diagrams
JP5983333B2 (ja) 検索処理方法、データ生成方法及び情報処理装置
US20180046656A1 (en) Constructing filterable hierarchy based on multidimensional key
JP7390356B2 (ja) クローニング後のテナント識別子変換のためのレコードの識別
JP2017182377A (ja) 情報処理装置、制御方法、及びプログラム
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
JP5867208B2 (ja) データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置
JPWO2018012413A1 (ja) 類似データ検索装置、類似データ検索方法および記録媒体
JPWO2017221857A1 (ja) 類似演算装置、方法および記憶媒体
JP2012247882A (ja) 情報のマッチングシステム
JP5899587B2 (ja) ファイルの検索方法、ファイル検索装置及びプログラム
JP2014026331A (ja) 部分木判定装置、部分木判定方法、及び部分木判定プログラム
JP6028656B2 (ja) データ抽出方法、装置及びプログラム
JP2014203431A (ja) 部分木併合装置、部分木併合方法および部分木併合プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190403

R150 Certificate of patent or registration of utility model

Ref document number: 6509719

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150