一种网页中非正文文本的识别系统及方法技术方案

技术编号:7974935 阅读:175 留言:0更新日期:2012-11-15 23:10
本发明专利技术公开了一种网页中非正文文本的识别系统及方法,涉及正文抽取领域。所述系统包括:网页抓取器适于抓取目标网站的所有网页的数据;DOM树构建单元,适于构建目标网站的每个网页对应的DOM树;DOM树分析单元,适于根据DOM树找出网页中的单元文本段;文本统计单元,适于统计单元文本段在目标网站的所有网页中的出现次数;文本识别单元,适于在所述出现次数大于预定阈值时,将所述单元文本段识别为非正文文本。所述系统及方法,克服了现有方法对于非正文文本识别的滞后问题,并且具有较高的识别准确度。

【技术实现步骤摘要】

本专利技术涉及正文抽取
,特别涉及。
技术介绍
正文抽取在搜索引擎、移动阅读等领域有着越来越重要的作用。正文抽取常用的技术有基于规则、基于DOM (Document Object Model,文档对象模型)树、基于标记窗、基于最大文本块等。这些方法都需要对网站中的非正文文本,比如广告、网站声明等,进行排除。如图Ia所示是一段网站声明的代码段示意图,图Ib是图Ia中代码段在网页中的实际展示效果图,这种网站声明在网页中非常常见,对于用户阅读价值不大,都需要在正文抽取时进行排除。然而,如何有效地识别这些非正文文本,是一个难题。现有技术中主要采用垃圾关键词密度的方法进行非正文文本识别。在基于垃圾关键词识别非正文文本时,需要有垃圾关键词构成的词典,并且不断对词典进行更新。对于词典的更新,只有在发现问题后才能加入新的垃圾关键词。因此,这种方法对于问题的解决具有严重的滞后性,而且当面对全互联网的海量数据时,这种滞后性显的更加突出。
技术实现思路
本专利技术要解决的技术问题是如何提供,以克服现有方法对于非正文文本识别的滞后问题。为解决上述技术问题,本专利技术提供一种网页中非正文文本的识别系统,所述系统包括网页抓取器、DOM树构建单元、DOM树分析单元、文本统计单元和文本识别单元;所述网页抓取器适于抓取目标网站的所有网页的数据;所述DOM树构建单元,适于构建目标网站的每个网页对应的DOM树;所述DOM树分析单元,适于根据所述DOM树找出所述网页中的单元文本段;所述文本统计单元,适于统计所述单元文本段在所述目标网站的所有网页中的出现次数;所述文本识别单元,适于在所述出现次数大于预定阈值时,将所述单元文本段识别为非正文文本。其中,所述DOM树构建单元采用网页语言对应的解析器。其中,所述DOM树分析单元包括节点访问模块和文本段划分模块;所述节点访问模块,适于从所述DOM树的根节点开始,依次访问所述DOM树中的节点,并将访问到的当前节点发送给所述文本段划分模块;以及适于判断所述DOM树中是否还有需要访问的节点,如果是,将相应的节点作为新的当前节点发送给所述文本段划分模块;所述文本段划分模块,适于判断当前节点对应的文本段是否满足单元文本段的条件,并且在满足条件时,将所述当前节点对应的文本段作为单元文本段,并且通知所述节点访问模块停止对所述当前节点的后代节点的访问。其中,所述节点访问模块,适于从所述DOM树的根节点开始,按照广度优先算法依次访问所述DOM树中的节点,并将访问到的当前节点发送给所述文本段划分模块;以及适于判断所述DOM树中是否还有需要访问的当前节点的同层节点或者下层节点,如果是,将相应的同层节点或者下层节点作为新的当前节点发送给所述文本段划分模块。其中,当所述当前节点到其后代节点的最长路径小于等于预定长度,并且所述当前节点的后代节点中不包含复杂节点时,认为所述当前节点对应的文本段满足单元文本段的条件。其中,所述复杂节点包括标签table、tr、td、ul、ol、frame、select、input、marquee和/或map对应的节点。其中,所述文本统计单元包括哈希运算模块和统计模块; 所述哈希运算模块,适于对所述単元文本段进行哈希运算,得到结果键值;所述统计模块,适于根据所述结果键值统计所述单元文本段在所述目标网站的所有网页中的出现次数。其中,所述文本识别单元,还适于在所述出现次数小于等于所述预定阈值时,将所述单元文本段识别为正文文本。本专利技术还提供一种网页中非正文文本的识别方法,其包括步骤A :使用网页抓取器抓取目标网站的所有网页的数据;B :构建目标网站的每个网页对应的DOM树;C :根据所述DOM树找出所述网页中的单元文本段;D :统计所述单元文本段在所述目标网站的所有网页中的出现次数;E :根据所述出现次数,判断所述单元文本段是否是非正文文本。其中,所述步骤B中,采用网页语言对应的解析器构建目标网站的每个网页对应的DOM树。其中,所述步骤C中具体包括步骤Cl :从所述DOM树的根节点开始,依次访问所述DOM树中的节点;C2:判断当前节点对应的文本段是否满足単元文本段的条件,如果是,停止对所述当前节点的后代节点的访问,将所述当前节点对应的文本段作为单元文本段,执行步骤C3 ;否则,直接执行步骤C3;C3:判断所述DOM树中是否还有需要访问的节点,如果是,将相应的节点作为新的当前节点,执行步骤C2 ;否则,执行所述步骤D。其中,所述步骤C2具体包括步骤C21 :判断当前节点是否满足以下条件所述当前节点到其后代节点的最长路径小于等于预定长度,并且所述当前节点的后代节点中不包含复杂节点;如果是,执行步骤C22 ;否则,执行步骤C3 ;C22 :停止对所述当前节点的后代节点的访问,将所述当前节点对应的文本段作为単元文本段,执行步骤C3。其中,所述复杂节点包括标签table、tr、td、ul、ol、frame、select、input、marquee和/或map对应的节点。其中,所述步骤Cl中,按照广度优先算法依次访问所述DOM树中的节点;所述步骤C3具体包括步骤C31 :判断所述DOM树中是否还有未访问的所述当前节点的同层节点,如果是,将所述同层节点作为新的当前节点,执行步骤C2 ;否则,执行步骤C32 ;C32:判断所述DOM树中是否还有需要访问的所述当前节点的下层节点,如果是,将所述下层节点作为新的当前节点,执行步骤C2 ;否则,执行所述步骤D。其中,所述步骤D具体包括步骤Dl :对所述単元文本段进行哈希运算,得到结果键值;D2:根据所述结果键值统计所述单元文本段在所述目标网站的所有网页中的出现 次数。其中,所述步骤E具体包括步骤判断所述出现次数是否大于预定阈值,如果是,将所述単元文本段识别为非正文文本;否则,将所述单元文本段识别为正文文本。本专利技术的网页中非正文文本的识别系统及方法,采用DOM树获取每个网页的单元文本段,进而对単元文本段在目标网站中出现的次数进行统计,并将其出现次数与预定阈值进行比较,从而识别出网站上的非正文文本,克服了现有方法对于非正文文本识别的滞后问题,并且具有较高的识别准确度,在搜索引擎中具有广泛的应用前景。附图说明图Ia是一段网站声明的代码段不意图;图Ib是图Ia中代码段在网页中的实际展示效果图;图2是本专利技术实施例所述网页中非正文文本的识别系统的模块结构图;图3是所述DOM树分析单元的内部模块结构图;图4是所述文本统计单元的内部模块结构图;图5是本专利技术实施例的网页中非正文文本的识别方法的流程图;图6是HTML网页对应的DOM树示意图;图7是所述步骤C的流程图;图8是所述步骤D的流程图;图9是单元文本段统计原理示意图。具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进ー步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。图2是本专利技术实施例所述网页中非正文文本的识别系统的模块结构图,如图2所示,所述系统包括网页抓取器100、DOM树构建单元200、DOM树分析単元300、文本统计单元400和文本识别单元500。所述网页抓取器100适于抓取目标网站的所有网页的数据,其一般可以采用网络蜘蛛、网页爬虫、捜索机器人或网络抓取脚本程序。所述DOM树构建单元200,适于构建本文档来自技高网...

