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

一种自监督文本识别方法、装置和存储介质

文献发布时间:2023-06-19 18:37:28


一种自监督文本识别方法、装置和存储介质

技术领域

本发明涉及模式识别与人工智能技术领域,尤其涉及一种自监督文本识别方法、装置和存储介质。

背景技术

文本识别对于各种纸质文档数字化具有重要意义。目前大多数的文本识别模型都是基于全监督的训练方法,这种方法依赖大量的标注数据,而数据的标注需要耗费大量的人力物力。所以探索一种自监督的、无需使用人工标注的训练方式是非常必要的。

近几年随着各种深度学习技术的发展,基于对比学习的自监督学习方法在通用目标的检测和识别展现出了巨大的潜力。它通过将同一张图像的不同数据增强方式的图像进行对比学习来学习到通用目标的特征表示,从而可以加速下游任务的收敛速度,也可以达到少量的训练数据实现较好的任务效果。

目前,对于文本图像的自监督预训练方法,基于对比学习的自监督方法SeqCLR方法和PerSec方法都是从整个文本的图像来进行考虑的,即在自监督预训练阶段将整个文本图像作为模型的输入,这种处理方式对模型的训练要求高。

发明内容

为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种自监督文本识别方法、装置和存储介质。

本发明所采用的技术方案是:

一种自监督文本识别方法,包括以下步骤:

获取文本图像;

对文本图像进行字符单元裁剪,获得正样本对;

对正样本对进行数据增强,构建神经网络模型,对神经网络模型进行预训练;

根据训练后的神经网络模型构建文本识别模型,并对文本识别模型进行训练,将训练后的文本识别模型用于文本识别。

进一步地,所述字符单元指包含字符或笔画的图像;

所述对文本图像I进行字符单元裁剪,获得正样本对(C,C

获取原样本C在文本图像I中的左上角坐标(x,y)和需要裁剪的大小(w,h),从图像I中裁剪出原样本C;

确定中心比例r,获取与原样本C的面积占比为r的中心对称区域A;其中,中心对称区域A与文本图像I的高度一致;

根据原样本C和中心对称区域A获取正样本C

确定字符单元的调整大小(cw,ch),将原样本C和其正样本C

进一步地,所述获取原样本C在文本图像I中的左上角坐标(x,y)和需要裁剪的大小(w,h),从图像I中裁剪出原样本C,包括:

确定裁剪的宽度范围(w

从宽度范围(w

根据选出的宽比值w

其中,原样本C的宽度w和高度h分别为:

w=w

h=h

式中,width为文本图像I的宽度,height为文本图像I的高度;

原样本C的左上角坐标(x,y)为:

x=randint(0,width-w)

y=randint(0,height-h)

式中,randint(a,b)表示从[a,b)中随机选出一个整数。

进一步地,所述根据原样本C和中心对称区域A获取正样本C

根据原样本C确定正样本C

正样本C

px=randint(px

py=randint(0,height-h)

根据获得的左上角坐标(px,py)和需要裁剪的大小(w,h),从文本图像I中裁剪出正样本C

其中,原样本C和正样本C

进一步地,所述对正样本对进行数据增强,包括:

对得到的正样本对(C,C

在设置范围内随机选取一组参数t

在设置范围内随机选取一组参数t

将第一图像I

进一步地,所述神经网络模型包括编码映射模块Q和动量编码映射模块K;

所述编码映射模块Q包括编码器E和映射器,编码映射模块Q根据随机梯度下降优化器来训练;

所述动量编码映射模块K与编码映射模块Q具有相同网络结构,使用编码映射模块Q的参数进行动量更新;

设编码映射模块Q中编码器E和映射器的参数为θ

其中n表示动量大小,0<n<1。

进一步地,所述对神经网络模型进行预训练,包括:

将经过数据增强

其中,C为负样本的长度;τ为超参数;q为经过编码映射模块Q后的特征向量;k

对于负样本,预设一个负样本的大小,然后将每次经过动量编码映射模块K后的特征向量放入队列中进行存储,在达到预设的负样本量之后,将最先存储的特征向量进行删除,然后储存新的特征向量。

进一步地,所述文本识别模型采用编码器-解码器的结构;其中,文本识别模型的编码器的结构与编码映射模块Q的编码器E相同;

所述根据训练后的神经网络模型构建文本识别模型,并对文本识别模型进行训练,包括:

对文本识别模型进行训练的过程中,将预训练得到的神经网络模型的编码器参数读入到文本识别模型的编码器中,而文本识别模型的解码器的参数随机初始化,再根据输入的文本图像和对应标签对整个文本识别模型进行微调训练。

本发明所采用的另一技术方案是:

一种自监督文本识别装置,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。

本发明所采用的另一技术方案是:

一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。

本发明的有益效果是:本发明将从文本图像中裁剪得到的字符单元作为预训练模型的输入,在相同批大小下大大降低预训练阶段的模型显存需求。同时,文本识别模型读入自监督预训练的编码器参数后可以加快模型收敛速度,甚至达到更高的识别率。

附图说明

为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。

图1是本发明实施例中一种自监督文本识别方法的流程示意图;

图2是本发明实施例中神经网络模型的示意图;

图3是本发明实施例中字符单元正样本对的示例图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

由于文本图像是由更基本的元素如字符、笔画等构成的,所以对于文本图像的特征学习,也可以认为是其基本元素如字符、笔画等的特征学习。因此,本发明从另一个角度——字符的角度来进行自监督预训练,提出了字符单元裁剪模块来进行字符单元裁剪以获得正样本对,该模块确保正样本对包含相同的字符。通过对比学习,模型可以将原样本的字符从其邻近字符中区分开,从而加快了下游文本识别任务的收敛速度和识别准确性,具有较高的应用价值。

如图1所示,本实施例提供一种自监督文本识别方法,包括以下步骤:

S1、获取文本图像。

数据获取:通过电子设备获得文本的图像。作为可选的实施方式,使用手机、平板等可以手写输入的电子设备获得文本图像。

S2、对文本图像进行字符单元裁剪,获得正样本对。

数据处理:将文本图像I经过字符单元裁剪模块来进行字符单元裁剪以获得字符单元正样本对(C,C

S21、给定裁剪的宽度范围(w

w=w

h=h

然后确定原样本C的左上角坐标(x,y),具体公式如下:

x=randint(0,width-w) (3)

y=randint(0,height-h) (4)

其中randint(a,b)表示从[a,b)中随机选出一个整数。根据公式(1)-(4),可以得到原样本C在图像I中的左上角坐标(x,y)和需要裁剪的大小(w,h),随后从图像I中裁剪出原样本C。

S22、给定中心比例r,得到与原样本C的面积占比为r的中心对称区域A,其中区域A与图像I的高度基本一致。原样本C和其正样本C

正样本C

px=randint(px

py=randint(0,height-h) (8)

其中randint(a,b)代表从[a,b)中随机选出一个整数。

由于文本的字符顺序具有横向排列的特点,所以正样本C

S23、给定字符单元的调整大小(cw,ch),其中cw表示宽度,ch表示高度。然后将原样本C和其正样本C

S3、对正样本对进行数据增强,构建神经网络模型,对神经网络模型进行预训练。

网络预训练:构建神经网络进行预训练,即对正样本对进行不同的数据增强,然后经过特征提取后进行对比学习。

网络预训练,包含以下步骤:

S31、对步骤S2得到的正样本对C

S32、构建神经网络,包括编码器和映射器,如图2所示。具体采用的网络结构如表1和表2所示。

表1编码器结构

表2映射器结构

首先由编码器E和映射器组合为编码映射模块Q,此模块根据随机梯度下降优化器来训练。动量编码映射模块K与编码映射模块Q具有相同网络结构,使用模块Q的参数来进行动量更新。设编码映射模块Q中编码器E和映射器的参数为θ

其中n表示动量大小,0<n<1。

S33、进行预训练。将经过数据增强

其中,C为负样本的长度;τ为超参数;q为经过编码映射模块Q后的特征向量;k

对于负样本,预设一个负样本的大小,然后将每次经过动量编码映射模块K后的特征向量放入队列中进行存储,在达到预设的负样本量之后,将最先存储的特征向量进行删除,然后储存新的特征向量。

S4、根据训练后的神经网络模型构建文本识别模型,并对文本识别模型进行训练,将训练后的文本识别模型用于文本识别。

网络微调:文本识别模型采用“编码器-解码器”的结构,文本识别模型的编码器的结构与编码映射模块Q的编码器E相同;解码器可以采用基于CTC或者是基于Attention或者是基于Transformer的序列解码器。例如基于Attention的解码器是隐藏层节点数为256的Attention模型。

训练过程需要先将步骤S3预训练得到的神经网络的编码器参数读入到文本识别模型的编码器中,而解码器的参数随机初始化,然后再根据输入的文本图像和对应标签对整个文本识别模型进行微调训练。

综上所述,本发明方法相对于现有技术,至少具有如下优点及有益效果:

(1)本发明从字符的角度出发来设计自监督的文本识别方法,将从文本图像中裁剪得到的字符单元图像作为预训练模型的输入,所以在同等的模型和批大小设置下大大降低了预训练阶段的显存需求。

(2)本发明设计了一个字符单元裁剪模块来产生字符单元正样本对,通过原样本的位置来限制其正样本的位置选择。通过这种方式产生的正样本对必然会包含相同的字符,从而在预训练阶段使模型将原样本中的字符从其邻近字符中进行区分。

(3)预训练阶段无需使用人工标注数据,从而节省大量的人力物力,并且可以利用成千上万的无标注数据,具有重大的应用价值。

(4)本发明预训练阶段得到的编码器参数可以加快下游的文本识别任务的收敛速度,并且达到更好的识别准确率。

本实施例还提供一种自监督文本识别装置,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如图1所示方法。

本实施例的一种自监督文本识别装置,可执行本发明方法实施例所提供的一种自监督文本识别方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。

本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种自监督文本识别方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

技术分类

06120115638709