1. 程式人生 > >TF-IDF介紹

TF-IDF介紹

先來 包含 有意 但是 clas 有意義 分享圖片 不同 單詞

TF-IDF是什麽

TF-IDF是一種統計方法,用以評估一個詞對於一篇文章或語料庫中一篇文章的重要性。字詞的重要性隨著它在文件中出現的次數成正比增加,但同時會隨著它在語料庫中出現的頻率成反比下降。

TF-IDF的使用場景

TF-IDF加權的各種形式常被搜索引擎應用,作為文件與用戶查詢之間相關程度的度量或評級。除了TF-IDF以外,因特網上的搜索引擎還會使用基於鏈接分析的評級方法,以確定文件在搜尋結果中出現的順序。

TF-IDF原理

  • TF(Term Frequency) 表示詞頻,即一個詞在在一篇文章中出現的次數,但在實際應用時會有一個漏洞,就是篇幅長的文章給定詞出現的次數會更多一點。因此我們需要對次數進行歸一化,通常用給定詞的次數除以文章的總詞數。

$$TF_w = \frac{給定詞w出現的次數}{文章的總次數}$$

這其中還有一個漏洞,就是 ”的“ ”是“ ”啊“ 等類似的詞在文章中出現的此時是非常多的,但是這些大多都是沒有意義詞,對於判斷文章的關鍵詞幾乎沒有什麽用處,我們稱這些詞為”停用詞“,也就是說,在度量相關性的時候不應該考慮這些詞的頻率。

  • IDF(Inverse Document Frequency)逆文本頻率指數,如果包含關鍵詞w的文檔越少,則說明關鍵詞w具有很好的類別區分能力。某一關鍵詞的IDF,可以用總的文章數量除以包含該關鍵詞的文章的數量,然後對結果取對數得到
    $
    IDF_w = \log(\frac{語料庫文章的總數}{包含關鍵詞w的文章數量 + 1})
    $
    ? 註:分母加1是為了避免沒有包含關鍵詞的文章時分母是0的情況

一個詞預測主題的能力越強,權重就越大,反之,權重越小,因此一個詞的TF-IDF就是:
$
TF-IDF = TF*IDF
$

實際應用

通常在新聞的分類,或者說文章的分類的時候我們會用到ID-IDF。如果讓編輯來對新聞或者文章分類,他一定要先讀懂文章,然後找出主題,最後根據主題的不同對文章進行分類。而讓電腦對文章進行分類,就要求我們先把文字的文章變成一組可以計算的數字,然後通過算法來算出文章的相似性。

首先我們先來看怎麽用一組數字(或者說一個向量)來表示一篇文章。對於一篇文章的所有實詞(除去無意義的停用詞),計算出他們的TF-IDF值,把這些值按照對應的實詞在詞匯表的位置依次排列,就得到了一個向量。比如,詞匯表中有64000個詞,其編號和詞:

單詞編號 漢字詞
1
2
... ...
789 服裝
... ...
64000 做作

在某一篇文章中,文章中的詞的TF-IDF值對應為:

單詞編號 TF-IDF
1 0
2 0.0034
... ...
789 0.034
... ...
64000 0.075

如果單詞表的某個詞在文章中沒有出現,對應的值為零,這樣我們就得到了一個64000維的向量,我們稱為這篇文章的特征向量。然後每篇文章就可以用一個向量來表示,這樣我們就可以計算文章之間的相似程度了。

向量的夾角是衡量兩個向量相近程度的度量。因此,可以通過計算兩篇文章的特征向量的夾角來判斷兩篇文章的主題的接近程度。那麽我們就需要用余弦地理了。

技術分享圖片

∠A的余弦值為:
$
cosA = \frac{b^2+c^2-a^2}{2bc}
$
如果將三角形的兩邊b和c看成是兩個以A為起點的向量,那麽上述公式等於:
$
cosA=\frac{<b,c>}{|b|·|c|}
$
其中,分母便是兩個向量b和c的長度,分子表示兩個向量的內積。假設文章X和文章Y對應的向量是
$
X_1,X_2,...,X_{64000}和Y_1,Y_2,...,Y_{64000}
$
那麽他們的夾角的余弦等於
$
cosθ=\frac{x_1y_1+x_2y_2+...+x_{64000}y_{64000}}{\sqrt{x_1^2+x_2^2+x_{64000}^2}\cdot\sqrt{y_1^2+y_2^2+y_{64000}^2}}
$
由於向量中的每一個變量都是正數,所以余弦的取值在0到1之間。當兩篇文章向量的余弦等於1時,這兩個向量夾角為零,兩篇文章完全相同;當夾角的余弦接近於1時兩篇文章越相似,從而可以歸成一類;夾角的余弦越小,夾角越大,兩篇文章越不相關。

現在假定我們已知一些文章的特征向量,那麽對於任何一個要被分類的文章,就很容易計算出它和各類文章的余弦相似性,並將其歸入它該去的那一類中。

如果事先沒有已知的文章的特征向量呢,可以用自底向上不斷合並的方法。

  1. 計算所有文章之間涼涼的余弦相似性,把相似性大於一個閾值的合並成一小類
  2. 把每個小類中的所有文章作為一個整體,計算小類的特征向量,在計算小雷之間兩兩的余弦相似性,然後合並成一個大類

這樣不斷做下去,類別越來越少,而每個類越來越大。當某一類太大時,這一類裏的文章的相似性就很小了,這時就要停止叠代過程了,然後完成分類。


歡迎關註公眾號:「努力給自己看」

技術分享圖片

TF-IDF介紹