Нет, я не собираюсь говорить вам заниматься личными проектами.

Наука об извлечении смысла и обучении из текстовых данных является активной темой исследований под названием «Обработка естественного языка» (NLP).

Будучи студентом, я однажды застрял в петле «Как стать хорошим инженером НЛП». Я часто вижу, как многие люди дают советы о том, как новички могут проникнуть в машинное обучение, НЛП и глубокое обучение. Итак, я объединил их все в конвейер.

Обычно эти шаги помогли мне получить хорошее представление о проектах НЛП:

  1. Изучите сбор данных.
  2. Сделайте некоторую подготовку текста.
  3. Применить разработку функций.
  4. Построить модель.
  5. Разверните его!

Итак, теперь давайте кратко поговорим об этом и получим общий обзор высокоэффективных стандартных подходов.

Шаг 1. Сбор данных/сбор данных

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

Наша задача получить эти данные, и вы можете получить данные из:

  1. Наборы данных из Kaggle.
  2. Извлекать данные из хранилища данных через SQL.
  3. Расширение данных — мы генерируем синтетические данные из уже существующих данных. Некоторые типы:
    1. Замена слов синонимами.
    2. Переворот биграммы.
    3. Обратный перевод.
    4. Добавление шума.
  4. Веб-дизайн — используйте библиотеки Python, такие как Beautiful Soup.
  5. Получение данных с веб-сайтов API, таких как rapidapi.com
  6. Pdf, изображения, аудио наборы данных

Шаг 2. Подготовка текста

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

Чистый набор данных позволит модели изучить значимые функции, а не использовать нерелевантный шум.

Я разделил подготовку данных на 3 основные части:

Очистка данных:

Очистка данных может быть утомительной задачей, поскольку она включает в себя:

  1. Удаление нежелательных тегов, таких как html-теги, которые могут появиться, когда мы собираем данные с веб-сайтов, — это можно сделать, создав функции с удалением html-тегов с помощью Beautiful Soup.
    Я прикреплю ссылку на документацию, чтобы вы могли ее посмотреть!
  2. Удаление или придание смысла смайликам… Много раз, когда мы проводим анализ настроений, мы сталкиваемся с отзывами или комментариями, в которых люди добавляют смайлики, чтобы правильно выразить свои эмоции — мы можем придать смысл смайликам, кодируя смайлики в их символы.
  3. Проверка орфографии, поскольку данные заполнены ошибками с орфографией, необходимо выполнить проверку орфографии данных.

Базовая предварительная обработка:

  1. Самый важный шаг — токенизировать ваш текст, разделив его на отдельные слова. Токенизация может быть выполнена двумя способами: по предложениям или по словам…
  2. СтопСлова, СтопСлова, СтопСлова! Удаление слов, которые на самом деле не имеют смысла в предложении, такие слова, как (есть, в, в, есть)
  3. Стемминг и лемматизация - слова, имеющие сходное значение, могут быть сжаты в корневое слово, чтобы машина могла легко его понять. Например, Dance, Dancing, Danced можно сократить до Danc в качестве корневого слова.
  4. Удаление цифр, знаков препинания и знаков, таких как «@» или URL-адреса
  5. Нижний или верхний регистр в соответствии с вашими потребностями.
  6. Обнаружение языка используется во многих моделях, таких как переводчики, но это не очень важный шаг в типичной задаче НЛП.

Расширенная предварительная обработка:

Затем мы переходим к предварительной предварительной обработке, например:

  1. Части речевых тегов
  2. Разбор
  3. Разрешение рамки корпуса

Но вы должны спросить себя: требуется ли расширенная предварительная обработка текста? Потому что часто это не так…

Шаг 3. Разработка функций

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

Для этого у нас есть различные типы:

  1. Сумка слов. Мы определяем вектор фиксированной длины, где каждая запись соответствует слову в нашем заранее определенном словаре слов. Размер вектора равен размеру словаря. Затем для представления текста с помощью этого вектора мы подсчитываем, сколько раз каждое слово из нашего словаря встречается в тексте, и помещаем это число в соответствующую запись вектора.
  2. Tf-IDF-Термин частотно-обратная частота документа (TF-IDF) дает меру, которая учитывает важность слова в зависимости от того, как часто оно встречается в документе и корпусе.
  3. Одно горячее кодирование. В этом методе мы представляем каждое уникальное слово в словаре, устанавливая уникальный токен со значением 1 и остальными 0 в других позициях в векторе. Простыми словами, векторное представление вектора с горячим кодированием представлено в виде 1 и 0, где 1 обозначает позицию, в которой существует слово, и 0 везде.
  4. Слово в вектор. Преобразование слов в векторы или векторизация слов — это процесс обработки естественного языка (NLP). В процессе используются языковые модели для отображения слов в векторном пространстве. Векторное пространство представляет каждое слово вектором действительных чисел. Это также позволяет словам с похожими значениями иметь схожие представления.
  5. N-граммы - N-граммы рассматривают последовательность n слов в тексте; где n равно (1,2,3..), как 1-грамм, 2-грамм. для пары токенов. В отличие от BOW, он поддерживает порядок слов.
  6. Векторизатор подсчета. Он будет соответствовать и изучать словарь слов и пытаться создать матрицу терминов документа, в которой отдельные ячейки обозначают частоту этого слова в конкретном документе, которая также известна как частота термина, а столбцы посвящены каждому слово в корпусе.
  7. Трансферное обучение. Он использует предварительно построенную модель ваших данных и дает довольно хорошие результаты.

Шаг 4. Создание модели

Есть 2 части построения модели... 1-я - построение модели, 2-я - ее оценка.

Построение модели

  1. Мы можем применить старый общий метод подачи алгоритму самих функций, но это старый способ и более медленный.
  2. Использование алгоритмов машинного обучения для данных.
  3. Использование алгоритма глубокого обучения для данных. Если это большой набор данных, тем лучше будет работать алгоритм DL.
  4. Использование облака AP, такого как Google Cloud, которое получает данные и самостоятельно применяет алгоритм.

Оценка модели:

  1. Проверка матрицы точности.
  2. Проверка отзыва.
  3. Проверка матрицы путаницы.
  4. Проверка точности.

Шаг 5. Комплексное развертывание

Для развертывания вы можете сделать это через вызов API или создать приложение на мобильном телефоне или создать веб-страницу для демонстрации вашего продукта.

Спросите себя, как бы вы развернули свое решение во всем продукте? И ты узнаешь.

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