Применение машинного обучения для классификации комментариев

Рассмотрение машинного обучения для классификации комментариев в рамках курсового проекта по дисциплине "Machine Learning. Обучающиеся технические системы". Автоматическое определение эмоциональной окраски (позитивный, негативный) текстовых данных.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 19.02.2019
Размер файла 269,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Применение машинного обучения для классификации комментариев

Двинских В.И.,

Ларин А.И.

В статье рассмотрено применения машинного обучения для классификации комментариев в рамках курсового проекта по дисциплине "Machine Learning. Обучающиеся технические системы", научный руководитель - д.ф.-м.н., профессор Воронова Л.И. [1].

Автоматическое определение эмоциональной окраски (позитивный, негативный) текстовых данных, называется анализом тональности. Цель этой задачи состоит в определении, является ли данный текст (например, обзор фильма или комментарии) положительным, либо отрицательным по своему влиянию на репутацию конкретного объекта. Трудность анализа тональности заключается в присутствии эмоционально обогащенного языка - сленг, многозначность, неопределенность, сарказм, все эти факторы вводят в заблуждение не только людей, но и компьютеры[2].

Актуальность исследования определяется развитием сети Интернет и необходимостью систематизации и обработки больших объёмов текстовой информации. Обработка тональности текстов позволяет упростить анализ эффективности рекламной и PR деятельности, а также может способствовать спецслужбам в поиске преступников в интернете и социальных сетях.

Целью работы является параметризация нейронной сети[3] для проведения анализа тональности текстов. Для обучения данной сети необходимо иметь данные для составления обучающей выборки.

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

В социальной сети для публичного обмена сообщениями twitter.com [4] под публичными сообщениями присутствуют комментарии. Данные комментарии были выгружены и сохранены в файл для проведения анализа. Таким образом, было собрано и проанализировано более 500,000 комментариев и на основе представленного анализа авторами статьи был составлен обучающий набор данных.

Пример полученных в процессе анализа данных представлен на рисунке 1.

Размещено на http://www.allbest.ru/

Рис.1- Структура csv файла с комментариями

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

Для чтения и обработки полученных данных использовалась библиотека pandas[5]. Программная реализация показана на рисунке 2. Функция read_csv считать csv как data frame. Функция dropna() позволяет удалять пустые записи.

Рис.2 -Программный код использования библиотеки pandas

В качестве инструмента машинного обучения использовалась библиотека scikit-learn. Данная библиотека не позволяет обрабатывать категориальные признаки, поэтому для реализации модели необходимо перевести их в числовые признаки [6]. Программный код использования данной библиотеки для перевода показан на рисунке 3.

Рис.3 - Программный код перевода категориальных признаков в числовые

Для анализа текстовых признаков было использовано 3 алгоритма: Bags of words, n-grams, tf-idf, программный код которых представлен на рисунке 4

Рис.4- Программный код анализа текстовых признаков

Bags of words или мешок слов - представляет собой неупорядоченный набор слов, входящих в обрабатываемый текст. Модель представляют в виде матрицы, в которой строки соответствуют отдельному тексту, а столбцы - входящим в него словам. Ячейки на пересечении являются числом вхождения данного слова в соответствующий документ.

N-grams-- последовательность из n элементов. С семантической точки зрения, это может быть последовательность звуков, слогов, слов или букв. На практике чаще встречается N-грамма как ряд слов, устойчивые словосочетания называют коллокацией., tf-idf-- статистическая мера, используемая для оценки важности слова в контексте документа, являющегося частью коллекции документов или корпуса. Вес некоторого слова пропорционален частоте употребления этого слова в документе и обратно пропорционален частоте употребления слова во всех документах коллекции.

В работе было выбрано несколько алгоритмов классификации: RandomForest, ADAboost, Bernoulli, Perceptron.

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

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

Bernoulli (распределение Бернулли для Наивного Байесовского классификатора). Используется в случае двоичных дискретных признаков (могут принимать только два значения: 0 и 1).

Perceptron, который имеет множество слоев: входной слой для получения данных, скрытые слои и выходной слой для вывода данных[7].

Для реализации поставленной задачи была выбрана нейронная сеть, в которой будет 4 скрытых нейронных слоя. В связи с тем, что набор данных содержит большое количество разных слов, а количество входных нейронов должно быть равно словарю (около 290 000 слов) было принято решение сократить набор слов до оптимального для данной задачи - 5000 нейронов, на каждом скрытом слое расположено по 100 нейронов, а на выходном - 2. Структура нейронной сети показана на рисунке 5[8].

Рис.5- Нейронная сеть для классификации комментариев

Здесь n - число входных нейронов, а m - количество скрытых слоев.

Для тестирования обученной нейронной сети была использована вторая часть данных, которую мы выбрали в тот момент, когда производили считывание данных из файла с расширением "csv". Объем данных для тестирования составляет 30% и представляет из себя 200000 комментариев, которые, так же как и в процессе обучения подаются на вход нейронной сети, но уже при возникновении несоответствия выхода нейронной сети и ожидаемого ответа, не происходит изменения весов нейронной сети, а данное наблюдение засчитывается как неверно определенное.

В результате работы мы получаем оценку комментария по настроению (негативный или позитивный). На рисунке 6 показана работа нейронной сети для классификации случайного текста, в данном случае мы получили оценку "негативный" для данного предложения, что является правильным.

Размещено на http://www.allbest.ru/

Рис. 6- Результат работы классификатора

В ходе работы при классификации положительный/отрицательный комментарий наиболее точным оказался алгоритм random forest, что говорит о том, что для поставленной задачи нейронная сеть может применяться и вполне успешно классифицировать комментарии, но не всегда будет являться наиболее точной. На рисунке 7 представлено сравнение точности классификации различными методами.

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

2. Bernoulli - использование распределения Бернулли для простого вероятностного классификатора, основанный на применении теоремы Байеса со строгими (наивными) предположениями о независимости.

3. AdaBoost вызывает слабый классификатор в цикле. После каждого вызова обновляется распределение весов, которые отвечают важности каждого из объектов обучающего множества для классификации. На каждой итерации веса каждого неверно классифицированного объекта возрастают, таким образом, новый классификатор "фокусирует своё внимание" на этих объектах.

4. Perceptron, который имеет множество слоев: входной слой для получения данных, скрытые слои и выходной слой для вывода данных.[7]

В данном случае для классификации тональности текста алгоритм случайный лес показал себя лучше, чем другие алгоритмы классификации.:

• Accuracy случайного леса= 0.972;

• Accuracy распределения Бернулли= 0.8961;

• Accuracy тестовой выборки Adaptive Boost: 0.676; * Accuracy тестовой выборки персептрона= 0.832;

Рис. 7- Сравнение алгоритмов классификации тестовой выборки

Выводы

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

Список литературы

1. Л.И. Воронова, В.И. Воронов. Machine Learning: Регрессионные методы интеллектуального анализа данных: учебное пособие - МТУСИ, 2017 - 81 с.

2. А. Жармагамбетов. Автоматическое определение тональности текста [Электронный ресурс] (Sentiment Analysis) Режим доступа: https://habr.com/ru (дата обращения: 01.12.2018)

3. Д. Мескита. Общий взгляд на машинное обучение: классификации текста при помощи нейронных сетей [Электронный ресурс] Режим доступа: https://tproger.ru (дата обращения: 01.12.2018)

4. Twitter.com [Электронный ресурс]

5. Библиотека Анализа Данных Python. [Электронный ресурс]. - Режим доступа: https://pandas.pydata.org (дата обращения: 17.12.2018)

6. Открытая библиотека машинного обучения scikit-learn [Электронный ресурс]. - Режим доступа: http://scikit-learn.org/ (дата обращения: 17.12.2018)

7. Л.И. Воронова. Методические указанию по подготовке и оформлению курсовых работ по дисциплине Machine Learning. Обучающиеся технические системы. 2018.

8. Курс машинного обучения Andrew Ng Machine Learning [Электронный ресурс]. - Режим доступа: https://www.coursera.org/learn/machinelearning (дата обращения: 01.12.2018)

Размещено на Allbest.ru

...

Подобные документы

  • Machine Learning как процесс обучения машины без участия человека, основные требования, предъявляемые к нему в сфере медицины. Экономическое обоснование эффективности данной технологии. Используемое программное обеспечение, его функции и возможности.

    статья [16,1 K], добавлен 16.05.2016

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

    дипломная работа [917,1 K], добавлен 31.01.2015

  • Виды машинного обучения, его основные задачи и методы. Подходы к классификации: логистическая регрессия, наивный байесовский классификатор, стохастический градиентный спуск, K-ближайший сосед, дерево решений, случайный лес, метод опорных векторов.

    курсовая работа [436,9 K], добавлен 14.12.2022

  • Получение и обработка данных о веб-сайте. Иерархическая классификация, алгоритмы машинного обучения. Решающие деревья, плоские классификаторы. Метрики оценки качества. Полная точность (accuracy), кросс-валидация. Параллельные вычисления, хранение данных.

    курсовая работа [276,8 K], добавлен 04.09.2016

  • Особенности графической среды разработки и Visual C++. Разработка проекта с использованием функций библиотеки MFC для удаления комментариев из текстов программ, автоматического выбора языка, на котором написана утилита и сохранения результата в файл.

    курсовая работа [22,7 K], добавлен 07.11.2010

  • Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.

    дипломная работа [1,8 M], добавлен 08.02.2017

  • Ознакомление с основами расширяемого языка разметки Extensible Markup Language. Изучение основных правил создания XML-документа. Рассмотрение набора элементов языка, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных.

    презентация [400,9 K], добавлен 21.12.2014

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

    дипломная работа [2,2 M], добавлен 07.06.2012

  • Управление электронным обучением. Технологии электронного обучения e-Learning. Программное обеспечение для создания e-Learning решений. Компоненты LMS на примере IBM Lotus Learning Management System и Moodle. Разработка учебных курсов в системе Moodle.

    курсовая работа [146,6 K], добавлен 11.06.2009

  • История автоматизированного перевода. Современные компьютерные программы перевода. Сфера использования машинного перевода. Формы организации взаимодействия человека и ЭВМ в машинном переводе. Интерредактирование и постредактирование машинного перевода.

    курсовая работа [30,0 K], добавлен 19.06.2015

  • Історія машинного перекладу як науково-прикладного напряму. Теорія машинного перекладу. Особливості використання систем, орієнтованих на персональні комп’ютери. Напрямки розвитку та застосування машинного перекладу. Приклади систем машинного перекладу.

    реферат [21,5 K], добавлен 19.02.2011

  • Человеко-машинный интерфейс. Текстовый и смешанный (псевдографический) интерфейсы. Применение человеко-машинного интерфейса в промышленности. Программные средства для разработки человеко-машинного интерфейса. Среда разработки мнемосхем GraphworX32.

    дипломная работа [5,3 M], добавлен 19.03.2010

  • Изучение принципа работы интернет-аукциона (на примере сайта molotok.ru). Способ получения информации с веб-ресурсов. Разработка программного обеспечения с целью создания исходных данных для обучения нейронных сетей и классификации товаров с их помощью.

    дипломная работа [2,0 M], добавлен 29.06.2012

  • Популярность алгоритмов машинного обучения для компьютерных игр. Основные техники обучения с подкреплением в динамической среде (компьютерная игра "Snake") с экспериментальным сравнением алгоритмов. Обучение с подкреплением как тип обучения без учителя.

    курсовая работа [1020,6 K], добавлен 30.11.2016

  • Преимущества применения информационных технологий в образовании. Системы дистанционного образования. Организационная схема обучения дисциплине "Финансы и кредит". Расчет трудоемкости, длительности и себестоимости разработки информационной системы.

    дипломная работа [5,6 M], добавлен 30.08.2010

  • Общие понятия об e-learning. Области применения продукта. Модели и технологии. Исследование и анализ программных инструментов. Создание учебного курса для преподавателей инженерно-экономического факультета. Оценка эффективности внедрения такого обучения.

    дипломная работа [4,7 M], добавлен 03.05.2018

  • Machine Translation: The First 40 Years, 1949-1989, in 1990s. Machine Translation Quality. Machine Translation and Internet. Machine and Human Translation. Now it is time to analyze what has happened in the 50 years since machine translation began.

    курсовая работа [66,9 K], добавлен 26.05.2005

  • Использование классификаторов машинного обучения для анализа данных. Создание модели, которая на основании параметров, влияющих на течение диабета, выявляет показатель возвращения больного в ухудшенное состояния после оказанного лечения (реадмиссию).

    дипломная работа [625,2 K], добавлен 10.06.2017

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

    реферат [16,9 K], добавлен 07.03.2010

  • Моделирование системы массового обслуживания. Анализ зависимости влияния экзогенных переменных модели однофазной одноканальной СМО на эндогенные переменные. План машинного эксперимента множественного регрессионного анализа и метода наименьших квадратов.

    лабораторная работа [107,5 K], добавлен 15.06.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.