样本生成方法、文档理解模型的训练方法和文档理解方法与流程

文档序号:33647767发布日期:2023-03-29 05:29阅读:19来源:国知局
样本生成方法、文档理解模型的训练方法和文档理解方法与流程

1.本公开涉及人工智能领域,具体涉及图像处理、计算机视觉和深度学习等技术领域,可应用于ocr等场景。


背景技术:

2.随着计算机技术和网络技术的发展,深度学习技术在众多领域得到了广泛应用。例如,可以采用深度学习技术来对文档图像进行文档理解,以识别得到文档所涉及的实体、文档的类别等。例如还可以融合多种模态的信息进行文档理解,以期提高文档理解效果。


技术实现要素:

3.本公开旨在提供一种样本生成方法、文档理解模型的训练方法和文档理解方法、装置、设备和介质,以提高文档理解精度及模型鲁棒性。
4.根据本公开的一个方面,提供了一种样本生成方法,包括:对文档样本图像进行文本检测,得到与文档样本图像中的至少两个文本片段对应的至少两组检测结果,每组检测结果包括文本框的位置信息以及文本框中的文本片段;根据至少两组检测结果中文本框的位置信息,对至少两组检测结果进行排序,得到检测结果序列;对检测结果序列中至少一组检测结果包括的位置信息进行随机扰动,得到扰动后检测结果序列;以及根据扰动后检测结果序列,生成训练样本。
5.根据本公开的另一个方面,提供了一种文档理解模型的训练方法,包括:根据训练样本,得到输入特征;将输入特征输入文档理解模型,得到针对训练样本的预测理解结果;以及根据预测理解结果,对文档理解模型进行训练,其中,训练样本是采用本公开提供的样本生成方法生成的。
6.根据本公开的另一个方面,提供了一种文档理解方法,包括:对文档图像进行文本检测,得到与文档图像中的至少两个文本片段对应的至少两组检测结果,每组检测结果包括文本框的位置信息以及文本框中的文本片段;根据至少两组检测结果中文本框的位置信息,对至少两组检测结果进行排序,得到检测结果序列;根据检测结果序列,得到输入特征;以及将输入特征输入文档理解模型,得到针对文档图像的理解结果,其中,文档理解模型是采用本公开提供的文档理解模型的训练方法训练得到的。
7.根据本公开的另一个方面,提供了一种样本生成装置,包括:文本检测模块,用于对文档样本图像进行文本检测,得到与文档样本图像中的至少两个文本片段对应的至少两组检测结果,每组检测结果包括文本框的位置信息以及文本框中的文本片段;排序模块,用于根据至少两组检测结果中文本框的位置信息,对至少两组检测结果进行排序,得到检测结果序列;位置扰动模块,用于对检测结果序列中至少一组检测结果包括的位置信息进行随机扰动,得到扰动后检测结果序列;以及样本生成模块,用于根据扰动后检测结果序列,生成训练样本。
8.根据本公开的另一个方面,提供了一种文档理解模型的训练装置,包括:特征获得
模块,用于根据训练样本,得到输入特征;理解结果预测模块,用于将输入特征输入文档理解模型,得到针对训练样本的预测理解结果;以及模型训练模块,用于根据预测理解结果,对文档理解模型进行训练,其中,训练样本是采用本公开提供的样本生成装置生成的。
9.根据本公开的另一个方面,提供了一种文档理解装置,包括:文本检测模块,用于对文档图像进行文本检测,得到与文档图像中的至少两个文本片段对应的至少两组检测结果,每组检测结果包括文本框的位置信息以及文本框中的文本片段;排序模块,用于根据至少两组检测结果中文本框的位置信息,对至少两组检测结果进行排序,得到检测结果序列;特征获得模块,用于根据检测结果序列,得到输入特征;以及文档理解模块,用于将输入特征输入文档理解模型,得到针对文档图像的理解结果,其中,文档理解模型是采用本公开提供的文档理解模型的训练装置训练得到的。
10.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的以下方法中的至少之一:样本生成方法、文档理解模型的训练方法和文档理解方法。
11.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的以下方法中的至少之一:样本生成方法、文档理解模型的训练方法和文档理解方法。
12.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令存储于可读存储介质和电子设备其中至少之一上,所述计算机程序/指令在被处理器执行时实现本公开提供的以下方法中的至少之一:样本生成方法、文档理解模型的训练方法和文档理解方法。
13.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
14.附图用于更好地理解本方案,不构成对本公开的限定。其中:
15.图1是根据本公开实施例的样本生成方法、文档理解模型的训练方法和文档理解方法、装置的应用场景示意图;
16.图2是根据本公开实施例的样本生成方法的流程示意图;
17.图3是根据本公开实施例的对检测结果进行排序的原理示意图;
18.图4是根据本公开实施例的生成训练样本的原理示意图;
19.图5是根本公开实施例的文档理解模型的训练方法的流程示意图;
20.图6是根据本公开实施例的文档理解方法的流程示意图;
21.图7是根据本公开实施例的样本生成装置的结构框图;
22.图8是根据本公开实施例的文档理解模型的训练装置的结构框图;
23.图9是根据本公开实施例的文档理解装置的结构框图;以及
24.图10是用来实施本公开实施例的方法的电子设备的框图。
具体实施方式
25.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
26.对文档图像中的文档进行理解是文档结构化领域中的一个常见任务。通过文档理解可以为基于文档图像的视觉问答提供基础。文档理解例如可以包括语义实体识别(semantic entity recognition,ser)任务和关系抽取(relation extraction)任务,还可以包括文档分类任务,也可以理解为是对文档图像进行分类的任务。其中,ser任务还可以用于对从文档图像中识别出的文本进行片段进行分类,一般用于提取文档图像中的关键信息字段。re任务用于对识别得到的文档图像中的内容进行关系的抽取,一般用于提取文档图像中文本内容的关系对(例如文档图像中的“姓名”、“张三”,会被识别为关系对)。
27.根据本公开的实施例,可以采用文档理解模型来执行文档理解任务(例如可以是执行文档理解包括的多个任务中的任意一个任务)。为了提高理解精度,文档理解模型例如可以采用:用于理解文档图像的文本和布局的预训练模型(pre-training of text and layout for document image understanding,layoutlm)、用于视觉丰富的文档理解的多模态预训练模型(multi-modal pre-training for visually-rich document understanding,layoutlmv2)等,本公开对此不做限定。
28.在采用文档理解模型进行文档理解时,作为模型输入的多个文本框的位置信息通常是无序排列的,或者通常是根据经验排列的。在模型的训练阶段中,为了增加样本量,通常会对文本框的位置信息进行随机扰动,若采用无序排列或者根据经验排列多个文本框的位置信息,会存在根据同一文档图像生成的多个样本中,文本框的排列顺序会发生变化的情形。如此,在根据样本训练文档理解模型时,会存在因位置信息的偏差而带来精度的损失的情况,且往往会导致模型的训练阶段和预测阶段中,文本框的排列顺序无法保持一致的情况。这无疑是不利于文档理解的精度的。
29.基于此,本公开提供了一种样本生成方法、文档理解模型的训练方法和文档理解方法,以期提高提高文档理解的精度及模型的鲁棒性。以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
30.图1是根据本公开实施例的样本生成方法、文档理解模型的训练方法和文档理解方法、装置的应用场景示意图。
31.如图1所示,该实施例的应用场景100可以包括电子设备110,该电子设备110可以为具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。
32.该电子设备110例如可以对文档图像120进行光学字符识别(optical character recognition,ocr)和文档理解,得到理解结果130。其中,文档理解可以是指对文档图像中文档包括的实体进行识别,则理解结果130可以包括识别得到的实体及实体的类别等。文档理解也可以指对文档图像中的文档进行分类,即对文档图像进行分类,则理解结果130可以为文档图像的类别。可以理解的是,针对文档理解所包括的不同任务,可以得到不同的理解结果,本公开对该任务和理解结果的具体内容不做限定。
33.根据本公开的实施例,电子设备110例如可以采用文档理解模型140来对文档图像120进行文档理解,文档理解模型140的输入可以是根据ocr识别结果得到的。该文档理解模型140可以为上文描述的layoutlm等,本公开对此不做限定。
34.在一实施例中,如图1所示,该应用场景100中还可以包括服务器150,该服务器150例如可以为支持电子设备110中客户端应用运行的后台管理服务器。电子设备110可以通过网络与服务器150通信连接,网络可以包括有线或无线通信链路。
35.例如,服务器150可以基于训练样本对文档理解模型的初始模型进行训练,并响应于电子设备110发送的获取请求,将训练得到的文档理解模型140发送给电子设备110。其中,训练样本例如可以是服务器150根据具有标注的文档图像生成的。文档图像的标注可以指示真实的理解结果,通过真实的理解结果与文档理解模型输出的预测的理解结果之间的差异,来对文档理解模型的初始模型进行训练。
36.在一实施例中,电子设备110例如还可以将文档图像120发送给服务器150,由服务器150对文档图像120进行光学字符识别并采用文档理解模型140进行文档理解,得到理解结果130。
37.需要说明的是,本公开提供的样本生成方法可以由服务器150执行,也可以由与服务器150通信连接的其他服务器执行;本公开提供的文档理解模型的训练方法可以由服务器150执行,本公开提供的文档理解方法可以由电子设备110执行,也可以由服务器150执行。相应地,本公开提供的样本生成装置可以设置于服务器150中,也可以设置于与服务器150通信连接的其他服务器中;本公开提供的文档理解模型的训练装置可以设置于服务器150中,本公开提供的文档理解装置可以设置于电子设备110中,也可以设置于服务器150中。
38.应该理解,图1中的电子设备110和服务器150的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的电子设备110和服务器150。
39.以下将结合图2~图4对本公开提供的样本生成方法进行详细描述。
40.图2是根据本公开实施例的样本生成方法的流程示意图。
41.如图2所示,该实施例的样本生成方法200可以包括操作s210~操作s240。
42.在操作s210,对文档样本图像进行文本检测,得到与文档样本图像中的至少两个文本片段对应的至少两组检测结果。
43.根据本公开的实施例,可以通过ocr来实现对文档样本图像中文本的检测,检测得到文档样本图像中的各文本片段和各文本片段的位置,其中,文本片段例如可以由其包括的文字来表示。文本片段的位置可以由包括该文本片段的文本框的位置信息来表示。例如文本片段的位置可以包括文本框左上角的顶点在基于文档样本图像构建的图像坐标系中的坐标值、文本框的高度和宽度。或者,文本片段的位置也可以包括文本框左上角的顶点和右下角的顶点在图像坐标系中的坐标值。
44.该实施例可以将一个文本片段及与该一个文本片段对应的文本框的位置信息组成一组检测结果,对于包括至少两个文本片段的文档样本图像,通过检测可以得到至少两组检测结果。
45.其中,文档样本图像可以为上文描述的具有标注的文档图像,在实体识别任务中,文档图像具有的标注可以为文档图像中的文本片段提及的实体。在文档分类任务中,文档
图像具有的标注可以为文档图像的类别。文档图像具有的标注可以通过人工标注得到。
46.在操作s220,根据至少两组检测结果中文本框的位置信息,对至少两组检测结果进行排序,得到检测结果序列。
47.根据本公开的实施例,可以依据文本框的位置先自上至下、再自左至右的排列顺序,对至少两个文本框所属的至少两组检测结果进行排序。或者,可以依据文本框的位置自左至右、再自上至下的排列顺序,对至少两个文本框所属的至少两组检测结果进行排序。
48.在一实施例中,可以针对至少两个文本框确定两个彼此垂直的方向上的切分线。随后根据切分线再对文本框进行先自上至下、再自左至右,或者先自左至右、再自上至下的排序,从而得到至少两组加你侧结果的排序结果。其中,两个彼此垂直的方向可以为文档样本图像的宽度方向和高度方向。
49.在一实施例中,还可以先确定至少两个文本框中在第一方向/第二方向上位于同一行的文本框,随后再逐行地根据位于同一行的文本框在第二方向/第一方向的排列顺序,来对至少两个文本框进行排序。
50.在操作s230,对检测结果序列中至少一组检测结果包括的位置信息进行随机扰动,得到扰动后检测结果序列。
51.可以理解的是,在完成对至少两组检测结果的排序后,再对检测结果中的文本框的位置信息进行扰动。如此,可以使得该扰动不会影响至少两组检测结果的排序。
52.例如,设定某一组检测结果中文本框的位置信息包括左上角顶点的坐标值(x1,y1),该实施例可以通过将x1增加或减少扰动值δx,并且/或者将y1增加或减少扰动值δy,来实现对文本框的位置信息的随机扰动。可以理解的是,扰动值δx、δy可以是随机生成的。随机扰动的结果为改变了检测结果序列中至少一组检测结果包括的位置信息,但未改变检测结果序列中至少两组检测结果的排列顺序。
53.在操作s240,根据扰动后检测结果序列,生成训练样本。
54.根据本公开的实施例,可以将文档样本图像的标注添加为扰动后检测结果序列的标注,从而得到训练样本。标注的信息可以作为训练样本的真值信息,即文档样本图像中文档的真值理解结果。
55.本公开实施例通过先对检测结果进行排序,得到检测结果序列;随后再对检测结果序列中的位置进行随机扰动,可以保证扰动后检测结果序列中文本片段的排列顺序与扰动前检测结果序列中文本片段的排列顺序之间的一致性。如此可以避免随机扰动对文本片段排序的影响,使得扰动后检测结果序列中文本片段的排列顺序更为贴合文档的语义。从而可以使得文档理解模型更为准确地学习到文档的语义,利于提高文档理解模型预测得到的理解结果的精度。再者通过添加随机扰动来生成训练样本,可以提高模型的训练样本的数量及多样性,利于提高训练得到的文档理解模型的鲁棒性。
56.图3是根据本公开实施例的对检测结果进行排序的原理示意图。
57.根据本公开的实施例,文本框的位置信息例如可以包括第一方向上的第一位置和第二方向上的第二位置,该第一方向和第二方向彼此垂直。
58.例如,如图3所示,可以基于文档样本图像构建图像坐标系x-o-y,该图像坐标系的原点o可以位于文档样本图像的左上角的顶点,x轴和y轴可以分别与文档样本图像的宽度和高度平行。在该实施例中,第一方向可以为y轴的延伸方向,第二方向可以为x轴的延伸方
向。或者,第一方向可以为x轴的延伸方向,第二方向可以为y轴的延伸方向。
59.根据本公开的实施例,在对至少两组检测结果进行排序时,例如可以先根据至少两组检测结果中包括的至少两个文本框在第一方向上的第一位置,确定至少两个文本框中位于同一行的文本框,行的延伸方向可以为第二方向,得到至少一行文本框。随后,对于每行文本框,可以根据该每行文本框中文本框在第二方向上的第二位置,对该每行文本框中的文本框进行排序。最后,根据至少一行文本框在第一方向上的排列顺序,以及每行文本框中的文本框在第二方向上的排列顺序,对至少两组检测结果进行排序,从而得到检测结果序列。
60.例如,在得到至少一行文本框的排列顺序后,可以根据该排列顺序逐行地依据每行文本框在第二方向上的排列顺序对至少两组检测结果进行排序。可以理解的是,至少两组检测结果的排列顺序与其包括的至少两个文本框的排列顺序一致。
61.例如,如图3所示,通过对文档样本图像进行识别,实施例300例如可以得到与六个文本片段对应的六个文本框,即文本框301~文本框306。设定第一方向沿y轴方向延伸,该实施例可以先确定文本框301和文本框302位于同一行,文本框303和文本框304位于同一行。该文本框301~文本框306可以总计归类为四行文本框。第一行文本框包括文本框301和文本框302,第二行文本框包括文本框303和文本框304,第三行文本框包括文本框305,第四行文本框包括文本框306。在排序时,可以对第一行文本框~第四行文本框逐行地进行排列,对于第一行文本框中包括的文本框301和文本框302,根据第二方向上的位置确定的排列顺序为文本框301、文本框302。类似地,对于第二行文本框中包括的文本框303和文本框304,根据第二方向上的位置确定的排列顺序为文本框303、文本框304。最终得到的六个文本框的排列顺序为:文本框301、文本框302、文本框303、文本框304、文本框305和文本框306。
62.根据本公开的实施例,在确定至少两个文本框中位于同一行的文本框时,例如可以根据至少两个文本框彼此在第一位置上的重叠比例来确定。例如,确定在第一方向上位置的重叠比例大于预定比例的两个文本框为位于同一行的文本框。设定文本框301在第一方向上的第一位置为(1,5),文本框302在第二方向上的第一位置为(2,6),则第一方向位置的重叠部分为(2,5),重叠比例为(5-2)/(5-1)*100%=75%,该75%大于预定比例60%,则可以确定文本框301和文本框302位于同一行。可以理解的是,上述预定比例的取值、第一位置和第二位置仅作为示例以利于理解本公开,本公开对此不做限定。
63.根据本公开的实施例,考虑到文本片段在第一方向上占据的范围大小通常是在一定范围内变动的,例如,文本片段的高度通常为2个单位高度,单位高度可以为y轴的单位长度。该实施例还可以根据至少两个文本框彼此在第一位置上的重叠量来确定位于同一行的文本框。例如,确定在第一方向上位置的重叠量大于预定值的两个文本框为位于同一行的文本框。设定文本框301在第一方向上的第一位置为(1,5),文本框302在第二方向上的第一位置为(2,5),则第一方向位置的重叠部分为(2,6),重叠量为(5-2)=3,该3大于预定值2,则可以确定文本框301和文本框302位于同一行。可以理解的是,上述预定值的取值仅作为示例以利于理解本公开,本公开对此不做限定。
64.根据本公开的实施例,还可以根据两个文本框彼此之间在第一方向上的第一位置的交并比来确定两个文本框是否位于同一行。例如,若两个文本框在第一方向上的第一位
置的交并比大于预定阈值,则可以确定该两个文本框为位于同一行的文本框。例如,设定文本框301在第一方向上的第一位置为(1,5),文本框302在第二方向上的第一位置为(2,6),则第一方向位置的交集为(2,5),并集为(1,6),交并比为(5-2)/(6-1)=0.6,该0.6大于预定阈值0.5,则可以确定文本框301和文本框302位于同一行。可以理解的是,上述预定阈值的取值仅作为示例以利于理解本公开,本公开对此不做限定。通过根据交并比来确定是否位于同一行,可以在一定程度上避免因单个文本框在第一方向上的长度较大而导致的判定结果不准确的情况,并因此提高确定的位于同一行的文本框的准确度,利于提高生成的训练样本的有效性。
65.图4是根据本公开实施例的生成训练样本的原理示意图。
66.如图4所示,该实施例400在生成训练样本时,可以先通过ocr获得文档样本图像410中包括的至少两个文本片段430和分别包围至少两个文本片段的至少两个文本框的位置信息420。至少两个文本框的位置信息可以体现文档中至少两个文本片段的布局信息。
67.在文档理解模型为多模态(包括文本模态、位置模态和图像模态)模型时,在得到位置信息420后,还可以根据每个文本框的位置信息对文档样本图像410进行裁剪,从而得到与每个文本框所属检测结果中的文本片段对应的文本图像,得到至少两个文本图像440。例如,对于6个文本片段,可以裁剪得到6个文本图像。随后,该实施例可以将每个文本图像添加至检测结果序列中其所对应的文本片段处,得到训练样本450。例如,可以将至少两个文本图像分别添加至检测结果序列中的至少两个检测结果处,将添加了文本图像的检测结果序列作为训练样本450。例如,对于文档样本图像410中的文本片段“xxx”,可以将文本片段“xxx”、包围该文本片段“xxx”的文本框的位置信息和对应该文本片段的文本图像作为训练样本450中的一个元素。针对6个文本片段,可以得到6个元素,该6个元素依次排列构成训练样本450,训练样本450中元素的排列顺序与检测结果序列中文本片段的排列顺序一致。
68.该实施例还可以对至少两个文本框中至少一个文本框的位置信息进行随机扰动,得到扰动后的至少两个文本框的位置信息460。随后,将至少两个文本图像440分别添加至扰动后检测结果序列中至少两个文本图像分别对应的文本片段处,得到扰动训练样本470。例如,对于文档样本图像410中的文本片段“xxx”,可以将文本片段“xxx”、包围该文本片段“xxx”的文本框的扰动后的位置信息和对应该文本片段的文本图像作为扰动训练样本470中的一个元素。针对6个文本片段,可以得到6个元素,该6个元素依次排列构成扰动训练样本470,扰动训练样本4750中元素的排列顺序与检测结果序列中文本片段的排列顺序一致。
69.可以理解的是,训练样本450和扰动训练样本470均可以作为训练样本参与到文档理解模型的训练中。该实施例还可以根据文档样本图像的标注为训练样本450和/或扰动训练样本470添加标注,以指示文档样本图像中文档的真值理解结果。
70.基于本公开提供的样本生成方法,本公开还提供了一种文档理解模型的训练方法,具体可以将样本生成方法生成的训练样本作为文档理解模型的训练样本。以下将结合图5进行详细描述。
71.图5是根本公开实施例的文档理解模型的训练方法的流程示意图。
72.如图5所示,该实施例的文档理解模型的训练方法500可以包括操作s510~操作s530。
73.在操作s510,根据训练样本,得到输入特征。
74.根据本公开的实施例,可以对训练样本中属于同一元素的文本片段和位置信息进行嵌入表示,得到输入特征中的一个子特征,将对训练样本中多个元素嵌入表示得到的多个子特征,依据训练样本中元素的排列顺序排列,得到输入特征。其中,训练样本为本公开实施例提供的样本生成方法所生成的。
75.例如,该实施例可以对训练样本中的每个文本片段的位置信息的嵌入表示拼接到该每个文本片段的嵌入表示之后,得到针对该每个文本片段的子特征,将针对多个文本片段的子特征以特征序列的形式作为输入特征。
76.在操作s520,将输入特征输入文档理解模型,得到针对训练样本的预测理解结果。
77.文档理解模型对输入的输入特征处理后,可以输出预测理解结果。预测理解结果因文档理解任务的不同而不同。例如,预测理解结果包括以下至少之一:实体的预测识别结果和样本图像的预测分类结果。
78.在一实施例中,文档理解模型输出的数据例如为概率向量,该实施例可以根据概率向量来确定预测理解结果,例如,若概率向量指示样本图像针对多个预定类别的概率,该实施例可以将概率向量中最大概率值对应的预定类别作为样本图像的预测分类结果。
79.在操作s530,根据预测理解结果,对文档理解模型进行训练。
80.根据本公开的实施例,可以根据训练样本携带的标注所指示的真值理解结果与预测理解结果之间的差异,确定文档理解模型的损失值。以最小化损失值为目标,对文档理解模型进行训练。可以理解的是,训练样本携带有以下标注信息中的至少之一:指示实体的真实识别结果的信息和指示样本图像的真实类别的信息。
81.可以理解的是,在训练样本中包括文本图像,且文档理解模型包括预训练模型layoutlm和全连接层的情况下,该实施例可以将通过对文本片段和文本框的位置信息进行嵌入表示所得到的特征序列输入预训练模型layoutlm。随后,针对至少两个文本片段,将layoutlm输出的特征中与每个文本片段对应的特征,与对该每个文本片段对应的文本图像的嵌入表示拼接,得到分别对应至少两个文本片段的至少两个拼接特征,并将该至少两个拼接特征以特征序列的形式输入全连接层,根据全连接层的输出得到预测理解结果。
82.本公开实施例通过根据上文生成的训练样本来训练文档理解模型,可以使得文档理解模型准确地学习到文档样本图像中文本的语义,提高训练得到的文档理解模型的精度。再者,由于训练样本包括在不改变文本片段排列顺序的基础上,通过扰动文本框位置得到的样本,因此,可以提高根据训练样本训练得到的文档理解模型的鲁棒性。
83.基于本公开提供的文档理解模型的训练方法,本公开还提供了一种文档理解方法,该文档理解方法采用训练得到的文档理解模型来实施,以下将结合图6进行详细描述。
84.图6是根据本公开实施例的文档理解方法的流程示意图。
85.如图6所示,该实施例的文档理解方法600可以包括操作s610~操作s640。
86.在操作s610,对文档图像进行文本检测,得到与文档图像中的至少两个文本片段对应的至少两组检测结果。
87.其中,每组检测结果包括文本框的位置信息以及文本框中的文本片段。可以理解的是,该操作s610的实现方式与上文描述的操作s210类似,在此不再赘述。
88.在操作s620,根据至少两组检测结果中文本框的位置信息,对至少两组检测结果进行排序,得到检测结果序列。可以理解的是,该操作s620的实现方式与上文描述的操作
s220类似,在此不再赘述。
89.在操作s630,根据检测结果序列,得到输入特征。可以理解的是,该操作s630的实现方式与上文描述的操作s510类似,在此不再赘述。
90.在操作s640,将输入特征输入文档理解模型,得到针对文档图像的理解结果。
91.其中,文档理解模型可以为上文描述的文档理解模型的训练方法训练得到的模型。可以理解的是,该操作s640的实现方式与上文描述的操作s520类似,在此不再赘述。
92.根据本公开的实施例,在文档理解模型为多模态(包括文本模态、位置模态和图像模态)模型的情况下,该实施例的文档理解方法在根据检测结果序列得到输入特征时,还可以先根据检测结果序列中每个检测结果包括的文本框的位置信息裁剪文档图像,得到与每个检测结果中包括的文本片段对应的文本图像。随后,再将文本图像添加至检测结果序列中文本图像所对应的文本片段处,得到多模态信息序列。可以理解的是该多模态信息序列的获得方式与上文描述的添加了文本图像的检测结果序列的获得方式类似,在此不再赘述。在得到多模态信息序列后,可以通过对多模态信息序列进行嵌入处理,从而得到输入特征。
93.例如,在文档理解模型包括预训练模型layoutlm和全连接层的情况下,该实施例可以将通过对文本片段和文本框的位置信息进行嵌入表示所得到的特征序列作为预训练模型layoutlm的输入特征。随后,针对至少两个文本片段,将layoutlm输出的特征中与每个文本片段对应的特征,与对该每个文本片段对应的文本图像的嵌入表示拼接,得到分别对应至少两个文本片段的至少两个拼接特征,将以特征序列的形式表示的该至少两个拼接特征作为连接层的输入特征。
94.基于本公开提供的样本生成方法,本公开还提供了一种样本生成装置,以下将结合图7对该装置进行详细描述。
95.图7是根据本公开实施例的样本生成装置的结构框图。
96.如图7所示,该实施例的样本生成装置700可以包括文本检测模块710、排序模块720、位置扰动模块730和样本生成模块740。
97.文本检测模块710用于对文档样本图像进行文本检测,得到与文档样本图像中的至少两个文本片段对应的至少两组检测结果,每组检测结果包括文本框的位置信息以及文本框中的文本片段。在一实施例中,文本检测模块710可以用于执行上文描述的操作s210,在此不再赘述。
98.排序模块720用于根据至少两组检测结果中文本框的位置信息,对至少两组检测结果进行排序,得到检测结果序列。在一实施例中,排序模块720可以用于执行上文描述的操作s220,在此不再赘述。
99.位置扰动模块730用于对检测结果序列中至少一组检测结果包括的位置信息进行随机扰动,得到扰动后检测结果序列。在一实施例中,位置扰动模块730可以用于执行上文描述的操作s230,在此不再赘述。
100.样本生成模块740用于根据扰动后检测结果序列,生成训练样本。在一实施例中,样本生成模块740可以用于执行上文描述的操作s240,在此不再赘述。
101.根据本公开的实施例,位置信息包括第一方向上的第一位置和第二方向上的第二位置,第一方向与第二方向彼此垂直。上述排序模块720可以包括:行确定子模块,用于根据
至少两组检测结果中至少两个文本框的第一位置,确定至少两个文本框中位于同一行的文本框,得到在第一方向上依次排列的至少一行文本框;其中,行的延伸方向为第二方向;第一排序子模块,用于根据每行文本框中文本框的第二位置,对每行文本框中的文本框进行排序;以及第二排序子模块,用于根据至少一行文本框在第一方向上的排列顺序,以及每行文本框中的文本框在第二方向上的排列顺序,对至少两组检测结果进行排序,得到检测结果序列。
102.根据本公开的实施例,上述行确定子模块可以包括:交并比确定单元,用于根据至少两个文本框的第一位置,确定至少两个文本框彼此之间的第一位置的交并比;以及行确定单元,用于确定至少两个文本框中彼此之间的第一位置的交并比大于预定阈值的文本框,为位于同一行的文本框。
103.根据本公开的实施例,上述装置700还可以包括图像裁剪模块,用于根据检测结果序列中每个检测结果包括的文本框的位置信息裁剪文档样本图像,得到与每个检测结果中包括的文本片段对应的文本图像。其中,上述样本生成模块具体可以用于将文本图像添加至扰动后检测结果序列中文本图像所对应的文本片段处,得到训练样本。
104.根据本公开的实施例,上述样本生成模块还可以用于将文本图像添加至检测结果序列中文本图像所对应的文本片段处,得到训练样本。
105.基于本公开提供的文档理解模型的训练方法,本公开还提供了一种文档理解模型的训练装置,以下将结合图8对该装置进行详细描述。
106.图8是根据本公开实施例的文档理解模型的训练装置的结构框图。
107.如图8所示,该实施例的文档理解模型的训练装置800可以包括特征获得模块810、理解结果预测模块820和模型训练模块830。
108.特征获得模块810用于根据训练样本,得到输入特征。其中,训练样本是采用本公开提供的样本生成方法生成的。在一实施例中,特征获得模块810可以用于执行上文描述的操作s510,在此不再赘述。
109.理解结果预测模块820用于将输入特征输入文档理解模型,得到针对训练样本的预测理解结果。在一实施例中,理解结果预测模块820可以用于执行上文描述的操作s520,在此不再赘述。
110.模型训练模块830用于根据预测理解结果,对文档理解模型进行训练。在一实施例中,模型训练模块830可以用于执行上文描述的操作s530,在此不再赘述。
111.基于本公开提供的文档理解方法,本公开还提供了一种文档理解装置,以下将结合图9对该装置进行详细描述。
112.图9是根据本公开实施例的文档理解装置的结构框图。
113.如图9所示,该实施例的文档理解装置900可以包括文本检测模块910、排序模块920、特征获得模块930和文档理解模块940。
114.文本检测模块910用于对文档图像进行文本检测,得到与文档图像中的至少两个文本片段对应的至少两组检测结果,每组检测结果包括文本框的位置信息以及文本框中的文本片段。在一实施例中,文本检测模块910可以用于执行上文描述的操作s610,在此不再赘述。
115.排序模块920用于根据至少两组检测结果中文本框的位置信息,对至少两组检测
结果进行排序,得到检测结果序列。在一实施例中,排序模块920可以用于执行上文描述的操作s620,在此不再赘述。
116.特征获得模块930用于根据检测结果序列,得到输入特征。在一实施例中,特征获得模块930可以用于执行上文描述的操作s630,在此不再赘述。
117.文档理解模块940用于将输入特征输入文档理解模型,得到针对文档图像的理解结果。其中,文档理解模型是采用本公开提供的文档理解模型的训练方法训练得到的。在一实施例中,文档理解模块940可以用于执行上文描述的操作s640,在此不再赘述。
118.根据本公开的实施例,上述特征获得模块930可以包括:图像裁剪子模块,用于根据检测结果序列中每个检测结果包括的文本框的位置信息裁剪文档图像,得到与每个检测结果中包括的文本片段对应的文本图像;多模态信息获得子模块,用于将文本图像添加至检测结果序列中文本图像所对应的文本片段处,得到多模态信息序列;以及特征获得子模块,用于对多模态信息序列进行嵌入处理,得到输入特征。
119.需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
120.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
121.图10示出了可以用来实施本公开实施例的方法的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
122.如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
123.设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
124.计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如样本生成方法、文档理解模型的训练方法和文档理解方法中的至少之一。例如,在一些实施例中,样本生成方法、文档理解模型的训练方法和文档理解方法中的至少之一
可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram 1003并由计算单元1001执行时,可以执行上文描述的样本生成方法、文档理解模型的训练方法和文档理解方法中的至少之一的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行样本生成方法、文档理解模型的训练方法和文档理解方法中的至少之一。
125.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
126.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
127.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
128.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
129.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
130.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
131.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
132.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1