使用R语言进行主题发现(一)

写作目的

最近由于研究需要,使用R语言对文本进行了主题发现,下面对具体过程进行记录。

步骤一:读取文本并进行预处理

本实验中主要对从SCI引文数据库中关于bigdata的索引记录进行分析,文件名为download_2.txt 目录为c:\\data\\,具体代码为:

#文件路径
textfile<-"C:\\data\\download_1.txt"
#按行读取该文本到变量bigdata
bigdata<-readLines(textfile)
#使用正则表达式对记录中的摘要进行提取
doc<-grep("^AB.*?",bigdata)
#删除文件开头的AB 字符,得到摘要列表
doc<-sub("^AB ","",doc)

步骤二:使用tm包建立DocumentTermMatrix矩阵

将摘要信息读取doc变量后,接下来就需要使用tm包对文本进行处理了.

#加载tm包
library(tm)
#建立语料库
doc.vec<-VectorSource(doc)
doc.corpus<-Corpus(doc.vec)
#进行预处理
doc.corpus<-tm_map(doc.corpus,tolower)
doc.corpus<-tm_map(doc.corpus,removePunctuation)
doc.corpus<-tm_map(doc.corpus,removeNumbers)
doc.corpus<-tm_map(doc.corpus,removeWords, stopwords("english"))
#加载SnowballC包
library(SnowballC)
#继续进行预处理
doc.corpus <- tm_map(doc.corpus, stemDocument)
doc.corpus <- tm_map(doc.corpus, stripWhitespace)
#建立TermDocumentMatrix
TDM <- TermDocumentMatrix(doc.corpus)

  

步骤三:使用wordcloud查看词语分布情况

library(wordcloud)
m <- as.matrix(TDM)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
wordcloud(d$word,d$freq,c(8,.3),2)

  

经过上述步骤后,可以得到该语料的词云图如下

步骤四:使用topicmodels包对文本进行主题挖掘

未完待续......

时间: 2024-10-25 07:28:15

使用R语言进行主题发现(一)的相关文章

R语言︱LDA主题模型——最优主题...

R语言︱LDA主题模型--最优主题...:https://blog.csdn.net/sinat_26917383/article/details/51547298#comments 原文地址:https://www.cnblogs.com/yijiaming/p/10148427.html

R语言-文本挖掘 主题模型 文本分类

####需要先安装几个R包,如果有这些包,可省略安装包的步骤.#install.packages("Rwordseg")#install.packages("tm");#install.packages("wordcloud");#install.packages("topicmodels") 例子中所用数据 数据来源于sougou实验室数据. 数据网址:http://download.labs.sogou.com/dl/so

零基础数据分析与挖掘R语言实战课程(R语言)

随着大数据在各行业的落地生根和蓬勃发展,能从数据中挖金子的数据分析人员越来越宝贝,于是很多的程序员都想转行到数据分析, 挖掘技术哪家强?当然是R语言了,R语言的火热程度,从TIOBE上编程语言排名情况可见一斑.于是善于学习的程序员们开始了R语言的学习 之旅.对于有其他语言背景的程序员来说,学习R的语法小菜一碟,因为它的语法的确太简单了,甚至有的同学说1周就能掌握R语言,的确如 此.但是之后呢?……好像进行不下去了!死记硬背记住了两个分析模型却不明其意,输出结果如同天书不会解读,各种参数全部使用缺

NLP︱R语言实现word2vec(词向量)经验总结(消除歧义、词向量的可加性)

R语言由于效率问题,实现自然语言处理的分析会受到一定的影响,如何提高效率以及提升词向量的精度是在当前软件环境下,比较需要解决的问题. 笔者认为还存在的问题有: 1.如何在R语言环境下,大规模语料提高运行效率? 2.如何提高词向量的精度,或者说如何衡量词向量优劣程度? 3.词向量的功能性作用还有哪些值得开发? 4.关于语义中的歧义问题如何消除? 5.词向量从"词"往"短语"的跨越? 转载请注明出处以及作者(Matt),欢迎喜欢自然语言处理一起讨论~ ---------

R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理

前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. 这次的主题是论R与excel的结合,又称 论如何正确把EXCEL文件喂给R处理 分为: 1. xlsx包安装及注意事项 2.用vba实现xlsx批量转化csv 以及,这个的对象,针对跟我一样那些从R开始接触编程的,一直以来都是用excel做数据分析的人……编程大牛请轻拍 之所以要研究这个,是因为最近工作上接了个活,要把原来在excel端的报表迁移到R端,自动输出可视化图形,并制作PDF或PPT. 这个活可以分为

R语言简介

概况: R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支.可以认为R是S语言的一种实现.而S语言是由AT&T贝尔实验室开发的一种用来进行数据探索.统计分析和作图的解释型语言.作为一种统计分析软件,是集统计分析与图形显示于一体的.它可以运行于UNIX,Windows和Macintosh的操作系统上. 特点: R是自由软件.可编程的语言.所有R的函数和数据集是保存在程序包里面的.R是免费的(R is free) 图标: "R i386 3.2.5"为R语言的本体,有他就

在 SPSS Statistics 和 Modeler 中调用 R 语言的实现和应用

http://www.ibm.com/developerworks/cn/data/library/ba/ba-1401spss-r/index.html 登录 | 注册   IBM 技术主题 软件下载 社区 技术讲座 搜索 developerWorks 打印本页面 用电子邮件发送本页面 新浪微博 人人网 腾讯微博 搜狐微博 网易微博 Digg Facebook Twitter Delicious Linked In developerWorks 中国 技术主题 Information Mana

[译]用R语言做挖掘数据《七》

时间序列与数据挖掘 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到: 1. LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令2. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器3. R:在命令行输入‘R’进入交互式环境,下面的代码都是在交互式环境运行4. 数据:在命令行终端输入以下命令:

用R语言做挖掘数据《三》

决策树和随机森林 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令2. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器.3. R:在命令行终端输入‘R’,进入R的交互式环境,下面的代码都是在交互式环境运行. 3. 环境使用 使用