JP2004259210A - 文書検索装置、文書検索方法、文書検索プログラム、及び記憶媒体 - Google Patents
文書検索装置、文書検索方法、文書検索プログラム、及び記憶媒体 Download PDFInfo
- Publication number
- JP2004259210A JP2004259210A JP2003051932A JP2003051932A JP2004259210A JP 2004259210 A JP2004259210 A JP 2004259210A JP 2003051932 A JP2003051932 A JP 2003051932A JP 2003051932 A JP2003051932 A JP 2003051932A JP 2004259210 A JP2004259210 A JP 2004259210A
- Authority
- JP
- Japan
- Prior art keywords
- search
- character string
- document
- text
- document data
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、できるだけ検索漏れが生じないようにする文書検索システムを提供することを目的とする。
【解決手段】文書データやテキストから予め定められた抽出規則に従って文字列を抽出する抽出手段と、前記抽出手段が前記文書データやテキストから抽出した文字列を、前記文書データやテキストに対応付けて記憶する記憶手段と、文書データから所望の文書を検索するためのテキストを入力する入力手段と、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成する検索条件作成手段と、前記検索条件作成手段で作成された検索条件に基づいて前記記憶手段から文書データを検索する検索手段とを備えた文書検索装置。
【選択図】 図2
【解決手段】文書データやテキストから予め定められた抽出規則に従って文字列を抽出する抽出手段と、前記抽出手段が前記文書データやテキストから抽出した文字列を、前記文書データやテキストに対応付けて記憶する記憶手段と、文書データから所望の文書を検索するためのテキストを入力する入力手段と、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成する検索条件作成手段と、前記検索条件作成手段で作成された検索条件に基づいて前記記憶手段から文書データを検索する検索手段とを備えた文書検索装置。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、文書データが格納されたデータベースからユーザが所望する文書データを検索する文書検索装置、文書検索方法、および記憶媒体に関し、より詳細には、検索漏れを回避するための異表記処理時に、代表表記への正規化処理や、異表記群への展開処理を行なう文書検索装置、文書検索方法、記憶媒体、及びプログラムに関する。
【0002】
【従来の技術】
日本語のように単語の区切りが明確でない言語で記述された文書データを対象として全文検索を行なう場合、文書データをインデックスに登録する方法として、任意の文字数による文字列単位に分割して登録する方法や、形態素解析による単語単位に分割して登録する方法が用いられる。ユーザが入力した問い合わせテキストも、インデックスと同様の方法で分割される。
一方、文書検索やキー単語検索に関しては、同一単語に対する異表記による検索漏れの問題がある。例えば、「ベネチア」を検索語として入力したとき、異表記である「ベネツィア」を含む文書は検索できない。また、「インク」を検索語として入力したとき、異表記である「インキ」を含む文書は検索できない。
かかる問題を解決するための従来技術として、例えば、特許文献1に記載の発明がある。この文書検索装置では、入力キー単語と類語辞書の見出し語との異表記による不一致を回避するために、異表記辞書を用いて入力キー単語と見出し語をそれぞれ代表語に正規化している。
しかしながら、このような手法を全文検索、特に文書データを文字列単位に分割する場合に用いる際には、次のような問題がある。ここでは、「インク」「インキ」を異表記群とし、「インク」を代表表記とする異表記パターンを想定する。
【0003】
例えば、「アクリルインキ」という文字列を形態素解析で分割する場合、「アクリル」「インキ」という2単語に分割してから、「インキ」を代表表記である「インク」に正規化することができる。ところが、任意の文字数(ここでは2文字とする)で分割する場合、分割後に異表記処理を適用すると、「イン」「キ」のように分割されて、「インキ」を対象とする異表記パターンと一致しなくなってしまうため、分割前に異表記処理を適用して、「アクリルインク」と正規化した後に、分割する必要がある。
一方、「メインキーボード」という文字列を形態素解析を用いて分割する場合は、「メイン」「キーボード」に分割されるため、「インキ」を対象とする異表記パターンとは一致しない。ところが、任意の文字数による分割の場合は、分割前に正規化が実施されるため、誤って「メインクーボード」のように正規化されてしまう。検索対象の文書データが、このように誤って正規化されて、インデックスに登録された場合、「キーボード」を検索語としても、検索できないことになる。
【特許文献1】特開平7−65013号公報
【0004】
【発明が解決しようとする課題】
本発明は、上述のような実情を鑑みてなされたもので、文書データやテキストから抽出した文字列あるいは単語を索引語に分割してインデックスに登録する際や、入力された問合せテキストを検索語に分割する際のテキスト分割方法に応じて、適切な異表記処理を行なう手段を提供することにより、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、できるだけ検索漏れが生じないようにする文書検索システムを提供することを目的とする。
【0005】
【課題を解決するための手段】
請求項1の発明は、文書データやテキストから予め定められた抽出規則に従って文字列を抽出する抽出手段と、前記抽出手段が文書データやテキストから抽出する文字列を、前記文書データやテキストに対応付けて記憶する記憶手段と、文書データやテキストから所望の文書を検索するためのテキストを入力する入力手段と、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成する検索条件作成手段と、前記検索条件作成手段で作成された検索条件に基づいて前記記憶手段から文書データを検索する検索手段とを備えたことを特徴とする。
これにより、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項2の発明は、前記検索条件作成手段において、前記テキストに基づいて作成した検索文字列に対応した検索語には、前記対応関係に応じた検索規則が定められ、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項1に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項3の発明は、前記検索条件作成手段は、前記テキストに基づいて作成した検索文字列に対応した検索規則を生成し、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項1に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項4の発明は、前記検索条件作成手段において、ユーザから指定があった場合に限り、前記検索条件に基づいて前記記憶手段から文書データを検索する請求項1に記載の文書検索装置であって、ユーザの要求に応じた検索方法を提供することができる。
【0006】
請求項5の発明は、前記文字列から第2の文字列を生成する文字列生成手段を有し、前記記憶手段は前記文字列とともに前記文字列生成手段により生成された第2の文字列を記憶し、前記検索手段における検索条件は前記第2の文字列であることを特徴とする請求項1乃至4に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項6の発明は、前記第2の文字列を前記第1の文字列に変換する変換手段と、前記記憶手段から検索された文書データにつき、前記変換手段により前記第2の文字列を前記第1の文字列に変換した文書データを、他の文書データとは識別可能に表示する表示手段を備えたことを特徴とする請求項5に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項7の発明は、前記抽出手段は、前記文字列を単語単位で抽出する機能を有し、単語単位で抽出した場合には、前記検索手段は当該文字列を正規化したものを検索語とすることを特徴とする請求項1に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項8の発明は、文書データやテキストから予め定められた抽出規則に従って文字列を抽出し、前記文書データやテキストから前記抽出された文字列を、前記の文書データやテキストに対応付けて記憶し、文書データやテキストから所望の文書を検索するためのテキストを入力し、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成し、前記作成された検索条件に基づいて前記文書データやテキストを検索する文書検索方法であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項9の発明は、請求項8に記載の文書検索方法を実行する文書検索プログラムであって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項10に発明は、請求項9に記載の文書検索プログラムを格納したコンピュータ読み取り可能な記憶媒体であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
【0007】
【発明の実施の形態】
図1は、本発明による文書検索装置のハードウェア構成を概略的に示すブロック図である。
図1に示すように、文書検索装置1は、各部を制御する機能を有する中央処理装置(CPU)2、ROMやRAM等で構成されるメモリ3、ハードディスク4、キーボードやマウス等であり種々の指示を与えるための入力部5、CRTまたは液晶ディスプレイ(LCD)等の表示部6、フロッピー(登録商標)ディスク(FD)に対するデータの読み書きを行なうフロッピー(登録商標)ディスクドライブ(FDD)7、CD−ROMからのデータの読み出しを行なうCD−ROMドライブ8等をそれぞれバス9によって接続して構成されている。
記憶媒体であるハードディスク4、フロッピー(登録商標)ディスク(FD)、またはCD−ROMには、文書検索プログラム等の各種プログラムが記憶されており、文書検索装置1の起動時にメモリ3に書き込まれる。
図2は、本発明による文書検索装置の機能構成を概略的に示すブロック図である。
図2に示すように、本発明の文書検索装置1は、入力処理部10、テキスト処理部11、登録処理部12、検索条件作成部13、検索処理部14、出力処理部15を備えており、これらは前述の中央演算装置2によってメモリ3上で実行を制御される。またハードディスク4には、多数の文書データを格納する文書格納部(文書データベース)16、各文書データの索引(インデックス)を格納する索引登録部(インデックス格納部)17、テキスト処理部11で使用される異表記パターンを複数格納する異表記パターン格納部18、および、テキスト処理部11において形態素解析処理を実施する場合に使用される形態素解析辞書19が備えられている。
【0008】
まず、このような構成における索引登録処理の概略を説明する。入力処理部10は、入力部5から入力された登録の指示を登録処理部12に送る。登録処理部12は、入力処理部10から送られた指示に従って、文書データベース16から1文書ずつ文書データを読み出し、その読み出された文書データをテキスト処理部11に送る。テキスト処理部11は、装置起動時に指定されたテキスト分割処理のパラメータ(以下、テキスト分割パラメータという。)に応じて、送られた文書データを処理して索引語(文字列または単語)を抽出し、出現位置情報とともに登録処理部12に返す。例えば、テキスト分割パラメータとして、単語単位の分割が指定された場合は、形態素解析辞書19を参照して形態素解析処理を行ない、単語を抽出し、異表記パターン格納部18に格納された異表記パターンをもとに正規化規則を生成して異表記処理を行ない、索引語(単語)を出現位置情報とともに登録処理部12に返す。
テキスト分割パラメータとして、文字列単位の分割が指定された場合には、任意の文字数の文字列を抽出し、索引語(文字列)を出現位置情報とともに登録処理部12に返す。索引登録時には展開規則は生成されず、異表記処理は行なわない。
その後、索引語(文字列または単語)をインデックス格納部17のインデックスに格納する。
【0009】
図3は、図2に示した登録処理部12における文書登録処理の流れを概略的に示すフローチャートである。
メモリ3に書き込まれた文書検索プログラムに従って中央処理装置1が実行する文書登録処理について説明する。
図3に示すように、文書登録処理は、まず、ハードディスク4の文書データベースに格納された文書データの中に、インデックス未作成の文書データがあるか否かを判断する(ステップ1)。インデックス未作成の文書データがない場合には(ステップ1−No)、全ての検索対象の文書データのインデックスが作成されているので、文書登録処理を終了する。
一方、インデックス未作成の文書データがある場合には(ステップ1−Yes)、インデックス未作成文書データを読み込み(ステップ2)、文書データベース16に格納された各文書データをユニークに示す文書ID(識別子)を取得し(ステップ3)、読みこんだ文書データを図4において後述するような文字列情報抽出処理に送る(ステップ4)。文字列情報抽出処理からの終了指示があれば(ステップ5−Yes)、処理中の文書は終了したことを示すので、ステップ1に戻って登録処理を繰り返す。終了指示がなければ(ステップ5−No)、文字列情報抽出処理から返された文字列情報をインデックスに登録し(ステップ6)、ステップ4に戻って文字列情報抽出処理を繰り返す。
【0010】
図4は、図2に示したテキスト処理部11における、図3に示した文書データ登録時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
図4に示すように、文字列情報抽出処理は、まず、登録モードが指定されているか否かをチェックし(ステップ10)、登録モードでなければ図6において後述するような検索モードの処理を行なう(ステップ10−No)。
登録モードが指定されていれば(ステップ10−Yes)、出現位置をゼロにセット(初期化)し(ステップ11)、開始位置をセットする(ステップ12)。文書データの末尾に達していれば(ステップ13−Yes)、終了指示を返して(ステップ14)、処理を終了する。文書データの末尾に達していない場合は(ステップ13−No)、テキスト分割パラメータに応じて、文書データを文字列単位もしくは単語単位に分割する以下のステップに進む。
まず、テキスト分割パラメータを単語単位分割であるか否かをチェックし(ステップ15)、単語単位分割であれば(ステップ15−Yes)、索引語(単語)を抽出してから(ステップ16)、異表記処理、即ち、抽出された索引語(単語)を代表表記に正規化する(ステップ17)。また、文字列単位分割であれば(ステップ15−No)、索引語(文字列)に対しては異表記処理を行なわないので、索引語を抽出する(ステップ18)。そして、抽出した索引語と出現位置情報を返し(ステップ19)、出現位置を1つ進めて(ステップ20)、ステップ12に戻って処理を繰り返す。
【0011】
次に、検索処理の概略を図2を用いて説明する。入力処理部10は、入力部5から入力された検索のための問い合わせテキストを、検索条件作成部13に送る。検索条件作成部13は、問い合わせテキストをテキスト処理部11に送る。テキスト処理部11は、索引登録時に指定されたテキスト分割処理のパラメータを参照し、これに応じて送られた問い合わせテキストを、索引登録時と同様に処理して検索語(文字列または単語)を抽出し、検索条件作成部13に送る。例えば、テキスト分割パラメータとして、単語単位の分割が指定された場合は、形態素解析辞書19を参照して形態素解析処理を行ない単語を抽出し、文字列単位の分割が指定された場合には、任意の文字数の文字列を抽出する。
更に、テキスト処理部11は、テキスト分割パラメータに応じて、異表記パターン格納部18に格納された異表記パターンをもとに正規化規則もしくは展開規則を生成して、異表記処理を行い、検索条件作成部13に送る。検索条件作成部13は、送られた検索語を演算子の形式に変換し、検索処理部14が処理可能な検索条件を作成する。検索処理部14は、この検索条件に従って、インデックス格納部17に格納されたインデックスを検索し、検索条件を満たす文書を特定する。出力処理部15では、検索処理部14で検索されたインデックスに基づく文書の情報を表示装置へ表示する。必要であれば、文書データベース16にアクセスして、文書データを出力する。
【0012】
図5は、図2に示した検索条件作成部13から出力処理部15における文書検索処理の流れを概略的に示すフローチャートである。
図5に示すように、文書検索処理は、まず、入力部5から入力された問い合わせテキストを入力処理部10が検索条件作成部13に送り(ステップ21)、検索条件作成部13は、送られた問い合わせテキストを図6において後述するような文字列情報抽出処理に送る(ステップ22)。文字列情報抽出処理からの終了指示がなければ(ステップ23−No)、文字列情報抽出処理を行なって得た検索語を記憶し(ステップ24)、ステップ22に戻って処理を繰り返す。終了指示が返された場合(ステップ23−Yes)、検索条件を作成して検索処理を行ない(ステップ25)、検索結果を出力する(ステップ26)。
【0013】
図6は、図2に示したテキスト処理部11における、図5に示した文書検索時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
図6に示すように、文字列情報抽出処理は、まず、検索モードが指定されているか否かをチェックし(ステップ30)、検索モードでなければ(ステップ30−No)、図4において述べたような登録モードの処理を行なう。検索モードが指定されていれば(ステップ30−Yes)、開始位置をセットし(ステップ31)、問い合わせテキストの末尾に達していれば(ステップ32−Yes)、終了指示を返して(ステップ33)、処理を終了する。問い合わせテキスト末尾に達していない場合は(ステップ32−No)、テキスト分割パラメータに応じて、文書データを文字列単位もしくは単語単位に分割する以下のステップに進む。
まず、テキスト分割パラメータをチェックし(ステップ34)、単語単位分割であれば(ステップ34−Yes)、検索語(単語)を抽出してから(ステップ35)、抽出した検索語(単語)を代表表記に正規化する正規化処理を行い(ステップ36)、文字列単位分割であれば(ステップ34−No)、検索語(文字列)を異表記群に展開する展開処理を行ってから(ステップ37)、検索語(文字列)を抽出する(ステップ38)。そして、抽出した検索語を返し(ステップ39)、ステップ31に戻って処理を繰り返す。
【0014】
図7は、異表記パターン格納部18に格納された異表記パターンの例を示す図である。
図7に示すように、異表記パターンは、代表表記を左側の先頭としてコンマ「、」で区切られた異表記群と、0〜2の段階で表された正規化危険度、及び、危険度1以上の規則については正規化による検索漏れを回避するための規則とが対応付けられて格納されている。格納された異表記パターンにおける異表記が、任意の単語末尾と、該単語に後続する単語先頭との連続に一致する可能性に応じて危険度を設定している。具体的には、カタカナ1文字もしくは2文字目以降がカタカナ小文字または長音記号である文字列の場合は危険度0(検索漏れが発生する危険性がない)とし、危険度0には該当しないが、単語末尾・先頭の連続に一致する可能性が低い文字列の場合は危険度1(検索漏れが発生する危険性が低い)とし、危険度0には該当せず、単語末尾・先頭の連続に一致する可能性が高い文字列の場合は危険度2(検索漏れが発生する危険性が高い)とする。
図7においては、カタカナ1文字もしくは2文字目以降がカタカナ小文字の文字列で構成されるパターンDには危険度0が、危険度0には該当しないが、単語末尾・先頭の連続に一致する可能性が低いパターンB、Cには危険度1が、危険度0には該当せず、かつ、「イン」で終わる単語(例:メイン)及び「ク」「キ」で始まる単語(例:キーボード)の末尾・先頭に一致する可能性が高いパターンAには危険度2を付与している。更に、危険度1以上の規則については、単語末尾・先頭の連続に一致する可能性がある個所をキーとする検索漏れ回避規則を対応付けている。本実施例では、キーを正規表現で表し“^”を語の先頭、“$”を語の末尾としている。尚、危険度の段階の設定に関しては、大規模コーパスに基づいて単語末尾・先頭に生じやすい文字列の頻度を精密に測定するなどして、詳細化することも可能である。
【0015】
図8は、本発明の請求項1記載の異表記規則生成手段における単語単位分割が指定された場合の正規化規則生成処理の流れを概略的に示すフローチャートである。
まず、テキスト分割パラメータで単語単位分割が指定されたかどうかをチェックし(ステップ40)、単語単位分割が指定されていなければ(ステップ40−No)、図10において後述する文字列単位分割が指定された場合の展開規則生成処理に進む。単語単位分割が指定された場合は(ステップ40−Yes)、最初に格納されている異表記パターンの第2表記から(ステップ41)、同異表記パターンの第1表記への変換を正規化規則としてメモリに書き出し(ステップ42)、同異表記パターンに記述されている[表記数−1]回だけ、この処理を繰り返す(ステップ43、ステップ44)。1つのパターンについて終了した場合は次のパターンへと移行する準備をし(ステップ45)、次のパターンが存在すれば(ステップ46−Yes)、ステップ41からの処理を繰り返し、次のパターンが存在しなければ(ステップ46−No)、終了とする。
図9は、図7に示した異表記パターンから、図8の正規化規則生成処理を用いて生成した正規化規則のイメージの例を示す図である。
パターンAからは規則9−1が、パターンBからは規則9−2〜規則9−4が、パターンCからは規則9−5が、パターンDからは規則9−6が、それぞれ生成される。
【0016】
図10は、図8のステップ40においてNoが選択された場合の展開規則生成処理の流れを概略的に示すフローチャートである。
最初に格納されている異表記パターンの第1表記から(ステップ50)、同異表記パターンの表記群への変換を展開規則としてメモリ3に書き出し(ステップ51)、同異表記パターンに記述されている表記数回だけ、この処理を繰り返す(ステップ52、ステップ53)。1つのパターンについて終了した場合は次のパターンへと移行する準備をし(ステップ54)、次のパターンが存在すれば(ステップ55−Yes)、ステップ50からの処理を繰り返し、次のパターンが存在しなければ(ステップ55−No)、終了とする。
図11は、図7に示した異表記パターンから、図10の展開規則生成処理を用いて生成した展開規則のイメージの例を示す図である。
パターンAからは規則11−1〜規則11−2が、パターンBからは規則11−3〜規則11−6が、パターンCからは規則11−7〜規則11−8が、パターンDからは規則11−9〜規則11−10が、それぞれ生成される。
図12は、検索漏れ回避のための展開規則生成処理の流れを概略的に示すフローチャートである。
最初に格納されている異表記パターンの正規化危険度がT未満の場合は(ステップ60−No)、次のパターンへ進む。正規化危険度がT以上(ステップ60−Yes)、かつ、該パターンに検索漏れ回避規則が対応付けられている場合は(ステップ61−Yes)、同一キーの規則をまとめ(ステップ62)、キー表記を展開表記に加えて(S63)、展開規則を生成する。ステップ61において該パターンに検索漏れ回避規則が対応付けられていない場合は、次のパターンへ進む。格納されている全てのパターンについて上記処理を繰り返す(S64、S65)。
図13は、図7に示した異表記パターンから、図12の展開規則生成処理によって、T=2の設定で生成された正規化規則のイメージの例を示す図である。
正規化危険度が2以上であるパターンAから規則13−1が生成される。
図14は、請求項4記載の文書検索装置における処理のフローチャートである。検索漏れ回避が指定された場合は(ステップ70−Yes)、図12の処理を行ない、検索漏れ回避が指定されなかった場合は(ステップ70−No)、検索漏れ回避のための展開規則生成処理は行なわれずに処理が終了する。
【0017】
次に、本実施例による文書検索処理の具体例を示す。
1.検索語「キーボード」で「メインキーボード」を含む文書を検索する場合
a.単語単位分割で、図9の規則による正規化処理を行なう場合
索引登録時には、「メインキーボード」は「メイン」「キーボード」と分割され、インデックスに登録される(図9でマッチする規則はない)。検索後「キーボード」と索引語「キーボード」がマッチし、文書が検索される。
b.文字列単位分割で、図11の規則による展開処理を行なう場合
索引登録時には正規化処理は行なわず、「メインキーボード」はそのまま任意の文字数に分割されて、インデックスに登録される。検索語「キーボード」と索引語「キーボード」がマッチし(実際には部分文字列の連続としてマッチする)、文書が検索される。
c.文字列単位分割で、図9の規則による正規化処理を行なう場合
索引登録時には、規則9−1が適用されて「メインキーボード」は「メインクーボード」に正規化され、更に任意の文字数に分割されて、インデックスに登録される。検索語「キーボード」と索引語「メインクーボード」はマッチしないため、検索漏れが生じる。
d.文字列単位分割で図9による正規化処理と図13の規則による検索漏れ回避処理を行なう場合
cの場合と同様、索引登録時には「メインキーボード」は「メインクーボード」に正規化されて登録される。検索語「キーボード」は語頭が「キ」であるため、規則13−1が適用されて「キーボード」「インクーボード」に展開され、索引語「メインクーボード」にマッチし(実際には部分文字列の連続としてマッチする)、文書が検索される。
なお、本実施の形態においては、文書検索装置としてスタンドアロン環境の装置を示したが、これに限るものではなく、クライアント/サーバ・システムとして文書検索システムを構築するようにしても良い。その場合、文書検索装置の索引登録手段および検索手段等はサーバ側に設け、クライアントの入力装置からの検索条件等の入力をサーバにある文書検索装置の入力処理部へ送信し、検索結果は出力処理部から要求元のクライアントへ返信する。クライアントはその結果をディスプレイ等の表示装置へ表示するように構成する。
【0018】
【発明の効果】
上記のように、本発明により、検索漏れが生じる可能性が高い正規化規則による文書データの正規化が行なわれた場合でも、できるだけ検索漏れが生じないようにすることができる。
更に、検索漏れの少ない検索にするか、速度低下のない効率的な検索にするかを選択することができるので、ユーザの要求に応じた検索方法を提供することができる。
【図面の簡単な説明】
【図1】本発明による文書検索装置のハードウェア構成を概略的に示すブロック図である。
【図2】本発明による文書検索装置の機能構成を概略的に示すブロック図である。
【図3】図2に示した登録処理部における文書登録処理の流れを概略的に示すフローチャートである。
【図4】図2に示したテキスト処理部における文書データ登録時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
【図5】図2に示した検索条件作成部から出力処理部における文書検索処理の流れを概略的に示すフローチャートである。
【図6】図2に示したテキスト処理部における検索時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
【図7】異表記パターン格納部に格納された異表記パターンの例を示す図である。
【図8】本発明の請求項1記載の異表記規則生成手段における単語単位分割が指定された場合の正規化規則生成処理の流れを概略的に示すフローチャートである。
【図9】図7に示した異表記パターンから、図8の正規化規則生成処理を用いて生成した正規化規則のイメージの例を示す図である。
【図10】本発明の請求項1記載の異表記規則生成手段における文字列単位分割が指定された場合の展開規則生成処理の流れを概略的に示すフローチャートである。
【図11】図7に示した異表記パターンから、図10の展開規則生成処理を用いて生成した展開規則のイメージの例を示す図である。
【図12】請求項1記載の異表記規則生成手段における展開規則生成処理の流れを概略的に示すフローチャートである。
【図13】図7に示した異表記パターンから図12の展開規則生成処理によって生成された正規化規則のイメージの例を示す図である。
【図14】本発明の請求項2記載の文書検索装置におけるユーザ指定処理のフローチャートである。
【符号の説明】
1…文書検索装置、2…中央処理装置(CPU)、3…メモリ、4…ハードディスク、5…入力装置、6…表示装置、7…フロッピー(登録商標)ディスクドライブ(FDD)、8…CD−ROMドライブ、9…バス、10…入力処理部、11…テキスト処理部、12…登録処理部、13…検索条件作成部、14…検索処理部、15…出力処理部、16…文書格納手段(文書データベース)、17…索引登録手段(インデックス格納部)18…異表記パターン格納部、19…形態素解析辞書。
【発明の属する技術分野】
本発明は、文書データが格納されたデータベースからユーザが所望する文書データを検索する文書検索装置、文書検索方法、および記憶媒体に関し、より詳細には、検索漏れを回避するための異表記処理時に、代表表記への正規化処理や、異表記群への展開処理を行なう文書検索装置、文書検索方法、記憶媒体、及びプログラムに関する。
【0002】
【従来の技術】
日本語のように単語の区切りが明確でない言語で記述された文書データを対象として全文検索を行なう場合、文書データをインデックスに登録する方法として、任意の文字数による文字列単位に分割して登録する方法や、形態素解析による単語単位に分割して登録する方法が用いられる。ユーザが入力した問い合わせテキストも、インデックスと同様の方法で分割される。
一方、文書検索やキー単語検索に関しては、同一単語に対する異表記による検索漏れの問題がある。例えば、「ベネチア」を検索語として入力したとき、異表記である「ベネツィア」を含む文書は検索できない。また、「インク」を検索語として入力したとき、異表記である「インキ」を含む文書は検索できない。
かかる問題を解決するための従来技術として、例えば、特許文献1に記載の発明がある。この文書検索装置では、入力キー単語と類語辞書の見出し語との異表記による不一致を回避するために、異表記辞書を用いて入力キー単語と見出し語をそれぞれ代表語に正規化している。
しかしながら、このような手法を全文検索、特に文書データを文字列単位に分割する場合に用いる際には、次のような問題がある。ここでは、「インク」「インキ」を異表記群とし、「インク」を代表表記とする異表記パターンを想定する。
【0003】
例えば、「アクリルインキ」という文字列を形態素解析で分割する場合、「アクリル」「インキ」という2単語に分割してから、「インキ」を代表表記である「インク」に正規化することができる。ところが、任意の文字数(ここでは2文字とする)で分割する場合、分割後に異表記処理を適用すると、「イン」「キ」のように分割されて、「インキ」を対象とする異表記パターンと一致しなくなってしまうため、分割前に異表記処理を適用して、「アクリルインク」と正規化した後に、分割する必要がある。
一方、「メインキーボード」という文字列を形態素解析を用いて分割する場合は、「メイン」「キーボード」に分割されるため、「インキ」を対象とする異表記パターンとは一致しない。ところが、任意の文字数による分割の場合は、分割前に正規化が実施されるため、誤って「メインクーボード」のように正規化されてしまう。検索対象の文書データが、このように誤って正規化されて、インデックスに登録された場合、「キーボード」を検索語としても、検索できないことになる。
【特許文献1】特開平7−65013号公報
【0004】
【発明が解決しようとする課題】
本発明は、上述のような実情を鑑みてなされたもので、文書データやテキストから抽出した文字列あるいは単語を索引語に分割してインデックスに登録する際や、入力された問合せテキストを検索語に分割する際のテキスト分割方法に応じて、適切な異表記処理を行なう手段を提供することにより、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、できるだけ検索漏れが生じないようにする文書検索システムを提供することを目的とする。
【0005】
【課題を解決するための手段】
請求項1の発明は、文書データやテキストから予め定められた抽出規則に従って文字列を抽出する抽出手段と、前記抽出手段が文書データやテキストから抽出する文字列を、前記文書データやテキストに対応付けて記憶する記憶手段と、文書データやテキストから所望の文書を検索するためのテキストを入力する入力手段と、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成する検索条件作成手段と、前記検索条件作成手段で作成された検索条件に基づいて前記記憶手段から文書データを検索する検索手段とを備えたことを特徴とする。
これにより、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項2の発明は、前記検索条件作成手段において、前記テキストに基づいて作成した検索文字列に対応した検索語には、前記対応関係に応じた検索規則が定められ、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項1に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項3の発明は、前記検索条件作成手段は、前記テキストに基づいて作成した検索文字列に対応した検索規則を生成し、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項1に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項4の発明は、前記検索条件作成手段において、ユーザから指定があった場合に限り、前記検索条件に基づいて前記記憶手段から文書データを検索する請求項1に記載の文書検索装置であって、ユーザの要求に応じた検索方法を提供することができる。
【0006】
請求項5の発明は、前記文字列から第2の文字列を生成する文字列生成手段を有し、前記記憶手段は前記文字列とともに前記文字列生成手段により生成された第2の文字列を記憶し、前記検索手段における検索条件は前記第2の文字列であることを特徴とする請求項1乃至4に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項6の発明は、前記第2の文字列を前記第1の文字列に変換する変換手段と、前記記憶手段から検索された文書データにつき、前記変換手段により前記第2の文字列を前記第1の文字列に変換した文書データを、他の文書データとは識別可能に表示する表示手段を備えたことを特徴とする請求項5に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項7の発明は、前記抽出手段は、前記文字列を単語単位で抽出する機能を有し、単語単位で抽出した場合には、前記検索手段は当該文字列を正規化したものを検索語とすることを特徴とする請求項1に記載の文書検索装置であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項8の発明は、文書データやテキストから予め定められた抽出規則に従って文字列を抽出し、前記文書データやテキストから前記抽出された文字列を、前記の文書データやテキストに対応付けて記憶し、文書データやテキストから所望の文書を検索するためのテキストを入力し、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成し、前記作成された検索条件に基づいて前記文書データやテキストを検索する文書検索方法であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項9の発明は、請求項8に記載の文書検索方法を実行する文書検索プログラムであって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
請求項10に発明は、請求項9に記載の文書検索プログラムを格納したコンピュータ読み取り可能な記憶媒体であって、検索漏れが生じる可能性が高い正規化規則により文書データの正規化が行なわれた場合でも、検索漏れが生じないようにすることができる。
【0007】
【発明の実施の形態】
図1は、本発明による文書検索装置のハードウェア構成を概略的に示すブロック図である。
図1に示すように、文書検索装置1は、各部を制御する機能を有する中央処理装置(CPU)2、ROMやRAM等で構成されるメモリ3、ハードディスク4、キーボードやマウス等であり種々の指示を与えるための入力部5、CRTまたは液晶ディスプレイ(LCD)等の表示部6、フロッピー(登録商標)ディスク(FD)に対するデータの読み書きを行なうフロッピー(登録商標)ディスクドライブ(FDD)7、CD−ROMからのデータの読み出しを行なうCD−ROMドライブ8等をそれぞれバス9によって接続して構成されている。
記憶媒体であるハードディスク4、フロッピー(登録商標)ディスク(FD)、またはCD−ROMには、文書検索プログラム等の各種プログラムが記憶されており、文書検索装置1の起動時にメモリ3に書き込まれる。
図2は、本発明による文書検索装置の機能構成を概略的に示すブロック図である。
図2に示すように、本発明の文書検索装置1は、入力処理部10、テキスト処理部11、登録処理部12、検索条件作成部13、検索処理部14、出力処理部15を備えており、これらは前述の中央演算装置2によってメモリ3上で実行を制御される。またハードディスク4には、多数の文書データを格納する文書格納部(文書データベース)16、各文書データの索引(インデックス)を格納する索引登録部(インデックス格納部)17、テキスト処理部11で使用される異表記パターンを複数格納する異表記パターン格納部18、および、テキスト処理部11において形態素解析処理を実施する場合に使用される形態素解析辞書19が備えられている。
【0008】
まず、このような構成における索引登録処理の概略を説明する。入力処理部10は、入力部5から入力された登録の指示を登録処理部12に送る。登録処理部12は、入力処理部10から送られた指示に従って、文書データベース16から1文書ずつ文書データを読み出し、その読み出された文書データをテキスト処理部11に送る。テキスト処理部11は、装置起動時に指定されたテキスト分割処理のパラメータ(以下、テキスト分割パラメータという。)に応じて、送られた文書データを処理して索引語(文字列または単語)を抽出し、出現位置情報とともに登録処理部12に返す。例えば、テキスト分割パラメータとして、単語単位の分割が指定された場合は、形態素解析辞書19を参照して形態素解析処理を行ない、単語を抽出し、異表記パターン格納部18に格納された異表記パターンをもとに正規化規則を生成して異表記処理を行ない、索引語(単語)を出現位置情報とともに登録処理部12に返す。
テキスト分割パラメータとして、文字列単位の分割が指定された場合には、任意の文字数の文字列を抽出し、索引語(文字列)を出現位置情報とともに登録処理部12に返す。索引登録時には展開規則は生成されず、異表記処理は行なわない。
その後、索引語(文字列または単語)をインデックス格納部17のインデックスに格納する。
【0009】
図3は、図2に示した登録処理部12における文書登録処理の流れを概略的に示すフローチャートである。
メモリ3に書き込まれた文書検索プログラムに従って中央処理装置1が実行する文書登録処理について説明する。
図3に示すように、文書登録処理は、まず、ハードディスク4の文書データベースに格納された文書データの中に、インデックス未作成の文書データがあるか否かを判断する(ステップ1)。インデックス未作成の文書データがない場合には(ステップ1−No)、全ての検索対象の文書データのインデックスが作成されているので、文書登録処理を終了する。
一方、インデックス未作成の文書データがある場合には(ステップ1−Yes)、インデックス未作成文書データを読み込み(ステップ2)、文書データベース16に格納された各文書データをユニークに示す文書ID(識別子)を取得し(ステップ3)、読みこんだ文書データを図4において後述するような文字列情報抽出処理に送る(ステップ4)。文字列情報抽出処理からの終了指示があれば(ステップ5−Yes)、処理中の文書は終了したことを示すので、ステップ1に戻って登録処理を繰り返す。終了指示がなければ(ステップ5−No)、文字列情報抽出処理から返された文字列情報をインデックスに登録し(ステップ6)、ステップ4に戻って文字列情報抽出処理を繰り返す。
【0010】
図4は、図2に示したテキスト処理部11における、図3に示した文書データ登録時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
図4に示すように、文字列情報抽出処理は、まず、登録モードが指定されているか否かをチェックし(ステップ10)、登録モードでなければ図6において後述するような検索モードの処理を行なう(ステップ10−No)。
登録モードが指定されていれば(ステップ10−Yes)、出現位置をゼロにセット(初期化)し(ステップ11)、開始位置をセットする(ステップ12)。文書データの末尾に達していれば(ステップ13−Yes)、終了指示を返して(ステップ14)、処理を終了する。文書データの末尾に達していない場合は(ステップ13−No)、テキスト分割パラメータに応じて、文書データを文字列単位もしくは単語単位に分割する以下のステップに進む。
まず、テキスト分割パラメータを単語単位分割であるか否かをチェックし(ステップ15)、単語単位分割であれば(ステップ15−Yes)、索引語(単語)を抽出してから(ステップ16)、異表記処理、即ち、抽出された索引語(単語)を代表表記に正規化する(ステップ17)。また、文字列単位分割であれば(ステップ15−No)、索引語(文字列)に対しては異表記処理を行なわないので、索引語を抽出する(ステップ18)。そして、抽出した索引語と出現位置情報を返し(ステップ19)、出現位置を1つ進めて(ステップ20)、ステップ12に戻って処理を繰り返す。
【0011】
次に、検索処理の概略を図2を用いて説明する。入力処理部10は、入力部5から入力された検索のための問い合わせテキストを、検索条件作成部13に送る。検索条件作成部13は、問い合わせテキストをテキスト処理部11に送る。テキスト処理部11は、索引登録時に指定されたテキスト分割処理のパラメータを参照し、これに応じて送られた問い合わせテキストを、索引登録時と同様に処理して検索語(文字列または単語)を抽出し、検索条件作成部13に送る。例えば、テキスト分割パラメータとして、単語単位の分割が指定された場合は、形態素解析辞書19を参照して形態素解析処理を行ない単語を抽出し、文字列単位の分割が指定された場合には、任意の文字数の文字列を抽出する。
更に、テキスト処理部11は、テキスト分割パラメータに応じて、異表記パターン格納部18に格納された異表記パターンをもとに正規化規則もしくは展開規則を生成して、異表記処理を行い、検索条件作成部13に送る。検索条件作成部13は、送られた検索語を演算子の形式に変換し、検索処理部14が処理可能な検索条件を作成する。検索処理部14は、この検索条件に従って、インデックス格納部17に格納されたインデックスを検索し、検索条件を満たす文書を特定する。出力処理部15では、検索処理部14で検索されたインデックスに基づく文書の情報を表示装置へ表示する。必要であれば、文書データベース16にアクセスして、文書データを出力する。
【0012】
図5は、図2に示した検索条件作成部13から出力処理部15における文書検索処理の流れを概略的に示すフローチャートである。
図5に示すように、文書検索処理は、まず、入力部5から入力された問い合わせテキストを入力処理部10が検索条件作成部13に送り(ステップ21)、検索条件作成部13は、送られた問い合わせテキストを図6において後述するような文字列情報抽出処理に送る(ステップ22)。文字列情報抽出処理からの終了指示がなければ(ステップ23−No)、文字列情報抽出処理を行なって得た検索語を記憶し(ステップ24)、ステップ22に戻って処理を繰り返す。終了指示が返された場合(ステップ23−Yes)、検索条件を作成して検索処理を行ない(ステップ25)、検索結果を出力する(ステップ26)。
【0013】
図6は、図2に示したテキスト処理部11における、図5に示した文書検索時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
図6に示すように、文字列情報抽出処理は、まず、検索モードが指定されているか否かをチェックし(ステップ30)、検索モードでなければ(ステップ30−No)、図4において述べたような登録モードの処理を行なう。検索モードが指定されていれば(ステップ30−Yes)、開始位置をセットし(ステップ31)、問い合わせテキストの末尾に達していれば(ステップ32−Yes)、終了指示を返して(ステップ33)、処理を終了する。問い合わせテキスト末尾に達していない場合は(ステップ32−No)、テキスト分割パラメータに応じて、文書データを文字列単位もしくは単語単位に分割する以下のステップに進む。
まず、テキスト分割パラメータをチェックし(ステップ34)、単語単位分割であれば(ステップ34−Yes)、検索語(単語)を抽出してから(ステップ35)、抽出した検索語(単語)を代表表記に正規化する正規化処理を行い(ステップ36)、文字列単位分割であれば(ステップ34−No)、検索語(文字列)を異表記群に展開する展開処理を行ってから(ステップ37)、検索語(文字列)を抽出する(ステップ38)。そして、抽出した検索語を返し(ステップ39)、ステップ31に戻って処理を繰り返す。
【0014】
図7は、異表記パターン格納部18に格納された異表記パターンの例を示す図である。
図7に示すように、異表記パターンは、代表表記を左側の先頭としてコンマ「、」で区切られた異表記群と、0〜2の段階で表された正規化危険度、及び、危険度1以上の規則については正規化による検索漏れを回避するための規則とが対応付けられて格納されている。格納された異表記パターンにおける異表記が、任意の単語末尾と、該単語に後続する単語先頭との連続に一致する可能性に応じて危険度を設定している。具体的には、カタカナ1文字もしくは2文字目以降がカタカナ小文字または長音記号である文字列の場合は危険度0(検索漏れが発生する危険性がない)とし、危険度0には該当しないが、単語末尾・先頭の連続に一致する可能性が低い文字列の場合は危険度1(検索漏れが発生する危険性が低い)とし、危険度0には該当せず、単語末尾・先頭の連続に一致する可能性が高い文字列の場合は危険度2(検索漏れが発生する危険性が高い)とする。
図7においては、カタカナ1文字もしくは2文字目以降がカタカナ小文字の文字列で構成されるパターンDには危険度0が、危険度0には該当しないが、単語末尾・先頭の連続に一致する可能性が低いパターンB、Cには危険度1が、危険度0には該当せず、かつ、「イン」で終わる単語(例:メイン)及び「ク」「キ」で始まる単語(例:キーボード)の末尾・先頭に一致する可能性が高いパターンAには危険度2を付与している。更に、危険度1以上の規則については、単語末尾・先頭の連続に一致する可能性がある個所をキーとする検索漏れ回避規則を対応付けている。本実施例では、キーを正規表現で表し“^”を語の先頭、“$”を語の末尾としている。尚、危険度の段階の設定に関しては、大規模コーパスに基づいて単語末尾・先頭に生じやすい文字列の頻度を精密に測定するなどして、詳細化することも可能である。
【0015】
図8は、本発明の請求項1記載の異表記規則生成手段における単語単位分割が指定された場合の正規化規則生成処理の流れを概略的に示すフローチャートである。
まず、テキスト分割パラメータで単語単位分割が指定されたかどうかをチェックし(ステップ40)、単語単位分割が指定されていなければ(ステップ40−No)、図10において後述する文字列単位分割が指定された場合の展開規則生成処理に進む。単語単位分割が指定された場合は(ステップ40−Yes)、最初に格納されている異表記パターンの第2表記から(ステップ41)、同異表記パターンの第1表記への変換を正規化規則としてメモリに書き出し(ステップ42)、同異表記パターンに記述されている[表記数−1]回だけ、この処理を繰り返す(ステップ43、ステップ44)。1つのパターンについて終了した場合は次のパターンへと移行する準備をし(ステップ45)、次のパターンが存在すれば(ステップ46−Yes)、ステップ41からの処理を繰り返し、次のパターンが存在しなければ(ステップ46−No)、終了とする。
図9は、図7に示した異表記パターンから、図8の正規化規則生成処理を用いて生成した正規化規則のイメージの例を示す図である。
パターンAからは規則9−1が、パターンBからは規則9−2〜規則9−4が、パターンCからは規則9−5が、パターンDからは規則9−6が、それぞれ生成される。
【0016】
図10は、図8のステップ40においてNoが選択された場合の展開規則生成処理の流れを概略的に示すフローチャートである。
最初に格納されている異表記パターンの第1表記から(ステップ50)、同異表記パターンの表記群への変換を展開規則としてメモリ3に書き出し(ステップ51)、同異表記パターンに記述されている表記数回だけ、この処理を繰り返す(ステップ52、ステップ53)。1つのパターンについて終了した場合は次のパターンへと移行する準備をし(ステップ54)、次のパターンが存在すれば(ステップ55−Yes)、ステップ50からの処理を繰り返し、次のパターンが存在しなければ(ステップ55−No)、終了とする。
図11は、図7に示した異表記パターンから、図10の展開規則生成処理を用いて生成した展開規則のイメージの例を示す図である。
パターンAからは規則11−1〜規則11−2が、パターンBからは規則11−3〜規則11−6が、パターンCからは規則11−7〜規則11−8が、パターンDからは規則11−9〜規則11−10が、それぞれ生成される。
図12は、検索漏れ回避のための展開規則生成処理の流れを概略的に示すフローチャートである。
最初に格納されている異表記パターンの正規化危険度がT未満の場合は(ステップ60−No)、次のパターンへ進む。正規化危険度がT以上(ステップ60−Yes)、かつ、該パターンに検索漏れ回避規則が対応付けられている場合は(ステップ61−Yes)、同一キーの規則をまとめ(ステップ62)、キー表記を展開表記に加えて(S63)、展開規則を生成する。ステップ61において該パターンに検索漏れ回避規則が対応付けられていない場合は、次のパターンへ進む。格納されている全てのパターンについて上記処理を繰り返す(S64、S65)。
図13は、図7に示した異表記パターンから、図12の展開規則生成処理によって、T=2の設定で生成された正規化規則のイメージの例を示す図である。
正規化危険度が2以上であるパターンAから規則13−1が生成される。
図14は、請求項4記載の文書検索装置における処理のフローチャートである。検索漏れ回避が指定された場合は(ステップ70−Yes)、図12の処理を行ない、検索漏れ回避が指定されなかった場合は(ステップ70−No)、検索漏れ回避のための展開規則生成処理は行なわれずに処理が終了する。
【0017】
次に、本実施例による文書検索処理の具体例を示す。
1.検索語「キーボード」で「メインキーボード」を含む文書を検索する場合
a.単語単位分割で、図9の規則による正規化処理を行なう場合
索引登録時には、「メインキーボード」は「メイン」「キーボード」と分割され、インデックスに登録される(図9でマッチする規則はない)。検索後「キーボード」と索引語「キーボード」がマッチし、文書が検索される。
b.文字列単位分割で、図11の規則による展開処理を行なう場合
索引登録時には正規化処理は行なわず、「メインキーボード」はそのまま任意の文字数に分割されて、インデックスに登録される。検索語「キーボード」と索引語「キーボード」がマッチし(実際には部分文字列の連続としてマッチする)、文書が検索される。
c.文字列単位分割で、図9の規則による正規化処理を行なう場合
索引登録時には、規則9−1が適用されて「メインキーボード」は「メインクーボード」に正規化され、更に任意の文字数に分割されて、インデックスに登録される。検索語「キーボード」と索引語「メインクーボード」はマッチしないため、検索漏れが生じる。
d.文字列単位分割で図9による正規化処理と図13の規則による検索漏れ回避処理を行なう場合
cの場合と同様、索引登録時には「メインキーボード」は「メインクーボード」に正規化されて登録される。検索語「キーボード」は語頭が「キ」であるため、規則13−1が適用されて「キーボード」「インクーボード」に展開され、索引語「メインクーボード」にマッチし(実際には部分文字列の連続としてマッチする)、文書が検索される。
なお、本実施の形態においては、文書検索装置としてスタンドアロン環境の装置を示したが、これに限るものではなく、クライアント/サーバ・システムとして文書検索システムを構築するようにしても良い。その場合、文書検索装置の索引登録手段および検索手段等はサーバ側に設け、クライアントの入力装置からの検索条件等の入力をサーバにある文書検索装置の入力処理部へ送信し、検索結果は出力処理部から要求元のクライアントへ返信する。クライアントはその結果をディスプレイ等の表示装置へ表示するように構成する。
【0018】
【発明の効果】
上記のように、本発明により、検索漏れが生じる可能性が高い正規化規則による文書データの正規化が行なわれた場合でも、できるだけ検索漏れが生じないようにすることができる。
更に、検索漏れの少ない検索にするか、速度低下のない効率的な検索にするかを選択することができるので、ユーザの要求に応じた検索方法を提供することができる。
【図面の簡単な説明】
【図1】本発明による文書検索装置のハードウェア構成を概略的に示すブロック図である。
【図2】本発明による文書検索装置の機能構成を概略的に示すブロック図である。
【図3】図2に示した登録処理部における文書登録処理の流れを概略的に示すフローチャートである。
【図4】図2に示したテキスト処理部における文書データ登録時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
【図5】図2に示した検索条件作成部から出力処理部における文書検索処理の流れを概略的に示すフローチャートである。
【図6】図2に示したテキスト処理部における検索時の文字列情報抽出処理の流れを概略的に示すフローチャートである。
【図7】異表記パターン格納部に格納された異表記パターンの例を示す図である。
【図8】本発明の請求項1記載の異表記規則生成手段における単語単位分割が指定された場合の正規化規則生成処理の流れを概略的に示すフローチャートである。
【図9】図7に示した異表記パターンから、図8の正規化規則生成処理を用いて生成した正規化規則のイメージの例を示す図である。
【図10】本発明の請求項1記載の異表記規則生成手段における文字列単位分割が指定された場合の展開規則生成処理の流れを概略的に示すフローチャートである。
【図11】図7に示した異表記パターンから、図10の展開規則生成処理を用いて生成した展開規則のイメージの例を示す図である。
【図12】請求項1記載の異表記規則生成手段における展開規則生成処理の流れを概略的に示すフローチャートである。
【図13】図7に示した異表記パターンから図12の展開規則生成処理によって生成された正規化規則のイメージの例を示す図である。
【図14】本発明の請求項2記載の文書検索装置におけるユーザ指定処理のフローチャートである。
【符号の説明】
1…文書検索装置、2…中央処理装置(CPU)、3…メモリ、4…ハードディスク、5…入力装置、6…表示装置、7…フロッピー(登録商標)ディスクドライブ(FDD)、8…CD−ROMドライブ、9…バス、10…入力処理部、11…テキスト処理部、12…登録処理部、13…検索条件作成部、14…検索処理部、15…出力処理部、16…文書格納手段(文書データベース)、17…索引登録手段(インデックス格納部)18…異表記パターン格納部、19…形態素解析辞書。
Claims (10)
- 文書データやテキストから予め定められた抽出規則に従って文字列を抽出する抽出手段と、前記抽出手段が前記文書データやテキストから抽出した文字列を、前記文書データやテキストに対応付けて記憶する記憶手段と、前記文書データから所望の文書を検索するためのテキストを入力する入力手段と、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成する検索条件作成手段と、前記検索条件作成手段で作成された検索条件に基づいて前記記憶手段から文書データを検索する検索手段とを備えた文書検索装置。
- 前記検索条件作成手段おいて、前記テキストに基づいて作成した検索文字列に対応した検索語には、前記対応関係に応じた検索規則が定められ、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項1に記載の文書検索装置。
- 前記検索条件作成手段は、前記テキストに基づいて作成した検索文字列に対応した検索規則を生成し、この検索規則にしたがって新たな検索条件を作成することを特徴とする請求項1に記載の文書検索装置。
- 前記検索条件作成手段において、ユーザから指定があった場合に限り、前記検索条件に基づいて前記記憶手段から文書データを検索することを特徴とする請求項1に記載の文書検索装置。
- 前記文字列から第2の文字列を生成する文字列生成手段を有し、前記記憶手段は前記文字列とともに前記文字列生成手段により生成された第2の文字列を記憶し、前記検索手段における検索条件は前記第2の文字列であることを特徴とする請求項1乃至4に記載の文書検索装置。
- 前記第2の文字列を前記第1の文字列に変換する変換手段と、前記記憶手段から検索された文書データに対して、前記変換手段により前記第2の文字列を前記第1の文字列に変換した文書データを、他の文書データとは識別可能に表示する表示手段を備えたことを特徴とする請求項5に記載の文書検索装置。
- 前記抽出手段は、前記文字列を単語単位で抽出する機能を有し、単語単位で抽出した場合には、前記検索手段は当該単語を正規化したものを検索語とすることを特徴とする請求項1に記載の文書検索装置。
- 文書データやテキストから予め定められた抽出規則に従って文字列を抽出し、前記文書データやテキストから抽出された文字列を、前記文書データやテキストに対応付けて記憶し、前記文書データやテキストから所望の文書を検索するためのテキストを入力し、前記入力したテキストに基づいて作成した検索文字列に対応した検索語を生成し、前記検索文字列と前記検索語との対応関係が予め定められた関係である場合に、前記検索語に基づいて新たな検索条件を作成し、該作成された検索条件に基づいて文書データを検索する文書検索方法。
- 請求項8に記載の文書検索方法を実行する文書検索プログラム。
- 請求項9に記載の文書検索プログラムを格納したコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003051932A JP2004259210A (ja) | 2003-02-27 | 2003-02-27 | 文書検索装置、文書検索方法、文書検索プログラム、及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003051932A JP2004259210A (ja) | 2003-02-27 | 2003-02-27 | 文書検索装置、文書検索方法、文書検索プログラム、及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004259210A true JP2004259210A (ja) | 2004-09-16 |
Family
ID=33116953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003051932A Pending JP2004259210A (ja) | 2003-02-27 | 2003-02-27 | 文書検索装置、文書検索方法、文書検索プログラム、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004259210A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334774A (ja) * | 2006-06-16 | 2007-12-27 | Fujitsu Ltd | 情報検索装置、情報検索方法及びプログラム |
JP2011198162A (ja) * | 2010-03-23 | 2011-10-06 | Yahoo Japan Corp | 代表表記抽出装置、方法及びプログラム |
US8660953B2 (en) | 2006-01-18 | 2014-02-25 | International Business Machines Corporation | Computer-implemented method, system, and program product for identifying business offerings based on customer needs |
-
2003
- 2003-02-27 JP JP2003051932A patent/JP2004259210A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8660953B2 (en) | 2006-01-18 | 2014-02-25 | International Business Machines Corporation | Computer-implemented method, system, and program product for identifying business offerings based on customer needs |
JP2007334774A (ja) * | 2006-06-16 | 2007-12-27 | Fujitsu Ltd | 情報検索装置、情報検索方法及びプログラム |
JP2011198162A (ja) * | 2010-03-23 | 2011-10-06 | Yahoo Japan Corp | 代表表記抽出装置、方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3696745B2 (ja) | 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4366108B2 (ja) | 文書検索装置、文書検索方法及びコンピュータプログラム | |
US7236923B1 (en) | Acronym extraction system and method of identifying acronyms and extracting corresponding expansions from text | |
US9342585B2 (en) | Text searching method and device and text processor | |
JPH11110416A (ja) | データベースからドキュメントを検索するための方法および装置 | |
JP4160548B2 (ja) | 文書要約作成システム、方法、及びプログラム | |
JP2011204225A (ja) | 属性抽出装置および方法 | |
CN109815390B (zh) | 多语言信息的检索方法、装置、计算机设备及计算机存储介质 | |
JP2009217689A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2019021194A (ja) | 情報処理システムおよび情報処理方法 | |
JPH1145274A (ja) | 単語間の共起性を用いたキーワードの拡張方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2004259210A (ja) | 文書検索装置、文書検索方法、文書検索プログラム、及び記憶媒体 | |
JP2004046438A (ja) | テキスト検索方法及び装置及びテキスト検索プログラム及びテキスト検索プログラムを格納した記憶媒体 | |
JP2000003366A (ja) | 文書登録方法と文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
JP2002132789A (ja) | 文書検索方法 | |
JPH09198404A (ja) | 文書処理方法及び装置 | |
JP4255253B2 (ja) | 文書検索システム及び方法 | |
JP2011154602A (ja) | 文字列管理装置、文字列登録方法、文字列検索方法および文字列管理プログラム | |
JP2010146273A (ja) | 文書検索装置およびプログラム | |
JPH10283368A (ja) | 情報処理装置及びその方法 | |
JP3787384B2 (ja) | 文書検索装置及びその方法 | |
JP3788864B2 (ja) | 関連語自動抽出装置及び方法並びに情報記憶媒体 | |
JPH1145254A (ja) | 文書検索装置およびその装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP5039114B2 (ja) | 機械翻訳装置及びプログラム | |
JP2010003266A (ja) | クエリ生成装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体 |