知识感知的文本识别方法和系统与流程

专利2022-06-29  139


本发明大致涉及图像中文本识别的方法和系统,属于图像识别领域。



背景技术:

文本识别(ocr技术,opticalcharacterrecognition,光学字符识别)是利用计算机自动识别字符的技术,能够将图像中不可复制的文字转换成可编辑的文字形式,是模式识别应用的一个重要领域。在目前大数据背景下,文字识别作为一种将纸质文档快速转化为电子文档的技术而备受欢迎。文本识别已经在身份证识别、名片识别、票据识别、证件识别、护照识别、营业执照识别等等领域具有广泛的应用,并且ocr系统可以提供多种形式服务,如微信小程序、api接口等。

通常在垂直领域涉及大量的单据数据,如在医疗领域包括化验单、检验单、生化单据、药盒、ct检查单、b超单等。但是这些数据主要以纸质文件的形式出现,计算机无法有效的处理,需要将其转化为计算机可以有效存储和处理的形式。因此在垂直领域有大量的文本识别的需求,如将图片中的项目对应的名称、结果和参考值提取出来,或者将单据上的其他文本信息提取出来,转换为文本形式进行存储。以便于后续的模块对数据进行处理,如统计展现、数据分析和智能诊断等应用。

在智能时代,人工智能通常是分领域来实现智能的。通常垂直领域的人工智能需要大量的相关数据,而有些领域如金融、医疗等存在数据孤岛问题。并且更多的数据以图片或纸质文件的方式进行存储的,如化验数据、治疗数据等。而这些数据包含多种来源,包括文献、垂直网站和相关数据。而当前垂域数据主要分散的存储在不同的纸质文件中,很难将这些数据整合到一起,但是这些相关的数据都会以纸质的方式保存在患者手中。因此,如何更好的提取和利用这些垂域的数据,以实现该领域的智能化成为当前研究的热点。

当前ocr系统主要分为两类:(1)传统的基于统计和模板的ocr技术;(2)基于深度学习的ocr技术。传统的ocr技术主要基于统计和模板实现,这类方法将ocr分为图片角度的识别、文本切分、字符切分和字符识别四个主要的模块,前一个模块的结果传递给后续模块进行。但是传统方法的主要问题包括:(1)错误传递:前面模块识别错误,则后续模块会继续使用之前模块的结果,造成错误错递;(2)标准数据复杂:需要对每个模块进行数据的标注,比如标注图片的角度、标注图片中的字符串的区域、切分字符等,每一张图片需要在不同维度上标准多种数据;(3)泛化性差:需要每一类单据进行单独的训练,指定单据需要识别的区域等信息,扩展到其他格式的单据时,识别结果较差。

近期,随着深度学习技术的快速发展,基于深度神经网络的ocr技术得到了广泛的应用。也衍生出了很多相关产品,如基于百度文字识别api等。但是通用的ocr技术在垂直领域存在一些挑战:(1)单据格式多样:化验单据包含多种类型的字符,包括汉字、数字、特殊符号等,并且这些数据往往是混在一起的;(2)图片质量不高:单据主要使用手机等方式进行拍摄,存在大量质量较低的图片,这些数据的检测容易出错;(3)垂直领域敏感性:图片中包含的文字往往是领域相关的,并不是常用的词、句等信息,因此容易出现识别错误;(4)训练数据有限:深度神经网络需要使用大量的标注数据,通常会通过一个网络识别出图片的角度,然后进行调整,然后标注出文字的区域和字图切分,最后进行文字的识别,但是训练这些网络需要大量的人工成本。

背景技术部分的内容仅仅是发明人所知晓的技术,并不当然代表本领域的现有技术。



技术实现要素:

针对垂直领域数据ocr系统存在的几个主要问题,本发明提供一种知识感知的文本识别方法(knowledge-awareocr)。本发明提供的方法采用远距离监督数据和丰富的字库来作为训练数据,以解决训练数据的需求和多种格式的字符识别不准确的问题。同时,利用垂直领域感知的语言模型和垂直领域知识图谱对识别的结果进行优化,从而得到正确的结果。

知识感知的语言模型基于垂直领域网站、论坛获取的大量文本数据训练,得到字级别的向量表示和组合模型。垂直领域知识图谱则基于专家知识设计本体。然后采用自动和半自动的方法从已有的结构化、半结构化和无结构化数据中自动的抽取和构建知识图谱。知识图谱中包含大量领域相关的词汇,如实体名、关系名等。这些词汇可以结合语言模型对识别的结果进行识别和修正。

本发明提供的知识感知的文本识别方法,包括:

文本检测,检测图片或视频中的文本信息;

文字识别,对文本信息进行文字提取并得出识别结果;

文本理解,对文字识别的结果利用语言模型和知识图谱进行判断和修正,得出最终识别结果。

文本检测可以看成特殊的目标检测,但它有别于通用目标检测。在通用目标检测中,每个目标都有定义好的边界框,文本检测需要正确检出需要覆盖整个文本长度,且评判的标准不同于通用目标检测,所以通用的目标检测方法并不适用文本检测。并且由于自然场景图像中的文字展现形式极其丰富,因此其难度远大于扫描文档图像中的文字识别。

文字识别是对文本检测出的文本信息进行文字提取并识别结果。在自然场景图像中的文字背景相对复杂,字符像素的值与背景像素的值非常接近,图片分辨率不同以及容易产生失真和几何变形,这些因素都会增加识别难度。文字识别得出识别结果,并对结果进行进一步判断和修正,有助于得到更准确的最终识别结果。

文本理解是对文字识别结果的进一步优化的过程,垂直领域的文本识别需要较高的准确度,文本理解通过判断并修正文字识别结果,能够显著提高垂直领域的文本识别的效果。

根据本发明的一个方面,所述文本检测包括图片或视频中文本位置的提取和/或长度的确定。

根据本发明的一个方面,所述文本位置的提取包括:1)检测小尺度文本框;2)循环连接文本框;3)文本行边细化。

