夺命雷公狗—玩转SEO---62---TF-IDF核心算法与运用
比如我们站点有一篇文章,搜索引擎想过来提取一篇文章的关键词,这是涉及到数据挖掘、文本处理、信息检索等很多的领域,但是出乎意料的是,有一个非常简单的经典算法,可以给出令人相当满意的结果。它简单到都不需要高等数学,普通人只用10分钟就可以理解,这就是我今天想要介绍的TF-IDF算法。
搜索引擎如果需要判断一篇文章主题,比如《细说PHP技术》,一个容易想到的思路,就是找到出现次数最多的词。如果某个词很重要,它应该在这篇文章中多次出现。于是,我们进行"词频"(Term Frequency,缩写为TF)统计。 比如文章中会有很多的 的 是 在 之类的词,我们会称呼他为“停用词”,那么停用词又是什么呢?百度百科中有详细的介绍:
这里其实可以理解为:搜索引擎他的存储空间内存是有一定的,使用他在处理时候,他会将页面中哪些无关的词去掉,这样他抓取的时候会比较更快速,也节省空间从而提升效率~
假设我们将它都过滤掉,只考虑剩下的实际意义的词,这样会出现一个新问题,我们可能会发现 细说 和 PHP 与 技术 这三个词出现的次数一样多,这样就会意味着他们的重要性是否一样呢?
显然不是,因为细说这个词这个词很常见,相对而言,PHP 和 技术 这个词他不是这么常见,如果这三个词在同一篇文章,且出现次数一样多,也有人认为细说中细说的重要程度大于PHP 和 技术 ,其实可以理解为 PHP技术 其实可以排在细说前面,因此我们就要衡量一个词是不是常见词,如果那个词比较少见,那么如果同时他在文章中出现的次数较多,那他讲反应了文章的特性,这就是我们所需要的关键词。
从统计学语言上表达,在次频基础上需要对每个词分辨一个重要的原则,给文章一个关键词分配一个重要的权重,最常见的 的 是 在 他们是停用词,给与较小的权重,细说 也给予较少的权重,那么很少见的词 PHP 和 技术 给予较大的权重,如果我们去创造一个词,那么这个词也是比较少见他的权重也会比较大,这个权重也叫做 逆文档频率 (Inverse Document Frequency,缩写为IDF)它的大小与一个词的常见程度成反比。
比如 细说 这个词比较常见,那么他的逆文档频率也将会是较低的,成反比,我们知道了 词频(TF) 和 逆文档频率(IDF) 后,将这两个词相乘,就得到一个我们所说的TF-IDF值了,某个词对文章的重要性越高,那么他的TF-IDF的值就越大,所以拍在前面的词就是文章的关键词了~ ~!
第一步、计算词频的方法:
词频(TF)=某个词在文章中的出现次数
文章有长度之分的,为了不同文章的比较,所以进行词频标准化:
词频(TF) = 某个词在文章中出现的次数 ÷ 文章的总词数
这里可以理解为比如我们要的 细说 这个词在一篇文章中值出现了一次,那么这篇文章内容系统会自动进行分词,分出大量的词数,比如 PHP 为一个词 技术 为一个词,如此类推,分出大量的词后的总关键词数量 进行一个除法计算即可算出 词频(TF)~~!
或者
词频(TF) = 某个词在文章中出现的次数 ÷ 该文出现次数量最多的词的出现次数
第二步、计算逆文档频率
这时,需要一个语料库(corpus),用来模拟语言的使用环境。
其实可以理解为 语料库 其实是搜索引擎的索引库,这里的的总数我们不得而知,这个要问度娘~~!
包含该次的文档数:
在搜索引擎搜索出来的结果 细说 明显是最小的,这里其实可以理解为我们的 包含该次的文档数。
逆文档频率(IDF) = log(语料库的文档总数 ÷ (包含该次的文档数 + 1 ))
如果一个词越常见,那么分母就越大,逆文档频率就越小越接近0。分母之所以要加1,是为了避免分母为0(即所有文档都不包含该词)。log表示对得到的值取对数。
第三步、计算IF-IDF
TF-IDF = 词频(TF) X 逆文档频率(IDF)
一个词在文档中出现的次数(词频TF),与该词在语料库中出现的次数成反比,如果出现的越少,那么逆文档频率将越高,IDF就越高,相乘那么TF-IDF的值就越大~ ~!
还是以《细说PHP技术》为例,假定该文长度为1000个词,"细说"、"PHP"、"技术"各出现20次,则这三个词的"词频"(TF)都为0.02。然后,搜索Google发现,包含"的"字的网页共有250亿张,假定这就是中文网页总数。包含"中国"的网页共有62.3亿张,包含"PHP"的网页为0.484亿张,包含"技术"的网页为0.973亿张。则它们的逆文档频率(IDF)和TF-IDF如下:
"PHP"的TF-IDF值最高,"细说"其次,"技术"最低。(如果还计算"的"字的TF-IDF,那将是一个极其接近0的值。)所以,如果只选择一个词,"细说"就是这篇文章的关键词。
TF-IDF算法的优点是:简单,快速,比附符合实际结果情况
TF-IDF缺点是:单纯以"词频"衡量一个词的重要性,不够全面,有时重要的词可能出现次数并不多。而且,这种算法无法体现词的位置信息,出现位置靠前的词与出现位置靠后的词,都被视为重要性相同,这是不正确的。(一种解决方法是,对全文的第一段和每一段的第一句话,给予较大的权重。)
搜索引擎的核心变化一直都是很小的,最多只是在基础上又一点延伸而已,所以上面的方法到目前还是很好使的 ~ ~!
本文其实是参考了阮一峰大神的一篇文章 http://www.ruanyifeng.com/blog/2013/03/tf-idf.html 来进行编写的。
早在2013年的时候阮一峰大神就已经玩的东西,小弟只是借鉴他的一篇文章来个TF-IDF玩法以便大家进行参考,如果有哪里写的不好,请大家多多指点,以便大家一起提升~ ~!
灰产玩法小提示:
如果做灰产行业,可以百度指向某一个站,然后给这个站增加一点权重,增加一点信任度,灰产行业玩法是这样而已,正规站点一般都不是这样玩的~~!
灰产还有一个玩法就是疯狂的去举报竞争对手的快照,这样百度就会认为这个页面有问题,会受到降权的,他就会进入一个观察期,但是目前大家都慢慢的转白了~~!
忙了一天,到USB电影网:http://www.usbdy.com/ 看看电影放松下,突然发现又更新了不少新电影,本期夺命雷公狗为大伙们推荐几部一篇放松下咯~~!
白鸟谷 : http://www.usbdy.com/dm/73156/
最好的我们2019 : http://www.usbdy.com/dy/aiqing/73155/
无主之城2019 : http://www.usbdy.com/tv/dalu/73154/
密探 : http://www.usbdy.com/dy/dongzuo/73153/
走到尽头 : http://www.usbdy.com/dy/dongzuo/73152/
小公女 : http://www.usbdy.com/dy/aiqing/73150/
有女朋友的老铁们可以去陪陪女朋友,木有女朋友的可以过来看看电影,放松一下,其实是挺不错的选择哟~~!