Обработка естественного языка (NLP) — это подраздел искусственного интеллекта (ИИ). Это помогает машинам обрабатывать и понимать человеческий язык для автоматического выполнения повторяющихся задач.

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

Токенизация. Токенизация — это процесс разбиения предложения или текста на отдельные слова или подслова, известные как токены. Эти токены служат основными строительными блоками для моделей НЛП для обработки текстовых данных.

Удаление стоп-слова.Стоп-слова – это общеупотребительные слова в языке (например, "the", "is", "and"), которые встречаются часто, но имеют мало семантического значения или вообще не имеют его. При удалении стоп-слов эти слова отфильтровываются из текста, чтобы уменьшить шум и повысить эффективность обработки и анализа текста.

Нормализация. Нормализация — это процесс преобразования текстовых данных в общий стандартизированный формат. Он включает преобразование всего текста в нижний регистр, удаление пунктуации и обработку вариаций, таких как преобразование «США» и «США» в «США», чтобы обеспечить единообразие данных.

Основание. Получение основы – это процесс приведения слов к их корневой или базовой форме путем удаления суффиксов или префиксов. Например, такие слова, как «бег», «бегун» и «ран» будут образованы от «бег». Выделение корней помогает сократить вариации слов и свести похожие слова к одному корню, упрощая анализ текста.

Лемматизация. Лемматизация – более сложный процесс по сравнению со стеммингом. Он включает в себя приведение слов к их базовой или словарной форме, известной как леммы. В отличие от стемминга, лемматизация учитывает значение и контекст слова, обеспечивая более точные результаты. Например, «лучше» и «лучший» будут преобразованы в «хорошо».

Неделя 2: Презентация Transformers и BERT

Трансформеры. Трансформеры — это тип модели глубокого обучения, которая произвела революцию в задачах НЛП. Они используют механизмы внутреннего внимания для анализа отношений между разными словами в предложении, что позволяет им параллельно обрабатывать входные последовательности и эффективно фиксировать долгосрочные зависимости.

BERT (представление двунаправленного кодировщика от преобразователей). BERT — это предварительно обученная модель на основе преобразователя, разработанная Google. Он двунаправленный и захватывает контекст как с левой, так и с правой стороны слова, что делает его очень эффективным для различных задач НЛП, включая классификацию текста и ответы на вопросы.

По мере того, как мы углублялись во вторую неделю, мы исследовали концепцию преобразователей и их значение в НЛП. Были представлены такие понятия, как механизмы внимания, перенос обучения, предварительное обучение и точная настройка, что проложило путь к модели BERT (представления двунаправленного кодировщика от преобразователей). Мы работали с трансформаторами и библиотеками timm и реализовали BERT в Jupyter Notebook.

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

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

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

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

Неделя 3. Предварительная обработка данных и неискренние вопросы Quora

Предварительная обработка данных включает в себя очистку и преобразование необработанных данных для подготовки к анализу.

Неделя 3 была захватывающим этапом, направленным на решение задачи выявления неискренних вопросов на Quora. Вооружившись методами, изученными на прошлой неделе, мы углубились в предварительную обработку данных, чтобы убедиться, что данные подготовлены и готовы к анализу. Внедрение методов обработки текста в Jupyter Notebook еще больше укрепило наше понимание.

Набор данных Quora NLP был назначен для задачи 1, побуждая нас создавать графики и делать важные выводы из данных. На следующий день мы представили наши выводы во время содержательной сессии по исследовательскому анализу данных (EDA) и TF-IDF.

Исследовательский анализ данных (EDA).EDA – это процесс визуального и статистического анализа данных, позволяющий получить представление, выявить закономерности и понять структуру и характеристики набора данных.

TF-IDF (Термин Частота Обратной Частоты Документа):TF-IDF — это метод, используемый для представления важности каждого слова в документе по отношению к набору документов. Он количественно определяет, как часто слово появляется в документе (частота терминов), и обратно пропорционально взвешивает его на основе его частоты во всей коллекции документов.

Неделя 4: Оценка модели и расширенная визуализация

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

В центре внимания недели 4 была оценка модели и расширенная визуализация. Мы углубились в BoxPlots и Violin Plots, понимая их полезность и математические основы. В нашем проекте мы внедрили векторизатор TF-IDF, логистическую регрессию, матрицу путаницы, полиномиальную наивную байесовскую выборку и стратифицированную K-кратную выборку для обработки несбалансированных наборов данных. Понимая важность оценки F1 как надежной метрики для оценки модели, мы соответствующим образом усовершенствовали наш подход.

Стратифицированная перекрестная проверка K-кратности. Стратифицированная перекрестная проверка K-кратности — это метод, используемый для оценки производительности модели при сохранении баланса распределения классов. Он делит набор данных на K подмножеств, гарантируя, что каждое подмножество содержит пропорциональное представление каждого класса.

Оценка F1. Оценка F1 – это показатель, который сочетает в себе точность и полноту для измерения производительности модели. Это особенно полезно при работе с несбалансированными наборами данных, поскольку одинаково учитывает ложные срабатывания и ложные отрицания.

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

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

Неделя 5: Создание окончательного проекта с помощью BERT

На пятой неделе наше внимание переключилось на реализацию модели BERT. Мы исследовали ввод BERT с помощью токенов CLS (классификация) и SEP (разделение), а также токенизатора BERT и встраивания.

Токен CLS (классификации).Токен CLS добавляется в начало входной последовательности. Он используется для представления общей классификации всей последовательности. В таких задачах, как классификация текста, анализ настроений и ответы на вопросы, конечное скрытое состояние, соответствующее токену CLS, часто используется в качестве совокупного представления входной последовательности, которая затем передается на уровень классификации для конкретной задачи.

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

Токенизация BERT.Токенизатор BERT используется для токенизации входного текста и преобразования его в характерные для BERT функции ввода (input_ids и attention_mask).

Пользовательский набор данных. Создается пользовательский класс набора данных для организации токенизированных данных и целей в тензоры PyTorch.

Подготовка и загрузка данных. Данные для обучения, проверки и тестирования подготавливаются и загружаются в PyTorch DataLoader для эффективной пакетной обработки.

Расчет прогнозов и показателей:

Обученная модель BERT используется для прогнозирования тестового набора:

  • Предсказания. Модель прогнозирует целевые метки для тестового набора и извлекает соответствующие тексты вопросов.
  • Отчет о классификации. Функция classification_report() используется для вычисления точности, полноты, оценки F1 и других показателей классификации, обеспечивая всестороннюю оценку производительности модели.

Оценка F1, которая уравновешивает точность и полноту, для класса 0 составляет 97,14 %. Общее количество экземпляров для класса 0 в наборе данных – 14 934.
Показатель F1 для класса 1 – 37,62 %. Набор данных содержит 976 экземпляров класса 1.
Эти результаты показывают, что модель хорошо различает экземпляры класса 0, но борется с экземплярами класса 1, что отражается в более низкой точности и полноте для класса 1.
Общая точность. Общая точность модели с учетом прогнозов класса 0 и класса 1 составляет 94,54 %.

Посмотрите мой исходный код для этого проекта вместе с демо-видео здесь:



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

Наставничество: ключ к успеху

Наш наставник, замечательный Паллави Панну, сопровождал нас на протяжении всего путешествия. Благодаря ее проницательным объяснениям и непоколебимой поддержке самые сложные концепции казались доступными. Она великодушно развеяла даже малейшие сомнения, гарантируя, что мы усвоили код и усвоили основные концепции НЛП.

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

Ярмарка проектов: демонстрация наших достижений

30 июля состоялась долгожданная Ярмарка проектов, когда каждая команда, в том числе и наша, имела возможность представить свои проекты. С энтузиазмом и гордостью мы продемонстрировали «Классификацию неискренних вопросов Quora с использованием BERT». Мы представили введение проекта, рабочий процесс, методологию, результаты и будущие масштабы. Мы страстно продемонстрировали нашу тяжелую работу, используя Блокнот Google Colab, демонстрационные видеоролики, графики, блок-схемы и другие визуальные материалы.

Star Cliquer: Гордый момент признания

К моему великому удовольствию, моя самоотверженность и преданность команде НЛП принесли мне титул «Звездный кликер». Признание от Star Cliquer наполнило мое сердце радостью, и я был вознагражден захватывающими подарками в знак признательности за мой подход и страсть к проекту.

Продолжая идти по этому захватывающему пути, я с нетерпением жду возможности применить свои новые знания в будущих проектах и ​​исследованиях. Спасибо, что присоединились ко мне в моем замечательном путешествии в НЛП Interestship 5.0!