Построение оптимального графа связей в системах коллаборативной фильтрации

УДК 51-7

Д. М. Понизовкин

Построение оптимального графа связей в системах коллаборативной фильтрации

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

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

Введение

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

Разработчики одной из первых РС [1] ввели термин, который широко применяется на данный момент, — это термин коллаборативная фильтрация или collaborative filtering (далее КФ). В статье [1], где был введен данный термин, описывается экспериментальная система электронных писем, создание которой мотивировалось ростом электронных писем, наводняющих пользователя, большинство из которых пользователю не интересны. Целью данной системы являлась фильтрация ненужных писем. Помимо фильтрации по содержанию

Работа проводилась при финансовой поддержке Министерства образования и науки Российской Федерации.

© Д. М. Понизовкин, 2011

© Программные системы: теория и приложения, 2011

(content-based filtering), система поддерживала КФ. Данная технология обозначает, что различные люди коммуницируют друг с другом, помогая отфильтровывать сообщения, записывая реакцию на прочитанные документы.

Эта техника часто используется при создании РС, чье предназначение состоит в рекомендации различных объектов пользователям таких систем. Популярной РС является веб-сервис Amazon. В нем используется база данных предпочтений пользователей по отношению к различным объектам для создания рекомендаций пользователям. В общем виде сценарий КФ можно описать так [2]: существует множество пользователей {и i ... ,ип} и множество объектов {oi, 02,..., от}. Каждый пользователь имеет список оцененных им объектов. Оценки могут принадлежать разным шкалам от 1 до 10, от 1 до 5 и т.д., а также разным типам шкал [3]: порядковой или относительной. Если пользователь щ желает получить рекомендацию (или прогноз своей оценки на неоцененный объект), то по известным оценкам устанавливаются ближайшие по предпочтениям (или по оценкам на одни и те же объекты) пользователи к «¿. Далее система выдает рекомендации пользователю щ (или рассчитывает прогнозную оценку на объект), исходя из оценок ближайших к щ пользователей по предпочтениям.

Стандартные шаги данных алгоритмов КФ можно описать так:

• вычисление схожести между двумя пользователями,

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

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

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

1. Данные

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

Информацию о пользователях и объектах можно представить векторами характеристик, то есть описать элементы множеств и и О как

и € и = (си1,...,сим), где ¿и € Си, г = 1..К, N = |СУ;

о е О =(с0,...,сом), где с° € Со, з = 1..М, М = |С0|.

В общем случае каждая характеристика пользователя отображает отдельную область знаний, объекта — стилистическую направленность. Между характеристиками пользователей и объектов можно построить соответствие. Например, в системе экспертного оценивания каждого пользователя (эксперта) можно описать вектором, в котором каждая характеристика соответствует некоторой научной области, а ее значение — степени компетенции эксперта в этой области. Объект (проект) можно описать вектором, в котором каждая характеристика соответствует некоторой научной тематике, а ее значение — степени принадлежности темы проекта к тематике. Между такими характеристиками нетрудно построить соответствие. Другой пример: в системе http://www.last.fm/, вырабатывающей музыкальные рекомендации, областью знаний пользователя является его музыкальный вкус, стилистической направленностью объекта — музыкальный стиль.

2. Расстояние от пользователя до объекта

Пусть известно отображение ] : О ^ и, которое можно построить через установление соответствия между характеристиками пользователя и объекта. Данная функция отображает стилистическую направленность объекта о на область интересов пользователя и. Будем считать, что одному элементу множества О соответствует некоторое подмножество множества V. Для каждой ИС отображение ] : О ^ и

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

Как говорилось выше, каждый элемент множества и описывается вектором его характеристик. Зададим значимость характеристик с помощью шкалы весов. В общем случае будем задавать веса по следующему правилу: шкале характеристик Б = (вх,.. ., ), где — максимальное значение характеристики и > Sj ,1 > ], соответствует шкала весов Ш = (юх, .. ., ), где и)]~ = 0, Уг > з : ^ < Wj, У г : 'Шг > 0 и € М. Вес соответствует значимости характеристики яг. Например, шкале Б' = (0,1, 2, 3) может соответствовать шкала весов Ш' = (1, 0.7,0.5, 0). Объекту о, описанному вектором характеристик (2, 3,0,1), будет соответствовать вектор весов (0.5, 0,1,0.7).

