R版本:2.15.1
SessionInfo()报告关于tm:[1] tm_0.5-8.3
代码相关位
library('tm')corpus <- Corpus(Dirsource('.'))dtm <- documentTermMatrix(corpus,control=List(weight=weightTfIDf))str(dtm)List of 6 $i : int [1:12456] 1 1 1 1 1 1 1 1 1 1 ... $j : int [1:12456] 2 10 12 17 20 24 29 30 32 34 ... $v : num [1:12456] 1 1 1 1 1 1 1 1 1 1 ... $nrow : int 2 $ncol : int 10646 $dimnames:List of 2 ..$Docs : chr [1:2] "bloom.txt" "telemachiad.txt" ..$Terms: chr [1:10646] "_--c'est" "_--et" "_--for" "_--goodbye," ... - attr(*,"class")= chr [1:2] "documentTermMatrix" "simple_triplet_matrix" - attr(*,"weighting")= chr [1:2] "term frequency" "tf"
你会注意到,加权似乎仍然是默认的术语频率(tf),而不是我想要的加权tf-IDf分数.
道歉如果我缺少一些明显的东西,但是基于我阅读的文档,这应该是正常的.毫无疑问,这个错误不在于星星…
解决方法 如果您看到documentTermMatrix帮助页面,在本例中,您将看到控件参数是这样指定的:data(crude)dtm <- documentTermMatrix(crude,control = List(weighting = function(x) weightTfIDf(x,normalize = FALSE),stopwords = TRUE))
因此,使用名称加权的列表元素指定权重,而不是权重.您可以通过传递函数名称或自定义函数来指定此权重,如示例所示.但以下工作也是:
data(crude)dtm <- documentTermMatrix(crude,control = List(weighting = weightTfIDf))总结
以上是内存溢出为你收集整理的试图在R中获取tf-idf加权全部内容,希望文章能够帮你解决试图在R中获取tf-idf加权所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)