1. 程式人生 > >自然語言處理--TF-IDF(關鍵詞提取)

自然語言處理--TF-IDF(關鍵詞提取)

png -m word req bsp xmlns idt 區分 適合

TF-IDF算法

TF-IDF(詞頻-逆文檔頻率)算法是一種統計方法,用以評估一字詞對於一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現的次數成正比增加,但同時會隨著它在語料庫中出現的頻率成反比下降。該算法在數據挖掘、文本處理和信息檢索等領域得到了廣泛的應用,如從一篇文章中找到它的關鍵詞。

TFIDF的主要思想是:如果某個詞或短語在一篇文章中出現的頻率TF高,並且在其他文章中很少出現,則認為此詞或者短語具有很好的類別區分能力,適合用來分類。TF-IDF實際上就是 TF*IDF,其中 TF(Term Frequency),表示詞條在文章Document 中出現的頻率;IDF(Inverse Document Frequency),其主要思想就是,如果包含某個詞 Word的文檔越少,則這個詞的區分度就越大,也就是 IDF 越大。對於如何獲取一篇文章的關鍵詞,我們可以計算這邊文章出現的所有名詞的 TF-IDF,TF-IDF越大,則說明這個名詞對這篇文章的區分度就越高,取 TF-IDF 值較大的幾個詞,就可以當做這篇文章的關鍵詞。

計算步驟

    1. 計算詞頻(TF)

      詞頻 = 某個詞在文章中的出現次數 / 文章總次數

    2. 計算逆文檔頻率(IDF)

      逆文檔頻率 = log(語料庫的文檔總數 / (包含和改詞的文檔數 + 1)) (10為底)

    3. 計算詞頻-逆文檔頻率(TF-IDF)
      TF-IDF = 詞頻 * 逆文檔頻率

舉例 

  對《中國的蜜蜂養殖》進行詞頻(Term Frequency,縮寫為TF)統計
  出現次數最多的詞是----“的”、“是”、“在”----這一類最常用的詞(停用詞),不計入統計範疇。
  發現“中國”、“蜜蜂”、“養殖”這三個詞的出現次數一樣多,重要性是一樣的?
  "中國"是很常見的詞,相對而言,"蜜蜂"和"養殖"不那麽常見

  《中國的蜜蜂養殖》:假定該文長度為1000個詞,"中國"、"蜜蜂"、"養殖"各出現20次, 則這三個詞的"詞頻"(TF)都為0.02
  假定搜索Google發現,包含"的"字的網頁共有250億張,假定這就是中文網頁總數。包含"中國"的網頁共有62.3億張,包含"蜜蜂"的網頁為0.484億張,包含"養殖"的網頁為0.973億張。

            技術分享圖片

  可見蜜蜂和養殖比中國在文檔中更‘關鍵’,即更具有代表性。

自然語言處理--TF-IDF(關鍵詞提取)