R tm content_transformer: медленная пользовательская функция - PullRequest
0 голосов
/ 05 декабря 2018

Я очищаю текстовый корпус около 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 сам, я полагаю) заменить слова, прежде чем я даже создать корпус, но это просто кажется глупым ...

...