(57)【要約】【課題】設定された金額情報の表記形式が適切な表記形式であるかをユーザーが認識できるようにする。【解決手段】制御サーバーは、印刷装置と通信可能なサーバーネットワーク通信部と、制サーバー制御部と、を備え、サーバー制御部は、サーバーネットワーク通信部により、印刷装置から、決済情報に関する印刷テキストデータを取得し、取得した印刷テキストデータから、金額情報を抽出し、抽出した金額情報に基づいて、金額の小数点を示す小数点記号と、金額の桁区切りを示す桁区切り記号とを有する金額情報Ｊ１０に適用される表記形式を判定し、小数点記号と桁区切り記号とを設定した設定表記形式を取得し、金額情報Ｊ１０に適用される表記形式と、設定表記形式とを比較し、比較した結果に基づいて、報知処理を実行する。【選択図】図９
2020086631.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と通信可能な通信部と、
制御部と、を備え、
前記制御部は、
前記通信部により、前記印刷装置から、決済情報に関するテキストデータを取得し、
取得した前記テキストデータから、金額情報を抽出し、
抽出した前記金額情報に基づいて、金額の小数点を示す第１記号と、前記金額の桁区切りを示す第２記号とを有する第１表記形式を判定し、
前記第１記号と、前記第２記号とが設定された第２表記形式を取得し、
前記第１表記形式と、前記第２表記形式とを比較し、比較した結果に基づいて、報知処理を実行することを特徴とする情報処理装置。
【請求項２】
前記制御部は、
抽出した前記金額情報に出現する記号の出現頻度を、前記記号の種類ごとに累積的にカウントし、
複数の前記記号のうち、前記出現頻度の高い種類の前記記号に基づいて、前記第１表記形式が有する前記第１記号と、前記第２記号とを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記号の前記種類は、ドット、カンマ、アポストロフィ、又は、中点であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２表記形式の前記第１記号、及び、前記第２表記形式の前記第２記号は、管理装置でユーザーが設定した記号であることを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
前記制御部は、
前記第１表記形式の前記第１記号と、前記第２表記形式の前記第１記号とが異なる場合、又は、前記第１表記形式の前記第２記号と、前記第２表記形式の前記第２記号とが異なる場合、前記報知処理を実行することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記制御部は、
前記第１表記形式と、前記第２表記形式とが、同じである場合、前記第２表記形式を、前記決済情報の解析用の表記形式とすることを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記制御部は、
前記第２表記形式に基づいて、前記決済情報を解析することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記制御部は、
前記金額情報に基づいて、前記第１表記形式の前記第１記号、及び、前記第１表記形式の前記第２記号を識別可能な機械学習モデルを生成し、
生成した前記機械学習モデルにより判定した前記第１表記形式と、前記第２表記形式とを比較することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記制御部は、
抽出した前記金額情報に出現する記号の出現頻度を、前記記号の種類ごとに累積的にカウントし、
複数の前記記号のうち、前記出現頻度の高い種類の前記記号に基づいて、前記第１記号と、前記第２記号とを有する前記第１表記形式を判定し、
判定した前記第１表記形式をパラメーターとして、複数の前記パラメーターに基づいて、前記第１表記形式の前記第１記号と、前記第１表記形式の前記第２記号とを識別可能な前記機械学習モデルを生成することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
印刷装置から、決済情報に関するテキストデータを取得し、
取得した前記テキストデータから金額情報を検出し、
検出した前記金額情報に基づいて、金額の小数点を示す第１記号と、金額の桁区切りを示す第２記号とを有する第１表記形式を判定し、
前記第１記号と、前記第２記号とが設定された第２表記形式を取得し、
前記第１表記形式と、前記第２表記形式とを比較し、比較した結果に基づいて、報知処理を実行することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び、情報処理装置の制御方法に関する。
【背景技術】
【０００２】
従来、種々の形式で表記される金額情報を処理する装置が知られている（例えば、特許文献１参照）。特許文献１記載の装置は、１商品の金額情報の表記形式をユーザーによって設定された通貨単位の表記形式に変換して金額情報の表示と金額情報の印刷を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−１７２５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、ユーザーに設定された表記形式を用いるため、ユーザーの入力ミスや設定ミス等により、金額情報が誤った表記形式に変換される虞があった。また、金額情報を解析する装置においては、誤った表記形式で解析を行うと、適切な解析結果を得ることができない虞があった。
【課題を解決するための手段】
【０００５】
上記目的を達成する一態様は、印刷装置と通信可能な通信部と、制御部と、を備え、前記制御部は、前記通信部により、前記印刷装置から、決済情報に関するテキストデータを取得し、取得した前記テキストデータから、金額情報を抽出し、抽出した前記金額情報に基づいて、金額の小数点を示す第１記号と、前記金額の桁区切りを示す第２記号とを有する第１表記形式を判定し、前記第１記号と、前記第２記号とが設定された第２表記形式を取得し、前記第１表記形式と、前記第２表記形式とを比較し、比較した結果に基づいて、報知処理を実行することを特徴とする情報処理装置である。
【０００６】
上記情報処理装置において、前記制御部は、抽出した前記金額情報に出現する記号の出現頻度を、前記記号の種類ごとに累積的にカウントし、複数の前記記号のうち、出現頻度の高い種類の前記記号に基づいて、前記第１表記形式が有する前記第１記号と、前記第２記号とを判定することを特徴とする構成でもよい。
【０００７】
上記情報処理装置において、前記記号の前記種類は、ドット、カンマ、アポストロフィ、又は、中点であることを特徴とする構成でもよい。
【０００８】
上記情報処理装置において、前記第２表記形式の前記第１記号、及び、前記第２表記形式の前記第２記号は、前記管理装置でユーザーが設定した記号であることを特徴とする構成でもよい。
【０００９】
上記情報処理装置において、前記制御部は、前記第１表記形式の前記第１記号と、前記第２表記形式の前記第１記号とが異なる場合、又は、前記第１表記形式の前記第２記号と、前記第２表記形式の前記第２記号とが異なる場合、前記報知処理を実行することを特徴とする構成でもよい。
【００１０】
上記情報処理装置において、前記制御部は、前記第１表記形式と、前記第２表記形式とが、同じである場合、前記第２表記形式を、前記決済情報の解析用の表記形式とすることを特徴とする構成でもよい。
【００１１】
上記情報処理装置において、前記制御部は、前記第２表記形式に基づいて、前記決済情報を解析することを特徴とする構成でもよい。
【００１２】
上記情報処理装置において、前記制御部は、前記金額情報に基づいて、前記第１表記形式の前記第１記号、及び、前記第１表記形式の前記第２記号を識別可能な機械学習モデルを生成し、生成した前記機械学習モデルにより判定した前記第１表記形式と、前記第２表記形式とを比較することを特徴とする構成でもよい。
【００１３】
上記情報処理装置において、前記制御部は、抽出した前記金額情報に出現する記号の出現頻度を、前記記号の種類ごとに累積的にカウントし、複数の前記記号のうち、出現頻度の高い種類の前記記号に基づいて、前記第１記号と、前記第２記号とを有する前記第１表記形式を判定し、判定した前記第１表記形式をパラメーターとして、複数の前記パラメーターに基づいて、前記第１表記形式の前記第１記号と、前記第１表記形式の前記第２記号とを識別可能な前記機械学習モデルを生成することを特徴とする構成でもよい。
【００１４】
上記目的を達成する別の一態様は、印刷装置から、決済情報に関するテキストデータを取得し、取得した前記テキストデータから金額情報を検出し、検出した前記金額情報に基づいて、金額の小数点を示す第１記号と、金額の桁区切りを示す第２記号とを有する第１表記形式を判定し、前記第１記号と、前記第２記号とが設定された第２表記形式を取得し、前記第１表記形式と、前記第２表記形式とを比較し、比較した結果に基づいて、報知処理を実行することを特徴とする情報処理装置の制御方法である。
【図面の簡単な説明】
【００１５】
【図１】情報処理システムの構成を示す図。
【図２】情報処理システムの各装置の機能的構成を示すブロック図。
【図３】ＰＯＳ端末、印刷装置、制御サーバーの動作を示すフローチャート。
【図４】印刷データの一例を示す図。
【図５】レシートの一例を示す図。
【図６】印刷テキストデータの一例を示す図。
【図７】解析プログラム群管理データベースの一例を示す図。
【図８】解析データ管理データベースの一例を示す図。
【図９】サーバー制御部の機能ブロックを示す図。
【図１０】制御サーバーの動作を示すフローチャート。
【発明を実施するための形態】
【００１６】
図１は、本実施形態に係る情報処理システム１の構成を示す図である。
【００１７】
図１に示すように、情報処理システム１は、複数の店舗システム２を備える。店舗システム２は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。店舗は、商品の提供が行われ、商品の提供に応じて、顧客による会計が行われる施設であればよい。本実施形態において、「商品」は、物体として顧客に引き渡される商品だけでなく、顧客に提供されるサービスや、顧客に提供される飲食物等、対価と引き換えに顧客に提供される対象を意味する。
店舗システム２は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートＲを発行する機能等を備える。
【００１８】
店舗システム２が適用される店舗には、顧客が会計を行なうレジカウンターＬが設けられる。図１では、１の店舗に複数のレジカウンターＬが設けられる場合を示しているが、１の店舗に設けられるレジカウンターＬは、１つでもよい。レジカウンターＬには、印刷媒体の一態様であるロール紙に印刷する機能を有する印刷装置３が設けられる。また、レジカウンターＬには、印刷装置３と無線通信可能に接続され、印刷装置３を制御するＰＯＳ端末４が設けられる。印刷装置３、及びＰＯＳ端末４の詳細については、後述する。
【００１９】
レジカウンターＬにおける会計に際し、レジ担当者は、印刷装置３に接続されたバーコードリーダーＢＲで商品や商品の包装に付されたバーコードを読み取り、また、ＰＯＳ端末４に対して会計に対応する入力を行う。印刷装置３は、バーコードリーダーＢＲによる読み取りに基づくデータを、ＰＯＳ端末４に送信する。ＰＯＳ端末４は、印刷装置３から受信したバーコードリーダーＢＲの読み取りに基づくデータや、レジ担当者による会計に対応する入力に基づいて、印刷装置３を制御し、印刷装置３にレシートＲを発行させる。印刷装置３により発行されたレシートＲは、レジ担当者により顧客に引き渡される。
【００２０】
店舗システム２は、ローカルエリアネットワークＬＮを備える。
ローカルエリアネットワークＬＮには、印刷装置３、及び管理装置５が接続される。管理装置５の詳細については、後述する。
【００２１】
また、ローカルエリアネットワークＬＮには、通信装置６が接続される。通信装置６は、ローカルエリアネットワークＬＮと、インターネット、電話網、その他の通信網を含むグローバルネットワークＧＮとを接続するインターフェース装置である。通信装置６は、モデム又は、ＯＮＵ（Optical Network Unit）に係る機能、ルーター機能、ＮＡＴ（Network Address Translation）機能、及び、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバー機能等を有する。通信装置６は、ローカルエリアネットワークＬＮに接続された機器と、グローバルネットワークＧＮに接続された機器との間で行われる通信に際し、機器間で送受信されるデータを転送する。なお、図１では、通信装置６を１つのブロックで表現するが、通信装置６は、機能に応じた複数の装置を有する構成でもよい。
印刷装置３、及び管理装置５は、通信装置６を介して、グローバルネットワークＧＮにアクセス可能である。
【００２２】
グローバルネットワークＧＮには、制御サーバー７が接続される。制御サーバー７は、情報処理装置に相当する。制御サーバー７は、印刷装置３、及び管理装置５と通信可能なサーバー装置である。すなわち、制御サーバー７は、クライアントからの要求等をトリガーとして、所定の演算処理を実行する。制御サーバー７は、必要に応じて、演算処理の結果に基づくデータを、クライアントに送信する。なお、図１では、制御サーバー７を、１つのブロックによって表現するが、これは制御サーバー７が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー７は、複数のサーバー装置を含んで構成されたものでもよい。すなわち、制御サーバー７は、後述する各種処理を実行可能な構成であれば、その形態を問わない。
【００２３】
図２は、情報処理システム１が備える各装置の機能的構成を示すブロック図である。
【００２４】
ＰＯＳ端末４は、例えば、前面の広い領域にタッチパネル４２が設けられたタブレット型の端末装置である。なお、ＰＯＳ端末４は、デスクトップ型等の据え置き型の端末でもよい。ＰＯＳ端末４は、レジカウンターＬにおける会計に際し、会計に関する各種処理を実行して印刷装置３を制御するホストコンピューターとして機能する。
【００２５】
図２に示すように、ＰＯＳ端末４は、ＰＯＳ端末制御部４０と、ＰＯＳ端末通信部４１と、タッチパネル４２とを備える。
【００２６】
ＰＯＳ端末制御部４０は、ＣＰＵやＭＰＵ等のプログラムを実行するプロセッサーであるＰＯＳ端末プロセッサー４００、及び、ＰＯＳ端末記憶部４１０を備え、ＰＯＳ端末４の各部を制御する。ＰＯＳ端末制御部４０は、ＰＯＳ端末プロセッサー４００が、ＰＯＳ端末記憶部４１０に記憶された制御プログラム４１０Ａを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。ＰＯＳ端末４には、所定のアプリケーションが事前にインストールされる。ＰＯＳ端末プロセッサー４００が、この所定のアプリケーション、この所定のアプリケーションに付随するプログラム、その他のプログラムをＰＯＳ端末記憶部４１０から読み出して実行することにより、ＰＯＳ端末制御部４０は、アプリケーション実行部４０００として機能する。アプリケーション実行部４０００については、後述する。
【００２７】
ＰＯＳ端末記憶部４１０は、ＰＯＳ端末プロセッサー４００が実行するプログラムや、ＰＯＳ端末プロセッサー４００により処理されるデータを記憶する記憶領域を有する。ＰＯＳ端末記憶部４１０は、ＰＯＳ端末プロセッサー４００が実行する制御プログラム４１０Ａ、その他の各種データを記憶する。ＰＯＳ端末記憶部４１０は、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、ＰＯＳ端末記憶部４１０は、揮発性記憶領域を備え、ＰＯＳ端末プロセッサー４００が実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
【００２８】
ＰＯＳ端末通信部４１は、所定の通信規格に従った通信ハードウェアにより構成され、ＰＯＳ端末制御部４０の制御で、印刷装置３と通信する。なお、通信ハードウェアとしては、通信回路や、通信ポート、通信基板、通信コネクター等のハードウェアが一例として挙げられる。本実施形態のＰＯＳ端末通信部４１は、所定の無線通信の規格に従って、印刷装置３と通信する。ＰＯＳ端末４と印刷装置３との間で行われる無線通信の通信規格は、アドホックモードに対応する無線ＬＡＮに係る規格や、インフラストラクチャーモードに対応する無線ＬＡＮに係る規格、Ｂｌｕｅｔｏｏｔｈ等の近距離無線通信に係る規格等、どのような規格でもよい。Ｂｌｕｅｔｏｏｔｈは、登録商標である。なお、ＰＯＳ端末通信部４１は、所定の有線通信の規格に従って、印刷装置３と通信する構成でもよい。
【００２９】
タッチパネル４２は、液晶表示パネル等の表示パネルと、表示パネルに重ねて、或いは一体に設けられたタッチセンサーとを備える。表示パネルは、ＰＯＳ端末制御部４０の制御で、各種画像を表示する。タッチセンサーは、タッチ操作を検出し、ＰＯＳ端末制御部４０に出力する。ＰＯＳ端末制御部４０は、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
【００３０】
印刷装置３は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して文字や画像等を印刷するサーマルプリンターである。なお、本実施形態に係る印刷装置３の印刷方式はサーマル方式であるが、印刷装置３の印刷方式は、サーマル方式に限らず、インクジェット方式等の他の印刷方式でもよい。また、印刷装置３の印刷ヘッドは、ライン型に限らず、シリアル型でもよい。
【００３１】
図２に示すように、印刷装置３は、印刷装置制御部３０と、印刷部３１と、印刷装置通信部３２と、印刷装置ネットワーク通信部３３と、デバイス通信部３４とを備える。
【００３２】
印刷装置制御部３０は、ＣＰＵやＭＰＵ等のプログラムを実行するプロセッサーである印刷装置プロセッサー３００、及び、印刷装置記憶部３１０を備え、印刷装置３の各部を制御する。印刷装置制御部３０は、印刷装置プロセッサー３００が、印刷装置記憶部３１０に記憶された制御プログラム３１０Ａを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。
【００３３】
印刷装置記憶部３１０は、印刷装置プロセッサー３００が実行するプログラムや、印刷装置プロセッサー３００により処理されるデータを記憶する記憶領域を有する。印刷装置記憶部３１０は、印刷装置プロセッサー３００が実行する制御プログラム３１０Ａ、その他の各種データを記憶する。印刷装置記憶部３１０は、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、印刷装置記憶部３１０は、揮発性記憶領域を備え、印刷装置プロセッサー３００が実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
【００３４】
印刷部３１は、印刷装置３の筐体に収容されたロール紙を搬送する搬送ローラーを備えた搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断するカッターを備えた切断機構等のロール紙への印刷に関する各種機構を備える。印刷部３１は、印刷装置制御部３０の制御で、搬送機構によりロール紙を搬送し、印刷機構によりロール紙にレシートＲに係る画像を印刷し、切断機構により所定の位置でロール紙を切断して、レシートＲを発行する。
【００３５】
印刷装置通信部３２は、所定の通信規格に従った通信ハードウェアにより構成され、印刷装置制御部３０の制御で、ＰＯＳ端末４と通信する。本実施形態の印刷装置通信部３２は、所定の無線通信の規格に従って、ＰＯＳ端末４と通信する。なお、印刷装置通信部３２は、所定の有線通信の規格に従って、ＰＯＳ端末４と通信する構成でもよい。
【００３６】
印刷装置ネットワーク通信部３３は、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェアを備え、印刷装置制御部３０の制御により、グローバルネットワークＧＮと接続する機器と所定の通信規格に従って通信する。グローバルネットワークＧＮと接続する機器には、管理装置５と制御サーバー７とが含まれる。印刷装置ネットワーク通信部３３が通信に使用する通信規格は、ＨＴＴＰや、ＷｅｂＳｏｃｋｅｔ等が例として挙げられる。
【００３７】
デバイス通信部３４は、ＵＳＢの規格に従ったポートや、ＵＳＢ以外のシリアル通信規格に従ったポート、パラレル通信規格に従ったポート、有線ＬＡＮに係る通信規格に従ったポート、その他ポートを有するインターフェースボードを備える。各ポートには、デバイスが接続可能である。デバイス通信部３４は、印刷装置制御部３０の制御で、ポートを介して印刷装置３に接続されたデバイスと通信する。なお、デバイス通信部３４が、無線通信機能を備え、デバイスと無線通信する構成でもよい。
【００３８】
印刷装置３には、デバイスとして、バーコードリーダーＢＲ、カスタマーディスプレーＣＤ、及び、自動釣銭機ＪＴが接続される。
【００３９】
バーコードリーダーＢＲは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部３４に出力する。デバイス通信部３４は、バーコードリーダーＢＲから入力されたデータを、印刷装置制御部３０に出力する。
【００４０】
カスタマーディスプレーＣＤは、印刷装置制御部３０の制御で、会計に関する情報を表示する。カスタマーディスプレーＣＤに表示された情報は、レジカウンターＬで会計を行う顧客が視認できる。
【００４１】
自動釣銭機ＪＴは、顧客から受け取った貨幣を投入する貨幣受取口と、釣銭に係る貨幣を排出する釣銭排出口とを備え、印刷装置制御部３０の制御で、貨幣受取口を介して貨幣が投入された場合、対応する釣銭を釣銭排出口から排出する。
【００４２】
管理装置５は、店舗システム２が適用された店舗を運営する主体が管理する装置である。管理装置５は、デスクトップ型の装置でもよいし、タブレット型の装置でよいし、ラップトップ型の装置でもよい。管理装置５は、店舗の従業員や、店舗を運営する会社の従業員等の操作に権限を有する者により操作される。本実施形態では、図１に示すように管理装置５が１の店舗に１台設けられる場合を例示する。管理装置５は、制御サーバー７と通信して、制御サーバー７から所定のサービスの提供を受け、サービスに対応した動作を行う。例えば、管理装置５は、制御サーバー７から所定のサービスの提供を受け、ある店舗の売上状況や、ある店舗の従業員の勤務状況等を管理する。
【００４３】
管理装置５は、管理装置制御部５０と、管理装置通信部５１と、管理装置表示部５２と、管理装置入力部５３とを備える。
【００４４】
管理装置制御部５０は、ＣＰＵやＭＰＵ等のプログラムを実行するプロセッサーである管理装置プロセッサー５００、及び、管理装置記憶部５１０を備え、管理装置５の各部を制御する。管理装置制御部５０は、管理装置プロセッサー５００が、管理装置記憶部５１０に記憶された制御プログラム５１０Ａを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。管理装置５には、ブラウザーが事前にインストールされる。管理装置プロセッサー５００が、ブラウザー、その他の付随するプログラムを管理装置記憶部５１０から読み出して実行することにより、管理装置制御部５０は、ブラウザー実行部５０００として機能する。ブラウザー実行部５０００については、後述する。
【００４５】
管理装置記憶部５１０は、管理装置プロセッサー５００が実行するプログラムや、管理装置プロセッサー５００により処理されるデータを記憶する記憶領域を有する。管理装置記憶部５１０は、管理装置プロセッサー５００が実行する制御プログラム５１０Ａ、その他の各種データを記憶する。管理装置記憶部５１０は、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、管理装置記憶部５１０は、揮発性記憶領域を備え、管理装置プロセッサー５００が実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
【００４６】
管理装置通信部５１は、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェアを備え、管理装置制御部５０の制御により、グローバルネットワークＧＮと接続する機器と所定の通信規格に従って通信する。グローバルネットワークＧＮと接続する機器には、制御サーバー７とが含まれる。管理装置通信部５１が通信に使用する通信規格は、ＨＴＴＰや、ＷｅｂＳｏｃｋｅｔ等が例として挙げられる。
【００４７】
管理装置表示部５２は、液晶表示パネル等の表示パネルを備え、管理装置制御部５０の制御に従って、各種情報を表示する。
【００４８】
管理装置入力部５３は、管理装置５に設けられた操作スイッチや、管理装置５と接続したキーボード、タッチパネル等の入力手段を備え、管理装置５を操作するユーザーの入力手段に対する操作を検出し、管理装置制御部５０に出力する。管理装置制御部５０は、管理装置入力部５３からの入力に基づいて、入力手段に対する操作に対応する処理を実行する。
【００４９】
制御サーバー７は、サーバー制御部７０と、サーバーネットワーク通信部７１と、サーバー表示部７２と、サーバー入力部７３とを備える。サーバーネットワーク通信部７１は、通信部に相当する。サーバー制御部７０は、制御部に相当する。
【００５０】
サーバー制御部７０は、ＣＰＵやＭＰＵ等のプログラムを実行するプロセッサーであるサーバープロセッサー７００、及び、サーバー記憶部７１０を備え、制御サーバー７の各部を制御する。サーバー制御部７０は、サーバープロセッサー７００が、サーバー記憶部７１０に記憶された制御プログラム７１０Ａを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。
以下の説明では、サーバープロセッサー７００が制御プログラム７１０Ａを実行することにより、サーバー制御部７０の各種の機能を実現する構成例を説明する。
【００５１】
サーバー記憶部７１０は、サーバープロセッサー７００が実行するプログラムや、サーバープロセッサー７００により処理されるデータを記憶する記憶領域を有する。サーバー記憶部７１０は、サーバープロセッサー７００が実行する制御プログラム７１０Ａ、解析プログラム群管理データベース７１０Ｂ、解析データ管理データベース７１０Ｃ、その他の各種データを記憶する。解析プログラム群管理データベース７１０Ｂ、及び解析データ管理データベース７１０Ｃの詳細については、後述する。サーバー記憶部７１０は、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、サーバー記憶部７１０は、揮発性記憶領域を備え、サーバープロセッサー７００が実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
【００５２】
サーバーネットワーク通信部７１は、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェアを備え、サーバー制御部７０の制御により、グローバルネットワークＧＮと接続する機器と所定の通信規格に従って通信する。ここでいうグローバルネットワークＧＮと接続する機器には、印刷装置３、及び管理装置５が含まれる。サーバーネットワーク通信部７１が通信に使用する通信規格は、ＨＴＴＰや、ＷｅｂＳｏｃｋｅｔ等が例として挙げられる。
【００５３】
サーバー表示部７２は、表示パネルを備え、サーバー制御部７０の制御で、表示パネルに各種情報を表示する。
【００５４】
サーバー入力部７３は、キーボード、マウス、その他の入力手段を備え、入力手段に対するユーザーの操作を検出し、サーバー制御部７０に出力する。サーバー制御部７０は、サーバー入力部７３からの入力に基づいて、入力手段に対するユーザーの操作に対応する処理を実行する。
【００５５】
次に、レジカウンターＬで顧客の会計が行われた場合の、ＰＯＳ端末４、印刷装置３、及び制御サーバー７の動作について説明する。
【００５６】
図３は、レジカウンターＬで会計が行われた場合のＰＯＳ端末４、印刷装置３、及び制御サーバー７の動作を示すフローチャートである。図３では、フローチャートＦＡがＰＯＳ端末４の動作を示し、フローチャートＦＢが印刷装置３の動作を示し、フローチャートＦＣが制御サーバー７の動作を示す。
【００５７】
図３のフローチャートＦＡに示すように、ＰＯＳ端末４のアプリケーション実行部４０００は、顧客の会計に応じて会計処理を実行し、会計処理に基づいて印刷データＩＤを生成する（ステップＳＡ１）。
【００５８】
ステップＳＡ１の処理について詳述すると、アプリケーション実行部４０００は、タッチパネル４２に、会計に対応する入力が可能なユーザーインターフェースを表示させる。アプリケーション実行部４０００は、タッチパネル４２に対するレジ担当者の入力や、顧客の会計に伴う印刷装置３からの入力に応じて、会計でなされた決済に関する決済情報を生成する。決済情報の具体的な内容については、後に、例を挙げて説明する。次いで、アプリケーション実行部４０００は、生成した決済情報に基づいて、印刷データＩＤを生成する。印刷データＩＤは、所定のレイアウトで決済情報を印刷して、レシートＲの発行を指示するデータである。印刷データＩＤは、印刷装置３のコマンド体系に従った複数の制御コマンドを含んで構成される。
【００５９】
図４は、印刷データＩＤの一例を示す図である。
図４に示すように、印刷データＩＤは、グラフィック画像印刷指示コマンドＣＭ１と、文字列印刷関連コマンド群ＧＭと、改行コマンドＬＦと、カットコマンドＣＭ４とを含む。また、文字列印刷関連コマンド群ＧＭは、文字列装飾コマンドＣＭ２と、文字列印刷指示コマンドＣＭ３とを含む。
【００６０】
グラフィック画像印刷指示コマンドＣＭ１は、専用の命令コードと、ビットマップデータ等のイメージデータとを含み、イメージデータに基づくグラフィック画像の印刷を指示する制御コマンドである。イメージデータとは、ドットマトリックス状に配置されたドットについて、各ドットの色に関する情報を保持するデータである。グラフィック画像は、フォントデータに基づいて印刷される画像ではなく、ＰＯＳ端末４等のホストコンピューターとして機能する装置から受信したイメージデータに基づいて印刷される画像である。後述するロゴ情報Ｊ１は、グラフィック画像に相当する。
【００６１】
文字列印刷関連コマンド群ＧＭに含まれる文字列印刷指示コマンドＣＭ３は、１行分の文字列の印刷を指示する制御コマンドである。文字列印刷指示コマンドＣＭ３は、専用の命令コードと、印刷を指示する文字列の情報と、を含む。印刷を指示する文字列の情報とは、文字列を構成する１又は複数の文字の文字コードの組み合わせである。文字コードは、例えば１バイトのいわゆるアスキーコードなどで示される。文字列印刷関連コマンド群ＧＭに含まれる文字列装飾コマンドＣＭ２は、文字列印刷指示コマンドＣＭ３によって印刷が指示された文字列に施す装飾を指定する制御コマンドである。文字列に施す装飾としては、例えば、右寄せや、中央寄せ、左寄せ、太字化、アンダーラインの付加、強調点の付加、白黒の反転、回転、拡大、縮小等が例として挙げられる。
【００６２】
印刷装置３の印刷装置記憶部３１０は、印刷可能な文字のそれぞれのフォントデータを記憶する。印刷装置３の印刷装置制御部３０は、１の文字列印刷関連コマンド群ＧＭに基づいて文字列を印刷する場合、以下の処理を実行する。
まず、印刷装置制御部３０は、所定の手段で、当該１の文字列印刷関連コマンド群ＧＭに含まれる文字列印刷指示コマンドＣＭ３に含まれる文字コードのそれぞれを対応するフォントデータに変換する。次いで、印刷装置制御部３０は、フォントデータのそれぞれを、当該１の文字列印刷関連コマンド群ＧＭに含まれる文字列装飾コマンドＣＭ２が指定する装飾を施したフォントデータにし、改行コマンドＬＦに基づき、所定の記憶領域に構成された画像バッファーに行単位の印刷順で展開する。次いで、印刷装置制御部３０は、画像バッファーに展開したフォントデータのそれぞれを読み出して、印刷部３１を制御し、１行分の文字列を印刷する。
【００６３】
改行コマンドＬＦは、改行を指示するコマンドである。カットコマンドＣＭ４は、ロール紙の切断を指示するコマンドである。
【００６４】
図３のフローチャートＦＡに示すように、ステップＳＡ１で印刷データＩＤを生成した後、アプリケーション実行部４０００は、ＰＯＳ端末通信部４１を制御して、生成した印刷データＩＤを、印刷装置３に送信する（ステップＳＡ２）。
【００６５】
図３のフローチャートＦＢに示すように、印刷装置３の印刷装置制御部３０は、印刷装置通信部３２を制御して、印刷データＩＤを受信する（ステップＳＢ１）。次いで、印刷装置制御部３０は、ステップＳＢ１で受信した印刷データＩＤに基づいて、印刷部３１を制御して、レシートＲを発行する（ステップＳＢ２）。発行されたレシートＲは、顧客に引き渡される。
【００６６】
印刷データＩＤに基づいて印刷装置３により発行されるレシートＲの一例を図５に示す。
【００６７】
図５で例示するレシートＲには、先頭に、店舗の名称を図案化したロゴ情報Ｊ１が印刷される。ロゴ情報Ｊ１は、上述したグラフィック画像印刷指示コマンドＣＭ１に基づいて印刷される。
【００６８】
レシートＲにおいて、ロゴ情報Ｊ１の下方は、店舗の住所を文字列で表す店舗住所情報Ｊ２が一行で印刷される。店舗住所情報Ｊ２は、中央寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、店舗の住所を表す文字列の印刷を指示する文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。
【００６９】
レシートＲにおいて、店舗住所情報Ｊ２の一行下には、店舗の電話番号を文字列で表す店舗電話番号情報Ｊ３が一行で印刷される。店舗電話番号情報Ｊ３は、中央寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、店舗の電話番号を表す文字列の印刷を指示する文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。
【００７０】
レシートＲにおいて、店舗電話番号情報Ｊ３の一行下には、第１エリア分割情報ＢＫ１が印刷される。第１エリア分割情報ＢＫ１は、「−」の文字が一行内で、所定の個数、連続して構成された文字列である。レシートＲは、１つ目の第１エリア分割情報ＢＫ１によって印刷領域が区切られ、１つ目の第１エリア分割情報ＢＫ１よりも上方がエリア分けされる。以下、レシートＲにおいて、第１エリア分割情報ＢＫ１よりも上方のエリアを「エリアＡＡ１」とする。エリアＡＡ１には、ロゴ情報Ｊ１、店舗住所情報Ｊ２、及び、店舗電話番号情報Ｊ３が含まれる。
【００７１】
レシートＲにおいて、１つ目の第１エリア分割情報ＢＫ１の一行下には、レシート識別関連情報Ｊ４が印刷される。レシート識別関連情報Ｊ４は、レシートを識別する識別情報を文字列で表すレシート識別情報Ｊ４２を有する。レシート識別情報Ｊ４２の値は、レシートＲごとに異なる。また、レシート識別関連情報Ｊ４は、レシート識別情報Ｊ４２の同一行において、レシート識別情報Ｊ４２の左方に印刷され、レシート識別情報Ｊ４２がレシートを識別する識別情報であることを明示する情報を文字列で表すレシート識別明示情報Ｊ４１を有する。図５に示すように、レシートＲに係るレシート識別明示情報Ｊ４１は、「Ｃｈｅｃｋ♯：」の文字列からなる情報である。レシート識別関連情報Ｊ４は、中央寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、レシート識別明示情報Ｊ４１を表す文字列と、１つの空白文字と、レシート識別情報Ｊ４２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。
【００７２】
レシートＲにおいて、レシート識別関連情報Ｊ４の一行下には、レシートＲが発行された日時を文字列で表す発行日時情報Ｊ５が印刷される。発行日時情報Ｊ５は、印刷装置３がレシートＲを発行した日にちを文字列で表す日にち情報Ｊ５１と、印刷装置３がレシートＲを発行した時間を文字列で表す時間情報Ｊ５２とを有する。発行日時情報Ｊ５は、中央寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、レシートＲが発行された日時を表す文字列の印刷を指示する文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。ここでの文字列印刷指示コマンドＣＭ３は、日にち情報Ｊ５１を表す文字列と、１つの空白文字と、時間情報Ｊ５２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。
【００７３】
発行日時情報Ｊ５の一行下には、第１エリア分割情報ＢＫ１が印刷される。レシートＲは、１つ目の第１エリア分割情報ＢＫ１と、２つ目の第１エリア分割情報ＢＫ１とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲにおいて、１つ目の第１エリア分割情報ＢＫ１と、２つ目の第１エリア分割情報ＢＫ１とで囲まれたエリアを「エリアＡＡ２」とする。
【００７４】
レシートＲにおいて、２つ目の第１エリア分割情報ＢＫ１の一行下には、商品情報Ｊ６が印刷される。商品情報Ｊ６は、顧客が購入した商品に関する情報である。商品情報Ｊ６は、顧客が購入した商品の種類ごとに、レシートＲに印刷される。従って、例えば、顧客が購入した商品の種類が３つである場合は、３つの種類の商品のそれぞれに対応する３つの商品情報Ｊ６が印刷される。レシートＲに複数の商品情報Ｊ６が印刷される場合、複数の商品情報Ｊ６は、異なる行に、１行ずつ連続して印刷される。
【００７５】
商品情報Ｊ６は、購入数量情報Ｊ６１と、商品名情報Ｊ６２と、単価情報Ｊ６３とを有する。購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３は、同一行に印刷される。購入数量情報Ｊ６１は、対応する商品の購入数量を文字列で表す情報である。商品名情報Ｊ６２は、対応する商品の名称を文字列で表す情報である。単価情報Ｊ６３は、対応する商品の単価を文字列で表す情報である。
【００７６】
商品情報Ｊ６は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、購入数量情報Ｊ６１を表す文字列と、１つの空白文字と、商品名情報Ｊ６２を表す文字列と、１個又は複数個の空白文字と、単価情報Ｊ６３を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。商品名情報Ｊ６２を表す文字列と、単価情報Ｊ６３を表す文字列との間に挿入される空白文字の個数は、単価情報Ｊ６３の位置が、「行」の末尾に位置するように、調整される。
【００７７】
レシートＲにおいて、最下部に印刷される商品情報Ｊ６の一行下には、第２エリア分割情報ＢＫ２が印刷される。第２エリア分割情報ＢＫ２は、「〜」の文字が一行内で、所定の個数、連続して構成された文字列である。レシートＲは、２つ目の第１エリア分割情報ＢＫ１と、１つ目の第２エリア分割情報ＢＫ２とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲにおいて、２つ目の第１エリア分割情報ＢＫ１と、１つ目の第２エリア分割情報ＢＫ２とで囲まれたエリアを「エリアＡＡ３」とする。
【００７８】
レシートＲにおいて、１つ目の第２エリア分割情報ＢＫ２の一行下には、小計金額関連情報Ｊ７が印刷される。小計金額関連情報Ｊ７は、小計金額を文字列で表す小計金額情報Ｊ７２を有する。また、小計金額関連情報Ｊ７は、小計金額情報Ｊ７２の同一行において、小計金額情報Ｊ７２の左方に印刷され、小計金額情報Ｊ７２が小計金額を示す情報であることを明示する情報を文字列によって表す小計金額明示情報Ｊ７１を有する。図５に示すように、レシートＲに係る小計金額明示情報Ｊ７１は、８個の大文字のアルファベットの文字列「ＳＵＢＴＯＴＡＬ」からなる文字列である。
【００７９】
小計金額関連情報Ｊ７は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、小計金額明示情報Ｊ７１を表す文字列と、１個又は複数個の空白文字と、小計金額情報Ｊ７２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。小計金額明示情報Ｊ７１を表す文字列と、小計金額情報Ｊ７２を表す文字列との間に挿入される空白文字の個数は、小計金額情報Ｊ７２の位置が、「行」の末尾に位置するように、調整される。
【００８０】
レシートＲにおいて、小計金額関連情報Ｊ７の一行下には、税関連情報Ｊ８が印刷される。税関連情報Ｊ８は、税額を文字列で表す税額情報Ｊ８２を有する。また、税関連情報Ｊ８は、税額情報Ｊ８２の同一行において、税額情報Ｊ８２の左方に印刷され、税額情報Ｊ８２が税額を示す情報であることを明示する情報を文字列によって表す税明示情報Ｊ８１を有する。図５に示すように、レシートＲに係る税明示情報Ｊ８１は、３個の大文字のアルファベットの「ＴＡＸ」からなる文字列である。
【００８１】
税関連情報Ｊ８は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、税明示情報Ｊ８１を表す文字列と、１個又は複数個の空白文字と、税額情報Ｊ８２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。税明示情報Ｊ８１を表す文字列と、税額情報Ｊ８２を表す文字列との間に挿入される空白文字の個数は、税額情報Ｊ８２の位置が、「行」の末尾に位置するように、調整される。
【００８２】
レシートＲにおいて、税関連情報Ｊ８の一行下には、合計金額関連情報Ｊ９が印刷される。合計金額関連情報Ｊ９は、合計金額を文字列で表す合計金額情報Ｊ９２を有する。また、合計金額関連情報Ｊ９は、合計金額情報Ｊ９２の同一行において、合計金額情報Ｊ９２の左方に印刷され、合計金額情報Ｊ９２が合計金額を示す情報であることを明示する情報を文字列によって表す合計金額明示情報Ｊ９１を有する。図５に示すように、レシートＲに係る合計金額明示情報Ｊ９１は、５個の大文字のアルファベットの「ＴＯＴＡＬ」からなる文字列である。
【００８３】
合計金額関連情報Ｊ９は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、合計金額明示情報Ｊ９１と、１個又は複数個の空白文字と、合計金額情報Ｊ９２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。合計金額明示情報Ｊ９１を表す文字列と、合計金額情報Ｊ９２を表す文字列との間に挿入される空白文字の個数は、合計金額情報Ｊ９２の位置が、「行」の末尾に位置するように、調整される。以下、レシートＲにおいて、第２エリア分割情報ＢＫ２よりも下方のエリアを「エリアＡＡ４」とする。エリアＡＡ４は、小計金額関連情報Ｊ７、税関連情報Ｊ８、及び、合計金額関連情報Ｊ９を含む。
【００８４】
以下の説明では、単価情報Ｊ６３、小計金額情報Ｊ７２、税額情報Ｊ８２、及び合計金額情報Ｊ９２を区別することなく総称する場合、金額情報といい、「Ｊ１０」の符号を付す。
【００８５】
このように、図５に示すレシートＲでは、以下のレイアウトで決済情報が印刷される。すなわち、エリアＡＡ１には、ロゴ情報Ｊ１、店舗住所情報Ｊ２、及び、店舗電話番号情報Ｊ３がこの順番で印刷される。エリアＡＡ２には、レシート識別関連情報Ｊ４、及び、発行日時情報Ｊ５がこの順番で印刷される。エリアＡＡ３には、１又は複数の商品情報Ｊ６が印刷される。また、商品情報Ｊ６は、１行内で、右へ向かって購入数量情報Ｊ６１、商品名情報Ｊ６２、及び単価情報Ｊ６３の順番で印刷される。エリアＡＡ４には、小計金額関連情報Ｊ７、税関連情報Ｊ８、及び、合計金額関連情報Ｊ９がこの順番で印刷される。
【００８６】
図３のフローチャートＦＢの説明に戻り、ステップＳＢ２でレシートＲを発行した後、印刷装置制御部３０は、印刷データＩＤに基づいて、印刷テキストデータＩＴＤを生成する（ステップＳＢ３）。印刷テキストデータＩＴＤは、テキストデータに相当する。印刷テキストデータＩＴＤは、印刷データＩＤに基づいてロール紙に印刷される決済情報のうち、文字として印刷される決済情報が、テキストとして記述されたテキストデータである。以下、ステップＳＢ３の処理について詳述する。
【００８７】
ステップＳＢ３において、印刷装置制御部３０は、印刷データＩＤから、文字列の印刷に関する制御コマンドである文字列印刷指示コマンドＣＭ３、及び、改行コマンドＬＦを抽出する。次いで、印刷装置制御部３０は、抽出した制御コマンドに基づいて、レシートＲに文字として印刷される決済情報がテキストとして記述された印刷テキストデータＩＴＤを生成する。ここで、印刷装置制御部３０は、印刷テキストデータＩＴＤに、印刷で行われる改行が反映された状態で決済情報を記述する。また、印刷装置制御部３０は、印刷テキストデータＩＴＤに、文字列装飾コマンドＣＭ２で指定された装飾を反映しない状態で決済情報を記述する。従って、文字列装飾コマンドＣＭ２によって、文字列に施す装飾として、中央寄せ、右寄せが指示された場合でも、印刷テキストデータＩＴＤへのテキストの記述に際し、これら装飾は反映されない。
【００８８】
図６は、図５で例示したレシートＲに係る印刷データＩＤに基づいて生成される印刷テキストデータＩＴＤの内容を示す図である。図６と、図５との比較で明らかなとおり、印刷テキストデータＩＴＤには、レシートＲに文字として印刷される決済情報が、印刷における順番、及び、印刷における改行を反映した状態でテキストとして記述される。
なお、ロゴ情報Ｊ１は、グラフィック画像であるため、印刷テキストデータＩＴＤには、記述されない。すなわち、文字コードに対応するフォントデータに基づいて印刷される文字以外の情報は、印刷テキストデータＩＴＤには記述されない。
【００８９】
図３のフローチャートＦＢに示すように、ステップＳＢ３で印刷テキストデータＩＴＤを生成した後、印刷装置制御部３０は、シリアル番号Ｊ１１、店舗識別情報Ｊ１２、ステップＳＢ１で受信した印刷データＩＤ、及び、ステップＳＢ３で生成した印刷テキストデータＩＴＤを、制御サーバー７に送信する（ステップＳＢ４）。
【００９０】
シリアル番号Ｊ１１は、印刷装置３の製造段階で、印刷装置３に一意に割り当てられる識別情報であり、予め印刷装置記憶部３１０の所定の記憶領域に記憶される。ステップＳＢ４において、印刷装置制御部３０は、印刷装置記憶部３１０の所定の記憶領域に記憶されたシリアル番号Ｊ１１を取得する。店舗識別情報Ｊ１２は、印刷装置３が設けられた店舗を識別する識別情報であり、予め印刷装置記憶部３１０の所定の記憶領域に記憶される。ステップＳＢ４において、印刷装置制御部３０は、印刷装置記憶部３１０の所定の記憶領域に記憶された店舗識別情報Ｊ１２を取得する。
【００９１】
なお、本実施形態では、印刷装置３が印刷データＩＤから印刷テキストデータＩＴＤを生成する構成を例示しているが、ＰＯＳ端末４が印刷テキストデータＩＴＤを生成する構成でもよい。この場合、印刷装置３は、ステップＳＢ３の処理をスキップし、ＰＯＳ端末４から受信した印刷テキストデータＩＴＤを、シリアル番号Ｊ１１、店舗識別情報Ｊ１２、及び、印刷データＩＤと共に制御サーバー７に送信する。また、制御サーバー７が、印刷データＩＤを印刷装置３から取得し印刷テキストデータＩＴＤを生成する構成でもよい。
【００９２】
図３のフローチャートＦＣに示すように、制御サーバー７のサーバー制御部７０は、サーバーネットワーク通信部７１を制御して、印刷装置３が送信したシリアル番号Ｊ１１、店舗識別情報Ｊ１２、印刷データＩＤ、及び、印刷テキストデータＩＴＤを受信する（ステップＳＣ１）。
【００９３】
次いで、サーバー制御部７０は、解析プログラム群管理データベース７１０Ｂを参照し、ステップＳＣ１で受信したシリアル番号Ｊ１１の値と同一の値のシリアル番号Ｊ１１が対応付けられた解析プログラム群ＫＰＧを取得する（ステップＳＣ２）。
【００９４】
図７は、解析プログラム群管理データベース７１０Ｂの１件のレコードが有する情報を模式的に示す図である。
図７に示すように、解析プログラム群管理データベース７１０Ｂの１件のレコードは、シリアル番号Ｊ１１と、解析プログラム群ＫＰＧとを有する。
【００９５】
図７では、解析プログラム群ＫＰＧは、第１解析プログラムＫＰ１〜第１５解析プログラムＫＰ１５の１５個の解析プログラムＫＰを有する。解析プログラムＫＰのそれぞれについては後述する。
【００９６】
図３のフローチャートＦＣの説明に戻り、サーバー制御部７０は、取得した解析プログラム群ＫＰＧに基づいてテキストデータ解析処理を実行する（ステップＳＣ３）。テキストデータ解析処理は、制御サーバー７にインストールされた制御プログラム７１０Ａ、及び、制御プログラム７１０Ａに付随するプログラムの機能により実行される。
【００９７】
テキストデータ解析処理は、印刷テキストデータＩＴＤから、決済情報に含まれる項目に対応する情報を表すテキストを印刷テキストデータＩＴＤから取得する処理である。以下では、項目に対応する情報を項目情報といい、印刷テキストデータＩＴＤから項目情報を表すテキストを取得することを、単に、印刷テキストデータＩＴＤから項目情報を取得すると表現する。テキストデータ解析処理は、印刷テキストデータＩＴＤから項目情報を検出、及び抽出し、必要に応じて、抽出した項目情報の表記形式をユーザーが活用可能な表記形式に変換することによって、印刷テキストデータＩＴＤから項目情報を取得する。なお、項目情報によっては、表記形式の変換が行われない項目情報と、表記形式の変換が行われる項目情報とがある。そのため、テキストデータ解析処理では、項目によって、最終的に取得される項目情報の表記形式が、印刷テキストデータＩＴＤから抽出した時点の表記形式である場合と、変換された表記形式である場合とがある。
【００９８】
本実施形態では、決済情報に含まれる項目として、顧客識別情報項目、会計割引情報項目、顧客人数情報項目、払戻有無情報項目、取消有無情報項目、会員情報項目、支払方法情報項目、発行日時情報項目、商品情報項目、レシート識別情報項目、販売方法情報項目、スタッフ情報項目、小計金額情報項目、税情報項目、及び、合計金額情報項目の１５個の項目がある。これら項目については、後述する。
【００９９】
上述したように、本実施形態の解析プログラム群ＫＰＧは、複数の解析プログラムＫＰを有している。１の解析プログラムＫＰは、所定のスクリプト言語によって記述されたプログラムであり、記述された処理フローが示す解析ルールに沿って、１の項目について、印刷テキストデータＩＴＤから項目情報を取得する機能を有するプログラムである。解析ルールは、１の項目について、印刷テキストデータＩＴＤから対応する項目情報を取得するルールであり、少なくとも項目情報を印刷テキストデータＩＴＤから抽出する抽出ルールを含んでいる。したがって、解析プログラムＫＰには、少なくとも抽出ルールに従って項目情報を抽出する抽出プログラムが含まれる。なお、解析プログラムＫＰによっては、解析ルールに、抽出ルールに加えて抽出した項目情報の表記形式を変換する変換ルールが含まれる。この場合の解析プログラムＫＰには、抽出プログラムと、変換ルールに従って項目情報を変換する変換プログラムとを含まれる。
【０１００】
解析プログラム群ＫＰＧは、１の印刷テキストデータＩＴＤから、解析プログラムＫＰの数に対応する数分の項目について、項目情報を取得する。図７では、解析プログラム群ＫＰＧは、第１解析プログラムＫＰ１〜第１５解析プログラムＫＰ１５から構成されている。つまり、図７の場合では、解析プログラム群ＫＰＧは、上記の１５の項目のそれぞれについて、項目情報の取得を行う機能を有する。
【０１０１】
本実施形態では、解析プログラム群ＫＰＧは、顧客識別情報項目に対して、項目情報を取得する機能を有する第１解析プログラムＫＰ１を有する。
顧客識別情報項目は、項目情報として、会計を行った顧客を識別する識別情報が対応付く項目である。
【０１０２】
また、解析プログラム群ＫＰＧは、会計割引情報項目に対して、項目情報を取得する機能を有する第２解析プログラムＫＰ２を有する。
会計割引情報項目には、会計割引名称情報項目と、会計割引額情報項目とが含まれる。
会計割引名称情報項目は、項目情報として、会計に適用された割引の名称を示す情報が対応付く項目である。会計割引額情報項目は、項目情報として、会計に適用された割引の金額を示す情報が対応付く項目である。
【０１０３】
また、解析プログラム群ＫＰＧは、顧客人数情報項目に対して、項目情報を取得する機能を有する第３解析プログラムＫＰ３を有する。
顧客人数情報項目は、項目情報として、会計を行った顧客の人数を示す情報が対応付く項目である。
【０１０４】
また、解析プログラム群ＫＰＧは、払戻有無情報項目に対して、項目情報を取得する機能を有する第４解析プログラムＫＰ４を有する。
払戻有無情報項目は、項目情報として、会計において払い戻しがあったか否かを示す情報が対応付く項目である。
【０１０５】
また、解析プログラム群ＫＰＧは、取消有無情報項目に対して、項目情報を取得する機能を有する第５解析プログラムＫＰ５を有する。
取消有無情報項目は、項目情報として、会計が取り消されたか否かを示す情報が対応付く項目である。
【０１０６】
また、解析プログラム群ＫＰＧは、会員情報項目に対して、項目情報を取得する機能を有する第６解析プログラムＫＰ６を有する。
会員情報項目には、会員所属情報項目と、会員識別情報項目とが含まれる。
会員所属情報項目は、項目情報として、顧客が所属するサービスプログラムの名称を示す情報である。会員識別情報項目は、項目情報として、顧客が所属するサービスプログラムにおいて顧客を識別する識別情報である。
【０１０７】
また、解析プログラム群ＫＰＧは、支払方法情報項目に対して、項目情報を取得する機能を有する第７解析プログラムＫＰ７を有する。
支払方法情報項目には、支払方法名称情報項目と、支払額情報項目とが含まれる。
支払方法名称情報項目は、項目情報として、支払い方法の名称を示す情報が対応付く項目である。支払額情報項目は、項目情報として、支払方法名称情報に係る支払い方法で顧客が支払った金銭の額を示す情報である。
【０１０８】
また、解析プログラム群ＫＰＧは、発行日時情報項目に対して、項目情報を取得する機能を有する第８解析プログラムＫＰ８を有する。
発行日時情報項目は、項目値として、発行日時情報Ｊ５が対応付く項目である。
【０１０９】
また、解析プログラム群ＫＰＧは、商品情報項目に対して、項目情報を取得する機能を有する第９解析プログラムＫＰ９を有する。
商品情報項目には、商品名情報項目と、購入数量情報項目と、単価情報項目とが含まれる。
商品名情報項目は、項目情報として、商品名情報Ｊ６２が対応付く項目である。
購入数量情報項目は、項目情報として、購入数量情報Ｊ６１が対応付く項目である。
単価情報項目は、項目情報として、単価情報Ｊ６３が対応付く項目である。
【０１１０】
また、解析プログラム群ＫＰＧは、レシート識別情報項目に対して、項目情報を取得する機能を有する第１０解析プログラムＫＰ１０を有する。
レシート識別情報項目は、項目情報として、レシート識別情報Ｊ４２が対応付く項目である。
【０１１１】
また、解析プログラム群ＫＰＧは、販売方法情報項目に対して、項目情報を取得する機能を有する第１１解析プログラムＫＰ１１を有する。
販売方法情報項目は、項目情報として、商品の販売がどのような方法で行われたかを示す情報が対応付く項目である。
【０１１２】
また、解析プログラム群ＫＰＧは、スタッフ情報項目に対して、項目情報を取得する機能を有する第１２解析プログラムＫＰ１２を有する。
スタッフ情報項目は、項目情報として、店舗におけるスタッフの名前を示す情報、又は、スタッフを識別する識別情報である。なお、スタッフとは、会計を担当した者や、店舗において顧客に対するサービスの提供を担当した者である。
【０１１３】
また、解析プログラム群ＫＰＧは、小計金額情報項目に対して、項目情報を取得する機能を有する第１３解析プログラムＫＰ１３を有する。
小計金額情報項目は、項目情報として、小計金額情報Ｊ７２が対応付く項目である。
【０１１４】
また、解析プログラム群ＫＰＧは、税情報項目に対して、項目情報を取得する機能を有する第１４解析プログラムＫＰ１４を有する。
税情報項目には、項目値として、税額情報Ｊ８２が対応付く項目である。
【０１１５】
また、解析プログラム群ＫＰＧは、合計金額情報項目に対して、項目情報を取得する機能を有する第１５解析プログラムＫＰ１５を有する。
合計金額情報項目は、項目値として、合計金額情報Ｊ９２が対応付く項目である。
【０１１６】
ここで、１の解析プログラムＫＰに含まれる抽出プログラムと変換プログラムとについて、第１５解析プログラムＫＰ１５を例に挙げて具体的に説明する。
例えば、第１５解析プログラムＫＰ１５は、印刷テキストデータＩＴＤのエリアＡＡ４に含まれる文字列「ＴＯＴＡＬ」をキーワード検索し、文字列「ＴＯＴＡＬ」を有する行において、空白文字を除き、文字列「ＴＯＴＡＬ」の右側に位置する文字列を合計金額情報項目の項目情報として検出して抽出するという抽出ルールに従って、合計金額情報項目の項目情報を抽出する抽出プログラムを含む。また、第１５解析プログラムＫＰ１５は、抽出した項目情報に桁区切りを示す記号が含まれている場合、抽出した項目情報の表記形式を、桁区切りを示す記号を取り除いた表記形式に変換するという変換ルールに従って、抽出した合計金額情報項目の項目情報の表記形式を変換する変換プログラムを含む。
【０１１７】
本実施形態では、解析プログラムＫＰに対して、第１〜第１５と識別子を付しているが、この識別子は、項目情報を取得する対象の項目が異なることを示している。そのため、例えば、ある解析プログラム群ＫＰＧが有する第１解析プログラムＫＰ１と、当該ある解析プログラム群ＫＰＧと異なる解析プログラム群ＫＰＧが有する第１解析プログラムＫＰ１とは、項目情報を取得するための解析ルールが同じであるとは限らない。
【０１１８】
図３のフローチャートＦＣの説明に戻り、サーバー制御部７０は、ステップＳＣ３のテキストデータ解析処理の処理結果に基づいて解析データＫＤを生成する（ステップＳＣ４）。
【０１１９】
解析データＫＤは、上述した項目のそれぞれと、統括識別情報項目、シリアル番号項目、及び、店舗識別情報項目のそれぞれと、項目情報と、が対応付けて記述されたＪＳＯＮ形式のデータである。また、解析データＫＤは、項目情報を印刷テキストデータＩＴＤから取得できなかったことを示す情報が、必要に応じて項目ごとに記述される。なお、項目情報を印刷テキストデータＩＴＤから取得できなかったことを示す情報としては、ｎｕｌｌ値が一例として挙げられる。
【０１２０】
統括識別情報項目は、項目情報として、解析データＫＤを一意に識別する統括識別情報Ｊ１３が対応付く項目である。シリアル番号項目は、項目情報として、シリアル番号Ｊ１１が対応付く項目である。店舗識別情報項目は、項目情報として、店舗を一意に識別する店舗識別情報Ｊ１２が対応付く項目である。
【０１２１】
図３のフローチャートＦＣに示すように、サーバー制御部７０は、解析データＫＤを生成すると、生成した解析データＫＤを解析データ管理データベース７１０Ｃに１件のレコードとして登録する（ステップＳＣ５）。
【０１２２】
図８は、解析データ管理データベース７１０Ｃの１件のレコードが有する情報を模式的に示す図である。
図８に示すように、解析データ管理データベース７１０Ｃの１件のレコードは、統括識別情報Ｊ１３、シリアル番号Ｊ１１、店舗識別情報Ｊ１２、発行日時情報Ｊ５、印刷データＩＤ、印刷テキストデータＩＴＤ、及び、解析データＫＤを有する。
【０１２３】
ステップＳＣ５において、サーバー制御部７０は、解析データＫＤに、対応する項目と対応付けて記述した統括識別情報Ｊ１３、シリアル番号Ｊ１１、店舗識別情報Ｊ１２、及び、発行日時情報Ｊ５と、受信した印刷データＩＤ、及び、印刷テキストデータＩＴＤとを対応付けたレコードを、解析データ管理データベース７１０Ｃに登録する。
【０１２４】
制御サーバー７には、複数のＷｅｂＡＰＩ（Application Programming Interface）が登録される。そして、制御サーバー７は、外部の装置のブラウザーからの要求に応じて、解析データ管理データベース７１０Ｃに基づいて、登録されたＷｅｂＡＰＩにより処理を行って、ユーザーが必要とする情報を提供することができる。ここでいうユーザーとは、例えば、店舗を経営するオーナーや、店舗を管理する管理会社またはその管理会社の従業員、店舗の責任者等であり、管理装置５の操作権限を有する者である。
【０１２５】
例えば、ユーザーは、管理装置５のブラウザーを立ち上げ、制御サーバー７から項目情報を取得するためのユーザーインターフェースの表示に係る制御サーバー７の所定のＵＲＬへのアクセスを指示する。ＵＲＬは、所定の方法で、ユーザーに事前に通知されている。管理装置５のブラウザー実行部５０００は、ユーザーの指示に応じて、制御サーバー７の所定のＵＲＬにアクセスする。そして、制御サーバー７のサーバー制御部７０は、所定のＵＲＬへのアクセスに応じて、上記のユーザーインターフェースを表示させるＨＴＭＬファイルを管理装置５に送信する。管理装置５は、受信したＨＴＭＬファイルに基づいて上記のユーザーインターフェースを管理装置表示部５２により表示する。ここで、管理装置５が表示するユーザーインターフェースにおいて、合計金額情報Ｊ９２が指定されたとする。すると、ブラウザー実行部５０００は、ＨＴＴＰリクエストとして、制御サーバー７に特定のレシートＲに係る合計金額情報Ｊ９２を要求する。制御サーバー７のサーバー制御部７０は、解析データ管理データベース７１０Ｃの解析データＫＤを用いて、特定のレシートＲに係る合計金額情報Ｊ９２をＨＴＴＰレスポンスとして管理装置５に送信する。これにより、ユーザーは、特定のレシートＲに印刷された合計金額情報Ｊ９２を活用することができる。
【０１２６】
ところで、レシートＲに印刷される決済情報に含まれる金額情報Ｊ１０は、レシートＲが発行される地域の慣習等によって表記形式が異なる項目情報である。
【０１２７】
例えば、金額情報Ｊ１０の表記形式は、桁区切りを示す記号としてカンマの記号である記号「，」を用いた表記形式があれば、桁区切りを示す記号としてドットの記号である記号「．」を用いた表記形式もある。また、例えば、金額情報Ｊ１０の表記形式は、小数点を示す記号として記号「．」を用いた表記形式があれば、小数点を示す記号として記号「，」を用いた表記形式もある。
ここで、第１５解析プログラムＫＰ１５に、抽出した項目情報に桁区切りを示す記号「，」が含まれている場合に、抽出した項目情報の表記形式を記号「，」を取り除いた表記形式に変換するという変換ルールに従って表記形式を変換する変換プログラムを含んでいるとする。この第１５解析プログラムＫＰ１５を、記号「，」が小数点を示す記号として表記された「１，００」の合計金額情報Ｊ９２に適用すると、最終的に取得される合計金額情報Ｊ９２は、表記形式が「１００」となり「１，００」と異なった値となる。
【０１２８】
このように、レシートＲによっては金額情報Ｊ１０の表記形式が異なるため、制御サーバー７は、テキストデータ解析処理に際し、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式に基づいて金額情報Ｊ１０を取得する解析プログラム群ＫＰＧを利用しないと、印刷テキストデータＩＴＤから適切に金額情報Ｊ１０を取得できず、精度よく決済情報を解析することが難しい。ここで決済情報を精度よく解析するために、ユーザーが、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を設定し、設定した表記形式に基づいて制御サーバー７が決済情報を解析することが考えらえる。しかしながら、ユーザーの入力ミスや設定ミス等が生じると、制御サーバー７は誤った表記形式に基づいて決済情報を解析してしまい、解析精度が低下する虞がある。
【０１２９】
そこで、制御サーバー７は、以下の構成を具備し、以下の動作を実行する。
【０１３０】
図９は、制御サーバー７のサーバー制御部７０の機能ブロックを示す図である。
図９に示す各構成部は、サーバープロセッサー７００が制御プログラム７１０Ａを実行することにより実現される機能部と、サーバープロセッサー７００の制御によりサーバー記憶部７１０の記憶領域を使用して形成される記憶部とを含む。
【０１３１】
サーバー制御部７０は、テキストデータ取得部７０１、金額情報検出部７０２、機械学習部７０３、出力部７０４、変換プログラム生成部７０５、設定情報取得部７０６、報知部７０７、及び解析部７０８を備える。テキストデータ取得部７０１は、取得部に相当する。これら各部は、上述したように、例えば、サーバープロセッサー７００が制御プログラム７１０Ａを実行することによって、ソフトウェアとハードウェアとの協働により実現される。
【０１３２】
テキストデータ取得部７０１は、印刷装置３から受信した印刷テキストデータＩＴＤを取得する。
例えば、テキストデータ取得部７０１は、解析データ管理データベース７１０Ｃから、取得対象の印刷装置３のシリアル番号Ｊ１１を含むレコードを１つ特定し、特定したレコードから印刷テキストデータＩＴＤを取得する。
テキストデータ取得部７０１は、取得した印刷テキストデータＩＴＤを金額情報検出部７０２に出力する。
【０１３３】
金額情報検出部７０２は、解析プログラム群ＫＰＧを利用して、テキストデータ取得部７０１から入力された印刷テキストデータＩＴＤから金額情報Ｊ１０を検出する。
金額情報検出部７０２は、取得対象の印刷装置３のシリアル番号Ｊ１１に対応する解析プログラム群ＫＰＧを、解析プログラム群管理データベース７１０Ｂから取得する。次いで、金額情報検出部７０２は、解析プログラム群ＫＰＧが有する解析プログラムＫＰのうち、金額情報Ｊ１０に対応する項目情報を取得する解析プログラムＫＰを利用して、印刷テキストデータＩＴＤから金額情報Ｊ１０を検出する。そして、金額情報検出部７０２は、解析プログラムＫＰを利用して、検出した金額情報Ｊ１０を印刷テキストデータＩＴＤから項目情報として抽出し、抽出した金額情報Ｊ１０を機械学習部７０３に出力する。なお、金額情報検出部７０２は、金額情報Ｊ１０を機械学習部７０３に出力する際、検出に利用した解析プログラムＫＰに従った表記形式の変換は行わない。
【０１３４】
機械学習部７０３は、印刷装置３ごとに、印刷装置３が発行するレシートＲに印刷される金額情報Ｊ１０に適用される表記形式を学習する。機械学習部７０３が使用する学習アルゴリズムは、特に限定されず、例えば、教師なし学習や、教師あり学習、半教師あり学習、強化学習、転移学習等のいずれかの学習アルゴリズムでよい。本実施形態では、教師なし学習を採用した例を説明する。
機械学習部７０３は、判定部７０３１、機械学習モデル生成部７０３２、学習結果記憶部７０３３、及び、表記形式決定部７０３５を備える。
【０１３５】
判定部７０３１は、金額情報検出部７０２が検出した金額情報Ｊ１０に基づいて、テキストデータ取得部７０１が取得した印刷テキストデータＩＴＤごとに、レシートＲに印刷された金額情報Ｊ１０に整合する１の表記形式を判定する。
判定部７０３１は、金額情報検出部７０２が１の印刷テキストデータＩＴＤから検出した金額情報Ｊ１０ごとに、複数の記号のそれぞれに対して、出現頻度を記号の種類別に累積してカウントする。そして、判定部７０３１は、カウント値の多い種類の記号を、小数点を示す記号、又は、桁区切りを示す記号として判定する。以下では、小数点を示す記号を小数点記号という。小数点記号は、第１記号に相当する。また、以下では、桁区切りを示す記号を桁区切り記号という。桁区切り記号は、第２記号に相当する。
【０１３６】
例えば、判定部７０３１は、カウント値が最も多い種類の記号を、小数点記号とし、カウント値が二番目に多い種類の記号を、桁区切り記号として判定する。この構成により、ほぼ全ての取引で金額情報Ｊ１０に出現する小数点記号と、高額な取引に限り金額情報Ｊ１０に出現する桁区切り記号と、を適切に区別することができる。検出するためのプログラムは、予めサーバー記憶部７１０に記憶されている。なお、小数点、及び桁区切りの候補となる記号の種類は、ドットの記号を記号「．」や、カンマの記号を示す記号「，」、アポストロフィの記号を示す記号「‘」、中点の記号を示す記号「・」等が例として挙げられる。判定部７０３１は、１の印刷テキストデータＩＴＤに存在する金額情報Ｊ１０の全てに対して記号の種類別に累積してカウントを行うと、小数点記号、及び桁区切り記号を判定する。そして、判定部７０３１は、判定した小数点記号、及び桁区切り記号の組み合わせを、レシートＲに印刷された金額情報Ｊ１０に整合する１の表記形式として判定する。
【０１３７】
ここで、判定部７０３１の判定について、図６に示す印刷テキストデータＩＴＤを判定対象とした場合を例示して具体的に説明する。
金額情報検出部７０２から入力された金額情報Ｊ１０が「７００．００」を示す単価情報Ｊ６３である場合、判定部７０３１は、記号「．」を検出し、記号「．」の検出数を１つカウントする。
続けて、金額情報検出部７０２から入力された金額情報Ｊ１０が「１，０００．００」を示す単価情報Ｊ６３である場合、判定部７０３１は、記号「．」と、記号「，」とを検出する。判定部７０３１は、記号「．」の検出数をさらに１つカウントし、記号「，」の検出数を１つカウントする。
判定部７０３１は、「１，７００．００」を示す小計金額情報Ｊ７２、「６．１３」を示す税額情報Ｊ８２、及び、「１，７０６．１３」を示す合計金額情報Ｊ９２についても同様に検出、及びカウントを行う。
図６に示す印刷テキストデータＩＴＤに含まれる全ての金額情報Ｊ１０に対して検出、及びカウントを行なわれると、記号「．」が５であり、記号「，」が３であり、他の記号が０である。そのため、図６に示す印刷テキストデータＩＴＤの場合、判定部７０３１は、レシートＲに印刷された金額情報Ｊ１０に整合する１の表記形式が、小数点記号が記号「．」であり桁区切り記号が記号「，」である表記形式と、判定する。
【０１３８】
判定部７０３１は、判定結果を機械学習モデル生成部７０３２に出力する。
【０１３９】
機械学習モデル生成部７０３２は、印刷装置３ごとに、判定部７０３１の判定結果に基づいて、印刷装置３が発行するレシートＲに印刷される金額情報Ｊ１０に適用される印刷表記形式を決定するための機械学習モデル７０３４を生成する。機械学習モデル生成部７０３２は、判定部７０３１が判定した表記形式を、印刷テキストデータＩＴＤをグループ分けするパラメーターとして利用し、このパラメーターに基づいて印刷テキストデータＩＴＤをグループ分けした機械学習モデル７０３４を生成する。機械学習モデル生成部７０３２は、生成した機械学習モデル７０３４を学習結果記憶部７０３３に記憶させる。機械学習モデル生成部７０３２により生成される機械学習モデル７０３４は、判定部７０３１の判定結果で印刷テキストデータＩＴＤをグループ分けしたモデルであり、グループごとにグループに属する印刷テキストデータＩＴＤの数を示す出現頻度パラメーターを有している。この出現頻度パラメーターは、金額情報Ｊ１０に整合する表記形式として判定部７０３１に判定された頻度を示す。
【０１４０】
例えば、機械学習モデル生成部７０３２は、７つの印刷テキストデータのうち５つの印刷テキストデータＩＴＤに対して判定部７０３１からある判定結果を取得し、他の２つの印刷テキストデータＩＴＤに対して判定部７０３１からある判定結果と異なる他の判定結果を取得したとする。この場合、機械学習モデル生成部７０３２は、ある判定結果の判定がされた５つの印刷テキストデータＩＴＤと、他の判定結果の判定がされた他２つの印刷テキストデータＩＴＤとでグループ分けした機械学習モデル７０３４を生成する。
【０１４１】
機械学習モデル生成部７０３２は、判定部７０３１から判定結果が入力されるたびに、機械学習モデル７０３４を更新する。機械学習モデル７０３４の更新では、機械学習モデル生成部７０３２は、既に生成された機械学習モデル７０３４と、入力された判定部７０３１の判定結果とに基づいて、テキストデータ取得部７０１が新たに取得した印刷テキストデータＩＴＤのグループ分けを行った新たな機械学習モデル７０３４を生成する。そして、機械学習モデル生成部７０３２は、学習結果記憶部７０３３が記憶する機械学習モデル７０３４を、生成した新たな機械学習モデル７０３４に更新する。このように、機械学習モデル生成部７０３２は、機械学習モデル７０３４の更新を行うことで、機械学習モデル７０３４に、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を学習させていく。なお、金額情報Ｊ１０に適用される表記形式は、第１表記形式に相当する。
【０１４２】
学習結果記憶部７０３３は、機械学習モデル生成部７０３２が生成した機械学習モデル７０３４を記憶する。学習結果記憶部７０３３は、印刷装置３のシリアル番号Ｊ１１を対応付けて機械学習モデル７０３４を記憶する。
【０１４３】
表記形式決定部７０３５は、印刷装置３ごとに、学習結果記憶部７０３３が記憶する機械学習モデル７０３４から、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を決定する。表記形式決定部７０３５は、機械学習モデル７０３４が有する出現頻度パラメーターに基づいて、最も多くの印刷テキストデータＩＴＤが属するグループの判定結果が示す表記形式を、金額情報Ｊ１０に適用される表記形式として決定する。
【０１４４】
出力部７０４は、表記形式決定部７０３５が決定した金額情報Ｊ１０の表記形式を、決済情報の解析に適した表記形式として変換プログラム生成部７０５、或いはサーバーネットワーク通信部７１を介して管理装置５に出力する。出力部７０４の出力先は、予め管理装置５等によって設定される。
【０１４５】
変換プログラム生成部７０５は、出力部７０４から入力があった場合、出力部７０４からの入力に基づいて変換プログラムを生成する。
例えば、出力部７０４から入力された金額情報Ｊ１０の表記形式が、小数点を示す記号が記号「．」であり桁区切りを示す記号が記号「，」である表記形式であるとする。この場合、変換プログラム生成部７０５は、記号「，」を取り除き、且つ、記号「．」、及び記号「．」に後続する文字列を取り除いた表記形式に変換するという変換ルールを有する変換プログラムを生成する。この変換プログラムに従うと、サーバー制御部７０は、上述したテキストデータ解析処理において、例えば「１０，０００．００」の金額情報Ｊ１０の表記形式を、「１００００」といった変換前後で値が変わらない適切な表記形式に変換できる。
なお、この変換プログラムはあくまで一例である。変換プログラムは、適切な表記形式に変換できるという観点の基、出力部７０４からの入力に基づいて生成される。
【０１４６】
変換プログラム生成部７０５は、生成した変換プログラムを解析プログラム群ＫＰＧに適用する。
変換プログラム生成部７０５は、解析プログラム群ＫＰＧが有する１５の解析プログラムＫＰのうち、金額情報Ｊ１０を取得するための解析プログラムＫＰの変換プログラムを、生成した変換プログラムに変更する。すなわち、サーバー制御部７０は、第９解析プログラムＫＰ９、第１０解析プログラムＫＰ１０、第１３解析プログラムＫＰ１３、第１４解析プログラムＫＰ１４、及び、第１５解析プログラムＫＰ１５の変換プログラムを生成した変換プログラムに変更する。
【０１４７】
図６に示すように１のレシートＲにおいては、金額情報Ｊ１０の表記形式が全て同じ表記形式である蓋然性が高い。そのため、変換プログラム生成部７０５は、第９解析プログラムＫＰ９、第１０解析プログラムＫＰ１０、第１３解析プログラムＫＰ１３、第１４解析プログラムＫＰ１４、及び、第１５解析プログラムＫＰ１５のそれぞれに対して変換プログラムを生成せずとも、共通する１の変換プログラムを生成すればよい。したがって、変換プログラム生成部７０５は、解析プログラム群ＫＰＧの変更に関わる処理負荷を低減しつつ、速やかに解析プログラム群ＫＰＧを変更できる。
【０１４８】
なお、変換プログラム生成部７０５は、出力部７０４からの入力に基づいて、解析プログラムＫＰ自体を生成して、解析プログラム群ＫＰＧに適用する構成でもよい。但し、この構成の場合、変換プログラム生成部７０５は、第９解析プログラムＫＰ９、第１０解析プログラムＫＰ１０、第１３解析プログラムＫＰ１３、第１４解析プログラムＫＰ１４、及び、第１５解析プログラムＫＰ１５のそれぞれを生成する必要がある。これは、変換ルールが同じであっても、金額情報Ｊ１０の抽出ルールが異なる可能性が非常に高いためである。
【０１４９】
設定情報取得部７０６は、制御サーバー７に設定された金額情報Ｊ１０の表記形式を取得する。以下では、制御サーバー７に設定された金額情報Ｊ１０の表記形式を、設定表記形式という。設定表記形式は、第２表記形式に相当する。設定表記形式とは、解析プログラム群管理データベース７１０Ｂに登録する解析プログラム群ＫＰＧを生成する際に、管理装置５によって設定された金額情報Ｊ１０の表記形式である。管理装置５のブラウザー実行部５０００は、制御サーバー７に対して、印刷装置３が発行するレシートＲに印刷される金額情報Ｊ１０の表記形式を設定可能に構成される。制御サーバー７は、管理装置５により設定された金額情報Ｊ１０の表記形式に基づいて解析プログラム群ＫＰＧを生成し、生成した解析プログラム群ＫＰＧを解析プログラム群管理データベース７１０Ｂに登録する。
【０１５０】
報知部７０７は、金額情報Ｊ１０の設定表記形式と、表記形式決定部７０３５が決定した金額情報Ｊ１０の表記形式とを比較し、比較結果に基づく報知処理を行う。例えば、報知部７０７は、比較した結果、両者の表記形式が異なる場合、表記形式が異なる旨を管理装置５に送信する。また、例えば、報知部７０７は、比較した結果、両者の表記形式が異なる場合、表記形式が異なる旨をサーバー表示部７２により表示する。
【０１５１】
解析部７０８は、解析プログラム群ＫＰＧに基づいて、上述したテキストデータ解析処理を実行する。
【０１５２】
続いて、制御サーバー７の動作を説明する。
図１０は、制御サーバー７の動作を示すフローチャートＦＤである。
【０１５３】
以下の説明では、ある１の印刷装置３が発行するレシートＲに印刷される金額情報Ｊ１０に係る制御サーバー７の動作を説明する。
【０１５４】
サーバー制御部７０は、印刷装置３が発行するレシートＲに印刷される金額情報Ｊ１０の表記形式の学習を開始するか否かを判別する（ステップＳＤ１）。例えば、ある１の印刷装置３について、管理装置５から金額情報Ｊ１０の学習を開始する指示を受信した場合、サーバー制御部７０は、ステップＳＤ１において肯定判別する。
【０１５５】
サーバー制御部７０金額情報Ｊ１０の学習を開始すると判別すると（ステップＳＤ１：ＹＥＳ）、テキストデータ取得部７０１は、学習対象の印刷装置３から受信した印刷テキストデータＩＴＤを取得する（ステップＳＤ２）。
【０１５６】
次いで、金額情報検出部７０２は、テキストデータ取得部７０１が取得した印刷テキストデータＩＴＤから金額情報Ｊ１０を抽出する（ステップＳＤ３）。
【０１５７】
次いで、機械学習部７０３の判定部７０３１は、金額情報検出部７０２が抽出した金額情報Ｊ１０に基づいて、１の印刷テキストデータＩＴＤに含まれる金額情報Ｊ１０に整合する１の表記形式を判定する（ステップＳＤ４）。
【０１５８】
次いで、機械学習部７０３の機械学習モデル生成部７０３２は、印刷装置３に対応する機械学習モデル７０３４が学習結果記憶部７０３３に記憶されているか否かを判別する（ステップＳＤ５）。
【０１５９】
機械学習モデル生成部７０３２は、印刷装置３に対応する機械学習モデル７０３４を学習結果記憶部７０３３が記憶していないと判別した場合（ステップＳＤ５：ＮＯ）、判定部７０３１の判定結果に基づいて、印刷装置３に対応する新たな機械学習モデル７０３４を生成する（ステップＳＤ６）。
【０１６０】
一方、機械学習モデル生成部７０３２は、印刷装置３に対応する機械学習モデル７０３４を学習結果記憶部７０３３が記憶していると判別した場合（ステップＳＤ５：ＹＥＳ）、印刷装置３に対応する機械学習モデル７０３４を、判定部７０３１の判定結果に基づいて更新する（ステップＳＤ７）。
【０１６１】
次いで、機械学習部７０３の表記形式決定部７０３５は、金額情報Ｊ１０の表記形式の学習を終了するか否かを判別する（ステップＳＤ８）。例えば、表記形式決定部７０３５は、機械学習モデル生成部７０３２が予め定められた数の印刷テキストデータＩＴＤに基づいて機械学習モデル７０３４を更新した場合、ステップＳＤ８で肯定判別する。また、例えば、表記形式決定部７０３５は、金額情報Ｊ１０の表記形式の学習を開始してから、所定期間が経過した場合、ステップＳＤ８で肯定判別する。
【０１６２】
表記形式決定部７０３５が金額情報Ｊ１０の表記形式の学習を終了しないと判別した場合（ステップＳＤ８：ＮＯ）、サーバー制御部７０は、処理をステップＳＤ２に戻し、再度、ステップＳＤ２からステップＳＤ８の処理を実行する。再度、ステップＳＤ２からステップＳＤ８までの処理を実行する場合、テキストデータ取得部７０１は、前回のステップＳＤ２で取得した印刷テキストデータＩＴＤと異なる印刷テキストデータＩＴＤを取得する。
【０１６３】
一方、表記形式決定部７０３５は、金額情報Ｊ１０の表記形式の学習を終了すると判別した場合（ステップＳＤ８：ＹＥＳ）、印刷装置３に対応する機械学習モデル７０３４から金額情報Ｊ１０に適用される表記形式を決定する（ステップＳＤ９）。
【０１６４】
このように、機械学習部７０３は、判定部７０３１の判定結果に基づいて機械学習モデル７０３４を更新することによって金額情報Ｊ１０に適用される表記形式を機械学習モデル７０３４に学習させ、学習した機械学習モデル７０３４から金額情報Ｊ１０に適用される表記形式を決定する。このため、機械学習部７０３は、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を、高精度で決定できる。
【０１６５】
上述したように、機械学習モデル生成部７０３２は、判定部７０３１の判定結果で印刷テキストデータＩＴＤをグループ分けしたモデルであって、グループごとに出現頻度パラメーターを有する機械学習モデル７０３４を生成する。つまり、機械学習モデル生成部７０３２は、金額情報Ｊ１０の各々の表記形式が判定部７０３１に判定された頻度に基づいて、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を決定するための機械学習モデル７０３４を生成する。換言すれば、機械学習モデル生成部７０３２は、判定部７０３１が判定した表記形式を、印刷テキストデータＩＴＤをグループ分けするパラメーターとして利用し、このパラメーターに基づいて、金額情報Ｊ１０に適用される表記形式の小数点記号、及び、桁区切り記号を識別可能な機械学習モデル７０３４を生成する。表記形式決定部７０３５は、この機械学習モデル７０３４から、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を決定する。これにより、機械学習部７０３は、最も多く判定部７０３１に判定された表記形式を、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式として決定できる。したがって、機械学習部７０３は、最も適用されている蓋然性の高い表記形式を、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式として決定できる。これにより、機械学習部７０３は、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を、より高精度で決定できる。
【０１６６】
表記形式決定部７０３５が金額情報Ｊ１０に適用される表記形式を決定すると、サーバー制御部７０は、表記形式決定部７０３５が決定した表記形式に基づく処理を実行する（ステップＳＤ１０）。
【０１６７】
ステップＳＤ１０の処理について、複数の処理を例に挙げて説明する。
［処理１］
報知部７０７は、設定情報取得部７０６が取得した金額情報Ｊ１０の設定表記形式と、表記形式決定部７０３５が決定したレシートＲに印刷される金額情報Ｊ１０に適用される表記形式とを比較し、両者の表記形式が異なっている場合、表記形式が異なる旨を管理装置５に報知する。より詳細には、報知部７０７は、比較する両者の表記形式において、小数点を示す記号、又は、桁区切りを示す記号が異なる場合、表記形式が異なる旨を管理装置５に報知する。
この報知によって、管理装置５のユーザーは、制御サーバー７に設定されている設定表記形式と、印刷装置３が発行するレシートＲに印刷される金額情報Ｊ１０の表記形式とが異なる表記形式であると認識できる。そして、管理装置５のユーザーは、決済情報が精度よく解析できるようにするため、制御サーバー７に適切な金額情報Ｊ１０の表記形式を設定する必要であることを認識できる。したがって、報知部７０７は、報知によって決済情報の精度向上を図ることができる。
報知部７０７は、比較した両者の表記形式が同じである場合、表記形式が同じである旨を管理装置５に報知してもよい。
報知部７０７は、比較結果をサーバー表示部７２により表示してもよい。この場合、制御サーバー７のユーザーは、比較結果を認識できる。制御サーバー７のユーザーとしては、店舗を経営するオーナーや店舗を管理する企業等をクライアントとし、このクライアントに対して、クライアントが必要とする項目情報を提供するサービスを行う主体や、この主体に属する従業員、この主体に属し且つ解析プログラムＫＰの設定及び管理の少なくともいずれかを行う従業員等が例として挙げられる。
【０１６８】
［処理２］
出力部７０４は、表記形式決定部７０３５が決定した金額情報Ｊ１０に適用される表記形式を、決済情報の解析に適した金額情報Ｊ１０の表記形式として変換プログラム生成部７０５に出力する。変換プログラム生成部７０５は、出力部７０４の出力に基づいて、変換プログラムを生成し、生成した変換プログラムを解析プログラム群ＫＰＧに適用する。このように、表記形式決定部７０３５が決定した金額情報Ｊ１０の表記形式を出力部７０４が変換プログラム生成部７０５に出力することで、サーバー制御部７０は、高精度で決定された表記形式に基づく解析プログラム群ＫＰＧを、自動で解析プログラム群管理データベース７１０Ｂに登録できる。
【０１６９】
なお、出力部７０４は、上述した［処理１］のように表記形式を比較して、比較結果に基づく出力を行ってもよい。すなわち、出力部７０４は、設定情報取得部７０６が取得した金額情報Ｊ１０の設定表記形式と、表記形式決定部７０３５が決定した金額情報Ｊ１０に適用される表記形式とを比較する。そして、出力部７０４は、両者が同じ表記形式である場合、設定情報取得部７０６が取得した金額情報Ｊ１０の表記形式を、決済情報の解析に適した金額情報Ｊ１０の表記形式として変換プログラム生成部７０５に出力する。
【０１７０】
［処理３］
出力部７０４は、表記形式決定部７０３５が決定した金額情報Ｊ１０に適用される表記形式を、決済情報の解析に適した表記形式として、サーバーネットワーク通信部７１を介して管理装置５に出力する。これにより、管理装置５のユーザーは、印刷装置３が発行するレシートＲに印刷される金額情報Ｊ１０に適用される表記形式がどのような表記形式であるかを認識できる。そして、ユーザーは、適切に解析が行える解析プログラム群ＫＰＧを制御サーバー７に設定させる際、出力部７０４が出力した表記形式を参照することで、適切な金額情報Ｊ１０の表記形式を制御サーバー７に容易に設定できる。
なお、出力部７０４は、表記形式決定部７０３５が決定した金額情報Ｊ１０に適用される表記形式を、決済情報の解析に適した表記形式として、サーバー表示部７２により表示してもよい。この場合、制御サーバー７のユーザーは、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式がどのような表記形式であるかを認識できる。
【０１７１】
［処理４］
解析部７０８は、表記形式決定部７０３５が決定した表記形式に基づいて、テキストデータ解析処理を実行する。表記形式決定部７０３５が決定した表記形式に基づいてテキストデータ解析処理を実行するとは、表記形式決定部７０３５が決定した表記形式に基づいて変換プログラムが変更された解析プログラム群ＫＰＧを利用して、印刷テキストデータＩＴＤから金額情報Ｊ１０を取得することを示す。これにより、解析部７０８は、テキストデータ解析処理において、印刷テキストデータＩＴＤから適切な表記形式に変換した金額情報Ｊ１０を取得でき、決済情報を精度よく解析できる。
【０１７２】
なお、解析部７０８は、上述した［処理１］のように表記形式を比較して、比較結果に基づいてテキストデータ解析処理を実行してもよい。すなわち、解析部７０８は、設定情報取得部７０６が取得した金額情報Ｊ１０の設定表記形式と、表記形式決定部７０３５が決定した金額情報Ｊ１０の表記形式とを比較する。そして、解析部７０８は、両者が同じ表記形式である場合、設定情報取得部７０６が取得した金額情報Ｊ１０の表記形式に基づいて、テキストデータ解析処理を実行する。
【０１７３】
サーバー制御部７０は、ステップＳＤ１０において、処理１〜処理４のいずれかの処理を実行してもよいし、全ての処理を実行してもよいし、任意の複数の処理を、任意の順で、或いは並列に実行してもよい。
【０１７４】
以上、説明したように、制御サーバー７は、印刷装置３に通信可能なサーバーネットワーク通信部７１と、サーバー制御部７０と、を備える。サーバー制御部７０は、サーバーネットワーク通信部７１より、印刷装置３から、決済情報に関する印刷テキストデータＩＴＤを取得し、取得した印刷テキストデータＩＴＤから、金額情報Ｊ１０を抽出し、抽出した金額情報Ｊ１０に基づいて、金額の小数点記号と、金額の桁区切り記号とを有する金額情報Ｊ１０に適用される表記形式を判定し、小数点記号と、桁区切り記号とを設定した設定表記形式を取得し、判定した金額情報Ｊ１０に適用される表記形式と、設定表記形式とを比較し、比較した結果に基づいて、報知処理を実行する。
【０１７５】
この構成によれば、例えば、管理装置５のユーザーは、制御サーバー７に設定されている設定表記形式と、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式と、が異なる表記形式であるのか、同じ表記形式であるのかを認識できるようになる。つまり、サーバー制御部７０は、比較結果に基づいて報知処理を実行することで、ユーザーが設定した金額情報Ｊ１０の表記形式が、適切な表記形式か否かをユーザーに認識させることができる。これにより、決済情報が精度よく解析できるようにするため、管理装置５のユーザーが適切な金額情報Ｊ１０の表記形式を制御サーバー７に設定する蓋然性が増すため、制御サーバー７は、報知処理によって、決済情報の解析精度を高めることができる。
【０１７６】
サーバー制御部７０は、抽出した金額情報Ｊ１０に出現する記号の出現頻度を、記号の種類ごとに累積的にカウントし、複数の記号のうち、出現頻度の高い種類の記号に基づいて、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式が有する小数点記号と、桁区切り記号とを判定する。
【０１７７】
この構成によれば、サーバー制御部７０は、出現頻度の高い記号に基づいて小数点記号、及び桁区切り記号を判定するため、金額情報Ｊ１０の表記形式に用いられている蓋然性の高い小数点記号と桁区切り記号との組み合わせを、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式として判定できる。そのため、サーバー制御部７０、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を精度よく判定でき、精度よく判定された表記形式に基づく比較結果を報知できる。これより、ユーザーは、制御サーバー７に設定されている設定表記形式と、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式とが、異なる表記形式であるのか、同じ表記形式であるのかを正確に認識できるようになる。したがって、制御サーバー７は、決済情報の解析精度をより高めることができる。
【０１７８】
記号の種類は、ドット、カンマ、アポストロフィ、又は、中点である。
【０１７９】
この構成によれば、ドット、カンマ、アポストロフィ、又は、中点のいずれかで表記される小数点記号、及び桁区切り記号の組み合わせを、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式として、精度よく判定できる。
【０１８０】
サーバー制御部７０は、レシートＲに印刷される金額情報Ｊ１０に適応される表記形式の小数点記号と、設定表記形式の小数点記号とが異なる場合、又は、レシートＲに印刷される金額情報Ｊ１０に適応される表記形式の桁区切り記号と、設定表記形式の桁区切り記号とが異なる場合、報知処理を実行する。
【０１８１】
この構成によれば、小数点記号、及び桁区切り記号のいずれかの相違によって報知処理を実行するため、サーバー制御部７０は、設定表記形式と、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式とが異なる表記形式であることを正確に報知できる。
【０１８２】
サーバー制御部７０は、レシートＲに印刷される金額情報Ｊ１０に適応される表記形式と、設定表記形式とが、同じである場合、設定表記形式を、決済情報の解析用の表記形式とする。
【０１８３】
この構成によれば、サーバー制御部７０は、テキストデータ解析処理に適した金額情報Ｊ１０の表記形式を精度よく決定でき、決済情報の解析精度をより高めることができる。
【０１８４】
サーバー制御部７０は、印刷される金額情報Ｊ１０に適応される表記形式と、設定表記形式とが、同じである場合、設定表記形式に基づいて、決済情報を解析する。
【０１８５】
この構成によれば、サーバー制御部７０は、適切な金額情報Ｊ１０の表記形式に基づいて金額情報Ｊ１０を取得する解析プログラム群ＫＰＧによって、適切にテキストデータ解析処理を行える。そのため、サーバー制御部７０は、テキストデータ解析処理において、印刷テキストデータＩＴＤから適切な表記形式に変換して金額情報Ｊ１０を取得でき、精度よく決済情報を解析できる。
【０１８６】
サーバー制御部７０は、金額情報Ｊ１０に基づいて、印刷される金額情報Ｊ１０に適用される表記形式の小数点記号、及び、桁区切り記号を識別可能な機械学習モデル７０３４を生成し、生成した機械学習モデル７０３４により判定した表記形式と、設定表記形式とを比較する。
【０１８７】
この構成によれば、金額情報Ｊ１０の表記形式を学習した機械学習モデル７０３４から、高精度で、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式を判定でき、高精度で判定された表記形式に基づく比較結果を報知できる。これより、ユーザーが、制御サーバー７に設定されている設定表記形式と、レシートＲに印刷される金額情報Ｊ１０に適用される表記形式とが、異なる表記形式であるのか、同じ表記形式であるのかを、より正確に認識できるようになる。したがって、制御サーバー７は、決済情報の解析精度をより高めることができる。
【０１８８】
サーバー制御部７０は、抽出した金額情報Ｊ１０に出現する記号の出現頻度を、記号の種類ごとに累積的にカウントし、複数の記号のうち、出現頻度の高い種類の記号に基づいて、小数点記号と、桁区切り記号とを有する表記形式を判定し、判定した表記形式をパラメーターとして、複数のパラメーターに基づいて機械学習モデル７０３４を生成する。
【０１８９】
この構成によれば、サーバー制御部７０は、金額情報Ｊ１０の表記形式に適用されている蓋然性の高い小数点記号、及び桁区切り記号の組み合わせを、高精度で判定できる。さらに、制御サーバー７は、決済情報の解析精度を高めることができる。
【０１９０】
なお、上述した実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
【０１９１】
上述した実施形態では、小数点記号、及び桁区切り記号の組み合わせを、金額情報Ｊ１０の表記形式として説明した。金額情報Ｊ１０の表記形式は、この組み合わせに限定されず、＄や￥等の通貨を示す記号を含む組み合わせでもよい。この場合、判定部７０３１は、通貨を示す記号についても、小数点、及び桁区切りと同様に検出、及びカウントを行い、カウント結果に基づいて小数点、桁区切り、及び通貨のそれぞれの記号の組み合わせが示す表記形式のうち、レシートＲに印刷された金額情報Ｊ１０に整合する表記形式を判定する。
【０１９２】
また、例えば、ＰＯＳ端末４が管理装置５として機能してもよい。この場合、ＰＯＳ端末４には、ブラウザーがインストールされており、ＰＯＳ端末制御部４０は、ブラウザー実行部５０００の機能を有する。
【０１９３】
また、例えば、ＰＯＳ端末制御部４０、印刷装置制御部３０、管理装置制御部５０、サーバー制御部７０の機能は、複数のプロセッサー、又は、半導体チップにより実現してもよい。
【０１９４】
また、例えば、上述した制御サーバー７の動作が示す機械学習方法が、制御サーバー７が備えるコンピューター、又は、制御サーバー７に接続される外部装置を用いて実現される場合、本発明を、当該方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。
【０１９５】
また、サーバー制御部７０の機能は、制御プログラム７１０Ａを記憶した記憶媒体、制御プログラム７１０Ａを配信するサーバー装置、制御プログラム７１０Ａを伝送する伝送媒体、制御プログラム７１０Ａを搬送波内に具現化したデータ信号等の形態で実現することもできる。記憶媒体としては、コンピューターが読み取り可能な種々の媒体を利用することができ、磁気的、光学的記憶媒体あるいは半導体メモリーデバイスを用いるもののいずれであってもよく、その他の種類の記憶媒体をしようしてもよい。また、メモリーカード等の可搬型記憶媒体であってもよい。また、記憶媒体は、上記装置と通信回線を介して接続された装置が備える記憶媒体であってもよい。制御プログラム７１０Ａは、オペレーティングシステムを実装して動作する装置において、オペレーティングシステム上で動作する単体のアプリケーションプログラムとして実装することができる。また、単体のアプリケーションプログラムに限らず、オペレーティングシステム、デバイスドライバー、及び、アプリケーションプログラムのうち複数の機能として実装されてもよい。
【０１９６】
また、例えば、図１０の処理単位は、制御サーバー７の処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。処理内容に応じて、されに多くの処理単位に分割してもよい。また、１つの処理単位がさらに多くの処理を含むように分割してもよい。また、その処理の順番は、本発明に支障のない範囲で適宜に入れ替えてもよい。
【０１９７】
また、サーバー制御部７０は、機械学習モデル７０３４を生成しない構成としてもよい。例えば、サーバー制御部７０は、所定数の印刷テキストデータＩＴＤが有する金額情報Ｊ１０から、記号を抽出して、抽出数を記号の種類別に累積してカウントし、カウント値の多い種類の記号を、小数点記号、又は、桁区切り記号として判定する。そして、サーバー制御部７０は、判定した小数点記号、及び、桁区切り記号を有する表記形式として決定する。
【０１９８】
また、図に示した各機能部は機能的構成を示すものであって、具体的な実装形態は特に限定されない。つまり、必ずしも各機能部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上述した実施形態においてソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、ＰＯＳ端末４、印刷装置３、管理装置５、及び制御サーバー７の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
【符号の説明】
【０１９９】
３…印刷装置、７…制御サーバー（情報処理装置）、７０…サーバー制御部、７１…サーバーネットワーク通信部（通信部）、７０１…テキストデータ取得部（取得部）、７０２…金額情報検出部、７０３…機械学習部、７０４…出力部、７０５…変換プログラム生成部、７０６…設定情報取得部、７０７…報知部、７０８…解析部、７０３１…判定部、７０３２…機械学習モデル生成部、７０３３…学習結果記憶部、７０３４…学習結果記憶部、７０３５…表記形式決定部、ＩＴＤ…印刷テキストデータ（テキストデータ）、Ｊ１０…金額情報、Ｊ６３…単価情報（金額情報）、Ｊ７２…小計金額情報（金額情報）、Ｊ８２…税額情報（金額情報）、Ｊ９２…合計金額情報（金額情報）。
【図１】
2020086631.tif 000003
【図２】
2020086631.tif 000004
【図３】
2020086631.tif 000005
【図４】
2020086631.tif 000006
【図５】
2020086631.tif 000007
【図６】
2020086631.tif 000008
【図７】
2020086631.tif 000009
【図８】
2020086631.tif 000010
【図９】
2020086631.tif 000011
【図１０】
2020086631.tif 000012