我一直在做一些文本挖掘。我使用了创建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中的等等。在数据
中得到像“”这样的空格我该怎么办?我不需要这个dahses和额外的引用。
答案 0 :(得分:2)
我不确定为什么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)
答案 1 :(得分:2)
我知道我的回复可能有点太迟了,但我遇到了类似的问题并且没有轻易找到答案。我希望这可以帮助其他人面对同样的问题。
要重新创建问题,您可以将此示例用于两个有问题的文本摘录:
library("tm")
library("textclean")
dt <- c("Vi ville också att husmodellen skulle ” ta in” det fina älvläget så mycket som möjligt.”",
"Det är betydligt trivsammare att jobba härifrån än att sitta och ” arbeta” i ett kontorsrum i centrum.")
dt
看起来像这样:
> dt
[1] "Vi ville också att husmodellen skulle ” ta in” det fina älvläget så mycket som möjligt.”"
[2] "Det är betydligt trivsammare att jobba härifrån än att sitta och ” arbeta” i ett kontorsrum i centrum."
在我的情况下,问题出现是因为我在文本中有花括号。 removePunctuation
并未将此类大括号标识为标点符号,因此在将其应用于我的文本后,我仍然使用大括号。
> removePunctuation(dt)
[1] "Vi ville också att husmodellen skulle ” ta in” det fina älvläget så mycket som möjligt”"
[2] "Det är betydligt trivsammare att jobba härifrån än att sitta och ” arbeta” i ett kontorsrum i centrum"
我发现包textclean
(2018)有一个用\"
替换大括号的函数,然后可以使用removePunctuation
删除它:
> removePunctuation(replace_curly_quote(dt))
[1] "Vi ville också att husmodellen skulle ta in det fina älvläget så mycket som möjligt"
[2] "Det är betydligt trivsammare att jobba härifrån än att sitta och arbeta i ett kontorsrum i centrum"
如果您仍然需要帮助来解决您提到的其他问题,请为您的数据集添加代码示例,以便我们可以重现错误并可能修复它们。