1. Avant de commencer
Dans cet atelier de programmation, vous appliquerez les bonnes pratiques de la nouvelle édition du guide People + AI Research (PAIR) pour concevoir un nouveau produit avec l'IA, en mettant l'accent sur les pratiques de données centrées sur l'humain et la confiance des utilisateurs correctement calibrée.
Prérequis
- Connaissances de base sur l'IA
- Connaissance du workflow de développement d'un produit
Points abordés
Dans cet atelier de programmation, vous allez apprendre à utiliser le Guidebook People + AI de Google Research pour créer des produits d'IA fiables et centrés sur l'utilisateur.
Plus précisément, vous allez :
- Découvrez les nouveautés de la deuxième édition du Guidebook PAIR.
- Effectuez une série d'exercices qui mettent en évidence les opportunités du processus de développement de l'IA pour calibrer la confiance des utilisateurs, en mettant l'accent sur les données et l'explicabilité pour les utilisateurs.
- Découvrez un ensemble plus vaste de supports et de ressources disponibles pour approfondir le sujet.
Prérequis
- Navigateur
- Un compte Google pour afficher un notebook Colaboratory (par exemple, Analyse des sentiments avec BERT)
2. Commencer
Nous présentons la deuxième édition du Guidebook PAIR lors de Google I/O cette année. La première édition est sortie il y a deux ans et a depuis été utilisée par plus de 250 000 personnes dans le monde entier, occupant différents postes (développeurs, concepteurs, responsables produit, étudiants, etc.). Nous sommes heureux de vous annoncer que nous avons apporté des modifications pour la rendre encore plus exploitable.
Plus précisément, dans cette deuxième édition, nous vous proposons une nouvelle façon de parcourir le Guidebook et de trouver du contenu par tâche. Nous avons dressé une liste de questions clés que vous et votre équipe pouvez vous poser lorsque vous développez un produit avec une approche de l'IA axée sur l'utilisateur. Elles vous aideront à trouver le contenu dont vous avez besoin, au moment où vous en avez besoin :
- Quand et comment devrais-je utiliser l'IA dans mon produit ?
- Comment créer mon ensemble de données de manière responsable ?
- Comment aider les utilisateurs à avoir confiance en mon système d'IA et à calibrer cette confiance ?
- Comment présenter les nouvelles fonctionnalités d'IA aux utilisateurs ?
- Comment expliquer mon système d'IA aux utilisateurs ?
- Quel est le bon équilibre entre le contrôle par l'utilisateur et l'automatisation ?
- Comment aider les utilisateurs en cas de problème ?
Une fois que vous avez sélectionné une question, vous obtenez du contenu pertinent sous forme d'unités plus petites et plus pratiques.
Nous avons également ajouté de nouveaux contenus au Guide PAIR :
- Un ensemble de modèles de conception d'IA
- Études de cas
- Chapitres mis à jour
- Nouveaux exercices et kit d'atelier
Dans cet atelier de programmation, vous verrez certains de ces modèles de conception en action dans un workflow lorsque vous développerez une nouvelle fonctionnalité avec l'IA.
C'est parti !
3. Traduire les besoins des utilisateurs en problème d'IA
Imaginez le scénario suivant :
Vous développez une application de visionnage de films et vous souhaitez offrir aux utilisateurs une expérience améliorée et personnalisée, en les aidant à trouver plus de films qui leur plaisent.
La page de destination de l'application comprend actuellement les sections suivantes :
- Liste des nouveaux films, classés par date de sortie
- Un catalogue de tous les films, organisé par genre
- Un champ de recherche dans lequel les utilisateurs peuvent effectuer des recherches par titre de film, par acteur, etc.
Application de films sans recommandations personnalisées
Vous souhaitez ajouter une section avec des recommandations de films pour l'utilisateur et vous pensez que l'IA pourrait être une bonne option pour implémenter cette fonctionnalité. Avant de procéder à une implémentation, vous devez effectuer les opérations suivantes :
- Examinez les workflows existants : comment les utilisateurs interagissent-ils actuellement avec l'application et comment pensez-vous que leur expérience pourrait être améliorée ?
- Déterminez si l'IA peut apporter une valeur unique : votre problème peut-il être résolu efficacement avec l'IA ? L'IA est-elle susceptible d'améliorer l'expérience utilisateur de votre produit ?
Dans le chapitre Besoins des utilisateurs et définition du succès du Guidebook PAIR, vous examinez la liste des cas d'utilisation pour lesquels l'IA est probablement une bonne solution. Vous constatez que le besoin de vos utilisateurs relève des types de problèmes suivants :
- Recommander différents contenus à différents utilisateurs
- La personnalisation améliore l'expérience utilisateur
- Afficher du contenu dynamique est plus efficace qu'une interface prévisible
Veillez également à consulter la liste des cas où l'IA n'est probablement pas la meilleure solution.
Maintenant que vous avez constaté qu'une solution basée sur l'IA semble être un bon candidat pour répondre à ce besoin utilisateur, vous devez évaluer si elle offrira réellement une meilleure expérience utilisateur.
Modèle :
Avant de commencer à créer avec l'IA, assurez-vous que le produit ou la fonctionnalité que vous avez en tête nécessite l'IA ou serait amélioré par celle-ci.
L'IA est bien adaptée aux applications telles que :
- Recommander différents contenus à différents utilisateurs, comme des suggestions de films
- Prédire des événements futurs, comme des événements météorologiques ou des changements de prix de vols
- Compréhension du langage naturel
- Reconnaissance d'images
Une solution basée sur des règles ou une heuristique peut être plus appropriée dans les cas suivants :
- Il est important de maintenir la prévisibilité
- Les utilisateurs, les clients ou les développeurs ont besoin d'une transparence totale
- Les utilisateurs ne souhaitent pas qu'une tâche soit automatisée
Pour savoir quand utiliser l'IA (ou non), consultez le chapitre Besoins des utilisateurs.
Lien vers le modèle complet : https://pair.withgoogle.com/guidebook/patterns#determine-if-ai-adds-value
Vous pouvez ajouter de la valeur à l'application en mettant en avant auprès de chaque utilisateur les films qu'il est susceptible d'apprécier. Vous lui offrez ainsi une expérience plus riche que si vous ne lui montriez que les films les plus récents ou les mieux notés. Vous pensez également pouvoir leur faire gagner du temps en leur permettant d'explorer un catalogue de films en pleine expansion grâce à cette fonctionnalité.
Maintenant que vous avez décidé d'adopter une solution optimisée par l'IA, vous êtes prêt à planifier les prochaines étapes.
4. Créer un ensemble de données pour la tâche
Pour entraîner un système de recommandation à fournir des suggestions de films aux utilisateurs, vous devez créer un ensemble de données à partir duquel votre modèle d'IA apprendra.
La première chose à faire est de faire correspondre les besoins des utilisateurs à ceux des données.
À l'aide de l'exercice d'association du chapitre Collecte et évaluation des données du Guidebook PAIR, vous déterminez les éléments suivants :
- Utilisateur : spectateurs de films (utilisateurs de l'application de films)
- Besoin de l'utilisateur : trouver plus facilement et plus rapidement des films qui lui plaisent
- Action de l'utilisateur : sélectionner et regarder des films dans l'application
- Résultats du système d'IA : quels films suggérer et pourquoi (étiquettes ou tags de sentiments)
- Apprentissage du système d'IA : schémas de comportement liés à l'acceptation de recommandations de films, au visionnage de films entiers, à la rédaction d'avis sur des films et à l'attribution de notes élevées à ces films
- Ensembles de données nécessaires : données sur les visionnages de films dans l'application, informations sur les films, notes et avis sur les films
- Fonctionnalités clés requises dans l'ensemble de données : préférences et historique de visionnage des spectateurs, informations sur les films (par exemple, genre, casting), notes et avis sur les films
- Étiquettes clés requises dans l'ensemble de données : taux d'acceptation ou de refus des suggestions d'applications par les spectateurs, taux de visionnage complet des films par les spectateurs, notes et avis des spectateurs, et commentaires des spectateurs expliquant pourquoi une suggestion a été refusée
Maintenant que vous avez terminé cet exercice, vous pouvez commencer à identifier plusieurs sources de données potentielles :
- Données utilisateur de l'application (préférences spécifiées et historique des consultations)
- Informations sur le film provenant de l'application (titre, année, durée, distribution, etc.)
- Avis sur les films et informations sur les notes provenant d'autres sources, comme IMDB et MovieLens
Une fois que vous avez une idée du type de données dont vous aurez besoin, examinez les Principes de Google concernant l'IA et les Pratiques d'IA responsable comme exemples de frameworks pour vous aider à réfléchir aux considérations clés, telles que la confidentialité (par exemple, "intégrer le fait d'informer les utilisateurs et d'obtenir leur consentement") et l'équité (par exemple, "Effectuez des tests utilisateur itératifs pour intégrer les différents besoins des utilisateurs aux cycles de développement.")
Enfin, lorsque vous préparez votre ensemble de données d'entraînement, assurez-vous de collecter des données réalistes qui reflètent les données "bruyantes" disponibles dans le monde. Par exemple, veillez à inclure des critiques de films contenant des fautes d'orthographe, des abréviations, des emoji et des caractères inhabituels ou inattendus. En effet, les utilisateurs de votre application sont plus susceptibles de rédiger des avis réels et "bruyants" à l'avenir, plutôt que des avis parfaitement formatés.
Modèle :
Lorsque vous développez votre ensemble de données d'entraînement, ne cherchez pas à obtenir quelque chose de parfaitement organisé. Au lieu de cela, autorisez un peu de "bruit" pour que les données soient aussi semblables que possible aux données réelles que vous vous attendez à obtenir de vos utilisateurs. Cela peut vous aider à éviter les erreurs et les recommandations de mauvaise qualité une fois que vous avez déployé votre modèle dans le monde réel.
Pour ce faire, réfléchissez aux types de données que vous vous attendez à obtenir de vos utilisateurs, puis assurez-vous que ces données sont représentées dans votre ensemble d'entraînement.
Par exemple, pour un système de reconnaissance d'images, réfléchissez aux données que vous pourriez obtenir de vos utilisateurs. S'il est probable qu'ils n'auront pas le temps de prendre des photos de haute qualité et que votre modèle devra fonctionner avec des images floues prises avec un smartphone, incluez des images floues dans vos données d'entraînement.
Lien vers le modèle complet : https://pair.withgoogle.com/guidebook/patterns#embrace-noisy-data
Maintenant que vous avez associé les besoins des utilisateurs à un problème d'IA et à des besoins en termes d'ensemble de données, vous êtes prêt à entraîner l'IA à fournir des recommandations et à étiqueter des films pour les utilisateurs de votre application. Bien que nous ne couvrions pas cette partie du processus dans cet atelier de programmation, vous pouvez en savoir plus sur les systèmes de recommandation et l'analyse des sentiments dans les ressources suivantes :
- Cours d'autoformation Recommendation Systems sur Google Developers
- Tutoriel Classification de texte pour l'analyse des sentiments avec BERT sur TensorFlow.org
5. Communiquer sur les capacités et les limites du système
Lorsque vous concevez l'expérience utilisateur de votre application, vous devez planifier l'intégration des utilisateurs à la nouvelle fonctionnalité optimisée par l'IA et les aider à définir correctement leurs attentes. Les utilisateurs ne doivent pas faire confiance implicitement à votre système d'IA en toutes circonstances, mais plutôt calibrer correctement leur confiance.
Définir les attentes des utilisateurs est un processus délibéré qui commence avant même leur première interaction avec votre produit. Vous devez fournir des explications tout au long de l'expérience produit et en dehors, de différentes manières :
- Explique-moi ce qui se passe. Le cas échéant, fournissez des raisons pour une inférence, une recommandation, une suggestion, etc.
- Fournissez des explications supplémentaires dans le produit. Expliquez les systèmes d'IA en tirant parti d'autres moments dans le produit, comme l'intégration.
- Allez au-delà de l'expérience produit. Les informations fournies dans le produit peuvent ne pas suffire. Vous pouvez les compléter avec diverses ressources supplémentaires, comme des campagnes marketing pour sensibiliser les utilisateurs, et des supports pédagogiques et des campagnes d'alphabétisation pour développer des modèles mentaux.
Prenons un exemple : un utilisateur s'est connecté à l'application et a sélectionné un film recommandé dans la nouvelle liste ajoutée à sa page de destination. En plus des informations habituelles sur le film qu'ils peuvent s'attendre à y trouver, vous pouvez inclure une explication sur la raison pour laquelle ce film spécifique figure dans leur liste de recommandations.
En utilisant la recherche par question du Guidebook PAIR et en sélectionnant "Comment expliquer mon système d'IA aux utilisateurs ?", vous trouverez le modèle suivant : expliquez pour faire comprendre, pas pour être exhaustif.
Modèle :
Lorsque vous expliquez les recommandations de votre système d'IA, concentrez-vous sur le partage des informations dont les utilisateurs ont besoin pour prendre des décisions et aller de l'avant. N'essayez pas d'expliquer tout ce qui se passe dans le système.
Souvent, la justification d'une prédiction particulière est inconnue ou trop complexe pour être résumée en une simple expression ou phrase. Les utilisateurs peuvent également ne pas vouloir être submergés ou distraits par des explications superflues lorsqu'ils utilisent votre produit.
Le chapitre "Explicabilité et confiance" propose des exemples de différentes approches pour créer des explications concises et conviviales, y compris des explications partielles, la divulgation progressive et l'affichage de la confiance du modèle.
Si vous souhaitez partager des explications plus longues ou plus détaillées sur le fonctionnement global du système, faites-le en dehors du parcours utilisateur actif, par exemple dans des supports marketing ou des contenus d'intégration.
Lien vers le modèle complet : https://pair.withgoogle.com/guidebook/patterns#explain-for-understanding
En appliquant les bonnes pratiques décrites dans ce modèle, vous décidez d'afficher une explication qui ressemble à ceci :
Recommandation de film, y compris la justification de la recommandation
Dans cet exemple d'explication, vous appliquez les conseils du Guidebook PAIR dans Explicabilité et confiance et utilisez des sources de données pour fournir une explication à l'utilisateur avec les trois avis les plus votés.
Vous avez également mis en évidence les mots spécifiques qui ont le plus contribué au sentiment positif pour ce film, qui sont des facteurs importants pour l'utilisateur dans sa sélection de films. Pour en savoir plus sur l'exploration d'un classificateur de sentiments, consultez cette démo de l'outil d'interprétabilité du langage (LIT) de PAIR.
Capture d'écran de Learning Interpretability Tool (LIT)
LIT peut vous aider à inspecter le comportement d'un modèle de traitement du langage naturel (TLN) à l'aide d'un outil visuel, interactif et extensible. Il vous permet de tester des hypothèses et de les valider sur un ensemble de données avec des métriques pertinentes et des explications locales (par exemple, des cartes de saillance et des visualisations de prédictions). Les équipes produit peuvent utiliser LIT dans les exemples de cas d'utilisation suivants :
- Avant de déployer un modèle
- Tester l'équité
- Déboguer des prédictions individuelles
- Lorsque vous comparez un nouveau modèle à un ancien
6. Déterminer comment afficher la confiance
Une autre façon de définir les attentes des utilisateurs consiste à afficher le degré de confiance du modèle dans les recommandations. Au lieu d'indiquer pourquoi ou comment l'IA a pris une certaine décision, les affichages de confiance du modèle montrent le degré de certitude de l'IA dans sa prédiction et les alternatives qu'elle a envisagées. La plupart des modèles pouvant générer les n meilleures classifications et scores de confiance, les affichages de confiance des modèles constituent souvent une explication facilement disponible.
Avant d'ajouter un degré de confiance aux pages de films recommandées affichées à l'utilisateur, vous devez déterminer si ce degré de confiance est utile à l'utilisateur et, le cas échéant, quelle est la meilleure façon de l'afficher.
Modèle :
Dans certaines situations, vous pouvez aider les utilisateurs à évaluer le degré de confiance à accorder au résultat de l'IA grâce aux affichages de confiance du modèle qui expliquent le degré de certitude de l'IA dans sa prédiction et les alternatives envisagées.
Toutefois, dans d'autres contextes, les affichages de confiance peuvent être difficiles à comprendre pour les utilisateurs.
Si vous décidez de les utiliser, testez différents types d'écrans tôt dans le processus de développement du produit pour trouver ce qui convient le mieux à vos utilisateurs.
Lien vers le modèle complet : https://pair.withgoogle.com/guidebook/patterns#how-to-show-model-confidence
En examinant les approches recommandées pour afficher la confiance dans le chapitre Explicabilité et confiance du Guidebook PAIR, vous trouverez les options suivantes :
- N classifications les plus probables
- Niveau de confiance numérique
Étant donné que vous présentez une liste de films recommandés à l'utilisateur sur sa page de destination dans l'application, vous optez pour une liste ordonnée, dans laquelle les films les plus susceptibles d'être regardés sont affichés dans l'ordre.
Carrousel de films recommandés, avec les recommandations les plus pertinentes affichées en premier
7. Donner à l'utilisateur un moyen de résoudre les erreurs
Au cours des dernières étapes, vous avez découvert quelques bonnes pratiques pour définir les attentes et fournir des explications aux utilisateurs, tout en les aidant à renforcer et à calibrer leur confiance dans le produit.
Une autre question importante à laquelle vous devez répondre est la suivante : à quoi ressemble l'expérience utilisateur lorsqu'une erreur se produit ? La façon dont les utilisateurs progressent est tout aussi importante. En vous concentrant sur ce que vos utilisateurs peuvent faire après une défaillance du système, vous leur donnez les moyens d'agir tout en maintenant l'utilité de votre produit.
Comme expliqué dans le chapitre Erreurs et gestion des échecs du Guide PAIR, vous devez commencer par définir ce qu'est une erreur pour votre produit et le type d'erreur (utilisateur, système ou contexte).
Prenons les exemples suivants :
- L'utilisateur reçoit une recommandation pour un film qu'il a déjà vu au cinéma. Bien que cette recommandation ne soit pas désactivée, elle n'est pas vraiment utile pour l'utilisateur.
- L'utilisateur reçoit une recommandation pour un film qu'il a déjà vu au cinéma et qu'il n'a pas aimé. Cette recommandation peut être considérée comme une erreur pour l'utilisateur, en fonction de ses préférences en matière de films.
- L'utilisateur reçoit une recommandation de film dans un genre qu'il n'apprécie pas habituellement. L'utilisateur peut considérer cela comme une erreur.
- L'utilisateur reçoit une recommandation pour un film qui n'est plus hébergé sur l'application. Il s'agit d'une erreur système évidente.
Dans les deuxième et troisième exemples ci-dessus, l'IA a fourni une recommandation qui n'est pas utile pour cet utilisateur. En cas d'erreur, vous devez permettre à l'utilisateur de donner son avis sur la prédiction et lui communiquer le délai d'impact, comme recommandé dans le chapitre Commentaires et contrôle du Guidebook PAIR.
Modèle :
Lorsque votre système optimisé par l'IA se comporte d'une manière inattendue ou indésirable pour un utilisateur, assurez-vous qu'il a la possibilité de partager ses commentaires. Dans la mesure du possible, utilisez ces commentaires pour améliorer votre modèle.
Les commentaires dans les systèmes d'IA peuvent prendre différentes formes, y compris :
- Évaluer une recommandation
- Masquer les recommandations indésirables
- Signaler des recommandations problématiques
- Flux de commentaires plus traditionnels, où un utilisateur signale manuellement un problème à l'aide d'un formulaire ou d'un autre mécanisme
Une fois qu'un utilisateur a envoyé des commentaires, confirmez que vous les avez reçus. Si possible, indiquez-lui comment le système répondra à ses commentaires.
Lien vers le modèle complet : https://pair.withgoogle.com/guidebook/patterns#let-users-give-feedback
Dans le cas de votre application, cela peut ressembler à ceci :
Les utilisateurs peuvent donner leur avis sur les recommandations…
… et ils sont informés de la suite des événements.
8. Félicitations
Félicitations ! Vous venez de parcourir un exemple de workflow qui vous montre comment utiliser certaines des nouvelles ressources du Guidebook PAIR.
Résumé
Dans cet atelier de programmation, vous avez appris à :
- Traduire les besoins des utilisateurs en problème d'IA
- Créer un ensemble de données pour la tâche
- Intégrer les utilisateurs à la nouvelle fonctionnalité
- Expliquer le système et définir les attentes des utilisateurs
- Donner à l'utilisateur un moyen de résoudre les erreurs
- Recueillir des commentaires pour améliorer le produit
Étape suivante
Vous trouverez toutes les ressources présentées dans cet atelier de programmation, et bien d'autres, en cliquant sur les liens suivants :