(57)【要約】【課題】文書を文書データベース登録後に全文検索登録し、検索を行うと文書がヒットするまで大変長く待たされる。その待ち時間を短くする事を目的とする。【解決手段】全文検索を実行し、ヒット文書が確定する度に文書ＩＤに対応したヒット頻度分布表を更新する。全文検索の登録処理の開始時には頻度分布表の内容に基づき、ヒットしない文書を第１の全文検索データベースから削除して検索時間が短くなるようになる。削除された文書は第２の全文検索データベースに登録され直す。実際の検索は第１、第２の全文検索データベース順に行われ、第２の全文検索データベースでヒット頻度の高いものは第１の全文検索データベースに登録し直される。【選択図】        図１
2004178181.tif 000002
【特許請求の範囲】
【請求項１】
全文検索のデータベースを複数有し、優先順位の高い順に検索を行う方式であり、動的に複数の全文検索データベースに登録されている文書を変更する事を特徴とする全文検索の検索・登録方式。
【請求項２】
複数の全文検索データベースに登録されている文書の変更は、過去の文書のヒット頻度に基づいて行われ、データベースからの登録の抹消と他のデータベースへの再登録により、登録されるデータベースを移す事を特徴とする請求項１の全文検索の検索・登録方式。
【請求項３】
全文検索データベースと対にヒット頻度テーブルを持ち、ある文書が他の全文検索データベースへ登録が移動する際に、ヒット頻度のデータも移動する事を特徴とする特許請求項２の全文検索の検索・登録方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
全文検索を行う際に実際にヒットする回数が多い文書と少ない文書を別個の全文検索データベースで管理する技術分野に関する。
【０００２】
【従来の技術】
全文検索処理は文書中のテキストを調べて、キーワードがその中に存在するか否かを検索するために膨大な処理時間がかかる。検索時間の短縮のために通常は基本処理として文書中からテキストを抽出してそのテキストに対応する文書のＩＤ（認識）番号をテーブルとして作成しておく。しかしながら、このような全文検索技術を使ってもヒット文書数が多い場合には、処理時間が多くかかってしまう。
【０００３】
【発明が解決しようとする課題】
そこで検索速度を上げる為に文書を複数の全文検索データベースに登録して、各全文検索データベースからの検索速度を向上する事が可能であるが、文書が含まれる全文検索データベースがどれであるか特定でき、その全文検索データベースに絞って検索する場合にしか効果はなかった。
【０００４】
【課題を解決するための手段】
本発明では、全文検索データベースを複数持ち、検索でヒットした各文書についてのヒット回数頻度をテーブルに保持する構成をとり、定期的に検索優先順位の高いデータベースからはヒット回数頻度の低い文書の登録を削除し、優先順位の低い全文検索データベースへ登録しなおす手段を有し、また検索優先順位の低いデータベースからはヒット回数頻度の高い文書の登録を削除し、優先順位の高い全文検索データベースへ登録しなおす手段を有する。
【０００５】
検索時には優先順位の高い全文検索データベースから順に検索をおこない、利用率の高い文書から高速で検索を行う手段を有する。
【０００６】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施形態を詳細に説明する。
【０００７】
［実施形態１］
図１は本発明の実施形態１の全文検索処理を含むアプリケーションソフトが動作する文書検索装置の全体構成を示す図である。
【０００８】
１はＣＰＵであり、本実施形態の処理を実行する為の各種制御を行う。２はＣＤ−ＲＯＭドライブ装置であり、外部からのデータの取りだしに用いる。３はプリンタであり、ディスプレイ装置９に表示される画像等のプリントを行う。４はハードディスクドライブ装置であり、主に主記憶装置として用いられ、本実施形態で実行する処理プログラムやアプリケーション等を記憶する。また、複数種類の文書（画像）データを記憶する。５はフロッピー（Ｒ）ディスクドライブ装置であり、外部からのデータの取り込みや外部へのデータの取り出しに用いる。６は通信部であり、ネットワーク等との接続を可能にし、外部のコンピュータやネットワーク上のスキャナやプリンタやディスク装置との間でデータの授受が行える。７はキーボードであり、本実施形態で実行される処理の指示や、検索条件等の文字列の入力等、操作者の対話的入力を受け付ける。８はマウス等のポインティングデバイスであり、キーボード７と共に操作者の対話的入力を受け付ける。９はディスプレイ装置であり、文書画像を表示する為のメモリを搭載するディスプレイカードやモニタなどを含み、本実施形態の処理を実行するためのウィンドウや処理結果を表示する。
【０００９】
（実施例１）
実施形態１のアプリケーション動作中のウィンドウ表示画面について図２を用いて説明する。
【００１０】
図２は本発明における実施形態１のアプリケーション動作中のウィンドウ表示画面を示す図である。尚、このウィンドウ表示画面はたとえばディスプレイ装置９のモニタ上に表示される。
【００１１】
１８ａはウィンドウ２００をアイコン化して表示する最小化ボタンである。１８ｂはウィンドウ２００をモニタ前面に最大化して表示する最大化ボタンである。１８ｃはウィンドウ２００の表示を消去する「閉じるボタン」である。１２はウィンドウ２００のタイトルを表示するタイトルバーである。１７は現在起動しているアプリケーション名と、表示しているイメージの文書名が表示される領域である。また、１３は各種の処理機能を表示するメニューであり、１４はメニュー１３に表示される処理機能と同様の処理機能をボタン化して表示したツールボタンである。このメニュー１３、あるいはツールボタン１４に表示される任意のボタンをポインティングデバイス８を使用して選択する事で、その選択した処理機能を実行させることが可能である。１１はツールバーであり、ある特定のモードでの動作の選択に使われる。２２は検索結果として表示される文書画像の枠の外部であるウィンドウ背景部を表示する領域である。１５は検索結果として表示されている文書画像である。
【００１２】
図２においてメニュー１３の“ツール”メニューを選択すると、図３に示すようなプルダウンメニューが表示される。プルダウンメニューには、文書画像データに含まれる文字列の登録処理、全文検索を実行するための“登録処理”、“全文検索”メニューが含まれている。実施形態１での通常の登録処理は、入力した文書データを検索対象にするための操作で、たとえば、夜間やシステムのアイドル時に自動的に実行されるようになっている。
【００１３】
次に実施形態１で実行される文書データの登録処理について、図６を用いて説明する。
【００１４】
図６は本発明の実施形態１で実行される文書データの登録処理を示すフローチャートである。
【００１５】
全文検索データベースに対する文書の登録処理について説明する。
【００１６】
ステップＳ１２で全文検索データベースに対する登録の為の検索テーブルを指定する。これは、文書を管理する文書データベースに対応して検索テーブルを持つようにすると、管理が楽である。本発明の場合は、高優先順位の全文検索テーブルと低優先順位に全文検索テーブルを組みにして１つの検索テーブルとして考えるが、通常登録では、低優先順位の全文検索テーブルが指定される。これにより文書データベース中に新たに追加された文書中のテキストは登録・検索の為の全文検索テーブルに対して、登録処理が行われる。検索テーブルはたとえば図１０のようになっていて、テキストを分解して登録されている。たとえば“ａｂｃ”という文字に対して、これが含まれる文書のＩＤが登録されている。したがって検索では実際のキーワードを分解して、分解したキーワードに対応するテーブルの文書ＩＤから、全分解キーワードで共通する文書ＩＤを特定して絞り込んで、最終的に絞り込まれた文書の内容から分解前のキーワードが本当に存在するかを確かめてヒット文書を確定する。
【００１７】
ステップ１３では処理対象の文書データのＩＤと文書中のテキストを関連付けして登録用の全文検索用テーブルに登録する。
【００１８】
ステップ１４では処理対象の文書データの登録処理が全て終了したか否かを判定する。登録処理が全て終了している（ステップ１４でｙｅｓ）場合には処理を終了し、登録処理が終了していない（ステップ１４でｎｏ）場合にはステップＳ１１にもどり、登録処理を繰り返す。
【００１９】
尚、文書データに変更があった場合にも同様に登録処理を行うが、その場合には、その変更前の文書データのＩＤを検索用テーブルから削除した上で登録処理を行う。
【００２０】
ところで文書データが画像である場合に文書画像中のテキストを抽出する技術としてＯＣＲ技術は一般的である。
【００２１】
次に図６で説明した登録処理によって登録された文書データに対して実行される全文検索処理について説明する。
【００２２】
全文検索を行う場合、図２に示したメニュー１３の“ツール”メニューを選択する。これにより図３に示すようなプルダウンメニューが表示され、“全文検索”メニューを選択すると、図４に示すようなダイアログボックスが表示される。検索を実行する操作者は、編集ボックス３１に文字列を入力して、追加ボタン３３を押すとキーワードリスト３２に入力した文字列がキーワードリスト３２に入力した文字列がキーワードとして追加される。削除ボタン３４は、キーワードリスト３２の中の１つを選択して押す事により、選択されたキーワードを削除する事ができる。
【００２３】
３５、３６はＡＮＤ、ＯＲ論理を指定するチェックボタンであり、キーワードリスト３２中のキーワード全てを含む文書データを検索する場合にはＡＮＤのチェックボタン３５にチェックを付け、複数のキーワードのうちいずれか１つ以上を含む文書データを検索する場合にはＯＲチェックボタン３６にチェックを付ける。キャンセルボタン３７はキーワードリスト３２中にキーワードが１つ以上列挙されている場合にイネーブルとなり、この検索ボタン３７を押すと、キーワードリスト３２中のキーワードを検索条件とした検索が実行される。
【００２４】
検索ボタンが押され、ヒットした文書がある場合に、図５で示すヒットリストウィンドウが表示される。図５は本発明の実施形態１のヒットリストウィンドウを説明するための図である。
【００２５】
図５に示すように検索された文書画像データ数を示すヒット数としてＩＤリスト中のＩＤの数が表示ボックス４５内に表示される。４６はヒット文書リスト表示部であり、検索された文書画像データのサイズ、ページ数、作成日、更新日等がＩＤリストを基に調べられ表示される。閉じるボタン４８はヒットリストウィンドウを閉じるときに押すボタンである。検索ボタン４９はメニュー１３の“ツール”メニューのプルダウンメニューの“全文検索”メニューと同じ働きをする。開くボタン４７はヒット文書リスト表示部４６でフォーカスが当たっている文書画像データを図２のドキュメント表示部２３に表示させるためのものである。後述するテキスト表示部５０は簡易的なものであるが、開くボタン４７では文書中のフォントサイズ、種類、レイアウト等を忠実に再現する。
【００２６】
またテキスト表示部５０には、ヒット文書リスト表示部４６でフォーカスが当たっている文書画像データ中のテキスト部分が抽出されて表示され、検索に用いられたキーワードが斜線枠５３で示すように強調表示される。次ヒットボタン５１前ヒットボタン５２を押すことにより、斜線枠５３にカーソルが当てられ、そのカーソルの位置が前後に存在する斜線枠５３に移動して、テキスト部分の表示領域がスクロールされる。
【００２７】
尚、文書データは、画像データではなくアプリケーションで作成されたテキストデータ等であっても、本発明になんら影響はない。
【００２８】
また画像データの場合では、文書画像データからＯＣＲ（文字認識）されて得られたテキスト部分が表示される。
【００２９】
以上が本発明の全体的な構成と動作であるが、以下に本発明に特有な部分の詳細を説明する。
【００３０】
図４に示す検索ボタン３７がマウスポインタを使ってクリックされると図８に示す検索処理が行われる。ステップ１０１で検索ボタンが押された事を認識するとステップ１０２で文書に対応した登録する全文検索テーブル（データベース）のうち高優先順位の全文検索データベースを選択します。ステップ１０３で、選択した全文検索データベースから実際の検索処理を行う。これは検索の際に設定されたキーワードを分解した文字から、対応する文書のＩＤを求めて、全ての分解文字に対応するＩＤの共通ＩＤを残す処理をする。但し、得られた共通ＩＤの文書ではキーワードとして連続した文字列が含まれている保証がないのでステップ１０４で本当に文書中にキーワードが含まれているかを調べて、キーワードが含まれている文書に対応するＩＤのみを確定し、ステップ１０５で図５に示すヒットリストダイアログ（ヒットリストウィンドウ）にヒットした文書を最終的に確定したＩＤから特定して列挙する。操作者はこの段階でヒット文書を確認できるので、結果を速く得ることになる。
【００３１】
ステップ１０５では検索でヒットした文書のＩＤに対応した図９ヒット頻度テーブルの該当文書ＩＤの行にヒット頻度を１加える。テーブルに該当する文書ＩＤが無い場合には、新規にテーブルに加える。ヒット頻度テーブルは、高優先順位の全文検索データベースと低優先順位の全文検索データベースのそれぞれに別個に存在している。ステップ１０６では、高優先順位と低優先順位の両方のデータベースで検索を終えたか判断し、高優先順位のデータベースでしか検索を終えていない場合にはステップ１０２に戻って低優先順位の全文検索データベースに切り替えて同様に検索処理を行い、ステップ１０５には検索によるヒット文書をヒットリストに加え、操作者はこの段階ですべてのヒット文書が確認可能になる。またステップ１０５で低優先順位の全文検索データベースに対応した図９ヒット頻度テーブルに対してヒット文書ＩＤに対応したヒット頻度を１増加させる。
【００３２】
図７は高優先順位全文検索データベースと低優先順位全文検索データベースとの登録文書入れ替え（移動）処理である移動登録処理を説明する図である。
【００３３】
この移動登録処理は、１週間や１ヶ月という長い周期で自動的に実行されるようになっている。
【００３４】
ステップ７１では低優先順位の全文検索テーブルを対象に指定し、ステップ７２で、対になる図９のヒット頻度テーブルから頻度が高い文書ＩＤを特定する。ステップ７３では、その頻度が高い文書ＩＤを低優先順位の全文検索データベースから削除する。同時に図９に示すヒット頻度テーブルから該当する文書ＩＤを削除し、内容を一時的に保持しておく。ステップ７４では高優先順位の全文検索データベースに切り換え、ステップ７５で高優先順位の全文検索テーブルに、低優先順位の全文検索データベースから削除した文書の登録を行う。またステップ７３で保持していた文書ＩＤと出現頻度は高優先順位の全文検索テーブルに対応する図９のヒット頻度テーブルに書き込まれる。ステップ７６ではヒット頻度が高い文書がないか調べ、あればステップ７１からの処理を繰り返す。
【００３５】
処理対象となる文書は、ヒット頻度テーブルの値がＮ以上と決めても良いし、ヒット頻度テーブルの全ヒット頻度の平均値Ａを計算し、Ａ×Ｍ以上のヒット頻度を持つ文書を対象にする等、なんら制限されるものではない。
【００３６】
また、登録されている文書ＩＤのうち、ヒット頻度が上位Ｌ％に入っている文書を対象にするようにしてもよい。
【００３７】
ステップ７７では高優先順位の全文検索テーブルに対して処理され、対になる図９のヒット頻度テーブルから頻度が低い文書ＩＤを特定する。ステップ７８では、その頻度が低い文書ＩＤを高優先順位の全文検索データベースから削除する。同時に対応する図９に示すヒット頻度テーブルから該当する文書ＩＤを削除し、内容を一時的に保持しておく。ステップ７９では低優先順位の全文検索データベースに切り換え、ステップ８０で低優先順位の全文検索テーブルに、高優先順位の全文検索データベースから削除した文書の登録を行う。またステップ７８で保持していた文書ＩＤと出現頻度は低優先順位の全文検索テーブルに対応する図９のヒット頻度テーブルに書き込まれる。ステップ８１ではヒット頻度が低い文書がないか調べ、あればステップ８２で再度高優先順位の全文検索テーブルに対象を設定しなおして、ステップ７７からの処理を繰り返す。
【００３８】
処理対象となる文書は、ヒット頻度テーブルの値がＬＮ以下と決めても良いし、ヒット頻度テーブルの全ヒット頻度の平均値ＬＡを計算し、ＬＡ×ＬＭ以下のヒット頻度を持つ文書を対象にする等、なんら制限されるものではない。
【００３９】
また、登録されている文書ＩＤのうち、ヒット頻度が下位ＬＬ％に入っている文書を対象にするようにしてもよい。または、ステップ７７の直前までに削除した文書数分ＬＰだけ、処理対象の文書にする為に、ヒット頻度数が下位からＬＰに入っている文書を対象にしても良い。
【００４０】
また、ステップ７１〜７５までの処理文書数とステップ７７〜８０までの処理文書数を一致させ、しかもステップ７１〜７５で処理された文書がステップ７７〜８０で再度処理される事を防ぎ、高優先順位の全文検索テーブルに登録する文書数を一定に保つ為に、あらかじめ高優先順位の全文検索データベースに移し変える文書のヒット頻度をＨＰとし、この値以下のヒット頻度では低優先順位の全文検索データベースに移し変えるように定めれても良い。
【００４１】
この場合は両優先順位のテーブルから移し変える文書数があらかじめ計算できるので、高優先順位の全文検索テーブルに登録する文書数ＨＴを定めると、ＨＰの値を大体いくつにすれば良いか計算する事が可能となる。
【００４２】
（実施例２）
実施例１では全文検索データベースの登録文書の移動処理をヒットした頻度に応じて行っていたが、これを文書を開いたり、編集したり等の操作を行った頻度に置き換えても良いことは容易に想像がつく。
【００４３】
（実施例３）
ところで全文検索データベースの登録内容が大きく変わった場合には、一旦高優先順位の全文検索データベースから全ての文書を削除して、低優先順位の全文検索データベースに登録しなおしても良いし、その際に図９のヒット頻度テーブルを全てクリアしてしまっても構わない。
【００４４】
（実施例４）
実施例１では、文書が最初に登録される全文検索データベースは低優先順位のデータベースであり、ヒットの頻度に応じて高優先順位の全文検索データベースに移していたが、その逆にして、最初に高優先順位の全文検索データベースに登録しておいて、ヒット頻度の少ない文書を低優先順位の全文検索データベースに移し変えるというようにしても良いことは言うまでもない。
【００４５】
（実施例５）
ところで実施例１では、検索の実行時におけるヒットリスト上への文書表示は、高優先順位の全文検索データベースからの結果表示と低優先順位の全文検索データベースからの結果表示を２段階に行うが、最初の高優先順位の全文検索データベースからの結果表示が終わった段階で、操作者に対してメッセージを表示して、低優先順位の全文検索データベースに対する検索を続行するか中断するかを選べるようにしても構わないし、図５のヒットリスト上に検索検索中止ボタンを表示するか、検索中に検索中止ボタンがついたダイアログを表示して検索を中断できるようにしても良いことは言うまでもない。
【００４６】
（実施例６）
実施例１では高優先順位の全文検索データベースと低優先順位の全文検索データベースの２種類のデータベースで登録する文書を移動していたが、３種類以上の全文検索データベースを有する構成でも良いことは容易に推測できる。
【００４７】
尚、本発明は複数の機器（例えばホストコンピュータ、インターフェイス機器、スキャナ、プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００４８】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。
【００４９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５０】
プログラムコードを供給する為の記憶媒体としては、たとえば、フロッピー（Ｒ）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００５１】
またコンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【００５２】
さらに、記憶媒体から読み出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【００５３】
【発明の効果】
以上、説明したように全文検索を行う際に、複数の全文検索データベースの優先順位が高い順に検索をおこうので、より必要な文書から先に検索結果リストに得られ、検索操作者を長く待たせないで検索結果を表示できるようになった。
【図面の簡単な説明】
【図１】本発明の実施形態１の全文検索の処理を含むアプリケーションソフトが動作する画像検索装置の全体構成を示す図である。
【図２】本発明の実施形態１のアプリケーション動作中のウィンドウ表示画面を示す図である。
【図３】本発明の実施形態１のプルダウンメニューの一例を示す図である。
【図４】本発明の実施形態１の検索を行う為のダイアログボックスを示す図である。
【図５】本発明の実施形態１のヒットリストウィンドウを説明するための図でる。
【図６】本発明の実施形態１で実行される文書データの登録処理を示すフローチャートである。
【図７】本発明の実施形態１で実行される文書データの移動登録処理を示すフローチャートである。
【図８】本発明の実施形態１における検索処理を説明する図。
【図９】本発明の実施形態１のヒット頻度テーブル例。
【図１０】全文検索用テーブル。
【符号の説明】
１  ＣＰＵ
２  ＣＤ−ＲＯＭドライブ
３  プリンタ
４  ＨＤＤ
５  ＦＤＤ
６  通信部
７  キーボード
８  マウス
９  ディスプレイ装置
【図１】
2004178181.tif 000003
【図２】
2004178181.tif 000004
【図３】
2004178181.tif 000005
【図４】
2004178181.tif 000006
【図５】
2004178181.tif 000007
【図６】
2004178181.tif 000008
【図７】
2004178181.tif 000009
【図８】
2004178181.tif 000010
【図９】
2004178181.tif 000011
【図１０】
2004178181.tif 000012