Научная статья на тему 'Автоматизированный анализ активностей пользователей социальных сетей для выявления общественной реакции'

Автоматизированный анализ активностей пользователей социальных сетей для выявления общественной реакции Текст научной статьи по специальности «Общие и комплексные проблемы естественных и точных наук»

CC BY
238
85
Поделиться
Ключевые слова
СОЦИАЛЬНАЯ СЕТЬ / ИНФОРМАЦИОННЫЙ ПОИСК / КОМПЬЮТЕРНАЯ ЛИНГВИСТИКА / СТАТИСТИКА

Аннотация научной статьи по общим и комплексным проблемам естественных и точных наук, автор научной работы — Бурлуцкий Владимир Владимирович, Хасаншин Линар Ильдарович

В последнее время динамике популярности в интернете уделяется все большее внимание, так же растет и объем информации, которую пользователи публикуют на страницах интернет порталов. Такие показатели как посещаемость и количество комментариев, можно сделать более детальными и информативными, применяя методы лингвистического и статистического анализа. В данной статье описывается система, подсчитывающая частоту употребления слов в обсуждениях к новостям, публикуемым в группах социальной сети vk.com.

Похожие темы научных работ по общим и комплексным проблемам естественных и точных наук , автор научной работы — Бурлуцкий Владимир Владимирович, Хасаншин Линар Ильдарович,

Automated analysis of social network users activity for identify public reaction

Recently, attention to dynamics of internet popularity is increasing as well as information that the users publish on internet pages. Indicators such as attendance and number of comments can be made more detailed and informative with the help of computational linguistic and statistical analysis. This article describes a system that counts the frequency of using words in the discussions of news published in the groups of social network vk.com.

Текст научной работы на тему «Автоматизированный анализ активностей пользователей социальных сетей для выявления общественной реакции»

ВЕСТНИК ЮГОРСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

_2012 г. Выпуск 3 (26). С. 62-65_

УДК 004.912

АВТОМАТИЗИРОВАННЫЙ АНАЛИЗ АКТИВНОСТЕЙ ПОЛЬЗОВАТЕЛЕЙ СОЦИАЛЬНЫХ СЕТЕЙ ДЛЯ ВЫЯВЛЕНИЯ ОБЩЕСТВЕННОЙ РЕАКЦИИ

В. В. Бурлуцкий, Л. И. Хасаншин

Развитие Интернет-ресурсов социальных сетей, таких как MySpace, Facebook, Вконтакте и т. п., за последние годы позволило задействовать огромное число людей во всевозможном обмене информацией и данными. Прежние устоявшиеся форматы Интернет общения вроде чатов и форумов имели более анонимную ориентированность и исключали своего рода социальные аспекты общения, к тому же они, как правило, имели строго тематическую направленность, чем, в общем, и отличаются от социальных сетей. Пользователи социальных сетей чаще используют настоящие имена и с большим энтузиазмом делятся персональными данными, что, в свою очередь, рождает интерес в статистических исследованиях, а также в некоторых экономических, политических и социологических сферах деятельности.

В компьютерной лингвистике, в частности, в обработке естественного языка (natural language processing) существуют как весьма значительные прорывы, так и крупные фундаментальные проблемы. К прорывам можно отнести вопрос-ответные системы, такие как Siri и IBM Watson, данные системы могут распознавать человеческую речь и отвечать на вопросы. К фундаментальным проблемам можно отнести структурирование знаний об окружающем мире, так называемая AI-полная задача, то есть сделать компьютер таким же умным, как человек, формализовать опыт и знания, накапливаемые человеком в течение жизни, для понимания текстов и генерирования ответов. В сфере анализа активностей пользователей социальных сетей можно применять более конкретные задачи, такие как определение тональности, то есть выделение эмоциональной окраски высказывания, выделение фактов из текста, подсчет частоты употребления слов и др. [1]. Стоит отметить, что большая часть этих задач имеют известные ограничения в точности и в общем случае не решаются полностью.

В основу реализованного проекта легла идея об использовании для исследования наиболее структурированной и достоверной части данных в социальных сетях - данных из новостных групп информационных агентств или СМИ. И затем, опираясь на эту относительно структурированную информацию, применить алгоритмы информационного поиска к связанными с каждой отдельной новостью реакциями пользователей. То есть идея заключалась в том, чтобы определить наиболее употребляемые слова в новостных темах по заданной поисковой фразе, исходя из предположения, что наиболее употребляемые слова будут отражать общее отношение и ассоциации людей к данному вопросу. Таким образом, общий алгоритм работы системы заключается в задаче: из новостей определенной группы выбрать те, в которых присутствует поисковая фраза, после чего создать список самых употребляемых пользователями в комментариях лексем. В дальнейшем этот список лексем подвергается семантической фильтрации, отбрасывающей служебные и стоп-слова, не представляющие интереса в данном анализе.

С технической точки зрения проект можно разделить на 3 основных модуля: сбора данных, обработки и анализа собранных данных и визуализации результата. Ядро проекта реализовано на языке Python, с использованием фреймворка Django, которые де-факто являются стандартными средствами разработки в данной области исследований.

