В приведенном ниже коде lowFrequencyWords - это список с низкочастотными словами, а doc - список токенов.
doc=[w for w in doc if not w in lowFrequencyWords]
Проблема в том, что этот кусок кода длится вечно.
Я уверен, но я считаю, что проблема в том, что операция удаления промежуточного элемента из списка стоит O (n), где n - размер списка. Поскольку число lowFrequencyWords гигантское, python должен повторять это много раз. Я искал связанные списки, но я считаю, что они недоступны в Python.