본문 바로가기
공부/R & Python

8-3. 텍스트마이닝1

by 드인 2020. 2. 17.

8-3. 텍스트마이닝1


1) 텍스트마이닝이란?

텍스트마이닝 (Text mining)

- 텍스트마이닝은 웹페이지, 이메일, 소셜네트워크 기록 등 전자문서 파일로부터 특정 연관성(동시적으로 빈도가 높은 단어추출)을 분석하는 방법

- 텍스트마이닝은 다양한방식의 알고리즘을 이용하여 대용량의 텍스트문서로부터 트렌드와 관심어를 찾아내는 기법으로 사용

 

2) 텍스트마이닝에 필요한 패키지

- 텍스트마이닝을 위한 패키지

# 자연어처리 
install.packages('NLP')


# 텍스트마이닝 패키지 
install.packages('tm')


# 텍스트마이닝 결과의 시각화 
install.packages('wordcloud')

 

- 그 외 패키지

#한글처리를 위한 패키지

install.packages("KoNLP")

 

#트위터의 데이터를 불러오는 패키지

install.packages("twitteR")


# color displaying
install.packages('RColorBrewer')

 

- 패키지설치와 라이브러리 설정, tm의 예제 데이터 (crude)

data(crude)

help(crude)

tm에 포함된 데이터 crude사용 (원유 데이터)

 

3) 텍스트마이닝 패키지(tm)의 데이터

- 예제데이터 : crude 데이터 (로이터통신의 20개의 뉴스기사)

crude[[1]] : 첫번째 기사 (아래와 같은 XML파일 형태로 저장) - tm패키지에 들어있는 예제데이터

 

4) 텍스트마이닝 예제 : Crude(원유)데이터

crude<-tm_map(crude, removePunctuation)
# remove stopwords
crude<-tm_map(crude, removeNumbers)
crude<-tm_map(crude, function(x) removeWords(x,stopwords()))
stopwords()

# from frequency counts
tdm<-TermDocumentMatrix(crude)
m<-as.matrix(tdm)
v<-sort(rowSums(m), decreasing=TRUE)
d<-data.frame(word=names(v), freq=v)

# plot a word cloud
# to see detail help(wordcloud) 
par(mfrow=c(1, 1))
wordcloud(d$word, d$freq, random.order=FALSE)

텍스트마이닝 결과 : oil, said, price

 

- help(wordcloud)

=(default)

 

5) 텍스트마이닝 : 코퍼스(corpus)

- 코퍼스(corpus, 말뭉치) : 텍스트집합을 의미

(예) 신문기사(html, text), SNS (tweeter, facebook)

 

- 코퍼스 기반 언어연구, 빅데이터 시대의 언어분석

 

- Source의 종류

DirSource() : 디렉토리

DataframeSource() : R 데이터프레임

VectorSource() : R 벡터

XMLSource() : XML 파일

URISource() : URI

 

- 문서포맷과 Reader

readPlain : Plain Text

readPDF : pdf 파일

readDOC : MS word 문서

readXML : XML 문서