Введение 3
Постановка задачи 6
Обзор литературы 7
Глава 1. Существующие подходы к задаче анализа тональности текста 8
1.1. Методы обучения без учителя 8
1.2. Методы обучения с учителем 8
1.2.1. Наивный байесовский классификатор 9
1.2.2. Метод максимальной энтропии 9
1.2.3. Метод опорных векторов 10
1.3. Анализ и сравнение методов 11
Глава 2. Архитектура нейронной сети 13
2.1. Рекуррентные нейронные сети 13
2.2. Архитектура «долгая краткосрочная память» 14
2.3. Модель нейронной сети для задачи анализа тональности текста 17
Глава 3. Реализация 19
3.1. Предварительная обработка данных 19
3.2. Реализация нейронной сети 19
Глава 4. Количественная оценка метода 21
Выводы 22
Заключение 23
Список литературы 24
За последние десятилетие количество пользоваетелей сети Интернет увеличилось в 3 раза1. За это время Интернет сильно преобразился — на место статичным страницам, редактируемым одним человеком, пришли страницы, где любой человек может что-то написать, что-то прокомментировать — грань между потребителями и создателями контента начала стираться.
Пользователи создают огромное число различных материалов: записи в форумах и блога, «статусы» в социальных сетях, фотографии и видео на специализированных ресурсах и многое другое. С течением времени появилось несколько крупных сайтов, собирающих мнения про, например, товары, фильмы, книги; вот некоторые из них: Amazon2, Metacritic3, IMDB4. Некоторые из них даже входят в 500 самых посещаемых сайтов5 сети Интернет. Прежде чем отдать предпочтение одному из товаров, у человека появилось возможность узнать мнение остальных людей, которые владеют этим товаром. Количество таких мнений огромно, что позволяет человеку узнать все необходимое и лишь затем сделать выбор. Но с течением временеми отзывов стало слишком много — изучить все отзывы на какой- либо популярный товар является невыполнимой задачей для одного человека. Для производителей товаров это стало особо важно — иногда есть необходимость следить за отзывами, а держать большой отдел экспертов- лингвистов, который осуществлял бы мониторинг отзывов и оценивал их — экономически невыгодно. Эта ситуация является причиной появления такого предмета, как анализ мнений: была острая необходимость в создании системы классификации мнений с минимальным участием людей.
Анализ мнений включает в себя несколько задач, направленных на решение одной и той же проблемы — качественная оценка отношения автора текста к субъекту, который рассматривается в этом же тексте. Из конкретных задач, которые входят в анализ мнений, можноо выделить такие задачи, как: оценка субъективности или объективности текста по отношению к субъекту, классификация отношения автора к субъекту. Последняя задача называется задачей анализа тональности текста и является фундаментальной в анализе мнений — чтобы делать какие-то дальнейшие выводы про мнение, необходимо сперва понять, как автор относится к субъекту.
Задача анализа тональности текста сводится к задаче класификации. Текст нужно отности к одному из классов эмоциональной окраски, например, «положительный», «отрицательный» или «нейтральный». В общем случае, число классов конечное. Классификаторы могут работать как с исходными данными(например, целым текстом, отдельными предложениями, отдельными словами текста, n-граммами), так и с некоторыми векторными представлениями текста или слов(например, мешок слов [1]). Иногда классификация происходит в два этапа и на обоих этапах является бинарной. На первом отделяются субъективные сообщения от объективных. Объективными в этом случае называются как раз те, которые не несут эмоциональной окраски и являются нейтральными в варианте с тремя классами. Второй этап делит субъективные тексты на положительные и отрицательные. Получается, что решение задачи тональности текста с 3 классами, решает в один этап и задачу оценки субъективности или объективности.
За последние годы искуственные нейронные сети доказали свою эффективность для многих задач. Так, нейронные сети могут выделять отдельные гитарные аккорды в музыке [2], распознавать цифры [3] и другие объекты на изображениях [4].
Искусственной нейронной сетью называется математическая модель, построенная по принципу организации и функционирования биологических — сетей нарвных клеток живых организмов. Это модель была получена в середине XX века при попытке смоделировать процессы, протекающие в человеческом мозге. Искусственная нейронная сеть состоит из соединенных между собой «нейронов», каждому из которых присвоена определенную функцию активации. По соединениями между нейронами распространяте- ся сигнал. Каждое соединение между нейронами имеет численное значение, которое называется весом. Состояние нейрона определяется по формуле S = Е Li xiwi, где n — число входов нейрона, xi — значение входа i-ого нейрона, wi — вес у i-ого входа. Для дальнейшего распространения сигнала, над состоянием применяется функция активации и полученное значение передается остальным нейронам. Визуально нейронную сеть можно представить в виде взвешенного направленного графа, где вершины будут нейронами, а ребра — связями. Процесс обучения нейронной сети заключается в нахождении всех весов связей.
Рис. 1: Двухслойный перцептрон с 2 входными и 1 выходным нейронном. Зеленым цветом обозначены входные нейроны, голубым — скрытые нейроны, желтым — выходные нейроны.
Нейронные сети классифицируют на 2 класса: нейронные сети прямого распространения сигнала и нейронные сети с обратными связями. Одним из наиболее распространенных типов нейронной сети прямого распространения сигнала является многослойный перцептрон, его пример представлен на рисунке 1. К нейронным сетям с обратными связами относят рекуррентные нейронные сети. Рекуррентные нейронные сети показывают хорошие результаты во многих задачах связанных с классификацией последовательностей, например, распознание речи [5] и подавление шума [6]. Помимо этого, рекуррентные нейронные сети показывают одни из лучших результатов на данный момент в некоторых задачах связанных с обработкой текста на естественном языке, например, в задаче классификации текста [7].
Целью данной работы было применение рекуррентных нейронных сетей к задаче анализа тональности текста и сравнение полученных результатов с результатами существующих подходов к этой задаче.
Задача анализа тональности текста является одной из наиболее интересных задач в обработке естественного языка на данный момент. До сих пор нет ни одного метода, который бы полностью решал данную задачу. Проблемы, которые ранее стояли перед исследователями, занимавшимися данной задачей, ушли в прошлое, на место им пришли новые. Скорее всего и в дальнейшем весь прогресс в этой задаче будет итеративным — исследователи будут решать одни проблемы, на смену которым придут другие. Так, например, одна из проблем в задаче анализа тональности текста сейчас — сарказм, поскольку все существующие методы не учитывает возможный саркастичный настрой автора отзыва. Выделение сарказма в тексте даже сформировалось в отдельную задачу классификации текстов. Это довольно сложная и интересная задача, поскольку даже люди не всегда могут распознать сарказм. Впрочем, в прошлом году эта задача была формализована и был описан подход к ее решению [29], который показывает хорошие результаты. За последние годы анализ текста на естественном языке продвинулся довольно далеко вперед, и не исключено, что в обозримом будущем подобные задачи будут полностью решены.
В качестве продолжения данной работы можно рассмотреть применение векторного представления слова word2vec [30] или sentence2vec [31] в качестве альтернативы векторного представления мешок слов. Эти представления позволили улучшить результат работы методов классификации в задаче классификации текстов, поэтому вполне возможно, что они позволят улучшить и результаты, полученные в данной работе. Также можно сформулировать и решить задачу классификации мнений на субъективные и объективные, дополнить полученную архитектуру неиронной сети так, чтобы одновременно решались и задача анализа тональности, и задача классификации мнений.
[1] Zhang Y., Jin R., Zhou Z.-H. Understanding bag-of-words model: a statistical framework. // International Journal of Machine Learning and Cybernetics, 2010. Vol. 1. P. 43 - 52.
[2] Boulanger-Lewandowski N., Bengio Y., Vincent P. Audio chord recognition with recurrent neural networks // Proceedings of the 14th International Society for Music Information Retrieval Conference, 2013. P. 335 - 340.
[3] LeCun Y., Bottou L., Bengio Y., Haffner P. Gradient-based learning applied to document recognition // Proceedings of the IEEE, 1998. Vol. 81, Issue 11. P. 2278 - 2324.
[4] Krizhevsky A., Sutskever I., Hinton G. ImageNet Classification with Deep Convolutional Neural Networks // Advances in neural information processing systems, 2012. P. 1097 - 1105.
[5] Watanabe Z., Erdogan S., Hershey H., Chen Z., Watanabe S., Erdogan H., John R. Hershey // Integration of Speech Enhancement and Recognition using Long-Short Term Memory Recurrent Neural Network, 2015.
[6] Chen X., Liu X., Gales M.J.F., Woodland P.C. Recurrent neural network language model training with noise contrastive estimation for speech recognition. //In Acoustics, Speech and Signal Processing (ICASSP), 2015. P. 5411 - 5415.
[7] Lai S., Xu L., Liu K., Zhao J. Recurrent Convolutional Neural Networks for Text Classification. // AAAI, 2015. P. 2267 - 2273.
[8] Turney P.D. Thumbs up or thumbs down?: semantic orientation applied to unsupervised classification of reviews // Proceedings of the 40th annual meeting on association for computational linguistics. Association for Computational Linguistics, 2002. P. 417 - 424.
[9] Pang B., Lee L., Vaithyanathan S. Thumbs up?: sentiment classification using machine learning techniques // Proceedings of the ACL-02 conference on Empirical methods in natural language processing. Association for Computational Linguistics, 2002. Vol. 10. P. 79 - 86.
[10] Tan S., Cheng X., Wang Y., Xu H. Adapting naive bayes to domain adaptation for sentiment analysis // Advances in Information Retrieval, 2009. P. 337 - 349.
[11] dos Santos C.N., Gatti M. Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts // COLING, 2014. P. 69 - 78.
[12] Glorot X., Bordes A., Bengio Y. Deep sparse rectifier neural networks // International Conference on Artificial Intelligence and Statistics, 2011. P. 315 - 323.
[13] Murphy K.P. Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series). The MIT Press, 2012. ISBN: 0262018020.
[14] Manning C.D., Schutze H. Foundations of statistical natural language processing. MIT press, 1999.
[15] Nigam K., Lafferty J., McCallum A. Using maximum entropy for text classification // IJCAI99 workshop on machine learning for information filtering, 1999. P. 61 - 67.
...