초증등 영어교과서의 디자인을 제거하고 순수하게 텍스트만 추출해서 영문 교과서에 담겨진 감성을 뽑아내 보자.
C:\Program Files\Microsoft Office\Office15
디렉토리에 위치하고 파일명은 BATCHHWPCONV.EXE을 실행한다.qdapTools
팩키지 read_docx()
함수로 워드 파일을 R 객체로 불러들인다.# library(tidyverse)
# library(tidytext)
# library(qdap)
# library(qdapTools)
# library(stringr)
# library(tm)
# library(lexicon)
# library(magrittr)
# library(purrr)
# 1. 데이터 가져오기 ------------
## 1. 교과서 모든 레슨 가져오기
tb_lesson <- list.files("data/", pattern = "Lesson[0-9]_Reading.docx")
tb_lesson_files <- paste0("data/", tb_lesson)
tb_lesson_lst <- map(tb_lesson_files, read_docx)
listviewer::jsonedit(tb_lesson_lst)
## 2. 데이터 전처리 --------------
tb_lesson_lst <- map(tb_lesson_lst, clean_text)
tb_lesson_dat <- enframe(tb_lesson_lst, name="lesson", value ="txt")
tb_lesson_df <- tb_lesson_dat %>%
mutate(text = map(txt, paste, collapse=" ")) %>%
select(lesson, text)
Warning in mutate_impl(.data, dots): '.Random.seed'는 정수형 벡터가 아니라
타입 'NULL'이므로 무시되어집니다
## 3. 감성분석 --------------
tb_pol <- tb_lesson_df %$% polarity(text)
polarity(tb_lesson_df$text)
all total.sentences total.words ave.polarity sd.polarity stan.mean.polarity
1 all 8 6106 0.299 0.479 0.623
# counts(tb_pol) %>%
# DT::datatable(extensions = 'FixedColumns',
# options = list(
# autowidth = TRUE,
# columnDefs = list(list(width = '10px', targets = 1:5),
# list(width = '500px', targets = 6))
# ))
plot(tb_pol)
Warning: `show_guide` has been deprecated. Please use `show.legend`
instead.
Warning: `show_guide` has been deprecated. Please use `show.legend`
instead.