Фичи для marketplace search ranker
Какие признаки подать в модель ранжирования товаров в поиске маркетплейса?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Фичи нужно группировать по query, item, user, context и cross-сигналам; отдельно проверить availability, freshness, leakage и latency.
Полный разбор
Единица скоринга - query-user-item в конкретном request context. Query features: нормализованный текст, tokens, intent/category, spelling, query frequency, lexical BM25 score, dense query-item similarity. Item features: category, brand, price, discount, availability, delivery SLA, rating, reviews, sales velocity, returns, margin, freshness, текстовые и image embeddings. User features: регион, устройство, сегменты интересов, история категорий, price sensitivity, средний чек, недавние действия.
Самые сильные признаки часто cross-features: query-item relevance, user-category affinity, user-brand affinity, item availability для региона, matching размера/цвета/категории, session intent, похожесть к последним viewed/cart items. Для marketplace search важно не забыть business и quality constraints: наличие, доставка, дубликаты, promoted items, diversity, adult/safety filters.
Перед добавлением признака нужно ответить: доступен ли он online в момент ранжирования, не смотрит ли в будущее, как часто обновляется, сколько стоит по latency, что делать при пропуске. Тяжелые embeddings и агрегаты лучше precompute в feature store, а online оставлять только быстрые lookups и compact scores.
Теория
LTR выигрывает от сочетания query relevance, user intent, item quality, context и cross-features; serving-time доступность важнее красивого offline списка.
Типичные ошибки
- Перечислить только user/item без query и context.
- Добавить фичи, которые доступны только после показа или покупки.
- Не оценить freshness, latency и fallback при missing values.
Как отвечать на собеседовании
- Группируй фичи по query/item/user/context/cross.
- Сразу говори, какие считаются offline, nearline и online.
- Отдельно проверь leakage и request-path latency.