JP3924899B2 - テキスト検索装置およびテキスト検索方法 - Google Patents
テキスト検索装置およびテキスト検索方法 Download PDFInfo
- Publication number
- JP3924899B2 JP3924899B2 JP03874398A JP3874398A JP3924899B2 JP 3924899 B2 JP3924899 B2 JP 3924899B2 JP 03874398 A JP03874398 A JP 03874398A JP 3874398 A JP3874398 A JP 3874398A JP 3924899 B2 JP3924899 B2 JP 3924899B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- search
- error
- candidate
- character
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、文字列が不正確であり得るテキストを対象とするテキスト検索装置であって、特にその検索漏れの低減と検索結果における重み付けに関する。
【0002】
【従来の技術】
従来より、検索文字列を指定し、文書や文字列に含まれる当該検索文字列を探索するテキスト検索装置があった。ワードプロセッサに搭載されている文字列検索機能は、そのようなものの一例である。
【0003】
その検索対象である文書、文字列は、基本的には誤りがないことが前提とされる。そしてその検索においては、検索対象テキスト中に含まれる文字列が検索文字列と完全に一致した場合のみ、関心のある文字列が検索対象テキスト中に存在すると判断されていた。
【0004】
これに対し、検索対象テキストが光学文字読取り装置(OCR)で読み取られたテキストデータである場合には、その読み取りにおける認識誤りにより、不正確な文字列を含んだ不完全なテキストとなる確率が高い。日本語OCRは精度が低いため、特にそのおそれが高い。この不完全テキストに対し、上述のような検索文字列との完全一致による検索を行うと検索漏れが発生するおそれがある。つまり、検索対象テキストが正しく読み取られたものであるならばヒットしたはずである文字列部分が、認識誤りによりヒットしないことが起こりうる。
【0005】
そのような検索漏れを防止するために、検索対象の曖昧さをある程度許容して検索を行う技術(以下、曖昧検索という。)が存在する。特開昭62−44878号公報に開示される第一の曖昧検索の従来技術は、認識の結果、複数の候補が得られた場合、検索対象テキスト中に候補文字を埋め込み、検索するものである(例.文[字学]認[識織]による[本木]文...)。特開平8−7033号公報に開示される第二の曖昧検索の従来技術は、文字認識を行った各文字について複数の候補が得られた場合にはインデックスにそれらを残すものである。この場合、認識結果を各文字ごとに格納したインデックスにおいて、認識対象の1文字に対して複数の認識結果の文字候補が格納されうる。この2つの技術は認識結果、すなわち検索対象テキストに曖昧さを持たせるものである。一方、特開平6−195387号公報、特開平7−152774号公報、特開平8−63487号公報に開示される第三の曖昧検索の従来技術は、検索文字列の側に曖昧さを持たせるものである。この方法は、検索文字列中の誤って認識されやすい部分を、誤認識の可能性のある文字パターン(誤認識パターン)で置き換えた不完全検索文字列を作成し、正しい検索文字列だけでなく、不完全検索文字列によっても探索を行うものである。誤認識パターンのタイプとしては、文字誤り、誤分割、誤結合といったものがある。例えば、「字」は「学」と認識されやすいが、このようなタイプが文字誤りである。また、「化」は「イヒ」と認識されやすいが、このようなタイプが誤分割であり、一方、「51」は「引」と認識されやすいが、このようなタイプが誤結合である。
【0006】
曖昧検索を行うことにより、検索漏れの減少を図ることができるメリットがある一方、逆に本来、検索文字列とは異なる文字列が検索文字列と一致するとされる検索誤りが含まれる可能性もある。
【0007】
【発明が解決しようとする課題】
上述の第一の曖昧検索の従来技術は、認識結果である検索対象テキストの容量が増加する、認識結果に残らないと検索されないといった問題があった。また、誤認識パターンのうち誤分割、誤結合に対応できないという問題もあった。
【0008】
第二の曖昧検索の従来技術においても、認識結果であるインデックスの容量が増加する、認識結果に残らないと検索されないという問題があった。
【0009】
第三の曖昧検索の従来技術は、検索文字列とは別に誤認識パターンを用意する必要があり、その容量が増加するという問題があった。また例えば誤結合は、連続する文字の組み合わせに依存して生じ、そのため多くのパターンが存在しうる。このように起こりうる誤認識パターンを全て予め用意することは困難である。そして予め用意されていない誤認識パターンが発生すると、検索漏れとなるという問題があった。検索に用いられる検索対象テキスト、インデックス、誤認識パターンなどの容量が増加することは、単に記憶装置に大きな容量を要するという問題だけでなく、検索処理に時間がかかるという問題も引き起こしていた。
【0010】
また、検索漏れを少なくしようとして、インデックスに複数候補を登録したり誤認識パターンを充実させると、その一方で、検索文字列とは元来関係のない文字列まで、検索にてヒットするおそれがある。つまり、検索結果に「ゴミ」(検索誤り)が多く含まれることになって、検索結果の信頼性が低くなるという問題もあった。
【0011】
本発明は上記問題点を解消するためになされたもので、曖昧検索に用いるためのデータを少なくする一方で、検索漏れを低減するとともに、検索誤りの影響を軽減するテキスト検索装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明に係るテキスト検索装置は、検索対象テキストに対し、検索文字列に基づいて検索処理を行うテキスト検索装置において、検索条件として、検索文字列及び前記検索文字列とその置換文字列との間に指定された一致度の入力を受け付ける入力手段と、入力された前記検索文字列と前記一致度に応じて前記検索文字列の置換文字列を発生する置換文字列発生手段と、発生された前記置換文字列と一致する文字列パターンを含んだ候補文字列を前記検索対象テキスト中に探索する候補探索手段と、前記検索対象テキストの生成で生じうる誤り文字列パターンを登録した誤り文字列登録手段と、前記候補文字列中の前記検索文字列と異なる部分に、前記誤り文字列登録手段に登録された登録誤り文字列パターンを検出する誤り文字列検出手段と、前記検索文字列との一致可能性に応じた優先度を前記登録誤り文字列パターンの検出頻度に基づいて定め、前記候補文字列中における前記登録誤り文字列パターンの検出に対応して、前記優先度を前記候補文字列に対し付与するものである。
【0013】
「一致度」は、検索文字列の置換文字列の当該検索文字列に対する一致度であり、例えば検索文字列の文字数と置換文字列のうち置換されずに残っている文字数との比に基づいて定義することができる。指定される一致度は、数値の範囲指定であってもよいし、閾値を示すものであってもよい。「置換文字列」は、検索文字列の一部の文字をマスキングしたものであり、それを構成する文字は元の検索文字列における位置の情報を保持している。例えば、検索文字列「キーワード」の置換文字列「キー##ド」「キ##ード」(#はマスキングされた文字を表す。)は互いに同一の文字の組で構成されるが、マスキング位置が異なり、異なる置換文字列として扱われる。また、この例に示されるように、ある置換文字列を構成する文字は互いに連続する場合だけでなく、構成する文字の間にマスキング位置が配される場合もある。候補探索手段は、置換文字列を構成する各文字の位置に同一の文字が配置される文字列を候補文字列として、検索対象テキストから抽出する。つまり、候補文字列の抽出において、検索文字列のうちマスキングされた位置に来る文字の一致/不一致は問われない。
【0015】
文字認識等により生成される検索対象テキストは、誤った文字列を含みうるが、その誤り文字列パターンはランダムではなく、元の正しい文字、又は文字列に対して発生しやすいパターンが存在し得る。誤り文字列登録部には、主としてそのような発生しやすい誤り文字列パターンが格納される。本発明は、候補文字列のうち検索文字列と異なる部分に、誤り文字列登録部に格納された誤りパターンを検知する。そして例えば、検知された誤りパターンが当該検索文字列中の対応部分の文字列に対するものである場合、誤りパターンの部分は検索対象テキスト生成前においては正しい文字列であった可能性が高いと判断して、一致可能性に応じた優先度を高く定めることができる。
【0016】
本発明の好適な態様は、前記検索文字列とその置換文字列との間の指定された一致度に応じて前記検索文字列の置換文字列を発生する置換文字列発生手段を有し、前記候補文字列は、発生された前記置換文字列と一致する文字列パターンを含んだ文字列であるものである。
【0017】
本発明に係るテキスト検索装置は、上記発明において前記候補探索手段が、前記発生した置換文字列に含まれる誤認識許容文字を、前記検索対象テキスト中の任意の1文字とみなす手段を有して前記探索を行うことや、前記検索対象テキスト中の任意の2文字とみなす手段を有して前記探索を行うことや、また、前記発生した置換文字列に含まれる誤認識許容文字のうち連続する2つを、前記検索対象テキスト中の任意の1文字とみなす手段を有して前記探索を行うことのいずれか、またはいくつかを備えたことを特徴とするものである。
【0018】
これらにより、それぞれ文字誤り、誤結合、誤分割を誤りパターンとする候補文字列を検索することができる。
【0019】
本発明に係るテキスト検索装置は、前記優先度付与手段が、前記登録誤り文字列パターンの検出頻度に応じて前記優先度を定めることを特徴とするものである。本発明によれば、例えば、検出頻度が高い登録誤り文字列パターンに対する元の文字列はそのような誤りを生じやすいと判断され、高い優先度を与えることができる。
【0020】
本発明の好適な態様は、前記誤り文字列登録部が、前記登録誤り文字列パターンに加えてさらにその検出頻度を格納するものである。
【0021】
本発明に係るテキスト検索装置は、前記優先度に応じて前記候補文字列を表示する候補文字列表示手段を有するものである。本発明によれば、ユーザは、優先度に基づいて、複数の候補文字列における検索文字列に一致する可能性を把握することができ、例えば、検索処理の結果をチェックする際に便利である。
また、本発明に係るテキスト検索方法は、コンピュータ上で検索対象テキストに対し、検索文字列に基づいて検索処理を行うテキスト検索方法において、前記コンピュータが有する入力手段が、検索条件として、検索文字列及び前記検索文字列とその置換文字列との間に指定された一致度の入力を受け付けるステップと、前記コンピュータが有する置換文字列発生手段が、入力された検索文字列と前記一致度に応じて前記検索文字列の置換文字列を発生するステップと、前記コンピュータが有する候補探索手段が、発生された前記置換文字列と一致する文字列パターンを含んだ候補文字列を前記検索対象テキスト中に探索するステップと、前記コンピュータが有する文字列登録手段が、前記検索対象テキストの生成で生じうる誤りパターンを登録するステップと、前記コンピュータが有する誤り文字列検出手段が、前記候補文字列中の前記検索文字列と異なる部分に、前記文字列登録手段に登録された登録誤り文字列パターンを検出するステップと、前記コンピュータが有する優先度付与手段が、前記検索文字列との一致可能性に応じた優先度を前記登録誤り文字列パターンの検出頻度に基づいて定め、前記候補文字列中における前記登録誤り文字列パターンの検出に対応して、前記優先度を前記候補文字列に対し付与するステップであること、を特徴とする。
【0022】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【0023】
[実施形態1]
図1は、本発明の実施形態であるテキスト検索装置の概略のブロック構成図である。本装置は、OCRによって文字認識されたテキストを検索の対象とし、インデックス記憶部2、入力部4、検索部6、対象文字位置情報記憶部8、検索文字列展開部10、マッチング部12、出力部14を含んで構成される。
【0024】
インデックス記憶部2は、OCRにより得られた検索対象テキストをインデックスの形式で、検索に先立って格納している。インデックスは、検索対象テキストに出現する文字をキーとして、それに当該文字の出現位置を対応付けたものである。
【0025】
入力部4は、検索文字列や一致度といった検索条件をユーザから受け付ける。
【0026】
検索部6は、入力部4から検索文字列を得て、それに含まれる各文字にてインデックス記憶部2に記憶されたインデックスを検索して、検索文字列の各文字の出現位置を対象文字位置情報記憶部8へ出力し、対象文字位置情報記憶部8はこれを格納する。
【0027】
検索文字列展開部10は、検索文字列の部分列を発生する部分列発生手段であり、入力部4から検索文字列と一致度を得て、その一致度に応じて、検索文字列からその部分列を含んだ置換文字列を展開・生成する。置換文字列は、検索文字列の一部の文字を例えば記号「#」で置換して、元の文字をマスキングすることにより生成される。置換文字列のうち「#」で置換された部分以外は、検索文字列の元の文字で構成された部分列である。
【0028】
マッチング部12は、検索文字列展開部10から出力される置換文字列を用いて、対象文字位置情報記憶部8に格納された対象文字位置情報とのマッチングを行う。そのマッチング結果は出力部14へ出力され、CRT等の表示装置に検索結果として画面表示される。
【0029】
次に、具体的な例を用いて、各構成部の動作を説明する。図2は、検索対象テキストのイメージを示す模式図である。ここで例に用いる検索対象テキストは文書A、文書B、文書Cの3つである。文書Aにはその先頭から10文字目から文字列「ペルシャ」が存在する。同様に文書Bにはその先頭から5文字目から文字列「ベルシャ」が存在し、文書Cにはその先頭から21文字目から文字列「ペノレシャ」が存在する。
【0030】
図3は、これらの検索対象テキストに対して生成され、インデックス記憶部2に格納されているインデックスのイメージを示す模式図である。インデックスは、検索対象テキストに出現する文字の種類(図中、左端に示す。)をキーとして、当該文字種が現れる文書中の位置をキーごとに分類したものである。その文字の出現位置は、図中、文書A〜Cを区別する番号Ndoc(文書Aは“1”、文書Bは“2”、文書Cは“3”)と、各文書の先頭からの文字数Ncharとの組(Ndoc,Nchar)の形式で表されている。
【0031】
ユーザは検索条件として、検索文字列「ペルシャ」、一致度70%を、入力部4に対し入力する。ここでは、一致度ηは、検索文字列に対する部分列の文字数の比で定義される。つまり検索文字列の文字数をM、置換文字列のうち置換されずに残っている文字数をmとすると、一致度η=m/M×100[%]となる。入力部4に入力される一致度は、ηの閾値ηthであり、本装置は検索対象テキスト中にηthを超える一致度を有する文字列を探索する。なお、一致度の閾値ηthが低いと検索結果に含まれる「ゴミ」が増えるため、閾値ηthの好適な値は、一般に70%程度若しくはそれを上回る値である。一方、閾値ηthが必要以上に高いと検索漏れを生じる可能性が高くなる。その点も考慮して、ここではηth=70%に設定した。
【0032】
入力部4は、検索文字列「ペルシャ」を検索部6へ通知する。検索部6はこの検索文字列を得ると、それを構成する各文字「ペ」、「ル」、「シ」、「ャ」をキーとしてインデックス記憶部2を検索し、その結果を対象文字位置情報記憶部8に格納する。具体的には、この例では文字「ペ」に対する出現位置(1,10)、(3,21)、文字「ル」に対する出現位置(1,11)、(2,6)、文字「シ」に対する出現位置(1,12)、(2,7)、(3,24)、文字「ャ」に対する出現位置(1,13)、(2,8)、(3,25)が対象文字位置情報記憶部8に格納される。図4は、対象文字位置情報記憶部8に格納される対象文字位置情報のイメージを示す模式図である。
【0033】
検索文字列展開部10は、入力部4から検索文字列と一致度の閾値ηthを受け取って、検索文字列のうち、一致度に応じた数の文字を誤認識許容文字で置換した置換文字列を生成する。誤認識許容文字(曖昧文字)を、ここでは記号「#」にて表わす。誤認識許容文字が置かれた部分の検索文字列の文字はマスキングされる。マスキングとは、後述する置換文字列と検索対象テキストとのマッチングにおいて、両者の異同を問わないことを意味する。
【0034】
ここでは検索文字列の文字数M=4であるので、一致度の閾値ηth=70%を満たす部分列の文字数mは3または4である。よって、検索文字列展開部10は、誤認識許容文字を全く含まない置換文字列(これは検索文字列に等しい。)と誤認識許容文字を1つだけ含む置換文字列を生成する。具体的には、この例では置換文字列として、「ペルシャ」、「#ルシャ」、「ペ#シャ」、「ペル#ャ」、「ペルシ#」の5つが生成される。
【0035】
マッチング部12は、この置換文字列と検索対象テキストとのマッチングを行い、検索文字列に一致する可能性を有する候補文字列を探索する候補探索手段である。マッチングは、置換文字列中での相対的な文字位置と、対象文字位置情報記憶部8に格納された出現位置を照合することにより行われる。以下、α、βを置換文字列に現れる通常の文字とする。
【0036】
例えば、置換文字列中に現れる2文字の部分「αβ」のマッチングは以下のように行われる。まずマッチング部12はα、βをキーとして対象文字位置情報記憶部8を検索する。ここでα、βに対応する出現位置をそれぞれ(Ndoc(α),Nchar(α))、(Ndoc(β),Nchar(β))とする。マッチング部12は、文書番号に関してNdoc(α)=Ndoc(β)であり、かつ文字位置に関してNchar(β)=Nchar(α)+1なる出現位置が見出すことにより、連続する2文字「αβ」の存在を検知する。
【0037】
次に、誤認識許容文字「#」を含んだ文字列部分「α#β」、「α##β」、「α###β」、「α###…β」等に対するマッチング処理は以下のように行われる。誤認識許容文字「#」に関する基本的なマッチング規則は以下の3通りである。
【0038】
(i) 「#」は任意の1文字と同一とみなされる、
(ii) 「#」は任意の2文字と同一とみなされる、
(iii)「##」は任意の1文字と同一とみなされる。
【0039】
(i)は文字誤りに対応した規則である。また(ii)、(iii)はそれぞれ誤分割、誤結合に対応した規則である。
【0040】
規則(i)は、Ndoc(α)=Ndoc(β)かつNchar(β)=Nchar(α)+2なる出現位置の探索として実現される。規則(ii)は、Ndoc(α)=Ndoc(β)かつNchar(β)=Nchar(α)+3なる出現位置の探索として実現される。また規則(iii)は、Ndoc(α)=Ndoc(β)かつNchar(β)=Nchar(α)+2なる出現位置の探索により実現される。これらの探索により、マッチング部12は「α#β」等の文字列パターンの存在を検知する。
【0041】
マッチング部12は、置換文字列の各部分について上述のマッチング処理を行って、検索対象テキスト中における置換文字列の存在を検知する。例えば、置換文字列「ペルシャ」に対しては「ペ(1,10)」、「ル(1,11)」、「シ(1,12)」、「ャ(1,13)」が上述の基本的なマッチング規則に適合し、マッチング部12はマッチング結果として、当該置換文字列とその先頭文字の出現位置との組「ペルシャ(1,10)」を出力する。そして1度マッチしたものは別の置換文字列でマッチしないように対象から除いていく。また、置換文字列「#ルシャ」に対しては基本規則と規則(i)に基づいて「ル(2,6)」に先行する任意の1文字と「ル(2,6)」、「シ(2,7)」、「ャ(2,8)」が検知され、マッチング部12はマッチング結果として「#ルシャ(2,5)」を出力する。また、置換文字列「ペ#シャ」に対しては基本規則と規則(ii)に基づいて「ペ(3,21)」、これに続く任意の2文字、この任意の2文字に後続する「シ(3,24)」、「ャ(3,25)」が上述のマッチング規則に適合し、マッチング部12はマッチング結果として、「ペ#シャ(3,21)」を出力する。なお、置換文字列「ペル#ャ」、「ペルシ#」に対しても探索は行われるが、この例ではそれらにヒットする文字列(候補文字列)は存在しない。
【0042】
出力部14は、マッチング部12で得られたマッチング結果に基づいて、画面上に検索結果を表示する。上述のマッチング部12は、マッチング結果として候補文字列の位置を出力するものであり、出力部14はそれを例えば、「文書A:(1,10) 文書B:(2,5) 文書C:(3,21)」と表示することができる。その他、誤認識許容文字数によって、完全一致、1文字曖昧、2文字曖昧というようにランキングを行い、それらのグループごとに区分して表示してもよい。
【0043】
また、出力部14は、マッチング部12から得た文書番号と文字位置を基に、検索対象テキストにアクセスして、候補文字列を得てそれを表示してもよい。また、マッチング部12自体が、候補文字列の位置情報に基づいてインデックス記憶部2にアクセスし、候補文字列をその位置情報と併せて出力部14へ出力するように構成することもできる。このような構成により、出力部14は、候補文字列を含んだ内容、例えば「文書A:ペルシャ(1,10) 文書B:ベルシャ(2,5) 文書C:ペノレシャ(3,21)」を表示することができる。
【0044】
ちなみに本装置は、汎用コンピュータを用いて構成することができ、特に検索部6、検索文字列展開部10、マッチング部12の機能は、中央演算処理部(CPU:Central Processing Unit)により実行されうる。
【0045】
本実施形態にて説明した本発明によれば、例えば文字認識において誤って認識されることにより、ある文字又は文字列がどのような誤った文字又は文字列に変換されて検索対象テキストが生成されるかという情報を用いないのにも拘わらず、文字誤り、誤分割、誤結合に対応することができ、検索文字列に一致する可能性のある候補文字列をもれなく検索することができる。
【0046】
[実施形態2]
図5は、本発明の第2の実施形態であるテキスト検索装置の概略のブロック構成図である。本装置の構成要素のうち上記実施形態と同様のものについては同一の符号を付し説明を簡単にする。本装置は、上記装置の構成に加えて、テキスト記憶部20、誤り文字列登録部24、ランキング部26とをさらに備えた点が主たる相違点である。
【0047】
テキスト記憶部20は、検索対象テキストを格納しており、各文書は文書番号を付され互いに区別されうる。
【0048】
マッチング部22は、上記実施形態の装置と同様の処理を行って、候補文字列の位置情報を得る。本装置のマッチング部22は、さらにその位置情報に基づいて、テキスト記憶部20にアクセスし、候補文字列を取得し出力する。このとき、位置情報も併せて出力することができる。
【0049】
誤り文字列登録部24は、文字認識において誤認識されやすい文字又は文字列である誤り文字列パターンを格納している。
【0050】
ランキング部26は、マッチング部22から候補文字列を得ると、当該候補文字列中に誤り文字列登録部24に登録された誤り文字列パターンを探索する。そして、ランキング部26はその結果に応じて候補文字列と検索文字列との一致可能性に応じた優先度を定める(優先度付与手段)。ランキング部26は、候補文字列とその優先度とを出力部14へ出力する。
【0051】
次に、具体的な例を用いて、本装置の動作の特徴を説明する。図6は、検索対象テキストのイメージを示す模式図である。ここで例に用いる検索対象テキストは文書A、文書B、文書Cの3つである。文書Aにはその先頭から10文字目から文字列「スキャナ」が存在する。同様に文書Bにはその先頭から5文字目から文字列「スキャン」が存在し、文書Cにはその先頭から21文字目から文字列「スキヤナ」が存在する。
【0052】
図7は、これらの検索対象テキストに対して生成され、インデックス記憶部2に格納されているインデックスのイメージを示す模式図である。
【0053】
ユーザは検索条件として、検索文字列「スキャナ」、一致度70%を、入力部4に対し入力する。
【0054】
入力部4は、検索文字列「スキャナ」を検索部6へ通知する。検索部6はこの検索文字列を得ると、上記実施形態と同様、それを構成する各文字をキーとしてインデックス記憶部2を検索し、その結果を対象文字位置情報記憶部8に格納する。
【0055】
検索文字列展開部10は、入力部4から検索文字列と一致度の閾値ηthを受け取って、それに応じた置換文字列を生成する。
【0056】
ここでは検索文字列の文字数M=4、及び一致度の閾値ηth=70%に基づいて、検索文字列展開部10は、誤認識許容文字を全く含まない置換文字列と誤認識許容文字を1つだけ含む置換文字列を生成する。具体的には、この例では置換文字列として、「スキャナ」、「#キャナ」、「ス#ャナ」、「スキ#ナ」、「スキャ#」の5つが生成される。
【0057】
マッチング部22は、この置換文字列と検索対象テキストとのマッチングを行い、検索対象テキスト中における置換文字列の存在を検知する。例えば、置換文字列「スキャナ」に対しては「ス(1,10)」、「キ(1,11)」、「ャ(1,12)」、「ナ(1,13)」がマッチする。マッチング部22は、この位置情報に基づいて、テキスト記憶部20に格納された検索対象テキストから候補文字列「スキャナ」を取得し、これとその先頭文字の出現位置との組「スキャナ(1,10)」を、ランキング部26へ出力する。また、置換文字列「スキャ#」に対しては上記実施形態で述べた基本規則と規則(i)に基づいて「ス(2,5)」、「キ(2,6)」、「ャ(2,7)」及びこれに後続する任意の1文字がマッチする。マッチング部22は、この位置情報を基にテキスト記憶部20にアクセスして候補文字列「スキャン」を取得し、マッチング結果として「スキャン(2,5)」を出力する。また、置換文字列「スキ#ナ」に対しては基本規則と規則(i)に基づいて「ス(3,21)」、「キ(3,22)」、これに続く任意の1文字、この任意の1文字に後続する「ナ(3,24)」がマッチする。マッチング部22はこの位置情報を基にテキスト記憶部20にアクセスして候補文字列「スキヤナ」を取得し、マッチング結果として「スキヤナ(3,21)」を出力する。
【0058】
ランキング部26は、マッチング部22からマッチング結果を得ると、候補文字列のランキングを行う。ここでランキングは、候補文字列が検索文字列に一致する可能性に応じた優先度を定める処理であり、候補文字列が検索文字列と異なる部分(誤り文字列)の文字数と誤り文字列登録部24に誤り文字列パターンとして登録されているかどうかに基づいて定められる。
【0059】
図8は、誤り文字列登録部24に登録された誤り文字列パターンの一例を示す模式図である。図は、検索対象テキストを生成する際の文字認識において、「→」の左側の文字又は文字列が、右側の文字又は文字列と誤って認識されやすいことを示している。例えば、「ス」は「イ」に、「ャ」は「ヤ」や「ゃ」に、「ナ」は「メ」に、「ル」は「ノレ」に誤って認識されやすいことを示している。
【0060】
ランキング部26は、例えば、候補文字列が検索文字列と完全一致の場合には、優先度を表す数値としてポイント「100」を付与し、1文字不一致の場合にはポイント「10」を付与する。その上でランキング部26は、候補文字列と検索文字列との差分である誤り文字列が、誤り文字列登録部24に誤り文字列パターンとして登録されているかどうかを調べ、もし登録されている場合は、既に獲得しているポイントに、例えば「40」ポイントを加える。
【0061】
よって、例えば、候補文字列「スキャナ」は完全一致であるので、ポイント「100」を獲得し、候補文字列「スキヤナ」は1文字不一致で、さらに誤り文字列登録部24に「ャ→ヤ」が登録されているので、それぞれのポイント「10」、「40」を加算したポイント「50」を得る。一方、候補文字列「スキャン」は1文字不一致であるが、誤り文字列登録部24にその誤り文字列が登録されていないので、ポイント「10」のみを得る。そして、ランキング部26は、例えば、ランキング結果として、候補文字列とその位置情報とポイントの組、例えば「スキャナ(1,10,100)」、「スキヤナ(2,5,50)」、「スキャン(3,21,10)」を出力部14へ出力する。
【0062】
出力部14は、ランキング部26からのランキング結果を得ると、それに含まれるポイントを用いた表示を行うことができる。例えば、ポイントが高い、すなわち検索文字列と一致する可能性が高い順に、候補文字列を画面表示するといったことができる。また、出力部14は、ある値以上のポイントを得た候補文字列のみを表示してもよいし、ポイントが指定された範囲内にあるものをグループ化して表示してもよい。
【0063】
上述のランキング部26は、誤り文字列登録部24に登録された誤り文字列パターンに対して一定のポイントを付与したが、必ずしも付与されるポイントは一律でなくてもよい。例えば、誤り文字列登録部24に各誤り文字列パターンの検出頻度などで表される誤りやすさの度合いを格納し、これをランキングに反映させることにより、より詳細なランキングを行うことができる。例えば、誤りやすさを0〜1の調整係数で設定し、ポイントは、誤り文字列パターン共通のポイントに誤りやすさの調整係数を乗じるといった方法がある。このような方法では、例えば、上述の例において候補文字列「スキヤナ」の調整係数を0.8とすれば、そのポイントは10+40×0.8=42となるわけである。また、ユーザが検索結果に基づいて、誤り文字列パターンの検出頻度を増減するように構成することができる。
【0064】
本実施形態にて説明した本発明によれば、第一の実施形態で説明した発明と同様、検索処理のうちマッチング自体は、誤り文字列登録部24に登録された誤り文字列パターンを必要とせずに、文字誤り、誤分割、誤結合に対応することができ、検索文字列に一致する可能性のある候補文字列をもれなく検索することができる。このもれなく検索することにより、検索文字列との一致可能性が低いものも候補文字列として検出され、マッチング結果に含まれる「ゴミ」(検索誤り)の割合が増加することは否めない。本発明は、もれなく検索するとともに、その検索結果をより確からしい順番にて表示することを可能にし、これによりユーザが検索結果を利用する際に各候補文字列の重要度(優先度)を把握することが可能となり、検索誤りが生じても実際の利用におけるその影響を軽減することができる。従来の検索文字列を誤り文字列パターンを用いて展開して検索を行う方法では、誤り文字列パターンを登録した辞書がある程度充実していないと検索もれが多くなり、信頼性が低くなる。これに対し本発明では、誤り文字列登録部24のデータが無い場合でも、もれなく検索でき、誤り文字列登録部24のデータを充実させていくことによりランキングの精度を向上させていくことができる。
【0065】
[実施形態3]
本発明の第3の実施形態は、他の検索文字列を用いた他の検索処理例に係るものであり、本実施形態に係るテキスト検索装置の構成は、上記第二の実施形態の装置と同様である。
【0066】
図9は、検索対象テキストのイメージを示す模式図である。ここで例に用いる検索対象テキストは文書A、文書B、文書Cの3つである。文書Aにはその先頭から10文字目から文字列「アルタリア」が存在する。同様に文書Bにはその先頭から5文字目から文字列「アル列ア」が存在し、文書Cにはその先頭から21文字目から文字列「アル夕リア」(“夕”は漢字)が存在する。
【0067】
図10は、これらの検索対象テキストに対して生成され、インデックス記憶部2に格納されているインデックスのイメージを示す模式図である。
【0068】
ユーザは検索条件として、検索文字列「アルタリア」及び、一致度60%を入力部4に対し入力する。
【0069】
入力部4は、検索文字列「アルタリア」を検索部6へ通知する。検索部6はこの検索文字列を得ると、上記実施形態と同様、それを構成する各文字をキーとしてインデックス記憶部2を検索し、その結果を対象文字位置情報記憶部8に格納する。
【0070】
検索文字列展開部10は、入力部4から検索文字列と一致度の閾値ηthを受け取って、それに応じた置換文字列を生成する。
【0071】
ここでは検索文字列の文字数M=5、及び一致度の閾値ηth=60%から誤認識許容文字は2文字許される。検索文字列展開部10は具体的には、この例では置換文字列として、「アルタリア」、「##タリア」、「#ル#リア」、「#ルタ#ア」、「#ルタリ#」、「ア##リア」、「ア#タ#ア」、「ア#タリ#」、「アル##ア」、「アル#リ#」、「アルタ##」を生成しマッチング部22へ出力する。
【0072】
マッチング部22は、この置換文字列と検索対象テキストとのマッチングを行い、検索対象テキスト中における置換文字列の存在を検知する。例えば、置換文字列「アルタリア」に対しては「ア(1,10)」、「ル(1,11)」、「タ(1,12)」、「リ(1,13)」、「ア(1,14)」がマッチする。マッチング部22は、この位置情報に基づいて、テキスト記憶部20に格納された検索対象テキストから候補文字列「アルタリア」を取得し、これとその先頭文字の出現位置との組「アルタリア(1,10)」を、ランキング部26へ出力する。また、置換文字列「#ル#リア」に対しては任意の1文字、これに続く「ル(3,22)」、これに続く任意の1文字、「リ(3,24)」、「ア(3,25)」がマッチする。マッチング部22は、この位置情報を基にテキスト記憶部20にアクセスして候補文字列「アル夕リア」(“夕”は漢字)を取得し、マッチング結果として「アル夕リア(3,21)」を出力する。また、置換文字列「アル##ア」に対しては上記第一の実施形態で述べた規則(iii)から「ア(2,5)」、「ル(2,6)」、これに続く1文字、及び「ア(2,8)」がマッチする。マッチング部22はこの位置情報を基にテキスト記憶部20にアクセスして候補文字列「アル列ア」を取得し、マッチング結果として「アル列ア(2,5)」を出力する。
【0073】
ランキング部26は、マッチング部22からマッチング結果を得ると、候補文字列のランキングを行う。本装置では、ランキング部26が付与するポイントは、誤認識許容文字が2つの場合に拡張され、その場合に生じ得るそれぞれのケースについて定められている。例えば、以下のように定めることができる。
【0074】
【0075】
また、誤り文字列登録部24に登録された誤り文字列パターンには、「タリ→列」、「タ(カタカナ)→夕(漢字)」 が含まれているものとする。
【0076】
ランキング部26は、候補文字列「アルタリア」に対しては完全一致の場合のポイント「100」を付与し、「アル列ア」は2文字不一致かつ誤り文字列「タリ→列」が誤り文字列登録部24に登録されているので、10+60=70ポイントを付与される。また、候補文字列「アル夕リア」(“夕”は漢字)は1文字不一致かつ誤り文字列「タ→夕」が誤り文字列登録部24に登録されているので、50+30=80ポイントを付与される。そして、ランキング部26は、例えば、ランキング結果として、候補文字列とその位置情報とポイントの組、例えば「アルタリア(1,10,100)」、「アル列ア(2,5,70)」、「アル夕リア(3,21,80)」を出力部14へ出力する。
【0077】
出力部14は、ランキング部26からのランキング結果を得ると、例えば、ポイントが高い順に、候補文字列を画面表示する。また、出力部14は、ある値以上のポイントを得た候補文字列のみを表示してもよいし、ポイントが指定された範囲内にあるものをグループ化して表示してもよい。
【0078】
なお、誤り文字列登録部24を用いたランキングではなく、簡単に、完全一致、1文字曖昧、2文字曖昧というランキングを行うことも可能である。
【図面の簡単な説明】
【図1】 本発明の第一の実施形態であるテキスト検索装置の概略のブロック構成図である。
【図2】 第一の実施形態に係る検索対象テキストのイメージを示す模式図である。
【図3】 第一の実施形態に係る検索対象テキストのインデックスのイメージを示す模式図である。
【図4】 対象文字位置情報記憶部に格納される対象文字位置情報のイメージを示す模式図である。
【図5】 本発明の第二の実施形態であるテキスト検索装置の概略のブロック構成図である。
【図6】 第二の実施形態に係る検索対象テキストのイメージを示す模式図である。
【図7】 第二の実施形態に係る検索対象テキストのインデックスのイメージを示す模式図である。
【図8】 誤り文字列登録部に登録された誤り文字列パターンの一例を示す模式図である。
【図9】 第三の実施形態に係る検索対象テキストのイメージを示す模式図である。
【図10】 検索対象テキストに対して生成され、インデックス記憶部に格納されているインデックスのイメージを示す模式図である。
【符号の説明】
2 インデックス記憶部、4 入力部、6 検索部、8 対象文字位置情報記憶部、10 検索文字列展開部、12,22 マッチング部、14 出力部、20 テキスト記憶部、24 誤り文字列登録部、26 ランキング部。
Claims (8)
- 検索対象テキストに対し、検索文字列に基づいて検索処理を行うテキスト検索装置において、
検索条件として、検索文字列及び前記検索文字列とその置換文字列との間に指定される一致度の入力を受け付ける入力手段と、
入力された前記検索文字列と前記一致度に応じて前記検索文字列の置換文字列を発生する置換文字列発生手段と、
発生された前記置換文字列と一致する文字列パターンを含んだ候補文字列を前記検索対象テキスト中に探索する候補探索手段と、
前記検索対象テキストの生成で生じうる誤り文字列パターンを登録した誤り文字列登録手段と、
前記候補文字列中の前記検索文字列と異なる部分に、前記誤り文字列登録手段に登録された登録誤り文字列パターンを検出する誤り文字列検出手段と、
前記検索文字列との一致可能性に応じた優先度を前記登録誤り文字列パターンの検出頻度に基づいて定め、前記候補文字列中における前記登録誤り文字列パターンの検出に対応して、前記優先度を前記候補文字列に対し付与する優先度付与手段と、
を有することを特徴とするテキスト検索装置。 - 前記一致度は、前記検索文字列の文字数と前記置換文字列のうち置換されずに残っている文字数との比に基づいて表されることを特徴とする請求項1に記載のテキスト検索装置。
- 前記置換文字列は誤認識許容文字を含み、前記候補探索手段は、前記発生した置換文字列に含まれる誤認識許容文字を、前記検索対象テキスト中の任意の1文字とみなす手段を有して前記探索を行うことを特徴とする請求項1記載のテキスト検索装置。
- 前記置換文字列は誤認識許容文字を含み、前記候補探索手段は、前記発生した置換文字列に含まれる誤認識許容文字を、前記検索対象テキスト中の任意の2文字とみなす手段を有して前記探索を行うことを特徴とする請求項1記載のテキスト検索装置。
- 前記置換文字列は誤認識許容文字を含み、前記候補探索手段は、前記発生した置換文字列に含まれる誤認識許容文字のうち連続する2つを、前記検索対象テキスト中の任意の1文字とみなす手段を有して前記探索を行うことを特徴とする請求項1記載のテキスト検索装置。
- 前記誤り文字列登録手段は、さらに前記登録誤り文字列パターンの検出頻度を格納し、前記優先度付与手段は、前記誤り文字列登録手段に格納された検出頻度に応じて前記優先度を定めることを特徴とする請求項1記載のテキスト検索装置。
- 前記優先度に応じて前記候補文字列を表示する候補文字列表示手段を有することを特徴とする請求項3記載のテキスト検索装置。
- コンピュータ上で検索対象テキストに対し、検索文字列に基づいて検索処理を行うテキスト検索方法において、
前記コンピュータが有する入力手段が、検索条件として、検索文字列及び前記検索文字列とその置換文字列との間に指定される一致度の入力を受け付けるステップと、
前記コンピュータが有する置換文字列発生手段が、入力された検索文字列と前記一致度に応じて前記検索文字列の置換文字列を発生するステップと、
前記コンピュータが有する候補探索手段が、発生された前記置換文字列と一致する文字列パターンを含んだ候補文字列を前記検索対象テキスト中に探索するステップと、
前記コンピュータが有する文字列登録手段が、前記検索対象テキストの生成で生じうる誤りパターンを登録するステップと、
前記コンピュータが有する誤り文字列検出手段が、前記候補文字列中の前記検索文字列と異なる部分に、前記文字列登録手段に登録された登録誤り文字列パターンを検出するステップと、
前記コンピュータが有する優先度付与手段が、前記検索文字列との一致可能性に応じた優先度を前記登録誤り文字列パターンの検出頻度に基づいて定め、前記候補文字列中における前記登録誤り文字列パターンの検出に対応して、前記優先度を前記候補文字列に対し付与するステップと、
有することを特徴とするテキスト検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03874398A JP3924899B2 (ja) | 1998-02-20 | 1998-02-20 | テキスト検索装置およびテキスト検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03874398A JP3924899B2 (ja) | 1998-02-20 | 1998-02-20 | テキスト検索装置およびテキスト検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11238068A JPH11238068A (ja) | 1999-08-31 |
JP3924899B2 true JP3924899B2 (ja) | 2007-06-06 |
Family
ID=12533806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03874398A Expired - Lifetime JP3924899B2 (ja) | 1998-02-20 | 1998-02-20 | テキスト検索装置およびテキスト検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3924899B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193641A (ja) * | 2006-01-20 | 2007-08-02 | Sharp Corp | 情報検索装置、情報検索方法、情報検索プログラム、および情報検索プログラムを記録したコンピュータ読取り可能な記録媒体 |
CN101030216A (zh) * | 2007-04-02 | 2007-09-05 | 丁光耀 | 基于特性参数的字符串匹配方法 |
-
1998
- 1998-02-20 JP JP03874398A patent/JP3924899B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11238068A (ja) | 1999-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4421134B2 (ja) | 文書画像検索装置 | |
US5832480A (en) | Using canonical forms to develop a dictionary of names in a text | |
JP2693780B2 (ja) | テキストプロセシングシステム、及び単位又は化学式が正確且つ一貫して使用されているかどうかをテキストプロセシングシステムでチェックするための方法 | |
US5794177A (en) | Method and apparatus for morphological analysis and generation of natural language text | |
US5819265A (en) | Processing names in a text | |
KR100292098B1 (ko) | 문자 인식 장치 및 방법 | |
JPH02299068A (ja) | 入力文字列からワードを分離する方法 | |
Zhang et al. | Automatic detecting/correcting errors in Chinese text by an approximate word-matching algorithm | |
Uthayamoorthy et al. | Ddspell-a data driven spell checker and suggestion generator for the tamil language | |
JP3924899B2 (ja) | テキスト検索装置およびテキスト検索方法 | |
JPH11232296A (ja) | 文書ファイリングシステムおよび文書ファイリング方法 | |
JP4278011B2 (ja) | 文書校正装置およびプログラム記憶媒体 | |
JP4047895B2 (ja) | 文書校正装置およびプログラム記憶媒体 | |
JP3396734B2 (ja) | コーパス誤りの検出・修正処理装置,コーパス誤りの検出・修正処理方法およびそのプログラム記録媒体 | |
JP4283898B2 (ja) | 文章校正装置 | |
JP3371983B2 (ja) | 不完全文字列と文字列の照合方法および装置 | |
JPH11232303A (ja) | テキスト検索装置 | |
JP4318223B2 (ja) | 文書校正装置およびプログラム記憶媒体 | |
JP4047894B2 (ja) | 文書校正装置およびプログラム記憶媒体 | |
JP3241854B2 (ja) | 単語スペル自動補正装置 | |
JPH08115330A (ja) | 類似文書検索方法および装置 | |
JPH0991297A (ja) | 文字列検索方法及び装置 | |
JP3109187B2 (ja) | 形態素解析方式 | |
JP2827066B2 (ja) | 数字列混在文書の文字認識の後処理方法 | |
JPS62249269A (ja) | 文書処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060523 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060815 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070112 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070219 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110309 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120309 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130309 Year of fee payment: 6 |