백엔드 프레임워크 & 언어/R

TextMining - WordCloud 만들기

anodos 2022. 2. 26. 21:22

# TextMining
# 1. R 버전 조회 - R 4.0 이상에서는 KoNLP 설치가 어려워짐.-> 버전 확인
R.version #4.1.2

# 2.Git에서 받기 위해 Tool 설치
install.packages("remotes")

# 3.Git에서 multilinguer 설치
remotes::install_github("mrchypark/multilinguer") 

# 4.multilinguer library loading
library(multilinguer)

# 5.jdk 설치
install_jdk()

# 6.의존성 패키지설치
install.packages(c("hash", "tau", "Sejong", "RSQLite", "devtools", "bit", "rex", "lazyeval", "htmlwidgets", "crosstalk", "promises", "later", "sessioninfo", "xopen", "bit64", "blob", "DBI", "memoise", "plogr", "covr", "DT", "rcmdcheck", "rversions"), type = "binary")


# 7.koNLP 설치
remotes::install_github('haven-jeon/KoNLP', upgrade = "never", INSTALL_opts=c("--no-multiarch"))

# 8.KoNLP Library Loading
# 라이브러리 로딩
library(KoNLP)

# 9.분석대상 변수 할당
v1 <- "여러분 안녕하세요. 만나서 반갑습니다. 오늘은 Text Mining 시간이다. 즐거운 R시간 되세요."

# 10.명사추출 테스트
extractNoun(v1)

# 11.문재인 대통령 2021년 신년사 분석 https://www.korea.kr/news/policyNewsView.do?newsId=148882463
# text를 복사하여 ansi 인코딩으로 저장 : test.txt

# 12.워킹 디렉토리 확인하여 text 복사
getwd()

# 13.복사된 파일확인
list.files()

# 14.딕셔너리 지정

useSejongDic() ## 한글이 저장되어 있는 세종사전을 사용함을 알려준다.
#useNIADic()

# 15. 단어전에 원하는 명사 추가(option)  ncn 타입으로 저장
mergeUserDic(data.frame(c("테스트"), c("ncn")))
mergeUserDic(data.frame(c("스마트"), c("ncn")))

# 16. text 불러오기
text1 <- readLines("test.txt")

# 17.명사추출
text2 <- extractNoun(text1)

# 18. 대괄호 안에 대괄호 치환 list형태를 vector 형태로
text3 <- unlist(text2)


# 19. 전처리 불용어 전처리
text4 <- gsub("되","",text3)
text4 <- gsub("등","",text4)


# 20. vector 요소의 길이가 5보다 작은 것 확인, 1보다 큰것만
text5 <- text4[nchar(text4) < 5]
text5 <- text5[nchar(text5) > 1]

# 21. 빈도수 체크 후 정렬 내림차순으로 (기본 오름차순)
text6 <- sort(table(text5),decreasing = T)

# 22. 상위 200개만 가져오기
text7 <- head(text6,200)

# 23. 워드클라우드 패키지 설치
install.packages("wordcloud2")

# 24 .libary load
library(wordcloud2)

# 25. WordCloud 시각화
wordcloud2(text7)

# 26. 결과확인

2021년도 신년사

2022년도 신년사

반응형