Qu’est-ce que Personalizer ?

Important

À compter du 20 septembre 2023, vous ne pourrez pas créer de ressources Personalizer. Le service Personalizer est mis hors service le 1er octobre 2026.

Remarque

Depuis juillet 2023, les services Azure AI englobent tout ce qui était auparavant connu sous le nom Cognitive Services et Azure Applied AI Services. Il n’y a aucune modification de la tarification. Les noms Cognitive Services et Azure Applied AI continuent d’être utilisés dans la facturation Azure, l’analyse des coûts, la liste de prix et les API de prix. Il n’y a aucun changement cassant des interfaces de programmation d’applications (API) ou des Kits de développement logiciel (SDK).

Azure AI Personalizer est un service d’IA qui permet à vos applications de prendre des décisions plus intelligentes à grande échelle, au travers d’un apprentissage par renforcement. Personalizer traite les informations relatives à l’état de votre application, de votre scénario et/ou de vos utilisateurs (contextes), ainsi qu’un ensemble de décisions possibles et d’attributs associés (actions) afin de déterminer la meilleure décision à prendre. Le retour d’expérience de votre application (récompenses) est envoyé à Personalizer pour qu’il apprenne à améliorer sa capacité de décision en quasi-temps réel.

Personalizer peut déterminer les meilleures actions à entreprendre dans divers scénarios :

  • E-commerce : Quel produit montrer aux clients pour maximiser la probabilité d’un achat ?
  • Recommandation de contenu : Quel article afficher pour augmenter le taux de clics ?
  • Conception de contenu : Où une placer une publicité pour optimiser l’engagement des utilisateurs sur un site web ?
  • Communication : Quand et comment envoyer une notification pour maximiser les chances de réponse ?

Pour bien démarrer avec Personalizer, suivez le guide de démarrage rapide ou essayez Personalizer dans votre navigateur avec cette démo interactive.

Cette documentation contient les types d’articles suivants :

  • Les démarrages rapides fournissent des instructions pas à pas pour vous guider tout au long de l’installation, ainsi qu’un exemple de code pour commencer à envoyer des demandes API au service.
  • Les guides pratiques contiennent des instructions sur l’utilisation des fonctionnalités et des capacités avancées de Personalizer.
  • Les exemples de code montrent comment utiliser Personalizer et vous aident à interfacer facilement votre application avec le service.
  • Les tutoriels sont des procédures pas à pas plus longues qui implémentent Personalizer dans le cadre d’une solution métier plus large.
  • Les concepts fournissent des détails supplémentaires sur les fonctionnalités, capacités et principes de base de Personalizer.

Fonctionnement de Personalizer

Personalizer utilise l’apprentissage par renforcement pour sélectionner la meilleure action dans un contexte donné pour tous les utilisateurs, afin d’optimiser une récompense moyenne.

  • Contexte : informations décrivant l’état de votre application, de votre scénario ou de l’utilisateur, qui peuvent être pertinentes pour prendre une décision.
    • Exemple : l’emplacement, le type d’appareil, l’âge et les rubriques favorites des utilisateurs visitant un site web.
  • Actions : ensemble distinct d’éléments qui peuvent être choisis, avec des attributs décrivant chacun de ceux-ci.
    • Exemple : ensemble d’articles d’actualités et de rubriques abordés dans chaque article.
  • Récompense : score numérique compris entre 0 et 1, qui indique si la décision était mauvaise (0) ou bonne (1)
    • Exemple : « 1 » indique qu’un utilisateur a cliqué sur l’article suggéré, tandis que « 0 » indique qu’il ne l’a pas fait.

API de classement et de récompense

Personalizer vous permet de tirer parti de la puissance et de la flexibilité de l’apprentissage par renforcement à l’aide de deux API principales.

L’APIRank (Classement) est appelée par votre application chaque fois qu’il y a une décision à prendre. L’application envoie un JSON contenant un ensemble d’actions, des caractéristiques décrivant chaque action et des caractéristiques décrivant le contexte actuel. Chaque appel de l’API Rank est nommé événement, et noté avec un ID d’événement unique. Personalizer retourne ensuite l’ID de la meilleure action qui optimise la récompense moyenne totale telle que déterminée par le modèle sous-jacent.

L’APIReward (Récompense) est appelée par votre application chaque fois qu’un retour d’information peut aider Personalizer à déterminer si l’ID d’action retourné dans l’appel de l’API Rank a apporté une valeur. Par exemple, si un utilisateur a cliqué sur l’article d’actualités suggéré, ou terminé l’achat d’un produit suggéré. Un appel à l’API Reward peut se faire en temps réel (juste après l’appel à l’API Rank) ou en différé pour mieux répondre aux besoins du scénario. Le score de récompense est déterminé par vos mesures et objectifs métier et peut être généré par un algorithme ou des règles dans votre application. Le score est un nombre réel compris entre 0 et 1.

Modes d’apprentissage

  • Mode Apprenti : comme un apprenti apprend un métier en observant un expert, le mode Apprenti permet à Personalizer d’apprendre en observant la logique de décision actuelle de votre application. Cela contribue à atténuer le problème du « démarrage à froid » avec un nouveau modèle non entraîné, et vous permet de valider les caractéristiques d’action et de contexte envoyées à Personalizer. En mode Apprenti, chaque appel de l’API Rank retourne l’action de base ou l’’action par défaut, c’est-à-dire l’action que l’application aurait entreprise sans l’utilisation de Personalizer. Votre application envoie cela à Personalizer dans l’API Rank, en guise de premier élément de l’ensemble d’actions possibles.

  • Mode en ligne : Personalizer retourne la meilleure action, compte tenu du contexte, telle que déterminée par le modèle d’apprentissage par renforcement sous-jacent, et explore d’autres actions possibles susceptibles d’améliorer les performances. Personalizer apprend du retour d’informations fourni dans les appels de l’API Reward.

Notez que Personalizer utilise des informations collectives pour tous les utilisateurs afin d’apprendre les meilleures actions en fonction du contexte actuel. Le service :

  • Ne conserve pas et ne gère pas les informations de profil utilisateur. Des ID d’utilisateur uniques ne devraient pas être envoyés à Personalizer.
  • Ne journalise pas les préférences ou les données historiques d’un utilisateur.

Exemples de scénarios

Voici quelques exemples de scénarios dans lesquels Personalizer peut être utilisé pour sélectionner le meilleur contenu à restituer pour un utilisateur.

Type de contenu Actions {fonctionnalités} Caractéristiques contextuelles ID de l’action récompensée retournée
(afficher ce contenu)
Articles d’actualité a. The president... {national, politique, [texte]}
b. Premier League ... {mondial, sport, [texte, image, vidéo]}
c. Hurricane in the ... {régional, météo, [texte,image]}
Country='USA',
Recent_Topics=('politics', 'business'),
Month='October'
a The president...
Films 1. Star Wars {1977, [action, aventure, fantastique], George Lucas}
2. Hoop Dreams {1994, [documentaire, sport], Steve James}
3. Casablanca {1942, [romantique, drame, guerre], Michael Curtiz}
Device='smart TV',
Screen_Size='large',
Favorite_Genre='classics'
3. Casablanca
Produits e-commerce i. Product A {3 kg, $$$$, livraison en 1 jour}
ii. Product B {20 kg, $$, livraison en 7 jours}
iii. Product C {3 kg, $$$, livraison en 2 jours}
Device='iPhone',
Spending_Tier='low',
Month='June'
ii. Product B

Exigences du scénario

Utilisez Personalizer lorsque votre scénario a :

  • Un ensemble limité d’actions ou d’éléments à sélectionner dans chaque événement de personnalisation. Nous vous déconseillons d’utiliser plus d’une cinquantaine d’actions dans chaque appel de l’API Rank. Si vous avez un ensemble plus important d’actions possibles, nous vous suggérons d’utiliser un moteur de recommandation ou un autre mécanisme pour réduire la liste d’actions avant d’appeler l’API Rank.
  • Informations décrivant les actions (fonctionnalités d’action).
  • Informations décrivant le contexte actuel (fonctionnalités contextuelles).
  • Volume de données suffisant pour permettre à Personalizer d’apprendre. En général, nous recommandons un minimum d’environ 1 000 événements par jour pour permettre à Personalizer d’apprendre efficacement. Si Personalizer ne reçoit pas suffisamment de données, le service prend plus de temps pour déterminer les meilleures actions.

Utilisation responsable de l’IA

Chez Microsoft, nous avons engagé une démarche d’amélioration de l’intelligence artificielle (l’IA) basée sur des principes qui placent les utilisateurs au centre de nos préoccupations. Les modèles d’IA tels que ceux disponibles dans le service Personalizer présentent des avantages potentiels significatifs, mais sans une conception minutieuse et des atténuations réfléchies, ces modèles peuvent aussi générer du contenu incorrect voire nuisible. Microsoft a fait de gros efforts pour renforcer la protection contre les abus et les préjudices non intentionnels en incorporant les principes de Microsoft pour une utilisation responsable de l’IA, en créant des filtres de contenu pour aider les clients et en fournissant des conseils aux clients intégrés pour implémenter une IA responsable. Consultez la documentation relative à l’IA responsable pour Personalizer.

Intégrer Personalizer à une application

  1. Concevez et planifiez les actions et le contexte. Découvrez comment interpréter le retour d’information comme un score de récompense.

  2. Chaque Ressource Personalizer que vous créez est considérée comme une Boucle d’apprentissage. La boucle recevra les appels des API Rank et Reward pour ce contenu ou cette expérience utilisateur et entraînera un modèle d’apprentissage par renforcement sous-jacent. Il y a

    Type de ressource Objectif
    Mode Apprenti - E0 Formez Personalizer à imiter votre logique de prise de décision actuelle sans impact sur votre application existante, avant d’utiliser le Mode En ligne pour apprendre de meilleures stratégies dans un environnement de production.
    Mode en ligne - Standard, S0 Personalizer utilise l’apprentissage par renforcement pour déterminer les meilleures actions en production.
    Mode en ligne - Gratuit, F0 Essayez Personalizer dans un environnement de non-production limité.
  3. Ajoutez Personalizer à votre application, site web ou système :

    1. Ajoutez un appel Rank à Personalizer dans votre application, site web ou système pour déterminer la meilleure action.

    2. Utilisez la meilleure action, spécifiée comme ID d’action de récompense dans votre scénario.

    3. Appliquez une logique métier aux données de comportement ou de retour d’informations des utilisateurs pour déterminer le score de récompense. Par exemple :

      Comportement Score de récompense calculé
      L’utilisateur a sélectionné un article d’actualités suggéré par Personalizer 1
      L’utilisateur a sélectionné un article d’actualités non suggéré par Personalizer 0
      L’utilisateur a hésité à sélectionner un article d’actualités, a navigué dans les articles de manière indécise, pour finalement choisir l’article suggéré par Personalizer 0,5
    4. Ajoutez un appel Reward en envoyant un score de récompense compris entre 0 et 1 :

      • Immédiatement après la réception du retour d’informations.
      • Ou plus tard dans les scénarios où un retour d’informations différé est attendu.
    5. Évaluez votre boucle avec une évaluation hors connexion après une période pendant laquelle Personalizer a reçu des données significatives pour prendre des décisions en ligne. Une évaluation hors connexion permet de tester et d’évaluer l’efficacité du service Personalizer sans changement de code ou impact sur l’utilisateur.

Étapes suivantes