在NLP中常见的一些算法 TF-IDF

IT-IDF

首先说一下TF-IDF,我想按照不同的算法来描述其在不同场景下的应用,有可能会发现其中的相通之处。TF-IDF在wiki上的解释是一种用于资讯检索与文本挖掘的常用加权技术,在吴军的《数学之美》中的叙述是TF-IDF是目前通用的关键词重要性的度量。根据吴军老师的定义TF-IDF最最基础的一个应用就是在广泛领域内的关键词提取,不管是新闻还是专利,不管是网页还是摘要。作为通用的关键词重要性的度量方法,TF-IDF真的是简单高效。当然,在关键词提取的应用中除了TF-IDF的得分(依据的假设见TF-IDF),还可以考虑词语第一次出现的位置(依据的假设是在一篇文章中出现的越早越重要),标题的权重(假设是标题常常会出现关键词)等,但我在之前的试验中发现其他的一些衡量标准可以作为补充和改进,但TF-IDF的重要性不容忽视。

讲完了TF-IDF最简单的应用,这里会提到一个很有用的topic model的工具gensim,python语言,google出品,其中重要的几个模型就是TF-IDF,LSI(LSA),LDA和word2vec。当我第一次接触gensim,我不是很能理解作者Radim为什么要在topic model中加入这么简单的东西。在我不断的使用过程中自己感受是这样的,在我们处理一份语料(语料(corpus)由多篇文章(doc)组成)的时候,VSM(vector space model)是必不可少的,把一篇文章用向量表示,其中每个维度是所包含词的频率,简单来时VSM就是这个。去停用词和低频词是降维的首要选择,但这种做法不能避免的问题是停用词是有限的,有可能有疏漏,其次语料的来源相对单一,比如都来自于影视领域等等,那么有可能想演员、电影这些词的尽管不是停用词但本身在各个文章中都有出现,意义不大。这个时候TF-IDF就发挥了他的作用,将TF-IDF的得分填充doc和word的向量,得到的矩阵要更加合理。

是不是TF-IDF更多的应用是不是就是在gensim的一个模型呢?在把文章转换为向量之后,尤其是较为合理的向量之后,可以使用这些向量来完成,篇章的相似度计算,聚类,当然句子级的向量,就可以做摘要。说白了还是TF-IDF完成了对词语重要性的打分。而且在实验过程中,经过TF-IDF打分之后再进行了相似度计算、聚类的效果要好于直接的词频得分。