Я очищаю текстовый корпус около 50 тыс. Элементов, 150 МБ, в основном используя встроенные функции tm
.Все они довольно быстрые - максимум, за минуту.Затем я делаю один пользовательский шаг очистки, чтобы заменить собственные имена местозаполнителем, например:
myCorpus <- tm_map(myCorpus, content_transformer(function(x) gsub(x, pattern = myNames, replacement = "ProperName")))
, где myNames - длинная строка (около 1000 имен) в формате этого типа:
"\\b(name1|name2|name3|name4)\\b"
Это занимает много времени (полчаса / час) для запуска - и я не понимаю, почему это должно быть намного медленнее, чем, скажем, removeWords
.Есть ли очевидная проблема с указанием этого способа?
Я знаю, были предложены другие пакеты , и я думаю, что я нашел обходной путь, используя stringr
(или могбыть gsub
сам, я полагаю) заменить слова, прежде чем я даже создать корпус, но это просто кажется глупым ...