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

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

CC BY
246
63
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СОЦИАЛЬНАЯ СЕТЬ / SOCIAL NETWORK / СОЦИАЛЬНЫЙ ГРАФ / SOCIAL GRAPH / ОПРЕДЕЛЕНИЕ ВОЗРАСТА / АНАЛИЗ ГРАФА / GRAPH ANALYSIS / AGE PREDICTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Грезин Владимир Сергеевич, Новосядлый Василий Александрович

Рассматриваются возможные методы определения возраста участника социальной сети на основе его общедоступных характеристик. Проводится сравнительный анализ подходов на основе статистических методов, методов с использованием искусственной нейронной сети и на основе модифицированного алгоритма кластеризации Маркова для выделения групп в социальном графе. Для рассмотренных подходов создана программная реализация на языке JavaScript, каждый из них применен на практике к выборкам из реальных участников социальной сети. Представлены оценки сложности и эффективности разработанных методов, выработаны рекомендации по использованию.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

On the Problem of Social Network User Age Prediction

This article describes the possible methods of prediction the age of the social network member on the basis of his public specifics. Comparative analysis of the approaches based on statistical methods, methods using artificial neural networks and methods based on modified Markov clustering algorithm to detect groups in the social graph is provided. JavaScript implementation for each method is tested against the samples of the genuine social network data. Complexity and efficiency estimates of the developed methods are presented. Software usage strategy is presented.

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

УДК 004.852

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

© 2015 г В.С. Грезин, В.А. Новосядлый

Грезин Владимир Сергеевич - младший научный сотрудник, ФГАНУ НИИ «Спецвузавтоматика», пер. Газетный, 51, г. Ростов-на-Дону, 344002, e-mail: [email protected]

Новосядлый Василий Александрович - кандидат физико-математических наук, заведующий лабораторией, ФГАНУ НИИ «Спецвузавтоматика», пер. Газетный, 51. г. Ростов-на-Дону, 344002, e-mail: [email protected]

Grezin Vladimir Sergeevich - Junior Scientific Researcher, FSASE SRI «Spetsvuzavtomatika», Gazetnyi Lane, 51, Rostov-on-Don, 344002, Russia, e-mail: [email protected]

Novosiadlyi Vasilii Aleksandrovich - Candidate of Physical and Mathematical Science, Head of the Laboratory, FSASE SRI «Spetsvuzavtomatika», Gazetnyi Lane, 51, Rostov-on-Don, 344002, Russia, e-mail: [email protected]

Рассматриваются возможные методы определения возраста участника социальной сети на основе его общедоступных характеристик. Проводится сравнительный анализ подходов на основе статистических методов, методов с использованием искусственной нейронной сети и на основе модифицированного алгоритма кластеризации Маркова для выделения групп в социальном графе. Для рассмотренных подходов создана программная реализация на языке JavaScript, каждый из них применен на практике к выборкам из реальных участников социальной сети. Представлены оценки сложности и эффективности разработанных методов, выработаны рекомендации по использованию.

Ключевые слова: социальная сеть, социальный граф, определение возраста, анализ графа.

This article describes the possible methods ofprediction the age of the social network member on the basis of his public specifics. Comparative analysis of the approaches based on statistical methods, methods using artificial neural networks and methods based on modified Markov clustering algorithm to detect groups in the social graph is provided. JavaScript implementation for each method is tested against the samples of the genuine social network data. Complexity and efficiency estimates of the developed methods are presented. Software usage strategy is presented.

Keywords: social network, social graph, age prediction, graph analysis.

Современные социальные сети не могут обеспечить правильность заполнения всех граф учетной записи. Особенно это касается графы «возраст», которую пользователи социальной сети часто предпочитают скрывать. Это не позволяет в автоматическом режиме контролировать доступ таких пользователей к контенту (ограничен по закону № 436-Ф3 «О защите детей от информации, причиняющей вред их здоровью и развитию» и имеет тот или иной знак информационной продукции).

Кроме того, информация о возрасте пользователя важна для решения многих задач в современном мире. Так, например, Google, «Яндекс», а также другие поисковые системы используют ее для более релевантного ранжирования выдачи. Кроме того, все современные крупные рекламные площадки в Интернете позволяют таргетировать рекламу на конкретные группы пользователей, в том числе и по возрастному критерию.

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

невысока и позволяет производить разбиение лишь на широкие группы по возрастному критерию. Например, в [1] рассматривается подход, который позволяет определить возраст пользователя в зависимости от истории просмотренных страниц. Для этих целей используется искусственная нейронная сеть. В работах [2, 3] возраст человека вычисляется на основе характеристик написанного им текста. Используются стилистические и содержательные особенности. Однако ограничение доступа к контенту на основании его знака информационной продукции требует достаточно точных измерений возраста. В работе применены и адаптированы математические методы для задачи определения возраста пользователя социальной сети, дающие достаточно точную оценку возраста по его социальному графу. Разработана и исследована применимость следующих методов определения возраста:

- статистические (по среднему значению, медиане);

- нейронная сеть, обучаемая на тестовой выборке;

- кластеризация на социальные группы.

Выбор характеристик

Среди общедоступной информации в социальных сетях наиболее подходящей для анализа представляется информация о друзьях пользователя, его фото-

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

Поскольку друзья пользователя являются такими же участниками социальной сети, для них актуальны все рассуждения, приведенные выше. Наиболее ценной для анализа является информация о возрасте друзей, поскольку она позволяет делать достаточно точные предположения о возрасте самого пользователя. Предварительные исследования 1472 учетных записей показали, что собственный возраст указывают около 54,3 % участников социальной сети. Доля тех, кто указывает заведомо неверный возраст, колеблется в районе 1-2 %. Такого количества исходных данных в подавляющем большинстве случаев хватает для проведения анализа описанными ниже методами.

Статистические методы

Статистические методы в решении поставленной задачи являются наиболее простыми и самыми быстрыми. Их вычислительная сложность составляет O(log(N)), где N - количество друзей с указанным возрастом. Вместе с тем они не могут обеспечить достаточную точность на большом наборе выборок. Было рассмотрено 2 статистических метода: вычисление возраста с использованием математического ожидания и медианы [4].

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

Однако в ходе экспериментов [5, 6] стало понятно, что невозможно гарантировать правильность указания возраста каждого из друзей пользователя. Это приводит к тому, что если в выборке оказывается значение с большим отклонением от остальных, то среднее значительно смещается в его сторону. На примере видно (рис. 1), что всего одного заведомо неправильного значения достаточно, чтобы сдвинуть предсказанный возраст.

Рис. 1. Смещение значения вычисляемого возраста из-за заведомо некорректных данных

Медиана. Для решения описанной выше проблемы был применен метод расчета медианы вместо математического ожидания. В силу большей робастности [4] она позволяет снизить негативное влияние всплесков на концах выборки. Так, если для приведенного примера математическое ожидание заменить на медиану, то получим верный результат (рис. 2).

Тем не менее экспериментальные исследования [5, 6] показывают, что медиана не может обеспечить нуж-

ную точность на достаточно значимой части набора экспериментальных данных.

Искусственная нейронная сеть (ИНС). Так как статистические методы показали не лучшие результаты на широком наборе учетных записей, появилась необходимость в использовании альтернативных методов. В качестве такого было решено применить ИНС. Она обладает важной особенностью - способностью к обучению. Это значит, что хорошо подоб-

ранная обучающая выборка, скорее всего, позволит сети достичь высокой точности определения возраста.

Для подготовки обучающей выборки был написан сценарий, позволяющий просматривать только стра-

ницы профилей с указанным возрастом одновременно с частотной диаграммой возраста друзей. С его помощью можно быстро создавать большие выборки с высокой степенью достоверности.

Рис. 2. Использование медианы на выборке с неправильным значением

В качестве входных данных ИНС принимает рас- ный возраст пользователя. Пример работы ИНС пока-пределение возраста друзей пользователя на фикси- зан на рис. 3. рованном интервале и возвращает наиболее вероят-

Рис. 3. Применение нейронной сети к неоднозначной выборке

Несмотря на то что нейронная сеть требует обучения, его необходимо провести только один раз. Поэтому в вычислительной сложности метода нейронной сети ее обучение учитывать не будем. При вычислении возраста пользователя социальной сети сложность этого метода составляет 0(№), где N - количество друзей с указанным возрастом.

Клики в социальном графе. В социальном графе пользователя могут оказаться люди, чей возраст никак не связан с его собственным. Например, они мо-

гут быть связаны с его работой или увлечениями (преподаватель в вузе или вожатый в детском лагере). Если таких людей достаточно много, они начинают оказывать существенное влияние на правильность определения возраста пользователя. Необходим способ, который позволит не учитывать неподходящих друзей. Таким способом может быть выделение клик (полных подграфов) в социальном графе. Среди них должна оказаться клика, содержащая людей с равными или близкими возрастами (одноклассники, одно-

группники). Ее можно установить, посчитав дисперсию возрастов в каждой из найденных клик.

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

