文本分析——分配单词权重

前言

文本处理中不少时候会须要给每一个单词分配权重,有了权重以便后续进一步处理。经常使用的算法主要是TF-IDF。git

TF

TF,即Term Frequency。咱们能够将文档当作由若干词(term)组成,那么文档中某个term出现的频率就是TF。词频和词权重存在关系,能够用来做为词权重的衡量因素之一。github

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文章汇总——机器学习篇spa

个人2017文章汇总——Java及中间件.net

个人2017文章汇总——深度学习篇

个人2017文章汇总——JDK源码篇

个人2017文章汇总——天然语言处理篇

个人2017文章汇总——Java并发篇

------------------广告时间----------------

公众号的菜单已分为“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”等,可能有一款适合你的胃口。

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有须要的朋友能够购买。感谢各位朋友。

为何写《Tomcat内核设计剖析》

欢迎关注:

这里写图片描述
相关文章
相关标签/搜索