SEO技术:TF-IDF算法关键词提取

TF-IDF算法简介

TF-IDF(termfrequency–inversedocumentfrequency)算法一种常用的信息检索和数据挖掘的加权技术。

TF-IDF算法原理

TF-IDF算法是统计方法,用来评估对corpus中某个词的重要性。词的重要性与其在文本中出现的次数成正比地增加,但是随着它在corpus中出现的频率会下降。在搜索引擎中经常使用TF-IDF算法加权这一方法来衡量文件和用户查询之间的相关性。除TF-IDF外,互联网搜索引擎也采用了基于链接分析的分级方法,来决定文件在搜索结果中出现的顺序。

TF-IDF算法的基本观点:如果一篇文章中一个词或词组出现的频率TF较高,而在其他文章中很少出现,则认为该词或词组具有较好的类别区分能力,适合作分类。TFIDF算法实际上是:TF*IDF(词频乘逆文本频率)。TF表示在文本中出现的词条频率。


IDF的基本观点是:如果文本包含的词条t越少,即n越小,IDF越大,说明词条t有很好的分类区分能力。若一类文本C中包含词条t的文本数量m,而其他类包含t的文本总数k,显然所有包含t的文本数量都是n=m+k,当m大时,n也大,IDF公式所示的IDF的值会小,说明该词条t类别区分能力不强。但在现实中,如果在类的文本中频繁出现词条,那么就说明了这一类词条可以很好地表现这一类文本的特征,这样的词条就应该给它们更高的权重,选出来作为此类文本的特征词,以区别于其他类别文件。IDF也有这样的缺点.在一份给定的文件中,词频(TF)是指在该文件中出现某个特定词语的频率(termfrequency)。这一数字是对词数(termcount)的标准化,以防止其偏向于长文件。(无论这个词是否重要,相同的词在长文中的词数可能比短文件中的词要大。)就某一文件中的词语而言,其重要性可以用下列词语表示:


位于|D|:corpus中的文件总数。

:含有单词的文件数(即文件的数目)如果没有出现在corpus中,就会导致分母为零,所以通常用作分母。接着计算TF和IDF的乘积。

TF-IDF算法在特定文件中的高频率,以及该词在一系列文件中的低频率,都会产生高权重的TF-IDF。所以TF-IDF算法倾向于过滤掉普通词汇,保留重要词汇。

TF-IDF算法举例

在计算TF-IDF时,有许多不同的数学公式。这个例子用上面的数学公式来计算。词汇频率(TF)是一个单词的出现次数除以文件中单词的总数。假设一份文档的字数是1000字,而“野猪”一词出现了30次,则该文件中“野猪”一词的词频为30/1000=0.03。一种计算文件频率(IDF)的方法是,在文件集中包含的文件总数除以确定有多少个文件中出现了“野猪”一词。因此,如果在10000份文本中出现了“野猪”一词,而文件总数为100000000,那么它的反向文件频率就是lg(100000000/10000)=4。TF-IDF算法最终得分是0.03*4=0.12。

TF-IDF算法应用

权值计算法常常与余弦相似度(cosinesimilarity)一起被用在向量空间模型中,用来判断两个文件之间的相似程度。


TF-IDF算法总结

TF-IDF算法模型是一种广泛用于搜索引擎等实际应用的信息检索模型,但对TF-IDF算法模型却一直存在诸多问题。提出了一种基于条件概率的信息检索盒子小球模型,其核心思想是将“查询串q和文档d的匹配问题”转化为“查询串q来自文档d的条件概率问题”。该方法从概率的角度为信息检索问题定义了比TF-IDF算法模型所表达的匹配程度更清楚的目标。这种模式既可以把TF-IDF算法模型包括进来,又可以说明它的合理性,同时发现它的不足之处。此外,这个模型也能解释PageRank的含义,以及为什么PageRank权重和TF-IDF权重之间的乘积关系。