TF-IDF是一种统计方法,用来评估一个词对一个文件集或一个语料库中的其中一份文件的重要程度。该词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降
举个例子,假定现在有一篇长文《中国的小龙虾养殖》,我们准备用计算机提取它的关键词。一个很容易想到的思路:就是找到出现次数最多的词,如果某个词很重要,它应该在这篇文章中多次出现。于是,我们进行"词频"(Term Frequency,缩写TF)统计
假设我们把这类停用词都过滤了,只考虑剩下的有实际意义的词。这样又会遇到另一个问题,我们可能发现"中国"、"小龙虾"、"养殖"这三个词的出现次数一样多。是不是意味着,作为关键词,它们的重要性是一样的?
显然不是。因为"中国"是很常见的词,相对而言,"小龙虾"和"养殖"不那么常见。如果这三个词在一篇文章的出现次数一样多,有理由认为,"小龙虾"和"养殖"的重要程度要大于"中国",也就是说,在关键词排序上面,"小龙虾"和"养殖"应该排在"中国"的前面
所以,我们需要一个重要性调整系数,衡量一个词是不是常见词。如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词
用统计学语言表达,就是在词频的基础上,要对每个词分配一个"重要性"权重。最常见的词("的"、"是")给予最小的权重,较常见的词("中国")给予较小的权重,较少见的词("小龙虾")给予较大的权重。这个权重叫做"逆文档频率"(Inverse Document Frequency,缩写IDF),它的值的大小与一个词的常见程度成反比
逆文档频率的主要思想是:如果包含某个词$t$的文档越少,IDF越大,这说明该词具有很好的类别区分能力,某一特定词语的IDF,可由总文档数除以包含该词的文档数,再将得到的商取对数得到
还是以《中国的小龙虾养殖》为例,假定该文本有1000个词,"中国"、"小龙虾"、"养殖"各出现20次,则这三个词的词频(TF)都为0.02。然后假设现在共有250亿份文档,其中包含"中国"的文档共有62.3亿份,包含"小龙虾"的文档共0.484亿份,包含"养殖"的文档共0.973亿份。则它们的逆文档频率(IDF)和TF-IDF如下: