JP6992733B2 - 情報処理装置、および情報処理方法 - Google Patents

情報処理装置、および情報処理方法 Download PDF

Info

Publication number
JP6992733B2
JP6992733B2 JP2018218996A JP2018218996A JP6992733B2 JP 6992733 B2 JP6992733 B2 JP 6992733B2 JP 2018218996 A JP2018218996 A JP 2018218996A JP 2018218996 A JP2018218996 A JP 2018218996A JP 6992733 B2 JP6992733 B2 JP 6992733B2
Authority
JP
Japan
Prior art keywords
printed matter
type
script
information processing
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018218996A
Other languages
English (en)
Other versions
JP2020086814A (ja
JP2020086814A5 (ja
Inventor
英久 大宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2018218996A priority Critical patent/JP6992733B2/ja
Priority to CN201911134738.6A priority patent/CN111210218A/zh
Priority to US16/688,506 priority patent/US10922931B2/en
Publication of JP2020086814A publication Critical patent/JP2020086814A/ja
Publication of JP2020086814A5 publication Critical patent/JP2020086814A5/ja
Application granted granted Critical
Publication of JP6992733B2 publication Critical patent/JP6992733B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G5/00Receipt-giving machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1265Printing by reference, e.g. retrieving document/image data for a job from a source mentioned in the job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/209Specified transaction journal output feature, e.g. printed receipt or voice output
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0018Constructional details, e.g. of drawer, printing means, input means
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/12Cash registers electronically operated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置、レシートプリンターおよび情報処理方法に関する。
従来、POS端末等で利用されるレシートプリンターで印刷を行わせるための印刷データを解析する技術が知られている。例えば、特許文献1においては、印刷データを制御サーバーに送信すると、制御サーバーがレイアウトに対応する方法で印刷データを解析する技術が開示されている。
特開2015-158775号公報
印刷データによって印刷される印刷物のレイアウトが不明である状態では、レイアウトに対応した解析の方法が不明であるため、想定される全ての方法で解析を行い、最も適切な結果を解析結果と見なす手法が採用され得る。このように全ての方法で解析を行う構成では、解析に時間がかかってしまう。
上記目的を達成するための情報処理装置は、印刷データに基づいて印刷物を印刷するレシートプリンターから、印刷データを取得する取得部と、印刷データに含まれるテキストデータに基づいて、印刷物の種類を判定する判定部と、複数のスクリプトから、種類に対応したスクリプトを選択し、選択したスクリプトをテキストデータに対して適用する適用部と、を備える。すなわち、情報処理装置においては、印刷データに含まれるテキストデータに基づいて印刷物の種類に対応したスクリプトを選択する。この結果、全ての種類のスクリプトを適用しなくても、適切なスクリプトをテキストデータに対して適用できる可能性を高めることができる。
また、判定部は、テキストデータと、印刷物の種類とを対応づけた教師データに基づいて機械学習された学習モデルにより、種類の判定を行う構成であってもよい。この構成によれば、人間による判断に頼らずに規定されたテキストデータと印刷物の種類との対応関係に基づいて印刷物の種類を判断することができる。
さらに、判定部は、印刷物が複数の種類のそれぞれである可能性を取得し、適用部は、可能性が高い種類であるほど順位が高くなるように、印刷物の種類に対応したスクリプトを選択する優先順位を設定する構成であっても良い。この構成によれば、適切なスクリプトをテキストデータに対して適用することができる可能性を高めることができる。
さらに、適用部は、選択したスクリプトをテキストデータに対して適用して結果が得られるまで、設定した優先順位に従って、スクリプトを選択して適用する構成であっても良い。この構成によれば、早期に適切なスクリプトをテキストデータに対して適用することができる可能性を高めることができる。
さらに、印刷物の種類には、店舗での購入記録を示す印刷物と、店舗の売上集計を示す印刷物と、が含まれる構成であっても良い。この構成によれば、店舗での購入記録を示す印刷物と、店舗の売上集計を示す印刷物とが印刷され得るレシートプリンターで利用される印刷データに対して適切なスクリプトを適用することができる可能性を高めることができる。
さらに、前記スクリプトは、テキストデータに含まれる項目名と、項目名に対応したパラメーターとを対応づける処理を行うためのプログラムであっても良い。この構成によれば、適切なスクリプトをテキストデータに対して適用することで、適切な解析結果を得ることができる。また、テキストデータが示す内容を容易に利用可能な状態にすることができる。
情報処理装置のブロック図である。 ニューラルネットワークの構造を示す図である。 機械学習処理を示すフローチャートである。 情報処理を示すフローチャートである。 購入記録を示す印刷物と構造化データの例を示す図である。 RNNを含むモデルの構造を示す図である。
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)情報処理装置の構成:
(2)機械学習処理:
(3)情報処理:
(4)他の実施形態:
(1)情報処理装置の構成:
図1は、本発明の実施形態にかかる情報処理装置を示すブロック図である。本実施形態にかかる情報処理装置1は、レシートプリンター2と通信可能なサーバーであり、インターネット等のネットワークを介してレシートプリンター2と通信を行うことができる。
レシートプリンター2は店舗のレジスターに備えられるプリンターである。すなわち、、レシートプリンター2は、店舗において商品を購入した各顧客に対して購入記録を示す印刷物(レシート)を渡すために使用され、会計後にオペレーターの操作によってレシートが印刷される。むろん、レシートプリンター2は他の機器と協働する構成であってもよく、例えば、POSシステム(point of sales system)の一部を構成していても良い。
レシートプリンター2は、図示しないレジスター等の制御装置からの指令によって各種の印刷物を印刷することができる。本実施形態において図示しない制御装置は、店舗での購入記録を示す印刷物と、店舗の売上集計を示す印刷物と、店舗で働く者の勤怠情報を示す印刷物とのいずれかを指定して印刷することができる。
すなわち、制御装置は、図示しないプロセッサーの機能により、顧客が購入した商品の価格等を示す購入記録を示す印刷データを生成することができる。制御装置が、レシートプリンター2に対して制御信号を出力して当該印刷データに基づく印刷を指示すると、レシートプリンター2は購入記録を示す印刷物を印刷することができる。
また、制御装置は、任意の期間毎の購入記録を集計して売上集計を取得することができ、当該売上集計を示す印刷データを生成することができる。制御装置が、レシートプリンター2に対して制御信号を出力して当該印刷データに基づく印刷を指示すると、レシートプリンター2は店舗の売上集計を示す印刷物を印刷することができる。さらに、制御装置は、店舗で働く者の勤務開始および終了に関する情報を記録、管理しており、任意の期間毎の情報を集計して勤務情報を取得することができる。制御装置は、当該勤務情報を示す印刷データを生成することができ、レシートプリンター2に対して制御信号を出力して当該印刷データに基づく印刷を指示すると、レシートプリンター2は店舗で働く者の勤怠情報を示す印刷物を印刷することができる。
このように、レシートプリンター2は、購入記録を示す印刷物を印刷することができるが、他の印刷物である売上集計を示す印刷物、勤怠情報を示す印刷物を印刷することもできる。なお、本実施形態において、レシートプリンター2に受け渡される印刷データには、印刷物に印刷されるべきテキストを示すテキストデータが含まれている。
本実施形態においてレシートプリンター2は、情報処理装置1に印刷データを送信可能な送信部を備える。レシートプリンター2は、印刷物の印刷指示が行われると、印刷データに基づいてレシートプリンター2の印刷ヘッド(印刷部)による印刷を行うとともに、送信部の機能により、情報処理装置1に対して印刷データを送信する。なお、本実施形態においては、レシートプリンター2と情報処理装置1とが接続され、レシートプリンター2から情報処理装置1に印刷データが送信されるが、レシートプリンター2を制御する制御装置から印刷データが情報処理装置1に送信されてもよい。この場合、レシートプリンター2を制御する制御装置もレシートプリンター2を構成すると見なすことができる。なお、送信部は、通信インターフェース、通信回路、通信ポート等で構成される。また、送信部による印刷データの送信は、USBやイーサネット等の有線通信による送信であってもよく、Wi-FiやBluetooth等の無線通信による送信であってもよい(イーサネット、Wi-Fi、Bluetoothは登録商標)。
情報処理装置1は、プロセッサー10(制御部)と、HDD(ハードディスクドライブ、記憶部)20と、通信部30とを備えている。通信部30は、インターネット等を介して外部の機器と通信を行うための装置であり、レシートプリンター2と通信を行って情報を授受することができる。なお、通信部30は、レシートプリンター2の送信部と同様のハードウェア構成を有してよく、送信部と同様に、有線通信であっても、無線通信であってもよい。
プロセッサー10は、CPU,RAM等を備え、HDD20に記録された種々のプログラムを実行することができる。本実施形態においては、これらのプログラムに情報処理プログラム11が含まれている。情報処理プログラム11は、印刷データに含まれるテキストデータ対してスクリプトを適用する処理をプロセッサー10に実行させるプログラムである。
本実施形態において、スクリプトは、テキストデータに含まれる特定の項目と、項目の内容を示すパラメーターとを対応づけるための処理を記述したプログラムである。例えば、図5の左側には購入記録を示す印刷物Prが示されている。当該印刷物には、印刷物が発行された日時(02/17/2017)やレジスターのオペレーター名(Name A)、商品名毎の価格($4.99)等が記載される。これらの日時やオペレーター名、価格は可変の情報であり本実施形態においてはこれらをパラメーターと呼ぶ。
これらのパラメーターは、その情報自体(価格の値等)のみでは意味をなさないため、これらのパラメーターが何に対するパラメーターであるかを示す情報が項目である。例えば、4.99ドルなどという値自体では何の価格であるのか不明であるため、商品名が対応づけられることで特定の商品の価格が4.99ドルであるという意味を持つ。また、例えば、2017年2月17日などという値自体では何の日時であるのか不明であるため、印刷物が発行された日時であることが対応づけられることで、発行日時が2017年2月17日であるという意味を持つ。
このように、本実施形態において印刷物に印刷するテキストは、パラメーター(数値または人名等の文字列)と、パラメーターが何のパラメーターであるのかを示す項目とによって構成されている。そこで、スクリプトは、テキストデータを解析し、項目とパラメーターとを抽出して両者を対応づける処理を行うように定義されている。本実施形態においては、当該処理が行われると項目名とパラメーターとを対応づけたテキストデータが生成される。ここでは、生成された当該テキストデータを構造化データと呼ぶ。なお、構造化データにおいては、項目が階層構造を有している場合がある。すなわち、ある項目がさらに下位のサブ項目に細分化されている場合がある。むろん、階層の数は3以上であってもよい。図5に示す構造化データにおいては、括弧の種類を区別することによってこのような階層構造を示している。
図5の右側には印刷物Prから生成された構造化データStの例を示している。図5の右側の構造化データStにおいては、項目名とパラメーターとが":"によって対応づけられている。例えば、印刷物が発行された日時を示すパラメーターである"02/17/2017"が"printed_at"という項目名に対応づけられている。また、レジスターを操作したオペレーター名を示すパラメーターである"Name A"が"staff"という項目のサブ項目の項目名である"id"に対応づけられている。なお、印刷物において、項目名は表記されていなくてもよい。例えば、図5の左側に示す印刷物Prにおいて、印刷物が発行された日時は02/17/2017という数値で表記されているが、発行日時であることを示す文言は表記されていない。
本実施形態においては、上述のように3種類の印刷物(購入記録を示す印刷物、売上集計を示す印刷物、勤怠情報を示す印刷物)を印刷することができ、それぞれにおける項目やパラメーターは異なり得る。そこで、本実施形態においては、印刷物の種類に対応したスクリプトが予め用意され、スクリプトデータ20dとしてHDD20に記録される。
情報処理装置1は、レシートプリンター2から印刷データが送信されると、当該印刷データに含まれるテキストデータに対してスクリプトを適用するが、印刷データによって印刷される印刷物の種類が不明であると、適用するスクリプトを決定することができない。印刷物の種類が不明のままスクリプトを適用しようとすると、全ての種類のスクリプトをテキストデータに適用し、適正な結果を採用するなどの手順を採用しなくてはならない。しかし、全ての種類のスクリプトをテキストデータに適用すると、処理に時間がかかってしまう。
そこで、本実施形態においては、印刷物の種類を判定した上で適用すべきスクリプトを決定する構成が採用されている。このような処理を実行するため、情報処理プログラム11は、取得部11a、判定部11b、適用部11cを備えている。すなわち、情報処理プログラム11が実行されると、プロセッサー10は、取得部11a、判定部11b、適用部11cとして機能する。
取得部11aにより、プロセッサー10は、印刷データに基づいて印刷物を印刷するレシートプリンターから、印刷データを取得する機能を実行する。すなわち、レシートプリンター2から印刷データが送信されると、プロセッサー10は取得部11aの機能により、通信部30を介して印刷データを取得する。印刷データが取得されると、印刷データ20aとしてHDD20に記録される。
判定部11bにより、プロセッサー10は、印刷データに含まれるテキストデータに基づいて、印刷物の種類を判定する機能を実行する。本実施形態においてプロセッサー10は、テキストデータと、印刷物の種類とを対応づけた教師データに基づいて機械学習された学習モデルにより、印刷物の種類を判定する。
具体的には、本実施形態における機械学習は、ニューラルネットワークによる学習である。図2は、本実施形態において利用されるニューラルネットワークの構造を模式的に示した図である。図2においては、ニューロンを模したノードを丸で示し、ノード間の結合を実線の直線で示している(ただし、図を簡易化するためノードおよび結合は一部のみが示されている)。また、図2においては、同一層に属するノードを縦に並べて示しており、左端の層が入力層Li、右端の層が出力層Loである。
ここでは、2層の関係において入力層Liに近い層を上位層、出力層Loに近い層を下位層と呼ぶ。すなわち、ある層においては、1層上位の層の出力を入力とし、重みの乗算とバイアスの和算を行い、活性化関数を介して出力を行う構造となっている。例えば、図2に示す層LPのノードの数がP個であり、層LPの各ノードに対する入力データがx1,,,,xMであり、バイアスがb1,,,,bPであり、層LPのk番目のノードに対する重みがwk1,,,,wkM、活性化関数がh(u)である場合、当該層LPの各ノードにおける中間出力u1,,,,uPは以下の式1で表現される。
Figure 0006992733000001
従って、式1を活性化関数h(uk)に代入すると層LPの各ノードにおける出力y1,,,,yPが得られる。
モデルは、このように一般化されるノードが複数層設けられることによって構成される。従って、本実施形態において、モデルは、少なくとも各層における重みとバイアスと活性化関数を示すデータによって構成される。なお、活性化関数は、種々の関数、例えば、シグモイド関数や、双曲線関数(tanh)、ReLU(Rectified Linear Unit)や他の関数を使用可能であり、非線形関数であることが好ましい。むろん、機械学習を行う際に必要な他の条件、例えば、最適化アリゴリズムの種類や学習率等のパラメーターがモデルに含まれていても良い。また、層の数やノードの数、相関の結合関係は種々の態様とすることができる。
本実施形態においては、印刷データ20aに含まれるテキストデータを所定の入力値に変換して入力層Liに入力し、出力層Loから印刷物の種類を示す出力値を出力するモデルが構築される。本実施形態においては、テキストデータにキーワードが含まれているか否かを示すフラグを入力層Liへの入力値とし、印刷物が特定の種類である可能性を示す値を出力層Loの出力値とするモデルが構築される。例えば、図2においては、テキストデータに"cash"というキーワードが存在する場合にノードIi2に数値1が入力され、"cash"というキーワードが存在しない場合にノードIi2に数値0が入力される。また、テキストデータに"grand total"というキーワードが存在する場合にノードIiMに数値1が入力され、"grand total"というキーワードが存在しない場合にノードIiMに数値0が入力される。すなわち、図2に示す入力層Liの各ノードには、各ノードに対応するキーワードが併記されている。
キーワードの有無を判定するための手法は、種々の手法であってよく、本実施形態においては、特定のフォーマットでの表記された数値もキーワードとなり得る。例えば、図2に示す"$0.0"は、ドル通貨を示す記号の右側に、任意桁数の任意の数値、コンマ、任意桁数の任意の数値が並ぶ文字列を示しており、このフォーマットでの数値が存在する場合にキーワードが存在するとされる。
出力層LoのノードTi1~Ti3は、本実施形態において印刷物の種類が3種類であることに応じて設けられた3個のノードであり、ノードTi1,Ti2,Ti3のそれぞれが、購入記録を示す印刷物、売上集計を示す印刷物、勤怠情報を示す印刷物に対応している。すなわち、学習モデルの学習が完了した後においては、テキストデータが購入記録を示す印刷物のデータである場合、ノードTi1の出力値が他のノードの出力値より大きくなる。テキストデータが売上集計を示す印刷物、勤怠情報を示す印刷物それぞれのデータである場合、ノードTi2,Ti3の出力値のそれぞれが他のノードの出力値より大きくなる。なお、本実施形態においては、ノードTi1,Ti2,Ti3の出力値の和が1になるように規格化されている。従って、各ノードの出力の最大値は1である。
以上のモデルによれば、テキストデータに含まれるキーワードの有無を示す入力値をモデルに入力し、各ノードの出力値を計算することで、出力値が大きい順にノードに対応した種類の印刷物である可能性が高いと推定することができる。
学習済のモデルは学習モデル20bとしてHDD20に記録されるが、印刷データに含まれるテキストデータに基づいて印刷物の種類を推定する前に、当該学習モデル20bが学習されている必要がある。当該学習は、教師データ20cに基づいて行われる。すなわち、教師データ20cは、テキストデータと、当該テキストデータによって印刷される印刷物の前記種類とを対応づけたデータであり、学習するに充分な量のデータが予め収集される。
プロセッサー10は、判定部11bの機能により、任意のタイミングで教師データ20cに基づいて学習を実行する。この際、プロセッサー10は、図2に示すモデルによって、教師データ20cによって対応づけられたテキストデータと印刷物の種類との関係が再現されるようにモデルを調整する。すなわち、プロセッサー10は、教師データ20cに含まれる少なくとも一部のテキストデータのそれぞれに基づいて、キーワードの有無を特定し、各テキストデータを入力値に変換する。
さらに、プロセッサー10は、当該入力値をモデルに入力し、得られた出力値が示す印刷物の種類と、教師データ20cが示す印刷物の種類とが一致するように(差分が最小化されるように)モデルを調整する。当該調整によって、予め決められた学習完了判定基準を満たした場合に、得られたモデルが学習モデル20bとしてHDD20に記録される。
プロセッサー10は、学習モデル20bがHDD20に記録された状態で印刷物の種類の判定を行う。すなわち、プロセッサー10は、印刷データ20aを取得すると、判定部11bの機能により印刷データ20aからテキストデータを抽出する。また、プロセッサー10は、当該テキストデータからキーワードを検索し、各キーワードについての有無を特定する。さらに、プロセッサー10は、キーワードの有無をフラグ(1または0)で示す入力値を生成し、学習モデル20bに基づいて入力値に対応する出力値を取得する。そして、プロセッサー10は各ノードの出力値を比較し、出力層の値が大きい順にノードに対応する印刷物の種類である可能性が高いと見なす。
このようにして印刷データで印刷される印刷物の種類が上述の3種類のそれぞれである可能性が順位付けされることで、印刷物の種類が判定される。印刷物の種類が判定されると、適用部11cの機能によりプロセッサー10は、複数のスクリプトから、印刷物の種類に対応したスクリプトを選択し、選択したスクリプトをテキストデータに対して適用する。
本実施形態においては、印刷データで印刷される印刷物の種類である可能性が高い順が特定されているため、プロセッサー10は、可能性が高い種類であるほど順位が高くなるように、各印刷物の種類に対応したスクリプトを選択する優先順位を設定する。そして、プロセッサー10は、選択したスクリプトをテキストデータに対して適用して結果が得られるまで、設定した優先順位に従って、スクリプトを選択して適用する。
すなわち、本実施形態におけるスクリプトは、特定のフォーマットのテキストを検出したり、特定のキーワードと項目名との組み合わせを検出したりして、特定のパラメーターに対してパラメーターに対応する項目を対応づける処理の手順である。プロセッサー10は、スクリプトが適用された場合に得られた結果が既定の判断基準を満たす場合にスクリプトの適用結果が得られたと判定する。既定の判断基準は、種々の手法で決められてよいが、本実施形態においては、スクリプトの適用によって得られた構造化データにおいて、予め必須とされた項目のパラメーターが得られたか否かが判断基準となっている。
すなわち、必須とされた項目のパラメーターが構造化データとして取得された場合に、プロセッサー10は、スクリプトの結果が得られたと判定する。必須とされた項目のパラメーターが構造化データとして取得されなかった場合、プロセッサー10は、スクリプトの結果が得られなかったと判定する。むろん、必須とされる項目は複数個であってもよい。
プロセッサー10は、このようなスクリプトの適用と結果が得られたか否かの判定を、優先順位に従って実施する。すなわち、プロセッサー10は、スクリプトデータ20dを参照し、最も優先順位が高いとされた印刷物の種類に対応するスクリプトを印刷データ20aのテキストデータに適用し、構造化データを取得する。プロセッサー10は、当該構造化データに基づいてスクリプトの結果が得られたか否かを判定し、結果が得られた場合、プロセッサー10は、スクリプトの適用を終了する。
一方、結果が得られなかった場合、プロセッサー10は、次の優先順位のスクリプトを印刷データ20aのテキストデータに適用し、構造化データに基づいて結果が得られたか否か判定する。プロセッサー10は、以後、結果が得られたと判定されるまで、順次、優先順位を1個下げてスクリプトを適用し、結果が得られたか否か判定する処理を繰り返す。
以上のような本実施形態によれば、プロセッサー10は、印刷データ20aに含まれるテキストデータに基づいて印刷物の種類に対応したスクリプトを選択し、適用する。また、本実施形態においては、テキストデータで印刷される印刷物の種類である可能性が高い順にスクリプトを適用していく。この結果、全ての種類のスクリプトを適用しなくても、適切なスクリプトをテキストデータに対して適用できる可能性を高めることができる。
なお、以上の処理によって印刷データ20aから構造化データが得られると、当該データは構造化データ20eとしてHDD20に記録され、構造化データ20eは各種の解析のために利用可能になる。例えば、複数の印刷データ20aの構造化データ20eがISV(independent software vendor)等に提供され、各種の解析やソフトウェアの開発等に利用される。
(2)機械学習処理:
次に、プロセッサー10が実行する機械学習処理を説明する。図3は機械学習処理を示すフローチャートである。機械学習処理は、印刷物の種類を判定する前に予め実行される。機械学習処理が開始されると、プロセッサー10は、判定部11bの機能により、訓練モデルを取得する(ステップS100)。すなわち、予め決められたニューラルネットワークのパラメーター(重みやバイアス等)を訓練モデルとして取得する。
訓練モデルにおいては、テキストデータにおけるキーワードの有無を入力値として、印刷物の種類を示す出力値を出力するが、出力値が示す印刷物の種類は初期において正確ではない。すなわち、訓練モデルにおいては、ノードが構成する層の数やノードの数は決められるが、入出力の関係を規定するパラメーター(上述の重みやバイアス等)は最適化されていない。これらのパラメーターは、機械学習の過程で最適化される(すなわち、訓練される)。本実施形態において訓練モデルは予め決定されているが、利用者がマウス3aやキーボード3bを操作して決定しても良い。
次に、プロセッサー10は、判定部11bの機能により、教師データ20cを取得する(ステップS105)。すなわち、プロセッサー10は、予めHDD20に記録されている教師データ20cを取得する。なお、教師データ20cは、レシートプリンター2の運用過程や、新たなフォーマットの印刷物の使用が開始される前等において適宜追加されてよい。むろん、既存のフォーマットの印刷物の廃止等に応じて廃止される印刷物の教師データ20cが削除されてもよい。
次に、プロセッサー10は、判定部11bの機能により、テストデータを取得する(ステップS110)。本実施形態においては、教師データ20cの一部がテストデータとされる。テストデータは、教師データ20cと区別される。なお、テストデータの情報量と教師データ20cの情報量は、種々の量であって良いが、本実施形態においては、教師データ20cの方がテストデータより多くなるように設定される。
次に、プロセッサー10は、判定部11bの機能により、初期値を決定する(ステップS115)。すなわち、プロセッサー10は、ステップS100で取得した訓練モデルのうち、可変のパラメーターに対して初期値を与える。初期値は、種々の手法で決定されて良い。例えば、ランダム値や0等を初期値とすることができ、重みとバイアスとで異なる思想で初期値が決定されても良い。むろん、学習の過程でパラメーターが最適化されるように初期値が調整されても良い。
次に、プロセッサー10は、判定部11bの機能により、学習を行う(ステップS120)。すなわち、プロセッサー10は、教師データ20cの各テキストデータを抽出し、各テキストデータにおけるキーワードの有無に基づいて各テキストデータを入力値に変換する。そして、プロセッサー10は、ステップS100で取得した訓練モデルに当該入力値を入力し、印刷物の種類毎に、各種類である可能性を示す出力値を計算する。また、プロセッサー10は、出力値と、各テキストデータに対応づけられた印刷物の種類を示すフラグと、の差を示す損失関数によって誤差を特定する。そして、プロセッサー10は、損失関数のパラメーターによる微分に基づいてパラメーターを更新する処理を既定回数繰り返す。
教師データ20cに含まれるサンプルの数をiで表現した場合、プロセッサー10は、i番目のサンプルのテキストデータから特定された入力値を訓練モデルに入力することで、i番目のサンプルの出力値(Ti1~Ti3)を取得する。一方、教師データ20cに対応づけられた印刷物の種類を示す情報は、印刷物の種類に対応した値(ti1~ti3)であり、特定の印刷物の種類に対応した値が1、他の種類に対応した値が0となる。
そこで、訓練モデルの出力値をTiと表記し、教師データ20cが示す印刷物の種類をtiと表記すると、i番目のサンプルについての損失関数はL(Ti,ti)と表記可能である。むろん、損失関数は、種々の関数を採用可能であり、例えば、交差エントロピー誤差などを採用可能である。以上のような損失関数Lを算出する処理は、教師データ20cが示すサンプルの全てまたは一部について実施され、その平均や総和によって1回の学習における損失関数が表現される。例えば、総和によって損失関数が表現される場合、全体の損失関数Eは次の式2で表現される。
Figure 0006992733000002
損失関数Eが得られたら、プロセッサー10は、既定の最適化アルゴリズム、例えば、確率的勾配降下法等によってパラメーターを更新する。
以上のようにして、既定回数のパラメーターの更新が行われると、プロセッサー10は、訓練モデルの汎化が完了したか否かを判定する(ステップS125)。すなわち、プロセッサー10は、ステップS110で取得したテストデータから算出される入力値を訓練モデルに入力して出力値を取得する。そして、プロセッサー10は、最も大きい出力値に対応する印刷物の種類と、テストデータに対応づけられた印刷物の種類とが一致している数を取得し、テストデータのサンプル数で除することで推定精度を取得する。本実施形態において、プロセッサー10は、推定精度が閾値以上である場合に汎化が完了したと判定する。
なお、汎化性能の評価に加え、ハイパーパラメーターの妥当性の検証が行われてもよい。すなわち、重みとバイアス以外の可変量であるハイパーパラメーター、例えば、ノードの数等がチューニングされる構成において、プロセッサー10は、検証データに基づいてハイパーパラメーターの妥当性を検証しても良い。検証データは、例えば、教師データ20cから予め抽出され、教師データ20cやテストデータと区別されることによって用意される。
ステップS125において、訓練モデルの汎化が完了したと判定されない場合、プロセッサー10は、ステップS120を繰り返す。すなわち、さらに重みおよびバイアスを更新する。一方、ステップS125において、訓練モデルの汎化が完了したと判定された場合、プロセッサー10は、学習モデルを記録する(ステップS130)。すなわち、プロセッサー10は、訓練モデルを学習モデル20bとしてHDD20に記録する。以上のようにして得られた学習モデル20bで印刷物の種類を推定する構成によれば、任意の印刷データに含まれるテキストデータに基づいて、印刷データで印刷される印刷物の種類を推定することが可能になる。
(3)情報処理:
次に、プロセッサー10が実行する情報処理を説明する。図4は、情報処理を示すフローチャートである。本実施形態において情報処理は、任意のレシートプリンター2から印刷データが送信された場合に実行される。
情報処理が開始されると、プロセッサー10は、取得部11aの機能により、印刷データを取得する(ステップS200)。すなわち、プロセッサー10は、取得部11aの機能により、通信部30を介してレシートプリンター2と通信を行い、レシートプリンター2が送信した印刷データを受信する。プロセッサー10は、受信した印刷データを印刷データ20aとしてHDD20に記録する。
次に、プロセッサー10は、判定部11bの機能によりキーワード検索を行う(ステップS205)。すなわち、プロセッサー10は、ステップS200で受信された印刷データ20aからテキストデータを抽出し、予め決められたキーワードが存在するか否か判定する。プロセッサー10は、存在したキーワードに1、存在しなかったキーワードに0を対応づける。例えば、図2に示す例であれば、"$0.0"で示されたフォーマットのキーワードが存在する場合にフラグを1、"cash"というキーワードが存在する場合にフラグを1、"hours"というキーワードが存在しない場合にフラグを0に設定するなどの処理を行う。
次に、プロセッサー10は、学習モデルによる推定を行う(ステップS210)。すなわち、プロセッサー10は、学習モデル20bに基づいて、ステップS205で設定されたフラグを入力値としたニューラルネットワークの演算を行う。この結果、印刷物の種類に応じた各ノードについての出力値が得られる。例えば、図2に示す例において、ステップS205で設定されたフラグが入力値とされ、学習モデル20bによる演算が行われると、ノードTi1,Ti2,Ti3のそれぞれについて0以上1以下の出力値が得られる。
次に、プロセッサー10は、優先順位を取得する(ステップS215)。すなわち、プロセッサー10は、各ノードの出力値の大きさが、各ノードに対応する種類の印刷物である可能性を示していると見なす。そして、プロセッサー10は、出力値が大きい順に各ノードに対応する種類を並べ、当該種類に対応したスクリプトを適用する際の優先順位とする。
例えば、図2に示す例においては、ノードTi1,Ti2,Ti3のそれぞれが、購入記録を示す印刷物、売上集計を示す印刷物、勤怠情報を示す印刷物に対応している。この例において、ノードTi1,Ti2,Ti3の出力値が0.1,0.85,0.05である場合、売上集計を示す印刷物に対応したスクリプトの優先順位が最も高く、次いで、購入記録を示す印刷物に対応したスクリプト、次に、勤怠情報を示す印刷物に対応したスクリプトという優先順位になる。
次に、プロセッサー10は、未適用で最も優先順位が高いスクリプトを適用し(ステップS220)、結果が得られたと判定されるまでステップS220を繰り返す(ステップS225)。すなわち、プロセッサー10は、ステップS200で取得された印刷データからテキストデータを抽出し、ステップS215で取得された優先順位が高い順にスクリプトをテキストデータに適用する。スクリプトがテキストデータに対して適用されると、構造化データが得られるため、プロセッサー10は、当該構造化データに基づいて、既定の判断基準を満たすか否かを判定する。そして、プロセッサー10は、既定の判断基準を満たす場合に、結果が得られたと判定する。ステップS225において、結果が得られたと判定された場合、プロセッサー10は、得られた構造化データ20eをHDD20に保存する(ステップS230)。以上の構成によれば、テキストデータで印刷される印刷物の種類である可能性が高い順にスクリプトを適用していく。この結果、全ての種類のスクリプトを適用しなくても、適切なスクリプトをテキストデータに対して適用できる可能性を高めることができる。
(4)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、本発明の一実施形態にかかる情報処理装置は、種々の態様で提供されてよく、クラウド型のサーバーなど、複数の装置によって提供されてもよい。さらに、情報処理装置1によって実行される機能の少なくとも一部がレシートプリンター2で実行されてもよい。例えば、学習モデル20bがレシートプリンター2に保存され、レシートプリンター2において印刷物の種類が判定されてもよい。さらに、以上の実施形態のように印刷データに含まれるテキストデータに基づいて、印刷データで印刷される印刷物の種類を判定する手法は、プログラムの発明、方法の発明としても実現可能である。
さらに、機械学習と、印刷物の種類の判定とが別の装置で実行されてもよい。さらに、上述の実施形態は一例であり、一部の構成が省略されたり、他の構成が追加されたりする実施形態が採用され得る。
取得部は、印刷データに基づいて印刷物を印刷するレシートプリンターから、印刷データを取得することができればよい。すなわち、取得部は、任意の印刷物を印刷させるための印刷データを、任意のタイミングで取得することができればよい。レシートプリンターと情報処理装置との接続態様は種々の態様であってよく、ケーブルによって直接的に接続されていてもよいし、インターネット等を介して接続可能であってもよい。
レシートプリンターは、レシートを印刷することができればよく、むろん、レシート以外の印刷物が印刷可能であって良い。レシートは、店舗での購入記録を示す印刷物であれば良く、購入記録が印刷される限り、印刷内容やレイアウトは限定されない。印刷データは、レシートプリンターに任意の印刷物を印刷させるためのデータであれば良く、任意のフォーマットであって良い。ただし、印刷データにはテキストデータが含まれ、当該テキストデータが示すテキストが印刷用紙に印刷されて印刷物となる。むろん、印刷物にはテキスト以外のオブジェクトが印刷されてよく、各種の画像や罫線等を印刷させるためのデータが印刷データに含まれていてもよい。
なお、テキストデータは、印刷物に印刷される文字列を示していればよいが、むろん、テキストのレイアウトやフォントの種類、大きさ等の情報が含まれていてもよい。印刷物の種類の判定にこれらの情報が利用されても良い。
判定部は、印刷データに含まれるテキストデータに基づいて、印刷物の種類を判定することができればよい。すなわち、テキストデータは、印刷物に印刷されるテキストを示しており、テキストによって印刷物の内容が記述される。従って、テキストを印刷物の種類を判定するための要素として利用することができる。印刷物の種類を判定するための手法は、上述の実施形態のように機械学習による学習済のモデルを利用する構成に限定されない。例えば、テキストデータが示すテキスト内に印刷物の種類に応じた特定のキーワードが含まれている比率等によって印刷物の種類が判定される構成等が採用されてもよい。
印刷物の種類は、印刷物の用途等によって予め分類されていればよく、上述の実施形態のように、店舗での購入記録を示す印刷物、店舗の売上集計を示す印刷物、勤怠情報を示す印刷物以外にも種々の印刷物が挙げられる。例えば、購入された宝くじやチケット等を示す印刷物であってもよいし、公共料金の支払い証明を示す印刷物であってもよく、他にも種々の印刷物であってよい。
適用部は、複数のスクリプトから、印刷物の種類に対応したスクリプトを選択し、選択したスクリプトをテキストデータに対して適用することができればよい。すなわち、印刷物の種類は複数個存在し、それぞれに応じたスクリプトが予め用意される。スクリプトは、印刷物の種類に応じて用意されるため、少なくとも印刷物の種類の数と同一数だけ存在するが、1種類の印刷物に対して複数のスクリプトが予め用意されてもよい。
スクリプトは、テキストデータに基づいて既定の手順で処理を行うためのプログラムであれば良く、言語は限定されない。スクリプトは簡易な処理の手順であることが多いが、むろん、処理の内容は複雑であってもよい。スクリプトを適用する目的は、種々の目的であってよく、スクリプト毎に目的が存在してもよい。目的としては、上述の実施形態のように、項目とパラメーターとを対応づけて抽出し、各種の解析の元データとして提供する目的以外にも、種々の目的が想定される。例えば、購入記録に含まれる商品毎の金額や合計金額等に基づいて家計管理のための情報を収集する目的や、店舗の売上集計に基づいて市場調査のための情報を収集する目的や、勤怠情報に基づいて労務管理のための情報を収集する目的など、各種の目的が想定される。
スクリプトのテキストデータに対する適用は、スクリプトが示す手順に従ってテキストデータを解析する処理を実行することに相当する。ここでは、テキストデータに基づいて既定の処理が実行されればよく、スクリプトはインタープリタ型であってもよいしコンパイル型であってもよい。
教師データは、印刷データに含まれるテキストデータと、当該印刷データによって印刷される印刷物の種類とを対応づけていればよい。教師データは、学習モデルの入力値および出力値のフォーマットと同一のフォーマットで定義されていればよく、上述の実施形態のようなフォーマットに限定されない。例えば、テキストデータが示す文字列が入力値とされてもよいし、テキストデータに含まれ得る文字列を示すone-hotベクトルが定義されて入力値とされてもよいし、テキストデータに含まれる単語や単語の数が入力値とされてもよく、種々の構成を採用可能である。
テキストデータから導出される値が入力値となる場合、当該値の導出は種々の手法で行われてよい。例えば、文字列や単語が検索され、検索結果の有無や検索された数が取得されてもよい。さらに、通貨や時刻が特定のフォーマットで表現されているか否か判定されてよい。例えば、文字列の左側に通貨を示す記号が存在し、その右側に数桁の数値が存在し、その右側にコンマが存在し、さらにその右側に数値が存在するような文字列を検索して価格の有無が特定されてもよい。むろん、このような検索に際しては、正規表現が利用されて良い。
また、出力値は、印刷物の複数の種類について、それぞれの種類である可能性を示していていてもよいし、それぞれの種類ではない可能性を示していてもよい。また、印刷物の種類毎に学習モデルが生成され、印刷物の種類毎に当該種類である可能性を示す値が出力値とされてもよく、他にも種々の態様が想定可能である。むろん、出力値がスクリプトを示していてもよい。
機械学習の手法は、種々の手法であって良い。すなわち、テキストデータ自体やテキストデータから導出される値(単語の数やテキストの長さ、スペースの数、人名の有無等)を入力し、印刷物の種類を出力するモデルを構築し、当該モデルによって適正な出力が得られるように機械学習すればよい。機械学習においては、当該モデルによる出力と教師データにおける出力値との差分を極小化する学習を行うことができればよい。
従って、例えばニューラルネットワークによる機械学習が行われる場合、モデルを構成する層の数やノードの数、活性化関数の種類、損失関数の種類、勾配降下法の種類、勾配降下法の最適化アルゴリズムの種類、ミニバッチ学習の有無やバッチの数、学習率、初期値、過学習抑制手法の種類や有無、畳み込み層の有無、畳み込み演算におけるフィルタのサイズ、フィルタの種類、パディングやストライドの種類、プーリング層の種類や有無、、全結合層の有無、再帰的な構造の有無など、種々の要素を適宜選択して機械学習が行われればよい。むろん、他の機械学習、例えば、サポートベクターマシンやクラスタリング、強化学習等によって学習が行われてもよい。
さらに、モデルの構造(例えば、層の数や層毎のノードの数等)が自動的に最適化される機械学習が行われてもよい。さらに、情報処理装置において機械学習が行われる構成において、複数のレシートプリンターから教師データが収集され、この教師データに基づいて機械学習が行われる構成であっても良い。
むろん、テキストデータがRNN(Recurrent Neural Network)によって処理されても良い。すなわち、RNNによれば、テキストデータの前後関係を考慮することが可能であるため、RNNによる処理が含まれるモデルの機械学習が利用されても良い。図6は、RNNを含むモデルの構成例である。図6においては、入力値となるテキストデータが単語に分解され、入力値とされる。図6においては、購入記録を構成するテキストの一部である"Cashier NameA Milk $ 4.99、、、、0.70"という連続した文字列が単語に分解され、"Cashier"が入力値x1、"NameA"が入力値x2、"Milk"が入力値x3、"$"が入力値x4、"4.99"が入力値x5とされ、以後、"0.79"が入力値xnと変換される例が示されている。
さらに、図6においては、各入力値がRNNのブロックM1~M5に入力されて出力値y1~y5、、、ynが出力される例が想定されている。なお、図6に示す例においては、RNNのブロックM1~M5、、、Mn-1の出力値y1~y5、、、yn-1が次のブロックM2~M6、、、Mnに入力される。なお、最初のRNNのブロックM1に対して入力値x1とともに入力される値y0は、種々の手法で初期化されて良い(例えば、0ベクトル等)。図6に示す例においては、これらの出力値がニューラルネットワーク(NN)に入力され、最終的に印刷物の種類に対応したノードTi1,Ti2,Ti3毎の出力値が得られる。
以上のようなモデルにおいて、入力値の定義法や重み、バイアスなどのRNNのモデルやNNのモデルは、公知の種々の手法を用いることができる。図1に示す例において、以上のようなモデルが想定され、プロセッサー10が判定部11bの機能によって機械学習を行えば、テキストデータを入力し、印刷データによって印刷される印刷物の種類を推定するモデルを機械学習することができる。そして、このような構成においても、印刷物の種類を判定し、判定結果に応じたスクリプトを適用することにより、全ての種類のスクリプトを適用しなくても、適切なスクリプトをテキストデータに対して適用できる可能性を高めることができる。むろん、図6に示すRNNのモデルも一例であり、双方向RNNが採用されるなど、種々のモデルが採用されてよい。
印刷物が複数の種類のそれぞれである可能性は、種々の手法によって定義されてよい。従って、印刷物が特定の種類である可能性の最大値が1であり、最小値が0である上述の実施形態以外にも種々の構成が採用されてよい。いずれにしても、印刷物が特定の種類であることを示す数値の大小関係によって、印刷データで印刷される印刷物が複数の印刷物の中のそれぞれである可能性を順位付けすることができればよい。優先順位は、当該順位付けによって特定されればよい。
選択したスクリプトをテキストデータに対して適用して結果が得られたか否かは、予め決められた判定基準によって判断されればよい。従って、上述の実施形態のようにスクリプトが既定の構造化データを出力する構成において、構造化データの中で予め必須とされたデータが得られた場合に結果が得られたと見なす構成以外にも種々の構成が採用されてよい。例えば、スクリプトが適用された場合に、エラーの発生比率や項目とパラメーターとの対応関係が不定となった比率等が閾値以下である場合等にスクリプトの適用結果が得られたと判定する構成等が挙げられる。
さらに本発明は、コンピューターが実行するプログラムや、方法としても適用可能である。また、以上のようなプログラム、方法は、単独の装置として実現される場合もあれば、複数の装置が備える部品を利用して実現される場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、プログラムの記録媒体としても発明は成立する。むろん、そのプログラムの記録媒体は、磁気記録媒体であってもよいし半導体メモリ等であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
1…情報処理装置、2…レシートプリンター、3a…マウス、3b…キーボード、10…プロセッサー、11…情報処理プログラム、11a…取得部、11b…判定部、11c…適用部、20…HDD、20a…印刷データ、20b…学習モデル、20c…教師データ、20d…スクリプトデータ、20e…構造化データ、30…通信部

Claims (8)

  1. 印刷データに基づいて印刷物を印刷するレシートプリンターと通信する情報処理装置であって、
    前記レシートプリンターから送信された前記印刷データを取得する取得部と、
    前記印刷データに含まれるテキストデータに基づいて、前記印刷物の種類を判定する判定部と、
    印刷物の種類に対応した複数のスクリプトを記憶する記憶部と、
    複数の前記スクリプトから、前記判定部で判定した前記印刷物の種類に対応した1のスクリプトを選択し、選択した前記1のスクリプトを前記テキストデータに対して適用する適用部と、
    を備える情報処理装置。
  2. 前記判定部は、
    前記テキストデータと、前記印刷物の前記種類とを対応づけた教師データに基づいて機械学習された学習モデルにより、前記種類の判定を行う、
    請求項1に記載の情報処理装置。
  3. 前記判定部は、
    前記印刷物が複数の前記種類のそれぞれである可能性を取得し、
    前記適用部は、
    前記可能性が高い前記種類であるほど順位が高くなるように、複数の前記スクリプトから前記1のスクリプトを選択する優先順位を設定する、
    請求項1または請求項2に記載の情報処理装置。
  4. 前記適用部は、
    選択した前記1のスクリプトを前記テキストデータに対して適用し、前記1のスクリプトを適用した後に、設定した前記優先順位に従って、前記1のスクリプトと異なる他のスクリプトを選択して適用する、
    請求項3に記載の情報処理装置。
  5. 前記印刷物の前記種類には、店舗での購入記録を示す前記印刷物と、店舗の売上集計を示す前記印刷物と、が含まれる、
    請求項1~請求項4のいずれか1項に記載の情報処理装置。
  6. 前記スクリプトは、
    前記テキストデータに含まれる項目名と、前記項目名に対応したパラメーターとを対応づける処理を行うプログラムである、
    請求項1~請求項5のいずれか1項に記載の情報処理装置。
  7. 制御部、及び記憶部を備え、印刷データに基づいて印刷物を印刷するレシートプリンターと通信する情報処理装置の情報処理方法であって、
    前記記憶部が、前記印刷物の種類に対応した複数のスクリプトを前記記憶部に記憶する記憶工程と
    前記制御部が、前記レシートプリンターから送信された前記印刷データを前記制御部で取得する取得工程と、
    前記制御部が、前記印刷データに含まれるテキストデータに基づいて、前記印刷物の種類を前記制御部で判定する判定工程と、
    前記制御部が、複数の前記スクリプトから、前記印刷物の種類に対応した1のスクリプトを選択し、選択した前記1のスクリプトを前記テキストデータに対して適用する適用工程と、
    を含む情報処理方法。
  8. 前記判定工程は、
    前記制御部が、前記テキストデータと、前記印刷物の前記種類とを対応づけた教師データに基づいて機械学習された学習モデルにより、前記種類の判定を行う工程である
    請求項7に記載の情報処理方法。
JP2018218996A 2018-11-22 2018-11-22 情報処理装置、および情報処理方法 Active JP6992733B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018218996A JP6992733B2 (ja) 2018-11-22 2018-11-22 情報処理装置、および情報処理方法
CN201911134738.6A CN111210218A (zh) 2018-11-22 2019-11-19 信息处理装置、票据打印机以及信息处理方法
US16/688,506 US10922931B2 (en) 2018-11-22 2019-11-19 Information processing apparatus, receipt printer, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018218996A JP6992733B2 (ja) 2018-11-22 2018-11-22 情報処理装置、および情報処理方法

Publications (3)

Publication Number Publication Date
JP2020086814A JP2020086814A (ja) 2020-06-04
JP2020086814A5 JP2020086814A5 (ja) 2020-07-27
JP6992733B2 true JP6992733B2 (ja) 2022-01-13

Family

ID=70770822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018218996A Active JP6992733B2 (ja) 2018-11-22 2018-11-22 情報処理装置、および情報処理方法

Country Status (3)

Country Link
US (1) US10922931B2 (ja)
JP (1) JP6992733B2 (ja)
CN (1) CN111210218A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7476524B2 (ja) * 2019-11-27 2024-05-01 セイコーエプソン株式会社 情報処理装置の情報処理方法、情報処理装置及びプログラム

Citations (1)

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

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030055727A1 (en) * 2001-09-18 2003-03-20 Walker Jay S. Method and apparatus for facilitating the provision of a benefit to a customer of a retailer
EP1580704A3 (en) * 2004-03-25 2005-11-23 Seiko Epson Corporation I/O control apparatus, POS system and printing apparatus including the I/O control apparatus, and a data relay processing method for the I/O control apparatus
CN101516071B (zh) * 2008-02-18 2013-01-23 中国移动通信集团重庆有限公司 垃圾短消息的分类方法
JP6424438B2 (ja) 2014-02-24 2018-11-21 セイコーエプソン株式会社 Posシステム、及びデータ処理装置
CN104834747B (zh) * 2015-05-25 2018-04-27 中国科学院自动化研究所 基于卷积神经网络的短文本分类方法
US20180032483A1 (en) * 2016-07-29 2018-02-01 Seiko Epson Corporation Information processing device, control method of an information processing device, and storage medium
CN107992937B (zh) * 2016-10-26 2021-12-03 北京大学深圳研究生院 基于深度学习的非结构化数据判决方法和装置
JP2018010690A (ja) * 2017-10-04 2018-01-18 東芝テック株式会社 商品販売データ処理装置及びプログラム

Patent Citations (1)

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

Also Published As

Publication number Publication date
JP2020086814A (ja) 2020-06-04
US10922931B2 (en) 2021-02-16
US20200168056A1 (en) 2020-05-28
CN111210218A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
CN111126622B (zh) 一种数据异常检测方法与装置
WO2020143409A1 (zh) 预测业务指标的方法及装置
US10402163B2 (en) Intelligent data extraction
WO2019144066A1 (en) Systems and methods for preparing data for use by machine learning algorithms
US20190026630A1 (en) Information processing apparatus and information processing method
CN111553759A (zh) 一种产品信息推送方法、装置、设备及存储介质
CN107861951A (zh) 智能客服中的会话主题识别方法
CN108564035A (zh) 识别单据上记载的信息的方法及系统
CN108255706A (zh) 自动化测试脚本的编辑方法、装置、终端设备及存储介质
CN110096681A (zh) 合同条款分析方法、装置、设备及可读存储介质
CN116994709A (zh) 一种个性化的饮食与运动推荐方法、系统及电子设备
CN110223182A (zh) 一种理赔风控方法、装置及计算机可读存储介质
Yang et al. Uncertainty quantification and estimation in medical image classification
CN112313679A (zh) 信息处理设备、信息处理方法和程序
US10346616B2 (en) Systems and methods for data loss prevention
CN117522479B (zh) 互联网广告精准投放方法及系统
JP5764942B2 (ja) 情報照合装置、情報照合システム、情報照合方法および情報照合プログラム
CN115858785A (zh) 一种基于大数据的敏感数据识别方法及系统
CN112948823A (zh) 一种数据泄露风险评估方法
JP6992733B2 (ja) 情報処理装置、および情報処理方法
CN117011859A (zh) 一种图片处理的方法以及相关装置
CN111612491B (zh) 状态分析模型构建方法、分析方法及装置
US8311961B2 (en) Effort estimation using text analysis
CN111274791B (zh) 一种线上家装场景下用户流失预警模型的建模方法
CN116843392A (zh) 推荐方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200608

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20200810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210713

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210914

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211101

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211122

R150 Certificate of patent or registration of utility model

Ref document number: 6992733

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150