Brevet FR3119256A1 — publié le 20220729

Système (10) de recommandation basé sur un apprentissage automatique à partir d’une pluralité de variables d’entrée comprenant un premier sous-ensemble et un deuxième sous-ensemble, comprenant : - un module (2) de traitement configuré pour : a. calculer une information mutuelle entre chaque variable d’entrée dudit premier sous-ensemble et chacune des variables d’entrée de ladite pluralité ; b. sélectionner les variables d’entrée de ladite pluralité de variables d’entrée maximisant les informations mutuelles calculées pour chacune des variables d’entrée du premier sous-ensemble ; c. calculer l’information mutuelle entre chaque variable d’entrée du deuxième sous-ensemble et chacune des variables d’entrée de ladite pluralité ; d. sélectionner les variables d’entrée de ladite pluralité de variables d’entrée minimisant les informations mutuelles calculées pour chacune des variables d’entrée du deuxième sous-ensemble ; - un module (3) d’apprentissage automatique pour prédire une variable de sortie associée à chacune des variables d’entrée sélectionnée. Figure à publier avec l’abrégé : Fig. 1 Procédés et systèmes de recommandation basés sur l’apprentissage automatique La présente invention a trait à l'intelligence artificielle et plus particulièrement aux techniques d'apprentissage automatique et aux applications de celles-ci notamment par des procédés et systèmes de recommandation. Les techniques d'apprentissage automatique, plus connues sous le nom anglais « machine learning », trouvent application dans de nombreux domaines tels que la médecine, la finance ou les sciences sociales. Un objectif de ces techniques est d'acquérir de la connaissance à partir d'un échantillon d'observations {Xn} 1≤n≤N d'un ou plusieurs objets d'un concept cible en extrayant de ces observations des règles/modèles d'inférence et de décision pour le traitement automatique de nouvelles observations. Dans des méthodes d'apprentissage dit supervisé, chaque observation Xn=(An,Bn) 1≤n≤N comprend une variable d'entrée An (un vecteur de dimension M), aussi appelée attribut, caractéristique, variable explicative ou, en anglais, « feature » et une variable de sortie Bn appelée étiquette ou label appartenant à un ensemble fini. Les méthodes d'apprentissage supervisé visent, dans ce cas, à inférer une relation entre An et Bn de façon à pouvoir prédire, pour une nouvelle observation donnée, la valeur de l'étiquette correspondante parmi {Bn} 1≤n≤N . Dans d'autres méthodes d'apprentissage dit non-supervisé, les observations {Xn} 1≤n≤N ne sont pas étiquetées. Autrement dit, il y a des variables d'entrée {An} 1≤n≤N mais sans aucune information concernant les variables de sortie correspondantes. L'objectif ici est de repérer des similitudes entre les variables d'entrée {An} 1≤n≤N pour les regrouper par groupes ou classes, ou pour caractériser une loi de probabilité ayant engendré ces observations. Lorsque les observations {Xn} 1≤n≤N sont partiellement étiquetées (c'est-à-dire, par exemple, lorsque certaines observations Xn=(An,Bn) 1≤n≤n1 sont étiquetée et que d'autres Xn=(An) n1≤n≤N ) ne le sont pas), des méthodes d'apprentissage semi-supervisé combinent un apprentissage supervisé basé sur les variables d'entrée étiquetées et un apprentissage non-supervisé basé sur les variables d'entrée non étiquetées. Qu'il soit supervisé ou non, un apprentissage automatique comprend en général une étape d'exploration ou de traitement (dite « feature selection » ou encore « feature engineering » selon des terminologies anglo-saxonnes) des observations {Xn} 1≤n≤N avant qu'elles ne soient prises en compte par un algorithme d'apprentissage automatique de type réseaux de neurones profonds ou arbres de décision. Outre des opérations de forme et/ou de normalisation, cette étape vise à sélectionner, parmi le jeu de variables d'entrée {An} 1≤n≤N , celles qui sont les plus informatives. Les performances des techniques d'apprentissage automatique reposent, en effet, largement sur la pertinence des variables d'entrée {An} 1≤n≤N soumises à l'algorithme apprenant. Par ailleurs, avec l'augmentation massive des données et la diversité de leur provenance (notamment, le Big Data), les techniques d'apprentissage automatique sont confrontées à des données hautement multidimensionnelles et très hétérogènes qui peuvent intégrer des données non sensibles, tout comme des données sensibles. Les techniques d'apprentissage automatique doivent donc être en mesure de gérer la volumétrie, la véracité ainsi que le degré de sensibilité des données fournies en entrée, tout en préservant la capacité prédictive de l'algorithme apprenant. Un besoin est de pouvoir filtrer les variables d'entrée pour s'adapter à des conditions d'utilisation spécifiques d'un système de recommandation basé sur l'apprentissage automatique, sans affecter les performances ou l'intelligibilité du modèle de prédiction ou avoir à le réapprendre. Un autre problème majeur des variables d'entrée au regard de leur dimension est le sur-apprentissage (aussi appelé sur-entraînement, sur-ajustement ou, en anglais, « over-fitting ») ou, au contraire, le sous-apprentissage (dit « under-fitting » en anglais) qu'elles peuvent engendrer. Le modèle inféré ne peut, dans ce cas, être généralisé sur les nouvelles observations et l'application de l'apprentissage automatique perd, de ce fait, son pouvoir de prédiction. De plus, il est fréquent de rencontrer des données manquantes dans les variables d'entrée. Les causes en sont multiples : données aberrantes ou atypiques, données redondantes, données incohérentes, données totalement ou partiellement indisponibles. Cependant, la plupart des algorithmes d'apprentissage automatique sont destinés à être appliqués sur un jeu de variables d'entrée complet, faute de quoi la précision de prédiction du modèle inféré se trouve dégradée. Un objet de la présente invention est de remédier aux inconvénients précités. Un autre objet de la présente invention est de pouvoir filtrer les variables d'entrée selon des critères prédéfinis en amont de l'entraînement/apprentissage ou le test de l'algorithme d'apprentissage automatique, tout en évitant un sur-apprentissage des données. Un autre objet de la présente invention est de proposer des procédés et systèmes de recommandation basés sur l'apprentissage automatique qui s'adaptent aux conditions de leur utilisation. A cet effet, il est proposé, en premier lieu, un système de recommandation basé sur un apprentissage automatique comprenant : - un module de collecte de données apte à agréger des données provenant d'une pluralité de sources de données ; - un module de traitement configuré pour : a. former, à partir des données collectées, une pluralité de variables d'entrée ; b. répartir ladite pluralité de variables d'entrée en un premier sous-ensemble et un deuxième sous-ensemble distincts de variables d'entrée ; c. calculer une information mutuelle entre chaque variable d'entrée dudit premier sous-ensemble et chacune des variables d'entrée de ladite pluralité de variables d'entrée ; d. sélectionner les variables d'entrée de ladite pluralité de variables d'entrée maximisant les informations mutuelles calculées pour chacune des variable d'entrée du premier sous-ensemble ; e. calculer l'information mutuelle entre chaque variable d'entrée du deuxième sous-ensemble et chacune des variables d'entrée de ladite pluralité de variables d'entrée ; f. sélectionner les variables d'entrée de ladite pluralité de variables d'entrée minimisant les informations mutuelles calculées pour chacune des variable d'entrée du deuxième sous-ensemble ; - un module d'apprentissage automatique configuré pour prédire une variable de sortie associée à chacune des variables d'entrée sélectionnées. Diverses caractéristiques supplémentaires peuvent être prévues, seules ou en combinaison : - le module de traitement est en outre configuré, lorsqu'une variable d'entrée présente une donnée manquante, pour compléter ladite donnée manquante ; - le module de traitement est configuré pour compléter ladite donnée manquante au moyen d'une imputation multiple ; - l'imputation multiple est une imputation multiple par équations chaînées ; - le module de traitement est, en outre, configuré pour vérifier le taux de données manquantes dans une variable d'entrée de ladite pluralité de variables d'entrée. Il est proposé, en deuxième lieu, un procédé de recommandation basée sur un apprentissage automatique comprenant les étapes suivantes - collecte de données provenant d'une pluralité de sources de données ; - formation d'une pluralité de variables d'entrée à partir des données collectées ; - répartition des variables d'entrée en un premier sous-ensemble et un deuxième sous-ensemble distincts de variables d'entrée - calcul d'une information mutuelle entre chaque variable d'entrée dudit premier sous-ensemble et chacune des variables d'entrée de ladite pluralité de variables d'entrée; - sélection des variables d'entrée de ladite pluralité de variables d'entrée maximisant les informations mutuelles calculées pour chacune des variables d'entrée du premier sous-ensemble ; - calcul d'une information mutuelle entre chaque variable d'entrée du deuxième sous-ensemble et chacune des variables d'entrée de ladite pluralité de variables d'entrée ; - sélection des variables d'entrée de ladite pluralité de variables d'entrée minimisant les informations mutuelles calculées pour chacune des variables d'entrée du deuxième sous-ensemble ; - apprentissage automatique pour prédire une variable de sortie associée à chacune des variables d'entrée sélectionnées. Diverses caractéristiques supplémentaires peuvent être prévues, seules ou en combinaison : - le procédé comprend, lorsqu'une variable d'entrée présente une donnée manquante, une étape d'imputation de ladite donnée manquante ; - la donnée manquante est complétée au moyen d'une imputation multiple ; - l'imputation multiple est une imputation multiple par équations chaînées. Il est proposé, en troisième lieu, un produit programme d'ordinateur implémenté sur un support mémoire, susceptible d'être mis en œuvre au sein d'une unité de traitement informatique et comprenant des instructions pour la mise en œuvre d'un procédé de recommandation présenté ci-dessus. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement et de manière concrète à la lecture de la description ci-après de modes de réalisation, laquelle est faite en référence aux dessins annexés dans lesquels : illustre schématiquement un système de recommandation basé sur l'apprentissage automatique selon divers modes de réalisation ; illustre schématiquement des étapes d'un procédé de recommandation basé sur l'apprentissage automatique selon divers modes de réalisation ; illustre schématiquement des variables d'entrée comprenant des données manquantes ; illustre schématiquement un exemple d'un réseau de neurones artificiels. En se référant à la , il est affiché un système 10 de recommandation basé sur l'apprentissage automatique. Ce système 10 de recommandation comprend une pluralité d'unités de traitement informatique et de moyens de stockage de données tels que des processeurs et des bases de données dans un environnement informatique en nuage, hébergé et/ou sur site. En mettant en œuvre un algorithme d'apprentissage automatique, notamment, supervisé ou semi-supervisé, le système 10 de recommandation est configuré pour modéliser un concept cible, défini sur une population, à partir d'observations d'objets ou d'individus de celle-ci de façon à pouvoir générer des recommandations concernant ce concept cible. Pour cela, le système 10 comprend un module 1 de collecte de données apte à agréger des données provenant d'une pluralité de sources 11 de données. Ces sources 11 de données sont, par exemple, des plateformes de données, des réseaux sociaux, des forums, des capteurs, des dispositifs connectés mobiles ou fixes, des sites Internet, intranet ou extranet, des bases de données ou, plus généralement, des données de type " Big Data ", selon une terminologie anglo-saxonne. Les données collectées peuvent être de différents types et/ou formes (textes, contenus multimédia, données de position, fichiers, données de mesure, profils, identifiants de ressources sur un réseau, ou traces d'interactions homme-machine par exemple). Les sources 11 de données sont, dans un mode de réalisation, configurées pour partager de façon prédéfinie ou aléatoire des données avec le module 1 de collecte de données. De façon générale, les données collectées correspondent à la définition du Big Data dans la mesure où elles répondent aux caractéristiques de volume, de vélocité (notamment, sous forme de flux), de variété, ou encore de véracité. Le module 1 de collecte de données comprend, dans un mode de réalisation, des unités de traitement informatique telles que des processeurs et/ou des interfaces d'acquisition pourvus d'une ou plusieurs bases de données et configurés pour collecter des données électroniques multi-sources et multi-formats. Un module 2 de traitement est configuré pour former à partir des données collectées un échantillon d'observations (ou d'apprentissage) {Xn} 1≤n≤N décrivant selon un ensemble d'attributs ou variables d'entrée le concept cible, N étant le nombre total des observations. Les observations {Xn} 1≤n≤N sont au moins partiellement étiquetées en vue d'un apprentissage supervisé ou semi-supervisé. Chacune des observations Xn comprend une variable d'entrée An={am,n} 1≤m≤M observées sur un ou plusieurs d'objets du concept cible. Plus généralement, le module 2 de traitement est configuré pour former (ou produire), à partir des données collectées, une pluralité de variables d'entrée (ou, en anglais, « features »). Le module 2 de traitement comprend, dans un mode de réalisation, des unités de traitement informatique comprenant des instructions pour mener une exploration statistique des données collectées (corrélation, cohérence, transformation, ou classification par exemple) pour en extraire des variables d'entrée. Lorsque l'une quelconque des variables d'entrée présente une ou plusieurs données manquantes, le module 2 de traitement est configuré pour effectuer une imputation ou une complétion de ces données. Le fait qu'une donnée soit manquante peut être : - complètement aléatoire (connu sous le nom anglais « missing completely at random ») lorsqu'il est indépendant à la fois des données observées et des autres données manquantes (tel qu'un dispositif connecté à court de batterie, un questionnaire perdu lors de son acheminement, ou un échantillon de sang endommagé au laboratoire ) ; - aléatoire (connu sous le nom anglais « missing at random ») lorsqu'il est prédictible à partir d'autres données plutôt que d'être dû exclusivement à la variable d'entrée dont cette donnée est manquante (par exemple, si un enfant ne se présente pas à un examen parce qu'il est malade, cela peut être prévisible à partir d'autres données dont on dispose sur la santé de l'enfant, sans être lié à ce que l'on aurait examiné si l'enfant n'a pas été malade) ; - de façon non aléatoire (connu sous le nom anglais « non missing at random ») lorsqu'il est lié à la donnée en question (tel qu'une personne qui ne se présente pas à un test de dépistage de stupéfiants parce qu'elle en a consommé depuis peu). A cet égard, le module 2 de traitement applique, de préférence, un procédé d'imputation multiple selon un modèle d'imputation prédéfini (modèle statistique ou une distribution prédictive des données manquantes étant donné les données observées) pour chaque variable d'entrée An incomplète. Ce modèle statistique est, par exemple, une régression linéaire ou logistique, l'algorithme espérance-maximisation (en anglais, « expectation-maximization » souvent abrégé EM), l'algorithme des chaînes de Markov cachées (ou MCMC pour « Markov Chain Monte-Carlo » selon une terminologie anglo-saxonne), la méthode par appariement sur la valeur prédite (« Predictive Mean Matching » selon une terminologie anglo-saxonne), l'algorithme bootstrap bayésien approximatif (« Approximate Bayesian Bootstrap » selon une terminologie anglo-saxonne) ou une combinaison de ces procédés ou méthodes. Une imputation multiple permet, avantageusement, de prendre en considération l'incertitude liée aux données imputées. En alternative, le module 2 de traitement met en œuvre un procédé d'imputation simple telle qu'une imputation par la moyenne, une imputation par la médiane ou une imputation par le plus proche voisin. Dans ce cas, une donnée manquante dans une variable d'entrée est remplacée par la moyenne ou la médiane des valeurs présentes dans cette variable d'entrée ou par le plus proche voisin provenant de variables d'entrée similaires complètes. Dans un mode de réalisation, le module 2 de traitement est configuré pour compléter les données manquantes au moyen d'une imputation multiple par équations chaînées (aussi connue sous la dénomination d'imputation multiple par régressions séquentielles ou MICE, acronyme anglais de « Multiple Imputation by Chained Equation », ou encore FCS pour « Fully Conditional Specification » selon une terminologie anglo-saxonne). Pour cela, les données manquantes dans chacune des variables d'entrée sont tout d'abord remplacées par une valeur plausible (une imputation simple), telle que la valeur moyenne ou la valeur médiane, respectivement, des données disponibles dans chacune des variables d'entrée. A partir de ce jeu de variables d'entrée rendu complet, une imputation multiple par équations chaînées permet d'estimer des valeurs de remplacement pour les données manquantes dans une première variable d'entrée à l'aide d'une régression linéaire sur les autres variables d'entrée sans données manquantes. De même, des valeurs sont estimées pour les données manquantes dans une deuxième variable d'entrée à l'aide d'une régression linéaire sur les autres variables d'entrée sans données manquantes. Ce processus de régressions séquentielles est itéré pour toutes les variables d'entrée présentant des données manquantes. Les variables d'entrée complètes et les données manquantes précédemment calculées sont utilisés de manière successive selon un modèle de régression itérative jusqu'à convergence. Cette convergence peut être considérée comme atteinte lorsqu'une fonction coût (ou fonction distance) portant sur les valeurs estimées des données manquantes est inférieure à une valeur seuil prédéfinie (minimisation de la fonction coût). La fonction coût est, par exemple, la divergence de Kullback-Leibler, l'écart des moindres carrés, ou bien encore la distance de Hellinger. En imputant les données manquantes, le module 2 de traitement permet avantageusement d'utiliser l'ensemble des données au lieu d'en supprimer les observations incomplètes. La suppression de variables d'entrée comportant des données manquantes peut conduire à des prédictions biaisées. Dans un mode de réalisation, les variables d'entrée présentant un taux des données manquantes supérieur à un seuil prédéfini (par exemple, 10%, 15%, 20% ou encore 25%) ne sont pas prises en considération par le module 2 de traitement. Ainsi, une vérification par le module 2 de traitement du taux de données manquantes dans chacune des variables d'entrée peut être envisagée avant de procéder à une imputation des données manquantes. Les variables d'entrée sont réparties par le module 2 de traitement en un premier sous-ensemble et un deuxième sous-ensemble distincts de variables d'entrée. Plus généralement, le module 2 de traitement sélectionne, dans les variables d'entrée, un premier sous-ensemble et un deuxième sous-ensemble de variables d'entrée. Les variables d'entrée du deuxième sous-ensemble sont, dans un mode de réalisation, considérées comme se rapportant à des données sensibles. On entend par données sensibles : - toute donnée susceptible de révéler des informations à caractère personnel telles que des données de santé, des données bancaires, des adresses, des données de position, des identifiants personnels, des convictions religieuses ou philosophiques, des opinions politiques, une origine raciale ou ethnique, ou une appartenance syndicale ; - des données ayant des niveaux prédéfinis de criticité, de sécurité et/ou nécessitant des droits d'accès prédéfinis telles que des données financières ou, de façon générale, des données confidentielles. Dans un autre mode de réalisation, les variables d'entrée du deuxième sous-ensemble sont considérées comme se rapportant à des données non pertinentes ou inutiles compte-tenu d'un contexte prédéfini d'utilisation du système 10 de recommandation. Partant d'un premier jeu F de variables d'entrée comprenant (ou, réparti en) un premier et un deuxième sous-ensemble F1, F2 de variables d'entrée, le module 2 de traitement est, en outre, configuré pour extraire à partir de ce premier jeu F de variables d'entrée un deuxième jeu F' de variables d'entrée indépendantes des variables d'entrée du deuxième sous-ensemble F2. Autrement dit, le deuxième jeu F' de variables d'entrée n'apporte aucune information concernant les variables d'entrée du deuxième sous-ensemble F2. Plus généralement, le degré de dépendance ou de similarité entre les variables d'entrée du deuxième jeu F' et les variables d'entrée du deuxième sous-ensemble F2 est inférieure à un seuil prédéfini ou nul. Pour éviter un sur-apprentissage ou un sous-apprentissage des données, la transformation du premier jeu F en un deuxième jeu F' est faite de sorte qu'elle maximise l'information mutuelle entre le deuxième jeu F' et le premier sous-ensemble F1 de variables d'entrée. Dans un mode de réalisation, le module 2 de traitement est configuré pour extraire, à partir du premier jeu F de variables d'entrée, un deuxième jeu F' de variables d'entrée qui est : - informatif par rapport aux variables d'entrée d'un premier sous-ensemble F1 du premier jeu F ; et - non informatif par rapport (peu ou non lié) aux variables d'entrée d'un deuxième sous-ensemble F2 du premier jeu F, le deuxième sous-ensemble F2 étant distinct du premier sous-ensemble F1. Le deuxième jeu F' de variables d'entrée est porteur d'information par rapport aux variables d'entrée du premier sous-ensemble F1 mais, en revanche, n'est pas représentatif des variables d'entrée du deuxième sous-ensemble F2. Partant d'un jeu F de variables d'entrée formées à partir des données collectées et réparties en un premier sous-ensemble F1 et un deuxième sous-ensemble F2 distincts de variables d'entrée, le module 2 de traitement est configuré pour : - calculer une information mutuelle entre chaque variable d'entrée du premier sous-ensemble F1 et chacune des variables d'entrée du jeu F de variables d'entrée; - sélectionner les variables d'entrée du jeu F de variables d'entrée maximisant les informations mutuelles calculées pour chacune des variables d'entrée du premier sous-ensemble F1, le deuxième jeu F' comprenant ces variables d'entrée sélectionnées; - calculer l'information mutuelle entre chaque variable d'entrée du deuxième sous-ensemble F2 et chacune des variables d'entrée du jeu F de variables d'entrée ; - sélectionner les variables d'entrée du jeu F de variables d'entrée minimisant les informations mutuelles calculées pour chacune des variables d'entrée du deuxième sous-ensemble F2, le deuxième jeu F' comprenant ces variables d'entrée sélectionnées. La transformation (ou " mapping " selon une terminologie anglo-saxonne) du premier jeu F en un deuxième jeu F' de variables d'entrée peut être formulée par la fonction g suivante : Où I(f;z) et I(f;y) sont, respectivement, l'information mutuelle entre l'une quelconque des variables d'entrée f du premier jeu F et l'une quelconque des variables d'entrée z du premier sous ensemble F1 et l'information mutuelle entre l'une quelconque des variables d'entrée f du premier jeu F et l'une quelconque des variables d'entrée y du deuxième sous ensemble F2. ß est un coefficient de dépendance entre une variable d'entrée y du deuxième sous ensemble F2 et une variable d'entrée f du premier jeu F. De façon générale, la fonction g ci-dessus de transformation peut se baser sur un calcul de l'information mutuelle ou toute autre mesure de dépendance ou de similarité équivalente. Afin de permettre un apprentissage en ligne (en temps réel ou quasi réel) et faire face au volume, à la vélocité et à la variété des données, la mise en œuvre de la fonction g est, dans un mode de réalisation préféré, parallélisée. La fonction g permet, avantageusement, de transformer une première famille de variables d'entrée en une deuxième famille de variables d'entrée indépendante d'une ou plusieurs variables d'entrée prédéfinies de la première famille et qui évite un sur-apprentissage ou un sous-apprentissage des données. La fonction g permet d'exprimer ou projeter les variables d'entrée du premier jeu F dans un nouvel espace de variables d'entrée indépendant des variables d'entrée du deuxième sous-ensemble F2. Cette fonction permet également de maximiser le degré de dépendance entre les variables d'entrée du deuxième jeu F' et celles du premier sous-ensemble F1. Le module 2 de traitement opère, en effet, une transformation de l'espace des variables d'entrée afin de filtrer des variables d'entrée prédéfinies, sans conduire à un sur-apprentissage ou un sous-apprentissage des données. En filtrant les variables d'entrée sans cependant engendrer un sur-apprentissage ou un sous-apprentissage des données, le module 2 de traitement permet avantageusement de réduire la taille de l'espace des variables d'entrée et, par conséquent, les ressources matérielles et/ou logicielles nécessaires pour le traitement de ces données (calcul, espace mémoire) requises. Il en résulte un allègement de la tâche d'apprentissage automatique (entraînement rapide d'algorithmes apprenants adaptés à un petit nombre de dimensions). Le système 10 de recommandation est apte à réaliser un filtrage d'informations sur la base de variables d'entrée prédéfinies. Ces variables d'entrée prédéfinies sont, dans un mode de réalisation, choisies en fonction des droits d'accès associés à un profil utilisateur et/ou le degré de sensibilité ou de criticité des données auxquelles se rapportent des variables d'entrée. Avantageusement, la transformation du premier jeu F en un deuxième jeu F' de variables d'entrée permet de réduire la dimension de l'espace des variables d'entrée de façon à adapter les recommandations produites par le système 10 au contexte de son utilisation défini par les droits d'accès associés à l'utilisateur ou à la session, l'endroit de connexion, le terminal de connexion, ou les besoins de l'utilisateur. Le deuxième jeu F' de variables d'entrée est destiné à l'apprentissage et/ou l'évaluation d'un algorithme d'apprentissage automatique supervisé ou semi-supervisé. Le deuxième jeu F' de variables d'entrée est soumis au module 3 d'apprentissage automatique pour entraîner ou évaluer un algorithme apprenant (des réseaux de neurones profonds par exemple). En mettant en œuvre un algorithme apprenant, le module 3 d'apprentissage automatique est configuré pour inférer une connaissance et générer, en conséquence, des prédictions à partir du deuxième jeu F' de variables d'entrée de façon à pouvoir proposer des recommandations. Ainsi, le système 10 de recommandation est, sur la base des variables de sortie prédites, apte à délivrer des recommandations ou répondre à des requêtes portant sur l'une quelconque des variables d'entrée du deuxième jeu F'. Le module 3 d'apprentissage automatique est, en effet, configuré pour prédire une variable de sortie associée à chacune des variables d'entrée du deuxième jeu F' de variables d'entrée (c'est-à-dire, celles sélectionnées du premier jeu F par le module 2 de traitement). Le module 3 d'apprentissage automatique comprend une ou plusieurs unités de traitement informatique intégrant des instructions pour la mise en œuvre d'un algorithme d'apprentissage automatique apte à prédire une variable de sortie associée à chaque variable d'entrée possible du deuxième jeu F'. Des moyens 12 de sortie, tel qu'un terminal utilisateur pourvu d'un écran, connectés au système 10 de recommandation permettent de communiquer ou afficher de manière intelligible pour l'utilisateur les recommandations générées par le module 3 d'apprentissage automatique. Par ailleurs, une interface 4 d'entrée est destinée à permettre la configuration et/ou la supervision du système 10 de recommandation. Des paramètres du module 1 de collecte de données (par exemple, une indication des sources 11 de données ou une configuration d'interfaces de programmation applicative souvent désignées par le terme API pour « Application Programming Interface » selon une terminologie anglo-saxonne) du module 2 de traitement (par exemple, une spécification d'algorithmes pour une exploration statistique des observations) et du module 3 d'apprentissage automatique (par exemple, un paramétrage de l'algorithme apprenant) peuvent être fournis via l'interface 4 d'entrée. En se reportant à la , un procédé de recommandation basée sur un apprentissage automatique comprend : - une étape 20 de collecte (ou d'agrégation) de données provenant d'une pluralité de sources de données ; - une étape 21 de formation, à partir des données collectées, d'une pluralité de variables d'entrée ; - une étape 23 de répartition de la pluralité de variables d'entrée en un premier sous-ensemble et un deuxième sous-ensemble distincts de variables d'entrée ; - une étape 24 de sélection de variables d'entrée à partir de cette pluralité de variables d'entrée, cette étape intégrant : - le calcul d'une information mutuelle entre chaque variable d'entrée du premier sous-ensemble et chacune des variables d'entrée de la pluralité de variables d'entrée ; - la sélection des variables d'entrée de ladite pluralité de variables d'entrée maximisant les informations mutuelles calculées pour chacune des variables d'entrée du premier sous-ensemble ; - le calcul d'une information mutuelle entre chaque variable d'entrée du deuxième sous-ensemble et chacune des variables d'entrée de cette pluralité de variables d'entrée ; - la sélection des variables d'entrée de ladite pluralité de variables d'entrée minimisant les informations mutuelles calculées pour chacune des variable d'entrée du deuxième sous-ensemble ; - une étape 25 d'apprentissage automatique pour prédire une variable de sortie associée à chacune des variables d'entrée sélectionnées. Lorsqu'une variable d'entrée présente une donnée manquante, le procédé de recommandation comprend, en outre, une étape 22 d'imputation de cette donnée manquante. La donnée manquante est, dans un mode de réalisation, complétée par une imputation multiple, notamment une imputation multiple par équations chaînées. Ce procédé est indépendant du corpus des observations et peut s'appliquer dans différents domaines. Le système 10 de recommandation est, dans un mode de réalisation, une plateforme en ligne de recommandation permettant à une entité (notamment, une start-up) d'y créer un profil pour pouvoir y recevoir, sans requête utilisateur, des recommandations et des suggestions en lien avec son profil et ses actions. Les observations peuvent être obtenues à partir d'instances intégrant, par exemple, des pages " Web ", c'est-à-dire lisibles par un navigateur Internet, des communiqués de presse, des bases de données, ou des réseaux sociaux. Les variables d'entrée peuvent, dans cet exemple, être choisies parmi un ensemble comprenant, à titre d'exemples non exhaustifs, les fournisseurs, les collaborateurs, les concurrents, les partenaires, les clients, les sous-traitants, les experts dans le domaine d'activité de l'entité, la réputation numérique de l'entité, les investisseurs dans le domaine d'activité de l'entité. Un premier et un deuxième sous-ensemble de variables d'entrée sont définis à partir de l'ensemble des variables d'entrée illustratives ci-dessus en fonction, par exemple, du contexte d'utilisation de la plateforme en ligne de recommandation (notamment, le profil ou les droits d'accès associés à l'utilisateur ou à la session, ou l'endroit de connexion). Le deuxième sous-ensemble F2 de variables comprend, dans un mode de réalisation, « les concurrents » et « la réputation numérique de l'entité » lorsque l'utilisateur connecté à la plateforme en ligne de recommandation est un collaborateur de l'entité. Le premier sous-ensemble F1 comprend le reste des variables d'entrée illustratives ci-dessus. En transformant l'espace multidimensionnel des variables d'entrée, le système 10 de recommandation permet avantageusement d'adapter les recommandations délivrées au contexte d'utilisation et aux besoins de l'utilisateur. Dans un autre mode de réalisation, le système 10 de recommandation est, par exemple, une plateforme connectée à des sources 11 de données intégrant des capteurs et/ou des dispositifs appartenant à l'internet des objets tels que des capteurs de santé ou des capteurs domotiques. Dans ce cas, le moyen 2 de traitement permet, dans un mode de réalisation, d'extraire à partir de variables d'entrée formées à partir de données provenant d'un ensemble d'objets intégrant ces capteurs des variables d'entrée non informatives (non porteuses d'information) par rapport aux données issues de ces capteurs. Cette extraction est, avantageusement, réalisée sans engendrer un sur-apprentissage des données collectées. Le moyen 2 de traitement peut être configuré pour filtrer des variables d'entrée (un sous-ensemble F2) considérées sensibles se rapportant à des données issues d'un ou plusieurs capteurs de santé ou des capteurs domotiques. Dans un autre mode de réalisation, le système 10 de recommandation complète un système de recherche d'information en vue d'enrichir une réponse à une requête par des recommandations. Dans un autre mode de réalisation, le système 10 de recommandation décrit ci-dessus est utilisé pour générer des recommandations pour une utilisation optimale de véhicules sanitaires (routiers, aériens ou maritimes). Le système 10 de recommandation est, par exemple, utilisé pour recommander l'utilisation d'un certain véhicule sanitaire ou pour générer des prédictions concernant la disponibilité des véhicules sanitaires ou une planification de leur utilisation. Ces véhicules sanitaires sont équipés de capteurs de santé ou, plus généralement, d'objets connectés configurés pour contrôler des données de santé des patients. Ces véhicules sanitaires sont, par exemple, des hélicoptères médicalisés, des ambulances légères, des ambulances de soins d'urgence, des ambulances de soins intensifs ou des véhicules de liaison médicalisés. Les variables d'entrée formées à partir des données collectées comprennent, par exemple, des attributs liés aux véhicules sanitaires (numéro d'identification, catégorie, type de transport, données de localisation, données du dernier contrôle technique, fréquence d'utilisation, nombre de personnes à bord, autonomie énergétique, des statistiques sur les missions réalisées, service médical associé par exemple), des attributs liés aux objets connectés embarqués dans un véhicule sanitaire (une station d'oxygène, un moniteur cardiaque, un tensiomètre, un oxymètre, un thermomètre, un défibrillateur par exemple), des attributs liés aux patients (symptômes, âge, maladie, identifiants, adresse par exemple), des attributs liés aux conditions d'utilisation (jour, nuit, heure de pointe, conditions météorologiques par exemple) ou des attributs liés à des structures médicales (adresses, spécialités médicales, taux de fréquentation ou taux d'occupation par exemple). Dans un mode de réalisation illustré par la , les variables d'entrée formées par le module 2 de traitement se présentent sous la forme d'une matrice composée de 5 colonnes (variables d'entrée 31-35) et 500 lignes (observations). Les observations fournies comprennent des données 36 manquantes illustrées, dans la , par des traits interrompus. Le module 2 de traitement est configuré pour effectuer une imputation multiple par équations chaînées des données 36 manquantes. Les données complétées comportent, dans un mode de réalisation, des variables d'entrée 31-32 dites sensibles (c'est-à-dire se rapportant à des données sensibles) telles que des variables d'entrée liées à des patients transportés par les véhicules sanitaires (notamment, des données sanitaires ou, plus généralement, des données à caractère personnel). Grâce au module 2 de traitement, ces variables d'entrée 31-32 sensibles ainsi que les variables d'entrée ayant une information mutuelle supérieure à une valeur seuil prédéfinie avec ces variables d'entrée 31-32 sensibles (par exemple, les destinations finales des véhicules sanitaires divulguant les adresses des patients) ne sont pas soumises au module 3 d'apprentissage automatique. L'information mutuelle entre les variables d'entrée 31-32 sensibles et les variables d'entrée soumises au module 3 d'apprentissage automatique est supposée être inférieure à une valeur seuil prédéfinie. Les variables d'entrée fournies en entrée du module 3 d'apprentissage automatique n'impliquent ni un sur-apprentissage ni un sous-apprentissage des données. Ceci peut être vérifié en analysant la variation des composantes principales (dite, en anglais, " Principal Component Analysis ") déduites des variables d'entrée, celles ayant les valeurs les plus importantes étant soumises au module 3 d'apprentissage automatique. Il en résulte un espace réduit formé des variables d'entrée qui minimisent le sur-apprentissage et le sous-apprentissage des données collectées. Le module 3 d'apprentissage automatique comprend, dans un mode de réalisation illustré par la , un réseau de neurones de type perceptron multicouches (PMC). Ce perceptron multicouches comprend une couche 41 d'entrée comprenant des nœuds au nombre des variables d'entrée, une pluralité de couches 42 cachées (par exemple, trois couches cachées de, respectivement, cinq, dix et cinq nœuds) et une couche 43 de sortie d'un seul nœud. Avantageusement, les procédés et systèmes de recommandation décrits ci-dessus permettent de : - transformer l'espace des variables d'entrée pour filtrer une ou plusieurs variables d'entrée estimées sensibles, tout en évitant un sur-apprentissage et un sous-apprentissage des données ; - compléter des variables d'entrée comportant des données manquantes au moyen d'une imputation multiple permettant des résultats stables ; - mettre en place des règles strictes en matière de protection des données sensibles ; - filtrer de manière centralisée des données provenant de différentes sources au lieu de déployer localement des pilotes spécifiques à chaque source de données. Outre qu'il nécessite beaucoup de ressources (un déploiement des pilotes au niveau des différentes sources de données, une configuration des pilotes propre à chaque source de données, un besoin en ressources de calcul et de stockage au niveau des différentes sources de données), un filtrage local au niveau de chaque source de données peut, par rapport à l'ensemble des données provenant des autres sources, sous-dimensionner ou sur-dimensionner des données considérées sensibles, entraînant des classifications erronées. Bien que le système 10 de recommandation soit décrit ci-dessus relativement à des modes de réalisation et à des variantes, l'homme du métier comprendra que ces modes de réalisation et variantes ne sont pas limitatifs et peuvent être combinés entre eux et/ou avec tout autre mode de réalisation équivalent. Système (10) de recommandation basé sur un apprentissage automatique comprenant : - un module (1) de collecte de données apte à agréger des données provenant d'une pluralité de sources (11) de données ; - un module (2) de traitement configuré pour : a. former, à partir des données collectées, une pluralité de variables d'entrée ; b. répartir ladite pluralité de variables d'entrée en un premier sous-ensemble et un deuxième sous-ensemble distincts de variables d'entrée ; c. calculer une information mutuelle entre chaque variable d'entrée dudit premier sous-ensemble et chacune des variables d'entrée de ladite pluralité de variables d'entrée ; d. sélectionner les variables d'entrée de ladite pluralité de variables d'entrée maximisant les informations mutuelles calculées pour chacune des variable d'entrée du premier sous-ensemble ; e. calculer l'information mutuelle entre chaque variable d'entrée du deuxième sous-ensemble et chacune des variables d'entrée de ladite pluralité de variables d'entrée ; f. sélectionner les variables d'entrée de ladite pluralité de variables d'entrée minimisant les informations mutuelles calculées pour chacune des variable d'entrée du deuxième sous-ensemble ; - un module (3) d'apprentissage automatique configuré pour prédire une variable de sortie associée à chacune des variables d'entrée sélectionnées. Système (10) de recommandation selon la revendication 1, pour lequel le module (2) de traitement est en outre configuré, lorsqu'une variable d'entrée présente une donnée manquante, pour compléter ladite donnée manquante. Système (10) de recommandation selon la revendication précédente, pour lequel le module (2) de traitement est configuré pour compléter ladite donnée manquante au moyen d'une imputation multiple. Système (10) de recommandation selon la revendication précédente, pour lequel l'imputation multiple est une imputation multiple par équations chaînées. Système (10) de recommandation selon l'une quelconque des revendications précédentes, pour lequel le module (2) de traitement est en outre configuré pour vérifier le taux de données manquantes dans une variable d'entrée de ladite pluralité de variables d'entrée. Procédé de recommandation basée sur un apprentissage automatique comprenant les étapes suivantes : - collecte (20) de données provenant d'une pluralité de sources de données ; - formation (21) d'une pluralité de variables d'entrée à partir des données collectées ; - répartition (23) des variables d'entrée en un premier sous-ensemble et un deuxième sous-ensemble distincts de variables d'entrée ; - calcul d'une information mutuelle entre chaque variable d'entrée dudit premier sous-ensemble et chacune des variables d'entrée de ladite pluralité de variables d'entrée ; - sélection (24) des variables d'entrée de ladite pluralité de variables d'entrée maximisant les informations mutuelles calculées pour chacune des variable d'entrée du premier sous-ensemble ; - calcul d'une information mutuelle entre chaque variable d'entrée du deuxième sous-ensemble et chacune des variables d'entrée de ladite pluralité de variables d'entrée ; - sélection (24) des variables d'entrée de ladite pluralité de variables d'entrée minimisant les informations mutuelles calculées pour chacune des variable d'entrée du deuxième sous-ensemble ; - apprentissage automatique (25) pour prédire une variable de sortie associée à chacune des variables d'entrée sélectionnées. Procédé de recommandation selon la revendication précédente, comprenant, en outre, lorsqu'une variable d'entrée présente une donnée manquante, une étape (23) d'imputation de ladite donnée manquante. Procédé de recommandation selon la revendication précédente, pour laquelle la donnée manquante est complétée au moyen d'une imputation multiple. Procédé de recommandation selon la revendication précédente, pour laquelle l'imputation multiple est une imputation multiple par équations chaînées. Produit programme d'ordinateur implémenté sur un support mémoire, susceptible d'être mis en œuvre au sein d'une unité de traitement informatique et comprenant des instructions pour la mise en œuvre d'un procédé de recommandation selon l'une quelconque des revendications 6 à 9.