一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法与流程

文档序号:17399482发布日期:2019-04-13 01:04阅读:246来源:国知局
一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法与流程

本发明涉及一种网络页面爬行链接预测方法。所述方法中网络爬虫沿着url链接构成的网络拓扑图爬行,通过历史爬行过程的累计奖赏信息和url特征预测url链接的主题价值,并依据链接主题价值的大小选择下一个目标网页。



背景技术:

随着互联网的推广和普及,网络上出现了越来越多的资源,快速定位资源所在主机的位置并获取资源成为了搜索引擎诞生的重要原因之一。从1993年至今,搜索引擎从最初的网页分类目录到关注用户个性需求的搜索,全网搜索引擎如:yahoo!、google、bing、baidu等已经完全融入人们的日常生活。全网搜索引擎搭建在大规模计算机集群之上,定期收集整个互联网中所有资源的信息并建立索引以供用户查询。全网搜索引擎在一定程度上满足了用户快速索引网络资源的需求,但它也存在消耗大量网络资源、构建成本高昂、搜索结果主题宽泛等问题。为了提高搜索结果的主题相关度,聚焦搜索引擎应运而生。聚焦搜索消耗网络资源少、构建成本低、搜索结果范围与主题密切相关。

聚焦爬虫是聚焦搜索引擎的关键模块,与通用爬虫不同之处在于,聚焦爬虫只下载与主题相关的网页以便于确定主题的精确搜索。为了更好的节约网络带宽等资源,正确且高效的定位web网络中的主题相关网页成为聚焦爬虫面临的重要问题。经过研究者长时间的研究和实验,定位主题相关网页主要依靠主题概念的构建、网页内容主题相关性分析、链接主题相关性分析。

链接主题相关性分析是影响聚焦爬虫爬行效果的重要问题之一,其目标是在不下载链接对应目标网页的情况下预测目标网页主题相关度。由于聚焦爬虫的目标是尽可能多的只下载与目标主题相关的网页,如果能利用web网页拓扑结构特征在链接对应目标网页下载前猜测链接内容主题相关性就可以避免下载主题无关网页。链接主题相关性分析过程中存在主题定位现象和主题孤岛问题。主题定位现象是指相连网页有很大的概率有高的文本相似度,davison通过实验证明在web中存在主题定位现象。随后mencer扩展了他的研究并证实了链接内容猜想的存在性,即链接内容猜测:一个页面与链接到它的页面相似,链接集群猜想如果它们位于几个链接之内,则两个页面更有可能彼此相关。menzcer表示相关概率保持在距相关页面三个链接的距离内,但随后迅速衰减。主题孤岛问题是指同一个主题上的页面可能不会直接链接,并且可能需要遍历一些脱离主题的页面才能访问相关页面,例如包含了大量主题相关页面链接的列表页和导航页。现有的链接主题相关度分析方法大都基于主题定位现象进行页面相关性预测并着重研究和解决主题孤岛问题。利用主题定位现象进行链接内容猜测,best-first方法使用主题关键词集合和父页面的文本内容计算父页面主题相关度并用父页面主题相关度评估所有子页面的相关度。为了解决主题孤岛问题,fishsearch方法在best-first方法的基础上为子页面设置了一个爬行深度用于控制和主题相关页面的最大距离。改进后的fishsearch方法使得聚焦爬虫具备一定程度的智能,能够过滤一些主题无关的页面。然而fishsearch方法在评估同一页面的所有子页面时没有充分考虑不同页面的主题差异,为此sharksearch方法在计算url的潜在主题分数时不但继承了双亲的主题相关度而且充分利用了锚文本和锚文本的上下文。由于同一页面不同url的主题相关度得到进一步区分,此算法比fishsearch算法的精度更高。除了利用主题定位现象评估子页面的相关度,junghoocho等人还提出了从反向链接、前向链接和pagerank值等多种方面衡量页面的重要度。由于pagerank不能很好的应用与聚焦爬虫,ling等人尝试改进pagerank算法,并加入聚焦爬虫子页面相关度评分中。为了充分利用爬行过程中产生的上下文信息,m.diligent等人提出一种基于局部页面的上下文图模型,该方法通过从种子站点反向爬行构建以种子站点为顶点的多层上下文树,并使用分类器分类训练上下文图的每一层,在爬行过程中利用分类器判断页面距离种子站点的层次及所在图层。傅向华、冯博琴等人将主题爬虫的爬行过程看作序列动作的执行过程,利用增强学习的思想,将web网页的链路结构作为增强学习的路径,并使用半监督贝叶斯分类器训练主题识别模型。基于强化学习的链接主题方法是一种增量自学习方法,与其他链接主题分析方法不同的是,该方法使用链接潜在价值即通过链接能找到主题页面能力作为标准判断链接主题相关度。通过学习链接潜在价值,可以更好的解决主题孤岛问题,因为包含更多到主题相关页面链接的列表页或导航页对应的潜在价值应该比较高。

