, Shardanand, Upendra & Pattie MaesКоллективная информационная фильтрация : алгоритмы автоматизации «людской молвы»"Social Information Filtering: Algorithms for Automating Word of Mouth", Proceedings of CHI'95 Conference on Human Factors in Computing Systems, ACM Press, 1995. В последнее десятилетие наблюдается взрывной рост объёмов доступной обществу информации. Число книг, фильмов, новостей, рекламных сообщений и в особенности онлайновой информации ошеломительно. Объём всего этого значительно выше того, что может реально пропустить через себя человек, чтобы обнаружить то, что ему понравится. Люди пытаются справляться с этими информационными перегрузками собственными силами, силами других людей, но всё равно это не особо решает проблему. Большая часть вещей и информации теряется из виду людей просто потому, что они находятся вне их досягаемости или видимости. Во-вторых, уже без нашего участия большой объём информации отфильтровывается. Так, например, редакторы газет и журналов выбирают те статьи, которые их читатели хотят читать, книжные магазины решают, какие книги выпустить в продажу. Однако, с наступлением века электронной информации этот барьер становится всё менее решающим фактором. Наконец, мы опираемся на оценки и суждения наших друзей или других людей, чьему мнению и рекомендациям мы доверяем. Нам нужна технология, которая помогла бы нам разобраться со всем этим объёмом информации в целях найти то, что мы реально хотим и в чём нуждаемся, и избежать того, на что мы не хотим тратить своё время и внимание. Для решения проблемы информационного вала обычно используется метод фильтрации контента. Для пользовательского потребления система рекомендует объекты на основании корреляции содержания объекта с пользовательскими предпочтениями. Например, система может попытаться установить корреляцию между наличием ключевых слов в статье и пользовательскими предпочтениями. Однако такие рекомендации на основе содержимого контента имеют ряд ограничений: -
либо объекты должны быть в некой доступной для анализа машиной форме (например, текст), либо атрибуты должны быть вручную привязаны к объектам. Технологии должны быть на таком уровне, чтобы такие медиа, как звук, фотографии, арт-объекты, видео или физические объекты, могли быть автоматически проанализированы с последующей выдачей релевантной информации об их качественных характеристиках. Часто, практически невыполнимо и невозможно привязать качественные характеристики объектов вручную из-за ограниченности ресурсов. -
технологии по фильтрованию контента не имеют встроенного метода для генерации случайно сделанных обнаружений. Система рекомендует больше того, что пользователь уже видел раньше (и отметил понравившееся). На практике, часто возникает некоторый элемент случайности. Таким образом, для решения упомянутых выше проблем нужны дополнительные технологии отфильтровывания. Главным методом персонифицированного информационного фильтрования является коллаборативная фильтрация. По существу оно автоматизирует процесс рекомендации в виде людской молвы, «изустной рекламы»: объекты рекомендуются пользователю на основании оценок, выставленных им другими людьми с похожими вкусами и предпочтениями. Система определяет, какие пользователи имеют тот же вкус на основании стандартных формул вычисления статистических корреляций. Общественная (социальная, коллективная, коллаборативная) фильтрация преодолевает некоторые из ограничений контентного фильтрования. Отфильтрованным объектам не требуется иметь форму, пригодную для компьютерного анализа. Более того, система может рекомендовать пользователю объекты, отличные по своему содержанию от тех, что пользователь ранее помечал, как понравившиеся. В этой работе детально рассматривается внедрение системы коллаборативной фильтрации под названием RINGO, которая выдавала пользователям Интернета персональные рекомендации в отношении музыки. Результаты основываются на использовании этой системы тысячами реальных пользователей. Коллаборативная фильтрация использует схожесть вкусов различных пользователей для выдачи рекомендаций относительно объектов. Оно основывается на том факте, что людские предпочтения не распределяются случайным образом: у человека в его вкусе, а также во вкусах группы людей прослеживаются общие тенденции. Коллаборативная фильтрация автоматизирует процесс распространения рекомендаций по типу людской молвы. Значительное отличие от неё заключается в том, что вместо того, чтобы опрашивать нескольких друзей о нескольких объектах, система коллаборативной фильтрации может учитывать мнения тысяч людей в отношении тысячи объектов, производя всё автоматически и анонимно. В основе лежит следующая идея: -
Система поддерживает профиль пользователя, а также записи об интересах пользователя, его оценках (как положительных, так и отрицательных) по каким-то конкретным объектам. -
Она сравнивает этот профиль с профилями других пользователей, и взвешивает каждый профиль по степени его сходства с профилем данного пользователями. Измерение, используемое для определения сходства, может варьироваться. -
Наконец, система рассматривает ряд наиболее сходных профилей, и использует информацию, содержащуюся в них, для рекомендации объекта пользователю. RINGO – это система коллаборативной фильтрации, которая выдала пользователям Интернета персональные рекомендации в отношении музыки. Люди описывали свои эмоции от прослушивания музыки путём проставления оценок ряду музыкальных композиций. Эти оценки представляли собой персональный профиль пользователя. Этот профиль менялся по мере того, как пользователь выставлял оценки всё большему числу артистов. Ringo использовала эти профили для генерирования рекомендаций персонально каждому пользователю. Система сравнивала профили пользователей для установления тех, кто имеет похожие вкусы (т.е. им нравятся / не нравятся одни и те же альбомы). Как только такие пользователи были установлены, система могла предсказать, насколько пользователю мог понравиться альбом/артист, который ещё не был оценён путём вычислений взвешенного среднего всех оценок, данных этому альбому другими пользователями, имевшими похожие вкусы. Шкала оценок Ringo: -
- Невыносимо -
– Терпимо с трудом -
– Не моя вещь -
– Не заводит меня, не трогает меня -
– Хорошая вещь -
– Мощно -
– Одна из моих любимых, не могу жить без неё! Ringo представляла собой онлайновый сервис, доступ к которому осуществлялся через электронную почту. Пользователи могли подписаться на Ringo, послав e-mail на адрес ringo@media.mit.edu со словом «Присоединяюсь» в теле письма. Люди взаимодействовали с Ringo, посылая команды и информацию головному серверу по e-mail. Один раз в час сервер обрабатывал все входящие сообщения и посылал, если надо, ответы. Планировалось, что с сервисом можно будет работать через Интернет-интерфейс. Когда пользователь впервые посылал письмо Ringo, он посылал список из 125 артистов. Пользователь присваивал им рейтинг на основании того, насколько ему нравилось их слушать. Если пользователь не был знаком с артистом или не имел о нём чёткого мнения, его просили не оценивать данный объект. Пользователям специально советовали оценивать артистов исходя из того, насколько им нравится их слушать, а не по другому критерию, типа оригинальность, музыкальное мастерство и т.д. Шкала оценок варьировалась от 1 («невыносимо») до 7 («Одна из моих любимых, не могу жить без неё»). Такая 7-балльная шкала была выбрана исходя из результатов исследований, показавших, что надёжность собираемых в ходе исследований данных не демонстрирует какой-либо существенный рост по мере того, как число выборов превышает 7. Рейтинги не были нормализованы, так как пользователи ранжировали альбомы по разному. Например, некоторые пользователи присваивали рейтинги только той музыке, которая им нравится (т.е. диапазон их оценок – только 6 и 7), тогда как другие могли выставить как негативные, так и позитивные оценки (диапазон от 1 до 7). Список артистов, высылаемых пользователю, формировался из 2-х частей. Одна часть списка генерировалась из перечня наиболее часто ранжируемых артистов. Таким образом обеспечивалось, что новый пользователь имел возможность проранжировать тех артистов, которые также были проранжированы другими пользователями, так чтобы в профилях людей присутствовало некоторое совпадение. Другая часть списка генерировалась посредством произвольной выборки из (открытой) базы данных артистов. Так, артисты никогда не выпадали из цикла ранжирования. Пользователь мог также запросить список альбомов некоторых артистов, и проранжировать эти альбомы на индивидуальной основе. Как только персональный первоначальный профиль был заполнен и передан системе на обработку, Ringo посылала пользователю вспомогательный файл с детальной расшифровкой команд, воспринимаемых системой. Человек мог запросить у Ringo рекомендации, основанные на его персональном профиле. В частности, человек мог запросить у Ringo 1) предложить ему новых артистов/альбомы, которые понравятся пользователю, 2) перечислить артистов/альбомов, которые пользователь возненавидит, 3) выдать прогноз по конкретному артисту/альбому. Ringo обрабатывала такой запрос, используя свой алгоритм коллаборативной фильтрации. Затем она посылала пользователю результат. Пример некоторых предложений Ringo Артист | Рейтинг | Достоверность | The Orb | 6.9 | удовлетворительная | Negativeland | 6.5 | высокая | New Order | 6.5 | удовлетворительная | Sonic Youth | 6.5 | vдовлетворительная | Grifters | 6.4 | vдовлетворительная | Velvet Underground | 6.3 | низкая | Mudhoney | 6.3 | vдовлетворительная | Каждая рекомендация включала в себя показатель достоверности, который зависел от таких факторов, как число похожих пользователей, используемое для выдачи прогноза, сопоставимость других оценок пользователя, и т.д. Ответ Ringo не включал в себя какую-либо информацию о других пользователях, чьи профили были использованы для выработки рекомендации. Кроме выработки рекомендаций Ringo предоставляла также дополнительный ряд функций. Например, когда пользователь оценивал артиста или альбом, он также мог написать короткую рецензию, которая сохранялась в системе. При этом авторы этих рецензий в праве были решать подписаться под ними или сохранить свою анонимность. Каждый пользователь получал персональные рецензии от людей, имеющих похожие вкусы и предпочтения. Кроме того, Ringo предоставляла другие дополнительные опции, которые повышали привлекательность системы. Пользователи могли добавить в базу данных системы новых артистов и альбомы. Благодаря этой возможности база выросла с 575 артистов до 2500 за первые 6 недель своего функционирования. По запросу Ringo предоставляла досье на любого артиста. Досье включало в себя перечень альбомов артиста и среднюю величину баллов, выставленных артисту и его альбомам. Пользователи также могли видеть Top30 наиболее высоко оцениваемых и 30 хуже всего оцениваемых артистов ( в среднем). Ringo появился в Интернете 1 июля 1994 г. Первоначально сервис рекламировался только в 4 специализированных пользовательских конференциях. После медленного старта, число людей, пользующихся Ringo, стало быстро расти. Молва о сервисе быстро распространилась, так как люди рассказывали о нём своим друзьям, или посылали им сообщения. Менее чем за месяц численность его пользователей достигла тысячной отметки, на исходе 7 недель их было уже 1900. На момент написания статьи численность пользователей Ringo составляла 2100 человек, и система обрабатывала почти 500 сообщений в день. Наравне с числом пользователей быстро рос и размер базы данных. Первоначально система включала только 575 артистов. На момент написания статьи, в базе было более 3000 артистов и 9000 альбомов. При анализе выборки из 1000 членов сервиса было установлено, что каждый пользователь проранжировал в среднем 106 артистов из 1876 возможных. Максимально число артистов, проранжированных одним человеком, составило 772. Средний бал, присваиваемый пользователем всем артистам, составил 3.7 (по 7-балльной шкале). В ходе наблюдений было установлено, что система рекомендаций на основе коллаборативной фильтрации становится всё более «компетентной» по мере роста пользователей сервиса. Далее на рисунке представлено, как ошибка в рекомендациях связана с числом пользовательских профилей, используемых для выработки рекомендации. По мере того, как растёт число пользовательских оценок, используемых для выработки прогноза, отклонение ошибки значительно снижается. Так происходит потому, что чем больше людей пользуется системой, тем больше шансов найти близкое совпадение для каждого конкретного пользователя. Возможно, системе нужно достичь уровня критической массы собранных данных перед тем, как она становится полезной. Компетентность системы со временем развивается по мере того, как всё большее число пользователей начинают пользоваться системой . Вначале на первых неделях жизни Ringo была относительно некомпетентна. Разработчики сервиса получили множество писем , сообщающих об ошибках системы. Постепенно эта ситуация изменилась. Всё чаще и чаще разработчики стали получать сообщения о том, как точны были рекомендации Ringo. Однако, всё ещё многие были разочарованы первоначальными результатами работы сервиса. Разработчики постоянно продолжали напоминать, что для того, чтобы система начала выдавать точные рекомендации, пользователь должен сделать 1-2 итерации ранжирования артистов. Пользователь оценивал первоначальный список, затем получал прогнозы. Если пользователь знал, что какой-либо из рекомендованных артистов не в его вкусе, он присваивал соответствующий рейтинг этим артистам. Это радикально меняло членов группы так называемых «соседей» этого пользователя, т.е. людей с похожими на его предпочтениями. После таких итераций система работала удовлетворительно. Это указывает на то, что необходимо более точный алгоритм определения критически важных артистов, чтобы они были проранжированы пользователем, так чтобы система могла более точно вычленить вкусы пользователя и сузить группу пользователей с похожими вкусами. «Ни одна подобная система из сегодня действующих, не может сравниться с качеством работы RINGO»—считает один из тех, кто успел её воспользоваться. Впоследствии разработчики переименовали её в Firefly и продали Microsoft. Далее следы её теряются… Microsoft заинтересовали достижения Firefly в области стандартов прайвеси в сети.
|