Classification de cooccurrences de termes à l’aide d’un
algorithme non supervisé de réseaux de neurones
Yann Prudent1, Stéphane Trébucq2
(1) Laboratoire PSI,
Université et INSA de Rouen,
Mont-Saint-Aignan (Haute-Normandie), France, 76 821
(2) Centre de Recherche en Contrôle et Comptabilité Internationale,
Université Montesquieu Bordeaux IV IAE de Bordeaux,
Avenue Léon Duguit, Bordeaux(Gironde) France, 33 000
RÉSUMÉ. L’outil graphique proposé est fondé sur l’utilisation d’un algorithme ayant recours au principe de
l’apprentissage Hebbien Compétitif. Une telle méthodologie est en mesure de proposer une vue synthétique des
relations structurantes présentes dans des textes tout en écartant les relations à fréquence élevée, susceptibles
d’être considérées comme triviales par un expert. Les vues synthétiques obtenues permettent d’isoler certaines
grappes ou classes de termes associés. La sensibilité du nombre obtenu de classes et de la visualisation des
relations sélectionnées aux différents paramètres de l’algorithme est ensuite développée.
MOTS-CLÉS : données textuelles, corpus, cooccurrences , réseaux de neurones, classification, visualisation
1 Introduction
L’analyse des liens de cooccurrence représente une démarche classique d’étude des corpus textuels.
Cependant, les optiques retenues afin d’identifier ces types de relations sont extrêmement diverses. Cela
dépend, en effet, non seulement de l’unité d’analyse choisie (phrases, paragraphes, textes), mais aussi des
éléments analysés (termes lemmatisés ou non, syntagmes, classes sémantiques). Quelle que soit la
méthode utilisée, l’analyste se retrouve inévitablement confronté à une masse de relations difficiles à
traiter. Selon certaines approches, un filtrage statistique des relations les plus atypiques peut être obtenu
[LAF 84]. En ce qui concerne la présente recherche, une liste de cooccurrences a été prise comme point de
départ. Dans sa version actuelle, l’outil n’utilise que les fréquences de cooccurrence et permet de
sélectionner uniquement certaines relations. La représentation graphique prend la forme d’une
arborescence non hiérarchisée. Les termes associés sont alors regroupés en grappes, ces dernières
correspondant à des classes, tout en conservant visuellement les liens de cooccurrence.
Cet article a pour objet d’expliciter le fonctionnement de l’algorithme utilisé, fondé sur la logique de
l’apprentissage Hebbien compétitif [MAR 93]. Les propriétés d’un tel algorithme sont ensuite évaluées
empiriquement, à partir d’un corpus test, composé de textes académiques dédiés à la gestion des
entreprises, et plus précisément à leur gouvernance.
2 Présentation de l’outil de classification
Nous présenterons dans un premier temps la logique de l’algorithme (2.1.), puis sa mise en œuvre pratique
(2.2.).
2.1 Un algorithme à base de réseau de neurones
L’outil proposé mobilise un algorithme fondé sur la logique des réseaux de neurones [TRE 05], en
application des principes de l’apprentissage Hebbien compétitif [MAR 93]. Chaque terme est alors
considéré comme un « neurone », et les relations de cooccurrence sont représentées graphiquement par un
trait connectant chaque « neurone » à un autre. L’algorithme mis en œuvre procède à un tirage aléatoire au
sein de l’ensemble S des relations décrivant l’intégralité du corpus étudié. La probabilité de tirage est
proportionnelle à la fréquence de cooccurrence des termes. Dans le cas considéré, la mise en relation entre
deux termes est directionnelle, sachant que le premier terme précéde le second dans le texte. L’algorithme
présenté ci-après ne conserve que les connexions dont l’âge est inférieur au seuil amax. Ce paramètre
essentiel doit être fixé avant de lancer l’exécution du programme.
______________________________________________________
Données : un ensemble de relations S, amax
Résultat : Une carte
Début
tant que le critère d’arrêt n’est pas satisfait faire
tirer au hasard une relation (x,y) S
// et ce proportionnellement au nombre de cooccurrences
si le neurone x n’existe pas dans la carte alors
créer le neurone x ;
si le neurone y n’existe pas dans la carte alors
créer le neurone y ;
incrémenter l’âge de toutes les connexions de x ;
incrémenter l’âge de toutes les connexions de y ;
si la connexion (x,y) existe alors
ramener son âge à 0 ;
sinon
la créer ;
supprimer toutes les connexions avec un âge supérieur à amax ;
si ceci a pour conséquence l’isolement d’un neurone, alors
le supprimer ;
Fin
______________________________________________________
Selon cet algorithme, l’âge de chaque connexion débute avec une valeur de zéro. Lorsqu’une connexion,
tirée précédemment et maintenue dans le réseau, est à nouveau tirée, son âge est réinitialisé. En revanche,
lorsqu’un nouveau neurone apparaît, l’âge des connexions liées au neurone nouvellement connecté est
incrémenté. L’application du critère amax permet d’éliminer en conséquence les connexions les plus
fréquentes, estimées comme triviales, et porteuses d’une information d’un intérêt limité pour l’analyste.
Dans cette version, dès l’instant où toutes ces relations ont été « apprises », c’est-à-dire passées en revue
un certain nombre de fois (voir paramètre « nbpasses », au point 2.2.), l’exécution du programme est alors
stoppée.
2.2 Mise en œuvre de l’algorithme neuronal
La mise en œuvre de l’algorithme s’opère à partir d’une interface programmée en langage java. Le fichier
proposé en entrée représente une liste de coocurrences, avec respectivement pour chacune d’entre elles la
fréquence d’occurrence, le premier terme, et le second terme, consécutif au premier. L’utilisateur est alors
invité à déterminer cinq paramètres numériques, à savoir : « nbpasses » « âge » « min » « max », et « min
grappe », sachant que :
« nbpasses » est le nombre de fois où toutes les relations ont été passées en revue, critère d’arrêt
évoqué précédemment ;
« âge » correspond au paramètre amax de l’algorithme ;
« min » est un seuil correspondant à la fréquence de cooccurrence en dessous de laquelle les
relations ne sont pas retenues et étudiées ;
« max » est un seuil correspondant à la fréquence des cooccurrences au-dessus de laquelle les
relations ne sont pas retenues et étudiées ;
« mingrappe » détermine le nombre minimal de termes requis au sein d’une grappe pour que la
représentation de celle-ci soit maintenue dans le graphe final. Ce dernier critère a été introduit afin
de pouvoir éventuellement exclure des grappes constituées d’un nombre limité de termes et jugées
d’une importance marginale.
3 Propriétés de l’algorithme neuronal
Les tests empiriques ont été menés à partir d’un corpus test de 32 textes scientifiques – soit environ
300 000 mots – rédigés par Gérard Charreaux, auteur réputé en finance d’entreprise. Le thème principal
des textes traités est celui de la gouvernance des entreprises, à savoir l’ensemble des dispositifs aptes à
limiter ou encadrer la marge de liberté des dirigeants afin qu’ils agissent bien dans le sens des intérêts des
actionnaires ou des différentes parties prenantes de l’entreprise. A partir de ce corpus spécialisé, nous
étudierons successivement les propriétés de classification de l’algorithme (3.1.), puis la qualité des
représentations obtenues (3.2.), et enfin la stabilité des résultats obtenus (3.3.).
3.1 Visualisation et classification des cooccurrences
Grâce à l’outil Tropes, 8831 relations de cooccurrences1 sont listées dans le corpus étudié. Ces
dernières servent alors de base à la représentation graphique obtenue (voir Fig. 1).
FIG. 1 : Sous-partie de l’écran de visualisation des grappes ou classes de termes
La figure 1 est obtenue avec les paramètres fixés comme suit : « nbpasses »=15, « âge »=3, « min »=1,
« max »=245, et « mingrappe »=3. La représentation graphique est au total composée de 30 grappes de
termes séparées et de 136 relations, soit 1,5% (136/8831) du total des relations de cooccurrences
1 Leur distribution par fréquence d’occurrence se compose comme suit : N=11 pour l’intervalle de fréquence [100 à 245] ; N= 31 pour l’intervalle
de fréquence [50 à 99] ; N=46 pour l’intervalle de fréquence [50 à 99] ; N=86 pour l’intervalle de fréquence [20 à 29] ; N=394 pour l’intervalle de
fréquence [10 à 19] ; N=1120 pour l’intervalle de fréquence [5 à 9] et N=7043 pour l’intervalle de fréquence [2 à 4]. Comme on peut le constater,
plus les intervalles de fréquences sont bas, plus les relations d’occurrence sont nombreuses.
initialement identifiées. Après une telle réduction, l’ensemble des relations s’avère beaucoup plus facile à
gérer et à analyser.
3.2 Qualité des représentations obtenues
Il est intéressant d’observer, toujours à partir de la figure 1, que les relations retenues présentent une
fréquence d’occurrence s’élevant au maximum à 48. Un tel paramétrage conduit de facto à écarter de la
représentation les cooccurrences comptant parmi les plus fréquentes dans le corpus étudié (cf. note de bas
de page n°1). Le graphe conserve 33 relations avec une occurrence de 4, 55 relations avec une occurrence
de 5 à 9, 30 relations avec une occurrence variant entre 10 et 19, 12 relations avec une occurrence
s’échelonnant entre 20 et 29, et 6 relations avec une occurrence allant de 30 à 48. Toutefois, un tel
paramétrage n’assure pas la meilleure représentation du corpus. En effet, les grappes constituées sont
d’une taille limitée. Il est donc nécessaire de jouer sur les paramètres afin d’accroître au mieux le nombre
de relations sélectionnées.
3.3 Stabilité des résultats obtenus
Ainsi conçu, l’algorithme n’assure pas, pour un paramétrage donné, une stabilité parfaite des résultats. En
effet, la sélection des relations repose sur un tirage aléatoire. Il n’est donc pas assuré que les graphes
obtenus soient similaires, pour des paramètres fixés d’une manière rigoureusement identique. A titre
expérimental, le programme a été ainsi lancé à cinq reprises avec des paramètres identiques. Pour les
paramètres suivants {« nbpasses »=10, « âge »=3, « min »=1, « max »=245, et « mingrappe »=5} le
nombre de grappes varie entre 8 et 15, et le nombre de relations sélectionnées entre 69 et 106. Une
augmentation du paramètre « nbpasses » à 30 n’induit pas des résultats significativement différents2 au
niveau du nombre de grappes ou du nombre de relations choisies. Par ailleurs, si l’on compare les relations
sélectionnées lors des cinq essais effectués, celles qui apparaissent au moins dans deux graphes
représentent moins de 10% du total des relations apparaissant dans les graphes. En revanche, ce taux passe
à 30% lorsque l’on joue sur le paramètre « âge » ou amax.
Cependant, l’algorithme dans sa version la plus récente a été modifié afin de procéder à un tirage aléatoire
sans remise. La stabilité des résultats a été ainsi améliorée significativement sans qu’il soit possible en
l’état actuel, dans le cadre de cette présentation succincte, d’en présenter l’intégralité des résultats.
Par ailleurs, bien que la méthode ici proposée soit parfaitement reproductible sur tout type de corpus, il
nous reste à mieux en estimer la qualité, au niveau des représentations obtenues, et ce, à partir d’un
ensemble plus diversifié de corpus.
4 Conclusion
Les algorithmes à base de réseaux de neurones fournissent une solution utile pour les analystes souhaitant
obtenir une représentation synthétique d’un ensemble de cooccurrences de termes. En outre, en fonction
des valeurs affectées aux paramètres s’ajoutent des fonctions de classification des termes associés.
5 Bibliographie
[LAF 84] LAFON P., Dépouillements et Statistiques en Lexicométrie, Slatkine Champion, 1984.
[MAR 93] MARTINETZ T., “Competitive Hebbian learning rule forms perfectly topology preserving
maps”. In S. Gielen, B. Kappen (ed.), Proceedings ICANN’93, International Conference on Artificial
Neural Networks, London : Springer, 1993, p. 427-434.
[TRE 05] TREBUCQ S., PRUDENT Y., ENNAJI A., Cooccurrences et cartes adaptatives : proposition
d’un outil de visualisation et application à un corpus spécialisé ”, Actes du 3ème Atelier Visualisation
et extraction de connaissances, Journées EGC ( Extraction et Gestion de Connaissances), Paris, 18
janvier 2005.
2 Cette absence de différence a été testée à partir d’une statistique non-paramétrique, selon le test de U Mann Withney.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !