説明

レシート定義データ作成装置およびそのプログラム

【課題】各テナントの売上を管理するための売上管理データを,種々のレシートから文字認識により収集するときに必要となる定義データを効率よく作成できるようにする。
【解決手段】定義入力画面表示部12は,売上管理項目の情報の表示とレシートのイメージデータの表示とを含む定義入力画面を表示する。入力データ処理部13は,定義入力画面から,レシートの読取項目と,イメージデータにおける読取項目に対応する金額欄の位置情報と,読取項目と売上管理項目との対応情報とを入力する。定義データ作成部14は,入力データ処理部13が入力した情報からレシート定義データを作成し,定義データ記憶部104に格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,レシート定義データ作成装置およびそのプログラムに関し,特に,例えばショッピングモールなどの複数の店舗の売上を管理するために,文字認識により読み取ったレシートデータから必要なデータを正確に抽出するときに必要となる定義データの作成を支援する技術に関するものである。
【背景技術】
【0002】
ショッピングセンター,ショッピングモール等に出店するテナント(店舗を運営する会社など)の店舗を管理するテナント管理部門では,各店舗の一日の売上を収集し,現金売上,クーポン売上,…といった売上内訳(売上管理項目)を作成している。この売上内訳作成の際には,各店舗から提供される精算レシートが集められて,売上管理項目の数値を算出することが行われる。しかし,各店舗から提供される精算レシートの形式は,店舗ごとに導入されているPOSシステムに依存するため,さまざまな形式で作成されているのが現状である。そのため,テナント管理部門が処理する精算レシートは,項目の種類,項目名,印字サイズ,印字字体などにおいて多種多様である。
【0003】
例えば,精算レシートの項目の名称について,売上合計,売上計,合計売上,総売上,…等は,同等の内容を示すものであっても,POSシステムによって異なる名称が印字されている。また,出店するテナントの店舗の入れ替えなどが頻繁に行われるため,新たな精算レシートの形式にも対応しなければならない。そのため,テナント管理部門では,精算レシートを統一された売上管理データとして集計する売上集計作業に莫大な労力を要し,そのための人的および時間的負担に多大なコストを要しているのが現状である。
【0004】
なお,特許文献1には,レシート処理装置が開示されている。このレシート処理装置では,レシートの画像から文字を認識してテキストデータを生成し,テキストデータから所定の文字列を選択し,選択された所定の文字列が含まれる行位置を検出する。そして,検出された行位置に基づいて定まるテキストデータ上の所定の行範囲から行を単位とするラインデータを順に選択し,ラインデータから品目に関わるデータを抽出する。
【0005】
また,特許文献2には,罫線がない不定型帳票を含む任意の帳票に対して,人手を介入することなく,自動的に帳票定義を作成する技術が開示されている。この技術では,レシートを画像として読み込み,印紙されている項目を表領域として切り出し,表領域ごとにx座標,y座標を算出し,x座標の度数分布表を作成する。それから位置揃えを判定して,商品欄,個数欄,価格欄を決定することにより,帳票定義を作成する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−164218号公報
【特許文献2】特開2006−178802号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述したような,ショッピングセンター等の各店舗から提供される精算レシート(以下,レシートという)を集計するために,ショッピングセンター等を運営する会社(組織)のテナント管理部門では,従来,事務員が目視でレシートを読み取り,読み取ったデータを手作業でデータ処理装置に入力していた。この売上集計作業の作業量は,店舗数が100店舗以上に及ぶこともあり,しかも毎日行わなければならない作業であるため,非常に負担が大きいものであった。
【0008】
この負担を軽減するための一案としては,各店舗の売上データ(レシートデータ)を,各店舗の端末からネットワークを介して自動収集することが考えられる。しかし,一般に各店舗は企業体が異なるため,個々にネットワーク開設の許諾を得る必要があり,さらに導入されているシステムによって接続するネットワークの種類やアプリケーションの追加・修正の難易度が異なるなど,解決が困難な問題が存在する。
【0009】
既存のシステムの変更,特に各店舗における端末などの情報機器の変更をできるだけ行わないで,前述した作業負担を軽減する他の案としては,レシートデータを人間が読み取るのではなく,文字画像の認識によって読み取る方法が考えられる。すなわち,各店舗のレシートを,例えばOCR(Optical Character Recognition )機能を有する読取装置,スキャナー等で読み取り,読み取ったレシート項目とその数値データについて売上管理項目に必要なものを抽出し,売上管理データに入力し直す方法である。
【0010】
このように,レシートの文字画像を認識して,売上管理データを自動で作成する場合,売上管理データとして必要な売上管理項目とレシートの読取項目とがどのように対応しているかの対応情報,また,レシートの読取項目の文字列(項目名称)およびその読取項目に対応する金額欄の画像上の位置情報を,レシート定義データとして事前に用意する必要がある。
【0011】
このレシート定義データを一度作成して,レシート認識装置に登録すれば,OCR機能を有する読取装置等によりレシート画像を読み取り,その読み取ったレシート画像から売上管理データの作成に必要なレシート項目を抽出し,毎日の売上管理データをある程度自動で収集することができると考えられる。
【0012】
問題は,このレシート定義データをどのような方法により作成するかである。まず,人手により,レシート定義データを一つずつ入力することが考えられるが,大規模ショッピングモール等では,店舗数が100店舗以上にもなることがざらであり,レシート定義データを人手により入力するのは大変な作業量となる。さらに,ショッピングモール等では,出店する店舗の入れ替えが頻繁にあり,新しい店舗が加入する都度,新しいレシート定義データを人手により入力するのは,煩雑な作業となる。
【0013】
そこで,レシート定義データをできるだけ簡単に作成することができるコンピュータによる支援技術が望まれるが,特許文献2のレシート画像から自動的に帳票定義を作成する技術は,本発明が対象とするようなケースでは不十分であり,次の理由により用いることができない。
【0014】
(1)特許文献2では,テナント部門が必要とする各店舗の売上の管理に共通する特定の売上管理項目群からなる売上管理データがまったく考慮されていない。
【0015】
(2)また,特許文献2の技術では,個々のレシートごとの項目定義情報の作成は可能であるが,レシートに印字されている全ての項目を対象としており,必要な項目だけを選択することはできない。
【0016】
(3)また,特にテナント管理部門が必要とする売上管理項目は,各店舗のレシートに印字されたレシート項目の項目名称と一致するとは限らず,また,必ずしも売上管理項目とレシート項目とが,一対一に対応しているとは限らない。
【0017】
図27は,売上管理項目とレシート項目との対応関係の例を示す図である。
【0018】
テナント管理部門が必要とする売上管理項目は,例えば図27(A)に示すように,「現金売上」,「掛売上」,「クレジット売上」,……,「純売上」というような,各店舗に共通の統一された項目である。図27(B)に示すレシートでは,第14行目の「現金売上金額」が,第1番目の売上管理項目「現金売上」に対応しており,第2番目の売上管理項目「掛売上」に対応するレシート項目はなく,第18行目の「その他金券金額」が,第3番目の売上管理項目「クレジット売上」に対応している。
【0019】
一方,図示省略するが,他の店舗のレシートでは,例えばレシート項目「日報上現金有高」とレシート項目「感謝カード」の金額を加算したものが,第1番目の売上管理項目「現金売上」に対応しており,レシート項目「日報上掛売上」が,第2番目の売上管理項目「掛売上」に対応しており,…というように,各売上管理項目とレシート項目との対応関係が店舗ごとに全く異なる。
【0020】
本発明は,このような背景において,売上管理データをレシートの認識により収集するためのレシート定義データを簡易に作成するための手段を提供することを目的とする。すなわち,本発明は,ショッピングモール等の複数の店舗から出力される形式の異なるレシートを読み込み,必要な売上管理項目だけを正確かつ効率的に取得するためのレシート定義データを簡易に効率よく作成する手段を提供することを目的としている。
【課題を解決するための手段】
【0021】
上記課題を解決するための本発明の概要は,以下のとおりである。なお,以下ではレシートから収集する各店舗に共通な特定の基本管理項目として,売上管理項目を用いる場合を例に説明する。
(1)売上管理データを収集するためのレシート定義データの作成対象となる店舗が発行したレシートを画像として読み込み,画面上に表示し,画面操作によりレシート定義データを作成する。
(2)このとき,あらかじめ定められた必要な売上管理項目(精算項目ともいう)を画面に表示し,その項目ごとにレシートのイメージデータ上で対応する読取項目(レシート項目ともいう)を,マウス等の入力装置によるポイント操作またはドラッグ操作等により選択させ,位置情報を取得してレシート定義データを作成する。なお,マウス等でドラッグする場合には,厳密である必要はなく,該当する項目上のどこかにあればよい。例えば,ドラッグされた位置をシステム側で判断して,選択された項目を囲む枠線を自動的に表示し,操作員が正しく指定されたことが確認できるようにする。
(3)選択した項目を読取項目として表示するので,操作員は確認しながら作業ができる。
(4)選択した読取項目は,例えば四則演算の指定により,他の読取項目との演算を可能にする。演算式が指定された場合のその演算式をレシート定義データ内に設定することにより,一つの売上管理項目に複数の読取項目を対応づけることができる。
(5)また,レシート内において,選択した項目と同一名称の項目の存在をチェックする。同一名称の複数の項目が存在する場合,読取項目として特定するための複数のキーワードやマーカー項目(必要な項目位置の基準を定める項目)の設定を促す。
(6)また,読取項目がOCR認識困難(文字の潰れ,文字接触,罫線接触など)と想定される場合に,読取項目に代替するレシート項目を代替項目として定義し,代替項目からの相対位置の金額を認識できるようにする。
(7)また,例えば店舗情報を参照することにより,類似する業務のレシート定義データが既に存在する場合,その既存のレシート定義データを利用して,新しいレシート定義データを作成することを可能とする。
【0022】
詳しくは,本発明は,複数の店舗がそれぞれ発行したレシートの画像を認識することにより,各店舗に共通な特定の基本管理項目からなる基本管理データを収集するレシート認識システムが各店舗ごとのレシートの認識に用いるレシート定義データを作成するレシート定義データ作成装置であって,レシートのイメージデータを含む画像データを記憶する画像データ記憶手段と,前記基本管理項目の情報を記憶する基本データ記憶手段と,前記基本データ記憶手段に記憶された基本管理項目の情報の表示と前記画像データ記憶手段に記憶されたレシートのイメージデータの表示とを含む定義入力画面を表示する定義入力画面表示手段と,前記定義入力画面から,レシートの読取項目と,前記イメージデータにおける前記読取項目に対応する金額欄の位置情報と,前記読取項目と前記基本管理項目との対応情報とを入力する入力データ処理手段と,前記入力データ処理手段が入力した情報に基づき,前記レシートの読取項目,および前記イメージデータにおける前記読取項目に対応する金額欄の位置情報,および前記読取項目と前記基本管理項目との対応情報を含むレシート定義データを作成する定義データ作成手段と,作成されたレシート定義データを記憶する定義データ記憶手段とを備えることを特徴とする。
【0023】
また,本発明の一態様においては,さらに,前記定義入力画面は,前記読取項目に対する演算式の入力画面を有し,前記入力データ処理手段は,前記定義入力画面に前記読取項目の演算式が入力された場合に,入力された演算式に従って複数の前記読取項目を一つの前記基本管理項目に対応づける対応情報を作成する手段を有することを特徴とする。
【0024】
また,本発明の他の一態様においては,前記入力データ処理手段は,レシート内に前記読取項目と同一名称の他の項目が存在する場合に,前記読取項目を特定する基準となる複数キーワードまたはマーカー項目を前記定義入力画面から入力する手段を有し,前記定義データ作成手段は,作成するレシート定義データ内の前記読取項目の定義データに前記複数キーワードまたは前記マーカー項目のデータを設定する手段を有することを特徴とする。
【0025】
また,本発明の他の一態様においては,前記入力データ処理手段は,前記定義入力画面からの前記レシートの読取項目または前記金額欄の位置情報の入力において,前記レシートのイメージデータの表示における入力装置によるポイント操作またはドラッグ操作に対して,該当する読取項目の文字列または金額の文字列の領域を定めるとともに,その領域の大きさを自動調整し,領域を囲む枠線の表示または強調表示によって文字領域を特定する表示を行う手段を有することを特徴とする。
【0026】
また,本発明の他の一態様においては,前記入力データ処理手段は,入力した前記読取項目について誤認識した場合またはその文字認識精度が悪い場合に,前記読取項目に代替する代替項目をユーザに指定させて代替項目を入力する手段を有し,前記定義データ作成手段は,前記読取項目に加えて前記代替項目をレシート定義データ内に設定するとともに,前記金額欄の位置情報を前記代替項目からの相対距離で設定する手段を有することを特徴とする。
【0027】
また,本発明の他の一態様においては,前記入力データ処理手段は,前記作成されたレシート定義データまたはその履歴データから抽出したデータを,前記定義入力画面に設定し,他のレシート定義データの作成時に参照させる手段を有することを特徴とする。
【0028】
以上により作成されるレシート定義データは,以下のデータを含む。
(1)基本管理項目とレシート内の読取項目との対応情報。すなわち,基本管理項目として計上する金額は,レシート内のどの読取項目に対する金額であるかを示す情報。
(2)レシート内の読取項目の文字列と,それに対応する金額欄の相対的な位置情報。
(3)基本管理項目の金額が,複数の読取項目の金額の四則演算によって算出される場合には,その演算式を示す情報。
(4)その他,レシート内に必要な読取項目と同一名称(同じ文字列)の項目が複数あった場合に,必要な読取項目を特定するための複数キーワードやマーカー項目などの文字情報および読取文字との位置関係を示す情報。
【発明の効果】
【0029】
本発明の効果は以下のとおりである。
(1)レシートから基本管理項目に必要な読取項目を抽出する場合,どの基本管理項目にどの読取項目が対応するかを示すレシート定義データを,実際のレシートを用いて簡易に作成することができる。特に,操作員は,選択した読取項目を画面上で確認しながら,入力ミスを防いで容易に入力作業をすることができる。
(2)レシート定義データ中に読取項目の演算式を設定することができるので,一つの基本管理項目の金額を,複数の読取項目に対応する金額から算出することができ,レシート項目の内容が個々の店舗によって種々異なる場合でも,統一した基本管理項目のデータを収集することができる。
(3)レシートから基本管理項目に必要な読取項目について項目名称に同一の名称が複数存在する場合に,選択する読取項目を特定するための複数のキーワードとなる項目名称や読取項目に対する位置関係を特定する他のユニークな項目名称を持つマーカー項目の情報をレシート定義データに設定することができる。これにより,基本管理データの収集時におけるレシートデータの抽出の誤認識を回避することができる。
(4)画面上で基本管理項目に対応する読取項目を簡単な操作で選択することができ,また,指定された領域の自動調整機能を有することにより,その入力および確認が容易であり,効率よくレシート定義データを作成することができる。
(5)また,レシートの印字における文字の潰れ,文字接触,罫線接触などにより,読取項目についてOCR認識困難な場合があっても,レシート内の他の項目を読取項目の代替項目として定義できるので,読取精度のよいレシート定義データの作成が可能になる。
(6)また,同様な業務内容の店舗の新しいレシート定義データを作成する場合に,既存のレシート定義データを流用して,異なる読取項目の部分だけの入力でレシート定義データを作成することができるため,迅速にレシート定義データを作成することができる。
【0030】
本発明によって作成されたレシート定義データを用いることにより,レシートの読取項目が異なる各種店舗のレシートデータから,テナントの管理部門が必要とする基本的なデータを統一的に収集し,売上管理データベースなどの基本データ管理データベースに保存することができるようになる。
【図面の簡単な説明】
【0031】
【図1】レシート定義データ作成装置の構成例を示すブロック図である。
【図2】レシート定義データ作成装置の処理の概要を示すフローチャートである。
【図3】読取機によって読み取られるレシートの例を示す図である。
【図4】画像データ記憶部に格納される画像データの例を示す図である。
【図5】基本データ記憶部に格納される基本テーブルの例を示す図である。
【図6】店舗マスタの例を示す図である。
【図7】通常のレシート定義データ例を示す図である。
【図8】レシート内に同一名称の読取項目が複数存在する場合のレシート定義データの例を示す図である。
【図9】演算式を定義するレシート定義データの例を示す図である。
【図10】履歴データ記憶部に格納される履歴データの例を示す図である。
【図11】履歴データの辞書部の例を示す図である。
【図12】レシート定義データ作成処理の全体のフローチャートである。
【図13】レシート定義データ作成処理の全体のフローチャートである。
【図14】レシート定義データ作成処理の全体のフローチャートである。
【図15】定義入力画面の構成例を示す図である。
【図16】売上管理項目一覧とOCR読取定義一覧の例を示す図である。
【図17】読取項目の設定方法の例を示す図である。
【図18】演算定義処理の詳細を示すフローチャートである。
【図19】演算定義の例を示す図である。
【図20】ある店舗のレシートと売上管理項目との対応関係が計算式によって定義されている例を示す図である。
【図21】同一文字列処理の詳細を示すフローチャートである。
【図22】マーカー項目の定義例を示す図である。
【図23】複数キーワードの設定例を示す図である。
【図24】代替項目の設定例を示す図である。
【図25】類似データの有無を判断する処理の詳細を示すフローチャートである。
【図26】履歴データ作成処理の詳細を示すフローチャートである。
【図27】売上管理項目とレシート項目との対応関係の例を示す図である。
【発明を実施するための形態】
【0032】
以下,図面を用いながら,本発明の実施の形態について詳細に説明する。なお,以下では,主に店舗売上を集計する装置の例について説明するが,本発明は売上集計に限られるわけではなく,仕入集計データやその他の伝票などに印字された実績データを集計するための装置などにも同様に適用することができる。
【0033】
図1は,本発明の概要を説明するための装置構成例を示す。図1において,1はCPUおよびハードディスクやメモリ等の記憶装置等から構成され,レシートから読み取った画像データをもとに,レシート定義データを作成する処理を実行するレシート定義データ作成装置,2はレシート定義データの作成対象となるレシート,3は表示装置,4はキーボードやマウス等の入力装置である。
【0034】
レシート2は,透明なキャリアシート等に挟まれた状態で読取機10に読み取られる。読取機10は,光学方式などによる画像のスキャンニングにより,レシート2の画像を読み取る装置である。画像データ読込部11は,周知のOCR処理機能を持ち,読取機10により読み取った画像を所定の画像データに変換する。なお,読取機10がOCR処理機能を有する場合には,画像データ読込部11は,OCR処理機能を持たなくてもよい。画像データは,例えばイメージデータが格納された画像ファイル,OCRによる認識文字データを含む。画像データ読込部11は,OCR処理結果の画像データを画像データ記憶部101に保存する。
【0035】
定義入力画面表示部12は,店舗マスタ103を参照し,指定された店舗のレシート定義データを作成するために,基本データ記憶部102に格納されている基本的な売上管理項目の情報と,画像データ記憶部101に格納されているレシートのイメージデータを含む画像データの表示領域を有する定義入力画面を,表示装置3に表示する。
【0036】
入力データ処理部13は,表示された定義入力画面から,レシートの読取項目と,イメージデータにおける読取項目に対応する金額欄の位置情報と,読取項目と売上管理項目との対応情報とを入力する。このため,入力データ処理部13は,イメージデータにおける読取項目の位置の座標およびそれに対応する金額欄の位置の座標を入力装置4から取得する座標取得部131,複数の読取項目を一つの売上管理項目に対応づける演算式を定義する演算定義部132を備える。
【0037】
また,入力データ処理部13は,レシート内に読取項目と同一名称の他の項目が存在する場合に,読取項目を特定する基準となる複数キーワードを定義入力画面から入力して設定する複数キーワード設定部133および読取項目を特定する基準となる他のユニークな読取項目を定めるマーカー項目設定部134を備える。さらに,入力データ処理部13は,入力した読取項目について認識エラーがあった場合や文字認識精度が悪い場合に,読取項目に代替する他のレシート項目を代替項目として操作員に指定させて代替項目を入力する代替項目処理部135を備える。
【0038】
定義データ作成部14は,入力データ処理部13によって入力した情報をもとに,店舗ごとのレシート定義データを作成し,定義データ記憶部104に格納する。作成されるレシート定義データの具体例については後述する。レシート定義データは,レシートの読取項目における項目名称とそれに対応する金額項目の相対位置(相対的な金額欄の位置)などの情報を含むとともに,売上管理項目との対応関係情報を含んでいる。
【0039】
履歴データ作成部15は,定義データ作成部14によって作成されたレシート定義データの履歴データを作成し,履歴データ記憶部105に格納する。この履歴データは,類似する他のレシートのレシート定義データを作成するときに参照して利用することができる。
【0040】
図2は,図1に示すレシート定義データ作成装置1の処理の概要を示すフローチャートである。
【0041】
ステップS11では,画像データ読込部11が,読取機10により精算レシートを読み取る。精算レシートは,各店舗における1日分の売上情報の集計データであり,レシート項目は各店舗が使用しているPOSシステムによって異なっている。画像データ読込部11は,文字認識などによって得られた項目明細やレシートの全体イメージのデータを画像データ記憶部101に格納する。
【0042】
ステップS12では,定義入力画面表示部12が,画像データ記憶部101,基本データ記憶部102,店舗マスタ103のデータから定義入力画面を作成し,表示装置3に表示する。定義入力画面には,レシートの全体イメージの表示も行われる。
【0043】
ステップS13では,入力データ処理部13が,定義入力画面からの入力により,精算レシートの項目について,読取項目および演算式などを設定し,読取項目と売上管理項目との対応関係,読取項目とその読取項目に対応する金額欄の位置関係を定める。
【0044】
ステップS14では,定義データ作成部14が,入力データ処理部13により入力した情報をもとに,レシート定義データを作成し,定義データ記憶部104に格納する。
【0045】
ステップS15では,履歴データ作成部15が,作成したレシート定義データについての履歴データを作成し,履歴データ記憶部105に保存する。
【0046】
以上,レシート定義データ作成装置1が実行する大まかな処理を説明したが,以下では,具体的な処理内容やデータ構造について詳しく説明する。
【0047】
図3は,読取機10によって読み取られるレシート2の例を示す図である。読取機10が図3に示すようなレシート2を読み取ると,読取機10または画像データ読込部11のOCR処理により,画像の解析による文字認識が行われる。この文字認識では,図3に示すレシート2における文字列#1,#2,…,#14,…のように,一連の文字列ごとに,文字列を構成する各認識文字の候補とその位置情報とが画像データとして抽出され,画像データ記憶部101に格納される。
【0048】
図4は,画像データ記憶部101に格納される画像データの例を示す図である。画像データ記憶部101には,図4(A)に示すように,レシート画像のイメージデータに関するデータと,図4(B)に示すように,レシートの文字認識結果のデータ(以下,認識文字データという)とが格納される。
【0049】
レシート画像のイメージデータは,例えばレシート全体またはレシートにおける文字が印字された部分全体の矩形領域の画像イメージがビットマップ形式の画像ファイルとして格納され,また,このレシート2を発行した店舗を識別する店舗コードが付与される。この店舗コードは,入力装置4から事前に入力してもよいし,また,レシート2を読取機10に読み取らせるときのレシート挟持用シート(キャリアシート)に付与された各店舗識別用の2次元コード等を解析して入力するようにしてもよい。
【0050】
図4(B)に示す認識文字データは,一連の文字列#n(n=1,2,…)についての文字認識の結果が格納されるが,その内容を図3に示す文字列#14の例を用いて説明する。まず,文字列#14がレシート2における14番目の文字列であり,識別番号がそれを示している。文字列#14の文字数は3(第1候補の並びは「総売上」)であり,文字列#14の座標は,(x,y)−(x’,y’)である。この座標は,あらかじめ定められたレシート2の画像の基準位置(例えばレシート画像の左上角または文字列群を囲む矩形領域の左上角など)を原点とした座標である。
【0051】
さらに,認識文字データは,文字列#14を構成する各文字#141,#142,#143の3文字について,各々の座標情報を持つ。また,認識結果の文字と認識用の辞書との相違度の小さい順に,認識結果のいくつかの文字が相違度とともに格納される。例えば,文字#141の認識結果の第1番目の候補は「総」(相違度=1311)であり,第2番目の候補は「脆」(相違度=1581),第3番目の候補は「聡」(相違度=1640)である。
【0052】
ここで,画像データ読込部11は,これらの認識結果の候補をすべて画像データ記憶部101に格納するのではなく,各文字列#nを構成する認識候補の各文字の組み合わせと,すべての店舗に共通にあらかじめ用意された認識結果単語辞書であって,レシートに印字される可能性のある文字列があらかじめ格納されている辞書中の単語との照合により,認識結果の文字列を絞り込んで,その絞り込んだ結果だけを画像データ記憶部101に格納するようにしてもよい。
【0053】
図5は,基本データ記憶部102に格納される基本テーブルの例を示す図である。この基本テーブルは,テナント管理部門が集計する売上管理項目の情報を格納している。具体的には,ショッピングセンターにおける売上管理データの管理を対象とした場合,ショッピングセンターを識別するショッピングセンターコード,ショッピングセンターの名称および所在地,ショッンピングセンター内の店舗数の情報を格納している。また,テナント管理に必要な各売上管理項目の項目名称が格納される。
【0054】
この例では,売上管理項目として8個の項目があり,これらの各項目の名称が「現金売上」,「掛売上」,「クレジット売上」,「商品券」,「総売上」,「消費税」,「その他控除」,「純売上」である。本システムは,各店舗ごとに異なる各種のレシートの項目の中から,これらの売上管理項目の情報を自動で抽出するためのレシート定義データを,単純な操作で作成することができるようにすることを目的としている。
【0055】
また,この基本テーブルには,各演算管理項目ごとにその演算管理項目が取り得る値の下限値と上限値とが定められ,格納されている。この下限値と上限値とは,レシート画像を文字認識することによってレシートから売上管理項目の金額を自動で抽出した場合に,,誤認識・誤入力を少なくするためのチェックに用いられる。
【0056】
図6は,店舗マスタ103の例を示す図である。店舗マスタ103は,レシートを発行する個別の店舗の情報を格納するテーブルであり,あらかじめ用意される。1番目の設定項目である店舗コードは,店舗を識別する番号である。2番目の店舗名称は,店舗の名称である。3番目の業種コードは,店舗の業種を表すコードである。4番目の業種名は,業種の名称である。続いてPOSシステム情報1,2,3として,順に,導入されているPOSシステムの識別コード(例:F001),POSシステムのメーカー(例:AAAAA),POSシステムの導入年月日(例:2000年1月1日)などの情報が格納される。また,精算レシート情報1,2,3,4として,順に,精算レシートの長さ,読込形式,精算レシート中の印字項目数,その他の必要な情報が格納される。読込形式の欄には,読取機10がレシート2をそのまま形で読み込む場合には“0”,レシート2が長過ぎるため,レシート2を複数片にカットして読み込む場合には“1”の値が設定される。
【0057】
本システムは,以上の画像データ記憶部101,基本データ記憶部102,店舗マスタ103に格納されているデータをもとに,レシート定義データを作成する。なお,店舗マスタ103は,店舗情報が既知であるか入力装置4から事前に入力される場合には必須ではない。
【0058】
図7は,レシート定義データであって,もっとも基本的なデータの例を示している。店舗コードは,どの店舗のレシート定義データであるかを示す店舗の識別コードである。続いて,レシートから読み取るレシート項目の情報が,各項目ごとに格納される。読取項目1識別コードは,1番目の読取項目1の識別コードであり,レシート定義データ内で読取項目を一意に識別するコードである。
【0059】
項目属性には,読取項目の属性が設定される。レシート内に同一名称(読取文字が同じ)の読取項目が存在しない場合,属性値=1である。レシート内に同一名称の読取項目が存在したときに,マーカー項目を基準にして読取項目を特定する場合には,属性値=2である。レシート内に同一名称の読取項目が存在したときに,複数キーワードをもとに読取項目を特定する場合には,属性値=3である。読取文字の認識が困難で代替項目を設定した場合には,属性値=4である。
【0060】
図7(A)のレシート定義データは,同一名称の読取項目が複数存在しない場合の例であり,項目属性の属性値は1となっている。1番目の読取項目の読取文字1は,この例では「総売上」となっている。金額欄の相対読取位置1は,「総売上」に対応する金額の文字列がどの部分に印字されているかを「総売上」の文字列の位置からの相対位置で示す。ここで相対位置とは,例えば「総売上」の文字列領域の左上角を原点としたときの金額欄の位置の座標である。金額欄の位置を読取文字1の位置からの相対位置で示すのは,同じレシートであっても,日によって実際にレシートに印字される行数が異なり,読取文字1の位置が可変であるからである。
【0061】
2番目の読取項目の読取文字2「その他金券金額」,3番目の読取項目の読取文字3「現金売上」についても,同様に識別コード,項目属性,読取文字,金額欄の相対読取位置のデータがレシート定義データとして格納される。
【0062】
図7(B)のレシート定義データは,読取項目の文字認識が困難な場合の例であり,項目属性の属性値は4となっている。この場合,読取項目(例えば消費税)の認識の代わりとなる項目を代替項目(例えば小計)として定義し,金額欄の相対読取位置として代替項目からの相対距離を設定する。
【0063】
図8は,読取項目としてレシート内に同一名称が複数存在する場合のレシート定義データの例を示している。図8(A)は,項目属性の属性値が2の場合の例,図8(B)は,項目属性の属性値が3の場合の例である。
【0064】
レシート内に読取項目の名称が同じ項目が複数存在する場合(例えば,読取項目の項目名称が「消費税」であり,その「消費税」という用語が複数行に印字されている場合),どちらの金額を売上管理項目として抽出するかを特定する情報が必要となる。
【0065】
項目属性の属性値が2の場合,読取項目の位置を特定する基準となる他のユニークな項目名称をマーカー項目として定義することにより,同一の名称の項目の一つを実際の読取項目として特定する。図8(A)の例では,「総売上」が読取文字1であるが,レシート内に「総売上」の項目名称が複数存在するため,他のユニークなレシート上の印字名称である「貸在高」の項目をマーカー項目として定義している。また,読取文字1の読取位置およびその項目に対応する金額欄の相対読取位置1の他に,マーカー項目からの距離(方向を含む)の情報が定義される。このマーカー項目からの距離の情報は,マーカー項目「貸在高」の文字位置から読取文字1「総売上」の文字位置までの距離(x座標,y座標)の上限値を示しており,x座標については,読取文字1が右方向に存在する場合には正の値,左方向に存在する場合には負の値をとる。また,y座標については,読取文字1が上方向に存在する場合には正の値,読取文字1が下方向に存在する場合には負の値をとる。図8(A)の例では,この値が「(−50,+100)」であり,マーカー項目「貸在高」の文字位置からx座標で−50(左方向),かつ,y座標で+100(上方向)の範囲内に,収集対象となる読取文字1「総売上」が存在することを示している。
【0066】
項目属性の属性値が3の場合,複数行に連続して並ぶ複数の項目名称をキーワードとして,それらの複数のキーワードがレシート内でユニークになるように定義することにより,同一の名称の項目の一つを実際の読取項目として特定する。図8(B)の例では,「総売上」が売上管理項目として必要な読取文字1であるが,レシート内に「総売上」の項目名称が複数存在するため,レシート内でユニークになる「総売上」,「純売上」,「現金有高」,「貸在高」の複数行にわたる一連の項目を,複数キーワードとして設定し,これらの一塊の文字列により,「総売上」の読取項目の位置を特定するようにしている。読取文字1の読取位置1は,「総売上」,「純売上」,「現金有高」,「貸在高」の複数キーワードが印字された最小矩形領域の左上と右下の座標である。また,金額欄の相対読取位置1は,読取文字1の読取位置1の左上の座標を原点として定義した座標である。
【0067】
さらに,レシート定義データとして,図7および図8に示すレシート定義データによって定義された読取項目と,図5に示した基本テーブル中の売上管理項目との対応関係を示す演算式の定義情報が設定される。図9は,その演算式を定義するレシート定義データの例を示している。
【0068】
演算式の定義情報は,図9に示すように,店舗を識別する店舗コードの他に,各売上管理項目と1または複数の読取項目識別コードとの対応情報を持つ。複数の読取項目が,1つの売上管理項目に対応づけられる場合には,複数の読取項目識別コードについての四則演算の演算式が用いられる。図9の例で説明すると,売上管理項目1「現金売上」に対応する読取項目識別コードは,「A+B」となっている。これは,読取項目識別コード=Aの読取項目に対応する金額欄に印字された数値と,読取項目識別コード=Bの読取項目に対応する金額欄に印字された数値とを加算した値を,売上管理項目1「現金売上」の金額として計上することを示している。2番目の売上管理項目2「掛売上」については,読取項目識別コード「C」の読取項目を,そのまま「掛売上」の金額とすることを示している。他の売上管理項目についても同様に,読取項目識別コードの演算式(1対1対応の場合を含む)によって,各売上管理項目とレシートからの読取項目との対応情報が定義される。
【0069】
次に,履歴データ作成部15によって作成され,履歴データ記憶部105に格納される履歴データの例を,図10に従って説明する。
【0070】
履歴データは,定義データ作成部14によって作成されたレシート定義データの内容を,他の同業種の店舗でのレシート定義データの作成に流用できるようにするために,まとめたものである。業種情報として,業種コード,業種名,POSシステム情報1〜3,精算レシート情報1〜4などが格納される。また,項目情報として,各読取項目の識別コード,項目属性,読取文字等が格納される。また,演算情報として,各売上管理項目と,該当する読取項目識別コードを用いた演算式が格納される。これらの具体的な内容は,図7ないし図10を用いて説明したレシート定義データの内容と同様である。
【0071】
また,履歴データ作成部15は,履歴データとして辞書情報を作成し,履歴データ記憶部105に格納する。図11は,その履歴データの辞書部の例を示す。
【0072】
履歴データの辞書部には,図11に示すように,業種コード,POSシステム情報,売上管理項目,読取文字,…などの実際にレシート定義データに利用された文字列情報(単語など)が格納される。この辞書部に格納された文字列情報は,作成済みのレシート定義データを用いて,新しい店舗のレシート定義データを作成する場合に,売上管理項目に該当する読取項目を類推するために用いられる。また,例えば図4で説明した文字認識結果の画像データにおいて,正しい認識結果の文字列を抽出するのに用いることができる。また,実際の売上管理データの収集作業において,自動で誤認識,誤入力を防止するのに用いることができる。
【0073】
次に,レシート定義データ作成装置1が実行する処理について,さらに詳しく説明する。図12〜図14は,本実施形態に係るレシート定義データ作成処理の全体のフローチャートである。
【0074】
まず,ステップS201では,入力装置4からの操作員の入力を待ち合わせる。操作員が,メニュー等により,レシート定義データを新規に作成するのか,または作成済みのレシート定義データを参照して作成するのかを指定すると,ステップS202へ進む。
【0075】
ステップS202では,レシート定義データの新規作成か参照作成かを判定し,参照作成の場合,図13のステップ220へ進み,新規作成の場合には,ステップS203へ進む。
【0076】
ステップS203では,レシート定義データを作成するための定義入力画面の初期画面を表示装置3に表示する。
【0077】
図15に,定義入力画面の構成例を示す。定義入力画面30には,レシート定義データを作成する施設とテナント(店舗)情報の表示領域の下に,売上管理項目一覧表示領域31,OCR読取定義一覧表示領域32,レシート画像表示領域33,マーカー定義一覧表示領域34,計算式入力用領域35が設けられる。
【0078】
売上管理項目一覧表示領域31には,図16(A)に示すように,売上管理項目一覧が表示される。売上管理項目一覧は,図5で説明した基本テーブルに格納されている売上管理項目の項目名称と,売上管理項目と読取項目とを対応づける計算式(演算式)が確定したときに,その計算式が表示される欄を持つ。
【0079】
また,OCR読取定義一覧表示領域32には,図16(B)に示すように,操作員の入力操作によって入力されるOCRの読取項目や,レシート画像内においてその項目の領域情報が設定されたどうかを示す情報(項目領域),その項目に対応する金額欄の領域情報が設定されたかどうかを示す情報(金額情報)が表示される。
【0080】
レシート画像表示領域33には,読取機10で読み取ったレシートの画像(イメージデータ)が表示される。この領域の表示においては,スクロール,拡大/縮小などの機能が設けられている。
【0081】
マーカー定義一覧表示領域34は,レシート内に同一名称の読取項目が複数存在する場合に,読取項目を特定するためのユニークなマーカー項目を定義するための情報が表示される。また,計算式入力用領域35には,入力された売上管理項目と読取項目とを対応づける計算式が表示される。
【0082】
ステップS203で,以上のような定義入力画面30の初期画面を表示した後,ステップS204で,操作員の入力を待ち合わせる。ステップS205では,すべての項目の入力が終わると,操作員が「定義確定」のキーを押すので,その入力があったかどうかを判定し,「定義確定」の指示が入力されたならば,ステップS208へ進む。
【0083】
「定義確定」の指示がない場合には,ステップS206へ進み,読取項目の入力と,項目領域の選択と,金額領域の選択処理を行う。この処理の例について,図16および図17を用いて説明する。
【0084】
定義入力画面30の初期画面では,OCR読取定義一覧表示領域32は,図16(B1)に示すように自動で付与される読取項目ID(例えば,a)の表示と,空欄の読取項目,項目領域,金額領域の表示が行われている。ここで,読取項目として,例えば「純売上」が入力により設定されると,その「純売上」の項目に対するレシート内の項目領域および金額領域の領域が未設定であることを示す「未設定」の文字が,目立ちやすい表示色で,図16(B2)に示すように表示される。そこで,操作員は,項目領域の設定操作と金額領域の設定操作を行う。
【0085】
図17は,項目領域の設定を説明する図である。OCR読取定義一覧表示領域32の表示が図17(A)に示すとおりであり,レシート画像表示領域33には,図17(B)に示すようなレシート画像が表示されているとする。操作員は,レシート画像表示領域33における画像上で,マウス等の入力装置4により,「純売上」の文字列部分をポイントして,ドラッグまたはクリックする。入力データ処理部13の座標取得部131は,この入力を検知し,レシート画像における「純売上」の文字列を枠線で囲んで表示する。このとき,例えば図17(C)の左側の図に示す矢印のように,「純売上」の文字列部分を大きくドラッグしても,枠線の自動調整により,図17(C)の右側の図に示す点線枠のように必要最小限の大きさで枠線が表示される。このようにして選択された項目領域の左上角座標と,右下角座標とが,内部メモリに記憶される。OCR読取定義一覧では,図17(D)に示すように,項目領域の欄が「未設定」から「○」に書き換えられ,項目領域の選択処理が済んだことが示される。枠線で囲む領域の大きさの自動調整は,図5で説明したOCRによる認識結果の画像データを参照することにより行うことができる。
【0086】
金額領域の選択処理についても,同様に,レシート画像における該当する金額欄に対するマウス等によるドラッグまたはクリックによって,枠線が表示され,その領域の座標情報が取り込まれることにより行われる。金額領域の設定により,OCR読取定義一覧における金額領域の欄は,「未設定」から「○」に書き換えられ,「純売上」の読取項目に対する定義が終了する。入力欄は,次の行に移る。入力欄がなければ,新しい入力欄が自動的に追加される。なお,枠線の表示で領域を示す代わりに,背景や文字の表示色を変えて領域を示してもよい。
【0087】
以上の読取項目の定義処理に続いて,ステップS207では,演算定義処理が行われる。演算定義処理は,売上管理項目とステップS206で定義された1または複数の読取項目との対応関係を示す計算式を定義する処理である。詳しくは後述する。その後,ステップS204へ戻り,同様に処理を繰り返す。
【0088】
「定義確定」の指示があった場合,ステップS208へ進み,ステップS208では,読取項目の再チェックを行う。ここでは,読取項目の項目領域について再度,文字認識を行う。または,図4(B)で説明した画像データ記憶部101に格納されている認識文字データの中の読取項目の各認識文字に対する相違度の情報から,認識の精度を判定し,誤認識が生じていないかどうか,または認識の精度が所定の閾値より悪いかどうかをチェックする。
【0089】
ステップS209の判定により,認識エラーがないと判定された場合,または認識の精度が悪くないと判定された場合には,図14のステップS230へ進む。そうでない場合には,ステップS210へ進み,操作員に対して代替項目の入力を促す。代替項目は,本来の読取項目について,認識が困難であるか誤認識の可能性が大きいために,他のレシート項目を代替項目として認識対象とし,その代替項目からの相対位置情報によって,本来の読取項目に対する金額を取得することを目的とした項目である。操作員からの代替項目の入力操作があれば,ステップS211により,代替項目の定義処理を行う。その後に,ステップS204へ戻る。代替項目の具体例については,後に,図24を用いて説明する。
【0090】
ステップS202でレシート定義データの参照作成が指定された場合,ステップS220へ進み,参照するレシート定義データを手動で選択するか自動で選択するかの指示を入力する。手動で選択する場合,ステップS221へ進む。ステップS221では,既にレシート定義データを作成済みの店舗の店舗コードを指定する情報を入力し,その店舗コードに該当するレシート定義データを定義データ記憶部104から取得し,ステップS226へ進む。
【0091】
参照するレシート定義データを自動で選択する場合,ステップS222へ進み,履歴データ記憶部105に格納されている履歴データを参照する。次に,ステップS223では,類似データの有無を判断する。この類似データの有無を判断する処理については,図25を用いて後述する。
【0092】
ステップS224の判定により,履歴データ中に,これから作成しようとする店舗のレシート定義データと類似するデータがない場合には,参照作成は不可であるので,ステップS203へ戻り,新規作成と同様な処理を実行する。
【0093】
履歴データ中に,類似するデータがあると判定された場合には,ステップS225へ進み,その類似した店舗のレシート定義データを取得する。
【0094】
ステップS226では,ステップS221またはステップS225で取得したレシート定義データから,取得した店舗の読取項目を類推し,定義入力画面30の編集を行う。すなわち,定義入力画面30の初期画面として,OCR読取定義一覧が空欄の画面を表示するのではなく,参照するレシート定義データ中で定義されている読取項目のデータや,売上管理項目一覧における売上管理項目の計算式を埋め込んだ形の画面を作成し,表示する。その後,ステップS204に進む。ステップS204以降の処理は,前述した処理と同様である。これにより,参照作成の場合には,操作員は,参照する店舗のレシート定義データと異なる部分を必要に応じて修正するだけで,新しい店舗のレシート定義データを簡単に作成することができる。
【0095】
上述したステップS209で,読取項目の認識エラーがない,または認識精度が悪くないと判断された場合,図14のステップS230へ進む。ステップS230では,ステップS206で定義された読取項目について,レシート内に同一文字列の項目がないかをチェックする。続く,ステップ231の判定において,同一文字列があると判定された場合には,ステップS233へ進み,同一文字列がないと判定された場合には,ステップS232へ進む。
【0096】
ステップS232では,履歴データを作成した後,処理を終了する。履歴データ作成処理についての詳細は後述する。
【0097】
同一文字列があった場合,ステップS233により,必要な読取項目を特定するための同一文字列処理を行う。ここでは,マーカー項目の設定や複数キーワードの設定が行われるが,詳しくは後述する。同一文字列処理の後,ステップS204へ戻り,同様に処理を続ける。
【0098】
図18は,演算定義処理(図12のステップS207)の詳細を示すフローチャートである。以下の処理は,入力データ処理部13における演算定義部132が実行する。
【0099】
ステップS301では,演算の定義に対する入力を待ち合わせる。入力があれば,ステップS302へ進み,その入力をもとに,演算を定義する売上管理項目と,その演算に使用する読取項目を選択する。読取項目は,読取項目IDの指定によって選択することができる。読取項目の選択は1個でも複数個でもよい。
【0100】
ステップS303では,四則演算の演算子を入力し,演算子の選択を行う。なお,%などの算術記号や演算の順序を指定する括弧記号等を用いることもできる。入力する演算子の数は,選択した読取項目の数による。1個の読取項目の場合には,演算子を入力する必要はない。
【0101】
ステップS304の判定処理により,必要なすべての読取項目および演算子の選択が終了するまで,ステップS301へ戻って同様に処理を繰り返す。
【0102】
読取項目および演算子の選択が終了したならば,ステップS305では,入力した演算子のチェックを行う。これは,以下のチェックである。
1)定義されていない読取項目IDを使用していないか。
2)使用できない演算子が指定されていないか。
3)設定された計算式を用いて金額を計算した場合に,結果が許容範囲内か。
【0103】
なお,結果が許容範囲内であるかどうかは,実際にレシートの画像データから得られた金額の数値を用いて計算した場合に,基本テーブルに格納されいてる該当する売上管理項目の下限値から上限値までの範囲に入っているかどうかにより判断される。
【0104】
ステップS306によるチェック結果の判定により,エラーが検出されれば,ステップS301に戻って,読取項目の再選択または演算子の再入力を行う。エラーがなければ,売上管理項目一覧における該当する売上管理項目の計算式の欄に,入力された計算式を表示し,一つの売上管理項目に対する演算定義を終了する。演算定義は,基本的にはすべての売上管理項目に対して行うが,該当する読取項目が存在しない売上管理項目に対しては,未定義であってもよい。
【0105】
図19は,演算定義の例を示している。図19(A)に示すように,OCR読取定義一覧表示領域32には,読取項目の純売上(ID=a)と消費税(ID=b)と金券(ID=c)とが定義されていたとする。ここで,売上管理項目である「総売上」,「商品券」について,それぞれ図19(B)に示すような読取項目との対応関係があった場合,図19(C)に示すように,「総売上」に対して「a+b」の計算式の定義,「商品券」に対して「c」の計算式の定義を行う。この計算式を演算定義として,レシート定義データに設定することにより,店舗が発行する実際のレシートから,売上管理項目の金額を算出することが可能になる。
【0106】
図20は,ある店舗のレシートと売上管理項目との対応関係が,計算式によって定義されている例を示している。レシートの読取項目は,一般に店舗によって異なるので,テナント管理部門が必要とする売上管理項目と,各店舗のレシートの読取項目との対応関係は,店舗ごとに異なる。しかし,図20に示すように,店舗ごとに計算式を定義することができるので,売上管理項目とレシートの項目との対応づけを柔軟に行うことができる。
【0107】
図21は,同一文字列処理(図14のステップS233)の詳細を示すフローチャートである。以下の処理は,入力データ処理部13における複数キーワード設定部133およびマーカー項目設定部134が実行する。
【0108】
ステップS401では,OCR読取定義一覧表示領域32中で定義された読取項目に同一名称のものが複数あることを示すアラームを表示して,操作員からの入力を待ち合わせる。
【0109】
ステップS402では,操作員の入力に対して,複数の同一名称の中の読取項目をマーカー項目によって特定するか,複数キーワードによって特定するかを判定する。マーカー項目が選択された場合,ステップS403へ進み,複数キーワードが選択された場合,ステップS406へ進む。
【0110】
ステップS403では,マーカー項目の入力を待ち合わせる。マーカー項目の入力方法は,図17で説明した項目領域の設定における入力方法と同様である。ステップS404では,指定されたマーカー項目の文字項目の座標を取得する。続いて,ステップS405では,同一文字列の読取項目の中で,実際に定義で用いる読取項目がマーカー項目の上方向にあるのか下方向にあるのかを示す方向と,マーカー項目からの距離を算出し,読取項目がマーカー項目の上方向にあれば距離を正の値,下方向にあれば距離を負の値で定義する。この距離の値には,実際に日々発行されるレシートにおける読取項目の行位置の変動を考慮して,所定の行数分の距離を余裕分として加算してもよい。
【0111】
図22は,マーカー項目の定義例を示している。図22(A)に示すレシート画像表示領域33に表示されたレシート画像において,実際に売上管理項目として必要になる読取項目が「消費税」であったとする。ここでは,「消費税」という同一名称の項目が複数存在するが,このうち,上方にある「消費税」が読取項目として定義したい項目であったとする。そこで,レシート内でユニークな他の項目(この例では「返品明細」)をマーカー項目として定義する。
【0112】
すなわち,図22(B)に示すように,マーカー項目が「返品明細」であり,「消費税」への距離が右方向へ「110」,上方向へ「100」であったとする。このとき,マーカー項目「返品明細」からの読取項目「消費税」への距離として,(110,100)を定義する。
【0113】
マーカー項目は,1個に限らず複数個定義してもよい。図22(C)の例では,「返品明細」をマーカー項目として定義する他に,「売上明細」についてもマーカー項目の定義を行っている。この場合,すべてのマーカー項目の定義による条件を満たした読取項目だけが,該当する読取項目として抽出され,読取項目がマーカー項目定義の条件を一つでも満たさない場合には,「該当読取項目なし」と認定されることになる。
【0114】
図21のステップS402で,複数キーワードによって読取項目を特定すると判定された場合,ステップS406へ進み,複数キーワードの入力を待ち合わせる。複数キーワードの入力があれば,ステップS407では,複数キーワードの文字項目と金額領域の座標を取得し,複数キーワードの定義とする。
【0115】
図23に,複数キーワードの設定例を示す。図23の例では,読取項目「総売上」と同一名称の文字項目が,Str#12,Str#22,Str#32の3個存在する。また,その各々に対応する金額の文字列もDat#12「¥168,735」,Dat#22「¥48,195」およびDat#32「¥32,025」の3個存在する。
【0116】
ここで必要とする読取項目がStr#12の「総売上」であったとすると,「総売上」の文字列だけではStr#12の読取項目を特定できないので,Str#12を含む複数の文字項目を複数キーワードKey#1として定義する。この例では,「総売上」,「純売上」,「現金在高」および「貸在高」を,複数のキーワードKey#1として定義している。このレシート定義データでは,項目属性#1として複数キーワードを示す「3」を定義し,読取文字#1として「総売上」,「純売上」,「現金在高」,「貸在高」を定義する。また,売上管理項目の収集に必要な,金額の文字列Dat#12の金額欄の相対読取位置#1についてもレシート定義データ中に定義する。これによって,レシート中に「総売上」の文字列が複数個存在しても,複数キーワードがユニークであれば,複数キーワードに一致する文字列に含まれる「総売上」の読取項目が特定されることになる。
【0117】
図24は,代替項目の設定例を示す図である。前述した図12のステップS210,S211において,代替項目処理部135が行う処理について説明する。
【0118】
今,図24(A)に示すように,OCR読取定義一覧表示領域32において,消費税の定義が行われ,また,その項目領域についても座標情報が取得されていたとする。ここで,図24(A)に示すレシート画像表示領域33の表示元となったレシートの原画像について,再度この部分をOCR処理によって文字認識する。実際に操作員が入力した「消費税」と認識された場合には,正しいので代替項目の処理は行わない。違う文字に認識されて認識エラーがあった場合には,図24(B)に示すように,「読取困難な文字列です。代替項目を指定してください。」という代替項目の入力を促す警告メッセージを出力する。なお,実際にOCR処理を行うのではなく,図4(B)に示した認識文字データから,認識精度を推定してもよい。
【0119】
操作員は,図24(B)に示すような警告メッセージが出力された場合,図24(C)のレシート画像表示領域33における「小計」のような読取が容易なレシート項目を代替項目として指定する。代替項目は,本来の読取項目(消費税)の上側であっても下側であってもどちらでもよいが,行が近いほうが望ましい。この例のように,「小計」が代替項目として指定されると,消費税に対応する金額「¥7,234」の相対読取位置の情報は,レシート定義データ内において,「消費税」からの相対位置ではなく,読取が容易な「小計」からの相対位置が定義される。
【0120】
また,代替項目によって定義されたことを示すために,OCR読取定義一覧表示領域32内では,図24(D)に示すように,代替項目「小計」と本来の読取項目「消費税」とが所定の区切記号「!」で連結されて表示される。レシート定義データ内においても,図7(B)に示すように,読取文字が「小計!消費税」と定義され,代替項目によって定義されたことが示される。
【0121】
図25は,類似データの有無を判断する処理(図13のステップS223)の詳細を示すフローチャートである。
【0122】
新しい店舗のレシート定義データの作成において,既に作成済みのレシート定義データを参照して作成に利用する場合に,履歴データから類似するレシート定義データを自動抽出する処理を行うために,類似データの有無を判断する。まず,ステップS501では,店舗マスタ103を参照する。また,ステップS502では,履歴データ記憶部105に格納された履歴データを参照する。
【0123】
ステップS501,S502で参照した結果,新たにレシート定義データを作成する新規店舗の業種コードと履歴データ中の業種コードとが等しく,かつ,新規店舗のPOSシステム情報と履歴データ中のPOSシステム情報とが等しいものがあるかどうかを,ステップS503およびステップS504で判定する。判定した結果,どちらも等しいものが存在した場合,ステップS506へ進む。どちらも等しいものが存在しない場合には,ステップS505へ進み,判断結果を「類似性無し」とする。
【0124】
一方,ステップS506では,「類似性有り」と判断し,ステップS507では,履歴データ(辞書部)を参照する。ステップS508では,履歴データ(辞書部)を参照した結果から,売上管理項目に該当する読取項目を類推する。
【0125】
図26は,履歴データ作成処理(図14のステップS232)の詳細を示すフローチャートである。
【0126】
ステップS601では,新しくレシート定義データを作成した店舗の店舗コードから店舗マスタ103を参照する。ステップS602では,店舗マスタ103から該当する業種コード,POSシステム情報,精算レシート情報を取得する。ステップS603では,作成したレシート定義データから項目情報,演算情報を取得する。ステップS604では,図10および図11に示すような履歴データと履歴データの辞書部とを作成し,履歴データ記憶部105に格納する。
【0127】
以上のレシート定義データを作成する処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
【符号の説明】
【0128】
1 レシート定義データ作成装置
10 読取機
11 画像データ読込部
12 定義入力画面表示部
13 入力データ処理部
131 座標取得部
132 演算定義部
133 複数キーワード設定部
134 マーカー項目設定部
135 代替項目処理部
14 定義データ作成部
15 履歴データ作成部
101 画像データ記憶部
102 基本データ記憶部
103 店舗マスタ
104 定義データ記憶部
105 履歴データ記憶部
2 レシート
3 表示装置
4 入力装置

【特許請求の範囲】
【請求項1】
複数の店舗がそれぞれ発行したレシートの画像を認識することにより,各店舗に共通な特定の基本管理項目からなる基本管理データを収集するレシート認識システムが各店舗ごとのレシートの認識に用いるレシート定義データを作成するレシート定義データ作成装置であって,
レシートのイメージデータを含む画像データを記憶する画像データ記憶手段と,
前記基本管理項目の情報を記憶する基本データ記憶手段と,
前記基本データ記憶手段に記憶された基本管理項目の情報の表示と前記画像データ記憶手段に記憶されたレシートのイメージデータの表示とを含む定義入力画面を表示する定義入力画面表示手段と,
前記定義入力画面から,レシートの読取項目と,前記イメージデータにおける前記読取項目に対応する金額欄の位置情報と,前記読取項目と前記基本管理項目との対応情報とを入力する入力データ処理手段と,
前記入力データ処理手段が入力した情報に基づき,前記レシートの読取項目,および前記イメージデータにおける前記読取項目に対応する金額欄の位置情報,および前記読取項目と前記基本管理項目との対応情報を含むレシート定義データを作成する定義データ作成手段と,
作成されたレシート定義データを記憶する定義データ記憶手段とを備える
ことを特徴とするレシート定義データ作成装置。
【請求項2】
請求項1記載のレシート定義データ作成装置において,
前記定義入力画面は,前記読取項目に対する演算式の入力画面を有し,
前記入力データ処理手段は,前記定義入力画面に前記読取項目の演算式が入力された場合に,入力された演算式に従って複数の前記読取項目を一つの前記基本管理項目に対応づける対応情報を作成する手段を有する
ことを特徴とするレシート定義データ作成装置。
【請求項3】
請求項1または請求項2記載のレシート定義データ作成装置において,
前記入力データ処理手段は,レシート内に前記読取項目と同一名称の他の項目が存在する場合に,前記読取項目を特定する基準となる複数キーワードまたはマーカー項目を前記定義入力画面から入力する手段を有し,
前記定義データ作成手段は,作成するレシート定義データ内の前記読取項目の定義データに前記複数キーワードまたは前記マーカー項目のデータを設定する手段を有する
ことを特徴とするレシート定義データ作成装置。
【請求項4】
請求項1から請求項3までのいずれか1項に記載のレシート定義データ作成装置において,
前記入力データ処理手段は,前記定義入力画面からの前記レシートの読取項目または前記金額欄の位置情報の入力において,前記レシートのイメージデータの表示における入力装置によるポイント操作またはドラッグ操作に対して,該当する読取項目の文字列または金額の文字列の領域を定めるとともに,その領域の大きさを自動調整し,領域を囲む枠線の表示または強調表示によって文字領域を特定する表示を行う手段を有する
ことを特徴とするレシート定義データ作成装置。
【請求項5】
請求項1から請求項4までのいずれか1項に記載のレシート定義データ作成装置において,
前記入力データ処理手段は,入力した前記読取項目について誤認識した場合またはその文字認識精度が悪い場合に,前記読取項目に代替する代替項目をユーザに指定させて代替項目を入力する手段を有し,
前記定義データ作成手段は,前記読取項目に加えて前記代替項目をレシート定義データ内に設定するとともに,前記金額欄の位置情報を前記代替項目からの相対距離で設定する手段を有する
ことを特徴とするレシート定義データ作成装置。
【請求項6】
請求項1から請求項5までのいずれか1項に記載のレシート定義データ作成装置において,
前記入力データ処理手段は,前記作成されたレシート定義データまたはその履歴データから抽出したデータを,前記定義入力画面に設定し,他のレシート定義データの作成時に参照させる手段を有する
ことを特徴とするレシート定義データ作成装置。
【請求項7】
コンピュータを,
請求項1から請求項6までのいずれか1項に記載のレシート定義データ作成装置が備える,前記画像データ記憶手段と,前記基本データ記憶手段と,前記定義入力画面表示手段と,前記入力データ処理手段と,前記定義データ作成手段と,定義データ記憶手段,
として機能させるためのレシート定義データ作成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate