1. WEB超链分析算法的WEB超链分析算法
搜索引擎Google最初是斯坦福大学的博士研究生Sergey Brin和Lawrence Page实现的一个原型系统[2],现在已经发展成为WWW上最好的搜索引擎之一。Google的体系结构类似于传统的搜索引擎,它与传统的搜索引擎最大的不同处在于对网页进行了基于权威值的排序处理,使最重要的网页出现在结果的最前面。Google通过PageRank元算法计算出网页的PageRank值,从而决定网页在结果集中的出现位置,PageRank值越高的网页,在结果中出现的位置越前。
2.1.1PageRank算法
PageRank算法基于下面2个前提:
前提1:一个网页被多次引用,则它可能是很重要的;一个网页虽然没有被多次引用,但是被重要的网页引用,则它也可能是很重要的;一个网页的重要性被平均的传递到它所引用的网页。这种重要的网页称为权威(Authoritive)网页。
前提2:假定用户一开始随机的访问网页集合中的一个网页,以后跟随网页的向外链接向前浏览网页,不回退浏览,浏览下一个网页的概率就是被浏览网页的PageRank值。
简单PageRank算法描述如下:u是一个网页,是u指向的网页集合,是指向u的网页集合,是u指向外的链接数,显然=| | ,c是一个用于规范化的因子(Google通常取0.85),(这种表示法也适用于以后介绍的算法)则u的Rank值计算如下:
这就是算法的形式化描述,也可以用矩阵来描述此算法,设A为一个方阵,行和列对应网页集的网页。如果网页i有指向网页j的一个链接,则,否则=0。设V是对应网页集的一个向量,有V=cAV,V为A的特征根为c的特征向量。实际上,只需要求出最大特征根的特征向量,就是网页集对应的最终PageRank值,这可以用迭代方法计算。
如果有2个相互指向的网页a,b,他们不指向其它任何网页,另外有某个网页c,指向a,b中的某一个,比如a,那么在迭代计算中,a,b的rank值不分布出去而不断的累计。如下图:
为了解决这个问题,Sergey Brin和Lawrence Page改进了算法,引入了衰退因子E(u),E(U)是对应网页集的某一向量,对应rank的初始值,算法改进如下:
其中,=1,对应的矩阵形式为V’=c(AV’+E)。
另外还有一些特殊的链接,指向的网页没有向外的链接。PageRank计算时,把这种链接首先除去,等计算完以后再加入,这对原来计算出的网页的rank值影响是很小的。
Pagerank算法除了对搜索结果进行排序外,还可以应用到其它方面,如估算网络流量,向后链接的预测器,为用户导航等[2]。
2.1.2算法的一些问题
Google是结合文本的方法来实现PageRank算法的[2],所以只返回包含查询项的网页,然后根据网页的rank值对搜索到的结果进行排序,把rank值最高的网页放置到最前面,但是如果最重要的网页不在结果网页集中,PageRank算法就无能为力了,比如在 Google中查询search engines,像Google,Yahoo,Altivisa等都是很重要的,但是Google返回的结果中这些网页并没有出现。 同样的查询例子也可以说明另外一个问题,Google,Yahoo是WWW上最受欢迎的网页,如果出现在查询项car的结果集中,一定会有很多网页指向它们,就会得到较高的rank值, 事实上他们与car不太相关。
在PageRank算法的基础上,其它的研究者提出了改进的PageRank算法。华盛顿大学计算机科学与工程系的Matthew Richardson和Pedro Dominggos提出了结合链接和内容信息的PageRank算法,去除了PageRank算法需要的前提2,增加考虑了用户从一个网页直接跳转到非直接相邻的但是内容相关的另外一个网页的情况[3]。斯坦大学计算机科学系Taher Haveliwala提出了主题敏感(Topic-sensitive)PageRank算法[4]。斯坦福大学计算机科学系Arvind Arasu等经过试验表明,PageRank算法计算效率还可以得到很大的提高[22]。 PageRank算法中对于向外链接的权值贡献是平均的,也就是不考虑不同链接的重要性。而WEB的链接具有以下特征:
1.有些链接具有注释性,也有些链接是起导航或广告作用。有注释性的链接才用于权威判断。
2.基于商业或竞争因素考虑,很少有WEB网页指向其竞争领域的权威网页。
3.权威网页很少具有显式的描述,比如Google主页不会明确给出WEB搜索引擎之类的描述信息。
可见平均的分布权值不符合链接的实际情况[17]。J. Kleinberg[5]提出的HITS算法中引入了另外一种网页,称为Hub网页,Hub网页是提供指向权威网页链接集合的WEB网页,它本身可能并不重要,或者说没有几个网页指向它,但是Hub网页确提供了指向就某个主题而言最为重要的站点的链接集合,比一个课程主页上的推荐参考文献列表。一般来说,好的Hub网页指向许多好的权威网页;好的权威网页是有许多好的Hub网页指向的WEB网页。这种Hub与Authoritive网页之间的相互加强关系,可用于权威网页的发现和WEB结构和资源的自动发现,这就是Hub/Authority方法的基本思想。
2.2.1HITS算法
HITS(Hyperlink-Inced Topic Search)算法是利用Hub/Authority方法的搜索方法,算法如下:将查询q提交给传统的基于关键字匹配的搜索引擎.搜索引擎返回很多网页,从中取前n个网页作为根集(root set),用S表示。S满足如下3个条件:
1.S中网页数量相对较小
2.S中网页大多数是与查询q相关的网页
3.S中网页包含较多的权威网页。
通过向S中加入被S引用的网页和引用S的网页将S扩展成一个更大的集合T.
以T中的Hub网页为顶点集Vl,以权威网页为顶点集V2,Vl中的网页到V2中的网页的超链接为边集E,形成一个二分有向图SG=(V1,V2,E)。对V1中的任一个顶点v,用h(v)表示网页v的Hub值,对V2中的顶点u,用a(u)表示网页的Authority值。开始时h(v)=a(u)=1,对u执行I操作修改它的a(u),对v执行O操作修改它的h(v),然后规范化a(u),h(v),如此不断的重复计算下面的操作I,O,直到a(u),h(v)收敛。(证明此算法收敛可见)
I 操作: (1) O操作: (2)
每次迭代后需要对a(u),h(v)进行规范化处理:
式(1)反映了若一个网页由很多好的Hub指向,则其权威值会相应增加(即权威值增加为所有指向它的网页的现有Hub值之和)。式(2)反映了若一个网页指向许多好的权威页,则Hub值也会相应增加(即Hub值增加为该网页链接的所有网页的权威值之和)。
和PageRank算法一样,可以用矩阵形式来描述算法,这里省略不写。
HITS算法输出一组具有较大Hub值的网页和具有较大权威值的网页。
2.2.2HITS的问题
HITS算法有以下几个问题:
1.实际应用中,由S生成T的时间开销是很昂贵的,需要下载和分析S中每个网页包含的所有链接,并且排除重复的链接。一般T比S大很多,由T生成有向图也很耗时。需要分别计算网页的A/H值,计算量比PageRank算法大。
2.有些时候,一主机A上的很多文档可能指向另外一台主机B上的某个文档,这就增加了A上文档的Hub值和B上文档的Authority,相反的情况也如此。HITS是假定某一文档的权威值是由不同的单个组织或者个人决定的,上述情况影响了A和B上文档的Hub和Authority值[7]。
3.网页中一些无关的链接影响A,H值的计算。在制作网页的时候,有些开发工具会自动的在网页上加入一些链接,这些链接大多是与查询主题无关的。同一个站点内的链接目的是为用户提供导航帮助,也与查询主题不甚无关,还有一些商业广告,赞助商和用于友情交换的链接,也会降低HITS算法的精度[8]。
4.HITS算法只计算主特征向量,也就是只能发现T集合中的主社区(Community),忽略了其它重要的社区[12]。事实上,其它社区可能也非常重要。
5.HITS算法最大的弱点是处理不好主题漂移问题(topic drift)[7,8],也就是紧密链接TKC(Tightly-Knit Community Effect)现象[8]。如果在集合T中有少数与查询主题无关的网页,但是他们是紧密链接的,HITS算法的结果可能就是这些网页,因为HITS只能发现主社区,从而偏离了原来的查询主题。下面讨论的SALSA算法中解决了TKC问题。
6.用HITS进行窄主题查询时,可能产生主题泛化问题[5,9],即扩展以后引入了比原来主题更重要的新的主题,新的主题可能与原始查询无关。泛化的原因是因为网页中包含不同主题的向外链接,而且新主题的链接具有更加的重要性。
2.2.3HITS的变种
HITS算法遇到的问题,大多是因为HITS是纯粹的基于链接分析的算法,没有考虑文本内容,继J. Kleinberg提出HITS算法以后,很多研究者对HITS进行了改进,提出了许多HITS的变种算法,主要有:
2.2.3.1Monika R. Henzinger和Krishna Bharat对HITS的改进
对于上述提到的HITS遇到的第2个问题,Monika R. Henzinger和Krishna Bharat在[7]中进行了改进。假定主机A上有k个网页指向主机B上的某个文档d,则A上的k个文档对B的Authority贡献值总共为1,每个文档贡献1/k,而不是HITS中的每个文档贡献1,总共贡献k。类似的,对于Hub值,假定主机A上某个文档t指向主机B上的m个文档,则B上m个文档对t的Hub值总共贡献1,每个文档贡献1/m。I,O操作改为如下
I 操作:
O操作:
调整后的算法有效的解决了问题2,称之为imp算法。
在这基础上,Monika R. Henzinger和Krishna Bharat还引入了传统信息检索的内容分析技术来解决4和5,实际上也同时解决了问题3。具体方法如下,提取根集S中的每个文档的前1000个词语,串连起来作为查询主题Q,文档Dj和主题Q的相似度按如下公式计算:
,,=项i在查询Q中的出现次数,
=项i在文档Dj中的出现次数,IDFi是WWW上包含项i的文档数目的估计值。
在S扩展到T后,计算每个文档的主题相似度,根据不同的阈值(threshold)进行刷选,可以选择所有文档相似度的中值,根集文档相似度的中值,最大文档相似度的分数,如1/10,作为阈值。根据不同阈值进行处理,删除不满足条件的文档,再运行imp算法计算文档的A/H值,这些算法分别称为med,startmed,maxby10。
在此改进的算法中,计算文档的相似度时间开销会很大。
2.2.3.2ARC算法
IBM Almaden研究中心的Clever工程组提出了ARC(Automatic Resource Compilation)算法,对原始的HITS做了改进,赋予网页集对应的连结矩阵初值时结合了链接的锚(anchor)文本,适应了不同的链接具有不同的权值的情况。
ARC算法与HITS的不同主要有以下3点:
1.由根集S扩展为T时,HITS只扩展与根集中网页链接路径长度为1的网页,也就是只扩展直接与S相邻的网页,而ARC中把扩展的链接长度增加到2,扩展后的网页集称为增集(Augment Set)。
2.HITS算法中,每个链接对应的矩阵值设为1,实际上每个链接的重要性是不同的,ARC算法考虑了链接周围的文本来确定链接的重要性。考虑链接p->q,p中有若干链接标记,文本1<a href=”q”>锚文本</a>文本2,设查询项t在文本1,锚文本,文本2,出现的次数为n(t),则w(p,q)=1+n(t)。文本1和文本2的长度经过试验设为50字节[10]。构造矩阵W,如果有网页i->j ,Wi,j=w(i,j),否则Wi,j=0,H值设为1,Z为W的转置矩阵,迭代执行下面3个的操作:
(1)A=WH (2)H=ZA (3)规范化A,H
3.ARC算法的目标是找到前15个最重要的网页,只需要A/H的前15个值相对大小保持稳定即可,不需要A/H整个收敛,这样2中迭代次数很小就能满足,[10]中指出迭代5次就可以,所以ARC算法有很高的计算效率,开销主要是在扩展根集上。
2.2.3.3Hub平均( Hub-Averaging-Kleinberg)算法
Allan Borodin等在[11]指出了一种现象,设有M+1个Hub网页,M+1个权威网页,前M个Hub指向第一个权威网页,第M+1个Hub网页指向了所有M+1个权威网页。显然根据HITS算法,第一个权威网页最重要,有最高的Authority值,这是我们希望的。但是,根据HITS,第M+1个Hub网页有最高的Hub值,事实上,第M+1个Hub网页既指向了权威值很高的第一个权威网页,同时也指向了其它权威值不高的网页,它的Hub值不应该比前M个网页的Hub值高。因此,Allan Borodin修改了HITS的O操作:
O操作: ,n是(v,u)的个数
调整以后,仅指向权威值高的网页的Hub值比既指向权威值高又指向权威值低的网页的Hub值高,此算法称为Hub平均(Hub-Averaging-Kleinberg)算法。
2.2.3.4阈值(Threshhold—Kleinberg)算法
Allan Borodin等在[11]中同时提出了3种阈值控制的算法,分别是Hub阈值算法,Authority阈值算法,以及结合2者的全阈值算法。
计算网页p的Authority时候,不考虑指向它的所有网页Hub值对它的贡献,只考虑Hub值超过平均值的网页的贡献,这就是Hub阈值方法。
Authority阈值算法和Hub阈值方法类似,不考虑所有p指向的网页的Authority对p的Hub值贡献,只计算前K个权威网页对它Hub值的贡献,这是基于算法的目标是查找最重要的K个权威网页的前提。
同时使用Authority阈值算法和Hub阈值方法的算法,就是全阈值算法 PageRank算法是基于用户随机的向前浏览网页的直觉知识,HITS算法考虑的是Authoritive网页和Hub网页之间的加强关系。实际应用中,用户大多数情况下是向前浏览网页,但是很多时候也会回退浏览网页。基于上述直觉知识,R. Lempel和S. Moran提出了SALSA(Stochastic Approach for Link-Structure Analysis)算法[8],考虑了用户回退浏览网页的情况,保留了PageRank的随机漫游和HITS中把网页分为Authoritive和Hub的思想,取消了Authoritive和Hub之间的相互加强关系。
具体算法如下:
1.和HITS算法的第一步一样,得到根集并且扩展为网页集合T,并除去孤立节点。
2.从集合T构造无向图G’=(Vh,Va,E)
Vh = { sh | s∈C and out-degree(s) > 0 } ( G’的Hub边).
Va = { sa | s∈C and in-degree(s) > 0 } (G’的Authority边).
E= { (sh , ra) |s->r in T}
这就定义了2条链,Authority链和Hub链。
3.定义2条马尔可夫链的变化矩阵,也是随机矩阵,分别是Hub矩阵H,Authority矩阵A。
4.求出矩阵H,A的主特征向量,就是对应的马尔可夫链的静态分布。
5.A中值大的对应的网页就是所要找的重要网页。
SALSA算法没有HITS中相互加强的迭代过程,计算量远小于HITS。SALSA算法只考虑直接相邻的网页对自身A/H的影响,而HITS是计算整个网页集合T对自身AH的影响。
实际应用中,SALSA在扩展根集时忽略了很多无关的链接,比如
1.同一站点内的链接,因为这些链接大多只起导航作用。
2.CGI 脚本链接。
3.广告和赞助商链接。
试验结果表明,对于单主题查询java,SALSA有比HITS更精确的结果,对于多主题查询abortion,HITS的结果集中于主题的某个方面,而SALSA算法的结果覆盖了多个方面,也就是说,对于TKC现象,SALSA算法比HITS算法有更高的健壮性。
2.3.1BFS(Backword Forward Step)算法
SALSA算法计算网页的Authority值时,只考虑网页在直接相邻网页集中的受欢迎程度,忽略其它网页对它的影响。HITS算法考虑的是整个图的结构,特别的,经过n步以后,网页i的Authority的权重是,为离开网页i的的路径的数目,也就是说网页j<>i,对i的权值贡献等于从i到j的路径的数量。如果从i到j包含有一个回路,那么j对i的贡献将会呈指数级增加,这并不是算法所希望的,因为回路可能不是与查询相关的。
因此,Allan Borodin等[11]提出了BFS(Backward Forward Step)算法,既是SALSA的扩展情况,也是HITS的限制情况。基本思想是,SALSA只考虑直接相邻网页的影响,BFS扩展到考虑路径长度为n的相邻网页的影响。在BFS中,被指定表示能通过路径到达i的结点的集合,这样j对i的贡献依赖就与j到i的距离。BFS采用指数级降低权值的方式,结点i的权值计算公式如下:
=|B(i)|+ |BF(i)| +|BFB(i)|+……+||
算法从结点i开始,第一步向后访问,然后继续向前或者向后访问邻居,每一步遇到新的结点加入权值计算,结点只有在第一次被访问时加入进去计算。 D.Cohn and H.Chang提出了计算Hub和Authority的统计算法PHITS(Probabilistic analogue of the HITS)[12]。他们提出了一个概率模型,在这个模型里面一个潜在的因子或者主题z影响了文档d到文档c的一个链接,他们进一步假定,给定因子z,文档c的条件分布P(c|z)存在,并且给定文档d,因子z的条件分布P(z|d)也存在。
P(d) P(z|d) P(c|z) ,其中
根据这些条件分布,提出了一个可能性函数(likelihood function)L,
,M是对应的连结矩阵
然后,PHITS算法使用Dempster等提出的EM算法[20]分配未知的条件概率使得L最大化,也就是最好的解释了网页之间的链接关系。算法要求因子z的数目事先给定。Allan Borodin指出,PHITS中使用的EM算法可能会收敛于局部的最大化,而不是真正的全局最大化[11]。D. Cohn和T. Hofmann还提出了结合文档内容和超链接的概率模型[13]。 Allan Borodin等提出了完全的贝叶斯统计方法来确定Hub和Authoritive网页[11]。假定有M个Hub网页和N个Authority网页,可以是相同的集合。每个Hub网页有一个未知的实数参数,表示拥有超链的一般趋势,一个未知的非负参数,表示拥有指向Authority网页的链接的趋势。每个Authoritive网页j,有一个未知的非负参数,表示j的Authority的级别。
统计模型如下,Hub网页i到Authority网页j的链接的先验概率如下给定:
P(i,j)=Exp(+)/(1+Exp(+))
Hub网页i到Authority网页j没有链接时,P(i,j)=1/(1+Exp(+))
从以上公式可以看出,如果很大(表示Hub网页i有很高的趋势指向任何一个网页),或者和都很大(表示i是个高质量Hub,j是个高质量的Authority网页),那么i->j的链接的概率就比较大。
为了符合贝叶斯统计模型的规范,要给2M+N个未知参数(,,)指定先验分布,这些分布应该是一般化的,不提供信息的,不依赖于被观察数据的,对结果只能产生很小影响的。Allan Borodin等在中指定满足正太分布N(μ,),均值μ=0,标准方差δ=10,指定和满足Exp(1)分布,即x>=0,P(>=x)=P(>=x)=Exp(-x)。
接下来就是标准的贝叶斯方法处理和HITS中求矩阵特征根的运算。
2.5.1简化的贝叶斯算法
Allan Borodin同时提出了简化的上述贝叶斯算法,完全除去了参数,也就不再需要正太分布的参数μ,δ了。计算公式变为:P(i,j)=/(1+),Hub网页到Authority网页j没有链接时,P(i,j)=1/(1+)。
Allan Borodin 指出简化的贝叶斯产生的效果与SALSA算法的结果非常类似。 上面的所有算法,都是从查询项或者主题出发,经过算法处理,得到结果网页。多伦多大学计算机系Alberto Mendelzon, Davood Rafiei提出了一种反向的算法,输入为某个网页的URL地址,输出为一组主题,网页在这些主题上有声望(repution)[16]。比如输入,www.gamelan.com,可能的输出结果是“java”,具体的系统可以访问htpp://www.cs.toronto.e/db/topic。
给定一个网页p,计算在主题t上的声望,首先定义2个参数,渗透率和聚焦率,简单起见,网页p包含主题项t,就认为p在主题t上。
是指向p而且包含t的网页数目,是指向p的网页数目,是包含t的网页数目。结合非条件概率,引入,,是WEB上网页的数目。P在t上的声望计算如下:
指定是既指向p有包含t的概率,即,显然有
我们可以从搜索引擎(如Altavista)的结果得到,, ,WEB上网页的总数估计值某些组织会经常公布,在计算中是个常量不影响RM的排序,RM最后如此计算:
给定网页p和主题t,RM可以如上计算,但是多数的情况的只给定网页p,需要提取主题后计算。算法的目标是找到一组t,使得RM(p,t)有较大的值。TOPIC系统中是抽取指向p的网页中的锚文本的单词作为主题(上面已经讨论过锚文本能很好描述目标网页,精度很高),避免了下载所有指向p的网页,而且RM(p,t)的计算很简单,算法的效率较高。主题抽取时,还忽略了用于导航、重复的链接的文本,同时也过滤了停止字(stop word),如“a”,“the”,“for”,“in”等。
Reputation算法也是基于随机漫游模型的(random walk),可以说是PageRank和SALSA算法的结合体。
3.链接算法的分类及其评价
链接分析算法可以用来提高搜索引擎的查询效果,可以发现WWW上的重要的社区,可以分析某个网站的拓扑结构,声望,分类等,可以用来实现文档的自动分类等。归根结底,能够帮助用户在WWW海量的信息里面准确找到需要的信息。这是一个正在迅速发展的研究领域。
上面我们从历史的角度总结了链接分析算法的发展历程,较为详细的介绍了算法的基本思想和具体实现,对算法的存在的问题也做了讨论。这些算法有的处于研究阶段,有的已经在具体的系统实现了。这些算法大体可以分为3类,基于随机漫游模型的,比如PageRank,Repution算法,基于Hub和Authority相互加强模型的,如HITS及其变种,基于概率模型的,如SALSA,PHITS,基于贝叶斯模型的,如贝叶斯算法及其简化版本。所有的算法在实际应用中都结合传统的内容分析技术进行了优化。一些实际的系统实现了某些算法,并且获得了很好的效果,Google实现了PageRank算法,IBM Almaden Research Center 的Clever Project实现了ARC算法,多伦多大学计算机系实现了一个原型系统TOPIC,来计算指定网页有声望的主题。
AT&T香农实验室的Brian Amento在指出,用权威性来评价网页的质量和人类专家评价的结果是一致的,并且各种链接分析算法的结果在大多数的情况下差别很小[15]。但是,Allan Borodin也指出没有一种算法是完美的,在某些查询下,结果可能很好,在另外的查询下,结果可能很差[11]。所以应该根据不同查询的情况,选择不同的合适的算法。
基于链接分析的算法,提供了一种衡量网页质量的客观方法,独立于语言,独立于内容,不需人工干预就能自动发现WEB上重要的资源,挖掘出WEB上重要的社区,自动实现文档分类。但是也有一些共同的问题影响着算法的精度。
1.根集的质量。根集质量应该是很高的,否则,扩展后的网页集会增加很多无关的网页,产生主题漂移,主题泛化等一系列的问题,计算量也增加很多。算法再好,也无法在低质量网页集找出很多高质量的网页。
2.噪音链接。WEB上不是每个链接都包含了有用的信息,比如广告,站点导航,赞助商,用于友情交换的链接,对于链接分析不仅没有帮助,而且还影响结果。如何有效的去除这些无关链接,也是算法的一个关键点。
3.锚文本的利用。锚文本有很高的精度,对链接和目标网页的描述比较精确。上述算法在具体的实现中利用了锚文本来优化算法。如何准确充分的利用锚文本,对算法的精度影响很大。
4.查询的分类。每种算法都有自身的适用情况,对于不同的查询,应该采用不同的算法,以求获得最好的结果。因此,对于查询的分类也显得非常重要。
结束语:当然,这些问题带有很大的主观性,比如,质量不能精确的定义,链接是否包含重要的信息也没有有效的方法能准确的判定,分析锚文本又涉及到语义问题,查询的分类也没有明确界限。如果算法要取得更好的效果,在这几个方面需要继续做深入的研究,相信在不久的将来会有更多的有趣和有用的成果出现。
2. pagerrank算法有何应用
.017 基于中心性和PageRank的网页综合评分方法 (1.西南交通大学信息科学与技术学院,四川成都610031;2.成都市公安局科技处,四川成都610017;3.西南财经大学经济信息工程学院,四川成都610074) 摘要:为准确、高效地对网页进行评分,提出了一种基于中心性(结点度、居间度和紧密度)和PageRank算法 的网页评分方法CentralRank.它采用PageRank算法计算网页分数,借助中心性度量的方法计算页面在Web社会 网络中的重要性.为了验证CentralRank的性能优势,设计了一个网页抓取器,可利用该抓取器自动、准确地下载 网页信息.该网页抓取器集成了网络信息采集、页面内容分析和页面消重3项技术.基于大量真实数据的实验结 果表明:CentralRank在保证网页评分时间性能的前提下,比单纯基于中心性的网页评分算法和PageRank算法更 准确、有效,预测准确性分别提高约14.2%和7.5%. 关键词:社会网络分析;Web社会网络;中心性;PageRank算法;网页评分 中图分类号:TP311.13 文献标志码:A Hybrid Page Scoring Algorithm Based PageRankqtAO Shaojiel,PENG Jin92,H Tianruil,LI Iton91,12 Taiyon93,WANG Cha01 (1.School InformationScience Technology,SouthwestJiaotong University,Cheng 610031,China; 2.Department Technology,ChengMunicipal Public Security Bureau,Cheng 610017,China; 3.School EconomicInformation Engineering,soutllwtem University Economics,Cheng610074, China) Abst豫ct:In order scor
3. 网络爬虫采用的是哪种算法策略
在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。下面重点介绍几种常见的抓取策略:
1.深度优先遍历策略
深度优先遍历策略是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。我们以下面的图为例: 遍历的路径:A-F-G E-H-I B C D 2.宽度优先遍历策略 宽度优先遍历策略的基本思路是,将新下载网页中发现的链接直接插入待抓取URL队列的末尾。也就是指网络爬虫会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。还是以上面的图为例: 遍历路径:A-B-C-D-E-F G H I 3.反向链接数策略 反向链接数是指一个网页被其他网页链接指向的数量。反向链接数表示的是一个网页的内容受到其他人的推荐的程度。因此,很多时候搜索引擎的抓取系统会使用这个指标来评价网页的重要程度,从而决定不同网页的抓取先后顺序。 在真实的网络环境中,由于广告链接、作弊链接的存在,反向链接数不能完全等他我那个也的重要程度。因此,搜索引擎往往考虑一些可靠的反向链接数。 4.Partial PageRank策略 Partial PageRank算法借鉴了PageRank算法的思想:对于已经下载的网页,连同待抓取URL队列中的URL,形成网页集合,计算每个页面的PageRank值,计算完之后,将待抓取URL队列中的URL按照PageRank值的大小排列,并按照该顺序抓取页面。 如果每次抓取一个页面,就重新计算PageRank值,一种折中方案是:每抓取K个页面后,重新计算一次PageRank值。但是这种情况还会有一个问题:对于已经下载下来的页面中分析出的链接,也就是我们之前提到的未知网页那一部分,暂时是没有PageRank值的。为了解决这个问题,会给这些页面一个临时的PageRank值:将这个网页所有入链传递进来的PageRank值进行汇总,这样就形成了该未知页面的PageRank值,从而参与排序。下面举例说明: 5.OPIC策略策略 该算法实际上也是对页面进行一个重要性打分。在算法开始前,给所有页面一个相同的初始现金(cash)。当下载了某个页面P之后,将P的现金分摊给所有从P中分析出的链接,并且将P的现金清空。对于待抓取URL队列中的所有页面按照现金数进行排序。 6.大站优先策略 对于待抓取URL队列中的所有网页,根据所属的网站进行分类。对于待下载页面数多的网站,优先下载。这个策略也因此叫做大站优先策略。
4. HITS、TrustRunk、PageRunk、HillTop算法啥意思对SEO有什么指导意义
HITS算法是由康奈尔大学( Cornell University ) 的Jon Kleinberg 博士于1997 年首先提出的,为IBM 公司阿尔马登研究中心( IBM Almaden Research Center) 的名为“CLEVER”的研究项目中的一部分。
TrustRank算法最初来自于2004年斯坦福大学和雅虎的一项联合研究,用来检测垃圾网站,并且于2006年申请专利。TrustRank算法发明人还发表了一份专门的PDF文件,说明TrustRank算法的应用。感兴趣的读者可以在下面这个网址下载PDF文件:
TrustRank算法并不是由Google提出的,不过由于Google所占市场份额最大,而且TrustRank在Google排名中也是一个非常重要的因素,所以有些人误以为TrustRank是Google提出的。更让人糊涂的是,Google曾经把TrustRank申请为商标,但是TrustRank商标中的TrustRank指的是Google检测含有恶意代码网站的方法,而不是指排名算法中的信任指数。
基于这个假设,如果能挑选出可以百分百信任的网站,这些网站的TrustRank评为最高,这些trustrank最高的网站所连接的网站信任指数稍微降低,但也会很高。与此类似,第二层别信任的网站链接出去的第三层网站,信任度继续下降。由于种种原因,好的网站也不可避免的会接到一些垃圾网站,不过离第一层网站点击距离越近,所传递的信任指数就越高,第一级网站点击距离越远,信任指数将依次下降。这样trustrank算法,就能给所有网站计算出相应的信任指数,离第一层网站越远,成为垃圾网真的可能性就越大。
PageRank,即网页排名,是Google用来标识网页的等级或重要性的一种算法。
最早的搜索引擎采用的是 分类目录 的方法,即通过人工对网页进行分类并整理出高质量的网站。
随着网页数目的急剧增大,这种方法显然无法实施。于是,搜索引擎进入了 文本检索 的时代,即通过计算用户的查询语句与网页内容的相关程度来返回搜索结果。比如通过向量空间模型将输入的检索词和文件转换成向量,通过计算两个向量的夹角偏差程度(一般采用余弦距离)来衡量相关性。这种方法虽然能处理大量网页,但是效果却并不是很好,比如存在一些作弊行为:某些网页重复倒腾某些关键词从而使自己的搜索排名靠前。
于是,谷歌的两位创始人,当时还是美国斯坦福大学研究生的佩奇 (Larry Page) 和布林 (Sergey Brin) 开始了对网页排序问题的研究。他们受学术界对学术论文重要性的评估方法(论文引用次数)的启发,提出了PageRank算法。
PageRank的核心思想其实十分简单,概括如下:
如果一个网页被很多其它网页链接到,说明这个网页很重要,它的PageRank值也会相应较高;
如果一个PageRank值很高的网页链接到另外某个网页,那么那个网页的PageRank值也会相应地提高。
HillTop,是一项搜索引擎结果排序的专利,是Google的一个工程师Bharat在2001年获得的专利。Google的排序规则经常在变化,但变化最大的一次也就是基于HillTop算法进行了优化。
5. 有谁知道搜索引擎的原理及内部的算法
在浩如烟海的Internet上,特别是其上的Web(World Wide Web万维网)上,不会搜索,就不会上网。网虫朋友们,你了解搜索引擎吗?它们是怎么工作的?你都使用哪些搜索引擎?今天我就和大家聊聊搜索引擎的话题。
一、搜索引擎的分类
获得网站网页资料,能够建立数据库并提供查询的系统,我们都可以把它叫做搜索引擎。按照工作原理的不同,可以把它们分为两个基本类别:全文搜索引擎(FullText Search Engine)和分类目录Directory)。
全文搜索引擎的数据库是依靠一个叫“网络机器人(Spider)”或叫“网络蜘蛛(crawlers)”的软件,通过网络上的各种链接自动获取大量网页信息内容,并按以定的规则分析整理形成的。Google、网络都是比较典型的全文搜索引擎系统。
分类目录则是通过人工的方式收集整理网站资料形成数据库的,比如雅虎中国以及国内的搜狐、新浪、网易分类目录。另外,在网上的一些导航站点,也可以归属为原始的分类目录,比如“网址之家”。
全文搜索引擎和分类目录在使用上各有长短。全文搜索引擎因为依靠软件进行,所以数据库的容量非常庞大,但是,它的查询结果往往不够准确;分类目录依靠人工收集和整理网站,能够提供更为准确的查询结果,但收集的内容却非常有限。为了取长补短,现在的很多搜索引擎,都同时提供这两类查询,一般对全文搜索引擎的查询称为搜索“所有网站”或“全部网站”,比如Google的全文搜索(http://www.google.com/intl/zh-CN/);把对分类目录的查询称为搜索“分类目录”或搜索“分类网站”,比如新浪搜索和雅虎中国搜索(http://cn.search.yahoo.com/dirsrch/)。
在网上,对这两类搜索引擎进行整合,还产生了其它的搜索服务,在这里,我们权且也把它们称作搜索引擎,主要有这两类:
⒈元搜索引擎(META Search Engine)。这类搜索引擎一般都没有自己网络机器人及数据库,它们的搜索结果是通过调用、控制和优化其它多个独立搜索引擎的搜索结果并以统一的格式在同一界面集中显示。元搜索引擎虽没有“网络机器人”或“网络蜘蛛”,也无独立的索引数据库,但在检索请求提交、检索接口代理和检索结果显示等方面,均有自己研发的特色元搜索技术。比如“metaFisher元搜索引擎”
(http://www.hsfz.net/fish/),它就调用和整合了Google、Yahoo、AlltheWeb、网络和OpenFind等多家搜索引擎的数据。
⒉集成搜索引擎(All-in-One Search Page)。集成搜索引擎是通过网络技术,在一个网页上链接很多个独立搜索引擎,查询时,点选或指定搜索引擎,一次输入,多个搜索引擎同时查询,搜索结果由各搜索引擎分别以不同页面显示,比如“网际瑞士军刀”(http://free.okey.net/%7Efree/search1.htm)。
二、搜索引擎的工作原理
全文搜索引擎的“网络机器人”或“网络蜘蛛”是一种网络上的软件,它遍历Web空间,能够扫描一定IP地址范围内的网站,并沿着网络上的链接从一个网页到另一个网页,从一个网站到另一个网站采集网页资料。它为保证采集的资料最新,还会回访已抓取过的网页。网络机器人或网络蜘蛛采集的网页,还要有其它程序进行分析,根据一定的相关度算法进行大量的计算建立网页索引,才能添加到索引数据库中。我们平时看到的全文搜索引擎,实际上只是一个搜索引擎系统的检索界面,当你输入关键词进行查询时,搜索引擎会从庞大的数据库中找到符合该关键词的所有相关网页的索引,并按一定的排名规则呈现给我们。不同的搜索引擎,网页索引数据库不同,排名规则也不尽相同,所以,当我们以同一关键词用不同的搜索引擎查询时,搜索结果也就不尽相同。
和全文搜索引擎一样,分类目录的整个工作过程也同样分为收集信息、分析信息和查询信息三部分,只不过分类目录的收集、分析信息两部分主要依靠人工完成。分类目录一般都有专门的编辑人员,负责收集网站的信息。随着收录站点的增多,现在一般都是由站点管理者递交自己的网站信息给分类目录,然后由分类目录的编辑人员审核递交的网站,以决定是否收录该站点。如果该站点审核通过,分类目录的编辑人员还需要分析该站点的内容,并将该站点放在相应的类别和目录中。所有这些收录的站点同样被存放在一个“索引数据库”中。用户在查询信息时,可以选择按照关键词搜索,也可按分类目录逐层查找。如以关键词搜索,返回的结果跟全文搜索引擎一样,也是根据信息关联程度排列网站。需要注意的是,分类目录的关键词查询只能在网站的名称、网址、简介等内容中进行,它的查询结果也只是被收录网站首页的URL地址,而不是具体的页面。分类目录就像一个电话号码薄一样,按照各个网站的性质,把其网址分门别类排在一起,大类下面套着小类,一直到各个网站的详细地址,一般还会提供各个网站的内容简介,用户不使用关键词也可进行查询,只要找到相关目录,就完全可以找到相关的网站(注意:是相关的网站,而不是这个网站上某个网页的内容,某一目录中网站的排名一般是按照标题字母的先后顺序或者收录的时间顺序决定的)。
搜索引擎并不真正搜索互联网,它搜索的实际上是预先整理好的网页索引数据库。
真正意义上的搜索引擎,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。
现在的搜索引擎已普遍使用超链分析技术,除了分析索引网页本身的内容,还分析索引所有指向该网页的链接的URL、AnchorText、甚至链接周围的文字。所以,有时候,即使某个网页A中并没有某个词比如“恶魔撒旦”,但如果有别的网页B用链接“恶魔撒旦”指向这个网页A,那么用户搜索“恶魔撒旦”时也能找到网页A。而且,如果有越多网页(C、D、E、F……)用名为“恶魔撒旦”的链接指向这个网页A,或者给出这个链接的源网页(B、C、D、E、F……)越优秀,那么网页A在用户搜索“恶魔撒旦”时也会被认为更相关,排序也会越靠前。
搜索引擎的原理,可以看做三步:从互联网上抓取网页→建立索引数据库→在索引数据库中搜索排序。
从互联网上抓取网页
利用能够从互联网上自动收集网页的Spider系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。
建立索引数据库
由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。
在索引数据库中搜索排序
当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。
最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
搜索引擎的Spider一般要定期重新访问所有网页(各搜索引擎的周期不同,可能是几天、几周或几月,也可能对不同重要性的网页有不同的更新频率),更新网页索引数据库,以反映出网页内容的更新情况,增加新的网页信息,去除死链接,并根据网页内容和链接关系的变化重新排序。这样,网页的具体内容和变化情况就会反映到用户查询的结果中。
互联网虽然只有一个,但各搜索引擎的能力和偏好不同,所以抓取的网页各不相同,排序算法也各不相同。大型搜索引擎的数据库储存了互联网上几亿至几十亿的网页索引,数据量达到几千G甚至几万G。但即使最大的搜索引擎建立超过二十亿网页的索引数据库,也只能占到互联网上普通网页的不到30%,不同搜索引擎之间的网页数据重叠率一般在70%以下。我们使用不同搜索引擎的重要原因,就是因为它们能分别搜索到不同的内容。而互联网上有更大量的内容,是搜索引擎无法抓取索引的,也是我们无法用搜索引擎搜索到的。
你心里应该有这个概念:搜索引擎只能搜到它网页索引数据库里储存的内容。你也应该有这个概念:如果搜索引擎的网页索引数据库里应该有而你没有搜出来,那是你的能力问题,学习搜索技巧可以大幅度提高你的搜索能力。
6. 关于java新闻网站的算法
(一)算法伦理的研究
1.算法内涵界定。算法源于数学,但现代算法又远远不止于传统数学的计算范畴。算法多被理解为是计算机用于解决问题的程序或步骤,是现代人工智能系统的运行支柱。《计算主义:一种新的世界观》(李建会等,2012)中将算法定义为能行的方法,在外界的常识性理解中所谓算法就是能感受到的一套运算规则,这个规则的特点在于运算时间的有限性、计算步骤的有穷性、输入结果的确切性,它是机械步骤或能行可算计程序。该定义点明了算法应具备的两个基本属性—或侍李—有限性与有穷性。《用计算的观点看世界》(郦全民,2016)则从信息传播的角度解读算法,认为算法实质上是信息处理方法。
2.算法伦理研究
伦理关乎道德价值真理及其判断。存在于自然界、社会中的人,其行为应遵循一定的伦理道德规范。伦理的效应要导向善。伦理道德关注对个体存在的尊重、个体的自由、公平正义以及组织团体的延续与发展等问题。在一定程度上可以说,当今的人类社会已经不能脱离智能算法系统而运行了。
算法无时无处不在对世界产生影响,因而算法也会必然的触碰到伦理道德。和鸿鹏(2017)已指出,算法系统在人类社会生活中的广泛应用,会陷入诸多如人类面临且无法回避的伦理两难选择困境之中。而当算法与伦理发生关联时,学界一般认为会引出职业伦理和技术伦理两种伦理问题。
职业伦理主要与算法系统的开发者有关,指开发者是带有个性价值观、伦理道德观去研发算法系统的行为体,因而算法系统一开始便会掺杂着设计人主观性的伦理道德观。设计者出于何种目的开发某算法系统、面对不同问题设计者持有的伦理道德态度,这些衫迟都会在算法系统的运行中得到体现。
技术伦理是算法系统在一定意义上可称之为一种科学技术,这种技术自身及其运作结果都会负载着伦理价值。其实在一些情况下,职业伦理与技术伦理之间并没有很明确的界别,关于这一点,刘则渊跟王国豫已做过论述。
本文将主要从技术伦理的角度对算法关涉伦理这一问题尝试做深入研究。
(二)网络新闻传播的算法伦理研究
算法与技术的融合不断英语于网络新闻传播领域中,从数据新闻到机器写作,从算法推送到舆情到分析,国内新闻传媒领域的机器新闻和相关研究逐渐发展,金兼斌在《机器新闻写作:一场正在发生的革命》(2014),作者较早的将眼光聚焦于基于算法的新闻内容生产和编辑。认为在自动化新闻生产大发展的前提下,诸如新闻生产或分发中劳动密集型的基础性工作与环节都将被技术取代。张超、钟新在《从比特到人工智能:数字新闻生产的算法转向》(2017)认为算法正在从比特形式走向人工智能阶段,这种转向使得数字新闻与传统新闻的边界进一步明晰,促使数字新闻生产也产生了变革。胡万鹏在《智能算法推荐的伦理风险及防范策略》中总结了从算法推送方面:针对新闻的价值观所受到的负面影响;以及新闻的公共性、客观性和真实性受到的削弱进行分析;从受众方面:将具体对信息茧房现象以及受众的知情权和被遗忘权展开探讨;从社会影响方面,则针对社会群体、社会公共领域和社会文化所受到的消极影响展开论述。
根据以上文献的梳理可以看出,国内目前对网络新闻传播的算法伦理研究主要集中在新闻业态算法伦理失范的相关问题,因为与其他失范问题相比,这是比较容易发现的。但目前关于网络新闻传播的算法伦理的国内研究还存在不足:国内算谈棚法伦理和网络新闻传播算法伦理的研究还是在起步阶段,比较成熟的系统性研究还未出现;关于算法开发人员和平台的责任机制的研究都比较薄弱,总上所述,算法推送新闻的伦理问题研究是有必要继续加强的。
2.新闻推荐算法的兴起、发展与原理
2.1新闻推荐算法的兴起
随着计算机技术的信息处理的维度越来越高,信息处理的能力不断提升,算法技术可以从大数据中筛选出用户最关心最感兴趣的信息,改变了原有的新闻信息传播方式,重塑了新的媒介生态和传播格局。
但反过来看,在人人都能生产信息的背景下,信息的生产、传播和反馈的速度都是呈几何倍数增长,用户面对的信息越来越多。由于设备的局限性和信息海量,用户无法集中注意力看自己感兴趣的内容,也无法及时抓取对自己有用的信息,于是出现了“注意力经济”。美国经济学家迈克尔·戈德海伯(1997)认为,当今社会是一个信息极大丰富甚至泛滥的社会,而互联网的出现,加快了这一进程,信息非但不是稀缺资源,相反是过剩的。相对于过剩的信息,只有一种资源是稀缺的,那就是人们的注意力。换句话说,信息不能够一味追求量,还要有价值,价值就在于用户对信息的注意力,谁获得了用户的注意力就可以有市场的发展空间,通过“贩卖”用户的注意力能够使新媒体聚合平台获得利润,维持发展。再加上现在生活节奏越来越快,人们对信息获取的量和效率要求提高,不想把时间浪费在自己不感兴趣的信息,从而用户获取信息的“个性化”特征变得明显起来。
基于此背景下,算法推送新闻的传播机制应运而生,用户不需要特意搜索自己需要的信息,而是海量的信息会自行“找到”用户,为用户节省搜索时间之余,又能做到真正为用户提供有用的信息。
2.2新闻推荐算法的发展现状
算法推荐是依据用户数据为用户推荐特定领域的信息,根据受众使用反馈不断修正并完善推荐方案。目前主要有两类新闻机构使用算法推送,其一是新型的互联网新闻聚合类平台,国内主要是以今日头条和一点资讯等算法类平台为代表,在我国新闻客户端市场上拥有极高的占有率。张一鸣创建今日头条是依靠大数据和算法为用户推荐信息,提供连接人与信息的服务,算法会以关键词等元素判断用户的兴趣爱好,从全网抓取内容实现个性化推荐。国外则是以Facebook、Instagram等平台为代表,这些APP都是通过算法挖掘用户的数据,以用户个性化需求为导向对用户进行新闻推送。另一种则是专业新闻生产的传统媒体,为积极应对新闻市场的竞争和提高技术水平而转型到新闻全媒体平台,如国内的“人民日报”等,国外利用算法推送向用户推送新闻的传统媒体则有美国的美联社、华盛顿邮报和英国的BBC等,他们利用算法监督受众的数量还有阅读行为,使他们的新闻报道能够更加受受众的喜欢,增加用户的粘性。
2.2新闻推荐算法的原理
2.2.1新闻推荐算法的基本要素
算法推送有三个基本要素,分别是用户、内容和算法。用户是算法推送系统的服务对象,对用户的理解和认知越是透彻,内容分法的准确性和有效性就越准确。内容是算法推送系统的基本生产资料,对多种形式内通的分析、组织、储存和分发都需要科学的手段与方法。算法是算法推送技术上的支持,也是最核心的。系统中大量用户与海量的信息是无法自行匹配的,需要推送算法把用户和内容连接起来,在用户和内容之间发挥桥梁作用,高效把合适的内容推荐给合适的用户。
2.2.2新闻推荐算法的基本原理
算法推送的出现需要具备两个条件:足够的信息源和精确的算法框架。其中,算法的内容生产源与信息分发最终效果密切相关:是否有足够多的信息可供抓取与信息是否有足够的品质令用户满意都将对信息的传播效果产生影响。与此同时,分发环节也在向前追溯,改变着整个传播的生态。目前,国内新闻传播领域所使用的算法推送主要有三大类——协同过滤推送、基于内容推送和关联规则推送。
协同过滤推送分为基于用户的协同过滤和基于模型的协同过滤。前者主要考虑的是用户和用户之间的相似度,只要找出相似用户喜欢的新闻文章类别,并预测目标用户对该文章的喜欢程度,就可以将其他文章推荐给用户;后者和前者是类似的,区别在此时转向找到文章和文章之间的相似度,只有找到了目标用户对某类文章的喜爱程度,那么我们就可以对相似度高的类似文章进行预测,将喜爱程度相当的相似文章推荐给用户。因此,前者利用用户历史数据在整个用户数据库中寻找相似的推送文章进行推荐,后者通过用户历史数据构造预测模型,再通过模型进行预测并推送。
基于内容的推送即根据用户历史进行文本信息特征抽取、过滤,生成模型,向用户推荐与历史项目内容相似的信息。它的优点之一就是解决了协同过滤中数据稀少时无法准确判断分发的问题。但如果长期只根据用户历史数据推荐信息,会造成过度个性化,容易形成“信息茧房”。
关联规则推送就是基于用户历史数据挖掘用户数据背后的关联,以分析用户的潜在需求,向用户推荐其可能感兴趣的信息。基于该算法的信息推荐流程主要分为两个步骤,第一步是根据当前用户阅读过的感兴趣的内容,通过规则推导出用户还没有阅读过的可能感兴趣的内容;第二是根据规则的重要程度,对内容排序并展现给用户。关联规则推送的效果依赖规则的数量和质量,但随着规则数量的增多,对系统的要求也会提高。
2.2.3算法推送的实现流程
在信息过载的时代,同一个新闻选题有很多同质化的报道,因此分发前需要对新闻内容进行消重,消重后的新闻内容便等待推送,此时的推送有三个类别:启动推送、扩大推送和限制推送。
3.“今日头条”新闻推荐算法分析
“今日头条”是国内一款资讯类的媒体聚合平台,每天有超过1.2亿人使用。从“你关心的,才是头条!”到如今的“信息创造价值!”,产品slogan的变化也意味着今日头条正逐渐摆脱以往单一、粗暴的流量思维,而开始注重人与信息的连接,在促进信息高效、精准传播的同时注重正确的价值引导。
在2018年初,“今日头条”的资深算法架构师曹欢欢博士在一场分享交流会上公开了其算法运行原理。在他的叙述中,非常详细地介绍了“今日头条”的算法推荐系统概述以及算法推荐系统的操作原理。
3.1.1-1曹欢欢博士的今日头条算法建模
上图用数学形式化的方法去描述“今日头条”的算法推送,实际上就是一个能够得出用户对内容满意程度的函数:即y为用户对内容的满意度,Xi,Xc,Xu分别是今日头条公开的算法推送的三个维度:Xi是用户,包括用户的性别、年龄、职业和兴趣标签,还有其他算法模型刻画的隐形用户偏好等;Xc是环境,这也是移动互联网时代新闻推送的特点,由于用户随时随地在不停移动,移动终端也在移动,用户在不同的工作场合、旅行等场景信息推送偏好也会不同;Xu是内容,今日头条本身就是信息聚合类平台,平台上涵盖各种不同形式的内容。本章将以该函数为基础,逐一分析今日头条的推荐算法。
3.1推荐维度之一:内容分析
内容分析原指第二次世界大战期间,传播学家拉斯韦尔等研究学家组织了“战士通讯研究”的工作,以德国公开出版的战时报纸为分析研究对象,弄清报纸内容本质性的事实和趋势,揭示隐含的隐性情报内容,获取了许多军情机密情报并且对事态发展作出情报预测。在“今日头条”中,内容分析则是对文章、视频内容提取关键要素,通过对文本、视频标题关键字进行语义识别,给内容进行分类。“今日头条”的推送系统是典型的层次化文本分类算法,来帮助每篇新闻找到合适的分类,比如:第一大分类是政治、科技、财经、娱乐、体育等,体育类可以下分篮球、足球、网球等,足球又可以下分中国足球和国际足球,中国足球最后下分为甲、中超、国家队等。这一步是对文章进行对这个工作主要目的是对文章进行分类,方便以后对客户推荐。
想要内容分析实现效果,则需要海量的内容信息给算法系统提供有效的筛选和分类。“今日头条”既然是依赖于算法推送新闻,那它背后的数据库必然是强大的,“网页蜘蛛”和“头条号”就是支撑今日头条平台消息来源的重要渠道,其消息来源极其丰富,何时何地有何新鲜事,都能高效率抓取信息。
第一个消息来源的渠道是“网页蜘蛛”,“网页蜘蛛”又叫网页爬虫,头条使用的就是搜索引擎爬虫叫“Bytespider”。它能按照一定的规则,自动爬行抓取互联网的信息或脚本,就像蜘蛛通过蛛网进行捕食,当发现新的信息资源,蜘蛛会立刻出动抓取信息内容并将其收入自己的数据库中。和微信的垂直搜索不同,Bytespider是能够抓取全网内容的全新搜索引擎,因此“今日头条”的搜索引擎功能很全面,搜索的资源很广,资源包容性极高。
Bytespider信息抓取的基本流程如下:首先是网页抓取。Bytespider顺着网页中的超链接,从这个网站爬到另一个网站,通过超链接分析连续访问抓取更多网页。被抓取的网页被称之为网页快照。由于互联网中超链接的应用很普遍,理论上,从一定范围的网页出发,就能搜集到绝大多数的网页。第二步是处理网页。搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中,最重要的就是提取关键词,建立索引库和索引。其他还包括消除重复网页、判断网页类型、分析超链接、计算网页的重要度、丰富度等。第三步提供检索服务。用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页,为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。
3.2推荐维度之二:用户分析
用户分析通过提取用户的有效数据,如用户经常浏览的文字类型、经常搜索的关键字、注册时登记信息的内容等,算法系统可以将每个用户的浏览记录、浏览时间、留言、评论和转发等行为进行关键字提取,最终形成用户画像,以便之后对用户进行文章和视频的精准推送。举个例子,给喜欢阅读“体育”的用户标上“体育”标签;给喜欢“娱乐”的用户标上“娱乐”的标签,这一步的作用是给用户的兴趣进行建模,包括用户对文章和视频的全局热度、分类热度,主题热度,以及关键词热度等。热度信息在大的推荐系统能够解决新闻冷启动问题,帮助新闻实现推送。
用户分析还具有协同特征,它可以在部分程度上帮助解决所谓算法越推越窄的问题。协同特征也就是“联想式”的推送方法,并非只考虑用户已有历史,而是通过用户行为分析不同用户间相似性,比如点击相似、兴趣分类相似、主题相似、兴趣词相似,甚至向量相似,从而扩展模型的探索能力。根据用户之间计算数据的相似程度,把用户细化分类成为不同的目标群体,再向目标群体集中的推送其感兴趣的新闻内容
内容分析和用户分析是相辅相成的,如果没有分析的文本标签,无法得到用户兴趣标签,没有用户的兴趣标签就无法给用户定位实现精准推送。
3.3推荐维度之三:环境分析
环境分析就是根据文章的时效性和接近性推送给相应的用户,比如获取用户当前所在位置是否在旅游区,这个可以通过获取用户的实时位置来实现。还会不断与用户之前经常出现的所在地进行对比等方式确认当前状态,分析出用户是在常住地区还是在旅行。这时若系统检测到用户正在泰山及周边游玩,则可能会相应推送泰山的相关文章、周边的交通新闻和天气信息等等。
通过上面三个推荐维度可以作为数据基础,分析当前用户处于什么环境,结合用户画像以及文章的内容分类来推荐,尽量做到推送的内容都是用户所感兴趣的。算法系统还会通过内容分类、分析抽取,把文本相似度高的文章,包括新闻主题、内容相似的文章进行消重,解决推送重复的问题,进一步对目标用户进行精确且不重复的内容推荐。最后过滤质量低俗色情的内容,以免造成平台会有负面倾向。
3.4“今日头条”新闻推荐算法的价值取向
3.4.1“用户为上”
“今日头条”的算法推送是站在用户的立场上的,以满足用户个性化和推送的精准性,“今日头条”也重新衡量了新闻价值标准:以用户为上,用户对新闻内容和阅读方式的满意度便是平台推送新闻的价值宗旨。传统媒体时代,只有报纸和电视,有什么受众就得看什么,而如今“今日头条”根据用户兴趣去进行推送。算法推送平台用户范围广,很多用户热衷关注负面,也有许多用户都有窥视欲和好奇心,喜欢无聊八卦和无聊新闻,而且在好奇心作用下用户都有从众心理。这使得生产者过度去迎合受众,只要是用户喜欢看就可以发表在“今日头条”上。
3.4.2“算法主导”
“今日头条”更注重技术分发,生产者是用户,受众者也是用户,这样一来内容监管和分发就很困难。算法推送机制根据用户爱好进行推送,这样生产的内容快、也无疑会加速内容配送效率。在算法推送模型中,用户点击频率、阅读时间、点赞评论以及转发在算法时代都是可以进行量化的目标。在这样情况下生产的内容,想要获得较大点击率和推送率,需要标题才能吸引用户,因为用户在平台一眼能看到的就是标题和配图。标题和配图决定用户是否会打开你的内容,这导致许多内容生产者在编辑新闻标题时陷入标题党的怪圈,还有导致低俗内容的呈现,以制造冲突制造悬念贴标签等方式引用户点击,意图把自己的文章做成爆文。对于海量的信息内容,即使今日头条数据和智能推荐做的再好,目前来说也难以抵挡海量的垃圾信息。
4.算法推送新闻引发的伦理问题
在如今网络时代的传播思维中,“用户为上”、“算法主导”的新闻价值取向已经在算法聚合类平台成为了普遍,算法推送技术作为吸引用户的手段,搭建起一个充满诱导的媒介环境,以此增加用户对平台的粘性。算法推送技术在获取信息、传播速度等方面与以往相比有着跨时代的进步,但与此同时,由于算法推送技术的加入,衍生出新的伦理问题,并且日渐复杂化。
4.1算法推送引发的伦理问题
4.1.1算法推送过于机械化,没有思考能力
单向的算法推荐对用户来说经常会带来内容杂乱无章、信息量过大、信息价值低等问题。从逻辑讲,算法只是从关键字的检索匹配来完成统计推荐,但对新闻报道或文学作品具有艺术性、专业性的内容来说,是不能保证推送的质量的。算法方面,目前主要基于匹配检索与统计,大部分都是个人关注的信息类型和标签,难以达到较好的推送效果。一千个人眼里有一千个哈姆雷特,但是计算机只有只有一个。算法技术过于注重机械化的统计,只根据关键词来推荐用户,对我们中国具有博大精深的中国文字文化底蕴,推荐算法是远远不够的。整个新闻客户端显得像是一个菜市场,没有态度、没有风格,阅读感受单一化,呈现了碎片化的特点。新闻不只是让用户能够了解身边发生的新鲜事,还有宣传正面思想和传播正能量的作用,新闻应该还要给人们带来新的思考。让机器做出正确判断很简单,但是让机器综合心理学、社会学、乃至某细分领域内的规则做出判断还要正确地引导受众则很难,正如现在算法技术还不能完成一篇富有人文性、文学性和批判性的深度报道,它止步在了碎片式的、表层的传播范畴。
4.1.2容易引起“信息茧房”效应
“信息茧房”这一概念是凯斯.桑斯坦在《信息乌托邦》一书中提出的。意指受众在过度的信息自我选择之中,这样会降低接触外界其他信息的可能,从而将自己的生活桎梏于蚕茧一般的“蚕房”中的现象。人们的信息领域会习惯性被自己的兴趣引导,信息窄化带来了受众对信息接收的单一性,这种单一性的可能会使受众陷入循环,加重受众信息同质化。
4.1.3算法推送的“伪中立性”
客观和全面是新闻伦理的基本要求,新闻从业者必须从可好信息源来获取真实的信息,以客观的态度反应现实。我们惯常认为,互联网技术服务商是技术中立者,不需要承担约束大众媒体的社会责任,然而当信息把关人又新闻编辑转变为算法工程师,传统的媒介伦理似乎已经失效。算法具有商业倾向性,“中立性”是算法平台用以逃避媒体责任的理由,给大众媒介造成传播乱象,如此一来更像是一场算法平台“肆意妄为又不想负责”的诡辩。
算法平台的信息源是经过选择和过滤的,“头条号”的内容占“今日头条”整个信息系统的绝大部分,然而在“人人都可以做新闻人”的时代,头条号平台是一个开放的网络媒介环境,存在大量的偏见和错误的认知。无论是“今日头条”平台设立的算法规则,还是其他爬虫的抓取的关键词,算法系统的信息源很多是具有目的性的、有偏见和非客观的信息,所以信息源不能直接作用于用户。因此,筛选算法系统的信息源与传统的人工编辑相比较,范围极广且很难把关,若算法被恶意利用,那么使整个传播系统将会被轻易控制。
4.1.4算法推送里的“议程设置”
原议程设置功能揭示的重要内涵是:“受众对新闻的看法虽然被大众媒体议程设置功能所主导,但其更深刻的是议程设置给大众媒体新闻带来放大与延伸,从而使受众对新闻选择做出能动性修正,让受众在满足需求和媒介依赖中逐渐培养出的潜在认同感”。
推送算法技术在互联网平台的运用,使原来传统媒体主导的议程设置过程发生了变化,伴随着传播权的转移、公众参与度的提高和信息量剧增等原因导致议程设置功逐渐能减弱。过往传统新闻的内容是由编辑有选择地进行报道后再呈现在受众面前的,而个性化新闻推送是用户自己来选择看哪一方面的内容,而这一环节中,天然的技术赋权将传播权从传统媒体下放至平台的用户,使得受众和社会的连接无需依赖传统媒介,新闻媒体作为把关人的作用和议程设置功能都在减弱。
4.2算法新闻治理缺陷下的算法权利异化
算法作为人工智能的基石之一,是“一种有限、确定、有效并适合用计算机程序来实现的解决问题的方法,是计算机科学的基础”。近年来,伴随人工智能深度学习算法取得的重大突破和大数据时代的到来,人工智能的应用场景不断拓展,人工智能时代正逐渐从想象成为现实。借助于海量的大数据和具备强大计算能力的硬件设备,拥有深度学习算法的人工智能机器可以通过自主学习和强化训练来不断提升自身的能力,解决很多人类难以有效应对的治理难题。伴随人工能算法在国家和社会治理中重要性的日渐凸显,国家和社会对于算法的依赖也逐渐加深,一种新型的权力形态——算法权力也随之出现。
可以把算法权利分为四种:数据主权、算法设计权、研发的资本权和算法控制权。由于前三种权利都是单向的、算法开发者赋予算法的权利,是属于算法开发者的,与算法分发平台呈现的效果没有直接的影响,所以本文将着重论述算法控制权。
算法控制权是双向的,用户是算法技术数据行为的提供者,同时又是被算法技术控制的受害者。例如我们看到“今日头条”会通过推送算法来监管用户的发布和浏览行为,同时平台会通过算法决策系统来实现内容的发布去引导用户。算法控制权当然是一种天然技术赋予的权利,但算法控制权是在用户提供数据行为的情况下才得以实现的,因此算法控制权既存在内容生产权,同时有要尊重和保护算法相对人的义务。
正因为如此,算法技术被认为是一种双刃剑,一方面算法能够做出精准的行为预测,可以为管理者提供非常好的循环干预机制;对于公共行为主体来说,可以通过对大数据的应用来解决社会治理问题,对于私人主体来说可以借助数据来提供个性化和定制化的服务;另一方面,算法技术存在着诸如利益和风险不对称等问题,而且由于算法技术发展的超前性,新科技的创造者具备不对称的信息和技术优势,能够按照自身利益的需求来塑造在平台上的算法推送逻辑和社会系统,这带来了监管的不确定性。人们要通过集体行为去承担社会责任,通过这样的方式规制算法权利,可以让我们能够对算法分发系统的意义和价值得到更深刻的思考。