tfidf算法介绍及实现。真正的网站权重是看不到的,搜索引擎也从来没给出过,但网站是有权重一说的,并且有具体的算法。今天,烨晟网络( www.yeshengweb.com )带来的是《tfidf算法介绍及实现(tf-idf是什么的一种经典算法)》。希望对大家有所帮助。
权重较高的网站的页面在被搜索引擎收录并索引之后,会给予一个初始的权重值,也可以理解为最初的关键词排名,随着搜索引擎用户通过搜索关键词,发现并点击这个页面的数据,影响了这个页面后期的排名情况。
TF-IDF是页面自身被搜索引擎赋予权重的一个加权方法,它与网站权重、内链指向、外链指向等等均无关,是我们做出来这个页面之后,通过TF-IDF加权算法就给出页面某些关键词的排名能力,根据我们写作水平和页面设计内容不同,赋予的最初的权重也是不同的,所以同一站点发布了很多文章,有些文章有排名,有些文章没有排名,归根结底还是TF-IDF影响着这个最初的关键词排名,IT-IDF是SEOer写好符合搜索引擎文章的捷径,也是必须要掌握的基础知识。
索引创建中的权值
在《搜索引擎基本原理分析》中已经介绍过了IT-IDF就是搜索引擎创建索引过程中的加权方法,这些IT-IDF加权的就是页面自身,与其他无关。错误君从以下三点来解释索引项权值的概念:
1)索引项权值概念
索引项的权值,在一定程度上反应了文档中词的相对重要性,这个值通常用于索引排序过程中计算分值,也就是影响搜索引擎排序的重要因素之一。
2)索引项权值怎么得来的
索引项权值,是由检索模式中的加权组件利用文档统计结果来计算得出的。
3)索引项加权方法
传统的检索模式中最常见的加权方法:TF-IDF算法。
TF-IDF加权方法
1)TF-IDF定义
TF-IDF算法,基于索引项出现在一个文档中的次数或频率,以及索引项在整个文档集合中出现的频率,两者的组合(或者说两者的乘积)。
2)TF-IDF中词的解析
次数和频率称之为词频,英文简称为tf。
索引项在整个文档集合中出现的频率,称之为范文档频率,英文简称为idf。
3)TF-IDF的简单说明
TF-IDF的核心思想,是指某个词或某个短语在一篇文档中出现的频率高,并且在索引库的其他文档中出现较少,就认为这个词或短句有很好的类别区分能力,可以用来进行分类。
简单来讲,某个词或某个短语就是索引词,对于这篇文章而言,该词项将被赋予较高的权值。
认识并使用TF-IDF加权方法
对SEOer而言,一般正确理解和应用TF-IDF加权方法即可,公式看看就好。错误君为大家总结了通过TF-IDF总结的几点SEO方面的常识:
1)品牌词容易优化
品牌词一般是自己创造的,满足TF值大,同时IDF值大,页面加权高,自然排名很容易。
2)行业核心词难优化
无数网站都在优化这同一个词,然而首页的位置却是有限的,大家都满足TF大,但同样IDF越小,证明这个词越难优化。
这也就是平时在判断关键词优化难度时,为什么将百度搜索的相关结果数作为优化难度之一的原因。
3)多挖掘没有百度指数的关键词-降低优化难度
行业中有百度指数的词,大家都在做优化与排名,这样的词不光是竞争压力大,可能还带不来多少点击。因为百度指数可能是100,真实用户也许只有2个,另外的98个都是企业的竞争者们。
我们应该挖掘一些没有百度指数的词,但是需要这次保持一定的搜索量,这样可以保证降低优化难度的同时,带来更多真实流量。
4)TF并不是万能!过度堆积害处大!
根据TF-IDF算法,很多人会想,增加关键词密度或频率,以增加TF值,从而获得更好的排名。然而,这种做法可以适当做,但超过一定度的话,没什么好处,反而可能会因为过度堆积被搜索引擎降权!
所谓的2%~8%的关键词密度只是个大概范围,很多排名好的页面很多都在2%一下,当然也有在8%以上的,只要密度不是过小,不必过度在乎这个。
举个例子,已经是5%的密度了,非要故意堆积到8%,甚至百分之20%,就会变得非常没有意义。这是对TF高的一种误解。
也就是我们能够根据TF-IDF算法中得到的启发是不应该让关键词的密度或频率(TF)过低,然而对于IDF来说,我们只能通过寻找IDF值高的关键词来优化,如果我们优化的关键词的IDF值本来就很低,我们也不能对其改变这个现状,IDF值越低,证明这个词在一定程度上就越难优化。
所以,在网站优化过程中,除了要做好页面外,还需要关注内链与外链优化。
TF-IDF加权公式
TF-IDF加权方法的公式看看就好,没必要去记忆。
1)TF公式
TF(i,j):关键词j在文档i中的出现频率。
n(i,j):关键词j在文档i中出现的次数。
举例来讲:
一篇文章总共100个词,其中“SEO培训”一共出现了10词,那么TF就是10/100,结果就是0.1。
然而,由于文章中会出现大量的“的”、“得”、“吗”、“地”,不能正常反应文章的词,所以,就得用IDF来做一个限制了。
2)IDF公式
IDF(i):词语i的反文档频率
|D|:语料库中的文件总数
|j:t(i)属于d(j)|出现词语i的文档总数
+1是为了防止分母变0。
IDF就可以防止常用词的干扰了。
还是刚才的例子:
一篇文章总共100个词,其中“SEO培训”一共出现了10词,那么TF就是10/100,结果就是0.1。
另外“我们”一共出现了10词,其TF结果也是0.1。
假设语料库总共有1000篇文章,其中“SEO培训”文章有10篇,“我们”文章有1000篇。
“SEO培训”的IDF=log(1000/10)= 2
“我们”的IDF=log(1000/1000)= 0
3)TF-IDF公式
TF-IDF = TF*IDF
“SEO培训”的TF*IDF=0.1*0=0
“我们”的TF*IDF=0.1*2=0.2
那么很显然,对于这篇文章而言,“SEO培训”比“我们”更加重要。