Обработка естественного языка (NLP) — это раздел науки о данных, который занимается текстовыми данными. Помимо числовых данных, в значительной степени доступны текстовые данные, которые используются для анализа и решения бизнес-задач. Но прежде чем использовать данные для анализа или прогнозирования, важно обработать данные. Чтобы подготовить текстовые данные для построения модели, мы выполняем предварительную обработку текста.

В этом тексте предварительная обработка в НЛП с помощью Python — я собираюсь обсудить некоторые этапы предварительной обработки.

  1. Текст в нижнем регистре, 2. Удалить цифры, 3. Удалить знаки препинания, 4. Удалить пробелы, 5. Удалить стоп-слова по умолчанию, 6. Выделение корней, 7. Лемматизация

Импортируйте необходимые библиотеки

import nltk
import string
import re

Текст в нижнем регистре:

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

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

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

Мы также можем преобразовать числа в слова. Это можно сделать с помощью библиотеки inflect.

Удалить знаки препинания:

Мы удаляем знаки препинания, чтобы не было разных форм одного и того же слова. Если не убрать знаки препинания, то было. был, был! будут рассматриваться отдельно.

Удалить пробелы:

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

Удалить стоп-слова по умолчанию:

Стоп-слова – это слова, не влияющие на смысл предложения. Следовательно, их можно безопасно удалить, не вызывая никакого изменения смысла предложения. В библиотеке NLTK есть набор стоп-слов, и мы можем использовать их, чтобы удалить стоп-слова из нашего текста и вернуть список токенов слов.

Список английских стоп-слов в NLTK

Стемминг:

Стемминг – это процесс получения корневой формы слова. Основа или корень — это часть, к которой добавляются флективные аффиксы (-ed, -ize, -de, -s и т. д.). Основа слова создается путем удаления префикса или суффикса слова. Таким образом, определение основы слова может не привести к фактическим словам.

книги — -› книга

посмотрел — -› посмотрел

отказано — -› отказано

мухи — -› летать

Если текст не в токенах, нам нужно преобразовать его в токены. После того, как мы преобразовали строки текста в токены, мы можем преобразовать токены слов в их корневую форму. В основном существует три алгоритма стемминга. Это Porter Stemmer, Snowball Stemmer и Lancaster Stemmer. Портер Стеммер — самый распространенный среди них.

Лемматизация:

Как и определение основы, лемматизация также преобразует слово в его корневую форму. Единственное отличие состоит в том, что лемматизация гарантирует, что корневое слово принадлежит языку. Мы получим допустимые слова, если воспользуемся лемматизацией. В NLTK мы используем WordNetLemmatizer для получения лемм слов. Нам также необходимо предоставить контекст для лемматизации. Итак, мы добавляем часть речи в качестве параметра.

(Файл Предварительная обработка текста в Python (NLP)-I) IpynbGithub