生活的道路一旦选定,就要勇敢地走到底,决不回头。

发掘积累过程的快感

首页 » BIBLE模型 » 算法 » TF-IDF算法

TF-IDF算法


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

原理

在一份给定的文件里,词频(term frequency,tf)指的是某一个给定的词语在该文件中出现的频率。这个数字是对词数(term count)的标准化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词数,而不管该词语重要与否。)对于在某一特定文件里的词语 t_{{i}} 来说,它的重要性可表示为:

{\mathrm {tf_{{i,j}}}}={\frac {n_{{i,j}}}{\sum _{k}n_{{k,j}}}}

以上式子中假设文件 d_{j} 中共有 k 个词语,n_{k,j}t_{k} 在文件 d_{j} 中出现的次数。分子 n_{i,j} 是该词在文件 d_{j} 中的出现次数,而分母则是在文件 d_{j} 中所有字词的出现次数之和。

逆向文件频率(inverse document frequency,idf)是一个词语普遍重要性的度量。某一特定词语的 idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以 10 为底的对数得到:

{\displaystyle \mathrm {idf_{i}} =\lg {\frac {|D|}{|\{j:t_{i}\in d_{j}\}|}}}

其中

|D| :语料库中的文件总数
|\{j:t_{{i}}\in d_{{j}}\}|:包含词语 t_{i} 的文件数目(即 n_{{i,j}}\neq 0 的文件数目)如果词语不在资料中,就导致分母为零,因此一般情况下使用 1+|\{j:t_{{i}}\in d_{{j}}\}|
然后 {\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。而计算文件频率(IDF)的方法是以文件集的文件总数,除以出现“母牛”一词的文件数。所以,如果“母牛”一词在 1,000 份文件出现过,而文件总数是 10,000,000 份的话,其逆向文件频率就是 lg(10,000,000 / 1,000)=4。最后的 tf-idf 的分数为 0.03 * 4=0.12

在向量空间模型里的应用

tf-idf 权重计算方法经常会和余弦相似性(cosine similarity)一同使用于向量空间模型中,用以判断两份文件之间的相似性。

tf-idf 的理论依据及不足

tf-idf 算法是创建在这样一个假设之上的:对区别文档最有意义的词语应该是那些在文档中出现频率高,而在整个文档集合的其他文档中出现频率少的词语,所以如果特征空间坐标系取 tf 词频作为测度,就可以体现同类文本的特点。另外考虑到单词区别不同类别的能力,tf-idf 法认为一个单词出现的文本频数越小,它区别不同类别文本的能力就越大。因此引入了逆文本频度 idf 的概念,以 tf 和 idf 的乘积作为特征空间坐标系的取值测度,并用它完成对权值 tf 的调整,调整权值的目的在于突出重要单词,抑制次要单词。但是在本质上 idf 是一种试图抑制噪声的加权,并且单纯地认为文本频率小的单词就越重要,文本频率大的单词就越无用,显然这并不是完全正确的。idf 的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好地完成对权值调整的功能,所以 tf-idf 法的精度并不是很高。

此外,在 tf-idf 算法中并没有体现出单词的位置信息,对于 Web 文档而言,权重的计算方法应该体现出 HTML 的结构特征。特征词在不同的标记符中对文章内容的反映程度不同,其权重的计算方法也应不同。因此应该对于处于网页不同位置的特征词分别赋予不同的系数,然后乘以特征词的词频,以提高文本表示的效果。

互联网信息太多太杂,各互联网公司不断推送娱乐花边新闻,SNS,微博不断转移我们的注意力。但是,我们的时间和精力却是有限的。这里是互联网浩瀚的海洋中的一座宁静与美丽的小岛,供开发者歇息与静心潜心修炼。 “Bible”是圣经,有权威的书,我们的本意就是为开发者提供真正有用的的资料。 我的电子邮件 1217179982@qq.com,您在开发过程中遇到任何问题,欢迎与我联系。
Copyright © 2024. All rights reserved. 本站由 Helay 纯手工打造. 蜀ICP备15017444号