next up previous contents
Next: Résultats et interprétations Up: Fonctionnement Previous: Exploitation de BAsCETdans le

Exemple détaillé

  Voyons maintenant l'exécution du système sur un exemple de référence, prise au hasard dans une base de références BIBTEX différente de la base ayant servi à construire le Réseau de Concepts ; nous l'appellerons désormais BRC, pour Base Réseau de Concepts. L'exemple choisi, dont la clé d'identification est hermann88a, n'apparaît pas dans la base BRC, son auteur non plus (sauf sous la forme d'un champ PUBLISHER, ce qui pourrait tout au plus induire le programme en erreur). Cette partie détaille et explique la sortie du programme lancé sur un exemple, dont on trouvera le compte-rendu en annexe A (pour un autre exemple, se reporter à [Parmentier et Belaïd1997]).

Les paramètres du système sont l'activation minimale (seuil d'activation au-dessus de laquelle un noeud du Réseau de Concepts est considéré comme activé) et le pourcentage d'agents à exécuter à chaque étape. Ici, nous avons choisi une activation minimale de 50 (nous n'avons pas fait d'étude poussée sur l'impact de ce paramètre sur le système), et un pourcentage d'agents à exécuter de 40 (fixé par essai-erreur).

La chaîne SGML introduite en tant que problème à traiter est :

<Times-Roman>M. Hermann. Vademecum of divergent term rewriting systems. In
</Times-Roman><Times-Italic>Proceedings BCS-FACS Term Rewriting Workshop
</Times-Italic><Times-Roman>, Bristol (UK), September 1988.</Times-Roman>

C'est une instance de champ:doc. À la fin du premier cycle (comprenant propagation-désactivation de l'activation dans le Réseau de Concepts, lancement des agents dans le Réservoir d'Agents, choix et exécution d'agents), la température du Blackboard est de 85, aucun agent n'a été exécuté, le Réservoir d'Agents est vide, et cinq noeuds sont actifs (activation supérieure à 50).


 
Table: État du système à la fin du premier cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
1 0 85 0/0 0/0 0/0 0/0 0/0 0 5
 


Le tableau 4.7 résume l'état de BASCETà la fin du premier cycle : l'Idle est nul (c'est le premier cycle), la température a baissé de 100 (par défaut, au tout début) à 85, à cause de la désactivation du noeud champ:doc qui influence l'importance du seul objet du Blackboard, les agents DS, DC, DI, DZ, AR n'ont eu aucun succès, le Réservoir d'Agents contient encore aucun agent, et il y a cinq noeuds actifs dans le Réseau de Concepts après la propagation d'activation et la désactivation.

Durant le deuxième cycle, deux détecteurs de séparateurs ont repéré deux sortes de séparateurs : il s'agit de author-title:. et de -author:<Times-Roman>.


 
Table: État du système à la fin du deuxième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
2 0 31 2/4 0/0 0/0 0/0 0/0 0 9
 


Le tableau de synthèse 4.8 montre que la température a beaucoup chuté. En effet, quatre objets ont été construits : trois séparateurs author-title constitués d'un point suivi d'un espace, et un séparateur de début de référence reconnu à 100% et idéalement placé (en début de référence, cela peut paraître évident, mais le programme l'a déduit de ses statistiques). Les trois séparateurs entre le champ des auteurs et le champ du titre sont, l'un la fin d'une initiale de l'auteur (M._Hermann), le deuxième le séparateur effectif, et l'autre le début du séparateur entre le titre et le nom de la conférence. Mais c'est bien le deuxième qui correspond le mieux aux statistiques sur le placement des séparateurs et qui obtient donc la meilleure satisfaction des trois (90%). Comme tous ces objets ont une bonne satisfaction, leur éminence est relativement basse. Par conséquent, la température l'est aussi.

Au troisième cycle, un agent DC détecteur du champ author découvre les séparateurs -author et author-title, et déduit donc un découpage de ce champ dans l'objet champ:doc déposé au début. Il se trouve que le séparateur author-title ayant la meilleure satisfaction est bien le bon, ce qui fait que le découpage est bon aussi. En construisant ce champ, le système écrase le séparateur erroné qui existait.


 
Table: État du système à la fin du troisième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
3 0 34 0/1 1/2 0/0 0/0 0/0 3 23

Importance Satisfaction Éminence Contenu champ
100 10 90 ... doc
89 70 26 M. Hermann author
 


On peut remarquer, en examinant le tableau 4.9, que tous les agents n'ont pas été exécutés. Il en reste trois dans le Réservoir d'Agents. Le champ reconnu a une importance encore grande, à cause de l'activation du noeud champ:author, sa satisfaction dépend de celles des deux séparateurs qui ont donné lieu à sa construction. L'objet représentant le problème est encore très important (100%) et sa satisfaction commence à augmenter, grâce aux objets déjà trouvés (elle est de 10), mais son éminence reste haute.

Lors du quatrième cycle, d'autres séparateurs sont repérés. Ce sont des séparateurs entre journal et volume (</Times-Italic><Times-Roman>, ), entre title et booktitle (. In </Times-Roman><Times-Italic>), et entre month et year. Certains sont visiblement faux (il n'y a pas dans cette référence de champ journal, ni de volume), alors que d'autres sont très justes. Par exemple, le grand séparateur (33 caractères) entre le titre et le nom de la conférence écrase encore un mauvais séparateur (._In </Times...). Par contre, de nombreux petits séparateurs entre mois et année sont faux, car ils ne sont constitués que d'un espace (il y en a beaucoup dans la référence, et par exemple entre les mots du titre).


 
Table: État du système à la fin du quatrième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
4 0 20 3/8 0/1 0/0 0/0 0/0 0 895

Importance Satisfaction Éminence Contenu champ
100 34 66 ... doc
89 70 26 M. Hermann author
 


Étant données les informations découvertes durant ce cycle, la température a baissé jusqu'à 20 (cf. tableau 4.10). Cette fois-ci, tous les agents du Réservoir d'Agents ont été exécutés. Mais s'il est vide, c'est principalement dû à un mécanisme de BASCETqui supprime tous les agents de même nom et de même noeud Pere que celui qui vient d'être exécuté (puisqu'un agent est censé trouver toutes les instances de son Pere). Cette fois, l'activation est arrivée dans la partie spécifique du Réseau de Concepts : il y a 895 noeuds actifs (c'est la partie où les noeuds sont les plus nombreux).

Effectivement, durant le cinquième cycle, les agents DI trouvent des instances d'années (1986, 1988 et 1987 sont relativement proches du point de vue de la distance d'édition). Une instance de key:iso est détectée dans l'adresse (Bristol), toujours à cause de la proximité de iso et isto. De plus, deux séparateurs de pages avec année et adresse sont détectés. Enfin, le champ titre est correctement délimité grâce aux séparateurs existants.


 
Table: État du système à la fin du cinquième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
5 0 18 2/19 1/4 4/22 0/0 0/0 43 4878

Importance Satisfaction Éminence Contenu champ descriptions
100 50 50 ... doc 12
89 70 26 M. Hermann author 0
90 91 8 1988 year 1
1 63 0 isto key 1
89 63 32 Vademecum of divergent term rewriting systems title 0
 


La température a fortement baissé et 45 agents ont été exécutés. Il en reste 43. On voit (tableau 4.11) que presque 5000 noeuds sont actifs. Cela signifie qu'une bonne partie des noeuds spécifiques est active.

Pendant le sixième cycle, ce sont surtout des agents DI qui sont exécutés (c'est logique car la plupart des noeuds actifs sont spécifiques). Quelques séparateurs aussi sont repérés (dont des séparateurs entre les mots du titre).


 
Table: État du système à la fin du sixième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
6 0 21 3/41 0/5 24/1436 0/0 0/0 2211 5769

Importance Satisfaction Éminence Contenu champ descriptions
100 70 30 ... doc 27
89 77 20 M. Hermann author 1
90 95 8 1988 year 1
1 63 0 isto key 1
100 82 18 Vademecum of divergent term rewriting systems title 11
 


Concernant les champs de premier niveau découverts, peu de choses ont changé, mais on peut voir dans le tableau 4.12 que les satisfactions des objets ont augmenté : c'est dû aux découvertes de sous-champs, ou à la redécouverte des objets. Pour le champ doc c'est normal : le nombre de descriptions de ce champ augmente (17). Ici, 1482 agents ont été exécutés, nous sommes entrés dans la phase active du traitement. Il en reste 2211 dans le Réservoir d'Agents. Le système a donc bien exécuté environ 40% des agents. Il y a encore plus de noeuds actifs qu'au cycle précédent (pourtant, les agents DI qui n'ont rien trouvé désactivent leurs noeuds Pere).

L'agent DZ (détecteur de zones) entre en scène pendant le septième cycle. Ici, son action semble futile : il a, à partir d'un seul sous-champ (un mot du champ month), déduit qu'un champ month existait.


 
Table: État du système à la fin du septième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
7 0 17 1/22 1/16 17/2079 1/3 0/0 1552 5842

Importance Satisfaction Éminence Contenu champ descriptions
100 76 24 ... doc 25
90 77 20 M. Hermann author 1
90 95 4 1988 year 1
1 63 0 isto key 1
96 90 9 Vademecum of divergent term rewriting systems title 7
26 73 7 September month 1
 


Le lecteur peut se reporter au tableau 4.13 pour plus de détails sur le septième cycle. On peut remarquer qu'il y a un peu plus de noeuds actifs qu'au cycle précédent.

L'action de l'agent DZ est plus visible dans le cycle numéro huit : il a failli détecter un champ booktitle, mais ce faisant, a éliminé des objets qui auraient pu empêcher une future création de ce champ. En effet, des agents DI avaient trouvé des objets mot ou cmot (mot d'un chapitre) très courts, tels BC, -, Te, ou B.


 
Table: État du système à la fin du huitième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
8 0 14 1/45 1/24 17/1001 1/4 0/0 116 5853

Importance Satisfaction Éminence Contenu champ descriptions
100 76 24 ... doc 21
90 84 20 M. Hermann author 1
90 96 3 1988 year 1
1 81 0 isto key 1
88 90 8 Vademecum of divergent term rewriting systems title 8
26 100 0 September month 1
 


Selon le tableau 4.14, le nombre de descriptions du problème baisse, ce qui est bon signe : le système trouve des descriptions de plus en plus longues, et donc de plus en plus sûres. La satisfaction du champ author augmente grâce à l'action d'agents qui retrouvent ce champ au même endroit, le validant du même coup. Hélas, aucun agent n'a réussi à trouver une adresse là où se trouvait le champ key à temps pour le détruire avant qu'il ne soit confirmé. Sa satisfaction a donc augmenté, le rendant plus difficile à éradiquer. L'importance du champ title diminue, cela signifie que son activation dans le Réseau de Concepts diminue elle aussi.

Le nombre d'agents DI exécutés a diminué de moitié, reflétant ainsi la diminution du nombre de noeuds spécifiques du Réseau de Concepts activés. Le Réservoir d'Agents s'est beaucoup vidé, c'est dû au fait que les agents n'ayant pas été choisis pour être exécuté pendant le cycle où ils y ont été envoyés avaient plusieurs occurrences, et que lorsqu'ils ont été exécutés, ce n'est pas un seul agent, mais tous les agents semblables (même père, même nom) qui ont été supprimés du Réservoir d'Agents. La température continue à baisser.

Pendant le cycle numéro neuf, un agent DZ a fait une « erreur » : il a supprimé un séparateur qui avait pourtant été détecté à juste titre. Il a enlevé aussi le champ key erroné. Un agent d'arrêt a été exécuté, malgré sa faible valeur d'urgence. Cela signifie que le nombre d'agents a diminué ou que le nombre de ces agents dans le Réservoir d'Agents a fortement augmenté, formant ainsi un méta-agent ayant une valeur d'urgence virtuelle beaucoup plus forte. En effet, avoir un agent avec une valeur d'urgence de 50, ou une dizaine d'agents de valeur d'urgence 5 est équivalent, du point de vue du choix aléatoire pondéré effectué dans le Réservoir d'Agents.


 
Table: État du système à la fin du neuvième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
9 0 16 1/10 0/11 8/645 1/21 0/2 996 5898

Importance Satisfaction Éminence Contenu champ descriptions
100 65 35 ... doc 27
90 84 14 M. Hermann author 1
90 99 0 1988 year 1
98 94 5 Vademecum of divergent term rewriting systems title 9
26 100 0 September month 1
42 53 20 S-FACS booktitle 3
 


On peut voir dans le tableau 4.15 que la satisfaction du champ doc a baissé, c'est à cause de la disparition du séparateur title-booktitle qui était très long et donc très influent sur la satisfaction du champ qu'il décrivait. Le champ year (année) a été maintes fois confirmé par des DI d'années, il a donc maintenant une satisfaction de 99%. L'éminence du titre baisse à mesure qu'il a plus de descriptions. Un champ booktitle a été trouvé, même s'il est encore très incomplet.

Seuls 689 agents ont été exécutés pendant cette étape. La température remonte un peu, à cause de la perte d'une grande information (le séparateur titre-nom de conférence). Moins de détecteurs d'instances ont été lancés, ce qui signifie que la plupart ont déjà regardé dans le Blackboard si les noeuds spécifiques y étaient, et se sont désactivés. Le mécanisme de propagation a fait que les noeuds correspondant se sont réactivés (le nombre de noeuds actifs continue à augmenter petit à petit).


 
Table: État du système à la fin du dixième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
10 0 17 1/16 1/18 28/1552 0/14 0/6 1804 5938

Importance Satisfaction Éminence Contenu champ descriptions
100 70 30 ... doc 27
90 84 14 M. Hermann author 1
90 99 0 1988 year 1
97 90 9 Vademecum of divergent term rewriting systems title 8
26 100 0 September month 1
43 66 14 S-FACS booktitle 4
 


Le tableau 4.16 du dixième cycle montre peu de nouveautés, excepté que le Réservoir d'Agents commence à se remplir de nouveau, et que les DI sont plus nombreux qu'au cycle précédent.

Au onzième cycle, de nombreux champs sont confirmés, le séparateur title-booktitle est re-détecté, un champ (erroné) chapter est découvert et un agent d'arrêt décide qu'avec une température de 17, il est temps d'arrêter le traitement.


 
Table: État du système à la fin du onzième cycle.
Cycle Idle Température DS DC DI DZ AR Réservoir actifs
11 0 17 3/28 0/20 13/1377 1/5 1/6 1718 5936

Importance Satisfaction Éminence Contenu champ descriptions
100 77 23 ... doc 20
90 84 14 M. Hermann author 1
90 99 0 1988 year 1
98 87 12 Vademecum of divergent term rewriting systems title 9
14 100 0 September month 1
43 66 14 S-FACS booktitle 4
2 60 1 Te chapter 1
 


Le nombre de descriptions du champ doc a fortement diminué (cf. tableau 4.17) grâce à la découverte du long séparateur titre-nom de conférence.

Pour évaluer ce que le système fournit, on a plusieurs estimations. On peut calculer une similarité entre les champs fournis et les champs attendus.

Le tableau 4.18 donne le pourcentage de similitude pour chacun des champ fournis et attendus. Le champ title a une similitude de 99%, c'est uniquement dû au fait que le formateur de références, BIBTEX, supprime les majuscules dans ce champ lorsqu'il s'agit du type inproceedings et du style bibliographique plain.


 
Table 4.18: Comparaison fourni -- attendu.
champ fourni attendu similitude longueurs
author M. Hermann M. Hermann 100% 10/10
booktitle S-FACS Proceedings BCS-FACS Term Rewriting Workshop 48% 6/44
chapter Te 0% 2/0
month September September 100% 9/9
title Vademecum of divergent term rewriting systems Vademecum of Divergent Term Rewriting Systems 99% 45/45
year 1988 1988 100% 4/4
address Bristol (UK) 0% 0/12
 


Nous  avons deux mesures de l'exactitude de la solution : la première tient compte de la proportion des champs (appelons la MP), et de leur similitude avec les champs attendus, et la seconde tient uniquement compte de leur similitude et de leur nombre (que nous appellerons MN). Par exemple, pour cet exemple, MP vaut 71% alors que MN vaut 74%. Cela signifie qu'environ 74% des champs ont été reconnus, et que 71% de la référence l'a été. Remarquons que ces valeurs sont proches de la valeur de satisfaction du problème dans le Blackboard (77%), et que l'évaluation de la qualité de la « description » de ce problème par le système est assez bonne dans ce cas précis.

D'un certain point de vue, le système fait une recherche d'information (les champs) dans une « base de données » (constituée par le problème lui-même). Nous avons donc utilisé une évaluation venant du domaine de la recherche d'information pour mieux évaluer le système : le rappel   et la précision  . [Kerpedjiev1991] aussi a utilisé cette évaluation. Plus précisément [Smaïl1994] :

Taux de rappel :
proportion des éléments pertinents effectivement retrouvés par rapport au nombre total d'éléments pertinents (E/P) ;
Taux de précision :
proportion des éléments retrouvés qui sont effectivement pertinents par rapport au nombre total d'éléments trouvés (E/R).

Plus le rappel est élevé, moins le résultat est silencieux  . Plus la précision est élevée moins il y a de bruit   (voir la figure 4.24).


  
Figure 4.24: Notions de silence et de bruit.
Notions de silence et de bruit.

Ainsi, pour cette référence, on a un rappel de 83% (5 champs justes retrouvés sur 6) et une précision de 83% aussi (parmi les 6 champs proposés, seuls 5 sont pertinents). Nous ne nous attardons pas ici sur le contenu des champs mais simplement sur le nom des champs retrouvés. Ainsi, le champ booktitle a beau être incomplet, il est considéré comme un champ pertinent.

Pour cette exécution, selon ce que l'utilisateur recherchait, on peut être satisfait ou non de la réponse. Pour une utilisation de recherche dans des champs, par exemple (s'il suffit de pouvoir repérer des mots dans des champs donnés), la réponse est suffisante. S'il s'agissait de l'entrer dans une base de données, elle l'est nettement moins. L'efficacité d'un système se mesure aussi à sa rapidité, que nous pouvons ici mesurer au nombre d'agents qui ont été exécutés (une mesure de temps dépendrait fortement de la machine sur laquelle le programme s'exécutait). Lors des 11 cycles du traitement, 8467 agents ont été lancés. Certains représentent une charge plus lourde que d'autres. Le tableau 4.19 montre la répartition de ces agents. Il faut bien avoir à l'esprit que cette répartition n'est valable que pour cette exécution particulière, même si elle donne des ordres de grandeur. Nous verrons plus bas (section 4.4) des chiffres basés sur beaucoup plus de traitements, et donc plus fiables.


 
Table: Répartition des agents exécutés durant le traitement de la référence hermann88a.
  DS DI DC DZ AR
Total 194 8112 101 47 13
Moyenne 17,6 737,4 9,1 4,2 1,1
Pourcentage 2,3 95,8 1,2 0,5 0,2
Efficaces 17 111 5 4 1
Taux de réussite 0,08 0,01 0,04 0,08 0,07
 


Sur les 6295 noeuds spécifiques que compte le Réseau de Concepts, on a exécuté 8112 agents (ceux sont les agents DI). Cela signifie que, si tous ces noeuds avaient été activés au moins une fois, ils auraient chacun eu au moins un agent d'exécuté (la moyenne est de 1,28 agent par noeud). Cela signifie aussi que pour améliorer la vitesse du système, on pourrait penser qu'il suffit de diminuer le nombre de noeuds spécifiques actifs, puisque ce sont leurs agents qui ont le taux de réussite le plus faible (0,01 contre environ 0,07 pour les autres). Mais sur quel critère sélectionner les noeuds ? Comment faire en sorte que seuls les noeuds pertinents soient considérés comme actifs ? Il faudrait mener une étude sur l'influence du seuil d'activation des noeuds sur les performances du système.

Pour plus de détails (en mode texte) sur cette exécution, voir l'annexe A.


next up previous contents
Next: Résultats et interprétations Up: Fonctionnement Previous: Exploitation de BAsCETdans le
Francois Parmentier
6/19/1998