找回密码
 立即注册
搜索

大数据学习分享:搜索引擎中的web数据发掘


明天为大家分享的是搜索引擎中的 web 数据发掘。首先引见下搜索引擎。实践上,我们每天都会运用的搜索引擎,我们会输入关键词 query 和需求,搜索引擎会根据算法将于 query 最相关且最威望的结果呈现给用户。来源:DataFun社区; 作者:沐沐教师




搜索引擎有 3 个核心部分:

第一:了解用户行为,从最后文字输入到语音和图片输入。

第二:收录并分析互联网数据。

第三:将用户行为与数据建立联络,为用户引荐结果。


明天次要引见第二部分内容:互联网 web 数据分析技术。首先看一下 web 数据发掘与收录系统,也就是 spider 系统。Spider 系统是比较成熟的技术, 目的是:疾速、片面、准确的收录并分析网页数据, 普通全网搜索引擎相似 google、百度、搜狗的 spider 系统,每日调度 10 亿级链接,Spider 数据库存储千亿级网页与万亿级链接。我们可以以为 spider 系统是一个环状的系统,从链接数据库末尾,经过相关算法:如链接调度与挑选相关算法,对周期内需求调度的链接停止抓取,然后发给抓取器,停止网页的下载和渲染。然后输入到数据发掘与计算系统中,对内容停止提取,将网页中的内容保存到内容数据库,链接保存到链接数据库中。我们明天的重点是网页下载之后,网页相关的一些数据发掘算法。


首先我们看一个例子,互联网用户会阅读旧事、微博等各式各样的网页。我们观察一下网页,思索两个成绩,第一个成绩,在你观察的网页有什么特征及内容。第二个成绩,从全体看来,这是怎样的网页,如何描画这个网页。详细的分析如下:



Web 分析技术最核心是对网页特征提取,比如:导航、标题、工夫、主图等等。网页外部特征是数据引擎停止排序时用到的关键特征。例如在排序中,工夫特征也比较关键,将实效性高且相关网页排在后面。除外部特征之外,还有网页全体特征。我们会用到一些分类和自然言语处理的技术,刚才的例子就是一个旧事网页,内容是科技相关的。会同时计算语义特征和结构特征,例如主图、排版、文本段落等。


Web 数据发掘中,需求计算并提取网页的百余个网页属性字段,在此之中会运用一些技术,如机器学习的分类、聚类、回归、自然言语处理、规则聚合、主题模型等等。最终的目的是充分的了解网页,为搜索引擎排序提供准确的网页属性。


网页分析用到了许多基础的算法和数据结构。获取网页属性,需求用很多模型计算相应的字段,低层需求构造很多数据结构。了解网页首先需求建立一个 html 树的结构。在这个数据结构中, 如图蓝色的代表标签节点,绿色代表文本节点。文本节点是 html 的内容,内容可以展如今阅读器中。在分析过程中,一些内容比较关键,如标题、超链接与文本内容等相关重要字段。


下面引见页面分析的一个算法:我们希望充分的了解网页, 在此过程中, 我们可以经过算法划分出不同的区域。如划分为上下左右区域,根据不同的区域提取字段,最终可以对网页停止更深层次的了解,比如说主体边框、标题、关键内容辨认了解。


在将网页划分为不同区域的过程中, 需求用到较多的数据结构。例如:依赖 HTML 树构建统计树。所谓统计树就是在建立了 HTML 树之后,对树节点添加统计属性,例如坐标、宽高、样式等等基础信息。往往在辨认节点类型(注释节点、图片节点)时,这些基本信息可以帮我们扫除没有意义的节点。


在构造树的过程中,会对节点的特征停止计算,例如节点的面积、颜色等。依赖这些节点特征对节点停止分类标记。例如说网页的规划节点,js 节点,这些具有对应的特征属性,基于此对网页停止分类。分类之后将树形的节点转化成数组的方式,方便后续分析。


如左图,该网页包含 body 主体,规划节点从上到下一次排开。异样在右图的统计树上,根节点就是 body 节点,下面的四个子节点代表网页块元素。在统计树上停止层次遍历,以保留有效规划结构节点,将树缩减为一个愈加简单的树。在遍历过程中,需求算法来计算节点的陈列顺序。例如根节点下有 4 个子节点,分别代表网页中的不同规划块。左图四个规划块是从上到下的陈列方式,在右图中会根据深度停止标记。


构造结束构树之后,还会对树停止变换:节点删除,节点紧缩。左图网页中橙色的节点,对于表示页面意义不大,缘由是:根节点下的子节点都是从上到下陈列的,橙色节点的子节点排序顺序相反,因此可以对橙色节点删除,将其子节点上移。


总结:为网页划分区域,为构造平面数据结构做预备。我们从 html tree 做了许多化简得到 layout tree,根据 layout tree 计算区域,从而得到多个分区。


如何根据 layout tree 划分平面,划分思想就是构造划分平面的容器(类比与 c++ 中的 vector)。 我们按广度优先遍历 layout tree,来判别节点能否可以放入到容器中。可以运用规则或者机器学习模型来停止判别。如图中黄框的节点,面积比较小,宽比高的值较大,且包含一些语义信息:导航等,就可判别节点属于上区域容器中。但是 5 号节点面积较大, 判别为上区域是不合适的。那么上区域容器搜集完成了。所以 5 号节点会在下一层停止相应的划分。也可以经过分类模型来判别能否要放入到容器中。


完成平面构造之后,可以应用它们对网页中元素提取。例如图中在提取回复内容,训练一个回复块辨认模型,就可以从不同网页中,商品、旧事等网页中提取回复内容。


最后引见网页分类,这是一个比较通用技术,无论是结构分类还是语义分类思绪是比较相似的。例如对网页分类,就是对提取网页的特征向量(如图片数量,链接数量等等统计信息),应用有监督的机器学习模型(如随机森林、逻辑回归等)停止训练,辨认网页类型。普通的网页分类系统是多个二分类模型叠加在一同的。例如有多个模型:文娱,体育旧事等,最终我们会对这些模型结果串联到一同,这样每个类型互相没有依赖,晋级迭代比较方便。

原文:https://mp.weixin.qq.com/s/-VAE-QeiykYwwAmf0q9NhQ

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评4

青岛空气1983 2019-12-10 08:23:10 显示全部楼层
分享了
回复

使用道具 举报

Tsubaki1314 2019-12-11 07:46:04 来自手机 显示全部楼层
这么强,支持楼主,佩服
回复

使用道具 举报

章紫枫 2019-12-12 08:38:57 显示全部楼层
无论是不是沙发都得回复下
回复

使用道具 举报

小冷子 2019-12-13 07:54:28 显示全部楼层
赞赞赞赞赞赞赞赞
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies