텍스트 마이닝

1.사전 설정하기

useNIADic()
## Backup was just finished!
## 1213109 words dictionary was built.

2.데이터 불러오기

hiphop <- readLines("e:/R_Project/hiphop.txt")
head(hiphop)
## [1] "\"보고 싶다"                  "이렇게 말하니까 더 보고 싶다"
## [3] "너희 사진을 보고 있어도"      "보고 싶다"                   
## [5] "너무 야속한 시간"             "나는 우리가 밉다"

3.특수문자 제거

hiphop <- str_replace_all(hiphop, "\\W", " ")

4.명사 추출하기

noun <- extractNoun(hiphop)
wordcount <- table(unlist(noun))

5. 사용된 단어 빈도표 만들기

df_word <- as.data.frame(wordcount,stringsAsFactors = F)
df_word <- rename(df_word,
                  word=Var1,
                  freq=Freq)
df_word <- filter(df_word,
                  nchar(word)>=2)
top20 <- df_word %>%
  arrange(desc(freq)) %>%
  head(20)
top20
##    word freq
## 1   you   89
## 2    my   86
## 3   YAH   80
## 4    on   76
## 5  하나   75
## 6  오늘   51
## 7   and   49
## 8  사랑   49
## 9  like   48
## 10 우리   48
## 11  the   43
## 12 시간   39
## 13 love   38
## 14   to   38
## 15   we   36
## 16   it   33
## 17   em   32
## 18  not   32
## 19 역사   31
## 20 flex   30

6. 워드 클라우드 만들기

pal <- brewer.pal(8,"Dark2")
set.seed(1234)
wordcloud(words=df_word$word,
          freq=df_word$freq,
          min.freq=2,
          max.words = 200,
          random.order =F,
          rot.per=.1,
          scale=c(4,0.3),
          colors=pal)