Введение 4
Постановка задачи 7
Обзор литературы 8
Глава 1. Описание предметной области 10
1.1 Анализ тональности текста 10
1.2 Компьютер меня не понимает 12
Глава 2. Модели для построения векторного представления 16
2.1 «Мешок слов» 16
2.2 Word2Vec 18
2.3 Doc2Vec 22
Глава 3. Классификация 25
3.1 Рекуррентные нейронные сети 25
3.2 SVM (support vector machine) - метод опорных векторов 33
3.3 Random forest - случайный лес 35
3.4 Оценка эффективности модели 36
Глава 4. Экспериментальная часть 38
4.1 Данные 38
4.2 Словарь тональности 41
4.3 LSTN-RNN 42
4.4 «Мешок слов» 43
4.5 Word2vec 44
4.6 Doc2Vec 50
4.1 Обучение классификатора 52
Выводы 56
Заключение 57
Список литературы 59
Приложение 60
Человек - существо феноменальное, но вся его уникальность кроется в мозге. Этому серому веществу подвластно абсолютно все: от простейших математических примеров до неизведанных границ. Но, к сожалению, люди не вечны, также они не могут постоянно работать без отдыха; уставший человек теряет внимательность и может совершить ошибки даже в самых простых задачах.
На дворе век информационных технологий, компьютеры могут многое, в чем-то даже превосходят человеческие возможности. Но научить машину думать, как человек, - мы к этому только стремимся!
При рождении ребенка мозг имеет совершенную структуру, благодаря которой создаются собственные правила под воздействием опыта. Накопление опыта идет постоянно, наиболее сильные изменения происходят в первые годы жизни ребенка. Однако развитие продолжается до последних дней жизни человека. Это обусловлено пластичностью мозга - способностью настройки нервной системы в соответствии с окружающими условиями. Именно эта функция играет важную роль в работе нейронов в качестве единиц обработки информации в мозге человека.
В середине прошлого столетия началось распространение и изучение искусственных нейронных сетей, начало которым было дано в статье 1943г. McCalloch W.S., Pitts W. «A logical calculus of the ideas immanent in nervous activity».
Основной идеей создания искусственных нейронных сетей стала аналогия с устройством нейронной сети в человеческом мозге, то есть вся работа осуществляется при помощи нейронов. В общем случае нейронная сеть представляет собой модель человеческого мозга, решающую поставленную задачу.
Нейронная сеть - это громадный распределенный параллельный процессор, состоящий из элементарных единиц обработки информации, накапливающих экспериментальные знания и предоставляющих их для последующей обработки. Нейронная сеть сходна с мозгом с двух точек зрения:
- знания поступают в нейронную сеть из окружающей среды и используются в процессе обучения;
- для накопления знаний применяются связи между нейронами, называемыми синаптическими весами.
Основой данной работы является исследование методов глубинного изучения (deep learning)с использованием нейросетевых моделей для решения задач обработки текстов. Для того чтобы проводить исследования, необходимо сначала перевести естественный язык в понятный для компьютера формат, в данном случае - числовой. Для представления слов и документов в векторном виде будем использовать различные модели, такие как «мешок слов» (Bag of Words), Word2Vec, Doc2Vec.
В качестве примера обработки текста была выбрана задача определения тональности рецензий пользователей сервиса Kinopoisk. Определение тональности текстов является весьма актуальной задачей. Ежедневно тысячи пользователей штудируют Интернет в поисках мнений о том или ином товаре, услугах организаций и прочее. Отзывы помогают определиться с выбором не только людям, но и компаниям, что также полезно. При помощи отзывов организация может судить о качестве своей работы. Естественно, не стоит забывать о более глобальных задачах, например, исследование политических настроений в преддверии выборов или оценка существующей власти.
Задача подразумевает обучение классификаторов на имеющемся множестве размеченных данных, которые будут разделены на два подмножества: обучающее и тестовое. Каждое подмножество представлено в виде текста рецензии на русском языке и оценки, несущей позитивный или негативный мотив.
В данной работе проводилось исследование методов глубинного изучения и их применение к задачам обработки текстов. Был произведен обзор современных методов машинного обучения, основанных на применении многослойных нейронных сетей. Для сравнения были получены результаты, основанные на традиционном подходе, для определения тональности текстов - метод, основанный на словаре. Данный подход является неуниверсальным, так как требуется очень много размеченных данных, также тональность слов может меняться в зависимости от контекста. Другие рассмотренные модели используют векторное представление слов или документов. Наиболее популярная и эффективная модель «мешок слов» показала очень хорошие результаты, но расширение корпуса приведет к увеличению вычислительной сложности. Если этого не делать, то при поступлении новых данных, будет падать точность алгоритма. Безусловно, работа нейросетевых моделей, показала очень хороший результат. К более традиционным моделям относится рекуррентная нейронная сеть LSTM,но неясно, насколько хорошо будет работать данная структура на незнакомых данных. Другой моделью является Word2Vec,которой в основном и была посвящена работа, имеющая преимущества перед остальными. Модель Word2Vecимеет на выходе связанные синтаксически и семантически векторные представления слов. Для сравнения различных методов определения тональности текстов в работе использовались рецензии к фильмам пользователей сервиса Kinopoisk.Полученные результаты, представленные на Рис. 18, практически идентичны для «мешка слов», Word2Vecи LSTM-RNN,но преимущество отдается Word2Vec,так как данная модель существенно понижает размерность вектора признаков, а также уменьшает вычислительные затраты при обучении. Также существует более общая модель для векторного представления слов - Doc2Vec,которая не только словам сопоставляет векторы, но и документам, поскольку достаточно часто для применения различных методов машинного обучения требуется векторное представление для данных переменной длины.
Можно сделать основной вывод данной работы - нейросетевые модели являются передовыми в области обработки текстов на естественном языке.
1. Christopher Olah. Understanding LSTM Networks.http://colah.github.io
2. Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean. Efficient Estimation
of Word Representations in Vector Space. // In Proceedings of Workshop at International Conference on Learning Representations (ICLP) - 2013,
http: //arxiv.org/abs/1301.3781
3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, Jeffrey Dean.
Distributed Representations of Word and Phrases and their Compositionaly. // In Proceedings of Workshop at The Twenty-seventh Annual Conference on Neural Information Processing Systems (NIPS) - 2013,
http://arxiv.org/abs/1310.4546
4. Tomas Mikolov, Quoc Le. Distributed Representations of Sentences and
Documents. // In Proceedings of Workshop at The 31st International Conference on Machine Learning (ICML) - 2014,
http: //j mlr.org/proceedings/papers/v32/le 14 .pdf
5. Simon Haykin. Neural Networks a Comprehensive Foundation. Hamilton, Ontario, Canada, Pearson Education, Inc., 1999.
6. http: //www.kinopoisk.ru
7. http://linis-crowd.org