1. 중고등 영어 교과서

초증등 영어교과서의 디자인을 제거하고 순수하게 텍스트만 추출해서 영문 교과서에 담겨진 감성을 뽑아내 보자.

영어 교과서 R로 불러 읽어들이기

  1. 압축이 되어 있으면 압축을 풀어 한 곳에 모아 놓는다.
  2. HwpConverter.exe 파일을 다운로드 받아 설치를 하면 아래한글 파일을 워드 파일로 변환할 수 있다.
    • 변환기 실행파일은 %Program Files%Office15 즉, C:\Program Files\Microsoft Office\Office15 디렉토리에 위치하고 파일명은 BATCHHWPCONV.EXE을 실행한다.
  3. qdapTools 팩키지 read_docx() 함수로 워드 파일을 R 객체로 불러들인다.

2. 영어 교과서 감성분석

2.1. 교과서 가져오기

# 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.2. 교과서 전처리

## 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'이므로 무시되어집니다

2.3. 교과서 감성분석

## 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.