如何对关键词和对应的网页进行加权搜索
利用关键词在文档中的出现频率和位置进行排序是搜索引擎最早的主要思路,其技术发展也最为成熟。它是搜索引擎第一阶段的主要排序技术并被广泛应用,至今仍是众多搜索引擎的核心排序技术。基本原理是,关键词在文档中出现的频率越高,其位置就越重要,与搜索词的相关性就越好。
1)词频统计
文档的词频是指查询关键词在文档中出现的频率。文档中查询关键词出现的频率越高,其相关性越大。但当关键词是常用词时,对相关性的判断意义不大。TF/IDF很好的解决了这个问题。TF/IDF算法被认为是信息检索领域最重要的发明。TF(术语
频率):单个文本词汇出现的频率,用关键词的数量除以网页的总字数。它的商叫做“关键词的频率”。IDF(反向文档
频率):倒排文本频率指数,其原理是一个关键词已经出现在n个网页中,所以n越大,这个关键词的权重越小,反之亦然。当关键词是常用词时,权重很小,解决了词频统计的缺陷。
2)单词位置加权
在搜索引擎中,词位加权主要用于网页。因此,对页面布局信息的分析非常重要。通过对搜索关键词在网页中的不同位置和布局赋予不同的权重,可以根据权重确定搜索结果与搜索关键词的相关程度。可以考虑的布局信息包括:是否是标题,是否是关键词,是否是文字,字体大小,是否加粗等等。同时,锚文本的信息也很重要,一般能准确描述所指向页面的内容。
2.2基于链接分析和排名的第二代搜索引擎
链接分析和排名的思想源于引用指数机制,即一篇论文被引用的次数越多或越权威,其论文就越有价值。链接分析和排名的思路也差不多。一个网页被其他网页或者更权威的网页引用的次数越多,它的价值就越大。被其他网页引用的次数越多,越受欢迎,越权威,质量越高。链接分析排名算法大致可以分为以下几类:基于随机漫游模型,如PageRank和Repution算法;基于概率模型,如SALSA和PHITS;基于枢纽和权威的相互强化模式,如HITS及其变种;基于贝叶斯模型,如贝叶斯算法及其简化版本。在实际应用中,结合传统的内容分析技术对算法进行了优化。本文主要介绍以下经典排序算法:
1)PageRank算法
PageRank算法是由斯坦福大学的博士生Sergey Brin和Lwraence开发的。
页面等。PageRank算法是Google搜索引擎的核心排名算法,是Google成为全球最成功搜索引擎的重要因素之一,也开启了链接分析研究的热潮。
PageRank算法的基本思想是用PageRank值来衡量一个页面的重要性,主要体现在两个方面:页面引用该页面的数量和页面引用该页面的重要性。一个页面P(A)被另一个页面P(B)引用,可以看作是P(B)推荐P(A),P(B)将其重要性(pageRank值)平均分配给P(B)引用的所有页面,所以引用P(A)的页面越多,分配给P(A),Page的PageRank值就越多。此外,P(B)越重要,它所引用的页面可以分配的PageRank值就越多,P(A)的PageRank值越高,它就越重要。
其计算公式为:
PR(A):页面A的PageRank值;
d:阻尼系数,因为有些页面没有链接进来或者链接出去,所以无法计算出PageRank值,是为了避免这个问题(也就是LinkSink问题)而提出的。阻尼系数通常规定为0.85。
R(Pi):页面Pi的PageRank值;
C(Pi):页面外的链接数;
PageRank的初始计算值是一样的。为了不忽略重要页面链接的页面也很重要这个重要因素,需要迭代运算。根据张英海写的计算结果,超过10次迭代后,链路评估值趋于稳定,因此系统的PR值在多次迭代后收敛。
PageRank是一种静态算法,与查询无关,所以所有网页的PageRank值都可以通过离线计算得到。这样减少了用户在检索时所需的排序时间,查询响应时间也大大降低。但是PageRank有两个缺陷:第一,PageRank算法严重歧视新增网页,因为新增网页的外发和内发链接通常很少,PageRank值很低。另外,PageRank算法只依赖于外部链接的数量和重要性,而忽略了页面的主题相关性,使得一些主题不相关的页面(如广告页面)获得了较大的PageRank值,影响了搜索结果的准确性。正因如此,各种话题相关算法应运而生,其中以下算法最为典型。
2)话题敏感的PageRank算法。
因为最初的PageRank算法中没有考虑话题相关因素,斯坦福大学计算机系塔赫尔
Haveli-wala提出了主题敏感的PageRank算法来解决“主题漂移”问题。这种算法考虑到了某些页面在某些领域被认为是重要的,但并不意味着它们在其他领域也是重要的。
网页A和网页B之间的链接可以看作是网页A对网页B的评分,如果网页A和网页B属于同一主题,可以认为A对B的评分更可靠。因为A和B在视觉上可以看作是同龄人,同龄人往往比非同龄人更了解同龄人,所以同龄人的分数往往比非同龄人的分数更可靠。不幸的是,TSPR没有使用主题的相关性来提高链接分数的准确性。
3)山顶算法
HillTop是谷歌的工程师巴拉特在2001申请的专利。HillTop是一种查询相关链接分析算法,克服了PageRank的查询独立性。HillTop算法认为相同主题的相关文档链接对搜索者的价值会更大。只有那些用来引导人们浏览资源的专家页面(导出)才算在山顶。
来源).当Hilltop收到查询请求时,首先根据查询主题计算出一个相关性最强的专家页面列表,然后根据指向目标页面的非依赖专家页面的数量和相关性对目标页面进行排序。
HillTop算法确定网页与搜索关键词匹配度的基本排序过程,取代了过分依赖PageRank值来寻找那些权威页面的方法,避免了很多想通过增加很多无效链接来提高网页PageRank值的作弊方法。HillTop算法通过不同等级保证评价结果与关键词的相关性,通过不同位置保证话题(行业)的相关性,通过区分短语数量防止关键词堆积。
而专家页面的搜索和确定在算法中起着关键作用,专家页面的质量对算法的准确性起着决定性的作用,这忽略了大部分非专家页面的影响。专家页面在互联网中所占的比例很低(1.79%),不能代表所有的互联网页面,所以HillTop有一定的局限性。同时,与PageRank算法不同,HillTop算法的运算是在线运行的,对系统的响应时间造成了很大的压力。
4)点击量
点击(超链接引发的主题
Search)算法由Kleinberg在1998中提出,是另外一种最著名的基于超链接分析的排序算法之一。该算法根据超链接的方向将网页分为两类:权威页面和枢纽页面。权威页面也称权威页面,是指最接近某个查询关键词及其组合的页面,Hub页面也称目录页面。这个页面的内容主要是大量的权威页面的链接,它的主要作用就是把这些权威页面联合起来。对于权威页面P,指向P的Hub页面越多,质量越高,P的权威值越大;对于Hub页面H,H指向的权威页面越多,权威页面质量越高,H的Hub值越大..对于整个网络收藏来说,权威和枢纽是相互依存、相互促进、相互加强的。权威和枢纽之间的优化关系是HITS算法的基础。
HITS的基本思想是算法根据网页的入度(指向该网页的超链接)和出度(从该网页指向其他网页)来衡量网页的重要性。定义范围后,根据网页的出界和入界建立矩阵,通过矩阵的迭代运算和收敛阈值的定义,不断更新Authority和Hub两个向量的值,直至收敛。
实验数据表明,HITS的排序准确率高于PageRank,HITS算法的设计符合网络用户评价网络资源质量的通用标准,可以为用户更好地使用网络信息检索工具访问互联网资源带来便利。
但它存在以下缺陷:首先,HITS算法只计算主特征向量,不能很好地处理话题漂移;其次,搜索狭窄话题时可能会出现话题泛化的问题;第三,HITS算法可以说是一种实验性的尝试。在网络信息检索系统中进行面向内容的检索操作后,必须根据内容检索的结果页面与其直接相连的页面之间的链接关系来计算。虽然有人尝试改进算法并建立了链接结构计算服务器(连接)
服务器),可以在一定程度上实现在线实时计算,但其计算成本仍然无法接受。
2.3基于智能排序的第三代搜索引擎
排名算法在搜索引擎中起着特别重要的作用。目前,许多搜索引擎正在进一步研究新的排名方法,以提高用户的满意度。但是目前第二代搜索引擎有两个缺点。在此背景下,基于智能排序的第三代搜索引擎应运而生。
1)相关问题
相关度是指搜索词与页面的相关程度。由于语言的复杂性,仅通过链接分析和网页的表面特征来判断搜索词与页面的相关性是片面的。比如搜索“稻瘟病”,有一个介绍水稻病虫害信息的网页,但正文中没有“稻瘟病”这个词,搜索引擎根本检索不到。正是基于以上原因,大量的搜索引擎作弊现象无法解决。解决相关性的方法应该是增加语义理解,分析搜索关键词与网页的相关程度。相关性分析越准确,用户的搜索效果就会越好。同时可以淘汰相关性低的网页,有效防止搜索引擎作弊。搜索关键词和网页的关联在网上运行,会给系统造成很大压力。分布式体系结构可以提高系统的规模和性能。
2)搜索结果的简化
在搜索引擎上,任何人搜索同一个词都会得到相同的结果。这不符合用户的需求。不同的用户对检索结果有不同的要求。比如,普通农民搜索“稻瘟病”只是为了获得有关稻瘟病及其防治方法的信息,但农业专家或科技工作者可能想获得与稻瘟病相关的论文。
解决搜索结果单一的途径是提供个性化服务,实现智能搜索。通过Web数据挖掘,建立用户模型(如用户背景、兴趣、行为、风格),提供个性化服务。