ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-11-12 09:29:59  阅读:179  来源: 互联网

标签:count title 语料库 IDF TF 文档 特征提取


       在对一段文本进行分词之后,有的词出现的次数会比较多,因此往往对其出现的频次进行统计,作为该词重要程度的度量。基于这个思想,词频(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)

     结果如下图所示:

 

标签:count,title,语料库,IDF,TF,文档,特征提取
来源: https://blog.csdn.net/weixin_44923423/article/details/121281109

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有