本文作者:成都诗洋seo

【非言seo】TF-IDF算法原理与网站SEO优化中的应用-高级seo优化

成都诗洋seo 1个月前 ( 09-04 ) 79 抢沙发
【非言seo】TF-IDF算法原理与网站SEO优化中的应用-高级seo优化摘要: 【非言seo】TF-IDF算法原理和TF-IDF算法在网站SEO优化中的应用到底怎么回事?许久之前就有关注到TF-IDF的相关介绍,大部分的讲解都是围绕概念来讲,很...

【非言seo】TF-IDF算法原理和TF-IDF算法在网站SEO优化中的应用到底怎么回事?许久之前就有关注到TF-IDF的相关介绍,大部分的讲解都是围绕概念来讲,很多人把TF-IDF称作“算法”,笔者通读了很多文章,甚至在自己的网站进行了运用。鉴于很多朋友说涉及到太多公式,不容易理解,本文用简单的实例说明,谈谈深圳网站建设佰达科技小编对TF-IDF的一些见解。在过去一年左右的时间里,你可能已经看到TF-IDF一词被抛出,很多搜索引擎优化风潮来去匆匆,一些最有趣的搜索引擎优化最终会吸引惩罚,对吧?但TF-IDF有点不同。TF-IDF算法不是对搜索引擎的操纵,它是一种分析内容主题的方法,它建立在与搜索引擎本身相同的原则之上。因此,对于需要真正客观的方法来衡量和改进内容的SEOer来说,它具有惊人的潜力。我最近刚刚将案例研究完全包含在其能力范围内,结果非常有趣。我想确保在我获得从个人实验中学到的内容之前,我将了解TF-IDF的知识,以及它是如何使用的。

TF-IDF算法步骤图1

“TF-IDF”算法的原理

首先我们来了解一下什么是TF-IDF?其实这个是两个词的组合,可以拆分为TF和IDF。TF(Term Frequency,缩写为TF)也就是词频啦,即一个词在文中出现的次数,统计出来就是词频TF,显而易见,一个词在文章中出现很多次,那么这个词肯定有着很大的作用,但是我们自己实践的话,肯定会看到你统计出来的TF 大都是一些这样的词:‘的’,‘是’这样的词,这样的词显然对我们的分析和统计没有什么帮助,反而有的时候会干扰我们的统计,当然我们需要把这些没有用的词给去掉,现在有很多可以去除这些词的方法,比如使用一些停用词的语料库等。
假设我们把它们都过滤掉了,只考虑剩下的有实际意义的词。这样又会遇到了另一个问题,我们可能发现"中国"、"蜜蜂"、"养殖"这三个词的出现次数一样多。这是不是意味着,作为关键词,它们的重要性是一样的?
显然不是这样。因为"中国"是很常见的词,相对而言,"蜜蜂"和"养殖"不那么常见。如果这三个词在一篇文章的出现次数一样多,有理由认为,"蜜蜂"和"养殖"的重要程度要大于"中国",也就是说,在关键词排序上面,"蜜蜂"和"养殖"应该排在"中国"的前面。
所以,我们需要一个重要性调整系数,衡量一个词是不是常见词。如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词。
用统计学语言表达,就是在词频的基础上,要对每个词分配一个"重要性"权重。最常见的词("的"、"是"、"在")给予最小的权重,较常见的词("中国")给予较小的权重,较少见的词("蜜蜂"、"养殖")给予较大的权重。这个权重叫做"逆文档频率"(Inverse Document Frequency,缩写为IDF),它的大小与一个词的常见程度成反比。
知道了"词频"(TF)和"逆文档频率"(IDF)以后,将这两个值相乘,就得到了一个词的TF-IDF值。某个词对文章的重要性越高,它的TF-IDF值就越大。所以,排在最前面的几个词,就是这篇文章的关键词。
TF-IDF是Term Frequency - Inverse Document Frequency的缩写,即“词频-逆文本频率”。它由两部分组成,TF和IDF。
前面的TF也就是我们前面说到的词频,我们之前做的向量化也就是做了文本中各个词的出现频率统计,并作为文本特征,这个很好理解。关键是后面的这个IDF,即“逆文本频率”如何理解。在上一节中,我们讲到几乎所有文本都会出现的"to"其词频虽然高,但是重要性却应该比词频低的"China"和“Travel”要低。我们的IDF就是来帮助我们来反应这个词的重要性的,进而修正仅仅用词频表示的词特征值。
概括来讲, IDF反应了一个词在所有文本中出现的频率,如果一个词在很多的文本中出现,那么它的IDF值应该低,比如上文中的“to”。而反过来如果一个词在比较少的文本中出现,那么它的IDF值应该高。比如一些专业的名词如“Machine Learning”。这样的词IDF值应该高。一个极端的情况,如果一个词在所有的文本中都出现,那么它的IDF值应该为0。
上面是从定性上说明的IDF的作用,那么如何对一个词的IDF进行定量分析呢?这里直接给出一个词x的IDF的基本公式如下:IDF(x)=logNN(x)
其中,N代表语料库中文本的总数,而N(x)代表语料库中包含词x的文本总数。为什么IDF的基本公式应该是是上面这样的而不是像N/N(x)这样的形式呢?这就涉及到信息论相关的一些知识了。感兴趣的朋友建议阅读吴军博士的《数学之美》第11章。
上面的IDF公式已经可以使用了,但是在一些特殊的情况会有一些小问题,比如某一个生僻词在语料库中没有,这样我们的分母为0, IDF没有意义了。所以常用的IDF我们需要做一些平滑,使语料库中没有出现的词也可以得到一个合适的IDF值。平滑的方法有很多种,最常见的IDF平滑后的公式之一为:IDF(x)=logN+1N(x)+1+1
有了IDF的定义,我们就可以计算某一个词的TF-IDF值了:TF?IDF(x)=TF(x)?IDF(x)
其中TF(x)指词x在当前文本中的词频。

