R语言文本挖掘tf-idf,主题建模,情感分析,n-gram建模研究|附代码数据

发布时间 2023-07-24 14:50:58作者: 拓端tecdat

原文链接:http://tecdat.cn/?p=6864

我们围绕文本挖掘技术进行一些咨询,帮助客户解决独特的业务问题。 我们对20个Usenet公告板的20,000条消息进行分析 ( 点击文末“阅读原文”获取完整代码数据******** )。

此数据集中的Usenet公告板包括新汽车,体育和密码学等主题。

预处理

我们首先阅读20news-bydate文件夹中的所有消息,这些消息组织在子文件夹中,每个消息都有一个文件。

 
raw_text
 
## # A tibble: 511,655 x 3
##    newsgroup   id    text                                                              
##    <chr>       <chr> <chr>                                                             
##  1 alt.atheism 49960 From: mathew <mathew@mantis.co.uk>                                
##  2 alt.atheism 49960 Subject: Alt.Atheism FAQ: Atheist Resources                       
##  3 alt.atheism 49960 Summary: Books, addresses, music -- anything related to atheism   
##  4 alt.atheism 49960 Keywords: FAQ, atheism, books, music, fiction, addres
 
## # … with 511,645 more rows

请注意该newsgroup列描述了每条消息来自哪20个新闻组,以及id列,用于标识该新闻组中的消息。

图片

tf-idf

TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。我们希望新闻组在主题和内容方面有所不同,因此,它们之间的词语频率也不同。

图片

 
newsgroup_cors
 
## # A tibble: 380 x 3
##    item1                    item2                    correlation
##    <chr>                    <chr>                          <dbl>
##  1 talk.religion.misc       soc.religion.christian         0.835
##  2 soc.religion.christian   talk.religion.misc             0.835
##  3 alt.atheism              talk.religion.misc             0.779
##  4 talk.religion.misc       alt.atheism                    0.779
##  5 alt.atheism              soc.religion.christian         0.751
##  6 soc.religion.christian   alt.atheism                    0.751
##  7 comp.sys.mac.hardware    comp.sys.ibm.pc.hardware       0.680
##  8 comp.sys.ibm.pc.hardware comp.sys.mac.hardware          0.680
##  9 rec.sport.baseball       rec.sport.hockey               0.577
## 10 rec.sport.hockey         rec.sport.baseball             0.577
## # … with 370 more rows

图片

主题建模

LDA可以整理来自不同新闻组的Usenet消息吗?

图片

主题1当然代表sci.space新闻组(因此最常见的词是“空间”),主题2可能来自密码学,使用诸如“密钥”和“加密”之类的术语。

情绪分析

我们可以使用我们 探讨的情绪分析技术来检查这些Usenet帖子中出现的正面和负面词的频率。哪些新闻组总体上最积极或最消极?

在这个例子中,我们将使用AFINN情感词典,它为每个单词提供积极性分数,并用条形图可视化

图片

用语言分析情绪

值得深入了解_为什么_有些新闻组比其他新闻组更积极或更消极。为此,我们可以检查每个单词的总积极和消极贡献度。

图片

N-gram分析

Usenet数据集是一个现代文本语料库,因此我们会对本文中的情绪分析感兴趣.图片图片


图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《R语言文本挖掘tf-idf,主题建模,情感分析,n-gram建模研究》。

点击标题查阅往期内容

NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据
Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集
自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据
R语言对NASA元数据进行文本挖掘的主题建模分析
R语言文本挖掘、情感分析和可视化哈利波特小说文本数据
Python、R对小说进行文本挖掘和层次聚类可视化分析案例
用于NLP的Python:使用Keras进行深度学习文本生成
长短期记忆网络LSTM在时间序列预测和文本分类中的应用
用Rapidminer做文本挖掘的应用:情感分析
R语言文本挖掘tf-idf,主题建模,情感分析,n-gram建模研究
R语言对推特twitter数据进行文本情感分析
Python使用神经网络进行简单文本分类
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
R语言文本挖掘使用tf-idf分析NASA元数据的关键字
R语言NLP案例:LDA主题文本挖掘优惠券推荐网站数据
Python使用神经网络进行简单文本分类
R语言自然语言处理(NLP):情感分析新闻文本数据
Python、R对小说进行文本挖掘和层次聚类可视化分析案例
R语言对推特twitter数据进行文本情感分析
R语言中的LDA模型:对文本数据进行主题模型topic modeling分析
R语言文本主题模型之潜在语义分析(LDA:Latent Dirichlet Allocation)