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