R/TextMining

Jane Austen의 6개 작품에 대해 Bing 용어집을 이용하여 감성분석

이부일 2020. 3. 27. 09:39

Jane Austen의 6개 작품에 대해 Bing 용어집을 이용하여 감성분석을 하면 다음과 같다.

 

install.packages("tidyverse")
install.packages("tidytext")
install.packages("textdata")
install.packages("janeaustenr")
library(tidyverse)
library(tidytext)
library(textdata)
library(janeaustenr)

 

 

# tidy text data 만들기
tidy_books <- janeaustenr::austen_books() %>%
   dplyr::group_by(book) %>%
   dplyr::mutate(linenumber = row_number(), chapter = cumsum(stringr::str_detect(string = text,
                                                               pattern = regex("^chapter [\\divxlc]", ignore_case = TRUE)))) %>%
   dplyr::ungroup() %>%
   tidytext::unnest_tokens(output = word, input = text)

 

 

# Bing 용어집을 이용한 감성분석
janeausten_sentiment <- tidy_books %>%
   dplyr::inner_join(tidytext::get_sentiments("bing"), by = "word") %>%
   dplyr::count(book, index = linenumber %/% 80, sentiment) %>%
   tidyr::spread(sentiment, n, fill = 0) %>%
   dplyr::mutate(sentiment = positive - negative)

 

 

# 6개 작품에 대한 감성분석 시각화
janeausten_sentiment %>%
   ggplot2::ggplot(mapping = aes(x = index, y = sentiment, fill = book)) +
   ggplot2::geom_col(show.legend = FALSE) +
   ggplot2::theme_classic() +
   ggplot2::facet_wrap(~book, ncol = 2, scales = "free_x")

 

 

[출처] R로 배우는 텍스트마이닝, 줄리아 실기/데이비드 로빈슨 지음, 박진수 옮김, 제이펍, p21~24