改进情感分析

R 文本分析入门

Maham Faisal Khan

Senior Data Science Content Developer

按评分统计情感

tidy_review %>% 
  inner_join(get_sentiments("bing")) %>% 
  count(stars, sentiment)
# A tibble: 10 x 3
   stars sentiment     n
   <dbl> <chr>     <int>
 1     1 negative    381
 2     1 positive    241
 3     2 negative    384
# … with 7 more rows
R 文本分析入门

使用 pivot_wider()

tidy_review %>% 
  inner_join(get_sentiments("bing")) %>% 
  count(stars, sentiment) %>% 
  pivot_wider(names_from = sentiment, values_from = n)
# A tibble: 5 x 3
  stars negative positive
  <dbl>    <int>    <int>
1     1      381      241
2     2      384      247
# … with 3 more rows
R 文本分析入门

计算总体情感

tidy_review %>% 
  inner_join(get_sentiments("bing")) %>% 
  count(stars, sentiment) %>% 
  pivot_wider(names_from = sentiment, values_from = n)     %>% 
  mutate(overall_sentiment = positive - negative)
# A tibble: 5 x 4
  stars negative positive overall_sentiment
  <dbl>    <int>    <int>             <int>
1     1      381      241              -140 ...
5     5     3705     5083              1378
R 文本分析入门

按评分可视化情感

sentiment_stars <- tidy_review %>% 
  inner_join(get_sentiments("bing")) %>% 
  count(stars, sentiment) %>% 
  pivot_wider(names_from = sentiment, values_from = n)     %>% 
  mutate(
    overall_sentiment = positive - negative,
    stars = fct_reorder(stars, overall_sentiment)
  )
R 文本分析入门

按评分可视化情感

ggplot(
  sentiment_stars, 
  aes(x = stars, y = overall_sentiment, fill = as.factor(stars))
) +
  geom_col(show.legend = FALSE) +
  coord_flip() +
  labs(
    title = "总体情感(按星级)",
    subtitle = "机器人吸尘器的评论",
    x = "星级",
    y = "总体情感"
  )
R 文本分析入门

R 文本分析入门

Passons à la pratique !

R 文本分析入门

Preparing Video For Download...