当我生成DocumentTermMatrix或TermDocumentMatrix对象并启用它们的Stemwords功能时,它不会将比较或最高级的后缀词统计为同一个词。更重,最重的并不重。
这是我的榜样:
library(RTextTools)
library(topicmodels)
library(tm)
data <- c("I'm having trouble with superlative and comparative suffixes",
"Heaviest.",
"this is heavy heavier.")
matrix <- create_matrix(data, language="english", toLower = TRUE, removeNumbers=TRUE, stemWords=TRUE, removePunctuation = TRUE, removeStopwords = TRUE, weighting=weightTf)
inspect(matrix)
colnames(matrix)
这是输出:
>.....
Terms
Docs compar heavi heavier heaviest suffix superl troubl
1 1 0 0 0 1 1 1
2 0 0 0 1 0 0 0
3 0 1 1 0 0 0 0
> colnames(matrix)
[1] "compar" "heavi" "heavier" "heaviest" "suffix" "superl" "troubl"
我正在寻找的理想输出不仅仅是#34;更重的&#34;和#34;最重的&#34;与&#34; heavyi&#34;相同,但是&#34; Heavi&#34;在第二个文档中显示一次,在最后一个文档中显示两次。
我尝试启用和禁用词干,removeStopwords,min / maxwordlength标志。最小/最大字长度适用于更大的单词,但它仍然没有计算#34;最重的&#34; as&#34; heavy&#34;在术语矩阵中。阻止rTextTools似乎使用了Porter的算法。 (参考:http://www.inside-r.org/packages/cran/RTextTools/docs/create_matrix)
我想最终生成一个DocumentTermMatrix,所以我一直在努力操作矩阵并尝试对数据本身做什么样的预处理。但到目前为止没有运气。
提前致谢!