关于TF-IDF

如下定义摘自wikipedia。注意,TF-IDF最后计算所得的结果是某一个词在文档全集中的重要程度。若是按重要程度对全部的词排序,则能够根据这个规则肯定那些词能够做为搜索引擎中的stopword。搜索引擎


TF-IDF(term frequency–inverse document frequency)是一种用于 资讯检索文本挖掘的经常使用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个 语料库中的其中一份 文件的重要程度。字词的重要性随着它在文件中出现的次数成 正比增长,但同时会随着它在语料库中出现的频率成反比降低。TF-IDF加权的各类形式常被 搜索引擎应用,做为文件与用户查询之间相关程度的度量或评级。除了TF-IDF之外,互联网上的搜寻引擎还会使用基于连结分析的评级方法,以肯定文件在搜寻结果中出现的顺序。



在一份给定的文件里,词频(term frequency,TF)指的是某一个给定的词语在该文件中出现的次数。这个数字一般会被正规化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而无论该词语重要与否。)对于在某一特定文件里的词语 ti 来讲,它的重要性可表示为:spa

  •  \mathrm{tf_{i,j}} = \frac{n_{i,j}}{\sum_k n_{k,j}}

以上式子中 ni,j 是该词在文件dj中的出现次数,而分母则是在文件dj中全部字词的出现次数之和。排序

逆向文件频率(inverse document frequency,IDF)是一个词语广泛重要性的度量。某一特定词语的IDF,能够由总文件数目除以包含该词语之文件的数目,再将获得的商取对数获得:索引

  •  \mathrm{idf_{i}} =  \log \frac{|D|}{|\{j: t_{i} \in d_{j}\}|}

其中ip

  • |D|:语料库中的文件总数文档

  •  |\{ j: t_{i} \in d_{j}\}| :包含词语ti的文件数目(即 n_{i,j} \neq 0的文件数目)若是该词语不在语料库中,就会致使被除数为零,所以通常状况下使用1 + |\{j : t_{i} \in d_{j}\}|get

而后数学

  •  \mathrm{tf{}idf_{i,j}} = \mathrm{tf_{i,j}} \times  \mathrm{idf_{i}}

某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,能够产生出高权重的TF-IDF。所以,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。互联网


有不少不一样的数学公式能够用来计算TF-IDF。这边的例子以上述的数学公式来计算。词频 (TF) 是一词语出现的次数除以该文件的总词语数。假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是3/100=0.03。一个计算文件频率 (DF) 的方法是测定有多少份文件出现过“母牛”一词,而后除以文件集里包含的文件总数。因此,若是“母牛”一词在1,000份文件出现过,而文件总数是10,000,000份的话,其逆向文件频率就是 ln(10,000,000 / 1,000)=4。最后的TF-IDF的分数为0.03 * 4=0.12。搜索

相关文章
相关标签/搜索