针对新冠肺炎微博热搜话题使用R语言进行文本特征提取的四种方法(二) —— 基于TF-IDF的特征提取

       在对一段文本进行分词之后,有的词出现的次数会比较多,因此往往对其出现的频次进行统计,作为该词重要程度的度量。基于这个思想,词频(Term Frequency,TF)被广泛应用于基本的文本数据挖掘。在实际应用中,分词过后经常出现的词包含一些常用而又不带有信息量的词,例如中文里面的“的”“了”“呢”,英文中的“the”“it”“is”。

       为了在评估的时候降低这种词的重要性比重,产生了逆文档频率(Inverse Document Frequency,IDF)这一概 念。它的计算公式为:

IDF_{term} = ln\frac{N}{df_{term}}

      其中,N表示语料库中文档的总数,df_{term}表示语料库中出现了 term这个词的文档数量。可以看出,如果一个词在多个文档中都出现 df_{term}会上升,那么这个term的IDF就会下降。而我们常提到的TF-IDF 的计算公式为:

 TF-IDF = TF\times IDF

      TF-IDF就是词频TF与逆文档频率IDF的乘积,它背后的思想是:词语的重要性与它在文件中出现的次数成正比,但同时会随着它在语料库中出现的频率成反比。要在R中计算TF-IDF是非常便捷的,可以使用tidytext包的bind_tf_idf函数进行实现。下面以新冠肺炎微博热搜话题为例进行说明:

library(tidyverse)
library(tidytext)
order <- read_excel("E:/code/data/data mining/Weibo_2020Coron.xlsx") %>%      #导入数据
  select("id","title") 
order
#分词与计数
order %>% 
  unnest_tokens(title,title) %>% 
  count(id,title) -> count_table
#计算IF-IDF
count_table %>% 
  bind_tf_idf(title,id,n)

     结果如下图所示:

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值