Деньжаков А.Ю.1, Хмелевской Б.Г.2
!Аспирант, 2к.т.н, профессор; кафедра МОиПЭВМ, Пензенский государственный
университет
МЕТОДЫ И СРЕДСТВА ФОРМАЛИЗАЦИИ ДАННЫХ В СОЦИАЛЬНЫХ СЕТЯХ
Аннотация
В статье предложен метод описания социальных связей в социальных сетях. Рассматривается технология для объединения социальных графов в одну базу данных. Приводится словарь терминов методологии FOAF. Рассматривается практическое применение метода объединения социальных графов.
Ключевые слова: Социальные сети, социальные графы, семантическая сеть Keywords: Friend-of-A-Friend, social networks, Semantic Web
Миллионы пользователей социальных сетей не представляют собой ровно такое же число уникальных людей. На самом деле, многие люди заводят себе аккаунты одновременно в нескольких социальных сетях. Ведь желательно, например, хранить информацию, относящуюся к работе, отдельно от информации, относящейся к знакомствам и свиданиям. Кроме того функционал социальных сетей различен, что также приводит к дублированию учетных записей для одного пользователя.
Совокупность всех социальных связей всех пользователей называется социальным графом социальной сети, приняв за вершины графа самих пользователей, за ребра - их социальные связи. При этом каждый участник социальной сети поддерживает свой социальный граф - совокупность только своих социальных связей.
Пользователи прикладывают достаточно много усилий, чтобы поддерживать актуальную информацию в своих учетных записях в социальных сетях. Однако с точки зрения управления всем потоком данных, распространяющихся через сайты, целесообразно объединить все социальные графы с разных сетей в один граф. В объединенном социальном графе каждый из пользователей, имеющих многократные учетные записи, был бы представлен как единственная вершина. Информация о пользователе, представленная на разных сайтах, также была бы объединена. Проект «The Friend-of-a-Friend» - потенциальное решение совместного использования данных в социальных сетях разными сайтами методом построения единого социального графа для каждого пользователя [1].
Язык описания социальных связей
Сеть типа «The Friend-of-a-Friend» (FOAF) - это не просто веб-сайт или пакет программного обеспечения; это - платформа для представления информации о людях и их социальных связях. Словарь FOAF [2] содержит понятия для описания личной информации, членства в группах и социальных связей. В таблице 1 представлены понятия и свойства из словаря FOAF. Свойство «knows» используется для создания социального соединения между людьми (когда один человек знает другого).
Таблица 1
Краткий словарь FOAF._
Группа терминов Термины
Сущности FOAF Agent, Person, name, nick, title, homepage, mbox, mbox_sha1sum, img, depiction (depicts), surname, family name, givenname, firstName
Персональная информация weblog, knows, interest, currentProject, pastProject, plan, based_near, workplaceHomepage, worklnfoHomepage, schoolHomepage,
topic interest, publications, geekcode, myersBriggs, dnaChecksum
Онлайн-аккаунты / IM OnlineAccount, OnlineChatAccount, OnlineEcommerceAccount, OnlineGamingAccount, holdsAccount, accountServiceHomepage, accountName, icqChatID, msnChatID, aimChatID, jabbered, yahooChatID
Проекты и Группы Project, Organization, Group, member, membershipClass, fundedBy, theme
Документы и Изображения Document, Image, PersonalProfileDocument, topic (page), primaryTopic, tipjar, shal, made (maker), thumbnail, logo
Термины «Person» и «knows» являются основополагающими в теории социальных сетей.
Словарь FOAF представляет собой онтологию семантической сети (Semantic Web). Семантическая сеть - это продолжение обычной сети, спроектированной таким образом, чтобы хранящаяся в ней информация могла быть обработана машинно.
Основу семантической сети [3] составляет модель данных RDF (Resource Description Framework) и язык формализации для семантической паутины (Web Ontology Language -OWL). Они представляют собой словари «объект - атрибут - значение», что позволяет описывать ресурсы в виде наборов утверждений о свойствах этих ресурсов. Особенность модели данных RDF в том, что все компоненты этой модели идентифицируются с помощью универсальных идентификаторов (URI). Благодаря этой особенности RDF позволяет объединять информацию с различных источников, что может быть весьма полезно для обеспечения совместного использования информации в рамках веба.
Терминологическая база, применяемая для описания ресурсов, определяется соответствующей RDF-схемой - иерархией терминов (понятий) предметной области. RDF схемы разрабатываются с помощью языка описания словарей RDF терминов - RDFS [4].
Понятия, взятые из этих онтологий, впоследствии используются для описания данных. Данные, смоделированные при помощи RDF и OWL, могут быть выражены в нескольких формах. Пример таких данных, выраженных на языке XML, представлен ниже. В примере объект описан путем перечисления его свойств и их значений.
В таблице 1 термины, начинающиеся с заглавной буквы, - классы, а со строчной буквы - свойства. Файл сети FOAF изначально содержит семантическое описание, по крайней мере, одного участника, его персональную информацию и тех, кого он знает. Следующий пример кода содержит простое FOAF-описание участника сети: <rdf:RDF
xmlns:rdf="http://www.w3.org/19 9 9/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2 000/01/rdf-schema#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <foaf:Person>
<foaf:depiction> http://example.com/me.jpg </foaf:depiction> <foaf:firstname>Joe</foaf:firstname> <foaf:lastname>Blog</foaf:lastname> <foaf:knows> <foaf:Person>
<foaf:name>Dan</foaf:name> </foaf:Person> <foaf:Person>
<foaf:name>John</foaf:name> </foaf:Person> </foaf:knows>
</foaf:Person> </rdf:RDF>
Программы, опирающиеся на RDF и OWL, в состоянии извлечь и обработать информацию из этого отрывка. Используя FOAF-словарь, они могут опознать, что перед нами человек по имени Joe Blog, который имеет изображение онлайн и который знает Dan и John.
По своему принципу действия семантическая сеть похожа на большую распределенную базу данных. Она может включать информацию об участнике, хранящуюся в разных местах. Используя основные свойства RDF и OWL, очень легко определить, что информация о человеке содержится в нескольких документах сети и получить ссылки на них. Любые механизмы, понимающие эти языки, могут извлечь информацию из распределенных источников и создать единую модель этого участника, объединяющую всю информацию.
Применение FOAF в социальных сетях
Если сайты строят модели своих пользователей на основе FOAF, то у их пользователей появляется возможность по-новому взглянуть на свои данные. Эти данные не заперты в какой-то конкретной базе данных - они могут быть совместно использованы разными системами и имеют внешние ссылки. Некоторые социальные сети уже движутся в этом направлении. Было проанализировано шесть сайтов, которые генерируют FOAF-файл для каждого из своих пользователей (эти сайты представлены в таблице 2).
Таблица 2
Социальные сети, поддерживающие FOAF-профайлы пользователей социальных
сетей.
Сайт URL Количество пользователей
LiveJournal http://livej ournal .com 15,7 млн.
eCademy http: // ecademy. com 672 тыс.
Mindswap http://trust.mindswap.org 1700
Tribe http://tribe.net 1,25 млн.
Buzznet http://www.buzznet.com 352 тыс.
Zopto http://zopto.com 23 тыс.
Итого 18 млн.
Пользователь, имеющий информацию на всех этих сайтах, может создать
небольшой документ, ссылающийся на все имеющиеся файлы. Инструментарий FOAF позволяет проследовать по всем этим ссылкам и скомпилировать всю информацию в один профайл. Код, представленный в примере ниже, направляет по ссылкам, ведущим к информации об этом и том же человеке на разных сайтах. <rdf:RDF
xmlns:rdf="http://www.w3.org/19 9 9/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2 000/01/rdf-schema#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <foaf:Person>
<foaf:name>Joe</foaf:name> <rdfs:seeAlso
rdf:resource="http://trust.mindswap.org/trustFiles/3 85.owl"/> <rdfs:seeAlso
rdf:resource="http://www.livejournal.com/users/joeblog/data/foaf
" />
<rdfs:seeAlso
rdf:resource="http://www.tribe.net/FOAF/6bed4755-a467-4fa9-844de9bfc786e570M/>
<rdfs:seeAlso rdf:resource="http://ecademy.com/module.php? mod=network&op=foafrdf&uid=71343" /> <rdfs:seeAlso
rdf:resource="http://joe.buzznet.com/user/foaf.xml" /> <rdfs:seeAlso
rdf:resource="http://www.zopto.com/foaf.asp?id=10088" />
</foaf:Person>
</rdf:RDF>
Эти несколько строчек кода делают потенциально возможным соединить сотни кусочков информации, распределенных между шестью сайтами, в единое описание пользователя.
Кроме преимуществ, которые получают пользователи вместе с возможностью объединять свои личные данные воедино, существуют и другие преимущества, которые могут извлечь для себя уже сами сайты при использовании FOAF. Например, сайт может рассчитывать на появление новые соединений между пользователями, если FOAF-информация на других сайтах показала связи между ними. Часть информации о пользователе может быть автоматически заполнена, если она уже где-нибудь содержится в FOAF-файлах. Сайт, использующий готовые наработки пользователя на других сайтах, сам становится проще в использовании и, соответственно, более привлекательным.
Несмотря на то, что словарь FOAF содержит длинный список свойств, позволяющих формализовать социальные связи, многие социальные сети описывают своих участников и их взаимоотношения при помощи терминов, не входящих в словарь FOAF. Одним из преимуществ семантической сети является то, что ее система формализации и данные могут быть использованы в каком угодно приложении.
Одним из практических применений FOAF является разработка рекомендательных алгоритмов на основе доверия между пользователями [5]. Вычислительная задача в этом случае значительно упрощается. Гибкость FOAF позволяет добавить в свойства связей пользователя еще и величину значимости этой связи - то есть доверия. Доверие может быть как общее, так и относительно конкретной темы.
В настоящее время уже есть Relationship Module, написанный в рамках FOAF [6] и включающий более тридцати понятий, описывающих взаимоотношения между людьми, в числе которых «потерял контакт с», «враг», «работает под началом...», «суженный...» и другие. Социальные сети могут использовать эти понятия и определять свои собственные наборы характеристик взаимоотношений или личности, чтобы поддерживать FOAF-данные о своих пользователях.
Проект FOAF полезен как в аналитическом, так и в вычислительном направлении исследования социальных сетей, так как позволяет разрозненные сети объединить в одну большую сетевую модель, где, используя развитый аппарат теории графов, можно проводить не только совершенствования функционала самих социальных сетей, но и проводить прикладные исследования.
Литература
1. Dumbill E. Finding friends with XML and RDF. IBM's XML Watch, 2002.
2. Спецификация FOAF [Электронный ресурс]. -Режим доступа: http://xmlns.com/foaf/spec/
3. Проект Semantic Web // Консорциум W3C [Электронный ресурс]. -Режим доступа: http://www.w3c.org/sw
4. Спецификация языка RDFS // Консорциум W3C [Электронный ресурс]. - Режим доступа: http://www.w3c.org/rdfs
5. Деньжаков А.Ю., Шибанов С.В. - Использование доверия в неявной коллаборативной фильтрации. // Материалы III международной науч.-практ. конф. «Интеграция науки и производства», 31 мая 2010 г. / Изд-во «Тамбовпринт». -Тамбов, 2010. - с. 65-69.
6. Davis I., Vitiello E. Relationship: A vocabulary for describing relationships between people. March 8, 2004 [Электронный ресурс]. -
Режим доступа: http://purl.org/vocab/relationship