В этой статье я расскажу об основных этапах предварительной обработки текста.
Это перевод текста в нижний регистр, удаление тегов HTML, удаление URL-адресов, удаление знаков препинания, обработка слов в чате, исправление орфографии, удаление стоп-слов, обработка смайликов в тексте, токенизация текста, выделение корней и лемматизация.
Здесь я использую набор данных IMDB, который содержит 50 тысяч обзоров фильмов.
Вы можете найти набор данных здесь — набор данных
В наборе данных есть два столбца: обзор, настроение.
Нижний регистр
переводит текст в нижний регистр
Зачем нам нужно преобразовывать текст в нижний регистр?
Когда мы размечаем предложение слово за словом, одно и то же слово, представленное в верхнем и нижнем регистре, идентифицируется как разные слова. Например, «Basic» и «Basic» считаются разными, но они оба одинаковы, потому что Python чувствителен к регистру, это усложняет модель, чтобы упростить ее, мы используем нижний регистр.
Это первый шаг предобработки текста, который необходимо сделать обязательно.
Удаление тегов HTML
Удаление ненужных данных из текста, давайте возьмем случай очистки данных из Интернета, где мы получаем html-теги, которые не нужны для данных, их следует удалить.
Удаление знаков препинания
Когда мы размечаем предложения, знаки препинания превращаются в разные слова, например, «Привет! как дела?», когда мы токенизируем, он может стать Привет, !, как, вы,? здесь знаки препинания воспринимаются как разные слова. Это усложняет модель, выполняя больше операций с кодом, а знаки препинания не придают предложению никакого значения.
Обработка слов в чате
такие слова, как ROFL,LMAO,FYI,GD,ASAP, можно найти в сообщениях чатов многих социальных сетей, таких как WhatsApp, Instagram, Twitter. При резюмировании текста, чтобы понять значение слова, эти короткие слова следует заменить длинными формами.
Орфографическая коррекция
рассмотрим пример «пожалуйста, прочитайте блокнот и лайкните блокнот».
когда мы токенизируем приведенное выше предложение, слова «ноутбук» и «нтебук» воспринимаются как разные слова, чтобы избежать подобных вещей, необходимо выполнить орфографическую коррекцию.
Удаление стоп-слов
Слова, которые помогают в формировании предложения, но не придают этому предложению никакого смысла, например, «а», «ан», «то», «есть» и так далее.
Работа с смайликами
При анализе сообщений в чате, для классификации текста или анализа настроений, смайлики имеют особое значение, мы можем заменить выражение смайликов их соответствующим значением. Если наша формулировка проблемы не имеет ничего общего с настроениями или чувствами, мы можем удалить их.
Удаление смайликов:
Замена эмодзи их соответствующим значением:
Токенизация
Разбивая текст на предложения и слова, мы понимаем контекст текста, а также можем найти тему текста и многое другое.
Мы можем токенизировать текст по-разному, например:
Использование функции разделения:
Использование регулярных выражений:
Использование nltk.tokenize :
Стемминг
Стэмминг — это процесс сведения флексии слов к их корневым формам, например сопоставление группы слов с одной и той же основой, даже если сама основа не является допустимым словом в языке.
Инфлексия - это модификация слова для выражения различных грамматических категорий, таких как время, залог, вид, лицо, пол и настроение.
При построении основы словоизменение не имеет большого значения, кроме сокращения слова до его основы.
лемматизация
Лемматизация, в отличие от стемминга, уменьшает флективные слова должным образом, гарантируя, что корневое слово принадлежит языку. В лемматизации корень слова называется леммой.
полный код
Надеюсь, это поможет, не стесняйтесь связаться со мной в LinkedIn и подписаться на меня в Medium.