掌桥专利:专业的专利平台
掌桥专利
首页

文字识别矫正的方法

文献发布时间:2023-06-19 10:16:30


文字识别矫正的方法

技术领域

本申请涉及计算机视觉技术领域,具体涉及一种文字识别矫正的方法。

背景技术

近年来,随着深度学习和人工智能的不断发展与进步,计算机视觉领域成为热点研究方向,吸引了来自学术界与工业界的广泛关注。计算机视觉通过其对图像的强大的解读能力,为各行各业提供了技术支持。其中,医疗领域提出了智慧医疗的建设,并在近些年取得了突破性进展。化验检测对于就医患者必不可少,同时会产生大量的医疗化验单,极大的增加了医生的工作量。自2005年起,由Google不断维护的开源的Tesseract-OCR在文字识别领域取得优异的成绩,使整个学术界以及工业界掀起了一股人工智能的浪潮,各类文字识别算法应运而生。在医疗领域,OCR技术可以通过识别化验单文字,结合医疗信息系统,利用人工智能与大数据对化验单进行初步的解读,不仅能够使患者得到及时的就诊,同时也可以减轻工作人员的工作量,大大提升诊断效率。OCR全称Optical CharacterRecognition,中文翻译为光学字符识别。对于自然场景下化验单文字识别后处理,目前存在的后处理方法都存在一定的缺陷。例如:编辑距离算法对于较短序列或识别结果出现缺失、增加等情况效果并不理想;最长公共子序列算法可以克服文字的缺失或增添,但在多个序列拥有相同公共子序列时,矫正会出现争议;语言模型只是在预测时有多个预测结果,通过构建识别矩阵,找到最优的组合路径;等等。这些缺陷导致自然场景下化验单识别效果欠佳。

发明内容

本申请的目的是提供一种文字识别矫正的方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

根据本申请实施例的一个方面,提供一种文字识别矫正的方法,包括:

构建专业词库;

构建识别结果区域矩阵;

矫正。

进一步地,所述矫正包括:

基于语言模型进行矫正;

基于编辑距离和最长公共子序列进行矫正;

基于对应关系进行矫正。

进一步地,基于语言模型进行矫正,包括:

语言模型通过概率分布来统计字符出现的概率,通过统计结果,计算最大的条件概率;第一个检测区域识别的结果S

根据概率统计分析,条件概率P(S

f=W(S

f的最大值即为最优得组合方式;

对于预测序列S

f=W(S

条件概率公式为

求解最优组合路径问题的最优解。

进一步地,所述基于编辑距离和最长公共子序列进行矫正,包括:

对编辑距离和最长公共子序列两种方法的计算结果进行加权求和。

进一步地,所述基于对应关系进行矫正,包括:

根据各项的对应关系,根据识别出的项矫正与该被识别出的项存在对应关系的项的识别结果。

进一步地,所述构建识别结果区域矩阵,包括:根据识别结果的每个区域取前N,构建识别结果区域矩阵,其中,N为正整数。

根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的文字识别矫正的方法。

根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的文字识别矫正的方法。

本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:

本申请实施例提供的文字识别矫正的方法,通过引入语言模型,统计条件概率预测最佳符合词库的识别结果,通过检测项对应关系,进行前后矫正,进一步提高识别精确度,最后通过融合编辑距离和最长公共子序列的识别方法匹配最佳的识别结果,提高了识别准确率,能够很好地满足实际应用的需要。

本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一个实施例的文字识别矫正的方法流程图;

图2为本申请一个实施例中的识别结果区域矩阵示意图;

图3为本申请一个实施例中的动态转移过程示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

针对自然场景下化验单文字识别,本申请实施例提出了一种文字识别矫正的方法,包括:首先利用语言模型得到更加符合实际情况的预测序列,然后根据构建的医疗词库进行完全匹配,若匹配成功可以根据化验单检测项的对应关系进行前后矫正,若匹配失败,可以根据改进的编辑距离和最长公共子序列的方法选择最接近的医疗词库中的词语矫正,然后再根据对应关系进一步矫正,从而提高识别准确率。

融合语言模型的化验单(或者其他文字材料)文字识别矫正的方法,可以有效解决形近字识别错误和医学名词个别字识别错误的情况,其整体流程图如图1所示。主要分为两个部分对自然场景下化验单的识别进行矫正,第一步是预处理,构建医疗词库和识别矩阵。第二步是OCR后处理矫正,主要包括基于语言模型的矫正,基于对应关系的矫正,基于编辑距离和最长公共子序列的矫正。

融合语言模型的化验单文字识别矫正的方法,输入文字识别结果和构建的医学词库,第一步根据识别的区域矩阵,利用Number函数进行词频统计,然后利用统计语言模型计算区域矩阵中每个组合路线的概率,最后利用Max函数选取最大概率的组合路线,即为识别序列。第二步利用Relationship函数进行检测项前后关系匹配矫正。若匹配不成功则进行第三步操作,利用融合的编辑距离算法和最长公共子序列算法进行最佳相似匹配,通过匹配到的医学词库信息来矫正识别序列。最后,输出矫正后的序列。

识别结果矫正预处理

首先根据真实数据,构建专业词库,方便后期的统计和矫正。然后根据识别结果的每个区域取top3,构建识别结果区域矩阵。传统文字识别只取每个区域的最高预测结果,通过区域组合得到最终结果,其最大问题在于在某一区域一旦出现识别错误,就会导致整体出错。这里构建每个区域概率预测前三的结果组成区域矩阵,为后期引入语言模型奠定基础。top3可以为topN(即前N个),其中N为正整数。如图2所示。医疗词库是一种专业词库。本实施例中以医疗词库为例来描述本申请的方法,本申请的方法也可以应用于其他行业或领域的文字识别矫正,需要构建对应的专业词库。

基于语言模型的识别结果矫正

语言模型是对语句的概率部分的建模,它通过对语言进行收集,并对收集到的语言文字进行统计分析,从而得到语言中的文字所存在的规律。语言模型可以通过概率分布来统计字符出现的概率,从而有效的对识别结果进行初步的矫正。具体来说,是通过统计结果,计算最大的条件概率,如“醛固酮”,第一个检测区域识别的结果S

f=W(S

同理,对于预测序列S

f=W(S

尽管知道了条件概率和预测概率,但是组合情况的复杂度呈指数级增长,在有效的时间内很难得到最终结果,故引用Viterbi算法求解最优组合路径问题,最优路径组合可以抽象为一个动态规划的问题,首先构造动态转移方程。如果最优路径经过某个节点S

dp[i,j]=max(dp[i-1,k]+value(k,j)) (4)

动态转移方程中的k表示选取的预测值个数,value(k,j)表示第i-1个区域的第k个点到第i个区域的第j个点的条件概率,如图3所示,图中线段有的标记有字母a,有的标记有字母b,剩余的线段未标记字母,其中,未标记字母的线段代表暴力求解过程,标注有字母a的线段代表动态规划求解过程,每个节点,只需要选择一条最优到达路径即可。这样每步只需计算要n次即可,依次递推求解每个子问题的解,最后就可以逐步求出问题的最优解。

融合编辑距离和最长公共子序列的识别结果矫正

Levenshtein距离又称编辑距离(Edit Distance)是度量两个序列相似程序的常用算法,该算法通过插入、删除和替换等操作,将一个序列转化为另一个序列,并统计所需的最小步数。在本实施例中,将OCR识别结果与构建的医学词库进行编辑距离计算,可以找到与识别结果最为接近的医学词库中的医学名词。编辑距离算法运用了动态规划的思想,输入序列s和e分别表识别结果和医学词库中的医学名词,dp[i,j]表示序列s的前i个元素和序列e的前j个元素的编辑距离,动态转移方程如式(5)所示,若序列s的第i个元素和序列e的第j个元素相等,那么编辑操作为0,dp[i,j]=dp[i-1,j-1];若序列s的第i个元素和序列e的第j个元素不相等,那么dp[i,j]可以进行三种操作,第一种操作方式是删除序列s的第i个元素,第二种方式删除序列e的第j个元素,第三种方式替换操作使得第i个元素和第j个元素相等,三种方式取最小值。

最长公共子序列也是一种使用了动态规划的算法,主要用于求两个序列之间的相似度,也可以用来矫正文字识别。对于输入序列x和y分别表识别结果和医学词库中的医学名词,C[i,j]表示序序列x的前i个元素和序列y的前j个元素的最长公共序列,动态转移方程如式(6)所示,若序列x的第i个元素和序列y的第j个元素相等,那么最长公共子序列长度加一,C[i,j]=C[i-1,j-1]+1,若序列x的第i个元素和序列y的第j个元素不相等,C[i,j]取C[i,j-1]和C[i,j-1]的最大值,等价于删除第i个元素或第j个元素后序列的最长公共子序列,然后删除后公共子序列最长的方案进行删除。

对于漏字或多字的情况,编辑距离方法有一定的局限性,最长公共子序列算法对于长度不同但有公共子序列的字符串,会出现歧义情况。本实施例融合了编辑距离方法和最长公共子序列方法。对于识别序列长度为n,医学词库中医学名词序列长度为m,Q[n,m]表示两序列相似度,通过统计分析,发现数据的分布规律,结合编辑距离和最长公共子序列两种方法,设置比例系数α=0.3,β=0.7,求解公式如式(7)所示。

Q[n,m]=α·dp[n,m]+β·(min(n,m)-C[n,m]) (7)

对应关系的识别结果矫正

根据真实化验单数据,每张检验单最多包含七项,分别为序号、项目名称、缩写、检测结果、单位、参考值范围、提示。其中,项目名称、缩写、单位、参考值范围存在固定的对应关系,如果一个检验项的项目名称和缩写识别正确,便可以根据每个检验项的项目名称和缩写,对其他列的识别结果进行前后矫正。部分化验单还存在一行多个检验项的情况,需要根据对列名的识别结果配合检验项文字,核对并拆分一行中的两个检验项,并对两个检验项分别进行如上矫正处理。

本申请实施例的方法,识别结果的准确率、召回率和F1值较高,表明加入后处理的文本识别更加精确。通过使用后处理方法可以矫正一些形近字错误,对于一些医学词语也能够准确的矫正,同时还能通过后处理将识别结果进一步规范化,方便后期处理。通过定性分析进一步体现了引入后处理可以调高文本识别的准确率。

本申请的另一个实施例,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的文字识别矫正的方法。

本申请的另一个实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的文字识别矫正的方法。

本申请实施例提出了一种融合语言模型的自然场景下的化验单文字识别矫正的方法。该方法引入统计语言模型,对识别区域矩阵进行条件概率统计,预测符合医学词库的最佳识别结果,然后根据检验项对应关系进行前后矫正,最后基于融合的编辑距离和最长公共子序列方法进行识别结果矫正。本实施例引入的后处理方法与不加后处理的识别结果相比,在两批医疗化验单上分别取得了准确率、召回率、F1值提升2%、3%、2%与2%、5%、4%的效果。对比实验表明,本实施例提出的后处理矫正方法能够进一步提高文本框文字的识别精度,为后期化验单解读奠定了基础。

本申请实施例提出了一种融合语言模型的文字识别矫正方法。通过引入语言模型,统计条件概率预测最佳符合医学词库的识别结果,通过检测项对应关系,进行前后矫正,进一步提高识别精确度,最后通过融合编辑距离和最长公共子序列的识别方法匹配最佳贴切的识别结果。对比实验表明,在引入本申请提出的矫正方法后,化验单的识别准确率得到了提高,证明了本申请方法的有效性。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 一种畸形文本矫正方法、系统及文字识别方法
  • 文字识别矫正的方法
技术分类

06120112481167