tm 会自动忽略非常短的字符串吗?
Does tm automatically ignore the very short strings?
这是我的代码:
示例 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个字母的字符串会被忽略?我认为这不是一个好主意。一个字符串很有可能是有用的,即使它很短,比如缩写。
如果是这样,是否有参数或其他东西可以改变它?非常感谢。
参见?termFreq
。您必须设置的选项是 wordLengths
。来自文档:
An integer vector of length 2. Words shorter
than the minimum word length ‘wordLengths[1]’ or longer
than the maximum word length ‘wordLengths[2]’ are
discarded. Defaults to ‘c(3, Inf)’, i.e., a minimum word
length of 3 characters.
因此,如果您不想排除短词,您可以:
a2 <- TermDocumentMatrix(a1,control = list(stemming=T,wordLengths=c(1,Inf)))
inspect(a2)
Docs
Terms 1 2
12v 0 1
a23 0 1
ab 1 0
alkalin 0 1
batteri 0 1
cd 1 0
de 1 0
energ 0 1
这是我的代码: 示例 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个字母的字符串会被忽略?我认为这不是一个好主意。一个字符串很有可能是有用的,即使它很短,比如缩写。
如果是这样,是否有参数或其他东西可以改变它?非常感谢。
参见?termFreq
。您必须设置的选项是 wordLengths
。来自文档:
An integer vector of length 2. Words shorter than the minimum word length ‘wordLengths[1]’ or longer than the maximum word length ‘wordLengths[2]’ are discarded. Defaults to ‘c(3, Inf)’, i.e., a minimum word length of 3 characters.
因此,如果您不想排除短词,您可以:
a2 <- TermDocumentMatrix(a1,control = list(stemming=T,wordLengths=c(1,Inf)))
inspect(a2)
Docs
Terms 1 2
12v 0 1
a23 0 1
ab 1 0
alkalin 0 1
batteri 0 1
cd 1 0
de 1 0
energ 0 1