К тренажеру
ВопросHardcv-system-designРеальный собес

Выбор фото блюда для категории

Есть много фотографий ресторана и фиксированные категории еды. Как выбрать наиболее подходящее фото для категории в поисковой выдаче?

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

Скорим пары category-photo: сначала CLIP/embedding retrieval или classifier, затем rerank по качеству, релевантности, свежести, дублям и бизнес-правилам.

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

Сначала нужно зафиксировать выход: для каждой организации и категории выбрать одно или несколько фото, которые лучше всего представляют категорию. Базовый вариант - text embedding категории и image embeddings фотографий, cosine score и top-k. Если taxonomy фиксирована и данных достаточно, можно обучать multilabel classifier.

Дальше нужен reranking: confidence модели, качество изображения, наличие еды крупным планом, отсутствие мусора/модерационных проблем, свежесть, разнообразие и дубликаты. Для latency можно считать embeddings offline и хранить top candidates per organization/category.

Качество проверяется на gold set: category-photo relevance, precision@k, human preference, coverage по категориям и доля плохих показов.

Теория

Это retrieval/ranking задача, а не просто классификация. CLIP дает open-vocabulary baseline, но fixed taxonomy позволяет использовать supervised дообучение.

Типичные ошибки

  • Выбирать только по максимальному score и забыть качество фото.
  • Не отделить offline indexing от online serving.
  • Не обсудить gold set и ассессорскую проверку.

Как отвечать на собеседовании

  • Разложи на candidate generation и reranking.
  • Скажи про cache/top-k per organization/category.