Что такое служба "Персонализатор"?
Внимание
Начиная с 20 сентября 2023 г. вы не сможете создавать новые ресурсы Персонализатора. Служба Персонализатора отменяется 1 октября 2026 года.
Персонализатор ИИ Azure — это служба ИИ, которую ваши приложения делают более умные решения в масштабе с помощью обучения с подкреплением. Персонализатор обрабатывает сведения о состоянии приложения, сценарие и (или) пользователях (контексты), а также набор возможных решений и связанных атрибутов (действия), чтобы выбрать наилучшее решение. Персонализатору отправляется обратная связь от приложения (вознаграждения), помогающая повысить способность принимать эффективные решения практически в реальном времени.
Персонализатор способен определить оптимальные действия для различных сценариев.
- Электронная коммерция: какой продукт следует отображать клиентам, чтобы максимально повысить вероятность покупки?
- Рекомендация по содержимому: какую статью нужно отобразить для повышения процента переходов?
- Оформление контента: где следует размещать рекламу для повышения вовлеченности пользователей на веб-сайте?
- Коммуникация: когда и как следует отправлять уведомление, чтобы максимизировать вероятность ответа?
Чтобы приступить к работе с Персонализатором, следуйте краткому руководству или попробуйте Персонализатор в браузере с помощью этой интерактивной демонстрации.
Эта документация включает статьи следующих видов:
- Краткие руководства содержат пошаговые инструкции по настройке и примеры кода, помогающие приступить к работе с запросами API к службе.
- Руководства содержат инструкции по использованию функций и расширенных возможностей Персонализатора.
- Примеры кода демонстрируют, как использовать Персонализатор и упростить взаимодействие приложения со службой.
- Учебники — это более объемные пошаговые инструкции по реализации Персонализатора в рамках комплексного бизнес-решения.
- Основные понятия содержат дополнительные сведения о функциях, возможностях и принципах работы Персонализатора.
Принцип работы службы "Персонализатор"
Персонализатор использует обучение с подкреплением для выбора лучшего действия в данном контексте для всех пользователей, чтобы максимизировать среднее вознаграждение.
- Контекст: сведения, описывающие состояние приложения, сценария или пользователя и релевантные для принятия решения.
- Пример: расположение, тип устройства, возраст и избранные темы пользователей, посещающих веб-сайт.
- Действия: дискретный набор доступных для выбора элементов, а также атрибуты, описывающие каждый из них.
- Пример: набор новостных статей и тем, которые рассматриваются в каждой статье.
- Вознаграждение: числовой показатель от 0 до 1, указывающий, было ли решение плохим (0) или хорошим (1)
- Пример: значение "1" указывает, что пользователь щелкнул предложенную статью, а "0" — что он этого не сделал.
API рангов и вознаграждений
Персонализатор позволяет воспользоваться преимуществами и гибкими возможностями обучения с подкреплением, задействуя всего два основных API.
API ранжирования вызывается приложением при каждом принятии решения. Приложение отправляет код JSON, содержащий набор действий, признаки, описывающие каждое действие, и признаки, описывающие текущий контекст. Каждый вызов API ранжирования называется событием и отмечается уникальным идентификатором события. Затем Персонализатор возвращает идентификатор наилучшего действия, которое максимизирует общее среднее вознаграждение, определяемое базовой моделью.
API вознаграждения вызывается приложением всякий раз, когда есть отзывы, которые помогут Персонализатору узнать, возвращается ли идентификатор действия, возвращенный в вызове ранжирования, предоставленное значение. (например, щелкнул ли пользователь предлагаемую новостную статью или купил ли он предложенный продукт). Вызов API вознаграждения может находиться в режиме реального времени (сразу после вызова ранга) или отложенным, чтобы лучше соответствовать потребностям сценария. Оценка вознаграждения определяется бизнес-метриками и целями и может создаваться алгоритмом или правилами в приложении. Оценка является вещественным числом в пределах от 0 до 1.
Режимы обучения
Режим ученика Подобно тому, как ученик может научиться ремеслу, наблюдая за специалистом, режим ученика позволяет Персонализатору учиться, наблюдая за решениями, принятыми текущей логикой приложения. Это помогает устранить так называемую проблему "холодного запуска" с новой необученной моделью и позволяет проверить признаки действия и контекста, отправляемые Персонализатору. В режиме ученика каждый вызов API ранжирования возвращает базовое действие или действие по умолчанию, которое приложение будет предпринять без использования Персонализатора. Оно отправляется приложением в Персонализатор в API ранжирования в качестве первого элемента в наборе возможных действий.
Интерактивный режим Персонализатор возвращает наилучшее действие с учетом контекста, определяемого базовой моделью RL, и анализирует другие возможные действия, которые способны повысить производительность. Персонализатор учится на обратной связи, предоставляемой в вызовах к API вознаграждения.
Обратите внимание, что для выбора наилучшего действия на основе текущего контекста Персонализатор использует общую для всех пользователей информацию. Эта служба:
- не сохраняет профили пользователей и не управляет ими (не следует отправлять в Персонализатор уникальные идентификаторы пользователей);
- не сохраняет предпочтения или журнал действий для отдельных пользователей.
Пример сценариев
Вот несколько примеров, в которых Персонализатор помогает выбрать наилучшее содержимое для отображения пользователю.
Content type | Действия {признаки} | Признаки контекста | Возвращаемый идентификатор действия вознаграждения (отобразить это содержимое) |
---|---|---|---|
Новости статьи | a. The president... {национальная, политика, [текст]}b. Premier League ... {международная, спорт, [текст, изображение, видео]}c. Hurricane in the ... {региональная, погода, [текст, изображение]} |
Страна='США', Последние_темы=('политика', 'бизнес'), Месяц='октябрь' |
The president... |
Фильмы | 1. Star Wars {1977, [боевик, приключения, фэнтези], Джордж Лукас}2. Hoop Dreams {1994, [документальный, спорт], Стив Джеймс}3. Casablanca {1942, [романтический, драма, военный], Майкл Кертис} |
Устройство='смарт-ТВ', Размер_экрана='большой', Любимый_жанр='классика' |
3. Casablanca |
Продукты электронной коммерции | i. Product A {3 кг, $$$$, доставка за 1 день}ii. Product B {20 кг, $$$$, доставка за 7 дней}iii. Product C {3 кг, $$$$, доставка за 2 дня} |
Устройство='iPhone', Уровень_расходов='низкий', Месяц='июнь' |
ii. Product B |
Требования к сценарию
Персонализатор подходит для сценариев, которые отвечают следующим условиям:
- Имеется ограниченный набор действий или элементов для выбора при каждом событии персонализации. Мы рекомендуем не более 50 действий в каждом вызове API ранжирования. Если у вас есть более широкий набор возможных действий, мы рекомендуем использовать подсистему рекомендаций или другой механизм, чтобы уменьшить список действий перед вызовом API ранжирования.
- Сведения, описывающие действия (признаки функций).
- Сведения, описывающие текущий контекст (контекстные признаки).
- Достаточный объем данных, на основе которых может обучаться Персонализатор. Как правило, мы рекомендуем не менее 1000 событий в день, чтобы персонализатор эффективно учиться. Если Персонализатор не получает достаточного объема данных, выбор оптимальных действий выполняется дольше.
Ответственное использование ИИ
В корпорации Майкрософт мы стремимся к развитию ИИ на основе принципов, которые ставят на первое место человека. Модели искусственного интеллекта, такие как те, которые доступны в службе Персонализатора, имеют значительные потенциальные преимущества, но без тщательного проектирования и тщательного устранения рисков такие модели могут создать неправильное или даже вредное содержимое. Корпорация Майкрософт внесла значительные инвестиции, чтобы помочь защититься от злоупотреблений и непреднамеренного ущерба, включив принципы корпорации Майкрософт для ответственного использования ИИ, создания фильтров содержимого для поддержки клиентов и предоставления ответственного руководства по внедрению ИИ для подключенных клиентов. Ознакомьтесь с документацией по ответственному ИИ для Персонализатора.
Интеграция Персонализатора в приложение
Создайте проект и план по использованию действий и контекстов. Определите, как интерпретировать отзывы как оценку вознаграждения.
Каждый созданный ресурс Персонализатора считается одним циклом обучения. Цикл получит вызовы ранжирования и вознаграждения для этого содержимого или взаимодействия с пользователем и обучит базовую модель RL. Имеются
Тип ресурса Характер использования Режим ученика - E0
Обучите Персонализатор имитировать текущую логику принятия решений, не влияя на существующее приложение, прежде чем переходить в интерактивный режим, чтобы оптимизировать политики в рабочей среде. Интерактивный режим — стандартный, S0
Персонализатор использует RL для определения наилучших действий в рабочей среде. Интерактивный режим — бесплатный, F0
Поэкспериментируйте с Персонализатором в нерабочей среде с ограниченными возможностями. Добавление Персонализатора на веб-сайт, в приложение или систему:
Добавьте в приложение, на веб-сайт или в систему вызов API ранжирования Персонализатора для определения наилучшего действия.
Используйте лучшее действие, как указано в качестве идентификатора действия вознаграждения в вашем сценарии.
Обработайте сведения о поведении пользователя или обратную связь с применением бизнес-логики, чтобы определить оценку вознаграждения. Например:
Поведение Вычисленная оценка вознаграждения Пользователь выбрал новостную статью, предложенную Персонализатором 1 Пользователь выбрал новостную статью, не предложенную Персонализатором 0 Пользователь не знал, какую новостную статью выбрать, долго просматривал содержимое и в итоге выбрал новостную статью, предложенную Персонализатором 0,5 Добавьте вызов API вознаграждения с оценкой в диапазоне от 0 и 1:
- Сразу после получения обратной связи.
- Альтернативный вариант — через некоторое время в сценариях, где предполагается отложенная обратная связь.
Оцените цикл с применением автономной оценки после того, как у Персонализатора будет достаточно данных для принятия интерактивных решений. Автономная оценка позволяет тестировать и оценивать эффективность службы "Персонализатор" без изменения кода или влияния на пользователей.