[R 텍스트마이닝]
영화 어바웃타임 대본 단어 빈도분석 ④ 소문자로 통일하기
우리는 지난시간까지 어바웃타임의 자막을 단어단위로 나누어서 빈도분석을 했습니다. 몇가지 전처리를 했었는데, 아래와 같습니다.
- raw 데이터에서 불필요 기호 제거
- 단어데이터에서 불필요 단어 제거
빈도 결과를 받아보고 나서, 한가지 작업이 더 필요하다는 것을 알았습니다. 바로 대소문자입니다. 예를들어 Happy와 happy 는 같은 단어임에도, 빈도분석에는 다른 단어로 인식된 것입니다.
이 문제를 해결하기 위해 전체를 소문자로 바꾸는 코드르 추가하겠습니다. 아래와 같습니다. 빨간색으로 표시하였습니다.
library(stringr)
library(dplyr)
#텍스트 불러오기
raw=readLines("E:/ONE_DRIVE/OneDrive/21.textmining/abouttime/abouttime.txt")
#불필요 기호 제거하기
raw2=raw %>% gsub(pattern=".",replacement="",fixed=TRUE) %>%
gsub(pattern="-",replacement="",fixed=TRUE) %>%
gsub(pattern="?",replacement="",fixed=TRUE) %>%
gsub(pattern=",",replacement="",fixed=TRUE)
#단어 단위로 쪼개기
word = strsplit(raw2 ,split=" ") %>% unlist()
#전체 단어 소문자로
word= tolower(word)
#불필요한 단어 찾아 위치 저장하기
rm_obj=which(!str_detect(word,"."))
#불필요한 단어 제거하기
word2=word[-rm_obj]
#빈도 계산하기
word_table=table(word2) %>% sort(decreasing=TRUE)
word_df=word_table %>% as.data.frame()
# 텍스트 파일 저장
write.table(word_df,file="abouttime_wordrank_final.txt",quote=FALSE)
단어 수를 알아봅시다.
> str(word_df)
'data.frame': 1787 obs. of 2 variables:
$ word2: Factor w/ 1787 levels "you","i","the",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Freq : int 360 284 284 235 186 185 157 154 127 111 ...
단어 수가 2058단어에서 1787 단어로 감소한 것을 알 수 있습니다.
txt파일은 아래와 같습니다.
'R 주제 > 텍스트마이닝' 카테고리의 다른 글
[R 텍스트마이닝] 영화 어바웃타임 대본 단어 빈도분석 ⑤ 결과 분석하기 (0) | 2020.12.09 |
---|---|
[R 텍스트마이닝] 영화 어바웃타임 대본 단어 빈도분석 ③ 빈 문자열 제거 (0) | 2020.12.07 |
[R 텍스트마이닝] 영화 어바웃타임 대본 단어 빈도분석 ② 불필요한 기호 제거 (0) | 2020.12.04 |
[R 텍스트마이닝] 영화 어바웃타임 대본 단어 빈도분석 ① 빈도분석 일단 해보기 (0) | 2020.12.04 |
[R 텍스트마이닝] 창세기 단어구름(wordcloud) 만들기 (3) 단어구름 만들기 (0) | 2020.10.06 |
댓글