(57)【特許請求の範囲】
【請求項１】
検索対象テキストに対し、検索文字列に基づいて検索処理を行うテキスト検索装置において、
検索条件として、検索文字列及び前記検索文字列とその置換文字列との間に指定される一致度の入力を受け付ける入力手段と、
入力された前記検索文字列と前記一致度に応じて前記検索文字列の置換文字列を発生する置換文字列発生手段と、
発生された前記置換文字列と一致する文字列パターンを含んだ候補文字列を前記検索対象テキスト中に探索する候補探索手段と、
前記検索対象テキストの生成で生じうる誤り文字列パターンを登録した誤り文字列登録手段と、
前記候補文字列中の前記検索文字列と異なる部分に、前記誤り文字列登録手段に登録された登録誤り文字列パターンを検出する誤り文字列検出手段と、
前記検索文字列との一致可能性に応じた優先度を前記登録誤り文字列パターンの検出頻度に基づいて定め、前記候補文字列中における前記登録誤り文字列パターンの検出に対応して、前記優先度を前記候補文字列に対し付与する優先度付与手段と、
を有することを特徴とするテキスト検索装置。
【請求項２】
前記一致度は、前記検索文字列の文字数と前記置換文字列のうち置換されずに残っている文字数との比に基づいて表されることを特徴とする請求項１に記載のテキスト検索装置。
【請求項３】
前記置換文字列は誤認識許容文字を含み、前記候補探索手段は、前記発生した置換文字列に含まれる誤認識許容文字を、前記検索対象テキスト中の任意の１文字とみなす手段を有して前記探索を行うことを特徴とする請求項１記載のテキスト検索装置。
【請求項４】
前記置換文字列は誤認識許容文字を含み、前記候補探索手段は、前記発生した置換文字列に含まれる誤認識許容文字を、前記検索対象テキスト中の任意の２文字とみなす手段を有して前記探索を行うことを特徴とする請求項１記載のテキスト検索装置。
【請求項５】
前記置換文字列は誤認識許容文字を含み、前記候補探索手段は、前記発生した置換文字列に含まれる誤認識許容文字のうち連続する２つを、前記検索対象テキスト中の任意の１文字とみなす手段を有して前記探索を行うことを特徴とする請求項１記載のテキスト検索装置。
【請求項６】
前記誤り文字列登録手段は、さらに前記登録誤り文字列パターンの検出頻度を格納し、前記優先度付与手段は、前記誤り文字列登録手段に格納された検出頻度に応じて前記優先度を定めることを特徴とする請求項１記載のテキスト検索装置。
【請求項７】
前記優先度に応じて前記候補文字列を表示する候補文字列表示手段を有することを特徴とする請求項３記載のテキスト検索装置。
【請求項８】
コンピュータ上で検索対象テキストに対し、検索文字列に基づいて検索処理を行うテキスト検索方法において、
前記コンピュータが有する入力手段が、検索条件として、検索文字列及び前記検索文字列とその置換文字列との間に指定される一致度の入力を受け付けるステップと、
前記コンピュータが有する置換文字列発生手段が、入力された検索文字列と前記一致度に応じて前記検索文字列の置換文字列を発生するステップと、
前記コンピュータが有する候補探索手段が、発生された前記置換文字列と一致する文字列パターンを含んだ候補文字列を前記検索対象テキスト中に探索するステップと、
前記コンピュータが有する文字列登録手段が、前記検索対象テキストの生成で生じうる誤りパターンを登録するステップと、
前記コンピュータが有する誤り文字列検出手段が、前記候補文字列中の前記検索文字列と異なる部分に、前記文字列登録手段に登録された登録誤り文字列パターンを検出するステップと、
前記コンピュータが有する優先度付与手段が、前記検索文字列との一致可能性に応じた優先度を前記登録誤り文字列パターンの検出頻度に基づいて定め、前記候補文字列中における前記登録誤り文字列パターンの検出に対応して、前記優先度を前記候補文字列に対し付与するステップと、
有することを特徴とするテキスト検索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文字列が不正確であり得るテキストを対象とするテキスト検索装置であって、特にその検索漏れの低減と検索結果における重み付けに関する。
【０００２】
【従来の技術】
従来より、検索文字列を指定し、文書や文字列に含まれる当該検索文字列を探索するテキスト検索装置があった。ワードプロセッサに搭載されている文字列検索機能は、そのようなものの一例である。
【０００３】
その検索対象である文書、文字列は、基本的には誤りがないことが前提とされる。そしてその検索においては、検索対象テキスト中に含まれる文字列が検索文字列と完全に一致した場合のみ、関心のある文字列が検索対象テキスト中に存在すると判断されていた。
【０００４】
これに対し、検索対象テキストが光学文字読取り装置（ＯＣＲ）で読み取られたテキストデータである場合には、その読み取りにおける認識誤りにより、不正確な文字列を含んだ不完全なテキストとなる確率が高い。日本語ＯＣＲは精度が低いため、特にそのおそれが高い。この不完全テキストに対し、上述のような検索文字列との完全一致による検索を行うと検索漏れが発生するおそれがある。つまり、検索対象テキストが正しく読み取られたものであるならばヒットしたはずである文字列部分が、認識誤りによりヒットしないことが起こりうる。
【０００５】
そのような検索漏れを防止するために、検索対象の曖昧さをある程度許容して検索を行う技術（以下、曖昧検索という。）が存在する。特開昭６２−４４８７８号公報に開示される第一の曖昧検索の従来技術は、認識の結果、複数の候補が得られた場合、検索対象テキスト中に候補文字を埋め込み、検索するものである（例．文［字学］認［識織］による［本木］文．．．）。特開平８−７０３３号公報に開示される第二の曖昧検索の従来技術は、文字認識を行った各文字について複数の候補が得られた場合にはインデックスにそれらを残すものである。この場合、認識結果を各文字ごとに格納したインデックスにおいて、認識対象の１文字に対して複数の認識結果の文字候補が格納されうる。この２つの技術は認識結果、すなわち検索対象テキストに曖昧さを持たせるものである。一方、特開平６−１９５３８７号公報、特開平７−１５２７７４号公報、特開平８−６３４８７号公報に開示される第三の曖昧検索の従来技術は、検索文字列の側に曖昧さを持たせるものである。この方法は、検索文字列中の誤って認識されやすい部分を、誤認識の可能性のある文字パターン（誤認識パターン）で置き換えた不完全検索文字列を作成し、正しい検索文字列だけでなく、不完全検索文字列によっても探索を行うものである。誤認識パターンのタイプとしては、文字誤り、誤分割、誤結合といったものがある。例えば、「字」は「学」と認識されやすいが、このようなタイプが文字誤りである。また、「化」は「イヒ」と認識されやすいが、このようなタイプが誤分割であり、一方、「５１」は「引」と認識されやすいが、このようなタイプが誤結合である。
【０００６】
曖昧検索を行うことにより、検索漏れの減少を図ることができるメリットがある一方、逆に本来、検索文字列とは異なる文字列が検索文字列と一致するとされる検索誤りが含まれる可能性もある。
【０００７】
【発明が解決しようとする課題】
上述の第一の曖昧検索の従来技術は、認識結果である検索対象テキストの容量が増加する、認識結果に残らないと検索されないといった問題があった。また、誤認識パターンのうち誤分割、誤結合に対応できないという問題もあった。
【０００８】
第二の曖昧検索の従来技術においても、認識結果であるインデックスの容量が増加する、認識結果に残らないと検索されないという問題があった。
【０００９】
第三の曖昧検索の従来技術は、検索文字列とは別に誤認識パターンを用意する必要があり、その容量が増加するという問題があった。また例えば誤結合は、連続する文字の組み合わせに依存して生じ、そのため多くのパターンが存在しうる。このように起こりうる誤認識パターンを全て予め用意することは困難である。そして予め用意されていない誤認識パターンが発生すると、検索漏れとなるという問題があった。検索に用いられる検索対象テキスト、インデックス、誤認識パターンなどの容量が増加することは、単に記憶装置に大きな容量を要するという問題だけでなく、検索処理に時間がかかるという問題も引き起こしていた。
【００１０】
また、検索漏れを少なくしようとして、インデックスに複数候補を登録したり誤認識パターンを充実させると、その一方で、検索文字列とは元来関係のない文字列まで、検索にてヒットするおそれがある。つまり、検索結果に「ゴミ」（検索誤り）が多く含まれることになって、検索結果の信頼性が低くなるという問題もあった。
【００１１】
本発明は上記問題点を解消するためになされたもので、曖昧検索に用いるためのデータを少なくする一方で、検索漏れを低減するとともに、検索誤りの影響を軽減するテキスト検索装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明に係るテキスト検索装置は、検索対象テキストに対し、検索文字列に基づいて検索処理を行うテキスト検索装置において、検索条件として、検索文字列及び前記検索文字列とその置換文字列との間に指定された一致度の入力を受け付ける入力手段と、入力された前記検索文字列と前記一致度に応じて前記検索文字列の置換文字列を発生する置換文字列発生手段と、発生された前記置換文字列と一致する文字列パターンを含んだ候補文字列を前記検索対象テキスト中に探索する候補探索手段と、前記検索対象テキストの生成で生じうる誤り文字列パターンを登録した誤り文字列登録手段と、前記候補文字列中の前記検索文字列と異なる部分に、前記誤り文字列登録手段に登録された登録誤り文字列パターンを検出する誤り文字列検出手段と、前記検索文字列との一致可能性に応じた優先度を前記登録誤り文字列パターンの検出頻度に基づいて定め、前記候補文字列中における前記登録誤り文字列パターンの検出に対応して、前記優先度を前記候補文字列に対し付与するものである。
【００１３】
「一致度」は、検索文字列の置換文字列の当該検索文字列に対する一致度であり、例えば検索文字列の文字数と置換文字列のうち置換されずに残っている文字数との比に基づいて定義することができる。指定される一致度は、数値の範囲指定であってもよいし、閾値を示すものであってもよい。「置換文字列」は、検索文字列の一部の文字をマスキングしたものであり、それを構成する文字は元の検索文字列における位置の情報を保持している。例えば、検索文字列「キーワード」の置換文字列「キー＃＃ド」「キ＃＃ード」（＃はマスキングされた文字を表す。）は互いに同一の文字の組で構成されるが、マスキング位置が異なり、異なる置換文字列として扱われる。また、この例に示されるように、ある置換文字列を構成する文字は互いに連続する場合だけでなく、構成する文字の間にマスキング位置が配される場合もある。候補探索手段は、置換文字列を構成する各文字の位置に同一の文字が配置される文字列を候補文字列として、検索対象テキストから抽出する。つまり、候補文字列の抽出において、検索文字列のうちマスキングされた位置に来る文字の一致／不一致は問われない。
【００１５】
文字認識等により生成される検索対象テキストは、誤った文字列を含みうるが、その誤り文字列パターンはランダムではなく、元の正しい文字、又は文字列に対して発生しやすいパターンが存在し得る。誤り文字列登録部には、主としてそのような発生しやすい誤り文字列パターンが格納される。本発明は、候補文字列のうち検索文字列と異なる部分に、誤り文字列登録部に格納された誤りパターンを検知する。そして例えば、検知された誤りパターンが当該検索文字列中の対応部分の文字列に対するものである場合、誤りパターンの部分は検索対象テキスト生成前においては正しい文字列であった可能性が高いと判断して、一致可能性に応じた優先度を高く定めることができる。
【００１６】
本発明の好適な態様は、前記検索文字列とその置換文字列との間の指定された一致度に応じて前記検索文字列の置換文字列を発生する置換文字列発生手段を有し、前記候補文字列は、発生された前記置換文字列と一致する文字列パターンを含んだ文字列であるものである。
【００１７】
本発明に係るテキスト検索装置は、上記発明において前記候補探索手段が、前記発生した置換文字列に含まれる誤認識許容文字を、前記検索対象テキスト中の任意の１文字とみなす手段を有して前記探索を行うことや、前記検索対象テキスト中の任意の２文字とみなす手段を有して前記探索を行うことや、また、前記発生した置換文字列に含まれる誤認識許容文字のうち連続する２つを、前記検索対象テキスト中の任意の１文字とみなす手段を有して前記探索を行うことのいずれか、またはいくつかを備えたことを特徴とするものである。
【００１８】
これらにより、それぞれ文字誤り、誤結合、誤分割を誤りパターンとする候補文字列を検索することができる。
【００１９】
本発明に係るテキスト検索装置は、前記優先度付与手段が、前記登録誤り文字列パターンの検出頻度に応じて前記優先度を定めることを特徴とするものである。本発明によれば、例えば、検出頻度が高い登録誤り文字列パターンに対する元の文字列はそのような誤りを生じやすいと判断され、高い優先度を与えることができる。
【００２０】
本発明の好適な態様は、前記誤り文字列登録部が、前記登録誤り文字列パターンに加えてさらにその検出頻度を格納するものである。
【００２１】
本発明に係るテキスト検索装置は、前記優先度に応じて前記候補文字列を表示する候補文字列表示手段を有するものである。本発明によれば、ユーザは、優先度に基づいて、複数の候補文字列における検索文字列に一致する可能性を把握することができ、例えば、検索処理の結果をチェックする際に便利である。
また、本発明に係るテキスト検索方法は、コンピュータ上で検索対象テキストに対し、検索文字列に基づいて検索処理を行うテキスト検索方法において、前記コンピュータが有する入力手段が、検索条件として、検索文字列及び前記検索文字列とその置換文字列との間に指定された一致度の入力を受け付けるステップと、前記コンピュータが有する置換文字列発生手段が、入力された検索文字列と前記一致度に応じて前記検索文字列の置換文字列を発生するステップと、前記コンピュータが有する候補探索手段が、発生された前記置換文字列と一致する文字列パターンを含んだ候補文字列を前記検索対象テキスト中に探索するステップと、前記コンピュータが有する文字列登録手段が、前記検索対象テキストの生成で生じうる誤りパターンを登録するステップと、前記コンピュータが有する誤り文字列検出手段が、前記候補文字列中の前記検索文字列と異なる部分に、前記文字列登録手段に登録された登録誤り文字列パターンを検出するステップと、前記コンピュータが有する優先度付与手段が、前記検索文字列との一致可能性に応じた優先度を前記登録誤り文字列パターンの検出頻度に基づいて定め、前記候補文字列中における前記登録誤り文字列パターンの検出に対応して、前記優先度を前記候補文字列に対し付与するステップであること、を特徴とする。
【００２２】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【００２３】
［実施形態１］
図１は、本発明の実施形態であるテキスト検索装置の概略のブロック構成図である。本装置は、ＯＣＲによって文字認識されたテキストを検索の対象とし、インデックス記憶部２、入力部４、検索部６、対象文字位置情報記憶部８、検索文字列展開部１０、マッチング部１２、出力部１４を含んで構成される。
【００２４】
インデックス記憶部２は、ＯＣＲにより得られた検索対象テキストをインデックスの形式で、検索に先立って格納している。インデックスは、検索対象テキストに出現する文字をキーとして、それに当該文字の出現位置を対応付けたものである。
【００２５】
入力部４は、検索文字列や一致度といった検索条件をユーザから受け付ける。
【００２６】
検索部６は、入力部４から検索文字列を得て、それに含まれる各文字にてインデックス記憶部２に記憶されたインデックスを検索して、検索文字列の各文字の出現位置を対象文字位置情報記憶部８へ出力し、対象文字位置情報記憶部８はこれを格納する。
【００２７】
検索文字列展開部１０は、検索文字列の部分列を発生する部分列発生手段であり、入力部４から検索文字列と一致度を得て、その一致度に応じて、検索文字列からその部分列を含んだ置換文字列を展開・生成する。置換文字列は、検索文字列の一部の文字を例えば記号「＃」で置換して、元の文字をマスキングすることにより生成される。置換文字列のうち「＃」で置換された部分以外は、検索文字列の元の文字で構成された部分列である。
【００２８】
マッチング部１２は、検索文字列展開部１０から出力される置換文字列を用いて、対象文字位置情報記憶部８に格納された対象文字位置情報とのマッチングを行う。そのマッチング結果は出力部１４へ出力され、ＣＲＴ等の表示装置に検索結果として画面表示される。
【００２９】
次に、具体的な例を用いて、各構成部の動作を説明する。図２は、検索対象テキストのイメージを示す模式図である。ここで例に用いる検索対象テキストは文書Ａ、文書Ｂ、文書Ｃの３つである。文書Ａにはその先頭から１０文字目から文字列「ペルシャ」が存在する。同様に文書Ｂにはその先頭から５文字目から文字列「ベルシャ」が存在し、文書Ｃにはその先頭から２１文字目から文字列「ペノレシャ」が存在する。
【００３０】
図３は、これらの検索対象テキストに対して生成され、インデックス記憶部２に格納されているインデックスのイメージを示す模式図である。インデックスは、検索対象テキストに出現する文字の種類（図中、左端に示す。）をキーとして、当該文字種が現れる文書中の位置をキーごとに分類したものである。その文字の出現位置は、図中、文書Ａ〜Ｃを区別する番号Ｎdoc（文書Ａは“１”、文書Ｂは“２”、文書Ｃは“３”）と、各文書の先頭からの文字数Ｎcharとの組（Ｎdoc，Ｎchar）の形式で表されている。
【００３１】
ユーザは検索条件として、検索文字列「ペルシャ」、一致度７０％を、入力部４に対し入力する。ここでは、一致度ηは、検索文字列に対する部分列の文字数の比で定義される。つまり検索文字列の文字数をＭ、置換文字列のうち置換されずに残っている文字数をｍとすると、一致度η＝ｍ／Ｍ×１００［％］となる。入力部４に入力される一致度は、ηの閾値ηthであり、本装置は検索対象テキスト中にηthを超える一致度を有する文字列を探索する。なお、一致度の閾値ηthが低いと検索結果に含まれる「ゴミ」が増えるため、閾値ηthの好適な値は、一般に７０％程度若しくはそれを上回る値である。一方、閾値ηthが必要以上に高いと検索漏れを生じる可能性が高くなる。その点も考慮して、ここではηth＝７０％に設定した。
【００３２】
入力部４は、検索文字列「ペルシャ」を検索部６へ通知する。検索部６はこの検索文字列を得ると、それを構成する各文字「ペ」、「ル」、「シ」、「ャ」をキーとしてインデックス記憶部２を検索し、その結果を対象文字位置情報記憶部８に格納する。具体的には、この例では文字「ペ」に対する出現位置（1,10）、（3,21）、文字「ル」に対する出現位置（1,11）、（2,6）、文字「シ」に対する出現位置（1,12）、（2,7）、（3,24）、文字「ャ」に対する出現位置（1,13）、（2,8）、（3,25）が対象文字位置情報記憶部８に格納される。図４は、対象文字位置情報記憶部８に格納される対象文字位置情報のイメージを示す模式図である。
【００３３】
検索文字列展開部１０は、入力部４から検索文字列と一致度の閾値ηthを受け取って、検索文字列のうち、一致度に応じた数の文字を誤認識許容文字で置換した置換文字列を生成する。誤認識許容文字（曖昧文字）を、ここでは記号「＃」にて表わす。誤認識許容文字が置かれた部分の検索文字列の文字はマスキングされる。マスキングとは、後述する置換文字列と検索対象テキストとのマッチングにおいて、両者の異同を問わないことを意味する。
【００３４】
ここでは検索文字列の文字数Ｍ＝４であるので、一致度の閾値ηth＝７０％を満たす部分列の文字数ｍは３または４である。よって、検索文字列展開部１０は、誤認識許容文字を全く含まない置換文字列（これは検索文字列に等しい。）と誤認識許容文字を１つだけ含む置換文字列を生成する。具体的には、この例では置換文字列として、「ペルシャ」、「＃ルシャ」、「ペ＃シャ」、「ペル＃ャ」、「ペルシ＃」の５つが生成される。
【００３５】
マッチング部１２は、この置換文字列と検索対象テキストとのマッチングを行い、検索文字列に一致する可能性を有する候補文字列を探索する候補探索手段である。マッチングは、置換文字列中での相対的な文字位置と、対象文字位置情報記憶部８に格納された出現位置を照合することにより行われる。以下、α、βを置換文字列に現れる通常の文字とする。
【００３６】
例えば、置換文字列中に現れる２文字の部分「αβ」のマッチングは以下のように行われる。まずマッチング部１２はα、βをキーとして対象文字位置情報記憶部８を検索する。ここでα、βに対応する出現位置をそれぞれ（Ｎdoc(α)，Ｎchar(α)）、（Ｎdoc(β)，Ｎchar(β)）とする。マッチング部１２は、文書番号に関してＮdoc(α)＝Ｎdoc(β)であり、かつ文字位置に関してＮchar(β)＝Ｎchar(α)＋１なる出現位置が見出すことにより、連続する２文字「αβ」の存在を検知する。
【００３７】
次に、誤認識許容文字「＃」を含んだ文字列部分「α＃β」、「α＃＃β」、「α＃＃＃β」、「α＃＃＃…β」等に対するマッチング処理は以下のように行われる。誤認識許容文字「＃」に関する基本的なマッチング規則は以下の３通りである。
【００３８】
(i)  「＃」は任意の１文字と同一とみなされる、
(ii) 「＃」は任意の２文字と同一とみなされる、
(iii)「＃＃」は任意の１文字と同一とみなされる。
【００３９】
(i)は文字誤りに対応した規則である。また(ii)、(iii)はそれぞれ誤分割、誤結合に対応した規則である。
【００４０】
規則(i)は、Ｎdoc(α)＝Ｎdoc(β)かつＮchar(β)＝Ｎchar(α)＋２なる出現位置の探索として実現される。規則(ii)は、Ｎdoc(α)＝Ｎdoc(β)かつＮchar(β)＝Ｎchar(α)＋３なる出現位置の探索として実現される。また規則(iii)は、Ｎdoc(α)＝Ｎdoc(β)かつＮchar(β)＝Ｎchar(α)＋２なる出現位置の探索により実現される。これらの探索により、マッチング部１２は「α＃β」等の文字列パターンの存在を検知する。
【００４１】
マッチング部１２は、置換文字列の各部分について上述のマッチング処理を行って、検索対象テキスト中における置換文字列の存在を検知する。例えば、置換文字列「ペルシャ」に対しては「ペ（1,10）」、「ル（1,11）」、「シ（1,12）」、「ャ（1,13）」が上述の基本的なマッチング規則に適合し、マッチング部１２はマッチング結果として、当該置換文字列とその先頭文字の出現位置との組「ペルシャ（1,10）」を出力する。そして１度マッチしたものは別の置換文字列でマッチしないように対象から除いていく。また、置換文字列「＃ルシャ」に対しては基本規則と規則(i)に基づいて「ル（2,6）」に先行する任意の１文字と「ル（2,6）」、「シ（2,7）」、「ャ（2,8）」が検知され、マッチング部１２はマッチング結果として「＃ルシャ（2,5）」を出力する。また、置換文字列「ペ＃シャ」に対しては基本規則と規則(ii)に基づいて「ペ（3,21）」、これに続く任意の２文字、この任意の２文字に後続する「シ（3,24）」、「ャ（3,25）」が上述のマッチング規則に適合し、マッチング部１２はマッチング結果として、「ペ＃シャ（3,21）」を出力する。なお、置換文字列「ペル＃ャ」、「ペルシ＃」に対しても探索は行われるが、この例ではそれらにヒットする文字列（候補文字列）は存在しない。
【００４２】
出力部１４は、マッチング部１２で得られたマッチング結果に基づいて、画面上に検索結果を表示する。上述のマッチング部１２は、マッチング結果として候補文字列の位置を出力するものであり、出力部１４はそれを例えば、「文書Ａ：（1,10）  文書Ｂ：（2,5）  文書Ｃ：（3,21）」と表示することができる。その他、誤認識許容文字数によって、完全一致、１文字曖昧、２文字曖昧というようにランキングを行い、それらのグループごとに区分して表示してもよい。
【００４３】
また、出力部１４は、マッチング部１２から得た文書番号と文字位置を基に、検索対象テキストにアクセスして、候補文字列を得てそれを表示してもよい。また、マッチング部１２自体が、候補文字列の位置情報に基づいてインデックス記憶部２にアクセスし、候補文字列をその位置情報と併せて出力部１４へ出力するように構成することもできる。このような構成により、出力部１４は、候補文字列を含んだ内容、例えば「文書Ａ：ペルシャ（1,10）  文書Ｂ：ベルシャ（2,5）  文書Ｃ：ペノレシャ（3,21）」を表示することができる。
【００４４】
ちなみに本装置は、汎用コンピュータを用いて構成することができ、特に検索部６、検索文字列展開部１０、マッチング部１２の機能は、中央演算処理部（ＣＰＵ：Central Processing Unit）により実行されうる。
【００４５】
本実施形態にて説明した本発明によれば、例えば文字認識において誤って認識されることにより、ある文字又は文字列がどのような誤った文字又は文字列に変換されて検索対象テキストが生成されるかという情報を用いないのにも拘わらず、文字誤り、誤分割、誤結合に対応することができ、検索文字列に一致する可能性のある候補文字列をもれなく検索することができる。
【００４６】
［実施形態２］
図５は、本発明の第２の実施形態であるテキスト検索装置の概略のブロック構成図である。本装置の構成要素のうち上記実施形態と同様のものについては同一の符号を付し説明を簡単にする。本装置は、上記装置の構成に加えて、テキスト記憶部２０、誤り文字列登録部２４、ランキング部２６とをさらに備えた点が主たる相違点である。
【００４７】
テキスト記憶部２０は、検索対象テキストを格納しており、各文書は文書番号を付され互いに区別されうる。
【００４８】
マッチング部２２は、上記実施形態の装置と同様の処理を行って、候補文字列の位置情報を得る。本装置のマッチング部２２は、さらにその位置情報に基づいて、テキスト記憶部２０にアクセスし、候補文字列を取得し出力する。このとき、位置情報も併せて出力することができる。
【００４９】
誤り文字列登録部２４は、文字認識において誤認識されやすい文字又は文字列である誤り文字列パターンを格納している。
【００５０】
ランキング部２６は、マッチング部２２から候補文字列を得ると、当該候補文字列中に誤り文字列登録部２４に登録された誤り文字列パターンを探索する。そして、ランキング部２６はその結果に応じて候補文字列と検索文字列との一致可能性に応じた優先度を定める（優先度付与手段）。ランキング部２６は、候補文字列とその優先度とを出力部１４へ出力する。
【００５１】
次に、具体的な例を用いて、本装置の動作の特徴を説明する。図６は、検索対象テキストのイメージを示す模式図である。ここで例に用いる検索対象テキストは文書Ａ、文書Ｂ、文書Ｃの３つである。文書Ａにはその先頭から１０文字目から文字列「スキャナ」が存在する。同様に文書Ｂにはその先頭から５文字目から文字列「スキャン」が存在し、文書Ｃにはその先頭から２１文字目から文字列「スキヤナ」が存在する。
【００５２】
図７は、これらの検索対象テキストに対して生成され、インデックス記憶部２に格納されているインデックスのイメージを示す模式図である。
【００５３】
ユーザは検索条件として、検索文字列「スキャナ」、一致度７０％を、入力部４に対し入力する。
【００５４】
入力部４は、検索文字列「スキャナ」を検索部６へ通知する。検索部６はこの検索文字列を得ると、上記実施形態と同様、それを構成する各文字をキーとしてインデックス記憶部２を検索し、その結果を対象文字位置情報記憶部８に格納する。
【００５５】
検索文字列展開部１０は、入力部４から検索文字列と一致度の閾値ηthを受け取って、それに応じた置換文字列を生成する。
【００５６】
ここでは検索文字列の文字数Ｍ＝４、及び一致度の閾値ηth＝７０％に基づいて、検索文字列展開部１０は、誤認識許容文字を全く含まない置換文字列と誤認識許容文字を１つだけ含む置換文字列を生成する。具体的には、この例では置換文字列として、「スキャナ」、「＃キャナ」、「ス＃ャナ」、「スキ＃ナ」、「スキャ＃」の５つが生成される。
【００５７】
マッチング部２２は、この置換文字列と検索対象テキストとのマッチングを行い、検索対象テキスト中における置換文字列の存在を検知する。例えば、置換文字列「スキャナ」に対しては「ス（1,10）」、「キ（1,11）」、「ャ（1,12）」、「ナ（1,13）」がマッチする。マッチング部２２は、この位置情報に基づいて、テキスト記憶部２０に格納された検索対象テキストから候補文字列「スキャナ」を取得し、これとその先頭文字の出現位置との組「スキャナ（1,10）」を、ランキング部２６へ出力する。また、置換文字列「スキャ＃」に対しては上記実施形態で述べた基本規則と規則(i)に基づいて「ス（2,5）」、「キ（2,6）」、「ャ（2,7）」及びこれに後続する任意の１文字がマッチする。マッチング部２２は、この位置情報を基にテキスト記憶部２０にアクセスして候補文字列「スキャン」を取得し、マッチング結果として「スキャン（2,5）」を出力する。また、置換文字列「スキ＃ナ」に対しては基本規則と規則(i)に基づいて「ス（3,21）」、「キ（3,22）」、これに続く任意の１文字、この任意の１文字に後続する「ナ（3,24）」がマッチする。マッチング部２２はこの位置情報を基にテキスト記憶部２０にアクセスして候補文字列「スキヤナ」を取得し、マッチング結果として「スキヤナ（3,21）」を出力する。
【００５８】
ランキング部２６は、マッチング部２２からマッチング結果を得ると、候補文字列のランキングを行う。ここでランキングは、候補文字列が検索文字列に一致する可能性に応じた優先度を定める処理であり、候補文字列が検索文字列と異なる部分（誤り文字列）の文字数と誤り文字列登録部２４に誤り文字列パターンとして登録されているかどうかに基づいて定められる。
【００５９】
図８は、誤り文字列登録部２４に登録された誤り文字列パターンの一例を示す模式図である。図は、検索対象テキストを生成する際の文字認識において、「→」の左側の文字又は文字列が、右側の文字又は文字列と誤って認識されやすいことを示している。例えば、「ス」は「イ」に、「ャ」は「ヤ」や「ゃ」に、「ナ」は「メ」に、「ル」は「ノレ」に誤って認識されやすいことを示している。
【００６０】
ランキング部２６は、例えば、候補文字列が検索文字列と完全一致の場合には、優先度を表す数値としてポイント「１００」を付与し、１文字不一致の場合にはポイント「１０」を付与する。その上でランキング部２６は、候補文字列と検索文字列との差分である誤り文字列が、誤り文字列登録部２４に誤り文字列パターンとして登録されているかどうかを調べ、もし登録されている場合は、既に獲得しているポイントに、例えば「４０」ポイントを加える。
【００６１】
よって、例えば、候補文字列「スキャナ」は完全一致であるので、ポイント「１００」を獲得し、候補文字列「スキヤナ」は１文字不一致で、さらに誤り文字列登録部２４に「ャ→ヤ」が登録されているので、それぞれのポイント「１０」、「４０」を加算したポイント「５０」を得る。一方、候補文字列「スキャン」は１文字不一致であるが、誤り文字列登録部２４にその誤り文字列が登録されていないので、ポイント「１０」のみを得る。そして、ランキング部２６は、例えば、ランキング結果として、候補文字列とその位置情報とポイントの組、例えば「スキャナ（1,10,100）」、「スキヤナ（2,5,50）」、「スキャン（3,21,10）」を出力部１４へ出力する。
【００６２】
出力部１４は、ランキング部２６からのランキング結果を得ると、それに含まれるポイントを用いた表示を行うことができる。例えば、ポイントが高い、すなわち検索文字列と一致する可能性が高い順に、候補文字列を画面表示するといったことができる。また、出力部１４は、ある値以上のポイントを得た候補文字列のみを表示してもよいし、ポイントが指定された範囲内にあるものをグループ化して表示してもよい。
【００６３】
上述のランキング部２６は、誤り文字列登録部２４に登録された誤り文字列パターンに対して一定のポイントを付与したが、必ずしも付与されるポイントは一律でなくてもよい。例えば、誤り文字列登録部２４に各誤り文字列パターンの検出頻度などで表される誤りやすさの度合いを格納し、これをランキングに反映させることにより、より詳細なランキングを行うことができる。例えば、誤りやすさを０〜１の調整係数で設定し、ポイントは、誤り文字列パターン共通のポイントに誤りやすさの調整係数を乗じるといった方法がある。このような方法では、例えば、上述の例において候補文字列「スキヤナ」の調整係数を０．８とすれば、そのポイントは１０＋４０×０．８＝４２となるわけである。また、ユーザが検索結果に基づいて、誤り文字列パターンの検出頻度を増減するように構成することができる。
【００６４】
本実施形態にて説明した本発明によれば、第一の実施形態で説明した発明と同様、検索処理のうちマッチング自体は、誤り文字列登録部２４に登録された誤り文字列パターンを必要とせずに、文字誤り、誤分割、誤結合に対応することができ、検索文字列に一致する可能性のある候補文字列をもれなく検索することができる。このもれなく検索することにより、検索文字列との一致可能性が低いものも候補文字列として検出され、マッチング結果に含まれる「ゴミ」（検索誤り）の割合が増加することは否めない。本発明は、もれなく検索するとともに、その検索結果をより確からしい順番にて表示することを可能にし、これによりユーザが検索結果を利用する際に各候補文字列の重要度（優先度）を把握することが可能となり、検索誤りが生じても実際の利用におけるその影響を軽減することができる。従来の検索文字列を誤り文字列パターンを用いて展開して検索を行う方法では、誤り文字列パターンを登録した辞書がある程度充実していないと検索もれが多くなり、信頼性が低くなる。これに対し本発明では、誤り文字列登録部２４のデータが無い場合でも、もれなく検索でき、誤り文字列登録部２４のデータを充実させていくことによりランキングの精度を向上させていくことができる。
【００６５】
［実施形態３］
本発明の第３の実施形態は、他の検索文字列を用いた他の検索処理例に係るものであり、本実施形態に係るテキスト検索装置の構成は、上記第二の実施形態の装置と同様である。
【００６６】
図９は、検索対象テキストのイメージを示す模式図である。ここで例に用いる検索対象テキストは文書Ａ、文書Ｂ、文書Ｃの３つである。文書Ａにはその先頭から１０文字目から文字列「アルタリア」が存在する。同様に文書Ｂにはその先頭から５文字目から文字列「アル列ア」が存在し、文書Ｃにはその先頭から２１文字目から文字列「アル夕リア」（“夕”は漢字）が存在する。
【００６７】
図１０は、これらの検索対象テキストに対して生成され、インデックス記憶部２に格納されているインデックスのイメージを示す模式図である。
【００６８】
ユーザは検索条件として、検索文字列「アルタリア」及び、一致度６０％を入力部４に対し入力する。
【００６９】
入力部４は、検索文字列「アルタリア」を検索部６へ通知する。検索部６はこの検索文字列を得ると、上記実施形態と同様、それを構成する各文字をキーとしてインデックス記憶部２を検索し、その結果を対象文字位置情報記憶部８に格納する。
【００７０】
検索文字列展開部１０は、入力部４から検索文字列と一致度の閾値ηthを受け取って、それに応じた置換文字列を生成する。
【００７１】
ここでは検索文字列の文字数Ｍ＝５、及び一致度の閾値ηth＝６０％から誤認識許容文字は２文字許される。検索文字列展開部１０は具体的には、この例では置換文字列として、「アルタリア」、「＃＃タリア」、「＃ル＃リア」、「＃ルタ＃ア」、「＃ルタリ＃」、「ア＃＃リア」、「ア＃タ＃ア」、「ア＃タリ＃」、「アル＃＃ア」、「アル＃リ＃」、「アルタ＃＃」を生成しマッチング部２２へ出力する。
【００７２】
マッチング部２２は、この置換文字列と検索対象テキストとのマッチングを行い、検索対象テキスト中における置換文字列の存在を検知する。例えば、置換文字列「アルタリア」に対しては「ア（1,10）」、「ル（1,11）」、「タ（1,12）」、「リ（1,13）」、「ア（1,14）」がマッチする。マッチング部２２は、この位置情報に基づいて、テキスト記憶部２０に格納された検索対象テキストから候補文字列「アルタリア」を取得し、これとその先頭文字の出現位置との組「アルタリア（1,10）」を、ランキング部２６へ出力する。また、置換文字列「＃ル＃リア」に対しては任意の１文字、これに続く「ル（3,22）」、これに続く任意の１文字、「リ（3,24）」、「ア（3,25）」がマッチする。マッチング部２２は、この位置情報を基にテキスト記憶部２０にアクセスして候補文字列「アル夕リア」（“夕”は漢字）を取得し、マッチング結果として「アル夕リア（3,21）」を出力する。また、置換文字列「アル＃＃ア」に対しては上記第一の実施形態で述べた規則(iii)から「ア（2,5）」、「ル（2,6）」、これに続く１文字、及び「ア（2,8）」がマッチする。マッチング部２２はこの位置情報を基にテキスト記憶部２０にアクセスして候補文字列「アル列ア」を取得し、マッチング結果として「アル列ア（2,5）」を出力する。
【００７３】
ランキング部２６は、マッチング部２２からマッチング結果を得ると、候補文字列のランキングを行う。本装置では、ランキング部２６が付与するポイントは、誤認識許容文字が２つの場合に拡張され、その場合に生じ得るそれぞれのケースについて定められている。例えば、以下のように定めることができる。
【００７４】
0003924899.tif 000002
【００７５】
また、誤り文字列登録部２４に登録された誤り文字列パターンには、「タリ→列」、「タ（カタカナ）→夕（漢字）」  が含まれているものとする。
【００７６】
ランキング部２６は、候補文字列「アルタリア」に対しては完全一致の場合のポイント「１００」を付与し、「アル列ア」は２文字不一致かつ誤り文字列「タリ→列」が誤り文字列登録部２４に登録されているので、１０＋６０＝７０ポイントを付与される。また、候補文字列「アル夕リア」（“夕”は漢字）は１文字不一致かつ誤り文字列「タ→夕」が誤り文字列登録部２４に登録されているので、５０＋３０＝８０ポイントを付与される。そして、ランキング部２６は、例えば、ランキング結果として、候補文字列とその位置情報とポイントの組、例えば「アルタリア（1,10,100）」、「アル列ア（2,5,70）」、「アル夕リア（3,21,80）」を出力部１４へ出力する。
【００７７】
出力部１４は、ランキング部２６からのランキング結果を得ると、例えば、ポイントが高い順に、候補文字列を画面表示する。また、出力部１４は、ある値以上のポイントを得た候補文字列のみを表示してもよいし、ポイントが指定された範囲内にあるものをグループ化して表示してもよい。
【００７８】
なお、誤り文字列登録部２４を用いたランキングではなく、簡単に、完全一致、１文字曖昧、２文字曖昧というランキングを行うことも可能である。
【図面の簡単な説明】
【図１】  本発明の第一の実施形態であるテキスト検索装置の概略のブロック構成図である。
【図２】  第一の実施形態に係る検索対象テキストのイメージを示す模式図である。
【図３】  第一の実施形態に係る検索対象テキストのインデックスのイメージを示す模式図である。
【図４】  対象文字位置情報記憶部に格納される対象文字位置情報のイメージを示す模式図である。
【図５】  本発明の第二の実施形態であるテキスト検索装置の概略のブロック構成図である。
【図６】  第二の実施形態に係る検索対象テキストのイメージを示す模式図である。
【図７】  第二の実施形態に係る検索対象テキストのインデックスのイメージを示す模式図である。
【図８】  誤り文字列登録部に登録された誤り文字列パターンの一例を示す模式図である。
【図９】  第三の実施形態に係る検索対象テキストのイメージを示す模式図である。
【図１０】  検索対象テキストに対して生成され、インデックス記憶部に格納されているインデックスのイメージを示す模式図である。
【符号の説明】
２  インデックス記憶部、４  入力部、６  検索部、８  対象文字位置情報記憶部、１０  検索文字列展開部、１２，２２  マッチング部、１４  出力部、２０  テキスト記憶部、２４  誤り文字列登録部、２６  ランキング部。
【図１】
0003924899.tif 000003
【図２】
0003924899.tif 000004
【図３】
0003924899.tif 000005
【図４】
0003924899.tif 000006
【図５】
0003924899.tif 000007
【図６】
0003924899.tif 000008
【図７】
0003924899.tif 000009
【図８】
0003924899.tif 000010
【図９】
0003924899.tif 000011
【図１０】
0003924899.tif 000012