Р/Р-сервис или РС - рейтинговый либо рекомендательный сервис на основе пользовательских оценок. Служит для поиска пользователями чего-то хорошего среди кучи чего-то аналогичного посредственного, а то и вовсе плохого.
Лот - некое предложение, оцениваемое РС. Например, прочесть какую-то конкретную книгу, посетить сайт, купить товар и т.д.
Оценка - число, присваиваемое РС каждому лоту и служащее для ранжирования лотов при выдаче их по запросу пользователя.
Пользовательская оценка - число, присвоенное данному лоту данным пользователем. РС не просто учитывают, а напрямую используют пользовательские оценки для построения оценок лотов.
Рейтинговый сервис - РС, присваивающий каждому лоту какую-то одну оценку для всех пользователей.
Рекомендательный (точнее, "персональный рекомендательный") сервис - РС, присваивающий каждому лоту различные оценки для каждого пользователя на основании его (пользователя) выявленных предпочтений.
Давно ли я пел дифирамбы рекомендательным сервисам, сравнивая их с рейтинговыми?
Казалось бы, в отличие от рейтинга, легко накручиваемого ботами, рекомендательный сервис (такой, как в библиотеке Флибуста, например) накрутить невозможно. Ведь он выдаёт пользователю оценку, не тупо усредняя оценки, данные всеми другими пользователями, а вдумчиво вычисляя их с учётом "похожести" пользователей-оценивающих на пользователя-запросившего оценку. И если, например, некий Говнавтор начнёт "продвигать" говнаписанное, уговаривая всех своих очень многочисленных друзей зайти и залайкать (а то и тупо регая стопицот лайкботов), то на рейтинговом сервисе он преуспеет, а на рекомендательном - обломается. Ведь друзья этого Говнавтора - не мои друзья, их оценки других книг не совпадают с моими оценками, а значит, "вес" их оценок книги Говнавтора не будет учтён в оценке, которую сервис выдаст именно для меня. Отличная защита, спасающая не только от ботов, но и от хомячков и даже от насаждаемых идеологий!
Однако, не шибко. Представим себе для начала некого моего личного врага, озадачившегося подсунуть именно мне какой-то лот, который сам я ни за что бы не нашёл в куче аналогичных и уж тем более не выбрал. Этот мой личный враг регает себе эккаунт, пробегается по списку моих оценок и выставляет оцененным мной лотам в точности такие же оценки, как мои. Тем самым превращаясь в глазах рекомендательного сервиса в моего лучшего друга и ближайшего единомышленника. И все оценки этого лжедруга будут иметь максимальный вес в выдаваемых мне рекомендациях.
Масштабируя процесс накрутки тупо, для N юзеров регаем N ботов, а масштабируя вдумчиво, выделяем среди них M "конфликтующих" групп единомышленников, чьи оценки близки между собой, но далеки от оценок других групп и регаем всего лишь M ботов (M<<N). Профит!
Как защититься? Очень просто: скрыть от пользователей оценки других пользователей. Вместо этого выводить пользователю по каждому лоту только усреднённый балл, рассчитанный с учётом веса (близости по оценкам) каждого оценщика. Как вариант - показывать оценки только тем, у кого остальные оценки более-менее близки к оценкам данного пользователя.
Да. Сокрытие оценок приведёт не только к снижению прозрачности сервиса, но и к некоторому неудобству для особо продвинутых юзеров, не верящих на слово роботу "Вам рекомендовали то-то и то-то", а предпочитающих своими глазами посмотреть, кто именно рекомендовал и что там этот хороший человек рекомендует ещё.
Но. Зато юзера наконец-то перестанут стесняться высоко оценивать понравившиеся им книги из-за их (книг) "несерьёзности", "неприличности" и т.п. Что существенно улучшит качество работы рекомендательного сервиса.