为了估计链接的潜在价值,本发明引入增强学习方法。增强学习是一种自学习方法,智能体感知环境奖励和变化,通过不断尝试来学习能达到其目标的最优策略。应用该方法,可以在链接对应目标网页没有下载之前判断该链接的潜在价值即其能够找到主题页面的能力,进而引导聚焦爬虫定位主题相关资源,提高聚焦爬虫的收获率和召回率。

由于互联网中存在着数量庞大的网页,每个网页中又包含了数量不等的超链接。用增强学习方法建模聚焦爬虫的链接价值预测问题,如果将每个网页视为状态,每个网页内包含的链接视为动作,并且使用传统的基于表的q-learning学习方法需要一个巨大的表空间来存储每个状态下每个动作相应的q值,由于状态和动作空间都很大维护这样一种大表是不现实的。为此,本发明引入神经网络用于计算网页中某一链接对应的q值。与q-learning方法相比,能够减少内存消耗、提高计算能力、使得价值预测模型更具有普适性。



技术实现要素:

为了解决在不下载链接对应目标网页的情况下预测目标网页主题相关度问题,本发明提出了一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法,本发明所采用的技术方案是:

一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法,其特征在于,包括:

步骤1,用户根据需要配置主题相关的种子站点url集合、配置主题相关关键词及其对应权重;在聚焦爬虫启动时,系统自动载入主题相关url和主题关键词;

步骤2,构建两个具有相同结构的神经网络,并初始化各层神经元的权重和偏置;构建大小为memory_size的记忆库,用于存放历史信息;指定训练集的大小为batch_size;

步骤3,给每个种子站点url设置一个默认链接价值,并将种子站点url放入待爬行队列;

步骤4,在待爬行队列中按url链接的主题价值大小逆序排列,链接主题价值包含了对链接目标网页主题相关度的预测和从该链接出发能找到主题相关页面的潜力的预测,选择主题价值最大的url链接作为爬行目标;

步骤5,下载器下载爬行目标对应的目标网页,从网页中抽取网页内容相关信息并计算网页主题相关度;

步骤6,从目标网页中抽取子链接url,将子链接的文字信息和结构信息特征化,得到子链接特征向量;子链接的特征项包括以下八项:url锚文本主题相关度、url周围文字主题相关度、url所在页面主题相关度、url所在页面子链接锚文本主题相关度均值、父url的链接价值、距离为1的父页面主题相关度均值、距离为2的父页面主题相关度均值、距离为3的父页面主题相关度均值;

步骤7,用增强学习方法和两个结构相同参数不同的神经网络计算url的链接价值实际值和估计值,并计算误差,用梯度下降法优化神经网络参数并更新两个神经网络的参数;

步骤8,将子链接及其相应价值估计值放入待爬行的优先队列;

步骤9,重复步骤4至步骤8直至满足停止条件;当满足以下任意条件即可停止:

条件一、超过爬行时间阈值;

条件二、爬行深度超过深度阈值;

条件三、无法获取新的url地址。

在上述的一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法,步骤2具体操作方法是:构建的两个三层神经网络中,神经网络的第一层为输入层,神经元个数与特征向量的维数一致;神经网络的第二层为隐藏层具有至少16个神经元;神经网络的第三层为输出层,只有一个神经元,使用relu作为激活函数。

在上述的一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法,步骤5具体包括以下子步骤:

