首页> 中国专利> 基于XML的多页文档处理方法、装置、计算机设备及介质

基于XML的多页文档处理方法、装置、计算机设备及介质

摘要

本发明涉及表单数据处理领域,公开了一种基于XML的多页文档处理方法、装置、计算机设备及介质,其方法包括:通过光学字符识别程序处理包含表单的多页文档,生成XML数据;根据XML数据构建二维矩阵;根据预设分类识别算法处理二维矩阵和多页文档,生成若干表单分页数据和表单结构信息,一个表单分页数据对应一个表单结构信息;通过自然语言处理模型处理表单单元数据,生成若干表单字段数据;根据表单结构信息和表单字段数据合成目标表单。本发明解决了海关报关系统的制单流程处理效率低、处理成本高的问题。

著录项

  • 公开/公告号CN112528599A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 信号旗智能科技(上海)有限公司;

    申请/专利号CN202011479857.8

  • 发明设计人 庄志强;施光辉;陆承丰;王鹤;

    申请日2020-12-15

  • 分类号G06F40/14(20200101);G06F40/174(20200101);G06F40/18(20200101);G06K9/32(20060101);

  • 代理机构

  • 代理人

  • 地址 200120 上海市浦东新区中国(上海)自由贸易试验区纳贤路800号1幢A座8楼A1-3室

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本发明涉及表单数据处理领域,尤其涉及一种基于XML的多页文档处理方法、装置、计算机设备及介质。

背景技术

目前,在海关报关系统中,制单流程涉及大量的字段数据变动,需要消耗大量人工成本。

因而,需要寻找一种高效的基于XML的多页文档处理方法,提高表单处理能力,减少人工成本。

发明内容

基于此,有必要针对上述技术问题,提供一种基于XML的多页文档处理方法、装置、计算机设备及介质,以解决海关报关系统的制单流程处理效率低、处理成本高的问题。

一种基于XML的多页文档处理方法,包括:

通过光学字符识别程序处理包含表单的多页文档,生成XML数据;

根据所述XML数据构建二维矩阵;

根据预设分类识别算法处理所述二维矩阵和所述多页文档,生成若干表单分页数据和表单结构信息,一个表单分页数据对应一个表单结构信息;

通过自然语言处理模型处理所述表单单元数据,生成若干表单字段数据;

根据所述表单结构信息和所述表单字段数据合成目标表单。

一种基于XML的多页文档处理装置,包括:

光学字符识别模块,用于通过光学字符识别程序处理包含表单的多页文档,生成XML数据;

矩阵构建模块,用于根据所述XML数据构建二维矩阵;

分页模块,用于根据预设分类识别算法处理所述二维矩阵和所述多页文档,生成若干表单分页数据和表单结构信息,一个表单分页数据对应一个表单结构信息;

字段数据提取模块,用于通过自然语言处理模型处理所述表单单元数据,生成若干表单字段数据;

合成表单模块,用于根据所述表单结构信息和所述表单字段数据合成目标表单。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述基于XML的多页文档处理方法。

一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述基于XML的多页文档处理方法。

上述基于XML的多页文档处理方法、装置、计算机设备及存储介质,解决了海关报关系统的制单流程处理效率低、处理成本高的问题。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中基于XML的多页文档处理方法的一应用环境示意图;

图2是本发明一实施例中基于XML的多页文档处理方法的一流程示意图;

图3是本发明一实施例的XML数据;

图4是本发明一实施例排序后的二维矩阵;

图5是本发明一实施例表头定位算法的流程示意图;

图6是本发明一实施例中多页文档中的一原始单证;

图7是本发明一实施例中对原始单证进行表头定位、表底定位后的效果图;

图8是本发明一实施例中表底定位算法的流程示意图;

图9是本发明一实施例中表头定位算法的流程示意图;

图10是本发明一实施例中虚拟划线算法的流程示意图;

图11是本发明一实施例中虚拟划线算法还原表格的示意图;

图12是本发明一实施例中生成的表格数据(表体数据)和表底数据;

图13是本发明一实施例中目标表单的效果图;

图14是本发明一实施例中基于XML的多页文档处理装置的一结构示意图;

图15是本发明一实施例中计算机设备的一示意图。

具体实施方式

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

本实施例提供的基于XML的多页文档处理方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图2所示,提供一种基于XML的多页文档处理方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤。

S10、通过光学字符识别程序处理包含表单的多页文档,生成XML数据。

可理解地,光学字符识别程序(OCR,optical character recognition)是一种常用的字符识别工具,可以从图像文件中提取出文字信息。多页文档可以是若干海关报关报表的扫描件。在多页文档中,一般包含了多个需要识别的表单。在此处,多页文档指的是文档的页数在两页或两页以上。XML(Extensible Markup Language,可扩展标记语言)数据可以是以xml格式保存的数据。在本实施例中的XML数据,每一字符单独成块(block)。如图3所示,图3为一实施例的XML数据。

S20、根据所述XML数据构建二维矩阵。

对XML数据中的各个块进行自上而下、自左而右地排序,生成二维矩阵。该二维矩阵有若干行和若干列。如图4所示,图4为一实施例排序后的二维矩阵。

S30、根据预设分类识别算法处理所述二维矩阵和所述多页文档,生成若干表单分页数据和表单结构信息,一个表单分页数据对应一个表单结构信息。

预设分类识别算法可由若干子算法组成,用于将二维矩阵分解为若干表单分页数据,同时从多页文档中提取出表单结构信息。每个表单分页数据包含了某一表单的内容。表单结构信息则为表单中各个单元格的排布状况,包括单元格的大小、坐标(在表单的位置)等。

S40、通过自然语言处理模型处理所述表单单元数据,生成若干表单字段数据。

自然语言处理模型(NLP,Natural Language Processing)是一种基于自然语言处理算法构建的模型,可以基于自然语义将表单单元数据分割为若干个表单字段数据。每个表单字段数据代表独立的词语单元。

S50、根据所述表单结构信息和所述表单字段数据合成目标表单。

可理解地,在表单结构信息中,划分了若干个单元格。可以将提取出的表单字段数据依次填充进单元格中,形成目标表单。

可选的,所述预设分类识别算法包括Key字典匹配算法和预设分页算法,步骤S30,即所述根据预设分类识别算法处理所述二维矩阵和所述多页文档,生成若干表单分页数据和表单结构信息,包括:

S301、通过所述Key字典匹配算法处理所述二维矩阵,判断所述二维矩阵对应的页面是否为多页;

S302、若所述二维矩阵对应的页面为多页,按所述预设分页算法处理所述二维矩阵和所述多页文档,生成若干所述表单分页数据和所述表单结构信息。

Key字典匹配算法指的是,预先存储若干表头(title)的键值(Key),根据该键值判断相邻的若干个块是否为表头。在一示例中,通过Key字典匹配算法,可以将二维矩阵处理为:表头1,……,表头2,……,表头3……。可以基于表头的位置将二维矩阵分割为若干个表单分页数据。如:

表单分页数据1:表头1,……;

表单分页数据2:表头2,……;

表单分页数据2:表头2,……;

……。

在一些情况下,Key字典匹配算法还可以包括其他键值,如一些报关常用词汇。通过搜索匹配的方式对二维矩阵中的块进行纠错,减少错别字。

多页文档一般包含多种文档类型,如发票、装箱单、预录单、申报要素、合同等报关凭证。在一示例中,在对二维矩阵进行分页后,可以识别各个表单分页数据的文档类型,然后将属于同一文档类型划分为一套。此即为分套算法。

可选的,步骤S301之后,即所述通过所述Key字典匹配算法处理所述二维矩阵,判断所述二维矩阵对应的页面是否为多页之后,还包括:

S303、若所述二维矩阵对应的页面为单页,则通过自然语言处理模型处理所述二维矩阵。

在此处,若二维矩阵仅包含一页,则不需要对其进行分页、分套处理。

可选的,步骤S302,即所述若所述二维矩阵对应的页面为多页,按所述预设分页算法处理所述二维矩阵,生成若干所述表单分页数据和所述表单结构信息,包括:

S3021、通过表头定位算法确定所述表单分页数据的表头及其坐标;

S3022、通过表底定位算法确定所述表单分页数据的表底及其坐标;

S3023、通过表头设置算法更新所有所述表单分页数据的表头内容;

S3024、通过虚拟划线算法解析所述多页文档,生成单元格划分信息。

在此处,如图5所示,图5为表头定位算法的流程示意图。在定位表头前,可以对若干表单分页数据的页码进行设置。例如,重置前页码为0、2、3、1、4;重置后页码为0、1、2、3、4。

在定位表头时,先获取Key字典匹配算法确定的表头,然后根据表头附近的线定位表头的位置。在一示例中,表头附近的线指的是表头下方的线。若线定位失败,则通过表头与页面或其他参考物的间隔进行定位。其他参考物可以指页面任意一处易于识别并定位的图形或字符。

可以逐一对各个表单分页数据的表头进行定位,直至最后一页的表头定位完成。表头定位完成后,表单结构信息包含了各个表头的坐标。如图6、7所示,图6为一示例多页文档中的一原始单证,图7为对原始单证进行表头定位后的效果图。

如图8所示,图8为表底定位算法的流程示意图。对表单分页数据中的块从上到下进行排序。通过关键词定位表底,若定位失败,则判断是否存在最长线(底边线),若存在最长线,则根据该最长线确定表底。若不存在最长线,则通过图像识别算法判断是否存在表底的标识,若存在表底的标识,则根据该标识确定表底。若不存在表底的标识,则可以通过人工处理的方式确定表底。如图7所示,图7为对原始单证进行表底定位后的效果图。

如图9所示,图9为表头设置算法的流程示意图。表头设置算法可以检查每一表单分页数据,判断表单分页数据的表头是否为空,若表头为空,则复制上一表单分页数据的表头,将该表头设置为当前表单分页数据的表头。通过表头设置算法,可以使每个表单分页数据均包含表头。在一些情况下,对于一个超出页面长度的表格,可以分布在多个连续的页面上。通过表头设置算法可以为这些被拆分的表格增加表头,以便于表单数据识别。

