Введение 3
Постановка задачи 6
Обзор литературы 7
Глава 1. Предварительная обработка текста 13
Глава 2. Построение векторной модели текста 14
2.1. Метод Word2Vec 14
2.2. Метод Bag Of Words 18
Глава 3. Определение тональности текста с помощью алгоритмов машинного обучения 20
3.1. Наивный Байесовский классификатор 25
3.2. Метод опорных векторов 25
3.3. Алгоритм градиентного бустинга 25
Глава 4. Практическая реализация и результаты 30
4.1. Формулировка задачи 30
4.2. Сбор данных с web-ресурса 31
4.3. Чистка данных и создание словаря 34
4.4. Алгоритмы преобразования текстовой информации в векторную 35
4.5. Применение градиентного бустинга 36
Выводы 40
Заключение 41
Список литературы 43
В настоящее время, чтобы стать лидером в своей отрасли, компаниям необходимо не просто производить качественные товары, оказывать большой спектр услуг, но и постоянно собирать обратную связь с потребителей, знать, что они думают о товаре, какие отзывы оставляют на специализированных ресурсах, оценивать общую удовлетворенность людей от продукта. В свою очередь любой человек, совершающий покупку или делающий выбор в пользу коммерческих предложений, сталкивается с необходимостью получения независимой оценки этих товаров. Он хочет узнать опыт других людей, понять какое впечатление на них произвел тот или иной производитель услуг. Важность этой информации повышается в разы, когда речь заходит о выборе банковских продуктов, в частности, кредита, ипотеки или ведения счетов ИП. В условиях стремительного роста пользовательских текстов в Интернете автоматическое извлечение полезной информации из многочисленных документов вызывает интерес у исследователей во многих областях, в частности в области обработки естественного языка (Natural Language Processing}.
Анализ мнений (opinion mining} или анализ тональности текстов (Sentiment Analysis}- это область компьютерной лингвистики, которая занимается автоматизированным выявлением и изучением эмоционально окрашенной лексики и эмоциональной оценки авторов по отношению к объектам, о которых идет речь в тексте. Данное научное направление зародилось в начале этого столетия и постепенно стало активно развиваться в связи большим количеством практических применений в различных областях, например, анализ ценообразования [1] ,мониторинг бренда [2], прогнозирование рынка [3] и др. Анализ тональности позволяет извлечь из текста мнение автора в отношении заданного объекта. Отношение может выражать суждение, мнение или оценку автора, его эмоциональное состояние.
В настоящее время рост популярности социальных сетей, интернет- магазинов и ресурсов с онлайн-обзорами различных продуктов и услуг предоставляет большое количество материалов, которые могут быть использованы для принятия решения в пользу того или иного объекта.
Целью данной работы является сравнение методов анализа тональности текста и их применение по отношению к текстовым комментариям, оставленным на новостных и информационных порталах, посвященных сравнению банковских продуктов, а также разработка технологии автоматического выявления и оценки мнений. Решение этой проблемы позволит понять, когда клиенты банков удовлетворены или недовольны, в чем заключаются проблемы обслуживания, понять отношение клиентов к банку. Для банковского сектора извлечение такой информации является критичным, в силу высокой конкуренции в этой сфере. В связи с этим тема выпускной работы является актуальной и находит практическое применение.
Задача анализа тональности текста состоит из трех этапов: предварительной обработки текста, перевода текста в вещественное пространство признаков и использования методов машинного обучения для последующей классификации тональности. Предобработка текста - ключевой момент данного процесса, включающий в себя удаление стоп-слов, сегментацию и приведение слов к одной грамматической форме, маркировку частей речи и анализ. Современные алгоритмы машинного обучения, используемые при решении подобных задач, ориентированы на признаковое описание объектов [4]. В связи с этим после предобработки анализируемый текст переводится в вещественное пространство признаков. Для этого чаще всего используются методы, основанные на статистической информации о словах, например, «мешок слов» (bag of words) [5] или Word2Vec [6]. В этом случае каждому объекту соответствует вектор, длина которого равна количеству используемых слов во всех текстах выборки.
Заключительным шагом при анализе тональности текста является выбор подходящих для решения данной задачи алгоритмов машинного обучения. Как правило, анализ мнений на уровне документа может быть сформулирован как проблема классификации, которая определяет, выражается ли положительное, отрицательное или нейтральное мнение. Классификаторы обучаются определять полярности рассматриваемых текстов. Наивный байесовский классификатор [7], энтропийный классификатор [8], метод опорных векторов (SVM) [9], градиентного бустинга [10] являются наиболее часто используемыми моделями.
В представленной работе исследуются существующие в настоящее время методы обработки естественного языка для анализа мнений клиентов банков. В разделе, посвященному обзору литературы, рассматриваются основные подходы и алгоритмы, описанные в литературе и применяемые на каждом из трех этапов решения поставленной задачи. В первой главе описываются общие методы обработки естественного языка, используемые для предварительной обработки текстов. Вторая глава посвящена сравнению двух наиболее популярных методик представления слова в виде вектора фиксированной длины: мешок слов и Word2Vec. В третьей главе исследуются алгоритмы классификации, использованные в данной работе. В четвертой главе представлено описание практической реализации рассмотренных алгоритмов и результаты определения тональности неразмеченных текстов мнений. В разделах выводы и заключение содержатся основные результаты выполненной работы, а также предлагаются возможные пути улучшения качества работы созданной системы.
В ходе данной работы был создан программный продукт, позволяющий проводить анализ тональности отзывов с новостных или информационных веб-ресурсов. Анализ проводился с использованием алгоритма машинного обучения с учителем, в качестве которого был выбран метод градиентного бустинга. Векторная модель текста строилась двумя разными способами: с помощью нейронной сети, лежащей в основе технологии Word2Vec, и с помощью алгоритма TF-IDF (BagOfWords). В итоге были получены следующие результаты по точности определения тональности текста: для модели Word2Vec - 57%, для TF-IDF - 67%. Полученные показатели наглядно демонстрирует, что в случае анализа «живого» языка, при большем количестве исходных данных лучшие результаты показывает классификатор TfidfVectorizer.
Также важно понимать, что на точность прогноза алгоритмов повлияло качество, загруженных с веб-ресурса данных. На сайте не ведется мониторинг соответствия текста отзыва оценке, поставленной автором. Были замечены отзывы, имеющие ярко выраженную позитивную окраску, но оценка стояла самая низкая.
Таким образом, можно сделать вывод, что метод машинного обучения с учителем всецело зависит от качества размеченных данных, а использование неочищенных текстовых источников ведет к получению низкой точности прогноза.
Результатом, полученным в 4 главе, является программный код, который проводит семантический анализ отзывов с веб-ресурса. Анализ был проведен двумя разными способами, мы сделали векторную модель слов с помощью нейронной сети и с помощью алгоритма TF-IDF, полученные результаты (57% и 67% соответственно) очевидно доказывают, что в нашей ситуации, когда мы работает с «живым» языком, большим количеством исходных данных лучше показывает результаты TfidfVectorizer классификатор. Также важно понимать, что на точность прогноза алгоритмов повлияло качество, загруженных с веб-ресурса данных. На сайте не ведется мониторинг соответствия текста отзыва оценке, поставленной автором. Были замечены отзывы, имеющие ярко выраженную позитивную окраску, но оценка стояла самая низкая. Как видим, метод машинного обучения с учителем всецело зависит от размеченных данных и использование неочищенных источников ведет к получению низкой точности прогноза.
1) Лысенко В. Д. Анализ тональности текста для прогнозирования цен на фондовом рынке // Молодой ученый. — 2018. — №22. — С. 420-423. — URL https://moluch.ru/archive/208/51025/
2) Андреева А. Н. Сентимент-анализ брендов в российской блогосфере как инструмент маркетинговых исследований. // "Бренд-менеджмент", #4, 2012 г.с.44-45
3) Kalyani Joshi1, Prof. Bharathi H. N.2, Prof. Jyothi Rao3, STOCK TREND PREDICTION USING NEWS SENTIMENT ANALYSIS // International Journal of Computer Science & Information Technology (IJCSIT) Vol 8, No 3, June 2016
4) Котельников Е. В. ,Клековкина М. В. Автоматический анализ тональности текстов на основе методов машинного обучения.// РОМИП- 2011.
5) Нугуманова А.Б. ,Бессмертный И.А. Обогащение модели Bag of words семантическими связями для повышения качества классификации текстов предметной области.// журнал «Программные продукты и системы» № 2 за 2016 год. с. 89-99
6) Tomas Mikolov, Ilya Sutskever, Kai Chen, Gregory S. Corrado, and Jeffrey Dean. Distributed representations of words and phrases and their compositionality. In Advances in Neural Information Processing Systems 26: 27th Annual Conference on Neural Information Processing Systems 2013. Proceedings of a meeting held December 5-8, 2013, Lake Tahoe, Nevada, United States, pages 3111-3119, 2013.
7) Воронцов К.В. Простые классификаторы. Курс лекций. http: //lpcs.math.msu.su/~pentus/opm/simple classifiers .pdf
8) Е. А. Соколов Решающие деревья //ФКН ВШЭ https://www.hse.ru/mirror/pubs/share/215285956
9) К. В. Воронцов Лекции по методу опорных векторов. Курс лекций. http://www.ccas.ru/voron/download/SVM.pdf
10) А. Дьяконов «Введение в анализ данных и машинное обучение». [стр. 1-14]
11) Е.Р.Горяинова, Т.И.Слепнёва «Методы бинарной классификации объектов с номинальными показателями»// Журнал Новой экономической ассоциации №2(14),C.27-49
12) Morinaga, S., Yamanishi, K., Tateishi, K., Fukushima, T. Mining Product Reputations on the Web // In Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD- 2002). 2002. P. 341-349.
13) Pang B., Lee L., Vaithyanathan S. Thumbs up?: sentiment classification using machine learning techniques // In Proceedings of Conference on Empirical Methods in Natural Language Processing (EMNLP-2002). 2002.
14) Liu H. MontyLingua: An end-to-end natural language processor with common sense, 2004.Available at (accessed 1 February 2005).
15) Turney, P. Thumbs Up or Thumbs Down? Semantic Orientation Applied to Unsupervised Classification of Reviews // ACL‘02. 2002.
...