一种文档标题提取方法和装置的制作方法

文档序号:6330759阅读:123来源:国知局
专利名称:一种文档标题提取方法和装置的制作方法
技术领域
本发明涉及文本数据处理技术领域,尤其涉及一种文档标题提取方法和装置。
背景技术
目前,随着计算机技术的发展,许多信息资源都以电子文档数据的形式保存,如何有效地从电子文档数据中抽取其逻辑结构(例如,文档标题)及其结构信息,是目前许多数字文档结构分析与应用技术中的关键问题。比如,在目前逐渐被越来越多的人接受的电子书阅读中,从技术角度来讲,除了采用压缩图像方式的数据格式(比如,djvU/djv,pdf等)之外,一般就是采用文本方式(即, ASCII码方式)的数据格式(比如,pdf、doc、tXt等)。但是,目前,这两种方式的电子书一般在制作期间都没有设置目录,这给使用者的阅读和目录检索带来了很大的不便。因此,期望能从电子书的图像或文本文档中提取文档标题作为目录条目,从而形成目录。针对电子书阅读的这种问题,在“基于OCR的电子图书目录自动生成算法的实现”(《现代情报》对卷9期)中提出了一种能够自动生成电子图书目录的方法。在该方法中,首先使用0CR(光学字符识别)技术形成数字文献目录的逻辑状态,然后通过分离前导空格值、标题、页码等信息创建目录树。这种方法仅针对图像方式的电子书有效,并且OCR 技术的好坏直接影响着目录提取的结果,而对于无字体、字号、位置等属性设置的文本方式的电子书,却无法提取文档标题来创建目录。同样,目前广泛使用的办公软件WORD、WPS等虽然具有提取文档标题形成目录的功能,但是它们也要求文档标题要具有不同于正文的属性,比如,粗体、字号等,所以这些办公软件也无法适用于文本文档的标题提取。此外,在申请号为200710179938. 4的中国专利申请“一种基于PDF的复杂版面的标弓丨方法”中,提出了一种对PDF文件中的文档标题进行标弓I的方法。在该方法中,通过分析和获取PDF上文字信息以及位置、字体、字号等信息,根据相邻、相似的原则进行自动化的文字成块操作;进一步根据字体字号等信息确定文档标题。通过这种方法,可提取PDF文件中的其字体、字号等信息不同于正文的章节标题。但是,如果PDF文件中章节标题的字体、字号等信息与正文相同,并且与正文之间的相邻关系也相同,则很难提取到文档标题。 此外,由于文本文档中没有字体、字号等属性设置,所以该方法也无法提取文本文档中的标题。从以上描述可看出,目前,对于类似于电子书阅读这样需要提取数字文档中的标题的应用而言,尚不能有效地从缺乏字体、字号等属性的文本文档或者无法区分标题与正文的字体、字号等属性的文档中提取文档标题。

