(57)【要約】【課題】  項目を示す文字列である項目文字列と、前記項目文字列に対応して入力された入力文字列との対応付けの手間を軽減することが可能となる技術を提供する。【解決手段】  帳票データに含まれる項目文字列ごとに、項目文字列から入力文字列それぞれまでの距離を特定し、項目文字列ごとに、項目文字列の位置情報と、入力文字列それぞれの位置情報とを用いて、項目文字列と入力文字列それぞれとの位置関係を示す情報を特定し、特定した距離と、位置関係を示す情報とを用いて、項目文字列ごとに、管理手段で項目文字列と対応付けて管理する入力文字列を決定する。【選択図】  図１４
2020126697.tif 000002
【特許請求の範囲】
【請求項１】
項目を示す文字列である項目文字列、および前記項目文字列の位置情報と、前記項目文字列に対応して入力された入力文字列、および前記入力文字列の位置情報とをそれぞれ複数含む帳票データを取得する取得手段と、
前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列の位置情報と、前記入力文字列それぞれの位置情報とを用いて、前記項目文字列から前記入力文字列それぞれまでの距離を特定する第１の特定手段と、
前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列と前記入力文字列それぞれとの位置関係に係る情報を特定する第２の特定手段と、
前記第１の特定手段で特定された距離と、前記第２の特定手段で特定された前記位置関係に係る情報とを用いて、前記項目文字列ごとに、管理手段で前記項目文字列と対応付けて管理する前記入力文字列を決定する決定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記項目文字列と前記入力文字列それぞれとの位置関係に係る情報とは、前記項目文字列の位置情報と、前記入力文字列それぞれの位置情報とを用いて、前記項目文字列の中心付近に定められた点と、前記入力文字列の中心付近に定められた点とを結ぶ線分と、前記項目文字列から前記入力文字列方向に引いた水平線とのなす角度であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の特定手段で特定された距離を所定の数式に代入することにより、距離スコアを算出する第１の算出手段と、
前記第２の特定手段で特定された前記角度を所定の数式に代入することにより、角度スコアを算出する第２の算出手段と、
前記距離スコアと、前記角度スコアを所定の数式に代入することにより、総合スコアを算出する第３の算出手段とを備え、
前記決定手段は、前記項目文字列に対して、前記第３の算出手段で算出されたスコアが、最も高いスコアとなった前記入力文字列を、当該項目文字列に対応付けて管理する入力文字列であると決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２の算出手段に用いる複数の数式を管理する管理手段と、
前記項目文字列に対応する入力文字列が、前記項目文字列に並列して入力される帳票データであるか、前記項目文字列に対応する入力文字列が、前記項目文字列の下側に入力される帳票データであるかを判定する判定手段と、
前記判定手段により、前記項目文字列に対応する入力文字列が、前記項目文字列に並列して入力される帳票データであると判定された場合と、前記項目文字列に対応する入力文字列が、前記項目文字列の下側に入力される帳票データであると判定された場合とで、前記管理手段で管理する複数の数式うち、前記第２の算出手段に用いる数式を異ならしめることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記決定手段により前記項目文字列と対応付けて管理すると決定された入力文字列を、前記第１の特定手段による特定、および前記第２の特定手段による特定に用いないように制御する制御手段
を備えることを特徴とする請求項1乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
項目を示す文字列である項目文字列、および前記項目文字列の位置情報と、前記項目文字列に対応して入力された入力文字列、および前記入力文字列の位置情報とをそれぞれ複数含む帳票データを取得する取得手段を備える情報処理装置の制御方法であって、
前記情報処理装置の第１の特定手段が、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列の位置情報と、前記入力文字列それぞれの位置情報とを用いて、前記項目文字列から前記入力文字列それぞれまでの距離を特定する第１の特定工程と、
前記情報処理装置の第２の特定手段が、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列と前記入力文字列それぞれとの位置関係に係る情報を特定する第２の特定工程と、
前記情報処理装置の決定手段が、前記第１の特定工程で特定された距離と、前記第２の特定工程で特定された前記位置関係に係る情報とを用いて、前記項目文字列ごとに、管理手段で前記項目文字列と対応付けて管理する前記入力文字列を決定する決定工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項７】
項目を示す文字列である項目文字列、および前記項目文字列の位置情報と、前記項目文字列に対応して入力された入力文字列、および前記入力文字列の位置情報とをそれぞれ複数含む帳票データを取得する取得手段を備える情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列の位置情報と、前記入力文字列それぞれの位置情報とを用いて、前記項目文字列から前記入力文字列それぞれまでの距離を特定する第１の特定手段と、
前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列と前記入力文字列それぞれとの位置関係に係る情報を特定する第２の特定手段と、
前記第１の特定手段で特定された距離と、前記第２の特定手段で特定された前記位置関係に係る情報とを用いて、前記項目文字列ごとに、管理手段で前記項目文字列と対応付けて管理する前記入力文字列を決定する決定手段と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、プログラムに関し、特に、項目を示す文字列である項目文字列と、前記項目文字列に対応して入力された入力文字列との対応付けの手間を軽減する技術に関する。
【背景技術】
【０００２】
帳票を取り扱うＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）では、帳票に手書きで入力された文字列（以下、入力文字列）を認識したのち、入力文字列を帳票にあらかじめ設定された項目の文字列（以下、項目文字列）と対応付けて電子媒体に記録して業務に利用するが、そのためにはユーザが手書きで入力した入力文字列が帳票上のどの項目文字列に対応したものであるかを特定する必要がある。
【０００３】
従来の技術では、帳票設計時に専用のレイアウトソフト等を用いて、項目文字列とそれに対応する入力文字列がどこに位置するかをあらかじめ設定する必要があり手間が発生していた。そのような手間を削減するために、帳票レイアウトの情報から自動的に対応付けを行う技術が提案されている。
【０００４】
特許文献１には、帳票内の項目文字列および入力文字列の位置情報を取得し、あらかじめ帳票レイアウトに合わせて設定されたルールによって、所定の位置関係にある項目文字列および入力文字列を対応付ける技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１５０４６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の技術では、ルールは帳票レイアウト上の格子枠に依存しているため、格子枠の設計に合わせてルールを用意する必要があり、レイアウトによってはルールを複雑に与えなければならないという課題がある。
【０００７】
また、特許文献１に記載の技術では、格子枠がない帳票の場合、項目文字列と入力文字列の対応付けが困難である恐れがあった。
【０００８】
本発明は、項目を示す文字列である項目文字列と、前記項目文字列に対応して入力された入力文字列との対応付けの手間を軽減することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、項目を示す文字列である項目文字列、および前記項目文字列の位置情報と、前記項目文字列に対応して入力された入力文字列、および前記入力文字列の位置情報とをそれぞれ複数含む帳票データを取得する取得手段と、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列の位置情報と、前記入力文字列それぞれの位置情報とを用いて、前記項目文字列から前記入力文字列それぞれまでの距離を特定する第１の特定手段と、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列と前記入力文字列それぞれとの位置関係に係る情報を特定する第２の特定手段と、前記第１の特定手段で特定された距離と、前記第２の特定手段で特定された前記位置関係に係る情報とを用いて、前記項目文字列ごとに、管理手段で前記項目文字列と対応付けて管理する前記入力文字列を決定する決定手段とを備えることを特徴とする。
【００１０】
また、本発明は、項目を示す文字列である項目文字列、および前記項目文字列の位置情報と、前記項目文字列に対応して入力された入力文字列、および前記入力文字列の位置情報とをそれぞれ複数含む帳票データを取得する取得手段を備える情報処理装置の制御方法であって、前記情報処理装置の第１の特定手段が、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列の位置情報と、前記入力文字列それぞれの位置情報とを用いて、前記項目文字列から前記入力文字列それぞれまでの距離を特定する第１の特定工程と、前記情報処理装置の第２の特定手段が、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列と前記入力文字列それぞれとの位置関係に係る情報を特定する第２の特定工程と、前記情報処理装置の決定手段が、前記第１の特定工程で特定された距離と、前記第２の特定工程で特定された前記位置関係に係る情報とを用いて、前記項目文字列ごとに、管理手段で前記項目文字列と対応付けて管理する前記入力文字列を決定する決定工程とを備えることを特徴とする。
【００１１】
また、本発明は、項目を示す文字列である項目文字列、および前記項目文字列の位置情報と、前記項目文字列に対応して入力された入力文字列、および前記入力文字列の位置情報とをそれぞれ複数含む帳票データを取得する取得手段を備える情報処理装置で読み取り実行可能なプログラムであって、前記情報処理装置を、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列の位置情報と、前記入力文字列それぞれの位置情報とを用いて、前記項目文字列から前記入力文字列それぞれまでの距離を特定する第１の特定手段と、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列と前記入力文字列それぞれとの位置関係に係る情報を特定する第２の特定手段と、前記第１の特定手段で特定された距離と、前記第２の特定手段で特定された前記位置関係に係る情報とを用いて、前記項目文字列ごとに、管理手段で前記項目文字列と対応付けて管理する前記入力文字列を決定する決定手段として機能させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、項目を示す文字列である項目文字列と、前記項目文字列に対応して入力された入力文字列との対応付けの手間を軽減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態における、項目文字列と、入力文字列の対応付けの対応付けシステム構成の一例を示す図である。
【図２】本発明の実施形態における、ＰＣのハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態における、帳票上の項目文字列と入力文字列の対応付け処理の一例を示すフローチャートである。
【図４】本発明の実施形態における、帳票画像および検出した文字列領域の一例を示す図である。
【図５】本発明の実施形態における、項目文字列データベースの一例を示す図である。
【図６】本発明の実施形態における、入力文字列データベースの一例を示す図である。
【図７】本発明の実施形態における、帳票データベースの一例を示す図である。
【図８】本発明の実施形態における、スコア関数データベースの一例を示す図である。
【図９】本発明の実施形態における、対応付けの機能構成の一例を示す図である。
【図１０】本発明の実施形態における、距離スコアを算出する処理の概要を示す図である。
【図１１】本発明の実施形態における、角度スコアを算出する処理の概要を示す図である。
【図１２】本発明の実施形態における、対応付け結果を抽出する処理の概要を示す図である。
【図１３】本発明の実施形態における、対応付け結果を格納したデータテーブルの一例を示す図である。
【図１４】本発明の実施形態における、各スコアを示す式である。
【図１５】本発明の実施形態における、帳票上の項目文字列と入力文字列の対応付け処理の一例を示すフローチャートである。
【図１６】本発明の実施形態における、スコア関数のインターフェースの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１５】
図１は、本発明の実施形態における項目文字列と、入力文字列の対応付けのシステム構成の一例を示す図である。
【００１６】
対応付けの主要な処理を行うためのＰＣ１０１、および帳票をスキャンして画像ファイル化するスキャナ３０１がネットワーク４０１を介して接続される構成となっている。
【００１７】
ネットワーク４０１はスキャナ３０１の有する物理インターフェースに応じて、有線ＬＡＮ，無線ＬＡＮ，ＵＳＢなどの形態をとることができる。
【００１８】
ネットワーク４０１上にはファイルサーバー５０１を置いてもよい。スキャナ３０１でスキャンした画像をＰＣ１０１に取り込む方法として、スキャナ３０１からＰＣ１０１に直接画像を送信する方法、スキャナ３０１で取り込んだ画像ファイルを一旦ファイルサーバー５０１に保管し、ＰＣ１０１がファイルサーバー５０１から画像ファイルを取り出す方法どちらをとっても良い。
【００１９】
図２は、本発明の実施形態におけるＰＣ１０１のハードウェア構成の一例を示すブロック図である。ファイルサーバー５０１も同様の構成となる。
【００２０】
図２に示すように、ＰＣ１０１は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、よび通信Ｉ／Ｆコントローラ２０８が接続される。
【００２１】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２２】
ＲＯＭ２０２あるいは外部メモリ２１１は、ＣＰＵ２０１が実行する制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ（データテーブルを含む）を保持している。
【００２３】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２４】
入力コントローラ２０５は、キーボード２０９や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。入力装置がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下（指等でタッチ）することにより、各種の指示を行うことができることとする。
【００２５】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【００２６】
ビデオコントローラ２０６は、ディスプレイ２１０などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作を受け付け可能な装置については、入力装置も提供する。
【００２７】
なおビデオコントローラ２０６は、表示制御を行うためのビデオメモリ（ＶＲＡＭ）を制御することが可能で、ビデオメモリ領域としてＲＡＭ２０３の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【００２８】
メモリコントローラ２０７は、外部メモリ２１１へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置（ハードディスク）、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等を利用可能である。
【００２９】
通信Ｉ／Ｆコントローラ２０９は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信やＩＳＤＮなどの電話回線、および携帯電話の３Ｇ回線を用いた通信が可能である。
【００３０】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
次に図９を参照して、本発明の実施形態におけるＰＣ１０１（情報処理装置）の機能構成の一例について説明する。
【００３２】
ＰＣ１０１は、取得部９０１、第１の特定部９０２、第２の特定部９０３、決定部９０４、管理部９０５を含む。
【００３３】
取得部は、スキャナ３０１でスキャンして画像ファイル化された帳票データを取得する。帳票データには、項目を示す文字列である項目文字列、および項目文字列の位置情報と、項目文字列に対応して入力された入力文字列、および入力文字列の位置情報とをそれぞれ複数含む。
【００３４】
第１の特定部９０２は、取得部９０１で取得した帳票データに含まれる項目文字列ごとに、項目文字列から入力文字列それぞれまでの距離を特定する。
【００３５】
第２の特定部９０３は、取得部９０１で取得した帳票データに含まれる項目文字列ごとに、項目文字列の位置情報と、入力文字列それぞれの位置情報とを用いて、項目文字列と入力文字列それぞれとの位置関係を示す情報（具体的には角度スコア）を特定する。
【００３６】
決定部９０４は、第１の特定部９０２で特定された距離と、第２の特定部９０３で特定された位置関係を示す情報とを用いて、項目文字列ごとに、管理部９０５で項目文字列と対応付けて管理する入力文字列を決定する。
【００３７】
管理部９０５は、決定部９０４による決定に従って、項目文字列と入力文字列とを対応付けて図１３の表１３０１を作成し、ＲＡＭ２０３に記憶する。
【００３８】
なお、本実施形態においては、取得部９０１〜管理部９０５の機能をＰＣ１０１が備えているが、例えばこれらの構成をファイルサーバー５０１が備えるよう構成してもよいものとする。
【００３９】
次に図３のフローチャートを用いて、本発明の実施形態におけるＰＣ１０１が実行する処理について説明する。
【００４０】
図３のフローチャートは、ＰＣ１０１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、帳票上の項目文字列と入力文字列の対応付けをする処理を示すフローチャートである。
【００４１】
図４はスキャナ３０１でスキャンした帳票の画像の一例であり、手書きで記入後の帳票画像４０２に、帳票にあらかじめ印刷されている項目を示す項目文字列名と、当該項目文字列名の項目文字列ＩＤ、位置情報を含む領域情報４０３〜４０５、および帳票に手書きで記入された入力文字列の入力文字列ＩＤと入力文字列名と位置情報を含む領域情報４０６〜４０７がある。項目文字列ＩＤや入力文字列ＩＤは、各項目文字列名や各入力文字列名を一義に識別可能なＩＤが手動または自動で採番される。
【００４２】
ステップＳ３０１では、ＰＣ１０１のＣＰＵ２０１は、ユーザから帳票上の項目文字列と入力文字列の対応付け要求を受け付ける。この要求には対応付け対象の記入後帳票画像４０２、対象帳票の種類を示す帳票ＩＤ、項目文字列の項目文字列ＩＤと項目文字列名と位置情報を含む領域情報４０３〜４０５、および入力文字列の入力文字列ＩＤと入力文字列名と位置情報を含む領域情報４０６〜４０７が電文として含まれる。
【００４３】
本実施形態において、上記の電文は、ＰＣ１０１内で生成されることを想定しているが、他の実施形態として、上記電文を、スキャナ３０１からＰＣ１０１に送信してもよいし、ファイルサーバー５０１を経由してファイルの形でＰＣ１０１に送信してもよい。
【００４４】
ステップＳ３０１は、本発明における、項目を示す文字列である項目文字列、および前記項目文字列の位置情報と、前記項目文字列に対応して入力された入力文字列、および前記入力文字列の位置情報とをそれぞれ複数含む帳票データを取得する取得手段の一例である。
【００４５】
ステップＳ３０２では、ＰＣ１０１のＣＰＵ２０１は、Ｓ４０１の要求に含まれる項目文字列の領域情報４０３〜４０５を、図５の項目文字列に関するデータベース５００の対応するカラム（５０２〜５０４）に格納する。
【００４６】
ステップＳ３０３では、ＰＣ１０１のＣＰＵ２０１は、Ｓ４０１の要求に含まれる入力文字列の領域情報４０６〜４０７を、図６の入力文字列に関するデータベース６０２の対応するカラム（６２１〜６２３）に格納する。
【００４７】
ステップＳ３０４では、ＰＣ１０１のＣＰＵ２０１は、Ｓ４０１の要求に含まれる帳票ＩＤに基づき、図８のスコア関数データベース８０１から使用する帳票レイアウトで用いるスコア関数のレコード８１１を取り出す。図１６に定義されたインターフェースに基づいて実装されたモジュール群中から、取り出したスコア関数名のモジュールを読み込んで実行する。
【００４８】
ステップＳ３０５では、ＰＣ１０１のＣＰＵ２０１は、項目文字列に関するデータベース５００の各レコードと入力文字列に関するデータベース６０２の各レコードの間で距離スコアを算出する。距離スコアを算出するための定義は図１４の数式２の通りである（数式２のＲｅｃｔＶ１、ＲｅｃｔＶ２は四角形の４頂点座標の集合、ｘ１、ｘ２は水平方向、ｙ１、ｙ２は垂直方向の座標、Ｌは使用する帳票の対角線の長さ）。また、図１０にて、項目の領域情報４０５と入力の領域情報４０７の距離スコアを求める際の概略図を示す。
【００４９】
距離スコアは項目の領域情報４０５と入力の領域情報４０７の各頂点同士を結んだ線分（１００１〜１００４）の直線距離のうち、直線距離が最も短い頂点の長さを帳票の対角線の長さで割った後、１から割った後の値を引いたもののうち最も大きい値となるものである。対角線の長さで割るのは、値を０以上１以下に収めるためである。１から割った後の値を引くのは、距離の小さいものほど大きなスコアを取るためである。なお、帳票の対角線の長さは、図７の帳票データベース７０１から所定の帳票ＩＤ７１１をキーとする帳票ファイルを取得し、算出しておく。
【００５０】
図１０では例として、項目の領域情報４０５の右上の頂点と入力の領域情報４０７の各頂点のうち最短の距離（最大の値）を持つ線分１００１を求めているところを示している。このあと、項目の領域情報４０５の右下、左上、左下の頂点と入力の領域情報４０７の各頂点で最短領域を求めた後、さらに最短距離をとるものを選び、その時の最大スコアを距離スコアとする。
【００５１】
ステップＳ３０５は、本発明における、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列の位置情報と、前記入力文字列それぞれの位置情報とを用いて、前記項目文字列から前記入力文字列それぞれまでの距離を特定する第１の特定手段の一例である。
【００５２】
ステップＳ３０６では、ＰＣ１０１のＣＰＵ２０１は、項目文字列に関するデータベース５００の各レコードと入力文字列に関するデータベース６０２の各レコードの間で角度スコアを算出する。角度スコアの定義は図１４の数式３（数式３のθは項目文字列の外形を示す四角形と入力文字列の外形を示す四角形それぞれの中心点を結ぶ線分と水平直線が時計回りになす角度）の通りである。図１１にて、項目の領域情報４０５と入力の領域情報４０７の角度スコアを求める際の概略図を示す。
【００５３】
水平直線１１０２と線分１１０３が時計回りになす角１１０１を求め、角度をθとする。角度スコアの定義は図１４の数式３の通りである。数式３は、入力文字列の位置が項目文字列の位置の右隣にあるレイアウトであることを反映して、入力文字列の位置が項目文字列の位置の右隣にあるレイアウトであるほど角度が小さくなり、スコアが大きくなるようになっている。また、角度スコアの取りうる範囲は０以上１以下となる。
【００５４】
ステップＳ３０６は、本発明における、前記取得手段で取得した帳票データに含まれる前記項目文字列ごとに、前記項目文字列と前記入力文字列それぞれとの位置関係に係る情報を特定する第２の特定手段の一例である。
【００５５】
ステップＳ３０７では、ＰＣ１０１のＣＰＵ２０１は、項目文字列に関するデータベース５００の各レコードと入力文字列に関するデータベース６０２の各レコードの間で求めた距離スコアと角度スコアから図１４の数式１に従って総合スコアを求める。総合スコアは距離スコアと角度スコアの重み付き和である。距離スコアの重み係数λと角度スコアの重み係数１−λは足すと１になるが、これはスコアの比率を調整することを目的としている。重み係数λは予めユーザが設定しておく。総合スコアを、項目文字列に関するデータベース５００の各レコードと入力文字列に関するデータベース６０２の各レコードの組み合わせですべて求め、図１２の表１２０１を作成し、ＲＡＭ２０３に記憶する。
【００５６】
ステップＳ３０８では、ＰＣ１０１のＣＰＵ２０１は、ステップＳ３０７で算出した総合スコア表１２０１に基づいて、項目文字列と入力文字列を対応付ける。
【００５７】
その方法は、表１２０１中で最も高いスコアを持つ要素の行と列の組み合わせとなる項目文字列ＩＤと入力文字列ＩＤのペアを記憶するというものである。ペアＩＤは、データベース５００の各レコードと入力文字列に関するデータベース６０２を用いて、図１３の表１３０１のように、項目文字列名と入力文字列名で記憶される。記憶後は表１２０２のように、最大要素を取っていた行と列を削除することで、複数の対応付けが行われることを防ぐ。上記のように表中の最大スコアを持つ行と列のペアを記憶、削除を行または列がなくなるまで繰り返す。
【００５８】
ステップＳ３０８は、本発明における、前記第１の特定手段で特定された距離と、前記第２の特定手段で特定された前記位置関係に係る情報とを用いて、前記項目文字列ごとに、管理手段で前記項目文字列と対応付けて管理する前記入力文字列を決定する決定手段の一例である。
【００５９】
ステップＳ３０９では、ＰＣ１０１のＣＰＵ２０１は、ステップＳ３０８で作成した表１３０１を出力する。
【００６０】
以上で、図３の説明を終了する。
【００６１】
次に、図１５のフローチャートを用いて、図３のフローチャートに示したＰＣ１０１が実行する帳票上の項目文字列と入力文字列の対応付けをする処理の他の実施形態について説明する。
【００６２】
図１５のフローチャートは、ＰＣ１０１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、帳票上の項目文字列と入力文字列の対応付けをする処理を示すフローチャートである。
【００６３】
図３では、入力文字列の位置が項目文字列の位置の右隣にあるレイアウトであることを想定しているため、角度スコアを求める際に、数式３を用いたが、帳票の中には、入力文字列の位置が項目文字列の位置の右隣にあるレイアウトである帳票もあれば、入力文字列の位置が項目文字列の位置の下にあるレイアウトである帳票もある。入力文字列の位置が項目文字列の位置の下にあるレイアウトである場合には、数式３を用いることができないため、別の数式（具体的には図１４の数式４）を用いる必要があるが、入力文字列の位置が、項目文字列の位置の下にあるレイアウトであるか、右隣にあるレイアウトであるかを、ユーザが帳票ごとに指定するのは大変手間である。そこで、本実施形態（図１５のフローチャート）では、入力文字列の位置が、項目文字列の位置の下にあるレイアウトであるか、右隣にあるレイアウトであるかを、ＰＣ１０１が自動で判断し、判断結果に基づいて、角度スコアを求める際に用いる数式をＰＣ１０１が自動で決定することで、ユーザの手間を軽減する。
【００６４】
ステップＳ１５０１〜ステップＳ１５０９までの各処理は、それぞれ図３のステップＳ３０１〜ステップＳ３０９までの各処理と同じ処理であるため説明は省略する。
【００６５】
ステップＳ１５１０では、ＰＣ１０１のＣＰＵ２０１は、帳票の入力文字列の位置が、項目文字列の位置の右隣にあるレイアウトであるか、そうでないか、つまり項目文字列の位置の下にあるレイアウトであるか、を判定する。
【００６６】
レイアウトの判定方法としては、図７の帳票データベース７０１に、項目文字列が、縦並びか（つまり、帳票の入力文字列の位置が、項目文字列の位置の右隣にあるレイアウトであるか）、それとも、項目文字列が、横並びか（つまり、帳票の入力文字列の位置が、項目文字列の位置の下にあるレイアウトであるか）を帳票ごとに記憶しておき、当該帳票データベース７０１の情報を用いることでレイアウトを判定しても良い。または、ステップＳ１５０１で取得した電文に含まれる領域情報４０３〜４０５中の各項目文字列の位置情報と、領域情報４０６〜４０７中の入力文字列の位置情報とから、レイアウトを特定しても良い。具体的には、例えば、項目文字列の位置情報から項目文字列が縦に並んでいると特定され、かつ、入力文字列の位置情報から、項目文字列間に入力文字列が配置されていないと特定された場合に、帳票の入力文字列の位置が、項目文字列の位置の右隣にあるレイアウトであると特定される。
【００６７】
ステップＳ１５１１では、ＰＣ１０１のＣＰＵ２０１は、ステップＳ１５０６で角度スコアを求める際に、数式３を用いると決定する。
【００６８】
ステップＳ１５１２では、ＰＣ１０１のＣＰＵ２０１は、ステップＳ１５０６で角度スコアを求める際に、数式４を用いると決定する（数式４のθは２つの四角形の中心点を結ぶ線分と水平直線が時計回りになす角度）。数式４は、入力文字列の位置が項目文字列の位置の下にあるレイアウトであることを反映して、入力文字列の位置が項目文字列の位置の下にあるレイアウトであるほど角度が小さくなり、スコアが大きくなるようになっている。また、角度スコアの取りうる範囲は０以上１以下となる。
【００６９】
以上で、図１５の説明を終了する。
【００７０】
本発明の実施形態においては、図３および図１５のフローチャートに示す各処理をＰＣ１０１において実行する構成として説明したが、ファイルサーバー５０１で実行するよう構成してもよい。
【００７１】
以上、本発明によると、項目を示す文字列である項目文字列と、前記項目文字列に対応して入力された入力文字列との対応付けの手間を軽減することができる。
【００７２】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００７３】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００７４】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７６】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００７７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００７８】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００７９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００８２】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８３】
１０１  ＰＣ
３０１  スキャナ
４０１  ネットワーク
５０１  ファイルサーバー
【図１】
2020126697.tif 000003
【図２】
2020126697.tif 000004
【図３】
2020126697.tif 000005
【図４】
2020126697.tif 000006
【図５】
2020126697.tif 000007
【図６】
2020126697.tif 000008
【図７】
2020126697.tif 000009
【図８】
2020126697.tif 000010
【図９】
2020126697.tif 000011
【図１０】
2020126697.tif 000012
【図１１】
2020126697.tif 000013
【図１２】
2020126697.tif 000014
【図１３】
2020126697.tif 000015
【図１４】
2020126697.tif 000016
【図１５】
2020126697.tif 000017
【図１６】
2020126697.tif 000018
【手続補正書】
【提出日】令和2年6月19日(2020.6.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像から得られる、第１の文字列、および前記第１の文字列の位置情報と、第２の文字列、および前記第２の文字列の位置情報とを取得する取得手段と、
前記取得に基づき、第１の文字列と第２の文字列との並び方を特定する特定手段と、
前記特定された並び方に基づく、第１の文字列と第２の文字列との位置情報による角度を用いた評価方法により、第１の文字列と第２の文字列との組を決定する決定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記並び方とは、第１の文字列と第２の文字列が縦並び、または、横並びであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記評価方法は、第１の文字列と第２の文字列との方向が所定の基準方向となす角度に従って評価されることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記評価方法は、第１の文字列と第２の文字列との方向と前記並び方に基づく方向との差異に従って評価されることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定される第２の文字列は第１の文字列の右隣または下にあることを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
情報処理装置の制御方法であって、
取得手段が、画像から得られる、第１の文字列、および前記第１の文字列の位置情報と、第２の文字列、および前記第２の文字列の位置情報とを取得する取得ステップと、
特定手段が、前記取得に基づき、第１の文字列と第２の文字列との並び方を特定する特定ステップと、
決定手段が、前記特定された並び方に基づく、第１の文字列と第２の文字列との位置情報による角度を用いた評価方法により、第１の文字列と第２の文字列との組を決定する決定ステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項７】
情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
画像から得られる、第１の文字列、および前記第１の文字列の位置情報と、第２の文字列、および前記第２の文字列の位置情報とを取得する取得手段と、
前記取得に基づき、第１の文字列と第２の文字列との並び方を特定する特定手段と、
前記特定された並び方に基づく、第１の文字列と第２の文字列との位置情報による角度を用いた評価方法により、第１の文字列と第２の文字列との組を決定する決定手段
として機能させるためのプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明は、画像から得られる、第１の文字列と第２の文字列との組を決定する仕組みを提供することを目的とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明は、画像から得られる、第１の文字列、および前記第１の文字列の位置情報と、第２の文字列、および前記第２の文字列の位置情報とを取得する取得手段と、前記取得に基づき、第１の文字列と第２の文字列との並び方を特定する特定手段と、前記特定された並び方に基づく、第１の文字列と第２の文字列との位置情報による角度を用いた評価方法により、第１の文字列と第２の文字列との組を決定する決定手段とを備えることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
また、本発明は、情報処理装置の制御方法であって、取得手段が、画像から得られる、第１の文字列、および前記第１の文字列の位置情報と、第２の文字列、および前記第２の文字列の位置情報とを取得する取得ステップと、特定手段が、前記取得に基づき、第１の文字列と第２の文字列との並び方を特定する特定ステップと、決定手段が、前記特定された並び方に基づく、第１の文字列と第２の文字列との位置情報による角度を用いた評価方法により、第１の文字列と第２の文字列との組を決定する決定手段とを備えることを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、本発明は、情報処理装置で読み取り実行可能なプログラムであって、前記情報処理装置を、画像から得られる、第１の文字列、および前記第１の文字列の位置情報と、第２の文字列、および前記第２の文字列の位置情報とを取得する取得手段と、前記取得に基づき、第１の文字列と第２の文字列との並び方を特定する特定手段と、前記特定された並び方に基づく、第１の文字列と第２の文字列との位置情報による角度を用いた評価方法により、第１の文字列と第２の文字列との組を決定する決定手段として機能させるためのプログラムである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明によれば、画像から得られる、第１の文字列と第２の文字列との組を決定する仕組みを提供することが可能となる。