0Pricing
Learn AI with Python · Урок

Очистка текста для искусственного интеллекта с помощью регулярных выражений

Удаление HTML-тегов, знаков пунктуации, URL и адресов электронной почты — создание функций предварительной обработки текста.

«Очистка текста для искусственного интеллекта с помощью регулярных выражений» — бесплатный урок Learn AI with Python на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Learn AI with Python, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Learn AI with Python содержит 4 уроков всего.

Зачем очищать текст для ИИ?

Необработанный текст из интернета полон шума: тегов HTML, URL-адресов, электронных адресов, лишних пробелов и специальных символов. Подача такого текста модели расходует её ресурсы и снижает качество.

Регулярные выражения — основной инструмент предварительной обработки текста. Мы шаг за шагом создадим конвейер очистки.

Неаккуратный пример

Вот строка, которую Вы могли бы получить при сборе данных. Каждый шаг очистки устраняет один тип шума.

raw = "<p>Contact us at info@shop.com or visit https://shop.com NOW!!!   Thanks</p>"

Удаление тегов HTML

Теги HTML выглядят так: <tag>. Шаблон <[^>]+> сопоставляет <, любые символы, кроме >, а затем >.

Замените их пустой строкой. (Для сложного HTML лучше использовать анализатор вроде BeautifulSoup, но для быстрой очистки регулярных выражений достаточно.)

import re

text = re.sub("<[^>]+>", "", raw)
print(text)   # "Contact us at info@shop.com or visit https://shop.com NOW!!!   Thanks"

Удаление URL-адресов

URL-адреса начинаются с http:// или https://, после которых идут символы без пробелов. Сопоставьте их и удалите.

import re

text = re.sub("https?://\S+", "", text)
print(text)   # URL removed

Удаление электронных адресов

Простой шаблон электронного адреса: символы слова, @, домен, точка и домен верхнего уровня.

import re

text = re.sub("\S+@\S+\.\S+", "", text)
print(text)   # email removed

Маскирование вместо удаления

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

import re

masked = re.sub("\S+@\S+\.\S+", "[EMAIL]", "reach me at a@b.com please")
print(masked)   # "reach me at [EMAIL] please"

Удаление специальных символов

Оставьте буквы, цифры и пробелы, а знаки пунктуации и символы удалите с помощью отрицательного набора. В зависимости от задачи решите, нужно ли сохранять некоторые знаки пунктуации.

import re

text = re.sub("[^A-Za-z0-9 ]", "", "Hello!! @world #2026")
print(text)   # "Hello world 2026"

Нормализация пробелов

После очистки остаются двойные пробелы и лишние переводы строк. Сверните любую последовательность пробельных символов в один пробел с помощью \s+, а затем примените strip() к концам строки.

import re

text = re.sub("\s+", " ", "Hello    world\n\n  again").strip()
print(text)   # "Hello world again"

Нижний регистр и важность порядка

Перевод в нижний регистр часто используют для единообразия, но применять его нужно осторожно. Кроме того, порядок важен: удаляйте HTML до специальных символов, а пробелы нормализуйте в последнюю очередь, чтобы предыдущие удаления не оставляли лишних промежутков.

text = text.lower()
# Pipeline order: tags -> urls -> emails -> specials -> whitespace -> lowercase

Создание конвейера очистки

Объедините шаги в одну функцию, чтобы каждый документ обрабатывался одинаково. При обработке множества документов предварительно скомпилируйте шаблоны для ускорения работы.

import re

def clean_text(s):
    s = re.sub("<[^>]+>", " ", s)          # html tags
    s = re.sub("https?://\S+", " ", s)     # urls
    s = re.sub("\S+@\S+\.\S+", " ", s)    # emails
    s = re.sub("[^A-Za-z0-9 ]", " ", s)     # special chars
    s = re.sub("\s+", " ", s).strip()       # whitespace
    return s.lower()

print(clean_text(raw))

Применение конвейера к DataFrame

Запустите очистку для всего столбца с текстом с помощью apply, создав столбец, готовый для модели.

import pandas as pd

df["clean"] = df["text"].apply(clean_text)
print(df[["text", "clean"]].head())

Быстрая проверка: нормализация пробелов

После очистки в тексте остались последовательности из нескольких пробелов и переводов строк, которые нужно свернуть в одиночные пробелы.

Итоги: очистка текста с помощью регулярных выражений

Вы создали настоящий конвейер предварительной обработки:

  • Удаление HTML с помощью <[^>]+>
  • Удаление URL-адресов (https?://\S+) и электронных адресов
  • Маскирование чувствительных данных с помощью заполнителей, например [EMAIL]
  • Удаление специальных символов с помощью отрицательного набора
  • Нормализация пробелов с помощью \s+ и strip()
  • Объединение в функцию и применение apply к столбцу

На этом изучение регулярных выражений для работы с текстом в ИИ завершено. Далее: базы данных для проектов ИИ.

Часто задаваемые вопросы

Урок «Очистка текста для искусственного интеллекта с помощью регулярных выражений» бесплатный?

Да — полный текст урока «Очистка текста для искусственного интеллекта с помощью регулярных выражений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Learn AI with Python, подпишись на CoddyKit PRO. Курс Learn AI with Python содержит 4 уроков всего.

Чему я научусь в уроке «Очистка текста для искусственного интеллекта с помощью регулярных выражений»?

Удаление HTML-тегов, знаков пунктуации, URL и адресов электронной почты — создание функций предварительной обработки текста. Ты практикуешь Learn AI with Python с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Learn AI with Python?

Предыдущий опыт не требуется. Learn AI with Python на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Очистка текста для искусственного интеллекта с помощью регулярных выражений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Learn AI with Python?

Да. Каждый урок Learn AI with Python включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Шаблоны регулярных выражений и классы символов
  2. Модуль re: поиск, сопоставление, поиск всех совпадений и замена
  3. Группы захвата и именованные группы
  4. Очистка текста для искусственного интеллекта с помощью регулярных выражений
← Назад к Learn AI with Python