CN102314520A - 基于统计回溯定位的网页正文提取方法和装置 - Google Patents
基于统计回溯定位的网页正文提取方法和装置 Download PDFInfo
- Publication number
- CN102314520A CN102314520A CN201110326226A CN201110326226A CN102314520A CN 102314520 A CN102314520 A CN 102314520A CN 201110326226 A CN201110326226 A CN 201110326226A CN 201110326226 A CN201110326226 A CN 201110326226A CN 102314520 A CN102314520 A CN 102314520A
- Authority
- CN
- China
- Prior art keywords
- text
- nodes
- node
- plain text
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明提供了一种基于统计回溯定位的网页正文提取方法和装置。所述基于统计回溯定位的网页正文提取方法包括以下步骤:将网页解析为DOM树结构,按行分析网页,得到每一行的纯文本长度;对该DOM树中的所有行根据纯文本长度由高到低进行排序;从纯文本长度最长的行开始,依次取出该DOM树中的行,以该行中纯文本最长的文本节点为起点进行回溯,将与该文本节点具有相同特征值的所有文本节点放到一节点组中,并计算该节点组的文本集中度,取文本集中度最高的节点组作为目标节点组;将目标节点组中的纯文本率大于纯文本率阈值的目标节点定为正文候选节点;输出正文候选节点。本发明通用性强、可维护性好、适用面广,可自适应大多数网页的正文提取需求。
Description
技术领域
本发明涉及一种正文提取实现方法和装置,尤其涉及一种基于统计回溯定位的网页正文提取方法和装置。
背景技术
随着Internet的不断发展,互联网内的数据成指数型增长,已经成为巨大的、分布广泛的信息源。这里面不乏我们需要的信息,但许多信息包含在浩如烟海的Web网页中,如何帮助人们迅速提取有效信息变成了当前最重要的问题。
在这种背景下,网页正文的自动化提取也越来越多受到相关研究人员研究与关注,现在主要的研究成果有基于模板的网页正文提取方法,基于视觉特征的网页正文提取方法(VIPS),基于统计的网页正文提取方法等。下面简单介绍这三种常用网页正文的自动化提取方法,并对每种方法的特点进行分析。
1、基于模板的网页正文提取方法:这种方法使用包装器(Wrapper)来抽取网页中的有效信息。包装器是一个程序,该程序基于页面的布局特征,针对特定的一类网页,编写解析器,解析出正文在页面中的位置。这种方法的优点是实现简单,文本抽取准确率极高。缺点是通用性差,每一类网页都要编写特定的包装器,不适合大规模页面的抽取,另外如果某一类页面发生了变化,那么该类页面的包装器就会失效,必须重新修改。
2、基于视觉特征的网页正文提取方法:微软亚洲研究中心的研究员DengCai等提出了一种基于视觉的语义块提取的方法,主要思路是依据DOM树结构将整个页面逐层迭代分解成语义块,通过他们提出的VIPS算法给每个语义块赋DOC(Degree of Coherence)值,该值越大说明该语义块内部内容之间的紧密程度越大。然后检测语义块之间的分隔条,并对其设置权重,再从权重最小的分隔条开始合并分隔条两侧的页面块,这个过程迭代进行,直至构建出页面的整个内容。
这个方法的优点是通用性强,从人对于网页语义块视觉感知的角度进行分析,是目前最接近人类认知的方法。其准确性由于目前为止还没有成熟的应用,所以还无法检验。它的缺点是实现过程过于复杂,由于网页视觉特点的复杂性,导致VIPS具有算法规则过于复杂和性能低等缺陷,仅仅是DOC值的赋值过程就要遵循12条规则,在实际应用中可能还会增加更多的规则,因此,基于视觉特征的网页正文提取方法目前还停留在理论层面上,有待实践的检验。
3、基于统计的网页正文提取方法:该方法对网页特征从不同角度进行统计分析,采用统计学原理进行正文特征分析并抽取正文。
这种方法的优点是通用性强、可维护性好。缺点是文本抽取的准确率有限,实际应用的系统往往会借鉴基于模板方法的经验,能够在一定程度上提高文本抽取的准确率。
发明内容
本发明的主要目的在于提供一种基于统计回溯定位的网页正文提取方法和装置,以自适应大多数网页的正文提取需求。
为了达到上述目的,本发明提供了一种基于统计回溯定位的网页正文提取方法,包括以下步骤:
解析步骤:将网页解析为DOM树结构,按行分析网页,得到每一行的纯文本长度;
排序步骤:对该DOM树中的所有行根据纯文本长度由高到低进行排序;
回溯步骤:从纯文本长度最长的行开始,依次取出该DOM树中的行,以该行中纯文本最长的文本节点为起点进行回溯,将与该文本节点具有相同特征值的所有文本节点放到一节点组中,并计算该节点组的文本集中度,取文本集中度最高的节点组作为目标节点组;
回溯结果分析步骤:将目标节点组中的纯文本率大于纯文本率阈值的目标节点定为正文候选节点;
输出步骤:输出正文候选节点。
实施时,在回溯步骤中,所述特征值包括标签名和属性。
实施时,所述回溯步骤还包括:当所述特征值包括ID属性时,将所述ID属性的属性值中的数字去除。
实施时,本发明所述的基于统计回溯定位的网页正文提取方法在解析步骤和排序步骤之间还包含整理步骤;
所述整理步骤包括:将网页中纯文本长度为零的行删除,所述纯文本长度为零的行为仅有换行符的行。
实施时,在回溯步骤中,以该行中纯文本最长的文本节点为起点进行回溯步骤包括:
如果该行有多个文本节点,且该多个文本节点的纯文本长度不同,则以该行中纯文本最长的文本节点为起点进行回溯;
如果该行有多个文本节点,且该多个文本节点的纯文本长度相同,则任选该多个文本节点中的一个文本节点为起点进行回溯;
如果该行仅有一个文本节点,则以该文本节点为起点进行回溯。
实施时,本发明所述的基于统计回溯定位的网页正文提取方法在回溯结果分析步骤和输出步骤之间还包括判断步骤;
判断步骤包括:判断一正文候选节点对应的目标节点组内的节点内容是否相似,如果相似则结束,否则转至输出步骤;
在判断步骤中,所述判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:判断一正文候选节点对应的目标节点组内的节点内容的相似度是否大于一预先设定的相似度阈值。
实施时,在判断步骤中,判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:
判断该正文候选节点的纯文本长度是否大于纯文本长度阈值,如果是则直接输出该正文候选节点,否则采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度,根据该相似度是否大于所述相似度阈值以判断该正文候选节点对应的目标节点组内的节点内容是否相似。
实施时,在判断步骤中,当所述目标节点组内的节点数大于5时,采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度步骤包括:采用编辑距离算法计算该正文候选节点对应的目标节点组内的两端节点和中间三个节点之间的相似度。
实施时,判断步骤还包括:判断该正文候选节点的特征值是否含有隐藏属性,如果含有则结束,否则转至输出步骤。
实施时,本发明所述的基于统计回溯定位的网页正文提取方法在回溯结果分析步骤和判断步骤之间还包括已发现纯文本率判断步骤;
已发现纯文本率判断步骤包括:判断当前已发现纯文本长度占全文纯文本长度的比例是否小于一预先设定的已发现纯文本率阈值,如果是则转至回溯结果分析步骤,否则转至判断步骤。
实施时,在回溯结果分析步骤中,纯文本率阈值是50%;在判断步骤中,所述相似度阈值是50%;在所述已发现纯文本率判断步骤中,所述已发现纯文本率阈值是60%,所述纯文本长度阈值是100。
本发明还提供了一种基于统计回溯定位的网页正文提取装置,包括依次连接的解析模块,排序模块、回溯模块、回溯结果分析模块和输出模块,其中,
所述解析模块,用于将网页解析为DOM树结构,按行分析网页,得到每一行的纯文本长度;
所述排序模块,用于对该DOM树中的所有行根据纯文本长度由高到低进行排序;
所述回溯模块,用于从纯文本长度最长的行开始,依次取出该DOM树中的行,以该行中纯文本最长的文本节点为起点进行回溯,将与该文本节点具有相同特征值的所有文本节点放到一节点组中,并计算该节点组的文本集中度,取文本集中度最高的节点组作为目标节点组;
所述回溯结果分析模块,用于将目标节点组中的纯文本率大于纯文本率阈值的目标节点定为正文候选节点;
所述输出模块,用于输出正文候选节点。
实施时,所述特征值包括标签名和属性。
实施时,所述回溯模块还用于当所述特征值包括ID属性时将所述ID属性的属性值中的数字去除。
实施时,本发明所述的基于统计回溯定位的网页正文提取装置还包括整理模块,其连接于解析模块和排序模块之间;
所述整理模块用于将网页中纯文本长度为零的行删除,所述纯文本长度为零的行为仅有换行符的行。
实施时,所述回溯模块以该行中纯文本最长的文本节点为起点进行回溯步骤包括:
如果该行有多个文本节点,且该多个文本节点的纯文本长度不同,则所述回溯模块以该行中纯文本最长的文本节点为起点进行回溯;
如果该行有多个文本节点,且该多个文本节点的纯文本长度相同,则所述回溯模块任选该多个文本节点中的一个文本节点为起点进行回溯;
如果该行仅有一个文本节点,则所述回溯模块以该文本节点为起点进行回溯。
实施时,本发明所述的基于统计回溯定位的网页正文提取装置还包括判断模块,其连接于回溯结果分析模块和输出模块之间;
所述判断模块,用于判断一正文候选节点对应的目标节点组内的节点内容是否相似,如果相似则控制关闭所述输出模块,否则开启所述输出模块;
所述判断模块判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:所述判断模块判断一正文候选节点对应的目标节点组内的节点内容的相似度是否大于一预先设定的相似度阈值。
实施时,所述判断模块判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:
所述判断模块判断该正文候选节点的纯文本长度是否大于纯文本长度阈值,如果是则直接输出该正文候选节点,否则采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度,根据该相似度是否大于所述相似度阈值以判断该正文候选节点对应的目标节点组内的节点内容是否相似。
实施时,当所述目标节点组内的节点数大于5时,所述判断模块采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度步骤包括:所述判断模块采用编辑距离算法计算该正文候选节点对应的目标节点组内的两端节点和中间三个节点之间的相似度。
实施时,所述判断模块还用于判断该正文候选节点的特征值是否含有隐藏属性,如果含有则控制关闭所述输出模块,否则控制开启所述输出模块。
实施时,本发明所述的基于统计回溯定位的网页正文提取装置还包括已发现纯文本率判断模块,其连接于所述回溯结果分析模块和所述判断模块之间;
所述已发现纯文本率判断模块,用于判断当前已发现纯文本长度占全文纯文本长度的比例是否小于一预先设定的已发现纯文本率阈值,如果是则控制开启所述回溯结果分析模块,否则控制开启所述判断模块。
实施时,所述纯文本率阈值是50%,所述相似度阈值是50%,所述已发现纯文本率阈值是60%,所述纯文本长度阈值是100。
与现有技术相比,本发明所述的基于统计回溯定位的网页正文提取方法和装置,通用性强、可维护性好、适用面广,可自适应大多数网页的正文提取需求。
附图说明
图1是本发明所述的基于统计回溯定位的网页正文提取方法的一实施例的流程图;
图2是本发明所述的基于统计回溯定位的网页正文提取装置的一实施例的结构框图。
具体实施方式
本发明所述的基于统计回溯定位的网页正文提取方法和装置,通过统计网页中各行的纯文本长度,并通过回溯找到正文所在节点。
网页的正文内容大多数都有一个独享标签,该独享标签是正文所在标签,一般情况下,该独享标签中只含有正文内容,网页正文内容是由一个或多个独享标签组成,因此,提取网页正文的重点即由找文本变为找独享标签。本发明通过计算文本集中率来找出网页正文的独享标签,文本集中率表示为纯文本长度和文本节点个数的比值,文本节点越少而纯文本越多则文本集中率越大,反之亦然。所述纯文本是指网页中除去标签、样式代码、脚本代码、链接、表单控件的内容。
在实际应用中,文本集中率的比较是以节点组为单位进行的,该节点组指的是多个节点放在一起的组合。在本发明中,如果正文只分布在一个独享节点中则节点组的长度为1,当正文分布在n个独享节点中时,节点组长度为n。
所述独享节点是最大程度包含纯文本内容的节点,一个独享节点被某一段正文所独自占有。当有一个文本节点时,判断其是不是独享节点,分别计算本节点和父节点的文本集中率并比对,如果父节点比本节点大,则继续分析父节点,一直回溯遇到文本集中率最大的节点,最大文本集中率的节点我们认为是独享节点,其中添加了一些规则:如果文本节点是<span>或<p>则在比较时忽略本身的文本集中率。
例如,如果有几个含有纯文本的节点簇拥在一起,那么这几个节点的父节点就很有可能是独享节点。
在找到网页正文的独享节点后,就要输出该独享节点,此时输出的独享节点可能会含有噪音,对于不同类型的噪音本发明使用了相应的规则进行去噪,规则列举如下:
规则一(纯文本率规则):
如果程序误判独享节点则会造成大量噪音出现,被误判的节点多为广告链接节点或其他非正文节点,这些节点的特征是含有一定量的纯文本或文本集中率较高,想要排除它们的最好方法是计算这些节点的纯文本率,所述纯文本率是指纯文本占所有文本的比例,该所有文本只包括纯文本和链接文本,因此纯文本率表示为纯文本长度和该所有文本长度的比值。如果一节点的链接文本长度大于纯文本长度,则认为该节点为假的独享节点,则将其抛弃。
规则二(相似节点规则):
出现噪音的另一个原因是独享节点可能会包含一些无用信息,如评论式网页中的用户信息。所述评论式网页是指有不连续的短篇文字的网页,文本内容分布分散。如果该用户信息展示的都是一些用户属性值,而且该些用户属性值大多相似,则该用户信息不能算有效信息。本发明利用相似度判断网页内独享节点组中的节点的内容的相似度是否大于一预先设定的阈值(该阈值例如可以为50%),如果是则抛弃该节点。如果有很多需要比较的节点,无需全部两两比较一遍,只需要均匀地比较其中几个便可以说明全部情况(如只比较两头的节点和中间的节点)。
所述独享节点组是指:分析出来独享节点后,程序会把属性名称和属性相同(刨除了属性名为id属性)的独享节点分成独享节点组,相似节点的处理都是在独享节点组内进行的。
在本发明中,相似度的计算引用了文本编辑距离算法,该算法大致描述如下:
A和B文本编辑距离就是A变成B要做的增、删、改的操作次数,这个次数越大说明A和B的差别越大。
该算法对于短文本的文本距离计算非常适合,因为大文本(文本长度大于100的文本)的比较很耗性能而且大文本在网页的地位肯定重要,所以如果是大文本,则规定不用比较直接输出。
规则三(隐藏属性规则):
噪音的另一个原因是输出了应该隐藏的正文内容,在正文提取中,不得不考虑文本在浏览器的实际效果,如果该文本存在但不显示,则认为它不是有效信息最起码不是这篇网页的中心话题,因此在正文提取时也要排除掉。不显示在浏览器则就是隐藏属性的作用,检查标签属性中是否含有display:none或visibility:hidden便可以达到此目的。
如图1所示,本发明所述的基于统计回溯定位的网页正文提取方法的一实施例,包括以下步骤:
解析步骤11:将网页解析为DOM树结构,按行分析网页,得到每一行的纯文本长度;
排序步骤12:对该DOM树中的所有行根据纯文本长度由高到低进行排序;
回溯步骤13:从纯文本长度最长的行开始,依次取出该DOM树中的行,以该行中纯文本最长的文本节点为起点进行回溯,将与该文本节点具有相同特征值的所有文本节点放到一节点组中,并计算该节点组的文本集中度,取文本集中度最高的节点组作为目标节点组;
回溯结果分析步骤14:将目标节点组中的纯文本率比纯文本率阈值低的目标节点筛掉,保留纯文本率大于纯文本率阈值的目标节点,并将其定位正文候选节点;
输出步骤15:输出该正文候选节点的内容。
实施时,在回溯步骤13中,所述特征值包括标签名和属性。
实施时,所述回溯步骤13还包括:当所述特征值包括ID属性时,将所述ID属性的属性值中的数字去除。
实施时,在解析步骤11和排序步骤12之间还包含整理步骤;
所述整理步骤包括:将网页中纯文本长度为零的行删除,所述纯文本长度为零的行为仅有换行符的行。
实施时,在回溯步骤中13,以该行中纯文本最长的文本节点为起点进行回溯步骤包括:
如果该行有多个文本节点,且该多个文本节点的纯文本长度不同,则以该行中纯文本最长的文本节点为起点进行回溯;
如果该行有多个文本节点,且该多个文本节点的纯文本长度相同,则任选该多个文本节点中的一个文本节点为起点进行回溯;
如果该行仅有一个文本节点,则以该文本节点为起点进行回溯。
实施时,在回溯结果分析步骤14和输出步骤15之间还包括判断步骤;
判断步骤包括:判断一正文候选节点对应的目标节点组内的节点内容是否相似,如果相似则结束,否则转至输出步骤15;
在判断步骤中,所述判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:判断一正文候选节点对应的目标节点组内的节点内容的相似度是否大于一预先设定的相似度阈值。
实施时,在判断步骤中,判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:
判断该正文候选节点的纯文本长度是否大于纯文本长度阈值,如果是则直接输出该正文候选节点,否则采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度,根据该相似度是否大于所述相似度阈值以判断该正文候选节点对应的目标节点组内的节点内容是否相似。
实施时,在判断步骤中,当所述目标节点组内的节点数大于5时,采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度步骤包括:采用编辑距离算法计算该正文候选节点对应的目标节点组内的两端节点和中间三个节点之间的相似度。
实施时,判断步骤还包括:判断该正文候选节点的特征值是否含有隐藏属性,如果含有则结束,否则转至输出步骤。
实施时,在回溯结果分析步骤14和判断步骤之间还包括已发现纯文本率判断步骤;
已发现纯文本率判断步骤包括:判断当前已发现纯文本长度占全文纯文本长度的比例是否小于一预先设定的已发现纯文本率阈值,如果是则转至回溯结果分析步骤14,否则转至判断步骤。
实施时,在回溯结果分析步骤14中,纯文本率阈值是50%;在判断步骤中,所述相似度阈值是50%;在所述已发现纯文本率判断步骤中,所述已发现纯文本率阈值是60%,所述纯文本长度阈值是100。
根据另一种具体实施方式,本发明所述的基于统计回溯定位的网页正文提取方法包括以下步骤:
步骤一:将网页解析成DOM树结构,例如可以使用开源组件HtmlParser将网页解析成DOM树结构。
步骤二(统计与整理步骤):
1、统计节点,把相同特征值的节点归为一类;
所述特征值包括标签名和节点的所有属性;
把网页解析成DOM树后,每个标签都可以认为是一个节点,标签的属性就是节点的属性。
然而对于含有ID属性的标签要特殊处理,因为有些论坛网页中的帖子所在节点的ID多为增量的编号,如:
本实施例采取的方法是把ID属性值中的数字去掉,即<div id=″replyl″>的特征值为“div id=reply”。
2、按行分析网页,得到每一行的纯文本长度。统计全文纯文本长度WholeLength,这个过程也在解析网页的过程中进行;在解析网页的同时得到原格式每一行的纯文本长度,DOM树的解析过程是把每个标签和文本都转换成节点,并保存节点关系。在解析过程中,换行符(\n)可以告知每一行的结束。
3.把一些空文本行(只含换行符)以及长度很小的文本行进行排除,用以提高效率,然后对所有的行根据纯文本长度由高到低排序。
步骤三(回溯与文本集中度计算步骤):
1.依次取出一行(这是一个递归过程,从最长的行开始,取过的不再取),找出行内最重要的文本节点;
如果这行有多个节点,则纯文本最长的节点是最重要的节点,如果改行只是某个节点的一部分纯文本,则这个该节点就是最重要的节点。
以该行内最重要的节点为起点回溯,每回溯一层节点,找出与该节点相同特征值的所有节点(前面已作节点统计),放到一个节点组中。
其中,所述最重要的节点是指:如果这行有多个节点,则纯文本最长的节点是最重要的节点;如果该行只是某个节点的一部分纯文本,则这个该节点就是最重要的节点。
每层节点泛指节点回溯过程中遇到的每个节点;
如果取出的是第三行,就以第三行中最重要的节点为起点,回溯它的父节点,回溯在DOM节点中表达的意思是指找父节点;
2.计算节点组文本集中度。文本集中度是节点组的所含纯文本长度与节点的总个数的比值。公式表示为:
回溯完成后(一般回溯至<body>标签即算完成),取此次回溯过程中遇到的最大文本集中度的节点组,称为目标节点组。
3.在回溯过程中要记录已处理过的节点特征值,避免下次回溯重复处理。
步骤四(回溯结果分析步骤):
1.迭代回溯返回的目标节点组,计算节点组的纯文本率,纯文本率是纯文本长度与含有链接的纯文本长度的比值:
其中链接文本长度是指纯文本长度+链接文本长度。如果PlainTextRatio大于阈值R(R的取值一般为0.5比较合适。这个可根据需求而定,当宁缺毋滥时该值可设的大一点,反之亦然)则把该节点定为正文候选节点,等待抽取。如果PlainTextRatio小于R则认为该节点是噪音节点,将其抛弃。
2.统计当前已发现纯文本长度SeenLength占全文纯文本WholeLength的比例,所述已发现纯文本长度SeenLength为所述正文候选节点内的纯文本长度;
该比例表示为SeenRatio:
如果SeenRatio小于阈值R1(R1的取值取决于应用需求,当要求不能遗漏数据时,R1要尽量大,反之亦然,根据一种具体实施方式,R1=0.6),则转至步骤四,否则转至步骤五。
步骤五(规则限定输出步骤):
1.输出节点内容,迭代网页所有节点,取节点特征值并查看该节点是否是正文候选节点,如果不是则跳过该节点的检查,是则用该节点的特征值取出节点组,进行以下2、3中的规则检查.
2.判断所述正文候选节点对应的节点组内的节点内容是否相似,相似度算法表示如下:
LD:文本编辑距离;T:较大的文本长度。
3.判断节点特征值是否含有隐藏属性,即属性值是否含有display:none或visibility:hidden,在此用正则表达式实现。
4.当所述正文候选节点对应的目标节点组内的节点内容的相似度小于一预先设定的阈值时,并且该正文候选节点的特征值不含有隐藏属性时,输出该正文候选节点,处理下个节点直到节点结束。
另外还可以考虑其他的相似度对比方法,如分词建立向量模型求余弦夹角方法。
如图2所示,本发明还提供了一种基于统计回溯定位的网页正文提取装置,包括依次连接的解析模块21、排序模块22、回溯模块23、回溯结果分析模块24和输出模块25,其中,
解析模块21,用于将网页解析为DOM树结构,按行分析网页,得到每一行的纯文本长度;
排序模块22,对来自所述解析模块21的DOM树中的所有行根据纯文本长度由长到短进行排序;
回溯模块23,用于从纯文本长度最长的行开始,依次取出该DOM树中的行,以该行中纯文本最长的文本节点为起点进行回溯,将与该文本节点具有相同特征值的所有文本节点放到一节点组中,并计算该节点组的文本集中度,取文本集中度最高的节点组作为目标节点组;
回溯结果分析模块24,用于将目标节点组中的纯文本率大于纯文本率阈值低的目标节点定为正文候选节点;
输出模块25,用于输出该正文候选节点的内容。
实施时,解析模块21,进一步用于使用开源组件HtmlParser将网页解析成DOM树结构。
实施时,所述特征值包括标签名和属性。
实施时,所述回溯模块23还用于当所述特征值包括ID属性时将所述ID属性的属性值中的数字去除。
实施时,本发明所述的基于统计回溯定位的网页正文提取装置还包括整理模块,其连接于解析模块21和排序模块22之间;
所述整理模块用于将网页中纯文本长度为零的行删除,所述纯文本长度为零的行为仅有换行符的行。
实施时,所述回溯模块23以该行中纯文本最长的文本节点为起点进行回溯步骤包括:
如果该行有多个文本节点,且该多个文本节点的纯文本长度不同,则所述回溯模块23以该行中纯文本最长的文本节点为起点进行回溯;
如果该行有多个文本节点,且该多个文本节点的纯文本长度相同,则所述回溯模块23任选该多个文本节点中的一个文本节点为起点进行回溯;
如果该行仅有一个文本节点,则所述回溯模块23以该文本节点为起点进行回溯。
实施时,本发明所述的基于统计回溯定位的网页正文提取装置还包括判断模块,其连接于回溯结果分析模块24和输出模块25之间;
所述判断模块,用于判断一正文候选节点对应的目标节点组内的节点内容是否相似,如果相似则控制关闭所述输出模块25,否则开启所述输出模块25;
所述判断模块判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:所述判断模块判断一正文候选节点对应的目标节点组内的节点内容的相似度是否大于一预先设定的相似度阈值。
实施时,所述判断模块判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:
所述判断模块判断该正文候选节点的纯文本长度是否大于纯文本长度阈值,如果是则直接输出该正文候选节点,否则采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度,根据该相似度是否大于所述相似度阈值以判断该正文候选节点对应的目标节点组内的节点内容是否相似。
实施时,当所述目标节点组内的节点数大于5时,所述判断模块采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度步骤包括:所述判断模块采用编辑距离算法计算该正文候选节点对应的目标节点组内的两端节点和中间三个节点之间的相似度。
实施时,所述判断模块还用于判断该正文候选节点的特征值是否含有隐藏属性,如果含有则控制关闭所述输出模块,否则控制开启所述输出模块。
实施时,本发明所述的基于统计回溯定位的网页正文提取装置还包括已发现纯文本率判断模块,其连接于所述回溯结果分析模块24和所述判断模块之间;
所述已发现纯文本率判断模块,用于判断当前已发现纯文本长度占全文纯文本长度的比例是否小于一预先设定的已发现纯文本率阈值,如果是则控制开启所述回溯结果分析模块24,否则控制开启所述判断模块。
实施时,纯文本率阈值是50%,所述相似度阈值是50%,所述已发现纯文本率阈值是60%,所述纯文本长度阈值是100。
以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离所附权利要求所限定的精神和范围的情况下,可做出许多修改、变化或等效,但都将落入本发明的保护范围内。
Claims (22)
1.一种基于统计回溯定位的网页正文提取方法,其特征在于,包括以下步骤:
解析步骤:将网页解析为DOM树结构,按行分析网页,得到每一行的纯文本长度;
排序步骤:对该DOM树中的所有行根据纯文本长度由高到低进行排序;
回溯步骤:从纯文本长度最长的行开始,依次取出该DOM树中的行,以该行中纯文本最长的文本节点为起点进行回溯,将与该文本节点具有相同特征值的所有文本节点放到一节点组中,并计算该节点组的文本集中度,取文本集中度最高的节点组作为目标节点组;
回溯结果分析步骤:将目标节点组中的纯文本率大于纯文本率阈值的目标节点定为正文候选节点;
输出步骤:输出正文候选节点。
2.如权利要求1所述的基于统计回溯定位的网页正文提取方法,其特征在于,在回溯步骤中,所述特征值包括标签名和属性。
3.如权利要求2所述的基于统计回溯定位的网页正文提取方法,其特征在于,所述回溯步骤还包括:当所述特征值包括ID属性时,将所述ID属性的属性值中的数字去除。
4.如权利要求1所述的基于统计回溯定位的网页正文提取方法,其特征在于,在解析步骤和排序步骤之间还包含整理步骤;
所述整理步骤包括:将网页中纯文本长度为零的行删除,所述纯文本长度为零的行为仅有换行符的行。
5.如权利要求1所述的基于统计回溯定位的网页正文提取方法,其特征在于,在回溯步骤中,以该行中纯文本最长的文本节点为起点进行回溯步骤包括:
如果该行有多个文本节点,且该多个文本节点的纯文本长度不同,则以该行中纯文本最长的文本节点为起点进行回溯;
如果该行有多个文本节点,且该多个文本节点的纯文本长度相同,则任选该多个文本节点中的一个文本节点为起点进行回溯;
如果该行仅有一个文本节点,则以该文本节点为起点进行回溯。
6.如权利要求1所述的基于统计回溯定位的网页正文提取方法,其特征在于,在回溯结果分析步骤和输出步骤之间还包括判断步骤;
判断步骤包括:判断一正文候选节点对应的目标节点组内的节点内容是否相似,如果相似则结束,否则转至输出步骤;
在判断步骤中,所述判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:判断一正文候选节点对应的目标节点组内的节点内容的相似度是否大于一预先设定的相似度阈值。
7.如权利要求6所述的基于统计回溯定位的网页正文提取方法,其特征在于,在判断步骤中,判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:
判断该正文候选节点的纯文本长度是否大于纯文本长度阈值,如果是则直接输出该正文候选节点,否则采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度,根据该相似度是否大于所述相似度阈值以判断该正文候选节点对应的目标节点组内的节点内容是否相似。
8.如权利要求7所述的基于统计回溯定位的网页正文提取方法,其特征在于,在判断步骤中,当所述目标节点组内的节点数大于5时,采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度步骤包括:采用编辑距离算法计算该正文候选节点对应的目标节点组内的两端节点和中间三个节点之间的相似度。
9.如权利要求6至8中任一权利要求所述的基于统计回溯定位的网页正文提取方法,其特征在于,判断步骤还包括:判断该正文候选节点的特征值是否含有隐藏属性,如果含有则结束,否则转至输出步骤。
10.如权利要求6至8中任一权利要求所述的基于统计回溯定位的网页正文提取方法,其特征在于,在回溯结果分析步骤和判断步骤之间还包括已发现纯文本率判断步骤;
已发现纯文本率判断步骤包括:判断当前已发现纯文本长度占全文纯文本长度的比例是否小于一预先设定的已发现纯文本率阈值,如果是则转至回溯结果分析步骤,否则转至判断步骤。
11.如权利要求10所述的基于统计回溯定位的网页正文提取方法,其特征在于,在回溯结果分析步骤中,纯文本率阈值是50%;在判断步骤中,所述相似度阈值是50%;在所述已发现纯文本率判断步骤中,所述已发现纯文本率阈值是60%,所述纯文本长度阈值是100。
12.一种基于统计回溯定位的网页正文提取装置,其特征在于,包括依次连接的解析模块,排序模块、回溯模块、回溯结果分析模块和输出模块,其中,
所述解析模块,用于将网页解析为DOM树结构,按行分析网页,得到每一行的纯文本长度;
所述排序模块,用于对该DOM树中的所有行根据纯文本长度由高到低进行排序;
所述回溯模块,用于从纯文本长度最长的行开始,依次取出该DOM树中的行,以该行中纯文本最长的文本节点为起点进行回溯,将与该文本节点具有相同特征值的所有文本节点放到一节点组中,并计算该节点组的文本集中度,取文本集中度最高的节点组作为目标节点组;
所述回溯结果分析模块,用于将目标节点组中的纯文本率大于纯文本率阈值的目标节点定为正文候选节点;
所述输出模块,用于输出正文候选节点。
13.如权利要求12所述的基于统计回溯定位的网页正文提取装置,其特征在于,所述特征值包括标签名和属性。
14.如权利要求13所述的基于统计回溯定位的网页正文提取装置,其特征在于,所述回溯模块还用于当所述特征值包括ID属性时将所述ID属性的属性值中的数字去除。
15.如权利要求12所述的基于统计回溯定位的网页正文提取装置,其特征在于,还包括整理模块,其连接于解析模块和排序模块之间;
所述整理模块用于将网页中纯文本长度为零的行删除,所述纯文本长度为零的行为仅有换行符的行。
16.如权利要求12所述的基于统计回溯定位的网页正文提取装置,其特征在于,所述回溯模块以该行中纯文本最长的文本节点为起点进行回溯步骤包括:
如果该行有多个文本节点,且该多个文本节点的纯文本长度不同,则所述回溯模块以该行中纯文本最长的文本节点为起点进行回溯;
如果该行有多个文本节点,且该多个文本节点的纯文本长度相同,则所述回溯模块任选该多个文本节点中的一个文本节点为起点进行回溯;
如果该行仅有一个文本节点,则所述回溯模块以该文本节点为起点进行回溯。
17.如权利要求12所述的基于统计回溯定位的网页正文提取装置,其特征在于,还包括判断模块,其连接于回溯结果分析模块和输出模块之间;
所述判断模块,用于判断一正文候选节点对应的目标节点组内的节点内容是否相似,如果相似则控制关闭所述输出模块,否则开启所述输出模块;
所述判断模块判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:所述判断模块判断一正文候选节点对应的目标节点组内的节点内容的相似度是否大于一预先设定的相似度阈值。
18.如权利要求17所述的基于统计回溯定位的网页正文提取装置,其特征在于,所述判断模块判断一正文候选节点对应的目标节点组内的节点内容是否相似步骤包括:
所述判断模块判断该正文候选节点的纯文本长度是否大于纯文本长度阈值,如果是则直接输出该正文候选节点,否则采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度,根据该相似度是否大于所述相似度阈值以判断该正文候选节点对应的目标节点组内的节点内容是否相似。
19.如权利要求18所述的基于统计回溯定位的网页正文提取装置,其特征在于,当所述目标节点组内的节点数大于5时,所述判断模块采用编辑距离算法计算该正文候选节点对应的目标节点组内的节点之间的相似度步骤包括:所述判断模块采用编辑距离算法计算该正文候选节点对应的目标节点组内的两端节点和中间三个节点之间的相似度。
20.如权利要求17至19中任一权利要求所述的基于统计回溯定位的网页正文提取装置,其特征在于,所述判断模块还用于判断该正文候选节点的特征值是否含有隐藏属性,如果含有则控制关闭所述输出模块,否则控制开启所述输出模块。
21.如权利要求17至19中任一权利要求所述的基于统计回溯定位的网页正文提取装置,其特征在于,还包括已发现纯文本率判断模块,其连接于所述回溯结果分析模块和所述判断模块之间;
所述已发现纯文本率判断模块,用于判断当前已发现纯文本长度占全文纯文本长度的比例是否小于一预先设定的已发现纯文本率阈值,如果是则控制开启所述回溯结果分析模块,否则控制开启所述判断模块。
22.如权利要求21所述的基于统计回溯定位的网页正文提取装置,其特征在于,纯文本率阈值是50%,所述相似度阈值是50%,所述已发现纯文本率阈值是60%,所述纯文本长度阈值是100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110326226A CN102314520A (zh) | 2011-10-24 | 2011-10-24 | 基于统计回溯定位的网页正文提取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110326226A CN102314520A (zh) | 2011-10-24 | 2011-10-24 | 基于统计回溯定位的网页正文提取方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102314520A true CN102314520A (zh) | 2012-01-11 |
Family
ID=45427685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110326226A Pending CN102314520A (zh) | 2011-10-24 | 2011-10-24 | 基于统计回溯定位的网页正文提取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102314520A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779169A (zh) * | 2012-06-27 | 2012-11-14 | 江苏新瑞峰信息科技有限公司 | 一种基于html标签的网页正文提取方法及装置 |
CN103473214A (zh) * | 2013-09-06 | 2013-12-25 | 百度在线网络技术(北京)有限公司 | 一种页面文字的显示方法和装置 |
CN103530429A (zh) * | 2013-11-04 | 2014-01-22 | 北京中搜网络技术股份有限公司 | 一种网页正文抽取的方法 |
CN103699591A (zh) * | 2013-12-11 | 2014-04-02 | 湖南大学 | 一种基于示例页面的网页正文提取方法 |
CN103853760A (zh) * | 2012-12-03 | 2014-06-11 | 中国移动通信集团公司 | 一种网页正文内容提取方法和装置 |
CN104111980A (zh) * | 2014-06-26 | 2014-10-22 | 小米科技有限责任公司 | 网页内容的提取方法、装置和终端 |
CN105095206A (zh) * | 2014-04-18 | 2015-11-25 | 富士通株式会社 | 信息处理方法以及信息处理装置 |
CN105808644A (zh) * | 2016-02-25 | 2016-07-27 | 浪潮软件集团有限公司 | 一种确定正文节点的方法及装置 |
CN107203527A (zh) * | 2016-03-16 | 2017-09-26 | 北大方正集团有限公司 | 新闻网页的正文抽取方法和系统 |
CN112287264A (zh) * | 2020-11-19 | 2021-01-29 | 迈普通信技术股份有限公司 | 一种网页布局方法、装置、电子设备及存储介质 |
CN112925968A (zh) * | 2021-02-25 | 2021-06-08 | 深圳壹账通智能科技有限公司 | 基于爬虫的数据抓取方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727461A (zh) * | 2008-10-13 | 2010-06-09 | 中国科学院计算技术研究所 | 一种网页的正文抽取方法 |
CN101727498A (zh) * | 2010-01-15 | 2010-06-09 | 西安交通大学 | 一种基于web结构的网页信息自动提取方法 |
-
2011
- 2011-10-24 CN CN201110326226A patent/CN102314520A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727461A (zh) * | 2008-10-13 | 2010-06-09 | 中国科学院计算技术研究所 | 一种网页的正文抽取方法 |
CN101727498A (zh) * | 2010-01-15 | 2010-06-09 | 西安交通大学 | 一种基于web结构的网页信息自动提取方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779169A (zh) * | 2012-06-27 | 2012-11-14 | 江苏新瑞峰信息科技有限公司 | 一种基于html标签的网页正文提取方法及装置 |
CN103853760B (zh) * | 2012-12-03 | 2017-05-03 | 中国移动通信集团公司 | 一种网页正文内容提取方法和装置 |
CN103853760A (zh) * | 2012-12-03 | 2014-06-11 | 中国移动通信集团公司 | 一种网页正文内容提取方法和装置 |
CN103473214A (zh) * | 2013-09-06 | 2013-12-25 | 百度在线网络技术(北京)有限公司 | 一种页面文字的显示方法和装置 |
CN103473214B (zh) * | 2013-09-06 | 2017-04-12 | 百度在线网络技术(北京)有限公司 | 一种页面文字的显示方法和装置 |
CN103530429B (zh) * | 2013-11-04 | 2017-01-18 | 北京中搜网络技术股份有限公司 | 一种网页正文抽取的方法 |
CN103530429A (zh) * | 2013-11-04 | 2014-01-22 | 北京中搜网络技术股份有限公司 | 一种网页正文抽取的方法 |
CN103699591A (zh) * | 2013-12-11 | 2014-04-02 | 湖南大学 | 一种基于示例页面的网页正文提取方法 |
CN105095206A (zh) * | 2014-04-18 | 2015-11-25 | 富士通株式会社 | 信息处理方法以及信息处理装置 |
CN104111980A (zh) * | 2014-06-26 | 2014-10-22 | 小米科技有限责任公司 | 网页内容的提取方法、装置和终端 |
CN104111980B (zh) * | 2014-06-26 | 2017-07-28 | 小米科技有限责任公司 | 网页内容的提取方法、装置和终端 |
CN105808644A (zh) * | 2016-02-25 | 2016-07-27 | 浪潮软件集团有限公司 | 一种确定正文节点的方法及装置 |
CN107203527A (zh) * | 2016-03-16 | 2017-09-26 | 北大方正集团有限公司 | 新闻网页的正文抽取方法和系统 |
CN107203527B (zh) * | 2016-03-16 | 2019-06-28 | 北大方正集团有限公司 | 新闻网页的正文抽取方法和系统 |
CN112287264A (zh) * | 2020-11-19 | 2021-01-29 | 迈普通信技术股份有限公司 | 一种网页布局方法、装置、电子设备及存储介质 |
CN112925968A (zh) * | 2021-02-25 | 2021-06-08 | 深圳壹账通智能科技有限公司 | 基于爬虫的数据抓取方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102314520A (zh) | 基于统计回溯定位的网页正文提取方法和装置 | |
CN105630941B (zh) | 基于统计和网页结构的Web正文内容抽取方法 | |
CN107229668B (zh) | 一种基于关键词匹配的正文抽取方法 | |
CN106649260B (zh) | 基于评论文本挖掘的产品特征结构树构建方法 | |
CN103778214B (zh) | 一种基于用户评论的商品属性聚类方法 | |
CN103544255A (zh) | 基于文本语义相关的网络舆情信息分析方法 | |
CN111310476B (zh) | 一种使用基于方面的情感分析方法的舆情监控方法和系统 | |
CN110009430B (zh) | 作弊用户检测方法、电子设备及计算机可读存储介质 | |
CN109376240A (zh) | 一种文本分析方法及终端 | |
CN110309446A (zh) | 文本内容快速去重方法、装置、计算机设备及存储介质 | |
CN103324666A (zh) | 一种基于微博数据的话题跟踪方法及装置 | |
CN105787121B (zh) | 一种基于多故事线的微博事件摘要提取方法 | |
CN102609427A (zh) | 舆情垂直搜索分析系统及方法 | |
CN104731812A (zh) | 一种基于文本情感倾向识别的舆情检测方法 | |
CN105183717A (zh) | 一种基于随机森林和用户关系的osn用户情感分析方法 | |
CN105975547B (zh) | 基于内容与位置特征的近似web文档检测方法 | |
CN104361059A (zh) | 一种基于多示例学习的有害信息识别和网页分类方法 | |
CN110138794A (zh) | 一种仿冒网站识别方法、装置、设备及可读存储介质 | |
CN106372202A (zh) | 文本相似度计算方法及装置 | |
CN104346382B (zh) | 使用语言查询的文本分析系统和方法 | |
CN107341142B (zh) | 一种基于关键词提取分析的企业关系计算方法及系统 | |
CN107832344A (zh) | 一种基于storm流计算框架的食品安全网络舆情分析方法 | |
CN106202007B (zh) | 一种matlab程序文件相似度的评估方法 | |
CN106815209B (zh) | 一种维吾尔文农业技术术语识别方法 | |
CN104408036B (zh) | 关联话题的识别方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120111 |