Удалить специальные кавычки и другие символы
Я пытаюсь скачать статьи используя Article
от newspaper
и пытаясь токенизировать слова, используя nltk
word_tokenizer
, Проблема в том, что когда я пытаюсь напечатать проанализированный текст статьи, некоторые из этих статей имеют специальные кавычки, такие как “
, ”
, ’
, которые не отфильтровываются токенизатором, как это было бы '
а также "
,
Есть ли способ заменить эти специальные кавычки обычными кавычками или, что еще лучше, удалить все возможные специальные символы, которые может пропустить токенизатор?
Я пытался удалить эти специальные символы, явно упоминая их в коде, но это дает мне ошибку Non-UTF-8 code starting with '\x92'
,
1 ответ
Использование пакета unidecode обычно заменяет эти символы на utf-8.
from unidecode import unidecode
text = unidecode(text)
Недостатком, однако, является то, что вы также изменили бы некоторые символы (например, акцентированные), которые вы можете сохранить. В этом случае можно использовать регулярные выражения, чтобы специально удалить (или заменить) некоторые предварительно определенные специальные символы:
import re
exotic_quotes = ['\\x92'] # fill this up
text = re.sub(exotic_quotes, "'", text) # changing the second argument to fill the kind of quote you want to replace the exotic ones with
Надеюсь, это поможет!