R에서 csv 파일을 사용하여 워드 클럭을 만들었습니다. tm
패키지에서 TermDocumentMatrix
메서드를 사용했습니다. 여기 내 코드는 다음과 같습니다.r에 TermDocumentMatrix를 읽고 쓰는 방법은 무엇입니까?
csvData <- read.csv("word", encoding = "UTF-8", stringsAsFactors = FALSE)
Encoding(csvData$content) <- "UTF-8"
# useSejongDic() - KoNLP package
nouns <- sapply(csvData$content, extractNoun, USE.NAMES = F)
#create Corpus
myCorpus <- Corpus(VectorSource(nouns))
myCorpus <- tm_map(myCorpus, removePunctuation)
# remove numbers
myCorpus <- tm_map(myCorpus, removeNumbers)
#remove StopWord
myCorpus <- tm_map(myCorpus, removeWords, myStopwords)
#create Matrix
TDM <- TermDocumentMatrix(myCorpus, control = list(wordLengths=c(2,5)))
m <- as.matrix(TDM)
이 프로세스에는 시간이 너무 걸리는 것으로 보입니다. 나는 extractNoun
이 지나치게 많은 시간을 소비했다고 생각한다. 코드를 더 효율적으로 만들려면 결과 TDM을 파일로 저장하고 싶습니다. 이 저장된 파일을 읽을 때 m <- as.matrix(saved TDM file)
을 완전히 사용할 수 있습니까? 아니면 더 나은 대안이 있습니까?
답장을 보내 주셔서 감사합니다. 그것은 효과가 있어요! 좋은 하루 보내십시오 ~ –
한 번 더 질문에 답해주세요. 너 괜찮 으면. 나는 당신이 말한대로'parallel'을 사용합니다. 그러나 이것은 거대한 기억 누출을 가져 오는 것 같았다. 그래서 임시 측정 값 인'gc() '를 사용합니다. 혹시이 경험을 해 본 적이 있습니까? 그렇다면 방법이 있습니까? –
나는 그것을 보지 못했다. 그것은 시스템에 따라 다릅니다. 만약 윈도우를 사용한다면'cl <-makeCluster (no_cores, type = "FORK")'를 사용하지만 XP 이후 Windows를 사용하지 않았다면 – pachamaltese