CN201310731594.9
2013.12.24
CN104731835A
2015.06.24
公开
审中
发明专利申请公布后的视为撤回IPC(主分类):G06F 17/30申请公布日:20150624|||文件的公告送达IPC(主分类):G06F 17/30收件人:浙江省公众信息产业有限公司文件名称:视为撤回通知书|||文件的公告送达IPC(主分类):G06F 17/30收件人:浙江省公众信息产业有限公司文件名称:实审请求期限届满前通知书|||文件的公告送达IPC(主分类):G06F 17/30收件人:浙江省公众信息产业有限公司文件名称:发明专利申请公布通知书|||公开
G06F17/30; G06F17/21
G06F17/30
浙江省公众信息产业有限公司
叶琼德; 韦海强; 林静; 吴汝伟; 卢会春
310005浙江省杭州市莫干山路118号
一种word文档的提取和分析方法包括步骤:按照段逐段读入,并判断当前段是内容段还是等级段,并且进一步判断当前段的等级值是小于、等于、还是大于上一段的等级值,并进行相应的处理。本发明采用了支持程度好的类库来简化文档内容的提取,更有效且更简单方便地使用这个类库以完成对word的操作控制。
权利要求书1. 一种word文档的提取和分析方法包括步骤: A、按照段逐段读入,并判断当前段是内容段还是等级段; B、如果判断出当前段是内容段,则将该内容段加入到上一等级段 的内容队列中,并且转到步骤G; C、判断当前段的等级值是小于、等于、还是大于上一段的等级值 D、如果判断出当前段的等级值等于上一段的等级值,则当前段是 与上一段同等级的段,并且将该当前段加入到上一段所在的队列中, 并转到步骤G; E、如果判断出当前段的等级值大于上一段的等级值,则当前段为 上一段的儿子段,并且将该当前段加入到上一段的儿子队列中,并转 到步骤G; F、如果判断出当前段的等级值小于上一段的等级值,则进一步判 断当前段的等级值是否等于上一段的父亲段的等级值,若仍小于,则 依次回溯到更上一级父亲段,直到查找到与当前段的等级值相等的段, 并将当前段加入到查找到的段所在的队列中; G、判断当前段是否是最后一段,若不是则转入步骤A,否则该处 理结束。 2. 根据权利要求1所述的方法,其中在步骤A中: 每个段具有相应的大纲等级属性,根据大纲等级的属性关联,判 断出所述数据片段是等级段还是内容段。 3. 根据权利要求2所述的方法,其中在步骤C中: 若当前段是第一段,则初始化上一段的等级值为第一段的等级值。 4. 根据权利要求3所述的方法,其中在步骤D中: 若当前段是第一段(T1),则直接加入到根队列中。
说明书一种word文档的提取和分析方法 技术领域 本发明涉及文档处理领域,更具体地说,涉及一种word文档的提 取和分析方法。 背景技术 在如今的电子信息化高度发达的时代,对于信息的提取和分析有 着强烈需求的时代,显得word文档的智能分析尤为重要。无论是大项 目还是小功能,都需要一定的文档沟通,而更多的智能化系统中,就 需要不断的提取和分析这样的文档。在这样的需求前提下,也出现了 许多类似的文档处理工具,无论是成熟的项目工具还是类库工具,都 出现不少,如: JACOB:这是一个类库型的工具,提供了一种和office进行交互 的类库。这个类库提供的功能也相当的庞大,基本上能满足简单的 word、excel操作,但要重塑成一个有结构,有模型化的数据结构,就 相对比较复杂。而且需要一个jacob.dll的支持,因此和系统的耦合度 也比较大。 POI:这是一个类库型的工具,是一个纯JAVA实现的操作类,提 供了简单的word内容提取。可支持的方法相对比较少,往往很难满足 需求。 JCOM:类似JACOB的一个工具,但需要依赖windows平台,这 样又违背了JAVA这个平台无关的特性,多多少少有点不合适。而且在 功能满足上,也基本上同JACOB,在使用上,需要安装PDF打印机。 当然还有其他一些实现word内容提取的方式,如com4j、j—Interop 等,当这些工具并不是专门提供word处理的,可以通过com和Office 交互达到效果,使用比较麻烦。 对于以上这些工具,都基本上能够简单的提取内容,但在现在这 样的信息需求量大,信息内容要求精确和智能的时代中,只是简单提 取内容,并不能实现智能转化和分析,已经越来越不能满足要求,也 没办法推进更进一步的信息化。 发明内容 本发明是鉴于上述技术问题而产生的。本发明的一个目的是提出 一种word文档的提取和分析方法。 在一个方面中,根据本发明的word文档的提取和分析方法包括: 步骤A:按照“paragraph”片段逐段读入,并判断当前段是内容 段还是等级段;步骤B:如果判断出当前段是内容段,则将该内容段 加入到上一等级段的内容队列中,并且转到步骤G;否则步骤C:判断 当前段的等级值是小于、等于、还是大于上一段的等级值;步骤D: 如果判断出当前段的等级值等于上一段的等级值,则当前段是与上一 段同等级的段,并且将该当前段加入到上一段所在的队列中,并转到 步骤G;步骤E:如果判断出当前段的等级值大于上一段的等级值,则 当前段为上一段的儿子段,并且将该当前段加入到上一段的儿子队列 中,并转到步骤G;步骤F:如果判断出当前段的等级值小于上一段的 等级值,则进一步判断当前段的等级值是否等于上一段的父亲段的等 级值,若仍小于,则依次回溯到更上一级父亲段,直到查找到与当前 段的等级值相等的段,并将当前段加入到查找到的段所在的队列中; 步骤G:判断当前段是否是最后一段,若不是则转入步骤A,否则该 处理结束。 在这个方面中,其中在步骤A中:每个段具有相应的大纲等级属 性,根据大纲等级的属性关联,判断出所述数据片段是等级段还是内 容段。 在这个方面中,其中在步骤C中:若当前段是第一段,则初始化 上一段的等级值为第一段的等级值。 在这个方面中,其中在步骤D中:若当前段是第一段(T1),则直 接加入到根队列中。 附图说明 结合随后的附图,从下面的详细说明中可显而易见的得出本发明 的上述及其他目的、特征及优点。在附图中: 图1示出了根据本发明的word文档提取和分析方法的流程图; 图2示出了word文档中的每个段的大纲等级属性的示意图。 具体实施方式 为了更全面地理解本发明及其优点,下面结合附图及具体实施例 对本发明做进一步详细地说明。 首先,参考图1,对根据本发明的一种word文档的提取和分析方 法进行详细地说明。 如图1所示,根据本发明的word文档的提取和分析方法包括步骤: 步骤A:按照“paragraph”片段逐段读入,并判断当前段是内容 段还是等级段; 具体地说,按照“paragraph”片段逐段读入,并读取读入的当前 段的大纲等级(outlineLevel)。 如图2所示,word文档中的每个段具有相应的大纲等级属性。此 后,根据大纲等级的属性关联,判断出所述数据片段是等级段还是内 容段。 其中如下表所示,如果所提取的大纲等级是9,则判断出当前段是 正文文本(即内容段),如果所提取的大纲等级0-8中的值,则判断 出当前段是等级段,其中0-8是等级段的等级值,0表示等级段的等 级最高,对应图1中的大纲级别1级;1表示比0更低级别的段,对应 图1中的大纲级别2级;依次类推,8表示等级段的等级最低,对应图 1中的大纲级别9级。当然,对于本领域普通技术人员来说,大纲等级 的表述方式并不局限于此,而是可使用任何适当的方式。 编号 大纲等级 描述 对应word中大纲 1 9 程序获取的文本等级 正文文本 2 0-8 获取的大纲等级 1—9 步骤B:如果判断出当前段是内容段,则将该内容段加入到上一 等级段的内容队列中,并且转到步骤G;否则 步骤C:判断当前段的等级值是小于、等于、还是大于上一段的 等级值; 需要说明的是,如当前段是第一段(T1),则初始化上一段的等级 值为第一段的等级值。例如,第一段的等级值为0,则初始化上一段的 等级值为0。 步骤D:如果判断出当前段的等级值等于上一段的等级值,则当 前段是与上一段同等级的段,并且将该当前段加入到上一段所在的队 列中,并转到步骤G; 需要说明的是,如当前段是第一段(T1),则直接加入到根队列中。 步骤E:如果判断出当前段的等级值大于上一段的等级值,则当前 段为上一段的儿子段,并且将该当前段加入到上一段的儿子队列中, 并转到步骤G; 步骤F:如果判断出当前段的等级值小于上一段的等级值,则进一 步判断当前段的等级值是否等于上一段的父亲段的等级值,若仍小于, 则依次回溯到更上一级父亲段,直到查找到与当前段的等级值相等的 段,并将当前段加入到查找到的段所在的队列中。 步骤G:判断当前段是否是最后一段,若不是则转入步骤A,否 则该处理结束。 为了更清楚地说明起见,结合下面的示例,对该方法进行示例性 说明。 T1标题1 T2标题2 T2_CONTENT内容段 T2_1子标题1 T2_1_1子标题 T2_2子标题2 T2_2_CONTENT内容 T3标题3 按照本发明的方法,具体步骤如下: 读入T1段,并读取T1段的大纲等级(等级值0);判断出T1段 是等级段;判断出T1段的等级值等于上一段的等级值(初始化为0), 则加入到根队列中,此时根队列为[T1];判断出T1段不是最后一段, 则进入下一段的处理。 读入T2段,并读取T2段的大纲等级(等级值0);判断出T2段 是等级段;判断出T2段的等级值等于上一段T1的等级值,则T2段是 与上一段T1同等级的段,并将T2段加入到上一段T1所在的队列中, 此时根队列为[T1,T2];判断出T2段不是最后一段,则进入下一段的 处理。 读入T2_CONTENT段,并读取T2_CONTENT的大纲等级(等级 值9);判断出T2_CONTENT段是内容段,则将该T2_CONTENT段加 入到上一等级段T2的内容队列中,此时T2的内容队列为: childrenTextNodes:[T1_CONTENT内容段];判断出T2_CONTENT段 不是最后一段,则进入下一段的处理。 读入T2_1段,并读取T2_1的大纲等级(等级值1);判断出T2_1 段是等级段;判断出T2_1段的等级值大于上一段T2的等级值,则T2_1 段是上一段T2的儿子段,并将T2_1段加入到上一段T2的儿子队列中, 此时T2的儿子队列为[T2_1];判断出T2_1段不是最后一段,则进入 下一段的处理。 读入T2_1_1段,并读取T2_1_1的大纲等级(等级值2);判断出 T2_1_1段是等级段;判断出T2_1_1段的等级值大于上一段T2_1的等 级值,则T2_1_1段是上一段T2_1的儿子段,并将T2_1_1段加入到上 一段T2_1的儿子队列中,此时T2_1的儿子队列为[T2_1_1];判断出 T2_1_1段不是最后一段,则进入下一段的处理。 读入T2_2段,并读取T2_2的大纲等级(等级值1);判断出T2_2 段是等级段;判断出T2_2段的等级值小于上一段T2_1_1的等级值; 进一步判断当前段T2_2的等级值是否等于上一段T2_1_1的父亲段 T2_1的等级值,其结果是T2_2段的等级值等于T2_1的等级值,则表 示T2_2段与T2_1段是同级别的段;将T2_2段加入到T2_1所在的队 列中,此时T2的儿子队列为[T2_1,T2_2];判断出T2_1_1段不是最 后一段,则进入下一段的处理。 读入T2_2_CONTENT段,并读取T2_2_CONTENT的大纲等级(等 级值9);判断出T2_2_CONTENT段是内容段,则将该T2_2_CONTENT 段加入到上一等级段T2_2的内容队列中,此时T2_2的内容队列为: childrenTextNodes:[T2_2_CONTENT内容段];判断出T2_2_CONTENT 段不是最后一段,则进入下一段的处理。 读入T3段,并读取T3的大纲等级(等级值0);判断出T3段是 等级段;判断出T3段的等级值小于上一段T2_2的等级值;进一步判 断当前段T3的等级值是否等于上一段T2_2的父亲段T2的等级值,其 结果是T3段的等级值等于T2的等级值,则表示T3段与T2段是同级 别的段;将T3段加入到T2所在的队列中,此时根队列为[T1,T2,T3]; 判断出T3段是最后一段,则该处理结束。 通过上述处理,最后输出: 根队列:[T1,T2,T3]。 其中T2模型如下: T2: childrenTextNodes:[T1_CONTENT内容段] childrenNodes:[T2_1,T2_2] 其中T2_1模型如下: T2_1: childrenNodes:[T2_1_1] 其中T2_2模型如下: T2_2: childrenTextNodes:[T2_2_CONTENT内容段] 通过上述可知,本技术采用了支持程度好的类库来简化文档内容 的提取,更有效且更简单方便地使用这个类库以完成对word的操作控 制。同时由于这个类库支持多种实现语言,不依赖第三方控件和系统 环境。基于这样的类库,来封装方法,设计模型,完成word文档的结 构化,立体化,最终实现word文档的智能转化和分析。 此外,对于本领域的普通技术人员来说可显而易见的得出其他优 点和修改。因此,具有更广方面的本发明并不局限于这里所示出的并 且所描述的具体说明及示例性实施例。因此,在不脱离由随后权利要 求及其等价体所定义的一般发明构思的精神和范围的情况下,可对其 做出各种修改。
《一种WORD文档的提取和分析方法.pdf》由会员分享,可在线阅读,更多相关《一种WORD文档的提取和分析方法.pdf(7页珍藏版)》请在专利查询网上搜索。
一种word文档的提取和分析方法包括步骤:按照段逐段读入,并判断当前段是内容段还是等级段,并且进一步判断当前段的等级值是小于、等于、还是大于上一段的等级值,并进行相应的处理。本发明采用了支持程度好的类库来简化文档内容的提取,更有效且更简单方便地使用这个类库以完成对word的操作控制。。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1