一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文本识别方法、装置、电子设备和存储介质与流程

2022-07-16 22:26:19 来源:中国专利 TAG:


1.本公开涉及文本识别技术领域,尤其涉及一种文本识别方法、装置、电子设备和存储介质。


背景技术:

2.随着文本识别技术的不断发展,可以利用计算机对图像中的文本进行自动识别,例如,采用智能学习的方法对图像中的文本进行自动识别。通常,在采用识别智能学习方法进行文本识别时,需要获取大量样本训练识别模型,但是,基于字符的方法训练识别模型标注成本高,基于序列的方法训练识别模型可能会有漏识别或多识别的问题,导致文本识别速度慢,准确率也比较低。


技术实现要素:

3.为了解决上述技术问题,本公开提供了一种文本识别方法、装置、电子设备和存储介质,能够快速准确的识别出图像中的文本。
4.根据本公开的一方面,提供了一种文本识别方法,包括:
5.获取待识别图像,所述待识别图像为文本图像;
6.将所述待识别图像输入到预先构建的识别网络模型中进行文本识别,得到第一识别结果,其中,所述识别模型包括特征提取模块、语义模块、第一识别模块和第二识别模块,利用所述特征提取模块提取所述待识别图像的特征,得到第一特征信息,利用所述第一识别模块对所述第一特征信息进行识别,得到第二识别结果,利用所述语义模块计算所述第二识别结果对应的语义表征向量,利用所述第二识别模块基于所述第一特征信息和所述语义表征向量,得到所述第一识别结果。
7.根据本公开的另一方面,提供了一种文本识别装置,包括:
8.获取单元,用于获取待识别图像,所述待识别图像为文本图像;
9.识别单元,用于将所述待识别图像输入到预先构建的识别网络模型中进行文本识别,得到第一识别结果,其中,所述识别模型包括特征提取模块、语义模块、第一识别模块和第二识别模块,利用所述特征提取模块提取所述待识别图像的特征,得到第一特征信息,利用所述第一识别模块对所述第一特征信息进行识别,得到第二识别结果,利用所述语义模块计算所述第二识别结果对应的语义表征向量,利用所述第二识别模块基于所述第一特征信息和所述语义表征向量,得到所述第一识别结果。
10.根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据上述文本识别方法。
11.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行根据文本识别方法。
12.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算
机程序在被处理器执行时实现上述文本识别方法。
13.本公开实施例提供的技术方案与现有技术相比具有如下优点:
14.本公开提供的方法包括:获取待识别图像,待识别图像为文本图像;将待识别图像输入到预先构建的识别网络模型中进行文本识别,得到第一识别结果,其中,识别模型包括特征提取模块、语义模块、第一识别模块和第二识别模块,利用特征提取模块提取待识别图像的特征,得到第一特征信息,利用第一识别模块对第一特征信息进行识别,得到第二识别结果,随后利用语义模块计算第二识别结果对应的语义表征向量,利用第二识别模块基于第一特征信息和语义表征向量,得到第一识别结果。本公开提供的方法能够快速准确的识别出图像中的文本。
附图说明
15.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
16.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1为本公开实施例提供的一种应用场景的示意图;
18.图2为本公开实施例提供的一种识别模型训练方法的流程图;
19.图3为本公开实施例提供的一种识别模型的网络结构图;
20.图4为本公开实施例提供的一种文本识别方法的流程图;
21.图5为本公开实施例提供的一种文本识别方法的流程图;
22.图6为本公开实施例提供的一种文本识别装置的结构示意图;
23.图7为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
24.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
25.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
26.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
27.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
28.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
29.目前,文本识别有非常广泛的应用,通常采用的方法都存在不同的问题,例如,基于字符的方法标注成本高,基于序列的方法可能会有漏识别或多识别字符的问题,不同的文本图像上所表示的文本有直文本、倾斜文本和弯曲文本;大部分识别方法都是针对单行文本,需要以检测作为前置操作,但是对于版式较为复杂的图像,检测加识别的方式可能会引入较多误差,识别准确率比较低。
30.针对上述技术问题,本公开实施例提供了一种文本识别方法,具体的通过下述一个或多个实施例进行详细说明。
31.具体的,文本识别方法可以由终端或服务器来执行。具体的,终端或服务器可以通过识别模型对待识别图像中的文本进行识别。识别模型的训练方法的执行主体和字符识别方法的执行主体可以相同,也可以不同。
32.例如,在一种应用场景中,如图1所示,图1为本公开实施例提供的一种应用场景的示意图,图1中服务器12对识别模型进行训练。终端11从服务器12获取训练完成的识别模型,终端11通过该训练完成的识别模型对待识别图像中的文本进行识别。该待识别图像可以是终端11拍摄获得的。或者,该待识别图像是终端11从其他设备中获取的。再或者,该待识别图像是终端11对预设图像进行处理后得到的图像,该预设图像可以是终端11拍摄获得的,或者该预设图像可以是终端11从其他设备中获取的。此处,并不对其他设备做具体限定。
33.在另一种应用场景中,服务器12对识别模型进行训练。进一步,服务器12通过训练完成的识别模型对待识别图像中的文本进行识别。服务器12获取待识别图像的方式可以类似于如上所述的终端11获取待识别图像的方式,此处不再赘述。
34.在又一种应用场景中,终端11对识别模型进行训练。进一步,终端11通过训练完成的识别模型对待识别图像中的文本进行识别。
35.可以理解的是,本公开实施例提供的识别模型训练方法、文本识别方法并不限于如上所述的几种可能场景。由于训练完成的识别模型可应用在文本识别方法中,因此,在介绍文本识别方法之前,下面可以先介绍一下识别模型训练方法。
36.下面以服务器12训练识别模型为例,介绍一种识别模型训练方法,即识别模型的训练过程。可以理解的是,该识别模型训练方法同样适用于终端11训练识别模型的场景中。
37.图2为本公开实施例提供的一种识别模型训练方法的流程图,具体包括如图2所示的如下步骤s210至s240:
38.s210、获取样本图像和所述样本图像对应的标注文本信息。
39.可理解的,收集大量待识别文本图像作为识别模型的训练数据集,将训练数据集中的每个样本图像缩放至同样的大小,缩放的大小可以根据用户需求自行确定;随后将训练数据集中的至少部分样本图像中的文本进行标注,标注样本图像上的字符信息,得到样本图像对应的标注文本信息,其中,已经标注的样本图像作为训练样本,剩余未标记的样本图像作为测试样本,用于测试模型在训练过程中的识别精度;根据标注的每个样本图像对
应的标注文本信息构建识别模型的字典,字典中包括样本图像涉及到的每个字符,且字典中不存在重复的字符,识别模型在自动识别图像中文本的过程中,会在字典中确定字符,得到识别结果。
40.s220、将所述标注文本信息输入到预先训练的语言模型中,得到第一预测表征向量。
41.可理解的,在执行s220之前,需要构建并训练得到语言模型,具体的,收集大量的文本字符串,接着对每个字符串使用如分词工具进行分词,得到每个字符串的分词结果,也就是得到每个字符串和多个词语的有序对应,将分词结果作为训练数据,其中,分词工具可以是jieba分词工具,例如,字符串1通过分词工具分为3个词语,字符串1和3个词语有序对应,有序对应是指按照字符串中字符的连接顺序对应,例如,字符串1为“文本识别方法”,采用分词工具将字符串1分为3个词语,3个词语分别是“文本”“识别”“方法”,字符串1和3个词语有序对应是指“文本识别方法”和3个词语以“文本”“识别”“方法”的顺序进行排序;具体的,语言模型可以基于机器翻译模型(transformer模型)构建,例如采用transformer模型的bert或者albert构建语言模型,也可以使用基于双向长短时记忆网络的elmo构建语言模型,构建语言模型的方法不作限定,可以根据用户需求选择机器翻译模型来构建语言模型;随后利用大量分词后文本字符串对构建的语言模型进行训练,得到训练完成的语言模型。
42.可理解的,在上述s210的基础上,得到训练完成的语言模型后,将每个样本图像对应的标注文本信息采用分词工具进行分词,得到有序的分词结果,其中,标注文本信息为字符串,随后将有序的分词结果按照顺序输入到预先训练的语言模型中,语言模型会每次随机掩盖掉分词结果中的一个词语,计算标注文本信息的整体语义表征,得到第一预测表征向量,第一预测表征向量是指掩盖掉一个词语后得到的预测标注文本信息的完整表征,例如,在上述示例的基础上,标注文本信息记为字符串1,字符串1存在3个词语有序对应,将3个词语中的第1个词语掩盖,基于语言模型得到字符串1的表征向量1,将3个词语中的第2个词语掩盖,基于语言模型得到字符串1的表征向量2,每次掩盖的词语不同得到的表征向量可能会不同。
43.可选的,上述s220具体包括如下步骤s221至s224:
44.s221、将所述标注文本信息进行分词处理,得到多个分词。
45.s222、针对所述多个分词,每次掩盖所述多个分词中的一个分词,得到多个掩盖后的分词。
46.s223、将多个所述掩盖后的分词依次输入到预先训练的语言模型中,得到多个第三预测表征向量。
47.s224、根据多个所述第三预测表征向量得到第一预测表征向量。
48.可理解的,在上述s210的基础上,将标注文本信息进行分词处理,得到分词结果,分词结果包括多个有序词语,针对多个有序词语,每次掩盖多个有序词语中的一个词语,得到多个掩盖后的词语,将多个掩盖后的词语依次输入到预先训练的语言模型中,得到多个第三预测表征向量,也就是针对同一个标注文本信息基于每次掩盖的词语不同,得到多个不同的语义表征向量,一个词语至少包括一个字符,随后根据语言模型输出的多个第三预测表征向量得到第一预测表征向量,具体可以对多个第三预测表征向量逐点相加求平均,得到标注文本信息的第一预测表征向量。以上述示例为基础,针对字符串1,将掩盖第1个词
语后的剩余2个词语输入到语言模型中得到字符串1的表征向量1,将掩盖第2个词语后的剩余2个词语输入到语言模型中得到字符串1的表征向量2,将掩盖第3个词语后的剩余2个词语输入到语言模型中得到字符串1的表征向量3,3个表征向量记为字符串1的3个第三预测表征向量,根据3个第三预测表征向量得到1个第一预测表征向量。可理解的是,针对每个字符串,可以预设掩盖词语的次数,或者预设每个字符串提取全局语义特征的次数,优先掩盖不同的词语,每掩盖1次词语,会得到1个表征向量,掩盖相同的词语会得到相同的表征向量,对于掩盖次数超过词语数量的字符串,可以掩盖重复的词语,得到重复的表征向量。
49.s230、将所述样本图像、所述标注文本信息和所述第一预测表征向量输入到预先构建的识别模型中,得到第二预测表征向量、第一预测识别结果和第二预测识别结果。
50.可选的,上述s230具体包括如下步骤:将所述样本图像、所述标注文本信息和所述第一预测表征向量输入到预先构建的所述识别模型中,以使所述识别模型中的所述特征提取模块提取所述样本图像的特征,所述语义模块基于所述标注文本信息得到第二预测表征向量,所述第一识别模块基于所述样本图像的特征得到第一预测识别结果,所述第二识别模块基于所述样本图像的特征和所述第一预测表征向量得到第二预测识别结果。
51.可理解的,在上述s220的基础上,将样本图像、标注文本信息和第一预测表征向量输入到预先构建的识别模型中,对识别模型进行训练。其中,识别模型包括,特征提取模块、语义模块、第一识别模块和第二识别模块。在训练过程中,识别模型内部的操作步骤如下:识别模型中的特征提取模块提取样本图像的特征;语义模块确定标注文本信息中随机掩盖至少一个词语的语义表征,得到完整的标注文本信息对应的第二预测表征向量,其中,标注文本信息为字符串形式的,随机掩盖的词语数量可以和上述语言模型设置的掩盖数量相同,在此不作限定,掩盖的词语至少包括一个字符,在识别模型的训练过程中,语义模块单独训练,不参与其他模块的训练;识别模型中的第一识别模块基于样本图像的特征得到第一预测识别结果;识别模型中的第二识别模块基于样本图像的特征和第一预测表征向量得到第二预测识别结果,第一预测表征向量是训练完成的语言模型输出的,在识别模型训练的过程中,第二识别模块的其中一个输入为语言模型的输出,语言模型输出的第一预测表征向量可以理解为准确的语义表征向量,用以提高第二识别模块的识别精度,在识别模型使用过程中,语义模块的输出替代语言模型的输出作为第二识别模块的其中一个输入,也就是语义模块和第二识别模块分别训练,进一步确保识别模型的准确度。
52.示例性的,参见图3,图3为本公开实施例提供的一种识别模型的网络结构图。图3中识别模型300包括特征提取模块310、语义模块320、第一识别模块330和第二识别模块340,其中,特征提取模块310包括第一特征提取子模块311和第二特征提取子模块312,第一特征提取子模块311以残差网络作为骨干网络,残差网络可以是resnet18,残差网络包含4个卷积块,卷积块记为block块,每个卷积块包括若干卷积层,通过调节不同卷积块中卷积操作的滑动步幅长度得到样本图像的特征信息,特征信息是大小为输入的样本图像高的1/32、宽的1/4、通道数量为512的一组特征映射,第二特征提取子模块312是由两层双向长短期记忆网络(lstm,long short-term memory)组成,第二特征提取子模块312的输入为第一特征提取子模块311的输出的特征信息,随后同样输出特征信息,且输出的特征信息和第一特征提取子模块311输出的特征信息的大小相同,第二特征提取子模块312主要是对第一特征提取子模块311提取到的一组特征映射进行上下文建模,进行强化,输出强化后的特征映
射;语义模块320包括词嵌入层321和两层双向长短期记忆网络层322,具体的,语义模块320可以包括一个词嵌入层321和一个两层双向长短期记忆网络层322,在识别模型训练的过程中,语义模块320的输入为样本图像对应的标注文本信息,在识别模型使用的过程中,语义模型320的输入为图3中虚线所示的第一识别模型330输出的识别结果,其中,标注文本信息为样本图像中文本的准确识别结果,时间步长可以设置为10,输出一个表征向量,且该表征向量的维度同语言模型输出的表征向量的维度相同;第一识别模块330包括全连接层,第一识别模块330的输入是第二特征识别子模块312的输出,输出一个高维张量,高维张量是预测得到样本图像上文本的字符识别结果对应的概率矩阵,概率矩阵的大小和构建的字典的大小相同,概率矩阵示出了样本图像中的字符和字典中字符的相似度,相似度较高的字符为最终的字符识别结果;第二识别模块340包括注意力层341、解码层342和全连接层343,以第二识别模块340包括一个注意力层341、一个解码层342以及一个全连接层343为例进行说明,全连接层343用于维度变换,注意力层341的输入为第二特征提取子模块312输出的特征信息、每个解码层输出的特征向量和语言模型输出的第一预测表征向量,输出为一个输入向量,其中,第二特征提取子模块312输出的特征信息作为注意力层341的键(key)和值(value),以每个解码层输出的特征向量和语言模型输出的第一预测表征向量拼接后的向量作为注意力层341的查询参数(query),计算查询参数和键之间的相似度,生成得分,对得分和值进行加权平均得到输入向量,解码层342的输入为注意力层341输出的输入向量和语言模型输出的表征向量,将输入向量和表征向量经过线性变换之后得到的结果进行拼接,解码层342根据拼接结果输出特征向量,全连接层343的输入为解码层342输出的特征向量,若第二识别模块340在解码层进行多个时间步的循环处理,每个解码层的输入还包括上一个时间步的解码层的输出,在识别模型的使用过程中,如图3所示的虚线表示,语义模块320的输出替代语言模型输出的第一预测表征向量,作为第二识别模块340的其中一个输入。
53.s240、根据所述标注文本信息、所述第一预测表征向量、所述第二预测表征向量、所述第一预测识别结果和所述第二预测识别结果计算损失值,并根据所述损失值更新所述识别模型的网络参数。
54.可选的,所述损失值包括第一损失值、第二损失值和第三损失值。
55.可选的,上述s240中根据所述标注文本信息、所述第一预测表征向量、所述第二预测表征向量、所述第一预测识别结果和所述第二预测识别结果计算损失值,具体包括如下步骤s241至s243:
56.s241、采用第一损失函数根据所述第一预测表征向量和所述第二预测表征向量计算所述第一损失值。
57.s242、采用第二损失函数根据所述标注文本信息和所述第一预测识别结果计算所述第二损失值。
58.s243、采用第三损失函数根据所述标注文本信息和所述第二预测识别结果计算所述第三损失值。
59.可理解的,在上述s230的基础上,采用第一损失函数根据第一预测表征向量和第二预测表征向量计算第一损失值,第一损失函数为均方误差损失函数,第二预测表征向量理解为准确的表征向量,用于对语义模块进行训练。采用第二损失函数根据标注文本信息和第一预测识别结果计算第二损失值,第二损失函数为ctc损失函数,其中,标注文本信息
为样本图像中文字对应的准确识别结果。采用第三损失函数根据标注文本信息和第二预测识别结果计算第三损失值,第三损失函数为多分类交叉熵损失函数。可理解的是,识别模型中除了特征提取模块310不计算损失值外,其他模块均计算损失值。
60.本公开提供的一种识别模型训练方法,通过获取大量的样本图像以及样本图像对应的标注文本信息,对构建的识别模型进行训练,同时,将标注文本信息输入到预先训练完成的语言模型中提取全局语义信息,得到第一预测表征向量,第一预测表征向量为标注文本信息的准确语义表征向量,并利用第一预测表征向量替代语义模块的输出作为第二识别模块的一个输入,以提高第二识别模块的识别准确率,同时将第一预测表征向量作为识别模型中语义模块的监督信息,对语义模块进行单独训练,以得到准确的全局语义向量,且也保证了语义模块在训练和使用时的输入相同,语义模块的输入均是字符串格式的,该种训练方式,在增加识别模型识别精度的同时,还能进一步提高识别模型的训练速度。
61.在上述实施例的基础上,得到训练完成的识别模型后,可以基于识别模型实现文本识别方法,具体的,图4为本公开实施例提供的一种文本识别方法的流程图,具体包括如图4所示的如下步骤s410至s420:
62.s410、获取待识别图像,所述待识别图像为文本图像。
63.可理解的,获取待识别图像,待识别图像为文本图像,文本图像中包括至少一个字符。获取到待识别图像后,还可以将待识别图像的大小调整为识别模型可处理的图像的大小,具体的,可以将待识别图像的大小设置为上述识别模型训练过程中输入的样本图像的大小。
64.s420、将所述待识别图像输入到预先构建的识别网络模型中进行文本识别,得到第一识别结果,其中,所述识别模型包括特征提取模块、语义模块、第一识别模块和第二识别模块,利用所述特征提取模块提取所述待识别图像的特征,得到第一特征信息,利用所述第一识别模块对所述第一特征信息进行识别,得到第二识别结果,利用所述语义模块计算所述第二识别结果对应的语义表征向量,利用所述第二识别模块基于所述第一特征信息和所述语义表征向量,得到所述第一识别结果。
65.可理解的,在上述s410的基础上,将获取的待识别图像输入到预先训练的识别模型中,以使识别模型对待识别图像的文本进行识别,输出第一识别结果,第一识别结果是指待识别图像中包括的字符的识别结果。针对待识别图像,识别模型内部的识别流程包括:将待识别图像输入到识别模型后,识别模型中的特征提取模块提取待识别图像的特征,得到第一特征信息,特征信息也可以理解为特征映射;随后将第一特征信息输入到识别模型中的第一识别模块,第一识别模块根据第一特征信息进行识别,输出概率矩阵,根据概率矩阵可以在识别模型对应的字典中确定第二识别结果,第二识别结果为待识别图像中文本对应的字符串;随后采用识别模型中语义模块计算第二识别结果对应的语义表征向量,具体的,对第二识别结果进行分词处理,得到的分词结果中包括至少一个词语,每个词语包括至少一个字符,随机掩盖分词结果中的一个词语,再通过语义模块基于掩盖后的分词结果计算整个第二识别结果的语义表征向量,也就是掩盖一个词语后,通过语义模块根据掩盖后的分词结果预测被掩盖的词语,进而得到整个分词结果对应的语义表征向量;第二识别模块根据第一特征信息和语义表征向量继续对待识别图像中的文本进行识别,得到最终识别准确的第一识别结果。
66.可选的,特征提取模块包括第一特征提取子模块和第二特征提取子模块。
67.可选的,上述s420中所述利用所述特征提取模块提取所述待识别图像的特征,得到第一特征信息,具体包括如下步骤s421至s422:
68.s421、利用所述第一特征提取子模块提取所述待识别图像的特征,得到第二特征信息。
69.s422、利用所述第二特征提取子模块对所述第二特征信息进行上下文建模,得到第一特征信息。
70.可理解的,将待识别图像输入到识别模型中后,识别模型中的第一特征提取子模块提取待识别图像的特征,得到第二特征信息,具体的,第一特征提取子模块中的4个卷积块中的第1个卷积块提取待识别图像的特征,得到一组特征映射,第1个卷积块的输入为待识别图像,特征映射的大小为h/32*w/4*512,其中,待识别图像的大小为h*w,通道数为512,随后第1个卷积块的输出作为第2个卷积块的输入,以此类推,除第1个卷积块之外的其他卷积块的输入均是前一个卷积块的输出,且每个卷积块输出的一组特征映射(特征信息)的维度相同;第二特征提取子模块的输入为第一特征提取子模块的输出,也就是低4个卷积块的输出,第二特征提取子模块中的两层双向长短时记忆网络对第二特征信息进行上下文建模,输出第二特征信息,也就是将第二特征信息中关于文字的特征继续强化,便于后续根据特征信息识别文本。
71.可选的,所述语义模块包括词嵌入层和长短时记忆网络层。
72.可选的,上述s420中所述利用所述语义模块计算所述第二识别结果对应的语义表征向量,具体包括如下步骤s423至s424:
73.s423、将所述第二识别结果随机掩盖至少一个字符,并利用所述词嵌入层将掩盖至少一个字符后的所述第二识别结果转换为目标嵌入向量,其中,所述第二识别结果包括至少一个字符。
74.s424、利用所述长短时记忆网络层计算所述目标嵌入向量的语义表征向量。
75.可选的,上述s423具体包括:将所述第二识别结果多次随机掩盖至少一个字符,且每次掩盖的至少一个字符不完全相同,得到所述第二识别结果对应的多个掩盖结果;针对每个掩盖结果,利用所述词嵌入层将所述掩盖结果转换为嵌入向量;根据多个所述嵌入向量得到目标嵌入向量。
76.可理解的,识别模型中语义模块输出第二识别结果对应的语义表征向量的实现过程包括:和语义模块相对应的,随机掩盖第一识别结果中的一个词语,得到一个掩盖结果,一个词语至少包括一个字符,在语义模块中可以限定随机掩盖2个或3个字符,根据一个掩盖结果直接得到一个目标嵌入向量;或者,多次随机掩盖至少一个字符,且每次掩盖的至少一个字符不完全相同,得到多个掩盖结果,也就是一个第二识别结果存在多个对应的掩盖结果;随后语义模块中的词嵌入层将掩盖至少一个字符后的第二识别结果转换为嵌入向量,也就是针对每个掩盖结果,都利用词嵌入层将该掩盖结果转换为嵌入向量,得到多个嵌入向量,再根据多个嵌入向量得到慕白哦嵌入向量,具体的,可以对多个嵌入向量求平均得到一个目标嵌入向量;语义模块中的双向长短时记忆网络层根据目标嵌入向量计算完整的第二识别结果对应的语义表征向量,完整的第二识别结果是由预测的被掩盖的字符以及未被掩盖的字符组成。例如,第二识别结果包括的字符串为“文本识别方法”,在一次随机掩盖
过程中掩盖2个字符后的第二识别结果为“文本方法”,第二次随机掩盖过程中掩盖2个字符后的第二识别结果为“识别方法”,每次随机掩盖的字符不完全相同,也就是对于掩盖的2个字符中可能会存在1个字符和其他掩盖的2个字符中的1个字符相同,下述叙述以只进行一次随机掩盖为例进行说明,将“文本方法”输入到语义模块中,预测被掩盖的2个字符,并输出完整的第二识别结果对应的语义表征向量,完整的第二识别结果是指预测的2个字符添加至掩盖后的第二识别结果后得到的识别结果。可理解的是,第二识别结果是字符串形式的,语义模块在训练时输入的标注文本信息也是字符串格式的,确保语义模块在训练和使用时输入是相同格式的。
77.本公开实施例提供了一种文本识别方法,获取待识别图像,将待识别图像输入到预先训练完的识别模型中,输出待识别图像中文本的识别结果,识别模型在提取待识别图像特征的同时,还提取了待识别图像的全局语义特征,强化了识别模型提取到特征,进一步提升了识别模型的识别精度,且语义模块在训练和使用时输入的均是字符串,具体的,语义模块在使用的过程中输入的是根据特征提取模块输出的第一特征信息得到的字符串形式的第一识别结果,不需要额外加入其他模块对语义模块的输入进行变换调整,简化了识别模型结构的同时,还能进一步提高识别模型的精度,也提高了识别模型的识别速度。
78.在上述实施例的基础上,图5为本公开实施例提供的一种文本识别方法的流程图,可选的,利用所述第二识别模块基于所述第一特征信息和所述语义表征向量,得到所述第一识别结果,具体包括如图5所示的如下步骤s510至s540:
79.可选的,所述第二识别模块包括注意力层、解码层和全连接层。
80.可理解的,下述实施例以第二识别模块包括一个注意力层、一个解码层和一个全连接层为例进行说明。
81.可选的,所述第一特征信息包括n个时间步的特征信息,n为大于1的整数。
82.s510、利用注意力层对所述第一特征信息进行处理,得到每个时间步的上下文向量。
83.可理解的,第一特征信息包括n个时间步的特征信息,n为大于1的正整数,注意力层会提取每个时间步的语义表征,得到每个时间步的上下文信息。
84.s520、在所述解码层中,对于第一个时间步,将获取的初始隐状态向量和所述语义表征向量进行拼接得到第一拼接向量,并根据所述第一拼接向量和所述第一个时间步的上下文向量生成第一输出向量和第一个时间步的目标隐状态向量。
85.可理解的,在上述s510的基础上,获取初始隐状态向量,对于第一个时间步来说,初始隐状态向量可以理解为预设的一个隐状态向量,初始隐状态向量可以是全0向量,该初始隐状态向量和第二识别模块训练过程中输入的初始隐状态向量相同;将初始隐状态向量和语义模块输出的语义特征向量进行拼接,得到第一拼接向量,第二识别模块中的解码层根据第一拼接向量和第一个时间步的上下文向量生成第一输出向量和第一个时间步的目标隐状态向量,第一个时间步的目标隐状态向量作为解码层中第二个时间步的一个输入。
86.s530、对于第m个当前时间步,将所述第m个当前时间步的上一个时间步输出的目标隐状态向量和所述语义表征向量进行拼接得到当前拼接向量,并根据所述当前拼接向量和所述第m个当前时间步的上下文向量生成第m个当前时间步对应的当前输出向量和第m个当前时间步的目标隐状态向量,m为大于1小于n的整数。
87.可理解的,在上述s520的基础上,解码层的第一个时间步输出第一输出向量和目标隐状态向量后,对于第m个时间步来说,第m个时间步为当前执行的时间步,m大于1小于n,将第m个时间步的上一个时间步输出的目标隐状态向量和语义表征向量进行拼接,得到当前拼接向量,随后根据线性处理后的当前拼接向量以及第m个时间步的上下文向量,生成第m个时间步的当前输出向量和第m个时间步的目标隐状态向量,也就是对于每个时间步都会输出一个输出向量和一个目标隐状态向量。可理解的是,当前输出向量相较于起一个时间步的输出向量更加精准。
88.s540、针对所述n个时间步中除所述第一个时间步之外的其他时间步,依次执行得到第m个当前时间步对应的当前输出向量的过程,直到完成n个时间步的识别,根据所述第一输出向量和n-1个当前时间步的当前输出向量,基于所述全连接层得到所述第一识别结果。
89.可理解的,在上述s530的基础上,第二识别模块包括一个注意力层和一个解码层,可以设置循环次数,循环次数也就是n个时间步,由同一个注意力层和解码层按照n个时间进行处理,针对n个时间步中除第一个时间步之外的其他时间步,依次执行得到第m个当前时间步对应的当前输出向量的过程,直到完成n个时间步的识别,对于每一个时间步来说,其中一个输入就可以理解为上一个时间步输出的当前输出向量和目标隐状态向量,直至达到循环次数,将每个时间步中解码层输出的第一输出向量和n-1个当前时间步的当前输出向量作为全连接层的输入,得到第一识别结果。具体的,解码层输出n个输出向量得到的最终输出向量后,全连接层对最终输出向量的维度进行变换,使得变换后的维度和上述构建的字典维度相同,维度变换后的最终输出向量可以理解为概率向量,针对的单个字符来说,确定概率向量中元素最大值的位置,并在字典中同一位置处得到具体对应的字符,由多个字符得到第一识别结果。
90.本公开实施例提供了一种文本识别方法,第二识别模块采用注意力层和解码层基于第一特征信息和语义表征向量,得到第一识别结果,注意力层对第一特征信息进行处理,得到每个时间步的上下文向量,随后在解码层中,针对每个时间步,依据上一个时间步的目标隐状态向量、上下文信息和语义表征向量得到输出向量,最后根据n个输出向量得到待识别图像上文本的字符串对应的概率矩阵,根据概率矩阵得到准确的识别结果(第一识别结果),本公开提供的方法能够最大限度的提取待识别图像中文本的特征,通过在解码层进行多次循环迭代,进一步提高识别的准确率。
91.图6为本公开实施例提供的文本识别装置的结构示意图。本公开实施例提供的文本识别装置可以执行文本识别方法实施例提供的处理流程,如图6所示,文本识别装置600包括:
92.获取单元610,用于获取待识别图像,所述待识别图像为文本图像;
93.识别单元620,用于将所述待识别图像输入到预先构建的识别网络模型中进行文本识别,得到第一识别结果,其中,所述识别模型包括特征提取模块、语义模块、第一识别模块和第二识别模块,利用所述特征提取模块提取所述待识别图像的特征,得到第一特征信息,利用所述第一识别模块对所述第一特征信息进行识别,得到第二识别结果,利用所述语义模块计算所述第二识别结果对应的语义表征向量,利用所述第二识别模块基于所述第一特征信息和所述语义表征向量,得到所述第一识别结果。
94.可选的,识别单元620中所述特征提取模块包括第一特征提取子模块和第二特征提取子模块;所述利用所述特征提取模块提取所述待识别图像的特征,得到第一特征信息,具体用于:
95.利用所述第一特征提取子模块提取所述待识别图像的特征,得到第二特征信息;
96.利用所述第二特征提取子模块对所述第二特征信息进行上下文建模,得到第一特征信息。
97.可选的,识别单元620中所述语义模块包括词嵌入层和长短时记忆网络层;所述利用所述语义模块计算所述第二识别结果对应的语义表征向量,具体用于:
98.将所述第二识别结果随机掩盖至少一个字符,并利用所述词嵌入层将掩盖至少一个字符后的所述第二识别结果转换为目标嵌入向量,其中,所述第二识别结果包括至少一个字符;
99.利用所述长短时记忆网络层计算所述目标嵌入向量的语义表征向量。
100.可选的,识别单元620中所述将所述第二识别结果随机掩盖至少一个字符,并利用所述词嵌入层将掩盖至少一个字符后的所述第二识别结果转换为目标嵌入向量,具体用于:
101.将所述第二识别结果多次随机掩盖至少一个字符,且每次掩盖的至少一个字符不完全相同,得到所述第二识别结果对应的多个掩盖结果;
102.针对每个掩盖结果,利用所述词嵌入层将所述掩盖结果转换为嵌入向量;
103.根据多个所述嵌入向量得到目标嵌入向量。
104.可选的,识别单元620中所述第二识别模块包括注意力层、解码层和全连接层;所述第一特征信息包括n个时间步的特征信息,n为大于1的整数;所述利用所述第二识别模块基于所述第一特征信息和所述语义表征向量,得到所述第一识别结果,具体用于:
105.利用注意力层对所述第一特征信息进行处理,得到每个时间步的上下文向量;
106.在所述解码层中,对于第一个时间步,将获取的初始隐状态向量和所述语义表征向量进行拼接得到第一拼接向量,并根据所述第一拼接向量和所述第一个时间步的上下文向量生成第一输出向量和第一个时间步的目标隐状态向量;
107.对于第m个当前时间步,将所述第m个当前时间步的上一个时间步输出的目标隐状态向量和所述语义表征向量进行拼接得到当前拼接向量,并根据所述当前拼接向量和所述第m个当前时间步的上下文向量生成第m个当前时间步对应的当前输出向量和第m个当前时间步的目标隐状态向量,m为大于1小于n的整数;
108.针对所述n个时间步中除所述第一个时间步之外的其他时间步,依次执行得到第m个当前时间步对应的当前输出向量的过程,直到完成n个时间步的识别,根据所述第一输出向量和n-1个当前时间步的当前输出向量,基于所述全连接层得到所述第一识别结果。。
109.可选的,装置600还包括训练单元,训练单元具体用于:
110.获取样本图像和所述样本图像对应的标注文本信息;
111.将所述标注文本信息输入到预先训练的语言模型中,得到第一预测表征向量;
112.将所述样本图像、所述标注文本信息和所述第一预测表征向量输入到预先构建的识别模型中,得到第二预测表征向量、第一预测识别结果和第二预测识别结果;
113.根据所述标注文本信息、所述第一预测表征向量、所述第二预测表征向量、所述第
一预测识别结果和所述第二预测识别结果计算损失值,并根据所述损失值更新所述识别模型的网络参数。
114.可选的,训练单元中所述将所述样本图像、所述标注文本信息和所述第一预测表征向量输入到预先构建的识别模型中,得到第二预测表征向量、第一预测识别结果和第二预测识别结果,具体用于:
115.将所述样本图像、所述标注文本信息和所述第一预测表征向量输入到预先构建的所述识别模型中,以使所述识别模型中的所述特征提取模块提取所述样本图像的特征,所述语义模块基于所述标注文本信息得到第二预测表征向量,所述第一识别模块基于所述样本图像的特征得到第一预测识别结果,所述第二识别模块基于所述样本图像的特征和所述第一预测表征向量得到第二预测识别结果。
116.可选的,训练单元中所述损失值包括第一损失值、第二损失值和第三损失值;所述根据所述标注文本信息、所述第一预测表征向量、所述第二预测表征向量、所述第一预测识别结果和所述第二预测识别结果计算损失值,具体用于:
117.采用第一损失函数根据所述第一预测表征向量和所述第二预测表征向量计算所述第一损失值;
118.采用第二损失函数根据所述标注文本信息和所述第一预测识别结果计算所述第二损失值;
119.采用第三损失函数根据所述标注文本信息和所述第二预测识别结果计算所述第三损失值。
120.可选的,训练单元中所述将所述标注文本信息输入到预先训练的语言模型中,得到第一预测表征向量,具体用于:
121.将所述标注文本信息进行分词处理,得到多个分词;
122.针对所述多个分词,每次掩盖所述多个分词中的一个分词,得到多个掩盖后的分词;
123.将多个所述掩盖后的分词依次输入到预先训练的语言模型中,得到多个第三预测表征向量;
124.根据多个所述第三预测表征向量得到第一预测表征向量。
125.本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
126.本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
127.本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
128.参考图7,现将描述可以作为本公开的服务器或客户端的电子设备700的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装
置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
129.如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
130.电子设备700中的多个部件连接至i/o接口705,包括:输入单元706、输出单元707、存储单元708以及通信单元709。输入单元706可以是能向电子设备700输入信息的任何类型的设备,输入单元706可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元707可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元704可以包括但不限于磁盘、光盘。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
131.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理。例如,在一些实施例中,文本识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到电子设备700上。在一些实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文本识别方法。
132.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
133.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
134.如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指
令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
135.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
136.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
137.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
138.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献