文本识别模型训练方法、文本识别方法、设备及介质与流程

文档序号:31476908发布日期:2022-09-10 00:41阅读:47来源:国知局
文本识别模型训练方法、文本识别方法、设备及介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种文本识别模型训练方法、文本识别方法、设备及介质。


背景技术:

2.目前,文本识别模型通常需要精确识别出成千上万个字符,以满足基本的文本识别需求。但是,在中文字库中存在大量的生僻字,这些字符在我们日常生活中较为少见,因此语料数据稀少。并且,标注工程师需要对一张图片内所有文字内容进行标注,标注成本也较高。再者,由于文本识别任务的数据样式存在较大差异,收集不同类型文本图片数据的困难程度也不尽相同,例如,合同等文档类图片数据较为丰富,而手机拍摄的自然场景类图片则较少。
3.另外,近年来主要采用深度学习方法进行文本识别,如cnn-rnn(convolutional neural network-recurrent neural network,卷积神经网络-循环神经网络)模型、cnn组合seq2seq(sequence to sequence,序列到序列模型)模型以及加入注意力机制的cnn-seq2seq模型等方法。尽管利用深度学习模型可以准确客观地识别文本内容,但模型主要是对固定的单一场景的静态分布数据进行训练,持续学习以及泛化知识的能力是深度学习模型非常欠缺的。由于数据分布的转移,模型在学习新任务时面临着保留和积累知识的挑战。具体而言,目前基于深度学习方法训练的文本识别模型主要存在如下问题:1)文本识别模型过拟合到单一场景数据,泛化能力差。对于文本识别的算法研究,大多数模型和算法对文本数据进行识别时,都仅针对于一种场景,导致模型的迁移性和泛化性差。例如,基于扫描文档类文本数据训练的识别模型,在自然场景类文本数据上的识别效果则不佳。
4.2)当训练数据很小时,模型识别的准确率极低。
5.3)文本识别模型的迭代优化效率低。现有的文本识别模型大都是从千万级的训练数据中学习,当加入新任务数据时,为了有更好的识别效果,通常需要从头开始训练模型,等待更新的时间可能达到数小时、数天或数周,等待周期较长。


技术实现要素:

6.本技术实施例提供了一种文本识别模型训练方法、文本识别方法、设备及介质,旨在解决文本识别模型泛化能力差、准确率低,以及优化效率低的问题。
7.第一方面,本技术实施例提供了一种文本识别模型训练方法,其包括:采集第一类型图像数据及第二类型图像数据,并对所述第一类型图像数据进行预处理,得到第一图像数据集,对所述第二类型图像数据进行预处理,得到第二图像数据集;获取预先构建的字典,并利用所述字典对所述第一图像数据集进行拆分,得到第一训练集及第一测试集;按照配置比例对所述第二图像数据集进行拆分,得到第二训练集及第二测试集;
检测所述第一训练集中的高频字及低频字;根据所述高频字及所述低频字对所述第一训练集进行压缩,得到第三训练集;组合所述第二训练集及所述第三训练集,得到第四训练集;利用所述第一训练集及所述第一测试集训练预设识别模型,得到第一识别模型;利用所述第四训练集训练所述第一识别模型;在所述第一识别模型的训练过程中,分别利用所述第一测试集及所述第二测试集对每次迭代的模型进行测试,得到测试结果;根据所述测试结果从每次迭代的模型中选择目标识别模型;获取待识别图像,并利用所述目标识别模型对所述待识别图像进行文本识别,得到识别结果。
8.第二方面,本技术实施例提供了一种文本识别方法,所述文本识别方法利用第一方面所述的文本识别模型训练方法训练得到目标识别模型,所述方法包括:获取待识别图像;利用所述目标识别模型对所述待识别图像进行文本识别,得到识别结果。
9.第三方面,本技术实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的文本识别模型训练方法,及/或文本识别方法。
10.第四方面,本技术实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的文本识别模型训练方法,及/或文本识别方法。
11.本技术实施例提供了一种文本识别模型训练方法、文本识别方法、设备及介质,能够利用不同类型的图像数据训练出具有较强泛化能力的文本识别模型,与单一场景下训练模型相比较降低了标注成本,进一步通过字频压缩训练数据,在保证模型准确性的同时降低了模型训练的计算成本,并提升了模型训练及优化的效率。
附图说明
12.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1为本技术实施例提供的文本识别模型训练方法的应用场景示意图;图2为本技术实施例提供的文本识别模型训练方法的流程示意图;图3为本技术实施例提供的文本识别模型训练方法中预处理过程的示意图;图4为本技术实施例提供的文本识别方法的流程示意图;图5为本技术实施例提供的文本识别模型训练装置的示意性框图;图6为本技术实施例提供的文本识别装置的示意性框图;图7为本技术实施例提供的计算机设备的示意性框图。
具体实施方式
14.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
15.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和
ꢀ“
包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
16.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
17.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
18.请参阅图1和图2,图1为本技术实施例提供的文本识别模型训练方法的应用场景示意图;图2为本技术实施例提供的文本识别模型训练方法的流程示意图,该文本识别模型训练方法可应用于服务器中,并可通过安装于服务器中的应用软件进行执行。
19.如图2所示,该方法包括步骤s101~s110。
20.s101、采集第一类型图像数据及第二类型图像数据,并对所述第一类型图像数据进行预处理,得到第一图像数据集,对所述第二类型图像数据进行预处理,得到第二图像数据集。
21.在本实施例中,是以服务器为执行主体来描述技术方案。用户使用的用户端(如智能手机、平板电脑等智能终端)可与服务器进行数据交互,具体如服务器提供了一个文本识别模型训练平台,用户使用用户端可登录该文本识别模型训练平台。用户端的终端界面上显示有该文本识别模型训练平台的用户交互界面,且该用户交互界面中存在有至少一个图片上传接口。当用户选定图像作为训练数据,并从图像上传接口上传至服务器后,在服务器中即可进行后续的文本识别模型训练。
22.在本实施例中,所述第一类型图像数据可以为合同扫描件等文档类文本数据;所述第二类型图像数据可以为手机等电子设备拍摄的带有文字的自然场景类文本数据,如手机拍摄的车牌图像、平板电脑拍摄的公司牌匾图像等。
23.显然,所述第一类型图像数据较为容易获取到,因此数据量较大,而所述第二类型图像数据较难获取到,因此数据量较小。
24.即:所述第一类型图像数据的数据量大于所述第二类型图像数据的数据量。
25.例如:当所述第一类型图像数据为合同的扫描件时,数据量可以达到800万条行文本,相应地,当所述第二类型图像数据为手机拍摄的公司牌匾图像时,数据量可能仅达到1万条行文本。
26.在本实施例中,要想利用所述第一类型图像数据及所述第二类型图像数据进行模型的训练,首先需要将所述第一类型图像数据及所述第二类型图像数据预处理为可用的数据形式。
27.具体地,所述对所述第一类型图像数据进行预处理,得到第一图像数据集,包括:利用文本检测模型检测每个第一类型图像数据的行文本区域,并对检测出的行文本区域进行裁剪,得到每个第一类型图像数据的行文本特征;
对每个第一类型图像数据的行文本特征进行标注,得到每个行文本特征所包括的文字;组合标注后的每个第一类型图像数据,得到所述第一图像数据集。
28.例如,请参照图3,当所述第一类型图像数据为扫描的菜单时,利用文本检测模型检测出菜单的行文本区域并进行裁剪,并对裁剪出的行文本特征进行标注,如行文本特征“甜品类”标注后可以得到文字“甜品类”。进一步地,组合所有标注后的文本特征,得到所述第一图像数据集。
29.其中,所述文本检测模型可以为任意具有文本检测功能的模型,如dbnet文本检测模型等。
30.在本实施例中,对所述第二类型图像数据进行预处理得到第二图像数据集的方式与对所述第一类型图像数据进行预处理得到第一图像数据集的方式类似,在此不赘述。
31.s102、获取预先构建的字典,并利用所述字典对所述第一图像数据集进行拆分,得到第一训练集及第一测试集。
32.在本实施例中,所述字典中出现的字符可以包括日常生活中会用到的汉字、英文字符和符号等,后续模型可识别的字符即为字典内字符。
33.例如:所述字典可以为大小为6000字的字典。
34.在本实施例中,所述利用所述字典对所述第一图像数据集进行拆分,得到第一训练集及第一测试集,包括:获取所述字典内的每个字符;在所述第一图像数据集中检测出包含每个字符的行文本,得到每个字符对应的行文本特征;从每个字符对应的行文本特征中为每个字符抽取第一预设数量的行文本特征构建所述第一测试集;利用所述第一图像数据集中除所述第一测试集以外的其余数据构建所述第一训练集。
35.其中,所述第一预设数量可以进行自定义配置,如50。
36.例如:当所述第一图像数据集中包括800万行文本特征时,在800万行文本特征中为每个字符分别抽取包含该字符的50条行文本特征,并利用抽取的行文本特征构建所述第一测试集,同时利用800万行文本特征中的其余行文本特征构建所述第一训练集。
37.s103、按照配置比例对所述第二图像数据集进行拆分,得到第二训练集及第二测试集。
38.其中,所述配置比例可以进行自定义配置,如3:7。
39.例如:当所述配置比例为3:7时,可以随机将所述第二图像数据集中的数据按照3:7进行拆分,其中30%的数据作为所述第二测试集,70%的数据作为所述第二训练集。
40.s104、检测所述第一训练集中的高频字及低频字。
41.需要说明的是,由于所述第一训练集中的数据量较大,因此,为了压缩数据量,降低模型训练的耗时,还可以根据字频对训练数据进行压缩,以实现对模型的压缩训练。
42.因此,首先需要检测出所述第一训练集中的所述高频字及所述低频字。
43.具体地,所述检测所述第一训练集中的高频字及低频字,包括:
获取所述字典内所有字符的总数量;计算所述总数量与预设值的乘积,得到目标数量;计算所述第一训练集中每个字符的出现频率;按照所述出现频率由高到低的顺序从所述第一训练集的每个字符中抽取所述目标数量的字符作为所述高频字;将所述第一训练集中除所述高频字以外的其余字符确定为所述低频字。
44.其中,所述预设值可以进行自定义配置,如50%。
45.s105、根据所述高频字及所述低频字对所述第一训练集进行压缩,得到第三训练集。
46.可以理解的是,由于所述第一训练集中可能包含百万数据,因此,训练的计算量较高,耗时较长,因此,可以先对所述第一训练集进行数据压缩。
47.具体地,所述根据所述高频字及所述低频字对所述第一训练集进行压缩,得到第三训练集,包括:获取所述第一训练集中的每个图像数据;计算每个图像数据中行文本特征的总数量作为第一数值;对于每个高频字,获取包含所述高频字的图像数据的数量作为每个高频字对应的第二数值;计算每个高频字对应的第二数值与所述第一数值的商,得到每个高频字对应的权重;获取预先配置的第一系数;计算每个高频字对应的权重、所述第一系数及所述第一数值的乘积,得到每个高频字对应的语料抽取量;根据每个高频字对应的语料抽取量从所述第一训练集中随机抽取行文本特征;从所述第一训练集中为每个低频字随机抽取第二预设数量的行文本特征;组合抽取到的行文本特征,得到所述第三训练集。
48.其中,所述第一系数可以根据实验效果进行配置,例如:通过大量实验,确定所述第一系数的取值为0.1时模型的训练效果最佳,则所述第一系数可以配置为0.1。
49.其中,所述第二预设数量可以进行自定义配置,以保证低频字的识别率。例如:所述第二预设数量可以为200。
50.进一步对压缩过程进行举例,所述第一训练集中可以包括多张图像数据,每张图像数据中可以包括多个行文本,即包括多个行文本特征。当所述第一训练集中包括100万个行文本特征时,则第一数值为100万。其中,对于高频字符x,当所述第一训练集中有50万张图包括高频字符x时,则第二数值为50万。计算第二数值50万与第一数值100万的商,得到高频字符x的重要性权重为0.5。当所述第一系数为0.1时,计算高频字符x的重要性权重0.5、第一系数0.1及第一数值100万的乘积,得到高频字符x的语料抽取量为0.5*0.1*100万=5万。进一步地,从所述第一训练集中随机抽取5万带有高频字符x的行文本特征。同时,为了维持低频字的识别率,每个低频字可以对应随机抽取200个行文本特征。对以上分别抽取到的高频字与低频字的行文本特征进行组合,得到所述第三训练集。
51.由此,拥有百万级别数据量的第一训练集得到有效的压缩,在保证高频字与低频
字识别率的同时使模型的训练效率也显著提高。
52.s106、组合所述第二训练集及所述第三训练集,得到第四训练集。
53.可以理解的是,所述第二训练集是具体的自然场景类文本数据,所述第四训练集是对拥有大量样本的文档类文本数据的压缩,因此,组合所述第二训练集及所述第三训练集后,得到的所述第四训练集中不仅包括充足的训练数据,并且,由于通过字符的重要性权重对训练样本进行了压缩,也能够保证模型的训练效果。
54.s107、利用所述第一训练集及所述第一测试集训练预设识别模型,得到第一识别模型。
55.其中,所述预设识别模型可以为任意具有文字识别功能的模型,如crnn(convolutional recurrent neural net,卷积循环神经网络结构)模型。
56.具体地,利用所述第一训练集中的数据训练所述预设识别模型,并利用所述第一测试集中的数据测试训练得到的模型的准确性,并选择准确性最高的模型作为所述第一识别模型。
57.s108、利用所述第四训练集训练所述第一识别模型。
58.在本实施例中,在利用所述第四训练集训练所述第一识别模型时,可以根据大量实验结果确定最佳的超参数配置方式。
59.例如:可以将模型的超参数配置为:学习率设置为1,样本训练批次数设置为256,迭代次数设置为100。
60.在本实施例中,所述利用所述第四训练集训练所述第一识别模型,包括:在将所述第四训练集输入至所述第一识别模型后,开始迭代;在每次迭代过程中,实时获取当次迭代的模型的输出概率;基于所述输出概率计算所述当次迭代的模型的ctc损失;获取预先配置的第二系数及第三系数;计算1与所述输出概率的差值,及计算所述差值的n次幂作为第五数值,其中,n的取值为所述第三系数;计算所述第二系数、所述第五数值及所述ctc损失的乘积,得到所述当次迭代的模型的实时损失;当所述实时损失达到收敛时,停止当次迭代。
61.其中,所述ctc损失可以引导模型进行训练。
62.其中,所述第二系数及所述第三系数也可以进行自定义配置,例如:所述第二系数可以配置为1,所述第三系数可以配置为2。
63.通过上述损失函数的配置,可以赋予困难样本较大的权重,提升模型的训练效果。
64.s109、在所述第一识别模型的训练过程中,分别利用所述第一测试集及所述第二测试集对每次迭代的模型进行测试,得到测试结果。
65.在本实施例中,分别采用所述第一测试集及所述第二测试集对每次迭代的模型进行测试,能够保证训练得到的模型可以同时适用于第一类型图像数据对应的场景(如文档类文本数据场景)及第二类型图像数据对应的场景(如自然场景类文本数据场景),进而提升了模型的泛化能力。
66.s110、根据所述测试结果从每次迭代的模型中选择目标识别模型。
67.具体地,所述根据所述测试结果从每次迭代的模型中选择目标识别模型,包括:根据所述测试结果从每次迭代的模型中获取准确率最高的模型作为所述目标识别模型。
68.在上述实施例中,取第一测试集及第二测试集的测试结果中准确率最高的模型作为最终的文本识别模型,以保证模型识别的准确率。
69.本实施例利用不同类型的图像数据训练出具有较强泛化能力的文本识别模型,使不同场景下的数据能够进行组合训练,与单一场景下训练模型相比较降低了标注成本,进一步通过字频压缩训练数据,在保证模型准确性的同时降低了模型训练的计算成本,并提升了模型训练及优化的效率。
70.如图4所示,该方法利用如s101~s110中所述的文本识别模型训练方法训练得到目标识别模型,该方法包括步骤s201~s202。
71.s201、获取待识别图像。
72.其中,所述待识别图像可以是利用扫描器和照相机等工具采集的图像,本发明不限制。
73.s202、利用目标识别模型对所述待识别图像进行文本识别,得到识别结果。
74.本实施例利用如s101~s110中所述的文本识别模型训练方法训练得到的目标识别模型进行文本识别,以保证文本识别的准确性。
75.本技术实施例还提供一种文本识别模型训练装置,该文本识别模型训练装置用于执行前述文本识别模型训练方法的任一实施例。具体地,请参阅图5,图5是本技术实施例提供的文本识别模型训练装置100的示意性框图。
76.其中,如图5所示,文本识别模型训练装置100包括预处理单元101、拆分单元102、检测单元103、压缩单元104、组合单元105、训练单元106、测试单元107和选择单元108。
77.其中,所述预处理单元101,用于采集第一类型图像数据及第二类型图像数据,并对所述第一类型图像数据进行预处理,得到第一图像数据集,对所述第二类型图像数据进行预处理,得到第二图像数据集。
78.在本实施例中,所述第一类型图像数据可以为合同扫描件等文档类文本数据;所述第二类型图像数据可以为手机等电子设备拍摄的带有文字的场景类文本数据,如手机拍摄的车牌图像、平板电脑拍摄的公司牌匾图像等。
79.显然,所述第一类型图像数据较为容易获取到,因此数据量较大,而所述第二类型图像数据较难获取到,因此数据量较小。
80.即:所述第一类型图像数据的数据量大于所述第二类型图像数据的数据量。
81.例如:当所述第一类型图像数据为合同的扫描件时,数据量可以达到800万条行文本,相应地,当所述第二类型图像数据为手机拍摄的公司牌匾图像时,数据量可能仅达到1万条行文本。
82.在本实施例中,要想利用所述第一类型图像数据及所述第二类型图像数据进行模型的训练,首先需要将所述第一类型图像数据及所述第二类型图像数据预处理为可用的数据形式。
83.具体地,所述预处理单元101对所述第一类型图像数据进行预处理,得到第一图像数据集,包括:
利用文本检测模型检测每个第一类型图像数据的行文本区域,并对检测出的行文本区域进行裁剪,得到每个第一类型图像数据的行文本特征;对每个第一类型图像数据的行文本特征进行标注,得到每个行文本特征所包括的文字;组合标注后的每个第一类型图像数据,得到所述第一图像数据集。
84.例如,请参照图3,当所述第一类型图像数据为扫描的菜单时,利用文本检测模型检测出菜单的行文本区域并进行裁剪,并对裁剪出的行文本特征进行标注,如行文本特征“甜品类”标注后可以得到文字“甜品类”。进一步地,组合所有标注后的文本特征,得到所述第一图像数据集。
85.其中,所述文本检测模型可以为任意具有文本检测功能的模型,如dbnet文本检测模型等。
86.在本实施例中,对所述第二类型图像数据进行预处理得到第二图像数据集的方式与对所述第一类型图像数据进行预处理得到第一图像数据集的方式类似,在此不赘述。
87.所述拆分单元102,用于获取预先构建的字典,并利用所述字典对所述第一图像数据集进行拆分,得到第一训练集及第一测试集。
88.在本实施例中,所述字典中出现的字符可以包括日常生活中会用到的汉字、英文字符和符号等,后续模型可识别的字符即为字典内字符。
89.例如:所述字典可以为大小为6000字的字典。
90.在本实施例中,所述拆分单元102利用所述字典对所述第一图像数据集进行拆分,得到第一训练集及第一测试集,包括:获取所述字典内的每个字符;在所述第一图像数据集中检测出包含每个字符的行文本,得到每个字符对应的行文本特征;从每个字符对应的行文本特征中为每个字符抽取第一预设数量的行文本特征构建所述第一测试集;利用所述第一图像数据集中除所述第一测试集以外的其余数据构建所述第一训练集。
91.其中,所述第一预设数量可以进行自定义配置,如50。
92.例如:当所述第一图像数据集中包括800万行文本特征时,在800万行文本特征中为每个字符分别抽取包含该字符的50条行文本特征,并利用抽取的行文本特征构建所述第一测试集,同时利用800万行文本特征中的其余行文本特征构建所述第一训练集。
93.所述拆分单元102,还用于按照配置比例对所述第二图像数据集进行拆分,得到第二训练集及第二测试集。
94.其中,所述配置比例可以进行自定义配置,如3:7。
95.例如:当所述配置比例为3:7时,可以随机将所述第二图像数据集中的数据按照3:7进行拆分,其中30%的数据作为所述第二测试集,70%的数据作为所述第二训练集。
96.所述检测单元103,用于检测所述第一训练集中的高频字及低频字。
97.需要说明的是,由于所述第一训练集中的数据量较大,因此,为了压缩数据量,降低模型训练的耗时,还可以根据字频对训练数据进行压缩,以实现对模型的压缩训练。
98.因此,首先需要检测出所述第一训练集中的所述高频字及所述低频字。
99.具体地,所述检测单元103检测所述第一训练集中的高频字及低频字,包括:获取所述字典内所有字符的总数量;计算所述总数量与预设值的乘积,得到目标数量;计算所述第一训练集中每个字符的出现频率;按照所述出现频率由高到低的顺序从所述第一训练集的每个字符中抽取所述目标数量的字符作为所述高频字;将所述第一训练集中除所述高频字以外的其余字符确定为所述低频字。
100.其中,所述预设值可以进行自定义配置,如50%。
101.所述压缩单元104,用于根据所述高频字及所述低频字对所述第一训练集进行压缩,得到第三训练集。
102.可以理解的是,由于所述第一训练集中可能包含百万数据,因此,训练的计算量较高,耗时较长,因此,可以先对所述第一训练集进行数据压缩。
103.具体地,所述压缩单元104根据所述高频字及所述低频字对所述第一训练集进行压缩,得到第三训练集,包括:获取所述第一训练集中的每个图像数据;计算每个图像数据中行文本特征的总数量作为第一数值;对于每个高频字,获取包含所述高频字的图像数据的数量作为每个高频字对应的第二数值;计算每个高频字对应的第二数值与所述第一数值的商,得到每个高频字对应的权重;获取预先配置的第一系数;计算每个高频字对应的权重、所述第一系数及所述第一数值的乘积,得到每个高频字对应的语料抽取量;根据每个高频字对应的语料抽取量从所述第一训练集中随机抽取行文本特征;从所述第一训练集中为每个低频字随机抽取第二预设数量的行文本特征;组合抽取到的行文本特征,得到所述第三训练集。
104.其中,所述第一系数可以根据实验效果进行配置,例如:通过大量实验,确定所述第一系数的取值为0.1时模型的训练效果最佳,则所述第一系数可以配置为0.1。
105.其中,所述第二预设数量可以进行自定义配置,以保证低频字的识别率。例如:所述第二预设数量可以为200。
106.进一步对压缩过程进行举例,所述第一训练集中可以包括多张图像数据,每张图像数据中可以包括多个行文本,即包括多个行文本特征。当所述第一训练集中包括100万个行文本特征时,则第一数值为100万。其中,对于高频字符x,当所述第一训练集中有50万张图包括高频字符x时,则第二数值为50万。计算第二数值50万与第一数值100万的商,得到高频字符x的重要性权重为0.5。当所述第一系数为0.1时,计算高频字符x的重要性权重0.5、第一系数0.1及第一数值100万的乘积,得到高频字符x的语料抽取量为0.5*0.1*100万=5万。进一步地,从所述第一训练集中随机抽取5万带有高频字符x的行文本特征。同时,为了维持低频字的识别率,每个低频字可以对应随机抽取200个行文本特征。对以上分别抽取到
的高频字与低频字的行文本特征进行组合,得到所述第三训练集。
107.由此,拥有百万级别数据量的第一训练集得到有效的压缩,在保证高频字与低频字识别率的同时使模型的训练效率也显著提高。
108.所述组合单元105,用于组合所述第二训练集及所述第三训练集,得到第四训练集。
109.可以理解的是,所述第二训练集是具体的自然场景类文本数据,所述第四训练集是对拥有大量样本的文档类文本数据的压缩,因此,组合所述第二训练集及所述第三训练集后,得到的所述第四训练集中不仅包括充足的训练数据,并且,由于通过字符的重要性权重对训练样本进行了压缩,也能够保证模型的训练效果。
110.所述训练单元106,用于利用所述第一训练集及所述第一测试集训练预设识别模型,得到第一识别模型。
111.其中,所述预设识别模型可以为任意具有文字识别功能的模型,如crnn(convolutional recurrent neural net,卷积循环神经网络结构)模型。
112.具体地,利用所述第一训练集中的数据训练所述预设识别模型,并利用所述第一测试集中的数据测试训练得到的模型的准确性,并选择准确性最高的模型作为所述第一识别模型。
113.所述训练单元106,还用于利用所述第四训练集训练所述第一识别模型。
114.在本实施例中,在利用所述第四训练集训练所述第一识别模型时,可以根据大量实验结果确定最佳的超参数配置方式。
115.例如:可以将模型的超参数配置为:学习率设置为1,样本训练批次数设置为256,迭代次数设置为100。
116.在本实施例中,所述利用所述第四训练集训练所述第一识别模型,包括:在将所述第四训练集输入至所述第一识别模型后,开始迭代;在每次迭代过程中,实时获取当次迭代的模型的输出概率;基于所述输出概率计算所述当次迭代的模型的ctc损失;获取预先配置的第二系数及第三系数;计算1与所述输出概率的差值,及计算所述差值的n次幂作为第五数值,其中,n的取值为所述第三系数;计算所述第二系数、所述第五数值及所述ctc损失的乘积,得到所述当次迭代的模型的实时损失;当所述实时损失达到收敛时,停止当次迭代。
117.其中,所述ctc损失可以引导模型进行训练。
118.其中,所述第二系数及所述第三系数也可以进行自定义配置,例如:所述第二系数可以配置为1,所述第三系数可以配置为2。
119.通过上述损失函数的配置,可以赋予困难样本较大的权重,提升模型的训练效果。
120.所述测试单元107,用于在所述第一识别模型的训练过程中,分别利用所述第一测试集及所述第二测试集对每次迭代的模型进行测试,得到测试结果。
121.在本实施例中,分别采用所述第一测试集及所述第二测试集对每次迭代的模型进行测试,能够保证训练得到的模型可以同时适用于第一类型图像数据对应的场景(如文档
类文本数据场景)及第二类型图像数据对应的场景(如自然场景类文本数据场景),进而提升了模型的泛化能力。
122.所述选择单元108,用于根据所述测试结果从每次迭代的模型中选择目标识别模型。
123.具体地,所述选择单元108根据所述测试结果从每次迭代的模型中选择目标识别模型,包括:根据所述测试结果从每次迭代的模型中获取准确率最高的模型作为所述目标识别模型。
124.在上述实施例中,取第一测试集及第二测试集的测试结果中准确率最高的模型作为最终的文本识别模型,以保证模型识别的准确率。
125.本实施例利用不同类型的图像数据训练出具有较强泛化能力的文本识别模型,使不同场景下的数据能够进行组合训练,与单一场景下训练模型相比较降低了标注成本,进一步通过字频压缩训练数据,在保证模型准确性的同时降低了模型训练的计算成本,并提升了模型训练及优化的效率。
126.本技术实施例还提供一种文本识别装置,该文本识别装置用于执行前述文本识别方法的任一实施例。具体地,请参阅图6,图6是本技术实施例提供的文本识别模型训练装置200的示意性框图。
127.其中,如图6所示,文本识别装置200利用文本识别模型训练装置100训练得到的目标识别模型进行文本识别。文本识别装置200包括获取模块201和识别模块202。
128.其中,所述获取模块201,用于获取待识别图像。
129.其中,所述待识别图像可以是利用扫描器和照相机等工具采集的图像,本发明不限制。
130.所述识别模块202,用于利用所述目标识别模型对所述待识别图像进行文本识别,得到识别结果。
131.本实施例利用文本识别模型训练装置100训练得到的目标识别模型进行文本识别,以保证文本识别的准确性。
132.上述文本识别模型训练装置及/或文本识别装置可以实现为计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
133.请参阅图7,图7是本技术实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,也可以是服务器集群。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
134.参阅图7,该计算机设备500包括通过装置总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
135.该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行文本识别模型训练方法及/或文本识别方法。
136.该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
137.该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程
序5032被处理器502执行时,可使得处理器502执行文本识别模型训练方法及/或文本识别方法。
138.该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
139.其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本技术实施例公开的文本识别模型训练方法及/或文本识别方法。
140.本领域技术人员可以理解,图7中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图7所示实施例一致,在此不再赘述。
141.应当理解,在本技术实施例中,处理器502可以是中央处理单元 (central processing unit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器 (digital signal processor,dsp)、专用集成电路 (application specific integrated circuit,asic)、现成可编程门阵列 (field-programmable gate array,fpga) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
142.在本技术的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本技术实施例公开的文本识别模型训练方法及/或文本识别方法。
143.需要说明的是,本案中所涉及到的数据均为合法取得。
144.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
145.在本技术所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
146.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本技术实施例方案的目的。
147.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
148.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 ( 可以是个人计算机,后台服务器,或者网络设备等 ) 执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u 盘、移动硬盘、只读存储器 (rom,read-only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
149.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1