JP3497243B2 - 文書検索方法及び装置 - Google Patents
文書検索方法及び装置Info
- Publication number
- JP3497243B2 JP3497243B2 JP13381094A JP13381094A JP3497243B2 JP 3497243 B2 JP3497243 B2 JP 3497243B2 JP 13381094 A JP13381094 A JP 13381094A JP 13381094 A JP13381094 A JP 13381094A JP 3497243 B2 JP3497243 B2 JP 3497243B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- character string
- document
- characters
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
少ない表音文字によって構成され、かつスペースによっ
て単語が識別できる文書のデータベースから、所望の文
書を探索する文書検索システムに係わり、特に文書の全
文を対象として、指定した文字列の存在を探索するフル
テキストサーチにおける文書検索方法及び装置に関す
る。
索システムとして、登録時に文書を文字コード化したテ
キストとして直接計算機に登録し、検索時にテキストデ
ータベース内の全てのテキストの内容を読んで、指定さ
れた検索文字列(以下、検索タームと呼ぶ)を含む文書
を探し出すフルテキストサーチが提案されている。この
フルテキストサーチは、テキストデータベースを構成す
る全文書についてテキストファイル全体を先頭から1文
字ずつ走査して、指定された検索タームが存在するか否
かを調べることが特徴である。こうすることにより、検
索タームを含む文書の識別子等を記述したインデクスフ
ァイルがなくとも、テキストデータベースのテキスト本
体を手掛かりにして検索することが可能となる。しか
し、このフルテキストサーチ方式は、テキストファイル
全体を先頭から全て走査するために検索処理に時間が掛
かり、大規模なデータベースに適用できないという問題
があった。
−174652号」に示されているように、専用のハー
ドウェアを使用することによってテキストデータの読出
しと検索タームの探索処理の高速化を図るとともに、テ
キストをサーチする前にテキストデータを予め情報圧縮
しておいた補助ファイルをサーチし、テキスト本体をサ
ーチする文書件数を絞り込むことによって等価的に高速
なフルテキストサーチを実現する情報検索装置を提案し
た。以下、本公知例の特徴である階層プリサーチについ
て説明する。階層プリサーチとは、テキストを検索する
前に予め情報圧縮しておいた2つの補助ファイル、すな
わち「文字成分表」と「凝縮テキスト」を階層的にサー
チして検索タームに関連のない文書を検索対象からふる
い落とし、テキストをサーチする文書件数を減らすこと
によって、等価的に検索速度を加速する方式である。ま
ず文字成分表のサーチで文字単位の絞り込みを行い、次
にこの文字成分表サーチで絞り込まれた文書に対し凝縮
テキストのサーチで単語単位の絞り込みを行う方式であ
る。しかし、この文字成分表サーチでは、登録テキスト
の1文字単位の情報しか文字成分表に持たないため、検
索タームに用いた文字をすべて含む文書を検索候補とす
ることになる。例えば“日の出”が検索タームの場合、
テキスト中に“日”、“の”および“出”の3文字が文
書のどこかに存在すれば文字成分表サーチでヒットして
しまう。すなわち、実際には検索ターム“日の出”を含
まないのに含んでいるとみなされる文書(以下、ノイズ
という)がサーチ結果として多数出力されるという問題
がある。このような場合は凝縮テキストサーチの対象と
なる文書件数を削減することができないため、凝縮テキ
ストサーチに時間が掛かり、十分な検索レスポンスが得
られないことになる。
−174064号」で、文字成分を複数の文字の組み合
わせとすることによって、単一文字より高い絞り込み率
を得る連接文字成分表方式を提案した。すなわち、登録
時に文書内に予め定められた2文字以上の文字数の文字
列が存在するか、しないかという情報を補助ファイルに
登録しておき、検索する際、凝縮テキストをサーチする
前に検索タームを定められた文字数の文字列に分割し、
そのすべての文字列が含まれる文書をこの補助ファイル
を参照して抽出することにより、サーチする必要のない
文書をふるい落す方式である。この方式では、テキスト
ファイル以外に補助ファイルとして複数文字連接による
文字成分表と凝縮テキストを用いることにより、入力さ
れた検索タームに関連しない文書を部分文字列レベルで
高精度にふるい落すことができる。例えば、図2に示す
ようテキストデータベース(文書1,文書2,・・・,
文書N)を検索する場合、“イラン”という検索ターム
では矢印で示したエントリが検索エントリとなるが、単
一文字成分表の場合は“ライオン”や“オンライン”な
どを含む文書、すなわち文書1も文書2も“イ”,
“ラ”および“ン”が含まれるため、“イラン”という
文字列がないにもかかわらず文字成分表で検索されてし
まい、ノイズとなってしまう。これに対し、連接文字成
分表の場合は“イラ”と“ラン”の両方が含まれる文書
は文書Nだけに特定され、単一文字成分表の場合のよう
なノイズが混入しない。このように連接文字成分表を用
いることにより、文書1と文書2のように検索タームを
構成する文字が無関係に含まれている文書を検索対象か
ら削除し、単一文字成分表よりも余分な凝縮テキストサ
ーチを省くことができる。その結果、等価的に高速なフ
ルテキストサーチが実現できることになり、大規模なテ
キストデータベースでも実用的な検索レスポンスでフル
テキストサーチを実行することが可能となる。
接文字成分表の場合、全文字種の二乗の文字の組み合わ
せすべてについて、その文字成分を記録する必要があ
る。本公知例では、連接文字成分のテキスト内の出現頻
度を基に複数の連接文字成分の有無を1つの情報(これ
を格納する領域をエントリと呼ぶ)に持たせるようにす
る方法(ハッシングと呼ぶ)を用いることで、文字成分
表の容量を削減し、かつ絞り込み率の低下も抑えるよう
に工夫をしている。
おける文字成分表サーチは、表意文字である日本語の場
合には文字種も多く二文字連接にするだけでも効果が現
れる。しかし、英語などのように文字種が少なく文字の
並びで意味を持つ表音文字の場合は、同じような連接文
字列を含む単語が多いため、十分な絞り込みができない
という問題がある。このような場合はプリサーチによっ
て凝縮テキストサーチの対象となる文書件数を削減する
ことができないため、十分な検索レスポンスが得られな
いことになる。
成される文書を文字成分表サーチで検索する場合に生じ
る問題を具体的に言うと次のようになる。 (1)英語などの表音文字は日本語のような表意文字と
比べると極端に文字種が少なく、子音と母音の組み合わ
せの規則性に意味を持たせた言語であるため、同じ連接
文字を持つ単語が多く、文字成分表サーチでノイズがの
りやすい。例えば“ain”のような三文字連接の場合
でも、“mountain”,“painting”,
“Spain”などの単語を含むすべての文書がヒット
する。このため文字成分表の絞り込み率が低下してしま
う。 (2)従来例では、文頭から文末までのすべての連接文
字成分の存在を情報として持つ。すなわち、英語では
“There_is_a_girl_・・・”(“_”
はスペースを表す)というように単語をスペースで区切
った形式で文章が構成されているため、従来例では3文
字の文字成分表の場合には“e_i”,“s_a”およ
び“a_g”というような2つの単語にかかる連接の情
報も持つことになる。これらの文字成分は検索ターム中
には用いられない文字成分であるため検索には不必要で
あるにもかかわらず、重要な文字成分と同じエントリに
ハッシングされ検索ノイズを発生するという悪影響を及
ぼす。例えば、“ain”と“a_g”が同じエントリ
にハッシングされると、“ain”を含む単語の他に
“a_girl”“a_grape”等を含むすべての
文書がノイズとして文字成分表サーチでヒットしてしま
う。 (3)検索タームを部分的に含むような単語(以下、中
間一致の単語と呼ぶ)が存在する文書の場合、実際には
検索タームが存在しないにもかかわらず、文字成分表サ
ーチでヒットしてしまう。例えば、検索タームとして
“mist”が指定された場合、“chemistr
y”などのように“mist”から切り出された連接文
字成分、すなわち“mis”と“ist”をすべて含む
ような単語が存在する文書は、実際には“mist”が
含まれないにもかかわらず文字成分表サーチでヒットし
てしまう。
て構成される文書を検索する場合に、 (1)文字種が少ない表音文字で構成される文書を検索
する場合の文字成分表の絞り込み率を向上する。 (2)検索タームには通常含まれない2つの単語にかか
る連接文字成分がテキストデータベース登録時に文書か
ら切り出され、重要な文字成分と同じエントリにハッシ
ングされることによって生じるノイズを防止する。 (3)中間一致の単語が存在する文書が検索されてしま
うことを防止する。ことにある。
め、本発明は、文書情報を文字コードデータとして蓄積
したテキストデータベースを対象として、対象テキスト
データから予め定められた形式で部分文字列をすべて抽
出し、該部分文字列に対応するエントリに該部分文字列
の存在を連接文字成分表として登録する連接文字成分表
作成ステップと、検索時に、検索タームから予め定めら
れた形式で検索用部分文字列を抽出し、該検索用部分文
字列に対応する前記連接文字成分表のエントリを参照し
て検索タームを構成する各検索用部分文字列と一致する
部分文字列がすべて存在する文書を求める連接文字成分
表サーチステップを有し、前記連接文字成分表作成ステ
ップで作成された連接文字成分表を、テキストを検索す
る前に予め前記連接文字成分表サーチステップでサーチ
して検索タームに関連のない文書を検索対象からふるい
落とすプリサーチ式文書検索方法において、連接文字成
分表作成時には、テキストデータからの部分文字列の抽
出処理として、該テキストデータから予め定められたm
文字(mは1以上の整数)おきに、予め定められたn文
字(nは2以上の整数)の文字列をすべて抽出するステ
ップを設け、検索時には、検索タームからの検索用部分
文字列の抽出処理として、該検索タームから予め定めら
れたm文字(mは1以上の整数)おきに、予め定められ
たn文字(nは2以上の整数)の検索用文字列を抽出す
るステップを設けるようにしている。また、連接文字成
分表作成時には、テキストデータからの部分文字列の抽
出処理として、該テキストデータから所定の文字コード
を区切りとして単語を切り出すステップと、切り出され
たすべての単語から予め定められたn文字(nは2以上
の整数)の一続きの部分文字列をすべて抽出するステッ
プを設け、検索時には、検索タームからの検索用部分文
字列の抽出処理として、該検索タームから予め定められ
たn文字(nは2以上の整数)の一続きの検索用部分文
字列を抽出するステップを設けるようにしている。ま
た、連接文字成分表作成時には、テキストデータからの
部分文字列の抽出処理として、該テキストデータから所
定の文字コードを区切りとして単語を切り出すステップ
と、切り出されたすべての単語の前後に特殊文字を付加
するステップと、特殊文字を付加したすべての単語から
予め定められたn文字(nは2以上の整数)の一続きの
部分文字列をすべて抽出するステップを設け、検索時に
は、検索タームからの検索用部分文字列の抽出処理とし
て、該検索タームの前後に特殊文字を付加するステップ
と、特殊文字を付加した検索タームから予め定められた
n文字(nは2以上の整数)の一続きの検索用部分文字
列を抽出するステップを設けるようにしている。また、
連接文字成分表作成時には、テキストデータからの部分
文字列の抽出処理として、該テキストデータから所定の
文字コードを区切りとして単語を切り出すステップと、
切り出されたすべての単語の前後に特殊文字を付加する
ステップと、特殊文字を付加したすべての単語から予め
定められたm文字(mは1以上の整数)おきに、予め定
められたn文字(nは2以上の整数)の文字列をすべて
抽出するステップを設け、検索時には、検索タームから
の検索用部分文字列の抽出処理として、該検索タームの
前後に特殊文字を付加するステップと、特殊文字を付加
した検索タームから予め定められたm文字(mは1以上
の整数)おきに、予め定められたn文字(nは2以上の
整数)の検索用文字列を抽出するステップを設けるよう
にしている。さらに、文書情報を文字コードデータとし
て蓄積したテキストデータベースを対象として、対象テ
キストデータから予め定められた形式で部分文字列をす
べて抽出し、該部分文字列に対応するエントリに該部分
文字列の存在を連接文字成分表として登録する連接文字
成分表作成手段と、検索時に、検索タームから予め定め
られた形式で検索用部分文字列を抽出し、抽出した該検
索用部分文字列に対応する前記連接文字成分表のエント
リを参照して検索タームを構成する各検索用部分文字列
と一致する部分文字列がすべて存在する文書を求める連
接文字成分表サーチ手段を有し、前記連接文字成分表作
成手段で作成された連接文字成分表を、テキストを検索
する前に予め前記連接文字成分表サーチ手段でサーチし
て検索タームに関連のない文書を検索対象からふるい落
とすプリサーチ式文書検索装置において、前記連接文字
成分表作成手段を、該テキストデータから予め定められ
たm文字(mは1以上の整数)おきに、予め定められた
n文字(nは2以上の整数)の文字列をすべて抽出する
手段と、抽出した該文字列に対応するエントリに該文字
列の存在を連接文字成分表として記憶する手段を備える
スキップ式連接文字成分表作成手段とし、前記連接文字
成分表サーチ手段を、該検索タームから予め定められた
m文字(mは1以上の整数)おきに、予め定められたn
文字(nは2以上の整数)の検索用文字列を抽出する手
段と、該検索用文字列に対応する前記連接文字成分表の
エントリを参照して検索タームを構成する各検索用文字
列と一致する文字列がすべて存在する文書を求める手段
を備えるスキップ式連接文字成分表サーチ手段としてい
る。また、前記連接文字成分表作成手段を、該テキスト
データから所定の文字コードを区切りとして単語を切り
出し、切り出されたすべての単語から予め定められたn
文字(nは2以上の整数)の一続きの部分文字列をすべ
て抽出する手段と、抽出した該部分文字列に対応するエ
ントリに該部分文字列の存在を連接文字成分表として記
憶する手段を備える単語切り出し式連接文字成分表作成
手段とし、前記連接文字成分表サーチ手段を、該検索タ
ームから予め定められたn文字(nは2以上の整数)の
一続きの検索用部分文字列を抽出する手段と、該検索用
部分文字列に対応する前記連接文字成分表のエントリを
参照して検索タームを構成する各検索用部分文字列と一
致する部分文字列がすべて存在する文書を求める手段を
備える単語切り出し式連接文字成分表サーチ手段として
いる。また、連接文字成分表作成手段を、該テキストデ
ータから所定の文字コードを区切りとして単語を切り出
し、切り出されたすべての単語の前後に特殊文字を付加
し、特殊文字を付加したすべての単語から予め定められ
たn文字(nは2以上の整数)の一続きの部分文字列を
すべて抽出する手段と、抽出した該部分文字列に対応す
るエントリに該部分文字列の存在を連接文字成分表とし
て記憶する手段を備える特殊文字付加式連接文字成分表
作成手段とし、前記連接文字成分表サーチ手段を、該検
索タームの前後に特殊文字を付加し、特殊文字を付加し
た検索タームから予め定められたn文字(nは2以上の
整数)の一続きの検索用部分文字列を抽出する手段と、
該検索用部分文字列に対応する前記連接文字成分表のエ
ントリを参照して検索タームを構成する各検索用部分文
字列と一致する部分文字列がすべて存在する文書を求め
る手段を備える特殊文字付加式連接文字成分表サーチ手
段としている。また、前記連接文字成分表作成手段を、
該テキストデータから所定の文字コードを区切りとして
単語を切り出し、切り出されたすべての単語の前後に特
殊文字を付加し、特殊文字を付加したすべての単語から
予め定められたm文字(mは1以上の整数)おきに、予
め定められたn文字(nは2以上の整数)の文字列をす
べて抽出する手段と、該文字列に対応するエントリに該
文字列の存在を連接文字成分表として記憶する手段を備
える複合式連接文字成分表作成手段とし、前記連接文字
成分表サーチ手段を、該検索タームの前後に特殊文字を
付加し、特殊文字を付加した検索タームから予め定めら
れたm文字(mは1以上の整数)おきに、予め定められ
たn文字(nは2以上の整数)の検索用文字列を抽出す
る手段と、該検索用文字列に対応する前記連接文字成分
表のエントリを参照して検索タームを構成する各検索用
文字列と一致する文字列がすべて存在する文書を求める
手段を備える複合式連接文字成分表サーチ手段としてい
る。
キストデータからm文字おきに文字列を切り出し、検索
時にも検索タームからm文字おきに文字列を切り出すこ
とにより、英語などの同じような部分文字列を含む言語
でも単語固有の文字成分をとることができるため、連接
文字成分表サーチにおける絞り込み率を向上させること
ができる。例えば“mountain”,“paint
ing”,“Spain”などの単語は“ain”のよ
うな三文字連接成分を含んでいるため、三文字連接の連
接文字成分表では絞り込みにくい。しかし、例えば1文
字おきに文字列をとることにより、“nan”,“an
i”,“San”というように、その単語固有の文字成
分をとることができ、連接文字成分表サーチにおける絞
り込み率を向上させることができる。また、テキストデ
ータの連接文字成分表への登録時に、テキストから単語
を切り出し、その中の文字列から連接成分を抽出するこ
とにより、2つの単語にかかる連接が削除でき、ハッシ
ングした場合のノイズを減らすことができる。例えば、
“a_g”(“_”はスペースを示す)というような検
索ターム中には用いられない2つの単語にかかる連接が
“ain”と同じエントリにハッシングされると、“a
in”を含む単語の他に“a_girl”,“a_gr
ape”等を含むすべての文書が連接文字成分表サーチ
でヒットしてしまう。しかし、“There_is_a
_girl・・・”という文書をスペースを区切りとし
て単語を切り出すと“There”,“is”,“a”
および“girl”・・・となり、これらから三文字連
接を抽出すると“The”,“her”,“ere”,
“gir”および“irl”となる(“is”と“a”
は3文字以下のため三文字連接を抽出しない)ため、
“a_g”を連接成分として抽出しないようになるの
で、“ain”を含む検索タームの場合でもこのような
ノイズを減らすことができる。また、テキストデータの
連接文字成分表への登録時および検索時に単語の前後に
特殊文字を付加し、それを含めて連接成分をとることに
より、特殊文字で単語の区切りを判別できることになる
ため、検索タームをその文字列内部に部分文字列として
含む無関係な単語が中間一致によってヒットすることを
避けることができる。例えば、検索タームとして“mi
st”が指定された場合、特殊文字(例えば“^”)を
前後に付加することにより、“^mi”,“mis”,
“ist”および“st^”を用いて連接文字成分表サ
ーチを行うことになる。このとき、“chemistr
y”は“^ch”,“che”,“hem”,“em
i”,“mis”,“ist”,“str”,“tr
y”および“ry^”として連接文字成分表へ登録され
ている。これには“mis”と“ist”は含まれてい
るが、“^mi”と“st^”は含まれていないため、
“chemistry”がヒットすることはない。ま
た、上記の、m文字おきの文字列の切り出し、テキスト
からの単語の切り出し、単語の前後への特殊文字の付加
を組み合わせることにより、さらに絞り込み率を向上さ
せることができる。この結果、英語などの表音文字によ
って構成される文書を検索する場合に、与えられた検索
タームから十分な絞り込みを行うことのできる連接文字
成分表を作成することができるため、効果的な階層プリ
サーチが可能となり、等価的に高速なフルテキストサー
チが実現できることになる。
用いて説明する。本実施例では、m文字おきにn文字の
単語を抽出するスキップ式連接文字成分表(以下におい
ては、単に連接文字成分表と記載する)について、m=
1,n=3の場合を例にして説明する(以後の実施例に
おいても同様に、m=1,n=3の場合を例に説明す
る)。本発明を適用した文書検索システムは、ディスプ
レイ100、キーボード101、中央演算装置CPU1
02、テキスト103、凝縮テキスト104および連接
文字成分表105を格納した記録媒体の1つである磁気
ディスク110、フロッピディスクドライバ(FDD)
106、主メモり200から構成される。107はフロ
ッピディスク、108はバスである。主メモリ200に
は、文書登録制御プログラム201、テキスト登録プロ
グラム202、凝縮テキスト作成登録プログラム20
3、連接文字成分表作成登録プログラム204、検索制
御プログラム208、検索条件式解析プログラム20
9、連接文字成分表サーチプログラム210、凝縮テキ
ストサーチプログラム213、テキストサーチプログラ
ム214およびハッシュテーブル215が格納されると
ともにワークエリア216が確保されている。連接文字
成分表作成登録プログラム204には一文字おき文字列
抽出プログラム205、連接文字成分表登録プログラム
206およびハッシュテーブル作成プログラム207が
含まれ、連接文字成分表サーチプログラム210には一
文字おき文字列抽出プログラム211とビットアンドプ
ログラム212が含まれる。これらのプログラムはユー
ザのキーボード101の指示に応じてCPU102で実
行される。
における登録処理と検索処理について説明する。文書の
登録の際は図3に示すように、キーボード101から入
力されたコマンドにより、文書登録制御プログラム20
1が起動される。この文書登録制御プログラム201
は、必ず最初にテキスト登録プログラム202を起動し
て、フロッピディスクドライバ106に挿入されたフロ
ッピディスク107から文書をワークエリア216に読
み込み、これをテキスト103として磁気ディスク11
0へ格納する。テキストデータはフロッピディスクを用
いて入力することに限らず、通信回線(図1には示して
いない)等を用いて他の装置から入力するような構成を
とってもかまわない。次に文書登録制御プログラム20
1は、凝縮テキスト作成登録プログラム203を起動し
て、テキスト103をスペースや記号などを区切りとし
て単語レベルで部分文字列へ分割し、分割した部分文字
列間で相互に文字列の包含関係を調べ、他の部分文字列
に含まれる文字列を排除し、残った部分文字列の集合に
より凝縮テキストを作成し、これを凝縮テキスト104
として磁気ディスク110へ格納する。最後に文書登録
制御プログラム201は連接文字成分表作成登録プログ
ラム204を起動する。
では、図4に示すように、まず一文字おき文字列抽出プ
ログラム205が起動され、磁気ディスク110に格納
されたテキスト103がワークエリア216に読み込ま
れる。そして、このテキスト103から1文字おきに3
文字の文字列をすべて抽出する。次に連接文字成分表登
録プログラム206が起動され、一文字おき文字列抽出
プログラム205によってテキスト103から抽出され
た文字列を、ワークエリア216内の連接文字成分表に
ハッシュテーブル215に従って登録し、これを連接文
字成分表105として磁気ディスク110へ格納する。
連接文字成分表105を新規に登録するときには、連接
文字成分表登録プログラム206でハッシュテーブル作
成プログラム207を起動し、連接文字成分表の該当エ
ントリを参照するために用いるハッシュテーブル215
を作成するとともに、連接文字成分表105の全エント
リを初期化(‘0’クリア)しておく。ハッシュテーブ
ル作成プログラム207により作成するハッシュテーブ
ル215は、連接文字成分により連接文字成分表105
のエントリを参照する際に用いられるが、このハッシュ
テーブル215については単純なハッシュ関数でも、あ
るいは「特開平5−174064号」で用いられている
連接文字成分の頻度を利用したハッシュ方式を用いても
よい。検索の際には、キーボード101から入力された
検索条件式が、CPU102に送られる。すると、CP
U102は、まず検索制御プログラム208を起動す
る。そして、本制御プログラムの下で検索条件式解析プ
ログラム209、連接文字成分表サーチプログラム21
0、凝縮テキストサーチプログラム213およびテキス
トサーチプログラム214が順次起動される。
nalysis Diagram)図を用いて、21
0、213および214による階層検索処理の詳細につ
いて説明する。まず、連接文字成分表サーチでは、連接
文字成分表サーチプログラム210が起動される。本プ
ログラムの実行により、まず一文字おき文字列抽出プロ
グラム211が起動され、入力された検索条件式中の検
索タームから1文字おきに3文字の文字列を抽出し、ハ
ッシュテーブル215を用いて、抽出されたすべての文
字列に対応する連接文字成分表のエントリに格納されて
いるビットリストをワークエリア216に読み込む。次
に、ビットアンドプログラム212が起動され、ワーク
エリア216に読み込まれたすべてのビットリスト間で
各ビット毎にAND演算を行う。このAND演算の結果
‘1’となったビットに対応する文書番号を連接文字成
分表サーチの結果として出力する。この連接文字成分表
サーチの結果件数が0件であれば、ここで0件という検
索結果を出力して検索処理を終了する。もし、連接文字
成分表サーチの結果件数が0件でなければ、次に凝縮テ
キストサーチを行う。
213が起動され、上述の連接文字成分表サーチプログ
ラム210によって出力された文書番号に対応する凝縮
テキスト104がワークエリア216に読み込まれる。
そして、読み込まれた凝縮テキスト104を本凝縮テキ
ストサーチプログラム213で探索し、検索タームが含
まれる凝縮テキストの文書番号を出力する。この凝縮テ
キストサーチの結果件数が0件であれば、ここで0件と
いう結果件数を出力して検索処理を終了する。また、与
えられた検索条件式の中に単一の検索タームか、あるい
は複数の検索ターム間の論理的な関係が指定されている
だけで、テキスト中での位置関係までは指定されていな
い場合には、ここで検索を終了し凝縮テキストサーチプ
ログラム213によって出力された文書番号を検索結果
として出力する。それ以外の場合、すなわち与えられた
検索条件式の中に複数の検索ターム間の本文中での位置
関係が指定されている場合には、テキストサーチプログ
ラム214を起動し、テキストサーチを行う。
は単にANDやOR条件が指定されただけの場合に凝縮
テキストサーチで検索を終了できるのは、凝縮テキスト
104がテキスト103を単語レベルで分割し、重複削
除を行った圧縮テキストであるため、凝縮テキストだけ
で単語の存在を判別することができるためである。例え
ば、「“information”[AND]“sys
tems”」のように記述される「“informat
ion”と“systems”の両方が現れる文書を探
せ」という意味を持つAND条件や、「“inform
ation”[OR]“systems”」のように記
述される「“information”か“syste
ms”のどちらかが現れる文書を探せ」という意味を持
つOR条件などは、複数の検索ターム間の論理的な関係
が指定されているだけで、テキスト中での位置関係まで
は指定されていない。そのため、それらの存在だけが分
かればよいので凝縮テキストサーチだけで判定すること
が可能である。これに対し、「“informatio
n”[S]“systems”」のように記述される
「“information”と“systems”が
同一の文(センテンス)に共起(同時に出現)する文書
を探せ」という意味を持つ文脈条件や、「“infor
mation”[2W]“systems”」のように
記述される「“information”と“syst
ems”が2語以内に近接して現れる文書を探せ」とい
う意味を持つ近傍条件、あるいは「“informat
ion”[A]“systems”」のように記述され
る「“information”と“systems”
が隣接して現れる文書を探せ」という意味を持つ隣接条
件などは、複数の検索ターム間のテキスト中での位置関
係が指定されているため、凝縮テキストサーチだけでは
判定ができず、テキストサーチまで行わなければならな
い。上述した文脈条件、近傍条件あるいは隣接条件が指
定され、かつ凝縮テキストサーチの結果件数が0件でな
い場合には、テキストサーチプログラム214が起動さ
れ、凝縮テキストサーチプログラム213で出力された
文書番号に対応するテキスト103をワークエリア21
6に読み込む。そして、テキストサーチプログラム21
4はこのテキスト103を探索し、与えられた検索ター
ムを含み、かつ検索ターム間の位置関係に関する条件を
満たすものを抽出し、抽出されたテキストに対応する文
書番号を検索結果として出力する。以上が本発明のフル
テキストサーチ方法を適用した第一の実施例のフルテキ
ストサーチシステムの概略である。
順は図4に示すとおりである。以下、この登録手順を詳
細に説明する。
ついて説明する。ここでは、前述したように文書登録制
御プログラム201によって起動された連接文字成分表
作成登録プログラム204により、一文字おき文字列抽
出プログラム205が起動される。本プログラムの実行
により、磁気ディスク110に格納されたテキスト10
3が文書毎にワークエリア216に読み込まれ、このテ
キスト103から1文字おきに3文字の文字列が抽出さ
れる。この文字列の抽出については、例えば“Mult
imedia”というテキストの場合は図6に示すよう
に、“Mli”,“utm”,“lie”,“tm
d”,“iei”および“mda”がテキストから抽出
される。次に、連接文字成分表登録プログラム206が
起動される。ここでは、ハッシュテーブル215を用い
て、一文字おき文字列抽出プログラム205によってテ
キスト103から抽出された連接文字成分に対応するエ
ントリに‘1’を設定し、連接文字成分の存在を印す。
図7の文書1の例では、“Mli”があるので‘1’
を、ハッシュテーブル215を用いて参照した該当エン
トリの文書1に対応するビット位置に設定する。“ss
e”も同様に‘1’が設定される。以下、同様にしてテ
キスト103に存在する連接成分のすべてについて、連
接文字成分表105の該当エントリに‘1’を設定す
る。最終的には、図7に示すようにテキスト103中の
各文書について‘1’と‘0’の列(ビットリスト、例
えば、“nss”の「101・・・0」の列が1つのビ
ットリストである)ができあがる。このようにして、連
接文字成分表作成登録プログラム204により文書の登
録時に連接文字成分表105が自動的に作成され、階層
プリサーチの準備ができあがる。
て、図8を用いて詳細に説明する。まず、一文字おき文
字列抽出プログラム211が起動される。ここでは、検
索条件式中の検索タームから1文字おきに3文字の文字
列を抽出する。ただし、本実施例では3文字の1文字お
きの連接文字成分表を用いているので、5文字未満の検
索タームの場合は連接文字が得られないことになる。こ
の場合、本実施例では、連接文字成分表サーチの結果を
全件ヒットとし、すべての文書に対して凝縮テキストサ
ーチを行うことにする。すなわち、全文書の番号を出力
して、連接文字成分表サーチプログラム210が終了す
る。5文字以上の検索タームが与えられた場合には、一
文字おき文字列抽出プログラム211によって抽出され
た文字列に対応するビットリストを、ビットアンドプロ
グラム212が連接文字成分表105からハッシュテー
ブル215を介してワークエリア216に読み込み、読
み込んだビットリスト間でビット毎にAND演算を行
う。そして、このAND結果が‘1’となったビットに
対応する文書番号を算出し、これを連接文字成分表サー
チ結果として出力する。例えば、図9に示すように“M
ultimedia”という文字列が検索タームとして
与えられた場合、“Mli”,“utm”,“li
e”,“tmd”,“iei”および“mda”に対応
する連接文字成分表105のビットリストがハッシュテ
ーブル215を介して読み出され、これらすべてのビッ
トリストのビットがすべて‘1’である文書が連接文字
成分表サーチの検索結果として得られる。すなわち、読
み出したすべてのビットリストの間でビット毎にAND
演算を施し、ビットアンド演算結果900を得る。この
ビットアンド演算結果のビットリスト中で、‘1’とな
っているビット位置に対応する文書番号が連接文字成分
表サーチの検索結果としてのヒット文書を表わすことに
なる。これにより、“Mli”,“utm”,“li
e”,“tmd”,“iei”および“mda”のすべ
てを含む文書が抽出されることになる。図9の例では、
文書1と文書Nがヒット文書ということになる。
分表作成登録処理では、文書の登録時に、文書中から1
文字おきに3文字の文字列を取り出し、この連接文字の
存在情報を予め連接文字成分表に登録することにより、
単語固有の連接文字成分をとることができ、検索時の連
接文字成分表サーチにおける絞り込み率を向上させるこ
とができる。その結果、階層プリサーチにおける凝縮テ
キストの探索量が削減できることになるため、等価的に
全体の検索速度が向上することになる。したがって、よ
り大量のフルテキストサーチが実時間で可能となる。本
実施例では、連接文字成分表を3文字の1文字おきの文
字列、すなわち、m=1、n=3で作成する場合につい
て説明したが、何文字おきに文字列を抽出しても、また
文字列長が2文字および4文字以上の場合についても同
様な処理が可能である。これは、上記の説明から明らか
であろう。また、本実施例では、5文字未満の検索ター
ムの場合、連接文字成分表サーチの結果を全件ヒットと
して出力するようにしているが、別途2文字の1文字お
きの連接文字成分表を作成し、この連接文字成分表を用
いて5文字未満の検索タームの連接文字成分表サーチを
行うようにすることもできる。
する。本実施例は連接文字成分の抽出時にテキストから
単語を切り出し、切り出された単語から連接文字成分を
抽出して単語切り出し式連接文字成分表(以下において
は、単に連接文字成分表と記載する)を作成することに
よって、2つの単語にかかる連接文字成分を抽出しない
ようにして、ハッシングの際のノイズを減らす方法であ
る。本実施例は第一の実施例(図1)と基本的に同様の
構成をとるが、その中の連接文字成分表作成登録プログ
ラム204と連接文字成分表サーチプログラム210の
部分が、それぞれ図10と図11に示すような構成とな
る。すなわち、連接文字成分表作成登録プログラム20
4は単語切り出しプログラム1000、連接文字列抽出
プログラム1001、連接文字成分表登録プログラム2
06およびハッシュテーブル作成プログラム207で構
成され、連接文字成分表サーチプログラム210は連接
文字列抽出プログラム1100およびビットアンドプロ
グラム212で構成される。
では、図12に示すように、まず単語切り出しプログラ
ム1000が起動され、磁気ディスク110に格納され
たテキスト103がワークエリア216に読み込まれ
る。そして、このテキスト103からスペースを区切り
として単語が切り出される。次に連接文字列抽出プログ
ラム1001が起動され、単語切り出しプログラム10
00によって切り出されたすべての単語から3文字の一
続きの文字列をすべて抽出する。次に連接文字成分表登
録プログラム206が起動され、連接文字列抽出プログ
ラム1001によって単語から抽出された連接文字列
を、ワークエリア216内の連接文字成分表にハッシュ
テーブル215に従って登録し、これを連接文字成分表
105として磁気ディスク110へ格納する。連接文字
成分表サーチプログラム210では、図13に示すよう
に、まず連接文字列抽出プログラム1100が起動さ
れ、入力された検索条件式中の検索タームから3文字の
一続きの文字列すべてを抽出する。次に、ビットアンド
プログラム212が起動され、連接文字列抽出プログラ
ム1100によって抽出されたすべての文字列に対応す
る連接文字成分表105のエントリに格納されているビ
ットリストを、ハッシュテーブル215を介してワーク
エリア216に読み込み、読み込まれたすべてのビット
リスト間で各ビット毎にAND演算を行う。このAND
演算の結果‘1’となったビットに対応する文書番号を
連接文字成分表サーチの結果として出力する。
ラム204の処理内容について、図14を用いて詳細に
説明する。連接文字成分表作成登録プログラム204で
は、まず単語切り出しプログラム1000が起動され、
磁気ディスク110に格納されたテキスト103が文書
毎にワークエリア216に読み込まれる。このテキスト
103はスペースを区切りとして単語に分割される。次
に連接文字列抽出プログラム1001が起動され、単語
切り出しプログラム1000によって切り出された単語
から3文字の一続きの文字列をすべて抽出する。この文
字列の抽出については、例えば、図15に示す文書1の
“Multimedia information s
ystemsmust・・・SE(Systems E
ngineering)・・・”というテキストは単語
切り出しプログラム1000によって、“Multim
edia”,“information”,“syst
ems”,“must”,・・・,“SE”,“Sys
tems”,“Engineering”,・・・に分
割される。次に、連接文字列抽出プログラム1001に
よって、切り出された単語から“Mul”,“ul
t”,“lti”,・・・,“tio”,“ion”,
“sys”,“yst”,・・・,“SE‖”,“Sy
s”,・・・が抽出される。このとき、“SE”のよう
な3文字未満の単語に関しては、3文字の文字列が抽出
できないので、単語の後ろに特殊文字(例えば、ここで
は‘‖’とする)を付加して、3文字にしてから文字列
を抽出する。最後に、連接文字成分表登録プログラム2
06が起動される。ここでは、ハッシュテーブル215
を介して、連接文字列抽出プログラム1001によって
テキスト103中の単語から抽出された連接文字成分に
対応するエントリに‘1’を設定し、連接文字成分の存
在を印す。図15の文書1の例では、“Mul”がある
ので‘1’を、ハッシュテーブル215を用いて参照し
た該当エントリの文書1に対応するビット位置に設定す
る。“ult”も同様に‘1’が設定される。以下、同
様にしてテキスト103中の単語に存在する連接文字成
分のすべてについて、連接文字成分表105の該当エン
トリに‘1’を設定する。最終的には、図15に示すよ
うにテキスト103中の各文書について‘1’と‘0’
の列(ビットリスト)ができあがる。
10の処理内容について、図16を用いて詳細に説明す
る。まず、連接文字列抽出プログラム1100が起動さ
れる。ここでは、検索条件式中の検索タームから3文字
の一続きの文字列を抽出する。本実施例では3文字の連
接文字成分表を用いているため、3文字未満の検索ター
ムの場合は連接文字が得られないことになる。この場
合、本実施例では、検索タームの後ろに特殊文字‘‖’
を付加することにより、検索タームを3文字にして文字
列を抽出する。次に、連接文字列抽出プログラム110
0によって抽出された文字列に対応するビットリスト
を、ビットアンドプログラム212が連接文字成分表1
05からハッシュテーブル215を介してワークエリア
216に読み込み、読み込んだビットリスト間でビット
毎にAND演算を行う。そして、このAND結果が
‘1’となったビットに対応する文書番号を算出し、こ
れを連接文字成分表サーチ結果として出力する。例え
ば、図17に示すように“Multimedia”とい
う文字列が検索タームとして与えられた場合、“Mu
l”,“ult”,“lti”,“tim”,“im
e”,“med”,“edi”および“dia”に対応
する連接文字成分表105のビットリストがハッシュテ
ーブル215を介して読み出され、これらすべてのビッ
トリストのビットがすべて‘1’である文書が連接文字
成分表サーチの検索結果として得られる。すなわち、読
み出したすべてのビットリストの間でビット毎にAND
演算を施し、ビットアンド演算結果900を得る。この
ビットアンド演算結果900のビットリスト中で、
‘1’となっているビット位置に対応する文書番号が連
接文字成分表サーチの検索結果としてのヒット文書を表
わすことになる。これにより、“Mul”,“ul
t”,“lti”,“tim”,“ime”,“me
d”,“edi”および“dia”のすべてを含む文書
が抽出されることになる。図17の例では、文書1と文
書Nがヒット文書ということになる。
分表の作成登録処理では、文書の登録時に、テキストか
ら単語を切り出してから、その中の文字列から3文字の
一続きの文字列を抽出し、この連接文字の存在情報を予
め連接文字成分表に登録することにより、2つの単語に
かかる連接文字成分が削除できるため、ハッシングした
場合のノイズを減らすことができる。その結果、検索時
の連接文字成分表サーチにおける絞り込み率を向上させ
ることができ、階層プリサーチにおける凝縮テキストの
探索量が削減できることになるため、等価的に全体の検
索速度が向上することになる。したがって、より大量の
フルテキストサーチが実時間で可能となる。本実施例で
は、連接文字成分表を3文字の一続きの文字列、すなわ
ち、n=3で作成する場合について説明したが、文字列
長が2文字および4文字以上の場合についても同様な処
理が可能であることは、上記の説明から明らかであろ
う。
する。本実施例は連接文字成分表の登録時および検索時
に単語の前後に特殊文字(例えば、ここでは‘^’とす
る)を付加し、それを含めて連接成分を抽出して特殊文
字付加式連接文字成分表(以下においては、単に連接文
字成分表と記載する)を作成する。これにより、特殊文
字で単語の区切りを判別できるようにし、検索タームを
その文字列内部に部分文字列として含む無関係な単語が
中間一致によってヒットすることを避け、ノイズを減ら
す方法である。本実施例は第一の実施例(図1)と基本
的に同様の構成をとるが、その中の連接文字成分表作成
登録プログラム204と連接文字成分表サーチプログラ
ム210の部分が、それぞれ図18と図19に示すよう
な構成となる。すなわち、連接文字成分表作成登録プロ
グラム204は単語切り出しプログラム1000、特殊
文字付加プログラム1800、連接文字列抽出プログラ
ム1001、連接文字成分表登録プログラム206およ
びハッシュテーブル作成プログラム207で構成され、
連接文字成分表サーチプログラム210は特殊文字付加
プログラム1900、連接文字列抽出プログラム110
0およびビットアンドプログラム212で構成される。
では、図20に示すように、まず単語切り出しプログラ
ム1000が起動され、磁気ディスク110に格納され
たテキスト103がワークエリア216に読み込まれ
る。そして、このテキスト103からスペースを区切り
として単語が切り出される。次に特殊文字付加プログラ
ム1800が起動され、単語切り出しプログラム100
0によって切り出された単語の前後に特殊文字‘^’が
付加される。次に、連接文字列抽出プログラム1001
が起動され、特殊文字付加プログラム1800によって
特殊文字を付加されたすべての単語から3文字の一続き
の文字列をすべて抽出する。最後に、連接文字成分表登
録プログラム206が起動され、連接文字列抽出プログ
ラム1001によって単語から抽出された連接文字列
を、ワークエリア216内の連接文字成分表にハッシュ
テーブル215に従って登録し、これを連接文字成分表
105として磁気ディスク110へ格納する。連接文字
成分表サーチプログラム210では、図21に示すよう
に、まず特殊文字付加プログラム1900が起動され、
検索条件式中の検索タームの前後に特殊文字‘^’が付
加される。次に、連接文字列抽出プログラム1100が
起動され、特殊文字付加プログラム1900によって特
殊文字‘^’が付加された検索タームから3文字の一続
きの文字列すべてを抽出する。次に、ビットアンドプロ
グラム212が起動され、連接文字列抽出プログラム1
100によって抽出されたすべての文字列に対応する連
接文字成分表105のエントリに格納されているビット
リストを、ハッシュテーブル215を介してワークエリ
ア216に読み込み、読み込まれたすべてのビットリス
ト間で各ビット毎にAND演算を行う。このAND演算
の結果‘1’となったビットに対応する文書番号を連接
文字成分表サーチの結果として出力する。
ログラム204の処理内容を詳細に説明する。連接文字
成分表作成登録プログラム204では、まずテキスト1
03からスペースを区切りとして単語が切り出され、各
単語の前後に特殊文字‘^’が付加される。その後、特
殊文字‘^’が付加された単語から3文字の一続きの文
字列が抽出される。この文字列の抽出については、例え
ば、図22に示す文書1の“Multimedia i
nformation systemsmust・・
・”というテキストは単語切り出しプログラム1000
によって、“Multimedia”,“inform
ation”,“systems”,“must”,・
・・に分割される。次に、特殊文字付加プログラム18
00によって、切り出された各単語の前後に特殊文字
‘^’が付加され、“^Multimedia^”,
“^information^”,“^systems
^”,“^must^”,・・・となる。次に、連接文
字列抽出プログラム1001によって、特殊文字‘^’
を付加した単語から“^Mu”,“Mul”,“ul
t”,・・・,“ati”,“tio”,“ion”,
“on^”,“^sy”,“sys”,・・・が抽出さ
れる。最後に、連接文字成分表登録プログラム206が
起動される。ここでは、ハッシュテーブル215を介し
て、連接文字列抽出プログラム1001によって、特殊
文字‘^’を付加した単語から抽出された連接文字成分
に対応するエントリに‘1’を設定し、連接文字成分の
存在を印す。図22の文書1の例では、“^Mu”があ
るので‘1’を、ハッシュテーブル215を用いて参照
した該当エントリの文書1に対応するビット位置に設定
する。“Mul”も同様に‘1’が設定される。以下、
同様にして特殊文字‘^’を付加した単語中の連接文字
成分のすべてについて、連接文字成分表105の該当エ
ントリに‘1’を設定する。最終的には、図22に示す
ようにテキスト103中の各文書について‘1’と
‘0’の列(ビットリスト)ができあがる。
10の処理内容を詳細に説明する。連接文字成分表サー
チプログラム210では、まず検索条件式中の検索ター
ムの前後に特殊文字‘^’が付加され、その検索ターム
から3文字の一続きの文字列が抽出される。その後、抽
出された各文字列に対応するビットリスト間でビット毎
にAND演算を行い、‘1’となったビットに対応する
文書番号を連接文字成分表サーチ結果として出力する。
例えば、図23に示すように“Multimedia”
という文字列が検索タームとして与えられた場合、特殊
文字を付加することにより“^Multimedia
^”となり、この検索タームから“^Mu”,“Mu
l”,“ult”,“lti”,“tim”,“im
e”,“med”,“edi”,“dia”および“i
a^”に対応する連接文字成分表105のビットリスト
がハッシュテーブル215を介して読み出され、これら
すべてのビットリストのビットがすべて‘1’である文
書が連接文字成分表サーチの検索結果として得られる。
すなわち、読み出したすべてのビットリストの間でビッ
ト毎にAND演算を施し、ビットアンド演算結果900
を得る。このビットアンド演算結果のビットリスト中
で、‘1’となっているビット位置に対応する文書番号
が連接文字成分表サーチの検索結果としてのヒット文書
を表わすことになる。これにより、“^Mu”,“Mu
l”,“ult”,“lti”,“tim”,“im
e”,“med”,“edi”,“dia”および“i
a^”のすべてを含む文書が抽出されることになる。図
23の例では、文書1と文書Nがヒット文書ということ
になる。
分表の作成登録処理では、文書の登録時に、テキストか
ら単語を切り出し、切り出された単語の前後に特殊文字
を付加してから、その中の文字列から3文字の一続きの
文字列を取り出し、この連接文字の存在情報を予め連接
文字成分表に登録するとともに、連接文字成分表の検索
時に、検索タームの前後に特殊文字を付加してから検索
を行うことにより、特殊文字で単語の前後を判別できる
ため、検索タームを部分文字列としてその文字列内部に
含む無関係な単語が中間一致によってヒットすることを
避けることができ、ノイズを減らすことができる。その
結果、検索時の連接文字成分表サーチにおける絞り込み
率を向上させることができ、階層プリサーチにおける凝
縮テキストの探索量が削減できることになるため、等価
的に全体の検索速度が向上することになる。したがっ
て、より大量のフルテキストサーチが実時間で可能とな
る。本実施例では、連接文字成分表を3文字の一続きの
文字列、すなわち、n=3で作成する場合について説明
したが、文字列長が2文字および4文字以上の場合につ
いても同様な処理が可能であることは、上記の説明から
明らかであろう。ただし、4文字以上の連接文字成分表
の場合、特殊文字を単語の前後に付加しても連接成分が
抽出できない短い単語には、第二の実施例のように
‘‖’のような特殊文字を付加することによって、連接
成分が抽出できる長さにすることによって、同様の処理
が可能なことは明らかであろう。
明する。本実施例は第一の実施例、第二の実施例および
第三の実施例を組み合わせて複合式連接文字成分表(以
下においては、単に連接文字成分表と記載する)を作成
する。これにより、それぞれの効果が重畳され、最良の
絞り込み率が得られる方法である。本実施例は第一の実
施例(図1)と基本的に同様の構成をとるが、その中の
連接文字成分表作成登録プログラム204と連接文字成
分表サーチプログラム210の部分が、それぞれ図24
と図25に示すような構成となる。すなわち、連接文字
成分表作成登録プログラム204は単語切り出しプログ
ラム1000、特殊文字付加プログラム1800、一文
字おき文字列抽出プログラム205、連接文字成分表登
録プログラム206およびハッシュテーブル作成プログ
ラム207で構成され、連接文字成分表サーチプログラ
ム210は特殊文字付加プログラム1900、一文字お
き文字列抽出プログラム211およびビットアンドプロ
グラム212で構成される。各プログラムの動作はそれ
ぞれ第一の実施例、第二の実施例および第三の実施例で
述べたとおりである。
204の処理内容について、図26を用いて詳細に説明
する。連接文字成分表作成登録プログラム204では、
まず単語切り出しプログラム1000により、テキスト
103がスペースを区切りとして単語に分割され、特殊
文字付加プログラム1800により、単語の前後に特殊
文字‘^’が付加される。その後、一文字おき文字列抽
出プログラム205により、特殊文字‘^’が付加され
た単語から一文字おきに3文字の文字列がすべて抽出さ
れる。この文字列の抽出については、例えば、図27に
示す文書1の“Multimedia informa
tion systemsmust・・・SE(Sys
tems Engineering)・・・”というテ
キストは単語切り出しプログラム1000によって、
“Multimedia”,“informatio
n”,“systems”,“must”,・・・,
“SE”,“Systems”,“Engineeri
ng”,・・・に分割され、特殊文字付加プログラム1
800によって、“^Multimedia^”,“^
information^”,“^systems
^”,“^must^”,・・・,“^SE^”,“^
Systems^”,“^Engineering
^”,・・・のように特殊文字‘^’が付加される。次
に、一文字おき文字列抽出プログラム205によって、
特殊文字を付加した単語から“^ut”,“Mli”,
“utm”,・・・,“ain”,“to^”,“^y
t”,“sse”,・・・,“^E‖”,“^yt”,
“Sse,・・・が抽出される。このとき、“SE”の
ような3文字未満の単語に関しては、単語の前後に特殊
文字‘^’を付加しても“^SE^”と4文字となり、
一文字おきに3文字の文字列を抽出することができない
ので、単語の後ろに特殊文字(例えば、ここでは‘‖’
とする)を付加して、“^SE^‖”と5文字にしてか
ら文字列を抽出する。最後に、連接文字成分表登録プロ
グラム206によって、単語から抽出された連接文字成
分に対応するエントリに‘1’を設定し、連接文字成分
の存在を印す。図27の文書1の例では、“^ut”が
あるので‘1’を、ハッシュテーブル215を介して参
照した該当エントリの文書1に対応するビット位置に設
定する。“Mli”も同様に‘1’が設定される。以
下、同様にして単語中の連接文字成分のすべてについ
て、連接文字成分表105の該当エントリに‘1’を設
定する。最終的には、図27に示すようにテキスト10
3中の各文書について‘1’と‘0’の列(ビットリス
ト)ができあがる。
10の処理内容について、図28を用いて詳細に説明す
る。連接文字成分表サーチプログラム210では、まず
特殊文字付加プログラム1900により、検索条件式中
の検索タームの前後に特殊文字‘^’が付加され、一文
字おき文字列抽出プログラム211により、この検索タ
ームから一文字おきに3文字の文字列が抽出される。た
だし、本実施例では3文字の連接文字成分表を用いてい
るため、3文字未満の検索タームの場合は連接文字が得
られないことになる。この場合、本実施例では、特殊文
字‘^’を付加した検索タームの後ろに特殊文字‘‖’
を付加することにより、連接文字が抽出できるようにす
る。最後に、ビットアンドプログラム212により、抽
出された連接文字列に対応するビットリスト間でビット
毎にAND演算を行い、‘1’となったビットに対応す
る文書番号を算出し、これを連接文字成分表サーチ結果
として出力する。例えば、図29に示すように“Mul
timedia”という文字列が検索タームとして与え
られた場合、特殊文字‘^’を付加することにより、
“^Multimedia^”となり、“^ut”,
“Mli”,“utm”,“lie”,“tmd”,
“iei”,“mda”および“ei^”に対応する連
接文字成分表105のビットリストがハッシュテーブル
215を介して読み出され、これらすべてのビットリス
トのビットがすべて‘1’である文書、すなわち、読み
出したすべてのビットリストの間でビット毎にAND演
算を施し、演算結果のビットリスト中で、‘1’となっ
ているビット位置に対応する文書番号が連接文字成分表
サーチの検索結果としてのヒット文書を表わすことにな
る。これにより、“^ut”,“Mli”,“ut
m”,“lie”,“tmd”,“iei”,“md
a”および“ei^”のすべてを含む文書が抽出される
ことになる。図29の例では、文書1と文書Nがヒット
文書ということになる。
分表の作成登録処理および検索処理では、第一の実施
例、第二の実施例および第三の実施例を組み合わせるこ
とにより、それぞれの効果が重畳され、最良の絞り込み
率が得られることになる。すなわち、単語固有の連接文
字成分を取ることにより絞り込み率を上げ、2つの単語
にかかる連接文字成分を除外することによりハッシング
によるノイズを削減し、単語の先頭と末尾を識別するこ
とにより中間一致によるノイズを避けることができる。
その結果、検索時の連接文字成分表サーチにおける絞り
込み率を向上させることができ、階層プリサーチにおけ
る凝縮テキストの探索量が削減できることになるため、
等価的に全体の検索速度が向上することになる。したが
って、より大量のフルテキストサーチが実時間で可能と
なる。本実施例では、連接文字成分表を3文字の一文字
おきの文字列、すなわち、m=1、n=3で作成する場
合について説明したが、何文字おきに文字列を抽出して
も、また文字列長が2文字および4文字以上の場合につ
いても同様な処理が可能である。これは、上記の説明か
ら明らかであろう。
て、英語などの表音文字によって構成される文書を検索
する場合に、連接文字成分表サーチの絞り込み率を上げ
ることにより、無用の凝縮テキストサーチを大幅に省く
ことができるため、等価的に高速なフルテキストサーチ
が実現できることになり、大規模な文書データベースで
も実用的な応答速度でフルテキストサーチすることが可
能となる。
ラムの処理手順を示すPAD図である。
る。
る図である。
順を示すPAD図である。
説明する図である。
グラムの構成を示す図である。
ラムの構成を示す図である。
グラムの処理手順を示すPAD図である。
ラムの処理手順を示すPAD図である。
示すPAD図である。
を説明する図である。
手順を示すPAD図である。
を説明する図である。
グラムの構成を示す図である。
ラムの構成を示す図である。
グラムの処理手順を示すPAD図である。
ラムの処理手順を示すPAD図である。
を説明する図である。
を説明する図である。
グラムの構成を示す図である。
ラムの構成を示す図である。
示すPAD図である。
を説明する図である。
手順を示すPAD図である。
を説明する図である。
Claims (5)
- 【請求項1】 登録時は、格納された文書から所定の部
分文字列を抽出し、該部分文字列の文書における存在の
有無を存在情報として保持し、検索時は、指定された検
索語から所定の部分文字列を抽出し、前記存在情報を参
照して該部分文字列がすべて存在する文書を検索し、 前記格納された文書および前記検索語から抽出する所定
の部分文字列は、m文字(mは1以上の整数)おきに抽
出したn文字(nは2以上の整数)の文字列であること
を特徴とする文書検索方法。 - 【請求項2】 格納された文書から所定の部分文字列を
抽出し、該部分文字列の文書における存在の有無を存在
情報として保持する存在情報作成ステップと、指定され
た検索語から所定の部分文字列を抽出し、前記存在情報
を参照して該部分文字列がすべて存在する文書を求める
存在情報検索ステップとを有し、 前記存在情報作成ステップは、前記対象文書集合からの
部分文字列の抽出処理として、該対象文書集合からm文
字(mは1以上の整数)おきにn文字(nは2以上の整
数)の文字列を抽出するステップを有し、前記存在情報
検索ステップは、前記検索語からの部分文字列の抽出処
理として、該検索語からm文字(mは1以上の整数)お
きにn文字(nは2以上の整数)の文字列を抽出するス
テップを有することを特徴とする文書検索方法。 - 【請求項3】 格納された文書から所定の部分文字列を
抽出し、該部分文字列の文書における存在の有無を存在
情報として保持する存在情報作成ステップと、指定され
た検索語から所定の部分文字列を抽出し、前記存在情報
を参照して該部分文字列がすべて存在する文書を求める
存在情報検索ステップとを有し、 前記存在情報作成ステップは、前記対象文書集合からの
部分文字列の抽出処理として該対象文書集合から単語を
取得する単語取得ステップと、該単語取得ステップで取
得した単語から所定の部分文字列を抽出する文字列抽出
ステップを有し、該文字列抽出ステップは、前記単語取得ステップで取得
した単語の前後に所定の特殊文字を付加する登録用特殊
文字付加ステップと、該登録用特殊文字付加ステップで
特殊文字を付加した単語から所定の部分文字列を抽出す
る登録用文字列抽出ステップを有し、 前記存在情報検索ステップは、前記検索語から部分文字
列の抽出処理として、該検索語の前後に特殊文字を付加
する検索用特殊文字付加ステップと、該検索用特殊文字
付加ステップで特殊文字を付加した検索語から所定の部
分文字列を抽出する検索用文字列抽出ステップを有し、 前記登録用文字列抽出ステップは、前記登録用特殊文字
付加ステップで特殊文字を付加した単語からの部分文字
列の抽出処理として、該単語からm文字(mは1以上の
整数)おきにn文字(nは2以上の整数)の文字列を抽
出するステップを有し、 前記検索用文字列抽出ステップは、前記検索用特殊文字
付加ステップで特殊文字を付加した検索語からの部分文
字列の抽出処理として、該検索語からm文字(mは1以
上の整数)おきにn文字(nは2以上の整数)の文字列
を抽出するステップを有することを特徴とする文書検索
方法。 - 【請求項4】 登録時には、格納された文書から所定の
部分文字列を抽出し、該部分文字列の文書における存在
の有無を存在情報として記憶する記憶手段と、検索時に
は、指定された検索語から所定の部分文字列を抽出し、
前記存在情報テーブルを参照して該部分文字列がすべて
存在する文書を求めることにより、前記検索語が含まれ
る可能性が高い文書を検索する検索手段とを備え、 前記格納された文書および前記検索語から抽出する所定
の部分文字列は、m文字(mは1以上の整数)おきに抽
出したn文字(nは2以上の整数)の文字列であること
を特徴とする文書検索方法。 - 【請求項5】 格納された文書から所定の部分文字列を
抽出し、該部分文字列の文書における存在の有無を存在
情報として保持する存在情報作成手段と、指定された検
索語から所定の部分文字列を抽出し、前記存在情報を参
照して該部分文字列がすべて存在する文書を求める存在
情報検索手段とを備え、 前記存在情報作成手段は、さらに、前記対象文書集合か
らの部分文字列の抽出処理として、該対象文書集合から
m文字(mは1以上の整数)おきにn文字(nは2以上
の整数)の文字列を抽出する手段を備え、前記存在情報
検索手段は、さらに、前記検索語からの部分文字列の抽
出処理として、該検索語からm文字(mは1以上の整
数)おきにn文字(nは2以上の整数)の文字列を抽出
する手段を備えたことを特徴とする文書検索方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13381094A JP3497243B2 (ja) | 1994-05-24 | 1994-05-24 | 文書検索方法及び装置 |
US08/444,842 US5748953A (en) | 1989-06-14 | 1995-05-18 | Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13381094A JP3497243B2 (ja) | 1994-05-24 | 1994-05-24 | 文書検索方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07319920A JPH07319920A (ja) | 1995-12-08 |
JP3497243B2 true JP3497243B2 (ja) | 2004-02-16 |
Family
ID=15113575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13381094A Expired - Fee Related JP3497243B2 (ja) | 1989-06-14 | 1994-05-24 | 文書検索方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3497243B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3489237B2 (ja) * | 1995-01-11 | 2004-01-19 | 株式会社日立製作所 | 文書検索方法 |
JP3552318B2 (ja) * | 1995-01-11 | 2004-08-11 | 株式会社日立製作所 | 文書検索方法およびシステム |
JP3511724B2 (ja) * | 1995-03-24 | 2004-03-29 | 株式会社日立製作所 | 文書検索方法 |
JP3518933B2 (ja) * | 1995-06-05 | 2004-04-12 | 株式会社日立製作所 | 構造化文書検索方法 |
JPH11203306A (ja) * | 1998-01-13 | 1999-07-30 | Matsushita Electric Ind Co Ltd | 全文検索データを記録したコンピュータ読み取り可能な記録媒体および文字列照合装置 |
JP5391583B2 (ja) * | 2008-05-29 | 2014-01-15 | 富士通株式会社 | 検索装置、生成装置、プログラム、検索方法および生成方法 |
JP5418218B2 (ja) | 2009-12-25 | 2014-02-19 | 富士通株式会社 | 情報処理プログラム、情報検索プログラム、情報処理装置、および情報検索装置 |
JP5605288B2 (ja) | 2011-03-31 | 2014-10-15 | 富士通株式会社 | 出現マップ生成方法、ファイル抽出方法、出現マップ生成プログラム、ファイル抽出プログラム、出現マップ生成装置、およびファイル抽出装置 |
WO2013069149A1 (ja) * | 2011-11-11 | 2013-05-16 | 株式会社日立製作所 | データ検索装置、データの検索方法及びプログラム |
CN116226357B (zh) * | 2023-05-09 | 2023-07-14 | 武汉纺织大学 | 一种输入中包含错误信息场景下的文档检索方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3220865B2 (ja) * | 1991-02-28 | 2001-10-22 | 株式会社日立製作所 | フルテキストサーチ方法 |
JP3263963B2 (ja) * | 1991-12-25 | 2002-03-11 | 株式会社日立製作所 | 文書検索方法及び装置 |
JPH0581321A (ja) * | 1991-09-18 | 1993-04-02 | Hitachi Ltd | フルテキストサーチの方法 |
-
1994
- 1994-05-24 JP JP13381094A patent/JP3497243B2/ja not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
N.Tavakoli , A. Ray,A new signature approach for retrieval of documents from free−text databases,Information Processing & Management,英国,Pergamon Press plc,1992年,Vol.28,No.2,p.153−163 |
岩崎雅二郎 外,文字成分表により文字列検索の実現と評価,情報処理学会研究報告(93−DBS−92),1993年 3月22日,第93巻,第29号,第1〜10頁 |
川上靖司 外,フルテキストサーチシステム Bibliotheca/TSの開発(2),情報処理学会第45回(平成4年後期)全国大会講演論文集(3),1992年10月14日,第241−242頁 |
菊池忠一,日本語文書用高速全文検索の一手法,電子情報通信学会論文誌(D−I),1992年 9月25日,第J75−D−I巻,第836〜846頁 |
Also Published As
Publication number | Publication date |
---|---|
JPH07319920A (ja) | 1995-12-08 |
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 | |
EP0378848A2 (en) | Method for use of morphological information to cross reference keywords used for information retrieval | |
JP2002189747A (ja) | 文書情報の検索方法 | |
JP3497243B2 (ja) | 文書検索方法及び装置 | |
JP2006099428A (ja) | 文書要約作成システム、方法、及びプログラム | |
JP3518933B2 (ja) | 構造化文書検索方法 | |
JP2007286742A (ja) | 文書検索装置 | |
JPH08147311A (ja) | 構造化文書検索方法及び装置 | |
JPH067385B2 (ja) | キ−ワ−ド自動抽出方式 | |
JP3303881B2 (ja) | 文書検索方法および装置 | |
JPH0944523A (ja) | 関連語提示装置 | |
JP3489237B2 (ja) | 文書検索方法 | |
JP2002269139A (ja) | 文書検索方法 | |
JPH06348757A (ja) | 文書検索装置および方法 | |
JP2004086307A (ja) | 情報検索装置、情報登録装置、情報検索方法、及びコンピュータ読み取り可能なプログラム | |
JP3698400B2 (ja) | 多言語文書処理装置、多言語文書処理方法及び記録媒体 | |
JPH08190571A (ja) | 文書検索方法 | |
JP3325677B2 (ja) | 文書検索装置 | |
JP3343941B2 (ja) | 例文検索システム | |
JP2002132789A (ja) | 文書検索方法 | |
JPS61248160A (ja) | 文書情報登録方式 | |
JP3511724B2 (ja) | 文書検索方法 | |
JP4031844B2 (ja) | 検索方法およびシステム | |
JP2000112990A (ja) | テキスト検索装置、有効語頻度作成装置、テキスト検索方法、及び有効語頻度作成方法並びに記録媒体 | |
JP2000076254A (ja) | キーワード抽出装置、このキーワード抽出装置を用いた類似文献検索装置、キーワード抽出方法及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040316 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20040706 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091128 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101128 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101128 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |