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

一种文档转换模型的训练方法、文档转换方法及相关产品

文献发布时间:2023-06-19 18:27:32


一种文档转换模型的训练方法、文档转换方法及相关产品

技术领域

本申请涉及自然语言处理技术领域,尤其涉及一种文档转换模型的训练方法、文档转换方法及相关产品。

背景技术

企业在日常办公过程中会产生海量的纸质文档,这些纸质文档保存不便,并且整理、检索等工作的难度较大。但是,随着信息技术的飞速发展,这些纸质文档可以转换成保存便利、易于管理的电子文档。

具体来说,目前已有的文档转换方案一般是按照固定的阅读方式进行处理,而没有考虑到文档的多样化结构。例如,对于文本被划分成多栏的文档来说,按照固定的阅读方式进行处理可能会使多栏文本之间交错排序,导致这种复杂场景下的文档转换效果大幅下降,甚至无法得到正确的电子文档。

发明内容

本申请实施例提供了一种文档转换模型的训练方法、文档转换方法及相关产品,以实现复杂场景下的文档转换,提高文档转换效果。

第一方面,本申请实施例可以提供一种文档转换模型的训练方法,待训练模型包括编码器网络和解码器网络;所述方法包括:

确定训练文档中的基础单元的结构信息;所述结构信息与所述基础单元的阅读顺序相关;

通过所述编码器网络,从所述训练文档的转换图像中提取所述基础单元的视觉特征;

基于所述视觉特征和所述结构信息,训练所述解码器网络,训练结束得到文档转换模型。

可选地,所述确定训练文档中的基础单元的结构信息,包括:

从所述训练文档中提取多个所述基础单元作为节点;

根据多个所述节点的节点信息,确定多个所述节点之间的父子关系;

基于多个所述节点的节点信息和多个所述节点之间的父子关系,确定所述结构信息。

可选地,所述节点信息包括对应的节点的标识信息和属性信息;所述标识信息用于以数值的形式表示对应的节点的阅读顺序;所述根据多个所述节点的节点信息,确定多个所述节点之间的父子关系,包括:

以多个所述节点分别作为子节点,获取多个所述子节点的标识信息和属性信息;

基于所述标识信息和所述属性信息,从多个所述节点中确定多个所述子节点分别对应的父节点;

确定多个所述子节点和对应的父节点之间的节点关系作为所述父子关系。

可选地,所述属性信息包括对应的子节点的属性优先级;所述基于所述标识信息和所述属性信息,从多个所述节点中确定多个所述子节点分别对应的父节点,包括:

从多个所述节点中确定待处理的当前子节点的待选父节点;所述待选父节点的待选标识信息小于所述当前子节点的当前标识信息,且所述待选子节点的待选属性优先级大于或等于当前子节点的当前属性优先级;

当所述待选父节点的数量为多个时,从所述待选子节点中,确定待选标识信息与所述当前标识信息之差最小的一个作为所述当前子节点的父节点;

当所述待选父节点的数量为1个时,将所述待选子节点作为所述当前子节点的父节点;

当所述待选父节点的数量为0个时,将所述当前子节点的父节点的标识信息置0。

可选地,所述确定多个所述子节点和对应的父节点之间的节点关系,包括:

当所述子节点的标识信息表示所述子节点的阅读顺序为第一个阅读时,将所述节点关系确定为开始关系;

当所述子节点的优先级大于对应的父节点的优先级,且对应的父节点的标识信息不为0时,将所述节点关系确定为递进关系;

当所述子节点的优先级等于对应的父节点的优先级时,将所述节点关系确定为并列关系;

当所述子节点的标识信息表示所述子节点的阅读顺序为最后一个阅读时,将所述节点关系确定为结束关系。

可选地,所述解码器网络包括父节点解码器、子节点解码器和关系解码器;

所述基于所述视觉特征和所述结构信息,训练所述解码器网络,训练结束得到文档转换模型,包括:

基于所述视觉特征和所述结构信息,分别训练所述父节点解码器和所述子节点解码器;

基于所述父节点解码器和所述子节点解码器训练所述关系解码器;

通过训练结束的父节点解码器、子节点解码器和关系解码器,确定所述文档转换模型。

可选地,在训练过程中,所述结构信息包括当前解码时刻的父节点对应的第一标识信息;

所述父节点解码器通过如下步骤训练:

将所述视觉特征输入至所述父节点解码器,通过所述父节点解码器获取所述当前解码时刻的父节点的预测标识信息作为第一预测标识信息;

基于所述第一预测标识信息和所述第一标识信息,确定所述父节点解码器对应的第一损失;

通过所述第一损失训练所述父节点解码器,直至所述父节点解码器收敛。

可选地,在训练过程中,所述结构信息包括当前解码时刻的子节点对应的第二标识信息和属性;所述子节点解码器通过如下步骤训练:

将所述视觉特征输入至所述子节点解码器,通过所述子节点解码器获取所述当前解码时刻的子节点的预测标识信息作为第二预测标识信息,并获取所述当前解码时刻的子节点的预测属性;

基于所述第二预测标识信息和所述第二标识信息,确定所述子节点解码器对应的第二损失,并基于所述属性确定所述子节点解码器对应的第三损失;

通过所述第二损失和所述第三损失训练所述子节点解码器,直至所述子节点解码器收敛。

可选地,在训练过程中,所述结构信息包括当前解码时刻的子节点和父节点之间的节点关系;所述基于所述父节点解码器和所述子节点解码器训练所述关系解码器,包括:

通过所述父节点解码器,确定所述当前解码时刻的父节点对应的上下文特征向量和隐层状态向量;

通过所述子节点解码器,确定所述当前解码时刻的子节点对应的上下文特征向量和隐层状态向量;

将所述当前解码时刻的父节点对应的上下文特征向量和隐层状态向量,以及所述当前解码时刻的子节点对应的上下文特征向量和隐层状态向量输入至所述关系解码器,获取所述关系解码器输出的所述当前解码时刻的子节点和父节点之间的预测节点关系;

基于所述节点关系,确定所述关系解码器对应的第四损失;

通过所述第四损失训练所述关系解码器,直至所述关系解码器收敛。

第二方面,本申请实施例可以提供一种文档转换方法,包括:

获取目标文档的转换图像;

基于文档转换模型对所述目标文档的转换图像进行处理,获得所述目标文档的目标结构信息;所述文档转换模型包括解码器网络和编码器网络;在训练过程中,所述编码器网络用于从训练文档的转换图像中提取基础单元的视觉特征,所述解码器网络基于所述视觉特征,以及所述基础单元的阅读顺序相关的结构信息进行训练;

基于所述目标结构信息对所述目标文档进行转换,得到转换结果。

第三方面,本申请实施例可以提供一种文档转换模型的训练装置,待训练模型包括编码器网络和解码器网络;所述装置包括:

结构信息确定模块,用于确定训练文档中的基础单元的结构信息;所述结构信息与所述基础单元的阅读顺序相关;

视觉特征提取模块,用于通过所述编码器网络,从所述训练文档的转换图像中提取所述基础单元的视觉特征;

模型训练模块,用于基于所述视觉特征和所述结构信息,训练所述解码器网络,训练结束得到文档转换模型。

第四方面,本申请实施例可以提供一种文档转换装置,包括:

转换图像获取模块,用于获取目标文档的转换图像;

文档处理模块,用于基于文档转换模型对所述目标文档的转换图像进行处理,获得所述目标文档的目标结构信息;所述文档转换模型包括解码器网络和编码器网络;在训练过程中,所述编码器网络用于从训练文档的转换图像中提取基础单元的视觉特征,所述解码器网络基于所述视觉特征以及所述基础单元的阅读顺序相关的结构信息进行训练;

文档转换模块,用于基于所述目标结构信息对所述目标文档进行转换,得到转换结果。

第五方面,本申请实施例可以提供一种电子设备,所述设备包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述文档转换模型的训练方法的任一实现方式,或者,上述文档转换方法。

第六方面,本申请实施例可以提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述文档转换模型的训练方法的任一实现方式,或者,上述文档转换方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

在本申请实施例中,由于基础单元的结构信息与阅读顺序相关,因此,通过编码器网络提取基础单元的视觉特征,再基于视觉特征和结构信息训练解码器网络,即可考虑到文档的多样化结构,使文档转换模型具备阅读文档的能力,解码出正确的阅读顺序,而非单纯按照固定的阅读方式进行处理。以文本划分成多栏的文档为例,通过该文档转换模型可以获得文档的结构信息,而结构信息又与这种多栏文档的阅读顺序相关,因此,可以使该文档转换后符合正确的阅读顺序,从而可以避免多栏文档在转换时出现乱序的问题,满足多栏文本的转换需求,提高复杂场景下的文档转换效果。

附图说明

图1为本申请实施例提供的一种文档转换模型的训练方法的流程图;

图2为本申请实施例提供的一种基础单元的标识信息的示意图;

图3为本申请实施例提供的一种结构树的示意图;

图4为本申请实施例提供的一种基础单元的视觉特征的提取过程的示意图;

图5为本申请实施例提供的一种解码器网络的训练过程的示意图;

图6为本申请实施例提供的一种文档转换方法的流程图;

图7为本申请实施例提供的一种文档转换模型的训练装置的结构示意图;

图8为本申请实施例提供的一种文档转换装置的结构示意图。

具体实施方式

正如前文所述,目前,已有的文档转换方案一般是按照固定的阅读方式进行处理,而没有考虑到文档的多样化结构。具体来说,固定的阅读方式例如是不同页按照页码从小到大的顺序,同一页按照从上到下、从左到右的顺序确定文档内容的解码顺序,并按照该解码顺序进行解码。在这种情况下,对于文本被划分成多栏的文档来说,按照上述阅读方式进行处理,位置相对水平的两栏内容会被从左到右地确定为一行,而获得错误的解码顺序,导致多栏文本之间交错排序,从而导致这种复杂场景下的文档转换效果大幅下降,甚至无法得到正确的电子文档。

为了解决上述问题,本申请实施例提供了一种文档转换模型的训练方法,其中,待训练模型可以包括编码器网络和解码器网络。相应地,该方法可以包括:确定训练文档中的基础单元的结构信息之后,可以通过编码器网络,从训练文档的转换图像中提取基础单元的视觉特征,再基于视觉特征和结构信息,训练解码器网络,训练结束即可得到文档转换模型。

由于基础单元的结构信息与阅读顺序相关,因此,通过编码器网络提取基础单元的视觉特征,再基于视觉特征和结构信息训练解码器网络,即可考虑到文档的多样化结构,使文档转换模型具备阅读文档的能力,解码出正确的阅读顺序,而非单纯按照固定的阅读方式进行处理。以文本划分成多栏的文档为例,通过该文档转换模型可以获得文档的结构信息,而结构信息又与这种多栏文档的阅读顺序相关,因此,可以使该文档转换后符合正确的阅读顺序,从而可以避免多栏文档在转换时出现乱序的问题,满足多栏文本的转换需求,提高复杂场景下的文档转换效果。

需要说明的是,本申请实施例不限定文档转换模型的训练的执行主体,例如,本申请实施例的语音识别方法可以应用于终端设备或服务器等数据处理设备。其中,终端设备可以为智能手机、计算机、个人数字助理(Personal Digital Assistant,PDA)或平板电脑等。服务器可以为独立服务器、集群服务器或云服务器。

为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种文档转换模型的训练方法的流程图。结合图1所示,在本申请实施例提供的文档转换模型的训练方法中,待训练模型可以包括编码器网络和解码器网络。相应地,该方法可以包括:

S1:确定训练文档中的基础单元的结构信息。

训练文档可以指用于训练该待训练模型的文档。相应地,基础单元可以表示训练文档中的基础内容结构,例如是一行文本、一个表格或一个图像等。

结构信息可以与基础单元的阅读顺序相关。在后续解码过程中,阅读顺序可以作为基础单元的解码顺序,从而在利用结构信息训练模型时,可以使模型具备阅读文档的能力,解码出正确的阅读顺序。其中,结构信息可以包括基础单元的标识信息、属性信息以及基础单元之间的关系。

具体来说,基础单元的标识信息可以采用数值的形式来表示基础单元的阅读顺序。为了便于理解,本申请实施例可以结合附图和实施例对基础单元的标识信息进行详细说明。图2为本申请实施例提供的一种基础单元的标识信息的示意图。在图2所示出的多栏文档中,被线框标注出的各行文本即为文档中的基础单元,各个线框旁的数值即为对应的基础单元的标识信息。结合图2所示,该文档被划分成两栏,其阅读顺序可以体现为先阅读文档的名称“xx验真功能优化项目合同”,再按照从左栏到右栏的顺序,从上到下地阅读两栏中的每一行文本。对应于该阅读顺序,文档名称对应的文本行的标识信息可以为1,左栏文本中各个文本行的标识信息从上到下依次为2、3……、19,右栏文本中的各个文本行的标识信息从上到下依次为20、21……、36。

基础单元的属性信息可以包括基础单元的属性和属性优先级。其中,基础单元的属性可以表示出基础单元的文本类别,其具体可以划分为名称、标题、页眉、页脚、表格、图像和文本行七种。为了便于理解,以图2为例,标识信息为1的基础单元的属性为名称,标识信息为2、7、11、16、17、20、25、32的基础单元的属性为标题,标识信息为3、4、5、6等文本的基础单元的属性为文本行。相应地,基础单元的属性优先级可以表示出基础单元的文本类别的等级,其具体可以体现为名称>标题>页眉=页脚=表格=图像=文本行。其中,标题内部的优先级具体可以体现为一级标题>二级标题>三级标题>…>N级标题;文本内部的优先级具体可以体现为文本行首行>文本行其他行,在文本行其他行中,文本行第二行=文本行第三行=…=文本行第n行。其中,n和N均为正整数。为了便于理解,以图2为例,标识信息为1的基础单元的属性为名称,标识信息为2的基础单元的属性为标题,标识信息为3、4的基础单元的属性为文本行。进一步地,由于标识信息为3的基础单元具体是一个段落的文本行首行,标识信息为4的基础单元是该段落的文本行其他行,因此,上述基础单元的属性优先级从大到小依次为标识信息为1的基础单元的属性、标识信息为2的基础单元的属性、标识信息为3的基础单元的属性、标识信息为4的基础单元的属性。

基础单元之间的关系具体可以包括开始关系、结束关系、并列关系和递进关系。其中,开始关系可以体现为阅读顺序为第一个阅读的基础单元与其他基础单元的关系;结束关系可以体现为阅读顺序为最后一个阅读的基础单元与其他基础单元的关系;并列关系可以体现为属性优先级相同的两个基础单元之间的关系;递进关系可以体现为属性优先级相邻且阅读顺序相邻的两个基础单元之间的关系。为了便于理解,以图2为例,标识信息为1的基础单元,其阅读顺序为第一个阅读,因此,该基础单元与其他基础单元之间的关系可以为开始关系;标识信息为36的基础单元,其阅读顺序为最后一个阅读,因此,该基础单元与其他基础单元之间的关系可以为结束关系;标识信息为2的基础单元与标识信息为7的基础单元的属性优先级相同,因此二者之间的关系为并列关系;标识信息为2的基础单元与标识信息为3的基础单元的属性优先级相邻且阅读顺序相邻,因此二者之间的关系为递进关系。

另外,在本申请实施例中,对于结构信息的确定方式,也就是S1的实施方式可不做具体限定,为了便于理解,下面结合一种可能的实施方式进行说明。

在一种可能的实施方式中,S1具体可以包括步骤11-步骤13:

步骤11:从训练文档中提取多个基础单元作为节点。

这里,本申请实施例可以不具体限定基础单元的提取过程,例如,可以先将训练文档进行转换得到训练文档的转换图像,再对转换图像进行处理,从中提取基础单元。需要说明的是,本申请实施例不限定从转换图像中提取基础单元的方式,可以采用现有的或者未来出现的任一种能够从图像中进行基础单元提取的方法进行实施。

步骤12:根据多个节点的节点信息,确定多个节点之间的父子关系。

多个节点可以分为子节点和对应的父节点。具体来说,多个节点可以分别作为子节点,并且,某个子节点也可以作为其他子节点的父节点,由此得到子节点和其对应的父节点之间的节点关系作为父子关系。

节点信息可以包括对应的节点的标识信息和属性信息,该标识信息可以用于以数值的形式表示对应的节点的阅读顺序。需要说明的是,对于节点的标识信息和属性信息的相关内容,可以参见上文基础单元的标识信息和属性信息的相关内容,在此不再赘述。

另外,对于多个节点之间的父子关系的确定过程,也就是步骤12,本申请实施例可不做具体限定。例如,在一种可能的实施方式中,步骤12具体可以包括步骤121-步骤123:

步骤121:以多个节点分别作为子节点,获取多个子节点的标识信息和属性信息。

其中,属性信息包括对应的子节点的属性优先级。需要说明的是,对于子节点的属性优先级的相关内容,可以参见上文基础单元的属性优先级的相关内容,在此不再赘述。

步骤122:基于标识信息和属性信息,从多个节点中确定多个子节点分别对应的父节点。

对于父节点的确定过程,也就是步骤122的实施方式,本申请实施例可以提供多种可能的实施方式,下面举例说明。

作为一种示例,步骤122可以包括:从多个节点中确定待处理的当前子节点的待选父节点;待选父节点的待选标识信息小于当前子节点的当前标识信息,且待选子节点的待选属性优先级大于当前子节点的当前属性优先级;当待选父节点的数量为多个时,从待选子节点中,确定待选标识信息与当前标识信息之差最小的一个作为当前子节点的父节点;当待选父节点的数量为1个时,将待选子节点作为所述当前子节点的父节点;当待选父节点的数量为0个时,将当前子节点的父节点的标识信息置0。为了便于理解,以图2为例,图2中的基础单元分别可以作为子节点。相应地,待处理的当前子节点以标识信息为5的子节点为例,则待选父节点可以包括标识信息为1和2的子节点,进一步地,标识信息2与当前标识信息5之差最小,因此,标识信息为2的子节点可以作为标识信息为5的子节点的父节点。如此,可以精准确定出各个子节点的父节点,从而便于后续得到二者的父子关系。

作为另一种示例,步骤122可以包括:从多个节点中确定待处理的当前子节点的待选父节点;待选父节点的待选标识信息小于当前子节点的当前标识信息,且待选子节点的待选属性优先级大于或等于当前子节点的当前属性优先级;当待选父节点的数量为多个时,从待选子节点中,确定待选标识信息与当前标识信息之差最小的一个作为当前子节点的父节点;当待选父节点的数量为1个时,将待选子节点作为所述当前子节点的父节点;当待选父节点的数量为0个时,将当前子节点的父节点的标识信息置0。为了便于理解,以图2为例,图2中的基础单元分别可以作为子节点。相应地,待处理的当前子节点以标识信息为5的子节点为例,则待选父节点可以包括标识信息为1、2和3的子节点,进一步地,标识信息3与当前标识信息5之差最小,因此,标识信息为3的子节点可以作为标识信息为5的子节点的父节点。对于内容量较大的文档来说,其具有大量的子节点,因此,通过将待选属性优先级的选择拓宽为大于或等于当前属性优先级,可以将等于当前属性优先级的待选子节点作为父节点,从而缩短父节点和子节点之间的距离,降低父节点的查找和确定难度。

需要说明的是,在父节点的确定过程中,不仅可以针对待处理的当前子节点进行操作,同时还可以针对任一子节点或多个子节点进行操作,从而确定多个子节点各自的父节点。为了便于理解针对多个子节点中某一特定的子节点所对应的父节点的确定方式,在本申请实施例中,以待处理的当前子节点为示例做出详细说明。

步骤123:确定多个子节点和对应的父节点之间的节点关系作为父子关系。

需要说明的是,对于节点关系的相关内容,可以参见上文基础单元之间的关系的相关内容,在此不再赘述。

另外,本申请实施例可不具体限定节点关系的确定过程,也就是步骤123的实施方式,为了便于理解,下面结合一种可能的实施方式进行说明。

在一种可能的实施方式中,步骤123具体可以包括:当子节点的标识信息表示子节点的阅读顺序为第一个阅读时,将节点关系确定为开始关系;当子节点的优先级大于对应的父节点的优先级,且对应的父节点的标识信息不为0时,将所述节点关系确定为递进关系;当子节点的优先级等于对应的父节点的优先级时,将节点关系确定为并列关系;当子节点的标识信息表示子节点的阅读顺序为最后一个阅读时,将节点关系确定为结束关系。为了便于理解,以图2为例,并结合上述父节点的确定方式可知,标识信息为1的子节点,可以作为标识信息为2的子节点父节点,由于标识信息为1的子节点的属性优先级大于标识信息为2的子节点的属性优先级,因此,二者之间的节点关系为递进关系。又如,标识信息为2的子节点,可以作为标识信息为7的子节点的父节点,由于标识信息为2的子节点的属性优先级等于标识信息为7的子节点的属性优先级,因此,二者之间的节点关系为并列关系。又如,标识信息为1的子节点的阅读顺序为第一个阅读,因此,标识信息为1的子节点和其父节点之间的节点关系为开始关系。又如,标识信息为36的子节点的阅读顺序为最后一个阅读,因此,标识信息为36的子节点和其父节点之间的节点关系为结束关系。

步骤13:基于多个节点的节点信息和多个节点之间的父子关系,确定结构信息。

节点信息可以包括对应的节点的标识信息和属性信息,属性信息具体可以包括节点的属性以及属性优先级。多个节点之间的父子关系可以表示出子节点和对应的父节点之间的节点关系。鉴于此,在本申请实施例中,结构信息至少可以包括子节点的标识信息、子节点的属性、对应的父节点的标识信息,以及子节点和对应的父节点之间的节点关系。

另外,在本申请实施例中,对于结构信息的表示形式可不具体限定。例如,可以通过四元组的形式表示结构信息,该四元组可以包括[子节点的标识信息,子节点的属性,对应的父节点的标识信息,子节点和对应的父节点之间的节点关系。为了便于理解,以图2为例,标识信息从1到5的基础单元的结构信息可以分别表示为[1,0,名称,开始关系]、[2,1,标题,递进关系]、[3,2,文本行,递进关系]、[4,3,文本行,递进关系]、[5,3,文本行,并列关系]。进一步来说,为了获取整个训练文档的空间结构,便于后续模型的训练,在本申请实施例中,可以直接基于多个节点分别对应的四元组构建结构信息集合,也可以通过结构树的形式将多个节点分别对应的四元组转换为直观、清楚的结构表示。

为了便于理解,本申请实施例可以结合附图和实施例对结构树进行详细说明。图3为本申请实施例提供的一种结构树的示意图。结构树为图2提供的文档所对应的结构树。结合图3所示,各个子节点可以表示为“属性_标识信息”的形式;连接线则可以表示两个子节点之间的父子关系。具体地,沿从左向右的方向来说,左侧的子节点是位于右侧的子节点的父节点,二者之间为递进关系;沿从上到下的方向来说,从同一子节点分叉出的并列的子节点之间的关系为并列关系。举例来说,以该结构树中表示为“标题_2”的子节点为例,通过该结构树,可以确定该子节点的标识信息为2,属性为标题,对应的父节点为其左侧表示为“名称_1”的子节点,并且,表示为“标题_2”的子节点和表示为“名称_1”的子节点之间是递进关系。当表示为“标题_2”的子节点作为父节点时具有两个子节点,分别为其右侧的表示为“文本行_3”子节点以及表示为“文本行_5”的子节点,并且,表示为“标题_2”的子节点,与表示为“文本行_3”的子节点以及表示为“文本行_5”的子节点之间均为递进关系,而表示为“文本行_3”的子节点以及表示为“文本行_5”的子节点之间是并列关系。另外,需要说明的是,本申请实施例对于结构树中各个子节点和对应的父子关系的表示形式可不做具体限定,为了便于理解,此处以图3为例,做出示例性的说明。

基于以上S1的相关内容可知,在本申请实施例中,通过确定训练文档中的基础单元的结构信息,将结构信息与基础单元的阅读顺序相关联,有助于利用该结构信息训练模型时,可以使模型具备阅读文档的能力,解码出正确的阅读顺序,而非单纯按照固定的阅读方式进行处理,从而考虑到文档的多样化结构,满足多栏文本的转换需求,提高复杂场景下的文档转换效果。

S2:通过编码器网络,从训练文档的转换图像中提取基础单元的视觉特征。

在本申请实施例中,不具体限定基础单元的视觉特征的提取过程,也就是S2的实施方式,可以采用现有的或者未来出现的任一种能够通过编码器网络提取基础单元的视觉特征的方法进行实施。进一步地,为了提高模型的鲁棒性,本申请实施例可以提供S2的一种可能的实施方式。为了便于理解,下面可以分别结合实施例和附图对基础单元的视觉特征的提取过程进行说明。

图4为本申请实施例提供的一种基础单元的视觉特征的提取过程的示意图。结合图4所示,编码器网络具体可以包括ResNet-50(一种残差网络)网络和双向GRU(GateRecurrent Unit,门循环单元)网络。相应地,S2具体可以包括步骤21-步骤23:

步骤21:将训练文档的转换图像输入至ResNet-50网络,通过ResNet-50网络提取转换图像的特征图像。

步骤22:利用训练文档中的基础单元的坐标,对特征图像中对应的基础单元的特征进行裁剪,得到基础单元的上下文特征。

对于基础单元的坐标的获取方式,本申请实施例可不做具体限定。例如,可以预先通过OCR(Optical Character Recognition,光学字符识别)技术识别获得基础单元的坐标,或者,可以预先对基础单元的坐标进行标注。

步骤23:按照固定的阅读方式对多个基础单元进行排序。

需要说明的是,实际在模型的测试、应用过程中,并不能获知文档中基本单元的阅读顺序。因此,为了保持训练和测试的一致性,在得到基础单元的上下文特征之后,可以先按照固定的阅读方式对多个基础单元进行排序,并基于排序后的基础单元的上下文特征继续执行后续的操作,以得到基本单元正确的阅读顺序。

对应于此,在训练过程中,可以预先对固定的阅读方式下基础单元的固定顺序和阅读顺序进行映射,以基于排序后的基础单元的映射关系,按照正确的阅读顺序进行解码,而非单纯按照固定的阅读方式进行处理。具体来说,映射关系可以采用映射字典的方式记录。映射字典可以采用(key:value)(一种键值对的表示形式)的形式来表示,其中,key可以表示基础单元的阅读顺序,也就是基础单元的标识信息,value则可以表示在固定的阅读方式下的基础单元的固定顺序。为了便于理解,以图2为例,在固定的阅读方式下,例如是按照不同页按照页码从小到大的顺序,同一页按照从上到下、从左到右的顺序进行阅读,则图2的基础单元的固定顺序依次可以体现为:标识信息为20的基础单元、标识信息为1的基础单元、标识信息为21的基础单元、标识信息为2的基础单元、标识信息为22的基础单元等。而以标识信息为2的基础单元为例,其正确的阅读顺序应为第2个阅读;以表示信息为22的基础单元为例,其正确的阅读顺序为第22个阅读。鉴于此,在映射词典中,标识信息为2的基础单元的映射关系可以表示为(2,4);标识信息为22的基础单元的映射关系可以表示为(22,5)。

步骤24:将排序后的基础单元的上下文特征输入至双向GRU网络,通过双向GRU网络得到排序后的基础特征的视觉特征。

基于以上S2的相关内容可知,在本申请实施例中,通过解码器网络提取基础单元的视觉特征,有助于后续利用视觉特征和上文的结构信息,训练解码器网络,从而考虑到文档的多样化结构,使文档转换模型具备阅读文档的能力,解码出正确的阅读顺序,而非单纯按照固定的阅读方式进行处理。

S3:基于视觉特征和结构信息,训练解码器网络,训练结束得到文档转换模型。

在本申请实施例中,可以不具体限定解码器网络的训练过程,也就是S3的实施方式,可以采用现有的或者未来出现的任一种训练解码器网络的方法进行实施。进一步地,为了提高模型的鲁棒性,本申请实施例可以提供S2的一种可能的实施方式。为了便于理解,下面可以分别结合实施例和附图对基础单元的视觉特征的提取过程进行说明。

图5为本申请实施例提供的一种解码器网络的训练过程的示意图。结合图5所示,解码器网络具体可以包括父节点解码器、子节点解码器和关系解码器。相应地,S3具体可以包括步骤31-步骤33:

步骤31:基于视觉特征和结构信息,分别训练父节点解码器和子节点解码器。

在图5中,父节点解码器包括第一父节点GRU模块、第二父节点GRU模块和父节点注意力模块。在训练过程中,结构信息可以包括当前解码时刻的父节点对应的第一标识信息。相应地,父节点解码器可以通过下述步骤31A1-步骤31A4训练:

步骤31A1:将上一解码时刻的子节点对应的隐层状态向量

为了便于理解,下面以公式1-1的形式表示当前解码时刻的父节点的中间隐层状态向量

其中,

步骤31A2:将视觉特征A输入至父节点解码器,通过父节点解码器获取当前解码时刻的父节点的预测标识信息

结合图5所示,具体来说,步骤31A2具体可以体现为:将视觉特征A和当前解码时刻的父节点的中间隐层状态向量

为了便于理解,下面以公式1-2和1-3的形式表示当前解码时刻的父节点的预测标识信息

其中,

由于

步骤31A3:将当前解码时刻的父节点的中间隐层状态向量

为了便于理解,下面以公式1-4的形式表示当前解码时刻的父节点的隐层状态向量

其中,

步骤31A4:基于第一预测标识信息

在本申请实施例中,第一损失可以通过如下公式1-5表示:

其中,ξ

步骤31A4:通过第一损失ξ

基于上述步骤31A1-步骤31A4的相关内容可知,在本申请实施例中,通过对父节点解码器不断训练,可以使父节点解码器输出准确的父节点的标识信息,从而实现解码器的部分训练,提高解码器的效果。

在图5中,子节点解码器包括第一子节点GRU模块、第二子节点GRU模块和第二注意力模块。在训练过程中,结构信息可以包括当前解码时刻的子节点对应的第二标识信息和属性。相应地,子节点解码器可以通过下述步骤31B1-步骤31B7训练:

步骤31B1:将当前解码时刻的父节点对应的隐层状态向量

为了便于理解,下面以公式2-1的形式表示当前解码时刻的子节点的中间隐层状态向量

其中,

需要说明的是,由于父节点实质是历史时刻通过子节点解码器确定的子节点,因此,上述当前解码时刻的父节点对应的属性

步骤31B2:将视觉特征A输入至子节点解码器,通过子节点解码器获取当前解码时刻的子节点的预测标识信息

结合图5所示,具体来说,步骤31B2具体可以体现为:将视觉特征A和当前解码时刻的子节点的中间隐层状态向量

为了便于理解,下面以公式2-2和2-3的形式表示当前解码时刻的子节点的预测标识信息

其中,

由于

步骤31B3:将当前解码时刻的子节点的中间隐层状态向量

为了便于理解,下面以公式2-4的形式表示当前解码时刻的子节点的隐层状态向量

其中,

步骤31B4:基于当前解码时刻的子节点的隐层状态向量

为了便于理解,下面以公式2-5的形式表示当前解码时刻的子节点的预测属性

其中,

步骤31B5:基于第二预测标识信息

在本申请实施例中,第二损失ξ

其中,ξ

步骤31B6:基于当前解码时刻的子节点的属性

在本申请实施例中,第三损失ξ

其中,ξ

步骤31B7:通过第二损失ξ

基于上述步骤31B1-步骤31B7的相关内容可知,在本申请实施例中,通过对子节点解码器不断训练,可以使子节点解码器输出准确的子节点的标识信息和属性,从而实现解码器的部分训练,提高解码器的效果。

步骤32:基于父节点解码器和子节点解码器训练关系解码器。

在训练过程中,结构信息可以包括当前解码时刻的父节点对应的第一标识信息。在训练过程中,结构信息可以包括当前解码时刻的子节点和父节点之间的节点关系。相应地,关系解码器的训练过程,也就是步骤32,具体可以包括步骤321-步骤325:

步骤321:通过父节点解码器,确定当前解码时刻的父节点对应的上下文特征向量

步骤322:通过子节点解码器,确定当前解码时刻的子节点对应的上下文特征向量

步骤323:将当前解码时刻的父节点对应的上下文特征向量

为了便于理解,下面以公式3-1的形式表示当前解码时刻的子节点和父节点之间的预测节点关系

其中,

步骤324:基于节点关系v

在本申请实施例中,第四损失ξ

ξ

其中,ξ

步骤325:通过第四损失ξ

基于上述步骤321-步骤325的相关内容可知,在本申请实施例中,通过对关系解码器不断训练,可以使关系解码器输出准确的子节点和对应的父节点之间的节点关系,从而实现解码器的部分训练,提高解码器的效果。

需要说明的是,t可以表示第t时刻,t-1用于表示第t-1时刻。在本申请实施例中,为了便于理解,上述任一公式所涉及的t用于表示当前时刻,相应地,t-1用于表示上一时刻。

步骤33:通过训练结束的父节点解码器、子节点解码器和关系解码器,确定文档转换模型。

在本申请实施例中,对于文档转换模型的确定方式可不具体限定,例如,可以直接将训练结束的父节点解码器、子节点解码器和关系解码器进行拼接而得到文档转换模型。

另外,为了得到预测效果准确的文档转换模型,对于文档转换模型的确定过程,也就是步骤33,本申请实施例还可以提供一种可能的实施方式。具体来说,步骤33具体可以包括:基于第一损失、第二损失、第三损失和第四损失,确定所述解码器网络对应的综合损失;通过综合损失训练解码器网络,直至解码器网络收敛,得到文挡转换模型。如此,基于上述训练结束的解码器网络,再进一步确定综合损失,并通过综合损失训练解码器网络,从而可以得到效果准确的文档转换模型。

在本申请实施例中,综合损失可以通过如下公式4-1、4-2表示:

Loss=λ

λ

其中,Loss为综合损失,λ

综合以上S1-S3的相关内容可知,在本申请实施例中,由于基础单元的结构信息与阅读顺序相关,因此,通过编码器网络提取基础单元的视觉特征,再基于视觉特征和结构信息训练解码器网络,即可考虑到文档的多样化结构,使文档转换模型具备阅读文档的能力,解码出正确的阅读顺序,而非单纯按照固定的阅读方式进行处理。以文本划分成多栏的文档为例,通过该文档转换模型可以获得文档的结构信息,而结构信息又与这种多栏文档的阅读顺序相关,因此,可以使该文档转换后符合正确的阅读顺序,从而可以避免多栏文档在转换时出现乱序的问题,满足多栏文本的转换需求,提高复杂场景下的文档转换效果。

基于上述文档转换模型的训练方法的相关内容,本申请实施例还可以提供一种文档转换方法,下面分别结合实施例和附图对该文档转换方法进行说明。

图6为本申请实施例提供的一种文档转换方法的流程图。结合图6所示,本申请实施例提供的文档转换方法,可以包括:

S4:获取目标文档的转换图像。

例如,目标文档为纸质文档时,可以通过对目标文档进行拍照,而获得目标文档的转换图像。又如,目标文档为PDF(Portable Document Format,便携式文档格式)格式的文档时,可以直接将该目标文档转换为图像。其中,对于PDF格式的文档转换为图像的方式,本申请实施例可不具体限定,例如,可以使用现有的或者未来出现的任一种PDF格式文档转换为图像的方法进行转换。

S5:基于文档转换模型对目标文档的转换图像进行处理,获得目标文档的目标结构信息。

其中,文档转换模型可以基于上述文档转换模型的训练方法的任一实施方式得到。具体来说,文档转换模型可以包括解码器网络和编码器网络。在训练过程中,编码器网络可以用于从训练文档的转换图像中提取基础单元的视觉特征,解码器网络可以基于视觉特征以及基础单元的阅读顺序相关的结构信息进行训练。

另外,对于目标文档的转换图像的处理过程,也就是S5的实施方式,可不做具体限定,为了便于理解,下面结合一种可能的实施方式进行说明。

在一种可能的实施方式中,S5具体可以包括:将目标文档的转换图像输入至文档转换模型中的编码器网络,获取编码器网络输出的目标文档中的目标基础单元的目标视觉特征;将目标视觉特征输入至文档转换模型中的解码器网络,获取解码器网络输出的目标基础单元的目标结构信息。需要说明的是,对于S5的相关内容,可以参见上述实施例中S2和S3所做的介绍,在此不再赘述。

S6:基于目标结构信息对目标文档进行转换,得到转换结果。

在本申请实施例中,得到目标结构信息之后,可以基于该目标结构信息和预先确定的目标文档的目标内容进行转换。另外,对于目标内容的获取方式,本申请实施例可不具体限定,可以采用现有的或者未来出现的任一种能够从目标文档的转换图像中提取目标内容的方法进行实施。例如,可以采用OCR技术检测识别出目标内容。

基于以上S4-S6的相关内容可知,在本申请实施例中,获取目标文档的转换图像之后,即可利用文档转换模型对该转换图像进行处理,而获得目标文档的目标结构信息,从而便于后续基于目标结构信息对目标文档进行转换。具体来说,目标文档以文本划分成多栏的文档为例,通过该文档转换模型可以获得目标结构信息,而目标结构信息又与目标文档的阅读顺序相关,因此,可以使该目标文档转换后符合正确的阅读顺序,从而可以避免多栏文档在转换时出现乱序的问题,满足多栏文本的转换需求,提高复杂场景下的文档转换效果。

另外,本申请实施例不限定文档转换方法的执行主体,例如,本申请实施例提供的文档转换方法可以应用于终端设备或服务器等数据处理设备。其中,终端设备可以为智能手机、计算机、个人数字助理(Personal Digital Assistant,PDA)或平板电脑等。服务器可以为独立服务器、集群服务器或云服务器。

基于上述实施例提供的文档转换模型的训练方法,本申请实施例还提供了一种文档转换模型的训练装置。下面分别结合实施例和附图,对该文档转换模型的训练装置进行描述。

图7为本申请实施例提供的一种文档转换模型的训练装置的结构示意图。结合图7所示,本申请实施例提供的文档转换模型的训练装置700,可以包括:

结构信息确定模块701,用于确定训练文档中的基础单元的结构信息;结构信息与基础单元的阅读顺序相关;

视觉特征提取模块702,用于通过编码器网络,从训练文档的转换图像中提取基础单元的视觉特征;

模型训练模块703,用于基于视觉特征和结构信息,训练解码器网络,训练结束得到文档转换模型。

在一种可能的实施方式中,结构信息确定模块701,具体可以包括:

节点提取单元,用于从训练文档中提取多个基础单元作为节点;

父子关系确定单元,用于根据多个节点的节点信息,确定多个节点之间的父子关系;

结构信息确定子单元,用于基于多个节点的节点信息和多个节点之间的父子关系,确定结构信息。

在一种可能的实施方式中,节点信息可以包括对应的节点的标识信息和属性信息;标识信息可以用于以数值的形式表示对应的节点的阅读顺序。相应地,父子关系确定单元,具体可以包括:

节点信息获取单元,用于以多个节点分别作为子节点,获取多个子节点的标识信息和属性信息;

父节点确定单元,用于基于标识信息和属性信息,从多个节点中确定多个子节点分别对应的父节点;

父子关系确定子单元,用于确定多个子节点和对应的父节点之间的节点关系作为父子关系。

在一种可能的实施方式中,属性信息可以包括对应的子节点的属性优先级。相应地,父节点确定单元,具体可以包括:

待选父节点确定单元,用于从多个节点中确定待处理的当前子节点的待选父节点;待选父节点的待选标识信息小于当前子节点的当前标识信息,且待选子节点的待选属性优先级大于或等于当前子节点的当前属性优先级;

第一父节点确定模块,用于当待选父节点的数量为多个时,从待选子节点中,确定待选标识信息与当前标识信息之差最小的一个作为当前子节点的父节点;

第二父节点确定模块,用于当待选父节点的数量为1个时,将待选子节点作为当前子节点的父节点;

第三父节点确定模块,用于当待选父节点的数量为0个时,将当前子节点的父节点的标识信息置0。

在一种可能的实施方式中,父子关系确定子单元,具体可以包括:

开始关系确定模块,用于当子节点的标识信息表示子节点的阅读顺序为第一个阅读时,将节点关系确定为开始关系;

递进关系确定模块,用于当子节点的优先级大于对应的父节点的优先级,且对应的父节点的标识信息不为0时,将节点关系确定为递进关系;

并列关系确定模块,用于当子节点的优先级等于对应的父节点的优先级时,将节点关系确定为并列关系;

结束关系确定模块,用于当子节点的标识信息表示子节点的阅读顺序为最后一个阅读时,将节点关系确定为结束关系。

在一种可能的实施方式中,解码器网络可以包括父节点解码器、子节点解码器和关系解码器。相应地,模型训练模块703,具体可以包括:

父子节点解码器训练模块,用于基于视觉特征和结构信息,分别训练父节点解码器和子节点解码器;

关系解码器训练模块,用于基于父节点解码器和子节点解码器训练关系解码器;

文档转换模型确定模块,用于通过训练结束的父节点解码器、子节点解码器和关系解码器,确定文档转换模型。

在一种可能的实施方式中,在训练过程中,结构信息可以包括当前解码时刻的父节点对应的第一标识信息。相应地,父节点解码器可以通过如下模块训练:

第一信息获取模块,用于将视觉特征输入至父节点解码器,通过父节点解码器获取当前解码时刻的父节点的预测标识信息作为第一预测标识信息;

第一损失确定模块,用于基于第一预测标识信息和第一标识信息,确定父节点解码器对应的第一损失;

父节点解码器训练模块,用于通过第一损失训练父节点解码器,直至父节点解码器收敛。

在一种可能的实施方式中,在训练过程中,结构信息可以包括当前解码时刻的子节点对应的第二标识信息和属性。相应地,子节点解码器可以通过如下模块训练:

第二信息获取模块,用于将视觉特征输入至子节点解码器,通过子节点解码器获取当前解码时刻的子节点的预测标识信息作为第二预测标识信息,并获取当前解码时刻的子节点的预测属性;

第二第三损失确定模块,用于基于第二预测标识信息和第二标识信息,确定子节点解码器对应的第二损失,并基于属性确定子节点解码器对应的第三损失;

子节点解码器训练模块,用于通过第二损失和第三损失训练子节点解码器,直至子节点解码器收敛。

在一种可能的实施方式中,在训练过程中,结构信息可以包括当前解码时刻的子节点和父节点之间的节点关系。相应地,关系解码器训练模块,具体可以包括:

父节点向量获取模块,用于通过父节点解码器,确定当前解码时刻的父节点对应的上下文特征向量和隐层状态向量;

子节点向量获取模块,用于通过子节点解码器,确定当前解码时刻的子节点对应的上下文特征向量和隐层状态向量;

第三信息获取模块,用于将当前解码时刻的父节点对应的上下文特征向量和隐层状态向量,以及当前解码时刻的子节点对应的上下文特征向量和隐层状态向量输入至关系解码器,获取关系解码器输出的当前解码时刻的子节点和父节点之间的预测节点关系;

第四损失确定模块,用于基于节点关系,确定关系解码器对应的第四损失;

关系解码器训练模块,用于通过第四损失训练关系解码器,直至关系解码器收敛。

基于上述实施例提供的文档转换方法,本申请实施例还提供了一种文档转换装置。下面分别结合实施例和附图,对该文档转换装置进行描述。

图8为本申请实施例提供的一种文档转换装置的结构示意图。结合图8所示,本申请实施例提供的文档转换装置800,可以包括:

转换图像获取模块801,用于获取目标文档的转换图像;

文档处理模块802,用于基于文档转换模型对目标文档的转换图像进行处理,获得目标文档的目标结构信息;文档转换模型包括解码器网络和编码器网络;在训练过程中,编码器网络用于从训练文档的转换图像中提取基础单元的视觉特征,解码器网络基于视觉特征以及基础单元的阅读顺序相关的结构信息进行训练;

文档转换模块803,用于基于目标结构信息对目标文档进行转换,得到转换结果。

进一步地,本申请实施例还提供了一种电子设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述文档转换模型的训练方法的任一种实现方式,或者,上述文档转换方法的任一种实现方式。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述文档转换模型的训练方法的任一种实现方式,或者,上述文档转换方法的任一种实现方式。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 文档转换方法、文档转换器、以及文档显示系统
  • 文档格式转换装置和文档格式转换方法
技术分类

06120115575918