Brevet FR2986638A1 — publié le 20130809

ARRIERE-PLAN DE L'INVENTION Domaine de l'invention La présente invention concerne un procédé d'optimisation de contenu sur un réseau informatique, par exemple Internet. Arrière-plan technologique De nombreuses données sont accessibles par les réseaux informatiques. Cependant, obtenir les données pertinentes sur un sujet donné s'avère de plus en plus difficile du fait de la multiplication des sources de données. La vitesse d'accès à un contenu et l'intelligibilité de la hiérarchie entre 10 différents contenus sont donc des problèmes techniques majeurs sur ces réseaux informatiques. Du côté des éditeurs de contenu, pour mettre en avant un contenu, par exemple pour vendre un produit sur une boutique en ligne, il devient de plus en plus stratégique d'apparaître dans les premières positions dans les réponses des moteurs 15 de recherche à des requêtes portant sur des noms de produits ou de marques. Pour cela, il existe deux méthodes : le référencement naturel et le référencement payant (« Paid Search »). Actuellement, le référencement naturel d'un site e-commerce dans les moteurs de recherche s'effectue « à l'aveugle » avec de nombreuses incertitudes sur 20 la progression dans les positions car le référenceur n'a pas la garantie d'atteindre les premières positions. De plus, les actions d'optimisation du référencement naturel sont chronophages car elles sont réalisées « à la main ». Ainsi, les sites marchands manquent de visibilité quant au retour sur investissement d'une campagne de référencement. Les seuls logiciels utilisés pour le 25 référencement naturel sont des logiciels de suivi de positionnement ou de soumissions dans les annuaires et moteurs de recherches. Il s'agit d'une approche « a posteriori », où la mesure du retour sur investissement est réalisée plusieurs semaines après les actions de référencement. Il n'existe pas d'applications intelligentes capables d'estimer les actions les 30 plus efficaces et qui automatisent la gestion du référencement. BREVE DESCRIPTION DE L'INVENTION La présente invention vise à remédier à ces inconvénients. A cet effet, selon un premier aspect, la présente invention vise un procédé d'optimisation de visibilité d'un premier contenu sur un réseau informatique, qui comporte : - une étape d'émission d'au moins une requête à destination d'au moins un système informatique fournissant des réponses classées, - une étape d'analyse des réponses classées, - une étape d'apprentissage de règles de classement en fonction des réponses classées, - une étape d'émission d'au moins une recommandation pour améliorer le classement du premier contenu et - une étape de mise en oeuvre d'au moins une dite recommandation. Grâce à ces dispositions, à partir de l'analyse des contenus qui sont les mieux classés dans les réponses, on détermine les actions nécessaires pour améliorer le classement d'un contenu dit « premier ». Selon des caractéristiques particulières, le procédé objet de l'invention comporte, en outre, une étape de détermination de requêtes en fonction du premier contenu. Selon des caractéristiques particulières, au cours de l'étape de détermination de requête, on détermine des mots clés discriminants pour le premier contenu. Grâce à chacune de ces dispositions, les requêtes sont automatiquement générées pour être pertinentes et, en particulier, les mots-clés sont automatiquement extraits du premier contenu. Selon des caractéristiques particulières, au cours de l'étape d'analyse des réponses, on analyse des adresses d'autres contenus sur ledit réseau informatique. Selon des caractéristiques particulières, au cours de l'étape d'analyse des réponses classées, on traite chacun des dits autres contenus pour lui donner une valeur sur au moins un axe. Selon des caractéristiques particulières, au cours de l'étape d'analyse des réponses classées, au moins un axe est un axe sémantique représentatif d'occurrences du mot-clé objet de la requête dans ledit autre contenu. On note que le terme d'occurrences peut représenter un nombre d'itérations ou une densité d'itérations du mot-clé considéré. Selon des caractéristiques particulières, au cours de l'étape d'analyse des réponses classées, au moins un axe est un axe technique représentatif de l'accès audit autre contenu. Selon des caractéristiques particulières, au cours de l'étape d'analyse des réponses classées, au moins un axe est un axe de popularité représentatif d'un nombre de liens pointant vers ledit autre contenu. Selon des caractéristiques particulières, au cours de l'étape d'analyse des réponses classées, au moins un axe est un axe social représentatif d'un nombre de messages faisant références au dit autre contenu sur des sites prédéterminés. Selon des caractéristiques particulières, au cours de l'étape d'apprentissage, on détermine, pour un mot-clé, les critères, issus de l'étape d'analyse des réponses classées qui influencent le classement du premier contenu et les valeurs du premier contenu selon lesdits critères influents qui améliorent le classement du premier contenu. Selon des caractéristiques particulières, au cours de l'étape d'émission d'au moins une recommandation, on émet les valeurs du premier contenu à modifier pour améliorer le classement du premier contenu. Selon des caractéristiques particulières, au cours de l'étape de mise en oeuvre, on hiérarchise les modifications du premier contenu pour améliorer le 20 classement du premier contenu en fonction de coûts associés aux dites modifications. BREVE DESCRIPTION DES DESSINS D'autres avantages, buts et caractéristiques de la présente invention 25 apparaîtront à la lecture de la description qui va suivre, dans un but explicatif et nullement limitatif, en regard des dessins annexés, dans lesquels : la figure 1 représente, sous forme d'un logigramme, des étapes d'un premier mode de réalisation particulier du procédé objet de la présente invention, 30 la figure 2 représente des éléments coopérant pour la mise en oeuvre du procédé objet de la présente invention illustré en figure 1 et la figure 3 représente, sous forme d'un logigramme, des étapes d'une deuxième mode de réalisation particulier du procédé objet de la présente invention. DESCRIPTION DETAILLEE DE MODES DE REALISATION DE L'INVENTION On observe, en figure 1, tout d'abord, une étape 105 de détermination de requêtes en fonction du premier contenu. Préférentiellement, au cours de l'étape 105 de détermination de requête, on détermine des mots clés discriminants pour le premier contenu. Pour illustrer ce propos, nous allons étudier, ci-dessous, le système d'automatisation du SEO (pour « Search Engine Optimization » ou optimisation de moteur de recherche) dans un moteur de recherche textuel, par exemple Google (marque déposée), pour un site internet « A ». Le site internet « A » dispose d'une liste de mots-clés (1 à n lemmes) avec lesquels il souhaite obtenir du trafic naturel à partir des positions de ses pages dans les résultats obtenus avec Google. Plus les positions sont proches du premier rang, plus le trafic augmente. Le but est d'amener toutes les pages du site « A » vers la première position pour les mots clés descriptifs du contenu du site « A ». Puis, on effectue une étape 110 d'émission d'au moins une requête à destination d'au moins un système informatique, par exemple un moteur de recherche, fournissant des réponses classées. Chaque requête émise comporte au moins un mot-clé déterminé au cours de l'étape 105. On note que cette étape 110 est applicable à tout site ou portail internet proposant, à un internaute, une liste classée de réponses basée sur une requête. Par exemple : - une requête textuelle dans un moteur de recherche (par exemple Google, Bing, marques déposées) donne une liste classée d'adresses (ou URLs pour Uniform Resource Locator ou localisateur uniforme de ressource) de sites internet ; - une requête textuelle dans un magasin d'application (par exemple Appstore, Android Market, marques déposées) donne une liste classée d'applications, - une requête sonore (objet d'une reconnaissance vocale) dans une 30 application (par exemple sur iPhone ou Android, marques déposées) de style annuaire (par exemple « pagesjaunes.fr » ou « 118712 », marques déposées) donne une liste classée d'adresses associées à des numéros de téléphone et - une requête visuelle (basée sur une image, une couleur, une forme, une texture, par exemple) donne une liste classée d'images proches visuellement. 2 98663 8 5 L'aspect visuel de cette liste de résultats importe peu, du moment que les résultats soient ordonnés, par exemple du plus pertinent au moins pertinent ou inversement. Au cours de l'étape 110, à l'aide d'un programme informatique existant comme 5 Curl ou Wget (marques déposées), ou bien avec un programme similaire écrit en langage informatique (par exemple JAVA, C++, PPH, marques déposées), on interroge le moteur de recherche de manière automatique afin de récupérer fréquemment (par exemple de manière mensuelle, hebdomadaire ou quotidienne) les N premiers résultats placés aux N premières positions, pour chaque mot-clé. Les 10 N premières adresses (URLs) ainsi que leurs positions sont stockées dans une base de données. Dans cette étape 110, on utilise, en entrée, une base de données de mots-clés et on obtient, en sortie, une base de données de positions et d'adresses (URLs) associées à ces mots-clés. 15 Puis, on réalise une étape 115 d'analyse des réponses classées issues de l'étape 110. Par exemple, au cours de l'étape 115 d'analyse des réponses, on analyse les adresses des autres contenus référencés par les réponses aux requêtes émises au cours de l'étape 110 et on traite chacun des dits autres contenus pour lui donner une valeur sur au moins un axe. Ici, les autres contenus sont des pages 20 accessibles sur le réseau Internet. Préférentiellement, au moins un axe est un axe sémantique représentatif d'occurrences du mot-clé objet de la requête dans ledit autre contenu, au moins un axe est un axe technique représentatif de l'accès audit autre contenu, au moins un axe est un axe de popularité représentatif d'un nombre de liens pointant vers ledit 25 autre contenu et/ou au moins un axe est un axe social représentatif d'un nombre de messages faisant références au dit autre contenu sur des sites prédéterminés. Par exemple, pour l'analyse d'adresses (URLs), à l'aide d'un programme informatique similaire au précédent, on analyse chaque adresse (URL), c'est-à-dire l'adresse et le contenu auquel elle donne accès (par exemple par son code source HTML, marque déposée) récupérée lors de l'étape 110 suivant différents axes comme, par exemple : - des axes sémantiques, - des axes techniques, - des axes de popularité et 2 98663 8 6 - des axes sociaux. Cette analyse est effectuée au même moment que l'étape 110 pour une plus grande cohérence des données. Exemples de critères par axe : 5 - sémantique : nombre d'occurrence du mot-clé objet de la requête de la phase 1 dans l'adresse (URL), dans le titre, dans les balises H1 etc ... - technique : rapidité de téléchargement, nombre d'erreurs dans le code HTML, - popularité : nombre de liens pointant vers la page (« backlinks ») et 10 - social : nombre de tweets (marque déposée) faisant référence à l'adresse (URL), nombre de pages Facebook (marque déposée) faisant référence à l'adresse (URL). On peut aussi citer les critères suivants : - sémantique : l'ordre, la répétition, la densité des mots..., 15 - technique, la qualité de la solution technique du site web : organisation du code html, rapidité des serveurs... - popularité et la notoriété : les liens entre les sites, la marque, l'autorité, l'âge du site web... Chacun de ces axes définit des critères d'appréciation de l'adresse (URL) 20 analysée. Toutes les valeurs mesurées de tous les critères de tous les axes sont stockées dans une base de données. Ainsi, on utilise, en entrée de l'étape 115, la base de données de positions et d'adresse (URLs) et on obtient, en sortie, au moins une base de données de critères. Puis on effectue une étape 120 d'apprentissage de règles de classement en 25 fonction des réponses classées. Par exemple, au cours de l'étape d'apprentissage 120, on détermine, pour un mot-clé, les critères, issus de l'étape d'analyse des réponses classées qui influencent le classement du premier contenu et les valeurs du premier contenu selon lesdits critères influents qui améliorent le classement du premier contenu. 30 L'algorithme d'apprentissage est un programme informatique servant à analyser et à faire de la rétro-ingénierie de l'algorithme de classement de Google, comme par exemple l'algorithme décrit dans la publication « 2010 IEEE/WIC/ACM Internationnal Conference on Web Intelligence and Intelligence Agent Technology : «How to improve your Google Ranking : Myths and Reality» (Ao-Jan Su, Y. Charlie 2 98663 8 7 Hu, Aleksandar Kuzmanovic and Cheng-Kok Koh) ». On note que l'on peut se servir des trois modèles fournis dans cette publication, programmation linéaire, Support Vector Machine (machine de vecteurs de support) et partitionnement récursif), mais également une combinaison de modèles existants tels que régression linéaire, arbre 5 de décision, arbre de classification ou d'autres algorithmes d'apprentissage statistiques. L'objectif de cette troisième phase est, d'une part, de déterminer, pour un mot-clé, les critères, issus de l'étape 115, influençant la position, issue de l'étape 110, des résultats dans Google, et, d'autre part, d'évaluer les valeurs optimales de 10 ces critères, pour obtenir une position plus proche de 1. L'algorithme d'apprentissage analyse fréquemment, par exemple de manière mensuelle, hebdomadaire ou quotidienne, pour chaque mot-clé ou pour chaque groupe de mots-clés, les données statistiques récoltées à l'étape précédente afin de construire un modèle spécifique. Ce modèle permet de déterminer les critères 15 déterminants et leurs valeurs optimales qui sont stockés dans une base de données distincte. L'étape 120 utilise, ainsi, en entrée, les bases de données de critères, la base de données de positions et d'adresse (URLs) pour fournir, en sortie, une base de données appelée « REX/IA » (acronyme de « Retour d'EXpérience / Intelligence 20 Artificielle »). On réalise ensuite une étape 125 d'émission d'au moins une recommandation pour améliorer le classement du premier contenu. Préférentiellement, au cours de l'étape d'émission d'au moins une recommandation, on émet les valeurs du premier contenu à modifier pour améliorer 25 le classement du premier contenu. A l'aide d'un programme informatique similaire aux précédents (écrit en JAVA, C++, ou PHP ...), on détermine grâce aux données de la base REX/IA, pour chaque mot-clé et pour des pages du site internet « A », les critères déterminants ainsi que leur valeurs optimales pour que cette page soit théoriquement mieux placée dans le 30 classement de Google. L'étape 125 utilise donc, en entrée, la base de données REX/IA, des adresses (URL) et des mot-clés pour donner, en sortie, la liste des critères à modifier avec leur valeurs visée (ou fourchette de valeur). Au cours d'une étape 130, on met en oeuvre au moins une recommandation émise au cours de l'étape 125. Par exemple, au cours de l'étape 125 de mise en oeuvre, on hiérarchise les modifications du premier contenu pour améliorer le classement du premier contenu en fonction de coûts associés aux dites modifications. Pour revenir à l'exemple donné ci-dessus, au sein du site internet « A » est installé un programme d'ordonnancement. Ce programme peut être développé soit pour s'installer sur un système conventionnels (Linux, Windows, etc..), soit en tant que « plugin » (logiciel qui complète un logiciel hôte pour lui apporter de nouvelles fonctionnalités) au sein d'un framework (architecture) de développement de site internet (par exemple Magento, oscommerce, marques déposées). Il sert à aiguiller les différentes tâches à effectuer en fonction des résultats de la phase 4 d'aide à la décision. Une base de données de coûts peut être nécessaire pour cette phase. Elle stocke pour chacun des critères de la phase 2 leurs coûts de mise en oeuvre : 1. coût technique 2. coût financier 3. coût temporel etc. Pour chaque résultat de la phase 4 d'aide à la décision, en fonction des coûts liés aux critères, est déclenchée une série de tâches : 1. automatiques : par exemple, la modification du titre, ou les corrections des erreurs html de la page étudiée, 2. Semi-automatique : par exemple, la préparation de liens supplémentaires pointant vers ou depuis la page étudiée avec leur ancres ou 3. Manuelles : par exemple l'envoi de mails d'alerte indiquant les actions optimales à effectuer. De manière automatique et cyclique, le site internet « A » va améliorer le classement de ses pages dans Google en mettant à jours directement leur contenu, leur popularité et leur technicité. L'étape 130 utilise donc, en entrée, une liste de critères et leur valeurs et fournit, en sorties, des lancements de taches (programmes spécifiques, mails, taches planifiées, etc ...). On retrouve, en figure 2, les éléments mis en oeuvre dans le mode de réalisation du procédé objet de l'invention décrit en regard de la figure 1 : une liste de mots-clés 205 concernant le site ou des pages du site dont la position doit être optimisée, une base de données de mots-clés 210 mise en oeuvre au cours de l'étape 105, un moteur de recherche 215 auquel sont adressées les requêtes émises au cours de l'étape 110, une base de données 220 de positions d'adresses (URL) obtenues au cours de l'étape 110 et mise en oeuvre au cours de l'étape 115, la toile mondiale (world wide web) 225 où se trouvent les pages référencées par les adresses, mise en oeuvre au cours de l'étape 115, une base de données de critères 230 obtenue au cours de l'étape 115, un algorithme 235 mis en oeuvre au cours de l'étape 120, par exemple un algorithme de régression, une base de données REX/IA 240 obtenue à la fin de l'étape 120, un algorithme de détection de critères 245 mis en oeuvre au cours de l'étape 125, une liste de nouveaux mots-clés préconisés 250, fournie par l'algorithme 245, une liste de meilleurs critères et valeurs de ces critères 255, fournie par l'algorithme 245, une base de données de coûts 260 mise en oeuvre au cours de l'étape 125, un algorithme d'aide à la décision 265, mis en oeuvre au cours de l'étape 125, des tâches planifiées 275 pour la mise à jour du site considéré au cours de l'étape 130, des actions 280 effectuées sur des pages 285 du site considéré au cours de l'étape 130 et des notifications de recommandations 285 adressées à des responsables du site considéré, au cours de l'étape 125. On observe que la présente invention ne se limite pas à l'amélioration du rang de contenus accessibles sur Internet mais s'étend, au contraire, à l'analyse multicritères de données complexes. 2 98663 8 10 Par exemple, la présente invention s'applique à l'optimisation de la consommation électrique d'un DataCenter. Par exemple, on associe au système informatique hébergeant le programme informatique implémentant le procédé objet de la présente invention, des compteurs ou des capteurs répartis dans chaque salle 5 d'un datacenter. Ces capteurs peuvent par exemple enregistrer les températures de chaque serveur, de chaque baie de serveur, de chaque salle de serveurs, ainsi que des informations techniques de chaque serveur comme le type d'OS (Operating System), le volume de données échangé, le nombre d'incidents, la durée de charge des cpus (Central Processing Unit) etc ... ainsi que la consommation électrique 10 journalière. On observe, en figure 3, un tel procédé d'optimisation d'un premier contenu sur un réseau informatique, qui comporte, tout d'abord : - une étape 310 d'émission d'au moins une requête à destination d'au moins un système informatique fournissant des réponses classées et 15 - une étape 315 d'analyse des réponses classées. La mise en oeuvre de l'invention permet de classer quotidiennement tous les serveurs par ordre de consommation, par exemple du moins énergivore au plus énergivore. Dans ce cas, le rang (ou position) obtenu au cours de l'étape 110 concerne le 20 rang en termes d'efficacité énergétique perçue par les capteurs, selon des critères de détermination d'efficacité prédéterminés (consommation électrique propre, climatisation, entretiens ...). Puis, on réalise : - une étape 320 d'apprentissage de règles de classement en fonction des 25 réponses classées et - une étape 325 d'émission d'au moins une recommandation pour améliorer le classement du premier contenu. Les recommandations obtenues au cours de l'étape 325 et mises en oeuvre au cours de l'étape 330, ci-dessous, concernent par exemple la baisse de la 30 température dans certaines zones du datacenter, changer le type de processeur ou le type de disques durs des serveurs, réduire le nombre d'interventions physique sur les serveurs, etc ..." On réalise, enfin, une étape 330 de mise en oeuvre d'au moins une dite recommandation. D'autres modes de réalisation de la présente invention mettent en oeuvre des capteurs de grandeurs physiques et/ou des actionneurs. Par exemple, la présente invention s'applique à l'optimisation de la commande de feux tricolores pour la régulation de la vitesse et/ou la fluidité du trafic routier. Par exemple, on associe au système informatique hébergeant le programme informatique implémentant le procédé objet de la présente invention, des compteurs ou des capteurs au sol qui comptent le nombre de véhicules en différents points d'un réseau routier. La mise en oeuvre de l'invention permet de créer des feux intelligents tous connectés entre eux pour laisser passer plus ou moins de véhicules à certains endroits en fonction du trafic durant la journée ou selon les jours de la semaine ou de l'année (vacances, jours fériés, jours de match, probabilité d'accidents à certains endroits, travaux de voierie). Dans ce cas, le rang (ou position) obtenu au cours de l'étape 110 concerne le rang en termes d'efficacité perçue par les capteurs, selon des critères de détermination d'efficacité prédéterminés (nombre de véhicules passant devant les feux, durées de trajet moyen, ...). Les recommandations obtenues au cours de l'étape 125 et mises en oeuvre au cours de l'étape 130 concernent les durées des feux, les différences de phases entre les feux, ...