文本處理中不少時候會須要給每一個單詞分配權重,有了權重以便後續進一步處理。經常使用的算法主要是TF-IDF。git
TF,即Term Frequency。咱們能夠將文檔當作由若干詞(term)組成,那麼文檔中某個term出現的頻率就是TF。詞頻和詞權重存在關係,能夠用來做爲詞權重的衡量因素之一。github
IDF,即Inverse Document Frequency。TF算法存在一個問題:好比某文檔中多個term出現的次數相同,則很差判別他們之間哪一個更重要。所以又引入逆文檔頻率(IDF),某個term的IDF可定爲:算法
IDF = log(\frac{T}{t})
複製代碼
其中,T爲統計樣本中總文檔數,t爲包含某term的文檔數。由此說明包含某term的文檔數越多,該term越不重要。併發
其實有幾種方式來統計IDF。機器學習
有了前面的TF和IDF就能夠經過他們一塊兒決定某個Term的權重。定義TF-IDF爲TF乘以IDF。分佈式
https://github.com/sea-boat/nlp_lab/tree/master/tf_idf學習
-------------推薦閱讀------------搜索引擎
------------------廣告時間----------------
公衆號的菜單已分爲「分佈式」、「機器學習」、「深度學習」、「NLP」、「Java深度」、「Java併發核心」、「JDK源碼」、「Tomcat內核」等,可能有一款適合你的胃口。
鄙人的新書《Tomcat內核設計剖析》已經在京東銷售了,有須要的朋友能夠購買。感謝各位朋友。
歡迎關注: