(57)【特許請求の範囲】
【請求項１】
文字列を含む項目のそれぞれが複数の行および列に配置された文字データにおける複数の項目の中のいずれかの項目に含まれるべき第１の文字または文字列と、前記複数の項目の中のいずれかの項目に含まれるべき第２の文字または文字列と、前記複数の項目の中の前記第１の文字または文字列を含む項目に対する列方向の第１の位置関係と、前記複数の項目の中の前記第２の文字または文字列を含む項目に対する所望の項目の行方向の第２の位置関係とを規定する条件情報を格納し、文字認識によって生成された、文字位置情報を含み誤認識文字データを含み得る文字データを格納する記憶部と、
前記文字データから情報を抽出する指示を受け付けると、前記文字データを前記複数の項目の文字または文字列と比較して、前記文字データにおいて前記複数の項目の中の前記第１および第２の文字または文字列とそれぞれ一致または近似するとみなせる前記第１の位置関係を満たす複数の文字または文字列を検出し、前記文字データにおいて、前記検出された複数の文字または文字列における前記第２の文字または文字列と一致または近似すると見なせる文字または文字列を含む行において、前記第２の文字または文字列と一致または近似すると見なせる文字または文字列に対して前記行方向の第２の位置関係にある前記所望の項目に含まれる数字データを抽出する抽出部と、
を具える情報処理装置。
【請求項２】
前記第２の項目の文字列が、前記文字データにおける或る文字列と一致する文字の数の割合が閾値より大きい場合に、前記或る文字列が前記第２の項目の文字列と一致または近似するとみなされることを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
文字列を含む項目のそれぞれが複数の行および列に配置された文字データにおける複数の項目の中のいずれかの項目に含まれるべき第１の文字または文字列と、前記複数の項目の中のいずれかの項目に含まれるべき第２の文字または文字列と、前記複数の項目の中の前記第１の文字または文字列を含む項目に対する列方向の第１の位置関係と、前記複数の項目の中の前記第２の文字または文字列を含む項目に対する所望の項目の行方向の第２の位置関係とを規定する条件情報を記憶部から取り出し、
文字認識によって生成された、文字位置情報を含み誤認識文字データを含み得る文字データを前記記憶部から取り出し、
前記文字データから情報を抽出する指示を受け付けると、前記文字データを前記複数の項目の文字または文字列と比較して、前記文字データにおいて前記複数の項目の中の前記第１および第２の文字または文字列とそれぞれ一致または近似するとみなせる前記第１の位置関係を満たす複数の文字または文字列を検出し、
前記文字データにおいて、前記検出された複数の文字または文字列における前記第２の文字または文字列と一致または近似すると見なせる文字または文字列を含む行において、前記第２の文字または文字列と一致または近似すると見なせる文字または文字列に対して前記行方向の第２の位置関係にある前記所望の項目に含まれる数字データを抽出して前記記憶部に格納する
処理を情報処理装置に実行させるためのプログラム。
【請求項４】
情報処理装置が、
文字列を含む項目のそれぞれが複数の行および列に配置された文字データにおける複数の項目の中のいずれかの項目に含まれるべき第１の文字または文字列と、前記複数の項目の中のいずれかの項目に含まれるべき第２の文字または文字列と、前記複数の項目の中の前記第１の文字または文字列を含む項目に対する列方向の第１の位置関係と、前記複数の項目の中の前記第２の文字または文字列を含む項目に対する所望の項目の行方向の第２の位置関係とを規定する条件情報を記憶部から取り出し、
文字認識によって生成された、文字位置情報を含み誤認識文字データを含み得る文字データを前記記憶部から取り出し、
前記文字データから情報を抽出する指示を受け付けると、前記文字データを前記複数の項目の文字または文字列と比較して、前記文字データにおいて前記複数の項目の中の前記第１および第２の文字または文字列とそれぞれ一致または近似するとみなせる前記第１の位置関係を満たす複数の文字または文字列を検出し、
前記文字データにおいて、前記検出された複数の文字または文字列における前記第２の文字または文字列と一致または近似すると見なせる文字または文字列を含む行において、前記第２の文字または文字列と一致または近似すると見なせる文字または文字列に対して前記行方向の第２の位置関係にある前記所望の項目に含まれる数字データを抽出して前記記憶部に格納する
ことを特徴とするデータの抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字データにおけるデータを検出するための処理に関する。
【背景技術】
【０００２】
ショッピング・センターおよびショッピング・モール等の運営業者は、一般的にテナント店から売上額に応じて賃貸料を徴収し、賃貸料の算出および売上の分析のために、毎日、テナント店から売上等に関する情報を運営業者に報告させる。テナント店は、一般的に、営業終了時にレジ端末（金銭登録端末）で精算処理を行った後、そこで印字された精算（売上集計）レシートに基づいて各種売上情報を、運営者によって指定されている報告書に記入して運営業者に提出する。
【０００３】
運営業者も複数のテナント店業者も、ほとんどの場合、別々の業者である。精算レシートの項目の編成および内容、例えば、項目見出し、項目出力順、項目集計単位、等も、テナント店毎に異なる。さらに、テナント店のレジ端末の提供業者およびそのシステムが同じ場合であっても、そのレジ端末の設定によって、精算レシートの編成および内容が異なる。
【０００４】
運営業者は、テナント店に、指定した報告書フォームに精算レシートの各項目を転記させまたは指定した情報処理端末で入力させることがあるが、テナント店業者による転記ミスまたは不正記入が発生することもある。従って、運営業者は、日々、多大な時間と労力を費やして報告書の内容を確認および修正する。これに対処するために、精算レシート情報に関する紙に印字された帳票を文字認識技術（ＯＣＲ）で文字データに変換することが試みられたことがある。しかし、認識結果の誤りに対して充分に対処することができず、さらに精算レシートの内容が日々変動するので、通常の文字認識技術では充分に対処できず、実際には使用されていない。
【０００５】
既知の帳票入力装置は、予め顧客番号に応じて帳票様式データを格納する帳票様式格納部と、帳票識別欄の顧客番号などを読み取り、パターン格納部のパターンと比較しながら文字認識を行う文字認識手段と、を含んでいる。その帳票入力装置は、さらに、ここで認識された文字データに基づいて帳票様式格納部から読み取り対象帳票の様式を検索する様式検索手段と、この検索された帳票様式に基づいて読取り対象帳票の文章を順次読み取り記憶する帳票データ読取り記憶手段と、を含んでいる。その帳票入力装置は、さらに、この帳票データ読取り記憶手段によって読み取った読取り結果を帳票表示部に表示し、読取り対象帳票と比較させ、誤りがあればキー入力により修正する読取り結果比較修正手段を含んでいる。
【０００６】
既知の情報収集登録装置は、少なくとも一つの入力項目についての情報入力用エリアを有した帳票を用いて前記入力項目についての情報として収集する情報収集手段と、収集した情報を記憶蓄積するデータベース手段と、を含んでいる。その情報収集登録装置は、さらに、収集した情報とその情報格納領域との対応関係を前記入力項目別に管理する情報定義手段と、この情報定義手段が管理する対応関係に従いつつ収集した情報をデータベース手段内の対応格納領域に記憶蓄積させる登録処理手段とを含んでいる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７−９３４２４号公報
【特許文献２】特開２００２−６３１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
既知の帳票入力装置は、読み取り対象の項目を座標位置で定義することができる定型フォーマットの帳票を処理対象としている。
【０００９】
発明者は、様々な種類のおよび日々変化する精算レシートを文字認識技術を用いて認識して生成された文字データを、精算レシートにおける各項目の位置関係に基づいて分析して、所要の項目の情報を取得することができる、と認識した。
【００１０】
実施形態の目的は、誤認識を含み得る認識結果の文字データから所望のデータを抽出できるようにすることである。
【課題を解決するための手段】
【００１１】
実施形態の一観点によれば、文字列を含む項目のそれぞれが複数の行および列に配置された文字データにおける複数の項目の中のいずれかの項目に含まれるべき第１の文字または文字列と、その複数の項目の中のいずれかの項目に含まれるべき第２の文字または文字列と、その複数の項目の中のその第１の文字または文字列を含む項目に対する列方向の第１の位置関係と、その複数の項目の中のその第２の文字または文字列を含む項目に対する所望の項目の行方向の第２の位置関係とを規定する条件情報を格納し、文字認識によって生成された、文字位置情報を含み誤認識文字データを含み得る文字データを格納する記憶部と、その文字データから情報を抽出する指示を受け付けると、その文字データをその複数の項目の文字または文字列と比較して、その文字データにおいてその複数の項目の中のその第１および第２の文字または文字列とそれぞれ一致または近似するとみなせるその第１の位置関係を満たす複数の文字または文字列を検出し、その文字データにおいて、その検出された複数の文字または文字列におけるその第２の文字または文字列と一致または近似すると見なせる文字または文字列を含む行において、その第２の文字または文字列と一致または近似すると見なせる文字または文字列に対してその行方向の第２の位置関係にあるその所望の項目に含まれる数字データを抽出する抽出部と、を具える情報処理装置が提供される。
【発明の効果】
【００１２】
実施形態の一観点によれば、誤認識を含み得る認識結果の文字データから所望のデータを抽出できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、テナント店用のＰＯＳ端末またはレジ端末（金銭登録機端末）、および、ショッピング・センターまたはショッピング・モール等の運営業者用の情報処理端末およびサーバ装置を含むシステムの例を示している。
【図２】図２は、情報処理端末またはサーバ装置のプロセッサの概略的な構成（configuration）の例を示している。
【図３】図３Ａおよび３Ｂは、光学的文字認識部またはスキャナの認識機能によって読み取られる精算レシート、および認識結果の文字および数値のデータの例を示している。
【図４】図４は、情報処理端末のプロセッサまたはそのデータ抽出部によって実行される、検索条件に従って文字データを検索するための全体的なフローチャートの例を示している。
【図５】図５は、情報処理端末のプロセッサによって実行される、図４のステップ５０８における方式１による検索条件に従って文字データを検索するためのフローチャートの例を示している。
【図６】図６は、方式１による図５のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【図７】図７は、方式１による図５のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ａ）の例を示している。
【図８】図８は、方式１による図５のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｂ）の例を示している。
【図９】図９は、方式１による図５のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｃ）の例を示している。
【図１０】図１０は、情報処理端末のプロセッサによって実行される、図４のステップ５０８における方式２による検索条件に従って文字データを検索するための別のフローチャートの例を示している。
【図１１】図１１は、方式２による図１０のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【図１２】図１２は、方式２による図１０のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ａ）の例を示している。
【図１３】図１３は、方式２による図１０のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｂ）の例を示している。
【図１４Ａ】図１４Ａおよび１４Ｂは、情報処理端末のプロセッサによって実行される、図４のステップ５０８における方式３による検索条件に従って文字データを検索するためのさらに他のフローチャートの例を示している。
【図１４Ｂ】(図14Aで説明)
【図１５】図１５は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【図１６】図１６は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ａ）の例を示している。
【図１７】図１７は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｂ）の例を示している。
【図１８】図１８は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｃ）の例を示している。
【図１９】図１９は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【図２０】図２０は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｄ）の例を示している。
【図２１】図２１は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｅ）の例を示している。
【図２２Ａ】図２２Ａおよび２２Ｂは、情報処理端末のプロセッサによって実行される、図４のステップ５０８における方式４による検索条件に従って文字データを検索するためのさらに他のフローチャートの例を示している。
【図２２Ｂ】(図22Aで説明)
【図２３】図２３は、方式４による図２２Ａおよび２２Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【図２４】図２４は、方式４による図２２Ａおよび２２Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ａ）の例を示している。
【図２５】図２５は、方式４による図２２Ａおよび２２Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｂ）の例を示している。
【発明を実施するための形態】
【００１４】
発明の目的および利点は、請求の範囲に具体的に記載された構成要素および組み合わせによって実現され達成される。
前述の一般的な説明および以下の詳細な説明は、典型例および説明のためのものであって、本発明を限定するためのものではない、と理解される。
【００１５】
本発明の非限定的な実施形態を、図面を参照して説明する。図面において、同様のコンポーネントおよび要素には同じ参照番号が付されている。
【００１６】
例えばショッピング・センターおよびショッピング・モール等のテナント店のレジ端末はテナント店の所有物なので、ショッピング・センターおよびショッピング・モール等の運営業者は、そのレジ端末の所望のデータを自動的に取得できるように改造することができない。従って、テナント店業者は、そのレジ端末で印字された精算レシートの内容を指定の用紙に転記して運営業者に提出することが多い。この転記の作業を軽減するために、精算レシートを光学的文字認識（ＯＣＲ）技術で文字認識して文字データを収集することが想定される。しかし、通常の光学的文字認識技術では、様々な種類の精算レシートに対する文字認識の信頼性が低く、精算レシートにおける所望の項目の位置を高い信頼性で検出することができず、従って所望の項目の金額等のデータを検出できない。
【００１７】
また、精算レシートに印字され得るデータ項目名は、日々の販売状況および取引状況により日々変化する。例えば、取引状況次第で、印字される項目名と印字されない項目名とが変化する。従って、通常の光学的文字認識技術をそのまま用いて所望の項目の近傍に位置する特定の項目の位置を特定できる場合であっても、その近傍に位置する項目に対してどのような相対的位置関係で所望の項目名が位置をするかを決めることができない。
【００１８】
発明者たちは、通常の光学的文字認識技術では、ほとんどの場合、精算レシートにおける或る項目の文字列の全ての文字を誤認識することはなく、或る項目の文字列の一部についてだけ文字を誤認識する、と認識した。また、発明者たちは、精算レシートにおいて、認識できた一部の文字との相対的位置関係に基づいて所望の項目の位置を特定することができる、と認識した。
【００１９】
図１は、テナント店用のＰＯＳ端末１２またはレジ端末（金銭登録機端末）、および、ショッピング・センターまたはショッピング・モール等の運営業者用の情報処理端末３０およびサーバ装置４０を含むシステムの例を示している。情報処理端末３０とサーバ装置４０は、ネットワーク５を介して接続される。ネットワーク５は、ＬＡＮ（Local Area Network）、インターネット、公衆交換電話網（ＰＳＴＮ）、パケット交換網（ＰＳＮ）、ＩＳＤＮ（Integrated Services Digital Network）、および／または移動体通信網を含んでいてもよい。
【００２０】
ＰＯＳ端末またはレジ端末１２は、例えば、プロセッサ１０２、入力部１２２、表示部１２４、プリンタ１２６、ネットワーク・インタフェース（ＮＷ Ｉ／Ｆ）１０４、バーコード・リーダ（図示せず）およびキャッシュ・ボックス（図示せず）、等を含んでいる。ＰＯＳ端末１２は、テナント店業者の操作に従って、営業終了後に精算データを用紙に印字して精算レシートを生成する。ＰＯＳ端末１２の種類および精算レシートの形式は、テナント店ごとに違っていてよい。
【００２１】
サーバ装置４０は、情報処理装置であり、例えば、プロセッサ４０２、ネットワーク・インタフェース（ＮＷ Ｉ／Ｆ）４２６、およびデータベースを含む記憶部４１２を含んでいる。サーバ装置４０は、記憶部４１２または他の記憶装置に、画像データベース（ＤＢ）４３２、文字データベース（ＤＢ）４３４、条件マスタファイルまたはデータベース４３６、売上データベース（ＤＢ）４４２を格納する。
【００２２】
情報処理端末３０は、例えばＣＰＵ（Central Processing Unit）、主記憶装置、ハードディスク・ドライブ（ＨＤＤ）、半導体メモリ、バス、入力装置、出力装置、通信インタフェース、記録媒体読取用のドライブ、等を含むパーソナル・コンピュータのようなコンピュータまたは装置であってもよい。
【００２３】
情報処理端末３０は、例えば、プロセッサ３０２、データベースを含む記憶部３１２、例えばＵＳＢインタフェースのようなインタフェース（Ｉ／Ｆ）３０４、入力部３２２、表示部３２４、およびネットワーク・インタフェース（ＮＷ Ｉ／Ｆ）３２６を含んでいる。情報処理端末３０は、さらに、記憶部３１２または他の記憶装置に、画像データベース（ＤＢ）３３２および文字データベース（ＤＢ）３３４を格納する。情報処理端末３０は、ネットワーク・インタフェース３２６を介してサーバ装置４０に接続される。
【００２４】
プロセッサ３０２は、コンピュータ用のＣＰＵ（Central Processing Unit）であってもよい。記憶部３１２には、例えば、主記憶装置および半導体メモリ等が含まれる。入力部３２２は、例えば、キーボード、マウスまたはタッチパッドのようなポインティング・デバイス、およびタッチパネルを含んでいてもよい。情報処理端末３０は、さらに、記録媒体読み取り用のドライブ３０６を含んでいる。ドライブ３０６は、プログラムが記録された例えば光ディスクまたは磁気ディスクのような記録媒体３０７を読み取るために設けられている。ドライブ３０６は、例えばハードディスク・ドライブであってもよい。情報処理端末３０において、ＵＳＢインタフェース３０４は、少なくともスキャナ２０からの画像データまたは文字データを入力する入力部としても機能してもよい。
【００２５】
プロセッサ３０２は、文字認識の機能を含む例えば集積回路として実装された専用のプロセッサであってもよい。また、プロセッサ３０２は、記憶部３１２に格納されたアプリケーション・プログラムに従って動作するものであってもよい。アプリケーション・プログラムは、記録媒体３０７に格納されていて、ドライブ３０６によって記録媒体３０７から読み出されて情報処理端末３０にインストールされてもよい。
【００２６】
情報処理端末３０は、ＵＳＢケーブルによって、ＵＳＢインタフェース３０４を介してスキャナ２０に結合される。情報処理端末３０は、スキャナ２０から、運営業者またはテナント店業者によって走査された精算レシートの画像のデータを捕捉しまたは取り込んで画像データベース３３２またはサーバ装置４０の画像データベース４３２に格納する。情報処理端末３０は、格納された画像データを光学的文字認識技術で文字認識して、認識された文字のデータを生成して文字データベース３３４または４３４に格納する。スキャナ２０は、文字認識機能を含んでいてもよい。この場合、情報処理端末３０は、スキャナ２０から認識結果の文字データを捕捉しまたは取り込んで文字データベース３３４またはサーバ装置４０の文字データベース４３４に格納する。
【００２７】
情報処理端末３０は、さらに精算レシートにおける認識された文字のデータを、条件マスタファイル４３６から取り出した検索条件に基づいて分析して、精算レシートにおける所望の項目（例、売上額）のデータを決定してサーバ装置４０の売上データベース４４２に格納する。
【００２８】
代替形態として、情報処理端末３０は、画像データベース３３２または４３２の画像データを読み込んで文字データに変換しながら、それに同期的に、テナントの精算レシートの認識結果の文字データを読み込んで検索条件に基づいて分析してもよい。
【００２９】
図２は、情報処理端末３０のプロセッサ３０２またはサーバ装置４０のプロセッサ４０２の概略的な構成（configuration）の例を示している。
【００３０】
プロセッサ３０２は、例えば、制御部３０２０、光学的文字認識（ＯＣＲ）制御部３０２２、光学的文字認識（ＯＣＲ）部３０２４、データ抽出部（または文字データ変換部）３０２８、データ確認部３０３０、およびその他の処理部３０４０を含んでいてもよい。処理部３０４０には例えば通信処理部が含まれていてもよい。プロセッサ３０２は光学的文字認識部３０２４を含まず、スキャナ２０が光学的文字認識機能を含んでいてもよい。制御部３０２０は、光学的文字認識制御部３０２２、光学的文字認識部３０２４、データ抽出部３０２８、データ確認部３０３０、および処理部３０４０に制御信号を供給して、これらの要素の動作を制御してもよい。
【００３１】
代替形態としてまたは追加的に、サーバ装置４０のプロセッサ４０２は、例えば、制御部３０２０、光学的文字認識（ＯＣＲ）制御部３０２２、光学的文字認識（ＯＣＲ）部３０２４、データ抽出部３０２８、データ確認部３０３０、および処理部３０４０を含んでいてもよい。プロセッサ４０２は光学的文字認識部３０２４を含まず、スキャナ２０が光学的文字認識機能を含んでいてもよい。
【００３２】
図３Ａおよび３Ｂは、光学的文字認識部３０２４またはスキャナ２０の認識機能によって読み取られる精算レシート、および認識結果の文字および数値のデータの例を示している。
【００３３】
図３Ｂにおいて、認識結果の文字および数値のデータは、垂直方向の相対的位置と水平方向の相対的位置に関する各文字の位置関係を表す情報を含んでいる。認識結果の文字および数値のデータでは、精算レシートの各行に対応する行に認識結果の文字および／または数値が生成される。各行の文字データは、文字間隔、データ形式に応じて１つ以上の項目または１組以上の文字列に分離されグループ化される。精算レシート上の印字された文字には、文字認識の成功率の高い文字と低い文字とがある。数字は文字認識の成功率が高い。発明者たちは、文字認識の成功率の高い複数の文字の組合せをキーワードとして、認識された文字データ全体を検索することによって、そのようなキーワードの位置との相対的位置関係に基づいて所望の項目の数値の位置を特定することができると、認識した。そのために、キーワードと、そのキーワードを含む項目と所望の項目の位置関係を表す検索条件が、サーバ装置４０の条件マスタファイル４３６に予め格納される。その検索条件は、例えば、ＸＭＬフォーマットで記述してもよい。
【００３４】
図４は、情報処理端末３０のプロセッサ３０２またはそのデータ抽出部３０２８によって実行される、検索条件に従って文字データを検索するための全体的なフローチャートの例を示している。
【００３５】
ステップ５０２において、プロセッサ３０２は、条件マスタファイル４３６から１件のテナント用の条件データを読み込み、文字データベース３３４または４３４からテナントの精算レシートの認識結果の文字データのファイルを読み込んで、記憶部３１２に格納する。ステップ５０４において、プロセッサ３０２またはデータ抽出部３０２８は、その条件データから１件の項目を読み込む。ステップ５０６において、プロセッサ３０２またはデータ抽出部３０２８は、その項目から１件の検索条件を読み込む。
【００３６】
ステップ５０８において、プロセッサ３０２は、その項目についてその検索条件に従って精算レシートの認識結果の文字データを検索し、その項目に対応するデータ（数値）を抽出して記憶部３１２に格納する。そのために、プロセッサ３０２またはデータ抽出部３０２８は、認識結果の例えばＣＳＶ形式のテキストを含む文字データのファイルから、行単位でテキストの文字データを取り出す。
【００３７】
具体的には、プロセッサ３０２は、所望の抽出対象項目の文字または数値データに対する少なくとも１つの項目のキーワード文字または文字列の位置関係を表す検索条件を記憶部３１２から取り出し、認識結果としての文字位置情報を含む文字データ（図３Ｂ）を例えば行単位で記憶部３１２から取り出す。その位置関係は、例えば、文字データにおいて１つの項目の文字または文字列の位置に対する別の項目の文字または文字列が位置する範囲を表すものであってもよい。プロセッサ３０２は、各行の文字データを少なくとも１つの項目のキーワード文字または文字列と比較して、文字データにおいてその少なくとも１つの項目のキーワード文字または文字列と一致または近似するとみなせる文字または文字列を検出する。プロセッサ３０２は、その検出された文字または文字列とその位置関係にある所望の抽出対象項目の文字または数値データを決定して記憶部３１２に格納する。
【００３８】
別の形態として、プロセッサ３０２は、複数の項目の文字または文字列の第１の位置関係と、複数の項目の中の１つの項目の文字または文字列に対する所望の抽出対象項目のデータの第２の位置関係とを表す検索条件を記憶部３１２から取り出し、認識結果としての文字位置情報を含む文字データ（図３Ｂ）を例えば行単位で記憶部３１２から取り出す。プロセッサ３０２は、各行の文字データを複数の項目の文字または文字列と比較して、文字データにおいて複数の項目の文字または文字列と一致または近似するとみなせる第１の位置関係にある複数の文字または文字列を検出する。プロセッサ３０２は、さらに、その検出された複数の文字または文字列におけるその１つの項目の文字または文字列と一致または近似すると見なせる文字または文字列に対して第２の位置関係にある所望の抽出対象項目のデータを抽出して記憶部３１２に格納する。第１の位置関係は、例えば、文字データにおいて１つの項目の文字または文字列の位置に対する別の項目の文字または文字列が位置する範囲を表すものであってもよい。
【００３９】
例えば、所望の検出対象項目のキーワード文字列が、文字データにおいて或る文字列と一致する文字の数の割合が閾値１より大きい場合に、その或る文字列が所望の検出対象項目のキーワード文字列と一致するとみなしてよい。例えば、所望の検出対象項目のキーワード文字列が、文字データにおいて或る文字列と一致する文字の数の割合が閾値１より小さく閾値２より大きい場合に、その或る文字列が所望の検出対象項目のキーワード文字列と近似するとみなしてよい。プロセッサ３０２は、その或る文字列が所望の検出対象項目のキーワード文字列と近似することを確認または検証するために、文字データにおいて複数の項目の中の他の項目の文字または文字列と一致する第１の位置関係にある文字または文字列の存在を検出してもよい。
【００４０】
ステップ５１０において、プロセッサ３０２は、抽出対象項目のデータ（数値）が抽出できたかどうかを判定する。抽出できたと判定された場合は、手順はステップ５１４に進む（所望項目抽出の成功）。抽出できなかったと判定された場合は、手順はステップ５１２に進む。
【００４１】
ステップ５１２において、プロセッサ３０２は、全ての検索条件について検索が終了したかどうかを判定する。検索が終了していないと判定された場合は、手順はステップ５０６に戻る。検索が終了したと判定された場合は、手順はステップ５１４に進む（所望項目抽出の不成功）。
【００４２】
ステップ５１４において、プロセッサ３０２は、抽出が成功であった場合は、抽出されたデータ（数値）をその項目名（識別情報）に対応付けて、売上データベース４４２における対応するテナントの記憶領域に格納する。プロセッサ３０２は、抽出が不成功であった場合は、その項目名に対応付けて抽出不成功を表す表示データをテナントの記憶領域に格納する。
【００４３】
ステップ５１６において、プロセッサ３０２は、全ての抽出対象項目について検索が終了したかどうかを判定する。検索が終了したと判定された場合は、手順はステップ５１８に進む。検索が終了していないと判定された場合は、手順はステップ５０４に戻る。
【００４４】
ステップ５１８において、プロセッサ３０２は、全てのテナントについて検索が終了したかどうかを判定する。検索が終了していないと判定された場合は、手順はステップ５０２に戻る。全てのテナントについて検索が終了したと判定された場合は、手順は図４のルーチンを出る。
【００４５】
このようにして、全てのテナントについて、それぞれの精算レシートの認識結果の文字データを全ての所望の項目について検索して、所望の項目のデータ（数値）が収集される。
【００４６】
キーワードに対する精算レシートの文字データの検索法として複数の方式が考えられる。
方式１では、キーワードを設定し、キーワードと一致する文字列を含む行を求めて文字データ・ファイルを検索して、その行との相対的位置関係に基づいて所望のデータ（数値）を抽出する。この場合、例えば画数が多い文字を含むことに起因して抽出対象行の抽出項目の文字列の認識精度が低い場合、その文字列の代わりに、他の行における例えば少ない画数の文字を含む認識率の高い文字列がキーワードとして選択される。その選択キーワードの文字列を含む行との相対的位置関係に従って抽出対象項目の位置する行が決定されてもよい。例えば、選択キーワードの文字列を含む行から或る行数だけ離れた上方向または下方向の位置の行を、抽出対象項目を含む行として設定することができる。
【００４７】
図５は、情報処理端末３０のプロセッサ３０２（データ抽出部３０２８）によって実行される、図４のステップ５０８における方式１による検索条件に従って文字データを検索するためのフローチャートの例を示している。この場合、主キーワードを用いて検索が行われて、所望の項目のデータが抽出される。
【００４８】
ステップ５４２において、プロセッサ３０２は、読み込んだ文字データ・ファイルを開く。ステップ５４４において、プロセッサ３０２は、文字データ・ファイルから認識結果としての１件または１行分の文字データを読み込む。
【００４９】
ステップ５４６において、プロセッサ３０２は、その文字データを検索または分析して、検索条件における主キーワードと一致（マッチ）するまたは同じ文字列があるかどうかを判定する。一致する文字列があると判定された場合は、手順はステップ５４８に進む。一致する文字列がないと判定された場合は、手順はステップ５５２に進む。
【００５０】
ステップ５４８において、プロセッサ３０２は、主キーワードと一致した文字列が出現する順番が検索条件に適合するか、即ち条件の所定の出現順番と同じかどうかを判定する。例えば、主キーワードと一致する可能性のある文字列が２つの行にあり、主キーワードと一致する２番目の文字列が所定の順番として検索条件で指定されている場合、主キーワードと一致する最初の文字列は検索条件に適合しない。その出現の順番が適合すると判定された場合は、手順はステップ５５０に進む。その出現の順番が適合しないと判定された場合は、手順はステップ５５２に進む。
【００５１】
ステップ５５２において、プロセッサ３０２は、全ての行の文字データを読み込んだかどうかを判定する。全ての行を読み込んだと判定された場合は、手順は図５のルーチンを出る（所望項目抽出の不成功）。全ての行を読み込んでいないと判定された場合は、手順はステップ５４４に戻る。
【００５２】
ステップ５５０において、プロセッサ３０２は、抽出対象行がキーワードの文字列を含む行と同じかどうかを判定する。抽出対象行がキーワードの文字列を含む行と同じと判定された場合は、手順はステップ５５６に進む。抽出対象行がキーワードの文字列を含む行と異なると判定された場合は、手順はステップ５５４に進む。
【００５３】
ステップ５５４において、プロセッサ３０２は、検索条件において指定された方向（上下、行に垂直な方向）および移動行数に従って、文字データ・ファイル中における抽出対象行まで行位置を移動する。
【００５４】
ステップ５５６において、プロセッサ３０２は、抽出対象行における指定された方向（左右、行内の方向）および項目の移動項目数に従って、抽出対象行における抽出対象項目まで項目位置を移動し、抽出対象項目のデータ（数値）を抽出して、その抽出対象項目に対応付けて記憶部３１２の領域に格納する。その後、手順は図５のルーチンを出る（所望項目抽出の成功）。
【００５５】
図６は、方式１による図５のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【００５６】
検索の例１
方式１の検索条件（ａ）は、検索対象項目として、キーワードと一致する文字列を含む行を規定し、その行における何番目の項目か（順番）を規定する。この場合、検索条件（ａ）は、検索（検出）対象項目「精算上現金売上」の右隣すなわち左から２番目の項目の数値（ａ）を所望のデータとして抽出することを規定する。この場合、図６の精算レシートにおいて、項目「精算上現金売上」が印字されるものとする。
【００５７】
例えば、項目「精算上現金売上」の中の少なくとも「現金売上」を含む文字列（４〜７文字）をキーワードとして、項目「精算上現金売上」を含む行の右隣すなわち２番目の項目の数値（ａ）（「１２０，００５」）が、所望のデータとして抽出される。
【００５８】
キーワードの文字列“現金売上”が出現する項目を含む行として、文字データ・ファイルにおける同キーワードを含む１つ以上の行のうちの何番目の行か（順番）が指定されてもよい。例えば、同じキーワードの文字列“現金売上”が出現する最初の行か、２番目の行か、または３番目の行かを指定することができる。キーワードは、連続文字列でなくてもよい。例えば、“日？上？？上”のようなワイルドカード文字の形式で指定してもよい。ここで、記号“？”は、例えば任意の１文字を表す。その他、記号“＊”は、例えば任意の０文字以上の文字列を表す。記号“＃”は、例えば任意の数字１字を表す。
【００５９】
さらに、検索条件（ｂ、ｃ）は、検索対象項目として、キーワードの文字列を含む行から或る行数だけ上または下の行における何番目の項目か（順番）を規定してもよい。
【００６０】
図７は、方式１による図５のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ａ）の例を示している。ここで、検索条件はＸＭＬ形式で記述される。
【００６１】
図７の検索条件（ａ）において、上下のタグ＜テナント＞と＜／テナント＞の間に１件のテナントの精算レシートに関する検索条件が規定される。次に、テナントのコード“０００１”（タグ＜コード＞と＜／コード＞の間）、或る文字データ・ファイルを表す識別情報の入力（タグ＜指定＞と＜／指定＞の間）、１件の検索項目（タグ＜項目＞と＜／項目＞の間の行）が規定される。上下のタグ＜検索＞と＜／検索＞の間の複数行で、１つの検索条件が規定される。次に、具体的な検索条件として、検索方式“１”（＜方式＞と＜／方式＞の間）、主キーワード“現金売上”（＜主キーワード＞と＜／主キーワード＞の間）、主キーワードが発生（出現）する１つ以上の行における行の順番“１”（最初の行）（＜発生順番＞と＜／発生順番＞の間）が規定される。
【００６２】
また、抽出対象項目（上下の＜対象行＞と＜／対象行＞の間）として、主キーワードの文字列を含む行から見た検索対象行の方向（上、下、同）“同”（＜行方向＞と＜／行方向＞の間）が規定される。さらに、検索開始行までの行数“０”（同行）（＜行数開始＞と＜／行数開始＞の間）、検索終了行までの行数“０”（同行）（＜行数終了＞と＜／行数終了＞の間）が規定される。これら３つのタグは、キーワードの文字列を含む行が抽出対象行である場合には、省略してもよい。この場合、検索対象の行範囲は、検索対象行が“０”（行数開始位置）〜“０”（行数終了位置）なので、キーワードの文字列を含む行に限定される。さらに、抽出対象行における検索開始列（左、右）“左”（＜項目方向＞と＜／項目方向＞の間）、および抽出対象行における抽出対象項目の順番“２”（＜項目順番＞と＜／項目順番＞の間）が規定される。この場合、図６に中央の矢印で示されているように、キーワード“現金売上”を含む行において左から右の方向に２番目の項目（数値）が、所望の項目（「精算上現金売上」の金額）の所望のデータ（例えば「１２０，００５」）として抽出される。
【００６３】
検索の例２
方式１の検索条件（ｂ）は、検索対象項目として、主キーワードと一致する文字列を含む行を規定し、その行位置から或る行数だけ上の行における何番目の項目か（順番）を規定する。この場合、検索条件（ｂ）は、項目「精算上現金売上」の２行上にある項目「感謝カード」の右隣すなわち左から２番目の項目の数値（ｂ）を所望のデータとして抽出することを規定する。この場合、図６の精算レシートにおいて、項目「感謝カード」を含む行から項目「精算上現金売上」までの３行が印字されるものとする。キーワードは、連続文字列でなくてもよい。
【００６４】
例えば、文字列「精算上現金売上」の中の少なくとも「現金売上」を含む文字列（４〜７文字）をキーワードとして、項目「精算上現金売上」の２行上にある項目「感謝カード」の右隣すなわち２番目の項目の数値（ｂ）（「１，５００」）が、所望のデータとして抽出される。
【００６５】
図８は、方式１による図５のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｂ）の例を示している。
【００６６】
図８の検索条件（ｂ）において、コード“０００１”の後の“候補”に関する記述は、精算レシートがいずれのテナントのものであるかを識別するためのものである。コード“０００１”の後に、或る文字データ・ファイルを表すテナント識別情報のデータ形式“文字列”（＜指定＞と＜／指定＞の間）、テナント識別情報の候補として、店名“珈琲屋 大阪店”および電話番号“０６−１１１１−２２２２”（＜候補＞と＜／候補＞の間）が規定される。このように、候補を表す識別情報として、複数の候補が規定されてもよい。さらに、文字データ・ファイルにおける候補検索開始行の（上からの）行数または行番号“１”（行１）（＜候補行数開始＞と＜／候補行数開始＞の間）、その候補検索終了行の（上からの）行数または行番号“５”（行５）（＜候補行数終了＞と＜／候補行数終了＞の間）が規定される。その開始行位置と終了行位置によって、テナント識別情報を表す候補の文字列または数字列が出現する上から或る行数以内の行範囲が規定される。この場合、上から１乃至５行の範囲（行１〜行５）が規定される。
【００６７】
次いで、具体的な検索条件として、検索方式“１”、主キーワード“現金売上”、全ての行において主キーワードが発生（出現）する１つ以上の行における行の順番“１”（最初の行）が規定される。抽出対象行として、主キーワードの文字列を含む行から見た検索対象行の方向（上、下、同）“上”（＜行方向＞と＜／行方向＞の間）、検索開始行までの行数“２”（＜行数開始＞と＜／行数開始＞の間）、検索終了行までの行数“２” が規定される。この場合、検索対象の行範囲は、 検索対象行が“２” （行数開始位置）〜 “２” （行数終了位置）なので、キーワードの文字列を含む行の２行上の行に限定される。さらに、抽出対象行における検索開始列（左、右）“左”、および抽出対象行における抽出対象項目の順番“２”が規定される。この場合、図６に上側の矢印で示されているように、キーワード“現金売上”を含む行から２行上の行における左の項目「感謝カード」から右の方向に２番目の項目（数値）（例えば「１，５００」）が、所望の項目の所望のデータとして抽出される。
【００６８】
検索の例３
方式１の検索条件（ｃ）は、検索対象項目としてキーワードと一致する文字列を含む行を規定し、その行位置から或る行数だけ下の行における何番目の項目か（順番）を規定する。この場合、検索条件（ｃ）は、項目「精算上現金売上」の２行下にある項目「支払／割引」の右隣すなわち左から２番目の数値（ｃ）を所望のデータとして抽出することを規定する。この場合、図６の精算レシートにおいて、項目「精算上現金売上」を含む行から項目「支払／割引」までの３行が印字されるものとする。キーワードは、連続文字列でなくてもよい。
【００６９】
例えば、項目「精算上現金売上」の中の少なくとも「現金売上」を含む文字列（４〜７文字）をキーワードとして、項目「精算上現金売上」の２行下にある項目（「支払／割引」）の右隣すなわち２番目の項目の数値（ｃ）（「１０６」）が、所望のデータとして抽出される。
【００７０】
図９は、方式１による図５のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｃ）の例を示している。
【００７１】
図９の検索条件（ｃ）において、具体的な検索条件として、検索方式“１”、主キーワード“現金売上”、全ての行において主キーワードが発生（出現）する１つ以上の行における行の順番“１”（最初の行）が規定される。抽出対象行として、主キーワードの文字列を含む行から見た検索対象行の方向（上、下、同）“下”（＜行方向＞と＜／行方向＞の間）、検索開始行までの行数“２”、検索終了行までの行数“２” が規定される。この場合、検索対象の行範囲は、 検索対象行が“２”（行数開始位置）〜“２”（行数終了位置）なので、キーワードの文字列を含む行の２行下の行に限定される。さらに、抽出対象行における検索開始列（左、右）“左”、および抽出対象行における抽出対象項目の順番“２”が規定される。この場合、図６に下側の矢印で示されているように、キーワード“現金売上”を含む行から２行下の行における左の項目「支払／割引」から右の方向に２番目の項目（数値）（例えば「１０６」）が、所望の項目の所望のデータとして抽出される。
【００７２】
図１０は、情報処理端末３０のプロセッサ３０２（データ抽出部３０２８）によって実行される、図４のステップ５０８における方式２による検索条件に従って文字データを検索するための別のフローチャートの例を示している。この場合、認識成功率の高い目標文字列を含む行を検索するための主キーワードに加えて、抽出対象行の位置を検索するための別のキーワードを用いて所望の項目のデータが抽出される。
【００７３】
ステップ５４２〜５４８および５５２は図５のものと同様である。ステップ５５２において全ての行を読み込んだと判定された場合は、手順は図１０のルーチンを出る（所望項目抽出の不成功）。
【００７４】
ステップ５４８（ＹＥＳ）の後のステップ５５４において、プロセッサ３０２は、検索条件において指定された方向（上下、行に垂直な方向）および移動行数に従って、主キーワードの文字列を含む行から文字データ・ファイル中における抽出対象行まで行位置を移動する。
【００７５】
ステップ６１６において、プロセッサ３０２は、その文字データを検索して、検索条件における別のキーワードと一致（マッチ）するまたは同じ文字列があるかどうかを判定する。一致する文字列があると判定された場合は、手順はステップ５５６に進む。一致する文字列がないと判定された場合は、手順はステップ６１８に進む。
【００７６】
ステップ５５６は図５のものと同様である。その後、手順は、図１０のルーチンを出る（所望項目抽出の成功）。
【００７７】
ステップ６１８において、プロセッサ３０２は、別のキーワードによる全ての検索範囲の行について検索が終了したかどうかを判定する。それが終了したと判定された場合は、手順はステップ６２０に進む。それが終了していないと判定された場合は、手順はステップ５５４に戻る。
【００７８】
ステップ６２０において、プロセッサ３０２は、主キーワードと一致する文字列が出現する順番が指定されているかを判定する。主キーワードと一致する文字列が出現する順番（例えば、最初、２番目）が指定されていない場合には、別のキーワードと一致する文字列が出現するまで、主キーワードに対して全ての行が検索される。そのような順番が指定されていないと判定された場合は、手順はステップ５４４に戻る。そのような順番が指定されていると判定された場合は、手順は図１０のルーチンを出る（所望項目抽出の不成功）。
【００７９】
図１１は、方式２による図１０のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【００８０】
検索の例４
方式２の検索条件（ａ）は、検索対象項目として、キーワードと一致する文字列を含む行を規定し、その行位置から或る行数だけ上の行範囲を規定し、その行範囲にある別のキーワードと一致する文字列を含む行を規定し、その行における何番目の項目か（順番）を規定する。この場合、検索条件（ａ）は、項目「精算上現金売上」を含む行から上方向の２行以内の範囲にある項目「感謝カード」の右隣すなわち左から２番目の項目の数値（ａ）を所望のデータとして抽出することを規定する。この場合、図１１の精算レシートにおいて、項目「感謝カード」および項目「精算上現金売上」の２行が印字されるものとする。キーワードは、連続文字列でなくてもよい。
【００８１】
例えば、文字列「精算上現金売上」の中の少なくとも「現金売上」を含む文字列（４〜７文字）をキーワードとし、項目「精算上現金売上」の上方向の１〜２行の範囲にある項目「カード」が別のキーワードとされる。さらに、項目「感謝カード」の右隣すなわち２番目の項目の数値（ａ）（「１，５００」）が、所望のデータとして抽出される。この場合、項目「精算報上現金売上」と「感謝カード」の間に項目「商品券等」が印字されなくても、項目「感謝カード」の金額のデータが抽出できる。
【００８２】
検索条件は、抽出対象項目として、別のキーワードの文字列を含む行からさらに或る行数だけ上または下の行における何番目の項目か（順番）を規定してもよい。
【００８３】
図１２は、方式２による図１０のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ａ）の例を示している。
【００８４】
図１２の検索条件（ａ）において、具体的な検索条件として、検索方式“２”、主キーワード“現金売上”、全ての行において主キーワードが発生（出現）する１つ以上の行における行の順番“１”（最初の行）が規定される。但し、主キーワードが発生（出現）する行の順番が“０”の場合、それは、キーワードと一致する文字列が出現するまで全ての行について検索されることを表す。抽出対象行として、主キーワードの文字列を含む行から見た検索対象行の方向（上、下、同）“上”、検索開始行までの行数“１”、検索終了行までの行数“２” が規定される。この場合、検索対象の行範囲は、 検索対象行が“１”（行数開始位置）〜“２”（行数終了位置）なので、主キーワードの文字列を含む行の１〜２行上の行である。
【００８５】
さらに、別のキーワード“カード”（＜検索キーワード＞と＜／検索キーワード＞の間）、抽出対象行における検索開始列（左、右）“左”、および抽出対象行における抽出対象項目の順番“２”が規定される。この場合、図１１に上側の破線矢印で示されているように、キーワード“現金売上”を含む行から２行上の行における左の項目「感謝カード」から右の方向に２番目の項目（数値）（例えば「１，５００」）が、所望の項目の所望のデータとして抽出される。
【００８６】
検索の例５
方式２の検索条件（ｂ）は、検索対象項目として、キーワードと一致する文字列を含む行を規定し、その行位置から或る行数だけ下の行範囲を規定し、その行範囲にある別のキーワードと一致する文字列を含む行を規定し、その行における何番目の項目か（順番）を規定する。この場合、検索条件（ｂ）は、項目「精算上現金売上」を含む行から下方向の２行以内の範囲にある項目「支払／割引」の右隣すなわち左から２番目の項目の数値（ａ）を所望のデータとして抽出することを規定する。この場合、図１１の精算レシートにおいて、項目「精算上現金売上」および項目「支払／割引」の２行が印字されるものとする。
【００８７】
例えば、文字列「精算上現金売上」の中の少なくとも「現金売上」を含む文字列（４〜７文字）をキーワードとし、項目「精算上現金売上」の下方向の１〜２行の範囲にある項目「支払／割引」の「支」が別のキーワードとされる。さらに、項目「支払／割引」の右隣すなわち２番目の項目の数値（ｂ）（「１３０」）が、所望のデータとして抽出される。この場合、項目「精算上現金売上」と「支払／割引」の間に項目「掛売上入金」が印字されていなくても、項目「支払／割引」のデータが抽出できる。キーワード“現金売上”が出現する項目を含む行として、文字データ・ファイルにおける同キーワードを含む１つ以上の行のうちの何番目の行か（順番）を指定してもよい。キーワードは、連続文字列でなくてもよい。
【００８８】
検索条件は、抽出対象項目として、別のキーワードの文字列を含む行からさらに或る行数だけ上または下の行における何番目の項目か（順番）を規定してもよい。
【００８９】
図１３は、方式２による図１０のフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｂ）の例を示している。
【００９０】
図１３の検索条件（ｂ）において、具体的な検索条件として、検索方式“２”、主キーワード“現金売上”、全ての行において主キーワードが発生（出現）する１つ以上の行における行の順番“１”（最初の行）が規定される。但し、主キーワードが発生（出現）する行の順番が“０”の場合、それは、キーワードと一致する文字列が出現するまで全ての行について検索されることを表す。抽出対象行として、主キーワードの文字列を含む行から見た検索対象行の方向（上、下、同）“下”、検索開始行までの行数“１”、検索終了行までの行数“２” が規定される。この場合、検索対象の行範囲は、 検索対象行が“１”（行数開始位置）〜 “２”（行数終了位置）なので、主キーワードの文字列を含む行の１〜２行下の行である。
【００９１】
さらに、別のキーワード“支”（＜検索キーワード＞と＜／検索キーワード＞の間）、抽出対象行における検索開始列（左、右）“左”、および抽出対象行における抽出対象項目の順番“２”が規定される。この場合、図１１に下側の破線矢印で示されているように、キーワード“現金売上”を含む行から２行下の行における左の項目「支払／割引」から右の方向に２番目の項目（数値）（例えば「１０６」）が、所望の項目の所望のデータとして抽出される。
【００９２】
図１４Ａおよび１４Ｂは、情報処理端末３０のプロセッサ３０２（データ抽出部３０２８）によって実行される、図４のステップ５０８における方式３による検索条件に従って文字データを検索するためのさらに他のフローチャートの例を示している。この場合、主キーワードに加えて、例えば画数が少ない認識率の高い２つのキーワード（主キーワードと検証用の他のキーワード）を用いて所望の項目のデータが抽出される。
【００９３】
ステップ５４２〜５４８および５５２は図５のものと同様である。ステップ５５２において全ての行を読み込んだと判定された場合は、手順は図１４Ａおよび１４Ｂのルーチンを出る（所望項目抽出の不成功）。
【００９４】
ステップ５４８（ＹＥＳ）の後、手順は、ステップ５５４に進み、その後でステップ５５６に進む。ステップ５５４および５５６は、図１０のものと同様である。その後、手順は、図１４Ｂのステップ６７０に進む。この時点では、主キーワードは他の行にも出現する可能性があり、主キーワードと一致すると判定された文字列は誤認識された可能性があり、従って、抽出された抽出対象項目のデータ（数値）の位置が適正かどうかの信頼性は低い。従って、その後、主キーワードと或る位置関係にある他の行の文字列をキーワードとして用いて、他の行において他のキーワードと一致する文字列があるかどうかが検証される。
【００９５】
図１４Ｂを参照すると、ステップ６７０において、プロセッサ３０２は、検証のための指定された方向（上下、行に垂直な方向）および移動行数に従って、主キーワードの文字列を含む行から文字データ・ファイル中における検証用の行まで行位置を移動する。
【００９６】
ステップ６７２において、プロセッサ３０２は、その行の文字データを検索して、検索条件における検証用の他のキーワードと一致（マッチ）するまたは同じ文字列があるかどうかを判定する。一致する文字列があると判定された場合は、手順はステップ６７６に進む。一致する文字列がないと判定された場合は、手順はステップ６７４に進む。
【００９７】
ステップ６７４において、プロセッサ３０２は、検証用の他のキーワードによる全ての検索範囲の行について検索が終了したかどうかを判定する。それが終了したと判定された場合は、手順はステップ６７６に進む。それが終了していないと判定された場合は、手順はステップ６７０に戻る。
【００９８】
ステップ６７６において、プロセッサ３０２は、検証用の他のキーワードと一致する文字列として確認された文字列を記憶部３１２に格納する。そのような文字列がない場合は、そのような文字列は格納されない。
【００９９】
ステップ６７８において、プロセッサ３０２は、検証用の全ての他のキーワードについて検索が終了したかどうかを判定する。その検索が終了したと判定された場合は、手順はステップ６８０に進む。その検索が終了していないと判定された場合は、手順はステップ６７０に戻る。ステップ６７０において、プロセッサ３０２は、次の検証用の行まで行位置を移動する。
【０１００】
ステップ６８０において、プロセッサ３０２は、その確認された文字列が検索条件における検証式に適合するかどうかを判定する。それが適合すると判定された場合は、手順は図１４Ａおよび１４Ｂのルーチンを出る（所望項目抽出の成功）。それが適合しないと判定された場合は、手順はステップ６８２に進む。
【０１０１】
ステップ６８２において、プロセッサ３０２は、主キーワードと一致する文字列が出現する順番が指定されているかどうかを判定する。主キーワードと一致する文字列が出現する順番（例えば、最初、２番目）が指定されていない場合には、検証用の他のキーワードと一致する文字列が出現するまで、主キーワードに対して全ての行が検索される。そのような順番が指定されていないと判定された場合は、手順はステップ５４４に戻る。そのような順番が指定されていると判定された場合は、手順は図１４Ａおよび１４Ｂのルーチンを出る（所望項目抽出の不成功）。
【０１０２】
図１５は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【０１０３】
検索の例６
方式３の検索条件（ａ）は、検索対象項目として、主キーワードと一致する文字列を含む行を規定し、その行における何番目の項目か（順番）を規定する。検索条件は、抽出対象項目として、主キーワードの文字列を含む行からさらに或る行数だけ上または下の行における或る項目を指定してもよい。検索条件（ａ）は、さらに検証対象項目として、主キーワードの文字列を含む行から或る行数だけ下または上の行範囲を規定し、その行範囲にある検証用の他のキーワードと一致する文字列を規定する。
【０１０４】
この場合、検索条件（ａ）は、項目「感謝カード」の右隣すなわち左から２番目の項目の数値（ａ）を所望のデータとして抽出することを規定する。さらに、検索条件（ａ）は、その項目（ｂ）が所望の抽出対象項目であることを検証するためにその１行下にある項目「商品券等」中の文字列「商品券」を抽出することを規定する。この場合、図１５の精算レシートにおいて、項目「感謝カード」および項目「商品券等」の２行が印字されるものとする。キーワードは、連続文字列でなくてもよい。
【０１０５】
例えば、項目「感謝カード」の中の少なくとも「カード」を含む文字列（３〜５文字）を主キーワードとして、項目「感謝カード」を含む行の右隣すなわち２番目の項目の数値（ａ）（「１，５００」）が、所望のデータとして抽出される。さらに、その抽出項目の妥当性を検証するために、項目「商品券等」の中の少なくとも「商品券」を含む文字列（３〜４文字）を他のキーワードとしてその１行下の行から「商品券」を含む文字列が抽出される。
【０１０６】
図１６は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ａ）の例を示している。
【０１０７】
図１６の検索条件（ａ）において、具体的な検索条件として、検索方式“３”、主キーワード“カード”、全ての行において主キーワードが発生（出現）する１つ以上の行における行の順番“１”（最初の行）が規定される。抽出対象行として、主キーワードの文字列を含む行から見た検索対象行の方向（上、下、同）“同”、検索開始行までの行数“０”、検索終了行までの行数“０”が規定される。例２、例３の場合のように、検索対象項目として、主キーワードの文字列を含む行から或る行数だけ上または下の行における何番目の項目か（順番）が規定されてもよい。さらに、抽出対象行における検索開始列（左、右）“左”、および抽出対象行における抽出対象項目の順番“２”が規定される。この場合、図１５に上側の実線矢印で示されているように、主キーワード“カード”を含む行における左の項目「感謝カード」から右の方向に２番目の項目（数値）（例えば「１，５００”）が、所望の項目の所望のデータとして抽出される。
【０１０８】
さらに、検証対象項目（上下の＜検証行＞と＜／検証行＞の間）として、主キーワードの文字列を含む行から見た検証行の方向（上、下、同）“下”、検証開始行までの行数“１”、検証終了行までの行数“１” が規定される。この場合、検証対象の行範囲は、 検索行が“１”（行数開始位置）〜“１”（行数終了位置）なので、主キーワードの文字列を含む行の１行下の行に限定される。さらに、検証のための他のキーワード“商品券”が規定される。この場合、図１５に上側の破線矢印で示されているように、主キーワード“カード”を含む行から１行下の行における左の最初の項目「商品券等」の中の文字列「商品券」が、確認された検証用の文字列として抽出される。それによって、主キーワードを用いて抽出された項目（数値）の妥当性が検証され、抽出した項目が格納される。
【０１０９】
検索の例７
方式３の検索条件（ｂ）は、検索対象項目として、主キーワードと一致する文字列を含む行を規定し、その行における何番目の項目か（順番）を規定する。検索条件は、抽出対象項目として、主キーワードの文字列を含む行からさらに或る行数だけ上または下の行における或る項目を指定してもよい。検索条件（ｂ）は、さらに２つの検証対象項目として、主キーワードの文字列を含む行から或る行数だけ上および或る行数だけ下の２つの行範囲を規定し、その行範囲にある検証用の他の２つのキーワードと一致する文字列を規定する。
【０１１０】
この場合、検索条件（ｂ）は、項目「支払／割引」の右隣すなわち左から２番目の項目の数値（ｂ）を所望のデータとして抽出することを規定する。さらに、検索条件（ｂ）は、その項目（ｂ）が所望の抽出対象項目であることを検証するために、その１行上にある項目「掛売上入金」中の文字または文字列「入」を抽出することを規定し、また、その項目（ｂ）の１〜４行下にある項目「その他」中の文字または文字列「そ」を抽出することを規定する。この場合、図１５の精算レシートにおいて、項目「掛売上入金」、項目「支払／割引」および項目「その他」の３行が印字されるものとする。キーワードは、連続文字列でなくてもよい。
【０１１１】
例えば、項目「支払／割引」の中の少なくとも「支」を含む文字列（１〜５文字）を主キーワードとして、項目「支払／割引」を含む行の右隣すなわち２番目の項目の数値（ｂ）（「１０６」）が、所望のデータとして抽出される。さらに、その抽出項目（ｂ）の妥当性を検証するために、項目「掛売上入金」の中の少なくとも「入」を含む文字または文字列（１〜５文字）を他のキーワードとしてその１行上の行から「入」を含む文字または文字列が抽出される。さらに、項目「その他」の中の少なくとも「そ」を含む文字または文字列（１〜３文字）を他のキーワードとしてその１〜５行下の行から「そ」を含む文字または文字列が抽出される。この場合、項目「支払／割引」と項目「その他」の間に例えば項目「クーポン」等の項目が印字されなくても、項目「支払／割引」のデータが抽出できる。
【０１１２】
図１７は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｂ）の例を示している。
【０１１３】
図１７の検索条件（ｂ）において、具体的な検索条件として、検索方式“３”、主キーワード“支”、全ての行において主キーワードが発生（出現）する１つ以上の行における行の順番“１”（最初の行）が規定される。抽出対象行として、主キーワードの文字列を含む行から見た検索対象行の方向（上、下、同）“同”、検索開始行までの行数“０”、検索終了行までの行数“０” が規定される。例２、例３の場合のように、検索対象項目として、主キーワードの文字列を含む行位置から或る行数だけ上または下の行における何番目の項目か（順番）が規定されてもよい。さらに、抽出対象行における検索開始列（左、右）“左”、および抽出対象行における抽出対象項目の順番“２”が規定される。この場合、図１５に下側の実線矢印で示されているように、主キーワード“支”を含む行における左の項目「支払／割引」から右の方向に２番目の項目（数値）（例えば「１０６」）が、所望の項目の所望のデータとして抽出される。
【０１１４】
さらに、第１の検証対象項目として、主キーワードの文字列を含む行から見た検証行の方向（上、下、同）“上”、検証開始行までの行数“１”、検証終了行までの行数“１” が規定される。この場合、検証対象の行範囲は、 検証行が“１”（行数開始位置）〜“１”（行数終了位置）なので、主キーワードの文字列を含む行の１行上の行に限定される。さらに、検証のための他のキーワード“入”が規定される。この場合、図１５に中央の破線矢印で示されているように、主キーワード“支”を含む行から１行上の行における左の最初の項目「掛売上入金」の中の文字または文字列「入」が、確認された検証用の文字列として抽出される。
【０１１５】
さらに、第２の検証対象項目として、主キーワードの文字列を含む行から見た検証行の方向 “下”、検証開始行までの行数“１”、検証終了行までの行数“４” が規定される。この場合、検証対象の行範囲は、検証行が“１”（行数開始位置）〜“４”（行数終了位置）なので、主キーワードの文字列を含む行から下方向の１〜４行である。さらに、検証のためのさらに他のキーワード“そ”が規定される。この場合、図１５に下側の破線矢印で示されているように、主キーワード“支”を含む行から４行下の行における左の最初の項目「その他」の文字列「そ」が、確認された検証用の文字列として抽出される。
【０１１６】
さらに、２つ検証項目の２つの検証式（検証条件）の論理関係“検１  ＡＮＤ  検２”（＜検証式＞と＜／検証式＞の間）（論理積）が規定される。それによって、認識率の高い少ない文字数の主キーワードを用いて抽出した項目（数値）の妥当性が２つの検証式で検証され、抽出した項目が格納される。
【０１１７】
検索の例８
方式３の検索条件（ｃ）は、検索対象項目として、検索条件（ｂ）と同様の内容を規定する。検索条件（ｃ）では、２つの検証対象項目として２つの他のキーワードを用いていずれかの検証法で検証されればよい。この場合、項目「売掛上入金」と「その他」のいずれかの項目が印字されなくても、項目「支払／割引」のデータが抽出できる。
【０１１８】
図１８は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｃ）の例を示している。
【０１１９】
図１８の検索条件（ｃ）において、２つ検証対象項目の２つの検証式（検証条件）の論理関係以外は、図１７の検索条件（ｂ）のものと同様である。具体的な検証条件（ｃ）は、２つ検証項目の２つの２つの検証式の論理関係“検１  ＯＲ  検２”（＜検証式＞と＜／検証式＞の間）（論理和）を規定する。それによって、認識率の高い少ない文字数の主キーワードを用いて抽出した項目（数値）の妥当性が２つの検証式の一方だけで検証されればよく、それによって抽出された項目のデータが格納される。
【０１２０】
図１９は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【０１２１】
検索の例９
方式３の検索条件（ｄ）は、検索対象項目として、検索条件（ｂ）と同様の内容を規定する。検索条件（ｄ）では、２つの検証対象項目としてそれぞれ他の１つおよび２つのキーワードを用いて２つの検証法で、主キーワードを用いて抽出された項目（ｄ）の妥当性が検証される。
【０１２２】
検索条件（ｄ）は、第１の検証対象項目として、主キーワードの文字列を含む行から或る行数だけ上または下の行範囲を規定し、その行範囲にある検証用の他のキーワードと一致する文字列を規定する。検索条件（ｄ）は、さらに第２の検証対象項目として、主キーワードの文字列を含む行から或る行数だけ下または上の別の行範囲を規定し、その行範囲にある検証用のさらに他のキーワードと一致する文字列を規定する。検索条件（ｄ）は、第２の検証対象項目の一部として、さらに第２の検証対象項目で検証された他のキーワードの文字列を含む行から或る行数だけ下または上の行範囲を規定し、その行範囲にある検証用のさらに他のキーワードと一致する文字列を規定する。
【０１２３】
この場合、検索条件（ｄ）は、その抽出された項目（ｄ）が所望の抽出対象項目であることを検証するために、その１行上にある項目「掛売上入金」中の文字または文字列「入」を抽出することを規定する。検索条件（ｄ）は、その項目（ｄ）が所望の抽出対象項目であることを検証するために、さらに、その２行下にある項目「客割引」中の文字または文字列「客」を抽出し、さらにその２行下にある項目「その他」中の文字または文字列「そ」を抽出することを規定する。この場合、図１９の精算レシートにおいて、項目「掛売上入金」、項目「支払／割引」、項目「客割引」および項目「その他」の４行が印字されるものとする。キーワードは、連続文字列でなくてもよい。
【０１２４】
例えば、項目「支払／割引」の中の少なくとも「支」を含む文字または文字列（１〜５文字）を主キーワードとして、項目「支払／割引」を含む行の右隣すなわち２番目の項目の数値（ｄ）（「１０６」）が、所望のデータとして抽出される。さらに、その項目（ｄ）の妥当性を検証するために、項目「掛売上入金」の中の少なくとも「入」を含む文字または文字列（１〜５文字）を他のキーワードとして、その項目（ｄ）の１行上の行から「入」を含む文字または文字列が抽出される。さらに、その項目（ｄ）の妥当性を検証するために、項目「客割引」の中の少なくとも「客」を含む文字または文字列（１〜３文字）をさらに他のキーワードとしてその１〜２行下の行から「客」を含む文字または文字列が抽出される。さらに、その項目（ｄ）の妥当性を検証するために、項目「その他」の中の少なくとも「そ」を含む文字または文字列（１〜３文字）をさらに他のキーワードとして、項目「客割引」を含む行の１〜２行下の行から「そ」を含む文字または文字列が抽出される。この場合、項目「支払／割引」、「客割引」および「その他」の間の項目「クーポン」と「社員割引」のいずれかの項目が印字されなくても、項目「支払／割引」のデータが抽出できる。
【０１２５】
図２０は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｄ）の例を示している。
【０１２６】
図２０の検索条件（ｄ）において、第２の検証対象項以外は、検索条件（ｂ）の図１７のものと同様である。
【０１２７】
検索条件（ｄ）は、第２の検証項目として、主キーワードの文字列を含む行から見た検証行の方向（上、下、同）“下”、検証開始行までの行数“１”、検証終了行までの行数“２”が規定される。この場合、検証対象の行範囲は、検証行が“１”（行数開始位置）〜“２”（行数終了位置）なので、主キーワードの文字列を含む行の下の１〜２行である。さらに、検証のための他のキーワード“客”が規定される。この場合、図１９に中央の破線矢印で示されているように、主キーワード“支”を含む行から２行下の行における左の最初の項目「客割引」の文字または文字列「客」が、確認された検証用の文字列として抽出される。
【０１２８】
さらに第２の検証項目の一部に、追加的な検証項目（＜検証行２＞と＜／検証行２＞の間）として、第２の検証項目の他のキーワードの文字列“客”を含む行から見た検証行の方向“下”、検証開始行までの行数“１”、検証終了行までの行数“２”が規定される。この場合、検証対象の行範囲は、検証行が“１”（行数開始位置）〜“２”（行数終了位置）なので、他のキーワードの文字列“客”を含む行の下の１〜２行である。さらに、検証のための他のキーワード“そ”が規定される。この場合、さらに、図１９に下側の破線矢印で示されているように、項目「客割引」を含む行から１〜２行下の範囲の行における左の最初の項目「その他」の文字または文字列「そ」が、確認された検証用の文字列として抽出される。
【０１２９】
さらに、２つ検証項目の２つの検証式（検証条件）の論理関係“検１  ＡＮＤ  検２”（論理積）が規定される。それによって、認識率の高い少ない文字数の主キーワードを用いて抽出した項目（数値）の妥当性が２つの検証式で他の３つのキーワードを用いて検証され、抽出した項目が格納される。
【０１３０】
検索の例１０
方式３の検索条件（ｅ）は、検索対象項目として、検索条件（ｄ）と同様の内容を規定する。検索条件（ｄ）では、１つの他のキーワードを用いた検証法かまたは２つの他のキーワードを用いた別の検証法のいずれかの検証法で検証されればよい。この場合、「掛売上入金」と、項目「客割引」および「その他」の組、のいずれかの項目が印字されなくても、項目「支払／割引細」のデータが抽出できる。
【０１３１】
図２１は、方式３による図１４Ａおよび１４Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｅ）の例を示している。
【０１３２】
図２１の検索条件（ｅ）において、２つ検証対象項目の２つの検証式（検証条件）の論理関係以外は、図２０の検索条件（ｄ）のものと同様である。具体的な検証条件（ｅ）は、検証のための２つの検証式の論理関係“検１  ＯＲ  検２”（論理和）を規定する。それによって、認識率の高い少ない文字数の主キーワードを用いて抽出した項目（数値）の妥当性が２つの検証式の一方だけで他の１つまたは２つのキーワードを用いて検証されればよく、それによって抽出された項目のデータが格納される。
【０１３３】
図２２Ａおよび２２Ｂは、情報処理端末３０のプロセッサ３０２（データ抽出部３０２８）によって実行される、図４のステップ５０８における方式４による検索条件に従って文字データを検索するためのさらに他のフローチャートの例を示している。この場合、主キーワードに対する文字列の一致率または認識率に応じて、例えば画数が少ない一致率の高い他のキーワードをさらに用いて所望の項目のデータが抽出される。
【０１３４】
ステップ５４２および５４４は図５のものと同様である。ステップ５４４の後のステップ７０６において、プロセッサ３０２は、その行の認識文字データを主キーワードと比較し分析して、認識文字データの文字列と検索条件における主キーワードとの一致率を求める。ここで、一致率は、例えば、主キーワードの文字数に対する１行分の認識文字の中の一致する文字数の比率であってもよい。その際、認識文字における文字が、主キーワードにおける文字の順序に従って比較されてもよい。
【０１３５】
ステップ７０８において、プロセッサ３０２は、１行の認識文字の中に主キーワード中の文字列と一致する文字列、またはそれと同じ順序で出現する複数の文字があるかどうかを判定する。そのような文字列または複数の文字が存在しないと判定された場合は、手順はステップ５５２に進む。そのような文字列または複数の文字が存在すると判定された場合は、手順はステップ７１０に進む。
【０１３６】
ステップ７１０において、プロセッサ３０２は、１行の認識文字データと主キーワードとの一致率を、一致するとみなせるかどうかを判定するための閾値１より高いか（＞閾値１）（または閾値１以上か（≧閾値１））どうかを判定する。閾値１は、例えば７５〜８５％の範囲の或る値、例えば８０％であってもよい。一致率が閾値１より高い（または閾値１以上）と判定された場合、手順は図２２Ｂのステップ５５４に進む。一致率が閾値１以下（または閾値１未満）と判定された場合、手順はステップ７１２に進む。
【０１３７】
ステップ７１２において、プロセッサ３０２は、１行の認識文字データと主キーワードとの一致率を、検証を行うかどうかを判定するための閾値２より高いか（＞閾値２）（または閾値２以上か（≧閾値２））どうかを判定する。閾値２は、例えば、３６〜４６％の範囲の或る値、例えば４１％であってもよい。一致率が閾値２より高い（または閾値２以上）と判定された場合、手順は図２２Ｂのステップ６７０に進む。一致率が閾値２以下（または閾値２未満）と判定された場合、手順はステップ５５２に進む。
【０１３８】
ステップ５５２は、図５のものと同様である。ステップ５５２において全ての行を読み込んだと判定された場合は、手順は図２２Ａおよび２２Ｂのルーチンを出る（所望項目抽出の不成功）。
【０１３９】
図２２Ｂを参照すると、ステップ６７０〜６８０は図１４Ｂのものと同様である。
ステップ６８０において、確認された文字列が検索条件における検証式に適合すると判定された場合は、手順はステップ５５４に進む（所望項目抽出の成功）。それが適合しないと判定された場合は、手順は図２２Ａのステップ５４４に戻る。ステップ５５４および５５６は、図５のものと同様である。
【０１４０】
図２３は、方式４による図２２Ａおよび２２Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する手順を説明するためのものである。
【０１４１】
検索の例１１
方式４の検索条件（ａ）は、検索対象項目として、主キーワードと一致または近似するとみなせる文字列を含む行を規定し、その行における何番目の項目か（順番）を規定する。一致または近似するとみなせる条件は、高い閾値１より高いまたはそれ以上の割合で（＞または≧）文字データ中の或る文字列が主キーワードと一致する場合である。一致または近似するとみなせる別の条件は、低い閾値２より高いまたはそれ以上の割合で（＞または≧）文字データ中の或る文字列が主キーワードと一致し、かつ検証用の他のキーワードと一致する文字データ中の他の文字または文字列が抽出されたことを表す。検索条件（ａ）は、抽出対象項目として、主キーワードと一致または近似するとみなされた文字列を含む行からさらに或る行数だけ上または下の行における或る項目を指定してもよい。
【０１４２】
検索条件（ａ）は、その一致率が閾値１と閾値２の間の値である場合に、第１の検証対象項目として、主キーワードがその一致率で一致した文字列を含むその行から或る行数だけ上の行範囲を規定し、その行範囲にある検証用の他のキーワードと一致する文字列を規定する。この場合、検索条件（ａ）は、さらに第２の検証対象項目として、主キーワードとその一致率で一致した文字列を含むその行から或る行数だけ下の行範囲を規定し、その行範囲にある検証用のさらに他のキーワードと一致する文字列を規定する。検索条件（ａ）は、第２の検証対象項目の一部として、さらに、検証されたその行から或る行数だけ下の行範囲を規定し、その行範囲にある検証用のさらに他のキーワードと一致する文字列を規定する。この場合、検索条件（ａ）は、項目「精算上現金売上」の右隣すなわち左から２番目の項目の数値（ａ）を所望のデータとして抽出する。項目「精算上現金売上」の少なくとも一部の文字列の主キーワードとの一致率が閾値１より高い場合、項目抽出が成功し、検索は終了する。例えば、閾値１は、例えば７５〜８５％、例えば８０％であってもよい。例えば、精算レシート上の項目「精算上現金」が主キーワードであり、１行の認識文字が「精算上現金」または「精算上王見金」と認識された場合、一致率は１００％または８０％であり、閾値１以上となる。
【０１４３】
一方、項目「精算上現金売上」の主キーワードとの一致率が閾値１より低く閾値２より高い場合、検索条件（ａ）は、その項目が所望の抽出対象項目であることを検証するために、その２行上にある項目「感謝カード」中の文字列「カード」を抽出する。例えば、閾値２は、例えば３５〜４５％、例えば４１％であってもよい。例えば、精算レシート上の項目「精算上現金」が主キーワードであり、認識結果の１行の文字が「日幸反上王見金」または「８幸反上現金」である場合、一致率は６０％であり、閾値１未満かつ閾値２以上となる。また、例えば、認識結果の１行の文字が「８幸反上王見金」または「幸反上王見金」である場合、一致率は４０％または２０％であり、閾値２未満となる。
【０１４４】
検索条件（ａ）は、さらに、その項目が所望の抽出対象項目であることを検証するために、その２行下にある項目「支払／割引」中の文字または文字列「支」を抽出し、さらにその３行下にある項目「社員割引」中の文字または文字列「員」を抽出する。この場合、図２３の精算レシートにおいて、項目「感謝カード」、項目「精算上現金売上」、項目「支払／割引」、項目「社員割引」の４行が印字されるものとする。キーワードは、連続文字列でなくてもよい。
【０１４５】
例えば、項目「精算上現金売上」の中の少なくとも「精算上現金」を含む文字列（５〜７文字）を主キーワードとして、項目「精算上現金売上」を含む行の右隣すなわち２番目の項目の数値（ａ）（「１２０，０００５」）が、所望のデータとして抽出される。項目「精算上現金売上」の主キーワードとの一致率が閾値１未満かつ閾値２以上である場合、その抽出項目の妥当性を検証するために、さらに項目「感謝カード」の中の少なくとも文字列「カード」を含む文字列（３〜５文字）を他のキーワードとしてその１〜２行上の行から文字列「カード」が抽出される。さらに、その抽出項目の妥当性を検証するために、項目「支払／割引」の中の少なくとも「支」を含む文字または文字列（１〜５文字）をさらに他のキーワードとしてその１〜２行下の行から支」を含む文字または文字列が抽出される。さらに、その抽出項目の妥当性を検証するために、項目「社員割引」の中の少なくとも「員」を含む文字または文字列（１〜４文字）をさらに他のキーワードとしてその１〜３行下の行から「員」を含む文字または文字列が抽出される。検証対象項目として、検索条件は、他のキーワードの文字列を含む行からさらに或る行数だけ上または下の行における或る項目順番の項目を指定してもよい。
【０１４６】
図２４は、方式４による図２２Ａおよび２２Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ａ）の例を示している。
【０１４７】
図２４の検索条件（ａ）において、具体的な検索条件として、検索方式“４”、主キーワード“精算上現金”、全ての行において主キーワードが発生（出現）する１つ以上の行における行の順番“１”（最初の行）が規定される。抽出対象行として、主キーワードの文字列を含む行から見た検索対象行の方向（上、下、同）“同”、検索開始行までの行数“０”、検索終了行までの行数“０” が規定される。例２、例３の場合のように、検索対象項目として、主キーワードの文字列を含む行から或る行数だけ上または下の行における何番目の項目か（順番）が規定されてもよい。さらに、抽出対象行における検索開始列（左、右）“左”、および抽出対象行における抽出対象項目の順番“２”が規定される。この場合、図２３に実線矢印で示されているように、主キーワード“精算上現金”を含む行における左の項目「精算上現金売上」から右の方向に２番目の項目（数値）（例えば「１２０，００５”）が、所望の項目の所望のデータとして抽出される。
【０１４８】
検索条件（ａ）は、文字データ中の１行の文字列と主キーワードとの一致率に関する一致条件として、正常な一致と判定される閾値の一致率“８０”（＜正常率開始＞と＜／正常率開始＞の間）、閾値一致率との比較条件“≧”（＜正常率条件＞と＜／正常率条件＞の間）を規定する。さらに、検索条件（ａ）は、１行の文字列と主キーワードとの一致率に関する検証を行う条件として、他のキーワードを用いて検証を行うための閾値一致率“４１”（＜検証率開始＞と＜／検証率開始＞の間）、閾値一致率との比較条件“≧”（＜検証率条件＞と＜／検証率条件＞の間）を規定する。
【０１４９】
さらに、検証条件（ａ）は、２つの検索対象項目として、方式３の検索条件（ｄ）と同様の内容を規定する。
【０１５０】
検索の例１２
方式４の検索条件（ｂ）は、検索対象項目および２つの検証対象項目として、方式４の検索条件（ａ）と同様の内容を規定する。検索条件（ｂ）では、１つの他のキーワードを用いた検証法かまたは２つの他のキーワードを用いた検証法のいずれかの検証法で検証されればよい。
【０１５１】
図２５は、方式４による図２２Ａおよび２２Ｂのフローチャートに従って、図３Ａの精算レシートの認識結果の文字データのファイルを検索する記述形式の検索条件（ｂ）の例を示している。
【０１５２】
図２５の検索条件（ｂ）において、２つ検証対象項目の２つの検証式（検証条件）の論理関係以外は、図２４の検索条件（ａ）のものと同様である。具体的な検証条件（ｂ）は、検証のための２つの検証式の論理関係“検１  ＯＲ  検２”（論理和）を規定する。それによって、認識率の高い少ない文字数の主キーワードを用いて抽出した項目（数値）の妥当性が２つの検証式の一方だけで他の１つまたは２つのキーワードを用いて検証されればよく、それによって抽出された項目のデータが格納される。
【０１５３】
実施形態によれば、文字認識して得られた誤認識を含む文字データにおいて、高い認識成功率の文字列または複数の文字の相対的な位置関係に基づいて、所望の項目の文字または文字列を検出することができ、その所望の項目に対応する所望のデータを抽出することができる。また、実施形態によれば、テナント店の様々な種類の精算レシートの文字データを運営業者用のデータ・フォーマットに自動的に変換できる。また、実施形態によれば、各精算レシートに対して、印字レイアウト情報（例えば、印字開始位置、読み込み行数、等）を設定しなくてよく、また、レシート項目情報（例えば、行番号、１行の桁数、各項目の桁数）を設定しなくてよい。
【０１５４】
所望の項目のデータの抽出を、実施形態では精算レシートを文字認識して生成された文字データについて説明したが、これに限定されることなく、例えば、その他の印字された用紙を文字認識して生成された文字データについても適用可能である。
【０１５５】
実施形態では、情報処理端末３０またはそのプロセッサ３０２によって実行されるものとして説明した処理またはその少なくとも一部の処理は、サーバ装置４０またはそのプロセッサ４０２によって実行されてもよい。
【０１５６】
ここで挙げた全ての例および条件的表現は、発明者が技術促進に貢献した発明および概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例および条件に限定することなく解釈され、また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない、と理解される。本発明の実施形態を詳細に説明したが、本発明の精神および範囲から逸脱することなく、それに対して種々の変更、置換および変形を施すことができる、と理解される。
【０１５７】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
（付記１）  所望の項目に対する少なくとも１つの項目の文字または文字列の位置関係を表す条件情報を格納し、文字認識によって生成された、文字位置情報を含む文字データを格納する記憶部と、
前記文字データを前記少なくとも１つの項目の文字または文字列と比較して、前記文字データにおいて前記少なくとも１つの項目の文字または文字列と一致または近似するとみなせる文字または文字列を検出し、前記検出された文字または文字列と前記位置関係にある前記所望の項目のデータを抽出する抽出部と、
を具える情報処理装置。
（付記２）  前記位置関係は、さらに、前記少なくとも１つの項目の中の２つ以上の項目の文字または文字列の間の位置関係を含むものであることを特徴とする、付記１に記載の情報処理装置。
（付記３）  前記位置関係は、前記文字データにおける前記少なくとも１つの項目の文字または文字列の中の或る項目の文字または文字列の位置に対する前記少なくとも１つの項目の文字または文字列の中の別の文字または文字列が位置する範囲を含むものであることを特徴とする、付記１または２に記載の情報処理装置。
（付記４）  複数の項目の文字または文字列の第１の位置関係と、前記複数の項目の中の１つの項目の文字または文字列に対する所望の項目の第２の位置関係とを表す条件情報を格納し、文字認識によって生成された、文字位置情報を含む文字データを格納する記憶部と、
前記文字データを前記複数の項目の文字または文字列と比較して、前記文字データにおいて前記複数の項目の文字または文字列と一致または近似するとみなせる前記第１の位置関係にある複数の文字または文字列を検出し、前記文字データにおいて、前記検出された複数の文字または文字列における前記１つの項目の文字または文字列と一致または近似すると見なせる文字または文字列に対して前記第２の位置関係にある前記所望の項目のデータを抽出する抽出部と、
を具える情報処理装置。
（付記５）  前記１つの項目の文字列が、前記文字データにおける或る文字列と一致する文字の数の割合が閾値より大きい場合に、前記或る文字列が前記１つの項目の文字列と一致または近似するとみなされることを特徴とする、付記１乃至４のいずれかに記載の情報処理装置。
（付記６）  前記第１の位置関係は、前記１つの項目の文字または文字列と前記複数の項目の中の他の２つの項目の文字または文字列の間の位置関係であり、
前記文字データにおいて前記１つの項目の文字または文字列に対して前記第１の位置関係にある前記２つの項目のうちの１つの項目の文字または文字列と一致する文字または文字列が検出された場合、前記抽出部は、前記文字データにおいて前記２つの項目のうちの別の項目の文字または文字列と一致する文字または文字列があるかどうかを判定しないものであることを特徴とする、付記５に記載の情報処理装置。
（付記７）  所望の項目に対する少なくとも１つの項目の文字または文字列の位置関係を表す条件情報を記憶部から取り出し、
文字認識によって生成された、文字位置情報を含む文字データを前記記憶部から取り出し、
前記文字データを前記少なくとも１つの項目の文字または文字列と比較して、前記文字データにおいて前記少なくとも１つの項目の文字または文字列と一致または近似するとみなせる文字または文字列を検出し、
前記検出された文字または文字列と前記位置関係にある前記所望の項目のデータを抽出して前記記憶部に格納する
処理を情報処理装置に実行させるためのプログラム。
（付記８）  複数の項目の文字または文字列の第１の位置関係と、前記複数の項目の中の１つの項目の文字または文字列に対する所望の項目の第２の位置関係とを表す条件情報を記憶部から取り出し、
文字認識によって生成された、文字位置情報を含む文字データを前記記憶部から取り出し、
前記文字データを前記複数の項目の文字または文字列と比較して、前記文字データにおいて前記複数の項目の文字または文字列と一致または近似するとみなせる前記第１の位置関係にある複数の文字または文字列を検出し、
前記文字データにおいて、前記検出された複数の文字または文字列における前記１つの項目の文字または文字列と一致または近似すると見なせる文字または文字列に対して前記第２の位置関係にある前記所望の項目のデータを抽出して前記記憶部に格納する
処理を情報処理装置に実行させるためのプログラム。
（付記９）  情報処理装置が、
所望の項目に対する少なくとも１つの項目の文字または文字列の位置関係を表す条件情報を記憶部から取り出し、
文字認識によって生成された、文字位置情報を含む文字データを前記記憶部から取り出し、
前記文字データを前記少なくとも１つの項目の文字または文字列と比較して、前記文字データにおいて前記少なくとも１つの項目の文字または文字列と一致または近似するとみなせる文字または文字列を検出し、
前記検出された文字または文字列と前記位置関係にある前記所望の項目のデータを抽出する
ことを特徴とするデータの抽出方法。
（付記１０）  情報処理装置が、
複数の項目の文字または文字列の第１の位置関係と、前記複数の項目の中の１つの項目の文字または文字列に対する所望の項目の第２の位置関係とを表す条件情報を記憶部から取り出し、
文字認識によって生成された、文字の位置情報を含む文字データを前記記憶部から取り出し、
前記文字データを前記複数の項目の文字または文字列と比較して、前記文字データにおいて前記複数の項目の文字または文字列と一致または近似するとみなせる前記第１の位置関係にある複数の文字または文字列を検出し、
前記文字データにおいて、前記検出された複数の文字または文字列における前記１つの項目の文字または文字列と一致または近似すると見なせる文字または文字列に対して前記第２の位置関係にある前記所望の項目のデータを抽出して前記記憶部に格納する
ことを特徴とするデータの抽出方法。
【０１５８】
５  ネットワーク
２０  スキャナ
３０  情報処理端末
３０２  プロセッサ
３１２  記憶部
３３２、４３２  画像データベース
３３４、４３４  文字データベース
４０  サーバ装置
４０２  プロセッサ
４１２  記憶部
４３６  条件マスタファイル
【図１】
0005810568.tif 000002
【図２】
0005810568.tif 000003
【図３】
0005810568.tif 000004
【図４】
0005810568.tif 000005
【図５】
0005810568.tif 000006
【図６】
0005810568.tif 000007
【図７】
0005810568.tif 000008
【図８】
0005810568.tif 000009
【図９】
0005810568.tif 000010
【図１０】
0005810568.tif 000011
【図１１】
0005810568.tif 000012
【図１２】
0005810568.tif 000013
【図１３】
0005810568.tif 000014
【図１４Ａ】
0005810568.tif 000015
【図１４Ｂ】
0005810568.tif 000016
【図１５】
0005810568.tif 000017
【図１６】
0005810568.tif 000018
【図１７】
0005810568.tif 000019
【図１８】
0005810568.tif 000020
【図１９】
0005810568.tif 000021
【図２０】
0005810568.tif 000022
【図２１】
0005810568.tif 000023
【図２２Ａ】
0005810568.tif 000024
【図２２Ｂ】
0005810568.tif 000025
【図２３】
0005810568.tif 000026
【図２４】
0005810568.tif 000027
【図２５】
0005810568.tif 000028