Кластеризация на социальные группы. ИНС показывает хороший результат практически на всех видах выборок. Однако если частотная диаграмма возрастов друзей достаточно плоская, нейронная сеть не может обеспечить приемлемой точности. Для решения этой проблемы было решено кластеризовать социальный граф пользователя. Получающиеся группы людей объединены по той или иной причине и отражают социальную структуру. Затем из этих групп нужно выбрать, например, одноклассников или одногрупп-ников анализируемого пользователя.

Алгоритм кластеризации Маркова (далее - MCL) выделяет кластеры в графе при помощи математического бутстрэпинга [7]. Процесс детерминированно вычисляет вероятности случайных блужданий по графу и использует два оператора преобразования одного набора вероятностей в другой. Он делает это с помощью языка стохастических матриц (матриц Маркова), которые включают математическое понятие случайных блужданий на графе. Алгоритм MCL имитирует случайные блуждания в пределах графа чередованием двух операторов, называемых расширением (expansion) и накачкой (inflation).

Расширение совпадает с обычным возведением в степень стохастической матрицы (на основе матричного произведения). Накачка соответствует возведе-

нию матрицы в адамарову степень, а затем масштабированию матриц так, чтобы результат снова являлся стохастической матрицей, т.е. матричные элементы (в каждой колонке) отвечали бы значениям вероятностей.

Общая схема метода

1. На вход поступает неориентированный граф, параметр расширения е и параметр накачки г.

2. Создается ассоциированная матрица.

3. Добавляется цикл к каждой вершине.

4. Нормализуется матрица.

5. Расширяется матрица взятием е-й степени.

6. Производится накачка матрицы с параметром г.

7. Повторяются шаги 5 и 6, пока не будет достигнуто стационарное состояние.

8. Интерпретируется матрица для выделения кластеров.

Использование социального графа. Полученная после применения алгоритма МСЬ матрица интерпретируется так, чтобы разбить все вершины социального графа на непересекающиеся группы. Фактически они будут представлять собой естественные группы из друзей пользователя (одноклассники, коллеги и т.д.). Затем выбираются наиболее большие кластеры (количество узлов - не менее 60 % от самого большого). Среди них устанавливается кластер с наименьшей дисперсией, т.е. в который объединены люди примерно одного возраста. Для них вычисляется медиана, которая и принимается в качестве предполагаемого возраста. На рис. 4 приведен пример успешной работы алгоритма с использованием кластеризации в случае практически плоской диаграммы распределения возрастов друзей.

Рис. 4. Пример успешной работы алгоритма с использованием кластеризации

Экспериментальные исследования

В данном разделе приведены результаты экспериментальных исследований, проведенных на широком наборе пользователей. Их возраст известен заранее.

Для проведения экспериментальных исследований было разработано программное средство, реализующее описанные методы [8].

В самом простом случае на гистограмме можно видеть отчетливый пик, который означает большое

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

Широко распространены случаи, когда распределение возрастов смещено в сторону от пика. Кроме того, в нем могут присутствовать заведомо неверные значения. Это может приводить к тому, что некото-

рые методы дают ошибочный результат (особенно это касается математического ожидания). Тем не менее более сложные методы, такие как нейронная сеть или кластеризация, позволяют нивелировать такие отклонения.

Одним из случаев, наиболее сложных для анализа, является пример, показанный на рис. 5. У пользователя небольшое количество друзей, возраст которых распределен довольно равномерно.

Рис. 5. Неинформативная диаграмма

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

чество его студентов. Но с ними он не связан по возрастному критерию, а значит, они не должны быть включены в набор анализируемых данных. Именно такой подход используется при вычислении возраста с использованием кластеризации.

Был проведен анализ 173 пользователей с известным годом рождения с целью установления точности каждого метода. Считается, что возраст верно определен, если погрешность не превышает одного года. Результаты приведены в таблице.

Результаты работы методов на тестовой выборке

Количество пользователей Возраст Точность метода, %

Медиана, O(log(N)) Нейронная сеть, O(N) Кластеризация, O(N-k2)

47 16-22 89 91 93

57 23-30 86 91 94

43 30-39 83 87 90

26 40-56 72 81 88

Таким образом, применение более сложных методов при определении возраста является оправданным, так как приводит к получению более точных результатов. Однако для возрастных групп 16-22 и 23-30 применение метода медианы также является оправданным, так как дает достаточно высокую точность. Следовательно, при выборе метода определения возраста необходимо учитывать два требования: точность метода и скорость его работы.

Заключение

Исследованные и адаптированные методы позволяют определять возраст участника социальной сети, основываясь на открытой информации о его друзьях. Анализ существующих открытых решений в области автоматического определения возраста пользователя в сети Интернет показал, что определение возраста с использованием информации о социальных связях пользователя еще не реализовано, а методы, опирающиеся на поведение пользователя или анализ генерируемого им контента, не дают достаточной точности. Для решения такой задачи были рассмотрены следующие подходы: использование статистических методов, применение ИНС, кластеризация социального графа.

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

