Я пытаюсь отфильтровать стоп-слова в моем тексте так:фильтрации игнорируемых слов рядом с пунктуацией
clean = ' '.join([word for word in text.split() if word not in (stopwords)])
Проблема заключается в том, что text.split()
имеет такие элементы, как 'word.'
, которые не соответствуют к 'word'
стоп-слово.
Я позже использовал clean
в sent_tokenize(clean)
, так что я не хочу полностью избавляться от пунктуации.
Как отфильтровать стоп-слова, в то время как удерживая знаки препинания, но отфильтровать такие слова, как 'word.'
?
Я думал, что можно было бы изменить знаки препинания:
text = text.replace('.',' . ')
, а затем
clean = ' '.join([word for word in text.split() if word not in (stop words)] or word == ".")
Но есть лучший путь?
' nltk.word_tokenize (текст) 'избежал бы пространства имен. – alvas
Исправлено! Спасибо. –
'word_tokenize' не' tokenizer'; P – alvas