基于深度学习的网页正文抽取方法技术

技术编号:28132657 阅读:37 留言:0更新日期:2021-04-19 11:57
本发明专利技术公开了基于深度学习的网页正文抽取方法,包括如下步骤:1)根DOM节点到叶子DOM节点的数据集准备;2)根DOM节点到叶子DOM节点的数据集构建;3)对根DOM节点到叶子DOM节点的数据集中的数据进行标注;4)利用Fasttext对路径的标签进行预训练和编码;5)训练标签路径文本的LSTM分类模型;6)LSTM模型对标签路径文本进行预测;7)还原抽取到的网页正文。本发明专利技术属于互联网技术领域,具体是指提高简历网页正文抽取正确率的基于深度学习的网页正文抽取方法。法。法。

【技术实现步骤摘要】
基于深度学习的网页正文抽取方法


[0001]本专利技术属于互联网
,具体是指基于深度学习的网页正文抽取方法。

技术介绍

[0002]互联网上有大量的公开信息,要获取这些信息,需要采用一系列的爬取与自然语言处理技术,进行网页获取和分析处理,其中,网页正文提取是一个重要研究课题。随着万维网的发展,网页的功能、样式结构变得越来越复杂,网页内常常包含大量无用信息:广告、外部链接、导航栏等等,一般来说,我们关心的只有网页的正文内容,所谓正文,是网页中我们关心的内容信息,包括目标文字、图片、视频。
[0003]研究的正文提取的方法很多,在特定网页范围提供了可观的准确率,现有的一种基于不同密度分布的正文提取方法,文章假设正文内容会集中出现,而构成HTML的除了标签就是文字,所以认为一个网页标签最少的地方就是正文。基于这个假设,文章作出一个标签分布图,这种方法的目标是那种正文较为集中的网页,如新闻网页等等,而且这种提取方式是较为粗糙的,一些分散的正文信息可能就会被这种方法遗漏。
[0004]由于HTML标签通常具有某种象征意义,除了显示的语法,还体现了模块在网页中的功能:如<p>、<img>、<table>等等,HTML的DOM(DocumentObject Model文本对象模型)树也能体现网页的视觉布局结构和逻辑结构。因此,应用DOM树进行正文提取的相关论文有很多,将HTML解析为Dom 树,并用两个过滤步骤得到正文:过滤标签、过滤广告等内容,这种过滤方式是基于HTML标签的功能定义的:如用href、src等关键词比例过滤含有链接的内容,并认为这些内容很可能是广告,这种方式固然对大部分网站能够起到算法提出者想要达到的效果,但是随着大量非良构网站的出现,以及网站编排的复杂(比如某些正文内容也可能出现大量链接),基于规则的方法会出现需要人为不断更新的问题。事实上,2003年之后,有不少学者提出很多基于规则的网页分析方法,规则的复杂度是在随着网页设计的发展继续不断扩增的;例如一种基于DOM树和标签路径结合聚类的记录提取方法,利用了重复的内容块有大量相同的分割元素的特点。这是一个具有较高稳定性的无监督学习方法,用于提取展示大量重复记录的网页正文内容,如购物网站的商品、学者的论文列表。
[0005]除此以外,也有许多模拟人类在看一个网页的时候使用的基于视觉分块的方法。微软提出了一种以视觉为基础的网站分块算法VIPS,这个算法基于一个使用了13条规则定义的层级分块方式,对网页进行了网站语法角度的有效分块。严格来说,这篇文章没有进行网页的正文提取,另外,这篇文章也利用了 HTML的DOM结构进行分析;还有基于VIPS提出的一个数据记录提取的方法,在用VIPS进行内容结构树的提取,基于两个假设:数据区域总是在水平中心和数据区域总是占了整个网页很大面积,从文章结构中提取了数据记录的位置。
[0006]近年,还诞生了许多基于机器学习、数据挖掘方法的正文抽取方法。有基于聚类的,也有基于决策树的。使用的特征被归为以下几个大类:描述独立文本块(元素)的、描述整个HTML文件(一列的文本块以及结构信息)的、描述在整个网页中的视觉信息的、以及描
述网站中几个有相同特征的文本簇的 (如上面提到的重复记录)。
[0007]目前基于Python的正文提取工具主流就有如Readability、Newspaper3k等等,在新闻类网页中有不错的效果。然而在实际项目中,发现这些工具对稀疏文本的正文提取都束手无策,包括百科页、人员简历页等。另外,前文提到的基于密度的正文提取方法、基于视觉的正文提取方法,都基于“正文有独立视觉特征”这个大前提。而百科、简历页样式多,而且每个样式的内容都很分散,难以应用这类方法;此外,在以前的文章中常见的基于规则的策略,无论是根据视觉元素还是根据HTML标签信息、内容信息等等,直观上都有不适应日益变得复杂的网页结构和部分网页设计不规范的情况,而且规则定义繁琐,实现和维护都非常复杂。