发明内容
为了解决以上问题,本发明提供一种文档标题提取方法和装置,以实现各种数字文档中的标题提取。
为了实现以上目的,本发明提供的文档标题提取方法包括以下步骤预置待处理文档中的标题的关键符和最大长度值;根据预置的关键符和最大长度值提取所述文档的文字流中的标题文字流。优选地,对于中文文档,所述标题的关键符包括“第”、“回”、“章”、“卷”、“节”、“部
分”、项目符号和编号中的至少一个;对于英文文档,所述标题的关键符包括“Chapter”、 “Section”、项目符号和编号中的至少一个。优选地,所述提取文档的文字流中的标题文字流的步骤包括以下步骤以回车换行为分隔符标记将所述文字流分成一个或多个段落文字流,并将所述段落文字流形成段落文字流集合;从段落文字流集合中提取长度小于预置的最大长度值的段落文字流,形成类似标题文字流集合;根据预置的关键符过滤类似标题文字流集合中的伪标题文字流,并提取类似标题文字流集合中的其余的类似标题文字流以形成标题文字流集合。优选地,对于标题包括多个段落的情况,除了预置标题的关键符和最大长度值之外,还预置标题所包括的段落数和各个关键符的段落位置,并且,在形成类似标题文字流集合之后,根据预置的段落数和段落位置从该类似标题文字流集合中提取由数量为所述段落数的段落文字流构成的类似标题文字流,形成进一步提取的类似标题文字流集合。优选地,所述过滤类似标题文字流集合中的伪标题文字流的步骤包括以下步骤 统计预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式,包括升序、降序和固定不变;遍历类似标题文字流集合执行以下分析步骤,直到找到第一个标题文字流为止统计预置的关键符在类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中的位置排列方式,如果统计的关键符在类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中的位置排列方式与统计的预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式一致,则将当前类似标题文字流确定为第一个标题文字流,否则将当前类似标题文字流确定为伪标题文字流;遍历类似标题文字流集合中位于找到的第一个标题文字流之后的所有类似标题文字流,将与统计的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式不一致的类似标题文字流确定为伪标题文字流。优选地,所述统计预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式的步骤包括以下步骤创建一个表示预置的关键符在每个类似标题文字流中的位置的大小为mXmaxLength的矩阵L,其中,m为类似标题文字流集合中的类似标题文字流的个数,maxLength为预置的标题的最大长度值,矩阵L中的元素I^j表示第i个类似标题文字流中的第j个字符所在的位置,i = 1,…,m,j = 1,…,maxLength,并将矩阵 L的每个元素Lm初始化为0 ;遍历类似标题文字流集合,执行以下步骤遍历预置的所有关键符,获取每个关键符在每个类似标题文字流中的位置,并将矩阵L中相应位置的元素Liij 设置为1 ;创建一个表示预置的关键符在类似标题文字流集合中的位置排列方式的大小为 IXn的矩阵A,并将所有元素A初始化为0,其中,η为预置的关键符个数,矩阵A中的元素 Ai表示第i个关键符在类似标题文字流集合中的位置排列方式,Ai = -1表示第i个关键符在类似标题文字流集合中的位置形成降序排列,i = 1,-,n, Ai = 0表示第i个关键符在类似标题文字流集合中的位置固定不变,Ai = 1表示第i个关键符在类似标题文字流集合中的位置形成升序排列;根据矩阵L,统计每个关键符在类似标题文字流集合中的位置排
6列方式,并分别根据统计的位置排列方式是降序、固定不变还是升序将矩阵A中的相应元素设置为_1、0或1。优选地,所述分析步骤包括以下步骤统计类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中满足矩阵A所示的位置排列方式的类似标题文字流的个数nNum,并将nNum与类似标题文字流集合中满足矩阵A所示的位置排列方式的类似标题文字流的个数m进行比较,如果nNum < m/2,则确定当前类似标题文字流为伪标题文字流, 并将矩阵L中相应行的所有元素设置为0 ;如果nNum ^ m/2,则确定当前类似标题文字流为第一个标题文字流;优选地,在遍历类似标题文字流集合中位于找到的第一个标题文字流之后的所有类似标题文字流,将与统计的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式不一致的类似标题文字流确定为伪标题文字流之后,将矩阵L中的相应行的所有元素设置为0,并提取与矩阵L中具有元素1的行相应的类似标题文字流作为标题文字流,形成标题文字流集合。优选地,还包括将提取的标题文字流作为目录条目以形成目录的步骤。另一方面,本发明提供一种文档标题提取装置,包括文字录入模块,其用于读取待处理文档中的文字流;预置模块,其用于预置通过文字录入模块读取的文档中的标题的关键符和最大长度值;文字分析模块,其用于根据通过预置模块预置的关键符和最大长度值提取通过文字录入模块读取的文字流中的标题文字流。优选地,所述文字分析模块包括段落解析单元,其用于以回车换行为分隔符标记将通过文字录入模块读取的文字流分成一个或多个段落文字流,并将所述段落文字流形成段落文字流集合;标题文字流校验单元,其用于从段落文字流集合中提取长度小于预置的最大长度值的段落文字流,形成类似标题文字流集合;关键符分析单元,其用于根据预置的关键符过滤类似标题文字流集合中的伪标题文字流,并提取类似标题文字流集合中的其余的类似标题文字流以形成标题文字流集合。优选地,所述关键符分析单元执行以下步骤统计预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式,包括升序、降序和固定不变;遍历类似标题文字流集合执行以下分析步骤,直到找到第一个标题文字流为止统计预置的关键符在类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中的位置排列方式,如果统计的关键符在类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中的位置排列方式与统计的预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式一致,则将当前类似标题文字流确定为第一个标题文字流,否则将当前类似标题文字流确定为伪标题文字流;遍历类似标题文字流集合中位于找到的第一个标题文字流之后的所有类似标题文字流,将与统计的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式不一致的类似标题文字流确定为伪标题文字流。优选地,所述装置还包括目录形成模块,其用于将提取的标题文字流作为目录条目以形成为目录。通过以上技术方案,只需要事先设置文档标题的关键符和最大长度值,就可提取各种数字文档中的章节标题,尤其是对于纯文本文档的标题提取,打破了其无属性设置的局限性,给需要提取文档标题的应用(比如,电子书阅读、阅读顺序识别等)带来了极大的便利性。