根据本发明的一个方面,所述文本检测基于深度卷积神经网络(cnn)进行检测。

优选地,所述文本检测采用ctpn和/或yolo-v3两种网络模型完成。

卷积神经网络(cnn,convolutionalneuralnetwork)是一种带有卷积结构的深度神经网络,通过多层网络结构,卷积运算、降采样来实现对信号深层信息的提取,它的卷积结构可以减少深层网络的内存量,降低网络参数的数量,缓解模型的过拟合问题。

cnn的灵感来源是模仿人类大脑的特点,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,通过多个层级的组合,最终在顶层做出分类。

卷积神经网络cnn主要用来识别位移、缩放及其他形式扭曲不变形的二维图形,它较一般神经网络在图像处理方面有如下优点:a)输入图像和网络拓扑结构能很好的吻合;b)特征提取和模式分类同时进行,并同时在训练中产生;c)权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。

ctpn(connectionisttextproposalnetwork)把rnn(recurrentneuralnetworks,循环神经网络)引入检测问题,先用cnn得到深度特征,然后用固定宽度的anchor来检测textproposal(文本线的一部分),并把同一行的anchor对应的特征串成序列,输入到rnn中,最后用全连接层来分类或回归,并将正确的textproposal进行合并成文本线。这种把rnn和cnn无缝结合的方法提高了检测精度。其具体实现流程包含三部分:1)检测小尺度文本框;2)循环连接文本框;3)文本行边细化。

rnn可以利用它内部的记忆来处理任意时序的输入序列,这种网络的本质特征是在处理单元之间既有内部的反馈连接又有前馈连接。在做文字识别的过程中,孤立的理解一个特征是不够的,需要处理这些特征连接起来的整个序列。

cnn和rnn都是传统神经网络的扩展,cnn为空间的扩展,神经元与特征卷积;rnn为时间的扩展,神经元与多个时间输出计算,深度有限。ctpn通过使用检测小框代替直接检测大文本框,再将小框合并成一个大文本预测框。文本具有很强的连续字符,其中连续的上下文信息对于做出可靠决策来说很重要。而rnn常用于序列模型,把一个完整的文本框拆分成多个小文本框,其实也是一个序列模型,可以利用过去或未来的信息来学习和预测。使用cnn与rnn的结合,同时利用空间维度和时间维度的特征,能够提升文本检测的准确率。

yolo-v3作为目标检测框架,核心思想在于将目标检测作为回归问题解决。yolo-v3将图片划分成sxs个区域,如果一个对象的中心落在某个单元格上,那么这个单元负责预测这个物体。每个单元格需要预测b个边界框(bbox)值(bbox值包括坐标和宽高),同时每个bbox值预测一个置信度(confidence),此后以每个单元格为单位进行预测分析。其速度一般比r-cnn快1000倍、比fastr-cnn快100倍。

根据本发明的一个方面,所述文本识别的方法为基于深度卷积神经网络(cnn)进行识别。

优选地,所述文本识别采用lstm和ctc结合的网络模型进行识别。

在文本检测的基础上,将检测到的文本行数据利用lstm ctc的方法进行文字识别。lstm(长短时记忆网络)是一种特殊结构的rnn,能够解决普通rnn不能解决的长期依赖问题。ctc(联结主义时间分类器):适合于输入特征和输出标签之间对齐关系不确定的时间序列问题,ctc可以自动端到端地同时优化模型参数和对齐切分的边界。由于分割出的文本行中字符个数不固定,这种方法的好处是事先不用知道一共有几个字符需要识别。

所有rnn都具有一种重复神经网络模块的链式形式,在标准的rnn中,这个重复的模块只有一个非常简单的结构。当相关信息与当前的位置间隔过大时,rnn会丧失学习到连接如此远的信息的能力。作为特殊rnn的lstm,在重复的模块中,通过信息选择式通过的方法,去除或增加信息,解决了rnn不能学习长期依赖信息的问题。

ctc全称为connectionisttemporalclassifier,主要用于len(输入序列)>len(输出序列)的情况。ctc主要的优点是,可以对没有对齐的数据进行自动对齐,主要用在没有事先对齐的序列化数据训练上。

根据本发明的一个方面,所述文本理解包括:

获取文字识别结果,所述文字识别结果包括一个或两个以上的候选结果;

通过第一语言模型计算每个候选结果的置信度;和

获取置信度最大的候选结果。

图片或视频中的文字背景复杂,字形容易受到背景、像素、角度等多方面因素的影响,识别出多个候选结果,再进行比对,能够增加对候选结果判断的准确性。每个候选结果的置信度是指每个候选结果能够成为一句话或完整的分词组合的置信度。

根据本发明的一个方面,所述计算每个候选结果的置信度包括:

候选结果分词;

计算候选结果的每个分词的置信度并相加得分,即为候选结果的置信度。

候选结果分词,指的是将候选结果的文本序列切分成一个个单独的词,是将连续的字序列按照一定的规范重新组合成词序的过程。

优选地,候选结果的分词方法可以为基于jieba进行分词。

根据本发明的一个方面,所述文本理解还包括:

判断获取的置信度最大的候选结果的最大置信度是否大于给定阈值(t);和

文本替换;

当大于给定阈值时,则该文本结果作为最终的识别结果;当等于或小于给定阈值时,则需要进行文本替换。

给定阈值是通过语言模型训练得到的。垂直领域需要更为准确的识别结果,通过给定阈值提升识别结果的门槛。医疗领域的给定阈值可以设置为0.75。当文本结果小于或等于给定阈值时,表明该文本结果的置信度并不符合垂直领域要求达到的准确度,通过文本替换将文本结果提升,从而达到文本理解的效果。

根据本发明的一个方面,所述文本替换包括:

对置信度等于或小于给定阈值的文本进行分词,按照分词顺序依次进行知识图谱比对;

判断第一顺位分词是否在知识图谱中出现;

