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