我们将 对1993年发送到20个Usenet公告板的20,000条消息进行从头到尾的分析。此数据集中的Usenet公告板包括新闻组用于政治,宗教,汽车,体育和密码学等主题,并提供由许多用户编写的丰富文本。
预处理
我们首先阅读20news-bydate
文件夹中的所有消息,这些消息组织在子文件夹中,每个消息都有一个文件。我们可以看到在这样的文件用的组合read_lines()
,map()
和unnest()
。
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
我们希望新闻组在主题和内容方面有所不同,因此,它们之间的词语频率也不同。
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情感词典,它为每个单词提供数字积极性分数,并用条形图可视化
用语言分析情绪
值得深入了解为什么有些新闻组比其他新闻组更积极或更消极。为此,我们可以检查每个单词的总积极和消极贡献。
这些词通常看起来很合理,作为每个消息情绪的指标,但我们可以发现该方法可能存在的问题。“真实”可能很容易成为“不真实”或类似负面表达的一部分,而“上帝”和“耶稣”这两个词在Usenet上显然非常普遍,但很容易在很多情况下使用,无论是积极的还是消极的。
N-gram分析
我们认为单词的效果,如“不”,并在简·奥斯汀的小说,如考虑像“不喜欢”一语是否导致通道被错误标注为积极的情绪分析“不”。Usenet数据集是一个更大的现代文本语料库,因此我们可能会对本文中的情绪分析如何逆转感兴趣
还有问题吗?联系我们!
大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务
统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服)
【服务场景】
科研项目; 公司项目外包;线上线下一对一培训;数据采集;学术研究;报告撰写;市场调查。
【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询服务