JP2017073093A - インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 - Google Patents
インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 Download PDFInfo
- Publication number
- JP2017073093A JP2017073093A JP2015201547A JP2015201547A JP2017073093A JP 2017073093 A JP2017073093 A JP 2017073093A JP 2015201547 A JP2015201547 A JP 2015201547A JP 2015201547 A JP2015201547 A JP 2015201547A JP 2017073093 A JP2017073093 A JP 2017073093A
- Authority
- JP
- Japan
- Prior art keywords
- hashed
- bitmap
- index
- word
- information
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
図1Aおよび図1Bは、実施例に係るハッシュ化インデックス生成処理の一例を示す図である。図1Aおよび図1Bに示すように、ハッシュ化インデックス生成処理は、ビットマップ型インデックスのサイズ縮小を実現するために、ビットマップ型インデックスからハッシュ化インデックスを生成する。すなわち、ハッシュ化インデックス生成処理は、隣接した複数のハッシュ値(底)を基に、2次元(単語の軸とファイルの軸)にハッシュ化を適用したハッシュ化インデックスを生成する。
ここで、ハッシュノイズについて、図2を参照して説明する。図2は、ハッシュノイズの説明をする図である。図2に示すように、ハッシュノイズは、0/1比率が閾値を超過すると、急激に増加する傾向にある。すなわち、単語に対応するビットマップは、0/1比率が閾値を超過すると、ハッシュ化した場合に、ハッシュノイズが急激に増加する。具体的には、超高頻度の単語の場合、単語に対応する軸(ビットマップ)は、0/1比率が閾値を超過するので、ハッシュ化した場合に、ハッシュノイズが急激に増加する。この結果、ハッシュノイズが急激に増加すると、例えばハッシュ化を復元する際に正しく復元できないこととなり、他の単語へも悪影響が広がる。そこで、インデックス生成装置は、0/1比率が閾値より大きい単語に対応するビットマップを分割することにより、分割後のビットマップをハッシュ化しても、ハッシュノイズを軽減することができる。
次に、実施例に係るビットマップ型インデックスの一例を、図3Aおよび図3Bを参照して説明する。図3Aは、実施例に係るビットマップ型インデックスの一例を示す図である。図3Aに示すように、ビットマップ型インデックスBIは、超高頻度の単語、高頻度の単語および低頻度の単語に係る圧縮付号(単語IDに対応)ごとにビットマップを対応づける。ビットマップとは、超高頻度の単語、高頻度の単語および低頻度の単語がいずれの圧縮ファイルに含まれるかを表す符号ビット列である。ビットマップの各ビットが、各圧縮ファイルに超高頻度の単語、高頻度の単語および低頻度の単語が含まれているか否かを表す。なお、かかる単語は、要素の一例である。
図4Aおよび図4Bは、実施例に係るハッシュ化ビットマップ復元処理の一例を示す図である。図4Aおよび図4Bに示すように、ハッシュ化ビットマップ復元処理は、ハッシュ化ビットマップから、ハッシュ化を展開した単語IDに対応するビットマップへ復元する。図4Aは、ハッシュ化ビットマップに分割先が設定されていない場合であり、図4Bは、ハッシュ化ビットマップに分割先が設定されている場合である。ハッシュ化ビットマップ復元処理は、入力文字列を構成する単語がどのファイルに存在するかを検索する際に実行される。
図5は、実施例に係る検索処理の一例を示す図である。図5に示すように、検索処理を実行する検索装置は、単語およびテキストデータのファイルIDの入力を受け付けると、受け付けた単語が示す単語IDに対する複数のハッシュ化ビットマップをハッシュ化インデックスHIから抽出する。ここでは、単語として「Mickey」、ファイルIDとして「ファイル33」が受け付けられたとする。すると、検索装置は、単語として受け付けられた「Mickey」が示す単語ID「A001h」に対する複数のハッシュ化ビットマップh41,h42をハッシュ化インデックスHIから抽出する。
次に、図6を参照して、実施例に係るインデックス生成処理を実行するインデックス生成装置100の構成について説明する。図6は、実施例に係るインデックス生成装置の構成を示す機能ブロック図である。図6に示すように、インデックス生成装置100は、制御部110と記憶部120とを有する。
図7は、実施例に係るインデックス生成処理のフローチャートの一例を示す図である。
次に、図8を参照して、実施例に係る検索処理を実行する検索装置200の構成について説明する。図8は、実施例に係る検索装置の構成を示す機能ブロック図である。図8に示すように、検索装置200は、制御部210と記憶部220とを有する。
図9は、実施例に係る検索処理のフローチャートの一例を示す図である。
上記実施例によれば、インデックス生成装置100は、複数のファイルの少なくともいずれかに含まれる複数の要素それぞれについて、複数のファイルそれぞれに対する存否情報を生成する。そして、インデックス生成装置100は、存否情報より、複数のファイルの軸に対し複数のハッシュ関数を適用した複数ハッシュ化軸を用いたハッシュ化インデックス情報を生成する際に、存否情報では独立であるがハッシュ化インデックス情報では重複する衝突データの検知を行う。インデックス生成装置100は、検知された衝突が特定の条件を満たす場合、衝突データそれぞれに対し複数ハッシュ化軸のいずれか1つに対し追加の値を設定して対応づける。かかる構成によれば、インデックス生成装置100は、ハッシュ化インデックス情報が特定の条件により衝突する場合に、複数ハッシュ化軸のうち1つの軸を拡張することで、衝突を回避できる。
以下、上述の実施形態における変形例の一部を説明する。下記の変形例のみでなく、本発明の本旨を逸脱しない範囲の設計変更は適宜行われうる。
実施例のインデックス生成装置100および検索装置200を含む情報処理装置のハードウェア構成を、図10を参照して説明する。図10は、実施例に係る情報処理装置のハードウェア構成を示す図である。図10の例が示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータ入力を受け付ける入力装置402と、モニタ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る媒体読取装置404と、他の装置と接続するためのインターフェース装置405と、他の装置と無線により接続するための無線通信装置406とを有する。また、コンピュータ400は、各種情報を一時記憶するRAM407と、ハードディスク装置408とを有する。また、各装置401〜408は、バス409に接続される。
110 制御部
111 ハッシュ化部
112 重複判定部
113 0/1比率集計部
114 ビットマップ分割部
120 記憶部
121 ビットマップ型インデックス
122 ハッシュ化インデックス
200 検索装置
210 制御部
211 検索キー受付部
212 分割先有無判定部
213 分割無し復元部
214 分割有り復元部
215 検索処理部
216 検索結果出力部
220 記憶部
221 ハッシュ化インデックス
Claims (11)
- コンピュータに、
複数のテキストデータの少なくともいずれかに含まれる複数の要素それぞれについて、前記複数のテキストデータそれぞれに対する存否情報を生成し、
前記存否情報より、前記複数のテキストデータの軸に対し複数のハッシュ関数を適用した複数ハッシュ化軸を用いたハッシュ化インデックス情報を生成する際に、前記存否情報では独立であるが前記ハッシュ化インデックス情報では重複する衝突データの検知を行い、
前記検知された衝突が特定の条件を満たす場合、衝突データそれぞれに対し前記複数ハッシュ化軸のいずれか1つに対し追加の値を設定して対応づける
処理を実行させることを特徴とするインデックス生成プログラム。 - 前記対応づける処理は、前記複数ハッシュ化軸のいずれか1つで連続して衝突が発生した場合に、前記衝突が発生したハッシュ化軸に対応する前記要素に対する存否情報を用いて存否の比率を集計し、集計した存否の比率のうち存在する率が閾値より大きい場合に、前記要素に対する存否情報を分割し、前記複数ハッシュ化軸のいずれか1つに対し分割先を設定して対応づける
処理を実行させることを特徴とする請求項1に記載のインデックス生成プログラム。 - 前記要素に対する存否情報が分割された場合の前記分割先を、前記要素の低頻度単語の領域とする
ことを特徴とする請求項2に記載のインデックス生成プログラム。 - 前記ハッシュ化軸の大きさは、レジスタの大きさに合わせたビット数である
ことを特徴とする請求項1または請求項2に記載のインデックス生成プログラム。 - 前記複数の要素の単位は、単語単位である
ことを特徴とする請求項1に記載のインデックス生成プログラム。 - 前記複数の要素の単位は、Nグラム(Nは2以上)の文字単位である
ことを特徴とする請求項1に記載のインデックス生成プログラム。 - コンピュータが、
複数のテキストデータの少なくともいずれかに含まれる複数の要素それぞれについて、前記複数のテキストデータそれぞれに対する存否情報を生成し、
前記存否情報より、前記複数のテキストデータの軸に対し複数のハッシュ関数を適用した複数ハッシュ化軸を用いたハッシュ化インデックス情報を生成する際に、前記存否情報では独立であるが前記ハッシュ化インデックス情報では重複する衝突データの検知を行い、
前記検知された衝突が特定の条件を満たす場合、衝突データそれぞれに対し前記複数ハッシュ化軸のいずれか1つに対し追加の値を設定して対応づける
各処理を実行することを特徴とするインデックス生成方法。 - 複数のテキストデータの少なくともいずれかに含まれる複数の要素それぞれについて、前記複数のテキストデータそれぞれに対する存否情報を生成する生成部と、
前記生成部によって生成された存否情報より、前記複数のテキストデータの軸に対し複数のハッシュ関数を適用した複数ハッシュ化軸を用いたハッシュ化インデックス情報を生成する際に、前記存否情報では独立であるが前記ハッシュ化インデックス情報では重複する衝突データの検知を行う検知部と、
前記検知部によって検知された衝突が特定の条件を満たす場合、衝突データそれぞれに対し前記複数ハッシュ化軸のいずれか1つに対し追加の値を設定して対応づける設定部と、
を有することを特徴とするインデックス生成装置。 - コンピュータに、
2以上の文字より構成される要素およびテキストデータの識別情報を受け付けると、受け付けた要素に対する複数ハッシュ化軸をそれぞれ復元し、
前記それぞれ復元されたビット列の各ビットが示す、複数のテキストデータそれぞれにおける前記要素の存否情報に基づいて、前記受け付けたテキストデータの識別情報に対応する前記要素の存否情報を検索する
処理を実行させることを特徴とする検索プログラム。 - コンピュータが、
2以上の文字より構成される要素およびテキストデータの識別情報を受け付けると、受け付けた要素に対する複数ハッシュ化軸をそれぞれ復元し、
前記それぞれ復元されたビット列の各ビットが示す、複数のテキストデータそれぞれにおける前記要素の存否情報に基づいて、前記受け付けたテキストデータの識別情報に対応する前記要素の存否情報を検索する
各処理を実行することを特徴とする検索方法。 - 2以上の文字より構成される要素およびテキストデータの識別情報を受け付けると、受け付けた要素に対する複数ハッシュ化軸をそれぞれ復元する復元部と、
前記復元部によってそれぞれ復元されたビット列の各ビットが示す、複数のテキストデータそれぞれにおける前記要素の存否情報に基づいて、前記受け付けたテキストデータの識別情報に対応する前記要素の存否情報を検索する検索部と、
を有することを特徴とする検索装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201547A JP6551131B2 (ja) | 2015-10-09 | 2015-10-09 | インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 |
US15/287,257 US10324963B2 (en) | 2015-10-09 | 2016-10-06 | Index creating device, index creating method, search device, search method, and computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201547A JP6551131B2 (ja) | 2015-10-09 | 2015-10-09 | インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017073093A true JP2017073093A (ja) | 2017-04-13 |
JP6551131B2 JP6551131B2 (ja) | 2019-07-31 |
Family
ID=58499579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015201547A Active JP6551131B2 (ja) | 2015-10-09 | 2015-10-09 | インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10324963B2 (ja) |
JP (1) | JP6551131B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10263638B2 (en) * | 2016-05-31 | 2019-04-16 | Texas Instruments Incorporated | Lossless compression method for graph traversal |
JP6805720B2 (ja) | 2016-10-21 | 2020-12-23 | 富士通株式会社 | データ検索プログラム、データ検索装置およびデータ検索方法 |
JP7059516B2 (ja) * | 2017-03-29 | 2022-04-26 | 富士通株式会社 | 符号化プログラム、符号化装置および符号化方法 |
JP6972653B2 (ja) * | 2017-05-16 | 2021-11-24 | 富士通株式会社 | 解析プログラム、解析方法および解析装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08278894A (ja) * | 1995-04-06 | 1996-10-22 | Hitachi Ltd | ハッシュ法による情報処理方法および情報処理装置 |
JP2001344282A (ja) * | 2001-03-08 | 2001-12-14 | Hitachi Ltd | 文書検索方法および装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2753228B2 (ja) | 1987-04-30 | 1998-05-18 | 株式会社日立製作所 | データ処理装置 |
JP3263963B2 (ja) | 1991-12-25 | 2002-03-11 | 株式会社日立製作所 | 文書検索方法及び装置 |
US5748953A (en) | 1989-06-14 | 1998-05-05 | Hitachi, Ltd. | Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols |
JP5605288B2 (ja) | 2011-03-31 | 2014-10-15 | 富士通株式会社 | 出現マップ生成方法、ファイル抽出方法、出現マップ生成プログラム、ファイル抽出プログラム、出現マップ生成装置、およびファイル抽出装置 |
US10007615B1 (en) * | 2015-05-01 | 2018-06-26 | Marvell International Ltd. | Methods and apparatus for performing fast caching |
-
2015
- 2015-10-09 JP JP2015201547A patent/JP6551131B2/ja active Active
-
2016
- 2016-10-06 US US15/287,257 patent/US10324963B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08278894A (ja) * | 1995-04-06 | 1996-10-22 | Hitachi Ltd | ハッシュ法による情報処理方法および情報処理装置 |
JP2001344282A (ja) * | 2001-03-08 | 2001-12-14 | Hitachi Ltd | 文書検索方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
US10324963B2 (en) | 2019-06-18 |
US20170103123A1 (en) | 2017-04-13 |
JP6551131B2 (ja) | 2019-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6720664B2 (ja) | インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 | |
US9886464B2 (en) | Versioned bloom filter | |
US9793920B1 (en) | Computer-readable recording medium, encoding device, and encoding method | |
JP6551131B2 (ja) | インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 | |
US9882582B2 (en) | Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device | |
JP6662169B2 (ja) | 符号化プログラム、符号化方法、符号化装置、検索プログラム、検索方法および検索装置 | |
US11487535B2 (en) | Ranking of software code parts | |
US11182341B2 (en) | Recording medium recording indexed data generation program, indexed data generation method and retrieval method | |
US20160162506A1 (en) | Bloom Filter Generation Method and Apparatus | |
CN105589908A (zh) | 用于事务集合的关联规则计算方法 | |
JP2019204246A (ja) | 学習データ作成方法及び学習データ作成装置 | |
JP2013196212A (ja) | 文書分割装置、文書分割プログラムおよび文書分割方法 | |
US10997139B2 (en) | Search apparatus and search method | |
JP6645013B2 (ja) | 符号化プログラム、符号化方法、符号化装置および伸長方法 | |
US11373040B2 (en) | Computer-readable recording medium, encoding device, index generating device, search device, encoding method, index generating method, and search method | |
US20190294637A1 (en) | Similar data search device, similar data search method, and recording medium | |
CN107341113B (zh) | Cache的压缩方法和装置 | |
US10771095B2 (en) | Data processing device, data processing method, and computer readable medium | |
US20240086438A1 (en) | Non-transitory computer-readable recording medium storing information processing program, information processing method, and information processing apparatus | |
US20210357438A1 (en) | Computer-readable recording medium, index creation device, index creation method, computer-readable recording medium, search device, and search method | |
JP2017174041A (ja) | 情報処理装置、ストレージシステム、記憶制御方法およびコンピュータプログラム | |
KR101591599B1 (ko) | 맵리듀스를 이용한 빈발 부분 그래프의 마이닝 방법 | |
US20140245064A1 (en) | Information processing apparatus, method, and program | |
JP2015005260A (ja) | データ処理装置、データ処理方法及びデータ処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180608 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190529 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6551131 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |