TF-IDF算法html
将"词频"(TF)和"逆文档频率"(IDF)这两个值相乘,就获得了一个词的TF-IDF值。某个词对文章的重要性越高,它的TF-IDF值就越大。因此,排在最前面的几个词,就是这篇文章的关键词。java
TF-IDF = TF * IDF
能够看到,TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。算法
余弦类似性spa
计算两个向量的余弦值,余弦值越接近1,就代表夹角越接近0度,也就是两个向量越类似,这就叫"余弦类似性"。code
假定a向量是[x1, y1],b向量是[x2, y2],那么能够将余弦定理改写成下面的形式htm
余弦的这种计算方法对n维向量也成立。假定A和B是两个n维向量,A是 [A1, A2, ..., An] ,B是 [B1, B2, ..., Bn] ,则A与B的夹角θ的余弦等于:blog
计算两篇文章的类似性:文档
(1)使用TF-IDF算法,找出两篇文章的关键词;class
(2)每篇文章各取出若干个关键词(好比20个),合并成一个集合,计算每篇文章对于这个集合中的词的词频(为了不文章长度的差别,能够使用相对词频);方法
(3)生成两篇文章各自的词频向量;
(4)计算两个向量的余弦类似度,值越大就表示越类似。
[参考文献]
TF-IDF与余弦类似性的应用(一):自动提取关键词 http://www.ruanyifeng.com/blog/2013/03/tf-idf.html