'textmining'에 해당되는 글 1건

  1. 2015.01.14 [텍스트 마이닝 연습] 2014 대통령 신년사 분석
반응형

R 텍스트마이닝 연습. 책은 R까기 참고, 대상은 2014년 대통령 신년사(출처: 네이버 검색). 

> setwd("D:/temp/r_temp")


> library(KoNLP)

> library(wordcloud)


> useSejongDic()

> mergeUserDic(data.frame("청마","ncn")) #위 사전에 해당 단어 추가하는 과정

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("수자원공사","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("4대강","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("원전비리","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("시험성적서","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("코레일","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("벤처창업","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("창업경제타운","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("창조경제추진단","ncn"))

1 words were added to dic_user.txt. 

> mergeUserDic(data.frame("규제총량제","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("세계평화공원","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("유라시아","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("원스톱","ncn"))

1 words were added to dic_user.txt.

> mergeUserDic(data.frame("자유학기제","ncn"))

1 words were added to dic_user.txt.


> txt<-readLines("president_lastyear.txt") # txt라는 변수에 분석용 데이터를 변수로 읽기

> place<-sapply(txt,extractNoun,USE.NAMES=F) #txt파일에서 공백을 기준으로 조사해 명사만 찾아 place라는 변수에 저장

> head(unlist(place),30) #추출된 명사를 30개만 출력하여 확인

> c<-unlist(place) # 필터링을 위해 unlist 작업을 지정해서 저장

> place<-Filter(function(x){nchar(x)>=2},c) #두 글자 이상 되는 것만 필터


> place<-gsub(" ","",place) # gsub 함수를 이용하여 불필요한 단어 삭제

> place<-gsub("해서","",place)

> place<-gsub("하기","",place)

> place<-gsub("들이","",place)


> write(unlist(place),"president_lastyear_2.txt") #파일로 저장한 후 테이블 형태로 변환

> rev<-read.table("president_lastyear_2.txt") #수정 완료된 파일을 table 형식으로 변환하여 다시 변수에 불러드림

> nrow(rev) #rev변수에 데이터가 몇 건이 있는지 조회

[1] 819

> wordcount<-table(rev) #rev변수의 값을 table형태로 변환해서 wordcount라는 변수에 할당

> head(sort(wordcount,decreasing=T),30) #빈도수 상위 30개, 많은 순으로 정렬

> library(RColorBrewer) #칼러 불러오기

> palete<-brewer.pal(9,"Set1") #색깔 지정

> wordcloud(names(wordcount),freq=wordcount,scale=c(5,1),rot.per=0.25,min.freq=3,random.order=F,random.color=T,colors=palete)#최소 3회 언급 인쇄

> savePlot("2014president_newyearmessage.png",type="png") #그림으로 저장



반응형
Posted by 마르띤
,