FR 2940694 A1 20100702 FR 0807490 A 20081230 PROCEDE ET SYSTEME POUR CLASSIFIER DES DONNEES ISSUES DE BASE DE DONNEES L'objet de la présente invention concerne notamment un procédé et un système permettant de classifier des données se présentant sous la forme de matrices relationnelles, c'est-à-dire qu'il existe des relations entre les objets 0, ou données de cette base de données. L'invention peut également traiter des tableaux rectangulaires, dans la mesure où il est toujours possible de déduire d'un tableau rectangulaire (objetsXattributs) un tableau carré par calcul de mesures de similarités entre les objets du tableau d'origine. L'invention peut être utilisée dans le domaine de la classification automatique (plus connu sous le terme anglo-saxon � clustering �). Elle trouve son application notamment dans le cas où les données à classifier se présentent sous la forme de matrices relationnelles (relations entre les objets à classifier) et qui, de fait, permettent une représentation très souple de graphes ou de réseaux d'interdépendance. Dans le domaine de la classification automatique de données, les problèmes à résoudre consistent à partir d'une base de données contenant des quantités importantes de données, de l'ordre de quelques centaines de milliers ou de quelques millions, relatives à n objets ou individus O; à trier très rapidement ces données. Ces données se présentent généralement sous la forme de tableaux (ou matrices) de deux types : des matrices rectangulaires (objetsXattributs mesurés sur ces objets) ou bien des matrices carrées (objetsXobjets), représentant des relations entre les objets. Le but de la classification consiste à construire à partir de ces matrices, des groupes d'objets cohérents ayant de fortes similarités descriptives (description des individus) et/ou comportementales. Lorsque les données se présentent sous forme de matrices carrées, elles représentent, le plus souvent, des mesures de ressemblances ou de proximités entre les objets de la base. Le but ensuite est de chercher à découvrir une décomposition optimale et automatique de la population en un nombre de classes d'objets (similaires ou ayant les mêmes comportements) beaucoup plus réduit et de définir ensuite des stratégies d'actions, selon le domaine concerné. Par exemple, une des actions possibles est de découvrir les pannes permettant de prédire d'autres pannes dans un réseau informatique. Un autre exemple est de découvrir un ensemble de clients d'une banque auxquels il est possible de proposer certains produits et qui ont une forte probabilité de réponse positive. Une autre action est de découvrir des niches de sociétaires d'entreprises d'assurances pour lesquels on peut créer des polices spécifiques qui n'étaient, a priori, pas évidentes, etc. L'une des difficultés principales pour découvrir ces classes résulte du fait que, malgré les progrès réalisés dans la puissance de calcul des processeurs, de la capacité de stockage des ordinateurs actuels, les données stockées étant de plus en plus volumineuses, ou occupant de plus en plus de place mémoire, il est très difficile de classifier les objets d'une base de données avec des temps de traitement raisonnables. Ceci est encore plus vrai lorsque les données disponibles se présentent sous la forme de matrices carrées représentant des relations entre objets. Différentes méthodes de classification automatiques sont connues de l'art antérieur. Ainsi, il est possible de citer la méthode des k plus proches voisins (ou k-means), la classification hiérarchique ou encore l'analyse relationnelle. La demande de brevet EP 1960916 déposée par le Demandeur, décrit un procédé de classification où les données initiales se présentent sous la forme de tables ayant pour lignes les individus à classifier et pour colonnes des variables mesurées sur ces individus. Malgré les bons résultats offerts par ces méthodes de l'art antérieur, ces dernières présentent notamment les faiblesses suivantes : 1) un problème de fixation du nombre de classes et des référents (centres) à utiliser pour initialiser la partition finale à trouver. En effet, les méthodes de type k-means, par exemple, ont besoin de fixer de manière arbitraire et, a priori, le nombre de classes à trouver dans les données ainsi que quelques individus initiaux ; 2) un problème de fixation, arbitraire et a priori, du niveau de coupure de l'arbre pour les méthodes de classification hiérarchiques, 3) une impossibilité de traiter de manière linéaire des volumes importants de données en des temps raisonnables lorsque les données se présentent sous la forme de données relationnelles. Ainsi, les méthodes de classification usuelles connues du Demandeur ne permettent pas, d'une part, de traiter de façon linéaire des données de type graphe ou relationnelle et d'autre part, elles dépendent étroitement de la fixation de paramètres tels que le nombre de classes à trouver ou les centres (objets choisis parmi la population selon des tirages mathématiques aléatoires ou de façon arbitraire). Le procédé selon l'invention repose notamment sur la théorie de l'analyse relationnelle présentant comme avantage de ne pas faire d'hypothèses arbitraires et a priori, quant aux résultats attendus du processus de classification. Le système et le procédé selon l'invention proposent une nouvelle approche utilisant des lignes des matrices relationnelles à traiter et permettent, grâce à ces représentations, de traiter de très gros volumes de données en des temps rapides en réduisant à la fois l'espace mémoire nécessaire et les temps de calcul. L'invention concerne un procédé de classification de données ou d'objets O. se présentant sous la forme d'un tableau S, chacun des éléments dudit tableau S correspondant à une valeur de similarité s;, existant entre lesdits objets O; , caractérisé en ce qu'il comporte au moins les étapes suivantes : 1) déterminer un nombre de k classes d'objets de la manière suivante : prendre un objet O. qui a le moins de similarités s,j possibles avec les autres objets O; , c'est-à-dire celui dont la Somme des composantes Es;;, de son profil est la plus petite Mettre l'individu O; dans une première classe C, , Considérer les objets a avec O; différent de O. restant et prendre un deuxième objet a dont la somme des composantes de son profil est la plus petite parmi les objets, si le lien lac calculé entre l'objet a avec la classe précédente C, constituée d'un seul individu est négatif, alors créer une nouvelle classe C2 et mettre l'objet O; dans cette nouvelle classe C2 , réitérer jusqu'à ce que tous les objets Oj appartiennent à une classe d'indice k, à l'issue de cette première étape le procédé dispose d'un ensemble de K classes, 2) pour chacune des K classes trouvées à l'étape 1) déterminer la valeur de chacun des liens lckck, entre une classe Ck et les autres classes Ce telles que k' soit différent de k, si tous les liens déterminées lckck, sont négatifs, 20 alors ne pas réunir la classe Ck avec une autre classe sinon réunir la classe considérée Ck avec la classe Ck, avec laquelle Ck a le lien le plus fort, la valeur lckck, la plus élevée, ajouter cette valeur jusqu'à K obtenir une stabilité du critère C(X)=( E1çç )+lckck l 3) prendre chaque objet O. de chaque classe CL un par un, déterminer la 25 valeur du lien l;cm de chaque objet 0, avec chacune des classes CL autre que la classe d'indice k dans laquelle il a été classé dans l'étape initiale, si la valeur du lien 1,c. avec la classe d'indice m est supérieure à la valeur du lien 1,c, alors transférer l'objet de sa classe d'indice k à la nouvelle classe d'indice m, ceci est poursuivi jusqu'à ce que toutes les valeurs des liens l,ck soient négatives. Le tableau est par exemple un tableau carré représentatif de nxn objets. Selon un mode de mise en oeuvre, le procédé est exécuté pour un tableau rectangulaire représentatif de n objetsxa attributs et comporte une étape de transformation du tableau n objetsxa attributs au tableau S contenant les valeurs de similarité existant entre lesdits objets 0; . L'invention concerne aussi un système permettant de classifier des données se présentant sous la forme d'un tableau S, chacun des éléments dudit tableau S correspondant à une valeur de similarité s,1 existant entre lesdits objets 0; , caractérisé en ce qu'il comporte au moins les éléments suivants : un calculateur en liaison avec une base de données à classifier comprenant une mémoire de travail un processeur adapté à exécuter les étapes du procédé présentant l'une des caractéristiques précitées. Le système peut comporter une base de données contenant le résultat du procédé de classification selon l'invention exécuté sur le processeur. D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture d'un exemple non limitatif de réalisation en se référant aux figures qui représentent : • La figure 1, un schéma correspondant à une plateforme de traitement des données à classifier comprenant un moyen d'exécution du procédé selon l'invention, • La figure 2 un schéma fonctionnel décrivant le fonctionnement général de la chaîne de traitement des données ou de classification automatique des données. La figure 1 représente un exemple de plate-forme sur laquelle le procédé selon l'invention est mis en oeuvre. Cette plateforme comprend, par exemple, un calculateur 1 comprenant une mémoire de travail 2, un processeur 3, une mémoire tampon 4 dans le cas où la taille de la mémoire de travail n'est pas suffisante par rapport au volume des données traitées. La plateforme peut aussi contenir une base de données 5 contenant le résultat du procédé de classification selon l'invention exécuté sur le processeur 3. Le calculateur 1 est en liaison avec une base de données 6 contenant les données à classifier. Le calculateur comporte aussi des entrées/sorties ou Interface Homme machine 7. L'interface Homme machine peut être un écran d'affichage sur lequel le résultat de classification sera présenté à un utilisateur. Les flèches représentées sur la figure 1 schématisent les différents échanges existant entre le processeur 3 et les différents éléments contenus dans la plateforme ou les éléments extérieurs à cette dernière. Dans certains cas d'applications, lorsque les données ou objets à classifier ne se présentent pas sous une forme de tableau carré de dimension nxn, le procédé comprendra une phase de prétraitement ayant notamment pour fonction de mettre en forme les objets ou données à classifier sous une forme de tableau carré à n dimensions, où n est le nombre d'objets à classifier, un élément si,/ de ce tableau correspondant à la valeur de similarité existant entre deux objets O; , Oi du tableau. Cette valeur de similarité est déterminée en mettant en oeuvre un procédé connu de l'Homme du métier sous l'intitulé � calcul de similarité �, qui ne sera pas explicité dans la suite de la description. Dans l'exemple donné, le procédé va utiliser les objets d'une base dans laquelle les relations entre objets sont stockées et va considérer que chaque ligne du tableau carré contenant un profil de similarité su correspondant à un objet donné 0, avec les autres objets Of de la base de données à traiter. Le procédé va ensuite utiliser un profil binaire pour calculer rapidement les liens lu entre tous les couples d'objets (O; , O, ). En utilisant des produits scalaires entre les deux profils des deux objets (O; , Oj ) ci- dessus, le procédé permet de ne faire qu'un produit scalaire global, pour calculer les similarités entre un objet et une classe au lieu de faire autant de produits scalaires que le nombre d'individus appartenant à la classe. En résumé, l'algorithme de classification exécuté sur le processeur, va prendre en entrée, des données ou objets relationnelles complexes n*n où n est le nombre d'objets à traiter, et traiter ces objets Oi de façon linéaire sans fixation arbitraire et a priori des paramètres de classification. Les résultats obtenus seront réinsérés dans une base de données. Si les données ne se présentent pas sous forme relationnelle, une étape de pré-traitement consistant à transformer ces données sous forme relationnelle par calcul de similarités entre objets, sera appliquée en amont. Ainsi, lorsque les données se présentent sous forme rectangulaire, un procédé de calcul de mesures de similarité entre les objets en présence sera utilisé pour créer des matrices carrées, qui traduisent les relations retenues entre les objets. L'exemple qui suit est donné pour une base de données se présentant sous la forme d'un tableau carré S de dimensions n2 et de terme général s;;. représentant la valeur de la similarité précitée obtenue par des méthodes connues de l'Homme du métier, entre deux objets 0, et où n est le nombre d'objets à classifier. 8 S= Sil Sin \Snl "' Sni' "' Snn Les objets sont numérotés de 1 à n , l'indice i de l'objet O; est donc le numéro de l'objet considéré. Chaque objet O. est représenté par deux vecteurs profils et Pb de dimension n tels que : Pb Le vecteur profil P' représente les similarités de l'objet O. avec les n autres objets de la population étudiée, y compris lui-même et Pb est un vecteur binaire ne contenant qu'une seule valeur non nulle égale à 1 à la position i 10 de ce vecteur (numéro de O; ). Le critère à maximiser pour obtenir la partition finale ou classification d'un ensemble d'objets est le critère de Condorcet modifié C(X) défini par : n n n n n n C(X)_Ersi;. ûax f (sii,si.i'))xir =EI (A,i. ûaxAMii.)xü• =Erii.xii, i=1 i'=1 i=1 i'=l i=1 i'=l Où: 15 • f(si1,s;.;.) est une fonction des similarités propres entre les deux objets O et 0,.., ~ , par exemple : f(s..,s.,.,)= 2 pour une moyenne arithmétique ou bien f(s;;,s,,,.)=.Js;;si.,. pour une moyenne géométrique, etc. • a est un seuil de similarité qui peut, soit, être calculé 20 automatiquement par une fonction prenant en compte les similarités entre les objets de la base de données, soit, être défini par l'utilisateur. Une fonction possible, donnant un seuil automatique est, par exemple, n n EE a = i=1 i'=1 n n E E f (su, si'i' ) i=1 i'=1 • A représente l'accord (ou similarité) entre les objets Oi et O. , • AMii. représente l'accord maximum possible entre les objets O. et • Iii. représente le lien entre les objets Oi et O.. (il représente aussi le coût de la fonction économique à maximiser), et • xii' est le terme général de la matrice binaire carrée X de dimensions n2 représentant la partition finale à trouver, et défini par : 1 siOi et sont dans la même classe de la partition finale En notant (•) le produit scalaire entre deux vecteurs quelconques et en utilisant les vecteurs profils P,.' et Pb on obtient : h s h Pb•P+I,s•Ph (1) 2 " 2 1... = h P • (- )+Pb • (Ps ùaP`) (3) '2 Ces calculs étant faits pour tous les couples d'objets de la base à classifier, l'algorithme est toujours de complexité 0(n2) à ce stade. Le critère à maximiser pour obtenir la partition finale ou classification d'un 20 ensemble de classes est le critère de Condorcet modifié C(X) défini par : xU 0 dans le cas contraire15 n n Sii + Si'i C(X) s,.i.ûax i=1 i'=1 2 i n n = E (Aii. ù a x AMii')xii' (4) i=1 i'=1 n n i=l i'=1 Pour passer au procédé de linéarisation, on doit calculer les termes correspondants aux formules (1), (2), (3) ci-dessus entre un objet Oi et une 5 classe C et entre deux classes C et C' . En utilisant la formule (1), il est possible de calculer les accords entre un objet Oi et une classe C et les accords entre deux classes C et C' notés respectivement Aic et An.. , en utilisant les deux formules suivantes Pb•P'+P•Ph A;c=EPb•P.'=~P,.'•Pn=P,b•PCPS•Pc= i c i c (5) rE c 2 IEC Acc, = Pc • Pc = Pc • Pc, Pc • Pc, + Pc • Pc 2 (6) 10 où Pc est un vecteur binaire de dimension n tel que toutes les composantes sont égales à 0 sauf celles correspondantes aux individus de la classe C et Pc est un vecteur de dimension n tel que chaque composante contient la somme des similarités entre chaque et tous les autres objets de la classe C : Pc IÉb ieC Pc=EP' iE C 15 De même, en utilisant la formule (2), il est possible de calculer les accords maximums possibles entre, d'une part, un objet O, et une classe C noté AMic et, d'autre part, entre deux classes C et C' noté AMcc. par les relations : 11 CI(P" • P., )+ AMic = AMii. _ EC 2 ICI x Pc, + ox PC AMcc, _ où : Pc~=(1P.i ) iEC on définit, enfin, les liens lic et lcc. , entre respectivement un objet Oi et une 5 classe C et entre deux classes C et C' , par les relations : tic =Aic ùaxAMic la- = Acc ùaxAMcc. Si l'on note PG le vecteur binaire de dimension n dont toutes les 10 composantes sont égales à 1 et4PG , la trace de la matrice des similarités. Autrement dit la somme des similarités propres de tous les objets de la population ou de tous les objets O. de la base de données : 1PG1 = EAii i=1 alors la qualité Qc d'une classe C sera donnée par la relation : 3Pc" •13i -e +(nû21CIII5c 15 Qc = ICIP x GI+(n ûICIlPc Les lettres C, C', ont été utilisées pour exposer de manière générique le principe du procédé mis en oeuvre par l'invention, pour l'exemple qui va suivre, le Demandeur a utilisé des indices en plus pour différencier les classes. 2 Pc (6) (7) PG +ICIx Les définitions et les formulations étant posées, le procédé mis en oeuvre par le processeur de la plateforme met en oeuvre les étapes suivantes, étapes dont un synoptique est illustré à la figure 2. Etapel ( Initialisation) : L'initialisation consiste à partir des objets O; contenus dans la base de données à classifier, et à former les classes au fur et à mesure. Il est bien entendu que pour cette étape, les données se trouvent déjà sous la forme d'un tableau carré T comme illustré précédemment qui a comme terme général s;,. représentant la valeur prise par la similarité existante entre deux objets O. et 0.. La première étape consiste à prendre un objet O. de la base qui a le moins de similarités possibles avec les autres objets, c'est-à-dire celui dont la somme des composantes de son profil Pis est la plus petite. Autrement dit, on n choisit l'objet 0, pour lequel Es;;, est la plus petite. Ce choix permet d'identifier les classes d'objets les plus atypiques (celles qui contiennent les objets qui ont le moins de similarités avec la majorité des objets). Il permet aussi d'éviter d'avoir de très grosses classes, qui au fur et à mesure des itérations deviennent bruitées. Il s'agit ensuite de mettre l'objet 0, trouvé dans une première classe C, où il sera le seul élément. On choisira ensuite, parmi les objets restants, l'objet O. dont la somme des éléments du profil i est la plus petite. On calcul ensuite le lien l Je entre le nouvel objet O. et la classe CI. Si le lien l jc est strictement positif (1 JC > 0 ), alors on met l'objet O. dans la classe CI, sinon on crée une nouvelle classe C,, dans laquelle on mettre l'objet 0 ; . Prendre, ensuite, un troisième objet 0,.. , celui dont la somme des éléments du profil P` la plus petite parmi ceux qui restent, calculer son lien l ..~ , l ,.,c Z avec les deux classes existantes C, et C2 . Si les deux liens l; äc , l; .,c , sont négatifs, créer une nouvelle classe C3 et y mettre l'objet 0, sinon mettre l'objet dans la classe C, ou C2 avec laquelle il a le plus grand lien, valeur du lien la plus élevée. Poursuivre ce procédé, jusqu'à ce que tous les objets soient affectés à une classe Ck . A l'issue de cette première étape, le procédé dispose d'un ensemble de K classes contenant des objets qui sont reliés entre eux par des liens positifs les plus forts. A cette étape le critère de Condorcet (formule 4) peut être reformulé en fonction des K classes sous la forme : C(X)=Ilc,c (8) k =I En effet à ce stade, seuls les liens des individus appartenant à une même classe seront pris en compte dans la valeur du critère. Etape2 ( Réunion de deux classes) : Il s'agit ensuite de prendre les K classes C, , C2, ..., CK les unes après les autres, de calculer pour chaque classe considérée Ch ses liens IcAc.A existant avec les autres classes Ç. (k'≠ k) . Si tous les liens de Cl avec les autres classes sont négatifs on laisse cette classe telle quelle et on choisit une autre classe, sinon on réunit la classe considérée Ch , avec la classe Ck. avec laquelle elle a le lien le plus fort, valeur le c la plus élevée. Pour cela, le procédé va déterminer la valeur du lien lc. c, entre la classe Ch et une classe Ch. où (k'=1,2,..., K) et (k'≠ k) ; cette réunion va augmenter la valeur du critère de Condorcet en l'augmentant de la valeur du lien 1ckck . Autrement dit en reprenant la formule (8) du critère on aura : C(X)=( ElCkCk )+lCkc, (9) k=1 le procédé va donc déterminer la plus grande valeur du lien lckck, trouvé et l'ajouter au critère C(X) . Ceci doit être réalisé tant qu'il y a une possibilité d'améliorer le critère. Le procédé calcule les liens tant qu'il existe un lien ayant une valeur positive. Il s'arrête quand tous les liens sont négatifs. A l'issue de cette deuxième étape, le procédé dispose d'un ensemble de L classes où L une des L classes précédemment définies, de sa propre classe Ck à une autre classe Cm avec laquelle il a un meilleur lien c'est-à-dire, la classe telle que la valeur 1,, est la plus grande. En effet, quand aucune réunion entre classes n'est plus possible, c'est-à-dire que tous les liens calculés à l'étape 2 sont négatifs, le procédé considère tous les objets O. de chaque classe CL un par un, détermine la valeur du lien de chaque objet O. avec chacune des classes C, autre que la classe d'indice k dans laquelle il a été classé dans l'étape initial. Si un objet O. a un lien meilleur avec une autre classe que la sienne propre alors cet objet sera transféré de sa classe à la nouvelle classe d'indice m, avec laquelle il a le meilleur lien, ce qui correspond à la valeur la plus élevée. Ceci sera poursuivi jusqu'à ce qu'il n'y ait plus de possibilité d'amélioration du critère, c'est-à-dire lorsque toutes les valeurs des liens 1,ck sont négatives. Quand, aucun transfert des objets d'une classe à une autre n'est plus possible, on retourne à l'étape 2, pour voir s'il n'est pas possible d'améliorer le critère de Condorcet en réunissant d'autres classes. Les deux étapes précédentes seront appliquées jusqu'à ce qu'il ne puisse plus y avoir d'amélioration de la valeur du critère de Condorcet. Cette invention trouve son application dans différents domaines aussi variés que le marketing en ligne, par exemple, ou la veille stratégique (co-dépôts de brevets, co-citations, co-publications, inventions communes, collaborations, etc.). Pour le marketing en ligne, il est possible d'imaginer la surveillance de blogs sur Internet. Pour cela un nombre N de blogs sera étudié et un prétraitement préalable à la mise en oeuvre du procédé permettra d'identifier sur chacun des blogs, les autres blogs référencés. A l'issue de ce prétraitement une matrice NXN identifiant les blogs qui sont en relation sera générée. Cette matrice correspond au tableau carré précité. Classifier ces blogs en mettant en oeuvre le procédé selon l'invention, reviendra, donc, à identifier les groupes de blogs qui sont les plus liés les uns aux autres. On procédera ensuite, à l'intérieur de chaque groupe à des calculs statistiques pour identifier le blog le plus dynamique dans chaque groupe. Il suffira alors de proposer un produit donné à ce blog, pour qu'il en fasse la promotion auprès des autres blogs avec lesquels il est lié. Pour une application à la veille stratégique, il sera possible d'aller regarder les bases de données brevets, presse, scientifiques, etc. On pourra, ensuite, extraire de ces bases des informations du type : quels sont les coinventeurs dans le cas des brevets, quelles sont les co-citations dans des articles scientifiques, par exemple, les collaborations, etc. Toutes ces informations une fois classifiées (ou clusterisées) en exécutant le procédé selon l'invention, pourront permettre d'identifier les centres d'intérêt d'un groupe d'inventeurs (ou même d'une entreprise ou d'un pays) etc. Cette invention utilise un procédé nouveau et original pour classifier de grandes bases de données, de façon rapide et linéaire. Elle prend en compte différents types de données : soit de type rectangulaire (objetsXvariables) représentant des variables mesurées sur les objets de la base, les variables sont par exemple des attributs a, soit de type carré (ObjetsXObjets) représentant des mesures de similarités ou de façon plus générale, des relations entre les objets de la base.10 REVENDICATIONS1 û Procédé de classification de données ou d'objets O. se présentant sous la forme d'un tableau S, chacun des éléments dudit tableau S correspondant à une valeur de similarité s,1 existant entre lesdits objets O; , ledit procédé étant mis en oeuvre au sein d'un calculateur (1) en liaison avec une base de données contenant les données ou objets à classifier (6) comprenant une mémoire de travail (2), un processeur (3) caractérisé en ce qu'il comporte au moins les étapes suivantes : 1) déterminer un nombre de k classes d'objets de la manière suivante : prendre un objet O. qui a le moins de similarités s;, possibles avec les autres objets O; , c'est-à-dire celui dont la somme des composantes I si,, de son profil est la plus petite Mettre l'individu O. dans une première classe C, , Considérer les objets O, avec a différent de O. restant et prendre un deuxième objet a dont la somme des composantes de son profil est la plus petite parmi les objets, si le lien tiC calculé entre l'objet O; avec la classe précédente C, constituée d'un seul individu est négatif, alors créer une nouvelle classe C2 et mettre l'objet a dans cette nouvelle classe, réitérer jusqu'à ce que tous les objets Oj appartiennent à une classe d'indice k, à l'issue de cette première étape le procédé dispose d'un ensemble de K classes, 2) pour chacune des K classes trouvées à l'étape 1) déterminer la valeur de chacun des liens entre une classe Ck et les autres classes Ch tel que k' soit différent de k, si tous les liens déterminées lc,c sont négatifs, alors ne pas réunir la classe Ck avec une autre classe,Sinon, réunir la classe considérée CL avec la classe C? avec laquelle elle a le lien le plus fort, valeur lc,c la plus élevée, ajouter cette valeur au critère C(X)=( ci )+1çq, jusqu'à obtenir une stabilité de ce critère, à l'issue k=I de l'étape 2), le procédé dispose de L classes avec L≤ K , 3) prendre chaque objet O; de chaque classe CL un par un, déterminer la valeur du lien 1,c de chaque objet O. avec chacune des classes CL autre que la classe d'indice k dans laquelle il a été classé dans l'étape initiale, si la valeur du lien ltcm avec la classe d'indice m est supérieure à la valeur du lien 1,c alors transférer l'objet de sa classe d'indice k à la nouvelle classe 10 d'indice m, ceci est poursuivi jusqu'à ce que toutes les valeurs des liens 1,cä soient négatives. 2 ù Procédé selon la revendication 1 caractérisé en ce que l'on utilise un tableau carré représentatif de nxn objets. 3 ù Procédé selon la revendication 1 caractérisé en ce que l'on utilise un tableau rectangulaire représentatif de n objetsxa attributs et on exécute une étape de transformation du tableau n objetsxa attributs au tableau S contenant les valeurs de similarité s1 existant entre lesdits objets O, . 20 4 ù Système permettant de classifier des données se présentant sous la forme d'un tableau S, chacun des éléments dudit tableau S correspondant à une valeur de similarité su existant entre lesdits objets O, , caractérisé en ce qu'il comporte au moins les éléments suivants : un calculateur (1) en liaison 25 avec une base de données à classifier (6) comprenant une mémoire de travail (2), un processeur (3) adapté à exécuter les étapes du procédé selon l'une des revendications 1 à 3. 15 ù Système selon la revendication 4 caractérisé en ce qu'il comporte une base de données (5) contenant le résultat du procédé de classification selon l'invention exécuté sur le processeur (3). 5 6 ù Système selon la revendication 4 caractérisé en ce qu'il comporte des entrées/sorties ou Interface Homme machine (7).