JP3514874B2 - フリーテキスト検索システム - Google Patents

フリーテキスト検索システム

Info

Publication number
JP3514874B2
JP3514874B2 JP13929995A JP13929995A JP3514874B2 JP 3514874 B2 JP3514874 B2 JP 3514874B2 JP 13929995 A JP13929995 A JP 13929995A JP 13929995 A JP13929995 A JP 13929995A JP 3514874 B2 JP3514874 B2 JP 3514874B2
Authority
JP
Japan
Prior art keywords
word
information
character
search
words
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.)
Expired - Fee Related
Application number
JP13929995A
Other languages
English (en)
Other versions
JPH08329112A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP13929995A priority Critical patent/JP3514874B2/ja
Publication of JPH08329112A publication Critical patent/JPH08329112A/ja
Application granted granted Critical
Publication of JP3514874B2 publication Critical patent/JP3514874B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多階層のインデックス
を有する検索システムにおいて、高速なフリーテキスト
検索を実現する技術に関する。
【0002】
【従来の技術】一般に、文献や文書等を検索するシステ
ムでは、インデックスを利用したシステムが利用されて
いる。インデックスを利用した検索システムでは、文書
名や文書中に含まれる単語をインデックスとして、この
単語を含む文書や文献のポインタや文書内の出現位置を
インデックス値として格納したてインデックス値を登録
したテーブルを備えるようにしている。そして、文書検
索をする際にユーザがキーワードを入力すると、キーワ
ードが複数の単語から構成されている場合には、キーワ
ードを個々の単語に分割する。例えば、「特急あさひ」
の場合には、「特急」と「あさひ」とに分割する。そし
て、個々の単語をキーワードとしてインデックスを検索
し、「特急」を含む文書のポインタとその文書中の出現
位置とを読み出す。さらに、「あさひ」についてもこの
単語を含む文書のポインタとその文書中の出現位置とを
読み出す。
【0003】ここで、システムは、「特急」のポインタ
値と「あさひ」のポインタ値との論理積演算を行い、
「特急あさひ」のポインタ値を獲得し、文書を格納する
データベース等を検索し、ポインタ値が示す文書を読み
出す。
【0004】しかし、フリーテキスト検索では、インデ
ックスに登録されている単語を必ずしもキーワードとす
るわけではない。つまり、「急あさ」をキーワードとし
ても文書検索が行えなければならない。このため、フリ
ーテキスト検索システムでは、多階層のインデックスを
利用するようになっている。ここで、二階層のインデッ
クスを例に挙げると、単語をインデックスとしてインデ
ックス値を登録した一次インデックスと、一次インデッ
クスに登録されている単語を構成する各文字をインデッ
クスとしてインデックス値を登録する二次インデックス
とを備える。
【0005】一次インデックスのインデックス値として
は、例えば、単語を含む文書の登録位置を示すポインタ
値、文書中における単語の出現位置等である。二次イン
デックスのインデックス値としては、例えば、文字を含
む単語の一次インデックスにおける登録位置を示すポイ
ンタ値等である。
【0006】ここで、「特急あさひ」の「急あさ」をキ
ーワードとして文書検索を行う場合には、システムは、
「急あさ」を個々の単語「急」・「あ」・「さ」に分割
する。そして、システムは、二次インデックスを検索
し、「急」のインデックス値、「あ」のインデックス
値、及び「さ」のインデックス値を各々読み出し、バッ
ファ上に書き込む。次に、システムは、バッファ上に書
き込まれたインデックス値をソートして(論理積演算を
行い)、全ての文字に共通のインデックス値を求める。
さらに、システムは、一次インデックスを検索し、求め
たインデックス値(一次インデックスのポインタ値)に
対応するインデックス(単語)を読み出す。そして、読
み出したインデックス(単語)のうち検索文字列を含む
インデックスを判別し、ヒット集合を生成してバッファ
上に書き込む。システムは、各単語のヒット集合を検索
して、総ての単語(「急+あ+さ」)を含む文書を獲得
する。
【0007】そして、システムは、文書内において、各
単語のオフセット位置を検出し、単語を構成する各文字
の隣接文字をチェックする。システムは、隣接文字のチ
ェックにより、各単語の文字列が検索対象の文字列と同
一の順番であるか否かを判別する。さらに、システム
は、文字列同一の単語のインデックス値を集めて結果集
合を生成する。
【0008】ところで、フリーテキスト検索システムに
おける検索時間は、文書量や検索文字列の出現頻度に依
存するが、特にインデックス値の読み出し処理、ソート
処理、及び隣接文字のチェック処理に多くの時間を費や
すため、検索時間の短縮が困難であった。
【0009】
【発明が解決しようとする課題】そこで、本発明は、前
記問題点い鑑みてなされたものであり、検索時間の短縮
を図り、高速なフリーテキスト検索を実現することを課
題とする。
【0010】
【課題を解決するための手段】本発明は、前記課題を解
決するために以下のような構成とした。これを図1の原
理図に沿って説明する。
【0011】本発明のシステムは、一次インデックス1
と二次インデックス2とを備えている。一次インデック
ス1には、各文書に含まれる単語毎に、各単語を含む文
書の文書名と文書中の出現位置情報とを格納している。
【0012】二次インデックス2には、一次インデック
ス1に格納されている単語を構成する個々の文字毎に、
各文字を含む単語の一次インデックス1中の格納位置と
前記文字を含む全単語の出現回数の総和とを登録してい
る。
【0013】そして、本システムは、文字列分解手段
3、単語分解手段4、検索文字決定手段5、文字情報読
出手段6、第1論理演算手段7、単語情報読出手段8、
第2論理演算手段9、及び連続性チェック手段10を備
えている。
【0014】文字列分解手段3は、検索対象文字列を、
個々の単語に分割する。単語分解手段4は、文字列分解
手段3が分割した単語毎に、各単語を個々の文字に分割
する。
【0015】検索文字決定手段5は、単語毎に、単語を
構成する文字のうち検索対象とする文字を決定する。つ
まり、本誌ステムでは、単語を構成する全ての文字を必
ずしも検索対象とせず、これらの文字の一部を検索対象
とする。決定基準は、二次インデックス2に登録した出
現回数が少ない文字から順に所定数の文字を検索対象と
する。この所定数は、予め単語を構成する文字数別に設
定しておくようにしてもよい。
【0016】文字情報読出手段6は、二次インデックス
2を検索し、検索文字決定手段5が決定した文字の一次
インデックス1の格納位置情報を読み出す。第1論理演
算手段7は、各単語毎に、文字情報読出手段6が読み出
した格納位置情報群の論理演算を行い、全ての検索文字
に共通の格納位置情報を求める。
【0017】単語情報読出手段8は、一次インデックス
1を検索し、第1論理演算手段7から出力された格納位
置に格納されている単語の文書名を読み出す。第2論理
演算手段9は、文字列を構成する全ての単語について文
書名を読み出し終わると、これらの文書名について論理
演算を行い、全ての単語に共通の文書名を求める。
【0018】連続性チェック手段10は、第2論理演算
手段9から出力される文書名毎に、検索文字列を構成す
る単語が連続しているか否かを判別し、全ての単語が連
続している文書名を特定する。
【0019】ここで、二次インデックス2は、一次イン
デックス1の格納位置情報を、各文字を含む単語の構成
文字数別に格納することが好ましい。また、連続性チェ
ック手段10は、検索文字列が複数の単語から構成され
ている場合に、文字列を構成する第1番目の単語の出現
位置情報に、第1番目の単語の文字数を加算して第1オ
フセット情報を生成し、第3番目以降の単語には、その
単語の出現位置情報から、第2番目の単語から直前の単
語までの文字数の総和を減算して第2オフセット情報を
生成し、前記第1オフセット情報と第2オフセット情報
とが第2番目の単語の出現位置情報に一致する文書名を
特定する。
【0020】さらに、一次インデックス1及び二次イン
デックス2は、文章名情報及び出現位置情報を圧縮状態
で格納するようにしてもよい。この圧縮方法としては、
例えば、差分圧縮等がある。
【0021】また、文字情報読出手段6及び単語情報読
出手段8は、二次インデックス2及び一次インデックス
1から読み出した情報をビット列情報へ変換するように
してもよい。この場合、第1論理演算手段7及び第2論
理演算手段9は、ビット列情報を用いて論理演算を行う
ものとする。
【0022】さらに、一次インデックスのみを有するシ
ステムの場合には、一次インデックスに、各文書に含ま
れる単語毎に、各単語を含む文書の文書名、文書中の出
現位置情報、及び各単語の総出現回数を格納するように
する。この場合、システムは、文字列分解手段、検索単
語決定手段、単語情報読出手段、論理演算手段、第1オ
フセット情報生成手段、第2オフセット情報生成手段、
及び比較手段を備えるようにする。
【0023】文字列分解手段は、検索対象の文字列を単
語に分割するものである。検索単語決定手段は、文字列
分解手段が分解した各単語について一次インデックスを
検索し、出現回数が少ない単語を所定数選出する。
【0024】単語情報読出手段は、検索単語決定手段が
決定した単語について一次インデックスを検索し、前記
単語が出現する文書名及び出現位置情報を読み出す。論
理演算手段は、文書名及び出現位置情報について論理演
算を行い、全ての単語に共通の文書名を出力する。
【0025】第1オフセット情報生成手段は、検索文字
列を構成する第1番目の単語の出現位置情報に、第1番
目の単語の文字数を加算して第1オフセット情報を生成
する。
【0026】第2オフセット情報生成手段は、検索文字
列を構成する第3番目以降の単語の出現位置情報から、
第2番目の単語から直前の単語までの文字数の総和を減
算して第2オフセット情報を生成する。
【0027】比較手段は、論理演算手段から出力された
各文書毎に、第1オフセット情報と第2オフセット情報
と前記検索文字列を構成する第2番目の単語の出現位置
情報とを比較し、総ての位置情報が一致する文字列を含
む文書名を特定する。
【0028】
【作用】本発明のフリーテキスト検索システムによれ
ば、まず、一次インデックス1と二次インデックス2と
のデータを圧縮して格納することにより、記憶領域を縮
小することができる。
【0029】そして、ユーザが検索対象文字列を入力す
ると、文字列分解手段3は、検索対象文字列を、個々の
単語に分割し、分割した単語群を単語分解手段4へ転送
する。
【0030】単語分解手段4は、各単語毎に、単語を個
々の文字に分割し、文字群を検索文字決定手段5へ通知
する。検索文字決定手段5は、各単語毎に、検索文字を
決定する。すなわち、各文字について二次インデックス
2の出現回数を参照し、出現回数が少ない文字を少なく
とも一つ選び、この文字を検索文字として決定する。例
えば、単語が3文字で構成されている場合には、3文字
全てを検索対象とせず、出現回数の少ない文字を検索対
象の文字として決定する。
【0031】文字情報読出手段6は、検索文字決定手段
5が決定した文字について二次インデックス2を検索
し、一次インデックス1の格納位置情報を読み出す。こ
のとき、文字情報読出手段6は、検索文字を含む単語の
構成文字数を判別し、この構成文字数に対応する格納位
置情報のみを読み出す。そして、文字情報読出手段6
は、文字列を構成する全ての単語について、格納位置情
報を読み出すと、これらの情報を第1論理演算手段7へ
通知する。
【0032】第1論理演算手段7は、各単語毎に、文字
情報読出手段6が読み出した格納位置情報群の論理演算
を行い、全ての検索文字に共通の格納位置情報を求め
る。単語情報読出手段8は、一次インデックス1を検索
し、第1論理演算手段7から出力された格納位置に格納
されている単語の文書名を読み出す。
【0033】第2論理演算手段9は、文字列を構成する
全ての単語について文書名を読み出し終わると、これら
の文書名について論理演算を行い、全ての単語に共通の
文書名を求める。
【0034】連続性チェック手段10は、第2論理演算
手段9から出力される文書名毎に、検索文字列を構成す
る単語が連続しているか否かを判別し、全ての単語が連
続している文書名を特定する。
【0035】このように、本発明では、単語検索を行う
際に、単語を構成する統べての文字について検索を行わ
ず、検索処理を高速に行えるようにしている。これによ
る検索対象のヒット率の精度低下を防止するために、本
発明では、二次インデックス2のデータを単語の構成文
字数別に格納し、検索文字が含まれる単語の構成文字数
に対応するデータのみを読みだされるようにしている。
【0036】
【実施例】本発明の実施例について図面に沿って説明す
る。 (システム構成)図2は、フリーテキスト検索システム
の構成を示している。
【0037】本実施例のフリーテキスト検索システム
は、文献検索を例に挙げて説明する。同図に示すよう
に、システムは、複数の文書を格納するデータベース、
CPU、主記憶装置(MM)15をバスで接続して構成
されている。さらに、バスには、キーボード11とディ
スプレイ装置12とがI/O11a・12aを介して接
続されている。
【0038】キーボード11は、検索対象の文字列をユ
ーザが入力するためのものである。ディスプレイ装置1
2は、検索結果を画面表示するものである。主記憶装置
(MM)15は、本システムの動作手順を示すソフトウ
ェアを記憶している。さらに、主記憶装置(MM)に
は、複数のバッファ領域が設定されている。
【0039】CPUは、主記憶装置(MM)のソフトウ
ェアを実行して本発明のフリーテキスト検索システムの
機能を実現する。ここで、図3にデータベース13の構
成について述べる。
【0040】データベース13は、複数の文書を格納す
る文書格納部13a、一次インデックス13b、及び二
次インデックス13cを備えている。文書格納領域は、
個々の文書の文書名を特定するレコードID毎に、文書
名と文書の内容を格納している。
【0041】一次インデックス13bは、各文書に含ま
れている単語毎に、各単語を含む文書のレコードIDと
各文書内の出現位置を示すポインタとが格納されてい
る。二次インデックス13cは、単語を構成する文字毎
に、文字を含む単語の出現回数の総和と、単語の一次イ
ンデックス内の格納位置を示すポインタとが格納されて
いる。ここで、一次インデックス内のポインタは、文字
を含む単語の構成文字数別に格納されている。具体的に
は、文字「に」を含む単語のポインタは、文字数が1文
字の単語(「に」)のポインタ(P1、P2、P3、・
・・)、文字数が2文字の単語(「にわ」、「にら」、
「かに」等)のポインタ(P4、P5、P6、・・・)
のように、文字数が少ない単語から順にポインタを格納
している。
【0042】さらに、一次インデックス13bのレコー
ドIDと出現位置情報(図中オフセット値)は、圧縮し
て格納されている。この圧縮例を図4に示す。図中、圧
縮ID1は、”0”とレコードID1との差分(100
−0=100)であり、圧縮ID2は、レコードID1
とレコードID2との差分(120−100=20)で
ある。また、オフセット値の圧縮は、レコードID間毎
の差分により行う。具体的には、圧縮01は”0”とオ
フセット値1(200)との差分(|200−0|=2
00)であり、圧縮02はオフセット値1とオフセット
値2との差分(|250−200|=50)であり、圧
縮03はオフセット値2(250)とオフセット値3
(420)との差分(|420−250|=170)で
ある。そして、圧縮11はオフセット値4(180)と
オフセット値5(200)との差分(|200−180
|=20)である。
【0043】尚、図示はしないが、二次インデックス1
3cのポインタ値も上記と同様の差分圧縮により圧縮す
るようにする。これにより、一次インデックス13b及
び二次インデックス13cの容量を小さくすることが出
来る。尚、各インデックスからデータを取り出す際に
は、圧縮の手順と逆の手順で伸長処理を行う。
【0044】次に、図5にCPU14が主記憶装置(M
M)15のソフトウェアを実行することにより実現され
る機能別構成について説明する。同図に示すように、本
システムは、文字列分解部3、単語分解部4、検索文字
決定部5、文字情報読出部6、第1論理演算部7、単語
読出部8、第2論理演算部9、及び連続性チェック部1
0を備えている。
【0045】文字列分解部3は、キーボード11から入
力された検索文字列を個々の単語に分解する。単語分解
部4は、単語を個々の文字に分解する。
【0046】検索文字決定部5は、単語を構成する各文
字毎に、二次インデックス13cの出現回数を参照し、
出現回数の少ない文字から少なくとも一つの文字を検索
対象の文字として決定する。この決定方法は、低頻度語
優先評価法である。
【0047】文字情報読出部6は、検索文字決定部5が
決定した文字について二次インデックス13cを参照
し、一次インデックス13bのポインタ値を読み出す。
このとき、文字情報読出部6は、各文字を含む単語の構
成文字数に対応するポインタ値のみを読み出す。
【0048】第1論理演算部7は、各単語毎に、単語を
構成する文字について二次インデックス13cから読み
出したポインタ値群の論理積を計算し、全ての文字に共
通のポインタ値を出力する。
【0049】単語読出部8は、文字列を構成する単語毎
に、一次インデックス13bを検索し、第1論理演算部
7が出力したポインタ値が示す単語のインデックス値
(レコードID、出現位置情報)を読み出す。さらに、
単語読出部8は、読み出した単語の一致条件を解析す
る。この一致条件は、以下の通りである。 、文字列を構成する単語のうち先頭の単語について
は、この単語の前にある語句を付加した単語も条件一致
とする(後方一致条件)。
【0050】、文字列を構成する単語のうち中間の単
語については、この単語と完全に一致する単語を条件一
致とする(完全一致条件)。 、文字列を構成する単語のうち末尾の単語について
は、この単語の後ろにある語句を付加した単語も条件一
致とする(前方一致)。 上記の条件については、例えば、「検索」ならば「検
索」単体で構成される単語だけでなく、「文字検索」や
「人名検索」等の単語も条件一致とする。また、の条
件については、例えば、「ソート」ならばこの単語単体
で構成される単語のみを条件一致する。さらに、上記
の条件については、例えば、「処理」ならば「処理」単
体で構成される単語だけでなく、「処理時間」や「処理
装置」等の単語も条件一致とする。
【0051】第2論理演算部9は、単語読出部8が読み
出した単語のレコードIDについて論理演算を行うもの
である。本実施例では、第2論理演算部9は、上記の
条件に一致した単語群のレコードIDについて論理和演
算を行うと共に、上記の条件に一致した単語群のレコ
ードIDについても論理和演算を行う。そして、第2論
理演算部9は、論理和演算により得られたレコードID
集合と、上記の条件に一致した単語群のレコードID
集合との論理積演算を行う。この結果、検索文字列を構
成する単語を総て含む文字列のレコードID集合を得る
ことが出来る。
【0052】そして、連続性チェック部10は、第2論
理演算部9から出力されるレコードID集合に含まれる
文字列と検索文字列とが一致するか否かを判別する。こ
のとき、レコードID集合に含まれる文字列において、
検索対象の単語群が連続して配列されていればよいこと
になる。つまり、検索文字列が「検索におけるソート処
理」ならば、単語「検索」と「における」と「ソート」
と「処理」とが連続していればよいことになる。具体的
には、文字列「人名検索におけるソート処理時間」につ
いては、「検索」と「における」と「ソート」と「処
理」とが連続しているから、検索条件に合致することに
なる。一方、「検索におけるポインタ値のソート処理」
については、「における」と「ソート」とが連続してい
ないので検索条件に合致しないことになる。
【0053】この連続性のチェック方法を以下に示す。 、先頭単語については、オフセット値に先頭単語の文
字数を加算し修正オフセット値を求める。 、第2番目の単語については、何も処理しない。 、第3番目の単語については、オフセット値から第2
番目の単語の文字数を減算し、修正オフセット値を求め
る。 、第n番目(n;自然数)の単語については、第2番
目の単語から第(n−1)番目の単語までの文字数の総
和を求め、第n番目の単語のオフセット値から文字数の
総和を減算した修正オフセット値を求める。 、〜で求めた修正オフセット値が総て同一であ
り、且つ第2番目の単語のオフセット値と一致する単語
群を判別する。 これにより、検索文字列と同一の文字列を有する文字列
を判別することができる。
【0054】以下、本実施例におけるシステムの作用・
効果について述べる。 (本実施例の作用・効果)本誌ステムの動作について図
7に沿って説明する。
【0055】ユーザがキーボード14に検索文字列を入
力すると、検索文字列分解部3は、この検索文字列を個
々の単語に分解し、これらの単語群を単語分解部4へ通
知する。
【0056】単語分解部4は、各単語を個々の文字に分
解する。そして、単語分解部4は、分解した文字群を検
索文字決定部5へ通知する。検索文字決定部5は、二次
インデックス13cを検索し、各単語毎に個々の文字の
出現回数を読み出す。そして、検索文字決定部5は、各
単語を構成する文字のうち、出現回数が少ない文字を所
定数決定する。そして、検索文字決定部5は、単語別に
決定した検索文字を文字情報読出部6へ通知する。例え
ば、単語「における」について検索文字を決定する場合
には、検索文字決定部5は、「に」、「お」、「け」、
「る」の各々の出現回数を読み出し、これらの出現回数
を比較する。そして、図3に示すように出現回数が少な
い2文字「お」と「け」とを検索文字として決定する。
【0057】文字情報読出部6は、各単語の文字数を判
別する。そして、文字情報読出部6は、二次インデック
ス13cを参照し、検索文字のポインタ情報のうち単語
の文字数に対応するポインタ情報のみを読み出す。全て
の単語について検索文字のポインタ情報を読み出し終わ
ると、文字情報読み出し部6は、ポインタ情報を単語別
に第1論理演算部7へ通知する。例えば、図3おいて、
文字情報読出部6は、「お」について、4文字の領域に
格納されているポインタ情報を読み出す。さらに、文字
情報読出部6は、「け」についても、4文字の領域に格
納されているポインタ情報を読み出す。
【0058】第1論理演算部7は、各単語毎に、検索文
字のポインタ情報の論理積演算を行う。詳細には、単語
「における」の検索文字が「お」と「け」である場合
に、第1論理演算部7は、「お」に関するポインタ情報
群と「け」に関するポインタ情報群との論理積演算を行
い、「お」と「け」とに共通のポインタ情報を得る。こ
の処理を全ての単語について終了すると、第1論理演算
部7は、単語別にポインタ情報を単語情報読出部8へ通
知する。
【0059】単語情報読出部8は、一次インデックス1
3bを検索し、第1論理演算部7から入力したポインタ
に格納されているレコードID及び出現位置情報(オフ
セット値)を読み出す。ここで、単語情報読出部8は、
各単語が文字列の先頭の単語であるか、中間の単語であ
るか、あるいは末尾の単語であるかを判別し、先頭の単
語については後方一致条件に合致する全ての単語につい
てレコードID及びオフセット値を読み出し、これらの
データ群の論理和演算を行う。さらに、単語情報読出部
8は、中間の単語については、完全一致条件に合致する
単語についてのみレコードID及びオフセット値を読み
出す。また、単語情報読出部8は、末尾の単語について
は、前方一致条件に合致する全ての単語についてレコー
ドID及びオフセット値を読み出し、これらのデータ群
の論理和演算を行う。
【0060】また、本実施例では、単語情報読出部8
は、読み出したレコードIDを、図6に示す様なビット
列に変換して主記憶装置(MM)15のバッファへ書き
込む。第2論理演算部9は、バッファへアクセスし、ビ
ット列で書き込まれたレコードID群について論理積演
算を行い、文字列を構成する全ての単語に共通のレコー
ドIDを求める。
【0061】連続性チェック部10は、第2論理演算部
9から出力されるレコードIDについて、単語の連続性
をチェックし、単語の配列が検索文字列と同一の文字列
を含むレコードIDを特定する。そして、連続性チェッ
ク部10は、レコードIDについてデータベース13の
文書格納部13aを検索し、レコードIDに対応する文
書名を求め、この文書名と出現位置情報とをディスプレ
イ装置12から画面表示させる。
【0062】以上のように、本実施例によれば、一次イ
ンデックス13b、二次インデックス13cの記憶領域
を縮小することが出来る。さらに、単語を構成する全て
の文字を検索対象とする必要がなくなり、処理の高速化
を図ることが出来る。
【0063】また、ヒットデータをビット列で表すこと
により、バッファの容量を縮小摺ることが出来ると共
に、同時に複数の演算処理を行えるようになり、演算処
理の高速化を図ることが出来る。
【0064】尚、本実施例では、一次インデックスと二
次インデックスとの二つのインデックスを有するシステ
ムを例に挙げて説明したが、一次インデックスのみを有
するシステムに本発明を適用するようにしてもよい。こ
の場合には、一次インデックスに、各単語の総出現回数
を格納して、検索対象の単語を決定するようにする。
【0065】
【発明の効果】本発明によれば、インデックスの記憶容
量を縮小化摺ることが出来ると共に、検索効率の向上を
図ることが出来る。さらに、中間処理におけるデータを
ビット列で表すことにより、演算処理の高速化も図るこ
とが可能となる。また、検索単語の連続性をチェックす
る際に、各単語の出現位置情報を用いた論理演算を行う
ことにより、連続性のチェックを高速化することができ
る。
【図面の簡単な説明】
【図1】本発明の原理図
【図2】本実施例におけるフリーテキスト検索システム
の構成図
【図3】データベースの格納内容を示す図
【図4】インデックス情報の圧縮例を示す図
【図5】本実施例におけるシステムの機能別構成ブロッ
ク図
【図6】レコードID値のビット列変換例を示す図
【図7】システムの動作過程を示すシーケンス図
【符号の説明】
1・・一次インデックス 2・・二次インデックス 3・・文字列分解手段(文字列分解部) 4・・単語分解手段(単語分解部) 5・・検索文字決定手段(検索文字決定部) 6・・文字情報読出手段(文字情報読出部) 7・・第1論理演算手段(第1論理演算部) 8・・単語情報読出手段(単語情報読出部) 9・・第2論理演算手段(第2論理演算部) 10・・連続性チェック手段(連続性チェック部) 11・・キーボード 11a・・I/O 12・・ディスプレイ装置 12a・・I/O 13・・データベース(DB) 13a・・文書格納部 13b・・一次インデックス 13c・・二次インデックス 14・・CPU(中央演算処理装置) 15・・主記憶装置(MM)
フロントページの続き (56)参考文献 福島俊一 外,テキストデータベース 検索,NEC技報,1994年 9月16日, Vol.47,No.8,p.42−47 急増する全文検索システムの動向を探 る,日経インテリジェントシステム, 1993年 2月22日,No.172,p.16 −21 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 JICSTファイル(JOIS)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 各文書に含まれる単語毎に、各単語を含
    む文書の文書名と文書中の出現位置情報とを格納する一
    次インデックスと、 単語を構成する文字毎に、各文字を含む単語の一次イン
    デックス中の格納位置と前記文字を含む全単語の出現回
    数の総和とを登録する二次インデックスと、 検索対象の文字列を単語に分割する文字列分解手段と、 前記各単語を文字に分割する単語分割手段と、 前記各文字について前記二次インデックスを検索し、出
    現回数が少ない文字を所定数選出する検索文字決定手段
    と、 前記検索文字決定手段が決定した文字について二次イン
    デックスを検索し、一次インデックスの格納位置情報を
    読み出す文字情報読出手段と、 前記格納位置情報について論理演算を行い、全ての文字
    に共通の格納位置情報を出力する第1論理演算手段と、 前記一次インデックスを検索し、前記第1論理演算手段
    から出力された格納位置に格納されている文書名を読み
    出す単語情報読出手段と、 前記文書名及び出現位置情報について論理演算を行い、
    全ての単語に共通の文書名を出力する第2論理演算手段
    と、 前記第2論理演算手段から出力される文書名毎に、前記
    検索文字列を構成する単語が連続しているか否かを判別
    し、前記単語群が連続している文書名を特定する連続性
    チェック手段と、 を備えるフリーテキスト検索システム。
  2. 【請求項2】 前記二次インデックスは、各文字を含む
    単語の一次インデックスにおける格納位置情報を、単語
    の文字数別に格納する請求項1記載のフリーテキスト検
    索システム。
  3. 【請求項3】 前記連続性チェック手段は、検索文字列
    が複数の単語から構成されている場合に、 文字列を構成する第1番目の単語の出現位置情報に、第
    1番目の単語の文字数を加算して第1オフセット情報を
    生成し、 第3番目以降の単語には、その単語の出現位置情報か
    ら、第2番目の単語から直前の単語までの文字数の総和
    を減算して第2オフセット情報を生成し、 前記第1オフセット情報と第2オフセット情報と第2番
    目の単語の出現位置情報とが一致する文字列を検出する
    請求項1記載のフリーテキスト検索システム。
  4. 【請求項4】 前記一次インデックス及び二次インデッ
    クスは、文章名情報及び出現位置情報を圧縮状態で格納
    する請求項1記載のフリーテキスト検索システム。
  5. 【請求項5】 前記文字情報読出手段及び単語情報読出
    手段は、前記二次インデックス及び一次インデックスか
    ら読み出した情報をビット列情報へ変換し、 前記第1論理演算手段及び第2論理演算手段は、ビット
    列情報を用いて論理演算を行う請求項1記載のフリーテ
    キスト検索システム。
  6. 【請求項6】 各文書に含まれる単語毎に、各単語を含
    む文書の文書名、文書中の出現位置情報、及び各単語の
    総出現回数を格納する一次インデックスと、 検索対象の文字列を単語に分割する文字列分解手段と、 前記各単語について前記一次インデックスを検索し、出
    現回数が少ない単語を所定数選出する検索単語決定手段
    と、 前記検索単語決定手段が決定した単語について一次イン
    デックスを検索し、前記単語が出現する文書名及び出現
    位置情報を読み出す単語情報読出手段と、 前記文書名及び出現位置情報について論理演算を行い、
    全ての単語に共通の文書名を出力する論理演算手段と、 前記検索文字列を構成する第1番目の単語の出現位置情
    報に、第1番目の単語の文字数を加算して第1オフセッ
    ト情報を生成する第1オフセット情報生成手段と、 前記検索文字列を構成する第3番目以降の単語の出現位
    置情報から、第2番目の単語から直前の単語までの文字
    数の総和を減算して第2オフセット情報を生成する第2
    オフセット情報生成手段と、 前記第1オフセット情報と第2オフセット情報と前記検
    索文字列を構成する第2番目の単語の出現位置情報とが
    一致する文字列を検出する比較手段と、 を備えるフリーテキスト検索システム。
