夺命雷公狗—玩转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/

 

有女朋友的老铁们可以去陪陪女朋友,木有女朋友的可以过来看看电影,放松一下,其实是挺不错的选择哟~~!

 

posted @ 2019-07-30 00:07  夺命雷公狗  阅读(243)  评论(0编辑  收藏  举报