TF-IDF算法步骤图2

一、TF词频的概念与SEO建议

举个实例,比如“喷码机价格”一词,它会被百度分成“喷码机”和“价格”二词。(题外话,分词与否也应该是取决于数据而非自己直觉的,如果以后有机会我会写写自己最近用过的一些方法。但有些人常用的从百度快照来看关键词高亮部分来判断分词,是没有任何事实基础的,没什么价值。)
到Google去分别搜索下“喷码机”和“价格”二词,“喷码机”的结果大约是20,600,000个,“价格”则对应大约1,850,000,000个搜索结果,后者的DF值大约高前者百倍。(之所以不到百度去搜索,因为百度显示搜索结果数量上限为1亿个)
在这种情况下,哪怕“喷码机”和“价格”二词都在一篇文档中出现相同的次数,后者也会因为IDF因子的影响,而导致权值远远低于前者。
因此,一般情况下只有当“喷码机”这个词权值高的页面,才有机会在“喷码机价格”这个词的排名上获得好的表现,和“价格”此词权值的关系很小。因为无论如何,“价格”此词的权值是不可能通过TF-IDF规则获得太多的。
所以至少对于百度而言,想单独做“喷码机价格”这种词的排名的话,一般要用“喷码机”排名本就很高的着陆页来做,不然相对会难的多。

第二、怎样快速了解“IDF逆文档频率”

这个概念假设看文档的话有点难了解,最初笔者看百度百科好几次才了解。涉及到杂乱的公式在这儿就不讲,结合TF一起来了解,TF-IDF的意思是,一篇文章中某关键词出现的次数越多,且在搜索引擎的资料库中包含该关键词文档数越少,则说明这个关键词越能代表此网页的主题。
举个比如来说明,假定有一篇文章,有两个关键词:“SEO优化”和“SEO服务”,在文章中,这两个关键词出现的资料都是20次,可是在百度的资料库中,包含SEO优化的文档总共有一千万个,包含SEO服务的文档有五百万个,那么则说明,SEO服务越能代表这文章的意思。或许搜索引擎资料库中包含关键词的文档数量相同,文章中出现次数越多的关键词越能代表网页主题。
从SEO的层面讲,IDF这个值是客观存在的
不必去深究,只需了解不同关键词之间的文档数多少就行,以百度为例,搜索任何一个关键词,在搜索框下面会有一个:“百度为您找到相关效果约XXX个”的这样句子,里边的数值能够作为文档数参阅。每个搜索引擎的包含关键词的文档数或许不相同,可是整体的相对比例值应该是差不多的。并且随着时间的推移,文档数也会不断发作改变。

TF-IDF算法步骤图3

“TF-IDF”算法与网站SEO优化

就我所知,现在的搜索引擎算法相关性的计算还是以TF-IDF为基础的,当然会复杂得多,但TF-IDF依然是基础之一。TF-IDF是计算文件与查询词相关性时,表述查询词中的每个词对整体查询词相关性贡献程度的。简单粗暴并且不大准确地说,两个结论:
词频越高,相关性越高
越常见的词,对相关性贡献越小
做优化时可以考虑TF-IDF,但也不必太过在意,更不必花很多时间精力,正常写作,通常就会符合相关性要求了。而且即使相关性达到最优值,也不一定获得排名,因为达到同样最优值的页面成千上万,还要靠其它因素来竞争

文章版权及转载声明:

作者:成都诗洋seo本文地址:https://www.seoeso.com/post/41.html发布于 1个月前 ( 09-04 )
文章转载或复制请以超链接形式并注明出处诗洋seo

分享到:
赞(0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论

快捷回复:

验证码

评论列表 (暂无评论,79人围观)参与讨论

还没有评论,来说两句吧...