如果出现,则确定该分词不予替换,并进入下一顺位的分词判断;

如果未出现,则在知识图谱中搜索候选替换词并完成替换;

每一次文本替换的过程只进行到完成替换一个分词时则终止,此时得到的替换文本输入第一语言模型计算其置信度并判断其是否大于给定阈值(t);

如果大于给定阈值,则作为最终的文本识别结果输出;

如果小于给定阈值,则将替换文本作为文本替换的输入文本进行第二次文本替换,直至所得到的替换文本的置信度大于给定阈值。

知识图谱自2012年提出就被广泛应用到各种智能产品中,如智能问答、智能检索、对话系统等。在文本识别领域的应用还比较少,但是构建知识图谱有利于ocr结果的进一步提升。具体地,知识图谱以三元组方式进行存储(h,r,t),其中h代表源实体,t代表目标实体,r代表两个实体之间的关系,例如(中国,首都,北京)是一个三元组,其中“中国”、“北京”是实体,“首都”是两个实体之间的关系。

本发明通过与知识图谱的比对,搜索替换词,比对替换词与替换文本,再与给定阈值进行比较,直到替换文本能够达到给定阈值才进行最终识别结果的输出。这个循环过程中,在垂直领域的知识图谱中搜索词汇,并且每次只进行一个词的替换,提升了识别精度;如果在第一语言模型之后,识别结果没有大于给定阈值,本发明的识别方法并不需要将识别结果反馈到文本检测和文本识别的过程进行重新识别,而是在文本理解的过程中对识别结果进行文本替换,省去了不断进行文本检测和文字识别造成的时间和资源的浪费。

根据本发明的一个方面,所述在知识图谱中搜索候选替换词并完成替换包括:

通过编辑距离模型在知识图谱中搜索出n个候选替换词并计算出每个候选词的编辑距离的损失(loss_edit);

通过字形相似度模型计算出每个候选替换词的字形相似度的损失(loss_char);

通过第二语言模型计算出每个候选替换词替换后的文本的语言模型损失(loss_lm);

对每个候选替换词所对应的编辑距离的损失、相似度的损失和语言模型损失进行加权平均,得到加权平均损失最小的候选结果作为替换词进行替换。

根据本发明的一个方面,所述字通过字形相似度模型计算出每个候选替换词的字形相似度的损失包括:基于cnn实现的字形表示方法,得到每个字形对应的向量表示,计算候选替换词和被替换词的字向量表示的欧式距离。

根据本发明的一个方面,所述图片或视频为医学领域的图片或视频;和/或,所述知识图谱为医学领域的相关数据。

在文本中知识图谱由专家设计结构,通过半自动的方式进行知识的构建。如从官方医疗网站上获取疾病名、药品名等,以及从文本中挖掘相关的信息构建三元组。例如从句子“吃了999感冒灵就想睡觉”,可以抽取到三元组(999感冒灵,不良反应,犯困)。

本发明分领域构建了领域知识图谱。如医疗领域的知识图谱包含大量的药品、疾病、治疗方案、身体部分、症状、不良反应、化验项目,以及他们之间的关系和取值范围等。例如:(肠胃炎,检查,白细胞)、(白细胞,范围,(4.0-10.0)×109/l)。这些信息可以帮助在识别出文字之后进行匹配,判断识别正确的概率,并可以用于改正。比如,识别结果为“白细胞侬度”,则根据指示图谱中的化验项目名字可以识别出为“白细胞浓度”。

本发明还提供了一种知识感知的文本识别系统,包括:

文本检测单元,用于检测图片或视频中的文本信息;

文本识别单元,用于提取并识别文本信息中的文字并得出识别结果;

文本理解单元,用于对文字识别的结果利用语言模型和知识图谱进行判断和修正,得出最终识别结果。

本发明的文本识别系统目标是实现领域相关的图片中文字的识别并判断和修正。识别的图片或视频类型包括各种不同类型的单据和相关的图片或视频,如医疗领域的化验单、检查单、生化单据、药盒、ct检查单、b超单等。将图片中的信息进行抽取并转换为结构化的信息以固定的格式进行储存。

根据本发明的一个方面,所述的文本检测单元包括:

ctpn模型,用于合成文本线;和/或

yolo-v3模型,用于完成以单元格为单位进行预测分析。

根据本发明的一个方面,所述文字识别单元包括:图片角度识别模块、文本切分模块、字符切分模块和字符识别模块。

根据本发明的一个方面,所述文本理解单元包括:

文本置信度检测模块,用于通过第一语言模型计算每个候选结果的置信度,并获取置信度最大的候选结果。

优选地,所述文本置信度检测模块还完成将所述置信度最大的候选结果与给定阈值的比对。

根据本发明的一个方面,所述文本理解单元还包括:

文本替换模块,用于接受并完成等于或少于给定阈值的所述置信度最大的候选结果,并对其进行文本替换。

根据本发明的一个方面,所述文本替换模块包括:

切分模块,用于将进入替换模块的文本分词;

检测模块,用于依次检测分词在知识图谱中是否出现,如果出现,则进行下一顺位分词的检测,如果没出现,则进入搜索替换模块;

搜索替换模块,用于完成对上述没有在知识图谱中出现的分词进行在知识图谱中搜索候选替换词并完成替换;

文本置信度检测模块,用于通过第二语言模型计算替换后的文本的置信度,并完成置信度与给定阈值的比对,如果大于给定阈值,则作为最终的文本识别结果输出,如果小于给定阈值,则将替换文本作为文本替换的输入文本进入文本替换模块的切分模块,直至所得到的替换文本的置信度大于给定阈值。

根据本发明的一个方面,所述搜索替换模块,包括:

编辑距离模块,用于通过编辑距离模型在知识图谱中搜索出n个候选替换词并计算出每个候选替换词的编辑距离损失(loss_edit);

字形相似度模块,用于通过字形相似度模型计算出每个候选替换词的字形相似度损失(loss_char);

语义相关度判断模块,用于通过第二语言模型计算出每个候选替换词替换后的文本的语言模型损失(loss_lm);

加权计算模块,用于将每个候选替换词所对应的编辑距离的损失、字形相似度的损失和语言模型损失进行加权平均,得到加权平均损失最小的候选结果作为替换词进行替换。

本发明还提供了一种基于深入学习建立医疗感知的语言模型的方法,包括:

从医疗网站获取文本语料;

建立初始语言模型;

优化语言模型,其中,所述的模型训练包括基于文本语料的知识感知的语言模型训练和文本识别模型训练。

文本语料可以通过从官方医疗网站上获取疾病名、药品名等,以及从文本中挖掘相关的信息等方式获取。

语言模型是根据语言客观事实而进行的语言抽象数学建模,是一种对应关系。语言模型与语言客观事实之间的关系,如同数学上的抽象直线与具体直线之间的关系。形式化地,给定词序列s={w1,w2,…,wn},语言模型用于计算下一个词wn 1是词表中某个词的概率。该功能可以实现计算字符串出现的概率,如s={w1,w2,…,wn}的概率是其中每个词基于之前的词出现的概率的乘积,当词或者序列出现的概率低于给定阈值的时候,则认为该序列不应该构成一个词或者句子,可以通过语言模型找到下一个字出现频率最高的几个字作为修改的候选项。

根据本发明的一个方面,所述语言模型训练的方法包括语料预处理、分词和模型训练。

优选地,所述模型训练之前还包括去停用词。

停用词是指为过滤掉无意义的高频词,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为停用词(stopwords)。这些停用词都是人工输入、非自动化生成的,生成后的停用词会形成一个停用词表,例如:“的、等”这些都属于停用词。

根据本发明的一个方面,所述基于深入学习建立医疗感知的语言模型的方法包括:所述语料预处理是指将从医疗网站获取的语料数据进行预处理,包括网页标签过滤、特殊字符过滤、数字替换等步骤,形成较为规范的数据。

文本中包含大量的数字信息,这些数字信息在文本识别时候意义不大,因此将数字替换为num字符。

通常在训练语言模型的时候以词为单位,但是因为在单据识别的时候往往需要设计领域相关的词汇,如在医疗领域中化验单识别的时候需要识别出病人的名字、医院名、医生名等信息,这些词往往不在词表中,因此需要从字级别学习到其表示,以保证不会出现集外词(oov)问题。本发明的词表示从基于字符组合得到的。将字符的表示拼接为矩阵,然后基于卷积神经网对字符矩阵进行表示,最后通过一个全连接层得到最终的词表示。

根据本发明的一个方面,所述分词具体为:对文本进行分词,转换为词序列。

中文是连续字符构成的序列,词与词之间没有间隔符,因此需要对文本进行分词,转换为词序列,例如:

“我来到北京清华大学。”→“我/来到/北京/清华大学/。”

在发明中分词基于jieba分词进行。

根据本发明的一个方面,所述模型训练为通过语言模型训练得到给定阈值。

各垂直领域的给定阈值不同,医疗领域的给定阈值设置为0.75。

根据本发明的一个方面,所述文本识别训练方法是:输入垂直领域相关数据,通过cnn模型识别出图片角度、文本块、字符块和文字,计算识别准确度的概率,将得到的概率通过知识蒸馏反馈给深度卷积神经网络(cnn)和语言模型,并更新文本检测和文字识别精度。

识别准确度的概率的计算方法是:输入文本,进行分词、向量化,再输入到lstm模型,得到句子的表示,最后通过全连接层得到一个分值。

本发明的有益效果是:

本发明提供了一种知识感知的文本识别方法、一种知识感知的文本识别系统以及一种基于深入学习建立医疗感知的语言模型的方法。本发明提供的方法和系统能够解决由于单据格式的多样、图片质量不高、垂直领域的敏感性以及训练数据有限而带来的文本识别准确度不高的问题,通过语言模型、文本替换模型等进一步判断和修正文本识别结果,为垂直领域ocr系统的改善寻找一个更好的发展方向。以下将分别对本发明提供的知识感知的文本识别方法、知识感知的文本识别系统以及基于深入学习建立医疗感知的语言模型的方法进行优越性阐述。

本发明提供的知识感知的文本识别方法中,通过文本检测、文本识别以及文本理解对文本进行识别并优化,通过本发明提供的文本识别方法,能够更好地为垂直领域的ocr系统服务,在识别准确度方面得到了相当大的提升。

(1)文本检测采用cnn rnn的方法,通过循环连接小尺度文本框、文本行边细化进行检测的方法,能够更准确地检测字符的边缘,提升了文本检测过程中的精度。

(2)文字识别对文本信息进行文字识别的过程中,得到一个或多个识别结果,而不仅仅局限于一个识别结果,再对每个识别结果进行比对,提升了文字识别结果的准确率。

(3)文本识别的过程中,采用lstm ctc的方法进行文字识别,解决了普通rnn不能解决的长期依赖的问题和输入特征和输出标签之间对齐关系不确定的时间序列问题,提升了识别的效率。

(4)语言模型能够计算出输入的文本能够成为一句话的置信度,通过置信度大小的对比,对候选结果进行筛选,找出最合适的候选结果,通过判断候选结果的过程,提升了文字识别结果的准确率。

(5)文本理解的过程中,还包括了候选结果的置信度与给定阈值的判断。由于垂直领域对语料和准确度的要求相对比较高,使用给定阈值作为门槛,为识别结果的准确性设置难度,进一步提升文字识别结果的准确度。

(6)文本替换的过程中,每次只进行一个词的替换,直到替换文本能够达到给定阈值才输出最终识别结果。在知识图谱中搜索替换词,由于替换词只局限于垂直领域内,专业领域的词汇丰富,替换的过程中提升了文本的专业性。每次只替换一个词,提升了识别精度。在循环的过程中,文本替换不需要将识别结果反馈到文本检测和文本识别区进行重新识别,而是在文本理解的过程中对识别结果进行文本替换,省去了不断进行文本检测和文字识别造成的时间和资源的浪费。

(7)在知识图谱搜索候选替换词并完成替换的过程中,搜索出n个候选替换词并进行比较,通过计算候选替换词的产生、比对到替换的过程产生出的损失并进行比对,将替换过程中影响文字识别结果的因素都考虑在内,进一步提升了替换文本的专业性和准确度。

(8)本发明提供的知识感知的文本识别方法在文本理解的过程中,步步递进,语言模型、比较给定阈值、文本替换等方法相互结合,大幅度提升文字识别结果的准确度和专业性,提高了从检测、识别到理解的效率。

本发明提供的知识感知的文本识别系统中,通过文本检测单元、文本识别单元和文本理解单元,能够将图片或视频中的文字进行检测、识别,并进一步修正。本发明提供的文本识别系统能够识别出更为精准的文字,计算速度快,专业性强。

(1)本发明提供的文本识别系统包括文本检测单元、文本识别单元和文本理解单元,三个单元共同作用,得到准确度较高的识别结果。市面上有很多文本检测的系统,但是,为了优化识别性能,大多都是在文本检测单元和文本识别单元进行优化,本发明提供的文本识别系统不仅包含了能较精确检测、识别的单元,还包括文本理解单元,从而对文本检测单元和文本识别单元的文本进行语义理解,提升文本识别结果的准确度,防止由于错误传递、数据内容复杂、泛化性差而造成的识别结果不佳。

(2)文本理解单元包括文本置信度检测模块,通过文本置信度检测模块能够获得置信度最大的候选结果,这是一个从识别结果到语义理解的过程,候选结果只能识别出文字,但是并不能判断文字的准确性,通过语义理解的过程,能够进一步提升候选结果的准确性。

(3)文本替换模块是修正识别结果的模块,通过从知识图谱中寻找垂直领域的词汇替换并检测,从而获得专业程度较高以及准确度较高的输出结果。

(4)搜索替换模块除了能够搜索并替换分词之外,还将搜索及替换过程中产生的损失考虑在内,使替换结果更接近原图片中的文本。

本发明提供的基于深入学习建立医疗感知的语言模型的方法中,选择垂直领域为医疗领域,通过医疗领域的相关信息获取文本语料,并建立语言模型,优化语言模型。使用基于深入学习建立医疗感知的语言模型的方法,能够使语言模型对医疗领域进行深度学习,并在学习的过程中不断反馈更新,有利于提升文本理解过程中对识别结果的语义理解。

(1)文本识别模型是基于深度卷积网络实现,是图片到文本的模块。只是进行图片到文本的模块的学习远远不能满足垂直领域专业性的要求,语言模型基于文本语料的知识感知的语言模型训练能够弥补普通的文本识别模型在专业领域上的不足,同时,除了医疗领域,还能为金融、法律等垂直领域提供语言模型训练的思考。

(2)语料预处理以丰富的网络资料为载体,同时筛选符合医疗领域的文本,形成较为规范的语料数据,为语言模型提供医疗感知基础,在庞大的数据库中缩小语料的范围,提升语言模型的使用效率。

(3)语言模型训练得到的给定阈值是判断是否符合垂直领域的输出结果的要求的临界值。普通领域的文本范围广泛,但垂直领域,甚至是医疗领域需要更专业的文本,设定并训练给定阈值,是衡量识别结果准确度的指标,有助于提升识别结果的准确度。

(4)语言模型的训练过程将训练识别的结果通过知识蒸馏反馈到深度卷积网络及语言模型等,知识蒸馏能够将大数据缩小范围,提高效率;反馈到深度卷积网络,能调整文本检测、文本识别及文本理解,是一个相互影响、相互优化的训练方法,有助于提升整体的识别准确度。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是第一种实施方式知识感知的文本识别方法的步骤图;

图2是第一种实施方式文本理解的步骤图;

图3是第一种实施方式文本理解中候选结果置信度的计算步骤图;

图4是第一种实施方式文本理解中与给定阈值进行比较的步骤图;

图5是第一种实施方式文本替换步骤图;

图6是第一种实施方式在知识图谱中搜索候选替换词并完成替换步骤图;

图7是第二种实施方式知识感知的文本识别系统的模块图;

图8是第二种实施方式文本置信度检测模块功能图;

图9是第二种实施方式文本理解中文本置信度检测模块和文本替换模块关系图;

图10是第二种实施方式文本替换模块结构图;

图11是第二种实施方式搜索替换模块结构图;

图12是第二种实施方式化验单原始标注样本;

图13是第二种实施方式中使用ctpn模型后的检测结果;

图14是第二种实施方式中使用yolo-v3模型后的检测结果;

图15是第三种实施方式语言模型的整体架构图;

图16是第三种实施方式词表示方法的架构图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"长度"、"宽度"、"厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"坚直"、"水平"、"顶"、"底"、"内"、"外"、"顺时针"、"逆时针"等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,"多个"的含义是两个或两个以上,除非另有明确具体的限定。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接:可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征之"上"或之"下"可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征"之上"、"上方"和"上面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。

下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

根据本发明的第一种实施方式,本发明提供了一种知识感知的文本识别方法,如图1所示,包括:文本检测、文字识别和文本理解。其中,文本检测为检测图片或视频中的文本信息;通过文字识别,将文本信息进行文字提取并得出识别结果,再将获取的一个或多个文字识别的结果利用语言模型和知识图谱进行判断和修正,得出最终的识别结果。

所述文本检测包括图片或视频中文本位置的提取和/或长度的确定。

所述文本位置的提取包括:1)检测小尺度文本框;2)循环连接文本框;3)文本行边细化。

所述文本检测基于深度卷积神经网络(cnn)进行检测。作为优选的实施方式,所述文本检测采用ctpn和/或yolo-v3两种网络模型完成。

