IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セイコーエプソン株式会社の特許一覧

特許7476524情報処理装置の情報処理方法、情報処理装置及びプログラム
<>
  • 特許-情報処理装置の情報処理方法、情報処理装置及びプログラム 図1
  • 特許-情報処理装置の情報処理方法、情報処理装置及びプログラム 図2
  • 特許-情報処理装置の情報処理方法、情報処理装置及びプログラム 図3
  • 特許-情報処理装置の情報処理方法、情報処理装置及びプログラム 図4
  • 特許-情報処理装置の情報処理方法、情報処理装置及びプログラム 図5
  • 特許-情報処理装置の情報処理方法、情報処理装置及びプログラム 図6
  • 特許-情報処理装置の情報処理方法、情報処理装置及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-22
(45)【発行日】2024-05-01
(54)【発明の名称】情報処理装置の情報処理方法、情報処理装置及びプログラム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20240423BHJP
   G07G 1/06 20060101ALN20240423BHJP
【FI】
G06F11/36 164
G07G1/06 Z
【請求項の数】 6
(21)【出願番号】P 2019214126
(22)【出願日】2019-11-27
(65)【公開番号】P2021086348
(43)【公開日】2021-06-03
【審査請求日】2022-10-26
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】大宮 英久
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2019-096142(JP,A)
【文献】特開2020-086814(JP,A)
【文献】特開2009-134407(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09-3/12
G06F 8/00-8/77
G06F 9/44-9/445
G06F 11/07-11/36
G07G 1/00-5/00
(57)【特許請求の範囲】
【請求項1】
レシートプリンターが印刷可能な印刷情報に含まれる、抽出対象のテキストデータの位
置及び属性の少なくとも一方に基づいて、前記テキストデータを抽出する新規抽出条件を
生成する生成工程と、
前記テキストデータを抽出する条件として予め設定されている4以上の設定済抽出条件
と、前記新規抽出条件と、を含む抽出条件群を、テスト用印刷情報に適用し、前記テキス
トデータを抽出するテスト工程と、
前記テスト工程における前記抽出条件群の適用により、予め設定された4つテキストデ
ータが抽出された場合に完了を通知する通知工程と、
を含む、情報処理装置の情報処理方法であって、
前記予め設定された4つのテキストデータは、レシートID、商品、合計金額、及び印
字時刻の項目名と項目値の組である、情報処理装置の情報処理方法。
【請求項2】
記憶部に記憶された、前記レシートプリンターが印刷可能な4以上の印刷情報から、前
記抽出条件群を適用する印刷情報を選択する選択工程をさらに含み、
前記テスト工程では、前記選択工程において選択された前記印刷情報を前記テスト用印
刷情報として用いる、請求項1に記載の情報処理装置の情報処理方法。
【請求項3】
4以上の前記設定済抽出条件が抽出条件群として予め設定されており、
前記抽出条件群に含まれる4以上の前記設定済抽出条件のうち少なくとも1つの前記設
定済抽出条件に対して、編集を行う編集工程をさらに含み、
前記テスト工程では、前記編集工程における編集が行われた後の前記抽出条件群を、前
記テスト用印刷情報に適用する、請求項1又は2に記載の情報処理装置の情報処理方法。
【請求項4】
4以上の前記設定済抽出条件が抽出条件群として予め設定されており、
前記抽出条件群に含まれる4以上の前記設定済抽出条件のうち少なくとも1つの前記設
定済抽出条件を削除する削除工程をさらに含み、
前記テスト工程では、前記削除工程における削除が行われた後の前記抽出条件群を、前
記テスト用印刷情報に適用する、請求項1乃至3の何れか1項に記載の情報処理装置の
報処理方法。
【請求項5】
レシートプリンターが印刷可能な印刷情報に含まれる、抽出対象のテキストデータの位
置及び属性の少なくとも一方に基づいて、前記テキストデータを抽出する新規抽出条件を
生成し、
前記テキストデータを抽出する条件として予め設定されている4以上の設定済抽出条件
と、前記新規抽出条件と、を含む抽出条件群を、テスト用印刷情報に適用して前記テキス
トデータを抽出し、
前記抽出条件群の適用により、予め設定された4つのテキストデータが抽出された場合
に完了を表示部に表示させるプロセッサーを備え、
前記予め設定された4つのテキストデータは、レシートID、商品、合計金額、及び印
字時刻の項目名と項目値の組である、情報処理装置。
【請求項6】
コンピューターのプロセッサーを、
レシートプリンターが印刷可能な印刷情報に含まれる、抽出対象のテキストデータの位
置及び属性の少なくとも一方に基づいて、前記テキストデータを抽出する新規抽出条件を
生成し、
前記テキストデータを抽出する条件として予め設定されている4以上の設定済抽出条件
と、前記新規抽出条件と、を含む抽出条件群を、テスト用印刷情報に適用して前記テキス
トデータを抽出し、
前記抽出条件群の適用により、予め設定された4つのテキストデータが抽出された場合
に完了を表示部に表示させるように処理させる、プログラムであって、
前記予め設定された4つのテキストデータは、レシートID、商品、合計金額、及び印
字時刻の項目名と項目値の組である、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
従来、サーバーがPOS(point of sales)端末に接続されたプリンターからレシート印刷データを受信し、レシート解析用スクリプトを用いて解析を行う技術が知られている。例えば、特許文献1には、レシート印刷データがサーバーに送信され、サーバーにおいてレイアウトに対応する方法でレシート印刷データを解析する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-158775号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、1つの印刷データに対し、複数の解析用スクリプトを適用する場合において、適用する解析用スクリプトを新たに追加した場合、追加した解析用スクリプトを含んだ複数の解析用スクリプトにおいて、適切に解析を行えるか否かを検証することができないという問題があった。
【0005】
そこで、本発明は、印刷情報から所定のテキストデータを抽出するための、複数の抽出条件に対し、新たな抽出条件を追加した場合において、新たな抽出条件を含んだ抽出条件群により、利用者が意図した結果が得られるか否かを検証することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するための情報処理方法は、レシートプリンターが印刷可能な印刷情報に含まれる、抽出対象のテキストデータの位置及び属性の少なくとも一方に基づいて、前記テキストデータを抽出する新規抽出条件を生成する生成工程と、前記テキストデータを抽出する条件として予め設定されている1又は2以上の設定済抽出条件と、前記新規抽出条件と、を含む抽出条件群を、テスト用印刷情報に適用し、前記テキストデータを抽出するテスト工程と、を含む。これにより、新規抽出条件を含んだ抽出条件群により、利用者が意図した結果が得られるか否かを自動的に検証(テスト)することができる。
【0007】
また、情報処理方法は、記憶部に記憶された、前記レシートプリンターが印刷可能な1又は2以上の印刷情報から、前記抽出条件群を適用する印刷情報を選択する選択工程をさらに含み、前記テスト工程では、前記選択工程において選択された前記印刷情報を前記テスト用印刷情報として用いる。このように、本番環境を模した印刷情報を用いることで、本番環境に近い条件で、新規抽出条件を含んだ抽出条件群をテストすることができる。
【0008】
また、2以上の前記設定済抽出条件が抽出条件群として予め設定されており、前記抽出条件群に含まれる2以上の前記設定済抽出条件のうち少なくとも1つの前記設定済抽出条件に対して、編集を行う編集工程をさらに含み、前記テスト工程では、前記編集工程における編集が行われた後の前記抽出条件群を、前記テスト用印刷情報に適用する。したがって、新規抽出条件の追加だけでなく、抽出条件群に含まれる少なくとも1つの設定済抽出条件が編集された場合に、編集後の抽出条件を含んだ抽出条件群により、利用者が意図した結果が得られるか否かを自動的に検証することができる。
【0009】
また、2以上の前記設定済抽出条件が抽出条件群として予め設定されており、前記抽出条件群に含まれる2以上の前記設定済抽出条件のうち少なくとも1つの前記設定済抽出条件を削除する削除工程をさらに含み、前記テスト工程では、前記削除工程における削除が行われた後の前記抽出条件群を、前記テスト用印刷情報に適用する。したがって、抽出条件に含まれる少なくとも1つの設定済抽出条件が削除された場合に、削除後の抽出条件群において、利用者が意図した結果が得られるか否かを自動的に検証することができる。
【0010】
また、前記テスト工程における前記抽出条件群の適用により、予め設定された1又は2以上のテキストデータが抽出された場合に完了を通知する通知工程をさらに含む。これにより、ユーザは、抽出条件群により、利用者が意図した結果が得られるか否かを確認することができる。
【図面の簡単な説明】
【0011】
図1】情報処理装置の全体構成図である。
図2】レシートを示す図である。
図3】選択画面の一例を示す図である。
図4】抽出スクリプト表示画面の一例を示す図である。
図5】追加画面の一例を示す図である。
図6】削除画面の一例を示す図である。
図7】情報処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)情報処理装置の構成:
(2)情報処理:
(3)他の実施形態:
【0013】
(1)情報処理装置の構成:
図1は、本発明の実施形態にかかる情報処理装置を示すブロック図である。本実施形態にかかる情報処理装置1は、レシートプリンター2と通信可能なサーバーであり、インターネット等のネットワークを介してレシートプリンター2と通信を行うことができる。
【0014】
レシートプリンター2は店舗のレジスターに備えられるプリンターである。すなわち、レシートプリンター2は、店舗において商品を購入した各顧客に対して購入記録を示す印刷物(レシート)を渡すために使用され、会計後にオペレーターの操作によってレシートが印刷される。むろん、レシートプリンター2は他の機器と協働する構成であってもよく、例えば、POSシステム(point of sales system)の一部を構成していてもよい。
【0015】
レシートプリンター2は、図示しないレジスター等の制御装置からの指令によって各種の印刷物を印刷することができる。すなわち、制御装置は、図示しないプロセッサーの機能により、顧客が購入した商品の価格等を示す購入記録を示す印刷情報を生成することができる。制御装置が、レシートプリンター2に対して制御信号を出力して当該印刷情報に基づく印刷を指示すると、レシートプリンター2は購入記録を示す印刷物(レシート)を印刷することができる。なお、本実施形態において、レシートプリンター2に受け渡される印刷情報には、印刷物に印刷されるべきテキストを示すテキストデータと、各テキストデータの印刷位置や属性を示すコマンドと、が含まれている。
【0016】
本実施形態においてレシートプリンター2は、情報処理装置1に印刷情報を送信可能な送信部を備える。レシートプリンター2は、印刷物の印刷指示が行われると、印刷情報に基づいてレシートプリンター2の印刷ヘッド(印刷部)による印刷を行うとともに、送信部の機能により、情報処理装置1に対して印刷情報を送信する。本実施形態においては、レシートプリンター2と情報処理装置1とが有線又は無線により通信可能であり、レシートプリンター2から情報処理装置1に印刷情報が送信される。なお、他の例としては、レシートプリンター2を制御する制御装置から印刷情報が情報処理装置1に送信されてもよい。この場合、レシートプリンター2を制御する制御装置もレシートプリンター2を構成すると見なすことができる。なお、送信部は、通信インターフェース、通信回路、通信ポート等で構成される。また、送信部による印刷情報の送信は、USBやイーサネット等の有線通信による送信であってもよく、Wi-FiやBluetooth等の無線通信による送信であってもよい(イーサネット、Wi-Fi、Bluetoothは登録商標)。
【0017】
情報処理装置1は、プロセッサー10と、HDD(ハードディスクドライブ)20と、通信部30と、ユーザI/F部40と、を備えている。プロセッサー10は、情報処理装置1の全体を制御する。通信部30は、インターネット等を介して外部の機器と通信を行うための装置であり、レシートプリンター2と通信を行って情報を授受することができる。なお、通信部30は、レシートプリンター2の送信部と同様のハードウェア構成を有してよく、送信部と同様に、有線通信であっても、無線通信であってもよい。ユーザI/F部40は、画像を表示する表示部と、ユーザによる指示入力を受け付けるための入力部を備えている。また、他の例としては、ユーザは、情報処理装置1と通信可能なクライアント端末を用いて、指示入力や表示を行ってもよい。
【0018】
HDD20は、各種情報や各種プログラムを記憶している。HDD20は、例えば、印刷情報20a及びスクリプトテーブル20bを記憶している。印刷情報20aは、レシートプリンター2から通信部30を介して受信した印刷情報であり、例えば、図2に示すようなレシート100を印刷するための情報である。印刷情報20aは、実際に印字されたレシートに対応した情報である。スクリプトテーブル20bは、情報処理装置1において実行される抽出スクリプト群と、抽出スクリプト群を適用する印刷情報の送信元のレシートプリンター2を識別するプリンターIDとを対応付けて記憶している。ここで、抽出スクリプト群は、1つの印刷情報に対して適用される、複数の抽出スクリプトを含んでいる。
【0019】
本実施形態において、抽出スクリプトは、印刷情報に含まれるテキストデータから特定の情報(テキストデータ)を抽出し、テキストデータに含まれる特定の項目名と、項目名に対する情報(項目値)とを対応付けるための処理を記述したプログラムである。項目名としては、例えば、日付や合計金額、購入商品の商品名等が挙げられる。日付の項目名に対しては、日付を示す数値が項目値であり、商品名の項目名に対しては商品名を示す文字列が項目値である。抽出スクリプトは、対応する項目名と項目値との組を複数抽出する処理のプログラムである。抽出スクリプトは、例えば、図2に示すような印刷物としてのレシート100から日付や合計金額、商品名等の項目名と、これらに対応する項目値とを抽出する。抽出スクリプトは、以上のように、項目名と項目値とを抽出する処理を繰り返すことで、項目名と項目値の組を複数抽出し、抽出した各項目名と項目値とを対応付けることで、各項目値に意味を持たせた構造化文書を作成するためのプログラムである。
【0020】
さらに、抽出スクリプトにおいては、抽出において参照される抽出条件が定義されている。抽出条件は、位置及び属性の少なくとも一方に基づいて、テキストデータで示される項目名と、数値やテキストデータ等で示される項目値と、を抽出するための条件である。ここで、属性は、フォントのサイズ、種類などである。属性に基づく抽出条件は、属性として定義されている文字列、フォントのサイズや種類に一致するテキストデータを項目名として検索し、同様に属性に従い項目名を検索するという条件である。また、位置に基づく抽出条件は、例えば、レシートデータの縦方向の所定の位置における左側のテキストデータを項目名、右側の数値等を項目値として抽出するという条件である。抽出条件は、属性と位置の両方に基づいて抽出を行うような条件であってもよい。このように、抽出スクリプトには、抽出条件が含まれる。また、抽出スクリプト群には、各抽出条件からなる抽出条件群が含まれる。
【0021】
なお、抽出スクリプトは、開始コードと終了コードによって区切られたファイルとして定義され、異なるファイルとして記録されるスクリプトは、異なるスクリプトとみなされるものとする。すなわち、抽出スクリプト群には、抽出スクリプトとしてのファイルが複数含まれるものとする。
【0022】
さらに、図1においては、説明の便宜上1台のレシートプリンター2のみを示したが、情報処理装置1は、複数台のレシートプリンター2を管理するものとする。抽出スクリプト群は、レシートプリンター2毎に準備され、情報処理装置1は、各レシートプリンター2から送信される印刷情報に対し、レシートプリンター2に対応付けられた抽出スクリプト群を適用する。他の例としては、抽出スクリプト群は、店舗毎に準備され、情報処理装置1は、各店舗に設置されたレシートプリンター2から送信される印刷情報に対し、レシートプリンター2が設置された店舗に対応付けられた抽出スクリプト群を適用してもよい。このように、同一の抽出スクリプト群が適用される印刷情報の単位は任意に設定可能である。
【0023】
本実施形態においては、これらの複数の抽出スクリプト群が、それぞれの抽出スクリプト群が適用されるレシートプリンター2のプリンターIDに対応付けてスクリプトテーブル20bに記憶されている。なお、予めHDD20に記憶されている抽出スクリプトを、新たに追加される抽出スクリプトと区別すべく、設定済抽出スクリプトと称することとする。また、新たに追加される抽出スクリプトを新規抽出スクリプトと称することとする。設定済抽出スクリプト及び新規抽出スクリプトに含まれる抽出条件はそれぞれ設定済抽出条件及び新規抽出条件と称する。
【0024】
プロセッサー10は、CPU,RAM等を備え、HDD20に記録された種々のプログラムを実行することができる。本実施形態においては、これらのプログラムに情報処理プログラム11が含まれている。情報処理プログラム11は、印刷データに含まれるテキストデータに対して、抽出スクリプト群を適用する処理をプロセッサー10に実行させるプログラムである。
【0025】
印刷情報に対して抽出スクリプト群を適用することで所定の情報を抽出することが必須とされている。すなわち、レシートから抽出すべき必須の情報が予め定められており、抽出スクリプト群を適用させることにより、この必須の情報をすべて抽出できることが要求される。レシートにおいては、「レシートID」、「商品」、「合計金額」、及び「印字時刻」が必須の情報として予め定められている。ここで、「レシートID」は、レシートの識別情報である。「商品」は、購入された商品名である。「合計金額」は、各商品の価格の合計額である。「印字時刻」は、レシートがレシートプリンター2において印字された時刻である。これに対応し、レシートから抽出すべき必須の情報を抽出できるような複数のスクリプトが抽出スクリプト群として設定されている。すなわち、必須の情報は、予め設定されたテキストデータである。情報処理装置1は、レシートプリンター2から印刷情報が送信されると、印刷情報に含まれるテキストデータに対して、送信元のレシートプリンター2のプリンターIDに対応付けてHDD20に記憶されている抽出スクリプト群を適用する。これにより、上記の必須の情報が抽出される。
【0026】
ところで、このような抽出スクリプト群に対し、変更を行いたい場合がある。例えば、レストランのメニューに対するトッピングなど新たな情報を抽出するために抽出スクリプト群に新たな抽出スクリプトを追加したい場合が挙げられる。また例えば、レシートの仕様変更に伴い、抽出スクリプト群に含まれる一または複数の抽出スクリプトを編集したい、削除したいといった場合が挙げられる。
【0027】
本実施形態の情報処理装置1は、このような抽出スクリプト群の変更を行い、さらに変更後の抽出スクリプト群をテスト用に準備された印刷情報(テスト用印刷情報)に適用することで抽出のテストを行う。このような処理を実行するため、情報処理プログラム11は、取得部11a、抽出部11b、コピー部11c、作成部11d、編集部11e、削除部11f、選択部11g、テスト部11h及び通知部11iを備えている。すなわち、情報処理プログラム11が実行されると、プロセッサー10は、取得部11a、抽出部11b、コピー部11c、作成部11d、編集部11e、削除部11f、選択部11g、テスト部11h及び通知部11iとして機能する。なお、このうち、取得部11a及び抽出部11bは、抽出スプリクト群を印刷情報に適用し所定の情報を抽出するための機能部である。コピー部11c、作成部11d、編集部11e、削除部11f、選択部11g、テスト部11h及び通知部11iは、抽出スプリクト群を変更し、変更後の抽出スプリクト群が適切に所定の情報を抽出するか否かを判定するための機能部である。
【0028】
プロセッサー10は、取得部11aにより、レシートプリンター2から印刷情報を取得する機能を実行する。すなわち、レシートプリンター2から印刷情報が送信されると、プロセッサー10は、取得部11aの機能により、通信部30を介してレシートプリンター2から印刷情報を取得する。プロセッサー10は、印刷情報を取得すると、これを印刷情報20aとしてHDD20に格納する。
【0029】
プロセッサー10は、抽出部11bにより、印刷情報に抽出スクリプト群を適用することで、印刷情報から所定の情報を抽出する機能を実行する。プロセッサー10は、抽出部11bの機能により以下の処理を行う。すなわち、プロセッサー10は、取得部11aの機能によりレシートプリンター2から印刷情報を取得すると、抽出部11bの機能により印刷情報の送信元のプリンターIDに対応付けられた抽出スクリプト群をスクリプトテーブル20bから取得する。そして、プロセッサー10は、取得した抽出スクリプト群を印刷情報に適用する。これにより、必須の情報である「レシートID」、「商品」、「合計金額」、及び「印字時刻」の項目名と項目値の組を含んだ、所定の情報が抽出される。抽出された情報は、ユーザI/F部40の表示部に表示される。
【0030】
なお、抽出スクリプト群には、例えば110個というように多数の抽出スクリプトが含まれている。プロセッサー10は、抽出スクリプト群の適用において、1番目から順に抽出スクリプトを適用していく。そして、プロセッサー10は、同じ属性に対して複数の抽出スクリプトが適用される場合には、後から追加された抽出スクリプト(番号の大きい抽出スクリプト)による抽出結果により、前に適用された抽出スクリプトによる抽出結果を上書きする。これにより、新たに追加された抽出スクリプトを優先的に適用することができる。
【0031】
プロセッサー10は、コピー部11cにより、スクリプトテーブル20bに記憶されている抽出スクリプト群のコピーを作成し、コピーをROMに記録する機能を実行する。プロセッサー10は、コピー部11cの機能により以下の処理を行う。すなわち、プロセッサー10は、ユーザI/F部40において、ユーザ操作に応じて、プリンターIDが指定される等により、スクリプトテーブル20bに記憶されている抽出スクリプト群が指定されると、指定された抽出スクリプト群のコピーを作成する。抽出スクリプト群のコピーは、抽出スクリプトの変更において、追加、編集及び削除といった変更の対象として利用される。このように、HDD20に記憶されている抽出スクリプト群が直接変更されることがない。したがって、プロセッサー10が抽出部11bの機能により、変更中、変更後の抽出スクリプト群が、レシートプリンター2から送信された印刷情報に対して適用されることがない。
【0032】
プロセッサー10は、作成部11dにより、変更対象の抽出スクリプト群に追加する新規抽出スクリプトを作成する機能を実行する。プロセッサー10は、作成部11dの機能により、例えば、110個の抽出スクリプトを含んだ抽出スクリプト群に対し、新規抽出条件を含んだ、111番目の抽出スクリプト(新規抽出スクリプト)を作成する。新規抽出スクリプトが作成される場合としては、レストランのメニューに対するトッピングなど新たな情報を抽出する場合や、キャンペーン期間中のレシートなど通常と異なるレシートに対して適用する抽出スクリプト群が必要となる場合などが挙げられる。
【0033】
プロセッサー10は、編集部11eにより、変更対象の抽出スクリプト群に含まれる1又は2以上の設定済抽出スクリプトを編集する機能を実行する。レシートの仕様が変更され、合計金額の印字位置が変更になったような場合や、項目名が英語の「TOTAL」から日本語の「合計金額」に変更になった場合には、抽出スクリプト群に含まれる複数の設定済抽出スクリプトのうち、合計金額を抽出する設定済抽出スクリプトを編集することで、仕様変更後の印刷情報から合計金額を抽出するための抽出スクリプトとすることができる。
【0034】
プロセッサー10は、削除部11fにより、変更対象の抽出スクリプト群に含まれる1又は2以上の設定済抽出スクリプトを削除する機能を実行する。所定のテキストデータの抽出が不要になった場合に、不要となったテキストデータに対応する設定済抽出スクリプトを削除することで、所定のテキストデータの抽出を行わないようにすることができる。また、上述のように、合計金額の印字位置が変更になった場合に、編集を行うのに替えて、変更前の印字位置に対応した合計金額を抽出するための設定済抽出スクリプトを削除した上で、変更後の印字位置に対応した合計金額を抽出するための抽出スクリプトを新規抽出スクリプトとして作成することで、合計金額の印字位置の変更に対応することも可能である。上述のように、抽出スクリプト群には多数の抽出スクリプトが含まれ、その中には、不要な抽出スクリプトも含まれる。これに対し、本実施形態に係るプロセッサー10は、削除部11fの機能により、抽出スクリプトを削除することができるため、不要な抽出スクリプトの適用を行わないようにすることができる。これにより、演算負荷を軽減することができる。
【0035】
プロセッサー10は、選択部11gにより、変更後の抽出スクリプト群を適用する印刷情報をテスト用印刷情報として選択する機能を実行する。プロセッサー10は、選択部11gの機能により、以下の処理を行う。すなわち、プロセッサー10は、ユーザI/F部40において、ユーザ操作に応じて、HDD20に記憶されている印刷情報の中からテスト用印刷情報を選択する。
【0036】
図3は、テスト用印刷情報を選択する際にユーザI/F部40に表示される選択画面の一例を示す図である。ユーザは、選択画面200の検索条件入力欄210と、キーワード入力欄220において、テスト用印刷情報の検索条件を入力することができる。検索条件としては、キーワードの他に、レシートの日時の範囲を指定することができる。また、構造化された文書か否かを指定することができる。また、検索結果の表示順を日付の早い順又は遅い順にソートできる。
【0037】
例えば、ユーザ操作により「YourCasher:」のテキストデータを指定することができる。さらに、フィルタ条件ボタン(Filter)230が押下されると、指定したテキストを含んだ印刷情報の検索と、指定したテキストを含まない印刷条件の検索との選択欄240が表示される。ここで、いずれの検索条件とするかを選択することができる。「YourCasher:」を含む印刷条件が指定された場合には、プロセッサー10は、選択部11gの機能により、印刷情報20aに記憶されている印刷情報の中から、「YourCasher:」を含む印刷情報を検索する。これにより、図3に示すように、「YourCasher:」を含むとして検出された印刷情報261~263が、検索結果として表示される。プロセッサー10は、キーワードを含んだ印刷情報とキーワードを除外した印刷情報の複合的な検索も行うことができる。ユーザは、表示された印刷情報の中から、テスト用印刷情報を選択することができる。
【0038】
プロセッサー10は、テスト部11hにより、変更後の抽出スクリプト群をテスト用印刷情報に適用し、所定のテキストデータの抽出を行う機能を実行する。プロセッサー10は、テスト部11hの機能により、以下の処理を行う。すなわち、プロセッサー10は、ユーザI/F部40を介して、抽出スクリプト群を用いたテストが指示された場合には、変更後の抽出スクリプト群に含まれるすべての抽出スクリプトをテスト用印刷情報に対して適用し、所定のテキストデータの抽出を行う。より具体的には、プロセッサー10は、変更後の抽出スクリプト群に含まれる抽出スクリプトを順に適用する。そして、プロセッサー10は、同一の属性に対応した抽出スクリプトが適用された場合には、新しい抽出スクリプトの適用結果で古い抽出スクリプトの適用結果を上書きする。
【0039】
プロセッサー10はまた、ユーザI/F部40を介して、抽出スクリプト群に含まれる1つの抽出スクリプトを用いたテストが指示された場合には、指示に係る1つの抽出スクリプトをテスト用印刷情報に適用する。このように、プロセッサー10は、ユーザからの指示に従い、抽出スクリプト群のすべての抽出スクリプト及び一の抽出スクリプトのみ、のいずれについてもテストを行うことができる。したがって、抽出スクリプト群を適用したテストにおいては、ユーザは、必須の情報が抽出できているか否かを確認することができる。一方で、一の抽出スクリプトのみを適用したテストにおいては、ユーザは、適用された抽出スクリプトにおいて想定されるテキストデータが抽出できているか否かを確認することができる。
【0040】
図4図6は、抽出スクリプトの編集、追加又は削除を行う際にユーザI/F部40に表示される画面例を示す図である。図4は、抽出スクリプト表示画面300を示す図である。抽出スクリプト表示画面300には、一覧表示領域310と、抽出スクリプト表示領域320が含まれている。一覧表示領域310には、抽出スクリプト群に含まれる抽出スクリプトが一覧表示される。一覧表示領域310においてユーザ操作に応じて一の抽出スクリプトが選択されると、選択された抽出スクリプトが抽出スクリプト表示領域320に表示される。
【0041】
抽出スクリプト表示画面300にはまた、追加ボタン(Add)330、編集ボタン(Edit)340及び削除ボタン(Delete)350が表示されている。ユーザにより追加ボタン330が選択されると、表示は追加画面に遷移する。また、編集ボタン340が選択されると、表示は編集画面へ遷移し、削除ボタン350が選択されると、表示は削除画面へ遷移する。
【0042】
図5は、追加画面の一例を示す図である。追加画面400には、レシート表示領域410と、抽出スクリプト表示領域420が含まれる。レシート表示領域410には、追加される抽出スクリプトが適用されるレシートが表示される。抽出スクリプト表示領域420には、追加される新規抽出スクリプトが表示される。抽出スクリプト表示領域420内でのユーザによるテキスト入力によって新規抽出スクリプトが作成されると、プロセッサー10は、作成部11dの機能により、抽出スクリプト表示領域420において入力された内容に応じて、新規抽出スクリプトを作成する。
【0043】
さらに、テストボタン(Test)430が押下されると、1つの抽出スクリプトのみを適用したテストを行うか、すべての抽出スクリプトを適用したテストを行うかの選択欄440が表示される。ここで、いずれかのテストが選択されると、プロセッサー10のテスト部11hの機能により、1つの抽出スクリプトを適用したテスト又は抽出スクリプト群を適用したテストが実行される。保存ボタン(Save)460が選択されると、作成した抽出スクリプトが、スクリプトテーブル20bに追加される。なお、キャンセルボタン(Clear)450が選択されると、新たに作成された抽出スクリプトが削除される。編集画面は追加画面400とほぼ同様であり、レシート表示領域410には、編集される抽出スクリプトが適用されるレシートが表示され、抽出スクリプト表示領域420には、編集対象の抽出スクリプトが表示される。
【0044】
図6は、削除画面の一例を示す図である。削除画面500には、レシート表示領域510と、抽出スクリプト表示領域520が含まれる。レシート表示領域510には、削除される抽出スクリプトが適用されるレシートが表示される。抽出スクリプト表示領域520には、ユーザ操作に応じて、削除対象の抽出スクリプトが選択されると、削除される抽出スクリプトが表示される。さらに、テストボタン(Test)530が押下されると、すべての抽出スクリプトを適用したテストを行う旨のアイコン540が表示され、テストが実行される。削除ボタン(Delete)550が選択されると、表示中の抽出スクリプトが、スクリプトテーブル20bから削除される。
【0045】
プロセッサー10は、通知部11iにより、抽出スクリプト群の適用により、所定のテキストデータとして、必須の情報が抽出できた場合に、完了を通知する機能を実行する。プロセッサー10は、通知部11iの機能により、以下の処理を行う。すなわち、プロセッサー10は、所定のテキストデータとして、前述の必須の情報である4つの情報、すなわち「レシートID」、「商品」、「合計金額」、及び「印字時刻」の項目名と項目値の組を抽出できたか否かを確認する。そして、プロセッサー10は、これら4つの必須の情報を抽出できた場合に、完了を通知する情報をユーザI/F部40の表示部に表示することで、ユーザに完了を通知する。このように、プロセッサー10が必須の情報を抽出できていることを自動で確認し、抽出できていることが確認できた場合に完了を通知する。したがって、ユーザは、完了通知の有無により、変更後の抽出スクリプト群により、利用者が意図した結果、すなわち意図したテキストデータの抽出ができているか否かを確認することができる。すなわち、必須の情報が抽出できていることの確認を効率的に行うことができる。
【0046】
なお、プロセッサー10は、変更後の抽出スクリプト群において必須の情報が抽出でき、ユーザ操作に応じて変更反映指示を受け付けた場合には、スクリプトテーブル20bに格納されている、コピー元の抽出スクリプト群を、変更後の抽出スクリプト群に置き換える。
【0047】
以上のように、本実施形態の情報処理装置1のプロセッサー10は、すでにHDD20に設定されている抽出スクリプト群に対し、新規抽出条件を含んだ新規抽出スクリプトを生成する。そして、プロセッサー10は、新規抽出スクリプトを含んだ、抽出スクリプト群を、テスト用印刷情報に適用しテキストデータを抽出する。抽出スクリプト群に、新規抽出スクリプトが追加された抽出スクリプト群を適用することで、印刷情報から必須の情報を抽出できない可能性がある。これに対し、プロセッサー10は、新規抽出スクリプトが生成された後で、新規抽出スクリプトを含んだ抽出スクリプト群をテスト用印刷情報に適用することにより、必須の情報を抽出できているか否かを自動的にテストすることができる。すなわち、新たな抽出条件を含んだ抽出条件群が適切か否かを検証することができる。さらに、テストにより予め設定された必須の情報が抽出できた場合に、完了を通知することができる。すなわち、ユーザは、完了通知の有無により必須の情報が抽出できたか否かを確認することができる。同様に、抽出スクリプト群に含まれる少なくとも1つの設定済抽出スクリプトを追加又は削除した場合においても、プロセッサー10は、追加、削除後の抽出スクリプト群をテスト用印刷情報に適用することにより、必須の情報を抽出できているか否かを自動的にテストすることができる。
【0048】
また、プロセッサー10は、実際に印字されたレシートに対応した印刷情報をテスト用印刷情報として用いることとした。これにより、抽出スクリプト群が適用される本番環境を想定したテストを行うことができる。また、プロセッサー10は、変更後の抽出スクリプト群を適用する印刷情報を、ユーザ操作に応じて、キーワードを用いて適切に選択することができる。これにより、適切なテスト結果を得ることができる。
【0049】
(2)情報処理:
次に、プロセッサー10が実行する情報処理を説明する。図7は、情報処理を示すフローチャートである。プロセッサー10は、まず選択部11gの機能により、ユーザI/F部40において行われたユーザ操作に応じて、キーワードを用いて、HDD20に記憶されている印刷情報の中から、テスト用印刷情報として用いる印刷情報を選択する(ステップS100)。次に、プロセッサー10は、コピー部11cの機能により、ユーザI/F部40において行われたユーザ操作に応じて指定された抽出スクリプト群又はプリンターIDが指定されると、指定に従い、抽出スクリプト群を特定し、特定した抽出スクリプト群をコピーし、ROMに記録する(ステップS105)。
【0050】
次に、プロセッサー10は、作成部11d、編集部11e又は削除部11fの機能により、抽出スクリプト群を変更する(ステップS110)。具体的には、プロセッサー10は、ユーザ操作により、作成が指示された場合には、作成部11dの機能により、新規抽出スクリプトを作成する。すなわち、プロセッサー10は、ユーザ操作に応じたテキストエディタを開き、スクリプトを構成する命令文などを示すテキストデータの入力を受け付ける。そして、プロセッサー10は、ユーザ操作に応じて保存指示を受け付けると、入力内容を1つのファイル(新規抽出スクリプト)として保存する。また、プロセッサー10は、ユーザ操作により、編集が指示された場合には、編集部11eの機能により、指示に係る1又は2以上の設定済抽出スクリプトを編集する。すなわち、プロセッサー10は、ユーザ操作に応じて、編集対象として指定された設定済抽出スクリプトのエディタを開き、命令文の書き換え等の指示の入力を受け付ける。そして、プロセッサー10は、ユーザ操作に応じて反映指示を受け付けると、編集内容を反映したファイル(抽出済抽出スクリプト)を保存する。
【0051】
プロセッサー10はまた、ユーザ操作により、削除が指示された場合には、削除部11fの機能により、指示に係る1又は2以上の設定済抽出スクリプトを削除する。なお、編集及び削除においては、編集及び削除の対象となる設定済抽出スクリプトがユーザ操作に応じて指示されるものとする。
【0052】
次に、プロセッサー10は、変更後の抽出スクリプト群を、テスト用印刷情報に対して適用することで、テキストデータを抽出するテストを行う(ステップS115)。次に、プロセッサー10は、通知部11iの機能により、テストにおいて、4つの必須の情報をすべて抽出できたか否かを確認する(ステップS120)。4つの必須の情報すべてを抽出できた場合には(ステップS120でY)、プロセッサー10は、通知部11i機能により、完了通知を行う(ステップS125)。一方で、4つの必須条件の少なくとも1つを抽出できなかった場合には(ステップS120でN)、プロセッサー10は、通知部11iの機能により、エラー通知を行う(ステップS130)。以上で、情報処理が完了する。
【0053】
(3) 他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、本発明の一実施形態にかかる情報処理装置は、種々の態様で提供されてよく、クラウド型のサーバーなど、複数の装置によって提供されてもよい。さらに、以上の実施形態のように印刷情報に含まれるテキストデータに基づいて、印刷情報で印刷される印刷物の種類を判定する手法は、プログラムの発明、方法の発明としても実現可能である。
【0054】
本実施形態においては、抽出条件を含んだ抽出スクリプトが抽出処理を実現する例を説明したが、抽出処理を実現できればよく、抽出条件に従った抽出処理を実現可能なプログラムにより抽出処理が実現されてもよい。
【0055】
抽出条件は、抽出対象となるテキストデータの位置及び属性の少なくとも一方に基づいてテキストデータを抽出するものであればよく、抽出するための条件は実施形態に限定されるものではない。例えば、レシートにおける印字位置が縦方向に複数のブロックに分割され、ブロックの位置を特定することで、抽出対象を特定するものであってもよい。
【0056】
本実施形態においては、テスト用印刷情報は、レシートプリンター2から送信された印刷情報、すなわち実際に印字されたレシートに対応した印刷情報を、テスト用印刷情報として用いることとした。ただし、テスト対象の抽出スクリプト群に適した印刷情報であればよく、レシートプリンター2から送信された印刷情報に限定されるものではない。他の例としては、管理者等が印刷情報のサンプルを作成し、これをテスト用印刷情報として用いてもよい。これにより、印字されたレシートに対応した印刷情報がHDD20に蓄積されていないタイミングにおいても、テストを行うことができる。
【0057】
本実施形態においては、プロセッサー10がテストにおいて抽出すべきテキストデータは、4つの必須の情報としたが、抽出すべきテキストデータの数及び内容は、実施形態に限定されるものではない。他の例としては、4つ未満、又は5つ以上のテキストデータを必須の情報としてもよい。
【0058】
完了通知及びエラー通知の出力先は、ユーザI/F部40に限定されるものではない。他の例としては、プロセッサー10は、通信部30を介して、レシートプリンター2や、管理者が利用する携帯端末装置(不図示)など、他の装置に完了通知及びエラー通知を送信してもよい。
【0059】
さらに、本発明は、コンピューターが実行するプログラムや方法としても適用可能である。また、以上のようなシステム、プログラム、方法は、単独の装置として実現される場合もあれば、複数の装置が備える部品を利用して実現される場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのプログラムの記録媒体は、磁気記録媒体であってもよいし半導体メモリーであってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【0060】
1…情報処理装置、10…プロセッサー、11…情報処理プログラム、11a…取得部、11b…抽出部、11c…コピー部、11d…作成部、11e…編集部、11f…削除部、11g…選択部、11h…テスト部、11i…通知部
図1
図2
図3
図4
図5
図6
図7