(57)【特許請求の範囲】
【請求項１】
登録した文書データから検索文字列を含む文書データを検索する登録情報検索装置において、
検索対象の文書データに含まれる文字列から、予め決定された複数の単語キーを記憶している単語キー記憶手段に記憶された単語キーを抽出する抽出手段と、
前記抽出した単語キーを第１の保持テーブルに登録する一方、前記抽出手段で単語キーとして抽出されなかった文字列から作成した文字キーを第２の保持テーブルに登録する登録手段と、
検索文字列を指示する指示手段と、
検索文字列を前記単語キー記憶手段を用いて単語キーと文字キーとに分解する分解手段と、
前記分解手段で分解された単語キーと文字キーとをそれぞれ前記第１の保持テーブルと第２の保持テーブルとから検索する検索手段と、
第２の保持テーブルに保持された文字キーを用いて検索文字列を含む文書データがヒットした場合、該検索文字列を前記単語キー記憶手段と前記第１の保持テーブルとに登録することを特徴とする登録情報検索装置。
【請求項２】
前記第２の保持テーブルは、１文字または２文字のデータ長の文字キーインデックスを保持することを特徴とする請求項１記載の登録情報検索装置。
【請求項３】
前記第２の保持テーブルに保持された文字キーを用いて検索文字列を含む文書データがヒットした場合、該文字キーと対応して保持されていた前記ヒットした文書データを特定するＩＤを削除することを特徴とする請求項１記載の登録情報検索装置。
【請求項４】
登録した文書データから検索文字列を含む文書データを検索する登録情報検索装置の制御方法において、
登録情報検索装置が備える抽出手段が、検索対象の文書データに含まれる文字列から、予め決定された複数の単語キーを記憶している単語キー記憶手段に記憶された単語キーを抽出する抽出工程と、
登録情報検索装置が備える登録手段が、前記抽出した単語キーを第１の保持テーブルに登録する一方、前記抽出工程で単語キーとして抽出されなかった文字列から作成した文字キーを第２の保持テーブルに登録する登録工程と、
登録情報検索装置が備える指示手段が、検索文字列を指示する指示工程と、
登録情報検索装置が備える分解手段が、検索文字列を前記単語キー記憶手段を用いて単語キーと文字キーとに分解する分解工程と、
登録情報検索装置が備える検索手段が、前記分解工程で分解された単語キーと文字キーとをそれぞれ前記第１の保持テーブルと第２の保持テーブルとから検索する検索工程と、
第２の保持テーブルに保持された文字キーを用いて検索文字列を含む文書データがヒットした場合、該検索文字列を前記単語キー記憶手段と前記第１の保持テーブルとに登録することを特徴とする登録情報検索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書ファイルや画像ファイル等インデックスを付して登録し管理する情報登録装置及びその方法に関するものである。
【０００２】
【従来の技術】
従来、全文検索システムは単純にテキストデータを検索する処理までは検索速度が遅いためこれを解決するための手段としてキーインデックスを作成するのが普通であった。該キーインデックスとはその切り出したキーがどのテキストファイルに存在するか記憶したデータベースの一種である。また、ここでいう、キーとは、例えばテキストデータから抽出した単語、簡単なものでは１文字・連続２文字を単純に切り出したものである。
【０００３】
従来から、キーインデックス方式として、単語単位でインデックスを作成する単語インデックス方式、或いは１文字・２文字を単位としてインデックスを作成する文字インデックス方式が考えられている。
【０００４】
【発明が解決しようとしている課題】
しかし、従来の単語インデックス方式、或いは文字インデックス方式では夫々一長一短があった。
【０００５】
例えば、文字インデックス方式も最も簡単な例である１文字キーインデックス方式では、「新聞紙」という言葉を検索する場合、１文字インデックスで、「新」「聞」「紙」の３文字が存在するテキストデータを検出しても実際は、「新たに…聞いたこと…紙に書いておきましょう」という風に個々のキーがばらばらに離れている事があり得るので、実際にはテキストデータを全部検索するまでは確定できず検索速度は遅い。
【０００６】
さらに、１文字キーの位置を示すアドレス情報をインデックスに持たせる方法も存在するが、インデックスファイルの容量が膨大になるという欠点があった。
【０００７】
他方、単語インデックス方式では、単語即ち複数文字に対して１つのテキストファイル識別アドレスが使用されるのでキーインデックスは比較的小さくてすみ、文字の連続性が保証されているので元のテキストファイル中のシーク・確定処理が不要で極めて高速検索が可能であるという長所がある。しかし、新語・造語など単語辞書に存在しない言葉に対してはインデックスが反映されず、検索不能になるという欠点があった。
【０００８】
【課題を解決するための手段】
本発明は上記課題を解決するために、登録した文書データから検索文字列を含む文書データを検索する登録情報検索装置において、検索対象の文書データに含まれる文字列から、予め決定された複数の単語キーを記憶している単語キー記憶手段に記憶された単語キーを抽出する抽出手段と、前記抽出した単語キーを第１の保持テーブルに登録する一方、前記抽出手段で単語キーとして抽出されなかった文字列から作成した文字キーを第２の保持テーブルに登録する登録手段と、検索文字列を指示する指示手段と、検索文字列を前記単語キー記憶手段を用いて単語キーと文字キーとに分解する分解手段と、前記分解手段で分解された単語キーと文字キーとをそれぞれ前記第１の保持テーブルと第２の保持テーブルとから検索する検索手段と、第２の保持テーブルに保持された文字キーを用いて検索文字列を含む文書データがヒットした場合、該検索文字列を前記単語キー記憶手段と前記第１の保持テーブルとに登録することを特徴とする登録情報検索装置を提供する。
【０００９】
本発明は上記課題を解決するために、登録した文書データから検索文字列を含む文書データを検索する登録情報検索装置の制御方法において、登録情報検索装置が備える抽出手段が、検索対象の文書データに含まれる文字列から、予め決定された複数の単語キーを記憶している単語キー記憶手段に記憶された単語キーを抽出する抽出工程と、登録情報検索装置が備える登録手段が、前記抽出した単語キーを第１の保持テーブルに登録する一方、前記抽出工程で単語キーとして抽出されなかった文字列から作成した文字キーを第２の保持テーブルに登録する登録工程と、登録情報検索装置が備える分解手段が、検索文字列を指示する指示工程と、検索文字列を前記単語キー記憶手段を用いて単語キーと文字キーとに分解する分解工程と、登録情報検索装置が備える検索手段が、前記分解工程で分解された単語キーと文字キーとをそれぞれ前記第１の保持テーブルと第２の保持テーブルとから検索する検索工程と、第２の保持テーブルに保持された文字キーを用いて検索文字列を含む文書データがヒットした場合、該検索文字列を前記単語キー記憶手段と前記第１の保持テーブルとに登録することを特徴とする登録情報検索方法を提供する。
【００１０】
【発明の実施の形態】
本発明の詳細について説明する前に、まず前提条件として、文書データは複数のページからなるものとし、各々複数のページファイルに分割しユニークなページＩＤを付け、もとの文書データとの対応を別途文書ページＤＢにて管理する。また、ページという概念が存在しないテキストデータでは文字数や行数により仮想的にページ分けをする。この文書ページＤＢはページＩＤによるもとの文書データと個々のページの対応だけではなく、文書データの属性情報、例えば文書名や日付け、所有者等を記憶し、文書属性による検索にも用いる事が可能である。
【００１１】
以下、本発明の一実施形態について詳細に説明する。
【００１２】
図１は、本発明の一実施形態のシステムブロック概略図である。
【００１３】
本実施形態の構成は、文書をスキャナしてイメージ情報を得るイメージスキャナ１、イメージ情報から本件テキスト情報を得るＯＣＲ処理するＯＣＲ処理ソフトウエア２、本件テキスト情報からキーインデックスを作成し、検索処理も行う全文検索ソフトウエア３、イメージ情報と本件テキスト情報および検索用ファイルを記憶する外部記憶装置４、検索語・検索条件の入力のためのキーボード５、検索語・検索条件の入力のための表示およびイメージデータを表示するための表示装置６からなる。
【００１４】
以下、図１を参照しながら、本実施の形態の蓄積・登録処理と検索処理について簡単に説明する。
【００１５】
蓄積・登録処理は、以下の作業から成り立っている。
【００１６】
イメージスキャナ１から得られたイメージデータを外部記憶装置４のイメージデータ４１に記憶する作業／文書ページＤＢ４３に新規文書のページ情報を設定する作業／イメージスキャナ１から得られたイメージデータをＯＣＲ処理ソフトウエア２でテキスト情報化した後、テキスト情報４２に記憶する作業／及びテキスト情報から本件アルゴリズムに従ってキーインデックス作成処理を行う全文検索ソフトウエア３で作成したキーインデックスを単語・文字キーインデックスに記憶する作業等からなっている。
【００１７】
又、検索処理は、キーボード５から入力された検索語は全文検索ソフトウエア３が受け取り、登録時と同じアルゴリズムでキー分解した後、各キーに対応するページ情報を単語・文字キーインデックス４４から読み込み、本件アルゴリズムでページＩＤによる第一次絞り込み後、最終的にテキストデータを検索して最終確定作業を経た後、文書ページＤＢ４３から文書アドレス情報を取り出す作業、および表示装置６に該当イメージデータを表示する作業からなる。
【００１８】
次に、上述の蓄積・登録処理の全体の流れについて、図２と図３を用いて詳細に説明する。
【００１９】
図２は、イメージスキャナ１から得られたイメージデータ（ドキュメントを含む）を外部記憶装置４に記憶する処理を示している。まず、ステップＳ１でページカウンタ（不図示）を初期化する。ステップＳ２では、これからイメージスキャナで読み取る文書（複数のページからなる）の文書ＩＤを取得する。ステップＳ３では、複数のページからなるすべての文書について、読み取り、登録処理が終了したか判断する。
【００２０】
ステップＳ３で読み取り、登録処理が終了していない場合は、ステップＳ４からＳ９の処理を終了するまで行う。
【００２１】
ステップＳ４ではページカウンタを１ｕｐする。続いてステップＳ５では読み取ったテキストデータに対してＯＣＲ（文書認識処理）を行う。ＯＣＲ処理は、公知の技術を用いているので説明を省略する。ステップＳ６では、ステップＳ５のＯＣＲ処理の結果にもとづいて、単語・文字インデックス登録処理を行う。ここで単語・文字インデックス登録処理について図３、図４、図５を用いて詳細に説明する。
【００２２】
図３のステップＳ２１ではイメージスキャナ１から得られたイメージデータ（（ドキュメントを含む）のページＩＤを取得する。次に、ステップＳ２２ではイメージスキャナ１から得られたイメージデータをＯＣＲ処理ソフトウエア２でテキスト情報化し、１ページ中の文字列を取得する。ステップＳ２３ではステップＳ５で取得したすべての文字列を、単語辞書と比較し、単語抽出を行い単語キーを作成する。但し、重複単語は削除する。ステップＳ２４ではステップＳ２３で単語として抽出されなかった文字列から文字キーを作成する。即ち、単語辞書またはそれに類する辞書との比較により抽出に引っかからなかった文字・文字列の文字キー、例えば１・２文字キーに分解し抽出する。
【００２３】
ステップＳ２５では、ステップＳ２３の処理で、残った抽出単語を単語インデックス４４中のその単語が存在するアドレスデータを格納する場所にそのページＩＤを記憶し（図４）、ステップＳ２４で抽出された文字・文字列を、１・２文字インデックスにそのキーが存在するアドレスデータを格納する場所にそのページＩＤ（図５）記憶する。
【００２４】
これらの処理により、単語辞書またはそれに類する辞書に存在する単語は単語インデックスへ、存在しない残りの文字列は１・２文字インデックスへ記憶されたことになる。
【００２５】
当然、単語インデックスと文字インデックスを同一のものにまとめたインデックスを使用することも考えられる。
【００２６】
次に、本発明の単語・文字インデックスの登録処理について、例を用いて説明する。
【００２７】
例えば、「キヤノワードはヒット商品である。」という文字列を持つページ（ページＩＤ３とする）を登録する場合について説明する。単語辞書には「ワード」「ヒット」「商品」という単語は登録されているが、「キヤノワード」という造語は存在しない。
【００２８】
従って、単語インデックスには、「ワード」「ヒット」「商品」キーに対してこのページＩＤ３が登録される（図４）。
【００２９】
他方、単語抽出後には、「キヤノ」「は」「である」が残っている。
【００３０】
カタカナとひらがなに対して文字キーは連続２文字以上で作成すると定義すると「キヤ」「ヤノ」「であ」「ある」が文字インデックスにページＩＤ３で登録されることになる（図５）。
【００３１】
このようにして、ステップＳ６で１ページ中の単語・文字インデックス登録処理が行われる。次に、ステップＳ７では、ＯＣＲで得たテキストデータ及びイメージデータをぞれぞれ、図１の４２、４１に格納する。ステップＳ８では、単語・文字インデックス登録処理（Ｓ６）で取得したページＩＤをもとに、ページＤＢ（図６）情報を記憶する。ステップＳ９では、次回のページＩＤを示すページＩＤ採番をカウントアップする。
【００３２】
以上のステップＳ４からステップＳ９の処理をすべてのページに対して行い、１文書中のすべてのページについて処理が行われた場合、ステップＳ１０の処理に移る。
【００３３】
ステップＳ１０では、日付を取得する。ステップＳ１１では、以上の処理より取得した文書ＩＤ、ページカウンタ数、日付、Ｓ６で得たページＩＤをもとに、文書ＤＢ（図７）を追記する。そして、ステップＳ１２で次の文書ＩＤを示す、文書ＩＤ採番をカウントアップする。
【００３４】
以上の処理により蓄積・登録処理が終了する。
【００３５】
次に、図８を用いて、本実施の形態の検索処理について説明する。
【００３６】
ステップ３１では、キーボード５から入力された検索語を取得する。
【００３７】
ステップＳ３２では、検索語と単語辞書と比較し単語キーを抽出し、含まれる単語を抽出し重複単語は排除する。Ｓ３３では、文書中に残り文字があるか判断し、ある場合は、Ｓ３４で残り文字フラグを立てる。無い場合は、Ｓ３６の処理に移る。ステップＳ３５では、その残りの文字列を文字キーに分解し、文字キーを作成する。ステップＳ３６では、単語キーは単語インデックスから記憶しているページＩＤ群を取得し、文字キーは文字インデックスからＩＤ群を取得する。ステップＳ３７では、全てのキーに対応するＩＤ群の論理積をとり全てのキーを含むページを求める。ステップＳ３８では、ページＩＤに対応するページの文字列情報をなめて、抽出された単語キーと文字キーが連続しているか判断し、連続している場合は、ステップＳ４０の処理に移るステップＳ４０では、残り文字フラグが立っているか判断し、立っている場合は、ステップＳ４１で新語・造語フラグを立て、ステップＳ４２の処理に移る。即ち、ステップＳ３３で単語キー以外の文字が存在すると判断され、それが連続している場合は、新語・造語であると判断される。ステップＳ４２でページＩＤを検索結果として出力する。また、連続していない場合は、検索語を含むページが存在しないことを示す情報を出力する。
【００３８】
ステップＳ３７からステップＳ４２では、検索語が完全一致するための処理が行われている。即ち、検索語が完全一致するためには、抽出された単語キーと文字キーの全てが同時に存在する必要があり、それを知るには各キーを含むページＩＤ群をインデックスファイルから取り出し、論理積演算を行い全てのキーに共通なページＩＤを取得すれば良い。そして、文字キーの連続性を確認する為にそのページＩＤを持つテキストデータを取り出しその中をシークなめ確定し、検索語の存在を確認した後検索結果として出力する。
【００３９】
次に、本発明の検索処理について例を用いて説明する。
【００４０】
検索で「キヤノワード」を検索語に指定すると、登録時と同じアルゴリズムでキー分解が行われ、まず単語辞書との比較から「ワード」が単語キーとして抽出され、その抽出残りから「キヤ」「ヤノ」が文字キーとなる。
【００４１】
単語インデックスから「ワード」に対するＩＤ群を取得し、次いで文字インデックスから「キヤ」「ヤノ」に対するＩＤ群を取得する。
【００４２】
両者のＩＤ群の論理積演算を行い「キヤ」「ヤノ」と「ワード」の両方のキーを持つページを得た後、「キヤノワード」と連続して存在するかどうかを元のテキストデータをなめて確定し、存在することを確認した後検索結果としてＩＤ３を出力する。
【００４３】
次に、もし検索語からの単語抽出で抽出残りが存在し、且つ上記検索処理でヒットが確認できれば、その検索語は単語辞書には存在しない新語・造語である。
【００４４】
図９を用いて本発明の新語・造語登録処理について説明する。
【００４５】
先ず、図９のフローチャートは、前回検索処理で新語・造語フラグが立っている場合に実行される。実行に伴って使用者に確認をとった後、新語・造語登録処理を行うようにしてもよい。
【００４６】
ステップＳ５１の処理に入るときには、先の検索処理で新語・造語抽出で残った成分から得た文字キー、その新語・造語でヒットしたページＩＤ群の情報は既知とする。
【００４７】
ステップＳ５１では、単語辞書に新語・造語を追加登録する。前述の例を用いると、「キヤノワード」が単語辞書に登録される。ステップＳ５２では、単語インデックスに新語・造語をキーとし、検索で得たページＩＤが記憶される。即ち、例では、単語キー「キヤノワード」に対してＩＤ３が記憶される。ステップＳ５３では、検索で得たページＩＤをファイル名に変換し、文字列データをなめ、確定する準備をする。例では、ページＩＤ３に対応するファイル名を、ページＤＢより取得する。ステップＳ５４では、未処理ページが存在するか判断し、存在しないときは処理を終了し、存在する場合は処理ステップＳ５５にを移す。
【００４８】
ステップＳ５５では、文字列中に検索語の一部となっていない文字キーの有無をチェックする。そしてステップＳ５６では、一部ではない文字キーが存在するかどうか判断し、存在しない場合は、ステップＳ５７でその文字キーに対応するページＩＤ群から今回のページＩＤ３を削除する。即ち、例えば、「キヤノ」という文字は文字列中に存在しないので、文字インデックスの「キヤノ」に対応するページＩＤ群からページＩＤ３を削除することになる。
【００４９】
即ち、単語辞書に「キヤノワード」を登録し、単語インデックスには今回検索でヒットしたＩＤ３を単語キー「キヤノワード」に対応するページＩＤとして登録する。これにより、過去の登録済データに関しても検索漏れが無く整合性が保証される。
【００５０】
次に、文字インデックスの「キヤ」「ヤノ」というキーに対応するページＩＤで削除してもよいものを判断する。今回の例ではこのページに「キヤノワード」の「キヤ」「ヤノ」しか存在しなかったので「キヤ」「ヤノ」、キーに対するページＩＤ群からＩＤ３を削除するが、もしこのページ中に他の検索語の一部ではない形で「キヤ」「ヤノ」が存在する場合には削除してはならない。
【００５１】
以上説明したように、検索語と新規単語としての単語辞書に登録する場合には、これまで登録されたテキストデータ全てに対してこの検索後で検索漏れが無く整合性が必要であり、その手段として上記処理で得られたページＩＤを、単語インデックスに対しこの新規単語に対応するアドレスデータとして登録を行う必要がある。
【００５２】
又その後、このアドレス登録で不要になった文字インデックスデータのみ（ページ中で複数そのキーが存在している場合には削除不可）文字インデックから削除する事により文字インデックス方式の弱点であるインデックスデータの増大という欠点を緩和する事が可能である。
【００５３】
この処理に関しては、検索処理語ユーザーに通知せず自動的に行う「新語・造語自動学習機能」として提供するか、あるいは通知して「新語・造語登録するか」確認した後この処理を行う機能として提供するかが考えられる。
【００５４】
以上の処理により「造語・新語」が登録され、次回から高速検索できる事となり、しかもインデックス量も削除される。
【００５５】
本発明が解決しようとしているのは、単語キーや文字キー単独ではなく、お互いの長所を生かしたハイブリッド方式の確立である。
【００５６】
単語辞書またはそれに類する辞書に検索語そのものが無いがハイブリッドインデックス方式による検索によりヒットすることにより、ソフト側がその検索語が新語・造語として有効であることを自動判別する事が可能となれば使用者にとって使い勝手の良い検索装置を提供することが可能である。
【００５７】
この判断に基づき、単語抽出用の辞書に学習登録を行い且つ、過去に蓄積したデータに対してハイブリッド方式検索結果を今回の新語・造語に対して新規な単語インデックスを追加登録することにより検索漏れのない整合性を保証する事が可能であると同時に、単語インデックス方式の特徴である高速検索の恩恵を次回以降の検索で受ける事が可能である。
【００５８】
更に、文字インデックスからは今回の新語・造語の一部文字列として存在しているデータを削除し、文字インデックの成長を抑える事が可能である。
【００５９】
本実施の形態は先に示した文書・テキストデータを管理するシステム以外にも、文書画像からＯＣＲにより得たテキストデータに対する全文検索システムによる画像検索、更には文字データを含まない画像データに対しても付加した説明テキストデータを対応づけておくことにより検索可能な画像ファイリングシステムにも応用可能である。
【００６０】
もちろん複数検索語とその論理演算指定、シソーラス（類義語）展開した検索語の処理も本発明のアルゴリズムによる各々の検索結果を演算すれば可能である。
【００６１】
又、今回は検索処理にからんだ新語・造語登録したが、単純に使用者のカスタマイズ機能としての単語登録処理に付随する機能としても有効である。
【００６２】
又、単語抽出に関しては単語辞書と比較するとしたが、カスタマイズ辞書の様なそれに類する辞書であればどの様な辞書でも実現可能である。
【００６３】
更に、単語インデックスと文字インデックスと別々のインデックスとして記述したが、同一のものでも実現可能である。
【００６４】
【発明の効果】
本発明によれば、単語インデックス方式と文字インデック方式の互いに長所を組合わせたハイブリッド型インデックス方式の全文検索を実現可能である。
【００６５】
単語インデックス方式の高速検索と少量インデックスと、文字インデックス方式の新語・造語に対する柔軟な検索が可能となる。
【００６６】
そして単語インデックス方式と文字インデック方式を上手く連動・機能させるための、ユーザー指定または自動学習型の、新語・造語を新規単語として単語辞書またはそれに類する辞書に登録し且つインデックスの整合性を取る処理機能により、夫々のインデックスを生かす連携作用が可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のシステムブロック概略図である。
【図２】本発明の登録処理のフローチャートである。
【図３】本発明の単語・文字インデックス登録処理のフローチャートである。
【図４】本発明の単語インデックスの構成図である。
【図５】本発明の文字インデックスの構成図である。
【図６】本発明のページＤＢの構成図である。
【図７】本発明の文書ＤＢの構成図である。
【図８】本発明の検索処理のフローチャートである。
【図９】本発明の新語・造語学習処理のフローチャートである。
【符号の説明】
１  イメージスキャナ
２  ＯＣＲ処理ソフトウエア
３  全文検索ソフトウエア
４  外部記憶装置
５  キーボード
６  表示装置
【図１】
0003825829.tif 000002
【図２】
0003825829.tif 000003
【図３】
0003825829.tif 000004
【図４】
0003825829.tif 000005
【図５】
0003825829.tif 000006
【図６】
0003825829.tif 000007
【図７】
0003825829.tif 000008
【図８】
0003825829.tif 000009
【図９】
0003825829.tif 000010