文本過濾演算法
❶ 通俗理解TF-IDF
在信息檢索中,tf-idf(詞頻-逆文檔頻率)是一種統計方法,用以評估一個單詞在一個文檔集合或語料庫中的重要程度。經常被用作信息檢索、文本挖掘以及用戶模型的權重因素。tf-idf的值會隨著單詞在文檔中出現的次數的增加而增大,也會隨著單詞在語料庫中出現的次數的增多而減小。tf-idf是如今最流行的詞頻加權方案之一。
tf-idf的各種改進版本經常被搜索引擎用作在給定用戶查詢時對文檔的相關性進行評分和排序的主要工具。tf-idf可以成功地用於各種主題欄位的停用詞過濾,包括文本摘要和分類。
TF-IDF實際上是:TF * IDF。主要思想是:如果某個詞或短語在一篇文章中出現的頻率高(即TF高),並且在其他文章中很少出現(即IDF高),則認為此詞或者短語具有很好的類別區分能力,適合用來分類。
通俗理解TF-IDF就是:TF刻畫了詞語t對某篇文檔的重要性,IDF刻畫了詞語t對整個文檔集的重要性。
TF(Term Frequency,詞頻)表示一個給定詞語t在一篇給定文檔d中出現的頻率。TF越高,則詞語t對文檔d來說越重要,TF越低,則詞語t對文檔d來說越不重要。那是否可以以TF作為文本相似度評價標准呢?答案是不行的,舉個例子,常用的中文詞語如「我」,「了」,「是」等,在給定的一篇中文文檔中出現的頻率是很高的,但這些中文詞幾乎在每篇文檔中都具有非常高的詞頻,如果以TF作為文本相似度評價標准,那麼幾乎每篇文檔都能被命中。
對於在某一文檔 d j 里的詞語 t i 來說,t i 的詞頻可表示為:
IDF(Inverse Document Frequency,逆向文件頻率)的主要思想是:如果包含詞語t的文檔越少,則IDF越大,說明詞語t在整個文檔集層面上具有很好的類別區分能力。IDF說明了什麼問題呢?還是舉個例子,常用的中文詞語如「我」,「了」,「是」等在每篇文檔中幾乎具有非常高的詞頻,那麼對於整個文檔集而言,這些詞都是不重要的。對於整個文檔集而言,評價詞語重要性的標准就是IDF。
某一特定詞語的IDF,可以由總文件數除以包含該詞語的文件數,再將得到的商取對數得到:
TFIDF演算法是建立在這樣一個假設之上的:對區別文檔最有意義的詞語應該是那些在文檔中出現頻率高,而在整個文檔集合的其他文檔中出現頻率少的詞語,所以如果特徵空間坐標系取TF詞頻作為測度,就可以體現同類文本的特點。另外考慮到單詞區別不同類別的能力,TF-IDF法認為一個單詞出現的文本頻數(即包含某個單詞的文本數)越小,它區別不同類別文本的能力就越大。因此引入了逆文本頻度IDF的概念,以TF和IDF的乘積作為特徵空間坐標系的取值測度,並用它完成對權值TF的調整,調整權值的目的在於突出重要單詞,抑制次要單詞。但是在本質上IDF是一種試圖抑制雜訊的加權,並且單純地認為文本頻率小的單詞就越重要,文本頻率大的單詞就越無用,顯然這並不是完全正確的。IDF的簡單結構並不能有效地反映單詞的重要程度和特徵詞的分布情況,使其無法很好地完成對權值調整的功能,所以TF-IDF法的精度並不是很高。
此外,在TFIDF演算法中並沒有體現出單詞的位置信息,對於Web文檔而言,權重的計算方法應該體現出HTML的結構特徵。特徵詞在不同的標記符中對文章內容的反映程度不同,其權重的計算方法也應不同。因此應該對於處於網頁不同位置的特徵詞分別賦予不同的系數,然後乘以特徵詞的詞頻,以提高文本表示的效果。