Удаление стоп-слов из текстового блоба

Я обрабатываю textblob, и одним из шагов является удаление стоп-слов. Textblobs неизменяемы, поэтому я превращаю один из них в список, чтобы выполнить эту работу:

blob = tb(tekst)
lista = [word for word in blob.words if word not in stopwords.words('english')]
tekst = ' '.join(lista)
blob = tb(tekst)

Есть ли более простое/элегантное решение проблемы?


person Zygmunt    schedule 26.10.2017    source источник
comment
Проверьте nltk... На аналогичный вопрос уже был дан ответ... stackoverflow.com/questions/5486337/   -  person Christian Will    schedule 26.10.2017
comment
ваш код выглядит совершенно нормально, что касается удаления стоп-слов. это вроде стандартный способ.   -  person utengr    schedule 26.10.2017
comment
Да, исходя из того, что сказал utengr, на самом деле нет более эффективного способа сделать это. Вам все равно придется смотреть на каждое слово. Единственное, что вы могли бы сделать, чтобы сделать его более эффективным, - это не создавать список и не использовать генератор. Просто измените свои []s на () как в: (word for word in blob.words if word not in stopwords.words('english')). Вы больше никогда не сможете получить доступ к списку после того, как воспользуетесь им, но вы все равно присоединитесь к нему сразу.   -  person Nick Chapman    schedule 26.10.2017
comment
Спасибо всем! Кристиан Уилл: верное замечание, но я хотел избежать использования nltk. Ник Чепмен: Звучит здорово — это действительно список порций. Если это более эффективное решение для ЦП, то это то, что я искал.   -  person Zygmunt    schedule 26.10.2017