• 1.00 MB
  • 2022-04-22 13:40:06 发布

社会环境下网页重要性的研究毕业论文.doc

  • 49页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'社会环境下网页重要性的研究社会环境下网页重要性的研究毕业论文目录1.Google搜索引擎简介51.1Google的软件文化理念51.2搜索引擎的分类51.3Google搜索引擎工作原理[3]62.传统GooglePageRank算法分析92.1传统GooglePageRank算法概述[4]92.2传统PageRank算法回顾102.2.1传统PageRank算法代数表达形式102.2.2传统PageRank算法向量表达形式122.3传统GooglePageRank的缺陷和改进方法133.GooglePageRank算法改进153.1由访问者知识水平及其投票的情况决定网页排名的PageRank算法153.1.1算法中PR值的含义153.1.2从投票角度分析算法的本质153.1.3算法改进的详细设计思路163.2计算每个访问者的PageRank值173.2.1计算访问者PR值的数学表达式173.2.2访问者PR值的循环收敛计算方法193.2.3访问者PR值算法的简单模型213.2.4VisualBasic编程验证算法收敛233.2.5matlab编程验证算法收敛293.3网页PR值的计算方法373.3.1计算网页PR值的理论基础373.3.2建立数学模型383.3.3VisualBasic编程验证算法的正确性393.3.4matlab编程验证算法的正确性424.改进算法的事实可行性445.将改进算法与GooglePageRank传统算法结合的最完美排序方法466.小结48附录49参考文献51致谢5249 社会环境下网页重要性的研究1.Google搜索引擎简介1.1Google的软件文化理念根据《中国互联网络发展状况统计报告(2005/1)》用户在互联网上获取信息最常用的方法是通过搜索引擎:占70.7%。远远高于位于第二位的直接访问已知的网站:占24.6%。搜索引擎的后起之秀Google每天处理的搜索请求已达2亿次。现在全球有75%的网上信息搜索是靠Google的技术完成,大大促进了人类的信息搜索的效率。而作为品牌价值,仅Google这个名字的无形资产,竟出人意料地在如此短的时间,一下子超过了苹果、IMB、可口可乐,真正实现了跳跃性的发展。Google主页面不以花哨取胜,而以功能表现为本。它的先进的软件理念正是建立在软件功能模块上,研究其功能特点,我们发现Google技术上的先进,来自于文化理念上的先进,并敢于打破传统独树一帜[1]。首先,Google用先进的PageRank技术理念,以平等、实用、公正为组织原则,优化整合全球Web网页资源。在搜索方法上,Google更是化繁为简,为大多数网民利益考虑,做到软件使用大众化。其次,在对待语言工具的问题上,不搞大国沙文主义,真正摈弃了语言上的贵贱之分,将多种语言平等地整合在同一界面,实现了以人为本的软件理念。同时注重创新,注意吸纳新网站,以组成世界信息大家庭,并且充分尊重新网站的特殊要求和选择权利,再进行搜索引擎数据库的录入处理。再次,Google的中文搜索引擎的完美设计,体现了设计者的国际市场合作精神,Google搜索引擎对中文的支持力度,使它成为目前是收集亚洲网站最多的搜索引擎,同时能够取他人之长,与他人联手,以团队合作精神推出新技术新功能。1.2搜索引擎的分类搜索引擎是指因特网上专门提供查询服务的一类网站,它以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的作用。搜索引擎系统可以分为:目录式搜索引擎、机器人搜索引擎和元搜索引擎。目录式搜索引擎因为加入了人的智能,所以信息准确、导航质量高,缺点是需要人工介入、维护量大、信息量少、信息更新不及时。机器人搜索引擎:是指通过网络搜索软件(又称为网络蜘蛛[2],网络爬行机器人,网络搜索机器人)或网站登录等方式,以某种策略自动地在互联网中搜集和发现信息,经过加工处理后建库,从而能够对用户提出的各种查询作出响应,提供用户所需的信息。该类搜索引擎的优点是信息量大、更新及时、毋需人工干预,缺点是返回信息过多,有很多无关信息,49 社会环境下网页重要性的研究用户必须从结果中进行筛选。这类搜索引擎的代表是:AltaVista、NorthernLight、Excite、Infos2eek、Inktomi、FAST、Lycos、Google;国内代表为:“天网”、“百度”等。本文论述的Google搜索引擎就是机器人搜索引擎,通过网络蜘蛛(Crawler)搜集和发现网页排序所需要的信息。目录式搜索引擎和机器人搜索引擎,各有优缺点,应用都很广泛。机器人搜索引擎的自动化程度比目录式搜索引擎高。网络信息量太大了,用计算机代替人去查找,可以节省大量的人力。元搜索引擎:这类搜索引擎没有自己的数据,而是将用户的查询请求同时向多个搜索引擎递交,将返回的结果进行重复排除、重新排序等处理后,作为自己的结果返回给用户。服务方式为面向网页的全文检索。这类搜索引擎的优点是返回结果的信息量更大、更全,缺点是不能够充分使用搜索引擎的功能,用户需要做更多的筛选。这类搜索引擎的代表是WebCrawler、InfoMarket等.1.3Google搜索引擎工作原理[3]搜索引擎一般由网络爬行机器人crawler、知识库Repository、索引系统(包括索引器indexer,桶barrels,文件索引等)、排序器Sorter和搜索器Searcher5个部分组成。GooglePageRank一般一年更新四次(由crawler程序的效率及搜索引擎的规模决定),所以刚上线的新网站不可能获得PR值。你的网站很可能在相当长的时间里面看不到PR值的变化,特别是一些新的网站。PR值暂时没有,这不是什么不好的事情,耐心等待就好了。GooglePageRank每更新一次都是按照以下的步骤进行:(1)Google使用高速的分布式爬行器(Crawler)系统中的漫游遍历器(Googlebot)定时地遍历网页,将遍历到的网页送到存储服务器(StoreServer)中。(2)存储服务器使用zlib格式压缩软件将这些网页进行无损压缩处理后存入数据Repository中。Repository获得了每个网页的完全Html代码后,对其压缩后的网页及URL进行分析,记录下网页长度、URL、URL长度和网页内容,并赋予每个网页一个文档号(docID)。(3)索引器(Indexer)从Repository中读取数据,以后做以下四步工作:(4)(a)将读取的数据解压缩后进行分析,它将网页中每个有意义的词进行统计后,转化为关键词(wordID)的若干索引项(Hits),生成索引项列表,该列表包括关键词、关键词的位置、关键词的大小和大小写状态等。索引项列表被存入到数据桶(Barrels)中,并生成以文档号(docID)部分排序的顺排档索引。索引项根据其重要程度分为两种:当索引项中的关键词出现在URL、标题、锚文本(AnchorText)和标签中时,表示该索引项比较重要,称为特殊索引项(FancyHits);其余情况则称为普通索引项(PlainHits)。顺排档索引和Hit的存储结构如图1.1所示。49 社会环境下网页重要性的研究(b)索引器除了对网页中有意义的词进行分析外,还分析网页的所有超文本链接,将其AnchorText、URL指向等关键信息存入到Anchor文档库中。(c)索引器生成一个索引词表(Lexicon),它包括两个部分:关键词的列表和指针列表,用于倒排档文档相连接(如图1.1所示)。(d)索引器还将分析过的网页编排成一个与Repository相连接的文档索引(DocumentIndex),并记录下网页的URL和标题,以便可以准确查找出在Repository中存储的原网页内容。而且把没有分析的网页传给URLServer,以便在下一次工作流程中进行索引分析。(5)URL分析器(URLResolver)读取Anchor文档中的信息,然后做⑥中的工作。(6)(a)将其锚文本(AnchorText)所指向的URL转换成网页的docID;(b)将该docID与原网页的docID形成“链接对”,存入Link数据库中;(c)将AnchorText指向的网页的docID与顺排档特殊索引项AnchorHits相连接。(7)数据库Link记录了网页的链接关系,用来计算网页的PageRank值。(8)文档索引(DocumentIndex)把没有进行索引分析的网页传递给URLServer,URLServer则向Crawler提供待遍历的URL,这样,这些未被索引的网页在下一次工作流程中将被索引分析。(9)排序器(Sorter)对数据桶(Barrels)的顺排档索引重新进行排序,生成以关键词(wordID)为索引的倒排档索引。倒排档索引结构如图所示:图1.1(10)将生成的倒排档索引与先前由索引器产生的索引词表(Lexicon)相连接产生一个新的索引词表供搜索器(Searcher)使用。搜索器的功能是由网页服务器实现的,根据新产生的索引词表结合上述的文档索引(DocumentIndex)和Link数据库计算的网页PageRank值来匹配检索。在执行检索时,Google通常遵循以下步骤(以下所指的是单个检索词的情况):(1)将检索词转化成相应的wordID;49 社会环境下网页重要性的研究(2)利用Lexicon,检索出包含该wordID的网页的docID;(3)根据与Lexicon相连的倒排档索引,分析各网页中的相关索引项的情况,计算各网页和检索词的匹配程度,必要时调用顺排档索引;(4)根据各网页的匹配程度,结合根据Link产生的相应网页的PageRank情况,对检索结果进行排序;(5)调用DocumentIndex中的docID及其相应的URL,将排序结果生成检索结果的最终列表,提供给检索用户。这些过程都是离线进行的。当用户在线提交一个查询时,先从反向索引库中查找含有查询关键词的网页,返回一系列相关的网页的docID,由docID在存储PageRank的库中找到它们对应的PageRank值,然后将所有结果进行排序输出给用户。可以看出,整个过程中在线进行的只是查询,所有的计算都是离线进行的,因此搜索引擎能以较快的速度将结果返回给用户。另外,查询过程没有考虑用户提交的关键词和访问者的自身情况。基于链接的PageRank离线进行计算一次后,会在一段时间保持不变。据资料称,Google的PageRank计算周期大概是三个月。49 社会环境下网页重要性的研究2.传统GooglePageRank算法分析2.1传统GooglePageRank算法概述[4]我要做的工作是将PageRank的算法改进,所以先简述GooglePageRank的情况方便下面的改进修改和对照。超链分析技术主要是指利用网页间存在的各种超链指向,对网页之间的引用关系进行分析,依据网页链入数的多少计算该网页的重要度权值,一般认为,如果A网页有超链指向B网页,相当于A网页投了B网页一票,即A认可B网页的重要性。深入理解超链分析算法,可以根据链接结构把整个网页文档集看作一个有向的拓扑图,其中每个网页都构成图中的一个结点,网页之间的链接就构成了结点间的有向边,按照这个思想,可以根据每个结点的出度和入度来评价网页的作用。其中有代表性的算法主要是LarryPage等人设计的PageRank算法和Kleinberg创造的HITS算法。其中PageRank算法在实际使用中的效果要好于HITS算法,这主要是由于以下原因:a.PageRank算法可以一次性、脱机并且独立于查询地对网页进行预计算,以得到网页重要度的估计值,然后在具体的用户查询中,结合其他查询指标值再一齐对查询结果进行相关性排序,从而节省了系统查询时的运算开销;b.PageRank算法是利用整个网页集合进行计算的,不像HITS算法易受到局部连接陷阱的影响而产生“主题漂移”,所以现在这种技术广泛地应用在许多信息检索系统和网络搜索引擎中,Google搜索引擎的成功也表明了以超链分析为特征的网页相关度排序算法日益成熟。但是PageRank算法由于只考虑到网页间的超链关系并仅仅以此进行网页重要度的分析,所以不可避免地会产生很多问题,其中,比较明显的问题在于它在计算每个网页具体的重要度权值的时候,根本没有考虑到任何网页本身内容特征对权值的影响,如PageRank算法完全忽略了网页具有的不同主题,不同的主题应该具有不同的重要度权值,进一步说,在用户查询的时候,网页的重要程度值的大小与查询所表达的主题关系很大,其实,在HITS算法[5]中恰恰考虑了这种因素,所以它更易于表达与特定查询主题的相关度排序,有效地在PageRank算法中考虑查询主题对网页权重值的影响是一个有效改进此算法的重要方法,再如,PageRank算法也没有考虑网页的创建时间,并不对新旧网页进行有效的区分,相反,按照PageRank的既有算法甚至会产生旧网页比新网页具有较高重要度权值的可能性。这些都是GooglePageRank存在的缺点,也是本文对PageRank算法进行改进的原因。49 社会环境下网页重要性的研究2.2传统PageRank算法回顾PageRank技术:通过对由超过50,000万个变量和20亿个词汇组成的方程进行计算,PageRank能够对网页的重要性做出客观的评价。PageRank并不计算直接链接的数量,而是将从网页A指向网页B的链接解释为由网页A对网页B所投的一票。这样,PageRank会根据网页B所收到的投票数量来评估该页的重要性。虽然PageRank认为网页的链入超链数可以反应该网页的重要程度,但是现实中人们在设计网页的各种超链时往往并不严格,有很多网页的超链纯粹是为了诸如网页导航、商业推荐等目的而制作的,显然这类网页对于它所指向网页的重要度贡献程度并不高,但是,由于算法的复杂性,PageRank没有过多考虑网页超链内容对网页重要度的影响,只是使用了两个相对简单的方法:其一,如果一个网页的链出网页数太多,则它对每个链出网页重要度的认可能力相应降低;其二,如果一个网页由于本身链入网页数很低造成它的重要度降低,则它对它的链出网页重要度的影响也相应降低。综上而言,一个网页的重要性决定着同时也依赖于其他网页的重要性。PageRank绝对是个很科学的小创意。说他科学,你会在我以后的文章中看到Google是如何将数学(具体来说多数是统计学)理论淋漓尽致地发挥在搜索技术之中。说他“小”,因为这些理论对于搞数学的人来说实在太微不足道了,甚至稍微有些科学高数知识的人都能理解。他所用到的统计学就是循环迭代计算收敛值的方法![6]2.2.1传统PageRank算法代数表达形式按照上面思路,Page给出了PageRank的简单定义[7]:(2.1)此处的u表示一个网页,R(u)表示网页u的PageRank值,B(u)表示链接到网页u的网页集合,即网页u的链入网页集合,N(v)表示从网页v向外的链接数量,即网页v的链出网页数,C为规范化因子,用于保证所有网页的PageRank总和为常量(如为1)。这就是算法的形式化描述,也可以用矩阵来描述此算法,设A为一个方阵,行和列对应网页集的网页。如果网页i有指向网页j的一个链接,则Aij=1/Ni,否则Aij=0。设V是对应网页集的一个向量,有V=cAV,V为A的特征根为c的特征向量。实际上只需要求出最大特征根的特征向量,就是网页集对应的最终PageRank值,这可以用迭代方法计算。具体计算时,可以给每个网页一个初始的PageRank值,然后反复迭代运算,即:R(i+1)(v)=R(i)(u)/Nu(2.2)此处的v代表所有的网页集合,每一个第i+1次的PageRank值都是基于上次的PageRank值重新计算的。具体的迭代次数在实际运算中是有限的。LawrencePage和SergeyBrin在个别场合描述了PageRank最初的算法。这就是PR(A)=(1-d)+d(PR(T1)/C(T1)+...+PR(Tn)/C(Tn))式中:PR(A):网页A页的PageRank值;PR(Ti):链接到A页的网页Ti的PageRank值;49 社会环境下网页重要性的研究C(Ti):网页Ti的出站链接数量;d:阻尼系数,0ε) //PageRank收敛前的循环计算判断{ε=0.0000000000001i=1foreachn∈N49 社会环境下网页重要性的研究PRin(i)=(Kijn×Zijn×PRin(i-1)×Kijn)PRi=Ci=//设置归一化常数,规范因子的计算,以保证计算结果的正确性PRin(i)=CiPRin(i)//进行规范化得出的结果i=i+1}随着循环次数的增加,计算结果越来越收敛,越来越接近真实的PR值,只要循环次数足够多可以得到任何精度的网页PR值。3.2.3访问者PR值算法的简单模型据统计,Web已经拥有100亿左右的静态网页和550亿左右的动态网页,网民数量仅中国就有4.16亿,因此,PageRank要处理的矩阵是“世界上最大的矩阵”,为了便于讨论验证算法的正确性同时也是为了让读者更加容易理解算法的结构逻辑,下面建立简单的模型,验证程序是否可行。49 社会环境下网页重要性的研究图3.1PRin(i)=(Kijn×Zijn×PRin(i-1)×Kijn)(3.5)以上图示为了方便验证下面的结果是否正确,如图,圆圈表示访问者,方框表示网页,直线表示访问相应的网页。3×0.7表示访问次数3次最终的Kijn为0.7,其他的依次类推。图3.1设置的数值都很明显,访问者1的被认同度明显是高于其他三人,访问者4的被认同度明显低于其他三人,而访问者2的被认同度又高于访问者3,读者可以明显看出4个访问者的PR是PRi(1)>PRi(2)>PRi(3)>PRi(4)。如果下面的计算结果同上,则说明我所改进的算法,不存在逻辑的错误,计算结果没有错误。VisualBasic作为非计算机专业科学工作者的常用编程软件深得使用者的好评,用来实现数学运算简单方便,可以将公式的(3.1)的运算关系表达的很清楚,但是存在的缺点是对于多重循环运算,对编程者的编程水平要求较高。Matlab是矩阵实验室(MatrixLaboratory)的简称,作为数学矩阵的专用软件,由美国新墨西哥大学教授设计,自诞生以来,版本从1.0到7.0,一直受到数学工作者的喜爱,对于数学矩阵运算编程方法简单,是数学运算的常用工具。本文改进算法可以表示为矩阵的运算,采用matlab计算比较合适,49 社会环境下网页重要性的研究而且Google搜索引擎就是用矩阵运算得出网页PR值的,但是缺点是不能够清楚表达原来的运算关系。比较两者的优缺点,采用两种方法同时编程运算,发挥两者的优点,使读者比较容易理解本文改进算法的设计思路。同时也是检验运算结果是否正确的双保险。[11]3.2.4VisualBasic编程验证算法收敛将上面的算法结合上图编写相应的VB程序,运行循环结构后得出收敛后的结果验证算法的正确性:privateSubCommand1_Click()Dimm,n,l,i,j,k,oDimPRi(1To4)DimZi(1To4,1To4)DimKi(0To4,1To4)DimC(0To4)DimT(0To4)DimPR(1To4,1To9999)DimP(1To4)DimG(1To4)Zi(1,1)=3:Zi(1,2)=0:Zi(1,3)=1:Zi(1,4)=2:Zi(2,1)=1:Zi(2,2)=4:Zi(2,3)=0:Zi(2,4)=3Zi(3,1)=0:Zi(3,2)=2:Zi(3,3)=2:Zi(3,4)=0:Zi(4,1)=2:Zi(4,2)=0:Zi(4,3)=0:Zi(4,4)=1PRi(1)=1/4:PRi(2)=1/4:PRi(3)=1/4:PRi(4)=1/4Ki(1,1)=0.7:Ki(1,2)=0.5:Ki(1,3)=0.2:Ki(1,4)=0.1:Ki(2,1)=0.4:Ki(2,2)=0.5:Ki(2,3)=0.5:Ki(2,4)=0.1Ki(3,1)=0.5:Ki(3,2)=0.5:Ki(3,3)=0.5:Ki(3,4)=0.5:Ki(4,1)=0.8:Ki(4,2)=0.5:Ki(4,3)=0.5:Ki(4,4)=0.2Form=1To200P(1)=0:P(2)=0:P(3)=0:P(4)=0Forj=1To4o=0Forn=1To4C(j)=Zi(j,n)*PRi(n)*Ki(j,n)T(j)=o+C(j)o=T(j)Nextn49 社会环境下网页重要性的研究Forn=1To4Ki(0,n)=0G(n)=Ki(j,n)*T(j)NextnForl=1To4P(l)=P(l)+G(l)NextlNextjFork=1To4PR(k,m)=P(k)NextkPrint"PRi(1)=";PR(1,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m));"PRi(2)=";PR(2,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m));"PRi(3)=";PR(3,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m));"PRi(4)=";PR(4,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))Print"第";m;"次循环"Forn=1To4PRi(n)=PR(n,m)NextnIfm=100ThenT1.Text=PR(1,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))T2.Text=PR(2,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))T3.Text=PR(3,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))T4.Text=PR(4,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))EndIfNextmEndSub笔者在自己电脑上(电脑配置:主频1.01GHz,内存512MB)用VisualBaisc编制程序实现上述算法,并进行了实际的计算。为了方便论述,我们将网络结构简单化,假设仅仅有4个网页和4个访问者,如图3.1所示通过超链接相互联系。对图3.1所示的网页进行PageRank的计算,结果如图3.4所示(未全部列出,图3.2中PRi(n)表示访问者n在i领域的PageRank值,精确到小数点后15位)49 社会环境下网页重要性的研究图3.2VB源代码窗口图49 社会环境下网页重要性的研究图3.3VB运行结果图49 社会环境下网页重要性的研究49 社会环境下网页重要性的研究图3.4 PageRank的计算结果由上式可以看出,每一个第i+1次的PageRank值都是基于上次的PageRank值重新计算的。具体的迭代次数在实际中是无限的。循环次数越多,计算结果越收敛于(越接近)49 社会环境下网页重要性的研究网页的真实PR值。数据的精度设置越高则循环次数就越多[12],但是实际上将网页的PR值按大小排序无需太高的精度,可以区分出网页PR值大小就行,这样对PRin的精度要求也无需太高,精确到小数点后十五位就足够。上面的循环运算的计算结果越来越趋向一个值,根据计算结果,第十六次的循环计算已经收敛到小数点后14位,我开始定义的数组数据类型为双精度(Double)占8个字节,16位的最高位数已经被突破,再下去的循环计算已经没有意义,在另一方面也反映了我的算法具有无限的精度,循环次数越多则精确位数越多,所以我的算法在精度方面是完全符合要求无可挑剔的。但是循环次数少就达到收敛效果不是说明我的循环次数设置那么高是多此一举,因为上面是属于最简单的模型,达到收敛所需的次数当然是最少的,同样的算法对于互联网数以亿计的网页和访问者,运算量是巨大的,循环次数更是非常巨大,上面只是简单的模型,目的是使读者更加理解我设计的算法,同时也验证了我的算法的正确性。3.2.5matlab编程验证算法收敛上述过程本质上可以表达为特征向量的计算,首先每个访问者在i领域的PR值可以表示一个矩阵,即一个N行N列的矩阵(N为整个网络访问者的总数,j为i领域所有的网页数)为了方便计算,开始时可以给每个元素的值都设为。PRin=n×n=设Zijn为一个随机矩阵它的横向表示同一个网页被不同访问者访问的次数,纵向表示同一访问者对同一领域不同网页的访问次数Zijn=同理设Kijn为一个随机矩阵它的横向表示同一个访问者不同网页的Kijn49 社会环境下网页重要性的研究。纵向表示不同访问者对同一个网页的KijnKijn=PRin=(Kijn×Zijn×PRin×Kijn)(3.1)因此Zijn×PRin×Kijn可以用矩阵运算表示为((Kijn.*(PRin.*Zijn))*L)(在matlab数学矩阵运算中,对于行列数相同的矩阵A和B,A.*B表示A与B的各元素对应相乘,所得的结果作为结果矩阵相应位置的元素。举例:.*=)[13]其中L为N行一列的矩阵列向量(Kijn.*(PRin.*Zijn)与L相乘,相当于数学表达式的求和符号,在这里L起到的作用是求和,L的各元素的值为1,相乘之后不改变值的大小,其起的作用相当于+号,将(Kijn.*(PRin.*Zijn)的行元素相加,所得的结果为j行1列的矩阵。上式可以用矩阵相乘表示为((Kijn.*(PRin.*Zijn))*L)=49 社会环境下网页重要性的研究(.*())*(3.6)上式前三个矩阵相乘的结果是一个j行N列的向量,每一行的N个元素分别表示每个访问者对网页j的权重贡献,为了计算Pij网页的总的PR值必须将同一行N个贡献相加,为了实现相加的结果,可以在上面三个矩阵的后面乘多一个N行1列每个元素为1的列向量矩阵计算的结果将是一个N行一列的列向量矩阵,设这个列向量矩阵为Sj,Sj就表示所有的访问者对网页Pij贡献的权重值。则式(3.1)表示为PRin=(Kijn×S)上面的运算思想参考了GooglePageRank的排序算法R(i+1)(v)=CR(i)(u)/Nu(2.2)R(i)(u)表示第i次叠加运算时的网页PR值,相当于Sj(上一次运算网页Pij的权重值)乘以。Nu表示网页的链接数,Nu少说明此网页链接出的单条链接贡献给链接到网页的PR值越大,这与乘以Kijn(被认同度越高,则访问者的PR值越高)的思想是完全一致的。同样经过叠加运算,最后的结果必然收敛于一个特定的值。具体详细的迭代下面再详解49 社会环境下网页重要性的研究下面先用矩阵表示PRin=(Kijn×S)PRin=ST*Kijn(矩阵ST为矩阵S的转置矩阵)ST是一个行矩阵,各元素表示每个网页的权重,矩阵Kijn的每一列表示同一个访问者对于每个网页的被认同度,ST与Kijn的每一列元素对应相乘再相加的结果就是Kijn中相应列的访问者的PRin。上式得到的结果是一个一行N列的行向量,各元素分别表示每个访问者自身的PRin上面是矩阵运算,是一种计算方法的总的表达方式,要验证上面的矩阵算法是否正确需要举例验证,就像上面VB编程一样,下面我仍然用图3.1的数据例子用矩阵运算,如果运算结果和VB算法一样说明计算结果没有错误,同时证明两种方法都是可行的。Matlab能处理数、向量和矩阵.但一个数事实上是一个1×1的矩阵,1个n维向量也不过是一个1×n或n×1的矩阵.从这个角度上来讲,Matlab处理的所有的数据都是矩阵.Matlab的矩阵处理能力是非常灵活、强大的.以下我们将用matlab来进行矩阵运算。下面首先编写matlab程序:PRi1=0.25;PRi2=0.25;PRi3=0.25;PRi4=0.25;L=[1;1;1;1];i=1whilei<=20PRin=[PRi1,PRi2,PRi3,PRi4;PRi1,PRi2,PRi3,PRi4;PRi1,PRi2,PRi3,PRi4;PRi1,PRi2,PRi3,PRi4];Zijn=[3,0,1,2;1,4,0,3;0,2,2,0;2,0,0,1];Kijn=[0.7,0.5,0.2,0.1;0.4,0.5,0.5,0.1;0.5,0.5,0.5,0.5;0.8,0.5,0.5,0.2];zPRin=((Kijn.*(PRin.*Zijn))*L)"*Kijn;PRi=(1/(zPRin*[1;1;1;1]))*zPRint=1;y=PRi(1,1);m=2;x=PRi(1,2);n=3;v=PRi(1,3);l=4;p=PRi(1,4);49 社会环境下网页重要性的研究holdonplot(t+0.05*i,y,"-r",m+0.05*i,x,"-r",n+0.05*i,v,"-r",l+0.05*i,p,"-r")PRi1=PRi(1,1);PRi2=PRi(1,2);PRi3=PRi(1,3);PRi4=PRi(1,4);i=i+1end运算结果显示如下i=1PRi=0.3422077922077920.2922077922077920.2435064935064930.122077922077922i=2PRi=0.3486494024759170.2926687978716560.2403484305606210.118333369091806i=3PRi=0.3493863789021180.2927344403422580.2400236208671690.117855559888455i=4PRi=0.3494672061067890.292741259495710.239987379510740.117804154886761i=5PRi=0.3494761250185870.2927420164187220.2399833885378830.117798470024808i=6PRi=49 社会环境下网页重要性的研究0.3494771082966260.2927420998017210.2399829484334070.117797843468246i=7PRi=0.3494772167093290.2927421089961170.239982899910640.117797774383914i=8PRi=0.3494772286623550.2927421100098320.2399828945607470.117797766767066i=9PRi=0.3494772299802360.2927421101215990.2399828939708950.117797765927269i=10PRi=0.3494772301255390.2927421101339220.2399828939058610.117797765834678i=11PRi=0.349477230141560.2927421101352810.2399828938986910.117797765824469i=12PRi=0.3494772301433260.292742110135430.23998289389790.117797765823344i=13PRi=0.3494772301435210.2927421101354470.2399828938978130.117797765823219i=14PRi=49 社会环境下网页重要性的研究0.3494772301435420.2927421101354490.2399828938978030.117797765823206i=15PRi=0.3494772301435440.2927421101354490.2399828938978020.117797765823204i=16PRi=0.3494772301435450.2927421101354490.2399828938978020.117797765823204i=17PRi=0.3494772301435450.2927421101354490.2399828938978020.117797765823204i=18PRi=0.3494772301435450.2927421101354490.2399828938978020.117797765823204i=19PRi=0.3494772301435450.2927421101354490.2399828938978020.117797765823204i=20PRi=0.3494772301435450.2927421101354490.2399828938978020.117797765823204i=21>>>>显示图形如图:49 社会环境下网页重要性的研究图3.5Matlab运行结果图形上面四条收敛曲线的点分别对应每次循环计算得出的PRin的值,从左往右分别表示PRi(1)、PRi(2)、PRi(3)、PRi(4)。四条收敛曲线反映了改进算法计算的PRin值最后是收敛的,验证了原先的推理,因此算法最后收敛成立。同时说明上面设计的改进算法是可行的。49 社会环境下网页重要性的研究3.3网页PR值的计算方法3.3.1计算网页PR值的理论基础最后结合每个访问者对网页Pij的访问次数和投票情况来计算网页Pij的PR值:Zijn为访问者对网页Pij的访问次数,因为搜索者总希望找到权威的网站,权威网站里面的内容相对准确,怎样找到权威网站呢,PRin×Zijn表明访问者本身的PR值较高,访问的次数越多,表明网页受关注的程度越高,则网页自然应该排在前面,PRin×Zijn是访问者n对网页PR值计算中的权重,这个权重越大,则访问者n对网页Pij的PR值影响越大,但是我要做的工作是网页的权威性内容的正确性决定网页排名,网页是否权威还要考虑访问者对网页的投票,在这里不同于计算访问者的本身PR值(即访问者在专业领域的学术水平)需要事先获取访问者对网页的投票的被认同度,现在要获取的是访问者对网页的评价,这个与网页内容的被认同有关。PRin×Zijn作为一个权重,影响网页PR值,其起的是正面影响还是负面影响还要看访问者对网页的投票评价如何。[14]因此设一个系数Hjn,Hjn表示访问者对网页内容的投票评价(访问者n对网页内容的认同度),Hjn为0到1之间的数,1表示访问者完全认同网页的内容,0表示访问者完全否认网页的内容,Hjn的值越大则表明访问者越赞同网站的内容,当网页没有投票栏或者有投票栏但是访问者没有投票时Hjn取0.5。访问者对网页Pij的内容的认同度Hjn=50%,网页没有投票栏或者有投票栏但是访问者没有投票时0,访问者没有访问网页j为了继续计算每个网页的PRij我们必须获取Hjn信息即每个访问者对网页Pij的内容的认同度,在权重PRin×Zijn的基础上再乘以认同度Hjn就可以客观反映网页本身的PR值。因此网页的PR可统一用下式表示:PRij=PRin×Zijn×Hjn(3.7)对于非分类网页的PR值,可以先将非分类网页分到各个相关领域计算,再取各个相关领域的PR值的平均值就可以综合反映网页的PR值。为了继续验证上面算法的正确性,下面继续用上面的简单模型进行计算,首先给Hjn设置数据如下图:49 社会环境下网页重要性的研究3.3.2建立数学模型图3.6上图3.6中的数据就是相应的访问者对网页内容的认同度PRij=PRin×Zijn×Hjn(3.7)PRin×Zijn表示访问者对网页的关注度[15],这里可以看做一个权重,网页的受关注度高低并不可以反映网页的权威性和正确性,如果大部分访问者对网页的评价很低,就算网页的受关注度越高,它的权威性越低,因为越多的人不认同网页的内容。相反如果大部分访问者对网页的评价很高,网页的受关注度越高,它的权威性越高,因为越多的人认同网页的内容。这说明PRin×Zijn只是一个权重,并不可以决定一个网页的权威性和正确性,而PRin×Zijn×Hjn就可以客观地反映了访问者n对网页Pij的权威性和正确性的贡献,将每个访问者的贡献值相加就可以得到一个网页的PRij,因此PRij=PRin×Zijn×Hjn49 社会环境下网页重要性的研究对于非分类网页的PR值计算只需将不同领域计算得的PRij相加除以涉及领域数即可。即:PRij=(PRin×Zijn×Hjn)/K(3.8)K:非分类网页涉及的领域数根据收敛算法的计算结果PRi(1)>PRi(2)>PRi(3)>PRi(4),其中PRi(2)与PRi(3)比较接近,两者和PRi(1)相差不大,而PRi(4)比其他三个小很多因此考虑前三者即可,可以知道粗略由PRi(1)PRi(2)和PRi(3)决定PRij,三者的PR值较大,根据PRij计算公式可以知道网页的PR值主要由三者的评价决定,访问者1的评价为2>1>4,访问者2的评价为3>2,可以看出仅仅由以上两个访问者难以比较4个网页的PR大小,由于访问者3的PR仅次于两者,所以网页的PR大小还要考虑访问者3的评价,访问者3的评价为3>1。根据上面3个访问者的评价结合每个人的PR可以得出结论:网页PR值排名为:3>2>1>4,即Pi(3)>Pi(2)>Pi(1)>Pi(4),如果公式PRij=PRin×Zijn×Hjn(3.7)算出的结果和上面的结果相同则可以说明上述的算法是正确的、可行的。3.3.3VisualBasic编程验证算法的正确性为了继续验证算法的正确性,下面继续沿用上面计算的PRin的程序结合图3.6的Hjn用VB编程和matlab编程计算PRij,上图标示的数据Hn设置情况结合计算出的PRin可以明显看出网页PRij的排名,便于检验计算结果是否正确。VB编程如下:在上面计算PRin的基础上再添加一小段程序变成以下程序:PrivateSubCommand1_Click()DimH(1To4,1To4)DimPi(1To4)H(1,1)=0.2:H(1,2)=0.5:H(1,3)=0.2:H(1,4)=0.6:H(2,1)=0.5:H(2,2)=0.3:H(2,3)=0.5:H(2,4)=0.4H(3,1)=0.5:H(3,2)=0.9:H(3,3)=0.6:H(3,4)=0.5:H(4,1)=0.1:H(4,2)=0.5:H(4,3)=0.5:H(4,4)=0.3Dimm,n,l,i,j,k,oDimPRi(1To4)DimZi(1To4,1To4)DimKi(0To4,1To4)DimC(0To4)DimT(0To4)49 社会环境下网页重要性的研究DimPR(1To4,1To9999)DimP(1To4)DimG(1To4)Zi(1,1)=3:Zi(1,2)=0:Zi(1,3)=1:Zi(1,4)=2:Zi(2,1)=1:Zi(2,2)=4:Zi(2,3)=0:Zi(2,4)=3:Zi(3,1)=0:Zi(3,2)=2Zi(3,3)=2:Zi(3,4)=0:Zi(4,1)=2:Zi(4,2)=0:Zi(4,3)=0:Zi(4,4)=1PRi(1)=1/4:PRi(2)=1/4:PRi(3)=1/4:PRi(4)=1/4Ki(1,1)=0.7:Ki(1,2)=0.5:Ki(1,3)=0.2:Ki(1,4)=0.1:Ki(2,1)=0.4:Ki(2,2)=0.5:Ki(2,3)=0.5:Ki(2,4)=0.1Ki(3,1)=0.5:Ki(3,2)=0.5:Ki(3,3)=0.5:Ki(3,4)=0.5:Ki(4,1)=0.8:Ki(4,2)=0.5:Ki(4,3)=0.5:Ki(4,4)=0.2Form=1To200P(1)=0P(2)=0P(3)=0P(4)=0Forj=1To4o=0Forn=1To4C(j)=Zi(j,n)*PRi(n)*Ki(j,n)T(j)=o+C(j)o=T(j)NextnForn=1To4Ki(0,n)=0G(n)=Ki(j,n)*T(j)NextnForl=1To4P(l)=P(l)+G(l)NextlNextjFork=1To4PR(k,m)=P(k)NextkForn=1To4PRi(n)=PR(n,m)49 社会环境下网页重要性的研究NextnIfm=100ThenT1.Text=PR(1,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))T2.Text=PR(2,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))T3.Text=PR(3,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))T4.Text=PR(4,m)/(PR(1,m)+PR(2,m)+PR(3,m)+PR(4,m))EndIfNextmPRi(1)=PR(1,50)/(PR(1,50)+PR(2,50)+PR(3,50)+PR(4,50))PRi(2)=PR(2,50)/(PR(1,50)+PR(2,50)+PR(3,50)+PR(4,50))PRi(3)=PR(3,50)/(PR(1,50)+PR(2,50)+PR(3,50)+PR(4,50))PRi(4)=PR(4,50)/(PR(1,50)+PR(2,50)+PR(3,50)+PR(4,50))Forj=1To4s=0Forn=1To4Pi(j)=PRi(n)*Zi(j,n)*H(j,n)+ss=Pi(j)NextnNextjPrint"Pi(1)=";Pi(1)Print"Pi(2)=";Pi(2)Print"Pi(3)=";Pi(3)Print"Pi(4)=";Pi(4)EndSub[16]运行以上程序显示结果如图3.7所示:图3.7显示结果为Pi(3)>Pi(2)>Pi(1)>Pi(4)。显示的结果和预测结果一致,说明了算法的正确性,上述的循环过程其实就是特征向量的运算,下面用matlab演示一次矩阵向量的循环计算,如果得出的数据一致,则充分说明运算结果正确,同时说明了算法正确无误,可以准确反映网页的权威性和准确性。49 社会环境下网页重要性的研究3.3.4matlab编程验证算法的正确性Matlab编程如下:实际上是在上面matlab编程的基础上添加几条代码PRi1=0.25;PRi2=0.25;PRi3=0.25;PRi4=0.25;L=[1;1;1;1];i=1whilei<=20PRin=[PRi1,PRi2,PRi3,PRi4;PRi1,PRi2,PRi3,PRi4;PRi1,PRi2,PRi3,PRi4;PRi1,PRi2,PRi3,PRi4];Hjn=[0.2,0.5,0.2,0.6;0.5,0.3,0.5,0.4;0.5,0.9,0.6,0.5;0.1,0.5,0.5,0.3];Zijn=[3,0,1,2;1,4,0,3;0,2,2,0;2,0,0,1];Kijn=[0.7,0.5,0.2,0.1;0.4,0.5,0.5,0.1;0.5,0.5,0.5,0.5;0.8,0.5,0.5,0.2];zPRin=((Kijn.*(PRin.*Zijn))*L)"*Kijn;PRi=(1/(zPRin*[1;1;1;1]))*zPRint=1;y=PRi(1,1);m=2;x=PRi(1,2);n=3;v=PRi(1,3);l=4;p=PRi(1,4);holdonplot(t+0.05*i,y,"-r",m+0.05*i,x,"-r",n+0.05*i,v,"-r",l+0.05*i,p,"-r")PRi1=PRi(1,1);PRi2=PRi(1,2);PRi3=PRi(1,3);PRi4=PRi(1,4);i=i+1endPij=PRin.*Hjn.*Zijn*[1;1;1;1]49 社会环境下网页重要性的研究运行结果如图3.8所示:图3.8上面的matlab的数据精确到小数点后的十五位,在运行程序之前首先要设置好精度(file-preferences-commandwindow-textdisplay-numericformat-longg)上面的VB程序中笔者定义数据的类型为双精度型(double),精确到小数点后面的15位,比较两种方法计算出来的最后结果,发现matlab得出的数据与VB结果完全一致,两种方法计算的结果一样说明我的计算程序时正确的,而计算结果和预测相符,说明我设计的算法是能够反映网页的权威性和正确性的。49 社会环境下网页重要性的研究4.改进算法的事实可行性经过VB和matlab的PRin循环收敛运算演示和PRij循环计算演示都表明了,上述算法的正确性和可行性。这只是理论上的可行,事实上是否可行还要看,我们循环计算所需要的数据能否预先有Google服务器获得,下面将进行事实可行性的讨论:在第一部分已经阐述了GooglePageRank的工作原理,我们根据它的硬件条件来讨论我设置算法的工作原理:根据计算网页PRij的最终算法公式:PRin(i+1)=Ci(Kijn×Zijn×PRin(i)×Kijn)(3.3)PRij=PRin×Zijn×Hjn(3.7)计算网页PRij需要获取的数据为Kijn、Zijn、Hjn。由于下一章的讨论讲到将GooglePageRank传统的算法和本文改进算法的优化结合,所以最后的方案还是要用到GooglePageRank的原来算法,所以在获取数据上,还是按照GooglePageRank的原来工作流程,至于新算法所需要的新数据将在获取传统数据的基础上同步获得,获取新数据所需要的步骤将在以下的过程中实现:[17]在GooglePageRank原来的工作流程(2)添加以下步骤:存储服务器使用zlib格式压缩软件将这些网页进行无损压缩处理后存入数据库Repository中。Repository通过网络蜘蛛crawler获得每个网页的访问者的信息,包括访问者的网卡物理地址(3),在这里不用IP地址来记录访问者,因为通过Modem、ISDN、ADSL、有线宽频、小区宽频等方式上网的计算机,每次上网所分配到的IP地址都不相同,这就是动态IP地址。因为IP地址资源很宝贵,大部分用户都是通过动态IP地址上网的。一次IP不可以表示某个访问者,而网卡物理地址是永久固定的,全球唯一的,因此可以用来表示每个访问者,而网络运营商在分配动态ip时会对相应的ip的网卡物理地址进行记录,通过网络蜘蛛crawler可以从网络运营商服务器那里获取相应的访问者网卡物理地址。由于在电脑和路由器重启或者断电和电信服务器不稳定掉线的情况下,电信会重新分配动态的ip地址,这样同一电脑在不同的时间段就会有不同的ip地址,所以电脑的ip地址是经常变化的,通过ip地址来查询其相应的物理地址变得很复杂,为了使算法更加容易实现,不应该从电信运营商那里获取物理地址,而应该从访问者电脑浏览器的cookie中获取访问者的访问信息和访问者电脑的物理地址。Cookie记录访客的某些信息。例如可以利用Cookie纪录用户光临你的网页次数,或者访客曾经输入过的信息,某些网站(如网易社区)可以自动纪录你上次登录的用户名和密码,用的就是Cookie。具体步骤是:先获取每个物理地址cookie信息中的Kijn、Zijn、Hjn三个参数,再将获取的数据压缩进Google搜索服务器中的数据桶(Barrels)中49 社会环境下网页重要性的研究。后面在计算访问者和网页的PR值时,再从数据桶中提取出三个参数来进行计算。对于网吧、学校等公共电脑,也不会不适用,对于公用电脑多人公用的情况,我们计算出来的PRin就是一个平均值,可以反映所用公用者的平均值,可以看做一个具有所用共用者平均值的访问者。因此公用电脑可以归于一般化的处理。网卡物理地址相当于访问者的身份证,因为其具有全球唯一性。对于手机上网用户,手机跟Internet互联网连接一样有IP地址,但是IP地址是随机分配的,跟手机号无关。例如10.0.0.172是移动网关的ip地址,不是手机本身的ip地址。手机登录GPRS后,也会被分配一个GPRS网内的ip地址,手机的IP是属于接入GPRS时接入的移动通信基站的网内IP,但这个ip地址不是真实的。真实的ip地址普通用户在手机上无法看到。手机上网每次都是分配不同的IP,这个ip属于一个固定的号段,在此范围内随机分配,运营商会自动记录每一次分配的数据,包括时间、地点、手机号码。但是如果不是关于重大事件,是没人给查这个IP的,也没必要查。虽然ip地址每次不同,但是运营商会记录每次上网的手机号码,因此手机号码可以唯一标记手机上网用户,同样网络蜘蛛crawler在运营商那里获得访问者的手机号码。手机号码和网卡物理地址一样相当于访问者的身份证来标识网页访问者。在新算法中将用网卡物理地址和手机号码来标记访问者,Repository还要同时从网络蜘蛛crawler那里获取访问者的对网页的访问次数Zijn,和访问者的被认同度Kijn。新算法需要的新数据Zijn和Kijn获取完毕,下面就是Google服务器如何内部处理数据的改进。下面的步骤在1.3Google搜索引擎的工作原理的基础上添加入改进算法处理数据的过程。(4)将读取的数据解压后进行分析,生成一个网卡地址列表,该列表包括每个网卡地址对于相应的Zijn、Kijn、Hjn。列表被存入到数据桶(Barrels)中,根据关键词(wordID)的若干索引项(Hits),将网页分为i个领域。下面的生成索引项列表将分领域存放。根据列表的数据计算访问者在每个领域的PRin,数据添加到网卡物理地址列表存入数据桶(Barrels)中。手机号码标记的使用者采用同样的处理方法。(10)PageRank计算器根据新产生的索引词表结合上述的文档索引(DocumentIndex)、Link数据库、网卡地址列表、网页分领域情况计算访问者的PRin,存入数据桶网卡地址列表中,PageRank计算器再从数据桶中抽取每个访问者的PRin值结合Kijn、Zijn和Hjn三个参数来计算网页的PRij,并将计算结果存入数据桶。算法最终的改进所用到的网页的GooglePageRank和网页Pij都可以通过获取的数据计算出来,充分说明了新算法事实的可行性。新改进算法具备了事实可行性和理论可行性,下面进一步做最后的优化处理:49 社会环境下网页重要性的研究5.将改进算法与GooglePageRank传统算法结合的最完美排序方法下面考虑怎样将完善的PR值计算方法当作一个补丁打入到GooglePageRank算法中,GooglePageRank算法仅仅考虑链接到网页的链接数的多少而没有考虑到访问者的自身情况给网页的排名带来的影响。如果将这两个方面结合起来。将是非常完善的排序方法。经过思考,笔者认为应该设置一个系数,表示这两方面在最后排序中发生影响的比例。PR=d×GPR+(1-d)×FPR(5.1)GPR就是GooglePageRank未经改进的算法得出的PR值,主要考虑有链接入网页的链接数及提供链接入得网页本身的PR值,这样的PR值主要反映了网页的人气,FPR是本文改进的算法得出的PR值,是访问者对网页的贡献的累积得出的,所以主要反映网页的权威性与正确性。在上面的改进算法中,为了叙述方便,我们不再使Google的0~10度量,而是使用0~1度量。这和概率的取值范围是一致的。事实上,PageRank就是一个概率(它反映了一个人在网络中不同的页面上随机点击链接会到达某个特定网站的概率)。只不过因为人们不太喜欢看小数,Google才更改了度量。现在上式将两者相加,必须将FPR转化到0到10区间,具体方法很简单,将FPR乘以十就可以,上式修正为:PR=d×GPR+10×(1-d)×FPR(5.2)d取值的越大则考虑网页人气因素越多,d取值越小则考虑网页权威性越多。当d取0.5时人气与权威两方面兼顾,是比较好的选择,但是每个搜索者有不同的搜索的要求,非专业访问者主要想搜索出人气比较旺的网页,对网页的权威正确性要求不高,而专业人士要搜索出来的是权威正确的网页,根据不同搜索者的要求,可以灵活选择d的大小,例如专业的访问者可以将d设置为0.1则权威性占90%,主要由网页的权威性决定排名,非专业的可以将d设置为0.9,则主要有网页的人气决定网页的排名,不同的需求得出不同的网页排序,所以我觉得最优化得选择是:将d默认为0.5,这对于对网页的人气和权威性没有偏向要求的大部分访问者适用,另外在搜索的高级功能设置一个类似进度条的滑动条,搜索者进入高级功能时,可以直接点击进度条设置d的取值,如下图:49 社会环境下网页重要性的研究图5.1Google搜索高级设置界面这样就是对GooglePageRank的最好的优化,访问者根据不同的需求得出不同的搜索结果。49 社会环境下网页重要性的研究6.小结本文首先详细介绍了GooglePageRank算法的计算原理和工作过程,并以此为参考,按照由访问者的知识水平计算网页PR值的要求,设计出改进算法,通过原理分析、建模、编程验证等步骤充分论证了设计的改进算法的理论正确性和可行性,再从搜索引擎服务器获取和处理数据的的工作过程来论证改进算法的事实可行性,综合理论和事实两方面的可行性,得出结论:改进算法是正确无误的,能够客观反映网页的权威性和正确性。但是任何一种算法都有它的不足或者说是它的偏向性,本文改进算法偏向权威性排序,GooglePageRank传统算法偏向人气热度排序,为了克服各自的不足之处,巧妙地将两者结合,通过设置一个系数,系数的大小由访问者自己设置,通过设置系数,使搜索结果符合访问者的的要求,这样的设计非常人性化,是一种相当完美的模式,也是今后搜索引擎的发展方向[18]。49 社会环境下网页重要性的研究附录权重:权重是一个相对的概念,是针对某一指标而言。某一指标的权重是指该指标在整体评价中的相对重要程度。  权重表示在评价过程中,是被评价对象的不同侧面的重要程度的定量分配,对各评价因子在总体评价中的作用进行区别对待。事实上,没有重点的评价就不算是客观的评价。打个比方说,一件事情,你给它打100分,你的老板给它打60分,如果平均,则是(100+60)/2=80分.但因为老板说的话分量比你重,假如老板的权重是2,你是1,这时求平均值就是加权平均了,结果是(100*1+60*2)/(1+2)=73.3分,显然向你的老板那里倾斜了。假如老板权重是3,你的权重是1,结果是(100*1+60*3)/(1+3)=70。这就是根据权重的不同进行的平均数的计算,所以又叫加权平均数。特征向量:数学上,线性变换的特征向量(本征向量)是一个非退化的向量,其方向在该变换下不变。该向量在此变换下缩放的比例称为其特征值(本征值)。一个变换通常可以由其特征值和特征向量完全描述。特征空间是相同特征值的特征向量的集合。“特征”一词来自德语的eigen。1904年希尔伯特首先在这个意义下使用了这个词,更早亥尔姆霍尔兹也在相关意义下使用过该词。eigen一词可翻译为“自身的”,“特定于...的”,“有特征的”或者“个体的”—这强调了特征值对于定义特定的变换有多重要。网卡物理地址:MAC(MediaAccessControl,介质访问控制)地址是识别LAN(局域网)节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。从本质上讲,它可以看作是你的身份证。但Cookies不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值”对(name-valuepairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。几乎所有的网站设计者在进行网站设计时都使用了Cookie,因为他们都想给浏览网站的用户提供一个更友好的、人文化的浏览环境,同时也能更加准确地收集访问者的信息。49 社会环境下网页重要性的研究网站浏览人数管理:由于代理服务器、缓存等的使用,唯一能帮助网站精确统计来访人数的方法就是为每个访问者建立一个唯一的ID。使用Cookie,网站可以完成以下工作:测定多少人访问过;测定访问者中有多少是新用户(即第一次来访),多少是老用户;测定一个用户多久访问一次网站。通常情况下,网站设计者是借助后台数据库来实现以上目的的。当用户第一次访问该网站时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数或判断用户是新用户还是老用户。49 社会环境下网页重要性的研究参考文献[1]CNNIC.中国互联网络发展状况统计报告[R].北京:中国互联网信息中心。2004:4-6[2]搜索引擎的基本原理,搜索引擎直通车[Z].http://wwwse-express.com/xiguadajie/zatan0l.htm,2010-3-31.[3]StuderR,BenjaminsVR,FenselD.KnowledgeEngineeringPrinciplesandMethods.DataandKnowledgeEngineering,1998,25(122):161197.[4]GrayCulliss.UserPopularityRankedSearchEngine[Z].http://blog.sina.com.cn/s/blog_5e49b2c80100by7v.html[5]刘建国.搜索引擎概述阅[R].北京大学计算机与科学技术.1999.10.20[6]何晓阳,吴治蓉.杨禹道网页算法统计学[M].情报杂志,2007,9[7]李宝敏.基于本体智能搜索引擎的研究[R].情报杂志JournalofInformation[8]SHOE[Z].http://blog.csdn.net/boluo1982107/archive/2008/12/11/3495419.aspx[9]艾丹祥.基于本体论的向量计算[C].武汉大学硕士学位论文集,,2004,40[10]GrayCulliss.UserPopularityRankedSearchEngine[Z].[11]李善平,尹奇等.数据值处理方法研究[R].计算机研究与发展,2004,41(7):1048[12]李凯,赫枫龄,左万利..数据统计论[[M].吉林大学学报(理学版),2003,41(2):175-179.[13]李宝敏.矩阵计算方法论[M].情报杂志JournalofInformation[14]邓志鸿,唐世渭,张铭等.Ontology研究综述[J].北京大学学报(自然科学[15]周竞涛,王明微.XML+RDF一一~实现Web数据基于语义的描述[N].西北工业大学CAD/CAM国家专业实验室..2003年9月.[16]L.Page,S.Brin,R.Motwani.T.Wmograd.TheVisualBasicCitationRanking:Bringingorderto[17]Haveliwala,TaherH.,Topic-SensitivePageRank,10thofFebruary2002[18]搜索引擎的技术发展趋势[Z],中文全文检索网.http://www.fullsearchetcom/n200491592620735.asp,201.-5-1.49 社会环境下网页重要性的研究致谢首先衷心感谢我的导师。本论文从开题到最后得以顺利完成,无不凝聚了导师的心血。导师开阔的视野、渊博的知识、敏锐的思维、严谨的学风、忘我的工作热情和崇高的敬业精神是我一生学习的楷模,我的每一点成绩都凝聚着她的辛勤汗水,让我难以忘怀。衷心地感谢院、系的各位领导和老师在我学习期间给予我的培养、教育和帮助。在四年来的学习和课题研究过程中,我得到了信息光电子科技学院的各位老师的亲切关怀、大力支持和热情帮助,感谢老师们对我的指导!感谢光电学院的2006级的同学,感谢你们给我的友谊和大力支持;你们是我一生享之不尽的财富;还要感谢同一宿舍的兄弟,是你们给了我智慧和力量。最后,我要深深的感谢我的父母,他们对我在学业上的支持,在精神上的鼓励和生活上的关心,给了我克服困难的勇气和不断进取的力量。签名:二0一0年六月十二日49'