안녕하세요 구도입니다.


오늘도 지난 시간에 이어 텍스트마이닝 실습을 진행해보는 시간을 갖도록 하겠습니다.


프로그램 실행하셔서 직접 실습해보시며 이해하시는 것이 가장 효과적이랍니다.


*프로그램은 'R x64 3.5.1' 을 사용하였습니다*


#데이터 정의

library(tm)


sentences1<-c("These are 4 sentences.",

 "So they are text data.",

 "They are not structured but unstructured.",

 "We will study pre-processing in text mining with them.") # 네 개의 문장을 벡터 형태로 읽어 들여 이들을 sentences1에 저장


sentences1


sentCorpus<-Corpus(VectorSource(sentences1))   # 문자열로 만들어진 벡터 자료 sentences1 을 sentCorpus라는 corpus로 저장

sentCorpus                                                  # sentCorpus를 치면 sentCorpus의 메타정보만 주고 corpus의 내용을 볼 수 없음


#전처리 변환

inspect(sentCorpus)  # 전처리 결과 확인을 위한 함수.inspect() 함수를 사용해도 내용은 볼 수 없다. 



lapply(sentCorpus,as.character) # v0.6-2에서 corpus의 내용을 보기 위해서는 corpus를 as.character() 함수를 이용하여 문자형으로 바꿔주어야 함

                                # lapply() 함수는 어떤 함수를 적용시킨 결과를 리스트 형태로 나타내줌

                                # sentCorpus 에 as.character() 함수가 적용되어 각 문서가 리스트 형태로 출력된 것을 확인할 수 있음


writeCorpus(sentCorpus)   # sentCorpus에 있는 네 개의 문장을 작업 디렉터리에 네 개의 텍스트 파일로 각각 저장해줌



sentCorpus<-tm_map(sentCorpus,tolower)


inspect(sentCorpus)


sentCorpus<-tm_map(sentCorpus,content_transformer(tolower))

sentCorpus<-tm_map(sentCorpus,stripWhitespace)

sentCorpus<-tm_map(sentCorpus,removePunctuation)

sentCorpus<-tm_map(sentCorpus,removeNumbers)


lapply(sentCorpus,as.character)


stopwords('english') #R에서 가지고 있는 불용어 list


sentStopwords<-c(stopwords('english'),"will")

sentStopwords


sentStopwords<-setdiff(sentStopwords,c("from"))

sentStopwords


sentCorpus<-tm_map(sentCorpus,removeWords,sentStopwords)

lapply(sentCorpus,as.character)


오늘도 글 읽어주셔서 감사합니다.


+ Recent posts