본문 바로가기
PROGRAMMING/R

[R] Text Mining과 WordCloud

by 안녕나는현서 2021. 7. 17.
728x90

- Text Minig

  • 비정형 텍스트를 기반으로 의미있는 명사를 추출하는 기술
  • 단어분류 또는 문법적 구조분석 등의 자연언어(Natural Language Processing)기술 기반
  • 워드클라우드는 문서의 단어들을 분류하여 그 빈도를 한 눈에 보기 쉽게 함

 

- 사용 패키지

  1. wordcloud : 워드클라우드 출력기능
  2. RColorBrewer : 보기좋은 다양한 유형의 색들에 대한 팔레트 제공
  3. KoNLP : 한글 처리

 

- wordcloud

install.packages('wordcloud')
library(wordcloud)

word <- c('광주', '서울', '부산')   # 지역 이름
frequency <- c(50, 250, 160)        # 인구 수

wordcloud(word, frequency, colors='blue')

[매개변수]

  • word : 단어
  • freq : 단어들의 빈도
  • scale : 가장 빈도가 큰 단어와 가장 빈도가 작은 단어 폰트 사이의 크기 차이
  • min.freq : 출력될 단어들의 최소 빈도
  • max.words : 출력될 단어들의 최대 빈도 (Inf : 제한없음)
  • random.order : TRUE는 랜덤으로 단어출력, FALSE는 빈도수가 가장 큰 단어 중앙배치하고 작은 순 배치
  • random.color : TRUE는 랜덤으로 색 지정, FALSE는 빈도순으로 정해짐
  • rot.per : 90도 회전된 각도로 출력되는 단어 비율
  • colors : 가장 작은 빈도부터 큰 빈도까지의 단어 색

 

- wordcloud2

  • 기존 wordcloud패키지의 단점을 보완하여 2018년 출시, interactive한 기능이 추가됨
install.packages('wordcloud2')
library(wordcloud2)

wordcloud2(sort(table(unlist_president), decreasing=T), shuffle=F, size=0.3, color='random-light')

 

- RColorBrewer : brewer.pal(팔레트 색의 수, 팔레트 이름)

install.packages('RColorBrewer')
library(RColorBrewer)

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

wordcloud(word, frequency, colors=pal)

  • 모든 팔레트 출력
display.brewer.all()

 

- KoNLP (Korean Natural Language Processing)

  • extractNoun
    • 한글의 명사 추출 함수 : 한글을 입력받아서 명사 추출해주는 역할
    • Hannanum analyzer(한나눔 분석기) 사용
> library(KoNLP)

> sentence <- ('봄이 지나면 여름이고 여름이 지나면 가을입니다. 그리고 겨울이죠')
> sentence
[1] "봄이 지나면 여름이고 여름이 지나면 가을입니다. 그리고 겨울이죠"
> extractNoun(sentence)
[1] "여름" "여름" "가을" "겨울"

 

- 한글사전의 종류

  1. sejongDic : R 형태소 분석 시 많이 사용하던 형태소사전
  2. NIADic : 기존 형태소사전의 부족한 단어 수를 보완하여 한국정보화진흥원(NIA)이 개발
728x90

'PROGRAMMING > R' 카테고리의 다른 글

[R] 데이터 전처리  (0) 2021.07.19
[R] Text Mining과 WordCloud 실습  (0) 2021.07.19
[R] csv파일 불러오고 살펴보기  (0) 2021.07.17
[R] 데이터 프레임 (Data Frame)  (0) 2021.07.17
[R] 벡터 (Vector)  (0) 2021.07.17

댓글