发明内容
本发明旨在解决上述技术问题的至少之一。
为此,本发明的第一目的在于提供一种列表处理系统。
本发明的第二目的在于提供一种列表处理方法。
本发明的第三目的在于提供一种列表处理装置。
本发明的第四目的在于提供一种计算机可读存储介质。
为实现本发明的第一目的,本发明的实施例提供了一种列表处理系统,包括:列表项识别模块,用于识别出列表项;列表项分类模块,与列表项识别模块信号连接,用于对列表项识别模块识别出的列表项进行分类;列表获取模块,与列表项分类模块信号连接,用于对列表项分类模块分类后的列表项进行组合,以获取初步列表;列表扩展模块,与列表获取模块信号连接,用于对列表获取模块获取的初步列表向前进行递归扩展和向后进行递归扩展;以及输出模块,与列表项识别模块、列表项分类模块、列表获取模块和列表扩展模块分别信号连接,用于输出处理结果。
该处理系统识别出符合列表项特征的段落,并根据每个段落的序号特征对列表项进行分类,然后对识别出的相同类的列表项进行组合,并对组合之后的多个列表项组装出初步列表,再对组合之后形成的初步列表进行前后扩展,以形成最终列表,可应用于文档结构化、自动排版、逻辑检查等方面。
另外,本发明提供的技术方案还可以具有如下附加技术特征:
列表项识别模块包括:标题识别单元,用于识别出全部标题;列表项识别单元,与标题识别单元信号连接,用于在识别出的每个标题下识别列表项。
通过识别出标题,可以消除标题对识别列表项的影响,进而可以消除对列表进行识别和处理的影响。
上述任一技术方案中,列表获取模块包括:
列表获取模块包括:嵌套单元,根据列表项的类型形成嵌套关系树;列表获取单元,与嵌套单元信号连接,用于获取列表。
设置嵌套单元可以通过列表获取单元获取列表中的全部嵌套关系树,以利于获取完整的列表。
上述任一技术方案中,列表处理系统还包括:标题数量统计模块,与标题识别单元信号连接,用于统计标题数量;列表数量统计模块,与列表获取扩展信号连接,用于统计列表扩展模块对初步列表扩展后的列表数量,并在列表数量范围内设置阈值;标题设置模块,与标题数量统计模块和列表数量统计模块分别信号连接,用于比较标题数量和阈值,当标题数量大于阈值时,将列表全部设置为标题。
在列表数量范围内设置阈值,当标题的数量超过阈值时,则将全部列表都设置为标题,可以简化文档,有利于后续的编辑操作。
为实现本发明的第二目的,本发明的实施例提供了一种列表处理方法,利用上述的列表处理系统,通过以下步骤进行列表处理:
采用列表项识别模块识别出列表项;
采用列表项分类模块对列表项进行分类;
采用列表获取模块对分类后的列表项进行组合,以组装并获取初步列表;
采用列表扩展模块对初步列表向前进行递归扩展和向后进行递归扩展。
该处理方法通过首先识别出符合列表项特征的段落,并根据每个段落的序号特征对列表项进行分类,然后对识别出的相同类的列表项进行组合,并对组合之后的多个列表项组装出初步列表,再对组合之后形成的初步列表进行前后扩展,以形成最终列表,可应用于文档结构化、自动排版、逻辑检查等方面。
上述任一技术方案中,采用列表项识别模块识别出列表项包括:
识别出文档中的全部标题,并将每个标题划分为一个区域;
在每个区域内根据列表项的段首内容特征识别出列表项。
通过识别出标题,可以消除标题对识别列表项的影响,进而可以消除对列表进行识别和处理的影响。
上述任一技术方案中,采用列表获取模块对分类后的列表项进行组合,以获取初步列表包括:
对每个区域内的列表项根据列表项类型进行组合,并形成嵌套关系树;
根据嵌套关系树及列表项获取每个区域中的初步列表。
通过按标题划分区域,以在每个区域下获取初步列表,初步列表排序清楚,不会混淆不同区域下的列表。
上述任一技术方案中,对初步列表向前进行递归扩展包括:
判定前一段是标题,与当前列表中的列表项同类型则作为列表项加入当前列表,继续递归,否则终止递归;
判定前一段是基本元素,则跳过前一段继续递归;
判定前一段是列表项,与当前列表中的列表项同类型,终止递归;
判定前一段是列表项,与当前列表中的列表项同类型,且当序号为起始序号则作为列表项加入当前列表后,终止递归;
判定前一段是列表项,与当前列表中的列表项类型不同,则跳过前一段继续递归。
列表向前递归扩展考虑到了标题、基本元素和列表三种情况,基本涵盖了较为常见的文档内容,进一步使向前递归扩展明确清晰。
上述任一技术方案中,对初步列表向后进行递归扩展包括:
判定后一段是标题,与当前列表中的列表项同类型则作为列表项加入当前列表继续递归,否则终止递归;
判定后一段是基本元素,则跳过后一段继续递归;
判定后一段是列表项,与当前列表中的列表项同类型,则终止递归;
判定后一段是列表项,与当前列表中的列表项同类型,且当序号和当前列表项序号连续则作为列表项加入当前列表后,终止递归;
判定后一段是列表项,与当前列表中的列表项类型不同,则跳过后一段继续递归。
列表向后递归扩展考虑到了标题、基本元素和列表三种情况,基本涵盖了较为常见的文档内容,进一步使向后递归扩展明确清晰。
上述任一技术方案中,采用列表扩展模块对初步列表向前进行递归扩展和向后进行递归扩展以后还包括:
统计全部标题的标题数量;
统计全部列表的列表数量,并在列表数量范围内设置阈值;
比较标题数量和阈值,且当标题数量大于阈值时,列表全部设置为标题。
当标题的数量超过列表数量的阈值时,将全部列表都设置为标题,可以简化文档,有利于后续的编辑操作。
为实现本发明的第三目的,本发明的实施例提供了一种列表处理装置,包括:存储器,存储有计算机程序;处理器,执行计算机程序;其中,处理器在执行计算机程序时,实现如本发明任一实施例的列表处理方法的步骤。本发明的实施例提供的触控装置实现如本发明任一实施例的列表处理方法的步骤,因此其具有本发明任一实施例的列表处理方法。
为实现本发明的第四目的,本发明的实施例提供了一种计算机可读存储介质,包括:计算机可读存储介质存储有计算机程序,计算机程序被执行时,实现如本发明任一实施例的列表处理方法的步骤。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照附图描述本发明一些实施例的技术方案。
实施例1:
本实施例提供了一种列表处理系统10,能够自动识别出文档中各类复杂情况下的列表,这里的列表主要是指顺序列表,也称为有序列表或编号列表,具体是指使用序号开头的一系列段落的组合,每一个序号开头的段落内容称为列表项。
文档列表识别,可作为文档结构化的重要内容元素,以为后续对文档进行逻辑检查、自动排版以及数字化应用等打好基础。具体地,在对文档内容进行逻辑检查时,需要对列表序号进行连续性及体例检查;在对文档进行自动排版时,需要对列表应用一些特殊样式;在将文档应用于数字产品中,需要基于列表应用内容折叠或隐藏等展现方法等。
鉴于此,如图1所示,本实施例提供了一种能够自动识别文档列表的列表处理系统10。列表处理系统10包括:列表项识别模块100、列表项分类模块200、列表获取模块300、列表扩展模块400以及输出模块800。
其中,列表项识别模块100用于识别出文档中的列表项,列表项分类模块200与列表项识别模块100信号连接,用于根据序号特征对识别出的列表项进行分类。其中的序号特征主要包括以下几类:
中文数字:序号+分隔符、序号+括号;
阿拉伯数字:序号+分隔符、序号+半括号、序号+全括号;
大写英文字母:序号+分隔符、序号+半括号、序号+全括号;
小写英文字母:序号+分隔符、序号+半括号、序号+全括号;
大写罗马数字:序号+分隔符、序号+半括号、序号+全括号;
小写罗马数字:序号+分隔符、序号+半括号、序号+全括号;
特殊数字字符:①-⑳、(1)-(20)、1-20.等。
列表获取模块300与列表项分类模块200信号连接,用于对列表项分类模块200分类后的列表项进行组合,以初步组装出文档中的列表,获取初步列表。
列表扩展模块400与列表获取模块300信号连接,用于对列表获取模块300初步组装并获取的初步列表向前进行递归扩展和向后进行递归扩展,以对初步列表进行调整。输出模块800与列表项识别模块100信号连接,用于输出列表项识别模块100识别出的列表项的处理结果。
输出模块800与列表项分类模块200信号连接,用于输出列表项分类模块200对识别出的列表项进行分类的处理结果。
输出模块800与列表获取模块300信号连接,用于输出列表获取模块300获取初步列表的处理结果。
输出模块800与列表扩展模块400信号连接,用于输出列表扩展模块400向前进行递归扩展和向后进行递归扩展后的处理结果。
实施例2:
本实施例提供了一种列表处理系统10,除上述实施例的技术特征之外,本实施例还包括以下技术特征。
一般的文档处理系统,往往由于列表的影响,导致大纲标题的识别出现问题,从而不能识别出顺序列表,导致基于列表的一些应用就无法实现。
由此,列表项识别模块100包括有标题识别单元110和列表项识别单元120,如图2所示,其中,标题识别单元110用于识别出文档中的全部标题,列表项识别单元120与标题识别单元110信号连接,用于识别出不同标题下的列表项。列表项识别单元120在每个标题下对列表项进行识别,使列表项识别更准确,尤其可以满足在一个文档中有多个标题的情况下,对每个标题下的列表进行处理,适用于对较为复杂的文档进行处理,以能够识别出文档中全部的顺序列表。
实施例3:
本实施例提供了一种列表处理系统10,除上述实施例的技术特征之外,本实施例还包括以下技术特征。
如图3所示,列表获取模块300包括嵌套单元310和列表单元,嵌套单元310根据列表项的类型形成嵌套关系树,列表获取单元320与嵌套单元310信号连接,用于获取初步列表。设置嵌套单元310可以通过列表获取单元320获取列表中的所有嵌套关系树,以利于获取完整的初步列表。
实施例4:
本实施例提供了一种列表处理系统10,除上述实施例的技术特征之外,本实施例还包括以下技术特征。
当标题数量与列表数量差别不大,例如,标题数量超过了列表数量的50%,此时如果再设置列表,会使文档显得杂乱,结构不清晰。
鉴于此,如图4所示,列表处理系统10还包括标题数量统计模块500、列表数量统计模块600和标题设置模块700,其中,标题数量统计模块500与标题识别单元110信号连接,用于统计标题数量。列表数量统计模块600与列表扩展模块300信号连接,用于统计列表扩展模块400对初步列表扩展后的列表数量,并在列表数量范围内设置阈值。标题设置模块700与标题数量统计模块500和列表数量统计模块600分别信号连接,用于比较标题数量和阈值,并当标题数量大于阈值时,将列表全部设置为标题。这里的阈值通常按列表数量的百分比来设定,一般情况下设置列表数量的50%或大于50%的比例来作为阈值。当标题的数量超过阈值时则将全部列表都设置为标题,可以简化文档,有利于后续的编辑操作。
其中,输出模块800与标题数量统计模块500信号连接,用于输出标题数量统计模块的统计结果。
输出模块800与列表数量统计模块600信号连接,用于输出列表数量统计模块600的统计结果。
输出模块800与标题设置模块700信号连接,用于输出标题设置模块700的设置结果。输出模块800具有显示单元,用于显示部分输出的处理结果。
实施例5:
本实施例提供了一种列表处理系统10,除上述实施例的技术特征之外,本实施例还包括以下技术特征。
继续结合图1至图4所示,列表处理系统10包括列表项识别模块100、列表项分类模块、列表获取模块300、列表扩展模块400、标题数量统计模块500、列表数量统计模块600和标题设置模块700。
其中,列表项识别模块100用于识别出文档中的列表项,列表项分类模块用于将识别出的列表项根据序号特征进行分类。
具体地,列表项识别模块100包括依次信号连接的标题识别单元110和列表项识别单元120,标题识别单元110用于识别出文档中的所有标题,列表项识别单元120用于在每个标题下对列表项进行识别,可以满足在一个文档中有多个标题的情况下,对每个标题下的列表进行处理的要求。
列表获取模块300用于对列表项分类模块对分类后的列表项根据标题分区,然后初步组装出列表,并获取初步列表。其中,列表获取模块300包括嵌套单元310和列表获取单元320,嵌套单元310根据列表项的类型形成嵌套关系树,列表项识别单元120与标题识别单元110信号连接,用于在识别出的每个标题下识别列表项。列表获取单元320用于在识别出的标题下对分类后的列表项进行初步组装,并获取初步列表。通过识别出标题,可以消除标题对识别列表项的影响,进而可以消除对列表进行识别和处理的影响。
列表扩展模块400用于对列表获取模块300初步组装出的列表向前进行递归扩展和向后进行递归扩展,以对初步列表进行调整。
标题数量统计模块500与标题识别单元110信号连接,用于统计文档中的标题数量。
列表数量统计模块600,与列表扩展模块300信号连接,用于统计列表扩展模块400对初步列表扩展后的列表数量,并在列表数量范围内设置阈值。
标题设置模块700与标题数量统计模块500和列表数量统计模块600分别信号连接,用于比较标题数量和阈值,并当标题数量大于阈值时,将列表全部设置为标题,可以简化文档,有利于后续的编辑操作。
这里的阈值通常按列表数量的百分比来设定,一般情况下设置列表数量的50%或大于50%的比例来作为阈值。当标题的数量超过阈值时则将全部列表都设置为标题,可以简化文档,有利于后续的编辑操作。
实施例6:
如图5的流程图所示,本实施例提供了一种列表处理方法,利用列表处理系统10,通过以下步骤进行文档列表的处理:
S102:采用列表项识别模块100识别出列表项。
S104:采用列表项分类模块对列表项进行分类。
S106:采用列表获取模块300对分类后的列表项进行组合,以获取初步列表。
S108:采用列表扩展模块400对初步列表向前进行递归扩展和向后进行递归扩展。
步骤S102中和步骤104中,列表项识别模块100遍历整篇文档的内容,识别出文档中所有符合列表项特征的段落,也就是识别出列表项,然后对各段落文本进行识别与标记,再根据每个段落的段首序号的特征判断是否是列表项,如果符合列表项特征,则标记为列表项,列表项分类模块根据序号特征对标记出来的列表项进行分类;如果不符合列表项特征,则列表项识别模块100跳过该段内容。步骤S102和步骤104可以识别出列表项,并根据序号特征对列表项进行分类。序号特征主要包括如下几类:
中文数字:序号+分隔符、序号+括号。
其中,序号+分隔符举例如下:
中文数字+顿号:一、二、三、
中文数字+空格:一 二 三
序号+括号举例如下:
(一)(二)(三)
阿拉伯数字:序号+分隔符、序号+半括号、序号+全括号。
其中,序号+分隔符举例如下:
阿拉伯数字+脚点:1.2.3.
阿拉伯数字+顿号:1、2、3、
阿拉伯数字+空格:1 2 3 ,其中,空格不区分全半角。
序号+半括号举例如下:
阿拉伯数字: 1)2)3)
序号+全括号:(1)(2)(3)
大写英文字母:序号+分隔符、序号+半括号、序号+全括号。
小写英文字母:序号+分隔符、序号+半括号、序号+全括号。
其中,序号+分隔符举例如下:
英文字母+脚点:a.b.c.
序号+半括号举例如下:
英文字母+括号:(a)(b)(c)
大写罗马数字:序号+分隔符、序号+半括号、序号+全括号。
小写罗马数字:序号+分隔符、序号+半括号、序号+全括号)。
特殊数字字符:①-⑳、(1)-(20)、1.-20.等。
S108中,对列表的首项的序号位于起始序号的后面的列表,向前进行递归扩展。该步骤是针对列表的首项的序号不是起始序号的情况,以消除标题分区对列表的影响。初步列表的最后一项向后进行递归扩展,以根据同一列表中标题和列表项的统计比例判断一组列表项的最终分类。
实施例7:
本实施例提供了一种列表识别方法,除上述实施例6的技术特征之外,本实施例还包括以下技术特征。
一般的文档处理系统,往往由于列表的影响,导致大纲标题的识别出现问题,从而不能识别出顺序列表,导致基于列表的一些应用就无法实现。因此, 在S102中包括:
S1022:识别出文档中的所有标题;
S1024:在同一标题下,根据列表项的段首内容特征判断是否为列表项,以识别出列表项。
可结合图6至图8所示,图6为包含多个标题的文档内容,在识别出的标题下识别列表项,图7为识别标题的输出结果示例图,对列表项的识别结果示例可参见图8所示。通过识别出文档中的所有标题,以在每个标题下对列表项进行识别及分类,可以满足在一个文档中有多个标题的情况下,对每个标题下的列表进行处理,列表项的识别更准确,尤其适用于对较为复杂的文档的处理,以能够识别出所有的顺序列表。
实施例8:
本实施例提供了一种列表识别方法,除上述实施例7的技术特征之外,本实施例还包括以下技术特征。
在S106中获取初步列表的步骤如下:
S1062:根据文档中识别出的标题把文档划分成多个区域,以能够同时在多个区域进行列表项的识别。
S1064:对每个区域中的列表项根据列表项类型形成列表嵌套关系树,例如,标题以下有如下列表项1、XXX,2、XXX,3、XXX,…其中,1、XXX下还有1)XXX ,2)XXX,在2、XXX下有1)XXX,2)XXX,3)XXX,在3、下有1)XXX,2)XXX,其中XXX代表文字内容,那么,在该步骤中形成的列表嵌套关系树如图8所示。
S1066:根据每个区域的列表嵌套关系树及列表项是否起始序号获取每个区域中的所有列表,以获取初步列表。
实施例9:
本实施例提供了一种列表识别方法,除上述实施例8的技术特征之外,本实施例还包括以下技术特征。
S108中对初步列表向前进行递归扩展的步骤如下:
S1082:判定前一段是标题,若与当前列表中的列表项同类型则作为列表项加入当前列表,继续递归,否则终止递归;
S1084:判定前一段是基本元素,则跳过前一段继续递归;
S1086:判定前一段是列表项,若与当前列表中的列表项同类型,则终止递归;
S1088:判定前一段是列表项,若与当前列表中的列表项同类型,且当序号为起始序号则作为列表项加入当前列表后,终止递归。
其中,只有当序号为1(也可以为与当前列表同类型的首个序号,例如可以是一、A等)时作为列表项加入当前列表。
S1089:判定前一段是列表项,若与当前列表中的列表项类型不同,则跳过前一段继续递归。
具体的列表向前递归扩展和向后递归扩展输出示意图参见图10所示。
列表向前递归扩展考虑到了标题、基本元素和列表三种情况,基本涵盖了较为常见的文档内容,进一步使向前递归扩展明确清晰
实施例10:
本实施例提供了一种列表识别方法,除上述实施例6的技术特征之外,本实施例还包括以下技术特征。
S108中对初步列表向后进行递归扩展的步骤如下:
S1092:判定后一段是标题,若与当前列表中的列表项同类型则作为列表项加入当前列表继续递归,否则终止递归;
S1094:判定后一段是基本元素,则跳过后一段继续递归;
S1096:判定后一段是列表项,若与当前列表中的列表项同类型,则终止递归;
S1098:判定后一段是列表项,若与当前列表中的列表项同类型,且当序号和当前列表项序号连续则作为列表项加入当前列表后,终止递归。
S1098:判定后一段是列表项,若与当前列表中的列表项类型不同,则跳过后一段继续递归。
列表向后递归扩展考虑到了标题、基本元素和列表三种情况,基本涵盖了较为常见的文档内容,进一步使向前递归扩展明确清晰。
实施例11:
本实施例提供了一种列表识别方法,除上述任一实施例的技术特征之外,本实施例还包括以下技术特征。
采用列表扩展模块400对初步列表向前进行递归扩展和向后进行递归扩展以后还包括:统计全部标题的标题数量,统计全部列表的列表数量,并在列表数量范围内设置阈值。比较标题数量和阈值,且当标题数量大于阈值时,列表全部设置为标题。当标题的数量超过阈值时则将全部列表都设置为标题,可以简化文档,有利于后续的编辑操作。
本发明中的列表处理方法中,如图6至图9所示,还包括输出处理结果并显示部分处理结构的步骤。
综上,本发明实施例的有益效果为:
1.自动识别文档中包含的顺序列表,无需人工介入。
2.支持各种不同类别的列表识别,对于常见的各类列表均可以正常处理。
3.支持嵌套列表的识别。
4.通过同级内容的统计方法,有效解决了列表和标题容易混淆的问题。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施
例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。