CN117523590B - 一种校验生产厂商名称的方法、装置、设备及存储介质 - Google Patents
一种校验生产厂商名称的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117523590B CN117523590B CN202311497165.XA CN202311497165A CN117523590B CN 117523590 B CN117523590 B CN 117523590B CN 202311497165 A CN202311497165 A CN 202311497165A CN 117523590 B CN117523590 B CN 117523590B
- Authority
- CN
- China
- Prior art keywords
- name information
- original
- candidate
- phrases
- phrase
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 239000003814 drug Substances 0.000 claims abstract description 75
- 229940079593 drug Drugs 0.000 claims abstract description 53
- 238000012015 optical character recognition Methods 0.000 claims abstract description 44
- 238000012216 screening Methods 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims description 41
- 239000011159 matrix material Substances 0.000 claims description 25
- 230000011218 segmentation Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 238000009825 accumulation Methods 0.000 claims description 9
- 230000003287 optical effect Effects 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/19007—Matching; Proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19187—Graphical models, e.g. Bayesian networks or Markov models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种校验生产厂商名称的方法、装置、设备及存储介质,该方法包括:对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息;依据表格中的单元格定位属于生产厂商的名称的文本信息,作为原始名称信息;若原始名称信息与预设的标准名称信息均不同,则筛选出与原始名称信息相似的部分标准名称信息,作为候选名称信息;将原始名称信息与各个候选名称信息进行相互校验,以计算原始名称信息与各个候选名称信息匹配的概率;若概率满足预设的校验条件,则将原始名称信息修正为概率对应的候选名称信息。本实施例减少人工核对药品生成厂商的名称的工作,提高了录入药品生成厂商的名称的效率。
Description
技术领域
本发明涉及自然语言处理的技术领域,尤其涉及一种校验生产厂商名称的方法、装置、设备及存储介质。
背景技术
电商平台从多个药品的生产厂商采购药品,多个供应商在运输药品时均附带药品的清单,电商平台的工作人员在验收药品时,扫描清单并将使用OCR(Optical CharacterRecognition,光学字符识别)技术识别清单中的文本信息,将清单中生产厂商的名称录入系统中。
一方面,供应商提供的清单中生产厂商的名称格式多样化,而且,供应商往往会在生产厂商的名称中添加其他信息,另一方面,由于字体(如宋体、楷体等)差异、清单折叠、油墨污染、印章覆盖字体等因素的影响,OCR识别出错,得到错误的生产厂商的名称。
工作人员在核对生产厂商的名称时,如果发现错误,则人工进行修正,核对生产厂商的名称的工作较为繁琐,容易发生错漏,导致录入生产厂商的名称的效率较低。
发明内容
本发明提供了一种校验生产厂商名称的方法、装置、设备及存储介质,以解决如何提高使用OCR技术录入药品生产厂商的名称的效率的问题。
根据本发明的一方面,提供了一种校验生产厂商名称的方法,包括:
对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息,所述图像数据包含以表格的形式记录的、向供应商订购所述药品的清单;
依据所述表格中的单元格定位属于所述生产厂商的名称的所述文本信息,作为原始名称信息;
若所述原始名称信息与预设的标准名称信息均不同,则筛选出与所述原始名称信息相似的部分所述标准名称信息,作为候选名称信息;
将所述原始名称信息与各个所述候选名称信息进行相互校验,以计算所述原始名称信息与各个所述候选名称信息匹配的概率;
若所述概率满足预设的校验条件,则将所述原始名称信息修正为所述概率对应的所述候选名称信息。
根据本发明的另一方面,提供了一种校验生产厂商名称的装置,包括:
文本信息识别模块,用于对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息,所述图像数据包含以表格的形式记录的、向供应商订购所述药品的清单;
原始名称信息定位模块,用于依据所述表格中的单元格定位属于所述生产厂商的名称的所述文本信息,作为原始名称信息;
候选名称信息筛选模块,用于若所述原始名称信息与预设的标准名称信息均不同,则筛选出与所述原始名称信息相似的部分所述标准名称信息,作为候选名称信息;
匹配概率计算模块,用于将所述原始名称信息与各个所述候选名称信息进行相互校验,以计算所述原始名称信息与各个所述候选名称信息匹配的概率;
原始名称信息修正模块,用于若所述概率满足预设的校验条件,则将所述原始名称信息修正为所述概率对应的所述候选名称信息。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的校验生产厂商名称的方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现本发明任一实施例所述的校验生产厂商名称的方法。
在本实施例中,对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息,图像数据包含以表格的形式记录的、向供应商订购药品的清单;依据表格中的单元格定位属于生产厂商的名称的文本信息,作为原始名称信息;若原始名称信息与预设的标准名称信息均不同,则筛选出与原始名称信息相似的部分标准名称信息,作为候选名称信息;将原始名称信息与各个候选名称信息进行相互校验,以计算原始名称信息与各个候选名称信息匹配的概率;若概率满足预设的校验条件,则将原始名称信息修正为概率对应的候选名称信息。本实施例使用标准名称信息修正从清单中识别的原始名称信息,可以同时克服光学字符识别模型的检测错误或分行错误、供应商的格式不规范或书写错误、信息冗余等问题,一级过滤出与原始名称信息相似的标准名称信息,可降低数据量,从而降低运算量,二级针对生产厂商名称较长的特性对原始名称信息与候选名称信息双向校验,可以有效提高匹配的概率的精确度,从而提高识别生产厂商名称的精确度,不仅避免训练光学字符识别模型,成本低,保证光学字符识别模型在其他业务的性能,而且,可有效降低错误,减少人工核对药品生成厂商的名称的工作,大大提高了录入药品生产厂商的简便性,从而提高了录入药品生成厂商的名称的效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种校验生产厂商名称的方法的流程图;
图2是根据本发明实施例一提供的一种录入清单的示例图;
图3是根据本发明实施例一提供的一种识别生产厂商名称的示例图;
图4是根据本发明实施例一提供的一种校验生产厂商名称的示例图;
图5是根据本发明实施例二提供的一种校验生产厂商名称的装置的结构示意图;
图6是根据本发明实施例三提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种校验生产厂商名称的方法的流程图,本实施例可适用于依据已入库药品的生产厂商的名称对清单中生产厂商的名称进行校验的情况,该方法可以由校验生产厂商名称的装置来执行,该校验生产厂商名称的装置可以采用硬件和/或软件的形式实现,该校验生产厂商名称的装置可配置于电子设备中。如图1所示,该方法包括:
步骤101、对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息。
在实际应用中,电商平台向多个供应商采购药品,供应商将药品及药品的清单通过物流等形式寄送到电商平台指定的地址,电商平台的工作人员对药品进行验收,以便将药品存入仓库中。
一般情况下,药品的清单以表格的形式记录药品的各种信息。
如图2所示,在验收药品的过程中,工作人员可使用高拍仪等摄像设备对药品的清单采集图像数据,即,图像数据包含以表格的形式记录的、向供应商订购药品的清单。
在本实施例中,可以预先基于OCR的技术构建并训练光学字符识别模型,即,光学字符识别模型用于对图像数据执行光学字符识别。
其中,光学字符识别模型的结构不局限于人工设计的神经网络,也可以通过模型量化方法优化的神经网络,通过NAS(Neural Architecture Search,神经网络结构搜索)方法针对药品清单的特性搜索的神经网络,等等,本实施例对此不加以限制。
由于药品的清单的背景较为清晰、背景为规范,可认为检测药品的清单中的文字属于简单的场景,可使用轻量级的光学字符识别模型(如Paddle OCR等),通过利用计算机视觉中的图像形态学操作,如膨胀、腐蚀基本操作等,即可在简单场景检测文字,并保证较高的精确度。
为了降低开发的工作量,本实施例中的光学字符识别模型(如Paddle OCR等)可以是预训练的光学字符识别模型,后期采集内容为向供应商采购药品的清单的图像数据作为样本,对光学字符识别模型进行微调(fine tuning)。
将图像数据输入光学字符识别模型中,光学字符识别模型对图像数据执行光学字符识别,从而在图像数据中检测多个独立的文本信息,其中,在光学字符识别模型是以检测框的方式标记一个独立的文本信息,在一个独立的文本块中可包含一个或多个字符,这些字符包括文字(如汉字、英语、阿拉伯数字等)、标点符号(如点、句号、括号等),等等。
在实际应用中,如图2所示,药品的清单中具有多种语义的信息,例如,药品的标题、药品的规格、生产厂商的名称、药品的单位、药品的数量、药品的单价、药品生产厂商的名称、药品的批号或批准文号、药品的生产日期及有效期、药品的零售价格,等等。
步骤102、依据表格中的单元格定位属于生产厂商的名称的文本信息,作为原始名称信息。
一般情况下,如图2所示,供应商提供的清单中对多种语义的信息的排版具有较为稳定的规律,因此,在录入生产厂商的名称时,可以依据排版的规律在所有文本信息中查找语义为生产厂商的名称的文本块,记为原始名称信息。
进一步地,由于生产厂商的名称的长度较长,容易产生多行信息,且行的数量不一,不适宜使用模板的方式筛选出属于生产厂商的名称的文本信息,但是,生产厂商的名称是固定写在表格中的单元中的,因此,可以以表格中的单元格为参数,定位属于生产厂商的名称的文本信息,记为原始名称信息。
在具体实现中,如图2所示,将图像数据输入Modelscope中的table_recognition、Cycle-CenterNet等表格识别模型中,在图像数据中识别单元格,其中,单元格中具有多个顶点。
若两个单元格之间重叠的程度(以IoU(Intersection over Union,交并比)等方式表示)大于预设的重叠阈值(如90%),表示两个单元格之间重叠的程度较高,属于嵌套的异常,则可以在两个单元格中删除面积最小的单元格。
若完成删除,则可以按照行与列的顺序对单元格(含顶点)进行排序,从而对齐单元格(含顶点),在对齐的情况下,合并相邻的顶点,所谓相邻,可以顶点之间的距离(如欧式距离)小于预设的间距阈值,相邻的顶点多是表格识别模型检测产生的错误,合并顶点可以让拆分的单元格合并到同一个表格中。
若完成合并,则考虑到正常的单元格具有四个顶点,可使用插值法等方式按照行与列的顺序(如自上而下、从左往右等)补全顶点。
若完成补全,则可以按照行与列的顺序去除孤立的顶点,孤立的顶点无法组成正常的单元格,即,孤立的订单对于单元格来说,属于噪音。
若完成去除,则提取相连面积最大的多个单元格,作为表格。
将表格映射至图像数据上,那么,在同一图像数据(坐标系)上,表格与文本块重叠,使得一个或多个文本块落入该表格的各个单元格中。
此外,可使用关键词(即供应商的名称)匹配等方式在文本信息中查找供应商的标识信息。
依据标识信息在表格中查找位于指定的行或列上的单元格。
在供应商的药品清单中,习惯将生产厂商的名称排版至某行或某列(如第1列),不同供应商排版生产厂商的名称的行或列存在一定差异,但大多默认将生产厂商的名称排版至某行或某列(如第3列),以符合某些排版的规范,因此,可查询是否对标识信息表示的供应商标记生产厂商的名称所在的行或列。
如果对供应商已标记药品生产厂商的名称所在的行或列,则可以定位位于该行或该列上的各个单元格。
如果后期工作人员校验正常该行或该列并非记录生产厂商的名称,并指定某行或某列,则以供应商的标识为索引,标记工作人员指定的行或列的信息(如行数或列数)。
如果未对供应商位标记生产厂商的名称所在的行或列,则查找表格中默认的行或默认的列(如第3列),从而定位位于该行或该列上的各个单元格。
如果后期工作人员校验该行或该列上的单元格记录生产厂商的名称,则以供应商的标识为索引,标记该行或该列的信息(如行数或列数)。
如果后期工作人员校验正常该行或该列并非记录生产厂商的名称,并指定某行或某列,则以供应商的标识为索引,标记工作人员指定的行或列的信息(如行数或列数)。
若查找到相关的单元格,由于电商平台的系统对生产厂商的名称的长度存在限制,则可以确定单元格内首行文本信息、换行符号与末行文本信息组成生产厂商的名称,得到原始名称信息。
进一步地,如果药品生产厂商的名称较短,换行符号与末行文本信息可以为空。
在一个示例中,如图3所示,对清单中药品生产厂商的名称(即“生产厂商”一列)进行OCR,识别到的原始名称信息分别为:
AABB药业股份#有限公司
CCDD药业股份#限公司生产
CCDD药业股份#限公司生服
其中,AA、CC均为行政区划分名称,BB、DD均为字号,#为换行符号。
在图3的清单中,部分生产厂商的名称添加了委托生产的冗余信息,印章覆盖了部分文字,使得OCR识别出错,如第三个原始名称信息中,将“产”识别为“服”。
在具有冗余信息的情况下,生产厂商的名称超过了限制,取首行文本信息与末行文本信息组成原始名称信息时,错误较大。
步骤103、若原始名称信息与预设的标准名称信息均不同,则筛选出与原始名称信息相似的部分标准名称信息,作为候选名称信息。
在本实施例中,可以每间隔一段时间整理已经入库药品的生产厂商的名称,将其名称记录为标准名称信息,即,标准名称信息表示已入库药品的生产厂商的名称,药品已入库,表明该药品的生产厂商的名称经过电商平台的工作人员的校验,使得标准名称信息中并不存在OCR识别的错误、供应商的格式不规范或书写错误、信息冗余等问题。
遍历清单中的各个原始名称信息,可以将原始名称信息与各个已入库药品的生产厂商的标准名称信息进行比较,判断原始名称信息与已入库药品的生产厂商的标准名称信息是否相同。
如果原始名称信息与已入库药品的生产厂商的标准名称信息相同,则可以将原始名称信息直接提供给工作人员,作为录入药品的生产厂商的名称的参考。
工作人员在录入药品的生产厂商的名称时,会进一步依据图像数据或清单本身核对原始名称信息是否有误。
如果工作人员核对原始名称信息无误,则将原始名称信息作为药品的生产厂商的名称录入至电商平台的系统中。
如果原始名称信息与各个已入库药品的的生产厂商的标准名称信息均不相同,表示原始名称信息并不满足入库的要求,可能存在OCR识别出错、供应商的格式不符合规范、信息冗余等问题。
在本实施例中,可以对原始名称信息与标准名称信息进行初步的校验,从所有原始名称信息中筛选出与原始名称信息相似的部分标准名称信息,记为候选名称信息,减少标准名称信息的数量,从而降低后续的运算量。
在具体实现中,可以将一个汉字、英文字母、符号等当作一个独立的字符,那么,原始名称信息为一个字符串,各个标准名称信息也为一个字符串,此时,计算原始名称信息(字符串)与各个标准名称信息(字符串)之间的编辑距离(Edit Distance)。
其中,编辑距离指两个字串之间,由一个转换成另一个所需的最少编辑操作次数,允许的编辑操作包括:
将其中一个字符替换成另一个字符(Substitutions)。
插入一个字符(Insertions)。
删除一个字符(Deletions)。
将编辑距离与预设的距离阈值(如8)进行比较,距离阈值表示字符串中允许出错的字符的数量。
若编辑距离小于或等于预设的距离阈值,则确定原始名称信息与标准名称信息相似,并将标准名称信息标记为候选名称信息。
步骤104、将原始名称信息与各个候选名称信息进行相互校验,以计算原始名称信息与各个候选名称信息匹配的概率。
针对原始名称信息与各个候选名称信息,可以对原始名称信息与候选名称信息进行相互校验,所谓相互校验,是指双向的校验,即,以候选名称信息为基准,校验原始名称信息与候选名称信息的相似程度,以原始名称信息为基准,校验候选名称信息与原始名称信息的相似程度,将相互校验的中间结果结合,计算出原始名称信息与各个候选名称信息匹配的概率。
在本发明第一个实施例中,步骤104可以包括如下步骤:
步骤1041、将原始名称信息切分为多个原始词组。
在本实施例中,可以对原始名称信息执行分词处理,从而将原始名称信息切分为多个原始词组。
一般情况下,可以使用通用的分词工具(如jieba、hanLP和StanfordNLP等)医药领域的字典、自定义字典和正则表达式匹配等方式对原始名称信息执行分词处理。
考虑到原始名称信息与各个候选名称信息之间是互相校验,并且,换行的文本信息有可能属于信息冗余,例如,在单元格的右下角标记生产厂商的商标,等等,因此,可以在原始名称信息中查找在光学字符识别中生成的换行符号,以此进行分词处理,可以提高分词得到的原始词组的整体性,可以排除一些冗余信息的干扰。
如果查找到换行符号,则可以以换行符号为切分的节点,将原始名称信息切分为多个原始词组。
如果未查找到换行符号,则可以将原始名称信息自身设置为原始词组。
那么,原始词组可以记为A={A[0],A[1],……,A[n]},其中,n为原始词组的数量。
在一个示例中,对图3中识别得到的原始名称信息切分为原始词组如下:
AABB药业股份#有限公司:['AABB药业股份','有限公司'];
CCDD药业股份#限公司生产:['CCDD药业股份','限公司生产'];
CCDD药业股份#限公司生服:['CCDD药业股份','限公司生服']。
步骤1042、针对各个候选名称信息,依据候选名称信息构建多个候选词组。
针对各个候选名称信息,可以对候选名称信息进行拆解,构建多个候选词组,候选词组为候选名称信息的子集,即,任一候选词组均为候选名称信息中的元素。
在具体实现中,候选词组包括第一特征词组与第二特征词组。
针对各个候选名称信息,可以将候选名称信息本身设置为第一特征词组,以及,对候选名称信息执行分词处理,得到多个分词,记为多个第二特征词组。
那么,候选名称信息可以记为T={T[0],T[1],……,T[m]},其中,m为候选词组的数量,为便于运算,T[0]为第一特征词组,T[1],……,T[m]为第二特征词组。
一般情况下,可以使用通用的分词工具(如jieba、hanLP和StanfordNLP等)对候选名称信息执行分词处理,操作比较便捷,拓展性也比较好。
考虑到药品生产厂商的名称包含专业性的医药词汇,因此,可以在通用的分词工具的基础上,通过加载医药领域的字典、自定义字典和正则表达式匹配等方式辅助对候选名称信息执行分词处理,以提高分词的精确度。
在一个示例中,针对图3中原始名称信息从标准名称信息中筛选出候选名称信息为AABB药业股份有限公司、CCDD药业股份有限公司,对候选名称信息使用jieba分词,生成的候选词组如下:
AABB药业股份有限公司:['AABB药业股份有限公司','AA','BB','药业','股份','有限公司'];
CCDD药业股份有限公司:['CCDD药业股份有限公司','CC','DD','药业','股份','有限公司']。
步骤1043、针对各个候选名称信息,依据多个原始词组在多个候选词组出现的第一频次计算检测概率。
在本实施例中,可以以原始名称信息为基准,针对各个候选名称信息,分别统计多个原始词组在多个候选词组出现的第一频次,依据该第一频次计算检测概率,检测概率表征OCR识别的结果(原始名称信息)在真实的结果(候选名称信息)中的强度。
一般情况下,检测概率与多个原始词组在多个候选词组出现的第一频次正相关,即,多个原始词组在多个候选词组出现的第一频次越高,则检测概率越高,反之,多个原始词组在多个候选词组出现的第一频次越低,则检测概率越低。
在具体实现中,候选词组包括第一特征词组,第一特征词组为候选名称信息本身。
针对各个候选名称信息,将各个原始词组与第一特征词组进行比较。
若原始词组出现在第一特征词组,则对原始词组出现在第一特征词组的第一频次累加1。
若原始词组未出现在第一特征词组,则对原始词组出现在第一特征词组的第一频次累加0。
统计原始名称信息中多个原始词组的第一长度,计算第一频次与第一长度之间的比值,得到检测概率。
那么,检测概率表示为:
其中,P1为检测概率,n为原始名称信息中原始词组的数量,为第一频次。
如果原始名称信息中第i个原始词组A[i]出现在候选名称信息的第一特征词组T[0]中,则Bi=1,如果原始名称信息中第i个原始词组A[i]未出现在候选名称信息的第一特征词组T[0]中,则Bi=0。
在一个示例中,针对原始名称信息“AABB药业股份#有限公司”与候选名称信息“AABB药业股份有限公司”,原始词组'AABB药业股份'在“AABB药业股份有限公司”中出现,第一频次累加1,'有限公司'在“AABB药业股份有限公司”中出现,第一频次再累加1,“AABB药业股份#有限公司”中原始词组的第一长度为2,因此,检测概率P1=(1+1)/2=100%。
针对原始名称信息“CCDD药业股份#限公司生产”与候选名称信息“CCDD药业股份有限公司”,原始词组'CCDD药业股份'在“CCDD药业股份有限公司”中出现,第一频次累加1,'限公司生产'未在“CCDD药业股份有限公司”中出现,第一频次再累加0,“CCDD药业股份#限公司生产”中原始词组的第一长度为2,因此,检测概率P1=(1+0)/2=50%。
针对原始名称信息“CCDD药业股份#限公司生服”与候选名称信息“CCDD药业股份有限公司”,原始词组'CCDD药业股份'在“CCDD药业股份有限公司”中出现,第一频次累加1,'限公司生服'未在“CCDD药业股份有限公司”中出现,第一频次再累加0,“CCDD药业股份#限公司生服”中原始词组的第一长度为2,因此,检测概率P1=(1+0)/2=50%。
步骤1044、针对各个候选名称信息,依据多个候选词组在多个原始词组出现的第二频次计算真实概率。
在本实施例中,可以以候选名称信息为基准,针对各个候选名称信息,分别统计多个候选词组在多个原始词组出现的第二频次,依据该第二频次计算真实概率,真实概率表征真实的结果(候选名称信息)在OCR识别的结果(原始名称信息)中的强度。
一般情况下,真实概率与多个候选词组在多个原始词组出现的第二频次正相关,即,多个候选词组在多个原始词组出现的第二频次次越高,则真实概率越高,反之,多个候选词组在多个原始词组出现的第二频次越低,则真实概率越低。
在具体实现中,候选词组包括第二特征词组,第二特征词组为候选名称信息的分词。
针对各个候选名称信息,将多述第二特征词组分别与各个原始词组进行比较,以生成多个出现矩阵。
其中,出现矩阵中的元素为1时,表示第二特征词组出现在原始词组中,出现矩阵中的元素为0时,表示第二特征词组未出现在原始词组中。
对所有出现矩阵求和,得到总矩阵,计算总矩阵中各个元素求和,得到多个候选词组在多个原始词组出现的第二频次。
统计候选名称信息中第二特征词组的第二长度,计算所述第二频次与第二长度之间的比值,得到真实概率。
在一个示例中,针对原始名称信息“AABB药业股份#有限公司”与候选名称信息“AABB药业股份有限公司”,检测第二特征词组'AA','BB','药业','股份','有限公司'是否在'AABB药业股份'中出现,生成出现矩阵为[1,1,1,1,0],检测第二特征词组'AA','BB','药业','股份','有限公司'是否在'有限公司'中出现,生成出现矩阵为[0,0,0,0,1],两个出现矩阵求和,得到总矩阵[1,1,1,1,1],“AABB药业股份有限公司”中第二特征词组的第二长度为5,因此,真实概率P2=(1+1+1+1+1)/5=100%。
针对原始名称信息“CCDD药业股份#限公司生产”与候选名称信息“CCDD药业股份有限公司”,检测第二特征词组'CC','DD','药业','股份','有限公司'是否在'CCDD药业股份'中出现,生成的出现矩阵为[1,1,1,1,0],检测第二特征词组'CC','DD','药业','股份','有限公司'是否在'限公司生产'中出现,生成的出现矩阵为[0,0,0,0,0],两个出现矩阵求和,得到总矩阵[1,1,1,1,0],“CCDD药业股份有限公司”中第二特征词组的第二长度为5,因此,真实概率P2=(1+1+1+1+0)/5=80%。
针对原始名称信息“CCDD药业股份#限公司生服”与候选名称信息“CCDD药业股份有限公司”,检测第二特征词组'CC','DD','药业','股份','有限公司'是否在'CCDD药业股份'中出现,生成的出现矩阵为[1,1,1,1,0],检测第二特征词组'CC','DD','药业','股份','有限公司'是否在'限公司生服'中出现,生成的出现矩阵为[0,0,0,0,0],两个出现矩阵求和,得到总矩阵[1,1,1,1,0],“CCDD药业股份有限公司”中第二特征词组的第二长度为5,因此,真实概率P2=(1+1+1+1+0)/5=80%。
步骤1045、将检测概率与真实概率融合为原始名称信息与各个候选名称信息匹配的概率。
在本实施例中,可以通过线性或非线性的方式,将检测概率与真实概率融合,得到为原始名称信息与各个候选名称信息之间匹配的概率。
以线性融合为例,对检测概率配置第一权重,对真实概率配置第二权重,其中,第一权重与第二权重均为[0,1]中的数值。
对检测概率与第一权重之间的乘积、真实概率于第二权重之间的乘积求和,得到原始名称信息与各个候选名称信息匹配的概率。
那么,原始名称信息与候选名称信息匹配的概率可以表示为:
P=k1*P1+k2*P2
其中,P为匹配的概率,P1为检测概率,P2为真实概率,k1为第一权重,k2为第二权重。
在一个示例中,设第一权重为0.4,第二权重为0.6,那么,原始名称信息“AABB药业股份#有限公司”与候选名称信息“AABB药业股份有限公司”匹配的概率P=0.4*100%+0.6+100%=100%,原始名称信息“CCDD药业股份#限公司生产”与候选名称信息“CCDD药业股份有限公司”匹配的概率P=0.4*50%+0.6+80%=68%,原始名称信息“CCDD药业股份#限公司生服”与候选名称信息“CCDD药业股份有限公司”匹配的概率P=0.4*50%+0.6+80%=68%。
步骤105、若概率满足预设的校验条件,则将原始名称信息修正为概率对应的候选名称信息。
在本实施例中,可以预先设置校验条件,例如,概率最高,概率大于阈值,等等。
将原始名称信息与各个候选名称信息匹配的概率与校验条件进行比较,原始名称信息与各个候选名称信息匹配的概率与校验条件进行比较,如果原始名称信息与某个候选名称信息匹配的概率满足校验条件,则可以将原始名称信息修正为该概率对应的候选名称信息,并将该候选名称信息反馈给电商平台的工作人员,作为录入药品生产厂商的名称的参考。
工作人员在录入药品生产厂商的名称时,会进一步依据图像数据或清单本身核对候选名称信息是否有误。
如果工作人员核对候选名称信息无误,则将候选名称信息作为药品生产厂商的名称录入至电商平台的系统中。
如果工作人员核对候选名称信息有误,则依据图像数据或清单本身对候选名称信息进行修正,将修正后的候选名称信息作为药品生产厂商的名称录入至电商平台的系统中。
在一个示例中,校验条件为概率最高,如图4所示,原始名称信息“AABB药业股份#有限公司”与候选名称信息“AABB药业股份有限公司”匹配的概率最高,原始名称信息“CCDD药业股份#限公司生产”与候选名称信息“CCDD药业股份有限公司”匹配的概率最高,原始名称信息“CCDD药业股份#限公司生服”与候选名称信息“CCDD药业股份有限公司”匹配的概率最高,此时,在电商平台的系统中显示“AABB药业股份有限公司”、“CCDD药业股份有限公司”与“CCDD药业股份有限公司”供工作人员作为录入生产厂商的参考。
一般情况下,光学字符识别模型的检测错误是一些长尾现象,如果为了克服光学字符识别模型在识别药品生产厂商的名称时的检测错误,而采集大量的样本对光学字符识别模型进行训练,采集样本与标注样本的成本高,而且,容易造成过拟合,影响光学字符识别模型在其他业务的性能。
此外,供应商来源广泛,供应商的格式多样化、难以统一,供应商的书写错误、格式规范化问题、信息冗余较难从源头纠正。
在药品入库时,对图像数据执行光学字符识别,得到多个文本信息,所述图像数据包含以表格的形式记录的、向供应商订购所述药品的清单;
依据所述表格中的单元格定位属于所述生产厂商的名称的所述文本信息,作为原始名称信息;
若所述原始名称信息与预设的标准名称信息均不同,则筛选出与所述原始名称信息相似的部分所述标准名称信息,作为候选名称信息;
将所述原始名称信息与各个所述候选名称信息进行相互校验,以计算所述原始名称信息与各个所述候选名称信息匹配的概率;
若所述概率满足预设的校验条件,则将所述原始名称信息修正为所述概率对应的所述候选名称信息。
在本实施例中,对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息,图像数据包含以表格的形式记录的、向供应商订购药品的清单;依据表格中的单元格定位属于生产厂商的名称的文本信息,作为原始名称信息;若原始名称信息与预设的标准名称信息均不同,则筛选出与原始名称信息相似的部分标准名称信息,作为候选名称信息;将原始名称信息与各个候选名称信息进行相互校验,以计算原始名称信息与各个候选名称信息匹配的概率;若概率满足预设的校验条件,则将原始名称信息修正为概率对应的候选名称信息。本实施例使用标准名称信息修正从清单中识别的原始名称信息,可以同时克服光学字符识别模型的检测错误或分行错误、供应商的格式不规范或书写错误、信息冗余等问题,一级过滤出与原始名称信息相似的标准名称信息,可降低数据量,从而降低运算量,二级针对生产厂商名称较长的特性对原始名称信息与候选名称信息双向校验,可以有效提高匹配的概率的精确度,从而提高识别生产厂商名称的精确度,不仅避免训练光学字符识别模型,成本低,保证光学字符识别模型在其他业务的性能,而且,可有效降低错误,减少人工核对药品生成厂商的名称的工作,大大提高了录入药品生产厂商的简便性,从而提高了录入药品生成厂商的名称的效率。
实施例二
图5为本发明实施例二提供的一种校验生产厂商名称的装置的结构示意图。如图5所示,该装置包括:
文本信息识别模块501,用于对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息,所述图像数据包含以表格的形式记录的、向供应商订购所述药品的清单;
原始名称信息定位模块502,用于依据所述表格中的单元格定位属于所述生产厂商的名称的所述文本信息,作为原始名称信息;
候选名称信息筛选模块503,用于若所述原始名称信息与预设的标准名称信息均不同,则筛选出与所述原始名称信息相似的部分所述标准名称信息,作为候选名称信息;
匹配概率计算模块504,用于将所述原始名称信息与各个所述候选名称信息进行相互校验,以计算所述原始名称信息与各个所述候选名称信息匹配的概率;
原始名称信息修正模块505,用于若所述概率满足预设的校验条件,则将所述原始名称信息修正为所述概率对应的所述候选名称信息。
在本发明的一个实施例中,所述原始名称信息定位模块502包括:
单元格识别模块,用于在所述图像数据中识别单元格,所述单元格中具有多个顶点;
单元格删除模块,用于若两个所述单元格之间重叠的程度大于预设的重叠阈值,则在两个所述单元格中删除面积最小的所述单元格;
顶点合并模块,用于若完成删除,则合并相邻的所述顶点;
顶点补全模块,用于若完成合并,则按照行与列的顺序补全所述顶点;
顶点去除模块,用于若完成补全,则按照行与列的顺序去除孤立的所述顶点;
表格提取模块,用于若完成滤除,则提取相连面积最大的多个所述单元格,作为表格;
表格映射模块,用于将所述表格映射至所述图像数据上;
标识信息查找模块,用于在所述文本信息中识别所述供应商的标识信息;
单元格定位模块,用于依据所述标识信息在所述表格中查找位于指定的行或列上的所述单元格;
单元信息提取模块,用于若查找到,则确定所述单元格内首行所述文本信息、换行符号与末行所述文本信息组成所述生产厂商的名称,得到原始名称信息。
在本发明的一个实施例中,所述候选名称信息筛选模块503包括:
编辑距离计算模块,用于计算所述原始名称信息与各个所述标准名称信息之间的编辑距离;
候选名称信息标记模块,用于若所述编辑距离小于或等于预设的距离阈值,则确定所述原始名称信息与所述标准名称信息相似,并将所述标准名称信息标记为候选名称信息。
在本发明的一个实施例中,所述匹配概率计算模块504包括:
原始词组切分模块,用于将所述原始名称信息切分为多个原始词组;
候选词组生成模块,用于针对各个所述候选名称信息,依据所述候选名称信息构建多个候选词组,所述候选词组为所述候选名称信息的子集;
检测概率计算模块,用于针对各个所述候选名称信息,依据多个所述原始词组在多个所述候选词组出现的第一频次计算检测概率;
真实概率计算模块,用于针对各个所述候选名称信息,依据多个所述候选词组在多个所述原始词组出现的第二频次计算真实概率;
概率融合模块,用于将所述检测概率与所述真实概率融合为所述原始名称信息与各个所述候选名称信息匹配的概率。
在本发明的一个实施例中,所述原始词组切分模块包括:
换行符号查找模块,用于在所述原始名称信息中查找在所述光学字符识别中生成的换行符号;
换行符号切分模块,用于以所述换行符号为切分的节点,将所述原始名称信息切分为多个原始词组;
所述候选词组包括第一特征词组与第二特征词组,所述候选词组生成模块包括:
第一特征词组设置模块,用于针对各个所述候选名称信息,将所述候选名称信息本身设置为第一特征词组;
第二特征词组设置模块,用于对所述候选名称信息执行分词处理,得到多个第二特征词组。
在本发明的一个实施例中,所述候选词组包括第一特征词组与第二特征词组,所述第一特征词组为所述候选名称信息本身,所述第二特征词组为所述候选名称信息的分词;
所述检测概率计算模块包括:
原始词组比较模块,用于针对各个所述候选名称信息,将各个所述原始词组与所述第一特征词组进行比较;
第一累加模块,用于若所述原始词组出现在所述第一特征词组,则对所述原始词组出现在所述第一特征词组的第一频次累加1;
第二累加模块,用于若所述原始词组未出现在所述第一特征词组,则对所述原始词组出现在所述第一特征词组的第一频次累加0;
第一长度统计模块,用于统计所述原始名称信息中多个所述原始词组的第一长度;
第一比值计算模块,用于计算所述第一频次与所述第一长度之间的比值,得到检测概率;
所述真实概率计算模块包括:
出现矩阵生成模块,用于针对各个所述候选名称信息,将多个所述第二特征词组分别与各个所述原始词组进行比较,以生成多个出现矩阵,所述出现矩阵中的元素为1时,表示所述第二特征词组出现在所述原始词组中,所述出现矩阵中的元素为0时,表示所述第二特征词组未出现在所述原始词组中;
总矩阵生成模块,用于对所述出现矩阵求和,得到总矩阵;
矩阵求和模块,用于对所述总矩阵中各个元素求和,得到多个所述候选词组在多个所述原始词组出现的第二频次;
第二长度统计模块,用于统计所述候选名称信息中所述第二特征词组的第二长度;
第二比值计算模块,用于计算所述第二频次与所述第二长度之间的比值,得到真实概率。
在本发明的一个实施例中,所述概率融合模块包括:
第一权重配置模块,用于对所述检测概率配置第一权重;
第二权重配置模块,用于对所述真实概率配置第二权重;
加权求和模块,用于对所述检测概率与所述第一权重之间的乘积、所述真实概率于所述第二权重之间的乘积求和,得到所述原始名称信息与各个所述候选名称信息匹配的概率。
本发明实施例所提供的校验生产厂商名称的装置可执行本发明任意实施例所提供的校验生产厂商名称的方法,具备执行校验生产厂商名称的方法相应的功能模块和有益效果。
实施例三
图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,如校验生产厂商名称的方法。
在一些实施例中,校验生产厂商名称的方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的校验生产厂商名称的方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行校验生产厂商名称的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
实施例四
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序在被处理器执行时实现如本发明任一实施例所提供的校验生产厂商名称的方法。
计算机程序产品在实现的过程中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (8)
1.一种校验生产厂商名称的方法,其特征在于,包括:
对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息,所述图像数据包含以表格的形式记录的、向供应商订购所述药品的清单;
依据所述表格中的单元格定位属于所述生产厂商的名称的所述文本信息,作为原始名称信息;
若所述原始名称信息与预设的标准名称信息均不同,则筛选出与所述原始名称信息相似的部分所述标准名称信息,作为候选名称信息;
将所述原始名称信息与各个所述候选名称信息进行相互校验,以计算所述原始名称信息与各个所述候选名称信息匹配的概率;
若所述概率满足预设的校验条件,则将所述原始名称信息修正为所述概率对应的所述候选名称信息;
其中,所述将所述原始名称信息与各个所述候选名称信息进行相互校验,以计算所述原始名称信息与各个所述候选名称信息匹配的概率,包括:
将所述原始名称信息切分为多个原始词组;
针对各个所述候选名称信息,依据所述候选名称信息构建多个候选词组,所述候选词组为所述候选名称信息的子集;
针对各个所述候选名称信息,依据多个所述原始词组在多个所述候选词组出现的第一频次计算检测概率;
针对各个所述候选名称信息,依据多个所述候选词组在多个所述原始词组出现的第二频次计算真实概率;
将所述检测概率与所述真实概率融合为所述原始名称信息与各个所述候选名称信息匹配的概率;
所述候选词组包括第一特征词组与第二特征词组,所述第一特征词组为所述候选名称信息本身,所述第二特征词组为所述候选名称信息的分词;
所述针对各个所述候选名称信息,依据多个所述原始词组在多个所述候选词组出现的第一频次计算检测概率,包括:
针对各个所述候选名称信息,将各个所述原始词组与所述第一特征词组进行比较;
若所述原始词组出现在所述第一特征词组,则对所述原始词组出现在所述第一特征词组的第一频次累加1;
若所述原始词组未出现在所述第一特征词组,则对所述原始词组出现在所述第一特征词组的第一频次累加0;
统计所述原始名称信息中多个所述原始词组的第一长度;
计算所述第一频次与所述第一长度之间的比值,得到检测概率;
所述针对各个所述候选名称信息,依据多个所述候选词组在多个所述原始词组出现的第二频次计算真实概率,包括:
针对各个所述候选名称信息,将多个所述第二特征词组分别与各个所述原始词组进行比较,以生成多个出现矩阵,所述出现矩阵中的元素为1时,表示所述第二特征词组出现在所述原始词组中,所述出现矩阵中的元素为0时,表示所述第二特征词组未出现在所述原始词组中;
对所述出现矩阵求和,得到总矩阵;
对所述总矩阵中各个元素求和,得到多个所述候选词组在多个所述原始词组出现的第二频次;
统计所述候选名称信息中所述第二特征词组的第二长度;
计算所述第二频次与所述第二长度之间的比值,得到真实概率。
2.根据权利要求1所述的方法,其特征在于,所述依据所述表格中的单元格定位属于所述生产厂商的名称的所述文本信息,作为原始名称信息,包括:
在所述图像数据中识别单元格,所述单元格中具有多个顶点;
若两个所述单元格之间重叠的程度大于预设的重叠阈值,则在两个所述单元格中删除面积最小的所述单元格;
若完成删除,则合并相邻的所述顶点;
若完成合并,则按照行与列的顺序补全所述顶点;
若完成补全,则按照行与列的顺序去除孤立的所述顶点;
若完成去除,则按照行与列的顺序滤除孤立的所述单元格;
若完成滤除,则提取相连面积最大的多个所述单元格,作为表格;
将所述表格映射至所述图像数据上;
在所述文本信息中识别所述供应商的标识信息;
依据所述标识信息在所述表格中查找位于指定的行或列上的所述单元格;
若查找到,则确定所述单元格内首行所述文本信息、换行符号与末行所述文本信息组成所述生产厂商的名称,得到原始名称信息。
3.根据权利要求1所述的方法,其特征在于,所述筛选出与所述原始名称信息相似的部分所述标准名称信息,作为候选名称信息,包括:
计算所述原始名称信息与各个所述标准名称信息之间的编辑距离;
若所述编辑距离小于或等于预设的距离阈值,则确定所述原始名称信息与所述标准名称信息相似,并将所述标准名称信息标记为候选名称信息。
4.根据权利要求1所述的方法,其特征在于,
所述将所述原始名称信息切分为多个原始词组,包括:
在所述原始名称信息中查找在所述光学字符识别中生成的换行符号;
以所述换行符号为切分的节点,将所述原始名称信息切分为多个原始词组;
所述候选词组包括第一特征词组与第二特征词组,所述针对各个所述候选名称信息,依据所述候选名称信息构建多个候选词组,包括:
针对各个所述候选名称信息,将所述候选名称信息本身设置为第一特征词组;
对所述候选名称信息执行分词处理,得到多个第二特征词组。
5.根据权利要求1所述的方法,其特征在于,所述将所述检测概率与所述真实概率融合为所述原始名称信息与各个所述候选名称信息匹配的概率,包括:
对所述检测概率配置第一权重;
对所述真实概率配置第二权重;
对所述检测概率与所述第一权重之间的乘积、所述真实概率于所述第二权重之间的乘积求和,得到所述原始名称信息与各个所述候选名称信息匹配的概率。
6.一种校验生产厂商名称的装置,其特征在于,包括:
文本信息识别模块,用于对药品入库时采集的图像数据执行光学字符识别,得到多个文本信息,所述图像数据包含以表格的形式记录的、向供应商订购所述药品的清单;
原始名称信息定位模块,用于依据所述表格中的单元格定位属于所述生产厂商的名称的所述文本信息,作为原始名称信息;
候选名称信息筛选模块,用于若所述原始名称信息与预设的标准名称信息均不同,则筛选出与所述原始名称信息相似的部分所述标准名称信息,作为候选名称信息;
匹配概率计算模块,用于将所述原始名称信息与各个所述候选名称信息进行相互校验,以计算所述原始名称信息与各个所述候选名称信息匹配的概率;
原始名称信息修正模块,用于若所述概率满足预设的校验条件,则将所述原始名称信息修正为所述概率对应的所述候选名称信息;
其中,所述匹配概率计算模块包括:
原始词组切分模块,用于将所述原始名称信息切分为多个原始词组;
候选词组生成模块,用于针对各个所述候选名称信息,依据所述候选名称信息构建多个候选词组,所述候选词组为所述候选名称信息的子集;
检测概率计算模块,用于针对各个所述候选名称信息,依据多个所述原始词组在多个所述候选词组出现的第一频次计算检测概率;
真实概率计算模块,用于针对各个所述候选名称信息,依据多个所述候选词组在多个所述原始词组出现的第二频次计算真实概率;
概率融合模块,用于将所述检测概率与所述真实概率融合为所述原始名称信息与各个所述候选名称信息匹配的概率;
所述候选词组包括第一特征词组与第二特征词组,所述第一特征词组为所述候选名称信息本身,所述第二特征词组为所述候选名称信息的分词;
所述检测概率计算模块包括:
原始词组比较模块,用于针对各个所述候选名称信息,将各个所述原始词组与所述第一特征词组进行比较;
第一累加模块,用于若所述原始词组出现在所述第一特征词组,则对所述原始词组出现在所述第一特征词组的第一频次累加1;
第二累加模块,用于若所述原始词组未出现在所述第一特征词组,则对所述原始词组出现在所述第一特征词组的第一频次累加0;
第一长度统计模块,用于统计所述原始名称信息中多个所述原始词组的第一长度;
第一比值计算模块,用于计算所述第一频次与所述第一长度之间的比值,得到检测概率;
所述真实概率计算模块包括:
出现矩阵生成模块,用于针对各个所述候选名称信息,将多个所述第二特征词组分别与各个所述原始词组进行比较,以生成多个出现矩阵,所述出现矩阵中的元素为1时,表示所述第二特征词组出现在所述原始词组中,所述出现矩阵中的元素为0时,表示所述第二特征词组未出现在所述原始词组中;
总矩阵生成模块,用于对所述出现矩阵求和,得到总矩阵;
矩阵求和模块,用于对所述总矩阵中各个元素求和,得到多个所述候选词组在多个所述原始词组出现的第二频次;
第二长度统计模块,用于统计所述候选名称信息中所述第二特征词组的第二长度;
第二比值计算模块,用于计算所述第二频次与所述第二长度之间的比值,得到真实概率。
7.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的校验生产厂商名称的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现权利要求1-5中任一项所述的校验生产厂商名称的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311497165.XA CN117523590B (zh) | 2023-11-10 | 2023-11-10 | 一种校验生产厂商名称的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311497165.XA CN117523590B (zh) | 2023-11-10 | 2023-11-10 | 一种校验生产厂商名称的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117523590A CN117523590A (zh) | 2024-02-06 |
CN117523590B true CN117523590B (zh) | 2024-05-28 |
Family
ID=89765728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311497165.XA Active CN117523590B (zh) | 2023-11-10 | 2023-11-10 | 一种校验生产厂商名称的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117523590B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960058A (zh) * | 2018-05-31 | 2018-12-07 | 平安科技(深圳)有限公司 | 发票校验方法、装置、计算机设备及存储介质 |
CN112182140A (zh) * | 2020-08-17 | 2021-01-05 | 北京来也网络科技有限公司 | 结合rpa和ai的信息录入方法、装置、计算机设备和介质 |
WO2021129410A1 (zh) * | 2019-12-23 | 2021-07-01 | 华为技术有限公司 | 文本处理方法及装置 |
WO2021135444A1 (zh) * | 2020-06-28 | 2021-07-08 | 平安科技(深圳)有限公司 | 一种基于人工智能的文本纠错方法、装置、计算机设备及存储介质 |
WO2021189803A1 (zh) * | 2020-09-03 | 2021-09-30 | 平安科技(深圳)有限公司 | 文本纠错方法、装置、电子设备及存储介质 |
KR20220021836A (ko) * | 2020-08-14 | 2022-02-22 | 부산대학교 산학협력단 | 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 |
CN114783584A (zh) * | 2022-03-09 | 2022-07-22 | 广州方舟信息科技有限公司 | 一种药品随货同行单的录单方法及装置 |
JP2023016031A (ja) * | 2021-07-20 | 2023-02-01 | ネイバー コーポレーション | テーブルに含まれる情報を認識する文字認識方法及び文字認識システム |
-
2023
- 2023-11-10 CN CN202311497165.XA patent/CN117523590B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960058A (zh) * | 2018-05-31 | 2018-12-07 | 平安科技(深圳)有限公司 | 发票校验方法、装置、计算机设备及存储介质 |
WO2021129410A1 (zh) * | 2019-12-23 | 2021-07-01 | 华为技术有限公司 | 文本处理方法及装置 |
WO2021135444A1 (zh) * | 2020-06-28 | 2021-07-08 | 平安科技(深圳)有限公司 | 一种基于人工智能的文本纠错方法、装置、计算机设备及存储介质 |
KR20220021836A (ko) * | 2020-08-14 | 2022-02-22 | 부산대학교 산학협력단 | 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 |
CN112182140A (zh) * | 2020-08-17 | 2021-01-05 | 北京来也网络科技有限公司 | 结合rpa和ai的信息录入方法、装置、计算机设备和介质 |
WO2021189803A1 (zh) * | 2020-09-03 | 2021-09-30 | 平安科技(深圳)有限公司 | 文本纠错方法、装置、电子设备及存储介质 |
JP2023016031A (ja) * | 2021-07-20 | 2023-02-01 | ネイバー コーポレーション | テーブルに含まれる情報を認識する文字認識方法及び文字認識システム |
CN114783584A (zh) * | 2022-03-09 | 2022-07-22 | 广州方舟信息科技有限公司 | 一种药品随货同行单的录单方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于OCR的拼写校正系统;赵莉;;兵工自动化;20100915(09);第92-94页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117523590A (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210157975A1 (en) | Device, system, and method for extracting named entities from sectioned documents | |
US11514698B2 (en) | Intelligent extraction of information from a document | |
CN108664574B (zh) | 信息的输入方法、终端设备及介质 | |
CN111325110A (zh) | 基于ocr的表格版式恢复方法、装置及存储介质 | |
US20190286896A1 (en) | System and method for automatic detection and verification of optical character recognition data | |
CN110110334B (zh) | 一种基于自然语言处理的远程会诊记录文本纠错方法 | |
CN114612921B (zh) | 表单识别方法、装置、电子设备和计算机可读介质 | |
CN110543475A (zh) | 一种基于机器学习的财务报表数据自动识别和分析方法 | |
CN113822059A (zh) | 中文敏感文本识别方法、装置、存储介质及设备 | |
CN113963364A (zh) | 目标化验单生成方法、装置、电子设备及存储介质 | |
US20230205800A1 (en) | System and method for detection and auto-validation of key data in any non-handwritten document | |
JP5343617B2 (ja) | 文字認識プログラム、文字認識方法および文字認識装置 | |
CN114444465A (zh) | 信息抽取方法、装置、设备及存储介质 | |
CN113360685A (zh) | 笔记内容处理方法、装置、设备和介质 | |
CN117669537A (zh) | 基于大语言模型的电商平台商品内容解析方法及模型 | |
CN117523590B (zh) | 一种校验生产厂商名称的方法、装置、设备及存储介质 | |
CN115544975B (zh) | 一种日志格式转换方法及设备 | |
CN110688842A (zh) | 一种文档标题层级的分析方法、装置及服务器 | |
CN113627892B (zh) | 一种bom数据的识别方法及其电子设备 | |
CN113468315B (zh) | 漏洞厂商名称的匹配方法 | |
CN113642291B (zh) | 上市公司报告的逻辑结构树构建方法、系统、存储介质及终端 | |
CN115294593A (zh) | 一种图像信息抽取方法、装置、计算机设备及存储介质 | |
CN112926577B (zh) | 一种医疗票据图像结构化方法和装置、计算机可读介质 | |
CN115600592A (zh) | 文本内容的关键信息提取方法、装置、设备及介质 | |
CN111310442B (zh) | 形近字纠错语料挖掘方法、纠错方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |