Cet agent cherche à détecter une zone cohérente dont la plupart des éléments appartiennent au champ Pere. Il repère d'abord les noeuds qui sont susceptibles de devenir des descriptions de champ, puis délimite la zone et voit s'il peut la nettoyer, c'est-à-dire éliminer les noeuds inutiles ou étrangers, s'il ne sont pas suffisamment homogènes.
Comme l'agent DC, l'agent DZ cherche d'abord l'instance du champ contenant le champ à chercher la plus proche hiérarchiquement dans le Réseau de Concepts. Par exemple, si on cherche une zone correspondant au champ a, on cherchera d'abord parmi les descriptions du champ author s'il en existe une instance, et parmi celles du champ doc sinon.
Parmi les descriptions du champ contenant trouvé, l'agent sélectionne celles qui pourraient être intéressantes pour trouver le champ Pere. Ce sont celles qui, dans le Réseau de Concepts, se trouvent au dessous du noeud Pere, hiérarchiquement parlant (ou bien une instance déjà existante de ce noeud, éventuellement incomplète). Ces descriptions compatibles servent à délimiter la zone à fouiller.
S'il n'existe pas de telle description, l'agent s'inhibe pour un cycle.
Ensuite, il lui faut calculer un score de cohérence pour chacun des objets à l'intérieur de la zone délimitée. Pour éviter de supprimer des objets pertinents, il calcule aussi un score de cohérence pour les objets qui ne seraient pas a priori compatibles avec le champ qu'on cherche à découvrir.
L'agent détermine d'abord un score préliminaire pour chaque objet,
selon l'algorithme 4. Pour
chaque objet i compris dans la zone qu'il vient de délimiter, le
score préliminaire de cohérence dépend du score des objets semblables
(ici, qui sont subordonnés au même noeud du Réseau de Concepts), de la longueur de
ces objets, et de la distance de ces objets à i. En effet, plus une
zone est cohérente, plus ses objets ont tendance à être du même type,
c'est-à-dire à être des sous-champs ou des séparateurs d'un même
champ. Il faut tenir compte aussi de la satisfaction de ces objets,
car un objet mal reconnu peut se glisser parmi d'autres, empêchant la
reconnaissance d'une zone intéressante en permettant la reconnaissance
d'une zone d'un mauvais type (un autre champ). On tient compte de la
distance des autres objets : plus un objet est près de i, plus il
compte (cela semble évident pour un score de
cohérence ).
Ensuite, le score définitif est calculé à partir de ce score de cohérence préliminaire. Si l'objet placé à gauche de l'objet courant est du même type (subordonné du même champ), on ajoute le score préliminaire de cet objet à celui de i. S'il n'est pas du même type, on soustrait au contraire son score à celui de i. Ainsi, s'il y a beaucoup d'objets du même type, les uns à côté des autres, ils auront un score positif.
Puis, on élimine du blackboard les descriptions dont le score définitif est négatif (si elles ne sont pas subordonnées au champ cherché), et on compte le nombre de candidats du type voulu restant, ainsi que ceux qui n'appartiennent pas au champ voulu.
S'il ne reste que des candidats appartenant au champ Pere, on construit l'objet, on déplace toutes les descriptions candidates du champ contenant vers le champ construit, et on ajoute l'objet construit en tant que description du champ contenant.
Position | Contenu | noeud père | Score |
---|---|---|---|
166-170 | «Actes» | champ:bw | 969 |
171-171 | « » | sep:month-year: | -2467 |
172-189 | «11eme Colloque GRE» | champ:booktitle | 1108 |
190-190 | «T» | champ:publisher | -1895 |
191-191 | «S» | champ:bw | 397 |
On enlève " " (sep:month-year: ,70) On enlève "T" (champ:publisher,90) CONSTRUCTION DU CHAMP "champ:booktitle" On ajoute "Actes" au noeud "Actes 11eme Colloque GRETS" (champ:booktitle) On remonte les descriptions de "11eme Colloque GRE" d'un cran On enlève l'objet "T" (champ:pub) On ajoute "S" au noeud "Actes 11eme Colloque GRETS" (champ:booktitle) Ajout d'une dépendance "Actes 11eme Colloque GRETS" à "<Times-Roman>B. Wrobel and O. Monga. Segmentation d'images naturelles : cooperation entre un detection-contour et un detecteur-region. In </Times-Roman><Times-Italic>Actes 11eme Colloque GRETSI</Times-Italic> <Times-Roman>, Nice, June 1987.</Times-Roman>" |
Dans l'exemple de la figure 4.23, l'agent supprime deux champs qui n'ont effectivement pas lieu d'être dans la zone délimitée. C'est un séparateur mal placé (et donc mal reconnu, ou moins satisfait que les objets alentour) et un champ très mal reconnu qui ne contient qu'une seule lettre (longueur trop faible pour être significative pour un champ tel que le publisher). Il construit donc un champ booktitle allant du premier objet repéré qui appartient à booktitle : un « bw » (un mot du titre de la conférence), à un autre. On voit ici qu'il existait déjà un champ booktitle, sans doute créé par un autre agent DZ. Celui-ci est incorporé au nouveau champ, grâce à la « remontée » de ses descriptions. On supprime l'objet champ:pub:T qui était une description du champ publisher déjà supprimé.
On remarque que le champ construit n'est toujours pas complet (il lui manque une lettre). L'agent DS, ne se basant que sur des objets existants, ne pouvait pas « savoir » que GRETSI était meilleur que GRETS, à moins d'avoir un noeud dans le Réseau de Conceptsqui corresponde à GRETSI ayant une instance dans le Blackboard.