Обработка естественного языка (NLP) - это подполе ИИ, включающее взаимодействие между компьютером и естественным языком. Он вращается вокруг того, как обучить модель науки о данных, которая может понимать и реализовывать использование задач естественного языка. Типичный проект НЛП следует различным аспектам конвейера для обучения модели. Различные этапы конвейера включают очистку текста, токенизацию, выделение исходных текстов, кодирование в числовой вектор и т. Д. С последующим обучением модели.

Набор данных, полученный для задач НЛП, представляет собой текстовые данные, в основном полученные из Интернета. В большинстве случаев текстовые данные, используемые для моделирования НЛП, являются грязными и нуждаются в очистке на ранней стадии обработки данных. Специалист по данным тратит большую часть времени на предварительную обработку данных, которая включает в себя очистку текстовых данных.

В этой статье мы обсудим интересную библиотеку CleanText, которая упрощает процесс очистки текстовых данных и ускоряет конвейер предварительной обработки данных.

Что такое CleanText?

CleanText - это библиотека Python с открытым исходным кодом, которая позволяет очищать текстовые данные, полученные из Интернета или социальных сетей. CleanText позволяет разработчикам создавать нормализованное текстовое представление. CleanText использует ftfy, unidecode и различные другие жестко запрограммированные правила, включая RegEx, для преобразования поврежденного или грязного входного текста в чистый текст, который может быть дополнительно обработан для обучения модели НЛП.

Установка:

Библиотеку CleanText можно установить из PyPl с помощью следующей команды:

pip install clean-text

После установки вы можете импортировать библиотеку, импортировав ее, используя:

from cleantext import clean

Использование:

Библиотека CleanText имеет только одну функцию «Очистить», которая принимает различные параметры, которые можно настроить для выполнения очистки текста. Функция очистки может выполнять 11 типов очистки, в том числе:

Юникод:

Он исправляет различные ошибки Unicode.

s1 = 'Zürich'
clean(s1, fix_unicode=True)
# Output: zurich

ASCII:

Он переводил текст в ближайшее представление ASCII.

s2 = "ko\u017eu\u0161\u010dek"
clean(s2, to_ascii=True)
# Output: kozuscek

Ниже:

Преобразуйте текстовые данные в нижний регистр.

s3 = "My Name is SATYAM"
clean(s3, lower=True)
# Output: my name is satyam

Заменить URL / адреса электронной почты / номера телефонов:

Заменяет все URL-адреса, адреса электронной почты или номера телефонов, присутствующие в текстовых данных, специальным токеном.

s4 = "https://www.Google.com and https://www.Bing.com are popular seach engines. You can mail me at [email protected]. If not replied call me at 9876543210"
clean(s4, no_urls=True, replace_with_url="URL",
no_emails=True, replace_with_email="EMAIL"
no_phone_numbers=True, replace_with_email="PHONE")
# Output: url and url are popular search engines. You can mail me at EMAIL. If not replied call me at PHONE

Заменить валюту:

Заменяет всю валюту, присутствующую в текстовых данных, на специальный токен.

s5 = "I want ₹ 40"
clean(s5, no_currency_symbols = True)
clean(s5, no_currency_symbols = True, replace_with_currency_symbol="Rupees")
# Output: i want <cur> 40
# Output: i want rupees 40

Удалить номера:

Замена или удаление всех цифр специальным жетоном.

s7 = 'abc123def456ghi789zero0'
clean(s7, no_digits = True)
clean(s7, no_digits = True, replace_with_digit="")
# Output: abc000def000ghi000zero0
# Output: abcdefghizero

Замените знаки препинания:

Удалите или замените все знаки препинания в текстовых данных специальным маркером.

s6 = "40,000 is greater than 30,000."
clean(s6, no_punct = True)
# Output: 40000 is greater than 30000

Объединяя все параметры:

Мы обсудили все параметры индивидуально выше. Теперь давайте объединим их все в функцию Clean, вызовем ее для грязного образца текста и проследим за результатом чистого текста.

Таким образом, просто написав одну строку кода Python, грязные текстовые данные могут быть очищены и могут быть дополнительно обработаны.

Заключение:

CleanText - это эффективная библиотека, которая может обрабатывать или очищать ваши очищенные грязные данные, чтобы получить нормализованный чистый текстовый вывод всего в одной строке кода. Разработчику просто нужно настроить параметры в соответствии со своими потребностями. Это облегчает работу специалиста по данным, поскольку теперь ему / ей не нужно писать много строк сложного кода регулярного выражения для очистки текста. CleanText работает не только с вводимым текстом на английском языке, но и с немецким, просто установив lang=’de’.

Библиотека CleanText охватывает только некоторые параметры очистки текста и требует улучшения. Тем не менее, разработчик может использовать его для некоторых задач по очистке, а затем продолжить ручное кодирование, чтобы завершить оставшиеся.

Прочтите указанную ниже статью, чтобы узнать об AutoNLP - автоматизированной библиотеке NLP.



Использованная литература:

[1] Репозиторий чистого текста: https://github.com/jfilter/clean-text

Спасибо за чтение