JP3489237B2 - 文書検索方法 - Google Patents

文書検索方法

Info

Publication number
JP3489237B2
JP3489237B2 JP00240695A JP240695A JP3489237B2 JP 3489237 B2 JP3489237 B2 JP 3489237B2 JP 00240695 A JP00240695 A JP 00240695A JP 240695 A JP240695 A JP 240695A JP 3489237 B2 JP3489237 B2 JP 3489237B2
Authority
JP
Japan
Prior art keywords
character
concatenated
search
document
characters
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 - Lifetime
Application number
JP00240695A
Other languages
English (en)
Other versions
JPH08190572A (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.)
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 JP00240695A priority Critical patent/JP3489237B2/ja
Publication of JPH08190572A publication Critical patent/JPH08190572A/ja
Application granted granted Critical
Publication of JP3489237B2 publication Critical patent/JP3489237B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、大規模な文書データベ
ースの全文を対象として指定した文字列の存在する文書
を高速に検索する文書検索方法(フルテキストサーチの
方法)に係るものである。特に、データベース、文書管
理システム、文書ファイリングシステムおよびDTP
(Desk Top Publishing)システム
などに適用されるものである。
【0002】
【従来の技術】従来、インデクス情報を必要としない文
書検索方法には、以下のものがある。登録時に文書を文
字コード化したテキストデータとして計算機に直接登録
しテキストデータベースとして蓄積し、検索時にテキス
トデータベース内の全てのテキストの内容を読んで、指
定された検索文字列(以下、検索タームと呼ぶ)を含む
文書を探し出すフルテキストサーチがそれである(L.
A.Hollar, “Text Retrieval
Computers",COMPUTER,Marc
h,1979)。このフルテキストサーチは、テキスト
データベースを構成する全文書のテキストをファイルと
してまとめたテキストファイル全体を先頭から1文字ず
つ走査して、指定された検索タームが存在するか否かを
調べることにより、指定された検索タームを含む文書を
探し出すことを特徴としている。
【0003】このようにすることにより、シソーラス等
の辞書を用いるインデキシングが不要となるため文書中
に現われるどんな言葉でも検索タームに指定して検索す
ることが可能となる。
【0004】しかし、このフルテキストサーチはテキス
トファイル全体を先頭から全て走査するためにサーチ処
理に時間が掛かり、大規模なデータベースに適用できな
いという問題があった。
【0005】この処理時間の問題を解決するために、特
願平2−193015号(特開平3−174652号公
報参照)を提案した。これは、専用のハードウェアを使
用することによってテキストデータの読出しと検索ター
ムのサーチ処理の高速化を図るとともに、テキストをサ
ーチする前にテキストを予め情報圧縮しておいた補助フ
ァイルをサーチし、テキスト本体をサーチする文書件数
を絞り込む(階層プリサーチ)ことによって等価的に高
速なフルテキストサーチを実現する情報検索装置であ
る。
【0006】以下、この従来例の特徴である階層プリサ
ーチについて説明する。
【0007】階層プリサーチとは、テキストをサーチす
る前に予め情報圧縮しておいた二つの補助ファイル、す
なわち「文字成分表」と「凝縮テキスト」を階層的にサ
ーチして検索タームに関連のない文書を検索対象からふ
るい落とし、テキストをサーチする文書件数を減らすこ
とによって、等価的に検索速度を加速する。すなわち、
まず文字成分表のサーチで文字単位の絞込みを行い、次
にこの文字成分表サーチで絞り込まれた文書に対し凝縮
テキストのサーチで単語単位の絞込みを行う方式であ
る。
【0008】この文字成分表サーチでは、登録テキスト
の1文字単位の情報しか文字成分表に記録しないため、
検索タームに用いられる文字をすべて含む文書を検索候
補とする。例えば、“イラン"が検索タームに指定され
た場合、“イ"、“ラ"および“ン"の3文字がテキスト
中のどこかに存在する文書、例えば“ライオン"や“オ
ンライン"などの文字列を含む文書も文字成分表サーチ
でヒットしてしまう。
【0009】すなわち、実際には検索ターム“イラン"
を含まないにもかかわらず、含んでいるとみなされる文
書(以下、ノイズという)がサーチ結果として多数出力
される場合がある。このような場合は凝縮テキストサー
チの対象となる文書件数を絞り込むことができないた
め、凝縮テキストサーチに時間が掛かり、十分な検索レ
スポンスが得られないことになる。
【0010】この問題を解決する方法として特願平3−
174064号(特開平5−174064号公報参照)
で、文字成分を複数の文字の組み合わせとすることによ
って、単一文字より高い絞込み率を得る連接文字成分表
方法を提案した。
【0011】すなわち、この連接文字成分表方法では登
録時にテキストデータ内に所定の文字数(2文字以上)の
文字列が存在するか、否かという情報を連接文字成分表
に記録しておく。そして、検索する際には凝縮テキスト
をサーチする前に検索タームを上記所定の文字数の文字
列に分割し、そのすべての文字列が含まれる文書をこの
連接文字成分表を参照して抽出する。こうすることによ
り、入力された検索タームに関連しない文書を部分文字
列レベルで高精度にふるい落すことができ、凝縮テキス
トをサーチする文書を十分絞り込むことが可能となる。
【0012】例えば、図2に示すようにテキストデータ
(文書1、文書2、・・・、文書N)を検索する際、単一文
字成分表の場合は“イラン"という検索タームでは矢印
で示した“イ"、“ラ"および“ン"に対応するビット列
が検索対象となるが、“ライオン"や“オンライン"など
を含む文書、すなわち文書1も文書2も“イ"、“ラ”
および“ン”が含まれるため、“イラン"という文字列
がないにもかかわらず文字成分表で検索されてしまい、
ノイズとなってしまう。
【0013】これに対し、連接文字成分表の場合は、
“イラ"と“ラン"の両方が含まれる文書としては文書N
だけに特定され、単一文字成分表の場合のようなノイズ
が混入しない。
【0014】このように連接文字成分表を用いることに
より、文書1と文書2のように検索タームを構成する文
字がバラバラに含まれているような文書を検索対象から
削除できるため、単一文字成分表よりも余分な凝縮テキ
ストサーチを省くことが可能となる。その結果、十分に
絞り込まれた文書に対する凝縮テキストのサーチで済む
ことになるため、等価的に高速なフルテキストサーチが
実現できることになり、大規模なテキストデータベース
でも実用的な検索レスポンスでフルテキストサーチを実
行することが可能となる。
【0015】この連接文字成分では、例えば2文字の連
接文字成分表の場合、全文字種の二乗の文字の組み合わ
せすべてについて、その文字成分を記録する必要があ
る。本公知例では、テキスト内の連接文字成分の出現頻
度を考慮して複数の連接文字成分の有無を一つのエント
リに重畳させて記録する(ハッシングと呼ぶ)ことによ
り、文字成分表の容量を削減し、かつ絞込み率の低下も
抑えるように工夫をしている。
【0016】
【発明が解決しようとする課題】以上説明した連接文字
成分表方法における文字成分表サーチには以下に示す二
つの問題がある。
【0017】まず第一の問題は、この文字成分表サーチ
を英文などのように文字の種類が少なく文字の並びで意
味を表わす表音文字に適用した場合には、文字の組合せ
による検索ノイズが多く発生することである。例えば、
“ain"のような三文字の互いに隣り合う文字列(以後、
逐次連接文字と呼ぶ)は、“mountain",“paint",“Spai
n"などの単語に全て含まれてしまう。その結果、文字成
分表の絞込み率が上がらないため凝縮テキストサーチの
対象となる文書件数が削減できず、十分な検索レスポン
スが得られないことになる。これは、英語などの表音文
字では複数の子音と母音の組み合わせによって意味が表
わされるため、同じ連接文字を含む単語が多く存在し、
互いに隣り合う文字列(以後、逐次連接文字と呼ぶ)では
単語に特有の並びになり得ないためである。
【0018】第二の問題は、ハッシングを行なうため文
字成分表の検索結果にノイズが含まれることである。す
なわち、文字成分表の1個のエントリに複数の連接文字
成分を割り付けるため、ある連接文字を指定して該当す
るエントリを読み出した場合、そのビット情報から全く
別の連接文字成分を含む文書が得られる可能性がある。
そのため、大量の文書を登録する大規模な文書検索シス
テムで、検索語に関係しない文書のふるい落とし、すな
わち絞込みが適確に行なわれず検索低能のの低下につな
がる恐れがある。この問題に対してハッシングを行わず
に、すべての連接文字について、それぞれ1個のエント
リを対応させることも考えられる。しかし、これは文字
成分表の容量が膨大なものとなるため実用的ではない。
【0019】具体的に説明すると、日本語で使用する文
字コードは約8,000種類あるため2文字の組合せとして
連接文字の種類は6,400万種類(8,000種類×8,000種類)
となる。登録する文書数を100万件とした場合、この6,4
00万種類のそれぞれの連接文字に100万bitの文書識別情
報を対応させなけらばならないため、文字成分表として
は8TByte(6,400万種類×100万bit)もの容量が必要とな
る。この文字成分表の大きさに対し文書本体の容量は、
1件分の容量を20kBとしても、100万件で20GByte(20kB/
件×100万件)であるため、圧倒的に文字成分表の容量の
ほうが大きくなってしまう。
【0020】以上説明した問題に対し、本発明の解決し
ようとする第一の課題は表音文字である英字などにより
構成される単語が検索タームに指定された時でも、検索
ノイズの少ない文字成分表サーチを実現することであ
る。
【0021】さらに、本発明の解決しようとする第二の
課題はハッシングによる検索ノイズが生じない文字成分
表を大規模な文書データベースにおいても実用的な容量
で実現することである。
【0022】
【課題を解決するための手段】本発明において第一の課
題は、以下の構成を採用することにより解決できる。
【0023】予め蓄積された各文書から予め定められた
形式で部分文字列を抽出し、各文書において部分文字列
が存在するか否かを示す連接文字成分表を作成し、各文
書から所望の文書を検索するために入力された検索ター
ムから予め定められた形式で検索用部分文字列を抽出
し、抽出された検索用部分文字列に対応する前記連接文
字成分表を参照して検索タームを構成する各検索用部分
文字列と一致する部分文字列が存在する文書を求めて、
検索タームに関連のない文書を検索対象からふるい落と
す文書検索方法において、文書から予め定められたm文
字(mは1以上の整数)おきに、予め定められたn文字
(nは2以上の整数)の文字列を部分文字列として抽出
し、検索タームから予め定められたm文字(mは1以上
の整数)おきに、予め定められたn文字(nは2以上の
整数)の文字列を検索用部分文字列として抽出すること
を特徴とする文書検索方法である。
【0024】さらに第二の課題については、以下の構成
とすることにより解決できる。
【0025】前述の連接文字成分表は、所定のしきい値
より出現頻度が高い連接文字の出現する文書番号に対応
するビット位置に1を記すことにより文字列の出現情報
を登録するビットリストと、所定のしきい値より出現頻
度が低い連接文字成分用に、前記所定の出現頻度より出
現頻度が低い連接文字の出現する文書番号をバイナリデ
ータのリストとして格納した文書番号リストを有し、予
め文書中に現われる連接文字成分の種類および各連接文
字成分の出現する文書数を算出し、算出された結果か
ら、テキストデータ中に現われる各連接文字の出現文書
数が所定のしきい値より大きいか否かを判定し、判定さ
れた結果、文書中に現われる各連接文字の出現文書数が
所定のしきい値より大きいと判定された場合には、ビッ
トリストに対し該当する連接文字の出現した文書番号に
相当するビット位置に‘1’を記すことにより連接文字
成分の出現情報を登録し、判定された結果、文書中に現
われる各連接文字の出現文書数が所定のしきい値より小
さいと判定された場合には、文書番号リストに対し該当
する連接文字の出現した文書番号をバイナリデータのリ
ストとして書き込むことにより、各連接文字成分の出現
情報を出現情報を登録し、検索タームから抽出された連
接文字に対し、抽出された連接文字に対応するビットリ
ストまたは文書番号リストを読み出し、文書番号リスト
の場合にはこれをビットリストに変換することにより連
接文字成分表を取得することを特徴とする文書検索方法
である。
【0026】
【作用】まず、第一の文書検索方法における作用につい
て説明する。
【0027】本文書検索方法では、連接文字成分表の作
成登録処理におけるスキップ連接文字成分抽出ステップ
で、テキストデータからm文字おきにn個の文字列をス
キップ連接文字として切り出し、この出現情報を連接文
字成分表に登録する。そして、連接文字成分表のサーチ
処理においても同様に検索タームからm文字おきにn個
の文字列を切り出して連接文字成分表をサーチすること
により、英語などのように同じ部分文字列を含む単語が
多数存在する言語でも単語固有の文字成分を採ることが
できるため、連接文字成分表サーチにおける絞り込み率
を向上させることが可能となる。
【0028】例えば、検索タームに“mountain"という
文字列が指定された時には、従来例の互いに隣り合う文
字列間で連接文字成分表を参照する方法では、図3に示
すように“mou",“oun",“unt",“nta",“tai"およ
び“ain"が連接文字成分として抽出される。しかし、例
えば“ain"については“painting",“Spain"などの
単語にも含まれるためこれらの単語を含む文書が検索ノ
イズとしてヒットする可能性がある。これに対し、例え
ば1文字おきに文字列をとることにより、“mut",“on
a",“uti"および“nan"というように、その単語固有の
文字成分をとることができる。このため、同じ部分文字
列を含む単語が存在することによる検索ノイズを従来例
に比べ大幅に削減することができる。
【0029】次に、本発明第二の文書検索方法の作用を
説明する。
【0030】本文書検索方法では、文書登録時に予め文
字出現頻度算出ステップで、テキストデータ中に現われ
た連接文字成分の種類および各連接文字成分の現われる
文書の件数を算出する。
【0031】さらに、連接文字成分表作成登録時には文
字出現頻度判定ステップで、文字出現頻度算出ステップ
における算出結果から、テキストデータ中に現われる各
連接文字の出現文書数が所定のしきい値より大きいか否
かを判定する。
【0032】そして、文字出現頻度が所定のしきい値よ
り大きい場合には、ビットリスト登録ステップで該当す
る連接文字の出現した文書番号に相当するビットリスト
中のビット位置に‘1'を記すことにより連接文字成分
の出現情報を登録する。
【0033】また、文字出現頻度が所定のしきい値より
小さい場合には、文書番号リスト登録ステップで該当す
る連接文字の出現した文書番号をバイナリデータのリス
トとして文書番号リストに対し書き込むことにより、各
連接文字成分の出現情報を出現情報を登録する。
【0034】そして、検索時には連接文字成分表取得ス
テップで、検索タームから切り出された連接文字に対応
するビットリストまたは文書番号リストを読み出し、文
書番号リストの場合にはこれをビットリストに変換する
ことにより連接文字成分表を取得するこのように、本発
明第二の文書検索方法では出現頻度の高い連接文字につ
いては対応する連接文字成分表をビットリストで、出現
頻度の低い連接文字については文書番号リストで構成す
ることにより連接文字成分表のファイル容量を大幅に削
減することができる。具体的に説明すると、ビットリス
トの形式で連接文字成分表を構成するには、常にデータ
ベースに登録した全件分のビット数が必要になるが、文
書番号リストの形式で連接文字成分表を構成する場合に
は、文書番号を表わすビット数×登録文書数で済むこと
になる。例えば、データベースの全登録件数が100万件
で、一個の文書識別子情報を表わすのに32ビットを割り
当てるものとし、連接文字“構造"を含む文書がその内1
0件であった場合には、ビット列ならば、100万bit=125K
Bの格納領域が必要となる。これに対して、文書番号リ
ストの形式ならば、32bit×10件=320bit=40Bの格納領
域で済むことになる。
【0035】また、連接文字“構成"を含む文書が100万
件中の90万件であった場合には、ビット列ならば、100
万bit=125KBの格納領域に済む。これに対し、IDリスト
形式の場合、32bit×90万件=4B×90万件=3.6MBの領域が
必要となる。
【0036】したがって、この100万件を、文書識別子3
2ビットで格納する場合には、100万bit÷32bit=31,250
件を境として、これよりも登録件数が多い場合はビット
リスト形式で、少ない場合は文書番号形式で連接文字成
分表を構成することにより連接文字成分表のファイル容
量を最小化することができる。
【0037】また、本発明の第二の文書検索方法による
連接文字成分表検索結果にはハッシングによるノイズが
含まれないため、これらの検索結果集合間の論理積演算
(AND)して得られる文字成分表サーチ結果も、従来のハ
ッシングを行う文字成分表のサーチ結果に対しノイズが
大幅に削減されたものであり、絞り込み精度の向上を実
現することが可能となる。
【0038】
【実施例】以下、本発明の第一の実施例について図1を
用いて説明する。
【0039】本実施例では、英文におけるm文字おきに
n文字の文字列を抽出するスキップ連接文字成分表とし
てm=1、n=3の場合を例にして説明する。
【0040】本発明を適用した文書検索システムは、デ
ィスプレイ100、キーボード101、中央演算装置C
PU102、磁気ディスク110、フロッピディスクド
ライブ(FDD)106、主メモり200から構成され
る。また、これらはバス108で接続されている。磁気
ディスク110にはテキスト103、凝縮テキスト10
4、連接文字成分表105および後述する各種プログラ
ム111やテーブル112が格納される。107は登録
する文書を格納したフロッピディスクである。
【0041】主メモリ200には、システム制御プログ
ラム201、文書登録制御プログラム202、テキスト
登録プログラム203、凝縮テキスト作成登録プログラ
ム204、連接文字成分表作成登録プログラム205、
検索制御プログラム209、検索条件式解析プログラム
210、連接文字成分表サーチプログラム211、凝縮
テキストサーチプログラム214、テキストサーチプロ
グラム215およびハッシュテーブル216が磁気ディ
スク110から読み出されて格納されるとともにワーク
エリア217が確保される。
【0042】連接文字成分表作成登録プログラム205
はスキップ連接文字抽出プログラム206、連接文字成
分表登録プログラム207およびハッシュテーブル作成
プログラム208から構成され、連接文字成分表サーチ
プログラム211はスキップ連接抽出プログラム212
とビットアンドプログラム213から構成される。これ
らのプログラムはユーザのキーボード101からの指示
に応じてシステム制御プログラム201の制御の下で実
行される。
【0043】以下、本発明の対象となる連接文字成分表
サーチを含む階層プリサーチにおける登録処理と検索処
理について具体的に説明する。
【0044】文書の登録の際は図4に示すように、キー
ボード101から入力されたコマンドを受け、システム
制御プログラム201は文書登録制御プログラム202
を起動する。この文書登録制御プログラム202は、最
初にステップ1000でテキスト登録プログラム203
を起動して、フロッピディスクドライブ106に挿入さ
れたフロッピディスク107から登録文書のテキストデ
ータをワークエリア217に読み込み、これをテキスト
103として磁気ディスク110へ格納する。登録文書
はフロッピディスクを用いて入力するだけでなく、通信
回線(図1には示していない)等を用いて他の装置から
入力するような構成をとってもかまわない。
【0045】次に、文書登録制御プログラム202はス
テップ1001で凝縮テキスト作成登録プログラム20
4を起動して、テキストデータをスペースや記号などを
区切りとして単語レベルで部分文字列へ分割し、分割し
た部分文字列間で相互に文字列の包含関係を調べ、他の
部分文字列に含まれる文字列を排除し、残った部分文字
列の集合を凝縮テキスト104として磁気ディスク11
0へ格納し、本プログラムの終了を待って、登録処理を
完了する。
【0046】最後に、文書登録制御プログラム202は
ステップ1002で連接文字成分表作成登録プログラム
205を起動する。
【0047】以下、連接文字成分表作成登録プログラム
205の処理について図5を用いて説明する。
【0048】まず、連接文字成分表作成登録プログラム
205はステップ1010でスキップ連接文字抽出プロ
グラム206を起動し、磁気ディスク110に格納され
たテキスト103からテキストデータをワークエリア2
17に読み込む。そして、このテキストデータから1文
字おきに3文字の文字列をすべて抽出する。
【0049】次に、ステップ1011で連接文字成分表
登録プログラム207を起動し、スキップ連接文字抽出
プログラム206によってテキストデータから抽出され
た文字列を、ワークエリア217内の連接文字成分表1
05にハッシュテーブル216に従って登録し、これを
磁気ディスク110へ格納する。
【0050】連接文字成分表105を新規に登録すると
きには、連接文字成分表登録プログラム207でハッシ
ュテーブル作成プログラム208を起動し、連接文字成
分表105の該当エントリを参照するために用いるハッ
シュテーブル216を作成するとともに、連接文字成分
表105の全エントリを初期化(‘0’クリア)してお
く。
【0051】ハッシュテーブル作成プログラム208に
より作成されるハッシュテーブル216は、連接文字成
分により連接文字成分表105のエントリを参照する際
に用いられるが、このハッシュテーブル216について
は単純なハッシュ関数でも、あるいは上述した特願平3
−342695号に示した文書データベース中の連接文
字成分の頻度を利用したハッシュ方式を用いてもよい。
【0052】以上が、連接文字成分表作成登録プログラ
ムの処理内容である。
【0053】検索の際には、検索条件式がキーボード1
01から入力されると、システム制御プログラム201
により検索制御プログラム209が起動される。そし
て、本制御プログラムの下で検索条件式解析プログラム
210、連接文字成分表サーチプログラム211、凝縮
テキストサーチプログラム214およびテキストサーチ
プログラム215が順次起動される。
【0054】以下、図6を用いて、連接文字成分表サー
チプログラム211、凝縮テキストサーチプログラム2
14およびテキストサーチプログラム215による階層
検索処理の詳細について説明する。
【0055】まず、検索制御プログラム209はステッ
プ1020で連接文字成分表サーチプログラム211を
起動する。本プログラムの実行により、まずスキップ連
接文字抽出プログラム212を起動し、入力された検索
条件式中の検索タームから1文字おきに3文字の文字列
を抽出し、ハッシュテーブル216を用いて、抽出され
たすべての文字列に対応する連接文字成分表のエントリ
に格納されているビットリストをワークエリア217に
読み込む。次に、ビットアンドプログラム213を起動
し、ワークエリア217に読み込まれたすべてのビット
リスト間で各ビット毎に論理積(AND)を取る。この論理
積演算の結果‘1'となったビットに対応する文書番号
を連接文字成分表サーチの結果として検索制御プログラ
ム209に出力し、この連接文字成分表サーチの結果件
数が0件であれば、ここで0件という検索結果を本プロ
グラム209がディスプレイに表示する。
【0056】もし、連接文字成分表サーチの結果件数が
0件でなければ、検索制御プログラム209はステップ
1021で凝縮テキストサーチプログラム214を実行
する。ここでは、上述の連接文字成分表サーチプログラ
ム211によって出力された文書番号に対応する凝縮テ
キスト104をワークエリア217に読み込む。
【0057】そして、読み込まれた凝縮テキスト104
を凝縮テキストサーチプログラム214で探索し、検索
タームが含まれる凝縮テキストの文書番号を検索制御プ
ログラム209に出力する。
【0058】この凝縮テキストサーチの結果件数が0件
であれば、ここで0件という結果件数をシステム制御プ
ログラム201に出力して検索処理を終了する。
【0059】また、与えられた検索条件式の中に単一の
検索タームか、あるいは複数の検索ターム間の論理的な
関係(AND条件やOR条件)が指定されているだけで、テキ
スト中での位置関係までは指定されていない場合には、
ここで検索を終了し凝縮テキストサーチプログラム21
4によって出力された文書番号を検索結果としてシステ
ム制御プログラム201に出力する。
【0060】それ以外の場合、すなわち与えられた検索
条件式の中に複数の検索ターム間のテキスト中での位置
関係が指定されている場合には、ステップ1022でテ
キストサーチプログラム215を起動し、テキストサー
チを行う。
【0061】単一の検索タームが指定されたり、あるい
は単にAND条件やOR条件が指定されただけの場合に
凝縮テキストサーチで検索を終了できるのは、凝縮テキ
スト104にはその作成アルゴリズムからも分かるよう
に、テキスト103中に存在する単語が漏れなく抽出さ
れており、凝縮テキスト104を検索するだけで指定さ
れた単語がテキストデータ中に現われたか否かが判定で
きるためである。
【0062】例えば、「“information"
〈AND〉“systems”」のように記述される
「“information”と“systems”の
両方が現れる文書を探せ」という意味を持つAND条件
や、「“information”〈OR〉“syst
ems”」のように記述される「“informati
on”か“systems”のどちらかが現れる文書を
探せ」という意味を持つOR条件などは、複数の検索タ
ーム間の論理的な関係が指定されているだけで、テキス
ト中での位置関係までは指定されていない。そのため、
“information”と“systems”の存
在分かればよいだけなので凝縮テキストサーチだけで検
索条件の成否を判定することができる。
【0063】これに対し、「“informatio
n”〈S〉“systems”」のように記述される
「“information”と“systems”が
同一の文(センテンス)に共起(同時に出現)する文書
を探せ」という意味を持つ文脈条件や、「“infor
mation”〈2W〉“systems”」のように
記述される「“information”と“syst
ems”が2語以内に近接して現れる文書を探せ」とい
う意味を持つ近傍条件、あるいは「“informat
ion”〈A〉“systems”」のように記述され
る「“information”と“systems”
が隣接して現れる文書を探せ」という意味を持つ隣接条
件などは、複数の検索ターム間のテキスト中での位置関
係が指定されているため、単語の出現位置情報を持たな
い凝縮テキストサーチだけでは成否の判定ができず、テ
キストサーチまで行わなければならない。
【0064】凝縮テキストサーチの結果件数が0件でな
く、かつ上述した文脈条件、近傍条件あるいは隣接条件
が指定されている場合には、テキストサーチプログラム
215が起動され、凝縮テキストサーチプログラム21
4で出力された文書番号に対応するテキストデータをテ
キスト103からワークエリア217に読み込む。そし
て、テキストサーチプログラム215はこのテキストデ
ータを探索し、与えられた検索タームを含み、かつ検索
ターム間の位置関係に関する指定条件を満たすものを抽
出し、この抽出テキストデータに対応する文書番号を検
索結果として検索制御プログラム209に出力する。
【0065】以上が本発明のフルテキストサーチ方法を
適用した第一の実施例のフルテキストサーチシステムの
概略である。
【0066】本実施例における連接文字成分表の登録手
順は図7に示す通りである。以下、この登録手順を詳細
に説明する。
【0067】まず、連接文字成分表の登録処理の詳細に
ついて説明する。ここでは、前述したように連接文字成
分表作成登録プログラム205により、スキップ連接文
字抽出プログラム206が起動される。
【0068】本プログラムの実行により、磁気ディスク
110に格納されたテキスト103から文書毎にテキス
トデータがワークエリア217に読み込まれ、このテキ
ストデータから1文字おきに3文字の文字列が抽出され
る。
【0069】次に、連接文字成分表登録プログラム20
7が起動される。ここでは、スキップ連接文字抽出プロ
グラム205によってテキストデータから抽出された上
記連接文字成分に対してハッシュテーブル216を用い
て対応するエントリを算出し、該当するビット位置に
‘1'を設定し、連接文字成分の存在を記す。
【0070】このスキップ連接文字抽出プログラム20
6の処理では、例えば図7に示すように“Multim
edia"というテキストデータに対しては、1文字お
きに3文字の連接文字として“Mli”,“utm”,
“lie”,“tmd”,“iei”および“mda”
が抽出される。
【0071】次に、抽出文字列に対して、ハッシュテー
ブル216を介して参照した連接文字成分表105の該
当エントリの対応ビット位置に‘1’を設定する。図8
の例では、文書1中に“Mli”があるのでハッシュテ
ーブル216を用いて参照した該当エントリの文書1に
対応するビット位置に‘1’を設定する。“sse”の
場合も同様に該当エントリに‘1’を設定する。以下、
同様にしてテキストデータ中に存在する連接成分のすべ
てについて、連接文字成分表105の該当エントリに
‘1’を設定する。最終的には、同図に示すように全て
の登録文書について‘1’と‘0’の列(ビットリスト)
ができあがる。例えば、“nss”の「101・・・
0」の列が1つのビットリストである。
【0072】このようにして、連接文字成分表作成登録
プログラム205により文書の登録時に連接文字成分表
105が作成され、階層プリサーチの準備ができあが
る。
【0073】次に、連接文字成分表の検索手順につい
て、図9を用いて詳細に説明する。
【0074】まず、検索制御プログラム209はステッ
プ1030でスキップ連接文字抽出プログラム212を
起動する。ここでは、検索条件式中の検索タームから1
文字おきに3文字の文字列を抽出する。ただし、本実施
例では3文字の1文字おきの連接文字成分表を用いてい
るため、5文字未満の検索タームの場合は連接文字が得
られないことになる。この場合、本実施例では、連接文
字成分表サーチの結果を全件ヒットとし、すべての文書
に対して凝縮テキストサーチを行うことにする。すなわ
ち、この文書の番号を出力して、連接文字成分表サーチ
プログラム211が終了する。
【0075】5文字以上の検索タームが与えられた場合
には、ステップ1031でスキップ連接文字抽出プログ
ラム212によって抽出された文字列に対応するビット
リストを、ビットアンドプログラム213が連接文字成
分表105からハッシュテーブル216を介してワーク
エリア217に読み込み、ステップ1032で読み込ん
だビットリスト間でビット毎に論理積演算を行う。そし
てステップ1033で、この論理積演算の結果が‘1’
となったビットに対応する文書番号を算出し、これを連
接文字成分表サーチ結果として出力する。
【0076】例えば、図10に示すように“Multi
media”という文字列が検索タームとして与えられ
た場合、“Mli”,“utm”,“lie”,“tm
d”,“iei”および“mda”に対応する連接文字
成分表105のビットリストがハッシュテーブル216
を介して読み出され、これらすべてのビットリストのビ
ットがすべて‘1’である文書が連接文字成分表サーチ
の検索結果として得られる。
【0077】すなわち、読み出したすべてのビットリス
トの間でビット毎に論理積演算を施し、ビットアンド演
算結果900を得る。このビットアンド演算結果のビッ
トリスト中で、‘1’となっているビット位置に対応す
る文書番号が連接文字成分表サーチの検索結果としての
ヒット文書を表わすことになる。
【0078】これにより、“Mli”,“utm”,
“lie”,“tmd”,“iei”および“mda”
のすべてを含む文書が抽出されることになる。本図の例
では、文書1と文書Nがヒット文書ということになる。
【0079】このように、本実施例における連接文字成
分表作成登録処理では、文書の登録時に、テキストデー
タから1文字おきに3文字の文字列を取り出し、この連
接文字の存在情報を予め連接文字成分表に登録しておく
ことにより、単語固有の連接文字成分を取ることができ
るため、検索時の連接文字成分表サーチにおける絞り込
み率を向上させることが可能となる。その結果、階層プ
リサーチにおける凝縮テキストの探索量が削減されるこ
とになるため、等価的に全体の検索速度を向上できるこ
とになる。したがって、より大量のフルテキストサーチ
を実時間で行うことが可能となる。
【0080】なお、本実施例では単語を意識することな
く“_"(スペース)や“."(ピリオド)、“,"(カンマ)など
を含んだ全ての文字列を対象として文字成分表を作成し
ている。このため、“Multimedia information system
s"などのスペースを含んだ文字列が検索タームに指定さ
れた場合にも、単語間にまたがった連接文字成分を利用
した絞り込みを行うことが可能となっている。
【0081】また、本実施例では連接文字成分表を1文
字おきに3文字の文字列、すなわち、m=1、n=3で
作成する場合について説明したが、何文字おきに文字列
を抽出しても、また文字列長が2文字および4文字以上
の場合についても同様な処理が可能である。これは、上
記の説明から明らかであろう。
【0082】さらに、本実施例では5文字未満の検索タ
ームの場合、連接文字成分表サーチの結果を全件ヒット
として出力するようにしているが、別途1文字おきに2
文字の連接文字成分表を作成し、この連接文字成分表を
用いて5文字未満の検索タームの連接文字成分表サーチ
を行うようにすることもできる。
【0083】このように、本実施例による連接文字成分
表サーチでは、従来例に比べ検索ノイズを大幅に削減す
ることができるため、連接文字成分表サーチの検索結果
は凝縮テキストおよびテキストをサーチすることにより
得られる検索結果と大きな差が生じない。このため、連
接文字成分表サーチの検索結果をシステムの検索結果と
してそのままシステム制御プログラム201に出力する
ことも可能である。
【0084】次に、本発明の第二の実施例について説明
する。
【0085】本発明の第一の実施例では、単語を意識す
ることなく、“_"(スペース)や“."(ピリオド)、“,"
(カンマ)などを含んだ全文字列を対象として文字成分表
を作成している。しかし、この方法では単語間にまたが
ったスキップ連接文字を文字成分表に登録することにな
るため、単語を指定した検索の場合には以下の2種類の
ノイズが発生する。
【0086】まず、単語間にまたがったスキップ連接文
字成分が他の連接文字と同じエントリにハッシングされ
ることによりノイズが発生する。例えば、“angle"が検
索タームに指定されたときにはスキップ連接文字として
“age"が抽出されることになるが、“Multimedia infor
mation systems"における“_"(スペース)をまたがった
スキップ連接文字である“aif"が“age"と同じエントリ
にハッシングされた場合には“Multimedia information
systems"を含む文書がノイズとしてヒットしてしまう
ことになる。
【0087】さらに、検索タームから抽出したスキップ
連接文字成分が単語間にまたがって現われる文書を抽出
することによりノイズが発生する。すなわち、テキスト
中に“・・・ a green cup ・・・"という文字列が含まれる文
書が登録された場合には、“_"(スペース)をまたがった
スキップ連接文字である“age"が連接文字成分表に登録
される。これに対し、検索タームに“angle"が指定され
たときには検索タームからスキップ連接文字として“ag
e"が抽出されることになり、前述した文書が検索ノイズ
としてヒットしてしまうことになる。
【0088】これらの問題に対し、本発明第二の実施例
では連接文字成分の抽出時にテキストから単語を切り出
し、切り出された単語からスキップ連接文字成分を抽出
して連接文字成分表を作成することによって、二つの単
語にかかる連接文字成分を抽出しないようにして、前記
の検索ノイズを削減する。
【0089】本実施例は図1に示した第一の実施例と基
本的に同様の構成をとるが、その中の連接文字成分表作
成登録プログラム205が図11に示すような構成とな
る。
【0090】すなわち、本実施例における連接文字成分
表作成登録プログラム205は、単語切り出しプログラ
ム300、スキップ連接文字抽出プログラム206、連
接文字成分表登録プログラム207およびハッシュテー
ブル作成プログラム208で構成される。
【0091】本実施例における連接文字成分表作成登録
プログラム205は、図12に示すように、まずステッ
プ1100で単語切り出しプログラム300を起動し、
磁気ディスク110に格納されたテキスト103からテ
キストデータをワークエリア217に読み込む。そし
て、このテキストデータからスペースを区切りとして単
語を切り出す。
【0092】次に、ステップ1101でスキップ連接文
字抽出プログラム206を起動し、単語切り出しプログ
ラム300によって切り出されたすべての単語から1文
字おきに3文字の文字列をすべて抽出する。
【0093】最後に、ステップ1102で連接文字成分
表登録プログラム207を起動し、スキップ連接文字抽
出プログラム206によって単語から抽出された連接文
字を、ワークエリア217内の連接文字成分表105に
ハッシュテーブル216に従って登録し、これを磁気デ
ィスク110へ格納する。
【0094】このスキップ連接文字の抽出および連接文
字成分表の登録について、例えば“Multimedi
a information systems mus
t・・・”というテキストが登録された場合を例に説明
する。
【0095】単語切り出しプログラム300によって文
書1は図13に示すように、“Multimedi
a”,“information”,“system
s”,“must”,・・・に分割される。
【0096】次に、スキップ連接文字抽出プログラム2
06によって、切り出された単語からスキップ連接文字
成分として“Mli”,“utm”,“lie”,“t
md”,“iei”,“mda”,“ifr”,“no
m”,“fra”,“omt”,・・・が抽出される。
【0097】さらに、連接文字成分表登録プログラム2
07では、スキップ連接文字抽出プログラム206によ
って切り出された“Mli”に対して、ハッシュテーブ
ル216を用いて参照した該当エントリの文書1に対応
するビット位置に‘1’を設定する。“utm”も同様
に‘1’を設定する。以下、同様にしてテキストデータ
中の単語に存在する連接文字成分のすべてについて、連
接文字成分表105の該当エントリに‘1’を設定す
る。最終的には、同図に示すように各登録文書について
‘1’と‘0’の列(ビットリスト)ができあがる。
【0098】検索時には、本発明の第一の実施例と同様
に連接文字成分表サーチプログラム211においてスキ
ップ連接文字抽出プログラム212が起動され、入力さ
れた検索条件式中の検索タームから1文字おきに3文字
の文字列をすべて抽出する。
【0099】次に、ビットアンドプログラム213を起
動し、スキップ連接文字抽出プログラム212によって
抽出されたすべての文字列に対応する連接文字成分表1
05のエントリに格納されているビットリストを、ハッ
シュテーブル216を介してワークエリア217に読み
込み、読み込まれたすべてのビットリスト間で各ビット
毎に論理積演算を行う。この論理積演算の結果‘1’と
なったビットに対応する文書番号を連接文字成分表サー
チの結果として出力する。
【0100】このように、本実施例における連接文字成
分表の作成登録処理では、テキストデータから単語を切
り出してから、その単語中の文字列から1文字おきに3
文字の文字列を抽出し、この連接文字の存在情報を予め
連接文字成分表に登録する。この単語分割により、二つ
の単語にまたがった連接文字成分を削除できるため、ハ
ッシングによるノイズおよび単語間にまたがったスキッ
プ連接文字によるノイズを減らすことができる。例え
ば、テキスト中に“・・・ a green cup ・・・"という文字列
が含まれる文書が登録された場合にも、“_"(スペース)
をまたがったスキップ連接文字である“age"が連接文字
成分表に登録さないため、スキップ連接文字として“ag
e"を持つ“angle"が検索タームに指定された場合にもノ
イズとして検索されることはない。その結果、検索時の
連接文字成分表サーチにおける絞り込み率を向上させる
ことができ、階層プリサーチにおける凝縮テキストの探
索量が削減できることになるため、等価的に全体の検索
速度を向上させることが可能となる。したがって、より
大量のフルテキストサーチを実時間で行うことが可能と
なる。
【0101】本実施例では、予め定められたm文字(m
は1以上の整数)おきの連接文字(スキップ連接文字)を
対象としてテキストを単語に分割してから文字成分表を
作成する方法について説明した。しかし、従来の互いに
隣り合う連接文字(逐次連接文字)に対しても同様に、テ
キストを単語に分割してから連接文字成分表を作成する
ことにより、“_"(スペース)などを含む連接文字が他の
連接文字と同じエントリにハッシングされることによっ
て生じるノイズが削減できることは明らかであろう。
【0102】次に、本発明の第三の実施例について説明
する。
【0103】本発明第二の実施例では、予めテキストデ
ータを単語に分割し、各単語毎にスキップ連接文字を抽
出することにより、単語間にまたがったスキップ連接文
字が他の連接文字と同じエントリにハッシングされるこ
とによって生じるノイズ、および単語間にまたがったス
キップ連接文字成分によって生じるノイズを削減するこ
とができた。しかし、この方法では検索タームに指定し
た単語を部分文字列として含む別の単語が現われる文書
をノイズとして検索してしまうという問題がある。すな
わち、テキスト中に“jangle"という単語を含む文書が
登録された時には、スキップ連接文字として“jnl"と
“age"が抽出され連接文字成分表に登録されることにな
る。それに対し、検索タームに“angle"が指定された時
には、検索タームからスキップ連接文字として“age"が
抽出されるため、検索タームである“angle"を部分文字
列として含む別の単語である“jangle"等の現われる文
書がノイズとしてヒットしてしまう。
【0104】この問題に対し本発明の第三の実施例で
は、第二の実施例における文書検索方法において連接文
字成分表の登録時および検索時に単語の前後に特殊文字
等の所定の符号(以下特殊文字で説明する)を付加す
る。つまり、特殊文字(例えば、ここでは‘^’とす
る)を付加し、それを含めて連接文字成分を抽出する特
殊文字付加型の連接文字成分表を作成する。これによ
り、特殊文字で単語の区切りを判別できるようにし、検
索タームを部分文字列として含む別の単語が現われる文
書を排除して、ノイズを削減する。
【0105】本実施例は図1に示した第一の実施例と基
本的に同様の構成をとるが、その中の連接文字成分表作
成登録プログラム205と連接文字成分表サーチプログ
ラム211の部分が、それぞれ図14と図15に示すよ
うな構成となる。
【0106】すなわち、連接文字成分表作成登録プログ
ラム205は単語切出しプログラム300、特殊文字付
加プログラム301、スキップ連接文字抽出プログラム
206、連接文字成分表登録プログラム207およびハ
ッシュテーブル作成プログラム208で構成され、連接
文字成分表サーチプログラム211は特殊文字付加プロ
グラム302、スキップ連接文字抽出プログラム212
およびビットアンドプログラム213で構成される。
【0107】連接文字成分表作成登録プログラム205
は、図16に示すように、まずステップ1200で単語
切出しプログラム300を起動し、磁気ディスク110
に格納されたテキスト103からテキストデータがワー
クエリア217に読み込む。そして、このテキストデー
タからスペースを区切りとして単語を切り出す。
【0108】次に、ステップ1201で特殊文字付加プ
ログラム301を起動し、単語切出しプログラム300
によって切り出された単語の前後に特殊文字‘^’を付
加する。
【0109】その後、ステップ1202でスキップ連接
文字抽出プログラム206を起動し、特殊文字付加プロ
グラム300によって特殊文字を付加されたすべての単
語から1文字おきに3文字の文字列をすべて抽出する。
【0110】最後に、ステップ1203で連接文字成分
表登録プログラム207を起動し、スキップ連接文字抽
出プログラム206によって単語から抽出された連接文
字を、ワークエリア217内の連接文字成分表105に
ハッシュテーブル216に従って登録し、これを磁気デ
ィスク110へ格納する。
【0111】検索時には、連接文字成分表サーチプログ
ラム211は、図17に示すように、まずステップ12
10で特殊文字付加プログラム302を起動し、検索条
件式中の検索タームの前後に特殊文字‘^’を付加す
る。
【0112】次に、ステップ1211でスキップ連接文
字抽出プログラム212を起動し、特殊文字付加プログ
ラム302によって特殊文字‘^’が付加された検索タ
ームから3文字の一続きの文字列すべてを抽出する。
【0113】その後、ステップ1212でビットアンド
プログラム213を起動し、スキップ連接文字抽出プロ
グラム212によって抽出されたすべての文字列に対応
する連接文字成分表105のエントリに格納されている
ビットリストを、ハッシュテーブル216を介してワー
クエリア217に読み込み、ステップ1213で読み込
まれたすべてのビットリスト間で各ビット毎に論理積演
算を行う。
【0114】この論理積演算の結果、‘1’となったビ
ットに対応する文書番号を連接文字成分表サーチの結果
として出力する。
【0115】以下、上述した連接文字成分表作成登録プ
ログラム205の処理内容を詳細に説明する。
【0116】連接文字成分表作成登録プログラム205
では、まずテキスト103からスペースを区切りとして
単語が切り出され、各単語の前後に特殊文字‘^’が付
加される。その後、特殊文字‘^’が付加された単語か
ら1文字おきに3文字の文字列が抽出される。
【0117】このスキップ連接文字の抽出処理につい
て、例えば、“Multimediainformat
ion systems must・・・”というテキ
ストが登録された場合を例に説明する。
【0118】単語切出しプログラム300によって図1
8に示すように文書1は、“Multimedia”,
“information”,“systems”,
“must”,・・・に分割される。
【0119】次に、特殊文字付加プログラム301によ
って、切り出された各単語の前後に特殊文字‘^’が付
加され、“^Multimedia^”,“^info
rmation^”,“^systems^”,“^m
ust^”,・・・となる。
【0120】次に、スキップ連接文字抽出プログラム2
06によって、特殊文字‘^’を前後に付加した単語か
ら、“^ut”,“Mli”,“utm”,“li
e”,“tmd”,“iei”,“mda”,“ei
^”,“^no”,“ifr”,“nom”,“fr
a”,“omt”,・・・が抽出される。
【0121】最後に、連接文字成分表登録プログラム2
07を起動する。ここでは、ハッシュテーブル216を
介して、スキップ連接文字抽出プログラム206によっ
て、特殊文字‘^’を付加した単語から抽出された連接
文字成分に対応するエントリに‘1’を設定し、連接文
字成分の存在を記す。
【0122】図18の文書1の例では、“^ut”があ
るのでハッシュテーブル216を用いて参照した該当エ
ントリの文書1に対応するビット位置に‘1’を設定す
る。“Mli”も同様に‘1’を設定する。
【0123】以下、同様にして特殊文字‘^’を前後に
付加した単語中の連接文字成分のすべてについて、連接
文字成分表105の該当エントリに‘1’を設定する。
最終的には、同図に示すようにテキスト103中の各文
書について‘1’と‘0’の列(ビットリスト)ができ
あがる。
【0124】次に、連接文字成分表サーチプログラム2
11の処理内容を詳細に説明する。連接文字成分表サー
チプログラム211では、まず検索条件式中の検索ター
ムの前後に特殊文字‘^’を付加し、その検索タームか
ら3文字の一続きの文字列を抽出する。
【0125】その後、抽出された各文字列に対応するビ
ットリスト間でビット毎に論理積演算を行い、‘1’と
なったビットに対応する文書番号を連接文字成分表サー
チ結果として出力する。
【0126】例えば、図19に示すように“Multi
media”という検索タームは特殊文字を付加するこ
とにより、“^Multimedia^”となる。この
検索タームから1文字おきに3文字の文字列を抽出する
ことにより“^ut”,“Mli”,“utm”,“l
ie”,“tmd”,“iei”,“mda”および
“ei^”が連接文字成分として得られる。そして、こ
れらに対応する連接文字成分表105のビットリストを
ハッシュテーブル216を介して読み出し、これらすべ
てのビットリストのビットがすべて‘1’である文書が
連接文字成分表サーチの検索結果として得られる。
【0127】すなわち、読み出したすべてのビットリス
トの間でビット毎に論理積演算を施し、ビットアンド演
算結果900を得る。このビットアンド演算結果のビッ
トリスト中で、‘1’となっているビット位置に対応す
る文書番号が連接文字成分表サーチの検索結果としての
ヒット文書を表わすことになる。
【0128】これにより、“^ut”,“Mli”,
“utm”,“lie”,“tmd”,“iei”,
“mda”および“ei^”のすべてを含む文書が検索
結果として抽出されることになる。図19の例では、文
書1がヒット文書ということになる。
【0129】すなわち、テキスト中に“jangle"という
単語を含む文書が登録された時には、単語の前後に特殊
文字を付加した“∧jangle∧"からスキップ連接文字と
して“∧ag",“jnl",“age"と“nl∧"が抽出され連接
文字成分表に登録されることになる。また、検索ターム
に“angle"が指定された時には、単語の前後に特殊文字
を付加した“∧angle∧"からスキップ連接文字として
“∧nl",“age",“nl∧"が抽出されることになるが、
“∧jangle∧"を含む文書中には“∧nl"に対応するスキ
ップ連接文字が含まれないため検索の対象から外され
る。すなわち、“jangle"を含む文書がノイズとして検
索されることがなくなる。
【0130】このように、本実施例における連接文字成
分表の作成登録処理では、文書の登録時に、テキストか
ら単語を切り出し、切り出された単語の前後に特殊文字
を付加してから、その中の文字列から1文字おきに3文
字の文字列を取り出し、この連接文字の存在情報を予め
連接文字成分表に登録するとともに、連接文字成分表の
検索時に、検索タームの前後に特殊文字を付加してから
検索を行うことにより、特殊文字で単語の前後を判別で
きる。そのため、検索タームを部分文字列としてその文
字列内部に含む無関係な単語が中間一致によってヒット
することを避けることができ、ノイズを減らすことがで
きる。その結果、検索時の連接文字成分表サーチにおけ
る絞り込み率を向上させることができ、階層プリサーチ
における凝縮テキストの探索量が削減できることになる
ため、等価的に全体の検索速度を向上させることが可能
となる。したがって、より大量のフルテキストサーチを
実時間で行うことが可能となる。
【0131】本実施例では、連接文字成分表を1文字お
きに3文字の文字列、すなわち、n=3で作成する場合
について説明したが、文字列長が2文字および4文字以
上の場合についても同様な処理が可能であることは、上
記の説明から明らかであろう。
【0132】また、本実施例では、予め定められたm文
字おきの連接文字(スキップ連接文字)を対象としてテキ
ストから単語を切り出し、切り出された単語の前後に特
殊文字を付加してから連接文字成分表を作成する方法に
ついて説明した。しかし、従来の互いに隣り合う連接文
字(逐次連接文字)に対しても同様に、テキストから単語
を切り出し、切り出された単語の前後に特殊文字を付加
してから連接文字成分表を作成することにより、検索タ
ームに指定した単語を部分文字列として含む別の単語が
現われる文書をノイズとして検索の対象から外すことが
可能になることも明らかであろう。
【0133】次に、本発明の第四の実施例について説明
する。
【0134】本発明第一の実施例では、英文に対しm文
字おきにn文字の文字列を抽出し、これを連接文字成分
表に登録する方法について説明した。しかし、この方法
では文字数の少ない検索タームが指定されたときに抽出
できる連接文字成分の数が少ないため検索ノイズが多く
発生するという問題がある。すなわち、テキスト中に
“argue"という単語を含む文書が登録された時には、ス
キップ連接文字として“age"が抽出され連接文字成分表
に登録されることになる。それに対し、検索タームに
“angle"が指定された時にはスキップ連接文字として
“age"が抽出されることになり、“argue"を含む文書が
ノイズとして検索されることになる。さらに、従来例の
ように互いに隣り合う連接文字(逐次連接文字)から連接
文字成分表を作成する方法では、“angry"と“single"
を同時に含む文書の現われる文書等がノイズとしてヒッ
トしてしまう。
【0135】この問題に対し本発明の第四の実施例で
は、第一の実施例における文書検索方法において連接文
字成分の抽出時に、従来例の互いに連続するi(iは2
以上の整数)文字の連接文字を逐次連接文字として抽出
するとともに、m文字おきにn文字の文字列をスキップ
連接文字として抽出し、逐次連接文字成分とスキップ連
接文字成分の両方の連接文字成分表を用いて検索対象と
する文書を絞り込むことによってノイズを削減する。
【0136】本実施例は図1に示す第一の実施例と基本
的に同様の構成をとるが、その中の連接文字成分表作成
登録プログラム205と連接文字成分表サーチプログラ
ム210の部分が、それぞれ図20と図21に示す構成
となる。
【0137】すなわち、連接文字成分表作成登録プログ
ラム205は逐次連接文字抽出プログラム400、スキ
ップ連接文字抽出プログラム206、連接文字成分表登
録プログラム207およびハッシュテーブル作成プログ
ラム208で構成され、連接文字成分表サーチプログラ
ム211は逐次連接文字抽出プログラム401、スキッ
プ連接文字抽出プログラム212およびビットアンドプ
ログラム213で構成される。
【0138】連接文字成分表作成登録プログラム205
は、図22に示すように、まずステップ1300で逐次
連接文字抽出プログラム400を起動し、磁気ディスク
110に格納されたテキスト103からテキストデータ
をワークエリア217に読み込む。そして、連続する3
文字の文字列を全て抽出する。
【0139】次に、ステップ1301でスキップ連接文
字抽出プログラム206を起動し、ワークエリア217
に取り込まれたテキストデータから1文字おきに3文字
の文字列を全て抽出する。
【0140】最後に、ステップ1302で連接文字成分
表登録プログラム207を起動し、逐次連接文字抽出プ
ログラム400およびスキップ連接文字抽出プログラム
206によって抽出された連接文字を、ワークエリア2
17内の連接文字成分表105にハッシュテーブル21
6に従って登録し、これを磁気ディスク110へ格納す
る。
【0141】検索時には、連接文字成分表サーチプログ
ラム211が、図23に示すように、ステップ1310
で逐次連接文字抽出プログラム401を起動し、検索タ
ームから連続する3文字の文字列すべてを抽出する。
【0142】次に、ステップ1311でスキップ連接文
字抽出プログラム212を起動し、検索タームから1文
字おきに3文字の文字列すべてを抽出する。
【0143】その後、ステップ1312でビットアンド
プログラム213を起動し、逐次連接文字抽出プログラ
ム401およびスキップ連接文字抽出プログラム212
によって抽出されたすべての文字列に対応する連接文字
成分表105のエントリに格納されているビットリスト
を、ハッシュテーブル217を介してワークエリア21
6に読み込み、読み込まれたすべてのビットリスト間で
各ビット毎に論理積演算を行う。
【0144】この論理積演算の結果‘1’となったビッ
トに対応する文書番号を連接文字成分表サーチの結果と
して出力する。
【0145】以下、上述した連接文字成分表作成登録プ
ログラム205の処理内容を詳細に説明する。
【0146】連接文字成分表作成登録プログラム205
では、まずテキストデータから3文字の連続する文字列
および1文字おきに3文字の連接文字が抽出される。
【0147】この文字列の抽出については、例えば、
“Multimedia information s
ystems must・・・”というテキストが登録さ
れた場合を例に説明する。
【0148】まず、逐次連接文字抽出ステップ400に
よって図24に示す文書1から、“Mul”,“ul
t”,“lti”,“tim”,“ime”,“me
d”,“edi”,“dia”,“ia_”,“a_
i”,・・・が抽出される。さらに、スキップ連接文字
抽出プログラム206によって、“Mli”,“ut
m”,“lie”,“tmd”,“iei”,“md
a”,“ei_”,“dai”,“i_n”,“ai
f”,・・・が抽出される。
【0149】最後に、連接文字成分表登録プログラム2
07が起動される。ここでは、連接文字用ハッシュテー
ブル216−aおよびスキップ連接用ハッシュテーブル
216−bを介して、それぞれ逐次連接文字抽出プログ
ラム400およびスキップ連接文字抽出プログラム20
6によって抽出された連接文字成分に対応するエントリ
に‘1’を設定し、連接文字成分の存在を記す。
【0150】次に、検索時の処理について詳細に説明す
る。
【0151】例えば、図25に示すように“Multi
media”という検索タームから、逐次連接文字抽出
ステップ401によって、“Mul”,“ult”,
“lti”,“tim”,“ime”,“med”,
“edi”および“dia”が逐次連接文字成分として
抽出される。さらにスキップ連接文字抽出ステップ21
2によって、“Mli”,“utm”,“lie”,
“tmd”,“iei”および“mda”がスキップ連
接文字成分として抽出される。次に、ビットアンドプロ
グラム213により、連接文字成分表105のビットリ
ストが逐次連接文字成分については逐次連接用ハッシュ
テーブル215−aを介して、スキップ連接文字成分に
ついてはスキップ連接用ハッシュテーブル216−bを
介して読み出される。そして、これらすべてのビットリ
ストのビットがすべて‘1’である文書を連接文字成分
表サーチの検索結果として得る。
【0152】すなわち、読み出したすべてのビットリス
トの間でビット毎に論理積演算を施し、論理積演算結果
900を得る。このビットアンド演算結果のビットリス
ト中で、‘1’となっているビット位置に対応する文書
番号が連接文字成分表サーチの検索結果としてのヒット
文書を表わすことになる。これにより、図25の例で
は、文書1がヒット文書ということになる。
【0153】このように、本実施例における連接文字成
分表の作成登録処理では、文書の登録時に、テキストか
ら連続する3文字の文字列(逐次連接文字)および1文字
おきに3文字の文字列(スキップ連接文字)を取り出し、
この連接文字の存在情報を予め連接文字成分表に登録す
る。検索時には、逐次連接文字およびスキップ連接文字
の両方の連接文字成分を全て含む文書を検索することに
より、連接文字成分表サーチのノイズを削減することが
できる。例えば、検索タームとして“angle"が指定され
た時には逐次連接文字として“ang",“ngl"および“gl
e",スキップ連接文字として“age"を含む文書をサーチ
する。これに対し、テキスト中に“argue"という単語を
含む文書が登録された時には、スキップ連接文字として
は“age"が抽出されるが、逐次連接文字として“ang",
“ngl"および“gle"が抽出されないため、ノイズとして
削除される。また、“angry"と“single"を同時に含む
文書が登録された場合には、逐次連接文字として“an
g",“ngl"および“gle"が連接文字成分表に登録される
ことになるが、スキップ連接文字として“age"が抽出さ
れないため、やはりノイズとして削除することができ
る。
【0154】その結果、連接文字成分表サーチにおける
絞り込み率を向上させることができ、階層プリサーチに
おける凝縮テキストの探索量が削減できることになるた
め、等価的に全体の検索速度が向上することになる。し
たがって、より大量のフルテキストサーチが実時間で可
能となる。
【0155】本実施例では、逐次連接文字の連接文字成
分表を連続する3文字の文字列で作成する場合について
説明したが、文字列長が2文字および4文字以上の場合
についても同様な処理が可能であることは、上記の説明
から明らかであろう。また、スキップ連接文字の連接文
字成分表を1文字おきに3文字の文字列で作成する場合
について説明したが、何文字おきに文字列を抽出して
も、また文字列長が2文字および4文字以上の場合につ
いても同様な処理が可能であることは明らかであろう。
【0156】また、本実施例では単語を意識することな
く“_"(スペース)や“."(ピリオド)、“,"(コンマ)など
を含んだ全文字列を対象として文字成分表を作成した
が、第二の実施例に示したようにテキストを単語に分割
してから文字成分表を作成する方式、および第三の実施
例に示したようにテキストを単語に分割した後、単語の
前後に特殊文字を付加してから文字成分表を作成する方
法をとっても同様な効果が得られることは明らかであろ
う。
【0157】次に、本発明の第五の実施例として第四の
実施例における文書検索方法を日本語テキストに適用し
た場合について説明する。
【0158】日本語は1文字1文字がそれぞれ意味を持
つ表意文字であるため、表音文字である英語などに比
べ、従来例で示されている互いに隣り合う文字列(逐次
連接文字)による文字成分表で、かなり検索ノイズを削
減することができる。しかし、単語の組合せで構成され
る文字列が検索タームに指定された場合には、日本語に
おいてもノイズが多く発生する。例えば、“動画像"と
いう文字列が検索タームに指定された時には逐次連接文
字成分表サーチでは“動画"と“画像"をともに含む文書
が検索されてしまう。その結果、“動画像"を含まない
にもかかわらず“動画"と“画像"が別々の単語として同
時に現われる文書等がノイズとしてヒットしてしまう。
【0159】この問題に対し、本発明の第五の実施例で
は日本語文書に対しi文字(iは2以上の整数)の連続し
た文字列(逐次連接文字)に対し連接文字成分表を作成す
るともに、m文字(mは1以上の整数)おきにn文字(n
は2以上の整数)の文字列(スキップ連接文字)に対し連
接文字成分表を作成することにより、単語の組合せで構
成される文字列が検索タームに指定された場合にも検索
ノイズの少ない連接文字成分表サーチを実現する。
【0160】本実施例における文書検索方法の構成は第
四の実施例と同じである。また、本実施例では日本文に
おけるi文字の連続した文字列においてi=2、m文字
おきにn文字の文字列においてm=1およびn=2とし
た場合について以下に例を挙げて説明する。
【0161】まず、連接文字成分表作成登録プログラム
205によって、まずテキスト103から2文字の連続
した文字列および1文字おきに2文字の連接文字が抽出
される。
【0162】この文字列の抽出については、例えば、
“自動画質調整機能を備えた画像処理装置・・・”とい
うテキストが入力された場合を例に説明する。
【0163】逐次連接文字抽出ステップ400によって
図26に示す文書1から、“自動”、“動画”、“画
質”、“質調”、“調整”、“整機”、“機能”、“能
を”、・・・、“た画”、“画像”、“像処”、“処
理”、・・・が抽出される。さらに、スキップ連接文字
抽出プログラム206によって、“自画”、“動質”、
“画調”、“質整”、“調機”、“整能”、“機を”、
“能備”、・・・、“た像”、“画処”、“像理”、
“処装”、・・・が抽出される。
【0164】最後に、連接文字成分表登録プログラム2
07が起動される。ここでは、連接文字用ハッシュテー
ブル216−aおよびスキップ連接用ハッシュテーブル
216−bを介して、それぞれ逐次連接文字抽出プログ
ラム400およびスキップ連接文字抽出プログラム20
6によって抽出された連接文字成分に対応するエントリ
に‘1’を設定し、連接文字成分の存在を記す。
【0165】次に、検索時の処理について詳細に説明す
る。
【0166】例えば、図27に示すように“動画像”と
いう検索タームから、逐次連接文字抽出ステップ401
によって、“動画”および“画像”が逐次連接文字成分
として抽出される。さらにスキップ連接文字抽出ステッ
プ212によって、“動像”がスキップ連接文字成分と
して抽出される。次に、ビットアンドプログラム213
により、連接文字成分表105のビットリストが逐次連
接文字成分については逐次連接用ハッシュテーブル21
5−aを介して、スキップ連接文字成分についてはスキ
ップ連接用ハッシュテーブル216−bを介して読み出
される。そして、これらすべてのビットリストのビット
がすべて‘1’である文書を連接文字成分表サーチの検
索結果として得る。
【0167】すなわち、読み出したすべてのビットリス
トの間でビット毎に論理積演算を施し、論理積演算結果
900を得る。このビットアンド演算結果のビットリス
ト中で、‘1’となっているビット位置に対応する文書
番号が連接文字成分表サーチの検索結果としてのヒット
文書を表わすことになる。これにより、図27の例で
は、文書Nがヒット文書ということになる。
【0168】このように、本実施例における連接文字成
分表の作成登録処理では、文書の登録時に、日本語テキ
ストデータから連続する2文字の文字列(逐次連接文字)
および1文字おきに2文字の文字列(スキップ連接文字)
を取り出し、この連接文字の存在情報を予め連接文字成
分表に登録する。検索時には、逐次連接文字およびスキ
ップ連接文字の両方の連接文字成分を全て含む文書を検
索することにより、単語の組合せで構成される文字列が
検索タームが指定された場合にも、連接文字成分表サー
チの検索ノイズを削減することができる。例えば、検索
タームとして“動画像"が指定された時には逐次連接文
字として“動画"および“画像"、スキップ連接文字とし
て“動像"を含む文書をサーチする。これに対し、テキ
スト中に“自動画質調整機能を備えた画像処理装置・・
・”という文字列を含む文書が登録された時には、逐次
連接文字として“動画"および“画像"がが連接文字成分
表に登録されることになるが、スキップ連接文字として
“動像"が抽出されないため、ノイズとして削除するこ
とができる。
【0169】その結果、連接文字成分表サーチにおける
絞り込み率を向上させることができ、階層プリサーチに
おける凝縮テキストの探索量が削減できることになるた
め、等価的に全体の検索速度が向上することになる。し
たがって、より大量のフルテキストサーチが実時間で可
能となる。
【0170】なお、本実施例では文字種を意識すること
なく漢字、平仮名、カタカナ、アルファベット、数字お
よび記号などの混在した全ての文字列を対象として文字
成分表を作成している。このため、“半導体レーザ"な
どの文字種の混在した検索タームに指定された場合で
も、文字種間にまたがった連接文字成分を利用した絞り
込みが行える。
【0171】また、本実施例では逐次連接文字の連接文
字成分表を連続する2文字の文字列で作成する場合につ
いて説明したが、文字列長が3文字以上の場合について
も同様な処理が可能であることは、上記の説明から明ら
かであろう。また、スキップ連接文字の連接文字成分表
を1文字おきに2文字の文字列で作成する場合について
説明したが、何文字おきに文字列を抽出しても、また文
字列長が3文字以上の場合についても同様な処理が可能
であることは明らかであろう。
【0172】本実施例では、逐次連接文字の連接文字成
分表を連続する2文字の文字列で作成する場合について
説明したが、文字列長が3文字以上の場合についても同
様な処理が可能であることは、上記の説明から明らかで
あろう。また、スキップ連接文字の連接文字成分表を1
文字おきに2文字の文字列で作成する場合について説明
したが、何文字おきに文字列を抽出しても、また文字列
長が3文字以上の場合についても同様な処理が可能であ
ることは明らかであろう。
【0173】また、本実施例では単語を意識することな
く“_"(スペース)や“."(ピリオド)、“,"(コンマ)など
を含んだ全文字列を対象として文字成分表を作成した
が、第二の実施例に示したようにテキストを単語に分割
してから文字成分表を作成する方法、および第三の実施
例に示したようにテキストを単語に分割した後、単語の
前後に特殊文字を付加してから文字成分表を作成する方
法についても同様の処理が可能であることは明らかであ
ろう。
【0174】次に、本発明の第六の実施例について説明
する。
【0175】本発明の第五の実施例では、日本語文書に
対し文字種を意識することなく漢字、平仮名、カタカ
ナ、英字、数字および記号などの混在した全文字列を対
象として文字成分表を作成した。しかし、この方法では
文字種間にまたがった連接文字を文字成分表に登録する
ことになるため以下に示す種類のノイズが発生する。
【0176】まず、文字種間にまたがった逐次連接文字
成分および文字スキップ連接文字成分が他の連接文字と
同じエントリにハッシングされることによるノイズが発
生する。すなわち、“動画像"が検索タームに指定され
たときには逐次連接文字として“動画"と“画像"が、ス
キップ連接文字として“動像"が抽出される。これに対
し、テキストデータ中に“自動画質調整機能を備えた画
像処理装置"という文字列を含む文書が登録され、スキ
ップ連接文字“能備"に対するエントリがスキップ連接
文字“動像"と同じエントリにハッシングされた場合に
は、平仮名の“を"をまたがったスキップ連接文字であ
る“能備"を含む本文書が抽出されることになり、“自
<動><画>質調整機<能>を<備>えた<画><像>
処理装置”を含む文書がノイズとしてヒットしてしまう
ことになる。
【0177】さらに、検索タームから抽出したスキップ
連接文字成分が異なる文字種間にまたがって現われる文
書を抽出することによりノイズとして検索されてしま
う。すなわち、テキストデータ中に“動画”と“画像"
を含み、かつ“・・・感<動>の<像>を写し出す・・・"と
いう文字列を含む文書が登録された場合には、逐次連接
文字として“動画"と“画像"、またスキップ連接文字と
して平仮名である“の"をまたがった“動像"が連接文字
成分表に登録される。これに対し、検索タームに“動画
像"が指定されたときには検索タームから逐次連接文字
として“動画"と“画像"が、そしてスキップ連接文字と
して“動像"が抽出されることになり、前述した文書が
ノイズとしてヒットしてしまうことになる。
【0178】これらの問題に対し、本発明第六の実施例
では連接文字成分の抽出時にテキストデータを文字種毎
に分割し、分割された文字列から逐次連接文字成分およ
びスキップ連接文字成分を抽出して連接文字成分表を作
成することにより、異なる文字種間にまたがった連接文
字成分を抽出しないようにして、前記のノイズを削減す
る方法を取る。
【0179】本実施例は第四および第五の実施例と基本
的に同様の構成をとるが、図20に示した連接文字成分
表作成登録プログラム205が図28に示した構成に、
また図21に示した連接文字成分表サーチプログラム2
11が図29に示す構成となる。
【0180】すなわち、本実施例における連接文字成分
表作成登録プログラム205は、文字種分割プログラム
500、逐次連接文字抽出プログラム400、スキップ
連接文字抽出プログラム206、連接文字成分表登録プ
ログラム207およびハッシュテーブル作成プログラム
208で構成され、連接文字成分表サーチプログラム2
11は文字種分割プログラム501、逐次連接文字抽出
プログラム401、スキップ連接文字抽出プログラム2
12およびビットアンドプログラム213で構成され
る。
【0181】本実施例における連接文字成分表作成登録
プログラム205は、図30に示すように、まずステッ
プ1400で文字種分割プログラム500を起動し、磁
気ディスク110に格納されたテキスト103からテキ
ストデータをワークエリア217に読み込み、テキスト
データを文字種毎に分割する。
【0182】次に、ステップ1401で逐次連接文字抽
出プログラム400を起動し、文字種分割プログラム5
00によって文字種毎に分割されたテキストデータから
連続する2文字の文字列を抽出する。
【0183】その後、ステップ1402でスキップ連接
文字抽出プログラム206を起動し、文字種分割プログ
ラム500によって文字種毎に分割されたテキストデー
タから1文字おきに2文字の文字列を抽出する。
【0184】最後に、ステップ1403で連接文字成分
表登録プログラム207を起動し、逐次連接文字抽出プ
ログラム400およびスキップ連接文字抽出プログラム
206によって抽出された連接文字を、ワークエリア2
17内の連接文字成分表105にハッシュテーブル21
6に従って登録し、これを磁気ディスク110へ格納す
る。
【0185】検索時には、まず連接文字成分表サーチプ
ログラム211は図31に示すようにステップ1410
で文字種分割プログラム501を起動し、検索条件式中
の検索タームを文字種毎に分割する。
【0186】次に、ステップ1411で逐次連接文字抽
出プログラム401を起動し、文字種分割プログラム5
01によって文字種毎に分割された検索タームから連続
する2文字の文字列すべてを抽出する。
【0187】その後、ステップ1412でスキップ連接
文字抽出プログラム212を起動し、文字種分割プログ
ラム501によって文字種毎に分割された検索タームか
ら1文字おきに2文字の文字列すべてを抽出する。
【0188】さらに、連接文字成分表サーチプログラム
211はステップ1413でビットアンドプログラム2
13を起動し、逐次連接文字抽出プログラム401およ
びスキップ連接文字抽出プログラム212によって抽出
されたすべての文字列に対応する連接文字成分表105
のエントリに格納されているビットリストを、ハッシュ
テーブル217を介してワークエリア216に読み込
み、ステップ1414で読み込まれたすべてのビットリ
スト間で各ビット毎に論理積演算を行う。
【0189】この論理積演算の結果、‘1’となったビ
ットに対応する文書番号を連接文字成分表サーチの結果
として出力する。
【0190】以下、上述した連接文字成分表作成登録プ
ログラム205の処理内容を詳細に説明する。
【0191】連接文字成分表作成登録プログラム205
では、まずテキストデータを文字種毎に分割し、分割さ
れたテキストデータから連続する2文字の文字列および
1文字おきに2文字の文字列を抽出する。
【0192】この連接文字の抽出処理について、例え
ば、“自動画質調整機能を備えた画像処理装置”という
テキストが登録された場合を例に説明する。
【0193】文字種分割プログラム500によって、文
書1は図32に示すように、“自動画質調整機能”、
“を”、“備”、“えた”、“画像処理装置”・・・に
分割される。
【0194】次に、逐次連接文字抽出プログラム400
によって、文字種毎に分割されたテキストデータから逐
次連接文字成分として“自動”、“動画”、“画質”、
“質調”、“調整”、“整機”、“機能”、“えた”、
“画像”、“像処”、“処理”、“理装”、“装置”、
・・・が抽出される。
【0195】さらに、スキップ連接文字抽出プログラム
206によって、文字種毎に分割されたテキストデータ
からスキップ連接文字成分として“自画”、“動質”、
“画調”、“質整”、“調機”、“整能”、“画処”、
“像理”、“処装”、“理置”、・・・が抽出される。
【0196】最後に、連接文字成分表登録プログラム2
07が起動される。ここでは、連接文字用ハッシュテー
ブル216−aおよびスキップ連接用ハッシュテーブル
216−bを介して、それぞれ逐次連接文字抽出プログ
ラム400およびスキップ連接文字抽出プログラム20
6によって抽出された連接文字成分に対応するエントリ
に‘1’を設定し、連接文字成分の存在を記す。
【0197】次に、検索時の処理について詳細に説明す
る。
【0198】まず、文字種分割プログラム501によっ
て検索タームを文字種毎に分割する。図33に示す例で
は、検索タームは“動画像”であり、全て漢字で構成さ
れているため文字種分割により“動画像”がそのまま切
り出される次に、文字種分割された検索タームから逐次
連接文字抽出プログラム206によって、“動画”およ
び“画像”が逐次連接文字成分として抽出される。さら
にスキップ連接文字抽出212によって、“動像”がス
キップ連接文字成分として抽出される。次に、ビットア
ンドプログラム213により、連接文字成分表105の
ビットリストが逐次連接文字成分については逐次連接用
ハッシュテーブル215−aを介して、スキップ連接文
字成分についてはスキップ連接用ハッシュテーブル21
6−bを介して読み出される。そして、これらすべての
ビットリストのビットがすべて‘1’である文書を連接
文字成分表サーチの検索結果として得る。これにより、
図33の例では、文書Nがヒット文書として得られる。
【0199】このように、本実施例における連接文字成
分表の作成登録処理では、文書の登録時に、日本語テキ
ストデータを文字種毎に分割する。そして、文字種毎に
分割されたテキストデータから連続する2文字の文字列
(逐次連接文字)および1文字おきに2文字の文字列(ス
キップ連接文字)を取り出し、この連接文字の存在情報
を予め連接文字成分表に登録する。検索時にも、文字種
毎に分割された検索タームに対し逐次連接文字成分およ
びスキップ連接文字成分を抽出することによって、文字
種間にまたがった連接文字およびスキップ連接文字が文
字成分表に登録されて生じるノイズを削減することがで
きる。
【0200】例えば、テキストデータ中に“動画"と
“画像"を含み、かつ“・・・感動の像を写し出す・・・"とい
う文字列を含む文書が登録された場合には、逐次連接文
字として“動画"と“画像"が抽出されるが、文字種毎に
文字列を分割してから連接文字成分を抽出することによ
り、文字種間にまたがって現われるスキップ連接文字
“動像"を排除することができる。このため、検索ター
ムとして“動画像"が指定されたときには逐次連接文字
である“動画"と“画像"は抽出されるが、スキップ連接
文字である“動像"は抽出されない。したがって、前記
の文書をノイズとして削除することができる。
【0201】その結果、連接文字成分表サーチにおける
絞り込み率を向上させることができ、階層プリサーチに
おける凝縮テキストの探索量が削減できることになるた
め、等価的に全体の検索速度が向上することになる。し
たがって、より大量のフルテキストサーチが実時間で可
能となる。
【0202】なお、本実施例では漢字、平仮名、カタカ
ナ、アルファベット、数字および記号などを単位にテキ
ストデータおよび検索タームを文字種分割する方法につ
いて説明した。しかし、ある特定の文字種間では文字種
分割を行わず、連続した文字列として逐次連接文字成分
およびスキップ連接文字成分を抽出することにより、文
字種の混在した文字列が検索タームに指定された場合に
も、文字種間にまたがった連接文字成分を利用して高精
度に絞り込みを行うことが可能である。例えば、漢字と
カタカナの間で文字種分割を行わないことにより、“半
導体レーザ"や“磁気ディスク"などの文字列についても
高精度に絞り込みを行うことができる。さらに、漢字と
平仮名の間で文字種分割を行わないことにより、“日の
出"や“読み込み"などの文字列についても高精度に絞り
込みを行うことができる。
【0203】また、本実施例では単純にテキストデータ
および検索タームを単純に文字種毎に分割する方法につ
いて説明したが、辞書や日本語処理を用いた単語切り出
し方法によってテキストデータおよび検索タームを分割
した後、逐次連接文字およびスキップ連接文字成分を抽
出する場合についても、同様の効果が得られることは上
記の説明から明らかであろう。
【0204】本実施例では逐次連接文字とスキップ連接
文字の両方の連接文字成分表を用いることにより検索対
象となる文書を絞り込む方法について説明した。しか
し、従来の互いに隣り合う連接文字(逐次連接文字)だけ
を用いる方法についても同様に、テキストデータおよび
検索タームを文字種単位に分割してから逐次連接文字成
分表を作成することにより、文字種間にまたがった連接
文字が他の連接文字と同じエントリにハッシングされる
ことによって生じるノイズを削減できることは明らかで
ある。
【0205】次に、本発明の第七の実施例について説明
する。
【0206】本発明の第六の実施例では、日本語文書に
対しテキストデータおよび検索タームを文字種毎に分割
してから逐次連接文字およびスキップ連接文字を抽出す
ることにより連接文字成分表サーチのノイズを削減する
方法について説明した。しかし、この方法では検索ター
ムに指定した文字列を部分文字列して含む別の単語が現
われる文書をノイズとして検索してしまうという問題が
ある。すなわち、検索タームとして“動画像"という文
字列が指定された場合には、逐次連接文字として“動
画"と“画像"が、スキップ連接文字として“動像"が抽
出される。これに対し、テキストデータ中に“高速な自
動画像処理装置・・・"という文字列を含む文書が登録され
た場合には、やはりテキストデータから逐次連接文字と
して“動画"と“画像"が、スキップ連接文字として“動
像"が抽出される。このため、検索タームである“動画
像"を部分文字列として含む別の単語である“自動画像
処理装置"の現われる文書がノイズとしてヒットしてし
まうことになる。
【0207】この問題に対し本発明の第七の実施例で
は、第六の実施例における文書検索方法において文字種
毎に分割されたテキストデータおよび検索タームの前後
に特殊文字(例えば、ここでは‘^’とする)を付加
し、それを含めて連接文字成分を抽出する特殊文字付加
型の連接文字成分表を作成する。これにより、特殊文字
で文字種の区切りを判別できるようにし、検索タームを
部分文字列として含む別の単語が現われる文書を排除し
て、ノイズを削減する。
【0208】本実施例は第六の実施例と基本的に同様の
構成をとるが、図28に示した連接文字成分表作成登録
プログラム205が図34に示した構成に、また図29
に示した連接文字成分表サーチプログラム211が図3
5に示す構成となる。
【0209】すなわち、本実施例における連接文字成分
表作成登録プログラム205は、文字種分割プログラム
500、特殊文字付加プログラム301、逐次連接文字
抽出プログラム400、スキップ連接文字抽出プログラ
ム206、連接文字成分表登録プログラム207および
ハッシュテーブル作成プログラム208で構成され、連
接文字成分表サーチプログラム211は文字種分割プロ
グラム501、特殊文字付加プログラム302、逐次連
接文字抽出プログラム401、スキップ連接文字抽出プ
ログラム212およびビットアンドプログラム213で
構成される。
【0210】本実施例における連接文字成分表作成登録
プログラム205は、図36に示すように、まずステッ
プ1500で文字種分割プログラム500を起動し、磁
気ディスク110に格納されたテキスト103からテキ
ストデータをワークエリア217に読み込み、テキスト
データを文字種毎に分割する。
【0211】次に、ステップ1501で特殊文字付加プ
ログラム301を起動し、文字種分割プログラム500
によって文字種毎に分割されたテキストデータの前後に
前後に特殊文字‘^’を付加する。
【0212】さらに、ステップ1502で逐次連接文字
抽出プログラム400を起動し、特殊文字付加プログラ
ム301によって特殊文字の付加されたテキストデータ
から連続する2文字の文字列を抽出する。
【0213】その後、連接文字成分表作成登録プログラ
ム205はステップ1503でスキップ連接文字抽出プ
ログラム206を起動し、特殊文字付加プログラム30
1によって特殊文字の付加されたテキストデータから1
文字おきに2文字の文字列をすべて抽出する。
【0214】最後に、ステップ1504で連接文字成分
表登録プログラム207を起動し、逐次連接文字抽出プ
ログラム400およびスキップ連接文字抽出プログラム
206によって抽出された連接文字を、ワークエリア2
17内の連接文字成分表105にハッシュテーブル21
6に従って登録し、これを磁気ディスク110へ格納す
る。
【0215】検索時には、まず連接文字成分表サーチプ
ログラム211は図37に示すようにステップ1510
で文字種分割プログラム501を起動し、検索条件式中
の検索タームを文字種毎に分割する。
【0216】次に、ステップ1511で特殊文字付加プ
ログラム302を起動し、文字種分割プログラム501
によって文字種毎に分割された検索タームの前後に前後
に特殊文字‘^’を付加する。
【0217】その後、ステップ1512で逐次連接文字
抽出プログラム401を起動し、特殊文字付加プログラ
ム302によって特殊文字の付加された検索タームから
連続する3文字の文字列すべてを抽出する。
【0218】また、ステップ1513でスキップ連接文
字抽出プログラム212を起動し、特殊文字付加プログ
ラム302によって特殊文字の付加された検索タームか
ら1文字おきに3文字の文字列すべてを抽出する。
【0219】さらに、ステップ1514でビットアンド
プログラム213を起動し、逐次連接文字抽出プログラ
ム401およびスキップ連接文字抽出プログラム212
によって抽出されたすべての文字列に対応する連接文字
成分表105のエントリに格納されているビットリスト
を、ハッシュテーブル217を介してワークエリア21
6に読み込み、読み込まれたすべてのビットリスト間で
各ビット毎に論理積演算を行う。
【0220】この論理積演算の結果、‘1’となったビ
ットに対応する文書番号を連接文字成分表サーチの結果
として出力する。
【0221】以下、上述した連接文字成分表作成登録プ
ログラム205の処理内容を詳細に説明する。
【0222】連接文字成分表作成登録プログラム205
では、まずテキストデータを文字種毎に分割し、分割さ
れたテキストデータから連続する3文字の文字列および
1文字おきに3文字の文字列をが抽出する。
【0223】この連接文字の抽出処理について、例え
ば、“高速な自動画像処理装置”というテキストが登録
された場合を例に説明する。
【0224】文字種分割プログラム500によって図3
8に示すように文書1は、“高速”、“な”、“自動画
像処理装置”・・・に分割される。
【0225】次に特殊文字付加プログラム301によっ
て、分割されたテキストデータの前後に特殊文字‘^’
が付加され、“^高速^”、“^な^”、“^自動画像
処理装置^”、・・・となる。
【0226】次に、逐次連接文字抽出プログラム400
によって、特殊文字の付加されたテキストデータから逐
次連接文字成分として、“^高”、“高速”、“速
^”、“^な”、“な^”、“^自”、“自動”、“動
画”、“画像”、“像処”、“処理”、“理装”、“装
置”、・・・が抽出される。
【0227】さらに、スキップ連接文字抽出プログラム
206によって、特殊文字の付加されたテキストデータ
からスキップ連接文字成分として、“^速”、“高
^”、“^動”、“自画”、“動像”、“画処”、“像
理”、“処装”、“理置”、“装^”、・・・が抽出さ
れる。
【0228】最後に、連接文字成分表登録プログラム2
07を起動する。ここでは、連接文字用ハッシュテーブ
ル216−aおよびスキップ連接用ハッシュテーブル2
16−bを介して、それぞれ逐次連接文字抽出プログラ
ム400およびスキップ連接文字抽出プログラム206
によって抽出された連接文字成分に対応するエントリに
‘1’を設定し、連接文字成分の存在を記す。
【0229】次に、検索時の処理について詳細に説明す
る。
【0230】まず、文字種分割プログラム501によっ
て検索タームを文字種毎に分割する。図39に示す例で
は、検索タームは“動画像”であり、全て漢字で構成さ
れているため文字種分割により“動画像”がそのまま切
り出される次に特殊文字付加プログラム302によっ
て、検索ターム“動画像”の前後に“^”が付加され、
“^動画像^”となる。
【0231】次に、特殊文字の付加された検索タームか
ら逐次連接文字抽出プログラム206によって“^
動”、“動画”、“画像”および“像^”が逐次連接文
字成分として抽出される。さらにスキップ連接文字抽出
212によって、“^画”、“動像”および“画^”が
スキップ連接文字成分として抽出される。次に、ビット
アンドプログラム213により、連接文字成分表105
のビットリストが逐次連接文字成分については逐次連接
用ハッシュテーブル215−aを介して、スキップ連接
文字成分についてはスキップ連接用ハッシュテーブル2
16−bを介して読み出される。そして、これらすべて
のビットリストのビットがすべて‘1’である文書を連
接文字成分表サーチの検索結果として得る。これによ
り、同図の例では、文書Nがヒット文書として得られ
る。
【0232】すなわち、検索タームとして“動画像”が
指定された時には、検索タームの前後に特殊文字を付加
した“^動画像^”から逐次連接文字として“^動”、
“動画”、“画像”および“像^が、スキップ連接文字
として“^画”、“動像”および“画^”が抽出され
る。それに対し、“自動画像処理”を含む文書中からは
“^動”と“像^”に対応する逐次連接文字成分、およ
び“^画”と“画^”に対応するスキップ連接文字成分
が抽出されない。このため、検索タームである“動画
像”を部分文字列として含む別の単語の“自動画像処
理”が現われる文書をノイズとして検索の対象から外す
ことができる。
【0233】このように、本実施例における連接文字成
分表の作成登録処理では、文書の登録時に、文字種毎に
分割された日本語テキストデータの前後に特殊文字を付
加する。そして、特殊文字の付加されたテキストデータ
から連続する2文字の文字列(逐次連接文字)および1文
字おきに2文字の文字列(スキップ連接文字)を取り出
し、この連接文字の存在情報を予め連接文字成分表に登
録する。検索時にも、文字種単位に分割した検索ターム
の前後に特殊文字を付加した後、逐次連接文字およびス
キップ連接文字を抽出することにより、指定した検索タ
ームを部分文字列として含む別の単語が中間一致によっ
てヒットすることを避けることができ、ノイズを削減す
ることができる。すなわち、テキスト中に“自動画像処
理"という単語が登録された時には、逐次連接文字とし
て“^自"、“自動"、“動画"、“画像"、“像処"、
“処理"および“理^"が、スキップ連接文字として“^
動"、“自画"、“動像"、“画処"、“像理"および“処
^"が抽出される。これに対し、検索タームとして“動
画像"が指定されたときには、逐次連接文字として“^
動"、動画"、“画像"および“像^"が、スキップ連接文
字として、“^画"、“動像"および“画^"が抽出され
ることになるが、テキスト中に“自動画像処理"という
単語を含む文書からは逐次連接文字として“^動"およ
び“像^"がスキップ連接文字として“^画"および“画
^"が抽出されないため、前記文書をノイズとして削除
することができる。
【0234】その結果、連接文字成分表サーチにおける
絞り込み率を向上させることができる。そのため、階層
プリサーチにおける凝縮テキストの探索量が削減でき、
等価的に全体の検索速度が向上することになる。したが
って、より大量のフルテキストサーチが実時間で可能と
なる。
【0235】なお、本実施例では逐次連接文字とスキッ
プ連接文字の両方の連接文字成分表を用いることにより
検索対象となる文書を絞り込む方法について説明した。
しかし、従来の互いに隣り合う連接文字(逐次連接文字)
だけを用いる方法についても同様に、文字種単位に分割
したテキストデータおよび検索タームの前後に特殊文字
を付加したし、逐次連接文字およびスキップ連接文字を
抽出することにより、指定した検索タームを部分文字列
として含む別の単語が中間一致によってヒットすること
によって生じるノイズを削減できることは明らかであろ
う。
【0236】次に、本発明の第八の実施例について説明
する。
【0237】本発明第五の実施例では、連接文字成分表
の1個のエントリに複数の連接文字成分を割り付ける、
すなわちハッシングすることにより実用的な容量で連接
文字成分表を実現する方法について説明した。しかしこ
の方法では、ある連接文字を指定して該当する文字成分
表のエントリを読み出した場合、そのビット情報から全
く別の連接文字成分を含む文書が得られる可能性があ
る。そのため、大量の文書を登録する大規模な文書検索
システムで、検索語に関係しない文書のふるい落とし、
すなわち絞込みが適確に行なわれず検索低能の低下につ
ながるおそれがある。
【0238】この問題に対し本発明第八の実施例では、
連接文字成分表を作成する際に、出現頻度の高い連接文
字成分に対しては各連接文字の出現した文書番号に対応
するビット位置に‘1'を記したビットリストで、各連
接文字の出現した文書番号を格納する。さらに、出現頻
度の低い連接文字成分に対しては、各連接文字の出現し
た文書番号をバイナリデータのリストとして格納するこ
とにより、ハッシングによる検索ノイズの生じない連接
文字成分表を実用的な容量で実現する方法を取る。
【0239】本実施例は図1に示した第一の実施例と基
本的に同様の構成をとるが、その中の連接文字成分表1
05、連接文字成分表作成登録プログラム205および
連接文字成分表サーチプログラム211の部分が、それ
ぞれ図40、図41および図42に示す構成となる。
【0240】すなわち、本実施例における連接文字成分
表105は図40に示すようにビットリスト105−a
および文書番号リスト105−bで構成される。また、
連接文字成分表作成登録プログラム205は、図41に
示すように逐次連接文字抽出プログラム400、スキッ
プ連接文字抽出プログラム206、連接文字成分表登録
プログラム207および文字出現頻度算出プログラム6
00で構成され、連接文字成分表作成登録プログラム2
05における連接文字成分表登録プログラム207は、
文書出現頻度判定プログラム601、ビットリスト登録
プログラム602および文書番号リスト登録プログラム
603で構成される。さらに、連接文字成分表サーチプ
ログラム211は図42に示すように逐次連接文字抽出
プログラム401、スキップ連接文字抽出プログラム2
12、連接文字成分表取得プログラム604およびビッ
トアンドプログラム213で構成される。
【0241】以下、本実施例における連接文字成分表の
登録処理、およびサーチ処理の概要について説明する。
【0242】本実施例では、まず登録処理の前処理とし
て連接文字成分表作成登録プログラム205は文字出現
頻度算出プログラム600を起動し、テキスト103か
らテキストデータをワークエリア217に読み出す。そ
して、テキストデータ中に現われた連続する2文字の文
字列(逐次連接文字)および1文字おきに2文字の文字列
(スキップ連接文字)に対し、各文字列の出現した文書件
数(出現文書数)を算出する。
【0243】次に、連接文字成分表作成登録プログラム
205は図43に示すようにステップ1600で逐次連
接文字抽出プログラム400を起動する。そして、各文
書毎にテキストデータ中に現われる連続する2文字の文
字列を逐次連接文字として抽出する。
【0244】また、連接文字成分表作成プログラム20
5はステップ1601でスキップ連接文字抽出プログラ
ム206を起動し、各文書毎に1文字おきに2文字の文
字列をスキップ連接文字として抽出する。
【0245】さらに、連接文字成分表作成登録プログラ
ム205はステップ1602で連接文字成分表登録プロ
グラム207を起動し、逐次連接文字抽出プログラム4
00およびスキップ連接文字抽出プログラム206によ
って抽出された各連接文字の出現情報を連接文字成分表
に登録する。
【0246】次に、連接文字成分表登録プログラム20
7の処理の概要を図44に示す。
【0247】連接文字成分表登録プログラム207は、
始めにステップ1610で文字出現頻度判定プログラム
601を起動し、逐次連接文字抽出プログラム400お
よびスキップ連接文字抽出プログラム206によって抽
出された各連接文字の出現頻度が所定のしきい値より大
きいか否かを判定する。そして、大きい場合にはステッ
プ1611でビットリスト登録プログラム602を起動
し、各連接文字の出現した文書番号に該当するビット位
置に‘1’を記すことによって出現方法を記録する。ま
た、小さい場合にはステップ1612で文書番号リスト
登録プログラム603を起動し、各連接文字の出現した
文書番号をバイナリデータとして文書番号リストに登録
することにより出現情報を記録する。
【0248】以上が登録処理の概要である。
【0249】サーチ時には、連接文字成分表サーチプロ
グラム211は図45に示すようにステップ1620で
逐次連接文字抽出プログラム401を起動し、検索ター
ムから連続する2文字の文字列を逐次連接文字として抽
出する。
【0250】さらに、連接文字成分表サーチプログラム
211はステップ1621でスキップ連接文字抽出プロ
グラム212を起動し、1文字おきに2文字の文字列を
スキップ連接文字として抽出する。
【0251】次に、連接文字成分表サーチプログラム2
11はステップ1622で連接文字成分表取得プログラ
ム603を起動する。連接文字成分表取得プログラム6
03では、図46に示すようにステップ1630で各連
接文字に対応する文字成分表がビットリストで格納され
ているか、文書番号リストで格納されているかを判定す
る。そして、文書番号リストで格納されている場合には
ステップ1631を起動し、該当するビット列をそのま
ま連接文字成分表として取得する。また、文書番号リス
トで格納されている場合にはステップ1632を起動
し、文書番号リスト中の各文書番号に該当するビット位
置に‘1’を設定することによりビットリストに変換
し、該当する連接文字の文字成分表を取得する。
【0252】最後に、連接文字成分表サーチプログラム
211はステップ1623でビットアンドプログラム2
13を起動し、連接文字成分表取得プログラム604に
よって取得されたビットリストの間で各ビット毎に論理
積演算を行う。この論理積演算の結果‘1’となったビ
ットに対応する文書番号を連接文字成分表サーチの結果
として検索制御プログラム209に出力する。
【0253】以上が、本発明による連接文字成分表の登
録およびサーチ処理の概略である。
【0254】さらに、実施例における連接文字成分表の
登録方法およびサーチ方法の詳細について、以下に例を
挙げて説明する。なお、本実施例では、全登録文書の件
数を100万件とし文書番号を32ビットのバイナリデータ
として文書番号リストに格納した場合について説明す
る。
【0255】まず、サーチ処理から先に説明する。
【0256】本実施例では、検索タームから抽出された
連接文字成分に対する連接文字成分表を取得するための
管理テーブルとして、文字テーブルとファイルポインタ
テーブルを用いる。図47は文字テーブルとファイルポ
インタテーブルを用いた検索処理の概要を示す図であ
る。
【0257】前述したように、連接文字成分表サーチ時
には連接文字成分表サーチプログラム211は、まず始
めに逐次連接文字抽出プログラム401を起動し、検索
ターム中から連続する2文字の文字列を逐次連接文字と
して抽出する。例えば、“動画像"という文字列が検索
タームに指定された場合には、“動画"および“画像"を
逐次連接文字として抽出する。
【0258】そして、スキップ連接文字抽出プログラム
212を起動し、検索ターム中から1文字おきに2文字
の文字列をスキップ連接文字として抽出する。例えば、
“動画像"という文字列が検索タームに指定された場合
には、“動像"をスキップ連接文字として抽出する。
【0259】なお、これからの説明では簡略化のため、
主に逐次連接文字成分表の登録方法および検索について
説明する。また、スキップ連接においても同様の処理で
検索が実現できる。
【0260】次に、連接文字成分表取得プログラム60
4では文字テーブルに対し検索タームから抽出された連
接文字の先頭1文字目の文字コードに対応するレコード
を参照することによりファイルポインタテーブルへのポ
インタ情報を得る。例えば、逐次連接文字“動画"につ
いては、先頭1文字目の文字コードであるに“動"の文
字コードに対応する文字テーブルのレコードを参照して
ファイルポインタテーブルへのポインタ情報560を得
る。
【0261】次に、文字テーブルを参照した結果得られ
たポインタ情報を元にファイルポインタテーブルを参照
し、該当連接文字に対する連接文字成分表が格納されて
いるファイルの識別子(以後ファイルIDと呼ぶ)およびフ
ァイル内での位置情報(ファイル先頭からの格納位置
で、以後オフセットとも呼ぶ)を得る。すなわち、図4
9の例では文字テーブルを参照した結果得られた560を
基に、ファイルポインタテーブルの先頭から560バイト
目以降の各レコードを参照して、第二文字目が“画"の
レコードを探索する。以上の処理により、ファイルIDと
して1、オフセットとして1,034を“動画"に対する連接
文字成分表を参照するための情報としてを得ることがで
きる。なお、ファイルポインタテーブルでは、各先頭文
字に対応するレコードの1番目には第二文字目が0のレ
コードを格納しておき、先頭文字一文字に対応する単一
文字成分表をアクセスするためのファイルIDとオフセッ
トを格納する。すなわち、本図の例では、ファイルポイ
ンタテーブルの580バイト目には“動"の一文字に対応す
る文字成分表のファイルIDとオフセットを格納する。こ
うすることにより、例えば二文字目に“画"を照合する
ことなく、次に第二文字目として0のレコードを検出し
た場合には、連接文字“動画"がテキストデータ中に現
われなかったものと判断することができる。
【0262】次に、ファイルポインタテーブルを参照し
た結果得られたファイルIDおよびオフセットから、該当
する連接文字成分に対応する連接文字成分表を取得す
る。本実施例においては、ビットリスト用のファイルID
および文書番号用のファイルIDを予め規定しておく。こ
うすることにより、ファイルIDの値によって各連接文字
に対応する連接文字成分表がビットリストで構成されて
いるか、または文書番号リストで構成されているかを判
定することができる。すなわち、図47に示す例ではフ
ァイルIDが1に対応するファイルはビットリストで、2
に対応するファイルは文書番号リストで構成されてい
る。そして、指定された連接文字に対応するファイルID
が1の場合には、ファイル1内の該当するオフセット位
置から文書登録件数に相当する分のビットリストを読み
出す。また、ファイルIDが2の場合には、まずファイル
2内の該当するオフセット位置から該当する、連接文字
が現われた文書数(出現文書数)を読み込む。次に、出現
文書数に相当する文書番号を読み込むことにより該当す
る連接文字の現われた文書番号のリストを読み込む。そ
して、得られた文書番号リストをビットリストの形に変
換することにより該当する連接文字に対応する連接文字
成分表を得る。
【0263】図47の例では、連接文字“動画"に対応
する連接文字成分表へのアクセス情報として、ファイル
IDとして1、オフセットとして875,000が得られるた
め、ファイル1内の875kバイト目から100万件分に相当
する125kバイト(=1,000,000bit)のビット列“01110101
01...."を読み込む。このビット列は、先頭ビットから
文書番号に対応して、‘1’が連接文字“動画"を含む
文書を示すことになる。また、連接文字“画像"につい
ては、ファイルIDとして2、オフセットとして1,084が
得られため、ファイル2の先頭から1,084バイト目を参
照することによって、連接文字“画像"を含む文書数と
して34を読み込む。そして、文書番号リストから34件分
に相当する文書番号を読み込むことにより、“画像"の
現われた文書番号が783,1038,・・・であることがわかる。
この結果から、ビットリスト中の783,1038,・・・番目の文
書IDに該当する位置に‘1’を設定することによりビッ
ト列に変換する。
【0264】最後に、ビットアンドプログラム213で
は、これらすべてのビット列の論理積を取り、その結果
が‘1’である文書を連接文字成分表サーチの検索結果
として得る。
【0265】以上が、本実施例における連接文字成分表
サーチ処理に関する説明である。
【0266】このような、連接文字成分表サーチを実現
する連接文字成分表の登録処理および文字テーブル、フ
ァイルポインタテーブルの作成方法について説明する。
なお、本実施例では全登録文書の件数を100万件とし、
文書番号リストに文書番号を32ビットのバイナリデータ
として格納しているため、文字出現頻度しきい値として
31,250件(100万ビット÷32ビット/件)を用いる。
【0267】始めに、各連接文字成分の出現文書数の算
出方法について説明する。ここでは、図48に示す文字
出現頻度テーブルを使用して各連接文字成分の出現文書
数を算出する。まず、文字出現頻度テーブルは初期状態
として全てのデータに0を登録しておく。次に、テキス
ト103から各文書毎にテキストデータをワークエリア
217に読み出し、テキストデータから連続する2文字
の文字列を抽出する。そして、文字出現頻度テーブルに
対し、抽出された連接文字の文字コードに該当するデー
タに1を加算することにより各連接文字成分の出現した
文書の件数(出現文書数)を算出する。“自動画質調整機
能を備えた画像処理装置・・・”というテキストデータに
対しては、連続する2文字の連接列として“自動”、
“動画”、“画質”、・・・が抽出され、文字出現頻度
テーブルの各文字コードに対応するデータに1を加算
し、全ての登録文書中に各連接文字成分の出現した文書
数を算出する。
【0268】次に、先ほど作成した文字出現頻度テーブ
ルの値が0でない連接文字を抽出することにより、テキ
ストデータ中に現われた連接文字を抽出する。
【0269】すなわち、図50に示した例では、“動
動”に対する文字出現頻度テーブルの値は0であるた
め、テキストデータ中に現われた連接文字として抽出し
ない。
【0270】また、“動画”については文字出現頻度テ
ーブルの値は0でないためテキストデータ中に現われた
連接文字として抽出する。そして、出現書数がしきい値
である31,250より大きいため、ビットリストに登録文書
件数に相当する125kバイト(=1000,000ビット)の領域を
アロケートする。さらに、ファイルポインタテーブルに
第二文字目として“画”を、ファイルIDとしてビットリ
ストを表わす“1”を、オフセットとしてビットリスト
内にアロケートした領域の先頭オフセットに相当する87
5,000を書き込む。また、第二文字目として“0”を書
き込んだ場合には、該当するファイルポインタテーブル
内のオフセット値を、文字テーブルの連接文字成分の先
頭文字に対応するデータに書き込む。
【0271】次に、“画像”についても文字出現頻度テ
ーブルの値は0でないためテキストデータ中に現われた
連接文字として抽出する。そして、出現書数がしきい値
である31,250より小さいため、文書番号リストに出現文
書数である“56”を書込み、出現文書数に相当する136
バイト(4バイト/件×34件)の領域をアロケートする。さ
らに、ファイルポインタテーブルに第二文字目として
“像”を、ファイルIDとして文書番号リストを表わす
“2”を、オフセットとして文書番号リスト内にアロケ
ートした領域の先頭オフセットに相当する1,084を書き
込む。
【0272】以上示したように、本実施例では各連接文
字に対し予めビットリストおよび文書番号リストの格納
領域をアロケートすることにより連接文字成分表を登録
するための準備をしておく。
【0273】次に、文書番号783のテキストデータとし
て“動画像”という文字列が現われた場合を例に、連接
文字成分表の登録処理について説明する。
【0274】まず、テキスト103からテキストデータ
を1件ずつワークエリア217に読み込み、テキストデ
ータ中に現われた連続する2文字の文字列を抽出するこ
とにより、逐次連接文字として“動画”と“画像”を抽
出する。次に、連接文字成分表サーチ時と同様に文字テ
ーブルおよびファイルポインタテーブルを参照すること
にことにより、各連接文字を格納しているファイルIDお
よびオフセットを得る。例えば、逐次連接文字“動画”
についてはファイルIDとして“1”を、オフセットとし
て875,000を得る。そして、ファイルIDとして“1”に
相当するビットリストの先頭875kバイト目から100万件
分のビット列、すなわち125kバイトのビット列を読み込
み、この内783番目の文書番号に対応するビット位置に
‘1’を設定することにより“動画”という文字列が文
書番号783に出現したことを記す。また、“画像”につ
いても同様に、文字テーブルおよびファイルポインタテ
ーブルを参照することによりファイルIDとして“2”
を、オフセットとして1,084を得る。そして、ファイルI
Dとして“2”に相当する文書番号リストの1,084バイト
目を参照することにより“画像”の出現文書数が34であ
るという情報を得る。そして、文書番号リストの続く34
件分に相当する文書番号を読み込み、その内から“0”
が初めて現われたエントリに対しバイナリデータとして
783を書き込むことにより“画像”という文字列が文書
番号783に現われたことを記す。
【0275】以上が、本実施例における連接文字成分表
の登録処理の詳細である。
【0276】このように、本実施例による連接文字成分
表では出現頻度の高い連接文字に対しては出現情報をビ
ットリストで、出現頻度の低い連接文字に対しては出現
情報を文書番号リストで格納する。こうすることによ
り、ハッシングによるノイズの生じない連接文字成分表
を実用的な容量で実現することができる。
【0277】なお、本実施例では登録処理の前処理とし
て、登録文書全文に対応するテキストデータを参照して
各連接文字成分の出現頻度を算出することにより、ビッ
トリストおよび文書番号リストの領域をアロケートする
方法を用いた。しかし、予め統計情報を用いて、出現頻
度の高いと判断される連接文字にはビットリストを、出
現頻度の低いと判断される連接文字には予想される出現
文書数に応じた容量をアロケートすることにより、出現
頻度算出プログラムの実行が不要になる。
【0278】さらに、本実施例では、本発明第五の実施
例における文書検索方法に対して、出現頻度の高い連接
文字に対しては出現情報をビットリストで、出現頻度の
低い連接文字に対しては出現情報を文書番号リストで格
納する方式について説明した。しかし、これまでに説明
してきた全ての実施例に対しても適用できることは明ら
かであろう。
【0279】最後に、本実施例では、100万件の文書に
対して一回の登録処理で連接文字成分表の登録処理を行
う方法について説明したが、例えば1万件毎のテキスト
データと対象としてビットリストおよび文書番号リスト
を作成し、これを後でマージすることにより100万件分
の連接文字成分表を作成する方法であっても構わない。
この時には連接文字成分表を作成するために必要となる
テーブルが小さい容量で済む。このため、少量のメモリ
容量しか搭載されていないコンピュータにおいても、テ
ーブルをメモリ上に格納して文書の登録が行えるため、
登録時間が短縮できるという特長がある。
【0280】
【発明の効果】本発明によれば、階層プリサーチにおい
てハッシングによるノイズが生じない連接文字成分表を
実用的な容量で実現することができる。さらに、英語等
の表音文字で構成される文字列、および単語の組合せで
構成される文字列が検索タームとして指定された場合で
も、連接文字成分表の絞り込み率をさらに向上させるこ
とができ、無用の凝縮テキストサーチを大幅に省くこと
ができるため、大規模な文書データベースに対しても実
用的な応答時間でフルテキストサーチを行うことが可能
となる。
【図面の簡単な説明】
【図1】本発明の第一の実施例の構成を示す図である。
【図2】従来例の説明図である。
【図3】第一の文書検索方法における作用を示す図であ
る。
【図4】本発明第一の実施例における文書の登録手順を
示すPAD図である。
【図5】本発明第一の実施例における連接文字成分表作
成登録プログラムの処理手順を示すPAD図である。
【図6】階層検索の制御手順を示すPAD図である。
【図7】本発明第一の実施例における連接文字成分の抽
出方法を示す図である。
【図8】本発明第一の実施例における連接文字成分表の
作成方法を示す図である。
【図9】本発明第一の実施例における連接文字成分表の
検索方法を示すPAD図である。
【図10】本発明第一の実施例における連接文字成分表
の検索方法を示す図である。
【図11】本発明第二の実施例における連接文字成分表
作成登録プログラムの構成を示す図である。
【図12】本発明第二の実施例における連接文字成分表
作成登録プログラムの処理手順を示すPAD図である。
【図13】本発明第二の実施例における連接文字成分表
の作成方法を示す図である。
【図14】本発明第三の実施例における連接文字成分表
作成登録プログラムの構成を示す図である。
【図15】本発明第三の実施例における連接文字成分表
サーチプログラムの構成を示す図である。
【図16】本発明第三の実施例における連接文字成分表
作成登録プログラムの処理手順を示すPAD図である。
【図17】本発明第三の実施例における連接文字成分表
サーチプログラムの処理手順を示すPAD図である。
【図18】本発明第三の実施例における連接文字成分表
の作成方法を示す図である。
【図19】本発明第三の実施例における連接文字成分表
のサーチ方法を示す図である。
【図20】本発明第四の実施例における連接文字成分表
作成登録プログラムの構成を示す図である。
【図21】本発明第四の実施例における連接文字成分表
サーチプログラムの構成を示す図である。
【図22】本発明第四の実施例における連接文字成分表
作成登録プログラムの処理手順を示すPAD図である。
【図23】本発明第四の実施例における連接文字成分表
サーチプログラムの処理手順を示すPAD図である。
【図24】本発明第四の実施例における連接文字成分表
の作成方法を示す図である。
【図25】本発明第四の実施例における連接文字成分表
のサーチ方法を示す図である。
【図26】本発明第五の実施例における連接文字成分表
の作成方法を示す図である。
【図27】本発明第五の実施例における連接文字成分表
のサーチ方法を示す図である。
【図28】本発明第六の実施例における連接文字成分表
作成登録プログラムの構成を示す図である。
【図29】本発明第六の実施例における連接文字成分表
サーチプログラムの構成を示す図である。
【図30】本発明第六の実施例における連接文字成分表
作成登録プログラムの処理手順を示すPAD図である。
【図31】本発明第六の実施例における連接文字成分表
サーチプログラムの処理手順を示すPAD図である。
【図32】本発明第六の実施例における連接文字成分表
の作成方法を示す図である。
【図33】本発明第六の実施例における連接文字成分表
のサーチ方法を示す図である。
【図34】本発明第七の実施例における連接文字成分表
作成登録プログラムの構成を示す図である。
【図35】本発明第七の実施例における連接文字成分表
サーチプログラムの構成を示す図である。
【図36】本発明第七の実施例における連接文字成分表
作成登録プログラムの処理手順を示すPAD図である。
【図37】本発明第七の実施例における連接文字成分表
サーチプログラムの処理手順を示すPAD図である。
【図38】本発明第七の実施例における連接文字成分表
の作成方法を示す図である。
【図39】本発明第七の実施例における連接文字成分表
のサーチ方法を示す図である。
【図40】本発明第八の実施例における連接文字成分表
の構成を示す図である。
【図41】本発明第八の実施例における連接文字成分表
作成登録プログラムの構成を示す図である。
【図42】本発明第八の実施例における連接文字成分表
サーチプログラムの構成を示す図である。
【図43】本発明第八の実施例における連接文字成分表
作成登録プログラムの処理手順を示すPAD図である。
【図44】本発明第八の実施例における連接文字成分表
登録プログラムの処理手順を示すPAD図である。
【図45】本発明第八の実施例における連接文字成分表
サーチプログラムの処理手順を示すPAD図である。
【図46】本発明第八の実施例における連接文字成分表
取得プログラムの処理手順を示すPAD図である。
【図47】本発明第八の実施例における連接文字成分表
のサーチ方法を示す図である。
【図48】本発明第八の実施例における連接文字成分表
の作成方法を示す図である。
【符号の説明】
100…ディスプレイ 101…キーボード 102
…CPU 103…テキスト 104…凝縮テキスト 105
…連接文字成分表 106…フロッピディスクドライブ(FDD) 107
…フロッピディスク 108…バス 110…磁気ディスク 200
…主メモり
───────────────────────────────────────────────────── フロントページの続き (72)発明者 水谷 奈津子 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所 システム開発研究 所内 (72)発明者 川口 久光 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所 システム開発研究 所内 (72)発明者 加藤 寛次 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所 システム開発研究 所内 (72)発明者 浅川 悟志 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所 ソフトウエア開発 本部内 (56)参考文献 特開 平7−319920(JP,A) 特開 平5−174064(JP,A) 特開 平5−81321(JP,A) 特開 平4−274557(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 JICSTファイル(JOIS)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】予め蓄積された各文書から予め定められた
    形式で部分文字列を抽出し、 前記各文書において前記部分文字列が存在するか否かを
    示す連接文字成分表を作成し、 前記各文書から所望の文書を検索するために入力された
    検索タームから予め定められた形式で検索用部分文字列
    を抽出し、 抽出された前記検索用部分文字列に対応する前記連接文
    字成分表を参照して検索タームを構成する各検索用部分
    文字列と一致する部分文字列が存在する文書を求めて、
    前記検索タームに関連のない文書を検索対象からふるい
    落とす文書検索方法において、 前記文書から予め定められたm文字(mは1以上の整
    数)おきに、予め定められたn文字(nは2以上の整
    数)の文字列を前記部分文字列として抽出し、 前記検索タームから予め定められたm文字(mは1以上
    の整数)おきに、予め定められたn文字(nは2以上の
    整数)の文字列を前記検索用部分文字列として抽出し、 前記連接文字成分表は、所定のしきい値より出現頻度が
    高い連接文字の出現する文書番号に対応するビット位置
    に1を記すことにより文字列の出現情報を登録するビッ
    トリストと、所定のしきい値より出現頻度が低い連接文
    字成分用に、前記所定の出現頻度より出現頻度が低い連
    接文字の出現する文書番号をバイナリデータのリストと
    して格納した文書番号リストを有し、 予め前記文書中に現われる連接文字成分の種類および各
    連接文字成分の出現する文書数を算出し、 前記算出された文書数が所定のしきい値より大きい場合
    には、前記ビットリストに対し該当する連接文字の出現
    した文書番号に相当するビット位置に'1'を記すことに
    より連接文字成分の出現情報を登録し、 前記算出された文書数が所定のしきい値より小さい場合
    には、該当する連接文字の出現した文書番号をバイナリ
    データのリストとして前記文書番号リストに書き込むこ
    とにより、各連接文字成分の出現情報を格納し、 前記検索タームから抽出された連接文字に対し、抽出さ
    れた連接文字に対応するビットリストまたは文書番号リ
    ストを読み出し、文書番号リストの場合にはこれをビッ
    トリストに変換することにより連接文字成分表を取得
    ることを特徴とする文書検索方法。
  2. 【請求項2】請求項1記載の文書検索方法において、 前記文書から部分文字列を抽出する際は、前記文書から
    単語を切り出し、 切り出された単語から予め定められたm文字(mは1以
    上の整数)おきに、予め定められたn文字(nは2以上
    の整数)の文字列を前記部分文字列として抽出すること
    を特徴とする文書検索方法。
  3. 【請求項3】請求項2記載の文書検索方法において、 切り出された単語から予め定められたn文字(nは2以
    上の整数)の一続きの文字列を前記部分文字列として抽
    出し、 前記検索タームから予め定められたn文字(nは2以上
    の整数)の一続きの文字列を前記検索用部分文字列とし
    て抽出することを特徴とする文書検索方法。
  4. 【請求項4】請求項2記載の文書検索方法において、 切り出された単語の前後に所定の符号を付加し、前記所
    定の符号を付加された単語から予め定められたm文字
    (mは1以上の整数)おきに、予め定められたn文字
    (nは2以上の整数)の文字列を抽出し、 前記検索タームの前後に所定の符号を付加し、 所定の符号が付加された検索タームから予め定められた
    m文字(mは1以上の整数)おきに、予め定められたn
    文字(nは2以上の整数)の文字列を検索用文字列とし
    て抽出することを特徴とする文書検索方法。
  5. 【請求項5】請求項1記載の文書検索方法において、 前記文書からから予め定められたi文字(iは2以上の
    整数)の一続きの文字列を前記部分文字列として抽出す
    るとともに、前記文書から予め定められたm文字(mは
    1以上の整数)おきに、予め定められたn文字(nは2
    以上の整数)の文字列を前記部分文字列として抽出し、 前記検索タームから予め定められたi文字(iは2以上
    の整数)の一続きの文字列を前記検索用部分文字列とし
    て抽出するとともに、前記検索タームから予め定められ
    たm文字(mは1以上の整数)おきに、予め定められた
    n文字(nは2以上の整数)の文字列を前記検索用文字
    列として抽出することを特徴とする文書検索方法。
  6. 【請求項6】 予め蓄積された各文書から予め定められた
    形式で部分文字列を抽出し、前記各文書において前記部
    分文字列が存在するか否かを示す連接文字成分表を作成
    する手段と、前記各文書から所望の文書を検索するため
    に入力された検索タームから予め定められた形式で検索
    用部分文字列を抽出する手段とを備え、前記抽出された
    前記検索用部分文字列に対応する前記連接文字成分表を
    参照して検索タームを構成する各検索用部分文字列と一
    致する部分文字列が存在する文書を求める文書検索装置
    において、 前記連接文字成分表は、所定のしきい値より出現頻度が
    高い連接文字の出現する文書番号に対応するビット位置
    に1を記すことにより文字列の出現情報を登録するビッ
    トリストと、所定のしきい値より出現頻度が低い連接文
    字成分用に、前記所定の出現頻度より出現頻度が低い連
    接文字の出現する文書番号をバイナリデータのリストと
    して格納した文書番号リストとを有し、 前記文書検索装置は、 前記文書から予め定められたm文字(mは1以上の整
    数)おきに、予め定められたn文字(nは2以上の整
    数)の文字列を前記部分文字列として抽出する手段と、 前記検索タームから予め定められたm文字(mは1以上
    の整数)おきに、予め定められたn文字(nは2以上の
    整数)の文字列を前記検索用部分文字列として抽出する
    手段と、 予め前記文書中に現われる連接文字成分の種類および各
    連接文字成分の出現する文書数を算出する手段と、 前記算出された文書数が所定のしきい値より大きい場合
    には、前記ビットリストに対し該当する連接文字の出現
    した文書番号に相当するビット位置に'1'を記すことに
    より連接文字成分の出現情報を登録する手段と、 前記算出された文書数が所定のしきい値より小さい場合
    には、該当する連接文字の出現した文書番号をバイナリ
    データのリストとして前記文書番号リストに書き込むこ
    とにより、各連接文字成分の出現情報を登録する手段
    と、 前記検索タームから抽出された連接文字に対し、抽出さ
    れた連接文字に対応するビットリストまたは文書番号リ
    ストを読み出し、文書番号リストの場合にはこれをビッ
    トリストに変換することにより連接文字成分表を取得す
    る手段とを備えることを特徴とする文書検索装置。
JP00240695A 1995-01-11 1995-01-11 文書検索方法 Expired - Lifetime JP3489237B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00240695A JP3489237B2 (ja) 1995-01-11 1995-01-11 文書検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00240695A JP3489237B2 (ja) 1995-01-11 1995-01-11 文書検索方法

Publications (2)

Publication Number Publication Date
JPH08190572A JPH08190572A (ja) 1996-07-23
JP3489237B2 true JP3489237B2 (ja) 2004-01-19

Family

ID=11528369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00240695A Expired - Lifetime JP3489237B2 (ja) 1995-01-11 1995-01-11 文書検索方法

Country Status (1)

Country Link
JP (1) JP3489237B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US10437443B1 (en) 2010-11-30 2019-10-08 Cypress Lake Software, Inc. Multiple-application mobile device methods, systems, and computer program products

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10214452A (ja) * 1997-01-30 1998-08-11 Toshiba Corp 回転装置及びこの回転装置を用いた情報処理装置
JP5391583B2 (ja) * 2008-05-29 2014-01-15 富士通株式会社 検索装置、生成装置、プログラム、検索方法および生成方法
JP5648360B2 (ja) * 2010-08-09 2015-01-07 富士通株式会社 文字列検索装置、文字列検索方法および文字列検索プログラム
JP5605288B2 (ja) 2011-03-31 2014-10-15 富士通株式会社 出現マップ生成方法、ファイル抽出方法、出現マップ生成プログラム、ファイル抽出プログラム、出現マップ生成装置、およびファイル抽出装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263963B2 (ja) * 1991-12-25 2002-03-11 株式会社日立製作所 文書検索方法及び装置
JP3220865B2 (ja) * 1991-02-28 2001-10-22 株式会社日立製作所 フルテキストサーチ方法
JP3497243B2 (ja) * 1994-05-24 2004-02-16 株式会社日立製作所 文書検索方法及び装置
JPH0581321A (ja) * 1991-09-18 1993-04-02 Hitachi Ltd フルテキストサーチの方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US11089353B1 (en) 2010-01-29 2021-08-10 American Inventor Tech, Llc Hot key systems and methods
US10437443B1 (en) 2010-11-30 2019-10-08 Cypress Lake Software, Inc. Multiple-application mobile device methods, systems, and computer program products

Also Published As

Publication number Publication date
JPH08190572A (ja) 1996-07-23

Similar Documents

Publication Publication Date Title
US5748953A (en) Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols
US6094647A (en) Presearch type document search method and apparatus
JP3300866B2 (ja) テキスト処理システムにより使用されるテキストを準備する方法及び装置
US5745745A (en) Text search method and apparatus for structured documents
KR101157693B1 (ko) 토큰스페이스 저장소와 함께 사용하기 위한 멀티-스테이지질의 처리 시스템 및 방법
US20070239708A1 (en) Database Search Method Of Searching A Document Database For A Desired Document File
JP3022539B1 (ja) 文書検索装置
JPH0628403A (ja) 文書検索装置
JP3489237B2 (ja) 文書検索方法
JP3497243B2 (ja) 文書検索方法及び装置
JPH05324722A (ja) 文書検索方式
JPH08147311A (ja) 構造化文書検索方法及び装置
JPH04274557A (ja) フルテキストサーチ方法
JPH08329116A (ja) 構造化文書検索方法
JPH1027183A (ja) データ登録方法および装置
JPH11143902A (ja) n−gramを用いた類似文書検索方法
JPH056398A (ja) 文書登録装置及び文書検索装置
JPS61248160A (ja) 文書情報登録方式
JPH08190571A (ja) 文書検索方法
JP3698400B2 (ja) 多言語文書処理装置、多言語文書処理方法及び記録媒体
JP2002132789A (ja) 文書検索方法
JP2560656B2 (ja) 文書ファイリングシステム
JP2001092831A (ja) 文書検索装置及び文書検索方法
JP2000076254A (ja) キーワード抽出装置、このキーワード抽出装置を用いた類似文献検索装置、キーワード抽出方法及び記録媒体
KR19990084950A (ko) 역화일을 이용한 데이터 부분검색 장치 및 그 방법

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071107

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091107

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101107

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101107

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131107

Year of fee payment: 10

EXPY Cancellation because of completion of term