步骤5.1、抽取网页不同位置的文字信息:能够概括和表达网页内容主题的文字信息包括:网页url链接锚文本、网页标题、网页描述信息、网页关键词信息、网页正文内容;网页标题可以从<title>标签中抽取,网页描述信息可以从<metaname=”description”>标签中抽取,网页关键词信息可以从<metaname=”keywords”>标签中抽取;

步骤5.2、构造位置-关键词词频矩阵:

位置-关键词词频矩阵是一个m*n的矩阵,m为不同位置的个数,n为主题关键词个数;矩阵中每一个分量tfij表示第i个位置上第j个关键词的词频,词频的计算方法为nij表示第i个位置上第j个关键词出现的次数,∑knik表示第i个位置上所有关键词出现的总数;

步骤5.3、计算网页主题特征向量:

第一个矩阵是一个1*m的位置权值矩阵,代表着不同位置的重要程度,pi表示第i个位置的权值;第二个矩阵是一个m*n的位置-关键词词频矩阵,代表不同位置不同关键词出现频率;

步骤5.4、用余弦相似度计算主题特征向量和网页主题特征向量的相似度:

其中,wi表示第i个关键词的权重。

在上述的一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法,步骤6具体包括以下子步骤:

步骤6.1、url链接锚文本主题相关度:网页中的超链接按照页面表现形式可以分为三类:纯文字超链接、纯图片超链接、图文混合超链接;在抽取url链接的锚文本时,纯图片抽链接无法直接提取超链接的文字信息;分别抽取超链接锚文本和图片描述信息,并分别计算两个信息的主题相关度选择相关度大的文本作为url链接锚文本并确定锚文本主题相关度;

步骤6.2、url链接周围文字主题相关度:超链接在网页中出现的位置可以分类两类:文本环绕、链接环绕;文本环绕的超链接的周围文字一般为网页正文内容的一部分,从网页dom树形结构看,超链接节点的祖先节点中一般会出现<p>、<div>节点;链接环绕的超链接的周围文字一般为链接列表中其他链接的锚文本,从网页dom树形结构看,超链接节点的祖先节点中一定会出现<ul>、<ol>、<dd>、<tr>等用于控制元素排版的节点;因此,在抽取url链接周围文字信息时根据超链接特定祖先节点的不同得到相应的文字信息;分别统计各关键词在文本中出现的频率,使用余弦相似度计算url链接周围文字的主题相关度;

步骤6.3、url所在页面主题相关度:网页主题相关度在步骤5中已经求解得到;

步骤6.4、url所在页面子链接主题相关度均值:在步骤6.1计算了所有子链接的锚文本主题相关度后,计算主题相关度大于0的子链接主题相关度均值;计算公式如下:

其中,k为锚文本主题相关度大于0的子链接个数,simi为第i个主题相关子链接的主题相关度;

步骤6.5、父url链接价值:父url链接价值为当前页面对应url被抽取后计算的潜在价值估计值,该价值在url被抽取时一起放入待爬行队列;当对应目标页面下载并计算主题相关度后,需要根据当前页面正文内容主题相关度修正潜在价值估计值;基于增强学习的思想,父url链接价值的修正值计算如下:

new_parent_value=old_parent_value+γ×text_similarity

其中,old_parent_value为父url链接价值估计值,new_parent_value为父url链接价值修正值,text_similarity为目标网页的主题相关度,γ为增强学习中的距离折扣率;

步骤6.6、距离为1的父页面主题相关度均值:

其中,m1为距离为1的父页面总数,u1为距离为1的父页面集合,simu为距离为1的父页面u的主题相关度;

步骤6.7、距离为2的父页面主题相关度均值:

其中,m2为距离为2的父页面总数,u2为距离为2的父页面集合,simu为距离为2的父页面u的主题相关度;

步骤6.8、距离为3的父页面主题相关度均值:

其中,m3为距离为3的父页面总数,u3为距离为3的父页面集合,simu为距离为3的父页面u的主题相关度。

在上述的一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法,步骤7具体包括以下子步骤:

