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