역시 TV 토론은 재미있었다.
특히 이번 대통령선거TV토론의 백미는 역시 박근혜 후보와 이정희 후보의 상호토론.
아마도 내 생에 가장 역동적인 대선TV토론이었으리라.

그리고 이에 대한 트위터 등의 SNS 궁금해졌다.

최근에 빅데이터에 관심을 가지게 된 후
R을 이용한 인포그래픽 및 통계학 쪽을 처음부터 배우고 있는데
이걸 함 활용해 보고 싶었다.

아직 R도 통계학도 빅데이터에 관한 지식도 미천한지라
다른 곳에서 참고한 소스를 이용, 대선TV토론 이후 트위터의 반응글을 워드클라우드(태그구름)으로 표현해보았다.

먼저 아래의 워드클라우드는
2012년 12월 5일을 기준으로
“박근혜”, “문재인”, “이정희” 란 검색 키워드를 통해
트위터 반응글의 명사를 추출해 만든 것이다.

아래는 그 결과로
미리 언급했듯이 소스를 긁어 만든 것이니
큰 의미는 두지 마시길 바란다ㅋ

 

먼저 박근혜 후보 워드클라우드

사용자 삽입 이미지

박근혜 후보의 경우
검색키워드인 박근혜를 제외한 나머지 키워드 들에서 크게 돋보이는 키워드가 많지 않았다.
흠…

 

문재인 후보 워드클라우드

사용자 삽입 이미지

문재인 후보의 경우
보면 알겠지만…. ㅠㅠ

워드클라우드를 생성하기 위해 이용한 한글 단어 추출에서
문재란 키워드가 이미 명사에 포함되어 있어 가장 많이 포함된 단어가 문재인이 아닌 문재가 되었다. ㅠㅠ

아직 실력이 미천하여 이렇게 표현된 것임을 이해해 주시길.

 

마지막으로 대망의 이정희 후보 워드클라우드

사용자 삽입 이미지
아.. 역시
이정희 후보 워드클라우드에서는 뭔가 나올 것 같았는데
역시 기대를 저버리지 않았다.

개인적인 감상과 마찬가지로 SNS에서도 박근혜 후보와 이정희 후보에 대한 이슈가 많이 생성된듯.

이상 재미로 살펴본 대통령후보TV토론 SNS 반응 워드클라우드였다.
위의 결과에 대한 해석은 보시는 분 본인에게 맡겨드린다.

그리고 다시 말씀드리지만 너무 심각하게 받아드리지 마시길ㅋ

마지막으로 아래는
R로 위의 결과를 추출하는데 사용한 소스이다.
관심있으신 분은 참고 바란다.

 

R 소스

library(twitteR)
library(KoNLP)
library(wordcloud)
library(tm)

n1=200
nn <- c(1:n1)
keywd<-"검색키워드"
keywd<-enc2utf8(keywd)
result<-searchTwitter(keywd, n=n1)
resulttext <- c()
for(i in nn){
resulttext <- append(resulttext, enc2utf8(result[[i]]$text))
}

resulttext <- gsub("\n","", resulttext)
resulttext <- gsub("\r", "", resulttext)
resulttext <- gsub("co", "", resulttext)
resulttext <- gsub("http", "", resulttext)
resulttext <- gsub("!", "", resulttext)
resulttext <- gsub("?", "", resulttext)
#resulttext <- gsub(".", "", resulttext)
resulttext <- gsub("ㅋ", "", resulttext)
resulttext <- gsub("ㅜ", "", resulttext)
resulttext <- gsub("ㅠ", "", resulttext)
resulttext <- gsub("ㅎ", "", resulttext)
resulttext <- gsub("RT", "", resulttext)

nouns <- Map(extractNoun, resulttext)

wordsvec <- unlist(nouns, use.name=F)
wordsvec <- wordsvec[-which(wordsvec %in% stopwords("english"))]
wordsvec <- gsub("[[:punct:]]","", wordsvec)
wordsvec <- Filter(function(x){nchar(x)>=2}, wordsvec)

wordcount <- table(wordsvec)
pal <- brewer.pal(8,"Dark2")

windowsFonts(malgun=windowsFont("나눔고딕"))
wordcloud(names(wordcount),freq=wordcount,scale=c(4,0.5),min.freq=4, random.order=F,rot.per=.1,colors=pal, family="malgun")
Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *