版式文档的比对方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种版式文档的比对方法、装置、设备及存储介质。
背景技术
可扩展标记语言(Extensible Markup Language,XML)排版系统是一种常用的版式文档排版系统,其是一套利用前期结构化的数据和预先设计好的模板,通过版式排版软件的排版能力,自动化的实现排版、印刷、网刊发布流程的通用系统。在整个系统流程中,依据业务需要,可能需要手工对稿件通过版式排版编辑软件对版式文档做些内容修改和格式样式调整工作,这就要求能够进行版式文档的比较。
现有版式文档的比较,一般先由两个待比对的版式文档的段落组成构造两个有向序列,要求两个有向序列中的每个单元都要两两比较,对于序列长度比较短的情况,比对的次数相对较少。但是对于长度较长的序列来说就存在比对次数多,比对效率低的问题。
发明内容
本发明实施例提供一种版式文档的比对方法、装置、设备及存储介质,用以提高版式文档的比对效率。
本申请实施例第一方面提供一种版式文档的比对方法,包括:
接收文档收集设备采集获得的第一版式文档和第二版式文档;
对所述第一版式文档和所述第二版式文档中的段落执行语义分析处理,得到所述第一版式文档和所述第二版式文档中每个段落的描述对象;
分别将所述第一版式文档和所述第二版式文档中,描述对象相同且相邻的段落划分到同一分区;
将所述第一版式文档和所述第二版式文档中排序相同的段落及分区进行比对,并输出比对结果。
在一种实施方式中,所述分别将所述第一版式文档和所述第二版式文档中,描述对象相同且相邻的段落划分到同一分区,包括:
根据所述第一版式文档和所述第二板式文档中各段落的描述对象,分别对所述第一版式文档中的段落和所述第二板式文档中的段落进行聚类处理,将描述对象相同的段落划分为一类;
分别将所述第一版式文档和所述第二板式文档中,属于同一类且相邻的段落划分到同一分区。
在一种实施方式中,所述将所述第一版式文档和所述第二版式文档中排序相同的段落及分区进行比对,包括:
计算所述第一版式文档和所述第二版式文档中每个段落、每个分区的哈希值;
将所述第一板式文档和所述第二板式文档中排序相同的段落及分区的哈希值进行比对。
在一种实施方式中,计算所述第一版式文档和所述第二版式文档中每个段落、每个分区的哈希值,包括:
基于所述第一版式文档和所述第二版式文档中每个段落或分区的内容数据计算所述第一版式文档和所述第二版式文档中每个段落或分区的第一哈希值;
基于所述第一版式文档和所述第二版式文档中每个段落或分区的格式数据,计算所述第一版式文档和所述第二版式文档中每个段落或分区的第二哈希值。
本申请实施例第二方面提供一种版式文档比对装置,包括:
接收模块,用于接收文档收集设备采集获得的第一版式文档和第二版式文档;
语义分析模块,用于对所述第一版式文档和所述第二版式文档中的段落执行语义分析处理,得到所述第一版式文档和所述第二版式文档中每个段落的描述对象;
分区划分模块,用于分别将所述第一版式文档和所述第二版式文档中,描述对象相同且相邻的段落划分到同一分区;
比对模块,用于将所述第一版式文档和所述第二版式文档中排序相同的段落及分区进行比对,并输出比对结果。
在一种实施方式中,所述分区划分模块,包括:
聚类子模块,用于根据所述第一版式文档和所述第二板式文档中各段落的描述对象,分别对所述第一版式文档中的段落和所述第二板式文档中的段落进行聚类处理,将描述对象相同的段落划分为一类;
划分子模块,用于分别将所述第一版式文档和所述第二板式文档中,属于同一类且相邻的段落划分到同一分区。
在一种实施方式中,所述比对模块,包括:
计算子模块,用于计算所述第一版式文档和所述第二版式文档中每个段落、每个分区的哈希值;
比对子模块,用于将所述第一板式文档和所述第二板式文档中排序相同的段落及分区的哈希值进行比对。
在一种实施方式中,所述计算子模块在计算所述第一版式文档和所述第二版式文档中每个段落、每个分区的哈希值时,具体用于:
基于所述第一版式文档和所述第二版式文档中每个段落或分区的内容数据计算所述第一版式文档和所述第二版式文档中每个段落或分区的第一哈希值;
基于所述第一版式文档和所述第二版式文档中每个段落或分区的格式数据,计算所述第一版式文档和所述第二版式文档中每个段落或分区的第二哈希值。
本申请实施例第三方面提供一种计算机设备,包括处理器、显示屏和存储器;
所述存储器中存储有指令,当所述指令被所述处理器执行时,所述处理器执行如上述第一方面所述的方法。
本申请实施例第四方面提供一种计算机存储介质,所述计算机存储介质上存储有计算机指令,所述计算机指令用于使所述计算机执行如上述第一方面所述的方法。
基于以上各方面,本申请实施例提供的版式文档的比对方法、装置、设备及存储介质,通过对第一版式文档和第二版式文档中的段落执行语义分析处理,分别将第一版式文档和第二版式文档中描述对象相同且相邻的段落划分到同一分区,并将第一版式文档和第二版式文档中排序相同的段落及分区进行比对,避免了将版式文档的段落进行逐个对比,大大减少了版式文档内容的比对次数,提高了比对效率。
应当理解,上述发明内容部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本公申请的其它特征将通过以下的描述变得容易理解。
附图说明
图1为本发明实施例的一种版式文档结构示意图;
图2为本申请实施例提供的一种版文档节点关联关系示意图;
图3为本发明实施例的一种版式文档比对方法的流程图;
图4为本发明实施例的一种文章内容编号关联示意图;
图5为本发明实施例的一种段落划分示意图;
图6为本发明实施例的一种段落划分方法的流程图;
图7为本发明实施例的一种段落分区比对的流程图;
图8为本发明实施例的一种比对序列的结构示意图;
图9为本发明实施例的一种计算段落和分区哈希值的流程图;
图10为本发明实施例的一种版式文档比对装置的结构示意图;
图11为本发明实施例的一种分区划分模块的结构示意图;
图12为本发明实施例的一种比对模块的结构示意图;
图13为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例的一种版式文档内容结构示意图,如图1所示,版式文档内容结构包含锚点信息、索引信息、文章内容等部分,文章内容包含多个段落和文章样式格式,每个段落包含段落内容和段落的样式格式,段落内容包含文字、图片或表格、段落内容样式格式。
版式文档的比对主要是针对文章内容的比对,版式文档具有多个离散的块元素,如图2所示,块元素为文章内容、段落、段落内容、图片、文字和标点符号,每个块元素之间有可能是各自独立的,也有可能存在嵌套等关联关系,嵌套的关联关系如图2中图片中嵌套有文章内容,因此,如果直接基于离散块式结构进行比较的话,比较难度较大,效率较低。
针对相关技术存在的上述问题和需求,本申请实施例提供了一种版式文档的比对方法,示例的,图3是本申请实施例提供的一种版式文档的比对方法的流程图,如图3所示,该方法包括:
S301、接收文档收集设备采集获得的第一版式文档和第二版式文档。
具体的,接收计算机或者移动终端等文档收集设备获得的第一版式文档和第二版式文档,其中,第一版式文档为原始版式文档,第二版式文档为待比对的版式文档,其中,如图4所示,第一版式文档和第二版式文档中的文章内容按照顺序编号。
S302、对第一版式文档和第二版式文档中的段落执行语义分析处理,得到第一版式文档和第二版式文档中每个段落的描述对象。
具体的,对于第一版式文档和第二版式文档中的文章内容提取每个段落的文本内容,利用分词工具对文本内容执行分词,基于分词得到的词语进一步生成有向句子序列,然后通过预设的语义分析模型得到每个段落的描述对象,其中,描述对象可以用段落的语义特征向量表示,分词工具比如可以是结巴分词工具、盘古分词工具和庖丁解牛分词工具等常用分词工具。
S303、分别将第一版式文档和第二版式文档中,描述对象相同且相邻的段落划分到同一分区。
示例的,图5为本发明实施例的一种段落划分示意图,如图5所示,假设段落1和段落2的描述对象相同,则将段落1和段落2划分到同一个分区。当然这里仅为示例说明而不是唯一限定。
S304、将第一版式文档和第二版式文档中排序相同的段落及分区进行比对,并输出比对结果。
本实施例通过分别将第一版式文档和第二版式文档中,描述对象相同且相邻的段落划分到同一分区,将第一版式文档和第二版式文档中排序相同的段落及分区进行比对,减少了版式文档内容的比对次数,提高了比对效率。
图6为本发明实施例的一种段落划分的流程图,如图6所示,分别将第一版式文档和第二版式文档中,描述对象相同且相邻的段落划分到同一分区,包括:
S601、根据第一版式文档和第二板式文档中各段落的描述对象,分别对第一版式文档中的段落和第二板式文档中的段落进行聚类处理,将描述对象相同的段落划分为一类。
其中在对描述对象进行聚类时,可以根据描述对象对应的语义特征向量,将语义特征向量相似度高于预设阈值的描述对象确定为同一描述对象,进而将同一描述对象划分为一类。
S602、分别将第一版式文档和第二板式文档中,属于同一类且相邻的段落划分到同一分区。
图7为本发明实施例的一种段落分区比对的流程图,如图7所示,将第一版式文档和第二版式文档中排序相同的段落及分区进行比对,包括:
S701、计算第一版式文档和第二版式文档中每个段落、每个分区的哈希值。
示例的,如图8所示,针对第一版式文档和第二版式文档中的每个段落和分区,以段落或分区中的全部内容为计算对象,计算每个段落和分区的哈希值。
举例来说,图9为本发明实施例的一种计算段落哈希值、分区哈希值的流程图,如图9所示,计算第一版式文档和第二版式文档中每个段落、每个分区的哈希值,包括:
S901、基于第一版式文档和第二版式文档中每个段落或分区的内容数据计算第一版式文档和第二版式文档中每个段落或分区的第一哈希值。
具体的,每个段落或分区的内容数据包括文本内容信息、图片或表格信息、标点符号信息,利用哈希算法计算即可得到第一版式文档和第二版式文档中每个段落或分区的第一哈希值。
S902、基于第一版式文档和第二版式文档中每个段落或分区的格式数据,计算第一版式文档和第二版式文档中每个段落或分区的第二哈希值。
S702、将第一板式文档和第二板式文档中排序相同的段落及分区的哈希值进行比对。
承接图9的示例,本实施例中可分别对第一版式文档和第二版式文档中相同段落的第一哈希值、第二哈希值进行对比,当两个段落的第一哈希值和第二哈希值全部一致时,则说明两个段落相同,否则不同。同时若第一哈希值不同则说明段落中的文字、符号、图片或者表格中的至少一个被修改,若第二哈希值不同,则说明段落的的格式被修改。
本实施例通过计算第一版式文档和第二版式文档中每个段落、每个分区的哈希值,并将第一板式文档和第二板式文档中排序相同的段落及分区的哈希值进行比对,减少了版式文档内容的比对次数,提高了比对效率。
图10为本发明实施例的一种版式文档比对装置的结构示意图,如图10所示,版式文档比对装置100,包括:
接收模块101,用于接收文档收集设备采集获得的第一版式文档和第二版式文档;
语义分析模块102,用于对第一版式文档和第二版式文档中的段落执行语义分析处理,得到第一版式文档和第二版式文档中每个段落的描述对象;
分区划分模块103,用于分别将第一版式文档和第二版式文档中,描述对象相同且相邻的段落划分到同一分区;
比对模块104,用于将第一版式文档和第二版式文档中排序相同的段落及分区进行比对,并输出比对结果。
图11为本发明实施例的一种分区划分模块的结构示意图,如图11所示,分区划分模块103,包括:
聚类子模块111,用于根据第一版式文档和第二板式文档中各段落的描述对象,分别对第一版式文档中的段落和第二板式文档中的段落进行聚类处理,将描述对象相同的段落划分为一类;
划分子模块112,用于分别将第一版式文档和第二板式文档中,属于同一类且相邻的段落划分到同一分区。
图12为本发明实施例的一种比对模块的结构示意图,如图12所示,比对模块104,包括:
计算子模块121,用于计算第一版式文档和第二版式文档中每个段落、每个分区的哈希值;
比对子模块122,用于将第一板式文档和第二板式文档中排序相同的段落及分区的哈希值进行比对。
在一个可选的实施例中,计算子模块121在计算第一版式文档和第二版式文档中每个段落、每个分区的哈希值时,具体用于:
基于第一版式文档和第二版式文档中每个段落或分区的内容数据计算第一版式文档和第二版式文档中每个段落或分区的第一哈希值;
基于第一版式文档和第二版式文档中每个段落或分区的格式数据,计算第一版式文档和第二版式文档中每个段落或分区的第二哈希值。
本实施例提供的装置能够执行上述任一方法实施例的方法,其执行方式和效果类似,在这里不再赘述。
图13是本申请实施例提供的一种计算机设备的结构示意图,如图13所示,计算机设备130包括:
处理器131;
显示屏132;
存储装置133,用于存储一个或多个程序,当一个或多个程序被处理器执行,使得处理器实现如上述任一方法实施例的方法,其执行方式和效果类似,在这里不再赘述。
本申请实施例还提供在一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一方法实施例的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。