Разработка новых методов анализа настроений, анализа текста в социальных сетях для прогнозирования предпочтения пользователей
С быстрым развитием электронной коммерции все больше потребителей размещают отзывы о товарах на интернет-платформах. Столкнувшись с более прямой обратной связью от пользователей, компании столкнулись с серьезной проблемой интеграции информации обратной связи и быстрого реагирования на нее. Рост платформ социальных сетей, таких как Twitter, также предоставил широкую базу данных для анализа общественного мнения и опросов общественного мнения, основанных на онлайн-данных. В отличие от общего анализа настроений, анализ настроений на основе атрибутов или характеристик является более “гранулированным” и нацелен на предоставление серии кратких выражений, основанных на информации из обзоров, для указания предпочтений группы потребителей по каждому атрибуту продукта.
В этой статье мы рассмотрим, какие методы используются в анализе настроений и как они применяются. Сравнивая сильные и слабые стороны этих методов, мы нашли новый способ выполнения задачи анализа настроений с пятью категориями (наша цель – классифицировать комментарии как: очень нравится, нравится, нейтральный, не нравится и очень не нравится).
Введение ………………………………………………………………………………………………………………….. 4
Постановка задачи ……………………………………………………………………………………………………. 5
Введение в процесс эмоционального анализа ……………………………………………………………. 6
1. Языковая модель ……………………………………………………………………………………………. 7
2. Разделение слов……………………………………………………………………………………………… 8
3. Векторизация слов …………………………………………………………………………………………. 9
3.1 Репрезентативность слов ……………………………………………………………………….. 9
3.2 Генерировать векторы слов ………………………………………………………………….. 10
4. Алгоритм анализа настроения ………………………………………………………………………. 12
4.1 На основе правил…………………………………………………………………………………. 13
4.2 Автоматизированные системы ……………………………………………………………… 13
Принцип и конкретные шаги по реализации ……………………………………………………………. 15
Глава 1. Системная среда и инструментарий …………………………………………………….. 15
Глава 2. Доступ к информации …………………………………………………………………………. 16
2.1 Общедоступные наборы данных ………………………………………………………….. 16
2.2 Использование веб-краулеров для сбора данных …………………………………… 17
Глава 3. Правила очистки данных …………………………………………………………………….. 24
3.1 Разведочный анализ …………………………………………………………………………….. 24
3.2 Отсутствующие значения …………………………………………………………………….. 25
3.3 Аномальные данные…………………………………………………………………………….. 26
3.4 Дедупликация ……………………………………………………………………………………… 28
3.5 Обработка шумов (данных о помехах) ………………………………………………….. 28
Глава 4. Инструменты и принципы разделения слов………………………………………….. 29
4.1 Инструмент для разделения слов на английском (русском) языке –NLTK . 29
4.2 Инструмент для разделения китайских слов – jieba ………………………………. 31
Глава 5. GloVe и Bret ………………………………………………………………………………………… 33
5.1 Объяснение принципа word2vec …………………………………………………………… 33
5.2 Объяснение принципа GloVe………………………………………………………………… 37
5.3 Объяснение принципа Bert …………………………………………………………………… 39
Глава 6. Конволюционная нейронная сеть – CNN ……………………………………………… 42
6.1 Входной слой CNN ………………………………………………………………………………. 43
6.2 Конволюционный слой CNN ………………………………………………………………… 44
6.3 Объединяющий слой CNN …………………………………………………………………… 45
6.4 Полностью связанный слой CNN + слой softmax ………………………………….. 47
6.5 Функции потерь и оптимизаторы …………………………………………………………. 47
Выводы ………………………………………………………………………………………………………………….. 49
Заключение…………………………………………………………………………………………………………….. 52
Список литературы…………………………………………………………………………………………………. 53
Анализ настроения текста: также известен как поиск мнений, анализ
тенденций и т.д. Проще говоря, это процесс анализа, обработки, обобщения и
рассуждения о субъективном тексте с эмоциональным подтекстом. Интернет
генерирует большое количество пользовательских комментариев к ценной
информации, такой как люди, события, продукты и так далее. Эти отзывы
выражают различные эмоциональные окраски и тенденции людей, такие как
счастье, гнев, печаль, радость, критика, похвала и так далее. Исходя из этого,
потенциальные пользователи могут просматривать эти субъективные
комментарии, чтобы понять общественное мнение о событии или продукте.
Анализ настроений или поиск мнений – это процесс, с помощью которого
оцениваются мнения, эмоции и отношение людей к таким объектам, как
продукты, услуги и организации. Эта область быстро развивалась и взлетала
благодаря стремительному росту социальных сетей в Интернете, таких как
обзоры продуктов, обсуждения на форумах, твиты и сайты обмена
фотографиями, поскольку впервые в истории человечества такой огромный
объем цифровых данных был зафиксирован в форме. С начала 2000-х годов
анализ настроений стал одним из наиболее активных направлений исследований
в области обработки естественного языка (NLP). Также проводятся обширные
исследования в области интеллектуального анализа данных, интеллектуального
анализа веб-информации, интеллектуального анализа текста и информационного
поиска. Фактически, она распространилась от компьютерных наук до науки
управления и социальных наук, таких как маркетинг, финансы, политология,
коммуникации, медицина и даже история, вызывая общий интерес во всем
обществе из-за своей важности для бизнеса. Такое распространение объясняется
тем, что мнения занимают центральное место в том, что почти все виды
человеческой деятельности в значительной степени заботятся о том, что думают
другие. По этой причине, когда нам нужно принять решение, мы часто
обращаемся к мнению других людей. Это касается не только предприятий, но и
частных лиц.
Сегодня, если человек хочет купить потребительский товар, он больше не
ограничивается тем, что спрашивает мнение своих друзей и родственников,
поскольку в Интернете существует множество пользовательских обзоров и
публичных форумов для обсуждения товаров, где мы можем узнать то, что
хотим знать в обзорах, и, возможно, получить неожиданную выгоду. Для
организации может отпасть необходимость в проведении опросов,
анкетирования и фокус-групп для изучения общественного мнения.
В последние годы мы стали свидетелями того, как статьи, которые
перекраивают имиджи компаний, обсуждают жизнь знаменитостей, вызывают
общественные настроения и эмоции через социальные сети, помимо всего
прочего, оказывают глубокое влияние на наши социальные и политические
системы, и такие статьи мобилизуют изменения в массовой политике. В то
время как мы сетуем на боязливость человеческой речи, мы также должны
признать огромные этические проблемы, которые порождает стремительный
рост социальных сетей. Так появился анализ настроения, который используется
для предотвращения возникновения злонамеренных или ложных событий.
Вообще говоря, цель анализа настроений – выяснить отношение говорящего
или автора к определенным темам или в ответ на полярные точки зрения в
тексте. Это отношение может быть его или ее личным суждением или оценкой,
или это может быть эмоциональное состояние момента (то есть эмоциональное
состояние автора в момент, когда было сделано заявление), или предполагаемая
эмоциональная коммуникация автора (то есть эмоция, которую автор хочет,
чтобы испытал читатель).
В данной работе проводится исследование пяти классификаций для
анализа настроений с использованием GloVe, Bert и CNN.
Результаты показывают, что комбинированная модель GloVe+CNN
является лучшим выбором, чем комбинированная модель Bert+CNN для
решения задачи классификации по пяти признакам для анализа настроений
с ограниченными вычислительными ресурсами.
Я добавил больше слоев объединения в комбинированную модель
Bert+CNN с целью снижения вычислительной нагрузки, но это также влечет
за собой проблему снижения точности.
В своей экспериментальной работе я обнаружил, что решение проблемы
мультиклассификации настроений на основе бесполезных данных является
сложной задачей.
В настоящее время у меня есть два способа решения проблемы
бесполезных данных.
1) Используйте ручной подход для очистки набора данных.
2) Ввести в CNN некоторый механизм, например, механизм “внимания”.
Второй способ – это то, над чем я собираюсь начать работать, механизм
внимания – это способ быстро отфильтровать ценную информацию из
большого количества информации, используя ограниченные ресурсы.
Механизм внимания в глубоком обучении опирается на человеческое
мышление внимания и широко используется в различных типах задач
глубокого обучения, таких как обработка естественного языка,
классификация изображений и распознавание речи, с замечательными
результатами.
В ходе экспериментов по обработке сырых данных я обнаружил, что
многие пользователи любят использовать смайлики (или картинки) для
выражения своих эмоций, но в силу своей собственной неспособности (я не
занимался программированием и алгоритмами машинного обучения до
поступления в Санкт-Петербургский государственный университет), я могу
использовать только очень базовые алгоритмы для построения моделей (моя
модель построена на основе модели для классификации текстов) и не
обладаю способ использования этой информации об изображении. Но
благодаря этому исследованию я понял, где я хочу продолжить свои
исследования. Причина, по которой я выбрал модель CNN, заключается
также в том, что я надеюсь в будущем использовать эмодзи в качестве
признаков для задач анализа настроения.
1. Сергеев С.Л. Архитектуры вычислительных систем. БХВ-Петербург, 2010.
240.
2. Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation
of word representations in vector space. ICLR Workshop, 2013
3. T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean. Distributed
Representations of Words and Phrases and their Compositionality. NIPS 2013
4. Le Q, Mikolov T. Distributed representations of sentences and
documents[C]//International Conference on Machine Learning. 2014: 1188-
1196.
5. Goldberg Y, Levy O. word2vec Explained: deriving Mikolov et al.’s negative-
sampling word-embedding method[J]. arXiv preprint arXiv:1402.3722, 2014.
6. Rong X. word2vec parameter learning explained[J]. arXiv preprint
arXiv:1411.2738, 2014.
7. Pennington J , Socher R , Manning C . Glove: Global Vectors for Word
Representation[C]// Conference on Empirical Methods in Natural Language
Processing. 2014.
8. Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova . BERT: Pre-
training of Deep Bidirectional Transformers for Language Understanding. arXiv
preprint arXiv:1810.04805, 11 Oct 2018 (v1), last revised 24 May 2019 (v2)
9. Bird, Steven, Edward Loper and Ewan Klein (2009).Natural Language
Processing with Python. O’Reilly Media Inc.
10. Fxsjy, jieba, https://github.com/fxsjy/jieba
11. xiao2018bertservice,bert-as-service,XiaoHan,https://github.com/hanxiao/bert-as-
service,2018
12. Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification.
Proceedings of the 2014 Conference on Empirical Methods in Natural Language
Processing (EMNLP 2014), 1746–1751.
13. Zhang, Y., & Wallace, B. (2015). A Sensitivity Analysis of (and Practitioners’
Guide to) Convolutional Neural Networks for Sentence Classification
14. Diederik P. Kingma, Jimmy Ba, 2014/12/22,Adam: A Method for Stochastic
Optimization
15. Zijun Sun, Chun Fan, Qinghong Han, Xiaofei Sun, Yuxian Meng, Fei Wu, Jiwei,
3 Dec 2020, Self-Explaining Structures Improve NLP Models
Последние выполненные заказы
Хочешь уникальную работу?
Больше 3 000 экспертов уже готовы начать работу над твоим проектом!