JP2000057151A - 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 - Google Patents

文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体

Info

Publication number
JP2000057151A
JP2000057151A JP10221829A JP22182998A JP2000057151A JP 2000057151 A JP2000057151 A JP 2000057151A JP 10221829 A JP10221829 A JP 10221829A JP 22182998 A JP22182998 A JP 22182998A JP 2000057151 A JP2000057151 A JP 2000057151A
Authority
JP
Japan
Prior art keywords
index
search
character string
program
partial character
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
JP10221829A
Other languages
English (en)
Other versions
JP3620968B2 (ja
Inventor
Natsuko Sugaya
菅谷  奈津子
Katsumi Tada
勝己 多田
Takuya Okamoto
卓哉 岡本
Tadataka Matsubayashi
忠孝 松林
Yasushi Kawashita
靖司 川下
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 JP22182998A priority Critical patent/JP3620968B2/ja
Publication of JP2000057151A publication Critical patent/JP2000057151A/ja
Application granted granted Critical
Publication of JP3620968B2 publication Critical patent/JP3620968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 検索性能の高速化を図ると共に総インデクス
サイズの増加を最小限に抑えることが可能な技術を提供
する。 【解決手段】 検索タームの部分文字列と同じ位置関係
を持つテキストデータの位置情報を抽出するインデクス
検索ステップと、テキストデータの部分文字列に対応す
るインデクスのサイズと予め定められた基準インデクス
サイズとを比較するインデクスサイズ比較ステップと、
該インデクスのサイズが該基準インデクスサイズより大
きい場合に、該インデクスに対応する部分文字列が前記
インデクス検索ステップで検索される可能性が高いかど
うかを判定する検索可能性判定ステップと、該部分文字
列が前記インデクス検索ステップで検索される可能性が
高い場合に、該部分文字列に文字列を追加した拡張部分
文字列と該拡張部分文字列に対応するインデクスを作成
する文字列インクリメントステップを有するもの。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は新聞記事や特許明細
書の様に日々増加していく大規模な文書データベースか
ら所望の文書を探索する文書検索システムに関し、特に
指定した文字列の存在を文書の全文を対象として探索す
るフルテキストサーチの為の文書検索システムに適用し
て有効な技術に関するものである。
【0002】
【従来の技術】指定された検索文字列(以下、検索ター
ムと呼ぶ)が含まれる文書を大規模な文書データベース
から高速に探し出す方法として、n−gramインデク
ス方式(以下、方法1と呼ぶ)がある。
【0003】n−gramインデクス方式とは、文書の
登録時に文書中の全てのn−gram(連続するn文字
からなる文字列)についてその出現位置情報をインデク
スとして格納しておき、検索時には検索ターム中のn−
gramに対してそのインデクスを参照し、検索ターム
中の位置関係とインデクス中の位置関係が等しいかどう
かを判定(以下、隣接判定と呼ぶ)することによって、
検索タームが出現する文書を探し出す方法である。
【0004】図20は従来の1−gramインデクス方
式の一例を示す図である。本図に示す様に、方法1で
は、文書の登録時に文書中の全てのn−gram(図2
0の例ではn=1)についてその出現位置情報をインデ
クスとして格納する。例えば、“に”という1−gra
mは文書‘001’の‘3’文字目に出現するので、そ
の文書番号‘001’と文字位置‘3’を“に”に対応
するインデクス200に格納する。
【0005】検索時には、指定された検索タームから抽
出したn−gramのインデクス間で出現位置情報の隣
接判定を行うことにより、検索タームの出現位置情報を
取得する。例えば、“微生物”が検索タームとして指定
された場合には、この検索タームからまず、1−gra
m“微”、“生”及び“物”を抽出する。そして、
“微”に対応するインデクス201、“生”に対応する
インデクス202及び“物”に対応するインデクス20
3の間で出現位置情報の隣接判定を行うことによって、
“微生物”の出現位置情報を取得する。本図の例では、
“微”、“生”及び“物”が文書番号‘001’の
‘9’文字目からと、文書番号‘056’の‘5’文字
目からとで隣り合っているので、それらの出現位置に
“微生物”が存在することが分かる。
【0006】以上の様に方法1では、文書を走査するこ
となしにインデクスの読込みと出現位置情報の隣接判定
だけで検索が行える為、大規模な文書データベースに適
用した場合でも高速なフルテキストサーチを実現できる
可能性がある。
【0007】しかし方法1では、nを1とすると、すな
わち1−gramのインデクスを用いると、1−gra
mは全文書中(データベース中)における出現頻度が高
い為、一つの1−gramに対する出現位置情報が増
え、個々のインデクスのサイズが大きくなる。この為イ
ンデクスの読込みに時間が掛かるばかりでなく、出現位
置情報による隣接判定の回数も増える為、検索に時間が
掛かるという問題が生じる。
【0008】検索を高速にする為にはnの値を増やした
サイズの小さなインデクスを作成する必要があるが、短
い検索タームが指定された場合でも検索が行える様にn
の小さなインデクスも全て作成しておかなければならな
い。その結果、総インデクスサイズが膨大になってしま
う。
【0009】また、方法1の様なインデクス型の文書検
索方法では、“キー探索技法−IVトライとその応用”
(青江順一著、情報処理Vol.34、No.2、19
93、pp.244−251)に記載されているトライ
の様な木構造で文字列(方法1の場合はn−gram)
を管理する必要がある。
【0010】トライとは検索対象となる文字列すなわち
キーワードの集合(以下、キー集合と呼ぶ)における各
キーワード(以下、キーと呼ぶ)に共通な前方部分文字
列を共通の節で括り出して作られる木構造である。
【0011】このトライは登録や検索の際に用いられ、
登録する文字列或いは検索ターム中の文字列でキーを辿
ってトライを探索することにより、その文字列に対応す
るインデクスを指し示すポインタ情報を取得することが
できる。トライの探索に掛かる時間はキーの数に依存し
ない為、大規模なデータベースに適用した場合でも、高
速にキーワードを探索できるという特徴がある。
【0012】図21は従来のキー集合{baby、ba
dge、badger、jar}に対応するトライの構
成を示す図である。このトライでは節1(300)から
節2(301)へ枝ラベルb(302)が定義され、二
重丸で示すキーの末尾にあたる節にはそのキーに対する
インデクスへのポインタ情報が設定されている。
【0013】例えば、検索タームとして“baby”が
指定された場合には、文字列“baby”で本図のトラ
イを探索することにより、節5(303)に設定されて
いるポインタ情報Pt1が得られ、このポインタ情報P
t1が示す先に検索ターム“baby”に対応するイン
デクスが格納されていることになる。
【0014】方法1において、このトライを用いてn−
gramを管理する際、個々のインデクスのサイズを小
さくして検索を高速にする為にn−gramを長くした
インデクスを作成すると、n−gramの種類が増え、
トライの節が増える為、トライ全体の規模が膨大になっ
てしまうという問題がある。
【0015】以上説明した、検索時間の長大化と、総イ
ンデクスサイズとインデクスを管理する木構造サイズの
巨大化という相反する問題を解決する為に、インデクス
のサイズがある基準値(以下、基準インデクスサイズと
呼ぶ)を超えたn−gramに対してのみ、nの値を増
やしてサイズの小さなインデクスを作成することによ
り、常にサイズの小さなインデクスの読込みと出現位置
情報の隣接判定で済む様にして、高速な検索を実現する
と共に、総インデクスサイズ及びインデクスを管理する
木構造(以下、トライで説明する)サイズの巨大化を防
ぐ文書検索方法及び装置が特開平8−194718号公
報(以下、公知例1と呼ぶ)に開示されている。
【0016】図22は従来の公知例1の処理内容を示す
図である。本方法では、文書の登録時にn−gramに
対応するインデクスを作成する共に、文書中の2文字の
接続情報をトライ401に登録する。そして、文書を登
録していき、インデクスのサイズが基準インデクスサイ
ズを超えた場合には、対応するn−gramに文字列を
追加したn−gram(以下、拡張n−gramと呼
ぶ)のインデクスを作成する。
【0017】以下、図22を用いてインデクスの作成方
法を具体的に説明する。n−gramに文字列を追加し
た拡張n−gramを作成する為には、まずトライ40
1を参照してそのn−gramに続く可能性のあるn−
gramを取得する。
【0018】そして、検出されたn−gram(以下、
接続n−gramと呼ぶ)のインデクスと基準インデク
スサイズよりサイズが大きくなったn−gram(以
下、基準インデクス超過n−gramと呼ぶ)のインデ
クスの間で出現位置情報の隣接判定を行うことにより、
拡張n−gramのインデクスを作成する。
【0019】本図の例では、“生”という1−gram
に対応するインデクスが基準インデクスサイズより大き
くなっており、“生”が基準インデクス超過n−gra
mとなる。ここで、まず“生”という文字でトライ40
1を探索し、“生”に続く接続n−gramを取得す
る。本図に示す例では、トライ401を探索することに
より、“生”の後ろに“物”と“息”が続くことが分か
る。そこで、“生”と“物”、“生”と“息”のインデ
クスの間で出現位置情報の隣接判定を行うことにより、
“生物”、“生息”といった“生”に文字列を追加した
拡張n−gramのインデクス400を作成する。
【0020】以上の様に、公知例1に開示されている文
書検索方法及び装置を用いることにより、サイズが大き
く検索に時間が掛かるインデクスに対しては、そのn−
gramに文字列を追加した拡張n−gramに対する
インデクスを作成する為、サイズの小さなインデクスの
読込みと出現位置情報の隣接判定で済む様になり、高速
な検索を実現することができる様になる。また、それ以
外のインデクスに対しては、n−gramの長さを増や
したインデクスを作成しない為、総インデクスサイズ及
びn−gramを管理する木構造(トライ)サイズの巨
大化を防ぐことができる。
【0021】
【発明が解決しようとする課題】以上説明した公知例1
に開示されている文書検索方法及び装置によると、基準
インデクスサイズよりサイズが大きく検索に時間が掛か
るインデクスに対しては、そのキーであるn−gram
に文字列を追加したサイズの小さなインデクスを作成す
ることになる為、サイズの小さなインデクスの読込みと
出現位置情報の隣接判定で済む様になり、高速な検索を
実現することが可能となる。また、基準インデクスサイ
ズよりサイズの小さなインデクスに対しては、それ以上
n−gramを長くしたインデクスを作成しない為、総
インデクスサイズ及びn−gramを管理する木構造
(トライ)サイズの巨大化を防ぐことが可能となる。
【0022】しかし、公知例1に開示されている文書検
索方法及び装置では、インデクスのサイズのみに基づい
てn−gramに文字列を追加した拡張n−gramの
インデクスを作成している。その結果、実際には検索に
あまり用いられることのないn−gram(例えば、助
詞として用いられる平仮名等)に対してもインデクスサ
イズが大きくなった場合には、拡張n−gramのイン
デクスが作成されることになる。
【0023】これらのn−gramは検索にあまり用い
られることがない為、インデクスサイズというコストを
支払っても、検索性能の高速化というメリットが得られ
ないn−gramであり、無駄なインデクスになるとい
う問題がある。
【0024】本発明の目的は上記問題を解決し、検索性
能の高速化を図ると共に総インデクスサイズの増加を最
小限に抑えることが可能な技術を提供することにある。
【0025】
【課題を解決するための手段】本発明は、特定の検索タ
ームを含むテキストデータを検索する文書検索システム
において、テキストデータから作成した部分文字列に対
応するインデクスのサイズが基準インデクスサイズより
大きく、該インデクスに対応する部分文字列が検索され
る可能性が高い場合に、該部分文字列に文字列を追加し
た拡張部分文字列と該拡張部分文字列に対応するインデ
クスを作成するものである。
【0026】本発明の文書検索システムでは、まずイン
デクス作成登録ステップで、文書情報を文字コードデー
タとして蓄積したテキストデータベースを対象として、
登録対象テキストデータから所定の部分文字列と、該部
分文字列の該対象テキストデータにおけるテキスト識別
情報及び出現位置情報を含む位置情報とを抽出し、該位
置情報をインデクスとして記憶し、前記部分文字列と前
記インデクスの記憶位置を管理する為の部分文字列テー
ブルを更新する。
【0027】特定の検索タームを含むテキストデータを
検索する場合には、インデクス検索ステップにより、前
記部分文字列テーブルを参照して検索タームから所定の
部分文字列を抽出し、該当インデクスを読み出し、該検
索タームにおける部分文字列と同じ位置関係を持つテキ
ストデータの位置情報を抽出する。
【0028】一方、インデクスサイズ比較ステップで
は、テキストデータから作成した部分文字列に対応する
インデクスのサイズと予め定められた基準インデクスサ
イズとを比較し、該インデクスのサイズが該基準インデ
クスサイズより大きい場合には、検索可能性判定ステッ
プにより、該インデクスに対応する部分文字列が前記イ
ンデクス検索ステップで検索される可能性が高いかどう
かを判定する。
【0029】該部分文字列が前記インデクス検索ステッ
プで検索される可能性が高い場合には、文字列インクリ
メントステップにより、該部分文字列に文字列を追加し
た拡張部分文字列と該拡張部分文字列に対応するインデ
クスを作成し、前記部分文字列テーブルを更新する。
【0030】前記検索可能性判定ステップは、特定のイ
ンデクスに対応する部分文字列が前記インデクス検索ス
テップで検索される可能性が高いかどうかを、例えばイ
ンデクスに対応する参照頻度に応じて判定する。
【0031】すなわち、前記インデクス検索ステップで
インデクスの読み出しを行った際に、インデクスの読み
出し回数を管理する参照頻度テーブルを参照頻度テーブ
ル更新ステップにより更新し、前記検索可能性判定ステ
ップである参照頻度比較ステップは、前記参照頻度テー
ブル内の該インデクスに対応する参照頻度と予め定めら
れた基準参照頻度とを比較し、前記参照頻度テーブル内
の該インデクスに対応する参照頻度が基準参照頻度より
大きい場合には、該部分文字列に文字列を追加した拡張
部分文字列と該拡張部分文字列に対応するインデクスを
文字列インクリメントステップにより作成する。
【0032】また前記検索可能性判定ステップは、特定
のインデクスに対応する部分文字列が前記インデクス検
索ステップで検索される可能性が高いかどうかを、ユー
ザが入力した重要語に応じて判定しても良い。
【0033】すなわち、ユーザが入力した重要語を重要
語登録ステップにより重要語テーブルに格納しておき、
前記検索可能性判定ステップである重要文字列検索ステ
ップは、該インデクスに対応する部分文字列が前記重要
語テーブルに格納されている重要語に含まれるかどうか
を調べる。該インデクスに対応する部分文字列が前記重
要語テーブルの重要語に含まれている場合には、該部分
文字列に文字列を追加した拡張部分文字列と該拡張部分
文字列に対応するインデクスを文字列インクリメントス
テップにより作成する。
【0034】また前記検索可能性判定ステップは、特定
のインデクスに対応する部分文字列が前記インデクス検
索ステップで検索される可能性が高いかどうかを、相互
に関連のある語を予め関連付けた関連語に応じて判定し
ても良い。
【0035】すなわち、相互に関連のある語を予め関連
付けて格納した関連語ファイルを作成しておき、前記検
索可能性判定ステップである展開語検索ステップは、該
インデクスに対応する部分文字列が前記関連語テーブル
に格納されている関連語に含まれるかどうかを調べる。
該インデクスに対応する部分文字列が前記関連語テーブ
ルの関連語に含まれている場合には、該部分文字列に文
字列を追加した拡張部分文字列と該拡張部分文字列に対
応するインデクスを文字列インクリメントステップによ
り作成する。
【0036】なお前記関連語ファイルは、前記インデク
ス検索ステップで検索ターム及び関連語における部分文
字列と同じ位置関係を持つテキストデータの位置情報を
抽出する際に、検索ターム展開ステップにより用いられ
るファイルである。
【0037】前記の様に本発明によれば、基準インデク
スサイズよりインデクスサイズが大きい部分文字列に対
して、そのインデクスへの参照頻度と予め定められた基
準参照頻度とを比較し、基準参照頻度より多い場合には
その部分文字列に文字列を増やしたサイズの小さなイン
デクスを作成することにより、インデクスが大きく検索
に時間が掛かり、かつ検索に用いられる可能性が高い部
分文字列に対しては、検索を高速化することが可能とな
る。
【0038】また、インデクスは大きいが、実際には検
索にあまり用いられることのない部分文字列(例えば、
助詞として用いられる平仮名等)に対しては、文字列を
増やしたインデクスを作成しない為、総インデクスサイ
ズを抑えることが可能となる。その結果、総インデクス
サイズの最小限の増加で、検索性能の向上を図ることが
可能な文書検索システムを実現することができる。
【0039】以上の様に本発明の文書検索システムによ
れば、インデクスサイズが大きく検索に時間が掛かり、
かつ検索に用いられる可能性が高い部分文字列に対して
のみ、文字数を増やしたサイズの小さなインデクスを作
成するので、検索性能の高速化を図ると共に総インデク
スサイズの増加を最小限に抑えることが可能である。
【0040】
【発明の実施の形態】(実施形態1)以下にサイズが大
きく参照頻度の高いインデクスについて、当該インデク
スに対応するn−gramに文字列を追加した拡張n−
gramと拡張n−gramに対応するインデクスを作
成する実施形態1の文書検索システムについて説明す
る。
【0041】図1は本実施形態の文書検索システムの概
略構成を示す図である。本実施形態の文書検索システム
は、ディスプレイ100、キーボード101、中央演算
処理装置(CPU)102、テキスト107及びインデ
クス108を格納する二次記憶装置としての磁気ディス
ク装置106、フロッピディスクドライブ(FDD)1
04、主記憶装置109から構成される。また、バス1
03にはCPU102、磁気ディスク装置106、FD
D104及び主記憶装置109が接続されている。
【0042】フロッピディスク105に格納されている
情報は、FDD104によりアクセスされる。主記憶装
置109には、システム制御プログラム110、文書登
録制御プログラム111、インクリメント制御プログラ
ム112、検索制御プログラム113、インデクス作成
登録プログラム114、インクリメントプログラム11
5、検索プログラム119が格納されると共にトライ格
納テーブル122、参照頻度テーブル123及びワーク
エリア124が確保される。
【0043】インクリメントプログラム115は、イン
デクスサイズ比較プログラム116、参照頻度比較プロ
グラム117及びn−gramインクリメントプログラ
ム118で構成される。検索プログラム119はインデ
クス検索プログラム120及び参照頻度テーブル更新プ
ログラム121で構成される。
【0044】以上のプログラムは磁気ディスク装置10
6、フロッピディスク105やCD−ROM等のコンピ
ュータで読み書きできる記録媒体に格納することもでき
る。
【0045】なおインデクス検索プログラム120は、
検索タームの部分文字列に対応するインデクスにより、
前記検索タームにおける部分文字列と同じ位置関係を持
つテキストデータの位置情報を抽出するインデクス検索
ステップの処理を行う。
【0046】インデクスサイズ比較プログラム116
は、テキストデータから作成した部分文字列に対応する
インデクスのサイズと予め定められた基準インデクスサ
イズとを比較するインデクスサイズ比較ステップの処理
を行う。
【0047】参照頻度比較プログラム117は、該イン
デクスのサイズが該基準インデクスサイズより大きい場
合に、参照頻度テーブル123内の該インデクスに対応
する参照頻度と予め定められた基準参照頻度とを比較し
て、該インデクスに対応する部分文字列がインデクス検
索プログラム120で検索される可能性が高いかどうか
を判定する参照頻度比較ステップの処理を行う。
【0048】n−gramインクリメントプログラム1
18は、該部分文字列がインデクス検索プログラム12
0で検索される可能性が高い場合に、該部分文字列に文
字列を追加した拡張部分文字列と該拡張部分文字列に対
応するインデクスを作成する文字列インクリメントステ
ップの処理を行う。
【0049】参照頻度テーブル更新プログラム121
は、インデクスの読み出し回数を管理する参照頻度テー
ブル123を更新する参照頻度テーブル更新ステップの
処理を行う。
【0050】システム制御プログラム110はキーボー
ド101からの指示を受け起動する。文書登録制御プロ
グラム111はキーボード101からの文書登録指示に
より、システム制御プログラム110によって起動さ
れ、インデクス作成登録プログラム114の制御を行
う。
【0051】インクリメント制御プログラム112はキ
ーボード101からのインクリメント指示により、シス
テム制御プログラム110によって起動され、インクリ
メントプログラム115の制御を行う。検索制御プログ
ラム113はキーボード101からの検索指示により、
システム制御プログラム110によって起動され、検索
プログラム119の制御を行う。
【0052】以下、本実施形態における処理内容の概要
を説明する。登録の際には、キーボード101からの文
書登録指示により、システム制御プログラム110が文
書登録制御プログラム111を起動する。そして、文書
登録制御プログラム111はインデクス作成登録プログ
ラム114を起動し、フロッピディスク105からテキ
ストデータを読み込んでテキスト107として磁気ディ
スク装置106に格納すると共に、テキスト107にお
ける所定のn−gramの出現位置情報をインデクス1
08として磁気ディスク装置106に格納する。
【0053】このインデクス作成登録プログラム114
の処理内容は公知例1に開示されている方法と同様であ
る。またテキストデータはフロッピディスク105を用
いて入力するだけに限らず、通信回線やCD−ROM装
置(図示せず)等を用いて他の装置から入力する様な構
成をとることも可能である。
【0054】検索の際には、キーボード101からの検
索指示により、システム制御プログラム110が検索制
御プログラム113を起動し、検索制御プログラム11
3が検索プログラム119を起動する。
【0055】図2は本実施形態の検索プログラム119
の処理内容を示す図である。検索プログラム119は、
図2のPAD(Problem Analysis D
iagram)図に示す様に、ステップ600でインデ
クス検索プログラム120を起動し、キーボード101
から入力された検索タームのテキスト107における出
現位置情報をインデクス108から取得する。このイン
デクス検索プログラム120の処理内容は方法1及び公
知例1に開示されている方法と同様である。
【0056】そして、ステップ601で参照頻度テーブ
ル更新プログラム121を起動し、インデクス検索プロ
グラム120で用いたインデクスに対応する参照頻度テ
ーブル123内の該当参照頻度を更新する。
【0057】インクリメントの際には、キーボード10
1からのインクリメント指示により、システム制御プロ
グラム110がインクリメント制御プログラム112を
起動し、インクリメント制御プログラム112がインク
リメントプログラム115を起動する。
【0058】図3は本実施形態のインクリメントプログ
ラム115の処理内容を示す図である。図3に示す様に
インクリメントプログラム115は、ステップ700で
全てのインデクスに対してステップ701からステップ
705までの一連の処理を繰り返す。
【0059】この繰り返し処理中でインクリメントプロ
グラム115は、まずステップ701でインデクスサイ
ズ比較プログラム116を起動し、処理対象インデクス
のサイズと予め定められた基準インデクスサイズを比較
する。
【0060】そして、ステップ702で処理対象インデ
クスが基準インデクスサイズより大きいと判断された場
合には、ステップ703で参照頻度比較プログラム11
7を起動し、参照頻度テーブル123に格納されている
処理対象インデクスの参照頻度と予め定められた基準参
照頻度を比較する。
【0061】そして、ステップ704で処理対象インデ
クスの参照頻度が基準参照頻度より多いと判断された場
合には、ステップ705でn−gramインクリメント
プログラム118を起動し、処理対象インデクスのキー
であるn−gramに文字列を追加したサイズの小さな
インデクスを作成する。このn−gramインクリメン
トプログラム118の処理内容は公知例1に開示されて
いる方法と同様である。
【0062】図4は本実施形態の文書検索システムの処
理例を示す図である。以下、本実施形態の処理概要につ
いて図4を用いて説明する。インデクス作成登録プログ
ラム114の処理は、公知例1に開示されている方法と
同様なので省略する。
【0063】まず、検索プログラム119の処理概要に
ついて説明する。インデクス検索プログラム120で
は、ユーザが入力した検索タームから、トライの様なn
−gramテーブルを参照して所定のn−gramを抽
出し、n−gramに対応するインデクスの記憶位置を
取得する。そして、取得したn−gramに対応するイ
ンデクスの記憶位置からインデクスを読み出し、検索タ
ームにおけるn−gramと同じ位置関係を持つ位置情
報を抽出する。この位置情報取得ステップは方法1及び
公知例1に開示されている方法と同様の処理になる。
【0064】参照頻度テーブル更新プログラム121で
は、位置情報取得ステップで読み出したインデクスの参
照頻度(読み出した回数)を更新する。図4の例では、
検索タームとして、“微生物”と“生物”が用いられた
ので、“微”に対応する参照頻度を‘1’“生”に対応
する参照頻度を‘2’“物”に対応する参照頻度を
‘2’に更新する。ここで、“に”に対応するインデク
スは検索に用いられていないので参照頻度は‘0’のま
まである。
【0065】次に、インクリメントプログラム115の
処理概要を説明する。インデクスサイズ比較プログラム
116では、インデクス作成登録プログラム114によ
ってテキストデータから作成したn−gramに対応す
るインデクスのサイズと予め定められた基準インデクス
サイズとを比較する。
【0066】インデクスサイズ比較プログラム116
で、n−gramに対応するインデクスのサイズが予め
定められた基準インデクスサイズより大きいと判断され
た場合には、参照頻度比較プログラム117でインデク
スに対応する参照頻度を参照頻度テーブル123から取
得し、予め定められた基準参照頻度と比較する。
【0067】参照頻度比較プログラム117で、n−g
ramに対応するインデクスの参照頻度が予め定められ
た基準参照頻度よりも多いと判断された場合には、n−
gramインクリメントプログラム118で該当インデ
クスに対応するn−gramに文字列を追加した拡張n
−gramと拡張n−gramに対応するインデクスを
作成する。
【0068】インデクスサイズ比較プログラム116及
びn−gramインクリメントプログラム118は公知
例1に開示されている方法と同様の処理になる。図4に
示す例の場合、“に”と“生”のインデクスが大きくな
っており、インデクスサイズ比較プログラム116で基
準インデクスサイズよりも大きいと判断される。その
為、“に”と“生”に対して参照頻度比較プログラム1
17が実行される。
【0069】参照頻度比較プログラム117では、
“に”と“生”の参照頻度を参照頻度テーブル123か
ら取得し、予め定められた基準参照頻度と比較する。図
4に示す例の場合、基準参照頻度は‘1’である。この
結果、“生”に対応する参照頻度のみが基準参照頻度よ
り多いと判断され、n−gramインクリメントプログ
ラム118が実行されることにより、“生”に文字列を
追加した拡張n−gramに対応するインデクスが作成
される。ここで“に”に対応する参照頻度は基準参照頻
度より少ないので、インデクスが大きいにもかかわら
ず、拡張n−gramのインデクスは作成されない。
【0070】以上の様に、本実施形態では、基準インデ
クスサイズよりインデクスが大きいn−gramに対し
て、そのインデクスへの参照頻度と予め定められた基準
参照頻度とを比較し、基準参照頻度より多い場合にはそ
のn−gramに文字列を増やしたサイズの小さなイン
デクスを作成する。そして、基準参照頻度より参照頻度
が少ない場合には、たとえインデクスが大きいとして
も、そのn−gramに文字列を増やしたサイズの小さ
なインデクスを作成しない。
【0071】こうすることにより、インデクスが大きく
検索に時間が掛かり、かつ検索に用いられる可能性が高
いn−gramに対しては、検索を高速化することがで
きる。そして、インデクスは大きいが、実際には検索に
あまり用いられることのないn−gram(例えば、助
詞として用いられる平仮名等)に対しては、文字列を増
やしたインデクスを作成しない為、総インデクスサイズ
を抑えることが可能となる。その結果、総インデクスサ
イズの最小限の増加で、検索性能の向上を図ることが可
能となる。
【0072】以下、本実施形態における処理内容のう
ち、公知例1に開示されている方法と異なる検索プログ
ラム119及びインクリメントプログラム115の処理
内容を具体例を用いて詳細に説明する。
【0073】検索プログラム119の処理内容は図2に
示す通りである。まずステップ600で、インデクス検
索プログラム120を起動し、キーボード101から入
力された検索タームのテキスト107における出現位置
情報をインデクス108から取得する。本処理内容は図
20(図20の例ではn=1)に示す様に方法1及び公
知例1に開示されている方法と同様である。
【0074】例えば“微生物”が検索タームとして指定
された場合には、この検索タームからまず、1−gra
m“微”、“生”及び“物”を抽出する。そして“微”
に対応するインデクス201、“生”に対応するインデ
クス202及び“物”に対応するインデクス203の間
で出現位置情報の隣接判定を行うことによって“微生
物”の出現位置情報を取得する。
【0075】本図の例では、“微”、“生”及び“物”
が文書番号‘001’の‘9’文字目から、文書番号
‘056’の‘5’文字目から隣り合っているので、そ
れらが示す位置に“微生物”が存在することが分かる。
【0076】次にステップ601で、参照頻度テーブル
更新プログラム121を起動し、インデクス検索プログ
ラム120で用いたインデクスに対応する参照頻度テー
ブル123内の該当参照頻度を更新する。
【0077】図5は本実施形態の更新前の参照頻度テー
ブル123の初期状態を示す図である。本図に示す様
に、参照頻度テーブル123は、個々のインデクスに対
応した参照頻度が格納されるエントリで構成される。
【0078】図6は本実施形態の検索タームとして“微
生物”が指定された場合の参照頻度テーブル123の更
新結果を示す図である。インデクス検索プログラム12
0では、1−gram“微”、“生”及び“物”のイン
デクスを用いて、“微生物”の出現位置情報を取得す
る。その為、参照頻度テーブル更新プログラム121で
は、“微”、“生”及び“物”のインデクスに対応する
参照頻度テーブル123の該当参照頻度を‘1’に増や
す。このとき、“に”のインデクスに対応する個所は
‘0’のままである。
【0079】次に、検索タームとして“生物”が指定さ
れたとする。このとき、インデクス検索プログラム12
0では、1−gram“生”及び“物”のインデクスを
用いて、“生物”の出現位置情報を取得する。その為、
参照頻度テーブル更新プログラム121では、“生”及
び“物”のインデクスに対応する参照頻度テーブル12
3の該当参照頻度を‘1’増やす。
【0080】図7は本実施形態の検索ターム“生物”に
おける参照頻度テーブル更新プログラム121の処理内
容を示す図である。“生”及び“物”のインデクスに対
応する参照頻度は‘2’となり、“に”の参照頻度は
‘0’、“微”の参照頻度は‘1’のままである。以上
が、検索プログラム119の詳細な処理内容である。
【0081】インクリメントプログラム115の処理内
容は図3に示す通りである。まずステップ700で、テ
キスト107から作成された全てのインデクスに対して
ステップ701からステップ705までの一連の処理を
繰り返す。
【0082】この繰り返し処理では、まずステップ70
1で、インデクスサイズ比較プログラム116を起動
し、処理対象インデクスのサイズと予め定められた基準
インデクスサイズを比較する。図4に示した例では、
“に”及び“生”のインデクスが基準インデクスサイズ
より大きくなっている。
【0083】次に、ステップ702でインデクスが基準
インデクスサイズより大きいと判断された場合には、ス
テップ703で参照頻度比較プログラム117を起動
し、参照頻度テーブル123に格納されている処理対象
インデクスの参照頻度と予め定められた基準参照頻度を
比較する。
【0084】そして、ステップ704で参照頻度が基準
参照頻度より多いと判断された場合には、ステップ70
5でn−gramインクリメントプログラム118を起
動し、処理対象インデクスのキーであるn−gramに
文字列を追加したサイズの小さなインデクスを作成す
る。
【0085】図4の例では、“に”及び“生”のインデ
クスが基準インデクスサイズより大きいと判断される
為、これらのインデクスに対応する参照頻度と予め定め
られた基準参照頻度を比較する。
【0086】図4の例では、基準参照頻度を1としてい
る。そこで、参照頻度が‘2’である“生”のインデク
スはn−gramインクリメントプログラム118の処
理対象となるが、参照頻度が‘0’である“に”のイン
デクスはn−gramインクリメントプログラム118
の処理対象とはならない。
【0087】最後に、“生”に文字列を追加したサイズ
の小さなインデクスを作成して、インクリメントプログ
ラム115の処理を終了する。n−gramインクリメ
ントプログラム118の処理内容は図22に示す公知例
1に開示されている方法と同様である。
【0088】以上説明した様に、本実施形態では、基準
インデクスサイズよりインデクスが大きいn−gram
に対して、そのインデクスへの参照頻度と予め定められ
た基準参照頻度とを比較し、基準参照頻度より多い場合
にはそのn−gramに文字列を増やしたサイズの小さ
なインデクスを作成する。
【0089】そして、基準参照頻度より参照頻度が少な
い場合には、たとえインデクスが大きいとしても、その
n−gramに文字列を増やしたサイズの小さなインデ
クスを作成しない。こうすることにより、インデクスが
大きく検索に時間が掛かり、かつ検索に用いられる可能
性が高いn−gramに対しては、検索を高速化するこ
とが可能となる。
【0090】また、インデクスは大きいが、実際には検
索にあまり用いられることのないn−gram(例え
ば、助詞として用いられる平仮名等)に対しては、文字
列を増やしたインデクスを作成しない為、総インデクス
サイズを抑えることが可能となる。
【0091】以上により、新聞記事や特許明細書の様に
日々件数が増大していく大規模な文書データベースにお
いて、出現頻度が高い、すなわちインデクスが大きい検
索タームが指定された場合でも、総インデクスサイズの
最小限の増加で高速な検索が実現できることになる。
【0092】以上説明した様に本実施形態の文書検索シ
ステムによれば、インデクスサイズが大きく検索に時間
が掛かり、かつ検索に用いられる可能性が高い部分文字
列に対してのみ、文字数を増やしたサイズの小さなイン
デクスを作成するので、検索性能の高速化を図ると共に
総インデクスサイズの増加を最小限に抑えることが可能
である。
【0093】(実施形態2)以下にインデクスサイズが
大きく重要語に含まれるインデクスについて、当該イン
デクスに対応するn−gramに文字列を追加した拡張
n−gramと拡張n−gramに対応するインデクス
を作成する実施形態2の文書検索システムについて説明
する。
【0094】本実施形態は、基準インデクスサイズより
インデクスが大きいn−gramに文字列を追加したサ
イズの小さなインデクスを作成する際に、ユーザが指定
した重要語にそのn−gramが含まれているかどうか
を検索し、含まれている場合にのみ文字列を追加したサ
イズの小さなインデクスの作成を行う方法である。
【0095】検索に良く用いると思われる重要語をユー
ザに指定してもらうことにより、インデクスが大きく検
索に時間が掛かり、かつ検索に用いられる可能性が高い
n−gramに対しての検索の高速化を、総インデクス
サイズの最低限の増加で実現できることになる。
【0096】本実施形態は基本的に実施形態1(図1)
と同様の構成をとるが、その中の主記憶装置109内の
構成が異なる。
【0097】図8は本実施形態の主記憶装置109aの
概略構成を示す図である。主記憶装置109aには、シ
ステム制御プログラム110a、文書登録制御プログラ
ム111、インクリメント制御プログラム112、検索
制御プログラム113、重要語登録制御プログラム11
00、インデクス作成登録プログラム114、インクリ
メントプログラム115a、検索プログラム119a、
重要語登録プログラム1102が格納されると共にトラ
イ格納テーブル122、重要語テーブル1103及びワ
ークエリア124が確保される。
【0098】インクリメントプログラム115aはイン
デクスサイズ比較プログラム116、重要文字列検索プ
ログラム1101及びn−gramインクリメントプロ
グラム118で構成される。検索プログラム119aは
インデクス検索プログラム120で構成される。以上の
プログラムは磁気ディスク装置106、フロッピディス
ク105やCD−ROM等のコンピュータで読み書きで
きる記録媒体に格納することもできる。
【0099】なお重要文字列検索プログラム1101
は、該インデクスに対応する部分文字列が重要語テーブ
ル1103に格納されている重要語に含まれるかどうか
を調べ、該インデクスに対応する部分文字列がインデク
ス検索プログラム120で検索される可能性が高いかど
うかを判定する重要文字列検索ステップの処理を行う。
また重要語登録プログラム1102は、ユーザが入力し
た重要語を重要語テーブル1103に格納する重要語登
録ステップの処理を行う。
【0100】システム制御プログラム110aはキーボ
ード101からの指示を受け起動する。文書登録制御プ
ログラム111はキーボード101からの文書登録指示
により、システム制御プログラム110aによって起動
され、インデクス作成登録プログラム114の制御を行
う。
【0101】インクリメント制御プログラム112はキ
ーボード101からのインクリメント指示により、シス
テム制御プログラム110aによって起動され、インク
リメントプログラム115aの制御を行う。検索制御プ
ログラム113はキーボード101からの検索指示によ
り、システム制御プログラム110aによって起動さ
れ、検索プログラム119aの制御を行う。重要語登録
制御プログラム1100はキーボード101からの検索
指示により、システム制御プログラム110aによって
起動され、重要語登録プログラム1102の制御を行
う。
【0102】以下、実施形態1と異なる検索プログラム
119a、重要語登録プログラム1102及びインクリ
メントプログラム115aの処理概要を説明する。
【0103】検索の際には、キーボード101からの検
索指示により、システム制御プログラム110aが検索
制御プログラム113を起動し、検索制御プログラム1
13が検索プログラム119aを起動する。
【0104】検索プログラム119aは、インデクス検
索プログラム120を起動し、キーボード101から入
力された検索タームのテキスト107における出現位置
情報をインデクス108から取得する。このインデクス
検索プログラム120の処理内容は方法1及び公知例1
に開示されている方法と同様である。
【0105】重要語を登録する際には、キーボード10
1からの重要語登録指示により、システム制御プログラ
ム110aが重要語登録制御プログラム1100を起動
し、重要語登録制御プログラム1100が重要語登録プ
ログラム1102を起動する。重要語登録プログラム1
102は、キーボード101から入力された重要語を重
要語テーブル1103に格納する。
【0106】インクリメントの際には、キーボード10
1からのインクリメント指示により、システム制御プロ
グラム110aがインクリメント制御プログラム112
を起動し、インクリメント制御プログラム112がイン
クリメントプログラム115aを起動する。
【0107】図9は本実施形態のインクリメントプログ
ラム115aの処理内容を示す図である。インクリメン
トプログラム115aは、図9に示す様に、ステップ1
200で、テキスト107から作成された全てのインデ
クスに対してステップ1201からステップ1205ま
での一連の処理を繰り返す。
【0108】この繰り返し処理では、まずステップ12
01で、インデクスサイズ比較プログラム116を起動
し、処理対象インデクスのサイズと予め定められた基準
インデクスサイズを比較する。
【0109】そして、ステップ1202で処理対象イン
デクスが基準インデクスサイズより大きいと判断された
場合には、ステップ1203で重要文字列検索プログラ
ム1101を起動し、処理対象n−gramで、重要語
テーブル1103に格納されている重要語を検索する。
【0110】そして、ステップ1204で処理対象n−
gramが重要語テーブル1103に格納されている重
要語の一部を構成していると判断された場合には、ステ
ップ1205でn−gramインクリメントプログラム
118を起動し、処理対象インデクスのキーであるn−
gramに文字列を追加したサイズの小さなインデクス
を作成する。このn−gramインクリメントプログラ
ム118の処理内容は公知例1に開示されている方法と
同様である。以上が本実施形態における処理内容の概要
である。
【0111】以下、本実施形態における処理内容のう
ち、方法1、公知例1に開示されている方法及び実施形
態1と異なる重要語登録プログラム1102及びインク
リメントプログラム115aの処理内容を具体例を用い
て詳細に説明する。
【0112】重要語登録プログラム1102では、キー
ボード101から入力された重要語を重要語テーブル1
103に格納する。
【0113】図10は本実施形態の重要語テーブル11
03の一例を示す図である。本図に示す例では、ユーザ
は“微生物”に関する文書でデータベースを構築してお
り、頻繁に検索に用いる単語である“ウイルス”、“バ
クテリア”、“かび”、“酵母”、“細菌”、“単細胞
生物”、“微生物”、…をキーボード101から入力し
た。重要語登録プログラム1102はこれら入力された
文字列を重要語として重要語テーブル1103に格納す
る。
【0114】インクリメントプログラム115aの処理
内容は図9に示す通りである。まずステップ1200
で、テキスト107から作成された全てのインデクスに
対してステップ1201からステップ1205までの一
連の処理を繰り返す。
【0115】この繰り返し処理では、まずステップ12
01で、インデクスサイズ比較プログラム116を起動
し、処理対象インデクスのサイズと予め定められた基準
インデクスサイズを比較する。このインデクスサイズ比
較プログラム116の処理内容は実施形態1と同様であ
る。
【0116】図11は本実施形態のインクリメントプロ
グラム115aの処理内容の例を示す図である。本図に
示す例では、“に”及び“生”のインデクスが基準イン
デクスサイズより大きくなっている。
【0117】次に、ステップ1202で処理対象インデ
クスが基準インデクスサイズより大きいと判断された場
合には、ステップ1203で重要文字列検索プログラム
1101を起動し、処理対象n−gramで、重要語テ
ーブル1103に格納されている重要語を検索する。
【0118】そして、ステップ1204で処理対象n−
gramが重要語テーブル1103に格納されている重
要語の一部を構成していると判断された場合には、ステ
ップ1205でn−gramインクリメントプログラム
118を起動し、処理対象インデクスのキーであるn−
gramに文字列を追加したサイズの小さなインデクス
を作成する。
【0119】図11の例では、“に”及び“生”のイン
デクスが基準インデクスサイズより大きいと判断される
為、“に”及び“生”で、重要語テーブル1103に格
納されている重要語を検索する。
【0120】図11の例では、“生”は重要語“単細胞
生物”及び“微生物”に含まれるが、“に”を含む重要
語は存在しない。そこで、“生”のインデクスはn−g
ramインクリメントプログラム118の処理対象とな
るが、“に”のインデクスはn−gramインクリメン
トプログラム118の処理対象とはならない。
【0121】最後に、“生”に文字列を追加したサイズ
の小さなインデクスを作成して、インクリメントプログ
ラム115aの処理を終了する。n−gramインクリ
メントプログラム118の処理内容は図22に示す公知
例1に開示されている方法と同様である。
【0122】以上説明した様に、本実施形態では、基準
インデクスサイズよりインデクスが大きいn−gram
に対して、そのn−gramがユーザが指定した重要語
に含まれているかどうかを検索し、含まれている場合に
はそのn−gramに文字列を増やしたサイズの小さな
インデクスを作成する。
【0123】そして、n−gramがユーザが指定した
重要語に含まれていない場合には、たとえインデクスが
大きいとしても、そのn−gramに文字列を増やした
サイズの小さなインデクスを作成しない。
【0124】検索に良く用いると思われる重要語をユー
ザに指定してもらうことにより、インデクスが大きく検
索に時間が掛かり、かつ検索に用いられる可能性が高い
重要語に含まれるn−gramに対しては、検索を高速
化することが可能となる。
【0125】また、インデクスは大きいが、ユーザが検
索にあまり用いないn−gramに対しては、文字列を
増やしたインデクスを作成しない為、総インデクスサイ
ズを抑えることが可能となる。
【0126】以上により、新聞記事や特許明細書の様に
日々件数が増大していく大規模な文書データベースにお
いて、出現頻度が高い、すなわちインデクスが大きい検
索タームが指定された場合でも、総インデクスサイズの
最小限の増加で高速な検索が実現できることになる。
【0127】(実施形態3)以下にインデクスサイズが
大きく関連語に含まれるインデクスについて、当該イン
デクスに対応するn−gramに文字列を追加した拡張
n−gramと拡張n−gramに対応するインデクス
を作成する実施形態3の文書検索システムについて説明
する。
【0128】ユーザがある検索タームを指定し、その検
索タームと同じ意味を持つ語(以下、同義語)の検索も
同時に行うことを指定した場合には、ユーザが指定した
検索タームが一つであったとしても、実際に検索を行う
検索タームの数は多くなり、検索に時間が掛かることに
なる。
【0129】そこで、本実施形態では、基準インデクス
サイズよりインデクスが大きいn−gramに文字列を
追加したサイズの小さなインデクスを作成する際に、同
義語展開用の辞書やルールを参照して、複数に展開され
る語に含まれるn−gramであるかどうかを検索し、
含まれる場合にのみ文字列を追加したサイズの小さなイ
ンデクスを作成する方法である。
【0130】こうすることにより、インデクスが大きく
検索に時間が掛かり、かつ同義語の検索の様に複数語に
対して検索を行わなければならない場合でも、総インデ
クスサイズの最低限の増加で高速な検索を実現できるこ
とになる。
【0131】本実施形態は基本的に実施形態1(図1)
と同様の構成をとるが、その中の主記憶装置109内の
構成が異なる。
【0132】図12は本実施形態の主記憶装置109b
の概略構成を示す図である。主記憶装置109bには、
システム制御プログラム110、文書登録制御プログラ
ム111、インクリメント制御プログラム112、検索
制御プログラム113、インデクス作成登録プログラム
114、インクリメントプログラム115b、検索プロ
グラム119bが格納されると共にトライ格納テーブル
122、同義語展開用辞書1502及びワークエリア1
24が確保される。
【0133】インクリメントプログラム115bはイン
デクスサイズ比較プログラム116、展開語検索プログ
ラム1500及びn−gramインクリメントプログラ
ム118で構成される。検索プログラム119bは検索
ターム展開プログラム1501及びインデクス検索プロ
グラム120で構成される。
【0134】以上のプログラムは磁気ディスク装置10
6、フロッピディスク105やCD−ROM等のコンピ
ュータで読み書きできる記録媒体に格納することもでき
る。
【0135】展開語検索プログラム1500は、該イン
デクスに対応する部分文字列が同義語展開用辞書150
2に格納されている同義語に含まれるかどうかを調べ、
該インデクスに対応する部分文字列がインデクス検索プ
ログラム120で検索される可能性が高いかどうかを判
定する展開語検索ステップの処理を行う。
【0136】また検索ターム展開プログラム1501
は、相互に関連のある語を予め関連付けて格納した関連
語ファイルに相当する同義語展開用辞書1502を上記
検索タームで探索し、該検索タームに関連のある1つ以
上の同義語を取得する検索ターム展開ステップの処理を
行い、インデクス検索プログラム120は、前記検索タ
ーム及び同義語における部分文字列と同じ位置関係を持
つテキストデータの位置情報を抽出する処理を行う。
【0137】システム制御プログラム110はキーボー
ド101からの指示を受け起動する。文書登録制御プロ
グラム111はキーボード101からの文書登録指示に
より、システム制御プログラム110によって起動さ
れ、インデクス作成登録プログラム114の制御を行
う。
【0138】インクリメント制御プログラム112はキ
ーボード101からのインクリメント指示により、シス
テム制御プログラム110によって起動され、インクリ
メントプログラム115bの制御を行う。検索制御プロ
グラム113はキーボード101からの検索指示によ
り、システム制御プログラム110によって起動され、
検索プログラム119bの制御を行う。
【0139】以下、実施形態1と異なる検索プログラム
119b及びインクリメントプログラム115bの処理
概要を説明する。
【0140】検索の際には、キーボード101からの検
索指示により、システム制御プログラム110が検索制
御プログラム113を起動し、検索制御プログラム11
3が検索プログラム119bを起動する。
【0141】図13は本実施形態の検索プログラム11
9bの処理内容を示す図である。図13に示す様に検索
プログラム119bは、ステップ1600で検索ターム
展開プログラム1501を起動し、キーボード101か
ら入力された検索タームで同義語展開用辞書1502を
探索し、検索タームを複数の同義語に展開する。
【0142】次にステップ1601で、インデクス検索
プログラム120を起動し、検索ターム展開プログラム
1501によって展開された同義語全てのテキスト10
7における出現位置情報をインデクス108から取得す
る。このインデクス検索プログラム120の処理内容は
方法1及び公知例1に開示されている方法と同様であ
る。
【0143】インクリメントの際には、キーボード10
1からのインクリメント指示により、システム制御プロ
グラム110がインクリメント制御プログラム112を
起動し、インクリメント制御プログラム112がインク
リメントプログラム115bを起動する。
【0144】図14は本実施形態のインクリメントプロ
グラム115bの処理内容を示す図である。図14に示
す様にインクリメントプログラム115bは、ステップ
1700でテキスト107から作成された全てのインデ
クスに対してステップ1701からステップ1705ま
での一連の処理を繰り返す。
【0145】この繰り返し処理では、まずステップ17
01で、インデクスサイズ比較プログラム116を起動
し、処理対象インデクスのサイズと予め定められた基準
インデクスサイズを比較する。
【0146】そして、ステップ1702で処理対象イン
デクスが基準インデクスサイズより大きいと判断された
場合には、ステップ1703で展開語検索プログラム1
500を起動し、処理対象n−gramで、同義語展開
用辞書1502に格納されている同義語を検索する。
【0147】そして、ステップ1704で処理対象n−
gramが複数に展開される語に含まれると判断された
場合には、ステップ1705でn−gramインクリメ
ントプログラム118を起動し、処理対象インデクスの
キーであるn−gramに文字列を追加したサイズの小
さなインデクスを作成する。このn−gramインクリ
メントプログラム118の処理内容は公知例1に開示さ
れている方法と同様である。以上が本実施形態における
処理内容の概要である。
【0148】以下、本実施形態における処理内容のう
ち、実施形態1と異なる検索プログラム119b及びイ
ンクリメントプログラム115bの処理内容を具体例を
用いて詳細に説明する。
【0149】検索プログラム119bの処理内容は図1
3に示す通りである。まずステップ1600で、検索タ
ーム展開プログラム1501を起動し、キーボード10
1から入力された検索タームで同義語展開用辞書150
2を探索し、検索タームを複数の同義語に展開する。
【0150】図15は本実施形態の同義語展開用辞書1
502による検索タームの同義語展開の例を示す図であ
る。例えば、検索タームとして“計算機”が指定された
とする。検索ターム展開プログラム1501は、この検
索ターム“計算機”で同義語展開用辞書1502を探索
し、“計算機”と同じ意味を持つ語である同義語を取得
する。
【0151】図15に示す同義語展開用辞書1502の
例では、同義語の集合をカンマ(、)をデリミタとして
一行に記載している。この同義語展開用辞書1502を
用いて“計算機”を同義語の集合に展開すると、展開後
検索ターム1800として“計算機”、“電子計算
機”、“電算機”、“COMPUTER”及び“コンピ
ュータ”が得られる。
【0152】次にステップ1601で、インデクス検索
プログラム120を起動し、検索ターム展開プログラム
1501によって展開された同義語全てのテキスト10
7における出現位置情報をインデクス108から取得す
る。このインデクス検索プログラム120の処理内容は
方法1及び公知例1に開示されている方法と同様であ
る。
【0153】インクリメントプログラム115bの処理
内容は図14に示す通りである。まずステップ1700
で、テキスト107から作成された全てのインデクスに
対してステップ1701からステップ1705までの一
連の処理を繰り返す。
【0154】この繰り返し処理では、まずステップ17
01で、インデクスサイズ比較プログラム116を起動
し、処理対象インデクスのサイズと予め定められた基準
インデクスサイズを比較する。このインデクスサイズ比
較プログラム116の処理内容は実施形態1と同様であ
る。
【0155】図16は本実施形態のインクリメントプロ
グラム115bの処理内容を示す図である。本図に示す
例では、“に”及び“生”のインデクスが基準インデク
スサイズより大きくなっている。
【0156】次に、ステップ1702で処理対象インデ
クスが基準インデクスサイズより大きいと判断された場
合には、ステップ1703で展開語検索プログラム15
00を起動し、処理対象n−gramで、同義語展開用
辞書1502に格納されている同義語を検索する。
【0157】そして、ステップ1704で処理対象n−
gramが複数に展開される語に含まれると判断された
場合には、ステップ1705でn−gramインクリメ
ントプログラム118を起動し、処理対象インデクスの
キーであるn−gramに文字列を追加したサイズの小
さなインデクスを作成する。
【0158】図16の例では、“に”及び“生”のイン
デクスが基準インデクスサイズより大きいと判断される
為、“に”及び“生”で、同義語展開用辞書1502に
格納されている重要語を検索する。
【0159】図16の例では、“生”は“海洋生物”及
び“海生生物”に含まれるが、“に”を含む語は存在し
ない。そこで、“生”のインデクスはn−gramイン
クリメントプログラム118の処理対象となるが、
“に”のインデクスはn−gramインクリメントプロ
グラム118の処理対象とはならない。
【0160】最後に、“生”に文字列を追加したサイズ
の小さなインデクスを作成して、インクリメントプログ
ラム115bの処理を終了する。n−gramインクリ
メントプログラム118の処理内容は図22に示す公知
例1に開示されている方法と同様である。
【0161】以上説明した様に、本実施形態では、基準
インデクスサイズよりインデクスが大きいn−gram
に対して、同義語展開用の辞書やルールを参照して、複
数に展開される語に含まれるn−gramであるかどう
かを検索し、含まれている場合にはそのn−gramに
文字列を増やしたサイズの小さなインデクスを作成す
る。そして、n−gramが複数に展開される語に含ま
れていない場合には、たとえインデクスが大きいとして
も、そのn−gramに文字列を増やしたサイズの小さ
なインデクスを作成しない。
【0162】こうすることにより、インデクスが大きく
検索に時間が掛かり、かつ同義語の検索の様に複数語に
対して検索を行わなければならない場合でも、検索を高
速化することが可能となる。また、インデクスは大きい
が、複数に展開される語に含まれていないn−gram
に対しては、文字列を増やしたインデクスを作成しない
為、総インデクスサイズを抑えることが可能となる。
【0163】以上により、新聞記事や特許明細書の様に
日々件数が増大していく大規模な文書データベースにお
いて、出現頻度が高い、すなわちインデクスが大きい検
索タームが指定され、その検索タームの同義語の検索も
同時に行うことが指定された場合でも、総インデクスサ
イズの最小限の増加で高速な検索が実現できることにな
る。
【0164】(実施形態4)以下にインデクスサイズが
大きく処理時間の大きいインデクスについて、当該イン
デクスに対応するn−gramに文字列を追加した拡張
n−gramと拡張n−gramに対応するインデクス
を作成する実施形態4の文書検索システムについて説明
する。
【0165】本実施形態は、インデクスの読込み及び隣
接判定により検索タームの出現位置情報を取得する際
に、その処理時間を計測しておき、その処理時間が予め
定められた目標検索時間を超過した場合には、取得した
出現位置情報をインデクス化し、磁気ディスク装置へ格
納する方法である。
【0166】検索に時間が掛かる検索タームについては
一度検索を行えば、二度目からは一度目に作成したイン
デクスの読込みだけで検索タームの出現位置情報が取得
できる為、インデクスが大きく検索に時間が掛かり、か
つ検索に用いられる可能性が高いn−gramに対して
の検索の高速化を、総インデクスサイズの最低限の増加
で実現できることになる。しかも、一度目の検索時に取
得した出現位置情報をそのままインデクスとして利用で
きる為、高速なインデクス作成を行うことができる。
【0167】本実施形態は基本的に実施形態1(図1)
と同様の構成をとるが、その中の主記憶装置109内の
構成が異なる。
【0168】図17は本実施形態の主記憶装置109c
の概略構成を示す図である。主記憶装置109cには、
システム制御プログラム110c、文書登録制御プログ
ラム111、検索制御プログラム113c、インデクス
作成登録プログラム114、検索及びインクリメントプ
ログラム2000が格納されると共にトライ格納テーブ
ル122及びワークエリア124が確保される。検索及
びインクリメントプログラム2000はインデクス検索
プログラム120及びインデクス作成プログラム200
1で構成される。
【0169】以上のプログラムは磁気ディスク装置10
6、フロッピディスク105やCD−ROM等のコンピ
ュータで読み書きできる記録媒体に格納することもでき
る。
【0170】なおインデクス作成プログラム2001
は、インデクス検索プログラム120における処理時間
を測定し、該処理時間が予め定められた基準処理時間よ
り長い場合に、インデクス検索プログラム120におい
て得られた位置情報をインデクスとして登録するインデ
クス作成ステップの処理を行う。
【0171】システム制御プログラム110cはキーボ
ード101からの指示を受け起動する。文書登録制御プ
ログラム111はキーボード101からの文書登録指示
により、システム制御プログラム110cによって起動
され、インデクス作成登録プログラム114の制御を行
う。検索制御プログラム113cはキーボード101か
らの検索指示により、システム制御プログラム110c
によって起動され、検索及びインクリメントプログラム
2000の制御を行う。
【0172】以下、実施形態1と異なる検索及びインク
リメントプログラム2000の処理概要を説明する。検
索の際には、キーボード101からの検索指示により、
システム制御プログラム110cが検索制御プログラム
113cを起動し、検索制御プログラム113cが検索
及びインクリメントプログラム2000を起動する。
【0173】図18は本実施形態のインクリメントプロ
グラム2000の処理内容を示す図である。図18に示
す様に検索及びインクリメントプログラム2000は、
まずステップ2100でインデクス検索プログラム12
0を起動し、キーボード101から入力された検索ター
ムのテキスト107における出現位置情報をインデクス
108から取得すると共に、インデクス検索プログラム
120の処理時間を計測する。インデクス検索プログラ
ム120の処理内容は方法1及び公知例1に開示されて
いる方法と同様である。
【0174】そして、計測した処理時間が予め定められ
た目標検索時間を超過したとステップ2101で判断さ
れた場合には、ステップ2102でインデクス作成プロ
グラム2001を起動し、取得した出現位置情報をイン
デクス108として磁気ディスク装置106に格納す
る。
【0175】そして、ステップ2103で、検索ターム
をキーとしてトライ格納テーブル122に登録し、イン
デクスへのポインタ情報を格納する。このトライ格納テ
ーブル122へのキーの追加方法は公知例1に開示され
ている方法と同様である。以上が本実施形態における処
理内容の概要である。
【0176】以下、本実施形態における処理内容のう
ち、実施形態1と異なる検索及びインクリメントプログ
ラム2000の処理内容を具体例を用いて詳細に説明す
る。
【0177】検索及びインクリメントプログラム200
0の処理内容は図18に示すとおりである。まずステッ
プ2100で、インデクス検索プログラム120を起動
し、キーボード101から入力された検索タームのテキ
スト107における出現位置情報をインデクス108か
ら取得すると共に、インデクス検索プログラム120の
処理時間を計測する。インデクス検索プログラム120
の処理内容は方法1及び公知例1に開示されている方法
と同様である。
【0178】図19は本実施形態のインクリメントプロ
グラム2000の処理例を示す図である。本図に示す例
では、検索タームとして“生物”が指定されている。そ
の為、インデクス検索プログラム120は“生”のイン
デクス202と“物”のインデクス203を磁気ディス
ク装置106からワークエリア124に読み込み、これ
らのインデクス間で隣接判定を行うことにより、“生
物”の出現位置情報2200を取得する。
【0179】検索及びインクリメントプログラム200
0は、このインデクス検索プログラム120の処理時間
を計測しておく。そして、計測した処理時間が予め定め
られた目標検索時間を超えているとステップ2101で
判断された場合には、ステップ2102でインデクス作
成プログラム2001を起動し、取得した出現位置情報
2200をインデクス108として磁気ディスク装置1
06に格納する。
【0180】図19に示す例では、インデクス検索プロ
グラム120の処理時間は予め定められた目標検索時間
を超えている為、“生物”の出現位置情報2200を
“生物”のインデクス2201として磁気ディスク装置
106に格納する。
【0181】最後に、ステップ2103で、検索ターム
をキーとしてトライ格納テーブル122に登録し、イン
デクスへのポインタ情報を格納する。このトライ格納テ
ーブル122へのキーの追加方法は公知例1に開示され
ている方法と同様である。
【0182】以上説明した様に、本実施形態では、イン
デクスの読込み及び隣接判定により検索タームの出現位
置情報を取得する際に、その処理時間を計測しておき、
その処理時間が予め定められた目標検索時間を超過した
場合には、取得した出現位置情報をインデクス化し、磁
気ディスク装置106へ格納する。
【0183】検索に時間が掛かる検索タームについては
一度検索を行えば、二度目からは一度目に作成したイン
デクスの読込みだけで検索タームの出現位置情報が取得
できる為、インデクスが大きく検索に時間が掛かり、か
つ検索に用いられる可能性が高いn−gramに対して
は、検索を高速化することが可能となる。
【0184】また、インデクスは大きいが、検索に用い
られないn−gramに対しては、文字列を増やしたイ
ンデクスを作成しない為、総インデクスサイズを抑える
ことが可能となる。しかも、一度目の検索時に取得した
出現位置情報をそのままインデクスとして利用できる
為、高速なインデクス作成が可能となる。
【0185】以上により、新聞記事や特許明細書の様に
日々件数が増大していく大規模な文書データベースにお
いて、出現頻度が高い、すなわちインデクスが大きい検
索タームが指定された場合でも、総インデクスサイズの
最小限の増加で高速な検索が実現できることになる。
【0186】
【発明の効果】本発明によればインデクスサイズが大き
く検索に時間が掛かり、かつ検索に用いられる可能性が
高い部分文字列に対してのみ、文字数を増やしたサイズ
の小さなインデクスを作成するので、検索性能の高速化
を図ると共に総インデクスサイズの増加を最小限に抑え
ることが可能である。
【図面の簡単な説明】
【図1】実施形態1の文書検索システムの概略構成を示
す図である。
【図2】実施形態1の検索プログラム119の処理内容
を示す図である。
【図3】実施形態1のインクリメントプログラム115
の処理内容を示す図である。
【図4】実施形態1の文書検索システムの処理例を示す
図である。
【図5】実施形態1の更新前の参照頻度テーブル123
の初期状態を示す図である。
【図6】実施形態1の検索タームとして“微生物”が指
定された場合の参照頻度テーブル123の更新結果を示
す図である。
【図7】実施形態1の検索ターム“生物”における参照
頻度テーブル更新プログラム121の処理内容を示す図
である。
【図8】実施形態2の主記憶装置109aの概略構成を
示す図である。
【図9】実施形態2のインクリメントプログラム115
aの処理内容を示す図である。
【図10】実施形態2の重要語テーブル1103の一例
を示す図である。
【図11】実施形態2のインクリメントプログラム11
5aの処理内容の例を示す図である。
【図12】実施形態3の主記憶装置109bの概略構成
を示す図である。
【図13】実施形態3の検索プログラム119bの処理
内容を示す図である。
【図14】実施形態3のインクリメントプログラム11
5bの処理内容を示す図である。
【図15】実施形態3の同義語展開用辞書1502によ
る検索タームの同義語展開の例を示す図である。
【図16】実施形態3のインクリメントプログラム11
5bの処理内容を示す図である。
【図17】実施形態4の主記憶装置109cの概略構成
を示す図である。
【図18】実施形態4のインクリメントプログラム20
00の処理内容を示す図である。
【図19】実施形態4のインクリメントプログラム20
00の処理例を示す図である。
【図20】従来の1−gramインデクス方式の一例を
示す図である。
【図21】従来のキー集合{baby、badge、b
adger、jar}に対応するトライの構成を示す図
である。
【図22】従来の公知例1の処理内容を示す図である。
【符号の説明】
100…ディスプレイ、101…キーボード、102…
CPU、103…バス、104…FDD、105…フロ
ッピディスク、106…磁気ディスク装置、107…テ
キスト、108…インデクス、109…主記憶装置、1
10…システム制御プログラム、111…文書登録制御
プログラム、112…インクリメント制御プログラム、
113…検索制御プログラム、114…インデクス作成
登録プログラム、115…インクリメントプログラム、
116…インデクスサイズ比較プログラム、117…参
照頻度比較プログラム、118…n−gramインクリ
メントプログラム、119…検索プログラム、120…
インデクス検索プログラム、121…参照頻度テーブル
更新プログラム、122…トライ格納テーブル、123
…参照頻度テーブル、124…ワークエリア、1100
…重要語登録制御プログラム、1101…重要文字列検
索プログラム、1102…重要語登録プログラム、11
03…重要語テーブル、1500…展開語検索プログラ
ム、1501…検索ターム展開プログラム、1502…
同義語展開用辞書、1800…展開後検索ターム、20
00…インクリメントプログラム、2001…インデク
ス作成プログラム、2200…出現位置情報、2201
…インデクス、200〜203…インデクス、400…
インデクス、401…トライ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡本 卓哉 神奈川県横浜市都筑区加賀原二丁目2番 株式会社日立製作所システム開発本部内 (72)発明者 松林 忠孝 神奈川県横浜市都筑区加賀原二丁目2番 株式会社日立製作所システム開発本部内 (72)発明者 川下 靖司 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 Fターム(参考) 5B075 ND03 NK02 NK13 NK50 NR06 NR16 PP12 PP22 PR10 QM01 QS01 UU06

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 特定の検索タームを含むテキストデータ
    を検索する文書検索方法において、 検索タームの部分文字列に対応するインデクスにより、
    該検索タームの部分文字列と同じ位置関係を持つテキス
    トデータの位置情報を抽出するインデクス検索ステップ
    と、 テキストデータの部分文字列に対応するインデクスのサ
    イズと予め定められた基準インデクスサイズとを比較す
    るインデクスサイズ比較ステップと、 該インデクスのサイズが該基準インデクスサイズより大
    きい場合に、該インデクスに対応する部分文字列が前記
    インデクス検索ステップで検索される可能性が高いかど
    うかを判定する検索可能性判定ステップと、 該部分文字列が前記インデクス検索ステップで検索され
    る可能性が高い場合に、該部分文字列に文字列を追加し
    た拡張部分文字列と該拡張部分文字列に対応するインデ
    クスを作成する文字列インクリメントステップとを有す
    ることを特徴とする文書検索方法。
  2. 【請求項2】 インデクスの読み出し回数を管理する参
    照頻度テーブルを更新する参照頻度テーブル更新ステッ
    プを有し、 前記検索可能性判定ステップは、前記参照頻度テーブル
    内の該インデクスに対応する参照頻度と予め定められた
    基準参照頻度とを比較して、該インデクスに対応する部
    分文字列が前記インデクス検索ステップで検索される可
    能性が高いかどうかを判定する参照頻度比較ステップで
    あることを特徴とする請求項1に記載された文書検索方
    法。
  3. 【請求項3】 ユーザが入力した重要語を重要語テーブ
    ルに格納する重要語登録ステップを有し、 前記検索可能性判定ステップは、該インデクスに対応す
    る部分文字列が前記重要語テーブルに格納されている重
    要語に含まれるかどうかを調べ、該インデクスに対応す
    る部分文字列が前記インデクス検索ステップで検索され
    る可能性が高いかどうかを判定する重要文字列検索ステ
    ップであることを特徴とする請求項1に記載された文書
    検索方法。
  4. 【請求項4】 相互に関連のある語を予め関連付けて格
    納した関連語ファイルを上記検索タームで探索し、該検
    索タームに関連のある1つ以上の関連語を取得する検索
    ターム展開ステップを有し、 前記インデクス検索ステップは、前記検索タームまたは
    関連語における部分文字列と同じ位置関係を持つテキス
    トデータの位置情報を抽出し、 前記検索可能性判定ステップは、該インデクスに対応す
    る部分文字列が前記関連語テーブルに格納されている関
    連語に含まれるかどうかを調べ、該インデクスに対応す
    る部分文字列が前記インデクス検索ステップで検索され
    る可能性が高いかどうかを判定する展開語検索ステップ
    であることを特徴とする請求項1に記載された文書検索
    方法。
  5. 【請求項5】 特定の検索タームを含むテキストデータ
    を検索する文書検索方法において、 検索タームの部分文字列に対応するインデクスにより、
    前記検索タームの部分文字列と同じ位置関係を持つテキ
    ストデータの位置情報を抽出するインデクス検索ステッ
    プと、 前記インデクス検索ステップにおける処理時間を測定
    し、該処理時間が予め定められた基準処理時間より長い
    場合に、前記インデクス検索ステップにおいて得られた
    位置情報をインデクスとして登録するインデクス作成ス
    テップとを有することを特徴とする文書検索方法。
  6. 【請求項6】 特定の検索タームを含むテキストデータ
    を検索する文書検索装置において、 検索タームの部分文字列に対応するインデクスにより、
    前記検索タームの部分文字列と同じ位置関係を持つテキ
    ストデータの位置情報を抽出するインデクス検索処理部
    と、 テキストデータの部分文字列に対応するインデクスのサ
    イズと予め定められた基準インデクスサイズとを比較す
    るインデクスサイズ比較処理部と、 該インデクスのサイズが該基準インデクスサイズより大
    きい場合に、該インデクスに対応する部分文字列が前記
    インデクス検索処理部で検索される可能性が高いかどう
    かを判定する検索可能性判定処理部と、 該部分文字列が前記インデクス検索処理部で検索される
    可能性が高い場合に、該部分文字列に文字列を追加した
    拡張部分文字列と該拡張部分文字列に対応するインデク
    スを作成する文字列インクリメント処理部とを備えるこ
    とを特徴とする文書検索装置。
  7. 【請求項7】 特定の検索タームを含むテキストデータ
    を検索する文書検索装置としてコンピュータを機能させ
    る為のプログラムを記録した媒体において、 検索タームの部分文字列に対応するインデクスにより、
    前記検索タームにおける部分文字列と同じ位置関係を持
    つテキストデータの位置情報を抽出するインデクス検索
    処理部と、 テキストデータから作成した部分文字列に対応するイン
    デクスのサイズと予め定められた基準インデクスサイズ
    とを比較するインデクスサイズ比較処理部と、 該インデクスのサイズが該基準インデクスサイズより大
    きい場合に、該インデクスに対応する部分文字列が前記
    インデクス検索処理部で検索される可能性が高いかどう
    かを判定する検索可能性判定処理部と、 該部分文字列が前記インデクス検索処理部で検索される
    可能性が高い場合に、該部分文字列に文字列を追加した
    拡張部分文字列と該拡張部分文字列に対応するインデク
    スを作成する文字列インクリメント処理部としてコンピ
    ュータ機能させる為のプログラムを記録したことを特徴
    とする媒体。
JP22182998A 1998-08-05 1998-08-05 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 Expired - Fee Related JP3620968B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22182998A JP3620968B2 (ja) 1998-08-05 1998-08-05 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22182998A JP3620968B2 (ja) 1998-08-05 1998-08-05 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体

Publications (2)

Publication Number Publication Date
JP2000057151A true JP2000057151A (ja) 2000-02-25
JP3620968B2 JP3620968B2 (ja) 2005-02-16

Family

ID=16772851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22182998A Expired - Fee Related JP3620968B2 (ja) 1998-08-05 1998-08-05 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体

Country Status (1)

Country Link
JP (1) JP3620968B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002027541A1 (en) * 2000-08-23 2002-04-04 Intel Corporation A method and apparatus for concept-based searching across a network
CN100454305C (zh) * 2005-03-11 2009-01-21 株式会社东芝 文档管理方法和装置以及文档搜索方法和装置
JP2009093556A (ja) * 2007-10-11 2009-04-30 Hitachi Ltd インデクス構築方法、文書検索装置及びインデクス構築プログラム
JP2009134627A (ja) * 2007-11-30 2009-06-18 Mitsubishi Electric Corp N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム
JP2009271819A (ja) * 2008-05-09 2009-11-19 Nec Corp 文書検索システム、文書検索方法および文書検索プログラム
CN101937451A (zh) * 2009-06-30 2011-01-05 歌乐株式会社 名称检索装置
JP2012014646A (ja) * 2010-07-05 2012-01-19 Nec Corp 文書検索装置、文書検索方法、及びプログラム
US9214954B2 (en) 2014-03-25 2015-12-15 International Business Machines Corporation Increasing speed of data compression
US10394870B2 (en) 2014-06-30 2019-08-27 Hitachi, Ltd. Search method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194718A (ja) * 1995-01-12 1996-07-30 Hitachi Ltd 文書検索方法および装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194718A (ja) * 1995-01-12 1996-07-30 Hitachi Ltd 文書検索方法および装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002027541A1 (en) * 2000-08-23 2002-04-04 Intel Corporation A method and apparatus for concept-based searching across a network
CN100454305C (zh) * 2005-03-11 2009-01-21 株式会社东芝 文档管理方法和装置以及文档搜索方法和装置
US7979438B2 (en) 2005-03-11 2011-07-12 Kabushiki Kaisha Toshiba Document management method and apparatus and document search method and apparatus
JP2009093556A (ja) * 2007-10-11 2009-04-30 Hitachi Ltd インデクス構築方法、文書検索装置及びインデクス構築プログラム
JP4491480B2 (ja) * 2007-10-11 2010-06-30 株式会社日立製作所 インデクス構築方法、文書検索装置及びインデクス構築プログラム
JP2009134627A (ja) * 2007-11-30 2009-06-18 Mitsubishi Electric Corp N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム
JP2009271819A (ja) * 2008-05-09 2009-11-19 Nec Corp 文書検索システム、文書検索方法および文書検索プログラム
CN101937451A (zh) * 2009-06-30 2011-01-05 歌乐株式会社 名称检索装置
JP2011013705A (ja) * 2009-06-30 2011-01-20 Clarion Co Ltd 名称検索装置
JP2012014646A (ja) * 2010-07-05 2012-01-19 Nec Corp 文書検索装置、文書検索方法、及びプログラム
US9214954B2 (en) 2014-03-25 2015-12-15 International Business Machines Corporation Increasing speed of data compression
US10394870B2 (en) 2014-06-30 2019-08-27 Hitachi, Ltd. Search method

Also Published As

Publication number Publication date
JP3620968B2 (ja) 2005-02-16

Similar Documents

Publication Publication Date Title
US7289986B2 (en) Method and system for indexing and searching contents of extensible markup language (XML) documents
US6321192B1 (en) Adaptive learning method and system that matches keywords using a parsed keyword data structure having a hash index based on an unicode value
US6496820B1 (en) Method and search method for structured documents
US6263333B1 (en) Method for searching non-tokenized text and tokenized text for matches against a keyword data structure
JP3696745B2 (ja) 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
US8135717B2 (en) Processor for fast contextual matching
US6470347B1 (en) Method, system, program, and data structure for a dense array storing character strings
CA2617527C (en) Processor for fast contextual matching
Stonebraker et al. Document processing in a relational database system
JP4881322B2 (ja) 多重索引に基づく情報検索システム
US20060106849A1 (en) Idle CPU indexing systems and methods
US20020165707A1 (en) Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers
JPH02271468A (ja) データ処理方法
JP2000057151A (ja) 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体
Ilic et al. Inverted index search in data mining
Sinha et al. Improving suffix array locality for fast pattern matching on disk
Dao et al. An indexing scheme for structured documents and its implementation
US7039646B2 (en) Method and system for compressing varying-length columns during index high key generation
JP2002132789A (ja) 文書検索方法
Ilić et al. Comparison of data mining algorithms, inverted index search and suffix tree clustering search
Mustafa et al. SISDOM: A multilingual document retrieval system
Salerma Design of a full text search index for a database management system
JPH1185585A (ja) 完全メモリ常駐型インデックス方法および装置
JP3456127B2 (ja) インデクスキーの高速拡張機能を備えた文書検索方法および装置
Fang et al. Chinese Word Segmentation for Agriculture.

Legal Events

Date Code Title Description
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: 20041109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071126

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101126

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees