R文本挖掘
使用tm和tidytext包进行词频统计、词云绘制、情感分析与主题建模 · 难度:入门 · +15XP
文本挖掘:从文字中提取洞察
文本挖掘将非结构化文本转化为结构化数据,进行词频、情感、主题等分析。
1. 加载包与创建语料库
library(tm)
library(wordcloud)
library(SnowballC)
texts <- c('R is great for data science', 'I love R programming', 'Data analysis with R is fun')
corpus <- VCorpus(VectorSource(texts))2. 文本预处理
corpus <- tm_map(corpus, content_transformer(tolower))
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeWords, stopwords('en'))
corpus <- tm_map(corpus, stemDocument)3. 创建文档-词项矩阵
dtm <- DocumentTermMatrix(corpus)
inspect(dtm)4. 词频统计与词云
freq <- colSums(as.matrix(dtm))
wordcloud(names(freq), freq, min.freq=1, colors=brewer.pal(8,'Dark2'))5. 情感分析(使用tidytext)
library(tidytext)
library(dplyr)
text_df <- data.frame(line=1:3, text=texts)
text_df %>% unnest_tokens(word, text) %>% inner_join(get_sentiments('bing'))文本挖掘流程:
| 步骤 | R函数 |
|---|---|
| 创建语料库 | VCorpus() |
| 预处理 | tm_map() |
| 词频矩阵 | DocumentTermMatrix() |
| 词云 | wordcloud() |
练习提示:使用内置crude数据集,做词云和情感分析。