发明内容
基于此,有必要针对上述技术问题,提供一种能够适应不同类型的PDF的版面结构,并且准确的识别出PDF的解析结果的文档信息解析方法、装置、计算机设备、存储介质。
第一方面,本公开提供了一种文档信息解析方法,所述方法包括:
获取待解析文档,确定所述待解析文档中文档内容格式信息;所述文档内容格式信息至少包括:待解析文档中内容信息和内容信息所对应的位置信息;
基于所述文档内容格式信息和预先构建的版面识别模型,确定所述待解析文档中的格式区域以及每个格式区域对应的格式类别,所述版面识别模型是基于训练文档中的标注得到的标注数据集训练识别模型得到的;
对所述格式区域和所述内容信息所对应的位置信息进行交集计算,得到交集计算的结果;
基于所述交集计算的结果将所述格式区域与所述待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及所述内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果。
在其中一个实施例中,所述基于所述交集计算的结果将所述格式区域与待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及所述内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果,包括:
响应于所述交集计算的结果满足预设的交集阈值,将所述格式区域与待解析文档中内容信息进行匹配,得到匹配的结果;
基于所述格式区域的格式类型和所述内容信息所对应的位置信息对所述匹配的结果进行调整,得到所述待解析文档的解析结果。
在其中一个实施例中,所述基于所述格式区域的格式类型和所述内容信息所对应的位置信息对所述匹配的结果进行调整,得到所述待解析文档的解析结果,包括:
基于所述格式区域的格式类型和确定所述匹配的结果在待解析文档中的类型;
基于所述内容信息所对应的位置信息,调整所述匹配的结果中内容信息的排列顺序,以及调整所述匹配的结果的排列顺序;
基于匹配的结果在待解析文档中的类型、调整后的匹配的结果,得到所述待解析文档的解析结果。
在其中一个实施例中,所述版面识别模型是基于训练文档中的标注得到的标注数据集训练识别模型得到的,包括:
获取训练文档,确定所述训练文档中训练内容格式信息;
对所述训练内容格式信息利用第一标注框进行标注,得到类别区域;
对所述训练内容格式信息利用第二标注框进行标注,得到标注区域;
基于所述标注区域,调整所述类别区域的区域边界,得到目标标注区域;
基于所述训练内容格式信息、所述目标标注区域以及所述目标标注区域的位置信息生成标注数据集;
基于所述标注数据集训练识别模型,得到版面识别模型,所述识别模型为多模态预训练模型。
在其中一个实施例中,所述基于所述训练内容格式信息、所述目标标注区域以及所述目标标注区域的位置信息生成标注数据集,包括:
基于所述训练内容格式信息、所述目标标注区域以及所述目标标注区域的位置信息生成第一训练数据集;
对所述第一训练数据集进行数据集扩充,得到第二训练数据集;
基于所述第一训练数据集和第二训练数据集生成标注数据集。
在其中一个实施例中,所述得到版面识别模型之后,所述方法还包括:
获取所述版面识别模型输出的输出结果;
响应于输出结果中存在错误,确定存在错误的错误输出结果以及所述错误输出结果对应的输入结果;
对所述错误输出结果进行修正,得到修正结果,基于所述修正结果和所述输入结果确定校正数据集;
对所述校正数据集进行数据集扩充,响应于经过预设的第一时间后,基于数据集扩充后的校正数据集对所述版面识别模型进行更新迭代。
在其中一个实施例中,所述基于所述标注数据集训练识别模型,得到版面识别模型,包括:
将所述标注数据集划分为训练集和测试集;
基于所述训练集训练识别模型,得到第一识别模型;
基于所述测试集对所述第一识别模型进行测试验证,响应于测试验证的结果满足预设的验证分数,基于所述第一识别模型得到版面识别模型
第二方面,本公开还提供了一种文档信息解析装置。所述装置包括:
数据获取模块,用于获取待解析文档,确定所述待解析文档中文档内容格式信息;所述文档内容格式信息至少包括:待解析文档中内容信息和内容信息所对应的位置信息;
模型处理模块,用于基于所述文档内容格式信息和预先构建的版面识别模型,确定所述待解析文档中的格式区域以及每个格式区域对应的格式类别,所述版面识别模型是基于训练文档中的标注得到的标注数据集训练识别模型得到的;
交集计算模块,用于对所述格式区域和所述内容信息所对应的位置信息进行交集计算,得到交集计算的结果;
匹配调整模块,用于基于所述交集计算的结果将所述格式区域与所述待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及所述内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果。
第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一方法实施例中的步骤。
第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
上述各实施例中,获取待解析文档,确定待解析文档中文档内容格式信息。能够提取出待解析文档中所有的内容信息,由于仅将内容信息进行提取并不能够准确的确定出完整的待解析文档中的信息,该内容信息的顺序,位置等可能会混乱。因此,还需要基于文档内容格式信息和预先构建的版面识别模型,确定所述待解析文档中的格式区域以及每个格式区域对应的格式类别。能够识别出待解析文档都存在哪些区域,能够适应多种类型的版面结构。并且将格式区域和内容信息对应的位置进行交集计算,能够确定格式区域中能够包括哪些内容信息,保证最终结果的准确性。而确定格式区域中的内容信息之后,由于内容信息的顺序、格式区域的顺序也会影响最终的结果的准确性,因此,可以基于交集计算的结果将格式区域与待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果,保证解析结果的准确性。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
正如背景技术所述,传统技术中,通常存在两种方式解析PDF中的信息,第一种是基于纯图像的版面识别方法,只以图片作为输入,通过目标检测识别PDF中不同类型的所属区域,类型包括:段落,表格,图片等。但是该种方式只以图片作为输入,信息量较少,识别精度没有多模态的方案高,并且检测框还需要和文本框进行计算处理,这一步骤会引入误差。第二种是多模态的方案,同时输入文本和图片信息,通过模型的特征编码学习,以语义分割的方式预测每个像素点所属类别,再通过像素区域计算得到类型的区域框。但是该种方式的难点在于数据集的构建,数据集标注的难度非常大,并且目前的模型识别主要是在一些版面相对简单的中文文档中,还并未存在对于复杂的PDF文件进行版面识别的方式,除此之外,当前的流程都是准备一批数据训练完后就上线了,后续的迭代优化非常困难,新遇到的版面结构很难及时优化。
因此,为解决上述问题,本公开实施例提供了一种文档信息解析方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以获取服务器104中待解析文档,终端102可以确定待解析文档中的文档内容格式信息,文档内容格式信息至少包括:待解析文档中内容信息和内容信息所对应的位置信息。终端102可以基于所述文档内容格式信息和预先构建的版面识别模型,确定待解析文档中的格式区域以及每个格式区域对应的格式类型。版面识别模型可以是终端102或者服务器104基于训练文档中的标注得到的标注数据集训练识别模型得到的。终端102可以对格式区域和内容信息所对应的位置信息进行交集计算,得到交集计算的结果。终端102可以基于交集计算的结果将所述格式区域与所述待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及所述内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种文档信息解析方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
S202,获取待解析文档,确定所述待解析文档中文档内容格式信息;所述文档内容格式信息至少包括:待解析文档中内容信息和内容信息所对应的位置信息。
其中,待解析文档可以是PDF文档,可以是word文档也可以是其他类型的需要解析的文档,在本公开的一些实施例中待解析文档可以是PDF文档。内容信息可以包括:文本信息、图片信息、表格信息等等。位置信息在本公开的一些实施例中通常可以指的是坐标信息。位置信息还可以可以是用矩形框的坐标来表示(用矩形框将文本信息框柱),矩形框的坐标信息可以为位置信息。
具体地,可以获取待解析文档,从待解析文档中进行拆解,拆解出SVG(ScalableVector Graphics)信息和图片信息,基于SVG和图片信息得到文档内容格式信息。另外,得到的图片信息可以作为版面识别模型的输入信息,在做版面识别标注时,需要在图片信息上进行标注,并且版面识别的标注结果需要渲染到图片信息上以查看结果。
在一些示例性的实施例中,例如待解析文档为PDF文档,则可以利用Python的pymupdf包拆解出PDF中的SVG信息和图片信息。安装pymupdf包后调用get_pixmap方法可以获取图片信息,调用get_svg_image方法可以获取SVG信息。然后可以使用Python的内置库从SVG信息中读取出文本信息和文本信息所对应的位置信息。内置库可以包括:xml.etree.ElementTree、svglib等。其中,xml.etree.ElementTree是Python的内置库,用于处理XML数据。它提供了简单而直观的API,可以用于解析和操作SVG。svglib不仅可以用于将PDF转换为SVG信息,还提供了读取和操作SVG信息的功能。它可以方便地从SVG信息中提取路径、文本和其他图形元素。还可以使用图形编辑软件或者文本编辑软件从SVG中提取信息。例如使用图形编辑软件:将SVG文件导入图形编辑软件(如Adobe Illustrator),可以直接查看和编辑SVG中的各个元素和属性。从中提取信息可能需要手动选择和复制相关元素。使用文本编辑软件:SVG文件是一种基于XML的文本文件,可以使用任何文本编辑软件(如记事本、Sublime Text等)打开。通过查找和提取特定的标签、属性或数值,可以获取SVG中的相关信息。具体如何提取SVG中的信息本领域技术人员可以根据实际情况进行选择,在本公开的一些实施例中不进行绝对的限制。
S204,基于所述文档内容格式信息和预先构建的版面识别模型,确定所述待解析文档中的格式区域以及每个格式区域对应的格式类别,所述版面识别模型是基于训练文档中的标注得到的标注数据集训练识别模型得到的。
其中,识别模型可以是多模态预训练模型,例如layoutlmv3,其在处理图像信息的同时也可以使用到文本的信息。并且模型经过了53种语言的文档数据进行预训练,其中涵盖了丰富的不同版面信息,对finetune(微调)版面识别模型很有帮助。格式区域可以包括:段落、页眉、标题对应的格式区域。
具体地,可以利用训练文档中预先标注得到的标注数据集进行训练识别模型,得到版面识别模型。将文档内容格式信息输入至版面识别模型中,利用版面识别模型输出待解析文档中的格式区域和每个格式区域对象的格式类型。
例如,文档内容格式信息包括:A信息、A信息对应的位置信息、B信息和B信息对应的位置信息。将上述信息输入至版面识别模型中之后,版面识别模型可以确定两个格式区域,以及这两个格式区域对应的格式类别。如图3所示,一页文档中可以包括A1、A2、B1、B2四部分内容,A1和A2构成一个段落、B1和B2构成一个段落。将A1、A2、B1、B2和对应的位置信息输入至版面识别模型后,版面识别模型可以输出A区域和B区域,A区域和B区域的格式类别可以为段落,可以理解的是,上述仅用于举例说明。
在一些示例性的实施例中,将文档内容格式信息输入至版面识别模型之前,还需要做一些数据的转换处理,例如使用opencv库将所有图片缩放成固定尺寸大小,同时将文本的位置的位置框也等比缩放,还可以定义一个代码中用到的变量格式,将数据转换后统一成定义的变量格式,下一步的代码会按定义的变量格式进行加载处理。还可以按照其他的要求将文档内容格式进行处理,在本公开的一些实施例中不对文档内容格式信息的处理方式进行限制,只要版面识别模型能够识别即可。
S206,对所述格式区域和所述内容信息所对应的位置信息进行交集计算,得到交集计算的结果。
其中,交集计算在本公开的一些实施例中可以是计算格式区域和内容信息对应的位置信息进行计算重叠的区域的面积的方式。
具体地,可以将格式区域和内容信息对应的位置信息进行交集计算,进而得到交集计算的结果。
在一些示例性的实施例中,对于当前一页,从SVG中解析得到的文本信息及其位置信息(矩形框), 模型预测出格式区域对应的区域框(如段落区域框),计算段落区域框和所有位置信息的重叠情况,得到交集计算的结果。交集就是计算每一个格式区域对应的区域框各自和哪些文本相对应的位置信息相匹配。
S208,基于所述交集计算的结果将所述格式区域与所述待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及所述内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果。
其中,匹配可以是确定内容信息属于哪个格式区域的方式。调整匹配的结果可以包括:调整各个匹配的结果的顺序,以及调整匹配的结果中内容信息的顺序。
具体地,可以基于交集计算的结果,将格式区域和待解析文档中的内容信息进行匹配,确定格式区域中包括哪些内容信息。然后利用格式区域对应的格式类型和内容信息对应的位置信息调整匹配的结果,进而得到最终的待解析文档的解析结果。需要说明的是,在本公开的一些实施例中,通常以待解析文档中的一页内容进行举例说明,若待解析文档中存在多页内容,则可以按照上述方式依次解析每一页的内容,进而将每一页解析得到的内容进行组合得到待解析文档中的解析结果。
上述文档信息解析方法中,获取待解析文档,确定待解析文档中文档内容格式信息。能够提取出待解析文档中所有的内容信息,由于仅将内容信息进行提取并不能够准确的确定出完整的待解析文档中的信息,该内容信息的顺序,位置等可能会混乱。因此,还需要基于文档内容格式信息和预先构建的版面识别模型,确定所述待解析文档中的格式区域以及每个格式区域对应的格式类别。能够识别出待解析文档都存在哪些区域,能够适应多种类型的版面结构。并且将格式区域和内容信息对应的位置进行交集计算,能够确定格式区域中能够包括哪些内容信息,保证最终结果的准确性。而确定格式区域中的内容信息之后,由于内容信息的顺序、格式区域的顺序也会影响最终的结果的准确性,因此,可以基于交集计算的结果将格式区域与待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果,保证解析结果的准确性。
在一个实施例中,如图4所示,所述基于所述交集计算的结果将所述格式区域与待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及所述内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果,包括:
S302,响应于所述交集计算的结果满足预设的交集阈值,将所述格式区域与待解析文档中内容信息进行匹配,得到匹配的结果。
其中,交集阈值可以根据实际情况进行设置。
具体地,例如格式区域对应的区域框和位置信息对应的矩形框的交集计算结果为98%,交集阈值可以为95%,则可以确定交集计算结果满足预设的交集阈值,格式区域对应的区域框和位置信息对应的矩形框相匹配。因此,可以将格式区域和位置信息对应的内容信息进行匹配,得到匹配的结果。如图3所示,例如确定了A区域和B区域之后,可以将A1、A2、B1和B2对应的位置信息分别与A区域和B区域进行交集计算,交集计算后,可以确定A1、A2和A区域相匹配,B1、B2和B区域相匹配。
S304,基于所述格式区域的格式类型和所述内容信息所对应的位置信息对所述匹配的结果进行调整,得到所述待解析文档的解析结果。
具体地,当确定匹配的结果之后,由于只能够确定在格式区域的中包括哪些信息,并且也不能够确定匹配的结果的各种顺序,因此可以基于格式区域的格式类型和内容信息对应的位置对匹配的结果进行调整,确定其顺序,进而得到待解析文档的解析结果。继续以图3为例进行说明,例如确定了A区域中包括A1和A2之后,也确定了B区域中包括了B1和B2之后。此时正常的顺序为A区域,然后是B区域,若不确定匹配的结果,例如B区域在前,A区域在后,则各种内容信息的顺序可能会不正确,进而得到的解析结果不正确。因此,以A区域进行举例,若A区域中A1和A2顺序错误,也会造成解析结果不正确,可以根据内容信息对应的位置信息来确定其中A1和A2的顺序,进而进行调整。
本实施例中,只有交集计算的结果满足预设的交集阈值时,才可以将格式区域和待解析文档中内容信息进行匹配,保证格式区域和待解析文档中内容信息的匹配结果较高,进而保证最终的结果的准确性。
在一个实施例中,如图5所示,所述基于所述格式区域的格式类型和所述内容信息所对应的位置信息对所述匹配的结果进行调整,得到所述待解析文档的解析结果,包括:
S402,基于所述格式区域的格式类型和确定所述匹配的结果在待解析文档中的类型。
具体地,可以根据格式区域的格式类型,确定匹配的结果在待解析文档中的类型,类型可以包括:页眉、页脚、段落、标题(一级标题、二级标记等等)。
S404,基于所述内容信息所对应的位置信息,调整所述匹配的结果中内容信息的排列顺序,以及调整所述匹配的结果的排列顺序。
具体地,由于匹配的结果中各种信息的顺序会影响解析的结果,因此可以按照内容信息所对应的位置信息,来调整匹配的结果中内容信息的排列顺序,以及根据位置信息来确定匹配的结果的排列顺序。
在一些示例的实施例中,以图3为例进行说明,例如确定了匹配的结果,A区域中包括A1和A2,B区域中包括B1和B2,首先可以根据A1和A2的位置信息对A1和A2进行排序,然后根据A1和/或A2的位置信息,以及B1和/或B2的位置信息对A区域和B区域进行排序。
在另一些示例性的实施例中,对于标题,段落,页眉页脚等类型,将匹配的结果中的文本按其位置信息(例如位置信息可以为坐标信息)左上顶点的坐标进行排序,优先y坐标小的在前面,y坐标一致的,x坐标小的在前面,排序后将这一组文本按中间加空格的形式拼接成一个大的文本。需要说明的,在此处以y坐标进行排序为例进行说明,在实际应用场景中,本领域技术人员可以选择任意顶点的坐标进行排序。另外,对于表格类型可以调用另一个表格识别接口解析表格结构信息,返回为表格html,这里得到的表格信息包括表格类别,表格区域框和表格html。其中,表格识别接口可以识别出有线表格和无线表格。
S406,基于匹配的结果在待解析文档中的类型、调整后的匹配的结果,得到所述待解析文档的解析结果。
具体地,将匹配的顺序,以及匹配的结果中内容信息的顺序调整之后。由于匹配的结果的类型也会影响其顺序,例如页眉和标题混在一起,此时也会对解析结果造成影响,因此还可以按照匹配的结果在待解析文档中的类型、以及调整后的匹配的结果得到最终的待解析文档的解析结果。最终的解析结果可以包括此格式区域的类别,格式区域的框,格式区域的文本三种信息。待解析文档一页的解析结果是由解析后的一条条信息组成。(解析之前只有一个个独立的文本,解析之后知道哪些是标题,哪些是一个段落,表格的结构是什么等等)
在本实施例中,利用格式类型、内容信息对应的位置信息对匹配的结果进行调整,保证最终解析结果的准确性,不会因为顺序错误而影响最终结果的准确性。
在一个实施例中,如图6所示,所述版面识别模型是基于训练文档中的标注得到的标注数据集训练识别模型得到的,包括:
S502,获取训练文档,确定所述训练文档中训练内容格式信息。
S504,对所述训练内容格式信息利用第一标注框进行标注,得到类别区域。
S506,对所述训练内容格式信息利用第二标注框进行标注,得到标注区域。
S508,基于所述标注区域,调整所述类别区域的区域边界,得到目标标注区域。
S510,基于所述训练内容格式信息、所述目标标注区域以及所述目标标注区域的位置信息生成标注数据集。
S512,基于所述标注数据集训练识别模型,得到版面识别模型,所述识别模型为多模态预训练模型。
其中,训练文档通常情况下可以是和待解析文档相同类型的文档。训练内容格式信息通常情况下可以包括:训练文档中的各种内容信息以及内容信息对应的位置信息。第一标注框通常情况下可以是标注格式区域的标注框,例如标注整个段落,标注整个标题的标注框。第二标注框通常情况下可以是标注文本的标注框,例如标注某个段落中某一句话的标注框。
具体地,可以获取训练文档,从训练文档中拆解出SVG和图片,并从SVG中解析出文本信息和文本信息对应的位置信息(关于此处如何解析的可以参见上述实施例,在此不进行重复赘述)。基于文本信息、文本信息对应的位置信息和图片确定训练内容格式信息。如图7A所示,然后可以利用第一标注框选择需要标注的类别,例如标注段落,将训练内容格式信息利用第一标注框进行标注,得到类别区域。然后再利用第二标注框继续对训练内容格式信息进行标注,得到标注区域。由于第一标注框标注的类别区域可能会较大,如图7A所示的,此时会影响最终的模型识别效果,而第二标注框通常情况下是标注文本的,因此可以利用第二标注框标注出的标注区域来缩小类别区域的边界区域,得到目标标注区域。例如,图7B所示,目标标注区域的边界可以为S1文本和S3文本对应的标注区域的边界。得到目标标注区域之后,可以利用训练内容格式信息、目标标注区域、目标标注区域对应的位置信息生成标注数据集。然后可以利用标注数据集来训练识别模型,得到版面识别模型。
在传统的模型在训练之前标注数据时,通常是直接基于图片的标注获得的区域非常粗糙,这使得训练出来的模型在预测区域时偏大,影响使用效果。因此,在本实施例中,先确定出训练内容格式信息,然后进行标注得到类别区域和标注区域,利用标注区域,调整类别区域的区域边界,得到目标标注区域,能够缩小最终边界区域,提高最终版面识别模型的输出结果的精度。
在一个实施例中,如图8所示,所述基于所述训练内容格式信息、所述目标标注区域以及所述目标标注区域的位置信息生成标注数据集,包括:
S602,基于所述训练内容格式信息、所述目标标注区域以及所述目标标注区域的位置信息生成第一训练数据集。
S604,对所述第一训练数据集进行数据集扩充,得到第二训练数据集。
S606,基于所述第一训练数据集和第二训练数据集生成标注数据集。
具体地,由于标注得到的目标标注区域等数据量较少,为了能够保证模型的训练效果,可以先基于训练内容格式信息、目标标注区域以及目标标注区域的位置信息生成第一训练数据集。然后对第一训练集中的数据进行数据集扩充,例如对文本数据可以进行替换、句子重组、词语插入、句子删除等操作。以此来实现对第一数据集进行扩充,扩充后的得到的数据集可以为第二训练数据集。可以基于第一训练数据集和第二训练数据集来生成标注数据集。
在本实施例中,进行数据集扩充,能够进一步保证版面识别模型的输出结果的精度。
在一个实施例中,如图9所示,所述得到版面识别模型之后,所述方法还包括:
S702,获取所述版面识别模型输出的输出结果。
S704,响应于输出结果中存在错误,确定存在错误的错误输出结果以及所述错误输出结果对应的输入结果。
S706,对所述错误输出结果进行修正,得到修正结果,基于所述修正结果和所述输入结果确定校正数据集。
S708,对所述校正数据集进行数据集扩充,响应于经过预设的第一时间后,基于数据集扩充后的校正数据集对所述版面识别模型进行更新迭代。
其中,输出结果可以是如上述实施例中所提到的文档中的格式区域以及每个格式区域对应的格式类别。输入结果可以是文档内容格式信息。
具体地,当版面识别模型长时间运行并对文档内容格式信息进行处理后,由于文档中的数据各不相同,因此,版面识别模型的输出结果也各不相同,并且也会存在一些模型识别错误的结果。因此,可以获取版面识别模型的输出结果,来判断输出结果是否出现错误。当输出结果中存在错误时,可以确定版面识别模型的并不能够适应该种数据的处理。因此,可以确定存在错误的输出结果,以及该输出结果所对应的输入结果。然后对错误输出结果进行修正,进而得到修正结果,利用修正结果和输入结果来确定校正数据集。由于校正数据集的数据量较少,为了能够准确的对版面识别模型进行更新迭代,保证解析结果的准确性。因此,还可以对校正数据集进行数据集扩充(关于如何进行数据集扩充可参见上述实施例,在此不进行重复赘述)。然后每次经过预设的第一时间后,可以自动的利用扩充后的校正数据集对版面识别模型进行更新迭代。
在一些示例性的实施例中,判断输入结果是否出现错误,以及多错误输出结果进行修正的方式可以是人工修正的方式,也可以是使用其他的方式进行修正,在本公开的一些实施例中不进行限制。
在本实施例中,通过对模型进行更新迭代,能够保证模型输出结果随着数据集的更新越来越精准,进而保证版面识别结果更准确。
在一个实施例中,所述基于所述标注数据集训练识别模型,得到版面识别模型,包括:
将所述标注数据集划分为训练集和测试集;基于所述训练集训练识别模型,得到第一识别模型;基于所述测试集对所述第一识别模型进行测试验证,响应于测试验证的结果满足预设的验证分数,基于所述第一识别模型得到版面识别模型。
具体地,可以将标注数据集划分为训练集和测试集,训练集可以用来训练识别模型,得到第一识别模型。然后利用测试集对第一识别模型的识别效果进行测试,进而得到第一识别模型的输出结果,利用测试集对输出结果进行验证,确定第一识别模型的测试验证的结果。当测试验证的结果满足要求,即满足预设的验证分数,可以确定第一识别模型的识别效果较好,可以将第一识别模型确定为版面识别模型。此外,通常情况下,如上述实施例中对模型进行更新迭代时,可以是将校正数据集划分为测试集和训练集,进而参照本公开实施例提及的方式对模型进行更新迭代。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的文档信息解析方法的文档信息解析装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个文档信息解析装置实施例中的具体限定可以参见上文中对于文档信息解析方法的限定,在此不再赘述。
在一个实施例中,如图10所示,提供了一种文档信息解析装置800,包括:数据获取模块802、模型处理模块804、交集计算模块806和匹配调整模块808,其中:
数据获取模块802,用于获取待解析文档,确定所述待解析文档中文档内容格式信息;所述文档内容格式信息至少包括:待解析文档中内容信息和内容信息所对应的位置信息。
模型处理模块804,用于基于所述文档内容格式信息和预先构建的版面识别模型,确定所述待解析文档中的格式区域以及每个格式区域对应的格式类别,所述版面识别模型是基于训练文档中的标注得到的标注数据集训练识别模型得到的。
交集计算模块806,用于对所述格式区域和所述内容信息所对应的位置信息进行交集计算,得到交集计算的结果。
匹配调整模块808,用于基于所述交集计算的结果将所述格式区域与所述待解析文档中内容信息进行匹配,并利用每个格式区域对应的格式类别以及所述内容信息所对应的位置信息对匹配的结果进行调整,得到所述待解析文档的解析结果。
在所述装置的一个实施例中,所述匹配调整模块808,包括:
匹配模块,用于响应于所述交集计算的结果满足预设的交集阈值,将所述格式区域与待解析文档中内容信息进行匹配,得到匹配的结果。
调整模块,用于基于所述格式区域的格式类型和所述内容信息所对应的位置信息对所述匹配的结果进行调整,得到所述待解析文档的解析结果。
在所述装置的一个实施例中,所述调整模块,包括:
类别确定模块,用于基于所述格式区域的格式类型和确定所述匹配的结果在待解析文档中的类型。
顺序调整模块,用于基于所述内容信息所对应的位置信息,调整所述匹配的结果中内容信息的排列顺序,以及调整所述匹配的结果的排列顺序。
结果确定模块,用于基于匹配的结果在待解析文档中的类型、调整后的匹配的结果,得到所述待解析文档的解析结果。
在所述装置的一个实施例中,所述装置还包括:版面模型训练模块,用于获取训练文档,确定所述训练文档中训练内容格式信息;对所述训练内容格式信息利用第一标注框进行标注,得到类别区域;对所述训练内容格式信息利用第二标注框进行标注,得到标注区域;基于所述标注区域,调整所述类别区域的区域边界,得到目标标注区域;基于所述训练内容格式信息、所述目标标注区域以及所述目标标注区域的位置信息生成标注数据集;基于所述标注数据集训练识别模型,得到版面识别模型,所述识别模型为多模态预训练模型。
在所述装置的一个实施例中,所述版面模型训练模块,包括:数据集处理模块,用于基于所述训练内容格式信息、所述目标标注区域以及所述目标标注区域的位置信息生成第一训练数据集;对所述第一训练数据集进行数据集扩充,得到第二训练数据集;基于所述第一训练数据集和第二训练数据集生成标注数据集。
在所述装置的一个实施例中,所述装置还包括:更新迭代模块,用于获取所述版面识别模型输出的输出结果;响应于输出结果中存在错误,确定存在错误的错误输出结果以及所述错误输出结果对应的输入结果;对所述错误输出结果进行修正,得到修正结果,基于所述修正结果和所述输入结果确定校正数据集;对所述校正数据集进行数据集扩充,响应于经过预设的第一时间后,基于数据集扩充后的校正数据集对所述版面识别模型进行更新迭代。
在所述装置的一个实施例中,所述版面模型训练模块,还用于将所述标注数据集划分为训练集和测试集;基于所述训练集训练识别模型,得到第一识别模型;基于所述测试集对所述第一识别模型进行测试验证,响应于测试验证的结果满足预设的验证分数,基于所述第一识别模型得到版面识别模型。
上述文档信息解析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储文档内容格式信息、交集计算的结果、解析结果等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文档信息解析方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
需要说明的是,本申请所涉及的待解析文档、训练文档,均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(MagnetoresistiveRandom Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccessMemory,DRAM)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。