上次写了一篇文章介绍
Google搜索引擎的工作原理。 大家可以看出Google搜索引擎成功的法宝是Google计算方向链接决定网页的PageRank算法。如果你对SEO(搜索引擎优化)有一点了解,并且细心观察的话,你会发现:现在google的搜索结果中,有一些PageRank很高的网页排在PageRank很低的网页之后。这是不是说PageRank不起作用了呢?
答案当然是否定的。PageRank在Google的搜索引擎算法中依然起着十分重要的地位。但Google更加看重那些从相关网站过来的链接,而对那些不相关的网站的链接在最后计算网页排名不起作用(但这些不相关的网页链接在计算PageRank是还是有用的), 所以就出现了大家看到的PageRank很高的网页排在PageRank很低的网页之后这种现象了。
那么Google是如果判断网站的相关性的呢?这就是我今天要介绍的隐含语义索引
LSI (Latent Semantic Index)。
隐含语义索引LSI除了计算一个网页包含的关键字以外,还参考了其它网页或者文档所包含的关键字的组成。LSI认为具有很多相同关键字的网页, 他们的文章内容也比较接近。尽管LSI算法并不理解单词的意思,但它最后计算出来的结果却是表现的非常高的智能。
LSI是如何工作的?
首先将网页所有的单词做一个列表,然后将那些没有语义的单词做过滤。将所有的文档均作出单词列表。利用这个列表可以就可以做一个以文档为X轴, 单词为Y轴的巨型矩阵。如果单词出现在某个文档,则在对应的位置表示为1,反之为0。 这样检查Y轴的某个单词就可以发现所有包含着个单词的文档。
为了使计算更加正确,LSI引入关键字的权重。关键字的权重计算基于以下常识推理:
1)单词在一篇文章中出现多次比只出现一次的单词更有意义;
2)不经常出现的单词比到处出现的单词更有意义;
第一个推理适用于单个文件,叫做本地权重。那些在一个文档中多次出现的单词就比那些只出现一次的单词有更高的本地权重。
第二个推理适用于单词在所有文档的权重计算,叫全局权重。有各种不同的全局权重计算方法,但其思路均体现为在少数文档中出现的单词比那些到处
出现的单词有更深刻的含义。一个典型的关键字在矩阵中的权重计算方法是
TF-IDF (term frequency–inverse document frequency)。
利用这个巨型的单词文档矩阵,LSI还可以算出某个主题在其它文档中所出现的相关的关键字以及出现频率。这样即使有的相关文档不出现你所搜索的关键字,也可能将相关文档搜索出来。这比以前只对照关键字的搜索方法更进一步。所以如果你还是采用传统的关键词匹配的方法作网页优化的话,其优化效果将大大降低。
LSI还可以用来分析网页的链接描述文本(Anchor Text)。如果你的网页反向链接全部采用相同的链接描述文本, 而不采用其它相关的关键字,那么你的反向链接的有效性也必将大大降低。
举例来说:如果你是做“书”这个关键词,那么其相关的关键词可以是“手册”“指南”“报告”等等。