一种web文本信息抽取方法

文档序号:9375852阅读:440来源:国知局
一种web文本信息抽取方法
【技术领域】
[0001] 本发明涉及一种信息处理技术,尤其涉及HTML源码的文本信息抽取技术,属于互 联网信息处理领域。
【背景技术】
[0002] 随着Internet技术的普及,web上的数据激增,网页上承载的信息成为人类信息 的重要来源。然而,web页面中嵌入了大量的网页链接、广告、插件等所谓的"噪音",使得信 息检索、数据挖掘、机器翻译和文本摘要等信息处理复杂度骤升。在此背景下,迫切需要一 种快捷有效的web文本抽取方法将网页正文之外的噪声剔除并正确提取网页的正文信息。 [0003]目前常用的信息抽取算法中,基于标签的算法严重依赖作者的写作习惯,而且往 往需要构建较高复杂度的DOM树,遍历递归标签则必然牺牲掉抽取速率;基于网页模板的 抽取方法需要针对不同类型网页设计模板,通用性较差;基于机器学习与数据挖掘的算法 则需要一定数量的网页作为训练集,算法复杂度较高,后期数据库的维护困难,且准确性与 通用性也受到制约。

【发明内容】

[0004] 本发明针对现有信息抽取算法存在的不足,提供一种基于文本密度分布的多特征 网页正文抽取方法,此方法针对web界面文本分布密度,首先结合页面标签分布对正文进 行初步解析整合,然后以单元窗为基本单位对窗口内数据进行一次特征初步分析,再依次 采用噪声方差和文本相似度作为二次特征进一步排除噪声提纯文本,进而实现正文准确抽 取。本发明不过分依赖于标签,只需对小部分字符转码处理,中英文网页通用,抽取速率快, 占用内存小,抽取效果好。
[0005] 本发明的技术方案如下:
[0006] -种web信息抽取方法,其特征在于,包括以下步骤:
[0007] (1)获得待抽取的网页源码并加载至第一内存;
[0008] (2)构造 HTML解析器:将步骤(1)中载入第一内存的数据按单字符处理,根据 HTML源码格式,解析各节点属性,对于解析后的节点内容,针对不同的标签名称采取不同的 字符处理方式,对不规范的HTML格式做出初步检测,自身容错后将非正文相关节点的内容 用特殊单字符统一填充,最后动态存储到第二内存空间;
[0009] (3)多特征值量化:选择合适的单元窗口,窗口移动后分别统计第二内存中各单 元窗口内变量,同时存储于数组中,根据单元窗口内统计到的变量,计算各窗口加权文本密 度值,经过二次统计过滤噪音窗口,得到文本密度分布的最终量化值;
[0010] (4)制定抽取标准:根据样本数据,归纳密度阈值与二次统计后各窗口文本密度 的关系,按照统计特征的处理方式以及窗口选择大小的不同制定合适的抽取标准并选择符 合抽取规则的窗口坐标,形成粗糙文本集保存;
[0011] (5)文本整合:对抽取后的二进制粗糙文本进行整合处理,包括相应的转码与格 式整理。
[0012] 特别地,在所述步骤(1)中,网页源码的抽取分为在线和离线两种方式,在线方式 采用http协议请求服务器,对于重定向网页定位到重定向网址,采用重复请求的方式。
[0013] 特别地,在所述步骤(2)中,进一步包括:
[0014] a.定义两种节点类型,轮询第一内存HTML源码字符,判断节点类型,对不同类型 节点数据相应处理;
[0015] b.根据节点标签属性,对不同节点内容做去噪、填充、保留等相应处理。
[0016] 特别地,在所述步骤b中,所述去噪处理为跳过级联样式表、注释、脚本、框架、文 本框以及文档类型这些与网页主题不相关标签间的所有数据,所述填充处理是对非文本的 节点内容进行特殊单字符填充,所述保留处理是对文本内容的原文拷贝。
[0017] 特别地,在所述步骤(3)中,进一步包括:
[0018] a.设定合适的单元窗口大小;
[0019] b.移动单元窗口,分别统计窗口内字符的一次、二次特性;
[0020] c.根据统计特性,量化文本分布密度。
[0021] 特别地,所述单元窗口大小为第二内存中包含换行符个数,窗口大小设定为η则 表不该窗口内包含η个换行符。
[0022] 特别地,所述步骤b中窗口内字符一次特性包括:单元窗口总字符、单元窗口有效 字符、单元窗口最大有效字符、单元窗口总标点数和单元窗口坐标。
[0023] 特别地,所述步骤b中窗口内字符二次特性包括:可疑窗口文本相似度和单元窗 口行噪音均方差,其中,对可疑窗口文本相似度的量化采用基于空间向量模型VSM余弦算 法,标题、简要描述和中心窗口区的正文作为特征向量提取对象。
[0024] 特别地,所述特征向量在量化过程中,对标题、简要描述和中心窗口区的正文进行 分词所得到的特征值赋予不同权重。
[0025] 特别地,所述步骤(4)中的密度阈值具体包括上限密度阈值和下限密度阈值,所 述抽取标准为:选择文本密度大于上限密度阈值和文本密度大于下限文本密度阈值且临近 窗口大于上限文本密度的窗口,符合抽取标准的窗口坐标保留至数组。
[0026] 本发明尽可能多的考虑到了各种页面的排版情况,同时基于文本分布密度,比人 为规定总字符阈值更加科学合理,再结合单元窗口数据分布、噪声方差和文本相似度等多 特征的抽取方法,对于几乎所有新闻主题类网站和大部分包含文本信息视频类网站都有很 不错的效果,实验数据表明,该发明快速、有效、内存占优、性能较好。
【附图说明】
[0027] 图1是本发明实施例所述的一种web信息抽取方法整体流程图。
[0028] 图2是图1中步骤S12的具体程序框图。
[0029] 图3是经过步骤S12解析后的HTML源码示意图。
[0030] 图4是图1中步骤S13的具体流程图。
[0031] 图5是图1中步骤S13单元窗口移动示意图。
【具体实施方式】
[0032] 为了进一步说明本发明为达到预期发明目的所采取的技术手段和功效,以下结合 附图和【具体实施方式】,对依据本发明所提出的基于文本分布密度的多特征网页正文抽取算 法做进一步详细的说明。
[0033] 图1给出了本发明方法的整体框架图,按图1虚框所示,该web信息抽取算法包括 三部分:HTML源码前期整理模块100、文本密度分布算法应用模块101、后续文本整合与输 出模块102。所述模块100具体包括HTML源码捕获单元S1UHTML源码解析单元S12 ;所述 模块101涉及本发明的具体算法实例;所述模块102包括模块101算法实施后的标准选择 单元Sl4和格式输出单元S15。1.所述模块100具体实施过程如下:
[0034] 详细过程Sll :HTML源码捕获单元分为在线实时获取和离线文件加载两种实现方 法。
[0035] 在线获取又具体包括普通网址源码获取与重定向网址源码获取,其中,普通源码 获取的【具体实施方式】为:获取URL,使用http协议的GET方法请求服务器,接收回复状态, 若判断为普通网址则直接将服务器响应的信息缓存到字符串buffer中,buffer位于第一 内存区;重定向网址源码获取的【具体实施方式】为:同上接收回复状态,判断http状态码为 30X,通过跟踪与服务器的http通讯,模拟浏览器重定向过程,最终将返回2000K状态码的 HTML源码缓存到buffer。对于在线获取的源码,以网页编码格式加载至内存,无需事先判 断转码。
[0036] 离线获取【具体实施方式】为:人工获取html源码拷贝至文件并选择以utf-8编码方 式保存,读取文件判断接收读取的字符长度,若大于等于缓冲区大小则重新开辟一块内存 空间,我们称之为第一内存区,小于缓冲区大小直接载入到第一内存。
[0037] 详细过程S12 :图2是HTML源码解析单元的流程图,是图1中100模块HTML源码 解析单元的具体流程实现。从图中可以看出,在轮询第一内存区的循环体(步骤S201)内, 可以分为两类文本处理。
[0038] 虚线左边的是对字符'〈'和'〉'之间的数据(我们称之为非文本区)进行处理。 定义文本开始标志text_startf lag和文本结束标志text_endf lag,对于步骤S202的实现 认为是非文本标志的开始,HTML解析由此进入非文本解析区。
[0039] 步骤S203 :开始对非文本进行解析,更为具体地,根据HTML代码的规范要求,对节 点内的标签名称n〇de_name进行截取,对于不符合要求的标签名称忽略,同时指针后移至 非文本结束标志位(text_endflag)。
[0040] 步骤S204 :根据步骤S203的实现过程进行相应的处理,更为具体的包括:非文本 主题信息提取、HTML源码错误检查以及噪音消除。
[0041] 非文本主题信息提取在新闻类网站中显得尤为重要,提取的信息也直接影响步 骤S304二次特征统计中可疑窗口的排除。在本发明方法中特指提取正文对应的网页标题 〈title〉和简要描述〈meta name= "description" ···>中的主题相关内容。
[0042] 解析过程中,通过前后加减计数的方法补充漏写〈/script〉、〈/style〉等非自封 闭标签,忽略不规范的节点属性格式。经过判断的node_name可以排除注释以及〈script〉、 <textarea>、〈iframe>等不包含主题内容标签之间的等噪音信息,样本实验证明,排除此类 噪音节点内的信息可以将HTML源码多则缩短30-40 %,可以明显降低后续数据分析处理的 复杂度,提高整个算法的执行效率。
[0043] 步骤S205 :对步骤S203、步骤S204的判断整理后,S205将根据去噪、纠错后的源 码以及相应的n〇de_name进行字符处理。更为具体地,申请第二内存区,定义主题信息拷贝 标志,将非文本内的主题信息拷贝至第二内存区,同时更新相应的主题信息拷贝标志,然后 进行特殊单字符统一填充。对于非文本节点的非主题信息,直接进行特殊字符统一填充。
[0044] 步骤S206 :位于虚线右侧,进入字符'〉'和'〈'之间的数据(我们称之为文本区), 指针指向文本开始标志(text_startflag)。该步骤将不做判断,直接拷贝文本区数据至第 二内存区,同时,将指针移除文本区,更新文本结束标志(text_endflag)。
[0045] 详细过程S12是该算法实现的重要前提。该过程实施后,将第一内存区中的HTML 原字符解析到第二内存区。为更加清楚了解本过程技术手段所达到了效果、特点,达到明显 易懂的目的,本过程实施后的效果请参考图3。2.所述模块101具体实施过程如下:
[0046] 详细过程S13 :本步骤涉及本发明核心算法内容,参照流程图4,下面给出更为具 体的说明。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1