Подсчет очков

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

Примеры
  • Связанные элементы из модели матричной факторизации.
  • Пользовательские функции, учитывающие персонализацию.
  • «Местные» и «удаленные» предметы; то есть с учетом географической информации.
  • Популярные или трендовые товары.
  • Социальный граф; то есть товары, которые понравились или рекомендовали друзья.

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

  • функции запроса (например, история просмотра пользователем, язык, страна, время)
  • функции видео (например, заголовок, теги, встраивание видео)

Затем система может ранжировать видео в пуле кандидатов в соответствии с предсказаниями модели.

Почему бы не позволить генератору кандидатов забить?

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

  • Некоторые системы полагаются на несколько генераторов кандидатов. Оценки этих разных генераторов могут быть несопоставимы.
  • При меньшем количестве кандидатов система может позволить себе использовать больше функций и более сложную модель, которая может лучше улавливать контекст.

Выбор целевой функции для оценки

Как вы, возможно, помните из раздела «Введение в постановку задач ML» , ML может действовать как озорной джинн: он очень рад узнать поставленную вами цель, но вы должны быть осторожны со своими желаниями. Это озорное качество характерно и для рекомендательных систем. Выбор функции оценки может существенно повлиять на ранжирование элементов и, в конечном итоге, на качество рекомендаций.

Пример:

Нажмите на значки плюсов, чтобы узнать, что происходит в результате использования каждой цели.

Изображение главной страницы магазина Google Play, на которой показаны новые и обновленные игры, а также рекомендуемые приложения с выделенными нижними элементами.

Позиционная предвзятость при подсчете очков

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

Решения

  • Создавайте независимые от позиции рейтинги.
  • Расположите всех кандидатов так, как будто они находятся на верхней позиции экрана.