JP2012128600A - 文書検索装置、文書検索方法及び文書検索プログラム - Google Patents

文書検索装置、文書検索方法及び文書検索プログラム Download PDF

Info

Publication number
JP2012128600A
JP2012128600A JP2010278590A JP2010278590A JP2012128600A JP 2012128600 A JP2012128600 A JP 2012128600A JP 2010278590 A JP2010278590 A JP 2010278590A JP 2010278590 A JP2010278590 A JP 2010278590A JP 2012128600 A JP2012128600 A JP 2012128600A
Authority
JP
Japan
Prior art keywords
suffix
document
search
array
documents
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
Application number
JP2010278590A
Other languages
English (en)
Other versions
JP5472929B2 (ja
Inventor
Tomohiro Yasuda
知弘 安田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010278590A priority Critical patent/JP5472929B2/ja
Publication of JP2012128600A publication Critical patent/JP2012128600A/ja
Application granted granted Critical
Publication of JP5472929B2 publication Critical patent/JP5472929B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

【課題】与えられたキーワードを含む電子文書の数(DF値)を、少ないメモリ使用量で高速に計算できる文書検索装置を提供する。
【解決手段】入力された複数の検索キーワードの各々の重要度を用いて、複数の文書から所望の文書を検索する文書検索装置であって、複数の文書の各々に含まれる文字列に対する接尾辞配列を構築し、接尾辞配列の各接尾辞と、各接尾辞と同じ文書に由来し、且つ、辞書順序で一つ前又は後の接尾辞と、を先頭の文字から順番に比較した場合に一致する文字の数を、各接尾辞に対応する要素とする整数配列を構築し、構築された整数配列において、入力された複数の検索キーワードの各々で始まる接尾辞に対応する要素のうち、検索キーワードの文字数より小さい値の要素の数を、当該検索キーワードを含む文書の数として算出し、算出された文書の数を用いて、当該検索キーワードの重要度を計算する。
【選択図】図4

Description

本発明は、文書検索装置に関し、特に、接尾辞配列を用いて所望の文書を検索する技術に関する。
現代社会では、膨大な量の電子文書がオフィス等において日々作成されている。インターネットの拡大も、膨大な量の電子文書が作成される要因となっている。これらの電子文書を活用するためには、膨大な量の電子文書から、必要な情報が記された電子文書を短時間で検索し出力する文書検索技術が必須である。
図1は、従来の文書検索技術の一例を示す概略図である。図1を用いて、検索対象の文書集合データ101から、指定された単語(ここでは京都)を含む文書102を探索する従来の手法を説明する。
まず文書集合データ101に含まれる全文書102の全ての接尾辞を抽出する。接尾辞とは、所定の文字列からなる文書に対し、先頭の文字を0個以上削って得られる文字列である。例えば、「ABC$」という文書に対する接尾辞は、「ABC$」、「BC$」、「C$」、「$」である。なお、「$」は文字列の末尾を示す仮想的な文字であって、コンピュータが文字列の最後の位置を処理する場合に用いる。
次に、抽出された各接尾辞を辞書順にソートすることによって、ソート結果104を生成する。辞書順とは、2つの接尾辞を先頭の文字から順に比較したとき、先に右端に達するか文字コードが小さい文字が現れた接尾辞を小さいとみなす順序である。図1に示す例では、説明の便宜上、記号文字<ひらがな<漢字の順に大小関係を定義し、ひらがな、漢字同士の大小は50音順としている。また、「$」は、辞書順で他のすべての文字より小さいものとする一方、異なる文書に由来する「$」同士は互いに異なる文字であって、文書番号順の大小関係があるとみなす。
その後、生成されたソート結果104に基づいて、接尾辞配列データ105と呼ばれるデータ構造の配列を構築する。接尾辞配列データ105とは、ソート結果104の先頭の接尾辞から順に、各接尾辞の属する文書及び当該文書の何番目の文字から接尾辞が始まっているかを記録した配列である。なお、接尾辞配列データ105内での位置と、もとの文書内での位置との混同を防ぐために、「接尾辞配列データ105でi行目」の接尾辞を、context番号108を用いて「context i」で表記する。
ここで、所定のキーワードwが文書集合データ101に出現する場合、キーワードwで始まる接尾辞が存在する。また、キーワードwが文書集合データ101中に出現する回数と、キーワードwで始まる接尾辞の個数とは等しい。さらに、接尾辞配列データ105は辞書順にソートされているので、同一のキーワードwで始まる各接尾辞は接尾辞配列データ105上で連続するcontext番号108に集まる。
図1の例では、キーワード「京都」は文書集合データ101中に計4回出現する。そのため、キーワード「京都」で始まる接尾辞の数は4個であり(ソート結果104参照)、これら4個の接尾辞は、context番号108が4〜7の位置106に連続して現れている。
このような接尾辞配列データ105の性質を利用することによって、任意のキーワードwが出現する文書の番号及び位置を計算すること、すなわち検索することが可能となる。
図1の例では、キーワード「京都」で始まる接尾辞のcontext番号108は4〜7である。すなわち、文書0の0文字目と3文字目、文書1の1文字目と4文字目に「京都」が出現していることが分かる。なお、キーワードに対応するcontext番号108は、2分探索等の公知の方法によって求められる(非特許文献1参照)。
膨大な量の電子文書から所望の電子文書を検索する場合、複数のキーワードを与え、与えられた複数のキーワードを含む電子文書を探すことが多い。このとき、個々のキーワードが文書を特徴付ける力は必ずしも同一ではない。例えば、多くの文書に満遍なく出現するキーワードよりも、一部の文書に集中して出現するキーワードの方が文書を特徴付ける力が強い。そのため、一部の文書に集中して出現するキーワード(重要キーワード)を含む文書を、優先的に検索結果として出力することが望ましい。
例えば、キーワードが「自転車」と「超伝導」である場合を考える。ここで、「自動車」が1万文書に出現する一方、「超伝導」は10文書にのみ出現するとする。そして、検索結果として、「自転車」のみを10個含む文書と、「超伝導」のみを10個含む文書が得られたと仮定する。
この場合、それぞれの文書において、キーワードの出現回数はいずれも10回で同じである。しかしながら、キーワード「自転車」は多くの文書に出現するキーワードであるのに対し、キーワード「超伝導」は少数の文書にのみ出現するキーワードである。そのため、キーワード「超伝導」の方が文書を特徴付ける力が強いと考えられる。このようなキーワード「超伝導」を含む文書を優先的に検索結果として出力することによって、ユーザにとって重要と思われる文書を優先的に提示できる。
文書を特徴付ける力が強いキーワードを含む文書を優先的に検索結果として出力するための手法の一つとして、TF(Term Frequency)−IDF(Inverse Document Frequency)と呼ばれるキーワードの重み付け手法が知られている(北研二他著、情報検索アルゴリズム、共立出版)。
TFはキーワードの出現回数である。一方、IDFはキーワードが出現する文書数DF(Document Frequency)の逆数である。TFとIDFの積算値をキーワードの重要度と定義することによって、ユーザにとって重要な文書を優先的に選択することが可能となる。なお、TFとIDFの積算値をキーワードの重要度と定義する他、TFとIDFの積算値の対数やその他の計算式によって求められる値をキーワードの重要度としてもよい。対数をキーワードの重要度とすることによって、TFとIDFの積算値が大きい値である場合の微小な差に意味が薄いことを反映させることができる(北研二他著、情報検索アルゴリズム、共立出版)。
TF-IDFを計算するためには、キーワードの出現回数TF値と、キーワードを含む文書数DF値を求める必要がある。TF値は、文書番号をウェーブレット木(Makinen, V. and Navarro, G., Rank and select revisited and extended, Theoretical Computer Science 387:332-347, 2007)に格納することによって、容易に計算できる。
一方、DF値は、全てのcontextを検討し、何種類の文書番号が出現するかを数える必要があるので、計算に長時間を要していた。特に、出現頻度が高いキーワードのDF値を求める計算には長時間を要していた。このようなDF値の計算を高速化することを目的とする各種技術が知られている(非特許文献1、2参照)。
Gusfield, D., Algorithms on strings, trees and sequences, Cambridge university press, 1997. Sadakane, K., Succinct data structures for flexible text retrieval systems, Journal of discrete algorithms 5(1):12-22, 2007.
しかしながら、非特許文献1、2に記載された方法では、DF値の計算の過程で接尾辞木を構築する必要があり、大規模な検索システムへの適用が困難という問題があった。
すなわち、非特許文献1、2に記載された接尾辞木を構築する方法では、接尾辞配列の大きさLの13〜15倍の大きさ13L〜15Lのメモリを必要とする(Puglisi et al., A taxonomy of suffix array construction algorithms, ACM computing surveys, 39(2):Article 4, 2007)。そのため、文書集合データ101より遥かに大きな一時データが必要となり、大規模な検索システムへの適用は困難であった。
本発明は、上述した課題を考慮したものであって、与えられたキーワードを含む電子文書の数(DF値)を、少ないメモリ使用量で高速に計算できる文書検索装置を提供することを目的とする。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、複数の検索キーワードを入力し、入力された各検索キーワードの重要度を用いて、複数の文書から所望の文書を検索する文書検索装置であって、前記プロセッサは、前記複数の文書の各々に含まれる文字列に対する接尾辞配列を構築し、構築された前記接尾辞配列の各接尾辞と、当該接尾辞と同じ文書に由来し、且つ、辞書順序で当該接尾辞の一つ前又は後の接尾辞と、を先頭の文字から順番に比較した場合に一致する文字の数を、当該接尾辞に対応する要素とする整数配列を構築して前記メモリに格納し、前記メモリに格納された前記整数配列において、入力された前記複数の検索キーワードの各々で始まる接尾辞に対応する要素のうち、当該検索キーワードの文字数より小さい値の要素の数を、当該検索キーワードを含む文書の数として算出し、算出された前記文書の数を用いて、当該検索キーワードの重要度を計算することを特徴とする。
本発明によれば、与えられたキーワードを含む電子文書の数を、少ないメモリ使用量で高速に計算することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
従来の文書検索技術の一例を示す概略図である。 本発明の第1の実施形態の代表シグネチャ構築手段によって構築される代表シグネチャデータを説明する図である。 本発明の第1の実施形態の代表シグネチャデータに基づくDF値の計算方法を説明する図である。 本発明の第1の実施形態の文書検索装置の構成例を示す図である。 本発明の第1の実施形態の接尾辞配列データ及び代表シグネチャデータの構築処理の概要を示す図である。 本発明の第1の実施形態の代表シグネチャ構築手段の制御ロジックを示すフローチャートである。 本発明の第1の実施形態の接尾辞配列データ及び代表シグネチャデータの構築処理に係るデータの流れを示す図である。 本発明の第1の実施形態のDF計算手段の制御ロジックを示すフローチャートである。 本発明の第1の実施形態の検索処理に係るデータの流れを説明する図である。 本発明の第1の実施形態の検索手段の制御ロジックを示すフローチャートである。 本発明の第1の実施形態の接尾辞配列データ及び代表シグネチャデータのデータ構造の一例であるウェーブレット木を示す図である。 本発明の第2の実施形態の代表シグネチャ構築手段の制御ロジックを示すフローチャートである。 本発明の第2の実施形態の代表シグネチャ構築手段によって構築される代表シグネチャデータを説明する図である。 本発明の第1の実施形態、第2の実施形態の文書検索方法を所定の文書集合データに適用した例を示す図である。 本発明の第3の実施形態の代表シグネチャデータの構築方法の例を示す図である。 本発明の第4の実施形態の代表シグネチャ構築手段によって構築される整数配列HSの例を示す図である。 本発明の第5の実施形態の代表シグネチャ構築手段によって構築される整数配列HSAllの例を示す図である。 本発明の実施形態の文書検索方法と従来手法との性能比較を示す図である。
以下、本発明の実施の形態について図面を参照して説明する。
(第1の実施形態)
以下、本発明の第1の実施形態について説明する。
図4は、本発明の第1の実施形態の文書検索装置1の構成例を示す図である。文書検索装置1は、CPU(Central Processing Unit)401、主記憶装置(メモリ)402、補助記憶装置403、リムーバブルメディア404、ユーザインターフェース部406を備える。この文書検索装置1は、LAN(Local Area Network)等のネットワーク405を介して外部のネットワークに接続されている。
CPU401は、主記憶装置402に格納されたプログラム(接尾辞配列構築手段407、代表シグネチャ構築手段408、DF計算手段409、検索手段410の機能を実現するプログラム)を実行する中央演算装置である。
主記憶装置402は、上記プログラム及び上記プログラムの実行に用いる文書集合データ101、接尾辞配列データ105、代表シグネチャデータ107等を記憶するRAM(Random Access Memory)等の記憶装置である。補助記憶装置403は、文書集合データ101、接尾辞配列データ105、代表シグネチャデータ107等を記憶するHDD等の記憶装置である。
リムーバブルメディア404は、文書集合データ101、接尾辞配列データ105、代表シグネチャデータ107等を記録したCD−ROM、DVD等の記録媒体である。リムーバブルメディア404と補助記憶装置403の両方またはいずれか一方に格納された必要なデータが、文書検索装置1の起動時に主記憶装置402に読み出される。
ユーザインターフェース部406は、ユーザインターフェースを提供する入出力装置(例えば、キーボード、マウス、ディスプレイ)である。
以上に示す装置構成において、CPU401は、主記憶装置402、補助記憶装置403、リムーバブルメディア404、又は、ネットワーク405を介した外部から、必要に応じて文書集合データ101を取得する。その後、取得した文書集合データ101に基づいて、接尾辞配列データ105、代表シグネチャデータ107を構築する。
図11は、本発明の第1の実施形態の接尾辞配列データ105及び代表シグネチャデータ107のデータ構造の一例であるウェーブレット木を示す図である。
文書検索装置1は、接尾辞配列データ105及び代表シグネチャデータ107を、図11に示すウェーブレット木(Makinen, V. and Navarro, G., Rank and select revisited and extended, Theoretical Computer Science 387:322-347, 2007)と呼ばれるデータ構造で記録する。
このウェーブレット木のデータ構造は、長方形[0,X]×[0,Y](X,Yは整数)の2次元領域1101に配置された点の位置を記録できるデータ構造である。このデータ構造では、水平方向には必ず1つの点を設ける必要があるが、垂直方向には複数の点を設けてもよいし、点を設けなくてもよい。このウェーブレット木のデータ構造を用いることによって、任意の長方形[x1,x2]×[y1,y2]の領域1102の内部の点1103の集合について、下記の計算を効率よく実行できる。
(a)領域1102の内部の各点をX座標の昇順に並べたリストを、計算式enumX(T,[x1,x2],[y1,y2])によって求める計算。X座標が同じ点が複数ある場合には、共通するX座標は1回だけ報告する。
(b)領域1102の内部の各点の総数を、計算式rank(T,[x1,x2],[y1,y2])によって求める計算。
図5は、本発明の第1の実施形態の接尾辞配列データ105及び代表シグネチャデータ107の構築処理の概要を示す図である。
(1)接尾辞配列データ105の構築
まず接尾辞配列構築手段407が、入力された文書集合データ101に基づいて、接尾辞配列データ105を構築する。具体的には、まず文書集合データ101に含まれる全文書102の全ての接尾辞を抽出する。次に、抽出された各接尾辞を辞書順にソートすることによって、ソート結果104を生成する。その後、生成されたソート結果104の中でソートされた各接尾辞の属する文書の番号及び文書内の位置に基づいて、接尾辞配列データ105を構築する。
なお、接尾辞配列構築手段407は、他の方法によって接尾辞配列データ105を構築してもよい(Puglisi et al., A taxonomy of suffix array construction algorithms, ACM computing surveys, 39(2):Article 4, 2007)。以下の説明において、文書集合データ101に含まれる文書の数をD、構築された接尾辞配列データ105の長さ(要素数)をLという。
このように構築された接尾辞配列データ105中の各接尾辞の属する文書の番号(図1の例では、0、1、1、1、…)を、上記のウェーブレット木のデータ構造で表現する。なお、図11では、図1の接尾辞配列データ105に基づいて生成されるウェーブレット木のデータ構造を示している。以下、文書番号を表現するウェーブレット木のデータ構造をTDという。
このように、接尾辞配列データ105中の各文書番号をウェーブレット木のデータ構造で表現することにより、文書番号に相当する全体の接尾辞配列データ105中で各文書に対応するcontextを、文書番号順に取得することが容易になる。例えば、所定の検索キーワードwに対応するcontextの範囲がc1〜c2である場合、検索キーワードwが出現する文書の番号は、前述の計算式enumX(TD,[0,X],[c1,c2])により計算できる。
(2)代表シグネチャデータ107の構築
代表シグネチャ構築手段408は、文書集合データ101及び接尾辞配列構築手段407によって構築された接尾辞配列データ105に基づいて、代表シグネチャデータ107を構築する。代表シグネチャデータ107の構築方法について図6を用いて詳細に後述する。
以上に示す処理により、接尾辞配列構築手段407、代表シグネチャ構築手段408は、入力された文書集合データ101に基づいて、それぞれ接尾辞配列データ105、代表シグネチャデータ107を構築する。
図6は、本発明の第1の実施形態の代表シグネチャ構築手段408の制御ロジックを示すフローチャートである。図2は、本発明の第1の実施形態の代表シグネチャ構築手段408によって構築される代表シグネチャデータ107を説明する図である。図7は、本発明の第1の実施形態の接尾辞配列データ105及び代表シグネチャデータ107の構築処理に係るデータの流れを示す図である。
以下、図6に示す各処理について、図2、図7を適宜参照しながら説明する。
まずステップ601において、代表シグネチャ構築手段408は、文書集合データ101の各文書d102の高さ配列Hd[i]207を生成する(S601)。
具体的には、各文書d102について、当該文書d102の全ての接尾辞201を抽出する。次に、抽出された各接尾辞201を辞書順にソートすることによって、ソート結果203を生成する。その後、ソート結果203に基づいて、接尾辞配列データ205を作成する。その後、接尾辞配列データ205の高さ配列Hd[i]207を生成する。
高さ配列Hd[i]207には、context番号iの接尾辞と、一つ前のcontext番号i-1の接尾辞との間で一致する先頭からの文字の長さが格納される。この高さ配列Hd[i]207は、Hd[1]=0の整数配列である。高さ配列Hd[i]207は、従来技術を用いて効率よく計算可能である(笠井他、数理解析研究所講究録1093 巻1999年、81-86頁)。
なお、context番号iの接尾辞と、一つ後のcontext番号i+1の接尾辞との間で一致する先頭からの文字の長さを、高さ配列Hd[i]207に格納してもよい。
次にステップ602において、代表シグネチャ構築手段408は、各文書d102の(文書長+1)の和を計算し、計算された和の値に等しい長さLの整数配列R[i](i=1〜L)107を作成する(S602)。図2に示す例では、文書0の文書長は6、文書1の文書長は7であるので、(6+1)+(7+1)=15の長さの整数配列R[i]を作成する。
その後ステップ603〜607において、代表シグネチャ構築手段408は、作成された整数配列R[i](i=1〜L)に、高さ配列Hd[i]207の先頭要素を格納するとともに、高さ配列Hd[i]207の先頭要素を削除する処理を繰り返す(S603〜607)。
具体的には、i=1〜Lについて、context番号iに対応する文書d102を取得し、context番号iが当該文書d102の接尾辞である場合、高さ配列Hd[i]207の先頭要素を、整数配列R[i]に格納するとともに、高さ配列Hd[i]207の先頭要素を削除する処理を繰り返す。
以上の処理により、代表シグネチャ構築手段408は、各文書d102の高さ配列Hd[i]207をマージした整数配列R[i]を作成する。このようにして作成された整数配列R[i]が、代表シグネチャデータ107である。代表シグネチャデータ107とは、接尾辞配列データ105に等しい要素数を持つ新たな整数配列である。
その後、代表シグネチャ構築手段408は、構築された代表シグネチャデータ107を、ウェーブレット木のデータ構造のデータTRに格納する。そうすると、指定されたcontext範囲[c1,c2]に存在するキーワード長|w|より小さい値の数を、前述の計算式rank(TR, [0,|w|-1],[c1,c2])により高速に計算することができる。なお、このようにして計算されたキーワード長|w|より小さい値の数が、キーワードwのDF値である(図3参照)。
図3は、本発明の第1の実施形態の代表シグネチャデータ107に基づくDF値の計算方法を説明する図である。キーワード長|w|より小さい値の数が、キーワードwのDF値である理由を、図3を用いて説明する。
代表シグネチャデータ107の[c1,…,c2](ここでは[4,…,7])において、キーワード長|w|(キーワードが「京都」である場合は2)より小さい値の数を考察する。代表シグネチャデータ107において、ある文書dの高さ配列Hd[i]207に由来する値に着目する。
まず、代表シグネチャデータ107の[c1,…,c2]において、文書dの高さ配列Hd[i]207に由来する最初の値は、キーワード長|w|より小さい。例えば、代表シグネチャデータ107の[4,…,7]において、高さ配列H0[i]、H1[i]207に由来する最初の値0は、キーワード長2より小さい。なぜなら、当該最初の値は、文書dにおいて先頭がキーワードwである接尾辞と先頭がwではない接尾辞とを先頭から比較したときに一致する文字列の長さであり、キーワード長|w|とは一致し得ないからである。
次に、文書dの高さ配列Hd[i]に由来する2つ目以降の値は、キーワード長|w|以上である。例えば、代表シグネチャデータ107の[4,…,7]において、高さ配列H0[i] 、H1[i]207に由来する2つ目以降の値2は、キーワード長2以上である。なぜなら、当該2つ目以降の値は、文書dにおいて先頭がキーワードwである2つの接尾辞を先頭から比較したときに一致する文字列の長さであるからである。
以上に示すように、代表シグネチャデータ107の[c1,…,c2]にあるキーワード長|w|より小さい値の数は、キーワードwを含む文書数DF値に一致する。
図8は、本発明の第1の実施形態のDF計算手段409の制御ロジックを示すフローチャートである。ここでは、検索キーワードとしてキーワードwが入力された場合のDF計算手段409の動作について説明する。
まずステップ801において、DF計算手段409は、入力されたキーワードwのcontext範囲[c1,c2]を求める(S801)。次にステップ802において、DF計算手段409は、代表シグネチャデータ107のcontext範囲[c1,c2]において、入力されたキーワードwの長さより小さい値の数を変数nに格納する(S802)。その後ステップ803において、DF計算手段409は、変数nの値を出力する(S803)。
以上に示す処理により、DF計算手段409は、入力されたキーワードwに対するDF値を、少ないメモリ使用量で高速に計算することができる。
図9は、本発明の第1の実施形態の検索処理に係るデータの流れを説明する図である。図10は、本発明の第1の実施形態の検索手段410の制御ロジックを示すフローチャートである。
以下、図10に示す各処理について、図9を適宜参照しながら説明する。
なお、予め文書検索装置1は、ユーザインターフェース部406又はネットワーク405を介して、1つ以上のキーワードw1,w2,…,wk、及び、取得したい文書数の上限値Nを入力しているものとする。
まずステップ1001において、検索手段410は、接尾辞配列構築手段407によって構築された接尾辞配列データ105から、各キーワードwi(i=1〜k)に対応するcontextの範囲[c1i〜c2i]を求める(S1001)。
次にステップ1002において、検索手段410は、DF計算手段409を呼出し、呼び出されたDF計算手段409は、各キーワードwiのDF値を計算する(S1002)。ステップ1002の処理については、図8を用いて前述した通りである。
その後ステップ1003において、検索手段410は、入力された各キーワードwiのうち少なくとも一つを含み、以降のステップ1006〜1012を未処理の文書のうち、文書番号が最も小さい文書の番号dを求める(S1003)。
ステップ1003では、各キーワードwiを含む文書の文書番号のリストを、前述した計算式enumX(TD,[0,X],[c1i,c2i])によって求める。その後、生成されたリストを先頭から突き合わせることによって、各キーワードwiのうち少なくとも一つを含む文書番号を昇順に取得する。その後、後述するステップ1006〜1012を未処理で、且つ、文書番号が最も小さい文書番号dを求める。
その後、ステップ1006に進むと、検索手段410は、ステップ1003で求められた文書番号dの文書のスコアSを求める(S1006)。ここでいうスコアSは、当該文書が含む各キーワードwiのTF-IDF値の合計値である。各キーワードwiのTF-IDF値は、計算式rank(TD,[d,d],[c1i,c2i])によって求められるTF値を、ステップ1002で計算されたDF値で除算することによって得られる。
その後ステップ1007、1008において、検索手段410は、蓄積文書の数が上限値N未満であるか否かを判定する(S1007、S1008)。蓄積文書とは、既にステップ1006〜1012の処理が実行され、蓄積された文書である。
蓄積文書数が上限値N未満である場合(S1008でYES)、ステップ1009に進んで、検索手段410は、文書番号dの文書を蓄積文書に加える。一方、蓄積文書数が上限値N以上である場合(S1008でNO)、ステップ1010に進んで、検索手段410は、ステップ1006で求められたスコアSと、蓄積文書の最小スコアとを比較する(S1010)。
スコアSが蓄積文書の最小スコアよりも大きい場合(S1011でYES)、蓄積文書のうちの最小スコアの文書を削除し、文書番号dの文書を蓄積文書に加える。一方、スコアSが蓄積文書の最小スコアよりも小さい場合(S1011でNO)、再びステップ1003に戻って処理を繰り返す。
以上に示す処理により、検索手段410は、入力された各キーワードwiを少なくとも一つ含む文書を全て検索し、検索された文書についてキーワードwiとの関連度を反映するスコアを計算し、スコアが上位N件の文書のリストを出力することができる。
(第2の実施形態)
以下、本発明の第2の実施形態について説明する。
前述の第1の実施形態では、代表シグネチャ構築手段408は、文書集合データ101中の文書102毎に、接尾辞配列データ205及び高さ配列Hd[i]207を構築していた(図2参照)。そのため、これらデータを格納するためのメモリ領域が必要であった。この第2の実施形態では、より少ないメモリ領域で代表シグネチャデータ107を構築する形態について説明する。
なお、この第2の実施形態において、前述の第1の実施形態と同様である部分については適宜重複する説明を省略する。
図12は、本発明の第2の実施形態の代表シグネチャ構築手段408の制御ロジックを示すフローチャートである。図13は、本発明の第2の実施形態の代表シグネチャ構築手段408によって構築される代表シグネチャデータ107を説明する図である。
まずステップ1201において、代表シグネチャ構築手段408は、文書集合データ101全体の長さLの整数配列R[i](i=1〜L)1301を作成する(S1201)。このステップ1201では、さらに、作成された整数配列R[i]1301に、文書集合データ101全体の接尾辞配列データ105に対応する高さ配列の値h(図13では0、0、0、0、2、3、2、…)を格納する。このステップ1201の処理は、図6のステップ602〜607の処理と同様である。
その後ステップ1202において、代表シグネチャ構築手段408は、大きさD(Dは、文書集合データ101に含まれる文書数)の整数配列Prev[d](d=1〜D)1302を作成し、作成された整数配列Prev[d]1302の全要素に-1を設定する(S1202)。以下の処理では、整数配列Prev[d](1≦d≦D)1302には、最後に処理した文書dのcontext番号108が設定される。
その後ステップ1203において、代表シグネチャ構築手段408は、整数ペアの集合データであるNearest1303を作成し、Nearest1303が要素(0,-1)のみを持つように初期化する(S1203)。以下の処理では、Nearest1303の要素(h,j)には、ステップ1201で格納された高さ配列の値hが最後に出現したcontext番号j108が設定される。
その後ステップ1204〜1209において、代表シグネチャ構築手段408は、各context番号i(i=1〜L)108について、以下に示すステップ1207、1208、1209の処理を実行する。
ステップ1207において、代表シグネチャ構築手段408は、Nearest1303の要素である整数ペア(h,j)のうち、h≧R[i]の要素を消去し、Nearest1303に(R[i],i)を追加する(S1207)。その後ステップ1208において、代表シグネチャ構築手段408は、context番号iの接尾辞が対応する文書の文書番号dを、接尾辞配列データ105から取得する(S1208)。
その後ステップ1209において、代表シグネチャ構築手段408は、Nearest1303の要素である整数ペア(h',j)のうち、j≧Prev[d]1302、且つ、jが最小の値である整数ペアを探し、当該整数ペアのh'の値を整数配列R[i]1301に代入する(S1209)。
ステップ1209において、具体的には、Prev[d]<1の場合、整数配列R[i]1301に0を代入する。一方、Prev[d]≧1の場合、Nearest1303の要素である整数ペア(h',j)のうち、j>Prev[d]、且つ、h'が最小の整数ペアを探す。当該整数ペアが存在する場合には、当該整数ペアのh'の値を整数配列R[i]1301に代入する。当該整数ペアが存在しない場合には、整数配列R[i]1301に0を代入する。
以上の処理により、代表シグネチャ構築手段408は、整数配列R[i]1301を更新することによって、代表シグネチャデータ107を生成する。この第2の実施形態の方法によれば、前述の第1の実施形態の方法のように個々の文書dの高さ配列Hd[i]207を構築する必要がない。そのため、より少ないメモリ領域で代表シグネチャデータ107を構築することができる。
図18は、本発明の実施形態の文書検索方法と従来手法との性能比較を示す図である。
本発明の実施形態の文書検索方法によれば、代表シグネチャデータ107の個々の要素が232ビットで表現できる場合、4Lバイトだけのメモリ使用量があればよい。また、代表シグネチャデータ107を格納するためのウェーブレット木のデータの大きさも、Lが大きい場合には4Lよりわずかに多い程度とすることができる。また計算式rankの計算時間はLの大きさに関係なくほぼ一定である(Makinen, V. and Navarro, G., Rank and select revisited and extended, Theoretical Computer Science 387:332-347, 2007)。なお、図18に示すメモリ使用量は、文書集合データ101、接尾辞配列データ105を記録するためのメモリ使用量や、大きさがLやDに比例しない小さなデータを含まない。
(第3の実施形態)
以下、本発明の第3の実施形態について説明する。
図14は、本発明の第1の実施形態、第2の実施形態の文書検索方法を所定の文書集合データに適用した例を示す図である。
図14では、一つの文書「AAAAAAAAAA$」のみを含む文書集合データに、前述の第1の実施形態、第2の実施形態の文書検索方法を適用した例を示している。構築される代表シグネチャデータ107の要素の最大値は、最悪の場合に、最長の文書の長さから1を減算した値となる。この例は最悪のケースとなっており、最大値が10-1=9となっている。このような大きな値を格納するためには、大きなメモリ領域が必要である。
そこで、この第3の実施形態の文書検索方法では、所定の数値パラメータrを設け、パラメータr未満の値は、そのまま代表シグネチャデータ107に格納する。一方、パラメータr以上の値は、その値の代わりにパラメータrを代表シグネチャデータ107に格納する。
なお、この第3の実施形態において、前述の第1の実施形態と同様である部分については適宜重複する説明を省略する。
図15は、本発明の第3の実施形態の代表シグネチャデータ1501の構築方法の例を示す図である。図15では、上記の数値パラメータr=1である場合に構築される代表シグネチャデータ1501を示している。この場合、前述の第1の実施形態、第2の実施形態の代表シグネチャデータ107と異なり、context番号6,7の値が1に置換されている(代表シグネチャデータ1501参照)。
以上に示すように、代表シグネチャ構築手段408は、代表シグネチャデータ107において、パラメータr以上の値を、全てパラメータrに置換することによって、代表シグネチャデータ1501を構築する。
なお、その後DF計算手段409は、生成された代表シグネチャデータ1501において、キーワード長|w|がパラメータrの値以下の場合には、前述の第1の実施形態、第2の実施形態と同様の方法により、DFの値を計算する。一方、キーワード長|w|がパラメータrの値以上である場合、キーワードwを単独で検索した場合と同様の手順により、キーワードwが出現する文書番号を全て求め、DFの値を計算する。
以上説明した第3の実施形態の文書検索方法によれば、キーワード長|w|がパラメータrの値以上の場合、DF値を計算するための処理時間は大きくなる。一方、長いキーワードの出現回数は短いキーワードよりも少ないため、検索時間も少ない。また、検索時に予想されるキーワード長よりもパラメータrの値を大きくすることによって、ほとんどのキーワードのDF値を、代表シグネチャデータ1501を用いて計算することができる。
(第4の実施形態)
以下、本発明の第4の実施形態について説明する。
前述の第2の実施形態の代表シグネチャ構築手段408は、その動作を修正することにより、非特許文献2に記載の手法のメモリ使用量を抑えることができる。そのために、この第4の実施形態の代表シグネチャ構築手段408は、接尾辞配列データ105に等しい大きさで、代表シグネチャデータ107とは異なる整数配列HSを作成する。整数配列HSは非特許文献2で使用されるデータと等価であるため、非特許文献2に記載の接尾辞木を使う方法より、主記憶の消費を大幅に抑えることができる。
なお、この第4の実施形態において、前述の第2の実施形態と同様である部分については適宜重複する説明を省略する。
図16は、本発明の第4の実施形態の代表シグネチャ構築手段408によって構築される整数配列HS1601の例を示す図である。この整数配列HS1601は、同じ文書に由来する接尾辞の重複を計算するための配列である。
代表シグネチャ構築手段408は、図16に示すような整数配列HS1601を構築する。具体的には、キーワードwが出現するcontext範囲が[c1〜c2]の場合、当該整数配列HS1601の[c1+1]番目〜[c2]番目の要素の和をxとすると、キーワードwのDF値=c2-c1+1-xとなる整数配列HS1601を構築する。これにより、例えばキーワード「京都」が出現するcontext範囲が[4〜7]の場合、当該キーワード「京都」のDFの値は、(7-4+1)-(HS[5]+HS[6]+HS[7])=4-2=2と計算できる。
a,a'を互いに異なる文字、s,s'を任意の文字列とする。整数配列HS1601を構築するためには、同じ文書dに由来する2つの接尾辞wasと接尾辞wa's'の間に文書dに由来する接尾辞がない場合、wasのcontext以降wa's'のcontextまでのいずれかの整数配列HS1601の要素に、1を加える必要がある(非特許文献2参照)。
例えば、d=1、w=「京都」、a=「と」、s=「京都市$」、a'=「市」、s'=「$」の場合は、was=「京都と京都市$」のcontext番号108が4、wa's'=「京都市$」のcontext番号108が6である。そのため、H[5]又はHS[6]に1を加える。図16の例では、HS[5]に1が加えられる。
また例えば、d=0、w=「京都」、a=「市」、s=「$」、a'=「府」、s'=「京都市$」の場合は、was=「京都市$」のcontext番号108が5、wa's'=「京都府京都市$」のcontext番号108が7である。そのため、HS[6]又はHS[7]に1を加える。図16の例では、HS[7]に1が加えられる。
ただし、上記2例において、いずれもHS[6]に1を加えると、正しい計算ができない。例えば、HS[5]=0、HS[6]=2、HS[7]=0である場合、キーワード「京都市」のDF値は、(6-5+1)- (HS[5]+HS[6]+HS[7])=2-2=0となり、実際のDF値2と異なる。これは、キーワード「京都」の重複を表すべき整数配列HS1601の値が、「京都市」の重複と混同されたためである。
この問題を防ぐために、wa'が初めて出現するcontext番号i108に対応する整数配列HS[i]に1を加えればよい。これにより、整数配列HS[i]に加えた値はwaとの重複を排除できる一方、wa'で始まる接尾辞同士の重複との混同を防ぐことができる。このようなiを計算するためには、高さ配列Hd[i]中のwasのcontextからwa's'のcontextまでの間で、高さ配列Hd[i]の値が最小、且つ、最もwa's'のcontextに近いcontextがiに一致することを利用する。
この第4の実施形態の代表シグネチャ構築手段408は、まず整数配列HS1601の要素をすべて0で初期化する。そして、前述の第2の実施形態のステップ1209の処理(図12参照)を下記の処理に置き換えることによって、整数配列HS1601を構築する。
具体的には、Nearest1303の要素である整数ペア(h,j)のうち、j>Pred[d]1302、且つ、hが最小の値である整数ペアを探し、当該整数ペアのjの値について、HS[j]に1を加える。
なお、整数配列HS1601の[c1+1番目〜c2番目]の要素の和xを計算する方法は、非特許文献2に記載の方法と同一であるものとする。
(第5の実施形態)
以下、本発明の第5の実施形態について説明する。
ここでは、検索対象の文書のデータ量が大きい場合に、文書を複数のデータに分割した単位で検索する形態について説明する。例えば、1冊の書籍から所定のテキストを検索する場合、書籍全体のテキストを検索対象とするのではなく、章、節、段落、文単位に検索したい場合がある。この場合、元の文書を章、節、段落、文等の単位で最大n回分割した場合に、k回目に分割された文書のDF値を計算する方法を説明する。
なお、この第5の実施形態において、前述の第4の実施形態と同様である部分については適宜重複する説明を省略する。
図17は、本発明の第5の実施形態の代表シグネチャ構築手段408によって構築される整数配列HSAll1701の例を示す図である。この整数配列HSAll1701は、同じ文書に由来する接尾辞の重複を、元の文書を分割して得られた文書の集合に対して計算するための配列である。
第5の実施形態の代表シグネチャ構築手段408は、新たな整数配列HSAll1701を構築し、構築された整数配列HSAll1701を使用してDF値を計算する。整数配列HSAll1701は、下記手順で構築される。
すなわち、まず前述の第4の実施形態の方法(図16参照)により、代表シグネチャ構築手段408は、整数配列HS1601を構築する。次に、代表シグネチャ構築手段408は、整数配列HSAll1701を要素が無い空の配列として初期化する。その後、各i=1〜Lについて、整数配列HSAll1701にHS[i]個の「1」と1つの「0」を追加する。
その後、以下の処理によって、整数配列HSAll1701を更新する。すなわち、各k=1〜n(k:元の文書をn回分割した場合のk回目に分割された文書)に対応する整数配列HS[i]の値を、前述の第4の実施形態の方法と同様に計算し、整数配列HSAll1701のi番目の0の前にあるHS[i]個の値を、k+1で置き換える。以上の処理により、整数配列HSAll1701を更新する。
以上に示す処理により更新された整数配列HSAll1701を、ウェーブレット木のデータ構造であるTHに格納する。そうすると、整数配列HSAll1701においてc1番目の0からc2番目の0の間にあるk+1以上の値の数xを、計算式rank(TH, [k+1,n+1], [select(HSAll,[0,0],c1), select(HSAll,[0,0],c2)])によって計算できる。
一方、k回の分割した文書集合に対し、キーワードwのcontext範囲がc1〜c2である場合、キーワードwのDF値はc2-c1+1-xと一致する。そのため、整数配列HSAll1701を用いて任意のキーワードwのDF値を、任意の分割の回数に応じて計算することができる。
整数配列HSAll1701の要素数は、接尾辞配列データ105の要素数と、最初の整数配列HS1601の全要素の値の和の合計値である。整数配列HS1601の値の和は、接尾辞1つについて高々1しか増えないため、接尾辞配列データ105の要素数以下である。したがって、整数配列HSAll1701の要素数は、接尾辞配列データ105の要素数の2倍以内である。
以上、本発明の各実施形態について説明したが、上記各実施形態は本発明の適用例の一つを示したものであり、本発明の技術的範囲を上記各実施形態の具体的構成に限定する趣旨ではない。本発明の要旨を逸脱しない範囲において種々変更可能である。
1 文書検索装置
401 CPU(中央演算装置)
402 主記憶装置
403 補助記憶装置
404 リムーバブルメディア
405 ネットワーク
406 インターフェース部
407 接尾辞配列構築手段
408 代表シグネチャ構築手段
409 DF計算手段
410 検索手段

Claims (6)

  1. プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、複数の検索キーワードを入力し、入力された各検索キーワードの重要度を用いて、複数の文書から所望の文書を検索する文書検索装置であって、
    前記プロセッサは、
    前記複数の文書の各々に含まれる文字列に対する接尾辞配列を構築し、
    構築された前記接尾辞配列の各接尾辞と、当該接尾辞と同じ文書に由来し、且つ、辞書順序で当該接尾辞の一つ前又は後の接尾辞と、を先頭の文字から順番に比較した場合に一致する文字の数を、当該接尾辞に対応する要素とする整数配列を構築して前記メモリに格納し、
    前記メモリに格納された前記整数配列において、入力された前記複数の検索キーワードの各々で始まる接尾辞に対応する要素のうち、当該検索キーワードの文字数より小さい値の要素の数を、当該検索キーワードを含む文書の数として算出し、算出された前記文書の数を用いて、当該検索キーワードの重要度を計算することを特徴とする文書検索装置。
  2. 前記プロセッサは、
    前記一致する文字の数が所定パラメータ値以上の値である場合、前記文字の数に代えて前記所定パラメータ値を、当該接尾辞に対応する要素とする整数配列を構築して前記メモリに格納し、
    入力された前記複数の検索キーワードの各々について、
    当該検索キーワードの長さが前記所定パラメータ値より小さい場合には、前記メモリに格納された前記整数配列において、当該検索キーワードで始まる接尾辞に対応する要素のうち、当該検索キーワードの文字数より小さい値の要素の数を、当該検索キーワードを含む文書の数として算出し、算出された前記文書の数を用いて、当該検索キーワードの重要度を計算し、
    当該検索キーワードの長さが前記所定パラメータ値より大きい場合には、当該検索キーワードを用いた検索処理を前記複数の文書に対して実行することによって、当該検索キーワードを含む文書の数を算出し、算出された前記文書の数を用いて、当該検索キーワードの重要度を計算することを特徴とする請求項1に記載の文書検索装置。
  3. 前記整数配列は、前記接尾辞配列における各接尾辞に対応する文字の数を並べたウェーブレット木のデータ構造であることを特徴とする請求項1に記載の文書検索装置。
  4. さらに、
    前記複数の文書の少なくとも一つの文書を、さらに複数の文書に分割したものを元の文書に代わる新たな文書とみなして検索する文書検索装置において、
    前記整数配列の要素数と同じ数の0を含む整数配列であって、入力された前記複数の検索キーワードの各々について、前記接尾辞配列において当該検索キーワードで始まる接尾辞の範囲がc1番目からc2番目の要素であり、且つ、前記接尾辞配列においてc1番目の0とc2番目の0の要素の間にあるk+1以上の要素の値の数をxとする場合、当該検索キーワードを含む文書の数がc2-c1+1-xと一致するように別の整数配列を構築して前記メモリに格納し、
    入力された前記複数の検索キーワードの各々について、それらの検索キーワードが出現するk回分割後の文書の数を算出する手段を実行し、その手段は、接尾辞配列のc1番目からc2番目の要素に対応する検索キーワードに対しては、前記メモリに格納された前記別の整数配列においてc1番目の0からc2番目0の間にあるk+1以上の値の数xを算出し、c2-c1+1-xを算出して前記文書の数を求めることを特徴とする手段であって、
    前記手段により算出された前記文書の数を用いて、当該検索キーワードの重要度を計算することを特徴とする請求項1に記載の文書検索装置。
  5. プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備えた文書検索装置において、複数の検索キーワードを入力し、入力された各検索キーワードの重要度を用いて、複数の文書から所望の文書を検索する文書検索方法であって、
    前記プロセッサが、
    前記複数の文書の各々に含まれる文字列に対する接尾辞配列を構築する手順と、
    構築された前記接尾辞配列の各接尾辞と、当該接尾辞と同じ文書に由来し、且つ、辞書順序で当該接尾辞の一つ前又は後の接尾辞と、を先頭の文字から順番に比較した場合に一致する文字の数を、当該接尾辞に対応する要素とする整数配列を構築して前記メモリに格納する手順と、
    前記メモリに格納された前記整数配列において、入力された前記複数の検索キーワードの各々で始まる接尾辞に対応する要素のうち、当該検索キーワードの文字数より小さい値の要素の数を、当該検索キーワードを含む文書の数として算出し、算出された前記文書の数を用いて、当該検索キーワードの重要度を計算する手順と、
    を含むことを特徴とする文書検索方法。
  6. プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、複数の検索キーワードを入力し、入力された各検索キーワードの重要度を用いて、複数の文書から所望の文書を検索する文書検索装置において用いられる文書検索プログラムであって、
    前記複数の文書の各々に含まれる文字列に対する接尾辞配列を構築する手順と、
    構築された前記接尾辞配列の各接尾辞について、当該接尾辞と、当該接尾辞と同じ文書に由来し、且つ、辞書順序で当該接尾辞の一つ前又は後の接尾辞と、を先頭の文字から順番に比較した場合に一致する文字の数を、当該接尾辞に対応する要素とする整数配列を構築して前記メモリに格納する手順と、
    前記メモリに格納された前記整数配列において、入力された前記複数の検索キーワードの各々で始まる接尾辞に対応する要素のうち、当該検索キーワードの文字数より小さい値の要素の数を、当該検索キーワードを含む文書の数として算出し、算出された前記文書の数を用いて、当該検索キーワードの重要度を計算する手順と、
    を前記プロセッサに実行させることを特徴とする文書検索プログラム。
JP2010278590A 2010-12-14 2010-12-14 文書検索装置、文書検索方法及び文書検索プログラム Expired - Fee Related JP5472929B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010278590A JP5472929B2 (ja) 2010-12-14 2010-12-14 文書検索装置、文書検索方法及び文書検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010278590A JP5472929B2 (ja) 2010-12-14 2010-12-14 文書検索装置、文書検索方法及び文書検索プログラム

Publications (2)

Publication Number Publication Date
JP2012128600A true JP2012128600A (ja) 2012-07-05
JP5472929B2 JP5472929B2 (ja) 2014-04-16

Family

ID=46645561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010278590A Expired - Fee Related JP5472929B2 (ja) 2010-12-14 2010-12-14 文書検索装置、文書検索方法及び文書検索プログラム

Country Status (1)

Country Link
JP (1) JP5472929B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243129A (ja) * 2011-05-20 2012-12-10 Nippon Telegr & Teleph Corp <Ntt> 話題語獲得装置、方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259646A (ja) * 1999-03-05 2000-09-22 Ricoh Co Ltd 情報索引装置
WO2003056460A1 (fr) * 2001-12-27 2003-07-10 Center For Advanced Science And Technology Incubation, Ltd. Procede de calcul de la frequence d'occurrence d'une sequence, procede de calcul du degre d'isolation et procede d'estimation du degre d'adequation d'une amorce
JP2007310746A (ja) * 2006-05-19 2007-11-29 Nagaoka Univ Of Technology 文章更新量評価プログラム
JP2009295097A (ja) * 2008-06-09 2009-12-17 Ricoh Co Ltd 情報分類装置、情報分類方法、情報処理プログラム及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259646A (ja) * 1999-03-05 2000-09-22 Ricoh Co Ltd 情報索引装置
WO2003056460A1 (fr) * 2001-12-27 2003-07-10 Center For Advanced Science And Technology Incubation, Ltd. Procede de calcul de la frequence d'occurrence d'une sequence, procede de calcul du degre d'isolation et procede d'estimation du degre d'adequation d'une amorce
JP2007310746A (ja) * 2006-05-19 2007-11-29 Nagaoka Univ Of Technology 文章更新量評価プログラム
JP2009295097A (ja) * 2008-06-09 2009-12-17 Ricoh Co Ltd 情報分類装置、情報分類方法、情報処理プログラム及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243129A (ja) * 2011-05-20 2012-12-10 Nippon Telegr & Teleph Corp <Ntt> 話題語獲得装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP5472929B2 (ja) 2014-04-16

Similar Documents

Publication Publication Date Title
US20220327137A1 (en) Modifying field definitions to include post-processing instructions
JP4848317B2 (ja) データベースのインデックス作成システム、方法及びプログラム
US8775410B2 (en) Method for using dual indices to support query expansion, relevance/non-relevance models, blind/relevance feedback and an intelligent search interface
JP5492187B2 (ja) 編集距離および文書情報を使用する検索結果順位付け
Yagoubi et al. Massively distributed time series indexing and querying
KR101498396B1 (ko) 문자열 생성 방법, 프로그램 및 시스템
KR20010071841A (ko) 데이터의 검색을 위한 서치 시스템 및 방법
JP2005122295A (ja) 関係図作成プログラム、関係図作成方法、および関係図作成装置
US9633059B2 (en) Data table performance optimization
CN105404677A (zh) 一种基于树形结构的检索方法
JP4237813B2 (ja) 構造化文書管理システム
JP2008083769A (ja) 文書検索装置および文書検索方法
JP4795856B2 (ja) クラスタリング方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体
KR20120115005A (ko) 효율적으로 질의를 처리하는 방법 및 장치
JP5472929B2 (ja) 文書検索装置、文書検索方法及び文書検索プログラム
CN105426490A (zh) 一种基于树形结构的索引方法
JP5374881B2 (ja) 情報検索システム、情報検索方法およびプログラム
Yadav et al. Wavelet tree based hybrid geo-textual indexing technique for geographical search
Truica et al. Building an inverted index at the dbms layer for fast full text search
Kaporis et al. ISB-tree: A new indexing scheme with efficient expected behaviour
JP5199968B2 (ja) キーワードタイプ判定装置、キーワードタイプ判定方法およびキーワードタイプ判定プログラム
WO2013069149A1 (ja) データ検索装置、データの検索方法及びプログラム
Dang et al. Fast forward index methods for pseudo-relevance feedback retrieval
JP4319827B2 (ja) 文書検索プログラム
JP5416680B2 (ja) 文書分割検索装置及び方法及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131225

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: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140129

R150 Certificate of patent or registration of utility model

Ref document number: 5472929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees