關於TF-IDF的一些見解


1  算法介紹

該算法是一種用於資訊檢索和資訊探勘的常用加權技術。

該算法是一種統計方法,用以評估一字詞對於一個文本集(語料庫)中的其中一份文本的重要程度。

注意:字詞的重要性隨着它在文本中出現的次數成比增加,但同時會隨着它在語料庫中出現的頻率成反比下降。

2  原理

2.1  詞頻(term frequency, TF)

定義:指給定的詞語在該文本中出現的次數。

補充:通常該數字會被歸一化(分子一般小於分母,區別於IDF),以防止它偏向長的文本(同一個詞在長文本里可能會比短文本有更高的詞頻,而不管該詞重要與否)。

對於在某一特定文本里的詞語${t_i}$來說,它的詞頻可表示為:

\[t{f_{i,j}} = \frac{{{n_{i,j}}}}{{\sum\nolimits_k {{n_{i,j}}} }}\]

式中分子是詞語${t_i}$在文本${d_j}$中出現的次數,而分母則是文本${d_j}$中所有字詞出現的次數之和。

注:下標$i$對應所有的詞,下標$j$對應所有的文本,$i$、$j$表示詞$i$在文本$j$中···

2.2  逆向文本頻率(inverse document frequency, IDF)

定義:度量一個詞語普遍重要程度。

某一特定詞語的IDF,可以由總文本數目除以包含該詞語之文本數目,再將得到的商取對數得到:

\[id{f_i} = \log \frac{{\left| D \right|}}{{\left| {\left\{ {j:{t_i} \in {d_j}} \right\}} \right|}} \approx \log \frac{{\left| D \right| + 1}}{{\left| {\left\{ {j:{t_i} \in {d_j}} \right\}} \right| + 1}}\]

式中分子代表語料庫中的總文件數,分母代表包含詞語${t_i}$的文本數目(即${n_{i,j}} \ne 0$的文本數目)。

注:如果該詞不在語料庫中,就會導致分母為0,故一般采用后者約等處理。(注意這里涉及到平滑化處理,常用的方法:加一法、線性插值法和折扣法)

注:如果包含某個詞語的文本越少,也就是分母越小,則IDF值越大,說明該詞語具有很好的類區分能力。

2.3  TF-IDF計算

如果某個詞語在一篇文章中出現的頻率高。並且在其他文章中很少出現,則認為該詞語具有很好的類區分能力,適合用於分類。

TF-IDF實際上為:

\[tfid{f_{i,j}} = t{f_{i,j}} \times id{f_i}\]

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

3  不足之處

如果某一類文檔$C$中包含詞語$t$的文本數為$m$,而其他類包含詞語$t$的文本數為$k$,顯然所有包含詞語$t$的文本數$n = m + k$,當$m$大的時候$n$也大,按照公式得到的IDF值會小,就說明詞語$t$的類分能力不強。

但實際上,如果一個詞語在一個類的文本中頻繁出現,則說明該詞語能夠很好代表這個類的文本特征,這樣的詞語應該給它們賦予較高的權重,並選來作為該類文本的特征詞以區別於其他類文本,這就是IDF的不足之處。

除此外,還有以下不足之處:

  • 對於新詞給予一個較大的權重是否合適?
  • TF-IDF僅僅綜合考慮了該詞語在文檔中的重要程度和文檔區分度。
  • TF-IDF沒有考慮特征詞在類間的分布。特征選擇所選擇的特征應該在某類出現多,而其他類出現少,即考察各類的文檔頻率的差異。如果一個特征詞在各類間分布比較均勻,這樣的詞語對分類基本沒有貢獻;但是如果一個特征詞比較集中地分布在某個類中,而在其它類中幾乎不出現,這樣的詞語卻能夠很好地代表這個類的特征,而TF-IDF不能區分這兩種情況。總而言之,即TF-IDF計算的權重不適用於分類。
  • TF-IDF沒有考慮特征詞在類內部文檔中的分布情況。在類內部的文檔中,如果特征詞均勻分布在其中,則這個特征詞能夠很好地代表這個類的特征,如果只在幾篇文檔中出現,而在此類的其他文檔中不出現,顯然這樣的特征詞不能夠代表這個類的特征。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM