JP2017120521A - 情報処理装置、情報処理システム、及び、情報処理装置の制御方法 - Google Patents

情報処理装置、情報処理システム、及び、情報処理装置の制御方法 Download PDF

Info

Publication number
JP2017120521A
JP2017120521A JP2015256744A JP2015256744A JP2017120521A JP 2017120521 A JP2017120521 A JP 2017120521A JP 2015256744 A JP2015256744 A JP 2015256744A JP 2015256744 A JP2015256744 A JP 2015256744A JP 2017120521 A JP2017120521 A JP 2017120521A
Authority
JP
Japan
Prior art keywords
information
word
receipt
words
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015256744A
Other languages
English (en)
Other versions
JP6657945B2 (ja
Inventor
恒二 西澤
Tsuneji Nishizawa
恒二 西澤
文熙 李
Mun Hee Lee
文熙 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015256744A priority Critical patent/JP6657945B2/ja
Priority to US15/391,225 priority patent/US20170185986A1/en
Publication of JP2017120521A publication Critical patent/JP2017120521A/ja
Application granted granted Critical
Publication of JP6657945B2 publication Critical patent/JP6657945B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/163Handling of whitespace
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/209Specified transaction journal output feature, e.g. printed receipt or voice output

Abstract

【課題】印刷される情報を的確に分析できるようにする。
【解決手段】印刷される情報であるテキストデータを処理する制御サーバー15であって、テキストデータに含まれる情報を単語に分解し、単語の位置関係に基づいて、単語、又は、複数の単語からなる単語群を項目分けする制御サーバー制御部40を有することを特徴とする制御サーバー15。
【選択図】図2

Description

本発明は、情報処理装置、情報処理システム、及び、情報処理装置の制御方法に関する。
従来、POS端末内の会計処理部から出力された出力データを、外部装置が解釈可能な形式のデータに変換し、変換したデータ外部装置に送信し、送信したデータを外部装置で管理する技術が知られる(例えば、特許文献1参照)。
特開2012−27633号公報
ここで、上述した特許文献1に係るPOS端末のように会計に基づく処理を実行するPOS端末では、会計に応じて、POS端末が、又は、POS端末に接続された印刷装置が、レシートを発行する。レシートには、会計に関する情報等の様々な情報が印刷される。そして、レシートに印刷される情報のように、記録媒体に印刷される情報については、後に活用可能な有益な情報が含まれる場合があり、このような場合、印刷される情報を的確に分析できるようにしたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、印刷される情報を的確に分析できるようにすることを目的とする。
上記目的を達成するために、本発明は、印刷される情報であるテキストデータを処理する情報処理装置であって、前記テキストデータに含まれる情報を単語に分解し、前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けする制御部を有することを特徴とする。
本発明の構成によれば、テキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
また、本発明は、前記テキストデータを送信する印刷装置と通信可能であり、前記制御部は、前記印刷装置から、前記テキストデータを受信することを特徴とする。
この構成によれば、印刷装置から受信したテキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
また、本発明は、前記制御部は、前記単語の位置関係、及び、前記単語のデータ型に基づいて、前記単語又は前記単語群を項目分けすることを特徴とする。
本発明の構成によれば、単語のデータ型を利用して、単語又は単語群の項目分けをより的確に行うことができる。
また、本発明は、前記制御部は、前記単語又は前記単語群の項目分けの結果に基づいて、項目が階層化され、各項目と、項目値としての前記単語又は前記単語群とが対応付けられた分析データを生成することを特徴とする。
本発明の構成によれば、後に、分析データを使用して、項目分けされた単語又は単語群を用いた処理を実行できる。
また、本発明は、前記テキストデータは、所定のレイアウトに従って印刷される情報が、前記所定のレイアウトに従って記述されたデータであり、前記制御部は、前記単語又は前記単語群の項目分けの結果に基づいて、前記テキストデータに対応する前記所定のレイアウトに関する情報であり、前記所定のレイアウトに係る前記テキストデータが有する前記単語又は前記単語群の項目分けに利用可能な情報であるレイアウト情報を生成することを特徴とする。
本発明の構成によれば、レイアウト情報を生成した後は、レイアウト情報に基づいて簡易に単語又は単語群の項目分けが可能となる。
また、本発明は、前記制御部は、1の項目、及び、他の項目について、当該1の項目に対応する項目値と、当該他の項目に対応する項目値とが所定の関係であるときに、これら項目値の整合性がとれた状態である場合に、前記単語又は前記単語群を項目分けした後、当該1の項目に項目値として対応付けられた前記単語又は前記単語群と、当該他の項目に項目値として対応付けられた前記単語又は単語群との関係が前記所定の関係であるか否かを判別することを特徴とする。
本発明の構成によれば、制御部は、単語又は単語群の項目分けが正常に行われてない場合に、そのことを検出できる。
また、本発明は、前記制御部は、所定の区切文字を区切りとして、前記単語の分解を行うことを特徴とする。
本発明の構成によれば、区切文字を利用して、的確にテキストデータが有する情報を単語に分解できる。
また、上記目的を達成するために、本発明は、印刷する機能を有し、印刷される情報であるテキストデータを送信する印刷装置と、前記印刷装置と通信可能であり、前記印刷装置から前記テキストデータを受信する情報処理装置とを有する情報処理システムであって、前記情報処理装置は、前記印刷装置から受信した前記テキストデータに含まれる情報を単語に分解し、前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けすることを特徴とする。
本発明の構成によれば、テキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
また、上記目的を達成するために、本発明は、印刷される情報であるテキストデータを処理する情報処理装置の制御方法であって、前記テキストデータに含まれる情報を単語に分解し、前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けすることを特徴とする。
本発明の構成によれば、テキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
本実施形態に係る会計システムの構成を示す図。 会計システムの各装置の機能的構成を示すブロック図。 タブレット端末、印刷装置、制御サーバーの動作を示すフローチャート。 レシートの一例を示す図。 印刷テキストデータの一例を示す図。 テキストデータ管理データベースを示す図。 制御サーバーの動作を示すフローチャート。 単語データを示す図。 行データを示す図。 エリアデータを示す図。 分析データを示す図。 会計情報管理データベースを示す図。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係る会計システム1(情報処理システム)の構成を示す図である。
図1に示すように、会計システム1は、複数の店舗システム11を備える。店舗システム11は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。店舗は、商品の提供が行われ、商品の提供に応じて、顧客による会計が行われる施設であればよい。本実施形態において、「商品」は、物体として顧客に引き渡される商品だけでなく、顧客に提供されるサービスや、顧客に提供される飲食物等、対価と引き換えに顧客に提供される対象を意味する。
店舗システム11は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートを発行する機能等を備える。
店舗システム11が適用される店舗には、顧客が会計を行なうレジカウンターLが設けられる。レジカウンターLには、ロール紙(記録媒体)に印刷する機能を有する印刷装置12が設けられる。また、レジカウンターLには、印刷装置12と無線通信可能に接続され、印刷装置12を制御するタブレット端末13が設けられる。
レジカウンターLにおける会計に際し、レジ担当者は、印刷装置12に接続されたバーコードリーダーBRで商品や商品の包装に付されたバーコードを読み取り、また、タブレット端末13に対して会計に対応する入力を行う。印刷装置12は、バーコードリーダーBRによる読み取りに基づくデータを、タブレット端末13に送信する。タブレット端末13は、印刷装置12から受信したバーコードリーダーBRの読み取りに基づくデータや、レジ担当者による会計に対応する入力に基づいて、印刷装置12にレシートを発行させる。印刷装置12により発行されたレシートは、レジ担当者により顧客に引き渡される。
印刷装置12、及び、タブレット端末13の構成、機能、及び、機能に基づく処理については後述する。
店舗システム11は、ローカルエリアネットワークLNを備える。
印刷装置12は、LANに係る通信規格に従って、ローカルエリアネットワークLNと接続する。
ローカルエリアネットワークLNには、通信装置14が接続される。通信装置14は、ローカルエリアネットワークLNと、インターネット、電話網、その他の通信網を含むグローバルネットワークGNとを接続するインターフェース装置である。
通信装置14は、モデム(又は、ONU(Optical Network Unit))に係る機能、ルーター機能、NAT(Network Address Translation)機能、及び、DHCP(Dynamic Host Configuration Protocol)サーバー機能等を有する。通信装置14は、ローカルエリアネットワークLNに接続された機器と、グローバルネットワークGNに接続された機器との間で行われる通信に際し、機器間で送受信されるデータを転送する。なお、図1では、通信装置14を1つのブロックで表現するが、通信装置14は、機能に応じた複数の装置を有する構成でもよい。
印刷装置12は、通信装置14を介して、グローバルネットワークGNにアクセス可能である。
グローバルネットワークGNには、制御サーバー15(情報処理装置)が接続される。制御サーバー15は、印刷装置12をクライアントとする、クラウドシステムのクラウドサーバーである。すなわち、制御サーバー15は、クライアントからの要求等をトリガーとして、所定の演算処理を実行する。制御サーバー15は、必要に応じて、演算処理の結果に基づくデータを、クライアントに送信する。なお、図1では、制御サーバー15を、1つのブロックによって表現するが、これは制御サーバー15が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー15は、複数のサーバー装置を含んで構成されたものでもよい。すなわち、制御サーバー15は、後述する各種処理を実行可能な構成であれば、その形態を問わない。
図2は、会計システム1が備える各装置の機能的構成を示すブロック図である。
タブレット端末13は、前面の広い領域にタッチパネル22が設けられたタブレット型の(板状の)端末である。タブレット端末13は、レジカウンターLにおける会計に際し、会計に関する各種処理を実行して印刷装置12を制御するホストコンピューターとして機能する。
図2に示すように、タブレット端末13は、タブレット端末制御部20と、タブレット端末通信部21と、タッチパネル22と、タブレット端末記憶部23と、を備える。
タブレット端末制御部20は、CPUや、ROM、RAM、その他周辺回路等を備え、タブレット端末13を制御する。タブレット端末13には、所定のアプリケーション(以下、「タブレット端末アプリケーションTAP」と表現する。)が事前にインストールされる。タブレット端末制御部20は、タブレット端末アプリケーションTAP、その他の付随するプログラムを読み出して実行することにより、タブレット端末アプリケーション実行部201として機能する。
タブレット端末通信部21は、タブレット端末制御部20の制御で、所定の無線通信の規格に従って、印刷装置12と通信する。タブレット端末13と印刷装置12との間で行われる通信の無線通信規格は、アドホックモードに対応する無線LANに係る規格や、インフラストラクチャーモードに対応する無線LANに係る規格、Bluetooth(登録商標)等の近距離無線通信に係る規格等、どのような規格でもよい。
タッチパネル22は、液晶表示パネル等の表示パネルと、表示パネルに重ねて設けられたタッチセンサーとを備える。表示パネルは、タブレット端末制御部20の制御で、各種画像を表示する。タッチセンサーは、タッチ操作を検出し、タブレット端末制御部20に出力する。タブレット端末制御部20は、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
タブレット端末記憶部23は、不揮発性メモリーを備え、各種データを記憶する。
印刷装置12は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して画像を印刷するラインサーマルプリンターである。
図2に示すように、印刷装置12は、印刷装置制御部30と、印刷部31と、印刷装置記憶部32と、印刷装置通信部33と、印刷装置ネットワーク通信部34と、デバイス通信部35と、を備える。
印刷装置制御部30は、CPUや、ROM、RAM、その他周辺回路等を備え、印刷装置12を制御する。
印刷部31は、印刷装置12の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断する切断機構等のロール紙への印刷に関する各種機構を備える。印刷部31は、印刷装置制御部30の制御で、搬送機構によりロール紙を搬送し、印刷機構によりロール紙にレシートに係る画像を印刷し、切断機構により所定の位置でロール紙を切断して、レシートを発行する。
印刷装置記憶部32は、不揮発性メモリーを備え、各種データを記憶する。
印刷装置通信部33は、印刷装置制御部30の制御で、タブレット端末13と所定の無線通信規格に従って通信する。
印刷装置ネットワーク通信部34は、印刷装置制御部30の制御で、グローバルネットワークGNと接続する機器(制御サーバー15を含む。)と所定の通信規格に従って通信する。
デバイス通信部35は、USBの規格に従ったポートや、USB以外のシリアル通信規格に従ったポート、その他ポートを備えるインターフェースボードを備える。各ポートには、デバイスが接続可能である。デバイス通信部35は、印刷装置制御部30の制御で、ポートを介して印刷装置12に接続されたデバイスと通信する。
なお、デバイス通信部35が、無線通信機能を備え、デバイスと無線通信する構成でもよい。
印刷装置12には、デバイスとして、バーコードリーダーBR、カスタマーディスプレーCD、及び、自動釣銭機JTが接続される。
バーコードリーダーBRは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部35に出力する。デバイス通信部35は、バーコードリーダーBRから入力されたデータを、印刷装置制御部30に出力する。
カスタマーディスプレーCDは、印刷装置制御部30の制御で、会計に関する情報を表示する。カスタマーディスプレーCDに表示された情報は、レジカウンターLで会計を行う顧客が視認できる。
自動釣銭機JTは、顧客から受け取った貨幣を投入する貨幣受取口と、釣銭に係る貨幣を排出する釣銭排出口とを備え、印刷装置制御部30の制御で、貨幣受取口を介して貨幣が投入された場合、対応する釣銭を釣銭排出口から排出する。
制御サーバー15は、印刷装置12をクライアントとするクラウドサーバーである。
図2に示すように、制御サーバー15は、制御サーバー制御部40(制御部)と、制御サーバーネットワーク通信部41と、制御サーバー記憶部42と、を備える。
制御サーバー制御部40は、CPUや、ROM、RAM、その他周辺回路等を備え、制御サーバー15を制御する。
制御サーバーネットワーク通信部41は、制御サーバー制御部40の制御で、グローバルネットワークGNと接続する機器(印刷装置12を含む。)と所定の通信規格に従って通信する。
制御サーバー記憶部42は、各種データ(テキストデータ管理データベース421、会計情報管理データベース422、及び、レイアウト情報管理データベース423)を記憶する。
次に、レジカウンターLで顧客の会計が行われた場合の、タブレット端末13、印刷装置12、及び、制御サーバー15の動作について説明する。
図3は、レジカウンターLで会計が行われた場合のタブレット端末13、印刷装置12、及び、制御サーバー15の動作を示すフローチャートである。図3の(A)はタブレット端末13の動作を示し、(B)は印刷装置12の動作を示し、(C)は制御サーバー15の動作をそれぞれ示す。
図3の(A)に示すように、タブレット端末13のタブレット端末制御部20のタブレット端末アプリケーション実行部201は、顧客の会計に応じて会計処理(決済処理)を実行し、会計処理に基づいて印刷データを生成する(ステップSA1)。
ステップSA1の処理について詳述すると、タブレット端末アプリケーション実行部201は、顧客の会計に伴う印刷装置12(印刷装置12に接続されたバーコードリーダーBR)からの入力や、タッチパネル22に対するレジ担当者の入力に応じて、レシート情報を生成する。レシート情報とは、印刷装置12に発行させるレシートに印刷する情報である。レシート情報の具体的な内容については、例を挙げて後述する。
次いで、タブレット端末アプリケーション実行部201は、生成したレシート情報に基づいて、印刷データを生成する。印刷データは、所定のレイアウトに従ってレシート情報が印刷されたレシートの発行を指示する制御データである。印刷データは、印刷装置12のコマンド体系に従った複数の制御コマンドを含んで構成される。
ステップSA1で印刷データを生成した後、タブレット端末アプリケーション実行部201は、タブレット端末通信部21を制御して、生成した印刷データを、印刷装置12に送信する(ステップSA2)。
図3の(B)に示すように、印刷装置12の印刷装置制御部30は、印刷装置通信部33を制御して、印刷データを受信する(ステップSB1)。
次いで、印刷装置制御部30は、ステップSB1で受信した印刷データに基づいて、印刷部31を制御して、レシートを発行する(ステップSB2)。発行されたレシートは、顧客に引き渡される。
ここで、店舗において印刷装置12により発行されるレシートには、以下の特徴がある。すなわち、1のPOSシステムに含まれる印刷装置12が発行するレシートのレイアウトは、タブレット端末アプリケーションTAPの変更がない限り、同じである。一方、1のPOSシステムに含まれる印刷装置12と、当該1のPOSシステムに含まれる印刷装置12とは異なる他のPOSシステムに含まれる印刷装置12とでは、発行するレシートのレイアウトが、相互に異なる場合がある。あるいは、同じPOSシステムでも店舗によってレシートのレイアウトが異なる場合がある。つまり、印刷装置12によって、発行するレシートのレイアウトは異なる可能性がある。
図4の(A)は印刷データに基づいて印刷装置12により発行されるレシートの一例であるレシートR1を示す。図4の(B)は、図4の(A)で例示するレシートR1のレイアウトとは異なるレイアウトのレシートであるレシートR2を示す。
図4の(A)で例示するレシートR1に印刷された情報の内容と、図4の(B)で例示するレシートR2に印刷された情報の内容とは、同一性を有する。
図4の(A)で例示するレシートR1には、先頭に、店舗の名称を図案化したロゴ情報J1が印刷される。
レシートR1において、ロゴ情報J1の下方は、店舗の住所を文字列で表した店舗住所情報J2が一行で印刷される。
レシートR1において、店舗住所情報J2の一行下には、店舗の電話番号に関する情報を文字列で表した店舗電話番号関連情報J3が印刷される。店舗電話番号関連情報J3は、店舗の電話番号を示す店舗電話番号情報J32を有する。また、店舗電話番号関連情報J3は、店舗電話番号情報J32の同一行における左方に印刷され、店舗電話番号情報J32が電話番号を示す情報であることを明示する電話番号明示情報J31を有する。図4の(A)に示すように、レシートR1に係る電話番号明示情報J31は、3個の大文字のアルファベットの「TEL」からなる文字列である。
レシートR1において、店舗電話番号関連情報J3の一行下には、第1エリア分割情報SK1が印刷される。第1エリア分割情報SK1は、文字「−」が一行内で複数連続して構成された文字列である。
レシートR1は、1つ目の第1エリア分割情報SK1によって印刷領域が区切られ、1つ目の第1エリア分割情報SK1よりも上方がエリア分けされる。以下、レシートR1において、第1エリア分割情報SK1よりも上方のエリアを「エリアAA1」とする。
レシートR1において、1つ目の第1エリア分割情報SK1の一行下には、レシートを識別するレシート識別関連情報J4が印刷される。レシート識別関連情報J4は、レシートを識別するレシート識別情報J42を有する。また、レシート識別関連情報J4は、レシート識別情報J42の同一行における左方に印刷され、レシート識別情報J42がレシートを識別する情報であることを明示するレシート識別明示情報J41を有する。
図4の(A)に示すように、レシートR1に係るレシート識別明示情報J41は、文字列「Check♯:」からなる情報である。
レシートR1において、レシート識別関連情報J4の一行下には、レシートが発行された日時を示す発行日時情報J5が印刷される。
発行日時情報J5の一行下には、第1エリア分割情報SK1が印刷される。
レシートR1は、1つ目の第1エリア分割情報SK1と、2つ目の第1エリア分割情報SK1とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR1において、1つ目の第1エリア分割情報SK1と、2つ目の第1エリア分割情報SK1とで囲まれたエリアを「エリアAA2」とする。
レシートR1において、2つ目の第1エリア分割情報SK1の一行下には、1又は複数の(図4の(A)の例では「2個」。)明細情報J6が印刷される。
明細情報J6は、顧客が購入した商品に関する情報である。明細情報J6は、顧客が購入した商品の種類ごとに、レシートR1に印刷される。従って、顧客が購入した商品の種類が3つである場合は、3つの種類の商品のそれぞれに対応する3つの明細情報J6が印刷される。レシートR1に複数の明細情報J6が印刷される場合、複数の明細情報J6は、異なる行に、1行ずつ連続して印刷される。
明細情報J6は、1行内で、購入数量情報J61と、購入商品名称情報J62と、単価情報J63とを有する。購入数量情報J61は、対応する商品の購入数量を、小数点無しの整数で表す情報である。購入商品名称情報J62は、対応する商品の名称を文字列で表す情報である。単価情報J63は、対応する商品の単価を、小数点付きの数値によって表す情報である。
レシートR1では、明細情報J6に含まれる購入数量情報J61、購入商品名称情報J62、及び、単価情報J63は、1行内で、右へ向かって購入数量情報J61→購入商品名称情報J62→単価情報J63の順番で印刷される。
レシートR1において、最下部に印刷される明細情報J6の一行下には、第2エリア分割情報SK2が印刷される。第2エリア分割情報SK2は、文字「〜」が一行内で複数連続して構成された文字列である。
レシートR1は、2つ目の第1エリア分割情報SK1と、1つ目の第2エリア分割情報SK2とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR1において、2つ目の第1エリア分割情報SK1と、1つ目の第2エリア分割情報SK2とで囲まれたエリアを「エリアAA3」とする。
レシートR1において、1つ目の第2エリア分割情報SK2の一行下には、小計関連情報J7が印刷される。小計関連情報J7は、小計を示す小計情報J72を有する。また、小計関連情報J7は、小計情報J72の同一行における左方に印刷され、小計情報J72が小計を示す情報であることを明示する小計明示情報J71を有する。
図4の(A)に示すように、レシートR1に係る小計明示情報J71は、8個の大文字のアルファベットの「SUBTOTAL」からなる文字列である。
レシートR1において、小計関連情報J7の一行下には、税関連情報J8が印刷される。税関連情報J8は、税の額を示す税額情報J82を有する。また、税関連情報J8は、税額情報J82の同一行における左方に印刷され、税額情報J82が税の額を示す情報であることを明示する税明示情報J81を有する。
図4の(A)に示すように、レシートR1に係る税明示情報J81は、3個の大文字のアルファベットの「TAX」からなる文字列である。
レシートR1において、税関連情報J8の一行下には、合計金額関連情報J9が印刷される。合計金額関連情報J9は、合計金額を示す合計金額情報J92を有する。また、合計金額関連情報J9は、合計金額情報J92の同一行における左方に印刷され、合計金額情報J92が税の額を示す情報であることを明示する合計金額明示情報J91を有する。
図4の(A)に示すように、レシートR1に係る合計金額明示情報J91は、5個の大文字のアルファベットの「TOTAL」からなる文字列である。
レシートR1において、合計金額関連情報J9の一行下には、3つ目の第1エリア分割情報SK1が印刷される。
レシートR1は、1つ目の第2エリア分割情報SK2と、3つ目の第1エリア分割情報SK1とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR1において、1つ目の第2エリア分割情報SK2と、3つ目の第1エリア分割情報SK1とで囲まれたエリアを「エリアAA4」とする。3つ目の第1エリア分割情報SK1より下方のエリアを「エリアAA5」とする。
レシートR1において、3つ目の第1エリア分割情報SK1の一行下には、付加情報J10が印刷される。付加情報J10は、一行内で、レシートを受け取る顧客に対して感謝を示す文字列である。
第1エリア分割情報SK1、第2エリア分割情報SK2、及び、後述する第3エリア分割情報SK3を、区別せずに表示する場合、「エリア分割情報」という。
このように、レシートR1は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に4つのエリア分割情報が印刷され、これら4つのエリア分割情報により、印刷領域が、上から順番に、エリアAA1、エリアAA2、エリアAA3、エリアAA4、及び、エリアAA5の5つのエリアに区分けされる。エリアAA1には、ロゴ情報J1、店舗住所情報J2、及び、店舗電話番号関連情報J3がこの順番で印刷される。エリアAA2には、レシート識別関連情報J4、及び、発行日時情報J5がこの順番で印刷される。エリアAA3には、1又は複数の明細情報J6が印刷される。明細情報J6に含まれる購入数量情報J61、購入商品名称情報J62、及び、単価情報J63は、1行内で、右へ向かって購入数量情報J61→購入商品名称情報J62→単価情報J63の順番で印刷される。エリアAA4には、小計関連情報J7、税関連情報J8、及び、合計金額関連情報J9がこの順番で印刷される。エリアAA5には、付加情報J10が印刷される。
上述したように、レシートR1に係る印刷装置12が発行するレシートのレイアウトは、顧客が購入した商品の内容にかかわらず、レシートR1で示すレイアウトと同様である。
図4の(B)で例示するレシートR2には、先頭に、ロゴ情報J1が印刷される。
レシートR2において、ロゴ情報J1の下方には、レシート識別関連情報J4が印刷される。レシート識別関連情報J4は、レシート識別明示情報J41と、レシート識別情報J42とを有する。
図4の(B)に示すように、レシートR2に係るレシート識別明示情報J41は、文字列「CheckNO.」からなる情報であり、レシートR1に係るレシート識別明示情報J41と文字列の態様が相違する。
レシートR2において、レシート識別関連情報J4の一行下には、発行日時情報J5が印刷される。
発行日時情報J5の一行下には、第1エリア分割情報SK1が印刷される。
レシートR2は、1つ目の第1エリア分割情報SK1によって、第1エリア分割情報SK1より上方と、下方とが区切られ、エリア分けされる。以下、レシートR2において、第1エリア分割情報SK1よりも上方の情報のエリアを「エリアAB1」とする。
レシートR2において、第1エリア分割情報SK1の一行下には、1又は複数(図4の(B)の例では「2個」。)の明細情報J6が、異なる行に、1行ずつ連続して印刷される。
レシートR2では、明細情報J6に含まれる購入数量情報J61、購入商品名称情報J62、及び、単価情報J63は、1行内で、右へ向かって購入商品名称情報J62→購入数量情報J61→単価情報J63の順番で印刷される。
レシートR2において、最下部に印刷される明細情報J6の一行下には、小計関連情報J7が印刷される。
図4の(B)に示すように、レシートR2に係る小計明示情報J71は、8個の小文字のアルファベットの「subtotal」からなる文字列であり、レシートR1に係る小計明示情報J71と文字列の態様が相違する。
レシートR2において、小計関連情報J7の一行下には、税関連情報J8が印刷される。図4の(B)に示すように、レシートR2に係る税明示情報J81は、3個の小文字のアルファベットの「tax」からなる文字列であり、レシートR1に係る税明示情報J81と文字列の態様が相違する。
レシートR2において、税関連情報J8の一行下には、第3エリア分割情報SK3が印刷される。第3エリア分割情報SK3は、文字「=」が一行内で複数連続して構成された文字列である。
レシートR2は、1つ目の第1エリア分割情報SK1と、1つ目の第3エリア分割情報SK3とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR2において、1つ目の第1エリア分割情報SK1と、1つ目の第3エリア分割情報SK3とで囲まれたエリアを「エリアAB2」とする。
レシートR2において、第3エリア分割情報SK3の一行下には、合計金額関連情報J9が印刷される。図4の(B)に示すように、レシートR2に係る合計金額明示情報J91は、5個の小文字のアルファベットの「total」からなる文字列であり、レシートR1に係る合計金額明示情報J91と文字列の態様が相違する。
レシートR2において、合計金額関連情報J9の一行下には、2つ目の第1エリア分割情報SK1が印刷される。
レシートR2は、1つ目の第3エリア分割情報SK3と、2つ目の第1エリア分割情報SK1とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートR2において、1つ目の第3エリア分割情報SK3と、2つ目の第1エリア分割情報SK1とで囲まれたエリアを「エリアAB3」とする。また、2つ目の第1エリア分割情報SK1より下方のエリアを「エリアAB4」とする。
レシートR2において、2つ目の第1エリア分割情報SK1の一行下には、付加情報J10が印刷される。
レシートR2において、付加情報J10の一行下には、店舗電話番号関連情報J3が印刷される。図4の(B)に示すように、レシートR2に係る電話番号明示情報J31は、3個の小文字のアルファベットの「tel」からなる文字列であり、レシートR1に係る電話番号明示情報J31と文字列の態様が相違する。
レシートR2において、店舗電話番号関連情報J3の一行下には、店舗住所情報J2が印刷される。
このように、レシートR2は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に3つのエリア分割情報が印刷され、これら3つのエリア分割情報により、印刷領域が、上から順番に、エリアAB1、エリアAB2、エリアAB3、及び、エリアAB4の4つのエリアに区分けされる。エリアAB1には、ロゴ情報J1、レシート識別関連情報J4、及び、発行日時情報J5がこの順番で印刷される。エリアAB2には、1又は複数の明細情報J6、小計関連情報J7、及び、税関連情報J8がこの順番で印刷される。エリアAB3には、合計金額関連情報J9が印刷される。エリアAB4には、付加情報J10、店舗電話番号関連情報J3、及び、店舗住所情報J2がこの順番で印刷される。
上述したように、レシートR2に係る印刷装置12が発行するレシートのレイアウトは、顧客が購入した商品の内容にかかわらず、レシートR2で示すレイアウトと同様である。
また、図4の(A)と、図4の(B)との比較で明らかなとおり、レシートR1と、レシートR2とでは、レイアウトが異なる。
図3の(B)に示すように、ステップSB2でレシートを発行した後、印刷装置制御部30は、印刷データに基づいて、印刷テキストデータ(テキストデータ)を生成する(ステップSB3)。以下、ステップSB3の処理について詳述する。
印刷テキストデータは、印刷データに基づいて印刷される情報のうち、文字として印刷される情報がテキスト(文字コード)によって記述されたテキストデータである。
なお、本実施形態において、印刷データには、1又は複数の文字コードを含み、文字コードに基づく文字の印刷を指示する制御コマンド(以下、「文字列印刷指示コマンド」という。)を含めることができる。文字列印刷指示コマンドには、当該コマンドに基づいて印刷させる文字に施す修飾を指定する情報を含めることができる。文字に施す修飾とは、例えば、太字化、アンダーラインの付加、強調点の付加、白黒の反転、回転、右寄せ、中央寄せ、左寄せ等である。また、印刷装置12の印刷装置記憶部32は、文字コードのそれぞれと、文字コードに係る文字に対応するフォントデータを記憶するフォントテーブルを記憶する。
そして、印刷装置12の印刷装置制御部30は、文字列印刷指示コマンドに基づいて、当該コマンドに含まれる文字コードのそれぞれを、対応するフォントデータのそれぞれに変換し、フォントデータに対して当該コマンドで指定された装飾を反映して画像バッファーにイメージデータとして展開し、画像バッファーに展開したイメージデータに基づいて、文字を印刷する機能を有する。
ステップSB3において、印刷装置制御部30は、印刷データから、文字列印刷指示コマンドや、改行を指示する改行コマンド等の文字列の印刷に関する制御コマンドを抽出する。次いで、印刷装置制御部30は、抽出した制御コマンドに基づいて、レシートに文字として印刷される情報がテキストによって記述された印刷テキストデータを生成する。
印刷テキストデータには、印刷で行われる改行が反映された状態で情報が記述される。
また、印刷テキストデータには、文字列印刷指示コマンドで指定された装飾は反映されない状態で情報が記述される。従って、文字列印刷指示コマンドにおいて、文字に施す装飾として、中央寄せ、右寄せが指示された場合でも、印刷テキストデータへの文字の記述に際し、これら装飾は反映されない。
なお、空白文字(スペースや、ブランクと呼ばれる場合もある。)は、文字コードが割り当てられた文字であり、印刷テキストデータに記述される。
図5の(A)は、図4の(A)で例示したレシートR1に係る印刷データに基づいて生成される印刷テキストデータT1の内容を示す図である。図4の(A)と、図5の(A)との比較で明らかなとおり、印刷テキストデータT1には、レシートR1に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
図5の(B)は、図4の(B)で例示したレシートR2に係る印刷データに基づいて生成される印刷テキストデータT2の内容を示す図である。図4の(B)と、図5の(B)との比較で明らかなとおり、印刷テキストデータT2には、レシートR2に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
なお、ロゴ情報J1は、フォントデータに基づいて印刷される情報ではなく、ビットマップデータ等のグラフィック画像データに基づいて印刷される情報である。図5の(A)、及び、(B)に示すように、文字コードに対応するフォントデータに基づいて印刷される情報以外の情報は、印刷テキストデータには記述されない。
図3の(B)に示すように、ステップSB3で印刷テキストデータを生成した後、印刷装置制御部30は、シリアル番号J11、ステップSB1で受信した印刷データ、及び、ステップSB3で生成した印刷テキストデータを、制御サーバー15に送信する(ステップSB4)。
シリアル番号J11は、印刷装置12の製造段階で、印刷装置12に一意に割り当てられる識別情報である。
なお、ステップSB4において、シリアル番号J11等を送信するのに必要な通信に関する情報(送信先に関する情報や、通信に用いるプロトコル、送信するデータのフォーマット等)は、印刷装置12に事前に登録される。
図3の(C)に示すように、制御サーバー15の制御サーバー制御部40は、制御サーバーネットワーク通信部41を制御して、印刷装置12が送信したシリアル番号J11、印刷データ、及び、印刷テキストデータを受信する(ステップSC1)。
次いで、制御サーバー制御部40は、テキストデータ管理データベース421に1件のレコードを登録する(ステップSC2)。
図6は、テキストデータ管理データベース421の1件のレコードが有する情報を模式的に示す図である。
図6に示すように、テキストデータ管理データベース421の1件のレコードは、統括識別情報J12と、シリアル番号J11と、印刷データと、印刷テキストデータとを有する。
統括識別情報J12は、テキストデータ管理データベース421のレコードを識別する識別情報である。統括識別情報J12は、テキストデータ管理データベース421の各レコードについて一意な値であるため、対応する印刷データ、及び、対応する印刷テキストデータを識別する識別情報として使用することができる。
ステップSC2において、制御サーバー制御部40は、所定のルールに従って、統括識別情報J12を生成する。
次いで、制御サーバー制御部40は、生成した統括識別情報J12と、受信したシリアル番号J11、印刷データ、及び、印刷テキストデータとを対応付けたレコードを、テキストデータ管理データベース421に登録する。
ステップSC2の処理後、制御サーバー制御部40は、レイアウト情報管理データベース423(後述)を参照し、当該データベースに、受信したシリアル番号J11の値と同一の値のシリアル番号J11を有するレコードが存在するか否かを判別する(ステップSC3)。ステップSC3の処理については後に詳述する。
レコードが存在しない場合(ステップSC3:NO)、制御サーバー制御部40は、テキストデータ分析処理を実行する(ステップSC4)。次いで、制御サーバー制御部40は、テキストデータ分析処理の結果に基づいて、レイアウト情報管理データベース423に1件のレコードを生成し(ステップSC5)、会計情報管理データベース422に1件のレコードを生成する(ステップSC6)。ステップSC4〜ステップSC6の処理については後に詳述する。
レコードが存在する場合(ステップSC3:YES)、制御サーバー制御部40は、対応するレコードからレイアウト情報を取得し(ステップSC7)、取得したレイアウト情報に基づいて分析データを生成し(ステップSC8)、生成した分析データに基づいて会計情報管理データベース422に1件のレコードを生成する(ステップSC9)。ステップSC7〜ステップSC9の処理については、ステップSC3の処理と併せて後に詳述する。
次に、ステップSC4〜ステップSC6の処理について説明する。
ステップSC4のテキストデータ分析処理は、印刷テキストデータに記述された単語、又は、単語群(単語、及び、単語群については後述。)のうち、所定のものを項目分けし、項目分けの結果に基づいて分析データ(後述)を生成する処理である。
単語又は単語群を項目分けするとは、レシートに印刷される単語又は単語群のうち、所定の単語又は単語群について、予め定められた項目に対する項目値であることを特定し、所定の項目の項目値として特定した単語又は単語群を、当該所定の項目と対応付けることを意味する。
例えば、項目として、店舗住所情報J2を項目値として有する項目がある場合において、印刷テキストデータが有する情報の中から、店舗住所情報J2を特定し、当該項目と、特定した店舗住所情報J2とを対応付けることが「所定の単語又は単語群の項目分け」に相当する。
以下、項目として、適宜、以下の項目があるものとして、図5の(A)の印刷テキストデータT1、及び、図5の(B)の印刷テキストデータT2を用いて、テキストデータ分析処理について説明する。項目は、店舗住所情報J2を項目値として有する店舗住所項目、店舗電話番号情報J32を項目値として有する店舗電話番号項目、レシート識別情報J42を項目値として有するレシート識別項目、発行日時情報J5を項目値として有する発行日時項目、購入数量情報J61を項目値として有する購入数量項目、購入商品名称情報J62を項目値として有する購入商品名称項目、単価情報J63を項目値として有する単価項目、小計情報J72を項目値として有する小計項目、税額情報J82を項目値として有する税額項目、及び、合計金額情報J92を項目値として有する合計金額項目である。
図7は、テキストデータ分析処理の詳細を示すフローチャートである。
以下の説明では、印刷テキストデータを含むテキストデータにおいて、改行を表す文字コードを、「改行文字」と表現する。
図7に示すように、制御サーバー制御部40は、印刷テキストデータに含まれる情報を単語に分解する。(ステップSD1)。
詳述すると、制御サーバー制御部40は、印刷テキストデータに含まれる情報について、区切文字によって区切られた(分離された)連続する一連の文字列(1文字の場合もある。以下、1文字も、適宜、「文字列」と表現する。)を1つの単語として、印刷テキストデータに含まれる情報を単語に分解する。連続する一連の文字列とは、同一行内で区切文字を挟むことなく連続する1又は複数の実文字を意味する。実文字とは、区切文字以外の文字である。
本実施形態では、「区切文字」は、空白文字、及び、改行文字である。
図5の(A)で例示する印刷テキストデータT1については、制御サーバー制御部40のステップSD1の処理により、以下の単語に分解される。
店舗住所情報J2が有する単語「1234」、単語「XXXStreet、New」、単語「York」。
電話番号明示情報J31に係る単語「TEL」、店舗電話番号情報J32に係る単語「12−345−678」。
1つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」。
レシート識別明示情報J41に係る単語「Check♯:」、レシート識別情報J42に係る単語「C0001」。
発行日時情報J5に係る単語「1/1/2015/12:00」。
2つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」。
1つ目の明細情報J6の購入数量情報J61に係る単語「1」、購入商品名称情報J62に係る単語「Beer」、単価情報J63に係る単語「10.00」。
2つ目の明細情報J6の購入数量情報J61に係る単語「1」、購入商品名称情報J62に係る単語「Toy」、単価情報J63に係る単語「60.00」。
1つ目の第2エリア分割情報SK2に係る単語「〜〜〜・・・〜」。
小計明示情報J71に係る単語「SUBTOTAL」、小計情報J72に係る単語「70.00」。
税明示情報J81に係る単語「TAX」、税額情報J82に係る単語「6.13」。
合計金額明示情報J91に係る単語「TOTAL」、合計金額情報J92に係る単語「$76.13」。
3つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」。
付加情報J10が有する単語「THANK」、単語「YOU!」。
図5の(B)で例示する印刷テキストデータT2については、制御サーバー制御部40のステップSD1の処理により、以下の単語に分解される。
レシート識別明示情報J41に係る単語「CheckNO.」、レシート識別情報J42に係る単語「C0001」。
発行日時情報J5に係る単語「1/1/2015/12:00」。
1つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」。
1つ目の明細情報J6の購入商品名称情報J62に係る単語「Beer」、購入数量情報J61に係る単語「1」、単価情報J63に係る単語「10.00」。
2つ目の明細情報J6の購入商品名称情報J62に係る単語「Toy」、購入数量情報J61に係る単語「1」、単価情報J63に係る単語「60.00」。
小計明示情報J71に係る単語「subtotal」、小計情報J72に係る単語「70.00」。
税明示情報J81に係る単語「tax」、税額情報J82に係る単語「6.13」。
1つ目の第3エリア分割情報SK3に係る単語「===・・・=」。
合計金額明示情報J91に係る単語「total」、合計金額情報J92に係る単語「$76.13」。
1つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」。
付加情報J10が有する単語「THANK」、単語「YOU!」。
電話番号明示情報J31に係る単語「tel」、店舗電話番号情報J32に係る単語「12−345−678」。
店舗住所情報J2が有する単語「1234」、単語「XXXStreet、New」、単語「York」。
ステップSD1の処理後、制御サーバー制御部40は、ステップSD1で分解した単語のうち、所定の複数の単語について、所定の複数の単語からなる「単語群」を抽出する(ステップSD2)。以下、詳述する。
単語群とは、複数の単語の組み合わせによって、1つのまとまった意味を有した情報として成立する場合の、これら複数の単語の組み合わせのことをいう。印刷テキストデータT1、及び、印刷テキストデータT2の例では、単語「1234」、単語「XXXStreet、New」、単語「York」は、単体では意味をなさない。これら単語は、これら単語が組み合わされ、単語群「1234△XXXStreet、New△York」(△は、区切文字である空白文字を表す。以下、同じ。)となって初めて、店舗の住所を示す情報(店舗住所情報J2)という意味を持った情報となる。この場合において、単語群「1234△XXXStreet、New△York」が、ステップSD2で抽出される「単語群」に相当する。
また、印刷テキストデータT1、及び、印刷テキストデータT2の例では、単語「THANK」、単語「YOU!」は、単体では意味をなさない。これら単語は、これら単語が組み合わされ、単語群「THANK△YOU!」となって初めて、顧客に対する感謝を表す情報(付加情報J10)という意味を持った情報となる。この場合において、単語群「THANK△YOU!」が、ステップSD2で抽出される「単語群」に相当する。
制御サーバー制御部40は、例えば、以下の方法で、分解した「単語」に基づいて、「単語群」を抽出する。
例えば、店舗住所情報J2については、制御サーバー制御部40は、以下の処理を実行する。すなわち、制御サーバー15には、予め、住所として使用可能な用語(例えば、用語「New△York」)が登録される。用語は空白文字を含んでもよい。また、制御サーバー15には、予め、住所を表す場合のルールを示す情報が登録される。住所を表す場合のルールとは、該当する地域においては、「数値により表される番地、ストリート名、行政区域を示す情報の順番で住所が表される。」等の、該当する地域において住所を表す場合の規則を意味する。
そして、制御サーバー制御部40は、住所として使用可能な用語を含み、その用語の前後の単語が、住所を表す場合のルールに従って記述された状態の場合、「登録された用語を含み、住所を表す場合のルールに従って記述された情報」に属する一連の単語を、店舗住所情報J2に係る単語群として抽出する。
単語群を抽出する処理はどのような方法で行われてもよい。
ステップSD2で単語群を抽出した後、制御サーバー制御部40は、単語データを生成する(ステップSD3)。単語データは、ステップSD2で抽出した単語群のそれぞれ、及び、単語群に属する単語を除く単語のそれぞれが記述されたデータである。
図8の(A)は、印刷テキストデータT1(図5の(A))に基づく単語データTD1の内容を示す。図8の(B)は、印刷テキストデータT2(図5の(B))に基づく単語データTD2の内容を示す。
以下、ステップSD2で抽出した単語群を「特定単語群」と表現する。また、ステップSD1で分解された単語のうち、特定単語群に属する単語を除く単語のそれぞれを「特定単語」と表現する。また、特定単語と、特定単語群とを区別しない場合、「対象単語」と表現する。
ステップSD3の処理後、制御サーバー制御部40は、対象単語を、印刷テキストデータにおける行に分解し、各行と、各行に属する対象単語との対応関係が記述された行データを生成する(ステップSD4)。すなわち、印刷テキストデータは、1又は複数の対象単語が記述された複数の行からなるデータである。そして、ステップSD4において、制御サーバー制御部40は、第何行目に、どの対象単語が属するかを判別し、何行目という情報と、その行に属する対象単語との対応関係を示す情報が記述された行データを生成する。
図9の(A)は、印刷テキストデータT1(図5の(A))に基づいて生成される行データGG1の内容を模式的に示す図である。
図9の(A)の行データGG1に示すように、図5の(A)で例示する印刷テキストデータT1については、制御サーバー制御部40のステップSD2の処理により、各単語が以下の態様で行に分解される。
第1行目→単語群「1234△XXXStreet、New△York」。
第2行目→単語「TEL」、単語「12−345−678」。
第3行目→単語「−−−・・・−」。
第4行目→単語「Check♯:」、単語「C0001」。
第5行目→単語「1/1/2015/12:00」。
第6行目→単語「−−−・・・−」。
第7行目→単語「1」、単語「Beer」、単語「10.00」。
第8行目→単語「1」、単語「Toy」、単語「60.00」。
第9行目→単語「〜〜〜・・・〜」。
第10行目→単語「SUBTOTAL」、単語「70.00」。
第11行目→単語「TAX」、単語「6.13」。
第12行目→単語「TOTAL」、単語「$76.13」。
第13行目→単語「−−−・・・−」。
第14行目→単語群「THANK△YOU!」。
図9の(B)は、印刷テキストデータT2(図5の(B))に基づいて生成される行データGG2の内容を模式的に示す図である。
図9の(B)の行データGG2に示すように、図5の(B)で例示する印刷テキストデータT2については、制御サーバー制御部40のステップSD2の処理により、各単語が以下の態様で行に分解される。
第1行目→単語「CheckNO.」、単語「C0001」。
第2行目→単語「1/1/2015/12:00」。
第3行目→単語「−−−・・・−」。
第4行目→単語「Beer」、単語「1」、単語「10.00」。
第5行目→単語「Toy」、単語「1」、単語「60.00」。
第6行目→単語「subtotal」、単語「70.00」。
第7行目→単語「tax」、単語「6.13」。
第8行目→単語「===・・・=」。
第9行目→単語「total」、単語「$76.13」
第10行目→単語「−−−・・・−」。
第11行目→単語「THANK△YOU!」。
第12行目→単語「tel」、単語「12−345−678」。
第13行目→単語「1234△XXXStreet、New△York」。
次いで、制御サーバー制御部40は、エリア分割情報を利用して、印刷テキストデータに含まれる情報をエリアに分ける。そして、制御サーバー制御部40は、「各エリアと、各エリアに属する対象単語との対応関係、」及び、「各対象単語が属する「行」」が記述されたエリアデータを生成する(ステップSD5)。以下、詳述する。
ここで、上述したように、レシートのレイアウトは、レシートを発行するPOSシステム、印刷装置12に応じて、異なる場合がある。一方で、レシートに印刷される情報については、レイアウトの相違にかかわらず、変わらないルール(以下、「レシート基本ルール」という。)がある。つまり、レシートには、レイアウトにかかわらず、レシート基本ルールに従って情報が印刷される。
レシート基本ルールとして、レシートに印刷される情報は、エリア分割情報によって印刷領域が区切られ、エリア分割情報を境としてエリアが分けられるというレシート基本ルールがある。これは、以下の理由による。すなわち、レシートには、顧客が買い物をした店舗に関する情報(例えば、ロゴ情報J1、店舗住所情報J2、店舗電話番号関連情報J3)や、顧客が購入した商品に関する情報(例えば、明細情報J6)、レシート自体に関する情報(例えば、レシート識別関連情報J4、発行日時情報J5)、顧客の支払いに関する情報(例えば、小計関連情報J7、税関連情報J8、合計金額関連情報J9)等の、異なる属性(異なる意味合い)の情報が印刷される。そして、レシートの印刷領域をエリア分割情報によってエリアに分け、各エリアに同一又は関連する属性の情報を印刷することにより、レシートを視認した顧客が、レシートの内容を理解しやすくなるからである。
また、レシート基本ルールについて、エリア分割情報は、同一の特殊文字(後述)が1行内で所定個数以上、連続して構成された情報であるというレシート基本ルールがある。
特殊文字とは、エリア分けするというエリア分割情報の機能を実現するのに適した文字であり、本実施形態では、文字「−」、文字「〜」、文字「=」である。本実施形態で例示する特殊文字以外の特殊文字としては、文字「@」、文字「*」、文字「+」等が想定される。
また、レシート基本ルールについて、エリア分割情報と同一行には、エリア分割情報以外の情報が印刷されないというレシート基本ルールがある。
制御サーバー15には、エリア分割情報を構成する文字として使用される可能性のある特殊文字を示す情報が登録される。ステップSD5において、制御サーバー制御部40は、特定単語のうち、登録された特殊文字のいずれかの特殊文字が所定の個数以上、一行内で連続して続く情報であり、同一行に他の情報が存在しない情報を、エリア分割情報として特定する。
次いで、制御サーバー制御部40は、印刷テキストデータについて、特定した1又は複数のエリア分割情報によって区切られる各エリアを特定する。次いで、制御サーバー制御部40は、各エリアに属する対象単語を特定し、各エリアと、各エリアに属する対象単語との対応関係が、各対象単語が属する「行」と共に記述されたエリアデータを生成する(ステップSD5)。
以下、1の印刷テキストデータについて、エリア分割情報によって区切られる各エリアを、上から順番に、第1エリア、第2エリア・・・第Nエリアのように表現する。
図10の(A)は、印刷テキストデータT1(図5の(A))に基づいて生成されるエリアデータAD1の内容を示す。
印刷テキストデータT1について、制御サーバー制御部40は、1つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」、2つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」、1つ目の第2エリア分割情報SK2に係る単語「〜〜〜・・・〜」、3つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」を、エリア分割情報として特定する。次いで、特定したエリア分割情報により印刷テキストデータT1をエリアに分け、各エリアに属する対象単語を特定する。次いで、制御サーバー制御部40は、エリアと、エリアに属する対象単語との関係に基づいて、図10の(A)に示すエリアデータAD1を生成する。
図10の(B)は、印刷テキストデータT2(図5の(B))に基づいて生成されるエリアデータAD2の内容を示す。
印刷テキストデータT2について、制御サーバー制御部40は、1つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」、1つ目の第3エリア分割情報SK3に係る単語「===・・・=」、2つ目の第1エリア分割情報SK1に係る単語「−−−・・・−」を、エリア分割情報として特定する。次いで、特定したエリア分割情報により印刷テキストデータT2をエリアに分け、各エリアに属する対象単語を特定する。次いで、制御サーバー制御部40は、エリアと、エリアに属する対象単語との関係に基づいて、図10の(B)に示すエリアデータAD2を生成する。
ステップSD5の処理後、制御サーバー制御部40は、印刷テキストデータ、単語データ、行データ、及び、エリアデータに基づいて、対象単語を項目分けする(ステップSD6)。上述したように、対象単語を項目分けするとは、対象単語のうち、所定の対象単語について、予め定められた項目のうち、所定の項目に対する項目値であることを特定し、当該所定の項目と対応付けることを意味する。以下、ステップSD6の処理について例を挙げて詳述する。
以下、印刷テキストデータに記述される単語について、「データ型」を以下のとおり定義する。すなわち、小数点を含まない数値を表す単語、又は、小数点を含む数値を表す単語のデータ型を「数値型」と定義する。例えば、単語「1」、単語「10.00」が「数値型」の単語である。
また、通貨記号又は通貨単位と、「数値型」の情報からなる単語のデータ型を「金額型」と定義する。例えば、単語「$76.13」が「金額型」の単語である。
また、「通貨記号又は通貨単位」以外の単位を表す文字と、「数値型」の情報とからなる単語のデータ型を「単位型」と定義する。例えば、単語「@1」が「単位型」の単語である。
また、「数値型」、「金額型」、「単位型」以外の単語であり、数字を示す、単位を示す文字、及び、記号を示す文字以外の文字を少なくとも1つ含む単語のデータ型を「テキスト型」と定義する。
購入数量情報J61、購入商品名称情報J62、及び、単価情報J63について、制御サーバー制御部40は、以下の方法で、これら情報に対応する単語の項目分けをする。つまり、制御サーバー制御部40は、以下方法で、対象単語のうち、どの対象単語が購入数量情報J61であり、どの対象単語が購入商品名称情報J62であり、また、どの対象単語が単価情報J63であるかを特定し、それぞれの対象単語を、対応する項目と対応付ける。
ここで、1の種類の商品に係る購入数量情報J61、購入商品名称情報J62、及び、単価情報J63について、これら情報は、レシートのレイアウトにかかわらず、一行内に印刷されるというレシート基本ルールがある。これら情報は、レシートに印刷されることが必須の情報であるからであり、また、これら情報を同一行に印刷することにより、これら情報が1つの種類の商品に関連する情報であることが明示されるからである。また、これら情報を同一行に印刷することにより、明細情報J6が、複数個(=複数行)、レシートに印刷された場合に、購入数量情報J61、購入商品名称情報J62、及び、単価情報J63の対応関係が明確化するからである。
また、購入数量情報J61、購入商品名称情報J62、及び、単価情報J63を含む明細情報J6がレシートに複数印刷される場合、明細情報J6のそれぞれは同一のエリアに印刷されるというレシート基本ルールがある。明細情報J6のぞれぞれは、同一の属性の情報だからである。
また、購入数量情報J61は数値型又は単位型の単語であり、購入商品名称情報J62はテキスト型の単語であり、単価情報J63は数値型又は金額型の単語であるというレシート基本ルールがある。
以上を踏まえ、制御サーバー制御部40は、行データに基づいて、数値型又は単位型の対象単語と、テキスト型の対象単語と、数値型又は金額型の対象単語とが、並び順にかかわらず同一の一行内に存在する1又は複数の「行」を特定する。ここで特定された「行」は、明細情報J6が印刷された「行」に相当する。制御サーバー制御部40は、特定した「行」において、テキスト型の対象単語が、購入商品名称情報J62であり、購入商品名称項目に対応する項目値であることを特定する。
また、制御サーバー制御部40は、特定した「行」において、数値型又は単位型の対象単語、及び、数値型又は金額型の対象単語について、いずれの対象単語が購入数量情報J61であり、いずれの対象単語が単価情報J63であるかを判別する。例えば、制御サーバー制御部40は、金額型の対象単語は単価情報J63と判別する。また、制御サーバー制御部40は、単位型の対象単語は購入数量情報J61と判別する。また、制御サーバー制御部40は、2つの対象単語がいずれも数値型の単語である場合は、2つの対象単語が示す数値の大きさや、他の明細情報J6における対応する2つの対象単語が示す数値との関係に基づいて、いずれの対象単語が購入数量情報J61であり、いずれの対象単語が単価情報J63であるかを判別する。
制御サーバー制御部40は、購入数量情報J61と特定した対象単語を購入数量項目と対応付け、購入商品名称情報J62と特定した対象単語を購入商品名称項目と対応付け、単価情報J63と特定した対象単語を単価項目と対応付ける。
以上のように、購入数量情報J61、購入商品名称情報J62、及び、単価情報J63に対応する単語ついて、制御サーバー制御部40は、これら単語の位置関係(これら単語が同一行内に印刷されるという位置関係)、及び、これら単語のデータ型に基づいて、項目分けする。そして、これら単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
小計情報J72、税額情報J82、及び、合計金額情報J92について、制御サーバー制御部40は、以下の方法で、これら情報に対応する単語の項目分けをする。
レシート基本ルールとして、小計情報J72、税額情報J82、及び、合計金額情報J92は、この順番で、印刷されるというルールがある。小計が確定して、税額が確定し、小計及び税額が確定して合計金額が確定するからである。例えば、これら情報が異なる行に印刷される場合は、レシートにおいて下方へ向かって、小計情報J72、税額情報J82、合計金額情報J92の順番で印刷される。また例えば、これら情報の少なくとも2つが同一の行に印刷される場合は、対応する一行において右へ向かって小計情報J72、税額情報J82、合計金額情報J92の順番で印刷される。
また、レシート基本ルールとして、小計情報J72、税額情報J82、及び、合計金額情報J92は、同一のエリアに印刷されるか、又は、隣接するエリアに印刷されるというレシート基本ルールがある。これら情報は、同一の属性の情報だからであり、また、近接する位置に印刷されることによって、それぞれの情報の関係が明確となるからである。
また、レシート基本ルールとして、小計情報J72は、小計明示情報J71と隣接してレシートに印刷されるというレシート基本ルールがある。小計情報J72に対応する単語のデータ型は、数値型又は金額型であり、小計情報J72が何を意味するかを小計明示情報J71によって明示する必要があるからである。また、レシート基本ルールとして、小計情報J72に対応する単語のデータ型は数値型又は金額型であり、小計明示情報J71に対応する単語のデータ型はテキスト型であるというレシート基本ルールがある。
また、レシート基本ルールとして、税額情報J82は、税明示情報J81と隣接してレシートに印刷されるというレシート基本ルールがある。税額情報J82に対応する単語のデータ型は、数値型又は金額型であり、税額情報J82が何を意味するかを税明示情報J81によって明示する必要があるからである。また、レシート基本ルールとして、税額情報J82に対応する単語のデータ型は数値型又は金額型であり、税明示情報J81に対応する単語のデータ型はテキスト型であるというレシート基本ルールがある。
また、レシート基本ルールとして、合計金額情報J92は、合計金額明示情報J91と隣接してレシートに印刷されるというレシート基本ルールがある。合計金額情報J92に対応する単語のデータ型は、数値型又は金額型であり、合計金額情報J92が何を意味するかを合計金額明示情報J91によって明示する必要があるからである。また、レシート基本ルールとして、合計金額情報J92に対応する単語のデータ型は数値型又は金額型であり、合計金額明示情報J91に対応する単語のデータ型はテキスト型であるというレシート基本ルールがある。
制御サーバー制御部40は、上述した小計情報J72、税額情報J82、及び、合計金額情報J92に関連するレシート基本ルールに従って、印刷テキストデータ、単語データ、行データ、エリアデータに基づいて、これら情報に対応する単語の項目分けを行う。
例えば、小計情報J72について、制御サーバー制御部40は、以下の処理を行う。
すなわち、制御サーバー15には、小計明示情報J71に含めることが可能な用語が予め登録される。制御サーバー制御部40は、登録された用語に基づいて、小計明示情報J71に対応する対象単語の候補を抽出する。制御サーバー制御部40は、「小計明示情報J71に対応する単語のデータ型がテキスト型であること」、「小計明示情報J71に対応する単語が数値型又は金額型の小計情報J71に対応する単語に隣接すること」、「小計明示情報J71に対応する単語が税明示情報J81に対応する単語よりも前に存在すること」、「小計明示情報J71に対応する単語が、税明示情報J81又は合計金額明示情報J91と同一又は隣接するエリアに存在すること」を踏まえて、印刷テキストデータ、単語データ、行データ、エリアデータに基づいて、抽出した候補から、小計明示情報J71に対応する対象単語を特定する。次いで、制御サーバー制御部40は、小計明示情報J71との位置関係、小計明示情報J71以外の単語との位置関係、及び、データ型に基づいて、小計情報J72に対応する対象単語を特定し、特定した対象単語を、小計項目と対応付ける。
制御サーバー制御部40は、小計情報J72に対応する対象単語の項目付けと同様の方法により、税額情報J82に対応する対象単語を特定して税額項目と対応付け、また、合計金額情報J92に対応する対象単語を特定して合計金額項目と対応付ける。
以上のように、小計情報J72、税額情報J82、及び、合計金額情報J92に対応する単語ついて、制御サーバー制御部40は、これら単語の位置関係、これら単語以外の単語との位置関係、及び、これら単語のデータ型に基づいて、項目分けする。そして、これら単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
店舗住所情報J2について、制御サーバー制御部40は、以下の方法で、当該情報に対応する対象単語(本例では、単語群に係る対象単語)の項目分けをする。
すなわち、店舗住所情報J2に対応する対象単語は、上述したように、住所として使用可能な用語を含み、住所を表す場合のルールに従った情報を有する。また、レシート基本ルールとして、店舗住所情報J2は、明細情報J6、小計関連情報J7、税関連情報J8、又は、合計金額関連情報J9が印刷されるエリアとは異なるエリアに印刷されるというレシート基本ルールがある。店舗住所情報J2は、明細情報J6、小計関連情報J7、税関連情報J8、又は、合計金額関連情報J9とは異なる属性の情報だからである。制御サーバー制御部40は、対象単語の内容に基づいて、対象単語から店舗住所情報J2に対応する単語の候補を抽出する。制御サーバー制御部40は、候補とした対象単語と、明細情報J6、小計関連情報J7、税関連情報J8、又は、合計金額関連情報J9に係る対象単語との位置関係を踏まえて、抽出した候補から、店舗住所情報J2に対応する対象単語を特定する。次いで、制御サーバー制御部40は、特定した対象単語を、店舗住所項目と対応付ける。
以上のように、店舗住所情報J2に対応する単語について、制御サーバー制御部40は、他の対象単語との位置関係に基づいて項目分けする。そして、当該単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
レシート識別情報J42について、制御サーバー制御部40は、以下の方法で、当該情報に対応する対象単語の項目分けをする。
レシート基本ルールとして、レシート識別情報J42は、レシート識別明示情報J41と隣接してレシートに印刷されるというレシート基本ルールがある。レシート識別情報J42単体では意味をなさず、レシート識別情報J42が何を意味するかをレシート識別明示情報J41によって明示する必要があるからである。また、レシート基本ルールとして、レシート識別情報J42は、明細情報J6、小計関連情報J7、税関連情報J8、又は、合計金額関連情報J9が印刷されるエリアとは異なるエリアに印刷されるというレシート基本ルールがある。レシート識別情報J42は、明細情報J6、小計関連情報J7、税関連情報J8、又は、合計金額関連情報J9とは異なる属性の情報だからである。
制御サーバー15には、レシート識別明示情報J41に含めることが可能な用語が予め登録される。制御サーバー制御部40は、登録された用語に基づいて、レシート識別明示情報J41に対応する対象単語の候補を抽出する。制御サーバー制御部40は、上述したレシート識別情報J42に係るレシート基本ルールを踏まえて、印刷テキストデータ、単語データ、行データ、エリアデータに基づいて、抽出した候補から、レシート識別明示情報J41に対応する対象単語を特定する。次いで、制御サーバー制御部40は、レシート識別明示情報J41との位置関係や、レシート識別明示情報J41以外の単語との位置関係等に基づいて、レシート識別情報J42に対応する対象単語を特定し、特定した対象単語を、レシート識別項目と対応付ける。
以上のように、レシート識別関連情報J4に対応する単語について、制御サーバー制御部40は、他の対象単語との位置関係に基づいて項目分けする。そして、当該単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
発行日時情報J5について、制御サーバー制御部40は、以下の方法で、当該情報に対応する対象単語の項目分けをする。
すなわち、発行日時情報J5は、日時を表す場合のルールに従った所定の形式で情報が記述される。また、レシート基本ルールとして、発行日時情報J5は、明細情報J6、小計関連情報J7、税関連情報J8、又は、合計金額関連情報J9が印刷されるエリアとは異なるエリアに印刷されるというレシート基本ルールがある。発行日時情報J5は、明細情報J6、小計関連情報J7、税関連情報J8、又は、合計金額関連情報J9とは異なる属性の情報だからである。制御サーバー制御部40は、対象単語の内容に基づいて、対象単語から発行日時情報J5に対応する単語の候補を抽出する。制御サーバー制御部40は、上候補とした対象単語と、明細情報J6、小計関連情報J7、税関連情報J8、又は、合計金額関連情報J9に係る対象単語との位置関係を踏まえて、抽出した候補から、店舗住所情報J2に対応する対象単語を特定する。次いで、制御サーバー制御部40は、特定した対象単語を、発行日時項目と対応付ける。
以上のように、発行日時情報J5に対応する単語について、制御サーバー制御部40は、他の対象単語との位置関係に基づいて項目分けする。そして、当該単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
以上、単語又は単語群を項目分けする処理について具体例を挙げて説明したが、単語又は単語群を項目分けする方法は上述した方法に限らない。また、単語又は単語群を対応付けする対象となる項目も例示したものに限らず、また、印刷テキストデータに含まれる情報も、例示した情報に限らない。
図7に示すように、ステップSD6の処理後、制御サーバー制御部40は、整合性チェックを行う(ステップSD7)。
詳述すると、会計に係る合計金額、小計、及び、税額は以下の関係にある。「合計金額=小計+税額」。これを踏まえ、制御サーバー制御部40は、小計項目と対応付けられた対象単語(小計情報J72に対応する対象単語)が示す数値(小計)と、税額項目と対応付けられた対象単語(税額情報J82に対応する対象単語)が示す数値(税額)と、合計金額項目と対応付けられた対象単語(合計金額情報J92に対応する対象単語)が示す数値(合計金額)とが上記関係にあるか否かを判別する。上記関係に無い場合、制御サーバー制御部40は、対象単語の項目分けが失敗したと判別し、対応する処理を実行する。例えば、制御サーバー制御部40は、所定の方法で、対象単語の項目分けが失敗した可能性があることをオペレーター、その他の権限を有する者に報知する。
また、会計に関し、小計は、「商品の単価と購入数量との積」を、顧客が購入した商品のそれぞれについて合計した値である。これを踏まえ、制御サーバー制御部40は、「単価項目に対応付けられた対象単語(単価情報J63に対応する対象単語)が示す数値と、購入数量項目に対応付けられた対象単語(購入数量情報J61に対応する対象単語)が示す数値との積」を合計した値と、小計項目と対応付けられた対象単語(小計情報J72に対応する対象単語)が示す数値(小計)とが上記関係にあるか否かを判別する。上記関係に無い場合、制御サーバー制御部40は、対応する処理を実行する。
次いで、制御サーバー制御部40は、ステップSD7の処理結果に基づいて、分析データを生成し(ステップSD8)、テキストデータ分析処理を終了する。
分析データは、項目を階層化でき、各項目に項目値を対応付けて記述可能なテキストデータである。分析データは、例えば、XML形式や、JSON形式のデータである。
ステップSD8において、制御サーバー制御部40は、ステップSD6の処理で対象単語と対応付けられた項目のそれぞれについて、項目と、対象単語との対応関係を記述した分析データを生成する。
図11は、印刷テキストデータT1(図5の(A))に基づいて生成される分析データBS1の内容を説明に適した態様で模式的に示す図である。
図11に示すように、印刷テキストデータT1に基づく分析データには、店舗住所項目、店舗電話番号項目、レシート識別項目、発行日時項目、購入数量項目、購入商品名称項目、単価項目、小計項目、税額項目、及び、合計金額項目のそれぞれについて、対応する項目値が対応付けて記述される。
図3の(C)に示すように、ステップSC4でテキストデータ分析処理を実行した後、制御サーバー制御部40は、テキストデータ分析処理の処理結果に基づいて、レイアウト情報管理データベース423に1件のレコードを登録する(ステップSC5)。
詳述すると、ステップSC5において、制御サーバー制御部40は、テキストデータ分析処理で生成した単語データ、行データ、及び、エリアデータに基づいて、レイアウト情報を生成する。レイアウト情報は、印刷テキストデータにおいて、どのエリアに、どの対象項目が、どういった態様で記述されるのかを示す情報である。制御サーバー制御部40は、レイアウト情報に基づいて、印刷テキストデータが有する対象単語の項目分けが可能となる。また、レイアウト情報は、制御サーバー制御部40が、当該情報に基づいて印刷テキストデータが有する対象単語の項目分けが可能となるために必要な情報を有する。
レイアウト情報を生成した後、制御サーバー制御部40は、ステップSC1で受信したシリアル番号J11と、生成したレイアウト情報とが対応付けられた1件のレコードを、レイアウト情報管理データベース423に登録する。
続くステップSC6において、制御サーバー制御部40は、分析データに基づいて、会計情報管理データベース422に1件のレコードを登録する。
図12は、会計情報管理データベース422のデータ構造を模式的に示す図である。
図12に示すように、会計情報管理データベース422の1件のレコードは、統括識別情報J12、及び、シリアル番号J11を有する。また、会計情報管理データベース422は、店舗住所情報J2(店舗住所項目の項目値)、店舗電話番号情報J32(店舗電話番号項目の項目値)、レシート識別情報J42(レシート識別項目の項目値)、発行日時情報J5(発行日時項目の項目値)、小計情報J72(小計項目の項目値)、税額情報J82(税額項目の項目値)、及び、合計金額情報J92(合計金額項目の項目値)を有する。また、会計情報管理データベース422の1件のレコードは、顧客が購入した商品ごとに、明細情報J6を有する。各明細情報J6は、購入数量情報J61(購入数量項目の項目値)、購入商品名称情報J62(購入商品名称項目の項目値)、及び、単価情報J63(単価項目の項目値)を有する。
図12において、レコードRC121は、印刷テキストデータT1に基づいて生成されるレコードを示す。
ステップSC6で、制御サーバー制御部40は、分析データから、各項目の項目値を取得し、取得した項目値を、新たに生成するレコードの対応するフィールドに格納する。
上述したように、ステップSC3において、制御サーバー制御部40は、レイアウト情報管理データベース423(後述)を参照し、当該データベースに、ステップSC1で受信したシリアル番号J11の値と同一の値のシリアル番号J11を有するレコードが存在するか否かを判別する。
上述したように、印刷データ等の送信元の印刷装置12について、過去にテキストデータ分析処理が行われた場合、レイアウト情報管理データベース423に、当該印刷装置12のシリアル番号J11とレイアウト情報とが対応付けられたレコードが記憶された状態である。
レイアウト情報管理データベース423に、ステップSC1で受信したシリアル番号J11の値と同一の値のシリアル番号J11を有するレコードが存在する場合(ステップSC3:YES)、制御サーバー制御部40は、当該レコードが有するレイアウト情報を取得する(ステップSC7)。
次いで、制御サーバー制御部40は、ステップSC1で受信した印刷テキストデータ、及び、ステップSC7で取得したレイアウト情報に基づいて、分析データを生成する(ステップSC8)。上述したように、レイアウト情報は、制御サーバー制御部40が、当該情報に基づいて印刷テキストデータが有する対象単語の項目分けが可能となるために必要な情報を有する。
次いで、制御サーバー制御部40は、ステップSC8で生成した分析データに基づいて、レイアウト情報管理データベース423にレコードを生成する(ステップSC9)。
以上のように、会計情報管理データベース422には、店舗で行われる会計に応じて、会計ごとに、レコードが生成される。また、会計情報管理データベース422の1件のレコードは、顧客が購入した商品に関する情報(明細情報J6等)や、顧客の支払いに関する情報(小計情報J72や、税額情報J82、合計金額情報J92等)等のレシートに印刷される有益な情報を有する。従って、制御サーバー15は、会計情報管理データベース422に基づいて、問い合わせに応じて、特定の店舗の売上に関する情報や、特定の店舗で購入された商品に関する情報等、店舗の経営にとって有益な情報の提供が可能となる。
以上説明したように、本実施形態では、制御サーバー15は、印刷される情報をテキストとして有する印刷テキストデータ(テキストデータ)を処理する。そして、制御サーバー15の制御サーバー制御部40(制御部)は、印刷テキストデータに含まれる情報を単語に分解し、単語の位置関係に基づいて、単語、又は、複数の単語からなる単語群を項目分けする。
この構成によれば、印刷テキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、印刷テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
また、本実施形態では、制御サーバー制御部40は、単語の位置関係、及び、単語のデータ型に基づいて、単語又は単語群を項目分けする。
この構成によれば、単語のデータ型を利用して、単語又は単語群の項目分けをより的確に行うことができる。
また、本実施形態では、制御サーバー制御部40は、単語又は単語群の項目分けの結果に基づいて、項目が階層化され、各項目と、項目値としての単語又は単語群とが対応付けられた分析データを生成する。
この構成によれば、後に、分析データを使用して、項目分けされた単語又は単語群を用いた処理を実行できる。
また、本実施形態では、印刷テキストデータは、所定のレイアウトに従って印刷される情報が、当該所定のレイアウトに従って記述されたデータである。制御サーバー制御部40は、単語又は単語群の項目分けの結果に基づいて、印刷テキストデータに対応する所定のレイアウトに関する情報であり、当該所定のレイアウトに係る印刷テキストデータが有する単語又は単語群の項目分けに利用可能な情報であるレイアウト情報を生成する。
この構成によれば、レイアウト情報を生成した後は、レイアウト情報に基づいて簡易に単語又は単語群の項目分けが可能となる。
また、本実施形態では、制御サーバー制御部40は、ステップSD7の整合性チェックで説明したように、1の項目、及び、他の項目について、当該1の項目に対応する項目値と、当該他の項目に対応する項目値とが所定の関係であるときに、これら項目値の整合性がとれた状態である場合に、単語又は単語群を項目分けした後、当該1の項目に項目値として対応付けられた単語又は単語群と、当該他の項目に項目値として対応付けられた単語又は単語群との関係が当該所定の関係であるか否かを判別する。
この構成によれば、制御サーバー制御部40は、単語又は単語群の項目分けが正常に行われてない場合に、そのことを検出できる。
また、本実施形態では、制御サーバー制御部40は、所定の区切文字を区切りとして、単語の分解を行う。
この構成によれば、区切文字を利用して、的確に印刷テキストデータが有する情報を単語に分解できる。
<変形例>
上述した実施形態では、テキストデータ分析処理を制御サーバー15が行う構成であった。しかしながら、テキストデータ分析処理を実行する主体は、制御サーバー15に限らず、印刷装置12でもよい。この場合、印刷装置12が「情報処理装置」として機能し、処理を実行する印刷装置制御部30が「制御部」として機能する。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した制御サーバー15の制御方法(情報処理装置の制御方法)が、制御サーバー15が備えるコンピューター、又は、制御サーバー15に接続される外部装置を用いて実現される場合、本発明を、当該方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。上記記録媒体としては、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、HDD(Hard Disk Drive)、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、Blu−ray(登録商標)Disc、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型の、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、制御サーバー15や、制御サーバー15に接続された外部装置が備える内部記憶装置であるRAM(Random Access Memory)、ROM(Read Only Memory)、HDD等の不揮発性記憶装置でもよい。
また例えば、上述した実施形態では、会計に応じて、印刷装置12が印刷データに基づいて印刷テキストデータを生成した。しかしながら、制御サーバー15が、印刷装置12から印刷データを受信し、受信した印刷データに基づいて印刷テキストデータを生成する構成でもよい。
また例えば、上述した実施形態では、会計情報管理データベース422、及び、レイアウト情報管理データベース423が記憶する情報を具体的に例示して説明したが、これらデータベースが記憶する情報は例示した情報に限らない。
また例えば、上述した実施形態では、印刷装置12と、ホストコンピューターとして機能するタブレット端末13とは、無線通信する構成であった。しかしながら、印刷装置12とホストコンピューターとは、無線通信に限らず、有線LANに係る通信規格や、USB、USB以外のシリアル通信に係る通信規格、パラレル通信に係る規格に従って有線通信する構成でもよい。また、ホストコンピューターは、タブレット端末13のように、タブレット型の装置に限らず、例えば、据え置き型の装置でもよい。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
1…会計システム、12…印刷装置、13…タブレット端末、15…制御サーバー、20…タブレット端末制御部、201…タブレット端末アプリケーション実行部、21…タブレット端末通信部、22…タッチパネル、23…タブレット端末記憶部、30…印刷装置制御部、31…印刷部、32…印刷装置記憶部、33…印刷装置通信部、34…印刷装置ネットワーク通信部、35…デバイス通信部、40…制御サーバー制御部、41…制御サーバーネットワーク通信部、42…制御サーバー記憶部、421…テキストデータ管理データベース、422…会計情報管理データベース、423…レイアウト情報管理データベース、BR…バーコードリーダー、CD…カスタマーディスプレー、JT…自動釣銭機、GN…グローバルネットワーク。

Claims (9)

  1. 印刷される情報であるテキストデータを処理する情報処理装置であって、
    前記テキストデータに含まれる情報を単語に分解し、
    前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けする制御部を有する
    ことを特徴とする情報処理装置。
  2. 前記テキストデータを送信する印刷装置と通信可能であり、
    前記制御部は、
    前記印刷装置から、前記テキストデータを受信する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御部は、
    前記単語の位置関係、及び、前記単語のデータ型に基づいて、前記単語又は前記単語群を項目分けする
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記制御部は、
    前記単語又は前記単語群の項目分けの結果に基づいて、項目が階層化され、各項目と、項目値としての前記単語又は前記単語群とが対応付けられた分析データを生成する
    ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記テキストデータは、所定のレイアウトに従って印刷される情報が、前記所定のレイアウトに従って記述されたデータであり、
    前記制御部は、
    前記単語又は前記単語群の項目分けの結果に基づいて、前記テキストデータに対応する前記所定のレイアウトに関する情報であり、前記所定のレイアウトに係る前記テキストデータが有する前記単語又は前記単語群の項目分けに利用可能な情報であるレイアウト情報を生成する
    ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記制御部は、
    1の項目、及び、他の項目について、当該1の項目に対応する項目値と、当該他の項目に対応する項目値とが所定の関係であるときに、これら項目値の整合性がとれた状態である場合に、
    前記単語又は前記単語群を項目分けした後、当該1の項目に項目値として対応付けられた前記単語又は前記単語群と、当該他の項目に項目値として対応付けられた前記単語又は単語群との関係が前記所定の関係であるか否かを判別する
    ことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記制御部は、
    所定の区切文字を区切りとして、前記単語の分解を行う
    ことを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 印刷する機能を有し、印刷される情報であるテキストデータを送信する印刷装置と、前記印刷装置と通信可能であり、前記印刷装置から前記テキストデータを受信する情報処理装置とを有する情報処理システムであって、
    前記情報処理装置は、
    前記印刷装置から受信した前記テキストデータに含まれる情報を単語に分解し、前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けする
    ことを特徴とする情報処理システム。
  9. 印刷される情報であるテキストデータを処理する情報処理装置の制御方法であって、
    前記テキストデータに含まれる情報を単語に分解し、
    前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けする
    ことを特徴とする情報処理装置の制御方法。
JP2015256744A 2015-12-28 2015-12-28 制御サーバー、情報処理システム、及び、制御サーバーの制御方法 Active JP6657945B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015256744A JP6657945B2 (ja) 2015-12-28 2015-12-28 制御サーバー、情報処理システム、及び、制御サーバーの制御方法
US15/391,225 US20170185986A1 (en) 2015-12-28 2016-12-27 Information processing device, information processing system, and control method of an information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015256744A JP6657945B2 (ja) 2015-12-28 2015-12-28 制御サーバー、情報処理システム、及び、制御サーバーの制御方法

Publications (2)

Publication Number Publication Date
JP2017120521A true JP2017120521A (ja) 2017-07-06
JP6657945B2 JP6657945B2 (ja) 2020-03-04

Family

ID=59087112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015256744A Active JP6657945B2 (ja) 2015-12-28 2015-12-28 制御サーバー、情報処理システム、及び、制御サーバーの制御方法

Country Status (2)

Country Link
US (1) US20170185986A1 (ja)
JP (1) JP6657945B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019067039A (ja) * 2017-09-29 2019-04-25 セイコーエプソン株式会社 情報処理装置、及び、情報処理装置の制御方法
JP2019096142A (ja) * 2017-11-24 2019-06-20 セイコーエプソン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020042582A (ja) * 2018-09-11 2020-03-19 セイコーエプソン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079189A (ja) * 2004-09-07 2006-03-23 Japan Medical Data Center Co Ltd レセプトファイル生成システム、カルテファイル生成システムおよびファイル生成システム
JP2015158775A (ja) * 2014-02-24 2015-09-03 セイコーエプソン株式会社 Posシステム、及びデータ処理装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907835A (en) * 1994-11-18 1999-05-25 Canon Kabushiki Kaisha Electronic filing system using different application program for processing drawing commands for printing
US20050242178A1 (en) * 2004-04-08 2005-11-03 Masahiro Minowa Printing system, POS system, connection device, and control method and control program for printing system
US20090313101A1 (en) * 2008-06-13 2009-12-17 Microsoft Corporation Processing receipt received in set of communications
US20110087535A1 (en) * 2009-10-14 2011-04-14 Seiko Epson Corporation Information processing device, information processing system, control method for an information processing device, and a program
US8548859B2 (en) * 2010-01-22 2013-10-01 Spendgo, Inc. Point of sale network router
JP2012027633A (ja) * 2010-07-22 2012-02-09 Seiko Epson Corp デバイスドライバー、情報処理システム、デバイスドライバーの制御方法およびプログラム
JP5712562B2 (ja) * 2010-10-29 2015-05-07 セイコーエプソン株式会社 コンテンツ出力システム、コンテンツサーバー、および、コンテンツ出力方法
US20120284081A1 (en) * 2011-05-02 2012-11-08 Fang Cheng Methods and Apparatus for Gathering Intelligence from Itemized Receipts
US20120316950A1 (en) * 2011-06-10 2012-12-13 Jeffrey Laporte System and method for augmentation of retail pos data streams with transaction information
US20120330971A1 (en) * 2011-06-26 2012-12-27 Itemize Llc Itemized receipt extraction using machine learning
US8949110B2 (en) * 2011-09-23 2015-02-03 Ancestry.Com Operations Inc. System and method for extracting categories of data
JP5744953B2 (ja) * 2013-04-10 2015-07-08 東芝テック株式会社 取引データ処理装置、取引データ処理方法及びプログラム
US20170083785A1 (en) * 2014-05-16 2017-03-23 AppCard, Inc. Method and system for improved optical character recognition

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079189A (ja) * 2004-09-07 2006-03-23 Japan Medical Data Center Co Ltd レセプトファイル生成システム、カルテファイル生成システムおよびファイル生成システム
JP2015158775A (ja) * 2014-02-24 2015-09-03 セイコーエプソン株式会社 Posシステム、及びデータ処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019067039A (ja) * 2017-09-29 2019-04-25 セイコーエプソン株式会社 情報処理装置、及び、情報処理装置の制御方法
JP7006096B2 (ja) 2017-09-29 2022-01-24 セイコーエプソン株式会社 情報処理装置、及び、情報処理装置の制御方法
JP2019096142A (ja) * 2017-11-24 2019-06-20 セイコーエプソン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP7059586B2 (ja) 2017-11-24 2022-04-26 セイコーエプソン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム

Also Published As

Publication number Publication date
JP6657945B2 (ja) 2020-03-04
US20170185986A1 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
JP6759817B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、制御プログラム
EP3489816B1 (en) Information processing device, control method of information processing device, and storage medium
JP6416720B2 (ja) 免税処理システム、情報処理装置及びそのプログラム
JP2017058745A (ja) 免税処理システム、管理サーバ及び精算装置
JP6657945B2 (ja) 制御サーバー、情報処理システム、及び、制御サーバーの制御方法
JP2014075090A (ja) 陳列位置分析システム
JP2016057781A (ja) 商品販売データ処理装置およびプログラム
JP6379960B2 (ja) 情報処理装置、会計システム、及び、記録装置
JP6155808B2 (ja) 制御装置、制御システム、および制御装置の制御方法
JP6756102B2 (ja) 情報処理装置、情報処理装置の情報処理方法、及び、情報処理システム
JP7127506B2 (ja) 印刷装置、及び印刷装置の制御方法
JP6766503B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、制御プログラム
JP6772636B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、制御プログラム
JP7006096B2 (ja) 情報処理装置、及び、情報処理装置の制御方法
EP3623931A1 (en) Information processing apparatus, control method for information processing apparatus, and storage medium storing program for information processing apparatus
JP2016081106A (ja) 情報処理装置、会計システム、及び、記録装置
JP6806761B2 (ja) 免税処理システム、情報処理装置及びそのプログラム
JP7205178B2 (ja) 情報処理装置、及び、情報処理装置の制御方法
JP7183718B2 (ja) 印刷装置、及び、情報処理システム
JP7295201B2 (ja) 商品販売データ処理装置、商品販売データ処理方法およびプログラム
JP7072627B2 (ja) 免税処理システム、情報処理装置及びそのプログラム
JP2019067040A (ja) 情報処理装置、及び、情報処理装置の制御方法
JP2023105224A (ja) 商品販売データ処理装置、商品販売データ処理方法およびプログラム
JP2017059037A (ja) 免税処理システム、情報処理装置及びそのプログラム
JP2022097610A (ja) 免税処理システム及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R150 Certificate of patent or registration of utility model

Ref document number: 6657945

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150