所述文本识别的方法为基于深度卷积网络(cnn)进行识别。作为优选的实施方式,所述文本识别的方法为通过lstm和ctc结合的网络模型进行识别。

作为优选的实施方式,所述文本理解是对文本识别结果的判断和修正过程,如图2所示,包括:获取文字识别结果,所述文字识别结果包括一个或两个以上的候选结果;通过第一语言模型计算每个候选结果的置信度;和获取置信度最大的侯选结果。以3个候选结果为例,第一语言模型分别计算候选结果1、候选结果2和候选结果3的置信度,识别出置信度最大的候选结果。

如图3所示,所述计算每个候选结果的置信度包括:候选结果分词;计算候选结果的每个分词的置信度并相加得分,即为候选结果的置信度。候选结果以3个分词为例,将候选结果按照词序进行分词,得到分词1、分词2和分词3,分别计算出分词1、分词2和分词3的置信度,通过三个分词置信度的相加,得到候选结果成为一句话或一个较长词组的置信度。

作为优选的实施方式,所述文本理解的进一步修正的过程是将候选结果的置信度与给定阈值进行比较,如图4所示,包括:判断所获取的置信度最大的侯选结果的最大置信度是否大于给定阈值(t);和文本替换;当大于给定阈值时,则该本文结果作为最终的识别结果;当等于或小于给定阈值时,则需要进行文本替换。

作为优选的实施方式,所述文本替换是对小于或等于给定阈值的识别结果进行分词替换的过程,如图5所示,包括:对置信度等于或小于给定阈值的文本进行分词,按照分词顺序依次进行知识图谱比对;判断第一顺位分词是否在知识图谱中出现;如果出现,则确定该分词不予替换,并进入下一顺位的分词判断;如果未出现,则在知识图谱中搜索候选替换词并完成替换;每一次文本替换的过程只进行到完成替换一个分词时则终止,此时得到的替换文本输入第一语言模型计算其置信度并判断其是否大于给定阈值(t);如果大于给定阈值,则作为最终的文本识别结果输出;如果小于给定阈值,则将替换文本作为文本替换的输入文本进行第二次文本替换,直至所得到的替换文本的置信度大于给定阈值。置信度小于或等于t的文本进行分词,以分成3个词为例,分词后,按照文本的词序得到分词1、分词2和分词3。先对分词1进行判断,如果出现在知识图谱中,则对分词2进行判断;如果不出现在知识图谱中,则对分词1进行替换。如果对分词2进行判断,分词2出现在知识图谱中,则对分词3进行判断;如果分词2不出现在知识图谱中,则对分词2进行替换。每次只进行一个分词的替换,以此类推。当替换后的文本的置信度等于或小于t时,重新进入文本替换程序进行替换,直至替换文本的置信度大于t,则输出识别结果。

作为优选的实施方式,所述在知识图谱中搜索候选替换词并完成替换包括编辑距离模块、字形相似度模块和第二语言模块,在图谱中未出现的分词经过三个模块后进行计算得出替换文本,如图6所示,包括:通过编辑距离模型在知识图谱中搜索出n个候选替换词并计算出每个候选词的编辑距离的损失(loss_edit);通过字形相似度模型计算出每个候选替换词的字形相似度的损失(loss_char);通过第二语言模型计算出每个侯选替换词替换后的文本的语言模型损失(loss_lm);对每个候选替换词所对应的编辑距离的损失、相似度的损失和语言模型损失进行加权平均,得到加权平均损失最小的候选结果作为替换词进行替换。在图谱中未出现的分词首先进入编辑距离模块,以搜索出3个候选替换词为例,编辑距离模块搜索出候选替换词1、候选替换词2和候选替换词3,并计算出搜索出候选替换词的过程中产生的损失:编辑距离损失1、编辑距离损失2和编辑距离损失3。再将候选替换词进入字形相似度模块比较字形,并产生相应的损失:字形相似度损失1、字形相似度损失2和字形相似度损失3。接着,将做完字形比较的候选替换词替换到文本中,形成替换后的文本,并计算出语言模型损失1、语言模型损失2和语言模型损失3。每个候选替换词经过三个模块都产生了三个损失,分别将每个候选替换词的三个损失进行加权平均,得到加权平均损失1、加权平均损失2和加权平均损失3,并比较三个加权平均损失,得到加权平均损失最小的替换后的文本。

所述字通过字形相似度模型计算出每个候选替换词的字形相似度的损失包括:基于cnn实现的字形表示方法,得到每个字形对应的向量表示,计算候选替换词和被替换词的字向量表示的欧式距离。

作为优选的实施方式,所述图片或视频为医学领域的图片或视频;和/或,所述知识图谱为医学领域的相关数据。

根据本发明的第二种实施方式,提供了一种知识感知的文本识别系统,如图7所示,包括:文本检测单元、文本识别单元和文本理解单元。文本检测单元用于检测图片或视频中的文本信息;文本识别单元用于提取并识别文本信息中的文字并得出识别结果;文本理解单元用于对文字识别的结果利用语言模型和知识图谱进行判断和修正,得出最终识别结果。

所述文本检测单元包括ctpn模型和/或yolo-v3模型。ctpn模型用于合成文本线;yolo-v3模型用于完成以单元格为单位进行预测分析。所述文字识别单元包括图片角度识别模块、文本切分模块、字符切分模块和字符识别模块。

作为优选的实施方式,如图8所示,所述文本理解单元包括文本置信度检测模块,用于通过第一语言模型计算每个候选结果的置信度,并获取置信度最大的候选结果;优选地,所述文本置信度检测模块还完成将所述置信度最大的候选结果与给定阈值的比对。

作为优选的实施方式,如图9所示,所述文本理解单元还包括:本文替换模块,用于接收并完成等于或少于给定阈值的所述置信度最大的候选结果,并对其进行文本替换。

作为优选的实施方式,如图10所示,所述文本替换模块包括:切分模块、检测模块、搜索替换模块和文本置信度模块。切分模块用于将进入替换模块的文本分词;检测模块用于依次检测分词在知识图谱中是否出现,如果出现,则进行下一顺位分词的检测,如果没出现,则进入搜索替换模块;搜索替换模块用于完成对上述没有在知识图谱中出现的分词进行在知识图谱中搜索候选替换词并完成替换;文本置信度检测模块用于通过第一语言模型计算替换后的文本的置信度,并完成置信度与给定阈值的比对,如果大于给定阈值,则作为最终的文本识别结果输出,如果小于给定阈值,则将替换文本作为文本替换的输入文本进入文本替换模块的切分模块,直至所得到的替换文本的置信度大于给定阈值。

作为优选的实施方式,如图11所示,所述搜索替换模块包括编辑距离模块、字形相似度模块、语义相关度判断模块和加权计算模块。编辑距离模块用于通过编辑距离模型在知识图谱中搜索出n个候选替换词并计算出每个候选词的编辑距离的损失(loss_edit);字形相似度模块,用于通过字形相似度模型计算出每个候选替换词的字形相似度的损失(loss_char);语义相关度判断模块用于通过第二语言模型计算出每个侯选替换词替换后的文本的语言模型损失(loss_lm);加权计算模块用于将每个候选替换词所对应的编辑距离的损失、字形相似度的损失和语言模型损失进行加权平均,得到加权平均损失最小的候选结果作为替换词进行替换。

使用第二种实施方式提供的知识感知的文本识别系统进行化验单样本识别,得到识别结果。如图12、图13和图14所示,图12为原始标注样本,图13为使用ctpn模型后的检测结果,图14为使用yolo-v3模型后的检测结果。

根据本发明的第三种实施方式,提供了一种基于深入学习建立医疗感知的语言模型的方法,包括:从医疗网站获取文本语料;建立初始语言模型;优化语言模型,其中,所述的模型训练包括基于文本语料的知识感知的语言模型训练和文本识别模型训练。

所述语言模型的整体架构如图15所示。

作为优选的实施方式,所述语言模型训练的方法包括语料预处理、分词和模型训练;优选地,所述模型训练之前还包括去停用词。

所述分词具体为:对文本进行分词,转换为词序列。

作为优选的实施方式,所述语料预处理是指将从医疗网站获取的语料数据进行预处理,包括网页标签过滤、特殊字符过滤,数字替换等步骤,形成较为规范的数据。

在训练语言模型的时候以词为单位,本发明的词表示从基于字符组合得到的。将字符的表示拼接为矩阵,然后基于卷积神经网对字符矩阵进行表示,最后通过一个全连接层得到最终的词表示,词表示方法的架构如图16所示。

通过语言模型训练得到给定阈值。

所述的文本识别模型训练的方法是:输入垂直领域相关数据,通过cnn模型识别出图片角度、文本块、字符块和文字,计算识别准确度的概率,将得到的概率通过知识蒸馏反馈给深度卷积神经网络(cnn)和语言模型,并更新文本检测和文字识别的识别精度。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:

1.一种知识感知的文本识别方法,其特征在于,所述文本识别方法包括:

文本检测,检测图片或视频中的文本信息;

文字识别,对文本信息进行文字提取并得出识别结果;

文本理解,对文字识别的结果利用语言模型和知识图谱进行判断和修正,得出最终识别结果。

2.根据权利要求1所述的知识感知的文本识别方法,其特征在于,所述文本检测包括图片或视频中文本位置的提取和/或长度的确定。

3.根据权利要求2所述的知识感知的文本识别方法,其特征在于,所述文本位置的提取包括:

1)检测小尺度文本框;

2)循环连接文本框;

3)文本行边细化。

4.根据权利要求1所述的知识感知的文本识别方法,其特征在于,所述基于深度卷积神经网络(cnn)进行检测;优选地,文本检测采用ctpn和/或yolo-v3两种网络模型完成。

5.根据权利要求1所述的知识感知的文本识别方法,其特征在于,所述文本识别的方法为基于深度卷积神经网络(cnn)进行识别;优选地,通过lstm和ctc结合的网络模型进行识别。

6.根据权利要求1所述的知识感知的文本识别方法,其特征在于,所述文本理解包括:

获取文字识别结果,所述文字识别结果包括一个或两个以上的候选结果;

通过第一语言模型计算每个候选结果的置信度;和

获取置信度最大的侯选结果。

7.根据权利要求6所述的知识感知的文本识别方法,其特征在于,所述计算每个候选结果的置信度包括:

候选结果分词;

计算候选结果的每个分词的置信度并相加得分,即为候选结果的置信度。

8.根据权利要求6或7所述的知识感知的文本识别方法,其特征在于,所述文本理解还包括:

判断所获取的置信度最大的侯选结果的最大置信度是否大于给定阈值(t);和

文本替换;

当大于给定阈值时,则该本文结果作为最终的识别结果;当等于或小于给定阈值时,则需要进行文本替换。

9.根据权利要求8所述的知识感知的文本识别方法,其特征在于,所述文本替换包括:

对置信度等于或小于给定阈值的文本进行分词,按照分词顺序依次进行知识图谱比对;

判断第一顺位分词是否在知识图谱中出现;

如果出现,则确定该分词不予替换,并进入下一顺位的分词判断;

如果未出现,则在知识图谱中搜索候选替换词并完成替换;

每一次文本替换的过程只进行到完成替换一个分词时则终止,此时得到的替换文本输入第一语言模型计算其置信度并判断其是否大于给定阈值(t);

如果大于给定阈值,则作为最终的文本识别结果输出;

如果小于给定阈值,则将替换文本作为文本替换的输入文本进行第二次文本替换,直至所得到的替换文本的置信度大于给定阈值。

10.根据权利要求9所述的知识感知的文本识别方法,其特征在于,所述在知识图谱中搜索候选替换词并完成替换包括:

