请参阅下面的 MWE,自定义的标记生成器不起作用,为什么?tm包版本是0.71
library(tm)
ts <- c("This is a testimonial")
corpDs <- Corpus(VectorSource(ts))
#This is not working
ownTokenizer <- function(x) unlist(strsplit(as.character(x), "i+"))
tdm <- DocumentTermMatrix(corpDs,control=list(tokenize=ownTokenizer))
as.matrix(tdm)
#This is working
ownTokenizer(ts)
Run Code Online (Sandbox Code Playgroud)
输出:
条款
文档证明了这一点
1 1 1
[1]“Th”“s”“sa 测试”“mon”“al”
谢谢你,
托比亚斯
小智 5
我知道这现在有点陈旧,但也许它仍然对其他人有帮助:您必须将 corpDS<-Corpus(...) 替换为 corpDS<-VCorpus(...) 正如 TM 文档在 TermDocumentMatrix 描述中所述,“SimpleCorpus”语料库总是用固定的分词器进行分词 - 没有成本化 - “语料库”似乎是一样的......