王嵘冰,刘 鹤
(辽宁大学 信息学院,辽宁 沈阳110036)
在信息技术蓬勃发展的今天,如何快速并且准确地查询到自己想要浏览的信息已成为一种挑战.Web链接结构分析算法是搜索引擎的一部分,对人们所获取的Web网页信息有着重要的评估作用.网络节点重要性排序是网络科学领域最基本的问题之一,节点排序算法在搜索引擎、社交网络和推荐系统等许多应用场景中都是必不可少的一部分,代表性排序算法为PageRank算法和Hyperlink-Induced Topic Search(HITS)算法[1-2].为了改进传统排序算法的排序效果,相关研究从用户历史行为角度出发,将用户兴趣度因子融入页面排序算法中[3],考虑到用户对网页的访问量、网页转载次数等,提高了搜索结果的准确性.但是具体来说,现有研究并未考虑影响页面流量质量这一重要指标,降低无关页面对排序质量的影响.即使网页访问量较多但仅凭该条件并不能说明网页的权威性,如果一个用户只是点击进入了该页面,但并没有点击该页面的任何链接就直接跳出,这只是增加了页面访问量.本文考虑了评估网页内容黏性突出的指标——跳出率[4],将它以网页权重因子的形式融入传统网页排序算法HITS中,从而可对权威页面进行鉴别,更新融入页面跳出率的权威页面鉴别算法的Authority值.本文拟搭建实验环境,对比实验验证搜索结果相关度情况,以期提高搜索结果的查准率.
HITS 算法是由康奈尔大学的JonKleinberg 博士于1997 年首先提出的[5],它的主要思想是根据网页的入度与出度来判断网页的重要程度,如果一个网页具有很高的权威性,那么这个网页所指向的其他网页也具有较高的权威性;如果这个重要性高的网页被其他的网页所指,那么指向这个网页的其他网页也具有着较高的权威性.在HITS算法中,Authority值也称为权威值,Authority值a(p)与Hub值h(p)的公式如下[5]:
(1)
(2)
图1 将根集拓展为基集
对于每个网页p,权威值更新为所有导入链接所在的页面中枢纽值的和,枢纽值更新为网页p上所有导出链接指向网页的权威值的和.在反复迭代后,确定节点的最终权威值与枢纽值.由于直接按照两者的更新规则进行迭代会导致结果值出现偏差,因此有必要在每次迭代后进行归一化,使最终获得的值收敛.
HITS算法是基于一小部分网页进行计算的:首先通过文本搜索找到相关网页得到根集,然后找到与这些根集直接相连的网页得到基集.图1展示了将根集拓展为基集的示例[5].
吴江等[6]在HITS算法的基础上,运用网页排序改进算法识别意见领袖,从而衡量用户影响力.HITS算法不仅提供了网络节点的排名,还有助于了解不同域上的权威节点.基于HITS算法,李文静等[7]提出节点群发现算法HubsRank,基于引文网络中节点影响力,通过多轮迭代,得到引文网络中多主题覆盖的枢纽节点群,使提取枢纽节点群的速率得到了提高.此外,Liu等[8]提出了一种HITS结合PageRank进行蛋白质远程同源性检测的HITS-PR-HHBLITS预测方法.随着网络规模的扩大,针对页面排序算法在符号网络中的局限,陈晓威等[9]提出其改进算法,以识别社会网络中的关键节点.
HITS算法和PageRank算法是两种具有代表性的排序算法[10],相关学者的研究大多基于这两种算法开展的.早期的HITS算法还存在着很多不足,例如主题漂移、网页欺诈、忽略用户行为的个性化需求.HITS算法利用内容权威和链接权威两个相互影响的权重来评估网络内容的价值和网络中超链接的价值[11-12].超链接多样性分析的网页排序算法,能够在寻找优质页面的同时抑制网页排名的作弊[13].杨博等[14]通过引入时间权值函数、分段函数、网页权值比函数、兴趣度函数改进页面排序算法中存在的问题.由于Web结构挖掘中HITS算法只考虑页面之间的链接关系而忽视了页面的具体内容,影响了搜索结果,为了抑制主题偏离现象,Wang等[15]把超链接信息检索方法与页面内容相结合,提出了一种改进的基于内容相关性改进的HITS算法(GHITS),虽然搜索结果与主题的相关度得到了提高,但未考虑无用链接对算法的干扰.
亓国涛[16]通过Web日志对用户网页浏览行为的访问页数、访问时长、访问深度、网页跳出率进行分析,并将用户停留页面时长与该页面平均停留时长的比值作为权重因子融入到网页排序算法中,但是即使在该页面的停留时间较长,但不再对该页面进行任何点击便跳出,上述情况说明该页面仍存在着网页排序质量的问题,其质量需要进一步提高.
本文的目标是改善页面排序质量,使得搜索结果与主题相关度得到提高,而影响页面流量质量的重要指标为跳出率.文献[17]使用百度统计软件采集网站访问者行为数据,应用回归分析模型研究访客跳出率及网站流量的关联指标,得出访客跳出率与平均访问页面数有关,而网站流量与访问次数、新访客数、平均访问页数相关.因此考虑到页面跳出率因素,本文拟将其以网页权重因子形式融入页面排序算法HITS中,更新融入页面跳出率的权威页面鉴别算法的Authority值.
跳出率指浏览了一个页面便离开网站的访问次数占总的访问次数的百分比.页面跳出率可通过百度统计网站获取JavaScript跟踪代码,并复制此代码.如果是自己编写的一般网站,通常将跟踪代码粘贴到要跟踪的网页底部的
标记之前,且紧临该标记[18].这样便可以跟踪该网站每一个页面的流量分析报告,其中就包括需要进行统计页面的跳出率情况.本文权值w(u)反映了统计页面的跳出率,w(u)的值越大,表明该页面质量越低.因此本文拟将该权值融入HITS算法之中,进而让Authority值受跳出率的影响,这样页面的排序结果就进一步反映了页面的质量,达到改善页面排序质量的目的.
在HITS算法中融入页面跳出率权重,得到融入页面跳出率的权威页面鉴别算法,叫做BRHITS(Bounce Rate HITS)算法,其计算公式如下:
(3)
根据式(3)计算得到的Authority值受页面跳出率的影响.BRHITS算法中页面之间的链接关系可以建立有向图模型,用符号G(V,E)表示,V表示节点所代表的页面集合,E表示节点之间有向边的集合.
BRHITS算法描述如下:
Input:扩展集合G(V,E,W),其中V表示节点集合,E表示边集合,W表示节点的跳出率.
Output:节点V所对应的Authority值和Hub值.
Step 1:初始化V中每个节点v的Authority值和Hub值为1,即a0=1,h0=1;
Step 2:初始化计数变量count为1;
Step 3:更新集合V中每个节点v的Authority值和Hub值,具体计算如下:
Step 4:标准化节点v第t次迭代所得Authority值和Hub值,具体计算如下:
at=at/‖at‖
ht=ht/‖ht‖
Step 5:计算变量count=count+1;
Step 6:如果‖at-at-1‖+‖ht-ht-1‖<ε成立,则收敛,返回(at,ht);否则,跳至Step 3.
实验环境为Windows 10,Pycharm框架下Python 3.7软件,以及Screaming Frog SEO Spider链接分析软件,将URL地址输入其中便能够得到相应的入链与出链.百度统计网站是其他网站平台的流量分析工具,通过它获取JavaScript代码,对目标网站的网页进行跟踪统计.
数据来源为http://www.rank-tennis.com目标网站入口页面,以及与其页面相对应的4月7日至4月14日的百度统计报告,以“tennis”为主题的20个根集页面及页面跳出率扩展成的403个基集页面,然后通过链接分析软件将上述基集页面构造成了含有2 059条边的链接分析图.
1)本文针对http://www.rank-tennis.com网站中入口页面根据页面贡献浏览量获得它的排行,数据来源于百度统计报告(见表1),将获得的前20个页面作为根集R;2)从根集进一步扩展获得构造页面链接关系图所需的基集网页;3)以Screaming Frog SEO Spider为链接分析软件,将根集R的URL链接输入到该网站中,可以获得该URL页面的入链与出链,将根集页面R所链接的所有页面以及指向该根集页面的前50个页面作为基集.扩展成的基集页面共包含403个网页,提取基集页面的链接关系后构造页面链接分析图,图中边的总数为2 059;4)然后用BRHITS算法计算页面的Authority值,进行排序;5)对排序所得到的结果进行评估.
表1 百度统计报告
页面跳出率可通过百度统计网站进行搜索,统计“tennis”查询主题下所构成的基集页面在2021年4月14日近7天的页面跳出率情况.
在这个实验中,大部分用户可能只对搜索结果中排名前20的页面感兴趣,本文利用融入页面跳出率因素的改进算法计算.这20个页面的Authority值,页面跳出率情况见表1.
为了验证算法的可行性,实验一给出了两种算法在相同查询条件下的结果分析.实验二进一步验证BRHITS算法能在一定程度上改善排序质量,并通过搜索结果页面的相关性及查准率进行了说明.
实验一 相同查询条件下的结果分析.
表2、表3为基于HITS算法和BRHITS算法对基集页面进行计算排名,并给出了前10个页面的入链个数与Authority值.BRHITS算法与传统的网页排序HITS算法相比更能筛选出用户满意的页面排序情况,页面得到了提升,与用户查询相关度低的页面排名下降.具体表现在HITS算法与BRHITS算法针对前10个页面出现了不同的排名情况,名次提高的页面为5、6、8、9、10,并且页面1、5、6、8的Authority值都有提升;页面2、3、4、7的Authority值减少,排名下降5名.页面排序变化较大的为页面2、3、4、7,即使权威值较高但并不一定是用户满意的排名结果,而在传统的网页排序HITS算法中其排名仍靠前.通过进一步对2、3、4、7页面进行分析并获得它们的入链集合可知,即使它们有较多的入链数,但入链页面包含较多的存在着跳出率的入口页面,例如页面1、5、6、8、9、10均有指向其页面的链接.此外,从URL页面可知2、3、4、7页面还是登录页面.所以只考虑基于入链数量计算的Authority值是片面的,页面的排名还与入链页面的跳出率有关.
实验二 搜索结果相关度对比.
用户在搜索引擎中进行信息查询时,常常关注的是前n条搜索结果,比如:大多数用户只关注搜索结果中的第一页[19],而提高搜索结果页面中与用户查询相关的页面排名也是改进搜索引擎算法的目的.因此本实验对搜索结果的前5、10、15、20的网页中与查询主题相关的页面数以及查准率进行比较分析.查准率为查询主题相关的网页数与查询结果网页总数的比值.在同一查询主题“tennis”下对比HITS算法、GHITS算法(基于内容相关性改进的HITS算法)、BRHITS算法搜索结果的页面排序情况,并进行相关度的测评.实验结果如表4、图2、图3所示.
表4 搜索结果相关性页面与查准率对比
图2 三种算法搜索结果相关度对比
图3 三种算法搜索结果查准率对比
从图2、图3中可以看出运用BRHITS算法之后提高了搜索结果相关性,改善了搜索结果的排序质量,排在前25的页面相关度较高,查准率提高10%~30%.
本文提出的BRHITS算法考虑了评定页面流量质量的重要指标页面跳出率,将跳出率因子融入传统的HITS算法中,优化并得到了BRHITS算法.实验结果表明,用户在进行主题查询时页面的排序质量得到了提高,在一定程度上提升了检索准确度.在接下来的研究中将在不同查询主题下进行信息检索,进一步证明所提出的算法的有效性.