TF_IDF模型和文本相似度的計算 - icelovely的專欄 - 博客頻道 - CSDN.NET
TF-IDF (term frequency–inverse document frequency)是一種用于資訊檢索與文本挖掘的常用加權技術。TF-IDF是一種統計方法,用以評估一字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現的次數成正比增加,但同時會隨著它在語料庫中出現的頻率成反比下降。TF-IDF加權的各種形式常被搜索引擎應用,作為文件與用戶查詢之間相關程度的度量或評級。除了TF-IDF以外,互聯網上的搜尋引擎還會使用基 于連結分析的評級方法,以確定文件在搜尋結果中出現的順序。
在一份給定的文件里, 詞頻 (term frequency,TF)指的是某一個給定的詞語在該文件中出現的次數。這個數字通常會被正規化,以防止它偏向長的文件。(同一個詞語在長文件里可能會 比短文件有更高的詞頻,而不管該詞語重要與否。)對于在某一特定文件里的詞語 t i 來說,它的重要性可表示為:
![]()
以上式子中 n i , j 是該詞在文件 d j 中的出現次數,而分 母則是在文件 d j 中所有字詞的出現次數 之和。
逆向文件頻率 (inverse document frequency,IDF)是一個詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數目除以包含該詞語之文件的數目,再將得到的商取對數得到:
![]()
其中
- |D|:語料庫中的文件總數
:
包含詞語 t i 的文件數目(即的
文件數目)然后
![]()
某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的TF-IDF。因此,TF-IDF傾向于過濾掉常見的詞 語,保留重要的詞語。
=================文本相似性度量=======================
方法一:向量空間模型
在向量空間模型中,文本泛指各種機器可讀的記錄。用D(Document)表示,特征項(Term,用t表示)是指出現在文檔D中且能夠代表該文檔內容的 基本語言單位,主要是由詞或者短語構成,文本可以用特征項集表示為D(T1,T2,…,Tn),其中Tk是特征項,1<=k<=N。例如一篇 文檔中有a、b、c、d四個特征項,那么這篇文檔就可以表示為D(a,b,c,d)。對含有n個特征項的文本而言,通常會給每個特征項賦予一定的權重表示 其重要程度。即D=D(T1,W1;T2,W2;…,Tn,Wn),簡記為D=D(W1,W2,…,Wn),我們把它叫做文本D的向量表示。其中Wk是
Tk的權重,1<=k<=N。在上面那個例子中,假設a、b、c、d的權重分別為30,20,20,10,那么該文本的向量表示為 D(30,20,20,10)。在向量空間模型中,兩個文本D1和D2之間的內容相關度Sim(D1,D2)常用向量之間夾角的余弦值表示,公式為:
![]()
其 中,W1k、W2k分別表示文本D1和D2第K個特征項的權值,1<=k<=N。
在自動歸類中,我們可以利用類似的方法來計算待歸類 文檔和某類目的相關度。例如文本D1的特征項為a,b,c,d,權值分別為30,20,20,10,類目C1的特征項為a,c,d,e,權值分別為 40,30,20,10,則D1的向量表示為D1(30,20,20,10,0),C1的向量表示為C1(40,0,30,20,10),則根據上式計算 出來的文本D1與類目C1相關度是0.86方法二:字符串相似度
對于象字符串計算相似度的算法有很多,常用的有最大公共字串,編輯距離等。
編輯距離就是用來計算從原串(s)轉換到目標串(t)所需要的最少的插入,刪除和替換的數目,在NLP中應用比較廣泛,如一些評測方法中就用到了 (wer,mWer等),同時也常用來計算你對原文本所作的改動數。編輯距離的算法是首先由俄國科學家Levenshtein提出的,故又叫 Levenshtein Distance。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