如图10所示,图10为虚拟划线算法的流程示意图。在虚拟划线算法中,先确定表头的位置,然后定位所有的横竖线,对所有的横竖线进行排序,根据横竖线切割表格,建立虚拟的表格,还原表格。生成的表格即为单元格划分信息。在一示例中,图11为虚拟划线算法还原表格的示意图。

可选的,步骤S50,即所述根据所述表单结构信息和所述表单字段数据合成目标表单,包括:

S501、根据所述表头和所述单元格划分信息生成表头数据;

S502、根据所述表底和所述单元格划分信息生成表底数据;

S503、将未分入所述表头和所述表底的数据划入表体,并根据所述表体和所述单元格划分信息生成表体数据;

S504、对所述表体数据中的空位单元格进行合并处理,并根据所述表头数据、所述表底数据和合并处理后的表体数据生成所述目标表单。

在合成表格时,可以先判断是否有表头,若没有表头,可以转为人工处理。若有表头,可以先遍历所有表表格,将空白行合并。

然后根据表头和单元格划分信息中生成表头数据,根据表底和单元格划分信息生成表底数据,将未分入表头和表底的数据划入表体,并根据表体和单元格划分信息生成表体数据。在一示例中,如图12所示,图12为一示例生成的表格数据(表体数据)和表底数据。在生成表体数据后,需要对表体数据中的空位单元格(单元格内无内容)进行合并处理。

在生成表头数据、表底数据和表体数据后,可以将这三部分合并,生成目标表单。如图13所示,图13为一示例目标表单的效果图。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种基于XML的多页文档处理装置,该基于XML的多页文档处理装置与上述实施例中基于XML的多页文档处理方法一一对应。如图14所示,该基于XML的多页文档处理装置包括光学字符识别模块10、矩阵构建模块20、分页模块30、字段数据提取模块40和合成表单模块50。各功能模块详细说明如下:

光学字符识别模块10,用于通过光学字符识别程序处理包含表单的多页文档,生成XML数据;

矩阵构建模块20,用于根据所述XML数据构建二维矩阵;

分页模块30,用于根据预设分类识别算法处理所述二维矩阵和所述多页文档,生成若干表单分页数据和表单结构信息,一个表单分页数据对应一个表单结构信息;

字段数据提取模块40,用于通过自然语言处理模型处理所述表单单元数据,生成若干表单字段数据;

合成表单模块50,用于根据所述表单结构信息和所述表单字段数据合成目标表单。

可选的,所述预设分类识别算法包括Key字典匹配算法和预设分页算法,分页模块30包括:

多页判断单元,用于通过所述Key字典匹配算法处理所述二维矩阵,判断所述二维矩阵对应的页面是否为多页;

分页单元,用于若所述二维矩阵对应的页面为多页,按所述预设分页算法处理所述二维矩阵和所述多页文档,生成若干所述表单分页数据和所述表单结构信息。

可选的,分页模块30包括:

单页处理单元,用于若所述二维矩阵对应的页面为单页,则通过自然语言处理模型处理所述二维矩阵。

可选的,分页单元包括:

表头定位单元,用于通过表头定位算法确定所述表单分页数据的表头及其坐标;

表底定位单元,用于通过表底定位算法确定所述表单分页数据的表底及其坐标;

表头更新单元,用于通过表头设置算法更新所有所述表单分页数据的表头内容;

单元格划分单元,用于通过虚拟划线算法解析所述多页文档,生成单元格划分信息。

可选的,合成表单模块50包括:

表头数据生成单元,用于根据所述表头和所述单元格划分信息生成表头数据;

表底数据生成单元,用于根据所述表底和所述单元格划分信息生成表底数据;

表体数据生成单元,用于将未分入所述表头和所述表底的数据划入表体,并根据所述表体和所述单元格划分信息生成表体数据;

目标表格生成单元,用于对所述表体数据中的空位单元格进行合并处理,并根据所述表头数据、所述表底数据和合并处理后的表体数据生成所述目标表单。

关于基于XML的多页文档处理装置的具体限定可以参见上文中对于基于XML的多页文档处理方法的限定,在此不再赘述。上述基于XML的多页文档处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储基于XML的多页文档处理方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种基于XML的多页文档处理方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:

通过光学字符识别程序处理包含表单的多页文档,生成XML数据;

根据所述XML数据构建二维矩阵;

根据预设分类识别算法处理所述二维矩阵和所述多页文档,生成若干表单分页数据和表单结构信息,一个表单分页数据对应一个表单结构信息;

通过自然语言处理模型处理所述表单单元数据,生成若干表单字段数据;

根据所述表单结构信息和所述表单字段数据合成目标表单。

在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:

通过光学字符识别程序处理包含表单的多页文档,生成XML数据;

根据所述XML数据构建二维矩阵;

根据预设分类识别算法处理所述二维矩阵和所述多页文档,生成若干表单分页数据和表单结构信息,一个表单分页数据对应一个表单结构信息;

通过自然语言处理模型处理所述表单单元数据,生成若干表单字段数据;

根据所述表单结构信息和所述表单字段数据合成目标表单。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号