УДК 519.68; 681.513.7; 612.8.001.57; 007.51/.52
Т. В. Батура, Н. С. Копылова, Ф. А. Мурзин, А. В. Проскуряков
Институт систем информатики им. А. П. Ершова СО РАН пр. Акад. Лаврентьева, 6, Новосибирск, 630090, Россия
E-mail: [email protected]; [email protected]; [email protected]; [email protected]
МЕТОДЫ АНАЛИЗА ДАННЫХ ИЗ СОЦИАЛЬНЫХ СЕТЕЙ
Статья посвящена проблемам анализа компьютерных социальных сетей. Речь идет о формальном определении различных характеристик (количественных и структурных), введении соответствующих понятий, моделей и методов, которые могут быть полезны для анализа информации, полученной из социальных сетей. Для анализа межличностных отношений предлагается использовать так называемый анализ предпочтений. Предложены различные модификации теории динамического социального влияния Латане применительно к рассматриваемым задачам. Изучены также методики, используемые при проведении психологических операций, и на их основе предложены соответствующие формальные модели. Кратко сообщается о разработанном программном комплексе, позволяющем извлекать информацию из социальных сетей, проводить обработку, анализ и визуализацию данных. Модуль извлечения данных имеет возможность извлекать данные из таких социальных сетей, как Twitter, Facebook, vkontakte.
Ключевые слова: анализ социальных сетей, анализ данных, теория Латане, психологические операции.
Введение
В последнее время все более популярным средством общения между людьми становятся социальные сети. Они, действительно, являются удобным средством коммуникации, а кроме того, открывают новые возможности для анализа потоков информации и поведения людей в процессе общения. Совокупный анализ структуры социальных графов и текстовых данных, получаемых из социальных сетей, по мнению многих специалистов, является наиболее эффективным методом исследования взаимодействий между участниками сети [1; 2].
В статье предложены различные количественные характеристики, графы и множества, которые могут быть вычислены или построены на основе информации, полученной из социальных сетей. Для анализа межличностных отношений предлагается использовать так называемый анализ предпочтений [3; 4]. Чтобы вычислить уровень влияния окружающих людей на мнение конкретного человека, авторы предприняли попытки адаптировать теорию динамического социального влияния Латане [5; 6] применительно к социальным сетям.
При анализе взаимодействий участников сети необходимо выяснить ряд вопросов. Как влияют оставленные пользователем сообщения на его окружение в сети? На какую группу пользователей они могут повлиять в целом? И вообще, с какой целью они были созданы? Для того чтобы ответить на эти и другие вопросы, мы изучили методы, используемые при проведении психологических операций [6; 7], и предложили некоторый формальный подход, также основанный на модификации теории Латане [8].
Интуитивно ясно, что отношения между пользователями и лексика текстовых сообщений, создаваемых этими пользователями, связаны между собой. В конце статьи предложено математическое описание некоторых множеств и функций, естественным образом при
Батура Т. В., Копылова Н. С., Мурзин Ф. А., Проскуряков А. В. Методы анализа данных из социальных сетей // Вестн. Новосиб. гос. ун-та. Серия: Информационные технологии. 2013. Т. 11, вып. 3. С. 5-21.
ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2013. Том 11, выпуск 3 © Т. В. Батура, Н. С. Копылова, Ф. А. Мурзин, А. В. Проскуряков, 2013
этом возникающих. Приведены наиболее важные характеристики рассмотренных множеств.
Для проведения экспериментов в рамках данного исследования был создан программный комплекс для извлечения, обработки и анализа пользовательских данных. В частности, в системе имеется модуль, позволяющий извлекать данные из крупнейших социальных сетей (Twitter, Facebook, vkontakte). Кроме того, этот модуль имеет возможность функционального расширения практически на любую социальную сеть, в зависимости от предоставляемого API.
Для нормализации текстов сообщений используется либо стеммер Портера [9], имеющий очень высокую скорость обработки, либо морфологический нормализатор на основе алгоритмов АОТ 1.
Для хранения данных используется документ-ориентированная база данных MongoDb 2. В этом модуле также имеется возможность выгрузки данных в программное средство для работы с графами Gephi 3. Модуль визуализации данных дает возможность строить графики зависимостей между различными показателями.
Количественные характеристики, отношения и множества,
вычисляемые на основе данных из социальных сетей
В процессе анализа социальных сетей целесообразно рассматривать ряд числовых и нечисловых характеристик, отношений и множеств, естественным образом связанных с пользователями сети и сообщениями, циркулирующими в ней. Важным является то обстоятельство, что все они конструктивны, т. е. могут быть вычислены или построены при помощи соответствующих алгоритмов, конечно, при наличии программного обеспечения, позволяющего «выкачивать» необходимую информацию из сети.
Обозначим T - сообщение («твит») социальной сети; u - пользователь сети, который может создавать и пересылать сообщения.
Одноместные характеристики:
FollowersCount (u) - количество людей, которые читают сообщения данного пользователя (т. е. подписчиков этого пользователя);
FriendsCount (u) - количество друзей у данного пользователя (пользователь сам заносит некоторых людей в список друзей);
Retweets (T) - количество пересылок данного сообщения;
Timeline _ Count (u) - количество сообщений («твитов»), созданных данным пользователем;
Realname (u) - «настоящее» имя пользователя, если соответствующая позиция заполнена (это нечисловая характеристика).
Временны е характеристики:
Inited (u) - дата создания аккаунта;
Datetime (T) - дата создания сообщения.
Множества:
Followers (u) - подписчики данного пользователя;
Friends (u) - друзья данного пользователя;
Mentions (u) - имена пользователей, упоминаемые в сообщениях данного пользователя;
Hashtags (u) - хэштеги, которые встречаются в сообщениях данного пользователя;
Urls (u) - внешние ссылки, которые встречаются в сообщениях данного пользователя.
1 Автоматическая обработка текста. URL: http://aot.ru/
2 MongoDb. URL: http://docs.mongodb.org/manual/reference/replica-status/
3 Gephi, an open source graph visualization and manipulation software. URL: https://gephi.org/
Числовые характеристики, ассоциированные с множествами:
Count _Mentionsu (v) - количество упоминаний пользователя v пользователем u;
Count _Hashtagsu (v) - количество употреблений хештега v пользователем u;
Count _Urlsu (v) - количество упоминаний внешней ссылки v пользователем u;
Count_Retweetsu (u1) - количество сообщений пересланных пользователем u, полученных от пользователя u1.
Отметим, что если проводить рассуждения в терминах теории социального влияния Латане [5; 6], то функцию Count _Mentionsu (v) можно считать «силой влияния» пользователя v на пользователя u. Элементы множества Mentions (u) можно упорядочить относительно характеристики Count _Mentionsu (v) таким образом, что сначала будет стоять пользователь, упоминаемый чаще всех, далее - пользователь, которого u упоминает меньшее число раз и т. д. Таким образом, получим, если ut е Mentions(u), i = 1,..., N, то
Count _Mentionsu (u1) > Count_Mentionsu (u2 ) >... > Count_Mentionsu (uN).
При анализе процессов, происходящих в коллективах людей, обычно рассматривают трехместные отношения предпочтения [3]. Запись i Ik j означает [4], что i предпочтительнее j по мнению k. Критерии предпочтительности могут быть самыми различными: профессионализм, который можно разбить на разные виды деятельности, что породит спектр новых критериев; умение руководить людьми; коммуникабельность; восприимчивость к инновациям; психологическая устойчивость; отношения симпатии, субординации; интимные отношения и т. д. На базе этих отношений складывается неформальная структура коллектива, важность выявления которой в ряде случаев не требует комментариев.
В работе [6] речь идет о компании вакцинации полиомиелита, которая основывалась на сообщениях (через радио, печать, телевидение, кино и плакаты), оказывающих воздействие на общество, причем телевидение и радио играло наиболее важную роль в городских областях. В нашем случае отдаленным аналогом СМИ можно считать силу влияния хэштега и силу влияния ссылки.
Трехместные отношения:
Mentionsu (u1,u2) - пользователь u упоминает пользователя u1 не реже, чем u2;
Hashtagsu (h1,h2) - пользователь u употребляет хэштег h не реже, чем хэштег h2;
Urlsu (url1,url2) - пользователь u упоминает ссылку url1 не реже, чем ссылку url2;
Retweetsu (u1,u2) - пользователь u пересылает сообщения, полученные от пользователя u1, не меньшее число раз, чем полученные от пользователя u2.
Числовые характеристики, ассоциированные с трехместными отношениями:
N_Mentionsu (u1,u2) = Count _Mentionsu (u1) - Count _Mentionsu (u2);
N _ Hashtagsu (h1, h2) = Count _ Hashtagsu (h)- Count _ Hashtagsu (h2);
N _ Urlsu (url1, url2) = Count _ Urlsu (url1) - Count _ Urlsu (url2);
N_Retweetsu (u1,u2) = Count_Retweetsu (u1) - Count_Retweetsu (u2).
Можно считать, что приведенные выше функции также позволяют определять силы влияния различных факторов. Например, функция N_Mentionsu (u1,u2) дает возможность вычислить силу влияния пользователя u1 по сравнению с u2 на пользователя u , т. е. силу влияния с учетом предпочтений пользователя u. Например, если пользователь u = '@navalny' упоминает 7 раз пользователя u1 ='@KSHN' и 1 раз пользователя u2 ='@kudriavtsev', то N_Mentionsu (u1,u2) = 7 -1 = 6 . Насколько информативна функция Retweetsu (u1,u2), пока не ясно.
Анализ отношения предпочтения
В данном разделе приведены краткие сведения из работы [4] с целью показать, каким образом проводится так называемый анализ предпочтений. Решение такого рода задачи осуществляется в два этапа.
Первый — это сбор информации, в результате чего формируются так называемые индивидуальные анкеты. В анкете содержится информация о парном ранжировании членов коллектива по заданному критерию. Точнее, двух членов коллектива сравнивает третий. При этом анкета ассоциируется с третьим членом коллектива. Рассматривая совокупность всех анкет, в итоге получаем трехместное отношение. С математической точки зрения индивидуальной анкете соответствует булева матрица.
Второй этап - обработка информации. Используется некоторый алгоритм, преобразующий семейство булевых матриц (анкет) во взвешенный граф. Структура такого графа отражает в некоторой мере структуру коллектива и может анализироваться послойно, в зависимости от весов связей. Предполагается, что максимальный положительный отклик гарантируется отправителю импульса при подключении к так называемому «пути наибольшей симпатии» или, по физической аналогии, к «пути пробоя». Такого рода пути можно выделить в упомянутом выше графе. Важным также является выделение первого адресата импульса, т. е. через кого «входить» в коллектив.
В процессе анализа социальных сетей возникают естественные отношения предпочтения, а именно трехместные отношения, упомянутые ранее. Интересно, что в отличие от социологов мы сравниваем между собой не только людей, но также хэштеги и ссылки.
Описание данных и алгоритма. Введем обозначения: п - члены группы (коллектива); Ак -индивидуальная анкета (1 < к < п). Индивидуальная анкета представляет собой булеву (содержащую только нули и единицы) антисимметричную матрицу с нулями на главной диагонали, т. е. имеем
Ак = (ак), (1 < 7, , < п) ак = 0, (7 Ф , ^ ак = а^), где черта обозначает отрицание (0 = 1, 1 = 0). Значению элемента матрицы а'к = 1 соответствует отношение 1 . Совокупность таких анкет Ак (1 < к < п) образует входное множество данных.
Каждой индивидуальной анкете Ак соответствует ориентированный граф
Ок = (вк, 1к), Ок = {1,..., п},(/, ,) е 1к ^ 1 {-к
Матрица Ак является для Ок матрицей смежности. Результирующая матрица Q = (ды) вводится по правилу
п
Чк7 = £ ак ,
У=1
т. е. в к-й строке отражено «суммарное мнение» к-го члена об 7-м члене группы (дкк можно назвать самооценкой).
к п
Далее, Мк = £ - мнение к-го члена о коллективе в целом. Величина Я 7 = £ называ-1=1 к=1 ется рейтингом 7-го члена группы и отражает суммарное мнение всего коллектива о данном члене.
Разность А к = Мк — Як называется адекватностью к-го члена. Матрице соответствует граф
а = (О, I, ^, О = {1,., п},( 1, ,) е I ^ 1 Ф ,.
Вес ребра определяется по формуле
У) = д,,.
Заметим, что данный граф является полным. Каждые две вершины соединены парой ребер противоположной ориентации, которые могут иметь различный вес. Таким образом, алгоритм построения графа, являющегося нашей целью, полностью описан.
Анализ построенного графа. Для послойного анализа построенного графа используются определенные ниже подграфы. Пусть для каждого натурального числа t
Gt = (G,Г),It = {(i, j)е 11 w(i, j) = t}, Gt = U GS = ( G, U7*).
s>t \ s>t /
Очевидно, что t1 < t2 ^ G^ з G ,
U Gs = G.
s>0
Граф Gt будем называть срезом уровня t. Обычно для формирования более весомых связей требуется большее время. Поэтому, рассматривая Gt для различных t, можно видеть динамику развития связей во времени, хотя иногда весомые связи могут образоваться очень быстро, например, как результат приглашения высококвалифицированного специалиста со стороны.
Для того чтобы выделить «пути наибольшей симпатии», необходимо решить некоторый вариант задачи о коммивояжере. Это не очень удобно, если граф содержит большое количество вершин. В таком случае целесообразно поступить следующим образом. Сначала берется срез при подходящем t. Часть вершин в нем оказывается изолированной и отбрасывается. Полученный граф дополняется ребрами до полного и веса наследуются, т. е. рассматриваются только значимые члены коллектива, но связи между ними учитываются все.
Более точно, переходим к графу
Ht = (Ht,I n (Ht)2,w T (Ht)2),
Ht = {i е G13j(w(i, j) > t)}.
Для того чтобы не усложнять обозначения, будем считать, что мы работаем с исходным графом.
Пусть l = - некоторый маршрут в графе G. Весом маршрута l называется величина
k-1
w(l) = X w(ij , ij +1).
j=1
Напомним, что если i1 = ik , то маршрут называется замкнутым. Будем использовать также следующие обозначения: k е l - вершина k содержится в маршруте l; l1 с l2 - маршрут l1 является частью маршрута l2; Ent(k, l) = {i | (k, i^ с l} - вход из вершины k в маршрут l.
Задача о коммивояжере (один из вариантов) может быть сформулирована как задача поиска максимального замкнутого маршрута без самопересечений, такого, что w(l) достигает максимума, т. е. данный маршрут должен проходить через все вершины. При этом через каждую вершину он должен проходить только один раз. В силу полноты графа G такой маршрут существует. Но, вообще говоря, их может быть несколько. Обозначим множество всех таких маршрутов L(G). По определению
Ent(k, G) = {Ent(k,l) 11 е L(G)}
представляет множество входов из вершины k в граф G.
Элементы L(G) называются «путями наибольшей симпатии», Ent (k, G) показывает, на кого может направлять импульсы k-й член коллектива, чтобы подключиться к этим путям.
Отметим еще одно обстоятельство. Реально могут выявляться парадоксальные цепочки, в которых нарушается транзитивность предпочтений. Например: «a лучше b», «b лучше с», но «с лучше a». Можно ввести абсолютную и относительную меры транзитивности.
Абсолютная мера определяется по формуле
f (k) = Card {(7j, i2, i3 ) | 7j ^ i2, i2 ^ /3, 7j ^ /3},
' ' k k k
где Card - количество элементов в множестве.
Относительная мера может быть определена, например, так: Fk = f (k) / n3.
Крупномасштабное нарушение транзитивности, как правило, свидетельствует о неустойчивости коллектива. Мелкомасштабное же нарушение обычно всегда присутствует. Более того, в большом коллективе постоянно образуются и распадаются малозначимые связи. Переходя на соответствующий уровень, можно элиминировать их и далее провести достаточно качественный анализ.
Теория Латане социального влияния и ее модификация
Далее, рассмотрим, каким образом можно адаптировать теорию динамического социального влияния, предложенную Латане [5; 6] на случай социальных сетей.
Латане подчеркивал важность трех атрибутов отношений между получателем информации и источником: сила - социальный статус и сила доверия; расстояние - физическое или психологическое; текущее количество - число источников, влияющих на получателя.
Согласно теории динамического социального влияния, уровень влияния, испытываемого индивидуумом, может быть выражен формулой
^ - количество социального давления, направленного на индивидуума;
0{ - мнение 7 -го индивидуума (±1) по отношению к данному вопросу, значение +1 соответствует поддержке и -1 - сопротивлению предложению;
«« - сила социального влияния (Si > 0);
в - сопротивление к изменениям;
- расстояние между индивидуумами 7 и у;
а - степень ослабления расстояния;
N - общее число взаимодействующих агентов.
Значение постоянной в обычно принимается равным 2, в соответствии с величиной, использованной в исследованиях Латане. Большее значение этой постоянной означает, что для изменения мнения требуется большее давление, меньшее значение соответствует меньшему усилию. Значение постоянной а также обычно принимается равным 2. Большие значения а означают, что с ростом расстояния между источником и получателем требуется много большая величина давления.
Величина определяется свойствами пары индивидуумов и может рассматриваться как
показатель легкости общения (передачи информации). При задании данной величины могут учитываться возрастные, национальные, конфессиональные и другие различия. Формула для вычисления может включать физическое расстояние. Например, между населенными
пунктами, в которых находятся индивиды. Обычно учитывается тот факт, что легкость коммуникации подчиняется закону об обратной квадратичной зависимости от физического расстояния [6]. Для компьютерных сетей возможны различные подходы, в том числе такие, когда физическое расстояние не принимается во внимание.
Для анализа социальных сетей можно предложить модификацию формулы Латане в следующем виде:
К SOO,
где:
В этой формуле учитываются все пользователи, упоминаемые u. Можно считать, что все они на него влияют.
В следующей формуле учитывается влияние только наиболее упоминаемого и наименее упоминаемого пользователей:
t n n n I Mentionsu (,Uj) I = —Bmax{Count Mentions (и. )} —maxmax\-;-^
u .=1 L — u \ . /J .=1 ,-=2 i \
'= '= ¿=2 [ p (u,UJ)
Также можно учитывать влияние только наиболее упоминаемого и следующего за ним по частоте упоминания:
I Mentionsu (, Uj)
Il =
N N
-В • max{Count Mentionsu (u )} - minmin\-;—u—
1 " ' i=1 jj | P"(u,,u})
где р(и.., и^) - расстояние от пользователя ui до пользователя и^ . Можно, например, считать, что оно задается отношением «подписчик - подписчик подписчика - подписчик подписчика подписчика и т. д.».
Так как эти выкладки производятся относительно предпочтений пользователя и, то уместно воспользоваться французской железнодорожной метрикой:
р(,uj ) =
Ц — ujl, ui — u = Х( — u) u — u|| + 1 |uj — ull, ut — u — u)
где X - заданный коэффициент; u - фиксированная выбранная точка, через которую обязательно должен проходить путь между u{ и uj . Самое простое - это подсчитать количество
ребер. Можно, конечно, приписывать вес каждому ребру. Но, на наш взгляд, здесь вес ребра не столь важен, так как в текущий момент времени пользователь u может не быть подписчиком, например, пользователя u j , и поэтому находиться от него на далеком расстоянии, а в
следующий момент времени уже стать подписчиком.
В этой формуле отражено влияние пользователя u{ по сравнению с другими пользователями uj е Mentions (u) на самого пользователя u. Причем ut упоминается заведомо чаще (точнее не реже) всех остальных пользователей uj е Mentions (u).
Внешнее влияние, например влияние СМИ, также может быть учтено [6], если в основную формулу Латане добавить дополнительный член OiOMSMi; где SMi - сила влияния внешних источников на i -й индивидуум, SMi > 0 ; OM - мнение внешнего источника. Учитывая влияние масс-медиа, получаем итоговую формулу
1г =—Siр—oPmSMi — I ^^.
Обычно внешний источник также моделируется как агент, но «вне окружающей среды» и с расстоянием 1 до каждого индивидуума ввиду своей «вездесущей» природы. Величина SMi меняется в зависимости от индивидуума, так как каждый человек испытывает различное давление СМИ, эта величина аналогична иногда рассматриваемой «величине доверия» индивидуума к сообщениям, получаемым из внешних источников.
Для социальных сетей аналогом СМИ может являться сила влияния хэштега и сила влияния ссылки.
Соответственно получаем формулу
N \Hashtags(u)| \Ha.ihtag:i(u)\ N N Mentiom (li., u. )
Iu =— P-I Count _Mentionsu (u )— I I Hashtagsu ( , hj )—II-a( u Г j ,
i=1 i=1 j = 2 i=1 j= 2 p (, uj )
i> j i> j 4 '
в которой учитываются все пользователи, упоминаемые u, и все хэштеги.
Аналогично получаем
^ \иМи) |»Чи^ хиМвМоти (, и])
Ь =-в"Х Соиг -Мега70^ (и,)- X X игЬи (иг1,, иг1у )-ХХ-—(-\-•
7=1 7=1 У = 2 7=1 у=2 р (, иу )
7 > У 7> у 4 '
В этой формуле учитываются все пользователи, упоминаемые пользователем и, и все ссылки.
Психологические операции
Основой для написания данного раздела послужила работа [7]. В ней отмечается, что имеется близость в инструментарии и методах проведения психологических операций и продвижения «мирной» рекламы. Есть даже совпадающие задачи. Так, в рамках психологических операций стоит и такая задача, как «создание благоприятного имиджа действий страны». Общность методов приводит к отличиям только в одном аспекте. Для психологических операций характерна более серьезная технологическая подготовка кампании, более существенная исследовательская база по изучению целевой аудитории, на которую направлено действие психологических операций. Цикл психологических операций состоит из трех составляющих, также привычных для рекламы: оценка, планирование и исполнение. При этом тестирование сообщений, проверка результатов также включаются. Более подробно психологические операции можно представить в следующем виде: сбор разведывательной информации; анализ целевой аудитории; разработка продукта; отбор медиа; производство медиа; распространение.
Конечной целью работы признаются поведенческие изменения у целевой аудитории. Психологические операции делятся на три типа: стратегические, оперативные и тактические, при этом оперативные рассматриваются как промежуточные между первыми и третьими. Стратегические работают на появление эффектов, которые проявятся в обозримом будущем. Оперативные обычно направлены на региональные целевые аудитории. Проводится серьезный анализ целевой аудитории, предшествующий выработке необходимых сообщений. Особую роль играют этнические особенности аудитории, ее национальная картина мира, поскольку специалисты, проводящие психологические операции, заинтересованы в поиске уязвимых мест своего противника. Более подробные анализы в этой области, несомненно, поставляются представителями других наук.
Создание сообщений также разбито на ряд четких этапов, называемых интеграция, концептуализация и развитие. Интеграция направлена на соединение анализа целевой аудитории с соответствующим типом медиа. Здесь следует ответить на следующий ряд вопросов: кто является целевой аудиторией; где расположена целевая аудитория; что следует сказать своим сообщением; когда оно будет иметь максимальный эффект; какова цель психологической операции; где расположена целевая аудитория; как следует построить сообщение или провести акцию?
Далее в краткой форме описана формализованная модель психологических операций, предложенная авторами данной статьи. Более подробное изложение дано в работе [8].
Концептуализация. Можно сказать, что этап концептуализации направлен на перевод анализа аудитории и выбора медиа в работающий план. Для этого применяется набор конкретных техник для работы: 1) привлечение внимания; 2) создание ощущения достоверности; 3) создание «памяти» (разработка запоминающихся заголовков и т. д.); 4) возбуждение эмоций; 5) многократное повторение сообщения.
Эти техники можно моделировать как некоторые внешние (абстрактные) агенты:
В у - объем у -го воздействия на 7 -го агента;
«у - результативность у -го воздействия на 7 -го агента;
«у = /(Ву ).
В простейшем случае можно считать, что функция / имеет линейный вид. Однако более реалистичной является функция, отражающая тот факт, что чрезмерно большое количество информации отторгается аудиторией. Примеры функции / показаны на рис. 1.
Рис. 1. Примеры функции /
Далее можно также рассмотреть Б к - воздействие, осуществляемое на 7 -го агента, внешнее по отношению к совокупности воздействий, осуществляемых в рамках психологической
ь
операции (к < Ь). Аналогично, как в теории Латане, рассматриваем величину Б^Рк , где
к =1
вк - сопротивление 7 -го агента к -му влиянию внешнего агента.
Для психологических операций, в отличие от рекламы, характерна работа на межличностном уровне, при общении человека с человеком. Общение «друг с другом» обладает рядом существенных достоинств: возможны максимальная подстройка под слушателя и частые повторы при необходимости, легче осуществить детальный выбор аудитории, возможна направленность в точки, которые могут быть недоступными для масс-медиа и др.
При моделировании с помощью клеточных автоматов [6] для более точной подстройки под слушателя вся группа разбивается на подгруппы, каждая из которых считается агентом; при оценке социального давления на всю группу можно учесть объемы подгрупп и степень подстройки информации под подгруппу. Ясно, что все эти количественные характеристики и вид функции / определяет эксперт, опираясь на свой опыт.
Полезной является так называемая классификация типов толпы: 1) случайная толпа -временное собрание людей на событии типа нахождения перед открытием магазина, при этом Б. мало; 2) условная толпа - люди, собравшиеся на какое-то мероприятие, например, на
спортивное состязание, В. мало, но увеличивается Б. ; 3) экспрессивная толпа - люди, выражающие себя пением, танцами и т. п., велики Бу и Оу ; 4) мобилизованная толпа - люди, со-
у У
бравшиеся из-за враждебных представлений в связи с реальным или несуществующим событием, В у мало, но также велики Б. и О. (трудно отделяемый от предыдущего случай).
Работа со слухами. Очень важным элементом для межличностного общения являются слухи. Они применяются и в рекламе, и в психологических операциях. Слухи являются мощным оружием, но они должны быть хорошо подготовленными и находиться под контролем. Можно выделить три характеристики слуха.
1. Источник должен быть привлекательным для аудитории и пользоваться ее доверием. Предполагаем, что эксперт каким-то образом определил О(1) - степень привлекательности слуха для -го агента. Простейший случай: О,(1) =±1 - привлекательный или непривлекательный. Непрерывный случай: О;(1) е [0,1].
2. Содержание слуха должно вызывать доверие. О(2) - степень доверия у 7 -го агента. Простейший случай: О,(2) = ±1 - доверяет или не доверяет. Непрерывный случай: О,(2) е [0,1] - насколько доверяет (степень доверия).
3. Получатель слуха становится его передатчиком по мере передачи его дальше, соответственно О,(3) - активность 7-го агента при передаче сообщения.
Можно ввести величину Sjj. - активность по передаче сообщения от /-го к j-му по аналогии с проводимостью в нейросети. Продолжая аналогию с нейросетями, определим влияние
слуха на i-го агента посредством формулы aj = 2 S OpO(2), где Jj - множество агентов,
jeJ,
имеющих влияние на i -го агента. Считаем, что если a, больше некоторого порога, то агент i принимает то мнение, ради распространения которого запускалось данное сообщение. Но, даже не поменяв мнение в пользу слуха, агент может передать его дальше, и наоборот. Передаст ли агент сообщение дальше или нет, зависит от порогового значения в, которое подбирается эмпирически в зависимости от аудитории. Если O,(3)aj > в, то слух передается дальше.
Методы создания слуха вызывают особый интерес. Здесь важными являются особенности передачи информации и особенности человеческого восприятия. Используются три операции -выравнивание, выпячивание и уподобление.
Выравнивание подразумевает, что слухи должны быть краткими и простыми, поскольку подлежат устной передаче. Основной акцент делается на особенностях обработки информации разными социальными группами. Одно из правил этого уровня звучит следующим образом. Информация, которая не выровнена, некоторыми группами выпячивается, становясь важной. То, что выпячивается одной группой, может быть выровнено другой. Степень выравнивания можно считать монотонно убывающей функцией от длины слуха (в словах), задаваемой экспертом.
Выпячивание закономерности, или выборочное восприятие, когда из большого текста берут только ключевые моменты. Можно поступить следующим образом. Длинное сообщение разбивается на фрагменты, для каждого их которых определяется степень привлекательности O(1) для данного агента. Выпячивание заключается в том, что выбирается фрагмент с максимальным значением этой характеристики, и далее передается только он, но при этом, как правило, снижается степень доверия O}2), в том числе и у этого агента.
Уподобление отражает имеющиеся стереотипы, этноцентризм и предубеждения. Уподобление заключается в том, что все множество агентов разбивается на непересекающиеся под-
K
множества, например, по этническому признаку, т. е. ^П, = П, где П - все агенты. При
i=1
этом i Ф j ^П,. Q Пj = 0. Так как у них различная эмоциональная реакция на конкретный слух, а значит, разная степень доверия и т. д.
Метод анализа пропаганды SCAME и контрпропаганда.
SCAME - это аббревиатура следующей цепочки слов: Source, Content, Audience, Ме^а, Effect.
Источник (Source). На первом этапе интерес представляют достоверность, точность источника, его возможная связь с правительством, военным командованием, организацией или конкретным индивидом. Таким образом, определяется несколько источников Source1, ..., Sourcek, которые также являются особыми агентами в нашей модели. Кроме того, у нас есть несколько агентов-экспертов: Expert1, ..., Experts. Согласно мнению i -го эксперта, каждый
источник характеризуется вектором M . m(j),...,m(j)^, который называется независимым
мнением i-го эксперта о j-м источнике. Здесь m(k'J) - характеристики типа достоверность, точность, связь с правительством, связь с военными организациями, связь с конкретными агентами. Можно считать, что 0 < mkjj) < 1.
Содержание (Content). Здесь необходимо предложить конкретный формат, в соответствии с которым оценивается содержание. Акцентируются следующие моменты: боевой дух, непреднамеренная информация, экономические, биографические и географические сведения, намерения. Можно разделить содержание на классы информации: информация о состоянии дел в ходе военных действий; экономическая информация; биографическая информация; географическая информация; намерения того, кто сообщает, по поводу того, о ком сообщается. Можно опреде-
лить Vt - объем информации каждого типа. Если информация поступает от нескольких источников, то можно взять их линейную комбинацию с весами (для каждого класса в отдельности, при этом учесть достоверность источника и объем информации каждого класса).
Аудитория (Audience). Детальный анализ аудитории позволяет установить много разнообразных типов аудитории, на которые могло быть направлено данное сообщение, т. е. происходит разбиение на множестве агентов. Например, внутри национальной группы можно выделить такие подгруппы, как радикалы, нейтральные, попавшие под влияние других культур. Группа может считаться одним интегральным агентом. В этом случае численность группы является характеристикой агента. Типовые группы, которые рассматривают: первичные - семьи, отделение, взвод (в армии); вторичные - выборные структуры, такие как парламент и т. д.; категории - общность людей, объединенных этнической принадлежностью, расой, полом; совокупность - объединение по географическому признаку (например, европейцы). Объединение групп и представление их как одного агента существенно упрощает моделирование, но при этом, естественно, теряется точность.
Медиа (Меdia). Интересует ответ на такой вопрос: что именно было избранно противником для передачи данного сообщения? Рассматриваются разные типы техник передачи информации: радио, граффити, листовки, телевидение и т. д. Каждая характеризуется Sp - результативностью (силой)влияния.
Эффект (Effect). Возможные последствия введения данного сообщения в массовое сознание. Определяется целевая функция Effect для частного случая - конкретной аудитории, содержания, медиа. Функция Effect (Source, Content, Group, Media) строится исходя из экспертных оценок и локальном тестировании. Определяется количество агентов (в данной группе) с положительным (+1) и отрицательным (-1) мнением до введения данного сообщения и через некоторое время. Было N+ и N—, стало M+ и M—. N = N+ + N— - общее число агентов. Величина (M + — N +)/ N показывает, насколько возросло количество имеющих положительное мнение по данному вопросу, и ее можно считать значением функции Effect. Для того, чтобы
учесть все группы, можно использовать формулу 1 a{scGM\Effect(S,C,G,M), где
{S ,C,G,M }
a{SCGM} - вес, определяющийся численностью и авторитетностью данной группы, а также,
возможно, и затратами на медиа.
В дополнение скажем несколько слов о контрпропаганде. Контрпропаганда предполагает использование конкретных техник по опровержению введенного противником сообщения. Каждая из этих техник имеет свои позитивные и негативные последствия. Ниже приведены некоторые из возможных техник.
Прямое опровержение. Оно должно быть достоверным и быстро достигать аудитории, чтобы не дать проявиться разрушительному эффекту сообщения противника. Однако этот тип опровержения одновременно привлекает внимание и служит распространению враждебной информации, т. е. оно имеет смысл только, если оказывается, что
Effect (Sourceopp , Contentopp , Grom Mediaopp ) « Effect (Sourcecontr , Contentcantr , Grom Mediacontr )
Непрямое опровержение. Направлено не на повтор сообщения, а на другие его характеристики, например, на борьбу с достоверностью оппонента. Это проведение самостоятельной информационной кампании, направленной на снижение O(2) для как можно большего числа агентов.
Отвлечение внимания. Введение новых тем, уводящих массовое сознание в сторону.
Молчание. Иногда лучше промолчать, чтобы не распространять чужое сообщение. Существует пороговое время t0, которое определяет, как долго агенты помнят содержание сообщения. Если через какое-то время t > t0 новых сообщений не поступило, то интерес затухает и мнение становится нейтральным, сообщение больше не распространяется. В этом случае главное - оценить кратковременный эффект от поступившего сообщения и степень его опасности.
Предупреждение. Собственный разговор на темы, которые предположительно будут подняты противником. Суть состоит в том, чтобы добиться как можно большего значения N + на момент начала предполагаемой информационной кампании противника.
Некоторые интересные множества пользователей социальной сети и их характеристики
При анализе социальных сетей интерес представляет следующая ситуация. Выделяются два графа в соответствии с некоторыми критериями, например совокупности пользователей, в сообщениях которых содержится лексика первого и второго типа соответственно. Ребра соответствуют взаимным цитированиям или разного рода критериям, связанным с использованием лексики. В качестве весов вершин берутся частоты использования тех или иных слов. Веса ребер также могут быть определены посредством различных частот слов, используемых ими одновременно.
Тогда интерес представляют не только пересечение данных графов или их симметрическая разность, а также некоторые другие подграфы, точнее, некоторые подмножества вершин. Например, множество вершин, «достаточно близких» к пересечению. Точные определения даны ниже.
Предполагаем, что имеются два графа = (^,Е1), G2 = (2,Е2), где V - множество вершин графа; Ei - множество ребер графа; / = 1, 2. Естественным образом определяются объединение двух графов G1 и G2, их пересечение G1 п G2 и симметрическая разность G1AG2 = ^ иG2) \ ^ пG2) = (^ \ G2) ипG1).
Обозначим для краткости Н = G1 п G2. Пусть ай](х, у) ^ Е(х, у) V Е(у, х), Ай](х) = {у: ай](х,у)} , Ай]Н(х) = Ай](х) п Н , САй](х) = Ай](х) \ Ай]Н(х).
Далее считаем, что заданы две функции:
ю,: ^ ^ N - функция, задающая веса вершин;
Г : Ei ^ N - функция, задающая веса ребер.
Можно определить весовую функцию, заданную на объединении графов
ю( х) =
ю1 (х), если х е G1 \ G2, ю2 (х), если х е G2 \ G1, (ю1 (х) + ю2 (х)) / 2, если х е G1 п G2.
Аналогично может быть определена функция г (х).
Числовые характеристики некоторых подграфов:
а, = X ю, (х), ^ = X ю, (х), ^ = X ю(х), ^ = X ю(х);
хе Сг, хе О1 пОг хеОх п02 хе О1А02
в, = X Г (е), в(х) = X г(х,у), у(х) = X г(х, у).
ееЕ, уеАё] (х) уеСАй] (х)
Рассмотрим множества Gi/ = {х'е Gi: Зх е Н (ай](х, х'))} . Наибольший интерес представляет множество Ь = ^ и G/2) \ Н, т. е. это те пользователи сети, которые очень близко (можно сказать, что «на расстоянии одной вытянутой руки») находятся от пересечения двух сообществ пользователей.
Далее рассматриваем элементы х е Ь . Отметим, что функция ю(х) может быть нормирована; а именно: вместо функции ю( х) можно рассматривать функцию
Гю( х)/ а1, х е G1' \ Н,
Р(х)=1 ,
[ю(х)/ а2, хе G2 \ Н.
Наиболее интересными числовыми характеристиками являются следующие.
1. Толерантность вершины:
T (х) = • I ю( у).
I a1 а2 I yeAdjH(х)
2. Степень защиты вершины:
D(х) = • I Ю(у).
1 а1 — а2 I yeCAdj(х)
3. Совместность множеств V1 и V2:
Q = I ю(х) + I T(х) — I D(х).
xeH x6G,AG,
Приведенные выше формулы можно обобщить таким образом, чтобы учесть веса ребер.
1. Толерантность вершины с учетом весов ребер:
т'м=10-01 -в!)- I «у)-^).
I а1 а2 I Р(х) уеЛсуи(х)
2. Степень защиты вершины с учетом весов ребер:
х) = .-Х • I ю(у) - г(х, у).
1 а1 — а 2 1 У(х) уеСЛсСу (х)
3. Совместность множеств У1 и У2 с учетом весов ребер:
е' = I ю(х) + I т'(х) — I Е/(х).
хеИ хе01&02 хе01&02
Программная реализация
В процессе исследований был разработан программный комплекс, содержащий модули извлечения информации из социальных сетей, обработки, анализа и визуализации данных. Все модули реализованы на языке Python для широкого круга операционных систем, на которых может работать комплекс. Структура программного комплекса показана на рис. 2.
Модуль извлечения данных имеет возможность извлекать данные, в первую очередь, из крупнейших социальных сетей: Twitter, Facebook, vkontakte. Для доступа к каждой из них используется интерфейс прикладного программирования (API), авторизация производится при помощи протокола OAuth. На данный момент этот модуль имеет возможность функционального расширения практически на любую социальную сеть, в зависимости от предоставляемого API.
Основными трудностями на этапе извлечения данных были ограничения на количество запросов к серверам социальных сетей от определенного IP адреса. На начальном этапе реализации ограничение на доступ к серверам Twitter составляло на более 350 запросов в час, на данный момент - от 60 до 720 в зависимости от типа запроса. Сервера vkontakte имеют ограничение в 3 запроса в секунду. Сервера facebook не имеют каких-либо ограничений на количество запросов, однако каждый запрос обрабатывается ими в течение 1-2 секунд. Для преодоления этих трудностей было решено использовать прокси сервера (на данный момент в модуль можно загружать их список). Также ввиду возможности модуля работать практически на любой операционной системе, довольно легко увеличить количество машин, на которых работает модуль, т. е. использовать распределенную обработку.
Извлеченные данные пользователей можно разделить на три категории: 1) собственно пользовательские данные, такие как имя, ник, время регистрации; 2) сообщения пользователей; 3) связи между пользователями. После извлечения модуль обработки данных производит поиск маркеров хэштегов, упоминаний пользователей, ссылок и т. д. Далее, производится нормализация текста сообщений в зависимости от настроек: либо с помощью стеммера Портера [9] (для большей скорости обработки), либо морфологическая нормализация на основе алгоритмов АОТ с использованием библиотеки PyMorphy.
Рис. 2. Структура программного комплекса
Для хранения данных используется документ-ориентированная база данных MongoDb. Выбор пал именно на эту БД по следующим причинам.
1. Имеются механизмы обработки данных Map Reduce и Aggregation framework, значительно ускоряющие обработку данных в самой БД для предоставления обрабатываемых данных в требуемом формате для последующего анализа.
2. Скорость работы самой БД, а именно время записи, в 2,5-3 раза меньше, нежели у MySQL, время чтения в 1,7-2,5 раза меньше, в зависимости от количества записей.
3. Отсутствие жесткой структуры данных (точнее вариабельность структуры) и простота ее изменения, что было важным условием, так как на начальном этапе получалось большое количество неструктурированных данных, и сама структура хранения данных постепенно вырабатывалась по мере их извлечения и исследования.
В модуле анализа данных используются различные алгоритмы кластеризации и классификации данных как самих пользователей и их связей, так и их сообщений. В модуле построения графовых структур имеется возможность для построения графов, отражающих связи пользователей. При этом могут использоваться данные как исходные, так и полученные в результате анализа. Имеется также возможность «выгрузки данных» в программное средство для работы с графами Gephi, как в некотором специальном формате, так и посредством http протокола. Модуль визуализации данных дает возможность на основе извлеченных данных строить графики зависимостей между различными показателями.
В качестве примера в таблице приведен список наиболее важных текстовых записей (лексем), встречающихся в информации, извлеченной из социальной сети Twitter. Легко видеть, что это фактически именно те количественные характеристики, отношения и множества, которые были рассмотрены в начале данной статьи.
Таблица
Перечень наиболее важных лексем, встречающихся в информации, извлеченной из социальной сети Twitter
'date_touch_': datetime.datetime (2013, 3, 19, 12, 22, 2) Дата загрузки информации из Твиттера в нашу БД (год, месяц, день, часы, минуты, секунды)
'name_': u'@jk_rowling' Имя пользователя (user)
'followers_count': 1600099 Количество людей, которые читают сообщения данного пользователя (т. е. подписчиков этого пользователя); ограничение - не больше 100
'followers_relations': [u'@blum_judith', ...] Имена людей, которые читают сообщения данного пользователя (т. е. подписчики этого пользователя); ограничение - не больше 100
'friends_count': 1 Количество друзей: 1; ограничение - не больше 100
'friends_relations': [u'@pottermore'] Имена друзей пользователя; ограничение - не больше 100
'hash_tags': [[u'#leveson', 1], ...] Перечислены хэштеги (ссылки в сообщениях на заданную тему, например, '#leveson'), которые встречаются в сообщениях пользователя, и количество употреблений каждого хэштега
'inited_': '2009.08.03_13:23' Дата создания аккаунта
'initted': datetime.datetime (2012, 12, 2, 10, 34, 50) Дата создания сообщения (год, месяц, день, например, 02.12.2012); остальные цифры - время (часы, минуты, секунды)
'mentions': [[u'@pottermore', 2], ...] Имена пользователей, которые упоминаются в сообщениях, и количество упоминаний каждого из них в сообщениях пользователя
'mentions_relations': [u'@pottermore'] Имена пользователей, которые упоминаются в сообщениях
'real_name': u'J.K. Rowling' «Настоящее» имя пользователя
'retweets': 2275 Количество пересылок данного сообщения (это сообщение переслали 2275 раз)
'timeline': ['text': ] Тексты самих сообщений пользователя; сообщения на русском языке из-за кодировки отображаются некорректно; ограничение на количество
'timeline_count': 17 Количество сообщений («твитов»), созданных пользователем; ограничение на количество
'urls': [[u'http://t.co/rC1vS6Vu.', 1],.] Перечислены внешние ссылки в интернете, которые встречаются в сообщениях пользователя, и количество упоминаний каждой ссылки
Заключение
Итак, данная работа посвящена проблеме анализа компьютерных социальных сетей. Предложены различные характеристики (количественные и структурные), даны соответствующие понятия, модели и методы, которые могут быть полезны для анализа информации, полученной из социальных сетей. Также был разработан программный комплекс, позволяющий извлекать информацию из социальных сетей, проводить обработку, анализ и визуализацию данных. Модуль извлечения данных имеет возможность извлекать данные, в первую очередь, из крупнейших социальных сетей: Twitter, Facebook, vkontakte.
Программный комплекс, при использовании одного компьютера, позволяет в сутки выполнять от 8 до 250 тысяч запросов в зависимости от того, к какой социальной сети осуществляется запрос, и в зависимости от быстродействия оборудования и пропускной способности каналов. Очевидно, что объем получаемой информации оказывается очень большим. При увеличении одновременно используемых компьютеров, т. е. при использовании распределенной системы получения и обработки данных, объем еще более возрастает. Поэтому сначала необходимо из всего объема информации выделить ту часть, которую можно было бы достаточно эффективно обработать и которая представляла бы интерес в соответствии с поставленными целями. Наиболее простой способ - это использование ключевых слов, что и делается в настоящее время. В действительности, необходимо более детальное исследование этого нетривиального вопроса.
Далее, если объем выделенной информации «разумный», то все характеристики, понятия и методики, описанные в данной статье в высокой степени конструктивны, за исключением методик, связанных с психологическими операциями. Конструктивность означает, что числовые и нечисловые характеристики, отношения, множества и графы, рассмотренные в данной работе и естественным образом связанные с пользователями сети и сообщениями, легко могут быть вычислены или построены при помощи соответствующих алгоритмов.
Формализованная модель психологических операций построена на основе ранее известных неформализованных материалов на эту тему. При этом используется некоторая модификация теории Латане и мультиагентный подход. Ясно, что предложенный подход может быть использован на практике, но очень большая нагрузка ложится на действующих экспертов. Они, исходя из опыта, должны задать ряд констант, функций и т. д. Если говорить о тестировании предложенного подхода, то наиболее трудоемкая часть - это выбор показательного примера множества целевых групп для формирования базового набора данных и развитие обоснованного набора правил поведения и влияния, т. е. воздействий, на агентов. Если набор данных и правила поведения хорошо разработаны, то моделирование будет более надежным, реалистичным и заслуживающим доверие, и? конечно, большие усилия должны прилагаться для сбора данных.
Список литературы
1. Charu C. Aggarwal Social Network Data Analytics. Boston: Kluwer Academic Publisher, 2011.520 p.
2. Батура Т. В. Методы анализа компьютерных социальных сетей // Вестн. Новосиб. гос. ун-та. Серия: Информационные технологии. 2012. Т. 10, вып. 4. С. 13-28.
3. Роджерс Э., Агарвала-Роджерс Р. Коммуникации в организациях. М.: Экономика, 1980. 178 c.
4. Крючков В. Н., Мурзин Ф. А., Нартов Б. К. Исследование связей в коллективах и сетях ЭВМ на основе анализа предпочтений // Проблемы конструирования эффективных и надежных программ. Новосибирск, 1995. C. 136-141.
5. Nowak A., Szamrej J., Latané B. From Private Attitude to Public Opinion: a Dynamic Theory of Social Impact // Psychological Review. 1990. Vol. 97. P. 362-376.
6. Wragg T. Modeling the Effects of Information Campaigns Using Agent-Based Simulation // Prep.: Command and Control Division, Defense Science and Technology Organization. Australian Government, DSTO-TR-1853, 2006. 61 p.
7. ПочепцовГ. Военные методы мирной рекламы // Рекламное измерение. 1998. Вып. 7 (48).
8. Копылова Н. С., Мурзин Ф. А. Моделирование механизмов социального влияния на основе мультиагентного подхода // Вопросы искусственного интеллекта (Вестн. НСМИИ РАН). 2009. С. 173-183.
9. WillettP. The Porter Stemming Algorithm: Then and Now // Program: Electronic Library and Information Systems. 2006. Vol. 40 (3). С. 219-223.
Материал поступил в редколлегию 03.06.2013
T. V. Batura, N. S. Kopylova, F. A. Murzin, A. V. Proskuryakov METHODS OF DATA ANALYSIS FROM SOCIAL NETWORKS
This work is dedicated to the computer social network analysis. It is a question of a formal definition of various characteristics (numerical and structural), an introduction of corresponding concepts, models and methods, which can be useful to the analysis of information received from social networks. For the analysis of interpersonal relations, it is offered to use the so-called analysis of preferences. Various modifications of the theory of dynamic social influence of Latane in conformity to considered problems are proposed. Authors also had been studied the techniques used at carrying out of psychological operations, and on the basis of them, corresponding formal models have been offered. The article also shortly describes the developed program complex allowing us to take information from social networks, carry out the processing, the analysis and visualization of data. The module of the extraction of data has the possibility to take data from such social networks as: Twitter, Facebook, vkontakte.
Keywords: social networks analysis, data analysis, Latane's theory, psychological operations/
References
1. Charu C. Aggarwal Social Network Data Analytics. Boston: Kluwer Academic Publisher, 2011. 520 p.
2. Batura T. V. Metody analiza komputernyh socialnyh setey // Vestn. Novosib. gos. un-ta. Seriya: Informacionnye tehnologii. 2012. T. 10, vyp. 4. S. 13-28.
3. RodzhersE., Agarvala-RodzhersR. Kommunikacii v organizaciyah. M.: Ekonomika, 1980. 178 c.
4. Kruchkov V. N., Murzin F. A., Nartov B. K. Issledovanie svyazey v kollektivah i setyah EVM na osnove analiza predpochteniy // Problemy konstruirovaniya effektivnyh i nadezhnyh programm. Novosibirsk, 1995. C. 136-141.
5. Nowak A., Szamrej J., Latané B. From Private Attitude to Public Opinion: a Dynamic Theory of Social Impact // Psychological Review. 1990. Vol. 97. P. 362-376.
6. Wragg T. Modeling the Effects of Information Campaigns Using Agent-Based Simulation // Prep.: Command and Control Division, Defense Science and Technology Organization. Australian Government, DSTO-TR-1853, 2006. 61 p.
7. Pochepcov G. Voennye metody mirnoy reklamy // Reklamnoe izmerenie. 1998. Vyp. 7 (48).
8. Kopylova N. S., Murzin F. A. Modelirovanie mehanizmov socialnogo vliyaniya na osnove multiagentnogo podhoda // Voprosy iskusstvennogo intellekta (Vestn. NSMII RAN). 2009. S. 173-183.
9. Willett P. The Porter Stemming Algorithm: Then and Now // Program: Electronic Library and Information Systems. 2006. Vol. 40 (3). С. 219-223.