欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Search Engine and Sort Technology
小 (→排序技术的发展趋势) |
|||
第94行: | 第94行: | ||
搜索引擎的排序技术应该也会朝着解决这两个不足的方向发展:语意相关性和排序个性化。前者需要完善的自然语言处理技术,后者需要记录庞大访问者信息和复杂的计算,要达到其中任何一个的要求均非易事,如何解决这些难题,任务落在了科学家和工程师们的肩上,哪个搜索引擎解决了这些问题,她可能会称为下一个搜索世界的霸主。 | 搜索引擎的排序技术应该也会朝着解决这两个不足的方向发展:语意相关性和排序个性化。前者需要完善的自然语言处理技术,后者需要记录庞大访问者信息和复杂的计算,要达到其中任何一个的要求均非易事,如何解决这些难题,任务落在了科学家和工程师们的肩上,哪个搜索引擎解决了这些问题,她可能会称为下一个搜索世界的霸主。 | ||
− | [[ | + | [[category:search engine]] |
2013年2月20日 (三) 04:02的最后版本
中文搜索引擎技术揭密:排序技术
作者 Winter 首发于 e800.com.cn
【e800.com.cn 编者按】随着“眼球经济”席卷互联网,成千上万的资金迅速流向最能吸引浏览着眼球的搜索引擎市场。有大量调查显示搜索引擎市场正处在高速发展时期,成为了未来几年内最具发展潜力的产业之一。随着Google、百度、中国搜索等各具特色的搜索引擎逐渐成为人们最常用的网络工具,企业对搜索引擎的注意力也从“观察”升级为“动武”。
随着市场容量和使用者人数的不断激增,如何完善搜索功能使之更加公平、公开、标准和人性化也就随之成为了一个备受关注的话题。但是有一个矛盾体在这其中不断的显现出来:收费可以为搜索引擎公司带来利润,但同时会降低访问者的体验满意度。如何权衡金钱和用户需求之间的天平呢?
目录 |
[编辑] Google成功的秘密
到2004年为止,Google 已经连续两年被评为全球第一品牌,Google成立仅五年时间,最初只是两个斯坦福大学学生的研究项目。这不能不说是一个奇迹,就像比尔•盖茨创制奇迹一样。比尔•盖茨能创造奇迹,是因为他看准了个人计算机软件市场的趋势,所以创建的公司叫Microsoft(微软):Micro(小)Soft(软件)。那么Google呢?在Google出来之前已经有一些很有成就的搜索引擎公司,其实力也很强,看来不只是Google看见了搜索的趋势。Google究竟成功的秘密在哪儿?
Google的成功有许多因素,最重要的是Google对搜索结果的排序比其它搜索引擎都要好。Google保证让绝大部分用搜索的人,都能在搜索结果的第一页找到他想要的结果。客户得到了满足,下一次还过来,而且会向其他人介绍,这一来一往,使用的人就多了。所以Google在没有做任何广告的前提下,让自己成为了全球最大的品牌。Google究竟采用了哪种排序技术?PageRank,即网页级别。
Google有一个创始人叫Larry Page,据说PageRank的专利是他申请的,于是依据他的名字就有了Page Rank。国内也有一家很成功的搜索引擎公司,叫百度。百度的创始人李彦宏说,早在1996年他就申请了名为超链分析的专利,PageRank的原理和超链分析的原理是一样的,而且PageRank目前还在 Paten-pending(专利申请中)。言下之意是这里面存在专利所有权的问题。这里不讨论专利所有权,只是从中可看出,成功搜索引擎的排序技术,就其原理上来说都差不多,那就是链接分析。超链分析和PageRank都属于链接分析。
链接分析到底为何物?由于李彦宏的超链分析没有具体的介绍,笔者唯一看过的就是在美国专利局网站上关于李彦宏的专利介绍。PageRank的介绍倒是不少,而且目前Google毕竟是全球最大的搜索引擎,这里以PageRank为代表,详细介绍链接分析的原理。
[编辑] PageRank?揭密
PageRank?的原理类似于科技论文中的引用机制:谁的论文被引用次数多,谁就是权威。说的更白话一点:张三在谈话中提到了张曼玉,李四在谈话中也提到张曼玉,王五在谈话中还提到张曼玉,这就说明张曼玉一定是很有名的人。在互联网上,链接就相当于“引用”,在B网页中链接了A,相当于B在谈话时提到了 A,如果在C、D、E、F中都链接了A,那么说明A网页是最重要的,A网页的PageRank值也就最高。
如何计算PageRank值有一个简单的公式:
其中:系数为一个大于0,小于1的数。一般设置为0.85。网页1、网页2至网页N表示所有链接指向A的网页。
由以上公式可以看出三点:
1. 、链接指向A的网页越多,A的级别越高。即A的级别和指向A的网页个数成正比,在公式中表示,N越大, A的级别越高; 2. 、链接指向A的网页,其网页级别越高, A的级别也越高。即A的级别和指向A的网页自己的网页级别成正比,在公式中表示,网页N级别越高, A的级别也越高; 3. 、链接指向A的网页,其链出的个数越多,A的级别越低。即A的级别和指向A的网页自己的网页链出个数成反比,在公式中现实,网页N链出个数越多,A的级别越低。
每个网页有一个PageRank值,这样形成一个巨大的方程组,对这个方程组求解,就能得到每个网页的PageRank值。互联网上有上百亿个网页,那么这个方程组就有上百亿个未知数,这个方程虽然是有解,但计算毕竟太复杂了,不可能把这所有的页面放在一起去求解的。对具体的计算方法有兴趣的朋友可以去参考一些数值计算方面的书。
总之,PageRank有效地利用了互联网所拥有的庞大链接构造的特性。从网页A导向网页B的链接,用Google创始人的话讲,是页面A对页面B的支持投票,Google根据这个投票数来判断页面的重要性,但Google除了看投票数(链接数)以外,对投票者(链接的页面)也进行分析。「重要性」高的页面所投的票的评价会更高,因为接受这个投票页面会被理解为「重要的物品」。从新浪、雅虎、微软的首页都有我网页的三个链接的话,可能比我在其他网站找三十个链接还强。如果还有人不理解这个原理,就去想想有句成语叫:三人成虎。如果有三个人都说北京大街上有老虎,那么许多人会认为有老虎,如果这三个人都是国家领导人的话,那么所有人都会认为北京大街上有老虎。
每个网页都会有PageRank值,如果大家想知道自己网站的网页PageRank值是多少,最简单的办法就是下载一个Google的免费工具栏(http://toolbar.google.com/):
每当你打开一个网页,都可以很清楚的看见此网页的PageRank值。当然这个值是一个大概数字。
据Google技术负责人介绍,Google除了用PageRank衡量网页的重要程度以外,还有其它上百种因素来参与排序。其它搜索引擎也是如此,不可能按照某一种规则来进行搜索结果的排序。
[编辑] 其他方法
HillTop算法 :
HillTop?同样是一项搜索引擎结果排序的专利,是Google的一个工程师Bharat在2001年获得的专利。Google的排序规则经常在变化, 但变化最大的一次也就是基于HillTop算法进行了优化。HillTop究竟原理如何,值得Google如此青睐?
其实HillTop算法的指导思想和PageRank的是一致的,都是通过网页被链接的数量和质量来确定搜索结果的排序权重。但HillTop认为只计算来自具有相同主题的相关文档链接对于搜索者的价值会更大:即主题相关网页之间的链接对于权重计算的贡献比主题不相关的链接价值要更高。如果网站是介绍“服装”的,有10个链接都是从“服装”相关的网站链接过来,那这10个链接比另外10个从“电器”相关网站链接过来的贡献要大。Bharat称这种对主题有影响的文档为“专家”文档,从这些专家文档页面到目标文档的链接决定了被链接网页“权重得分”的主要部分。
与PageRank结合HillTop算法确定网页与搜索关键词的匹配程度的基本排序过程取代了过份依靠PageRank的值去寻找那些权威页面的方法。这对于两个具有同样主题而且PR相近的网页排序过程中,HillTop算法就显得非常的重要了。HillTop同时也避免了许多想通过增加许多无效链接来提高网页PageRank值的做弊方法。
锚文本(Anchor Text)
锚文本名字听起来难以理解,实际上锚文本就是链接文本。例如,在个人网站上把中央电视台(www.cctv.com)做为新闻频道的链接,访问者通过点击网站上的“新闻频道”就能进入http://www.cctv.com网站,那么“新闻频道”就是中央电视台网站首页的锚文本。
锚文本可以做为锚文本所在的页面的内容的评估。正常来讲,页面中增加的链接都会和页面本身的内容有一定的关系。服装的行业网站上会增加一些同行网站的链接或者一些做服装的知名企业的链接;另一方面,锚文本能做为对所指向页面的评估。锚文本能精确的描述所指向页面的内容,个人网站上增加Google的链接,锚文本为“搜索引擎”。这样通过锚文本本身就能知道,Google是搜索引擎。
锚文本对搜索引擎起的作用还表现为可以收集一些搜索引擎不能索引的文件。例如,网站上增加了一张张曼玉的照片,格式为jpg文件,搜索引擎目前很难索引(一般只处理文本)。若这张照片链接的锚文本为“张曼玉的照片”,那么搜索引擎就能识别这张图片是张曼玉的照片,以后访问者搜索“张曼玉”的时候,这张图片就能被搜索到。
由此可见,在网页设计中选择合适的锚文本,会让所在网页和所指向网页的重要程度有所提升。
页面版式
每个网页都有版式,包括标题、字体、标签等等。搜索引擎也会利用这些版式来识别搜索词与页面内容的相关程度。以静态的html格式的网页为例,搜索引擎通过网络蜘蛛把网页抓取下来后,需要提取里面的正文内容,过滤其他html代码。在提取内容的时候,搜索引擎就可以记录所有版式信息,包括:哪些词是在标题中出现,哪些词是在正文中出现,哪些词的字体比其他的字体大,哪些词是加粗过,哪些词是用KeyWord标识过的等等。这样在搜索结果中就可以根据这些信息来确定所搜索的结果和搜索词的相关程度。例如搜索“毛泽东”,假如有两个结果,一篇文章标题是《毛泽东的一生》,另一篇文章的标题是《江青的一生》但内容有提到毛泽东,这时搜索引擎会认为前者比较重要,因为“毛泽东”在标题里出现了。
因此,合理的利用网页的页面版式,会提升网页在搜索结果页的排序位置。
收费排名
应该说收费排名并不属于排序技术(这里指的收费排名也包括竞价排名),而是一种搜索引擎的赢利模式。但收费排名已经最直接的影响到了搜索引擎的排序,在此也略做说明。
用户可以购买某个关键词的排名,只要向搜索引擎公司交纳一定的费用,就可以让用户的网站排在搜索结果的前几位,按照不同关键词、不同位置、时间长短来定义价格。价格从几千元到几十万元不等(像“六合彩”在3721上的排名费用大多是几十万)。
收费排名一方面给搜索引擎公司带来收益,一方面给企业带来访问量,另外对访问者也有一定好处。因为访问者想找“西服”,企业想卖“西服”,于是出钱让访问者能找到他,这样,买家和卖家能马上见面。但收费排名给访问者带来更多的却是不真实,结果排序已经失去了公正性,有时候还带来大量垃圾。在百度搜索引擎上搜索“星球”,排在第一位的是一家做石墨的公司,排在第二位的居然是“想找星球?上易趣吧!”(见下图)。真有些让访问者哭笑不得。
当然,对于企业来说,收费排名是提升网站在搜索引擎中排名的最直接和最简单的办法。如今,如何提升网页在搜索引擎中的排序,已经形成了一门职业,叫SEO (Search Engine Optimization),即搜索引擎优化。SEO是针对搜索引擎排序的技术,通过修改网页(或者网站)结构和主动增加网站链接等方法来让搜索引擎认为这些网页是很重要的,从而提升网页在搜索引擎结果中的排序。
[编辑] 排序技术的发展趋势
各种搜索引擎的技术改进和优化,都直接反应到搜索结果的排序上。许多搜索引擎都在进一步研究新的排序方法,来提升客户的满意度。专业人士认为,目前的搜索引擎排序算法上还存在两大不足。
1. 没有真正解决相关性。相关性是指搜索词和页面的相关程度。仅仅通过链接、字体、位置等表面特征,不能真正判断搜索词和文章的相关性,更何况许多时候这些特征不会都同时存在。这也是许多对搜索引擎做弊方法能有效的原因。另外,有些文章中没有出现搜索词,但说的就是和搜索词十分相关的内容,例如搜索“恐怖分子”,但有网页是介绍本拉登的一些破坏行动,文中没有出现“恐怖分子”的子眼,搜索引擎就无法搜索到该网页。表面特征只能治标,不能治本。治本的方法应该是增加语意理解,例如主题词和关键词的提取,从语意上分析,得出搜索词和网页的相关程度,分析的越准,效果就会越好。
2. 搜索结果的单一化。在搜索引擎上,任何人搜索同一个词的结果都是一样。这样明显不能满足访问者。科学家搜索“星球”,可能是希望了解星球的知识,但普通人可能是想找“星球大战”电影,但搜索引擎所给的都是一样的结果。如何满足这些不同类型的访问者,需要对搜索结果的个性化。国外vivisimo公司(http: //www.vivisimo.com)就是想解决这个问题,他们采用对搜索结果自动聚类的办法来满足不同类型客户的需要。搜索结果排序如果要实现从单一化到个性化,vivisimo已经迈出了一步,但最理想的结果应该是针对每个访问者,排序结果直接和他们的搜索习惯和意愿有关。搜索“体育”,对喜欢足球的人应该把足球的相关结果排在前面,对喜欢篮球的人应该把篮球的相关结果排在前面。
搜索引擎的排序技术应该也会朝着解决这两个不足的方向发展:语意相关性和排序个性化。前者需要完善的自然语言处理技术,后者需要记录庞大访问者信息和复杂的计算,要达到其中任何一个的要求均非易事,如何解决这些难题,任务落在了科学家和工程师们的肩上,哪个搜索引擎解决了这些问题,她可能会称为下一个搜索世界的霸主。