這個標題看上去好像很複雜,其實是乙個很簡單的問題。
這個問題涉及到資料探勘、文字處理、資訊檢索等很多計算機前沿領域,但有乙個非常簡單的經典演算法,卻可以給出令人相當滿意的結果。這就是tf-idf演算法,這個概念是由劍橋大學計算機女科學家斯巴克
⋅ 瓊斯提出,被認為是資訊檢索中最重要的發明。
乙個容易想到的思路,就是找到該網頁中出現次數最多的詞。如果某個詞很重要,它應該在這篇文章中多次出現。於是,我們進行」詞頻」(term frequency,縮寫為tf)統計。
結果你肯定猜到了,出現次數最多的詞是」的」、」是」、」在」這一類最常用的詞。它們叫做」停止詞」(stop word),表示對找到結果毫無幫助、必須過濾掉的詞。tf
1,tf_,…,tf
n 但是這裡存在乙個問題,比如在乙個網頁中」偏微分方程」和」世界」的詞頻一樣,從我們直觀感受上來講,這兩個詞的資訊量是不一樣的,當看到」偏微分方程」時我們可能想到這個網頁和數學有關,但」世界」卻讓我們完全摸不著頭腦。所以我們還需要找乙個方法,來衡量乙個詞的」稀有性」。
用統計學語言表達,就是在詞頻的基礎上,要對每個詞分配乙個」重要性」權重。最常見的詞(」的」、」是」、」在」)給予最小的權重,較常見的詞(」世界」)給予較小的權重,較少見的詞(」偏微分方程」)給予較大的權重。這個權重叫做」逆文件頻率」(inverse document frequency,縮寫為idf),它的大小與乙個詞的常見程度成反比。
下面就是這個演算法的細節。
第一步,計算詞頻: 詞頻
(tf)
=某個詞
在文章出
現的次數
詞頻(tf)=
某個詞在
文章出現
的次數文
章的總詞
數 第二步,計算逆文件頻率:
這時,需要乙個語料庫(corpus),用來模擬語言的使用環境。逆文
檔頻率(
idf)
=log
(語料庫
文件總數
包含該詞
的文件數
+1)
如果乙個詞越常見,那麼分母就越大,逆文件頻率就越小越接近0。分母之所以要加1(平滑),是為了避免分母為0(即所有文件都不包含該詞)。log表示對得到的值取對數。
第三步,計算tf-idf:tf
−idf
=詞頻(
tf)x
逆文件頻
率(id
f)
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 表示對找到結果毫無幫助 必須過濾掉的詞。用統計學語言表達,就是在詞頻的基礎上,要對每個詞分配乙個 重要性 權重。最常見的詞 的 是 在 給予最小的權重,較常見的詞 中國 給予較小的權重,較少見...
TF IDF關鍵詞提取方法的學習
tf idf term frequency inverse document frequency 是一種用於資訊檢索與資料探勘的常用加權技術。tf意思是詞頻 term frequency idf意思是逆向檔案頻率 inverse document frequency 最近學習了阮一峰先生關於tf i...