JP3669626B2 - Search device, recording medium, and program - Google Patents

Search device, recording medium, and program Download PDF

Info

Publication number
JP3669626B2
JP3669626B2 JP2001168888A JP2001168888A JP3669626B2 JP 3669626 B2 JP3669626 B2 JP 3669626B2 JP 2001168888 A JP2001168888 A JP 2001168888A JP 2001168888 A JP2001168888 A JP 2001168888A JP 3669626 B2 JP3669626 B2 JP 3669626B2
Authority
JP
Japan
Prior art keywords
character
keyword
index
character string
characters
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
Application number
JP2001168888A
Other languages
Japanese (ja)
Other versions
JP2002063197A (en
Inventor
太郎 今川
堅司 近藤
善彦 松川
強司 目片
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001168888A priority Critical patent/JP3669626B2/en
Publication of JP2002063197A publication Critical patent/JP2002063197A/en
Application granted granted Critical
Publication of JP3669626B2 publication Critical patent/JP3669626B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
インデックステーブルを用いて、オリジナル文書中の文字を認識することによって得られる文字認識結果からキーワードを検索する検索装置、記録媒体およびプログラムに関する。
【0002】
【従来の技術】
近年、インターネットの普及に伴い、ネットワーク上に存在する大量の情報から必要な情報を取り出す検索技術が重要視されている。特に、テキストデータから特定のキーワードを検索するシステムは、既に数多く提供されている。このような検索においては、大量のテキスト文書から正確で、高速な検索を行うことが求められている。
【0003】
高速な検索を行うために、インデックステーブルを用いてテキストデータから特定のキーワードを検索する技術が知られている。インデックステーブルは、所定の数の文字(例えば、2文字)を含むインデックス文字列と、その文字列に一致するテキストデータ中の部分の位置とを定義する。
【0004】
オリジナル文書(紙の形態の文書)中の文字を文字認識することによって得られる文字コードの集合(文字認識結果)からキーワードを検索する場合には、文字認識の誤り(誤認識)を考慮しなければならない。文字認識において誤りがある場合、文字コードが表す文字はオリジナル文書に書かれている文字と異なり得るからである。誤認識とは、オリジナル文書に書かれた文字が、正しく文字コードに変換されないことをいう。このような誤認識は、例えば、紙面に印字された文字のかすれや傾き、汚れ等に起因して発生する。
【0005】
例えば、オリジナル文書のある位置に、「イヌ」という文字列が存在し、この文字列中の文字「ヌ」が「ス」と誤認識された場合、文字列「イヌ」に対応する文字認識結果中の部分の位置には、文字列「イス」が存在する。その結果、この文字認識結果から作成されたインデックステーブルには、インデックス文字列「イス」とその位置とが登録される。従って、このインデックステーブルを用いてキーワード「イヌ」を検索しても、文字認識結果中のその位置にキーワードを検出することができない。このように、オリジナル文書中のある位置にキーワードが存在するにもかかわらず、その位置においてキーワードが検出できないという、「検索漏れ」の問題が発生する。
【0006】
検索漏れの問題に対処する従来技術として、オリジナル文書中の1つの文字に対する文字認識結果として複数の候補文字を用意し、その複数の候補文字に基づいて、オリジナル文書中に存在する可能性のある複数の文字列をインデックス文字列としてインデックステーブルに登録する技術が知られている。キーワードの検索は、このインデックステーブルを用いて行なわれる。このような技術は、例えば、特開平9−16619号公報「情報処理方法および装置」に開示されている。
【0007】
図11は、従来技術によって、オリジナル文書中に存在する可能性のある複数の文字列をインデックス文字列とてし登録したインデックステーブル1901の一例を示す。図11に示される例では、インデックステーブル1901は、「インデックスを用いた・・・」という文字列を含むオリジナル文書を文字認識することによって得られる。インデックステーブル1901には、インデックス文字列「イシ」とインデックス文字列「イン」とがいずれも文字認識結果中の同じ位置である文字位置「1」に存在するものとして登録されている(行1911および行1912)。
【0008】
図11に示されるインデックステーブル1901を使用することにより、「インデックス」というキーワードを検出することができる。以下、従来技術に従って、図11に示されるインデックステーブル1901を使用してキーワード「インデックス」を検索する処理を説明する。
【0009】
まず、キーワード中に含まれる、互いに隣り合う2文字からなる文字列が生成される。キーワード「インデックス」から、「イン」、「ンデ」、「デッ」、「ック」および「クス」という5個の文字列が生成される。
【0010】
次に、これらの文字列がインデックステーブル1901から検索される。文字列「イン」、「ンデ」、「デッ」、「ック」および「クス」は、それぞれ、文字認識結果中の文字位置「1」、「2」、「3」、「4」および「5」に存在することが示されている(行1912、行1919、行1915、行1914および行1913)。
【0011】
これらの文字位置の位置関係から、キーワード「インデックス」が文字認識結果中に存在していることが判断される。
【0012】
このようにして、オリジナル文書中に存在する可能性のある複数の文字列をインデックス文字列とてし登録したインデックステーブルを用いた従来技術によれば、検索漏れの問題が回避され得る。
【0013】
【発明が解決しようとする課題】
このような従来技術によれば、検索ノイズが増加してしまうという問題点がある。検索ノイズとは、オリジナル文書中にキーワードが存在しないにもかかわらず、キーワードが検出されることをいう。例えば、図11に示されるインデックステーブル1901を使用して、「デンワ」および「フック」というキーワードを検索した場合に、それらのキーワードが文字位置「3」において検出される。検索結果が正当であるかどうかを判断するためには、ユーザがオリジナル文書と検索結果を比較しなければならない。
【0014】
検索漏れの問題を防ぐために、1つの文字に対する文字認識結果として得られる候補文字の数を多くするほど、このような検索ノイズが多くなり、ユーザが検索結果が正当であるかどうかを判断する負担が増加する。
【0015】
本発明は、このような問題点に鑑みてなされたものであって、高速な検索を行い、かつ、検索結果の正当性を容易に判定することが可能な検索装置、記録媒体およびプログラムを提供することを目的とする。
【0016】
【課題を解決するための手段】
本発明の検索装置は、オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも1つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索装置であって、前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文章中における前記キーワードの文字列の位置を特定する位置特定部と、前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出する算出部と、前記キーワード確信度に基づいて検索結果の正当性を判定する判定部とを備えており、これにより、上記目的が達成される。
【0018】
前記判定部は、前記キーワード確信度が所定の値以上である場合に、前記検索結果を正当であると判定してもよい。
【0019】
前記所定の値は、前記キーワードに含まれる文字の数および前記キーワードに含まれる文字の種類の少なくとも一方に応じて設定されてもよい。
【0020】
前記インデックステーブルを作成するインデックステーブル作成部をさらに含み、前記インデックステーブル作成部は、前記文字認識結果による前記候補文字が複数生成される場合に、前記オリジナル文書の文字列におけるそれぞれの文字に対応して生成された前記候補文字のそれぞれ同士を組み合わせることにより、前記インデックス文字列を生成してもよい。
【0021】
前記インデックステーブルを作成するインデックステーブル作成部をさらに含み、前記インデックステーブル作成部は、前記文字認識結果により前記各文字に対して1つの前記候補文字をそれぞれ生成するとともに、生成された前記各候補文字に類似する類似文字を前記確信度に基づいて生成し、前記オリジナル文書の文字列におけるそれぞれの文字に対応する前記候補文字と前記類似文字との組み合わせ、または前記類似文字同士の組み合わせによっても前記インデックス文字列を生成してもよい。
【0022】
本発明の記録媒体は、オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも1つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索処理をコンピュータにより実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、前記検索処理は、前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文書中における前記キーワードの文字列の位置を特定するステップと、前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出するステップと、前記キーワード確信度に基づいて検索結果の正当性を判定するステップとを包含するプログラムを記録しており、これにより、上記目的が達成される。
【0023】
本発明のプログラムは、オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも1つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索処理をコンピュータにより実行させるためのプログラムであって、前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、前記検索処理は、前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文章中における前記キーワードの文字列の位置を特定するステップと、前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出するステップと、前記キーワード確信度に基づいて検索結果の正当性を判定するステップとを包含し、これにより、上記目的が達成される。
【0024】
【発明の実施の形態】
本明細書中で、文字とは、特定の言語体系において使用される文字に限定されず、数字、記号(例えば、「)」や「◎」)を含むあらゆるシンボルをいう。このようなシンボルには、そのシンボルを電子的に表現するためのコード(文字コード)が割り当てられている。
【0025】
図1は、本発明の検索装置1の構成を示す。検索装置1は、オリジナル文書中の文字を認識することによって得られる文字認識結果からキーワードを検索する。
【0026】
検索装置1は、その構成要素として、端末100と、文書登録処理および文書検索処理を実行するCPU100と、文書を画像データとして入力する画像入力機器120と、ワークメモリ180と、ハードディスク(HDD)170とを備える。これらの構成要素は、内部バス1101を介して互いに接続されている。あるいは、これらの構成要素は、任意のタイプのネットワークを介して互いに接続されていてもよい。
【0027】
端末100は、例えば、キーボードとCRTとを備えた入出力デバイスである。端末100は、例えば、検索装置1が実行する処理をユーザが指定したり、検索装置1が実行した検索処理結果をユーザに表示するために用いられる。
【0028】
HDD170には、文書登録プログラム1103と、文書検索プログラム1104と、文字認識パターン辞書160と、確信度テーブル150と、文書データ1102とが格納されている。HDD170として、任意のタイプのメモリが使用されてもよい。
【0029】
文書登録プログラム1103および文書検索プログラム1104の全体または一部は、任意のタイプの通信回線(図示せず)または放送を介して検索装置1に提供されてもよいし、任意のタイプのコンピュータ読み取り可能な記録媒体に記録された形態で検索装置1に提供されてもよい。そのような記録媒体は、例えば、DVD−ROM、CD−ROM、フレキシブルディスク等である。そのような記録媒体に記録された文書登録プログラム1103および文書検索プログラム1104は、ディスクドライブ等の読み取りデバイスによって検索装置1にインストールされ得る。
【0030】
図2は、オリジナル文書中の文字を認識することによって得られる文字認識結果からキーワードを検索するために、検索装置1によって実行される処理の流れを示す。
【0031】
ユーザが端末100(図1)から文書登録処理の開始を指示すると、HDD170に格納された文書登録プログラム1103がワークメモリ180にロードされる。CPU110は、ワークメモリ180に高速にアクセスすることができる。CPU110が文書登録プログラム1103を実行することにより、文書登録処理が行なわれる。
【0032】
文書登録処理は、文字認識処理と、インデックステーブル作成処理とを含む。文字認識処理と、インデックステーブル作成処理とはそれぞれ、文書登録プログラムの一部である文字認識プログラム(図示せず)と、インデックステーブル作成プログラム(図示せず)とをCPU110が実行することによって行なわれる。
【0033】
文字認識処理では、画像入力機器120によってオリジナル文書が読み取られ、オリジナル文書の画像データ(文書画像データ)130が生成される。文書画像データ130は、HDD170(図1)に格納される。文書画像データ130中の部分領域によって表される形状と文字認識パターン辞書160(図1)に登録されている文字の形状の類似性に基づいて、文字認識処理が行なわれる。文字認識処理の結果は、文字認識結果140としてHDD170に格納される。
【0034】
次に、インデックステーブル作成処理では、文字認識結果140からインデックステーブル190が作成される。インデックステーブル190は、HDD170に格納される。インデックステーブル作成処理において、確信度テーブル150(図1)が参照され得る。
【0035】
HDD170に格納された文書画像データ130と、文字認識結果140と、インデックステーブル190とは、文書データ1102(図1)の少なくとも一部を構成する。
【0036】
ユーザが端末100からキーワードを入力し、文書検索処理の開始を指示すると、HDD170に格納された文書検索プログラム1104がワークメモリ180にロードされる。CPU110が文書検索プログラム1104を実行することにより、文書検索処理が行なわれる。文書検索処理では、インデックステーブル190を用いて、文字認識結果からキーワードが検索される。
【0037】
文書登録処理によってインデックステーブル190がいったん生成されると、キーワードの検索は、インデックステーブル190を参照して行なわれる。検索すべきキーワードが変わっても、新たなインデックステーブル190を作成する必要はない。
【0038】
なお、図2に示される全ての処理が検索装置1によって行われることは必須ではない。例えば、文書登録処理が検索装置1とは別の機器によって行なわれ、生成されたインデックステーブル190を用いた文書検索処理のみが検索装置1によって行なわれてもよい。
【0039】
図3は、オリジナル文書1310の一例を示す。オリジナル文書1310は、「インデックスを用いた検索方法。文書データからの」という文字列を含む。オリジナル文書は、例えば、文字列が印刷された紙の形態の文書である。オリジナル文書は、あるいは、標識、看板、掲示板等に書かれた形態の文書であってもよい。
【0040】
図4は、オリジナル文書1310に対して文字認識処理を行うことにより得られる文字認識結果140の一例を示す。文字認識結果140は、文字位置1042と、候補文字1043とを含む。図4において、各候補文字に添えられたカッコ内の数字は、各候補文字についての信頼度Rrを示す。文字認識結果140は、オリジナル文書1310(図3)に含まれる「イ」、「ン」、「デ」、「ッ」、「ク」、「ス」という各文字の文字認識結果として、最大の信頼度Rrが得られた候補文字が、それぞれ、「イ」、「シ」、「テ」、「ソ」、「タ」、「ス」であることを示す。
【0041】
文字認識処理は、任意のアルゴリズムに従って実行され得る。文字認識処理は、例えば、1文字単位に文書画像データ130を切り出し、その切り出された1文字単位の画像データ(部分領域)を文字コードに変換していくというアルゴリズムに従って実行され得る。
【0042】
部分領域から文字コードへの変換の際には、部分領域によって表される形状と、文字認識パターン辞書160(図1)に登録されている文字の形状とが比較される。所定の判定基準に基づいて形状が類似していると判定された文字が、候補文字として得られる。このようにして、部分領域が、候補文字の文字コードへと変換されていく。1つの部分領域に対応する候補文字が複数得られてもよい。
【0043】
候補文字は、その形状と部分領域によって表される形状とが類似しているために、オリジナル文書のその部分領域に対応する部分に書かれている文字と一致する可能性が高いとみなし得る文字を意味する。
【0044】
文字認識結果140における各欄(例えば、欄1044)は、文書画像データ130中の部分領域に対応している。すなわち、オリジナル文書1310の部分(例えば、図3に示される部分1311)に対応している。また、文書画像データ130中の部分領域は、文書画像データから1文字単位に切り出されるので、部分領域は、オリジナル文書1310の1文字(例えば、図3に示される部分1311に書かれている文字「ク」)に対応している。
【0045】
欄1044に示される候補文字「タ」、「ウ」、「ワ」および「ク」は、対応するオリジナル文書1310の部分(図3に示される部分1311)に書かれている文字と一致する可能性が高いとみなし得る文字である。
【0046】
文字位置1042は、文字認識結果140における、その候補文字の位置を示す。例えば、欄1044に示される文字位置「5」は、文字認識結果140における欄1044(文字認識結果中の部分)の位置が、「5番目」の位置であることを示す。
【0047】
文字位置1042の表現方法としては、候補文字に対応するオリジナル文書1310中の部分が特定できさえすれば、どのような表現方法を使用してもよい。上述したように、文字認識結果中の各欄は文書画像データ130の部分領域に対応する。従って、文字位置1042は、候補文字が含まれる欄の文字認識結果中の位置によって表されてもよいし、その欄が対応する文書画像データ130の部分領域の文書画像データ130中の位置によって表されてもよい。
【0048】
例えば、文字位置1042は、オリジナル文書の文書名と、ページ番号と、行番号と、その行における先頭からの位置(何文字目であるか)によって表されてもよいし、文書画像データにおける座標やアドレスによって表されてもよい。
【0049】
信頼度Rrは、文字認識の確からしさ、すなわち、正解確率を示す。信頼度Rrは、0以上1以下の値をとり、値が大きいほど確からしさが大きいものとする。文字認識には、例えば、ニューラルネットワークやベクトル量子化やテンプレートマッチングの手法を採用することができる。
【0050】
文字認識にニューラルネットワークの手法を採用する場合には、文字認識パターン辞書160に登録されている文字のうち、出力値がある基準以上である少なくとも1つのニューロンに対応する文字が候補文字として得られる。ニューロンの出力値と正解確率との対応関係を予め求めておき、その対応関係に基づいて、各候補文字に対応するニューロンの出力値から、信頼度Rrを求めることができる。
【0051】
ベクトル量子化やテンプレートマッチングの手法は、いずれも、文書画像データ130の部分領域によって表される形状と、文字認識パターン辞書160に登録されている文字の形状との特徴量空間における距離を求めることにより、文字認識を行う手法である。1つの形状は、特徴量空間における1つの代表点として表される。これらの手法が採用される場合には、文字認識パターン辞書160に登録されている文字のうち、特徴量空間における距離がある基準以下である少なくとも1つの文字が候補文字として得られる。特徴量空間における距離と正解確率との対応関係を予め求めておき、その対応関係に基づいて、各候補文字に対応する特徴量空間における距離から、信頼度Rrを求めることができる。
【0052】
文字認識にいずれの手法を用いた場合でも、信頼度Rrは、文書画像データ130の部分領域によって表される形状と、文字認識パターン辞書160に登録されている文字の形状との類似性を反映する。
【0053】
信頼度Rrとしては、形状の類似性以外の情報が考慮されてもよい。例えば、文書画像データ130中の文字認識の対象となる部分領域の大きさの偏差SRや、行におけるその部分領域の相対的位置の偏差LRなどが考慮されてもよい。
【0054】
部分領域の大きさの偏差SRは、例えば、文書画像データ130におけるすべての部分領域(それぞれが1つの文字に対応する)の大きさの平均値からの、その部分領域の大きさの偏差として定義され得る。予め、偏差SRと文字認識の正解確率との対応関係を求めておくことにより、偏差SRが大きい場合に信頼度Rrが小さくなるように、信頼度Rrを修正することができる。
【0055】
部分領域の相対位置の偏差LRは、例えば、文書画像データにおける同一の行のすべての部分領域(それぞれが1つの文字に対応する)について、行に垂直な方向の位置の平均値を求め、その部分領域の行に垂直な方向の位置のこの平均値からの偏差として定義され得る。予め、偏差LRと文字認識の正解確率との対応関係を求めておくことにより、偏差LRが大きい場合に信頼度Rrが小さくなるように、信頼度Rrを修正することができる。
【0056】
このように、信頼度Rrを偏差SRおよび/または偏差LRに応じて修正することにより、信頼度Rrをより適切に設定することができる。
【0057】
図4に示される文字認識結果140から、インデックステーブル190が作成される(インデックステーブル作成処理)。
【0058】
図5Aは、インデックステーブル作成処理の手順を示す。以下、インデックステーブル作成処理の手順を詳しく説明する。
【0059】
ステップS401:文字認識結果140中の注目している候補文字の信頼度Rrが基準値以上であるか否かが判定される。基準値は、例えば、「0.05」であり得る。ステップS401における判定結果が「Yes」である場合には、処理はステップS402に進む。ステップS401における判定結果が「No」である場合には、処理はステップS404に進む。
【0060】
なお、文字認識処理によって文字認識結果140(図4)を得る際に、信頼度Rrが基準値以上である候補文字のみを文字認識結果140に含むようにしてもよい。その場合には、ステップS401における処理は省略され得る。
【0061】
ステップS402:候補文字の確信度Crが計算される。確信度Crは、例えば、各候補文字についての信頼度Rrに基づいて、(数1)により計算される。
【0062】
【数1】
確信度Cr = 候補文字ついての信頼度Rr×文字別係数Kr
文字別係数Krは、予め、1つの文字(例えば、「イ」)ごとに定義されている。文字別係数Krは、通常の文書中におけるその文字の出現確率に依存する。文字は、その種類ごとに通常の文書中における出現確率が異なる。例えば、一般の日本語の文書では、文字「ゐ」は、文字「る」よりも出現確率が低い。このように、出現確率が低い文字については、文字別係数Krが低く設定される。逆に、出現確率が高い文字については、文字別係数Krが高く設定される。文字ごとの出現確率は、予め、大量の一般的な文書を対象として統計的に求めることができる。
【0063】
各候補文字についての確信度Crは、その候補文字についての信頼度Rrに候補文字と同一の文字(文字コードが一致する文字)についての文字別係数Krを掛けることによって求められる。このようにして計算された確信度Crは、候補文字と同一の文字がオリジナル文書中の特定の部分に存在する確率を示す。そのような特定の部分とは、文字認識結果140(図4)において、その候補文字が含まれる欄(文字認識結果中の部分)が対応するオリジナル文書中の部分である。
【0064】
ただし、確信度Crが必ずしも統計学的な確率そのものである必要はない。確信度Crは、統計学的な確率を所定の基準に従って正規化した値であり得る。このような所定の基準は、候補文字の確信度Crが、候補文字と同一の文字がオリジナル文書中の特定の部分に存在する確率を示すという性質を保持する限り、任意の基準であり得る。確信度Crは、実数表現でなく整数表現によって表されてもよい。あるいは、確信度Crは、確信度Crのレベルを段階的に示す記号によって表されてもよい(例えば、○:高、△:中、×:低)。
【0065】
なお、文字ごとの出現確率が不明である場合には、文字別係数Krをすべての文字について一定としてもよい。また、字種(漢字、カタカナ、ひらがな)ごとに文字別係数Krを設定してもよい。
【0066】
ステップS403:候補文字と、ステップS402で求められた確信度Crとが候補文字−確信度テーブルに登録される。
【0067】
図5Bは、候補文字−確信度テーブル1501の一例を示す。候補文字と確信度Crとは、文字位置1042(図4)ごとに、候補文字−確信度テーブル1501に登録される。
【0068】
図5Aを再び参照して、インデックステーブル作成処理の説明を続ける。
【0069】
ステップS404:すべての文字位置のすべての候補文字について、ステップS401〜ステップS403の処理が行なわれたか否かが判定される。ステップS404における判定結果が「Yes」である場合には、処理はステップS405に進む。ステップS404における判定結果が「No」である場合には、他の候補文字について、ステップS401からの処理が行なわれる。
【0070】
ステップS405:候補文字−確信度テーブル1501(図5B)の隣接した文字位置に登録された候補文字からインデックステーブルが作成される。インデックステーブルは、インデックス文字列と、文字位置と、確信度Crとを定義する。
【0071】
インデックス文字列は、候補文字−確信度テーブル1501(図5B)の隣接した文字位置に登録された候補文字を組み合わせることによって生成される。例えば、候補文字−確信度テーブル1501の文字位置「1」に登録された候補文字「イ」と、隣接した文字位置「2」に登録された候補文字「シ」とを組み合わせることによって、インデックス文字列「イシ」が生成される。
【0072】
図6は、インデックステーブル作成処理によって作成されたインデックステーブルの一例を示す。インデックステーブル190の欄1610は、インデックス文字列を示す。欄1611は、インデックス文字列に含まれる先頭の候補文字の文字位置を示す。欄1612はインデックス文字列に含まれる候補文字のそれぞれについて定義される確信度Crの組を示す。
【0073】
インデックステーブル190に含まれる行1602は、インデックス文字列「イシ」に一致する文字認識結果140中の部分の位置が「1」であり、インデックス文字列「イシ」の文字「イ」について定義された確信度Crが0.9であり、インデックス文字列「イシ」の文字「シ」について定義された確信度Crが0.8であることを示す。
【0074】
インデックス文字列「イシ」(行1602)に含まれる候補文字のそれぞれについて定義される確信度Crの組は、各候補文字についてステップS402(図5A)で算出された確信度Crの組として得られる。なお、確信度Crの組として、各候補文字についてステップS402(図5A)で算出された確信度Crにインデックス文字列ごとの係数を掛けた値の組が用いられてもよい。インデックス文字列ごとの係数は、例えば、一般の文書中に出現する確率が小さいインデックス文字列については、低く設定され得る。例えば、文字列「ヲヲ」や文字列「ヰヰ」は、一般の日本語の文書中に出現する確率は小さい。このようなインデックス文字列に対しては、インデックス文字列ごとの係数は低く設定され得る。
【0075】
候補文字−確信度テーブル1501(図5B)の隣接した文字位置に登録された候補文字を組み合わせることによってインデックス文字列を生成することは、文字認識結果140(図4)に示される複数の欄のうち、隣接した(連続した)複数の欄(例えば、欄1045と欄1046)のそれぞれに含まれる候補文字を組み合わせることと等価である。
【0076】
このように、図5Aに示されるステップS401〜ステップS405において、CPU110(図1)は、インデックステーブル190を作成するインデックステーブル作成部として機能する。
【0077】
インデックステーブル190は、図5Bに示される候補文字−確信度テーブル1501の隣接した文字位置に登録された候補文字のすべての組み合わせをインデックス文字列として登録することによって作成される。
【0078】
ただし、候補文字−確信度テーブル1501の隣接した文字位置に登録された候補文字のすべての組み合わせに重複する組み合わせがある場合には、インデックステーブル190には、1つのインデックス文字列について複数の文字位置と確信度Crの組とが登録される。例えば、候補文字−確信度テーブル1501の文字位置「2」および「3」に登録された候補文字「ン」および「ワ」からインデックス文字列「ンワ」が生成され、文字位置「4」および「5」に登録された候補文字「ン」および「ワ」からもインデックス文字列「ンワ」が生成される。この場合、1つのインデックス文字列「ンワ」について、文字位置2、確信度Cr(0.7,0.2)と文字位置4、確信度Cr(0.1,0.2)とがインデックステーブル190に登録される(行1604)。
【0079】
インデックス文字列に含まれる文字数は、予め定められている。図6に示される例では、インデックス文字列に含まれる文字数は、「2」である。インデックス文字列に含まれる文字数は、任意の自然数であり得る。しかし、一般に、インデックス文字列に含まれる文字数は2以上であることが好ましい。インデックス文字列に含まれる文字数が1であると、1つのインデックス文字列について登録される文字位置と確信度Crとの数が多くなり、検索を高速に行なうことができなくなるからである。
【0080】
インデックステーブル190中のインデックス文字列は、検索を容易にするために所定の順序に従って順序付けられていることが好ましい。
【0081】
インデックステーブル190は、図4に示される文字認識結果140中の1つの文字位置に対する複数の候補文字を用いて作成されている。その結果、インデックステーブル190は、同一の文字位置に対応する複数のインデックス文字列を含む。従って、複数のインデックス文字列が、文字認識結果の1つの部分に一致し得る。例えば、インデックステーブル190の行1602に示されるインデックス文字列「イシ」と、インデックステーブル190の行1603に示されるインデックス文字列「イン」とは、いずれも、文字位置「1」によって示される文字認識結果140中の部分(欄1045と欄1046とを包含する部分)に一致する。これによって、検索漏れを減らすことが可能になる。
【0082】
このように、インデックス文字列と、文字認識結果の部分とが一致するとは、インデックス文字列に含まれる各文字が、文字認識結果の連続した部分(図4に示される隣接した欄)の1つに含まれる少なくとも1つの候補文字の1つと同一である(文字コードが等しい)という概念を含む。
【0083】
インデックステーブル190のような、同一の文字位置に対応する複数のインデックス文字列を含むインデックステーブルは、1つの文字位置に対する候補文字が1つであるような文字認識結果からも作成することができる。
【0084】
図7は、1つの文字位置に対する候補文字が1つである文字認識結果140aの一例を示す。文字認識結果140aは、図4に示される文字認識結果140と比較して、1つの文字位置に対する候補文字が1つであるという点が異なる。文字認識結果140aは、オリジナル文書1310(図3)に含まれる「イ」、「ン」、「デ」、「ッ」、「ク」、「ス」という各文字が、それぞれ、「イ」、「シ」、「テ」、「ソ」、「タ」、「ス」と認識されたことを示す。オリジナル文書1310に含まれる文字「ン」、「デ」、「ッ」、「ク」は、誤って認識されている。
【0085】
図8Aは、図7に示される文字認識結果140aからインデックステーブルを作成する処理(インデックステーブル作成処理)の手順を示す。
【0086】
ステップS501:確信度テーブルを参照して、文字認識結果140aの1つの文字位置に対する候補文字と信頼度Rrとの1つの組から、類似文字と確信度Crとの組が求められる。類似文字と確信度Crとの組は、複数得られてもよい。ステップS501の処理は、各文字位置について行なわれる。確信度テーブルは、図9を参照して後述される。
【0087】
ステップS502:類似文字の確信度Crが、所定の基準値以上であるか否かが判定される。所定の基準値とは、例えば、0.05である。ステップS502における判定結果が「Yes」である場合には、処理はステップS503に進む。ステップS502における判定結果が「No」である場合には、処理はステップS504に進む。
【0088】
ステップS503:類似文字と、ステップS501で求められた確信度Crとが類似文字−確信度テーブルに登録される。
【0089】
図8Bは、類似文字−確信度テーブル1801の例を示す。類似文字と確信度Crとは、文字位置1042(図7)ごとに、類似文字−確信度テーブル1801に登録される。
【0090】
図8Aを再び参照して、インデックステーブル作成処理の説明を続ける。
【0091】
ステップS504:すべての文字位置の候補文字について、ステップS502〜ステップS503の処理が行なわれたか否かが判定される。ステップS504における判定結果が「Yes」である場合には、処理はステップS505に進む。ステップS504における判定結果が「No」である場合には、他の類似文字について、ステップS502からの処理が行なわれる。
【0092】
ステップS505:類似文字−確信度テーブル1801(図8B)の隣接した文字位置に登録された類似文字からインデックステーブルが作成される。インデックス文字列は、類似文字−確信度テーブル1801(図8B)の隣接した文字位置に登録された類似文字を組み合わせることによって生成される。この処理は、図5Aに示されるステップS405において、候補文字−確信度テーブル1501(図5B)からインデックステーブル190(図6)を作成した処理と同様である。
【0093】
生成されるインデックステーブルは、図6に示されるインデックステーブル190と同様である。例えば、インデックステーブル190の行1602において、欄1611は、インデックス文字列「イシ」に含まれる先頭の類似文字「イ」の文字位置を示す。欄1612はインデックス文字列「イシ」に含まれる類似文字のそれぞれについて定義される確信度Crの組(0.9,0.8)を示す。
【0094】
図9は、確信度テーブル150の一例を示す。図9には、確信度テーブル150のうち、候補文字「シ」に関する部分のみを示す。
【0095】
確信度テーブル150は、例えば、文字認識結果として1つの候補文字「シ」および信頼度Rr「0.9」が得られた場合に、類似文字「ン」および確信度Cr「0.2」と、類似文字「シ」および確信度Cr「0.8」とが得られることを示す。類似文字「ン」および類似文字「シ」は、候補文字「シ」と文字の形状が類似しているか、同一である文字である。
【0096】
候補文字「シ」についての類似文字が「ン」および「シ」であることは、文字認識結果として1つの候補文字「シ」が得られた場合に、オリジナルの文書中には類似文字「ン」または類似文字「シ」が書かれている可能性が高いことを示す。
【0097】
確信度テーブル150は、予め、多種多数の文字が書かれたオリジナル文書に対して文字認識を行い、それによって得られる文字認識結果および信頼度Rrと、オリジナル文書に実際に存在する文字とを比較することによって作成され得る。例えば、確信度テーブル150の部分1811に示される確信度Crの「0.2」は、様々なフォントや様々な印字品質で書かれた文字「ン」に対して文字認識を行った場合に、候補文字「シ」および信頼度Rr0.9が得られる確率から求められ得る。
【0098】
確信度テーブル150は、全ての文字の組み合わせに対して用意される。ただし、確信度Crが所定の基準よりも小さくなるような類似文字については、確信度テーブル150に登録する必要はない。従って、1つの候補文字について得られる類似文字の個数を限定することができる。
【0099】
文字認識によって得られる信頼度Rrが図9に示される確信度テーブル150に定義される信頼度Rrと一致しない場合(例えば、文字認識によって得られる信頼度Rrが0.8)である場合には、適切な方法により類似文字の確信度Crが計算される。例えば、文字認識によって得られる信頼度Rrが0.5よりも小さい場合には、確信度テーブル150中の信頼度Rr「0.5」の行が参照される。また、文字認識によって得られる信頼度Rrが0.9よりも大きい場合には、確信度テーブル150中の信頼度Rr「0.9」の行が参照される。文字認識によって得られる信頼度Rrが確信度テーブル150に定義される2つの信頼度Rrの間の値である場合には、確信度テーブル150に定義される2つの信頼度Rrのうち、文字認識によって得られる信頼度Rrに近い値の行が参照される。
【0100】
なお、確信度テーブル150の構造は、図9に示される構造に限定されない。確信度テーブル150は、候補文字と信頼度Rrとの組から、類似文字と確信度Crの組とが少なくとも1つ得られる限り、任意の構造を有し得る。例えば、確信度Crの信頼度Rrに対する分布を一様分布であると仮定して、その分布範囲を確信度の上限および下限、信頼度Rrの上限および下限により表し、これらの上限値および下限値が確信度テーブル150に定義されてもよい。あるいは、確信度Crの信頼度Rrに対する分布をガウス分布であると仮定して、その分布の平均値と分散値とが確信度テーブル150に定義されてもよい。
【0101】
このような確信度テーブル150を用いて図8Aに示されるインデックステーブル作成処理を実行することにより、1つの文字位置に対する候補文字が1つである文字認識結果140a(図7)からでも、同一の文字位置に対応する複数のインデックス文字列を含むインデックステーブル190(図6)を作成することができる。
【0102】
確信度テーブル150は、検索装置1がインデックステーブル作成処理を図5Aに示される手順に従って実行する場合には、省略され得る。
【0103】
このように、インデックステーブル190はまた、図7に示される文字認識結果140a中の1つの文字位置に対する1つの候補文字に予め対応付けられた複数の類似文字を用いて作成され得る。その結果、インデックステーブル190は、同一の文字位置に対応する複数のインデックス文字列を含む。従って、複数のインデックス文字列が、文字認識結果の1つの部分に一致し得る。これによって、文字認識処理において誤認識が生じた場合にも検索漏れを減らすことが可能になる。
【0104】
但し、インデックス文字列に含まれる各文字が、文字認識結果の連続した部分(図7に示される隣接した欄)の1つに含まれる1つの候補文字と同一であるとは限らない。例えば、インデックステーブル190の行1603に示されるインデックス文字列「イン」に含まれる文字「ン」は、文字認識結果140a(図7)の欄1046aに含まれる1つの候補文字「シ」と同一ではない。しかし、インデックス文字列「イン」に含まれる文字「ン」は、その候補文字「シ」に予め確信度テーブル150(図9)により対応付けられた類似文字「ン」と同一である。
【0105】
このように、インデックス文字列と、文字認識結果の部分とが一致するとは、インデックス文字列に含まれる各文字が、文字認識結果の連続した部分(図4に示される隣接した欄)の1つに含まれる1つの候補文字に予め対応付けられた少なくとも1つの文字の1つと同一である(文字コードが等しい)という概念を含む。
【0106】
次に、インデックステーブル190(図6)を用いて文字認識結果からキーワードを検索する処理(文書検索処理)を説明する。
【0107】
図10は、文書検索処理の手順を示す。以下、文書検索処理の各ステップを詳しく説明する。
【0108】
ステップS301:キーワードが入力される。以下、キーワードが「インデックス」という文字列である場合を例として説明する。
【0109】
ステップS302:キーワードから、連続する2文字の組(長さが2の文字列)が抽出される。この例では、2文字の組「イン」、「ンデ」、「デッ」、「ック」、「クス」が抽出される。なお、抽出される文字列の長さは、インデックステーブルに定義されるインデックス文字列の長さと等くなるように設定される。従って、インデックス文字列の長さがn(nは自然数)である場合には、キーワードからn文字の組(長さがnの文字列)が抽出される。以下の説明では、n=2であるものとする。
【0110】
抽出された複数の2文字の組は、互いのその一部がオーバーラップしている。しかし、オーバーラップしないようにキーワードから2文字の組を抽出してもよい。例えば、キーワード「インデックス」から2文字の組「イン」、「デッ」、「クス」が抽出されてもよい。ただし、キーワードに含まれるそれぞれの文字は、抽出された2文字の組の少なくとも1つに含まれるように、キーワードから2文字の組が抽出される。
【0111】
ステップS303:インデックステーブル190(図6)を参照し、2文字の組に対応する文字位置と確信度Crとが抽出される。この例では、
2文字の組「イン」に対応する文字位置「1」、確信度Crの組(0.9,0.7)(行1603)、
2文字の組「ンデ」に対応する文字位置「2」、確信度Crの組(0.7,0.8)(行1605)、
2文字の組「デッ」に対応する文字位置「3」、確信度Crの組(0.8,0.3)(行1606)、
2文字の組「ック」に対応する文字位置「4」、確信度Crの組(0.3,0.1)(行1607)、および、
2文字の組「クス」に対応する文字位置「5」、確信度Crの組(0.1,0.9)(行1608)が得られる。
【0112】
なお、図6に示されるインデックステーブル190から各文字列に対応する文字位置および確信度Crを効率的に取り出すために、インデックス文字列に含まれる文字の文字コードと、インデックス文字列を含む行が格納されているアドレス(例えば、HDD170上のアドレス)との対応表を用いてもよい。また、このようなアドレスは、2分木探索法を用いて求められてもよい。
【0113】
ステップS304:すべての2文字の組について、ステップS303の処理が行なわれたか否かが判定される。ステップS304における判定結果が「No」である場合には、他の2文字の組についてステップS303の処理が行なわれる。ステップS304における判定結果が「Yes」である場合には、処理はステップS305に進む。
【0114】
ステップS305:すべての2文字の組が所定の順序で並んでいるか否かが判定される。この判定は、ステップS304でそれぞれの2文字の組について得られた文字位置に基づいて行なわれる。具体的には、キーワードのk文字目(kは自然数)を先頭とする2文字の組について得られた文字位置m(mは自然数)が、すべての2文字の組について、「m−k=一定」という関係を満たすならば、すべての2文字の組が所定の順序で並んでいると判定される。
【0115】
すべての2文字の組が所定の順序で並んでいることは、キーワードが文字認識結果中の特定の部分に一致することを示す。その特定の部分とは、キーワードに含まれる各文字が一致する文字認識結果中の部分を包含する部分である。
【0116】
この例では、キーワード「インデックス」が、文字認識結果140(図4)の部分1047または文字認識結果140a(図7)の部分1047aに一致する。
【0117】
このような部分1047または部分1047aの位置は、その部分の先頭の欄の文字位置「1」として特定される。
【0118】
この例では、キーワード「インデックス」から抽出されたすべての2文字の組は、上述した関係を満たすために、「所定の順序で並んでいる」と判定される。
【0119】
ステップS305における判定が「Yes」である場合には、処理はステップS306に進む。ステップS305における判定が「No」である場合には、処理はステップS308に進む。
【0120】
このように、ステップS302〜ステップS305において、CPU110(図1)は、インデックステーブル190(図6)に含まれるインデックス文字列とインデックス文字列に一致する文字認識結果中の部分の位置とに基づいて、キーワードがその文字認識結果中の部分に一致するか否かを判定し、もし一致する場合には、キーワードに一致するその文字認識結果中の部分の位置を特定する位置特定部として機能する。
【0121】
ステップS306:キーワード確信度Kcが算出される。キーワード確信度Kcは、例えば、キーワード「インデックス」から抽出された2文字の組「イン」、「ンデ」、「デッ」、「ック」、「クス」のそれぞれに対応する確信度Crの組の左側の値と、キーワード「インデックス」を構成する最後の2文字の組「クス」に対応する確信度Crの組の右側の値との相加平均として求められる。これは、キーワードに含まれる各文字について定義された確信度の相加平均を求めることと等価である。この例では、キーワード確信度Kc=(0.9+0.7+0.8+0.3+0.1+0.9)/6=0.61となる。
【0122】
なお、キーワード確信度Kcは、相乗平均、メディアン値、または最頻値によって算出されてもよい。キーワード確信度Kcは、2文字の組のそれぞれに対応する確信度Crの組のうち、小さくない方の値だけを用いて算出されてもよい。確信度Crが予め定められた基準値未満の場合には、その確信度Crをキーワード確信度Kcの算出に用いないようにしてもよい。
【0123】
このように、キーワード確信度Kcは、キーワードに含まれる各文字について定義された確信度Crに基づいて算出される。
【0124】
算出されたキーワード確信度Kcは、文字認識結果中の文字位置に対応するオリジナル文書中の位置に、そのキーワードが存在する確率を示す。
【0125】
例えば、ステップS305で、キーワード「インデックス」が、文字認識結果140(図4)の部分1047または文字認識結果140a(図7)の部分1047aに一致すると判定され、このような部分1047または部分1047aの位置が文字位置「1」と特定された場合、文字位置「1」に対応するオリジナル文書中の位置(すなわち、オリジナル文書の先頭)にキーワード「インデックス」が存在する確率は、0.61である。
【0126】
このように、ステップS306において、CPU110は、インデックステーブル190(図6)に含まれる確信度Crに基づいて、キーワードに一致する文字認識結果中の部分の位置に対応するオリジナル文書中の位置にキーワードが存在する確率を示すキーワード確信度Kcを算出する算出部として機能する。
【0127】
ステップS307:キーワード確信度Kcが基準値(所定の値)以上であるか否かが判定される。基準値は、例えば、0.5であり得る。この基準値は、固定値であってもよいし、キーワードに応じて設定されてもよい。例えば、キーワードの文字数に応じて基準値を変更してもよい。
【0128】
この基準値を高くすると、検索ノイズを減らすことができるが、高くしすぎると検索漏れが起こりやすくなる。一般に、キーワードの文字数が多い場合には、基準値を低く設定することにより、誤認識が多い場合にも検索漏れを減らすことが好ましい。キーワードの文字数(キーワードに含まれる文字の数)が多い場合には、基準値を低く設定することによっても検索ノイズはあまり増加しないからである。
【0129】
キーワードに含まれる文字の種類(字種)に応じて基準値を変更してもよい。例えば、キーワードの各文字がカタカナである場合、漢字である場合、漢字とカタカナとの混合である場合、ひらがなである場合のそれぞれについて、基準値を最適に設定することにより、より効果的な検索を行うことができる。
【0130】
あるいは、この基準値は、ユーザによって指定されてもよい。ユーザは、検索漏れを防ぐか、検索ノイズを減少させるかという目的に応じて、適切な基準値を設定し得る。
【0131】
ステップS307における判定が「Yes」である場合には、処理はステップS309に進む。ステップS307における判定が「No」である場合には、処理はステップS308に進む。
【0132】
このように、ステップS305においてキーワードが文字認識結果140または文字認識結果140aの部分に一致するという検索結果が得られた後に、ステップS307が実行され、実際のオリジナル文書にキーワードがあるか否か(検索結果が正当であるか否か)がキーワード確信度Kcに基づいて判定される。ステップS307において、CPU110は、キーワード確信度Kcに基づいて検索結果の正当性を判定する判定部として機能する。
【0133】
ステップS308:キーワードがオリジナル文書中に存在しないと判断される。端末100(図1)のディスプレイには、例えば、「キーワードが見つかりませんでした」というメッセージが表示される。
【0134】
ステップS309:キーワードが検出されたと判断される。検索結果として、検出箇所を示す文字位置と、キーワード確信度Kcとが得られる。検出箇所が複数である場合には、文字位置とキーワード確信度Kcとの組が複数得られる。
【0135】
上述した、キーワードが「インデックス」である例では、検索結果として、文字位置「1」と、キーワード確信度Kc「0.61」とが得られる。
【0136】
検索結果は、例えば、端末100に表示される。検索装置1は、例えば、HDD170に格納された文書画像データ130(および/または、文字認識結果140、140a)を端末100のディスプレイに表示し、そのディスプレイに表示された文書画像データ130(および/または、文字認識結果140、140a)の領域のうちキーワードに対応する領域を強調表示する。強調表示は、例えば、表示される文字の属性(例えば、文字の色や濃度、文字背景の色や濃度、文字の大きさ、文字の太さ、フォント等)を変更することによってなされる。このような属性は、キーワード確信度Kcに応じて変化させてもよい。例えば、キーワード確信度Kcが0.5〜1.0の間を0.1の刻み幅で区分し、各区分に異なる属性を設定して強調表示を行ってもよい。この場合には、ユーザがキーワード確信度Kcの大小を視覚的に把握することができるので、ユーザが検索結果の正当性のさらなる判定を視覚的に、容易に行うことができるという利点が得られる。
【0137】
あるいは、キーワード確信度Kcが高い検出箇所から順に、キーワードに対応する領域を表示してもよい。
【0138】
このようにして、ユーザが検索結果の正当性のさらなる判定を行う場合には、ステップS307において用いられる基準値を低く設定してもよい。
【0139】
あるいは、ステップS307が省略されてもよい。この場合、検索結果の正当性の判定はすべてユーザにより行なわれる。ユーザは、キーワード確信度Kcに基づいて、検索結果の正当性の判定を容易に行うことが可能である。
【0140】
以下、図10に示される文書検索処理により、検索ノイズが抑制される例を説明する。
【0141】
キーワード「ワックス」を指定して、図6に示されるインデックステーブル190を用いて図10に示される文書検索処理を行った場合、ステップS305における判定は「Yes」となり、文字位置「3」が特定される。
【0142】
ステップS306において、キーワード確信度Kc=(0.2+0.3+0.1+0.9)/4=0.38と算出される。
【0143】
キーワード確信度Kcが基準値0.5よりも小さいので、キーワードが存在しないと判断される。
【0144】
キーワード「デンワ」を指定した場合、ステップS305における判定は「Yes」となり、文字位置「3」が特定される。
【0145】
ステップS306において、キーワード確信度Kc=(0.8+0.1+0.2)/3=0.37と算出される。
【0146】
キーワード確信度Kcが基準値0.5よりも小さいので、キーワードが存在しないと判断される。
【0147】
同様に、キーワード「フック」を指定した場合、ステップS305における判定は「Yes」となり、文字位置「3」が特定される。
【0148】
ステップS306において、キーワード確信度Kc=(0.2+0.3+0.1)/3=0.2と算出される。
【0149】
キーワード確信度Kcが基準値0.5よりも小さいので、キーワードが存在しないと判断される。
【0150】
このように、本発明の検索装置1によれば、オリジナル文書中にキーワードが存在しないにもかかわらず、キーワードが検出されることを抑制する、すなわち、検索ノイズを抑制することが可能になる。
【0151】
本発明の文書検索処理は、コンピュータ上のソフトウェアによって実現されることに限定されない。本発明の文書検索処理をハードウェアによって実現してもよいし、ソフトウェアとハードウェアの組み合わせによって実現してもよい。
【0152】
なお、上述した実施の形態では、日本語の文書を例に取り説明した。しかし、本発明の適用は、日本語の文書に限定されない。他の任意の文書(例えば、中国語の文書、英語の文書、韓国語の文書)に本発明を適用することも可能である。
【0153】
【発明の効果】
本発明によれば、インデックステーブルに含まれる確信度に基づいて、キーワードに一致する文字認識結果中の部分の位置に対応するオリジナル文書中の位置にキーワードが存在する確率を示すキーワード確信度が算出される。従って、キーワード確信度に基づいて、検索結果の正当性を判定することが容易になる。
【0154】
本発明の検索装置は、インデックステーブルを用いるので、高速な検索を行うことが可能である。
【図面の簡単な説明】
【図1】本発明の検索装置1の構成を示すブロック図
【図2】オリジナル文書中の文字を認識することによって得られる文字認識結果からキーワードを検索するために、検索装置1によって実行される処理の流れを示す図
【図3】オリジナル文書1310の一例を示す図
【図4】オリジナル文書1310に対して文字認識処理を行うことにより得られる文字認識結果140の一例を示す図
【図5A】インデックステーブル作成処理の手順を示すフローチャート
【図5B】候補文字−確信度テーブル1501の例を示す図
【図6】インデックステーブル作成処理によって作成されたインデックステーブル190の一例を示す図
【図7】1つの文字位置に対する候補文字が1つである文字認識結果140aの一例を示す図
【図8A】図7に示される文字認識結果140aからインデックステーブルを作成する処理の手順を示すフローチャート
【図8B】類似文字−確信度テーブル1801の例を示す図
【図9】確信度テーブル150の一例を示す図
【図10】文書検索処理の手順を示すフローチャート
【図11】従来技術によって、オリジナル文書中に存在する可能性のある複数の文字列をインデックス文字列とてし登録したインデックステーブル1901の一例を示す図
【符号の説明】
1 検索装置
100 端末
110 CPU
120 画像入力機器
130 文書画像データ
140 文字認識結果
170 HDD
180 ワークメモリ
190 インデックステーブル
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a search device, a recording medium, and a program for searching for a keyword from a character recognition result obtained by recognizing a character in an original document using an index table.
[0002]
[Prior art]
In recent years, with the spread of the Internet, search technology that extracts necessary information from a large amount of information existing on a network is regarded as important. In particular, many systems for searching for specific keywords from text data have already been provided. In such a search, it is required to perform an accurate and high-speed search from a large amount of text documents.
[0003]
In order to perform a high-speed search, a technique for searching for a specific keyword from text data using an index table is known. The index table defines an index character string including a predetermined number of characters (for example, two characters) and a position of a portion in text data that matches the character string.
[0004]
When searching for a keyword from a set of character codes (character recognition results) obtained by character recognition of characters in an original document (paper document), character recognition errors (false recognition) must be considered. I must. This is because if there is an error in character recognition, the character represented by the character code can be different from the character written in the original document. Misrecognition means that characters written in the original document are not correctly converted into character codes. Such misrecognition occurs due to, for example, fading, tilting, and dirt of characters printed on paper.
[0005]
For example, if a character string “Inu” exists at a position in the original document and the character “nu” in the character string is erroneously recognized as “su”, the character recognition result corresponding to the character string “Inu” A character string “chair” exists at the position of the inner part. As a result, the index character string “chair” and its position are registered in the index table created from the character recognition result. Therefore, even if the keyword “dog” is searched using this index table, the keyword cannot be detected at that position in the character recognition result. As described above, there is a problem of “missing search” in which a keyword cannot be detected at a certain position even though the keyword exists at a certain position in the original document.
[0006]
As a conventional technique for dealing with the search omission problem, a plurality of candidate characters may be prepared as a character recognition result for one character in the original document, and may exist in the original document based on the plurality of candidate characters. A technique for registering a plurality of character strings as an index character string in an index table is known. The keyword search is performed using this index table. Such a technique is disclosed in, for example, “Information Processing Method and Apparatus” in Japanese Patent Laid-Open No. 9-16619.
[0007]
FIG. 11 shows an example of an index table 1901 in which a plurality of character strings that may exist in an original document are registered as index character strings according to the prior art. In the example shown in FIG. 11, the index table 1901 is obtained by character recognition of an original document including a character string “using an index... In the index table 1901, the index character string “I” and the index character string “In” are both registered as existing at the character position “1”, which is the same position in the character recognition result (rows 1911 and 1911). Line 1912).
[0008]
By using the index table 1901 shown in FIG. 11, the keyword “index” can be detected. Hereinafter, processing for searching for the keyword “index” using the index table 1901 shown in FIG.
[0009]
First, a character string composed of two adjacent characters included in a keyword is generated. From the keyword “index”, five character strings “IN”, “NDE”, “DET”, “Cuck”, and “X” are generated.
[0010]
Next, these character strings are searched from the index table 1901. The character strings “IN”, “NDE”, “DET”, “Cook”, and “CUS” have character positions “1”, “2”, “3”, “4” and “4” in the character recognition result respectively. “5” is indicated (line 1912, line 1919, line 1915, line 1914 and line 1913).
[0011]
From the positional relationship of these character positions, it is determined that the keyword “index” exists in the character recognition result.
[0012]
In this way, according to the conventional technique using the index table in which a plurality of character strings that may exist in the original document are registered as index character strings, the problem of search omission can be avoided.
[0013]
[Problems to be solved by the invention]
According to such a conventional technique, there is a problem that search noise increases. Search noise means that a keyword is detected even though the keyword does not exist in the original document. For example, when keywords “denwa” and “hook” are searched using the index table 1901 shown in FIG. 11, these keywords are detected at the character position “3”. In order to determine whether the search result is valid, the user must compare the original document with the search result.
[0014]
In order to prevent the problem of search omission, as the number of candidate characters obtained as a character recognition result for one character increases, such search noise increases, and the burden on the user to determine whether the search result is valid or not. Will increase.
[0015]
The present invention has been made in view of such problems, and provides a search device, a recording medium, and a program that can perform a high-speed search and can easily determine the validity of a search result. The purpose is to do.
[0016]
[Means for Solving the Problems]
The search device of the present invention recognizes each of the characters in the original document, and uses a result of character recognition of the original document having at least one candidate character corresponding to each character to use a plurality of characters. The index table is an index configured by a character string combining the candidate characters corresponding to each of a plurality of characters constituting the character string existing in the original document. A certainty defined in advance as the probability that each candidate character exists in the original document for each character string, the position of the index character string in the original sentence, and each candidate character included in the index character string Before the same number of characters as the index string It is determined whether a keyword character string exists in the index table, and if it exists, based on the position of the index character string that matches the keyword character string, the keyword character string in the original sentence A keyword certainty factor defined as a probability that the keyword exists at the identified position based on a position identifying unit that identifies the position of the keyword and a certainty factor of an index character string that matches the character string of the keyword A calculation unit; A determination unit that determines validity of a search result based on the keyword certainty factor; Thus, the above object is achieved.
[0018]
The determination unit may determine that the search result is valid when the keyword certainty factor is equal to or greater than a predetermined value.
[0019]
The predetermined value may be set according to at least one of the number of characters included in the keyword and the type of character included in the keyword.
[0020]
Said An index table creation unit that creates an index table further includes the index table creation unit, When a plurality of candidate characters are generated based on the character recognition result, each of the candidate characters generated corresponding to each character in the character string of the original document The index character string may be generated by combining.
[0021]
Said An index table creation unit that creates an index table further includes the index table creation unit, One candidate character is generated for each character based on the character recognition result, and a similar character similar to each generated candidate character is generated based on the certainty factor, and a character string of the original document The combination of the candidate character corresponding to each character and the similar character, or the combination of the similar characters The index character string may be generated.
[0022]
The recording medium of the present invention uses a character recognition result of the original document having at least one candidate character corresponding to each character by recognizing each character in the original document, using an index table, and a plurality of characters. A computer-readable recording medium recording a program for causing a computer to execute a search process for searching for a keyword comprising the index table, wherein the index table includes a plurality of characters constituting a character string existing in the original document. For each candidate character included in the index character string, an index character string composed of a character string that combines the corresponding candidate characters, a position of the index character string in the original sentence, and the original document Each said candidate character in it And a certainty factor that is defined in advance as a probability of existence, and the search process determines whether a character string of the keyword having the same number of characters as the index character string exists in the index table. Determining the position of the keyword character string in the original document based on the position of the index character string that matches the keyword character string; and the confidence of the index character string that matches the keyword character string. Calculating a keyword certainty factor defined as a probability that the keyword exists at the specified position based on the degree, and determining a validity of a search result based on the keyword certainty factor Records the program to be This achieves the above object.
[0023]
The program of the present invention recognizes each of the characters in the original document by using an index table from the character recognition result of the original document having at least one candidate character corresponding to each character. Search process to search for By computer An index character string composed of a character string obtained by combining the candidate characters corresponding to each of a plurality of characters constituting the character string existing in the original document. A position of the index character string in the original sentence and a certainty factor defined in advance as a probability that each candidate character exists in the original document for each candidate character included in the index character string. And the search process determines whether a character string of the keyword having the same number of characters as the index character string exists in the index table, and if it exists, an index character string that matches the character string of the keyword is determined. Based on the position, the keyword in the original sentence. A keyword certainty factor defined as a probability that the keyword exists at the identified position based on the step of identifying the position of the character string and the certainty factor of the index character string that matches the character string of the keyword And steps to Determining the validity of a search result based on the keyword certainty factor; This achieves the above object.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
In this specification, a character is not limited to a character used in a specific language system, and refers to any symbol including numbers and symbols (for example, “)” and “◎”). Such a symbol is assigned a code (character code) for electronically expressing the symbol.
[0025]
FIG. 1 shows a configuration of a search device 1 of the present invention. The search device 1 searches for a keyword from a character recognition result obtained by recognizing a character in the original document.
[0026]
The search device 1 includes, as its constituent elements, a terminal 100, a CPU 100 that executes document registration processing and document search processing, an image input device 120 that inputs a document as image data, a work memory 180, and a hard disk (HDD) 170. With. These components are connected to each other via an internal bus 1101. Alternatively, these components may be connected to each other via any type of network.
[0027]
The terminal 100 is an input / output device including a keyboard and a CRT, for example. The terminal 100 is used, for example, for a user to specify a process executed by the search device 1 or to display a search process result executed by the search device 1 to the user.
[0028]
The HDD 170 stores a document registration program 1103, a document search program 1104, a character recognition pattern dictionary 160, a certainty factor table 150, and document data 1102. Any type of memory may be used as the HDD 170.
[0029]
All or part of the document registration program 1103 and the document search program 1104 may be provided to the search device 1 via any type of communication line (not shown) or broadcast, or any type of computer-readable program. The search apparatus 1 may be provided in a form recorded on a simple recording medium. Such a recording medium is, for example, a DVD-ROM, a CD-ROM, a flexible disk, or the like. The document registration program 1103 and the document search program 1104 recorded on such a recording medium can be installed in the search device 1 by a reading device such as a disk drive.
[0030]
FIG. 2 shows a flow of processing executed by the search device 1 in order to search for a keyword from a character recognition result obtained by recognizing a character in the original document.
[0031]
When the user instructs the start of document registration processing from the terminal 100 (FIG. 1), the document registration program 1103 stored in the HDD 170 is loaded into the work memory 180. The CPU 110 can access the work memory 180 at high speed. When the CPU 110 executes the document registration program 1103, document registration processing is performed.
[0032]
The document registration process includes a character recognition process and an index table creation process. The character recognition process and the index table creation process are respectively performed by the CPU 110 executing a character recognition program (not shown) and an index table creation program (not shown) that are part of the document registration program. .
[0033]
In the character recognition process, the original document is read by the image input device 120, and image data (document image data) 130 of the original document is generated. The document image data 130 is stored in the HDD 170 (FIG. 1). Character recognition processing is performed based on the similarity between the shape represented by the partial area in the document image data 130 and the character shape registered in the character recognition pattern dictionary 160 (FIG. 1). A result of the character recognition process is stored in the HDD 170 as a character recognition result 140.
[0034]
Next, in the index table creation process, an index table 190 is created from the character recognition result 140. The index table 190 is stored in the HDD 170. In the index table creation process, the certainty factor table 150 (FIG. 1) can be referred to.
[0035]
Document image data 130, character recognition result 140, and index table 190 stored in HDD 170 constitute at least a part of document data 1102 (FIG. 1).
[0036]
When the user inputs a keyword from the terminal 100 and instructs the start of the document search process, the document search program 1104 stored in the HDD 170 is loaded into the work memory 180. When the CPU 110 executes the document search program 1104, document search processing is performed. In the document search process, a keyword is searched from the character recognition result using the index table 190.
[0037]
Once the index table 190 is generated by the document registration process, the keyword search is performed with reference to the index table 190. Even if the keyword to be searched changes, it is not necessary to create a new index table 190.
[0038]
Note that it is not essential that all processing shown in FIG. For example, the document registration process may be performed by a device different from the search apparatus 1, and only the document search process using the generated index table 190 may be performed by the search apparatus 1.
[0039]
FIG. 3 shows an example of the original document 1310. The original document 1310 includes a character string “search method using an index. From document data”. The original document is, for example, a document in the form of paper on which a character string is printed. The original document may be a document written in a sign, a signboard, a bulletin board, or the like.
[0040]
FIG. 4 shows an example of a character recognition result 140 obtained by performing character recognition processing on the original document 1310. The character recognition result 140 includes a character position 1042 and a candidate character 1043. In FIG. 4, the numbers in parentheses attached to each candidate character indicate the reliability Rr for each candidate character. The character recognition result 140 is the largest character recognition result of each character “I”, “N”, “De”, “T”, “K”, “S” included in the original document 1310 (FIG. 3). The candidate characters for which the reliability Rr is obtained are “i”, “shi”, “te”, “so”, “ta”, and “su”, respectively.
[0041]
The character recognition process can be performed according to an arbitrary algorithm. The character recognition process can be executed, for example, according to an algorithm in which the document image data 130 is cut out in character units, and the cut out image data (partial area) in character units is converted into character codes.
[0042]
When converting from a partial area to a character code, the shape represented by the partial area is compared with the shape of the character registered in the character recognition pattern dictionary 160 (FIG. 1). Characters determined to be similar in shape based on a predetermined determination criterion are obtained as candidate characters. In this way, the partial area is converted into the character code of the candidate character. A plurality of candidate characters corresponding to one partial region may be obtained.
[0043]
Candidate characters are considered to be highly likely to match the characters written in the part corresponding to the partial area of the original document because the shape and the shape represented by the partial area are similar. Means.
[0044]
Each column (for example, the column 1044) in the character recognition result 140 corresponds to a partial region in the document image data 130. That is, it corresponds to a portion of the original document 1310 (for example, the portion 1311 shown in FIG. 3). Further, since the partial area in the document image data 130 is cut out from the document image data in units of one character, the partial area is one character of the original document 1310 (for example, a character written in the part 1311 shown in FIG. 3). "Ku").
[0045]
Candidate characters “T”, “U”, “W”, and “K” shown in column 1044 can match the characters written in the corresponding portion of original document 1310 (portion 1311 shown in FIG. 3). It is a character that can be regarded as having high character.
[0046]
A character position 1042 indicates the position of the candidate character in the character recognition result 140. For example, the character position “5” shown in the column 1044 indicates that the position of the column 1044 (part in the character recognition result) in the character recognition result 140 is the “fifth” position.
[0047]
As a method for expressing the character position 1042, any method may be used as long as the portion in the original document 1310 corresponding to the candidate character can be specified. As described above, each column in the character recognition result corresponds to a partial area of the document image data 130. Therefore, the character position 1042 may be represented by the position in the character recognition result of the column including the candidate character, or may be represented by the position in the document image data 130 of the partial area of the document image data 130 corresponding to the column. May be.
[0048]
For example, the character position 1042 may be represented by the document name of the original document, the page number, the line number, and the position (number of characters) from the beginning of the line, or the coordinates in the document image data. Or may be represented by an address.
[0049]
The reliability Rr indicates the probability of character recognition, that is, the correct probability. The reliability Rr takes a value from 0 to 1, and the greater the value, the greater the probability. For character recognition, for example, a neural network, vector quantization, or template matching can be employed.
[0050]
When a neural network method is adopted for character recognition, characters corresponding to at least one neuron whose output value is equal to or greater than a certain standard among characters registered in the character recognition pattern dictionary 160 are obtained as candidate characters. . The correspondence relationship between the neuron output value and the correct answer probability is obtained in advance, and the reliability Rr can be obtained from the neuron output value corresponding to each candidate character based on the correspondence relationship.
[0051]
In both vector quantization and template matching methods, the distance in the feature amount space between the shape represented by the partial region of the document image data 130 and the character shape registered in the character recognition pattern dictionary 160 is obtained. This is a technique for performing character recognition. One shape is represented as one representative point in the feature amount space. When these methods are employed, at least one character whose distance in the feature amount space is equal to or less than a reference among characters registered in the character recognition pattern dictionary 160 is obtained as a candidate character. A correspondence relationship between the distance in the feature amount space and the correct answer probability is obtained in advance, and the reliability Rr can be obtained from the distance in the feature amount space corresponding to each candidate character based on the correspondence relationship.
[0052]
Regardless of which method is used for character recognition, the reliability Rr reflects the similarity between the shape represented by the partial area of the document image data 130 and the character shape registered in the character recognition pattern dictionary 160. To do.
[0053]
Information other than shape similarity may be considered as the reliability Rr. For example, the deviation SR of the size of the partial area that is the target of character recognition in the document image data 130, the deviation LR of the relative position of the partial area in the line, and the like may be considered.
[0054]
The deviation SR of the size of the partial area is defined as, for example, a deviation of the size of the partial area from the average value of the sizes of all partial areas (each corresponding to one character) in the document image data 130. Can be done. By obtaining a correspondence relationship between the deviation SR and the correct recognition probability of character recognition in advance, the reliability Rr can be corrected so that the reliability Rr becomes small when the deviation SR is large.
[0055]
The relative position deviation LR of the partial areas is obtained by, for example, obtaining the average value of the positions in the direction perpendicular to the lines for all the partial areas (each corresponding to one character) in the same line in the document image data. It can be defined as the deviation from this average value of the position in the direction perpendicular to the rows of the partial areas. By obtaining a correspondence relationship between the deviation LR and the correct probability of character recognition in advance, the reliability Rr can be corrected so that the reliability Rr becomes small when the deviation LR is large.
[0056]
Thus, the reliability Rr can be set more appropriately by correcting the reliability Rr according to the deviation SR and / or the deviation LR.
[0057]
An index table 190 is created from the character recognition result 140 shown in FIG. 4 (index table creation processing).
[0058]
FIG. 5A shows a procedure of index table creation processing. Hereinafter, the procedure of the index table creation process will be described in detail.
[0059]
Step S401: It is determined whether or not the reliability Rr of the candidate character of interest in the character recognition result 140 is greater than or equal to a reference value. The reference value may be “0.05”, for example. If the determination result in step S401 is “Yes”, the process proceeds to step S402. If the determination result in step S401 is “No”, the process proceeds to step S404.
[0060]
When the character recognition result 140 (FIG. 4) is obtained by the character recognition process, only the candidate characters whose reliability Rr is equal to or higher than the reference value may be included in the character recognition result 140. In that case, the process in step S401 may be omitted.
[0061]
Step S402: The certainty factor Cr of the candidate character is calculated. The certainty factor Cr is calculated by, for example, (Equation 1) based on the reliability Rr for each candidate character.
[0062]
[Expression 1]
Confidence level Cr = reliability level Rr for candidate character × characteristic coefficient Kr
The character-specific coefficient Kr is defined in advance for each character (for example, “I”). The character-specific coefficient Kr depends on the appearance probability of the character in a normal document. Each character has a different appearance probability in a normal document. For example, in a general Japanese document, the character “ゐ” has a lower appearance probability than the character “ru”. As described above, the character-specific coefficient Kr is set low for characters having a low appearance probability. On the contrary, the character-specific coefficient Kr is set to be high for characters having a high appearance probability. The appearance probability for each character can be statistically obtained in advance for a large number of general documents.
[0063]
The certainty factor Cr for each candidate character is obtained by multiplying the reliability Rr for the candidate character by the character-specific coefficient Kr for the same character as the candidate character (character with the matching character code). The certainty factor Cr calculated in this way indicates the probability that the same character as the candidate character exists in a specific part in the original document. Such a specific portion is a portion in the original document corresponding to the column (the portion in the character recognition result) including the candidate character in the character recognition result 140 (FIG. 4).
[0064]
However, the certainty factor Cr is not necessarily a statistical probability itself. The certainty factor Cr may be a value obtained by normalizing a statistical probability according to a predetermined criterion. Such a predetermined criterion may be any criterion as long as the certainty factor Cr of the candidate character retains the property that the same character as the candidate character indicates the probability that the character exists in a specific part in the original document. The certainty factor Cr may be expressed by an integer expression instead of a real number expression. Alternatively, the certainty factor Cr may be represented by a symbol that indicates the level of the certainty factor Cr stepwise (for example, ◯: high, Δ: medium, x: low).
[0065]
When the appearance probability for each character is unknown, the character-specific coefficient Kr may be constant for all characters. Further, a character-specific coefficient Kr may be set for each character type (kanji, katakana, hiragana).
[0066]
Step S403: The candidate character and the certainty factor Cr obtained in step S402 are registered in the candidate character-confidence table.
[0067]
FIG. 5B shows an example of the candidate character-credibility table 1501. The candidate character and the certainty factor Cr are registered in the candidate character-confidence table 1501 for each character position 1042 (FIG. 4).
[0068]
Referring to FIG. 5A again, the description of the index table creation process will be continued.
[0069]
Step S404: It is determined whether or not the processing of steps S401 to S403 has been performed for all candidate characters at all character positions. If the determination result in step S404 is “Yes”, the process proceeds to step S405. If the determination result in step S404 is “No”, the processing from step S401 is performed on other candidate characters.
[0070]
Step S405: An index table is created from candidate characters registered at adjacent character positions in the candidate character-confidence table 1501 (FIG. 5B). The index table defines an index character string, a character position, and a certainty factor Cr.
[0071]
The index character string is generated by combining candidate characters registered at adjacent character positions in the candidate character-confidence table 1501 (FIG. 5B). For example, by combining the candidate character “I” registered at the character position “1” of the candidate character-confidence table 1501 with the candidate character “B” registered at the adjacent character position “2”, the index character The column “Ishi” is generated.
[0072]
FIG. 6 shows an example of the index table created by the index table creation process. A column 1610 of the index table 190 shows an index character string. A column 1611 indicates the character position of the first candidate character included in the index character string. A column 1612 shows a set of certainty factors Cr defined for each of the candidate characters included in the index character string.
[0073]
The row 1602 included in the index table 190 has a position of “1” in the character recognition result 140 matching the index character string “Ishi”, and is defined for the character “I” of the index character string “Ishi”. The certainty factor Cr is 0.9, and the certainty factor Cr defined for the character “I” in the index character string “Ishi” is 0.8.
[0074]
A set of certainty factors Cr defined for each candidate character included in the index character string “Ishi” (line 1602) is obtained as a set of certainty factors Cr calculated in step S402 (FIG. 5A) for each candidate character. . As a set of certainty factors Cr, a set of values obtained by multiplying the certainty factor Cr calculated in step S402 (FIG. 5A) for each candidate character by a coefficient for each index character string may be used. The coefficient for each index character string can be set low, for example, for an index character string that has a low probability of appearing in a general document. For example, the character string “Wo” and the character string “ヰ ヰ” have a low probability of appearing in a general Japanese document. For such an index character string, the coefficient for each index character string can be set low.
[0075]
Generating an index character string by combining candidate characters registered at adjacent character positions in the candidate character-confidence table 1501 (FIG. 5B) indicates that a plurality of fields shown in the character recognition result 140 (FIG. 4) are displayed. Of these, it is equivalent to combining candidate characters included in each of a plurality of adjacent (continuous) columns (for example, the column 1045 and the column 1046).
[0076]
Thus, in step S401 to step S405 shown in FIG. 5A, the CPU 110 (FIG. 1) functions as an index table creation unit that creates the index table 190.
[0077]
The index table 190 is created by registering all combinations of candidate characters registered at adjacent character positions in the candidate character-confidence table 1501 shown in FIG. 5B as index character strings.
[0078]
However, when there are overlapping combinations in all combinations of candidate characters registered at adjacent character positions in the candidate character-confidence table 1501, the index table 190 includes a plurality of character positions for one index character string. And a set of certainty factors Cr are registered. For example, the index character string “NW” is generated from the candidate characters “N” and “W” registered in the character positions “2” and “3” of the candidate character-confidence table 1501, and the character positions “4” and “4” The index character string “NW” is also generated from the candidate characters “N” and “W” registered in “5”. In this case, for one index character string “NW”, the character position 2, confidence factor Cr (0.7, 0.2) and character position 4, confidence factor Cr (0.1, 0.2) are index tables. 190 is registered (line 1604).
[0079]
The number of characters included in the index character string is determined in advance. In the example shown in FIG. 6, the number of characters included in the index character string is “2”. The number of characters included in the index character string can be any natural number. However, in general, the number of characters included in the index character string is preferably 2 or more. This is because if the number of characters included in the index character string is 1, the number of character positions and certainty factors Cr registered for one index character string increases, and the search cannot be performed at high speed.
[0080]
The index character strings in the index table 190 are preferably ordered according to a predetermined order to facilitate searching.
[0081]
The index table 190 is created using a plurality of candidate characters for one character position in the character recognition result 140 shown in FIG. As a result, the index table 190 includes a plurality of index character strings corresponding to the same character position. Therefore, a plurality of index character strings can match one part of the character recognition result. For example, the index character string “Ishi” shown in the row 1602 of the index table 190 and the index character string “in” shown in the row 1603 of the index table 190 are both character recognitions indicated by the character position “1”. It matches the portion in the result 140 (the portion including the column 1045 and the column 1046). This can reduce search omissions.
[0082]
In this way, the index character string and the character recognition result portion match that each character included in the index character string is one of the consecutive portions of the character recognition result (adjacent column shown in FIG. 4). Includes the concept that it is the same as one of at least one candidate character included in (character code is equal).
[0083]
An index table including a plurality of index character strings corresponding to the same character position, such as the index table 190, can also be created from a character recognition result in which there is one candidate character for one character position.
[0084]
FIG. 7 shows an example of a character recognition result 140a in which there is one candidate character for one character position. The character recognition result 140a differs from the character recognition result 140 shown in FIG. 4 in that there is one candidate character for one character position. The character recognition result 140a indicates that the characters “I”, “N”, “De”, “T”, “K”, “S” included in the original document 1310 (FIG. 3) are “I”, “ This indicates that “SHI”, “TE”, “SO”, “TA”, and “SU” are recognized. The characters “n”, “de”, “t”, and “ku” included in the original document 1310 are erroneously recognized.
[0085]
FIG. 8A shows a procedure of processing for creating an index table (index table creation processing) from the character recognition result 140a shown in FIG.
[0086]
Step S501: With reference to the certainty factor table, a pair of similar characters and certainty factor Cr is obtained from one set of candidate characters and reliability Rr for one character position of character recognition result 140a. A plurality of pairs of similar characters and certainty factors Cr may be obtained. The process of step S501 is performed for each character position. The certainty factor table will be described later with reference to FIG.
[0087]
Step S502: It is determined whether or not the certainty factor Cr of the similar character is greater than or equal to a predetermined reference value. The predetermined reference value is, for example, 0.05. If the determination result in step S502 is “Yes”, the process proceeds to step S503. If the determination result in step S502 is “No”, the process proceeds to step S504.
[0088]
Step S503: Similar characters and the certainty factor Cr obtained in step S501 are registered in the similar character-confidence table.
[0089]
FIG. 8B shows an example of the similar character-credibility table 1801. The similar character and the certainty factor Cr are registered in the similar character-confidence table 1801 for each character position 1042 (FIG. 7).
[0090]
With reference to FIG. 8A again, the description of the index table creation processing will be continued.
[0091]
Step S504: It is determined whether or not the processes in steps S502 to S503 have been performed for candidate characters at all character positions. If the determination result in step S504 is “Yes”, the process proceeds to step S505. If the determination result in step S504 is “No”, the processing from step S502 is performed on other similar characters.
[0092]
Step S505: An index table is created from similar characters registered at adjacent character positions in the similar character-confidence table 1801 (FIG. 8B). The index character string is generated by combining similar characters registered at adjacent character positions in the similar character-credibility table 1801 (FIG. 8B). This process is the same as the process of creating the index table 190 (FIG. 6) from the candidate character-confidence table 1501 (FIG. 5B) in step S405 shown in FIG. 5A.
[0093]
The generated index table is the same as the index table 190 shown in FIG. For example, in the row 1602 of the index table 190, a column 1611 indicates the character position of the first similar character “I” included in the index character string “Ishi”. A column 1612 shows a set (0.9, 0.8) of certainty factors Cr defined for each of the similar characters included in the index character string “Ishi”.
[0094]
FIG. 9 shows an example of the certainty factor table 150. FIG. 9 shows only the portion related to the candidate character “si” in the certainty factor table 150.
[0095]
For example, when one candidate character “shi” and reliability Rr “0.9” are obtained as a character recognition result, the certainty factor table 150 is similar character “n” and certainty factor Cr “0.2”. , The similar character “shi” and the certainty factor Cr “0.8” are obtained. The similar character “n” and the similar character “si” are characters having the same or the same character shape as the candidate character “si”.
[0096]
The fact that the similar characters for the candidate character “si” are “n” and “si” indicates that when one candidate character “si” is obtained as a character recognition result, the similar character “ "Or a similar character" shi "is likely to be written.
[0097]
The certainty factor table 150 performs character recognition on an original document in which a large number of characters are written in advance, and compares the character recognition result and reliability Rr obtained thereby with characters actually existing in the original document. Can be created. For example, “0.2” of the certainty factor Cr shown in the portion 1811 of the certainty factor table 150 is obtained when character recognition is performed for a character “N” written in various fonts and various print qualities. It can be obtained from the probability that the candidate character “shi” and the reliability Rr0.9 are obtained.
[0098]
The certainty factor table 150 is prepared for all combinations of characters. However, similar characters whose certainty factor Cr is smaller than a predetermined reference need not be registered in the certainty factor table 150. Therefore, the number of similar characters obtained for one candidate character can be limited.
[0099]
When the reliability Rr obtained by character recognition does not match the reliability Rr defined in the certainty table 150 shown in FIG. 9 (for example, the reliability Rr obtained by character recognition is 0.8). The certainty factor Cr of similar characters is calculated by an appropriate method. For example, when the reliability Rr obtained by character recognition is smaller than 0.5, the row of the reliability Rr “0.5” in the certainty factor table 150 is referred to. When the reliability Rr obtained by character recognition is greater than 0.9, the row of the reliability Rr “0.9” in the certainty factor table 150 is referred to. When the reliability Rr obtained by the character recognition is a value between the two reliability levels Rr defined in the certainty degree table 150, the character recognition is performed among the two reliability levels Rr defined in the certainty degree table 150. A row having a value close to the reliability Rr obtained by is referred to.
[0100]
Note that the structure of the certainty factor table 150 is not limited to the structure shown in FIG. The certainty level table 150 may have an arbitrary structure as long as at least one similar character and certainty level Cr group is obtained from the set of candidate characters and the reliability level Rr. For example, assuming that the distribution of the reliability Cr with respect to the reliability Rr is a uniform distribution, the distribution range is expressed by the upper and lower limits of the reliability and the upper and lower limits of the reliability Rr. May be defined in the certainty factor table 150. Alternatively, assuming that the distribution of the reliability Cr with respect to the reliability Rr is a Gaussian distribution, the average value and the variance of the distribution may be defined in the reliability table 150.
[0101]
By executing the index table creation processing shown in FIG. 8A using such a certainty factor table 150, the same character recognition result 140a (FIG. 7) having one candidate character for one character position is the same. An index table 190 (FIG. 6) including a plurality of index character strings corresponding to character positions can be created.
[0102]
The certainty factor table 150 may be omitted when the search device 1 executes the index table creation process according to the procedure shown in FIG. 5A.
[0103]
In this manner, the index table 190 can also be created using a plurality of similar characters that are associated in advance with one candidate character for one character position in the character recognition result 140a shown in FIG. As a result, the index table 190 includes a plurality of index character strings corresponding to the same character position. Therefore, a plurality of index character strings can match one part of the character recognition result. As a result, it is possible to reduce omissions even when erroneous recognition occurs in the character recognition process.
[0104]
However, each character included in the index character string is not necessarily the same as one candidate character included in one of consecutive portions of character recognition results (adjacent columns shown in FIG. 7). For example, the character “N” included in the index character string “IN” shown in the row 1603 of the index table 190 is not the same as one candidate character “SE” included in the column 1046a of the character recognition result 140a (FIG. 7). Absent. However, the character “n” included in the index character string “in” is the same as the similar character “n” previously associated with the candidate character “si” by the certainty factor table 150 (FIG. 9).
[0105]
In this way, the index character string and the character recognition result portion match that each character included in the index character string is one of the consecutive portions of the character recognition result (adjacent column shown in FIG. 4). Including the concept of being the same as one of at least one character previously associated with one candidate character included in the character (equal character code).
[0106]
Next, a process (document search process) for searching for a keyword from a character recognition result using the index table 190 (FIG. 6) will be described.
[0107]
FIG. 10 shows the procedure of the document search process. Hereinafter, each step of the document search process will be described in detail.
[0108]
Step S301: A keyword is input. Hereinafter, a case where the keyword is a character string “index” will be described as an example.
[0109]
Step S302: A set of two consecutive characters (a character string having a length of 2) is extracted from the keyword. In this example, a pair of two characters “IN”, “NDE”, “DET”, “KOK”, and “KUS” are extracted. Note that the length of the extracted character string is set to be equal to the length of the index character string defined in the index table. Therefore, when the length of the index character string is n (n is a natural number), a set of n characters (a character string having a length of n) is extracted from the keyword. In the following description, it is assumed that n = 2.
[0110]
The extracted sets of two characters overlap each other in part. However, a set of two characters may be extracted from the keyword so as not to overlap. For example, a set of two characters “IN”, “DET”, and “KUS” may be extracted from the keyword “index”. However, a set of two characters is extracted from the keyword so that each character included in the keyword is included in at least one of the two sets of extracted characters.
[0111]
Step S303: Referring to the index table 190 (FIG. 6), the character position and the certainty factor Cr corresponding to the set of two characters are extracted. In this example,
A character position “1” corresponding to a two-character set “IN”, a set (0.9, 0.7) of confidence factor Cr (line 1603),
A character position “2” corresponding to a two-character set “Nde”, a set (0.7, 0.8) of confidence Cr (line 1605),
A character position “3” corresponding to a two-character set “de”, a set of confidence factors Cr (0.8, 0.3) (line 1606),
A character position “4” corresponding to a two-character set “Cook”, a set of confidence factors Cr (0.3, 0.1) (line 1607), and
A set (0.1, 0.9) (line 1608) of the character position “5” and the certainty factor Cr corresponding to the two-character set “kus” is obtained.
[0112]
In order to efficiently extract the character position and the certainty factor Cr corresponding to each character string from the index table 190 shown in FIG. 6, the character code of the character included in the index character string and the line including the index character string are displayed. A correspondence table with stored addresses (for example, addresses on the HDD 170) may be used. Such an address may be obtained using a binary tree search method.
[0113]
Step S304: It is determined whether or not the process of step S303 has been performed for all sets of two characters. If the determination result in step S304 is “No”, the process of step S303 is performed for the other two character sets. If the determination result in step S304 is “Yes”, the process proceeds to step S305.
[0114]
Step S305: It is determined whether or not all sets of two characters are arranged in a predetermined order. This determination is made based on the character position obtained for each two-character group in step S304. Specifically, the character position m (m is a natural number) obtained for a set of two characters starting from the k-th character (k is a natural number) of the keyword is “m−k = If the relationship of “constant” is satisfied, it is determined that all sets of two characters are arranged in a predetermined order.
[0115]
The fact that all two character sets are arranged in a predetermined order indicates that the keyword matches a specific part in the character recognition result. The specific portion is a portion including a portion in the character recognition result in which each character included in the keyword matches.
[0116]
In this example, the keyword “index” matches the portion 1047 of the character recognition result 140 (FIG. 4) or the portion 1047a of the character recognition result 140a (FIG. 7).
[0117]
The position of the part 1047 or the part 1047a is specified as the character position “1” in the head column of the part.
[0118]
In this example, it is determined that all sets of two characters extracted from the keyword “index” are “in a predetermined order” in order to satisfy the relationship described above.
[0119]
If the determination in step S305 is “Yes”, the process proceeds to step S306. If the determination in step S305 is “No”, the process proceeds to step S308.
[0120]
As described above, in steps S302 to S305, the CPU 110 (FIG. 1) is based on the index character string included in the index table 190 (FIG. 6) and the position of the portion in the character recognition result that matches the index character string. Then, it is determined whether or not the keyword matches the part in the character recognition result, and if it matches, it functions as a position specifying unit that specifies the position of the part in the character recognition result that matches the keyword.
[0121]
Step S306: The keyword certainty factor Kc is calculated. The keyword certainty factor Kc is, for example, a certainty factor Cr corresponding to each of the two-character sets “IN”, “NDE”, “DET”, “Cuck”, and “CUS” extracted from the keyword “index”. It is obtained as an arithmetic average of the value on the left side of the set and the value on the right side of the set of certainty factors Cr corresponding to the last two character set “kus” constituting the keyword “index”. This is equivalent to obtaining an arithmetic average of the certainty levels defined for each character included in the keyword. In this example, the keyword certainty factor Kc = (0.9 + 0.7 + 0.8 + 0.3 + 0.1 + 0.9) /6=0.61.
[0122]
The keyword certainty factor Kc may be calculated by a geometric mean, a median value, or a mode value. The keyword certainty factor Kc may be calculated using only the smaller value of the certainty factor Cr pairs corresponding to the two character pairs. When the certainty factor Cr is less than a predetermined reference value, the certainty factor Cr may not be used for calculating the keyword certainty factor Kc.
[0123]
Thus, the keyword certainty factor Kc is calculated based on the certainty factor Cr defined for each character included in the keyword.
[0124]
The calculated keyword certainty factor Kc indicates the probability that the keyword exists at a position in the original document corresponding to the character position in the character recognition result.
[0125]
For example, in step S305, it is determined that the keyword “index” matches the portion 1047 of the character recognition result 140 (FIG. 4) or the portion 1047a of the character recognition result 140a (FIG. 7). When the position is specified as the character position “1”, the probability that the keyword “index” exists at the position in the original document corresponding to the character position “1” (that is, at the beginning of the original document) is 0.61. .
[0126]
As described above, in step S306, the CPU 110 determines the keyword at the position in the original document corresponding to the position of the portion in the character recognition result that matches the keyword based on the certainty factor Cr included in the index table 190 (FIG. 6). It functions as a calculation unit that calculates the keyword certainty factor Kc indicating the probability of the presence of.
[0127]
Step S307: It is determined whether or not the keyword certainty factor Kc is greater than or equal to a reference value (predetermined value). The reference value may be 0.5, for example. This reference value may be a fixed value or set according to a keyword. For example, the reference value may be changed according to the number of characters of the keyword.
[0128]
If this reference value is increased, search noise can be reduced. However, if it is too high, search omission is likely to occur. In general, when the number of characters in a keyword is large, it is preferable to reduce the omission of search even when misrecognition is frequent by setting the reference value low. This is because when the number of characters in the keyword (the number of characters included in the keyword) is large, the search noise does not increase so much even if the reference value is set low.
[0129]
The reference value may be changed according to the type of characters (character type) included in the keyword. For example, if each character of the keyword is katakana, kanji, mixed kanji and katakana, or hiragana, the reference value is set optimally for more effective search. It can be performed.
[0130]
Alternatively, this reference value may be specified by the user. The user can set an appropriate reference value according to the purpose of preventing search omission or reducing search noise.
[0131]
If the determination in step S307 is “Yes”, the process proceeds to step S309. If the determination in step S307 is “No”, the process proceeds to step S308.
[0132]
As described above, after a search result is obtained that the keyword matches the character recognition result 140 or the character recognition result 140a in step S305, step S307 is executed to determine whether or not the keyword exists in the actual original document ( Whether the search result is valid) is determined based on the keyword certainty factor Kc. In step S307, the CPU 110 functions as a determination unit that determines the validity of the search result based on the keyword certainty factor Kc.
[0133]
Step S308: It is determined that the keyword does not exist in the original document. For example, a message “Keywords could not be found” is displayed on the display of the terminal 100 (FIG. 1).
[0134]
Step S309: It is determined that a keyword has been detected. As a search result, the character position indicating the detected location and the keyword certainty factor Kc are obtained. When there are a plurality of detection locations, a plurality of sets of character positions and keyword certainty factors Kc are obtained.
[0135]
In the example described above in which the keyword is “index”, the character position “1” and the keyword certainty factor Kc “0.61” are obtained as search results.
[0136]
The search result is displayed on the terminal 100, for example. For example, the search device 1 displays the document image data 130 (and / or the character recognition results 140 and 140a) stored in the HDD 170 on the display of the terminal 100, and the document image data 130 (and / or / displayed on the display). Alternatively, the area corresponding to the keyword is highlighted in the areas of the character recognition results 140 and 140a). The highlighting is performed, for example, by changing the attributes of the displayed characters (for example, the character color and density, the character background color and density, the character size, the character thickness, the font, etc.). Such attributes may be changed according to the keyword certainty factor Kc. For example, the keyword certainty factor Kc between 0.5 and 1.0 may be divided with a step size of 0.1, and different attributes may be set for each division to perform highlighting. In this case, since the user can visually grasp the magnitude of the keyword certainty factor Kc, there is an advantage that the user can easily make a further determination of the validity of the search result visually. .
[0137]
Or you may display the area | region corresponding to a keyword in an order from the detection location with high keyword reliability Kc.
[0138]
In this manner, when the user further determines the validity of the search result, the reference value used in step S307 may be set low.
[0139]
Alternatively, step S307 may be omitted. In this case, all of the determination of the validity of the search result is performed by the user. The user can easily determine the validity of the search result based on the keyword certainty factor Kc.
[0140]
Hereinafter, an example in which search noise is suppressed by the document search process shown in FIG. 10 will be described.
[0141]
When the keyword “wax” is specified and the document search process shown in FIG. 10 is performed using the index table 190 shown in FIG. 6, the determination in step S305 is “Yes”, and the character position “3” is specified. Is done.
[0142]
In step S306, the keyword certainty factor Kc = (0.2 + 0.3 + 0.1 + 0.9) /4=0.38 is calculated.
[0143]
Since the keyword certainty factor Kc is smaller than the reference value 0.5, it is determined that no keyword exists.
[0144]
When the keyword “denwa” is designated, the determination in step S305 is “Yes”, and the character position “3” is specified.
[0145]
In step S306, the keyword certainty factor Kc = (0.8 + 0.1 + 0.2) /3=0.37 is calculated.
[0146]
Since the keyword certainty factor Kc is smaller than the reference value 0.5, it is determined that no keyword exists.
[0147]
Similarly, when the keyword “hook” is designated, the determination in step S305 is “Yes”, and the character position “3” is specified.
[0148]
In step S306, the keyword certainty factor Kc = (0.2 + 0.3 + 0.1) /3=0.2 is calculated.
[0149]
Since the keyword certainty factor Kc is smaller than the reference value 0.5, it is determined that no keyword exists.
[0150]
As described above, according to the search device 1 of the present invention, it is possible to suppress the detection of the keyword even when the keyword does not exist in the original document, that is, to suppress the search noise.
[0151]
The document search process of the present invention is not limited to being realized by software on a computer. The document search processing of the present invention may be realized by hardware, or may be realized by a combination of software and hardware.
[0152]
In the embodiment described above, a Japanese document has been described as an example. However, the application of the present invention is not limited to Japanese documents. The present invention can also be applied to other arbitrary documents (for example, Chinese documents, English documents, Korean documents).
[0153]
【The invention's effect】
According to the present invention, based on the certainty factor included in the index table, the keyword certainty factor indicating the probability that the keyword exists at the position in the original document corresponding to the position of the part in the character recognition result that matches the keyword is calculated. Is done. Therefore, it becomes easy to determine the validity of the search result based on the keyword certainty factor.
[0154]
Since the search device of the present invention uses an index table, it is possible to perform a high-speed search.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a search device 1 according to the present invention.
FIG. 2 is a diagram illustrating a flow of processing executed by the search device 1 to search for a keyword from a character recognition result obtained by recognizing a character in an original document.
FIG. 3 is a diagram showing an example of an original document 1310
4 is a diagram showing an example of a character recognition result 140 obtained by performing character recognition processing on an original document 1310. FIG.
FIG. 5A is a flowchart showing the procedure of index table creation processing;
FIG. 5B is a diagram showing an example of a candidate character-confidence table 1501
FIG. 6 is a view showing an example of an index table 190 created by index table creation processing;
FIG. 7 is a diagram showing an example of a character recognition result 140a in which there is one candidate character for one character position.
FIG. 8A is a flowchart showing a processing procedure for creating an index table from the character recognition result 140a shown in FIG.
FIG. 8B is a diagram showing an example of a similar character-confidence table 1801
FIG. 9 is a diagram illustrating an example of a certainty factor table 150;
FIG. 10 is a flowchart showing a procedure of document search processing.
FIG. 11 is a diagram showing an example of an index table 1901 in which a plurality of character strings that may exist in an original document are registered as index character strings according to a conventional technique.
[Explanation of symbols]
1 Search device
100 terminals
110 CPU
120 Image input device
130 Document image data
140 Character recognition result
170 HDD
180 Work memory
190 Index table

