헤르만 헤세 황야의 이리라는 텍스트 파일이 있길래 word cloud를 통해 시각화를 해봤다.



아래 코드에서 test.txt가 황야의 이리이다.


==========R==========


rm(list=ls())

 

#단어를 읽기 위한 패키지 적용

library("KoNLP")

useNIADic()

library("stringr")

 

#헤르만헤세 황야의 이리 적용.

txt1 <-readLines("test.txt")

#인코딩이 필요한지 확인하기 위해 head로 확인.

head(txt1)

 

#특수문자를 없앤다.

txt2 <- str_replace_all(txt1, "\\W", " ")

#제대로 처리했는지 확인

head(txt2)

#단어를 추출한다. 영어를 빼기 위해 USE.NAMES = F를 해준다.

txt3 <- sapply(txt2, extractNoun, USE.NAMES = F)

#리스트를 해제하기 위해서 unlist를 해준다.

txt4 <- unlist(txt3)

 

#단어를 정렬하기 위해서 table로 만든다.

wordcount <- table(txt4)

#arrange를 사용하기 위해 dataframe으로 만든다.

df_wordcount <- as.data.frame(wordcount, stringsAsFactors = F)

#상위 100개를 뽑아본다.

df_wordcount <- df_wordcount %>% arrange(desc(Freq)) %>% head(100)

 

#의미를 알 수 없는 한 글자 단어들이 많으므로 한 글자짜리는 빼본다.

df_wordcount <- filter(df_wordcount, nchar(txt4) >=2)

#다시 상위 100개를 뽑아본다.

df_wordcount <- df_wordcount %>% arrange(desc(Freq)) %>% head(100)

 

#워드 클라우드를 위해서 라이브러리 등록

library("RColorBrewer")

library("wordcloud")

#Dark2에서 8가지 색을 가져와서 pal에 저장한다.

pal <- brewer.pal(8,"Dark2")

#wordcloud를 만든다.

wordcloud(words = df_wordcount$txt4, freq = df_wordcount$Freq, min.freq = 10, max.words = 200, random.order = F, rot.per = 0.01, scale = c(3,0.7), colors = pal)


==========R==========



최빈 단어 상위 3개가 그녀, 당신, 그것이고 그 다음으로 많은 건 우리, 생각, 사람, 음악, 마음 등이다.


그외에도 사랑,  행복, 마리아와 같은 긍정적인 단어와 고통이라는 부정적인 단어가 있다.


최빈 단어가 인간형 객체를 지칭하고 그 다음으로 나오는 단어들은 철학적이다.


긍정적인 단어가 많이 나오고 부정적인 단어가 하나만 나오는 것으로 봐서 이 책의 분위기는 전반적으로 인간관계에 대한 철학적 탐색을 하는 것이라는 추측이 가능하다.


책의 제목과 연결시켜보자면 인간은 외로운 동물이기 때문에 다른 사람과 접점을 가져야 하고 그것이 인생에 있어 좋을 일이라는 결론을 내린 책이 아닐까 싶다.

+ Recent posts