一种基于双特征融合的自监督OCR识别文本纠错方法与流程

专利2025-06-12  18


本发明属于自然语言处理,特别涉及一种基于双特征融合的自监督ocr识别文本纠错方法。


背景技术:

1、自然语言处理技术(nlp)在处理文本信息上效果显著,尤其随着bert(bidirectional encoder representation from transformers)预训练语言模型的提出,使得语言模型大放异彩。bert语言模型的随机掩码(random mask)训练机制使得其在文本单字符预测方面取得不错的效果。

2、然而,现有技术也存在以下缺陷:

3、现有的神经语言模型结构非常臃肿、庞大,从而导致网络学习训练周期长、迭代时间慢,并且由于其庞大的网络结构,在边缘侧设备推理时间比较长,无法满足嵌入式开发的需求。

4、此外,现有技术中的常用术语如下:

5、word embedding(词嵌入)一般用在自然语言处理中,将词的id映射为向量表示,使得词(字)具有前后语义关系。

6、recurrent neural network(循环神经网络)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network),主要用来刻画当前时刻与之前时刻之前的关系。

7、ocr(optical character recognition):文字识别是指电子设备(例如扫描仪等)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。如何除错或利用辅助信息提高识别正确率,是ocr最重要的课题。衡量一个ocr系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。

8、nlp(natural language processing)自然语言处理是研究人与计算机交互的语言问题的一门学科。


技术实现思路

1、为了解决上述问题,本申请的目的在于:本申请使用了结构简单的神经语言模型,在保证精度的前提下速度有了很大的提升,且训练周期短,易于迭代、在嵌入式开发板上耗时较少。

2、具体地,本发明提供一种基于双特征融合的自监督ocr识别文本纠错方法,所述方法包括:

3、s1.构建训练数据:

4、下载语料库的语料,并做如下数据处理:随机选择一条句子预料(c1)中的某个词替换为错误的词组成一条新的句子语料(c2),同时原有正确的句子语料(c1)保留,c1既是训练输入数据也是标签;

5、s2.训练语言模型:

6、搭建nlp深度神经网络,并利用步骤s1生成的数据c1、c2分别输入网络的embedding层,并把得到的两个向量进行拼接融合:设c1=[[x1,x2,x3]],c2=[[y1,y2,y3]],拼接融合后的c(cated)=[[x1,x2,x3,y1,y2,y3]],输入到双向lstm层网络学习字词相互之间的语义关系,由于lstm当前时刻的输出是由当前时刻的输入与前一时刻的输出共同决定,并且利用门控单元(σ,tanh)选择对当前时刻重要的信息,所以它能够建模与前面某时刻的关系,采用双向lstm能够同时建模当前时刻与前后时刻的关系,学习公式如下:

7、it=σ(wiixt+bii+whiht-1+bhi)

8、ft=σ(wifxt+bif+whfht-1+bhf)

9、gt=tanh(wigxt+big+whght-1+bhg)

10、ot=σ(wioxt+bio+whoht-1+bho)

11、ct=ft⊙ct-1+it⊙gt

12、ht=ot⊙tanh(ct)

13、接着用一个全连接层分出n类,其输出的每一类都有相应的输出分值,选取分值最大的前两类作为后面纠错步骤的输入字符,其中n为文本中字符个数,公式:y=xat;

14、s3.处理ocr识别的结果进行纠错:

15、根据ocr识别结果的置信度判断是否进行纠错处理以及如何进行纠错处理,步骤如下:

16、如果第一置信度低于阈值0.75,则判断当前这个字符识别有误,因为是根据前两个分值最高置信度的字符中选择正确的一个,所以这里假设第二置信度为正确的字符,则把第一第二置信度的两个字符包括其整个句子都送入nlp深度神经语言模型,根据模型结果选出符合语义的字符。

17、所述步骤s1中所述下载语料是指下载维基百科语料库近五年的语料。

18、所述步骤s2中所述输入到lstm层的输入的维度为:2*embedding层的输出维度。

19、所述步骤s3中所述纠错是在实际使用中,设置一个阈值,由步骤s2的全连接层结果根据置信度分值最高的两个输出得到第一置信度和第二置信度,如果第一置信度低于本阈值,需要把当前字符替换为第二置信度的字符。

20、所述处理进一步包括:

21、假设ocr识别的结果为['你','是','个','好','入'],对应的第一置信度为['0.9','0.99','0.97','0.87','0.24'],阈值设置为0.75,'入'的第一置信度低于0.75,则把由步骤s2全连接层'入'位置置信度分值第二高的字符作为第二置信度,第二置信度所识别出来的结果为'人',此时用'人'组成一个新的句子['你','是','个','好','人'],把['你','是','个','好','入'],['你','是','个','好','人']两条文本输入步骤s2模型进行语义建模,选出这两个字中比较符合语义的一个字。

22、本申请方法在语言模型上使用随机掩码(random mask)机制,综合提高ocr识别精度。

23、由此,本申请的优势在于:

24、1.方便训练,只需要大约五个小时的训练即可取得较好的精度。

25、2.模型占用小,模型文件只有3.7m。

26、3.使用场景较广,经过实验在中文、英文上都可取得不错的精度。

27、4.推理效率高,无需担心速度问题。



技术特征:

1.一种基于双特征融合的自监督ocr识别文本纠错方法,其特征在于,所述方法包括:

2.根据权利要求1所述的一种基于双特征融合的自监督ocr识别文本纠错方法,其特征在于,所述步骤s1中所述下载语料是指下载维基百科语料库近五年的语料。

3.根据权利要求1所述的一种基于双特征融合的自监督ocr识别文本纠错方法,其特征在于,所述步骤s2中所述输入到lstm层的输入的维度为:2*embedding层的输出维度。

4.根据权利要求1所述的一种基于双特征融合的自监督ocr识别文本纠错方法,其特征在于,所述步骤s3中所述纠错是在实际使用中,设置一个阈值,由步骤s2的全连接层结果根据置信度分值最高的两个输出得到第一置信度和第二置信度,如果第一置信度低于本阈值,需要把句子中当前字符替换为第二置信度的字符,组成另一条新的句子,这两条句子作为纠错步骤的输入。

5.根据权利要求4所述的一种基于双特征融合的自监督ocr识别文本纠错方法,其特征在于,所述处理进一步包括:

6.根据权利要求1所述的一种基于双特征融合的自监督ocr识别文本纠错方法,其特征在于,所述方法在语言模型上使用随机掩码机制。


技术总结
本发明提供一种基于双特征融合的自监督OCR识别文本纠错方法,包括:S1.构建训练数据:下载语料库的语料,并做数据处理:随机选择一条句子预料C1中的某个词替换为错误的词组成一条新的句子语料C2,同时正确的语料C1保留,C1既是训练输入数据也是标签;S2.训练语言模型:搭建神经网络并利用S1生成的数据C1、C2分别输入网络的Embedding层,并把得到的两个向量进行拼接融合输入到LSTM层网络学习字词相互之间的语义关系,接着用一个全连接层;S3.处理OCR识别的结果进行纠错:根据OCR识别结果的置信度判断是否进行纠错处理及如何进行纠错处理。本申请使用结构简单的神经语言模型,保证精度的前提下速度有了很大的提升,且训练周期短易于迭代、在嵌入式开发板上耗时少。

技术研发人员:孙振鹏
受保护的技术使用者:北京君正集成电路股份有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/index.php/read-1821163.html

最新回复(0)