TF-IDF(词频-逆文档频率)是一种bag-of-words模型的统计方法,用以评估一个单词在一个文档集合或语料库中的重要程度。经常被用作信息检索、文本挖掘以及用户模型的权重因素。
tf-idf的值会随着单词在文档中出现的次数的增加而增大,也会随着单词在语料库中出现的次数的增多而减小。tf-idf是如今最流行的词频加权方案之一。
- TF(Term Frequency,词频):表示一个给定词语t在一篇给定文档d中出现的频率。公式表示为:
其中 是该词在文件 中出现的次数,分母则是文件中所有词汇出现的次数总和,通俗理解为:
- IDF(Inverse Document Frequency,逆向文件频率):如果包含词语t的文档越少,则IDF越大,说明词语t在整个文档集层面上具有很好的类别区分能力,排除了每篇文章中都有的高频词对相似度的影响。
其中,是语料库中的文件总数。 表示包含词语 的文件数目(即 的文件数目)。如果该词语不在语料库中,就会导致分母为零,因此一般情况下使用
分母加1是为了避免分母出现0的情况。
TF-IDF的计算公式
TF-IDF的不足
- 本质上IDF是一种试图抑制噪声的加权,并且单纯地认为文本频率小的单词就越重要,文本频率大的单词就越无用,显然这并不是完全正确的;
- IDF 的简单结构并不能使提取的关键词十分有效地反映单词的重要程度和特征词的分布情 况;
- 没有考虑特征词的位置因素对文本的区分度;
- 按照TF-IDF计算,往往一些生僻词的IDF会比较高、因此这些生僻词常被误认为是文档关键词;
- 对于文档中出现次数较少的重要人名、地名等主体信息提取效果欠佳