tf-idf(term frequency–inverse document frequency)是一種用於資訊檢索與資料探勘的常用加權技術。
外文名
term frequency–inverse document frequency
縮 寫
tf-idf
用 於
資訊檢索資料探勘的常用加權技術
類 別
統計方法
1簡介 2
原理 3舉例
▪例1
▪例2 4
應用 5
理論假設 6
模型概率
編輯tf-idf是一種
統計方法,用以評估一字詞對於乙個檔案集或乙個語料庫中的其中乙份檔案的重要程度。字詞的重要性隨著它在檔案中出現的次數成正比增加,但同時會隨著它在
語料庫中出現的頻率成反比下降。tf-idf加權的各種形式常被
搜尋引擎應用,作為檔案與使用者查詢之間相關程度的度量或評級。除了tf-idf以外,網際網路上的搜尋引擎還會使用基於鏈結分析的評級方法,以確定檔案在搜尋結果中出現的順序。
[1]
編輯tfidf的主要思想是:如果某個詞或短語在一篇文章中出現的頻率tf高,並且在其他文章中很少出現,則認為此詞或者短語具有很好的類別區分能力,適合用來分類。tfidf實際上是:tf * idf,tf詞頻(term frequency),idf逆向檔案頻率(inverse document frequency)。tf表示詞條在文件d中出現的頻率。idf的主要思想是:如果包含詞條t的文件越少,也就是n越小,idf越大,則說明詞條t具有很好的類別區分能力。如果某一類文件c中包含詞條t的文件數為m,而其它類包含t的文件總數為k,顯然所有包含t的文件數n=m+k,當m大的時候,n也大,按照idf公式得到的idf的值會小,就說明該詞條t類別區分能力不強。但是實際上,如果乙個詞條在乙個類的文件中頻繁出現,則說明該詞條能夠很好代表這個類的文字的特徵,這樣的詞條應該給它們賦予較高的權重,並選來作為該類文字的特徵詞以區別與其它類文件。這就是idf的不足之處. 在乙份給定的檔案裡,詞頻(term frequency,tf)指的是某乙個給定的詞語在該檔案中出現的頻率。這個數字是對詞數(term count)的歸一化,以防止它偏向長的檔案。(同乙個詞語在長檔案裡可能會比短檔案有更高的詞數,而不管該詞語重要與否。)對於在某一特定檔案裡的詞語來說,它的重要性可表示為:
以上式子中分子是該詞在檔案中的出現次數,而分母則是在檔案中所有字詞的出現次數之和。
逆向檔案頻率(inverse document frequency,idf)是乙個詞語普遍重要性的度量。某一特定詞語的idf,可以由總檔案數目除以包含該詞語之檔案的數目,再將得到的商取
對數得到:
idf公式分母
然後再計算tf與idf的乘積。
某一特定檔案內的高詞語頻率,以及該詞語在整個檔案集合中的低檔案頻率,可以產生出高權重的tf-idf。因此,tf-idf傾向於過濾掉常見的詞語,保留重要的詞語。
[2]
編輯
有很多不同的數學公式可以用來計算tf-idf。這邊的例子以上述的
數學公式來計算。詞頻 (tf) 是一詞語出現的次數除以該檔案的總詞語數。假如一篇檔案的總詞語數是100個,而詞語「母牛」出現了3次,那麼「母牛」一詞在該檔案中的詞頻就是3/100=0.03。乙個計算檔案頻率 (idf) 的方法是測定有多少份檔案出現過「母牛」一詞,然後除以檔案集裡包含的檔案總數。所以,如果「母牛」一詞在1,000份檔案出現過,而檔案總數是10,000,000份的話,其逆向檔案頻率就是 log(10,000,000 / 1,000)=4。最後的tf-idf的分數為0.03 * 4=0.12。
讀者可能已經發現了又乙個漏洞。在上面的例子中,詞「的」佔了總詞頻的 80% 以上,而它對確定網頁的主題幾乎沒有用。我們稱這種詞叫「應刪除詞」(stopwords),也就是說在度量相關性是不應考慮它們的頻率。在漢語中,應刪除詞還有「是」、「和」、「中」、「地」、「得」等等幾十個。忽略這些應刪除詞後,上述網頁的相似度就變成了0.007,其中「原子能」貢獻了 0.002,「應用」貢獻了 0.005。細心的讀者可能還會發現另乙個小的漏洞。在漢語中,「應用」是個很通用的詞,而「原子能」是個很專業的詞,後者在相關性排名中比前者重要。因此我們需要給漢語中的每乙個詞給乙個權重,這個權重的設定必須滿足下面兩個條件:
1.乙個詞**主題能力越強,權重就越大,反之,權重就越小。我們在網頁中看到「原子能」這個詞,或多或少地能了解網頁的主題。我們看到「應用」一次,對主題基本上還是一無所知。因此,「原子能「的權重就應該比應用大。
2.應刪除詞的權重應該是零。
[3]
編輯權重計算方法經常會和余弦相似度(cosine similarity)一同使用於
向量空間模型中,用以判斷兩份檔案之間的相似性。 編輯
tfidf演算法是建立在這樣乙個假設之上的:對區別文件最有意義的詞語應該是那些在文件中出現頻率高,而在整個
文件集合的其他文件中出現頻率少的詞語,所以如果特徵空間座標系取tf詞頻作為測度,就可以體現同類文字的特點。另外考慮到單詞區別不同類別的能力,tfidf法認為乙個單詞出現的文字
頻數越小,它區別不同類別文字的能力就越大。因此引入了逆文字頻度idf的概念,以tf和idf的乘積作為特徵空間座標系的取值測度,並用它完成對
權值tf的調整,調整權值的目的在於突出重要單詞,抑制次要單詞。但是在本質上idf是一種試圖抑制噪音的加權 ,並且單純地認為文字頻數小的單詞就越重要,文字頻數大的單詞就越無用,顯然這並不是完全正確的。idf的簡單結構並不能有效地反映單詞的重要程度和特徵詞的分布情況,使其無法很好地完成對權值調整的功能,所以tfidf法的精度並不是很高。
此外,在tfidf演算法中並沒有體現出單詞的位置資訊,對於web文件而言,權重的計算方法應該體現出html的結構特徵。特徵詞在不同的標記符中對文章內容的反映程度不同,其權重的計算方法也應不同。因此應該對於處於網頁不同位置的特徵詞分別賦予不同的係數,然後乘以特徵詞的詞頻,以提高文字表示的效果。 編輯
資訊檢索概述
[4]
對於這一基問題,先後出現了布林模型、向量模型等各種經典的資訊檢索模型,它們從不同的角度提出了自己的一套解決方案。布林模型以集合的布林運算為基礎,查詢效率高,但模型過於簡單,無法有效地對不同文件進行排序,查詢效果不佳。向量模型把文件和查詢串都視為詞所構成的多維向量,而文件與查詢的相關性即對應於向量間的夾角。不過,由於通常詞的數量巨大,向量維度非常高,而大量的維度都是0,計算向量夾角的效果並不好。另外,龐大的計算量也使得向量模型幾乎不具有在網際網路搜尋引擎這樣海量資料集上實施的可行性。
[4]
tf-idf 模型
當前,真正在搜尋引擎等實際應用中廣泛使用的是 tf-idf 模型。tf-idf 模型的主要思想是:如果詞w在一篇文件d中出現的頻率高,並且在其他文件中很少出現,則認為詞w具有很好的區分能力,適合用來把文章d和其他文章區分開來。
[4]
資訊檢索的概率視角
直觀上看,tf 描述的是文件中詞出現的頻率;而 idf 是和詞出現文件數相關的權重。我們比較容易定性地理解 tf-idf 的基本思想,但具體到 tf-idf 的一些細節卻並不是那麼容易說清楚為什麼。
[4]
總結
tf-idf 模型是搜尋引擎等實際應用中被廣泛使用的資訊檢索模型,但對於 tf-idf 模型一直存在各種疑問。本文為資訊檢索問題一種基於條件概率的盒子小球模型,其核心思想是把「查詢串q和文件d的匹配度問題」轉化為「查詢串q來自於文件d的條件概率問題」。它從概率的視角為資訊檢索問題定義了比 tf-idf 模型所表達的匹配度更為清晰的目標。此模型可將 tf-idf 模型納入其中,一方面解釋其合理性,另一方面也發現了其不完善之處。另外,此模型還可以解釋 pagerank 的意義,以及 pagerank 權重和 tf-idf 權重之間為什麼是乘積關係。
[4]
資料探勘和資訊檢索
資料探勘和資訊檢索都是一種資訊發現任務。但是它們在很多方面都有所不同。資訊檢索領域的任務是使用資料庫管理系統查詢個別的記錄,或通過網際網路的搜尋引擎查詢特定的web頁面。而資料探勘則是知識發現不可缺少的一部分,是將未加工的資料轉換為有用資訊的過程。資訊檢索主要依賴傳統的計算機科學技術和資料的明顯特徵...
常用的Elasticseaerch檢索技巧彙總
本篇部落格是對前期工作中遇到es坑的一些小結,順手記錄下,方便日後查閱。為了講解不同型別es檢索,我們將要對包含以下型別的文件集合進行檢索 1 title 標題 2 authors 作者 3 summary 摘要 4 release data 發布日期 首先,讓我們借助 bulk api批量建立新的...
看懂資訊檢索和網路資料探勘領域論
資訊檢索和網路資料領域 www,sigir,cikm,wsdm,acl,emnlp等 的 中常用的模型和技術總結 引子 對於這個領域的博士生來說,看懂 是入行了解大家在做什麼的研究基礎,通常我們會去看一本書。看一本書固然是好,但是有乙個很大的缺點 一本書本身自成體系,所以包含太多東西,很多內容看了,...