Введение 4
Постановка задачи 7
Обзор литературы 8
Глава 1. Обзор предметной области 9
§1. Анализ тональностей 9
1.1. Сущность анализа тональностей 9
1.2. Виды классификации тональностей 9
1.3. Алгоритмы анализа тональностей 10
1.4. Оценка качества анализа тональностей 12
§2. Извлечение мнений 13
2.1. Сущность извлечения мнений 13
2.2. Общая модель объекта 13
2.3. Виды мнений 14
§3. Уровни, на которых проводится сентимент-анализ 15
§4. Задачи сентимент-анализа 15
§5. Применение 16
§6. Обзор существующих готовых решений 16
Глава 2. Проектирование системы, выполняющей сентимент-анализ 18
§1. Конкретизация задачи 18
§2. Входная коллекция 19
§3. Начальные категории 20
3.1 Построение начальных категорий 20
3.2 Алгоритмы пополнения начальных категорий 21
3.3 Пополнение начальных категорий 23
§4. Тональные словари 23
§5. Общий алгоритм решения задач 23
Глава 3. Реализация системы, выполняющей сентимент-анализ 26
§1. Реализация системы 26
§2. Оценка качества 26
§4. Выводы 31
Заключение 33
Список литературы 34
Дополнительные ссылки 36
Приложение 37
Человек априори не может знать все на свете. Часто в жизни проиcходят ситуации, когда необходимо получить информацию или сделать тот или иной выбор в области знаний, о которой индивид практически ничего не знает. Именно тогда и приходится обращаться к сторонней помощи. Если раньше, еще несколько десятков лет назад, мы обращались за традиционным советом к своим друзьям, близким, знакомым, то теперь все изменилось. С бурным развитием информационно-вычислительных технологий и, в частности, глобальной паутины Интернет, для поиска необходимой информации и помощи в выборе чего-либо появилась достойная альтернатива.
Казалось бы, в век современных технологий что может быть проще, чем послать запрос поисковой машине, а она, в свою очередь, выдаст ответы на все вопросы пользователя. Но действительно ли такие инструменты поиска помогают в полной мере удовлетворить информационную потребность человека? Из-за огромного количества разнообразного контента в мировом вебе, стремительно растущего с каждым днем, очень часто релевантная информация теряется среди мегабайт бесполезных данных. К тому же традиционный информационный поиск и веб-поиск, в частности, не всегда помогает в нахождении сторонних мнений для принятия собственного решения.
Вместе с этим, последнее десятилетие характеризуется ростом популярности различных социальных систем: блогов (пр.: Livejournal , Twitter ), форумов (огромное количество тематических сообществ, пр.: Трипадвизор - форум путешественников, Киберфорум - форум программистов), социальных сетей (пр.: ВКонтакте , Facebook , Instagram ), интернет-сервисов, аккумулирующих мнения о том или ином объекте (пр.: Яндекс.Маркет , Кинопоиск , Amazon ). Ежедневно пользователи подобных ресурсов размещают множество сообщений, материалов, высказывают мнение о том или ином объекте. На основании подобных комментариев человек может сделать вывод о том, пользоваться или нет интересующей услугой, покупать или нет нужный продукт. На данный момент, несмотря на всю полезность такого подхода к мониторингу мнений, существует ряд серьезных недостатков: сложности в ручной обработке огромных объемов данных, нахождении мнений и их эмоциональной оценки, приведении результата к удобной форме.
Исходя из выше сказанного, появляется необходимость в создании системы автоматического нахождения и анализа мнений. Подобная задача ставится в дисциплине, которая находится на стыке информационного поиска и компьютерной лингвистики - анализ тональности текста и извлечение мнений (англ. sentiment analysis & opinion mining, также употребим термин сентимент-анализ). Сентимент-анализ - система автоматического получения из текстов эмоционально окрашенной лексики и мнений по отношению к объектам, речь о которых идет в тексте. Тональностью называется эмоциональное отношение автора высказывания, к некоторому объекту, выраженное в тексте. Под мнением будем понимать эмоциональную оценку чего-либо (формальное определение вводится в главе 1, §2).
Как понятно из полного названия предмета сентимент-анализа, всю дисциплину можно разделить на две большие части. Первая - анализ тональности текста, которая зачастую ставит перед собой задачу классификации корпуса документов на основе найденных в них тональностей. Вторая часть - извлечение мнений, обычно ставит перед собой целью выделить все мнения об интересующих нас объектах из корпуса документов.
Задачи обоих блоков сентимент-анализа возникли сравнительно недавно, поэтому работа над ними продолжается. Несмотря на наличие существующих инструментов и платформ, позволяющих определять не только тональность сообщений в социальных медиа, но и выявлять обсуждаемые темы, проводить анализ мнений о брендах, а также анализировать некоторые другие параметры, единого точного алгоритма решения данной задачи не существует. Следовательно, все еще актуальна задача построения системы извлечения мнений и анализа тональностей.
В ходе данной работы была спроектирована и реализована система, выполняющая анализ тональностей и извлекающая мнения из корпуса документов, несущих эмоциональную окраску.
В качестве базового подхода к решению был выбран метод, использующий исключительно тональные словари. Именно этим подходом и обуславливаются относительно низкие показатели при выполнении оценки качества работы системы.
Наиболее очевидным способом улучшения разработанного сервиса является добавление к тональному подходу правил, основанных на морфологическом разборе. Кроме того, можно обратить внимание и на довольно популярные методы, основанные на машинном обучении.
1) Котельников Е.В., Клековкина М.В. Автоматический анализ тональности текстов на основе методов машинного обучения // РОМИП. 2011.
2) Крижановский А.А. Автоматизированное построение списков семантически близких слов на основе рейтинга текстов в корпусе с гиперссылками и категориями // Компьютерная лингвистика и интеллектуальные технологии. Труды международной конференции «Диалог 2006». Бекасово, 2006. C. 297-302.
3) Лукашевич Н.В., Четверкин И.И. Построение модели для извлечения оценочной лексики в различных предметных областях // Моделирование и анализ информационных систем. 2013. С. 70-79.
4) Пазельская А. Г., Соловьев А. Н. Метод определения эмоций в текстах на русском языке // Компьютерная лингвистика и интеллектуальные технологии. Труды международной конференции «Диалог-2011». М.: Изд-во РГГУ, 2011. С. 510-522.
5) Худякова М.В., Давыдов С., Васильев В.Г. Классификация отзывов пользователей с использованием фрагментных правил // РОМИП. 2011.
6) Blondel V., Senellart P. Automatic extraction of synonyms in a dictionary. // In Proceedings of the SIAM Workshop on Text Mining. Arlington (Texas, USA): 2002.
7) Dave D., Lawrence A., Pennock, D. Mining the Peanut Gallery: Opinion Extraction and Semantic Classification of Product Reviews. // Proceedings of International World Wide Web Conference (WWW‘03). 2003.
8) Hu M., Liu, B. Mining and Summarizing Customer Reviews // Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD‘04). 2004.
9) Jindal N., Liu B. Mining and Summarizing Customer Reviews // Proceedings of National Conference on Artificial Intelligence (AAAI‘06). 2006.
10) Joachims T. Making large-scale SVM learning practical // In B. Schölkopf, C. J. C. Burges, & A. J. Smola (Eds.), The MIT Press, 1999.
11) 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.
12) Liu. B. Sentiment Analysis and Subjectivity // In N. Indurkhya& F. J. Damerau. (Eds.). 2010.
13) Liu, B. Web Data Mining // Springer. 2007. P. 433.
14) Liu H. MontyLingua: An end-to-end natural language processor with common sense. 2004.
15) Manning C., Raghavan P., Schütze H. Introduction to Information Retrieval. Cambridge University Press, 2008.
16) Pang B., Lee L. Seeing stars: exploiting class relationships for sentiment categorization with respect to rating scales // In Proceedings of the 43rd annual meeting of the Association for Computational Linguistics (ACL). 2005. P. 115–124.
17) 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.
18) Snyder B., Barzilay R. Multiple Aspect Ranking using the Good Grief Algorithm // Proceedings of the Joint Human Language Technology/North American Chapter of the ACL Conference (HLT-NAACL). 2007. P. 300–307.
19) Su F., Markert K. From Words to Senses: a Case Study in Subjectivity Recognition // Proceedings of Coling. Manchester, UK: 2008.
20) Thelwall M., Buckley K., Paltoglou G., Cai D., Kappas A. Arvid Sentiment strength detection in short informal text // Journal of the American Society for Information Science and Technology. 2010. P. 2544-2558.
21) Turney, P. Thumbs Up or Thumbs Down? Semantic Orientation Applied to Unsupervised Classification of Reviews // ACL‘02. 2002.
22) Wogenstein F., Drescher J., Reinel D., Rill S., Scheidt J. Evaluation of an algorithm for aspect-based opinion mining using a lexicon-based approach // Proceedings of the Second International Workshop on Issues of Sentiment Discovery and Opinion Mining. 2013.
Дополнительные ссылки
23) ВААЛ – система контекст-анализа текста. http://www.vaal.ru/
24) Google Word2Vec. https://code.google.com/archive/p/word2vec/
25) Sentiment140 – sentiment analysis platform. http://www.sentiment140.com/
26) Stanford Demo for predicting sentiment of movies reviews. http://nlp.stanford.edu/sentiment/
27) YandexMystem. https://tech.yandex.ru/mystem/
28) 30dp – opinion search platform. https://www.30db.com/
29) W2V models – http://panchenko.me/rsr/