глоссарий

Candidate generation

Candidate generation

Candidate generation — это этап в системах рекомендаций и поиска, когда из огромного каталога объектов (видео, товаров, статей) выбирается небольшое подмножество потенциально релевантных вариантов. Это не финальное ранжирование, а быстрый черновой отбор, чтобы сузить пространство с миллионов до сотен позиций.

Термин важен, потому что современные сервисы работают с гигантскими базами. Попытка оценить каждый товар или ролик по сложной модели была бы слишком медленной: пользователь ждал бы ответа десятки секунд. Candidate generation позволяет выиграть время, сделав первый грубый, но очень быстрый фильтр. Именно он определяет, увидит ли человек в принципе какой-то контент — если кандидат не прошел этот этап, до пользователя он не дойдет.

На интуитивном уровне это напоминает поиск книги в огромной библиотеке. Вы не читаете подряд каждую страницу — сначала выбираете нужный стеллаж по жанру, потом сканируете корешки, и лишь затем открываете несколько самых интересных томов. Так же работает генерация кандидатов: она опирается на грубые признаки — вашу историю, похожих пользователей, ключевые слова — и молниеносно отсекает заведомо неподходящее.

Прикладной пример: видеохостинг. В момент загрузки страницы система должна предложить ролики. Из десяти миллионов видео алгоритм по пересечению тематик, языку и ранее просмотренным каналам достает, скажем, две тысячи. Только после этого более точная модель оценивает вероятность того, что вы досмотрите конкретное видео до конца, и расставляет итоговый порядок. Вся операция занимает доли секунды.

Таким образом, candidate generation — это мост между безграничным каталогом и ограниченным вниманием. Хороший первый отбор экономит ресурсы и делает рекомендации своевременными, а его ошибки невозможно исправить на следующих этапах.