Введение

Сарказм определяется как резкое, часто ироничное замечание, предназначенное для выражения презрения или насмешки. Обнаружение сарказма — это задача правильно обозначить текст как «саркастический» или «несаркастический». Это сложная задача из-за отсутствия интонации и мимики в тексте. Тем не менее люди все еще могут заметить в тексте саркастические настроения и рассуждать о том, что делает их таковыми. Распознавание сарказма в тексте является важной задачей обработки естественного языка, чтобы избежать неправильной интерпретации саркастических утверждений как буквальных утверждений. На точность и надежность моделей НЛП часто влияют ложные чувства, которые часто носят саркастический характер. Таким образом, важно отфильтровывать зашумленные данные из входных данных обучения для различных задач, связанных с НЛП. Например, такое предложение, как «Я так взволнован, что работаю все выходные!» может быть наивно классифицировано как предложение с высоким положительным настроением. Однако на самом деле это негативное настроение, искусно подразумеваемое через сарказм. Использование сарказма распространено во всех социальных сетях, микроблогах и платформах электронной коммерции. Обнаружение сарказма необходимо для точного анализа настроений и сбора мнений. Это может способствовать усовершенствованию автоматизированных систем обратной связи в контексте клиентских сайтов. Twitter — это платформа микроблогов, широко используемая людьми для выражения мыслей, обзоров, обсуждений текущих событий и передачи информации в виде коротких текстов. Данные Твиттера представляют собой разнообразный корпус для предложений, которые имплицитно содержат сарказм. Цель состоит в том, чтобы обучить алгоритм машинного обучения, чтобы он мог предсказывать, где в будущем появится сарказм.

Наш подход к проблеме очень прост: сначала мы извлекаем набор данных, который состоит примерно из 26709 твитов, которые имеют ссылку на сайт, твит, is_sarcasm или нет. Затем мы проверим набор данных на наличие некоторых недостающих данных, то есть часть предварительной обработки данных. Затем мы переходим к выборке данных с последующим импортом функций, разделением набора данных, применением алгоритмов машинного обучения, нанесением точек данных на карту, классификацией и, наконец, прогнозированием.

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

Описание проблемы:-

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

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

Вы можете легко получить этот набор данных на удивительном веб-сайте Kaggle,вот ссылка ниже:-

Нажмите здесь, чтобы загрузить набор данных

Наш набор данных имеет три столбца, где

  • article_link (тип: Object): содержит ссылки на новостные статьи.
  • headline (тип: Object): содержит заголовки новостных статей.
  • is_sarcastic (тип: int64): содержит 0 (для несаркастичного текста) и 1 (для саркастичного текста).

МЕТОДОЛОГИЯ:

Чтобы понять принятую методологию, мы сначала понимаем наш набор данных и переменные.

Набор данных:

Наш набор данных состоит примерно из 26709 твитов, имеющих веб-ссылку, текст твита и is_sarcam или нет в качестве функций. Цель состоит в том, чтобы обучить алгоритм машинного обучения, чтобы он мог предсказывать, где в будущем появятся сарказмистские твиты.

Возможности:

  • Ссылка на веб-сайт — веб-ссылка твита, которую следует удалить, чтобы не влиять на прогнозы.
  • Заголовки — твиты, используемые для обучения

ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ:

Для предварительной обработки мы рассматривали Python как наши варианты проекта. После некоторых экспериментов мы обнаружили, что, хотя R проще для статистики и анализа данных, отсутствие единообразия среди различных пакетов машинного обучения сделало предпочтение Python. Алгоритмы машинного обучения, предоставляемые пакетом scikit-learn, не работают, если во входных данных отсутствуют значения. Следовательно, нам приходилось либо вводить данные в отсутствующие слоты, либо удалять экземпляры, в которых были эти отсутствующие поля. Изучив данные, мы поняли, что в этом проекте у нас нет недостающих данных, но есть так много стоп-слов и других зашумленных данных, которые необходимо удалить, чтобы модель работала эффективно.

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

Используемый метод классификации:

Здесь для классификации твитов мы использовали различные алгоритмы, такие как K — ближайшие соседи в режиме классификации, классификатор дерева решений, классификатор случайного леса, наивный байесовский метод, но мы получили самую высокую точность — 82,70% от наивного байесовского алгоритма (бернуллиевский наивный байесовский алгоритм). ).

Эволюция:

1. Классификатор случайного леса

Параметры RF: Количество деревьев = 500

• Точность: 0,75

2. кнн

Параметры: Количество соседей = 5

• Точность: 0,76

3. Наивный байесовский метод (наивный байесовский метод Бернулли)

  • Точность: 0,81

ЗАКЛЮЧЕНИЕ:

Вот в этом проекте мы смогли правильно определить сарказм, встречающийся в различных твитах по всему миру. Мы смогли правильно классифицировать твиты на основе используемых слов, хотя показатель точности для классификации был не таким хорошим, но достаточно хорошим с учетом количества имеющихся у нас данных и функций, используемых для классификации. Мы также смогли предсказать сарказм, присутствующий в конкретном твите, с точностью около 81,12%.

Особая благодарность:-

Реализация этого проекта осуществлялась в Форск-Лабс под руководством замечательных менторов, которые помогли нам Много в строительстве этого замечательного проекта. Я всегда буду благодарен им за их поддержку и доброту.

О нас:-

Мы (команда из двух человек — МОХИТ БАНСАЛ и ВИЖАЙ ШЕРСИЯ) построили этот проект во время нашей летней стажировки в Forsk Technologies.

Весь проект здесь: -