1. 程式人生 > >機器學習筆記筆記之三——文字型別處理-詞袋法、TF-IDF理解

機器學習筆記筆記之三——文字型別處理-詞袋法、TF-IDF理解

  在面對文字型特徵時,大致可以分為兩種。

   一是列舉型別,比如:男女,小學生初中生高中生大學生……這種型別下類別一般不會超過百種,那麼就可以使用 啞編碼(one-hot)來處理。

  另一種就是真正意義上的文字,一條評論或是一篇文章。對於這樣的資料,我們介紹兩種方法:

    (1)、詞袋法。

      什麼是詞袋法?將文本當作一個無序的集合,可以採用文字中的詞條T進行體現,那麼文字中出現的所有詞條以及其出現的次數就可以體現文件的特徵。

   即,將文章分成一個個詞語,然後統計各個詞語的次數。

   但是這樣做法一般情況下都會造成分出詞語過多,尤其無用詞語過多,例如“是”,“的”,“啊”等無意義的詞語。為了處理一些詞袋法處理的不太好的問題,我們使用TF-IDF法。

   (2)、TF-IDT。

      TF-IDF如何處理上述問題。

      首先,我們有語料庫的概念:以{文章1:詞條1 : 2個,文章1:詞條2 : 3個}類似的形式去儲存已有文章和詞條。

      然後,我們用語料庫來解決無用詞語的問題:

          詞條的重要性隨著 在語料庫中出現頻率的增加

減少

      比如有個關於動物的各種文章語料庫,“動物”這個詞在所有文章中出現的頻率極高,那麼“動物”這個詞對於我們區分語料庫中的文章有幫助嗎?

      並沒有,也就是說 詞條在語料庫中出現的越少,作用才會越大。那麼我們就去計算 詞條在語料庫中出現的頻率就可以了。

      IDF 就是在計算 詞條在語料庫中出現的頻率,具體計算規則如下。

      IDF(逆向檔案頻率):檔案頻率 = 包含該詞的檔案數 / 所有檔案數。 逆向檔案頻率 = 所有檔案數 / 包含該詞的檔案數。(IDF只是對檔案頻率取了倒數,原因很簡單,按照上面講的邏輯,檔案頻率與該詞作用成反比,我們想要一個變數和該詞作用成正比,那就取倒數嘍!)

       值得一提,有時候為了後面的計算和衡量,還會對IDF取個對數。

       那麼TF又是什麼? 這個更簡單了,就是詞袋法的核心:該詞條在文字中出現的次數。

      所謂的TF-IDF = TF *IDF 。這樣既保證了 該詞條在文章中出現次數 與 該詞作用 成正比,又保證了無用詞語不會產生太大影響。