[发明专利]一种文档解析方法与装置有效
| 申请号: | 201510556440.X | 申请日: | 2015-09-02 |
| 公开(公告)号: | CN106445910B | 公开(公告)日: | 2019-04-12 |
| 发明(设计)人: | 张海东;庄秋敏 | 申请(专利权)人: | 深圳市一览网络股份有限公司 |
| 主分类号: | G06F17/27 | 分类号: | G06F17/27;G06F16/332 |
| 代理公司: | 深圳新创友知识产权代理有限公司 44223 | 代理人: | 江耀纯 |
| 地址: | 518000 广东省深圳市南山区高新*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种文档解析方法与装置,该文档解析方法包括以下步骤:S1、从原始文档中提取文本内容;S2、根据预设的分段识别符对文本内容进行分段,将分段后的文本内容放入原始内容堆栈;S3、依次取出原始内容堆栈的栈点内容,作为当前栈点内容;若当前栈点内容满足某个匹配项对应关键词的匹配条件,称当前栈点为当前匹配栈点,当前栈点作为某个匹配项的匹配起点,当前栈点内容除去关键词后的内容以及往下遍历的栈点内容作为某个匹配项的匹配内容,直到遇到下一匹配栈点时,下一匹配栈点的上一栈点作为某个匹配项的匹配终点。本文档解析方法能适应多种格式文档的内容解析,提高了文档解析精度,降低人工维护成本。 | ||
| 搜索关键词: | 一种 文档 解析 方法 装置 | ||
【主权项】:
1.一种文档解析方法,其特征在于,包括以下步骤:S1、从原始文档中提取文本内容;S2、根据预设的分段识别符对所述文本内容进行分段,将分段后的所述文本内容放入原始内容堆栈;S3、依次取出所述原始内容堆栈的栈点内容,作为当前栈点内容;若所述当前栈点内容满足某个匹配项对应关键词的匹配条件,称当前栈点为当前匹配栈点,当前栈点作为所述某个匹配项的匹配起点,所述当前栈点内容除去所述某个匹配项对应关键词后的内容以及往下遍历的栈点内容作为所述某个匹配项的匹配内容,直到遇到下一匹配栈点时,所述下一匹配栈点的上一栈点作为所述某个匹配项的匹配终点;步骤S3中,通过将所述当前栈点内容与预设的关键词库进行比较来判断所述当前栈点内容是否满足关键词的匹配条件;所述关键词库包括与所述原始文档匹配项相关的关键词;所述关键词库中每一类关键词具有对应的关键词类型,所述关键词类型包括单栈匹配类、二栈匹配类、多栈匹配类、内容匹配类和排除匹配类;相应地,步骤S3中对所述原始内容堆栈的栈点内容进行的处理,包括以下步骤:S31、从当前栈底开始,依次取出所述原始内容堆栈的栈点内容,作为当前栈点内容;S32、将所述当前栈点内容与关键词库进行比较,判断所述当前栈点内容是否满足关键词的匹配条件,若满足,则返回所述当前栈点内容以及所述当前栈点内容包括的关键词类型,执行步骤S33,且执行步骤S33后返回步骤S31,继续提取下一栈点内容;若不满足,返回所述当前栈点内容,执行步骤S34,且执行步骤S34后返回步骤S31,继续提取下一栈点内容;S33、包括以下步骤:S331、如果返回的关键词类型包括排除匹配类,则返回步骤S31,继续提取下一栈点内容;S332、如果返回的关键词类型包括内容匹配类,则在结果堆栈栈顶新建第二结果栈点,将所述当前栈点内容和所述内容匹配类关键词对应的匹配项一起移入所述第二结果栈点;S333、判断临时堆栈是否为空,若为空,执行步骤S334,若不为空,执行步骤S335;S334、根据返回的关键词类型进行如下处理:1)如果返回的关键词类型包含单栈匹配类,则在结果堆栈栈顶新建第三结果栈点,将所述当前栈点内容和所述单栈匹配类关键词对应的匹配项一起移入所述第三结果栈点;2)如果返回的关键词类型包含二栈匹配类或多栈匹配类,则在临时堆栈栈顶新建第三临时栈点,将所述当前栈点内容移入所述第三临时栈点;S335、如果临时堆栈栈顶内容包括的关键词类型是多栈匹配类且返回的关键词类型包含单栈匹配类、二栈匹配类或内容匹配类中的一种或几种,执行步骤S335‑1;否则,执行步骤S335‑2;S335‑1、首先,将所述当前栈点内容移入临时堆栈的栈顶栈点;然后,如果返回的关键词类型包含单栈匹配类,则在结果堆栈栈顶新建第四结果栈点,将所述当前栈点内容和所述单栈匹配类关键词对应的匹配项一起移入所述第四结果栈点;如果返回的关键词类型包含二栈匹配类或内容匹配类中的一种或两种,则在临时堆栈栈顶新建第四临时栈点,将所述当前栈点内容移入所述第四临时栈点;S335‑2、在结果堆栈栈顶新建第五结果栈点,临时堆栈的栈顶内容移出后和临时堆栈的栈顶内容关键词对应的匹配项一起移入所述第五结果栈点,在临时堆栈栈顶新建第五临时栈点,将所述当前栈点内容移入所述第五临时栈点;S34、判断临时堆栈是否为空,若否,根据临时堆栈栈顶内容包括的关键词类型进行处理,包括以下情形:1)若临时堆栈栈顶内容包括的关键词类型是单栈匹配类,或者临时堆栈栈顶内容包括的关键词类型是二栈匹配类且临时堆栈栈顶的元素个数不小于2时,判断临时堆栈栈顶下一个栈点内容包括的关键词类型是否为多栈匹配类,若是,则将所述当前栈点内容移入临时堆栈栈顶的下一个栈点;2)若临时堆栈栈顶内容包括的关键词类型是二栈匹配类且临时堆栈栈顶的元素个数小于2,则将所述当前栈点内容移入临时堆栈的栈顶栈点;3)若临时堆栈栈顶内容包括的关键词类型是多栈匹配类,则将所述当前栈点内容移入临时堆栈的栈顶栈点;循环上述步骤S31~S34,直至原始内容堆栈中所有栈点内容处理完成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市一览网络股份有限公司,未经深圳市一览网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510556440.X/,转载请声明来源钻瓜专利网。





