Назад к подготовке

Category constraints поверх ANN retrieval

Как наложить ограничения по категориям и комплементарности, если candidates достаются через ANN по embeddings?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Ограничения можно применять pre-filter в индексе, post-filter после retrieval или category-aware reranking. Обычно комбинируют shortlist побольше и hard/soft constraints.

Полный разбор

ANN возвращает ближайшие embeddings, но близость не гарантирует допустимую категорию или complementarity. Есть несколько уровней контроля. Pre-filter применяет category/availability constraints внутри индекса или через отдельные per-category indices. Это быстрее после retrieval, но может снизить recall, если фильтр слишком жесткий.

Post-filter берет shortlist больше K, удаляет недоступные и неподходящие категории, затем reranker выбирает top-K. Category-aware reranker добавляет признаки cart category, candidate category, compatibility score, price ratio и diversity penalties. Для важных hard rules нужен deterministic слой, который нельзя перебить model score.

Мониторинг: доля кандидатов, удаленных фильтрами, empty results после constraints, latency, coverage категорий и online uplift по complements.

Теория

ANN retrieval оптимизирует similarity, а product constraints часто оптимизируют полезность и допустимость. Эти цели нужно явно соединять в pipeline.