以下図面を参考にして本発明の好適な実施形態を詳細に説明する。
図1は、画像文書処理装置10の構成を大略的に示すブロック図である。画像文書処理装置10は、プロセッサ4と、プロセッサ4が実際の処理を行うためのソフトウエアなどを格納する外部記憶装置5とを含む。
プロセッサ4は、画像文書から検索の要となる見出し領域を抽出する画像文書特徴抽出処理、画像文書に対する検索を可能にするインデックス情報を生成するインデックス情報生成処理、インデックス情報を用いた検索処理、およびインデックス情報を用いて後述する意味のある文書名を作成して画像文書を管理する画像文書管理処理などを実際に行う。
プロセッサ4における実際の処理は、外部記憶装置5に格納されるソフトウエアによって実行される。プロセッサ4は、たとえば通常のコンピュータ本体などで構成される。本実施の形態では、プロセッサ4は、インデックス情報生成処理に用いる後述する字形特徴辞書15を作成する字形特徴辞書作成処理も実行するようになっている。
外部記憶装置5は、たとえば高速アクセスが可能なハードディスクなどで構成することができる。外部記憶装置5は、画像文書を大量に保持するために光ディスクなどの大容量デバイスを用いるような構成であっても構わない。後述する字形特徴辞書15、インデックス情報DB(データベース)17、画像文書DB19、字形見本DB13などは、外部記憶装置5にて構成される。
画像文書処理装置10には、キーボード1が接続されるとともに、表示装置3が接続される。キーボード1は、検索キーワードの入力に用いられる。またキーボード1は、画像文書を閲覧する際の指示入力にも用いられる。さらにキーボード1は、後述する候補文字数、相関値、および行の相関度加重因子Qなどの設定値変更にも用いられる。表示装置3は、画像文書などを出力して表示する。表示装置3に表示される内容には、相関度の情報、および画像名称などの情報も含まれる。
画像文書処理装置10には、イメージスキャナ2またはデジタルカメラ6がさらに接続される。イメージスキャナ2およびデジタルカメラ6は、画像文書を取得するために用いられる。画像文書の取得は、イメージスキャナ2およびデジタルカメラ6に限られるものではなく、ネットワークなどを介して通信を行うことによって取得してもよい。また、イメージスキャナ2またはデジタルカメラ6を用いた検索キーワードの入力も可能である。
図2は、画像文書処理装置10の構成を詳細に示すブロック図である。画像文書処理装置10は、文字データベース入力部(文字DB入力部)11、字体正規化処理部12、字形見本DB13、文字画像特徴抽出部(画像特徴抽出部)14、字形特徴辞書15、特徴適合部16、インデックス情報DB17、見出し領域初期処理部18、画像文書DB19、画像文書特徴データベース(画像文書特徴DB)20、画像文書入力部21、検索部22、語彙解析部23、キーワード入力部24、検索結果表示部25、文書名作成部51、画像文書DB管理部52、画像文書表示部53、指示入力部54を含んでいる。
このうち、文字DB入力部11、字体正規化処理部12、字形見本DB13、文字画像特徴抽出部14、字形特徴辞書15にて、上記した字形特徴辞書作成処理を実施する字形特徴辞書生成部30が構成される。
まず、字形特徴辞書生成部30を構成する、文字DB入力部11、字体正規化処理部12、字形見本DB13、文字画像特徴抽出部14、字形特徴辞書15について説明する。
文字DB入力部11は、字形特徴辞書15を作成するために必要な、基本となる文字データベースを入力するためのものである。本装置が、例えば、中国語対応の装置であれば、中華人民共和国におけるGB2312の6763個の全文字などが入力される。また、本装置が、日本語対応の装置であれば、JIS第一水準の約3,000字種などが入力される。つまり、ここで言う文字には、符号が含まれる。このような文字DB入力部11は、プロセッサ4にて構成され、文字データベースは、記録媒体を介して、或いはネットワークを介したデータ通信などにより供給される。
字体正規化処理部12は、文字DB入力部11より入力された文字データベースに含まれる全ての文字について、異なるフォントとサイズの文字画像を作成するものである。異なるフォントとサイズの文字画像は、字形見本DB13に格納される。
図3は、字体正規化処理部12が字形見本DB13を作成する処理を示す図である。字体正規化処理部12には、本装置が中国語対応の装置であれば、例えば、宋体、倣宋体、黒体、楷体などの字形見本12aが具備されている。また、本装置が日本語対応の装置であれば、明朝体、ゴシック体…などの字形見本が具備されている。
字体正規化処理部12における変形処理部12bが、文字データベースの文字を画像化し、文字画像を標準化処理する。次に、変形処理部12bは、字形見本12aを参照して、標準化処理した文字画像に対し、変形処理を施し、さらに異なるフォントとサイズの文字画像にする。変形処理には、例えば、曖昧化処理、拡大・縮小化処理、微細化処理などがある。このように変形処理された文字画像を、字体基準部12cは、基準文字画像として字形見本DB13に格納する。
字形見本DB13には、文字データベースの全ての文字に対して、同じ文字であっても、フォント、サイズによって決まる字形毎に基準文字画像が格納されている。例をあげると、文字種は同じ「中」であっても、定められているフォントの数だけ形状の異なる基準文字画像の「中」があり、また、定められているサイズの数だけ大きさの異なる基準文字画像の「中」が格納されている。
文字画像特徴抽出部14は、文字画像の特徴(画像特徴)を抽出して、字形特徴辞書15に格納するものでもある。本実施の形態では、文字画像特徴抽出部14は、文字画像外囲特徴と網格方向との組合せによって文字画像の特徴を抽出し、特徴ベクトルとする。なお、文字画像の特徴は、これらに限られるものではなく、他の特徴を抽出して特徴ベクトルを形成してもよい。
ここで、文字画像外囲特徴及び網格方向特徴について説明しておく。図4は、文字画像外囲特徴の説明図である。文字画像外囲特徴とは、文字画像の外部からみた輪郭の特徴である。図4に示すように、文字画像の外接矩形の4辺から走査し、白画素から黒画素に変化する点までの距離を特徴とし、最初に変化する位置と2度目に変化する位置を取り出す。
例えば、外接矩形をX行Y列に分割した場合、行を単位として左方向と右方向からそれぞれ画像を走査し、列を単位として上方向と下方向からそれぞれ走査する。なお、図4は、行を単位に左から走査している図面である。
また、図4において、実線の矢印Aにて、最初に白画素から黒画素に変化する点までの走査軌跡を示している。破線の矢印Bは、2回目に白画素から黒画素に変化する点までの走査軌跡を示している。実線の矢印Cは、最後まで白画素から黒画素に変化する点を検出することができなかった走査軌跡を示しており、このように変化点がない場合、距離値は0となる。
図5は、網格方向特徴の説明図である。文字画像を粗い網格に分割し、各格子領域内の黒画素についてあらかじめ定めた複数方向に触手を伸ばす。そして、各方向に連結する黒画素の画素数を計数し、該黒画素の各方向成分別の分布状況を表す方向寄与度を、識別関数としてユークリッド距離を用いて黒画素数の差に応じた値により距離値を除算して距離値を算出する。
図5(a)では、文字画像を4×4の16個の格子に分割し、格子の交点からX軸方向に最も近い黒画素から白画素になる点を中心に、X軸方向(0°)、45°方向、Y軸方向(90°)の3方向に触手を伸ばしている。
本実施例では、文字画像を8×8の4角の網に分割し、図5(b)に示すように、0°、45°、90°、135°、180°、225°、270°、315°の8方向に触手を伸ばすようになっている。
なお、網格方向の特徴の抽出方法としては、触手の伸ばす方向や、触手を伸ばす中心点を置き方など、様々な手法があり、例えば、特開2000−181994号公報などに記載されている。
文字画像特徴抽出部14は、このような文字画像の特徴の抽出を、文形見本DB13に格納されている、基準文字画像の全部に対して行う。そして、文字画像特徴抽出部14は、字形見本DB13に格納されている基準文字画像の抽出結果については字形特徴辞書15に格納し、字形特徴辞書15を生成する。
図6は、文字画像特徴抽出部14による字形特徴辞書15を作成する処理を示す図である。文字画像特徴抽出部14における字形基準化部14aが、字形見本DB13から基準文字画像を取り出し、文字画像特徴取出部14bは、字形基準化部14aが取り出した基準文字画像に対してその特徴を取り出す。そして、特徴分類部14cが、字形見本DB13を参照して、基準文字画像毎に抽出した特徴を分類して、字形特徴辞書15に格納する。
文字画像特徴取出部14bにおいては、上述したように、単文字ごと、加重付けによる異なる基準文字画像の特徴の適値を求め、基準文字画像の標準特徴を取得する。
文字画像特徴取出部14bが、異なる字体字号を加重させることによって、異なる字形特徴辞書を作成することができる。多字体の画像特徴を融合し、単文字画像特徴を単位で字形特徴辞書を作成することで、多字体・字号画像文書の自動インデックスと管理を満足できる。
次に、画像文書特徴抽出処理を実施する画像文書特徴抽出部31を構成する、画像文書DB19、画像文書特徴DB20、見出し領域初期処理部18、文字画像特徴抽出部14について説明する。
画像文書DB19は、画像文書入力部21より画像文書が入力されると、識別のための文書IDを付けて保存するものである。
見出し領域初期処理部18は、画像文書DB19に新しい画像文書が保存されると、そのイメージデータより画像文書における見出し領域を定位して抽出して、文字画像を前述した文字画像特徴抽出部14に送るものである。
図7に、画像文書50に対して、T1、T2、T3の3領域を見出し領域として定位した様子を示す。この図7からも分かるように、画像文書50におけるタイトル部分を見出し領域Tとして抽出する。
見出し領域初期処理部18にて抽出されて文字画像特徴抽出部14に送られる文字画像は、通常は複数の文字を含んだ文字列の画像である。したがって、これ以降は、見出し領域初期処理部18より送られる文字画像は文字列の画像であるとして説明する。
本実施の形態では、見出し領域初期処理部18は射影法と連通域統計分析により、見出し領域Tの定位及び抽出を行う。なお、このような見出し領域Tは、主にタイトル部分が相当し、例えば、特開平9−319747号公報、特開平8−153110などに記載されている方法など、従来ある様々な手法を用いることができる。
画像文書の全ての文字領域(テキスト領域)を対象とすることなく、このように見出し領域Tのみを定位し抽出しているため、検索の対象となる情報量を少なくして検索時間を短くできる。
但し、全てのテキスト領域を定位することなく、見出し領域Tのみを定位することは、検索に関して言えば必須の構成要素でなく、全文テキスト領域を定位して抽出することも可能である。ただし、後述する意味のある文書名の作成に関して言えば、見出し領域Tのみを定位することは必須の構成要素である。
文字画像特徴抽出部14は、見出し領域初期処理部18から入力される文字列の画像については、1文字の文字画像に分割した上で、字形特徴辞書15の作成時と同様、各文字画像の特徴を抽出する。そして、抽出した特徴は、画像文書特徴DB20に画像文書ごとに格納する。
画像文書特徴DB20には、見出し領域初期処理部18にて抽出された見出し領域Tに含まれる文字列の画像の特徴情報が、文字列を構成する各文字それぞれの特徴(特徴ベクトル)として格納される。
図7に示ように、1つの画像文書50に対して、抽出された全ての見出し領域T1、T2、T3…に含まれる文字列の文字画像の特徴、つまり文字列を構成する各文字の文字画像の特徴が、画像文書50の文書IDと共に格納される。
次に、インデックス情報作成処理を実施するインデックス情報生成部32を構成する、文字画像特徴抽出部14、字形特徴辞書15、特徴適合部16、インデックス情報DB17、画像文書特徴DB20について説明する。
文字画像特徴抽出部14、字形特徴辞書15、画像文書特徴DB20の機能は既に説明したとおりである。
特徴適合部16は、画像文書特徴DB20より画像文書の見出し領域Tに含まれる文字画像の特徴を読み出し、該読み出した特徴に基づいて、字形特徴辞書15を参照して後述するようにインデックス行列を作成して、画像文書のインデックス情報を生成するものである。
ここで、インデックス情報が1つの画像文書に対して1つ生成され、インデックス情報に含まれるインデックス行列は、見出し領域T毎に作成される。したがって、1つの画像文書内に見出し領域Tが複数ある場合は、当該画像文書のインデックス情報の中に複数のインデックス行列が含まれることとなる。
図8に、インデックス情報DB17を作成する処理を示す。上述したように、ある画像文書が入力されて画像文書DB19に格納されると、文字画像特徴取出部14bが、各見出し領域Tに含まれる文字列の文字画像の特徴を抽出して、画像文書特徴DB20に格納する。
特徴適合部16は、画像文書特徴DB20より、各見出し領域Tに含まれる文字列の画像の特徴を読み出し、単文字ごとに字形特徴辞書15内の基準文字画像と適合を行って、見出し領域Tそれぞれのインデックス行列を作成する。
そして、特徴適合部16は、これらインデックス行列に、当該画像文書のその他の情報である、文書IDや画像文書DB19内における該当する画像文書の保存位置の情報などを含めてインデックス情報とし、インデックス情報DB17に格納する。
図9に、特徴適合部16によるインデックス行列を作成する処理の一例を示す。図9は、図7における見出し領域T3に含まれる文字列「去神仙居住的地方」の8つの文字画像について、インデックス行列を作成する説明図である。
文字列『去神仙居住的地方』は、「去」「神」「仙」「居」「住」「的」「地」「方」の1文字画像に分割される。このような文字列の画像を1文字づつの画像に分割する処理は、既存の分割方法を利用できる。
「去」…「地」の8文字には、並び順に従い、「去」には1、「神」には2、…「方」には8というように、1〜8までの番号が付される。この番号は、インデックス行列の行番号に相当する。
このような8つの文字画像全てに対して、図9に参照符号Xにて示す、画像文書特徴DB20より格納されている文字画像「去」に対する特徴を取り出し(S1)、字形特徴辞書15を参照して特徴が近い(適合度が高い)順に、N個の候補文字を選択する(S2)といった処理が実施される。
適合度の高い順に抽出されるN個の候補文字には、抽出順序に応じた番号が付され、これがインデックス行列の列番号に相当する。そして、検索キーワードに含まれる各検索文字と候補文字との適合度を示す文字相関値(相関値)は、この列番号に応じて設定されている。
図9において、参照符号100にて示すテーブルは、文字列『去神仙居住的地方』のインデックス行列の内容を示している。例えば、5文字目の「住」の文字画像に対しては、行番号5の行に適合度の高い1列目から順に、「任」,「佳」,「住」,…「仁」の候補文字が抽出されている。テーブル100において、例えば候補文字「去」のインデックス行列内の位置は[1,1]、候補文字「屑」の位置は[4,2]、候補文字「仁」の位置は[5,N]となる。
なお、図9のテーブル100では、理解を助けるために、文字列の各文字に対応する候補文字に対しては○を付して示している。
このようなインデックス行列の行数Mは、見出し領域初期処理部18が見出し領域Tとして抽出した文字列の画像の文字数にて決まる。また、列数Nは、1文字について選出する候補文字数にて決まる。したがって、本発明によれば、インデックス行列の次元数(列数)を変えることで、インデックス行列内の要素数、つまり、候補文字数量を柔軟に設定することができる。そのため、画像文書の検索において、正確でほぼ漏れのない検索を行うことができる。
インデックス行列において、選択された候補文字の情報の持たせ方は、検索キーワードの入力方法に応じて適宜設定することができる。例えば、検索キーワードをキーボード1より入力する構成であれば、キーボードから入力された検索キーワードに対して検索を掛けることができるように、候補文字を文字コードなどの情報で格納する。
また、イメージスキャナ2などを用いて検索キーワードをイメージデータにて入力する構成であれば、検索キーワードの特徴(特徴ベクトル)を抽出し、特徴ベクトル同士を比べて掛けることができるように、候補文字を特徴(特徴ベクトル)の情報で格納すればよい。
図7に戻って、インデックス情報DB17におけるインデックス情報のデータ配置例を説明する。複数の見出し領域T1、T2、T3…Tnが存在する画像文書50のインデックス情報では、複数の見出し領域T1、T2、T3…Tnに対して作成されたインデックス行列が線形に配置される。図7の例では、文書IDが先頭に配置され、続いて、複数のインデックス行列が配列され、最後に保存位置の情報が配置されている。ここで、5×Nは、インデックス行列のサイズを示しており5行N列であることを示している。
インデックス情報をこのようなデータ配置としておくことで、画像文書DB19内の画像文書の格納位置と、画像文書中の見出し領域Tの位置を迅速に定位して、検索結果の表示に用いることができる。
また、実際の要求に従って、インデックス情報に画像文書の他の属性を追加することもできる。
本発明では、さらにインデックス行列100に対して言語モデルを用いた語彙解析法を適用し、候補文字列を構成する各候補文字を調整して意味のある候補文字列とする。
より具体的に言うと、特徴適合部16は、作成したインデックス行列100に基づいて、該インデックス行列における第1列目に位置する各行の候補文字を順に連ねた候補文字列を作成する。そして、この候補文字列を構成する連続する各行の候補文字によりなる単語の語義を解析し、候補文字列が意味をなすように各行の第1列目の候補文字を調整する。
図10は、作成したインデックス行列を調整して第1列目の文字列が意味のある文字列となるように、語彙解析法を用いて調整した具体例を示す説明図である。
図10の上部に示す調整前のインデックス行列100により作成される候補文字列は「去伸仙居任酌地方」となり意味を成さない。
意味ある文書名として利用する候補文字列は、主語、述語、および目的語の接続詞関係等が意味的に正しくなければならない。そこで、語彙解析により、意味のある候補文字列に変換する。具体例には、複数のエラー候補文字に対し、概念辞書を使用し、複数のエラー候補文字と、候補テキストの他の単語との間の意味情報を分析し、候補文字列を意味ある文字列に修正する。
このような語彙解析に用いられる言語モデル61は、すべての漢字で始まる活字の統計データを提供するものであればよい。つまり、この言語モデル61のメインコンセプトにより、自動索引システムを技術的に確立することができ、中国語の新聞(たとえば「People’s Daily(人民日報)」)のスクリプトに関する統計データを得ることができる。
本実施形態では、言語モデルとしてバイグラムモデルを使用する。
バイグラムモデルは、2つの文字、2つの音節、または2つの単語のグループであり、テキストの簡単な統計分析の基礎として非常に一般的に使用される。
図11は、バイグラムモデルに用いる辞書データ300の構成例を示す図である。
辞書データの第1列目301は、2字の組み合わせの1番目の文字を示している。第2行目302は、1番目の文字と共に組み合わせを構成した文字の数を示している。第3行目303は、1番目の文字と共に組み合わせを構成した文字を示し、第4行目304は、組み合わせを構成した回数を示している。さらに、第5行目305は、組み合わせの中国語の文字数を示している。ここでは、バイグラムモデルを用いているので、文字数は全て2である。
候補文字列の調整では、マルコフ過程に基づいて文字の推移および混合の確率など、主に単語内の文脈情報を使用し、Vitarbi-style検索を行う。
上記のような中国語辞書のヘルプを用いて、インデックス行列を自動的に調整し、全ての最適候補が第1行目に調整される。
各文字ごとの適合度のみから決定したインデックス行列100に基づいて、まず、第1列目の文字列に対し、前後検索を用いたバイグラムモデルによる調整を実行し、これにより適合した候補の正確性および効率性を向上することができる。
さらにその正確性を向上させるために、単語ベースでのバイグラムモデルによる調整を文字列の一部に実行する。これにより、処理速度が低下するが、高い正確性を得ることができる。
以下ではインデックス100を例にして詳細な調整方法を説明する。
文字ベースでのバイグラムモデルを用いて、まず2行目と3行目との関係から、2行目の第2候補「神」を「伸」と入れ替えて第1候補とする。また、4行目と5行目との関係から、5行目の第3候補「住」を「任」と入れ替えて第1候補とする。
さらに単語ベースでのバイグラムモデルによる調整を行い、「神仙」および「居住」の単語の属性、およびこれらの関連性によって6行目の第2候補「的」を「酌」と入れ替えて第1候補に調整する。
このようにして調整されたインデックス行列200の第1列目に含まれる候補文字列は、「去神仙居住的地方」となり、意味を成す文字列となる。なお、特徴適合部16は、このような調整後のインデックス行列200をインデックス情報DB17に格納するようにしてもよい。
図12は、バイグラムモデルを用いたインデックス行列の調整方法を示すフローチャートである。
ステップS1では、インデックス行列の最後の行に到達したかどうかを判断する。到達していなければステップS2に進み、到達していればステップS5に進む。
ステップS2では、着目されている行、すなわち一回目の処理の場合は1行目の第1候補を取り出す。ステップS3では、バイグラムモデルを適用して、着目されている行の第1候補と、これに隣接する行の各候補との組み合わせについて辞書内での出現頻度を統計的にカウントする。
ステップS4では、カウント値と予め定める閾値とを比較し、カウント値が閾値を越えたものを第1候補とする。
ステップS5では、決定された第1候補の連接関係を最初の行から分析し、単語を決定する。ステップS6では、決定した単語間の第1候補を決定する。
ステップS7では、着目されている第1候補文字列の中にある文字集合は辞書データの語義ルールに合致するかどうかを判断する。合致すればステップS8に進んで処理を終了し、調整されたインデックス行列を得る。合致しなければステップS9に進んで合致しない行の第1候補を調整してステップS6に戻る。
本発明では、このようにして得られたインデックス行列を用いて、見出し語を抽出し、抽出した見出し語の一覧を表示する。
以下では、見出し語の抽出および一覧表示について説明する。
図13は、見出し語の抽出処理および一覧表示処理を示す説明図である。
単語作成部40は、インデックス情報DB17に記憶されるインデックス行列を参照し、インデックス行列に含まれる各候補文字から複数の文字を取り出して単語を作成する。
見出し語抽出部41は、作成された単語に対して、概念辞書44を用いた意味解析を行い、意味を有する単語である見出し語を抽出する。
表示順序決定部42は、抽出された見出し語に設定された重み情報などに基づいて表示順序を決定し、一覧表示部43が、所定の見出し語表示領域に、決定された表示順序で見出し語を一覧表示する。
・見出し語の抽出
見出し語を抽出するにあたって、漢字2文字からなる見出し語を抽出する例について説明するが、2文字に限られるものではなく、同様の処理方法で3文字以上の見出し語も抽出可能である。
まず、インデックス行列に含まれる各候補文字の中から2つの文字を取り出して2文字の単語を作成する。前述のように、インデックス行列には、それぞれの文字画像に対してN個の候補文字があるが、見出し語の抽出にあたっては、処理速度などを考慮して第1列〜第M(M<N)列までのM個の候補文字に対して抽出を行う。
1つの列に含まれる文字列から2文字の単語を作成する場合、単語は上下に隣接する2文字からのみ作成されるので、図10に示したインデックス行列では、文字列の文字数が8であることから7つの単語が作成できる。
図10に示した例では、1列当たり8文字からなりますので、上下に連続する2文字の組み、すなわち2文字の単語は、7個になります。たとえば、1行目の「去」と2行目の「神」とで2文字の単語「去神」、2行目の「神」と3行目の「仙」とで2文字の単語「神仙」、3行目の「仙」・・・・と繰り返すと、単語の数は7個となる。
1つの列に含まれる文字列からのみ単語を作成する場合、列の数はMであるので7×Mの単語が作成される。
単語を構成する2つの文字が、それぞれ異なる列から取り出される場合、第1列から1文字目が取り出され、2文字目が他のM−1列から取り出されることになるので、7×(M−1)個の単語が作成される。1文字目が第2列から取り出される場合も作成される単語の数は同じであり、これを繰り返して1文字目が第M列から取り出されるまでに作成される単語の総和は、(7×(M−1))×M個となる。
以上から1つの列からのみ作成される単語と、異なる列から作成される単語との総和は、7×M+(7×(M−1))×M個となる。作成された全ての単語に対して概念辞書による意味解析を行うことで、意味のある単語、すなわち見出し語を抽出することができる。
概念辞書による意味解析によって、解析の対象となる単語の意味を有する度合いを示す適合度が単語ごとに決定され、決定された適合度に基づいて、重み(適合重み)が設定されるとともに作成された単語の中から見出し語を抽出する。
抽出された見出し語については、さらに、一覧表示を行う際の指標となる単語の属性が決定され、属性ごとの重み(属性重み)が決定される。具体的には、抽出された見出し語が、名詞、動詞、形容詞などのいずれの属性に属するかを決定する。属性重みは、見出し語が名詞であればWNoun、動詞であればWVerb、として設定される。
抽出された見出し語それぞれに対しては、適合重みと属性重みとを掛け合わせた重み情報である総合重み情報を設定する。
図14は、インデックス行列からの見出し語抽出処理を示すフローチャートである。
ステップS11では、1つのインデックス行列から単語を作成する。単語は、上下に連続する2以上の文字を取り出して作成される。
ステップS12では、作成された全ての単語に対して概念辞書による意味解析を行い、単語ごとの適合度を決定する。また、適合度に応じて単語ごとに適合重みを設定する。
ステップS13では、適合度に基づいて見出し語を決定し抽出する。
ステップS14では、抽出された見出し語に対して、属性を決定し属性に応じた属性重みを設定する。
また、同一の見出し語がそれぞれ異なる列から取り出されて作成される可能性があるため、各列に対して重みを設定し、見出し語に対して各文字を取り出した列に応じて重みを算出する。
各列に対して設定される重みをWCol1,WCol2,…,WColM(WCol1>WCol2>…>WColM)とする。抽出した見出し語の重みWiは、1文字目の重みと、2文字目の重みとを掛けたものとして算出される。前述の例における「神仙」の場合、「神」および「仙」がいずれも1列目の文字であるので、見出し語「神仙」の重みは、Wi=WCol1×WCol1となる。ここで、iは1つの画像文書から作成されるインデックス行列の数(タイトル数)を示す。たとえば、1つの画像文書からL個のインデックス行列が作成されたとすると、1つの画像文書における見出し語の重みWDockは、インデックス行列ごとの重みの総和であり、WDock=W1+W2+W3+・・・+WLで算出される。
以上のようにして全てのインデックス行列に対して見出し語の抽出を行ったのち、抽出された多数の見出し語を分類し、互いに意味的な関連性を有する見出し語の集合であるクラスに集約させることが好ましい。
このクラスは、概念辞書を用いて見出し語同士の語彙的連鎖を決定し、語彙的連鎖に基づいて関連性の強い見出し語を集約させることで生成される。さらに生成された1つのクラス内に含まれる見出し語の中から代表となる見出し語を決定する。代表となる見出し語の決定は、たとえば前述のWDockを比較し、WDockが最も大きな見出し語を代表として決定することができる。
見出し語同士の語彙的連鎖は、以下のようにして決定することができる。
語彙的連鎖の決定では、抽出された見出し語同士の意味的な類似度を算出する。2つの見出し語同士の類似度を算出するために、意味解析における単語間の距離を利用する。
2つの見出し語W1とW2に対して、W1とW2の単語の類似性をSim(W1,W2)と定義し、W1とW2の単語の距離をDis(W1,W2)と定義する。このとき、類似性Sim(W1,W2)は、単語間距離Dis(W1,W2)を用いて、Sim(W1,W2)=α/(α+Dis(W1,W2))で算出される。ここで、αは適宜調整可能なパラメータであり、見出し語W1とW2の類似性が0.5のときに、これら2つの単語W1,W2の距離を意味する値で、本実施形態では、α=1.6と設定する。
概念辞書において、全ての概念は1または複数のツリー構造で構成される。ツリー構造において、単語(見出し語)は1つのノードを構成し、1つのツリー構造における2つのノード間を繋ぐ経路はただ1つの経路を有することになる。この経路の長さを単語間の距離Dis(W1,W2)として用いる。
図15は、概念辞書に含まれるツリー構造の例を示す図である。例に示したツリー構造では、単語W1と単語W2の両ノードを繋ぐ経路は破線で表される経路であり、距離は4である。これを上記の計算式に代入すると、類似度Sim(W1,W2)=1.6/(1.6+4)=0.286として算出される。
このようにして算出された類似度Sim(W1,W2)に基づいて、語彙的連鎖を決定し、関連性の強い見出し語を1つのクラスに集約させることができる。
詳細には、抽出された見出し語の中から総計重みTFが最も大きな見出し語を選択して基準となる見出し語(基準語)を選択する。ここで、総計重みTFとは、複数の画像文書からなる画像ライブラリにおいて、前述した見出し語の重みWDockを、見出し語ごとに合計して算出した重みである。
概念辞書のツリー構造に基づいて、選択された基準語と他の見出し語との距離を決定するとともに、予め定めるパラメータαと、決定した距離とを上記計算式に代入して類似度を算出する。
算出された類似度に基づいて、語彙的連鎖を生成し、クラスに集約させる。
図16は、クラス分類処理を示すフローチャートである。
n個の見出し語をSw1,Sw2,・・・,Swnとし、算出した類似度をS12,S13,・・・,S(n−1)nとする。なお、類似度Sijは、見出し語Swiと見出し語Swjとの類似度を示す。
まずステップA1では、算出された類似度Sijを第1の閾値Th1と比較し、閾値Th1以上の類似度であれば、ステップA2で見出し語Sw1を単一のクラスとする。これを繰り返し、全ての類似度について閾値処理を行い、M個の単一クラスの見出し語を得る(ステップA3)。
ステップA4で、M=nであるかどうかを判断し、M=nであればステップA5で、n個全ての見出し語を単一のクラスとして分類する。
M=nでなければ、ステップA6に進み、全ての類似度の中から最小の類似度Sijを検出する。ステップA7では、最小の類似度となる2つの見出し語SwiとSwjとを1つのクラスCijとして分類する。
ステップA8では、最小の類似度Sijを除く残りの類似度の中から最大の類似度Skmを検出する。
ステップA9では、((Ski+Skj)/Skm)と第2閾値Th2とを比較し、閾値Th2以下であればステップA10で、見出し語SwkをクラスCijに分類する。ステップA11では、分類すべき見出し語が残っているかどうかを判断する。残っていればステップA6に戻り、分類されずに残った見出し語について処理を繰り返す。残っていなければ全ての見出し語が分類されたとして、分類処理を終了する。
このようにして関連性が強い見出し語同士を含むクラスを複数作成する。さらに作成されたクラス内で、重みWDockが最も大きな見出し語を代表として決定する。
以上のようにして、見出し語の抽出、クラスへの集約を行い、見出し語ごとに、属するクラス、属するインデックス行列、属する文書画像、属するライブラリなどの情報が関連付けられたデータ構造を生成する。ライブラリとは、一連の文書画像からなる文書画像群である。
・見出し語の一覧表示
次に、抽出された見出し語の一覧表示について説明する。
抽出した全ての見出し語から、同一の見出し語を集約し、データ構造と関連付ける。ここでのデータ構造は、属する文書画像、重み情報、属するインデックス行列、インデックス行列の文書画像における位置情報(タイトルの位置情報)などを含む。
重み情報については、ある1つの見出し語を含む文書画像がk個あった場合、当該見出し語の重み情報Fは、F=WDoc1+WDoc2+・・・+WDockで算出される。この重み情報Fは、当該見出し語が現れた回数に基づく統計的な重みであるので以下では統計重み情報という。
この統計重み情報と、意味解析に基づいて設定される前述の総合重み情報とに基づいて、見出し語の表示順序を決定する。
決定された表示順序に基づいて、表示画像の予め定める見出し語表示領域に見出し語を一覧表示する。
図17は、一覧表示した見出し語の表示画面例を示す図である。図に示した画面例では、本発明の画像文書処理プログラム実行時のウィンドウWの上部中央付近に、「 Subject Words」の文字を付した見出し語表示領域SAを設け、決定された表示順序に基づいて、この領域SA内に見出し語を表示している。
一覧表示する見出し語については、ライブラリ全体から抽出した全ての見出し語を表示することも可能であり、1つの文書画像のみから抽出した全ての見出し語を表示することも可能である。また、抽出された全ての見出し語を表示してもよいし、各クラスの代表となる見出し語のみを表示するようにしてもよい。
なお、見出し語表示領域に全ての見出し語を表示できない場合は、見出し語表示領域内でスクロールさせ、表示順序に従って順次表示させるように構成してもよい。
このようにして一覧表示した見出し語の中からユーザが任意の1語を選択することで、その見出し語が含まれる文書画像を提示することも可能である。
ライブラリに含まれる全ての見出し語を、見出し語表示領域に一覧表示し、ユーザがその表示領域から1つの見出し語を選択すると、選択された見出し語を含む文書画像を所定の順序で提示する。文書画像を提示する際の順序は、文書画像ごとに算出されているWDockを参照し、WDockが大きいものから順に表示すればよい。
見出し語と、これを含む文書画像、および重みWDockは関連付けられて記憶されているデータ構造を参照することで即座に取得することが可能である。
このように、ライブラリや文書画像から見出し語を抽出し、これを一覧表示することで、ユーザは、ライブラリや文書画像に含まれる文書の内容の概略を効率よく知ることが可能で、後述の検索処理を行う際のキーワード入力を補助したり、キーワード入力の前に予め検索範囲を絞り込むことができる。
次に、インデックス情報を用いた検索処理を実施する検索部22について説明する。図18は、検索部22の機能と検索処理とを示す説明図である。検索部22は、インデックス行列検索処理部22a、文字相関値保存部(保存部)22b、相関度算出部22c、表示順序決定部(順序決定部)22d、及び画像文書抽出部22eを含む。
インデックス行列検索処理部22aには、キーワード入力部24より検索キーワードが入力される。キーワード入力部24としては、前述したキーボード1或いはイメージスキャナ2などが相当する。
インデックス行列検索処理部22aは、インデックス情報DB17に対して検索を行い、入力された検索キーワードを含むインデックス行列を検出するものである。インデックス行列検索処理部22aは、検索キーワードを1文字ごとに分割し、各検索文字を含むインデックス行列を探し、検索文字が含まれている場合は、当該検索文字のインデックス行列内の適合位置の情報を取得する。なお、インデックス行列の抽出手順例については、図19のフローチャートを用いて後述する。
文字相関値保存部22bは、インデックス行列検索処理部22aにて取得された適合位置の情報と、該適合位置の列番号に応じた文字相関値を保存するものである。
相関度算出部22cは、インデックス行列検索処理部22aにおける全てのインデックス行列に対する検出が完了すると、検出されたインデックス行列と検索キーワードとの相関度を算出するものである。
相関度の算出は、文字相関値保存部22bに保存されている適合位置及び文字相関値の情報を用い、予め設定されている相関度算出方法に従うことで算出する。相関度の算出については、図20、図21を用いて後述する。
なお、ここでは、文字相関値保存部22bが、適合位置の情報と、該適合位置の列番号に応じた文字相関値を保存する構成としていたが、文字相関値保存部22bは、適合位置のみを保存し、相関度算出部22cが、適合位置の情報より文字相関値を取得する構成としてもよい。
表示順序決定部22dは、相関度算出部22cにて算出された相関度の情報を基に、表示順序を決定するものである。表示順序決定部22dは、相関度の高いインデックス行列を含む画像文書より順に、画像文書の内容が検索結果表示部25に表示されるように表示順序を決定する。
画像文書抽出部22eは、表示順序決定部22dにて決定された順序に従い画像文書が表示されるように、画像文書DB19より画像文書のイメージデータを読み出し、検索結果表示部25に出力して表示させるものである。
検索結果表示部25は、表示順序に従い画像文書を表示する。サムネイル表示などであってもよい。検索結果表示部25としては、前述した表示装置3などが相当する。
ここで、検索手順について説明する。図19は、検索部22における検索手順を示すフローチャートである。R個の文字列よりなる検索キーワードが入力され、検索が指示されると、インデックス行列検索処理部22aは、まず、検索キーワードの第1番目の検索文字を取り出す(S21)。
次に、インデックス行列検索処理部22aは、インデックス情報DB17内の全てのインデックス行列に対して、第1番目の検索文字を検索する(S22)。
全てのインデックス行列に対する検索が完了すると、第1番目の検索文字を検索できたかどうかを判断し、1つも検索できなかった場合はS29に移行し、検索できた場合はS24に進む。
S24においては、インデックス行列検索処理部22aが、第1番目の検索文字が含まれていたインデックス行列における適合位置と文字相関値とを、文字相関値保存部22bに保存する。
続いて、インデックス行列検索処理部22aは、第1番目の検索文字が含まれていた全てのインデックス行列を取り出す(S25)。そして、検索キーワードの次の文字である第2番目の検索文字を取り出し、S25で取り出した第1番目の検索文字を含んでいたインデックス行列に対して検索する(S26)。
S25で取り出した全てのインデックス行列に対する検索が完了すると、第2番目の検索文字を検索できたかどうかを判断し(S27)、1つも検索できなかった場合は上記と同様にS29に移行し、検索できた場合はS28に進む。
S28においては、インデックス行列検索処理部22aが、第2番目の検索文字が含まれていたインデックス行列における適合位置と文字相関値とを、文字相関値保存部22bに保存する。
続いて、インデックス行列検索処理部22aは、再度S26に戻り、検索キーワードのさらに次の文字である第3番目の検索文字を取り出し、S25で取り出した第1番目の検索文字を含んでいたインデックス行列に対して検索する。
そして、ここでも、検索が完了すると、インデックス行列検索処理部22aは、第3番目の検索文字を検索できたかどうかを判断し(S27)、1つも検索できなかった場合はS29に移行し、検索できた場合は再度S28に進み、検索キーワードのさらなる次の検索文字についての検索を行う。
このようなS26〜S28までの処理、つまり、S25にて抽出した、第1番目の検索文字が含まれているインデックス行列を対象とした、第2番目以降の各検索文字の絞り込み検索を、インデックス行列検索処理部22aは、S27で文字を1つも検出できなかったと判断するか、検索キーワード内の全検索文字に対しての検索が完了したと判断するまで行い、その後、S29に移行する。
S29では、検索キーワードにおける次の文字である第2番目の検索文字を取り出す。次いで、検索文字が終わりか、つまり、全ての検索文字に対して検索を終えたかどうを判断し(S30)、終わっていない場合は、S22に戻る。
そして、上記と同様にして、インデックス行列検索処理部22aは、インデックス情報DB17内の全てのインデックス行列に対して、第2番目の検索文字を検索する。検索できた場合は、インデックス行列の適合位置と文字相関値を保存した上でS25に進み、第2番目の検索文字を含んでいる全てのインデックス行列に対して、検索キーワードの次の文字、つまり、第2番目の次である第3番目以降の各検索文字に対して、S26〜S28を繰り返し行って絞り込み検索を行う。
インデックス行列検索処理部22aは、上記のような検索を、S29で検索文字を一つ進め、進めた検索文字を含むインデックス行列を取り出し、それ以降の検索文字にて絞り込みを掛けるといった処理を、第3番目以降の各検索文字についても順次行う。
そして、S29にて検索キーワード内の全ての検索文字について取り出しを終え、S30にて、全ての検索文字に対して検索を終了したと判断した場合は、S31に進む。
S31では、相関度算出部22cが、検索キーワードと各インデックス行列との相関度を、後述するように相関度基準にしたがって算出する。
そして、表示順序決定部22dが相関度の高いインデックス行列を含む画像文書より表示されるように表示順序を決定し、画像文書抽出部22eが画像文書DB19より画像文書のイメージデータを取得し、検索結果表示部25が相関度の高い順に画像文書を表示する(S32)。
続いて、図20、図21を用いて、相関度算出部22cにおける相関度基準にしたがった、インデックス行列と検索キーワードとの相関度算出方法について説明する。
図20の参照符号101のブロックには、検索条件を記載している。そして、参照符号102のブロックには、相関度を計算するためのある仮定の検索キーワードとインデックス行列との相対関係を記載している。ブロック101に示した検索条件で、検索キーワードとインデックス行列とが、ブロック102に示すような相対関係であった場合、検索キーワードとインデックス行列の相関度は、ブロック103にて示されるような計算式にて算出されることとなる。
まず、ブロック101の検索条件について説明する。検索キーワードの文字数はR個であり、第1番目の検索文字がC1、第2番目がC2、…、第R番目がCrである。
検索対照となるインデックス行列はM×N次行列である。つまり、見出し領域Tとして切り出された文字列画像の文字数がM個であり、文字列の各文字それぞれの候補として選択された候補文字数がN個である。
検索文字と各候補文字との相関値である文字相関値は、インデックス行列の各位置に応じて定められているので、インデックス行列と同じ次数の行列となる。つまり、文字相関値行列Weightは、M×N次行列である。例えば、Weight[i][j]は、インデックス行列における位置[i,j](=I ndex[i][j])にある候補文字が適合された場合の文字相関値を表している。本実施の形態では、インデックス行列の列番号[j]が同じであれば、行番号[i]に関わらず、文字相関値は同じである。
行の相関度加重因子Qは、インデックス行列における隣接する2行にわたって、検索文字が適合した場合に、それら2行の文字相関値に加えられる加重である。隣接する2行にわたって検索文字が適合する場合、検索キーワードの連続する2文字を含んでいる可能性が高い。
行の相関度加重因子Qを高く設定すると、相関度算出部22cが算出する相関度への貢献度が、連続的に適合された2行の文字相関値では大きくなるが、隣接しない各行の文字相関値では小さくなる。つまり、行の相関度加重因子Qを高く設定することで、語彙を一つの単位として検索した結果に近づくようになり、逆に行の相関度加重因子Qを小さくすることで、字を1つの単位として検索した結果に近づくようになる。
検索文字C1が適合した文字相関値はW1、検索文字C2が適合した文字相関値はW2,…、検索文字Crが適合した文字相関値はWrとして表す。
続いて、ブロック102に示す、相関度を計算するために仮定した、検索キーワードとインデックス行列との相対関係について説明する。
検索キーワードとインデックス行列とは、全ての検索文字C1、C2、…Crがインデックス行列内の何れかの候補文字と適合する関係にある。検索文字C1、C2、…Crが適合した各候補文字のインデックス行列内の位置、つまり適合位置を、[C1i,C1j],[C2i,C2j],…[Cri,Crj]として表す。
そして、さらなる相対関係として、ブロック102に示す式(1)、
C(k+1)i=Cki+1,C(m+1)i=Cmi+1(m>k) …(1)
の関係にある。
該式において、k,mは、検索キーワードを構成する各検索文字の相対位置を表している。また、C(k+1)iは、検索キーワードの第k+1番目の検索文字が適合した候補文字のインデックス行列内の行番号を示し、Ckiは、検索キーワードの第k番目の検索文字が適合した候補文字のインデックス行列内の行番号を示している。
したがって、C(k+1)i=Cki+1は、検索キーワードの第k+1番目の検索文字が適合した候補文字のインデックス行列内の行番号が、検索キーワードの第k番目の検索文字が適合した候補文字のインデックス行列内の行番号にプラス1したものと同じであることを示している。換言すると、C(k+1)i=Cki+1は、検索キーワードの第k+1番目の検索文字と第k番目の検索文字とが、インデックス行列における隣接した2行にそれぞれ適合する関係にあることを示している。
C(m+1)i=Cmi+1も同様であり、検索キーワードの第m+1番目の検索文字と第m番目の検索文字とが、インデックス行列における隣接した2行にそれぞれ適合する関係にあることを示している。
検索キーワードとインデックス行列とが、このような相対関係にある場合、検索キーワードとインデックス行列との相関度は、ブロック103に示す式(2)にて算出される。
SimDegree=W1+W2+…+W(k−1)+Q*(Wk+W(k+1))+…
+W(m−1)+Q*(Wm+W(m+1))+…+Wr …(2)
該式において、W1は、第1番目の検索文字C1が適合した文字相関値であり、W2は第2番目の検索文字C2が適合した文字相関値、W(k−1)は、第(k−1)番目の検索文字C(k−1)が適合した文字相関値である。同様にして、W(k)は、第k番目の検索文字Ckが適合した文字相関値であり、W(k+1)は、第(k+1)番目の検索文字C(k+1)が適合した文字相関値である。また、W(m−1)は、第(m−1)番目の検索文字C(m−1)が適合した文字相関値である。同様にして、W(m)は、第m番目の検索文字Cmが適合した文字相関値であり、W(m+1)は、第(m+1)番目の検索文字C(m+1)が適合した文字相関値である。そして、最後のWrは、第r番目の最後の検索文字C1が適合した文字相関値である。
このように、相関度の算出においては、検索キーワードを構成する全検索文字の文字相関値Wが積算(累計)される。
そして、式(2)におけるQ*(Wk+W(k+1))は、検索キーワードにおける第k番目の検索文字Ckと第(k+1)番目の検索文字C(k+1)とが、インデックス行列における隣接した2行にそれぞれ適合しているので、文字相関値Wkと文字相関値W(k+1)とに行の相関度加重因子Qが掛け合わされていることを示している。Q*(Wm+W(m+1))についても同様である。
なお、検索キーワードの第k−1番目の検索文字と第k番目の検索文字は、隣接した2行に適合する関係にはないため、W(k−1)とWkとの両方に対して相関度加重因子Qを掛け合わせてはいない。W(m−1)とWmについても同様である。
ところで、図20のブロック102に示した検索キーワードとインデックス行列との相対関係では、全ての検索文字C1、C2、…Crがインデックス行列内の何れかの候補文字と適合する関係にあるとしたので、式(2)においては、W1〜Wrまでの全ての検索文字の文字相関値が累積されている。
しかしながら、これは一例であり、例えば、式(1)の相対関係を有するものの、検索文字C1と検索文字Crとがインデックス行列内の何れの候補文字にも適合しなかった場合の相関度を算出する式は、次式のようになり、累積項が少ない分、当然その相関度は低くなる。
SimDegree=W2+…+W(k−1)+Q*(Wk+W(k+1))+…
+W(m−1)+Q*(Wm+W(m+1))+…+W(r−1)
また、全ての検索文字C1、C2、…Crがインデックス行列内の何れかの候補文字と適合する関係にあり、かつ、検索キーワードの第k+1番目の検索文字と第k番目の検索文字、及び、第k+2番目の検索文字と第k+1番目の検索文字とが、それぞれ隣接した2行に適合する関係にある場合、相関度を算出する式は次式のようになるであろう。
SimDegree=W1+W2+…+W(k−1)
+Q*(Wk+W(k+1)+W(k+2))…+WR
この場合も、検索キーワードの第k−1番目の検索文字と第k番目の検索文字は、隣接した2行に適合する関係にはないため、W(k−1)とWkとの両方に対して相関度加重因子Qを掛け合わせてはいない。
次に、図21を用いて、相関度計算の具体例を説明する。ここでは、図10に示した、文字列『去神仙居住的地方』のインデックス行列(テーブル200参照)と、検索キーワード『神仙』との相関度を求める。
図21のブロック104に検索条件を示す。相関値行列WeightはM×N次,文字相関値はWeight[i]=[1,1−1/N,1−2/N,…,1/N](i=0,1,…,M−1),行の相関度加重因子Qである。
検索キーワード『神仙』は、それぞれ、第1番目の検索文字である『神』と第2番目の検索文字である『仙』とに分割され、それぞれに対してインデックス行列内の候補文字に対して検索される。
図10のテーブル200を参照すると分かるように、検索文字である『神』は、インデックス行列における位置[i,j]の[2,1]に適合し、検索文字である『仙』は、インデックス行列における[3,1]に適合する。
したがって、ブロック105に示すように、検索文字『神』の文字相関値は1、検索文字『仙』の文字相関値は1となる。
そして、検索文字『神』の行番号は[2]であり、検索文字『仙』の行番号は[3]であり、図10のテーブル200に示すように、これら2つの検索文字は、インデックス行列における隣接した2行にそれぞれ適合している。
したがって、ブロック106に示すように、検索文字『神』の文字相関値1と検索文字『仙』の文字相関値1には、行の相関度加重因子Qが掛け合わされ、検索キーワードの『神仙』と文字列『去神仙居住的地方』のインデックス行列との相関度は、SimDegree=Q*(1+1)=2Qとなる。
検索キーワードとインデックス行列との相関度は、相関値行列における加重(文字相関値)と行の相関度加重因子Qなどのパラメータを、ユーザの要望にしたがって柔軟に調整することで、より理想的な検索結果を得ることができる。
ユーザは、キーボード1などを用いて、相関値行列における加重(文字相関値)と行の相関度加重因子Qなどのパラメータを必要に応じて適宜設定することができる。
そして、このような画像特徴によるインデックスと適合方式は、多言語の画像文書のインデックスと検索を満足できる、文字認識を行わず、計算量が少ない。本発明は中国語に限らず各種言語の画像文書に応用できる。
続いて、語彙解析機能(語義分析機能)付き検索処理について説明する。図18にも示したように、本実施の形態の画像文書処理装置10では、キーワード入力部24と検索部22との間に、語彙解析部23が設けられている。図22に語彙解析機能付きの検索処理を示す。
語彙解析部23は、語義分析処理部23aと語義辞典23bとから構成される。語義分析処理部23aは、キーワード入力部24から検索キーワードが入力されると、語義辞典23bを参照して、検索キーワードの語彙を分析する。
例えば、検索キーワードとして「中日関係」が入力されると、語義分析処理部23aは、「中日関係」に関連する単語として、例えば「中国」,「日本」,「関係」の3つを検索部22に入力する。これら「中国」,「日本」,「関係」はorの関係にあり、検索式は、「中国」or「日本」or「関係」となる。
検索部22には、該検索式「中国」or「日本」or「関係」が入力され、検索部22は、インデックス情報DB17に対して検索を掛け、「中国」を含む画像文書、「日本」を含む画像文書、及び「関係」を含む画像文書を抽出する。
これにより、入力された検索キーワードが直接的に含まれている画像文書だけでなく、関連の画像文書も検索できる。
前述のように、一覧表示された見出し語から見出し語を選択したのち、キーワードを入力して検索すると、選択された見出し語によって文書画像が絞り込まれ、絞り込まれた文書画像を検索対象としてキーワードを検索するので、検索処理を高速化することができる。
次に、画像文書管理処理を実施する画像文書管理部57について説明する。画像文書管理部57は、文字画像特徴抽出部14、字形特徴辞書15、特徴適合部16、見出し領域初期処理部18、画像文書DB19、画像文書特徴DB20、文書名作成部51、画像文書DB管理部52、画像文書表示部53、指示入力部54により構成されており、これらについて説明する。
文字画像特徴抽出部14、字形特徴辞書15、特徴適合部16、見出し領域初期処理部18、画像文書DB19、画像文書特徴DB20の機能については既に説明している。ここでは、意味のある文書名を作成して画像文書特徴DB20の画像文書を管理する画像文書管理処理を実施するためにさらに必要な機能のみ、適宜説明する。
図23を用いて画像文書管理処理を説明する。イメージスキャナ2やデジタル撮影装置6にて構成される画像文書入力部21より、画像文書1〜Nが入力される。
入力された画像文書1〜Nに対し、見出し領域初期処理部18が、それぞれの画像文書の内容を分析して、見出し領域を切出して文字列を取得する。続いて、図示してはいないが、文字画像特徴抽出部14が、前記と同様に、切出された見出し領域に含まれる文字列の文字画像を1文字ごとに分割して各文字画像の画像特徴を抽出する。
そして、このように抽出された文字列画像の画像特徴を基に、字形特徴辞書15および特徴適合部16からなる候補文字列生成部55が、画像特徴の適合度が高い文字画像を候補文字として選択して、切出された見出し領域に含まれる文字列に応じた候補文字列を作成するとともに、上記のように語彙解析法を用いて該候補文字列を構成する各候補文字を調整して意味のある候補文字列とする。
候補文字列生成部55にてこのように生成された意味のある候補文字列は、文書名作成部51に送られる。
文書名作成部51は、入力された画像文書に対して、候補文字列生成部55にて生成された意味のある候補文字列を含めた文書名を作成する。この意味のある候補文字列が含まれた文書名を、以下においては「意味のある文書名」と称する。
文書名作成部51には、時間データ等発生部60から、画像文書が入力された時間および入力経路を示すデータ等のその他のデータも入力されるようになっている。文書名作成部51は、時間データ等発生部60から入力される時間データを少なくとも含むその他のデータを用いて、書類名を生成することもできる。
たとえば、時間データ等のその他のデータのうち、時間データを意味のある文書名に含め、意味のある文書名を、時間データと意味のある候補文字列よりなる構成としてもよい。
あるいは、時間データ等のその他のデータを用いて、同じ画像文書に、別の文書名を作成してもよい。時間データ等のその他のデータ等にて構成された文書名を、以下、オリジナル文書名と称する。
このような構成とすることで、1つの画像文書を、意味のある文書名と、時間データ等のその他のデータ等にて構成されたオリジナル文書名とで管理することが可能となる。
個々の画像文書に対して生成された意味のある文書名、およびオリジナル文書名は、画像文書DB管理部52に送られ、画像文書DB19に、画像文書のイメージデータに対応させて格納される。
画像文書DB管理部52は、キーボード1等により構成される図1に示す指示入力部54を用いて、画像文書DB19に蓄積されている画像文書の閲覧指示等がユーザよりなされると、表示装置3等より構成される図1の画像文書表示部53に、閲覧画面を表示する。
図24に、画像文書表示部53に表示される、画像文書DB19に格納されている画像文書の閲覧画面の一例を示す。
図において、左側に示されている画面201は、蓄積されている画像文書がオリジナル文書名にて一覧表示されている状態を示す。画面201の上には、各画像文書の入力順を示している。紙面一番手前にある「AR C262M 20060803 103140」とのオリジナル文書名が付されている画像文書が、この画面にて、最も先に入力された画像文書となる。「20060803」は入力日(2006年8月3日)を表し、「103140」は時間(10時31分40秒)を表している。
このような表示状態において、画面に表示されている「意味のある文書名」のタグを選択するなどの操作にて、閲覧画面の表示は、図において、右側に示されている画面202へと遷移する。画面202は、蓄積されている画像文書が意味のある文書名にて一覧表示されている状態を示す。
この画面202は、画面201に対応しており、ここでも、画面201の上部に示す、紙面一番手前にある「定格惠州西湖」との意味のある文書名が付されている画像文書が、この画面にて、最も先に入力された画像文書である。
このように、意味のある文書名にて閲覧できることにより、ユーザによる蓄積された画像文書の管理やサーチが容易に実施できるようになる。また、オリジナル文書名も併せて作成されることで、時間データ等の情報も、書類名と同時にみることができる。
なお、本画像文書処理装置においては、作成したインデックス行列を用いてインデックス情報を作成し、検索処理に用いる。そのため、見出し領域初期処理部18は、画像文書に含まれる複数の見出し領域Tを抽出し、それぞれにインデックス行列を作成するようになっている。しかしながら、画像文書に意味のある文書名を作成することのみを目的とするのであれば、画像文書に含まれる複数の見出しを抽出してそれぞれにインデックス行列を作成する必要はない。
つまり、画像文書を最もよく表す見出し領域に含まれる見出しの文字列(文字画像列)に対してインデックス行列を作成し、これに基づき、特徴がマッチする文字列を使用して、意味の持つ名称を作成するように構成すればよい。
画像文書を最もよく表す見出し領域としては、たとえば、抽出された複数の見出し領域のうち、画像文書の一番上の行に存在するものとすることができる。これは、重要な見出しは、画像文書の一番上の行に配されることが多いためである。
また、見出し領域に含まれる文字のサイズが、ある閾値より大きく、抽出された他の見出し領域のものよりも大きいものとすることもできる。これは、重要な見出しは、他の見出しよりも大きな文字のサイズにて記載されることが多いためである。
あるいは、見出し領域に含まれる文字のフォント(字形)タイプが、抽出された他の見出し領域のものと異なるものとすることもできる。これは、重要な見出しは、他の見出しとは異なるフォント(字形)にて記載されることが多いためである。なお、これら以外の基準を付加することもでき、また、各基準は、個々に用いてもよいし、組合わせて用いてもよい。
また、本画像文書処理装置のように、1つの画像文書について、複数の見出し領域を抽出し、それぞれにインデックス行列を作成する構成では、見出し領域の配置位置や、文字サイズ、あるいはフォントにて、最も重要な見出し領域のインデックス行列を特性するようにすればよい。また、特に、このような場合であれば、抽出された複数の見出し領域のインデックス行列より、最も頻出する単語が候補文字列に含まれるように作成することも好ましい。
本発明の他の実施形態として、バイグラムモデルの代わりにマルチグラムモデルを用いてインデックス行列の調整を行うことも可能である。
上記の実施形態とは、候補文字列の調整方法において、マルチグラムモデルを用いることのみが異なるだけで、その他の構成については同様であるので、詳細な説明は省略する。
図25は、マルチグラムモデルを用いたインデックス行列の調整方法を示すフローチャートである。
ステップS41では、インデックス行列の最後の行に到達したかどうかを判断する。到達していなければステップS42に進み、到達していればステップS50に進む。
ステップS42では、着目されている行、すなわち一回目の処理の場合は1行目の第1候補を取り出す。ステップS43では、マルチグラムモデルを適用して、着目されている行の第1候補と、これに隣接する行の各候補との組み合わせについて辞書内での出現頻度を統計的にカウントする。
ステップS44では、カウント値と予め定める閾値とを比較し、カウント値が閾値を越えたかどうかを判断する。閾値を越えていればステップS35に進み、閾値を越えていなければステップS46に進む。
ステップS45では、隣接する行の第1候補を決定してステップS46に進む。ステップS46では、再度マルチグラムモデルを適用して、着目されている行とこれに続く複数の行の各候補との組み合わせについて辞書内での出現頻度を統計的にカウントする。
ステップS47では、カウント値と予め定める閾値とを比較し、カウント値が閾値を越えたかどうかを判断する。閾値を越えていればステップS48に進んで着目されている行に続く複数の行の第1候補を決定する。閾値を越えていなければステップS49に進んで最大頻度を示す文字を選択して暫定的に第1候補を決定する。
ステップS50では、決定された語、または語句の間の関連性に基づいて暫定の第1候補を決定する。ステップS51では、第1候補文字列の中にある文字集合は辞書データの語義ルールに合致するかどうかを判断する。合致すればステップS52に進んで処理を終了し、調整されたインデックス行列を得る。合致しなければステップS53に進んで合致しない行の第1候補を調整して処理を終了する。
このように、マルチグラムモデルを適用することで、バイグラムに比べてより正確な候補文字列を作成することができる。
最後に、画像文書処理装置の各ブロック、特に、字体正規化処理部12、文字画像特徴抽出部14、特徴適合部16、見出し領域初期処理部18、検索部22、語彙解析部23、文書名作成部51、画像文書DB管理部52等は、ハードウエアロジックによって構成してもよいし、次のようにCPUを用いてソフトウエアによって実現してもよい。
すなわち、画像文書処理装置10は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリなどの記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウエアである画像文書処理装置10の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記画像文書処理装置10に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープなどのテープ系、フロッピー(登録商標)ディスク/ハードディスクなどの磁気ディスクやCD−ROM/MO/MD/DVD/CD−Rなどの光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カードなどのカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROMなどの半導体メモリ系などを用いることができる。
また、画像文書処理装置10を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網などが利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線などの有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は、その精神または主要な特徴から逸脱することなく、他のいろいろな形態で実施できる。したがって、前述の実施形態はあらゆる点で単なる例示に過ぎず、本発明の範囲は特許請求の範囲に示すものであって、明細書本文には何ら拘束されない。さらに、特許請求の範囲に属する変形や変更は全て本発明の範囲内のものである。