Claims (7)

オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも1つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索装置であって、
前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、
前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文章中における前記キーワードの文字列の位置を特定する位置特定部と、
前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出する算出部と、
前記キーワード確信度に基づいて検索結果の正当性を判定する判定部
を備えた、検索装置。
Retrieval for recognizing a keyword consisting of a plurality of characters from the character recognition result of the original document having at least one candidate character corresponding to each character by recognizing each character in the original document using an index table A device,
The index table includes an index character string composed of a character string combining the candidate characters corresponding to each of a plurality of characters constituting the character string existing in the original document, and the index character in the original sentence. A column position and, for each candidate character included in the index character string, including a certainty factor defined in advance as a probability that each candidate character exists in the original document,
It is determined whether a character string of the keyword having the same number of characters as the index character string exists in the index table, and if present, based on the position of the index character string that matches the character string of the keyword, A position specifying unit for specifying the position of the character string of the keyword in the original sentence;
A calculation unit that calculates a keyword certainty factor defined as a probability that the keyword exists at the specified position based on a certainty factor of an index character string that matches the character string of the keyword;
And a determination unit for determining validity of the search results based on the keyword credibility, retrieval device.
前記判定部は、前記キーワード確信度が所定の値以上である場合に、前記検索結果を正当であると判定する、請求項1に記載の検索装置。  The search device according to claim 1, wherein the determination unit determines that the search result is valid when the keyword certainty factor is equal to or greater than a predetermined value. 前記所定の値は、前記キーワードに含まれる文字の数および前記キーワードに含まれる文字の種類の少なくとも一方に応じて設定される、請求項2に記載の検索装置。  The search device according to claim 2, wherein the predetermined value is set according to at least one of the number of characters included in the keyword and the type of character included in the keyword. 前記インデックステーブルを作成するインデックステーブル作成部をさらに含み、
前記インデックステーブル作成部は、前記文字認識結果による前記候補文字が複数生成される場合に、前記オリジナル文書の文字列におけるそれぞれの文字に対応して生成された前記候補文字のそれぞれ同士を組み合わせることにより、前記インデックス文字列を生成する、請求項1に記載の検索装置。
An index table creating unit for creating the index table;
The index table creation unit, when a plurality of candidate characters are generated based on the character recognition result, by combining each of the candidate characters generated corresponding to each character in the character string of the original document The search device according to claim 1, wherein the index character string is generated.
前記インデックステーブルを作成するインデックステーブル作成部をさらに含み、
前記インデックステーブル作成部は、前記文字認識結果により前記各文字に対して1つの前記候補文字をそれぞれ生成するとともに、生成された前記各候補文字に類似する類似文字を前記確信度に基づいて生成し、前記オリジナル文書の文字列におけるそれぞれの文字に対応する前記候補文字と前記類似文字との組み合わせ、または前記類似文字同士の組み合わせによっても前記インデックス文字列を生成する、請求項1に記載の検索装置。
An index table creating unit for creating the index table;
The index table creation unit generates one candidate character for each character based on the character recognition result, and generates a similar character similar to each generated candidate character based on the certainty factor. The search device according to claim 1, wherein the index character string is also generated by a combination of the candidate character corresponding to each character in the character string of the original document and the similar character or a combination of the similar characters. .
オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも1つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索処理をコンピュータにより実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、
前記検索処理は、
前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文書中における前記キーワードの文字列の位置を特定するステップと、
前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出するステップと、
前記キーワード確信度に基づいて検索結果の正当性を判定するステップと
を包含する、プログラムを記録した記録媒体。
Retrieval for recognizing a keyword consisting of a plurality of characters from the character recognition result of the original document having at least one candidate character corresponding to each character by recognizing each character in the original document using an index table A computer-readable recording medium recording a program for causing a computer to execute processing,
The index table includes an index character string composed of a character string combining the candidate characters corresponding to each of a plurality of characters constituting the character string existing in the original document, and the index character in the original sentence. A column position and, for each candidate character included in the index character string, including a certainty factor defined in advance as a probability that each candidate character exists in the original document,
The search process
It is determined whether a character string of the keyword having the same number of characters as the index character string exists in the index table, and if present, based on the position of the index character string that matches the character string of the keyword, Identifying the position of the keyword string in the original document;
Calculating a keyword certainty factor defined as a probability that the keyword exists at the specified position based on a certainty factor of an index character string that matches the keyword character string;
Including determining the validity of the search results based on the keyword credibility, recording medium recording a program.
オリジナル文書中の文字のそれぞれを認識することによって前記各文字に対応する少なくとも1つの候補文字を有する前記オリジナル文書の文字認識結果から、インデックステーブルを用いて、複数の文字よりなるキーワードを検索する検索処理をコンピュータにより実行させるためのプログラムであって、
前記インデックステーブルは、前記オリジナル文書中に存在する文字列を構成する複数の文字のそれぞれに対応する前記候補文字を組み合わせた文字列によって構成されるインデックス文字列と、前記オリジナル文章中における前記インデックス文字列の位置と、前記インデックス文字列に含まれる各候補文字毎に、前記オリジナル文書中に前記各候補文字がそれぞれ存在する確率として予め定義された確信度とを含み、
前記検索処理は、
前記インデックス文字列と同じ文字数の前記キーワードの文字列が前記インデックステーブルに存在するかを判定し、存在する場合には、そのキーワードの文字列と一致するインデックス文字列の前記位置に基づいて、前記オリジナル文章中における前記キーワードの文字列の位置を特定するステップと、
前記キーワードの文字列に一致するインデックス文字列の確信度に基づいて、前記特定された位置に前記キーワードが存在する確率として定義されるキーワード確信度を算出するステップと、
前記キーワード確信度に基づいて検索結果の正当性を判定するステップと
を包含する、プログラム。
Retrieval for recognizing a keyword consisting of a plurality of characters from the character recognition result of the original document having at least one candidate character corresponding to each character by recognizing each character in the original document using an index table A program for causing a computer to execute processing,
The index table includes an index character string composed of a character string combining the candidate characters corresponding to each of a plurality of characters constituting the character string existing in the original document, and the index character in the original sentence. A column position and, for each candidate character included in the index character string, including a certainty factor defined in advance as a probability that each candidate character exists in the original document,
The search process
It is determined whether a character string of the keyword having the same number of characters as the index character string exists in the index table, and if present, based on the position of the index character string that matches the character string of the keyword, Identifying the position of the keyword string in the original sentence;
Calculating a keyword certainty factor defined as a probability that the keyword exists at the specified position based on a certainty factor of an index character string that matches the keyword character string;
Determining the validity of the search result based on the keyword certainty factor.
JP2001168888A 2000-06-06 2001-06-04 Search device, recording medium, and program Expired - Lifetime JP3669626B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001168888A JP3669626B2 (en) 2000-06-06 2001-06-04 Search device, recording medium, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-168547 2000-06-06
JP2000168547 2000-06-06
JP2001168888A JP3669626B2 (en) 2000-06-06 2001-06-04 Search device, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2002063197A JP2002063197A (en) 2002-02-28
JP3669626B2 true JP3669626B2 (en) 2005-07-13