JP13929995A 1995-06-06 1995-06-06 フリーテキスト検索システム Expired - Fee Related JP3514874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13929995A JP3514874B2 (ja) 1995-06-06 1995-06-06 フリーテキスト検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13929995A JP3514874B2 (ja) 1995-06-06 1995-06-06 フリーテキスト検索システム

Publications (2)

Publication Number Publication Date
JPH08329112A JPH08329112A (ja) 1996-12-13
JP3514874B2 true JP3514874B2 (ja) 2004-03-31

Family

ID=15242054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13929995A Expired - Fee Related JP3514874B2 (ja) 1995-06-06 1995-06-06 フリーテキスト検索システム

Country Status (1)

Country Link
JP (1) JP3514874B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893094A (en) * 1997-07-25 1999-04-06 Claritech Corporation Method and apparatus using run length encoding to evaluate a database
JP3622503B2 (ja) 1998-05-29 2005-02-23 株式会社日立製作所 特徴文字列抽出方法および装置とこれを用いた類似文書検索方法および装置並びに特徴文字列抽出プログラムを格納した記憶媒体および類似文書検索プログラムを格納した記憶媒体
EP1288791A1 (de) * 2001-08-27 2003-03-05 Data Becker GmbH & Co. KG. Computersystem sowie Verfahren zum Betrieb einer erweiterbaren Datenbank
US7194450B2 (en) * 2003-12-19 2007-03-20 Xerox Corporation Systems and methods for indexing each level of the inner structure of a string over a language having a vocabulary and a grammar
CN102810096B (zh) 2011-06-02 2016-03-16 阿里巴巴集团控股有限公司 一种基于单字索引***的检索方法和装置
JP5921379B2 (ja) 2012-08-10 2016-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テキスト処理方法、システム及びコンピュータ・プログラム。
CN107766414B (zh) 2017-09-06 2020-06-12 北京三快在线科技有限公司 多文档交集获取方法、装置、设备及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
急増する全文検索システムの動向を探る,日経インテリジェントシステム,1993年 2月22日,No.172,p.16−21
福島俊一 外,テキストデータベース検索,NEC技報,1994年 9月16日,Vol.47,No.8,p.42−47