图1是根据本发明的第一实施例的文档标题提取方法的流程图;图2是根据本发明的第二实施例的文档标题提取方法的流程图;图3是根据本发明实施例的文档标题提取装置的框图。
具体实施例方式以下,将结合附图和实施例对本发明进行详细描述。(第一实施例)在本实施例中,读取名为“红楼梦”的文本文档的文字流,在该文本文档中,标题仅包括一个段落。为了描述简便,假定读取的内容如下第一回甄士隐梦幻识通灵贾雨村风尘怀闺秀列位看官你道此书从何而来?说起根由虽近荒唐,细按则深有趣味。待在下将此来历注明,方使阅者了然不惑。第五回游幻境指迷十二钗饮仙醪曲演红楼梦厚地高天,堪叹古今情不尽,痴男怨女,可怜风月债难偿。第十回金寡妇贪利权受辱张太医论病细穷源如今我们家里现有好几位太医老爷瞧着呢,都不能的当真切的这么说。有一位说是喜,有一位说是病,这位说怕冬至,总没有个准活儿。求姥爷明白指示。第十三回秦可卿死封龙禁尉王熙凤协理宁国府金紫万千谁治国,裙钗一二可齐家。第十四回林如海捐官扬州成贾宝玉路谒北静王只住一日,明儿必回去的。第二日一早,便有贾母王夫人打发了人来看宝玉,又命多穿两件衣服,无事宁可去。图1是根据本发明的第一实施例的文档标题提取方法的流程图。以下,将参照图 1对该方法进行详细描述。首先,在步骤SlOO中,预置以上文本文档中的标题的关键符和最大长度值。一般来讲,数字文档的各个标题都包含可标识其为标题的共同的关键符,例如关键字或关键词或者其它符号。比如对于中文文档来讲,关键符可能包括“第”、“回”、“章”、 “卷”、“节”、“部分”、项目符号(比如,§)和编号(比如,(一)、(二)……;一)、二)……) 中的至少一个,对于英文文档,关键符可能包括“Chapter”、“kction”、项目符号和编号 (比如,(i)、(ii)……;i)、ii)……)中的至少一个。对于以上文本文档,所有的标题中均包含“第”、“回”字符,并且“回”字出现在“第”字之后,因此,在本实施例中,预置的关键符即为第一关键字“第”和第二关键字“回”,并且第一关键字“第”在第二关键字“回”之前。对于标题的最大长度,不宜过长,否则不符合标题简单明了的特性,一般来讲,标题内容不会出现换行且单独成段。因此,对于以上文本文档,可设置标题的最大长度值为40个字符。在本实施例中,将预置的关键字和最大长度信息保存在以下xml文件中
Keywords关键字
TitleLength;标题最大长度值
Threshold判定为伪章节标题文字流的阈值
〈?xral version=" 1.0” encoding=” utf-8" > kConfig〉
<Keyffords><! [CDATA[第;回]]X/KeyWords> <TitleLength><![CDATA[40]]></TitleLength> <Threshold><!
]></Threshold> </Config>这里,应该理解,以上xml文件仅仅是示例性,还可以以任何已知的其它方式来保 存预置的关键符和最大长度值。接着,在步骤SlOl中,以回车换行为分隔符标记将读取的文字流分成12个段落文 字流,并以段落为单位将这12个段落文字流形成段落文字流集合{T}。接着,在步骤S102中,读取每个段落文字流的字符个数,如果字符个数超过预置 的最大长度值40,则将该段落文字流确定为伪标题文字流,将其从段落文字流集合{T}中 去除,并将段落文字流集合IT}中的其余的段落文字流形成为类似标题文字流集合{S}。具 体地,段落文字流集合IT}中的第2个段落文字流“列位看官你道此书从何而来?说起根 由虽近荒唐,细按则深有趣味。待在下将此来历注明,方使阅者了然不惑。”的字符个数为 50,超过了预置的最大长度值40,因此,将其从段落文字流集合{T}中去除;第7个段落文 字流“如今我们家里现有好几位太医老爷瞧着呢,都不能的当真切的这么说。有一位说是 喜,有一位说是病,这位说怕冬至,总没有个准活儿。求姥爷明白指示。”的字符个数为68 个,超过了 40,因此,也将其从段落文字流集合{T}中去除,从而形成如下所示的类似标题 文字流集合{S}第一回甄士隐梦幻识通灵贾雨村风尘怀闺秀第五回游幻境指迷十二钗饮仙醪曲演红楼梦厚地高天,堪叹古今情不尽,痴男怨女,可怜风月债难偿。第十回金寡妇贪利权受辱张太医论病细穷源第十三回秦可卿死封龙禁尉王熙风协理宁国府金紫万千谁治国,裙钗一二可齐家。第十四回林如海捐官扬州成贾宝玉路谒北静王只住一日,明儿必回去的。
第二日一早,便有贾母王夫人打发了人来看宝玉,又命多穿两件衣服,无事宁可去。接着,在步骤S103中,由于类似标题文字流集合{S}中包含10个类似标题文字流,并且预置的最大长度值为40,所以创建一个表示预置的关键字在每个类似标题文字流中的位置的大小10X40的矩阵L,其中,10为类似标题文字流集合{S}中的类似标题文字流的个数,40为预置的标题的最大长度值,矩阵L中的元素Lm表示第i个类似标题文字流中的第j个字符所在的位置,i = 1,…,10,j = l,…,40,并将矩阵L的每个元素Liij初始化为0。初始化的矩阵L如下所示
权利要求
1.一种文档标题提取方法,包括以下步骤预置待处理文档中的标题的关键符和最大长度值;根据预置的关键符和最大长度值提取所述文档的文字流中的标题文字流。
2.根据权利要求1所述的方法,其特征在于对于中文文档,所述标题的关键符包括“第”、“回”、“章”、“卷”、“节”、“部分”、项目符号和编号中的至少一个;和/或对于英文文档,所述标题的关键符包括“ChapteWSection”、项目符号和编号中的至少一个。
3.根据权利要求1所述的方法,其特征在于,所述提取文档的文字流中的标题文字流的步骤包括以下步骤以回车换行为分隔符标记将所述文字流分成一个或多个段落文字流,并将所述段落文字流形成段落文字流集合;从段落文字流集合中提取长度小于预置的最大长度值的段落文字流,形成类似标题文字流集合;根据预置的关键符过滤类似标题文字流集合中的伪标题文字流,并提取类似标题文字流集合中的其余的类似标题文字流以形成标题文字流集合。
4.根据权利要求3所述的方法,其特征在于,对于标题包括多个段落的情况,除了预置标题的关键符和最大长度值之外,还预置标题所包括的段落数和各个关键符的段落位置, 并且,在形成类似标题文字流集合之后,根据预置的段落数和段落位置,从该类似标题文字流集合中提取由数量为所述段落数的段落文字流所构成的类似标题文字流,形成进一步提取的类似标题文字流集合。
5.根据权利要求3或4所述的方法,其特征在于,所述过滤类似标题文字流集合中的伪标题文字流的步骤包括以下步骤统计预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式,包括升序、降序和固定不变;遍历类似标题文字流集合执行以下分析步骤,直到找到第一个标题文字流为止统计预置的关键符在类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中的位置排列方式,如果统计的关键符在类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中的位置排列方式与统计的预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式一致,则将当前类似标题文字流确定为第一个标题文字流,否则将当前类似标题文字流确定为伪标题文字流;遍历类似标题文字流集合中位于找到的第一个标题文字流之后的所有类似标题文字流,将与统计的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式不一致的类似标题文字流确定为伪标题文字流。
6.根据权利要求5所述的方法,其特征在于所述统计预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式的步骤包括以下步骤创建一个表示预置的关键符在每个类似标题文字流中的位置的大小为mXmaxLength的矩阵L,其中,m为类似标题文字流集合中的类似标题文字流的个数,maxLength为预置的标题的最大长度值,矩阵L中的元素Li, j表示第i个类似标题文字流中的第j个字符所在的位置,i = 1,…,m,j = 1,…,maxLength,并将矩阵L的每个元素Liij初始化为0 ;遍历类似标题文字流集合,执行以下步骤遍历预置的所有关键符,获取每个关键符在每个类似标题文字流中的位置,并将矩阵L中相应位置的元素Ly设置为1 ;创建一个表示预置的关键符在类似标题文字流集合中的位置排列方式的大小为IXn 的矩阵A,并将所有元素A初始化为0,其中,η为预置的关键符个数,矩阵A中的元素Ai表示第i个关键符在类似标题文字流集合中的位置排列方式,Ai = -1表示第i个关键符在类似标题文字流集合中的位置形成降序排列,i = 1,-,n, Ai = 0表示第i个关键符在类似标题文字流集合中的位置固定不变,Ai = 1表示第i个关键符在类似标题文字流集合中的位置形成升序排列;根据矩阵L,统计每个关键符在类似标题文字流集合中的位置排列方式,并分别根据统计的位置排列方式是降序、固定不变还是升序将矩阵A中的相应元素设置为_1、0或1。
7.根据权利要求6所述的方法,其特征在于,所述分析步骤包括以下步骤统计类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中满足矩阵A所示的位置排列方式的类似标题文字流的个数nNum,并将nNum与类似标题文字流集合中满足矩阵A所示的位置排列方式的类似标题文字流的个数m进行比较,如果nNum < m/2, 则确定当前类似标题文字流为伪标题文字流,并将矩阵L中相应行的所有元素设置为0 ;如果nNum ^ m/2,则确定当前类似标题文字流为第一个标题文字流。
8.根据权利要求7所述的方法,其特征在于,在遍历类似标题文字流集合中位于找到的第一个标题文字流之后的所有类似标题文字流,将与统计的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式不一致的类似标题文字流确定为伪标题文字流之后,将矩阵L中的相应行的所有元素设置为0,并提取与矩阵L中具有元素1的行相应的类似标题文字流作为标题文字流,形成标题文字流集合。
9.根据权利要求1所述的方法,其特征在于,还包括将提取的标题文字流作为目录条目以形成目录的步骤。
10.一种文档标题提取装置,包括文字录入模块,其用于读取待处理文档中的文字流;预置模块,其用于预置通过文字录入模块读取的文档中的标题的关键符和最大长度值;文字分析模块,其用于根据通过预置模块预置的关键符和最大长度值提取通过文字录入模块读取的文字流中的标题文字流。
11.根据权利要求10所述的装置,其特征在于,所述文字分析模块包括段落解析单元,其用于以回车换行为分隔符标记将通过文字录入模块读取的文字流分成一个或多个段落文字流,并将所述段落文字流形成段落文字流集合;标题文字流校验单元,其用于从段落文字流集合中提取长度小于预置的最大长度值的段落文字流,形成类似标题文字流集合;关键符分析单元,其用于根据预置的关键符过滤类似标题文字流集合中的伪标题文字流,并提取类似标题文字流集合中的其余的类似标题文字流以形成标题文字流集合。
12.根据权利要求11所述的装置,其特征在于,所述关键符分析单元执行以下步骤 统计预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式,包括升序、降序和固定不变;遍历类似标题文字流集合执行以下分析步骤,直到找到第一个标题文字流为止统计预置的关键符在类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中的位置排列方式,如果统计的关键符在类似标题文字流集合中从当前类似标题文字流开始的类似标题文字流中的位置排列方式与统计的预置的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式一致,则将当前类似标题文字流确定为第一个标题文字流,否则将当前类似标题文字流确定为伪标题文字流;遍历类似标题文字流集合中位于找到的第一个标题文字流之后的所有类似标题文字流,将与统计的关键符在类似标题文字流集合中的所有类似标题文字流中的位置排列方式不一致的类似标题文字流确定为伪标题文字流。
13.根据权利要求10所述的装置,其特征在于,还包括目录形成模块,其用于将提取的标题文字流作为目录条目以形成为目录。
全文摘要
本发明提供一种文档标题提取方法,包括预置待处理文档中的标题的关键符和最大长度值;根据预置的关键符和最大长度值提取文档文字流中的标题文字流。相应地,本发明提供一种文档标题提取装置。本发明只需事先设置文档标题的关键符和最大长度值,就可提取各种数字文档中的标题,尤其是对于纯文本文档的标题提取,打破了其无属性设置的局限性,给需要提取标题的应用带来了极大的便利性。
文档编号G06F17/22GK102375806SQ201010261268
公开日2012年3月14日 申请日期2010年8月23日 优先权日2010年8月23日
发明者张军, 李松峰, 王长桥, 邓姿 申请人:北京方正飞阅传媒技术有限公司, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1