TF-IDF,最开始用于信息检索,在信息检索中其计算过程如下
TF-IDF模型的主要思想是:如果词w在一篇文档d中出现的频率高,并且在其他文档中很少出现,则认为词w具有很好的区分能力,适合用来把文章d和其他文章区分开来。该模型主要包含了两个因素:TF,IDF
词频TF(Term Frequency)
词w在文档d中出现次数count(w, d)和文档d中总词数size(d)的比值:
逆向文档频率IDF(Inverse Document Frequency)
文档总数n与词w所出现文件数docs(w, D)比值的对数:
加1是为了防止分母为0的情况
TF-IDF
TF-IDF= TF * IDF =(词频*词权)
TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。所以,自动提取关键词的算法就很清楚了,就是计算出文档的每个词的TF-IDF值,然后按降序排列,取排在最前面的几个词。
一句话或者一个文档的TF-IDF:各个词组的TF-IDF的和
其他计算TF 、IDF的方式
TF-IDF的权值
TF-IDF算法的优点是简单快速,结果比较符合实际情况。缺点是,单纯以"词频"衡量一个词的重要性,不够全面,有时重要的词可能出现次数并不多。而且,这种算法无法体现词的位置信息,出现位置靠前的词与出现位置靠后的词,都被视为重要性相同,这是不正确的。(一种解决方法是,对全文的第一段和每一段的第一句话,给予较大的权重。)
但是但是,我们这里利用TFIDF作为特征选择,上面的好像只是计算了一个词和文档的相识度的过程,如何将上面的过程转换成特征选择?
只需要将上面的文档换成某一类,就能理解一大半了。
TF(Ci,t)= ci类中t出现的概率
IDF = log 文档总数/出现t的文档总数
对最后的作为选取特征的TFIDF= max (TF(Ci,t)*IDF) or avg(TF(Ci,t)*IDF) or 其他,如下方法
某综述中看到下面的方法用于特征选择
参考1:http://www.ruanyifeng.com/blog/2013/03/tf-idf.html
参考2:https://en.wikipedia.org/wiki/Tf%E2%80%93idf