Family

ID=26593382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001168888A Expired - Lifetime JP3669626B2 (en) 2000-06-06 2001-06-04 Search device, recording medium, and program

Country Status (1)

Country Link
JP (1) JP3669626B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241482A (en) * 2006-03-06 2007-09-20 National Institute Of Information & Communication Technology Data display device and method
JP2009020567A (en) * 2007-07-10 2009-01-29 Mitsubishi Electric Corp Document retrieval device
US20110106814A1 (en) * 2008-10-14 2011-05-05 Yohei Okato Search device, search index creating device, and search system
JP5043074B2 (en) * 2009-07-30 2012-10-10 楽天株式会社 Index generation method
CN102763104B (en) * 2010-02-26 2015-04-01 乐天株式会社 Information processing device, information processing method, and recording medium that has recorded information processing program
US11755659B2 (en) 2018-10-04 2023-09-12 Resonac Corporation Document search device, document search program, and document search method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08180064A (en) * 1994-12-22 1996-07-12 Canon Inc Document retrieval method and document filing device
JPH0934903A (en) * 1995-07-18 1997-02-07 Nri & Ncc Co Ltd File retrieval device
JPH10187751A (en) * 1996-12-24 1998-07-21 Casio Comput Co Ltd Recognition data processor and its program recording medium
JPH11143893A (en) * 1997-11-07 1999-05-28 Matsushita Electric Ind Co Ltd Word collating device
JP3589007B2 (en) * 1998-02-18 2004-11-17 三菱電機株式会社 Document filing system and document filing method

Also Published As

Publication number Publication date
JP2002063197A (en) 2002-02-28

Similar Documents

Publication Publication Date Title
US6944344B2 (en) Document search and retrieval apparatus, recording medium and program
US5664027A (en) Methods and apparatus for inferring orientation of lines of text
JP3452774B2 (en) Character recognition method
JP3919617B2 (en) Character recognition device, character recognition method, program, and storage medium
JP2713622B2 (en) Tabular document reader
JPS61502495A (en) Cryptographic analysis device
JP5508359B2 (en) Character recognition device, character recognition method and program
JPH08305803A (en) Operating method of learning machine of character template set
JPH07200745A (en) Comparison method of at least two image sections
US7099507B2 (en) Method and system for extracting title from document image
US20050027511A1 (en) Language recognition method, system and software
JP3669626B2 (en) Search device, recording medium, and program
JP3599180B2 (en) SEARCH METHOD, SEARCH DEVICE, AND RECORDING MEDIUM
JP3467437B2 (en) Character recognition apparatus and method and program recording medium
JPH0728935A (en) Document image processor
JPH07319880A (en) Keyword extraction/retrieval device
JPH07271921A (en) Character recognizing device and method thereof
JPH09274645A (en) Method and device for recognizing character
JP3985926B2 (en) Character recognition method, character recognition apparatus, document image processing system, and recording medium
JP3115139B2 (en) Character extraction method
JP4328511B2 (en) Pattern recognition apparatus, pattern recognition method, program, and storage medium
JP3151866B2 (en) English character recognition method
JP2977247B2 (en) Inter-character space processing method
JP2931485B2 (en) Character extraction device and method
JP2904517B2 (en) Character recognition device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050324

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: 20050408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050408

R150 Certificate of patent or registration of utility model

Ref document number: 3669626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080422

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100422

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120422

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term