TF IDF演算法實現關鍵詞抽取

2021-08-18 16:56:10 字數 1030 閱讀 1403

tf-idf具體演算法如下:

tfidfi,j = tfi,j * idfi       

其中tfidf

i,j 是指詞i 相對於文件j的重要性值。

tf i,j 指的是某個給定的詞語在指定文件中出現的次數佔比。即給定的詞語在該文件中出現的頻率。這個數字是對term count的歸一化,防止它偏向長文件。計算公式為:

tf i,j =

n i,j / sum

(n k,j)   其中

ni,j 

是這個詞在d

j  中出現的次數。  

sum(n k,j) 是在檔案d

j 中所有的字詞出現的次數和。

idf i  是指詞 i 的你想檔案頻率。使用總文件資料除以包含指定詞語的文件的數目。 再降得到的商取對數。 這是一種度量詞語重要性的指標。 計算公式為:

idf i = log( |d| / || )    其中|d|為語料庫中的文件數。 || 為包含詞語t

i 的文件數目。

tf-idf 演算法會傾向於選出某一特定文件內的高頻詞語,同時該詞語在整個文件集合中分布是比較集中的。因此,tf-idf傾向於過濾掉常見的詞語,保留「獨有」詞語。但是這也造成了tf-idf的缺陷。 因為idf的主要思想是:如果包含詞條t的文件越少,也就是n越小,idf越大,則說明詞條t 具有很好的類別區分能力。如果某一文件c中包含詞條t的文件數為m, 而其他類包含t的文件總數為k,顯然所有包含t的文件數n = m + k, 當m大的時候,n也大,按照idf公式得到的idf的值會小,就說明該詞條t 類別區分能力不強。但實際上,如果乙個詞條在乙個類的文件中頻繁出現,則說明該詞條能夠很好地代表這個類的文字特徵,這樣的詞條應該給它們賦予較高的權重,並選來作為該類文字的特徵詞,以區別於其他類的文件。比如對於如下幾個短文本:

1、鮮花多少錢?

2、白百合多少錢?

3、月季多少錢?

4、香蕉多少錢?

改進的方法可以通過改變文件結構,比如將上述短文本歸併為乙個文件,這樣就可以在增加tf值的同時,也增加idf值。但是這樣就會增加模型的計算成本,需要大量的人為經驗加入其中。

TF IDF 提取關鍵詞

class document p s p p string,1,preg split no empty this build tf else public function build tf public function build tfidf idf else arsort this tfidf...

提取關鍵詞 tf idf演算法講解

結果你肯定猜到了,出現次數最多的詞是 的 是 在 這一類最常用的詞。它們叫做 停用詞 stop words 表示對找到結果毫無幫助 必須過濾掉的詞。用統計學語言表達,就是在詞頻的基礎上,要對每個詞分配乙個 重要性 權重。最常見的詞 的 是 在 給予最小的權重,較常見的詞 中國 給予較小的權重,較少見...

關鍵詞抽取 pagerank,textrank

pagerank pagerank 通過網路浩瀚的超連結關係來確定乙個頁面的等級,把從 a 頁面到 b 頁面的鏈結解釋為 a 頁面給 b 頁面投票,google 根據 a 頁面 甚至鏈結到 a的頁面 的 等級和投票 目標的等級來決定 b 的等級。簡單的說,乙個高等級的頁面可以使其他低等級頁面的等級提...