CN103309961B - 基于马尔可夫随机场的网页正文提取方法 - Google Patents

基于马尔可夫随机场的网页正文提取方法 Download PDF

Info

Publication number
CN103309961B
CN103309961B CN201310210384.5A CN201310210384A CN103309961B CN 103309961 B CN103309961 B CN 103309961B CN 201310210384 A CN201310210384 A CN 201310210384A CN 103309961 B CN103309961 B CN 103309961B
Authority
CN
China
Prior art keywords
text
label
window
random field
tag
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.)
Active
Application number
CN201310210384.5A
Other languages
English (en)
Other versions
CN103309961A (zh
Inventor
柳立宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ZHIHAI CHUANGXUN INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING ZHIHAI CHUANGXUN INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING ZHIHAI CHUANGXUN INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING ZHIHAI CHUANGXUN INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310210384.5A priority Critical patent/CN103309961B/zh
Publication of CN103309961A publication Critical patent/CN103309961A/zh
Application granted granted Critical
Publication of CN103309961B publication Critical patent/CN103309961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种网页正文的提取方法及装置,该方法包括如下步骤:顺序解析HTML文本,对HTML文本进行预处理;对预处理后的HTML文本抽取标签文本窗,获得标签文本窗集合,标签文本窗为标签包围的内容文本及其相关属性;对标签文本窗依据相邻关系构建马尔可夫随机场模型;以文本长度和标签类型为基本特征,采用最小偏差阈值法初始化马尔可夫场模型;根据标签文本窗的行号及相邻窗的字符间隔,采用ICM方法对马尔科夫随机场模型进行优化;以及根据优化后的马尔科夫随机场模型重构正文,得到抽取的正文,本发明可应用于信息检索领域的自动文摘和自动分类系统,具有抽取精度高、抽取速度快、维护代价低、适应性强、灵活性高等优点。

Description

基于马尔可夫随机场的网页正文提取方法
技术领域
本发明关于一种网页正文的提取方法,特别是涉及一种基于马尔可夫随机场的网页正文提取方法
背景技术
网络的飞速发展带来了海量的网络信息,如何抽取所需要的网络信息越来越被人们所关注。目前,网页上提供的数据基本上由非结构化的静态的超文本链接标示语言(HTML,Hypertext Markup Language)代码构成,其不能被信息分析系统直接使用,往往需要进行信息提取才能进行后续处理。网络信息抽取就是指从网页这样的半结构化文档中抽取出结构化信息。这些网页往往由服务器端的应用程序自动生成。网络信息抽取而生成的结构化信息为网络挖掘、网络检索等重要网络应用提供了最基础的分析数据,因此网络信息提取方法的研究具有非常重要的现实意义。
网络信息抽取的对象可以分为两大类:一类是抽取网页中的特定知识,即特定领域、特定网站或特定格式的信息,如商品信息等;另一类是抽取网页中的内容,即主题内容或兴趣区域等,本发明之网页正文抽取属于后一类。
互联网上的很多网页主要由以下几类信息组成:导航信息、网页标题、网页正文、广告信息、版权信息和相关链接等。其中,网页要表达的信息主要集中在网页标题和网页正文中,尤其是网页正文中。因此,信息检索、自动分类、话题跟踪、机器翻译和文本摘要等重要的网络信息处理应用主要关注网页中的标题和正文,尤其是正文。然而,导航信息、广告信息、版权信息和相关链接等噪音信息在很大程度上干扰了网页信息的利用效果。例如,这些噪音信息会影响信息检索的效率、导致信息检索准确率的下降等。因此,如何快速准确地从网页中抽取出正文,提高网页的信息质量,已经成为信息检索等重要网络信息处理系统的必不可少的基础工作。
现有网页正文的提取方法一般有以下几类:
1、基于包装器的网页正文提取方法:包装器是一段程序,它根据一定的信息模式识别规则,从特定的信息源中抽取相关内容。由于网页结构的复杂性及不规范性,一个包装器的实现一般只能针对一个信息源。而要处理的网页往往来自大量的不同信息源,如果采用这类方法,包装器的生成和维护代价是巨大的,因此,这类方法对于网页的正文抽取是不合适的。
2、基于统计的网页正文提取方法:这种方法从页面的不同角度分析它的统计特征,采用统计学的算法抽取正文,例如根据统计的文字数量、链接数量、标签字符数量等计算出文本密度、链接密度等,并通过这些值来判断哪些为正文文本、哪些为噪音内容。这种方法实现简单,并且不需要编写包装器,但提取的准确率有限,有时会将与正文无关的版权声明等当作正文内容提取出来。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于马尔可夫随机场的网页正文提取方法,其可以应用于信息检索领域的自动文摘和自动分类系统,抽取精度高、抽取速度快、维护代价低,具有适应性强、灵活性高等特点。
为达上述及其它目的,本发明提出一种基于马尔可夫随机场的网页正文提取方法,包括如下步骤:
步骤一,顺序解析HTML文本,对HTML文本进行预处理;
步骤二,对预处理后的HTML文本抽取标签文本窗,获得标签文本窗集合,标签文本窗为标签包围的内容文本及其相关属性;
步骤三,对标签文本窗集合中的标签文本窗依据相邻关系构建马尔可夫随机场模型;
步骤四,以文本长度和标签类型为基本特征,采用最小偏差阈值法初始化马尔可夫随机场模型;
步骤五,根据标签文本窗的行号及相邻窗的字符间隔,采用条件迭代模式ICM方法对初始化后的马尔可夫随机场模型进行优化;以及
步骤六,根据优化后的马尔可夫随机场模型重构正文,得到抽取的正文。
进一步地,在步骤三之前还包括确定网页的Foot部分的起始边界,去除位于Foot部分的标签文本窗对正文提取的干扰的步骤。
进一步地,步骤一中,预处理步骤以正则表达式中的回车符或换行符为标记分隔符,将HTML文本按行依次读入存储单元,当前行不包含行分隔标记,并依据噪声标签列表去除当前行的噪声标签字符,记录当前行序号及行末偏移位置,搜索定位标签“<head>”、标签“<body>”,确定标签Head和标签Body的起始偏移位置。
进一步地,相关属性包括文本Text、标签Tag、文本起始偏移位置pos、所在行序号para、标签文本窗集合序号index、标签窗位置标记body以及分类属性label。
进一步地,步骤二还包括如下步骤:
步骤1.1初始化搜索起始位置position=0,标签文本窗集Θ为空集,标签文本窗序号k=0;
步骤1.2对经过预处理的HTML文本,从position位置,按模式“>[^<]+<”搜索;
步骤1.3若找到匹配文本,执行步骤1.4,否则,正文抽取结束;
步骤1.4更新position为匹配文本的结束位置,确定匹配文本的起始位置,即标签文本窗Wk的pos;
步骤1.5提取匹配文本“>”与“<”之间的字符串;
步骤1.6若字符串的非空白字符长度为零,则跳转到步骤1.2执行;否则,执行步骤1.7;
步骤1.7依据转义字符表,替换转义字符,作为当前标签文本窗Wk的文本Text;
步骤1.8如果该字符串是HTML注释,或者被{style,script,option,button,textarea}标签包裹,则跳转到步骤1.2;否则,执行步骤1.9;
步骤1.9提取当前标签文本窗Wk的标签Tag;
步骤1.10根据pos,在行偏移量映射表中查找确定标签文本窗Wk所在行的序号para;
步骤1.11.根据pos,在文本部分映射表中查找确定标签文本窗Wk所在HTML文本的位置属性body;
步骤1.12初始化Wk的分类标签label=0,序号index=k;将Wk加入到标签文本窗集合Θ中;
步骤1.13更新k=k+1,跳转执行步骤1.2。
进一步地,步骤1.9包括如下步骤
步骤9.1如果该字符串被{h1,li,a,p,b}标签包裹,则Tag为该标签,否则,执行步骤9.2;
步骤9.2若匹配文本后跟随结束标签“</tag>”,则Tag为该标签,否则,执行步骤9.3;
步骤9.3若匹配文本前为起始标签“<tag*>”,则Tag为该标签,否则,执行步骤9.4;
步骤9.4若匹配文本前为结束标签“</tag>”,则Tag为“text”。
进一步地,步骤三还包括如下步骤:
提取body=1,index<foot的标签文本窗集合,按序号顺序每个标签文本窗为一个节点,节点间的序号相邻关系用边表示,形成一个简单的链式模型;
假设标签文本窗的标记属性仅与其前后对称相邻的2N个节点相关,以标签文本窗序列模型为基础,用连接两个结点边表示其相关关系,建立N跳邻域的马尔可夫随机场模型。
进一步地,该马尔可夫随机场模型中,节点间边的权重由标签文本窗间的行序号差和非文本字符间隔决定。
进一步地,步骤四还包括如下步骤:
定义第i个标签文本窗的特征值为
F i = Text i . length &CenterDot; Tag i . weight &CenterDot; body i 1 n &Sigma; k = 1 n Text k . length
其中n为Θ中的标签文本窗的个数,Θ为标签文本窗集,Texti.legth表示第i个标签文本窗文本的长度,Tagi.weight表示第i个标签文本窗标签对应的权重,bodyi表示第i个标签文本窗的文本位置标记;
依据特征值F的最大最小值,采用m等分区间,构建标签文本窗序列特征直方图;
采用最小偏差阈值方法,确定分类阈值t,初始化马尔可夫随机场模型中各节点的分类标记li
进一步地,步骤六还包括如下步骤:
初始化正文为空字符串;
按序号遍历标签文本窗集合;
根据标签类型重构段落,当其分类标记为lz时,将该标签文本窗叠加到正文后,最终得到抽取的正文,其中,lz表示分类标记为正文。
进一步地,确定网页的Foot部分的起始边界的步骤还包括如下步骤:
步骤1.1初始化最小行号间隔Gmin,搜索范围s,foot=n-1,其中0<s<1,n为Θ中的标签文本窗的个数;
步骤1.2对标签文本窗集Θ中的所有标签文本窗,按顺序构建相邻窗行差序列{Gj=parai+1-parai,j=1,…,n-1},parai为第i个标签文本窗文本所在行的序号,parai+1为第i+1个标签文本窗文本所在行的序号,Gj为相邻的第i个和第i+1个标签文本窗文本的行差;
步骤1.3.计算不小于Gmin的平均行差
步骤1.4倒序从{Gi}中,搜索第一个满足条件的值,若i>(1-s)(n-1),则foot=i+1。
为达到上述及其他目的,本发明还提供一种基于马尔可夫随机场的网页正文提取装置,至少包括:
预处理模块,用于顺序解析HTML文本,对该HTML文本进行预处理;
标签文本窗抽取模块,对预处理后HTML文本抽取标签文本窗,获得标签文本窗集合,其中,该标签文本窗为标签包围的内容文本及其相关属性;
模型构建模块,对标签文本窗集合中的标签文本窗依据相邻关系构建马尔可夫随机场模型构建马尔可夫随机场模型;
模型初始化模块,以文本长度和标签类型为基本特征,利用最小偏差阈值初始化该马尔可夫随机场模型;
模型优化模块,对标签文本窗的行号及相邻窗的字符间隔,采用ICM方法对初始化后的马尔可夫随机场模型进行优化;以及
正文重构模块,根据优化后的马尔可夫随机场模型重构正文,得到抽取的正文。
进一步地,该装置还包括去干扰模块,确定网页的Foot部分的起始边界,去除位于Foot部分的标签文本窗对正文提取的干扰。
进一步地,该预处理模块以正则表达式中的回车符或换行符为标记分隔符,将该HTML文本按行依次读入存储单元,当前行不包含行分隔标记,并依据噪声标签列表去除当前行的噪声标签字符,记录当前行序号及行末偏移位置,搜索定位标签“<head>”、标签“<body>”,确定标签Head和标签Body的起始偏移位置。
进一步地,该标签文本窗抽取模块通过以下方法抽取标签文本窗:
1.1初始化搜索起始位置position=0,标签文本窗集Θ为空集,标签文本窗序号k=0;
1.2对经过预处理的HTML文本,从position位置,按模式“>[^<]+<”搜索;
1.3若找到匹配文本,执行1.4,否则,正文抽取结束;
1.4更新position为匹配文本的结束位置,确定匹配文本的起始位置,即标签文本窗Wk的pos;
1.5提取匹配文本“>”与“<”之间的字符串;
1.6若字符串的非空白字符长度为零,则跳转到1.2执行;否则,执行1.7;
1.7依据转义字符表,替换转义字符,作为当前标签文本窗Wk的文本Text;
1.8如果该字符串是HTML注释,或者被{style,script,option,button,textarea}标签包裹,则跳转到1.2;否则,执行1.9;
1.9提取当前标签文本窗Wk的标签Tag;
1.10根据pos,在行偏移量映射表中查找确定标签文本窗Wk所在行的序号para;
1.11.根据pos,在文本部分映射表中查找确定标签文本窗Wk所在HTML文本的位置属性body;
1.12初始化Wk的分类标签label=0,序号index=k;将Wk加入到标签文本窗集合Θ中;
1.13更新k=k+1,跳转执行1.2。
进一步地,该模型构建模块提取body=1,index<foot的标签文本窗集合,按序号顺序每个标签文本窗为一个节点,节点间的序号相邻关系用边表示,可形成一个简单的链式模型,然后,以标签文本窗序列模型为基础,用连接两个结点边表示其相关关系,建立N跳邻域的马尔可夫随机场模型。
进一步地,在该马尔可夫随机场模型中,节点间边的权重由标签文本窗间的行序号差和非文本字符间隔决定。
进一步地,该模型初始化模块首先定义标签文本窗的特征值,然后依据特征值的最大最小值,采用m等分区间,构建标签文本窗序列特征直方图,最后采用最小偏差阈值方法,确定分类阈值,初始化马尔可夫随机场模型中各节点的分类标记。
进一步地,该正文重构模块首先初始化正文为空字符串,按序号遍历标签文本窗集合,然后根据标签类型重构段落,当其分类标记为lz时,将该标签文本窗叠加到正文后,最终得到抽取的正文,其中,lz表示分类标记为正文。
进一步地,该去干扰模块利用Foot部分与其它部分存在明显的行差间隔的特定,确定网页的Foot部分的起始边界,去除位于Foot部分的标签文本窗对正文提取的干扰。
与现有技术相比,本发明一种基于马尔可夫随机场的网页正文提取方法以独立标签文本窗作为最小识别单元,通过顺序解析HTML文件,去除噪声标签,生成网页的有效标签文本窗序列,依据相邻关系构建标签文字窗的马尔可夫随机场,以文本长度和标签类型为基本特征,采用阈值法生成初始标记,再考虑标签文本窗的行号及相邻窗的字符间隔等因素,对构建的马尔可夫随机场模型进行优化,得到最终的标记结果,提取出网页中的正文,本发明可应用于信息检索领域的自动文摘和自动分类系统,具有提取速度快、准确率高、通用性好的优点。
附图说明
图1为本发明之一种基于马尔可夫随机场的网页正文提取方法的步骤流程图;
图2为本发明较佳实施例中标签文本窗形成的简单链式模型示意图;
图3为本发明较佳实施例中N=2时的马尔可夫随机场模型示意图;
图4为一种实现本发明网页正文提取方法的提取装置的系统架构图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
在介绍本发明之前,先说明下本发明涉及的概念和基本思想:马尔可夫是马尔可夫性质的简称,它指的是一个随机变量序列按时间先后关系依次排开的时候,第N+1时刻的分布特性与N时刻以前的随机变量的取值无关;随机场包含两个要素:位置(site),相空间(phase space),当给每一个位置中按照某种分布随机赋予相空间的一个值之后,其全体就叫做随机场。
由于HTML中显示在页面上的文本是由标签包裹的文本段构成的,因此,提取正文的问题就是将这些文本段做正文/非正文标记的分类问题。通过观察可以发现,正文文本段在对应标签上的分布具有明显的统计特性,在空间分布上具有一定的连续性,正是依据这些特点本发明提出了基于马尔可夫随机场的网页正文提取方法及装置。
图1为本发明之一种基于马尔可夫随机场的网页正文提取方法的步骤流程图。如图1所示,本发明一种基于马尔可夫随机场的网页正文提取方法,包括如下步骤:
步骤101,数据预处理。即,以正则表达式中的回车符或换行符为标记分隔符,将HTML文本按行依次读入存储单元,当前行不包含行分隔标记,并依据噪声标签列表去除当前行的噪声标签字符,记录当前行序号及行末偏移位置(当前位置+行长度)。搜索定位标签“<head>”、标签“<body>”,确定标签Head和标签Body的起始偏移位置。
在本发明较佳实施例中,以正则表达式“[\r]\n”(\r:回车,\n:换行符)为标记分隔符,将HTML文本按行依次读入缓存,当前行不包含行分隔标记。依据噪声标签列表去除当前行的噪声标签字符,记录当前行序号及行末偏移位置(当前位置+行长度)。搜索定位“<head>”,“<body>”确定Head,Body起始偏移位置。在本发明较佳实施例中,噪声标签列表如下表1所示:
表1
步骤102,抽取标签文本窗。在本发明中,标签文本窗定义为标签包围的内容文本及其相关属性,这些属性包括:文本Text、标签Tag、文本起始偏移位置pos、所在行序号para、标签文本窗集合序号index、标签窗位置标记body(0:在Head部分,1:在Body部分)以及分类属性label(lz:正文/ln:非正文)。即:标签文本窗{W|Text,Tag,pos,para,index,body,label}。
具体地,步骤102之抽取标签文本窗的步骤包括如下步骤:
1.初始化搜索起始位置position=0,标签文本窗集Θ为空集,标签文本窗序号k=0;
2.对经过预处理的HTML文本,从position位置,按模式“>[^<]+<”搜索;
3.若找到匹配文本,执行第4步;否则,算法结束;
4.更新position为匹配文本的结束位置,确定匹配文本的起始位置,即标签文本窗Wk的pos;
5.提取匹配文本“>”与“<”之间的字符串;
6.若字符串的非空白字符长度为零,则跳转到第2步执行;否则,执行第7步;
7.依据转义字符表,替换转义字符,作为当前标签文本窗Wk的Text;
8.如果该字符串是HTML注释,或者被{style,script,option,button,textarea}等标签包裹,则跳转到第2步;否则,执行第9步;
9.提取当前标签文本窗Wk的标签Tag;
9.1如果该字符串被{h1,li,a,p,b}等标签包裹,则Tag为该标签;否则,执行9.2;
9.2若匹配文本后跟随结束标签“</tag>”,则Tag为该标签;否则,执行9.3;
9.3若匹配文本前为起始标签“<tag*>”,则Tag为该标签;否则,执行9.4;
9.4若匹配文本前为结束标签“</tag>”,则Tag为“text”。
10.根据pos,在行偏移量映射表中查找确定标签文本窗Wk所在行的序号para;
11.根据pos,在文本部分映射表中查找确定标签文本窗Wk所在HTML文本的位置属性body;
12.初始化Wk的分类标签label=0,序号index=k;将Wk加入到标签文本窗集合Θ中;
13.更新k=k+1,跳转执行第2步。
步骤103,利用Foot部分与其它部分存在明显的行差间隔的特定,确定网页的Foot部分的起始边界,去除位于Foot部分的标签文本窗对正文提取的干扰。
在本发明较佳实施例中,可利用以下步骤进行边界的定位:
1.初始化最小行号间隔Gmin,搜索范围s(0<s<1),foot=n-1,n为Θ中的标签文本窗的个数;
2.对Θ中的所有标签文本窗,按顺序构建相邻窗行差序列{Gj=parai+1-parai,j=1,…,n-1},parai为第i个标签文本窗文本所在行的序号,parai+1为第i+1个标签文本窗文本所在行的序号,Gj为相邻的第i个和第i+1个标签文本窗文本的行差;
3.计算不小于Gmin的平均行差:
G &OverBar; = 1 K &Sigma; G k , G k &GreaterEqual; G min
4.倒序从{Gi}中,搜索第一个满足条件的值,若i>(1-s)(n-1),则foot=i+1。
步骤104,对去除位于Foot部分的标签文本窗后的标签文本窗集合依据相邻关系构建马尔可夫随机场模型。
步骤104包括如下步骤:
1、提取body=1,index<foot的标签文本窗集合,按序号顺序每个标签文本窗为一个节点,节点间的序号相邻关系用边表示,可形成一个简单的链式模型,如图2所示。
2、假设标签文本窗的标记属性仅与其前后对称相邻的2N个节点相关,即:序号差在N以内的节点是相关的。以标签文本窗序列模型为基础,用连接两个结点边表示其相关关系,建立N跳邻域的马尔可夫随机场模型。图3为N=2时的马尔可夫随机场模型示意图。在本发明的马尔可夫随机场模型中,节点间边的权重由标签文本窗间的行序号差和非文本字符间隔决定。
步骤105,利用最小偏差阈值初始化马尔可夫随机场模型。在本发明较佳实施例中,以文本长度和标签类型为基本特征,采用最小偏差阈值法初始化马尔可夫随机场模型,具体地说,该步骤还包括如下步骤:
1、定义第i个标签文本窗的特征值:
F i = Text i . length &CenterDot; Tag i . weight &CenterDot; body i 1 n &Sigma; k = 1 n Text k . length
其中n为Θ中的标签文本窗的个数,Θ为标签文本窗集,Texti.legth表示第i个标签文本窗文本的长度,Tagi.weight表示第i个标签文本窗标签对应的权重,bodyi表示第i个标签文本窗的文本位置标记。
在本发明较佳实施例中,表2为Tag加权列表:
2、依据特征值F的最大最小值,采用m等分区间,构建标签文本窗序列特征直方图。
3、采用最小偏差阈值方法,确定分类阈值t,初始化马尔可夫随机场模型中各节点的分类标记li。实验证明,该方法能有效降低马尔可夫随机场优化的迭代次数。
l i = 0 , F i < t 1 , F i &GreaterEqual; t .
步骤106,根据标签文本窗的行号及相邻窗的字符间隔,采用ICM(IteratedConditional Modes,条件迭代模式)方法对初始化后的马尔可夫随机场模型进行优化。
在本发明中,马尔可夫随机场的能量方程定义为各节点能量的和:
E = &Sigma; i = 1 n E i = &Sigma; i = 1 n ( E s , i + E n , i )
其中,第i个节点的能量Ei由节点自身能量Es,i和其相邻节点相关能量En,i两部分构成。
第i个节点Wi的Es,i定义为:
E s , i = k s ( F i - F l &OverBar; ) 2 &sigma; l 2
其中,ks为加权值,为分类标记labeli的标签文本窗的平均特征值,分类标记labeli的标签文本窗的特征方差。
En,i定义为Wi相邻节点的相关能量En,i,j的和:
E n , i = &Sigma; j = 1 2 N E n , i , j
相关能量按下式计算:
E n , i , j = 0 , l i = l i , j k n F i , j d para d pos , l i &NotEqual; l i , j
其中,dpara是两个节点间行号的差,定义为:
dpara=|parai-parai,j|+1
dpos是两个节点间非窗口文本字符距离,定义为:
dpos=|posi-posi,j|-Σtextb.length,
采用ICM(Iterated Conditional Modes,条件迭代模式)方法对模型全局能量迭代最小化,得到最终的标记结果。
步骤107,根据优化后的马尔可夫随机场模型重构正文,得到抽取的正文。即,首先初始化正文为空字符串;按序号遍历标签文本窗集合;然后根据标签类型重构段落;当其分类标记为lz时,将该标签文本窗叠加到正文后,最终得到抽取的正文,其中,lz表示分类标记为正文。
如图4所示,实现本发明网页正文提取方法的提取装置,至少包括:预处理模块401、标签文本窗抽取模块402、去干扰模块403、模型构建模块404、模型初始化模块405、模型优化模块406以及正文重构模块407。
其中,预处理模块404,用于对HTML文本进行预处理。即,预处理模块404以正则表达式中的回车符或换行符(如\r:回车,\n:换行符)为标记分隔符,将HTML文本按行依次读入存储单元(例如缓存),当前行不包含行分隔标记,并依据噪声标签列表去除当前行的噪声标签字符,记录当前行序号及行末偏移位置(当前位置+行长度),搜索定位标签“<head>”、标签“<body>”,确定标签Head和标签Body的起始偏移位置。
标签文本窗抽取模块402,对预处理后HTML文本抽取标签文本窗,获得标签文本窗集合,标签文本窗为标签包围的内容文本及其相关属性,这些属性包括:文本Text、标签Tag、文本起始偏移位置pos、所在行序号para、标签文本窗集合序号index、标签窗位置标记body(0:在Head部分,1:在Body部分)以及分类属性label(lz:正文/ln:非正文)。即:标签文本窗{W|Text,Tag,pos,para,index,body,label}。
具体地,标签文本窗抽取模块402利用以下方法抽取获得标签文本窗集合:
1.初始化搜索起始位置position=0,标签文本窗集Θ为空集,标签文本窗序号k=0;
2.对经过预处理的HTML文本,从position位置,按模式“>[^<]+<”搜索;
3.若找到匹配文本,执行第4步;否则,算法结束;
4.更新position为匹配文本的结束位置,确定匹配文本的起始位置,即标签文本窗Wk的pos;
5.提取匹配文本“>”与“<”之间的字符串;
6.若字符串的非空白字符长度为零,则跳转到第2步执行;否则,执行第7步;
7.依据转义字符表,替换转义字符,作为当前标签文本窗Wk的Text;
8.如果该字符串是HTML注释,或者被{style,script,option,button,textarea}等标签包裹,则跳转到第2步;否则,执行第9步;
9.提取当前标签文本窗Wk的标签Tag;
9.1如果该字符串被{h1,li,a,p,b}等标签包裹,则Tag为该标签;否则,执行9.2;
9.2若匹配文本后跟随结束标签“</tag>”,则Tag为该标签;否则,执行9.3;
9.3若匹配文本前为起始标签“<tag*>”,则Tag为该标签;否则,执行9.4;
9.4若匹配文本前为结束标签“</tag>”,则Tag为“text”。
10.根据pos,在行偏移量映射表中查找确定标签文本窗Wk所在行的序号para;
11.根据pos,在文本部分映射表中查找确定标签文本窗Wk所在HTML文本的位置属性body;
12.初始化Wk的分类标签label=0,序号index=k;将Wk加入到标签文本窗集合Θ中;
13.更新k=k+1,跳转执行第2步。
去干扰模块403用于确定网页的Foot部分的起始边界,去除位于Foot部分的标签文本窗对正文提取的干扰。在本发明较佳实施例中,去干扰模块403利用Foot部分与其它部分存在明显的行差间隔的特定,确定网页的Foot部分的起始边界,去除位于Foot部分的标签文本窗对正文提取的干扰。具体地说,去干扰模块403采用以下方法进行边界的定位:
1.初始化最小行号间隔Gmin,搜索范围s(0<s<1),foot=n-1,n为Θ中的标签文本窗的个数;
2.对Θ中的所有标签文本窗,按顺序构建相邻窗行差序列{Gj=parai+1-parai,j=1,…,n-1},parai为第i个标签文本窗文本所在行的序号,parai+1为第i+1个标签文本窗文本所在行的序号,Gj为相邻的第i个和第i+1个标签文本窗文本的行差;
3.计算不小于Gmin的平均行差:
G &OverBar; = 1 K &Sigma; G k , G k &GreaterEqual; G min
4.倒序从{Gi}中,搜索第一个满足条件的值,若i>(1-s)(n-1),则foot=i+1。
模型构建模块404,对去除位于Foot部分的标签文本窗后的标签文本窗集合依据相邻关系构建马尔可夫随机场模型构建马尔可夫随机场模型。模型构建模块404首先提取body=1,index<foot的标签文本窗集合,按序号顺序每个标签文本窗为一个节点,节点间的序号相邻关系用边表示,可形成一个简单的链式模型,然后,以标签文本窗序列模型为基础,用连接两个结点边表示其相关关系,建立N跳邻域的马尔可夫随机场模型,这里,假设标签文本窗的标记属性仅与其前后对称相邻的2N个节点相关,即:序号差在N以内的节点是相关的。在本发明的马尔可夫随机场模型中,节点间边的权重由标签文本窗间的行序号差和非文本字符间隔决定。
模型初始化模块405以文本长度和标签类型为基本特征,利用最小偏差阈值初始化马尔可夫随机场模型。在本发明较佳实施例中,模型初始化模块405通过以下步骤初始化马尔可夫随机场模型:
1、定义第i个标签文本窗的特征值:
F i = Text i . length &CenterDot; Tag i . weight &CenterDot; body i 1 n &Sigma; k = 1 n Text k . length
其中n为Θ中的标签文本窗的个数,Θ为标签文本窗集,Texti.legth表示第i个标签文本窗文本的长度,Tagi.weight表示第i个标签文本窗标签对应的权重,bodyi表示第i个标签文本窗的文本位置标记。
2、依据特征值F的最大最小值,采用m等分区间,构建标签文本窗序列特征直方图。
3、采用最小偏差阈值方法,确定分类阈值t,初始化马尔可夫随机场模型中各节点的分类标记li。实验证明,该方法能有效降低马尔可夫随机场优化的迭代次数。
l i = 0 , F i < t 1 , F i &GreaterEqual; t .
模型优化模块406,对标签文本窗的行号及相邻窗的字符间隔,采用ICM(Iterated Conditional Modes,条件迭代模式)方法对初始化后的马尔可夫随机场模型进行优化。
在本发明中,马尔可夫随机场的能量方程定义为各节点能量的和:
E = &Sigma; i = 1 n E i = &Sigma; i = 1 n ( E s , i + E n , i )
其中,第i个节点的能量Ei由节点自身能量Es,i和其相邻节点相关能量En,i两部分构成。
第i个节点Wi的Es,i定义为:
E s , i = k s ( F i - F l &OverBar; ) 2 &sigma; l 2
其中,ks为加权值,为分类标记labeli的标签文本窗的平均特征值,分类标记labeli的标签文本窗的特征方差。
En,i定义为Wi相邻节点的相关能量En,i,j的和:
E n , i = &Sigma; j = 1 2 N E n , i , j
相关能量按下式计算:
E n , i , j = 0 , l i = l i , j k n F i , j d para d pos , l i &NotEqual; l i , j
其中,dpara是两个节点间行号的差,定义为:
dpara=|parai-parai,j|+1,
dpos是两个节点间非窗口文本字符距离,定义为:
dpos=|posi-posi,j|-Σtextb.length,
采用ICM(Iterated Conditional Modes,条件迭代模式)方法对模型全局能量迭代最小化,得到最终的标记结果。
正文重构模块407,根据优化后的马尔可夫随机场模型重构正文,得到抽取的正文。即,正文重构模块407首先初始化正文为空字符串,按序号遍历标签文本窗集合,然后根据标签类型重构段落,当其分类标记为lz时,将该标签文本窗叠加到正文后,最终得到抽取的正文,其中,lz表示分类标记为正文。
可见,本发明一种基于马尔可夫随机场的网页正文提取方法以独立标签文本窗作为最小识别单元,通过顺序解析HTML文件,去除噪声标签,生成网页的有效标签文本窗序列,依据相邻关系构建标签文字窗的马尔可夫随机场,以文本长度和标签类型为基本特征,采用阈值法生成初始标记,再考虑标签文本窗的行号及相邻窗的字符间隔等因素,对构建的马尔可夫随机场模型进行优化,得到最终的标记结果,提取出网页中的正文,本发明可应用于信息检索领域的自动文摘和自动分类系统,具有提取速度快、准确率高、通用性好的特点。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

Claims (10)

1.一种基于马尔可夫随机场的网页正文提取方法,包括如下步骤:
步骤一,顺序解析HTML文本,对HTML文本进行预处理;
步骤二,对预处理后的HTML文本抽取标签文本窗,获得标签文本窗集合,标签文本窗为标签包围的内容文本及其相关属性;
步骤三,对标签文本窗集合中的标签文本窗依据相邻关系构建马尔可夫随机场模型;
步骤四,以文本长度和标签类型为基本特征,采用最小偏差阈值法初始化马尔可夫随机场模型;
步骤五,根据标签文本窗的行号及相邻窗的字符间隔,采用条件迭代模式ICM方法对初始化后的马尔可夫随机场模型进行优化;
步骤六,根据优化后的马尔可夫随机场模型重构正文,得到抽取的正文。
2.如权利要求1所述的一种基于马尔可夫随机场的网页正文提取方法,其特征在于:在步骤三之前还包括确定网页的Foot部分的起始边界,去除位于Foot部分的标签文本窗对正文提取的干扰的步骤。
3.如权利要求2所述的一种基于马尔可夫随机场的网页正文提取方法,其特征在于:步骤一中,预处理步骤以正则表达式中的回车符或换行符为标记分隔符,将HTML文本按行依次读入存储单元,当前行不包含行分隔标记,并依据噪声标签列表去除当前行的噪声标签字符,记录当前行序号及行末偏移位置,搜索定位标签<head>、标签<body>,确定标签Head和标签Body的起始偏移位置。
4.如权利要求3所述的一种基于马尔可夫随机场的网页正文提取方法,其特征在于:相关属性包括文本Text、标签Tag、文本起始偏移位置pos、所在行序号para、标签文本窗集合序号index、标签窗位置标记body以及分类属性label。
5.如权利要求4所述的一种基于马尔可夫随机场的网页正文提取方法,其特征在于,步骤二还包括如下步骤:
步骤1.1初始化搜索起始位置position=0,标签文本窗集Θ为空集,标签文本窗序号k=0;
步骤1.2对经过预处理的HTML文本,从position位置,按模式“>[^<]+<”搜索;
步骤1.3若找到匹配文本,执行第4步,否则,正文抽取结束;
步骤1.4更新position为匹配文本的结束位置,确定匹配文本的起始位置,即标签文本窗Wk的pos;
步骤1.5提取匹配文本“>”与“<”之间的字符串;
步骤1.6若字符串的非空白字符长度为零,则跳转到步骤1.2执行;否则,执行步骤1.7;
步骤1.7依据转义字符表,替换转义字符,作为当前标签文本窗Wk的文本Text;
步骤1.8如果该字符串是HTML注释,或者被{style,script,option,button,textarea}标签包裹,则跳转到步骤1.2;否则,执行步骤1.9;
步骤1.9提取当前标签文本窗Wk的标签Tag;
步骤1.10根据pos,在行偏移量映射表中查找确定标签文本窗Wk所在行的序号para;
步骤1.11.根据pos,在文本部分映射表中查找确定标签文本窗Wk所在HTML文本的位置属性body;
步骤1.12初始化Wk的分类标签label=0,序号index=k;将Wk加入到标签文本窗集合Θ中;
步骤1.13更新k=k+1,跳转执行步骤1.2。
6.如权利要求5所述的一种基于马尔可夫随机场的网页正文的提取方法,其特征在于,步骤1.9包括如下步骤
步骤9.1如果该字符串被{h1,li,a,p,b}标签包裹,则Tag为该标签,否则,执行步骤9.2;
步骤9.2若匹配文本后跟随结束标签“</tag>”,则Tag为该标签,否则,执行步骤9.3;
步骤9.3若匹配文本前为起始标签“<tag*>”,则Tag为该标签,否则,执行步骤9.4;
步骤9.4若匹配文本前为结束标签“</tag>”,则Tag为text。
7.如权利要求4所述的一种基于马尔可夫随机场的网页正文的提取方法,其特征在于,步骤三还包括如下步骤:
提取body=1,index<foot的标签文本窗集合,按序号顺序每个标签文本窗为一个节点,节点间的序号相邻关系用边表示,形成一个简单的链式模型;
假设标签文本窗的标记属性仅与其前后对称相邻的2N个节点相关,以标签文本窗序列模型为基础,用连接两个结点边表示其相关关系,节点间边的权重由标签文本窗间的行序号差和非文本字符间隔决定,建立N跳邻域的马尔可夫随机场模型。
8.如权利要求1所述的一种基于马尔可夫随机场的网页正文提取方法,其特征在于,步骤四还包括如下步骤:
定义第i个标签文本窗的特征值为
F i = Text i . length &CenterDot; Tag i . weight &CenterDot; body i 1 n &Sigma; k = 1 n Text k . length
其中n为Θ中的标签文本窗的个数,Θ为标签文本窗集,Texti.legth表示第i个标签文本窗文本的长度,Tagi.weight表示第i个标签文本窗标签对应的权重,bodyi表示第i个标签文本窗的文本位置标记;
依据特征值F的最大最小值,采用m等分区间,构建标签文本窗序列特征直方图;
采用最小偏差阈值方法,确定分类阈值t,初始化马尔可夫随机场模型中各节点的分类标记li
9.如权利要求1所述的一种基于马尔可夫随机场的网页正文提取方法,其特征在于,步骤六还包括如下步骤:
初始化正文为空字符串;
按序号遍历标签文本窗集合;
根据标签类型重构段落,当其分类标记为lz时,将该标签文本窗叠加到正文后,最终得到抽取的正文,其中,lz表示分类标记为正文。
10.如权利要求2所述的一种基于马尔可夫随机场的网页正文的提取方法,其特征在于,确定网页的Foot部分的起始边界的步骤还包括如下步骤:
步骤1.1初始化最小行号间隔Gmin,搜索范围s,foot=n-1,其中0<s<1,n为Θ中的标签文本窗的个数;
步骤1.2对标签文本窗集Θ中的所有标签文本窗,按顺序构建相邻窗行差序列{Gj=parai+1-parai,j=1,…,n-1},parai为第i个标签文本窗文本所在行的序号,parai+1为第i+1个标签文本窗文本所在行的序号,Gj为相邻的第i个和第i+1个标签文本窗文本的行差;
步骤1.3.计算不小于Gmin的平均行差
步骤1.4倒序从{Gi}中,搜索第一个满足条件的值,若i>(1-s)(n-1),则foot=i+1。
CN201310210384.5A 2013-05-30 2013-05-30 基于马尔可夫随机场的网页正文提取方法 Active CN103309961B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310210384.5A CN103309961B (zh) 2013-05-30 2013-05-30 基于马尔可夫随机场的网页正文提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310210384.5A CN103309961B (zh) 2013-05-30 2013-05-30 基于马尔可夫随机场的网页正文提取方法

Publications (2)

Publication Number Publication Date
CN103309961A CN103309961A (zh) 2013-09-18
CN103309961B true CN103309961B (zh) 2015-07-15

Family

ID=49135179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310210384.5A Active CN103309961B (zh) 2013-05-30 2013-05-30 基于马尔可夫随机场的网页正文提取方法

Country Status (1)

Country Link
CN (1) CN103309961B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636346A (zh) * 2013-11-07 2015-05-20 腾讯科技(深圳)有限公司 网页数据查询方法及装置
CN105574066A (zh) * 2015-10-23 2016-05-11 青岛恒波仪器有限公司 网页正文提取比对方法及其系统
CN105718584B (zh) * 2016-01-26 2019-01-29 中国人民解放军国防科学技术大学 网页正文提取的方法及装置
US10628403B2 (en) * 2016-01-27 2020-04-21 Oracle International Corporation Annotation system for extracting attributes from electronic data structures
CN105824886B (zh) * 2016-03-10 2019-03-26 西安电子科技大学 基于马尔科夫随机场的快速食物识别方法
CN108959287B (zh) * 2017-05-17 2021-08-03 中兴通讯股份有限公司 一种网页内容处理方法及装置、存储介质
CN108345695B (zh) * 2018-03-20 2020-07-28 桂林电子科技大学 一种基于隐马尔可夫模型的商品属性信息抽取方法
CN112188249B (zh) * 2020-09-28 2022-07-26 青岛海信移动通信技术股份有限公司 一种基于电子说明书的播放方法及显示设备
CN113282698A (zh) * 2021-06-07 2021-08-20 中国科学院地理科学与资源研究所 一种生态文明地理知识标准化知识库的构建方法
CN114579834B (zh) * 2022-03-11 2023-07-21 北京墨云科技有限公司 网页登录实体识别方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408898A (zh) * 2008-11-07 2009-04-15 北大方正集团有限公司 一种提取网页正文的方法和装置
CN102541874A (zh) * 2010-12-16 2012-07-04 中国移动通信集团公司 网页正文内容提取方法及装置
CN103049536A (zh) * 2012-11-01 2013-04-17 广州汇讯营销咨询有限公司 提取网页正文内容的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092424B2 (en) * 2009-09-30 2015-07-28 Microsoft Technology Licensing, Llc Webpage entity extraction through joint understanding of page structures and sentences

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408898A (zh) * 2008-11-07 2009-04-15 北大方正集团有限公司 一种提取网页正文的方法和装置
CN102541874A (zh) * 2010-12-16 2012-07-04 中国移动通信集团公司 网页正文内容提取方法及装置
CN103049536A (zh) * 2012-11-01 2013-04-17 广州汇讯营销咨询有限公司 提取网页正文内容的方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于扩展标记树的网页正文抽取;夏天;《广西师范大学学报:自然科学版》;20110331;第29卷(第1期);133-137 *
基于统计的网页正文信息抽取方法的研究;孙承杰等;《中文信息学报》;20040531;第18卷(第5期);17-22 *
基于马尔科夫随机场的粘连字符串切分算法;杨庆海;《计算机工程》;20130430;第39卷(第4期);258-262 *

Also Published As

Publication number Publication date
CN103309961A (zh) 2013-09-18

Similar Documents

Publication Publication Date Title
CN103309961B (zh) 基于马尔可夫随机场的网页正文提取方法
CN112667940B (zh) 基于深度学习的网页正文抽取方法
US7805289B2 (en) Aligning hierarchal and sequential document trees to identify parallel data
CN105630941B (zh) 基于统计和网页结构的Web正文内容抽取方法
CN108563729B (zh) 一种基于dom树的招标网站中标信息抽取方法
CN102184189B (zh) 基于dom节点文本密度的网页核心块确定方法
Peters et al. Content extraction using diverse feature sets
CN103853834B (zh) 基于文本结构分析的Web文档摘要的生成方法
CN103544255A (zh) 基于文本语义相关的网络舆情信息分析方法
CN102591612B (zh) 一种基于标点连续性的通用网页正文提取方法及其系统
CN104933164A (zh) 互联网海量数据中命名实体间关系提取方法及其系统
CN107229668A (zh) 一种基于关键词匹配的正文抽取方法
CN109635288A (zh) 一种基于深度神经网络的简历抽取方法
CN103559199B (zh) 网页信息抽取方法和装置
CN102298638A (zh) 使用网页标签聚类提取新闻网页内容的方法和系统
CN105653668A (zh) 云环境中基于DOMTree的网页内容分析提取优化方法
CN103309862A (zh) 一种网页类型识别方法和系统
WO2023155303A1 (zh) 网页数据的提取方法和装置、计算机设备、存储介质
CN103530429A (zh) 一种网页正文抽取的方法
CN102654873A (zh) 基于中文分词的旅游信息抽取与聚合方法
CN102411602B (zh) 一种基于 fpga 实现的xml 并行投机解析方法
CN117312711A (zh) 一种基于ai分析的搜索引擎优化方法及系统
CN103064966A (zh) 一种从单记录网页中抽取规律噪音的方法
CN115391711B (zh) 网页正文信息提取方法、装置、设备及介质
CN108694192B (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
C14 Grant of patent or utility model
GR01 Patent grant