文本处理中不少时候会须要给每一个单词分配权重,有了权重以便后续进一步处理。经常使用的算法主要是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内核设计剖析》已经在京东销售了,有须要的朋友能够购买。感谢各位朋友。
欢迎关注: