Анализ и сравнительное исследование алгоритмов машинного обучения

В этой статье представлено наше исследование по пониманию служб такси по всей Индии для Uber & Ola с использованием машинного обучения.

Важные моменты

  1. Twitter - это социальная сеть, в которой активно присутствует большое количество пользователей. Данные с хэштегами широко популярны в Твиттере, поэтому в Твиттере есть большие объемы наборов данных, в которых пользователи публикуют свои отзывы.
  2. Две популярные в настоящее время службы такси в Индии - это Uber и Ola с огромным количеством пользователей с разным образом жизни.
  3. Эти настроения используются, чтобы понять, какое мнение люди думают о продукте или услуге в своих твитах.
  4. В этом исследовании мы предлагаем две модели для анализа настроений, основанные на наивном байесовском методе и машине опорных векторов (SVM).
  5. Эта система использует R-статистический язык программирования для генерации выходных данных.

Вступление

Язык - мощный инструмент, помогающий выражать эмоции. Анализ настроений - это интеллектуальный анализ текста, который помогает бизнесу понять, какие социальные настроения люди испытывают к их бренду или продукту. Он использует методы обработки естественного языка и интеллектуального анализа данных для решения реальных проблем. Помимо получения информации о бренде с помощью отзывов пользователей, можно было бы улучшить бизнес. Обладая этими знаниями, бренд может решить, насколько успешным будет запуск нового продукта, как потребители отреагируют на продукт или услугу. Довольны они или нет? Твиты в основном представляют собой отзывы людей и в этой статье разделены на две группы: положительные и отрицательные. Поскольку пользователи пишут твиты на удобных для них языках, большинство твитов содержат текст, который трудно очистить. В этом документе используются наборы данных «UBER» и «OLA». В этом проекте используется язык R-программирования. R - это язык статистического программирования, используемый для вычислений и анализа данных. Причина выбора этого языка программирования заключается в том, что он дает лучшие результаты для анализа и понимания данных именно потому, что он содержит различные типы пакетов, например e1071. В этой статье используются методы алгоритмов машинного обучения, которые включают «SVM» (машина опорных векторов) и «наивный байесовский метод». Это два алгоритма классификации, которые классифицируют данные по разным категориям и являются частью контролируемого машинного обучения. Целью выбора этих алгоритмов является то, что они дают лучшие результаты для классификации текста.

Обзор литературы

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

Twitter - одна из таких платформ, созданная в 2006 году Джеком Дорси, Ноа Глассом, Биз Стоуном и Эваном Уильямсом. С тех пор Twitter в значительной степени вырос до сообщества из 300 миллионов активных пользователей и 145 миллионов активных пользователей ежедневно.

Это дает нам представление о том, почему большое количество предприятий начали уделять пристальное внимание сбору данных из Twitter. Наличие огромного количества пользователей из разных социальных интересов и сфер увеличивает обширность сообщества. Обладая такими обширными возможностями и доступной технологией, исследователи начали анализ настроений в Twitter на основе собранных данных. В исследовательской работе «Использование возможностей интеллектуального анализа текста», опубликованной в 2005 году Вейгуо Фань, Линда Уоллес, Стефани Рич и Чжунцзю Чжан объяснили важность того, как мы можем использовать текст для извлечения полезной информации, чтобы установить взаимосвязь между словами. Это помогает нам понять силу текста и то, как мы можем использовать данные из текстов, чтобы понять отношения. С этим исследователи начали извлекать данные из Twitter, чтобы понять, как можно использовать широко доступные данные, и сформировать мнение на основе своих твитов. Предыдущая работа от Пака, Александра и Патрика Пароубека. «Твиттер как корпус для анализа настроений и сбора мнений» в 2010 году помог еще больше пролить свет на то, как настроения в твиттере могут помочь в формировании мнения.

Мотивация

Поскольку использование анализа настроений в Twitter было широко продемонстрировано в других областях наборов данных, таких как системы просмотра фильмов, прогнозирование заболеваний и т. Д. Мы почувствовали, что область услуг такси может получить большую выгоду, если будет проведен сентиментальный анализ Twitter. У Uber около 110 миллионов пользователей и около 17 миллионов поездок в день (по состоянию на май 19-го). В Индии у нас около 5 миллионов пользователей (на август 17-го), а у Олы около 150 миллионов пользователей, которые совершают около 2 миллионов поездок каждый день. с 23,9 (по состоянию на ноябрь 1919 г.) миллионами пользователей в Индии, следовательно, это добавляет уникальности наборам данных. При таком большом объеме данных эти две компании находятся на пике данных о пользователях. С такими большими числами мы почувствовали любопытство узнать отзывы людей об услугах такси из Twitter и понять, как анализ настроений может помочь лучше понять это для дальнейших улучшений.

Методология

Схематическое изображение сентиментального анализа объясняется ниже.

Алгоритм, рассматриваемый для целей классификации, - это SVM и Naïve Bayes.

Алгоритм классификации SVM (машина опорных векторов)

Машину опорных векторов можно описать как двоичный классификатор. Он пытается найти гиперплоскость, которая может разделить два класса данных с наибольшей разницей. В SVM есть 2 типа разделения: линейное и нелинейное. Нелинейную классификацию можно выполнить с помощью трюка с ядром. Ядро играет важную роль в разделении данных, поскольку нелинейный край не может быть нарисован в 2-D, его нужно поднять в более высокое измерение, где данные могут быть разделены, то есть в 3-D плоскости, поскольку можно заметить, что используются два разных класса, обозначающих круг и квадрат, SVM создает гиперплоскость, которая разделяет два класса с максимальными полями.

Наивный алгоритм байесовской классификации

Наивный Байес - это также алгоритм классификации, основанный на принципе теоремы Байеса. Наивный байесовский алгоритм - это не отдельный алгоритм, а набор алгоритмов, определяющих вероятность возникновения события. Принцип, которому следует этот алгоритм, заключается в том, что каждая пара классифицированных функций независима друг от друга. Вероятность появления признаков рассматривается как вероятность появления отдельного признака, деленная на вероятность появления остающегося признака. Это формулирует теорему Байеса, на которой основана наивная байесовская теория. Поскольку функции считаются независимыми, алгоритм выдаст индивидуальные результаты для каждой переменной, которые будут отличаться от других алгоритмов. Возьмем рисунок 3, поскольку можно заметить, что условная вероятность того, что А уже произошло, умножается на вероятность А, деленную на вероятность В.

Шаги в блок-схемах объяснены ниже в числовом формате.

Созданы данные для положительных и отрицательных твитов.

Общее количество твитов во фрейме данных - 3000.

Он разделен на 2 отдельных фрейма данных.

Максимальное количество твитов - это обучающий фрейм данных, который составляет 70% от 3000.

Другой - это фрейм данных тестирования, который составляет 30% от 3000.

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

Затем обученные данные проверяются с данными тестирования, чтобы проверить, какая точность достигается.

Затем точность объясняется с помощью матрицы неточностей.

Экспериментальные результаты

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

Дополнительной целью этого документа было категоризация данных (твитов).

Категоризация данных проводилась по 2 категориям:

  1. Положительный
  2. Отрицательный

Затем эти данные были обучены с разбиением на 70%. Остальные 30% были использованы для тестирования. После того, как обучение было выполнено, его протестировали, чтобы проверить, насколько хорошо обучены данные. Чтобы понять результаты, точность была получена с помощью таблицы неточностей.

Формула точности:

Точность = a + b / a + b + c + d

Матрица путаницы

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

Общая точность 3000 наборов данных для Uber и Ola

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

Правильные и неправильные твиты на основе наборов данных

На приведенном выше рисунке показаны правильные твиты и неправильные твиты двух наборов данных, которые являются Uber и Ola на двух разных алгоритмах, SVM и Naïve Bayes.

Заключение

Основное внимание в статье уделяется оценке точности между двумя алгоритмами классификации и пониманию того, какая точность достигается, а также пониманию настроений людей с помощью сентиментального анализа. В этой статье эти два алгоритма сравниваются с сентиментальной классификацией твитов. Экспериментальные данные показали, что классификатор дает лучшие результаты для наборов данных Uber, которые были обучены с помощью Naïve Bayes, аналогично наборы данных Ola дают хорошие результаты в случае Naïve Bayes. Как мы видим, в обоих случаях доминировал Наивный Байес с точностью 86,65% в случае Uber и 73,64% в случае Ола. Таким образом, можно сказать, что наивный байесовский алгоритм - лучший алгоритм, который можно использовать для классификации наборов данных Uber & Ola. Наконец, чувства людей через твиты показаны с помощью облака слов. Облако слов - это визуальное представление слова, которое чаще всего используется в твитах, позволяющее нам понять, что люди хотят передать в сообщении. Это может помочь конкретной организации понять своих людей и сделать бизнес еще лучше за счет сентиментального понимания.

использованная литература

[1] Лопамудра Дей, Санджай Чакраборти, Анурааг Бисвас, Бипа Бос, Света Тивари. «Анализ тональности обзорных наборов данных с использованием наивного байесовского классификатора и классификатора K-NN», Международный журнал информационной инженерии и электронного бизнеса, 2016 г.

[2] П.Калаивани, «Классификация отзывов о фильмах с помощью контролируемых подходов к машинному обучению» Индийский журнал компьютерных наук и инженерии (IJCSE) ISSN: 0976–5166 Vol. 4 №4 авг-сен 2013.

[3] «Прогресс в вычислениях, аналитике и сетях», Springer Science and Business Media LLC, 2018.

[4] Маниш Н. Тибдевал, Свапнил А. Сказка. «Многоканальное обнаружение эпилепсии с использованием классификатора SVM по сигналу ЭЭГ», Международная конференция по компьютерному управлению и автоматизации, 2016 г. (ICCUBEA), 2016 г.

[5] Вейгуо Фан, Линда Уоллес, Стефани Рич и Чжунцзю Чжан, «Использование возможностей интеллектуального анализа текста», Журнал ACM, Блэксбург, 2005 г.

Прежде чем ты уйдешь

Исследовательский документ: https://sersc.org/journals/index.php/IJFGCN/article/view/17896

Код: https://github.com/yashindulkar/Ola-Sentiment-Analysis-using-R

Код: https://github.com/yashindulkar/Uber-Sentiment-Analysis-using-R

Особая благодарность моему соавтору Абхиджитпатилу