专利名称:一种基于标点连续性的通用网页正文提取方法及其系统的制作方法
技术领域:
本发明涉及计算机技术领域,特别是涉及一种基于标点连续性的通用网页正文提取方法及其系统。
背景技术:
随着互联网的飞速发展,越来越多的企业和个人把信息公布于网上。每天,互联网上都有成千上万的网页产生,人们可以跨越时间和空间界限来共享大量信息,互联网已经成为了世界上一个最大的信息源。在这个浩如烟海的信息海洋中,如何帮助人们快速的提取有效的信息成为一个重要的课题。网页作为互联网上最为广泛的信息载体,包含了绝大部分的互联网信息,成为了搜索引擎和普通用户获取信息的最常用手段。但是,以网页为获取信息的单元是不足够的, 因为网页往往包含了多种主题的信息,如包含导航块、广告块、版权声明块,信息块等等。对于息的获取者而目,信息块往往是其唯一关心的对象。其余的息成为了噪声。对于如何去除网页噪声,自动提取信息块已有不少研究I.基于文档对象模型(DOM, Document Object Model)的信息提取HTML是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。 通过提取HTML文档中的标记可以生成一颗DOM树,再对树中的特定节点(Table、Div,P)等进行处理来得到网页有用信息,如《基于统计的网页正文信息抽取方法的研究》中认为网页的正文信息(有用信息)一般存在于一个Table节点中,通过统计节点中中文文字的信息得到特定的Table节点,提取其中的文字得到网页的有用正文。此类研究还有《基于标记窗的网页正文信息提取方法》等。基于DOM的网页正文提取方法存在几个问题不少的网页不是结构良好的,形成的DOM树可能不规范;HTML作为标记语言关注于如何显示网页,一般不关心网页的分块和语义信息;不同网站的网页排版往往不同(正文的信息不一定都包含在一个Table节点中)。2.基于视觉的信息提取从人类的角度来看,当一个用户观察Web页面的时候,它总是会自然而然的把一个语义块作为一个单一对象来看待,而不会管Web页面的内部结构是如何描述的。通常情况下,在分辨语义块的时候,用户会使用一些视觉因素来进行帮助,比如背景颜色、字体颜色和大小、边框、逻辑块和逻辑块之间的间距等等。因此如果充分的使用Web页面的视觉提示,并结合DOM树进行页面语义分块,则可以弥补仅使用DOM树所带来的一些缺憾。这类方法的代表是《VIPS :基于视觉的页面分割算法》,基于视觉的正文提取方法需要获取页面的视觉因素,这是一个计算量比较大的过程,而且如果页面的视觉因素通过不同的文件进行控制(如通过CSS层叠样式表文件进行控制),导致了获取网页还需要获取其相关的控制文件,需要多次请求,效率比较低下。而且对于网页风格不是十分良好的情况,基于视觉的正文提取精确度也会比较低下。3.基于规则制定和机器学习的方法
这种方法是基于机器学习的,通常使用数据挖掘中的分类技术通过设定一系列的与网页正文相关的属性,对大量(越多越好)的网页训练集进行训练得到能够判断一个网页的某个区块是不是正文区块的一个分类器,再用训练后的分类器指导获取网页的正文。这类方法在训练过程中需要对于训练集中的网页正文块进行标识,这是一个工作量很大的过程。而且不同的网站规则往往不尽相同,能得到一个通用的规则难度很大,同样也因为如此,导致了网页正文提取的精确度比较低。上述三种提取方法中基于DOM的统计信息的方法针对于网站风格良好,排版较一致的网页,而由于开发者的不同,HTML网页标签应用的复杂多样化,网站的排版布局往往也是千变万化,已有研究的实验网页大多基于正规的门户网站,方法的通用性比较差。基于视觉信息的方法需要的计算量大,视觉启发规则对于不同网站也不一定通用(比如对于标题的启发规则块A文字的字体是否比块B的大,块A、块B的字体颜色是否不同,对于不同网站就不可能完全通用),基于视觉信息的方法对于CSS控制的页面排版的网页会有很大的限制,而现在越来越多的网页版面控制采用CSS,所以该方法的实际应用较少,通用性不强。基于机器学习的方法的难点主要有两个第一个是网页训练集的数据量大小直接和分类器的提取准确率相关,需要人工标注网页正文的区域,工作量繁重。第二个难点是是否存在一个可以判断网页正文区间并且具有较高准确率的通用的规则集,现在还没有研究证明。
发明内容
本发明的目的在于克服现有技术之不足,提供一种基于标点连续性的通用网页正文提取方法及其系统,是利用标点的连续性来获取网页正文,具有处理速度快、适应性强和通用性强的特点。本发明解决其技术问题所采用的技术方案是一种基于标点连续性的通用网页正文提取方法,包括如下步骤读入文件,并把读入的文件转化为Unicode的字符流形式的html源代码;对html源代码进行预处理,用预置的噪声标记来去除html源代码中存在的一些对于网页正文提取无帮助作用的字符串;生成html标记树,通过预置的解析工具把html源代码表示成标记树的形式;对标记树中的正文格式信息进行处理,用预置的特定字符去替换对应的格式信提取文本文字的节点并采用过滤算法生成html标记树中的文字节点序列;定义一个文章的常用标点集合P= {。,;“”…},以集合P中的节点对上一步骤中的文字节点序列进行重新的文字划分,对于文字节点中的字符如果是集合P中的标点, 则在标点后加分隔符或空格符作为分离的标志;利用标点的延续性,抽取标点连续性最高的文字块,返回为正文。所述的抽取标点连续性最高的文字块的处理过程,包括如下步骤a.以分隔符或空格符为划分点对上一步骤处理后的字符串进行切分,切分后得到字符串数组A= [S1, s2, S3,…,sn],其中Sn为一个短句;b.遍历数组A,把A中短句以集合P中的标点为结束的短句Sm,加入到标点句数组B= [si; Sj, sk,…,sn],并记录短句的序号m ;c.依次计算集合B中元素的下标序号差…,如果k_j大于阈值,则表示短句Sp Sk之间不存在连续性,令短句集合Si, si+1, si+2…Sp为当前最长标点连续字符串集合, 缓存为 L = (Si, si+1,si+2…SjJ ;d.重复步骤C,如果当前获取的最长标点连续字符串集合长度大于L的长度,则替换L为当前获取的最长标点连续字符串集合;e.数组B被处理完毕后,集合L中的文字即为网页正文。本发明的一种基于标点连续性的通用网页正文提取方法,是利用标点的连续性来获取网页的正文。本方法的依据是标点符号是中文中断句、语义切分的重要标志,一篇无标点的中文文章几乎无法让人正确理解文章所要表达的意思,标点是中文文章中不可或缺的标志,因此,标点符号是网页正文中不可或缺的一部分;而且,网页的正文中通常存在着连续出现的标点;这样,就可以判定标点连续性最高的文字往往是网页的正文。此处标点的连续性指的是在网页中对出现的文字,进行分块后每一块文字中标点存在情况的延续性。首先把待提取正文的html源文件转化为Unicode的字符流形式,Unicode字符集能存储绝大多数网页的正文编码,统一的编码有利于后续的字符处理程序。接着去除噪声标记信息,对在html源代码中存在一些对于网页正文提取无帮助作用,反而会对正文提取造成干扰的噪声标记块,需要在预处理阶段进行删除。如script 块 (no) script. * 〈/ (no) script〉) 一般用于辅助功能,注释块 ! —. * —.>) 是开发者对于网页源代码的注释。其他如下拉列表的select块,格式控制的style块,跑马灯的marquee块,等等对于网页正文的提取也是无帮助的。再接着生成html标记树,html即超文本标记语言,是标准通用标记语言的一个子集,通过neko或者htmlparser等解析工具可以方便的把html源代码表示成标记树的形式。然后,对于标记树中的正文格式控制信息进行处理,对于换行的格式信息如P,BR 等换行标记进行替换成特殊字符以便存储换行信息,对于字体、颜色等文字信息,本方法并不专注于保持原文的全部字体信息所以此类如F0NT,STR0NG等标记信息作删除处理(因为有可能对后续的处理造成影响)。而后,提取文本文字的节点。网页正文提取的是文字节点的集合,算法过滤提取 html标记树中的文字节点序列进行后续的处理。再接着,定义一个文章的常用标点集合P= {。,;…},以集合P中的节点对上一步骤中的文字节点序列进行重新的文字划分对于文字节点中的字符如果是集合P中的标点,则在标点后加分隔字符(空格符)作为分尚的标志。最后,利用标点的延续性,抽取标点连续性最高的文字块,返回为正文。一种基于标点连续性的通用网页正文提取系统,包括读入模块,该读入模块用来读入文件,并把读入的文件转化为Unicode的字符流形式的html源代码;去除噪声标记信息模块,该去除噪声标记信息模块用来对html源代码进行预处理,用预置的噪声标记来去除html源代码中存在的一些对于网页正文提取无帮助作用的字符串;
生成html标记树模块,该生成html标记树模块用来生成html标记树,通过预置的解析工具把html源代码表示成标记树的形式;处理正文格式信息模块,该处理正文格式信息模块用来对标记树中的正文格式信息进行处理,用预置的特定字符去替换对应的格式信息;提取文本节点生成文本句子序列模块,该提取文本节点生成文本句子序列模块用来提取文本文字的节点并采用过滤算法生成html标记树中的文字节点序列;利用常用的标点对文本序列块重新分句模块,该利用常用的标点对文本序列块重新分句模块用来定义一个文章的常用标点集合P= {。,;…},以集合P中的节点对上一步骤中的文字节点序列进行重新的文字划分,对于文字节点中的字符如果是集合P中的标点,则在标点后加分隔符或空格符作为分离的标志;利用标点的连续性原理提取最长连续正文模块,该利用标点的连续性原理提取最长连续正文模块用来利用标点的延续性,抽取标点连续性最高的文字块,返回为正文。本发明的有益效果是,由于采用了读入文件,转化为Unicode ;去除噪声标记信息;生成html标记树;处理正文格式信息;提取文本节点生成文本句子序列;利用常用的标点对文本序列块重新分句;利用标点的连续性原理提取最长连续正文等处理步骤来实现通用网页正文提取,相对于现有技术,具有如下优点I、标点符号是网页正文必要部分,所以方法具有很高的通用性。2、标点符号只处理文字串,无需分析网页的各种结果信息,性能上具有比较大的优势,适合于实时的网页正文提取。3、即使页面结果复杂,含有多种干扰信息,该方法也能有效的提取网页的正文部分,方法的针对性很强。4、标点连续性最长的网页文字为网页的正文,也保证了网页正文提取的精确度。以下结合附图及实施例对本发明作进一步详细说明;但本发明的一种基于标点连续性的通用网页正文提取方法及其系统不局限于实施例。
图I是一则网页新闻页面的示意图;图2是本发明方法的流程示意图;图3是本发明的html标记树的结构示意图。
具体实施例方式实施例,请参见图I所示,图I是一则网页新闻页面的示意图,由图I可以看出,新闻的正文中连续的标点出现是必然的。基于标点连续性的正文提取方法和基于视觉的正文提取有相同的点基于视觉的方法中正文区块是标点连续性最强的区块。参见图2所示,本发明的一种基于标点连续性的通用网页正文提取方法,包括如下步骤步骤SI :读入文件,并把读入的文件转化为Unicode的字符流形式的html源代码;即对应于图2的“读入文件,转化Unicode”框;步骤S2 :对html源代码进行预处理,用预置的噪声标记来去除html源代码中存在的一些对于网页正文提取无帮助作用的字符串;即对应于图2的“去除噪声标记信息” 框;步骤S3 :生成html标记树,通过预置的解析工具把html源代码表示成标记树的形式;即对应于图2的“生成html标记树”框;步骤S4 :对标记树中的正文格式信息进行处理,用预置的特定字符去替换对应的格式信息;即对应于图2的“处理正文格式信息”框;步骤S5 :提取文本文字的节点并采用过滤算法生成html标记树中的文字节点序列;即对应于图2的“提取文本节点生成文本句子序列”框;步骤S6:定义一个文章的常用标点集合P= {。,; …},以集合P中的节点对步骤S5中的文字节点序列进行重新的文字划分,对于文字节点中的字符如果是集合P中的标点,则在标点后加分隔符或空格符作为分离的标志;即对应于图2的“利用常用的标点对文本序列块重新分句”框;步骤S7 :利用标点的延续性,抽取标点连续性最高的文字块,返回为正文;即对应于图2的“利用标点的连续性原理提取最长连续正文模块”框。其中,所述的抽取标点连续性最高的文字块的处理过程,包括如下步骤步骤a.以分隔符或空格符为划分点对步骤S6处理后的字符串进行切分,切分后得到字符串数组A = [Sl, s2, S3,…,sn],其中Sn为一个短句;步骤b.遍历数组A,把A中短句以集合P中的标点为结束的短句Sni,加入到标点句数组B= [si; Sj, sk,…,sn],并记录短句的序号m ;步骤c.依次计算集合B中元素的下标序号差j_i,k_j…,如果k_j大于阈值,则表示短句Sp Sk之间不存在连续性,令短句集合Si,si+1, si+2-Sp为当前最长标点连续字符串集合,缓存为L = (Si, si+1,si+2…Sj};步骤d.重复步骤C,如果当前获取的最长标点连续字符串集合长度大于L的长度, 则替换L为当前获取的最长标点连续字符串集合;步骤e.数组B被处理完毕后,集合L中的文字即为网页正文。本发明的一种基于标点连续性的通用网页正文提取方法,是利用标点的连续性来获取网页的正文。本方法的依据是标点符号是中文中断句、语义切分的重要标志,一篇无标点的中文文章几乎无法让人正确理解文章所要表达的意思,标点是中文文章中不可或缺的标志,因此,标点符号是网页正文中不可或缺的一部分;而且,网页的正文中通常存在着连续出现的标点;这样,就可以判定标点连续性最高的文字往往是网页的正文。此处标点的连续性指的是在网页中对出现的文字,进行分块后每一块文字中标点存在情况的延续性。首先把待提取正文的html源文件转化为Unicode的字符流形式,Unicode字符集能存储绝大多数网页的正文编码,统一的编码有利于后续的字符处理程序。接着去除噪声标记信息,对在html源代码中存在一些对于网页正文提取无帮助作用,反而会对正文提取造成干扰的早上标记块,需要在预处理阶段进行删除。如script 块 (no) script. * 〈/ (no) script〉) 一般用于辅助功能,注释块 ! —. * —.>) 用户开发者对于网页源代码的注释。其他下拉列表的select块,格式控制的style块,跑马灯的marquee块,等等对于网页正文的提取也是无帮助的。再接着生成html标记树,html即超文本标记语言,是标准通用标记语言的一个子集,通过neko或者htmlparser等解析工具可以方便的把html源代码表示成标记树的形式;如图3所示。然后,对于标记树中的正文格式控制信息进行处理,对于换行的格式信息如P,BR 等换行标记进行替换成特殊字符以便存储换行信息,对于字体、颜色等文字信息,本方法并不专注于保持原文的全部字体信息所以此类如F0NT,STR0NG等标记信息作删除处理(因为有可能对后续的处理造成影响)。而后,提取文本文字的节点。网页正文提取的是文字节点的集合,算法过滤提取 html标记树中的文字节点序列进行后续的处理。再接着,定义一个文章的常用标点集合P= {。,;…},以集合P中的节点对上一步骤中的文字节点序列进行重新的文字划分对于文字节点中的字符如果是集合P中的标点,则在标点后加分隔字符(空格符)作为分尚的标志。具体算法java表达如下
权利要求
1.一种基于标点连续性的通用网页正文提取方法,其特征在于包括如下步骤读入文件,并把读入的文件转化为Unicode的字符流形式的html源代码;对html源代码进行预处理,用预置的噪声标记来去除html源代码中存在的一些对于网页正文提取无帮助作用的字符串;生成html标记树,通过预置的解析工具把html源代码表示成标记树的形式;对标记树中的正文格式信息进行处理,用预置的特定字符去替换对应的格式信息; 提取文本文字的节点并采用过滤算法生成html标记树中的文字节点序列;定义一个文章的常用标点集合P= {。,; …},以集合P中的节点对上一步骤中的文字节点序列进行重新的文字划分,对于文字节点中的字符如果是集合P中的标点,则在标点后加分隔符或空格符作为分离的标志;利用标点的延续性,抽取标点连续性最高的文字块,返回为正文。
2.根据权利要求I所述的基于标点连续性的通用网页正文提取方法,其特征在于所述的抽取标点连续性最高的文字块的处理过程,包括如下步骤a.以分隔符或空格符为划分点对上一步骤处理后的字符串进行切分,切分后得到字符串数组A = [S1, s2, S3, ···, sn],其中Sn为一个短句;b.遍历数组A,把A中短句以集合P中的标点为结束的短句Sm,加入到标点句数组B= [Si, S」,sk, ···, sn],并记录短句的序号m ;c.依次计算集合B中元素的下标序号差j-i,k-j···,如果k-j大于阈值,则表示短句 Sj, Sk之间不存在连续性,令短句集合Si,si+1, si+2··· Sp为当前最长标点连续字符串集合,缓为 L — {Sj j Si+1 j Si+2... Sj};d.重复步骤C,如果当前获取的最长标点连续字符串集合长度大于L的长度,则替换L 为当前获取的最长标点连续字符串集合;e.数组B被处理完毕后,集合L中的文字即为网页正文。
3.一种基于标点连续性的通用网页正文提取系统,其特征在于包括读入模块,该读入模块用来读入文件,并把读入的文件转化为Unicode的字符流形式的html源代码;去除噪声标记信息模块,该去除噪声标记信息模块用来对html源代码进行预处理, 用预置的噪声标记来去除html源代码中存在的一些对于网页正文提取无帮助作用的字符串;生成html标记树模块,该生成html标记树模块用来生成html标记树,通过预置的解析工具把html源代码表示成标记树的形式;处理正文格式信息模块,该处理正文格式信息模块用来对标记树中的正文格式信息进行处理,用预置的特定字符去替换对应的格式信息;提取文本节点生成文本句子序列模块,该提取文本节点生成文本句子序列模块用来提取文本文字的节点并采用过滤算法生成html标记树中的文字节点序列;利用常用的标点对文本序列块重新分句模块,该利用常用的标点对文本序列块重新分句模块用来定义一个文章的常用标点集合P= {。,;…},以集合P中的节点对上一步骤中的文字节点序列进行重新的文字划分,对于文字节点中的字符如果是集合P中的标点,贝1J在标点后加分隔符或空格符作为分离的标志;利用标点的连续性原理提取最长连续正文模块,该利用标点的连续性原理提取最长连续正文模块用来利用标点的延续性,抽取标点连续性最高的文字块,返回为正文。
全文摘要
本发明公开了一种基于标点连续性的通用网页正文提取方法及其系统,包括读入文件,转化为Unicode的处理步骤;去除噪声标记信息的处理步骤;生成html标记树的处理步骤;处理正文格式信息的处理步骤;提取文本节点生成文本句子序列的处理步骤;利用常用的标点对文本序列块重新分句的处理步骤和利用标点的连续性原理提取最长连续正文的处理步骤。这种利用标点的连续性来获取网页正文的方式,具有处理速度快、适应性强和通用性强的特点。
文档编号G06F7/20GK102591612SQ20111044670
公开日2012年7月18日 申请日期2011年12月27日 优先权日2011年12月27日
发明者张雪峰, 胡海斌, 赵庸 申请人:厦门市美亚柏科信息股份有限公司