Also Published As

Publication number Publication date
JPH08329112A (ja) 1996-12-13

Similar Documents

Publication Publication Date Title
US9323794B2 (en) Method and system for high performance pattern indexing
US8190613B2 (en) System, method and program for creating index for database
US10579661B2 (en) System and method for machine learning and classifying data
US11507601B2 (en) Matching a first collection of strings with a second collection of strings
JP2790466B2 (ja) 文字列検索方法及び装置
US10389378B2 (en) Computer product, information processing apparatus, and information search apparatus
EP2092419B1 (en) Method and system for high performance data metatagging and data indexing using coprocessors
US8533203B2 (en) Identifying synonyms of entities using a document collection
US7424421B2 (en) Word collection method and system for use in word-breaking
US20150186471A1 (en) System and method for approximate searching very large data
CN111324750B (zh) 一种大规模文本相似度计算及文本查重方法
US8316041B1 (en) Generation and processing of numerical identifiers
WO2010061537A1 (ja) 検索装置、検索方法、及びプログラムが格納された記録媒体
Diwate et al. Study of different algorithms for pattern matching
JP3514874B2 (ja) フリーテキスト検索システム
Crochemore et al. Efficient parallel algorithms to test square-freeness and factorize strings
US7503000B1 (en) Method for generation of an N-word phrase dictionary from a text corpus
JPH04205560A (ja) 情報検索処理方式および検索ファイル作成装置
JP3151730B2 (ja) データベース検索システム
JP3081093B2 (ja) 索引作成方法およびその装置と文書検索装置
JPH1173415A (ja) 類似文書検索装置及び類似文書検索方法
Long et al. Multi-document summarization by information distance
JP2001022766A (ja) 多次元データベースの高速処理方法および装置
Kalmar et al. FICO: Web person disambiguation via weighted similarity of entity contexts
Kumar et al. Clustering based approach for novelty detection in text documents

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040114

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080123

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100123

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees