clean-text Пользовательский контент в Интернете и в социальных сетях часто грязный. Предварительно обработайте свои скрасные данные с помощью clean-text , чтобы создать нормализованное текстовое представление. Например, поверните этот поврежденный вход:
A bunch of \u2018new\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«в этот чистый выход:
A bunch of 'new' references, including [moana](<URL>).
"you are right <3!" clean-text использует FTFY, UnideCode и многочисленные правила ручной работы, т.е. regex.
Для установки GPL-лицензированного пакета UnideCode вместе с:
pip install clean-text[gpl]Вы можете воздерживаться от GPL:
pip install clean-text NB: Этот пакет называется clean-text , а не cleantext .
Если unidecode недоступен, clean-text прибегает к Python's Unicodedata.normalize для трансляции. Транслитерация к ближайшим символам ASCII связана с ручными отображениями, то есть ê к e Картирование unidecode является супериором, но Unicodedata достаточны. Тем не менее, вы можете вообще отключить эту функцию в зависимости от ваших данных и вариантов использования.
Чтобы прояснить это: существуют несоответствия между обработкой текста с или без unidecode .
from cleantext import clean
clean ( "some input" ,
fix_unicode = True , # fix various unicode errors
to_ascii = True , # transliterate to closest ASCII representation
lower = True , # lowercase text
no_line_breaks = False , # fully strip line breaks as opposed to only normalizing them
no_urls = False , # replace all URLs with a special token
no_emails = False , # replace all email addresses with a special token
no_phone_numbers = False , # replace all phone numbers with a special token
no_numbers = False , # replace all numbers with a special token
no_digits = False , # replace all digits with a special token
no_currency_symbols = False , # replace all currency symbols with a special token
no_punct = False , # remove punctuations
replace_with_punct = "" , # instead of removing punctuations you may replace them
replace_with_url = "<URL>" ,
replace_with_email = "<EMAIL>" ,
replace_with_phone_number = "<PHONE>" ,
replace_with_number = "<NUMBER>" ,
replace_with_digit = "0" ,
replace_with_currency_symbol = "<CUR>" ,
lang = "en" # set to 'de' for German special handling
)Тщательно выберите аргументы, которые соответствуют вашей задаче. Параметры по умолчанию перечислены выше.
Вы также можете использовать только определенные функции для очистки. Для этого взгляните на исходный код.
До сих пор только английский и немецкий язык полностью поддерживаются. Это должно работать для большинства западных языков. Если вам нужна специальная обработка для вашего языка, не стесняйтесь вносить свой вклад. ?
clean-text с scikit-learnСуществует также Scikit-Learn, совместимый с API для использования в ваших трубопроводах. Все параметры выше работают здесь.
pip install clean-text[gpl,sklearn]
pip install clean-text[sklearn] from cleantext . sklearn import CleanTransformer
cleaner = CleanTransformer ( no_punct = False , lower = False )
cleaner . transform ([ 'Happily clean your text!' , 'Another Input' ])Используйте поэзию.
Если у вас есть вопрос , вы нашли ошибку или вы хотите предложить новую функцию , посмотрите на страницу проблем.
Запросы на вытягивание особенно приветствуются, когда они исправляют ошибки или улучшают качество кода.
Если вам не нравится вывод clean-text , рассмотрите возможность добавления теста с вашим конкретным входом и желаемым выводом.
Построен на работе Бертона Девилде для текстового судно.
Апач