Введение 5
Постановка задачи 7
Обзор литературы 8
Глава 1. Предметная область 10
1.1 Практическое применение анализа тональности текста 11
1.3 Методы и подходы для задачи анализа тональности текста 13
Глава 2. Задача автоматической классификации текста, существующие алгоритмы 15
2.1 Задача классификации 15
2.2 Представление и обработка данных 16
2.3 Наивный Байесовский классификатор 18
2.4 Метод опорных векторов 19
Глава 3. Существующие системы 22
3.1 Система I-Teco 22
3.1.1 Стадии работы системы I-Teco 22
3.1.2 Тональные словари 23
3.1.3 Глагольные и неглагольные лексемы и коллокации 24
3.1.4 Коллокаций и лексемы 25
3.1.5 Объектно-ориентированный подход 26
3.1.6 Оценка результата 28
3.2 Система определения тональности SentiScan 29
3.2.1 Главные элементы системы 29
3.2.2 Оценка качества работы системы SentiScan 31
3.3 Система Sentiment Analysis Service 33
3.4 Выбор инструмента тональности 35
Глава 4. Практическая реализация 36
4.1 Архитектура приложения для сбора и анализа данных 36
4.2 Используемые системы и инструменты 39
4.3 Пользовательский интерфейс для сбора и анализа данных 43
4.4 Тестирования для приложения «ВКонтакте» 43
4.5 Определения тональности для приложения «Сезам» 45
4.6 Тестирование системы и выводы 47
Вывод 49
Заключение 51
Список цитируемой литературы 52
Приложение
При принятии какого-либо решения человек стремится узнать мнение окружающих людей. До того, как интернет стал обще доступным и популярным, люди собирали рекомендации, относящиеся к различным отраслями обыденной жизни, среди друзей и знакомых. Но с развитием всемирной паутины появилась возможность с помощью интернета находить всю необходимую информацию, касательно различных товаров, услуг, политики и многих других сфер деятельности.
С каждым днем увеличивается количество пользователей интернета, глобальный прирост аудитории сильно заметен в социальных сетях (см. приложение 1). Недавнее исследование, проведенное аналитической компанией «We Are Social» совместно с «Hootsuite», опубликовали следующие результаты :
• В 2018 году количество пользователей всемирной паутины достигло более четырех миллиарда человек, что на 7% больше по сравнению с прошлым годом;
• Социальными сетями пользуются 3.196 миллиардов человек, данный показатель превышает оценку 2017 года на 13%;
• Мобильными устройствами в 2018 году пользуются свыше пяти миллиардов людей, что на 4% больше показателей прошлого года.
В России количество активных интернет-пользователей составляет 87 миллионов человек. Приблизительно 47% населения зарегистрировано в различных социальных сетях, большая часть которых отдает свое предпочтение социальной сети «ВКонтакте».
С увеличением пользователей стали активно развиваться и разрабатываться различные интернет-сообщества, социальные сети, интернет-магазины, а также мобильные приложения.
Необходимо выделить мобильные приложения и социальные сети, которые стали неотъемлемой частью нашего современного общества. При помощи этих ресурсов люди обмениваются новостями, сообщениями высказывают свою точку зрения о различных аспектах жизни.
Всемирно известные организации, компании, университеты разрабатывают свои личные веб-страницы, сообщества, блоги. Они размещают свои товары, услуги, предложения, и решения различных задач, затем, при помощи мониторинга определяется мнение общества о предложенной ими информации.
Учитывая вышеперечисленное, есть потребность в разработке программного обеспечения, для выполнения автоматического анализа предложенной обществом информации для выявления отношения людей к данным товарам и услугам. Чтобы распознать мнение, изложенное пользователем в своем тексте, т.е выявить отрицательную или положительную окраску текста, требуется выполнить анализ тональности текста.
Сентимент анализ (англ. sentiment analysis, анализ тональности текста, эмоциональная окраска текста) — обработка естественного языка (англ. NLP, natural language processing,), цель которого является извлечение эмоционального содержания из текста .
Постановка задачи
Цель данной выпускной квалификационной работы является изучение и сравнение существующих систем и методов для определения тональности русскоязычных текстов в автоматическом режиме. Также одной их задач текущей работы является создание программного обеспечения для анализа данных социальной сети «ВКонтакте» и мессенджера «Сезам».
Для достижения данной цели были поставлены следующие задачи:
1. Изучение одного из направлений обработки естественного языка — анализ тональности текста;
2. Исследовать существующие подходы, методы и системы для обработки русскоязычных текстов и автоматического определения эмоциональной составляющей текста;
3. Провести сравнительный анализ между существующими системами;
4. Разработка программного обеспечения для сбора и анализа данных из социальной сети «ВКонтакте»;
5. Построение графа с зависимостями между сообществами социальной сети «ВКонтакте»;
6. Разработка программного обеспечения с целью определения эмоциональной окраски текста для мессенджера «Сезам»;
7. Разработка пользовательского интерфейса для использования системы определения тональности текста.
В рамках текущей работы была рассмотрена задача автоматического определения тональности текста, исследована предметная область, существующие инструменты и методы для решения поставленной задачи. Реализованы программные обеспечения для автоматизированного сбора данных и проведения анализа тональности текста
В ходе данной работы были решены следующие задачи:
1. Исследование предметной области: существующие методы и подходы для реализации сентимент анализа;
2. Рассмотрены часто используемые алгоритмы и инструменты для классификации данных;
3. Протестировано несколько инструментов для автоматического определения эмоциональной окраски русскоязычного текста;
4. Реализован инструмент для автоматического сбора данных с публичных сообществ социальной сети «ВКонтакте»;
5. Для выявления взаимосвязей между сообществами строится визуальный граф;
6. Полученные данные, по средствам существующих инструментов классифицируются на классы: негативные, позитивные и нейтральные;
7. Разработан пользовательский интерфейс для работы с программным обеспечением;
8. На тестовой выборке из системы обмена сообщениями «Сезам» —
приложение для людей с нарушениями письма или речи, был реализован наивный байесовский классификатор. Полученное программное обеспечение определяет сентимент анализ. Для
использования программы создан простой пользовательский интерфейс.
Учитывая полученные результаты, можно прийти к выводу, что поставленные задачи в текущей работе полностью выполнены.
1. Прикладная и компьютерная лингвистика / Под ред. О. В. Митрениной, И.С Николаева, Т. М. Ландо. Изд. 2-е — М.:ЛЕНАНД, 2017. — 320с.
2. Автоматическая обработка текстов на естественном языке и анализ данных / Под ред. Большакова Е.И., Воронцов К.В., Ефремова Н.Э., Клышинский Э.С., Лукашевич Н.В., Сапин А.С. 2017. — 269с.
3. Bing Liu. Sentiment Analysis and Opinion Mining, Morgan & Claypool Publishers, May 2012 P. 10 - 108.
4. Bing Liu. Sentiment Analysis: A Multi-Faceted Problem // IEEE Intelligent Systems, 2010.
5. Bing Liu. Sentiment Analysis and Subjectivity // Handbook of Natural Language Processing, 2010.
6. Jiang L., Yu M., Zhou M., Liu X., Zhao T. Target-dependent Twitter sentiment classification // Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics, Portland, US. 2011. P. 151-160.
7. Popescu A., Etzioni O. and Opinions from Reviews // EMNLP, 2005.
8. Pang B., Lee L. Opinion Mining and Sentiment Analysis // Foundations and Trends in Information Retrieval, v.2 n.1-2, January, 2008 - P.1-135.
9. Singh P. K., Husain M. S. Methodological study of opinion mining and sentiment analysis techniques // International Journal on Soft Computing (IJSC) Vol. 5, No. 1, February 2014 P. 11 - 22.
10. Dmitry K. // Rule-based approach to sentiment analysis at ROMIP 2011
11. Walaa M., Ahmed H., Hoda K. // Sentiment analysis algorithms and applications: A survey, Ain Shams Engineering Journal 2014 P. 1094 - 1115.
12. Bruse Eckel. Thinking in Java 4th ed. 2006.
13. Andrew L. Maas, Raymond E. Daly, Peter T. Pham, Dan Huang, Andrew
Y. Ng, and Christopher Potts // Stanford University
14. Mr. S.M. Vohra, Prof. J.B. Teraiya // A comparative study of sentiment analysis techniques, journal of information, knowledge and research in computer engineering, issn: 0975 - 6760| nov 12 to oct 13 p. 313-317.
15. Abrahamyan S., Balyan S., Muradov A., Kulabukhova N. and Korkho V.: A Concept of Unified E-Health Platform for Patient Communication and Monitoring // Lecture Notes in Computer Science, 2017. — Vol. 10408, — P. 448-462
16. Abrahamyan S., Balyan S., Muradov A., Vladimir Korkhov, Moskvicheva A., and Jakushkin O. Development of M-Health software for people with disabilities // Lecture Notes in Computer Science, 2016. — Vol. 9787, - P. 468-479
17. Фролов А.В.,Поляков П.Ю., Плешко В.В. Использование семантических категорий в задаче классификации отзывов о книгах// ООО «ЭР СИ О», Москва, Россия РОПИМ 2012.
18. Лукашевич Н.В. Четвёркин И.И. Открытое тестирование систем анализа тональности на материале русского языка // МГУ им. М.В.Ломоносова С. 1 - 9.
19. Е.В. Тутубалина, В.В. Иванов, М.А. Загулова, Н.Р. Мингазов, И.С. Алимова, В.А. Малых. Тестирование методов анализа тональности текста, основанных на словарях // Электронные библиотеки. 2015. Т. 18. № 3-4 139.
20. Абраамян С. А., Балян С. Г., Мурадов А. Г. Программное обеспечение совместного принятия решений на основе мобильных инфраструктур // Процессы управления и устойчивость, 2015. — T. 2, — № 18. — С. 333-339
21. Ю. Лифциц. Классификация текстов. 2005.
22. Ю. Лифшиц. Метод опорных векторов 2006.
23. Аксенов А.В. Анализ тональности текстовых сообщений социальной сети Twitter // Научно-технический журнал «Теория. Практика. Инновации» 2016.
24. Фролов А.В.,Поляков П.Ю., Плешко В.В. Использование семантических категорий в задаче классификации отзывов о книгах// ООО «ЭР СИ О», Москва, Россия РОПИМ 2012.
25. И.И. Четверкин, Н.В. Лукашевич. Тестирование систем анализа тональности на семинаре // Семинар РОПИН 12.
26. И.И. Четверкин, Н.В. Лукашевич. Автоматическое извлечение оценочных слов для конкретной предметной области .
27. Ю. В. Адаскина, П. В. Паничева, А. М. Попов. Использование синтаксиса для анализа тональности твитов на русском языке.
28. Пазельская А. Г., Соловьев А. Н. Метод определения эмоций в текстах на русском языке // "Диалог 2011". — С. 576 - 586.
29. Посевкин Р. В. Практическое применение методов компьютерной лингвистики // Университет ИТМО, г. Санкт-Петербург.
30. Юсупова Н. И., Богданова Д. Р., Бойко М. В. Алгоритмическое и программное обеспечение для анализа тональности текстовых сообщений с использованием машинного обучения // Математическое моделирование, численные методы и комплексы программ, УГАТУ, 2012 Т. 16, № 6 (51). С. 91-99.
31. Учителев Н.В. Классификация текстовой информации с помощью SVM // Кафедра «Предсказательного моделирования и оптимизации» МФТИ, ИППИ РАН.
32. Брунова Е. Г. Автоматизированный контент-анализ мнений трех предметных областей // Тамбов: Грамота, 2014. № 12 (42): в 3-х ч. Ч. II. ISSN 1997-2911 C. 43-47.
33. Котельников Е. В. Клековкина М. В. Автоматический анализ тональности текстов на основе методов машинного обучения .
34. Котельников Е. В. Клековкина М. В. Определение весов оценочных слов на основе генетического алгоритма в задаче анализа тональности текстов // Программные продукты и системы. №4 2013.
35. Осокин В.В., Шегай М.В. Анализ тональности русскоязычного текста
36. How to compute Tf-Idf. Режим доступа: http://www.tfidf.com/. Дата
обращения 03.06.2018.
37. JavaScript Graph Library. Режим доступа: http://www.graphdracula.net/. Дата обращения 03.06.2018.
38. Среда разработки Intellij Idea. Режим доступа: https://www.jetbrains.com/idea/. Дата обращения 03.06.2018.
39. Сервлеты. Режим доступа: http://www.java2ee.ru/servlets/. Дата
обращения 03.06.2018.
40. Vis.js A dynamic, browser based visualization library. Режим доступа: http://www.visjs.org/. Дата обращения 03.06.2018.
41. Описание приложения «Сезам». Режим доступа: https://hi-
tech.mail.ru/news/Sezam_for_Android/. Дата обращения 03.06.2018.
42. API VKontakte Режим доступа: https://vk.com/dev. Дата обращения 03.06.2018
43. API Russian Sentiment Analyzer Режим доступа:
https: //www. mashape .com/dmitrykey/russiansentimentanalyzer. Дата
обращения 03.06.2018.
44. API Indico for sentiment analysis. Режим доступа:
https://market.mashape.com/indico/indico. Дата обращения 03.06.2018.
45. Russian stemming algorithm Режим доступа:
http: //snowball.tartarus. org/algorithms/russian/stemmer.html. Дата обращения 03.06.2018.
46. JavaMail API documentation Режим доступа: https://javamail.java.net/nonav/docs/api/. Дата обращения 03.06.2018
47. Apache Tomcat. Режим доступа: http://tomcat.apache.org/. Дата обращения 03.06.2018
48. Определение тональности и выделение высказываний в тексте на русском языке. Режим доступа: http://ston.apphb.com/index.html/. Дата обращения 03.06.2018
49. Jim Paterson, Stefan Edlich. The Definitive Guideto db4o 2006 P. 71 - 125.
50. JavaScript Object Notation. Режим доступа: https://www.json.org/json- ru.html. Дата обращения 03.06.2018.
51. Библиотека JavaScript, ReactJs. Режим доступа: https://reactjs.org/docs/hello-world.html. Дата обращения 03.06.2018.