(57)【要約】【課題】OCR結果に対応する文字の画像を高速でクラスタリングし、同じクラスタに含まれる画像について一覧表示することができる業務文書処理装置を提供する。【解決手段】OCR結果の文字に対応する複数の画像間の類似度と分類を行う過程において、生成されたクラスタから代表となる画像を決定し、その画像を用いて分類することで、階層的クラスタリングにおける画像間の類似度の計算回数を削減したクラスタリングを行い、同じクラスタに含まれる画像の認識結果が正しいかの目視確認を行う。【選択図】図５
2013073608.tif 000002
【特許請求の範囲】
【請求項１】
OCR処理の認識結果を表示する文書処理装置であって、
複数の文書について、OCR処理の認識結果である複数の文字画像の情報を少なくとも保持するメモリと、
前記メモリから前記複数の文字画像を読み込み、前記OCR処理によって同一文字であると判断された複数の文字画像に対してクラスタ分類処理を実行し、当該クラスタ分類処理の結果を表示装置に表示するプロセッサと、を有し、
前記プロセッサは、前記同一文字であると判断された複数の文字画像の中から代表文字画像を設定し、当該代表文字画像と、当該代表文字画像以外の文字画像との統計量を計算することにより前記クラスタ分類処理を実行することを特徴とする文書処理装置。
【請求項２】
請求項１において、
前記プロセッサは、複数の代表文字画像を設定し、それぞれの代表文字画像を用いて前記クラスタ分類処理を実行して複数のクラスタを生成し、それぞれのクラスタに含まれる文字画像と該当する代表文字画像とを一覧表示することを特徴とする文書処理装置。
【請求項３】
請求項１において、
前記プロセッサは、前記同一文字であると判断された複数の文字画像のそれぞれの間での前記統計量の計算を開始し、前記複数の文字画像の中で、所定の閾値以上の統計量を示す文字画像が所定数以上の文字画像を前記代表文字画像として設定することを特徴とする文書処理装置。
【請求項４】
請求項１において、
前記プロセッサは、入力される指示に基づいて、前記代表文字画像を設定することを特徴とする文書処理装置。
【請求項５】
請求項１において、
前記プロセッサは、前記クラスタ分類処理によって得られるクラスタに分類された複数の文字画像について、重ね合わせ合成画像を生成し、当該合成画像を前記表示装置に表示することを特徴とする文書処理装置。
【請求項６】
請求項５において、
前記プロセッサは、前記重ね合わせ合成画像として、前記複数の文字画像のＡＮＤ画像とＯＲ画像を生成することを特徴とする文書処理装置。
【請求項７】
請求項１において、
前記プロセッサは、複数の代表文字画像を、同一クラスタが含む文字画像の数に従ってソートすることを特徴とする文書処理装置。
【請求項８】
請求項１において、
前記プロセッサは、前記特徴量として、前記代表文字画像と、当該代表文字画像以外の文字画像との類似度、或いは特徴量の距離を計算することにより、前記クラスタ分類処理を実行することを特徴とする文書処理装置。
【請求項９】
プロセッサとメモリを有する文書処理装置においてOCR処理の認識結果に対して所定の処理を実行する文書処理方法であって、
前記プロセッサが、複数の文書について、OCR処理の認識結果である複数の文字画像の情報を少なくとも保持するメモリから前記複数の文字画像を読み込むステップと、
前記プロセッサが、前記OCR処理によって同一文字であると判断された複数の文字画像の中から代表文字画像を設定するステップと、
前記プロセッサが、前記代表文字画像と、当該代表文字画像以外の文字画像との統計量を計算することによりクラスタ分類処理を実行するステップと、
前記プロセッサが、前記クラスタ分類処理の結果を表示装置に表示するステップと、
を有することを特徴とする文書処理方法。
【請求項１０】
請求項９において、
前記クラスタ分類処理を実行するステップにおいて、前記プロセッサは、複数の代表文字画像を設定し、それぞれの代表文字画像を用いて前記クラスタ分類処理を実行して複数のクラスタを生成し、
前記表示するステップにおいて、前記プロセッサは、前記複数のクラスタのそれぞれに含まれる文字画像と該当する代表文字画像とを一覧表示することを特徴とする文書処理方法。
【請求項１１】
請求項９において、
前記代表文字画像を設定するステップにおいて、前記プロセッサは、前記同一文字であると判断された複数の文字画像のそれぞれの間での前記統計量の計算を開始し、前記複数の文字画像の中で、所定の閾値以上の統計量を示す文字画像が所定数以上の文字画像を前記代表文字画像として設定することを特徴とする文書処理方法。
【請求項１２】
請求項９において、
さらに、前記プロセッサが、前記クラスタ分類処理によって得られるクラスタに分類された複数の文字画像について、重ね合わせ合成画像を生成するステップを有し、
前記表示するステップにおいて、前記プロセッサは、前記合成画像を前記表示装置に表示することを特徴とする文書処理方法。
【請求項１３】
請求項１２において、
前記重ね合わせ合成画像を生成するステップにおいて、前記プロセッサは、前記重ね合わせ合成画像として、前記複数の文字画像のＡＮＤ画像とＯＲ画像を生成することを特徴とする文書処理方法。
【請求項１４】
プロセッサとメモリを有するコンピュータに、OCR処理の認識結果に対して所定の処理を実行させるためのプログラムであって、
前記プロセッサに、
複数の文書について、OCR処理の認識結果である複数の文字画像の情報を少なくとも保持するメモリから前記複数の文字画像を読み込む処理と、
前記OCR処理によって同一文字であると判断された複数の文字画像の中から代表文字画像を設定する処理と、
前記代表文字画像と、当該代表文字画像以外の文字画像との統計量を計算することによりクラスタ分類処理を実行する処理と、
前記クラスタ分類処理の結果を表示装置に表示する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理装置、及び文書処理方法、並びにプログラムに関し、例えば、大量に存在する業務文書のファイルデータを効率的に管理するための技術に関する。
【背景技術】
【０００２】
現在、帳票上の文字情報を電子化するためにOCRが利用され、帳票に記載された文字を抽出して管理や検索などに活用するニーズが高まっている。そのOCRの利用に伴い、オペレーターの目視により抽出した文字の誤認識の確認と修正が行われている。OCRの認識精度が「正解率９０％」なのであれば、認識結果のうち１０％についてだけ修正を行えば良い。
【０００３】
しかしながら、OCR結果のうち、どれが正しく認識した文字で、どれが誤って認識した文字であるかを事前に知ることはできない。このため、OCRを基幹業務に適用するなど、認識結果が全て正しいことを要求される場合には、認識結果の全てについて文書と照らし合わせた目視による確認が必須である。最近では、目視による確認の効率向上のため、複数の抽出した文字とその抽出対象となった画像部分(文字画像)とを表示装置の画面に一覧で表示する技術の発明が多数ある。例えば、特許文献１では、同じ文字として認識した文字画像に対してk-means法を拡張したクラスタリング処理を実行し、特徴量に基づいてクラスタ分類し、同一クラスタが含む画像を隣接させて一覧表示することで、一覧の中から認識した文字と異なる文字画像をユーザが探して修正できる手法の発明が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４１７２５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記手法のクラスタリングでは、k-means法を用いたクラスタリング手法に従って、全ての文字画像に対して各クラスタの重心への距離を求める処理を、クラスタ間の文字画像の移動がなくなるまで繰り返さなければならない。従って、クラスタ分類処理における計算量が膨大となり、処理に時間が掛かってしまい、非効率的である。また、他のクラスタリング手法として階層的クラスタリングなどがある。この手法では全ての文字画像間の距離を求める（総当りで各文字間距離を求める）ようにしている。一般的に、距離の計算回数が文字画像の数の二乗に比例することから、いずれの手法においても膨大な計算時間を要するという課題がある。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、OCR結果に対応する文字の画像を高速でクラスタリングし、OCR結果確認のための時間を短縮することができる技術を提供するものである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、発明者は、文字画像を分類する階層的クラスタリング手法の処理過程において、大多数の文字画像と類似している文字の画像(代表画像)を割り当てて分類することにより、画像間の類似度の計算回数を削減する解決策に想到した。文字画像のクラスタリングにおいて、文字の形状のパターンの数は限られることから、多くの文字画像を含むクラスタが生成される、すなわち、文字画像数に対して少ないクラスタが生成されることに着目した。
【０００８】
即ち、本発明による文書処理装置（業務文書処理装置）では、メモリには、複数の文書についてOCR処理の認識結果である複数の文字画像の情報が、少なくとも格納されている。プロセッサは、上記メモリから複数の文字画像を読み込み、OCR処理によって同一文字であると判断された複数の文字画像の中から代表文字画像を設定する。そして、プロセッサは、代表文字画像と、当該代表文字画像以外の文字画像との統計量（類似度や特徴量の距離）を計算することによりクラスタ分類処理を実行し、そのクラスタ分類処理の結果を表示装置に表示する。
【０００９】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【００１０】
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【００１１】
本発明によれば、複数の文字の画像を類似度の計算と分類する過程において、生成されたクラスタから代表となる画像を選抜（設定）し、代表画像を用いて分類を行うことで、分類した画像に関して他の画像との統計量（類似度）の計算を省略し、統計量（類似度）の計算の回数を削減することができ、OCR認識結果の確認作業の高速化及び効率化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態による業務文書処理装置の概略構成例を示す機能ブロック図である。
【図２】文書情報および文字情報のデータ構造例を示す図である。
【図３】業務文書処理装置において実行されるクラスタ分類結果の一覧表示処理を説明するためのフローチャートである。
【図４】クラスタリング処理の詳細を説明するためのフローチャートである。
【図５】一覧表示処理によって表示される一覧表示画面例を示す図である。
【図６】重ね合わせ合成画像生成処理の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面において、同一の符号を付した部分は同一物を表し、基本的な構成及び動作は同様であるものとする。また、添付図面は、本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。つまり、本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【００１４】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
【００１５】
なお、以後の説明では「テーブル」形式によって本発明の情報（図２参照）について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、ＤＢ、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について単に「情報」と呼ぶことがある。
【００１６】
また、当該情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【００１７】
以下ではプログラムによって規定される処理はプロセッサ（中央処理装置）によって実行されることで定められるため、プロセッサを主語とした説明としているが、「プログラム」を主語（動作主体）として本発明の実施形態における各処理について説明しても良い。また、プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。さらに、各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００１８】
＜業務文書処理装置の構成＞
図１は、本発明の実施形態による業務文書処理装置１０の概略構成を示す機能ブロック図である。業務文書処理装置１０は、データを表示するための表示装置１００と、文書情報ＤＢ１０１と、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード１０２と、マウスなどのポインティングデバイス１０３と、必要な演算処理や制御処理などを行う中央処理装置１０４と、中央処理装置１０４での処理に必要なプログラムを格納するプログラムメモリ１０５と、中央処理装置１０４での処理に必要なデータを格納するデータメモリ１０６と、を有している。
【００１９】
中央処理装置１０４は、プログラムメモリ１０５から、文字抽出処理プログラムと、クラスタリング処理プログラム（代表画像クラスタリング処理プログラム及び類似画像クラスタリング処理プログラム）と、一覧表示処理プログラムを読み込み、文字抽出処理１０７と、クラスタリング処理１０８と、一括確認表示処理１０９と、を実行する。クラスタリング処理１０８は、代表画像クラスタリング処理１１０と、類似画像クラスタリング処理１１１とによって構成されている。
データメモリ１０６は、文書情報１１２と、文字情報１１３とを保持している。
【００２０】
＜データ構造＞
図２は、データメモリ１０６に含まれる文書情報１１２及び文字情報１１３のデータ構造を示す図である。
【００２１】
文書情報１１２は、文書ＩＤ２００と、パス２０１と、抽出文字２０２と、を含んでいる。文書ＩＤ２００は、文書情報１１２を一意に特定・識別するための情報（値）である。パス２０１は、紙文書をスキャンした画像のファイルパスに相当する情報である。抽出文字２０２は、文字情報構造体の配列の形で保持される情報である。このデータ構造は、例えば、ファイルパスが「server01\division001\file1.tiff」で格納された紙文書のスキャン画像にOCR処理を行い、抽出した文字についての情報が文字情報の配列として保持されている状況を示している。
【００２２】
文字情報は、文字ＩＤ２０３と、画像２０４と、文字２０５と、クラスタＩＤ２０６と、類似度計算フラグ２０７と、を含んでいる。文字ＩＤ２０３は、文字情報１１３を一意に特定・識別するための情報（値）である。画像２０４は、OCRが文字として認識した画像部分を切出した文字画像であり、ファイル形式のデータとして保持される。文字画像は、例えば、手書きで記入されたアラビア数字の画像である。文字２０５は、画像２０４が保持する文字画像についてOCRが認識した結果の文字に相当する情報である。クラスタＩＤ２０６は、「i0001」を文字ＩＤ２０３として持つ文字情報がクラスタ「c0001」として分類されたということを示す情報（値）である。類似度計算フラグ２０７は、「true」または「false」の情報（値）を示す。「true」は後述の類似度（「類似度」は、「統計量」に含まれる評価指標の一例である）を計算する対象であることを意味し、「false」は当該類似度を計算する対象から外れることを意味する。つまり、類似度計算フラグ２０７は、類似画像クラスタリング処理１１１において、どの文字情報をクラスタリングするかの判定の際に用いる情報である。
【００２３】
＜クラスタ結果表示処理＞
次に、本実施形態の業務文書処理装置１０において行われる処理について説明する。図３は、業務文書処理装置１０において行われるクラスタ結果表示処理を説明するための全体的なフローチャートである。このフローチャートは、OCRの認識結果が同一である文字について、認識した画像部分の特徴量を基準にクラスタリングを行い、各クラスタについてユーザが認識結果の正誤を確認するための一覧表示を行う処理を示している。また、フローチャートにおける処理の主体は中央処理装置１０４とする。
【００２４】
図３において、まず、中央処理装置１０４は、文字抽出処理１０７を実行して、文書情報１１２を文書情報ＤＢ１０１から読み込み、文字情報１１３として保持する（ステップ３００）。
【００２５】
また、中央処理装置１０４は、文字抽出処理１０７により、保持する文書情報１１２のパス２０１が示すファイル名の紙文書のスキャン画像にOCR処理を行い、抽出した文字についての情報を文字情報１１３として保持する（ステップ３０１）。文字情報１１３におけるクラスタＩＤ２０６はこの時点ではＮＵＬＬ値であり、類似度計算フラグ２０７は「true」である。
【００２６】
次に、中央処理装置１０４は、文字の種類のインデックスchar_idxを１で初期化し（ステップ３０２）、char_idx番目の文字についてクラスタリング処理１０８を実行して、文字情報のクラスタリングを行う（ステップ３０３）。例えば、char_idx番目の文字の種類「４」を文字２０５として持つ文字情報１１３についてクラスタリングを行うことを示す。この処理については、図４において詳細に説明する。
【００２７】
次に、中央処理装置１０４は、クラスタＩＤのインデックスcluster_idxを１で初期化し（ステップ３０４）、cluster_idx番目のクラスタに対して一覧表示処理１０９を実行して、得られたクラスタを表示装置１００の表示画面上に一覧表示する（ステップ３０５）。一覧表示では、cluster_idx番目のクラスタが含む文字情報１１３において、画像２０４が持つ文字画像を表示装置１００に一覧表示する。一覧表示については、図５を参照して詳細に説明する。
【００２８】
続いて、中央処理装置１０４は、cluster_idxをインクリメントし、ステップ３０５で表示されたクラスタ結果をメモリに格納する（ステップ３０６）。
【００２９】
そして、中央処理装置１０４は、cluster_idx以上のクラスタが存在するかを調べ（ステップ３０７）、もし存在するならステップ３０５から処理を繰り返す。ステップ３０７において、cluster_idx以上のクラスタが存在しないならば、中央処理装置１０４は、char_idxをインクリメントし（ステップ３０８）、char_idx以上の文字の種類が存在するかを調べる（ステップ３０８）。char_idx以上の文字の種類が存在すると判断した場合、中央処理装置１０４は、ステップ３０３からの処理を繰り返す。一方、ステップ３０８においてchar_idx以上の文字の種類が存在しないと判断された場合、処理は終了する。
【００３０】
＜クラスタリング処理の詳細＞
図４は、図３のステップ３０３におけるクラスタリングを行う処理の詳細を説明するためのフローチャートである。このフローチャートにおける処理の主体は中央処理装置１０４である。
【００３１】
クラスタリング処理では、分類する文字画像群を先頭から逐次類似度を計算して分類する階層的クラスタリングの過程において代表画像を選抜（設定）し、代表画像を用いて後続する文字画像を分類する。代表画像は、順番に各文字画像間の類似度を計算する際の、生成されているクラスタから文字画像を一つ選抜し代表画像とする。より具体的には、OCR処理によって同一種類の文字であると判断された文字画像の集合に対して、順番に各文字画像間の類似度を総当りで計算を始める。その計算の過程で、他の文字画像との類似度が閾値以上あり、当該「他の文字画像」の個数が所定数以上の文字画像を「代表画像」と設定する。代表画像が設定されれば、その代表画像との類似度のみ計算し、総当りでの類似度計算は行わないようにする。
【００３２】
なお、類似度の計算は、黒ピクセルのパターンの一致度合いを計算して、文字の形状が類似しているかを評価する。すると、同じ文字であっても、文字を成す線の太さが異なること、文字の大きさが異なること、傾斜の有無や、開口部分の有無（同じ「４」でも手書きの場合、頂点部分が開口している場合（図５参照）がある）など、異なる形状の文字についての差を明確に評価することができる。このような類似度を基準に分類して生成されるクラスタは、互いに文字の形状が類似する関係にある画像を含めることができる。
【００３３】
すなわち、多くの文字画像を含むクラスタは、典型的な形状の文字である文字画像を含むクラスタである。このようなクラスタについて、代表画像を選抜し、後続する文字画像を分類すると、後続する文字画像の中で典型的な同じ形状の文字の文字画像を代表画像との類似度の計算のみで同一クラスタに含めることができる。すると、代表画像を用いて分類した文字画像においては、他の文字画像との計算を行わずに分類できることから、類似度の計算回数を削減することが可能となる。たとえば、同じ形式の帳票に記載された活字は、同じ文字であれば形状が類似し、また、記入欄の背景にガイドがある手書きの帳票においても、同じ文字であっても記入者によって形状の差は大きくあるものの、扱う画像を増加させていくと類似した形状の文字が出現する傾向となる。このように、文字画像をクラスタリングする場合、文字の形状のパターンの数は限られてくることから、多くの文字を含むクラスタが複数生成される。すなわち、分類する画像数に対して生成されるクラスタは少数であり、これらのクラスタにおける代表画像を用いて分類することで計算回数を削減することができる。
【００３４】
図４において、中央処理装置１０４は、まず、文字情報１１３のインデックスid_idxを１で初期化し（ステップ４００）、設定された代表画像を用いて代表画像クラスタリング処理１１０を実行し、id_idx番目の文字情報１１３を分類する（ステップ４０１）。この処理では、id_idx番目の文字情報を、代表画像群における各代表画像を割り当てて類似度を求め、最も類似度が高い代表画像と同一のクラスタに分類する。代表画像は、クラスタＩＤ２０６にクラスタＩＤが設定された文字情報１１３である。また、代表画像を含むクラスタＩＤは一意であり、すなわち、代表画像群における代表画像はそれぞれ異なるクラスタに含まれる。文字情報１１３を代表画像として選抜する処理は、後述するステップ４０３の処理において詳しく説明する。なお、代表画像がまだ設定されていない場合には、ステップ４０１のクラスタリング処理は実行されず、ステップ４０２を経由して、ステップ４０３において文字ＩＤが１〜id_idxまでの各文字間（類似度計算フラグが「true」のもの（＝クラスタに分類されていない文字）のみ）での総当りの類似度計算が実行される。インデックスid_idxが小さい（文字数が少ない）場合には、代表画像が決定される（ステップ４０４）まで、ステップ４０１→４０２→４０３→４０４→４０５→４０６の処理が繰り返されることになる。また、ステップ４０１の処理で求める類似度は、id_idx番目の文字情報１１３における画像２０４が保持する画像と、割り当てた代表画像における画像２０４と、が保持する文字画像間の類似度である。二つの画像間の類似度を求めることから、ＳＳＤ（Sum of Squared Difference）法、ＳＡＤ（Sum of Absolute Difference）法、およびＮＣＣ法（Normalized Cross-Correlation）などの既存手法を用いて求めることができる。代表画像の配列の先頭から逐次類似度を求めて、閾値以上の類似度が求まった場合、id_idx番目の文字情報１１３を最大値が算出された代表画像と同一のクラスタに含める。文字情報１１３をクラスタに含めるには、クラスタに割り当てたクラスタＩＤを文字情報１１３におけるクラスタＩＤ２０５に設定する。すなわち、閾値以上の類似度が求まった代表画像である文字情報１１３におけるクラスタＩＤの値を設定する。
【００３５】
次に、中央処理装置１０４は、ステップ４０１の処理によって、id_idx番目の文字情報１１３がいずれかのクラスタに分類されたか調べ(ステップ４０２)、もし分類されたなら処理をステップ４０５へ進める。ステップ４０１の処理によって、id_idx番目の文字情報１１３が分類されていないならば、中央処理装置１０４は、類似画像クラスタリング処理１１１を実行して、１番目からid_idx番目までの類似度計算フラグ２０７に「true」を保持する文字情報１１３についてクラスタリングを行う(ステップ４０３)。類似度計算フラグ２０７に「true」を保持する文字情報１１３は、代表画像を用いたクラスタリング処理のステップ４０１において分類されていない文字情報である。ステップ４０３の処理では、分類の対象となる各文字情報間の類似度を総当りで求めて、文字情報間の距離として用いてクラスタリングを行う。分類対象間の距離が定義された元でのクラスタリングは、階層的クラスタリング手法である最短距離法、最長距離法、群平均法、およびウォード法などの既存手法を用いることができる。これらの階層的クラスタリング手法は、Ｎ個の文字情報を分類するとき、初期状態として１個の文字情報だけを含むＮ個のクラスタを作り、文字情報間の距離を用いてクラスタ間の距離を計算し、最も距離の近い二つのクラスタを逐次併合するアルゴリズムである。このとき、閾値以上の距離のクラスタのみを併合させることで、一定水準以上で類似する文字画像を含むクラスタを複数生成することができる。そして、生成された各クラスタには、一意のクラスタＩＤを割り当てる。また、クラスタに含まれる文字情報１１３において、各クラスタＩＤ２０６にクラスタに割り当てたクラスタＩＤを設定する。各文字情報間の類似度は、二つの文字情報１１３における画像２０４が保持する画像に対して、ＳＳＤ（Sum of Squared Difference）法、ＳＡＤ（Sum of Absolute Difference）法、およびＮＣＣ法（Normalized Cross-Correlation）などの二つの画像間の類似度を計算する既存手法を用いて求めることができる。
【００３６】
続いて、中央処理装置１０４は、ステップ４０３の処理において、閾値以上の類似度が求まった文字情報１１３の数が一定数を超えた文字情報１１３を代表画像の配列に追加する(ステップ４０４)。
【００３７】
そして、中央処理装置１０４は、代表画像と同一クラスタに含まれる文字情報において、文字情報の類似度計算フラグ２０７に「false」を設定する(ステップ４０５)。
【００３８】
次に、中央処理装置１０４は、id_idxをインクリメントし（ステップ４０６）、id_idx以上の文字情報が存在するかを調べ（ステップ４０７）、該当する文字情報が存在する場合、ステップ４０１からの処理を繰り返す。ステップ４０７において、id_idx以上の文字情報が存在しない場合には、処理は終了する。
【００３９】
＜一覧表示（例）＞
図５は、図３のステップ３０５における、クラスタが含む画像を一覧表示する処理の結果である一覧表示画面の例を示す図である。
【００４０】
一覧表示画面５０は、例えば、ＯＫボタン５００と、代表画像に基づいてクラスタ分類された文字群を表示する文字画像一覧表示５０１と、OCRの認識結果を示す認識結果文字表示５０２と、当該クラスタの代表画像を示す代表画像表示５０３と、を含む。
【００４１】
一覧表示画面５０においては、クラスタに含まれる文字情報１１３における画像２０４が保持する画像が一覧表示される(５０１)。
【００４２】
また、クラスタはOCR結果が同一の文字画像について分類した結果であり、同一クラスタに含まれる文字情報１１３における文字２０５が保持する文字は全て同じである。この文字を認識結果５０２に表示することで、ユーザは一覧表示された画像の認識結果が正しいかを確認することができる。
【００４３】
一覧表示された画像は、代表画像５０３を基準にして分類されているので、互いに類似しており、従来の文字の形状が異なる画像が並んだ確認画面を用いる場合に比べてユーザの負担は少なく、効率的に確認作業が行える。
【００４４】
さらに、表示するクラスタにおいて、ステップ３０３のクラスタリングの処理を行う際に代表画像として選抜された文字情報１１３を含む場合、その文字情報１１３における画像２０４の文字画像が代表画像５０３に表示される。一覧表示した画像は、代表画像５０３に表示した画像と類似することで同一クラスタに含まれたことが分かる。
【００４５】
また、類似度が閾値以上の文字情報１１３が同一クラスタに分類されていることから、OCRにより誤認識された画像における文字は、正しい認識結果を含むクラスタに含まれにくいため、誤認識された文字のみが表示され、確認作業が容易になる。一覧表示した画像の確認を行ったユーザはＯＫボタン５００を押下することで、次のクラスタについての一覧表示処理が進む。
【００４６】
なお、本実施形態では、文字「４」について代表画像に基づくクラスタ処理をした結果、１４個のクラスタ（１４個の代表画像）が生成され、図５はそのうち最初（１／１４）のクラスタを示していることが分かる。
【００４７】
＜変形例＞
（１）上述の実施形態では、図４のステップ４０１とステップ４０３の処理において、二つの文字画像の統計量を計算する処理として類似度計算について述べているが、類似度の他に、当該統計量として、二つの文字画像の特徴量の距離を用いてもよい。この場合、画像の特徴量の取得は、メッシュ特徴、ペリフェラル特徴、周辺分布特徴、および幾何学的特長などの既存の画像の特徴量抽出技術を用いればよい。取得した特徴量に対して、ユークリッド平方距離やミンコフスキー距離、マハラノビスの汎距離などの多変量を持つ二点間の距離を求める既存手法を用いて二つの文字画像間の距離が求められる。
【００４８】
（２）上述の実施形態では、図４のステップ４０１とステップ４０３の処理において、二つの文字情報１１３の類似度を計算する処理について述べているが、さらなる機能として、類似度を求める際に文字画像の拡大・縮小、回転などを行って類似度の計算を行うことも考えられる。
【００４９】
（３）上述の実施形態では、図４のステップ４０３の処理において、分類する文字画像から代表画像を選抜する処理について示しているが、この他に、クラスタが含む各文字画像の特徴量からクラスタの中心を求めて、中心から最も距離が近い文字画像を代表として選抜するようにしても良い。具体的には、代表画像を取得する際に実行するクラスタ処理において、類似度が近い文字画像群において中心となる値を求め、その中心の値に最も近い文字画像を代表画像とする。
また、文字画像の配列に代表とする形状の文字画像あらかじめ用意（決定）して格納することも考えられる。特に、分類する文字画像のフォントスタイルやサイズが既知の場合、あらかじめ同一のフォントスタイルとサイズの文字画像を代表画像として格納することで、多くの分類する文字画像を代表画像との類似度で分類することができる。
【００５０】
（４）上述の実施形態では、図４のステップ４０１の処理において、文字情報に対して配列に格納された代表画像を先頭から順に割り当てて分類を行う例について示しているが、さらなる機能として、代表画像と同一クラスタに含まれる文字情報の数を降順にして、代表画像の配列をソートすることも考えられる。この場合、代表画像の配列の先頭から順に当該文字情報との類似度の計算を行い、一定値以上の類似度が算出された時点で当該文字情報をクラスタに分類する。より多くの文字画像と類似している代表画像から優先して当該文字情報に割り当てることができるため、すべての代表画像との類似度の計算をせずに分類できるのでステップ４０１のクラスタリング処理を効率化できる。
【００５１】
（５）上述の実施形態では、代表画像を用いて分類する文字画像を同一のクラスタに含めるか判定を行う例について示しているが、この他に、代表画像の代わりに、クラスタが含む文字画像における黒ピクセル数の平均を用いてもよい。これは、同じ形状（同じ文字で線の太さ）であれば、黒ピクセル数も同じ位であろうという推論に基づくものである。同じクラスタに含めるかの判定は、クラスタが含む文字画像における黒ピクセル数の平均と、分類する文字画像の黒ピクセル数との差が閾値以下である場合、分類する画像を同一のクラスタに含める。互いに類似する文字画像であれば、文字を成す黒ピクセルの数の差が少ないことから、類似する画像を分類することができる。
【００５２】
（６）上述の実施形態では、アラビア数字の画像のクラスタリングを行う例について示しているが、この他に、文字の種類数が限定されている状況ならば、本発明の適用範囲はアラビア文字に限らない。例えば、アルファベット、ギリシャ文字、キリル文字、ハングル文字、および限定された漢字などでもよい。
【００５３】
（７）上述の実施形態では、手書きで記入された文字の画像のクラスタリングを行う例について示しているが、この他に、活字で記載された文字の文字画像、医療分野の血液像検査における分類計測する血液像の画像、および物流分野における選別する製品の画像など、分類する画像のピクセルパターンの数が限られる条件において画像をクラスタリングしてもよい。
【００５４】
（８）上述の実施形態では、クラスタリング結果を一覧表示する例について示しているが、一覧表示に代えて、或いはそれに加えて、同じクラスタに含まれる画像を重ねて表示するようにしても良い。例えば、図５に示されるクラスタに含まれる全ての文字画像について、ＡＮＤ画像とＯＲ画像を生成し、それを重ね合わせ画像として表示装置１００に表示する。ＡＮＤ画像は、同一クラスタに含まれる全ての文字画像の共通部分のピクセルを示す画像となる。一方、ＯＲ画像は、同一クラスタに含まれる全ての文字画像が有するピクセルの総和を示す画像となる。OCRによる認識結果が正しければ、ＡＮＤ画像とＯＲ画像で示される画像は同じような画像となり、OCRによる認識結果が誤っていると、ＡＮＤ画像とＯＲ画像は異なる画像となる。
【００５５】
ここで、より正確に理解するために、ＡＮＤ画像とＯＲ画像について例を用いて説明する。図６は、重ね合わせ合成画像（アルファベットの場合）の例を示す図である。なお、ＡＮＤ合成画像とＯＲ合成画像の２つの画像を生成する際に使用する画像は、すべて２値の画像とし、各画素の画素値は「０」あるいは「２５５」とする。画素値の「０」はレンダリングされるときの色が「黒」、「２５５」は「白」となる。
【００５６】
まず、１つ目の処理は、画像が重なる部分の画素値のＡＮＤ演算を行い、ＡＮＤ合成画像を生成する処理である。ここでのＡＮＤ演算では、どちらか一方の、あるいは両方の画素の色が「白」の場合、演算結果は「白」となり、どちらとも「黒」の場合は演算結果が「黒」となる。
【００５７】
２つ目の処理は、ＯＲ演算によってＯＲ合成画像を生成する処理である。ここでの演算処理では、どちらか一方の、あるいは両方の画素の色が「黒」の場合、演算結果は「黒」となり、両方が「白」の場合は演算結果が「白」となる。処理対象クラスタに含まれる文字画像のデータをデータメモリ１０６から取得して、合成する文字の先頭文字の合成座標データの参照を行い、その位置で重ね合わせる。合成方法としては既存技術であるアルファブレンド等で全体合成画像を生成する。
【００５８】
そして、適切に分類されなかった画像がある場合、ＡＮＤ演算による合成画像とＯＲ演算による合成画像の文字画像が異なる歪み方をするため、目視で確認することができる。
【００５９】
また、画素値の演算処理による合成パターンは、ＡＮＤ演算、及びＯＲ演算に限られず、アルファブレンドでもよい。また、例えば、画像を重ね合わせて、各座標において、画素値が「黒」の値である画像を数えるようにしても良い。このとき、各座標で求めた画像の数によって、輝度や色を異なるものにして画像を生成する。モノクロ８ビットの文字画像の場合、各画素において「黒」の値である画像数が少なくなるほど輝度値は高くなり、画像数が多くなるほど輝度値は低くなる。
【００６０】
図６では、文字「Ｃ」の画像を４つ重ね合わせて合成処理を行った場合の（図６Ａ）と、文字「Ｃ」の画像を３つと文字「Ｏ」の画像が１つを重ね合わせて合成処理を行った場合の（図６Ｂ）が示されている。この例では、同一クラスタに４つの文字画像が分類された場合を想定している。
【００６１】
図６Ａの場合、ＡＮＤ合成画像とＯＲ合成画像ともに文字「Ｃ」と認識できる文字であり、２つの合成画像を確認することで文字「Ｃ」以外の文字の画像が混在していないことが分かる。
【００６２】
一方、図６Ｂの場合、ＡＮＤ合成画像で認識できる文字は「Ｃ」であるが、ＯＲ合成画像では文字「Ｃ」以外の形をしている。よって、異なる文字の画像が混在していることが確認できる。このようにアルファベットの場合でも、合成文字画像の差分の比較を行うことで異なる文字の混在を識別することが可能となる。
【００６３】
＜まとめ＞
（１）本実施形態では、OCR処理の認識結果である複数の文字画像の情報について、OCR処理によって同一文字であると判断された複数の文字画像に対してクラスタ分類処理を実行し、当該クラスタ分類処理の結果を表示装置に表示する。このクラスタ分類処理の際、同一文字であると判断された複数の文字画像の中から代表文字画像を設定する。そして、代表文字画像と、代表文字画像以外の文字画像との統計量（例えば、類似度や、特徴量の距離）を計算する。このように代表画像を決めてそれと他の文字画像とを比較するようにしているので、OCR処理で同一文字と判断された文字群の各文字画像の統計量を総当りで計算する必要がなくなり、クラスタ分類処理の高速化を図ることができるようなる。このため、OCR認識結果の確認作業の効率化を図ることができるようになる。
【００６４】
また、クラスタ分類処理において選抜(決定)される代表画像の配列を、各代表画像と同一クラスタの文字画像の数に従ってソートして類似度の計算をしても良い。代表画像の配列をソートする場合、分類対象である文字画像が一定値以上の類似度が算出された時点で当該文字画像をクラスタに分類し、次の文字画像の分類処理に移る。このようにすることにより、含まれる文字画像数が多いクラスタ、すなわち、多くの文字画像と類似する可能性が高いクラスタから順に分類対象の文字画像に割り当てることができるため、クラスタ分類処理の高速化を図ることができるようになる。このため、OCRの認識結果の確認作業の効率化を図ることができるようになる。
【００６５】
また、クラスタ分類結果を一覧表示する場合には、同一クラスタに含まれる文字画像とともに、代表画像も併せて表示するようにする。このように一覧表示することにより、ユーザはOCRの認識結果が正しいか容易に確認することができるとともに、代表文字画像を示すことによって、表示されている文字画像が同一クラスタに含まれるように分類された理由を知る（推測する）ことができる。
【００６６】
代表文字画像は、ユーザの選択（指定）によって設定しても良いし、同一文字と判断された文字群を並べたときにｋ番目（ｋは任意の正整数）の文字画像を代表文字画像とすると予め設定しておいても良い。このようにすることにより、代表文字画像決定の演算を省略することができ、クラスタ分類処理の高速化を一層図ることができるようになる。また、同一文字であると判断された複数の文字画像のそれぞれの間での統計量の計算を開始し（まずは総当りで統計量（類似度、距離）の計算をする）、その計算途中で、所定の閾値以上の統計量を示す文字画像を所定数以上有する文字画像を代表文字画像として設定するようにしても良い。このようにすることにより、代表文字画像に関連するクラスタに必ず所定数以上の文字画像が含まれることを保証することができ、クラスタの数を無用に多くすることがなく、確認作業の効率化を図ることができる。
【００６７】
さらに、クラスタ分類処理によって得られるクラスタに分類された複数の文字画像について、重ね合わせ合成画像を生成し、合成画像を上記一覧表示に加えて表示するようにしても良い。この際、重ね合わせ合成画像として、同一クラスタ内の複数の文字画像のＡＮＤ画像とＯＲ画像を生成する。このようにすることにより、ユーザは、OCR認識結果の正誤を簡単に確認することができるようになる。つまり、OCR認識結果が正しければＡＮＤ画像とＯＲ画像が同一の文字として認識可能であるが、OCR認識結果が正しくなければ、ＡＮＤ画像とＯＲ画像が異なるため、それら２つを比較することで非常に簡単にOCR認識結果の正誤を確認することができるのである。
【００６８】
（２）本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００６９】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００７０】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【００７１】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【００７２】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【００７３】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。記述された実施形態の多様な態様及び／又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【００７４】
１０・・・業務文書処理装置（文書処理装置）
５０・・・一覧表示画面例
１００・・・表示装置
１０１・・・文書情報ＤＢ
１０２・・・キーボード
１０３・・・ポインティングデバイス
１０４・・・中央処理装置
１０５・・・プログラムメモリ
１０６・・・データメモリ
１０７・・・文字抽出処理部
１０８・・・クラスタリング処理部
１０９・・・一覧表示処理部
１１０・・・代表画像クラスタリング処理部
１１１・・・類似画像クラスタリング処理部
１１２・・・文書情報
１１３・・・文字情報
【図１】
2013073608.tif 000003
【図２】
2013073608.tif 000004
【図３】
2013073608.tif 000005
【図４】
2013073608.tif 000006
【図５】
2013073608.tif 000007
【図６】
2013073608.tif 000008