TF-IDF算法

計算機提取一篇文章關鍵詞涉及文字處理、信息檢索、數據挖掘等很多計算機領域。從詞頻角度統計出現次數最多的“的”、“是”、“在”這一類最常用的詞稱爲停用詞(表示對找到結果毫無幫助,必須過濾掉的詞)

衡量一個詞是不是常用詞,如果某個詞比較少見,但是在文章中多次出現,那麼這個詞很可能反映文章特性,故需要在詞頻統計基礎上引入重要性調整係數(逆文檔概率IDF,大小與一個詞的常見程度成反比)。有了詞頻和逆文檔頻率後,兩個值相乘得到一個詞的TF-IDF值。某個詞對文章的重要性越高,它的TF-IDF值就越大

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

考慮到文章有長短之分,爲了便於不同文章的比較,詞頻標準化

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

詞頻=某個詞在文章中的出現次數/該文章出現次數最多的詞的出現次數

計算逆文檔概率需要一個語料庫

逆文檔概率=log(語料庫文檔總數/(包含該詞的文檔數+1))

一個詞越常見分母就越大,逆文檔頻率就越小越接近0。分母之所以要加1,是爲了避免分母爲0(即所有文檔都不包含該詞)。TF-IDF與一個詞在文檔中的出現次數成正比,與該詞在整個語言中的出現次數成反比。假定該文長度爲1000個詞,"中國"、"蜜蜂"、"養殖"各出現20次,則這三個詞的詞頻都爲0.02。搜索Google發現,包含"的"字網頁共有250億張,假定這就是中文網頁總數。包含"中國"的網頁共有62.3億張,包含"蜜蜂"的網頁爲0.484億張,包含"養殖"的網頁爲0.973億張

TF-IDF算法還可以用於許多別的地方。比如信息檢索時,對每個文檔都可分別計算一組搜索詞("中國"、"蜜蜂"、"養殖")的TF-IDF相加得到整個文檔的TF-IDF這個值最高的文檔就是與搜索詞最相關的文檔。TF-IDF算法優點是簡單快速,結果比較符合實際情況。缺點是單純以"詞頻"衡量一個詞重要性不夠全面,有時重要的詞可能出現次數並不多。而且這種算法無法體現詞位置信息,出現位置靠前的詞與出現位置靠後的詞,都被視爲重要性相同,這是不正確的(一種解決方法是對全文的第一段和每一段的第一句話,給予較大的權重)

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