Оценки вознаграждения демонстрируют успешность персонализации

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

Персонализатор обучает свои модели машинного обучения, оценивая вознаграждения.

Узнайте, как настроить оценку вознаграждений по умолчанию на портале Azure для ресурса персонализации.

Передача оценки вознаграждения в Персонализатор через API вознаграждения

Вознаграждения отправляются в Персонализатор через API вознаграждения. Как правило, вознаграждение — это число от 0 до 1. Отрицательное вознаграждение со значением –1 возможно в определенных сценариях, и его следует использовать только при работе с подкреплением Learning (RL). Персонализатор обучает модель для достижения наивысшей возможной суммы вознаграждения за период времени.

Вознаграждения отправляются после выполнения пользователем действий, что может произойти через несколько дней после этого. В параметре Reward Wait Time (Время ожидания вознаграждения) на портале Azure можно указать максимальное количество времени, в течение которого Персонализатор ожидает вознаграждения. По истечении этого времени считается, что вознаграждения нет или применяется настроенное по умолчанию вознаграждение.

Если оценка вознаграждения для события не получена в течение времени ожидания вознаграждения, применяется Default Reward (Вознаграждение по умолчанию). Обычно вознаграждение по умолчанию равно нулю.

Поведение и данные, которые следует учитывать для вознаграждения

Рассмотрим эти сигналы и поведение для контекста оценки вознаграждения:

  • Прямой ввод пользователя для получения предложений, если присутствуют параметры ("Вы имеете в виду X?").
  • Продолжительность сеанса.
  • Время между сеансами.
  • Анализ тональности взаимодействий с пользователем.
  • Прямые вопросы и мини-опросы, во время которых бот запрашивает у пользователя отзыв о полезности и точности.
  • Ответ на оповещения или задержка такого ответа.

Расчет оценок вознаграждения

Оценка вознаграждения должна вычисляться в бизнес-логике. Эта оценка может быть выражена в следующих форматах:

  • одно число, отправляемое один раз;
  • немедленно отправляемая оценка (например 0,8) и отправляемая позже дополнительная оценка (обычно 0,2).

Вознаграждение по умолчанию

Если после вызова события Rank вознаграждение не получено в течение времени, указанного в параметре Reward Wait Time (Время ожидания вознаграждения), Персонализатор неявно применяет для этого события вознаграждение по умолчанию.

Вычисление оценок с несколькими факторами

Для эффективной персонализации вы можете создать оценку вознаграждения на основе нескольких факторов.

Например, для персонализации списка видео, можно применить такие правила.

Действия пользователя Значение компонента оценки
Пользователь щелкнул верхний элемент. Оценка +0,5
Пользователь открыл фактическое содержимое этого элемента. Оценка +0,3
Пользователь просматривал содержимое не менее 5 минут или просмотрел не менее 30% содержимого. Оценка +0,2

Итоговую оценку можно отправить в API.

Многократный вызов API вознаграждения

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

Объединение значений:

  • First: принимается первый результат оценки вознаграждения, полученный для события, и отклоняются остальные.
  • Sum: принимаются и суммируются все оценки вознаграждения для одного идентификатора события.

Все вознаграждения за событие, полученные после истечения времени ожидания вознаграждения, отбрасываются и не учитываются в обучении моделей.

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

Советы и рекомендации для вычисления оценки вознаграждения

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

  • Использование оценки награды для того, насколько хорошо работает персонализация: персонализация предложения фильма, скорее всего, приведет к тому, что пользователь просмотрит фильм и предоставит ему высокую оценку. Но рейтинг фильма часто зависит от многих параметров (качества игры актеров, настроения пользователя), поэтому он не очень точно отражает эффективность персонализации. Если пользователь просмотрел несколько первых минут фильма, это может лучше свидетельствовать об эффективности персонализации. Таким образом, неплохим сигналом будет оценка 1 за 5 минут просмотра.

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

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

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

    • Если вы отображаете список кинофильмов, то можно учитывать частичную заинтересованность пользователя, выражающуюся в наведении им указателя мыши на первый элемент списка для получения дополнительных сведений. За такое поведение можно присуждать оценку вознаграждения 0,1.
    • Если пользователь откроет страницу, а затем покинет ее, оценку вознаграждения можно повысить до 0,2.

Время ожидания результата

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

Если время ожидания вознаграждения истекает, когда еще не получено никакой информации о вознаграждении, к такому событию применяется значение вознаграждения по умолчанию в целях обучения. Максимальная длительность ожидания составляет 2 дня. Если в используемом вами сценарии требуется большее время ожидания награды (например, при проведении маркетинговых кампаний по электронной почте), мы предлагаем закрытую предварительную версию функции увеличенного времени ожидания. Создав запрос в службу поддержки на портале Azure, можно связаться с нашими сотрудниками и узнать, соответствуете ли вы требованиям для получения доступа к этой функции.

Рекомендации по времени ожидания наград

Следуйте этим рекомендациям, чтобы получить оптимальные результаты.

  • Время ожидания вознаграждения должно быть максимально коротким, но достаточным для получения отклика пользователя.

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

Дальнейшие действия