Я использую приведенный ниже «самый быстрый» способ удаления знаков препинания из строки:
text = file_open.translate(str.maketrans("", "", string.punctuation))
Однако он удаляет все знаки препинания, включая апострофы с токенами, такие как shouldn't
, превращая его в shouldnt
.
Проблема в том, что я использую библиотеку NLTK для стоп-слов, и стандартные стоп-слова не включают в себя такие примеры без апострофов, а вместо этого имеют токены, которые NLTK генерирует, если я использую токенайзер NLTK для разделения текста. Например, для shouldnt
включены следующие стоп-слова: shouldn, shouldn't, t
.
Я могу добавить дополнительные стоп-слова или удалить апострофы из стоп-слов NLTK. Но оба решения не кажутся «правильными» в некотором смысле, так как я считаю, что при очистке пунктуации следует оставлять апострофы.
Есть ли способ оставить апострофы при быстрой очистке пунктуации?