一种文字图像识别纠错方法和电子设备与流程

文档序号:30579772发布日期:2022-06-29 11:32阅读:228来源:国知局
一种文字图像识别纠错方法和电子设备与流程

1.本发明涉及计算机视觉和自然语言处理技术领域,更具体地说,涉及一种文字图像识别纠错方法和电子设备。


背景技术:

2.文字图像,即包括文字信息的图像。目前,识别图像中的文字作为计算机视觉中的一种常用技术,被广泛应用于文档信息提取、证照识别、资质审核等实际项目中,特别是在rpa (robotic process automation,机器人流程自动化)项目中有着普遍应用。在研发过程中,文字图像识别算法通常使用海量数据训练,得到一个在测试集上效果比较理想的模型。但在某些实际使用场景,往往会出现测试集中没有出现的数据,文字图像识别算法的准确率会因此打折。
3.识别图像中文字时,由于图像中文字大小、形状、颜色等表达的多样性,往往会产生错误的识别结果,因此现文字图像识别中均包括纠错步骤。现有技术的纠错方式主要是在训练文字识别模型阶段进行优化,如收集更多的实际使用场景数据加入到模型训练,或为一些非常重要的场景单独训练一个文字图像识别模型,用于克服识别过程中的纠错,但是,现有技术尚有以下不足:
4.1、某些场景的数据比较难收集,例如医疗、金融和保险等领域的相关文档,由于用户隐私问题,无法将所有的数据均公开给乙方作为训练数据;
5.2、标注文字识别数据需要消耗大量资金和时间;一般来说,标注二十万的数据大约需要十万元,耗时至少两个月,而一个效果较好的文字图像识别模型通常需要千万量级的数据;
6.3、文字图像识别模型的迭代需要耗费大量的人力、算力和时间;一般来说,利用千万数据量级训练一个文字图像识别模型通常需要一周左右的时间;
7.4、单独训练一个文字图像识别模型用于某些特殊场景缺乏普适性,文字图像识别的实际应用场景存在成千上万个,但由于人力、算力和时间限制,为每个场景单独训练一个模型基本没有可行性。


技术实现要素:

8.1.要解决的技术问题
9.针对现有技术中存在的文字图像识别准确率不够,构建模型需要成本较高的问题,本发明提供一种文字图像识别纠错方法和电子设备,基于语言模型进行文字图像识别的纠错,提高文字图像识别的准确性,且成本低,耗费时间少,应用时不受模块中其他单元限制,通用性强,适合广泛应用。
10.2.技术方案
11.本发明的目的通过以下技术方案实现。
12.第一方面,本发明提供一种文字图像识别纠错方法,包括以下步骤:
13.对文字图像进行文字识别,预处理文字识别结果,过滤出所述文字识别结果的潜在错误结果;
14.构建候选替换集合;候选替换集合可以是包括所有汉字的集合,或者1000个常用汉字的集合,或者是gbk/2、gbk/3汉字编码集合,gbk/2汉字编码集合收录6763个汉字,gbk/3 汉字编码集合收录6080个汉字;
15.基于语言模型,用所述候选替换集合中的文字逐一替换所述潜在错误结果,并计算每次潜在错误结果替换后文字序列的合理性得分;
16.将所有合理性得分排序,输出合理性得分最高的文字序列作为纠错后输出结果。
17.更进一步的,对于包括多个所述潜在错误结果的文字识别结果,结合所有所述潜在错误结果替换后的文字序列计算合理性得分。
18.更进一步的,所述基于语言模型,用所述候选替换集合中的文字逐一替换所述潜在错误结果,并计算每次潜在错误结果替换后文字序列的合理性得分,包括:
19.确认包括所述潜在错误结果在内的子文字单元,通过语言模型对子文字单元进行识别;对于语言模型中不包括的子文字单元,使用所述候选替换集合中的文字替换所述潜在错误结果,计算替换后文字序列的合理性得分。
20.更进一步的,所述子文字单元为包括所述潜在错误结果的文字单元。如识别后的文字序列为“abcxefg”,其中“x”为潜在错误结果,则包括“x”的文字单元均为子文字单元,以三个长度的子文字单元为例,子文字单元包括“bcx”、“cxe”和“xef”,子文字单元的长度没有限制,根据文字序列的长度及实际需求自行定义,一般来说,常用的汉字词语一般包括2 至4个文字,子文字单元的长度也以2至4为优。
21.更进一步的,所述合理性得分计算是根据语言模型,计算文字序列中文字出现的概率。合理性得分是基于语言模型,结合替换后文字序列的合理性、流畅性计算得分。本发明对语言模型没有限制,可以是基于统计的n-gram,也可以是基于预先训练得到的bert、lstm 等模型。
22.更进一步的,对于包括多个所述潜在错误结果的文字识别结果,结合所有所述潜在错误结果替换后的文字序列计算合理性得分,包括:
23.计算使用第一候选替换集合对第一潜在错误结果替换后合理性得分,确认合理性得分前n位对应的第一潜在错误结果替换后文字序列,在所述文字序列基础上计算使用第二候选替换集合对第二潜在错误结果替换后合理性得分,以此类推,直至计算出最后一个潜在错误结果的合理性得分。
24.更进一步的,所述候选替换集合根据字形知识库构建。
25.更进一步的,所述字形知识库包括形近字,以及结合偏旁部首后得到的文字。由于文字图片检测阶段有可能将部分文字切掉,本发明在字体知识库中创新的加入偏旁、部首等的文字作为候选。
26.更进一步的,所述文字识别结果包括识别的文字序列和文字序列对应的概率序列,所述概率序列表示识别出对应文字序列的概率。
27.更进一步的,所述预处理包括将全角标点符号转换为半角,以及将所述文字序列和所述概率序列对应。
28.第二方面,本发明提供一种文字图像识别纠错装置,包括:用于实现第一方面以及
第一方面任意一种可能的实现方式中所述的文字图像识别纠错方法的各个功能模块。
29.第三方面,本发明提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如所述的一种文字图像识别纠错方法。
30.第四方面,本发明提供一种计算机可读存储介质,该存储介质存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行上述第一方面以及第一方面任意一种可能的实现方式中所述的文字图像识别纠错方法。
31.本发明基于语言模型,对文字图像识别结果进行纠错,可以提升业务场景的文字识别准确率,对于新业务场景,也不需要重新训练文字识别模型即可进行适配,通用性强。
32.3.有益效果
33.相比于现有技术,本发明的优点在于:
34.本发明基于语言模型进行文字图像识别纠错,构建语言模型时需要的语料数据比文字图片数据容易获取的多,且不需要标注,节省大量的时间成本和金钱,使用本发明方法纠错后的文字图像识别准确率高。
35.本发明方法通用性强,在应对新的业务场景时,不需要重新训练文字识别模型,节省资金、人力和时间,做到快速适配。本发明的纠错模块和文字识别模型完全解耦,可以单独升级,不受整个系统中其他单元的制约。
附图说明
36.图1为本发明的系统结构示意图;
37.图2为本发明的方法流程示意图;
38.图3为本发明的实例示意图;
39.图4为本发明一实施例的结果对比图;
40.图中标号说明:
41.100、文字识别模块;200、概率阈值过滤模块;300、字形知识库模块;400、语言模型纠错模块。
具体实施方式
42.下面结合说明书附图和具体的实施例,对本发明作详细描述。
43.实施例
44.文字图像,即包括文字的图像。目前,在对文字图像中的文字进行识别时,会产生识别错误。本实施例公开一种文字图像识别纠错系统,如图1所示,所述系统包括文字识别模块 100、概率阈值过滤模块200、字形知识库模块300和语言模型纠错模块400;先将文字图像输入文字识别模块100进行文字识别,文字识别模块100将识别后结果输入概率阈值过滤模块200进行过滤,检测文字识别的潜在错误结果;将概率阈值过滤模块200检测到的潜在错误结果输入字形知识库模块300对潜在错误结果构建候选替换集合;在语言模型纠错模块400 基于候选替换集合对潜在错误结果进行候选文字替换,根据语言模型计算替换后的合理性得分,根据替换后合理性得分排序,输出纠错后的结果。
45.所述合理性得分计算就是根据语言模型,计算文字一起出现的概率,出现概率低
的文字组合为错误文字,其合理性得分低。计算合理性得分,即是基于语言模型对识别后文字序列的合理性、流畅度进行计算。假设语言模型为f,文字识别模块100识别的文字序列是s0,语音模型纠错模块400替换后的文字序列是s1或s2,计算替换后文字序列s1的合理性得分 score1=f(s1),和替换后文字序列s2的合理性得分score2=f(s2),根据计算合理性得分排序,确认合理性得分最高的文字序列为纠错后的识别结果。
46.例如,在语音模型纠错模块400将文字识别模块100识别出的“奋讲这一年”根据候选替换集合替换为“奋进这一年”、“奋近这一年”和“奋阱这一年”,根据语言模型计算“奋进这一年”、“奋近这一年”和“奋阱这一年”的合理性得分,然后将合理性得分排序,可以得到“奋进这一年”的合理性得分高,即认为“奋进这一年”为纠错后的结果输出系统。
47.本实施例可提高文字图像识别的准确率,且不用进行额外的模型训练,结构简单。与现有技术需同时结合文字识别概率和语言模型概率计算识别准确性,本实施例仅需通过语言模型计算概率,结构简单,易于实现。
48.文字识别模块100用于将文字图片中的文字识别出来,得到识别结果。在进行文字识别时,文字识别模块100输出两个序列,第一序列为文字结果,后文使用文字序列描述;第二序列为识别出第一序列文字结果的概率值,后文使用概率序列描述。例如图3,识别的第一序列为“奋讲这一年”,第二序列为识别出“奋讲这一年”的概率,分别为0.8,0.1,0.7,0.8, 0.6,其中0.8为识别出“奋”的概率,0.1为识别出“讲”的概率,0.7为识别出“这”的概率,0.7是识别出“一”的概率,0.8是识别出“年”的概率。具体的文字识别方式使用本领域通用的文字识别方法,在本专利申请中不再赘述。
49.概率阈值过滤模块200用于将文字识别模块100识别结果中的概率值与模块中提前设定的阈值进行比较,检测小于预设阈值的概率值对应的文字,所述识别出概率值小于预设阈值的文字结果即潜在错误结果。
50.字形知识库模块300是可选模块,将文字识别模块100识别出文字通过概率阈值过滤模块200过滤,得到潜在错误结果后,构建候选替换集合对潜在错误结果替换。此时,可以利用字形知识库,将所有可能错误文字的形近字找出,作为候选替换集合,缩小后续语言模型纠错的候选范围。作为可选模块,如不使用字形知识库模块300,可以使用整个字符集合作为候选替换集合,这里的字符集可以是包括所有汉字的集合,或者1000个常用汉字的集合,或者是gbk/2、gbk/3汉字编码集合,gbk/2汉字编码集合收录6763个汉字,gbk/3汉字编码集合收录6080个汉字。
51.语言模型纠错模块400根据阅读方向遍历每个潜在错误结果,使用候选替换集合中每个文字对概率阈值过滤模块200过滤出的潜在错误结果进行替换,得到纠错后的文字序列,使用语言模型计算纠错后的文字序列合理性得分,计算纠错后文字序列的流畅度,选取合理性分数最高的文字序列作为纠错结果输出。本实施例对语言模型没有限制,可以是基于统计的 n-gram,也可以是基于预先训练得到的bert、lstm等模型。
52.本实施例还公开一种电子设备,所述电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器执行所述程序时实现上述实施例所述的文字图像识别纠错方法。
53.处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集
成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行实施例中公开的各方法、步骤及逻辑框图。
54.存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器 (electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
55.基于上述系统和电子设备,本实施例公开一种文字图像识别纠错方法,所述方法基于语言模型进行文字图像的纠错,如图2所示,包括以下步骤。
56.步骤100:对文字图像进行文字识别,预处理文字识别结果,过滤出所述文字识别结果的潜在错误结果。
57.将文字图像输入电子设备的文字识别模块100进行文字识别,电子设备将识别结果输入概率阈值过滤模块200进行过滤,文字图像在文字识别模块100识别后输出两个序列,第一序列为文字结果,即文字序列,第二序列为识别出第一序列文字结果的概率值,即概率序列。
58.对文字图像识别后结果进行预处理,所述预处理包括将全角标点符号转换为半角,以及将所述文字序列和所述概率序列一一对应。根据概率阈值过滤模块200预先设置的概率阈值η对识别结果进行过滤,具体的,如果某个识别后的文字序列中文字对应的概率序列中的概率值小于η,则该识别后文字被标注为潜在错误结果。如识别的第一序列文字序列为“奋讲这一年”,第二序列概率序列为“0.8,0.1,0.7,0.8,0.6”,其中0.8为识别出“奋”的概率, 0.1为识别出“讲”的概率,0.7为识别出“这”的概率,0.8为识别出“一”的概率,0.6为识别出“年”的概率,若η=0.5,则概率序列中小于η的概率0.1对应的文字序列中的文字“讲”为潜在错误结果。
59.步骤200:构建候选替换集合,用于对潜在错误结果的字符进行替换。
60.纠错系统对于潜在错误结果,设置候选替换集合进行替换。候选替换集合可以是包括所有汉字的集合,或者1000个常用汉字的集合,或者是gbk/2、gbk/3汉字编码集合
61.作为本实施例的一种改进,候选替换集合还可根据字形知识库确认,因为文字图像识别经常会将字形相近的文字识别错误,因此字形知识库主要依据形近字建立,每个文字都有其形近字集合。此处的字形知识库主要包括两部分,一是形近字,二是根据文字结合偏旁部首得到的候选文字。由于文字图片检测阶段有可能将部分文字切掉,本实施例在字体知识库加入偏旁、部首等的文字作为候选。例如:注字的候选替换集合为:江、汪、汁,主字的候选集合为王、圭、注。
62.步骤300:基于语言模型,用所述候选替换集合中的文字逐一替换所述潜在错误结果,并计算每次潜在错误结果替换后文字序列的合理性得分。
63.根据文字阅读方向,如从左至右遍历每个潜在错误结果。语言模型以n-gram为例,判断包括潜在错误结果的子文字单元是否在语言模型中,以n-gram语言模型为例,将子文字单元输入n-gram语言模型中,根据n-gram模型中文字之间的相关性,即判断语言模型中是否有子文字单元。若子文字单元在语言模型中,则认为该潜在错误结果识别无误,直接跳
过不做处理;若子文字单元不在语言模型中,则依据候选替换集合对潜在错误结果进行替换,得到新的文字序列,计算替换后文字序列合理性得分。若候选替换集合有多个候选字符,则对每一个字符替换后的文字序列计算合理性得分,并根据合理性得分的排序对替换后文字序列排序。本实施例对语言模型没有限制,可以是基于统计的n-gram,也可以是基于预先训练得到的bert、lstm等模型。
64.子文字单元为包括潜在错误结果的文字单元,如识别后的文字序列为“奋讲这一年”,其中“讲”为潜在错误结果,则包括文字“讲”的文字单元均为子文字单元,子文字单元的长度没有限制,可根据需要自行设置,本实施例以三个长度的子文字单元为例,子文字单元包括“奋讲这”和“讲这一”,判断子文字单元是否包括在语言模型中,即判断语言模型中是否有子文字单元。对于不包括在语言模型中的,利用候选替换集合替换潜在错误结果,再依据语言模型计算替换后文字序列的合理性得分。对于候选替换集合包括多个候选替换字符的,记录每个替换后文字序列的合理性得分并排序。
65.对于包括多个所述潜在错误结果的文字识别结果,结合所有所述潜在错误结果替换后的文字序列计算合理性得分。
66.若识别后的文字包括多个潜在错误结果,则根据文字阅读方向,如从左往右,依次通过候选替换集合对潜在错误结果进行替换,保留合理性得分前n个的候选替换后文字序列,在下一个潜在错误结果替换时,综合之前的潜在错误结果替换后文字序列的相关性计算合理性得分。合理性得分基于语言模型对识别后的文字序列进行计算,假设语言模型为f,文字识别模块100识别的文字序列是s0,语音模型纠错模块400替换后的文字序列是s1、s2,计算替换后文字序列s1的合理性得分score1=f(s1),以及替换后文字序列s2的合理性得分 score2=f(s2),根据计算的合理性得分排序,确认合理性得分最高的文字序列为纠错后的识别结果。
67.例如识别后的文字为“保护知织产权就是保护刨新”,根据概率阈值过滤模块200确认潜在错误结果为“织”和“刨”,第一潜在错误结果“织”的第一候选替换集合为“识、炽、职、帜”,第二潜在错误结果“刨”的第二候选替换集合为“创、剑、剖”;先使用第一候选集合“识、炽、职、帜”对第一潜在错误结果“织”进行替换,计算替换后文字序列的合理性得分,记为a、b、c和d。
68.再使用第二候选集合“创、剑、剖”对第二潜在错误结果“刨”进行替换,计算潜在错误结果“刨”的合理性得分时,需综合潜在错误结果“织”替换后相关性,避免因为其他潜在错误结果导致错误的候选替换。
69.如计算第二潜在错误结果“刨”替换后合理性得分时,先使用“创”替换,结合第一潜在错误结果“织”替换后的相关性,分别计算“保护知织产权就是保护创新”、“保护知识产权就是保护创新”、“保护知炽产权就是保护创新”、“保护知职产权就是保护创新”和“保护知帜产权就是保护创新”的合理性得分,记为a1、a2、a3、a4、a5;使用“剑”替换,结合第一潜在错误结果“织”替换后的相关性,分别计算“保护知织产权就是保护剑新”、“保护知识产权就是保护剑新”、“保护知炽产权就是保护剑新”、“保护知职产权就是保护剑新”和“保护知帜产权就是保护剑新”的合理性得分,记为b1、b2、b3、b4、b5;使用“剖”替换,结合第一潜在错误结果“织”替换后的相关性,分别计算“保护知织产权就是保护剖新”、“保护知识产权就是保护剖新”、“保护知炽产权就是保护剖新”、“保护知职产权就是保护剖新”和“保护知帜
产权就是保护剖新”的合理性得分,记为c1、c2、c3、c4、c5。
70.步骤400:将所有合理性得分排序,输出合理性得分最高的文字序列作为纠错后输出结果。
71.遍历完所有潜在错误结果后,得到若干替换后文字序列,以及对应替换后结果的合理性得分。选取合理性分最高的替换后文字序列,作为最终的纠错结果输出。
72.对计算的合理性a、b、c和d进行排序,确认a值最大,即认为潜在错误结果“织”应纠错为“识”;对计算的合理性得分a1、a2、a3、a4、a5、b1、b2、b3、b4、b5、c1、 c2、c3、c4和c5排序,确认a2值最大,即认为潜在错误结果“刨”应纠错为“创”。本实施例的候选文字替换及合理性计算时,综合考虑所有潜在错误结果之间的相关性,提高替换后文字序列的合理性,防止出现子文字单元合理性得分高,但整合后文字序列不通顺的问题。当潜在错误结果较多时,可只保留前一潜在错误结果合理性得分topn的候选替换集合中的文字,进行下一潜在错误结果合理性得分的计算,如潜在错误结果“织”替换后的合理性得分a、b、c和d,a>b>d>c,在计算潜在错误结果“刨”的合理性得分时,只考虑潜在错误结果“织”替换后的合理性得分a和b的文字序列,即在将“织”替换为“识”和“炽”的基础上,对潜在错误“刨”进行替换,然后计算合理性得分。
73.图3所示为一实例,在电子设备的纠错系统输入文字图像,通过文字识别模块100识别出“奋讲这一年”文字序列,第二序列为识别出“奋讲这一年”的概率,分别为0.8,0.1, 0.7,0.8,0.6,其中0.8为识别出“奋”的概率,0.1为识别出“讲”的概率,0.7为识别出“这”的概率,0.7是识别出“一”的概率,0.8是识别出“年”的概率以及对应文字序列的概率序列,为:0.8、0.1、0.7、0.8和0.6,根据概率阈值过滤模块200预设的阈值,判断识别概率为0.1的“讲”为潜在错误结果。根据字形知识库模块300确认潜在错误结果的候选替换集合“进、近、阱”,依次使用候选替换集合中的文字对潜在错误结果进行替换,并计算替换后文字序列的合理性得分,得到合理性得分最高的文字序列“奋进这一年”,作为纠错后的结果输出。
74.本实施例所述的方法尤其适合医疗药品名称的纠错,因为医疗药品中存在大量罕见的化学物名称,如:伊曲康唑胶囊、氟康唑胶囊、泛昔洛韦片、盐酸米诺环素胶囊、盐酸吗啉胍片、盐酸伐昔洛韦片、头孢拉定胶囊、头孢克肟胶囊、头孢克洛胶囊。使用通用文字识别模型进行识别,会出现一些识别错误,使用本方案不需要重新训练,只需利用医疗药品语料数据构建好一个语言模型即可,利用本实施例所述纠错方法对包括医疗药品名称的文字图像进行识别,纠正结果对比如图4所示。可以看出,本实施例纠错方法不需进行模型训练,只要构建好语言模型,即使对于比较专业的内容,也可以实现纠错,提高文字图像识别的准确率。
75.此外,在采矿、物流系统中,往往也存在一些罕见地名,和医疗药品名称纠错类似,使用通用文字识别模型进行识别,会出现一些识别错误。并且,由于此类数据比较少见,重新训练或者使用专用文字识别模型并不现实。而使用本实施例所述纠错方法,不需要重新训练,只需要利用通用文字识别模型得到识别结果,再构建语言模型进行纠错,即可得到一个比较理想的识别准确率。
76.本技术实施例还提供了一种计算机可读的存储介质,该存储介质存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行上述实施例提供的文字图像识别纠错方法。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
77.其中,该存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器 (programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。由于该存储介质中所存储的指令,可以执行本技术实施例所提供的文字图像识别纠错方法,因此,可以实现本技术实施例所提供的文字图像识别纠错方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
78.以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。此外,“包括”一词不排除其他元件或步骤,在元件前的“一个”一词不排除包括“多个”该元件。产品权利要求中陈述的多个元件也可以由一个元件通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1