Научная статья на тему 'Свойство устойчивости для систем распределенной совместной фильтрации информации'

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

CC BY
156
26
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМЫ СОВМЕСТНОЙ ФИЛЬТРАЦИИ / УСТОЙЧИВОСТЬ / ФОРМАЛИЗАЦИЯ

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

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

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

Proving robustness in a distributed collaborative filtering system

In this paper we propose a theoretical approach to collaborative information filtering system analysis. We formalize criteria of controllability and robustness by users and messages. In a framework of distributed collaborative filtering system proposed earlier, we analyze different types of functions for computing transitive users rates and messages ratings. A formal analysis allows to choose functions according to criteria proposed.

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

УДК 004.4’2

Г. А. МАКЕЕВ

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

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

формализация

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

К этой области, в частности, относятся получающие все более широкое распространение и применение системы рекомендаций (Recommender Systems) [6] и системы совместной фильтрации информации (Collaborative Filtering Systems) [8].

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

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

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

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

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

Вопросы безопасности в существующих системах совместной фильтрации. Общее описание известных подходов к системам рекомендаций было приведено автором в работе [1].

Исследования проводились в рамках Федеральной целевой программы «Интеграция науки и высшего образования РФ на 2002-2006 гг.» по проекту «Фундаментальные исследования и новые технологии проектирования сложных технических систем» и частично поддержаны грантом РФФИ 03-07-90242 «Интернет-комплекс поддержки выполнения проектов фундаментальных исследований сложных систем с применением интеллектуальных технологий на базе экспертных систем» (2003-2005 гг.).

Большинство существующих систем рекомендаций являются централизованными, что приводит к целому ряду сложноразрешимых проблем. Во-первых, при таком подходе пользователь не может управлять процессом построения рекомендации для него. Во-вторых, такая система становится неустойчивой, зависимой от функционирования центрального сервера. В-третьих, она небезопасна с точки зрения хранения конфиденциальной информации на удаленной от пользователя машине. Критика централизованной организации системы рекомендаций представлена, например, в работе [2]. Там же рассматривается децентрализованный подход к построению системы рекомендаций и метод вычисления некоторым сообществом пользователей агрегированных рекомендаций, при котором индивидуальные конфиденциальные рекомендации не открываются.

Во всех разработанных к настоящему времени системах практически отсутствует контроль пользователя за созданием рекомендаций, что влечет за собой отказ пользователей от системы в случае, если она начинает давать плохие рекомендации, из-за невозможности на нее влиять [3].

Неуправляемость пользователем процесса построения рекомендаций в большинстве существующих систем совместной фильтрации приводит к еще одной критической, на наш взгляд, проблеме — уязвимости подобных систем к пользователям, намеренно нарушающим нормальную работу системы. Раз репутация пользователя зависит от его оценок со стороны всех пользователей, то достаточно большой группе пользователей ничего не мешает сильно увеличить или уменьшить репутацию некоторого пользователя и повлиять, таким образом, на всех остальных. Но еще более важно то, что предлагаемые конкретному пользователю рекомендации слабо зависят от его участия, зато сильно зависят от поведения других пользователей. В Р2Р-системах обмена файлами [5], например, большая группа пользователей может высоко оценить некоторый злокачественный файл, и их оценки повлияют на всех остальных пользователей.

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

Структура системы распределенной совместной фильтрации. В предлагаемой распределенной системе совместной фильтрации [4] каждый пользователь системы Ui (здесь и далее i £ [L.iV17]) является владельцем узла peer-to-peer сети (в случае идеальной сетевой инфраструктуры, подразумевающей постоянное включение узлов в сеть и отсутствие межсетевых экранов).

Каждый пользователь размещает у себя на узле множество сообщений к £ [l..iV™]}, подписывая их своей парой клю-

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

@

Сообщения

Канал Сообщение Подпись

/ / / Климат 13 февраля мощный шторм подошел к станции в центральное Антарктиде

\ ч Пользователь Имя. Иванов ИИ. МестоположениеУфа Языки русский

Рис. 1. Управление сообщениями

Оценки

Канал Пользователь Оценка

^ - Климат ц 0,9

^—

- Общество 14 0,7

Рис. 2. Множество оценок пользователя

Кроме множества сообщений, хранимых пользователем на своем узле, пользователь управляет множеством своих оценок других пользователей Щ : 2 € [1..АгГ/]}. Только сам поль-

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

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

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

ния транзитивно замыкаемой оценки, потому что от этой функции, в том числе, непосредственно зависит функционирование системы.

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

ет то, каким образом оценка конкретного сообщения М вычисляется по расширенному множеству оценок .

и,

Формализация свойства устойчивости. Выбор оптимального вида функции транзитивного замыкания ТКР{11г,ии к) и функции является самой важной задачей организации системы. Для того чтобы сравнивать разные функции между собой и выявлять более подходящую, необходимо иметь объективные критерии оценки применимости этих функций для системы.

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

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

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

В терминах предложенной модели этот аспект устойчивости по пользователям можно формализовать в виде функции /:

имеет место (1)

по всем (1)

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

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

имеет место