技术实现思路

[0008]为了解决上述难题,本专利技术提供了一种基于深度学习的网页正文抽取方法,以DOM树的标签路径的概念为出发点,以元素本身信息和相应DOM结构信息作为特征选择来源,用RNN(Recurrent Neural Network)预测每个元素是否为正文的方式来实现正文提取,这种方式既能考虑文本的位置信息、标签信息、HTML结构信息等语法信息,也考虑了语义信息。根据训练结果,发现模型经过简单的训练就可以对它见过的网页结构有非常好的拟合与预测能力,提高简历网页正文抽取正确率。
[0009]为实现上述目的,本专利技术采取的技术方案如下:基于深度学习的网页正文抽取方法,包括如下步骤:
[0010]1)根DOM节点到叶子DOM节点的数据集准备:把正文提取任务定义为一个文本分类任务:对于一个文本片段,分类为应该保留或者不应该保留,通过训练LSTM模型,输入一个内容文本块,即从根DOM 节点到叶子DOM节点的整条路径,得到一个是否保留这条路径的分类的预测概率的判断;对文本块的从属信息进行编码,HTML被解析为DOM树,树的每个节点都是一个标签,使用从DOM树根节点到目标文本块节点的标签用以表示这个路径,即为标签路径;
[0011]2)根DOM节点到叶子DOM节点的数据集构建:首先,把HTML所有的标签找出来,并且用正则匹配找到标签的位置,把HTML分成标签和内容;将单独存在的、后续不关心的标签及对应的内容去掉,进行内容分配给标签的操作:若开始标签和下一个标签中间有内容,则内容分配给这个开始标签;如果结束标签前有内容未被分配,即前一个标签也是结束标签时,则把内容分配给这个标签;特殊情况时,当文本标签嵌套文本标签时,会出现上一个结束标签和下一个开始标签的中间有内容的情况,分配给上一个结束标签;HTML被解析成标签的序列,网页被解析为一个标签序列;按照如下规则对标签进行两两匹配,即开始标签和结束标签相匹配:准备一个空栈Cache并按照标签遍历处理好的HTML,当遇到一个开始标签的时,直接压栈,当遇到一个Cache为空的时,直接压栈;当遇到一个结束标签的时,对目前栈顶的标签和这个结束标签进行简单匹配,判断是否为相应的标签,如果不匹配,则向前搜索,直到搜到匹配的为止,然后将这个结束标签压进栈中,把Cache的状态记录下来,作为之后标注的一个单位,然后把结束标签、相应的开始标签弹出,最后得到空的Cache即为路径,实现标签的两两配对,并构造节点;
[0012]3)对根DOM节点到叶子DOM节点的数据集中的数据进行标注:根据步骤2)得到标签
路径后,根据路径中叶子节点所对应的文本,对每一行路径进行打类别标签以供深度学习模型训练和测试使用;如果这一个文本块是正文,类别标签标记为1,如果不是文正,则类别标签标记为0;
[0013]4)利用Fasttext对路径的标签进行预训练和编码:采用将词汇表中的词汇映射到向量空间的预训练技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
list压栈;遇到结束标签,并生成标签路径,同时马上进行判断;如果是正文,就压入Keep lis...

【专利技术属性】
技术研发人员:陈前华
申请(专利权)人:广东电子工业研究院有限公司
类型:发明
国别省市:

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

1