1. 程式人生 > >TF-IDF關鍵詞提取方法的學習

TF-IDF關鍵詞提取方法的學習

首先引用一下百度百科裡的解釋:

TF-IDF(term frequency–inverse document frequency)是一種用於資訊檢索與資料探勘的常用加權技術。TF意思是詞頻(Term Frequency),IDF意思是逆向檔案頻率(Inverse Document Frequency)。


最近學習了阮一峰先生關於TF-IDF演算法的講解,受益匪淺,特記錄一下學習的過程。


TF,即某個詞在某篇文章中出現的總次數,但出現的多的詞,不一定是最重要的,如之乎者也類的<是>,<也>,<的>,<好>等,這類詞不能幫助我們去找到文章的旨意,是需要濾除掉的詞,被稱為“停用詞”。


此外,在一篇文章中,出現次數一樣的詞,重要性也不一定一樣,如在一篇介紹感冒和發燒是否相關的醫學類文獻裡,可能“感冒”、“發燒”、“生病”出現的頻次是一樣的,但是“生病”明顯不能用於探索該文獻的主旨,因此重要性程度,遠小於其他2個詞。


因此,需要引入一個重要性調整引數,用於辨別某個詞是否為常用詞。一個很好解釋的場景是:如果一個詞特別少見,但在某篇文章中出現的次數非常多,那麼它就最能體現出這篇文章的特徵,被認為是該篇文章的關鍵詞。


用統計學的語言表述,就是在詞頻的基礎上,對每一個詞分配一個“重要性”權重。


在上述這個場景中,之乎者也類的<是>,<也>,<的>,<好>的需要分配一個極小權重,較常見的“生病”需要分配一個較小的權重,而較少出現的詞“感冒”,“發燒”(這兩個詞也較為常見,用在這裡只是說明其相對於其他停用詞,和特常見的詞,顯得比較稀缺)。這樣一種權重概念即稱為 IDF (逆文件頻率)。


而TF-IDF是詞頻 與 逆文件頻率的 乘積,即:

TF-IDF = TF * IDF


其中:

TF   =  一個詞在文章中的出現次數  /  文章的總詞數

IDF = log(語料庫中的文件總數 / 某個詞在某篇文章中出現的次數)


注:

-----------------------------------------------------

語料庫:

指經科學取樣和加工的大規模電子文字庫。藉助計算機分析工具,研究者可開展相關的語言理論及應用研究。


由此可見,TF-IDF的大小與 “一個詞在文章中的出現次數” 成正比,與 其“在語料庫中的存在次數”成反比。



參考自:

http://www.ruanyifeng.com/blog/2013/03/tf-idf.html

http://www.ruanyifeng.com/blog/algorithm/  -- 演算法講解