Введение 3
Актуальность 5
Инструменты 6
Цель работы 8
Постановка задачи 9
Практическая значимость 10
Глава 1. Обзор существующих решений 11
1.1. Технологический обзор 11
1.2. Обзор существующих методов анализа 12
Глава 2. Разработка программного комплекса 13
2.1. Объекты взаимодействия 13
2.2. Проектирование архитектуры 15
2.3. Поиск релевантных источников 18
2.4. Извлечение пользовательского контента 19
2.5. Предварительная обработка данных 20
2.6. Методы анализа 22
2.7. Визуализация 24
2.8. Апробация 28
Заключение 30
Список литературы
Термин Web 2.0 впервые был использован в статье «Tim O’Reilly — What Is Web 2.0» от 30 сентября 2005 года. Под этим термином подразумевалась общая тенденция развития интернет-сообщества. Суть отражается комплексным подходом к организации, реализации и поддержке Web-ресурсов. Сейчас под сетями Web 2.0 понимают сети, которые путём учёта сетевых взаимодействий становятся тем полнее, чем больше людей ими пользуются. Таким образом особенностью Web 2.0 является принцип привлечения пользователей к наполнению.
К сетям Web 2.0 в первую очередь относятся социальные сети, системы мгновенного обмена сообщениями (далее мессенджеры) и форумы. Но подходы Web 2.0 распространены также и в сетях, не ставящих своей целью обмен пользовательским контентом, например, онлайн-магазины и новостные сервисы. В данных сетях используют такие подходы Web 2.0, как возможность оставлять комментарии, писать свои посты, заполнять профиль, подписываться на каналы, отправлять сообщения, составлять собственную новостную ленту и т.д.
Наибольшее распространение получили социальные сети. Они различаются типом контента и способами взаимодействия пользователей. Но основным принципом остаётся наполнение пользовательским контентом. Такой подход получил название User Generated Content (UGC). Пользователи помимо генерации контента могут выражать свои эмоции (оставлять реакции под постами), присоединяться к сообществам (подписываясь на каналы или вступая в чаты), выражать собственное мнение (используя упоминания, цитирование, репосты и комментарии).
Все вышеперечисленные способы взаимодействия поддаются анализу. Пользователи в процессе взаимодействия друг с другом создают дискуссию, определяют её тональность, выражают проблематику, связывают с другими темами. В таком обсуждении уже можно выделить лидеров мнений, стороны обсуждения, объект дискуссии, общую заинтересованность или остроту проблемы. Участники дискуссии могут неосознанно выражать собственную точку зрения, либо наоборот: манипулировать мнением других людей, преследуя определённые цели и мотивы.
Проанализировав такую дискуссию можно получить важную информацию о текущем положении дел или общее отношение пользователей к конкретной тематике, продукту, событию или идее. Более того, разнообразие подходов для взаимодействия даёт возможность составить географическую карту настроения пользователей. К таким подходам относятся гео-чаты (чаты привязанные к геопозиции), локальные чаты (чаты сообществ и муниципалитетов) и геометки конкретных постов.
Получение списка пользователей сообществ даёт возможность найти пересечение интересов пользователей, скрытые сообщества и источники мнений, перетекающих из одного обсуждения в другое. Анализ активности и взаимодействия с другими пользователями может указать на транслирование определённой информации, преследуя личные мотивы, распространение пропаганды или «вбросов» — заведомо ложной информации, в целях создания общей паники, распространению продукта или в иных целях.
Граф связей сообщений позволяет выделить объект обсуждения, определить взаимосвязанные дискуссии. В определённых случаях «боль» пользователя и источник его утверждений можно определить лишь выделив частную дискуссию или «идущую параллельно», т.е. дискуссию по другой тематике, имеющей косвенную связь с текущей.
Актуальность
Рынок сетей Web 2.0 уже занимает неотъемлемую часть жизни пользователей сети Интернет и продолжает увеличиваться. По данным аналитического сервиса SimilarWeb на 1 апреля 2020 года социальная сеть Facebook является самым посещаемым сайтом в категории «Social Networks and Online Communities», занимая 3 место в мире в общем рейтинге веб-сервисов, уступая поисковой системе Google и видеохостингу YouTube [1].
Важно отметить активность Web 2.0. Только с 2013 по 2019 год было зарегистрировано более 2 миллиардов уникальных пользователей в социальных сетях [2]. А количество активных пользователей Facebook насчитывает более 2,6 миллиарда ежемесячно по данным на первый квартал 2020 года [3].
Не менее важным игроком в Web 2.0 являются мессенджеры. В последнее время они активно набирают популярность, так например, Facebook принял решение разделить социальную сеть и мессенджер. Общение внутри Facebook происходит с помощью специального мессенджера Messenger, который занимает второе место в мире в категории «Мессенджеры». Первое место занял WhatsApp [4].
Мессенджеры к настоящему моменту уже занимают первое место среди приложений по среднему дневному охвату на мобильных устройствах, социальные сети на втором месте. При этом по количеству времени, проведённому внутри приложения, социальные сети лидируют со средним показателем 52 минуты на пользователя в день [5].
Инструменты
Многие современные мессенджеры ставят целью создание целой экосистемы благодаря реализации базового функционала. Так например, мессенджер WeChat, лидер китайского рынка, позволяет проводить денежные операции, оформлять ряд документов, обрабатывать фотографии, подтверждать личность при пересечении границы между материковым Китаем и Гонконгом вместо паспорта, знакомиться со случайными людьми. Также в мессенджере доступен сервис машинного перевода. Количество пользователей WeChat на первый квартал 2020 года составляет 1,2 миллиарда [6].
Одним из наиболее распространённых мессенджеров с развитой архитектурой для интеграции таких возможностей является Telegram. Прирост пользователей Telegram за последний год составил 100 миллионов пользователей, с общим числом в 400 миллионов (по данным на 24 апреля 2020 года) [7]. Уже в 2016 году пользователями ежедневно отправлялось 15 миллиардов сообщений [8].
С помощью специальных средств в Telegram возможно создавать группы, «супергруппы», каналы, геочаты, есть возможность привязывать чаты к каналам, реализована сущность «бот», возможно оставлять сообщения с геолокацией, подписями, создавать собственные реакции к постам, оставлять комментарии, обращаться к конкретным пользователям, ссылаться на сообщения или пересылать их, реализована система распределения прав в каналах и группах.
Особенно интересны возможности API, именно это подтолкнуло данный мессенджер к интенсивному развитию, так как простой интерфейс с широким спектром возможностей позволяет создавать боты всевозможных форматов. Для упрощения взаимодействия с пользователями компании используют ботов в Telegram, что позволяет заменить собственные приложения и сервисы. Показательным примером такой компании является проект «Карта Города», поддерживаемый Администрацией Санкт-Петербурга. Внутри бота можно оплачивать проезд в метро и другом общественном транспорте, получать скидки и аналитику по проезду.
Именно благодаря глубокой интеграции ботов в процесс общения, Telegram открывает широкий выбор форматов взаимодействия пользователей. Это позволяет сложить более целостную картину при анализе дискуссий. Так например, возможность оставлять реакции реализуется с помощью специального бота, в котором возможно создавать уникальные реакции под каждое сообщение. Подобный подход внедрил Facebook в 2016 году, добавив помимо реакции «Нравится» ещё 5 новых реакций, которые зависят от содержимого поста.
Важным фактором при выборе сети для анализа дискуссий была открытость сети для получения пользовательского контента. Telegram позволяет реализовывать ботов, которые могут извлекать посты за весь период существования каналов и чатов, производить гибкий поиск по запросу, а также мессенджер не имеет жёстких ограничений API. Аналитики отмечают высокую активность русскоговорящей аудитории. Вокруг Telegram сформировалось целое сообщество. Чаты с открытым обсуждением достигают 100 000 пользователей.
По данным показателям Telegram соответствует всем необходимым требованиям для сбора данных и проведения анализа дискуссий. Сообщество активно поддерживает развитие мессенджера, а уже существующие возможности позволяют анализировать сети Web 2.0. По сравнению с мессенджерами в социальных сетях не так развита инфраструктура для массового общения большого количества пользователей в чатах.
Цель работы
Целью данной работы является исследование методов и инструментов для анализа пользовательских дискуссий в сетях Web 2.0 на примере Telegram и выявление скрытой семантически значимой информации о предмете дискуссии и пользователях, влияющих на неё.
Решение обозначенной глобальной цели будет способствовать выявлению кибербулинга, мошенничества, реакционно настроенных сообществ и террористических группировок.
Анализ мессенджеров важен для бизнеса, так как там общается целевая аудитория — потенциальные и действующие клиенты. Направление мессенджер-маркетинг это важная часть общего интернет-маркетинга, так как помогает бизнесу решать задачи выстраивания коммуникации (техническая поддержка, реакция на негативные отзывы, сбор обратной связи), формирования лояльности аудитории (улучшение имиджа и узнаваемости, построение сообщества вокруг бренда) и задачи доставки контента (информирование о новых продуктах, акциях и скидках, распродажах). Решение этих задач важно для маркетинговых агентств, так как позволяют увеличивать продажи и снижать расходы на реализацию, поддержку и анализ.
Постановка задачи
Результатом данной работы станет веб-сервис, позволяющий в режиме онлайн проводить анализ и получать визуализацию по выбранным тематикам. Для достижения поставленной цели необходимо выполнить следующие шаги:
• Провести обзор существующих инструментов по анализу
• Спроектировать архитектуру программного комплекса для Telegram на предмет выявления и анализа дискуссий
• Реализовать метод для выгрузки пользовательского контента из сети Telegram
• Провести предварительную обработку данных и добиться наилучших показателей модели
• Исследовать и сравнить методы анализа дискуссий
• Визуализировать полученные результаты
• Протестировать и апробировать на реальном кейсе
Практическая значимость
Задача анализа дискуссий в сетях достаточно важна, так как является междисциплинарной, решаются как социально-экономические задачи (таргетинг, оценка пользовательского настроения), политические задачи (геополитический анализ настроений населения, выявление текущих и появляющихся проблем), так и задачи менеджмента (анализ актуальности и определение ценностей пользователей). Всё это объединяет специальная наука - Social Network Analysis (SNA).
В современном мире информация, полученная из анализа пользовательской активности, определяет векторы развития компаний, а также приводит к возникновению новых рынков и ниш для бизнеса. Во многих современных стартапах используется подход с поиском «болей» пользователей, выдвижением гипотез и их тестированием. Весь процесс завязан на глубокой интеграции в пользовательское взаимодействие. Очень важно понимать что является основополагающим источником проблем и каковы его последствия. Касается это не только бизнеса, но и играет огромную роль в политике, экономике, бренд-менеджменте и ряде других сфер. Компании проводят оценку рисков на основе реакций на определённые продукты, решения, события. Знание географических и временных рамок очагов проблем могут сыграть ключевую роль в становлении будущего бизнеса и государств. Понимание подхода к решению проблем может качественно изменить оценку решений, вплоть до определения будущих тенденций и предотвращения проблем в корне.
Было разработано решение для анализа пользовательских дискуссий в сетях Web 2.0 на примере Telegram. Код размещён в GitHub репозитории: https://github.com/kosyachniy/tg. В процессе работы был проведён обзор существующих инструментов анализа активности пользователей в UGC-сетях, спроектирована архитектура программного комплекса и реализован каркас веб-приложения. После были реализованы методы для извлечения пользовательского контента из сети Telegram и предварительной обработки данных. Проведено исследование работы методов LSA, pLSA и LDA. Затем по результатам модели построена визуализация.
Итоговая система была протестирована на объектах анализа, представляющих бренды, публичных личностей и новости. Общие тренды активности обсуждений соответствуют картине, предоставляемой специализированными сервисами аналитики. В анализе общих чатов присутствует человеческий фактор, что позволяет отсечь неинтересные темы для обсуждения, завышенные показатели из-за деятельности центров анализа трендов и темы разрекламированные новостями, как это видно на примере с Google Trends, поскольку завышенная история запросов не позволяет увидеть локальные всплески.
Перспективы развития
Данная работа потребовала обширного технического погружения в реализацию. К данным трудностям можно отнести проблемы с доступом к серверам, настройку CI/CD составляющей и неопределённость в выборе первоначальных коэффициентов анализа.
В перспективе планируется выявить и реализовать наиболее точные методы аналитики. В частности уделить особое внимание методу BTM, предназначенному для анализа малых фрагментах данных, подобно текстовым сообщениям в мессенджерах.
В целях исключения таких явлений, как реклама, «вбросы» и сообщения, не являющиеся форматом естественного общения, необходимо реализовать алгоритм фильтрации контента. Также необходимо отсеивать повторяющиеся сообщения.
В настоящих условиях возникла сложность с реализацией графа взаимосвязи объектов дискуссии и пользователей между собой. Причиной стало неравномерное распределение сообщений большого и малого объёма. Т.е. ветвь связей зачастую прерывалась.
Интересным для анализа является алгоритм формирования биграмм и триграмм (шинглов), так как в сообщениях зачастую встречаются устойчивые выражения, названия и сокращения.
Добавление в анализ большего количества информации о сообщениях и пользователях позволит учитывать перекрёстных пользователей в различных чатах, а также географическую причастность.
В текущей работе не предусмотрена возможность изменения диапазона анализа и временных когорт. В частности это позволит отображать график активности обсуждений по заданным дискуссиям в заданный промежуток времени.
[1] Top Websites Ranking // SimilarWeb [2020]. Дата обновления: 01.04.2020. URL: https://www.similarweb.com/top-websites (дата обращения: 28.05.2020)
[2] Lopez-Castroman J, Moulahi B, Aze J, et al. «Mining social networks to improve suicide prevention: A scoping review». J Neurosci Res. 2020; 98:616-625.
[3] Facebook Reports First Quarter 2020 Results // Facebook [2019]. URL: https://s21.q4cdn.com/399680738/files/doc_financials/2020/q1/Q1-2020-FB-Earnings-Presentation.pdf(дата обращения: 27.05.2020)
[4] Global Digital Report 2019 // We Are Social [2008-2020]. URL: https://wearesocial.com/global-digital-report-2019 (дата обращения: 28.05.2020)
[5] Екатерина Курносова, Социальные сети в цифрах // Российский интернет-форум I РИФ+КИБ, 2019. URL: https://mediascope.net/upload/iblock/f97/18.04.2019_Mediascope_ЕкатеринаКурносова_РИФ+КИБ 2019.pdf(дата обращения 28.05.2020)
[6] Number of monthly active WeChat users from 2nd quarter 2011 to 1st quarter 2020 // Statista [2020]. Дата обновления: 05.2020. URL: https://www.statista.com/statistics/255778/number-of-active-wechat-messenger-accounts (дата обращения: 28.05.2020)
[7] Telegram Reports // Telegram [2020]. Дата обновления: 24.04.2020. URL: https://telegram.org/blog/400-million?ln=f(дата обращения 28.05.2020)
[8] 15 Billion Telegrams Delivered Daily // Telegram [2020]. Дата обновления: 23.02.2016. URL: https://telegram.org/blog/15-billion (дата обращения: 29.05.2020)
[9] About//YouScan [2020]. URL: https://youscan.io/ru/about/ (дата обращения: 29.05.2020)
[10] Нигматуллина К.Р., Бодрунова С.С. Методика качественного анализа дискуссий в Twitter // Медиаскоп. 2017. Вып. 1. Режим доступа: http://www.mediascope.ru/2293
[11] Садреева Ю. И., Добрынин В. Ю. Выпускная квалификационная работа бакалавра «Автоматическая классификация новостей из коллекции Reuters в таксономию IPTC» // Архив открытого доступа Санкт-Петербургского государственного университета [2016]. URL: https://dspace.spbu.rU/bitstream/11701/4113/1/VKR_Sadreeva.pdf(дата об-ращения: 20.12.2019)
[12] S. S. Bodrunova, I. S. Blekanov and M. Kukarkin, "Topics in the Russian Twitter and Relations between their Interpretability and Sentiment,"2019 Sixth International Conference on Social Networks Analysis, Management and Security (SNAMS), Granada, Spain, 2019, pp. 549-554, doi: 10.1109/SNAMS.2019.8931725.
[13] К. В. Воронцов, Вероятностное тематическое моделирование // 16.10.2013. URL: http://www.machinelearning.ru/wiki/images/2/22/Voron-2013-ptm.pdf
[14] Пархоменко П.А., Григорьев А.А., Астраханцев Н.А. Обзор и экспериментальное сравнение методов кластеризации текстов. // Труды ИСП РАН, 2017 г., том 29, вып. 2, с. 161-200 URL: https://www.ispras.ru/proceedings/docs/2017/29/2/isp_29_2017_2_161.pdf
[15] Girolami, Mark; Kaban, A. (2003). On an Equivalence between PLSI and LDA. Proceedings of SIGIR 2003. New York: Association for Computing Machinery. ISBN 1-58113-646-3.