上一篇文章在此处解决了这个问题:Text-mining with the tm-package - word stemming
但是我仍然遇到tm包的挑战。
我的目标是阻止大量词汇,但我希望避免产生特定的词汇。
例如,在语料库中,我希望根据“印第安人”(源自“印第安人”,“印第安人”,“印第安人”等)的形式来扼杀词语。然而,词干还将诸如“印第安纳波利斯”和“印第安纳”之类的词语转换为印度语,这是我不想要的。
上面提到的帖子通过用语料库中的特定单词替换唯一标识符来阻止它,然后用实际单词重新替换唯一标识符来解决这个挑战。这种方法很有意义,但是当词干变换应用于语料库时,我仍然遇到元数据的问题。经过研究,我发现tm包v0.6使得你不能操作简单的字符值(R-Project no applicable method for 'meta' applied to an object of class "character")
但是,发布的解决方案并未解决我遇到的错误。
从发布的第一个链接中的解决方案开始,我仍然遇到第5步中的错误:
# Step 5: reverse -> sub the identifier keys with the words you want to retain
corpus.temp[seq_len(length(corpus.temp))] <- lapply(corpus.temp, mgsub, pattern=replace, replacement=retain)
UseMethod(“meta”,x)中的错误: 没有适用于'meta'的方法应用于类“character”的对象
为了推进我更大更复杂的语料库,我想了解为什么会发生这种情况,以及是否有解决方案。