【技术保护点】
一种网页中非正文文本的识别系统,其特征在于,所述系统包括:网页抓取器、DOM树构建单元、DOM树分析单元、文本统计单元和文本识别单元;所述网页抓取器适于抓取目标网站的所有网页的数据;所述DOM树构建单元,适于构建目标网站的每个网页对应的DOM树;所述DOM树分析单元,适于根据所述DOM树找出所述网页中的单元文本段;所述文本统计单元,适于统计所述单元文本段在所述目标网站的所有网页中的出现次数;所述文本识别单元,适于在所述出现次数大于预定阈值时,将所述单元文本段识别为非正文文本。

【技术特征摘要】
1.一种网页中非正文文本的识别系统,其特征在于,所述系统包括网页抓取器、DOM树构建单元、DOM树分析单元、文本统计单元和文本识别单元; 所述网页抓取器适于抓取目标网站的所有网页的数据; 所述DOM树构建单元,适于构建目标网站的每个网页对应的DOM树; 所述DOM树分析单元,适于根据所述DOM树找出所述网页中的单元文本段; 所述文本统计单元,适于统计所述单元文本段在所述目标网站的所有网页中的出现次数; 所述文本识别单元,适于在所述出现次数大于预定阈值时,将所述单元文本段识别为非正文文本。2.如权利要求I所述的系统,其特征在于,所述DOM树构建单元采用网页语言对应的解析器。3.如权利要求I所述的系统,其特征在于,所述DOM树分析单元包括节点访问模块和文本段划分模块; 所述节点访问模块,适于从所述DOM树的根节点开始,依次访问所述DOM树中的节点,并将访问到的当前节点发送给所述文本段划分模块;以及适于判断所述DOM树中是否还有需要访问的节点,如果是,将相应的节点作为新的当前节点发送给所述文本段划分模块; 所述文本段划分模块,适于判断当前节点对应的文本段是否满足单元文本段的条件,并且在满足条件时,将所述当前节点对应的文本段作为单元文本段,并且通知所述节点访问模块停止对所述当前节点的后代节点的访问。4.如权利要求3所述的系统,其特征在于,所述节点访问模块,适于从所述DOM树的根节点开始,按照广度优先算法依次访问所述DOM树中的节点,并将访问到的当前节点发送给所述文本段划分模块;以及适于判断所述DOM树中是否还有需要访问的当前节点的同层节点或者下层节点,如果是,将相应的同层节点或者下层节点作为新的当前节点发送给所述文本段划分模块。5.如权利要求3所述的系统,其特征在于,当所述当前节点到其后代节点的最长路径小于等于预定长度,并且所述当前节点的后代节点中不包含复杂节点时,认为所述当前节点对应的文本段满足单元文本段的条件。6.如权利要求5所述的系统,其特征在于,所述复杂节点包括标签table、tr、td、ul、ol、frame> select、input、marquee 和 / 或 map 对应的节点。7.如权利要求I所述的系统,其特征在于,所述文本统计单元包括哈希运算模块和统计丰吴块; 所述哈希运算模块,适于对所述单元文本段进行哈希运算,得到结果键值; 所述统计模块,适于根据所述结果键值统计所述单元文本段在所述目标网站的所有网页中的出现次数。8.如权利要求I所述的系统,其特征在于,所述文本识别单元,还适于在所述出现次数小于等于所述预定阈值时,将所述单元文本段识别为正文文本。9.一种网页中非正文文本的识别方...

【专利技术属性】
技术研发人员:王志刚
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1