CN105335360A - 生成文档结构的方法和装置 - Google Patents

生成文档结构的方法和装置 Download PDF

Info

Publication number
CN105335360A
CN105335360A CN201410225252.4A CN201410225252A CN105335360A CN 105335360 A CN105335360 A CN 105335360A CN 201410225252 A CN201410225252 A CN 201410225252A CN 105335360 A CN105335360 A CN 105335360A
Authority
CN
China
Prior art keywords
piece
version
block
file structure
edition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410225252.4A
Other languages
English (en)
Other versions
CN105335360B (zh
Inventor
郭志立
郭宏蕾
钱伟红
包胜华
D·帕塞托
苏中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201410225252.4A priority Critical patent/CN105335360B/zh
Priority to US14/721,340 priority patent/US9753905B2/en
Publication of CN105335360A publication Critical patent/CN105335360A/zh
Application granted granted Critical
Publication of CN105335360B publication Critical patent/CN105335360B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files

Abstract

本发明提供了用于生成文档结构的方法和装置。具体地,提供了一种用于生成文档结构的方法,包括:针对文档的多个历史版本中的至少一对历史版本中的第一版本和第二版本,对准第一版本和第二版本中的各个部分;基于第一版本和第二版本中的所对准的各个部分之间的编辑距离,将第一版本和第二版本划分为多个块;针对多个块中的块,基于所述块的文本特征来评估所述块在所述文档结构中的层级;以及根据评估结果,基于块的位置生成文档结构。进一步,提供了一种用于生成文档结构的装置。采用本发明,可以以更为方便、快捷的方式生成文档结构。

Description

生成文档结构的方法和装置
技术领域
本发明的各实施方式涉及文档管理,更具体地,涉及基于文档的多个历史版本生成文档结构的方法和装置。
背景技术
长文档通常具有复杂的文档结构,用户可以借助于文档结构来快速地在文档中找到期望查阅的内容。尤其是诸如法律、技术标准、合同等的文档可能会包括数十个章节、数百个条款,如果用户仅关心文档中的某一章节的某个条款,在没有文档结构的辅助的情况下,用户需要浏览数百甚至上千的页面并找到期望的内容,工作量可想而知。
现有的文档编辑工具已经提供了设置文档结构的功能,用户可以使用这些文档编辑工具在编辑文档期间为文档中的不同部分设置相应的文档结构,例如,可以针对文档的标题设置“标题”层级的文档结构,针对文档中的第一章设置“章节”层级的文档结构,等等。也就是说,用户可以在文档中设置不同层级的标题,并且在每个章节中还可以进一步设置其他层级。然而,由于很多法律、技术标准等文档是在多年以前颁布的,目前可能仅仅存在印刷的纸质版本而并不存在电子版,或者即使存在电子版,该电子版可能也仅仅是纯文本的格式而其中并不包括文档结构信息。
还应当理解,对于长度较短的文档,可以通过人工方式来从文档中提取文档结构;然而,对于多年以来经历了反复修订、并且包括数百甚至上千页的长文档,如何生成文档结构成为一个亟待解决的问题。
发明内容
因而,期望能够开发一种能够准确、高效地从文档中提取文档结构的技术方案,期望该技术方案可以充分考虑文档的多个历史版本中内容的相似性和差异,并通过比较的方式从多个历史版本中生成文档结构。进一步,期望该技术方案可以与现有的生成文档结构的技术方案相兼容,并且期望可以将基于本发明的技术方案所生成的文档结构与基于现有技术所生成的文档结构相结合,以便提供更加准确的文档结构。
根据本发明的一个方面,提供了一种用于生成文档结构的方法,包括:针对文档的多个历史版本中的至少一对历史版本中的第一版本和第二版本,对准(align)第一版本和第二版本中的各个部分;基于第一版本和第二版本中的所对准的各个部分之间的编辑距离,将第一版本和第二版本划分为多个块;针对多个块中的块,基于块的文本特征来评估块在文档结构中的层级;以及根据评估结果,基于块的位置生成文档结构。
根据本发明的一个方面,提供了一种用于生成文档结构的装置,包括:对准模块,配置用于针对文档的多个历史版本中的至少一对历史版本中的第一版本和第二版本,对准第一版本和第二版本中的各个部分;划分模块,配置用于基于第一版本和第二版本中的所对准的各个部分之间的编辑距离,将第一版本和第二版本划分为多个块;评估模块,配置用于针对多个块中的块,基于块的文本特征来评估块在文档结构中的层级;以及生成模块,配置用于根据评估结果,基于块的位置生成文档结构。
采用本发明所述的方法和装置,可以充分考虑一个文档的多个历史版本之间的差异,进而基于该差异来提取该文档的文档结构。另外,本发明的各个实施方式的实现无关于文档是以何种语言撰写,因而可以被应用于从以任何语言撰写的文档中提取文档结构。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示意性示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2示意性示出了具有不同层级的文档结构的文档的页面布局的示例;
图3示意性示出了根据本发明一个实施方式的、基于文档的多个历史版本生成文档结构的技术方案的架构图;
图4示意性示出了根据本发明一个实施方式的、基于文档的多个历史版本生成文档结构的方法的流程图;
图5示意性示出了根据本发明一个实施方式的、将第一版本和第二版本划分为多个块的示意图;
图6A-图6C示意性示出了根据本发明一个实施方式的、基于块的文本特征来评估块的概率评分的示意图;以及
图7示意性示出了根据本发明一个实施方式的、基于文档的多个历史版本生成文档结构的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图2示意性示出了具有不同层级的文档结构的文档的页面布局的示例200。文档(尤其是法律、技术标准等长文档)可以具有复杂的结构。例如如图2中所示的《中国专利法》,该文档可以包括标题210、章节220、条款230、子条款240等层级的文档结构。另外,文档中还可能会存在交叉引用的情况,例如,文档1的条款1中记载:“请参见***号技术标准第***条”,此时,文档结构中还可以包括“交叉引用”类型的标记。
目前已经开发出了一些用于生成文档结构的技术方案,然而这些技术方案在不同方面存在不足。根据一个技术方案,可以通过识别文档的布局来提取文档结构。具体地,在如图2所示的示例中,标题210以3号字体居中显示,而章节220以4号字体居中显示,此时可以通过识别文档中的各个部分的显示模式、字体、字号、缩进等特征,来生成文档结构。
然而此技术方案的缺陷在于,目前的许多文档并不存在电子版,而是只能通过扫描识别纸质文档来获取电子版。在扫描识别过程中,很可能会丢失关于字体、字号、布局等方面的信息,或者在识别过程期间可能会出现错误,这将导致用作生成文档结构的基础的电子版并不准确,进而难以获得准确的文档结构。
目前还开发出了基于分析文档的语义内容来生成文档结构的技术方案,然而这种分析过程在很大程度上依赖于撰写文档时使用的语言。例如对于图2中的文档,可以通过搜索“CHAPTER”、“Article”等关键字,来定位每个章节和条款的位置。然而对于以不同语言撰写的文档,需要有经验的技术人员人工分析文档的结构,并且设置特定语言的关键字。此技术方案在很大程度上依赖于技术人员的经验,并且是与语言相关的,无法被应用于以不同语言撰写的文档。另外,如果图2所示的文档是以中文撰写,然而技术人员不懂中文时,该技术方案根本不能运行。
另外,对于诸如法律、技术标准等长文档可能会存在多个历史版本,如果希望分析每个历史版本的文档结构,采用现有的技术方案需要针对每个文档逐一进行分析,而并不能考虑各个历史版本之间的关联。
因而,期望开发出一种可以在无需人工操作的情况下,自动地从文档的多个历史版本生成文档结构的技术方案,期望该技术方案可以充分考虑文档的多个历史版本中内容的相似性和差异,来通过比较的方式从多个历史版本中提取文档结构。
针对现有技术的上述不足,本发明的各个实施方式提出了一种基于文档的多个历史版本生成文档结构的技术方案。图3示意性示出了根据本发明一个实施方式的、基于文档的多个历史版本生成文档结构的技术方案的架构图300。如图3所示,假设某文档存在多个历史版本,分别是版本1310、版本2312、...、以及版本n314。此时,可以将上述版本中的内容进行对准(如箭头A)所示。继而针对对准后的各个部分计算编辑距离320。编辑距离是指两个字符串之间,由一个字符串转成另一个字符串所需的最少编辑操作次数,目前已经存在诸多算法来计算编辑距离,在下文中将结合具体示例介绍如何计算编辑距离。
继续参见图3,基于编辑距离320可以将各个版本中的每个版本划分为多个块(如箭头B所示)。例如,如果对准后发现版本1310的第1-3段和版本2312的第1-3段完全相同(即,编辑距离为0),而版本1310的第4-6段和版本2312的第4-6段存在差异(即,编辑距离大于0),则可以将各个版本中的第1-3段划分为一个块,并将第4-6段划分为一个块。
根据本发明,规则库340可以存储用于评估多个块的文本特征的规则,基于规则库340来针对多个块330进行评估(如箭头C所示),可以获取针对每个块的评估结果350,该评估结果350可以描述每个块在文档结构中的层级(例如,标题、章节、条款等)。继而,在如箭头D所示的步骤中,即可基于评估结果350来生成文档结构360。
应当注意,通过统计分析发现,人们对文档的修订通常主要集中在文档结构中的各个层级的位置。例如,对于如图2所示的示例,修订可能主要集中在例如修改章节的名称、增加或者删除条款/子条款、在文档的头部位置修改版本说明,等等。
本发明基于上述原理而实现,即通过充分考虑各个历史版本之间的相似性和差异,来从多个历史版本中生成文档结构。具体地,本发明的各个实施方式提出了一种用于生成文档结构的方法,包括:针对文档的多个历史版本中的至少一对历史版本中的第一版本和第二版本,对准第一版本和第二版本中的各个部分;基于第一版本和第二版本中的所对准的各个部分之间的编辑距离,将第一版本和第二版本划分为多个块;针对多个块中的块,基于块的文本特征来评估块在文档结构中的层级;以及根据评估结果,基于块的位置生成文档结构。
在下文中将参见图4-图7详细描述本发明的具体实现细节。图4示意性示出了根据本发明一个实施方式的用于生成文档结构的方法的流程图400。具体地,在步骤S402中,针对文档的多个历史版本中的至少一对历史版本中的第一版本和第二版本,对准第一版本和第二版本中的各个部分。应当注意,目前已经开发出了用于对准文档中的内容的多种成熟算法,在本发明的上下文中并不限定采用哪种算法来实现对准,而是本领域技术人员可以基于具体应用环境来采用任何算法。
应当注意,可以将多个历史版本中的任何两个不同版本进行对准,例如在存在n个历史版本的情况下,可以将版本1与版本2至版本n进行对准,将版本2与版本3至版本n进行对准,以此类推。尽管在本发明的上下文中以第一版本和第二版本来表示两个历史版本,本领域技术人员应当注意,第一版本和第二版本并不特指多个历史版本中的某两个版本,而是可以表示多个版本中的任意两个不同的版本。在执行对准步骤S402之后,可以针对任意一对历史版本中的第一版本和第二版本执行下文所述的步骤S404-S408。
在步骤S404中,基于第一版本和第二版本中的所对准的各个部分之间的编辑距离,将第一版本和第二版本划分为多个块。目前已经存在计算编辑距离的成熟算法,在本发明的上下文中仅概括介绍实现步骤,本领域技术人员可以自行实现具体步骤。
为简单起见,仅以字符串作为文档中对准后的部分的具体示例。假设对准后的部分分别为第一版本中的字符串“kitten”和第二版本中的字符串“sitting”,可以经过如下步骤来将字符串“kitten”转换为字符串“sitting”:
步骤1:sitten(k→s)
步骤2:sittin(e→i)
步骤3:sitting(→g)
上述转换包括3个操作步骤,因而这两个字符串之间的编辑距离可以是3。关于如何计算编辑距离的更多细节,本领域技术人员可以参见http://en.wikipedia.org/wiki/Levenshtein_distance,在本发明的上下文中将不再赘述。在本发明的上下文中,尽管对准后的部分可以包括更多字符(例如,包括多个行、多个段、甚至多个页),本领域技术人员可以基于上文所述的原理来计算编辑距离,或者本领域技术人员可以根据具体实现环境的需求来修改计算编辑距离的具体算法。
在获得编辑距离之后,可以将各个版本划分为多个块。继而,可以针对划分所得的每个块来执行步骤S406-S408所示的操作。在步骤S406中,针对多个块中的块,基于块的文本特征来评估块在文档结构中的层级。已经发现,块的文本特征与该块是否是文档结构中的某个层级之间存在关联关系。具体地,例如一个块在多个历史版本中的大多数版本中都曾经出现过,那么该块很可能是文档结构中的一个层级(例如,可能是文档中的“概述”章节的内容,尽管文档中的细节可能会有所修改,然而“概述”章节的内容通常保持不变)。在下文中,将参见图6,并结合具体示例来详细描述如何基于块的文本特征来评估块的概率评分。
继续参见图4,在步骤S408中,根据评估结果,基于块的位置生成文档结构。由于目前已经知晓了描述一个块是否是文档结构中的一个层级的评估结果,此时可以根据该评估结果来生成文档结构中的相对应的层级。应当注意,由于文档结构中的层级位于段落的开始位置,因而本发明中的块的位置可以是块的开始位置。
应当注意,由于本发明中的多个块可以来自于多个历史版本中的任何一个版本,因而基于各个块的开始位置,可以生成针对各个历史版本的文档结构。例如,块A来自于历史版本A,则可以基于块A的开始位置在历史版本A中标记一个层级;如果块B来自于历史版本B,则可以基于块B的开始位置在历史版本B中标记一个层级。采用本发明的技术方案,可以同时生成针对每个历史版本的文档结构。
在本发明的一个实施方式中,基于第一版本和第二版本中的所对准的各个部分之间的编辑距离,将第一版本和第二版本划分为多个块包括:响应于编辑距离大于预定阈值,将该部分标识为差异块;以及响应于编辑距离小于或者等于预定阈值,将该部分标识为匹配块。具体地,可以将编辑距离为0的块标识为匹配块,并将编辑距离大于0的块标识为差异块。
图5示意性示出了根据本发明一个实施方式的、将第一版本和第二版本划分为多个块的示意图500。具体地,图5中的左列示出了版本1510的示意图,而右列示出了版本2520的示意图。如图5所示,两个版本的第一段是相同的,编辑距离为0,因而将两个版本的第一段标识为匹配块。通过对准版本1510和版本2520,发现在版本2520中并不存在对应于版本1510中的第二段的内容,因而可以将版本1510中的第二段标记为差异块。以此类推,可以将版本1510和版本2520划分为多个块。
在本发明的一个实施方式中,根据评估结果,基于块的位置生成文档结构包括:响应于评估结果符合预定条件,将块的位置标识为文档结构中与预定条件相关联的层级。
由于文档结构中存在不同的层级,因而可以针对不同层级设置不同的预定条件。假设文档结构中包括4个层级,分别是标题、章节、条款、子条款,并且评估结果的取值范围为[0,1],此时预定条件可以表示如下:
表1评估结果的预定条件
序号 层级 评估结果的预定条件
1 标题 (0.8,1]
2 章节 (0.6,0.8]
3 条款 (0.4,0.6]
4 子条款 (0.2,0.4]
应当注意,上文表1仅仅示意性示出了预定条件的示例,本领域技术人员可以基于具体应用环境的要求来设置其他的预定条件。例如,可以设置更多或者更少的层级,可以设置页眉、页脚等类型的文档结构;还可以基于统计学原理,来从历史经验值中获取预定条件。应当注意,在本发明的上下文中,还可以动态地调整预定条件。
在本发明的一个实施方式中,文本特征描述块中的文本与多个历史版本中的至少一个历史版本的文本之间的关联关系。应当注意,每个块可以具有不同的文本特征。在本发明的上下文中,每个块的文本特征并不是语义学范畴内的文本特征;本发明的各个实施方式并不识别各个历史版本中的文本的语义含义,而是仅仅比较各个块中的文本与各个历史版本中的文本之间的关联关系,诸如,文本是相同还是不同的、块在各个历史版本中的位置等无关于语义的文本特征。
在本发明的一个实施方式中,针对多个块中的块,基于块的文本特征来评估块在文档结构中的层级包括:针对多个块中的块,基于预定规则分析关联关系,以评估块作为文档结构中的层级的概率评分。
可以以具体数值的方式来量化评估结果,例如,可以基于统计学原理来实现上述步骤。具体地,假设基于以往的经验总结出如下规则:如果一个块中的文本在全部历史版本中都出现,那么该块作为文档中的层级的概率是80%。则可以基于上述规则,当发现某个块在全部历史版本中都出现时,将该块的概率评分设置为80%。
在本发明的一个实施方式中,块的文本特征包括以下中的至少任一方面:块在多个历史版本中出现的次数;块的大小;块在多个历史版本中的页面中的位置;块中的差异的数量;块中的差异的分布样式;以及块中的差异的位置。
在本发明的上下文中,可以以向量来描述块的文本特征,并且可以将上文所述的每个方面作为向量中的一个分量。具体地,可以以[0,1]之间的数值来描述每个分量的评分。例如,上文所示的第一个分量的评分可以以如下公式表示:出现块的历史版本占全部历史版本的百分比。假设存在10个历史版本,而在其中的9个版本中都出现某个块,则该块的概率评分的第一个方面可以计算为:9/10=0.9。
历史经验表明,如果一个块在多个历史版本中出现的次数越多,则证明该块的内容越稳定。稳定性较高的段落通常位于章节等层级处,因而可以对于在多个历史版本中都出现的块赋予较高的评分,而可以对于仅在少数历史版本中出现的块赋予较低的评分。上文仅仅是一个具体的计算公式,本领域技术人员还可以基于其他公式来计算。
又例如,对于“块的大小”这一方面,历史经验表明:块越大则越可能作为文档结构中的层级。由于块的大小越大则该块位于文档结构中的某个层级的可能性越高,因而针对较大的块赋予较高的评分,而针对较小的块赋予较低的评分。在此情况下,例如可以将大小大于或等于2000个字符的块的评分设置为1.0,将大小为[1500,2000)范围内的块的评分设置为0.8,等等。
还可以基于块在多个历史版本中的页面中的位置来计算概率评分。图6A示意性示出了根据本发明一个实施方式的、基于块的文本特征来评估块的概率评分的示意图600A。如图6A所示,历史经验表明,对于位于页面610A的头部的块612A和位于页面620A的块622A而言,块612A是文档结构中的层级的概率更高,因而可以针对位于页面中的头部(或者尾部)的块赋予较高的评分(例如,1)。
对于差异块,还可以基于块中的差异的数量来设置评分。具体地,由于差异(可以以上文所述的编辑距离来表示)越小则表示该块越稳定,因而可以针对具有较少差异的块赋予较高的评分(例如,将差异数量小于某阈值1的块赋予评分1),而针对具有较多差异的块赋予较低的评分(例如,将差异数量大于某阈值2的块赋予评分0.2)。
对于差异块,还可以基于块中的差异的分布样式来设置评分。图6B示意性示出了根据本发明一个实施方式的、基于块的文本特征来评估块的概率评分的示意图600B。在图6B中,以阴影示出了块中的差异部分,块610B中的差异的分布较为集中,块620B中差异分布较为分散。历史经验表明,差异集中分布的块更有可能是文档结构中的层级,因而可以将差异集中分布的块赋予较高的评分,将差异分散分布的块赋予较低的评分。
对于差异块,还可以基于块中的差异的位置来设置评分。图6C示意性示出了根据本发明一个实施方式的、基于块的文本特征来评估块的概率评分的示意图600C。在图6C中,以阴影示出了块中的差异部分,块610C中的差异的位于块的头部,块620B中差异位于块的中间。历史经验表明,差异位于头部和/或尾部的块更有可能是文档结构中的层级,因而可以将差异位于头部和/或尾部的块赋予较高的评分,将差异位于中间的块赋予较低的评分。
上文仅仅示意性示出了用于计算概率评分的多个方面示例,并且各个示例中的公式也仅仅是示意性的,本领域技术人员还可以基于其他公式来计算。当考虑上文中各个方面来计算概率评分时,概率评分可以表示为多维向量的形式,例如,表示为Score(Score次数,Score大小,Score位置,...)。
具体而言,假设一个块A是匹配块,并且该块在10个历史版本中曾经出现了9次,该块的大小为2500,并且位于页面中的头部。因而基于上文示意性示出的评分公式,针对该块的概率评分可以表示为向量Score(0.9,1,1,0,0,0)。
在本发明的一个实施方式中,针对多个块中的块,基于块的文本特征来评估块在文档结构中的层级包括:基于文本特征中的至少一个方面,计算评分分量;以及基于评分分量来计算块的概率评分。
在上文中已经描述了如何计算概率评分中的各个分量的评分,可以基于各个分量的评分来计算概率评分,例如,可以通过将各个分量进行求和,或者针对各个分量的重要性来采取加权求和的方式,以计算概率评分。本领域技术人员可以基于具体应用环境的需求来采用任意适合的权重,例如,针对上文所述的6个方面的权重可以设置为Weight(0.3,0.2,0.2,0.1,0.1,0.1)或者其他数值,在此不再赘述。继续上文的示例,则针对块A计算所得的概率评分为:
Score=0.9*0.3+1*0.2+1*0.2+0*0.1+0*0.1+0*0.1=0.67。
根据上文表1中所示的预定条件,当概率评分在范围(0.6,0.8]内时,应当将该块A标识为文档结构中的层级“章节”。
在本发明的一个实施方式中,对准第一版本和第二版本中的各个部分包括:以行为最小单位来对准各个部分。应当注意,由于文档结构中的各个层级都位于行的起始位置,而不会位于行的中间位置,因而可以以行为最小单位来对准各个部分。尽管基于现有技术的对准算法,对准位置有时可能会位于一行的中间位置,然而由于文档结构中的层级不可能开始于一行的中间位置,因而可以不考虑这样的对准位置。
在本发明的一个实施方式中,多个历史版本是纯文本文件。应当注意,本发明是基于对历史版本中的文本的分析来实现的,而并不需要考虑历史版本的例如字体、字号、居中等特征。因而,只要能够通过例如扫描识别等方法获得多个历史版本的纯文本文件,即可基于本发明来生成文档结构。
采用本发明的各个实施方式,大大降低了对于输入文件的要求,并且可以针对以各种语言撰写的文档进行处理。例如,本发明的技术方案可以应用于以英文撰写的一系列历史版本,还可以在不做任何修改的情况下,将本发明的技术方案应用于以法文撰写的一系列历史版本。以此方式,大大节省了用于生成文档结构的人力、物力和时间成本。
本发明的实现无关于多个历史版本以何种语言撰写。由于本发明的方法并不针对各个历史版本中的内容进行语义分析,因而该方法的实现是独立于语言的。可以在完全不必分析各个历史版本的语义含义的情况下,自动地生成文档结构。
在本发明的一个实施方式中,还可以将如上所述的技术方案可以与现有的提取文档结构的技术方案相结合。例如,假设基于现有技术已经提取了文档结构1,并且采用本发明的技术方案已经提取了文档结构2。此时,可以将文档结构1和文档结构2进行“重叠”。例如,假设在文档结构1中基于关键字搜索获得的文档结构的最大深度为“条款”,而在文档结构中基于本发明获得的文档结构2的最大深度为“子条款”,则还可以向文档结构1中加入“子条款”的层级,并且还可以基于文档结构2中的各个层级的信息来“校正”文档结构1,以便获取更精细粒度的文档结构。
前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中所述设备包括若干装置或模块,所述装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图7示意性示出了根据本发明一个实施方式的用于生成文档结构的装置的框图700。具体地,示出了一种用于生成文档结构的装置,包括:对准模块710,配置用于针对文档的多个历史版本中的至少一对历史版本中的第一版本和第二版本,对准第一版本和第二版本中的各个部分;划分模块720,配置用于基于第一版本和第二版本中的所对准的各个部分之间的编辑距离,将第一版本和第二版本划分为多个块;评估模块730,配置用于针对多个块中的块,基于所述块的文本特征来评估所述块在所述文档结构中的层级;以及生成模块740,配置用于根据评估结果,基于块的位置生成文档结构。
在本发明的一个实施方式中,划分模块720包括:第一标识模块,配置用于响应于编辑距离大于预定阈值,将部分标识为差异块;以及第二标识模块,配置用于响应于编辑距离小于或者等于预定阈值,将部分标识为匹配块。
在本发明的一个实施方式中,生成模块740包括:层级生成模块,配置用于响应于评估结果符合预定条件,将块的位置标识为文档结构中与预定条件相关联的层级。
在本发明的一个实施方式中,文本特征描述块中的文本与多个历史版本中的至少一个历史版本的文本之间的关联关系。
在本发明的一个实施方式中,所述评估模块包括:概率评估模块,配置用于针对所述多个块中的块,基于预定规则分析所述关联关系,以评估所述块作为所述文档结构中的层级的概率评分。
在本发明的一个实施方式中,块的文本特征包括以下中的至少任一方面:块在多个历史版本中出现的次数;块的大小;块在多个历史版本中的页面中的位置;块中的差异的数量;块中的差异的分布样式;以及块中的差异的位置。
在本发明的一个实施方式中,概率评估模块包括:第一计算模块,配置用于基于文本特征中的至少一个方面,计算评分分量;以及第二计算模块,配置用于基于评分分量来计算块的概率评分。
在本发明的一个实施方式中,对准模块710包括:行对准模块,配置用于以行为最小单位来对准各个部分。
在本发明的一个实施方式中,多个历史版本是纯文本文件。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施方式中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。

Claims (18)

1.一种用于生成文档结构的方法,包括:
针对文档的多个历史版本中的至少一对历史版本中的第一版本和第二版本,
对准所述第一版本和所述第二版本中的各个部分;
基于所述第一版本和所述第二版本中的所对准的各个部分之间的编辑距离,将所述第一版本和所述第二版本划分为多个块;
针对所述多个块中的块,基于所述块的文本特征来评估所述块在所述文档结构中的层级;以及
根据评估结果,基于所述块的位置生成所述文档结构。
2.根据权利要求1所述的方法,其中基于所述第一版本和所述第二版本中的所对准的各个部分之间的编辑距离,将所述第一版本和所述第二版本划分为多个块包括:
响应于所述编辑距离大于预定阈值,将所述部分标识为差异块;以及
响应于所述编辑距离小于或等于预定阈值,将所述部分标识为匹配块。
3.根据权利要求1所述的方法,其中针对所述多个块中的块,基于所述块的文本特征来评估所述块在所述文档结构中的层级包括:针对所述多个块中的块,基于预定规则分析所述关联关系,以评估所述块作为所述文档结构中的层级的概率评分。
4.根据权利要求1-3中的任一项所述的方法,其中所述文本特征描述所述块中的文本与所述多个历史版本中的至少一个历史版本的文本之间的关联关系。
5.根据权利要求4所述的方法,其中根据评估结果,基于所述块的位置生成所述文档结构包括:
响应于所述评估结果符合预定条件,将所述块的所述位置标识为所述文档结构中与所述预定条件相关联的层级。
6.根据权利要求5所述的方法,其中所述块的所述文本特征包括以下中的至少任一方面:
所述块在所述多个历史版本中出现的次数;
所述块的大小;
所述块在所述多个历史版本中的页面中的位置;
所述块中的差异的数量;
所述块中的差异的分布样式;以及
所述块中的差异的位置。
7.根据权利要求6所述的方法,其中针对所述多个块中的块,基于所述块的文本特征来评估所述块在所述文档结构中的层级包括:
基于所述文本特征中的至少一个方面,计算评分分量;以及
基于所述评分分量来计算所述块的所述概率评分。
8.根据权利要求1-3中的任一项所述的方法,其中对准所述第一版本和所述第二版本中的各个部分包括:
以行为最小单位来对准所述各个部分。
9.根据权利要求1-3中的任一项所述的方法,其中所述多个历史版本是纯文本文件。
10.一种用于生成文档结构的装置,包括:
对准模块,配置用于针对文档的多个历史版本中的至少一对历史版本中的第一版本和第二版本,对准所述第一版本和所述第二版本中的各个部分;
划分模块,配置用于基于所述第一版本和所述第二版本中的所对准的各个部分之间的编辑距离,将所述第一版本和所述第二版本划分为多个块;
评估模块,配置用于针对所述多个块中的块,基于所述块的文本特征来评估所述块在所述文档结构中的层级;以及
生成模块,配置用于根据评估结果,基于所述块的位置生成所述文档结构。
11.根据权利要求10所述的装置,其中所述划分模块包括:
第一标识模块,配置用于响应于所述编辑距离大于预定阈值,将所述部分标识为差异块;以及
第二标识模块,配置用于响应于所述编辑距离小于或等于预定阈值,将所述部分标识为匹配块。
12.根据权利要求10所述的装置,其中所述评估模块包括:
概率评估模块,配置用于针对所述多个块中的块,基于预定规则分析所述关联关系,以评估所述块作为所述文档结构中的层级的概率评分。
13.根据权利要求10-12中的任一项所述的装置,其中所述文本特征描述所述块中的文本与所述多个历史版本中的至少一个历史版本的文本之间的关联关系。
14.根据权利要求13所述的装置,其中所述生成模块包括:
层级生成模块,配置用于响应于所述评估结果符合预定条件,将所述块的所述位置标识为所述文档结构中与所述预定条件相关联的层级。
15.根据权利要求14所述的装置,其中所述块的所述文本特征包括以下中的至少任一方面:
所述块在所述多个历史版本中出现的次数;
所述块的大小;
所述块在所述多个历史版本中的页面中的位置;
所述块中的差异的数量;
所述块中的差异的分布样式;以及
所述块中的差异的位置。
16.根据权利要求15所述的装置,其中所述概率评估模块包括:
第一计算模块,配置用于基于所述文本特征中的至少一个方面,计算评分分量;以及
第二计算模块,配置用于基于所述评分分量来计算所述块的所述概率评分。
17.根据权利要求10-12中的任一项所述的装置,其中所述对准模块包括:
行对准模块,配置用于以行为最小单位来对准所述各个部分。
18.根据权利要求10-12中的任一项所述的装置,其中所述多个历史版本是纯文本文件。
CN201410225252.4A 2014-05-26 2014-05-26 生成文档结构的方法和装置 Expired - Fee Related CN105335360B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410225252.4A CN105335360B (zh) 2014-05-26 2014-05-26 生成文档结构的方法和装置
US14/721,340 US9753905B2 (en) 2014-05-26 2015-05-26 Generating a document structure using historical versions of a document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410225252.4A CN105335360B (zh) 2014-05-26 2014-05-26 生成文档结构的方法和装置

Publications (2)

Publication Number Publication Date
CN105335360A true CN105335360A (zh) 2016-02-17
CN105335360B CN105335360B (zh) 2018-06-08

Family

ID=54556188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410225252.4A Expired - Fee Related CN105335360B (zh) 2014-05-26 2014-05-26 生成文档结构的方法和装置

Country Status (2)

Country Link
US (1) US9753905B2 (zh)
CN (1) CN105335360B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101512A (zh) * 2017-06-21 2018-12-28 北京国双科技有限公司 法律数据库的构建方法、法律数据查询方法及装置
CN112818656A (zh) * 2021-01-26 2021-05-18 北京百度网讯科技有限公司 数据差异对比方法、装置、设备、介质和计算机程序产品

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013009879A1 (en) 2011-07-11 2013-01-17 Paper Software LLC System and method for processing document
CA2840231A1 (en) * 2011-07-11 2013-01-17 Paper Software LLC System and method for processing document
US10592593B2 (en) 2011-07-11 2020-03-17 Paper Software LLC System and method for processing document
EP3039571A4 (en) * 2013-08-27 2017-05-03 Paper Software LLC Cross-references within a hierarchically structured document
US11755997B2 (en) * 2017-02-22 2023-09-12 Anduin Transactions, Inc. Compact presentation of automatically summarized information according to rule-based graphically represented information
CN109767282A (zh) * 2018-11-20 2019-05-17 北京五八亚太企业管理服务有限公司 智能化商品筛选方法及装置、电子设备
US11227107B2 (en) * 2019-02-21 2022-01-18 Kirk T. Sanderson Document reviewer
CN111104788B (zh) * 2019-12-05 2023-09-22 东软集团股份有限公司 文档差分内容的对齐方法、装置、存储介质、电子设备
US11514699B2 (en) * 2020-07-30 2022-11-29 International Business Machines Corporation Text block recognition based on discrete character recognition and text information connectivity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120688A1 (en) * 2001-12-13 2003-06-26 Microsoft Corporation Versioning model for software program development
CN103179095A (zh) * 2011-12-22 2013-06-26 阿里巴巴集团控股有限公司 一种检测钓鱼网站的方法及客户端装置
CN103218358A (zh) * 2012-01-18 2013-07-24 百度在线网络技术(北京)有限公司 一种Diff打分方法以及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024211A (ja) 2000-06-30 2002-01-25 Hitachi Ltd 文書管理方法およびシステム並びにその処理プログラムを格納した記憶媒体
US7162501B2 (en) 2002-11-26 2007-01-09 Microsoft Corporation Hierarchical differential document representative of changes between versions of hierarchical document
US8595201B2 (en) 2011-10-27 2013-11-26 International Business Machines Corporation Version visualization
US8527480B1 (en) 2011-12-28 2013-09-03 Emc Corporation Method and system for managing versioned structured documents in a database
US20130174025A1 (en) 2011-12-29 2013-07-04 Keng Fai Lee Visual comparison of document versions
US20150193435A1 (en) * 2012-02-06 2015-07-09 Google Inc. Visualizing document revision history using layers
US9710502B2 (en) 2012-04-03 2017-07-18 Expedox Llc Document management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120688A1 (en) * 2001-12-13 2003-06-26 Microsoft Corporation Versioning model for software program development
CN103179095A (zh) * 2011-12-22 2013-06-26 阿里巴巴集团控股有限公司 一种检测钓鱼网站的方法及客户端装置
CN103218358A (zh) * 2012-01-18 2013-07-24 百度在线网络技术(北京)有限公司 一种Diff打分方法以及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101512A (zh) * 2017-06-21 2018-12-28 北京国双科技有限公司 法律数据库的构建方法、法律数据查询方法及装置
CN109101512B (zh) * 2017-06-21 2021-05-28 北京国双科技有限公司 法律数据库的构建方法、法律数据查询方法及装置
CN112818656A (zh) * 2021-01-26 2021-05-18 北京百度网讯科技有限公司 数据差异对比方法、装置、设备、介质和计算机程序产品
CN112818656B (zh) * 2021-01-26 2023-10-27 北京百度网讯科技有限公司 数据差异对比方法、装置、设备、介质和计算机程序产品

Also Published As

Publication number Publication date
CN105335360B (zh) 2018-06-08
US9753905B2 (en) 2017-09-05
US20150339278A1 (en) 2015-11-26

Similar Documents

Publication Publication Date Title
CN105335360A (zh) 生成文档结构的方法和装置
US20210157975A1 (en) Device, system, and method for extracting named entities from sectioned documents
CN113807098B (zh) 模型训练方法和装置、电子设备以及存储介质
US9495347B2 (en) Systems and methods for extracting table information from documents
US10049096B2 (en) System and method of template creation for a data extraction tool
US20150186361A1 (en) Method and apparatus for improving a bilingual corpus, machine translation method and apparatus
CN113110988A (zh) 利用定义的输入格式来测试应用
CN111512315A (zh) 文档元数据的按块提取
CN112784009B (zh) 一种主题词挖掘方法、装置、电子设备及存储介质
US10108590B2 (en) Comparing markup language files
CN102955773B (zh) 用于在中文文档中识别化学名称的方法及系统
CN111984792A (zh) 网站分类方法、装置、计算机设备及存储介质
CN111339773A (zh) 信息处理方法、自然语言处理方法以及信息处理设备
TW201741908A (zh) 將一申請專利範圍中的申請專利範圍元件名詞所屬元件名詞對應標號予以對應之對應方法
CN109710952B (zh) 基于人工智能的翻译历史检索方法、装置、设备和介质
KR102015454B1 (ko) 문서 자동 편집 방법
US10782942B1 (en) Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation
Tezcan et al. UGENT-LT3 SCATE system for machine translation quality estimation
JP6056489B2 (ja) 翻訳支援プログラム、方法、および装置
US20220092453A1 (en) Systems and methods for analysis explainability
US20140207440A1 (en) Language recognition based on vocabulary lists
CN112115362A (zh) 一种基于相似代码识别的编程信息推荐方法及装置
CN116991983B (zh) 一种面向公司资讯文本的事件抽取方法及系统
JP6554804B2 (ja) 情報処理装置及び情報処理プログラム
CN116935424A (zh) 一种信息提取方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180608