---
了解文本挖掘的都知道TF-IDF这个概念,以前也做过一个文本分类的项目,用到TF-IDF,当时也就是照现成的公式用,也没想过它的公式为什么那么定义,只是有一个感观上的理解。
了解信息论的都知道“熵”这个概念,这是个了不得的成就,信息是个很抽象的概念,但信息熵的提出很好地解决了信息的量化问题。
信息熵的用处很多,一个典型的例子就是它在决策树算法中的应用了,我最初接触信息熵和决策树时整理了一点资料(入门看),在这里备份,方便以后查找。
郁闷的是我现在才知道TF-IDF的定义原来是由信息熵推导而来的,信息熵真是不错,要知道TF-IDF的各种形式常被搜索引擎所应用,它已经深深影响并改变着人们的生活。TF-IDF用在向量空间模型中为文档向量进行权重赋值,那么使用TF-IDF计算的权重有何物理意义呢?
经典的TF-IDF定义及含义:
TF(词频):
定义,词项出现次数除以该文档的长度(总词数)。
含义,表示词项在文档中的重要程度。
IDF(反文档频率):
定义,文档总数与出现该词的文档数商的对数值
含义,表示词项在文档集合中的重要程度,词项出现的文档数越多,该词区分度越差,重要性就越低
其中,N表示文档集合中文档数,nk表示出现词项k的文档数
TF-IDF一般是二者的乘积,权重计算意义:表示词项重要性随着它在文档中出现次数增多而增加,但同时随着它在集合中出现次数增多而下降。那么TF-IDF的这个定义是怎么来的呢?
TF-IDF推导如下:
在了解信息量(某个概率事件最小编码长度)和信息熵(平均信息量)相关概念后,我们知道信息熵的公式如下
===由于blog没装公式编辑插件,下面直接从word草稿中截图了===
我们可以看出,在这个平均编码长度中,文档中每个词项都做出了不同的贡献(编码长度即为所含有的信息量),那么对于该文档,每个词项在文档中的重要性都量化为对平均编码长度(文档信息熵)的贡献。
对于每个词Ti来说,它对平均编码长度所作出的贡献为(其实也可以直接理解为该词的信息熵或者该词所含有的信息):
其中,前面一项是文档中该词项的词频(TF),后者为词项的文档频率的倒数的对数,显然,词项出现次数越多(词频高)且罕见的词汇(文档频率低)对平均编码长度大小的贡献越大,这便是经典的TF-IDF,显然,它能够衡量出互联网上传输一个文档时,每个词项对该文档所需的平均编码长度(文档信息)的大小所做的贡献(或者重要程度),所以用TF-IDF来为文档向量中的关键词进行权重计算是合理的,具有意义的。
(全文完)