步骤7.1、用增强学习方法建模:在聚焦爬虫链接价值预测问题中运用增强学习方法,就是将链接价值预测问题建模为马尔科夫决策问题;在聚焦爬虫增强学习方法中,我们将网页视为状态,用网页特征向量s表示;将链接视为动作,用链接特征向量a表示;将链接对应目标网页的主题相关度视为奖赏,用余弦相似度r表示;需要确定的最有策略就是,已知网页和网页包含的子链接,依据每个子链接的潜在价值筛选得到一些能够定位到更多主题相关网页的子链接,使得聚焦爬虫系统的查准率和查全率得到提高;

步骤7.2、增量计算url链接价值:定义网页潜在价值为从网页出发沿着url链接可以访问到的一系列网页的主题相关度的累计,用vπ(s)表示;在增强学习中,vπ(s)表示从网页s出发,使用策略π所带来的累计奖赏,称为状态值函数;在计算累计奖赏时,考虑到距离当前网页越远的网页(即需要进过几个url链接跳转到的网页)其主题相关度对当前网页潜在价值的影响效果越小,因此常使用γ折扣累计奖赏计算,则有:

其中,st为t时刻网页的特征向量;at为t时刻网页中子链接的特征向量;rt+1为子链接对应目标网页的主题相关度;γ为折算因子;π(s,a)为t时刻在网页s下选择子链接a作为下一个抓取目标的概率;为t时刻在网页s下通过子链接a跳转到目标网页s'的概率;为t时刻在网页s通过自链接a跳转到目标网页对应的主题相关度;

定义url链接潜在价值为从url链接出发可以访问到的一系列网页的主题相关度的累计,用qπ(s,a)表示;在增强学习中,qπ(s,a)表示在网页s中选择了子链接a后使用策略π带来的累计奖赏,称为状态-动作值函数;的值可以通过计算得到:

定义最优策略π*是使得累计奖赏值最大的策略,使用最优策略的状态值函数将最优策略状态值函数代入状态-动作值函数中,可得:

当下一个状态确定时,下一状态的其余状态的所以在网页st中选择子链接a作为下一个待抓取链接能获得的未来潜在价值为:

由于也是一个估计值,在不断的增量计算中会使得状态-动作值不断增大,进而导致过拟合;因此,参考doubledqn的处理方法,在计算时,先使用具有最新参数的神经网络计算得到下一状态的各个动作对应的状态-动作估计值,并选择值最大的动作a';接着使用具有旧参数的神经网络计算q(s',a'),即

聚焦爬虫链接价值预测问题中,需要求解在网页中选择不同子链接作为下一个待抓取链接可能获得的未来收益,即q(s,a);由于web网络中存在大量网页而且网页中也包含数量不等的子链接,为此我们将网页特征向量s和链接特征向量a组合成一个向量x,用两个结构相同参数不同的三层神经网络进行函数近似;两个神经网络都以组合向量x作为输入,输出得到q(x)=q(s,a);其中,具有较新参数的神经网络用于计算待预测url链接的价值估计值qθ(x),具有较老参数的神经网络用于计算子链接的价值估计值qθ-(x'),待预测url链接的价值实际值可以借助时序差分,基于qπ(x)=r+γqθ-(x')用当前估计的值函数代替真实值函数;

步骤7.3、计算估计价值和实际价值的误差:待预测url链接的价值实际值为qπ(x),待预测url链接的价值估计值为qθ(x),其中链接价值估计值是通过神经网络计算得到的,我们希望url链接的价值估计值尽可能近似它的实际值,近似程度用最小二乘误差来度量:

eθ=eπ[(qπ(x)-qθ(x))2]

为了使误差最小化,采用梯度下降法,对误差求负导数

于是可得到对于单个样本的更新规则

θ=θ+α(qπ(x)-qθ(x))x

由于链接价值真实值qπ可以用当前估计的值函数代替,即:

则参数的更新规则为:

步骤7.4、参数训练:在使用神经网络进行函数逼近时,计算得到的链接价值估计值与真实值之间存在误差,我们需要利用训练集学习这些误差并修改参数使得估计值尽可能接近真实值;为了切断样本之间的关联性和提高训练速度,我们引入了一个记忆库用于存放历史样本信息;在每次网页下载并分析后,都需要更新记忆库并随机抽取训练集进行参数训练;记忆库中的一个记忆λ可以用四元符号表示,即

λ=(s,r,a,s_)

s,r,a,s_为记忆的四个组成部分;其中,s表示待预测url链接的特征向量;r表示待预测url链接对应目标网页的主题相关度;a表示待预测url链接的价值估计值;s_表示待预测url链接对应目标网页中链接价值估计值最大的子链接的特征向量;

将当前url链接对应的记忆(s,r,a,s_)放入记忆库,并从记忆库中随机抽样batch_size个记忆作为训练集;

步骤7.5、更新两个神经网络的参数:两个神经网络根据它们各自的作用参数更新频率各不相同;用于计算url链接的价值估计值的神经网络需要拥有最新的参数,所以在每次学习之后都需要更新它的参数;用于计算url链接的价值实际值的神经网络不需要频繁更新参数,而是在一定步数的批量学习之后将链接价值估计神经网络的参数直接复制给链接价值计算神经网络;使用replace_target_iter参数控制链接价值计算神经网络参数更新周期。

因此,本发明具有如下优点:本发明构建了可用于增强学习的链接特征向量并将深度学习和增强学习结合用于聚焦爬行过程中的链接价值预测问题。

附图说明

图1为本发明的方法流程图。

具体实施方式

步骤1,载入初始信息

具体操作方法是在爬行开始前,用户根据需要在数据库中配置领域相关的种子站点、关键词及权重。用户配置的种子站点个数为5-10个左右,这些种子站点应该至少具备以下两个特征之一:一、指向包含目标信息的网页url,即内容页种子站点;二、指向能找到包含目标信息网页链接的列表页url,即列表页种子站点。用户配置的领域相关关键词并根据关键词的重要程度配置关键词权重。

步骤2,构建用于强化学习的神经网络

具体操作方法是构建两个三层神经网络,这两个神经网络的结构是完全相同的,唯一的差别就是参数不一致。拥有最新参数且参数更新频繁的神经网络用于计算url链接的价值估计值,拥有旧参数且参数更新间隔时间长的神经网络用于计算url链接的价值实际值。神经网络以url链接的特征向量作为输入,输出对该url链接的价值预测值。因此,神经网络的第一层为输入层,神经元个数与特征向量的维数一致。神经网络的第二层为隐藏层具有至少16个神经元。神经网络的第三层为输出层,只有一个神经元,使用relu作为激活函数。

步骤3,初始化种子站点主题价值

种子站点集合根据站点类型可以分为内容页种子站点集合uc和列表页种子站点集合ul。

3.1计算内容页种子站点主题相关度

首先计算所有内容页种子站点的主题相关度,计算得到的主题相关度作为该种子站点的初始链接主题价值。

其中a、b分别表示种子站点对应目标网页正文内容的特征向量和用户配置的领域关键词集合构成的特征向量。

3.2计算列表页种子站点主题相关度

对于指向能包含目标信息网页链接的列表页种子站点,将内容页种子站点主题相关度的均值作为该站点的初始链接主题价值。

其中,m为内容页种子站点集合中站点总数,uc为内容页种子站点集合,sim_contenti为第i个内容页种子站点的主题相关度。

步骤4,确定爬行目标

链接主题价值包含了对链接目标网页主题相关度的预测和从该链接出发能找到主题相关页面的潜力的预测,因此选择链接主题价值最高的链接作为下一个爬行任务能进一步提高爬虫抓取网页的效率和准确率。具体操作方法是将种子站点和从网页中抽取的子链接放入优先级队列中并将链接对应的链接主题价值作为优先级,每次从优先级队列中取出优先级最高的链接作为下一个爬行任务。

步骤5,计算网页内容主题相关度

5.1抽取网页不同位置的文字信息

能够概括和表达网页内容主题的文字信息包括:网页url链接锚文本、网页标题、网页描述信息、网页关键词信息、网页正文内容。网页标题可以从<title>标签中抽取,网页描述信息可以从<metaname=”description”>标签中抽取,网页关键词信息可以从<metaname=”keywords”>标签中抽取。

5.2构造位置-关键词词频矩阵

位置-关键词词频矩阵是一个m*n的矩阵,m为不同位置的个数,n为主题关键词个数。矩阵中每一个分量tfij表示第i个位置上第j个关键词的词频,词频的计算方法为nij表示第i个位置上第j个关键词出现的次数,∑knik表示第i个位置上所有关键词出现的总数。