Следующим по эффективности показал себя подход с использованием ИНС. Как правило, он дает результат достаточной точности и при этом работает многократно быстрее, чем кластеризация. К минусам можно отнести некорректную работу на определенном типе распределений (например, в качестве исследуемого пользователя выступает преподаватель, у которого в друзьях находится большое количество его студентов), а также необходимость обучения нейронной сети на заранее сформированной выборке.

Использование медианы дает худшие результаты в сравнении с описанными выше методами. Тем не менее такой подход может применяться как наиболее быстрый и просто реализуемый.

Для дальнейшего повышения точности определения возраста представляется возможным использо-

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

Литература

1. Kakkar M., Upadhyay D. Web Browsing Behaviors Based

Age Detection // International J. of Soft Computing and Engineering (IJSCE). 2013.Vol. 3, Issue1.

2. Dong Nguyen, Smith N.A., Rose C.P. Author Age Prediction

from Text using Linear Regression // Proceedings of the 5th ACL-HLT Workshop on Language Technology for Cultural Heritage, Social Sciences, and Humanities. Portland, USA, 2011. P. 115-123.

3. Peersman C., Daelemans W., Vaerenbergh L. Van.

Predicting Age and Gender in Online Social Networks // SMUC'11, October 28, 2011. Glasgow, UK, 2011.

4. Максимов Ю.Д. Вероятностные разделы математики:

энциклопедия. М., 2001. 592 c.

5. Грезин В.С., Новосядлый В.А. Методы вычисления

возраста участника социальной сети // Теоретические и прикладные вопросы образования и науки : сб. науч. тр. Междунар. науч.-практ. конф. 31 марта 2014 г. Ч. 7. Тамбов, 2014. С. 39-40.

6. Грезин В.С. Способы определения возраста человека по

учетной записи в социальной сети // Научная сессия ТУСУР-2014 : материалы Всерос. науч.-техн. конф. студентов, аспирантов и молодых ученых. Томск, 1416 мая 2014 г. : в 5 ч. Ч. 3. Томск, 2014. C. 186-189.

7. Efron B. Bootstrap Methods: Another Look at the Jackknife

// Annals of Statistics. 1979. Vol. 7, № 1. P. 1-26.

8. Свидетельство № 2014614425. Программное средство

автоматического определения возраста участника социальной сети Ageception. Версия 1.1 / Грезин В.С., Новосядлый В.А. 24.04.2013 г.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

References

1. Kakkar M., Upadhyay D. Web Browsing Behaviors Based

Age Detection. International Journal of Soft Computing and Engineering (IJSCE), 2013, vol. 3, issue 1.

2. Dong Nguyen, Smith N., Rose C. Author Age Prediction

from Text using Linear Regression. Proceedings of the 5th ACL-HLT Workshop on Language Technology for Cultural Heritage, Social Sciences, and Humanities. Portland, USA, 2011, pp. 115-123.

3. Peersman C., Daelemans W., Vaerenbergh van L. Predicting

Age and Gender in Online Social Networks. SMUC, 11, October 28, 2011. Glasgow, UK, 2011.

4. Maksimov Yu.D. Veroyatnostnye razdely matematiki [Prob-

abilistic branches of mathematics]: entsiklopediya. Moscow, 2001, 592 p.

5. Grezin V.S., Novosyadlyi V.A. [Methods of calculating the

age of the participant social network]. Teoreticheskie i prikladnye voprosy obrazovaniya i nauki : sb. nauch. tr. Mezhdunar. nauch.-prakt. konf. 31 marta 2014 g. Ch. 7, Tambov, 2014, pp. 39-40.

6. Grezin V.S. [Methods for determining the age of the person

on the account on the social network]. Nauchnaya sessiya TUSUR-2014 : materialy Vseros. nauch.-tekhn. konf.

Поступила в редакцию

studentov, aspirantov i molodykh uchenykh. Tomsk, 14-16 marta 2014 g. Ch. 3, Tomsk, 2014, pp. 186-189.

7. Efron B. Bootstrap Methods: Another Look at the Jackknife.

Annals of Statistics, 1979, vol. 7, no 1, pp. 1-26.

8. Grezin V.S., Novosyadlyi V.A. Programmnoe sredstvo

avtomaticheskogo opredeleniya vozrasta uchastnika sotsial'noi seti Ageception. Versiya 1.1 [The software tool automatically determine the age of the participant social network Ageception. Version 1.1]. Certificate, no 2014614425, 24.04.2013.

24 декабря 2014 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.