При реализации модуля сбора информации из социальной сети «Вконтакте» использовались два основных метода: запрос информации с помощью API интерфейса, предусмотренного разработчиками для взаимодействия с другими программными средствами, и получением данных, обращаясь непосредственно к страницам сайта по протокол HTTP. Использование API ограничивается тем, что администратор группы или пользователь должны дать разрешение на обработку их данных, это требует предварительных согласований с администраторами групп, и привлечением большого числа пользователей. Второй метод не требует раз-

В. В. Бурлуцкий, Л. И. Хасаншин. Автоматизированный анализ активностей пользователей социальных сетей.

решений, но позволяет обратиться только к информации, разрешенной для неавторизованного пользователя. Исходя из этого, было принято решение на начальном этапе использовать протоколу HTTP и впоследствии переходить к варианту с использованием API.

Как уже было сказано выше, все группы «Вконтакте» имеют одну строгую структуру, что облегчает работу с парсингом (в контексте обработки страниц подразумевается выделение из страницы только необходимой информации), это позволяет для всех групп использовать один алгоритм. Однако в «Вконтакте», впрочем, как и в других социальных сетях, предусмотрен механизм ограничения по количеству запросов к страницам, что существенно ограничивает скорость сбора данных. Для решения этой проблемы был использован алгоритм сбора в несколько потоков, который позволяет обойти это ограничение до определенного предела. Из каждой группы последовательно скачиваются тексты всех новостей и комментариев, даты их публикаций, количество пользователей нажавших кнопку «Мне нравится» («Лайк»), данные оставивших комментарии пользователей (рис. 1). Для организации хранения данных выбор пал на СУБД PostgreSQL в силу наличия многофункциональной и свободно распространяемой версии этой системы.

Рисунок 1. Структура собираемых данных

Все модули системы работают независимо друг от друга, а их взаимодействие организуется через базу данных, поэтому обработка и анализ могут работать как параллельно сбору, так и последовательно. Обработка сообщений реализуется с помощью библиотеки NLTK, имеющей ряд готовых семантических и синтаксических инструментов для обработки естественного языка. Обработка проходит в несколько этапов. На первом этапе сообщения разбиваются на слова, эта операция называется токенизацией. Не знакомым с обработкой естественного языка может показаться, что требуется выделить последовательности, разделенные пробелом, но здесь существуют некоторые сложности, например, интерпретация знаков препинания. Они могут быть как частью слова (в аббревиатурах), а могут быть частью предложений. Также следует различать устойчивые биграммы вроде "Mr. Johnson" или "ФК Москва" и т. п. На этом же этапе исключаются знаки препинания и все «стоп-слова», то есть служебные слова, такие как предлоги, союзы, местоимения. На втором этапе у каждой лексемы отсекается окончание. Эта операция называется стеммингом. В данном проекте был применен алгоритм стемминга Портера [2], этот алгоритм не использует баз основ слов, а лишь, применяя последовательно ряд правил, отсекает окончания и суффиксы, основываясь на особенностях языка, в связи с чем работает быстро, но не всегда безошибочно. Выбор именно этого алгоритма был связан с ограниченностью как во времени, так и в ресурсах для реализации данной обработки. Третьим этапом является подсчет одинаковых лексем и их упорядочение по количеству употреблений. Для предотвращения повторяющихся расчетов информация о частоте употреблений сохранялась в базе данных.

Визуализация информации была реализована с помощью шаблонной системы Django и Javascript библиотеки HighCharts для диаграмм. Пример диаграммы можно увидеть на рисунке 2. На момент написания статьи были реализованы следующие диаграммы: динамика

Информационные технологии в социально-экономических системах

комметируемости новостей с искомой фразой, динамика появления новостей с искомой фразой. Также реализованы рейтинги новостей по количеству комментариев и количеству пользователей, нажавших «Мне нравится», и рейтинг употребления лексем в обсуждениях к новостям с искомой фразой (рис. 3).

Рисунок 2. Пример диаграммы

В. В. Бурлуцкий, Л. И. Хасаншин. Автоматизированный анализ активностей пользователей социальных сетей...

\Deiiueffa

Лексемы в комментариях-

Главная лексемы частота

Диаграмма росс стран 370 351

Рейтинг сиз 172

руеек 15В

Частота народ 135

- - С ВО 123

ддц гонор 117

ВиУШ дума 112

люб 9S

лад 39

ДРУГ

деле 79

мир 79

влэст 74

леник 73

Вернуться

© Khasanshin ünar2012

Рисунок 3. Пример рейтинга лексем по запросу «Россия»

В заключение несколько слов о перспективах развития системы. В модуле сбора данных планируется сделать больший упор на тесную связь с социальной сетью и пользователями с помощью API доступа, это позволит существенно увеличить как производительность системы, так и объем собираемых данных. Модуль обработки и анализа необходимо дополнить новыми видами и алгоритмами обработки естественного языка, соответственно, расширить и модуль визуализации.

ЛИТЕРАТУРА

1. Manning, C., Raghavan P., Schütze H. Introduction to Information Retrieval. - Cambridge University Press, 2008.

2. Ландэ, Д. В. Интернетика: Навигация в сложных сетях: модели и алгоритмы [Текст] / Д. В. Ландэ, А. А. Снарский, И. В. Безсуднов. - M. : Либроком (Editorial URSS), 2009.