作为干完成步骤的一个例子,假设我想在c('universidad','university','university')字典中找到与'univers'匹配的最常见(普遍)单词。根据stemCompletion()函数的帮助页面:
type ='prevalent'(默认)将最常见的匹配作为完成。
library(tm) # 0.6.2
如果我将字典作为向量插入:
stemCompletion('univers', dictionary=c('universidad', 'university', 'university'))
univers
"university"
我得到了正确的答案。 但是,如果我将字典作为语料库提供:
my.dictionary <- Corpus(VectorSource(c('universidad', 'university', 'university')))
stemCompletion('univers', dictionary=my.dictionary)
univers
"universidad"
我得到了错误的答案!
任何帮助表示赞赏!
答案 0 :(得分:0)
在包源tm/src/complete.R
中,似乎如果将Corpus
作为dictionary
参数传递给stemComplete,那么在词干完成分析之前会删除该词典。
您的版本的相关行是8-9:
if (inherits(dictionary, "Corpus"))
dictionary <- unique(unlist(lapply(dictionary, words)))
为什么相同的逻辑没有应用于矢量字典是打包维护者的问题,但似乎观察到的行为是故意的。