Avec une multitude d'articles, de vidéos, d'enregistrements audio et d'autres médias créés quotidiennement par les sociétés de médias d'information, les lecteurs de tous types (consommateurs individuels, abonnés d'entreprise, etc.) ont souvent du mal à trouver le contenu d'actualité le plus pertinent pour eux. Proposer des actualités et des expériences personnalisées aux lecteurs peut aider à résoudre ce problème et à créer des expériences plus engageantes. Cependant, fournir des recommandations véritablement personnalisées présente plusieurs défis majeurs :
- Capturer les divers intérêts des utilisateurs – Les actualités peuvent couvrir de nombreux sujets et même au sein de sujets spécifiques, les lecteurs peuvent avoir des intérêts variés.
- Remédier à l’historique limité des lecteurs – De nombreux lecteurs de nouvelles ont un historique d’activités clairsemé. Les recommandataires doivent rapidement apprendre les préférences à partir de données limitées pour apporter de la valeur.
- Actualité et tendances – Les cycles d'actualités quotidiens signifient que les recommandations doivent équilibrer le contenu personnalisé avec la découverte de nouvelles histoires populaires.
- Changer les intérêts – Les intérêts des lecteurs peuvent évoluer avec le temps. Les systèmes doivent détecter les changements et adapter les recommandations en conséquence.
- Explicabilité – Fournir de la transparence sur les raisons pour lesquelles certaines histoires sont recommandées renforce la confiance des utilisateurs. Le système idéal de recommandation d’informations comprend l’individu et répond au climat et à l’audience de l’information au sens large. Relever ces défis est essentiel pour connecter efficacement les lecteurs au contenu qu’ils trouvent informatif et engageant.
Dans cet article, nous décrivons comment Amazon Personnaliser peut alimenter une application de recommandation d’actualités évolutive. Cette solution a été mise en œuvre chez un client média Fortune 500 au premier semestre 1 et peut être réutilisée pour d'autres clients intéressés par la création de recommandateurs d'actualités.
Vue d'ensemble de la solution
Amazon Personalize est parfaitement adapté pour alimenter un moteur de recommandation d'actualités en raison de sa capacité à fournir des recommandations personnalisées en temps réel et par lots à grande échelle. Amazon Personalize propose une variété de recettes de recommandation (algorithmes), telles que les recettes User Personality et Trending Now, qui sont particulièrement adaptées à la formation de modèles de recommandation d'actualités. La recette de personnalisation de l'utilisateur analyse les préférences de chaque utilisateur en fonction de son engagement avec le contenu au fil du temps. Il en résulte des flux d'actualités personnalisés qui présentent les sujets et les sources les plus pertinents pour un utilisateur individuel. La recette Trending Now complète cela en détectant les tendances croissantes et les actualités populaires en temps réel auprès de tous les utilisateurs. La combinaison des recommandations des deux recettes permet au moteur de recommandation d'équilibrer la personnalisation avec la découverte d'histoires opportunes et très intéressantes.
Le diagramme suivant illustre l'architecture d'une application de recommandation d'actualités optimisée par Amazon Personalize et prenant en charge les services AWS.
Cette solution présente les limites suivantes :
- Fournir des recommandations personnalisées pour des articles qui viennent d’être publiés (articles publiés il y a quelques minutes) peut s’avérer difficile. Nous décrivons comment atténuer cette limitation plus loin dans cet article.
- Amazon Personalize dispose d'un nombre fixe de fonctionnalités d'ensemble de données d'interactions et d'éléments qui peuvent être utilisées pour entraîner un modèle.
- Au moment de la rédaction, Amazon Personalize ne fournit pas d'explications de recommandations au niveau de l'utilisateur.
Passons en revue chacun des principaux composants de la solution.
Pré-requis
Pour mettre en œuvre cette solution, vous avez besoin des éléments suivants :
- Données historiques et en temps réel sur les clics des utilisateurs pour le
interactions
jeu de données - Métadonnées d'articles d'actualité historiques et en temps réel pour le
items
jeu de données
Ingérer et préparer les données
Pour entraîner un modèle dans Amazon Personalize, vous devez fournir des données de formation. Dans cette solution, vous utilisez deux types d'ensembles de données de formation Amazon Personalize : ensemble de données d'interactions ainsi que les ensemble de données d'élémentsL’ interactions
l'ensemble de données contient des données sur les interactions utilisateur-élément-horodatage, et l'ensemble de données items
L'ensemble de données contient des fonctionnalités sur les articles recommandés.
Vous pouvez adopter deux approches différentes pour ingérer des données d'entraînement :
- Ingestion par lots - Vous pouvez utiliser Colle AWS pour transformer et ingérer les données d'interactions et d'éléments résidant dans un Service de stockage simple Amazon (Amazon S3) dans les ensembles de données Amazon Personalize. AWS Glue effectue des opérations d'extraction, de transformation et de chargement (ETL) pour aligner les données avec le schéma des ensembles de données Amazon Personalize. Une fois le processus ETL terminé, le fichier de sortie est replacé dans Amazon S3, prêt à être ingéré dans Amazon Personalize via un tâche d'importation d'ensemble de données.
- Ingestion en temps réel - Vous pouvez utiliser Flux de données Amazon Kinesis ainsi que les AWS Lambda pour ingérer progressivement des données en temps réel. Une fonction Lambda effectue les mêmes opérations de transformation de données que la tâche d'ingestion par lots au niveau de l'enregistrement individuel et ingère les données dans Amazon Personalize à l'aide de l'option MettreÉvénements ainsi que les PutItems Apis.
Dans cette solution, vous pouvez également ingérer certains attributs de données d'éléments et d'interactions dans Amazon DynamoDB. Vous pouvez utiliser ces attributs lors de l'inférence en temps réel pour filtrer les recommandations par règles métier. Par exemple, les métadonnées de l'article peuvent contenir des noms d'entreprises et de secteurs d'activité dans l'article. Pour recommander de manière proactive des articles sur des entreprises ou des secteurs sur lesquels les utilisateurs lisent, vous pouvez enregistrer la fréquence à laquelle les lecteurs interagissent avec des articles sur des entreprises ou des secteurs spécifiques, et utiliser ces données avec Amazon Personnaliser les filtres pour adapter davantage le contenu recommandé. Nous expliquons plus en détail comment utiliser les attributs de données d'éléments et d'interactions dans DynamoDB plus loin dans cet article.
Le diagramme suivant illustre l’architecture d’ingestion de données.
Former le modèle
L'essentiel de l'effort de formation du modèle doit se concentrer sur le modèle de personnalisation de l'utilisateur, car il peut utiliser les trois ensembles de données Amazon Personalize (alors que le modèle Trending Now utilise uniquement le modèle Trending Now). interactions
base de données). Nous recommandons de réaliser des expériences qui font varier systématiquement différents aspects du processus de formation. Pour le client qui a mis en œuvre cette solution, l'équipe a réalisé plus de 30 expériences. Cela comprenait la modification du interactions
ainsi que les items
fonctionnalités de l'ensemble de données, ajustant la durée de l'historique des interactions fourni au modèle, ajustant les hyperparamètres Amazon Personalize et évaluant si l'ensemble de données d'un utilisateur explicite a amélioré les performances hors ligne (par rapport à l'augmentation du temps de formation).
Chaque variante du modèle a été évaluée sur la base des métriques rapportées par Amazon Personalize sur les données de formation, ainsi que des métriques hors ligne personnalisées sur un ensemble de données de test d'exclusion. Les mesures standard à prendre en compte incluent la précision moyenne moyenne (MAP) @ K (où K est le nombre de recommandations présentées à un lecteur), le gain cumulé actualisé normalisé, le rang réciproque moyen et la couverture. Pour plus d'informations sur ces métriques, voir Évaluation d'une version de solution avec des métriques. Nous recommandons de donner la priorité à MAP @ K parmi ces métriques, qui capturent le nombre moyen d'articles sur lesquels un lecteur a cliqué parmi les K principaux articles qui lui ont été recommandés, car la métrique MAP est un bon indicateur des taux de clics (réels) sur les articles. K doit être sélectionné en fonction du nombre d'articles qu'un lecteur peut consulter sur une page Web de bureau ou mobile sans avoir à faire défiler, ce qui vous permet d'évaluer l'efficacité des recommandations avec un effort minimal du lecteur. La mise en œuvre de mesures personnalisées, telles que l'unicité de la recommandation (qui décrit le degré d'unicité du résultat de la recommandation parmi l'ensemble des utilisateurs candidats), peut également fournir un aperçu de l'efficacité des recommandations.
Avec Amazon Personalize, le processus expérimental vous permet de déterminer l'ensemble optimal de fonctionnalités d'ensemble de données pour les modèles User Personality et Trending Now. Le modèle Trending Now existe au sein du même Amazon Personalize groupe de jeux de données que le modèle de personnalisation de l'utilisateur, il utilise donc le même ensemble de interactions
caractéristiques des ensembles de données.
Générez des recommandations en temps réel
Lorsqu'un lecteur visite la page Web d'une société de presse, un appel API sera effectué vers le recommandateur de nouvelles via Passerelle d'API Amazon. Cela déclenche une fonction Lambda qui appelle les points de terminaison des modèles Amazon Personalize pour obtenir recommandations en temps réel. Pendant l'inférence, vous pouvez utiliser filtres pour filtrer le résultat de la recommandation initiale en fonction des attributs d'interaction de l'article ou du lecteur. Par exemple, si « Sujet d'actualité » (comme le sport, le style de vie ou la politique) est un attribut d'article, vous pouvez limiter les recommandations à des sujets d'actualité spécifiques s'il s'agit d'une exigence du produit. De même, vous pouvez utiliser des filtres sur les événements d'interaction du lecteur, par exemple en excluant les articles qu'un lecteur a déjà lus.
L’un des principaux défis des recommandations en temps réel consiste à inclure efficacement les articles récemment publiés (également appelés articles froids) dans le résultat des recommandations. Les articles récemment publiés ne disposent d'aucune donnée d'interaction historique sur laquelle les recommandateurs s'appuient normalement, et les systèmes de recommandation ont besoin d'un temps de traitement suffisant pour évaluer la pertinence des articles récemment publiés pour un utilisateur spécifique (même s'ils n'utilisent que des signaux de relation utilisateur-élément).
Amazon Personalize peut détecter et recommander automatiquement et de manière native les nouveaux articles ingérés dans le items
ensemble de données toutes les 2 heures. Cependant, comme ce cas d'utilisation est axé sur les recommandations d'actualités, vous avez besoin d'un moyen de recommander de nouveaux articles dès qu'ils sont publiés et prêts à être consultés par les lecteurs.
Une façon de résoudre ce problème consiste à concevoir un mécanisme permettant d'insérer de manière aléatoire des articles récemment publiés dans la recommandation finale pour chaque lecteur. Vous pouvez ajouter une fonctionnalité pour contrôler le pourcentage d'articles de l'ensemble de recommandations final qui viennent d'être publiés. De la même manière que pour la recommandation d'origine d'Amazon Personalize, vous pouvez filtrer les articles récemment publiés par attributs d'article (tels que « Sujet d'actualité »). ) s'il s'agit d'une exigence du produit. Vous pouvez suivre les interactions sur les articles qui viennent d'être publiés dans DynamoDB à mesure qu'ils commencent à arriver dans le système, et donner la priorité aux articles qui viennent d'être publiés les plus populaires pendant le post-traitement des recommandations, jusqu'à ce que les articles qui viennent d'être publiés soient détectés et traités par les modèles Amazon Personalize.
Une fois que vous avez votre ensemble final d'articles recommandés, cette sortie est soumise à une autre fonction Lambda de post-traitement qui vérifie la sortie pour voir si elle correspond aux règles métier prédéfinies. Il peut s'agir notamment de vérifier si les articles recommandés répondent aux spécifications de mise en page Web, si les recommandations sont diffusées dans l'interface d'un navigateur Web, par exemple. Si nécessaire, les articles peuvent être reclassés pour garantir le respect des règles métier. Nous recommandons le reclassement en implémentant une fonction qui permet aux articles de rang supérieur de ne descendre dans le classement qu'une place à la fois jusqu'à ce que toutes les règles commerciales soient respectées, offrant ainsi une perte de pertinence minimale pour les lecteurs. La liste finale des articles post-traités est renvoyée au service web qui a initié la demande de recommandations.
Le diagramme suivant illustre l'architecture de cette étape de la solution.
Générer des recommandations par lots
Les tableaux de bord d'actualités personnalisés (via des recommandations en temps réel) obligent le lecteur à rechercher activement des actualités, mais dans nos vies bien remplies d'aujourd'hui, il est parfois plus facile de recevoir vos principales actualités. Pour diffuser des articles d'actualité personnalisés sous forme de résumé par courrier électronique, vous pouvez utiliser un Fonctions d'étape AWS workflow pour générer des recommandations par lots. Le flux de travail de recommandation par lots rassemble et post-traite les recommandations de notre modèle de personnalisation des utilisateurs ou des points de terminaison du modèle Trending Now, offrant ainsi la flexibilité de sélectionner la combinaison d'articles personnalisés et tendance que les équipes souhaitent proposer à leurs lecteurs. Les développeurs ont également la possibilité d'utiliser Amazon Personalize inférence par lots fonctionnalité; cependant, au moment de la rédaction, la création d'une tâche d'inférence par lots Amazon Personalize ne prend pas en charge l'inclusion des éléments ingérés après l'entraînement d'un modèle personnalisé Amazon Personalize, et elle ne prend pas en charge la recette Trending Now.
Lors d'un workflow Step Functions d'inférence par lots, la liste des lecteurs est divisée en lots, traitée en parallèle et soumise à une couche de post-traitement et de validation avant d'être envoyée au service de génération d'e-mails. Le diagramme suivant illustre ce flux de travail.
Faire évoluer le système de recommandation
Pour évoluer efficacement, vous avez également besoin que le outil de recommandation d'actualités s'adapte à un nombre croissant d'utilisateurs et à un trafic accru sans créer de dégradation de l'expérience du lecteur. Amazon Personnaliser les points de terminaison du modèle de manière native échelle automatique pour répondre à l'augmentation du trafic. Les ingénieurs doivent uniquement définir et surveiller une variable minimale de transactions provisionnées par seconde (TPS) pour chaque point de terminaison Amazon Personalize.
Au-delà d'Amazon Personalize, l'application de recommandation d'actualités présentée ici est construite à l'aide des services AWS sans serveur, permettant aux équipes d'ingénierie de se concentrer sur la fourniture de la meilleure expérience de lecture sans se soucier de la maintenance de l'infrastructure.
Conclusion
Dans cette économie de l’attention, il est devenu de plus en plus important de fournir un contenu pertinent et opportun aux consommateurs. Dans cet article, nous avons expliqué comment utiliser Amazon Personalize pour créer un outil de recommandation d'actualités évolutif, ainsi que les stratégies que les organisations peuvent mettre en œuvre pour relever les défis uniques liés à la fourniture de recommandations d'actualités.
Pour en savoir plus sur Amazon Personalize et comment il peut aider votre organisation à créer des systèmes de recommandation, consultez le Amazon personnaliser le guide du développeur.
Bonne construction!
À propos des auteurs
Bala Krishnamoorthy est Senior Data Scientist chez AWS Professional Services, où il aide les clients à créer et à déployer des solutions basées sur l'IA pour résoudre leurs défis commerciaux. Il a travaillé avec des clients dans divers secteurs, notamment les médias et le divertissement, les services financiers, la santé et la technologie. Pendant son temps libre, il aime passer du temps avec sa famille et ses amis, rester actif, essayer de nouveaux restaurants, voyager et commencer sa journée avec une tasse de café bien chaud.
Rishi Jala est un architecte de données NoSQL avec AWS Professional Services. Il se concentre sur l'architecture et la création d'applications hautement évolutives à l'aide de bases de données NoSQL telles qu'Amazon DynamoDB. Passionné par la résolution des problèmes des clients, il propose des solutions sur mesure pour favoriser le succès dans le paysage numérique.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/build-a-news-recommender-application-with-amazon-personalize/
- :possède
- :est
- :où
- 100
- 2023
- 30
- 500
- 7
- 98
- a
- capacité
- Qui sommes-nous
- accommoder
- en conséquence
- à travers
- infection
- activement
- activité
- adapter
- ajouter
- propos
- réglage
- Après
- depuis
- Alimenté par l'IA
- algorithmes
- aligner
- Aligne
- Tous
- Permettre
- permet
- déjà
- aussi
- Amazon
- Amazon Personnaliser
- Amazon Web Services
- an
- des analyses
- ainsi que les
- Une autre
- tous
- api
- Apis
- Application
- applications
- approches
- architecture
- SONT
- article
- sur notre blog
- AS
- aspects
- Evaluer
- At
- précaution
- attributs
- public
- acoustique
- auto
- moyen
- AWS
- Colle AWS
- Services professionnels AWS
- RETOUR
- Balance
- basé
- BE
- car
- devenez
- était
- before
- va
- LES MEILLEURS
- tous les deux
- plus large
- navigateur
- construire
- Développement
- construit
- construit
- la performance des entreprises
- occupé
- mais
- by
- Appelez-nous
- appelé
- Appels
- CAN
- candidat
- captures
- maisons
- certaines
- challenge
- globaux
- difficile
- vérifier
- vérification
- Contrôles
- cliquez
- Climat
- Café
- du froid
- combinaison
- combinant
- Sociétés
- Société
- De l'entreprise
- complet
- composants électriques
- Connecter les
- Considérer
- Les consommateurs
- consommation
- contiennent
- contient
- contenu
- des bactéries
- Entreprises
- couverture
- engendrent
- créée
- La création
- Coupe
- Customiser
- des clients
- Clients
- sont adaptées
- cycles
- Tous les jours
- Nouvelles quotidiennes
- tableaux de bord
- données
- Data Scientist
- bases de données
- ensembles de données
- journée
- livrer
- livrer
- offre
- déployer
- décrire
- décrit
- conception
- à poser
- détecter
- détecté
- Déterminer
- Développeur
- mobiles
- diagramme
- différent
- difficile
- Digérer
- numérique
- réduit
- découverte
- discuter
- discuté
- plusieurs
- divisé
- Ne fait pas
- Ne pas
- down
- motivation
- pendant
- chacun
- plus facilement
- économie
- de manière efficace
- efficacité
- effort
- Endpoint
- participation
- engageant
- Moteur
- ENGINEERING
- Les ingénieurs
- assurer
- Divertissement
- évaluer
- évalué
- évaluer
- Pourtant, la
- événements
- Chaque
- évolue
- exemple
- à l'exclusion
- existe
- d'experience
- Expériences
- expérimental
- expériences
- explications
- extrait
- Automne
- Fonctionnalité
- Fonctionnalités:
- few
- Déposez votre dernière attestation
- une fonction filtre
- filtres
- finale
- la traduction de documents financiers
- services financiers
- Trouvez
- s'adapter
- fixé
- Flexibilité
- Focus
- concentré
- se concentre
- Abonnement
- Pour
- Pour les consommateurs
- fortune
- Gratuit
- fréquemment
- de
- L'extrémité avant
- fonction
- fonctions
- plus
- Gain
- générer
- génération
- obtenez
- Don
- Bien
- l'
- Croissance
- Vous avez
- ayant
- he
- la médecine
- vous aider
- aide
- ici
- très
- sa
- historique
- des histoires
- Histoire
- HOT
- HEURES
- Comment
- How To
- Cependant
- HTML
- http
- HTTPS
- idéal
- if
- illustre
- Mettre en oeuvre
- mis en œuvre
- la mise en œuvre
- importer
- important
- amélioré
- in
- comprendre
- inclus
- Y compris
- Améliore
- increased
- de plus en plus
- individuel
- secteurs
- industrie
- d'information
- informatif
- Infrastructure
- initiale
- initié
- perspicacité
- l'interaction
- interactions
- intéressé
- intérêts
- développement
- IT
- articles
- SES
- Emploi
- jpg
- juste
- ACTIVITES
- paysage d'été
- plus tard
- couche
- Disposition
- APPRENTISSAGE
- Longueur
- Niveau
- mode de vie
- limitation
- limites
- limité
- Liste
- Vit
- charge
- perte
- LES PLANTES
- Entrée
- facile
- de nombreuses
- Localisation
- Mai..
- signifier
- mécanisme
- Médias
- Découvrez
- la ficelle d'étiquettes/étiquettes volantes en carton
- Métadonnées
- métrique
- Métrique
- minimal
- minimum
- Minutes
- Réduire les
- Breeze Mobile
- modèle
- numériques jumeaux (digital twin models)
- Surveiller
- PLUS
- (en fait, presque toutes)
- Le Plus Populaire
- multitude
- must
- noms
- nativement
- Besoin
- nécessaire
- Nouveauté
- nouvelles
- normalement
- maintenant
- nombre
- of
- Offres Speciales
- direct
- on
- ONE
- uniquement
- Opérations
- optimaux
- Option
- or
- organisation
- organisations
- original
- Autre
- nos
- ande
- sortie
- plus de
- Parallèle
- particulièrement
- passionné
- /
- pour cent
- performant
- effectue
- Personnalisation
- Personnaliser
- Personnalisé
- Place
- Platon
- Intelligence des données Platon
- PlatonDonnées
- politique
- pool
- Populaire
- Post
- power
- alimenté
- La précision
- préférences
- Préparer
- présenté
- cadeaux
- Prioriser
- priorisation
- Problème
- d'ouvrabilité
- processus
- Traité
- traitement
- Produit
- professionels
- fournir
- à condition de
- aportando
- procuration
- publié
- Push
- vite.
- classer
- Classement
- Tarifs
- Lire
- Reader
- lecteurs
- en cours
- solutions
- réal
- en temps réel
- données en temps réel à grande vitesse.
- recette
- recommander
- Recommandation
- recommandations
- recommandé
- record
- relation amoureuse
- relatif
- pertinent
- compter
- Signalé
- nécessaire
- exigent
- exigence
- Restaurants
- restreindre
- Résultats
- hausse
- pour le running
- même
- évolutive
- Escaliers intérieurs
- Scientifique
- volute
- Rechercher
- Deuxièmement
- Secteurs
- sur le lien
- Sélectionner
- choisi
- supérieur
- envoyé
- servi
- Sans serveur
- service
- Services
- set
- plusieurs
- Changements
- devrait
- signaux
- similaires
- De même
- étapes
- So
- sur mesure
- Solutions
- RÉSOUDRE
- Résoudre
- parfois
- Bientôt
- Sources
- envergure
- groupe de neurones
- caractéristiques
- Dépenses
- Sports
- Standard
- Commencer
- rester
- étapes
- storage
- Stories
- les stratégies
- soumis
- les abonnés
- succès
- tel
- suffisant
- convient
- Support
- Appuyer
- Surface
- combustion propre
- systématiquement
- Système
- s'attaquer
- tailleur
- Prenez
- équipe
- équipes
- Technologie
- tester
- qui
- Les
- leur
- Les
- Ces
- l'ont
- this
- trois
- Avec
- fiable
- opportun
- à
- aujourd'hui
- top
- Les sujets
- tps
- suivre
- circulation
- Train
- qualifié
- Formation
- Actualités de la formation
- Transactions
- Transformer
- De La Carrosserie
- Transparence
- Voyage
- tendances
- Trends
- vraiment
- La confiance
- essayer
- réglage
- deux
- types
- comprend
- expérience unique et authentique
- unicité
- jusqu'à
- utilisé
- cas d'utilisation
- d'utiliser
- Utilisateur
- utilisateurs
- Usages
- en utilisant
- validation
- Plus-value
- variable
- varié
- variété
- varier
- version
- via
- Vidéos
- Voir
- Visites
- marcher
- souhaitez
- était
- Façon..
- we
- web
- navigateur web
- services Web
- WELL
- ont été
- Quoi
- quand
- Les
- que
- qui
- why
- sera
- comprenant
- dans les
- sans
- travaillé
- workflow
- inquiétant
- écriture
- Vous n'avez
- Votre
- zéphyrnet