这是我的代码:示例 1:
a <- c("ab cd de","ENERGIZER A23 12V ALKALINE BATTERi")
a1 <- VCorpus(VectorSource(a))
a2 <- TermDocumentMatrix(a1,control = list(stemming=T))
inspect(a2)
结果是:
Docs
Terms 1 2
12v 0 1
a23 0 1
alkalin 0 1
batteri 0 1
energ 0 1
看起来 a 中的第一个字符串被忽略了。
示例 2
a <- c("abcd cde de","ENERGIZER A23 12V ALKALINE BATTERi")
a1 <- VCorpus(VectorSource(a))
a2 <- TermDocumentMatrix(a1,control = list(stemming=T))
inspect(a2)
结果是:
Docs
Terms 1 2
12v 0 1
a23 0 1
abcd 1 0
alkalin 0 1
batteri 0 1
cde 1 0
energ 0 1
我们可以看到两个子字符串 (abcd, cde) 被保留,而最靠前的一个 (de) 仍然丢失。如果我不使用 control = list(stemming=T),情况也是一样的。所以,我很好奇这是否是 tm 中的一种定义?如果少于 3 个字母,字符串将被忽略?我不认为这是一个好主意。一个字符串很有可能是有用的,即使它很短,例如缩写。
如果是这样,是否有参数或可以改变它的东西?非常感谢。