我一直在做一些文本挖掘。我使用以下方法创建了 DTM 矩阵
以下步骤。

corpus1<-VCorpus(VectorSource(resume1$Dat1))

corpus1<-tm_map(corpus1,content_transformer(tolower))
corpus1<-tm_map(corpus1,content_transformer(trimWhiteSpace))

dtm<-DocumentTermMatrix(corpus1,
                           control = list(removePunctuation = TRUE,
                                          removeNumbers = TRUE,
                                          removeSparseTerms=TRUE,
                                            stopwords = TRUE))

在跑完之后,我仍然听到诸如 -quotation、“有趣、模型”之类的词
等在 dtm.Also 中也得到像“”这样的空白数据

我该怎么办?我不需要这个破折号和额外的引文。

最佳答案

我不确定为什么 DocumentTermMatrix 对您不起作用,但您可以尝试使用 tm_map 在将语料库转换为 dtm 之前对其进行预处理。这对我有用(请注意,我对默认停止列表重新排序,否则它会在整个单词之前删除撇号词的词干,留下搁浅的 's'):

corpus1 <- VCorpus(VectorSource(resume1$dat))

reorder.stoplist <- c(grep("[']", stopwords('english'), value = TRUE),
                      stopwords('english')[!(1:length(stopwords('english')) %in% grep("[']", stopwords('english')))])

corpus1 <- tm_map(corpus1, content_transformer(tolower))
corpus1 <- tm_map(corpus1, removeWords, reorder.stoplist)
corpus1 <- tm_map(corpus1, removePunctuation)
corpus1 <- tm_map(corpus1, removeNumbers)
corpus1 <- tm_map(corpus1, stripWhitespace)

corpus1 <- DocumentTermMatrix(corpus1)

关于r - 文本挖掘 - removePunctuation 不删除引号和破折号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30703215/

10-11 08:04