TF_IDF的信息论依据

1,907 阅读1分钟

一个查询(query)中每个关键字(key word)w的权重应该反映这个词对查询提供了多少信息。一个简单的方法就是用每个词的信息量作为权重,即:

I(w)=P(w)logP(w)=TF(w)NlogTF(w)N==TF(w)NlogNTF(w)I(w) = -P(w)\log{P(w)} \\ =-\frac{TF(w)}{N}\log{\frac{TF(w)}{N}} == \frac{TF(w)}{N}\log{\frac{N}{TF(w)}}

其中,N是整个语料库的大小,是个可以省略的常数。因此上面公式可以简化成:

I(w)=TF(w)logNTF(w)I(w)=TF(w)\log{\frac{N}{TF(w)}}

但是,这个公式还是有个缺陷:两个词出现的频率TF相同,但是,一个是特定文章的常见词,另一个词是分散在多篇文章中,显然第一个词应该有更高的区分度,权重应该更大。这个公式却不能体现这个区分度。 如果做一些假设:

  1. 每个文献大小基本相同,均为M个词,即M=ND=wTF(w)DM=\frac{N}{D} = \frac{\sum_w{TF(w)}}{D},D表示文献总数。
  2. 一个关键词在文献中一旦出现,不论次数多少,贡献都相同,这样一个词要么在一个文献中出现c(w)=TF(w)D(w)c(w)=\frac{TF(w)}{D(w)} 次,要么出现0次。注意,c(w)<Mc(w) < M,M是这个文献的单词总数,当然大于前者。这里,D(w)D(w) 表示出现w文献的个数。 根据上述假设,则有: I(w)=TF(w)logNTF(w)=TF(w)logMDc(w)D(w)=TF(w)log(DD(w)Mc(w))I(w) = TF(w)\log{\frac{N}{TF(w)}}=TF(w)\log{\frac{MD}{c(w)D(w)}} \\ = TF(w)log{(\frac{D}{D(w)}\frac{M}{c(w)})}

则有: TFIDF(w)=TF(w)logDD(w)=I(w)TF(w)logMc(w)TF-IDF(w) = TF(w)\log{\frac{D}{D(w)}} = I(w) - TF(w)\log{\frac{M}{c(w)}}

因此,可以得出结论,一个词的信息量I(w)I(w)越多,TF-IDF值就越大;同时w命中的文献中w平均出现的次数越多,第二项越小,TF-IDF也越大。 第二点结论的证明: 证明TF-IDF单调性-4409.8kB