JP5346156B2 - プログラム、転置インデックスの格納方法及び検索方法 - Google Patents
プログラム、転置インデックスの格納方法及び検索方法 Download PDFInfo
- Publication number
- JP5346156B2 JP5346156B2 JP2007070697A JP2007070697A JP5346156B2 JP 5346156 B2 JP5346156 B2 JP 5346156B2 JP 2007070697 A JP2007070697 A JP 2007070697A JP 2007070697 A JP2007070697 A JP 2007070697A JP 5346156 B2 JP5346156 B2 JP 5346156B2
- Authority
- JP
- Japan
- Prior art keywords
- byte
- posting
- document
- identification number
- index
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
[実施例1]
図4に示すように、variable byte法における文書識別番号の表現において、最後の1バイトの下位wビット301を出現回数の記録に使用し、その左側(上位側)のxビット401を属性情報の記録に使用する。この図は、w=2,x=1の場合の例であるが、本発明ではw,xの値は2,1に限定されない。出現回数が2のw乗から1を減じた値以下の場合には、wビットの出現回数フィールドが、そのまま出現回数の2進数表現となる。それ以上の出現回数を記録する場合は、図5に示すように、出現回数フィールド301の全てのビットに0を書き込んでwビットでは表現できない出現回数であることを表現した上で、variable byte法で表現した出現回数を表すバイト列501を後置する。図5は、文書識別番号1234(2進数で100110 10010)、出現回数4321(2進数で0100001 1100001)のポスティングを符号化した例を示す。
(A) 本発明の方法。
(B) 文書識別番号、出現回数ともに圧縮なし。
(C) 文書識別番号、出現回数ともにvariable byte法。
(D) 文書識別番号、出現回数ともにEliasγ符号。
(E) 文書識別番号はEliasδ符号、出現回数はEliasγ符号。
次に、転置リスト108を先頭から読まずに途中から読んでも、ポスティングの境界がわかるようにする実施例について説明する。図22は、本実施例の方法によって圧縮される転置インデックスを作成し、それを用いて検索を行う装置の概略図である。本装置は、中央演算装置(CPU)601に、主記憶602が接続されている。必要に応じ、補助記憶603、CD−ROM・DVD等のリムーバブルメディア604、ネットワーク605、ユーザ端末606が接続される。本装置は、CPU 601により実行される主記憶602上のプログラムとして索引語切り出し手段S701、索引語出現回数取得手段S702、文書識別番号割り当て手段S703、ポスティング圧縮手段S704を備える。また、作成された圧縮転置インデックス607を用いて検索を実行する検索手段S705を備える。検索質問は主としてユーザ端末606から入力され、検索手段S705に渡される。
(1) 最初に、転置リスト中の、2分探索で読みたい途中位置に移動する(S2101)。2分探索の最初における移動であれば、このステップで転置リストの中央位置に移動する。2回目以降の移動であれば、このステップS1701では未探索範囲の中央の位置に移動する。
(2) 次に、その位置またはその位置の上流側のなるべく近いバイトで、最上位ビットが0のバイトを探す。そのためには、まず、ステップS2101で移動したバイトの最上位ビットが0かどうかを判定する(S2102)。ステップS2102の判定で、最上位ビットが0であれば、次の処理S2104に移る。最上位ビットが0でない場合には、リストの先頭方向に遡って1バイトずつ読み込み、最上位ビットが0であるバイトを探す(S2102,S2103)。
(3) 最上位ビットが0であるバイトが見つかると、そのバイトを含むポスティングの終端バイトを探す。ポスティングの終端バイトを見つけるにあたっては、ステップS2102で見つけた最上位ビットが0であるバイト中の出現回数フィールド301を読み取る。ステップS2104の判定で、そこに書き込まれているのが0以外であれば、そのバイトがポスティングの終端である。出現回数フィールドの全てのビットに0が書き込まれている場合は、その後に出現回数を表すバイト列1603が続いている。その場合、最上位ビット1601に隣接するビット1602が0であるバイトが見つかるまで1バイト下流に移動することを繰り返す(S2105,S2106)。最上位ビット1601の次のビット1602が0であるバイトが見つかれば、そのバイトがポスティングを表現するバイト列の終端である。ポスティングの終端バイトが分かれば、その次の1バイトは新しいポスティングの先頭の1バイトであるため、1バイト下流に移動してから(S2107)、ポスティングの読み取りを開始する(S2108)。
102: 転置インデックス
103: 索引語
104: 検索対象文書
105: 文書の識別番号
106: 出現回数
107: ポスティング
108: 転置リスト
201: 当該バイトが、1つの整数値を表すバイト列の最終バイトか否かを表すビット
202: 整数123456のvariable byte表現
203: 圧縮したい整数を表現するビット領域
301: 出現回数フィールド
401: 属性フィールド
402: 本発明の方法により圧縮されたポスティングを表現するバイト列
501: Variable byte法で表現された出現回数を表すバイト列
601: 中央演算装置(CPU)
602: 主記憶装置
603: 補助記憶装置
604: リムーバブルメディア
605: ネットワーク
606: ユーザ端末
607: 圧縮された転置インデックス
1401: 1つの索引語に関するポスティングリストの終端を表すデータ
1601: 文書識別番号の終端でないことを表現するためのビット
1602: 出現回数を表現するバイト列の終端を表現するためのビット
1603: 出現回数を表すバイト列
1701: 出現回数を表現するバイト列の終端を表現するためのビット
1702: 文書識別番号の終端でないことを表現するためのビット
1703: 出現回数を表すバイト列
Claims (7)
- 記憶装置に入力された複数の電子文書を含む文書集合中の個々の電子文書から単語あるいは連続する複数の文字からなる索引語を切り出す工程と、
それぞれの索引語が各電子文書中に出現する回数を取得する工程と、
前記文書集合中の各電子文書にそれぞれ異なる文書識別番号を割り当てる工程と、
各々の索引語について得られた文書識別番号と索引語出現回数の組であるポスティングをデータ圧縮する工程とをコンピュータに実行させると共に、
前記ポスティングをデータ圧縮する工程は、各ポスティング中の電子文書の文書識別番号を可変長のバイト列に書き込み、wを1以上8以下の与えられた整数とするとき、前記バイト列中のwビットに1から(2W−1)までの索引語出現回数を書き込み、2W以上の索引語出現回数を追加のバイト列に書き込む
ことを特徴とするプログラム。 - 請求項1記載のプログラムにおいて、xを、x+wが1以上8以下となる与えられた整数とする場合、前記ポスティングを符号化するバイト列中のxビットに追加情報を書き込む
ことを特徴とするプログラム。 - 請求項2記載のプログラムにおいて、
前記ポスティングをデータ圧縮する工程は、各バイト中の特定の位置のビットに電子文書の文書識別番号を符号化したバイト列の最終バイトか否かを示す情報を書き込むと共に、前記追加のバイト列について、各バイト中の前記特定の位置のビットに電子文書の文書識別番号を符号化したバイト列の最終バイトではないことを示す情報を書き込み、前記特定の位置のビットに隣接するビットに当該追加のバイト列の最終バイトか否かを示す情報を書き込む
ことを特徴とするプログラム。 - コンピュータが、複数の電子文書を含む文書集合を記憶装置に入力する工程と、
コンピュータが、前記入力された文書集合中の個々の電子文書から単語あるいは連続する複数の文字からなる索引語を切り出す工程と、
コンピュータが、それぞれの索引語が各電子文書中に出現する回数を取得する工程と、
コンピュータが、前記文書集合中の各電子文書にそれぞれ異なる文書識別番号を割り当てる工程と、
コンピュータが、各々の索引語について得られた文書識別番号と索引語出現回数からなるポスティングをデータ圧縮する工程と、
コンピュータが、データ圧縮されたポスティングを含む転置インデックスを生成する工程とを有し、
前記ポスティングをデータ圧縮する工程では、各ポスティング中の電子文書の文書識別番号を可変長のバイト列に書き込み、wを1以上8以下の与えられた整数とするとき、索引語出現回数が1から(2W−1)までのときは当該索引語出現回数を前記バイト列中のwビットに書き込み、索引語出現回数が2W以上のときは当該索引語出現回数を前記wバイトと追加のバイト列を用いて書き込む
ことを特徴とする転置インデックス作成方法。 - 請求項4記載の転置インデックス作成方法において、xを、x+wが1以上8以下となる与えられた整数とする場合、コンピュータが、前記ポスティングを符号化するバイト列中のxビットに追加情報を書き込む
ことを特徴とする転置インデックス作成方法。 - 請求項5記載の転置インデックス作成方法において、
コンピュータが前記ポスティングをデータ圧縮する工程は、各バイト中の特定の位置のビットに電子文書の文書識別番号を符号化したバイト列の最終バイトか否かを示す情報を書き込むと共に、前記追加のバイト列について、各バイト中の前記特定の位置のビットに電子文書の文書識別番号を符号化したバイト列の最終バイトではないことを示す情報を書き込み、前記特定の位置のビットに隣接するビットに当該追加のバイト列の最終バイトか否かを示す情報を書き込む
ことを特徴とする転置インデックス作成方法。 - それぞれに識別番号が割り当てられた複数の電子文書からなる文書集合の全ての索引語について、前記索引語が出現する電子文書の識別番号と前記電子文書中での当該索引語の出現回数の組であるポスティングを格納した転置インデックスを用いた検索手段による検索方法であって、
前記転置インデックスは、各ポスティング中の電子文書の識別番号が可変長のバイト列としてコンピュータにより作成され、wを1以上8以下の与えられた整数とするとき、コンピュータは、前記バイト列中のwビットに1から(2W−1)までの出現回数を書き込み、2W以上の出現回数を前記wバイトと追加のバイト列を用いて書き込み、前記電子文書の識別番号を符号化したバイト列については、各バイト中の特定の位置のビットに当該バイト列の最終バイトか否かを示す情報を書き込み、前記追加のバイト列については、各バイト中の前記特定の位置のビットにより文書識別番号の最終バイトではないことを示す情報を書き込み、前記特定の位置のビットに隣接するビットに当該追加のバイト列の最終バイトか否かを示す情報を書き込むとき、
コンピュータが、入力部から第1の索引語と第2の索引語を受け付ける工程と、
コンピュータが、前記転置インデックス中の前記第1の索引語の転置リストに含まれる電子文書の識別番号を取得する工程と、
コンピュータが、前記取得した識別番号が前記第2の索引語の転置リストに含まれているかどうかを2分探索によって判定する工程と、
コンピュータが、前記取得した識別番号のうち前記第2の索引語の転置リストに含まれている識別番号またはその識別番号に対応する電子文書を検索する工程とを有し、
前記2分探索に際し、コンピュータが、読み取り位置を前記第2の索引語の転置リストの中央位置のバイトに移動し、当該バイトが前記電子文書の識別番号を符号化したバイト列の最終バイトか否かを判定し、最終バイトでない場合には最終バイトが見つかるまで前記転置リストの先頭の方向に1バイトずつ読み進み、前記電子文書の識別番号を符号化したバイト列の最終バイト中の出現回数が書き込まれるwビットの情報から前記出現回数を書き込む追加のバイト列が存在するか否かを判定し、追加のバイト列が存在しないと判定されたときは当該バイトの次のバイトをポスティングの先頭としてポスティングを読み取り当該ポスティング中の識別番号を取得し、追加のバイト列が存在すると判定されたときは追加のバイト列の最終バイトが見つかるまで前記転置リストの下流側に1バイトずつ読み進み、追加のバイト列の最終バイトの次のバイトをポスティングの先頭としてポスティングを読み取り当該ポスティング中の識別番号を取得する処理を実行する
ことを特徴とする検索方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007070697A JP5346156B2 (ja) | 2006-11-08 | 2007-03-19 | プログラム、転置インデックスの格納方法及び検索方法 |
US11/936,277 US8321485B2 (en) | 2006-11-08 | 2007-11-07 | Device and method for constructing inverted indexes |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006303195 | 2006-11-08 | ||
JP2006303195 | 2006-11-08 | ||
JP2007070697A JP5346156B2 (ja) | 2006-11-08 | 2007-03-19 | プログラム、転置インデックスの格納方法及び検索方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008140357A JP2008140357A (ja) | 2008-06-19 |
JP2008140357A5 JP2008140357A5 (ja) | 2009-08-27 |
JP5346156B2 true JP5346156B2 (ja) | 2013-11-20 |
Family
ID=39601702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007070697A Active JP5346156B2 (ja) | 2006-11-08 | 2007-03-19 | プログラム、転置インデックスの格納方法及び検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5346156B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600565B2 (en) | 2010-10-15 | 2017-03-21 | Nec Corporation | Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium |
JP7006462B2 (ja) * | 2018-04-02 | 2022-01-24 | 富士通株式会社 | データ生成プログラム、データ生成方法および情報処理装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3531281B2 (ja) * | 1995-04-18 | 2004-05-24 | 富士ゼロックス株式会社 | 文書登録検索装置 |
JP3898717B2 (ja) * | 1997-02-28 | 2007-03-28 | 富士通株式会社 | データ圧縮/復元装置およびデータ圧縮/復元方法 |
JP2001312517A (ja) * | 2000-05-02 | 2001-11-09 | Mitsubishi Electric Corp | インデクス生成装置及び文書検索装置 |
-
2007
- 2007-03-19 JP JP2007070697A patent/JP5346156B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008140357A (ja) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321485B2 (en) | Device and method for constructing inverted indexes | |
US8838551B2 (en) | Multi-level database compression | |
TWI676903B (zh) | 藉由從駐存在內容相關篩中之主要資料元件取得資料的資料之無損縮減 | |
Adjeroh et al. | The Burrows-Wheeler Transform:: Data Compression, Suffix Arrays, and Pattern Matching | |
KR101527994B1 (ko) | 검색 인덱스 포맷 최적화 | |
KR101157693B1 (ko) | 토큰스페이스 저장소와 함께 사용하기 위한 멀티-스테이지질의 처리 시스템 및 방법 | |
US10389378B2 (en) | Computer product, information processing apparatus, and information search apparatus | |
JP5812188B2 (ja) | プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体 | |
JP5831298B2 (ja) | プログラム、情報処理装置およびインデックス生成方法 | |
JPH08255155A (ja) | 全文登録語検索装置および方法 | |
Claude et al. | Universal indexes for highly repetitive document collections | |
González et al. | Locally compressed suffix arrays | |
US20040225497A1 (en) | Compressed yet quickly searchable digital textual data format | |
TW202147787A (zh) | 利用主要資料的局部性來有效率檢索已使用主要資料篩而被無損地縮減的資料 | |
JP2010198425A (ja) | 文書管理方法、装置 | |
JP5346156B2 (ja) | プログラム、転置インデックスの格納方法及び検索方法 | |
KR20000069633A (ko) | 파일 처리 방법, 데이터 처리 장치 및 기억 매체 | |
Arroyuelo et al. | Practical approaches to reduce the space requirement of lempel-ziv--based compressed text indices | |
Dao et al. | An indexing scheme for structured documents and its implementation | |
Gagie et al. | Efficient and compact representations of prefix codes | |
JP5207721B2 (ja) | 転置インデックス作成装置及びフォワードインデックス作成装置 | |
Awajan et al. | Hybrid technique for Arabic text compression | |
US6731229B2 (en) | Method to reduce storage requirements when storing semi-redundant information in a database | |
Nguyen et al. | Decision tree algorithms for image data type identification | |
JP4985096B2 (ja) | 文書解析システム、および文書解析方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090709 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120120 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120831 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120911 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20121116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130816 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5346156 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |