При построении персональных рекомендаций зачастую подразумевается, что мы должны получить для каждого пользователя свою, уникальную подборку товаров. Однако в случае, когда пользователей становится слишком много, а в инфраструктуре товары хранятся с обогащением бизнес-факторами, такая схема становится все менее масштабируема. Расскажу о том, как мы без просадки в качестве существенно сократили затраты на инфраструктуру за счет кластеризации пользователей и товаров.
Основные тезисы:
- кластеризация пользователей (эмбеддинги WildBERT), создание агрегированной выдачи для кластера;
- кластеризация товаров (e5) - выделение интересов, отображение пользователя в пространство интересов;
- сравнение схем "храним подборку для каждого пользователя" и "храним только кластера, юзера описываем как набор кластеров и интересов" в разрезе ранжирующих метрик и затрат на инфраструктуру;
- как в такой схеме не просадить качество - доранжирование по эмбедингам в онлайне в момент формирования выдачи;
- зеленый АБ-тест с тестированием описанной схемы, и оценка по экономии на инфраструктуре.