我正在清理大约50k元素(150MB)的文本语料库,主要使用tm
的内置函数。这些都很活泼-最多在一分钟内完成。然后,我执行一个自定义清理步骤,用占位符替换专有名称,如下所示:
myCorpus <- tm_map(myCorpus, content_transformer(function(x) gsub(x, pattern = myNames, replacement = "ProperName")))
其中myNames是长字符串(约1000个名称),采用以下格式:
"\\b(name1|name2|name3|name4)\\b"
这需要很长时间(半小时/小时)才能运行-我不明白为什么它要比removeWords
慢得多。我指定的方式有明显的问题吗?
我知道other packages have been suggested,并且确实认为我已经找到了一种解决方法,甚至在创建语料库之前就可以使用stringr
(或者我想应该是gsub
本身)来替换单词,但这似乎很愚蠢...