一种基于OCR的随货单识别校准方法与流程

文档序号:33647581发布日期:2023-03-29 05:20阅读:126来源:国知局
一种基于OCR的随货单识别校准方法与流程
一种基于ocr的随货单识别校准方法
技术领域
1.本发明涉及信息技术领域,尤其涉及一种基于ocr的随货单识别校准方法。


背景技术:

2.随货单是药店随货同行单、销售单、出库单等的统称,作为药品流通企业、医疗机构购销药品要建立销售记录,做到票据、账目、货物、货款相一致的必须凭证。
3.基于阿里提供的通用ocr文字识别技术,可以初步做到随货单上大部分的文字识别,但是由于用户的拍照技术水平不一,图片质量参差不齐,容易造成直接识别出来的文字无法直接使用,影响随货单识别的准确性和随货单信息入库的效率。


技术实现要素:

4.基于此,本发明提供一种基于ocr的随货单识别校准方法。通过结合ocr文字识别技术提取随货单的图片数据,并结合行列坐标校验、多模板适配以及药店商品库数据,校准上述图片数据,从而提高随货单识别的准确性以及入库的效率。
5.根据本技术的一些实施例的第一方面,提供了一种基于ocr的随货单识别校准方法,包括以下步骤:
6.获取随货单图像,通过外部ocr接口对所述随货单图像进行识别,并得到预设输出格式的所述随货单的表格和以所述表格为参照的文字块坐标;
7.计算以所述随货单为参照的表格坐标和文字块位置坐标,将所述表格坐标与所述文字块位置坐标一一对应,得到校准好的所述随货单;
8.识别所述随货单中包含公司的关键文字块,并与商品数据库匹配,得到所述随货单的供应商名称;
9.将所述供应商名称对应的随货单表格与预存的多个表格模板适配,判断是否存在对应的目标表格模板;
10.若存在所述目标表格模板,则根据所述文字块坐标将所述文字块对应填充至所述目标表格模板,得到表格信息对象;
11.在所述表格信息对象中商品行数信息不为空时,确定所述随货单表格与所述目标表格模板适配准确,则确定所述表格信息对象作为识别结果,所述识别结果包括属性文本和商品行数信息。
12.进一步地,识别所述随货单中包含公司的关键文字块前,还包括:计算以所述随货单为参照的表格坐标和文字块位置坐标,将所述表格坐标与所述文字块位置坐标一一对应,得到校准好的所述随货单。
13.进一步地,若存在所述目标表格模板,还包括:
14.获取若干属性文本在所述随货单表格的表头行中对应的第一属性列坐标,以及在所述目标表格模板的表头行中对应的第二属性列坐标,其中,所述属性文本包括批准文号、通用名、生产厂家、规格、生产日期、有效期、数量、生产批号、单价、产地;
15.将若干所述属性文本的第二属性列坐标校准至与其对应的第一属性列坐标。
16.进一步地,将若干所述属性文本的第二属性列坐标校准至与其对应的第一属性列坐标后,还包括:
17.判断所述随货单表格是否符合预设的模板适配条件,所述模板适配条件包括:所述随货单表格的属性文本一半以上与所述目标表格模板的属性文本一致,或者,所述随货单表格的属性文本三分之一以上与所述目标表格模板的属性文本一致,且所述属性文本中批准文号的第一属性列坐标与第二属性列坐标一致;
18.若不符合,则根据获取的所述第一属性列坐标,构建对应的通用表格;
19.将所述随货单的文字块填充至所述通用表格内,对应生成表格信息对象。
20.进一步地,在所述表格信息对象中商品行数信息为空时,确定所述随货单表格与所述目标表格模板适配错误,则根据获取的所述第一属性列坐标,构建对应的通用表格;
21.将所述随货单的文字块填充至所述通用表格内,对应生成表格信息对象。
22.进一步地,若不存在所述目标表格模板,则根据获取的所述第一属性列坐标,构建对应的通用表格;
23.将所述随货单的文字块填充至所述通用表格内,对应生成表格信息对象。
24.进一步地,得到表格信息对象前,还包括:
25.通过文字块位置坐标和表格坐标对填充的所述目标表格模板校准,得到表格信息对象。
26.进一步地,识别所述随货单中包含公司的关键文字块,并与商品数据库匹配,得到所述随货单的供应商名称,包括:
27.识别包含公司的关键文字块并根据坐标排序,依序匹配与所述商品数据库中供应商名称的相似度;
28.确定所述相似度最大的供应商名称为所述随货单的供应商名称。
29.进一步地,该方法还包括:将所述识别结果中的商品名称、商品规格、生产厂家、批准文号与目标药店对应所述商品数据库中的子数据库匹配,获取符合所述目标药店的第一识别结果;
30.根据所述识别结果中的批准文号及商品名称长度,计算得到所述识别结果的基础分,所述基础分用于指示识别结果和所述商品数据库的匹配度;
31.选取超过所述基础分的第一识别结果,再次与所述商品数据库进行匹配,获取符合所述商品数据库的第二识别结果;
32.合并所述第一识别结果和所述第二识别结果,并选取排序前五的识别结果作为准确识别结果。
33.进一步地,所述外部ocr接口为阿里ocr接口,所述预设输出格式为json格式。
34.本技术基于现有的ocr文字识别技术基础,结合现有的商品数据库,对随货单的关键字进行识别并适配对应的预存目标表格模板,从而根据目标表格模板读取随货单数据,极大的提高了随货单入库效率。其次,还通过对ocr的识别结果结合随货单的绝对坐标,对其识别的坐标信息进行校验,解决了由于用户拍照导致的表格倾斜或者文字错位的问题。最后,本技术还通过结合药店对应的商品数据库,关联药店中已有的商品库信息,使得识别到的信息与商品库信息进行匹配校准,提高了对随货单中的模糊文字的识别准确性。
35.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图说明
36.图1为常见的随货单示意图;
37.图2为通过ocr识别后得到的随货单;
38.图3为本技术实施例中的基于ocr的随货单识别及校准方法的步骤流程图。
具体实施方式
39.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
40.应当明确,所描述的实施例仅仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术实施例保护的范围。
41.在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
42.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
43.此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
44.如图1所示,随货单是药店随货同行单、销售单、出库单等的统称。作为药品流通企业,医疗机构购销药品要建立销售记录,做到票据、账目、货物、货款相一致的必须凭证。随货单中药品的“生产厂商”、“药品的通用名称”、“剂型”、“规格”等通常是不变的,在每次验收时通常只需要核对,而“批号”、“数量”、“生产日期”和“有效期”是不断变化的,需要在每次验收时人工录入验收系统中。
45.目前的随货单入库技术是利用通用ocr文字识别技术,可以初步做到随货单上大部分的文字识别,但是由于用户的拍照技术水平不一,图片质量参差不齐,容易造成直接识别出来的文字无法直接使用,影响随货单识别的准确性和随货单信息入库的效率。如图2所示,表格中部分单元格内的文字识别有误,某些文字块形成重叠,无法验收。
46.针对上述问题,本技术提供一种基于ocr的随货单识别校准方法,请参阅图3,该方
法包括以下步骤:
47.步骤s1:获取随货单图像,通过外部ocr接口对所述随货单图像进行识别,并得到预设输出格式的所述随货单的表格和以所述表格为参照的文字块坐标。
48.该随货单图像通过拍照获取得到。该外部ocr接口可以是阿里ocr接口,该预设输出格式为json格式。该表格和文字块坐标均通过ocr接口获取,且该文字块坐标与该表格中的单元格坐标对应,例如,文字块“生产批号”的坐标为(1,5),其对应的单元格坐标为(1,5),则表明“生产批号”文字块位于随货单表格中的第一行的第五列单元格中。
49.步骤s2:识别所述随货单中包含公司的关键文字块,并与商品数据库匹配,得到所述随货单的供应商名称。该商品数据库可以通过搜索引擎elasticsearch的数据库获取。不同的供货商其随货单的模板会有所不同。如果按照常规,对每个随货单的表格进行一一识别,则识别同一供货商的随货单会浪费更多的时间。因此,可以根据不同的供货商名称,首先对随货单进行简单的区分,以便后续的识别步骤。
50.步骤s3:将所述供应商名称对应的随货单表格与预存的多个表格模板适配,判断是否存在对应的目标表格模板。
51.不同的供货商对应预存不同的表格模板,则可以根据当前供货商名称,快速调取预存的表格模板,减少对随货单表格的识别误差。
52.步骤s4:若存在所述目标表格模板,则根据所述文字块坐标将所述文字块对应填充至所述目标表格模板,得到表格信息对象。
53.该表格信息对象用于指示随货单的文字内容对应填充值预存模板后得到的数据。具体的,在填充过后,根据一定规则对目标表格模板进行分行和分列,分别获取每一列的属性文本数据,以及对应的每行商品数据,即为表格信息对象。
54.步骤s5:在所述表格信息对象中商品行数信息不为空时,确定所述随货单表格与所述目标表格模板适配准确,则确定所述表格信息对象作为识别结果,所述识别结果包括属性文本和商品行数信息。
55.商品行数信息不为空,则表明该模板内具有有效的商品数据,表明该模板与随货单的适配是准确的。
56.本技术通过获取ocr的识别结果后,识别其中的关键字并与商品数据库匹配,得到供应商名称。确定供应商名称对应的模板,从而将识别的文字块对应模板进行填充,能够快速便捷的将随货单入库,通过本方案的识别入库对人工入库校准取而代之,提高了入库的准确率和效率。
57.在一个优选的实施例中,识别所述随货单中包含公司的关键文字块前,还包括:计算以所述随货单为参照的表格坐标和文字块位置坐标,将所述表格坐标与所述文字块位置坐标一一对应,得到校准好的所述随货单。
58.由于ocr接口反馈回来的数据中,表格数据会有遗漏,这将导致文字块坐标和表格中的单元格坐标会有部分不匹配。此时,可以通过随货单所在纸张为参照的表格坐标和文字块位置坐标,匹配文字块和表格中的单元格。
59.供应商对应的模板不一定和当前供应商的随货单完全一致,该模板的适配仅保证了表格布局的一致性,例如,表头行分别有五列,但是该表头行中的文本信息不能够保证一致。为了保证文字块对应模板的准确性,需要对供应商对应的目标表格模板进行检查和确
认。因此,在一个优选的实施例中,步骤s4中,若存在所述目标表格模板,还包括:
60.步骤s411:获取若干属性文本在所述随货单表格的表头行中对应的第一属性列坐标,以及在所述目标表格模板的表头行中对应的第二属性列坐标,其中,所述属性文本包括批准文号、通用名、生产厂家、规格、生产日期、有效期、数量、生产批号、单价、产地。
61.步骤s412:将若干所述属性文本的第二属性列坐标校准至与其对应的第一属性列坐标。
62.随货单中的表头行是用于设置商品的属性文本,目标表格模板也是通过对表头行中的属性文本的设置是否与随货单的一致来确认的。具体是通过对不同属性文本所处的坐标进行识别。例如,在随货单中的“批准文号”的第一属性列坐标为(1,3),在目标表格模板中的“批准文号”的第二属性列坐标为(1,5),则表明“批准文号”在随货单与目标表格模板中不一致,需要将其进行校准,保证“批准文号”在目标表格模板中的第二列坐标也为(1,3)。这样可以使得目标表格模板中的内容能够一一与随货单对应,减少内容适配的误差。
63.根据供应商名称,确定是否存在适配的模板,并根据适配模板进行识别的过程中有三种异常情况,分别是:第一种,虽然存在目标表格模板,但是随着供应商的随货单的表格更新,当前存储的供货商对应的模板已经不能够匹配了;第二种,虽然确认现有的模板与随货单匹配成功,但是填充后的表格中没有商品信息;第三种,不存在适配的模板。其最快速的解决办法即为根据当前的文字坐标以及获取的属性列坐标,重新构建通用模板。
64.基于上述第一种情况,在一个优选的实施例中,确认供应商模板之后,还包括:
65.步骤s421:判断所述随货单表格是否符合预设的模板适配条件,所述模板适配条件包括:所述随货单表格的属性文本一半以上与所述目标表格模板的属性文本一致,或者,所述随货单表格的属性文本三分之一以上与所述目标表格模板的属性文本一致,且所述属性文本中批准文号的第一属性列坐标与第二属性列坐标一致。
66.步骤s422:若不符合,则根据获取的所述第一属性列坐标,构建对应的通用表格。
67.步骤s423:将所述随货单的文字块填充至所述通用表格内,对应生成表格信息对象。
68.目标表格模板在不满足上述适配条件时,表明该供应商的随货单表格更新了其模板,则需要重新构建更适配的通用表格,以避免随货单表格与模板适配度低导致的识别错误。在一个具体的例子中,将所述随货单的文字块填充至所述通用表格内,对应生成表格信息对象。与上述步骤s4中,将文字块填充值对应的目标表格模板相同,均是通过文字块的坐标对应属性列坐标以及表格中的单元格坐标对应填充。
69.基于上述第二种情况,在一个优选的实施例中,包括如下步骤:、步骤s431:在所述表格信息对象中商品行数信息为空时,确定所述随货单表格与所述目标表格模板适配错误,则根据获取的所述第一属性列坐标,构建对应的通用表格。步骤s432:将所述随货单的文字块填充至所述通用表格内,对应生成表格信息对象。
70.基于上述第三种情况,在一个优选的实施例中,包括如下步骤:
71.步骤s441:若不存在所述目标表格模板,则根据获取的所述第一属性列坐标,构建对应的通用表格。步骤s442:将所述随货单的文字块填充至所述通用表格内,对应生成表格信息对象。
72.在一个具体的实施例中,得到表格信息对象前,还包括:
73.通过文字块位置坐标和表格坐标对填充的所述目标表格模板校准,得到表格信息对象。该步骤与校准ocr识别的结果的目的相同,均是以随货单所在纸张为参照,对应该纸张上的文字块位置坐标和表格坐标都是绝对坐标,不会发生错漏和误差,能够对表格数据精确的校准。
74.在一个具体的实施例中,步骤s2中,识别所述随货单中包含公司的关键文字块,并与商品数据库匹配,得到所述随货单的供应商名称,包括:
75.步骤s21:识别包含公司的关键文字块并根据坐标排序,依序匹配与所述商品数据库中供应商名称的相似度。
76.供应商名称一般为xx公司、xx有限责任公司、xx股份有限公司等。因此,可以识别包含公司的关键文字块,在其他实施例中,也可是企业、集团等与供应商名称相关的文字块。坐标排序可以是y坐标排序,也可以是x坐标排序。
77.步骤s22:确定所述相似度最大的供应商名称为所述随货单的供应商名称。
78.相似度越大,则表明当前文字块与该供应商名称越接近。具体的,可以选取排序前五名的文字块与es商品数据库进行比对。
79.由于随货单上的商品数据和药店系统中商品数据不一定完全一样,所以需要一些匹配规则处理,用于精确校准入库。在一个优选的实施例中,该方法还包括:
80.将所述识别结果中的商品名称、商品规格、生产厂家、批准文号与目标药店对应所述商品数据库中的子数据库匹配,获取符合所述目标药店的第一识别结果。不同药店对应的商品数据和es商品数据库可能会有所出入,因此,需要将通过es商品数据库进行粗校准的内容与药店的子数据库进行匹配。
81.根据所述识别结果中的批准文号及商品名称长度,计算得到所述识别结果的基础分,所述基础分用于指示识别结果和所述商品数据库的匹配度。基础分可以根据不同药店规则设置,例如该药店的商品数据涉及的商品种类较为广泛,则其基础分可以设置的较低,反之,则可以设置的较高一点。
82.选取超过所述基础分的第一识别结果,再次与所述商品数据库进行匹配,获取符合所述商品数据库的第二识别结果。
83.合并所述第一识别结果和所述第二识别结果,并选取排序前五的识别结果作为准确识别结果。
84.无论是第一识别结果还是第二识别结果,从商品数据库中获取的时候,每个结果中的每一个行数据都会拥有一个分数,分数的评定是数据库根据匹配的条件和结果之间的相似度得出的。虽然第一识别结果与第二识别结果获取的数据库分别是不同的两个(商品数据库和药店的子数据库),但是由于两个数据库的数据量是差不多,结构一致的原因,所以评定分数标准基本一致。所以可以根据合并后结果的分数排序,分数越高,排名靠前。
85.该步骤是用于将获取的数据与当前药店的子数据库进行关联匹配。之前的步骤是基于es商品数据库,都是脱离目标药店中商品数据,以通用逻辑进行的校准,而这里是以目标药店的商品数据进行校准,明确了校准目标,则其校准结果更加准确。
86.本技术基于现有的ocr文字识别技术基础,结合现有的商品数据库,对随货单的关键字进行识别并适配对应的预存目标表格模板,从而根据目标表格模板读取随货单数据,极大的提高了随货单入库效率。其次,还通过对ocr的识别结果结合随货单的绝对坐标,对
其识别的坐标信息进行校验,解决了由于用户拍照导致的表格倾斜或者文字错位的问题。最后,本技术还通过结合药店对应的商品数据库,关联药店中已有的商品库信息,使得识别到的信息与商品库信息进行匹配校准,提高了对随货单中的模糊文字的识别准确性。
87.应当理解的是,本技术实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术实施例的范围仅由所附的权利要求来限制。以上所述实施例仅表达了本技术实施例的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术实施例构思的前提下,还可以做出若干变形和改进,这些都属于本技术实施例的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1