"レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶部と,レシートに印字される項目名称の文字列と,前記項目名称のレシート内位置からの,その項目名称に対応する金額項目の相対位置データとを,レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶部と,前記画像データ記憶部に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出部と,抽出された認識文字の位置データから,認識文字の傾きを検出する傾き検出部と,認識文字の傾きが検出された場合に,前記定義データにおける該当する金額項目の相対位置データを,検出された傾きに応じて補正する傾き補正部と,補正された相対位置データを用いて,前記画像データ記憶部に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定部と,前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから,認識結果のデータを生成し,認識結果のデータを出力または記憶するデータ生成部とを備えることを特徴するレシートデータ認識装置。請求項1記載のレシートデータ認識装置において,前記レシートは,店舗ごとに異なるフォーマットで印刷されたレシートであり,前記定義データ記憶部には,店舗ごとに前記定義データが記憶され,レシートを発行した店舗ごとに異なる定義データを用いて,前記レシートデータ抽出部と,前記傾き検出部と,前記傾き補正部と,前記レシートデータ特定部と,前記データ生成部による処理を実行することを特徴とするレシートデータ認識装置。請求項2記載のレシートデータ認識装置において,前記定義データ記憶部に記憶される定義データは,前記レシートに印字される項目名称の文字列に対応して,複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み,前記データ生成部は,前記項目名称に一致する認識文字を,前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成することを特徴とするレシートデータ認識装置。コンピュータを,レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶手段と,レシートに印字される項目名称の文字列と,前記項目名称のレシート内位置からの,その項目名称に対応する金額項目の相対位置データとを,レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶手段と,前記画像データ記憶手段に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出手段と,抽出された認識文字の位置データから,認識文字の傾きを検出する傾き検出手段と,認識文字の傾きが検出された場合に,前記定義データにおける該当する金額項目の相対位置データを,検出された傾きに応じて補正する傾き補正手段と,補正された相対位置データを用いて,前記画像データ記憶手段に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定手段と,前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから,認識結果のデータを生成し,認識結果のデータを出力または記憶するデータ生成手段として機能させるためのレシートデータ認識プログラム。請求項4記載のレシートデータ認識プログラムにおいて,前記レシートは,店舗ごとに異なるフォーマットで印刷されたレシートであり,前記定義データ記憶手段には,店舗ごとに前記定義データが記憶され,前記コンピュータに,レシートを発行した店舗ごとに異なる定義データを用いて,前記レシートデータ抽出手段と,前記傾き検出手段と,前記傾き補正手段と,前記レシートデータ特定手段と,前記データ生成手段による処理を実行させることを特徴とするレシートデータ認識プログラム。請求項5記載のレシートデータ認識プログラムにおいて,前記定義データ記憶手段に記憶される定義データは,前記レシートに印字される項目名称の文字列に対応して,複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み,前記データ生成手段は,前記項目名称に一致する認識文字を,前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成することを特徴とするレシートデータ認識プログラム。前述したような,ショッピングセンター等の各店舗から提供される精算レシート以下,レシートというを集計するために,ショッピングセンター等を運営する会社組織のテナント管理部門では,従来,事務員が目視でレシートを読み取り,読み取ったデータを手作業でデータ処理装置に入力していた。この売上集計作業の作業量は,店舗数が100店舗以上に及ぶこともあり,しかも毎日行わなければならない作業であるため,非常に負担が大きいものであった。この負担を軽減するための一案としては,各店舗の売上データレシートデータを,各店舗の端末からネットワークを介して自動収集することが考えられる。しかし,一般に各店舗は企業体が異なるため,個々にネットワーク開設の許諾を得る必要があり,さらに導入されているシステムによって接続するネットワーク種類やアプリケーションの追加修正の難易度が異なるなど,解決が困難な問題が存在する。既存のシステムの変更,特に各店舗における端末などの情報機器の変更をできるだけ行わないで,前述した作業負担を軽減する他の案としては,レシートデータを人間が読み取るのではなく,文字画像の認識によって読み取る方法が考えられる。すなわち,各店舗のレシートを,例えばOCROpticalCharacterRecognition機能を有する読取装置,スキャナー等で読み取り,読み取ったレシート項目とその数値データについて売上管理項目に必要なものを抽出し,売上管理データに入力し直す方法である。しかし,この方法の場合にも,一般的な従来の文字画像の認識では解決できない問題を解決しなければならない。次に,この問題について説明する。OCR機能を有する読取装置等によりレシートを読み取らせる場合,レシートを透明シートに挟んだり,紙などに貼付するなどして固定した状態で,読取装置等に読み取らせる必要がある。例えば,透明シートなどに挟持されたレシートは,細長いスリット状の形式であり,読み込ませる際に,挟持された精算レシートレシートがシートに対して傾きが発生することがある。また,シートなどに挟持されたレシートは,レシート全体が一定の角度で傾くのではなく,途中から別の角度で傾く場合がある。また,印字された際に,プリンタの紙送りずれや,調整不備などで,レシートの途中の行で,印字された項目がその前の行の項目よりもスペースが空いたりすることや,傾きを有することがある。また,レシートの途中で紙が一部折れ曲がって固定されることもある。図15は,レシートのOCR処理において誤認識が生じる例を説明する図である。図15に示すように,例えばレシート22uが長いシートの場合など,レシート上部221uからレシート下部222uの途中で紙が一部折れ曲がって傾いてしまうことがある。このような状態で,シートに挟持されているレシート22uを読取装置で読み取り,OCR処理した場合,レシート項目中の項目名称と金額との対応が正しい対応関係の行で読み取られず,項目名称と金額とが異なる行の関係で読み取られることがある。その結果,レシート項目の金額が別なレシート項目の金額に誤認識されて,売上が集計されてしまうことがある。図16Aに,レシート項目の金額が誤認識されない場合の一例を示し,図16Bに,レシート項目の金額が誤認識される場合の一例を示す。図16Aでは,レシート22vにおける傾いたレシート下部222vが示されている。レシート22vの基準とする方向Lbからの傾きの角度α1図示の破線に対する角度は,レシート項目の金額が誤認識されない範囲であるとする。例えば,レシート下部項目222vにあるレシート項目名称総売上図に示すStr101に対応する金額項目Dat101は,654,735であり,OCR処理により総売上654,735と正しく認識される。一方,図16Bでは,精算レシート22wにおける傾いたレシート下部222wが示されている。レシート22wの基準とする方向Lcからの傾きの角度α2図示の破線に対する角度は,レシート項目の金額が誤認識される範囲であるとする。例えば,レシート下部222wにあるレシート項目名称総売上図に示すStr102に対応する金額項目Dat102は,正しくは654,735であるが,ここでは,OCR処理の結果により総売上623,603と誤認識されてしまっている。この誤認識の原因は,OCR処理結果の出力が各項目の文字列とそれらの座標情報だけであるので,その座標情報から,項目名称総売上Str102の下段の行に位置する項目名称純売上に対応する金額項目Dat102の623,603が,傾きの角度α2の大きさに起因して,レシート項目名称総売上と同じ行に位置する文字列として認識してしまうためである。基準とする方向に対して,レシート22全体が同じ傾きの角度である場合には,解決手段として,OCR処理においてレシート22全体の傾きの角度を検出して,レシート全体の行の傾きを補正することにより,正しい金額を抽出することはできる。しかし,図15に示すような場合,レシート上部221uでは傾きの角度が小さく,途中の部分からのレシート下部222uでは大きく傾いている場合,レシート22u全体の傾きの角度を検出し,補正しても,図15に示したように行の一部が異なる傾きである場合には適用できない。以上説明したように,このようなレシート22uを読取装置等で読み取り,レシートの数値データをOCR処理した場合,レシート項目名称と対応しない金額項目が処理されることがある。それにより,売上管理データに集計エラーが発生する。そのチェックのために,手作業で,精算レシートを照合する作業が必要となり,人的負担が軽減されない。本発明は,以上の点に鑑み,各店舗の情報機器などの現状のシステムを大幅に変えることなく,各テナントの店舗のレシートから売上管理データを正確かつ効率よく収集し,売上管理業務におけるスピード化,効率化を図ることを目的としている。本発明は,例えば店舗ごとに印刷されたレシートを,統一された売上管理項目に集計し直すために,レシート画像を読み取り得られた認識文字について,レシートを発行した店舗ごとに異なる定義データに登録されたレシート内の項目名称の文字列と,レシート内位置からの金額項目の相対位置データとから,必要な認識文字を抽出し,抽出された認識文字の位置データから,認識文字の傾きを検出し,認識文字の傾きが検出された場合に,該当する金額項目の相対位置データを検出された傾きに応じて補正し,補正された相対位置データを用いて,認識文字とその位置データから金額項目を表す認識文字を抽出し,項目名称に一致する認識文字と金額項目を表す認識文字とから,認識結果のデータを出力または記憶することを特徴とする。すなわち,レシート画像を読取機で読み取るときに,レシートが細長いスリット状の形式であるため,レシートに傾きが発生したり,レシートの途中から傾く場合があっても,正確にレシート内の項目と金額を読み取ることができるようにしたものであり,複数の異なる形式で印刷されたレシートから必要な項目のみを正確に抽出して,売上管理に必要なレシート内の項目と金額を,認識結果のデータとして出力または記憶することができるようにしている。詳しくは,本発明は以下の手段を備える。1本発明は,レシートデータ認識装置が,レシート画像を文字認識することにより得られた認識文字とその位置データとを記憶する画像データ記憶部と,レシートに印字される項目名称の文字列と,前記項目名称のレシート内位置からの,その項目名称に対応する金額項目の相対位置データとを,レシートにおける読取り対象となる各項目名称ごとに定義した定義データを記憶する定義データ記憶部と,前記画像データ記憶部に記憶された認識文字から前記定義データに定義された項目名称の文字列に一致する認識文字を抽出するレシートデータ抽出部と,抽出された認識文字の位置データから,認識文字の傾きを検出する傾き検出部と,認識文字の傾きが検出された場合に,前記定義データにおける該当する金額項目の相対位置データを,検出された傾きに応じて補正する傾き補正部と,補正された相対位置データを用いて,前記画像データ記憶部に記憶された認識文字とその位置データから前記金額項目を表す認識文字を抽出するレシートデータ特定部と,前記項目名称に一致する認識文字と前記金額項目を表す認識文字とから,認識結果のデータを生成し,認識結果のデータを出力または記憶するデータ生成部とを備えることを特徴とする。これによって,事前に入力された売上管理項目に変換すべきレシート項目について,項目名称とそれに対応する金額欄の相対位置とを定義データに登録し,レシート画像から読み取った認識文字の傾きを検出するため,認識文字の傾きがある場合であっても,認識文字の傾きを補正することにより,項目名称に対応する金額欄の相対位置を補正することができ,正確に売上管理項目に必要なレシート項目の金額を読み取ることができる。2また,本発明は,さらに前記発明において,前記レシートは,店舗ごとに異なるフォーマットで印刷されたレシートであり,前記定義データ記憶部には,店舗ごとに前記定義データが記憶され,レシートを発行した店舗ごとに異なる定義データを用いて,前記レシートデータ抽出部と,前記傾き検出部と,前記傾き補正部と,前記レシートデータ特定部と,前記データ生成部による処理を実行することを特徴とする。これによって,店舗ごとに印刷されたレシートの項目名称や印字位置が異なる場合であっても,店舗ごとに項目名称とそれに対応する金額欄の相対位置とを定義データに登録するため,店舗ごとのレシート項目名称およびそれに対応する金額欄の位置の相違に関係なく,レシート画像から必要なレシートデータを読み取ることができる。3また,本発明は,さらに前記発明において,前記定義データ記憶部に記憶される定義データは,前記レシートに印字される項目名称の文字列に対応して,複数の店舗の売上管理に共通に用いられる売上管理項目名称のデータを含み,前記データ生成部は,前記項目名称に一致する認識文字を,前記定義データに定義された対応する売上管理項目名称に変換した認識結果のデータを生成することを特徴とする。これによって,店舗ごとに印刷されたレシートの項目名称や印字位置が異なる場合であっても,事前に入力された売上管理項目に変換すべきレシート項目について,店舗ごとに項目名称とそれに対応する金額欄の相対位置とを定義データに登録するため,店舗ごとのレシート項目名称およびそれに対応する金額欄の位置の相違に関係なく,レシート画像から必要なレシートデータを読み取り,統一した売上管理データを生成することができる。本発明の効果は以下のとおりである。1レシートから売上管理項目に必要なレシート項目を予め定義データに登録することにより,それらを用いて自動的に必要なレシートデータを抽出することができるため,売上情報の入力作業の省力化およびスピード化が達成できる。2予め店舗ごとに登録,設定された定義データによって,どのような種類のレシートであるか,どのような項目名称を有し,金額に関する相対位置などの情報を画像の解析に利用することができ,文字認識などを含めて読み取りの精度を高めることができる。3レシートから読み取られた認識文字の各々について文字列の傾きを検出して,それらを用いて定義データの金額に関する相対位置を補正することができるため,レシートの一部の行に傾きがある場合に,レシートデータの抽出の誤認識を回避し,正しいレシートデータを抽出することができる。このため,文字認識などを含めて読み取りの精度を,さらに高めることができる。また,誤認識を低減できるため,チェック作業の省力化およびスピード化が達成できる。4また,レシートの項目が異なる各店舗のレシートデータから,売上管理部門が必要とする基本的なデータを統一的に収集し,売上管理データベースなどに保存することができるようになる。以下,図面を用いながら,本発明の実施の形態について詳細に説明する。なお,以下では,主に店舗売上を集計する装置の例について説明するが,本発明は売上集計に限られるわけではなく,仕入集計データやその他の伝票などに印字された実績データを集計するための装置などにも同様に適用することができる。図1は,本発明の概要を説明するための装置構成例を示す。図1において,1はCPUおよびハードディスクやメモリ等の記憶装置等から構成され,レシートから読み取ったデータをもとに売上の集計に関する処理を実行するレシートデータ認識装置,20は各店舗に対応付けられた識別コード21図2に示すがマーキングされ,各店舗のレシート22図2に示すを挟持するレシート挟持用シートである。レシート22は,店舗ごとに異なるフォーマットで印刷されたレシートである。なお,レシート22は,テナントの店舗ごとに,例えば一日の店舗の売上を各店舗に備えられたキャッシュレジスタなどで集計した結果が印刷されたものである。また,これらのレシート22は,売上集計に関する一例として示したものであり,売上集計以外にも,仕入集計,その他帳票処理に関するものであってもよい。最初に,レシート挟持用シート20について説明する。図2は,レシート挟持用シート20の一実施態様の構成を示す図である。特に,図2Aは,レシート挟持用シート20を透明フィルム231側から見た上面図であり,図2Bは,レシート挟持用シート20においてレシート22が透明シート23に挟持される前の状態を説明する斜視図である。図2Aに示すように,例えばレシート挟持用シート20は各店舗のレシート22を台紙付の透明シート23に挟持する。透明シート23の上右端隅には,当該店舗に対応する識別コード21QRコード登録商標などの2次元コード等が印刷,またはシールなどでマーキングされる。図2Bに示すように,透明シート23は,例えば透明フィルムシート231と台紙232とが一端233で接続粘着等されており,レシート22を挟持する前の状態では透明シート23が半開封状態にある。この半開封状態の透明シート23の台紙232上にレシート22が載せられ,例えば密着面が多少粘着性を有する透明フィルム231と台紙232とが貼り合わされることにより,レシート22が挟持される。なお,前述の識別コード21は,例えば台紙232の上右端隅に位置決めされた範囲で,印刷,シールなどによりマーキングされる。次に,レシートデータ認識装置1が処理する,店舗ごとのレシート22におけるレシート項目と,テナント管理部門が集計する売上管理項目との対応関係について説明する。図3は,売上管理項目とレシート項目との対応関係の一例を示す図である。図3の例では,テナント管理部門が店舗の売上管理に実際に必要な売上集計のデータは,No.1の現金売上からNo.11の客数までの11個の売上管理項目である。しかし,これらの売上管理項目が各店舗のレシート22のレシート項目として,そのまま1対1の関係で印字されていることはない。そこで,店舗ごとの対応関係情報10221022aを用いて,各店舗のレシート項目から11個の各売上管理項目を算出する処理を行う。図3に示すレシート22aの場合,14番目のレシート項目の現金売上金額が,No.1の売上管理項目の現金売上に相当することが,対応関係情報10221022aに示されている。その他の売上管理項目についても,それぞれ対応関係情報1022によって対応付けられる。なお,図3に示すような店舗ごとの売上管理項目とレシート項目との対応関係情報1022は,定義データ記憶部102図1に示すに予め登録され,格納される。図3では,レシート22aに示すレシート項目が,例えば14番目に現金売上金額等と示しているが,実際には,14番目n番目がレシート内の最上段の位置から固定した行の位置にあるわけではない。店舗の当日のレシート集計結果により,n番目以前のレシート項目で印字行数が増えたり,また印刷時に省かれるレシート項目などがある。このため,レシートデータ認識装置1では,レシート項目におけるレシート項目名称とそれに対応する金額項目の相対位置相対的な金額欄の位置とを含む定義データを予め登録し,対応関係情報1022と共に用いることで,上記課題の解決を図っている。レシートデータ認識装置1は,以上のような定義データおよび対応関係情報1022に従って,店舗コードごとに,売上日付,売上管理項目No.1現金売上,No.2掛売上,No.3クレジット売上,...などの売上に関する項目に対応する金額を集計し,売上管理データ記憶部103に格納する。そのために,レシートデータ認識装置1は,以下に説明する処理を実行する。レシートデータ認識装置1は,レシート挟持用シート20からレシート22を読み取る。レシートデータ認識装置1は,レシート22についての定義データを用いて,レシート項目中の項目名称および金額を含むレシートデータを抽出する。レシートデータ認識装置1は,売上管理項目とレシート項目との対応関係情報1022を用いて,抽出したレシートデータの項目を売上管理データに変換する。すなわち,売上管理データに必要となるレシート項目が抽出され,レシート項目の金額が売上管理データとして集計される。以上のように,レシートデータ認識装置1は,レシート22を発行した店舗ごとに定義データを用いて,レシートデータ認識処理を実行する。以下,上述したレシートデータ認識処理を実行するための,図1に示すレシートデータ認識装置1の構成について,具体的に説明する。画像データ記憶部101は,読取機10により読み取られたレシート挟持用シート20の画像データを記憶する。画像データは,レシート22の画像をOCR処理することにより得られた認識文字およびその座標位置データを含むデータである。さらに,画像データは,識別コード21を含んでもよい。また,画像データ記憶部101は,画像データに関連付けて,レシート挟持用シート20の画像ファイル,例えばビットマップ形式ファイル等を格納してもよい。定義データ記憶部102は,レシートデータ認識装置1に用いられる定義データを格納する記憶手段である。定義データは,店舗ごとにレシート22のレシート項目および金額の位置などの情報を含む。具体的には,定義データは,レシート22に印字されるレシート項目名称の文字列に対応して,複数の店舗の売上管理に共通に用いられる売上管理項目名称が登録される。例えば,定義データは,レシート22に印字されるレシート項目名称の文字列と,レシート項目名称のレシート内位置からの,そのレシート項目名称に対応する金額項目の相対位置データとを含み,レシート22における読取り対象となる各レシート項目名称ごとに定義される。このような定義データは,集計する店舗のレシート22ごとに,予め作成され,定義データ記憶部102に格納される。なお,定義データの詳細は,図8を用いて後述する。売上管理データ記憶部103は,レシートデータ認識装置1が生成する売上管理データを保存する記憶手段である。売上管理データは,店舗ごとに異なるレシート項目を統一した売上管理項目に対応させて,各店舗のレシート項目の金額を収集した結果のデータである。なお,売上管理データの詳細は,図14を用いて後述する。読取機10は,画像のスキャンニングに光学方式などを用いて,レシート挟持用シート20の画像を読み取る装置である。読取機10は,レシート挟持用シート20が入力されると,レシート挟持用シート20を画像データに変換する。画像データは,例えば画像ファイル,OCRによる認識文字データを含む。読取機10は,変換した画像データを画像データ記憶部101に保存する。例えば,読取機10は,スキャナー,OCR処理装置などの周知の技術によるものである。画像データ読込部11は,画像データ記憶部101に保存された画像データを読み出す。なお,画像データ読込部11が,レシートデータ認識装置1の外部の入力装置から画像データを入力してもよい。外部の入力装置は,読取装置,ネットワーク装置などである。この場合には,例えばネットワーク等を介して,レシートデータ認識装置1の設置場所以外に設置されている読取装置で入力されたレシート挟持用シート20の画像データを,入力装置図示しないが入力し,画像データ記憶部101に保存する。店舗特定部12は,レシート挟持用シート20の識別コード21を識別して,店舗コードまたは店舗を特定する。なお,図1の構成例では,店舗コードのための識別コード21がレシート挟持用シート20上に認識マーク化されているが,店舗コードの読み取り方法は本実施例に限定されない。例えば,レシート22の読み取りの際に,ユーザが,店舗コードをテンキー,カードリーダなどの外部の入力装置を介して入力してもよい。その場合には,外部の入力装置から入力された店舗コードを店舗特定部12が受ける。また,読取機10がレシート挟持用シート20の識別コード21を読み取り,店舗特定部12がその読み取られた識別コード21から店舗コードを特定してもよい。定義データ読込部13は,店舗特定部12により特定された店舗コードを受けると,定義データ記憶部102から店舗コードに対応付けられた定義データを検索する。定義データ読込部13は,定義データ記憶部102から検索した定義データを読み出し,読み出した定義データをレシートデータ処理部14に送る。レシートデータ処理部14は,店舗コードごとの定義データを用いて,画像データからレシート項目名称およびその金額を含むレシートデータを抽出し,抽出したレシートデータから売上管理項目に必要となるレシートデータを特定する。そのために,レシートデータ処理部14は,図1に示すように,以下の機能部を含む。レシートデータ抽出部141は,画像データ記憶部101に記憶された画像データの認識文字データから,定義データに定義されたレシート項目名称の文字列に一致する認識文字を検索し,その認識文字データを抽出する。認識文字データは,予めレシートデータ認識装置1が備える辞書図示しないによる候補文字と,OCR処理による認識文字との相違度を示す値と,文字の範囲を示す相対的な座標位置相対位置を含む。なお,認識文字データについては,図6を用いて後述する。傾き検出部142は,抽出された認識文字データの認識文字の相対位置を用いて,認識文字の傾きを検出する。例えば,認識文字の傾きを検出するために,傾き検出部142は,レシート項目名称の文字列に一致する,1または複数の認識文字について,予め基準とする方向に対しての相対位置のずれを求める。傾き検出部142は,予め基準とする方向に対しての相対位置のずれの方向とのなす角を,傾きの角度として求める。なお,傾きの検出方法については,図11を用いて後述する。傾き補正部143は,認識文字の傾きが検出された場合に,定義データを参照して,レシート項目名称の文字列に一致する認識文字に対応する金額項目の相対位置を,検出された傾きの角度に応じて補正する。一方,傾き補正部143は,認識文字の傾きが検出されない場合に,レシート項目名称の文字列に一致する認識文字に対応する金額項目の相対位置を補正しない。レシートデータ特定部144は,傾き補正部143からレシート項目名称に対応する金額項目の相対位置を受けると,画像データ記憶部101に記憶された認識文字の中から,その金額項目の相対位置に対応する認識文字を抽出する。これにより,レシートデータ特定部144は,レシート項名称に対応する金額項目を正確に特定することができる。売上管理データ生成部15は,レシートデータ処理部14により特定されたレシートデータを用いて,売上管理データを生成する。具体的には,売上管理データ生成部15は,レシート項目名称に一致する認識文字と,定義データに定義された対応する売上管理項目名称とに対応付けられる対応関係情報1022とを用いて,認識結果における金額項目の数値データを演算変換し,売上管理データを生成する。売上管理データは,店舗コード,売上管理項目および売上管理項目に対応する金額を含む。例えば,売上管理データ生成部15は,売上管理項目とレシート項目との対応関係情報1022に従って,店舗コードごとに,売上日付,売上管理項目No.1現金売上,No.2掛売上,No.3クレジット売上,...などの売上に関する項目に対応する金額に変換し,これらを売上管理データ記憶部103に記憶する。以下に,図4,図9,図10および図13の処理フローチャートに従って,その他の図も用いながら,図1に示すレシートデータ認識装置1の詳細な機能について説明する。図4は,本発明の実施形態に係るレシートデータ認識装置1の処理フローチャートである。図4に従って,レシートデータ認識装置1が実行する処理について具体的に説明する。レシートデータ認識装置1が起動されて,本処理が開始される。読取機10にレシート挟持用シート20が入力されると,読取機10がレシート挟持用シート20を読み取り,読み取ったレシート挟持用シート20の画像データを,画像データ記憶部101に保存するステップS11。具体的に説明するために,図5~図7を用いて,レシートの画像データからOCR処理される文字列を説明する。図5は,読取機10により読み取られたレシート22bの画像の例を示している。読取機10により生成された画像データは,OCR処理による認識文字データを含む。読取機10は,レシート2222bの画像をOCR処理すると,認識文字データを生成し,画像データ読込部11に記憶する。認識文字データは,認識文字からなる文字列の文字数および文字列の座標,文字列を構成する文字の座標および辞書からの候補文字とされる認識文字リストを含む。OCR処理による認識文字の対象は,レシート22bに印刷されている文字列1,文字列2,...,文字列14,...等である。例えば,文字列14は,総売上である。図6は,OCR処理による認識文字データの一例を示す図である。特に,図6には,図5に示す文字列14総売上の認識文字データ110について示す。図6において,認識文字データ110は,文字列14総売上の文字数3,座標x,y-x’,y’を含む。また,認識文字データ110は,文字列14を構成する文字141総,142売および143上の3文字について,各々の座標を含む。例えば,文字141総の座標は,x1,y1-x’1,y’1であり,その他の文字についても,図示のとおりである。なお,x,y-x’,y’等は,図示の長方形枠の座標を表すものであり,紙面上から見てx,yが左上,x’,y’が右下に対応する座標である。例えば,左上が座標原点へ向かう方向であり,右下が原点座標から離れる方向である。座標原点は,例えばレシート挟持用シート20における画像の特定位置とされる。さらに,認識文字データ110は,文字141総,142売および143上の3文字の認識文字リストを含む。認識文字リストは,辞書からの候補文字とされる認識順位に応じて,その候補とされる認識文字と,その認識文字と読み取られた文字の相違度または一致度とが格納される。例えば,文字141総の認識文字リストでは,順位1が,認識文字総,相違度1311であり,順位2が,脆,相違度1581であり,その他の順位についても同様に示される。相違度は,例えば0に近い数値ほど,予め備えられた辞書図示しないの候補文字と一致する度合いが大きく,その値が大きいほど,辞書の候補文字と相違する度合いが大きいことを示す。文字142売および143上の認識文字リストについても,図6に示すとおりである。図7は,画像データ記憶部101に保存される認識文字テーブル1011の一例を示す図である。認識文字テーブル1011は,読み込まれた画像データごとに,認識文字データを格納するテーブルである。さらに,認識文字テーブル1011は,レシート22の認識された文字列ごとに,認識文字データを含む。認識文字データは,前述したとおりである。図7に示す認識文字テーブル1011は,図5で示す文字列1~14,...等の認識文字データを格納する。例えば,前述した文字列14総売上,文字列14を構成する文字141総,142売および143上が,認識文字テーブル1011に格納されている。その他の文字列についても同様に格納されている。なお,図7に示す認識文字テーブル1011における項目,設定等の定義は,図6の認識文字データのそれらと同様であるため,ここでは説明を省く。次に,画像データ読込部11が,画像データ記憶部101から画像データを読み込むと,店舗特定部12は,画像データからレシート挟持用シート20の識別コード21を判別し,判別した識別コード21から店舗コードを読み取るステップS12。具体的には,店舗特定部12は,例えばQRコード等を復号し,復号したデータから店舗コード,もしくは,店舗コードに対応付けられた識別番号などを特定する。なお,読取機10によりQRコードを復号し,店舗特定部12が復号したデータから店舗コードを特定してもよく,その特定方法は限定されない。次に,定義データ読込部13は,店舗特定部12により特定された店舗コードを受けると,店舗コードに対応付けられた定義データを,定義データ記憶部102から取得するステップS13。具体的には,図8に,定義データテーブル1021を説明する図を示す。以下,図8を用いて,定義データ読込部13が取得する定義データの一例を説明する。図8に示すレシート22tは,ある店舗の定義データの作成のために用意されるレシート22基準レシートとするの画像の一部である。また,図8において,定義データテーブル1021は,予め作成された定義データを格納し,定義データ記憶部102に記憶されるデータである。なお,レシート22tには,行番号と,レシート項目名称と,金額とが表示されている。このレシート22tから,14行目BX14の現金売上金額と,18行目BX18のその他金券金額とが抽出対象のレシート項目であるとする。定義データテーブル1021では,抽出対象のレシート項目が,定義データとして登録される。定義データを予め作成するために,店舗ごとの基準とされる基準レシートレシート22tが用いられ,基準レシートをもとにして店舗ごとのレシート22に対する定義データが作成される。定義データテーブル1021には,対象の店舗コードと,抽出するレシート項目ごとに,読取項目,項目属性,読取文字および金額欄の読取位置とが格納される。店舗コードは,対象となるレシートの店舗に対応する店舗ごとの識別番号である。読取項目は,売上管理項目の名称である。項目属性は,読み取るべきレシート項目名称の属性である。その属性は,例えば1,2または3のいずれかの値である。1は売上管理項目に対応するレシート項目名称が基準レシートに重複していない通常の項目場合,2は重複している同一名称がありかつアンカー文字を設定する場合,3は重複している同一名称がありかつ複数キーワードを設定する場合の属性とされる。読取文字は,売上管理項目に対応する基準レシート上に印字されるレシート項目名称である。金額欄の読取位置は,読取文字からのレシート項目の金額数値文字,通貨記号などを含むの相対位置である。図8に示す基準レシートとされるレシート22tにおいて,画像位置BX14には,現金売上金額および139,639とされる文字列Str1およびDat1がある。また,文字列Str1と文字列Dat1との相対距離は,Dis1とする。画像位置BX18には,その他金券金額および8,000とされる文字列Str2およびDat2がある。また,文字列Str2と文字Dat2との相対距離は,Dis2とする。図8に示す定義データテーブル1021は,図8に示すレシート22tから作成される定義データを格納する。図8に示すように,定義データテーブル1021には,店舗コード:100001が,基準レシートの対象となる店舗コードとして設定される。読取項目1:現金売上は,売上管理項目の中の項目名称現金売上が設定された結果である。項目属性1:1は,前述した通常の項目が設定された結果である。読取文字1:現金売上金額は,レシート22tの画像位置BX14における文字列Str1が設定された結果である。金額欄の読取位置1:x11,y11-x’11,y’11は,文字列Str1と文字列Dat1との相対距離Dis1として,文字列Str1の位置から文字列Dat1の位置の相対位置が設定された結果である。なお,相対位置として,図示された文字列Dat1の長方形枠の左上の座標x11,y11,同じく右下の座標x’11,y’11が格納されていることを示す。なお,これらの座標は,相対的な座標である。その他の定義データについても同様に格納されている。なお,図8に示す定義データテーブル1021におけるnは,複数の定義データの設定項目を区別するための識別子であり,nは1,2等の整数とする。以上説明した定義データテーブル1021は,レシートデータ抽出部141がレシートデータを抽出する際に,定義データ読込部13を介して参照される。レシートデータ抽出部141は,定義データテーブル1021に格納された定義データに基づき,読み込んだ画像データレシート22の認識文字について,レシート項目を抽出する。すなわち,レシートデータ抽出部141は,基準レシートの定義データにより,抽出すべきレシート項目を判断することができる。なお,実際には,精算レシートレシート22は,同じPOSシステムで印刷した場合であっても,その時々の出力により,途中のレシート項目の一部を飛ばして抜かす印刷する場合がある。従って,定義データテーブル1021における金額欄の読取位置を固定座標で作成すると,このような一部のレシート項目を飛ばして印刷する場合に対応できない。そのため,図8に示す定義データテーブル1021のように,レシート項目名称の文字列位置からの相対位置の座標位置を定義データとして用いることにより,このような一部のレシート項目を飛ばして印刷する場合に対応することができる。また,図8においては,レシート項目名称とその対応する金額が,同じ行に印刷されている例で説明しているが,レシート項目名称とその対応する金額が,異なる行であっても良い。その場合には,定義データにその異なる行の金額の相対位置などが登録される。次に,レシートデータ処理部14は,定義データ読込部13から店舗コードに対応付けられた定義データを受けると,レシートデータ処理を実行するステップS14。このレシートデータ処理の詳細なフローについては,図9を用いて後述する。レシートデータ処理部14によりレシートデータ処理された後に,売上管理データ生成部15は,処理されたレシートデータから売上管理データを生成する。売上管理データ生成部15は,生成した売上管理データを売上管理データ記憶部103に保存するステップS15。売上管理データを保存後,レシートデータ認識装置1は,本処理を終了する。なお,ステップS15の詳細な処理フローについては,図13を用いて後述する。以上説明した処理フローが,レシートデータ認識装置1が実行する処理全体のフローである。図9は,図4に示すステップS14におけるレシートデータ処理の詳細な処理フローチャートである。図9に従って,レシートデータ処理部14が実行するレシートデータ処理について具体的に説明する。レシートデータ抽出部141は,画像データの中からレシート22の対象とする行の項目名称のみを抽出するステップS21。具体的には,レシートデータ抽出部141は,画像データ読込部11から画像データ認識文字データを受けると,レシート22の1行目から項目名称のみを抽出する。例えば,図5の画像データである場合,レシート22bの文字列12010年10月10日日22:30No:0002が抽出され。文字列2,...,文字列7売計,文字列8297点,文字列9226,701,...等が抽出され,空行などは抽出されない。なお,このステップS21では,項目名称として,レシート項目名称,金額,記号例えばなども含めて抽出される。次に,レシートデータ抽出部141は,定義データテーブル1021に格納された定義データを参照するステップS22。具体的には,定義データ読込部13が,定義データ記憶部102に格納された定義データテーブル1021から店舗コードに対応する定義データを読み出す。定義データ読込部13は,読み出した定義データをレシートデータ抽出部141に送る。レシートデータ抽出部141は,ステップS23以降の処理において,定義データ読込部13から送られた定義データを用いる。なお,レシートデータ抽出部141は,定義データ読込部13から送られた定義データを,ワークメモリ図示しないに保存し,ワークメモリ上で定義データを参照する。次に,レシートデータ抽出部141は,抽出した項目名称が定義データに設定されているかをチェックするステップS23。具体的には,レシートデータ抽出部141は,図5に示す文字列14総売上について,定義データテーブル1021の読取文字nnは整数の中に一致するものがあるかをチェックする。次に,定義データに設定されている場合ステップS23:Yes,傾き検出部142が,定義データの読取文字と一致する認識文字について傾きを算出するステップS24。一方,定義データに設定されていない場合ステップS23:No,ステップS28に処理を移す。具体的には,傾き検出部142が,定義データの読取文字と一致する認識文字のy座標から傾きを検出する。図11は,傾き検出処理および傾き補正処理を説明する図である。特に,図11Aは,レシート22dにおけるレシート項目の並びの例を示す図であり,図11Bは,認識文字の傾きの検出および補正の動作を説明する図である。図11Aおよび図11Bに示すように,文字列Str20総売上は,認識文字Str21総,Str22売およびStr23上からなる文字列であり,これらの文字は,画像データ上において基準となる方向に対して,傾きの角度αを成すものとする。画像データ読込部11から送られた認識文字について,レシートデータ抽出部141は,定義データテーブル1021の読取文字nを参照して,一致するものがあるかをチェックする。例えば,認識文字である文字列Str20総売上について,定義データテーブル1021の読取文字n総売上にあるとする。レシートデータ抽出部141は,画像データ読込部11から送られた文字列Str20総売上について,ワークメモリ上の認識文字テーブル1011を参照する。レシートデータ抽出部141は,認識文字テーブル1011上で検索ヒットした認識文字Str21総,Str22売およびStr23上の画像データ認識文字データを取得する。すなわち,レシートデータ抽出部141は,レシート項目名称として,文字列Str20総売上を抽出する。傾き検出部142は,レシートデータ抽出部141により取得された認識文字データを用いて,以下のように,認識文字の傾きを求める。例えば,レシートデータ抽出部141により取得された画像データは,図6の例に示すようなStr21総の座標位置x1,y1-x’1,y’1,Str22売の座標位置x2,y2-x’2,y’2,Str23上の座標位置x3,y3-x’3,y’3等である。なお,座標位置x1,y1-x’1,y’1等は,長方形枠の左上および右下の座標を示すものとする。また,図11Bに示す座標図示では黒丸Pt1=x’1,y’1,座標Pt2=x’2,y’2,座標Pt3=x’3,y’3として説明する。傾き検出部142は,図11Bに示すx座標間距離k1およびy座標間距離k2について,座標Pt1~Pt3を用いることにより,以下に示すように,傾きの角度αを算出する。k1,k2,tanαを求めると,k1x’3-x’1k2=y’3-y’1tanα=k2/k1α=arctank2/k1となる。次に,傾き補正部143は,算出された傾きから認識文字の傾きを補正する必要があるかを判断するステップS25。傾きを補正する必要がない場合ステップS25:No,ステップS27に処理が進む。一方,傾きを補正する必要がある場合ステップS25:Yes,傾き補正部143は,傾き補正処理を実行するステップS26。具体的に説明すると,傾き補正部143は,算出された傾きの角度αを予め定めた許容角度と比較して,許容角度より小さい場合に,図11Bに示す金額項目Dat30に対して,Y座標を補正する必要がないと判断する。一方,算出された傾きの角度αが許容角度以上の場合に,傾き補正部143は,図11Bに示す金額項目Dat30に対して,Y座標を補正する必要があると判断する。なお,図11Bの例では,算出された傾きの角度αが許容角度以上の場合である。図12は,特定されたレシートデータの一例を示す図である。特に,図12では,レシート22内の異なる行の文字列を例として,比較して説明する。1傾き検出を行わなかった場合レシートデータ抽出部141は,OCR処理の結果および定義データテーブル1021を用いて,レシート項目名称の文字列Str10現金在高に対応する金額項目が,Dat10の335,275であると認識する。また,レシート項目名称の文字列Str20総売上に対応する金額項目が,Dat30の623,603であると認識する。これは正しい結果ではない。これを傾きの検出を行うことにより,次のように正しい金額項目を抽出し,解決する。2傾き検出を行った場合図12に示す文字列Str10現金在高について,傾き検出部142が傾きの角度α1を検出する。傾き補正部143は,傾きの角度α1を予め定めた許容角度と比較して,許容角度より小さいと判断し,補正処理を行わない。図12に示す文字列Str20総売上について,傾き検出部142が傾きの角度α2を検出する。傾き補正部143は,傾きの角度α2を予め定めた許容角度と比較して,許容角度以上と判断し,補正処理を行う。図10は,ステップS26における傾き補正処理の詳細な処理フローチャートである。以下,図10に従って,レシートデータ処理部14が実行する傾き補正処理について具体的に説明する。レシートデータ抽出部141は,定義データの中からレシート項目名称に対応する金額項目の位置情報金額欄の位置を取得するステップS261。具体的に説明するために,図11Aに,レシートデータの抽出対象となるレシート22dを示す。図11Aにおいて,レシート22dには,レシート項目名称として認識される文字列Str10~30と,その各々に対応する金額項目金額の文字列Dat10~30とがある。例えば,レシート項目名称として認識される文字列Str10現金在高,Str20総売上およびStr30純売上とし,その各々に対応する金額項目Dat10335,275,Dat20654,735およびDat30623,603とする。レシートデータ抽出部141は,レシート22dに対応する店舗コードの定義データテーブル1021例えば図8を用いて,読取文字10からレシート項目名称の文字列Str10を取得し,金額欄の読取位置10から対応する金額項目Dat10の位置情報金額欄の位置を取得する。また,同様に,文字列Str20およびStr30についても,同様に金額項目Dat20およびDat30の位置情報が取得される。次に,傾き補正部143は,検出された傾きの角度から金額欄の位置のY座標の補正量を算出するステップS262。続いて,傾き補正部143は,算出された補正量から金額欄の位置のY座標を補正するステップS263。具体的には,傾き補正部143は,金額項目Dat30に対して,以下に説明するように,金額欄の位置のY座標を補正する。補正前の金額欄の位置は,図11Bの実線長方形枠に示すように,金額欄の読取位置20から取得した位置情報x21,y21-x’21,y’21にある。傾き補正部143は,検出された傾きの角度αを用いて,取得した位置情報におけるy座標の補正量Δyを算出する。ここで,Δy=x21tanαとされる。なお,上記に示す傾き角度および補正量の算出法は一例であり,その他の算出方法であっても良い。例えば,Δy={x21x’21/2}tanαというように,金額欄の読取位置20における左端と右端のx座標の平均値を用いて計算してもよい。これにより,図11Bの破線長方形枠に示すように,傾き補正部143は,補正後の金額欄の位置をx21,y21Δy-x’21,y’21Δyと補正する。図11Bの破線長方形枠内に金額項目Dat20654,735があることより,傾き補正部143は,文字列Str20に対応する金額項目はDat20であると判断する。以上説明した補正処理後,ステップS26S261~S263を終了する。ここで,図9の処理フローチャートのステップS27に戻り,図9に従って,説明する。次に,レシートデータ特定部144は,定義データに設定されている金額の位置情報または補正された金額の位置情報を用いて,金額項目を取得するステップS27。具体的には,レシートデータ特定部144は,補正された位置情報の座標または補正されずにそのままとされた金額の位置情報の座標に近い,定義データの読取項目nの座標の文字列を取得する。例えば,図12に示す文字列Str10現金在高の金額項目については,傾き補正部143は,傾きの角度α1が許容角度より小さいため,傾き補正処理を実行しない。これにより,レシートデータ特定部144は,文字列Str10現金在高に対応する金額項目Dat10335,275と認識する。すなわち,レシート項目名称現金在高および金額項目335,275とされるレシートデータが特定される。一方,図12において,文字列Str20総売上の金額項目については,傾き検出部142により検出した傾きの角度α2が許容角度以上のため,傾き補正部143は,傾き補正処理を実行する。傾き補正処理を実行後,傾き補正部143は,文字列Str20総売上の金額項目について,方向L21の距離Dis21にある金額項目Dat20654,735とする。これにより,レシートデータ特定部144は,文字列Str20総売上に対応する金額項目Dat20654,735と認識する。すなわち,レシート項目名称総売上および金額項目654,735とされるレシートデータが特定される。次に,レシート項目の最終行の処理が終了したかを判断するステップS28。レシート項目の最終行の処理が終了していない場合ステップS28:No,ステップS21に処理を戻し,次のレシート項目の行からのステップS21~S27の処理を繰り返す。一方,レシート項目の最終行の処理が終了した場合ステップS28:Yes,本処理を終了する。以上の補正処理により,図11Aに示すように,レシートデータ特定部144は,例えばレシート項目名称Str20総売上に対応する金額項目Dat20654,735を特定することができる。以上のように,レシートデータ処理部14は,定義データを用いて,レシート画像から読み取ったレシート項目の認識文字に対して,各々について傾きを検出し,検出した傾きに応じて補正処理を実行し,必要なレシートデータを抽出することができる。また,レシートデータ処理部14は,売上管理データに必要なレシートデータを抽出することができ,抽出したレシートデータのレシート項目名称および金額を,予め定めた対応関係で売上管理項目の売上管理データに変換集計することができる。以上説明したレシートデータ認識処理によって,レシート行の各々の認識文字に対して,傾きの検出とその傾きの補正とを行うことができるため,レシート用紙が途中で折れ曲がっている場合や,印刷ずれ等の影響を排除して,レシート項目名称および対応する金額項目を正確に抽出することができる。これにより,売上管理データを正確に集計することができる。図13は,ステップS15における売上管理データ生成処理の詳細な処理フローチャートを示す。図13に従って,売上管理データ生成部15が実行する売上管理データ生成処理について具体的に説明する。売上管理データ生成部15は,レシートデータ特定部144から売上集計に必要となるレシートデータを取得するステップS31。具体的には,売上管理データ生成部15は,店舗コードと,認識文字データから特定したレシート項目名称およびその金額を含むデータと,図3に示す対応関係情報1022とを含むレシートデータを,レシートデータ特定部144から取得する。次に,売上管理データ生成部15は,対応関係情報1022を用いて,売上管理項目の売上管理データとして集計するステップS32。具体的には,売上管理データ生成部15は,対応関係情報1022から売上管理項目とレシート項目の対応関係に基づいて,レシート項目名称に対応する金額を,売上管理項目の売上管理データとして集計する。以上により,レシート項目の金額数値データが,売上管理項目の数値データに変換される。次に,売上管理データ生成部15は,保存対象となる店舗コードの売上管理データを,売上管理データ記憶部103の売上管理DB1031に保存するステップS33。例えば,図14に,売上管理DBデータベース1031の例を示す。売上管理DB1031には,図14に示すように,店舗コードごとに,売上日付,売上管理項目No.1現金売上,No.2掛売上,No.3クレジット売上,...などの売上に関する精算項目に対応する数値金額が格納される。以上により,売上管理DB1031には,店舗ごとにまったく異なるフォーマットシート形式であったレシート22のレシート項目が一元化され,各テナントの店舗により出力されたレシートで統一の取れないレシート項目,名称,数値などが,統一性のとれた売上管理項目による売上管理データとして,手入力による作業なしに自動的に収集できるようになる。これにより,テナント管理部門の業務担当者は,自動的に店舗ごとの売上を集計することができるため,店舗の売上管理業務を効率よく,スピーディに行うことができる。また,各店舗に備えられたキャッシュレジスタなどのレシート出力装置を変更する必要がないため,テナント側にとっては余計な出費を抑えることができる。以上のレシートデータ認識装置が行う処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。"