通过编辑距离模型在知识图谱中搜索出n个候选替换词并计算出每个候选词的编辑距离的损失(loss_edit);

通过字形相似度模型计算出每个候选替换词的字形相似度的损失(loss_char);

通过第二语言模型计算出每个侯选替换词替换后的文本的语言模型损失(loss_lm);

对每个候选替换词所对应的编辑距离的损失、相似度的损失和语言模型损失进行加权平均,得到加权平均损失最小的候选结果作为替换词进行替换。

11.根据权利要求10所述的知识感知的文本识别方法,其特征在于,所述字通过字形相似度模型计算出每个候选替换词的字形相似度的损失包括:基于cnn实现的字形表示方法,得到每个字形对应的向量表示,计算候选替换词和被替换词的字向量表示的欧式距离。

12.根据权利要求1-11所述的知识感知的文本识别方法,其特征在于,所述图片或视频为医学领域的图片或视频;和/或,所述知识图谱为医学领域的相关数据。

13.一种知识感知的文本识别系统,其特征在于,包括:

文本检测单元,用于检测图片或视频中的文本信息;

文本识别单元,用于提取并识别文本信息中的文字并得出识别结果;

文本理解单元,用于对文字识别的结果利用语言模型和知识图谱进行判断和修正,得出最终识别结果。

14.根据权利要求13所述的知识感知的文本识别系统,其特征在于,所述文本检测单元包括:

ctpn模型,用于合成文本线;和/或

yolo-v3模型,用于完成以单元格为单位进行预测分析。

15.根据权利要求13所述的知识感知的文本识别系统,其特征在于,所述文字识别单元包括:

图片角度识别模块、文本切分模块、字符切分模块和字符识别模块。

16.根据权利要求13所述的知识感知的文本识别系统,其特征在于,所述文本理解单元包括:

文本置信度检测模块,用于通过第一语言模型计算每个候选结果的置信度,并获取置信度最大的候选结果;优选地,所述文本置信度检测模块还完成将所述置信度最大的候选结果与给定阈值的比对。

17.根据权利要求16所述的知识感知的文本识别系统,其特征在于,所述文本理解单元还包括:

本文替换模块,用于接收并完成等于或少于给定阈值的所述置信度最大的候选结果,并对其进行文本替换。

18.根据权利要求17所述的知识感知的文本识别系统,其特征在于,所述文本替换模块包括:

切分模块,用于将进入替换模块的文本分词;

检测模块,用于依次检测分词在知识图谱中是否出现,如果出现,则进行下一顺位分词的检测,如果没出现,则进入搜索替换模块;

搜索替换模块,用于完成对上述没有在知识图谱中出现的分词进行在知识图谱中搜索候选替换词并完成替换;

文本置信度检测模块,用于通过第一语言模型计算替换后的文本的置信度,并完成置信度与给定阈值的比对,如果大于给定阈值,则作为最终的文本识别结果输出,如果小于给定阈值,则将替换文本作为文本替换的输入文本进入文本替换模块的切分模块,直至所得到的替换文本的置信度大于给定阈值。

19.根据权利要求18所述的知识感知的文本识别系统,其特征在于,所述搜索替换模块,包括:

编辑距离模块,用于通过编辑距离模型在知识图谱中搜索出n个候选替换词并计算出每个候选词的编辑距离的损失(loss_edit);

字形相似度模块,用于通过字形相似度模型计算出每个候选替换词的字形相似度的损失(loss_char);

语义相关度判断模块,用于通过第二语言模型计算出每个侯选替换词替换后的文本的语言模型损失(loss_lm);

加权计算模块,用于将每个候选替换词所对应的编辑距离的损失、字形相似度的损失和语言模型损失进行加权平均,得到加权平均损失最小的候选结果作为替换词进行替换。

20.一种基于深入学习建立医疗感知的语言模型的方法,其特征在于:

从医疗网站获取文本语料;

建立初始语言模型;

优化语言模型,其中,所述的模型训练包括基于文本语料的知识感知的语言模型训练和文本识别模型训练。

21.根据权利要求20所述的基于深入学习建立医疗感知的语言模型的方法,其特征在于:所述语言模型训练的方法包括语料预处理、分词和模型训练;优选地,所述模型训练之前还包括去停用词。

22.根据权利要求20所述的基于深入学习建立医疗感知的语言模型的方法,其特征在于:所述语料预处理是指将从医疗网站获取的语料数据进行预处理,包括网页标签过滤、特殊字符过滤,数字替换等步骤,形成较为规范的数据。

23.根据权利要求21所述的基于深入学习建立医疗感知的语言模型的方法,其特征在于:所述分词具体为:对文本进行分词,转换为词序列。

24.根据权利要求20所述的基于深入学习建立医疗感知的语言模型的方法,其特征在于,通过语言模型训练得到给定阈值。

25.根据权利要求20所述的基于深入学习建立医疗感知的语言模型的方法,其特征在于,所述的文本识别模型训练的方法是:输入垂直领域相关数据,通过cnn模型识别出图片角度、文本块、字符块和文字,计算识别准确度的概率,将得到的概率通过知识蒸馏反馈给深度卷积神经网络(cnn)和语言模型,并更新文本检测和文字识别的识别精度。

技术总结
本发明提供一种知识感知的文本识别方法和系统。所述知识感知的文本识别方法包括文本检测、文字识别和文本理解。通过检测图片或视频中的文本信息,提取文字并得出识别结果,再将文字识别结果进行判断和修正,有利于提升垂直领域的识别精确度。所述知识感知的文本识别系统包括文本检测单元、文本识别单元和文本理解单元。通过三个模块对图片或视频中的文本进行检测识别并判断修正,得到最终识别结果。本发明提供的文本识别系统计算速度快,专业性强,并且输出的识别结果准确度高。

技术研发人员:张闻欣;张勇;叶继兴
受保护的技术使用者:杭州翼心信息科技有限公司
技术研发日:2018.12.03
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-17186.html

最新回复(0)