next up previous contents
Next: Conclusion Up: Construction du Réseau de Previous: Construction de la partie

Construction de la partie physique

  La partie logique du Réseau de Concepts est uniquement constituée des séparateurs inter-champs. Chaque noeud séparateur contient les champs séparés et leur ordre (AUTHOR-TITLE est différent de TITLE-AUTHOR), ainsi que la chaîne SGML constituant le séparateur. Nous avons choisi d'extraire automatiquement ces séparateurs, afin de pouvoir adapter la construction automatique du Réseau de Concepts à n'importe quel style bibliographique. Pour ce faire, nous disposons d'informations logiques et d'informations physiques. Nous avons donc écrit un utilitaire qui, à partir de la version logique d'une référence et de sa version PostScript, fournit les séparateurs en format SGML. Il nous faut la version SGML de la base, et le style à implanter (nous nous sommes limités à plain).

Pour chaque référence de la base (par exemple, celle de la figure 4.8), on génère un fichier LATEX2e qui contient uniquement cette référence à partir duquel on obtient (en utilisant dvips) un fichier PostScript (tel celui de la figure 4.10, qui donne, à l'impression, la figure 4.9). Ce fichier PostScript est exploitable par ghostscript, c'est-à-dire qu'on peut en extraire des informations textuelles (contenues dans la figure 4.11).


  
Figure: La référence bose94a en BIBTEX.
@ARTICLE{bose94a,
 AUTHOR   = {C. B. Bose and S. Kuo},
 JOURNAL  = {Pattern Recognition},
 NUMBER   = {10},
 PAGES    = {1345--1363},
 TITLE    = {Connected and Degraded Text Recognition Using Hidden Markov Model},
 VOLUME   = {27},
 YEAR     = {1994},
 KEYWORDS = {texte, reconnaissance, hmm, segmentation, connexes, caractere}
}


  
Figure: La version PostScript de la référence bose94.
C. B. Bose and S. Kuo. Connected and Degraded Text Recognition Using Hidden Markov Model. Pattern Recognition, 27(10):1345--1363, 1994.


  
Figure: Extrait du fichier PostScript correspondant à la référence bose94a.
%%Page: 1 1
1 0 bop 220 266 a Fc(Refer)o(ences)220 358 y Fb([1])20
b(C.)11 b(B.)g(Bose)g(and)f(S.)h(K)o(uo.)17 b(Connected)10
b(and)h(De)o(graded)g(T)m(e)o(xt)g(Recognition)e(Using)h(Hidden)289
408 y(Marko)o(v)g(Model.)15 b Fa(P)m(attern)9 b(Recognition)p
Fb(,)g(27\(10\):1345\226136)o(3,)f(1994.)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
	   


  
Figure: Version physique sgml de la référence bose94a.
<Times-Roman>C. B. Bose and S. Kuo. Connected and Degraded Text Recognition
Using Hidden Markov Model. </Times-Roman><Times-Italic>Pattern Recognition
</Times-Italic><Times-Roman>, 27(10):1345--1363, 1994.</Times-Roman>
	   

C'est à partir de la version logique SGML et de la version physique SGML de la référence que nous déduisons les séparateurs des champs, en retrouvant l'emplacement des champs. Ici, nous nous heurtons à une difficulté que nous n'avons pas encore résolue mais qui n'a pas été préjudiciable à notre approche : il faut que les champs aient la même structure logiquement et physiquement. Cela nous pénalise pour des styles bibliographiques complexes, dans lesquels, par exemple, le nom et le prénom sont inversés. Il faudrait alors pousser l'analyse du format lors de la transformation de BIBTEX en SGML jusqu'au troisième niveau, en séparant le prénom du nom.


  
Figure: Les séparateurs détectés automatiquement sur la référence bose94a, en format sgml.
<doc>
 <longueur>218</longueur>
 <sep><chaine><Times-Roman></chaine>
      <empl>0</empl><champ1></champ1><champ2>author</champ2><champ3>doc</champ3></sep>
 <sep><chaine> and </chaine>
      <empl>23</empl><champ1>a</champ1><champ2>a</champ2><champ3>author</champ3></sep>
 <sep><chaine>. </chaine>
      <empl>34</empl><champ1>author</champ1><champ2>title</champ2><champ3>doc</champ3></sep>
 <sep><chaine> </chaine>
      <empl>45</empl><champ1>mot</champ1><champ2>mot</champ2><champ3>title</champ3></sep>
 <sep><chaine> </chaine>
      <empl>49</empl><champ1>mot</champ1><champ2>mot</champ2><champ3>title</champ3></sep>
...
 <sep><chaine>. </Times-Roman><Times-Italic></chaine>
      <empl>101</empl><champ1>title</champ1><champ2>journal</champ2><champ3>doc</champ3></sep>
 <sep><chaine> </chaine>
      <empl>138</empl><champ1>jw</champ1><champ2>jw</champ2><champ3>journal</champ3></sep>
 <sep><chaine></Times-Italic><Times-Roman>, </chaine>
      <empl>150</empl><champ1>journal</champ1><champ2>volume</champ2><champ3>doc</champ3></sep>
 <sep><chaine>(</chaine>
      <empl>182</empl><champ1>volume</champ1><champ2>number</champ2><champ3>doc</champ3></sep>
 <sep><chaine>):</chaine>
      <empl>185</empl><champ1>number</champ1><champ2>pages</champ2><champ3>doc</champ3></sep>
 <sep><chaine>, </chaine>
      <empl>197</empl><champ1>pages</champ1><champ2>year</champ2><champ3>doc</champ3></sep>
 <sep><chaine>.</Times-Roman></chaine>
      <empl>203</empl><champ1>year</champ1><champ2></champ2><champ3>doc</champ3></sep>
</doc>
	   

La figure 4.12 montre le résultat de la détection automatique des séparateurs de la référence bose94a en format sgml (figure 4.11). Le champ longueur y représente le nombre de caractères de la version physique sgml de la référence. empl est l'index (l'emplacement) du premier caractère du séparateur repéré. champ1 est le champ à gauche du séparateur. champ2 est le champ à droite du séparateur et champ3 est le champ contenant le séparateur (tous les champs de premier niveau sont contenus dans le champ « racine » : doc).


  
Figure: Partie du Réseau de Concepts correspondant aux séparateurs de la figure 4.12.
Partie du Réseau de Concepts correspondant aux séparateurs de la figure 4.12.

Ensuite, on construit la partie physique du Réseau de Concepts, en utilisant les informations extraites automatiquement pour relier les noeuds séparateurs aux noeuds champs (cf. figure 4.13). Le numéro inclus dans les champs est le nombre de références de la base où apparaît le champ. Celui inclus dans les séparateurs est le nombre d'occurrences de ce séparateur dans la base.


  
Figure: Calcul des poids des liens arrivant et partant d'un noeud séparateur.
Calcul des poids des liens arrivant et partant d'un noeud séparateur.

Les poids indiqués correspondent aux calculs présentés dans la figure 4.14.


next up previous contents
Next: Conclusion Up: Construction du Réseau de Previous: Construction de la partie
Francois Parmentier
6/19/1998