Brevet FR3087921A1 — publié le 20200501

SYSTÈMES ET MÉTHODES DE RECOMMANDATION UTILISANT DES MODÈLES D'APPRENTISSAGE AUTOMATIQUE EN CASCADE DOMAINE DE L'INVENTION [0001] La présente invention porte généralement sur des méthodes et des systèmes techniques pour la fourniture automatisée de recommandations personnalisées de produits et/ou de services. En particulier, les modes de réalisation de l'invention emploient des technologies d'apprentissage automatique pour l'implémentation de systèmes améliorés de recommandation en ligne. 10 CONTEXTE DE L'INVENTION [0002] Les systèmes de recommandation sont largement déployés dans les services en ligne, comprenant le commerce électronique, les nouvelles, les informations et les systèmes de divertissement. Un système de recommandation sert à présenter des produits, des services ou d'autres éléments (p. ex. livres, 15 musique, films, émissions de télévision, nouvelles, pages Web, publications, services de voyage, applications logicielles, et/ou autres biens et services de consommation) aux utilisateurs. De nombreux systèmes de recommandation utilisent le filtrage et d'autres méthodes techniques pour identifier les éléments susceptibles d'intéresser l'utilisateur, c'est-à-dire pour faire des recommandations 20 personnalisées. [0003] Par exemple, un système de recommandation qui fournit des recommandations personnalisées peut comparer un profil d'utilisateur à certaines caractéristiques de référence et s'efforcer de prédire une notation d'utilisateur, un niveau d'intérêt ou une probabilité d'action (comme un clic de lien ou une décision 25 d'achat) pour des biens, services ou autres éléments avec lesquels l'utilisateur n'a pas encore eu d'interaction. Le profil de l'utilisateur peut être généré à partir 2 d'informations fournies explicitement par l'utilisateur (p. ex. l'âge, le sexe, les centres d'intérêts déclarés, les évaluations et commentaires fournis pour d'autres éléments, le lieu de résidence) et/ou implicitement, sur la base des comportements et actions de l'utilisateur (p. ex. les pages Web visitées, les liens cliques, les programmes de divertissement consommés, les habitudes d'achat antérieures). Les caractéristiques de référence peuvent être explicitement attribuées en fonction des caractéristiques des biens, des services ou d'autres éléments eux-mêmes (c'est-à-dire une approche "fondée sur le contenu") ou peuvent être implicitement dérivées de l'environnement et des caractéristiques des utilisateurs collectivement (c'est-à-dire une approche de "filtrage collaboratif'). [0004] Les systèmes de recommandation présentent généralement à un utilisateur de multiples recommandations personnalisées, par exemple sous la forme d'une liste. Par convention, une telle liste peut être construite en générant des prédictions d'intérêt pour l'utilisateur portant sur tous les éléments disponibles, et en sélectionnant les éléments les mieux classés pour une inclusion dans la liste. Cette approche peut être efficace dans la mesure où les utilisateurs avec des profils similaires ont des préférences similaires et sont donc intéressés par des éléments ayant des caractéristiques de référence similaires. Cependant, les informations dont dispose un système de recommandation sont nécessairement incomplètes, et le système est donc sujet à l'incertitude et à un pouvoir prédictif imparfait. Par exemple, le comportement de l'utilisateur peut être influencé par des préférences et des intérêts qui ne sont pas bien saisis par le contenu du profil utilisateur disponible, ou par des aspects d'éléments qui ne sont pas bien saisis par les caractéristiques de référence disponibles. Le simple fait de présenter à un utilisateur une liste d'éléments qui ont été individuellement bien classés par le système de recommandation peut donc ne pas refléter les véritables intérêts ou préférences de l'utilisateur. [0005] La qualité des recommandations est d'une grande importance. Les recommandations qui ne correspondent pas aux intérêts des utilisateurs peuvent 3 être source d'nsafssfaction, ce qui peut nuire à la réputation du fournisseur et amener les utilisateurs à préférer les services d'autres fournisseurs. Plus immédiatement, il est peu probable que des recommandations de mauvaise qualité entraînent les interactions souhaitées de la part des utilisateurs, comme la 5 sélection d'articles supplémentaires et les décisions d'achat. Inversement, des recommandations de haute qualité peuvent se traduire par des niveaux élevés de satisfaction utilisateur, puisque ces derniers reçoivent des suggestions qui correspondent fortement à leurs intérêts et produisent des résultats souhaitables pour le fournisseur, notamment une meilleure réputation, une forte rétention des 10 utilisateurs et des recettes accrues. Des systèmes de recommandation efficaces sont donc mutuellement avantageux pour les utilisateurs comme pour les fournisseurs. [0006] Dans la pratique, la satisfaction utilisateur à l'égard des recommandations fournies par un système de recommandation ne dépend pas 15 de l'intérêt pour tous les éléments figurant sur une liste, mais de la présence d'au moins un élément d'intérêt suffisant pour déclencher une action supplémentaire, Le simple fait de présenter individuellement les éléments les mieux classés en présence d'informations incomplètes et d'incertitude peut donc ne pas produire un résultat souhaitable, car si un élément de la liste n'intéresse pas l'utilisateur, il 20 pourrait en être de même pour tous les autres éléments, puisqu'Us ont été sélectionnés sensiblement sur la base des mêmes critères. [0007] L'un des objectifs des modes de réalisation de la présente invention est donc d'apporter une solution technique sous la forme d'un système de recommandation basé sur l'apprentissage automatique qui pallie les limites des 25 suggestions basées sur des scores et des classements individuels, afin d'accroître la satisfaction globale utilisateur et l'interaction avec les listes de recommandations. 4 RÉSUMÉ DE L'INVENTION [0008] Dans un aspect, l'invention fournit un procédé implémenté par ordinateur pour fournir des recommandations personnalisées à un utilisateur d'éléments disponibles dans un système en ligne, le procédé comprenant : 5 la réception, via un canal de communication, de données contextuelles comprenant des informations utilisateur ; le calcul d'une pluralité de caractéristiques de premier niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles ; 10 l'évaluation d'un modèle d'apprentissage automatique de premier niveau utilisant les caractéristiques de premier niveau pour générer des prédictions sur le comportement utilisateur par rapport à une pluralité d'éléments individuels disponibles via le système en ligne l'élaboration d'une liste de recommandations d'éléments proposées en 15 fonction des prédictions générées par le modèle d'apprentissage automatique de premier niveau ; le calcul d'une pluralité de caractéristiques de deuxième niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles et des caractéristiques de liste basées sur la liste des 20 recommandations d'éléments proposées et les prédictions correspondantes générées par le modèle d'apprentissage automatique de premier niveau ; l'évaluation d'un modèle d'apprentissage automatique de deuxième niveau à l'aide des caractéristiques de deuxième niveau afin de générer une prédiction du comportement utilisateur par rapport à la liste des recommandations 25 d'éléments proposées fournir, via le canai de communication, une liste personnalisée de recommandations d'éléments basée sur la prédiction générée par le modèle d'apprentissage automatique de deuxième niveau. 10009] Avantageusement, les modes de réalisation de l'invention utilisent 30 donc des modèles d'apprentissage automatique en cascade à deux niveaux, 5 fonctionnant au niveau de l'élément individuel (c'est-à-dire le premier niveau) et au niveau de la liste d'éléments (c'est-à-dire le deuxième niveau), afin de générer des listes de recommandations. Le modèle d'apprentissage automatique de deuxième niveau présente l'avantage d'avoir des caractéristiques 5 supplémentaires qui peuvent être dérivées des résultats du modèle d'apprentissage automatique de premier niveau, ce qui peut permettre d'améliorer les prévisions des comportements des utilisateurs, telles que la sélection d'éléments (p. ex. " clic ") et les taux de conversion des listes (p. ex. achat). 10 [00101 Dans les modes de réalisation de l'invention, les étapes de génération de la liste des recommandations d'éléments proposées, de calcul de la pluralité des caractéristiques de deuxième niveau et d'évaluation du modèle d'apprentissage automatique de deuxième niveau sont répétées de façon itérative, chaque itération comprenant en outre : 15 avant le calcul de la pluralité des caractéristiques de deuxième niveau, la permutation d'une recommandation d'éléments proposées dans la liste des recommandations d'éléments proposées en fonction des prédictions générées par le modèle d'apprentissage automatique de premier niveau pour générer une liste de test des recommandations d'élément proposées ; 20 après l'évaluation du modèle d'apprentissage automatique de deuxième niveau pour générer une prédiction du comportement des utilisateurs par rapport à la liste de test des recommandations proposées, la comparaison de la prédiction du comportement utilisateur par rapport à la liste de test des recommandations proposées avec une prédiction calculée sur une itération 25 antérieure ; et dans le cas où la comparaison détermine que la prédiction du comportement utilisateur par rapport à la liste de test des recommandations proposées est plus favorable que la prédiction calculée sur l'itération précédente, le remplacement de la liste des recommandations proposées par la liste des 30 recommandations proposées. 6 [0011] Avantageusement, cette stratégie de " permutation " permet d'améliorer ou, idéalement, de maximiser la probabilité globale d'interaction de l'utilisateur avec un ou plusieurs éléments de la liste des recommandations, par rapport à la simple présentation d'une liste de recommandations d'éléments générée par le seul modèle d'apprentissage automatique de premier niveau. [0012] Selon une stratégie de permutation " exhaustive " exemplaire, l'étape de permutation d'une recommandation d'éléments proposée dans la liste des recommandations d'éléments proposées comprend la sélection d'une permutation qui génère une liste non testée de recommandations parmi la pluralité d'éléments 10 individuels pour lesquels des prédictions ont été générées par le modèle d'apprentissage automatique de premier niveau, et l'itération continue jusqu'à ce qu'une condition d'arrêt soit remplie. La condition d'arrêt peut être que toutes les listes potentielles de recommandations aient été épuisées. [0013] Selon une autre stratégie de permutation, l'étape de permutation d'une 15 recommandation d'éléments proposée dans la liste des recommandations d'éléments proposées comprend la sélection d'une permutation qui améliore au moins l'une des caractéristiques de deuxième niveau par rapport à un changement prédit dans ia prédiction du comportement utilisateur par rapport à la liste de test des recommandations proposées, et l'itération se poursuit jusqu'à ce 20 qu'une condition d'arrêt soit remplie. La condition d'arrêt peut être que la prédiction du comportement utilisateur par rapport à la liste des recommandai ions proposées ne doit pas devenir nettement plus favorable du fait d'une itération supplémentaire. [0014] Dans les modes de réalisation de l'invention, le modèle 25 d'apprentissage automatique de premier niveau est formé à l'aide de caractéristiques associées à chaque élément disponible et de données historiques sur le comportement utilisateur antérieur en réponse à des présentations de recommandations personnalisées. Le modèle d'apprentissage automatique de deuxième niveau peut ensuite être formé en utilisant les données 7 historiques du comportement utilisateur antérieur en réponse à des présentations de recommandations personnalisées et des données de prédiction correspondantes générées par l'évaluation du modèle d'apprentissage automatique de premier niveau. 5 [0015] Avantageusement, la formation des modèles d'apprentissage automatique en cascade à deux niveaux à l'aide d'une combinaison de caractéristiques d'éléments et de données historiques, y compris le contexte utilisateur dans lequel les comportements antérieurs ont été enregistrés, permet de développer une connaissance plus complète et enrichie des interactions 10 utilisateur avec les recommandations dans le contexte, et de générer ainsi de meilleures prédictions sur le comportement. [0016] Les caractéristiques de la liste peuvent comprendre une ou plusieurs caractéristiques agrégées de la liste, telles qu'une prédiction moyenne du comportement utilisateur par rapport aux éléments individuels inclus dans la liste 15 des recommandations proposées ; le coût minimal des éléments individuels inclus dans la liste des recommandations proposées ; le nombre d'éléments dans la liste des recommandations proposées ; la valeur moyenne d'une note d'évaluation associée aux éléments individuels dans la liste des recommandations proposées > la fourchette des coûts des éléments individuels 20 inclus dans la liste des recommandations proposées ; et/ou la fourchette des valeurs d'une note d'évaluation associée aux éléments individuels dans la liste des recommandations d'éléments proposées. [0017] Dans les modes de réalisation de l'invention, les prédictions du comportement utilisateur peuvent comprendre une ou plusieurs d'une probabilité 25 que l'utilisateur clique sur un lien correspondant à un élément présenté dans la liste personnalisée de recommandations d'éléments ; et une probabilité que l'utilisateur termine en ligne un achat en ligne d'un élément présenté dans la liste personnalisée des recommandations des éléments. [0018] Dans un autre aspect, l'invention fournit un système de recommandation pour fournir des recommandations personnalisées à un utilisateur d'éléments disponibles dans un système en ligne, le système comprenant : 5 un module d'apprentissage automatique à un seul élément implémenté par ordinateur comprenant un modèle d'apprentissage automatique de premier niveau configure pour recevoir une pluralité de caractéristiques de premier niveau et pour générer une prévision correspondante de comportement utilisateur par rapport à une pluralité d'éléments individuels disponibles via le système en ligne ; 10 un module d'apprentissage automatique de liste d'éléments implémenté par ordinateur comprenant un modèle d'apprentissage automatique de deuxième niveau configuré pour recevoir une pluralité de caractéristiques de deuxième niveau et pour générer une prédiction correspondante du comportement utilisateur par rapport à une liste de recommandations d'éléments 18 proposées ; et un module de création de listes implémenté par ordinateur, co pour : recevoir des données contextuelles comprenant des informations utilisateur ; 20 calculer la pluralité des caractéristiques de premier eau comprenant des caractéristiques contextuelles basées sur les données contextuelles ; obtenir des prédictions du comportement utilisateur par rapport une pluralité d'éléments individuels disponibles via le système en ligne 25 à partir du module d'apprentissage automatique à un seul élément basé sur les caractéristiques de premier niveau ; générer la liste des recommandations proposées en fonction des prédictions obtenues à partir du module d'apprentissage automatique à un seul élément ; 30 calculer la pluralité des caractéristiques de deuxième niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles et des caractéristiques de liste basées sur ia liste des recommandations d'éléments proposées et les prédictions correspondantes générées par le modèle d'apprentissage automatique de premier niveau obtenir une prédiction du comportement utilisateur par rapport à la liste des recommandations d'éléments proposées à partir du module d'apprentissage automatique de la liste d'éléments basé sur les caractéristiques de deuxième niveau ; et fournir une liste personnalisée de recommandations d'éléments basée sur la prédiction obtenue à partir du module d'apprentissage automatique de la liste d'éléments, 10 10019] Dans un autre aspect; l'invention fournit un système informatique pour fournir des recommandations personnalisées à un utilisateur d'éléments disponibles dans un système en ligne, le système informatique comprenant: un processeur ; au moins un dispositif mémoire accessible par le processeur ; et 15 une interface de communication accessible par le processeur, dans laquelle le dispositif de mémoire contient le corps d'instructions de programme qui, lorsqu'elles sont exécutées par le processeur, amènent le système informatique à mettre en oeuvre un procédé comprenant les étapes de : réception, via l'interface de communication, des données 20 contextuelles contenant des informations utilisateur ; le calcul d'une pluralité de caractéristiques de premier niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles ; l'évaluation d'un modèle d'apprentissage automatique de premier 25 niveau à l'aide des fonctions de premier niveau pour générer des prédictions du comportement utilisateur par rapport à une pluralité d'éléments individuels disponibles via le système en ligne ; l'élaboration d'une liste de recommandations d'éléments proposées en fonction des prédictions générées par le modèle d'apprentissage 30 automatique de premier niveau ; le calcul d'une pluralité de caractéristiques de deuxième niveau comprenant des caractéristiques contextuelles basées sur les données 10 contextuelles et des caractéristiques de liste basées sur la liste des recommandations d'éléments proposées et les prédictions correspondantes générées par le modèle d'apprentissage automatique de premier niveau ; 5 l'évaluation d'un modèle d'apprentissage automatique de deuxième niveau à l'aide des caractéristiques de deuxième niveau afin de générer une prédiction du comportement utilisateur par rapport à la liste des recommandations d'éléments proposées ; et la fourniture, via l'interface de communication, d'une liste 10 personnalisée de recommandations d'éléments basée sur la prédiction générée par le modèle d'apprentissage automatique de deuxième niveau. [0020] Dans un aspect encore autre, l'invention fournit un produit de programme d'ordinateur comprenant un support lisible par ordinateur sur lequel 15 sont stockées des instructions qui, lorsqu'elles sent exécutées par un processeur, implémentent un procédé pour fournir des recommandations personnalisées à un utilisateur d'éléments disponibles dans un système en ligne, le procédé comprenant : la réception, via un canal de communication, de données contextuelles 20 comprenant des informations utilisateur ; le calcul d'une pluralité de caractéristiques de premier niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles l'évaluation d'un modèle d'apprentissage automatique de premier 25 niveau utilisant les caractéristiques de premier niveau pour générer des prédictions sur le comportement utilisateur par rapport à une pluralité d'éléments individuels disponibles via le système en ligne ; la génération d'une liste de recommandations d'éléments proposées en fonction des prédictions générées par le modèle d'apprentissage automatique 30 de premier niveau ; le calcul d'une pluralité de caractéristiques de deuxième niveau comprenant des caractéristiques contextuelles basées sur les données 11 contextuelles et des caractéristiques de liste basées sur la liste des recommandations d'éléments proposées et les prédictions correspondantes générées par le modèle d'apprentissage automatique de premier niveau l'évaluation d'un modèle d'apprentissage automatique de deuxième 5 niveau à raide des caractéristiques de deuxième niveau afin de générer une prédiction du comportement utilisateur par rapport à la liste des recommandations d'éléments proposées fournir, via le canal de communication, une liste personnalisée de recommandations d'éléments basée sur la prédiction générée par le modèle 10 d'apprentissage automatique de deuxième niveau. [0021] D'autres aspects; avantages et caractéristiques des modes de réalisation de l'invention seront apparents dans la description suivante aux hommes de métier spécialisés dans les domaines pertinents. On notera toutefois que l'invention ne se limite pas aux modes de réalisation décrits, qui sont fournis 15 afin d'illustrer les principes de l'invention tels que définis dans les déclarations précédentes, et pour aider les hommes de métier à mettre ces principes en pratique. BRÈVE DESCRIPTION DES DESSINS [0022] Des modes de réalisation de l'invention seront maintenant décrits par 20 rapport aux dessins accompagnants dans lesquels des numéros référentiels font référence à des caractéristiques similaires, et dans lesquels : La figure 1 est un schéma bloc illustrant un système exemplaire en réseau comprenant un système de recommandation mettant en oeuvre l'invention ; 25 La figure 2 est un schéma bloc fonctionnel d'un système de recommandation de services de voyage mettant en oeuvre l'invention ; La figure 3 est un organigramme illustrant un algorithme selon lequel un module générateur de listes est programmé dans un mode de réalisation exemplaire de l'invention ; 12 La figure 4A montre une courbe caractéristique de fonctionnement du récepteur (ROC) pour un modèle exemplaire d'apprentissage automatique â un seul hôtel mettant en oeuvre l'invention ; La figure 46 est un graphique illustrant les caractéristiques d'entrée les plus importantes du modèle exemplaire d'apprentissage automatique â un seul hôtel ; La igure 5A montre une courbe ROC pour un modèle exemplaire d'apprentissage automatique à liste d'hôtels mettant en oeuvre l'invention ; La figure 513 est un graphique illustrant les principales caractéristiques 10 d'entrée du modèle exemplaire d'apprentissage automatique à liste d'hôtels ; et La figure 6 est un schéma bloc illustrant un système de recommandation d'apprentissage automatique en cascade en deux étapes mettant en oeuvre l'invention. DESCRIPTION DES MODES DE RÉALISATION PRIVILÉGIÉS 15 [0023] La figure 1 est un graphique bloc illustrant un système 100 en réseau exemplaire comprenant un système de recommandation 102 mettant en oeuvre l'invention. En particulier, le système de recommandation 102 comprend un système d'apprentissage automatique configure pour générer des listes de recommandations personnalisées de biens, de services ou d'autres éléments, 20 conformément à un mode de réalisation de l'invention. [0024] Le système de recommandation 102 peut comprendre un système informatique ayant une architecture conventionnelle. En particulier, le système de recommandation 102, tel qu'il est illustré, comprend un processeur 104. Le processeur 104 est associé de façon fonctionnelle à un dispositif de 25 stockage/mémoire non volatile 106, p. ex. via un ou plusieurs bus de données/adresses 108 tel qu'illustré. Le stockage non volatile 106 peut âtre un disque dur et/ou peut inclure une mémoire non volatile à état défini, telle qu'une mémoire morte ROM, une mémoire flash, un disque dur électronique (SSD) ou autre stockage similaire. Le processeur 104 sert aussi d'interface avec le 13 stockage volatile 110, tel que la mémoire à accès aléatoire RAM, qui contient des instructions de programme et des données temporaires relatives au fonctionnement du système de recommandation 102. [0025] Dans une configuration conventionnelle, le dispositif de stockage 106 5 maintient un programme connu et un contenu de données pertinent avec le fonctionnement normal du système de recommandation 102. Par exemple, le dispositif de stockage 106 peut contenir des programmes de système d'exploitation et des données ainsi que d'autres logiciels d'application exécutables nécessaires pour les fonctions voulues du système de 10 recommandation 102. Le dispositif de stockage 106 contient aussi des instructions de programme qui, lorsqu'elles sont exécutées par le processeur 104, amènent le système de recommandation 102 à effectuer des opérations relatives à un mode de réalisation de la présente invention, lesquelles sont décrites de façon plus détaillée ci-dessous, en référence aux figures 2 et 6 en 15 particulier. Dans le fonctionnement, les instructions et les données contenues sur le dispositif de stockage 106 sont transférées à la mémoire volatile 110 pour une exécution à la demande. [0026] Le processeur 104 est aussi associé de façon fonctionnelle à une interface de communications 112 d'une manière conventionnelle. L'interface de 20 communications 112 faciiite l'accès à un réseau étendu de communications de données, tel que 'Internet 116. [0027] Dans la pratique, le stockage volatile 110 contient un corps d'instructions de programme correspondant 114 transféré à partir du dispositif de stockage 106 et qui est configure pour effectuer Je traitement et d'autres 25 opérations mettant en oeuvre les caractéristiques de la présente invention. Les instructions du programme 114 comprennent une contribution technique à l'art développé et configure spécifiquement pour mettre en oeuvre un mode de réalisation de l'invention, en plus d'une activité bien comprise, routinière et conventionnelle dans le domaine des systèmes d'apprentissage automatique, 14 comme décrit plus en détail ci-dessous, en particulier en référence aux figures 2 à 6. [0028] Concernant l'aperçu précédent du système de recommandation 102 et d'autres systèmes de traitement et dispositifs décrits dans cette spécification, les 5 termes tels que « processeur », « ordinateur » et ainsi de suite, sauf si le contexte l'exige autrement, doivent être interprétés comme faisant référence à une gamme d'implémentations possibles des dispositifs, appareils et systèmes comprenant une combinaison de logiciels et de matériel. Cela inclut des dispositifs à processeur unique et à processeurs multiples et un appareil, incluant 10 des dispositifs portables, des ordinateurs de bureau et divers types de systèmes de serveur, incluant du matériel collaboratif et des plateformes logicielles qui peuvent cohabiter ou être distribuées. Les processeurs physiques peuvent inclure des unités centrales de traitement (CPU), à usage général, des processeurs de signaux numériques, des unités de traitement graphique (GPU), des matrices de 15 portes programmables sur site (FPGA), des circuits intégrés destinés à des applications spécifiques (ASIC) etiou d'autres dispositifs matériels appropriés pour une exécution efficace des programmes et des algorithmes nécessaires. Comme le reconnaitront les hommes de métier, les unités de traitement graphique GPU peuvent en particulier être utilisées pour la mise en oeuvre 20 performante de modèles d'apprentissage automatique comprenant divers modes de réalisation de l'invention, sous le contrôle d'une ou plusieurs unités centrales à usage général (CPU). [0029) Les systèmes informatiques peuvent inclure des architectures conventionnelles d'ordinateur personnel ou d'autres plateformes matérielles à 25 usage général. Les logiciels peuvent inclure des logiciels de sources libres et/ou des logiciels de systèmes d'exploitation vendus sur le marché en combinaison avec diverses applications et programmes de services. Autrement, les plateformes de traitement ou de calcul peuvent comprendre du matériel et/ou des architectures de logiciel adaptés sur mesure. Pour une extensibilité améliorée, les 30 systèmes de traitement et de calcul peuvent comprendre des plateformes informatiques en nuage (cloud) permettant aux ressources matérielles physiques d'être attribuées de façon dynamique en réponse aux demandes de services. Alors que toutes ces variations sont comprises dans la portée de la présente invention, pour faciliter l'explication et la compréhension, les modes de réalisation 5 exemplaires décrits dans les présentes sont basés sur des plateformes informatiques à usage général et un processeur unique, des plateformes de système d'exploitation couramment disponibles et/ou des produits de consommation largement disponibles, tels que des ordinateurs de bureau (PC), des ordinateurs compacts ou ordinateurs portables (PC), des smartphones, des 10 tablettes informatiques, etc. [0030j En particulier, les termes « unité de traitement » et « module » sont utilisés dans cette spécification en référence â toute combinaison appropriée de matériel et de logiciels configurés pour effectuer une tâche particulière définie, telle que l'accès et le traitement des données en ligne ou hors connexion, 15 l'exécution des étapes de formation d'un modèle d'apprentissage automatique ou l'exécution des étapes de prédiction d'un modèle d'apprentissage automatique. Une telle unité de traitement ou un tel module peut comprendre un module de code exécutable qui s'exécute à un emplacement unique sur un dispositif de traitement unique, ou qui peut comprendre des modules collaboratifs de code 20 exécutable qui s'exécutent à de multiples emplacements et/ou sur de multiples dispositifs de traitement. Par exemple, dans certains modes de réalisation de l'invention, la génération de listes de recommandations personnalisées peut être effectuée entièrement par un code qui s'exécute sur un système d'évaluation unique, tel que le système de recommandation 102 alors que pour d'autres 25 modes de réalisation le traitement correspondant peut être exécuté en étant distribué sur une pluralité de systèmes. [00311 Les composants logiciels, p. ex, les tructions de programme 114, pour mettre en oeuvre les caractéristiques de l'invention peuvent être développés en utilisant tout langage de programmation approprié, environnement de 30 développement ou combinaisons de langage et d'environnement de 16 développement qui seront familiers aux hommes de métier spécialisés dans l'ingénierie logicielle. Par exemple, des logiciels appropriés peuvent ëtre développés en utilisant le langage de programmation C, le langage de programmation Java, le langage de programmation C++, le langage de 5 programmation Co, le langage de programmation Python, le langage de programmation R et/ou d'autres langages appropriés pour ia mise en oeuvre d'algorithmes d'apprentissage automatique. Le développement de modules logiciels mettant en oeuvre l'invention peut être soutenu par l'utilisation de bibliothèques de codes d'apprentissage automatique telles que les bibliothèques 10 TensorFlow, Tcrch et Keras. Toutefois, les hommes de métier apprécieront le fait que les modes de réalisation de l'invention impliquent l'implémentation de structures logicielles et de codes qui ne sont pas bien compris, courants ou conventionnels dans le domaine des systèmes d'apprentissage automatique, et que si les bibliothèques préexistantes peuvent aider à l'implémentation, elles 15 nécessitent une configuration spécifique et une augmentation considérable (c'est- à-dire un développement de codes supplémentaires) afin d'implémenter les structures spécifiques, traitements, calculs et algorithmes décrits ci-dessous, particulièrement en rapport avec les figures 2 à 6. [0032] Les exemples qui précèdent de langages, d'environnements et de 20 bibliothèques de codes ne se veulent pas restrictifs et on notera que tous les langages, les bibliothèques et les systèmes de développement concernés peuvent être employés conformément aux exigences des systèmes. Les descriptions, schémas bloc, organigrammes et autres qui sont présentés dans cette spécification sont fournis à titre d'exemple pour permettre aux hommes de 25 métier, spécialisés dans l'ingénierie logicielle et l'apprentissage automatique, de comprendre et d'apprécier les caractéristiques, la nature et la portée de l'invention, et pour mettre un ou plusieurs modes de réalisation de l'invention en pratique par l'implémentation d'un code logiciel adapté utilisant tous les langages, contextes, bibliothèques et systèmes de développement adaptés conformément à 30 cette divulgation sans avoir à y apporter une ingéniosité inventive additionnelle. 17 [0033] Le code de programme mis en oeuvre dans l'une ou l'autre des applications/modules décrits dans le présent document peut être distribué individuellement ou collectivement en tant que produit de programme sous une variétés de formes différentes. En particulier, le code de programme peut être distribué à l'aide d'un support de stockage lisible par ordinateur sur lequel se trouvent des instructions de programme lisibles par ordinateur pour amener un processeur à exécuter certains aspects des modes de réalisation de l'invention. [0034] Les supports de stockage lisibles par ordinateur peuvent comprendre des supports tangibles volatiles et non volatiles, et amovibles et non amovibles, 10 mis en oeuvre dans tout procédé ou technologie pour stocker de l'information, comme les instructions lisibles par ordinateur, les structures de données, les modules de programme, ou autres données. Les supports de stockage lisibles par ordinateur peuvent en outre comprendre la mémoire vive (RAM), la mémoire mode (ROM), la mémoire morte programmable effaçable (EPROM), la mémoire 15 morte programmable effaçable électriquement (EEPROM), la mémoire flash ou toute autre technologie de mémoire morte à semi-conducteurs, la mémoire morte sur disque compact portable (CD-ROM) ou tout autre support de stockage optique, cassettes magnétiques, bande magnétique, mémoire à disques magnétiques ou autre dispositif de stockage magnétique, ou tout autre support 20 qui peut être utilisé pour stocker les informations souhaitées et qui peut être lu par un ordinateur, Alors qu'un support de stockage lisible par ordinateur ne peut pas comprendre de signaux transitoires en soi (p. ex. des ondes radio ou d'autres ondes électromagnétiques se propageant, des ondes électromagnétiques se propageant à travers un support de transmission tel qu'un guide d'ondes ou des 25 signaux électriques transmis par un fil), des instructions de programme lisibles par ordinateur peuvent être téléchargées sur un ordinateur, un autre type de dispositif de traitement programmable des données ou un autre dispositif depuis un support de stockage lisible par ordinateur ou sur un ordinateur externe ou un périphérique externe par un réseau. [0035] Les instructions de programme lisiblles par ordinateur stockées sur un support lisible par ordinateur peuvent être utilisées pour diriger un ordinateur, d'autres types d'appareils de traitement de données programmables ou d'autres dispositifs pour fonctionner d'une manière particulière, de sorte que les 5 instructions stockées sur le support lisible par ordinateur produisent un article manufacturé comprenant des instructions qui implémentent les fonctions, actes etiou opérations spécifiés dans les organigrammes, les schémas de séquence et/ou les schémas blocs. Les instructions du programme d'ordinateur peuvent être fournies à un ou plusieurs processeurs d'un ordinateur à usage général, d'un 10 ordinateur à usage spécifique ou d'un autre appareil programmable de traitement de données pour produire une machine, de sorte que les instructions, qui s'exécutent par l'intermédiaire du ou de plusieurs processeurs, entraînent une série de calculs devant être exécutés pour implémenter les fonctions, actes etfou opérations spécifiés dans les organigrammes, les schémas de séquence et/ou 15 les schémas blocs. [0036] Poursuivant la discussion de la figure 1, le système en réseau 100 comprend également un système de fournisseur de services 118. En guise d'exemple concret pour illustrer les principes de l'invention, le prestataire de services 118 peut être un système de ventes de services de voyage en ligne ou 20 de commerce électronique. Comme on le sait, un utilisateur peut utiliser un navigateur Web ou un autre logiciel d'application pour accéder au système de services de voyage 118 par l'Internet 116 depuis son propre ordinateur personnel 120, ou depuis un autre dispositif approprié. Une interaction de l'utilisateur avec le système 118 peut typiquement impliquer un certain nombre d'événements 25 séquentiels ou d'actions, tels que la connexion, la recherche et/ou la navigation pour les services (tels que les vols, l'hébergement, etc.), la sélection et la révision des services, l'ajout de services à un panier électronique et l'exécution du processus de paiement (p. ex. fournir les détails du paiement et confirmer un achat). A un ou plusieurs moments d'une telle interaction, il peut être souhaitable 30 de fournir à l'utilisateur des recommandations personnalisées de produits ou de services supplémentaires qui peuvent l'intéresser. Par exemple, une fois qu'un utilisateur a choisi un service de voyage, comme des vols vers une destination 19 particulière, ii peut être souhaitable de présenter une liste de recommandations personnalisées pour l'hébergement, les véhicules de location, les restaurants et/ou d'autres produits et services de voyage associés à cette destination. [0037] On notera toutefois que les modes de réalisation de l'invention ne se 5 limitent pas à fournir des recommandations concernant les services liés aux voyages, mais peuvent s'appliquer à une gamme de services en ligne pour lesquels des recommandations personnalisées peuvent être demandées. Ces services comprennent d'autres services de commerce électronique (p. ex. les détaillants en ligne de biens de consommation), les services de divertissement (p. 10 ex. le streaming vidéo et/ou audio), les services d'information (p, ex. les informations), etc. Comme il ressort de la divulgation suivante sur les services de voyage en ligne, les modes de réalisation de l'invention peuvent être utilisés dans un large éventail d'applications à partir desquelles des recommandations peuvent dériver, et des modèles d'apprentissage automatique pertinents formés, en 15 fonction des profils utilisateur et/ou des interactions avec des éléments individuels recommandés, et des interactions utilisateur avec des listes d'éléments recommandés. [0038] La figure 2 est un schéma bloc fonctionnel 200 d'un système de recommandation de services de voyage mettant en oeuvre l'invention. En 20 particulier, un module de système de recommandations 202 est configure pour fournir des recommandations d'hôtels aux voyageurs qui ont effectué des réservations de vol via l'intermédiaire d'un fournisseur de services de voyage en ligne. Le module de système de recommandations d'hôtels 202 comprend un module générateur de listes 204, un module d'apprentissage automatique à un 25 seul hôtel 206 et un module d'apprentissage automatique à liste d'hôtels 208. Ces modules communiquent avec le système de services de voyage en ligne 118, une base de données de caractéristiques d'hôtels 210, une base de données du moteur du registre de recommandations 212, et un système d'information et de réservation d'hôtels 214. 20 [0039] La base de données des caractéristiques de l'hôtel 210 contient les enregistrements des hôtels disponibles pour recommandation, y compris les caractéristiques des hôtels qui peuvent être utilisées par les modules d'apprentissage automatique 206, 208 pour calculer les prévisions de l'intérêt utilisateur pour les recommandations d'hôtels et/ou leur interaction avec celles-ci. Ces caractéristiques peuvent inclure l'enseigne de l'hôtel, les évaluations (p. ex. les étoiles et/ou les évaluations des utilisateurs et les avis issus des sites d'évaluation), l'emplacement de l'hôtel, les installations de l'hôtel, etc. La base de données du registre de recommandations 212 contient les enregistrements des 10 recommandations et des résultats antérieurs, y compris les listes de recommandations déjà présentées, les prix, l'identification des recommandations qui ont été sélectionnées et évaluées par un utilisateur, et les enregistrements des conversions (c.-à-d. les achats réels effectués en réponse aux recommandations). Les caractéristiques de l'hôtel et les détails du registre des 15 recommandations sont tous mis à disposition, individuellement ou en combinaison, pour la formation et l'évaluation des modules d'apprentissage automatique 206, 208. Des exemples spécifiques de ces caractéristiques utilisées dans un mode de réalisation exemplaire sont abordés plus en détail ci-dessous, en référence aux figures 4 et 5. 20 [0040] Le système de réservation d'hôtels est accessible via le module de création de listes 204 afin d'obtenir des détails sur la disponibilité et la tarification des hôtels pour les lieux et les dates correspondant aux besoins des voyageurs. [0041] Plus particulièrement, les informations relatives aux voyageurs et aux voyages sont reçues du système de services de voyage en ligne 118 en réponse 25 aux réservations de voyages effectuées par les utilisateurs via les dispositifs 120. Une fois qu'une réservation 216 a été confirmée auprès du système de services de voyage 118, un dossier passager (PNR) est créé dans une base de données de réservation qui comprend les renseignements personnels du passagers (c,-à-d. l'utilisateur final) et les détails de l'itinéraire. Une partie ou la totalité des 30 informations contenues dans le PNR peuvent être mises à la disposition du 21 module de création de listes et peuvent être utilisées, individuellement ou en combinaison, comme caractéristiques pour la formation et l'évaluation des modules d'apprentissage automatique 206, 208. Là encore, des exemples spécifiques de ces caractéristiques utilisées dans un mode de réalisation 5 exemplaire sont abordés plus en détail d-dessous, en se référant aux figures 4 et 5. [0042] Une fois la réservation effectuée, le système de services de voyage 118 peut être configuré pour présenter à l'utilisateur final, via le dispositif 120, une liste de recommandations d'hôtels correspondant à l'itinéraire de voyage de 10 l'utilisateur. Pour ce faire, les informations relatives à la réservation, y compris les informations provenant du PNR, sont transmises 218 au module du système de recommandations 202, où elles sont saisies dans le module du générateur de listes 204. Un algorithme exemplaire selon lequel le module générateur de listes 204 peut être programmé est décrit plus en détail ci-dessous en référence à 15 l'organigramme 300 de la figure 3. Toutefois, le module 204 du générateur de listes est configuré pour générer un ensemble de caractéristiques relatives aux passagers et à l'itinéraire à partir des informations reçues du système 118 des services de voyage et pour fournir ces caractéristiques comme entrée 220 au module d'apprentissage automatique à un seul hôtel 206. Le module 20 d'apprentissage automatique à un seul hôtel 206 comprend un modèle d'apprentissage automatique formé (dont un mode de réalisation exemplaire est présenté plus loin en référence à la figure 4) qui est évalué pour générer une liste de recommandations d'hôtels potentiels, chacun ayant un taux de conversion prédit associé. Le taux de conversion prédit pour chaque hôtel peut être 25 considéré comme une probabilité, selon le modèle d'apprentissage automatique après une formation sur les données historiques appropriées, que l'utilisateur réserve l'hôtel lorsque celui-ci est présenté en tant que recommandation individuelle. La liste des hôtels et les taux de conversion prédits sont renvoyés 222 par le module d'apprentissage automatique à un seul hôtel 206 au module de 30 création de liste 204. 22 [0043] Le module de création de listes 204 est configure pour générer une ou plusieurs listes de recommandations prospectives sur la base de la liste retournée par le module d'apprentissage automatique à un seul hôtel 206. Pour chacune de ces listes, le module de création de listes 204 est en outre configure 5 pour générer un ensemble de caractéristiques ayant trait aux passagers, à l'itinéraire et à la liste en fonction des informations reçues du système de services de voyage 118 et de la liste renvoyée par le module d'apprentissage automatique à un seul hôtel, et pour fournir ces caractéristiques comme entrée 224 au module d'apprentissage automatique de listes d'hôtels 208. Le module d'apprentissage 10 automatique de la liste d'hôtels 208 comprend un modèle d'apprentissage automatique formé (dont un mode de réalisation exemplaire est présenté plus loin en référence à la figure 5) qui est évalué pour générer un taux de conversion prévisible pour la liste de recommandations prospective. Le taux de conversion prédit pour la liste peut être considéré comme une probabilité, selon le modèle 15 d'apprentissage automatique après une formation sur les données historiques appropriées, que l'utilisateur réserve l'un des hôtels recommandés lorsqu'il reçoit la liste. Le taux de conversion prédit est renvoyé 226 par le module d'apprentissage automatique de la liste d'hôtels 208 au module générateur de listes 204. 20 [0044] En conséquence, les modes de réalisation de l'invention utilisent des modèles d'apprentissage automatique en cascade, opérant au niveau de l'hôtel individuel et au niveau de la liste d'éléments afin de générer des listes de recommandations. Le modèle d'apprentissage automatique de la liste d'hôtels présente l'avantage d'avoir des caractéristiques supplémentaires qui peuvent être 25 dérivées des résultats du modèle d'apprentissage automatique à un seul hôtel, ce qui peut permettre d'améliorer les prédictions des taux de conversion des listes.. Une liste ayant un taux de conversion maximal prévisible peut donc être renvoyée 228 au système de services de voyage 118 pour présentation 230 à l'utilisateur final via le dispositif 120. En outre, un enregistrement de cette liste, du 30 contexte et de toute interaction ultérieure avec la liste peut être stocké 232 dans la base de données du registre des recommandations 212 pour une utilisation 23 future, p. ex. pour la formation des modules d'apprentissage automatique 206, 208. [0045] Étant donné qu'une probabilité plus élevée de conversion correspond à une probabilité plus élevée de l'intérêt de l'utilisateur pour un ou plusieurs des 5 hôtels inclus dans la liste des recommandations, les modes de réalisation de l'invention sont ainsi en mesure d'apporter des améliorations aux recommandations qui sont mutuellement bénéfiques pour le fournisseur de services de voyage et l'utilisateur final. Des taux de conversion plus élevés se traduisent par des revenus plus élevés pour le fournisseur de services de voyage, 10 tandis que des recommandations plus pertinentes et plus intéressantes se traduisent par des niveaux plus élevés de satisfaction des utilisateurs. [0046] La figure 3 est un organigramme 300 illustrant un algorithme selon lequel le module générateur de listes 204 est programmé dans un mode de réalisation exemplaire de l'invention. La, discussion qui suit vise à fournir 15 l'instruction nécessaire pour qu'un homme de métier dans le domaine du développement de logiciels implémente les structures de données et le code requis pour mettre en oeuvre le mode de réalisation exemplaire de l'invention. L'algorithme représenté par l'organigramme 300 est une contribution de l'invention qui nécessite cette programmation supplémentaire et qui n'est pas bien 20 comprise, courante ou conventionnelle dans le domaine des systèmes d'apprentissage automatique. [0047] - À l'étape 302, une demande de liste de recommandations est reçue, qui comprend des informations contextuelles pertinentes, c'est-à-dire des informations personnelles sur les passagers et les détails de l'itinéraire obtenus 25 auprès d'un PNR correspondant. À l'étape 304, une liste d'hôtels filtrée est générée, en récupérant les informations concernant la disponibilité et les tarifs des hôtels correspondant à l'itinéraire des passagers (c'est-â-dire les hôtels de la ou plusieurs destinations du passager, ou à proximité) du système d'information et de réservation des hôtels 214. À l'étape 306, un ensemble de caractéristiques 24 relatives au passager, à l'itinéraire et à l'hôtel est dérivé des informations contextuelles reçues à l'étape 302 et des informations de disponibilité/prix obtenues à l'étape 304, et fournies en entrée au module d'apprentissage automatique à un seul hôtel 206, qui renvoie une liste correspondante des hôtels 5 et des taux de conversion prédits pour chaque hôtel. Une liste de référence ordonnée initiale, Lref' est ensuite générée qui comprend un sous-ensemble à taille fixe des hôtels disponibles dans la liste, correspondant au nombre de recommandations à renvoyer au système de services de voyage 118. Par exemple, si l'utilisateur doit se voir présenter une liste finale de cinq hôtels 10 recommandés, la longueur de la liste de référence Lref, sera de cinq. [0048] À l'étape 308, un ensemble de caractéristiques relatives aux passagers, à l'itinéraire et à la liste est dérivé des informations contextuelles reçues à l'étape 302 en combinaison avec le contenu de la liste de référence Lref, et fourni comme entrée au module 208 d'apprentissage automatique de listes 15 d'hôtels, qui renvoie un taux de conversion prédit correspondant des listes d'hôtels. L'objectif des étapes restantes de l'algorithme 300 est de déterminer si le taux de conversion prédit de la liste d'hôtels peut être augmenté par une sélection alternative d'hôtels à inclure dans la liste de référence Let. Plus particulièrement, l'objectif est de maximiser le taux de conversion prédit des listes 20 d'hôtels (sous réserve de la disponibilité et des contraintes informatiques). [0049] Plus particulièrement, conformément à l'algorithme exemplaire, à 'étape 310, l'un des hôtels de la liste de référence Lef est sélectionné et remplacé par un autre hôtel à partir de la version filtrée de la liste complète renvoyée par le module d'apprentissage automatique à un seul hôtel 206 pour produire une 25 nouvelle liste de testi...test. Différentes stratégies peuvent être employées dans l'opération de permutation effectuée à l'étape 310. Selon une stratégie, que l'on peut qualifier d'approche « exhaustive », la permutation est effectuée de manière à produire une liste Ltest, qui n'a pas encore été testée. Le processus peut se poursuivre (comme décrit ci-dessous) jusqu'à ce que toutes les permutations possibles aient été tentées, ou jusqu'à ce qu'aucune autre amélioration substantielle du taux de conversion prédit de la liste ne soit observée. [0050] Selon une autre stratégie, une approche plus « intelligente » de la sélection des permutations peut être utilisée. Dans cette stratégie, chaque 5 permutation peut être sélectionnés afin d'améliorer une ou plusieurs caractéristiques de la liste d'hôtels. La sélection peut être basée sur des informations supplémentaires disponibles dans le module d'apprentissage automatique de la liste d'hôtels. Par exemple, de nombreux modèles d'apprentissage automatique permettent d'évaluer l'effet des changements des 10 caractéristiques d'entrée sur les prévisions de sortie, en fonction de la structure du modèle, des gradients calculés etiou simplement en évaluant le modèle à l'aide d'entrées perturbées. Par conséquent, les permutations peuvent être choisies en fonction des variations des caractéristiques qui devraient avoir un mpact plus important sur les taux de conversion prédits des listes d'hôtels. À titre 15 d'exemple concret, si le module 208 d'apprentissage automatique des listes d'hôtels indique qu'un prix minimum d'hôtel inférieur augmenterait le taux de conversion prédit, des permutations peuvent être eu ées pour générer de nouvelles listes d'hôtels Lest qui incluent un prix minimum d'hôtel inférieur par rapport à la liste de référence Lref. 20 [0051] Quelle que soit la stratégie employée, après la sélection d'une permutation, à l'étape 312, un ensemble de passagers, d'itinéraire et des caractéristiques de listes est dérivé des informations de contexte reçues à l'étape 302 en combinaison avec le contenu de la liste de test Ltaa, et fourni comme entrée au module d'apprentissage automatique des listes d'hôtels 208, qui 25 renvoie un taux de conversion supplémentaire prédit correspondant. Cette prédiction est comparée au taux de conversion prédit de la liste de référence en cours Lret. Si le taux de conversion prédit de la liste Ltese est supérieur au taux de conversion prédit de la liste de référence actuelle Ler, la liste de référence est remplacée par la liste de test à l'étape 316. 6 [0052] L'algorithme détermine ensuite, à l'étape de décision 318, si d'autres permutations doivent être tentées et, le cas échéant, le contrôle revient à l'étape 310 pour sélectionner la permutation suivante. Comme indiqué plus haut, différents critères d'arrêt peuvent être utilisés pour la décision 315, à savoir par exemple si toutes les permutations disponibles ont été testées et/ou si le taux de conversion prédit de la liste a cessé d'être sensiblement amélioré, ce qui peut indiquer qu'il est peu probable que le test de nouvelles permutations entraîne de nouvelles améliorations significatives des recommandations. [0053] Différents modèles d'apprentissage automatique peuvent être utilisés 10 dans les modules d'apprentissage automatique à un seul hôtel et à liste d'hôtels 206, 208. Les modèles appropriés peuvent inclure des modèles de régression, des modèles bayésiens, des modèles de filtrage collaboratif, des réseaux neuronaux artificiels, des arbres de décision, des machines d'amplification des oradients, des modèles d'ensemble, etc. Le module d'apprentissage automatique à un seul hôtel 206 et le module d'apprentissage automatique à liste d'hôtels 208 peuvent utiliser des modèles similaires ou différents. Les modèles les plus appropriés et les plus efficaces peuvent dépendre de l'application spécifique du système de recommandations, des données disponibles et des caractéristiques caractérisant les biens, services ou autres éléments à recommander, ainsi que 20 les données disponibles du profil utilisateur. Les techniques et les processus de sélection, de développement, de formation, de validation, de test et d'optimisation de modèles d'apprentissage automatique appropriés sont connues des hommes de métier dans le domaine de l'apprentissage automatique. À titre d'exemple, une implémentation des modules d'apprentissage automatique à un seul hôtel et à 25 liste d'hôtels 206, 208 sera maintenant décrite, dans laquelle les deux modules comprennent des modèles aléatoires de forêts d'apprentissage automatique. [0054] Dans le mode de réalisation exemplaire, la formation des modèles d'apprentissage automatique s'effectue à partir des données tirées d'une année d'activité de l'utilisateur. Les données disponibles pour la formation, la validation 30 et le test des modèles comprennent les caractéristiques de l'hôtel stockées dans 27 la base de données des caractéristiques de l'hôtel 210, ainsi que les registres du comportement réel des utilisateurs - y compris les conversions pour les hôtels uniques et la tarification, et les détails des listes correspondantes à partir desquelles les hôtels uniques ont été sélectionnés - stockés dans la base de données du registre des recommandations 212. [0055] Pour le module d'apprentissage automatique à un seul hôtel 206, un modèle aléatoire de forêt a été formé avec une taille de forêt, nfrees= 100, et une profondeur maximale illimitée, La courbe caractéristique de fonctionnement du récepteur (ROC) 400 qui en résulte est illustrée â la figure 4A, dans laquelle l'axe 10 horizontal 402 montre le taux de faux positif (FP) et l'axe vertical 404 montre le taux de vrai positif (TP). La courbe ROC 406 trace ces propriétés du modèle en tant que fonction du seuil de décision. Une bonne performance a été obtenue à la suite de la formation de ce modèle, avec une erreur de prédiction de 6,55 % sur l'échantillon de formation pour un seuil de décision optimal, et une AUC globale 15 (c'est-à-dire une aire sous la courbe ROC) de 0,91. [00561 La figure 4B est un graphique 408 qui illustre les caractéristiques d'entrée les plus significatives du modèle aléatoire de forêt au niveau d'un seul hôtel. L'axe horizontal 410 montre la « diminution moyenne de Gini », qui est une mesure de la variation de la « pureté » d'un élément à la suite des divisions dans 20 les arbres de forêt décisionnels. Les caractéristiques qui présentent une plus grande diminution de Gini ont une plus grande influence sur la décision finale, et peuvent donc être considérées comme plus importantes. La diminution moyenne de Gini est donc une mesure utile â observer pendant la sélection des caractéristiques et l'ingénierie. L'axe vertical 412 est une liste des caractéristiques 25 d'entrée du modèle. Les caractéristiques les plus importantes du modèle d'apprentissage automatique â un seul hôtel sont le marché des points de vente 414, le prix de l'hôtel 416 et l'emplacement de l'hôtel (ville et pays) 418. Les autres caractéristiques utilisées pour la formation et l'évaluation du modèle d'apprentissage automatique à un seul hôtel incluent : le code pays de l'hôtel 30 (désigné dans le graphique 408 par code pays) ; la position à l'écran de la 28 recommandation (id reco); le fournisseur (code fournisseur) ; la devise du paiement (devise) ; les évaluations provenant de différentes sources (autoév;a1uation ; evaluation_locale) ; le nom de la chaîne hôtelière (chaîne) et une source de renseignements supplémentaires sur le profil du passager (source_info). [0057] Pour le module d'apprentissage automatique la liste d'hôtels 208, un autre modèle aléatoire de forêt a été formé, avec une taille de forêt, nifees= 100, et une profondeur maximale illimitée. La courbe ROC 500 qui en résulte est illustrée à la figure 5A, dans laquelle l'axe horizontal 502 indique la 10 vitesse FP et l'axe vertical 504 indique la vitesse TP. La courbe ROC 506 trace ces propriétés du modèle en fonction du seuil de décision. Une bonne performance a été obtenue à la suite de la formation de ce modèle, avec une AUC globale de 0,85. [0058] La figure 5B est un graphique 508 qui illustre les éléments d'entrée les 15 plus significatifs du modèle de forêt aléatoire au niveau de la liste d'hôtels. L'axe horizontal 510 illustre la diminution moyenne en Gini pour chacune des caractéristiques d'entrée listées sur l'axe vertical 512. Notamment, les deux principales caractéristiques de cette mesure sont issues des prédictions à un seul hôtel, à savoir la probabilité moyenne qu'un utilisateur clique sur un hôtel dans 20 une liste 514, et le tarif hôtelier minimum présenté à l'utilisateur 516. Les deux caractéristiques suivantes sont des caractéristiques qui sont également disponibles en entrées dans le modèle à un seul hôtel, à savoir le point de vente 518 et l'emplacement de l'hôtel 520. Les autres caractéristiques utilisées pour la formation et l'évaluation du modèle d'apprentissage automatique de la liste 25 d'hôtels comprennent le code pays de remplacement de l'hôtel (désigné dans le graphique 508 par code pays); le nombre d'hôtels dans la liste de recommandations (nb_occurrences) ; la devise de paiement (devise) ; la note moyenne de tous les hôtels dans la liste (catégorie_ évaluation moy.) ; la fourchette tarifaire dans la liste (catégorie disp_prix); la fourchette des 29 évaluations dans la liste (catégorie lisp évaluation) et la source d'informations supplémentaires enrichies sur le profil passager (source info). [0059] Comme cela a été abordé dans la discussion ci-dessus, la mise en cascade des prédictions du modèle d'apprentissage automatique à un seul hôtel 5 dans les caractéristiques d'entrée du modèle d'apprentissage automatique à liste d'hôtels est un aspect particulièrement avantageux de la mise en oeuvre de l'invention. La figure 6 est un schéma fonctionnel 600 qui illustre comment cette contribution se généralise à d'autres types de systèmes de recommandations. Les entrées globales du système 600 comprennent les informations contextuelles 10 602, y compris les données du profil utilisateur, les informations sur les caractéristiques 604 correspondant aux biens, services ou autres éléments à recommander, et les données historiques 606 comprenant les registres des recommandations passées et les actions correspondantes des utilisateurs (p. ex. les clics, les sélections, les achats, etc.) Les données historiques 696 et les 15 informations sur les caractéristiques 604 peuvent être utilisées pour la formation, la validation et le test des modèles d'apprentissage automatique, tandis que les informations contextuelles 602 et les informations sur les caractéristiques 604 peuvent être utilisées pour l'évaluation et la prédiction en utilisant les modèles d'apprentissage automatique formés. 20 [0060] Le système 600 comprend un modèle d'apprentissage automatique de premier niveau, le modèle 608, qui est formé pour générer des prévisions sur le comportement des utilisateurs (p. ex. les clics, les sélections, les achats, etc.) par rapport aux biens, services ou autres éléments individuels. Le modèle de premier niveau 608 utilise les entrées d'informations 604 et de données historiques 606 25 pour la formation, et les entrées d'informations contextuelles 602 et d'informations 604 pour la prédiction, et produit une sortie prédictive 610. [00611 Le système 600 comprend en outre un modèle d'apprentissage automatique de deuxième niveau, le modèle 612, qui est formé pour générer des prévisions sur le comportement utilisateur (p. ex. les clics, les sélections, les 30 achats) par rapport aux listes de recommandations de biens, services ou autres éléments. Le modèle de deuxième niveau 612 utilise les entrées d'informations sur les caractéristiques 604 et les données historiques 606 pour la formation, et les entrées d'informations contextuelles 602 et d'informations sur les 5 caractéristiques 604 pour la prédiction. De plus, le modèle d'apprentissage automatique de deuxième niveau utilise les sorties de prédiction en cascade 610 du modèle de premier niveau 608 pour la formation et la prédiction. La sortie globale 614 du système 600 est une prédiction du comportement utilisateur par rapport à une liste comprenant des biens, des services ou d'autres éléments pour 10 lesquels des prédictions individuelles ont été obtenues en utilisant le modèle de premier niveau 608. Le système 600 peut donc être utilisé conjointement avec un algorithme de génération de listes, tel que l'algorithme exemplaire décrit ci-dessus en référence à la figure 3, pour générer des listes de recommandations ayant une probabilité accrue d'interaction avec l'utilisateur par rapport aux listes 15 générées en utilisant un module de prédiction seul, à élément unique. [0062] On notera que bien que des modes de réalisation particuliers et des variations de l'invention aient été décrits dans les présentes, les hommes de métier spécialisés dans les domaines concernés distingueront d'autres modifications et alternatives. En particulier, les exemples sont présentés à titre 20 illustratifs pour révéler les principes de l'invention et pour apporter un nombre de procédés et d'arrangements spécifiques pour mettre en oeuvre ces principes. En général, les modes de réalisation de l'invention comprennent un système de recommandations d'apprentissage automatique en cascade à deux étapes, dans lequel deux modules d'apprentissage automatique sont déployés pour générer 25 une liste de recommandations. Les résultats du modèle d'apprentissage automatique de premier niveau sont utilisés pour prédire le comportement interactif pertinent de l'utilisateur (p. ex. la probabilité de conversion) au niveau d'un seul élément. La sortie de premier niveau est ensuite utilisée comme entrée pour le modèle d'apprentissage automatique de deuxième niveau, qui à son tour 30 calcule une prédiction des interactions de la part de l'utilisateur par rapport à une liste ordonnée d'éléments. 31 [0063] Les modes de réalisation de l'invention implémentent également un algorithme de génération de listes configure pour générer des listes avec des prédictions améliorées de l'interaction de la part de l'utilisateur en explorant un ensemble de listes de recommandations possibles, compte tenu des probabilités 5 d'interaction calculées par les modèles d'apprentissage automatique en cascade à deux étapes. [0064] De plus, les modes de réalisation de l'invention peuvent combiner plusieurs sources de données pour générer une image plus complète et plus riche des connaissances sur le contexte de l'utilisateur (p, ex, dans le cas d'un 10 système de réservation de voyage, des informations personnelles et un itinéraire de voyage), les caractéristiques des éléments individuels, et les recommandations historiques et la réponse de l'utilisateur. Les caractéristiques des modèles d'apprentissage automatique peuvent être conçues pour améliorer les performances du système de recommandations en fonction des 15 caractéristiques dérivées du riche contexte généré à partir de la combinaison des données, [0065] Les modes de réalisation décrits doivent être compris comme étant fournis à titre d'exemple dans le but d'enseigner les caractéristiques et les principes généraux de l'invention, mais ne doivent pas être interprétés comme 20 limitant la portée de l'invention. REVENDICATIONS1. Un procédé implémenté par ordinateur pour fournir des recommandations personnalisées à un utilisateur d'éléments disponibles dans un système en ligne, le procédé comprenant : la réception, via un canai de communication, de données contextuelles ( 2) comprenant des informations utilisateur ; le calcul d'une pluralité de caractéristiques de premier niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles ; l'évaluation d'un modèle d'apprentissage automatique de premier niveau (608) utilisant les caractéristiques de premier niveau pour générer des prédictions (610) sur le comportement utilisateur par rapport à une pluralité d'éléments individuels disponibles via le système en ligne ; la génération d'une liste de recommandations d'éléments proposées basées sur des prédictions générées par le modèle d'apprentissage automatique de premier niveau ; le calcul d'une pluralité de caractéristiques de deuxième niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles et des caractéristiques de liste basées sur la liste des recommandations d'éléments proposées et les prédictions correspondantes 20 générées par le modèle d'apprentissage automatique de premier niveau ; l'évaluation d'un modèle d'apprentissage automatique de deuxième niveau (612) à l'aide des caractéristiques de deuxième niveau afin de générer une prédiction (614) du comportement utilisateur par rapport à la liste des recommandations d'éléments proposées, et 25 la fourniture, via le canal de communication, d'une liste personnalisée de recommandations d'éléments basée sur la prédiction générée par le modèle d'apprentissage automatique de deuxième niveau. 2. Le procédé selon la revendication 1 dans lequel les étapes de génération de la liste des recommandations d'éléments proposées, de calcul de la pluralité 33 des caractéristiques de deuxième niveau et d'évaluation du modèle d'apprentissage automatique de deuxième niveau sont répétées de façon itérative, chaque itération comprenant en outre : avant le calcul de la pluralité des caractéristiques de deuxième niveau, la 5 permutation (310) d'une recommandation d'éléments proposée dans la liste des recommandations d'éléments proposées en fonction des prédictions générées par le modèle- d'apprentissage automatique de premier niveau pour générer une liste de test des recommandations d'élément proposées ; après l'évaluation (312) du modèle d'apprentissage automatique de deuxième niveau (612) pour générer une prédiction (614) du comportement utilisateur par rapport à la liste de test des recommandations d'éléments proposées, la comparaison (314) de la prédiction du comportement utilisateur par rapport â la liste de test des recommandations d'éléments proposées avec une prédiction calculée sur une itération antérieure ; et 15 dans le cas où la comparaison détermine que la prédiction du comportement utilisateur par rapport à la liste de test des recommandations d'éléments proposées est plus favorable que la prédiction calculée sur l'itération précédente, le remplacement (316) de la liste des recommandations d'éléments proposées par la liste de test des recommandations d'éléments proposées. 3. Le procédé selon la revendication 2 dans lequel l'étape de permutation d'une recommandation d'éléments proposée dans la liste des recommandations d'éléments proposées comprend la sélection d'une permutation qui génère une liste non testée de recommandations parmi la pluralité d'éléments individuels pour lesquels des prédictions ont été générées par le modèle d'apprentissage automatique de premier niveau, et l'itération continue jusqu'à ce qu'une condition d'arrêt soit remplie. 4. Le procédé selon la revendication 3 dans lequel la condition d'arrêt est que toutes les listes potentielles de recommandations ont été ép 34 5. Le procédé selon la revendication 2 dans lequel l'étape de permutation d'une recommandation d'éléments proposée dans la liste des recommandations d'éléments proposées comprend la sélection d'une permutation qui améliore au moins l'une des caractéristiques de deuxième niveau ayant trait à un changement 5 prédit dans la prédiction du comportement utilisateur par rapport à la liste de test des recommandations proposées, et l'itération se poursuit jusqu'à ce qu'une condition d'arrêt soit remplie. 6. Le procédé selon la revendication 5 dans lequel la condition est que la prédiction du comportement utilisateur par rapport à la liste des recommandations 10 d'éléments proposées ne doit pas devenir nettement plus favorable du fait d'une itération supplémentaire, 7. Le procédé selon l'une quelconque des revendications 1 à 6 dans lequel le modèle d'apprentissage automatique de premier niveau est formé à l'aide des caractéristiques d'éléments associées à chaque élément disponible, et des 15 données historiques sur le comportement utilisateur antérieur en réponse à des présentations de recommandations personnalisées. 8. Le procédé selon la revendication 7 dans lequel le modèle d'apprentissage de deuxième niveau est formé en utilisant les données historiques sur le comportement utilisateur antérieur en réponse à des présentations de 20 recommandations personnalisées et des données de prédiction correspondantes générées par l'évaluation du modèle d'apprentissage automatique de premier niveau. 9. Le procédé selon rune quelconque des revendications 1 à 8 dans lequel les caractéristiques de la liste comprennent une ou plusieurs caractéristiques de 25 liste agrégées choisies dans le groupe comprenant : la prédiction moyenne du comportement utilisateur en rapport aux éléments individuels inclus dans la liste des recommandations d'éléments proposées ; 35 le coût minimum de l'élément des éléments individuels inclus dans la liste des recommandations proposées le nombre d'éléments dans la liste des recommandations proposées ; ia valeur moyenne d'une note d'évaluation associée aux éléments individuels dans la liste des recommandations d'éléments proposées ; la fourchette de coûts des éléments individuels inclus dans la liste des recommandations d'éléments proposées ; et la fourchette des valeurs d'une note d'évaluation associée aux éléments individuels dans la liste des recommandations d'éléments proposées. 10 10. Le procédé selon l'une quelconque des revendications 1 à 9 dans lequel les prédictions du comportement utilisateur peuvent comprendre une ou plusieurs : probabilité que l'utilisateur clique sur un lien correspondant à un élément présenté dans la liste personnalisée de recommandations d'éléments ; et une probabilité que l'utilisateur termine un achat en ligne d'un élément présenté 15 dans la liste personnalisée des recommandations d'éléments. 11. Le procédé e on l'une quelconque des revendications 1 à 10 mis en oeuvre dans le contexte d'un système de services de voyage en ligne, dans lequel les données contextuelles comprennent des informations stockées dans un dossier passager (PNR) associé à une réservation de vol en ligne, et les 20 élëments comprennent des réservations d'hébergement. 12. Un système de recommandations (102) pour fournir des recommandations personnalisées à un utilisateur d'éléments disponibles dans un système en ligne, le système comprenant un module d'apprentissage automatique à un seul élément implémenté par 25 ordinateur (206) comprenant un modèle d'apprentissage automatique de premier niveau (608) configure pour recevoir une pluralité de caractéristiques de premier niveau et pour générer une prédiction correspondante (610) de comportement utilisateur par rapport à une pluralité d'éléments individuels disponibles via le système en ligne ; 36 un module d'apprentissage automatique de liste d'éléments implémenté par ordinateur (208) comprenant un modèle d'apprentissage automatique de deuxième niveau (612) configure pour recevoir une pluralité de caractéristiques de deuxième niveau et pour générer une prédiction correspondante (614) du 5 comportement utilisateur par rapport à une liste de recommandations d'éléments proposées ; et ion module de génération de listes plemente par ordinateur (204) configure pour : recevoir des données contextuelles (602) comprenant des 10 informations utilisateur ; calculer la pluralité de caractéristiques de premier niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles ; obtenir des prédictions du comportement utilisateur par rapport à 15 une pluralité d'éléments individuels disponibles via le système en ligne à partir du module d'apprentissage automatique à un seul élément basé sur les caractéristiques de premier niveau ; générer la liste des recommandations proposées en fonction des prédictions obtenues à partir du module d'apprentissage automatique à un 20 seul élément ; calculer la pluralité des caractéristiques de deuxième niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles et des caractéristiques de liste basées sur la liste des recommandations d'éléments proposées et les prédictions 25 correspondantes générées par le modèle d'apprentissage automatique de premier niveau obtenir une prédiction du comportement utilisateur par rapport à la liste des recommandations d'éléments proposées à partir du module d'apprentissage automatique de la liste d'éléments basé sur les caractéristiques de deuxième niveau ; et fournir une liste personnalisée de recommandations d'éléments basée sur la prédiction obtenue à partir du module d'apprentissage automatique de la liste d'éléments. 37 13. Le système de recommandations selon la revendication 12, dans lequel le module générateur de listes est configuré pour construire de manière itérative la liste des recommandations d'éléments proposées, calculer la pluralité de caractéristiques de deuxième niveau, et obtenir la prédiction du comportement 5 des utilisateurs par rapport à la liste des recommandations d'éléments proposées, et il est en outre configuré, dans chaque itération, pour : avant le calcul de la pluralité des caractéristiques de deuxième niveau, la permutation (310) d'une recommandation d'éléments proposée dans la liste des recommandations d'éléments proposées en fonction des prédictions obtenues à 10 partir du module d'apprentissage automatique à un seul élément, pour générer une liste de test des recommandations d'éléments proposées après l'obtention de la prédiction du comportement utilisateur par rapport à la liste des recommandations proposées à partir du module d'apprentissage automatique des recommandations d'éléments proposées, la comparaison (314) 15 entre la prédiction du comportement utilisateur par rapport à la liste de test des recommandations proposées avec une prédiction calculée sur une itération antérieure ; et dans le cas où la comparaison détermine que la prédiction du comportement utilisateur par rapport à la liste de test des recommandations 20 d'éléments proposées est plus favorable que la prédiction calculée sur l'itération précédente, le remplacement (316) de la liste des recommandations d'éléments proposées par la liste de test des recommandations d'éléments proposées. 14. Le système de recommandations de la revendication 12 ou 13 dans lequel le modèle d'apprentissage automatique de premier niveau est configuré par 25 formation à l'aide des caractéristiques d'éléments associées à chaque élément disponible, et des données historiques sur le comportement utilisateur antérieur en réponse aux présentations de recommandations personnalisées. 15. Le système de recommandations de la revendication 14 dans lequel le modèle d'apprentissage automatique de deuxième niveau est configuré par formation à l'aide des données historiques du comportement utilisateur antérieur 38 en réponse aux présentations de recommandations personnalisées et des données de prédiction correspondantes générées par l'évaluation du modèle d'apprentissage automatique de premier niveau. 16. lin système informatique (102) pour fournir des recommandations 5 personnalisées à un utilisateur d'éléments disponibles dans un système en ligne, le système informatique comprenant : un processeur (104) au moins un dispositif de mémoire (110) accessible par le processeur ; et une interface de communication (112) accessible par le processeur, 10 dans laquelle le dispositif de mémoire contient le corps d'instructions de programme (114) qui, lorsqu'elles sont exécutées par le processeur, amènent le système informatique â implémenter un procédé comprenant les étapes de : réception, via l'interface de communication, des données contextuelles (602) contenant des informations utilisateur ; 15 le calcul d'une pluralité de caractéristiques de premier niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles l'évaluation d'un modèle d'apprentissage automatique de premier niveau (608) à l'aide des fonctions de premier niveau pour générer des 20 prédictions (610) du comportement utilisateur par rapport à une pluralité d'éléments individuels disponibles via le système en ligne ; la génération d'une liste de recommandations d'éléments proposées en fonction des prédictions générées par le modèle d'apprentissage automatique de premier niveau ; 25 le calcul d'une pluralité de caractéristiques de deuxième niveau comprenant des caractéristiques contextuelles basées sur les données contextuelles et des caractéristiques de liste basées sur la liste des recommandations d'éléments proposées et les prédictions correspondantes générées par le modèle d'apprentissage automatique de 30 premier niveau ; l'évaluation d'un modèle d'apprentissage automatique de deuxième niveau (612) à l'aide des caractéristiques de deuxième niveau afin de 39 générer une prédiction (614) du comportement utilisateur par rapport à la liste des recommandations d'éléments proposées ; et la fourniture, via l'interface de communication, d'une liste personnalisée de recommandations d'éléments basée sur la prédiction générée par le modèle d'apprentissage automatique de deuxième niveau. 17. Un programme d'ordinateur comprenant des instructions de code de programme pour exécuter les étapes du procédé selon l'une quelconque des revendications 1 à 11 lorsque ledit programme fonctionne sur un ordinateur. 10