(57)【要約】【課題】検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、できるだけ検索漏れが生じないようにする文書検索システムを提供することを目的とする。【解決手段】文書データやテキストから予め定められた抽出規則に従って文字列を抽出する抽出手段と、前記抽出手段が前記文書データやテキストから抽出した文字列を、前記文書データやテキストに対応付けて記憶する記憶手段と、文書データから所望の文書を検索するためのテキストを入力する入力手段と、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成する検索条件作成手段と、前記検索条件作成手段で作成された検索条件に基づいて前記記憶手段から文書データを検索する検索手段とを備えた文書検索装置。【選択図】      図２
2004259210.tif 000002
【特許請求の範囲】
【請求項１】
文書データやテキストから予め定められた抽出規則に従って文字列を抽出する抽出手段と、前記抽出手段が前記文書データやテキストから抽出した文字列を、前記文書データやテキストに対応付けて記憶する記憶手段と、前記文書データから所望の文書を検索するためのテキストを入力する入力手段と、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成する検索条件作成手段と、前記検索条件作成手段で作成された検索条件に基づいて前記記憶手段から文書データを検索する検索手段とを備えた文書検索装置。
【請求項２】
前記検索条件作成手段おいて、前記テキストに基づいて作成した検索文字列に対応した検索語には、前記対応関係に応じた検索規則が定められ、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項１に記載の文書検索装置。
【請求項３】
前記検索条件作成手段は、前記テキストに基づいて作成した検索文字列に対応した検索規則を生成し、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項１に記載の文書検索装置。
【請求項４】
前記検索条件作成手段において、ユーザから指定があった場合に限り、前記検索条件に基づいて前記記憶手段から文書データを検索することを特徴とする請求項１に記載の文書検索装置。
【請求項５】
前記文字列から第２の文字列を生成する文字列生成手段を有し、前記記憶手段は前記文字列とともに前記文字列生成手段により生成された第２の文字列を記憶し、前記検索手段における検索条件は前記第２の文字列であることを特徴とする請求項１乃至４に記載の文書検索装置。
【請求項６】
前記第２の文字列を前記第１の文字列に変換する変換手段と、前記記憶手段から検索された文書データに対して、前記変換手段により前記第２の文字列を前記第１の文字列に変換した文書データを、他の文書データとは識別可能に表示する表示手段を備えたことを特徴とする請求項５に記載の文書検索装置。
【請求項７】
前記抽出手段は、前記文字列を単語単位で抽出する機能を有し、単語単位で抽出した場合には、前記検索手段は当該単語を正規化したものを検索語とすることを特徴とする請求項１に記載の文書検索装置。
【請求項８】
文書データやテキストから予め定められた抽出規則に従って文字列を抽出し、前記文書データやテキストから抽出された文字列を、前記文書データやテキストに対応付けて記憶し、前記文書データやテキストから所望の文書を検索するためのテキストを入力し、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成し、該作成された検索条件に基づいて文書データを検索する文書検索方法。
【請求項９】
請求項８に記載の文書検索方法を実行する文書検索プログラム。
【請求項１０】
請求項９に記載の文書検索プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書データが格納されたデータベースからユーザが所望する文書データを検索する文書検索装置、文書検索方法、および記憶媒体に関し、より詳細には、検索漏れを回避するための異表記処理時に、代表表記への正規化処理や、異表記群への展開処理を行なう文書検索装置、文書検索方法、記憶媒体、及びプログラムに関する。
【０００２】
【従来の技術】
日本語のように単語の区切りが明確でない言語で記述された文書データを対象として全文検索を行なう場合、文書データをインデックスに登録する方法として、任意の文字数による文字列単位に分割して登録する方法や、形態素解析による単語単位に分割して登録する方法が用いられる。ユーザが入力した問い合わせテキストも、インデックスと同様の方法で分割される。
一方、文書検索やキー単語検索に関しては、同一単語に対する異表記による検索漏れの問題がある。例えば、「ベネチア」を検索語として入力したとき、異表記である「ベネツィア」を含む文書は検索できない。また、「インク」を検索語として入力したとき、異表記である「インキ」を含む文書は検索できない。
かかる問題を解決するための従来技術として、例えば、特許文献１に記載の発明がある。この文書検索装置では、入力キー単語と類語辞書の見出し語との異表記による不一致を回避するために、異表記辞書を用いて入力キー単語と見出し語をそれぞれ代表語に正規化している。
しかしながら、このような手法を全文検索、特に文書データを文字列単位に分割する場合に用いる際には、次のような問題がある。ここでは、「インク」「インキ」を異表記群とし、「インク」を代表表記とする異表記パターンを想定する。
【０００３】
例えば、「アクリルインキ」という文字列を形態素解析で分割する場合、「アクリル」「インキ」という２単語に分割してから、「インキ」を代表表記である「インク」に正規化することができる。ところが、任意の文字数（ここでは２文字とする）で分割する場合、分割後に異表記処理を適用すると、「イン」「キ」のように分割されて、「インキ」を対象とする異表記パターンと一致しなくなってしまうため、分割前に異表記処理を適用して、「アクリルインク」と正規化した後に、分割する必要がある。
一方、「メインキーボード」という文字列を形態素解析を用いて分割する場合は、「メイン」「キーボード」に分割されるため、「インキ」を対象とする異表記パターンとは一致しない。ところが、任意の文字数による分割の場合は、分割前に正規化が実施されるため、誤って「メインクーボード」のように正規化されてしまう。検索対象の文書データが、このように誤って正規化されて、インデックスに登録された場合、「キーボード」を検索語としても、検索できないことになる。
【特許文献１】特開平７−６５０１３号公報
【０００４】
【発明が解決しようとする課題】
本発明は、上述のような実情を鑑みてなされたもので、文書データやテキストから抽出した文字列あるいは単語を索引語に分割してインデックスに登録する際や、入力された問合せテキストを検索語に分割する際のテキスト分割方法に応じて、適切な異表記処理を行なう手段を提供することにより、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、できるだけ検索漏れが生じないようにする文書検索システムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
請求項１の発明は、文書データやテキストから予め定められた抽出規則に従って文字列を抽出する抽出手段と、前記抽出手段が文書データやテキストから抽出する文字列を、前記文書データやテキストに対応付けて記憶する記憶手段と、文書データやテキストから所望の文書を検索するためのテキストを入力する入力手段と、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成する検索条件作成手段と、前記検索条件作成手段で作成された検索条件に基づいて前記記憶手段から文書データを検索する検索手段とを備えたことを特徴とする。
これにより、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項２の発明は、前記検索条件作成手段において、前記テキストに基づいて作成した検索文字列に対応した検索語には、前記対応関係に応じた検索規則が定められ、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項１に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項３の発明は、前記検索条件作成手段は、前記テキストに基づいて作成した検索文字列に対応した検索規則を生成し、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項１に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項４の発明は、前記検索条件作成手段において、ユーザから指定があった場合に限り、前記検索条件に基づいて前記記憶手段から文書データを検索する請求項１に記載の文書検索装置であって、ユーザの要求に応じた検索方法を提供することができる。
【０００６】
請求項５の発明は、前記文字列から第２の文字列を生成する文字列生成手段を有し、前記記憶手段は前記文字列とともに前記文字列生成手段により生成された第２の文字列を記憶し、前記検索手段における検索条件は前記第２の文字列であることを特徴とする請求項１乃至４に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項６の発明は、前記第２の文字列を前記第１の文字列に変換する変換手段と、前記記憶手段から検索された文書データにつき、前記変換手段により前記第２の文字列を前記第１の文字列に変換した文書データを、他の文書データとは識別可能に表示する表示手段を備えたことを特徴とする請求項５に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項７の発明は、前記抽出手段は、前記文字列を単語単位で抽出する機能を有し、単語単位で抽出した場合には、前記検索手段は当該文字列を正規化したものを検索語とすることを特徴とする請求項１に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項８の発明は、文書データやテキストから予め定められた抽出規則に従って文字列を抽出し、前記文書データやテキストから前記抽出された文字列を、前記の文書データやテキストに対応付けて記憶し、文書データやテキストから所望の文書を検索するためのテキストを入力し、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成し、前記作成された検索条件に基づいて前記文書データやテキストを検索する文書検索方法であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項９の発明は、請求項８に記載の文書検索方法を実行する文書検索プログラムであって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項１０に発明は、請求項９に記載の文書検索プログラムを格納したコンピュータ読み取り可能な記憶媒体であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
【０００７】
【発明の実施の形態】
図１は、本発明による文書検索装置のハードウェア構成を概略的に示すブロック図である。
図１に示すように、文書検索装置１は、各部を制御する機能を有する中央処理装置（ＣＰＵ）２、ＲＯＭやＲＡＭ等で構成されるメモリ３、ハードディスク４、キーボードやマウス等であり種々の指示を与えるための入力部５、ＣＲＴまたは液晶ディスプレイ（ＬＣＤ）等の表示部６、フロッピー（登録商標）ディスク（ＦＤ）に対するデータの読み書きを行なうフロッピー（登録商標）ディスクドライブ（ＦＤＤ）７、ＣＤ−ＲＯＭからのデータの読み出しを行なうＣＤ−ＲＯＭドライブ８等をそれぞれバス９によって接続して構成されている。
記憶媒体であるハードディスク４、フロッピー（登録商標）ディスク（ＦＤ）、またはＣＤ−ＲＯＭには、文書検索プログラム等の各種プログラムが記憶されており、文書検索装置１の起動時にメモリ３に書き込まれる。
図２は、本発明による文書検索装置の機能構成を概略的に示すブロック図である。
図２に示すように、本発明の文書検索装置１は、入力処理部１０、テキスト処理部１１、登録処理部１２、検索条件作成部１３、検索処理部１４、出力処理部１５を備えており、これらは前述の中央演算装置２によってメモリ３上で実行を制御される。またハードディスク４には、多数の文書データを格納する文書格納部（文書データベース）１６、各文書データの索引（インデックス）を格納する索引登録部（インデックス格納部）１７、テキスト処理部１１で使用される異表記パターンを複数格納する異表記パターン格納部１８、および、テキスト処理部１１において形態素解析処理を実施する場合に使用される形態素解析辞書１９が備えられている。
【０００８】
まず、このような構成における索引登録処理の概略を説明する。入力処理部１０は、入力部５から入力された登録の指示を登録処理部１２に送る。登録処理部１２は、入力処理部１０から送られた指示に従って、文書データベース１６から１文書ずつ文書データを読み出し、その読み出された文書データをテキスト処理部１１に送る。テキスト処理部１１は、装置起動時に指定されたテキスト分割処理のパラメータ（以下、テキスト分割パラメータという。）に応じて、送られた文書データを処理して索引語（文字列または単語）を抽出し、出現位置情報とともに登録処理部１２に返す。例えば、テキスト分割パラメータとして、単語単位の分割が指定された場合は、形態素解析辞書１９を参照して形態素解析処理を行ない、単語を抽出し、異表記パターン格納部１８に格納された異表記パターンをもとに正規化規則を生成して異表記処理を行ない、索引語（単語）を出現位置情報とともに登録処理部１２に返す。
テキスト分割パラメータとして、文字列単位の分割が指定された場合には、任意の文字数の文字列を抽出し、索引語（文字列）を出現位置情報とともに登録処理部１２に返す。索引登録時には展開規則は生成されず、異表記処理は行なわない。
その後、索引語（文字列または単語）をインデックス格納部１７のインデックスに格納する。
【０００９】
図３は、図２に示した登録処理部１２における文書登録処理の流れを概略的に示すフローチャートである。
メモリ３に書き込まれた文書検索プログラムに従って中央処理装置１が実行する文書登録処理について説明する。
図３に示すように、文書登録処理は、まず、ハードディスク４の文書データベースに格納された文書データの中に、インデックス未作成の文書データがあるか否かを判断する（ステップ１）。インデックス未作成の文書データがない場合には（ステップ１−Ｎｏ）、全ての検索対象の文書データのインデックスが作成されているので、文書登録処理を終了する。
一方、インデックス未作成の文書データがある場合には（ステップ１−Ｙｅｓ）、インデックス未作成文書データを読み込み（ステップ２）、文書データベース１６に格納された各文書データをユニークに示す文書ＩＤ（識別子）を取得し（ステップ３）、読みこんだ文書データを図４において後述するような文字列情報抽出処理に送る（ステップ４）。文字列情報抽出処理からの終了指示があれば（ステップ５−Ｙｅｓ）、処理中の文書は終了したことを示すので、ステップ１に戻って登録処理を繰り返す。終了指示がなければ（ステップ５−Ｎｏ）、文字列情報抽出処理から返された文字列情報をインデックスに登録し（ステップ６）、ステップ４に戻って文字列情報抽出処理を繰り返す。
【００１０】
図４は、図２に示したテキスト処理部１１における、図３に示した文書データ登録時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
図４に示すように、文字列情報抽出処理は、まず、登録モードが指定されているか否かをチェックし（ステップ１０）、登録モードでなければ図６において後述するような検索モードの処理を行なう（ステップ１０−Ｎｏ）。
登録モードが指定されていれば（ステップ１０−Ｙｅｓ）、出現位置をゼロにセット（初期化）し（ステップ１１）、開始位置をセットする（ステップ１２）。文書データの末尾に達していれば（ステップ１３−Ｙｅｓ）、終了指示を返して（ステップ１４）、処理を終了する。文書データの末尾に達していない場合は（ステップ１３−Ｎｏ）、テキスト分割パラメータに応じて、文書データを文字列単位もしくは単語単位に分割する以下のステップに進む。
まず、テキスト分割パラメータを単語単位分割であるか否かをチェックし（ステップ１５）、単語単位分割であれば（ステップ１５−Ｙｅｓ）、索引語（単語）を抽出してから（ステップ１６）、異表記処理、即ち、抽出された索引語（単語）を代表表記に正規化する（ステップ１７）。また、文字列単位分割であれば（ステップ１５−Ｎｏ）、索引語（文字列）に対しては異表記処理を行なわないので、索引語を抽出する（ステップ１８）。そして、抽出した索引語と出現位置情報を返し（ステップ１９）、出現位置を１つ進めて（ステップ２０）、ステップ１２に戻って処理を繰り返す。
【００１１】
次に、検索処理の概略を図２を用いて説明する。入力処理部１０は、入力部５から入力された検索のための問い合わせテキストを、検索条件作成部１３に送る。検索条件作成部１３は、問い合わせテキストをテキスト処理部１１に送る。テキスト処理部１１は、索引登録時に指定されたテキスト分割処理のパラメータを参照し、これに応じて送られた問い合わせテキストを、索引登録時と同様に処理して検索語（文字列または単語）を抽出し、検索条件作成部１３に送る。例えば、テキスト分割パラメータとして、単語単位の分割が指定された場合は、形態素解析辞書１９を参照して形態素解析処理を行ない単語を抽出し、文字列単位の分割が指定された場合には、任意の文字数の文字列を抽出する。
更に、テキスト処理部１１は、テキスト分割パラメータに応じて、異表記パターン格納部１８に格納された異表記パターンをもとに正規化規則もしくは展開規則を生成して、異表記処理を行い、検索条件作成部１３に送る。検索条件作成部１３は、送られた検索語を演算子の形式に変換し、検索処理部１４が処理可能な検索条件を作成する。検索処理部１４は、この検索条件に従って、インデックス格納部１７に格納されたインデックスを検索し、検索条件を満たす文書を特定する。出力処理部１５では、検索処理部１４で検索されたインデックスに基づく文書の情報を表示装置へ表示する。必要であれば、文書データベース１６にアクセスして、文書データを出力する。
【００１２】
図５は、図２に示した検索条件作成部１３から出力処理部１５における文書検索処理の流れを概略的に示すフローチャートである。
図５に示すように、文書検索処理は、まず、入力部５から入力された問い合わせテキストを入力処理部１０が検索条件作成部１３に送り（ステップ２１）、検索条件作成部１３は、送られた問い合わせテキストを図６において後述するような文字列情報抽出処理に送る（ステップ２２）。文字列情報抽出処理からの終了指示がなければ（ステップ２３−Ｎｏ）、文字列情報抽出処理を行なって得た検索語を記憶し（ステップ２４）、ステップ２２に戻って処理を繰り返す。終了指示が返された場合（ステップ２３−Ｙｅｓ）、検索条件を作成して検索処理を行ない（ステップ２５）、検索結果を出力する（ステップ２６）。
【００１３】
図６は、図２に示したテキスト処理部１１における、図５に示した文書検索時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
図６に示すように、文字列情報抽出処理は、まず、検索モードが指定されているか否かをチェックし（ステップ３０）、検索モードでなければ（ステップ３０−Ｎｏ）、図４において述べたような登録モードの処理を行なう。検索モードが指定されていれば（ステップ３０−Ｙｅｓ）、開始位置をセットし（ステップ３１）、問い合わせテキストの末尾に達していれば（ステップ３２−Ｙｅｓ）、終了指示を返して（ステップ３３）、処理を終了する。問い合わせテキスト末尾に達していない場合は（ステップ３２−Ｎｏ）、テキスト分割パラメータに応じて、文書データを文字列単位もしくは単語単位に分割する以下のステップに進む。
まず、テキスト分割パラメータをチェックし（ステップ３４）、単語単位分割であれば（ステップ３４−Ｙｅｓ）、検索語（単語）を抽出してから（ステップ３５）、抽出した検索語（単語）を代表表記に正規化する正規化処理を行い（ステップ３６）、文字列単位分割であれば（ステップ３４−Ｎｏ）、検索語（文字列）を異表記群に展開する展開処理を行ってから（ステップ３７）、検索語（文字列）を抽出する（ステップ３８）。そして、抽出した検索語を返し（ステップ３９）、ステップ３１に戻って処理を繰り返す。
【００１４】
図７は、異表記パターン格納部１８に格納された異表記パターンの例を示す図である。
図７に示すように、異表記パターンは、代表表記を左側の先頭としてコンマ「、」で区切られた異表記群と、０〜２の段階で表された正規化危険度、及び、危険度１以上の規則については正規化による検索漏れを回避するための規則とが対応付けられて格納されている。格納された異表記パターンにおける異表記が、任意の単語末尾と、該単語に後続する単語先頭との連続に一致する可能性に応じて危険度を設定している。具体的には、カタカナ１文字もしくは２文字目以降がカタカナ小文字または長音記号である文字列の場合は危険度０（検索漏れが発生する危険性がない）とし、危険度０には該当しないが、単語末尾・先頭の連続に一致する可能性が低い文字列の場合は危険度１（検索漏れが発生する危険性が低い）とし、危険度０には該当せず、単語末尾・先頭の連続に一致する可能性が高い文字列の場合は危険度２（検索漏れが発生する危険性が高い）とする。
図７においては、カタカナ１文字もしくは２文字目以降がカタカナ小文字の文字列で構成されるパターンＤには危険度０が、危険度０には該当しないが、単語末尾・先頭の連続に一致する可能性が低いパターンＢ、Ｃには危険度１が、危険度０には該当せず、かつ、「イン」で終わる単語（例：メイン）及び「ク」「キ」で始まる単語（例：キーボード）の末尾・先頭に一致する可能性が高いパターンＡには危険度２を付与している。更に、危険度１以上の規則については、単語末尾・先頭の連続に一致する可能性がある個所をキーとする検索漏れ回避規則を対応付けている。本実施例では、キーを正規表現で表し“＾”を語の先頭、“＄”を語の末尾としている。尚、危険度の段階の設定に関しては、大規模コーパスに基づいて単語末尾・先頭に生じやすい文字列の頻度を精密に測定するなどして、詳細化することも可能である。
【００１５】
図８は、本発明の請求項１記載の異表記規則生成手段における単語単位分割が指定された場合の正規化規則生成処理の流れを概略的に示すフローチャートである。
まず、テキスト分割パラメータで単語単位分割が指定されたかどうかをチェックし（ステップ４０）、単語単位分割が指定されていなければ（ステップ４０−Ｎｏ）、図１０において後述する文字列単位分割が指定された場合の展開規則生成処理に進む。単語単位分割が指定された場合は（ステップ４０−Ｙｅｓ）、最初に格納されている異表記パターンの第２表記から（ステップ４１）、同異表記パターンの第１表記への変換を正規化規則としてメモリに書き出し（ステップ４２）、同異表記パターンに記述されている［表記数−１］回だけ、この処理を繰り返す（ステップ４３、ステップ４４）。１つのパターンについて終了した場合は次のパターンへと移行する準備をし（ステップ４５）、次のパターンが存在すれば（ステップ４６−Ｙｅｓ）、ステップ４１からの処理を繰り返し、次のパターンが存在しなければ（ステップ４６−Ｎｏ）、終了とする。
図９は、図７に示した異表記パターンから、図８の正規化規則生成処理を用いて生成した正規化規則のイメージの例を示す図である。
パターンＡからは規則９−１が、パターンＢからは規則９−２〜規則９−４が、パターンＣからは規則９−５が、パターンＤからは規則９−６が、それぞれ生成される。
【００１６】
図１０は、図８のステップ４０においてＮｏが選択された場合の展開規則生成処理の流れを概略的に示すフローチャートである。
最初に格納されている異表記パターンの第１表記から（ステップ５０）、同異表記パターンの表記群への変換を展開規則としてメモリ３に書き出し（ステップ５１）、同異表記パターンに記述されている表記数回だけ、この処理を繰り返す（ステップ５２、ステップ５３）。１つのパターンについて終了した場合は次のパターンへと移行する準備をし（ステップ５４）、次のパターンが存在すれば（ステップ５５−Ｙｅｓ）、ステップ５０からの処理を繰り返し、次のパターンが存在しなければ（ステップ５５−Ｎｏ）、終了とする。
図１１は、図７に示した異表記パターンから、図１０の展開規則生成処理を用いて生成した展開規則のイメージの例を示す図である。
パターンＡからは規則１１−１〜規則１１−２が、パターンＢからは規則１１−３〜規則１１−６が、パターンＣからは規則１１−７〜規則１１−８が、パターンＤからは規則１１−９〜規則１１−１０が、それぞれ生成される。
図１２は、検索漏れ回避のための展開規則生成処理の流れを概略的に示すフローチャートである。
最初に格納されている異表記パターンの正規化危険度がＴ未満の場合は（ステップ６０−Ｎｏ）、次のパターンへ進む。正規化危険度がＴ以上（ステップ６０−Ｙｅｓ）、かつ、該パターンに検索漏れ回避規則が対応付けられている場合は（ステップ６１−Ｙｅｓ）、同一キーの規則をまとめ（ステップ６２）、キー表記を展開表記に加えて（Ｓ６３）、展開規則を生成する。ステップ６１において該パターンに検索漏れ回避規則が対応付けられていない場合は、次のパターンへ進む。格納されている全てのパターンについて上記処理を繰り返す（Ｓ６４、Ｓ６５）。
図１３は、図７に示した異表記パターンから、図１２の展開規則生成処理によって、Ｔ＝２の設定で生成された正規化規則のイメージの例を示す図である。
正規化危険度が２以上であるパターンＡから規則１３−１が生成される。
図１４は、請求項４記載の文書検索装置における処理のフローチャートである。検索漏れ回避が指定された場合は（ステップ７０−Ｙｅｓ）、図１２の処理を行ない、検索漏れ回避が指定されなかった場合は（ステップ７０−Ｎｏ）、検索漏れ回避のための展開規則生成処理は行なわれずに処理が終了する。
【００１７】
次に、本実施例による文書検索処理の具体例を示す。
１．検索語「キーボード」で「メインキーボード」を含む文書を検索する場合
ａ．単語単位分割で、図９の規則による正規化処理を行なう場合
索引登録時には、「メインキーボード」は「メイン」「キーボード」と分割され、インデックスに登録される（図９でマッチする規則はない）。検索後「キーボード」と索引語「キーボード」がマッチし、文書が検索される。
ｂ．文字列単位分割で、図１１の規則による展開処理を行なう場合
索引登録時には正規化処理は行なわず、「メインキーボード」はそのまま任意の文字数に分割されて、インデックスに登録される。検索語「キーボード」と索引語「キーボード」がマッチし（実際には部分文字列の連続としてマッチする）、文書が検索される。
ｃ．文字列単位分割で、図９の規則による正規化処理を行なう場合
索引登録時には、規則９−１が適用されて「メインキーボード」は「メインクーボード」に正規化され、更に任意の文字数に分割されて、インデックスに登録される。検索語「キーボード」と索引語「メインクーボード」はマッチしないため、検索漏れが生じる。
ｄ．文字列単位分割で図９による正規化処理と図１３の規則による検索漏れ回避処理を行なう場合
ｃの場合と同様、索引登録時には「メインキーボード」は「メインクーボード」に正規化されて登録される。検索語「キーボード」は語頭が「キ」であるため、規則１３−１が適用されて「キーボード」「インクーボード」に展開され、索引語「メインクーボード」にマッチし（実際には部分文字列の連続としてマッチする）、文書が検索される。
なお、本実施の形態においては、文書検索装置としてスタンドアロン環境の装置を示したが、これに限るものではなく、クライアント／サーバ・システムとして文書検索システムを構築するようにしても良い。その場合、文書検索装置の索引登録手段および検索手段等はサーバ側に設け、クライアントの入力装置からの検索条件等の入力をサーバにある文書検索装置の入力処理部へ送信し、検索結果は出力処理部から要求元のクライアントへ返信する。クライアントはその結果をディスプレイ等の表示装置へ表示するように構成する。
【００１８】
【発明の効果】
上記のように、本発明により、検索漏れが生じる可能性が高い正規化規則による文書データの正規化が行なわれた場合でも、できるだけ検索漏れが生じないようにすることができる。
更に、検索漏れの少ない検索にするか、速度低下のない効率的な検索にするかを選択することができるので、ユーザの要求に応じた検索方法を提供することができる。
【図面の簡単な説明】
【図１】本発明による文書検索装置のハードウェア構成を概略的に示すブロック図である。
【図２】本発明による文書検索装置の機能構成を概略的に示すブロック図である。
【図３】図２に示した登録処理部における文書登録処理の流れを概略的に示すフローチャートである。
【図４】図２に示したテキスト処理部における文書データ登録時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
【図５】図２に示した検索条件作成部から出力処理部における文書検索処理の流れを概略的に示すフローチャートである。
【図６】図２に示したテキスト処理部における検索時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
【図７】異表記パターン格納部に格納された異表記パターンの例を示す図である。
【図８】本発明の請求項１記載の異表記規則生成手段における単語単位分割が指定された場合の正規化規則生成処理の流れを概略的に示すフローチャートである。
【図９】図７に示した異表記パターンから、図８の正規化規則生成処理を用いて生成した正規化規則のイメージの例を示す図である。
【図１０】本発明の請求項１記載の異表記規則生成手段における文字列単位分割が指定された場合の展開規則生成処理の流れを概略的に示すフローチャートである。
【図１１】図７に示した異表記パターンから、図１０の展開規則生成処理を用いて生成した展開規則のイメージの例を示す図である。
【図１２】請求項１記載の異表記規則生成手段における展開規則生成処理の流れを概略的に示すフローチャートである。
【図１３】図７に示した異表記パターンから図１２の展開規則生成処理によって生成された正規化規則のイメージの例を示す図である。
【図１４】本発明の請求項２記載の文書検索装置におけるユーザ指定処理のフローチャートである。
【符号の説明】
１…文書検索装置、２…中央処理装置（ＣＰＵ）、３…メモリ、４…ハードディスク、５…入力装置、６…表示装置、７…フロッピー（登録商標）ディスクドライブ（ＦＤＤ）、８…ＣＤ−ＲＯＭドライブ、９…バス、１０…入力処理部、１１…テキスト処理部、１２…登録処理部、１３…検索条件作成部、１４…検索処理部、１５…出力処理部、１６…文書格納手段（文書データベース）、１７…索引登録手段（インデックス格納部）１８…異表記パターン格納部、１９…形態素解析辞書。
【図１】
2004259210.tif 000003
【図２】
2004259210.tif 000004
【図３】
2004259210.tif 000005
【図４】
2004259210.tif 000006
【図５】
2004259210.tif 000007
【図６】
2004259210.tif 000008
【図７】
2004259210.tif 000009
【図８】
2004259210.tif 000010
【図９】
2004259210.tif 000011
【図１０】
2004259210.tif 000012
【図１１】
2004259210.tif 000013
【図１２】
2004259210.tif 000014
【図１３】
2004259210.tif 000015
【図１４】
2004259210.tif 000016