Я пытаюсь удалить стоп-слова из строки текста:
from nltk.corpus import stopwords
text = 'hello bye the the hi'
text = ' '.join([word for word in text.split() if word not in (stopwords.words('english'))])
Я обрабатываю 6 мил таких строк, поэтому скорость важна. Профилирование моего кода, самая медленная часть - это строки выше, есть ли лучший способ сделать это? Я думаю использовать что-то вроде regex re.sub
, но я не знаю, как написать шаблон для набора слов. Может кто-то дать мне руку, и я также рад услышать другие, возможно, более быстрые методы.
Примечание. Я попробовал, чтобы кто-то предложил обернуть stopwords.words('english')
с помощью set()
, но это не имело значения.
Спасибо.