Я чаще всего видел, как это реализовано с использованием актов-тегов.StackExchange поддерживает использование тегов для организации вопросов.Теги могут быть изменены пользователем или нет, что позволяет вам довольно легко организовать данные.Тогда взаимодействия в областях, помеченных как X, означают, что другие области, помеченные как X, представляют интерес.Как и в отличие можно придать больший вес в отмеченных областях.Тогда вы могли бы разработать оценки релевантности.
Подумайте просто -
любая запись в теге X имеет +1 релевантность к этому тегу
любая запись в отмеченной области X имеет +5 релевантность этому тегу
Подумайте дополнительно-
если ему нравятся сообщения от пользователя y
найти оценки релевантности для пользователя y.
разделить оценки на 2 и добавить к основным оценкам релевантности
сохранить их как вторичную релевантность
одна или обе могутбыть разумно реализованным и сохраненным отдельно для определения предпочтений пользователя из тестовой группы.