TF-IDF(term frequency–inverse document frequency)在文本挖掘,信息检索中是一种常用的加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关程度的度量或评级。TF-IDF权重计算方法经常会和余弦相似度(cosine similarity)一同使用于向量空间模型中,用以判断两份文本文件之间的相似性。
TF-IDF实际上是:TF * IDF,TF词频(Term Frequency),IDF反文档频率(Inverse Document Frequency)。
词频(TermFrequency)是词t在某个文档中出现的次数。词频可以用来度量词t与给定文档d之间的关联度:通常,如果文档不包含该词,则定义为零,否则定义为非零。对于向量中的非零项,定义词的权重的方法有很多种。比如有就是1没有就是0,又比如使用相对词频,即词频相对于所有词在文档中出现的次数。比如100个词里出现了2次,就是2%。但是只统计一个术语的出现次数通常不是一个好的相关度指标,首先术语的出现次数与文档的长度有关,其次某个术语出现10次的文档的相关度可能并不是该术语出现1次的文档的相关度的10倍。所以一般计算公式中都会有个加权处理。
逆文档频率(InverseDocument Frequency)表示词t的重要性以及区分度。如果词t出现在许多文档中,由于其区分能力减弱,所以它重要性也降低。如果包含词条t的文档越少,DF越大,则说明词条t具有很好的类别区分能力。
TF-IDF计算公式有很多变种,这里取一个例子加以说明:
其中freq(d,t)表示文档d中术语t出现的次数与文档总单词数的比值,这个公式考虑了文档的长度。文档中该术语出现的次数越多,相关度就越大,尽管它不是直接正比于出现的次数。
其中d是文档的集合,dt是包含术语t的文档的集合。
将TF和IDF组合在一起就能形成TF-IDF度量:权值W=TF(d,t)×IDF(t)。
需要指出的是TF-IDF计算公式主要是经验得出的,缺乏数学论证,而且对于一些文档,同一个单词出现在不同的位置其重要性就会明显不同,在TF-IDF算法中并没有体现出单词的位置信息,所以在实际应用中TF-IDF算法还有很多值得提高的地方。
联系客服