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

Фичи для 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.