TF-IDF算法介紹

TF-IDF算法介紹

TF-IDF(term frequency–inverse document frequency)是一種用於信息檢索與數據挖掘的常用加權技術。TF意思是詞頻(Term Frequency),IDF意思是逆文本頻率指數(Inverse Document Frequency)。

TF-IDF是一種統計方法,用以評估一字詞對於一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨着它在文件中出現的次數成正比增加,但同時會隨着它在語料庫中出現的頻率成反比下降。

TF-IDF的主要思想:如果某個詞或短語在一篇文章中出現的頻率TF高,並且在其他文章中很少出現,則認爲此詞或者短語具有很好的類別區分能力,適合用來分類。TF-IDF實際上是:TF * IDF,TF詞頻(Term Frequency),IDF逆向文件頻率(Inverse Document Frequency)。

TF是詞頻(Term Frequency)

        詞頻(TF)表示詞條(關鍵字)在文本中出現的頻率

        這個數字通常會被歸一化(一般是詞頻除以文章總詞數), 以防止它偏向長的文件。

       其中 ni,j 是該詞在文件 dj 中出現的次數,分母則是文件 dj 中所有詞彙出現的次數總和;

IDF是逆向文件頻率(Inverse Document Frequency)

逆向文件頻率 (IDF) :是一個詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數目除以包含該詞語之文件的數目,再將得到的商取以10爲底的對數得到。

 

idf公式分母

 

其中

  • |D|:語料庫中的文件總數
  • 包含詞語的文件數目(即的文件數目)如果該詞語不在語料庫中,就會導致分母爲零,因此一般情況下使用作爲分母。

 

如果包含詞條t的文檔越少, IDF越大,則說明詞條具有很好的類別區分能力。

TF-IDF實際上是:TF * IDF

       某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的TF-IDF。因此,TF-IDF傾向於過濾掉常見的詞語,保留重要的詞語。

       公式:

       注:  TF-IDF算法非常容易理解,並且很容易實現,但是其簡單結構並沒有考慮詞語的語義信息,無法處理一詞多義與一義多詞的情況。

當前,真正在搜索引擎等實際應用中廣泛使用的是 tf-idf 模型。tf-idf 模型的主要思想是:如果詞w在一篇文檔d中出現的頻率高,並且在其他文檔中很少出現,則認爲詞w具有很好的區分能力,適合用來把文章d和其他文章區分開來。

TF-IDF算法的不足


       TF-IDF 採用文本逆頻率 IDF 對 TF 值加權取權值大的作爲關鍵詞,但 IDF 的簡單結構並不能有效地反映單詞的重要程度和特徵詞的分佈情況,使其無法很好地完成對權值調整的功能,所以 TF-IDF 算法的精度並不是很高,尤其是當文本集已經分類的情況下。

在本質上 IDF 是一種試圖抑制噪音的加權,並且單純地認爲文本頻率小的單詞就越重要,文本頻率大的單詞就越無用。這對於大部分文本信息,並不是完全正確的。IDF 的簡單結構並不能使提取的關鍵詞, 十分有效地反映單詞的重要程度和特徵詞的分佈情 況,使其無法很好地完成對權值調整的功能。尤其是在同類語料庫中,這一方法有很大弊端,往往一些同類文本的關鍵詞被蓋。

TF-IDF算法實現簡單快速,但是仍有許多不足之處:

(1)沒有考慮特徵詞的位置因素對文本的區分度,詞條出現在文檔的不同位置時,對區分度的貢獻大小是不一樣的。

(2)按照傳統TF-IDF,往往一些生僻詞的IDF(反文檔頻率)會比較高、因此這些生僻詞常會被誤認爲是文檔關鍵詞。

(3)傳統TF-IDF中的IDF部分只考慮了特徵詞與它出現的文本數之間的關係,而忽略了特徵項在一個類別中不同的類別間的分佈情況。

(4)對於文檔中出現次數較少的重要人名、地名信息提取效果不佳。

因此就有了TF-IDF算法改進——TF-IWF算法 

參考

百度百科

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章