5.3计算网页主题特征向量

第一个矩阵是一个1*m的位置权值矩阵,代表着不同位置的重要程度,pi表示第i个位置的权值。第二个矩阵是一个m*n的位置-关键词词频矩阵,代表不同位置不同关键词出现频率。

5.4计算网页内容主题相关度

其中,wi表示第i个关键词的权重。

步骤6,页面子链接的特征提取

6.1计算url链接锚文本主题相关度

网页中的超链接按照页面表现形式可以分为三类:纯文字超链接、纯图片超链接、图文混合超链接。在抽取url链接的锚文本时,纯图片超链接无法直接提取超链接的文字信息。因此,在提取url链接锚文本既要从<a>标签的文字节点中抽取文字信息,又要判断<a>标签下是否有<img>节点,若有该节点则从<img>标签的alt属性中抽取文字信息作为备选锚文本。分别统计各关键词在两个文本中出现的频率,使用余弦相似度计算两个文本的主题相关度。选择相关度较大的文本作为url链接锚文本并确定锚文本主题相关度。

其中,tfi为第i个关键词在文本中出现的词频,wi为第i个关键词的权重。

6.2计算url链接周围文字主题相关度

超链接在网页中出现的位置可以分类两类:文本环绕、链接环绕。文本环绕的超链接的周围文字一般为网页正文内容的一部分,从网页dom树形结构看,超链接节点的祖先节点中一般会出现<p>、<div>节点。链接环绕的超链接的周围文字一般为链接列表中其他链接的锚文本,从网页dom树形结构看,超链接节点的祖先节点中一定会出现<ul>、<ol>、<dd>、<tr>等用于控制元素排版的节点。因此,在抽取url链接周围文字信息时根据超链接特定祖先节点的不同得到相应的文字信息。分别统计各关键词在文本中出现的频率,使用余弦相似度计算url链接周围文字的主题相关度。

6.3计算url所在页面主题相关度

子链接所在页面的主题相关度在步骤5中已经计算得到,可以直接使用计算结果。

6.4计算url所在页面子链接主题相关度均值

在6.1计算了所有子链接的锚文本主题相关度后,计算主题相关度大于0的子链接主题相关度均值。计算公式如下:

其中,k为锚文本主题相关度大于0的子链接个数,simi为第i个主题相关子链接的主题相关度。

6.5计算父url链接价

父url链接价值为当前页面对应url被抽取后计算的潜在价值估计值,该价值在url被抽取时一起放入待爬行队列。当对应目标页面下载并计算主题相关度后,需要根据当前页面正文内容主题相关度修正潜在价值估计值。基于增强学习的思想,父url链接价值的修正值计算如下:

new_parent_value=old_parent_value+γ×text_similarity

其中,old_parent_value为父url链接价值估计值,new_parent_value为父url链接价值修正值,text_similarity为目标网页的主题相关度,γ为增强学习中的距离折扣率。

6.6计算距离为1的父页面主题相关度均值:

6.7计算距离为2的父页面主题相关度均值:

6.8计算距离为3的父页面主题相关度均值:

步骤7,用深度增强学习方法预测子链接的主题价值

7.1用增强学习方法建模

在聚焦爬虫链接价值预测问题中运用增强学习方法,就是将链接价值预测问题建模为马尔科夫决策问题。在聚焦爬虫增强学习方法中,我们将网页视为状态,用网页特征向量s表示;将链接视为动作,用链接特征向量a表示;将链接对应目标网页的主题相关度视为奖赏,用余弦相似度r表示。需要确定的最有策略就是,已知网页和网页包含的子链接,依据每个子链接的潜在价值筛选得到一些能够定位到更多主题相关网页的子链接,使得聚焦爬虫系统的查准率和查全率得到提高。

7.2增量计算url链接价值

定义网页潜在价值为从网页出发沿着url链接可以访问到的一系列网页的主题相关度的累计,用vπ(s)表示。在增强学习中,vπ(s)表示从网页s出发,使用策略π所带来的累计奖赏,称为状态值函数。在计算累计奖赏时,考虑到距离当前网页越远的网页(即需要进过几个url链接跳转到的网页)其主题相关度对当前网页潜在价值的影响效果越小,因此常使用γ折扣累计奖赏计算,则有:

