我最近在使用 R 进行文本挖掘时遇到了一些问题。目的是在新闻中找到有意义的关键词,例如“智能汽车”和“数据挖掘”。
假设我有一个字符串如下:
"IBM have a great success in the computer industry for the past decades..."
删除停用词("have","a","in","the","for") 后,
"IBM great success computer industry past decades..."
结果,就会出现像“成功计算机”或“行业过去”这样的二元组。
但我真正需要的是两个词之间不存在停用词,比如“计算机行业”是我想要的二元组的一个明显例子。
我的代码部分如下:
corpus <- tm_map(corpus, removeWords, stopwords("english"))
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, stemDocument)
NgramTokenizer = function(x) {unlist(lapply(ngrams(words(x), 2), paste, collapse = " "), use.names = FALSE)}
dtm <- TermDocumentMatrix(corpus, control = list(tokenize = NgramTokenizer))
TF计数时有什么方法可以避免出现“成功计算机”之类的结果吗?