发明内容
为合计如前述由购物中心等各店铺提供的结算收据(以下称为收据),在运营购物中心等的公司(组织)的租户管理部门,一直以来,事务员用目视读取收据,并将读取的数据以手工作业输入数据处理装置。此销售合计作业的作业量,有时店铺数达到100家店铺以上,而且是每日不得不进行的作业,所以负担非常大。
作为减轻此负担的一个方法,能够考虑将各店铺的销售数据(收据数据),从各店铺的终端经由网络自动收集。但是,一般各店铺企业体不同,所以需要各自取得开通网络的许可,进而存在因引入的系统不同,连接的网络的种类、应用(application)的追加、修正的难易度不同等难以解决的问题。
作为尽量不对既存系统进行更改,特别是各店铺中的终端等信息设备的更改,而减轻前述作业负担的方法,可考虑不用人来读取收据数据,由字符图像的识别来读取的方法。即,将各店铺的收据,使用例如具有OCR(Optical Character Recognition:光学字符识别)功能的读取装置、扫描仪等读取,对于读取后的收据项目和其数值数据,抽出销售管理项目必要的内容,重新输入到销售管理数据中的方法。
这样,对收据的字符图像进行识别,自动编制销售管理数据时,有必要将作为销售管理数据必要的销售管理项目和收据的读取项目怎样对应的对应信息,以及,收据的读取项目的字符串(项目名称)及和此读取项目对应的金额栏在图像上的位置信息,作为收据定义数据事前准备。
认为将此收据定义数据编制一次,登记在收据识别装置后,通过具有OCR功能的读取装置等读取收据图像,从该读取的收据图像中抽出销售管理数据的编制所必要的收据项目,就能够某种程度上自动收集每天的销售管理数据。
问题是,通过怎样的办法编制此收据定义数据。首先,能够想到通过人工,将收据定义数据一个一个地输入,但是大规模购物商场等中,店铺数100家店铺以上的情况不鲜见,以人工输入收据定义数据的作业量太大。并且,购物商场等中,开店的店铺的更替频繁,每当新店铺加入,用人工输入新的收据定义数据会是繁杂的作业。
因此,希望有能够尽量简单地编制收据定义数据的计算机辅助技术,但是专利文献2的从收据图像自动编制报表定义的技术,在本发明作为对象的场合下不充分,基于下列理由不能够使用。
(1)在专利文献2中,完全没有考虑到由租户部门必要的在各店铺的销售的管理中共用的特定销售管理项目群构成的销售管理数据。
(2)此外,专利文献2的技术,虽然能够编制各个收据各自的项目定义信息,但是其对象为打印在收据上全部的项目,不能够只选择必要的项目。
(3)此外,特别是租户管理部门必要的销售管理项目,不一定和打印在各店铺的收据上的收据项目的项目名称一致,另外,销售管理项目和收据项目也未必一对一地对应。
图27是示出销售管理项目和收据项目的对应关系的例子的图。
租户管理部门必要的销售管理项目,是例如如图27(A)所示的“现金销售”、“赊销”、“信用销售”、……、“净销售”这样的各店铺共用的统一的项目。图27(B)中所示的收据中,第14行的“现金销售金额”和第1个销售管理项目“现金销售”对应,没有和第2个销售管理项目“赊销”对应的收据项目,第18行的“其他金券金额”和第3个销售管理项目“信用销售”对应。
另一方面,虽然省略图示,但在其他的店铺收据中,例如收据项目“日报上现金现额”和收据项目“感谢卡”的金额相加的值,和第1个销售管理项目“现金销售”对应,收据项目“日报上赊销”和第2个销售管理项目“赊销”对应,……这样,各销售管理项目和收据项目的对应关系在各个店铺完全不同。
本发明的目的在于在此种背景下,提供简易地编制通过收据的识别收集销售管理数据所需要的收据定义数据的方案。即,本发明的目的在于,提供简易地高效编制收据定义数据的方案,该收据定义数据方案用于读取购物商场等多个店铺输出的形式不同的收据,正确且有效率地只取得必要的销售管理项目。
用于解决上述问题的本发明的概要如下。另外,在以下,作为从收据收集的各店铺共用的特定基本管理项目,将使用销售管理项目的情况作为例子说明。
(1)将成为用于收集销售管理数据的收据定义数据的编制对象的店铺发行的收据作为图像读入,显示在画面上,通过画面操作编制收据定义数据。
(2)此时,将预先决定的必要的销售管理项目(也称作结算项目)显示在画面上,针对每个项目将收据的映像数据(image data)上对应的读取项目(也称作收据项目),通过使用鼠标等输入装置的指点(point)操作或拖曳(drag)操作等选择,取得位置信息而编制收据定义数据。另外,使用鼠标等拖曳时,不必严密,只要是在符合的项目上的某一处即可。例如,使在系统端判断被拖曳的位置,自动显示包围被选择项目的边线,操作员能够确认其被正确指定。
(3)因为将选择的项目作为读取项目显示,所以操作员能够一边确认一边作业。
(4)选择的读取项目,通过例如四则运算的制定,能够和其他读取项目进行运算。通过将在运算式被指定时的此运算式设定在收据定义数据内,能够将一个销售管理项目和多个读取项目建立对应关系。
(5)此外,在收据内,检查和选择的项目具有相同名称的项目的存在。存在相同名称的多个项目时,提示设定用于作为读取项目辨识的多个关键字、标记项目(决定必要的项目位置的基准的项目)。
(6)此外,预想到读取项目ORC识别困难(字符破损、字符接触、格线接触等)时,定义代替读取项目的收据项目作为代替项目,从而能够识别距离代替项目的相对位置的金额。
(7)此外,例如通过参照店铺信息,当类似业务的收据定义数据已经存在时,能够利用此既存的收据定义数据,编制新的收据定义数据。
详细地说,本发明为一种收据定义数据编制装置,其编制在收据识别系统识别各个店铺的收据时所用的收据定义数据,该收据识别系统通过识别多个店铺各自发行的收据的图像,收集由各个店铺共用的特定的基本管理项目构成的基本管理数据,该收据定义数据编制装置的特征在于,具备:图像数据存储单元,其存储含有收据的映像数据的图像数据;基本数据存储单元,其存储所述基本管理项目的信息;定义输入画面显示单元,其显示包含所述基本数据存储单元存储的基本管理项目的信息的显示和所述图像数据存储单元存储的收据的映像数据的显示的定义输入画面;输入数据处理单元,其从所述定义输入画面输入收据的读取项目、和所述映像数据中的所述读取项目对应的金额栏的位置信息、及所述读取项目和所述基本管理项目的对应信息;定义数据编制单元,其基于所述输入数据处理单元输入的信息,编制收据定义数据,该收据定义数据包含所述收据的读取项目、和所述映像数据中所述读取项目对应的金额栏的位置信息、及所述读取项目和所述基本管理项目的对应信息;定义数据存储单元,其存储已编制的收据定义数据。
此外,本发明的一个实施方式,其特征在于:进而,所述定义输入画面具有对应所述读取项目的运算式的输入画面;所述输入数据处理单元,具有在所述读取项目的运算式被输入于所述定义输入画面时,遵从被输入的运算式编制将多个所述读取项目和1个所述基本管理项目建立对应关系的对应信息的单元。
此外,本发明的另外一个实施方式,其特征在于:所述输入数据处理单元,具有在收据内存在和所述读取项目名称相同的其他项目时,从所述定义输入画面输入作为辨识所述读取项目的基准的多个关键字或标记项目的单元;所述定义数据编制单元,具有在编制的收据定义数据内的所述读取项目的定义数据中设定所述多个关键字或所述标记项目的数据的单元。
此外,本发明的另外一个实施方式,其特征在于:所述输入数据处理单元,具有在从所述定义输入画面输入所述收据的读取项目或所述金额栏的位置信息时,对应所述收据的映像数据的显示中由输入装置进行的指点操作或拖曳操作,决定符合的读取项目的字符串或金额的字符串的区域,并且自动调整该区域的大小,通过包围区域的边线的显示或强调显示进行字符区域的辨识的单元。
此外,本发明的另外一个实施方式,其特征在于:所述输入数据处理单元,具有在对输入的所述读取项目发生误识别时或该字符识别精度差时,让用户指定代替所述读取项目的代替项目并输入代替项目的单元;所述定义数据编制单元,具有在收据定义数据内设定所述读取项目及所述代替项目,并将所述金额栏的位置信息设定为距所述代替项目的相对距离的单元。
此外,本发明的另外一个实施方式,其特征在于:所述输入数据处理单元,具有将从所述已编制的收据定义数据或其历史数据中抽出的数据设定于所述定义输入画面,在编制其他的收据定义数据时进行参照的单元。
通过以上方法编制的收据定义数据,包含以下的数据。
(1)基本管理项目和收据内的读取项目的对应信息。即,表示作为基本项目计算的金额是对应于收据内的哪个读取项目的金额的信息。
(2)收据内的读取项目的字符串,及和它对应的金额栏的相对的位置信息。
(3)基本管理项目的金额通过多个读取项目的四则运算算出时,表示此运算式的信息。
(4)其他,和收据内必要的读取项目名称相同(相同字符串)的项目存在多个时,用于辨识必要的读取项目的多个关键字、标记项目等字符信息及表示和读取字符的位置关系的信息。
本发明的效果如下。
(1)从收据中抽出基本管理项目必要的读取项目时,能够使用实际的收据简易地编制表示哪个读取项目和哪个基本管理项目对应的收据定义数据。特别是,操作员能够一边在画面上确认选择的读取项目,一边防止输入错误(miss)简单地进行输入作业。
(2)因为能够在收据定义数据中设定读取项目的运算式,所以能够将1个基本管理项目的金额,由和多个读取项目对应的金额算出,即使收据项目的内容因各个店铺而各不相同,也能够收集统一的基本管理项目的数据。
(3)能够将下列信息设定于收据定义数据:关于基本管理项目必要的收据中的读取项目,在存在多个和项目名称相同的名称时,辨识要选择的读取项目所需的由多个关键字形成的项目名称、持有辨识相对于读取项目的位置关系的其他持有唯一的项目名称的标记项目的信息。由此,能够回避在收集基本管理数据时收据数据抽出的误识别。
(4)能够在画面上通过简单的操作,选择和基本管理项目对应的读取项目,此外,通过具有被指定区域的自动调整功能,其输入及确认容易,能够高效编制收据定义数据。
(5)此外,即使因收据打印中的字符破损、字符接触、格线接触等,读取项目OCR识别困难时,也因为能够将收据内的其他的项目作为读取项目的代替项目定义,所以能够编制读取精度高的收据定义数据。
(6)此外,编制同样业务内容的店铺的新的收据定义数据时,因为沿用既存的收据定义数据,只输入不同的读取项目的部分就能够编制收据定义数据,所以能够迅速地编制收据定义数据。
通过使用由本发明编制的收据定义数据,能够从收据的读取项目不同的各种店铺的收据数据中,统一地收集租户的管理部门必要的基本的数据,保存于销售管理数据库(database)等基本数据管理数据库。
具体实施方式
以下,使用附图,针对本发明的实施形态详细说明。另外,在以下,虽然主要针对合计店铺销售的装置的例子进行说明,但是本发明并不局限于销售合计,也能够同样适用合计采购合计数据、其他打印在传票等上面的实际数据的装置等。
图1示出说明本发明的概要的装置结构例。在图1中,1是由CPU及硬盘(hard disk)、存储器(memory)等存储装置构成,执行基于由收据读取的图像数据,编制收据定义数据的处理的收据定义数据编制装置;2是作为收据定义数据的编制对象的收据;3是显示装置;4是键盘、鼠标等输入装置。
收据2以被透明的载片(carrier sheet)等夹住的状态被读取机10读取。读取机10是通过由光学式等的图像扫描,读取收据2的图像的装置。图像数据读入部11,具有周知的OCR处理功能,将读取机10读取的图像转换为规定的图像数据。另外,读取机10具有OCR处理功能时,图像数据读入部11不具有OCR处理功能也可。图像数据包含例如存放映像数据的图像文件、通过OCR得到的识别字符数据。图像数据读入部11将OCR处理结果的图像数据保存于图像数据存储部101。
定义输入画面显示部12,为参照店铺主表103编制被指定的店铺的收据定义数据,将定义输入画面显示于显示装置3,该定义输入画面具有图像数据的显示区域,该图像数据包含存放于基本数据存储部102的基本的销售管理项目的信息和存放于图像数据存储部101的收据的映像数据。
输入数据处理部13,从被显示的定义输入画面,输入收据的读取项目、映像数据中和读取项目对应的金额栏的位置信息、读取项目和销售管理项目的对应信息。因此,输入数据处理部13具备:坐标取得部131,其从输入装置4取得在映像数据中读取项目的位置的坐标及与其对应的金额栏的位置的坐标;运算定义部132,其定义将多个读取项目和1个销售管理项目建立对应关系的运算式。
此外,输入数据处理部13具备:多个关键字设定部133,其在收据内存在和读取项目相同名称的其他项目时,由定义输入画面输入并设定成为辨识读取项目的基准的多个关键字;标记项目设定部134,其决定成为辨识读取项目的基准的其他的唯一的读取项目。并且,输入数据处理部13具备代替项目处理部135,其在被输入的读取项目发生识别错误(error)时、字符识别精度差时,让操作员指定代替读取项目的其它的收据项目作为代替项目,并输入代替项目。
定义数据编制部14,基于由输入数据处理部13输入的信息,编制各店铺的收据定义数据,存放于定义数据存储部104。关于被编制的收据定义数据的具体例之后说明。收据定义数据在含有收据的读取项目中的项目名称和与其对应的金额项目的相对位置(相对的金额栏的位置)等信息的同时,含有和销售管理项目的对应关系信息。
历史数据编制部15编制由定义数据编制部14编制的收据定义数据的历史数据,存放于历史数据存储部105。此历史数据能够在编制类似的其他收据的收据定义数据时参照并利用。
图2是示出图1所示的收据定义数据编制装置1的处理的概要的流程图。
在步骤S11中,图像数据读入部11通过读取机10读取结算收据。结算收据是各店铺中一天的销售信息的合计数据,收据项目因各店铺使用的POS系统而异。图像数据读入部11将由字符识别等取得的项目明细、收据的整体映像的数据存放于图像数据存储部101。
在步骤S12中,定义输入画面显示部12由图像数据存储部101、基本数据存储部102、店铺主表103的数据编制定义输入画面,显示于显示装置3。在定义输入画面上也进行收据的整体映像的显示。
在步骤S13中,输入数据处理部13,由来自定义输入画面的输入,针对结算收据的项目,设定读取项目及运算式等,决定读取项目和销售管理项目的对应关系、读取项目及和此读取项目对应的金额栏的位置关系。
在步骤S14中,定义数据编制部14基于由输入数据处理部13输入的信息,编制收据定义数据,存放于定义数据存储部104。
在步骤S15中,历史数据编制部15编制针对编制的收据定义数据的历史数据,保存于历史数据存储部105。
以上说明了收据定义数据编制装置1执行的大致的处理。以下针对具体的处理内容、数据结构详细说明。
图3是示出被读取机10读取的收据2 的例子的图。读取机10读取由如图3所示的收据2时,通过读取机10或图像数据读入部11的OCR处理,进行通过图像解析的字符识别。此字符识别如图3所示的收据2中的字符串#1、#2、……、#14、……那样,对于每一连串的字符串,构成字符串的各识别字符的候补及其位置信息作为图像数据被抽出,存放于图像数据存储部101。
图4是示出存放于图像数据存储部101的图像数据的例子的图。图像数据存储部101,如图4(A)所示,存放有关收据图像的映像数据的数据;如图4(B)所示,存放收据的字符识别结果的数据(以下,称为识别字符数据)。
收据图像的映像数据,例如收据整体或收据中的打印有字符的部分整体的矩形区域的图像映像被作为位图(bit map)形式的图像文件而被存放,又,被附加识别发行此收据2的店铺的店铺代码(code)。此店铺代码能够从输入装置4事前输入,也能够解析由读取机10读取收据2时的夹持用片(载片)上被附加的各店铺识别用的2维编码等而输入。
图4(B)所示的识别字符数据,存放针对一连串的字符串#n(n=1,2,……)的字符识别的结果,使用图3所示的字符串#14说明其内容。首先,识别编号表示字符串#14是收据2中第14个字符串。字符串#14的字符数是3(第一候补的排列为“总销售”),字符串#14的坐标是(x,y)-(x’,y’)。此坐标是以预先决定的收据2的图像的基准位置(例如收据图像的左上角或包围字符串群的矩形区域的左上角等)为原点的坐标。
进而,识别字符数据,针对构成字符串#14的各字符#141、#142、#143的3个字符,持有其各自的坐标信息。此外,以识别结果的字符和识别用的字典的差异度从小到大的顺序,识别结果的几个字符和差异度一同被存放。例如,字符#141的识别结果的第1个候补为“总”(差异度=1311),第2个候补为“脆”(差异度=1581),第3个候补为“聪”(差异度=1640)。
在此,图像数据读入部11不将这些识别结果的候补全部存放于图像数据存储部101,而是将构成各字符串#n的识别候补的各字符的组合,和预先存放了收据上可能被打印的字符串的字典中的单词相比照,此词典是预先准备的全部店铺共用的识别结果单词字典,通过比照,缩小识别结果的字符串的范围,只将此缩小范围后的结果存放于图像数据存储部101也可。
图5是示出存放于基本数据存储部102的基本表格的例子的图。此基本表格存放租户管理部门合计的销售管理项目的信息。具体地说,将购物中心中销售管理数据的管理作为对象时,存放识别购物中心的购物中心代码、购物中心的名称及所在地、购物中心内的店铺数的信息。此外,存放租户管理必要的各销售管理项目的项目名称。
在此例中,作为销售管理项目,有8个项目,这些项目的名称分别是“现金销售”、“赊销”、“信用卡销售”、“商品券”、“总销售”、“消费税”、“其他扣除”、“净销售”。本系统的目的在于,使能够用单纯的操作,编制从各店铺各不相同的收据的项目之中,自动抽出这些销售管理项目的信息所需的收据定义数据。
此外,此基本表格中,各运算管理项目其各自可能取得的值的下限值和上限值被决定并存放。此下限值和上限值被用于在字符识别收据图像以从收据自动抽出销售管理项目的金额时,进行检查以使误识别、误输入减少。
图6是示出店铺主表103的例子的图。店铺主表103是被预先准备的存放发行收据的个别的店铺的信息的表格。第1个设定项目店铺代码是识别店铺的编号。第2个店铺名称是店铺的名称。第3个业种代码是表示店铺的业种的编码。第4个业种名是业种的名称。接下来作为POS系统信息1、2、3,依次存放:被引入的POS系统的识别代码(例:F001)、POS系统的制造厂家(例:AAAAA)、POS系统的引入年月日(例:2000年1月1日)等信息。此外,作为结算收据信息1、2、3、4,依次存放:结算收据的长度、读入形式、结算收据中的打印项目数、其他的必要的信息。读入形式的栏中,在读取机10将收据2原封不动读入时设定为“0”,在因收据2过长,将收据2切成多片读入时设定为“1”的值。
本系统以以上的图像数据存储部101、基本数据存储部102、店铺主表103内存放的信息为基础,编制收据定义数据。另外,店铺主表103在店铺信息已知或已由输入装置4事前输入时非必须。
图7是收据定义数据,示出最基本的数据的例子。店铺代码是示出数据是哪个店铺的收据定义数据的店铺的识别代码。接着,由收据读取的收据项目的信息被存放于各项目。读取项目1识别代码,是第1个读取项目1的识别代码,是在收据定义数据内对读取项目唯一识别的编码。
项目属性中设定有读取项目的属性。收据内相同名称(读取字符相同)的读取项目不存在时,属性值=1。收据内相同名称的读取项目存在,以标记项目为基准辨识读取项目时,属性值=2。收据内相同名称的读取项目存在,以多个关键字为基础辨识读取项目时,属性值=3。读取字符识别困难设定代替项目时,属性值=4。
图7(A)的收据定义数据,是不存在多个相同名称的读取项目的时候的例子,项目属性的属性值为1。第1个读取项目的读取字符1在此例中为“总销售”。金额栏的相对读取位置1以距离“总销售”的字符串的位置的相对位置表示对应“总销售”的金额的字符串打印在哪个部分。在此,所谓相对位置,是例如以“总销售”的字符串区域的左上角为原点时的金额栏的位置的坐标。将金额栏的位置以距离读取字符1的位置的相对位置表示,是因为即使是相同的收据,日期不同收据上实际打印的行数不同,读取字符1的位置是可变的。
第2个读取项目的读取字符2“其他金券金额”、第3个读取项目的读取字符3“现金销售”也同样作为收据定义数据,存放识别代码、项目属性、读取字符、金额栏的相对读取位置的数据。
图7(B)的收据定义数据,是读取项目的字符识别困难时的例子,项目属性的属性值为4。此时,将读取项目(例如消费税)的识别的替代的项目作为代替项目(例如小计)定义,将距离代替项目的相对位置作为金额栏的相对读取位置设定。
图8示出作为读取项目,收据内相同名称存在多个时的收据定义数据的例子。图8(A)是项目属性的属性值为2时的例子,图8(B)是项目属性的属性值为3时的例子。
收据内读取项目的名称相同的项目存在多个时(例如,读取项目的项目名称为“消费税”,此用语“消费税”被打印于多个行时),辨识将哪个金额作为销售管理项目抽出的信息是必要的。
目属性的属性值为2时,通过将作为辨识读取项目位置的基准的其他唯一的项目名称定义为标记项目,将相同的名称的项目中的1个作为实际的读取项目辨识。图8(A)的例子中,“总销售”为读取字符1,但因为收据内项目名称“总销售”存在多个,所以定义其他唯一的收据上的打印名称“贷现额”为标记项目。此外,除读取字符1的读取位置及和其项目对应的金额栏的相对读取位置1之外,和标记项目的距离(包含方向)的信息也被定义。此和标记项目的距离的信息,表示由标记项目“贷现额”的字符位置到读取字符1“总销售”的位置的距离(x坐标,y坐标)的上限值,关于x坐标,在读取字符1存在于右方向时取正值,存在于左方向时取负值。此外,关于y坐标,读取字符1存在于上方向时取正值,读取字符1存在于下方向时取负值。图8(A)的例中,此值为“(-50,+100)”,表示距离标记项目“贷现额”的字符位置x坐标-50(左方向)、且,y坐标+100(上方向)的范围内,存在有收集对象读取字符1“总销售”。
项目属性的属性值为3时,连续多行排列的多个项目名称作为关键字定义,使这些多个关键字在收据内唯一,以此将相同名称的项目中的一个作为实际的读取项目辨识。图8(B)的例子中,“总销售”是作为销售管理项目所必要的读取字符1,但因为收据内“总销售”的项目名称存在多个,所以将收据内唯一的“总销售”、“净销售”、“现金现额”、“贷现额”这些跨越多行的一连串的项目作为多个关键字设定,通过这些一整块的字符串,辨识“总销售”的读取项目的位置。读取字符1的读取位置1,是“总销售”、“净销售”、“现金现额”、“贷现额”被打印的最小矩形区域的左上和右下的坐标。此外,金额栏的相对读取位置1,是以读取字符1的读取位置1的左上的坐标为原点定义的坐标。
进而,作为收据定义数据,设定运算式的定义信息,该运算式表示由图7及图8中所示收据定义数据定义的读取项目和图5所示基本表格中销售管理项目的对应关系。图9示出定义此运算式的收据定义数据的例子。
运算式的定义信息,如图9所示,除识别店铺的店铺代码之外,还持有各销售管理项目和1个或多个读取项目识别代码的对应信息。多个读取项目和1个销售管理项目建立有对应关系时,使用关于多个读取项目识别代码的四则运算的运算式。使用图9说明的话,和销售管理项目1“现金销售”对应的读取项目识别代码为“A+B”。这表示,将与读取项目识别代码=A的读取项目对应的金额栏上打印的数值,和与读取项目识别代码=B的读取项目对应的金额栏上打印的数值合计的数值,作为销售管理项目1“现金销售”的金额计算。第2个销售管理项目2“赊销”表示将读取项目识别代码“C”的读取项目,原封不动作为“赊销”的金额。其他的销售管理项目也同样,通过读取项目识别代码的运算式(包含1对1的场合),定义各销售管理项目和收据上的读取项目的对应信息。
接下来,按图10说明由历史数据编制部15编制,存放于历史数据存储部105的历史数据的例子。
历史数据是为能够将由定义数据编制部14编制的收据定义数据的内容沿用于其他的同业种的店铺的收据定义数据编制而总结的数据。作为业种信息,存放有业种代码、业种名、POS系统信息1~3、结算收据信息1~4。此外,作为项目信息,存放各读取项目的识别代码、项目属性、读取字符等。此外,作为运算信息,存放各销售管理项目、和使用符合的读取项目识别代码的运算式。这些信息的具体内容和使用图7乃至图10说明的收据定义数据的内容相同。
此外,历史数据编制部15,作为历史数据编制字典信息,存放于历史数据存储部105。图11示出此历史数据的字典部的例子。
历史数据的字典部中,如图11所示,存放有业种代码、POS系统信息、销售管理项目、读取字符、……等实际被收据定义数据利用的字符串信息(单词等)。此字典部存放的字符串信息,在使用编制完毕的收据定义数据编制新店铺的收据定义数据时,用于类推符合销售管理项目的读取项目。此外,在例如图4说明的字符识别结果的图像数据中,能够被用于抽出正确的识别结果的字符串。此外,在实际的销售管理数据的收集作业中,能够用于自动防止误识别、误输入。
接下来,针对收据定义数据编制装置1执行的处理,进一步详细说明。图12~图14是本实施方式涉及的收据定义数据编制处理的整体的流程图。
首先,在步骤S201中,等待来自输入装置4的操作员的输入。操作员通过菜单等指定或新建编制收据定义数据,或参照已编制的收据定义数据编制,进至步骤S202。
在步骤S202中,判定是收据定义数据的新建编制还是参照编制,是参照编制时,进至图13的步骤220,新建编制时,进至步骤S203。
在步骤S203中,将编制收据定义数据的定义输入画面的初始画面显示于显示装置3。
图15示出定义输入画面的结构例。定义输入画面30中,编制收据定义数据的设施和租户(店铺)信息的显示区域的下方,设置有销售管理项目一览显示区域31、OCR读取定义一览显示区域32、收据图像显示区域33、标记定义一览显示区域34、计算式输入用区域35。
销售管理项目一览显示区域31中,如图16(A)所示,显示销售管理项目一览。销售管理项目一览具有图5说明的存放于基本表格的销售管理项目的项目名称,以及在将销售管理项目和读取项目建立对应关系的计算式(运算式)确定时,显示此计算式的栏。
此外,OCR读取定义一览显示区域32中,如图16(B)所示,显示由操作员的输入操作输入的OCR的读取项目、表示在收据图像内此项目的区域信息有无被设定的信息(项目区域),和此项目对应的金额栏的区域信息有无被设定的信息(金额信息)。
收据图像显示区域33中,显示读取机10读取的收据的图像(映像数据)。在此区域的显示中,设置有滚动(scroll)、扩大、缩小等功能。
标记定义一览显示区域34,在收据内存在多个相同名称的读取项目时,显示信息以定义用于辨识读取项目的唯一的标记项目。此外,计算式输入用区域35中,显示将被输入的销售管理项目和读取项目建立对应关系的计算式。
在步骤S203中,在显示如以上的定义输入画面的初始画面之后,在步骤S204等待操作员的输入。在步骤S205中,全部项目的输入结束时,操作员按下“定义确定”的按键,所以判定有无此输入,如果“定义确定”的指示已被输入,进至步骤S208。
没有“定义确定”的指示时,进至步骤S206,进行读取项目的输入、项目区域的选择及金额区域的选择处理。关于此处理的例子,使用图16及图17进行说明。
在定义输入画面30的初始画面中,OCR读取定义一览显示区域32进行图16(B1)所示的自动被附加的读取项目ID(例如,a)的显示,及空白栏的读取项目、项目区域、金额区域的显示。在此,作为读取项目,例如“净销售”由输入被设定时,表示相对于此“净销售”的项目的收据内的项目区域及金额区域的区域未设定的字符“未设定”以醒目的显示色如图16(B2)显示。在此,操作员进行项目区域的设定操作和金额区域的设定操作。
图17是说明项目区域的设定的图。OCR读取定义一览显示区域32的显示如图17(A)所示,设收据图像显示区域33中显示如图17(B)所示的收据图像。操作员在收据图像显示区域33中的图像上,通过鼠标等输入装置4,指点“净销售”的字符串部分,拖曳或点击(click)。输入数据处理部13的坐标取得部131检测此输入,将收据图像中的字符“净销售”以边线围住显示。此时,例如如图17(C)的左侧的图所示的箭头,即使大范围地拖曳“净销售”的字符串部分,通过边线的自动调整,边线如图17(C)的右侧的图所示的虚线边一样以必要最小限度的大小显示。如此被选择的项目区域的左上角坐标和右下角坐标被存储于内部存储器。OCR读取定义一览中,如图17(D)所示,项目区域的栏被从“未设定”改写为“○”,表示项目区域的选择处理已经完毕。边线包围区域的大小的自动调整,能够通过参照如图5说明的OCR识别结果的图像数据进行。
金额区域的选择处理也同样,通过对在收据图像中符合的金额栏进行通过鼠标等的拖曳或点击,显示边线,导入此区域的坐标信息而进行。通过金额区域的设定,OCR读取定义一览中的金额区域的栏被从“未设定”改写为“○”,针对“净销售”的读取项目的定义结束。输入栏移至下一行。如果没有输入栏,将自动追加新的输入栏。此外,除以边线的显示表示区域之外,变更背景、字符的显示色以表示区域也可。
接着以上的读取项目的定义处理,在步骤S207中,进行运算定义处理。运算定义处理是定义表示销售管理项目和在步骤S206中被定义的1个或多个读取项目的对应关系的计算式的处理。详细内容之后说明。这之后,返回步骤S204,同样地重复处理。
有“定义确定”的指示时,进至步骤S208,在步骤S208中,进行读取项目的再检查。在此,对读取项目的项目区域再度进行字符识别。或由图4(B)说明的图像数据存储部110存放的识别字符数据中的针对各识别字符的差异度的信息,判定识别的精度,检查有无发生误识别、或者识别的精度是否比规定的阈值差。
通过步骤S209的判定,判定为无识别错误时,或判定为识别的精度不差时,进至图14的步骤S230。并非如此时,进至步骤S210,催促操作员输入代替项目。代替项目是因为原本的读取项目识别困难或误识别的可能性大,将其他收据项目作为代替项目从而作为识别对象,通过距离此代替项目的相对位置信息,取得相对于原本的读取项目的金额为目的的项目。如果有来自操作员的代替项目的输入操作,则通过步骤S211,进行代替项目的定义处理。此后,返回步骤S204。关于代替项目的具体例,之后使用图24进行说明。
在步骤S202被指定为收据定义数据的参照编制时,进至步骤S220,输入手动选择或自动选择参照的收据定义数据的指示。手动选择时,进至步骤S221。在步骤S221中,输入指定收据定义数据已经编制完毕的店铺的店铺代码的信息,从定义数据存储部104取得符合此店铺代码的收据定义数据,进至步骤S226。
自动选择参照的收据定义数据时,进至步骤S222,参照存放于历史数据存储部105的历史数据。接下来,在步骤S223中,判断类似数据的有无。关于此判断类似数据有无的处理,之后使用图25说明。
通过步骤S224的判定,在历史数据中,没有和此后要编制的店铺的收据定义数据类似的数据时,因为参照编制不可能进行,所以返回步骤S203,执行和新建编制相同的处理。
判定为在历史数据中有类似数据时,进至步骤S225,取得此类似的店铺的收据定义数据。
在步骤S226中,从在步骤S221或步骤S225中取得的收据定义数据,类推取得的店铺的读取项目,进行定义输入画面的编辑。即,作为定义输入画面30的初始画面,不显示OCR读取定义一览为空白栏的画面,而是编制嵌入了参照的收据定义数据中被定义的读取项目的数据、销售管理项目一览中的销售管理项目的计算式的形式的画面,并显示。此后,进至步骤S204。步骤S204之后的处理和前述处理相同。通过这样,进行参照编制时,操作员只要对应和参照的店铺的收据定义数据不同的部分进行必要的修正,能够简单地编制新店铺的收据定义数据。
在上述步骤S209中,被判断为没有读取项目的识别错误,或者识别精度不差时,进至图14的步骤S230。在步骤S230中,针对在步骤S206中被定义的读取项目,检查收据内有无相同字符串的项目。接着,在步骤S231的判定中,被判定为存在相同字符串时,进至步骤S233,被判定为没有相同字符串时,进至步骤S232。
在步骤S232中,编制历史数据后,结束处理。关于历史数据编制处理的详细内容之后说明。
存在相同字符串时,通过步骤S233,进行辨识必要的读取项目的相同字符串处理。在此,进行标记项目的设定、多个关键字的设定,详细内容之后说明。相同字符串处理之后,返回步骤S204,同样地继续进行处理。
图18是示出运算定义处理(图12的步骤S207)的详细内容的流程图。以下的处理由输入数据处理部13中的运算定义部132执行。
在步骤S301中,等待针对运算的定义的输入。如果有输入,进至步骤S302,以此输入为基础,选择定义运算的销售管理项目及用于此运算的读取项目。读取项目能够通过读取项目ID的指定进行选择。读取项目的选择可以是一个也可以是多个。
在步骤S303中,输入四则运算的运算符,进行运算符的选择。另外,也能够使用%等算术符号、指定运算顺序的括弧符号等。输入的运算符的数量取决于选择的读取项目的数量。读取项目为1个时,没有必要输入运算符。
通过步骤S304的判定处理,直到必要的全部的读取项目及运算符的选择结束为止,返回步骤S301同样地重复进行处理。
如果读取项目及运算符的选择结束,在步骤S305中,进行输入的运算符的检查。此为以下的检查。
1)有无使用未被定义的读取项目ID。
2)有无不能使用的运算符被指定。
3)使用被设定的计算式计算金额后,结果是否在容许范围内。
另外,判断结果是否在容许范围内,在实际使用由收据的图像数据取得的金额的数值计算后,通过判断是否处于存放于基本表格的符合的销售管理项目的下限值到上限制的范围内进行。
通过步骤S306的检查结果的判定,如果检出错误,返回步骤S301,进行读取项目的再选择或运算符的再输入。如果无错误,在销售管理项目一览中的符合的销售管理项目的计算式的栏内,显示被输入的计算式,结束针对1个销售管理项目的运算定义。运算定义基本上针对全部的销售管理项目进行,但对于符合的读取项目不存在的销售管理项目,未定义也可。
图19示出运算定义的例子。如图19(A)所示,设ORC读取定义一栏显示区域32中,读取项目的净销售(ID=a)和消费税(ID=b)和金券(ID=c)被定义。在此,对于销售管理项目“总销售”、“商品券”,各自存在如图19(B)所示的和读取项目的对应关系时,如图19(C)所示,针对“总销售”进行“a+b”的计算式的定义,针对“商品券”进行“c”的计算式的定义。通过将此计算式作为运算定义设定于收据定义数据,能够从店铺发行的实际的收据上,算出销售管理项目的金额。
图20示出由计算式定义某店铺的收据和销售管理项目的对应关系的例子。收据的读取项目一般因店铺而异,所以租户管理部门必要的销售管理项目和各店铺的收据的读取项目的对应关系在各店铺不同。但是,如图20所示,因为能够定义各个店铺的计算式,所以能够灵活地进行销售管理项目和收据项目的对应关系的建立。
图21是示出相同字符串处理(图14的步骤S233)的详细内容的流程图。以下的处理,由输入数据处理部13中的多个关键字设定部133及标记项目设定部134执行。
在步骤S401中,显示表示和OCR读取定义一览显示区域32中被定义的读取项目相同名称的项目存在多个的警报,等待来自操作员的输入。
在步骤S402中,对于操作员的输入,判定多个相同名称中的读取项目是由标记项目辨识还是由多个关键字辨识。标记项目被选择时,进至步骤S403,多个关键字被选择时,进至步骤S406。
在步骤S403中,等待标记项目的输入。标记项目的输入方法和在图17中说明的项目区域的设定中的输入方法相同。在步骤S404中,取得被指定的标记项目的字符项目的坐标。接着,在步骤S405中,算出在相同字符串的读取项目中,表示定义中实际使用的读取项目在标记项目的上方向还是在下方向的方向和距离标记项目的距离,如果读取项目在标记项目的上方向则将距离定义为正的值,如果在下方向则将距离定义为负的值。此距离的值也可以考虑实际每天发行的收据中的读取项目的行位置的变动,将规定的行数的距离作为余量添加。
图22示出标记项目的定义例。设如图22(A)所示的收据图像显示区域33中被显示的收据图像中,实际作为销售管理项目必要的读取项目为“消费税”。在此,具有相同名称“消费税”的项目存在多个,设在此中,位于上方的“消费税”是欲作为读取项目定义的项目。在此,将收据内唯一的其他项目(此例中为“退货明细”)作为标记项目定义。
即,如图22(B)所示,标记项目为“退货明细”,设距“消费税”的距离为向右方向“110”,向上方向“100”。此时,将(110,100)作为标记项目“退货明细”到读取项目“消费税”的距离定义。
标记项目不局限于1个,多个定义也可。在图22(C)的例子中,除将“退货明细”作为标记项目定义之外,对于“销售明细”也进行标记项目的定义。此时,只有满足全部的标记项目的定义条件的读取项目被作为符合的读取项目被抽出,读取项目只要不符合一个标记项目定义的条件时,即被认定为“无符合读取项目”
在图21的步骤S402中,被判定为由多个关键字辨识读取项目时,进至步骤S406,等待多个关键词的输入。如果有多个关键词的输入,在步骤S407中,取得多个关键字的字符项目和金额区域的坐标,作为多个关键字的定义。
图23中,示出多个关键字的设定例。在图23的例子中,和读取项目“总销售”相同名称的字符项目,存在有Str#12、Str#22、Str#32三个。此外,和其各自对应的金额的字符串也存在有Dat#12“¥168,735”、Dat#22“¥48,195”及Dat#32“¥32,025”三个。
设在此必要的读取项目为Str#12的“总销售”,因为只凭“总销售”的字符串不能够辨识Str#12的读取项目,所以将含有Str#12的多个字符项目作为多个关键字Key#1定义。在此例中,将“总销售”、“净销售”、“现金现额”及“贷现额”作为多个关键字Key#1定义。在此收据定义数据中,将表示多个关键字的“3”作为项目属性#1定义,将“总销售”、“净销售”、“现金现额”、“贷现额”作为读取字符#1定义。此外,针对销售管理项目的收集必要的金额的字符串Dat#12的金额栏的相对读取位置#1也在收据定义数据中定义。通过这样,即使在收据句中存在多个“总销售”的字符串,只要多个关键字唯一,和多个关键字一致的字符串中含有的“总销售”的读取项目就将被辨识。
图24是示出代替项目的设定例的图。说明在前述图12的步骤S210、S211中,代替项目处理部135进行的处理。
现在,如图24(A)所示,在OCR读取定义一览显示区域32中,进行消费税的定义,此外,设此项目区域的坐标信息也已被取得。在此,对于作为图24(A)所示的收据图像显示区域33的显示源的收据的原图像,再度对此部分进行OCR处理的字符识别。被识别为操作员实际输入的“消费税”时,因为正确所以不进行代替项目的处理。被识别为不同的字符,存在识别错误时,如图24(B)所示,输出催促输入代替项目的警告信息“读取困难的字符串。请指定代替项目。”。此外,不实际进行OCR处理,而是从图4(B)所示的识别字符数据推定识别精度也可。
操作员在如图24(B)所示的警告信息被输出时,指定如图24(C)的收据图像显示区域33中的“小计”的容易读取的收据项目作为代替项目。代替项目可以在原本的读取项目(消费税)的上侧也可以在下侧,行越近越好。如此例,当“小计”被指定为代替项目时,和消费税对应的金额“¥7,234”的相对位置的信息,在收据定义数据内,被定义为距离读取容易的“小计”的相对位置,而不是距离“消费税”的相对位置。
此外,为表示是通过代替项目定义,在OCR读取定义一览显示区域32内中,如图24(D)所示,代替项目“小计”和原本的读取项目“消费税”被规定的分隔符号“!”连接并显示。在收据定义数据内也如图7(B)所示,读取字符被定义为“小计!消费税”,表示是通过代替项目定义。
图25是示出判断类似数据有无的处理(图13的步骤S223)的详细内容的流程图。
新店铺的收据定义数据的编制中,参照已经编制完毕的收据定义数据并利用其编制时,为进行从历史数据自动抽出类似的收据定义数据的处理,判断类似数据的有无。首先,在步骤S501中,参照店铺主表103。另外,在步骤S502中,参照存放于历史数据存储部105的历史数据。
在步骤S503及步骤S504中判定,在步骤S501、S502参照的结果有无新编制收据定义数据的新店铺的业种代码和历史数据中的业种代码相同,且,新店铺的POS系统信息和历史数据中的POS系统信息相同的数据。判定结果,两者都相同的数据存在时,进至步骤S506.两者都相同的数据不存在时,进至步骤S505,判断结果为“无类似性”。
另一方面,在步骤S506中,判断为“有类似性”,在步骤S507中,参照历史数据(字典部)。在步骤S508中,从参照历史数据(字典部)的结果,类推符合销售管理项目的读取项目。
图26是示出历史数据编制处理(图14的步骤S232)的详细内容的流程图。
在步骤S601中,由新编制收据定义数据的店铺的店铺代码参照店铺主表103。在步骤S602中,从店铺主表103取得符合的业种代码、POS系统信息、结算收据信息。在步骤S603中,从编制的收据定义数据取得项目信息、运算信息。在步骤S604中,编制如图10及图11所示的历史数据和历史数据的字典部,存放于历史数据存储部105。
以上的编制收据定义数据的处理能够通过计算机及软件程序实现,同样能够将此程序记录在计算功能够读取的记录媒介上,能够通过网络提供。
符号说明
1 收据定义数据编制装置;10 读取机;11 图像数据读入部;12 定义输入画面显示部;13 输入数据处理部;131 坐标取得部;132 运算定义部;133 多个关键字设定部;134 标记项目设定部;135 代替项目处理部;14 定义数据编制部;15 历史数据编制部;101 图像数据存储部;102 基本数据存储部;103 店铺主表;104 定义数据存储部;105 历史数据存储部;2 数据;3 显示装置;4 输入装置。