(57)【特許請求の範囲】
【請求項１】
印刷装置が発行したレシートに印刷される情報のうち、文字として印刷されるテキストデータを処理する制御サーバーであって、
前記テキストデータは、前記レシートの印刷領域を分けるエリア分割情報を有し、改行が反映された状態で記述され、
前記テキストデータに含まれる情報を複数の単語に分解し、
前記テキストデータを行に分解し、前記行と前記行に属する前記単語との対応関係が記述された行データを生成し、
前記テキストデータについて、前記エリア分割情報によって区切られるエリアを特定し、前記エリアと前記エリアに属する前記単語との対応関係が記述されたエリアデータを生成し、
前記行データと前記エリアデータとに基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けする制御部を有する
ことを特徴とする制御サーバー。
【請求項２】
前記テキストデータを送信する前記印刷装置と通信可能であり、
前記制御部は、
前記印刷装置から、前記テキストデータを受信する
ことを特徴とする請求項１に記載の制御サーバー。
【請求項３】
前記制御部は、
前記単語の位置関係、及び、前記単語のデータ型に基づいて、前記単語又は前記単語群を項目分けする
ことを特徴とする請求項１又は２に記載の制御サーバー。
【請求項４】
前記制御部は、
前記単語又は前記単語群の項目分けの結果に基づいて、項目が階層化され、各項目と、項目値としての前記単語又は前記単語群とが対応付けられた分析データを生成する
ことを特徴とする請求項１乃至３のいずれか１項に記載の制御サーバー。
【請求項５】
前記テキストデータは、所定のレイアウトに従って印刷される情報が、前記所定のレイアウトに従って記述されたデータであり、
前記制御部は、
前記単語又は前記単語群の項目分けの結果に基づいて、前記テキストデータに対応する前記所定のレイアウトに関する情報であり、前記所定のレイアウトに係る前記テキストデータが有する前記単語又は前記単語群の項目分けに利用可能な情報であるレイアウト情報を生成する
ことを特徴とする請求項１乃至４のいずれか１項に記載の制御サーバー。
【請求項６】
前記制御部は、
１の項目、及び、他の項目について、当該１の項目に対応する項目値と、当該他の項目に対応する項目値とが所定の関係であるときに、これら項目値の整合性がとれた状態である場合に、
前記単語又は前記単語群を項目分けした後、当該１ の項目に項目値として対応付けられた前記単語又は前記単語群と、当該他の項目に項目値として対応付けられた前記単語又は単語群との関係が前記所定の関係であるか否かを判別する
ことを特徴とする請求項１乃至５のいずれか１項に記載の制御サーバー。
【請求項７】
前記制御部は、
所定の区切文字を区切りとして、前記単語の分解を行う
ことを特徴とする請求項１乃至６のいずれか１項に記載の制御サーバー。
【請求項８】
レシートを印刷する機能を有する印刷装置と、前記印刷装置と通信可能な制御サーバーとを有する情報処理システムであって、
前記印刷装置は、
発行した前記レシートに印刷される情報のうち、文字として印刷されるテキストデータを前記制御サーバーに送信し、
前記テキストデータは、前記レシートの印刷領域を分けるエリア分割情報を有し、改行が反映された状態で記述され、
前記制御サーバーは、
前記印刷装置から受信した前記テキストデータに含まれる情報を複数の単語に分解し、
前記テキストデータを行に分解し、前記行と前記行に属する前記単語との対応関係が記述された行データを生成し、
前記テキストデータについて、前記エリア分割情報によって区切られるエリアを特定し、前記エリアと前記エリアに属する前記単語との対応関係が記述されたエリアデータを生成し、
前記行データと前記エリアデータとに基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けする
ことを特徴とする情報処理システム。
【請求項９】
印刷装置が発行したレシートに印刷される情報のうち、文字として印刷されるテキストデータを処理する制御サーバーの制御方法であって、
前記テキストデータは、前記レシートの印刷領域を分けるエリア分割情報を有し、改行が反映された状態で記述され、
前記テキストデータに含まれる情報を複数の単語に分解し、
前記テキストデータを行に分解し、前記行と前記行に属する前記単語との対応関係が記述された行データを生成し、
前記テキストデータについて、前記エリア分割情報によって区切られるエリアを特定し、前記エリアと前記エリアに属する前記単語との対応関係が記述されたエリアデータを生成し、
前記行データと前記エリアデータとに基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けする
ことを特徴とする制御サーバーの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御サーバー、情報処理システム、及び、制御サーバーの制御方法に関する。
【背景技術】
【０００２】
従来、ＰＯＳ端末内の会計処理部から出力された出力データを、外部装置が解釈可能な形式のデータに変換し、変換したデータ外部装置に送信し、送信したデータを外部装置で管理する技術が知られる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２７６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上述した特許文献１に係るＰＯＳ端末のように会計に基づく処理を実行するＰＯＳ端末では、会計に応じて、ＰＯＳ端末が、又は、ＰＯＳ端末に接続された印刷装置が、レシートを発行する。レシートには、会計に関する情報等の様々な情報が印刷される。そして、レシートに印刷される情報のように、記録媒体に印刷される情報については、後に活用可能な有益な情報が含まれる場合があり、このような場合、印刷される情報を的確に分析できるようにしたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、印刷される情報を的確に分析できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、印刷される情報であるテキストデータを処理する情報処理装置であって、前記テキストデータに含まれる情報を単語に分解し、前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けする制御部を有することを特徴とする。
本発明の構成によれば、テキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
【０００６】
また、本発明は、前記テキストデータを送信する印刷装置と通信可能であり、前記制御部は、前記印刷装置から、前記テキストデータを受信することを特徴とする。
この構成によれば、印刷装置から受信したテキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
【０００７】
また、本発明は、前記制御部は、前記単語の位置関係、及び、前記単語のデータ型に基づいて、前記単語又は前記単語群を項目分けすることを特徴とする。
本発明の構成によれば、単語のデータ型を利用して、単語又は単語群の項目分けをより的確に行うことができる。
【０００８】
また、本発明は、前記制御部は、前記単語又は前記単語群の項目分けの結果に基づいて、項目が階層化され、各項目と、項目値としての前記単語又は前記単語群とが対応付けられた分析データを生成することを特徴とする。
本発明の構成によれば、後に、分析データを使用して、項目分けされた単語又は単語群を用いた処理を実行できる。
【０００９】
また、本発明は、前記テキストデータは、所定のレイアウトに従って印刷される情報が、前記所定のレイアウトに従って記述されたデータであり、前記制御部は、前記単語又は前記単語群の項目分けの結果に基づいて、前記テキストデータに対応する前記所定のレイアウトに関する情報であり、前記所定のレイアウトに係る前記テキストデータが有する前記単語又は前記単語群の項目分けに利用可能な情報であるレイアウト情報を生成することを特徴とする。
本発明の構成によれば、レイアウト情報を生成した後は、レイアウト情報に基づいて簡易に単語又は単語群の項目分けが可能となる。
【００１０】
また、本発明は、前記制御部は、１の項目、及び、他の項目について、当該１の項目に対応する項目値と、当該他の項目に対応する項目値とが所定の関係であるときに、これら項目値の整合性がとれた状態である場合に、前記単語又は前記単語群を項目分けした後、当該１の項目に項目値として対応付けられた前記単語又は前記単語群と、当該他の項目に項目値として対応付けられた前記単語又は単語群との関係が前記所定の関係であるか否かを判別することを特徴とする。
本発明の構成によれば、制御部は、単語又は単語群の項目分けが正常に行われてない場合に、そのことを検出できる。
【００１１】
また、本発明は、前記制御部は、所定の区切文字を区切りとして、前記単語の分解を行うことを特徴とする。
本発明の構成によれば、区切文字を利用して、的確にテキストデータが有する情報を単語に分解できる。
【００１２】
また、上記目的を達成するために、本発明は、印刷する機能を有し、印刷される情報であるテキストデータを送信する印刷装置と、前記印刷装置と通信可能であり、前記印刷装置から前記テキストデータを受信する情報処理装置とを有する情報処理システムであって、前記情報処理装置は、前記印刷装置から受信した前記テキストデータに含まれる情報を単語に分解し、前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けすることを特徴とする。
本発明の構成によれば、テキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
【００１３】
また、上記目的を達成するために、本発明は、印刷される情報であるテキストデータを処理する情報処理装置の制御方法であって、前記テキストデータに含まれる情報を単語に分解し、前記単語の位置関係に基づいて、前記単語、又は、複数の前記単語からなる単語群を項目分けすることを特徴とする。
本発明の構成によれば、テキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る会計システムの構成を示す図。
【図２】会計システムの各装置の機能的構成を示すブロック図。
【図３】タブレット端末、印刷装置、制御サーバーの動作を示すフローチャート。
【図４】レシートの一例を示す図。
【図５】印刷テキストデータの一例を示す図。
【図６】テキストデータ管理データベースを示す図。
【図７】制御サーバーの動作を示すフローチャート。
【図８】単語データを示す図。
【図９】行データを示す図。
【図１０】エリアデータを示す図。
【図１１】分析データを示す図。
【図１２】会計情報管理データベースを示す図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る会計システム１（情報処理システム）の構成を示す図である。
図１に示すように、会計システム１は、複数の店舗システム１１を備える。店舗システム１１は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。店舗は、商品の提供が行われ、商品の提供に応じて、顧客による会計が行われる施設であればよい。本実施形態において、「商品」は、物体として顧客に引き渡される商品だけでなく、顧客に提供されるサービスや、顧客に提供される飲食物等、対価と引き換えに顧客に提供される対象を意味する。
店舗システム１１は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートを発行する機能等を備える。
【００１６】
店舗システム１１が適用される店舗には、顧客が会計を行なうレジカウンターＬが設けられる。レジカウンターＬには、ロール紙（記録媒体）に印刷する機能を有する印刷装置１２が設けられる。また、レジカウンターＬには、印刷装置１２と無線通信可能に接続され、印刷装置１２を制御するタブレット端末１３が設けられる。
レジカウンターＬにおける会計に際し、レジ担当者は、印刷装置１２に接続されたバーコードリーダーＢＲで商品や商品の包装に付されたバーコードを読み取り、また、タブレット端末１３に対して会計に対応する入力を行う。印刷装置１２は、バーコードリーダーＢＲによる読み取りに基づくデータを、タブレット端末１３に送信する。タブレット端末１３は、印刷装置１２から受信したバーコードリーダーＢＲの読み取りに基づくデータや、レジ担当者による会計に対応する入力に基づいて、印刷装置１２にレシートを発行させる。印刷装置１２により発行されたレシートは、レジ担当者により顧客に引き渡される。
印刷装置１２、及び、タブレット端末１３の構成、機能、及び、機能に基づく処理については後述する。
【００１７】
店舗システム１１は、ローカルエリアネットワークＬＮを備える。
印刷装置１２は、ＬＡＮに係る通信規格に従って、ローカルエリアネットワークＬＮと接続する。
ローカルエリアネットワークＬＮには、通信装置１４が接続される。通信装置１４は、ローカルエリアネットワークＬＮと、インターネット、電話網、その他の通信網を含むグローバルネットワークＧＮとを接続するインターフェース装置である。
通信装置１４は、モデム（又は、ＯＮＵ（Optical Network Unit））に係る機能、ルーター機能、ＮＡＴ（Network Address Translation）機能、及び、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバー機能等を有する。通信装置１４は、ローカルエリアネットワークＬＮに接続された機器と、グローバルネットワークＧＮに接続された機器との間で行われる通信に際し、機器間で送受信されるデータを転送する。なお、図１では、通信装置１４を１つのブロックで表現するが、通信装置１４は、機能に応じた複数の装置を有する構成でもよい。
印刷装置１２は、通信装置１４を介して、グローバルネットワークＧＮにアクセス可能である。
【００１８】
グローバルネットワークＧＮには、制御サーバー１５（情報処理装置）が接続される。制御サーバー１５は、印刷装置１２をクライアントとする、クラウドシステムのクラウドサーバーである。すなわち、制御サーバー１５は、クライアントからの要求等をトリガーとして、所定の演算処理を実行する。制御サーバー１５は、必要に応じて、演算処理の結果に基づくデータを、クライアントに送信する。なお、図１では、制御サーバー１５を、１つのブロックによって表現するが、これは制御サーバー１５が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー１５は、複数のサーバー装置を含んで構成されたものでもよい。すなわち、制御サーバー１５は、後述する各種処理を実行可能な構成であれば、その形態を問わない。
【００１９】
図２は、会計システム１が備える各装置の機能的構成を示すブロック図である。
タブレット端末１３は、前面の広い領域にタッチパネル２２が設けられたタブレット型の（板状の）端末である。タブレット端末１３は、レジカウンターＬにおける会計に際し、会計に関する各種処理を実行して印刷装置１２を制御するホストコンピューターとして機能する。
図２に示すように、タブレット端末１３は、タブレット端末制御部２０と、タブレット端末通信部２１と、タッチパネル２２と、タブレット端末記憶部２３と、を備える。
【００２０】
タブレット端末制御部２０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他周辺回路等を備え、タブレット端末１３を制御する。タブレット端末１３には、所定のアプリケーション（以下、「タブレット端末アプリケーションＴＡＰ」と表現する。）が事前にインストールされる。タブレット端末制御部２０は、タブレット端末アプリケーションＴＡＰ、その他の付随するプログラムを読み出して実行することにより、タブレット端末アプリケーション実行部２０１として機能する。
【００２１】
タブレット端末通信部２１は、タブレット端末制御部２０の制御で、所定の無線通信の規格に従って、印刷装置１２と通信する。タブレット端末１３と印刷装置１２との間で行われる通信の無線通信規格は、アドホックモードに対応する無線ＬＡＮに係る規格や、インフラストラクチャーモードに対応する無線ＬＡＮに係る規格、Bluetooth（登録商標）等の近距離無線通信に係る規格等、どのような規格でもよい。
【００２２】
タッチパネル２２は、液晶表示パネル等の表示パネルと、表示パネルに重ねて設けられたタッチセンサーとを備える。表示パネルは、タブレット端末制御部２０の制御で、各種画像を表示する。タッチセンサーは、タッチ操作を検出し、タブレット端末制御部２０に出力する。タブレット端末制御部２０は、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
【００２３】
タブレット端末記憶部２３は、不揮発性メモリーを備え、各種データを記憶する。
【００２４】
印刷装置１２は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して画像を印刷するラインサーマルプリンターである。
図２に示すように、印刷装置１２は、印刷装置制御部３０と、印刷部３１と、印刷装置記憶部３２と、印刷装置通信部３３と、印刷装置ネットワーク通信部３４と、デバイス通信部３５と、を備える。
【００２５】
印刷装置制御部３０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他周辺回路等を備え、印刷装置１２を制御する。
【００２６】
印刷部３１は、印刷装置１２の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断する切断機構等のロール紙への印刷に関する各種機構を備える。印刷部３１は、印刷装置制御部３０の制御で、搬送機構によりロール紙を搬送し、印刷機構によりロール紙にレシートに係る画像を印刷し、切断機構により所定の位置でロール紙を切断して、レシートを発行する。
【００２７】
印刷装置記憶部３２は、不揮発性メモリーを備え、各種データを記憶する。
【００２８】
印刷装置通信部３３は、印刷装置制御部３０の制御で、タブレット端末１３と所定の無線通信規格に従って通信する。
【００２９】
印刷装置ネットワーク通信部３４は、印刷装置制御部３０の制御で、グローバルネットワークＧＮと接続する機器（制御サーバー１５を含む。）と所定の通信規格に従って通信する。
【００３０】
デバイス通信部３５は、ＵＳＢの規格に従ったポートや、ＵＳＢ以外のシリアル通信規格に従ったポート、その他ポートを備えるインターフェースボードを備える。各ポートには、デバイスが接続可能である。デバイス通信部３５は、印刷装置制御部３０の制御で、ポートを介して印刷装置１２に接続されたデバイスと通信する。
なお、デバイス通信部３５が、無線通信機能を備え、デバイスと無線通信する構成でもよい。
【００３１】
印刷装置１２には、デバイスとして、バーコードリーダーＢＲ、カスタマーディスプレーＣＤ、及び、自動釣銭機ＪＴが接続される。
バーコードリーダーＢＲは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部３５に出力する。デバイス通信部３５は、バーコードリーダーＢＲから入力されたデータを、印刷装置制御部３０に出力する。
カスタマーディスプレーＣＤは、印刷装置制御部３０の制御で、会計に関する情報を表示する。カスタマーディスプレーＣＤに表示された情報は、レジカウンターＬで会計を行う顧客が視認できる。
自動釣銭機ＪＴは、顧客から受け取った貨幣を投入する貨幣受取口と、釣銭に係る貨幣を排出する釣銭排出口とを備え、印刷装置制御部３０の制御で、貨幣受取口を介して貨幣が投入された場合、対応する釣銭を釣銭排出口から排出する。
【００３２】
制御サーバー１５は、印刷装置１２をクライアントとするクラウドサーバーである。
図２に示すように、制御サーバー１５は、制御サーバー制御部４０（制御部）と、制御サーバーネットワーク通信部４１と、制御サーバー記憶部４２と、を備える。
【００３３】
制御サーバー制御部４０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他周辺回路等を備え、制御サーバー１５を制御する。
【００３４】
制御サーバーネットワーク通信部４１は、制御サーバー制御部４０の制御で、グローバルネットワークＧＮと接続する機器（印刷装置１２を含む。）と所定の通信規格に従って通信する。
【００３５】
制御サーバー記憶部４２は、各種データ（テキストデータ管理データベース４２１、会計情報管理データベース４２２、及び、レイアウト情報管理データベース４２３）を記憶する。
【００３６】
次に、レジカウンターＬで顧客の会計が行われた場合の、タブレット端末１３、印刷装置１２、及び、制御サーバー１５の動作について説明する。
【００３７】
図３は、レジカウンターＬで会計が行われた場合のタブレット端末１３、印刷装置１２、及び、制御サーバー１５の動作を示すフローチャートである。図３の（Ａ）はタブレット端末１３の動作を示し、（Ｂ）は印刷装置１２の動作を示し、（Ｃ）は制御サーバー１５の動作をそれぞれ示す。
【００３８】
図３の（Ａ）に示すように、タブレット端末１３のタブレット端末制御部２０のタブレット端末アプリケーション実行部２０１は、顧客の会計に応じて会計処理（決済処理）を実行し、会計処理に基づいて印刷データを生成する（ステップＳＡ１）。
ステップＳＡ１の処理について詳述すると、タブレット端末アプリケーション実行部２０１は、顧客の会計に伴う印刷装置１２（印刷装置１２に接続されたバーコードリーダーＢＲ）からの入力や、タッチパネル２２に対するレジ担当者の入力に応じて、レシート情報を生成する。レシート情報とは、印刷装置１２に発行させるレシートに印刷する情報である。レシート情報の具体的な内容については、例を挙げて後述する。
次いで、タブレット端末アプリケーション実行部２０１は、生成したレシート情報に基づいて、印刷データを生成する。印刷データは、所定のレイアウトに従ってレシート情報が印刷されたレシートの発行を指示する制御データである。印刷データは、印刷装置１２のコマンド体系に従った複数の制御コマンドを含んで構成される。
【００３９】
ステップＳＡ１で印刷データを生成した後、タブレット端末アプリケーション実行部２０１は、タブレット端末通信部２１を制御して、生成した印刷データを、印刷装置１２に送信する（ステップＳＡ２）。
【００４０】
図３の（Ｂ）に示すように、印刷装置１２の印刷装置制御部３０は、印刷装置通信部３３を制御して、印刷データを受信する（ステップＳＢ１）。
【００４１】
次いで、印刷装置制御部３０は、ステップＳＢ１で受信した印刷データに基づいて、印刷部３１を制御して、レシートを発行する（ステップＳＢ２）。発行されたレシートは、顧客に引き渡される。
【００４２】
ここで、店舗において印刷装置１２により発行されるレシートには、以下の特徴がある。すなわち、１のＰＯＳシステムに含まれる印刷装置１２が発行するレシートのレイアウトは、タブレット端末アプリケーションＴＡＰの変更がない限り、同じである。一方、１のＰＯＳシステムに含まれる印刷装置１２と、当該１のＰＯＳシステムに含まれる印刷装置１２とは異なる他のＰＯＳシステムに含まれる印刷装置１２とでは、発行するレシートのレイアウトが、相互に異なる場合がある。あるいは、同じＰＯＳシステムでも店舗によってレシートのレイアウトが異なる場合がある。つまり、印刷装置１２によって、発行するレシートのレイアウトは異なる可能性がある。
【００４３】
図４の（Ａ）は印刷データに基づいて印刷装置１２により発行されるレシートの一例であるレシートＲ１を示す。図４の（Ｂ）は、図４の（Ａ）で例示するレシートＲ１のレイアウトとは異なるレイアウトのレシートであるレシートＲ２を示す。
図４の（Ａ）で例示するレシートＲ１に印刷された情報の内容と、図４の（Ｂ）で例示するレシートＲ２に印刷された情報の内容とは、同一性を有する。
【００４４】
図４の（Ａ）で例示するレシートＲ１には、先頭に、店舗の名称を図案化したロゴ情報Ｊ１が印刷される。
レシートＲ１において、ロゴ情報Ｊ１の下方は、店舗の住所を文字列で表した店舗住所情報Ｊ２が一行で印刷される。
レシートＲ１において、店舗住所情報Ｊ２の一行下には、店舗の電話番号に関する情報を文字列で表した店舗電話番号関連情報Ｊ３が印刷される。店舗電話番号関連情報Ｊ３は、店舗の電話番号を示す店舗電話番号情報Ｊ３２を有する。また、店舗電話番号関連情報Ｊ３は、店舗電話番号情報Ｊ３２の同一行における左方に印刷され、店舗電話番号情報Ｊ３２が電話番号を示す情報であることを明示する電話番号明示情報Ｊ３１を有する。図４の（Ａ）に示すように、レシートＲ１に係る電話番号明示情報Ｊ３１は、３個の大文字のアルファベットの「ＴＥＬ」からなる文字列である。
【００４５】
レシートＲ１において、店舗電話番号関連情報Ｊ３の一行下には、第１エリア分割情報ＳＫ１が印刷される。第１エリア分割情報ＳＫ１は、文字「−」が一行内で複数連続して構成された文字列である。
レシートＲ１は、１つ目の第１エリア分割情報ＳＫ１によって印刷領域が区切られ、１つ目の第１エリア分割情報ＳＫ１よりも上方がエリア分けされる。以下、レシートＲ１において、第１エリア分割情報ＳＫ１よりも上方のエリアを「エリアＡＡ１」とする。
【００４６】
レシートＲ１において、１つ目の第１エリア分割情報ＳＫ１の一行下には、レシートを識別するレシート識別関連情報Ｊ４が印刷される。レシート識別関連情報Ｊ４は、レシートを識別するレシート識別情報Ｊ４２を有する。また、レシート識別関連情報Ｊ４は、レシート識別情報Ｊ４２の同一行における左方に印刷され、レシート識別情報Ｊ４２がレシートを識別する情報であることを明示するレシート識別明示情報Ｊ４１を有する。
図４の（Ａ）に示すように、レシートＲ１に係るレシート識別明示情報Ｊ４１は、文字列「Ｃｈｅｃｋ♯：」からなる情報である。
【００４７】
レシートＲ１において、レシート識別関連情報Ｊ４の一行下には、レシートが発行された日時を示す発行日時情報Ｊ５が印刷される。
発行日時情報Ｊ５の一行下には、第１エリア分割情報ＳＫ１が印刷される。
レシートＲ１は、１つ目の第１エリア分割情報ＳＫ１と、２つ目の第１エリア分割情報ＳＫ１とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ１において、１つ目の第１エリア分割情報ＳＫ１と、２つ目の第１エリア分割情報ＳＫ１とで囲まれたエリアを「エリアＡＡ２」とする。
【００４８】
レシートＲ１において、２つ目の第１エリア分割情報ＳＫ１の一行下には、１又は複数の（図４の（Ａ）の例では「２個」。）明細情報Ｊ６が印刷される。
明細情報Ｊ６は、顧客が購入した商品に関する情報である。明細情報Ｊ６は、顧客が購入した商品の種類ごとに、レシートＲ１に印刷される。従って、顧客が購入した商品の種類が３つである場合は、３つの種類の商品のそれぞれに対応する３つの明細情報Ｊ６が印刷される。レシートＲ１に複数の明細情報Ｊ６が印刷される場合、複数の明細情報Ｊ６は、異なる行に、１行ずつ連続して印刷される。
明細情報Ｊ６は、１行内で、購入数量情報Ｊ６１と、購入商品名称情報Ｊ６２と、単価情報Ｊ６３とを有する。購入数量情報Ｊ６１は、対応する商品の購入数量を、小数点無しの整数で表す情報である。購入商品名称情報Ｊ６２は、対応する商品の名称を文字列で表す情報である。単価情報Ｊ６３は、対応する商品の単価を、小数点付きの数値によって表す情報である。
レシートＲ１では、明細情報Ｊ６に含まれる購入数量情報Ｊ６１、購入商品名称情報Ｊ６２、及び、単価情報Ｊ６３は、１行内で、右へ向かって購入数量情報Ｊ６１→購入商品名称情報Ｊ６２→単価情報Ｊ６３の順番で印刷される。
【００４９】
レシートＲ１において、最下部に印刷される明細情報Ｊ６の一行下には、第２エリア分割情報ＳＫ２が印刷される。第２エリア分割情報ＳＫ２は、文字「〜」が一行内で複数連続して構成された文字列である。
レシートＲ１は、２つ目の第１エリア分割情報ＳＫ１と、１つ目の第２エリア分割情報ＳＫ２とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ１において、２つ目の第１エリア分割情報ＳＫ１と、１つ目の第２エリア分割情報ＳＫ２とで囲まれたエリアを「エリアＡＡ３」とする。
【００５０】
レシートＲ１において、１つ目の第２エリア分割情報ＳＫ２の一行下には、小計関連情報Ｊ７が印刷される。小計関連情報Ｊ７は、小計を示す小計情報Ｊ７２を有する。また、小計関連情報Ｊ７は、小計情報Ｊ７２の同一行における左方に印刷され、小計情報Ｊ７２が小計を示す情報であることを明示する小計明示情報Ｊ７１を有する。
図４の（Ａ）に示すように、レシートＲ１に係る小計明示情報Ｊ７１は、８個の大文字のアルファベットの「ＳＵＢＴＯＴＡＬ」からなる文字列である。
【００５１】
レシートＲ１において、小計関連情報Ｊ７の一行下には、税関連情報Ｊ８が印刷される。税関連情報Ｊ８は、税の額を示す税額情報Ｊ８２を有する。また、税関連情報Ｊ８は、税額情報Ｊ８２の同一行における左方に印刷され、税額情報Ｊ８２が税の額を示す情報であることを明示する税明示情報Ｊ８１を有する。
図４の（Ａ）に示すように、レシートＲ１に係る税明示情報Ｊ８１は、３個の大文字のアルファベットの「ＴＡＸ」からなる文字列である。
【００５２】
レシートＲ１において、税関連情報Ｊ８の一行下には、合計金額関連情報Ｊ９が印刷される。合計金額関連情報Ｊ９は、合計金額を示す合計金額情報Ｊ９２を有する。また、合計金額関連情報Ｊ９は、合計金額情報Ｊ９２の同一行における左方に印刷され、合計金額情報Ｊ９２が税の額を示す情報であることを明示する合計金額明示情報Ｊ９１を有する。
図４の（Ａ）に示すように、レシートＲ１に係る合計金額明示情報Ｊ９１は、５個の大文字のアルファベットの「ＴＯＴＡＬ」からなる文字列である。
【００５３】
レシートＲ１において、合計金額関連情報Ｊ９の一行下には、３つ目の第１エリア分割情報ＳＫ１が印刷される。
レシートＲ１は、１つ目の第２エリア分割情報ＳＫ２と、３つ目の第１エリア分割情報ＳＫ１とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ１において、１つ目の第２エリア分割情報ＳＫ２と、３つ目の第１エリア分割情報ＳＫ１とで囲まれたエリアを「エリアＡＡ４」とする。３つ目の第１エリア分割情報ＳＫ１より下方のエリアを「エリアＡＡ５」とする。
【００５４】
レシートＲ１において、３つ目の第１エリア分割情報ＳＫ１の一行下には、付加情報Ｊ１０が印刷される。付加情報Ｊ１０は、一行内で、レシートを受け取る顧客に対して感謝を示す文字列である。
【００５５】
第１エリア分割情報ＳＫ１、第２エリア分割情報ＳＫ２、及び、後述する第３エリア分割情報ＳＫ３を、区別せずに表示する場合、「エリア分割情報」という。
このように、レシートＲ１は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に４つのエリア分割情報が印刷され、これら４つのエリア分割情報により、印刷領域が、上から順番に、エリアＡＡ１、エリアＡＡ２、エリアＡＡ３、エリアＡＡ４、及び、エリアＡＡ５の５つのエリアに区分けされる。エリアＡＡ１には、ロゴ情報Ｊ１、店舗住所情報Ｊ２、及び、店舗電話番号関連情報Ｊ３がこの順番で印刷される。エリアＡＡ２には、レシート識別関連情報Ｊ４、及び、発行日時情報Ｊ５がこの順番で印刷される。エリアＡＡ３には、１又は複数の明細情報Ｊ６が印刷される。明細情報Ｊ６に含まれる購入数量情報Ｊ６１、購入商品名称情報Ｊ６２、及び、単価情報Ｊ６３は、１行内で、右へ向かって購入数量情報Ｊ６１→購入商品名称情報Ｊ６２→単価情報Ｊ６３の順番で印刷される。エリアＡＡ４には、小計関連情報Ｊ７、税関連情報Ｊ８、及び、合計金額関連情報Ｊ９がこの順番で印刷される。エリアＡＡ５には、付加情報Ｊ１０が印刷される。
【００５６】
上述したように、レシートＲ１に係る印刷装置１２が発行するレシートのレイアウトは、顧客が購入した商品の内容にかかわらず、レシートＲ１で示すレイアウトと同様である。
【００５７】
図４の（Ｂ）で例示するレシートＲ２には、先頭に、ロゴ情報Ｊ１が印刷される。
レシートＲ２において、ロゴ情報Ｊ１の下方には、レシート識別関連情報Ｊ４が印刷される。レシート識別関連情報Ｊ４は、レシート識別明示情報Ｊ４１と、レシート識別情報Ｊ４２とを有する。
図４の（Ｂ）に示すように、レシートＲ２に係るレシート識別明示情報Ｊ４１は、文字列「ＣｈｅｃｋＮＯ．」からなる情報であり、レシートＲ１に係るレシート識別明示情報Ｊ４１と文字列の態様が相違する。
【００５８】
レシートＲ２において、レシート識別関連情報Ｊ４の一行下には、発行日時情報Ｊ５が印刷される。
発行日時情報Ｊ５の一行下には、第１エリア分割情報ＳＫ１が印刷される。
レシートＲ２は、１つ目の第１エリア分割情報ＳＫ１によって、第１エリア分割情報ＳＫ１より上方と、下方とが区切られ、エリア分けされる。以下、レシートＲ２において、第１エリア分割情報ＳＫ１よりも上方の情報のエリアを「エリアＡＢ１」とする。
【００５９】
レシートＲ２において、第１エリア分割情報ＳＫ１の一行下には、１又は複数（図４の（Ｂ）の例では「２個」。）の明細情報Ｊ６が、異なる行に、１行ずつ連続して印刷される。
レシートＲ２では、明細情報Ｊ６に含まれる購入数量情報Ｊ６１、購入商品名称情報Ｊ６２、及び、単価情報Ｊ６３は、１行内で、右へ向かって購入商品名称情報Ｊ６２→購入数量情報Ｊ６１→単価情報Ｊ６３の順番で印刷される。
【００６０】
レシートＲ２において、最下部に印刷される明細情報Ｊ６の一行下には、小計関連情報Ｊ７が印刷される。
図４の（Ｂ）に示すように、レシートＲ２に係る小計明示情報Ｊ７１は、８個の小文字のアルファベットの「ｓｕｂｔｏｔａｌ」からなる文字列であり、レシートＲ１に係る小計明示情報Ｊ７１と文字列の態様が相違する。
【００６１】
レシートＲ２において、小計関連情報Ｊ７の一行下には、税関連情報Ｊ８が印刷される。図４の（Ｂ）に示すように、レシートＲ２に係る税明示情報Ｊ８１は、３個の小文字のアルファベットの「ｔａｘ」からなる文字列であり、レシートＲ１に係る税明示情報Ｊ８１と文字列の態様が相違する。
【００６２】
レシートＲ２において、税関連情報Ｊ８の一行下には、第３エリア分割情報ＳＫ３が印刷される。第３エリア分割情報ＳＫ３は、文字「＝」が一行内で複数連続して構成された文字列である。
レシートＲ２は、１つ目の第１エリア分割情報ＳＫ１と、１つ目の第３エリア分割情報ＳＫ３とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ２において、１つ目の第１エリア分割情報ＳＫ１と、１つ目の第３エリア分割情報ＳＫ３とで囲まれたエリアを「エリアＡＢ２」とする。
【００６３】
レシートＲ２において、第３エリア分割情報ＳＫ３の一行下には、合計金額関連情報Ｊ９が印刷される。図４の（Ｂ）に示すように、レシートＲ２に係る合計金額明示情報Ｊ９１は、５個の小文字のアルファベットの「ｔｏｔａｌ」からなる文字列であり、レシートＲ１に係る合計金額明示情報Ｊ９１と文字列の態様が相違する。
【００６４】
レシートＲ２において、合計金額関連情報Ｊ９の一行下には、２つ目の第１エリア分割情報ＳＫ１が印刷される。
レシートＲ２は、１つ目の第３エリア分割情報ＳＫ３と、２つ目の第１エリア分割情報ＳＫ１とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ２において、１つ目の第３エリア分割情報ＳＫ３と、２つ目の第１エリア分割情報ＳＫ１とで囲まれたエリアを「エリアＡＢ３」とする。また、２つ目の第１エリア分割情報ＳＫ１より下方のエリアを「エリアＡＢ４」とする。
【００６５】
レシートＲ２において、２つ目の第１エリア分割情報ＳＫ１の一行下には、付加情報Ｊ１０が印刷される。
【００６６】
レシートＲ２において、付加情報Ｊ１０の一行下には、店舗電話番号関連情報Ｊ３が印刷される。図４の（Ｂ）に示すように、レシートＲ２に係る電話番号明示情報Ｊ３１は、３個の小文字のアルファベットの「ｔｅｌ」からなる文字列であり、レシートＲ１に係る電話番号明示情報Ｊ３１と文字列の態様が相違する。
【００６７】
レシートＲ２において、店舗電話番号関連情報Ｊ３の一行下には、店舗住所情報Ｊ２が印刷される。
【００６８】
このように、レシートＲ２は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に３つのエリア分割情報が印刷され、これら３つのエリア分割情報により、印刷領域が、上から順番に、エリアＡＢ１、エリアＡＢ２、エリアＡＢ３、及び、エリアＡＢ４の４つのエリアに区分けされる。エリアＡＢ１には、ロゴ情報Ｊ１、レシート識別関連情報Ｊ４、及び、発行日時情報Ｊ５がこの順番で印刷される。エリアＡＢ２には、１又は複数の明細情報Ｊ６、小計関連情報Ｊ７、及び、税関連情報Ｊ８がこの順番で印刷される。エリアＡＢ３には、合計金額関連情報Ｊ９が印刷される。エリアＡＢ４には、付加情報Ｊ１０、店舗電話番号関連情報Ｊ３、及び、店舗住所情報Ｊ２がこの順番で印刷される。
【００６９】
上述したように、レシートＲ２に係る印刷装置１２が発行するレシートのレイアウトは、顧客が購入した商品の内容にかかわらず、レシートＲ２で示すレイアウトと同様である。
また、図４の（Ａ）と、図４の（Ｂ）との比較で明らかなとおり、レシートＲ１と、レシートＲ２とでは、レイアウトが異なる。
【００７０】
図３の（Ｂ）に示すように、ステップＳＢ２でレシートを発行した後、印刷装置制御部３０は、印刷データに基づいて、印刷テキストデータ（テキストデータ）を生成する（ステップＳＢ３）。以下、ステップＳＢ３の処理について詳述する。
【００７１】
印刷テキストデータは、印刷データに基づいて印刷される情報のうち、文字として印刷される情報がテキスト（文字コード）によって記述されたテキストデータである。
なお、本実施形態において、印刷データには、１又は複数の文字コードを含み、文字コードに基づく文字の印刷を指示する制御コマンド（以下、「文字列印刷指示コマンド」という。）を含めることができる。文字列印刷指示コマンドには、当該コマンドに基づいて印刷させる文字に施す修飾を指定する情報を含めることができる。文字に施す修飾とは、例えば、太字化、アンダーラインの付加、強調点の付加、白黒の反転、回転、右寄せ、中央寄せ、左寄せ等である。また、印刷装置１２の印刷装置記憶部３２は、文字コードのそれぞれと、文字コードに係る文字に対応するフォントデータを記憶するフォントテーブルを記憶する。
そして、印刷装置１２の印刷装置制御部３０は、文字列印刷指示コマンドに基づいて、当該コマンドに含まれる文字コードのそれぞれを、対応するフォントデータのそれぞれに変換し、フォントデータに対して当該コマンドで指定された装飾を反映して画像バッファーにイメージデータとして展開し、画像バッファーに展開したイメージデータに基づいて、文字を印刷する機能を有する。
【００７２】
ステップＳＢ３において、印刷装置制御部３０は、印刷データから、文字列印刷指示コマンドや、改行を指示する改行コマンド等の文字列の印刷に関する制御コマンドを抽出する。次いで、印刷装置制御部３０は、抽出した制御コマンドに基づいて、レシートに文字として印刷される情報がテキストによって記述された印刷テキストデータを生成する。
印刷テキストデータには、印刷で行われる改行が反映された状態で情報が記述される。
また、印刷テキストデータには、文字列印刷指示コマンドで指定された装飾は反映されない状態で情報が記述される。従って、文字列印刷指示コマンドにおいて、文字に施す装飾として、中央寄せ、右寄せが指示された場合でも、印刷テキストデータへの文字の記述に際し、これら装飾は反映されない。
なお、空白文字（スペースや、ブランクと呼ばれる場合もある。）は、文字コードが割り当てられた文字であり、印刷テキストデータに記述される。
【００７３】
図５の（Ａ）は、図４の（Ａ）で例示したレシートＲ１に係る印刷データに基づいて生成される印刷テキストデータＴ１の内容を示す図である。図４の（Ａ）と、図５の（Ａ）との比較で明らかなとおり、印刷テキストデータＴ１には、レシートＲ１に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
図５の（Ｂ）は、図４の（Ｂ）で例示したレシートＲ２に係る印刷データに基づいて生成される印刷テキストデータＴ２の内容を示す図である。図４の（Ｂ）と、図５の（Ｂ）との比較で明らかなとおり、印刷テキストデータＴ２には、レシートＲ２に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
なお、ロゴ情報Ｊ１は、フォントデータに基づいて印刷される情報ではなく、ビットマップデータ等のグラフィック画像データに基づいて印刷される情報である。図５の（Ａ）、及び、（Ｂ）に示すように、文字コードに対応するフォントデータに基づいて印刷される情報以外の情報は、印刷テキストデータには記述されない。
【００７４】
図３の（Ｂ）に示すように、ステップＳＢ３で印刷テキストデータを生成した後、印刷装置制御部３０は、シリアル番号Ｊ１１、ステップＳＢ１で受信した印刷データ、及び、ステップＳＢ３で生成した印刷テキストデータを、制御サーバー１５に送信する（ステップＳＢ４）。
シリアル番号Ｊ１１は、印刷装置１２の製造段階で、印刷装置１２に一意に割り当てられる識別情報である。
なお、ステップＳＢ４において、シリアル番号Ｊ１１等を送信するのに必要な通信に関する情報（送信先に関する情報や、通信に用いるプロトコル、送信するデータのフォーマット等）は、印刷装置１２に事前に登録される。
【００７５】
図３の（Ｃ）に示すように、制御サーバー１５の制御サーバー制御部４０は、制御サーバーネットワーク通信部４１を制御して、印刷装置１２が送信したシリアル番号Ｊ１１、印刷データ、及び、印刷テキストデータを受信する（ステップＳＣ１）。
【００７６】
次いで、制御サーバー制御部４０は、テキストデータ管理データベース４２１に１件のレコードを登録する（ステップＳＣ２）。
図６は、テキストデータ管理データベース４２１の１件のレコードが有する情報を模式的に示す図である。
図６に示すように、テキストデータ管理データベース４２１の１件のレコードは、統括識別情報Ｊ１２と、シリアル番号Ｊ１１と、印刷データと、印刷テキストデータとを有する。
統括識別情報Ｊ１２は、テキストデータ管理データベース４２１のレコードを識別する識別情報である。統括識別情報Ｊ１２は、テキストデータ管理データベース４２１の各レコードについて一意な値であるため、対応する印刷データ、及び、対応する印刷テキストデータを識別する識別情報として使用することができる。
ステップＳＣ２において、制御サーバー制御部４０は、所定のルールに従って、統括識別情報Ｊ１２を生成する。
次いで、制御サーバー制御部４０は、生成した統括識別情報Ｊ１２と、受信したシリアル番号Ｊ１１、印刷データ、及び、印刷テキストデータとを対応付けたレコードを、テキストデータ管理データベース４２１に登録する。
【００７７】
ステップＳＣ２の処理後、制御サーバー制御部４０は、レイアウト情報管理データベース４２３（後述）を参照し、当該データベースに、受信したシリアル番号Ｊ１１の値と同一の値のシリアル番号Ｊ１１を有するレコードが存在するか否かを判別する（ステップＳＣ３）。ステップＳＣ３の処理については後に詳述する。
レコードが存在しない場合（ステップＳＣ３：ＮＯ）、制御サーバー制御部４０は、テキストデータ分析処理を実行する（ステップＳＣ４）。次いで、制御サーバー制御部４０は、テキストデータ分析処理の結果に基づいて、レイアウト情報管理データベース４２３に１件のレコードを生成し（ステップＳＣ５）、会計情報管理データベース４２２に１件のレコードを生成する（ステップＳＣ６）。ステップＳＣ４〜ステップＳＣ６の処理については後に詳述する。
レコードが存在する場合（ステップＳＣ３：ＹＥＳ）、制御サーバー制御部４０は、対応するレコードからレイアウト情報を取得し（ステップＳＣ７）、取得したレイアウト情報に基づいて分析データを生成し（ステップＳＣ８）、生成した分析データに基づいて会計情報管理データベース４２２に１件のレコードを生成する（ステップＳＣ９）。ステップＳＣ７〜ステップＳＣ９の処理については、ステップＳＣ３の処理と併せて後に詳述する。
【００７８】
次に、ステップＳＣ４〜ステップＳＣ６の処理について説明する。
ステップＳＣ４のテキストデータ分析処理は、印刷テキストデータに記述された単語、又は、単語群（単語、及び、単語群については後述。）のうち、所定のものを項目分けし、項目分けの結果に基づいて分析データ（後述）を生成する処理である。
単語又は単語群を項目分けするとは、レシートに印刷される単語又は単語群のうち、所定の単語又は単語群について、予め定められた項目に対する項目値であることを特定し、所定の項目の項目値として特定した単語又は単語群を、当該所定の項目と対応付けることを意味する。
例えば、項目として、店舗住所情報Ｊ２を項目値として有する項目がある場合において、印刷テキストデータが有する情報の中から、店舗住所情報Ｊ２を特定し、当該項目と、特定した店舗住所情報Ｊ２とを対応付けることが「所定の単語又は単語群の項目分け」に相当する。
以下、項目として、適宜、以下の項目があるものとして、図５の（Ａ）の印刷テキストデータＴ１、及び、図５の（Ｂ）の印刷テキストデータＴ２を用いて、テキストデータ分析処理について説明する。項目は、店舗住所情報Ｊ２を項目値として有する店舗住所項目、店舗電話番号情報Ｊ３２を項目値として有する店舗電話番号項目、レシート識別情報Ｊ４２を項目値として有するレシート識別項目、発行日時情報Ｊ５を項目値として有する発行日時項目、購入数量情報Ｊ６１を項目値として有する購入数量項目、購入商品名称情報Ｊ６２を項目値として有する購入商品名称項目、単価情報Ｊ６３を項目値として有する単価項目、小計情報Ｊ７２を項目値として有する小計項目、税額情報Ｊ８２を項目値として有する税額項目、及び、合計金額情報Ｊ９２を項目値として有する合計金額項目である。
【００７９】
図７は、テキストデータ分析処理の詳細を示すフローチャートである。
以下の説明では、印刷テキストデータを含むテキストデータにおいて、改行を表す文字コードを、「改行文字」と表現する。
図７に示すように、制御サーバー制御部４０は、印刷テキストデータに含まれる情報を単語に分解する。（ステップＳＤ１）。
詳述すると、制御サーバー制御部４０は、印刷テキストデータに含まれる情報について、区切文字によって区切られた（分離された）連続する一連の文字列（１文字の場合もある。以下、１文字も、適宜、「文字列」と表現する。）を１つの単語として、印刷テキストデータに含まれる情報を単語に分解する。連続する一連の文字列とは、同一行内で区切文字を挟むことなく連続する１又は複数の実文字を意味する。実文字とは、区切文字以外の文字である。
本実施形態では、「区切文字」は、空白文字、及び、改行文字である。
【００８０】
図５の（Ａ）で例示する印刷テキストデータＴ１については、制御サーバー制御部４０のステップＳＤ１の処理により、以下の単語に分解される。
店舗住所情報Ｊ２が有する単語「１２３４」、単語「ＸＸＸＳｔｒｅｅｔ、Ｎｅｗ」、単語「Ｙｏｒｋ」。
電話番号明示情報Ｊ３１に係る単語「ＴＥＬ」、店舗電話番号情報Ｊ３２に係る単語「１２−３４５−６７８」。
１つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」。
レシート識別明示情報Ｊ４１に係る単語「Ｃｈｅｃｋ♯：」、レシート識別情報Ｊ４２に係る単語「Ｃ０００１」。
発行日時情報Ｊ５に係る単語「１／１／２０１５／１２：００」。
２つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」。
１つ目の明細情報Ｊ６の購入数量情報Ｊ６１に係る単語「１」、購入商品名称情報Ｊ６２に係る単語「Ｂｅｅｒ」、単価情報Ｊ６３に係る単語「１０．００」。
２つ目の明細情報Ｊ６の購入数量情報Ｊ６１に係る単語「１」、購入商品名称情報Ｊ６２に係る単語「Ｔｏｙ」、単価情報Ｊ６３に係る単語「６０．００」。
１つ目の第２エリア分割情報ＳＫ２に係る単語「〜〜〜・・・〜」。
小計明示情報Ｊ７１に係る単語「ＳＵＢＴＯＴＡＬ」、小計情報Ｊ７２に係る単語「７０．００」。
税明示情報Ｊ８１に係る単語「ＴＡＸ」、税額情報Ｊ８２に係る単語「６．１３」。
合計金額明示情報Ｊ９１に係る単語「ＴＯＴＡＬ」、合計金額情報Ｊ９２に係る単語「＄７６．１３」。
３つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」。
付加情報Ｊ１０が有する単語「ＴＨＡＮＫ」、単語「ＹＯＵ！」。
【００８１】
図５の（Ｂ）で例示する印刷テキストデータＴ２については、制御サーバー制御部４０のステップＳＤ１の処理により、以下の単語に分解される。
レシート識別明示情報Ｊ４１に係る単語「ＣｈｅｃｋＮＯ．」、レシート識別情報Ｊ４２に係る単語「Ｃ０００１」。
発行日時情報Ｊ５に係る単語「１／１／２０１５／１２：００」。
１つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」。
１つ目の明細情報Ｊ６の購入商品名称情報Ｊ６２に係る単語「Ｂｅｅｒ」、購入数量情報Ｊ６１に係る単語「１」、単価情報Ｊ６３に係る単語「１０．００」。
２つ目の明細情報Ｊ６の購入商品名称情報Ｊ６２に係る単語「Ｔｏｙ」、購入数量情報Ｊ６１に係る単語「１」、単価情報Ｊ６３に係る単語「６０．００」。
小計明示情報Ｊ７１に係る単語「ｓｕｂｔｏｔａｌ」、小計情報Ｊ７２に係る単語「７０．００」。
税明示情報Ｊ８１に係る単語「ｔａｘ」、税額情報Ｊ８２に係る単語「６．１３」。
１つ目の第３エリア分割情報ＳＫ３に係る単語「＝＝＝・・・＝」。
合計金額明示情報Ｊ９１に係る単語「ｔｏｔａｌ」、合計金額情報Ｊ９２に係る単語「＄７６．１３」。
１つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」。
付加情報Ｊ１０が有する単語「ＴＨＡＮＫ」、単語「ＹＯＵ！」。
電話番号明示情報Ｊ３１に係る単語「ｔｅｌ」、店舗電話番号情報Ｊ３２に係る単語「１２−３４５−６７８」。
店舗住所情報Ｊ２が有する単語「１２３４」、単語「ＸＸＸＳｔｒｅｅｔ、Ｎｅｗ」、単語「Ｙｏｒｋ」。
【００８２】
ステップＳＤ１の処理後、制御サーバー制御部４０は、ステップＳＤ１で分解した単語のうち、所定の複数の単語について、所定の複数の単語からなる「単語群」を抽出する（ステップＳＤ２）。以下、詳述する。
単語群とは、複数の単語の組み合わせによって、１つのまとまった意味を有した情報として成立する場合の、これら複数の単語の組み合わせのことをいう。印刷テキストデータＴ１、及び、印刷テキストデータＴ２の例では、単語「１２３４」、単語「ＸＸＸＳｔｒｅｅｔ、Ｎｅｗ」、単語「Ｙｏｒｋ」は、単体では意味をなさない。これら単語は、これら単語が組み合わされ、単語群「１２３４△ＸＸＸＳｔｒｅｅｔ、Ｎｅｗ△Ｙｏｒｋ」（△は、区切文字である空白文字を表す。以下、同じ。）となって初めて、店舗の住所を示す情報（店舗住所情報Ｊ２）という意味を持った情報となる。この場合において、単語群「１２３４△ＸＸＸＳｔｒｅｅｔ、Ｎｅｗ△Ｙｏｒｋ」が、ステップＳＤ２で抽出される「単語群」に相当する。
また、印刷テキストデータＴ１、及び、印刷テキストデータＴ２の例では、単語「ＴＨＡＮＫ」、単語「ＹＯＵ！」は、単体では意味をなさない。これら単語は、これら単語が組み合わされ、単語群「ＴＨＡＮＫ△ＹＯＵ！」となって初めて、顧客に対する感謝を表す情報（付加情報Ｊ１０）という意味を持った情報となる。この場合において、単語群「ＴＨＡＮＫ△ＹＯＵ！」が、ステップＳＤ２で抽出される「単語群」に相当する。
【００８３】
制御サーバー制御部４０は、例えば、以下の方法で、分解した「単語」に基づいて、「単語群」を抽出する。
例えば、店舗住所情報Ｊ２については、制御サーバー制御部４０は、以下の処理を実行する。すなわち、制御サーバー１５には、予め、住所として使用可能な用語（例えば、用語「Ｎｅｗ△Ｙｏｒｋ」）が登録される。用語は空白文字を含んでもよい。また、制御サーバー１５には、予め、住所を表す場合のルールを示す情報が登録される。住所を表す場合のルールとは、該当する地域においては、「数値により表される番地、ストリート名、行政区域を示す情報の順番で住所が表される。」等の、該当する地域において住所を表す場合の規則を意味する。
そして、制御サーバー制御部４０は、住所として使用可能な用語を含み、その用語の前後の単語が、住所を表す場合のルールに従って記述された状態の場合、「登録された用語を含み、住所を表す場合のルールに従って記述された情報」に属する一連の単語を、店舗住所情報Ｊ２に係る単語群として抽出する。
単語群を抽出する処理はどのような方法で行われてもよい。
【００８４】
ステップＳＤ２で単語群を抽出した後、制御サーバー制御部４０は、単語データを生成する（ステップＳＤ３）。単語データは、ステップＳＤ２で抽出した単語群のそれぞれ、及び、単語群に属する単語を除く単語のそれぞれが記述されたデータである。
図８の（Ａ）は、印刷テキストデータＴ１（図５の（Ａ））に基づく単語データＴＤ１の内容を示す。図８の（Ｂ）は、印刷テキストデータＴ２（図５の（Ｂ））に基づく単語データＴＤ２の内容を示す。
以下、ステップＳＤ２で抽出した単語群を「特定単語群」と表現する。また、ステップＳＤ１で分解された単語のうち、特定単語群に属する単語を除く単語のそれぞれを「特定単語」と表現する。また、特定単語と、特定単語群とを区別しない場合、「対象単語」と表現する。
【００８５】
ステップＳＤ３の処理後、制御サーバー制御部４０は、対象単語を、印刷テキストデータにおける行に分解し、各行と、各行に属する対象単語との対応関係が記述された行データを生成する（ステップＳＤ４）。すなわち、印刷テキストデータは、１又は複数の対象単語が記述された複数の行からなるデータである。そして、ステップＳＤ４において、制御サーバー制御部４０は、第何行目に、どの対象単語が属するかを判別し、何行目という情報と、その行に属する対象単語との対応関係を示す情報が記述された行データを生成する。
【００８６】
図９の（Ａ）は、印刷テキストデータＴ１（図５の（Ａ））に基づいて生成される行データＧＧ１の内容を模式的に示す図である。
図９の（Ａ）の行データＧＧ１に示すように、図５の（Ａ）で例示する印刷テキストデータＴ１については、制御サーバー制御部４０のステップＳＤ２の処理により、各単語が以下の態様で行に分解される。
第１行目→単語群「１２３４△ＸＸＸＳｔｒｅｅｔ、Ｎｅｗ△Ｙｏｒｋ」。
第２行目→単語「ＴＥＬ」、単語「１２−３４５−６７８」。
第３行目→単語「−−−・・・−」。
第４行目→単語「Ｃｈｅｃｋ♯：」、単語「Ｃ０００１」。
第５行目→単語「１／１／２０１５／１２：００」。
第６行目→単語「−−−・・・−」。
第７行目→単語「１」、単語「Ｂｅｅｒ」、単語「１０．００」。
第８行目→単語「１」、単語「Ｔｏｙ」、単語「６０．００」。
第９行目→単語「〜〜〜・・・〜」。
第１０行目→単語「ＳＵＢＴＯＴＡＬ」、単語「７０．００」。
第１１行目→単語「ＴＡＸ」、単語「６．１３」。
第１２行目→単語「ＴＯＴＡＬ」、単語「＄７６．１３」。
第１３行目→単語「−−−・・・−」。
第１４行目→単語群「ＴＨＡＮＫ△ＹＯＵ！」。
【００８７】
図９の（Ｂ）は、印刷テキストデータＴ２（図５の（Ｂ））に基づいて生成される行データＧＧ２の内容を模式的に示す図である。
図９の（Ｂ）の行データＧＧ２に示すように、図５の（Ｂ）で例示する印刷テキストデータＴ２については、制御サーバー制御部４０のステップＳＤ２の処理により、各単語が以下の態様で行に分解される。
第１行目→単語「ＣｈｅｃｋＮＯ．」、単語「Ｃ０００１」。
第２行目→単語「１／１／２０１５／１２：００」。
第３行目→単語「−−−・・・−」。
第４行目→単語「Ｂｅｅｒ」、単語「１」、単語「１０．００」。
第５行目→単語「Ｔｏｙ」、単語「１」、単語「６０．００」。
第６行目→単語「ｓｕｂｔｏｔａｌ」、単語「７０．００」。
第７行目→単語「ｔａｘ」、単語「６．１３」。
第８行目→単語「＝＝＝・・・＝」。
第９行目→単語「ｔｏｔａｌ」、単語「＄７６．１３」
第１０行目→単語「−−−・・・−」。
第１１行目→単語「ＴＨＡＮＫ△ＹＯＵ！」。
第１２行目→単語「ｔｅｌ」、単語「１２−３４５−６７８」。
第１３行目→単語「１２３４△ＸＸＸＳｔｒｅｅｔ、Ｎｅｗ△Ｙｏｒｋ」。
【００８８】
次いで、制御サーバー制御部４０は、エリア分割情報を利用して、印刷テキストデータに含まれる情報をエリアに分ける。そして、制御サーバー制御部４０は、「各エリアと、各エリアに属する対象単語との対応関係、」及び、「各対象単語が属する「行」」が記述されたエリアデータを生成する（ステップＳＤ５）。以下、詳述する。
【００８９】
ここで、上述したように、レシートのレイアウトは、レシートを発行するＰＯＳシステム、印刷装置１２に応じて、異なる場合がある。一方で、レシートに印刷される情報については、レイアウトの相違にかかわらず、変わらないルール（以下、「レシート基本ルール」という。）がある。つまり、レシートには、レイアウトにかかわらず、レシート基本ルールに従って情報が印刷される。
レシート基本ルールとして、レシートに印刷される情報は、エリア分割情報によって印刷領域が区切られ、エリア分割情報を境としてエリアが分けられるというレシート基本ルールがある。これは、以下の理由による。すなわち、レシートには、顧客が買い物をした店舗に関する情報（例えば、ロゴ情報Ｊ１、店舗住所情報Ｊ２、店舗電話番号関連情報Ｊ３）や、顧客が購入した商品に関する情報（例えば、明細情報Ｊ６）、レシート自体に関する情報（例えば、レシート識別関連情報Ｊ４、発行日時情報Ｊ５）、顧客の支払いに関する情報（例えば、小計関連情報Ｊ７、税関連情報Ｊ８、合計金額関連情報Ｊ９）等の、異なる属性（異なる意味合い）の情報が印刷される。そして、レシートの印刷領域をエリア分割情報によってエリアに分け、各エリアに同一又は関連する属性の情報を印刷することにより、レシートを視認した顧客が、レシートの内容を理解しやすくなるからである。
また、レシート基本ルールについて、エリア分割情報は、同一の特殊文字（後述）が１行内で所定個数以上、連続して構成された情報であるというレシート基本ルールがある。
特殊文字とは、エリア分けするというエリア分割情報の機能を実現するのに適した文字であり、本実施形態では、文字「−」、文字「〜」、文字「＝」である。本実施形態で例示する特殊文字以外の特殊文字としては、文字「＠」、文字「＊」、文字「＋」等が想定される。
また、レシート基本ルールについて、エリア分割情報と同一行には、エリア分割情報以外の情報が印刷されないというレシート基本ルールがある。
【００９０】
制御サーバー１５には、エリア分割情報を構成する文字として使用される可能性のある特殊文字を示す情報が登録される。ステップＳＤ５において、制御サーバー制御部４０は、特定単語のうち、登録された特殊文字のいずれかの特殊文字が所定の個数以上、一行内で連続して続く情報であり、同一行に他の情報が存在しない情報を、エリア分割情報として特定する。
次いで、制御サーバー制御部４０は、印刷テキストデータについて、特定した１又は複数のエリア分割情報によって区切られる各エリアを特定する。次いで、制御サーバー制御部４０は、各エリアに属する対象単語を特定し、各エリアと、各エリアに属する対象単語との対応関係が、各対象単語が属する「行」と共に記述されたエリアデータを生成する（ステップＳＤ５）。
以下、１の印刷テキストデータについて、エリア分割情報によって区切られる各エリアを、上から順番に、第１エリア、第２エリア・・・第Ｎエリアのように表現する。
【００９１】
図１０の（Ａ）は、印刷テキストデータＴ１（図５の（Ａ））に基づいて生成されるエリアデータＡＤ１の内容を示す。
印刷テキストデータＴ１について、制御サーバー制御部４０は、１つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」、２つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」、１つ目の第２エリア分割情報ＳＫ２に係る単語「〜〜〜・・・〜」、３つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」を、エリア分割情報として特定する。次いで、特定したエリア分割情報により印刷テキストデータＴ１をエリアに分け、各エリアに属する対象単語を特定する。次いで、制御サーバー制御部４０は、エリアと、エリアに属する対象単語との関係に基づいて、図１０の（Ａ）に示すエリアデータＡＤ１を生成する。
【００９２】
図１０の（Ｂ）は、印刷テキストデータＴ２（図５の（Ｂ））に基づいて生成されるエリアデータＡＤ２の内容を示す。
印刷テキストデータＴ２について、制御サーバー制御部４０は、１つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」、１つ目の第３エリア分割情報ＳＫ３に係る単語「＝＝＝・・・＝」、２つ目の第１エリア分割情報ＳＫ１に係る単語「−−−・・・−」を、エリア分割情報として特定する。次いで、特定したエリア分割情報により印刷テキストデータＴ２をエリアに分け、各エリアに属する対象単語を特定する。次いで、制御サーバー制御部４０は、エリアと、エリアに属する対象単語との関係に基づいて、図１０の（Ｂ）に示すエリアデータＡＤ２を生成する。
【００９３】
ステップＳＤ５の処理後、制御サーバー制御部４０は、印刷テキストデータ、単語データ、行データ、及び、エリアデータに基づいて、対象単語を項目分けする（ステップＳＤ６）。上述したように、対象単語を項目分けするとは、対象単語のうち、所定の対象単語について、予め定められた項目のうち、所定の項目に対する項目値であることを特定し、当該所定の項目と対応付けることを意味する。以下、ステップＳＤ６の処理について例を挙げて詳述する。
【００９４】
以下、印刷テキストデータに記述される単語について、「データ型」を以下のとおり定義する。すなわち、小数点を含まない数値を表す単語、又は、小数点を含む数値を表す単語のデータ型を「数値型」と定義する。例えば、単語「１」、単語「１０．００」が「数値型」の単語である。
また、通貨記号又は通貨単位と、「数値型」の情報からなる単語のデータ型を「金額型」と定義する。例えば、単語「＄７６．１３」が「金額型」の単語である。
また、「通貨記号又は通貨単位」以外の単位を表す文字と、「数値型」の情報とからなる単語のデータ型を「単位型」と定義する。例えば、単語「＠１」が「単位型」の単語である。
また、「数値型」、「金額型」、「単位型」以外の単語であり、数字を示す、単位を示す文字、及び、記号を示す文字以外の文字を少なくとも１つ含む単語のデータ型を「テキスト型」と定義する。
【００９５】
購入数量情報Ｊ６１、購入商品名称情報Ｊ６２、及び、単価情報Ｊ６３について、制御サーバー制御部４０は、以下の方法で、これら情報に対応する単語の項目分けをする。つまり、制御サーバー制御部４０は、以下方法で、対象単語のうち、どの対象単語が購入数量情報Ｊ６１であり、どの対象単語が購入商品名称情報Ｊ６２であり、また、どの対象単語が単価情報Ｊ６３であるかを特定し、それぞれの対象単語を、対応する項目と対応付ける。
ここで、１の種類の商品に係る購入数量情報Ｊ６１、購入商品名称情報Ｊ６２、及び、単価情報Ｊ６３について、これら情報は、レシートのレイアウトにかかわらず、一行内に印刷されるというレシート基本ルールがある。これら情報は、レシートに印刷されることが必須の情報であるからであり、また、これら情報を同一行に印刷することにより、これら情報が１つの種類の商品に関連する情報であることが明示されるからである。また、これら情報を同一行に印刷することにより、明細情報Ｊ６が、複数個（＝複数行）、レシートに印刷された場合に、購入数量情報Ｊ６１、購入商品名称情報Ｊ６２、及び、単価情報Ｊ６３の対応関係が明確化するからである。
また、購入数量情報Ｊ６１、購入商品名称情報Ｊ６２、及び、単価情報Ｊ６３を含む明細情報Ｊ６がレシートに複数印刷される場合、明細情報Ｊ６のそれぞれは同一のエリアに印刷されるというレシート基本ルールがある。明細情報Ｊ６のぞれぞれは、同一の属性の情報だからである。
また、購入数量情報Ｊ６１は数値型又は単位型の単語であり、購入商品名称情報Ｊ６２はテキスト型の単語であり、単価情報Ｊ６３は数値型又は金額型の単語であるというレシート基本ルールがある。
【００９６】
以上を踏まえ、制御サーバー制御部４０は、行データに基づいて、数値型又は単位型の対象単語と、テキスト型の対象単語と、数値型又は金額型の対象単語とが、並び順にかかわらず同一の一行内に存在する１又は複数の「行」を特定する。ここで特定された「行」は、明細情報Ｊ６が印刷された「行」に相当する。制御サーバー制御部４０は、特定した「行」において、テキスト型の対象単語が、購入商品名称情報Ｊ６２であり、購入商品名称項目に対応する項目値であることを特定する。
また、制御サーバー制御部４０は、特定した「行」において、数値型又は単位型の対象単語、及び、数値型又は金額型の対象単語について、いずれの対象単語が購入数量情報Ｊ６１であり、いずれの対象単語が単価情報Ｊ６３であるかを判別する。例えば、制御サーバー制御部４０は、金額型の対象単語は単価情報Ｊ６３と判別する。また、制御サーバー制御部４０は、単位型の対象単語は購入数量情報Ｊ６１と判別する。また、制御サーバー制御部４０は、２つの対象単語がいずれも数値型の単語である場合は、２つの対象単語が示す数値の大きさや、他の明細情報Ｊ６における対応する２つの対象単語が示す数値との関係に基づいて、いずれの対象単語が購入数量情報Ｊ６１であり、いずれの対象単語が単価情報Ｊ６３であるかを判別する。
制御サーバー制御部４０は、購入数量情報Ｊ６１と特定した対象単語を購入数量項目と対応付け、購入商品名称情報Ｊ６２と特定した対象単語を購入商品名称項目と対応付け、単価情報Ｊ６３と特定した対象単語を単価項目と対応付ける。
【００９７】
以上のように、購入数量情報Ｊ６１、購入商品名称情報Ｊ６２、及び、単価情報Ｊ６３に対応する単語ついて、制御サーバー制御部４０は、これら単語の位置関係（これら単語が同一行内に印刷されるという位置関係）、及び、これら単語のデータ型に基づいて、項目分けする。そして、これら単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
【００９８】
小計情報Ｊ７２、税額情報Ｊ８２、及び、合計金額情報Ｊ９２について、制御サーバー制御部４０は、以下の方法で、これら情報に対応する単語の項目分けをする。
レシート基本ルールとして、小計情報Ｊ７２、税額情報Ｊ８２、及び、合計金額情報Ｊ９２は、この順番で、印刷されるというルールがある。小計が確定して、税額が確定し、小計及び税額が確定して合計金額が確定するからである。例えば、これら情報が異なる行に印刷される場合は、レシートにおいて下方へ向かって、小計情報Ｊ７２、税額情報Ｊ８２、合計金額情報Ｊ９２の順番で印刷される。また例えば、これら情報の少なくとも２つが同一の行に印刷される場合は、対応する一行において右へ向かって小計情報Ｊ７２、税額情報Ｊ８２、合計金額情報Ｊ９２の順番で印刷される。
また、レシート基本ルールとして、小計情報Ｊ７２、税額情報Ｊ８２、及び、合計金額情報Ｊ９２は、同一のエリアに印刷されるか、又は、隣接するエリアに印刷されるというレシート基本ルールがある。これら情報は、同一の属性の情報だからであり、また、近接する位置に印刷されることによって、それぞれの情報の関係が明確となるからである。
また、レシート基本ルールとして、小計情報Ｊ７２は、小計明示情報Ｊ７１と隣接してレシートに印刷されるというレシート基本ルールがある。小計情報Ｊ７２に対応する単語のデータ型は、数値型又は金額型であり、小計情報Ｊ７２が何を意味するかを小計明示情報Ｊ７１によって明示する必要があるからである。また、レシート基本ルールとして、小計情報Ｊ７２に対応する単語のデータ型は数値型又は金額型であり、小計明示情報Ｊ７１に対応する単語のデータ型はテキスト型であるというレシート基本ルールがある。
また、レシート基本ルールとして、税額情報Ｊ８２は、税明示情報Ｊ８１と隣接してレシートに印刷されるというレシート基本ルールがある。税額情報Ｊ８２に対応する単語のデータ型は、数値型又は金額型であり、税額情報Ｊ８２が何を意味するかを税明示情報Ｊ８１によって明示する必要があるからである。また、レシート基本ルールとして、税額情報Ｊ８２に対応する単語のデータ型は数値型又は金額型であり、税明示情報Ｊ８１に対応する単語のデータ型はテキスト型であるというレシート基本ルールがある。
また、レシート基本ルールとして、合計金額情報Ｊ９２は、合計金額明示情報Ｊ９１と隣接してレシートに印刷されるというレシート基本ルールがある。合計金額情報Ｊ９２に対応する単語のデータ型は、数値型又は金額型であり、合計金額情報Ｊ９２が何を意味するかを合計金額明示情報Ｊ９１によって明示する必要があるからである。また、レシート基本ルールとして、合計金額情報Ｊ９２に対応する単語のデータ型は数値型又は金額型であり、合計金額明示情報Ｊ９１に対応する単語のデータ型はテキスト型であるというレシート基本ルールがある。
【００９９】
制御サーバー制御部４０は、上述した小計情報Ｊ７２、税額情報Ｊ８２、及び、合計金額情報Ｊ９２に関連するレシート基本ルールに従って、印刷テキストデータ、単語データ、行データ、エリアデータに基づいて、これら情報に対応する単語の項目分けを行う。
例えば、小計情報Ｊ７２について、制御サーバー制御部４０は、以下の処理を行う。
すなわち、制御サーバー１５には、小計明示情報Ｊ７１に含めることが可能な用語が予め登録される。制御サーバー制御部４０は、登録された用語に基づいて、小計明示情報Ｊ７１に対応する対象単語の候補を抽出する。制御サーバー制御部４０は、「小計明示情報Ｊ７１に対応する単語のデータ型がテキスト型であること」、「小計明示情報Ｊ７１に対応する単語が数値型又は金額型の小計情報Ｊ７１に対応する単語に隣接すること」、「小計明示情報Ｊ７１に対応する単語が税明示情報Ｊ８１に対応する単語よりも前に存在すること」、「小計明示情報Ｊ７１に対応する単語が、税明示情報Ｊ８１又は合計金額明示情報Ｊ９１と同一又は隣接するエリアに存在すること」を踏まえて、印刷テキストデータ、単語データ、行データ、エリアデータに基づいて、抽出した候補から、小計明示情報Ｊ７１に対応する対象単語を特定する。次いで、制御サーバー制御部４０は、小計明示情報Ｊ７１との位置関係、小計明示情報Ｊ７１以外の単語との位置関係、及び、データ型に基づいて、小計情報Ｊ７２に対応する対象単語を特定し、特定した対象単語を、小計項目と対応付ける。
制御サーバー制御部４０は、小計情報Ｊ７２に対応する対象単語の項目付けと同様の方法により、税額情報Ｊ８２に対応する対象単語を特定して税額項目と対応付け、また、合計金額情報Ｊ９２に対応する対象単語を特定して合計金額項目と対応付ける。
【０１００】
以上のように、小計情報Ｊ７２、税額情報Ｊ８２、及び、合計金額情報Ｊ９２に対応する単語ついて、制御サーバー制御部４０は、これら単語の位置関係、これら単語以外の単語との位置関係、及び、これら単語のデータ型に基づいて、項目分けする。そして、これら単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
【０１０１】
店舗住所情報Ｊ２について、制御サーバー制御部４０は、以下の方法で、当該情報に対応する対象単語（本例では、単語群に係る対象単語）の項目分けをする。
すなわち、店舗住所情報Ｊ２に対応する対象単語は、上述したように、住所として使用可能な用語を含み、住所を表す場合のルールに従った情報を有する。また、レシート基本ルールとして、店舗住所情報Ｊ２は、明細情報Ｊ６、小計関連情報Ｊ７、税関連情報Ｊ８、又は、合計金額関連情報Ｊ９が印刷されるエリアとは異なるエリアに印刷されるというレシート基本ルールがある。店舗住所情報Ｊ２は、明細情報Ｊ６、小計関連情報Ｊ７、税関連情報Ｊ８、又は、合計金額関連情報Ｊ９とは異なる属性の情報だからである。制御サーバー制御部４０は、対象単語の内容に基づいて、対象単語から店舗住所情報Ｊ２に対応する単語の候補を抽出する。制御サーバー制御部４０は、候補とした対象単語と、明細情報Ｊ６、小計関連情報Ｊ７、税関連情報Ｊ８、又は、合計金額関連情報Ｊ９に係る対象単語との位置関係を踏まえて、抽出した候補から、店舗住所情報Ｊ２に対応する対象単語を特定する。次いで、制御サーバー制御部４０は、特定した対象単語を、店舗住所項目と対応付ける。
【０１０２】
以上のように、店舗住所情報Ｊ２に対応する単語について、制御サーバー制御部４０は、他の対象単語との位置関係に基づいて項目分けする。そして、当該単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
【０１０３】
レシート識別情報Ｊ４２について、制御サーバー制御部４０は、以下の方法で、当該情報に対応する対象単語の項目分けをする。
レシート基本ルールとして、レシート識別情報Ｊ４２は、レシート識別明示情報Ｊ４１と隣接してレシートに印刷されるというレシート基本ルールがある。レシート識別情報Ｊ４２単体では意味をなさず、レシート識別情報Ｊ４２が何を意味するかをレシート識別明示情報Ｊ４１によって明示する必要があるからである。また、レシート基本ルールとして、レシート識別情報Ｊ４２は、明細情報Ｊ６、小計関連情報Ｊ７、税関連情報Ｊ８、又は、合計金額関連情報Ｊ９が印刷されるエリアとは異なるエリアに印刷されるというレシート基本ルールがある。レシート識別情報Ｊ４２は、明細情報Ｊ６、小計関連情報Ｊ７、税関連情報Ｊ８、又は、合計金額関連情報Ｊ９とは異なる属性の情報だからである。
制御サーバー１５には、レシート識別明示情報Ｊ４１に含めることが可能な用語が予め登録される。制御サーバー制御部４０は、登録された用語に基づいて、レシート識別明示情報Ｊ４１に対応する対象単語の候補を抽出する。制御サーバー制御部４０は、上述したレシート識別情報Ｊ４２に係るレシート基本ルールを踏まえて、印刷テキストデータ、単語データ、行データ、エリアデータに基づいて、抽出した候補から、レシート識別明示情報Ｊ４１に対応する対象単語を特定する。次いで、制御サーバー制御部４０は、レシート識別明示情報Ｊ４１との位置関係や、レシート識別明示情報Ｊ４１以外の単語との位置関係等に基づいて、レシート識別情報Ｊ４２に対応する対象単語を特定し、特定した対象単語を、レシート識別項目と対応付ける。
【０１０４】
以上のように、レシート識別関連情報Ｊ４に対応する単語について、制御サーバー制御部４０は、他の対象単語との位置関係に基づいて項目分けする。そして、当該単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
【０１０５】
発行日時情報Ｊ５について、制御サーバー制御部４０は、以下の方法で、当該情報に対応する対象単語の項目分けをする。
すなわち、発行日時情報Ｊ５は、日時を表す場合のルールに従った所定の形式で情報が記述される。また、レシート基本ルールとして、発行日時情報Ｊ５は、明細情報Ｊ６、小計関連情報Ｊ７、税関連情報Ｊ８、又は、合計金額関連情報Ｊ９が印刷されるエリアとは異なるエリアに印刷されるというレシート基本ルールがある。発行日時情報Ｊ５は、明細情報Ｊ６、小計関連情報Ｊ７、税関連情報Ｊ８、又は、合計金額関連情報Ｊ９とは異なる属性の情報だからである。制御サーバー制御部４０は、対象単語の内容に基づいて、対象単語から発行日時情報Ｊ５に対応する単語の候補を抽出する。制御サーバー制御部４０は、上候補とした対象単語と、明細情報Ｊ６、小計関連情報Ｊ７、税関連情報Ｊ８、又は、合計金額関連情報Ｊ９に係る対象単語との位置関係を踏まえて、抽出した候補から、店舗住所情報Ｊ２に対応する対象単語を特定する。次いで、制御サーバー制御部４０は、特定した対象単語を、発行日時項目と対応付ける。
【０１０６】
以上のように、発行日時情報Ｊ５に対応する単語について、制御サーバー制御部４０は、他の対象単語との位置関係に基づいて項目分けする。そして、当該単語について、上述した方法で項目分けすることにより、レシートのレイアウトにかかわらず、的確に項目分けを実行できる。
【０１０７】
以上、単語又は単語群を項目分けする処理について具体例を挙げて説明したが、単語又は単語群を項目分けする方法は上述した方法に限らない。また、単語又は単語群を対応付けする対象となる項目も例示したものに限らず、また、印刷テキストデータに含まれる情報も、例示した情報に限らない。
【０１０８】
図７に示すように、ステップＳＤ６の処理後、制御サーバー制御部４０は、整合性チェックを行う（ステップＳＤ７）。
詳述すると、会計に係る合計金額、小計、及び、税額は以下の関係にある。「合計金額＝小計＋税額」。これを踏まえ、制御サーバー制御部４０は、小計項目と対応付けられた対象単語（小計情報Ｊ７２に対応する対象単語）が示す数値（小計）と、税額項目と対応付けられた対象単語（税額情報Ｊ８２に対応する対象単語）が示す数値（税額）と、合計金額項目と対応付けられた対象単語（合計金額情報Ｊ９２に対応する対象単語）が示す数値（合計金額）とが上記関係にあるか否かを判別する。上記関係に無い場合、制御サーバー制御部４０は、対象単語の項目分けが失敗したと判別し、対応する処理を実行する。例えば、制御サーバー制御部４０は、所定の方法で、対象単語の項目分けが失敗した可能性があることをオペレーター、その他の権限を有する者に報知する。
また、会計に関し、小計は、「商品の単価と購入数量との積」を、顧客が購入した商品のそれぞれについて合計した値である。これを踏まえ、制御サーバー制御部４０は、「単価項目に対応付けられた対象単語（単価情報Ｊ６３に対応する対象単語）が示す数値と、購入数量項目に対応付けられた対象単語（購入数量情報Ｊ６１に対応する対象単語）が示す数値との積」を合計した値と、小計項目と対応付けられた対象単語（小計情報Ｊ７２に対応する対象単語）が示す数値（小計）とが上記関係にあるか否かを判別する。上記関係に無い場合、制御サーバー制御部４０は、対応する処理を実行する。
【０１０９】
次いで、制御サーバー制御部４０は、ステップＳＤ７の処理結果に基づいて、分析データを生成し（ステップＳＤ８）、テキストデータ分析処理を終了する。
分析データは、項目を階層化でき、各項目に項目値を対応付けて記述可能なテキストデータである。分析データは、例えば、ＸＭＬ形式や、ＪＳＯＮ形式のデータである。
ステップＳＤ８において、制御サーバー制御部４０は、ステップＳＤ６の処理で対象単語と対応付けられた項目のそれぞれについて、項目と、対象単語との対応関係を記述した分析データを生成する。
図１１は、印刷テキストデータＴ１（図５の（Ａ））に基づいて生成される分析データＢＳ１の内容を説明に適した態様で模式的に示す図である。
図１１に示すように、印刷テキストデータＴ１に基づく分析データには、店舗住所項目、店舗電話番号項目、レシート識別項目、発行日時項目、購入数量項目、購入商品名称項目、単価項目、小計項目、税額項目、及び、合計金額項目のそれぞれについて、対応する項目値が対応付けて記述される。
【０１１０】
図３の（Ｃ）に示すように、ステップＳＣ４でテキストデータ分析処理を実行した後、制御サーバー制御部４０は、テキストデータ分析処理の処理結果に基づいて、レイアウト情報管理データベース４２３に１件のレコードを登録する（ステップＳＣ５）。
詳述すると、ステップＳＣ５において、制御サーバー制御部４０は、テキストデータ分析処理で生成した単語データ、行データ、及び、エリアデータに基づいて、レイアウト情報を生成する。レイアウト情報は、印刷テキストデータにおいて、どのエリアに、どの対象項目が、どういった態様で記述されるのかを示す情報である。制御サーバー制御部４０は、レイアウト情報に基づいて、印刷テキストデータが有する対象単語の項目分けが可能となる。また、レイアウト情報は、制御サーバー制御部４０が、当該情報に基づいて印刷テキストデータが有する対象単語の項目分けが可能となるために必要な情報を有する。
レイアウト情報を生成した後、制御サーバー制御部４０は、ステップＳＣ１で受信したシリアル番号Ｊ１１と、生成したレイアウト情報とが対応付けられた１件のレコードを、レイアウト情報管理データベース４２３に登録する。
【０１１１】
続くステップＳＣ６において、制御サーバー制御部４０は、分析データに基づいて、会計情報管理データベース４２２に１件のレコードを登録する。
図１２は、会計情報管理データベース４２２のデータ構造を模式的に示す図である。
図１２に示すように、会計情報管理データベース４２２の１件のレコードは、統括識別情報Ｊ１２、及び、シリアル番号Ｊ１１を有する。また、会計情報管理データベース４２２は、店舗住所情報Ｊ２（店舗住所項目の項目値）、店舗電話番号情報Ｊ３２（店舗電話番号項目の項目値）、レシート識別情報Ｊ４２（レシート識別項目の項目値）、発行日時情報Ｊ５（発行日時項目の項目値）、小計情報Ｊ７２（小計項目の項目値）、税額情報Ｊ８２（税額項目の項目値）、及び、合計金額情報Ｊ９２（合計金額項目の項目値）を有する。また、会計情報管理データベース４２２の１件のレコードは、顧客が購入した商品ごとに、明細情報Ｊ６を有する。各明細情報Ｊ６は、購入数量情報Ｊ６１（購入数量項目の項目値）、購入商品名称情報Ｊ６２（購入商品名称項目の項目値）、及び、単価情報Ｊ６３（単価項目の項目値）を有する。
図１２において、レコードＲＣ１２１は、印刷テキストデータＴ１に基づいて生成されるレコードを示す。
ステップＳＣ６で、制御サーバー制御部４０は、分析データから、各項目の項目値を取得し、取得した項目値を、新たに生成するレコードの対応するフィールドに格納する。
【０１１２】
上述したように、ステップＳＣ３において、制御サーバー制御部４０は、レイアウト情報管理データベース４２３（後述）を参照し、当該データベースに、ステップＳＣ１で受信したシリアル番号Ｊ１１の値と同一の値のシリアル番号Ｊ１１を有するレコードが存在するか否かを判別する。
上述したように、印刷データ等の送信元の印刷装置１２について、過去にテキストデータ分析処理が行われた場合、レイアウト情報管理データベース４２３に、当該印刷装置１２のシリアル番号Ｊ１１とレイアウト情報とが対応付けられたレコードが記憶された状態である。
【０１１３】
レイアウト情報管理データベース４２３に、ステップＳＣ１で受信したシリアル番号Ｊ１１の値と同一の値のシリアル番号Ｊ１１を有するレコードが存在する場合（ステップＳＣ３：ＹＥＳ）、制御サーバー制御部４０は、当該レコードが有するレイアウト情報を取得する（ステップＳＣ７）。
次いで、制御サーバー制御部４０は、ステップＳＣ１で受信した印刷テキストデータ、及び、ステップＳＣ７で取得したレイアウト情報に基づいて、分析データを生成する（ステップＳＣ８）。上述したように、レイアウト情報は、制御サーバー制御部４０が、当該情報に基づいて印刷テキストデータが有する対象単語の項目分けが可能となるために必要な情報を有する。
次いで、制御サーバー制御部４０は、ステップＳＣ８で生成した分析データに基づいて、レイアウト情報管理データベース４２３にレコードを生成する（ステップＳＣ９）。
【０１１４】
以上のように、会計情報管理データベース４２２には、店舗で行われる会計に応じて、会計ごとに、レコードが生成される。また、会計情報管理データベース４２２の１件のレコードは、顧客が購入した商品に関する情報（明細情報Ｊ６等）や、顧客の支払いに関する情報（小計情報Ｊ７２や、税額情報Ｊ８２、合計金額情報Ｊ９２等）等のレシートに印刷される有益な情報を有する。従って、制御サーバー１５は、会計情報管理データベース４２２に基づいて、問い合わせに応じて、特定の店舗の売上に関する情報や、特定の店舗で購入された商品に関する情報等、店舗の経営にとって有益な情報の提供が可能となる。
【０１１５】
以上説明したように、本実施形態では、制御サーバー１５は、印刷される情報をテキストとして有する印刷テキストデータ（テキストデータ）を処理する。そして、制御サーバー１５の制御サーバー制御部４０（制御部）は、印刷テキストデータに含まれる情報を単語に分解し、単語の位置関係に基づいて、単語、又は、複数の単語からなる単語群を項目分けする。
この構成によれば、印刷テキストデータに含まれる情報が単語に分解された上で、単語又は単語群が、印刷テキストデータにおける単語の位置関係に基づいて適切に項目分けされる。このため、単語又は単語群について、どの項目に対応する項目値かを明確化した上で、所定の項目に対応する項目値として分析し、使用することが可能となり、これにより、印刷される情報を的確に分析できる。
【０１１６】
また、本実施形態では、制御サーバー制御部４０は、単語の位置関係、及び、単語のデータ型に基づいて、単語又は単語群を項目分けする。
この構成によれば、単語のデータ型を利用して、単語又は単語群の項目分けをより的確に行うことができる。
【０１１７】
また、本実施形態では、制御サーバー制御部４０は、単語又は単語群の項目分けの結果に基づいて、項目が階層化され、各項目と、項目値としての単語又は単語群とが対応付けられた分析データを生成する。
この構成によれば、後に、分析データを使用して、項目分けされた単語又は単語群を用いた処理を実行できる。
【０１１８】
また、本実施形態では、印刷テキストデータは、所定のレイアウトに従って印刷される情報が、当該所定のレイアウトに従って記述されたデータである。制御サーバー制御部４０は、単語又は単語群の項目分けの結果に基づいて、印刷テキストデータに対応する所定のレイアウトに関する情報であり、当該所定のレイアウトに係る印刷テキストデータが有する単語又は単語群の項目分けに利用可能な情報であるレイアウト情報を生成する。
この構成によれば、レイアウト情報を生成した後は、レイアウト情報に基づいて簡易に単語又は単語群の項目分けが可能となる。
【０１１９】
また、本実施形態では、制御サーバー制御部４０は、ステップＳＤ７の整合性チェックで説明したように、１の項目、及び、他の項目について、当該１の項目に対応する項目値と、当該他の項目に対応する項目値とが所定の関係であるときに、これら項目値の整合性がとれた状態である場合に、単語又は単語群を項目分けした後、当該１の項目に項目値として対応付けられた単語又は単語群と、当該他の項目に項目値として対応付けられた単語又は単語群との関係が当該所定の関係であるか否かを判別する。
この構成によれば、制御サーバー制御部４０は、単語又は単語群の項目分けが正常に行われてない場合に、そのことを検出できる。
【０１２０】
また、本実施形態では、制御サーバー制御部４０は、所定の区切文字を区切りとして、単語の分解を行う。
この構成によれば、区切文字を利用して、的確に印刷テキストデータが有する情報を単語に分解できる。
【０１２１】
＜変形例＞
上述した実施形態では、テキストデータ分析処理を制御サーバー１５が行う構成であった。しかしながら、テキストデータ分析処理を実行する主体は、制御サーバー１５に限らず、印刷装置１２でもよい。この場合、印刷装置１２が「情報処理装置」として機能し、処理を実行する印刷装置制御部３０が「制御部」として機能する。
【０１２２】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した制御サーバー１５の制御方法（情報処理装置の制御方法）が、制御サーバー１５が備えるコンピューター、又は、制御サーバー１５に接続される外部装置を用いて実現される場合、本発明を、当該方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。上記記録媒体としては、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、ＨＤＤ（Hard Disk Drive）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃ、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型の、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、制御サーバー１５や、制御サーバー１５に接続された外部装置が備える内部記憶装置であるＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ等の不揮発性記憶装置でもよい。
また例えば、上述した実施形態では、会計に応じて、印刷装置１２が印刷データに基づいて印刷テキストデータを生成した。しかしながら、制御サーバー１５が、印刷装置１２から印刷データを受信し、受信した印刷データに基づいて印刷テキストデータを生成する構成でもよい。
また例えば、上述した実施形態では、会計情報管理データベース４２２、及び、レイアウト情報管理データベース４２３が記憶する情報を具体的に例示して説明したが、これらデータベースが記憶する情報は例示した情報に限らない。
また例えば、上述した実施形態では、印刷装置１２と、ホストコンピューターとして機能するタブレット端末１３とは、無線通信する構成であった。しかしながら、印刷装置１２とホストコンピューターとは、無線通信に限らず、有線ＬＡＮに係る通信規格や、ＵＳＢ、ＵＳＢ以外のシリアル通信に係る通信規格、パラレル通信に係る規格に従って有線通信する構成でもよい。また、ホストコンピューターは、タブレット端末１３のように、タブレット型の装置に限らず、例えば、据え置き型の装置でもよい。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
【符号の説明】
【０１２３】
１…会計システム、１２…印刷装置、１３…タブレット端末、１５…制御サーバー、２０…タブレット端末制御部、２０１…タブレット端末アプリケーション実行部、２１…タブレット端末通信部、２２…タッチパネル、２３…タブレット端末記憶部、３０…印刷装置制御部、３１…印刷部、３２…印刷装置記憶部、３３…印刷装置通信部、３４…印刷装置ネットワーク通信部、３５…デバイス通信部、４０…制御サーバー制御部、４１…制御サーバーネットワーク通信部、４２…制御サーバー記憶部、４２１…テキストデータ管理データベース、４２２…会計情報管理データベース、４２３…レイアウト情報管理データベース、ＢＲ…バーコードリーダー、ＣＤ…カスタマーディスプレー、ＪＴ…自動釣銭機、ＧＮ…グローバルネットワーク。
【図１】
0006657945.tif 000002
【図２】
0006657945.tif 000003
【図３】
0006657945.tif 000004
【図４】
0006657945.tif 000005
【図５】
0006657945.tif 000006
【図６】
0006657945.tif 000007
【図７】
0006657945.tif 000008
【図８】
0006657945.tif 000009
【図９】
0006657945.tif 000010
【図１０】
0006657945.tif 000011
【図１１】
0006657945.tif 000012
【図１２】
0006657945.tif 000013