JPH07325831A - 文書検索方法及び文書検索装置 - Google Patents

文書検索方法及び文書検索装置

Info

Publication number
JPH07325831A
JPH07325831A JP6117833A JP11783394A JPH07325831A JP H07325831 A JPH07325831 A JP H07325831A JP 6117833 A JP6117833 A JP 6117833A JP 11783394 A JP11783394 A JP 11783394A JP H07325831 A JPH07325831 A JP H07325831A
Authority
JP
Japan
Prior art keywords
document
character
registered
table data
documents
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP6117833A
Other languages
English (en)
Inventor
Yasuo Tanosaki
康雄 田野崎
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP6117833A priority Critical patent/JPH07325831A/ja
Publication of JPH07325831A publication Critical patent/JPH07325831A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 文書登録時にキーワード情報を付加すること
なく、検索時に適当に作成したキーワードによって大量
の文書中から指定された語句を含む文書を高速に検索す
ること。 【構成】 メモリ4には、外部記憶装置5に登録されて
いる文書に使用されている全ての文字の該当文書中の文
字出現位置を登録文書毎に一覧とした第1のテーブルが
保持され、又前記全ての登録文書で使用されている文字
毎にその文字を使用している登録文書を全て一覧とした
第2のテーブルが保持されている。制御装置3はユーザ
により入力装置2から入力されたキー文字列の各文字に
ついて対応する前記第2のテーブルを参照して、前記各
文字が同時に使用されている登録文書を検索する。次に
制御装置3は前記検索された各登録文書に対応する前記
第1のテーブルを参照して、前記キー文字列の各文字の
出現位置が前記文字列の順序で連続している登録文書を
検索し、検索された文書を表示装置1に表示する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はテキストデータを含む文
書の検索を行う文書検索装置に係り、特に大量の文書中
から目的の文書を高速検索することができる文書検索方
法に関する。
【0002】
【従来の技術】従来、文書検索方法としては、データベ
ース作成時に予め文書に対してキーワード情報を付加し
ておき、検索時にこれを利用するという方法が用いられ
ていた。この方法によると、検索速度は比較的高速であ
るが、前記キーワード情報を付加する作業に労力を要
し、入力者に負担がかかっていた。更に、適当なキーワ
ードを常に付加することが困難であり、検索時に検索者
の目的とする文書が得られない場合もあった。
【0003】これに対して近年、電算機の処理速度の高
速化、大容量化に伴い、フルテキストサーチによる方法
が実用化されつつある。この方法によると、検索時に、
文書中に含まれる文字列全てが検索可能となるため、予
めキーワードを付加する必要がなく、検索時にも、検索
者の指定した語句を含む文書を漏れなく得ることができ
る。その反面、この方法によると、検索時にテキストデ
ータの内容を全て読み取らねばならないため、特に文書
データが大量の場合には、現在の電算機の処理能力をも
ってしても、指定された文字列をサーチする際に膨大な
処理時間を要し、実用的範囲内の時間で文書を検索する
ことができないという不具合があった。
【0004】
【発明が解決しようとする課題】上記のように、従来の
文書検索方法においてい、検索者の目的とする文書を適
格に検索できる点においてはフルテキストサーチ方式が
優れているが、その反面データ量が増加すると、処理時
間が著しく遅くなり、実用に供さなくなるという不具合
が生じていた。
【0005】そこで本発明は上記の事情に鑑み、文書登
録時にキーワード情報を付加することなく、検索時に適
当に作成したキーワードによって大量の文書中から指定
された語句を含む文書を高速に検索することができる文
書検索方法及びこの文書検索方法を用いた文書検索装置
を提供することを目的としている。
【0006】
【課題を解決するための手段】本発明は記憶装置内に登
録されている複数の文書の中から別途入力されたキー文
字列を含む文書を検索する文書検索装置において、前記
登録文書に使用されている全ての文字の該当文書中の文
字出現位置を登録文書毎に一覧とした第1のテーブルデ
ータを保持している第1の記憶手段と、前記全ての登録
文書で使用されている文字毎にその文字を使用している
登録文書を全て一覧とした第2のテーブルデータを保持
する第2の記憶手段と、前記入力されたキー文字列の各
文字について対応する前記第2の記憶手段内の第2のテ
ーブルデータを参照して、前記各文字が全て同時に使用
されている登録文書を検索する第1の検索手段と、この
第1の検索手段により検索された各登録文書に対応する
前記第1の記憶手段内の第1のテーブルデータを検索し
て、前記キー文字列の各文字の出現位置が前記文字列の
順序で連続している登録文書を検索し、これを目的の登
録文書として出力する第2の検索手段とを具備した構成
を有する。
【0007】
【作用】本発明の文書検索装置において、第1の記憶手
段は登録文書に使用されている全ての文字の該当文書中
の文字出現位置を登録文書毎に一覧とした第1のテーブ
ルデータを保持している。第2の記憶手段は前記全ての
登録文書で使用されている文字毎にその文字を使用して
いる登録文書を全て一覧とした第2のテーブルデータを
保持する。第1の検索手段は前記入力されたキー文字列
の各文字について対応する前記第2の記憶手段内の第2
のテーブルデータを参照して、前記各文字が全て同時に
使用されている登録文書を検索する。第2の検索手段は
前記第1の検索手段により検索された各登録文書に対応
する前記第1の記憶手段内の第1のテーブルデータを検
索して、前記キー文字列の各文字の出現位置が前記文字
列の順序で連続している登録文書を検索し、これを目的
の登録文書として出力する。これにより、前記キー文字
列は検索時に作成した適当なものでよく且つ、前記第1
の検索手段と第2の検索手段は第2、第1のテーブル内
のデータだけを検索するため、登録文書が大量にあって
も、目的の文書を高速に検索することができる。
【0008】
【実施例】以下、本発明の一実施例を図面を参照して説
明する。図1は本発明の文書検索装置の一実施例を示し
たブロック図である。1は本装置がユーザに対して与え
るプロンプトメッセージや、検索結果等を表示する表示
装置であり、例えばVRAM、CRT及びコントローラ
からなる。2は装置に対するコマンド、キーワード等を
入力するための入力装置であり、キーボード及びマウス
等からなる。3はCPUからなり、メモリ4に格納され
ているプログラムを実行する制御装置。ここで、本装置
ではOSとしてUNIXを用いているものとする。4は
RAM及びROMからなり、CPUを制御するためのプ
ログラムが格納されているメモリで、更に、このメモリ
には各種の処理を行うためのワークエリアも確保されて
いる。5は例えば磁気ディスク装置からなり、文字出現
位置テーブル及びこれらを管理するための情報を格納す
る外部記憶装置で、この外部記憶装置には検索結果の表
示のために必要なテキストデータあるいは図表データな
ども格納されている。この外部記憶装置5に格納されて
いるデータはファイルとして管理され、ファイルシステ
ムにアクセスすることができる。
【0009】次に外部記憶装置5の中に格納されている
各ファイルの構造について詳しく述べる。外部記憶装置
5内には、まず、検索されるべき複数の文書データがそ
れぞれファイルとして格納されている。これを文書ファ
イルと呼ぶ。各文書データには、整数の文書番号が付け
られており、各文書ファイルの名もそれに対応したもの
になっている。ひとつの文書ファイルは、文書を構成す
るテキストデータと、文書に含まれる図表やイメージの
データを含んでいる。外部記憶装置5内には、文書デー
タの他に、文字出現位置テーブルを管理するためのファ
イル(これをテーブル管理ファイルと呼ぶ)が格納され
ている。
【0010】先ず、文字出現位置テーブルの内容につい
て述べる。文字出現位置テーブルは、外部記憶装置5内
に格納されている任意の文書のテキストデータ中での任
意の文字が出現する全ての位置を記述したものである。
この文字出現位置テーブルの一般的な構造は図2(A)
に示す如くである。この図2(A)の文字出現位置テー
ブルの先頭には、任意の文字の任意の文書中のテキスト
データ中での出現総数Nが格納されており、これに続い
て、各出現位置がN個の整数列として格納されている。
図2(B)は「文」という文字の文書番号7の文書のテ
キスト中での出現位置を記述した具体例を示している。
「文」の出現総数は7個で、それぞれ出現位置56、1
23…6011であることが分かる。
【0011】テーブル管理ファイルは図3に示すような
構造を有し、上記した文字出現位置テーブルを管理する
ためのファイルであり、同じJISコードに対応する各
文書の文字出現位置テーブルをまとめるものである。こ
れらのテーブルがファイル内部に配置されており、外部
記憶装置5中にJISコードに対応した複数個のテーブ
ル管理ファイルが格納されている。これらのファイル名
としては、対応するJISコードに関述した名前が付け
られている。
【0012】図3は上記したようにテーブル管理ファイ
ルの一般的な構造例を示した図である。まず、ファイル
の先頭には、ファイルのサイズが格納されており、続い
て、該当する文字を含む文書の数:Nが格納されてお
り、その後に続いて、該当する文字を含む文書の文書番
号と、それに対応する文字出現位置テーブルの、ファイ
ルの先頭からの位置が順に対応づけて格納されており、
それらに続いて、図2(A)に示した構造の各文字出現
位置テーブルの本体が格納されている。
【0013】次にメモリ4の内部の構造を図4を用いて
説明する。メモリ4はCPU制御用のプログラム格納用
の領域と、処理のための作業領域に大別される。プログ
ラム領域には、メイン制御部4a、初期化部4b、キー
ワード入力部4c、文字出現位置テーブル選出部4d、
文字列サーチ部4e、文字選択部4f、検索結果表示部
4g等の各種プログラムが格納されている。
【0014】メイン制御部4aは装置全体の処理の流れ
を制御する部分で、ユーザに対してプロンプトメッセー
ジの表示や処理の分岐等を行う。初期化部4bは各ハー
ドウエァ装置の初期設定や作業領域の初期化を行う部
分、キーワード入力部4cはユーザに対して検索のため
のキーワードを入力する部分、文字出現位置テーブル選
出部4dは入力されたキーワードの各文字に対応するテ
ーブル管理ファイルを選び出し、メモリ装置中の作業領
域に格納する部分である。文字列サーチ部4eはメモリ
装置中に格納されている各テーブル管理ファイルの内容
を参照して、入力されたキーワード文字列を含む文書を
見付け出す部分、文書選択部4fは見付け出された候補
文書の一覧表を表示し、そのうちのひとつをユーザに選
択させる部分、検索結果表示部4gは候補文書のうちユ
ーザが指定した文書の内容を画面に表示する部分であ
る。
【0015】他方、メモリ4の作業領域中には、キーワ
ード文字数格納バッファ4m、キーワード格納バッファ
4n、テーブル管理ファイル格納バッファ4p、候補文
書数格納バッファ4r、候補文書番号格納バッファ4
s、表示文書番号格納バッファ4tが設定されている。
キーワード文字数格納バッファ4mはユーザが入力した
キーワードの文字数を格納するバッファ、キーワード格
納バッファ4nはキーワードを格納するバッファであ
り、図5で示すような配列になっている。テーブル管理
ファイル格納バッファ4pは図6(A)に示すような構
造体の配列であり、ひとつの構造体の構成はテーブル管
理ファイルの構造に対応しており、この構造の形式は図
6(B)に示すようになっている。又、図6(C)は文
字出現位置テーブル格納領域0の構成例を示した図であ
る。
【0016】上記したひとつの構造体の内部には、ファ
イルサイズ格納領域、格納されている文字出現位置テー
ブルの数を格納するための領域があり、更に文字出現位
置テーブルの本体を格納する領域及び各文字出現位置テ
ーブルへのポインタを格納する領域及びこれらに対応す
る文書番号を格納する領域がある。更に、この構造体の
内部には文字列サーチの際に各種の処理のために必要な
変数等を格納するための領域がある。この中には処理の
際に、内部の何番目の文字出現位置テーブルを参照して
いるか記憶しておくための、参照テーブル番号記憶領
域、文字出現位置テーブル中での何番目の出現位置を参
照してるかを記憶しておくための出現位置記憶領域があ
る。
【0017】以降、テーブル管理ファイル格納バッファ
中のi番目の構造体をTMF[i]で表わし、この中に
格納されているファイルサイズをTMF[i].fsi
ze、ひとつの構造体に含まれる文字出現位置テーブル
の数をTMF[i].nCLTで表し、参照テーブル番
号記憶領域をTMF[i].iCLTで表し、出現位置
記憶領域をTMF[i].iLOCで表わし、j番目の
文字出現位置テーブルをTMF[i].CLT[j]で
表し、又、j番目の文字出現位置テーブルに対応する文
書番号をTMF[i].ID[j]で表わすことにす
る。
【0018】候補文書数格納バッファ4rは検索の結
果、候補となる文書の数を格納するためのバッファ、候
補文書番号格納バッファ4sは候補となる文書のID番
号を順番に格納するためのバッファであり、図14で示
すような配列になっている。表示文書番号格納バッファ
4tは候補文書中で、ユーザが表示を希望する文書のI
D番号を格納するためのバッファである。更にj番目の
文字出現位置テーブル中での出現総数TMF[i].C
LT[j].Nで表わし、k番目の出現位置をTMF
[i].CLT[j].LOC[k]と表わすことにす
る。
【0019】以上の構成要素を用いて図1に示した装置
の具体的な検索処理の流れについて図7を用いて説明す
る。まず、メモリ4のプログラム部のうち、初期化部4
bがステップ701にて起動する。ここでは、図1に示
した表示装置1、入力装置2、制御装置3及び外部記憶
装置5の初期設定、メモリ4中の作業領域の初期化、初
期化画面の表示等が行なわれる。次に、キーワード入力
部4cがステップ702にて起動する。ここでは、入力
装置2を用いてユーザに検索のためのキーワード文字列
を入力させる。本実施例のキーワード文字列を構成する
各文字は2バイトからなるJISコードで表わされ、入
力された順にキーワード格納バッファ4nに格納され、
入力された文字数がキーワード文字数格納バッファ4m
に格納される。
【0020】次に、文字出現位置テーブル選出部4dが
ステップ703にて起動する。ここでは、キーワード格
納バッファ4n内に格納されている文字コード(これを
順番にC0 、C1 、…Cn-1 と表わす。但し、nはキー
ワード文字数格納バッファに格納されている数値であ
る)に対応するテーブル管理ファイルを外部記憶装置5
の中から呼び出し、これを順番に、テーブル管理ファイ
ル格納バッファ4pの中の各構造体に格納する。
【0021】この際、図1に示した装置では、テーブル
管理ファイルの名前として、対応する文字コードをas
cii形式で表現したものにファイル識別子「.tm
f」を付加したものを用いている。例えばJISコード
が16進数の3026である文字「愛」に対応するテー
ブル管理ファイルの名前は「3026.tmf」であ
る。そのため、ひとつのファイルを呼び出す際には、ま
ず文字コードを16進数で表わした文字列にファイル識
別子「.tmf」を付加した文字列を生成する。この文
字列をファイル名として、外部記憶装置5の中より対応
するファイルを呼び出す処理はOSが行う。こうして、
テーブル管理ファイル格納バッファ4nの中に、各テー
ブル管理ファイルの内容が格納された後、処理はステッ
プ704に移る。ステップ704では文字列サーチ部4
eが起動する。この文字列サーチ部4eはテーブル管理
ファイル格納バッファ4p中に格納されている構造体の
データを参照し、キーワードを含む文書の文書番号を順
番に候補文書番号格納バッファ4s中に格納するという
一連の処理を行う。
【0022】次に文字列サーチ部4eでの処理について
図8を用いて説明する。尚、図8は前記処理の概略を説
明した図である。但し、図中i及びおよびjは整数型の
変数を示している。まず、ステップ801にて各変数の
初期化が行われる。この初期化では、候補文書数格納バ
ッファ4r(nCand)の値に0が代入され、次に、
0≦i<nのTMF[i].iCLTに0が代入され
る。
【0023】ここで、上記したステップ802の文字存
在の判定処理の流れの詳細を図9を用いて説明する。こ
の文字存在の判定処理では、テーブル管理ファイル格納
バッファ4p中に格納された0番目からn−1番目まで
の全てのテーブル管理データ中に、同一の文書から生成
された文字出現位置テーブルが含まれているかどうかの
判定を行う。即ち、ステップ901でi=1とした後、
ステップ902では、i番目のテーブル管理データ中の
何番目の文字出現テーブルを参照しているかを判定す
る。
【0024】例えば、0番目のテーブル管理データ中の
何番目の文字出現テーブルを参照しているかは、TMF
[0].iCLTで表わされる。この値は初期状態では
0で、後の処理で更新される。この文字出現テーブルに
対応する文書の文書番号はTMF[0].ID[TMF
[0].iCLT]で表わすことができる。1番目から
n−1番目までのテーブル管理データに対して、文書番
号:TMF[i].ID[j]がTMF[0].ID
[TMF[0].iCLT]であるものを探すのである
が、この際に処理を高速化するために、jの最小値をT
MF[i].iCLTとして最大値をTMF[i].n
CLT−1の範囲でバイナリサーチを行う。TMF
[i].iCLTは初期化が0でステップ903の処理
で更新される変数であり、TMF[i].nCLTは固
定値であって、ひとつのテーブル管理データ中に含まれ
る文字出現位置テーブルの総数が格納されている。
【0025】ステップ903では、TMF[i].iC
LTの更新が行われる。ステップ902で、条件を満た
すjの値が存在したなら、TMF[i].iCLTの値
としてjの値が格納される。ここで、jの値がTMF
[i].nCLT−1であれば、TMF[i].iCL
Tの値としてjを用いる。又、前記条件を満たすjの値
が存在しなかったならば、TMF[0].ID[TMF
[0].iCLT]の値を越えるという条件を満たすT
MF[i].ID[j]のうち、最小のものをTMF
[i].iCLTの値として用いる。この条件を満たす
TMF[i].ID[j]が存在しない場合には、TM
F[i].iCLTの値としてTMF[i].nCLT
−1の値を用いる。
【0026】ステップ904では、ステップ902の処
理の結果により、処理の分岐が行われる。サーチが失敗
した場合には、ステップ905に進んで、判定失敗のフ
ラグを立てて、ステップ802の処理を終了する。サー
チが成功した場合は、ステップ906に進んで、iの値
を+1インクリメントした後、ステップ907へ進む。
ステップ907にて前記iの値がnよりも小さいかどう
かを判定し、小さい場合にはステップ902に戻り、大
きい場合にはステップ908に進む。このステップ90
8へ進んだ場合、テーブル管理データに対してサーチが
成功したことになり、判定成功のフラグを立ててステッ
プ802の処理を終了する。
【0027】ここで、図8の処理に戻り、ステップ80
3以降の処理を説明する。ステップ803では、ステッ
プ802での結果を受けて、判定失敗のフラグが立って
いれば途中の処理を行わず、ステップ807の処理へ飛
ぶ。一方、判定成功のフラグが立っていたならば、ステ
ップ804へ進んで、文字接続判定の処理を行う。ステ
ップ802の処理では、キーワード文字列を構成する全
ての文字を含む文書が存在するかどうかの判定を行うの
みで、各文字の接続関係のチェックは行っていなかった
が、ステップ804の処理では、各文字の接続関係のチ
ェックを行う。
【0028】このステップ804の処理の詳細について
図10を用いて説明する。この処理の要点は、ステップ
802で格納されたTMF[i].iCLTの値、即
ち、各テーブル管理データのうち文字コード:TMF
[0].ID[TMF[0].iCLT]に対応する文
字出現テーブルに対して、その内部の各出現位置データ
を参照する。そして、0≦i<n−1に対して、 TM
F[i+1].CLT[TMF[i+1].iLOC]
=TMF[i].CLT[TMF[i].iLOC]+
1を満たすTMF[i].iLOCの組み(0≦i<
n)が存在するかどうか調べる。これにより、文書中
で、キーワード文字列を構成する全文字が互いに隣接し
て存在する部分が存在するか、即ち該当する文書中に、
指定されたキーワードが部分文字列として含まれている
かどうかの判定がなされる。
【0029】図10に示したステップ101では、各出
現位置データの中での現在の参照番号を格納するための
変数(これらは主にステップ104でバイナリサーチの
効率を高める目的で利用する)の初期化が行なわれる。
続いてステップ102では何番目のテーブル管理データ
を参照しているかを示す変数iの初期化を行い、更に、
ステップ103でキーワード文字列の先頭の文字の位置
を変数Pに代入する。0番目のテーブル管理データ中の
出現位置データ中に格納されている各出現位置は全てキ
ーワード文字列の先頭の文字の位置であり、その何番目
を参照しているかを変数TMF[0].iLOCで表わ
している。
【0030】次に、ステップ104では、各出現位置テ
ーブル中の出現位置データ中にP+i+1即ち、キーワ
ードの先頭の文字位置のi+1文字分あとのものがある
かどうかを、バイナリサーチによって調べる。このバイ
ナリサーチは、出現位置テーブル中で下限をTMF
[i].iLOC、上限をTMF[i].iCLT.N
番目の出現位置テーブルのみに限定して行われる。
【0031】ステップ105では、ステップ104で用
いるTMF[i].iLOCの値の更新が行われる。ス
テップ104でサーチが成功した場合には、TMF
[i].iLOCの値としてkの値が代入される。サー
チが失敗した場合には、TMF[i].iLOCの値と
してP+i+1の値を越えるという条件を満たすステッ
プ104におけるTMF[i].CLT[i].CLT
[j].LOC[k]のうち最小のものを用いる。条件
をみたすものが存在しない場合には、該当する出現位置
テーブルの要素数−1であるTMF[i].CLT
[j].N−1の値を用いる。
【0032】ステップ106ではステップ104での結
果をうけて処理の分岐が行われる。バイナリサーチが成
功した場合には、処理はステップ107に進み、失敗し
た場合にはステップ110に移る。ステップ107では
iの値を+1インクリメントする。ステップ108では
インクリメントされたiの値をnの値、即ち、キーワー
ド文字列の文字数と比較する。i≧nなら、全文字に関
して条件が満たされたため、ステップ109にて判定成
功のフラグを立てて復帰する。i<nならステップ10
3に戻って上記処理を繰り返す。
【0033】また、ステップ110では、0番目のテー
ブル管理データ中の出現位置テーブルの何番目を参照し
ているかを表わす変数TMF[0].iLOCの値を+
1インクリメントする。。ステップ111では、ステッ
プ110でインクリメントしたTMF[0].iLOC
の値と、0番目のテーブル管理データ中の該当する出現
位置テーブルの要素数:TMF[0].CLT[TMF
[0].iCLT].Nとの比較を行い、前者の値が後
者の値以上ならばステップ112にて判定失敗のフラグ
を立てて復帰する。そうでない場合は、1≦i<nに対
応するバイナリサーチのための変数:TMF[i].i
LOCの値を+1インクリメントする。これらの各値の
うちひとつでも、対応する出現位置テーブルの要素数以
上になっている場合には、ステップ111にて判定失敗
のフラグを立てて復帰する。以上の条件のいずれも満た
さない場合には、ステップ102に戻って、0番目のテ
ーブル管理データ中の出現位置テーブルの要素のうち前
回の次のものに対して一連の処理を行う。
【0034】以上が図8のステップ804での詳細な処
理の流れである。ここで、再び図8に戻る。ステップ8
05ではステップ804での処理結果を受け、判定失敗
のフラグが立っていれば途中の処理を行わず、処理はス
テップ807に飛ぶ。判定成功のフラグが立っていたな
ら、ステップ806にて候補文書番号の登録処理が行わ
れる。ステップ806では、候補文書番号格納バッファ
4s中の候補文書番号で示される候補文書数格納バッフ
ァ4rの位置にステップ902の処理で現在参照してい
る文書のID番号、即ちTMF[0].ID[TMD
[0].iCLT]を格納し、候補文書数格納バッファ
4rの内容をインクリメントして、処理をステップ80
7に移す。ステップ807では、図8に示した一連の処
理の後処理として、0番目のテーブル管理データ中の何
番目の出現位置データを参照しているかを示す変数:T
MF[0].iCLTのインクリメントを行う。
【0035】続くステップ808では、ステップ807
でインクリメントしたTMF[0].iCLTの値と、
0番目のテーブル管理データ中に含まれる出現位置テー
ブルの総数を示す変数:TMF[0].nCLTとの値
を比較して、前者の値が後者の値以上ならば文字列サー
チ部4eでの処理を終え、復帰をする。しかし、前者の
値が後者の値以上でない場合は1≦i<nに対応するT
MF[i].iCLTの値のインクリメントを行う。こ
れらの各値のうちひとつでも対応する出現位置テーブル
の総数:TMF[i].nCLTの値以上になっている
場合には文字列サーチ部4eでの処理を終え復帰を行
う。以上の条件のいずれも満たされない場合はステップ
802に戻り、一連の処理を繰り返す。
【0036】次に図7のフローチャトのステップ705
処理に進む。このステップ705にて文書選択部4fが
駆動する。このステップでは、まず、候補文書格納バッ
ファ4s中に格納されている各文書番号に対応する文書
のタイトルの一覧表を表示装置1の画面上に表示する。
タイトルの一覧表表示後の画面の状況を図11に示す。
その後、文書選択部4fは入力装置2を用いて、ユーザ
に、タイトルのうちひとつを指定させ、指定されたタイ
トルの文書番号を表示文書番号格納バッファ4tに格納
する。このステップ706にて検索結果表示部4gが駆
動する。このステップでは、表示文書番号格納バッファ
4tに格納されている文書番号に対応する文書ファイル
を外部記憶装置5内より取り出し、この中のテキストデ
ータを文字フォントに展開して、表示装置1の画面上に
表示する。また、文書ファイル中の図表やイメージデー
タをビットイメージに展開し、表示装置1の画面上に表
示する。テキストデータおよび図表・イメージデータの
表示後の画面の状況は図12に示すようになる。ステッ
プ706の処理後、検索結果表示部4gはステップ70
7にて画面上に図13に示すような2つのアイコンを表
示する。その後、入力装置2を用いて、ユーザにどちら
かのアイコンを指定させる。ステップ708にてユーザ
が、「終了」アイコンを指定した場合には、本装置の全
処理を終了する。ステップ709にてユーザが「再検
索」アイコンを指定した場合には、図7におけるステッ
プ702からの一連の処理を繰り返す。
【0037】ここで、具体例を用いて図1に示した装置
の概略動作について説明する。例えば「本装置」という
単語を含んだ文書を外部記憶装置5から検索したい場
合、制御装置3は、まず、メモリ4内の「本」、
「装」、「置」に関わる図3に示した3個のテーブルを
参照して、上記「本」、「装」、「置」の3単語を共通
に持つ文書番号とテーブル位置(このテーブルは図2に
示したもの)を検索する。この段階で、文書番号1、
3、6、8が検索されたものとする。次に、制御装置3
は各文書番号に対応して検索された前記テーブル位置で
示される上記3単語の図2に示したテーブルを相互に参
照して、「本」、「装」、「置」の各文書中での出現位
置がこの順番で連続している文書を探し、このような文
書があった場合は、その文書番号の文書のタイトルを目
的の文書として、表示装置1に表示する。
【0038】本実施例によれば、入力されたキーワード
を構成する文字列の各文字の図3に示したテーブルを検
索して、前記各文字を共通に含んでいる文書を検索し、
次に各文書について前記各文字の出現位置を図2のテー
ブルを参照して求め、前記各文字が前記文字列の順番で
連続して出現した文書を目的の文書として出力するた
め、検索対象文書が大量であっても、検索者が検索時に
入力した適当なキーワードにより迅速に目的の文書を検
索することができる。従って、文書を外部記憶装置5に
登録するときにキーワードを付与する必要がなく、文書
を外部記憶装置5に登録する際の労力を著しく軽減する
ことができる。
【0039】尚、本実施例では、外部記憶装置5中に格
納してあるひとつのテーブル管理ファイルを全てメモリ
4上にロードしたが、処理に従って、その中の必要なテ
ーブルのみをメモリ4中にロードしても良い。さらに、
テーブル管理ファイル中のデータを一切メモリ4上にロ
ードせず、外部記憶装置5に入ったものを直接使用して
も同様の効果がある。
【0040】又、本実施例は図8のステップ802でキ
ーワード文字列を全て含む文書を検索した後、ステップ
804で前記検索された文書の中で前記キーワード文字
列がこの順番で連続して存在する文書を最終的な検索文
書として出力する構成であったが、前記ステップ802
で前記検索された文書を最終的な検索文書として出力す
る構成としてもよい。但し、この構成では、前記キーワ
ード文字列を含む検索文書の絞り込みが行われておら
ず、その分、検索された文書の範囲が広くなってしまう
が、逆に検索範囲を広げる場合に有効な方法となる。
【0041】
【発明の効果】以上記述した如く本発明の文書検索方法
及び文書検索装置によれば、文書登録時にキーワード情
報を付加することなく、検索時に適当に作成したキーワ
ードによって大量の文書中から指定された語句を含む文
書を高速に検索することができる。
【図面の簡単な説明】
【図1】本発明の文書検索装置の一実施例を示したブロ
ック図。
【図2】図1のメモリ内に格納されている文字出現テー
ブルの構造例を示した図。
【図3】図1のメモリ内のテーブル管理ファイルの構造
を示した図。
【図4】図1に示したメモリの構造例を示した図。
【図5】図4に示したキーワード格納バッファの構造例
を示した図。
【図6】図4に示したテーブル管理ファイル格納バッフ
ァの構造例を示した図。
【図7】図1に示した制御装置による文書検索処理の流
れを示したフローチャート。
【図8】図7に示したステップ704の処理の詳細な流
れを示したフローチャート。
【図9】図8に示したステップ802の文字存在判定処
理の詳細な流れを示したフローチャート。
【図10】図8のステップ804に示した文書接続判定
処理の流れを示したフローチャート。
【図11】検索された文書のタイトルの一覧表を図1に
示した表示装置に表示した際の画面例を示した図。
【図12】検索された文書データを図1に示した表示装
置に表示する際の画面例を示した図。
【図13】終了処理を行うために図1に示した表示装置
の画面に表示されたアイコン例を示した図。
【図14】図4に示したメモリ内の候補文書番号格納バ
ッファの構造例を示した図。
【符号の説明】 1…表示装置 2…入力装置 3…制御装置 4…メモリ 5…外部記憶装置 4a…メイン制
御部 4b…初期化部 4c…キーワー
ド入力部 4d…文字出現位置テーブル選出部 4e…文字列サ
ーチ部 4f…文書選択部 4g…検索結果
表示部 4m…キーワード文字数格納バッファ 4n…キーワー
ド格納バッファ 4p…テーブル格納ファイル格納バッファ 4r…候補文書数格納バッファ 4s…候補文書
番号格納バッファ 4t…表示文書番号格納バッファ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 記憶装置内に登録されている複数の文書
    の中から別途入力されたキー文字列を含む文書を検索す
    る文書検索方法にあって、前記登録する文書に使用され
    ている全ての文字の該当文書中の文字出現位置を登録文
    書毎に一覧とした第1のテーブルデータを作成すると共
    に、前記全ての登録文書で使用されている文字毎にその
    文字を使用している登録文書を一覧とした第2のテーブ
    ルデータを作成しておき、その後、キー文字列が入力さ
    れると、先ず、このキー文字列の各文字について対応す
    る前記第2のテーブルデータを参照し、これら各文字が
    全て同時に使用されている登録文書を検索し、次に上記
    のように検索された各登録文書に対応する前記第1のテ
    ーブルデータを検索して前記キー文字列の各文字の出現
    位置が前記文字列の順序で連続して存在する登録文書を
    検索して、これを目的の登録文書として出力することを
    特徴とした文書検索方法。
  2. 【請求項2】 前記第1のテーブルデータに一覧として
    記載された前記文字出現位置とは、1文書を構成する文
    字データの中で、先頭の文字から前記該当文字が何番目
    であるかを示す整数であることを特徴とした請求項1記
    載の文書検索方法。
  3. 【請求項3】 前記1つの文書に同じ文字が複数回出現
    する場合には、その出現位置を番号の小さい順から或い
    は大きい順に前記テーブルに記載し、且つこの文字の出
    現位置情報の総数、即ち出現総数を前記テーブル内に記
    載したことを特徴とする請求項2記載の文書検索装置。
  4. 【請求項4】 前記入力されたキー文字列の文字コード
    をCi とすると、前記キー文字列はC0 1 2 …C
    n-1 と表され、この文字列を前記第2のテーブルデータ
    内から検索する際に、C0 〜Cn-1 に対応する各第2の
    テーブルデータをT0 〜Tn-1 と表わし、且つ、第2の
    テーブルデータTi 中の先頭からj番目に格納されてい
    る出現位置情報をTi j と表した場合に、0≦i<n
    −1を満たす全ての整数に対して、Ti+1,ji+1=Ti,Ji
    +1を満たす整数の組ji が存在するか否かを調べるこ
    とを特徴とした請求項1又は3記載の文書検索方法。
  5. 【請求項5】 前記第2のテーブルデータTo 中のT
    0,0 を選び、次に1≦i≦n−1に対して、順番にTi
    に対してバイナリサーチを行うことにより、Ti,xi=T
    i-1,xi-1+1を満たすxi を求めていき、i=n−1に
    なるまでにxiの値が全て求まったら検索ができたと判
    定し、前記xi の値が求まらない場合には、前記T0,0
    に代わり、T0,j に対してj=1…T0 に含まれる出現
    位置情報数−1回の上記処理を繰り返すことを特徴とし
    た特許の請求の範囲第4項記載の文書検索方法。
  6. 【請求項6】 前記第2のテーブルデータTi に対して
    バイナリサーチを行う際に、第2のテーブルデータTi
    の先頭から何番目までの出現位置情報を参照したかを、
    この第2のテーブルデータTi に対応づけて記憶し、こ
    れを、次回第2のテーブルデータTi 内でバイナリサー
    チを行うときの上限の値として利用することを特徴とし
    た特許の請求の範囲第5項記載の文書検索方法。 (1≦i≦n−1)
  7. 【請求項7】 記憶装置内に登録されている複数の文書
    の中から別途入力されたキー文字列を含む文書を検索す
    る文書検索方法にあって、前記全ての登録文書で使用さ
    れている文字毎にその文字を使用している登録文書を一
    覧としたテーブルデータを作成しておき、その後、キー
    文字列が入力されると、先ず、このキー文字列の各文字
    について対応する前記テーブルデータを参照し、これら
    各文字が全て同時に使用されている登録文書を検索し、
    これを目的の登録文書として出力することを特徴とした
    文書検索方法。
  8. 【請求項8】 記憶装置内に登録されている複数の文書
    の中から別途入力されたキー文字列を含む文書を検索す
    る文書検索装置において、前記登録文書に使用されてい
    る全ての文字の該当文書中の文字出現位置を登録文書毎
    に一覧とした第1のテーブルデータを保持している第1
    の記憶手段と、前記全ての登録文書で使用されている文
    字毎にその文字を使用している登録文書を全て一覧とし
    た第2のテーブルデータを保持する第2の記憶手段と、
    前記入力されたキー文字列の各文字について対応する前
    記第2の記憶手段内の第2のテーブルデータを参照し
    て、前記各文字が全て同時に使用されている登録文書を
    検索する第1の検索手段と、この第1の検索手段により
    検索された各登録文書に対応する前記第1の記憶手段内
    の第1のテーブルデータを検索して、前記キー文字列の
    各文字の出現位置が前記文字列の順序で連続している登
    録文書を検索し、これを目的の登録文書として出力する
    第2の検索手段とを具備したことを特徴とする文書検索
    装置。
JP6117833A 1994-05-31 1994-05-31 文書検索方法及び文書検索装置 Withdrawn JPH07325831A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6117833A JPH07325831A (ja) 1994-05-31 1994-05-31 文書検索方法及び文書検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6117833A JPH07325831A (ja) 1994-05-31 1994-05-31 文書検索方法及び文書検索装置

Publications (1)

Publication Number Publication Date
JPH07325831A true JPH07325831A (ja) 1995-12-12

Family

ID=14721386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6117833A Withdrawn JPH07325831A (ja) 1994-05-31 1994-05-31 文書検索方法及び文書検索装置

Country Status (1)

Country Link
JP (1) JPH07325831A (ja)

Similar Documents

Publication Publication Date Title
CA2204447C (en) Document display system and electronic dictionary
US6523030B1 (en) Sort system for merging database entries
US6377947B1 (en) Information retrieval based on using and locating subdocuments
JP2937520B2 (ja) 文書検索装置
JP2937521B2 (ja) 文書検索装置
US20030225787A1 (en) System and method for storing and retrieving thesaurus data
JPH10269233A (ja) 文書データベースの検索結果表示方法及び装置
JP3415214B2 (ja) 文書検索装置
JPS617936A (ja) 情報検索方式
JPH07325831A (ja) 文書検索方法及び文書検索装置
JP3728264B2 (ja) インデックス作成装置、検索システム、及び制御方法
JP3056810B2 (ja) 文書検索方法および装置
JPH04311263A (ja) 電子辞書検索装置
JP3498635B2 (ja) 情報検索方法及びその装置並びにコンピュータ可読記録媒体
JP3259781B2 (ja) データベース検索システムおよびデータベース検索方法
JPH08147289A (ja) かな漢字変換システム及びかな漢字変換方法
JPH08235204A (ja) 文書検索方法及び装置
JP2563645B2 (ja) 文書検索装置
JPH06208584A (ja) 文書検索装置
JP2838972B2 (ja) 自動索引作成装置
JPH08153112A (ja) 文書作成装置及び文書作成方法
JPH0245876A (ja) 文書検索装置
JPH06162096A (ja) レコード検索方法
JPH06251059A (ja) 文書検索装置
JPH06251058A (ja) 文書検索装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010731