안녕하세요 구도입니다.
오늘도 지난 시간에 이어 텍스트마이닝 실습을 진행해보는 시간을 갖도록 하겠습니다.
프로그램 실행하셔서 직접 실습해보시며 이해하시는 것이 가장 효과적이랍니다.
*프로그램은 '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)
오늘도 글 읽어주셔서 감사합니다.
'IT > 빅데이터분석및시각화' 카테고리의 다른 글
[빅데이터분석및시각화 12] R 텍스트마이닝 04 (0) | 2019.02.13 |
---|---|
[빅데이터분석및시각화 10] R 텍스트마이닝 02 (0) | 2019.01.31 |
[빅데이터분석및시각화 09] R 텍스트마이닝 01 (0) | 2019.01.26 |
[빅데이터분석및시각화 08] R Plot / 수치형 자료를 범주형으로 바꾸기 (0) | 2019.01.16 |
[빅데이터분석및시각화 07] R 상대도수 y축 / 줄기잎그림 / boxplot 등 (0) | 2019.01.09 |