JP4006239B2 - 文書の検索方法および検索システム - Google Patents

文書の検索方法および検索システム Download PDF

Info

Publication number
JP4006239B2
JP4006239B2 JP2002044109A JP2002044109A JP4006239B2 JP 4006239 B2 JP4006239 B2 JP 4006239B2 JP 2002044109 A JP2002044109 A JP 2002044109A JP 2002044109 A JP2002044109 A JP 2002044109A JP 4006239 B2 JP4006239 B2 JP 4006239B2
Authority
JP
Japan
Prior art keywords
search
document
character string
character
extracted
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 - Fee Related
Application number
JP2002044109A
Other languages
English (en)
Other versions
JP2003242171A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002044109A priority Critical patent/JP4006239B2/ja
Priority to US10/370,829 priority patent/US7047238B2/en
Publication of JP2003242171A publication Critical patent/JP2003242171A/ja
Application granted granted Critical
Publication of JP4006239B2 publication Critical patent/JP4006239B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Character Discrimination (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータ装置を用いた文書検索システムや文書管理システムに係わり、特に、紙文書を電子化したイメージ文書の集合を対象として、ユーザが指定した文書に記述されている内容に類似する内容を含む文書の検索を高精度に行なうことのできるようにした文書の登録方法、検索方法および装置並びにそれに用いられるプログラムを格納した記憶媒体に関する。
【0002】
【従来の技術】
オフィスには文書が大量に存在する。近年、業務の効率化を目的として、オフィス内で文書を共有し、その上でユーザが所望する文書を迅速かつ的確に提供できるよう、文書の管理を行なうことが重要である。ワープロソフトなどで作成された電子データに対する文書共有の方法としては、文書管理システムが既に実用化され、高速かつ効率的に所望の文書を検索できる仕組みが提供されている。また、紙文書を共有するシステムとして、紙の文書をスキャナなどで読み取り、イメージデータとして管理するイメージ文書管理システムがある。
【0003】
イメージ文書管理システムにおいては、イメージデータを簡単に登録でき、かつ、蓄積したイメージデータを再利用できる手段が求められる。また、蓄積したイメージデータを再利用するためには、ユーザが所望する情報を含んだイメージデータや電子データを高速かつ効率的に検索する手段が必要不可欠となる。
【0004】
ユーザが所望する情報を含んだ電子データを高速かつ効率的に検索する手段として、ユーザの所望する内容を含んだ文書(以下、種文書と呼ぶ)を例示し、その文書と類似する文書を検索する類似文書検索が実用化されている。
【0005】
イメージデータに対応した類似文書検索の方法は、例えば、特開平8−115330号公報(以下、従来技術1とする)に開示されている。従来技術1では、文書登録時に、紙文書をイメージデータとして読み込み、イメージデータに対して文字認識技術により文字情報を抽出することでテキストデータに変換し、イメージデータと共にテキストデータを登録しておく。さらに、文書検索時は、紙文書をイメージデータとして読み込み、イメージデータに対して文字認識技術により文字情報を抽出することでテキストデータに変換し、さらにテキストデータから該文書を特徴付けるような文字列(以下、特徴文字列とする)を自動抽出し、文書検索を行なっている。
【0006】
文字認識技術により文字情報を抽出する際には、認識誤り文字が発生することが知られているが、従来技術1では、前提として、文書登録時と文書検索時に用いるスキャナとOCR(Optical Character Recognition:光学的文字認識装置)を同一のものを用いることにしており、その前提の元で、生成されるテキストデータの文字認識精度を均質化できるとしている。つまり、検索条件として入力するテキストデータと検索対象となるテキストデータにおける認識誤り文字の出現傾向は同一であり、特徴文字列のミスマッチは起こり得ないとしている。
【0007】
しかし、この前提のもとでは登録を行なうマシンと検索を行なうマシンを全く同一にする必要があることになり、検索を行なう際にも登録用のマシンにわざわざ足を運ぶことに繋がるため、利便性に欠ける。また、仮に同一のスキャナとOCRを用いたとしても、これら文字認識装置は同一文字に対し毎回同じ結果を出力するものではなく、紙文書を読み込む際に生じる文書の傾きあるいは文書内に存在する文字自体が持つ大きさ、鮮明さ、傾き、フォントなどの影響を受け、ある文字に対して認識誤りを起こす場合と正しく認識される場合がある。
【0008】
例えば、イメージデータ中に存在する「E」という文字に対して、OCRは通常「E」という文字であるとの文字認識結果を出力するが、傾いた文字や不鮮明な文字、紙文書の汚れなどによる品質の劣化が生じると、同一のOCRであっても「F」や「B」、「Σ」、「L」、「Γ」といった文字であると誤って認識することも多い。このことから、種となる文書もしくは検索対象のどちらか一方に認識誤り文字が存在し、もう一方に正しく認識された文字が存在する場合、特徴文字列がマッチせず、検索漏れが発生することがある。
【0009】
さらに、種文書としてユーザ自ら自然文をキーボードから入力した場合、種文書の設定に用いたスキャナと検索対象の文書に用いたスキャナが異なっていた場合あるいは種文書の設定に用いたOCRと検索対象の文書に用いたOCRが異なっていた場合には、従来技術1での前提が成立しない。このため、種文書中に存在する特徴文字列と検索対象の文書内に存在する特徴文字列が異なるので検索漏れが発生することがある。
【0010】
例えば、「サッカー日本代表、ブラジルと対戦」という紙の文書が存在し、OCRにより「ナッカー日本代表、ブラジル仁対戦」と文字認識されたとする。また、この文字認識結果から「ナッカー」「日本」「代表」「ブラジル」「仁」といった特徴文字列が抽出されるものとする。このとき、検索対象の文書中に「サッカー」が「ナッカー」と認識誤りを起こしている文書は検索できるが、たまたま正しく「サッカー」と認識されている文書や「サソカー」と認識誤りを起こしている文書は検索対象外となり、検索漏れが起こる。
【0011】
さらに、「と」という文字が「仁」と認識誤りを起こしているために「日本を代表する古墳の仁徳天皇陵」といった検索ユーザにとって不必要な文書まで検索してしまう。さらに、ユーザ自身が検索の種となる文書として「サッカー日本代表、ブラジルと対戦」と入力した場合には、「ナッカー」と認識誤りを起こしている文書は検索されない。
【0012】
つまり、実際には検索条件における特徴文字列もしくは種文書から抽出された特徴文字列と検索対象の文書に存在する特徴文字列に文字認識によるギャップが存在し、従来技術1ではそのギャップを埋める処理が存在しないため、特徴文字列のミスマッチが生じ、検索精度が劣化する。
【0013】
また、検索条件における特徴文字列と検索対象の文書中に存在する特徴文字列との文字認識によるギャップを埋める検索方法としては、例えば、特開平4−158478号公報(以下、従来技術2とする)では、認識誤りの傾向を予め学習しておき、その学習結果を検索時に用いることで検索対象となる文書に存在する認識誤り文字を許容し、人手による校正作業なしで高精度な全文検索を実行できる。なお、全文検索とは、ユーザが入力した検索用の文字列が含まれる文書を検索する技術である。
【0014】
上記従来技術2では、文書登録のときにOCR出力によるテキストデータに修正を加えず、そのまま文書登録を行なう。つまり、従来技術2では、文書登録時における人手による修正作業を必要とせず、さらに、検索を行なう処理に工夫をすることで、検索対象に含まれる認識誤り文字による検索漏れを防いでいる。
【0015】
従来技術2では、ある文字に対して認識誤りを起こす可能性の高い文字(以下、認識候補文字とする)を類似文字テーブルに格納しておき、検索を行なう際に類似文字テーブルを参照しながら検索に用いる文字列を1文字ごとに分割し、分割された各文字に対して上記類似文字テーブルを参照し、参照した各文字の認識候補文字を組み合わせて複数の文字列(以下、展開語とする)に展開する。そして、それらの展開語のいずれかを含む文書を検索するため、展開語の論理和(OR)集合(以下、拡張特徴文字列とする)による全文検索を行なうことで、検索対象の文書に存在する認識誤り文字を許容する。
【0016】
前記従来技術2の全文検索の方法を類似文書検索に適用した場合、検索対象となる文書に存在する認識誤り文字を許容して検索できる。しかし、種文書に存在する認識誤り文字が原因となる問題を解決できない。例えば、上記の例の「サッカー」という文字に対して、検索対象となる文書内で「ナッカー」や「サソカー」と認識誤りを起こしていれば、従来技術2を用いて検索を行なうことができる。
【0017】
しかし、種文書内で「ナッカー」と認識誤りをおこしていた場合においては、「ナ」という文字は、例えば「十」、「+」あるいは「t」といった文字と形状が似ていると判断されても、「サ」という文字とは形状が似ているとは判断されない場合がある。これは、「サ」という文字は「ナ」という文字に認識誤りを起こすことがあり得るが、「ナ」という文字が「サ」と認識誤りすることが少ないということに起因する。この場合、同様の技術を種文書に対して適用したとしても、「サッカー」という文字へと展開することはできない。このため、「サッカー」という特徴文字列が漏れる可能性がある。また、「と」という文字が「仁」と誤って認識され、「日本を代表する古墳の仁徳天皇陵」といった不必要な文書まで検索される問題は、従来技術2を類似文書検索に適用しても解消できない。
【0018】
【発明が解決しようとする課題】
以上述べたように、文書登録時と文書検索時に同一のOCRを用いた場合、利便性に欠けるというだけでなく、種文書における特徴文字列と検索対象の文書に存在する特徴文字列との文字認識精度から生じるギャップにより検索精度が劣化する。
【0019】
本発明の目的は、認識誤り文字が存在することによる種文書と検索対象となる文書とに存在する特徴文字列のギャップを吸収することで、イメージデータを利用した高精度な文書情報の検索方法および情報蓄積装置を実現することにある。
【0020】
【課題を解決するための手段】
上記目的を達成するため、本発明では、(A)種文書中あるいは登録対象文書中に存在する認識誤り文字を補正する処理と(B)検索対象の文書中に存在する認識誤り文字を許容する処理を個別に行なった上で、文書情報の登録および検索を行なう。
【0021】
すなわち、本発明による(A)種文書中あるいは登録対象文書中に存在する認識誤り文字を補正する処理は、(1)文書を読み込む文書読み込みステップと、(2)上記文書読み込みステップにおいて読み込まれた文書中の文字列から特徴的な文字列を特徴文字列として抽出する特徴文字列抽出ステップと、(3)前記特徴文字列抽出ステップにおいて抽出された全ての特徴文字列のうち、認識誤り文字を含む特徴文字列に対し、検索を実行する上で適切な特徴文字列および特徴文字列の重み値へ補正する特徴文字列補正ステップと、(4)前記特徴文字列補正ステップにより補正された特徴文字列群を基に、実際の検索に使用する特徴文字列を選択する特徴文字列選択ステップを有する。
【0022】
次に、本発明による(B)検索対象の文書内に存在する認識誤り文字を許容する処理は、(1)前記特徴文字列選択ステップにより選択された各特徴文字列に対し、各文字に対してOCRが認識誤りをおこす可能性のある文字を候補文字としてあらかじめ列挙し、記憶領域に格納してある類似文字テーブルを参照し、参照した各候補文字を組み合わせて特徴文字列を展開・拡張する特徴文字列展開ステップと、(2)前記特徴文字列展開ステップにおいて展開された特徴文字列群を基に文書検索コマンドを生成する検索式生成ステップを有する。
【0023】
以上に述べたように、種文書における認識誤り文字と検索対象となる文書における認識誤り文字に対し、それぞれ個別に検索に悪影響を与えないようにする処理を施すことにより、種文書と検索対象となる文書のイメージ化を行なう際にそれぞれ異なるスキャナを用いた場合、種文書と検索対象となる文書の文字情報の抽出にそれぞれ異なるOCRを用いた場合、種文書と検索対象文書のどちらか一方にのみ認識誤り文字が含まれる場合あるいは種文書と検索対象文書の両方に認識誤り文字が存在する場合のいずれの場合においても、OCRによる認識誤り文字の人手による校正を行なわずに高精度な類似文書検索を行なうことができる。
【0024】
【発明の実施の形態】
以下、本発明を適用した第一の実施例について図面を用いて説明する。
【0025】
図1は本実施例におけるシステムの全体構成を示す。図1に示すように、本実施例は文書登録サブシステム101、文書検索サーバ102、検索クライアント103および104、ネットワーク105から構成される。
【0026】
文書登録サブシステム101は、検索対象として入力される各紙文書をスキャナ206によりイメージデータに変換し、OCRを用いてイメージデータに存在する文字情報を抽出しテキストデータとして出力する。出力されたテキストデータを解析し、検索時に必要となるインデックスデータを作成する。このインデックスデータは、生成されたイメージデータやテキストデータおよび文書管理情報とともに、ネットワーク105を介して文書検索サーバ102に転送され、後に文書検索サーバ102が検索処理を行なう際に用いられる。
【0027】
文書検索サーバ102は、検索クライアント103および104からの検索コマンドを受け取り、文書登録サブシステム101が作成したインデックスデータを用いて検索コマンドの指定する条件に適合する文書内容の検索を行ない、検索結果データを要求元の検索クライアントに送り返す。
【0028】
検索クライアント103および104は、ユーザが対話的に検索条件を指定するための画面をディスプレイ上に表示し、この画面上でユーザが指定した検索条件を、文書検索サーバ102にとって解釈可能な検索コマンドの形に変換し、この検索コマンドをネットワーク105を介して文書検索サーバ102に送信する。前記の通り、文書検索サーバ102が検索コマンドに対応する処理を行ない、検索結果データを送り返してくると、検索クライアントは受け取った検索結果データを画面に表示してユーザに提示する。なお、ユーザが指定する検索条件には、テキストデータやイメージデータを指定しても構わない。
【0029】
さらに、ユーザが検索条件を入力する形態としては、ユーザ自らキーボードから自然文を入力する場合、文書登録サブシステム101や文書検索サーバ102に蓄積されているデータを用いる場合、手元に存在する紙文書をスキャナなどでイメージ化したデータを用いる場合、フロッピーディスクや光ディスクなど可搬型記憶媒体からイメージデータやテキストデータを読み込む場合あるいはネットワーク105を介して転送されてくるイメージデータやテキストデータを入力とする場合が想定されるが、いずれの形態を利用しても構わない。
【0030】
また、図1では2台のコンピュータ103および104を検索クライアントとして使用する構成例を示したが、検索クライアントは1台のみとする構成、又は3台以上とする構成をとることもできる。
【0031】
ネットワーク105は、ローカルエリアネットワークおよび(または)広域エリアネットワークであって、文書登録サブシステム101、文書検索サーバ102、検索クライアント103および104が各種データやコマンドを送受信するために用いられる。
【0032】
ここで、図1では文書登録サブシステム101から文書検索サーバ102にインデックスデータを転送するためにネットワーク105を使用するものとしたが、代わりにフロッピーディスク、光磁気ディスク、追記型光ディスクなどの可搬型記憶媒体を使用する構成をとることもできる。あるいは、文書登録サブシステム101と文書検索サーバ102を1台のコンピュータ上に実装し、データ転送を行なわない構成をとることもできる。さらに、図1では検索クライアント103および104と文書検索サーバ102には別個のコンピュータを使用するものとしたが、1個以上の検索クライアントを文書検索サーバと同一のコンピュータで実行する構成をとることもできる。
【0033】
文書登録サブシステム101は、ディスプレイ201、キーボード202、中央演算装置(CPU)203、フロッピーディスクドライブ(FDD)204、フロッピーディスク205、スキャナ206、通信制御装置207、主メモリ208、磁気ディスク装置209、システムバス210から構成される。
【0034】
ディスプレイ201は、本サブシステムにおける処理の実行状況を表示するために使用する。キーボード202は、文書登録処理の実行などを指示するコマンドを入力するために使用する。中央演算装置203は、本サブシステムを構成する各種プログラムを実行する。フロッピーディスクドライブ204は、フロッピーディスク205に対するデータの読み書きのために使用する。スキャナ206は、登録対象とする紙文書を読み込み、イメージデータとして電子化し、本サブシステムに入力するために使用する。通信制御装置207は、ネットワーク105を介して前記文書検索サーバ102と通信し、文書登録あるいは文書検索に関するリクエストおよびデータの送受信を行なうために使用する。
【0035】
主メモリ208は、本サブシステムによる処理を行なうための各種プログラムおよび一時的なデータを保持するために使用する。磁気ディスク装置209は、登録されたイメージデータ、テキストデータ、本サブシステムが作成するインデックスデータ、イメージデータとテキストデータの関連性を保持する文書管理情報および各種プログラムを格納するために使用する。システムバス210は、これらの各種装置を接続するために使用する。
【0036】
主メモリ208中には、システム制御プログラム211、文書登録制御プログラム212、スキャナ制御プログラム220、文字認識プログラム221、テキスト登録プログラム222、イメージ登録プログラム223、文書管理情報登録プログラム224および文字列インデックス生成プログラム225が格納されるとともに、ワークエリア270が確保される。これらのプログラムは、フロッピーディスク205や光磁気ディスクなどの可搬型記憶媒体に格納され、ここから読み出し、磁気ディスク装置209へインストールする。本サブシステム起動時に、システム制御プログラム211が起動し、これらのプログラムを磁気ディスク装置209から読み出し、主メモリ208へ格納する。
【0037】
磁気ディスク装置209中には、テキストデータ格納領域250、イメージデータ格納領域251、インデックスファイル格納領域252、文書管理情報格納領域253および各種プログラム格納領域254が確保される。
【0038】
システム制御プログラム211は周辺機器との間のデータの入出力など、コンピュータ上で本サブシステムを構成する各プログラムを実行するための基本機能を提供する。文書登録制御プログラム212は、スキャナ制御プログラム220、文字認識プログラム221、テキスト登録プログラム222、イメージ登録プログラム223、文書管理情報登録プログラム224および文字列インデックス生成プログラム225の起動および実行制御を行なうと共に、これらのプログラムによって生成されたテキストデータ、イメージデータ、インデックスファイルおよび文書管理情報をネットワーク105を介して前記文書検索サーバ102に転送する。ワークエリア270はプログラムの実行時に一時的に必要となるデータを記憶するために用いられる。
【0039】
スキャナ制御プログラム220は、登録する紙文書をセットしたスキャナ206を起動し、紙文書からイメージデータを生成する。文字認識プログラム221は、前記スキャナ制御プログラムで生成されたイメージデータを入力して文字情報を抽出し、テキストデータを生成する。テキスト登録プログラム222は、前記文字認識プログラムで生成されたテキストデータを磁気ディスク209内に存在するテキストデータ格納領域250へ登録する。イメージ登録プログラム223は、前記スキャナ制御プログラムから出力されたイメージデータを磁気ディスク209内に存在するイメージデータ格納領域251へ登録する。文書管理情報登録プログラムは、前記スキャナ制御プログラムで生成されたイメージデータと前記文字認識プログラムで生成されたテキストデータの識別子を関連付け、文書管理情報格納領域253へ登録する。文字列インデックス生成プログラム225は、前記文字認識プログラムで生成されたテキストデータから、所定の部分文字列と該部分文字列の文字位置情報との対応関係を表すデータを生成し、インデックスファイル格納領域252に格納されているインデックスに登録し、インデックスを更新する。
【0040】
なお、本実施例ではスキャナ206から入力されたイメージデータを登録対象文書として入力する構成としたが、フロッピーディスク、光磁気ディスク、追記型光ディスクなど可搬型記憶媒体からイメージデータを読み込む構成をとることもでき、ネットワーク105を介して転送されてくるイメージデータを入力とすることもできる。また、スキャナやOCRを介す構成を取らず、すでに電子化されているテキストデータを可搬型記憶媒体から読み込む構成、直接データをキーボード202から手入力する構成あるいはネットワーク105を介して転送されてくるテキストデータを入力とする構成を取っても構わない。
【0041】
また、テキストデータを入力とした場合、対応するイメージデータに対する情報は、空のデータを作成し仮の文書識別子を付与する形態を用いてもよいし、イメージデータは存在しないことを明示する情報を付与する形態を取ってもよい。さらに、本実施例では生成されたテキストデータ、イメージデータ、インデックスファイルおよび文書管理情報を文書検索サーバ102に転送するものとしたが、生成されたインデックスファイルのみ、あるいは、生成されたインデックスファイルおよびいずれかのデータのみを文書検索サーバ102に転送し、実体のデータは各文書登録サブシステムに格納しておく形態を取っても構わない。
【0042】
次に、本実施例における文書登録処理の手順を図2を用いて説明する。キーボード202からの登録指示コマンド等により、文書登録制御プログラム212が起動されると、本プログラムはまずスキャナ制御プログラム220を起動し、スキャナ206上にセットされている紙文書の有無を調べ、全ての登録対象文書に対し、以下に示すステップ302から307の一連の処理を繰り返し実行する(ステップ301)。
【0043】
ステップ302では、スキャナ制御プログラム220を実行し、スキャナ206により、登録対象の紙文書を読み込み、イメージデータへ変換する。この登録対象の紙文書には図表やイラストが挿入されていても構わない。さらに、変換したイメージデータに対して文書識別子を割り当て、ワークエリア270へ格納する。なお、文書識別子は文書データベース中で特定の文書を一意に識別する番号である。
【0044】
ステップ303では、周知の文字認識技術を用いた文字認識プログラム221を実行し、ステップ302にて生成されたイメージデータを入力とする文字認識を行なうことでイメージデータ中に存在する文字情報を抽出する。抽出された文字情報はテキストデータとして文書識別子を割り当て、ワークエリア270に格納する。
【0045】
ステップ304ではステップ303で生成されたテキストデータを入力して文字列インデックス生成プログラム225を実行する。文字列インデックス生成プログラムは、まずインデックスファイル格納領域252から現時点での文字列インデックスを読み出し、所定の部分文字列と該部分文字列の位置情報との対応関係を表わすデータを生成してこれをインデックスファイルに登録し、更新されたインデックスファイルをインデックスファイル格納領域252に格納する。
【0046】
ステップ305では、ワークエリアに格納されているテキストデータとイメージデータを入力として文書管理情報登録プログラム224を実行する。ワークエリアに格納されているテキストデータとイメージデータの文書識別子を関連付け、関連付けたデータ間の情報を文書管理情報格納領域253に登録する。関連付けたデータ間の情報は、対応関係を表わすテーブルを持つことで容易に実現できる。
【0047】
ステップ306では、ワークエリアに格納されているテキストデータを入力し、テキスト登録プログラム222を実行する。テキスト登録プログラムでは、入力されたテキストデータと文書識別子をテキストデータ格納領域250に登録する。また、ステップ307では、ワークエリアに格納されているイメージデータを入力し、イメージ登録プログラム223を実行する。イメージ登録プログラムでは、入力されたイメージデータと文書識別子をイメージデータ格納領域251に登録する。
【0048】
全ての登録対象文書について上記ステップ302から307の一連の処理が終了すると、文書登録制御プログラム212はステップ308を実行して終了する。ステップ308では、テキストデータ格納領域250に格納された全てのテキストデータ、イメージデータ格納領域251に格納された全てのイメージデータ、インデックスファイル格納領域252に格納された全てのインデックスファイル、文書管理情報格納領域253に格納された全ての文書管理情報を、ネットワーク105を介して文書検索サーバ102に転送する。
【0049】
文書検索サーバ102は、文書登録サブシステム101と同様のシステム構成を取るが、スキャナ206をシステムとして組込まない点が異なる。さらに、主メモリ208と磁気ディスク209に格納されるプログラム群およびデータが異なっている。図3に本実施例における文書検索サーバ102の構成を示す。
【0050】
主メモリ208中には、システム制御プログラム211、文書検索制御プログラム213、検索条件式解析プログラム226、類似文書検索プログラム227、特徴文字列補正プログラム231、文字列分割プログラム235、拡張特徴文字列生成プログラム236および検索結果取得プログラム239が格納されるとともにワークエリア270が確保される。
【0051】
磁気ディスク装置209中には、テキストデータ格納領域250、イメージデータ格納領域251、インデックスファイル格納領域252、文書管理情報格納領域253、各種プログラム格納領域254および類似文字テーブル格納領域255が確保される。
【0052】
文書検索制御プログラム213は、検索条件式解析プログラム226、類似文書検索プログラム227、特徴文字列補正プログラム231、文字列分割プログラム235、拡張特徴文字列生成プログラム236および検索結果取得プログラム239の起動と実行制御を行なうとともに、ネットワーク105を介して、文書登録サブシステム101および検索クライアント(103および104)との間で文書登録または文書検索に関するリクエストおよびデータの送受信を行なう。
【0053】
検索条件式解析プログラム226は、検索クライアント103および104から受信した検索リクエスト中に含まれる検索条件式を解析し、類似文書検索プログラム227によって直接検索可能な条件指定に翻訳する。
【0054】
類似文書検索プログラム227は検索条件式解析プログラム226によって翻訳された条件指定に従って、インデックスファイル格納領域252に格納されているインデックスを検索し、得られた検索結果データをワークエリア270に格納する。類似文書検索プログラム227は、種文書読込プログラム228、特徴文字列抽出プログラム229および類似度算出プログラム230で構成されるとともに、後述するように特徴文字列補正プログラム231を呼び出す構成をとる。
【0055】
特徴文字列補正プログラム231は、重み値補正プログラム234で構成され、抽出された特徴文字列およびその重み値を補正する処理を行なうとともに、拡張特徴文字列生成プログラム236を呼び出す構成をとる。
【0056】
拡張特徴文字列生成プログラム236は、類似文字テーブル参照プログラム237と文字列展開プログラム238で構成されるとともに、文字列分割プログラム235を呼び出す構成をとる。
【0057】
検索結果取得プログラム239は、類似文書検索プログラム227によって取得された検索結果データを類似度の降順にソートし、この情報を要求元の検索クライアントに転送する。
【0058】
次に、本実施例における文書検索処理の手順を図4を用いて説明する。キーボード202からのサーバ起動コマンドなどにより文書検索制御プログラム213が起動されると、本プログラムはサーバとして文書登録サブシステム101および検索クライアント(103、104など)からリクエストを受信してはその処理を行なうループに入る(ステップ401)。このループは、キーボード202からサーバの停止を指示するコマンドが入力されるまで継続する。
【0059】
ステップ401のループは、文書登録サブシステム101および検索クライアント(103および104)から文書登録あるいは文書検索に関するリクエストを受信する処理(ステップ402)と、受信したリクエストの種別を判定し、判定した種別に対応する処理に分岐する処理(ステップ403)を繰り返す。
【0060】
ステップ403では、受信したリクエストの種別を判定し、判定したリクエストが文書登録サブシステム101から送信されたデータベース更新リクエストであった場合、ステップ404および405からなる処理に分岐する。また、前記リクエストが検索クライアント(103、104など)から送信された文書検索リクエスト(特定の検索条件を満たす文書群の検索を求めるリクエスト)であった場合、ステップ406、407、408および409からなる処理に分岐する。また、前記リクエストが検索クライアント(103、104など)から送信された検索結果問合せリクエスト(特定の検索処理の結果を問合せるリクエスト)であった場合、ステップ410の処理に分岐する。また、前記リクエストが検索クライアント(103、104など)から送信された文書転送リクエスト(指定された文書の転送を求めるリクエスト)であった場合、ステップ411の処理に分岐する。分岐先の処理が終了した後は再びステップ402に戻ってループを継続する。
【0061】
ステップ404では、文書登録サブシステム101から、新規に登録された文書群の文書データ(テキストデータおよびイメージデータ)を受信し、受信した文書データのうちテキストデータをテキストファイル格納領域250に、イメージデータをイメージデータ格納領域251にそれぞれ追加する。
【0062】
次に、ステップ405では、文書登録サブシステム101から、新規に登録された前記文書群の内容に対応したインデックスデータを受信し、この受信したインデックスデータを反映してインデックスファイル格納領域252に存在するインデックスデータを更新する。
【0063】
ステップ406では、検索条件式解析プログラム226を実行し、文書検索リクエスト中で指定されている検索条件を解析し、該検索条件を、類似文書検索プログラム227にて直接処理可能な条件指定に変換する。併せて、検索条件式から種文書として設定すべき文章を抽出し、種文書として設定しておく。
【0064】
次に、ステップ407では、前記ステップ406にて生成された種文書と条件指定を入力して、類似文書検索プログラム227を実行し、該種文書と該条件指定を満たす文書群を検索して各文書の類似度を算出する。なお、本ステップにおける類似文書検索プログラム227の詳細な説明は後述する。
【0065】
次に、ステップ408では、検索結果取得プログラム238を起動し、類似文書検索プログラムにて算出された各文書の類似度の降順に文書をソートし、この文書群と各文書に対応した類似度といった情報をまとめた検索結果データをワークエリア270に格納する。
【0066】
次に、ステップ409では、前記検索結果データ集合もしくは検索結果データ集合を識別する検索結果識別子を要求元の検索クライアントに返送する。
【0067】
ステップ410では、問合せの内容に応じて前記ステップ408にて求めた検索結果データの一部もしくは全体をワークエリア270から抽出し、要求元の検索クライアントに転送する。
【0068】
ステップ411では、文書転送リクエスト中で指定されている文書(複数の文書が指定されている場合は指定されている文書すべて)の文書データをテキストファイル格納領域250あるいはイメージファイル格納領域251から抽出し、要求元の検索クライアントに転送する。
【0069】
以上が本実施例における文書検索処理の概略手順である。以下では、上記ステップ407の詳細ならびに各種プログラムの詳細を、図を用いて説明する。
【0070】
図5はステップ407の詳細、すなわち本実施例における類似文書検索プログラム227の処理手順を示すPAD図である。
【0071】
類似文書検索プログラム227は、文書検索リクエスト中に存在する種文書や各種条件指定を入力として起動されると、まず、ステップ501では、入力された種文書をワークエリア270に格納する。
【0072】
次に、ステップ502にて、特徴文字列抽出プログラム229を起動し、ステップ501で読み込んだ種文書中から検索に必要な特徴文字列を抽出し、各特徴文字列に対して検索に用いる重み値を付与する。
【0073】
次に、ステップ503では、イメージデータに対応した検索が要求されているかどうかを判定する。そして、イメージデータに対応した検索が要求されている場合に限り、ステップ504からステップ512までの処理を実行する。イメージデータに対応した検索が要求されていない場合には、ステップ513へ進む。なお、ステップ503の判定に用いるデータは、検索クライアント103における検索条件の設定時にユーザもしくはシステムが設定する。
【0074】
ステップ504からステップ511までの処理は、本実施例における特徴文字列補正プログラム231の処理である。
【0075】
特徴文字列補正プログラム231が呼び出されると、まず、類似文書検索プログラム227で指定されている特徴文字列をワークエリア270に格納する(ステップ504)。
【0076】
ステップ504が終了すると、特徴文字列を一つずつ読み出してはその処理を行なうループに入る(ステップ505)。このループ処理を行なうことにより、種文書から抽出する特徴文字列を補正し、かつ、検索対象の文書に存在する認識誤り文字を許容することが可能となる。また、ステップ505のループは、全ての特徴文字列が読み出されるまで繰り返される。ステップ505のループは、特徴文字列から拡張特徴文字列を生成する処理(ステップ506からステップ509)と、生成された拡張特徴文字列に対して重み値を設定する重み値補正処理(ステップ510)と、拡張特徴文字列とそれに対する重み値を特徴文字列として設定する処理(ステップ511)を繰り返す。なお、ステップ506からステップ509における処理は、本実施例における拡張特徴文字列生成プログラム236の処理である。
【0077】
拡張特徴文字列生成プログラム236では、ステップ505にて指定された特徴文字列を読み出す(ステップ506)。
【0078】
次に、読み出された特徴文字列を入力として文字列分割プログラム235を呼び出し、1文字単位の部分文字列に分割する(ステップ507)。
【0079】
さらに、類似文字テーブル参照プログラム237を起動し、分割された各部分文字列に対して、類似文字テーブル格納領域255に格納されている認識候補文字を参照することで各部分文字列における1文字単位の認識候補文字を設定する(ステップ508)。
【0080】
最後に、文字列展開プログラム238を起動し、設定した各部分文字列における1文字単位の認識候補文字を組み合わせて展開語を生成し、さらに生成した展開語を論理和(OR)で結合することで拡張特徴文字列を生成し、その拡張特徴文字列を出力する(ステップ509)。
【0081】
なお、本実施例における拡張特徴文字列生成プログラム236に用いるプログラムは、従来技術2に示されている方法を基本として説明したが、1文字単位の処理ではなく、n文字単位(n≧1)の処理を行なっても構わない。さらに、ステップ509にて生成された各展開語に対して各々重み付けを行ない、各展開語に対して重みを付与した拡張特徴文字列生成を行なっても構わない。また、類似文字テーブルの作成方法についても、従来技術2に示されている方法を用いて作成しても、n文字単位の類似文字テーブルを作成しても構わない。これら拡張特徴文字列生成プログラム236に関連する方法および類似文字テーブル作成方法は、従来技術2に示されている。
【0082】
また、本ステップ509で用いられる類似文字テーブルの具体例を図6に示す。図6における第1列2551は、認識対象となる文字である。また、図6における第2列2552は文字認識を行なった結果として第一候補として認識される確率が高いもの、つまり、認識結果として出力される可能性が一番高いものを示している。同様に、図6における第3列2553は文字認識を行なった結果として第二候補として認識される確率が高いもの、図6における第4列2554は文字認識を行なった結果として第三候補として認識される確率が高いものを示す。なお、図6における第1列2551では、1文字毎に格納されているが、「日本」や「Cup」のような複数文字を格納しても構わない。この場合、第2列2552から第4列2554列はそれぞれ複数文字における認識候補文字が格納される。
【0083】
ステップ510では、前記ステップ508にて生成された拡張特徴文字列に対して重み値補正プログラム234を実行し、検索に用いる重み値を設定する。重み値補正プログラム234は、以下に示すステップ(a)と(b)の2つのステップにより構成される。
【0084】
ステップ(a):拡張特徴文字列生成プログラム236で生成された拡張特徴文字列を読み込み、格納された拡張特徴文字列が種文書内に出現する頻度を算出する。このとき、拡張特徴文字列は各展開語が論理和にて結合されたものであるから、各展開語のいずれかが種文書内に出現すれば、出現頻度情報としてカウントできる。このステップ(a)の処理により、種文書内に存在する認識誤り文字を許容し、特徴文字列の重み値設定に関わるパラメータの一つを補正できる。
【0085】
ステップ(b):算出されたパラメータを基として、周知の算出方法を用いて拡張特徴文字列の重み値を算出し、その重み値を出力する。
【0086】
ステップ511では、前記ステップ509にて生成された拡張特徴文字列と前記ステップ510にて生成された重み値を特徴文字列とその重み値として設定し、ワークエリア270に格納する。
【0087】
ステップ506からステップ511までの処理が終了した後は再びステップ505に戻ってループを継続する。ステップ505のループが終了すると、生成された特徴文字列群をソートする処理に入る(ステップ512)。このステップ512では、特徴文字列を重み値の降順にソートし、ソートされた特徴文字列をワークエリア270に格納する。ステップ512が完了すると、特徴文字列補正プログラム231を終了し、ステップ513へ進む。
【0088】
ステップ513では、ソートされた特徴文字列から、重み値などの選択基準を元に検索に用いる特徴文字列を選択する。
【0089】
ステップ514では、周知の技術を適用した類似度算出プログラム230を起動し、選択した各特徴文字列とその重み値を入力として、テキストファイル格納領域250に存在する各文書の類似度を算出する。
【0090】
以上が、類似文書検索プログラム227、すなわち、前記文書検索処理手段におけるステップ407の処理手順の詳細である。
【0091】
検索クライアント103あるいは104は、文書登録サブシステム101と同様のシステム構成をとる。ただし、主メモリ208と磁気ディスク209に格納されるプログラム群およびデータが異なっている。なお、図7は本実施例における検索クライアント103あるいは104のシステム構成を示す。
【0092】
主メモリ208中には、システム制御プログラム211、クライアント制御プログラム214、スキャナ制御プログラム220、文字認識プログラム221、検索条件入力プログラム240および検索結果表示プログラム241が格納されるとともにワークエリア270が確保される。
【0093】
磁気ディスク装置209中には、検索結果データ格納領域257および各種プログラム格納領域254が確保される。
【0094】
クライアント制御プログラム214は、スキャナ制御プログラム220、文字認識プログラム221、検索条件入力プログラム240および検索結果表示プログラム241の起動および実行制御を行なうと共に、ネットワーク105を介して文書検索サーバ102との間で文書検索に関するリクエストおよびデータの送受信を行なう。
【0095】
検索条件入力プログラム240は、ユーザと対話しつつ検索条件の入力および解釈を行なう。検索結果表示プログラム241は、文書検索サーバ102から受け取った検索結果の表示を行なう。
【0096】
なお、本実施例ではスキャナ206から入力されたイメージデータを検索の種文書として入力する構成としたが、磁気ディスク209上に存在するイメージデータを読み込む構成やフロッピーディスク、光磁気ディスク、追記型光ディスクなど可搬型記憶媒体からイメージデータを読み込む構成をとることもできる。さらに、ネットワーク105を介して転送されてくるイメージデータを入力とすることもできる。これらの場合にはスキャナ206は必要としない。また、スキャナやOCRを介す構成をとらず、すでに電子化されているテキストデータを磁気ディスクや可搬型記憶媒体から読み込む構成、直接データをキーボード202から手入力する構成あるいはネットワーク105を介して転送されてくるテキストデータを入力とする構成をとっても構わない。さらに、本クライアントにプリンタを接続し、検索結果を印刷するよう構成することもできる。
【0097】
次に、本実施例における検索クライアント(103、104)の動作手順を図8を用いて説明する。キーボード202から入力されるクライアント起動コマンドなどにより、クライアント制御プログラム212が起動されると、本プログラムはユーザから文書検索を指示するコマンドを受け取ってはその処理を行なうループに入る(ステップ701)。このループは、キーボード202からクライアントの停止を指示するコマンドが入力されるまで継続する。ステップ701のループは、以下に示すステップ702からステップ708までに示す処理を繰り返す。
【0098】
ステップ702では、ユーザが対話的に検索条件を入力するための画面を表示する。ステップ703では、スキャナ制御プログラム220を起動し、スキャナ206により、種文書として設定する対象の紙文書を読み込み、イメージデータへと変換しワークエリア270に格納する。この種文書として設定する紙文書には図表やイラストが挿入されていても構わない。ステップ704では、文字認識プログラム221を実行し、ステップ703にて生成されたイメージデータ中に存在する文字情報を抽出する。抽出された文字情報はテキストデータとしてワークエリア270に格納する。なお、文字認識技術についてはすでに公知であるため、ここでは言及しない。ステップ705では、検索条件入力プログラム240を実行し、ユーザとの対話により検索条件を入力し、さらに、ワークエリアに格納されたテキストデータを種文書として設定する。そして、該検索条件と該種文書を文書検索サーバ102が解釈可能な文書検索リクエストに変換する。
【0099】
ステップ706では、前記文書検索リクエストを、ネットワーク105を介して、文書検索サーバ102に送信する。ステップ707では、文書検索サーバ102から前記文書検索リクエストの返送として検索結果データ集合が返されるのを待ち、検索結果データ集合あるいは該検索結果識別子を受信する。ステップ708では、前記検索結果データ集合あるいは検索結果識別子を入力として検索結果表示プログラム241を実行し、ユーザと対話しつつ検索結果データの問合せおよび画面表示を行なう。
【0100】
ステップ708で実行される検索結果表示プログラム241は、図9に示すように、クライアント制御プログラム214から起動されると、直ちにステップ801のループに入る。このループは、ユーザから検索結果表示の終了を指示するコマンドを入力されるまで、以下に示すステップ802からステップ812までに示す処理を繰り返し実行する。
【0101】
前記ステップ801のループ内では、まずステップ802において、検索結果の表示とユーザからの指示入力のために用いる画面をディスプレイ201に表示する。次に、ステップ803において、前記画面上でユーザが指定した指示内容を読み込む。次に、ステップ804において、前記ユーザの指示内容の種別を判定し、その種別に対応した分岐を行なう。すなわち、該指示が検出文書数の表示を求めるものであった場合には、以下に記すステップ805および806の処理に分岐し、該指示が文書識別子リスト表示を求めるものであった場合には、以下に記すステップ807および808の処理に分岐し、該指示が文書内容表示を求めるものであった場合には、以下に記すステップ809からステップ812までの処理に分岐する。各分岐先の処理が終了するとステップ801に戻り、前記ループを再開する。
【0102】
ステップ805では、検出文書数を問い合わせるための検出文書数問合せリクエストを作成し、該リクエストを文書検索サーバ102に送信する。ステップ806では、前記リクエストに対応して文書検索サーバ102から転送されてきた検索文書数を受信し、該数値をディスプレイ201に表示する。
【0103】
ステップ807では、検出文書群の文書識別子リストを問合せるための文書識別子問合せリクエストを作成し、該リクエストを文書検索サーバ102に送信する。ステップ808では、前記リクエストに対応して文書検索サーバ102から転送されてきた文書識別子の集合を受信し、該集合に含まれる文書識別子群を検索結果データ格納領域257に格納し、ディスプレイ201に文書識別子群をリスト表示する。
【0104】
ステップ809では、表示すべき文書を特定する文書識別子を入力する。ステップ810では、該識別子が識別する文書の文書データをえるための文書転送リクエストを作成し、該リクエストを文書検索サーバ102に送信する。ステップ811では、前記リクエストに対応して文書検索サーバ102から転送されてきた文書データを受信し、該文書データを検索結果データ格納領域257に格納する。ステップ812では、格納した文書データを、書式化してディスプレイ201上に表示する。このとき、文書データ内に存在する特徴文字列などに対して、反転や着色などのハイライト表示処理を加えても構わない。さらに、このステップにおいて表示するデータはイメージデータであってもテキストデータであっても構わない。
【0105】
イメージデータは、文章の加工ができない反面、可読性に優れており、図表も同時に見ることができる。一方、テキストデータは文章の加工ができる反面、認識誤り文字を含んでいるため可読性に劣り、図表も見ることができない。こういった文書の特性を理解した上で、イメージデータとテキストデータのどちらの文書を表示するかはユーザが選択できる。テキストファイル格納領域250およびイメージファイル格納領域251に登録されている情報は、文書管理情報253においてテーブル形式にて管理されているため、必要なデータの取得は、容易に実現できる。
【0106】
以下では、第一の実施例における文書登録および文書検索の処理について、具体的な例を用いて説明する。
【0107】
まずは、文書登録における処理手順について、文書登録サブシステム102の処理手順に基づき、具体例を用いて説明する。
【0108】
図10に、文書登録に用いる紙文書901の一例を示す。なお、登録対象の紙文書901には、図10に示す文書内容だけでなく、その記事に関連した写真が掲載されている。また、図10のテキストデータ902は、前記文書登録サブシステム102の処理手順におけるステップ302および303によって文字認識を行なった後のテキストデータの一例を示す。
【0109】
今回の文字認識においては、例えば「サッカー」、「Goal」あるいは「team」という文字が「ナッかー」、「God1」、「teen」と認識誤りを起こしていることがわかる。なお、図10のテキストデータ902において、アンダーラインの文字は文字認識誤りを起こしていることを示す。文書登録サブシステム102は、テキストデータ902からインデックスデータを作成し、テキストデータとステップ302にて生成されたイメージデータとの関連付けを行なった後、それぞれの格納領域に登録する(ステップ304からステップ307まで)。本実施例では、文字認識によって抽出されたテキストデータに何も処理を施していない。
【0110】
また、図10には、文書登録に用いる電子データ903の一例を示す。この文書は、すでに電子化されているテキストデータである。そのため、文書登録サブシステム102は、ステップ302および303を実行する必要がなく、イメージデータを空データとして設定し、テキストデータとイメージデータの関連付けを行なった後、それぞれの格納領域に登録する(図10のテキストデータ904)。なお、本実施例では、登録対象が電子データの場合、イメージデータは空データとして登録するものとしたが、電子データをイメージデータ化して登録する形式を取っても構わない。
【0111】
この処理を登録文書がなくなるまで実行し、生成したテキストデータ群、イメージデータ群、インデックスデータおよび文書管理情報をデータベース更新リクエストとして文書検索サーバ102に転送する。
【0112】
次に、文書検索における処理手順について、文書検索サーバ102の処理手順および検索クライアント(103および104)の処理手順に基づき、具体例を用いて説明する。
【0113】
図11に、類似文書検索をしたい元の文書、すなわち種文書として設定する紙文書1001の一例を示す。なお、紙文書1001には、図11に示す文書内容と共に、それに関連したイラストが挿入されている。また、図11におけるテキストデータ1002は、検索クライアント103(あるいは104)の処理手順におけるステップ703および704によって文字認識を行なった後のテキストデータの一例を示す。この文字認識においては、例えば「サッカー」、「Cup」、「Azzurri」あるいは「soccer」という文字が「サソカー」、「Cap」、「Azzurvi」、「social」と認識誤りを起こしていることがわかる。
【0114】
なお、図11のテキストデータ1002において、アンダーラインの文字は文字認識誤りを起こしていることを示す。さらに、図11中に検索条件入力プログラム240を用いて生成された検索リクエスト1003の一例を示す。この検索リクエストは、DB1というデータベース内でテキストデータ1002の内容に類似した文書を検索する条件式である。この検索リクエストを検索サーバ102に送信する。
【0115】
検索サーバ102においてこの検索リクエストを受信すると、文書検索サーバ102の処理手順におけるステップ406および407により、種文書に存在する特徴文字列を抽出する。図12におけるテーブル1101は図11における検索リクエスト1003により生成された特徴文字列の一例を示す。なお、類似文書検索を実行するに際しては、テーブル1101に示した特徴文字列から検索に用いる特徴文字列を取捨選択することが必要となる。特徴文字列の選択方法としては、種文書中での高頻度の特徴文字列を選択する方法、検索対象の文書群に余り存在しない特徴文字列を選択する方法、文中の役割(主語、述語、目的語)などに応じて決定する方法あるいはこれらを組み合わせて特徴文字列の重要度(重み値)を設定する方法などさまざまな周知の方法が利用できる。本実施例では、便宜上、設定された各特徴文字列の重み値が5.0以上のものを検索用の特徴文字列として設定することにする。
【0116】
従来技術1では、ここで選択された特徴文字列を用いて検索式を生成し、検索を実行するものとしている。図12におけるテーブル1102は従来技術1により選択された特徴文字列群、図12における検索条件式1103は従来技術1により生成された検索式である。この検索式では、DB1というデータベース内の文書で、「サソカー」、「ナッカー」、「エタリア」、「仁」、「代表」、「日本」、「Cap」の全ての特徴文字列を含んでいる文書を検索することになる。このため、図10の文書902には「仁」という文字しかヒットせず、文書903においても、「代表」という特徴文字列しかヒットしないことになり、各々検索漏れになってしまう。また、検索式の生成において検索に用いる特徴文字列を論理和(OR)で結合した場合は、「日本を代表する古墳、仁徳天皇陵」あるいは「The FDNY's Cap Sold Out」のような無駄な文書を多くヒットさせる結果となるばかりでなく、図10の文書902においてヒットする特徴文字列は「仁」のみであり、また、文書903においてヒットする特徴文字列は「代表」のみであるため、検索結果表示において文書901、902、903あるいは904は相当下位のランクにて出現することになり、類似文書であると判別しにくい。
【0117】
そこで、本実施例では、図12に示す処理に対して、図13に示す特徴文字列と検索用特徴文字列の選択に用いる重み値を補正する処理を行なっている。
【0118】
まず、種文書や検索対象の文書内に存在する認識誤り文字に対応するため、類似文書検索プログラム231にて生成された特徴文字列(テーブル1101)に対し、認識誤りを起こしている可能性の高い文字列へと展開する。これには類似文字テーブル255を用いる。拡張特徴文字列生成プログラム236を適用することにより、例えば「サッカー」は、「サッカー or ナッカー or ・・・ or サソカー or ・・・ or サッかー or ・・・」に、「Cap」は「Cap or Cup or Oap or Oup or ・・・」と展開される(図13におけるテーブル1201)。この展開方法については、従来技術2にて公知のため、ここでは詳細に言及しない。
【0119】
次に、展開された特徴文字列(拡張特徴文字列)を用いて、各特徴文字列の重み値の補正、つまり、重み値の設定を行なう際に用いるパラメータの補正を行なう(重み値補正プログラム234)。なお、各特徴文字列の重み値の設定方法については、本実施例では便宜上、各特徴文字列が種文書に出現する頻度をパラメータとして用いることにする。この場合、例えば、図11の文書1002内に存在する「サッカー」という文字列の出現頻度は1回であるが、「サッカー」という文字列に対する拡張特徴文字列「サッカー or ナッカー or ・・・ or サソカー or ・・・ or サッかー or ・・・」を用いることにより、本来の出現頻度である3回に補正することが可能となる。この補正したパラメータを基に、拡張特徴文字列の重み値を設定し、これを検索に用いる特徴文字列候補として設定する(図13におけるテーブル1202における「サッカー」の項を参照)。
【0120】
上記により設定された検索に用いる特徴文字列候補を重み値の降順にソートし、ある閾値以上の特徴文字列候補を検索に用いる特徴文字列として決定する。なお、本実施例では、便宜上、重み値が5.0以上のものを検索用の特徴文字列として設定している。この設定方法により設定された検索に用いる特徴文字列を図13におけるテーブル1203に示し、本実施例により生成された検索式を図13における検索式1204に示す。
【0121】
従来技術1により抽出された特徴文字列群(図12におけるテーブル1102)と比較して、図13におけるテーブル1203においては、本来検索を行なうにあたって重要な語である「サッカー」、「Azzurri」あるいは「Cup」という文字列が抽出できていることがわかる。よって、以上の処理を用いることで、検索に必要な特徴文字列が抽出できる。
【0122】
また、図13の検索式1204においては、拡張された特徴文字列とその重み値により構成される。つまり、検索式1204は、拡張された特徴文字列のいずれかを内包する文書を検索する検索条件式である。ここでは、特徴文字列の代わりに拡張特徴文字列を用いることにより、検索対象の文書内に存在する認識誤りを許容することが可能となる。
【0123】
例えば、「サッカー」という特徴文字列に対して、図10の文書902では、「サッカー」という言葉は存在しないが、拡張特徴文字列を用いることにより、「ナッかー」という文字列にもヒットするため、検索漏れを防ぐことが可能となる。また、副次的な効果ではあるが、「Cup」が「Cap」のように認識誤りを起こしていたとしても、「u」と「a」が互いに認識誤りを起こしやすい文字である場合には、特徴文字列を拡張することにより、正しい文字列に対する検索を行なうことも可能となる。このことにより、図10に示すような認識誤りが内部に存在しないテキストデータ903に対しても、高精度に検索を行なうことが可能となる。
【0124】
具体的には、図13の検索式1204に「ナッかー」「エタリヱ」「イタりア」「Azzurri」「仁」「代表」「日木」「白本」という認識誤り文字を含んだ特徴文字列をも内包することにより、図10の文書902内に存在するこれらの文字と一致するため、文書902を検索できる。さらに、図13における検索式1204に「サッカー」「イタリア」「Azzurri」「Cup」「代表」「日本」という認識誤り文字を含まない特徴文字列をも内包することにより、図10の文書904内に存在するそれぞれの文字列にヒットするため、文書904を検索できる。
【0125】
上記までの処理において抽出・設定された特徴文字列群を入力として類似文書検索を実行する。実行後、抽出された各文書の類似度を基準にして降順にソートし、検索結果データ集合として要求元の検索クライアントに返送する。検索クライアントでは、検索結果データ集合を受信し、検索結果表示プログラム241を実行することで検索結果を表示する。
【0126】
さらに、ユーザが求める文書が見つかった場合にはその文書識別子を基に文書内容を表示する。検索結果表示プログラム241を用いて内容表示を行なう場合には、図10における文書901や図11における文書1001のようなイメージデータあるいは図10における文書903のような認識誤りが存在しないテキストデータを出力することもでき、文字認識に全く影響されることなく内容を読むことができる。また、文書内容の加工を行ないたい場合には、図10における文書902、図11における文書1002あるいは図10における文書903もしくは文書904のようなテキストデータを表示することもできる。
【0127】
以上説明したように、本実施例により、登録対象の文書はイメージデータとイメージデータを文字認識することにより抽出されたテキストデータを登録するだけでよく、文書登録を行なうユーザは、手軽に文書を登録できる。さらに、種文書と検索対象の文書に存在する同一の特徴文字列が文字認識技術により異なった文字列として存在している場合でも、種文書から抽出される特徴文字列を補正する処理と検索対象の文書内に存在する認識誤り文字を許容する処理を個別に行なうことで、特徴文字列の認識誤りを意識せずに高精度な検索ができる。
【0128】
なお、本実施例では、拡張特徴文字列を作成する際に、1文字単位の類似文字テーブルを参照することで検索対象の文書内に存在する認識誤り文字を許容している。しかし、本実施例による方法では、抽出された特徴文字列が短い場合、認識誤りをおこす可能性のある語に展開した拡張特徴文字列を用いて検索することでユーザが所望しない結果(以下、検索ノイズとする)が増えてしまう。
【0129】
例えば、特徴文字列として「仁」が抽出された場合、この特徴文字列に対する拡張特徴文字列は「仁 or に or 口 or 仕 or …」となり、この拡張特徴文字列を用いて検索すると、「に」や「口(くち)」など別の意味を持つ特徴文字列を含む文書も検索結果として提示されてしまう。また、別の例として、「C language」といった文字列に存在する「C」という文字列に対する拡張特徴文字列は「C or c or 0 or O or …」となり、「0(ゼロ)」や文書内に存在する見出し項目を示す「(c)」、あるいは「Blood type : O」など、別の意味をもつ特徴文字列をも含んでしまう。そのため、検索ノイズが多くなり、検索精度が劣化する。
【0130】
上記課題を解決するため、本実施例の処理に加えて、図5におけるステップ506からステップ509、すなわち本実施例における拡張特徴文字列生成プログラム236を実行する前に、入力された検索文字列の文字列長で拡張特徴文字列を生成するか否かを判定し、実行する場合にのみ拡張特徴文字列生成プログラム236を実行するという拡張特徴文字列生成方法を切り替えるステップを備えることも容易に実現できる。
【0131】
以下、本発明を適用した第二の実施例について、図面を用いて説明する。本実施例は、システムの構成については前記第一の実施例と同一であるが、文書検索サーバ102の処理において、特徴文字列の補正方法が異なり、その結果、検索に用いる特徴文字列の選択結果が第一の実施例とは異なってくる。
【0132】
ここで、第一の実施例において選択された特徴文字列の具体例(図13におけるテーブル1203)を考察する。テーブル1203において、「仁」という文字列は、「に」という文字列が認識誤りを起こしているために生じた文字列である。もともと「に」という文字列は「は」、「が」、「a」、「the」といった文字列と同様、文書中でとりわけ特別な意味を持たず、「に」といった文字列を特徴文字列として検索に用いた場合、不必要な文書が検索結果として大量に出現することになる。このことから、本来特徴文字列として設定すべきでない「に」が文字認識誤りを起こして出現した「仁」という文字列が、特徴文字列として設定された場合には、「日本を代表する古墳、仁徳天皇陵・・・」といった不要な文書をさらに検索することにつながり、検索精度を劣化させる要因となる。
【0133】
本実施例では、抽出された特徴文字列から検索に不要な特徴文字列を排除することにより、検索精度の向上を行なうことが可能となる。
【0134】
以下、本実施例における文書検索サーバ102の詳細について説明する。図14は、本実施例における文書検索サーバ102の構成を示す図である。図14に示す文書検索サーバ102のハードウェア構成は、図1に示す第一の実施例の場合と同様である。ただし、主メモリ208中には、第一の実施例において保持するプログラム群に加えて、文字確信度算出プログラム232および不要語削除プログラム233を保持する。また、磁気ディスク装置209中には、第一の実施例において確保する領域群に加えて、文字確信度情報格納領域256が確保される。
【0135】
特徴文字列補正プログラム231は、文字確信度算出プログラム232、不要語削除プログラム233および重み値補正プログラム234によって構成され、さらに、第一の実施例と同様、拡張特徴文字列生成プログラム236を呼び出す。
【0136】
不要語削除プログラム233は、種文書から抽出された特徴文字列群から、検索に不要な特徴文字列を排除し、検索に必要な特徴文字列群へと補正する。
【0137】
文字確信度算出プログラム232は、種文書から抽出された特徴文字列が正しい文字列で構成されている確率を算出する。
【0138】
図15は、第二の実施例における特徴文字列補正プログラム231の概略処理を示したPAD図である。図15は、図5に示す第一の実施例における特徴文字列補正プログラム231と比較して、類似文書検索プログラム227にて指定された特徴文字列を読み込んだ後、生成された特徴文字列に対する重み値の補正を行なう前に、全ての特徴文字列に対して検索に不要な特徴文字列を排除する処理(ステップ1301からステップ1307まで)を加えている点が異なる。以下、本実施例の特徴文字列補正プログラム231を、図15を用いて説明する。
【0139】
特徴文字列補正プログラム231は、類似文書検索プログラム227から呼び出される。呼び出しを受けると、特徴文字列補正プログラム231は、まず、類似文書検索プログラム227で指定されている特徴文字列をワークエリア270に格納する(ステップ504)。
【0140】
ステップ504が終了すると、特徴文字列を一つずつ読み出してはその処理を行なうループに入る(ステップ1301)。このループ処理を行なうことにより、種文書および(または)検索対象の文書内に認識誤り文字が含まれていたとしても、検索に必要十分な特徴文字列を抽出でき、同時に、検索に不要な特徴文字列を検索用特徴文字列から除外できる。このステップ1301のループはステップ504にて格納された全ての特徴文字列が読み出されるまで継続する。ステップ1301のループは、不要語削除プログラム233を実行して検索に不必要な特徴文字列を削除する処理(ステップ1302から1307まで)を繰り返す。
【0141】
ステップ1302では、文字確信度算出プログラム232を起動し、前記ステップ1301にて読み込んだ特徴文字列を入力として文字確信度算出プログラム232を実行する。文字確信度算出プログラム232では、読み出された特徴文字列を入力として文字列分割プログラム235を呼び出し、所定のn文字単位(n≧1)の部分文字列に分割する(ステップ1302)。
【0142】
さらに、分割された各部分文字列に対して、文字確信度情報格納領域256に格納されている文字確信度情報を参照し、各部分文字列における文字確信度を設定する(ステップ1303)。
【0143】
最後に、設定した各部分文字列の文字確信度を組み合わせて特徴文字列全体の文字確信度を設定し、入力された特徴文字列に対応した文字確信度を出力する(ステップ1304)。なお、ステップ1302からステップ1304までが文字確信度算出プログラム232の処理手順である。
【0144】
ステップ1304が終了すると、ステップ1305において、前記ステップ1304で出力された文字確信度が所定の閾値を超えているかどうかを判定する。
【0145】
そして、前記ステップ1304より出力されてきた文字確信度が所定の閾値を超えている場合に限り、検索用の特徴文字列として設定し、ワークエリア270に格納する(ステップ1306)。
【0146】
前記ステップ1304で出力された文字確信度が所定の閾値を超えていない場合、その特徴文字列を検索用の特徴文字列として設定せず、ワークエリア270には空のリストを格納するか、あるいは何も格納しない(ステップ1307)。
【0147】
なお、このステップ1301からステップ1307まで処理は本実施例における不要語削除プログラム233の処理ステップである。また、ステップ505以降の処理については、第一の実施例で述べた処理と同様であるため、省略する。
【0148】
なお、本実施例ではステップ1302にて、読み出された特徴文字列をn文字単位に分割するステップを必要としているが、後述する文字確信度情報の作成方法によっては、nを相当大きな数と見なし(n=∞)、部分文字列に分割しない処理方式も取れる。この場合、ステップ1302は省略できる。ちなみに、文字確信度算出プログラム232にて使用する文字確信度情報の一例を図16のテーブル1600に示し、文字確信度情報の具体的な作成方法については後述する。
【0149】
また、ステップ1304における該特徴文字列の部分文字列を用いた文字確信度の算出方法としては以下に示す3つの方法が想定されるが、いずれの方法を用いても構わない。なお、以下においては、ある特徴文字列からステップ1302によりm個の部分文字列Ci(0≦i<m)に分割され、さらにステップ1303にてそれぞれの部分文字列における文字確信度をS(Ci) (0≦i<m)として設定されるものとする。
(1)各部分文字列の文字確信度を乗算することで、特徴文字列全体において正しい文字が並んでいる確率を以下に示す数1により算出し、特徴文字列の文字確信度として設定する。
【0150】
【数1】
Figure 0004006239
【0151】
(2)各部分文字列の文字確信度を加算平均することで、特徴文字列全体における正しい文字で構成されている確率の平均を以下に示す数2により算出し、特徴文字列の文字確信度として設定する。
【0152】
【数2】
Figure 0004006239
【0153】
(3)各部分文字列の文字確信度を基に、特徴文字列全体で正しい文字を含んでいる確率を以下に示す数3により算出し、特徴文字列の文字確信度として設定する。
【0154】
【数3】
Figure 0004006239
【0155】
なお、本実施例では、文字確信度情報を利用して文書検索処理を行なうこととしている。文字確信度情報とは、n文字単位(n≧1)の部分文字列において、認識された文字が正しい文字である確率を算出したものである。文字確信度情報の作成方法については、様々な方法が想定される。文字確信度情報の作成方法として、以下に7つの方法を例示する。
(1)文字確信度情報を作成する第一の方法は、文字確信度情報を作成するための教師データをあらかじめ用意することで、事前に文字確信度情報を定義しておく方法が想定される。なお、図16は図14における文字確信度情報について、第一の方法による作成概要を示した図である。教師データにはイメージデータとその文書内容に相当するテキストデータを格納しておく。イメージデータを用いてOCRによる文字認識を行ない、その結果として出力されたデータと教師データとして存在するテキストデータを突き合せることにより、認識された文字が正しく認識された文字である確率(正解確率)を算出する。この正解確率を算出するために文字確信度情報作成プログラム1500を実行する。そして、算出した正解確率を文字確信度S(i)として設定し、文字確信度情報に格納する。
(2)文字確信度情報を作成する第二の方法は、構築済の類似文字テーブルを利用する方法が想定される。この場合においても、(1)と同様、事前に文字確信度情報を定義しておくことになる。図17は図14における文字確信度情報について、第二の方法による作成概要を示した図である。類似文字テーブルには、文字列とその文字列に対応する認識候補文字が重み値(もしくは認識確率)と共に格納されている場合がある。その場合には、その重み値を認識確率と設定し、Bayesの定理を応用することにより、認識された文字列の正解確率を算出することが可能となる。その算出方法の例を以下に示す。正しいテキストにおける文字がiである事象をAi、それに対応する文字認識結果として出力される文字がjである事象をBjとするとき、OCRによる文字認識結果として出力される文字j(事象Bj)が正しいテキストにおいて文字i(事象Ai)である確率Pr(Ai|Bj) は、Bayesの定理より次に示す数4を用いて算出することができる。
【0156】
【数4】
Figure 0004006239
【0157】
つまり、OCRによる文字認識結果として出力される文字i(事象Bi)が正しいテキストにおいて文字i(事象Ai)である確率(正解確率)Pr(Ai|Bi) を算出し、算出した正解確率を文字確信度S(i)として設定し、文字確信度情報に格納することにより作成する。
(3)文字確信度情報を作成する第三の方法は、検索対象のテキストファイル格納領域250に出現することが少ない文字(もしくは文字列)は認識誤り文字である可能性が高いと考える方法がある。この方法を用いると新規に文字確信度情報を構築する必要がなく、見かけ上、文字確信度情報は存在しない。すなわち、本作成方法の場合には、検索対象となる文書を格納したテキストファイル格納領域250から導出される統計情報が文字確信度情報に相当する。そのため、あらかじめ文字確信度情報を作成しておく必要がなく、検索時に特徴文字列抽出プログラム229にて抽出された各特徴文字列についてテキストファイル格納領域250から導出される統計情報を参照しながら文字確信度を設定する。
(4)文字確信度情報を作成する第四の方法は、認識後の文字種により文字確信度を設定する方法がある。OCRによる文字認識は文字種により得手不得手が存在する。そのため、文字種により認識精度が異なるという事実がある。本作成方法はOCRの認識傾向に基づいた性質を利用したものである。なお、この作成方法も(3)と同様、あらかじめ文字確信度情報を作成しておく必要はない。
(5)文字確信度情報を作成する第五の方法は、認識後のテキストデータから抽出された特徴文字列の文字列長により判断する方法が想定される。特徴文字列として抽出されたものは、文字列長が長いほど正しく認識された文字列である可能性が高い。本作成方法は、この性質を利用したものである。なお、この方法においても(3)と同様、あらかじめ文字確信度情報を作成しておく必要はない。
(6)文字確信度情報を作成する第六の方法は、種文書として設定する文書を文字認識する際にOCRから出力される認識確率の情報を利用する方法が想定される。OCRは文字認識を行なう際に、認識候補文字としていくつかの候補文字を出力する。このとき、いくつかのOCRでは認識確率も一緒に出力されるので、その情報を文字確信度として設定するという方法である。また、認識確率を出力しないようなOCRであっても、文字形状が似ている順に候補文字として出力されるため、各候補文字の出現順位によって文字確信度を設定することは可能である。なお、この方法では、あらかじめ文字確信度を設定しておく方法でも、抽出された文字列に対して随時文字確信度を算出する方法でも構わない。
(7)文字確信度情報を作成する第七の方法は、形態素解析などに利用されている単語辞書を利用する方法である。すなわち、種文書から抽出された特徴文字列のうち、単語辞書に存在する文字列を正しい文字であると判定する方法である。この場合は、予め単語辞書を用意すれば文字確信度情報を設定したことになる。しかし、この方法を用いる場合には、例えば、本来「に」や「Cup」という文字であるものがOCRによって「仁」や「Cap」と認識誤りし、さらに、特徴文字列として「仁」や「Cap」が設定された場合、「仁」や「Cap」という単語は単語辞書に存在するため、正しい文字であると判定されてしまう。このことから、本方法により作成された文字確信度情報を用いても、正しい文字であると判定された文字列がどの程度正しいのかは判断できない。
【0158】
文字確信度情報を作成する際には上記例示したいずれの場合を用いても、上記の方法をいくつか組み合わせる方法で構築しても構わない。また、文字確信度情報をあらかじめ作成する場合には、本サーバ上において作成し、磁気ディスク209に直接保存する形式を用いてもよいし、別マシンにて本文字確信度情報を作成し、その文字確信度情報を格納したフロッピーディスクなどの可搬型記憶媒体から読み込み、磁気ディスク209に保存する形態を用いてもよいし、文字確信度情報を格納したフロッピーディスクなどの可搬型記憶媒体から直接読み出す形態を用いてもよい。あるいは、ネットワーク105を介して転送されてくる文字確信度情報を磁気ディスク209に保存する形態や直接主メモリ208中のワークエリア270に取り込む形態を取ってもよい。
【0159】
本実施例の文書登録の処理は、第一の実施例と同様である。以下では、本発明の第二の実施例における文書検索の処理を、具体的な例をあげて説明する。
【0160】
本実施例では、第一の実施例と同様、図11の紙文書1001を文字認識したテキストデータ1002を種文書として設定するものとする。このとき、第一の実施例と同様に、種文書中に存在する特徴文字列が抽出され、テーブル1101が生成されるものとする。ここまでは、第一の実施例と同じ処理である。本実施例ではこの後の処理として、テーブル1101に存在する特徴文字列に対し、不要語削除プログラム233を実行して、検索に不要な特徴文字列を排除する。
【0161】
図18は、不要な特徴文字列を削除する処理の具体例を示す。文字確信度算出プログラム232を実行し、文字確信度情報256を参照しながら、抽出された特徴文字列毎の文字確信度を算出する(テーブル1701)。具体例として「エタリア」という文字に対する文字確信度を算出する。例えば、カタカナの文字が正しく認識される確率を一律30%と設定し、さらに、前述した文字確信度算出方法のうち、数3を用いて文字確信度Sを算出すると、以下の算出式により「エタリア」という文字の文字確信度は0.76と設定される。
【0162】
【数5】
Figure 0004006239
【0163】
本実施例では1文字単位の文字確信度を用いて特徴文字列全体の文字確信度を算出しているが、前述したように、この文字確信度を算出する際には、1文字単位で算出しても複数文字単位で算出しても構わない。さらに、上記の算出例では、便宜上、カタカナの文字列の文字確信度は一律30%であると設定したが、前記文字確信度算出方法にて述べたように、各文字もしくは各文字列の文字確信度を個別に設定しても構わない。
【0164】
この文字確信度算出プログラムによって算出された文字確信度という指標は、特徴文字列が正しい文字列である確率を示したものであり、例えば、上記の例における「エタリア」という文字列が正しく認識された文字によって構成されている確率は76%であるということである。このことから、この文字確信度が低い文字列は認識誤りを起こしている可能性が高い。そのため、文字確信度が低いものを特徴文字列から外すことで、不要な特徴文字列を削除できる。具体的には、各特徴文字列の文字確信度が所定の閾値以下の特徴文字列を特徴文字列群から削除する(処理1700)。本実施例では、便宜上、0.5以下のものを削除する。図18の場合、「仁」という文字が0.45と0.5以下であるので、この文字列は特徴文字列としては設定しない。このようにして、検索に不必要な特徴文字列を削除できる。
【0165】
本実施例によって設定された検索に用いる特徴文字列を図19のテーブル1801に示し、テーブル1802に本実施例により生成された検索式を示す。第一の実施例により抽出された特徴文字列群(図13のテーブル1203)と比較して、テーブル1801においては、本来検索の際に不要であると思われる「仁」という文字列が排除されている。よって、本実施例における処理を用いることで、検索に必要かつ十分な特徴文字列が抽出できるため、「日本を代表する古墳、仁徳天皇陵・・・」といった不要な文書を大量に検索するという問題が解決される。
【0166】
以上説明したように、本実施例を適用することにより、検索に不要な特徴文字列と見なされる文字列を排除することが可能となり、第一の実施例による効果に加えて、不要な文書を抽出することがなくなって、検索精度が向上する。
【0167】
また、本実施例においても、第一の実施例同様、検索精度および検索性能の改善のため、図15におけるステップ506からステップ509、すなわち本実施例における拡張特徴文字列生成プログラム236を実行する前に、入力された検索文字列の文字列長で拡張特徴文字列を生成するか否かを判定し、実行する場合にのみ拡張特徴文字列生成プログラム236を実行するという拡張特徴文字列生成方法を切り替えるステップを備えることも可能である。
【0168】
以下、本発明を適用した第三の実施例について説明する。本実施例は、システムの構成については前記第一の実施例と同一であるが、文書検索サーバ102の処理において、特徴文字列の補正方法およびそれに伴う重み値の補正方法が異なり、その結果、検索に用いる特徴文字列の選択結果が第一の実施例とは異なる。
【0169】
ここで、第二の実施例同様、第一の実施例で選択された特徴文字列の具体例(図13のテーブル1203)を考察する。テーブル1203では、「サソカー」および「ナッカー」という文字列は、いずれも「サッカー」という文字列が認識誤りを起こしているために生じた文字列である。検索に用いる特徴文字列が増大すると、ヒットする文書は多くなる可能性はあるが、不必要な文書まで検索してしまう可能性も存在する。特に、今回のような認識誤りを内部に含んでいる特徴文字列を検索に用いても検索精度は余り向上しない。さらに、不要な特徴文字列を検索に用いると、検索の特徴文字列が増大することになり、検索性能が劣化する。
【0170】
本実施例では、「サソカー」および「ナッカー」のように認識誤り文字が内包されているために生じた文字列を「サッカー」のような認識誤り文字が内包されていない(あるいは認識誤り文字が内包されていない可能性が高い)文字列に集約することにより、検索性能の向上と検索に不要な文字列を削除できる。
【0171】
図20は、第三の実施例における特徴文字列補正プログラム231の概略処理を示したPAD図である。図20においては、第一の実施例における特徴文字列補正プログラム231(図5中の231)と比較して、生成された特徴文字列に対する重み値の補正を行なうループ処理(ステップ505)の前に特徴文字列を文字列長の降順、文字確信度の降順にソーティングしている処理(ステップ1901)を加えている点が異なる。また、重み値補正プログラム234内において、種文書内における拡張特徴文字列の頻度を算出した後、種文書内で拡張特徴文字列が出現した部分を記号などに置き換えるマスキング処理(ステップ1904)を施している点が異なる。
【0172】
本実施例の文書登録の処理は、第一の実施例と同様である。以下では、本発明の第三の実施例における文書検索の処理を、具体的な例をあげて説明する。
【0173】
本実施例では、第一の実施例と同様、図11の紙文書1001を文字認識したテキストデータ1002を種文書として設定するものとする。この場合、第一の実施例と同様に、種文書内に存在する特徴文字列が抽出され、図13のテーブル1101が生成されるものとする。ここまでは、第一の実施例と同じ処理である。
【0174】
本実施例ではこの後の処理として、テーブル1101に存在する特徴文字列を文字列長の降順にソートする。さらに、第二の実施例を組み合わせて実装する場合には、文字確信度の降順にもソートする。図21は、前記ソートする処理の具体例である。第一の実施例のテーブル1101には、文字確信度のデータが付与されていないが、本実施例では便宜上、第二の実施例を組み合わせ、テーブル1101に文字確信度のデータが付与されているものとする(テーブル1701)。図21に示すテーブル2001はソートされた後の特徴文字列群を示している。この特徴文字列群では、文字列長が長く、文字確信度の高い順にソーティングされている。これは、文字列長が長く、かつ、文字確信度が高い文字列ほど正しく認識されている確率が高いという性質を利用するためである。
【0175】
そして、ソーティングされた特徴文字列を用いて、第一の実施例と同様の処理を行なう。具体的には、ソーティングされた特徴文字列を一つずつ読み出し、特徴文字列を拡張特徴文字列に展開、さらに、拡張特徴文字列に対して重み値を付与し(重み値補正プログラム234)、特徴文字列とその重み値を設定する。
【0176】
図21に示すように、重み値補正プログラム234では、第一の実施例と同様、拡張特徴文字列を読み込み、種文書内での出現頻度を算出する(図20のステップ1902、1903)。
【0177】
本実施例では、ステップ1903の終了後、ステップ1904からなる処理を実行している。ステップ1904では、種文書内で拡張特徴文字列がヒットした文字列を、検索に使用することがない記号(例えば「#」、「$」、「!」など)に置き換え(以下、マスキング処理とする)、本来同じ文字列であるが、認識誤りを起こしている可能性が高い文字列を再びヒットさせないようにしている。
【0178】
図22に、種文書1002にマスキング処理を行なった例を示す。図22に示す種文書は、類似文字テーブル255を用いて、「Azzurri」と「サッカー」という文字列(特徴文字列)を拡張特徴文字列に展開し、拡張特徴文字列にてヒットした部分を「#」という文字に置き換えたものである。この処理を行なうことにより、「Azzurvi」、「ナッカー」などといった認識誤りを起こしている文字列がこの後にヒットすることがなくなる。図21に示す特徴文字列群(テーブル2002)では、「Azzurvi」、「サソカー」あるいは「ナッカー」といった文字列の出現頻度は1回ずつ存在するのに対し、本実施例による重み値補正プログラムを実施した後の特徴文字列群(テーブル2003)では「Azzurvi」、「サソカー」あるいは「ナッカー」といった文字列の出現頻度は0回となっている。このため、重み値も0となり、結果的に検索に用いる特徴文字列から排除される。
【0179】
本実施例によって設定された検索に用いる特徴文字列を図23のテーブル2201に示し、テーブル2202に本実施例により生成された検索式を示す。第一の実施例により抽出された特徴文字列群(図13のテーブル1203)と比較して、テーブル2201においては、本来検索の際には不要であると思われる「サソカー」、「ナッカー」、「エタリア」、「Cap」という文字列が排除されている。よって、本実施例における処理を用いることにより、検索に必要かつ十分な特徴文字列が抽出でき、さらに、結果的には、検索に不要な文字列を削除できる。
【0180】
以上説明したように、本実施例を適用することにより、同一の特徴文字列と見なされる文字列を集約でき、第一の実施例による効果に加えて、検索性能の向上と検索における不要な特徴文字列の削除によって検索精度が向上する。
【0181】
なお、本実施例における同一の特徴文字列と見なされる文字列を集約する方法を採用した場合、前記第二の実施例同様に、検索に不要な特徴文字列と見なされる文字列を排除する方法を適用することで、検索結果として不要な文書が検索されないので検索精度が向上する。また、本実施例においても、第一の実施例同様、検索精度および検索性能の改善のため、図20のステップ506からステップ509、すなわち本実施例における拡張特徴文字列生成プログラム236を実行する前に、入力された検索文字列の文字列長で拡張特徴文字列を生成するか否かを判定し、実行する場合にのみ拡張特徴文字列生成プログラム236を実行するという拡張特徴文字列生成方法を切り替えるステップを備えることも可能である。
【0182】
さらに、本実施例では、文書検索時において、種文書から抽出される特徴文字列を補正する処理として、特徴文字列補正制御プログラム231を用いることとしたが、文書登録時においても、登録対象文書を種文書と見なし、本実施例における特徴文字列補正プログラム231と同様の処理を登録対象文書に対して実行することで、登録対象文書中に存在する特徴文字列の認識誤り文字を自動的に補正することが容易にでき、文字認識精度が向上する。
【0183】
以下、前記認識誤り文字の自動補正方式について具体的に説明する。本実施例における登録対象文書が図11に示す紙文書1001であり、図11の紙文書1001を文字認識したテキストデータが図11における文書1002であるとする。本実施例として記述した図11の文書1002を種文書と見立て、本実施例における特徴文字列補正プログラム231を用いて抽出される特徴文字列群は、図23のテーブル2201に示される文字列群となる。
【0184】
ここで、登録文書中に存在する拡張特徴文字列に含まれる文字列は、もともとの特徴文字列に統合する。例えば、拡張特徴文字列が「サッカー or ナッカー or … or サソカー or … or サッかー or …」であった場合、登録文書中で上記拡張特徴文字列に含まれる文字列(例えば、「ナッカー」や「サソカー」など)は全て「サッカー」という文字に集約することができ、「ナッカー」や「サソカー」という文字列は「サッカー」という文字列に自動的に置き換えることができる。この処理を前記特徴文字列補正プログラム231により抽出された特徴文字列全てに行なうことにより、登録対象文書内に存在する認識誤り文字を自動的、もしくは半自動的に一括補正することが可能となる。また、第二の実施例にて用いた文字確信度情報を利用し、文字確信度がある閾値以下である特徴文字列に関しては、認識誤り文字の自動補正を行なわないという方式も容易に実現できる。
【0185】
なお、認識誤り文字の自動修正方式について、抽出された特徴文字列のうち、ユーザが修正すべき特徴文字列を指定し、一括修正が行なえるユーザインタフェースは容易に実装できる。図24に、認識誤り文字の自動修正方式におけるユーザインタフェースの一例を示す。図24においては、登録対象文書を文字認識したテキストデータを表示するエリアと、自動修正を行なうか否かの設定ボタンと、選択された特徴文字列を一括修正するボタンと、修正するべき特徴文字列を選択するチェックボックスと、登録対象文書から抽出された特徴文字列を表示し、さらにプルダウンによって各特徴文字列に対応した認識誤りを起こしやすい文字列(派生文字列)を表示するテキストボックスと、登録対象文書から抽出された各特徴文字列を個々に修正する修正ボタンによって構成される。
図24に示すユーザインタフェースにおいては、修正すべき特徴文字列をチェックすると、登録対象文書を表示するエリア内に、特徴文字列あるいは派生文字列であると考えられる文字列がハイライト表示され、さらに正しいと思われる特徴文字列を登録ユーザがプルダウンで選択でき、修正ボタンを押下することで登録対象文書内における認識誤りによる派生文字列を選択された文字列へと一括変換できる。また、登録ユーザが一括修正したい特徴文字列を選択し、選択した文字列を一括修正するボタンを押下すると、選択された特徴文字列に対応する派生文字列を一括して修正できる。さらに、個々の特徴文字列に対する設定が煩雑であると考えるユーザに対しては、全て自動修正するボタンを押下することで、個々の派生文字列を画面上に表示されている特徴文字列へ一括変換できる。
【0186】
また、図24では、自動修正を行なうか否かの設定ボタンと、選択された特徴文字列を一括修正するボタンと、修正するべき特徴文字列を選択するチェックボックスと、特徴文字列群および各特徴文字列に対応した派生文字列を表示するテキストボックスと、各特徴文字列を個々に修正するボタンを用いるようにしたが、修正すべき特徴文字列をチェックし、自動修正する項目だけでもよいし、自動修正をするか否かを設定する項目だけでもよい。
【0187】
以下、本発明を適用した第四の実施例について説明する。本実施例は、システムの構成については前記第一の実施例と同一であるが、文書検索サーバ102の処理において、重み値の補正方法が異なる。
【0188】
第一の実施例においては、重み値を補正するため、特徴文字列が種文書内に出現する頻度を算出し、その出現頻度を補正するといった方式を取っている(図5のステップ510)。しかし、一般的な類似文書検索システムにおいては、特徴文字列が種文書内に出現する頻度だけでなく、検索対象の文書中で特徴文字列が存在する文書数を重み設定のパラメータとしているシステムも存在する。こういったシステムでは、特徴文字列が種文書内に出現する頻度のみを補正するだけでは、検索に必要な特徴文字列を抽出するためには不十分であることが想定される。
【0189】
本実施例では、第一の実施例における重み値補正プログラム234に加え、検索対象の文書中で特徴文字列が存在する文書数を補正することにより、重み値補正の精度を向上させるという効果が得られる。
【0190】
本実施例における文書登録の処理については、第一の実施例と同様であるため省略とし、以下では、本発明の第四の実施例における文書検索の処理について、具体的な例をあげて説明する。
【0191】
本実施例では、第一の実施例と同様、図11の紙文書1001を文字認識したテキストデータ1002を種文書として設定するものとする。この場合、第一の実施例と同様に、図13のテーブル1101に示す特徴文字列が抽出され、拡張特徴文字列生成プログラム236により、図13中のテーブル1201が生成されるものとする。ここまでは、第一の実施例と同じ処理である。
【0192】
本実施例では、この後の処理として、第一の実施例と同様、重み値補正処理を行なう。ただし、本実施例では、第一の実施例の重み値補正プログラム(図5のステップ510)と比較して、種文書内における拡張特徴文字列の頻度を算出した後、拡張特徴文字列が検索対象文書内で出現する文書数を算出するステップを加えている点が異なる。以下、重み値補正プログラム234を詳細に説明する。
【0193】
本実施例における重み値補正プログラム234では、第一の実施例と同様に、拡張特徴文字列を読み込み、拡張特徴文字列が種文書内に出現する頻度を算出する。このとき、拡張特徴文字列は各展開語が論理和にて結合されたものであるから、各展開語のいずれかが種文書内に含まれれば、出現頻度情報としてカウントできる。この処理を行なうことにより、種文書内に存在する認識誤り文字を許容し、特徴文字列の重み値設定に関わるパラメータの一つを補正できる。ここまでは、第一の実施例と同様の処理である。本実施例では、さらに、格納された拡張特徴文字列が検索対象の文書集合であるテキストファイル格納領域250に出現する回数を算出するステップを組込む。このときも各展開語のいずれかがテキストファイル格納領域250に含まれれば、出現回数情報としてカウントできる。この処理により、検索対象の文書内に存在する認識誤り文字を許容し、特徴文字列の重み値設定に関わるパラメータの一つを補正できる。そして、上記ステップにて算出された各パラメータを基として、拡張特徴文字列の重み値を算出し、その重み値を出力する。また、以降の処理は、第一の実施例と同様である。
【0194】
以上が、本実施例における重み値補正プログラム234、すなわち図5におけるステップ510の詳細な処理手順である。
【0195】
以上説明したように、本実施例を適用することにより、拡張特徴文字列が検索対象の文書に出現する文書数を算出するステップを加えることにより、重み値補正の精度を向上させ、その結果、検索精度を向上させることができる。
【0196】
なお、本実施例における検索対象の文書内における出現文書数の補正を行なう方法を採用した場合でも、前記第二の実施例同様に、検索に不要な特徴文字列と見なされる文字列を排除する方法を適用することにより、検索結果として不要な文書を検索しないので検索精度が向上する。また、前記第三の実施例同様に、同一の特徴文字列と見なされる文字列を集約する方法を適用することにより、検索における不要な特徴文字列を削除できるので検索性能および検索精度が向上する。
【0197】
また、本実施例では、文書検索時において、種文書から抽出される特徴文字列を補正する処理として、特徴文字列補正プログラム231を用いることとしたが、第三の実施例を適用することで、文書登録時においても、第三の実施例における登録対象文書に対する認識誤り自動補正方式と同様、登録対象文書を種文書と見なした処理を行なうことにより、登録対象文書中に存在する特徴文字列の認識誤りを自動的に補正することが容易に実現でき、文字認識精度が向上する。
【0198】
さらに、本実施例においても、第一の実施例同様、検索精度および検索性能の改善のため、図5におけるステップ506からステップ509、すなわち本実施例における拡張特徴文字列生成プログラム236を実行する前に、入力された検索文字列の文字列長で拡張特徴文字列を生成するか否かを判定し、実行する場合にのみ拡張特徴文字列生成プログラム236を実行するという拡張特徴文字列生成方法を切り替えるステップを備えることもできる。
【0199】
【発明の効果】
以上説明したように、文書登録を行なう場合においては、登録対象の文書をスキャナなどによって生成されたイメージデータとイメージデータを文字認識することにより抽出されたテキストデータを登録するだけでよく、また、これらの登録処理はシステムが行なうので、ユーザは登録対象の文書を提示するだけでよく、手軽に文書を登録できる。また、本発明を適用することにより、登録文書内に存在する認識誤り文字に対しても一括修正を行なえ、ユーザの負担が軽減する。
【0200】
さらに、登録した文書に対して検索を行なう場合においても、ユーザは類似文書検索をしたい元の文書を種文書として設定するだけで、種文書から抽出される特徴文字列を補正する処理と検索対象の文書内に存在する認識誤り文字を許容する処理を別々に行なうことにより、種文書と検索対象の文書のいずれかあるいは両方に存在する特徴文字列の認識誤りをユーザが意識することなく、精度の高い類似文書検索を行なえる。
【図面の簡単な説明】
【図1】本発明による文書検索システムの第一の実施例におけるシステム全体構成および文書登録サブシステムの構成を示す図である。
【図2】本発明による第一の実施例における文書登録サブシステムの概略手順を示すPAD図である。
【図3】本発明による文書検索システムの第一の実施例における文書検索サーバの構成を示す図である。
【図4】本発明による第一の実施例における文書検索サーバの概略手順を示すPAD図である。
【図5】本発明による第一の実施例における類似文書検索プログラムの概略手順を示すPAD図である。
【図6】本発明による類似文字テーブルの例を示す図である。
【図7】本発明による第一の実施例における検索クライアントの概略手順を示すPAD図である。
【図8】本発明による第一の実施例における検索クライアントの概略手順を示すPAD図である。
【図9】本発明による第一の実施例における検索結果表示プログラムの概略手順を示すPAD図である。
【図10】本発明による第一の実施例において文書登録に用いる文書および文書登録内容の具体例である。
【図11】本発明による第一の実施例において文書検索時に種文書として設定する処理の具体例である。
【図12】本発明による第一の実施例において文書検索時に設定した種文書から特徴文字列を抽出し、検索条件式を生成した具体例である。
【図13】本発明による第一の実施例において抽出された特徴文字列を補正する処理の具体例である。
【図14】本発明による第二の実施例における文書検索サーバの構成を示す図である。
【図15】本発明による第二の実施例における特徴文字列補正プログラムの概略手順を示すPAD図である。
【図16】本発明による文字確信度情報の作成方法における第一の概要図である。
【図17】本発明による文字確信度情報の作成方法における第二の概要図である。
【図18】本発明による第二の実施例において抽出された特徴文字列を補正する不要語削除プログラムの処理例を示す図である。
【図19】本発明による第二の実施例において種文書から検索に用いる特徴文字列を選択し、検索条件式を生成した一例である。
【図20】本発明による第三の実施例における特徴文字列補正プログラムの概略手順を示すPAD図である。
【図21】本発明による第三の実施例において抽出された特徴文字列をソーティングし、ヒットした文字列をマスキングする処理を組み込んだ重み値補正処理の具体例である。
【図22】本発明による第三の実施例において種文書をマスキング処理した結果の具体例である。
【図23】本発明による第三の実施例において種文書から検索に用いる特徴文字列を選択し、検索条件式を生成した一例である。
【図24】本発明による第三の実施例において登録対象文書内に存在する認識誤り文字を自動修正するユーザインタフェースの一例である。
【符号の説明】
101・・・文書登録サブシステム、102・・・文書検索サーバ、
103、104・・・検索クライアント、105・・・ネットワーク、
201・・・ディスプレイ、202・・・キーボード、
203・・・中央演算処理装置(CPU)、
204・・・フロッピーディスクドライブ(FDD)、205・・・フロッピーディスク、
206・・・スキャナ、207・・・通信制御装置、208・・・主メモリ、
209・・・磁気ディスク装置、210・・・システムバス、
211・・・システム制御プログラム、212・・・文書登録制御プログラム、
213・・・文書検索制御プログラム、214・・・クライアント制御プログラム、
220・・・スキャナ制御プログラム、221・・・文字認識プログラム、
222・・・テキスト登録プログラム、223・・・イメージ登録制御プログラム、
224・・・文書管理情報登録プログラム、
225・・・文字列インデックス生成プログラム、
226・・・検索条件式解析プログラム、227・・・類似文書検索プログラム、
228・・・種文書読込プログラム、229・・・特徴文字列抽出プログラム、
230・・・類似度算出プログラム、231・・・特徴文字列補正プログラム、
232・・・文字確信度算出プログラム、233・・・不要語削除プログラム、
234・・・重み値補正プログラム、235・・・文字列分割プログラム、
236・・・拡張特徴文字列生成プログラム、
237・・・類似文字テーブル参照プログラム、
238・・・文字列展開プログラム、239・・・検索結果取得プログラム、
240・・・検索条件入力プログラム、241・・・検索結果表示プログラム、
250・・・テキストファイル格納領域、251・・・イメージファイル格納領域、
252・・・インデックスファイル格納領域、253・・・文書管理情報格納領域、
254・・・各種プログラム格納領域、255・・・類似文字テーブル格納領域、
256・・・文字確信度情報格納領域、257・・・検索結果データ格納領域、
270・・・ワークエリア

Claims (17)

  1. 予め作成されたテキストデータ、または予めイメージ文書から文字認識処理により抽出されたテキストデータのうち少なくとも一方を登録した文書データベースから文書類似した文書を検索する文書検索システムにおける文書の検索方法であって
    前記検索システムが、
    前記文書から当該種文書中に含まれる少なくとも1つの特徴文字列を抽出する特徴文字列抽出ステップと、
    前記特徴文字列抽出ステップにより抽出された前記特徴文字列に対し、認識誤りにより発生し得る表記の候補に基づき、拡張特徴文字列を生成する文字列展開ステップと、
    前記文字列展開ステップにより生成した前記拡張特徴文字列の、前記種文書内での出現頻度を用いて、前記特徴文字列の出現頻度を補正する出現頻度補正ステップと、
    前記特徴文字列抽出ステップにより抽出された前記特徴文字列に対し、前記拡張特徴文字列を検索用文字列とし、前記補正した特徴文字列の出現頻度を前記検索用文字列の出現頻度とする、補正処理を行う検索用文字列補正ステップと、
    前記検索用文字列補正ステップにより抽出した前記検索用文字列について、認識誤りにより発生し得る表記の候補を含めた検索を実行する認識誤り許容検索ステップと、
    前記認識誤り許容検索ステップにより抽出された前記データベース中の各文書に対し、前記検索用文字列と前記検索用文字列の出現頻度情報を用いて、前記種文書との類似度を算出する類似度算出ステップと、
    を有することを特徴とする文書の検索方法。
  2. 前記出現頻度補正ステップが、前記文字列展開ステップにより生成される前記拡張特徴文字列の中の少なくとも1つの出現頻度を補正することを特徴とする請求項記載の文書の検索方法。
  3. 前記検索システムが、
    予め作成された文字確信度情報を参照することにより、検索用文字列の確信度を算出する文字確信度算出ステップと、
    前記文字確信度算出ステップにより算出された文字確信度が、予め定められた閾値を下回る文字列を検索用の文字列から除外する検索用文字列除外ステップと、
    を有することを特徴とする請求項1または2に記載の文書の検索方法。
  4. 前記検索システムが、
    前記文字列展開ステップにより生成した前記拡張特徴文字列に対し検索対象データベース内での出現頻度を抽出するデータベース内出現頻度抽出ステップと、
    前記データベース内出現頻度抽出ステップにより抽出された前記データベース中での出現頻度情報を用いて前記検索文字列を選択する検索文字列選択ステップと、
    を有することを特徴とする請求項1〜3のいずれか1項に記載の文書の検索方法。
  5. 前記検索システムが、
    前記生成した前記拡張特徴文字列に対し検索対象データベース内での出現頻度を抽出するデータベース内出現頻度抽出ステップを有し、
    前記類似度算出ステップが前記データベース内出現頻度抽出ステップにより抽出されたデータベース内出現頻度を用いて類似度の算出を行なうことを特徴とする請求項1〜4のいずれか1項に記載の文書の検索方法。
  6. 前記文書が、予めデータベース中に登録された文書、または検索時に紙文書からスキャナを用いてイメージ文書に変換後に、文字認識処理によりテキスト抽出された文書、または検索時に検索者により入力される検索用文章のうち少なくとも1種類により構成されることを特徴とする請求項1〜5のいずれか1項に記載の文書の検索方法。
  7. 前記検索システムが、
    前記文書から抽出された前記検索用文字列に対し補正処理を行う検索用文字列補正ステップを実行するか否かに関する情報を検索時に指定するインタフェースを有することを特徴とする請求項1〜6のいずれか1項に記載の文書の検索方法。
  8. 前記文書が、予めデータベース中に登録された文書であるか否かまたは検索時に紙文書からスキャナを用いてイメージ文書に変換後、文字認識処理によりテキスト抽出された文書であるか否か、または検索者により入力される検索用文章であるか否かに関する情報を用いて、前記文書から抽出する検索用文字列に対し補正処理を行う検索用文字列補正ステップを実行するか否かを決定することを特徴とする請求項7に記載の文書の検索方法。
  9. 予め作成されたテキストデータ、または予めイメージ文書から文字認識処理により抽出されたテキストデータのうち少なくとも一方を登録した文書データベースから、種文書と類似した文書を検索する文書検索システムであって、
    前記種文書から当該種文書中に含まれる少なくとも1つの特徴文字列を抽出する特徴文字列抽出手段と、
    前記特徴文字列抽出手段により抽出された前記特徴文字列に対し、認識誤りにより発生し得る表記の候補に基づき、拡張特徴文字列を生成する文字列展開手段と、
    前記文字列展開手段により生成した前記拡張特徴文字列の、前記種文書内での出現頻度を用いて、前記特徴文字列の出現頻度を補正する出現頻度補正手段と、
    前記特徴文字列抽出手段により抽出された前記特徴文字列に対し、前記拡張特徴文字列を検索用文字列とし、前記補正した特徴文字列の出現頻度を前記検索用文字列の出現頻度とする、補正処理を行う検索用文字列補正手段と、
    前記検索用文字列補正手段により抽出した前記検索用文字列について、認識誤りにより発生し得る表記の候補を含めた検索を実行する認識誤り許容検索手段と、
    前記認識誤り許容検索手段により抽出された前記データベース中の各文書に対し、前記検索用文字列と前記検索用文字列の出現頻度情報とを用いて前記種文書との類似度を算出する類似度算出手段と、
    を有することを特徴とする文書検索システム。
  10. 前記出現頻度補正手段が、前記文字列展開手段により生成される前記拡張特徴文字列の中の少なくとも1つの出現頻度を補正することを特徴とする請求項9記載の文書検索システム。
  11. 予め作成された文字確信度情報を参照することにより、検索用文字列の確信度を算出する文字確信度算出手段と、
    前記文字確信度算出手段により算出された文字確信度が、予め定められた閾値を下回る文字列を検索用の文字列から除外する検索用文字列除外手段と、
    を有することを特徴とする請求項9または10に記載の文書検索システム。
  12. 前記文字列展開手段により生成した前記拡張特徴文字列に対し検索対象データベース内での出現頻度を抽出するデータベース内出現頻度抽出手段と、
    前記データベース内出現頻度抽出手段により抽出された前記データベース中での出現頻度情報を用いて前記検索用文字列を選択する検索用文字列選択手段と、
    を有することを特徴とする請求項9〜11のいずれか1項に記載の文書検索システム。
  13. 前記生成した前記拡張特徴文字列に対し検索対象データベース内での出現頻度を抽出するデータベース内出現頻度抽出手段を有し、
    前記類似度算出手段が、前記データベース内出現頻度抽出手段により抽出されたデータベース内出現頻度を用いて類似度の算出を行なうことを特徴とする請求項9〜12のいずれか1項に記載の文書検索システム。
  14. 前記種文書が、予めデータベース中に登録された文書、または検索時に紙文書からスキャナを用いてイメージ文書に変換後に、文字認識処理によりテキスト抽出された文書、または検索時に検索者により入力される検索用文章、のうち少なくとも1種類により構成されることを特徴とする請求項9〜13のいずれか1項に記載の文書検索システム。
  15. 前記種文書から抽出された前記検索用文字列に対し補正処理を行う検索用文字列補正手段を実行するか否かに関する情報を検索時に指定するインタフェースを有することを特徴とする請求項9〜14のいずれか1項に記載の文書検索システム。
  16. 前記種文書が、予めデータベース中に登録された文書であるか否か、または検索時に紙文書からスキャナを用いてイメージ文書に変換後、文字認識処理によりテキスト抽出された文書であるか、否かまたは検索者により入力される検索用文章であるか否か、に関する情報を用いて、前記種文書から抽出する検索用文字列に対し補正処理を行う検索用文字列補正手段を実行するか否かを決定することを特徴とする請求項15に記載の文書検索システム。
  17. 請求項1〜8のいずれか1項に記載の文書の検索方法の各ステップを、前記文書検索システムに実行させるためのプログラム。
JP2002044109A 2002-02-21 2002-02-21 文書の検索方法および検索システム Expired - Fee Related JP4006239B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002044109A JP4006239B2 (ja) 2002-02-21 2002-02-21 文書の検索方法および検索システム
US10/370,829 US7047238B2 (en) 2002-02-21 2003-02-21 Document retrieval method and document retrieval system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002044109A JP4006239B2 (ja) 2002-02-21 2002-02-21 文書の検索方法および検索システム

Publications (2)

Publication Number Publication Date
JP2003242171A JP2003242171A (ja) 2003-08-29
JP4006239B2 true JP4006239B2 (ja) 2007-11-14

Family

ID=27783620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002044109A Expired - Fee Related JP4006239B2 (ja) 2002-02-21 2002-02-21 文書の検索方法および検索システム

Country Status (2)

Country Link
US (1) US7047238B2 (ja)
JP (1) JP4006239B2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687879B1 (en) * 1998-07-09 2004-02-03 Fuji Photo Film Co., Ltd. Font retrieval apparatus and method using a font link table
DE60005293T2 (de) * 2000-02-23 2004-07-01 Ser Solutions Inc. Methode und Vorrichtung zur Verarbeitung elektronischer Dokumente
US9177828B2 (en) 2011-02-10 2015-11-03 Micron Technology, Inc. External gettering method and device
ES2375403T3 (es) 2001-08-27 2012-02-29 BDGB Enterprise Software Sàrl Un método para la indexación automática de documentos.
JP4154308B2 (ja) * 2003-10-06 2008-09-24 キヤノン株式会社 帳票認識装置、帳票認識方法、プログラムおよび記憶媒体
JP2006189924A (ja) * 2004-12-28 2006-07-20 Kyocera Mita Corp 画像表示プログラム及び画像表示装置
JP4738857B2 (ja) * 2005-03-23 2011-08-03 キヤノン株式会社 画像処理装置およびその方法
US20070139703A1 (en) * 2005-12-19 2007-06-21 Glory Ltd. Print inspecting apparatus
JP4897520B2 (ja) 2006-03-20 2012-03-14 株式会社リコー 情報配信システム
JP4860574B2 (ja) * 2006-09-13 2012-01-25 株式会社キーエンス 文字切り出し装置、方法およびプログラム
JP4774390B2 (ja) * 2006-09-13 2011-09-14 株式会社キーエンス 文字切り出し装置、方法およびプログラム
JP5141560B2 (ja) * 2007-01-24 2013-02-13 富士通株式会社 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法
JP5239367B2 (ja) * 2007-03-19 2013-07-17 富士通株式会社 情報提供システム、情報提供プログラムおよび情報提供方法
US8094976B2 (en) * 2007-10-03 2012-01-10 Esker, Inc. One-screen reconciliation of business document image data, optical character recognition extracted data, and enterprise resource planning data
JP4866334B2 (ja) * 2007-11-27 2012-02-01 日本電信電話株式会社 頻度補正装置とその方法、それらを用いた情報抽出装置と情報抽出方法、それらのプログラム
US8908998B2 (en) * 2007-12-07 2014-12-09 Educational Testing Service Method for automated quality control
JP5125573B2 (ja) * 2008-02-12 2013-01-23 富士通株式会社 領域抽出プログラム、文字認識プログラム、および文字認識装置
US8131720B2 (en) 2008-07-25 2012-03-06 Microsoft Corporation Using an ID domain to improve searching
US8271499B2 (en) * 2009-06-10 2012-09-18 At&T Intellectual Property I, L.P. Incremental maintenance of inverted indexes for approximate string matching
US9158833B2 (en) 2009-11-02 2015-10-13 Harry Urbschat System and method for obtaining document information
US9152883B2 (en) * 2009-11-02 2015-10-06 Harry Urbschat System and method for increasing the accuracy of optical character recognition (OCR)
US8321357B2 (en) * 2009-09-30 2012-11-27 Lapir Gennady Method and system for extraction
US9213756B2 (en) * 2009-11-02 2015-12-15 Harry Urbschat System and method of using dynamic variance networks
JP5528121B2 (ja) * 2010-01-05 2014-06-25 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US8452099B2 (en) * 2010-11-27 2013-05-28 Hewlett-Packard Development Company, L.P. Optical character recognition (OCR) engines having confidence values for text types
JP5647919B2 (ja) * 2011-03-07 2015-01-07 株式会社Nttドコモ 文字認識装置、文字認識方法、文字認識システム、および文字認識プログラム
JP5906071B2 (ja) * 2011-12-01 2016-04-20 キヤノン株式会社 情報処理方法、情報処理装置、および記憶媒体
KR20130080515A (ko) * 2012-01-05 2013-07-15 삼성전자주식회사 디스플레이 장치 및 그 디스플레이 장치에 표시된 문자 편집 방법.
JP5910867B2 (ja) * 2012-03-13 2016-04-27 日本電気株式会社 文書内の図情報を利用した類似文書の検索システム及び方法
US8983211B2 (en) * 2012-05-14 2015-03-17 Xerox Corporation Method for processing optical character recognizer output
US9147275B1 (en) 2012-11-19 2015-09-29 A9.Com, Inc. Approaches to text editing
US9043349B1 (en) 2012-11-29 2015-05-26 A9.Com, Inc. Image-based character recognition
JP6131765B2 (ja) * 2013-08-06 2017-05-24 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP5920293B2 (ja) * 2013-08-23 2016-05-18 富士ゼロックス株式会社 画像処理装置及びプログラム
CN106599900B (zh) * 2015-10-20 2020-04-21 华中科技大学 一种识别图像中的字符串的方法和装置
US10629300B2 (en) 2016-05-09 2020-04-21 Bank Of America Corporation Geographic selection system based on resource allocation and distribution
WO2018125926A1 (en) * 2016-12-27 2018-07-05 Datalogic Usa, Inc Robust string text detection for industrial optical character recognition
JP6868186B2 (ja) * 2017-03-24 2021-05-12 富士フイルムビジネスイノベーション株式会社 検索情報生成装置、画像処理装置、検索情報生成プログラム
JP7139669B2 (ja) * 2018-04-17 2022-09-21 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7241506B2 (ja) * 2018-10-30 2023-03-17 ウイングアーク1st株式会社 光学式文字認識結果の修正支援装置および修正支援用プログラム
KR20200103236A (ko) * 2019-02-22 2020-09-02 삼성전자주식회사 수기에 기반한 입력을 디스플레이하기 위한 방법 및 장치
JP7387363B2 (ja) * 2019-09-30 2023-11-28 キヤノン株式会社 データ入力支援装置、データ入力支援方法及びプログラム
JP2021149184A (ja) * 2020-03-16 2021-09-27 富士フイルムビジネスイノベーション株式会社 文書処理装置、文書管理サーバ及びプログラム
CN116226357B (zh) * 2023-05-09 2023-07-14 武汉纺织大学 一种输入中包含错误信息场景下的文档检索方法
CN116502614B (zh) * 2023-06-26 2023-09-01 北京每日信动科技有限公司 一种数据校对方法、系统及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2932667B2 (ja) 1990-10-22 1999-08-09 松下電器産業株式会社 情報の検索方法および情報蓄積装置
JPH08115330A (ja) 1994-10-14 1996-05-07 Hitachi Ltd 類似文書検索方法および装置
US6111985A (en) * 1997-06-06 2000-08-29 Microsoft Corporation Method and mechanism for providing partial results in full context handwriting recognition
US6219453B1 (en) * 1997-08-11 2001-04-17 At&T Corp. Method and apparatus for performing an automatic correction of misrecognized words produced by an optical character recognition technique by using a Hidden Markov Model based algorithm
US6154579A (en) * 1997-08-11 2000-11-28 At&T Corp. Confusion matrix based method and system for correcting misrecognized words appearing in documents generated by an optical character recognition technique
US6205261B1 (en) * 1998-02-05 2001-03-20 At&T Corp. Confusion set based method and system for correcting misrecognized words appearing in documents generated by an optical character recognition technique
US6333999B1 (en) * 1998-11-06 2001-12-25 International Business Machines Corporation Systematic enumerating of strings using patterns and rules
DE10028624B4 (de) * 1999-06-09 2007-07-05 Ricoh Co., Ltd. Verfahren und Vorrichtung zur Dokumentenbeschaffung
US6459810B1 (en) * 1999-09-03 2002-10-01 International Business Machines Corporation Method and apparatus for forming variant search strings
JP4377494B2 (ja) * 1999-10-22 2009-12-02 東芝テック株式会社 情報入力装置
US6847734B2 (en) * 2000-01-28 2005-01-25 Kabushiki Kaisha Toshiba Word recognition method and storage medium that stores word recognition program
JP2002189747A (ja) 2000-12-19 2002-07-05 Hitachi Ltd 文書情報の検索方法
JP4421134B2 (ja) * 2001-04-18 2010-02-24 富士通株式会社 文書画像検索装置
CA2373568C (en) * 2001-04-26 2008-06-17 Hitachi, Ltd. Method of searching similar document, system for performing the same and program for processing the same

Also Published As

Publication number Publication date
US7047238B2 (en) 2006-05-16
JP2003242171A (ja) 2003-08-29
US20040255218A1 (en) 2004-12-16

Similar Documents

Publication Publication Date Title
JP4006239B2 (ja) 文書の検索方法および検索システム
JP4162711B2 (ja) Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法
US20100057439A1 (en) Portable storage medium storing translation support program, translation support system and translation support method
US11736587B2 (en) System and method for integrating message content into a target data processing device
US20220222292A1 (en) Method and system for ideogram character analysis
CN111428494A (zh) 专有名词的智能纠错方法、装置、设备及存储介质
US9087118B2 (en) Information search apparatus, and information search method, and computer product
EP1122651A2 (en) Method and apparatus for retrieving and delivering documents, and recording media storing a program therefor
CN102890690B (zh) 目标信息搜索方法和装置
US11468346B2 (en) Identifying sequence headings in a document
US11645312B2 (en) Attribute extraction apparatus and attribute extraction method
JPH05159101A (ja) 文書論理構造認識および文書内容認識のための装置および方法
JP2020095374A (ja) 文字認識システム、文字認識装置、プログラム及び文字認識方法
JP4511892B2 (ja) 類義語検索装置、その方法、そのプログラム、および、情報検索装置
JP5466376B2 (ja) 情報処理装置、姓名識別方法、情報処理システム、およびプログラム
US11971852B2 (en) File management device, file management method, and non-transitory computer readable medium
JPH1063813A (ja) イメージ文書管理方法及びその装置
US10990338B2 (en) Information processing system and non-transitory computer readable medium
JP3998201B2 (ja) 文書検索方法
JP3368359B2 (ja) グループ文書情報システム
CN116681042A (zh) 基于关键字提取的内容概要生成方法、系统及介质
NZ760613B2 (en) System and method for integrating message content into a target data processing device
JP2017037461A (ja) 文書管理プログラム及び情報処理装置
JPH0816711A (ja) 日本語入力装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041112

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060512

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070827

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees