説明

文書処理装置、及び文書処理方法、並びにプログラム

【課題】OCR結果に対応する文字の画像を高速でクラスタリングし、同じクラスタに含まれる画像について一覧表示することができる業務文書処理装置を提供する。
【解決手段】OCR結果の文字に対応する複数の画像間の類似度と分類を行う過程において、生成されたクラスタから代表となる画像を決定し、その画像を用いて分類することで、階層的クラスタリングにおける画像間の類似度の計算回数を削減したクラスタリングを行い、同じクラスタに含まれる画像の認識結果が正しいかの目視確認を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書処理装置、及び文書処理方法、並びにプログラムに関し、例えば、大量に存在する業務文書のファイルデータを効率的に管理するための技術に関する。
【背景技術】
【0002】
現在、帳票上の文字情報を電子化するためにOCRが利用され、帳票に記載された文字を抽出して管理や検索などに活用するニーズが高まっている。そのOCRの利用に伴い、オペレーターの目視により抽出した文字の誤認識の確認と修正が行われている。OCRの認識精度が「正解率90%」なのであれば、認識結果のうち10%についてだけ修正を行えば良い。
【0003】
しかしながら、OCR結果のうち、どれが正しく認識した文字で、どれが誤って認識した文字であるかを事前に知ることはできない。このため、OCRを基幹業務に適用するなど、認識結果が全て正しいことを要求される場合には、認識結果の全てについて文書と照らし合わせた目視による確認が必須である。最近では、目視による確認の効率向上のため、複数の抽出した文字とその抽出対象となった画像部分(文字画像)とを表示装置の画面に一覧で表示する技術の発明が多数ある。例えば、特許文献1では、同じ文字として認識した文字画像に対してk-means法を拡張したクラスタリング処理を実行し、特徴量に基づいてクラスタ分類し、同一クラスタが含む画像を隣接させて一覧表示することで、一覧の中から認識した文字と異なる文字画像をユーザが探して修正できる手法の発明が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4172584号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記手法のクラスタリングでは、k-means法を用いたクラスタリング手法に従って、全ての文字画像に対して各クラスタの重心への距離を求める処理を、クラスタ間の文字画像の移動がなくなるまで繰り返さなければならない。従って、クラスタ分類処理における計算量が膨大となり、処理に時間が掛かってしまい、非効率的である。また、他のクラスタリング手法として階層的クラスタリングなどがある。この手法では全ての文字画像間の距離を求める(総当りで各文字間距離を求める)ようにしている。一般的に、距離の計算回数が文字画像の数の二乗に比例することから、いずれの手法においても膨大な計算時間を要するという課題がある。
【0006】
本発明はこのような状況に鑑みてなされたものであり、OCR結果に対応する文字の画像を高速でクラスタリングし、OCR結果確認のための時間を短縮することができる技術を提供するものである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、発明者は、文字画像を分類する階層的クラスタリング手法の処理過程において、大多数の文字画像と類似している文字の画像(代表画像)を割り当てて分類することにより、画像間の類似度の計算回数を削減する解決策に想到した。文字画像のクラスタリングにおいて、文字の形状のパターンの数は限られることから、多くの文字画像を含むクラスタが生成される、すなわち、文字画像数に対して少ないクラスタが生成されることに着目した。
【0008】
即ち、本発明による文書処理装置(業務文書処理装置)では、メモリには、複数の文書についてOCR処理の認識結果である複数の文字画像の情報が、少なくとも格納されている。プロセッサは、上記メモリから複数の文字画像を読み込み、OCR処理によって同一文字であると判断された複数の文字画像の中から代表文字画像を設定する。そして、プロセッサは、代表文字画像と、当該代表文字画像以外の文字画像との統計量(類似度や特徴量の距離)を計算することによりクラスタ分類処理を実行し、そのクラスタ分類処理の結果を表示装置に表示する。
【0009】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【0010】
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【0011】
本発明によれば、複数の文字の画像を類似度の計算と分類する過程において、生成されたクラスタから代表となる画像を選抜(設定)し、代表画像を用いて分類を行うことで、分類した画像に関して他の画像との統計量(類似度)の計算を省略し、統計量(類似度)の計算の回数を削減することができ、OCR認識結果の確認作業の高速化及び効率化を図ることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態による業務文書処理装置の概略構成例を示す機能ブロック図である。
【図2】文書情報および文字情報のデータ構造例を示す図である。
【図3】業務文書処理装置において実行されるクラスタ分類結果の一覧表示処理を説明するためのフローチャートである。
【図4】クラスタリング処理の詳細を説明するためのフローチャートである。
【図5】一覧表示処理によって表示される一覧表示画面例を示す図である。
【図6】重ね合わせ合成画像生成処理の例を示す図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面において、同一の符号を付した部分は同一物を表し、基本的な構成及び動作は同様であるものとする。また、添付図面は、本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。つまり、本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【0014】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
【0015】
なお、以後の説明では「テーブル」形式によって本発明の情報(図2参照)について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
【0016】
また、当該情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【0017】
以下ではプログラムによって規定される処理はプロセッサ(中央処理装置)によって実行されることで定められるため、プロセッサを主語とした説明としているが、「プログラム」を主語(動作主体)として本発明の実施形態における各処理について説明しても良い。また、プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。さらに、各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【0018】
<業務文書処理装置の構成>
図1は、本発明の実施形態による業務文書処理装置10の概略構成を示す機能ブロック図である。業務文書処理装置10は、データを表示するための表示装置100と、文書情報DB101と、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード102と、マウスなどのポインティングデバイス103と、必要な演算処理や制御処理などを行う中央処理装置104と、中央処理装置104での処理に必要なプログラムを格納するプログラムメモリ105と、中央処理装置104での処理に必要なデータを格納するデータメモリ106と、を有している。
【0019】
中央処理装置104は、プログラムメモリ105から、文字抽出処理プログラムと、クラスタリング処理プログラム(代表画像クラスタリング処理プログラム及び類似画像クラスタリング処理プログラム)と、一覧表示処理プログラムを読み込み、文字抽出処理107と、クラスタリング処理108と、一括確認表示処理109と、を実行する。クラスタリング処理108は、代表画像クラスタリング処理110と、類似画像クラスタリング処理111とによって構成されている。
データメモリ106は、文書情報112と、文字情報113とを保持している。
【0020】
<データ構造>
図2は、データメモリ106に含まれる文書情報112及び文字情報113のデータ構造を示す図である。
【0021】
文書情報112は、文書ID200と、パス201と、抽出文字202と、を含んでいる。文書ID200は、文書情報112を一意に特定・識別するための情報(値)である。パス201は、紙文書をスキャンした画像のファイルパスに相当する情報である。抽出文字202は、文字情報構造体の配列の形で保持される情報である。このデータ構造は、例えば、ファイルパスが「server01\division001\file1.tiff」で格納された紙文書のスキャン画像にOCR処理を行い、抽出した文字についての情報が文字情報の配列として保持されている状況を示している。
【0022】
文字情報は、文字ID203と、画像204と、文字205と、クラスタID206と、類似度計算フラグ207と、を含んでいる。文字ID203は、文字情報113を一意に特定・識別するための情報(値)である。画像204は、OCRが文字として認識した画像部分を切出した文字画像であり、ファイル形式のデータとして保持される。文字画像は、例えば、手書きで記入されたアラビア数字の画像である。文字205は、画像204が保持する文字画像についてOCRが認識した結果の文字に相当する情報である。クラスタID206は、「i0001」を文字ID203として持つ文字情報がクラスタ「c0001」として分類されたということを示す情報(値)である。類似度計算フラグ207は、「true」または「false」の情報(値)を示す。「true」は後述の類似度(「類似度」は、「統計量」に含まれる評価指標の一例である)を計算する対象であることを意味し、「false」は当該類似度を計算する対象から外れることを意味する。つまり、類似度計算フラグ207は、類似画像クラスタリング処理111において、どの文字情報をクラスタリングするかの判定の際に用いる情報である。
【0023】
<クラスタ結果表示処理>
次に、本実施形態の業務文書処理装置10において行われる処理について説明する。図3は、業務文書処理装置10において行われるクラスタ結果表示処理を説明するための全体的なフローチャートである。このフローチャートは、OCRの認識結果が同一である文字について、認識した画像部分の特徴量を基準にクラスタリングを行い、各クラスタについてユーザが認識結果の正誤を確認するための一覧表示を行う処理を示している。また、フローチャートにおける処理の主体は中央処理装置104とする。
【0024】
図3において、まず、中央処理装置104は、文字抽出処理107を実行して、文書情報112を文書情報DB101から読み込み、文字情報113として保持する(ステップ300)。
【0025】
また、中央処理装置104は、文字抽出処理107により、保持する文書情報112のパス201が示すファイル名の紙文書のスキャン画像にOCR処理を行い、抽出した文字についての情報を文字情報113として保持する(ステップ301)。文字情報113におけるクラスタID206はこの時点ではNULL値であり、類似度計算フラグ207は「true」である。
【0026】
次に、中央処理装置104は、文字の種類のインデックスchar_idxを1で初期化し(ステップ302)、char_idx番目の文字についてクラスタリング処理108を実行して、文字情報のクラスタリングを行う(ステップ303)。例えば、char_idx番目の文字の種類「4」を文字205として持つ文字情報113についてクラスタリングを行うことを示す。この処理については、図4において詳細に説明する。
【0027】
次に、中央処理装置104は、クラスタIDのインデックスcluster_idxを1で初期化し(ステップ304)、cluster_idx番目のクラスタに対して一覧表示処理109を実行して、得られたクラスタを表示装置100の表示画面上に一覧表示する(ステップ305)。一覧表示では、cluster_idx番目のクラスタが含む文字情報113において、画像204が持つ文字画像を表示装置100に一覧表示する。一覧表示については、図5を参照して詳細に説明する。
【0028】
続いて、中央処理装置104は、cluster_idxをインクリメントし、ステップ305で表示されたクラスタ結果をメモリに格納する(ステップ306)。
【0029】
そして、中央処理装置104は、cluster_idx以上のクラスタが存在するかを調べ(ステップ307)、もし存在するならステップ305から処理を繰り返す。ステップ307において、cluster_idx以上のクラスタが存在しないならば、中央処理装置104は、char_idxをインクリメントし(ステップ308)、char_idx以上の文字の種類が存在するかを調べる(ステップ308)。char_idx以上の文字の種類が存在すると判断した場合、中央処理装置104は、ステップ303からの処理を繰り返す。一方、ステップ308においてchar_idx以上の文字の種類が存在しないと判断された場合、処理は終了する。
【0030】
<クラスタリング処理の詳細>
図4は、図3のステップ303におけるクラスタリングを行う処理の詳細を説明するためのフローチャートである。このフローチャートにおける処理の主体は中央処理装置104である。
【0031】
クラスタリング処理では、分類する文字画像群を先頭から逐次類似度を計算して分類する階層的クラスタリングの過程において代表画像を選抜(設定)し、代表画像を用いて後続する文字画像を分類する。代表画像は、順番に各文字画像間の類似度を計算する際の、生成されているクラスタから文字画像を一つ選抜し代表画像とする。より具体的には、OCR処理によって同一種類の文字であると判断された文字画像の集合に対して、順番に各文字画像間の類似度を総当りで計算を始める。その計算の過程で、他の文字画像との類似度が閾値以上あり、当該「他の文字画像」の個数が所定数以上の文字画像を「代表画像」と設定する。代表画像が設定されれば、その代表画像との類似度のみ計算し、総当りでの類似度計算は行わないようにする。
【0032】
なお、類似度の計算は、黒ピクセルのパターンの一致度合いを計算して、文字の形状が類似しているかを評価する。すると、同じ文字であっても、文字を成す線の太さが異なること、文字の大きさが異なること、傾斜の有無や、開口部分の有無(同じ「4」でも手書きの場合、頂点部分が開口している場合(図5参照)がある)など、異なる形状の文字についての差を明確に評価することができる。このような類似度を基準に分類して生成されるクラスタは、互いに文字の形状が類似する関係にある画像を含めることができる。
【0033】
すなわち、多くの文字画像を含むクラスタは、典型的な形状の文字である文字画像を含むクラスタである。このようなクラスタについて、代表画像を選抜し、後続する文字画像を分類すると、後続する文字画像の中で典型的な同じ形状の文字の文字画像を代表画像との類似度の計算のみで同一クラスタに含めることができる。すると、代表画像を用いて分類した文字画像においては、他の文字画像との計算を行わずに分類できることから、類似度の計算回数を削減することが可能となる。たとえば、同じ形式の帳票に記載された活字は、同じ文字であれば形状が類似し、また、記入欄の背景にガイドがある手書きの帳票においても、同じ文字であっても記入者によって形状の差は大きくあるものの、扱う画像を増加させていくと類似した形状の文字が出現する傾向となる。このように、文字画像をクラスタリングする場合、文字の形状のパターンの数は限られてくることから、多くの文字を含むクラスタが複数生成される。すなわち、分類する画像数に対して生成されるクラスタは少数であり、これらのクラスタにおける代表画像を用いて分類することで計算回数を削減することができる。
【0034】
図4において、中央処理装置104は、まず、文字情報113のインデックスid_idxを1で初期化し(ステップ400)、設定された代表画像を用いて代表画像クラスタリング処理110を実行し、id_idx番目の文字情報113を分類する(ステップ401)。この処理では、id_idx番目の文字情報を、代表画像群における各代表画像を割り当てて類似度を求め、最も類似度が高い代表画像と同一のクラスタに分類する。代表画像は、クラスタID206にクラスタIDが設定された文字情報113である。また、代表画像を含むクラスタIDは一意であり、すなわち、代表画像群における代表画像はそれぞれ異なるクラスタに含まれる。文字情報113を代表画像として選抜する処理は、後述するステップ403の処理において詳しく説明する。なお、代表画像がまだ設定されていない場合には、ステップ401のクラスタリング処理は実行されず、ステップ402を経由して、ステップ403において文字IDが1〜id_idxまでの各文字間(類似度計算フラグが「true」のもの(=クラスタに分類されていない文字)のみ)での総当りの類似度計算が実行される。インデックスid_idxが小さい(文字数が少ない)場合には、代表画像が決定される(ステップ404)まで、ステップ401→402→403→404→405→406の処理が繰り返されることになる。また、ステップ401の処理で求める類似度は、id_idx番目の文字情報113における画像204が保持する画像と、割り当てた代表画像における画像204と、が保持する文字画像間の類似度である。二つの画像間の類似度を求めることから、SSD(Sum of Squared Difference)法、SAD(Sum of Absolute Difference)法、およびNCC法(Normalized Cross-Correlation)などの既存手法を用いて求めることができる。代表画像の配列の先頭から逐次類似度を求めて、閾値以上の類似度が求まった場合、id_idx番目の文字情報113を最大値が算出された代表画像と同一のクラスタに含める。文字情報113をクラスタに含めるには、クラスタに割り当てたクラスタIDを文字情報113におけるクラスタID205に設定する。すなわち、閾値以上の類似度が求まった代表画像である文字情報113におけるクラスタIDの値を設定する。
【0035】
次に、中央処理装置104は、ステップ401の処理によって、id_idx番目の文字情報113がいずれかのクラスタに分類されたか調べ(ステップ402)、もし分類されたなら処理をステップ405へ進める。ステップ401の処理によって、id_idx番目の文字情報113が分類されていないならば、中央処理装置104は、類似画像クラスタリング処理111を実行して、1番目からid_idx番目までの類似度計算フラグ207に「true」を保持する文字情報113についてクラスタリングを行う(ステップ403)。類似度計算フラグ207に「true」を保持する文字情報113は、代表画像を用いたクラスタリング処理のステップ401において分類されていない文字情報である。ステップ403の処理では、分類の対象となる各文字情報間の類似度を総当りで求めて、文字情報間の距離として用いてクラスタリングを行う。分類対象間の距離が定義された元でのクラスタリングは、階層的クラスタリング手法である最短距離法、最長距離法、群平均法、およびウォード法などの既存手法を用いることができる。これらの階層的クラスタリング手法は、N個の文字情報を分類するとき、初期状態として1個の文字情報だけを含むN個のクラスタを作り、文字情報間の距離を用いてクラスタ間の距離を計算し、最も距離の近い二つのクラスタを逐次併合するアルゴリズムである。このとき、閾値以上の距離のクラスタのみを併合させることで、一定水準以上で類似する文字画像を含むクラスタを複数生成することができる。そして、生成された各クラスタには、一意のクラスタIDを割り当てる。また、クラスタに含まれる文字情報113において、各クラスタID206にクラスタに割り当てたクラスタIDを設定する。各文字情報間の類似度は、二つの文字情報113における画像204が保持する画像に対して、SSD(Sum of Squared Difference)法、SAD(Sum of Absolute Difference)法、およびNCC法(Normalized Cross-Correlation)などの二つの画像間の類似度を計算する既存手法を用いて求めることができる。
【0036】
続いて、中央処理装置104は、ステップ403の処理において、閾値以上の類似度が求まった文字情報113の数が一定数を超えた文字情報113を代表画像の配列に追加する(ステップ404)。
【0037】
そして、中央処理装置104は、代表画像と同一クラスタに含まれる文字情報において、文字情報の類似度計算フラグ207に「false」を設定する(ステップ405)。
【0038】
次に、中央処理装置104は、id_idxをインクリメントし(ステップ406)、id_idx以上の文字情報が存在するかを調べ(ステップ407)、該当する文字情報が存在する場合、ステップ401からの処理を繰り返す。ステップ407において、id_idx以上の文字情報が存在しない場合には、処理は終了する。
【0039】
<一覧表示(例)>
図5は、図3のステップ305における、クラスタが含む画像を一覧表示する処理の結果である一覧表示画面の例を示す図である。
【0040】
一覧表示画面50は、例えば、OKボタン500と、代表画像に基づいてクラスタ分類された文字群を表示する文字画像一覧表示501と、OCRの認識結果を示す認識結果文字表示502と、当該クラスタの代表画像を示す代表画像表示503と、を含む。
【0041】
一覧表示画面50においては、クラスタに含まれる文字情報113における画像204が保持する画像が一覧表示される(501)。
【0042】
また、クラスタはOCR結果が同一の文字画像について分類した結果であり、同一クラスタに含まれる文字情報113における文字205が保持する文字は全て同じである。この文字を認識結果502に表示することで、ユーザは一覧表示された画像の認識結果が正しいかを確認することができる。
【0043】
一覧表示された画像は、代表画像503を基準にして分類されているので、互いに類似しており、従来の文字の形状が異なる画像が並んだ確認画面を用いる場合に比べてユーザの負担は少なく、効率的に確認作業が行える。
【0044】
さらに、表示するクラスタにおいて、ステップ303のクラスタリングの処理を行う際に代表画像として選抜された文字情報113を含む場合、その文字情報113における画像204の文字画像が代表画像503に表示される。一覧表示した画像は、代表画像503に表示した画像と類似することで同一クラスタに含まれたことが分かる。
【0045】
また、類似度が閾値以上の文字情報113が同一クラスタに分類されていることから、OCRにより誤認識された画像における文字は、正しい認識結果を含むクラスタに含まれにくいため、誤認識された文字のみが表示され、確認作業が容易になる。一覧表示した画像の確認を行ったユーザはOKボタン500を押下することで、次のクラスタについての一覧表示処理が進む。
【0046】
なお、本実施形態では、文字「4」について代表画像に基づくクラスタ処理をした結果、14個のクラスタ(14個の代表画像)が生成され、図5はそのうち最初(1/14)のクラスタを示していることが分かる。
【0047】
<変形例>
(1)上述の実施形態では、図4のステップ401とステップ403の処理において、二つの文字画像の統計量を計算する処理として類似度計算について述べているが、類似度の他に、当該統計量として、二つの文字画像の特徴量の距離を用いてもよい。この場合、画像の特徴量の取得は、メッシュ特徴、ペリフェラル特徴、周辺分布特徴、および幾何学的特長などの既存の画像の特徴量抽出技術を用いればよい。取得した特徴量に対して、ユークリッド平方距離やミンコフスキー距離、マハラノビスの汎距離などの多変量を持つ二点間の距離を求める既存手法を用いて二つの文字画像間の距離が求められる。
【0048】
(2)上述の実施形態では、図4のステップ401とステップ403の処理において、二つの文字情報113の類似度を計算する処理について述べているが、さらなる機能として、類似度を求める際に文字画像の拡大・縮小、回転などを行って類似度の計算を行うことも考えられる。
【0049】
(3)上述の実施形態では、図4のステップ403の処理において、分類する文字画像から代表画像を選抜する処理について示しているが、この他に、クラスタが含む各文字画像の特徴量からクラスタの中心を求めて、中心から最も距離が近い文字画像を代表として選抜するようにしても良い。具体的には、代表画像を取得する際に実行するクラスタ処理において、類似度が近い文字画像群において中心となる値を求め、その中心の値に最も近い文字画像を代表画像とする。
また、文字画像の配列に代表とする形状の文字画像あらかじめ用意(決定)して格納することも考えられる。特に、分類する文字画像のフォントスタイルやサイズが既知の場合、あらかじめ同一のフォントスタイルとサイズの文字画像を代表画像として格納することで、多くの分類する文字画像を代表画像との類似度で分類することができる。
【0050】
(4)上述の実施形態では、図4のステップ401の処理において、文字情報に対して配列に格納された代表画像を先頭から順に割り当てて分類を行う例について示しているが、さらなる機能として、代表画像と同一クラスタに含まれる文字情報の数を降順にして、代表画像の配列をソートすることも考えられる。この場合、代表画像の配列の先頭から順に当該文字情報との類似度の計算を行い、一定値以上の類似度が算出された時点で当該文字情報をクラスタに分類する。より多くの文字画像と類似している代表画像から優先して当該文字情報に割り当てることができるため、すべての代表画像との類似度の計算をせずに分類できるのでステップ401のクラスタリング処理を効率化できる。
【0051】
(5)上述の実施形態では、代表画像を用いて分類する文字画像を同一のクラスタに含めるか判定を行う例について示しているが、この他に、代表画像の代わりに、クラスタが含む文字画像における黒ピクセル数の平均を用いてもよい。これは、同じ形状(同じ文字で線の太さ)であれば、黒ピクセル数も同じ位であろうという推論に基づくものである。同じクラスタに含めるかの判定は、クラスタが含む文字画像における黒ピクセル数の平均と、分類する文字画像の黒ピクセル数との差が閾値以下である場合、分類する画像を同一のクラスタに含める。互いに類似する文字画像であれば、文字を成す黒ピクセルの数の差が少ないことから、類似する画像を分類することができる。
【0052】
(6)上述の実施形態では、アラビア数字の画像のクラスタリングを行う例について示しているが、この他に、文字の種類数が限定されている状況ならば、本発明の適用範囲はアラビア文字に限らない。例えば、アルファベット、ギリシャ文字、キリル文字、ハングル文字、および限定された漢字などでもよい。
【0053】
(7)上述の実施形態では、手書きで記入された文字の画像のクラスタリングを行う例について示しているが、この他に、活字で記載された文字の文字画像、医療分野の血液像検査における分類計測する血液像の画像、および物流分野における選別する製品の画像など、分類する画像のピクセルパターンの数が限られる条件において画像をクラスタリングしてもよい。
【0054】
(8)上述の実施形態では、クラスタリング結果を一覧表示する例について示しているが、一覧表示に代えて、或いはそれに加えて、同じクラスタに含まれる画像を重ねて表示するようにしても良い。例えば、図5に示されるクラスタに含まれる全ての文字画像について、AND画像とOR画像を生成し、それを重ね合わせ画像として表示装置100に表示する。AND画像は、同一クラスタに含まれる全ての文字画像の共通部分のピクセルを示す画像となる。一方、OR画像は、同一クラスタに含まれる全ての文字画像が有するピクセルの総和を示す画像となる。OCRによる認識結果が正しければ、AND画像とOR画像で示される画像は同じような画像となり、OCRによる認識結果が誤っていると、AND画像とOR画像は異なる画像となる。
【0055】
ここで、より正確に理解するために、AND画像とOR画像について例を用いて説明する。図6は、重ね合わせ合成画像(アルファベットの場合)の例を示す図である。なお、AND合成画像とOR合成画像の2つの画像を生成する際に使用する画像は、すべて2値の画像とし、各画素の画素値は「0」あるいは「255」とする。画素値の「0」はレンダリングされるときの色が「黒」、「255」は「白」となる。
【0056】
まず、1つ目の処理は、画像が重なる部分の画素値のAND演算を行い、AND合成画像を生成する処理である。ここでのAND演算では、どちらか一方の、あるいは両方の画素の色が「白」の場合、演算結果は「白」となり、どちらとも「黒」の場合は演算結果が「黒」となる。
【0057】
2つ目の処理は、OR演算によってOR合成画像を生成する処理である。ここでの演算処理では、どちらか一方の、あるいは両方の画素の色が「黒」の場合、演算結果は「黒」となり、両方が「白」の場合は演算結果が「白」となる。処理対象クラスタに含まれる文字画像のデータをデータメモリ106から取得して、合成する文字の先頭文字の合成座標データの参照を行い、その位置で重ね合わせる。合成方法としては既存技術であるアルファブレンド等で全体合成画像を生成する。
【0058】
そして、適切に分類されなかった画像がある場合、AND演算による合成画像とOR演算による合成画像の文字画像が異なる歪み方をするため、目視で確認することができる。
【0059】
また、画素値の演算処理による合成パターンは、AND演算、及びOR演算に限られず、アルファブレンドでもよい。また、例えば、画像を重ね合わせて、各座標において、画素値が「黒」の値である画像を数えるようにしても良い。このとき、各座標で求めた画像の数によって、輝度や色を異なるものにして画像を生成する。モノクロ8ビットの文字画像の場合、各画素において「黒」の値である画像数が少なくなるほど輝度値は高くなり、画像数が多くなるほど輝度値は低くなる。
【0060】
図6では、文字「C」の画像を4つ重ね合わせて合成処理を行った場合の(図6A)と、文字「C」の画像を3つと文字「O」の画像が1つを重ね合わせて合成処理を行った場合の(図6B)が示されている。この例では、同一クラスタに4つの文字画像が分類された場合を想定している。
【0061】
図6Aの場合、AND合成画像とOR合成画像ともに文字「C」と認識できる文字であり、2つの合成画像を確認することで文字「C」以外の文字の画像が混在していないことが分かる。
【0062】
一方、図6Bの場合、AND合成画像で認識できる文字は「C」であるが、OR合成画像では文字「C」以外の形をしている。よって、異なる文字の画像が混在していることが確認できる。このようにアルファベットの場合でも、合成文字画像の差分の比較を行うことで異なる文字の混在を識別することが可能となる。
【0063】
<まとめ>
(1)本実施形態では、OCR処理の認識結果である複数の文字画像の情報について、OCR処理によって同一文字であると判断された複数の文字画像に対してクラスタ分類処理を実行し、当該クラスタ分類処理の結果を表示装置に表示する。このクラスタ分類処理の際、同一文字であると判断された複数の文字画像の中から代表文字画像を設定する。そして、代表文字画像と、代表文字画像以外の文字画像との統計量(例えば、類似度や、特徴量の距離)を計算する。このように代表画像を決めてそれと他の文字画像とを比較するようにしているので、OCR処理で同一文字と判断された文字群の各文字画像の統計量を総当りで計算する必要がなくなり、クラスタ分類処理の高速化を図ることができるようなる。このため、OCR認識結果の確認作業の効率化を図ることができるようになる。
【0064】
また、クラスタ分類処理において選抜(決定)される代表画像の配列を、各代表画像と同一クラスタの文字画像の数に従ってソートして類似度の計算をしても良い。代表画像の配列をソートする場合、分類対象である文字画像が一定値以上の類似度が算出された時点で当該文字画像をクラスタに分類し、次の文字画像の分類処理に移る。このようにすることにより、含まれる文字画像数が多いクラスタ、すなわち、多くの文字画像と類似する可能性が高いクラスタから順に分類対象の文字画像に割り当てることができるため、クラスタ分類処理の高速化を図ることができるようになる。このため、OCRの認識結果の確認作業の効率化を図ることができるようになる。
【0065】
また、クラスタ分類結果を一覧表示する場合には、同一クラスタに含まれる文字画像とともに、代表画像も併せて表示するようにする。このように一覧表示することにより、ユーザはOCRの認識結果が正しいか容易に確認することができるとともに、代表文字画像を示すことによって、表示されている文字画像が同一クラスタに含まれるように分類された理由を知る(推測する)ことができる。
【0066】
代表文字画像は、ユーザの選択(指定)によって設定しても良いし、同一文字と判断された文字群を並べたときにk番目(kは任意の正整数)の文字画像を代表文字画像とすると予め設定しておいても良い。このようにすることにより、代表文字画像決定の演算を省略することができ、クラスタ分類処理の高速化を一層図ることができるようになる。また、同一文字であると判断された複数の文字画像のそれぞれの間での統計量の計算を開始し(まずは総当りで統計量(類似度、距離)の計算をする)、その計算途中で、所定の閾値以上の統計量を示す文字画像を所定数以上有する文字画像を代表文字画像として設定するようにしても良い。このようにすることにより、代表文字画像に関連するクラスタに必ず所定数以上の文字画像が含まれることを保証することができ、クラスタの数を無用に多くすることがなく、確認作業の効率化を図ることができる。
【0067】
さらに、クラスタ分類処理によって得られるクラスタに分類された複数の文字画像について、重ね合わせ合成画像を生成し、合成画像を上記一覧表示に加えて表示するようにしても良い。この際、重ね合わせ合成画像として、同一クラスタ内の複数の文字画像のAND画像とOR画像を生成する。このようにすることにより、ユーザは、OCR認識結果の正誤を簡単に確認することができるようになる。つまり、OCR認識結果が正しければAND画像とOR画像が同一の文字として認識可能であるが、OCR認識結果が正しくなければ、AND画像とOR画像が異なるため、それら2つを比較することで非常に簡単にOCR認識結果の正誤を確認することができるのである。
【0068】
(2)本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0069】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【0070】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【0071】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0072】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【0073】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。記述された実施形態の多様な態様及び/又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【0074】
10・・・業務文書処理装置(文書処理装置)
50・・・一覧表示画面例
100・・・表示装置
101・・・文書情報DB
102・・・キーボード
103・・・ポインティングデバイス
104・・・中央処理装置
105・・・プログラムメモリ
106・・・データメモリ
107・・・文字抽出処理部
108・・・クラスタリング処理部
109・・・一覧表示処理部
110・・・代表画像クラスタリング処理部
111・・・類似画像クラスタリング処理部
112・・・文書情報
113・・・文字情報

【特許請求の範囲】
【請求項1】
OCR処理の認識結果を表示する文書処理装置であって、
複数の文書について、OCR処理の認識結果である複数の文字画像の情報を少なくとも保持するメモリと、
前記メモリから前記複数の文字画像を読み込み、前記OCR処理によって同一文字であると判断された複数の文字画像に対してクラスタ分類処理を実行し、当該クラスタ分類処理の結果を表示装置に表示するプロセッサと、を有し、
前記プロセッサは、前記同一文字であると判断された複数の文字画像の中から代表文字画像を設定し、当該代表文字画像と、当該代表文字画像以外の文字画像との統計量を計算することにより前記クラスタ分類処理を実行することを特徴とする文書処理装置。
【請求項2】
請求項1において、
前記プロセッサは、複数の代表文字画像を設定し、それぞれの代表文字画像を用いて前記クラスタ分類処理を実行して複数のクラスタを生成し、それぞれのクラスタに含まれる文字画像と該当する代表文字画像とを一覧表示することを特徴とする文書処理装置。
【請求項3】
請求項1において、
前記プロセッサは、前記同一文字であると判断された複数の文字画像のそれぞれの間での前記統計量の計算を開始し、前記複数の文字画像の中で、所定の閾値以上の統計量を示す文字画像が所定数以上の文字画像を前記代表文字画像として設定することを特徴とする文書処理装置。
【請求項4】
請求項1において、
前記プロセッサは、入力される指示に基づいて、前記代表文字画像を設定することを特徴とする文書処理装置。
【請求項5】
請求項1において、
前記プロセッサは、前記クラスタ分類処理によって得られるクラスタに分類された複数の文字画像について、重ね合わせ合成画像を生成し、当該合成画像を前記表示装置に表示することを特徴とする文書処理装置。
【請求項6】
請求項5において、
前記プロセッサは、前記重ね合わせ合成画像として、前記複数の文字画像のAND画像とOR画像を生成することを特徴とする文書処理装置。
【請求項7】
請求項1において、
前記プロセッサは、複数の代表文字画像を、同一クラスタが含む文字画像の数に従ってソートすることを特徴とする文書処理装置。
【請求項8】
請求項1において、
前記プロセッサは、前記特徴量として、前記代表文字画像と、当該代表文字画像以外の文字画像との類似度、或いは特徴量の距離を計算することにより、前記クラスタ分類処理を実行することを特徴とする文書処理装置。
【請求項9】
プロセッサとメモリを有する文書処理装置においてOCR処理の認識結果に対して所定の処理を実行する文書処理方法であって、
前記プロセッサが、複数の文書について、OCR処理の認識結果である複数の文字画像の情報を少なくとも保持するメモリから前記複数の文字画像を読み込むステップと、
前記プロセッサが、前記OCR処理によって同一文字であると判断された複数の文字画像の中から代表文字画像を設定するステップと、
前記プロセッサが、前記代表文字画像と、当該代表文字画像以外の文字画像との統計量を計算することによりクラスタ分類処理を実行するステップと、
前記プロセッサが、前記クラスタ分類処理の結果を表示装置に表示するステップと、
を有することを特徴とする文書処理方法。
【請求項10】
請求項9において、
前記クラスタ分類処理を実行するステップにおいて、前記プロセッサは、複数の代表文字画像を設定し、それぞれの代表文字画像を用いて前記クラスタ分類処理を実行して複数のクラスタを生成し、
前記表示するステップにおいて、前記プロセッサは、前記複数のクラスタのそれぞれに含まれる文字画像と該当する代表文字画像とを一覧表示することを特徴とする文書処理方法。
【請求項11】
請求項9において、
前記代表文字画像を設定するステップにおいて、前記プロセッサは、前記同一文字であると判断された複数の文字画像のそれぞれの間での前記統計量の計算を開始し、前記複数の文字画像の中で、所定の閾値以上の統計量を示す文字画像が所定数以上の文字画像を前記代表文字画像として設定することを特徴とする文書処理方法。
【請求項12】
請求項9において、
さらに、前記プロセッサが、前記クラスタ分類処理によって得られるクラスタに分類された複数の文字画像について、重ね合わせ合成画像を生成するステップを有し、
前記表示するステップにおいて、前記プロセッサは、前記合成画像を前記表示装置に表示することを特徴とする文書処理方法。
【請求項13】
請求項12において、
前記重ね合わせ合成画像を生成するステップにおいて、前記プロセッサは、前記重ね合わせ合成画像として、前記複数の文字画像のAND画像とOR画像を生成することを特徴とする文書処理方法。
【請求項14】
プロセッサとメモリを有するコンピュータに、OCR処理の認識結果に対して所定の処理を実行させるためのプログラムであって、
前記プロセッサに、
複数の文書について、OCR処理の認識結果である複数の文字画像の情報を少なくとも保持するメモリから前記複数の文字画像を読み込む処理と、
前記OCR処理によって同一文字であると判断された複数の文字画像の中から代表文字画像を設定する処理と、
前記代表文字画像と、当該代表文字画像以外の文字画像との統計量を計算することによりクラスタ分類処理を実行する処理と、
前記クラスタ分類処理の結果を表示装置に表示する処理と、
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate