Brevet FR3092686A1 — publié le 20200814

Description Titre de l'invention : Traitement de données contenues dans une requête par un serveur au sein de réseau de télécommunication [0001] L'invention est relative au domaine général des serveurs applicatifs. En particulier, l'invention concerne un serveur applicatif permettant de traiter des données transmises par une requête provenant d'un terminal de télécommunication afin d'effectuer une tache d'analyse de ces données en vue de classification, de recherche d'information, de prédiction, de complétion, etc. [0002] Contexte de l'invention [0003] L'analyse de données recouvre un ensemble de problématiques distinctes telles que la classification automatique, la recherche d'information, la prédiction/complétion de données, la sélection des données utiles à la prédiction, etc. [0004] Chacune de ces problématiques correspond à des domaines d'application distincts. Ainsi, la recherche d'informations concerne notamment les moteurs de recherche sur le web; la classification automatique peut concerner l'analyse de flux de notification émanant de dispositifs de télécommunication afin d'y déceler des schéma-types de comportement et prédire d'éventuels anomalies, etc. [0005] Aussi, chaque type de problématique a fait l'objet de recherches de solutions indé- pendantes. [0006] La classification automatique est généralement mise en oeuvre par des méthodes telles que les "K plus proches voisins", Naïves Bayes, SVM ("Support Vector Machine [0007] La recherche d'information est généralement mise en oeuvre par des méthodes basées sur le modèle de l'espace vectoriel, Okapi-BM25, des modèles de langues, des modèles informationnels, etc. [0008] La complétion/prédiction est généralement mise en oeuvre par des méthodes telles que la construction automatique de thésaurus, l'extension de requête, les réseaux bayésiens, les règles d'association, etc. [0009] La sélection de descripteurs est généralement mise en oeuvre par des algorithmes s'appuyant sur des mesures d'information mutuelle ou des algorithmes de sélection dédiés comme FOCUS, RELIEF, OBLIVION... [0010] Or la multiplication des algorithmes mises en oeuvre au sein d'une application lo- gicielle ou d'un groupe d'applications logicielles déployées sur un serveur applicatif complexifie les coûts de mise en place et les coûts de maintenance, notamment en cas d'évolution du système. Résumé de l'invention 100111 Le but de la présente invention est de fournir des solutions palliant au moins par- 2 tiellement les inconvénients précités. [0012] A cette fin, la présente invention propose un procédé de traitement par un serveur ap- plicatif de requêtes transmises au travers d'un réseau de télécommunication par un terminal de télécommunication, comportant des étapes de - mise en forme des données contenues dans ladite requête sous la forme d'au moins un descripteur associant un identifiant d'attribut et une valeur parmi un ensemble fini de valeurs possibles pour ledit attribut; - sélection d'un sous-ensemble d'un réseau de données dans lequel chaque noeud du sous-ensemble correspond à l'un desdits au moins un descripteur; [0013] calcul pour chaque noeud connecté à un noeud dudit sous-ensemble d'une valeur d'écho combinant un premier facteur mesurant le lien dudit noeud connecté avec les noeuds dudit sous-ensemble, et un second facteur mesurant un lien spécifique entre ledit noeud connecté et les noeuds dudit sous-ensemble par rapport aux noeuds dudit réseau de données n'appartenant pas audit sous-ensemble; [0014] détermination d'un second sous-ensemble de noeuds en fonction des valeurs res- pectives de ladite fonction d'écho [0015] transmission d'un message d'une réponse audit terminal de télécommunication, contenant des données associées audit second sous-ensemble de noeuds. [0016] Suivant des modes de réalisation préférés, l'invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : [0017] ledit réseau est construit de façon incrémentale lors d'une phase d'apprentissage en, pour chaque nouvelle observation comprenant un ensemble de descripteurs associant un identifiant d'attribut et une valeur parmi un ensemble fini de valeurs possibles pour ledit attribut, créant un nouveau noeud dans ledit réseau pour chaque descripteur dudit ensemble ne correspondant pas déjà à un noeud dudit réseau ; incrémentant des poids associés à chaque noeud dudit réseau correspondant à un descripteur dudit ensemble ; incrémentant des poids associés aux liens entre les paires de noeuds correspondants à des descripteurs dudit ensemble ; [0018] le réseau est construit, dans une phase d'apprentissage adaptée pour le parti- tionnement automatique des données dans des classes, en créant des noeuds correspondant à des classes, l'ensemble desdites classes formant une partition desdites données. [0019] ledit réseau est construit, lors d'une phase d'apprentissage, en itérant jusqu'à convergence et pour chaque observation comprenant un ensemble de descripteurs associant un identifiant d'attribut et une valeur parmi un ensemble fini de valeurs 3 possibles pour ledit attribut, des étapes comprenant : - le calcul d'une valeur d'écho pour ladite observation envers chaque classe; et détermination du noeud correspondant à une classe correspondant à la valeur d'écho la plus élevée ; si ladite valeur d'écho est inférieure à un seuil prédéterminé, la création d'un noeud correspondant à une nouvelle classe et association de ladite observation audit noeud correspondant à ladite nouvelle classe ; sinon, et si l'observation considérée est déjà associée à un noeud correspondant à une autre classe, alors la modification de ladite association afin d'associer ladite observation considérée audit noeud correspondant à la valeur d'écho la plus élevée ; dans lequel l'association d'une observation à un noeud correspondant à une classe comprend : [0020] la création d'un nouveau noeud pour chaque descripteur dudit ensemble de des- cripteurs ne correspondant pas déjà à un noeud dudit réseau ; [0021] l'incrémentation des poids associés à chaque noeud dudit réseau correspondant à un descripteur dudit ensemble; et du poids associé audit noeud correspondant à ladite classe ; et [0022] l'incrémentation des poids associés aux liens entre les noeuds dudit réseau cor- respondant à un descripteur dudit ensemble et ledit noeud correspondant à ladite classe. [0023] la phase d'apprentissage (PA) comprend une étape préalable de tri des observations dudit ensemble d'apprentissage. [0024] ladite valeur d'écho pour un noeud considéré C est calculée par l'expression [0025] [Math.1] k 2 - p kr E(C, n1... nk) = =1 X a(n )x Pn -1( .] x 1=1 1 a(n )x Pc I dans laquelle n, ...th représentent les k noeuds dudit sous-ensemble ; a(n1) est l'activation du noeud n, et Pc,,, et P,,,c sont les proportions d'activation du noeud C, res- pectivement n,, propagée au noeud n,, respectivement C ; et p est un paramètre. [0026] les proportions d'activations Pnq sont calculées par l'expression : [0027] [Math.2] FA n-FB. F,1_15 ,st 1.1 A-B 0; sinon avec F4,4>,3=CAB/s(A) et FB=s(B)/Q, et CAB désignant le poids associé au lien entre les noeuds A et B ; s(A) et s(B) les poids associés respectivement aux noeuds A et B ; et Q représente le nombre total de d'observations traitées pendant la phase d'apprentissage ; [0028] les activations sont déterminés en fonction d'un degré de remplissage d'un critère FB pour la mise en correspondance des noeuds dudit sous-ensemble avec l'un (lesdits au moins un descripteur lors de l'étape de sélection. [0029] Un autre aspect de l'invention concerne un serveur au sein d'un réseau de télécom- munication, comportant des moyens pour mettre en oeuvre le procédé tel que précédem ment décrit. [0030] Un autre aspect de l'invention concerne un système comportant un serveur tel que précédemment décrit et un terminal de télécommunication [0031] Ainsi, selon l'invention, un même algorithme permet de résoudre un ensemble de problématiques. Dès lors, une unique application peut être déployée afin de résoudre cet ensemble de problématiques. D'une part, les coûts de déploiement ainsi que de maintenance peuvent être réduit, mais également une telle solution permet de faciliter le développement des applications déployées sur les terminaux de télécommunication puisqu'elles n'auront qu'un seul serveur applicatif à adresser et un unique protocole de communication à utiliser. [0032] En outre, comme il sera détaillé plus tard, l'invention présente plusieurs autres avantages, notamment ceux de présenter de très bonnes performances par rapport aux propositions de l'état de la technique, pour chacune des problématiques considérées. [0033] D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit d'un mode de réalisation préféré de l'invention, donnée à titre d'exemple et en référence aux dessins annexés. Brève description des dessins [0034] [fig.1] représente schématiquement un exemple de contexte dans lequel l'invention peut s'insérer selon un mode de réalisation. [0035] [fig.2] représente schématiquement un exemple d'organigramme selon un mode de réalisation de l'invention. [0036] [fig.3] représente schématiquement un exemple de réseau de données selon un mode de réalisation de l'invention. [0037] [fig.4] représente schématiquement un exemple de réseau de données selon un autre mode de réalisation de l'invention. Description détaillée de l'invention 100381 L'invention s'applique particulièrement au contexte d'une application logicielle déployée sur un serveur ou sur une plateforme de virtualisation (appelée communément "cloud" ou nuage qui peut être mise en oeuvre sur une ferme de serveurs) et accessible à un ensemble de terminaux de communication via un réseau de télécommunication de type ''Intemet". 100391 La figure 1 illustre un tel contexte. 100401 Des terminaux de télécommunication 11, 12, 13 de différentes natures peuvent accéder à un serveur applicatif 20 via le réseau de télécommunication 30. Ces terminaux peuvent être des ordinateurs fixes ou portables, des terminaux mobiles de type "smartphone", des tablettes, des objets connectés, etc. [0041] Ils peuvent accéder au réseau de télécommunication 30 à travers un ou plusieurs autres réseaux notamment des réseaux d'accès mobiles, des réseaux locaux, etc. Ces aspects d'implémentation ne sont ni détaillés ici, ni représentés sur la figure 1 car extérieurs à la présente invention. [0042] Le serveur applicatif 20 peut être compris dans son acceptation la plus générale comme toute entité fonctionnelle visible et adressable par les terminaux de télécommunication et rendant des services. Il peut s'agir d'un service accessible via le web, par exemple, ou par tout autre moyen protocolaire existant ou à venir. Comme évoqué plus haut, un tel service applicatif peut être déployé sur un serveur unique ou sur une ferme de serveurs, éventuellement par le truchement d'une plateforme d'abstraction de type " cloud". Là encore, les détails d'implémentation sont considérés comme en dehors de la présente invention et ne seront donc pas davantage présentés ici. [0043] Selon l'invention, une unique application 21 est déployée sur le serveur applicatif 20 contenant les moyens pour mettre en oeuvre l'invention. Bien évidemment, d'autres modules logiciels peuvent être déployés sur le serveur applicatif (système d'exploitation, outils d'administration, ou autres applications sans liens directs avec l'invention, etc.). Cette unique application 21 est rendue accessible aux terminaux de télécommunication 11, 12, 13. Elle est configurée pour permettre de rendre une pluralité de services comprenant notamment un partionnement de données, une classification automatique et une recherche d'informations. Elle peut également être configurée pour permettre de rendre des services de complétion ou prédiction de donnée, ainsi qu'une sélection de descripteur. [0044] Selon l'invention, ces différents services sont rendus par l'application 21 au moyen d'un unique algorithme. [0045] Cet unique algorithme peut ainsi se substituer à une pluralité d'algorithmes, chacun dédié à une problématique particulière selon l'état de la technique. D'une façon très générale, l'invention repose sur une formalisation algorithmique particulière de la notion de "pertinence" qui est suffisamment générale pour s'appliquer à des problèmes différents tels que la classification automatique, la recherche d'informations, ou encore la complétion/prédiction de données ou la sélection de descripteurs. Le fait même de considérer ces différents problèmes, habituellement considérés différemment dans l'état de la technique et comme nécessitant des solutions diverses, est disruptif par rapport aux études antérieures et constitue un élément fortement distinctif de l'invention. [0046] Selon une mise en oeuvre de l'invention, la méthode repose sur un mécanisme 6 d'apprentissage automatique qui peut être supervisé ou non supervisé. [0047] On peut donc distinguer une phase fonctionnelle d'apprentissage et une phase fonc- tionnelle d'exploitation. Ces deux phases peuvent partiellement avoir lieu de façon concomitante, c'est à dire que chaque requête pendant la phase d'exploitation peut également servir à enrichir le réseau de donnée (apprentissage). [0048] On appelle « observations », les données traitées par la méthode selon l'invention. Chaque observation correspond à la description d'une entité dont la nature dépend du domaine d'application de l'invention. Chaque observation est définie au moyen d'un ensemble de couples attribut / valeur appelés « descripteurs ». [0049] Dans une première étape Sl, les données sont mises en forme à la fois pour la phase d'apprentissage PA, et la phase d'exploitation PE. [0050] Cette mise en forme consiste à organiser chaque observation comme un ensemble de descripteurs, chacun associant un identifiant d'attribut et une valeur parmi un ensemble fini de valeurs possibles pour cet attribut. [0051] Autrement dit, les attributs sont discrétisés si nécessaires, par exemple en subdivisant un ensemble continu de valeurs possibles pour cet attribut en intervalle et en associant une valeur symbolique discrète pour chaque intervalle. [0052] La phase d'apprentissage PA consiste principalement à construire un réseau de données modélisant l'ensemble d'observations soumis. Ce réseau associe les descripteurs de l'ensemble des observations, chaque descripteur formant un noeud du réseau et la modélisation résidant dans les liens entre ces noeuds et dans des poids associés aux noeuds et aux liens. [0053] Selon un mode de réalisation de l'invention, la phase d'apprentissage PA est su- pervisée. La construction du réseau est incrémentale. Le réseau peut être initialement vide (0 noeud, poids associés aux noeuds et liens égaux à 0). [0054] Pour chaque nouvelle observation, [0055] on créé, dans une étape S2, un nouveau noeud dans ce réseau pour chaque descripteur de l'observation ne correspondant pas déjà à un noeud du réseau ; [0056] on incrémente, S3, des poids associés à chaque noeud dudit réseau correspondant à un descripteur l'observation ; [0057] on incrémente, S4, des poids associés aux liens entre les paires de noeuds corres- pondants à des descripteurs de l'observation ; [0058] La figure 3 illustre un exemple simple de réseau construit selon un mode de réa- lisation de l'invention. [0059] On suppose le réseau de donnée initialement vide, et la présentation de 3 ob- servations correspondant chacune à 3 figures géométriques : [0060] figure 1 : grand cercle blanc [0061] figure 2 : petit cané blanc 7 [0062] figure 3 : petit et blanc [0063] Pour chaque observation, prise de façon incrémentale, on crée donc un noeud pour chaque descripteur correspondant à un couple attribut / valeur d'attribut. Quand dans une même observation, deux descripteurs sont présents, on crée un lien entre eux dans le réseau. [0064] Ainsi, à la première observation correspondent 4 descripteurs, qui, sous le format (identifiant de l'attribut, valeur de l'attribut) sont : (figure, 1), (taille, grand), (forme, cercle), (couleur, blanc). Des noeuds correspondant, figure 1, taille grand, forme cercle et couleur blanc, sont donc créés, avec un poids égal à 1. De même, des liens sont créés entre chaque paire de ces noeuds, avec un poids associé égal à 1 également. [0065] À la seconde observation correspond 4 descripteurs : (figure, 2), (taille, petit), (forme, carré), (couleur, blanc). Les descripteurs (figure, 2), (taille, petit), (forme, carré) ne correspondent pas à des noeuds déjà existants dans le réseau. Des nouveaux noeuds sont donc créés, respectivement figure 2, taille petit, forme carré, avec un poids associé de 1. Le descripteur (couleur, blanc) est par contre déjà présent dans le réseau. Le poids associé est donc simplement incrémenté d'une unité. Les liens entre chacun de ces 4 descripteurs sont créés le cas échéant et voient leur poids incrémentés d'une unité. [0066] La figure 3 illustre le réseau une fois les 3 observations traitées. Les chiffres entre pa- renthèses représentent les poids associés aux noeuds et les poids à côté des lignes représentent les poids associés aux liens respectifs entre deux noeuds. [0067] Selon un mode de réalisation de l'invention, les poids représentent donc le nombre d'occurrences de chaque descripteur dans l'ensemble des observations soumises et le nombre d'occurrences d'une même paire de descripteurs dans une même observation pour l'ensemble des observations. [0068] D'autres modes de réalisation consistent à faire évoluer les poids par d'autres méthodes, notamment par exemple en utilisant la règle de Hebb. Cette règle est une règle d'apprentissage classique des réseaux de neurones artificiels, formulée par Donald Hebb en 1949. [0069] Elle peut être formulée pal- l'expression CAE(k-F1)=CAB(k)+a(A).a(B) [0070] dans laquelle CAB(k+1) et CAB(k) représentent respectivement le poids du lien entre les noeuds A et B à l'itération k+1 et k, et a(A) et a(B) désignent respectivement les activations des noeuds A et B. Les activations sont déterminées en fonction d'un degré de remplissage d'un critère pour la mise en correspondance des noeuds du sous-ensemble avec l'un au moins des descripteurs lors de l'étape de sélection. Cette notion d'activation sera davantage détaillée plus loin. [0071] On itère ensuite, S5, s'il reste d'autres observations à traiter dans la phase 8 d'apprentissage PA. [0072] Ainsi, à chaque présentation d'une nouvelle observation, le réseau est simplement mis à jour sans qu'il soit nécessaire de tout reconstruire. [0073] Il est également possible de « désapprendre » une observation, c'est-à-dire de retirer l'influence d'une observation préalablement apprise, en adaptant les étapes S2-S4: il suffit ainsi de décrémenter les poids des descripteurs et liens pour cette observation (ou de calculer les évolutions de poids selon la règle de Hcbb), et d'éventuellement supprimer les liens et les noeuds si leurs poids respectifs tombent à zéro. [0074] La méthode d'apprentissage est donc particulièrement flexible et peu coûteuse à mettre en oeuvre. Elle permet d'ajouter ou retirer des données dans des temps très courts. [0075] Dans la phase d'exploitation, PE, une étape S1 de mise en forme de données peut être mise en oeuvre de la même façon que lors de la phase d'apprentissage PA. Les différents termes de la requête reçue peuvent ainsi être transformés en autant de descripteurs. [0076] L'exploitation du réseau préalablement construit permet de répondre à différents problèmes de sélection d'information. [0077] En reprenant l'exemple illustré par la figure 3, si la requête contient deux descripteurs (forme, carré) et (couleur blanc), on peut obtenir la liste ordonnée des figures pertinentes (recherche d'information) ou des tailles pertinentes (complétion/prédiction ou classification si la classe à prédire est la taille). [0078] La phase d'exploitation comprend une étape de sélection, 56, d'un sous-ensemble du réseau dans lequel chaque noeud du sous-ensemble correspond à l'un des descripteurs correspondants à la requête. [0079] Dans l'exemple ci-dessus, les noeuds fonne_can-é et couleur_blanc forment donc ce sous ensemble. [0080] Selon un mode de réalisation de l'invention, la sélection peut se baser sur des corres- pondances partielles. Ainsi, on peut sélectionner un noeud correspondant partiellement à l'un des descripteurs de la requête. On peut alors affecter à ce noeud N une valeur d'activation a(N) qui soit fonction d'une mesure de remplissage de ce critère. [0081] Si on reprend l'exemple de la figure 3, une requête contenant le descripteur (taille, moyenne) pourra par exemple activer les noeuds taille_grande et taille_petite avec un degré d'activation à 0,5 (en supposant qu'il n'existe pas de noeud taille_moyenne). [0082] Ces degrés d'activation peuvent également permettre de traduire des imprécisions ou des incertitudes en distribuant des degrés d'activation sur l'ensemble des descripteurs possibles. [0083] L'étape suivante est une étape de calcul, S7, d'une valeur d'écho pour chaque noeud connecté à un noeud de ce sous-ensemble. Le calcul de la valeur d'écho combine un 9 premier facteur mesurant le lien de ce noeud considéré avec tous les noeuds du sous-ensemble, et un second facteur mesurant un lien spécifique entre ce noeud considéré et tous les noeuds du sous-ensemble par rapport aux noeuds du réseau de données n'appartenant pas à ce sous-ensemble. [0084] Cette combinaison est typiquement un produit de ces deux facteurs. Chaque facteur peut consister en une somme, sur tous les noeuds du sous-ensemble précédemment sélectionné, de leurs contributions individuelles vis-à-vis du noeud considéré. [0085] L'écho est une mesure de pertinence novatrice dont l'invention tire une partie de son originalité. Elle ne correspond à aucune mesure connue en recherche d'information ou en classification automatique. [0086] Par ailleurs, la comparaison de la mesure d'écho avec les fonctions de calcul de score d'un document pour une requête utilisés dans les modèles de recherche d'information (Modèle de l'espace vectoriel ou modèles probabilistes ou modèle de langues) révèle une différence majeure : en effet, si on développe le produit des deux facteurs présents dans le calcul de l'écho, on fait apparaître une somme de termes dont certains sont composés de poids relatifs à des termes d'indexation différents. Le calcul du score d'un document pour une requête ne se résume donc pas à agréger individuellement le poids des termes de termes d'indexation. L'impact de la présence d'un terme de la requête dans le calcul du score d'un document vis à vis d'une requête dépend donc fortement de la présence des autres termes de la requête. La mesure est donc globale et ne peut donc pas se réduire à la prise en compte individuelle des termes d'indexation. [0087] De même, de nombreuses méthodes de classification automatiques sont basées sur des mesures de distance (K plus proches voisins, méthode des centroïdes...). Contrairement à ces méthodes et pour les mêmes raisons que celles explicitées pour la recherche d'information, l'impact dans le calcul d'écho de la présence d'une propriété de l'observation à classer dépend de la présence des autres propriétés. Il ne s'agit donc pas non plus de sommer les poids comme dans le cas des mesures de distance souvent utilisées. [0088] Selon un mode de réalisation, la valeur d'écho pour un noeud considéré C peut ainsi se calculer par l'expression [0089] [Math.3] E(C, ri ) k. = a ( n x P C n x P P 2 \ :2 1 \ C - il - [0090] dans laquelle n,...nk représentent les k noeuds dudit sous-ensemble ; a(ni) est l'activation du noeud ni et Prti et PniAc sont les proportions d'activation du noeud C, respectivement ni, propagées au noeud ni, respectivement C ; et p est un paramètre. [0091] Le paramètre p peut être défini a priori (selon la nature connue du problème, notamment), ou appris automatiquement. Il peut être égal à 1, afin que les deux contributions soient équilibrées. [0092] Selon un mode de réalisation, les proportions d'activations PA*, peuvent être calculées par l'expression : [0093] [Math.4] f FAH-, - st FA-R > FR PA-t ) 0; sinon avec FAAB=CAB/s(A) et FB=s(B)/52 et CAB désigne le nombre d'observations contenant à la fois les descripteurs correspondant aux noeuds A et B s(A) et s(B) les poids associés respectivement aux noeuds A et B (c'est-à-dire les nombres d'observations contenant les descripteurs correspondant à ces deux noeuds) ; et Q représente le nombre total d'observations modélisées dans le réseau de donnée. 100941 Ainsi, un élément clé qui rend la méthode efficace, tant en termes de qualité du résultat qu'en termes de temps de calcul, est ce calcul de l'écho s'appuyant sur un mode de calcul particulier de la propagation de l'activation dans le réseau. Ce calcul consiste à évaluer une quantité d'activité retournée aux sources d'activation (d'où ce nom d'« écho ») pour chacun des noeuds connectés aux noeuds sources d'activation (c'est-à-dire deux correspondant aux descripteurs correspondant à la requête). 100951 Ainsi, si on reprend l'exemple précédemment présenté, on a comme sous-ensemble sélectionné les noeuds forme carré et couleur blanc. 100961 11 faut alors considérer les noeuds connectés à l'un au moins de ces deux noeuds et calculer leur valeur d'écho. 100971 Ainsi pour le noeud taille petit (connecté au noeud couleur blanc), on peut calculer (avec la valeur du paramètre p fixée à 1): Echo(taille petit, forme carré et couleur blanc) = I a(forme carré).Pforrii,,..,4>fmnie_pea + a(couleur P blanc1 z-- eouleur_blanc*Laille_peLiL x 1a(forme carré).praine_perittonfie_curre + a(couleur touleur_bin I [0098] avec Pcouleur_blancleutille_pedL = (Peau leur_blancleutille_peLiL-Fulille_peLD/Fuouleur_blaneetaille _peth si FLOLlleur_blaneleLaille_pedL>Fraille_petiL Pfurrne_Larre.taille_peth = (Fronne_carreefonne_c le-Ffunne_cenle)iffonue_earre forme_unde S fonne_carreetaille_pedL>FLaille_peLit PLaille_peLiLleeouleur_blanc = (Futille_pedL efreouleur_blanc-Fcou leta_blanc)/FLaille_peit 4k: uuleur_blane S f taille_petiL.UOLIteur_blani>FLouleur_blaric PLaille_peLiLlefountu"uTé = (Fraille_periteforrne_wrré-Efonue_carreYFLaille_peLitefurine_carré si f taille_petiLlefoune_earé>Fforme_cané 11 [0099] En reprenant les valeurs numériques de la figure 3, on a : Feouleue_ur 'e -Larlle _petat = 2 / 3 = Fuldie_peLiL Fruppe_c,'e4tilie _peu, = 1/1=1 Fualle_peLiL ecouleta_bi,', = 2 / 2 = 1 = Feoeieee_ur 'e = 1/2 = 3/3 =1 FLaille_pedL = 2/3 [0100] Et donc Peouleur_blancleraille _perir = 0 Pfunne_uarreletaille_peth = (1-2/3)/(2/3)=0,5 PLaillepedLetmleur_blanu = 0 PLaille_pedL efonuu_carré -(1/2 - 1/3)1(1/3)=0,5 [0101] Et donc l'écho pour le noeud taille-petit vaut a(coulcur blanc)/2 au carré , soit atcouleur blancra(couleur blanc)/4 [0102] Dans une étape S8, on peut exploiter les valeurs d'échos précédemment calculées pour déterminer un second sous-ensemble de noeuds. Cc sous-ensemble de noeuds peut par exemple consister à tous les noeuds dont la valeur d'écho est positive, par exemple, ou bien supérieure à un certain seuil, ou bien encore ne consister qu'en les N plus grandes valeurs d'écho ; le seuil et la valeur N étant préalablement définis en fonction de la problématique à résoudre. Ce paramètre N peut être éventuellement fixé à 1, afin qu'uniquement le noeud correspondant au plus fort écho soit sélectionné. [0103] Ce sous-ensemble de noeud peut en outre être ordonné en fonction des valeurs d'échos respectives. [0104] Le serveur peut ensuite transmettre un message au terminal de télécommunication à l'origine de la requête, contenant des données associées au sous-ensemble de noeuds ainsi déterminé. [0105] Selon un mode de réalisation de l'invention, un apprentissage non supervisé peut être mis en oeuvre afin de permettre la classification automatique et le « clustering » ou partitionnement des données (création automatique des classes). Ce mode de fonctionnement permet d'organiser les données en créant des groupes sur la base d'une valeur d'écho. Selon un seuil d'écho minimal prédéterminé, le nombre de groupes constitués peut être plus ou moins important, chaque groupe contenant alors plus ou moins de données, ce qui permet d'avoir différents niveaux de granularité. [0106] Selon un mode de réalisation de l'invention, préalablement à la construction du réseau de données, les observations peuvent être triées en fonction d'un critère de ressemblance des observations avec une autre observation de l'ensemble d'apprentissage. Cette ressemblance est mesurée selon l'écho tel que précédemment défini. Les ob- 12 servations ayant les ressemblances les plus faibles avec une autre observation sont placées en premier d'une liste ordonnée d'observations qui pourra ensuite être présenté en entrée des étapes de construction du réseau de données. [0107] Ce tri peut être mis en oeuvre, notamment, par les étapes suivantes: 1 - création d'un réseau de données annexe correspondant à une situation où l'on considère une classe par observation. La façon de construire un tel réseau sera explicité plus loin. 2 - calcul pour chaque observation des valeurs d'écho entre cette observation et les classes autres que celle associée à cette observation, et choix, pour chaque observation, de la valeur d'écho la plus élevée; 3 - tri des observations en fonction des valeurs d'échos respectivement choisies. [0108] Cette étape de tri, optionnelle, permet d'optimiser les performances de la phase d'apprentissage, PA. [0109] Les observations d'un ensemble d'apprentissage (préalablement trié ou non) sont utilisées pour une création itérative d'un réseau de données. Ce réseau représente un modèle du flux d'observation soumis. [0110] Contrairement au procédé supervisé précédemment décrit, les classes ne sont ici pas connues, et la méthode, selon ce mode de réalisation, consiste donc à créer dynamiquement les classes pertinentes. [0111] Selon un mode de réalisation, le réseau est construit en créant des noeuds cor- respondant à des classes. L'ensemble des classes forme une partition des données traitées, c'est-à-dire que chaque observation est associée à une unique classe. [0112] Pour ce faire, selon un mode de réalisation, on itère jusqu'à convergence et pour chaque observation (qui comprend, comme on l'a vu, un ensemble de descripteurs associant un identifiant d'attribut et une valeur parmi un ensemble fini de valeurs possibles pour cet attribut), des étapes comprenant : [0113] le calcul d'une valeur d'écho pour ladite observation envers chaque classe; et la déter- mination du noeud correspondant à une classe correspondant à la valeur d'écho la plus élevée; [0114] si cette valeur d'écho est inférieure à un seuil prédéterminé, la création d'un noeud correspondant à une nouvelle classe et l'association de cette observation au noeud correspondant à la nouvelle classe; [0115] sinon, et si l'observation considérée est déjà associée à un noeud correspondant à une autre classe, alors la modification de cette association afin d'associer l'observation considérée au noeud correspondant à la valeur d'écho la plus élevée. [0116] Bien sûr, si l'observation considérée était déjà liée au noeud correspondant à la plus forte valeur d'écho, cette association est conservée. [0117] La convergence peut être atteinte lorsque le réseau n'évolue plus (les observations 13 restent associées aux mêmes noeuds), ou plus de façon suffisamment sensible. Un critère d'arrêt peut être défini. [0118] Selon une mise en oeuvre, l'association d'une observation à un noeud correspondant à une classe est mise en oeuvre de façon similaire à l'algorithme précédemment décrit. [0119] En particulier, cette association comprendre les étapes de : [0120] création d'un nouveau noeud pour chaque descripteur de l'ensemble des descripteurs de l'observation ne correspondant pas déjà à un noeud du réseau; [0121] l'incrémentation des poids associés à chaque noeud du réseau correspondant à un des- cripteur de l'ensemble des descripteurs de l'observation, et du poids associé au noeud correspondant à cette classe; et [0122] l'incrémentation des poids associés aux liens entre les noeuds correspondant à l'ensemble des descripteurs de l'observation et le noeud correspondant à cette classe. [0123] Les calculs d'écho sont tout à fait identiques à ceux précédemment décrits [0124] La figure 4 illustre un exemple de réseau de données comprenant 3 noeuds Cl, C2, C3, correspondant à des classes et 5 descripteurs dl, d2, d3, d4, [0125] Les poids des liens correspondent au nombre d'observations associées à la classe en question et contenant le descripteur. Le nombre d'occurrences de chaque descripteur et de chaque classe est également stocké en association avec chaque noeud du réseau, et est représenté par un chiffre entre parenthèses sur la figure 4. [0126] Le réseau ainsi créé peut être considéré comme un réseau à deux couches, avec une couche correspondant aux descripteurs (en bas sur la figure 4) et une couche correspondant aux classes (en haut sur la figure 4). [0127] Cette mise en oeuvre non supervisé permet de déterminer des classes sans préjuger a priori de leur nombre. [0128] Ainsi, l'algorithme des K-moyennes s'appuie sur un nombre de centres (les moyennes) pour définir le nombre de classes, tandis que cette mise en oeuvre de l'invention s'appuie sur un seuil. Il n'est ainsi pas nécessaire de définir dès le départ des centres et ainsi de ne pas biaiser le processus de construction des classes par ces aprioris. [0129] En outre, l'écho permet une mesure globale de l'appartenance d'une observation à une classe. Les résultats sont ainsi meilleurs qu'avec d'autres méthodes telles que notamment les K-moyennes. [0130] En outre, la méthode ne dépend pas non plus de choix de paramètres comme le choix d'une mesure de distance. [0131] L'étape de tri préalable permet d'encore améliorer les performances en permettant une stabilité plus importante. [0132] Des tests ont été effectués pour comparer la performance de cette mise en oeuvre de l'invention, appelée « ECHO », avec une méthode dite de classification ascendante hié- 14 rarchique (CAH). Cette méthode présente des résultats meilleurs que les K-moyennes sur les jeux de données testés. Elle est présentée par exemple sur la page Wikipédia: https://fr.wikipedia.org/wiki/Regroupement_hi%C3%A9rarchique [0133] En moyenne, on obtient, sur des ensembles de jeux tests, une performance autour de 91.5% de réponses correctes pour l'algorithme ECHO contre 63.82% pour l'algorithme CAH. [0134] Les jeux de test sont des corpus classiquement utilisés pour tester les systèmes et méthodes de partitionnement de documents textuels. [0135] Les chiffres indiquent les pourcentages de réponses correctes. [0136] On ne trouve dans la littérature aucun résultat équivalent aux résultats produits par la méthode selon ce mode de réalisation de l'invention sur ces jeux de données. [0137] D'une façon générale, l'invention, selon ses mises en oeuvre, permet de représenter et de gérer de façon inhérente, les imprécisions ou incertitudes des données. En effet, les degrés d'activation permettent de traduire des situations dans lesquelles une propriété peut être partiellement ou possihlement portée par un exemple. [0138] Selon la mise en oeuvre supervisée, la méthode d'apprentissage est simple et in- crémentale : il n'est pas nécessaire de tout reconstruire, notamment le réseau de données, à chaque nouvelle donnée à « apprendre ». La méthode permet donc d'ajouter ou de retirer des données dans des temps très courts. [0139] En outre, les temps de traitement (dans la phase d'intégration des données et celle de sélection) sont relativement courts. La méthode permet ainsi le traitement de gros volumes de données. La complexité moyenne pour la prise en compte d'un ensemble d'observation est en 0(e p2) où n correspond au nombre d'exemples et p correspond au nombre de descripteurs dans chaque exemple (gestion des connexions entre descripteurs pris deux à deux). La complexité moyenne dans la phase d'exploitation est en 0(eync) où p correspond au nombre de descripteurs dans la requête et ne correspond au nombre moyen de connexions par descripteur. [0140] Bien entendu, la présente invention n'est pas limitée aux exemples et au mode de réa- lisation décrits et représentés, mais elle est susceptible de nombreuses variantes accessibles à l'homme de l'art. [Revendication 1] REVENDICATIONSProcédé de traitement par un serveur applicatif de requêtes transmises au travers d'un réseau de télécommunication par un terminal dc télécommunication, comportant des étapes dc - mise en forme (SI) des données contenues dans ladite requête sous la forme d'au moins un descripteur associant un identifiant d'attribut et unc valeur parmi un ensemble fini de valeurs possibles pour ledit attribut; - sélection (S6) d'un sous-ensemble d'un réseau de données dans lequel chaque noeud du sous-ensemble correspond à l'un desdits au moins un descripteur; calcul (S7) pour chaque noeud connecté à un noeud dudit sous-ensemble d'une valeur d'écho combinant un premier facteur mesurant le lien dudit noeud connecté avec les noeuds dudit sous-ensemble, et un second facteur mesurant un lien spécifique entre ledit noeud connecté et les noeuds dudit sous-ensemble par rapport aux noeuds dudit réseau de données n'appartenant pas audit sous-ensemble; détermination (S8) d'un second sous-ensemble de noeuds en fonction des valeurs respectives de ladite fonction d'écho transmission d'un message d'une réponse audit terminal de télécommunication, contenant des données associées audit second sous-ensemble de noeuds. [Revendication 2] Procédé selon la revendication précédente, dans lequel ledit réseau est construit de façon incrémentale lors d'une phase d'apprentissage (PA) en, pour chaque nouvelle observation comprenant un ensemble de descripteurs associant un identifiant d'attribut et une valeur parmi un ensemble fini de valeurs possibles pour ledit attribut, créant (S2) un nouveau noeud dans ledit réseau pour chaque descripteur dudit ensemble ne correspondant pas déjà à un noeud dudit réseau ; incrémentant (S3) des poids associés à chaque noeud dudit réseau correspondant à un descripteur dudit ensemble ; incrémentant (S4) des poids associés aux liens entre les paires de noeuds correspondants à (les descripteurs dudit ensemble ; 16 [Revendication 3] [Revendication 4] Procédé selon la revendication 1, dans lequel le réseau est construit, dans unc phase d'apprentissage (PA) adaptée pour le partitionncmcnt automatique des données dans des classes, en créant des noeuds correspondant à des classes, l'ensemble dcsditcs classes formant une partition dcsditcs données. Procédé selon la revendication précédente, dans lequel ledit réseau est construit, lors d'unc phase d'apprentissage (PA), en itérant jusqu'à convergence et pour chaque observation comprenant un ensemble de descripteurs associant un identifiant d'attribut et une valeur parmi un ensemble fini de valeurs possibles pour ledit attribut, des étapes comprenant : le calcul d'une valeur d'écho pour ladite observation envers chaque classe; et détermination du noeud correspondant à une classe correspondant à la valeur d'écho la plus élevée ; si ladite valeur d'écho est inférieure à un seuil prédéterminé, la création d'un noeud correspondant à une nouvelle classe et association de ladite observation audit noeud correspondant à ladite nouvelle classe ; sinon, et si l'observation considérée est déjà associée à un noeud correspondant à une autre classe, alors la modification de ladite association afin d'associer ladite observation considérée audit noeud correspondant à la valeur d'écho la plus élevée ; dans lequel l'association d'une observation à un noeud correspondant à une classe comprend : la création d'un nouveau noeud pour chaque descripteur dudit ensemble de descripteurs ne correspondant pas déjà à un noeud dudit réseau ; l'incrémentation des poids associés à chaque noeud dudit réseau correspondant à un descripteur dudit ensemble; et du poids associé audit noeud correspondant à ladite classe ; et l'incrémentation des poids associés aux liens entre les noeuds dudit réseau correspondant à un descripteur dudit ensemble et ledit noeud correspondant à ladite classe. 17 [Revendication 5] [Revendication 6] [Revendication 7] Procédé selon la revendication précédente, dans lequel la phase d'apprentissage (PA) comprend une étape préalable de tri des observations dudit ensemble d'apprentissage. Procédé selon l'une des revendications précédentes, dans lequel ladite valeur d'écho pour un noeud considéré C est calculée par l'expression [Math.5] 2 - p E(C, n 1 ... nk) P x api i)x P,. dans laquelle m...nk représentent les k noeuds dudit sous-ensemble ; a(ni ) est l'activation du noeud ni et Pli et Phic sont les proportions d'activation du noeud C, respectivement ni, propagée au noeud n respectivement C ; et p est un paramètre. Procédé selon la revendication précédente, dans lequel les proportions d'activations l'AB sont calculées par l'expression : [Math.6] ]'' [Revendication 8] [Revendication 9] [Revendication 10] avec FAAB=CAB/s(A) et FB=s(B)/52 ; et CAB désignant le poids associé au lien entre les noeuds A et B ; s(A) et s(B) les poids associés respectivement aux noeuds A et B ; et Q représente le nombre total de d'observations traitées pendant la phase d'apprentissage (PA). Procédé selon la revendication 3 ou 4 dans lequel les activations sont déterminés en fonction d'un degré de remplissage d'un critère pour la mise en correspondance des noeuds dudit sous-ensemble avec l'un desdits au moins un descripteur lors de l'étape de sélection. Serveur au sein d'un réseau de télécommunication, comportant des moyens pour mettre en oeuvre le procédé selon l'une des revendications 1 à8. Système comportant un serveur selon la revendication précédente et un terminal de télécommunication.