首页  ·  知识 ·  产品运营
搜索引擎的分析--聚类分析
佚名  南国暖风的专栏  运营  编辑:dezai  图片来源:网络
往往我们都知道一个词有多个含义,例如:java,可能指的是Java编程语言,也有可能指的是爪哇岛。可是当我们在一个搜索引擎中检索Java的时候
往往我们都知道一个词有多个含义,例如:java,可能指的是Java编程语言,也有可能指的是爪哇岛。可是当我们在一个搜索引擎中检索Java的时候,可以肯定的说Java编程语言的内容远远覆盖了爪哇岛的内容(无论是返回结果的数量还是返回的PageRank排名)。但是如果我们的确希望检索一些关于爪哇岛的内容,该如何呢?
 
搜索引擎中的聚类分析是指检索一个关键词的时候,将返回结果中的内容进行聚类,相同类别的东西放在一起。目的是让同一个类中的文章尽量类似,而不同的类中的文章尽量的不同。还是Java的例子,在检索出java的相关文章后,将这些文章聚类,可以分析出“java 语言介绍”,“Java Applet”,“Java SUN”,“Java Island”等等不同的分类。
 
目前来说,聚类分析是搜索引擎中最难的技术之一,同样也是最有挑战性的工作之一。
 
Web文档的聚类大体上有两种,一种是层次聚类,一种是无层次聚类。层次聚类就是一个聚类的结果中,可以再进行更细的聚类。例如"Java Applet"里面还有"Java Applet Tutorial"和“Java Applet Download”等等;而无层次聚类就是一层,各个类没有更细的分类。
 
聚类算法通常用于数据分析和理解,将高维数据投影到低维空间上的过程是非常关键的。目前主要有三种重要的算法,分别是PCA,MDS和SOM。(如果不熟悉的话,可以参考一些模式识别的书)在低维空间上,我们的聚类就变得可行了,主要采用的方法是kNN算法,这个算法相当简单,利用的是反复叠带的原理,可以证明kNN算法的初始聚类中心点和最终的聚类效果关系并不大。另外一些聚类算法,如EM算法,都比较复杂,运算度比较高,不适合在海量数据中进行。
 
经典的WEB聚类文章,可以参考
Scatter/Gather: A Cluster-based Approach to browsing Large Document Collections
Grouper: A Dynamic Clustering Interface to Web Search Results
以及一个中文作者的
Learning to Cluster Web Search Results
 
比较具有代表意义的可以参考一个产品:http://www.vivisimo.com 虽然这个站点对中文支持的并不是很好,但是已经可以看到聚类的一些成绩了。
也可以参考文章
How the Vivísimo Clustering Engine Works
本文作者:佚名 来源:南国暖风的专栏
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的