R tm 在使用 DocumentTermMatrix 时防止小写转换

R tm prevent lower case conversion when using DocumentTermMatrix

当我在我的语料库上使用 DocumentTermMatrix 时,它会将单词小写。我想保留骆驼箱。我该怎么做?

as.matrix(DocumentTermMatrix(Corpus(VectorSource(c("Hello", "World")))))

我希望列名称是 Hello 和 World,而不是 hello 和 world。

您可以尝试以下技巧:

words <- c("Hello", "World")
tdm <- as.data.frame(as.matrix(DocumentTermMatrix(Corpus(VectorSource(words)))))
names(tdm) <- sort(words) # need to sort alphabetically
tdm
#  Hello World
#1     1     0
#2     0     1

更简洁的方法:

words <- c("Hello", "World")
tdm <- as.data.frame(as.matrix(DocumentTermMatrix(Corpus(VectorSource(factor(words))), 
                                                         control=list(tolower=FALSE))))
tdm
#  Hello World
#1     1     0
#2     0     1

capitalize library(Hmisc) 中的函数可以满足我这个初学者的需求。

library(Hmisc)

terms <- as.matrix(DocumentTermMatrix(Corpus(VectorSource(c("Hello", "World")))))

colnames(terms) <- capitalize(colnames(terms))

terms

    Terms
Docs Hello World
  1     1     0
  2     0     1