Установив веса для характеристик, введем расстояние ¿и для элементов а, Ь множества О. Пусть и)1 = (и) 1,. .., тМ) — вектор весов для объекта а, тъ = (тъ,..., тъм) — вектор весов для объекта Ь.

0, если Зг = 1..М : та = = 0;

0, если = 1..М : wа = ш*; м

+ т>ъ) в остальных случаях.

г =1

Утверждение 2.1. Функция ¿и обладает псевдометрическими свойствами [4].

Доказательство.

(1) а = Ь. Из определения расстояния следует, что ¿и(а, Ь) = 0, так как их вектора весов для а и Ь будут совпадать. Однако из условия ¿и(а,, Ь) = 0 не следует равенство элементов а и Ь (см. первое условие в определении функции расстояния).

(2) ¿и(а,, Ь) = ¿и(Ь, а). Если ¿и(а,, Ь) = 0, то и ¿и(Ь, а) = 0, что следу-

м

ет из определения. Если ¿и(а, Ъ) = 0, то ¿и(а, Ъ) = ^ (тЦ + гш\) =

г=1

м

ЕКЪ + <) = Ли(Ь, а).

=1

(3) ¿и(а,Ъ) < ¿и(а,с) + ¿и(Ъ,с). Обозначим через та, тъ и тс вектора весов для объектов а, Ь и с соответственно. Неравенство

м м м

треугольника ^ (та1 + т'Ъ) < ^ (тЦ + адгс) + ^ (адъ + тС) следует

=1 =1 =1

¿и (а,, Ь) =

М

из того, что 2 • wf > 0, так как веса являются неотрицатель-

i=i

ными величинами.

Множество пользователей является псевдометрическим множеством.

Введем функцию расстояния между двумя множествами U и О. Расстояние от точки х до подмножества А относительно псевдометрики d определим как D(A, х) = inf[d(x, у) : у € А} [4].

Таким образом, можем ввести функцию расстояния от пользователя до объекта:

(2) duo(и € U, о € О) = inf[du(х,у) : у € f (о)}.

3. Модель прогнозирования и ее представление с помощью графа

Результатом работы рекомендательной системы или системы КФ является некоторое множество, состоящее из пар вида (пользователь х объект) (в случае с прогнозными оценками паре будет соответствовать число — спрогнозированная оценка пользователя).

Результат работы таких систем можно представить с помощью графа связей. Прогнозным графом связей (далее граф связей) назовем такой граф д = (V = [U,0},E), вершины которого являются элементами из множеств О и U, ребра представляются парой (и € U, о € О). Ребро, соединяющее элемент и € U с элементом о € О означает то, что объект о € О был рекомендован (или на него была спрогнозирована оценка) объекту и € U. Каждое ребро имеет вес, который соответствует значению функции расстояния duo(и € U, о € О). Из каждого элемента щ € U, г = 1..N, можно провести Li (г = 1..N) ребер к Li разным объектам. Число Li соответствует количеству запрошенных пользователем рекомендаций (или прогнозов).

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

Введем функцию е : G ^ R

N Li

(3) е(д е = duo (ui,°i:i)-

i=ij=i

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

Задача: требуется найти минимум функции е(д е G) на множестве G.

Решение задачи: поставленная задача может быть решена с помощью полного перебора всего множества графов G. Но это решение требует большого времени вычисления. В данной работе предложен алгоритм, основанный на методе имитации отжига (simulated annealing) [5].

Определение 3.1. Профилем пользователя щ, г = 1..Li; назовем О' С О = oi,. .., OLi, такое, что У] = 1..Li 3ej е Е = (щ, Oj) (иными словами, профиль пользователя — множество назначенных ему объектов).

Определение 3.2. Соседним графом к графу g считается такой граф h, в котором существует только один профиль пользователя, отличающейся от профиля того же пользователя в графе д, на один объект.

Далее с помощью псевдокода описывается алгоритм нахождения минимума функции е(д е G).

• Шаг 0. Инициализация алгоритма.

— Инициализируем переменную г := 0.

— Инициализируем переменную t := Т — начальная температура. Для разных систем может быть разной.

— Выберем случайный граф д е G.

— г е (0,1) — константа, нужная для понижения температуры.

• Шаг 1. Если t = 0, алгоритм заканчивается. Решением является

граф д.

• Шаг 2. Рассчитаем значение е(д) = val.

• Шаг 3. Выберем соседний к д граф д'.

• Шаг 4. Рассчитаем значение е(д') = val'.

• Шаг 5. Если (val > val'):

(1) д := д' (текущим графом считаем граф д!),

(2) г := т.

Иначе:

(1) рассчитаем вероятность Р перехода в граф д' и берем случайное число р е (0,1);

(2) если р > Р, то д := ^'(текущим графом считаем граф д');

(3) иначе текущим графом является д.

4. Практические результаты

Для ИС http://edu.botik.ru/ был написан модуль, реализующий описанный в работе алгоритм. Алгоритм был протестирован на результатах, полученных на XV молодежной научной конференции «Наукоемкие информационные технологии» г. Переславля.

Пользователями системы являются студенты и лектора, объектами — научные проекты, представленные участниками конференции. После распределения научных проектов пользователи системы выставляют оценки полученным проектам. В результате оценивания определяются победители конференции. Каждый пользователь системы описывается вектором характеристик, соответствующих научным областям. Значение характеристики пользователя определяет степень компетентности пользователя в научной области. Проекты также описываются векторами характеристик, которые соответствуют научным тематикам. Значение характеристики объекта определяет степень его принадлежности научной тематике. На основании значений векторов производится распределение. Было получено значение функции показателя эффективности прогноза, равное 17169. Значение данной функции на графе связей, полученном при работе алгоритма, использующегося ранее в системе — 40766. Таким образом, получили улучшение более, чем в два раза.

5. Заключение

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

применим практически. Описанные методы реализованы и показана их практическая эффективность.

Список литературы

[1] Goldberg D., Nichols D., Oki B., Terry D. Using collaborative filtering to weave an information // Communications of ACM, 1992. 35, no. 12, p. 61—70 t[]

[2] Heckerman D., Breese J.S., Kadie C. Empirical Analysis of Predictive Algorithms for Collaborative Filtering : // Proceedings of the 14th Conference on Uncertainty in Artificial Intelligence, 1998 t[]

[3] Орлов А. И. Прикладная статистика. М. : Изд-во «Экзамен», 2004.— 656 c.

tu

[4] Келли Д. Общая топология. М. : Изд-во «Наука», 1968.— 384 c. t2.1, 2

[5] Kirkpatrick S., Gelatt C., Vecchi M. Optimization by Simulated Annealing // Communications of ACM, 1988. 220, no. 4598, p. 671-681 t3

D. M. Ponizovkin. Construction of optimal graph of relations between sets of subjects and objects in collaborative filter systems.

Abstract. Collaborative filtering (CF) is the process of filtering for information or patterns using techniques involving collaboration among multiple agents, viewpoints, data sources, etc. Applications of collaborative filtering typically involve very large data sets. In article presents metric function between set of users and set of items and evaluating method of predictions.

Key Words and Phrases: collaborative filtering, recommender systems, evaluating of predictions, distance between user and item.

Образец ссылки на статью:

Д. М. Понизовкин. Построение оптимального графа связей в системах коллаборативной фильтрации // Программные системы: теория и приложения : электрон. научн. журн. 2011. №4(8), с. 107-114. URL: http://psta.psiras.ru/read/psta2011_4_107-114.pdf