Введение в NLP 0:01 Школа больших данных начинает серию видео по NLP. Цель - создание модели классификации твитов на известном корпусе данных. Первое видео посвящено подготовке данных.
Классификация документов 0:25 Классификация документов включает набор статей, текстов, твитов и т.д. Примеры: отзывы классифицируются по позитивности, статьи по тематике, книги по авторам. Задача относится к области data science и NLP.
Очистка текста 1:25 Очистка текста от ненужного мусора: запятые, точки, тире, смайлики и т.д. Удаление символов, не несущих смысловой нагрузки.
Токенизация 2:07 Токенизация - приведение слов к нормальной форме. Пример: слово "have" в английском языке имеет разные формы, которые нужно привести к одной форме. Построение словаря для сопоставления слов с их номерами.
Векторное представление 3:30 Векторное представление предложений. Возможные методы: BERT, GloVe, Word2Vec и другие.
Подготовка текста 4:04 Приведение к нижнему регистру. Удаление стоп-слов. Очистка и обработка специальных символов. Лиматизация и стеминг для приведения слов к нормальной форме.
Пример с кодом 6:13 Использование Google Colab для подготовки данных. Данные взяты из корпуса Юлии Рубцовой. Импорт необходимых библиотек и подключение к Google Colab.
Обработка данных 7:55 Загрузка позитивных и негативных отзывов. Создание датафреймов для позитивных и негативных отзывов. Объединение датафреймов с помощью функции concat.
Объединение датафреймов 10:47 Объединение датафреймов с помощью функции concat. Проверка размерностей и исправление ошибок. Перемешивание отзывов для дальнейшего анализа.
Очистка текста 13:24 Используем регулярные выражения для очистки текста. Удаляем все символы, кроме букв от а до я и цифр. Приводим текст к нижнему регистру и заменяем некоторые символы.
Замена сайтов и пользователей 14:19 Заменяем все формы написания сайтов на слово "сайт". Заменяем пользователей на слово "пользователь". Применяем регулярное выражение для замены всех символов на пробел.
Тестирование лиматизации 15:51 Лимматизация занимает 151 миллисекунду. Это слишком долго для обработки 111 тысяч отзывов. Выбираем стеминг для дальнейшей обработки.
Тестирование стеминга 16:38 Стеминг занимает 854 миллисекунды. Используем функцию apply для обработки каждого отзыва. Функция df.process принимает один текстовый вход.
Результаты стеминга 18:12 Обработка всего корпуса заняла 2 минуты 33 секунды. Все слова стали в нижнем регистре и заменены на нормальные формы. Получен список слов в нормальной форме через запятую.
Заключение 19:31 Это первый шаг в решении задачи NLP. В следующем видео будет рассмотрена токенизация слов и перевод их в числа. Приглашение на курс по NLP в школе больших данных.