(57)【要約】【課題】確定していない複数の文字認識結果がある場合に、その文字認識結果で構成される文字列を被検索対象とするようにした情報処理装置を提供する。【解決手段】情報処理装置のネットワーク構築手段は、複数の文字認識結果の各々の文字をノードとし、隣接する文字画像のノード間をリンクで結ぶネットワークを構築し、第１の決定手段は、前記ネットワーク内の第１の切れ目候補を決定し、第２の決定手段は、前記ネットワーク内の前記第１の切れ目候補とは異なる第２の切れ目候補を決定し、抽出手段は、前記第１の切れ目候補と前記第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの中から複数個の文字列候補を被検索対象として抽出する。【選択図】図１
2014157409.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字認識結果の各々の文字をノードとし、隣接する文字画像のノード間をリンクで結ぶネットワークを構築するネットワーク構築手段と、
前記ネットワーク内の第１の切れ目候補を決定する第１の決定手段と、
前記ネットワーク内の前記第１の切れ目候補とは異なる第２の切れ目候補を決定する第２の決定手段と、
前記第１の切れ目候補と前記第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの中から複数個の文字列候補を被検索対象として抽出する抽出手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記第１の決定手段は、前記第１の切れ目候補を、前記ネットワーク内の先頭から最後尾まで移動させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の決定手段は、前記第１の切れ目候補を、該第１の切れ目候補の文字画像を含む文字列内における文字画像間の距離が閾値よりも大又は以上である箇所とする
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２の決定手段は、前記第１の切れ目候補から予め定められたノード数離れた位置を前記第２の切れ目候補として決定する
ことを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第２の決定手段は、前記第１の切れ目候補の文字画像から予め定められた距離だけ離れた位置を前記第２の切れ目候補として決定する
ことを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２の決定手段は、前記第１の切れ目候補の文字画像の高さ又は該第１の切れ目候補の文字画像を含む文字列の高さに基づいた距離だけ離れた位置を前記第２の切れ目候補として決定する
ことを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項７】
前記抽出手段は、前記第１の切れ目候補と前記第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの評価値を算出し、該評価値に基づいて複数個の文字列候補を抽出する
ことを特徴とする請求項１から６のいずれか一項に記載の情報処理装置。
【請求項８】
検索文字列を受け付ける受付手段と、
前記抽出手段によって抽出された文字列候補を被検索文字列として、前記検索文字列を検索する検索手段
をさらに具備することを特徴とする請求項１から７のいずれか一項に記載の情報処理装置。
【請求項９】
コンピュータを、
複数の文字認識結果の各々の文字をノードとし、隣接する文字画像のノード間をリンクで結ぶネットワークを構築するネットワーク構築手段と、
前記ネットワーク内の第１の切れ目候補を決定する第１の決定手段と、
前記ネットワーク内の前記第１の切れ目候補とは異なる第２の切れ目候補を決定する第２の決定手段と、
前記第１の切れ目候補と前記第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの中から複数個の文字列候補を被検索対象として抽出する抽出手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、認識誤りによって検索できない場合を少なくすると共に、一般的なシステムでの検索が可能な、情報処理技術を提供することを課題とし、入力された画像が文字認識されると、この認識された文字データ候補からテキストデータを生成し、このとき、認識された文字データから複数のテキストデータが生成され、生成された複数のテキストデータを画像と共に電子データとして保存することが開示されている。
【０００３】
特許文献２には、文字認識を用いた文書画像の検索において、誤認識があっても高精度な検索を行うことを課題とし、文字認識部は、文書画像を文字認識してテキストを生成し、再処理範囲決定部は、再処理範囲を決定し、ラティス生成部は、再処理範囲の文字認識をやり直した結果から候補文字ラティスを生成し、文字列生成部は、候補文字ラティスから文字列を生成し、テキスト追加部は、テキストに文字列を追加して、検索用テキストを生成し、インデックス生成部は、テキストを用いて文書画像にインデックスをはり、検索部は、このインデックスを用いた検索を実行することが開示されている。
【０００４】
特許文献３には、従来の検索技術では、依然として無関係なヒットが発生してしまうことを課題とし、検索クエリと当該検索クエリの展開クエリとを基に、検索対象の文書データを検索して前記検索クエリ及び前記展開クエリに一致する文字列を抽出し、その抽出された文字列が、未知語領域を含むか否かを判定し、未知語領域を含まないと判定された場合に、抽出された文字列の類似度を低下させるように調整し、その調整された類似度に応じた順番で文字列を検索結果として出力することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２３０６７１号公報
【特許文献２】特開２００２−３１２３６５号公報
【特許文献３】特開２００６−３４３８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、確定していない複数の文字認識結果がある場合に、その文字認識結果で構成される文字列を被検索対象とするようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、複数の文字認識結果の各々の文字をノードとし、隣接する文字画像のノード間をリンクで結ぶネットワークを構築するネットワーク構築手段と、前記ネットワーク内の第１の切れ目候補を決定する第１の決定手段と、前記ネットワーク内の前記第１の切れ目候補とは異なる第２の切れ目候補を決定する第２の決定手段と、前記第１の切れ目候補と前記第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの中から複数個の文字列候補を被検索対象として抽出する抽出手段を具備することを特徴とする情報処理装置である。
【０００８】
請求項２の発明は、前記第１の決定手段は、前記第１の切れ目候補を、前記ネットワーク内の先頭から最後尾まで移動させることを特徴とする請求項１に記載の情報処理装置である。
【０００９】
請求項３の発明は、前記第１の決定手段は、前記第１の切れ目候補を、該第１の切れ目候補の文字画像を含む文字列内における文字画像間の距離が閾値よりも大又は以上である箇所とすることを特徴とする請求項１又は２に記載の情報処理装置である。
【００１０】
請求項４の発明は、前記第２の決定手段は、前記第１の切れ目候補から予め定められたノード数離れた位置を前記第２の切れ目候補として決定することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置である。
【００１１】
請求項５の発明は、前記第２の決定手段は、前記第１の切れ目候補の文字画像から予め定められた距離だけ離れた位置を前記第２の切れ目候補として決定することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置である。
【００１２】
請求項６の発明は、前記第２の決定手段は、前記第１の切れ目候補の文字画像の高さ又は該第１の切れ目候補の文字画像を含む文字列の高さに基づいた距離だけ離れた位置を前記第２の切れ目候補として決定することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置である。
【００１３】
請求項７の発明は、前記抽出手段は、前記第１の切れ目候補と前記第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの評価値を算出し、該評価値に基づいて複数個の文字列候補を抽出することを特徴とする請求項１から６のいずれか一項に記載の情報処理装置である。
【００１４】
請求項８の発明は、検索文字列を受け付ける受付手段と、前記抽出手段によって抽出された文字列候補を被検索文字列として、前記検索文字列を検索する検索手段をさらに具備することを特徴とする請求項１から７のいずれか一項に記載の情報処理装置である。
【００１５】
請求項９の発明は、コンピュータを、複数の文字認識結果の各々の文字をノードとし、隣接する文字画像のノード間をリンクで結ぶネットワークを構築するネットワーク構築手段と、前記ネットワーク内の第１の切れ目候補を決定する第１の決定手段と、前記ネットワーク内の前記第１の切れ目候補とは異なる第２の切れ目候補を決定する第２の決定手段と、前記第１の切れ目候補と前記第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの中から複数個の文字列候補を被検索対象として抽出する抽出手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１６】
請求項１の情報処理装置によれば、確定していない複数の文字認識結果がある場合に、その文字認識結果で構成される文字列を被検索対象とすることができる。
【００１７】
請求項２の情報処理装置によれば、被検索対象として、ネットワーク内の文字列が欠如してしまうことを防止することができる。
【００１８】
請求項３の情報処理装置によれば、第１の切れ目候補を、文字列内における文字画像間の距離が閾値よりも大又は以上である箇所とすることができる。
【００１９】
請求項４の情報処理装置によれば、予め定められた文字数の文字列を被検索対象とすることができる。
【００２０】
請求項５の情報処理装置によれば、第１の切れ目候補の文字画像から予め定められた距離の間にある文字画像からの文字認識結果で構成される文字列を被検索対象とすることができる。
【００２１】
請求項６の情報処理装置によれば、第１の切れ目候補の文字画像の高さ又は第１の切れ目候補の文字画像を含む文字列の高さに基づいた距離だけ離れた位置の間にある文字画像からの文字認識結果で構成される文字列を被検索対象とすることができる。
【００２２】
請求項７の情報処理装置によれば、評価値に基づいて複数個の文字列候補を抽出することができる。
【００２３】
請求項８の情報処理装置によれば、確定していない複数の文字認識結果がある場合に、その文字認識結果に対して検索を行うことができる。
【００２４】
請求項９の情報処理プログラムによれば、確定していない複数の文字認識結果がある場合に、その文字認識結果で構成される文字列を被検索対象とすることができる。
【図面の簡単な説明】
【００２５】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態による被検索文の生成処理例を示すフローチャートである。
【図３】本実施の形態による検索処理例を示すフローチャートである。
【図４】文字認識処理モジュール内の構成例についての概念的なモジュール構成図である。
【図５】文字認識処理モジュールによる処理例を示すフローチャートである。
【図６】記号例を示す説明図である。
【図７】記号例を示す説明図である。
【図８】記号例を示す説明図である。
【図９】記号例を示す説明図である。
【図１０】記号例を示す説明図である。
【図１１】文字切り出し位置が複数ある場合の処理例を示す説明図である。
【図１２】記号例を示す説明図である。
【図１３】文字切り出し位置が複数ある場合の処理例を示す説明図である。
【図１４】文字列を構成するネットワークの例を示す説明図である。
【図１５】文字列を構成するネットワーク内のノードが接続されている例を示す説明図である。
【図１６】被検索文生成モジュールによる処理例を示すフローチャートである。
【図１７】本実施の形態による処理例を示す説明図である。
【図１８】本実施の形態による処理例を示す説明図である。
【図１９】本実施の形態による処理例を示す説明図である。
【図２０】本実施の形態による処理例を示す説明図である。
【図２１】本実施の形態による処理例を示す説明図である。
【図２２】本実施の形態による処理例を示す説明図である。
【図２３】本実施の形態による処理例を示す説明図である。
【図２４】本実施の形態による処理例を示す説明図である。
【図２５】本実施の形態による処理例を示す説明図である。
【図２６】本実施の形態による処理例を示す説明図である。
【図２７】検索モジュールによる処理例を示すフローチャートである。
【図２８】被検索文生成モジュールによる処理例を示すフローチャートである。
【図２９】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【図３０】文字列画像の例を示す説明図である。
【図３１】文字境界候補の例を示す説明図である。
【図３２】外接矩形の例を示す説明図である。
【図３３】文字切り出し結果の例を示す説明図である。
【図３４】文字切り出し位置を示すネットワーク表現の例を示す説明図である。
【図３５】ネットワーク表現内のパターンの例を示す説明図である。
【図３６】ネットワークの例を示す説明図である。
【図３７】複数の文字候補がある場合のネットワーク例を示す説明図である。
【発明を実施するための形態】
【００２６】
まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する情報処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
【００２７】
例えば、図３０に示すような文字列画像を対象として説明する。まず、この文字列画像を準文字（文字画像、文字セグメントともいわれる）に分割する。準文字とは、文字そのもの、あるいは文字の一部となる可能性があるものである。文字部分としては、例えば、漢字の偏、旁が該当する。ここでは、図３０の例に示すような横書きの文字列画像を例にとる。横書きの画像では、垂直な線（あるいは垂直に近い線）で分割を行うことにより、準文字に分割する。例えば図３１に示した縦線（切れ目候補３１１０、切れ目候補３１２０）で、文字列画像を分割して、３つの準文字「イ」、「ヒ」、及び、「学」を得ることができる。図３１の例に示した縦線を切れ目候補と呼ぶこととする。切れ目候補３１１０が「イ」と「ヒ」を分け、切れ目候補３１２０が「ヒ」と「学」を分けている。
【００２８】
次に、図３２の例に示すように、各準文字に対し、その外接矩形（外接矩形３２１０、外接矩形３２２０、外接矩形３２３０）を抽出する。
以下、既に知られている技術内容を例にして説明する。
前述の準文字を統合して、文字画像を決定する。複数の準文字を統合して１つの文字画像を形成する場合もあれば、１つの準文字が１つの文字となる場合もある。文字画像を決定するとは、文字の切り出し位置を決定することと同値であるから、以下では文字切り出し位置の決定という場合もある。
準文字の統合のパターンは複数存在する。複数存在するパターンの中で、最も文字画像として評価の高いものを選択することによって、最終的な文字切り出し位置を決定する。
図３２の例に対しては、全ての文字切り出しパターンは、図３３に示す例のようになる。つまり、図３３（ａ）の例では、パターン１として３つの文字画像（外接矩形３２１０、外接矩形３２２０、外接矩形３２３０）、図３３（ｂ）の例では、パターン２として２つの文字画像（外接矩形３２１０と３２２０、外接矩形３２３０）、図３３（ｃ）の例では、パターン３として１つの文字画像（外接矩形３２１０と３２２０と３２３０）、図３３（ｄ）の例では、パターン４として２つの文字画像（外接矩形３２１０、外接矩形３２２０と３２３０）を示している。
【００２９】
文字切り出し位置を示すネットワーク表現（グラフ表現ともいわれる）として、図３３の例に示した複数の切り出しパターンを表すことができる。図３４の例において、ネットワークは、始点ノード３４００、終点ノード３４９０、中間ノード３４１０（ノード１）、中間ノード３４２０（ノード２）の４つのノードと、ノード間を接続するアークで構成されている（ノード間の接続線をアークと呼ぶこととする）。始点は、文字列画像の左端、終点は文字列画像の右端にあたる。中間ノード３４１０（ノード１）、中間ノード３４２０（ノード２）は、それぞれ、文字の切れ目候補位置（すなわち、図３１の例に示した切れ目候補３１１０、切れ目候補３１２０）を示す。中間ノード３４１０（ノード１）は、切れ目候補３１１０に対応している。また、中間ノード３４２０（ノード２）は、切れ目候補３１２０に対応している。
【００３０】
始点から、各ノードを通って、終点に至る経路を以下、「パス」と呼ぶ。パスは、１又は複数のアークから構成される。通常、複数のパスが存在する。図３３の例に示した文字切り出しパターンは、これらの複数のパスに対応している。例えば、図３３（ｂ）の例に示したパターン２は、図３５の太線で示したパス（文字切り出しパターン３４０４、文字切り出しパターン３４２２）と対応している。
ここで、どれか１つのアークには、１つの文字画像の候補が対応している。例えば、始点ノード３４００と中間ノード３４２０（ノード２）を結ぶアークには、「化」という文字画像（文字切り出しパターン３４０４）が対応している。１つのアークに対応する文字に対して、その文字の評価値を決定することができる。これを「アーク評価値」と呼ぶこととする。
アーク評価値は、文字の形状情報や、文字認識における認識確度（認識対象の準文字が文字認識結果である文字コードであることの確信度）などから算出する。アーク評価値の算出方法はさまざまある。例えば、（１）特開平９−１８５６８１号公報、（２）特開平８−１６１４３２号公報、（３）特開平１０−１５４２０７号公報、（４）特開昭６１−１７５８７８号公報、（５）特開平３−３７７８２号公報、（６）特開平１１−２０３４０６号公報等に記載の従来技術に示されている手法等がある。
【００３１】
１つのパスは、複数のアークから構成されている。複数のアーク評価値を用いて、そのアークから構成されるパスの評価値を計算することができる。これを「パス評価値」と呼ぶこととする。
文字切り出し位置を決定するため、複数のパスの中で、最もパス評価値の高いパスを選択する。パスが選択できれば、文字切り出し位置が確定して、文字を切り出すことができる。そして、切り出した文字（文字画像）を文字認識した結果も確定することになる。
例えば、図３５の例で、太線のパスが選択されたとする。この場合、文字切り出し位置は、始点３４００と、中間ノード３４２０（ノード２）と、終点３４９０の３点となる。そして、確定した文字認識結果は、「化」（文字切り出しパターン３４０４）、「学」（文字切り出しパターン３４２２）となる。
【００３２】
ここで、パス評価値の算出方法について説明する。基本的には、パス評価値は、アーク評価値の重み付け和が用いられる。ｉ番目のアークのアーク評価値をＶｉとし、ｉ番目のアーク評価値に対する重みをｗｉとし、アークの数をＮ、パス評価値をＰとすると、Ｐは次の（１）式で与えられる。
【数１】
2014157409.tif 000003
パスの数が複数存在すると前述したが、実際の文字列には、多くの準文字が存在しているため、存在するパスの数は膨大となる。
そこで、特開平３−２２５５７９号公報に記載の技術では、図３４の例に示されたようなネットワーク内の複数のパスから最も評価値の高いパスを探索する方法として、ダイナミックプログラミング手法を用いることが述べられている。
ここでは、ダイナミックプログラミング手法の中で、このようなネットワークの最良パスを探索するのに適したビタビ法の説明を行う。
【００３３】
図３６に示す例において、始点ノード３６００から終点ノード３６９０までのネットワークを説明する。なお、ノード間のリンク（アークともいわれる）は、図３６に示したものに限らず、さまざまな場合がある。もちろんのことながら、図３６のように対称の結線でなくてもかまわない。
このネットワークにおいて、途中に複数のノード（中間ノード３６１１、中間ノード３６１２、中間ノード３６１３等）を介して始点ノードから終点ノードに達するとする。途中のノードを中間ノードと呼ぶこととする。
各ノードとノードの間にはリンクが張られている。このリンクにはそのリンク固有の評価値（リンク値）が割り当てられている。始点ノード３６００から終点ノード３６９０に向かうパスは複数存在する。パスは、複数のリンクから成り立つことになる。パスが含む複数のリンクのリンク値の和が、パスの評価値となる。
例えば、リンク値は、ノード間の距離であるとする。この場合、パス評価値が最小のパスは、始点ノードから終点ノードに向かうパスの中で、最小距離のパスということになる。あるいは、パス評価値が最大のパスを求める問題とすることも可能である。
【００３４】
ここで、ビタビ法は、あるノードにある方向から入力されるリンクを１に限定することによって、最適ではないパスを削減する。これにより、演算処理量と所要メモリ量を削減する手法である。
例えば、今、ノードｘ（中間ノード３６２１）に左から入力されるリンクがすでに、１に限定されているとする。同様に、ノードｙ（中間ノード３６２２）、ノードｚ（中間ノード３６２３）に関しても１に限定されているとする。このとき、ノードＸ（中間ノード３６３１）に左から入力されるリンクを限定する。ノードＸ（中間ノード３６３１）には、ノードｘ（中間ノード３６２１）、ノードｙ（中間ノード３６２２）、ノードｚ（中間ノード３６２３）の３つのノードからリンクが張られている。このとき、ノードＸ（中間ノード３６３１）を通るパスとして、最適な可能性があるのは、ノードｘ（中間ノード３６２１）、ノードｙ（中間ノード３６２２）、ノードｚ（中間ノード３６２３）からノードＸ（中間ノード３６３１）に向かうリンクのいずれかである。この３つのうちで最適なものだけを残し、残りの２つを削除する。このようにして、ノードＸ（中間ノード３６３１）に左から入力されるパス（リンク）を１に限定する。ノードＹ（中間ノード３６３２）、ノードＺ（中間ノード３６３３）に関しても同様に左から入力されるパスを１に限定する。
このような手順を左のノードＡ（中間ノード３６１１）、ノードＢ（中間ノード３６１２）、ノードＣ（中間ノード３６１３）から順に右の方向に行う。最終的にノードＰ（中間ノード３６８１）、ノードＱ（中間ノード３６８２）、ノードＲ（中間ノード３６８３）に入る３つのパスに限定する。この３つのパスの中で最適なものを選択すればよい。
このようなビタビ法を用いた最適パス選定方法を、図３４に例示のネットワークにも同様に適用し得る。文字切り出し位置をノードとする。また、アーク評価値を前述のリンク値とすればよい。
【００３５】
従来技術が扱っていた図３４に例示するようなネットワークは、１つのアークに対し、１つの文字候補が存在しているものである。しかし、実際には１つのアークに対して、複数の文字候補が存在している。つまり、１つの準文字に対して文字認識結果が複数ある場合である。例えば、図３７のように、複数の文字候補を割り当てることになる。図３７は、複数の文字候補がある場合のネットワーク例を示す説明図である。図３７の例では、「化学」（文字画像３７０２）という画像を１文字として認識したときの文字認識結果が、文字候補３７０２Ａの「梢」、文字候補３７０２Ｂの「際」、文字候補３７０２Ｃの「傾」の３種類ある。「化」（文字画像３７０４）という画像を１文字として認識したときの文字認識結果が、文字候補３７０４Ａの「化」、文字候補３７０４Ｂの「比」、文字候補３７０４Ｃの「任」の３種類ある。同様に、他の文字画像に対しても文字認識結果としての文字候補が複数ある。なお、図３７の例では、各文字画像に対して３種類の文字候補があるが、異なる数の文字候補を割り当ててもよい。例えば、認識確度が予め定められた値以上である文字を文字候補とした場合は、各文字画像に対して文字候補の数が異なる場合がある。
【００３６】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００３７】
本実施の形態である情報処理装置は、画像から文字を認識し、その文字認識結果から検索の対象（被検索対象、以下、被検索文ともいう）を生成し、検索を行うものであって、図１の例に示すように、文字認識処理モジュール１１０、ネットワーク構築モジュール１２０、被検索文生成モジュール１３０、被検索文記憶モジュール１６０、検索文受付モジュール１７０、検索モジュール１８０を有している。被検索文生成モジュール１３０は、パス切出モジュール１４０、Ｎベスト抽出モジュール１５０を有している。パス切出モジュール１４０は、左端決定モジュール１４２、右端決定モジュール１４４を有している。この情報処理装置を実現するのに、例えば、文字認識処理モジュール１１０、ネットワーク構築モジュール１２０、被検索文生成モジュール１３０を有している情報処理装置Ａと、被検索文記憶モジュール１６０を有している情報処理装置Ｂと、検索文受付モジュール１７０、検索モジュール１８０を有している情報処理装置Ｃが通信回線を介して接続されているシステム構成としてもよいし、情報処理装置Ａによる処理結果を情報処理装置Ｂが記憶し、その後に、情報処理装置Ａと情報処理装置Ｂを切り離し、情報処理装置Ｂと情報処理装置Ｃを、通信回線を介して接続してもよい。
【００３８】
文字認識処理モジュール１１０は、ネットワーク構築モジュール１２０と接続されている。文字認識処理モジュール１１０は、画像から文字を認識し、その文字認識結果をネットワーク構築モジュール１２０に渡す。文字認識結果には、１つの準文字に対しての複数の文字コードを少なくとも含み、その他に、その文字コードの認識確度、その準文字の位置（例えば、画像内のＸＹ座標系における座標）、大きさ（例えば、準文字を囲む外接矩形の横幅、縦長）等を含んでいてもよい。文字認識処理モジュール１１０の処理の詳細については、図４の例を用いて後述する。
ネットワーク構築モジュール１２０は、文字認識処理モジュール１１０、パス切出モジュール１４０と接続されている。ネットワーク構築モジュール１２０は、文字認識処理モジュール１１０から文字認識結果を受け取り、その複数の文字認識結果の各々の文字をノードとし、隣接する準文字のノード間をリンクで結ぶネットワークを構築する。具体的には、前述したネットワークを生成する。
【００３９】
パス切出モジュール１４０は、ネットワーク構築モジュール１２０、Ｎベスト抽出モジュール１５０と接続されている。左端決定モジュール１４２は、ネットワーク内の第１の切れ目候補を決定する。右端決定モジュール１４４は、ネットワーク内の第１の切れ目候補とは異なる第２の切れ目候補を決定する。左端決定モジュール１４２と右端決定モジュール１４４によって、第１の切れ目候補から第２の切れ目候補までの間にある文字列を特定することになる。
左端決定モジュール１４２は、第１の切れ目候補を、ネットワーク内の先頭から最後尾まで移動させるようにしてもよい。例えば、ネットワーク内の先頭ノードから最後尾ノードまで欠けることなく、第１の切れ目候補を選択した場合は、ネットワーク内で表される全ての文字列候補を抽出することができるようになる。
左端決定モジュール１４２は、第１の切れ目候補を、その第１の切れ目候補の文字画像を含む文字列内における文字画像間の距離が閾値よりも大又は以上である箇所とするようにしてもよい。対象とする画像が、英語のように分かち書きされているような場合（単語と単語の間に空白が存在する場合）は、単語に相当する文字列候補とするためである。
【００４０】
右端決定モジュール１４４は、第１の切れ目候補から予め定められたノード数離れた位置を第２の切れ目候補として決定するようにしてもよい。ここで「予め定められたノード数」とは、予め定められた準文字数と同義である。つまり、第１の切れ目候補から数えて予め定められた準文字数（例えば、３文字分等）の文字列候補ということになる。
右端決定モジュール１４４は、第１の切れ目候補の文字画像から予め定められた距離だけ離れた位置を第２の切れ目候補として決定するようにしてもよい。ここで「距離」は、例えば、画素数、ｍｍ（ミリメートル）等で規定される。第１の切れ目候補からの距離は、前述の文字認識結果内の位置、大きさを用いて算出すればよい。予め定められた距離としては、例えば、予め知られている単語の長さの距離としてもよい。
右端決定モジュール１４４は、第１の切れ目候補の文字画像の高さ又はその第１の切れ目候補の文字画像を含む文字列の高さに基づいた距離だけ離れた位置を第２の切れ目候補として決定するようにしてもよい。「高さに基づいた距離」としては、高さに予め定められた値を乗算等して算出した距離がある。つまり、文字の大きさ（文字の高さ）に応じて文字列候補の長さを決定しようとするものである。
【００４１】
Ｎベスト抽出モジュール１５０は、パス切出モジュール１４０、被検索文記憶モジュール１６０と接続されている。Ｎベスト抽出モジュール１５０は、第１の切れ目候補と第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの中から複数個の文字列候補を被検索対象として抽出する。そして、抽出した文字列候補を被検索対象として被検索文記憶モジュール１６０に格納する。なお、以下、複数個の文字列候補をＮベストともいう。
また、Ｎベスト抽出モジュール１５０は、第１の切れ目候補と第２の切れ目候補の間にあるノードによって構成される文字列候補の組み合わせの評価値を算出し、その評価値に基づいて複数個の文字列候補を抽出するようにしてもよい。
被検索文記憶モジュール１６０は、Ｎベスト抽出モジュール１５０、検索モジュール１８０と接続されている。Ｎベスト抽出モジュール１５０によって抽出された文字列候補を被検索対象として記憶している。
【００４２】
検索文受付モジュール１７０は、検索モジュール１８０と接続されている。検索文受付モジュール１７０は、検索文字列を受け付ける。
検索モジュール１８０は、被検索文記憶モジュール１６０、検索文受付モジュール１７０と接続されている。検索モジュール１８０は、被検索文記憶モジュール１６０に格納された文字列候補（つまり、Ｎベスト抽出モジュール１５０によって抽出された文字列候補）を被検索文字列として、検索文字列を検索する。
検索文受付モジュール１７０、検索モジュール１８０による処理内容については、図２６〜図２８を用いて後述する。
【００４３】
図２は、本実施の形態による被検索文の生成処理例を示すフローチャートである。
ステップＳ２０２では、文字認識処理モジュール１１０が、画像を受け付ける。
ステップＳ２０４では、文字認識処理モジュール１１０が、文字認識を行う。
ステップＳ２０６では、ネットワーク構築モジュール１２０が、文字認識結果を用いてネットワークを構築する。
ステップＳ２０８では、被検索文生成モジュール１３０が、被検索文を生成し、被検索文記憶モジュール１６０に格納する。
【００４４】
図３は、本実施の形態による検索処理例を示すフローチャートである。確定していない複数の文字認識結果がある場合に、その文字認識結果に対して検索を行うものである。確定していない文字認識結果とは、人間による確認作業が完了していない文字認識結果であって、例えば、文字切り出しの誤りがあって１つの準文字が１つの文字に対応していなかったり、１つの準文字に対して複数の文字認識結果があるような状態をいう。
ステップＳ３０２では、検索文受付モジュール１７０が、検索文を受け付ける。
ステップＳ３０４では、検索モジュール１８０が、被検索文記憶モジュール１６０に記憶されている被検索文から検索文を検索する。
ステップＳ３０６では、検索モジュール１８０が、検索結果を出力する。
【００４５】
図４は、文字認識処理モジュール１１０内の構成例についての概念的なモジュール構成図である。
文字認識処理モジュール１１０は、画像受付モジュール４１０、文字列抽出モジュール４２０、切出位置抽出モジュール４３０、文字候補抽出モジュール４４０を有している。
【００４６】
画像受付モジュール４１０は、文字列抽出モジュール４２０と接続されている。画像受付モジュール４１０は、画像を受け付けて、その画像を文字列抽出モジュール４２０へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、通信回線を介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。画像は、２値画像、多値画像（カラー画像を含む）であってもよい。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、文字列が含まれているのであれば、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【００４７】
文字列抽出モジュール４２０は、画像受付モジュール４１０、切出位置抽出モジュール４３０と接続されている。文字列抽出モジュール４２０は、画像受付モジュール４１０が受け付けた画像から文字列を抽出する。
文字列抽出モジュール４２０が対象とする画像は、横書きあるいは縦書きの、１列のみの文字列画像である。なお、ここで、列とは、横書きの場合は横に並ぶ列であり、縦書きの場合は縦に並ぶ列である。
したがって、文字列抽出モジュール４２０は、画像受付モジュール４１０が受け付けた画像が１列のみの文字列画像であれば、そのまま用いればよい。画像受付モジュール４１０が受け付けた画像は、複数の文字列が存在するものである場合がある。このような複数文字列を単一の文字列になるように分離する手法としては、従来よりさまざまものが提案されているため、それらを用いればよい。単一の文字列となるように分離する例としてもさまざまな方式があるため、そのうちのいずれかを用いればよい。例えば、（１）特開平４−３１１２８３号公報、（２）特開平３−２３３７８９号公報、（３）特開平５−７３７１８号公報、（４）特開２０００−９０１９４号公報、等を用いればよい。これら以外の方法であってもよい。
【００４８】
切出位置抽出モジュール４３０は、文字列抽出モジュール４２０、文字候補抽出モジュール４４０と接続されている。切出位置抽出モジュール４３０は、文字列抽出モジュール４２０が抽出した文字列画像から文字画像を切り出す位置を抽出する。つまり、文字列画像を複数の準文字に分割する。この文字切り出し位置の抽出方法としてもさまざまな方式があるため、そのうちのどれかを用いればよい。例えば、（１）特開平５−１１４０４７号公報、（２）特開平４−１００１８９号公報、（３）特開平４−９２９９２号公報、（４）特開平４−６８４８１号公報、（５）特開平９−５４８１４号公報、（６）特開平９−１８５６８１号公報の００２１段落に記載の文字の境界候補抽出方式、（７）特開平５−１２８３０８号公報の０００５段落に記載の文字切り出し位置決定方法等を用いればよい。これら以外の方法であってもよい。なお、ここでの文字画像とは、いわば文字候補画像であり、必ずしもその文字画像が１つの文字を表す画像でなくてもよい。
【００４９】
また、切出位置抽出モジュール４３０は、複数の切り出し位置を抽出してもよい。複数の切り出し位置を抽出することによって、１つの文字列画像に対して、文字切出位置群が複数ある。文字切出位置群とは、１つの文字列画像に対して、１つ以上の文字切り出し位置があることをいう。例えば、２つの文字切り出し位置があれば、４つの文字画像に分けられることになる。また、文字切出位置群が複数あるとは、１つの文字列画像に対して、文字切出位置で分けられた文字画像列が複数あることをいう。例えば、２つの文字切り出し位置で３つの文字画像からなる文字画像列と、４つの文字切り出し位置で５つの文字画像からなる文字画像列となる。具体例で説明すると、「化学」という文字列画像に対して、「イ」「ヒ」「学」からなる文字画像列と「化」「学」からなる文字画像列を生成することである。
【００５０】
文字候補抽出モジュール４４０は、切出位置抽出モジュール４３０と接続されている。文字候補抽出モジュール４４０は、切出位置抽出モジュール４３０によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出し、ネットワーク構築モジュール１２０に渡す。この抽出処理を行うために、文字認識処理を行う。そのために、文字候補抽出モジュール４４０内に文字認識モジュールを含む。文字認識処理による認識結果は、前述のように、１つの文字画像に対して複数の文字候補が対応する。つまり、その文字画像を文字認識して、第１位の認識確度を有している文字候補、第２位の認識確度を有している文字候補等のように、複数の文字候補を文字認識結果とする。そして、文字認識結果として、文字候補の他に、その文字候補の認識確度を有していてもよい。また、抽出するのに、１つの文字画像に対して予め定められた数の文字候補を抽出してもよいし、予め定められた値以上の認識確度を有している文字候補を抽出してもよい。なお、認識確度は、文字認識処理において、その認識結果としての信頼性を表す値であってもよいし、文字画像の外接矩形のサイズ、縦横比等によって定められる文字らしさを表す値であってもよい。
【００５１】
図５は、文字認識処理モジュール１１０による処理例を示すフローチャートである。
ステップＳ５０２では、画像受付モジュール４１０が、対象となる画像を受け付ける。
ステップＳ５０４では、文字列抽出モジュール４２０が、画像から文字列画像を抽出する。
ステップＳ５０６では、切出位置抽出モジュール４３０が、文字列画像を対象として切り出し位置を抽出する。
ステップＳ５０８では、文字候補抽出モジュール４４０が、切り出された文字画像を文字認識する。
ステップＳ５１０では、文字候補抽出モジュール４４０が、複数の文字認識結果を文字画像の文字候補として抽出する。
【００５２】
次に、図６から図１５を用いて、ネットワーク構築モジュール１２０による処理を説明する。
本実施の形態は、パス評価値の高いパスを出力することによって、複数の文字列候補を抽出するものである。また、パスの探索にダイナミックプログラミングの手法を用いてもよい。
本実施の形態のネットワークにおいては、始点ノード、終点ノード、複数の中間ノードがある。また、各ノード間のリンクには、リンク値を与える。始点ノードから１あるいは複数の中間ノードを介して、終点ノードに至るパスは、介するノードに依存したリンクを通ることになる。始点ノードから終点ノードに至るパスのパス評価値は、そのパスが通ったリンクのリンク値の重み付け和として表すことができる。
本実施の形態のネットワーク構築モジュール１２０は、１つの文字列画像に対して、複数の文字認識結果が存在しているときに、前述のノード、リンク、パスの構成（ネットワーク構造）を生成するものである。ネットワーク構造が与えられれば、ネットワーク構築モジュール１２０によってビタビ法などの手法を用いて、最適パスを探索することも可能である。
【００５３】
＜Ａ１．文字切り出し位置が固定の場合＞
まず、切出位置抽出モジュール４３０の抽出する文字切り出し位置が固定（一種類）の場合について説明する。
図６は、記号例を示す説明図である。記号の種類として、長方形６１０、横棒である接続線６２０、６２２、６２４、６２７、６２８、円弧６３０、丸である文字候補６４２、６４４、６４６がある。
図６の例において、長方形６１０Ａ、６１０Ｂ、６１０Ｃ、６１０Ｄ（図７に例示する長方形６１０）は、それぞれ準文字を表す。
また、横棒である接続線６２０、６２２、６２４、６２６、６２８は、文字切り出し位置を示す（図８に例示する接続線６２０、接続線６２２）。準文字は文字切り出し位置を介して、隣接する準文字につながっている。
さらに、丸で表されている文字候補６４２Ａ、６４４Ａ等は、１つの準文字を１文字として認識したときの、複数の文字候補を示す。円弧６３０Ａ、６３０Ｂ、６３０Ｃ、６３０Ｄは、下の１つの準文字だけを対象に文字認識を行っていることを示している。
【００５４】
図９の例では、文字候補６４２、６４４、６４６は、その下の長方形６１０が示す１文字の準文字を認識したときの複数の文字候補であることを示している。また、円弧６３０は、その下の長方形６１０１つだけを対象に文字認識を行うことを示している。
本実施の形態では、準文字の複数の文字候補をノードとして捉える。さらに、隣接する準文字の文字候補と、リンクを接続する。図１０の例にリンクを太線で記入して示す。
ここでリンク値生成処理が生成するリンク値としては、リンク左右のノードの相互作用を示すものを使ってもよい。具体的には、リンクの左の文字候補とリンクの右の文字候補が連続して日本語の文章中に出現する確率（バイグラム）を用いる。
このようにノードとリンクを構成することによって、全てのネットワーク構造が規定できる。ネットワーク構造が規定できれば、ビタビ法等により、最適パスを選択できる。
【００５５】
＜Ａ２．ノード内情報も用いる場合＞
前述では、リンク値として、ノード間の相互作用を示すもの（文章中に出現する確率）だけを用いたが、さらにノード単独の評価値を用いるようにしてもよい。ここでは、ビタビ法を用いて最適パスを探索するものとする。左から順にノードの左から入るリンクをノード毎に１つだけに限定していく処理を行う。
今、図１０の例で文字候補６４２Ｂ、６４４Ｂ、６４６Ｂのリンクを限定する段階であるとする。
ここで、文字候補６４２Ｂ、６４４Ｂ、６４６Ｂと、左側にある文字候補６４２Ａ、６４４Ａ、６４６Ａ間のリンク値を生成する。リンク値としては、各ノード間の相互作用を表すバイグラムなどの値と、各ノード内部の値の両方を用いる。ノード内部の値とは、例えば、文字候補６４２Ｂの文字の認識確度などがある。
【００５６】
ここで、リンクは、文字候補６４２Ｂ、６４４Ｂ、６４６Ｂと文字候補６４２Ａ、６４４Ａ、６４６Ａ間にあるため、リンク値としては、文字候補６４２Ｂ、６４４Ｂ、６４６Ｂと文字候補６４２Ａ、６４４Ａ、６４６Ａ間の評価値を算出するのが簡単である。しかし、ノード内部の値は、文字候補６４２Ｂ、６４４Ｂ、６４６Ｂと文字候補６４２Ａ、６４４Ａ、６４６Ａ間にあるのではなく、この場合、文字候補６４２Ｂ、６４４Ｂ、６４６Ｂに存在する。
つまり、ノード間情報はリンクの内部に存在していて、ノード内情報はリンクの端点に存在する。このような発生位置、又は概念が異なる値を一度に扱う。
【００５７】
従来では、図３４に示す始点ノード３４００、中間ノード３４１０（ノード１）、中間ノード３４２０（ノード２）、終点ノード３４９０など（つまり、文字切り出し位置）をノードとして、ノード間のアーク評価値を算出している。本実施の形態のように、複数の文字コードをノードとして、ノード間のリンク値を算出するわけではない。そのため、従来技術をそのまま用いることはできない。
本実施の形態では、リンクの評価値として、リンクの内部に存在する値（例えば、バイグラムの値）と、リンクの一方の端点のみに存在する値（例えば、文字候補６４２Ｂの文字認識確度）を用いる。他方の端点に存在する値（例えば、文字候補６４２Ａの文字認識確度）は用いない。このようにすることで、リンクの内部の値と、リンクの端点の値をともに用いる評価が可能となる。
最終的には、文字列の評価値（パス評価値）として、（１）式で、全てのリンクの評価値を加算することになる。そのため、リンクの評価値の中に、リンクの内部の評価値と、リンクの一方の端点の評価値が含まれていれば、パス評価値の中に全てのリンク内部の評価値とリンク端点の評価値が１つずつ含まれることになる。
【００５８】
リンク値生成処理では、前述のリンク内部の値と、リンク端点の値のように、複数の値（バイグラムや認識確度）などを特徴量として、リンク値を算出すればよい。このように複数の値から、１つのリンク値を算出する方法としては、（１）特開平９−１８５６８１号公報、（２）特開昭６１−１７５８７８号公報、（３）特開平３−３７７８２号公報、（４）特開平１１−２０３４０６号公報等に記載の技術を用いればよい。これ以外の方法であってもよい。
なお、複数の値を特徴量ベクトルとして把握し、リンク値は、特徴量ベクトルを対象として、リンク評価値（スカラー値）を出力する関数で実現できる。
【００５９】
＜Ａ３．リンク情報として２以上のノードを用いる場合＞
前述では、リンク左右のノードの相互情報としてバイグラムを用いていた。この場合、リンク情報として２つのノード間の関係情報を用いていることになる。
ビタビ法を用いる場合、例えば、ノードである文字候補６４２Ａ、６４４Ａ、６４６Ａの左側のリンク数はすでに１個に限定されていることになる。この場合には、２以上のノードの情報を用いてリンク情報を構築することが可能となる。
例えば、２つの連続する文字の生起確率であるバイグラムではなく、３つの連続する文字の生起確率であるトライグラムを用いることも可能となる。
今、リンク値生成処理では、ノードである文字候補６４２Ｂ、６４４Ｂ、６４６Ｂの左側のリンク値を生成しようとする。
例えば、文字候補６４２Ａ−文字候補６４２Ｂ間のリンク値を算出する。バイグラムであれば、文字候補６４２Ａと文字候補６４２Ｂが連続する生起確率を求めればよい。ここで、トライグラムを求める場合を説明する。文字候補６４２Ａの左側のリンクは１つに限定されているため、実は、文字候補６４２Ａの左の文字も確定していることになる。この文字を保持するノードをＧとする。トライグラムとしては、ノードＧ−ノード（文字候補６４２Ａ）−ノード（文字候補６４２Ｂ）の３つの文字に関する生起確率を求めればよい。
以上のように求めたトライグラムをノード（文字候補６４２Ａ）−ノード（文字候補６４２Ｂ）間のリンク値として生成すればよい。同様に、Ｎｇｒａｍであっても、求めることが可能となる。
【００６０】
＜Ａ４．文字切り出し位置が確定していない場合＞
文字切り出し位置が確定していない場合（つまり、切出位置抽出モジュール４３０が複数の文字切り出し位置を抽出した場合であり、具体的には、「化」のように、「イ」と「ヒ」、あるいは、「化」のどちらになるか分からない場合）、文字候補の選択と、文字切り出し位置の選択を行うようにしてもよい。文字切り出し位置が確定していない場合、文字候補の選択は、文字切り出し位置の選択となる。
図１１は、文字切り出し位置が複数ある場合の処理例を示す説明図である。ここでは、円弧の記号の意味が追加されている。円弧が下にある複数の準文字（長方形）を指し示す場合、その円弧はその複数の準文字を統合した画像を１文字とみなして認識することを示す。円弧１１１０Ａは、長方形６１０Ａと長方形６１０Ｂを統合した画像を１文字とみなして文字認識結果として文字候補１１２２Ａ、１１２４Ａ、１１２６Ａを有している。また、円弧１１１０Ｃは、長方形６１０Ａ、６１０Ｂ、６１０Ｃ、６１０Ｄを統合した画像を１文字とみなして文字認識結果として文字候補１１２２Ｃ、１１２４Ｃ、１１２６Ｃを有している。
図１２の例に示すように、円弧６３０Ａと円弧６３０Ｂの下に２つの準文字（長方形６１０Ａ、長方形６１０Ｂ）「イ」と「ヒ」がある場合に、その２つを含む円弧１１１０の上の文字候補（文字候補１１２２、１１２４、１１２６）は、「イ」と「ヒ」を統合した１つの準文字「化」を認識したときの複数の文字候補に相当する。
【００６１】
文字切り出し位置が確定していない場合のリンクの接続は、図１３の例に示すようになる。図１３は、文字切り出し位置が複数ある場合の処理例を示す説明図である。
ここでは、文字切り出し位置に注目する。今、図１３の矢印で示す文字切り出し位置に関連するノードのリンクを対象とする。この文字切り出し位置でリンクされるノードには、
（１）左側ノード：矢印の文字切り出し位置に円弧の右側が存在するノード（斜線でハッチングしたノード、文字候補１３４２Ａ、文字候補１３４４Ａ、文字候補１３６２Ａ、文字候補１３６４Ａ、文字候補１３７２Ａ、文字候補１３７４Ａ等）と、
（２）右側ノード：矢印の文字切り出し位置に円弧の左側が存在するノード（内部が白のノード、文字候補１３４２Ｂ、文字候補１３４４Ｂ、文字候補１３６２Ｂ、文字候補１３６４Ｂ、文字候補１３７２Ｂ、文字候補１３７４Ｂ等）
の２種類がある。このとき、左側ノードと、右側ノード間にリンクを形成することによって、グラフ構造を構築することができる。
例えば、全ての左側ノードが、全ての右側ノードに直接接続できるようにリンクを形成すればよい。さらに、全ての文字切り出し位置において、前述のように、左側ノードと右側ノードのリンクを形成し、さらに、左側が文字列の端点の場合には始点ノードに接続し、また、右側が文字列の端点の場合には終端ノードに接続すれば、全てのグラフ構造を構築することができる。
【００６２】
この場合においても、リンク値は、リンク左右のノードの相互作用を示すものを使ってもよいし、ノード内部の評価値を用いてもよい。
特に、この場合には、文字切り出し位置が確定していないため、ノード内部の評価値として、文字の形状情報を用いることができる。文字形状情報の例として、文字の縦横比や、文字左右の空白量、等を用いることができる。
【００６３】
このようにすることによって、文字列の左端から、文字列の右端に至る全てのパスを書き出すことができる。各パスは、認識出力文字列に該当する。つまり、文字列を構成するネットワークにおいて、左端ノードから、右端ノードへ至るパスを決定することによって、文字列を決定できることになる。
【００６４】
以上をまとめると、文字列を構成するネットワークは、例えば、図１４のようになる。図１４の例において、○は、ノードを示す。○と○を接続する実線は、ノード間の接続を示すアークあるいはリンクである。ノードＡは、文字列の左端を示し、ノードＢは、文字列の右端を示す。このネットワークにおいて、左端ノードＡから、右端ノードＢへ至るパスを決定することによって、文字列を決定できることになる。
【００６５】
図１５の例を用いて説明する。図１５は、文字列を構成するネットワーク内のノードが接続されている例を示す説明図である。
例えば、ノードＤ（文字候補「会」）に左から３本のリンクが接続されているとする。そして、そのリンクはそれぞれノードＡ（文字列候補「ヒ学」）、ノードＢ（文字列候補「化学」）、ノードＣ（文字列候補「ト学」）から接続されているとする。
ノードＡ、Ｂ、Ｃには、さらに左からノードが接続されているが、その部分は説明では省略している。ノードＡの文字列候補は「ヒ学」、ノードＢの文字列候補は「化学」、ノードＣの文字列候補は「ト学」となっている。
ここで、ノードＤに左から接続されるリンクを対象とする。ノードＡからのパスであれば、文字列候補は「ヒ学会」であり、ノードＢからのパスであれば、文字列候補は「化学会」であり、ノードＣからのパスであれば、文字列候補は「ト学会」となる。被検索文生成モジュール１３０は、左端から右端に向かう複数のパスがあるので、そのパスの中から被検索対象である文字列候補を抽出すればよい。
【００６６】
次に被検索文生成モジュール１３０による処理について説明する。
文字列画像の左端を始点、文字列画像の右端を終点として、始点から終点に向かう複数のパスを対象とする。なお、一つの準文字に対して、複数の候補が存在する場合があり、これら複数の候補も加味して、複数のパスを対象とする。前述したように、始点から終点までの各パスに評価値を与えることができる。この評価値の高いものから順にＮ個の文字認識出力（文字列候補）を得ることができる。このＮ個の文字認識出力をＮベストと呼ぶこととする。
一般に、被検索文は長い。そのため、被検索文の先頭から終点を全て包含した文に対して、Ｎベストを取得しても、検索語にヒットする文字列を取得できる可能性は低くなる。
例えば、２ベストを用いて説明する。「ＥＥＧＨＩＪＫＬ＜ＭＯＰＱＲ」が第１位文字列とする。第２位文字列は、例えば、この第１位文字列のうち１文字だけが置換されたものになり、「ＥＥＧＨＩＪＫＬ＜ＭＯＰＱＰ」である。これは、最後の「Ｒ」が「Ｐ」に置換されたものである。正解は、「ＥＦＧＨＩＪＫＬ＜ＭＯＰＱＰ」であったとする。つまり、「Ｐ」の認識確度が、２番目の認識文字「Ｆ」の認識確度よりも高い場合に、このような第２位文字列となる。ここで、検索語「ＥＦＧ」で検索を行ったとしても、２ベスト（「ＥＥＧＨＩＪＫＬ＜ＭＯＰＱＲ」、「ＥＥＧＨＩＪＫＬ＜ＭＯＰＱＰ」）内には、その検索語はないので、一致しない（ヒットしない）という結果になる。
【００６７】
これに対して、本実施の形態の被検索文生成モジュール１３０は、Ｎベストを部分文字列で抽出する。例えば、３文字からなる文字列で２ベストを生成した場合は、前述の例では先頭から３文字の「ＥＥＧ」の第２位文字列は「ＥＦＧ」となって、検索語「ＥＦＧ」にヒットすることが可能となる。すなわち、始点から終点に向かうパスを対象としてＮベストを生成するのではなく、それよりも短い文字列に対してＮベストを生成する。ただし、極端な例で、１文字単位にＮベストを生成する案がある。この場合、単語の検索語に対してヒットさせることができない。すなわち２文字以上であって、ネットワーク全体における始点から終点までのパスの文字数未満の長さの文字列に対して、Ｎベストを抽出すればよい。
そして、Ｎベストを抽出した結果、文字認識結果として、複数の結果をつなぎ合わせたテキストコードを出力すればよい。このテキストコードを検索することによって、Ｎベストのどれがヒットしても、文書を検索することができる。つまり、文字認識結果ファイルとして、文全体の第１候補に加えて、文の部分文字列のＮベストを付与して、検索用のテキストファイルを作成する。
【００６８】
図１６は、被検索文生成モジュール１３０による処理例を示すフローチャートである。
ステップＳ１６０２では、左端決定モジュール１４２が、Ｎベスト左端位置を決定する。Ｎベストを抽出するための文字列の左端を「Ｎベスト左端」、Ｎベストを抽出するための文字列の右端を「Ｎベスト右端」と記す。
ステップＳ１６０４では、パス切出モジュール１４０が、文字認識結果の文字列が終了したか否かを判断し、終了した場合は処理を終了し（ステップＳ１６９９）、それ以外の場合はステップＳ１６０６へ進む。
ステップＳ１６０６では、右端決定モジュール１４４が、Ｎベスト右端位置を決定する。
ステップＳ１６０８では、Ｎベスト抽出モジュール１５０が、Ｎベスト左端位置からＮベスト右端位置までの文字によって構成されるＮベストを抽出する。
ステップＳ１６１０では、Ｎベスト抽出モジュール１５０が、抽出したＮベストを被検索文記憶モジュール１６０に格納する。
【００６９】
図１７は、本実施の形態による処理例を示す説明図である。
準文字は、文字切れ目候補で区切られた文字、又は、文字部分となる。準文字は、画素として、連結領域の塊を一つの準文字としてもよいし、複数の連結領域をまとめて一つの準文字としてもよい。あるいは、連結領域であっても、連結部分が細い場合には分割して複数の準文字としてもよい。
図１７（ａ）の例に示す矩形は、準文字の外接矩形である。
以下では、図１７（ｂ）の例に示すように、一つの矩形が、一つの準文字であるとみなした説明を行う。
例えば、「化学」という文字列であれば、矩形の一つ一つに「イ」（「化」のへん）、「ヒ」（「化」の旁）、「学」が入る。
【００７０】
図１８は、本実施の形態による処理例を示す説明図である。
本実施の形態では、例えば、Ｎベストを抽出するための文字列の左端を、全ての文字切れ目候補で行う。そして、Ｎベストを抽出するための文字列の右端を、例えば、その左端からの準文字の個数（ノード数）で規定する。
図１８は、準文字の個数を３として動作を示す例である。なお、前述したように、準文字の個数は３以外であってもよい。２以上であって、ネットワーク全体の始点から終点までの全ての準文字の個数未満であればよい。
まずＮベスト左端を対象とする画像の左端とする（ステップＳ１６０２）。Ｎベスト左端から右方向へ３個の準文字分の位置をＮベスト右端とする（ステップＳ１６０６）。
Ｎベスト左端を始点、Ｎベスト右端を終点とするパスの中で、Ｎベストを決定する。決定したＮベスト（Ｎ個の文字列）を抽出する（ステップＳ１６０８、図１８（ａ））。
次に、１個分、準文字を右にシフトして（２巡目のステップＳ１６０２）、同様の処理を行う（図１８（ｂ））。
対象とする文字列の終端に到達すれば（ステップＳ１６０４）、終了とする（ステップＳ１６９９、図１８（ｃ））。
ここで求めたＮベスト結果を、文字認識結果ファイルとして被検索文記憶モジュール１６０に記憶する（ステップＳ１６１０）ことで、検索が可能となる。
【００７１】
図１９は、本実施の形態による別の処理例を示す説明図である。
Ｎベスト左端とＮベスト右端の距離は、準文字個数でなくともよい。
例えば、Ｎベスト左端に位置する準文字の高さ又はその準文字を含む文字列の高さをＨ（画素）とする。予め定められた数値（例えば、１０（画素）等）をＡとし、Ｎベスト左端とＮベスト右端の距離を、Ｘ＝Ｈ×Ａ等として定める。
この値Ｘに最も近い位置の切れ目位置をＮベスト右端とする。又は、値Ｘを最初に超える切れ目位置をＮベスト右端とする。
なお、高さを「画素」単位で計測したが、「画素」ではなく、「ｍｍ（ミリメートル）」等の物理量であってもよい。
また、値ＸをＨとは関係なく予め定められた値としてもよい。つまり、Ｎベスト左端から予め定められた距離（値Ｘ）だけ離れた位置をＮベスト右端としてもよい。
【００７２】
図２０は、本実施の形態による処理例を示す説明図である。
Ｎベスト左端は、全ての文字切れ目候補を網羅する必要はない。例えば、Ｎベスト左端位置を、ネットワーク内の先頭から最後尾まで、予め定められた数毎に移動させてもよい。例えば、図２０（ａ）に示すように、一つおきに移動させてもよい。
また、Ｎベスト左端を、準文字間の間隔が閾値よりも大きい又は以上である箇所としてもよい。例えば、図２０（ｂ）に示すように、準文字間が離れている箇所がＮベスト左端となる。閾値としては、予め定められた値であってもよいし、その文字列における準文字間の距離の統計値（例えば、平均値、最頻値、中央値等又はそれらに定数を乗算したもの等）としてもよい。
【００７３】
図２１は、本実施の形態による処理例を示す説明図である。Ｎベスト左端とＮベスト右端を決定することは、連続した準文字を選択することと同義である。つまり、「連続した準文字の選択」と、「Ｎベスト左端、Ｎベスト右端の選択」に関し、原理的な違いは無い。
例えば、図２１に示すように、準文字数を３とする場合、連続した３つの準文字を選択すればよい。左から順に選択してもよいし、ランダムに選択してもよい。
【００７４】
図２２は、本実施の形態による処理例を示す説明図である。前述したように、Ｎベスト右端を選択するための準文字の個数は固定であってもよい。また、変動する例として、単語と単語の間に空白が存在するような文書である場合には、空白で区切るようにしてもよい。
また、準文字の個数を複数用いてもよい。例えば、準文字個数を３個と４個として、Ｎベスト左端を固定したときに、２種のＮベスト右端を抽出してもよい。図２２（ａ）の例のように、まず３個でＮベストを抽出し、次に図２２（ｂ）の例のように４個で抽出してもよい。
【００７５】
図２３は、より具体的な本実施の形態による処理例を示す説明図である。
文字認識処理モジュール１１０は、文字列画像全体を文字認識する。ここでは文字認識誤りが発生し得る。例えば、図２３（ａ）に示すように「化学の組織論」という文字列画像を文字認識した場合、文字認識結果の第１候補は「イヒ学の組織論」のように文字切り出しの誤りが発生して、文字認識誤りが発生している。なお、「イヒ」の部分を「化」と文字認識しているものが、第２候補以下にある。
被検索文生成モジュール１３０は、文字認識結果を部分に分割して、複数の文字列候補を抽出する。その複数の文字列候補中に正解が存在する場合がある。例えば、図２３（ｂ）に示すように予め定められた長さの文字列画像を文字認識した結果は、「化学の」、「イヒ学の」となる。
そして、複数の文字列候補を抽出する箇所をずらして、さらに複数の文字列候補を抽出する。例えば、図２３（ｃ）に示すように準文字「イ」と準文字「ヒ」の間から始まる文字列画像を文字認識した結果は、「ヒ学の」、「ヒ字の」となる。
最終結果として、例えば、図２４に示すように認識結果を抽出する。このように、第１候補の文字列「イヒ学の組織論」では、「化学」は検索できないが、図２４に示すように認識結果のテキストファイルであれば、「化学」が検索可能となる。
【００７６】
図２５は、本実施の形態による処理例を示す説明図である。例えば、図２５の左側に示す画像を文字認識して、図２５の右側に示す文字認識結果ファイルを作成する。この文字認識結果ファイルは、図２４の例に示すように、Ｎベスト左端とＮベスト右端の間にある文字列画像を文字認識した結果であるＮベスト（複数の文字列候補）が記憶されている。
ユーザは、図２６の例に示すような「検索」窓に検索語であるテキストコードを打ち込み、データベース等に蓄積されている画像を検索する。なお、検索対象となる実体は、画像に対応する文字認識結果ファイルである。つまり、画像や、文字認識結果ファイルは、データベース等に蓄積されている。画像と文字認識結果ファイルとの間にはリンクが張られているため、文字認識結果ファイルが検索できれば、画像ファイルも検索可能である。
図２５の例に示すように、文字認識が正しければ、「ＡＢＣ」の検索語に対し、文書Ａが検索できる。文字認識が誤っている場合（「ＥＦＧ」が正解であるが、第１候補は「ＥＥＧ」となった場合）、第１候補のみからなる文字認識結果ファイルでは「ＥＦＧ」の検索語を入れても、文書Ｂを検索できない。本実施の形態では、被検索文の拡張を行って、文書Ｂの文字認識結果ファイルでは、「ＥＥＧ」、「ＨＩＪ」の文字認識結果の第１候補に加えて、３つの準文字からなる文字認識の第２候補以下である「ＥＦＧ」、「Ｈ１Ｊ」等も記憶しているので、検索を可能とする。
【００７７】
図２７は、検索モジュール１８０による処理例を示すフローチャートである。
図３の例に示したフローチャートのステップＳ３０４として、図２７の例に示すような処理を行ってもよい。
ステップＳ２７０２では、検索モジュール１８０が、検索文の文字数と一致する文字数のＮベストを選択する。例えば、複数種の文字数のＮベストが文字認識結果ファイル内に記憶されている場合は、検索文の文字数と一致するものを選択する。
ステップＳ２７０４では、検索モジュール１８０が、選択したＮベストによって構成されている被検索文から検索する。
【００７８】
図２８は、被検索文生成モジュール１３０による処理例を示すフローチャートである。
ステップＳ２８０２では、検索文の文字数とＮベストの文字数の比較を行い、一致するＮベストがある場合はステップＳ２８０４へ進み、検索文の文字数が短い場合はステップＳ２８０８へ進み、検索文の文字数が長い場合はステップＳ２８１２へ進む。
ステップＳ２８０４では、検索モジュール１８０が、検索文の文字数と一致する文字数のＮベストを選択する。
ステップＳ２８０６では、検索モジュール１８０が、選択したＮベストによって構成されている被検索文から検索する。
【００７９】
ステップＳ２８０８では、検索文の文字数に近いＮベストを選択する。
ステップＳ２８１０では、選択したＮベストによって構成される被検索文に対して、前方一致検索を行う。
ステップＳ２８１２では、検索文の文字数に近いＮベストを選択する。
ステップＳ２８１４では、検索文の文字数以上になるようにＮベストを連結する。この連結は、対象のＮベスト同士の全ての組み合わせを生成するように行う。
ステップＳ２８１６では、連結したＮベストによって構成される被検索文に対して、前方一致検索を行う。
【００８０】
図２９を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図２９に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２９１７と、プリンタなどのデータ出力部２９１８を備えたハードウェア構成例を示している。
【００８１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２９０１は、前述の実施の形態において説明した各種のモジュール、すなわち、文字認識処理モジュール１１０、ネットワーク構築モジュール１２０、被検索文生成モジュール１３０、パス切出モジュール１４０、左端決定モジュール１４２、右端決定モジュール１４４、Ｎベスト抽出モジュール１５０、検索文受付モジュール１７０、検索モジュール１８０、画像受付モジュール４１０、文字列抽出モジュール４２０、切出位置抽出モジュール４３０ｌ、文字候補抽出モジュール４４０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムに従った処理を実行する制御部である。
【００８２】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２９０２は、ＣＰＵ２９０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２９０３は、ＣＰＵ２９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２９０４により相互に接続されている。
【００８３】
ホストバス２９０４は、ブリッジ２９０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２９０６に接続されている。
【００８４】
キーボード２９０８、マウス等のポインティングデバイス２９０９は、操作者により操作される入力デバイスである。ディスプレイ２９１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００８５】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２９１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２９０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、文字認識結果、ネットワーク構造、対象文字列、被検索文、検索文などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００８６】
ドライブ２９１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２９１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２９０７、外部バス２９０６、ブリッジ２９０５、及びホストバス２９０４を介して接続されているＲＡＭ２９０３に供給する。リムーバブル記録媒体２９１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００８７】
接続ポート２９１４は、外部接続機器２９１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２９１４は、インタフェース２９０７、及び外部バス２９０６、ブリッジ２９０５、ホストバス２９０４等を介してＣＰＵ２９０１等に接続されている。通信部２９１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２９１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２９１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００８８】
なお、図２９に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２９に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２９に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００８９】
前述の実施の形態においては、対象として日本語の文字を示したが、中国語、英語等の文字を対象としてもよい。
前述の実施の形態においては、横書きの文字列を前提として、左が始点で右が終点であるような記述の仕方を行ってきた。しかし、前述の説明は、縦書きや、右から左に記述する文字列でも同様に成り立つ。例えば、縦書きの場合は、「左」を「上」、「右」を「下」とする変換を行えばよい。右から左に記述する文字列の場合は、「左」を「右」、「右」を「左」とする変換を行えばよい。
なお、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
【００９０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００９１】
１１０…文字認識処理モジュール
１２０…ネットワーク構築モジュール
１３０…被検索文生成モジュール
１４０…パス切出モジュール
１４２…左端決定モジュール
１４４…右端決定モジュール
１５０…Ｎベスト抽出モジュール
１６０…被検索文記憶モジュール
１７０…検索文受付モジュール
１８０…検索モジュール
４１０…画像受付モジュール
４２０…文字列抽出モジュール
４３０…切出位置抽出モジュール
４４０…文字候補抽出モジュール
【図１】
2014157409.tif 000004
【図２】
2014157409.tif 000005
【図３】
2014157409.tif 000006
【図４】
2014157409.tif 000007
【図５】
2014157409.tif 000008
【図６】
2014157409.tif 000009
【図７】
2014157409.tif 000010
【図８】
2014157409.tif 000011
【図９】
2014157409.tif 000012
【図１０】
2014157409.tif 000013
【図１１】
2014157409.tif 000014
【図１２】
2014157409.tif 000015
【図１３】
2014157409.tif 000016
【図１４】
2014157409.tif 000017
【図１５】
2014157409.tif 000018
【図１６】
2014157409.tif 000019
【図１７】
2014157409.tif 000020
【図１８】
2014157409.tif 000021
【図１９】
2014157409.tif 000022
【図２０】
2014157409.tif 000023
【図２１】
2014157409.tif 000024
【図２２】
2014157409.tif 000025
【図２３】
2014157409.tif 000026
【図２４】
2014157409.tif 000027
【図２５】
2014157409.tif 000028
【図２６】
2014157409.tif 000029
【図２７】
2014157409.tif 000030
【図２８】
2014157409.tif 000031
【図２９】
2014157409.tif 000032
【図３０】
2014157409.tif 000033
【図３１】
2014157409.tif 000034
【図３２】
2014157409.tif 000035
【図３３】
2014157409.tif 000036
【図３４】
2014157409.tif 000037
【図３５】
2014157409.tif 000038
【図３６】
2014157409.tif 000039
【図３７】
2014157409.tif 000040