關於TF-IDF

如下定義摘自wikipedia。注意,TF-IDF最後計算所得的結果是某一個詞在文檔全集中的重要程度。若是按重要程度對全部的詞排序,則能夠根據這個規則肯定那些詞能夠做爲搜索引擎中的stopword。搜索引擎


TF-IDF(term frequency–inverse document frequency)是一種用於 資訊檢索文本挖掘的經常使用加權技術。TF-IDF是一種統計方法,用以評估一字詞對於一個文件集或一個 語料庫中的其中一份 文件的重要程度。字詞的重要性隨着它在文件中出現的次數成 正比增長,但同時會隨着它在語料庫中出現的頻率成反比降低。TF-IDF加權的各類形式常被 搜索引擎應用,做爲文件與用戶查詢之間相關程度的度量或評級。除了TF-IDF之外,互聯網上的搜尋引擎還會使用基於連結分析的評級方法,以肯定文件在搜尋結果中出現的順序。



在一份給定的文件裏,詞頻(term frequency,TF)指的是某一個給定的詞語在該文件中出現的次數。這個數字一般會被正規化,以防止它偏向長的文件。(同一個詞語在長文件裏可能會比短文件有更高的詞頻,而無論該詞語重要與否。)對於在某一特定文件裏的詞語 ti 來講,它的重要性可表示爲:spa

  •  \mathrm{tf_{i,j}} = \frac{n_{i,j}}{\sum_k n_{k,j}}

以上式子中 ni,j 是該詞在文件dj中的出現次數,而分母則是在文件dj中全部字詞的出現次數之和。排序

逆向文件頻率(inverse document frequency,IDF)是一個詞語廣泛重要性的度量。某一特定詞語的IDF,能夠由總文件數目除以包含該詞語之文件的數目,再將獲得的商取對數獲得:索引

  •  \mathrm{idf_{i}} =  \log \frac{|D|}{|\{j: t_{i} \in d_{j}\}|}

其中ip

  • |D|:語料庫中的文件總數文檔

  •  |\{ j: t_{i} \in d_{j}\}| :包含詞語ti的文件數目(即 n_{i,j} \neq 0的文件數目)若是該詞語不在語料庫中,就會致使被除數爲零,所以通常狀況下使用1 + |\{j : t_{i} \in d_{j}\}|get

而後數學

  •  \mathrm{tf{}idf_{i,j}} = \mathrm{tf_{i,j}} \times  \mathrm{idf_{i}}

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


有不少不一樣的數學公式能夠用來計算TF-IDF。這邊的例子以上述的數學公式來計算。詞頻 (TF) 是一詞語出現的次數除以該文件的總詞語數。假如一篇文件的總詞語數是100個,而詞語「母牛」出現了3次,那麼「母牛」一詞在該文件中的詞頻就是3/100=0.03。一個計算文件頻率 (DF) 的方法是測定有多少份文件出現過「母牛」一詞,而後除以文件集裏包含的文件總數。因此,若是「母牛」一詞在1,000份文件出現過,而文件總數是10,000,000份的話,其逆向文件頻率就是 ln(10,000,000 / 1,000)=4。最後的TF-IDF的分數爲0.03 * 4=0.12。搜索

相關文章
相關標籤/搜索