Procédé de classification d'un ensemble de documents électroniques
Arrière-plan de l'invention
L'invention se rapporte au domaine des télécommunications, et plus particulièrement aux moteurs de recherche de documents électroniques.
Plus précisément, l'invention concerne un procédé de classification d'un ensemble de documents électroniques comportant des liens entre eux, par exemple des liens hypertextes. Un tel ensemble résulte par exemple d'une recherche effectuée par un utilisateur au moyen d'un moteur de recherche sur un réseau de type Internet, les documents électroniques étant dans ce cas des pages Web accessibles via un réseau de télécommunications.
Les moteurs de recherche utilisent plusieurs techniques pour le classement ou le tri de pages issues d'une recherche.
Parmi les techniques connues d'exploration d'un ensemble de pages Web, certaines reposent sur la sémantique, une page étant classée comme étant d'autant plus pertinente qu'elle comporte un grand nombre d'occurrences du ou des mots recherchés. Ces techniques sont sensibles à une pratique, connue sous la dénomination anglo-saxonne de "spamming" visant à faire figurer dans une page donnée un très grand nombre de fois les mots utilisés couramment par les internautes dans leurs requêtes de recherche, ce qui a pour effet de faire apparaître la page comme pertinente. On connaît également des techniques exploitant la structure topologique du Web, qui consistent à classer les pages Web en leur attribuant un rang, le rang d'une page étant calculé en fonction des liens existant entre cette page et les autres pages.
Une telle méthode, connue sous le terme anglais "PageRank" est utilisée dans la mise en œuvre du moteur de recherche Google (marque déposée) et décrite dans le document "The PageRank Citation Ranking: Bringing Order on the Web" de L. Page, S. Brin, R. Motwani et T. Winograd ; Technical Report, Computer Science Department, Stanford University, 1998. La méthode "PageRank" ordonne les pages en fonction de leur visibilité sur le Web. Dans cette méthode, on simule une navigation
aléatoire de page en page sur le Web en suivant les liens hypertextes. Cette navigation correspond à celle provoquée par un utilisateur accédant au Web lorsque ce dernier active aléatoirement un des liens hypertextes se trouvant dans une page visualisée, afin d'accéder à une autre page. Cette méthode procède à une analyse probabiliste de cette navigation simulée afin de déterminer la probabilité, pour l'utilisateur, de se retrouver sur une page donnée lors d'une telle navigation aléatoire de page en page.
Le rang d'une page est d'autant plus élevé que le nombre de fois où cette page est citée par d'autres pages est élevé.
L'homme de métier comprendra qu'il suffit de créer artificiellement un grand nombre de documents pointant sur une page donnée pour donner un rang élevé à cette page.
L'invention vise en particulier à détecter ce type de situation afin d'éviter ce problème.
A cet effet, l'invention vise à détecter des "communautés de documents", une communauté pouvant simplement être définie par un ensemble de documents qui possèdent beaucoup de liens entre eux et peu de liens avec le reste du graphe. Ces méthodes d'identification de communautés permettent avantageusement de distinguer les documents contenant des homonymes.
On connaît plusieurs méthodes visant à détecter des communautés au sein d'un ensemble de documents électroniques.
Ces méthodes reposent sur une représentation graphique du Web dans laquelle chaque sommet représente un document et les arcs entre les sommets représentent des liens hypertextes entre ces documents.
Parmi ces méthodes, certaines sont dites séparatives. Ce sont des méthodes dans lesquelles on partitionne le graphe représentatif des documents et de leurs liens en différents groupes, en retirant des arcs fortement susceptibles de relier différentes communautés.
Le document M. EJ. Newman, M. Girvan "Community structure in social and biological networks" Proc. Natl. Acad. Sci. USA,99:8271-8276,
2002 propose un algorithme connu sous le nom anglo-saxon "edge- betweeness", cette notion caractérisant, pour un arc donné, le nombre de plus courts chemins entre deux points du graphe qui passent par cet arc.
L'idée derrière cet algorithme est que les arcs qui sont entre différentes communautés sont ceux dont le "edge-betweeness" est le plus élevé puisque tous les chemins allant d'une communauté à une autre doivent passer par ces arcs. L'algorithme proposé dans ce document calcule la valeur de "edge-betweeness" pour chacun des arcs, puis enlève du graphe les arcs pour lesquels la valeur précitée est la plus élevée puis recalcule de façon itérative les valeurs pour les arcs restants.
L'algorithme Girvan-Newman présente un inconvénient majeur en ce qu'il est d'une complexité très élevée, plus précisément en 0(m2n) pour un graphe de π nœuds et m arcs. Cet algorithme ne peut donc pas en pratique être utilisé pour détecter des communautés au sein du Web, les graphes précités comportant en l'espèce plusieurs centaines de milliers de nœuds.
Il est par ailleurs très difficile de déterminer jusqu'à quel point il faut découper le graphe, c'est à dire quand il faut s'arrêter d'enlever des arcs. Par ailleurs, dans les découpages en communautés effectués, aucune notion de pertinence d'un redécoupage par rapport au découpage initial n'apparaît. En outre, le découpage final obtenu est dépendant des découpages obtenus lors d'une itération précédente et du nombre de communautés de ces découpages précédents. De plus, il y a peu de chance que cette algorithme « isole » rapidement des communautés qui sont peu liées au reste du monde, alors que le but de notre classification est précisément d'identifier et d'élaguer rapidement ces communautés.
Objet et résumé de l'invention
L'invention a aussi pour objectif de résoudre les inconvénients susmentionnés de l'état de la technique en proposant un procédé de faible complexité pour identifier au sein d'un très grand ensemble de documents électroniques des sous-ensembles, notamment des sous-ensembles correspondant à des communautés thématiques, et qui permettent de détecter les cas de spamming dans le web..
Selon un premier aspect, l'invention concerne un procédé de classification d'un ensemble de documents électroniques en une pluralité de sous-ensembles de documents, comportant : - une étape de représentation de l'ensemble de documents sous forme d'un graphe, dans lequel un sommet représente un document et un arc
entre deux sommets représente au moins un lien hypertexte entre les documents représentés par ces sommets ; et
- une étape de détermination d'une partition de l'ensemble des sommets du graphe, cette partition étant obtenue par calcul de la force intrinsèque du graphe, chacun des sous-ensembles de documents étant constitué par l'ensemble des documents électroniques représentés par les sommets compris dans une même partie de ladite partition ainsi obtenue.
Corrélativement, l'invention concerne un dispositif de classification d'un ensemble de documents électroniques, comportant :
- des moyens de représentation de l'ensemble de documents sous forme d'un graphe, dans lequel un sommet représente un document et un arc entre deux sommets représente au moins un lien hypertexte entre les documents représentés par ces sommets; et - des moyens de détermination d'une partition de l'ensemble des sommets du graphe, cette partition étant obtenue par calcul de la force intrinsèque du graphe, chacun des sous-ensembles de documents étant constitué par l'ensemble des documents électroniques représentés par les sommets compris dans une même partie de ladite partition ainsi obtenue.
Chaque partie de la partition ainsi obtenue, constitue un sous- graphe connexe, à savoir un sous-graphe dans lequel, il existe au moins un chemin entre deux sommets quelconques de ce sous-graphe.
L'invention réside en particulier dans le fait d'assimiler chaque sous-ensemble de documents ainsi obtenu à une communauté de documents.
La mise en œuvre du procédé de classification selon l'invention permet ainsi la détermination d'une communauté de documents uniquement à partir des liens existant entre ces documents et non pas à partir de leur contenu sémantique.
De cette manière, on peut notamment s'affranchir des problèmes de spamming liés à la prise en compte de la sémantique dans la recherche de documents. En effet cette méthode permet de détecter les pages artificiellement créées pour faire augmenter la popularité d'une page cible, car ces pages ont une connectivité assez faible avec le reste du graphe et sont facilement identifiées comme une communauté à part.
Le procédé de classification de documents selon l'invention utilise une étape de calcul de la force intrinsèque du graphe représentant ces documents.
L'homme du métier comprendra que dans de tels réseaux, le nombre de nœuds est relativement faible, de l'ordre d'une centaine.
Gusfield propose, dans le document "Connectivity and edge- disjoint spanning trees". Inform. Process. Lett., 16(2):87-89, 1983 de caractériser un graphe G par sa force σ, où :
équation (1)
dans laquelle :
- π est l'ensemble des partitions de l'ensemble E des sommets du graphe G ; - {Si, ..., Sp} est une partition appartenant à l'ensemble π et comprenant p sous-ensembles Si, ..., Sp de l'ensemble E ;
- δ(Si,..., Sp) est l'ensemble des arcs du graphe G ayant des extrémités dans différents S1, Sj de la partition {Si, ..., Sp} ;
- |δ(Si,..., Sp)| est le nombre d'arcs compris dans l'ensemble
-
représente la partie entière de x.
Il a déjà été démontré (théorème de Tutte, Nash-Williams) que la force σ ainsi définie du graphe, est égale au nombre d'arbres couvrants disjoints de ce graphe, un arbre couvrant un graphe étant un arbre qui contient tous les sommets de ce graphe.
On remarque que la force est une valeur minimale prise sur toutes les partitions possibles du graphe, indépendante du nombre de sous-ensembles dans la partition. Cette caractéristique est particulièrement avantageuse car il n'est pas nécessaire d'imposer a priori une contrainte sur le nombre de communautés à identifier dans l'ensemble des documents.
Autrement dit, pour un graphe connexe donné, la partition obtenue par le procédé de classification selon l'invention est celle pour laquelle un nombre minimum d'arcs a été supprimé dans ce graphe.
Cela permet d'effectuer une classification des documents de « haut niveau », une classe de documents ainsi obtenue pouvant à son tour être partitionnée en sous-classes en appliquant le procédé de classement à cette classe.
Les sous-ensembles obtenus lors du calcul de la force intrinsèque sont soit constitués par un sommet unique, soit des sous- ensembles dont la force est supérieure ou égale à celle du graphe initial, c'est-à-dire des sous-ensembles comportant un nombre d'arbres couvrants disjoints important et donc fortement connectés.
En ce sens, il est pertinent d'assimiler ces sous-ensembles à des communautés thématiques de documents. Dans un mode préféré de réalisation de l'invention, l'étape de calcul de la force intrinsèque du graphe utilise une méthode itérative, à chaque itération, on associe un poids à chacun des arcs et on sélectionne, parmi les arbres couvrant du graphe, un arbre couvrant de poids minimum. Cette association est effectuée de telle sorte que le poids des arbres sélectionnés au cours des itérations précédentes vérifie une contrainte prédéterminée, les itérations étant répétées jusqu'à ce que le poids de l'arbre couvrant de poids minimum vérifie aussi cette contrainte.
De façon très avantageuse, on obtient ainsi un algorithme de faible complexité, à savoir une complexité en O(m2)(log(m))2 par itération, bien inférieure à la complexité de l'algorithme de Girvan-Newman.
On peut notamment utiliser les programmes CPLEX,X-PRESS ou CLP connus de l'homme du métier.
Selon un premier mode de réalisation de l'invention, on détermine la force du graphe et donc l'arbre couvrant de poids minimum dans le graphe en utilisant la méthode de Kruskal.
Cet algorithme est de faible complexité (O(m2)(log(m))2). Pour plus de renseignements, l'homme du métier pourra se reporter au document de J. B. Kruskal "On the shortest spanning subtree of a graph and the travelling salesman problem", Proc. Am. Math. Soc, 7(1) : 48-50, Feb. 1956.
Selon un deuxième mode de réalisation de l'invention, on détermine la force du graphe par application d'une technique de résolution d'équations linéaires sous contraintes.
Dans un mode particulier de réalisation, les différentes étapes du procédé de classification de documents électroniques sont déterminées par des instructions de programmes d'ordinateurs.
En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en œuvre dans un dispositif de classification de documents électroniques ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d'un procédé de classification de documents électroniques tel que décrit ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus.
Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur.
D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté
pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures :
- la figure 1 représente un graphe sur lequel on peut appliquer le procédé de classification de documents électroniques conforme à l'invention ;
- les figures 2A à 2C représentent des parties du graphe de la figure 1 ;
- la figure 3 représente un dispositif de classification de documents électroniques conforme à l'invention dans un mode particulier de réalisation ;
- la figure 4 représente, sous forme d'organigramme, les principales étapes d'un procédé de classification de documents électroniques conforme à l'invention dans un mode particulier de réalisation ; et
- les figures 5A à 6F détaillent les différentes itérations d'un procédé de classification de documents électroniques conforme à l'invention appliqué au graphe de la figure 1.
Description détaillée d'un mode de réalisation
La figure 1 représente un graphe G dont les sommets Sl à S6 représentent des documents électroniques et les arcs Al à A8 représentent des liens hypertextes entre les documents.
La force σ du graphe G, utilisée dans ce mode de réalisation, est adaptée de la formule de Gusfield, et définie par l'équation ci-après :
équation (2)
dans laquelle :
- π est l'ensemble des partitions de l'ensemble E des sommets du graphe G ;
- {Si, ..., Sp} est une partition appartenant à l'ensemble π et comprenant p sous-ensembles Si, ..., Sp de l'ensemble E ; - δ(Si,..., Sp) est l'ensemble des arcs du graphe G ayant des extrémités dans différents S1, S1 de la partition {Si, ..., Sp} ;
- |δ(Si,..., Sp)| est le nombre d'arcs compris dans l'ensemble
Selon l'invention, la force du graphe prend donc une valeur dans l'ensemble des réels, non nécessairement entière.
Selon l'invention, lors du calcul de la force du graphe, on affecte des poids à chacun des arcs du graphe G de telle sorte que le poids de l'arbre couvrant de poids minimum vérifie une contrainte prédéterminée. Cette contrainte est que ce poids minimum soit supérieur ou égal à une valeur de seuil égale à 1. N'importe quel coefficient multiplicateur, entier ou réel, strictement positif, peut bien entendu être appliqué à cette valeur de seuil et aux valeurs de poids.
A la figure 2A, on a représenté la partition {Cl, C2, C3} de G vérifiant l'équation (1). Chaque partition Ci de la partition comporte soit un sommet unique S5 ou S6, soit un sous-graphe connexe.
Dans cet exemple δ(Cl, C2, C3) = {A6, A7, A8} et σ, force du graphe G = 1,5.
A la figure 2B, on a représenté la partition {Cil, C12, C13} de la partie Cl vérifiant l'équation (1).
Dans cet exemple, δ(Cll, C12, C13) = {Al, A2, A3} et la force σ de Cl = 1,5. A la figure 2C, on a représenté la partition {Cl 11, Cl 12} de la partie CIl vérifiant l'équation (1).
Dans cet exemple, δ(Clll, Cl 12) = {A4, A5} et la force σ du sous-ensemble CIl = 2.
Les trois figures 2A, 2B et 2C permettent d'illustrer ainsi une caractéristique fondamentale de l'invention selon laquelle la force de
chacun des sous-ensembles du graphe de départ est supérieure ou égale à celle de ce graphe.
Le procédé de classement de documents électroniques selon l'invention ne s'intéresse pas à la force proprement dite du graphe G. Mais il utilise le procédé de calcul de la force pour partitionner le graphe G, chaque partie de la partition ainsi obtenue comportant des sommets représentatifs d'un sous-ensemble de documents électroniques constituant une communauté de documents électroniques.
Ainsi, dans l'exemple précédent, la partie Cl représente communauté de premier niveau, les documents représentés par les sommets Sl, S2, S3 et S4 étant fortement liés entre eux.
A un second niveau, la partie CIl constitue une sous- communauté de la communauté de premier niveau, les documents représentés par les sommets S2 et S3 étant plus fortement liés au sein de cette communauté.
A la figure 3, on a représenté un dispositif 10 de classification de documents électroniques conforme à l'invention dans un mode particulier de réalisation.
Dans l'exemple décrit ici, le dispositif 10 de classification de documents électroniques selon l'invention a l'architecture conventionnelle d'un ordinateur.
Il comporte un processeur 11, une mémoire vive de type RAM 12, une mémoire morte de type ROM 13 et des moyens de communication 14. Le dispositif 10 de classification selon l'invention est adapté à recevoir des documents électroniques via les moyens de communication 14, à représenter l'ensemble de ces documents sous forme d'un graphe G et à mémoriser une structure de données représentatives de ce graphe dans la mémoire vive 12. La mémoire morte 13 mémorise un programme d'ordinateur conforme à l'invention, ce programme comportant des instructions pour l'exécution des étapes d'un procédé de classification de documents électroniques conforme à l'invention et dont les principales vont maintenant être décrites en référence aux figures 4 et 5A à 6F.
Au cours d'une première étape ElO de ce procédé, on représente l'ensemble des documents électroniques sous la forme du graphe G, comme illustré à la figure 1.
En pratique, cela revient à représenter chacun des documents par un sommet Sl à S6, à identifier dans ces documents les liens hypertextes vers d'autres documents, et à chaque fois qu'un tel lien est identifié, à tracer un arc entre les sommets représentatifs des documents liés.
Ainsi, l'homme du métier comprendra que, dans l'exemple de la figure 1, les documents représentés par les sommets S2 et S3 sont liés par deux liens hypertextes représentés par les arcs A4 et A5.
Le procédé selon l'invention comporte ensuite une méthode itérative pour calculer la force intrinsèque du graphe G, cette méthode comportant principalement : - une étape E20 au cours de laquelle on associe un poids positif ou nul à chacun des arcs Al à A8 et on sélectionne (étape E30) un arbre couvrant de poids minimum en s'assurant que les arbres déterminés au cours des itérations précédentes vérifient tous une contrainte prédéterminée. Dans le mode de réalisation décrit ici, chacun de ces arbres doit vérifier la contrainte selon laquelle leur poids est supérieur ou égal à 1. A chaque itération, on vérifie, au cours d'un test E40 si l'arbre couvrant de poids minimum vérifie lui aussi cette contrainte.
Si tel est le cas, l'étape de calcul de la force intrinsèque du graphe G s'arrête.
Au contraire, si le poids de l'arbre couvrant de poids minimum est strictement inférieur à 1, on retourne à l'étape E20 pour associer un nouveau poids aux arcs du graphe G en respectant la contrainte précitée pour tous les arbres sélectionnés jusqu'alors. Nous allons maintenant détailler cet algorithme sur le graphe G de la figure 1.
Lors de la première itération, du fait qu'il n'y a aucun arbre sélectionné au cours d'une étape précédente, il n'y a pas encore de contrainte, on associe un poids y nul à chacun des arcs A1, comme représenté à la figure 5A.
Puis, on cherche, en appliquant l'algorithme de Kruskal, l'arbre couvrant de poids minimum dans le graphe.
Cet arbre Ti est représenté à la figure 6A. Son poids est nul puisque tous les arcs Al, A5, A8, A7, A6 de cet arbre ont un poids nul. On vérifie, au cours de l'étape E40, si le poids de tous les arbres couvrants sélectionnés jusqu'alors, à savoir l'arbre Ti, a un poids supérieur ou égal à 1.
Comme ce n'est pas le cas, on effectue une nouvelle itération en associant (étape E20) des poids aux différents arcs de l'arbre, de sorte que l'arbre Ti vérifie la contrainte précitée.
Pour cela (voir figure 5B), on affecte, par exemple, le poids 1 à l'arc Al. Bien entendu, on aurait pu choisir d'affecter le poids 1 à un autre arc, par exemple A2, ou encore les poids 0,3 et 0,7 aux arcs Al et A3, ...
De ce fait, l'arbre Ti a un poids égal à 1 et la contrainte est vérifiée.
On cherche alors, dans le graphe G de la figure 5B, un arbre couvrant de poids minimum.
Cet arbre T2 est représenté à la figure 6B.
Le poids de cet arbre T2 est nul. On vérifie, au cours de l'étape E40, si tous les arbres sélectionnés jusqu'alors, à savoir les arbres Ti et T2 ont un poids supérieur ou égal à 1.
Ce n'est pas le cas puisque l'arbre T2 a un poids nul.
On effectue une nouvelle itération en associant (étape E20) un poids à chacun des arcs du graphe G, de sorte que les contraintes soient vérifiées pour les arbres Ti et T2.
Comme représenté à la figure 5C, on affecte, par exemple, le poids 1 à l'arc A8 et le poids 0 à tous les autres arcs.
De la sorte, les arbres Ti et T2 ont un poids supérieur ou égal à 1 et la contrainte est vérifiée.
On cherche ensuite, au cours d'une étape E30, un arbre de poids minimum dans le graphe G de la figure 5C.
On obtient ainsi l'arbre T3 de la figure 6C.
Cet arbre est de poids nul. En conséquence, le test de l'étape E40 est négatif et on effectue une quatrième itération.
Au cours de cette quatrième itération, on associe un poids à chacun des arcs du graphe G de sorte que les arbres Ti, T2 et T3 ont un poids supérieur ou égal à 1.
Comme représenté à la figure 5D, on affecte le poids y7 = 1 à l'arc A7 et un poids nul à tous les autres arcs.
De cette sorte, les poids des arbres Ti, T2 et T3 sont égaux à 1 et la contrainte est vérifiée.
On cherche ensuite, au cours d'une étape E30, un arbre T4 de poids minimum dans le graphe G de la figure 5D. On obtient l'arbre T4 de la figure 6D, cet arbre étant de poids nul.
En conséquence, le test de l'étape E40 est encore négatif.
On effectue donc une cinquième itération et on associe, comme représenté à la figure 5 E' le poids y6 = 1 à l'arc A6 du graphe G, tous les autres arcs étant affectés avec un poids nul.
De la sorte, tous les arbres Ti à T4 ont un poids égal à 1 et la contrainte est vérifiée.
Puis, en référence à la figure 6E, on cherche un arbre de poids minimum dans le graphe G de la figure 5E. On obtient ainsi l'arbre T5 de la figure 6E.
Cet arbre est de poids nul.
Donc le résultat du test E40 est négatif. Et on effectue une sixième itération.
Au cours de l'étape E20, on associe un poids à chacun des arcs Al à A8 du graphe G, de sorte que tous les arbres Ti à T5 aient un poids supérieur ou égal à 1.
En référence à la figure 5F, on associe le poids 0,5 aux arcs A6, A7 et A8 et un poids nul aux autres arcs.
De la sorte, chacun des arbres Ti à T5 a un poids égal à 1. Puis on cherche l'arbre de poids minimum dans le graphe G de la figure 5F.
Cet arbre T6 est représenté à la figure 6F.
Le poids de cet arbre T6 est égal à 1.
De ce fait, le résultat du teste E40 est positif et le calcul de la force intrinsèque du graphe G s'arrête.
L'homme du métier notera que la force σ intrinsèque du graphe G, à savoir 1.5, correspond à la somme des poids des arcs du graphe de la figure 5F.
Le résultat du test E40 étant positif, on détermine, au cours d'une étape E50, les communautés à partir du graphe de la figure 5F.
Pour cela, on supprime les arcs de poids non nul de ce graphe, à savoir, dans cet exemple, les arcs A6, A7 et A8.
On obtient ainsi trois sous-ensembles connexes du graphe G à savoir : - le sommet S5 ;
- le sommet S6 ; et
- le sous-graphe constitué par les sommets Sl à S4 reliés par les arcs Al à A5.
Chacun des sous-ensembles connexes obtenus par calcul de la force du graphe après suppression des arcs de poids non nul forme une partie d'une partition du graphe.
Dans l'exemple décrit ici, chacun de ces sous-ensembles correspond exactement à une partie Ci de la partition {Cl, C2, C3} de la figure 2A.
Conformément à l'invention, l'ensemble des documents électroniques représentés par les sommets compris dans l'une de ces parties Ci constituent une classe de documents assimilable à une communauté de documents.
Selon un deuxième mode de réalisation de l'invention, le calcul de la force du graphe G avec la détermination de la partition de ce graphe est effectué par application d'une méthode de résolution d'équations linéaires sous contraintes. Des logiciels de résolution d'équations connus tels que CPLEX™, X-PRESS™, ou COIN Linear Programming™ sont utilisables dans ce but.
Cette méthode de calcul présente une faible complexité et permet de déterminer la partition du graphe en un temps de calcul très réduit, et sans faire appel à une méthode itérative - dont la convergence peut être
lente. Le temps de calcul est donc fortement réduit par rapport à la méthode décrite pour le premier mode de réalisation de l'invention.
Il est décrit ci-dessus, par référence à la figure 7, comment le calcul de la force d'un graphe peut être effectué par application d'une méthode de résolution d'équations linéaires sous contraintes.
Selon ce deuxième mode de réalisation, lors d'une étape initiale E700, est choisi arbitrairement un sommet r du graphe G. On note V l'ensemble des sommets du graphe G et E l'ensemble des arcs de G.
Lors d'une étape E710, le graphe G initial est transformé en un graphe orienté G2 qui possède les mêmes sommets que G et qui à chaque arc e(v,w) de E reliant les sommets v et w de V, associe deux arcs orientés f(v,w) et f(w,v). L'ensemble des arcs orientés f(v,w) est noté E2.
Les variables réelles suivantes sont définies: une variable positive φ, une variable ye(V,w) associée à chaque arc e(v,w) de E et représentant le poids de cet arc, une variable gk,v associée à chaque couple de sommets (k,v) de V, une variable positive mk,f(V,w) associée à chaque sommet k de V et à chaque arc orienté f(v,w) de E2.
De plus, les variables intermédiaires suivantes sont définies en fonction des variables précédentes:
Sf(V,w) la somme, associée à l'arc orienté f(v,w), de toutes les valeurs des variables mk,f(V,W) pour k parcourant l'ensemble de sommets V-
{r}, • tk la somme de toutes les valeurs des variables gk,r pour k parcourant l'ensemble de sommets V-{r},
tt la somme de toutes les valeurs des variables gk,k pour k parcourant l'ensemble de sommets V-{r},
Les contraintes (1) à (3) suivantes sont définies : (1) Pour chaque arc orienté f(v,w) de E2 et chaque sommet k différent de r, la somme gk,w - gk,v + rnk,f(V,W) est positive.
(2) Pour chaque arc orienté f(v,w) de E2, correspondant à l'arc non-orienté e(v,w) de E, la somme φ - sf(V,w) + ye(v,w) est positive. (3) La somme tk - tt - (n-l)φ - 1 est positive, où n est le nombre de sommets de l'ensemble V.
Lors d'une étape E720, les valeurs de la variable ye(U,v) , c'est-à- dire les poids des arcs sont déterminées pour l'ensemble des arcs e(u,v) de E par l'application d'une méthode de résolution d'équations linéaires, en respectant les contraintes (1) à (3) ci-dessus et de manière à ce que la somme des valeurs des poids ye(U,v), lorsque e(u,v) parcourt l'ensemble E, soit minimale.
Il est possible de démontrer que les valeurs des poids ye(U,v) ainsi obtenues sont telles que pour tout arbre couvrant T du graphe G la somme des ye(U,v) pour e(u,v) parcourant T est supérieure ou égale à 1.
Lors d'une étape E730, identique à l'étape E50, les communautés sont déterminées à partir du graphe G et des valeurs des poids ye(U,v) déterminées: les arcs de poids non nul du graphe G sont supprimés. Les sous-ensembles connexes du graphe G présents après cette suppression forment une partition du graphe G.
Conformément à l'invention, l'ensemble des documents électroniques représentés par les sommets compris dans l'un des sous-
ensembles de la partition obtenue constituent une classe de documents assimilable à une communauté de documents.
Le procédé selon l'invention est utilisable, non seulement pour détecter des problèmes de spamming, mais également pour faciliter l'identification par un utilisateur de sous-ensembles de documents parmi un ensemble de documents, obtenus par exemple à partir d'un moteur de recherche. Dans cette optique, une présentation à un utilisateur des sous- ensembles obtenus est effectuée à l'issue du procédé selon l'invention au moyen d'un terminal équipé d'une interface utilisateur. Différents modes de représentation de ces sous-ensembles sont possibles: par listes de noms de documents, sous forme de graphes, de dossiers électroniques contenant plusieurs fichiers, etc. L'invention trouve donc une application particulièrement intéressante dans le domaine des moteurs de recherche pour le Web.