用R语言对水果茶评论进行情感分析的课设例子
时间: 2023-07-27 18:11:22 浏览: 81
好的,让我给你一个简单的 R 语言情感分析例子。假设我们有一些水果茶的评论数据,包含了用户的评分和评论内容。我们想要对这些评论进行情感分析,以了解用户对水果茶的满意程度。
首先,我们需要加载所需的 R 包(如 `tidytext`、`dplyr`、`tidyr` 和 `ggplot2`),并读取评论数据。为了方便起见,我使用了一个名为 `fruit_tea.csv` 的数据集。
```R
# 加载所需的包
library(tidytext)
library(dplyr)
library(tidyr)
library(ggplot2)
# 读取数据
comments <- read.csv("fruit_tea.csv", stringsAsFactors = FALSE)
```
接下来,我们需要进行文本清洗和分词。我们可以使用 `tidytext` 包中的 `unnest_tokens()` 函数来将评论内容分割成单个单词,并删除停用词(如 "the"、"a"、"an" 等)和标点符号。
```R
# 文本清洗和分词
comments_cleaned <- comments %>%
mutate(comment = tolower(comment)) %>%
unnest_tokens(word, comment) %>%
anti_join(stop_words)
```
现在,我们可以使用情感词典来计算每个评论的情感分数。这里,我使用了 `bing` 情感词典,其中每个单词都被标记为正面、负面或中性。
```R
# 情感分析
library(tidytext)
library(dplyr)
bing <- get_sentiments("bing")
comments_sentiment <- comments_cleaned %>%
inner_join(bing, by = "word") %>%
group_by(id, comment) %>%
summarise(sentiment = sum(score))
head(comments_sentiment)
```
最后,我们可以将结果可视化,以了解不同评分水平下的情感分数分布。
```R
# 可视化
ggplot(comments_sentiment, aes(x = sentiment, fill = factor(rating))) +
geom_histogram(binwidth = 1, position = "dodge") +
facet_wrap(~rating, ncol = 2) +
xlab("Sentiment Score") +
ylab("Count") +
ggtitle("Sentiment Analysis of Fruit Tea Comments")
```
这将为我们生成一个可视化图表,其中显示了每个评分水平下的情感分数分布。
希望这个例子对你有帮助!
阅读全文