ESHOP|IOS|IDC|E游通|E客通

网奇旗下产品

背景:
阅读新闻

网站优化TF-IDF原理概述

[日期:03-14] 来源:  作者: [字体: ]

 

  当用户在搜索引擎搜索一个词的时候,它会将词去和索引库内的文档去进行匹配计算,将和词语最相关的一定数量的文档取出,参与后续的排名计算。此处“最相关”的量化指标被成为“权值”,而对于绝大多数搜索引擎,权值的计算中TF*IDF框架都是比较重要的一部分。其中被主要考虑到的因子为:词频TF和逆文档频率IDF。
  词频因子(TF)
  TF计算因子代表了词频,即一个单词在文档中出现的次数。一般来说,词频越高越显得文档和该词相关,就应该给予这个单词更高的权重。具体计算词频因子的时候,基于不同的出发点,可以采纳不同的计算公式。最简单的方式是直接利用词频数,比如一个文档中某单词出现5次,它的TF值就是5。
  一种词频因子的变体计算公式是:W = 1+log(TF)
  即将词频数值TF取Log值来作为词频权值,比如单词在文档中出现4次,其词频因子权值为3,公式中的数字1是为了平滑计算之用。因为如果TF值为1的情况下,取Log后值为0,即本来出现了一次的单词,按照这种方法计算会认为这个单词从来没有在文档中出现过,为了避免这种情况,采用+1的方式来进行平滑。之所以要对词频取Log,是基于如下考虑:即使一个单词出现了10次,也应该在计算特征权值时,比出现1次的情况权值大10倍,所以加入Log机制抑制这种过大的差异。
  逆文档频率因子(IDF)
  IDF代表的是文档集合范围的一种全局因子,它只和给定的文档集合有关,与具体文档无关。所以IDF考虑的不是文档本身的特征,而是特征单词之间的相对重要性。计算公式如下:IDF = log(N/n)其中N代表文档集合中总共有多少个文档,而n代表特征单词在其中多少个文档中出现过,即文档频率。由公式可以,当越多的文档包含某个单词时,则其IDF值越小,意味着这个词区分不同文档的能力越差。
  TF*IDF框架
  TF-IDF值的计算公式为:
  Weight = TF * IDF
  百度所实际运用的
  对于百度,TF-IDF框架自然是被运用到的。但对于单个索引词排名时,TF-IDF不是关键词排名的决定性因素。百度的排名本质是概率检索模型。根据我以前对百度上做过的简单统计分析,百度对于TF计算至少运用了上述的Log平滑计算方法。除了前面提到的之外,当一个关键词的出现次数超过一定阈值时,其TF值会随着出现次数的增多,而继续以Log形式使排名下降。因为有这个机制存在,所以一个页面上面每个词的TF-IDF值是有各自不同的上限的,这对于SEO是一个很重要的概念。可以自己用来实际体验TF-IDF计算的最简单方法:虽然不很确切,但先将一篇文章中某关键词出现的次数记为TF值,另外到Google搜索该词,将该词的搜索结果总数量作为DF值。然后将TF除以DF,就可以得到最简单的TF-IDF值了。
  案例:
  举个实例,比如“喷码机价格”一词,它会被百度分成“喷码机”和“价格”二词。到Google去分别搜索下“喷码机”和“价格”二词,“喷码机”的结果大约是20,600,000个,“价格”则对应大约1,850,000,000个搜索结果,后者的DF值大约高前者百倍。(之所以不到百度去搜索,因为百度显示搜索结果数量上限为1亿个)
  在这种情况下,哪怕“喷码机”和“价格”二词都在一篇文档中出现相同的次数,后者也会因为IDF因子的影响,而导致权值远远低于前者。因此,一般情况下只有当“喷码机”这个词权值高的页面,才有机会在“喷码机价格”这个词的排名上获得好的表现,和“价格”此词权值的关系很小。因为无论如何,“价格”此词的权值是不可能通过TF-IDF规则获得太多的。所以至少对于百度而言,想单独做“喷码机价格”这种词的排名的话,一般要用“喷码机”排名本就很高的着陆页来做,不然相对会难的多。

收藏 推荐 打印 | 录入:admin | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
热门评论