其中,st为t时刻网页的特征向量;at为t时刻网页中子链接的特征向量;rt+1为子链接对应目标网页的主题相关度;γ为折算因子。π(s,a)为t时刻在网页s下选择子链接a作为下一个抓取目标的概率;为t时刻在网页s下通过子链接a跳转到目标网页s'的概率;为t时刻在网页s通过自链接a跳转到目标网页对应的主题相关度。

定义url链接潜在价值为从url链接出发可以访问到的一系列网页的主题相关度的累计,用qπ(s,a)表示。在增强学习中,qπ(s,a)表示在网页s中选择了子链接a后使用策略π带来的累计奖赏,称为状态-动作值函数。的值可以通过计算得到:

定义最优策略π*是使得累计奖赏值最大的策略,使用最优策略的状态值函数将最优策略状态值函数代入状态-动作值函数中,可得:

当下一个状态确定时,下一状态的其余状态的所以在网页st中选择子链接a作为下一个待抓取链接能获得的未来潜在价值为:

由于也是一个估计值,在不断的增量计算中会使得状态-动作值不断增大,进而导致过拟合。因此,参考doubledqn的处理方法,在计算时,先使用具有最新参数的神经网络计算得到下一状态的各个动作对应的状态-动作估计值,并选择值最大的动作a'。接着使用具有旧参数的神经网络计算q(s',a'),即

聚焦爬虫链接价值预测问题中,需要求解在网页中选择不同子链接作为下一个待抓取链接可能获得的未来收益,即q(s,a)。由于web网络中存在大量网页而且网页中也包含数量不等的子链接,为此我们将网页特征向量s和链接特征向量a组合成一个向量x,用两个结构相同参数不同的三层神经网络进行函数近似。两个神经网络都以组合向量x作为输入,输出得到q(x)=q(s,a)。其中,具有较新参数的神经网络用于计算待预测url链接的价值估计值qθ(x),具有较老参数的神经网络用于计算子链接的价值估计值qθ-(x'),待预测url链接的价值实际值可以借助时序差分,基于qπ(x)=r+γqθ-(x')用当前估计的值函数代替真实值函数。

7.3计算估计价值和实际价值的误差

待预测url链接的价值实际值为qπ(x),待预测url链接的价值估计值为qθ(x),其中链接价值估计值是通过神经网络计算得到的,我们希望url链接的价值估计值尽可能近似它的实际值,近似程度用最小二乘误差来度量:

eθ=eπ[(qπ(x)-qθ(x))2]

为了使误差最小化,采用梯度下降法,对误差求负导数

于是可得到对于单个样本的更新规则

θ=θ+α(qπ(x)-qθ(x))x

由于链接价值真实值qπ可以用当前估计的值函数代替,即:

则参数的更新规则为:

7.4参数训练

在使用神经网络进行函数逼近时,计算得到的链接价值估计值与真实值之间存在误差,我们需要利用训练集学习这些误差并修改参数使得估计值尽可能接近真实值。为了切断样本之间的关联性和提高训练速度,我们引入了一个记忆库用于存放历史样本信息。在每次网页下载并分析后,都需要更新记忆库并随机抽取训练集进行参数训练。记忆库中的一个记忆λ可以用四元符号表示,即

λ=(s,r,a,s_)

s,r,a,s_为记忆的四个组成部分。其中,s表示待预测url链接的特征向量;r表示待预测url链接对应目标网页的主题相关度;a表示待预测url链接的价值估计值;s_表示待预测url链接对应目标网页中链接价值估计值最大的子链接的特征向量。

将当前url链接对应的记忆(s,r,a,s_)放入记忆库,并从记忆库中随机抽样batch_size个记忆作为训练集。

7.5更新两个神经网络的参数

两个神经网络根据它们各自的作用参数更新频率各不相同。用于计算url链接的价值估计值的神经网络需要拥有最新的参数,所以在每次学习之后都需要更新它的参数。用于计算url链接的价值实际值的神经网络不需要频繁更新参数,而是在一定步数的批量学习之后将链接价值估计神经网络的参数直接复制给链接价值计算神经网络。使用replace_target_iter参数控制链接价值计算神经网络参数更新周期。

具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1