舉例說明TF IDF原理

2021-10-06 13:49:14 字數 1016 閱讀 5028

tf-idf是自然語言處理中乙個統計方法,用以評估一字詞對於乙個檔案集或乙個語料庫中的其中乙份檔案的重要程度

那麼如何來評估某個詞對於目標文件的重要程度呢?乙個容易想到的思路,就是找到出現次數最多的詞。如果某個詞很重要,它應該在這篇文章中多次出現。於是,我們進行"詞頻"(term frequency,縮寫為tf)統計。

結果你肯定猜到了,出現次數最多的詞是----「的」、「是」、「在」----這一類最常用的詞。它們叫做"停用詞"(stop words),表示對找到結果毫無幫助、必須過濾掉的詞。

流程:第一步,計算詞頻。

考慮到文章有長短之分,為了便於不同文章的比較,進行"詞頻"標準化。

第二步,計算逆文件頻率。

這時,需要乙個語料庫(corpus),用來模擬語言的使用環境。

如果乙個詞越常見,那麼分母就越大,逆文件頻率就越小越接近0。分母之所以要加1,是為了避免分母為0(即所有文件都不包含該詞)。log表示對得到的值取對數。

第三步,計算tf-idf。

優點:

是簡單快速,結果比較符合實際情況。

缺點:

單純以"詞頻"衡量乙個詞的重要性,不夠全面,有時重要的詞可能出現次數並不多。而且,這種演算法無法體現詞的位置資訊,出現位置靠前的詞與出現位置靠後的詞,都被視為重要性相同,這是不正確的。(一種解決方法是,對全文的第一段和每一段的第一句話,給予較大的權重。)

AngularJS工作原理 舉例說明

在研究了angularjs接近半年的時間以後,終於差不多弄懂了angularjs的工作機制原理了 拿乙個例子說明一下吧 html 容納 人 已預訂 次 首先在service.js中定義乙個方法叫getoffice,該方法是與後台資料庫進行資料查詢的介面,在前台頁面能夠顯示出來資料的流程是首先在ser...

sprintf舉例說明

最近需要把圖形的座標轉換為字元來檢驗圖形座標的正確與否,所以較多的用到了sprintf 函式。例如 int sign 100 char s1 10 sprintf s1,d sign pdc textout 0,0,s1 這裡就把sprintf 函式的用法總結一下。int sprintf char ...

python argparse舉例說明

目的 想從命令列通過命令來指定是否執行程式中的某個函式 模組 更新關於另乙個例子 這裡只舉例說明 原因是看了很多博文之後,還是沒有解決筆者上面說的那個問題,即如何從命令列決定是否執行某段函式問題 設定乙個引數,名為foreground,簡寫f 即在終端可以輸入 foreground也可以輸入 f。跟...