文字分析——分配單詞權重

超人汪小建發表於2019-03-04

前言

文字處理中很多時候會需要給每個單詞分配權重,有了權重以便後續進一步處理。常用的演算法主要是TF-IDF。

TF

TF,即Term Frequency。我們可以將文件看成由若干詞(term)組成,那麼文件中某個term出現的頻率就是TF。詞頻和詞權重存在關係,可以用來作為詞權重的衡量因素之一。

IDF

IDF,即Inverse Document Frequency。TF演算法存在一個問題:比如某文件中多個term出現的次數相同,則不好判別他們之間哪個更重要。因此又引入逆文件頻率(IDF),某個term的IDF可定為:

IDF = log(\frac{T}{t})
複製程式碼

其中,T為統計樣本中總文件數,t為包含某term的文件數。由此說明包含某term的文件數越多,該term越不重要。

獲取IDF方式

其實有幾種方式來統計IDF。

  • 自己收集樣本庫進行統計。
  • 第三方統計好的IDF表。
  • 藉助百度或谷歌搜尋引擎,這種方式不準確。隨便取個m值假設為總文件,再搜尋某個term得到n條結果,則認為n除以m即為IDF。

TF-IDF

有了前面的TF和IDF就可以通過他們一起決定某個Term的權重。定義TF-IDF為TF乘以IDF。

實現程式碼

https://github.com/sea-boat/nlp_lab/tree/master/tf_idf

-------------推薦閱讀------------

我的2017文章彙總——機器學習篇

我的2017文章彙總——Java及中介軟體

我的2017文章彙總——深度學習篇

我的2017文章彙總——JDK原始碼篇

我的2017文章彙總——自然語言處理篇

我的2017文章彙總——Java併發篇

------------------廣告時間----------------

公眾號的選單已分為“分散式”、“機器學習”、“深度學習”、“NLP”、“Java深度”、“Java併發核心”、“JDK原始碼”、“Tomcat核心”等,可能有一款適合你的胃口。

鄙人的新書《Tomcat核心設計剖析》已經在京東銷售了,有需要的朋友可以購買。感謝各位朋友。

為什麼寫《Tomcat核心設計剖析》

歡迎關注:

這裡寫圖片描述

相關文章