У меня есть корпус примерно с данными 75 МБ. Я пытаюсь использовать следующую команду:Снять стоп-слова и медленную функцию на корпусе в R
tm_map(doc.corpus, removeWords, stopwords("english"))
tm_map(doc.corpus, tolower)
Эти две функции выполняют не менее 40 минут для запуска. Я ищу ускорение процесса, поскольку я использую матрицу tdm
для своей модели.
Я очень часто пробовал команды, такие как gc()
и memory.limit(10000000)
, но я не могу ускорить скорость своего процесса.
У меня есть система с 4GB
ОЗУ и работаю с локальной базой данных для чтения входных данных.
Надеясь, что предложения ускорятся!
распараллеливания вычислений? Разделите свой текст на куски, скажем, на 20 Мбайт и запустите на разных ядрах. Я считаю, что все будет хорошо, потому что удаление стоп-слов - это просто задача словаря и контекстно-зависимая. Кроме того, R очень медленно для этих вещей, поэтому, если скорость имеет решающее значение для вас, подумайте о том, чтобы переписать его быстрее, например C. – FisherDisinformation
@ArtificialBreeze Можно ли распараллелить его в R? Мне комфортно работать с R, глядя на сокращение временной задержки! –
Итак, я обычно либо 1) использую пакет 'parallel', который довольно хорош и имеет свои собственные аналоги« apply »и т. Д., Либо 2) перекодирует некоторые части кода в inline C или C++ с помощью' compiler' и 'inline'. Я думаю, вам стоит взглянуть на пакет 'parallel', чтобы начать. – FisherDisinformation