Нет, я не собираюсь говорить вам заниматься личными проектами.
Наука об извлечении смысла и обучении из текстовых данных является активной темой исследований под названием «Обработка естественного языка» (NLP).
Будучи студентом, я однажды застрял в петле «Как стать хорошим инженером НЛП». Я часто вижу, как многие люди дают советы о том, как новички могут проникнуть в машинное обучение, НЛП и глубокое обучение. Итак, я объединил их все в конвейер.
Обычно эти шаги помогли мне получить хорошее представление о проектах НЛП:
- Изучите сбор данных.
- Сделайте некоторую подготовку текста.
- Применить разработку функций.
- Построить модель.
- Разверните его!
Итак, теперь давайте кратко поговорим об этом и получим общий обзор высокоэффективных стандартных подходов.
Шаг 1. Сбор данных/сбор данных
Каждая проблема с машинным обучением начинается со сбора данных, таких как список слов, электронные письма, сообщения или обзоры.
Наша задача получить эти данные, и вы можете получить данные из:
- Наборы данных из Kaggle.
- Извлекать данные из хранилища данных через SQL.
- Расширение данных — мы генерируем синтетические данные из уже существующих данных. Некоторые типы:
1. Замена слов синонимами.
2. Переворот биграммы.
3. Обратный перевод.
4. Добавление шума. - Веб-дизайн — используйте библиотеки Python, такие как Beautiful Soup.
- Получение данных с веб-сайтов API, таких как rapidapi.com
- Pdf, изображения, аудио наборы данных
Шаг 2. Подготовка текста
Одним из ключевых навыков специалиста по данным, который знает, что следующим шагом должна быть работа с моделью и данными для работы с моделью, мы предварительно обрабатываем, очищаем и подготавливаем данные..
Чистый набор данных позволит модели изучить значимые функции, а не использовать нерелевантный шум.
Я разделил подготовку данных на 3 основные части:
Очистка данных:
Очистка данных может быть утомительной задачей, поскольку она включает в себя:
- Удаление нежелательных тегов, таких как html-теги, которые могут появиться, когда мы собираем данные с веб-сайтов, — это можно сделать, создав функции с удалением html-тегов с помощью Beautiful Soup.
Я прикреплю ссылку на документацию, чтобы вы могли ее посмотреть! - Удаление или придание смысла смайликам… Много раз, когда мы проводим анализ настроений, мы сталкиваемся с отзывами или комментариями, в которых люди добавляют смайлики, чтобы правильно выразить свои эмоции — мы можем придать смысл смайликам, кодируя смайлики в их символы.
- Проверка орфографии, поскольку данные заполнены ошибками с орфографией, необходимо выполнить проверку орфографии данных.
Базовая предварительная обработка:
- Самый важный шаг — токенизировать ваш текст, разделив его на отдельные слова. Токенизация может быть выполнена двумя способами: по предложениям или по словам…
- СтопСлова, СтопСлова, СтопСлова! Удаление слов, которые на самом деле не имеют смысла в предложении, такие слова, как (есть, в, в, есть)
- Стемминг и лемматизация - слова, имеющие сходное значение, могут быть сжаты в корневое слово, чтобы машина могла легко его понять. Например, Dance, Dancing, Danced можно сократить до Danc в качестве корневого слова.
- Удаление цифр, знаков препинания и знаков, таких как «@» или URL-адреса
- Нижний или верхний регистр в соответствии с вашими потребностями.
- Обнаружение языка используется во многих моделях, таких как переводчики, но это не очень важный шаг в типичной задаче НЛП.
Расширенная предварительная обработка:
Затем мы переходим к предварительной предварительной обработке, например:
- Части речевых тегов
- Разбор
- Разрешение рамки корпуса
Но вы должны спросить себя: требуется ли расширенная предварительная обработка текста? Потому что часто это не так…
Шаг 3. Разработка функций
Модели машинного обучения принимают числовые значения в качестве входных данных. Например, модели, работающие с изображениями, используют матрицу, представляющую интенсивность каждого пикселя в каждом цветовом канале.
Для этого у нас есть различные типы:
- Сумка слов. Мы определяем вектор фиксированной длины, где каждая запись соответствует слову в нашем заранее определенном словаре слов. Размер вектора равен размеру словаря. Затем для представления текста с помощью этого вектора мы подсчитываем, сколько раз каждое слово из нашего словаря встречается в тексте, и помещаем это число в соответствующую запись вектора.
- Tf-IDF-Термин частотно-обратная частота документа (TF-IDF) дает меру, которая учитывает важность слова в зависимости от того, как часто оно встречается в документе и корпусе.
- Одно горячее кодирование. В этом методе мы представляем каждое уникальное слово в словаре, устанавливая уникальный токен со значением 1 и остальными 0 в других позициях в векторе. Простыми словами, векторное представление вектора с горячим кодированием представлено в виде 1 и 0, где 1 обозначает позицию, в которой существует слово, и 0 везде.
- Слово в вектор. Преобразование слов в векторы или векторизация слов — это процесс обработки естественного языка (NLP). В процессе используются языковые модели для отображения слов в векторном пространстве. Векторное пространство представляет каждое слово вектором действительных чисел. Это также позволяет словам с похожими значениями иметь схожие представления.
- N-граммы - N-граммы рассматривают последовательность n слов в тексте; где n равно (1,2,3..), как 1-грамм, 2-грамм. для пары токенов. В отличие от BOW, он поддерживает порядок слов.
- Векторизатор подсчета. Он будет соответствовать и изучать словарь слов и пытаться создать матрицу терминов документа, в которой отдельные ячейки обозначают частоту этого слова в конкретном документе, которая также известна как частота термина, а столбцы посвящены каждому слово в корпусе.
- Трансферное обучение. Он использует предварительно построенную модель ваших данных и дает довольно хорошие результаты.
Шаг 4. Создание модели
Есть 2 части построения модели... 1-я - построение модели, 2-я - ее оценка.
Построение модели
- Мы можем применить старый общий метод подачи алгоритму самих функций, но это старый способ и более медленный.
- Использование алгоритмов машинного обучения для данных.
- Использование алгоритма глубокого обучения для данных. Если это большой набор данных, тем лучше будет работать алгоритм DL.
- Использование облака AP, такого как Google Cloud, которое получает данные и самостоятельно применяет алгоритм.
Оценка модели:
- Проверка матрицы точности.
- Проверка отзыва.
- Проверка матрицы путаницы.
- Проверка точности.
Шаг 5. Комплексное развертывание
Для развертывания вы можете сделать это через вызов API или создать приложение на мобильном телефоне или создать веб-страницу для демонстрации вашего продукта.
Спросите себя, как бы вы развернули свое решение во всем продукте? И ты узнаешь.
И последнее, вам нужно будет отслеживать производительность вашей модели после развертывания и обновлять ее позже.