/(.!/•,. />’•,. Л/';. />’•,) = тах(.1.1//•'(/». //”)).

по всем сообщениям по всем

и,

таким, что

(2)

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

Выбор вида функции транзитивности оценок Анализ выполнения свой-

ства устойчивости. Функция транзитивности

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

По определению + 1) е Щ, если ([/,-, иу,Ьу) е Щ и {ик^зк) е Щ, Ьц < Ь, где Щ есть расширенное множество оценок пользователя [/,, а Rj есть обычное множество оценок пользователя С/у, т. е. функция используется при вычислении оценок для пользователей следующего уровня транзитивности (рис. 3).

@

Рис. 3. Вычисление (Ь + 1)-го уровня через !/-й

Было предложено два альтернативных метода вычисления транзитивных оценок:

Е («и * Щк)

3 ^ ,—-— по всем 7 таким,

ЕЫ (3)

3

что

Е((«у)2*«д)

———г--------------по всем 7 таким,

Е(%') (4)

3

что

Используя приведенные выше критерии, удалось показать, что для первого метода вычисления транзитивной оценки = тах(иу) = 1, а

{-■'з

/2(Д^) = тах(иу) по всем ([/,,%,!/) е Д^. Это

{-■'з

означает, что в случае использования первого метода некоторые пользователи могут, сго-

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

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

Таким образом,

{-■'з

= fl(Rf ), и, формально говоря, с точки зрения этого аспекта устойчивости, второй предлагаемый метод вычисления транзитивных оценок количественно лучше первого.

Выбор вида функции агрегации сообщений . Анализ выполнения свойства

устойчивости. Функция вычисления ранга сообщения используется при построе-

нии результата совместной фильтрации как ранжированного множества сообщений.

Неранжированый результат совместной фильтрации определяется как объединение множеств сообщений, рекомендуемых пользователями, попавшими в расширенное множество оценок пользователя, т. е. М* = У (Му) по всем С/у, таким, что .

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

тем присваивания каждому сообщению из неранжированного результата фильтрации некоторого рейтинга. Согласно (2.10), МЩ есть множество пар (т, АМР(т, Д*)), где то £ М*, аАМР(т,Щ) есть некоторая числовая функция, определяющая то, каким образом оценка конкретного сообщения вычисляется по расширенному множеству оценок .

Рассмотрим одного пользователя уровня и нескольких пользователей уровня (рис. 4). Предположим также, что все эти пользователи содержат сообщение в своем множестве сообщений.

что для первого метода вычисления ранга сообщения = тах(ІА№(т,й*)) =

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

Для второго метода вычисления ранга сообщения

= % для всех (и£ Д‘*. Этот результат свидетельствует о том, что любой пользователь , попавший в расширенное множество оценок пользователя и находящийся не на последнем уровне транзитивности, не может добиться того, что ранг сообщения в ранжированном результате совместной фильтрации для пользователя С/, будет превышать вычисленную оценку самого пользователя , которая от него самого не зависит.

Таким образом, /2 = ^ 1 = Д, и второй ме-

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

и„)

Уровень L-1

(U, Vi, L) 4 v« L-> <U„ v„ LI

Vj1 — vik _Vjn

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

'(U, їі, L-1)

Рис. 4

Было предложено два альтернативных метода вычисления ранга сообщений:

ЗАКЛЮЧЕНИЕ

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

уровень L

U

AMF(m, R*) = где s = J2vik по всем к

к

таким, что (5) по всем таким, что

к

(С/., с,/.. /.) £ R*;

ЛMF(m,Д*) = |, где й = '£(Уік)2

к

по всем таким, что

(ик, ьік, Ь) £ К* и т £ М*, (6)

по всем таким,что

к

(ИкіЩкі Ь) £ Щ.

Используя приведенные выше критерии устойчивости по сообщениям, удалось показать,

СПИСОК ЛИТЕРАТУРЫ

1. Макеев, Г. А. Системы рекомендаций. Анализ проблемы и известных подходов к решению / Г. А. Макеев // Автоматизированные системы обработки информации и управления : сб. тр. шк. асп. Уфа: УГАТУ, 2006. Т. 1. С. 6-11.

2. Canny,J. Collaborative filtering with privacy / J. Canny // IEEE Conf. on Security.

3. Massa, P. Trust-aware Decentralized Recommender Systems: PhD research proposal / Dept. of Information and Communication Technology. Univ. of Trento, Italy, 2003.

4. Макеев, Г. А. Совместная фильтрация информации, устойчивая к внешним воздействиям / Г. А. Макеев, Н. И. Юсупова, Д. В. Попов // 7-я Междунар. конф. CSIT’2005. Уфа-Ассы, 2005. Т. 3. С. 209-215. (На англ. яз.).

5. Cornelli, F. Implementing a reputation-aware gnutella servent / F. Cornelli [et al] // Int. Workshop on Peer-to-Peer Computing. May 2002.

8.

Resnick, P. Recommender systems / P. Resnick, H.R. Varian // Communications of the ACM. 1997. Vol. 40 (3). P. 56-58.

Resnick, P. GroupLens: An open architecture for collaborative filtering of netnews / P. Resnick [et al] // Proc. of CSCW’94. Chapel Hill NC: ACM Press, October 1994. P. 175-186.

Aguzzoli, S. Collaborative case-based recommendation systems / S. Aguzzoli, P. Avesani, P. Massa // Lecture Notes in Computer Science. 2002. 2416.

ОБ АВТОРЕ

Макеев Григорий Анатольевич,

ассист. каф. выч. мат. и киберн. Дипл. инж.-програм. (УГАТУ, 2003). Дис. о системах совместной фильтрации информации.

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