TF-IDF

维基百科,自由的百科全书

跳转到: 导航, 搜索

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

目录

[编辑] 原理

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

 \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|}{|\{d: d \ni t_{i}\}|}

其中

  • |D|:語料庫中的文件總數
  •  |\{d :d\ni t_{i}\}| :包含詞語ti的文件數目(即 n_{i} \neq 0的文件數目)

然後

 \mathrm{tf{}idf_{i,j}} = \mathrm{tf_{i,j}} \cdot  \mathrm{idf_{i}}

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

[编辑] 例子

有很多不同的數學公式可以用來計算TF-IDF。這邊的例子以上述的數學公式來計算。詞頻 (TF) 是一詞語出現的次數除以該文件的總詞語數。假如一篇文件的總詞語數是100個,而詞語「母牛」出現了3次,那麼「母牛」一詞在該文件中的詞頻就是 0.03 (3/100)。一個計算文件頻率 (DF) 的方法是測定有多少份文件出現過「母牛」一詞,然後除以文件集裡包含的文件總數。所以,如果「母牛」一詞在1,000份文件出現過,而文件總數是10,000,000份的話,其文件頻率就是 9.21 ( ln(10,000,000 / 1,000) )。最後的TF-IDF的分數為0.28( 0.03 * 9.21)。

[编辑] 在向量空間模型裡的應用

TF-IDF權重計算方法經常會和餘弦相似度(cosine similarity)一同使用於向量空間模型中,用以判斷兩份文件之間的相似性

[编辑] 參考資料

  • Salton, G. and McGill, M. J. 1983 Introduction to modern information retrieval. McGraw-Hill, ISBN 0070544840.
  • Salton, G., Fox, E. A. and Wu, H. 1983 Extended Boolean information retrieval. Commun. ACM 26, 1022–1036.
  • Salton, G. and Buckley, C. 1988 Term-weighting approaches in automatic text retrieval. Information Processing & Management 24(5): 513–523.

[编辑] 外部連結

个人工具