TF-IDF算法总结

来源:互联网 发布:国际排联中文官网数据 编辑:程序博客网 时间:2024/05/22 05:04

TF-IDF算法的全称叫 Term Frequency-Inverse Document Frequency 词频-逆文档频率算法

TF-IDF主要用来文章关键词抽取

当需要抽取一篇文章的关键词时候,往往我们最先想到的是计算文章的所有词的词频,文章越是和主题相关,出现主题相关的词越是多,词频也就越大,按照词频来排序,找出关键词top N。但是问题来了,像‘的’,‘我们’,‘地’等这些没什么实在意义的词在所有文章中出现的词频应该都是很高的,我们称这样的词称为停词。在计算top N的关键词频之前,我们需要过滤掉这些停词,那么根据前几个排名的关键词我们也就能得出一篇文章的大概主题在说什么。

TF=

当然,以上说的只是从TF(词频)角度来分析,那我们接下来就要从TF-IDF来说了。

TF-IDF简单但强大。

在之前我们对于停词是直接采取过滤的方案,有没有方法自从让那些词频又高但又不重要的停词排到后面呢,这儿就用到了IDF(逆文档频率)了。IDF的计算公式如下:

IDF=log+1

从表达式中我们可以看出,包含当前词的文档个数越多,IDF的值越小,说明该词越不重要。反之,该词越重要。简单打个比方,像‘的’‘地’这些停词几乎在每一篇文章中都有出现,那么她的IDF就接近0。
IDF更像是给TF赋的一个权重,故TF-IDF的计算公式为:

TFIDF=TFIDF

所以用TF-IDF来抽取文章关键词的方法就是先计算每个词在文章中的词频(TF),然后计算词的权重(IDF),最后将TF,IDF相乘再排序,得到top N个关键词,也就是文章的关键词了。

计算出文章的关键词后,我们就可以来计算两篇文章的相似度了,这儿相似度我们可以用余弦相似度。
余弦相似度公式:

α1=[x1,y1]

α1=[x2,y2]

COSΘ=x1x2+y1y2x21+x22+y21+y22

具体步骤如下:
1、分词
2、抽取每篇文章的前30个关键词,用TF-IDF算法实现。
3、运动词袋模型(bag of words)计算每篇文章的特征向量
4、计算余弦相似度,值越大表明文章约相似。

1 0
原创粉丝点击