Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Начиная с 20 сентября 2023 г. вы не сможете создавать новые ресурсы Персонализатора. Служба Персонализатора выводится из эксплуатации 1 октября 2026 года. Рекомендуем перейти на проект с открытым исходным кодом microsoft/learning-loop.
Оценка вознаграждения указывает, насколько хорошо подходит пользователю выбор персонализации RewardActionID. Значение оценки вознаграждения определяется бизнес-логикой, основанной на наблюдении за поведением пользователей.
Персонализатор обучает свои модели машинного обучения, оценивая вознаграждения.
Узнайте, как настроить балл вознаграждения по умолчанию на портале Azure для ресурса Personalizer.
Используйте Reward API для отправки оценки вознаграждения в Персонализатор
Вознаграждения отправляются в Персонализатор через API вознаграждения. Как правило, вознаграждение — это число от 0 до 1. Отрицательное вознаграждение со значением –1 возможно в определенных сценариях и его следует использовать только если у вас есть опыт работы с обучением с подкреплением (RL). Персонализатор обучает модель для достижения наивысшей возможной суммы вознаграждения за период времени.
Вознаграждения отправляются после выполнения пользователем действий, что может произойти через несколько дней после этого. Максимальное количество времени, в течение которого Персонализатор будет ожидать, пока событие не будет считаться не получившим вознаграждение или пока не будет настроено вознаграждение по умолчанию с параметром Reward Wait Time в портале Azure.
Если оценка вознаграждения для события не получена в течение времени ожидания вознаграждения, будет применено Вознаграждение по умолчанию. Обычно вознаграждение по умолчанию равно нулю.
Поведение и данные, которые следует учитывать для вознаграждения
Рассмотрим эти сигналы и поведение для контекста оценки вознаграждения:
- Прямой ввод пользователя для получения предложений, если присутствуют параметры ("Вы имеете в виду 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.
Время ожидания результата
Персонализатор соотносит информацию о вызове Ранжирования с вознаграждениями, отправленными в вызовах Вознаграждения для обучения модели, которая может прийти в разное время. Персонализатор ожидает оценки вознаграждения в течение определенного ограниченного времени, начиная с соответствующего вызова метода Ранг. Это выполняется, даже если вызов функции ранжирования был осуществлён с помощью отложенной активации](concept-active-inactive-events.md).
Если истекает срок ожидания вознаграждения и нет сведений о вознагражденИи, по умолчанию будет применена стандартная награда для этого события в процессе обучения. Вы можете выбрать время ожидания вознаграждения 10 минут, 4 часа, 12 часов или 24 часа. Если в вашем сценарии требуется больше времени ожидания вознаграждения (например, для маркетинговых кампаний электронной почты) мы предлагаем частную предварительную версию более длительного времени ожидания. Откройте запрос в службу поддержки на портале Azure, чтобы связаться с командой и выяснить, соответствуете ли вы требованиям и может ли вам быть предоставлено это предложение.
Рекомендации по времени ожидания наград
Следуйте этим рекомендациям, чтобы получить оптимальные результаты.
Время ожидания вознаграждения должно быть максимально коротким, но достаточным для получения отклика пользователя.
Время ожидания не должно меньшим, чем требуется для получения отклика. Например, если некоторая часть вознаграждения присуждается за 1 минуту просмотра, длительность эксперимента должна быть по меньшей мере вдвое дольше.