TF-IDF(詞頻-逆文檔頻率)是一種bag-of-words模型的統計方法,用以評估一個單詞在一個文檔集合或語料庫中的重要程度。經常被用作信息檢索、文本挖掘以及用戶模型的權重因素。
tf-idf的值會隨着單詞在文檔中出現的次數的增加而增大,也會隨着單詞在語料庫中出現的次數的增多而減小。tf-idf是如今最流行的詞頻加權方案之一。
- TF(Term Frequency,詞頻):表示一個給定詞語t在一篇給定文檔d中出現的頻率。公式表示爲:
其中 是該詞在文件 中出現的次數,分母則是文件中所有詞彙出現的次數總和,通俗理解爲:
- IDF(Inverse Document Frequency,逆向文件頻率):如果包含詞語t的文檔越少,則IDF越大,說明詞語t在整個文檔集層面上具有很好的類別區分能力,排除了每篇文章中都有的高頻詞對相似度的影響。
其中,是語料庫中的文件總數。 表示包含詞語 的文件數目(即 的文件數目)。如果該詞語不在語料庫中,就會導致分母爲零,因此一般情況下使用
分母加1是爲了避免分母出現0的情況。
TF-IDF的計算公式
TF-IDF的不足
- 本質上IDF是一種試圖抑制噪聲的加權,並且單純地認爲文本頻率小的單詞就越重要,文本頻率大的單詞就越無用,顯然這並不是完全正確的;
- IDF 的簡單結構並不能使提取的關鍵詞十分有效地反映單詞的重要程度和特徵詞的分佈情 況;
- 沒有考慮特徵詞的位置因素對文本的區分度;
- 按照TF-IDF計算,往往一些生僻詞的IDF會比較高、因此這些生僻詞常被誤認爲是文檔關鍵詞;
- 對於文檔中出現次數較少的重要人名、地名等主體信息提取效果欠佳