Переоценка

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

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

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

Свежесть

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

Решения

  • Повторяйте обучение как можно чаще, чтобы изучить последние данные обучения. Мы рекомендуем начинать обучение с разминки, чтобы модели не приходилось заново учиться с нуля. Теплый старт может значительно сократить время тренировки. Например, при матричной факторизации предварительно запустите встраивание элементов, которые присутствовали в предыдущем экземпляре модели.
  • Создайте «среднего» пользователя для представления новых пользователей в матричных моделях факторизации. Вам не нужно одинаковое встраивание для каждого пользователя — вы можете создавать кластеры пользователей на основе пользовательских характеристик.
  • Используйте DNN, например модель softmax или модель с двумя башнями. Поскольку модель принимает векторы признаков в качестве входных данных, ее можно запускать с запросом или элементом, который не был замечен во время обучения.
  • Добавьте возраст документа в качестве функции. Например, YouTube может добавить возраст видео или время его последнего просмотра в качестве функции.

Изображение четырех рекомендуемых видео о совах.

Разнообразие

Если система всегда рекомендует элементы, которые «наиболее близки» к встраиванию запроса, кандидаты, как правило, очень похожи друг на друга. Это отсутствие разнообразия может вызвать плохой или скучный пользовательский опыт. Например, если YouTube просто рекомендует видео, очень похожие на видео, которое в данный момент смотрит пользователь, например ничего, кроме видео с совами (как показано на рисунке), пользователь, скорее всего, быстро потеряет интерес.

Решения

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

Справедливость

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

Решения

  • Включите различные точки зрения в дизайн и разработку.
  • Обучайте модели машинного обучения на комплексных наборах данных. Добавьте вспомогательные данные, если ваши данные слишком скудны (например, когда некоторые категории представлены недостаточно).
  • Отслеживайте показатели (например, точность и абсолютную погрешность) по каждой демографической группе, чтобы отслеживать предвзятость.
  • Создайте отдельные модели для недостаточно обслуживаемых групп.