Vous êtes sur la page 1sur 200

DE NICE SOPHIA ANTIPOLIS

UNIVERSITE

Ecole
Doctorale des Sciences et Technologies de lInformation et de la Communication

Reconnaissance structurelle de
formules math
ematiques typographi
ees
et manuscrites
`
THESE
de doctorat
pour obtenir le titre de

Docteur en Sciences
Discipline : Informatique
par

Stephane LAVIROTTE
Soutenue le 14 juin 2000 a` lESSI (Sophia-Antipolis)

Composition du jury
President :

Jean-Marc FEDOU

Professeur a` lUniversite de Nice Sophia-Antipolis

Rapporteurs :

Karl TOMBRE
Guy LORETTE

Professeur a` lEcole
des Mines de Nancy
Professeur a` lUniversite de Rennes I

Examinateurs :

Loc POTTIER
Peter SANDER
Marc BERTHOD

Charge de Recherche `a lINRIA Sophia-Antipolis


Professeur a` lUniversite de Nice Sophia-Antipolis
Directeur de Recherche a` lINRIA Sophia-Antipolis

Universit
e de Nice Sophia-Antipolis / Institut National de Recherche en Informatique et Automatique

Mis en page avec la classe thloria.

Remerciements

Je tiens remercier :
Loc Pottier pour ses conseils, son exprience et lencadrement de cette thse ;
les membres du jury, Jean-Marc Fdou, Peter Sander, Marc Berthod, et plus particulirement Karl Tombre et Guy Lorette qui ont accept de rapporter cette thse ;
les anciens membres de lquipe SAFIR ainsi que les membres des projets CAFE et
LEMME de lINRIA qui mont tous accueilli avec beaucoup de gentillesse et de bienveillance.
France Limouzis et Patricia Lachaume pour leur soutient et leur aide dans les dmarches administratives.
Je veux aussi remercier toutes les personnes qui ont travaill ponctuellement, de prs ou
de loin avec moi :
Andras Kosmala dans le cadre dune collaboration avec lUniversit de Duisburg ;
Olivier Arsac avec qui les collaborations de travail furent nombreuses et toutes plus
enrichissantes les unes que les autres ;
Colas Nahaboo et Jean-Michel Lon ainsi que toute lquipe KOALA pour leurs outils
de dveloppement, leur bonne humeur et leurs conseils aviss ;
Jos Grimm pour tous ses prcieux conseils sur LATEX.
Enfin, je remercie collectivement tous ceux qui ont bien voulu relire ma thse, mapporter
leur aide et plus particulirement Frdrique, qui a su me soutenir au quotidien.

ii

I do not fear computers.


I fear the lack of them.

Isaac Asimov

iii

iv

Table des matires

Table des figures

Introduction
1
Nos buts initiaux . . . . . . . . . .
2
Motivations et applications possibles
3
Objectifs de ltude . . . . . . . . .
4
Rsultats obtenus . . . . . . . . . .
4.1
Le composant OFR . . . . .
4.2
Irma : une application . . .
5
Plan de lecture . . . . . . . . . . . .
6
Conventions typographiques . . . .

vii

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Chapitre I Reconnaissance structurelle de formules mathmatiques : tat de lart


1
2

3
4

Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De nombreuses applications possibles . . . . . . . . . . . . . .
2.1
dition de formules mathmatiques . . . . . . . . . . .
2.1.1
Syntaxe linaire . . . . . . . . . . . . . . . .
2.1.2
Palette de modles . . . . . . . . . . . . . . .
2.1.3
dition bidimensionnelle . . . . . . . . . . .
2.1.4
Des modes ddition coteux . . . . . . . .
2.1.5
Vers une dition manuscrite . . . . . . . . . .
2.2
Bases de formules . . . . . . . . . . . . . . . . . . . .
2.3
Extension des systmes de reconnaissance de documents
2.4
Diverses autres applications . . . . . . . . . . . . . . .
Dfinition des notations mathmatiques . . . . . . . . . . . . .
Difficults par rapport la reconnaissance de textes . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

1
3
3
5
5
5
6
6
7

.
.
.
.
.
.
.
.
.
.
.
.
.

9
10
11
12
12
14
15
15
16
17
18
18
19
20

Table des matires

vi

4.1
Bruit et petits symboles . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
Reconnaissance des symboles . . . . . . . . . . . . . . . . . . . .
4.4
Ambiguts sur le rle dun mme symbole . . . . . . . . . . . . .
4.5
Ambigut sur le placement relatif des symboles . . . . . . . . . .
4.6
Ambigut dans la notation . . . . . . . . . . . . . . . . . . . . . .
4.7
Peu de redondance de linformation . . . . . . . . . . . . . . . . .
Quelques traitements prliminaires . . . . . . . . . . . . . . . . . . . . . .
5.1
Seuil de numrisation . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
Rduction du bruit . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3
Ralignement de limage . . . . . . . . . . . . . . . . . . . . . . .
5.4
Isoler une formule dans un document . . . . . . . . . . . . . . . .
5.5
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segmentation et reconnaissance des symboles . . . . . . . . . . . . . . . .
6.1
Caractres typographis . . . . . . . . . . . . . . . . . . . . . . .
6.2
Caractres manuscrits . . . . . . . . . . . . . . . . . . . . . . . .
6.3
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reconnaissance de la structure . . . . . . . . . . . . . . . . . . . . . . . .
7.1
Identification des relations spatiales et logiques entre les symboles .
7.2
Reconnaissance de la structure de la formule . . . . . . . . . . . .
Diversit des approches existantes . . . . . . . . . . . . . . . . . . . . . .
8.1
Diversit des mthodes pour lanalyse structurelle . . . . . . . . . .
8.1.1
Mthodes syntaxiques . . . . . . . . . . . . . . . . . . .
Grammaire de coordonnes . . . . . . . . . . . . . . . . .
Schmas de spcification de structure . . . . . . . . . . . .
Grammaires probabilistes . . . . . . . . . . . . . . . . . .
Grammaires de graphes . . . . . . . . . . . . . . . . . . . .
8.1.2
Mthodes logiques . . . . . . . . . . . . . . . . . . . . .
8.1.3
Mthodes mixtes liant analyse gomtrique et syntaxique
Mthodes procdurales . . . . . . . . . . . . . . . . . . . .
Mthode de dcoupage par projections . . . . . . . . . . . .
8.2
Difficults pour comparer les approches . . . . . . . . . . . . . . .
8.2.1
Diversit dans les donnes traites . . . . . . . . . . . .
8.2.2
Grande diversit des approches . . . . . . . . . . . . . .
8.2.3
Diversit des notations mathmatiques . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21
22
22
23
24
25
26
27
29
30
31
33
34
35
35
37
39
39
40
42
42
42
43
43
45
45
46
47
48
48
48
50
51
51
51
52

Chapitre II Concepts pour la reconnaissance de formules


1
Rutilisabiblit . . . . . . . . . . . . . . . . . . . . . .
1.1
quations, matrices et notations exotiques . . .
1.2
Manuscrit et Typographi . . . . . . . . . . . .
2
volutivit . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
Introduction de nouvelles notations . . . . . . .
2.2
Adaptation aux diffrentes notations . . . . . . .
3
Interprtation de larbre de syntaxe . . . . . . . . . . . .
4
Communication des rsultats . . . . . . . . . . . . . . .
5
Composants pour lanalyse de formules . . . . . . . . .
5.1
Dtail des diffrents composants . . . . . . . . .
5.2
Critiques possibles de larchitecture en modules .
6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre III Mthode et outils


1
Architecture dOFR . . . . . . . . . . . . . . . . . . .
2
Analyse de limage . . . . . . . . . . . . . . . . . . .
2.1
Enveloppe dun symbole . . . . . . . . . . . .
2.2
Rsultat type attendu de lOCR . . . . . . . .
2.3
Extrapolation de donnes . . . . . . . . . . . .
2.3.1
Taille relative . . . . . . . . . . . .
2.3.2
Ligne de base . . . . . . . . . . . .
3
Analyse lexicale . . . . . . . . . . . . . . . . . . . . .
4
Analyse gomtrique . . . . . . . . . . . . . . . . . .
4.1
Introduction des graphes . . . . . . . . . . . .
4.2
Dfinition dun graphe . . . . . . . . . . . . .
4.3
Construction du graphe initial . . . . . . . . .
4.3.1
Analyse de proximit . . . . . . . .
4.3.2
Critres gomtriques et graphiques
4.3.3
Critres divers . . . . . . . . . . . .
4.3.4
Rle du type lexical . . . . . . . . .
4.3.5
Conclusion . . . . . . . . . . . . . .
4.4
Optimisation . . . . . . . . . . . . . . . . . .
4.5
Les limites de la construction du graphe . . . .
5
Rappels sur les grammaires . . . . . . . . . . . . . . .
5.1
Rappels sur les grammaires . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

53
54
54
54
55
55
56
56
57
58
58
59
59

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

61
61
63
63
65
66
66
66
67
69
69
70
71
71
72
74
75
75
76
78
79
80

vii

Table des matires

5.1.1
Grammaires formelles . . . . . . . . . . . .
5.1.2
Grammaires attribues . . . . . . . . . . . .
5.2
Grammaires de graphes . . . . . . . . . . . . . . . . .
Analyse structurelle . . . . . . . . . . . . . . . . . . . . . . .
6.1
Grammaire de graphes et formules mathmatiques . .
6.2
Construction du contexte des rgles . . . . . . . . . .
6.2.1
Exemple . . . . . . . . . . . . . . . . . . .
6.2.2
Superpositions dans lapplication des rgles
6.2.3
Grammaire sans ambigut . . . . . . . . .
6.3
Analyse structurelle . . . . . . . . . . . . . . . . . .
6.3.1
Analyse ascendante . . . . . . . . . . . . .
6.3.2
Attributs synthtiss . . . . . . . . . . . . .
6.3.3
Mise jour incrmentale du graphe . . . . .
6.4
Optimisation . . . . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Chapitre IV Applications et Validation


1
Notations mathmatiques typographies . . . . . . . . . . . . . . . . .
1.1
Un comparatif des logiciels pour la reconnaissance de symboles
1.1.1
Quelques critres . . . . . . . . . . . . . . . . . . .
Formats traits . . . . . . . . . . . . . . . . . . . . . .
Numrisation et traitement de limage . . . . . . . . . .
Analyse du document et reconnaissance des symboles .
Adaptabilit et volutivit . . . . . . . . . . . . . . . .
1.1.2
Protocole de comparaison . . . . . . . . . . . . . . .
1.1.3
Tableau comparatif . . . . . . . . . . . . . . . . . .
1.1.4
Conclusion . . . . . . . . . . . . . . . . . . . . . . .
1.2
Dveloppement dun OCR ddi et adaptatif . . . . . . . . . .
1.2.1
Numrisation du document . . . . . . . . . . . . . .
1.2.2
Extraction des composantes connexes . . . . . . . . .
1.2.3
Extraction des caractristiques des symboles . . . . .
1.2.4
Apprentissage . . . . . . . . . . . . . . . . . . . . .
1.2.5
Identification du caractre et rsultat fourni . . . . . .
1.2.6
valuation des performances . . . . . . . . . . . . .
2
Notations mathmatiques manuscrites . . . . . . . . . . . . . . . . . .
2.1
Prsentation du systme NeuroGraph . . . . . . . . . . . . . .

viii

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

80
81
83
86
86
87
87
88
91
93
93
94
95
95
96

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

99
99
100
101
101
101
102
102
103
103
104
104
105
105
106
108
109
110
111
111

2.2
Reconnaissance des symboles manuscrits
Irma : Dualit du systme dvelopp . . . . . .
3.1
Adaptation au format des donnes . . . .
3.2
Adaptation aux notations reconnues . . .
3.3
Adaptation du format de sortie . . . . . .
3.4
Communication laide dOpenMath . .
Validation . . . . . . . . . . . . . . . . . . . . .
4.1
La grammaire de graphes . . . . . . . . .
4.2
Rsultats . . . . . . . . . . . . . . . . .
4.3
Quelques exemples caractristiques . . .
Conclusion . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

Chapitre V Implmentation dOFR


1
Langages de script . . . . . . . . . . . . . . . . . . . . . .
1.1
Bref historique des langages . . . . . . . . . . . . .
1.2
Quelques caractristiques des langages . . . . . . .
1.2.1
Machine virtuelle . . . . . . . . . . . . .
1.2.2
Typage . . . . . . . . . . . . . . . . . . .
1.2.3
Modle objet . . . . . . . . . . . . . . . .
1.3
Conclusion . . . . . . . . . . . . . . . . . . . . . .
2
Critres de choix pour un langage de script . . . . . . . . . .
2.1
Efficacit et fiabilit . . . . . . . . . . . . . . . . .
2.2
Environnement de dveloppement . . . . . . . . . .
2.3
Extension possible . . . . . . . . . . . . . . . . . .
2.4
Sauvegarde des donnes dans le langage . . . . . . .
2.5
Une interface graphique . . . . . . . . . . . . . . .
3
Une comparaison des langages de script . . . . . . . . . . .
3.1
Langages de script tests . . . . . . . . . . . . . . .
3.2
Conclusion . . . . . . . . . . . . . . . . . . . . . .
4
Choix dun langage . . . . . . . . . . . . . . . . . . . . . .
4.1
Klone . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Klm : une extension graphique de Klone . . . . . .
4.3
Communication avec dautres systmes : OpenMath
5
Implmentations . . . . . . . . . . . . . . . . . . . . . . .
6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

112
114
115
115
116
116
118
118
122
123
127

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

129
130
130
132
132
133
133
134
134
134
134
135
135
136
136
136
138
139
139
140
141
143
143

ix

Table des matires

Conclusion

145

Annexe A Exemple de reconnaissance dune formule avec Irma

149

Annexe B Varit des symboles


1
Exemples de polices et de variations . . . .
2
Symboles textuels les plus courants . . . .
2.1
Alphabet latin . . . . . . . . . . . .
2.2
Accentuations . . . . . . . . . . . .
2.3
Chiffres . . . . . . . . . . . . . . .
2.4
Ponctuations . . . . . . . . . . . .
3
Symboles mathmatiques les plus courants .
3.1
Alphabet grec . . . . . . . . . . . .
3.2
Oprateurs mathmatiques . . . . .

153
153
154
154
154
155
155
155
155
156

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

Annexe C Un document de test

159

Rfrences bibliographiques

165

Table des figures

Chapitre I
1
dition linaire dans Maple V.5 . . . . . . . . . . . . . . . . . . .
2
dition par palette de modles . . . . . . . . . . . . . . . . . . .
3
Les tapes de lanalyse dun document papier . . . . . . . . . . .
4
Exemples de diffrents seuils de numrisation . . . . . . . . . . .
5
Mthode de projection de textes pour diffrentes orientations . . .
6
Mthode valuant les angles de droites entre voisins pour un texte
9

x2i . . . . . . . .
7
Mthode de projection appliqu la formule

.
.
.
.
.
.

9
13
14
28
30
31
32

. . . . .

32

.
.
.
.
.
.

i=0

Mthode valuant les angles de droites entre voisins pour la formule


Arbre syntaxique de lexpression ax2 + bx + c . .
tiquetage statistique des liens entre symboles . . .
Exemple de rgles de la grammaire de coordonnes
Exemple de dcoupage par projections . . . . . . .
Problmes soulevs par la mthode de projections .

.
.
.
.
.
.

.
.
.
.
.
.

9


.
.
.
.
.
.

x2i

33

i=0

.
.
.
.
.

40
41
43
49
50

Chapitre II
1
Arbres de syntaxe avec attributs smantiques . . . . . . . . . . . . . . . .
2
Relations entre les diffrents composants . . . . . . . . . . . . . . . . . . .

53
57
58

Chapitre III
1
Larchitecture dOFR . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Construction des rgions englobantes . . . . . . . . . . . . . . . . . . . .
3
Problme soulev par les botes englobantes rectangulaires . . . . . . . . .

61
62
63
64

9
10
11
12
13

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

xi

Table des figures

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Ligne de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reprsentation simplifie de lanalyse syntaxique . . . . . . . . . .
Deux reprsentations possibles dune forme par un graphe . . . . .
Construction des liens de proximit . . . . . . . . . . . . . . . . .
Dtection des relations entre symboles, base sur une notion dangle
Analyse gomtrique : dfinition des rgions . . . . . . . . . . . .
Subdivision du plan en sous-rgions . . . . . . . . . . . . . . . . .
Optimisation du temps de construction du graphe initial . . . . . . .
Problme de construction du graphe . . . . . . . . . . . . . . . . .
Le graphe reprsentant la formule A2 + B . . . . . . . . . . . . . .
Rgle pour laddition . . . . . . . . . . . . . . . . . . . . . . . . .
Rgle pour lexposant . . . . . . . . . . . . . . . . . . . . . . . . .
Superposition des modles sur un graphe . . . . . . . . . . . . . . .
Toutes les superpositions des rgles r + et r . . . . . . . . . . . . .
Rcriture dun sous-graphe en un nud . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

67
68
70
72
73
74
77
78
79
87
88
88
89
90
94

.
.
.
.
.
.
.
.
.
.
.
.
.
.

99
107
107
108
112
113
114
117
123
123
124
124
125
125
126

Chapitre V
1
Styles darchitecture logicielle . . . . . . . . . . . . . . . . . . . . . . . .

129
131

Chapitre IV
1
Filtres appliqus limage . . . . . . . . . . . . . . . . . . . . . . . . .
2
Extraction du contour vectoriel . . . . . . . . . . . . . . . . . . . . . . .
3
Extraction des boucles . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Prsentation du systme pour la reconnaissance des symboles manuscrits
5
Rchatillonnage des donnes . . . . . . . . . . . . . . . . . . . . . . .
6
Transformation des coordonnes temporelles en coordonnes spatiales . .
7
Communication entre Irma et Mathematica via OpenMath . . . . . . . .
8
Notations simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
Notations trigonomtriques . . . . . . . . . . . . . . . . . . . . . . . . .
10 Notations de type somme, produit, intgrale . . . . . . . . . . . . . . . .
11 Notations de type indice, exposant . . . . . . . . . . . . . . . . . . . . .
12 Formules plus complexes . . . . . . . . . . . . . . . . . . . . . . . . . .
13 Notations matricielles . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14 Exemples divers de formules manuscrites . . . . . . . . . . . . . . . . .

xii

Architecture dOpenMath . . . . . . . . . . . . . . . . . . . . . . . . . . .

142

Annexe A
149
1
Irma : Symboles reconnus par lOCR . . . . . . . . . . . . . . . . . . . . 150
n

2
Reconnaissance de la notation n! =
i . . . . . . . . . . . . . . . . . . . 151
i=1

Reconnaissance de la notation n! =

n


i (suite) . . . . . . . . . . . . . . .

152

Annexe C
1
Page de test pour la comparaison des rsultats des logiciels dOCR . . . . .

159
160

i=1

xiii

Introduction

Traditionnellement, la transmission et le stockage des informations ont t effectus en


utilisant des documents papier. Durant les vingt dernires annes, la cration de documents
assiste par ordinateur na pas cess daugmenter ; cette capacit de production des documents numriques, couple des moyens de transmission de linformation sans cesse croissants, aurait d permettre une utilisation moindre des documents papier. Cela ne semble toutefois pas tre le cas. Ils sont toujours imprims, pour une diffusion au plus grand nombre,
pour une lecture souvent plus commode lorsque la quantit dinformations est importante, ou
bien encore lorsquil sagit de rapporter la preuve de lexistence dun contrat. Bien quune
grande partie de linformation soit dsormais numrique, les formidables outils que sont les
ordinateurs permettent, dans le mme temps, et paradoxalement, daugmenter considrablement la production de documents papier.
En effet, les nouvelles technologies de linformation, loin de faire clore la "socit sans
papier" quelles promettaient ont, au contraire, accru dans des proportions significatives le
tonnage de papier consomm. Lobjectif, du dbut des annes 1980, dun bureau sans papier a volu : le traitement du flux des donnes numriques et des documents papier doit
seffectuer dune manire efficace et intgre. La solution ultime serait quun ordinateur soit
capable de traiter avec autant defficacit un document papier quil est capable de le faire
avec les autres mdias numriques ; les documents papier devraient pouvoir tre lus et interprts comme un ordinateur est capable de le faire, avec un disque magntique ou optique.
Ainsi, les documents papier pourraient avantageusement tre lus la fois par lhomme et la

Introduction

machine, ce qui nest pas le cas des mdias informatiques actuels.


Lobjectif de lanalyse et de la reconnaissance de documents est lidentification du texte,
des graphiques ou notations composant limage, ainsi que lextraction de linformation,
la manire dun lecteur humain. On peut distinguer deux grands ensembles au sein de la
reconnaissance de documents : lanalyse du texte et lanalyse des composants graphiques
(images, schmas, notations, plans, etc.). Les diffrents lments constituant le document
sont identifis et peuvent ainsi tre analyss avec les meilleures techniques possibles. Lanalyse textuelle semploie la reconnaissance du texte. Les tches concernes sont : la reconnaissance des caractres, la dtermination dun ventuel angle de rotation, la reconnaissance
de la structure du texte en colonnes, paragraphes, lignes de textes et mots. Lanalyse graphique soccupe, quant elle, de la reconnaissance des lignes, des schmas, des symboles
constituant un diagramme, de lidentification des logos dentreprise, etc.
Depuis une trentaine dannes, de nombreuses recherches ont t effectues dans le cadre
de lanalyse et de la reconnaissance de documents. Ces recherches concernent des domaines
aussi varis que la reconnaissance de formes, de lcriture manuscrite, de la structure de
documents, de classifications, etc. Ces rsultats obtenus ont conduit la mise au point dalgorithmes et de logiciels danalyse de documents ; il existe ainsi aujourdhui de nombreux
systmes capables de convertir un document papier en un document lectronique. Dans le
domaine de la bureautique, les lecteurs optiques de caractres coupls des logiciels comme
OmniPage ou TextBridge permettent la reconnaissance de textes imprims. Dautres systmes plus spcialiss analysent des documents spcifiques : les services bancaires utilisent
des lecteurs de chques, ou bien encore les services postaux qui automatisent le tri du courrier par lecture du code postal.
Les systmes actuels de traitement de documents se scindent en deux grandes classes :
les applications spcifiques (lecture de plans architecturaux, lecture automatique de journaux
et de revues, lecture de bibliographies, interprtation de vues ariennes, etc.), et les systmes
plus gnraux. Les premires sont conues en tenant compte du type de document trait et
lexploitent mieux grce une connaissance approfondie du domaine. Les secondes, plus
gnralistes, ont pour objectif de pouvoir traiter un maximum de documents rencontrs sans
utiliser trop de connaissances spcifiques.
Mme si ces derniers logiciels sont assez complets (dtection des paragraphes, des tableaux, identification des zones contenant des images, des schmas, etc.), ils ignorent compltement certains types ou composants de documents. Leur analyse est laisse dautres
sous-systmes, plus spcialiss.
Cest le cas notamment des notations mathmatiques. Les expressions ou notations mathmatiques sont pourtant prsentes dans la plupart des articles, revues ou livres de mathmatique, physique, astronomie, conomie, etc. Elles renferment une partie importante de

1. Nos buts initiaux

la connaissance et, ntant pas analyses, le lecteur perd une grande part de linformation
disponible. Une interprtation par un ordinateur des notations mathmatiques, issues de documents papier, permettrait aussi leur rutilisation directe. Cela viterait de devoir saisir
manuellement la formule pour quelle soit manipulable par un systme de calcul.

1 Nos buts initiaux


Lobjectif principal de ce travail est ltude et la conception dune mthode adapte
la reconnaissance et linterprtation des expressions mathmatiques. Lun des principaux
problmes soulevs est la reconnaissance de la structure de la formule, en dautres termes
comment reconnatre la structure de la notation mathmatique partir de sa forme gomtrique (des lments qui la composent et de leurs positions).
Une tude des approches existantes nous a permis didentifier les points importants
dun tel systme. La mthode choisie doit tout dabord permettre la reconnaissance la plus
large possible des diffrentes notations mathmatiques. En effet, plusieurs recherches ont
t effectues sur une sous-classe dexpressions, comme les quations ou les intgrales. Ces
approches, trop restrictives, ne permettent pas la reconnaissance dautres types de notations,
comme les notations matricielles. Ensuite, la varit des notations mathmatiques implique
quil est impossible davoir une connaissance a priori de tous les types de notations. Il est
donc ncessaire de pouvoir adapter le systme des notations jusqualors inconnues. Enfin,
pour un mme type de notations, les diffrences typographiques peuvent tre importantes ; il
est donc indispensable que le systme soit galement capable de sy adapter.
Notre objectif est de concevoir un systme capable dinterprter des notations mathmatiques partir de leur reprsentation graphique. Ces recherches sont motives pas les diffrentes applications quun tel systme permettrait de mettre en uvre. Nous allons prsenter
maintenant quelques unes des applications possibles.

2 Motivations et applications possibles


Une quantit croissante de logiciels manipulent des formules mathmatiques. Cest tout
particulirement le cas des systmes de calcul formel. Durant les vingt dernires annes, le
calcul formel sest progressivement impos comme un outil prcieux pour le scientifique,
quil soit mathmaticien ou ingnieur. Des systmes aussi gnralistes que Maple ou Mathematica jouent aujourdhui un rle dterminant dans des domaines aussi varis que les
mathmatiques, la chimie, la physique, lconomie, etc. Les systmes de calcul formel se
prsentent, pour la plupart, comme des programmes interactifs permettant deffectuer des
calculs sur des objets mathmatiques symboliques (des variables). laide de ces systmes,

Introduction

il est par exemple possible de calculer les solutions formelles de lquation du second degr
ax2 + bx + c = 0 en fonction des paramtres a, b et c. Ce calcul est dit formel car les
valeurs des paramtres a, b et c ne sont pas prcises. Depuis leur apparition dans les annes soixante, et au fil des versions, les systmes de calcul formel ont beaucoup gagn en
puissance et en efficacit. La nette progression de la qualit des algorithmes employs et de
leur implmentation permet daugmenter la taille des problmes traits, tout en rduisant le
temps ncessaire leur rsolution. Cependant, dans ces diffrents systmes, linterface a peu
volu. En matire ddition de formules, la saisie des expressions seffectue de manire linaire, dans une syntaxe souvent lourde et sans rapport avec le sens mathmatique des objets
dcrits. Nanmoins, mme si des recherches ont t effectues dans le domaine de linterface
homme-machine pour la saisie dobjets mathmatiques (avec utilisation du clavier et de la
souris), linterface la plus intuitive pour la saisie dexpressions mathmatiques reste lcriture. Elle est la plus naturelle. Un systme de reconnaissance de la structure des formules
mathmatiques permettrait une saisie beaucoup plus intuitive pour lutilisateur occasionnel.

Nombreuses sont les connaissances mathmatiques potentiellement trs utiles aux systmes de calculs formels. Mais la plupart du temps, elles ne sont pas disponibles sous forme
lectronique, seulement sur papier. Elles sont regroupes dans des livres de mathmatique,
mais aussi de physique, de mcanique, etc. Des outils comme les bases dductives de formules se proposent de rendre consultables de telles grbases de connaissances pour diffrents
types dapplications, comme un recueil lectronique de formules mathmatiques ou bien
encore une base de donnes de lemmes pour un systme de preuves automatiques. lheure
actuelle, le seul moyen dintroduire des donnes dans ces bases est la saisie manuelle. Lautomatisation de cette tche, peu gratifiante, grce un outil dextraction et de reconnaissance
des formules mathmatiques serait un atout.

Les systmes actuels danalyse et de reconnaissance de documents ne prennent pas en


compte les notations mathmatiques, bien quils soient capables de les identifier en tant que
telles. Lextension des systmes existants permettrait dappliquer ces outils des articles
scientifiques avec plus de succs. Une dernire application, celle-ci plus anecdotique, autoriserait de faire un copier/coller entre un logiciel permettant de visualiser du PostScript et un
systme de calcul formel par exemple, ou un diteur de texte. Cette fonctionnalit permettrait
un utilisateur dintgrer une expression mathmatique prise dans un article son propre
document, sans avoir effectuer une nouvelle fois la saisie.

Ces quelques exemples montrent bien lutilit dun systme de reconnaissance structurelle des notations mathmatiques. Plusieurs mthodes ont dj t labores dans ce domaine, avec plus ou moins de succs.

3. Objectifs de ltude

3 Objectifs de ltude
Les systmes de conversion et danalyse doivent traiter les documents papier depuis leur
format dorigine, cest dire la feuille de papier, jusqu linterprtation complte de leur
contenu. Ceci conduit concevoir des systmes capables dintgrer et de faire cooprer plusieurs systmes spcialiss. Les composants intervenant sont aussi divers que :
un scanner pour la transformation du document papier en une forme numrique exploitable par un ordinateur,
un module de reconnaissance des symboles entrant dans la composition dune notation
mathmatique,
ou encore un module danalyse et dinterprtation de la structure dun objet mathmatique partir de ses composantes gomtriques.
Lobjectif de cette thse est de concevoir et de mettre au point une mthode et un systme qui soient capables de reconnatre la forme structurelle des notations mathmatiques.
Ce systme doit permettre une adaptation rapide aux diffrents types de notations. Il doit
donc tre suffisamment gnraliste pour remplir cette tche, loppos des systmes figs.
Lapproche que nous avons choisie est base sur les grammaires de graphes contextuelles
attribues. Ce type de grammaire fournit un formalisme trs intressant de description des
manipulations structurelles multidimensionnelles, suffisamment puissant pour sadapter aux
diffrentes exigences dune telle reconnaissance.

4 Rsultats obtenus
Un composant logiciel paramtrable assurant la reconnaissance de formules mathmatiques, baptis OFR (Optical Formula Recognition) a t dvelopp et expriment au sein
dune application : Irma (Interface pour le Reconnaissance de notations MAthmatiques).
Cest cette application qui nous a servi de plate-forme dexprimentation pour la validation
de nos rsultats. Larchitecture logicielle mise en place a permis de tester plusieurs types de
donnes, savoir plusieurs systmes de reconnaissance de caractres, aussi bien typographis que manuscrits.

4.1 Le composant OFR


La conception et la ralisation dOFR constituent lessentiel de notre travail. OFR est
un composant logiciel paramtrable de reconnaissance structurelle des formules mathmatiques. Nous avons utilis une grammaire de graphes contextuelle attribue pour la reconnaissance syntaxique des notations. Ce choix nous autorise une grande paramtrabilit et
une adaptation rapide la reconnaissance de nouvelles notations.
tant donn un ensemble de symboles reconnus et leurs positions, notre systme de reconnaissance structurelle fait une analyse spatiale et syntaxique de ces objets, afin de crer

Introduction

larbre de syntaxe qui reprsente la notation mathmatique. Cet arbre de syntaxe est ensuite transform selon le protocole OpenMath, afin de pouvoir transmettre cette expression
dautres systmes qui pourront lvaluer, lditer ou lui appliquer le traitement dsir.

4.2 Irma : une application


Pour valider OFR, nous avons dvelopp une application base sur ce composant ; elle
comporte plusieurs modules. En amont du systme de reconnaissance structurelle, nous
avons besoin dun logiciel capable dextraire et didentifier les lments qui composent la
notation. Afin de vrifier notre mthode de reconnaissance structurelle, nous avions pour
objectif deux applications majeures : la reconnaissance manuscrite et la reconnaissance typographie. Nous avons fait plusieurs recherches sur les logiciels existants dans ces deux
domaines.
En ce qui concerne la reconnaissance de caractres typographis, plusieurs logiciels existants pouvaient a priori rpondre nos besoins. Mais aprs une tude pousse, il sest avr
quaucun dentre eux ne rpondait rellement nos attentes. Pour la plupart dentre eux,
nous ne disposions pas du code source pour effectuer une quelconque adaptation notre
cas particulier. Ils ne considrent pas les symboles mathmatiques, et rares sont ceux qui
reconnaissent lalphabet grec usit dans les formules mathmatiques. Dans le cas o nous
disposions du code original, il tait trs difficile, voir impossible, dextraire uniquement le
moteur de reconnaissance des caractres, ou tout simplement de faire apprendre une nouvelles police de caractres. Nous avons donc dvelopp un petit logiciel capable de rpondre
nos attentes.
Concernant la reconnaissance manuscrite, nous avons collabor avec une universit allemande qui nous a fournit son logiciel de reconnaissance de symboles manuscrits. Une telle
coopration nous a vit de dvelopper un logiciel dans un domaine o nous ntions pas
experts.
Une interface sert de lien aux diffrents modules de reconnaissance des caractres et de
la structure : cest lapplication Irma. Nous dtaillerons plus amplement ces ralisations dans
le chapitre IV, page 99.

5 Plan de lecture
Ce manuscrit se compose de cinq chapitres, dune conclusion, dappendices, dune bibliographie et dun index.

6. Conventions typographiques

Aprs une prsentation rapide des diffrentes applications possibles dune recherche sur
la reconnaissance structurelle des formules mathmatiques, nous prsenterons dans le chapitre I, page 9, les difficults rencontres par rapport aux autres domaines de la reconnaissance de documents. Nous donnerons galement dans ce chapitre un aperu des diffrentes
approches dj utilises, ainsi quune critique objective de celles-ci. Cela nous permettra de
dgager les lments principaux dun outil de reconnaissance structurelle dobjets mathmatiques.
Le chapitre II, page 53, prsente rapidement les principales caractristiques que doit renfermer un logiciel de reconnaissance dexpressions mathmatiques. Cet aperu peut servir
de base la lecture des chapitres suivants.
Larchitecture ainsi que la mthode mise en uvre sont dcrites dans le chapitre III,
page 61. Ce chapitre propose, par exemple, quelques rflexions sur lutilisation des grammaires de graphes contextuelles et attribues.
Le chapitre IV, page 99, prsente les applications ralises ainsi que les tests de validation
effectus.
Enfin, le chapitre V, page 129, prsente limplmentation du systme de reconnaissance
structurelle dvelopp : OFR.

6 Conventions typographiques
Afin de faciliter la lecture de ce document, un certain nombre de conventions typographiques ont t utilises :
Les caractres gras mettent en vidence la dfinition dun terme.
Les caractres italiques indiquent les noms propres.
les caractres obliques entre parenthses dsignent les termes anglais (english terms ).
Les caractres sans serif dsignent du code informatique ou des identificateurs.

Introduction

Chapitre I
Reconnaissance structurelle de formules
mathmatiques : tat de lart

Lcriture a t dveloppe et est aujourdhui utilise afin de satisfaire deux besoins essentiels : la conservation de la connaissance ainsi que la communication et la diffusion du
savoir au plus grand nombre. Durant plusieurs sicles, diffrentes techniques ont t mises
au point et amliores : lcriture, mais aussi les schmas ou certains types de notations bidimensionnelles, comme les mathmatiques. Ce type de notation a t dvelopp dans le but
de pouvoir concentrer des ides et davoir des reprsentations mathmatiques visualisables.
Limprimerie a contribu laccroissement du volume de la production des crits, imposant une organisation documentaire. Plus rcemment, lapparition de linformatique a
quelque peu boulevers notre rapport avec les documents crits. Il est maintenant naturel de
consulter des bibliothques de documents lectroniques constitues partir de documents
papier. Toutefois, cette possibilit se limite actuellement aux textes et les autres types de
notations en sont exclus la plupart du temps.
Il parat pourtant naturel et commode dutiliser les mmes notations dans notre communication avec les ordinateurs. Mais cela implique de devoir convertir notre mthode de
reprsentation usuelle en donnes comprhensibles et manipulables par une machine. Les

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

systmes informatiques actuels permettent de gnrer des notations mathmatiques bidimensionnelles, mais aucun outil nest actuellement capable de reconnatre une notation mathmatique. La seule mthode permettant pour linstant dintroduire ce type de donnes est le
recours une intervention humaine. Toutefois, la spectaculaire progression de la puissance
des ordinateurs et les dveloppements de la micro-informatique, tant sur le plan matriel
que logiciel, permettent denvisager un systme capable de reconnatre et dinterprter une
notation mathmatique telle que nous en utilisons couramment.
Contrairement un texte, une notation mathmatique utilise un arrangement bidimensionnel de symboles pour transmettre linformation. tre capable de comprendre et dinterprter ce type dexpression implique deux problmes distincts : la reconnaissance des
symboles qui composent la formule et lanalyse de lagencement de ces symboles.
Ce chapitre contient un bref aperu historique des diffrentes approches utilises jusqu
prsent pour tenter de rsoudre cette difficult. Ces rflexions sont principalement le fruit de
la lecture douvrages, comme [?][1] ou [?][2] , aucune application implmentant les principes
prsents nayant pu tre obtenue.

1 Historique
Lanalyse et la reconnaissance de documents [?][3] [?][4] [?][5] [?][6] [?][7] tendent devenir des thmes majeurs de la recherche depuis plus dune dizaine dannes. Ces recherches
ont donn lieu des publications si nombreuses quil est devenu ncessaire de crer des revues (IJDAR (International Journal on Document Analysis en Recognition ) cr en 1998) et
des confrences spcialises (comme ICDAR (International Conference on Document Analysis and Recognition ) cre en 1991). De nombreuses applications se sont dveloppes afin
de rpondre au besoin croissant de tels outils dans des domaines aussi varis que :
le tri automatique du courrier,
la reconnaissance automatique de formulaires,
la rtro-conversion de rfrences bibliographiques [?][8] ,
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]

10

A NDERSON R.H., Two dimensional mathematical notation (1977).


B LOSTEIN D. & G RBAVEC A., Recognition of mathematical notation (1997).
K UBOTA K., I WAKI O. & A RAKAWA H., Document understanding system (1984).
C HENEVOY Y., Reconnaissance structurelle de documents imprims : tudes et ralisations., PhD Thesis (1992).
C HENEVOY Y. & B ELAD A., Low-level structural recognition of documents (1994).
L ORETTE G., Le traitement automatique de lcrit et du document.tat de la recherche (1996).
B ELAD A., C HENEVOY Y. & PARMENTIER F., Panorama des mthodes structurelles en analyse et
reconnaissance de documents (1997).
B ELAD A. & C HENEVOY Y., Document analysis for retrospective conversion of library reference catalogues (1997).

2. De nombreuses applications possibles

la reconnaissance de notations schmatiques [?][9] comme :


la lecture de partitions musicales,
lanalyse et linterprtation de plans architecturaux [?][1] [?][2] ,
la comprhension de documents techniques ou scientifiques comme :
les schmas de circuits lectroniques,
le dessin technique [?][3] ,
les cartes routires,
etc.
Lanalyse et la reconnaissance de documents font intervenir plusieurs disciplines : le traitement dimages, la reconnaissance de formes (formes gomtriques, caractres, symboles,
etc) et la reconnaissance de la structure. Cette dernire ncessite lutilisation de diverses
mthodes comme lanalyse syntaxique, smantique, statistique, ou bien encore des modles hybrides, faisant intervenir deux ou plusieurs mthodes simultanment ou de manire
concurrente.
Lintrt des chercheurs envers la reconnaissance des notations mathmatiques dans un
document est ancien ; ds 1967 les premiers travaux sur le sujet apparaissent : R. Anderson
[?][4] , mais aussi W. A. Martin (1967), H. R. Lewis (1968) ou encore S. K. Chang [?] [5] .
Lengouement pour la reconnaissance de lcriture manuscrite applique aux formules mathmatiques motive ces diffrents travaux. Nanmoins, les performances des ordinateurs de
lpoque ne permettent pas denvisager une utilisation concrte de ces diffrentes mthodes.
Plusieurs autres recherches en dcouleront dans les annes suivantes ; elles seront dtailles
dans les paragraphes suivants (paragraphe sur la reconnaissance structurelle des formules
mathmatiques 7).
Ces diffrentes recherches ont toutes un but similaire. Nous allons essayer de prsenter
les applications envisageables dun systme permettant la reconnaissance de la structure dun
objet mathmatique partir de sa reprsentation bidimensionnelle.

2 De nombreuses applications possibles


Plusieurs ralisations peuvent tre envisages ds lors que lon dispose dun outil pour la
reconnaissance de la structure dune expression mathmatique. Mais une des principales ap[9]
[1]
[2]
[3]
[4]
[5]

B LOSTREIN D., General diagram-recognition methodologies (1995).


D ORI D. & T OMBRE K., Paper drawings to 3d cad : A proposed agenda (1993).
T OMBRE K., Analysis of engineering drawing : State of the art and challenges (1998).
C OLLIN S., Interprtation de la Cotation des Dessins Techniques par Analyse Syntaxique, PhD Thesis
(1992).
A NDERSON R.H., Syntax-directed recognition and hand-printed two-dimensional mathematics (1967).
C HANG S.K., A method for the structural analysis of two-dimensional mathematical expressions (1970).

11

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

plications reste ldition de formules mathmatiques. Ce problme est rencontr chaque fois
quun logiciel manipule des objets mathmatiques ; cest le cas, par exemple, des systmes
de calcul symbolique, ou bien encore des logiciels pour ldition de documents scientifiques.

2.1 dition de formules mathmatiques


La spectaculaire progression de la puissance des ordinateurs et les dveloppements de
la micro informatique permettent un nombre de plus en plus important dutilisateurs de
bnficier des possibilits du calcul symbolique. Ainsi, aprs le monde de la recherche, ce
sont entre autres, les ingnieurs, les tudiants ou les conomistes qui ralisent lintrt de ces
outils. Ces nouveaux utilisateurs sont le plus souvent occasionnels. Le faible temps quils
consacrent lemploi de ces systmes ne leur permet pas dinvestir beaucoup dnergie dans
lapprentissage des interfaces. Elles doivent donc tre le plus intuitives possibles. Pour le
moment, la qualit gnrale des interfaces aux systmes de calcul symbolique nest pas satisfaisante. Les efforts ont en effet longtemps port sur lamlioration des moteurs de calcul
ou lenrichissement des bibliothques de fonctions plus que sur linterface. Aujourdhui, il
convient de reconsidrer ce point pour proposer des interfaces qui soient la fois plus simple
demploi et directement accessibles aux dbutants [?] [1] .
Nous avons eu loccasion de tester, au moins dans des versions de dmonstration, un
certain nombre de logiciels permettant ldition de formules mathmatiques. Nous ne nous
sommes pas cantonns aux interfaces spcifiques ddies au calcul formel [?][2] , car des
solutions intressantes sont apparues notamment dans le domaine de ldition de documents
mathmatiques. Les logiciels intgrant une dition pour les formules mathmatiques sont
nombreux. Nous nen avons retenus que quelques uns, les plus caractristiques prsentant
des techniques diffrentes.
2.1.1 Syntaxe linaire
Historiquement, cest la premire mthode utilise lorsque lon ne disposait pas encore
de terminaux graphiques. La saisie de la formule seffectue laide dune syntaxe linaire
base sur des mots cls qui dsignent les oprateurs. Cette approche sapparente plutt
un langage permettant de dcrire les oprateurs constituant lexpression. La saisie est assez
rapide car elle ne fait intervenir que le clavier. Mais elle ncessite de connatre la syntaxe
des commandes pour les diffrents oprateurs. Cette mthode nest donc pas du tout adapte
un utilisateur occasionnel qui devra se documenter afin de pouvoir saisir une expression,
mme trs simple. Malgr ses dsavantages, cette syntaxe linaire est toujours assez large[1]
[2]

12

M ARTIN G., P ITTMAN J., W ITTENBURG K., C OHEN R. & PARISH T., Computing without keyboards
(1990).
K AJLER N. & S OIFFER N., A survey of user interfaces for computer algebra systems (1998).

2. De nombreuses applications possibles

ment utilise.
LATEX ([?][1] ) est un systme de formatage de texte principalement dvelopp par Leslie
Lamport. Il sappuie sur les travaux de Donald Knuth ([?] [2] , [?][3] ) qui, pour sa part, mis au
point TEX. LATEX est le systme le plus couramment employ dans de nombreuses disciplines
scientifiques pour la publication de documents contenant des expressions mathmatiques. La
syntaxe utilise est une syntaxe linaire et il est donc ncessaire de connatre les commandes
et leur syntaxe. Pour des formules plus importantes, il devient rapidement difficile dditer celles-ci sans erreurs, et il est quasiment impossible de les relire. Pour preuve, voici la
syntaxe utilise pour la formule suivante :


V =4
x=0

R2 x2

y=0

z= R

1
dzdydx = R2 H
3
x2 +y 2

\[V=4\int_{x=0}^{R}{\int_{y=0}^{\sqrt{R^{2}-x^{2}}}
{\int_{z=\frac{H}{R}\sqrt{x^{2}+y^{2}}}^{H}{dzdydx}}}
=\frac{1}{3}\pi R^{2}H
Maple [?][4] , le clbre systme de calcul formel, utilise aussi ce type de saisie, mme
dans la dernire version du logiciel (version V.5) que nous avons pu tester. Mme si celui-ci
affiche comme rsultat la forme bidimensionnelle de la formule, ce qui en facilite la relecture,
on peut signaler quen cas derreur dans la saisie linaire de la formule, il est difficile de la
localiser et de la corriger.
2.1.2 Palette de modles
Lutilisation dune palette de modles ncessite de slectionner, dans une barre doutils
ou un menu, un modle de construction mathmatique correspondant au souhait de lutilisateur.
Tous les diteurs base de modles sont semblables. Les oprateurs basiques comme
laddition ou la multiplication, ainsi que les lettres et chiffres, peuvent tre directement saisis
en slectionnant la touche approprie sur le clavier. Pour les oprateurs ou les symboles
qui ne sont pas dfinis sur un clavier classique, ou bien pour les oprateurs de nature
bidimensionnelle, comme les intgrales, les racines carres, les fractions, etc., lutilisateur
slectionne, le plus souvent laide de la souris, llment dsir dans une palette. Le modle
est alors insr dans la formule en cours ddition. Les figures suivantes prsentent deux
[1]
[2]
[3]
[4]

L AMPORT L., LaTeX : a document preparation system (1994).


K NUTH D.E., The Tex Book (1993).
K NUTH D.E., Mathematical typography (1979).
C HAR B.W., G EDDES K.O., G ONNET G.H., M ONAGAN M.B. & WATT S., Maple Reference Manual
(1988).

13

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

F IG . 1 dition linaire dans Maple V.5

exemples de palette de modles. Elles sont issues de Scientific Workplace [?] [1] , un diteur de
document scientifiques, et de Frame Maker de Adobe [?][2] , un traitement de texte permettant
ldition de formules mathmatiques.

(a) Scientific Workplace 3.0

(b) Frame Maker 5.5

F IG . 2 dition par palette de modles


Cette technique, mme si elle peut paratre prfrable une syntaxe linaire, nest cependant pas acceptable pour la saisie dune formule par un utilisateur novice. En effet, il reste
difficile de trouver loprateur souhait au milieu dune multitude de formes structurelles et
de symboles spciaux. Cette remarque, mme si elle doit tre nuance pour un utilisateur
averti, reste toutefois pertinente. Ce choix de lutilisation commune de la souris et du clavier
simultanment pour ldition dune expression nest pas ergonomique et induit un surcot
important de temps de saisie, d aux dplacements des mains dun priphrique lautre.
[1]
[2]

14

R ESEARCH T.S., Scientific workplace (1999).


Adobe FrameMaker 5.5 Classroom in a Book (1997).

2. De nombreuses applications possibles

2.1.3 dition bidimensionnelle


Dautres recherches pour une dition bidimensionnelle des formules mathmatiques sont
signaler [?][1] . Nous retiendrons entre autres, les travaux dOlivier Arsac [?][2] [?][3] sur
Emath, un serveur pour ldition et la manipulation de formules mathmatiques. Plusieurs
modes ddition sont proposs suivant les diffrentes formes de lexpression que lon souhaite saisir. Si lutilisateur veut saisir le polynme 2x 9 + 4x7 + 6x5 + 8x3 , la saisie seffectuera de manire simplifie : 2 x 9 + 4 x 7 + .... Cette adaptabilit permet de minimiser le
nombre de touches frappes sans pour autant utiliser des commandes spcifiques. Toutefois,
ces modes spciaux ddition ne sont pas toujours aussi bien adapts que sur lexemple prcdent. Il faut alors avoir recours la souris ou des commandes plus complexes que seul
un utilisateur averti pourra connatre.

2.1.4 Des modes ddition coteux


La plupart des interfaces traditionnelles ncessitent donc un apprentissage plus ou moins
pouss de commandes, ce qui reprsente un investissement assez important en temps de
formation pour lutilisateur.
La solution de la palette de modles qui, elle, ne ncessite aucune formation particulire,
nest pas efficace : elle contraint lutilisateur avoir recours la fois la souris et au clavier,
ce qui induit un surcot important du temps de saisie.
Pour preuve, les travaux raliss par Stuart K. Card sur les connaissances issues de la
psychologie exprimentale [?][4] , [?][5] . Son but tait de dgager les donnes utiles pour
effectuer des choix de conception dans les interfaces hommes-machines. Une application
intressante de cette approche est le modle des actions de manipulation (keystroke-level
model ) [?][6] qui permet dvaluer le temps ncessaire la ralisation de certaines tches.
Cela consiste dabord dtailler les oprations lmentaires ncessaires la ralisation de la
tche pour ensuite additionner les temps ncessaires chaque opration. Une table indique
la dure de chaque opration :
[1]
[2]
[3]
[4]
[5]
[6]

L AVIROTTE S., Interface pour le calcul formel, Technical Report (1995).


A RSAC O., Interfaces Homme Machine pour le Calcul Formel, PhD Thesis (1997).
A RSAC O., DALMAS S. & G ATANO M., The design of a customizable component to display and edit
formulas (1999).
C ARD S.K., E NGLISH W. & B URR B., Evaluation of mouse, rate-controlled isometric joystick, step
keys and text keys for text selection on a crt (1978).
C ARD S.K., Human limits and vdt computer interface (1984).
C ARD S.K., M ORAN T.P. & N EWELL A., The keystroke level model for user performance time with
interactive systems (1980).

15

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

Appui dune touche


TK =0,30s [0,08 1,20]
Pointer une cible la souris
TP =1,10s [0,8 1,5]
Passer du clavier la souris
TH =0,40s
Tracer n traits de longueur totale l cm TD (n, l)=0,9 n + 0,10 l
Prparer mentalement une action
TM =1,35s
Rponse du systme
TR
Cependant, le temps nest quun aspect de linterface, dautres caractristiques doivent
tre prises en compte lors de la conception : la frquence des erreurs, la difficult dapprentissage et de mmorisation, la proportion des fonctionnalits rellement utilises.
2.1.5 Vers une dition manuscrite
Tous ces facteurs laissent penser que la meilleure interface pour ldition dexpressions
mathmatiques, la plus intuitive pour lutilisateur novice et la plus rapide et pratique pour
un utilisateur expriment, reste une interface du type papier crayon [?][1] . Cest en effet la
mthode qui nous est la plus naturelle.
Un exemple dutilisation de ce type dinterface pour la saisie dexpressions mathmatiques est le systme dvelopp par Richard H. Littin [?] [2] . Il est possible davoir recours soit
la souris soit une tablette graphique et un stylo. Les caractres sont reconnus au moment
du trac. La mthode utilise pour la reconnaissance structurelle est base sur une grammaire
LR. Le rsultat produit par le systme est une expression sous forme linaire utilisant une
notation prfixe, la manire de Lisp. Mais le systme impose plusieurs contraintes lutilisateur : lordre dans lequel les symboles doivent tre saisis, ldition o la modification de
symboles est limite la correction du dernier caractre. Toutes ces contraintes impliquent
quune utilisation concrte de ce systme savre presque impossible.
Un autre systme se servant dune saisie manuscrite pour les formules mathmatiques
est celui de R. Fukuda [?][3] . Lui aussi effectue une reconnaissance immdiate des symboles
ainsi que de leur position. Lutilisateur doit tout dabord faire une pause aprs lcriture de
chaque symbole et vrifier que la reconnaissance est bien conforme ce quil souhaitait
saisir. Dans le cas contraire, il doit corriger lerreur avant la saisie de la suite de la notation.
Cette approche, pour lavoir teste, semble trop pnalisante dun point de vue ergonomique
pour tre concrtement utilisable dans le cadre dune application.

[1]
[2]
[3]

16

NAKAGAWA M., K ATO N., M ACHII K. & S OUYA T., Principles of pen interface design for creative
work (1993).
L ITTIN R.H., Mathematical Expression Recognition : Parsing Pen/Tablet Input in Real-Time Using LR
Techniques, Masters thesis (1995).
F UKUDA R., S OU I., TAMARI F., M ING X. & S UZUKI M., A technique of mathematical expression
structure analysis for the handwriting input system (1999).

2. De nombreuses applications possibles

Compar dautres mthodes pour la saisie de formules mathmatiques, les systmes


bass sur lcriture prsentent lavantage, sils sont bien utiliss, dtre plus naturels et plus
intuitifs lutilisation. Cest ce qui ressort dune tude faite par S. Smithies [?] [1] . Le dsavantage de ce type de systme est quil doit tre capable de sadapter aux diffrents styles
dcriture, et aux imperfections de lcriture manuscrite (alignement des symboles approximatif, taille des symboles moins significative que dans la cas typographi). Le systme doit
aussi permettre la saisie la plus naturelle possible pour lutilisateur, afin den faciliter lutilisation par un large public. Mais plusieurs approches tudies imposent un ordre dcriture
des symboles afin de faciliter la phase danalyse structurelle. Cest par exemple le cas des
systmes prsents par S. Smithies [?][1] ou A. Kosmala [?][2] .
Des systmes comme celui de S. Smithies permettent une saisie des symboles laide de
la souris, mais lcriture et donc les rsultats sont de moins bonne qualit quavec une tablette
digitaliser. Un des obstacles au dveloppement de telles interfaces pourrait donc tre la ncessit de disposer dune tablette graphique. Nanmoins, le faible cot de ces priphriques
permet denvisager une dmocratisation de ce type dinterface pour la saisie des expressions
mathmatiques. Un outil pour la reconnaissance structurelle dune formule partir de sa reprsentation rendrait possible un tel mode de saisie, plus ergonomique et habituel pour toutes
les catgories dutilisateurs. Nous dtaillerons dans le chapitre II les diffrents lments que
doit intgrer un tel systme pour tre concrtement utilisable.

2.2 Bases de formules


Dautres applications sont envisageables dans un tout autre domaine que celui de la
saisie interactive. Il sagit dexploiter la possibilit de rutiliser la masse dinformations mathmatiques rpartie dans une littrature scientifique abondante. Des outils comme les bases
dductives de formules [?][3] ou les tables dintgrales [?][4] se proposent de mettre leur
connaissance disposition des systmes de calcul symboliques ou des systmes de preuves
automatiques.
Le problme majeur est la saisie des expressions qui composent ces bases. Le seul moyen
lheure actuelle est la saisie manuelle. Lautomatisation de cette tche fastidieuse serait
un atout et contribuerait au dveloppement de tels systmes. Une application possible la
reconnaissance dexpressions mathmatiques est donc lextraction et la comprhension des
formules qui composent les recueils scientifiques dits depuis de nombreuses annes, et qui
ne sont pas disponibles sous forme lectronique.
[1]
[2]
[3]
[4]

S MITHIES S., Freehand Formula Entry System, Masters thesis (1999).


KOSMALA A. & R IGOLL G., Recognition of on-line handwritten formulas (1998).
DALMAS S., G ATANO M. & H UCHET C., A deductive database for mathematical formulas (1996).
E INWOHNER T.H. & FATEMAN R.J., Searching techniques for integral tables (1995).

17

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

2.3 Extension des systmes de reconnaissance de documents


Les logiciels actuels danalyse et de reconnaissance de documents ne traitent pas le problme des notations mathmatiques. Ils utilisent les rsultats de plusieurs recherches sur la
segmentation et ltiquetage des lments composant un document [?] [1] , [?][2] , [?][3] , [?][4]
et sont donc capables de les identifier. Mais aucun des logiciels ne traite ces donnes pour
en extraire la reprsentation syntaxique de lexpression. Dans le cas de lanalyse et de la
reconnaissance dun article scientifique, cest la partie principale du document qui nest par
traite, perdant ainsi lavantage dutiliser ce type de logiciels. Une extension de ces systmes, issus de la recherche ou commerciaux, afin quils prennent en compte les notations
mathmatiques, serait tout fait souhaitable dans le cadre de la reconnaissance darticles
scientifiques.

2.4 Diverses autres applications


Avec lexplosion de la communication numrique, grce en particulier Internet, la
quantit de donnes consultables dans un domaine scientifique est sans cesse croissante.
Beaucoup doutils pour lindexation automatique de textes, mais aussi dimages, de sons
ou bien encore de vidos, sont apparus. Toutefois, la possibilit deffectuer ce type de recherches nexiste pas dans le cadre des formules mathmatiques. Des standards comme
MathML permettent la reprsentation des mathmatiques en HTML. Pour rendre disponible
et consultable distance labondance de donnes scientifiques, un systme dindexation de
documents est ncessaire, ainsi que pour pouvoir bnficier des connaissances fournies sous
la forme dexpressions mathmatiques. Un tel systme dcoulerait directement de lextension des systmes pour la reconnaissance de documents scientifiques.
Quelques applications plus anecdotiques peuvent tre mentionnes comme la possibilit
de faire un copier/coller entre un visualisateur de document et un diteur (pour les cas o
lon ne possde pas le document source) ou un systme de calcul. Ce type dapplication
permettrait dans le mme temps une conversion de plusieurs sources en un format unique.
Aprs avoir pass en revue diffrents types dapplications ralisables avec un systme de
reconnaissance structurel des formules mathmatiques, nous allons analyser plus en dtail
dans les paragraphes suivants, les diverses mthodes permettant de rsoudre ce problme.
Nous examinerons les principales difficults lies la reconnaissance de notations bidimen[1]
[2]
[3]
[4]

18

WAHL F.M., W ONG K.Y. & C ASEY R.G., Block segmentation and text extraction in mixed text/image
documents (1982).
K RISHNAMOORTHY M., NAGY G., S ETH S. & V ISWANATHAN M., Syntactic segmentation and labeling of digitized pages from technical journals (1993).
JAIN A.K. & J U B., Page segmentation using document model (1997).
FATEMAN R.J., How to find mathematics on a scanned page (1997).

3. Dfinition des notations mathmatiques

sionnelles, comme pour les expressions mathmatiques, par rapport une simple reconnaissance de texte. Mais commenons par dfinir plus prcisment ce quest une notation
mathmatique.

3 Dfinition des notations mathmatiques


Avant de sintresser au problme de la reconnaissance proprement dite, abordons avant
tout la dfinition dune notation mathmatique. Comment dfinir la syntaxe et la smantique
de ce langage bidimensionnel ? Les notations mathmatiques nont malheureusement pas t
dfinies formellement et nont t qu demi standardises [?] [1] , autorisant par l-mme des
variantes dans les notations et la manire de les reprsenter.
G. Martin suggre dans [?][2] que ltape pralable lautomatisation du traitement des
notations mathmatiques est ltude de ces notations. Il prsente une brve liste des conventions trouves dans les publications scientifiques. Voici un aperu des sources dinformations
possibles sur les notations mathmatiques.
Descriptions de formatage : plusieurs ouvrages ont t publis dcrivant les notations
mathmatiques.
Descriptions introduites dans les systmes de formatage de formules : les gnrateurs
de notations mathmatiques contiennent des descriptions qui peuvent tre utilisables.
Dans [?][3] , D. Knuth dcrit les rgles dcriture dfinies dans TEX pour le formatage
des expressions mathmatiques.
Expertise humaine : la communication avec des experts en notations mathmatiques
peut aider la dfinition de conventions appropries et adaptes aux systmes de reconnaissance.
Afin de simplifier quelque peu la reconnaissance, il est possible de restreindre le problme en limitant le systme un certain style de formatage. Ce principe a t utilis par
P. Chou [?][4] pour la mise au point de son application. Il semble vident que cette restriction
contribue une simplification du problme si lon connat la technologie ayant permis de
mettre en forme la notation. Il faut toutefois bien penser conserver la possibilit dadapter
le principe des notations produites par dautres systmes.
Nous pouvons cependant dterminer un ensemble de critres regroupant les oprateurs
mathmatiques. Cela nous conduit des classes doprateurs qui ont des proprits communes sur la manire de les reprsenter, de les reconnatre et donc de les interprter.
[1]
[2]
[3]
[4]

H IGHAM N.J., Handbook of Writing for the Mathematical Sciences (1993).


M ARTIN W.A., Computer input/output of mathematical expressions (1971).
K NUTH D.E., Mathematical typography (1979).
C HOU P., Recognition of equations using a two-dimensional stochastic context-free grammar (1989).

19

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

Arrangement spatial : larrangement spatial dun oprateur dfinit la localisation


possible des oprandes. Lagencement des oprandes autour de loprateur qui les
relie, relve plus des conventions dusage que de relles normes. On peut donner
comme exemple le cas dune intgrale ou les indices dfinissant lintervalle dintgration peuvent tre au dessus et en-dessous du symbole, ou bien en haut droite et en
bas droite.
Priorit des oprateurs : la priorit des oprateurs dfinit un ordre pour lvaluation
de lexpression.
Identification : lidentification de symboles particuliers restreint les possibilits de
regroupement avec les symboles environnants. Dans la plupart des cas, lidentification
dun symbole permet de savoir si ce symbole est un oprateur ou une oprande, et la
connaissance de son arrangement spatial permet de localiser les zones o se situent les
oprandes.
Placement relatif des symboles : le placement relatif des symboles est crucial dans
le cas doprateurs
implicites. Si un oprateur explicite regroupe plusieurs oprandes

(+, , ), la libert pour positionner les oprandes est plus grande. Dans le cas dune
notation implicite (x y que lon note xy), le placement relatif des symboles est
primordial pour dduire le rle de chacun.
Taille et style relatif des symboles : la taille relative des symboles donne des indices
pour rsoudre les ambiguts dans les relations spatiales, ce qui est particulirement
important dans le cas de notations implicites. Prenons lexemple dune diminution de
la taille des caractres, qui signifie de toute vidence que les symboles considrs sont
en position dindice ou dexposant. Pourtant, ce constat nest pas une contrainte forte ;
ceci est particulirement flagrant dans le cas de notations manuscrites, o les liberts
que prennent les rdacteurs sont grandes.
Malgr quelques indices qui peuvent aiguiller la reconnaissance dexpressions mathmatiques, le problme reste difficile tant les particularits sont nombreuses. Nous allons dtailler
dans le paragraphe suivant quelques unes des difficults spcifiques la reconnaissance de
notations mathmatiques.

4 Difficults par rapport la reconnaissance de textes


Beaucoup de recherches sont effectues dans le domaine de la reconnaissance optique
de caractres (OCR : Optical Character Recognition ). Celles-ci ont conduit des produits
commerciaux comme OmniPage, TextBridge, etc. Nous allons nous attacher identifier les
diffrences fondamentales entre la reconnaissance de mots et la reconnaissance de caractres
isols afin de mettre en exergue les difficults lies la reconnaissance des symboles composant une expression mathmatique.

20

4. Difficults par rapport la reconnaissance de textes

des fins de recherche, il est possible de sabstraire de cette tape pour se concentrer sur
lanalyse de lagencement des symboles afin den dduire la structure de la formule. Ainsi,
des jeux de donnes peuvent tre obtenus en corrigeant manuellement les erreurs, ou en
simulant ltape de reconnaissance des symboles. Cette approche t utilise, entre autre,
dans [?][1] .
Nous commenons par nous intresser aux problmes qui interviennent lors de la reconnaissance des symboles composant une expression mathmatique. Il est en effet important
de comparer les problmes rencontrs avec ceux qui se produisent dans dautres domaines
de lanalyse de documents. Quelques critres ont t retenus qui nous permettront de dduire
les principes majeurs des difficults rencontres lors de la reconnaissance des symboles. Les
remarques faites sappliquent divers types de notations bidimensionnelles, et en particulier
au cas des expressions mathmatiques.

4.1 Bruit et petits symboles


Plusieurs oprations prparatoires, appliques limage, sont courantes dans lanalyse
de documents. Elles servent par exemple rtablir lorientation de limage, ou bien encore
supprimer les petits dfauts ds ltape de numrisation du document. Cest le cas, par
exemple, de poussires sur la vitre du scanner qui sajoutent aux donnes du document original. Plusieurs types dalgorithmes ont t dvelopps pour raliser cette opration de nettoyage de limage. Malheureusement, la plupart dentre eux ne peuvent pas sappliquer au
cas de la reconnaissance dexpressions mathmatiques. En effet, ces notations sont constitues de petits symboles comme le point (.), la virgule (,), lapostrophe (  ), le tilde (), laccent
circonflexe (), pour ne citer queux.
La formule suivante reprsente le noyau de la kme application dans la rsolution de
Taylor de m1 , ..., mn . Cette formule est contitue pour plus de 40% (47 symboles sur 116)
de petits symboles (points, virgules, petits accent circonflexes).

I=(i1 ,...,ik )

PI

k

j=1

(1)j

ppcm(mi1 , ..., mik )


k1
m
(ei ... eij ... eik ) = 0
ppcm(mi1 , ..., m
ij , ..., mik ) 1 ,...,mn 1

Nous sommes aussi obligs de constater que ces petits symboles sont souvent dcisifs,
en tout cas trs importants, pour la reconnaissance et pour la comprhension de lexpression dans sa globalit. On peut toutefois nuancer cette argumentation par laugmentation
des performances matrielles et logicielles de la micro-informatique et des photocopieurs.
Les impurets ajoutes limage lors de ltape de numrisation du document tendent se
rduire. La qualit des capteurs et du pr-traitement directement inclus lors de la numrisa[1]

O KAMOTO M. & T WAAKYONDO H.M., Structure analysis and recognition of mathematical expressions
(1995).

21

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

tion rduisent considrablement les problmes. De plus, les erreurs ntaient pas uniquement
dues aux poussires diverses, mais aussi la faible rsolution des capteurs. Ce problme
nest plus rellement dactualit, les appareils actuels bon march atteignant des rsolutions
de 1200 dpi optique (300 dpi pour les tlcopieurs).

4.2 Segmentation
La sparation ou segmentation des diffrents symboles est relativement simplifie dans
le cas des expressions mathmatiques typographies ; il y a en effet trs peu de symboles
qui se superposent dans une notation. Ce nest pas le cas dans dautres applications comme
la reconnaissance des partitions musicales, o il y a superposition des notes sur les lignes,
ou bien encore dans la reconnaissance dun texte. Dans un mot, il peut arriver que certaines
lettres soient rapproches au point de se toucher ; cest par exemple le cas pour ff, fi, ffi,
etc. Dans ces diffrents cas, les lettres sont ligatures des fins esthtiques, mais aussi par
tradition historique. Cette pratique est en effet un reliquat des origines de limprimerie.
Dans le cas de notations manuscrites, le travail est beaucoup moins ais. De nombreux
symboles peuvent tre suffisamment proches au point davoir une superposition partielle des
caractres. Le problme de la segmentation peut alors devenir trs difficile rsoudre dans
le cas o lon ne dispose que du visuel de ce qui a t crit. Quand la formule a t crite sur
une tablette, des donnes supplmentaires sont utilisables et des techniques mathmatiques
statistiques permettent deffectuer la sparation des symboles. Cest le cas, par exemple, des
chanes de Markov (HMM : Hidden Markov Models ) [?] [1] .

4.3 Reconnaissance des symboles


La reconnaissance des symboles dans les notations mathmatiques est beaucoup plus
difficile que dans la plupart des autres applications danalyse de documents. Voici les diffrents points qui nous amnent cette conclusion.
Lensemble des symboles utiliss : alors que dans un grand nombre dapplications lensemble des symboles utiliss est assez rduit (environ une trentaine de symboles pour
lalphabet plus une ventuelle ponctuation), les notations mathmatiques disposent de
deux alphabets (lalphabet romain et grec), de chiffres, de symboles de ponctuations
utiliss comme notation (point, apostrophe, tilde, etc) et de symboles mathmatiques
spcifiques (plus, moins, racine, etc). Une valuation sommaire nous laisse penser
quenviron 150 250 symboles sont assez couramment employs (voir annexe B).
La varit des styles : les diffrents styles sont mis contribution. Lutilisation dans
une mme formule de caractres en fonte normale, grasse ou italique est courante.
[1]

22

KOSMALA A. & R IGOLL G., Recognition of on-line handwritten formulas (1998).

4. Difficults par rapport la reconnaissance de textes

Ce choix permet de mieux identifier certains groupes de symboles. Cest le cas par
exemple pour le nom des fonctions trigonomtriques, souvent en italique.
Les trs grandes diffrences dans la taille des symboles : un simple exemple illustre
trs bien ce problme, qui est srement la caractristique principale dune notation
mathmatique. La taille des symboles stend du plus petit, le point par exemple, au
plus grand comme une parenthse ou un signe intgrale, qui regroupe un ensemble de
symboles. Cette caractristique peut mme tre pousse lextrme dans le cas dun
point, qui a la signification dune drive quand il est situ au dessus dune lettre. Il est
alors dans une fonte plus petite que le caractre auquel il se rapporte. Ou bien, dans le
cas extrme contraire, laccolade qui groupe un ensemble de formules, et dont la taille
peut alors atteindre celle de la page elle-mme.
Certaines de ces caractristiques ne sont pas exclusivement rserves aux notations mathmatiques, mais cest en tout cas lune des seules notations regroupant autant de particularits.

4.4 Ambiguts sur le rle dun mme symbole


Un mme symbole peut avoir une signification diffrente suivant le contexte dans lequel
il est utilis. Comparons, par exemple, le sens que peut avoir une ligne dans le cadre dune
analyse de carte routire ; elle peut reprsenter une route, une rivire, une frontire, la dlimitation du centre ville, entre autres choses. Certains attributs visuels donnent un indice pour
distinguer ces diffrents cas, comme la couleur, lpaisseur du trait, etc. Dans le cas dun dessin technique une ligne peut reprsenter le contour dun objet, une cotation, une hachure, etc.
Il en va de mme pour les expressions mathmatiques, o un symbole peut avoir diffrentes significations. Afin dillustrer ces propos, prenons quelques exemples de symboles
pouvant avoir une signification diffrente suivant leur position dans une formule :
le point (.) peut reprsenter un oprateur de multiplication, une notation dcimale dans
le systme anglo-saxon, une opration de drivation (x),
tre une partie dun symbole
plus complexe ( : ; !) ou bien encore ntre quun parasite obtenu aprs numrisation
du document ;
la virgule ou apostrophe (,) est employe pour sparer une liste darguments, ou peut
signifier la notation prime pour une variable, ou bien tre un composant dun symbole
( ;) ;
le trait horizontal () peut matrialiser loprateur moins (unaire ou binaire), un trait
de fraction, le conjugu dune variable (x), ou simplement ntre quun composant
dun symbole plus complexe comme le signe gal(=), infrieur ou gal (), inclusion
(), etc.
La seule mthode pour dterminer la signification est donc de tenir compte des informations contextuelles. Rsoudre lambigut est alors un problme qui doit tre pris en compte
lors de lanalyse de lagencement des symboles.

23

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

x
=0
y

Dans lexemple ci-dessus, presque tous les traits horizontaux ont une signification diffrente. On comprend bien alors les difficults souleves par un mme symbole, ayant un rle
diffrent suivant son contexte. La seule manire de faire une analyse syntaxique correcte est
de tenir compte des autres objets environnant le symbole considr, donc de faire une analyse
en fonction du contexte.

4.5 Ambigut sur le placement relatif des symboles


Nous venons de montrer que le contexte tait trs important pour dterminer la signification dun symbole. On peut y ajouter le fait que lagencement des symboles est en grande
partie responsable du sens de la notation. Malheureusement, les mathmaticiens nont pas
rellement standardis leurs notations. De nombreuses liberts peuvent tre prises dans le
placement relatif des symboles, ce qui devient critique dans le cas doprateurs implicites.
Seul le positionnement prcis des symboles est alors capable dindiquer le sens de la notation, contrairement au cas o lon a un oprateur qui unifie ses oprandes. Les notations
du type indice, exposant, multiplication implicite ou encore les notations matricielles sont
des notations sans rel symbole groupant, donc dites implicites, alors que laddition, la soustraction, la division utilisent des symboles pour unifier leurs oprandes. Prenons un exemple
pour illustrer ce problme li au placement des symboles.
2x

2x

2x

2x

2x

2x

2x

2x

2x

La difficult provient du fait que les positions ne sont pas rparties sur un espace discret,
comme cela peut tre le cas pour un texte, mais dans un espace continu. Il se pose donc
un problme de cas limite pour dterminer si un symbole est en position dindice, sil est
align ou sil est en exposant. Cette confusion est encore plus sensible dans le cas dune
reconnaissance de notations manuscrites.
Lexemple prcdent dmontre bien quune grande partie de lessence de la notation est
donne par le placement des symboles les uns par rapport aux autres. Il peut tre difficile de
dterminer quelles sont les relations exactes qui existent entre deux symboles, cette structure
pouvant tre remise en cause par dautres symboles proches. Pour illustrer notre propos,
considrons la configuration xi. Celle-ci peut signifier trois choses :
i est en position dindice par rapport x (xi yj )
i peut tre sur la ligne principale de rfrence de lexpression (ax i),
x est en position exposant prcdent la variable i comme pour la notation transpose.

24

4. Difficults par rapport la reconnaissance de textes

Dautres exemples de ce type, mettant en vidence les ambiguts lies au placement


des symboles et du contexte par rapport auxquels on value les relations, sont exposs par
G. Martin [?][1] et M. Okamoto [?][2] . Ce problme de lambigut des relations spatiales
entre les lments est encore plus critique pour les notations manuscrites, le rdacteur prenant
souvent des liberts avec le placement et lalignement des symboles.

4.6 Ambigut dans la notation


Zhao, Sakurai, Sugiura et Torii [?][1] se proposent de dfinir deux types de conventions
tacites dans les notations mathmatiques : identifiables et non identifiables. Les conventions
non identifiables incluent les exemples ambigus dcrits par Martin dans [?] [2] . Voici une des
illustrations de ce type dambigut :
 10 
10
10



i + Y signifie
(i + Y ) ou bien
i +Y ?
Est-ce que
i=5

i=5

i=5

Linterprtation de cette expression dpend de diffrentes conventions, du contexte, du


champ dapplication de lexpression ou bien encore des habitudes personnelles. Elle ncessite donc la connaissance et lexprience du lecteur, qui permettraient de dterminer lordre
de priorit.
Les conventions dcidables correspondent aux rgles implicites de prcdence des oprateurs mathmatiques . Une personne qui lit la formule a + b c connassant les rgles de
priorit standard (la multiplication prime sur laddition), comprend le sens de la formule.
Cela signifie quil linterprtera en a + (b c) et non (a + b) c.
Les auteurs prsentent diffrents types de formalismes qui peuvent tre utiliss pour la
saisie dexpressions mathmatiques : un formalisme fort, faible et libre. Plus le formalisme
est fort, moins les conventions tacites doivent tre encodes dans la grammaire effectuant
lanalyse de lexpression, la rendant plus complexe. Il est donc plus facile dcrire une grammaire se basant sur un formalisme fort.
Formalisme fort : chaque structure mathmatique employe dans un systme utilisant
un formalisme fort doit tre place dans une bote par lutilisateur. Ainsi, toutes les conventions implicites sont explicites par la personne qui effectue la saisie. Aucune information
[1]
[2]
[1]
[2]

M ARTIN W.A., Computer input/output of mathematical expressions (1971).


O KAMOTO M. & T WAAKYONDO H.M., Structure analysis and recognition of mathematical expressions
(1995).
Z HAO Y., S AKURAI T., S UGIURA H. & T ORII T., A methodology of parsing mathematical notation for
mathematical computation (1996).
M ARTIN W.A., Computer input/output of mathematical expressions (1971).

25

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

sur la priorit des oprateurs nest ncessaire dans la grammaire car toutes la connaissance
est fournie par la structure. Prenons la formule suivante pour illustrer nos propos :


x + 3 sin 4x dx

Elle est encode de la manire suivante :


 4
0

x +

sin

4 x

dx

Ceci peut tre interprt comme si lutilisateur avait explicitement encod la prcdence
de tous les oprateurs, ainsi que les arguments de chacun des oprateurs.
Formalisme faible : lutilisateur fournit moins dinformation dans le formalisme faible ;
la grammaire a connaissance de la prcdence des oprateurs. Les botes quil nest plus
ncessaire dexpliciter, sont celles qui peuvent donc tre dduites de la prcdence implicite des oprateurs. La grammaire rsultante utilise des catgories grammaticales comme
les termes, les facteurs, les atomes, etc. Les priorits sont spcifies en utilisant ces catgories. Sur lexemple ci-dessus, la prcdence de la multiplication implicite sur lapplication
de fonction se traduit par une rgle grammaticale du type :
<sin op> sin <terme>
<terme> <terme> <facteur>
Le niveau de prcision des botes structurelles devient donc :
 4
0

x + 3 sin

4 x

dx

Formalisme libre : Les seules botes structurelles spcifies sont celles qui permettent
deffectuer la mise en forme de lexpression.
 4
0

x + 3 sin 4 x dx

Quand on utilise un formalisme libre, la grammaire permettant lanalyse de la notation doit tre tendue afin de dterminer le dbut et la fin dun groupe de symboles. Dans
lexemple cit, la grammaire devra dterminer quels sont les lments qui constituent largument de lintgrale.

26

4. Difficults par rapport la reconnaissance de textes

4.7 Peu de redondance de linformation


Dans la plupart des notations utilises, la redondance de linformation est souvent prsente. Cest le cas des partitions musicales. Linformation concernant le bmol () ou le dise
() pour une note est prsente en dbut de porte, la cl. Mais elle est aussi souvent rpte
juste devant la note pour rappeler la modification.
Il est aussi possible, dans certaines applications, que le domaine des combinaisons de
symboles soit restreint, le cas typique tant les caractres composant un mot. Il est souvent
inutile de reconnatre lensemble des symboles constituant un mot pour pouvoir identifier
celui-ci. Cette proprit conduit lintroduction de trois techniques majeures dans les logiciels de reconnaissance de texte :
lutilisation de dictionnaires : ils ont fait leur apparition ds 1959 pour reconnatre un
mot en ne possdant quune partie des lettres qui le composent. Une erreur courante
des systmes de reconnaissance de caractres est la confusion entre m et rn. Lutilisation dun dictionnaire adapt au texte que lon cherche identifier permet en effet
de modifier come en corne. Mais cette technique peut toutefois avoir ses limites
comme dans le cas de darne et dame qui existent tous les deux dans la langue
franaise ;
lutilisation de statistiques sur lapparition des lettres dans une langue donne : cette
mthode se base sur la frquence dapparition des lettres ou des combinaisons de
lettres dans une langue. Par exemple, la lettre la plus courante en anglais est le e
(13%), et la paire de lettres la plus couramment utilise est he. laide dune prospection encore plus pousse, on peut constater que la lettre q est plus utilise au
dbut des mots quau milieu ou en fin de mot ;
lanalyse syntaxique de la phrase : cette technique permet didentifier des mots en
fonction de leur rle. Reprenons un exemple de mauvaise reconnaissance de m et rn :
chamelle et charnelle. Lanalyse syntaxique de la phrase pourra permettre de lever
une ambigut potentielle entre ces deux mots tant donn que lun est un nom et
lautre un adjectif.
Ces techniques permettent daugmenter considrablement les performances des logiciels
pour la reconnaissance de textes.
Nous nirons pas plus avant dans les explications de ces mthodes, ceci sloignant de
notre sujet dtude. Le lecteur pourra se reporter [?][1] et [?][2] pour de plus amples informations. Mais aucune des techniques cites nest applicable directement aux notations mathmatiques, qui ne contiennent que trs peu de redondances de linformation. Ceci exclut,
par l-mme, laide la rsolution des ambiguts lors de la reconnaissance des symboles.
[1]
[2]

NAGY G., Optical character recognition - theory and practice (1982).


D ENGEL A., H OCH R., H NES F., JGER T., M ALBURG M. & W EIGEL A., Techniques for improving
ocr results (1997).

27

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

5 Quelques traitements prliminaires


Les notations mathmatiques utilisent un arrangement bidimensionnel des symboles
pour transmettre linformation souhaite. Comprendre et interprter une expression implique
deux tapes, pouvant tre ventuellement concurrentes : la reconnaissance des symboles et
lanalyse de lagencement de ces symboles. La premire tape convertit une image en un
ensemble de symboles avec leurs caractristiques ; la seconde analyse lagencement de cet
ensemble de symboles dans le plan (relativement aux conventions de notations de ce langage
bidimensionnel), afin de retrouver linformation contenue dans cette notation mathmatique.
Ces deux tapes majeures peuvent elles-mmes se subdiviser en plusieurs sous catgories. Nous allons tudier sparment ces composantes en gardant toujours lesprit que
chacun des traitements doit avoir une approche globale du problme quest la reconnaissance
des notations mathmatiques, afin de tenir compte des spcificits.
La premire tape dans la reconnaissance structurelle de formules mathmatiques est
lacquisition de donnes. Elle peut tre de deux ordres :
en ligne : cest le cas lorsque lon saisit une notation laide dune tablette graphique
(ou tablette numriser). Des donnes temporelles sont alors disponibles et dune
grande utilit pour la sparation des caractres ainsi que leur reconnaissance.
hors ligne : cest le cas pour un document papier (typographi ou manuscrit) que lon
numrise laide dun scanner.
Dans ce dernier cas de figure, les mcanismes mis en jeu peuvent introduire plusieurs
types derreurs ou de dfauts lors de la transformation vers une image numrique. Nous
allons tudier leur nature et voquer les techniques utilises pour les corriger.
La figure 3 illustre les diffrentes tapes ncessaires au passage dun document papier
un document sous une forme compacte et utilisable par un ordinateur.
La capture des donnes, ou numrisation, consiste transformer les informations dont
on dispose sous forme papier, laide dun scanner optique. Le rsultat est un ensemble trs
important de points, appels pixels, caractrisant le document original. Pour mieux comprendre le traitement effectu, celui-ci quivaut voir le document original au travers dune
grille trs fine, et une information est dtermine pour chaque case de la grille. Elle peut tre
de plusieurs types : vrai (0) ou fausse (1), typique dune image noir et blanc, ayant une valeur
comprise entre 0 et 255 (image en niveau de gris), ou dcompose en couleurs primaires
(rouge, vert et bleu) pour une image couleur. La taille des cases de la grille est dtermine
en fonction de la rsolution de numrisation que lon utilise. Communment, une rsolution
de 300 dpi est utilise ce qui reprsente, pour une page A4, 2600x4200 pixels soit 1 mgaoctets pour une image noir et blanc, 10 mga-octets pour une image en niveau de gris et 30
mga-octets pour une image couleur.

28

5. Quelques traitements prliminaires


Document Papier

Numrisation
7

10 pixels
Traitement au
niveau du pixel

7500 symboles
avec leurs caractristiques

Analyse du type
de donnes

Analyse du texte
et reconnaissance
1500 mots, 10 paragraphes,
1 titre, 2 sous-titres, ...

500 lignes
10 rgions
Analyse graphique
et reconnaissance

Description
du document

2 Diagrammes,
1 Logo de la compagnie, ...

F IG . 3 Les tapes de lanalyse dun document papier


Il est important de comprendre que limage dun document contient un ensemble de
donnes quil est ncessaire danalyser plus en profondeur pour avoir une information plus
pertinente. Entre limage qui reprsente un caractre et le fait de reconnatre que cette image
correspond un caractre prcis, plusieurs tapes prliminaires sont ncessaires. Nous allons
prsenter les plus importantes.

5.1 Seuil de numrisation


Une des premires difficults pouvant survenir lors de la transformation dun document
en une image numrique est le choix du seuil de numrisation (thresholding ). Afin de mieux
la percevoir, prenons un exemple. Considrons la formule suivante :
n

k=1

(1 + ak ) 1 +

n


ak

k=1

Suivant les paramtres slectionns lors de la numrisation, savoir le contraste et la


luminosit principalement, limage obtenue peut tre de plus ou moins bonne qualit. Si la
numrisation a un seuil trop bas, limage comportera des anomalies comme le manque de
points dans des zones sombres, ou le manque de pixels pour certains caractres. Dans le
cas contraire dune numrisation avec un seuil trop lev, limage contiendra beaucoup de
points parasites, ou bruit, introduisant de grandes difficults lors de la reconnaissance des

29

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

caractres. La figure 4 illustre ces diffrents cas.

(a) Seuil trop bas

(b) Bonne numrisation

(c) Seuil trop lev

F IG . 4 Exemples de diffrents seuils de numrisation


Plusieurs techniques ont t envisages afin de rsoudre ce problme [?][1] : une mthode globale de calcul du seuil optimal pour lensemble du document [?] [2] , ou une mthode
adaptative (ou locale) qui dpend de lintensit des composants du document. Nous noterons
aussi, mme sil nest pas primordial de dterminer automatiquement ce seuil de numrisation automatiquement, que la qualit du traitement de numrisation influe fortement sur les
performances de la reconnaissance des caractres.
Nous nentrerons pas dans le dtail de ces diffrentes mthodes, notre tude ne portant
pas sur ce problme spcifique de traitement de limage. Dautant plus quil ne prsente pas
de particularits dans le cas spcifique des formules mathmatiques.

5.2 Rduction du bruit


Aprs la numrisation, limage du document obtenue doit tre filtre afin de rduire le
bruit (noise reduction ) d cette transformation. Ces imperfections sont souvent la marque
des documents numriss avec du matriel de faible qualit, comme les tlcopies, ou les
mauvaises photocopies doriginaux. Ce bruit prend la forme de pixels noirs souvent isols,
ou bien regroups en petites taches noires au milieu dune zone blanche. Ce traitement de rduction du bruit est primordial. En effet, ce bruit introduit des perturbations dans les donnes
et donc une incertitude dans la reconnaissance. Cette tape savre essentielle dans le cas de
documents de mauvaise qualit. Nous ne dtaillerons pas ici les diffrentes techniques mises
en jeu pour effectuer ce traitement. Pour de plus amples informations, le lecteur intress
pourra se reporter louvrage de L. OGorman et R. Kasturi [?][1] pages 16 et suivantes. Un
comparatif dtaill sur les diffrentes mthodes de rduction du bruit pourra tre trouv dans
[?][2] .
[1]
[2]
[1]
[2]

30

S AHOO P.K., S OLTANI S., W ONG A.K.C. & C HEN Y.C., A survey of threhloding techniques (1988).
L EE S.U., C HUNG S.Y. & PARK R.H., A comparative performance study of several global thresholding
techniques for segmentation (1990).
OG ORMAN L. & K ASTURI R., Executive Briefing : Document Image Analysis (1997).
W U W.Y., WANG M.J.J.J. & L IU C.M., Performance evaluation of some noise reduction methods
(1992).

5. Quelques traitements prliminaires

Mais le problme capital, dans le cas des notations mathmatiques, rside dans le fait que
beaucoup de symboles majeurs sont dune taille trs rduite et peuvent ventuellement tre
confondus avec du bruit. Aucune technique na t spcialement dveloppe pour le cas qui
nous intresse. Toutefois, on peut citer le travail de P. Chou [?] [3] qui prsente une mthode,
base sur une grammaire probabiliste, trs peu sensible au bruit.

5.3 Ralignement de limage


Lors de la numrisation, il arrive que le document papier soit mal positionn, et que la
feuille soit de travers. De ce fait, limage numrique cre est penche. Les lignes de
texte, et donc les caractres qui les composent, sont plus ou moins lgrement penches. Il
est alors ncessaire de rtablir lorientation de limage afin de ne pas perturber le processus
de reconnaissance des caractres. Deux techniques principales sont utilises pour dterminer
langle de rotation (skew orientation ) qua subi le document, et pour pouvoir ainsi automatiquement corriger cette erreur.
La premire mthode illustre par la figure 5, la plus populaire, consiste faire une
succession de projections horizontales et/ou verticales (projection profile method ), en faisant
varier faiblement langle de projection, afin de dterminer un histogramme des pixels noirs
qui composent limage, et ainsi chercher maximiser les pics et les creux de cette courbe.
300

300

250

250

200

200

150

150

100

100

50

50

0
0

(a) Texte bien orient

50

100

150

200

(b) Projection

250

(c) Texte pench de 5

50

100

150

200

250

(d) Projection

F IG . 5 Mthode de projection de textes pour diffrentes orientations


Dans la deuxime approche, le principe consiste trouver les voisins les plus proches
(nearest-neighbor method ), au sens de la distance euclidienne, et dterminer la pente de
la droite reliant le centre de ces couples de caractres. Pour obtenir le rsultat final, qui
est langle de correction permettant davoir un alignement correct du document, il suffit de
construire lhistogramme des pentes des droites obtenues.
La figure 6 illustre cette mthode pour le mot angle. Lhistogramme I.6(b) a t construit
pour le texte choisi dans lexemple de calcul des projections : la partie fonce correspond au
texte orient correctement (angle=0 deg), la partie claire, quant elle, est relative au texte
[3]

C HOU P., Recognition of equations using a two-dimensional stochastic context-free grammar (1989).

31

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

pench dun angle de 5 deg. On constate bien que dans ces deux cas, on peut avoir une
lecture directe de la rotation qua subi le document.

angle
angle

70
60
50
40
30
20
10
0
-40

(a) Exemple de texte

-30

-20

-10

10

20

30

40

(b) Histogramme

F IG . 6 Mthode valuant les angles de droites entre voisins pour un texte


Toutefois, ces deux mthodes de rorientation de documents textuels, sappliquent plus
difficilement dans le cas de formules mathmatiques isoles. Ceci est d la structure des
notations mathmatiques, qui nest pas aussi linaire quun paragraphe de texte. Pour mettre
en vidence cette affirmation, prenons lexemple de la formule suivante :
9


x2i

i=0

Si nous appliquons les deux mthodes exposes prcdemment, nous pouvons constater
que ces stratgies ne donnent pas de rsultats aussi satisfaisants que dans le cas dun paragraphe de texte. Pour le cas des projections, les diffrences entre une formule incline ou
correctement oriente sont trs peu sensibles (cf figure 7).
Quant lhistogramme construit partir des angles de droites forms par les plus proches
voisins (cf figure 8), il est impossible den dduire des donnes fiables.
Cependant, ces remarques ne sappliquent qu la dtection de lorientation dune formule isole. Si celle-ci est place dans un environnement textuel, il est alors possible dappliquer la mthode sur le reste du document afin dobtenir le rsultat.

5.4 Isoler une formule dans un document


Les expressions mathmatiques sont la plupart du temps incluses dans un document textuel, soit en tant que formule mise en valeur, donc isole du reste du texte, soit directement
au fil du texte. La premire opration raliser aprs le traitement de limage, qui est plus
gnral, est donc lidentification et la sparation de la notation mathmatique du reste du

32

5. Quelques traitements prliminaires

70

70

60

60

50

50

40

40

30

30

20

20

10

10

0
0

10

15

20

25

30

10

15

20

25

30

(b) Projection limage penche de 5

(a) Projection de limage bien oriente

F IG . 7 Mthode de projection appliqu la formule

9


x2i

i=0

2.5

1.5

x 2i

i =0

(a) Formule

0.5

0
-80

-60

-40

-20

20

40

60

80

(b) Histogramme

F IG . 8 Mthode valuant les angles de droites entre voisins pour la formule

9


x2i

i=0

33

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

document.
En rgle gnrale, les systmes de reconnaissance supposent que lexpression a t isole. On peut toutefois citer les travaux de A. Jain et B. Ju [?] [1] sur la reconnaissance des
diffrents lments composant un document (zones de textes, images, tableaux, formules,
etc.) ainsi que ceux de H. J. Lee et J. S. Wang [?][2] , qui ont plus particulirement tudi le
cas de la localisation des expressions mathmatiques dans un document. Dans cet article, les
auteurs expliquent quune formule isole ne pose pas de problme, car celle-ci tant bien
spare du texte, lespacement vertical avant et aprs lexpression ainsi que les symboles
caractristiques la composant sont des facteurs dterminants pour sa localisation. Cette zone
est alors tiquete comme ayant un contenu mathmatique. Les lignes de texte restantes sont
composes de texte et dexpressions mathmatiques embarques. Ces lignes sont converties
en un flux de mots dont certains sont reconnus comme faisant parti des notations mathmatiques. Aucun dtail supplmentaire nest fourni.
Une autre approche trs intressante, base sur lutilisation de logique floue, est prsente par A. Kacem, A. Belad et M. Hamed [?][1] . Extrafor est un systme permettant disoler
les notations mathmatiques prsentes dans un document scientifique. Il permet la fois
dextraire les notations isoles du texte (formules mises en vidence) mais aussi les notations ou symboles inclus dans un paragraphe. Les rsultats obtenus sont trs intressants :
prs de 100% des notations isoles et plus de 90% des symboles ou expressions incluses
dans un paragraphe sont extraits correctement du document. Elles peuvent donc tre fournies un systme de reconnaissance structurelle des notations mathmatiques indpendant
du systme pour la reconnaissance de texte, autorisant ainsi lutilisation du systme le plus
adapt chaque type de donnes.
Mais, comme nous avons pu le constater dans les paragraphes prcdents, larrangement bidimensionnel des symboles est caractristique des formules mathmatiques. Cette
proprit peut donc tre utilise afin disoler les donnes mathmatiques du reste des informations constituant le document.

5.5 Conclusion
Nous avons prsent les diffrentes tapes prliminaires ncessaires la reconnaissance
des symboles :
seuil de numrisation,
[1]
[2]
[1]

34

JAIN A.K. & J U B., Page segmentation using document model (1997).
L EE H.J. & WANG J.S., Design of a mathematical expression recognition system (1995).
K ACEM A., B ELAD A. & A HMED M., Extrafor : Automatic extraction of mathematical formulas
(1999).

6. Segmentation et reconnaissance des symboles

rduction du bruit,
ralignement de limage.
Ces techniques ont toutes t introduites dans le cadre de la reconnaissance de documents
textuels et sont donc toutes particulirement adaptes ceux-ci.
Bien que la dtection automatique du seuil de numrisation du document ne soit pas un
problme spcifique aux documents constitus de notations mathmatiques, la rduction du
bruit et la rorientation de limage sont des tapes qui doivent prendre en compte les spcificits du domaine. Ces techniques ne sont donc pas transposables directement au cas de la
reconnaissance de notations mathmatiques. Elles devraient faire lobjet dtudes spcifiques
et tout particulirement dans le cadre de notations isoles (exemple donn de la rorientation
dune formule isole non rsolue par les techniques classiques).
Parmi ces tapes prliminaires, on notera toutefois les travaux trs rcents sur lextraction, des notations mathmatiques, du reste du document, permettant ainsi deffectuer un
traitement spcifique, tant au niveau :
des tapes de traitement de limage prliminaires la reconnaissance,
que de lidentification des symboles dans les formules, prsentant des particularits
par rapport au texte.

6 Segmentation et reconnaissance des symboles


Dans le paragraphe prcdent, nous avons prsent, laide de plusieurs exemples, les
tapes prliminaires la reconnaissance, nombreuses et varies. La plupart dentre elles
ne sont pas toujours adaptes au cas particulier des notations mathmatiques, comme nous
lavons mis en vidence dans le cas de la rorientation dimage ou de la rduction du bruit.
Les traitements prsents ne sappliquent, bien sr, que dans le cas dun document numris,
et non dans celui de notations manuscrites saisies laide dune tablette graphique.
En ce qui concerne la reconnaissance proprement dite du symbole, deux cas de figures
sont considrer : le cas o les caractres sont typographis et le cas o ils sont manuscrits.
Une premire tape reste cependant commune, mme si les techniques mises en uvre pour
la raliser ne sont pas similaires : la segmentation, cest dire lopration qui consiste isoler
chaque symbole pour en effectuer la reconnaissance. Comme cest le cas dans la plupart
des applications ddies la vision par ordinateur, lefficacit des traitements prliminaires
est dterminante pour la qualit du rsultat final. Nous voquerons les mthodes mises en
jeu pour rsoudre ce problme dans chacun des deux cas considrs, ainsi que les thories
employes pour la reconnaissance du motif.

35

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

6.1 Caractres typographis


Classiquement, la reconnaissance de caractres typographis inclut les tapes suivantes :
limage correspondant la page est segmente pour en trouver les composantes (titre, paragraphes, etc), puis chacun des composants subit son tour cette opration, pour extraire ces
caractres propres. Avant den revenir la reconnaissance du symbole en lui-mme, tudions
tout dabord la segmentation dans le cas de caractres typographis.
Ltape initiale de segmentation des caractres est primordiale pour une bonne reconnaissance du symbole. Elle permet lidentification individuelle des caractres composant les
mots ou les phrases. Lapproche couramment utilise pour raliser cette segmentation est
deffectuer une projection verticale de chacune des lignes. Le profil dune projection horizontale a dj t prsent dans le cadre du ralignement de limage. Cette tape permet,
outre de dtecter langle de rotation ventuel qua pu subir le document, de mettre en vidence les lignes qui composent le texte. En effectuant une projection verticale pour chacune
de ces lignes, le profil met en vidence les zones de pixels allums composant chacun des
caractres. Cependant, cette technique est limite dans le cas dun document trs bruit, ou
plus simplement dans le cas dun mot en italique, la sparation entre chaque lettre apparaissant moins clairement.
Une zone contenant un caractre est donc maintenant identifie par la segmentation.
Reste identifier celui-ci. Pour cela, la technique consiste tudier un ensemble de caractristiques pour chaque symbole. Le choix de ces caractristiques est primordial et doit
prsenter les proprits suivantes : la variance intra-classe doit tre minimale alors que la variance inter-classe doit tre maximale ; le rapport largeur hauteur, la convexit, la connexit,
lasymtrie, etc, sont autant de caractristiques discriminantes couramment utilises.
Historiquement, la technique utilise pour effectuer cette identification de motifs est base sur une analyse syntaxique ([?][1] , [?][2] ), introduite au dbut des annes soixante. Ces
techniques sont toujours dactualit. Lapproche structurelle ([?] [3] ) a galement t explor.
Toutefois, tant donne la complexit et la varit des formes reconnatre, les tendances
actuelles ne sont plus lutilisation dune mthode unique. Lemploi de mthodes mixtes ou
hybrides tend se gnraliser. :
modle mlant analyse syntaxique et relaxation [?] [4] ,
modle combinant description syntaxique et statistique des formes [?] [5] , [?][6] , afin
[1]
[2]
[3]
[4]
[5]
[6]

36

G ONZALEZ R.C. & T HOMASON M.G., Syntactic Pattern Recognition : an Introduction (1978).
BARTSCH -S PRL B., Grammatical inference of graph grammars for syntactic pattern recognition
(1982).
NAGY G., Optical character recognition - theory and practice (1982).
D ON H.S. & F U K.S., A syntactic method for image segmentation and object recognition (1985).
T SAI W.H., Syntactic and Structural Pattern Recognition : Theory and Applications (1990).
F U K.S., A step towards unification of syntactic and statistical pattern recognition (1983).

6. Segmentation et reconnaissance des symboles

damliorer la reprsentation des formes avec erreurs. Ces modles conduisent soit
la dfinition dune grammaire stochastique associe un analyseur correcteur derreur, soit une dfinition de vecteurs caractristiques, exploits par une technique de
classification [?][7] .
mlange des approches syntaxiques et des approches rseaux de neurones ([?][8]
appliqu la reconnaissance de caractres numriques manuscrits).
Plusieurs article de H. Bunke sont citer sur lutilisation de ces mthodes hybrides : [?] [9] ,
[?][10] , [?][11] . Ces modles hybrides constituent actuellement un domaine de recherche des
plus intressant pour la reconnaissance de motifs.
La reconnaissance des caractres imprims, ou typographis, est lapplication principale
des systmes de reconnaissance optique de caractres (OCR ). Les systmes les plus anciens
taient limits la reconnaissance de quelques fontes dans une taille unique. Chacun des
caractres isols tait reconnu en utilisant des modles de caractres. Pour que ces systmes
soient les plus performants possibles, il tait ncessaire que le document nait subi aucune
rotation, aucun changement dchelle, aucune distorsion. Mais il est vite apparu quil tait
ncessaire de dvelopper de nouvelles applications capables de reconnatre un nombre plus
significatif de fontes et de tailles de caractres.
Ces systmes, dits omnifontes, ont t, et sont encore, un dfi pour les concepteurs de
ces applications. Pas moins de 300 fontes diffrentes peuvent tre reconnues, avec des tailles
de caractres allant de 6 plus de 26 points, avec des variations trs nombreuses comme
litalique, le gras, les ligatures, etc.
La plupart gnrent tout de mme trop derreurs, dues une mauvaise segmentation,
une confusion de fonte, ou bien encore aux nombreux points communs des caractres, difficiles alors diffrencier. Pour ne citer que quelques exemples, on peut classer dans cette
dernire catgorie : 2 et Z, la lettre O et la chiffre 0, S et 5, I, 1 et l, ou bien encore m
et rn, etc. Il devient alors ncessaire davoir recours au contexte pour pouvoir prendre la
bonne dcision. Lune des techniques les plus videntes pour amliorer les rsultats de la
reconnaissance est lutilisation dun dictionnaire, afin de mettre fin lambigut dun des
symboles en fonction de ses voisins, en se basant sur un contexte linguistique (probabilit
dapparition des lettres dans une langue, rgles grammaticales [?] [1] ), ou bien encore sur un
contexte spatial (faire prvaloir le choix des symboles dans la police de caractres que lon a
pu identifier comme tant la police par dfaut du document).
[7]
[8]
[9]
[10]
[11]
[1]

T SAI W.H. & F U K.S., Attributed grammar : A tool for combining syntactic and statistical approaches
to pattern recognition (1980).
BAPTISTA G. & K ULKARNI K.M., A high accuracy algorithm for recognition of handwritten numerals
(1988).
B UNKE H., Hybrid approaches (1986).
B UNKE H., Hybrid pattern recognition methods (1990).
B UNKE H., Structural and syntactic pattern recognition (1993).
NAGY G., Teaching a computer to read (1992).

37

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

Malheureusement, toutes ces mthodes heuristiques, utilises couramment pour augmenter les performances de la reconnaissance de textes, ne sont pas transposables la reconnaissance des symboles composant une notation mathmatique. Toutefois, les mthodes classiques de reconnaissance de motifs que nous avons prsentes sont, quant elles, employes,
mme si quelques adaptations sont ncessaires. Nous dtaillerons ce dernier point dans le
chapitre ralisations.

6.2 Caractres manuscrits


Mme si quelques mthodes adaptes la reconnaissance de lcriture manuscrites sont
similaires celles employes dans le cas de la reconnaissance de symboles typographis,
plusieurs diffrences sont souligner.
La mthode utilise pour lacquisition des donnes :
les donnes captures en direct laide dune tablette graphique sont disponibles
sous la forme dune squence temporelle de position du stylet sur la tablette, prservant ainsi la manire dont les caractres ont t dessins (vitesse, acclration, etc).
A noter que sur certains modles de tablette, linformation de pression du stylet est
disponible.
lacquisition des donnes seffectue comme dans le cas dun document typographi,
cest dire en ayant recours un scanner.
Le processus de segmentation utilis pour isoler chaque caractre individuellement est
un des composants majeurs de la reconnaissance de lcriture cursive.
Les modes dcriture dun texte sont potentiellement illimits : un mme texte crit
par un mme utilisateur deux moments diffrents est trs rarement identique en tout
point.
Dans le cas de lacquisition des donnes en temps rel, un des lments prpondrant est
linformation temporelle disponible (lordre dans lequel les gestes ont t effectus, ainsi que
la vlocit relative des diffrents mouvements composant ce geste). Ce type dinformation
facilite quelque peu la segmentation.
Plusieurs approches ont t utilises pour effectuer la reconnaissance des caractres manuscrits ; les plus anciennes utilisaient des mthodes syntaxiques [?] [1] , alors que dautres
tudes ont t dveloppes spcialement pour la reconnaissance dune classe particulire
dlments comme les chiffres [?][2] . Les travaux les plus rcents concernant la reconnaissance de lcriture manuscrite sont bass sur la thorie des chanes de Markov caches.
[1]
[2]

38

B ERTHOD M., Une Mthode Syntaxique de Reconnaissance des Caractres Manuscrits en Temps Rel
avec un Apprentissage Continu, PhD Thesis (1975).
BAPTISTA G. & K ULKARNI K.M., A high accuracy algorithm for recognition of handwritten numerals
(1988).

6. Segmentation et reconnaissance des symboles

La thorie des chanes de Markov (HMM : Hidden Markov Model ) a t introduite la


fin des annes 1960 par Baum. La reconnaissance est obtenue par calcul de la probabilit
a posteriori de la classe de la forme. Ce calcul fait intervenir plusieurs termes qui, suivant
certaines hypothses de dpendances lies lapplication traite, peuvent se dcomposer en
probabilits conditionnelles lmentaires. Peu de temps aprs son introduction, cette mthode a t utilise dans le cadre de la reconnaissance de la parole, chez IBM par exemple,
et plus rcemment, dans des domaines comme la reconnaissance de formes, la poursuite
de cibles, lidentification de signaux de sonars, etc. Lengouement pour cette mthode sexplique tout simplement par sa grande capacit dintgration du contexte et dabsorption du
bruit. Elle sest impose dans de nombreux domaines et a donc t tout naturellement utilise dans les applications de reconnaissance de lcriture manuscrite. Beaucoup de travaux
sur ce sujets sont noter ([?][3] , [?][4] , [?][5] , [?][6] , [?][7] ), [?][8] et plusieurs dentres eux
concernent exclusivement la segmentation et la reconnaissance de symboles mathmatiques
([?][9] ). Cette mthode mme t utilise dans le cadre de la reconnaissance de caractres
typographis [?][10] .

6.3 Conclusion
La reconnaissance de symboles proprement dite nest pas spcifique lidentification des
notations mathmatiques. Cest un domaine de recherche part entire pour lequel nous ne
prtendons pas donner un aperu exhaustif en deux paragraphes. Nous navons prsent que
les principales caractristiques et les principales approches existantes pour les cas typographis et manuscrits.
La diversit des symboles utiliss dans les notations mathmatiques implique quelques
spcificits ; limportance des petits symboles, ainsi que la grande varit de taille des caractres doivent tre prises en compte dans le processus de classification et didentification
des symboles. Dans le chapitre IV, nous reviendrons plus amplement sur les consquences
de cette diversit et les rpercussions sur les mthodes et algorithmes pour un logiciel de
reconnaissance des caractres, plus spcifiquement ddi aux caractres entrant dans la com[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]

B ELAD A. & S AON G., Utilisation des processus markoviens en reconnaissance de lcriture (1997).
G UYON I., S CHENKEL M. & D ENKER J., Overview and synthesis of on-line cursive handwritten recognition techniques (1997).
K UNDU A., Handwritten word recognition using hidden markov model (1997).
A NQUETIL E., G.L ORETTE & G ENTRIC P., Reconnaissance en ligne dcriture cursive par chanes de
markov caches (1995).
W INKLER H.J., Hmm-based handwritten symbol recognition using on-line and off-line features (1996).
Pattern Recognition (1999).
L EHMBERG S., W INKLER H.J. & L ANG M., A soft-decision approach for symbol segmentation within
handwritten mathematical expressions (1996).
E LMS A.J., The Representation and Recognition of Text Using Hidden Markov Models, PhD Thesis
(1996).

39

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

position des formules mathmatiques. Pour ne citer ici quun exemple, le systme base de
chanes de Markov pour la reconnaissance des caractres manuscrits doit tenir compte de
la diversit de taille des caractres, en introduisant des modles pour les diffrents types de
caractres :
modle 12 tats pour les grands symboles (grandes parenthses, , , etc) et les
lettres majuscules,
modle 8 tats pour les minuscules,
modle 3 tats pour les petits symboles (point, virgule, etc).
Une rflexion a t faite sur la possibilit damliorer la reconnaissance des caractres
dans le contexte spcifique des formules. Nous navons toutefois pas trouv de solution
concrte, labsence de redondance de linformation dans une notation tant un obstacle majeur lutilisation des heuristiques du type de celles mises en uvre dans le cas de documents
textuels (utilisation de dictionnaires ou de statistiques par exemple). En consquence, nous
avons opt pour une architecture logicielle constitue de modules que nous prsenterons plus
en dtail dans le chapitre II. Mais prsentons tout dabord le dernier aspect du processus de
reconnaissance : la reconnaissance structurelle.

7 Reconnaissance de la structure
La reconnaissance des symboles ayant t effectue, nous disposons alors dun ensemble
de caractres avec leurs proprits respectives, savoir principalement la localisation mais
aussi ventuellement la taille, le style, etc. Le problme devient alors : comment construire
larbre de syntaxe abstraite partir des donnes gomtriques caractrisant la notation que
lon souhaite reconnatre. La figure 9 illustre la transition ncessaire entre la reprsentation
gomtrique de la notation et son arbre de syntaxe.
+
2

^
x

a x + bx+ c

F IG . 9 Arbre syntaxique de lexpression ax2 + bx + c


Pour effectuer ce traitement, plusieurs phases sont indispensables, comme lidentification
des relations spatiales et logiques entre les symboles, ainsi que lanalyse de ces diffrents
liens, pour en dduire larbre de syntaxe de la formule.

40

7. Reconnaissance de la structure

7.1 Identification des relations spatiales et logiques entre les symboles


Lidentification des relations indice, exposant, ou de toute autre notation utilisant un regroupement implicite (sans oprateur explicite), est complexe et problmatique. Les exemples
derreurs cits dans [?][1] sont principalement dus une mauvaise reconnaissance des indices
et exposants.
Z. X. Wang et C. Faure [?][2] proposent une mthode base sur ltiquetage statistique
des liens entre les symboles, dans le but de dterminer les relations dindices et dexposants.
Cet article met en vidence la difficult de la tche et propose une approche intressante du
problme. tant donne une squence de botes englobantes pour les symboles reconnus, le
but est dtiqueter les relations entre paires dlments en indiquant en position exposant
(E), sur la mme ligne (L), ou en position indice (S) : voir figure 10.
Calcul Statistique S L
Correction S E

Exemple de
correction

L
L

S L
S E

L L
L L

SE L
SE L

3
L
Contradictoire

2
L

SL
SE

Correction

F IG . 10 tiquetage statistique des liens entre symboles


Un ensemble de donnes compos de 35 expressions produites par 7 utilisateurs est utilis pour entraner le systme. Chaque caractristique est mesure pour chacune des paires de
botes englobantes : le ratio pour la hauteur et le dcalage vertical. Toutes les liaisons entre
symboles doivent tre tiquetes, que ceux-ci soient adjacents ou non. Pour illustrer lutilit
de cette contrainte, prenons lexemple suivant pour lequel ltiquetage est identique (E suivit
de S) : xai et xa i. Pour distinguer ces deux expressions, la relations x-i doit tre connue (E
dans le premier cas, L dans le deuxime). Le processus ne tient compte que de la position
des symboles (leur bote englobante), mais en aucun cas de lidentit du symbole, ou encore
de la ligne de rfrence du caractre, do de possibles ambiguts ; cest le cas lorsque les
botes englobantes ont des configurations similaires, mais que les relations spatiales entre
[1]
[2]

O KAMOTO M. & T WAAKYONDO H.M., Structure analysis and recognition of mathematical expressions
(1995).
WANG Z.X. & FAURE C., Structural analysis of handwritten mathematical expressions (1988).

41

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

les symboles sont diffrentes : yc et bc. Ce systme dtiquetage entre pour partie dans la
reconnaissance globale dexpressions, systme expos dans [?] [3] .
Une approche diffrente est mentionne dans [?][1] et [?][2] . La reconnaissance est l
aussi base sur les coordonnes des objets, mais galement sur un contexte local. Des configurations dlments sont reconnues comme lgales ou illgales ; a x et xn sont des notations
lgales alors que A , B. ou x! ne le sont pas.
Une fois la reconnaissance des relations spatiales et/ou logiques ralise entre les diffrents symboles composant une expression mathmatique, il est ncessaire deffectuer une
reconnaissance de la structure de la formule. Prenons la formule suivante pour illustrer la
diffrence dinterprtation qui peut tre faite pour la notation :
x+y
Deux types dinterprtations sont possibles :
une description de la reprsentation : x est sur la mme ligne et gauche dun +, et y
sur la mme ligne et droite de ce symbole +,
et avoir reconnu la somme de x et de y qui rvle quune analyse plus fine de la
reprsentation a t ralise ; le sens de la notation a t extrait.
Une tape danalyse structurelle est ncessaire pour passer du premier niveau de reconnaissance dune formule au deuxime, o la formule est identifie en tant que telle.

7.2 Reconnaissance de la structure de la formule


Le regroupement de symboles en sous-expressions est le problme central de la reconnaissance des expressions mathmatiques. Un des points les moins tudis, est la reconnaissance des notations matricielles. Deux approches sont toutefois citer. Dans [?] [1] , lanalyse
consiste reprer une paire de dlimiteurs de la mme taille et du mme type. Une projection horizontale est effectue pour la zone ainsi dlimite ; si la projection met en vidence
plusieurs lignes, une projection verticale est ralise pour sparer les diffrentes colonnes.
Chaque lment composant la matrice peut ainsi tre identifi sparment. Dans [?] [2] , le
point de dpart est aussi la recherche de symboles dlimitants, mais les symboles prsents
[3]
[1]
[2]
[1]
[2]

42

WANG Z.X. & FAURE C., Automatic perception of the structure of handwritten mathematical expressions (1990).
L EE H.J. & WANG J.S., Design of a mathematical expression recognition system (1995).
O KAMOTO M. & T WAAKYONDO H.M., Structure analysis and recognition of mathematical expressions
(1995).
O KAMOTO M. & T WAAKYONDO H.M., Structure analysis and recognition of mathematical expressions
(1995).
L EE H.J. & WANG J.S., Design of a mathematical expression recognition system (1995).

8. Diversit des approches existantes

dans cette zone sont groups suivant leur proximit ; on peut noter quaucune information
nest donne sur les proprits mtriques utilises.
Outre le cas de notations particulires, comme la notation vectorielle ou matricielle, plusieurs mthodes ont t tudies dans le but de reconnatre des expressions mathmatiques.
Les mthodes syntaxiques se fient lanalyse lexicale, dans le but de dterminer le regroupement correct en sous-expressions. Le dcoupage par projections exploite lexistence de
lespacement entre les symboles pour extraire, assez efficacement, la structure dune expression. Nous allons tudier les diffrents cheminements qui ont t utiliss pour tenter de
rsoudre ce problme.

8 Diversit des approches existantes


Les critres dtaills dans le paragraphe 4 montrent bien que la reconnaissance de formules mathmatiques est un cas trs particulier. Plusieurs recherches ont t effectues afin
de tenter de rsoudre le problme de la reconnaissance de la structure dune expression mathmatique en ne disposant au dpart que de limage de cette formule. Nous allons essayer
de les rpertorier en classant les approches utilises par thmes, en citant les avantages ou
inconvnients de chacunes delles, ainsi que les principaux problmes rencontrs.

8.1 Diversit des mthodes pour lanalyse structurelle


Comme nous avons pu le voir, le regroupement de symboles en sous-expressions est un
des problmes centraux de la reconnaissance des expressions mathmatiques. Nous avons
class les diffrentes approches utilises en trois catgories :
les mthodes syntaxiques base de grammaires de coordonnes, de grammaires probabilistes ou de grammaires de graphes,
les mthodes logiques,
les mthodes ne dissociant pas lanalyse gomtrique de lanalyse syntaxique.
8.1.1 Mthodes syntaxiques
Une stratgie commune la plupart des mthodes de reconnaissance des expressions
mathmatiques est lutilisation, sous une forme ou sous une autre, dune grammaire bidimensionnelle. Lanalyse syntaxique est adapte aux notations mathmatiques car celles-ci
subdivisent en primitives (les symboles), ont une structure rcursive et une syntaxe plutt
bien dfinie compare aux autres notations schmatiques. Les rgles de grammaires sont utilises pour effectuer le regroupement correct des symboles mathmatiques et pour dfinir la
signification du rsultat de ce regroupement.

43

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart


Grammaire de coordonnes

Lun des premiers travaux sur la reconnaissance structurelle de notations mathmatiques


est celui de R. Anderson la fin des annes 1960. Il prsente, dans sa thse de doctorat
[?][1] , une mthode base sur une grammaire de coordonnes. Ce travail fournit une excellente illustration des mthodes de reconnaissance syntaxique, tant au niveau thorique que
pratique ; il y prsente en effet, de manire trs prcise, les rgles de sa grammaire. La figure
11 prsente six rgles extraites de [?][1] . Chaque rgle sarticule autour dun oprateur. Les
rgions grises sont les zones o la rgle recherche les oprandes.

1111
0000
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
00000
11111
00000
11111
00000
11111
4.
00000
11111
00000
11111
0000
1. 1111
0000
1111

2.

5.

111
000
000
111
111
000
00
11
00
11
00
11
00
11
00
11

( )

3.

6.

111
000
0000
N 1111
0000
111
000 d1111
0000
111
000
N 1111
0000
111
000 1111
000
111
000000
111111
N 111111
000
111
000000
000000
111111

000000
111111
N 000000
111
000
111111

F IG . 11 Exemple de rgles de la grammaire de coordonnes


Une grammaire de coordonnes opre sur un ensemble de symboles, contrairement aux
grammaires textuelles traditionnelles qui travaillent sur une chane de caractres. Les terminaux et les non-terminaux de la grammaire ont des attributs, par exemple les coordonnes
de la bote englobante, le centre de lobjet, ainsi quune chane de caractres m reprsentant
le sens donn lobjet. Linterprtation finale de la formule est contenue dans cette chane
m. Lanalyse syntaxique est descendante, chacune des rgles de production de la grammaire spcifiant comment subdiviser un ensemble de symboles en sous-ensembles. Dans
le cas dune rgle analysant la division (figure 11, rgle 4), celle-ci spcifie la subdivision
en sous-lments : une barre horizontale (de type termediv), un ensemble de symboles au
dessus et un autre au dessous de la barre de fraction (de type expression). Si cette partition
choue, lanalyseur essaye une autre alternative, cest dire la rgle suivante de production.
En cas de russite, lanalyseur a dsormais deux nouveaux sous-buts syntaxiques satisfaire.
Cette mthode danalyse descendante a toutefois des inconvnients, bien quelle fournisse une approche claire et bien structure. La vitesse de lanalyse syntaxique est un dsavantage, particulirement dans le cas de la reconnaissance de notations implicites. En effet,
ces rgles nont pas de symbole terminal permettant de les identifier rapidement, et de nombreux essais dapplication de rgles de partition doivent tre effectues avant de trouver la
bonne. Autre problme, li ces mthodes danalyse laide de grammaires : le rajout dun
mcanisme de rcupration des erreurs.
[1]

44

A NDERSON R.H., Syntax-Directed Recognition of Hand-Printed Two-Dimensional Mathematics, PhD


Thesis (1968).

8. Diversit des approches existantes

Plus rcemment, A. Belad [?][1] et J. P. Haton [?][2] ont dfini une extension aux grammaires de coordonnes en proposant un systme avec une analyse la fois descendante
et ascendante. Dans le cas dune incertitude lors de la reconnaissance dun caractre, une
liste de candidats potentiels est propose avec leurs probabilits respectives. Lutilisation
de linformation contextuelle durant lapplication des rgles permet de dterminer le bon
candidat. Lanalyseur est, par exemple, capable de choisir entre une parenthse ( et un C
majuscule. Toutefois, certains cas restent non rsolus, notamment lorsque les diffrentes alternatives ont un rle syntaxique similaire. Lintervention de lutilisateur est alors ncessaire.
Y. Dimitriadis, J. Coronado et C. de la Maza [?][3] proposent aussi une extension aux
grammaires de coordonnes pour y ajouter la dtection et la correction derreurs. Le systme est bas sur une grammaire de coordonnes attribue, avec une analyse ascendante.
Malheureusement, cet article ne fait pas tat de rsultats concrets mais de spculations sur
la mthode. De plus, chaque symbole est reprsent par une srie de candidats potentiels,
avec pour chacun une probabilit correspondant la confiance accorde la reconnaissance.
Lanalyseur prend les candidats avec les meilleurs probabilits, et si le rsultat nest pas
satisfaisant il sintressera au candidat suivant. Il nest en aucun cas fait tat de lexplosion
combinatoire dune telle mthode. Chou [?][4] propose aussi une solution au problme de dtection et de correction derreurs sur la reconnaissance dun symbole. La mthode employe
est base sur une grammaire probabiliste (voir page 45). La complexit de lanalyseur syntaxique est O(n3 ). Cette approche a toutefois linconvnient dtre trs sensible langle de
rotation qua pu subir le document lors de la numrisation, et elle est aussi trs gourmande
en temps de calcul. Ceci est principalement d la complexit de lalgorithme mis en uvre.
Schmas de spcification de structure

La mthode de Chang est base sur des schmas de spcification de structure. Cette technique est en fait une restriction de lapproche syntaxique classique, et a t mise au point
pour rechercher efficacement la structure dune expression. La complexit de lalgorithme
mis en place est en O(n2 ), n tant le nombre de symboles. Les symboles sont considrs
comme tant correctement reconnus.
La spcification de la structure par schmas est base sur lexistence doprateurs qui
[1]
[2]
[3]

[4]

B ELAD A., Reconnaissance Structurelle de Caractres Manuscrits et de Formules Mathmatiques,


PhD Thesis (1979).
B ELAD A. & H ATON J.P., A syntactic approach for handwritten mathematical formula recognition
(1984).
D IMITRIADIS Y.A., C ORONADO J.L. & DE LA M AZA C., A new interactive mathematical editor,
using on-line handwritten symbol recognition, and error detection-correction with an attribute grammar
(1991).
C HOU P., Recognition of equations using a two-dimensional stochastic context-free grammar (1989).

45

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

subdivisent limage en plusieurs sous-images. Le schma est dfini comme un ensemble


de rgles de subdivisions, une par oprateur, qui indique les relations spatiales entre les
diffrents composants. La prcdence des oprateurs est utilise pour dterminer lordonnancement des oprateurs les uns par rapport aux autres.
Linconvnient de cette technique est quelle repose uniquement sur lidentification
doprateurs spcifiques, donc explicites. Elle ne permet pas lanalyse doprateurs implicites comme les multiplications implicites, les exposants, indices, matrices, etc. Elle est
donc trs limite au regard de lapproche syntaxique classique.
Grammaires probabilistes

Les grammaires probabilistes sont reconnues comme ayant de bons rsultats dans le
domaine de lanalyse de notations typographies, et ont aussi t utilises dans celui des
notations manuscrites. Une approche probabiliste peut tre ajoute tous les types de
grammaires ; deux exemples de systmes utilisant cette approche sont ceux dvelopps par
P. Chou [?][1] et, Miller et Viola [?][2] .
Dans une grammaire probabiliste, on associe chaque rgle une probabilit que la production soit applique. Ainsi, pour chaque squence de production dans une analyse donne,
une probabilit globale peut tre calcule. Lanalyse correcte dun ensemble de symboles est
lanalyse qui obtient la plus forte probabilit.
Lutilisation de cette approche ncessite donc lassociation dune probabilit chacune
des rgles de la grammaire. Plusieurs types dalgorithmes ont t dvelopps pour raliser
cette association. P. Chou [?][1] dcrit ladaptation de lalgorithme inclus/exclus, originellement ddi une syntaxe linaire, au cas dune grammaire bidimensionnelle utilisant
la concatnation doprateurs verticaux et horizontaux. Cet algorithme effectue plusieurs
passes sur la grammaire et un ensemble dexemples issus de ce langage, dterminant ainsi
une probabilit pour chacune des rgles de la grammaire.
On notera aussi que ces grammaires probabilistes sont intressantes dutilisation dans le
cadre de lanalyse gomtrique, associant une probabilit une relation entre deux symboles
ou sous-expressions. Cette approche vient contrebalancer lapproche classique qui juge si
un type de lien est valide ou non. Cest lapproche qui a t utilise par Miller et Viola ; la
probabilit que deux lments soient en relation lun avec lautre est dfinie par une distribution de type Gaussienne bidimensionnelle, autour de la position suppose de la deuxime
expression. Un autre avantage de cette mthode est lutilisation dune alternative dans la
[1]
[2]

46

C HOU P., Recognition of equations using a two-dimensional stochastic context-free grammar (1989).
M ILLER E.G. & V IOLA P.A., Ambiguity and constraint in mathematical expression recognition (1998).

8. Diversit des approches existantes

forme reconnue, associant chacune des formes un indice de confiance. Ainsi, lanalyseur
peut lui-mme choisir entre les diffrentes alternatives possibles pour un symbole donn
dans les cas ambigus.
Lutilisation des grammaires probabilistes semble donc tre lune des deux meilleures approches utilises dans la reconnaissance de notations typographies ou manuscrites. Lajout
de linformation probabiliste peut tre utilise tant au niveau de lanalyse gomtrique que
de lanalyse syntaxique, rendant le processus plus homogne et plus sr.
Toutefois, des limites cette mthode sont signaler, en particulier pour le positionnement des symboles, qui est primordial : la ligne de rfrence ne doit pas varier de plus de
quelques pixels, la fonte et la taille de la fonte doivent tre connues. Linclusion de symboles,
comme dans le cas dune racine carre, nest pas prise en compte ; seules les concatnations
verticales et horizontales le sont.

Grammaires de graphes

Les mthodes base de grammaires de graphes ont t introduites vers la fin des annes
1960, afin de rsoudre des problmes pratiques de traitement dimages, comme la reconnaissance de symboles manuscrits, de schmas de circuits lectroniques. . . Cette mthode
consiste rcrire un graphe ou un sous-graphe et itrer ce processus. Les rgles de la
grammaire permettent de spcifier le type de sous-graphe recherch et la manire dont celuici sera remplac par le processus de rcriture. Le graphe est construit partir des lments
reconnus qui composent la formule.
Les travaux utilisant cette approche dans le cadre de lanalyse de formules mathmatiques sont peu nombreux et rcents. On citera les travaux prcurseurs de L. Pottier [?] [1] .
D. Blostein et A. Grabvec [?][2] se sont aussi intresses au problme de la reconnaissance
de la structure des expressions mathmatiques, en adaptant leur mthode teste sur lanalyse
de partitions musicales. Nous navons toutefois pas pu obtenir dautres informations sur la
mthode ou ses applications que celles fournies dans larticle cit.
Cest une mthode base de grammaires de graphes que nous avons tudie avec L. Pottier, afin de lenrichir et dvaluer son potentiel pour la reconnaissance de notations mathmatiques, dans le cadre typographi et manuscrit. Nous ne fournissons pas dinformations
exhaustives dans cette partie de notre expos. Le lecteur intress par cette mthode pourra
se reporter aux chapitres suivants, qui dcrivent dans le dtail la mise en pratique ainsi que
les avances auxquelles nous avons contribu.
[1]
[2]

P OTTIER L., Reconnaissance de formules planes, Technical Report (1994).


B LOSTEIN D. & G RABVEC A., Mathematics recognition using graph rewriting (1995).

47

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

8.1.2 Mthodes logiques

Z. X. Wang et C. Faure prsentent un systme base de rgles de modlisation des


connaissances [?][1] . Elles sont organises en plusieurs catgories :
connaissances mathmatiques : syntaxe des expressions mathmatiques,
connaissances lexicales : relatives aux entits lexicales et la forme des symboles,
connaissances sur le processus de lcriture : ordre des mouvements conduisant un
motif,
connaissances procdurales : par exemple, les procdures qui ralisent la segmentation
des donnes selon des critres de morphologie,
connaissances empiriques : qui sont fournies par les concepteurs du systme.
Linterprtation dune expression mathmatique est le rsultat dun processus complexe
mettant en uvre le traitement de diffrents types dinformations. Le processus complet de
rsolution peut tre subdivis en plusieurs sous-buts. Lapplication est compose de plusieurs
modules : lacquisition des donnes, la segmentation de donnes, la segmentation suivant les
connaissances et la labellisation des donnes. La simulation dun processus naturel de reconnaissance par un processus artificiel requiert une connaissance des diffrentes informations
traiter et la manire dont elles doivent ltre. La description structurelle dune expression
est un des sous-buts atteindre pour son interprtation. Il est donn priorit la reconnaissance structurelle de lexpression par rapport la reconnaissance des symboles la constituant.

Le principal inconvnient dun systme base de rgles est la faible structuration des
connaissances que lon a. En revanche, cest un moyen simple et naturel de traduire une
grande quantit de connaissances. Mais on reprsente toujours la connaissance dun domaine
trs prcis, et on ne peut se permettre des assertions floues. Les systmes experts, dont une
partie au moins de la base de connaissances est reprsente sous cette forme, sont construits
pour fonctionner sur une application bien cible. Mme si lon peut penser, au premier abord,
quun systme de rgles de production est trs modulaire, cette ide se rvle fausse. Il est
en effet difficile de maintenir la cohrence de la base de rgles. La priorit et lordonnancement des rgles dterminent lefficacit de la rsolution du problme, ainsi que la rduction
de conflits entre les diverses connaissances. Cette rorganisation est, dans certains cas, un
obstacle lutilisation dune base de rgles.

[1]

48

WANG Z.X. & FAURE C., Automatic perception of the structure of handwritten mathematical expressions (1990).

8. Diversit des approches existantes

8.1.3 Mthodes mixtes liant analyse gomtrique et syntaxique


Mthodes procdurales

Le systme dinterprtation des notations mathmatiques de H. J. Lee [?] [1] , [?][2] , [?][3]
a t dvelopp en introduisant lensemble des connaissances dans des procdures. On parle
alors de reprsentation procdurale de la connaissance. Lavantage de cette mthode est sa
rapidit, mais au dtriment de la rutilisabilit ou de lextension vers dautres notations.
Le systme dcrit par M. Okamoto combine le dcoupage par projection (cf. paragraphe
suivant) et la mthode procdurale pour liminer les erreurs engendres par la premire
tape de dcoupage. Larticle propose une illustration de la difficult rencontre raliser un
systme pour la reconnaissance des expressions mathmatiques, tant donn le nombre trs
lev des configurations des symboles. Les auteurs justifient ce choix par la facilit mettre
en uvre une dfinition implicite de la syntaxe en utilisant la mthode procdurale, plutt
quune dfinition syntaxique explicite base de rgles de grammaire.
Mais, invitablement, ces procdures sont trs fortement lies lapplication traite, et le
processus de reconnaissance a entirement perdu sa gnralit. On voque dans ce cas, et
juste titre, les expressions ad hoc, ou codage en dur de lapplication. De ces quelques points
mergent de faon vidente les problmes poss par cette reprsentation : connaissance morcele et parpille dans un ensemble de procdures, absence de modularit et de gnralit
du modle. Lapproche que lon a du problme est compltement fige, et les mises jour
savrent trs souvent laborieuses. Cette approche va lencontre des aspects de gnricit,
dadaptabilit et de rutilisatbilit, ce qui savre un dfaut majeur son emploi.
Mthode de dcoupage par projections

Le dcoupage par projections est une mthode qui est largement utilise dans le domaine
de la reconnaissance de documents. Cest le cas, par exemple, pour la reconnaissance de
partitions musicales, ou bien encore pour lanalyse de la structure de documents afin de
dterminer une mise en page en colonnes, ou bien encore les paragraphes qui composent le
document.
Afin danalyser la structure dune expression mathmatique, M. Okamoto ([?] [1] , [?][2]
[1]
[2]
[3]
[1]
[2]

L EE H.J. & L EE M.C., Understanding mathematical expressions in a printed document (1993).


L EE H.J. & L EE M.C., Understanding mathematical expressions using procedure-oriented transformation (1994).
L EE H.J. & WANG J.S., Design of a mathematical expression recognition system (1995).
O KAMOTO M. & M IAO B., Recognition of mathematical expressions by using the layout structure of
symbols (1991).
O KAMOTO M. & M IYAZAWA A., An experimental implementation of a document recognition system

49

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

et [?][3] ) propose dappliquer cette mthode rcursivement, en alternant successivement projections verticales et horizontales, jusqu ce que plus aucune subdivision ne soit possible.
Cette mthode dcompose larrangement structurel des symboles constituant lexpression,
et ceci avec une analyse trs peu coteuse (cf figure 12). Le rsultat obtenu est un arbre des
relations spatiales entre les lments. Des traitements spcifiques sont utiliss afin de reconnatre certains types de notations que la mthode ne permet pas danalyser. Cest le cas de la
racine carre, des notations de type indice, exposants, etc.
b

i=1

x(n) sin (x)


dx
cos (x)

i=1

x(n) sin (x)

dx

cos (x)

a
n

x(n) sin (x) i=1


x (n) s i n (x) i = 1

cos (x)

c o s (x)

F IG . 12 Exemple de dcoupage par projections


La mme mthode a aussi t utilise par Z. X. Wang et C. Faure [?][4] dans leur systme
de reconnaissance des expressions manuscrites. Ils dcrivent aussi les limites de cette technique et les cas dchecs rencontrs [?][5] . Nous citerons deux exemples rvlateurs des deux
principaux problmes :

lanalyse dune relation dinclusion (comme pour lexpression x2 + y 2 ) fait lobjet
dun cas particulier, ce type de relation ntant pas pris en compte par le processus
normal,
la superposition de symboles, courante dans le cas de lcriture manuscrite, empche
lapplication du processus et donc la reconnaissance de lexpression. Cette superposition peut tre visible (figure I.13(a)) ou ntre rvle quau moment de la projection
(figure I.13(b)).
J. Ha, R. Haralick et I. Phillips proposent un autre systme bas sur une dcomposi-

[3]
[4]
[5]

50

for papers containing mathematical expressions (1992).


O KAMOTO M. & T WAAKYONDO H.M., Structure analysis and recognition of mathematical expressions
(1995).
WANG Z.X. & FAURE C., Structural analysis of handwritten mathematical expressions (1988).
WANG Z.X. & FAURE C., Automatic perception of the structure of handwritten mathematical expressions (1990).

8. Diversit des approches existantes

Projection
effective
Projection
effective

Projection
attendue

Projection
attendue

(a) Superposition visible

(b) Superposition invisible

F IG . 13 Problmes soulevs par la mthode de projections


tion rcursive en X-Y [?][1] . Fond sur les attributs des primitives, larbre de syntaxe dune
expression initiale est construit en utilisant une approche descendante. Puis une approche
ascendante permet de vrifier les erreurs de syntaxe.
Un systme complet bas sur le dcoupage par projections entranerait lajout massif de
cas particuliers, afin de prendre en compte les notations qui ne peuvent pas tre reconnues
directement laide de cette mthode ; cest particulirement le cas dune notation comme la
racine carre (inclusion). Enfin, lutilisation de cette mthode dans le cas manuscrit montre
rapidement ses limites : le processus tant bas sur lalignement vertical et horizontal des
lments, tout dfaut de positionnement inhrent lcriture manuscrite entrane une impossibilit danalyser correctement la notation. Cette mthode simple est donc efficace et
rapide pour lanalyse dune catgorie restreinte de notations mathmatiques, mais ne peut
tre employe dans le cadre dune utilisation sur des cas concrets.

8.2 Difficults pour comparer les approches


La reconnaissance des notations mathmatiques dans un document est un problme significatif dans la reconnaissance de documents composites (documents composs de textes,
graphiques, photographies, schmas, notations mathmatiques, etc.). Durant les trente dernires annes, des tudes ont t effectues sur le sujet avec des approches diverses. Mais
la reconnaissance et linterprtation de ces notations est complexe, il est difficile de comparer les diffrentes mthodes ou techniques dveloppes pour rsoudre le problme. Il est
[1]

H A J., H ARALICK R.M. & P HILLIPS I.T., Understanding mathematical expressions from document
images (1995).

51

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

aussi signaler quaucune implmentation de ces mthodes na pu tre obtenue auprs des
auteurs, ce qui ne facilite pas cette tche de comparaison. Nous avons d nous contenter des
publications comme seule et unique source dinformations. Mais dautres facteurs sont aussi
prendre en compte si lon parle de difficults comparer les diffrentes approches.
8.2.1 Diversit dans les donnes traites
Comme nous avons pu le voir dans les paragraphes prcdents, la premire difficult provient de la diversit et de la varit des donnes traiter. Les travaux effectus concernent
aussi bien la reconnaissance de notations manuscrites captures en temps rel, le plus souvent laide dune tablette digitaliser, que des notations typographies, en ayant recours
la numrisation. Certains systmes se contentent de rcuprer une liste de symboles dj reconnus et leurs positions, ou bien intgrent la reconnaissance des symboles, avec une partie
effectuant un traitement de limage plus ou moins pouss (suppression du bruit, rorientation, etc.). Enfin, la dernire caractristique des applications est la ncessit ou non de devoir
isoler la formule du reste du document, dans le cas o celle-ci serait incluse dans un texte
par exemple. Cette grande diversit dans la dfinition du problme ne permet pas deffectuer
une comparaison srieuse sur lefficacit de ces systmes htroclites.
8.2.2 Grande diversit des approches
De nombreuses mthodes ont t tudies pour la reconnaissance des expressions mathmatiques. Lanalyse syntaxique met en uvre une grammaire de type bidimensionnelle,
comme cest le cas dans les grammaires de coordonnes. La reconnaissance des symboles
est un pr-requis lapplication de cette mthode. Elle fournit une reprsentation claire et explicite des notations mathmatiques reconnues, mme si lanalyseur a une complexit leve
et ncessite donc des temps de calculs parfois importants. Le dcoupage par projections, horizontales et verticales, dtermine la structure de lexpression en subdivisant rcursivement
limage en sous-rgions. La reconnaissance des symboles peut tre effectue a posteriori.
La stratgie procdurale nutilise pas de mthodologie bien dfinie et sans une organisation
stricte des rgles, le programme devient rapidement confus et difficile tendre dautres
notations.
Autant dapproches diffrentes, quil est difficile de comparer la fois quantitativement
et qualitativement.
8.2.3 Diversit des notations mathmatiques
Les systmes de reconnaissance ne considrent pas tous les mmes classes de notations
mathmatiques. La plupart dentre eux se sont concentrs sur la reconnaissance des notations arithmtiques, ou mme ont spcialis leurs recherches sur une classe trs particulire

52

9. Conclusion

de notations. Cest le cas de R. Fateman [?][1] , [?][2] qui tudie les solutions pour la reconnaissance des intgrales, dans le but de dvelopper un logiciel capable danalyser des tables
dintgrales dj imprimes dans un document. Assez peu de recherches ont t effectues
sur les notations matricielles et trs peu de systmes sont suffisamment gnralistes, dans la
mthodologie employe, pour tre capables de reconnatre une nouvelle classe de notations
mathmatiques. Cest tout particulirement le cas de la mthode procdurale, o il serait
ncessaire de rcrire presque compltement lanalyseur.
Une recherche est ncessaire pour clarifier la dfinition des notations et des dialectes
mathmatiques. Une telle dfinition permettrait de disposer dune base solide de comparaison des diffrents systmes de reconnaissance de notations mathmatiques.

9 Conclusion
Une tude approfondie de la bibliographie concernant la reconnaissance structurelle
des formules mathmatiques met en vidence lengouement rcent pour ce domaine de recherche. En effet, plus de 75% des rfrences datent de moins de 10 ans et plus de 50%
de moins de 5 ans ; cest tout dire quant lintrt port au sujet. Le nombre important de
ces travaux peut sexpliquer par deux facteurs. Tout dabord, la capacit de traitement des
ordinateurs rend possible une application directe des rsultats obtenus ; le faible cot des
priphriques ncessaires (scanner ou tablette digitaliser) favorise lutilisation par le plus
grand nombre. Dautre part, les applications multiples que nous avons dcrites comme une
interface plus intuitive pour lutilisateur ou la possibilit de reconnatre automatiquement les
documents scientifiques, ouvrent des perspectives nouvelles dans plusieurs domaines. Cest
particulirement le cas dune indexation automatique des documents scientifiques, avec la
possibilit de faire des recherches sur une base de donnes de formules mathmatiques.
Dans ce chapitre, nous avons tent de dcrire les difficults inhrentes la reconnaissance des notations mathmatiques. Nous avons rpertori les diffrentes approches utilises
jusqu prsent pour effectuer la reconnaissance structurelle de formules mathmatiques
partir de leur reprsentation. Sur la base de ce constat, nous allons dgager les aspects les
plus importants que doit intgrer un systme ddi la reconnaissance dexpressions mathmatiques. Ces points seront dvelopps dans les chapitres suivants en mettant laccent sur
les solutions retenues.

[1]
[2]

FATEMAN R.J. & T OKUYASU T., Progress in recognizing typeset mathematics (1996).
FATEMAN R.J., T OKUYASU T., B ERMAN B.P. & M ITCHELL N., Optical character recognition and
parsing of typeset mathematics (1996).

53

Chapitre I. Reconnaissance structurelle de formules mathmatiques : tat de lart

54

Chapitre II
Concepts pour la reconnaissance de
formules

Ce chapitre prsente de faon assez gnrale les ides mises en pratique durant la ralisation dOFR. Sa lecture doit permettre une comprhension globale des problmes que nous
avons abords et donc fournir un cadre pour les chapitres suivants. La mthode utilise pour
la reconnaissance structurelle proprement dite sera dveloppe dans le chapitre suivant. Les
thmes abords ici sont approfondis dans les chapitres consacrs la mthode choisie et
limplmentation.
Les nombreuses applications possibles que nous avons prsentes dans le chapitre I, paragraphe 2, montrent bien la ncessit dun tel systme de reconnaissance. Dans ce chapitre,
nous avanons les lments qui nous semblent essentiels un systme de reconnaissance
structurelle des notations mathmatiques. Peu de justifications et de conclusions sont donnes, ces dveloppements tant rservs aux chapitres suivants.
Les trois caractristiques essentielles sont la rutilisabilit, lvolutivit, et la communication avec dautres systmes indpendants. Nous allons dtailler pour chacune delles les
points qui nous semblent actuellement avoir t oubli dans les diverses solutions proposes.

55

Chapitre II. Concepts pour la reconnaissance de formules

1 Rutilisabiblit
Le premier point que nous tenons mettre en vidence est la ncessit davoir un systme
qui soit suffisamment paramtrable pour tre rutilis dans le cadre des diverses applications
que nous avons dj pu prsenter. Parmi ces applications, nous focaliserons nos efforts sur
deux dentre elles :
lutilisation du systme en tant quinterface un systme manipulant des formules
mathmatiques,
la possibilit de rcuprer les expressions mathmatiques prsentes dans un certain
nombre de documents imprims.
Cette double optique de travail, qui ouvre de larges champs dapplication, ncessite la
mise en place dun systme suffisamment adaptable ces diffrentes ralisations.
Un bon systme de reconnaissance structurelle requiert un effort important de conception
et dimplmentation. Il serait donc profitable de pouvoir bnficier dun composant facilement intgrable et paramtrable, qui fournirait les fonctions de base de lanalyse gomtrique
et syntaxique de lexpression reconnatre.

1.1 quations, matrices et notations exotiques


Les diverses approches utilises, pour accomplir une reconnaissance structurelle partir
de la reprsentation gomtrique dune formule, ont t prsentes dans le chapitre I, paragraphe 8. Il nous semble important de souligner une nouvelle fois que la majorit dentre
elles tait ddi un type de notation bien particulier. Les travaux de R. Fateman, concernant
ce sujet, sont presque tous axs sur la reconnaissance des intgrales [?] [1] . Il serait coup sr
assez difficile dadapter les mthodes quil a employes des notations rellement bidimensionnelles, comme les notations matricielles. Cest dailleurs le cas de la plupart des articles
qui mentionnent bien le fait que la mthode doit tre modifie pour les notations matricielles.
Mais la solution retenue permet rarement cette adaptation.
Le procd utilis pour effectuer lanalyse structurelle doit donc prendre en compte le fait
que beaucoup de notations mathmatiques ne sont pas bases sur une structure semi-linaire,
comme pour les intgrales ou les quations, mais sur une notation bidimensionnelle.

1.2 Manuscrit et Typographi


La rutilisabilit du systme peut tre tendue lutilisation de la mme mthode pour
la reconnaissance structurelle des notations typographies et manuscrites. Si cette hypothse
de travail nest pas primordiale dans nos recherches, les mthodes spcialises tant souvent
[1]

56

FATEMAN R.J. & B ERMAN B.P., Optical character recognition for typeset mathematics (1994).

2. volutivit

plus efficaces, une tude plus approfondie pourrait tout de mme tre intressante, titre de
comparaison.
Une bonne architecture logicielle doit permettre deffectuer des tests sur les cas manuscrits et typographis. Il serait donc profitable de pouvoir bnficier dun composant
facilement intgrable et paramtrable, qui fournirait les fonctions de base de lanalyse gomtrique et de lanalyse structurelle des notations mathmatiques.
OFR a t conu pour remplir ce rle. Nous dtaillerons, page 61, les choix effectus dans
larchitecture logicielle mise en place afin de remplir cette condition de test des diffrentes
applications possibles. Il convient toutefois de souligner que ce composant est conu pour
tre employ avec plusieurs types dapplications lui fournissant les symboles, ainsi que leur
position, des lments composant lexpression. Il est donc important de pouvoir adapter ce
composant aux diffrents logiciels que lon pourra employer, pour fournir les informations
dont lanalyse dpend.

2 volutivit
Un des principaux atouts dont doit bnficier le systme est la flexibilit. Il doit tre
conu en permettant la modification des comportements, afin dassurer lvolution possible
vers de nouvelles notations. Cela est indispensable pour assurer ladaptabilit du composant
aux besoins spcifiques lis une classe particulire dlments traiter.

2.1 Introduction de nouvelles notations


Les systmes que nous avons pu tudier, la plupart du temps au travers darticles car
nous ne pouvions pas disposer dune implmentation de la mthode prsente, sont assez,
voire compltement, ferms. Nous entendons par l quil est impossible de modifier ou bien
dajouter une nouvelle notation au systme de reconnaissance.
Il est bien entendu indispensable que le systme soit ouvert et quil soit possible dajouter la reconnaissance dun nouveau type de notation. En effet, les notations mathmatiques
ntant que semi-standardises, ils nest pas rare den voir apparatre de nouvelles. De plus,
les mathmaticiens, les physiciens ou encore les conomistes ont des besoins diffrents de
notations, chacun en introduisant de nouvelles selon ses besoins propres. tant donn quil
nest pas concevable dtre suffisamment exhaustif lors de la conception du logiciel, il est
indispensable que la mthode retenue permette une adaptation du systme moindre frais.

57

Chapitre II. Concepts pour la reconnaissance de formules

2.2 Adaptation aux diffrentes notations


Sans aller jusqu lintroduction de nouvelles notations, quoique cel soit parfois indispensable, un autre point est considrer : les notations mathmatiques ne sont que semistandardises. De la mme manire quil est impossible dintroduire toutes les notations
mathmatiques imaginables, il nest pas concevable de reconnatre demble toutes les variations possibles des notations. Prenons le cas dune intgrale. La position des bornes de
lintgrale est diffrente selon le cas. En LATEX, par exemple, les bornes dune intgrale ou
dune somme peuvent tre au dessus du symbole ou bien en position dexposant par rapport
au symbole, selon le contexte :
10

i=5 i + Y ,
10

i+Y.

i=5

Le systme adopt devra donc tre suffisamment souple pour permettre ladaptation du
logiciel toutes les variations des notations que lon souhaite reconnatre.

3 Interprtation de larbre de syntaxe


La reconnaissance des symboles ayant t effectue, nous disposons alors dun ensemble de caractres avec leurs proprits. La reconnaissance structurelle consiste donc en la
construction de larbre de syntaxe abstraite partir des donnes gomtriques caractrisant
la notation. La figure 9, page 40, illustre la transition entre la reprsentation gomtrique
de la notation et son arbre de syntaxe. Pour effectuer ce traitement, plusieurs phases sont
ncessaires, comme lidentification des relations spatiales et logiques entre les symboles,
ainsi que lanalyse de ces diffrents liens, pour en dduire larbre de syntaxe de la formule.
Toutefois, larbre de syntaxe abstraite obtenu nest pas suffisant pour exploiter le rsultat. R. Fateman, dans [?][1] , donne un exemple de la ncessit davoir des informations
sur la smantique des lments. Si nous prenons les exemples suivants : (a + b)(c + d) et
(f + g)(x + y), un lecteur humain interprtera srement de manire diffrente ces deux
formules, mme si larbre de syntaxe abstraite est identique.
Cette interprtation peut dpendre de plusieurs paramtres :
dun contexte extrieur la formule elle-mme,
de conventions standards,
de conventions tacites pour un groupe dutilisateurs.
Pour notre exemple, cette interprtation de larbre dpendra de la signification des symboles f , g, x, y dune part et de a, b, c, d, dautre part. On peut penser que, par convention,
f et g sont des symboles fonctionnels, x et y des variables symboliques, et a, b, c, d des
[1]

58

FATEMAN R.J., More versatile scientific documents extended abstract (1997).

4. Communication des rsultats

variables. Cette connaissance du type smantique des symboles composant la formule permettra de synthtiser linformation, afin dinterprter correctement chacun des oprateurs
(en fonction du type de leur oprande).
La formule (f + g)(x + y) devra donc tre interprte comme lapplication des fonctions
f et g (x+y) alors que (a+b)(c+d) comme la multiplication implicite de (a+b) et (c+d).
Attributs
smantiques
synthtiss

(f+g)(x+y)
Apply

+
f
symboles
fonctionnels

+
g

(a+b)(c+d)

application
dune fontion

multiplication
implicite

addition

addition

Apply

+
a

variables
symboliques

+
b

variables
Attributs
smantiques

F IG . 1 Arbres de syntaxe avec attributs smantiques


Cette interprtation ne pourra tre effectue que si lon connat les conventions utilises
ou encore le contexte dapplication de la formule considr. Si la reconnaissance seffectue dans un contexte danalyse de document, on peut imaginer que le contexte textuel do
a t extraite la formule, permettrait de fournir ce type dinformations. Dans le cas dune
expression isole de son contexte, lutilisateur devra spcifier la smantique des symboles.

4 Communication des rsultats


De la mme manire que OFR doit permettre une utilisation avec plusieurs outils pour
la reconnaissance de symboles, manuscrits ou typographis, il doit aussi tre capable de
communiquer le rsultat de la reconnaissance dautres applications.
La communication dobjets mathmatiques est, en lui-mme, un sujet de recherche. Afin
dviter de disperser nos recherches et afin de pouvoir faire communiquer OFR avec le plus
grand nombre possible dapplications, le choix du dveloppement dun protocole personnel
ntait pas souhaitable. Nous navons donc pas orient nos recherches vers llaboration
dun nouveau protocole de communication, mme si, au dbut de nos recherches, aucun
standard nexistait. Depuis, plusieurs travaux ont abouti des standards de reprsentation et
de communication dobjets mathmatiques, en conservant la smantique, comme OpenMath.
Lintgration dun tel protocole pour la communication des rsultats est souhaitable, afin de
tirer le meilleur parti des rsultats obtenus et dintgrer OFR dautres systmes.

59

Chapitre II. Concepts pour la reconnaissance de formules

5 Composants pour lanalyse de formules


Pour rsumer les diffrents points que nous venons daborder, nous allons prsenter les
composants qui nous semblent ncessaires la ralisation de la plate-forme de tests pour la
reconnaissance structurelle de formules mathmatiques. La figure 2 ci-dessous, illustre les
interactions entre ces modules.
Paramtrisation
et Grammaire

Image

Extraction
des donnes

Communication

Analyse

Informations
smantiques

Arbre de syntaxe

Structurelle

ou DAG
Communication

Systme
Destinataire
Systme de Calcul Formel
Editeur de formules

F IG . 2 Relations entre les diffrents composants

5.1 Dtail des diffrents composants


Dans le cadre de recherches sur la reconnaissance structurelle de notations mathmatiques, il est souhaitable de ne pas consacrer un temps trop important aux sujets connexes,
comme la reconnaissance des caractres et symboles composants la formule. Nous nous
sommes donc orients sur lutilisation de composants pr-existants. Mme si cela na pas
toujours t possible, nous avons tent, le plus souvent possible, dobtenir des logiciels effectuant le travail dextraction et de reconnaissance des symboles, aussi bien dans le cas
typographi que manuscrit.
Nous avons donc opt pour un systme en deux parties distinctes : la partie concernant
la reconnaissance des symboles (que nous avons, autant que possible, essay de rcuprer),
et la reconnaissance structurelle sur laquelle nous avons plus particulirement travaill.
Pour pouvoir communiquer les rsultats obtenus vers dautres applications, comme un
systme de calcul formel, il est ncessaire de disposer dinformations smantiques sur les

60

6. Conclusion

lments composant la formule. Cette acquisition peut tre envisage de deux manires diffrentes :
lutilisation du systme dans le cadre dune interface de saisie de formules, par une
spcification de la part de lutilisateur ;
lutilisation du systme pour une analyse de document imprim, comme un article
scientifique, dextraire automatiquement linformation du texte environnant la notation.
Toutefois, cette dernire solution, qui permettrait une automatisation complte du processus,
ncessite une recherche plus approfondie.

5.2 Critiques possibles de larchitecture en modules


Cette architecture logicielle rpartie en diffrents modules sest impose comme tant
la plus adapte notre tude spcifique. Elle offre la possibilit de rutiliser des modules
existants, pour la reconnaissance de lcriture manuscrite par exemple, vitant ainsi une perte
de temps consquente dans le dveloppement dun tel module. La sparation bien marque
entre la reconnaissance des symboles, lanalyse gomtrique et lanalyse syntaxique permet
aussi une paramtrisation plus fine de chacun des modules, et donc de ladapter au mieux
aux besoins (cas typographi, cas manuscrit).
Toutefois, cette architecture, mme si elle prsente de nombreux avantages, implique
aussi des limites. Parmi les mthodes prsentes dans le chapitre prcdent, la mthode probabiliste dveloppe par P. Chou mne de front la segmentation et lanalyse structurelle.
Ceci permet en particulier de rendre la reconnaissance des symboles et la reconnaissance
structurelle trs peu dpendantes du bruit que peut avoir subi limage de la notation. Cette
possibilit de raliser de manire concurrente la reconnaissance des symboles et lanalyse
structurelle nest pas envisageable avec notre architecture en modules. Une possibilit de
correction dventuelles erreurs sur lidentification de symboles a toutefois t intgre dans
le module danalyse structurelle, dans la mesure o le logiciel fournissant les symboles offre
des alternatives possibles un caractre reconnu. Dautres avantages et inconvnients de ce
type darchitecture sont donns dans le chapitre sur limplmentation (chapitre V).

6 Conclusion
Ces quelques pages ont donn un bref aperu des diffrents thmes abords dans la suite
du document. Le but principal est de fournir un cadre gnral, afin de faciliter la lecture des
chapitres suivants. Chacune des ides exposes prcdemment est reprise et illustre dans
les chapitres suivants.

61

Chapitre II. Concepts pour la reconnaissance de formules

62

Chapitre III
Mthode et outils

Aprs avoir prsent les recherches effectues jusqu prsent et avoir mis en vidence,
dans le chapitre prcdent, les points essentiels pour accomplir la reconnaissance structurelle
des notations mathmatiques, nous allons maintenant exposer les choix et les ralisations effectus.
Dans ce chapitre, nous mettons en vidence les aspects les plus intressants de larchitecture et de la mthode mise au point pour la ralisation dOFR. Larchitecture pour une plus
grande adaptabilit aux diffrentes exprimentations envisages, lanalyse gomtrique et
lanalyse structurelle laide de grammaires de graphes, sont les principaux thmes abords.

1 Architecture dOFR
Comme nous avons pu lexposer dans le chapitre prcdent, paragraphe 5, des oprations prliminaires sont ncessaires pour disposer des informations analyser. Lanalyse de
limage et la reconnaissance des symboles est un sujet dtude part entire. Plusieurs solutions ont t utilises dans les recherches prcdentes : elles vont du systme compltement
intgr qui effectue la fois lidentification des symboles et la reconnaissance structurelle,
la simulation de la reconnaissance des symboles par un utilisateur comme dans [?] [1] . Cette
[1]

B LOSTEIN D. & G RABVEC A., Mathematics recognition using graph rewriting (1995).

63

Chapitre III. Mthode et outils

dernire mthode, si elle a le mrite dtre trs simple mettre en uvre, nen est pas pour
autant prfrable : elle masque en effet de manire trop importante les problmes inhrents
la reconnaissance des symboles. La mthode consistant intgrer lanalyse de limage au
processus de reconnaissance structurelle permet des rsultats plus probants. Il est en effet
possible deffectuer la reconnaissance du symbole dans un contexte syntaxique.
Nous avons opt pour une solution intermdiaire, privilgiant lutilisation dun systme
dj existant, effectuant lanalyse de limage et lidentification des symboles. Si cette solution ne permet pas une intgration leve de lanalyse de limage dans un contexte syntaxique, elle a pour avantage dtre flexible et de permettre lvaluation de la mthode dans
diffrents contextes. Ce choix a pour consquence de devoir mettre en place un systme
permettant dunifier le type de rsultats fournis au processus de reconnaissance structurelle,
do lintroduction dun filtre dans le schma 1 prsentant larchitecture dOFR. Les donnes attendues sont, pour lessentiel, les symboles identifis et leurs coordonnes. Toutefois,
lorsquil le permet, le systme peut fournir une information supplmentaire : une liste des
alternatives possibles la reconnaissance dun symbole, avec une probabilit associe. Ces
informations seront utilises dans le processus danalyse syntaxique.
Pr-traitements

Reconnaissance structurelle
Rgles lexicales

Tablette
graphique
n

i=1

Rgles grammaticales

Numrisation

2
a i+ b i
3
i

O.C.R.
Reconnaissance de
lcriture manuscrite

Reconnaissance
des symboles

Filtrage des
donnes

Numrisation

Transfert des
caractristiques
des symboles
reconnus
Caractere
Taille
Position

Graphe de
donnes

Constructeur

Analyseur

de Graphe

de Graphe

Optical Formula Recognition

O.C.R.
grammar
tree of formula

i=1

2
a i+ b i
3
i

++=

= b - 4ac

Reconnaissance des
caractres typographis

Extraction et
reconnaissance des

3/2

objets mathmatiques

3/2

Arbre de syntaxe
abstraite

Document
original

Texte reconnu

F IG . 1 Larchitecture dOFR
La reconnaissance structurelle est subdivise en deux modules : lun effectuant lanalyse
gomtrique, lautre lanalyse syntaxique. Ces deux lments sont troitement lis et permettent pour lun la construction dun graphe, pour lautre son analyse et la production de
larbre de syntaxe abstraite correspondant la notation mathmatique identifie. Ces modules sont tous deux paramtrables laide des rgles lexicales et grammaticales qui leurs

64

2. Analyse de limage

sont fournies. Nous reviendrons tout au long de ce chapitre sur ces diffrents points en les
dtaillant. Mais revenons en premier lieu sur lanalyse de limage.

2 Analyse de limage
Dans ce paragraphe, nous allons dtailler les tapes correspondant lidentification des
proprits des symboles composant la notation que lon souhaite identifier. Toutefois, nous
ne dcrirons pas les mcanismes mis en uvre pour la reconnaissance du symbole lui-mme,
cette opration ne faisant pas partie intgrante de nos recherches. Nous nous contenterons
de mettre en lumire un ensemble de prsupposs ncessaires la ralisation de ltape
suivante : lanalyse gomtrique.

2.1 Enveloppe dun symbole


Les informations sur la zone o sinscrit un symbole ou un groupe de symboles reprsentent une donne importante. Plusieurs mthodes peuvent tre utilises pour la gestion des
zones englobant les symboles. La figure 2 prsente les principaux types de systmes utiliss.

3+8

3+8

(a) Rgions rectangulaires

3+8

3+8

(b) Rgions rectangulaires individuelles

3+8

3+8

(c) Enveloppes convexes

F IG . 2 Construction des rgions englobantes


La premire approche, figure III.2(a), est celle que nous avons utilise. Les botes
englobantes sont les plus petits rectangles qui enserrent le symbole. La combinaison
de plusieurs rgions est la plus petite bote englobant toutes les autres.
Une variante de cette premire approche, illustre par la figure III.2(b) consiste faire
une combinaison au plus prs des diffrentes botes englobantes. Cette solution, peu
utilise, napporte gure dlments supplmentaires par rapport la premire, et complique donc le problme inutilement.

65

Chapitre III. Mthode et outils

La figure III.2(c) illustre lutilisation des enveloppes convexes. Cette mthode a t


utilise par E. Miller et P. Viola [?][1] . La nouvelle enveloppe convexe cre lors de la
combinaison de symboles est la plus petite englobant tous les symboles.
Lun des dsavantages dutiliser les rectangles englobant par rapport aux enveloppes
convexes se manifeste dans lexemple prsent sur la figure 3.

1 1
3 3
(a) Rgions
rectangulaires

(b)
Enveloppes
convexes

F IG . 3 Problme soulev par les botes englobantes rectangulaires

Dun point de vue de lutilisateur, les caractres ne se superposent pas. Mais un systme
bas sur lutilisation de rectangles englobants pourrait mal interprter les relations gomtriques qui lient ces symboles. Ce type de problme conduit, la plupart du temps, une
mauvaise interprtation de la formule ou un chec lors de la reconnaissance syntaxique.
Dans le paragraphe 4 nous prsenterons les solutions mises en place pour viter ce type de
difficults.
Toutefois, ltude de E. Miller et P. Viola [?][1] montre que lutilisation dune solution
base denveloppes convexes est prfrable. La cration des enveloppes convexes a une
complexit en O(n log n) avec n le nombre de pixels composant limage. Lunion de deux
enveloppes convexes peut tre value en O(l + m) avec l et m le nombre de nuds des
enveloppes convexes. Cette approche permet donc dapporter une solution plus homogne
que les rgions rectangulaires.
Dans notre optique de recherche, nous navons pas pu bnficier des avantages de lutilisation des enveloppes convexes afin de dcrire les contours du symbole. Ce choix a principalement t motiv par la volont de ne pas investir de temps dans un logiciel de reconnaissance optique des symboles, et donc de sadapter la forme la plus standard possible.
[1]

66

M ILLER E.G. & V IOLA P.A., Ambiguity and constraint in mathematical expression recognition (1998).

2. Analyse de limage

2.2 Rsultat type attendu de lOCR


Les informations attendues de la part du logiciel de reconnaissance de caractres ont
donc une forme gnrique du type bote englobante et symbole. Par exemple, pour la formule
suivante,


zn
n!
n=0
le type dinformations fournies par le logiciel sera :
31 0 86 25 infty
5 50 114 166 Sigma
150 36 184 74 z
192 17 227 42 n
146 106 234 110 hbar
155 149 199 187 n
210 127 219 169 exclam
210 177 219 186 dot
0 201 35 226 n
42 203 83 206 hbar
42 217 83 220 hbar
92 188 117 227 0
Pour pouvoir adapter la mthode la reconnaissance de notations manuscrites et typographies, nous ne ferons aucun prsuppos sur un ordre quelconque de saisie des symboles.
Lordre dapparition de ces informations nest donc pas pris en compte. Seules comptent les
informations gomtriques.
Cette information est linformation minimale attendue. Elle pourra tre enrichie dalternatives possibles pour chacun des symboles reconnus, avec un indice de confiance de la
reconnaissance associ chacun des symboles. Dans lexemple ci-dessous, se rfrant toujours la mme formule, des alternatives sont fournies pour certains symboles. On retrouve
tout dabord les coordonnes de la bote englobante correspondant au symbole, suivies du
symbole et dun indice derreur sur la reconnaissance. Plus cet indice est proche de zro,
plus le systme est assur de fournir la bonne solution.
31 0 86 25 infty
5 50 114 166 Sigma
150 36 184 74 z 0.1 Z 0.7
192 17 227 42 n 0.15 u 0.9
146 106 234 110 hbar
155 149 199 187 n 0.1 Uparrow 1.2
210 127 219 169 exclam
210 177 219 186 dot 0.1 comma 0.4

67

Chapitre III. Mthode et outils

0 201 35 226 n 0.15 u 0.9


42 203 83 206 hbar 0.08 bar 0.2
42 217 83 220 hbar 0.08 bar 0.2
92 188 117 227 0 0.2 O 0.3

2.3 Extrapolation de donnes


tant donns les symboles reconnus fournis par le systme de reconnaissance, nous souhaitons disposer galement dinformations plus gnrales permettant daffiner lanalyse gomtrique. Cette dduction de paramtres complmentaires est ncessaire si le systme de
reconnaissance des caractres ne les fournit pas.
2.3.1 Taille relative
Afin de diffrencier les relations entre les lments composant une formule, il est ncessaire davoir une information sur la taille des lments. Cette donne nest pas ncessairement utilise, mais elle permet de lever certaines ambiguts lors de lanalyse gomtrique.
Le calcul de la taille dun caractre ne dpend videmment pas uniquement de la taille de
la bote englobante, mais aussi du caractre reconnu. Comparons par exemple les caractres
e et g. Si nous ne considrons que la taille de la bote englobante, nous conclurons que
e est plus petit que g. Il y a donc ncessit dintroduire une pondration en fonction de
llment considr. Ceci aboutit lidentification de classes de symboles, ordonns selon
leur taille.
Lalgorithme mis en jeu pour effectuer cette tche est du type recherche de sous-groupes
dans un groupe dlments. On recherche en effet quels sont les lments qui ont des tailles
du mme ordre, parmi lensemble des symboles reconnus. Lapplication de cet algorithme
la formule ci-dessus donne le rsultat suivant :
lments de petite taille : trois symboles n, 0, ,
lments de taille moyenne : z, n, !,

lments de grande taille : .
Cette notion de petite, moyenne, et grande taille est quantifie par une valeur et est intgre en tant quattribut du symbole reconnu.
2.3.2 Ligne de base
Linformation concernant la ligne de base par rapport laquelle lobjet graphique est
positionn est importante. Elle permet de connatre lalignement des symboles. La figure 4
illustre cette notion de ligne de rfrence pour les caractres b et q.
La dduction de cette donne nous sera donc soit fournie par le systme de reconnaissance de caractres, soit calcule de manire approximative grce des tables extraites

68

3. Analyse lexicale

ligne de
base

b q

ligne de
base

F IG . 4 Ligne de base
dinformations sur la fonte utilise, ou de donnes dduites pour lcriture manuscrite dune
personne. Nous avons dvelopp cette dernire solution de manire suffisamment gnrique
pour sadapter aux diffrentes tudes de cas. Mais la meilleure solution reste lutilisation
dun systme de reconnaissance des symboles qui fournisse cette information.
Lensemble de ces informations mtriques et gomtriques va permettre deffectuer une
reconnaissance structurelle des notations mathmatiques. La premire tape de cette analyse
structurelle est lanalyse lexicale, que nous allons maintenant prsenter.

3 Analyse lexicale
De nombreuses raisons justifient de dcouper lanalyse en une analyse lexicale et une
analyse syntaxique.
1. Une conception plus simple est peut-tre le critre le plus important. La sparation
de lanalyse lexicale et de lanalyse syntaxique permet souvent de simplifier lune ou
lautre des phases. Dans le cas plus classique de la conception dun nouveau langage,
la sparation des conventions lexicales et syntaxiques peut amener une conception
globale plus soigne.
2. Lefficacit de lanalyse syntaxique est amliore. Un analyseur lexical spar permet
de construire un processeur spcialis et potentiellement plus efficace pour cette tche.
3. La portabilit est accrue. Les particularits de lalphabet dentre et dautres anomalies
spcifiques au matriel peuvent tre confines lanalyseur lexical.
Tous ces points nous ont conduit introduire une tape danalyse lexicale dans le processus danalyse de la structure de la formule.
Un analyseur lexical lit et convertit un flot dentre en un flot dunits lexicales qui sera
trait par lanalyseur syntaxique. Une suite de caractres dentre qui constitue une seule
unit lexicale est appele lexme. Un analyseur lexical permet de cacher la reprsentation
physique des units lexicales lanalyseur syntaxique. Dans un modle de compilateur par
exemple [?][1] , lanalyseur syntaxique obtient une chane dunits lexicales de lanalyseur
[1]

A HO A.V., S ETHI R. & U LLMAN J.D., Compilateurs : Principes, Techniques et Outils (1991).

69

Chapitre III. Mthode et outils

lexical, comme illustr par la figure, 5 et vrifie que la chane peut tre engendre par la
grammaire du langage source.
Flot de

Flot dunits

caractres

lexicales

Analyseur
lexical

Reprsentation
Traducteur dirig

intermdiaire

par la syntaxe

F IG . 5 Reprsentation simplifie de lanalyse syntaxique


Toutefois, cette tape reste assez sommaire, du fait de la nature bidimensionnelle des
donnes traites. En effet, il nest pas possible, lors de lanalyse lexicale, de reconstituer les
identifiants et les nombres. Leur construction dpend du contexte et de paramtres gomtriques que nous ne pouvons pas introduire durant cette phase de lanalyse. Le traitement
effectu se limite donc abstraire les donnes reues du logiciel se chargeant de raliser la
reconnaissance des symboles. Outre une simplification de la grammaire, il permet ainsi de
rendre la grammaire indpendante des identifiants utiliss pour les symboles mathmatiques.
Unit lexicale
oprel
pargauche
accent
digit
letter
...

Lexmes
Description informelle des modles
< = > = ...
Oprateur dgalit et ingalit
([{
Marqueur gauche de bloc

Accentuation dun identifiant


0 1 2 ...
Chiffre
[a z] [A Z]
Caractre
...
...

Quand plus dun modle reconnat un lexme, lanalyseur lexical doit fournir aux phases
suivantes du compilateur des informations additionnelles sur le lexme reconnu. Lanalyseur
lexical runit les informations sur les units lexicales dans des attributs qui lui sont associs.
Les units lexicales influent sur les dcisions danalyse syntaxique ; les attributs influent sur
la traduction des units lexicales.
Cest sur ce schma classique, utilis en compilation, que nous avons construit lanalyseur lexical. Les attributs dun lexme sont :
la valeur du symbole reconnu,
les coordonnes graphiques de ce symbole (coordonnes de la bote englobante du
symbole, . . .),
la ligne de rfrence,
le taille relative du symbole.
Lensemble des informations collectes va servir de base lanalyse gomtrique et syntaxique.

70

4. Analyse gomtrique

4 Analyse gomtrique
Lanalyse gomtrique permet de hirarchiser un ensemble de donnes a priori difficiles utiliser en ltat. partir des donnes fournies par le systme sous-jacent, nous allons
construire un graphe. Ce type de structure permet dabstraire les informations et de les traiter
efficacement. Nous allons introduire le type de graphe que nous utilisons, et nous prsenterons les diffrentes tapes qui conduisent sa construction.

4.1 Introduction des graphes


Dans les problmes informatiques ou mathmatiques, en ingnierie et dans de nombreux
autres domaines, il est trs frquent davoir reprsenter des relations arbitraires entre des
objets considrs comme des donnes. Les graphes sont les modles naturels de telles relations.
Deux classes de graphes sont distinguer : orients et non orients.
Un graphe orient G est reprsent par un couple (N, A), o N est un ensemble fini
et A est une relation binaire sur N. Lensemble N est appel ensemble des nuds, ou
sommets, de G. On dit que lensemble A est lensemble des arcs de G.
Dans un graphe non orient G = (N, A), lensemble des artes A nest pas constitu
de couples, mais de paires de nuds non ordonnes.
Beaucoup de dfinitions sont identiques pour les graphes orients et non orients, mais
certains termes ont des significations diffrentes, selon quils sont employs dans lun ou
lautre contexte.
On peut distinguer deux utilisations frquentes des graphes en reconnaissance de formes :
les nuds du graphe reprsentent les symboles ou formes reconnues et les arcs dcrivent les relations entre ces lments.
les arcs du graphe sont les lments, et les nuds symbolisent des concidences de
points de ces formes.
La figure 6 illustre ces deux types dutilisation de graphes. La forme dorigine est constitue de cinq segments (s1 s5) et de cinq nuds (p1 p5).
Cette structure de graphe est bien adapte pour dcrire ou imposer des relations sur
nimporte quel couple de formes. Elle constitue un modle puissant de reprsentation de la
structure des formes, mais aussi de leur contexte (grce aux arcs reliant toute forme avec les
formes voisines). De plus, les nuds et les arcs peuvent tre augments dattributs rutilisables par une grammaire attribue.
Toutes les proprits de cette structure de donnes nous ont conduit la prfrer. Nous
allons maintenant donner des dfinitions pour la modlisation du graphe. Ces notions seront
ncessaires la poursuite de la lecture de ce chapitre.

71

Chapitre III. Mthode et outils


p2
p1

s1

s5

p3
p5

s4

p2

s5
s2
s1

p1

s3

p4

Forme dorigine

s5

s2

s4

s3

Les noeuds sont


des formes

s1

s2

p5
s4

p3
s3

p4

Les arcs sont


des formes

F IG . 6 Deux reprsentations possibles dune forme par un graphe

4.2 Dfinition dun graphe


tant donn la nature de notre problme, la reconnaissance structurelle de formules
mathmatiques, nous avons opt pour une modlisation des donnes utilisant la premire
reprsentation. Les nuds du graphe reprsentent les symboles reconnus de lexpression
mathmatique et les arcs du graphe, les relations entre ces diffrents lments. Les relations entre les objets ntant pas symtriques, nous nous sommes dirigs vers lutilisation de
graphes orients.
En ce qui concerne la modlisation mme des objets composant le graphe, les nuds
et les arcs, nous avons choisi une modlisation un peu particulire, mais qui nous a permis
de dmontrer des proprits sur les grammaires de graphes contextuelles. Dfinissons tout
dabord notre modlisation dun graphe.
Chaque objet composant un graphe est reprsent par un terme ou un ensemble fini de
termes. Comme il est courant, lensemble de termes T (F, V ) est dfini par un ensemble F
de symboles fonctionnels et un ensemble V de variables. Les variables sont des termes et si
t1 , . . . , tn sont des termes et f est un symbole fonctionnel n-aire de F , alors f (t 1 , . . . , tn )
est un terme. Notons V ar(t) lensemble de variables apparaissant dans un terme t (ou un
ensemble fini de termes). Des dfinitions plus formelles peuvent tre trouves dans [?] [1] .
Nous utiliserons des lettres majuscules pour les symboles fonctionnels et des lettres minuscules pour les variables. Les nuds, arcs et graphes sont ainsi dfinis :
Dfinition 1 : Noeud dun graphe
Un nud est un terme N(t, i, v) pour lequel :
t est le type lexical ("Oprateur", "Variable", "Chiffre", . . .),
i est un identifiant pour reprer les diffrentes occurrences dune mme expression mathmatique,
[1]

72

RUSINOWITCH M., Dmonstration Automatique par des Techniques de Rcriture, PhD Thesis (1987).

4. Analyse gomtrique

v est la valeur, typiquement lexpression mathmatique sous la forme dun terme.




Dfinition 2 : Arc dun graphe


Un arc est un terme A(t, n1 , n2 ) avec :
t est le type de larc (son tiquette) : une direction dans le plan ("Gauche",
"Droite", "Au dessus", . . .),
n1 et n2 sont des nuds.

Dfinition 3 : Graphe
Un graphe est un ensemble fini darcs : {A(t1 , n11 , n21 ), . . . , A(tn , n1n , n2n )}. Lensemble {nij } tant lensemble des nuds du graphe.

Pour simplifier, nous supposerons que les graphes sont connexes et quils contiennent au
moins un arc. Ainsi, chaque nud apparat au moins une fois dans un arc. Ceci nest pas une
restriction : nous pouvons toujours rajouter un nud gnrique, connect tous les autres
nuds avec un arc gnrique.

4.3 Construction du graphe initial


Ltape de construction du graphe contenant les donnes nest cependant pas vidente. Il
est pourtant trs important de bien sparer la partie danalyse gomtrique de la reconnaissance syntaxique.
Cette construction du graphe initial utilise les informations fournies par les tapes prcdemment prsentes dans les paragraphes sur lanalyse de limage et lanalyse lexicale.
Une structure de graphe est donc utilise afin de modliser les diffrentes relations entre
les entits constituant la notation que lon souhaite reconnatre. Un nud du graphe est cr
et associ chacun des symboles composant la formule. Des attributs sont attachs chacun
des nuds, comme le type lexical du symbole.
Les arcs, qui relient les nuds du graphe, reprsentent les relations qui existent ou
peuvent exister entre les entits de la formule. La construction de ces arcs est le rsultat
de lanalyse gomtrique et lexicale. Nous allons dtailler chacune des ces tapes.
4.3.1 Analyse de proximit
En rgle gnrale, les notations mathmatiques utilisent toutes une notion fondamentale :
la proximit des symboles est rvlatrice de liens entre les lments concerns. Une tude de
plusieurs ouvrages traitant de la typographie des expressions mathmatiques comme [?] [1] ,
[?][1] a permis de mettre en vidence cette notion. Cest en effet le principe fondamental
[1]
[1]

H IGHAM N.J., Handbook of Writing for the Mathematical Sciences (1993).


K NUTH D.E., Mathematical typography (1979).

73

Chapitre III. Mthode et outils

utilis en criture ; les symboles composant un mot sont rassembls et un espace, donc une
notion de distance plus grande entre des groupes de symboles, permet de faire des sparations entre les entits de base.
Un arc tiquet est ainsi ajout au graphe afin de reprsenter les relations spatiales entre
les deux nuds du graphe quil relie. Une premire limitation intervient alors : il ne faut
pas relier un objet avec tous les objets dans une direction donne, mais ne relier un lment
quavec llment le plus proche dans cette direction. Seuls les arcs ayant un sens gomtrique intressant sont ainsi pris en compte. La figure 7 illustre cette restriction sur la cration
des liens.
pas de lien

x+y
F IG . 7 Construction des liens de proximit
Un systme dvaluation permet de dterminer si lon ajoute le lien ou pas en fonction des
diffrents autres paramtres qui entrent en jeu : les critres gomtriques (position, distances,
...), les critres lexicaux.
4.3.2 Critres gomtriques et graphiques
Les critres gomtriques sont utiliss afin de dterminer si les symboles ou sousexpressions, reprsents par un nud, ont des liens possibles entre eux.
Plusieurs mthodes ont t testes pour effectuer la subdivision des donnes entourant
un symbole donn en plusieurs zones. Une mthode simple consiste analyser la valeur
de langle form avec lhorizontale par la droite reliant les centres des botes englobantes.
Par exemple, un objet est plac la droite dun autre si langle est compris entre -22,5et
+22,5. Cette approche convient bien aux symboles isols, mais conduit des checs dans le
cas dune bote englobant une sous-formule. Soit B "en haut droite" de A. Si la taille de
la sous-expression B augmente, la sous-expression ne sera plus alors considre comme en
position dexposant, mais comme align par rapport A. La figure 8 illustre cet exemple.
Une autre approche que nous avons dtaille page 48 concernait le dcoupage par projections. Il a t utilis avec succs par M. Okamoto pour lanalyse de notations typographies,
mais, Z. X. Wang et C. Faure [?][2] ont montr les limites dun tel systme dans le cas manuscrit.
[2]

74

WANG Z.X. & FAURE C., Automatic perception of the structure of handwritten mathematical expressions (1990).

4. Analyse gomtrique

B
A

F IG . 8 Dtection des relations entre symboles, base sur une notion dangle
Nous avons opt pour une mthode moins restrictive que le dcoupage par projections,
qui implique que les symboles soient parfaitement aligns donc difficilement adaptable au
cas manuscrit. Le plan est subdivis en neuf rgions autour du symbole que lon considre :
les 8 directions principales (au dessus, en dessus, gauche, droite, en haut gauche, . . .),
auxquelles sajoute la notion dinclusion (est lintrieur de). Cette dernire est importante
pour certains symboles comme la racine carre par exemple. Les zones hachures de la figure
9 illustrent les diffrentes rgions dans lequelles doit se trouver le symbole afin dtre un
candidat digne dintrt pour la cration dun lien avec le symbole reprsent par le rectangle
blanc. Cette zone de recherche, symbolise par le rectangle hachur, est proportionnelle la
taille du symbole par rapport auquel on effectue cette exploration. En effet, dans une notation
mathmatique, la taille du symbole indique la porte de celui-ci. Plus le symbole est grand,
plus il englobe un nombre important de symboles, qui peuvent donc tre plus loigns. Par
opposition, plus le symbole est petit, plus les symboles se rapportant celui-ci seront proches
de lui.
Plusieurs remarques sont effectuer propos de ce schma. Les rgions de recherche ne
sont pas toutes quivalentes. Prenons un exemple ; pour la rgion est droite de, la zone
de recherche est plus tendue en largeur que pour une recherche en haut droite. Ceci
sexplique simplement par le fait mme de lcriture mathmatique ; le symbole en position
dexposant est plac plus prt quun symbole qui est sur la mme ligne dcriture que le
symbole considr. De mme, on va chercher moins haut dans le cas dune recherche des
lments en haut droite que en haut.
On peut aussi remarquer sur cette figure quune mme rgion du plan peut correspondre
diffrentes positions. Par exemple, les rgions en haut droite et droite se superposent.
Ce dcoupage de lespace permet une plus grande latitude dans la manire de typographier
une notation mathmatique, mais aussi de ne pas omettre certains liens dans le cas manuscrit
o les variations peuvent tre importantes dans lcriture. Lvaluation de distances ou de
lalignement de deux symboles nest pas absolu. Un seuil de tolrance paramtrable a t
introduit, permettant ainsi une adaptation simplifie au cas typographi et manuscrit de la
construction du graphe.

75

Chapitre III. Mthode et outils

111111
000000
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111

En haut gauche

000000000000
111111111111
111111111111
000000000000
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111

A gauche

111111
000000
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111

En bas gauche

1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
1111111
0000000

Au dessus

111111
000000
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111

Inclus

1111111
0000000
0000000
1111111
1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111

En bas

1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111

En haut droite

111111111111
000000000000
0
1
0
1
000000000000
111111111111
0
1
000000000000
111111111111
0
1
000000000000
111111111111
000000000000
111111111111
0
1
000000000000
111111111111
0
1
0
1
000000000000
111111111111
0
1
000000000000
111111111111
000000000000
111111111111
0
1
000000000000
111111111111
0
1

A droite

1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111

En bas droite

F IG . 9 Analyse gomtrique : dfinition des rgions


4.3.3 Critres divers
Plusieurs types de critres sont donc pris en compte afin de dterminer si un lien doit tre
construit, et donc si un arc doit tre ajout ou non au graphe. Outre les critres purement gomtriques que nous venons dexposer, les informations notre disposition sont incluses dans
la prise de dcision. Prenons deux exemples afin de mieux illustrer les critres en question.
Dans le cas dun lien horizontal, les critres suivants sont pris en compte :
lalignement des lignes de rfrence des caractres,
lalignement des centres des botes englobantes.
Pour dterminer si un lment est en position dexposant (en haut droire) :
la taille de llment
Chacun de ces critres entre en jeu dans lvaluation de la probabilit dun lien entre
deux lments. Un seuil permet de dterminer si larc est ajout au graphe ou non.
Un autre paramtre est analys afin de dterminer si un lien entre deux objets est valide,
et donc si larc reliant les nuds correspondants doit tre construit ou pas : le type lexical.
4.3.4 Rle du type lexical
Lanalyse lexicale a permis de typer lensemble des symboles reconnus par le systme de
reconnaissance des caractres. Comme nous lavons prsent, ce typage permet une abstrac-

76

4. Analyse gomtrique

tion supplmentaire dans le cadre de lanalyse structurelle, en crant des classes de symboles
ayant un comportement identique. Une utilisation du type lexical, outre son emploi dans la
grammaire, est une aide la dcision de la validit dun lien dans la construction du graphe.
En pratique, certains oprateurs ou classes doprateurs ne peuvent tre employs dans
nimporte quel contexte. Un oprateur comme < ne peut pas tre plac en position dexposant par rapport un autre symbole. Dans la plupart des notations mathmatiques courantes,
X < (X exposant infrieur) na pas de sens syntaxique. Pour lensemble des lexmes appartenant la mme classe lexicale que loprateur infrieur, ce type de relation na pas de sens.
Nous spcifions donc quil nest pas ncessaire de construire une telle liaison entre deux
lments, car elle ne peut pas tre syntaxiquement valide. On adjoint ainsi des rgles sur les
relations qui ne sont pas acceptes pour chacun des types lexicaux.
Unit lexicale
oprel
accent
digit
letter
...

Lexmes
< = > = ...

0 1 2 ...
[a z] [A Z]
...

Type de liens interdits


liens diagonaux
liens diagonaux, liens horizontaux
nant
nant
...

Lintroduction de ces rgles de contraintes sur les liens en fonction du type lexical a
permis, dans un deuxime temps, de simplifier le graphe construit. En effet, la plupart des
liens sont rversibles : x est gauche de y est quivalent y est droite de x. Ceci
a pour effet de multiplier par deux le nombre darcs dans le graphe. Grce aux rgles cidessus, il est possible de simplifier ce graphe en subdivisant les rgles en deux catgories :
le type darcs entrants sur un nud et le type darcs sortants dun nud qui sont autoriss ou
interdits.
Nota : On appelle arc entrant sur un nud n, un arc orient du type A(x, n). Par opposition, on appelle arc sortant dun nud n, un arc orient du type A(n, x).
4.3.5 Conclusion
Lensemble des paramtres gomtriques et lexicaux que nous avons dcrits sont pris
en compte afin de dterminer si deux nuds doivent tre relis par un certain type darc.
Lalgorithme pour la construction du graphe initial peut tre rsum de la faon suivante :
procedure ContruireGrapheInitial(Ensemble des Noeuds en, resultat Graphe g)
debut
g := GrapheVide
pour chaque noeud n1 de lensemble des noeuds en faire
pour chaque type darc a faire
pour chaque noeud n2 de lensemble des noeuds faire
si (n1<>n2) et Evaluation(n1, n2, a) alors

77

Chapitre III. Mthode et outils


ajouter larc a entre n1,n2 au graphe g
finsi
finpour
finpour
finpour
resultat g
fin

10

La fonction Evaluation, tient compte de lensemble des critres mtriques, gomtriques


et lexicaux, afin de dterminer si la construction du lien doit tre effectue ou non (dtails
page 74).
Si n est le nombre de symboles composant lexpression mathmatique que lon souhaite
reconnatre, la complexit de lalgorithme de construction du graphe initial (ConstruireGrapheInitial)
est O(n2 ). Toutefois, cet algorithme est quelque peu simpliste ; un gain important peut tre
ralis. Nous allons prsenter les optimisations effectues dans le paragraphe suivant.

4.4 Optimisation
Il nest pas ncessaire de tester un lment avec tous les autres afin de dterminer lequel
se situe sa droite ou bien au dessus. Prenons un exemple concret pour illustrer la
ncessit dintroduire une optimisation au niveau de la construction du graphe initial ; soit la
formule suivante :

I=(i1 ,...,ik )

PI

n

j=1

(1)j

p(mi1 , ..., m
ij , ..., mik ) k
m1 ,...,mn (ei1 ... eij ... eik ) = 0
p(mi1 , ..., mik )

Cette expression contient 116 symboles. Sans optimisation daucune sorte, le temps de
calcul ncessaire la construction du graphe initial atteint 35 secondes sur un PC, Pentium
200Mhz. Prcisons tout de mme que limplmentation qui a permis de mesurer ce temps de
calcul est ralise dans un langage interprt.
Pour affiner cette approche, la notion de proximit dcrite dans le paragraphe 4.3.1, ainsi
que la notion de direction ont t prises en compte de manire plus prcise. Afin de faire
dcrotre la complexit de lalgorithme de calcul du graphe initial, nous avons tent de limiter
le nombre dlments tester. La construction du graphe tient compte de la proximit des
lments par rapport llment considr. Le concept de voisinage dun objet prend donc
toute son importance. Lalgorithme pour la construction du graphe initial devient alors le
suivant :
procedure ContruireGrapheInitial(Ensemble des Noeuds en, resultat Graphe g)
debut
g := GrapheVide

78

4. Analyse gomtrique
pour chaque noeud n1 de lensemble des noeuds en faire
pour chaque type darc a faire
pour chaque noeud n2 voisin de n1 faire
si (n1<>n2) et Evaluation(n1, n2, a) alors
ajouter larc a entre n1,n2 au graphe g
finsi
finpour
finpour
finpour
resultat g
fin

10

Nous avons introduit la notion de subdivision du plan en sous-rgions, afin de limiter le


nombre de candidats possibles pour un type de lien dans une direction donne. Le concept de
voisinage se dfinit alors par linspection de tous les lments appartenant aux sous-rgions
concernes. Ainsi, sur lexemple prsent par la figure 10, pour dterminer si un lment est
droite de lintgrale, il suffit de considrer les symboles qui sont dans les cases (0, 0),
(0, 1), (1, 0), (1, 1). Si aucun lment nest dtect dans cette zone, on pourra tendre la
recherche aux cases (0, 2), (1, 2), etc. Une distance maximale de recherche est dfinie.

F IG . 10 Subdivision du plan en sous-rgions


Le nombre de subdivisions est calcul partir de lensemble des symboles qui composent
la formule. Une tude a t ralise afin de dterminer le nombre optimum de subdivisions
du plan, en fonction des lments de la notation identifier. La figure 11 reprsente le temps
ncessaire au calcul du graphe initial en fonction du nombre de subdivisions du plan selon
laxe x (ici intervalle [0, 35]) et y (intervalle [0, 15]), pour la formule ci-dessus.
Cette tude, ralise sur un vaste chantillon de notations mathmatiques, a permis de
dterminer lintervalle de la subdivision pour un temps optimum de construction du graphe
initial. Ainsi, la valeur optimisant le temps de calcul est 1, 75 fois la taille moyenne des
botes englobantes des symboles de la notation.

79

Chapitre III. Mthode et outils

35000
30000
25000
20000
15000
10000
5000
00

10

15

20

25

10
5

30
0

F IG . 11 Optimisation du temps de construction du graphe initial


Avec la subdivision du plan que nous venons de prsenter, le temps de calcul ncessaire
la construction du graphe initial de la formule cite ci-dessus, a t rduit 3,6 secondes
(soit un gain dun facteur 9). Ce gain de performance nest toutefois vraiment sensible que
pour des notations composes de nombreux symboles.

4.5 Les limites de la construction du graphe


Comme nous lavons soulign prcdemment, le construction du graphe est une tape
importante ; trop de liens peuvent nuire la reconnaissance de la notation et le manque de
liens peuvent aussi conduire un chec lors de lanalyse. Dans le cas manuscrit, plus sujet
aux variations dans la calligraphie, plusieurs erreurs de construction du graphe peuvent se
produire :
cas limite de dtection en haut ou en bas droite et align,
symboles trop loigns les uns des autres et donc non construction de liens dans le
graphe (cas rarement rencontr),
symboles sans liens logique trop proches dun point de vue gomtrique.
Illustrons, laide de la formule suivante, cette dernire catgorie derreur qui peut aussi
se produire dans le cas typographis.
XXX

XX
X
XX
X
XX
XX
XX

Le graphe construit (voir la figure 12), contient un lien qui amnent une impasse lors de
la phase de reconnaissance de la structure. Dun point de vue gomtrique, les symboles en
exposant de lindice et en indice de lexposant sont suffisamment prochent pour que lanalyse

80

5. Rappels sur les grammaires

gomtrique juge bon de lier ces objets.

XX X

XX

X X
X
X
X
X
Lien problmatique
X X
X X
X

F IG . 12 Problme de construction du graphe


Le systme dtiquetage des arcs du graphe tient aussi compte dinformations sur la taille
des symboles pour viter la construction de liens errons pour les indices et les exposants ;
la taille du (ou de) caractre en indice doit tre infrieure ou gale au symbole de rfrence.
Dans le cas de notre exemple, le systme ne peut pas non plus utiliser linformation sur la
taille des symboles pour dtecter une erreur. En effet, sur cet exemple typographi par LATEX,
la taille des polices de caractres utilises pour les indices ou exposants va en dcroissant.
Toutefois cette dcroissance a un seuil minimum atteint au troisime niveau. Les symboles
sont donc de taille identique et le systme ne peut en dduire quil nexiste pas de lien de
type exposant entre ces symboles. Afin de trouver une solution ce type de problme,
nous avons pens faire une analyse des cycles dans le graphe construit. Toutefois nous
navons pas pu la mettre en pratique et ainsi vrifier si une telle solution pouvait rsoudre la
question.
Toutes les tapes que nous venons de dtailler permettent dobtenir un graphe renfermant
lensemble des donnes ncessaires. Il reste toutefois analyser le graphe obtenu, afin den
dduire larbre de syntaxe de lexpression sous-jacente. Nous allons dtailler la mthode
retenue, base sur lutilisation dune grammaires de graphes.

5 Rappels sur les grammaires


Nous avons jusqu prsent dcrit les avantages dune structure comme le graphe pour
formaliser des donnes. Les grammaires de graphes fournissent, quant elles, un formalisme
intressant de description des manipulations structurelles de donnes multidimensionnelles
[?][1] .
Une grammaire formelle classique opre sur une suite de caractres, cest dire un espace
une dimension, la topologie rudimentaire. Mais dans le cas de lanalyse dexpressions qui
scrivent dans le plan, on gagne une dimension en mme temps que lon perd lordre total
[1]

G LADKOFF S., Grammaires de Graphes et Applications, PhD Thesis (1982).

81

Chapitre III. Mthode et outils

naturel de la droite et son caractre discret. Le problme qui tait purement combinatoire et
discret une dimension, devient en plus gomtrique et continu deux dimensions.
La solution pour la reconnaissance de formules doit alors avoir deux aspects : un aspect
gomtrique et un aspect combinatoire. Si lon adopte, comme cela semble naturel, lapproche des grammaires formelles, on note que le formalisme de la grammaire et lalgorithme
de reconnaissance associ doivent, eux deux, faire intervenir des concepts gomtriques et
combinatoires.
Cela nous a conduit nous orienter vers une classe de grammaires spcialises : une
grammaire de graphes, localement dpendante du contexte et attribue . Elle gnralise les
grammaires linaires usuelles en tendant les liaisons droite et gauche entre les
lexmes du cas linaire, aux liaisons relatives des rectangles des lexmes : en haut et
droite , en bas. . .

5.1 Rappels sur les grammaires


Les dfinitions rappeles ci-dessous sont gnrales et concernent aussi bien les structures
linaires (analyse de texte), que les formes planes et elles peuvent mme tre ventuellement
appliques la reconnaissance de structures multidimensionnelles. Nos propos seront cependant plus orients sur la reconnaissance bidimensionnelle et les problmes poss par la
reconnaissance de structures gomtriques.
5.1.1 Grammaires formelles
Ltude des langages formels a constitu, et constitue encore une part importante de
linformatique. Ce domaine de recherche a connu un engouement certain ds les annes
1956, quand Noam Chomsky [?][2] a dfini un modle mathmatique pour les grammaires en
connexion avec ses tudes sur le langage naturel. Nous rappelons simplement ici quelques
dfinitions utiles.
Dfinition 4 : Grammaire formelle
Une grammaire formelle est un quadruplet G = (V N , VT , P, X) o :
VN est un ensemble fini et non vide de symboles non-terminaux, appel encore
alphabet non-terminal,
VT est un ensemble fini et non vide de symboles terminaux appel alphabet terminal. Ces ensembles N et T ont une intersection vide,
P est un ensemble fini non vide de rgles de production (ou rgles de rcriture
[?][1] ),
[2]
[1]

82

C HOMSKY N., Aspects of the Theory of Syntax (1965).


J OUANNAUD J.P. & L ESCANNE P., La rcriture (1986).

5. Rappels sur les grammaires

X est un symbole non-terminal particulier, appel axiome de la grammaire.


Par convention, nous noterons V = V N VT , o V est appel le vocabulaire de la
grammaire. Chaque production p de P est de la forme , avec i V + et
i V .

On rappelle que V dsigne lensemble des chanes pouvant tre construites en concatnant les lments de V, y compris les chanes vides, et V + en excluant les chanes vides.
Chomsky propose une classification des grammaires formelles selon les restrictions faites
sur la nature des rgles de production de la grammaire. Il a ainsi dfini trois types de grammaires, souvent nommes grammaires de type 0, 1, 2 et 3.
Dfinition 5 : Grammaire de type 0
Une grammaire de type 0 est sans aucune contrainte sur les rgle de production.

Dfinition 6 : Grammaire de type 1 ou grammaire contextuelle


xAy xzy avec x, y, z V et A N
Le symbole A ne peut tre crit en z quen prsence du contexte gauche x et du
contexte droit y.

Dfinition 7 : Grammaire de type 2 ou grammaire hors contexte
A x avec A N et x V
Le symbole A peut-tre rcrit en x quel que soit son contexte.

Dfinition 8 : Grammaire de type 3 ou grammaire rgulire contexte libre


A a ou A aB o a T et A, B N

5.1.2 Grammaires attribues


Lide dintroduire dans la grammaire des attributs permettant dutiliser les informations
smantiques est due Donald Knuth [?] [2] . On parle dans ce cas de grammaire attribue.
Dans une grammaire attribue, chaque production est en fait constitue de deux rgles : une
rgle syntaxique et une rgle smantique, introduisant des proprits spcifiques supplmentaires.
On retrouve la mme dfinition que pour une grammaire formelle (Dfinition 4). Pour
chaque lment x V , il existe un ensemble fini dattributs A(x), o chaque lment de
A(x) contient un ensemble fini ou infini de valeurs possibles D . Cet ensemble reprsente
un vecteur dattributs, spcifiant les proprits de lobjet (coordonnes ou dimensions par
exemple). Chaque production se dfinit donc en deux parties :
[2]

K NUTH D.E., Semantics of context-free languages (1968).

83

Chapitre III. Mthode et outils

une rgle syntaxique de la forme :


x0 x1 x2 ...xm o x0 N, et i [1..m], xi V
une rgle smantique est constitue de contraintes sur les attributs et se dfinit comme
un ensemble dexpressions :
1 f1 (11 , 12 , ..., 1n1 )
2 f2 (21 , 22 , ..., 2n2 )
..
.
n fn (n1 , n2 , ..., nnn )
o 1 , ..., n = A(x0 ) A(x1 ) ... A(xm ), et chaque ij (1 i n, 1 j n)
est un attribut dun xk pour (0 k m). Les fi pour (1 i n) sont des oprateurs
permettant lune des trois formes suivantes :
fi : Di1 Di2 , ..., Dini Di ,
fi est une fonction sans variable, exprime en fonction des valeurs i1 , ..., ini ,
fi est un algorithme, qui prend en entre les valeurs i1 , ..., ini , ainsi que toute
autre information ou donne, et qui retourne le rsultat dans i .
Chaque symbole de la grammaire possde un ensemble dattributs qui permettent de reprsenter ce que lon dsire : une chane de caractres, un nombre, un type, etc. La valeur de
lattribut est dfinie par une rgle smantique associe la production utilise. Lensemble
des attributs est partitionn en deux sous-ensembles appels les attributs synthtiss et les
attributs hrits de ce symbole. La valeur dun attribut synthtis en un nud est calcule
partir des valeurs des attributs aux fils de ce nud dans larbre syntaxique ; la valeur dun
attribut hrit en un nud est calcul partir des valeurs des attributs aux frres et au pre
de ce nud.
Nous avons jusqu prsent uniquement considr les grammaires linaires, cest dire
des grammaires dans lesquelles les relations entre symboles ne sont constitues que de
concatnations, chaque symbole tant connect soit sa gauche, soit sa droite. Ce type
de relation unaire ne permet pas de prendre en compte des notations bidimensionnelles (ou
n-dimensionnelles) ; il faut pour cela dfinir les relations n-aires correspondantes. Il existe
essentiellement deux possibilits dobtenir une reprsentation plus approprie la classe de
problmes traite (modlisation du plan ou de lespace).
La premire consiste choisir un formalisme ou une structure adapte la reprsentation de donnes multidimensionnelles (n 2), comme un arbre ou un graphe.
La seconde possibilit revient introduire dans les rgles de la grammaire des relations
n-aires plus gnrales que la concatnation.
Deux approches, connues dans le domaine de la reconnaissance de formes, utilisent ce
dernier concept : le langage PDL et les plex-grammaires.
Nous avons introduit la notion de graphe comme structure de donnes permettant la reprsentation de formes planes. Nous allons maintenant prsenter les grammaires de graphes

84

5. Rappels sur les grammaires

qui manipulent ces graphes pour en extraire, par un systme de rcriture, linformation
souhaite.

5.2 Grammaires de graphes


Pfaltz et Rosenfeld [?][1] ont tendu le concept de grammaire linaire aux grammaires de
graphes afin de rsoudre des problmes pratiques de traitement dimages (reconnaissance de
chromosomes, de caractres manuscrits, ...). Les graphes manipuls par de telles grammaires
sont ceux dans lesquels les nuds dsignent les formes ; celles-ci jouent le rle de terminaux
et de non-terminaux.
La diversit des champs dapplication de ces grammaires a eu pour consquence lapparition de nombreux modles de systmes de rcriture de graphes. Lide dutiliser de telles
grammaires apparat entre autre dans les travaux de H. Bunke [?][2] . Plusieurs utilisations
des grammaires de graphes peuvent tre cites comme : [?][3] sur lutilisation en gnral
des grammaires de graphes, mais aussi [?][4] et [?][5] pour la reconnaissance de partitions
musicales, [?][6] pour la reconnaissance de schmas lectroniques. Quelques articles de synthse sur le sujet sont aussi noter comme [?] [7] , [?][8] . Le lecteur dsireux de connatre de
nombreuses autres applications pourra consulter [?] [9] ou encore des recueils comme [?][10] ,
[?][11] , entirement consacrs aux grammaires de graphes et leur utilisation.
La plupart des modles de grammaires de graphes sont bass sur lopration de rcriture dun graphe (ou dun sous-graphe) et litration dun tel processus. Les travaux de
B. Courcelle [?][1] ont permis de simplifier le concept de rcriture de graphes grce une
reprsentation de ceux-ci sous forme dexpressions algbriques.
Dans toutes les grammaires que nous venons dtudier, une production est utilise
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[1]

P FALTZ J. & ROSENFLED A., Web grammars (1969).


B UNKE H., Graph grammars as a generative tool in image understanding (1982).
P FEIFFER J.J., Using graph grammars for data structure manipulation (1990).
B LOSTEIN D. & FAHMY H., A graph grammar for high-level recognition of music notation (1991).
B LOSTEIN D., FAHMY H. & G RBAVEC A., Practical use of graph rewriting, Technical Report (1995).
B UNKE H., Attributed programmed graph grammars and their application to schematic diagram interpretation (1982).
NAGL M., A tutorial and bibliographical survey on graph grammars (1978).
B LOSTEIN D. & FAHMY H., A survey of graph grammars : Theory and applications (1992).
Graph-Grammars and Their Applications to Computer Science and Biology (1979).
Graph Grammars and their Application to Computer Science (1986).
Graph Transformations in Computer Science (1993).
C OURCELLE B., An axiomatic definition of context-free rewriting and its application to nlc graph grammars, Technical Report (1987).

85

Chapitre III. Mthode et outils

pour remplacer une chane par une autre. Ainsi, la chane est remplace par . Dans
le cas o les donnes sont reprsentes par des graphes, il devient ncessaire de prciser,
pour une rgle de la forme , comment remplacer le sous-graphe dun graphe , par
un sous-graphe . Il sagit donc dassocier chaque production une rgle prcisant
ce remplacement, sachant quil est indpendant du graphe receveur .
Soit V un ensemble dtiquettes, N et N lensemble des noeuds de et ; la rgle de
rcriture dune grammaire de graphes est un triplet (, , ) avec :
: N xN 2V
Lapplication prcise comment relier les nuds de chaque nud du graphe priv du
sous-graphe (not ).
Comme pour les grammaires formelles linaires, il est possible daugmenter chaque production dun ensemble dattributs. On parle alors de grammaires de graphes attribues. Ces
dernires permettent de concevoir des systmes de reconnaissance puissants, dans lesquels
concepts structurels, numriques et smantiques sont fortement lis.
Nous utilisons une grammaire de graphes attribue, localement dpendante du contexte
[?] [?][3] . Une rgle de la grammaire exprime le fait quun sous-graphe du graphe de donnes peut-tre rduit un sous-graphe (qui peut-tre rduit un nud) si certaines conditions
syntaxiques sont vrifies. Les symboles terminaux reprsentent les caractres reconnus par
le programme de reconnaissance des caractres et les non-terminaux reprsentent les morceaux de sous-formules dj analyss.
[2]

Dfinition 9 : Rgle syntaxique dune grammaire de graphes


Une rgle est un terme G, C P avec :
P est un nud, appel la production de la rgle.
G est un graphe, appel le modle de la rgle.
C est un ensemble fini de graphes, appel contexte de la rgle.

La grammaire tant attribue, des rgles smantiques sont associes aux rgles syntaxiques (voir page 82). Ces rgles permettront de calculer un ensemble dattributs lors de
lapplication de la rgle syntaxique sur le graphe (tape de rcriture). Citons ici quelques
exemples dattributs synthtiss : la ligne de rfrence pour le nouvel objet, la taille de llment, . . . Nous reviendrons plus en dtail sur ce point dans la suite du discours.
Dfinition 10 : Grammaire de graphes
[2]
[3]

86

L AVIROTTE S. & P OTTIER L., Optical formula recognition (1997).


L AVIROTTE S. & P OTTIER L., Mathematical formula recognition (1997).

5. Rappels sur les grammaires

Une grammaire est un ensemble fini de rgles.

Soit un graphe reprsentant une formule (les nuds sont donc les symboles de la formules et les arcs les liens exprimant les relations gomtriques entre les symboles) ; les rgles
sont utilises pour rcrire le graphe en remplaant le sous-graphe reconnu par un nud dont
la valeur est la sous-formule construite (arbre de syntaxe abstraite) sous la forme dun terme.
Ce processus utilise donc la reconnaissance et le remplacement dun sous-graphe dans un
graphe, ce que nous allons dfinir [?][1] .
Rappelons tout dabord les notions de substitution et de reconnaissance de modles (pattern matching ) appliques aux termes.
Dfinition 11 : Substitution
Une substitution est un endomorphisme de T (F, V ), cest dire une application vrifiant f (t1 , . . . , tn ) = f (t1 , . . . , tn ) pour tout f dans F et tous les termes t 1 , . . . , tn .
Une substitution est uniquement dtermine par sa restriction |V lensemble des
variables.

Dfinition 12 : Filtrage de termes
Un terme t filtre avec un terme t , not t t si et seulement si il existe une substitution
telle que t = t .

Le filtrage dun ensemble fini de termes est dfini par :
{t1 , . . . , tn } {t1 , . . . , tm } {t1 , . . . , tn } = {t1 , . . . , tm }
Dfinition 13 : Rcriture dun graphe par application dune rgle
Une rgle r : G, C P rcrit un graphe G1 en un graphe G2 , not G1 r G2
si et seulement si il existe une substitution , un sous-graphe G  de G1 (cest dire
G G1 ), tels que :
G = G .
pour tout graphe H dans le contexte C, il nexiste pas de substitution telle que
|V ar(G) = |V ar(G) et H G1 .
G2 est obtenu par remplacement de G dans P , cest dire en retirant de G 1
tous les arcs de G et en remplaant dans G1 tous les nuds de G par le nud
N.

Aprs une brve prsentation des principaux lments composant une grammaire de
graphes, intressons nous son utilisation dans le cas particulier de la reconnaissance des
expressions mathmatiques.
[1]

R AOULT J.C. & VOISIN F., Set-theoretic graph rewriting, Technical Report (1992).

87

Chapitre III. Mthode et outils

6 Analyse structurelle
6.1 Grammaire de graphes et formules mathmatiques
Lapplication des grammaires de graphes la reconnaissance de formules mathmatiques doit tirer bnfice des spcificits du domaine tudi. Les notations mathmatiques
prsentent des particularits qui doivent tre prises en compte afin dadapter au mieux lutilisation des grammaires de graphes ce contexte.
tant donn un graphe G, construit suivant la mthode expose prcdemment. Ce graphe
va tre rcrit successivement par les rgles de la grammaire, afin de reconnatre larbre de
syntaxe abstraite de la formule reprsente par ce graphe. Chaque tape de rcriture
correspond lidentification dune sous-expression de la formule mathmatique globale.
Chacune de ces rgles doit ainsi exprimer lidentification dune sous-expression, ce qui implique donc lidentification dun oprateur mathmatique et des oprandes qui se rapportent
cet oprateur. Nous pouvons donc dcouper la grammaire en rgles correspondant aux
oprateurs mathmatiques que lon souhaite reconnatre. Nous dfinissons alors une grammaire dite grammaire doprateurs [?][1] . Ces grammaires ont la proprit (parmi dautres
exigences essentielles) de ne pas avoir de production dont la partie droite est vide ni davoir
deux non-terminaux adjacents. On peut facilement construire la main des analyseurs efficaces par dcalage-rduction, dans le cadre dune utilisation sur des chanes de caractres.
Nous allons maintenant dcrire une technique danalyse facile implanter appele analyse par priorit doprateurs. En tant que technique gnrale danalyse, la priorit doprateurs a un certain nombre de dsavantages. Par exemple, il est difficile de manipuler des
units lexicales comme le signe moins, qui a deux priorits diffrentes (selon son utilisation
comme oprateur binaire ou unaire). Nous avons donc dvelopp des mthodes utilisant la
gomtrie et le contexte dun sous-graphe, afin de rsoudre ces cas dlicats. Prsentons tout
dabord de manire gnrale les choix effectus pour lorganisation de cette grammaire.
Dans lanalyse de prcdence par oprateurs, nous dfinissons donc trois relations de
prcdences disjointes <, =, >, entre certains couples de terminaux de la grammaire. On
associe donc une priorit dans lordre dapplication des rgles. Cette priorit correspond
loprateur auquel la rgle est associe. Nous pouvons donc en dduire les relations entre les
couples de terminaux de la grammaire qui nous intressent (les oprateurs mathmatiques).
Toutefois, ce seul critre nest pas suffisant dans le cadre de notre application. En effet,
des critres gomtriques doivent tre pris en compte. Chaque changement de ligne de rfrence pour lcriture dune notation implique un changement de priorit dans lanalyse.

[1]

88

A HO A.V. & U LLMAN J.D., The Theory of Parsing Translation and Compiling (1972).

6. Analyse structurelle

Nous prsentons dans les paragraphes suivants la mthode que nous avons dveloppe
afin de rendre les grammaires de graphes doprateurs mathmatiques non ambigus, et ainsi
obtenir un analyseur syntaxique mieux adapt aux grammaires de graphes, dans le cadre de
la reconnaissance de structures mathmatiques.

6.2 Construction du contexte des rgles


Un des problmes principaux avec une telle grammaire doprateurs et les rgles de rcriture est bien lexistence dambiguts. En effet, deux rgles peuvent rcrire un graphe
de deux manires diffrentes et donc aboutir deux graphes diffrents. La suppression des
ambiguts peut seffectuer grce lanalyse de cas sur les modles, lutilisation de priorits
des rgles, ou bien encore la compltion du type Knuth-Bendix. Mais ces techniques sappliquent difficilement notre cas, cest pourquoi nous utilisons un contexte pour les rgles :
tant donne une grammaire de graphes contenant des ambiguts, notre but est dajouter un
contexte dapplication ces rgles, afin de supprimer les ambiguts, aussi systmatiquement
que possible.

6.2.1 Exemple
Pour illustrer les propos thoriques qui suivent, nous allons prendre un exemple de formule reconnatre et une grammaire permettant deffectuer cette analyse.
Soit la formule a2 + b, dcrite par le graphe F .

2
Haut-Droite

+
Gauche

b
Droite

F IG . 13 Le graphe reprsentant la formule A2 + B


F = {A(Haut-Droite, N(Expr, 1, A), N(Expr, 2, 2)),
A(Gauche, N(P lus, 3, +), N(Expr, 1, A)),
A(Droite, N(P lus, 3, +), N(Expr, 4, B))}
Soit la grammaire G indpendante du contexte, avec deux rgles permettant de reconnatre : pour lune laddition et pour lautre loprateur implicite puissance.
Oprateur addition z + t :
r+ : {A(Gauche, N(P lus, i+ , +), N(Expr, iz , z)),
A(Droite, N(P lus, i+ , +), N(Expr, it , t))}, N(Expr, i+ , +(z, t))

89

Chapitre III. Mthode et outils


R+

Gauche

+
Z

Droite

F IG . 14 Rgle pour laddition


Oprateur implicite puissance xy :
R

00000
^11111
00000
11111
00000
11111
1^ 0
0
1
00000
11111
X Y
11111
00000
00000
11111

111
000
000
111
000
111
X
000
111

Haut-Droite

111
000
000
111
000
111
Y
000
111

F IG . 15 Rgle pour lexposant

r : {A(Haut-Droite, N(Expr, ix , x), N(Expr, iy , y))}, N(Expr, ix , (x, y))


Pour la rgle r+ : la premire partie est la description de la production de la rgle,
le nud qui remplacera le graphe reconnu. Les lments de ce nud sont : le type lexical
Expr, la valeur du nud (qui est la construction de llment constitu de + comme symbole
racine de larbre, avec pour arguments z et t), et un identifiant du noeud cr. La deuxime
partie est le modle de graphe que lon cherche reconnatre. Ce graphe est constitu des
deux arcs, avec pour chacun leur type (direction et poids) et les nuds.

6.2.2 Superpositions dans lapplication des rgles


Nous allons prciser la technique employe. Quand deux rgles peuvent sappliquer sur
deux sous-graphes disjoints, il ny a pas dambigut sur lapplication des rgles : lapplication des rgles peut commuter. Les ambiguts apparaissent quand deux modles de rgles
peuvent tre appliqus sur un mme sous-graphe, cest dire lorsque les modles se superposent.
Deux graphes G1 et G2 peuvent se superposer si et seulement si il existe 1 et 2 tels
que 1 G1 et 2 G2 ont un nud en commun. Nous notons S(G 1 , G2 ) lensemble des
couples de telles substitutions, appeles superpositions de G 1 et G2 .
Soient deux rgles ri : Gi , Ci Pi , i = 1, 2, lensemble A(r1 , r2 ) des ambiguts
de r1 et r2 est dfini comme le sous-ensemble de S(G1 , G2 ) form par les couples
(1 , 2 ) tels que les deux rgles peuvent sappliquer sur le graphe 1 G1 2 G2 , cest
dire i = 1, 2, H Ci , il existe une substitution telle que |V ar(Gi ) = i|V ar(Gi )
et H 1 G1 2 G2 .

90

6. Analyse structurelle

Si nous reprenons notre exemple, il y a bien une ambigut car nous pouvons appliquer
les deux rgles F avec au moins un nud commun. Si nous appliquons r + , les nuds a,

Haut-Droite

1111
0000
0000
1111
Y
0000
1111
0000
1111

111
000
X
000
111
000
111
a
Z

+
+
Gauche

T
Droite

F IG . 16 Superposition des modles sur un graphe


+ et b sont regroups et remplacs, et nous obtenons, par rcriture, un graphe reprsentant
la formule (a + b)2 . Alors que si nous appliquons r , nous obtenons alors un autre graphe
reprsentant la formule (a2 ) + b. Le bon choix est clairement dappliquer la rgle r . Nous
devons donc empcher lapplication de la rgle r+ dans ce cas. La figure 17 montre, sous
forme de schmas, les quatre superpositions minimales des rgles r + et r .

111
000
000
111
Y
000
111
000
Haut-Droite 111
0000
1111
0000
1111
X
0000
1111
0000Z
1111
1.

Z
Gauche

Gauche

3.

111
000
000
111
Y Z
000
111
000
Haut-Droite 111
000
111
000
111
X
000
111
000
111
2.

Droite

1111
0000
0000
1111
Y
0000
1111
0000
Haut-Droite 1111
0000
1111
0000
1111
0000
1111
TX
0000
1111

+
Gauche

4.

Droite

Gauche

T
Droite

1111
0000
0000
1111
T
Y
0000
1111
Droite1111
0000
Haut-Droite
0000
1111
0000
1111
X
0000
1111
0000
1111

F IG . 17 Toutes les superpositions des rgles r + et r


Aprs quelques considrations plus thoriques, des commentaires sur les rsultats dduits de chacune de ces superpositions seront donns.
Lensemble S(G1 , G2 ) peut tre infini, mais les superpositions minimales sont en nombre
fini. Mais dfinissons tout dabord un ordre sur les couples de substitutions :
Dfinition 14 : Ordre sur les couples de substitutions
(1 , 2 ) (1 , 2 ) , 1 = 1 , 1 = 1

91

Chapitre III. Mthode et outils

Proposition 1
tant donns deux graphes G1 et G2 , il existe un sous-ensemble fini S0 de S(G1 , G2 )
tel que :
c S(G1 , G2 ), c S, c  c.

P REUVE Il y a un nombre fini de faons dassocier les nuds de G 1 et G2 par couples,
cest dire de construire les ensembles {(ni1 , ni2 )}i=1..m , o nij est un nud de Gj .
Une superposition (1 , 2 ) de G1 et G2 correspond au moins un de ces sousensembles {(ni1 , ni2 )}i=1..m, o nous avons i, 1 ni1 = 2 ni2 .
Alors (1 , 2 ) est une solution dun problme dunification de termes, {n i1 =
ni2 }i=1..m . Daprs le thorme de Robinson, un tel problme na pas de solution ou
une solution unique (au changement de variables prs) minimale (pour ), appele
unificateur principal.
Il est alors clair que si S0 est un ensemble dunificateurs principaux (quand ils
existent) de tous les problmes {ni1 = ni2 }i=1..m , S0 la proprit requise.
2
Proposition 2
Il existe un ensemble de superpositions de deux graphes unique (au renommage de
variables prs), minimal (pour ) et fini.

P REUVE Prendre une superposition minimale dans lensemble prcdent S 0 .

Nous allons noter S0 (G1 , G2 ) cet ensemble minimal.


A cause des contextes, lensemble des ambiguts de deux rgles a une structure plus
complique que lensemble des superpositions des modles. Mais la proprit suivante va
nous aider mieux la dcrire :
Proposition 3
Soient r : G, C P une rgle, r  : G, P la mme rgle avec un contexte vide,
G1 , G2 deux graphes, tels que G1 r G2 et G1 r G2 .
Soit une substitution.
Alors G1 r G2 et G1 r G2 .

P REUVE Lhypothse pose certifie lexistence de deux substitutions et , deux
sous-graphes G et G de G1 , et un contexte H dans C tels que :
G = G
|V ar(G) = |V ar(G)
H = G
En composant par , nous avons :
( )G = G
( )H = G
et ( )|V ar(G) = (|V ar(G) ) = (|V ar(G) ) = ( )|V ar(G) .
Ce qui implique G1 r G2 et G1 r G2 .
2

92

6. Analyse structurelle

Soient deux rgles r1 et r2 avec comme modles G1 et G2 , et une superposition (1 , 2 )


de S(G1 , G2 ). Si nous retirons le contexte des rgles, alors les deux applications des rgles
sur le graphe donnerons 1 G1 2 G2 . Supposons maintenant que (1 , 2 ) ne soit pas
une ambigut de r1 et r2 . Alors une des deux rgles (avec son contexte) ne sapplique
pas 1 G1 2 G2 . La dernire proposition implique que pour chaque substitution , la
superposition( 1 , 2 ), nest pas une ambigut de r1 et r2 .
Plus brivement, nous avons donc :
Proposition 4
Si c S(G1 , G2) \ A(r1 , r2 ) et c c alors c S(G1 , G2 ) \ A(r1 , r2 ).

Cela signifie que le complment de A(r1 , r2 ) dans S(G1 , G2 ) a la mme structure de


"cne" que S(G1 , G2 ).
En particulier, nous avons :
Corollaire 1
Si les superpositions minimales des modles de deux rgles ne gnrent pas dambiguts pour les rgles, alors les rgles nont pas dambiguts.

6.2.3 Grammaire sans ambigut
Nous allons maintenant exploiter cette proprit pour dfinir une mthode qui, tant donne une grammaire avec des ambiguts, ajoute un contexte aux rgles, dans le but dobtenir
une nouvelle grammaire de graphes sans ambigut.
Soit G = {r1 , . . . , rn } une grammaire de graphes, avec ri : Gi , Pi .
ij
ij
, k2
), k = 1 . . . aij les superpositions minimales de G i et Gj . Comme les
Soient (k1
contextes sont vides au dpart, ces superpositions correspondent aux ambiguts.
Supposons que pour chaque superposition minimale, cest dire quand deux rgles
peuvent sappliquer simultanment sur une mme partie de graphe, nous avons une mthode
pour choisir la bonne rgle appliquer. Cela quivaut donner une fonction C telle que
C(i, j, k) {1, 2} : si C(i, j, k) = 1, ce qui signifie que lon veut empcher lapplication de
ij
ij
ij
, k2
). Nous finalisons ce but en ajoutant au contexte k1
G1
la rgle rj pour lambigut (k1
de la rgle rj .
En effectuant cette opration pour toutes les rgles et toutes les superpositions minimales,
nous dfinissons une nouvelle grammaire G  = {r1 , . . . , rn }, o :
ri : Gi ,

ij
{k2
Gj |k = 1 . . . aij , C(i, j, k) = 2} Pi

j=1...n

93

Chapitre III. Mthode et outils

Daprs le corollaire 1, nous avons donc :


Proposition 5
Cette grammaire G  na pas dambiguts.

Dans notre exemple illustr par la figure 17, pour la premire superposition (1), nous ne
voulons pas appliquer r+ en premier, donc nous ajoutons juste le graphe modle de la rgle
r au contexte de r+ . Ainsi, r+ ne sappliquera pas sil y a une puissance sur son premier
argument. La superposition 3 de la figure 17 est un cas identique celui que nous venons
de dcrire. Donc lajout de ces deux contextes la rgle r+ permet dviter lapplication de
la rgle si un des arguments a un exposant. La superposition 2 implique lajout de r + dans
le contexte de la rgle r , indiquant que dans ce cas de figure, la rgle plus doit tre applique avant la rgle exposant. Enfin la dernire superposition na pas de sens mathmatique
proprement parl pour les rgles de laddition et de lexposant. On peut donc ne pas tenir
compte de cette superposition.
En ritrant cette opration pour chacune des superpositions, nous obtenons une nouvelle
grammaire G  , o lapplication dune rgle dpend de son contexte :

= {A(Gauche, N(P lus, i+ , +), N(Expr, iz , z)),
r+
A(Droite, N(P lus, i+ , +), N(Expr, it , t))},

{{A(Haut-Droite, N(Expr, iz , z), N(Expr, iu1 , u1))},


{A(Haut-Droite, N(Expr, it , t), N(Expr, iu2 , u2))}}
N(Expr, i+ , +(z, t))

r = {A(Haut-Droite, N(Expr, ix , x), N(Expr, iy , y))},


{{A(Gauche, N(P lus, i+ , +), N(Expr, ix , x)),
A(Droite, N(P lus, i+ , +), N(Expr, iu1 , u1))},
{A(Gauche, N(P lus, i+ , +), N(Expr, iu2 , u2)),
A(Droite, N(P lus, i+ , +), N(Expr, iy , y))}}
N(Expr, ix , (x, y))
Cette grammaire simple (avec les deux rgles) sapplique et aboutit un rsultat correct
2
i+j 2
sur des formules comme a2 + b, a + b2 , ab+c , xa+b + y c+d , xa+b + y c +d , etc.
Sur notre exemple de grammaire, nous devons donc trouver une fonction C qui indiquera
comment rsoudre automatiquement le problme pour chaque ambigut. Nous avons dfini
de nouveaux critres afin dobtenir cette fonction :
la priorit mathmatique de loprateur dcrit dans la rgle. Par exemple, la rgle modlisant le produit (r ) a une priorit plus grande que la rgle de laddition (r+ ).

94

6. Analyse structurelle

une information graphique. Ce critre est important pour dterminer la priorit droite
pour lapplication de la rgle. Dans notre exemple, a une priorit plus grande que
+, mais ceci ne veut pas dire que la rgle doit toujours sappliquer avant lautre. Cette
proprit est vraie pour le cas linaire. Dans le cas de loprateur , il y a un parenthsage implicite pour les arguments et ceci est vrai pour tous les oprateurs qui ont
(n2 )
, etc.
des arguments sur diffrents niveaux comme : x(y+z) , x(y+z) , (i=1) xi , (x+y)
(z+t)
Avec ces deux critres simples, nous sommes capables de dfinir, pour chaque rgle de
la grammaire, celle qui doit tre applique chaque cas pour lequel on a une ambigut.

6.3 Analyse structurelle


Lanalyse syntaxique des langages bidimensionnels a t tudie et est expose par
M. Tomita dans [?][1] . Nous ne prsentons pas ici de considrations gnrales, mais uniquement les consquences de lanalyse que nous avons prsente.
6.3.1 Analyse ascendante
Lapproche envisage prcdemment est donc du type ascendante (bottom-up ). tant
donn un graphe initial, lapplication successive des rgles de la grammaire, et donc la rcriture du graphe, va permettre lanalyse de chacune des sous-expressions composant la
notation reconnatre. Cette rcriture se poursuivra jusqu ce que le graphe ne contienne
plus quun seul et unique nud, qui contiendra la structure de lexpression mathmatique.
La mise en uvre des contextes assure que la grammaire est sans ambigut et donc
quune rgle ne sapplique que si aucune autre ne peut ltre au mme endroit (avec au
moins un nud en commum). Lanalyse peut donc seffectuer sans retour arrire (backtracking ).
En cas derreur, lanalyse sarrtera si aucune rgle ne peut sappliquer ; il restera alors
un graphe contenant plus dun seul nud.
Pour une illustration de cette rcriture successive du graphe par application des rgles, le
lecteur pourra consulter lannexe A. Elle contient les diffrentes tapes de la reconnaissance
n

structurelle de la formule n! =
i. Nous allons dtailler une de ces tapes de rcriture du
i=1

graphe aprs avoir identifier quune rgle peut sappliquer ; la figure 18 illustre cette phase.
Sur la figure 18, partie gauche, le sous-graphe entour est la partie identifie par le modle de la rgle que lon applique. Ce modle est supprim du graphe et remplac par la
production de la rgle. Dans notre cas cette production peut-tre un nouveau nud contenant
larbre de syntaxe abstraite rsultant de la combinaison des diffrents lments identifis par
[1]

T OMITA M., Parsing 2-dimensional language (1989).

95

Chapitre III. Mthode et outils

Arcs entrants

?
?
Identification des
nouveaux liens

Arcs sortants
Sous-graphe
identifi
par une rgle

Nouveau noeud
(production de la rgle)

Rcriture

F IG . 18 Rcriture dun sous-graphe en un nud


la rgle.
Se pose alors le problme des arcs entrants et sortant du sous-graphe. La validit de ces
arcs est reconsidrer afin de connecter le nouvel lment (le nouveau nud) au reste du
graphe. La solution la plus simple serait de recalculer compltement le graphe incluant les
modifications apportes par la rcriture. Toutefois, pour des raisons videntes defficacit,
une solution incrmentale est prfrable. Cest la mthode que nous allons maintenant prsenter.
6.3.2 Attributs synthtiss
La premire tape est de synthtiser les attributs du nouveau nud. Pour cela, les rgles
smantiques telles que nous les avons introduites page 82, sont appliques.
Un ensemble dattributs, correspondant des informations gomtriques, est attach
chacun des nuds du graphe. On citera entre autres : la position gomtrique, la taille relative de lobjet, la ligne de rfrence par rapport laquelle le symbole est crit, etc. Lors de
la rcriture, un nouveau nud est produit ; il est ncessaire de calculer la valeur de chacun
de ses attributs. Les rgles smantiques permettent de spcifier la manire dont la valeur de
lattribut sera synthtise (calcule partir des fils, donc des valeurs positionnes sur les
nuds du sous-graphe que lon remplace).
Comme nous lavons prsent prcdemment, lattribut dfinissant lenveloppe du symbole ou de la sous-expression, est synthtis par calcul de la rgion rectangulaire englobant
lensemble de la sous-expression reconnue. Les autres attributs, comme la taille ou la ligne de
rfrence, seront calculs en fonction de loprateur considr, donc de la rgle smantique
attache une rgle syntaxique donne. Prenons un exemple :
pour un oprateur scrivant de manire linaire comme laddition a + b, la nouvelle

96

6. Analyse structurelle

ligne de rfrence sera la valeur moyenne des lignes de rfrences pour chacun des
objets composant lopration.
pour une division du type ab , la nouvelle ligne de rfrence sera celle du trait de fraction.
Disposant de ces attributs pour le nouveau nud, il est alors possible de faire une mise
jour locale du graphe, et donc de calculer les arcs reliant le nouveau nud au reste du graphe.
6.3.3 Mise jour incrmentale du graphe
Les informations gomtriques, sous forme dattributs des nuds, permettent de dterminer quels sont les voisins gomtriques du nud. On peut donc appliquer au graphe lalgorithme de construction du graphe prsent prcdemment ConstruireGrapheInitial en
nitrant le processus que sur le nouveau nud.
procedure MiseAJourGraphe(Noeud n1, donneeresultat Graphe g)
debut
pour chaque type darc a faire
pour chaque noeud n2 voisin de n1 faire
si (n1<>n2) et Evaluation(n1, n2, a) alors
ajouter larc a entre n1,n2 au graphe g
finsi
finpour
finpour
resultat g
fin

10

6.4 Optimisation
Une rgle ne peut sappliquer que si lon vrifie que lensemble des sous-graphes contextuels nest pas prsent. Laugmentation de rgles de la grammaire induit une augmentation
des contextes dune rgle, mme si les informations lexicales permettent de limiter les cas
dambiguts. Fort de ce constat, nous avons tent doptimiser quelques peu lapplication de
la grammaire, afin quelle soit concrtement applicable des formules de plusieurs dizaines
de symboles, sans tre pnalis par un temps trop long dexcution.
tant donne une rgle, lensemble qui constitue le contexte doit tre test afin de savoir si lon peut appliquer une rgle et ainsi rcrire une partie du graphe. Lvaluation du
contexte se limite tester squentiellement la prsence ou non dun sous-graphe avec un
certain nombre de nuds ou darcs communs avec le sous-graphe reconnu par la rgle. Ds
que lun des contextes est reconnu, la rgle ne peut pas sappliquer. Lordre des composants du contexte est donc important. Une organisation de celui-ci permet de diminuer le
temps ncessaire pour dcider si une rgle peut ou non sappliquer. Cette rorganisation des
graphes constituant le contexte peut seffectuer dynamiquement, en mettant en tte tout nou-

97

Chapitre III. Mthode et outils

veau contexte qui fait chouer lapplication de la rgle. De cette manire, les contextes qui
reviennent le plus souvent feront chouer lapplication le plus tt possible.
Cette optimisation a permis un gain de plus de 20% du temps ncessaire pour la reconnaissance dune formule compose denviron 25 symboles.

7 Conclusion
Ce chapitre a prsent les points principaux de larchitecture et des mthodes employes
dans notre composant pour la reconnaissance structurelle des notations mathmatiques. Le
choix des grammaires de graphes pour lanalyse syntaxique sest rvl tre bien adapt au
problme trait.
La rflexion mene sur lapplication des grammaires de graphes au cas particulier de
la reconnaissance des notations mathmatiques, nous a conduit lenrichir de ltude des
contextes, obtenant ainsi une grammaire contextuelle. Lassociation entre les oprateurs
reconnatre et les rgles de grammaires correspondantes, ainsi que les paramtres gomtriques pris en compte ont permis de construire automatiquement ces contextes de rgles. Il
est ainsi facile pour un utilisateur de modifier la grammaire, apportant alors un degr supplmentaire dvolutivit du composant OFR.
La dissociation des tapes danalyses gomtriques et syntaxiques permet une adaptation
aux diffrents cas dtude que nous avons rencontrs, savoir la reconnaissance structurelle
de notations typographies et manuscrites.
Dans les chapitres suivants, certains aspects plus techniques sont voqus. Notre exprience dans le domaine mme conduit dautres travaux. La mthode base de grammaires
de graphes, que nous avons prsente dans ce chapitre, t utilise avec succs dans des
travaux de recherche sur une interface pour ldition de formules mathmatiques manuscrites
(travaux raliss par S. Smithies [?][1] , Universit de Otago, Nouvelle Zlande). Nous prsenterons les prototypes que nous avons tudis et utiliss et ceux que nous avons mis au
point quant cela tait ncessaire, afin deffectuer les tests de validation de la mthode.

[1]

98

S MITHIES S., Freehand Formula Entry System, Masters thesis (1999).

Chapitre IV
Applications et Validation

Comme nous lavons expos dans les deux chapitres prcdents, OFR est un composant pour la reconnaissance structurelle de formules mathmatiques destin tre test dans
le cadre de diverses applications. Le prototype dinterface la saisie dexpressions manuscrites pour les systmes de calcul formel, que nous avons ralis, est un exemple dune telle
application. Cependant, afin de valider la mthode utilise dans le cadre de notations typographies, nous avons t amens mettre en uvre OFR avec un logiciel de reconnaissance
de symboles mathmatiques typographis.

1 Notations mathmatiques typographies


Larchitecture, que nous avons voulue souple, nous permet denvisager lutilisation dun
composant extrieur pour effectuer lanalyse de limage et la lidentification des symboles.
Cela permet dviter une perte de temps importante dans llaboration doutils dj existants.
Nous avons donc tudi quelques-unes des applications disponibles, afin dvaluer leurs aptitudes et fonctionnalits pour une utilisation dans le cadre particulier de notre tude : la
reconnaissance des symboles constituant les notations mathmatiques.

99

Chapitre IV. Applications et Validation

1.1 Un comparatif des logiciels pour la reconnaissance de symboles


Lvaluation et la comparaison des performances pour la reconnaissance des symboles est
un sujet complexe. Quelques lments plus classiques de comparaison peuvent tre trouvs
dans [?][1] et [?][2] ; [?][3] intgre un chapitre complet sur lvaluation des performances en
reconnaissance de documents. Plusieurs types de comparaisons sont envisageables, tant au
niveau :
de la mthode utilise,
des algorithmes sur lesquels reposent le processus de reconnaissance,
des logiciels eux-mmes.
Notre approche a t guide par laspect pratique. Le but tant de rutiliser un logiciel
effectuant la reconnaissance de symboles, nous navons pas considr les mthodes ou
algorithmes mis en jeu pour effectuer cette identification ; la qualit du rsultat final (reconnaissance ou non du symbole, informations disponibles, etc) a t notre critre de choix
principal. La liste des critres de comparaison utilise, et que nous prsentons plus en dtail
dans le paragraphe suivant, mlange des points importants et dautres plus anecdotiques du
point de vue de la reconnaissance de documents (comme les formats dexport des donnes
par exemple). Toutefois, dun point de vue pratique, tous ces critres ont pris part notre
valuation des logiciels existants.
Ce paragraphe na pas pour but dtablir une liste exhaustive des logiciels pour la reconnaissance de caractres. Nous avons eu loccasion de tester, au moins dans des versions
dvaluation, un certain nombre de logiciels permettant le traitement de limage et la reconnaissance des symboles. Nous ne nous sommes pas cantonns aux logiciels commerciaux,
nous nous sommes galement intresss aux produits issus de la recherche.
Les systmes commerciaux les plus connus que nous avons tests sont : Cuneiform,
OmniPage Pro, TextBridge Pro, TypeReader, ScanWorX. Quelques logiciels exprimentaux
de reconnaissance de caractres sont issus de la recherche, entre autres Xocr et OCRchie,
deux logiciels permettant la reconnaissance de symboles typographis. Nous les avons aussi
intgrs notre valuation.
Lors du comparatif final, seuls les logiciels les plus intressants, ou ceux faisant office de
rfrence seront dtaills. Nous avons dfini un ensemble de critres permettant leur valuation en fonction de nos besoins spcifiques, savoir lintgration du composant dans notre
tude sur les notations mathmatiques.
[1]
[2]
[3]

100

BAIRD H.S., Applications of multidimensional search to structural feature identification (1988).


W ILSON C.L., Evaluation of character recognition systems (1993).
Graphics Recognition : Algorithms and Systems (1997).

1. Notations mathmatiques typographies

1.1.1 Quelques critres


Nous prsentons ici un ensemble de critres pour lutilisation dun logiciel de reconnaissance des caractres, dans le cadre particulier de lidentification des symboles mathmatiques. Ces critres sont organiss par thmes, du moins fondamental (formats traits) au plus
important (analyse de document et reconnaissance des symboles). Le dernier thme, adaptabilit et volutivit, regroupe les critres permettant ventuellement dadapter le produit
nos besoins spcifiques si une fonctionnalit importante venait manquer.
Formats traits

Ce paragraphe dfinit les points permettant dvaluer le logiciel dans sa capacit sadapter aux donnes fournies et restituer les donnes analyses.
Formats dentre (FE) : quel est le type dimage que peut analyser le logiciel ? Ce
critre, mme sil est important, nen est pas pour autant primordial. De nombreux
outils (tels que la bibliothque netpbm sous Unix) permettent de convertir les images
dun format donn vers la plupart des formats connus. Seuls les formats propritaires
sont donc viter.
Formats de sortie (FS) : sous quel format les donnes identifies sont-elles fournies ?
Il est souhaitable que le type des donnes fournies en sortie soit facilement analysable,
ce qui signifie que les donnes produites ne doivent pas seulement tre disponibles
dans un format propritaire (comme Microsoft Word), interdisant par l-mme toute
analyse des donnes.
Informations spatiales (IS) : le format de sortie intgre-t-il les informations spatiales
relatives aux symboles reconnus ? Les donnes concernant la bote englobante dun
caractre seront privilgies, mais tout autre type de donnes permettant de localiser
le symbole de manire prcise sera considre comme acceptable.
Informations typographiques (IT) : le format de sortie intgre-t-il les informations
typographiques pour chacun des symboles ? Les donnes concernant la typographie
utilise sont nombreuses. Elles peuvent aller de la reconnaissance de la fonte utilise,
des informations sur la calligraphie des symboles, comme italique ou gras, ou bien
la taille de la fonte en points pour le caractre identifi.
Numrisation et traitement de limage

Cette section regroupe les critres qui permettent de juger la simplicit et lefficacit de
la numrisation et des traitements prliminaires pour lexploitation de limage.
Seuil de numrisation automatique (SN) : le seuil de numrisation est-il dtermin
automatiquement ? Le seuil de numrisation, que nous avons prsent page 29, peut
ventuellement tre dtermin automatiquement pour les logiciels intgrant la possibilit deffectuer la numrisation. Cette facilit donne lutilisateur est plus un critre
de confort dutilisation quun critre dterminant dans notre choix.

101

Chapitre IV. Applications et Validation

Rduction du bruit (B) : le logiciel intgre-t-il une tape de rduction du bruit ? La


rduction du bruit (page 30) est lidentification des imperfections dues ltape de
numrisation avec du matriel de faible qualit.
Ralignement (R) : la dtection dune rotation et la correction sont-elles disponibles ?
Une rorientation de limage (page 31) est ncessaire sur les documents ayant subi une
rotation lors de la numrisation. Cette tape permet dobtenir de meilleurs rsultats lors
de la reconnaissance des symboles.
Analyse du document et reconnaissance des symboles

Ce paragraphe comprend tous les points relatifs lidentification des diffrentes composantes dun document et lensemble des symboles reconnus par le logiciel. Nous navons
pas intgr dans nos critres celui relatif la reconnaissance de lalphabet latin, tous les
logiciels offrant cette possibilit pour un nombre de fonte plus ou moins grand.
Identification des composants (IC) : les diffrents lments dun document sont-ils
identifis ? Un document est constitu de diffrents types dlments : zones de texte,
images, logos, tableaux, graphiques, notations mathmatiques, etc. Ltiquetage de ces
diffrents composants, et donc leur localisation, permet deffectuer des traitement spcifiques selon le type dlment considr.
Alphabet grec (G) : le logiciel permet-il de reconnatre lensemble des symboles
constituant lalphabet grec ? Les symboles grecs sont frquemment utiliss dans les
notations mathmatiques. Il est donc important que le logiciel soit capable didentifier
ces symboles, au mme titre que lalphabet latin.
Symboles mathmatiques (SM) : la reconnaissance des symboles mathmatiques
spcifiques est-elle correcte ? Outre les caractres latins et grecs, les notations
ma
thmatiques sont composes de symboles spcifiques (comme =, , , , , etc). Le
logiciel doit bien entendu tre capable didentifier cette classe de symboles.
Adaptabilit et volutivit

Les critres suivants dterminent la possibilit de faire voluer le logiciel afin de ladapter
nos besoins spcifiques.
Apprentissage dune fonte (AF) : peut-on faire apprendre une nouvelle fonte ou de
nouveaux symboles au systme ? Dans le cas o le logiciel nintgrerait pas lensemble
des symboles que nous souhaitons tre capables didentifier, le logiciel doit permettre
dtendre lensemble des symboles reconnus.
Modification du format de sortie (M) : Est-il possible de paramtrer le type des
donnes fournies en sortie ? Dans le cas o le systme ne fournit pas un format de sortie
convenable, il doit tre possible de ladapter pour pouvoir disposer des informations
qui nous sont utiles.
Disponibilit du code source (CS) : Le code source de lapplication est-il disponible et modifiable ? Si des modifications mineures sont ncessaires, il nest possible

102

1. Notations mathmatiques typographies

dadapter rellement le logiciel que si lon dispose du code source de lapplication.


1.1.2 Protocole de comparaison
Les documents et formules qui servent dchantillons de base sont tirs de la littrature
et sont les plus varis possibles (contenant un maximum de symboles diffrents). Ces documents sont principalement composs dlments mathmatiques, afin dvaluer les logiciels
selon les critres les plus importants pour notre tude. Nous avons donc tout particulirement
considr la reconnaissance de lalphabet grec, des symboles mathmatiques, et la possibilit dobtenir des informations sous un format complet (symbole reconnu et informations
graphiques). Un exemple de document utilis lors des tests est fournit en annexe C. Les
documents ayant servit ltablissement de ce comparatif sont au nombre de 2 :
celui prsent en annexe C,
et un document contenant les diffrents alphabets pour un test sur lapprentissage de
nouveaux motifs.
Chaque document tait numris avec une rsolution de 300 points par pouce. Un exemple
de rsultat fourni par le logiciel OmniPage Pro 10 est prsent en annexe C. On ne peut que
constater les problmes rencontrs avec les notations mathmatiques. Ils sont dtaills en
annexe.
1.1.3 Tableau comparatif
Nous avons tent de raliser le test le plus significatif possible. Dans le tableau comparatif ci-dessous, les toiles donnent les qualits relatives des diffrents logiciels, selon les
critres que nous avons mentionns. Labsence dtoile signifie que le critre nest pas vrifi
ou quil na pas de sens par le logiciel considr. Quand le critre est quantitatif, le nombre
dtoiles donne une ide du niveau atteint pour le logiciel considr. Dans le cas de critres
fonctionnels, la prsence dtoiles signifie que le critre est vrifi.

Cuneiform
Fine Reader
OmniPage
Recognita
TextBridge
Xocr
OCRchie

Formats
Prtraitements Reconnaissance
FE FS IS IT SN B
R
IC G
SM
*
*
**
*
*
*
*
**
*
*
*
* *
** * * *
* *
*
* *
** * * *
* *
*
*
*
*
* *
*
*

Adaptabilit
AF M CS
*
*
*

*
*

*
*

Ce tableau ne peut pas tre considr comme un test exhaustif des caractristiques des
logiciels de reconnaissance de caractres. Nous esprons toutefois que les lments de com-

103

Chapitre IV. Applications et Validation

paraison quil prsente dmontrent que les logiciels de reconnaissance de symboles, quils
soient commerciaux ou issus de la recherche, ne proposent pas les fonctionnalits souhaites
dans le cadre de notre tude sur les notations mathmatiques.
1.1.4 Conclusion
Ces tests sur les diffrents produits existants ont t raliss une premire fois au dbut
de nos recherches (dbut 1996). Toutefois les rsultats prsents ici ont t ractualiss avec
les dernires versions de chacun de ces logiciels. On notera qu la premire valuation,
ces applications ne permettaient pas lapprentissage de nouveaux symboles par lutilisateur.
Mme si cette fonctionnalit a t ajoute depuis, permettant ainsi de faire un apprentissage
des symboles mathmatiques, le format dexport des rsultats ne permet toujours pas dobtenir les informations gomtriques ncessaires.
OCRchie semblait la solution la plus proche de nos besoins, mais lapprentissage dune
nouvelle fonte tait trs fortement li aux caractres ASCII ; cela nous a donc empch
dtendre le systme lapprentissage de lalphabet grec et des symboles mathmatiques. Il
est aussi fortement orient dans le domaine de la reconnaissance de texte : recherche dune
structuration en ligne des lments, et association des composantes connexes (voir le paragraphe 1.2.2).
On notera aussi la formation dun consortium pour la ralisation dune librairie gratuite
de reconnaissance des caractres (cration fin 1998) ; il pourrait tre intressant den raliser
une valuation pour des travaux futurs. Nous navons malheureusement pas pu bnficier de
ces travaux au moment opportun.
Nous avons donc orient une partie de nos recherches vers le dveloppement dun composant de reconnaissance des symboles mathmatiques, qui puisse tre rutilisable par dautres,
lavenir.

1.2 Dveloppement dun OCR ddi et adaptatif


Nous prsentons dans ce paragraphe les principaux points du systme didentification des
symboles que nous avons implment. Ce dveloppement a fait lobjet de lencadrement du
stage de matrise de Donatello Bussacchini et Pierre-Marie Gandoin. Les mthodes utilises
et les algorithmes implments reprennent les techniques classiques utilises pour lidentification de motifs (voir chapitre I, paragraphe 6.1). Nous avons utilis un modle combinant
description syntaxique et statistique des formes : dfinition de vecteurs de caractristiques,
exploits par une technique de classification.

104

1. Notations mathmatiques typographies

Bien que les traitements et les rsultats fournis soient plus spcifiquement adapts notre
tude particulire, lensemble des fonctionnalits conviendrait une extension du systme, la
plus simple et la plus large possible. Nous navons pas intgr les lments de pr-traitement
de limage, comme llimination du bruit, ce prototype nayant par pour but dtre un logiciel
complet, mais plutt orient vers une exprimentation rapide. Son implmentation en Java et
son architecture modulaire permettent toutefois denvisager une extension et ventuellement
une distribution du systme. Le systme complet reprsente environ 10.000 lignes de code
Java.
Pour chaque forme tire de limage originale, on extrait un certain nombre de caractristiques issues la fois de la reprsentation vectorielle et de la reprsentation par points de
la forme. Ces caractristiques seront utilises pour trouver la ou les formes les plus proches
dans un dictionnaire construit lors de la phase dapprentissage. Ces dictionnaires contiennent
lassociation entre un vecteur de caractristiques de la forme et une description (chane alphanumrique) qui sera retourne comme rsultat en cas didentification.
1.2.1 Numrisation du document
La numrisation du document seffectue en 400 points par pouce laide du logiciel
xvscan. Ce logiciel est bas sur xv, le clbre logiciel de visualisation dimages sous Unix,
auquel un module de numrisation des documents a t ajout. Lutilisation de xvscan permet
aussi de bnficier des fonctions de traitement dimage de xv, comme la rduction du bruit
dont nous avons dj parl. Nous obtenons ainsi une image propre de la notation que lon
souhaite analyser.
1.2.2 Extraction des composantes connexes
Lextraction des symboles se fait par identification des composantes connexes. Nous entendons par composante connexe un ensemble continu de points qui constituent une forme.
Afin dviter un chargement complet de limage analyser, lalgorithme dvelopp effectue
une construction incrmentale.
pour chaque ligne de limage faire
isoler les segments noirs
si uneetune seule region possede une frontiere avec le segment alors
ajouter le segment a la region
sinon si plus dune region possede une frontiere avec le segment
unifier toutes les regions en une seule
ajouter le segment a la nouvelle region
sinon
creer une nouvelle region avec le segment
finsi
finpour

10

105

Chapitre IV. Applications et Validation

Un dtail est tout de mme souligner concernant la distinction entre symbole et composante connexe. Certains symboles sont composs de plusieurs composantes connexes. Cest
par exemple le cas des lettres i et j, qui sont toutes deux composes dune forme pour la
partie principale, surmont dun point. Beaucoup de symboles mathmatiques ont aussi la
particularit dtre constitus de plusieurs composantes connexes. On citera entre autre : ,
, , , etc.
Dans la plupart des systmes de reconnaissance des symboles que nous avons pu rencontrer, lassociation des composantes connexes dun symbole seffectue un bas niveau, cest
dire lors de lidentification du caractre. Si cette solution est tout fait satisfaisante dans
le cas de la reconnaissance de texte (association de et du .), ce nest pas toujours vrai pour
la reconnaissance structurelle des expressions mathmatiques. Cette association dpend du
contexte dun symbole, elle est donc syntaxique et non statique. Prenons comme exemple la
formule suivante :
a
=1
b
Lidentification du symbole dgalit, constitu de deux traits horizontaux, ne peut pas tre
effectue hors de son contexte syntaxique. Cette reconstitution des caractres ne doit donc
pas tre effectue par le systme didentification des symboles mais doit tre ralise lors de
lanalyse syntaxique.
Le systme didentification des symboles que nous avons dvelopp nest donc pas strictement quivalent un systme de reconnaissance des caractres. Le systme renvoie comme
rsultat les composantes connexes constituant les notations. charge pour le systme de
reconnaissance de la structure deffectuer lidentification des symboles partir des composantes connexes, en fonction de lenvironnement, et donc du contexte dun symbole.
1.2.3 Extraction des caractristiques des symboles
Les diffrentes composantes connexes qui constituent la notation analyser tant identifies, il reste caractriser chacune delle, afin de raliser la reconnaissance proprement dite.
Pour cela, on extrait deux types de reprsentation de limage :
une reprsentation point point (bitmap ),
une reprsentation vectorielle.
La reprsentation point point est une image en 256 niveau de gris, de dimensions 4
par 5, produite partir de limage de la composante connexe isole. Une interpolation a t
utilise pour rendre cette reprsentation plus fiable dans le cas de formes non symtriques.
La reprsentation vectorielle est une suite de contours reprsents par des points. Cest
sur cette reprsentation vectorielle quun certain nombre de caractristiques vont tre calcu-

106

1. Notations mathmatiques typographies

les, en particulier la position des contours qui permet ainsi de dterminer la bote englobante
du symbole. Un traitement prliminaire de limage est ralis avant dextraire deffectuer la
vectorisation. Plusieurs filtres sont appliqus (voir matrices 1) pour obtenir le contour vectoriel de la forme (voir figure 2).

2 4 2
4 16 4
2 4 2
(a) Lissage

2 4 2
4 4 4
2 4 2
(b) paississement

0 4 0
4 32 4
0 4 0
(c) Extraction
du contour

F IG . 1 Filtres appliqus limage

Original

Epaississement

Zoom x2

Lissage

Lissage

Contour

F IG . 2 Extraction du contour vectoriel


On dfinit les boucles (voir IV.3(a)) comme langle form par une suite de vecteurs dont
les angles ont le mme signe. La vectorisation permet de rendre les formes moins sensibles
aux variations locales (bruit, mais aussi taille de la fonte du caractre, etc). Toutefois, le
problme dune reprsentation vectorielle infiniment prcise, cest dire sans dgradation

107

Chapitre IV. Applications et Validation

par rapport limage originale) contient certaines particularits qui rendent la dtection des
boucles trop fine et donc inutilisable. Une dgradation du contour vectoriel permet de gnraliser cette reprsentation et den dduire un critre, les boucles, exploitables comme
caractristiques de la forme (voir IV.3(b)).

Boucle 1
1

Boucle 2

0.5

0.5

-0.5

-0.5
-1
1

(a) Dfinition

(b) Reprsentation vectorielle et boucles

F IG . 3 Extraction des boucles


Lutilisation dun vecteur de caractristiques pour chaque forme et leur classification est
un principe trs rpandu dans le domaine de la reconnaissance de symboles. Lavantage est
dtre assez simple mettre en uvre, mais elle suppose que les paramtres soient suffisamment discriminants.
Lors des premires tentatives, nous avions recherch un maximum de caractristiques
(vecteur principale, pattes, angles droits, points de rebroussement, etc.), mais les rsultats
obtenus taient trs sensibles aux petites variations, et ces caractristiques ntaient pas forcment trs reprsentatives du caractre considr ; les diffrences inter-classes ntaient pas
assez prononces. Nous avons donc rduit le nombre et affin les critres, afin davoir les
classes dobjets les plus reprsentatives et donc les rsultats les meilleurs possibles. Lensemble des caractristiques retenues comme vecteurs de donnes reprsentatives dun symbole sont :
la reprsentation bitmap (dgrade sur une image 4x5),
le rapport largeur/hauteur de la forme,
la reprsentation vectorielle (telle que nous lavons prsente),
le nombre de contours intrieurs,
les boucles de la forme.
1.2.4 Apprentissage
Lapprentissage du systme a consist gnrer, sous forme dimages, les symboles issus des polices utilises pour les mathmatiques dans LATEX (voir annexe B). Le tableau

108

1. Notations mathmatiques typographies

ci-dessous dtaille lensemble des fontes utilises pour lapprentissage.


Fonte LATEX
5 6
cmb
cmbx
cmbxsl
cmbxti
cmex
cmmi
cmr
cmsl
cmsy
cmti
cmu
cmvtt

* *

* *
*
* *

Taille(s) en points
7 8 9 10 12
*
* * * * *
*
*
* *
* * * * *
* * * * *
* * * *
* * * *
* * * * *
*
*

17

Plus de 22.000 motifs (environ 250 symboles diffrents) ont t appris, couvrant lensemble des symboles mathmatiques, des alphabets latin et grec, des chiffres, le tout pour
plusieurs fontes (roman, sans-serif, etc), avec plusieurs types de variations (normal, gras,
italique).
Les chantillons fournis lors de la phase dapprentissage sont des images constitues dun
seul symbole, une rsolution de 400 et 600 points par pouce, non bruites. Une description
leur est associe lors de cette phase dapprentissage (chane de caractres qui devra tre
retourne par le systme lors de la reconnaissance).
On notera aussi quil est possible deffectuer un rtro-contrle des rsultats, en forant le
rapprentissage dun symbole que lon considre comme souvent mal reconnu, augmentant
par l-mme son taux de reconnaissance.
1.2.5 Identification du caractre et rsultat fourni
Lidentification des caractres, ou plus exactement des composantes connexes constituant
les caractres, seffectue par recherche des caractristiques les plus proches dans lensemble
des symboles appris par le systme. Cette recherche dans les dictionnaires, construits lors de
la phase dapprentissage, peut fournir plusieurs rsultats si cela est ncessaire. Dans le cas
o plusieurs symboles ont un vecteur de caractristiques proche, lensemble des possibilits
sera retourn par le systme. chacune de ces possibilits est associ un indice de confiance
ou derreur, permettant ainsi au systme didentification de la structure de pouvoir ventuellement faire un choix parmi les alternatives, si cela savre ncessaire.

109

Chapitre IV. Applications et Validation


zn
n=0

n!

Pour la formule prcdente, les informations fournies par le logiciel sont :


31 0 86 25 infty
5 50 114 166 Sigma
150 36 184 74 z 0.1 Z 0.7
192 17 227 42 n 0.15 u 0.9
146 106 234 110 hbar
155 149 199 187 n 0.1 Uparrow 1.2
210 127 219 169 exclam
210 177 219 186 dot 0.1 comma 0.4
0 201 35 226 n 0.15 u 0.9
42 203 83 206 hbar 0.08 bar 0.2
42 217 83 220 hbar 0.08 bar 0.2
92 188 117 227 0 0.2 O 0.3
Pour chaque composante connexe identifie on retrouve les informations suivantes :
les informations gomtriques : les coordonnes haut-gauche, bas-droite de la rgion
occupe par le motif,
le symbole reconnu avec un taux de confiance (indication du taux derreur),
dventuelles alternatives au symbole reconnu (avec leur taux de confiance respectif).
1.2.6 valuation des performances
Durant le protocole dvaluation des performances, nous nous sommes intresss trois
cas en particulier :
la police a t apprise avec les bonnes dimensions (taille en points) et se trouve dans
le dictionnaire,
la police se trouve dans le dictionnaire mais pas dans les bonnes dimensions,
enfin, la police ne se trouve pas dans le dictionnaire.
Le rsultat a t jug correct si le caractre a t reconnu. Une autre srie de tests a consist
considrer le caractre comme reconnu, mais indpendamment de sa casse (majuscule ou
minuscule).
La police de caractres Times et lensemble des fontes mathmatiques ont t apprises
pour les tests dvaluation. Les polices de caractres Helvetica et Roman nont pas t apprises, afin dvaluer la mthode utilise sur des lments priori non connus par le systme.
Les rsultats obtenus sont les suivants :
par comparaison des images (reprsentation en niveau de gris) :

110

2. Notations mathmatiques manuscrites

Nom et taille de la police Taux de reconnaissance


Times 12 pt
97%
Times 8 pt
95%
Helvetica 12 pt
45%
par comparaison de la reprsentation vectorielle :
Nom et taille de la police Taux de reconnaissance
Times 12 pt
93%
Times 8 pt
85%
Helvetica 12 pt
40%
par utilisation mixte des deux mthodes :
Nom et taille de la police Taux de reconnaissance
Times 12 pt
99,4%
Times 8 pt
98%
Helvetica 12 pt
52%
Roman 12 pt
92%
Aprs avoir mis en place ce module de reconnaissance des symboles typographis, nous
avons orient nos recherches vers un composant qui ralise la reconnaissance de lcriture
manuscrite et des symboles mathmatiques manuscrits les plus usuels.

2 Notations mathmatiques manuscrites


Les pr-requis restent sensiblement les mmes que dans le cas typographi, savoir la
reconnaissance de lcriture manuscrite de symboles de lalphabet latin, grec, des principaux
symboles mathmatiques et numriques. Dans le souci dviter un nouveau dveloppement
lourd, nous avons tudi les diffrentes possibilits de rcuprer un composant capable deffectuer la segmentation et la reconnaissance de symboles manuscrits. Nos recherches nous
ont conduit tablir une collaboration avec lUniversit de Duisburg, dont nous prsentons
ici le logiciel.

2.1 Prsentation du systme NeuroGraph


Le systme a t dvelopp par lquipe dirige par Gerhard Rigoll de lUniversit de
Duisburg ([?][1] , [?][2] , [?][3] ). Il permet la reconnaissance denviron une centaine de caractres ou symboles :
[1]
[2]
[3]

R IGOLL G., KOSMALA A., ROTTLAND J. & N EUKIRCHEN C., A comparison between continuous and
discrete density hidden markov models for cursive handwriting recognition (1996).
KOSMALA A., ROTTLAND J. & R IGOLL G., Improved on-line handwriting recognition using context
dependent hidden markov models (1997).
KOSMALA A. & R IGOLL G., Recognition of on-line handwritten formulas (1998).

111

Chapitre IV. Applications et Validation

lalphabet en lettres majuscules et minuscules, et les chiffres : [A-Z], [a-z],


[0-9],
 
, =<>

les symboles mathmatiques principaux : + : /


! ,
un sous-ensemble des lettres grecques les plus utilises dans les notations mathmatiques :  ,
et enfin un ensemble de caractres de type parenthsage : ( ) [ ] { }.
Linconvnient majeur de cette application est quelle est prvue pour un crivain unique.
Le systme, bas sur lutilisation des chanes de Markov (HMM ), doit tre entran par
la saisie de chacun des symboles au moins 2 fois, crits de manire distincte et isols sur
une tablette digitaliser. ce long processus se rajoute un ensemble de 100 formules de
mathmatique et de physique, utilises pour entraner le modle, ainsi quun ensemble de 30
formules supplmentaires pour le tester. La figure 4, ci-dessous, donne un aperu du systme,
que nous allons prsenter plus en dtail.
x
y

R-chantillonage

Informations de
la tablette

(x,y)(n T)
T=1/200s

Vers OFR

(x,y)(k)

Extraction
des symboles
et
Identification

h, b, g, d
a:584,615,274,308
2:549,580,325,348
+:589,618,373,402
b:567,622,420,457
2:553,572,459,489 Symboles et

Extraction
des donnes
gomtriques

Symboles et
donnes ttemporelles

a: k = 47 ... 68
2: k = 83 ... 98
+: k =106 ...126
b: k =142 ...173
2: k =188 ...202

donnes spatiales

F IG . 4 Prsentation du systme pour la reconnaissance des symboles manuscrits

2.2 Reconnaissance des symboles manuscrits


Les donnes, issues dune tablette digitaliser, sont captures avec un taux dchantillonnage de 200Hz. Il en rsulte un flux dinformations constitu des coordonnes cartsiennes
de la trajectoire du stylo, ainsi quune information relative la pression du stylo sur la tablette. Cette dernire information est de type binaire ; on sait donc si le stylo tait lev ou non
par rapport la tablette. Cette donne sera entre autre utile pour effectuer la segmentation
automatique des symboles.
Le premier traitement des donnes consiste les rchantillonner selon un vecteur de
longueur constante (voir figure 5). Outre le fait de diminuer le volume des donnes (environ
1 :2 ou 1 :3), lavantage principal de cette opration est de permettre labstraction du modle
de la vitesse et des acclrations lors de lcriture, tout en prservant les donnes spatiales.

112

2. Notations mathmatiques manuscrites

Avant

Aprs

F IG . 5 Rchatillonnage des donnes


En effet, plusieurs exprimentations ont permis de montrer que cette information, dans
le cas particulier des expressions mathmatiques, introduit une perturbation importante, entranant des erreurs sur la reconnaissance des symboles.
Plusieurs informations sont donc extraites des donnes disponibles :
des informations en ligne :
lorientation des vecteurs constituant la trajectoire dcrite par le stylo cos(), sin(),
la diffrence entre deux vecteurs conscutifs cos(), sin() avec = (k)
(k 1),
linformation de pression du stylo 0|1.
des informations hors ligne :
limage sous-chantillonne de la trajectoire du stylo.
Toutes ces donnes forment des flux, prsents au systme base de chanes de Markov.
Un modle avec 12 tats est utilis pour les lettres majuscules et les grands symboles
mathmatiques, comme les sommes ou les produits. Les lettres minuscules et les oprateurs
mathmatiques plus petits sont reconnus par un modle 8 tats ; les plus petits symboles
comme, le point ou la virgule, par un systme 3 tats.
Pour la reconnaissance proprement dite, lalgorithme de Viterbi est utilis. Il est alors
possible de dterminer la squence dtats q dun ensemble de chanes de Markov pour
une squence donne O.
(1)
P (O, q |) = max P (O, q|)
q

Ceci peut tre exploit efficacement, pour les notations mathmatiques, en analysant lalignement de chacune des trajectoires, avec la meilleure correspondance possible dans le modle de Markov. Le rsultat supplmentaire que lon obtient par cette mthode est le point
de dpart et darrive de la trajectoire dun symbole. La figure 6 illustre la transformation
des coordonnes temporelles dont on dispose en sortie de lalgorithme de dcodage ou de
reconnaissance (dbut et fin de la trajectoire dun symbole).
En parcourant cette trajectoire et en isolant les minima-maxima en x et en y, on obtient
les coordonnes de la bote englobante du symbole identifi. On notera toutefois que, dans ce
cas prcis, le systme dvelopp ne permet pas de fournir dalternatives la reconnaissance

113

Chapitre IV. Applications et Validation

Coordonnes temporelles

Coordonnes spatiales

a: k = 35 ... 59

h, b, g, d
a:900,954,082,142

(x,y)(k=35)
haut
bas
(x,y)(k=59)

gauche droite

F IG . 6 Transformation des coordonnes temporelles en coordonnes spatiales


dun symbole.
On notera galement que, contrairement au systme danalyse statique de lanalyse
dimages, les donnes temporelles fournissent un certain nombre dinformations supplmentaires. Elles permettent par exemple de rsoudre, dans certains cas, lassociation des
composantes connexes. Comme nous lavons prsent dans le paragraphe 1.2.2, il est impossible dassocier certaines composantes connexes lors de lanalyse de limage ; il est
ncessaire deffectuer cette analyse dans un contexte plus large, et il est donc indispensable de lintgrer lanalyse syntaxique. Ce nest pas le cas pour lcriture manuscrite, o
nous disposons dinformations temporelles incorpores dans le modle de reconnaissance
des symboles. Il sera donc possible didentifier directement lensemble des composantes
connexes dun symboles comme i ou =. Cette partie pourra alors tre dcharge du systme
danalyse syntaxique dans le cas manuscrit.
Les informations minimales ncessaires la reconnaissance de la structure dune notation
mathmatique tant runies, elles peuvent tre envoyes au processus OFR pour effectuer ce
travail. Afin de valider et de tester linteraction de lensemble de ces composants, nous avons
dvelopp un prototype dinterface permettant lintgration et la communication entre ces
diffrents modules.

3 Irma : Dualit du systme dvelopp


Pour valider notre tude sur lutilisation dune mthode base de grammaires de graphes,
nous avons ralis un prototype intgrant la plupart des principes exposs durant notre tude
sur la reconnaissance des expressions mathmatiques. Ce prototype, appel Irma, est bas sur
le composant OFR, et constitue une plate-forme dexprimentation trs souple de reconnaissance des notations mathmatiques typographies et manuscrites. Cette application intgre
tous les composants que nous avons prsents dans les chapitres et paragraphes prcdents
savoir :
le logiciel de reconnaissance des caractres et symboles mathmatiques typographis,

114

3. Irma : Dualit du systme dvelopp

le systme de reconnaissance des caractres et symboles manuscrits,


le composant OFR pour lanalyse gomtrique et structurelle des notations mathmatiques.
La souplesse de la mthode base de grammaires de graphes permet cette adaptation
aux deux cas dtude : notations mathmatiques typographies [?] [1] et manuscrites [?][2] .
Cette dualit du systme Irma (Interface pour la Reconnaissance des notations MAthmatiques) a t possible grce larchitecture logicielle que nous avons mise en place, ainsi
qu lensemble des paramtres qui permettent dadapter le comportement dOFR.

3.1 Adaptation au format des donnes


Les moyens de paramtrer lensemble des donnes en entre dmontrent la facult
dadaptation et la souplesse du composant OFR. Cette paramtrisation se caractrise par
plusieurs points :
unification des donnes : les donnes fournies au systme effectuant la reconnaissance structurelle sont issues de logiciels ayant tous un format de communication des
donnes diffrent. Une certaine unification des donnes attendues est donc ncessaire.
Les informations impratives, que nous avons prsentes dans le chapitre III, sont le
symbole identifi et la rgion occupe par celui-ci. Dautres informations peuvent tre
ncessaires pour effectuer lanalyse gomtrique. Ce sont la taille relative du symbole
et la ligne de rfrence par rapport laquelle le caractre scrit. Ces dernires sont
extrapoles si le systme de reconnaissance des symboles ne fournit pas ces informations.
rgles lexicales : le typage lexical permet lui aussi dunifier et de simplifier la grammaire de graphes. Il permet dabstraire les symboles et de gnraliser les rgles de la
grammaire.
paramtrage gomtrique : la construction gomtrique doit tre adaptable aux diffrentes typographies que lon peut rencontrer dans les variations des notations. Cela
va des variations trs subtiles entre deux typographies diffrentes (positionnement dun
exposant qui peut tre plus ou moins lev), aux variations trs importantes entre une
notation typographie et une manuscrite. Un ensemble de paramtres et de seuils de
tolrance permettent au systme de sadapter aux diffrents cas rencontrs.

3.2 Adaptation aux notations reconnues


rgles syntaxiques : comme nous avons dj pu le mentionner, il nest pas possible
de prtendre reconnatre lensemble des notations mathmatiques. Celles-ci ntant
[1]
[2]

L AVIROTTE S. & P OTTIER L., Mathematical formula recognition using graph grammar (1998).
KOSMALA A., L AVIROTTE S., P OTTIER L. & R IGOLL G., On-line handwritten formula recognition
using hidden markov models and context dependent graph grammars (1999).

115

Chapitre IV. Applications et Validation

que partiellement standardises, et des notations personnelles ne pouvant tre incluses


demble, il est ncessaire de pouvoir spcifier le schma de nouvelles notations. Les
rgles syntaxiques, base de graphes, permettent dtendre ou de modifier, selon les
besoins, lensemble des notations reconnues.

3.3 Adaptation du format de sortie


smantique : une fois larbre de syntaxe abstraite construit, par application de la grammaire de graphes sur le graphe gnr, partir des donnes fournies par le logiciel
didentification des symboles, des informations smantiques doivent permettre une exploitation du rsultat obtenu. Comme nous lavons prsente page 56, linterprtation
dun mme arbre de syntaxe peut-tre diffrente selon la smantique des objets. Nous
navons pas pu effectuer tous les tests souhaits dans ce domaine du fait du caractre
isol des formules analyses. Plusieurs conventions sur la smantique sont donc intgres certaines objets mathmatiques : A, B, C, D, ... symbolisent des matrices, f ,
g, ... des symboles fonctionnels, t, x, y, z, ... des variables, a, b, c, d, e, des constantes
etc.
communication des rsultats : disposant dun arbre dcor avec les informations smantiques synthtises, la communication du rsultat sous diverses formes est possible : LATEX (dans ce cas, les informations smantiques sont superflues), ou tout systme intgrant le protocole OpenMath.

3.4 Communication laide dOpenMath


Lintgration dOpenMath Klone permet de communiquer les rsultats obtenus
dautres applications utilisant ce protocole. OpenMath est en passe de devenir un standard
incontournable pour la communication des expressions mathmatiques inter-applications.
Lintgration dOpenMath nous permet de communiquer les rsultats obtenus tous les systmes intgrant cette bibliothque de communication des expressions mathmatiques. Cest
le cas, par exemple, de Mathematica, Reduce, Maple, dautres systmes devant suivre trs
prochainement.
La figure 7 prsente lutilisation du protocole OpenMath pour la communication dexpressions mathmatiques. Lapplication Irma, en haut, a reu les symboles reconnus de la
part du logiciel charg deffectuer cette tche. Aprs analyse de cette notation par la grammaire de graphe, Irma dispose de larbre de syntaxe abstraite de la formule. Cette structure
peut tre convertie, par simple parcours de larbre, en une quelconque autre reprsentation,
dont OpenMath. Sous sa forme ascii, ce protocole se prsente sous une forme XML, avec des
balises pour notifier les variables (<OMV>), les entiers (<OMI>), les symboles (<OMS>),
etc. Afin de montrer que cest bien la formule avec sa smantique qui est communique
Mathematica, et pas seulement une reprsentation de la formule, lexemple montre que lon

116

3. Irma : Dualit du systme dvelopp

<OMOBJ>
<OMA>
<OMS cd="relation1" name="eq"/>
<OMA>
<OMS cd="arith1" name="plus"/>
<OMA>
<OMS cd="arith2" name="times"/>
<OMV name="a"/>
<OMA>
<OMS cd="arith1" name="power"/>
<OMV name="x"/>
<OMI>2</OMI>
</OMA>
</OMA>
<OMA>
<OMS cd="arith2" name="times"/>
<OMV name="b"/>
<OMV name="x"/>
</OMA>
<OMV name="c"/>
</OMA>
<OMI>0</OMI>
Formule ax2+bx+c=0
</OMA>
</OMOBJ>
au format Openmath

F IG . 7 Communication entre Irma et Mathematica via OpenMath

117

Chapitre IV. Applications et Validation

peut faire une recherche des solutions de cette expression.


Coupl au systme de reconnaissance de lcriture manuscrite, Irma peut tre utilis
comme une interface la saisie dexpressions mathmatiques beaucoup plus conviviale et
intuitive pour lutilisateur. Comme nous lavons montr dans le chapitre I, les systmes de
calcul formel, ou, dans un cadre plus gnral, les interfaces la saisie de notations mathmatiques, sont limits deux techniques principales : lutilisation dune syntaxe linaire ou de
palettes de modles. Lutilisation dune interface manuscrite la saisie de notations mathmatiques est une alternative des plus intressantes et semble trs apprci des utilisateurs, en
particulier ceux qui ne sont pas familiers des interfaces existantes. Cest ce qui ressort dune
tude faite par S. Smithies [?][1] , sur la saisie des notations mathmatiques manuscrites.

4 Validation
Comme nous lavons expos prcdemment, Irma intgre lensemble des composants
que nous avons prsents, savoir : le systme de reconnaissance de lcriture typographi,
le logiciel de reconnaissance des symboles manuscrits et le composant OFR. Ce prototype
nous a permis de faire une valuation de la mthode propose, la fois pour la reconnaissance structurelle de notations mathmatiques typographies, mais aussi pour les expressions
manuscrites.

4.1 La grammaire de graphes


Pour effectuer ces tests de validation, nous avons dvelopp la grammaire de graphes la
plus significative possible quant aux notations identifies. Cette grammaire regroupe donc
un chantillon des diffrents types de notations mathmatiques. Nous entendons par diffrents types de notations la varit des oprateurs mathmatiques (oprateur infixe, prfixe,
etc) et des reprsentations graphiques (linaire, bidimensionnelle, etc). Nous pouvons donc
regrouper les notations reconnues en plusieurs catgories :
linaires :
prfixe : moins unaire (x),
postfixe : notation factorielle (x!),
infixe : laddition, la soustraction, la multiplication, les galits ou ingalits, etc
(x + y, x y, x y, x = y, x < y, . . .)
implicite : la multiplication implicite (2x),
parenthses : lensemble des symboles qui permettent de regrouper des lments
comme les (x), [x], {x}, etc.
[1]

118

S MITHIES S., Freehand Formula Entry System, Masters thesis (1999).

4. Validation

verticales : les fractions ( xy )


bidimensionnelles :
explicites : les sommes ou produits, les composants binomiaux, etc. (

y
y


,
, Cnp ,
x

. . .).


x y
implicites : les indices, les exposants, les matrices, etc (x , xy ,
, . . .)
y x
La grammaire est constitue dune trentaine de rgles permettant danalyser toutes les
notations que nous avons prsentes. Chacune de ces rgles est constitue de plusieurs lments :
la rgle syntaxique : elle se dcompose de la manire suivante :
le modle : cest le sous-graphe que lon cherche identifier,
le contexte : cest un ensemble de sous-graphes pouvant se trouver en superposition
avec une partie du sous-graphe du modle ; si tel est le cas, la rgle ne peut pas
sappliquer,
la production : cest un nud qui remplace le sous-graphe modle que lon a identifi ; cette partie de la rgle permet de spcifier larbre que lon construit partir des
lments du modle,
la priorit : elle correspond la priorit de loprateur mathmatique que la rgle
modlise,
lassociativit : elle permet de spcifier le type dassociativit de loprateur (associatif gauche, droite, etc),
larit : elle reprsente larit de loprateur considr (unaire, binaire, n-aire)
la rgle smantique : chaque rgle syntaxique est associe une rgle smantique qui
permet de spcifier la manire dont les attributs de la production seront calculs.
On notera que le contexte ne doit pas tre spcifi, mais est dduit automatiquement
grce lensemble des informations qui composent la rgle : proprits gomtriques du
modle, priorit, associativit, arit.
y

On distingue deux types de rgles dans la grammaire : les rgles correspondant lidentification dun oprateur et de ses oprandes, et les rgles reconstituant les symboles ou
entits mathmatiques. Examinons, tout dabord, les rgles permettant didentifier les oprations mathmatiques trs classiques comme : la multiplication, laddition ou bien encore la
factorielle.
Num

Oprateur

Modle

Production

Prio.

Assoc.

Arit

X!

Excl A -g-> Expr X

Expr "fact(X)"

115

gauche

unaire

X Y

Expr X <-g- Mult A -d-> Expr Y

Expr "mult(X,Y)"

50

gauche

n-aire

X+Y

Expr X <-g- Plus A -d-> Expr Y

Expr "plus(X,Y)"

10

gauche

n-aire

119

Chapitre IV. Applications et Validation

Ces rgles sont toutes composes de plusieurs lments : le modle, la production, larit
de loprateur reprsent, sa priorit, etc. Le modle est le sous-graphe que lon cherche
identifier dans le graphe construit partir des donnes. Si nous prenons lexemple de la rgle
3, le modle est constitu de trois nuds, identifis par les variables X, Y et A, X et Y tant
de type Expression et A de type Plus, et de deux arcs qui relient ces nuds. La production
de la rgle est un nud de type Expression, dont la valeur sera produite en construisant
larbre ayant pour racine loprateur plus, et pour sous-arbres les valeurs associes X et
Y.
Complmentairement ces rgles didentification des oprations, nous avons un ensemble de rgles, permettant de raliser lassemblage des symboles constitus de plusieurs
composantes connexes. Comme nous lavons prsente dans le paragraphe 1.2.2, cette analyse doit seffectuer lors de lanalyse syntaxique de la formule ; un mme symbole peut avoir
une signification diffrente selon son contexte graphique (exemple du trait horizontal). Dans
le cas manuscrit, ces rgles sont pour la plupart inutiles, ce regroupement des composantes
connexes tant ralis par le composant de reconnaissance des symboles, grce aux informations temporelles.
Ces rgles servent donc reconstituer les symboles ayant un sens syntaxique. Cette association peut tre assez vidente dans les cas suivants : et pour le i, j et pour le j,
etc. Elle peut galement porter sur lassociation de symboles plus ambigus, leur utilisation
tant trs rpandue dans les notations. Cest le cas tout particulirement du trait horizontal,
qui intervient dans plusieurs symboles (, , =, , etc.) et dans diverses notations (moins
unaire, moins binaire, trait de fraction, conjugu, etc.).
Examinons quelques exemples pour illustrer ce type de rgles. Le tableau ci-dessous
fournit les rgles permettant didentifier les symboles, comme le point dexclamation (rgle
6), le symbole gal (7), mais aussi permettant deffectuer la runion dune lettre et de son
point ( et ). Cette mme rgle pourra aussi identifier la notation classique de la drive premire (une lettre surmonte dun point), linterprtation tant laisse lanalyse smantique
de larbre construit.

120

Num

Oprateur

Modle

Production

Prio.

Assoc.

Arit

Lett X -h-> Dot Y

Lett "dot(X)

203

non

unaire

...

Dot X -d-> Dot Y -d-> Dot Z

Elip X "..."

202

non

unaire

VBar X -b-> Dot Y

Excl Y " !"

201

non

unaire

HBar X -h-> HBar Y

Equa X "="

200

non

unaire

4. Validation

Comme nous lavons dj mentionn, une rgle smantique est associe chacune des
rgles syntaxiques. Dans le tableau ci-dessous, nous prsentons les rgles smantiques associes aux rgles syntaxiques ci-dessus. Ces rgles permettent de synthtiser les attributs des
nuds, comme la position de la ligne de rfrence de lexpression ou bien encore la taille
des symboles de lexpression. Pour la rgle numro 6, la nouvelle ligne de rfrence de lobjet sera dduite du symbole identifi par Y , la taille de la fonte sera la fonte maximum des
symboles identifis par les variables X et Y .
Num

Rgles smantiques

baseline=Baseline(X)

font=Font-max(X)

baseline=Baseline-average-y(X,Y,Z)

font=Font-max(X,Y,Z)

baseline=Baseline(Y)

font=Font-max(X,Y)

baseline=Baseline-middle(X,Y)

font=Font-max(X,Y)

Comme nous lavons dj mentionn, la reconnaissance des symboles intervient part


entire dans lidentification des notations typographies. Pour preuve, examinons les trois
rgles suivantes :
Num

Oprateur

Modle

Production

Prio.

Assoc.

Arit

HBar X -h-> HBar Y

Equa X "="

200

non

unaire

X
Y

Expr X <-h- HBar A -b-> Expr Y

Expr "frac(X,Y)"

100

non

binaire

Expr X -h-> HBar A

Expr "conj(X)"

150

non

unaire

Ces deux rgles permettent didentifier le symbole gal, les fractions, et la notation conjugu. Le trait horizontal est le point commun entre toutes ces notations. La construction automatique du contexte va introduire la notion de contexte dans chacune de ces rgles, comme
nous lavons expliqu page 87. Celle-ci aura pour effet dajouter la rgle 7 la recherche
de symboles au-dessus et au-dessous, et en cas de prsence de ces symboles, empchera
lapplication de la rgle. Prenons lexemple suivant :
X
=1
Y
Cette formule signifie : X divis par conjugu de Y est gal 1. Mme le lecteur peut douter
la lecture de cette formule, mais le contexte des symboles permet de rsoudre sans ambigut
linterprtation de cette notation. La diffrence de longueur des traits horizontaux entre X
et Y ainsi que lloignement des traits ne sont pas des critres suffisamment significatifs

121

Chapitre IV. Applications et Validation

pour diffrencier coup sr ces deux cas. Par contre, la prsence de symboles au-dessus et
au-dessous permet danalyser correctement la notation.
Pour un symbole autant utilis dans les notations mathmatiques que le trait horizontal
(moins unaire, moins binaire, fraction, conjugu, galit, etc.), la construction automatique
des contextes des rgles introduit un nombre important de contextes vrifier pour pouvoir
appliquer la rgle. Ceci entrane videmment un surcot pour lapplication dune rgle, mais
vite un systme contraignant de retours arrires dans lanalyse.
La grammaire construite peut toutefois tre trs concise, tout en restant trs complte. Le
systme de substitution des termes, lment de base de chacun des composants du graphe
(voir les dfinitions dun nud, arc, graphe page 70), permet cette expressivit.
Num

Oprateur

Modle

Production

Prio.

Assoc.

Arit

10

(X) ou [X] ...

Par X G <-g- Expr A -d-> Par Y D

Expr "GD(X)"

115

non

unaire

11

X < Y ou X Y ...

Expr X <-g- Comp A C -d-> Expr Y

Expr "C(X)"

non

binaire

Le premire rgle permet didentifier les notations de type parenthsage, alors que la
deuxime est une rgle gnrique de reconnaissance des oprateurs dgalit ou dingalit.
Le type de loprateur analys est rcupr grce la substitution de C par loprateur identifi. Cette unique rgle permet ainsi didentifier de nombreuses notations comme =, <, >,
, , mais aussi , =, etc.

4.2 Rsultats
Les rsultats obtenus grce lensemble des composants que nous avons prsents sont
de deux types :
la reconnaissance structurelle de formules mathmatiques typographies laide dun
systme quelconque (LATEX par exemple). Ladaptation un autre formateur dexpressions mathmatiques est trs simple. Il suffit dadapter les paramtres gomtriques
la typographie. Le systme de reconnaissance des symboles dvelopp permettant
lapprentissage de nouveaux symboles, il pourra tre rutilis. On notera toutefois
quun utilisateur pourra aisment remplacer ce module de reconnaissance par un autre
de son choix.
la reconnaissance structurelle des notations manuscrites laide du systme Neurograph que nous avons prsent. Ce systme tant dpendant du scripteur, lvaluation
des rsultats a t assez limite. Le temps dapprentissage, ncessaire au systme
base de chanes de Markov, est lourd et contraignant (voir paragraphe 2.1). tant donnes ces contraintes, nous navons pas trouv beaucoup de candidats pour raliser une
valuation aussi pousse que ce que nous aurions souhait.

122

4. Validation

4.3 Quelques exemples caractristiques


Afin de mettre en lumire le potentiel dOFR, nous prsentons ici quelques exemples
slectionns pour leur intrt. Deux critres ont t retenus :
lintrt dun point de vue mathmatique (problme de rsolution des priorits des
oprateurs),
la difficult lie larrangement gomtrique des symboles qui composent la notation
(proximit des symboles, faible taille, type de liaisons entre les symboles difficile
dfinir, . . .).
Dans un souci de clart, nous avons regroup les exemples en diffrentes catgories selon
le type doprateurs utiliss dans la notation.
Prsentons tout dabord quelques exemples de notations mathmatiques simples. Le premier type de difficults lies la reconnaissance structurelle des expressions mathmatiques
est lanalyse correcte des expressions, en respectant les priorits des oprateurs qui les composent. Vient ensuite le problme de lidentification des units lexicales. La grammaire graphique doit intgrer lassociation des symboles pour reconstituer les entits en fonction du
contexte. Lanalyse de la formule IV.8(a) pourra donc tre diffrente selon que, la grammaire
considre mc comme une entit lexicale ou si les variables utilises dans les notations sont
rduites un seul symbole. Seule une information extrieure pourra dterminer le bon cas et
donc le type de grammaire utiliser. La deuxime notation IV.8(b) est non ambigu car le
point marque bien la multiplication entre les variables m et c. Pour la troisime, il y a bien
multiplication implicite entre lentier 2 et la lettre p.
E = mc2

E = m c2

2px+2 + 1

(a)

(b)

(c)

F IG . 8 Notations simples
Les formules trigonomtriques ne posent pas de problmes particuliers, mis part
quelques difficults de priorit et de porte des oprateurs. La figure 9 donne quelques
exemples de formules reconnues par le systme.


sin z
tan z =
cos z

cos z + sin z = 1

(a)

(b)

z1 + z2
sin z1 sin z2 = 2 cos
2


sin

z1 z2
2

(c)

F IG . 9 Notations trigonomtriques

123

Chapitre IV. Applications et Validation

Les oprateurs ternaires, comme la somme, le produit


ou lintgrale peuvent se prsen), loprateur avec une seule
ter sous plusieurs formes : loprateur et son argument (


) ou bien avec deux (
). La grammaire doit permettre la reconnaissance de
borne (
toutes ces formes. Une difficult supplmentaire se situe aussi au niveau de la localisation
des bornes : elles peuvent tre au-dessus et au-dessous de loprateur ou bien en position
dindice ou dexposant comme cest la cas de lintgrale dans lexemple IV.10(c) de la figure 10. Enfin, les bornes de loprateur peuvent avoir une largeur suprieure la largeur de
loprateur, induisant des erreurs possibles sur les relations entre les symboles constituant la
borne et ceux de loprande. Lensemble de ces formules est correctement reconnu par notre
systme.


n


x +1
i

0in


x +1
i

i=0

(b)

(a)

 b

g+

(1 + x)2 (x 1) + ex

b


(c)
2


dx

(d)

F IG . 10 Notations de type somme, produit, intgrale


Les notations du type indice ou exposant sont parmi les plus difficiles identifier, car
elles sont uniquement bases sur lagencement des oprandes. Aucun oprateur nest utilis
pour marquer la liaison entre les symboles. Les exemples de la figure 11 ci-dessous illustrent
bien la complexit potentielle due la combinaison des notations indices exposants. Les possibilits de ces combinaisons indices/exposants vont du cas le plus simple et le plus courant
(expression IV.11(a)) au cas extrme de la figure IV.11(e). Ce dernier exemple, mme sil ne
correspond pas un cas concret, illustre bien la limite du systme OFR. Celui-ci bute sur
la reconnaissance de cette dernire expression, ne dterminant pas correctement lensemble
des relations entre les symboles (confusion entre les indices de lexposant et les exposants
de lindice). Les autres expressions sont, elles, correctement apprhendes par le systme.
Voici maintenant des formules un peu plus complexes, faisant intervenir un panel plus
large de types de notations. La complexit du graphe construit, et plus particulirement pour
lexpression IV.12(c), induit un temps dapplication de la grammaire important. La reconnaissance de cette formule peut tre visualise grce une petite animation, en consultant la
page suivante : http ://www.inria.fr/cafe/Stephane.Lavirotte/Ofr.
Enfin, les notations matricielles sont prises en compte par OFR. La plupart des expriences passes ont but sur lextension de leur mthode au cas des notations implicites,

124

4. Validation

x21

x22

+ ... +

x2n

4g+e6

2p+1
Cn+1

3
4xa+b
i+j 2

x 2b5 +c y7
a

(b)

(c)

(d)

(a)

XXX

XX
X
XX
X
XX
XX
XX

(e)

F IG . 11 Notations de type indice, exposant


x201 +y 523
abce
2
2
(x + y )(x3 +

S(2m) = (1)m+1 B2m

y 3)

(a)

(b)




(2)2m
2(2m)!

1
x2 + 1

(n)
= (1)n .n!

2p+1 n2p
(1)p Cn+1
X

02pn

(X 2 + 1)n+1

(c)

F IG . 12 Formules plus complexes


comme les notations matricielles. La figure 13 fournit trois exemples. Notons toutefois que
dans le cas manuscrit, ce type de notation obtient un taux de reconnaissance plus faible que
dans le cas typographi. La diffrence est due aux imprcisions de la segmentation des sousexpressions.

a1
..
.
an
(a)

4
y
x z+2
4
z3
(b)

1 x0 ... xn0
1 x1 ... xn1 
=
D
(xi xj )
...

i<j
1 xn ... xnn
(c)

F IG . 13 Notations matricielles
Pour conclure sur la prsentation de ces rsultats, voici un ensemble de formules manuscrites faisant intervenir les diffrents types de notations que nous avons prsentes (figure
14), toutes reconnues par le systme OFR.
Les problmes rencontrs pour la reconnaissance de ces notations sont du mme ordre
que dans le cas typographi. Les contraintes sur le positionnement ont t assouplies, afin
de satisfaire les alas du placement des symboles inhrents au cas manuscrit. Quelques problmes subsistent, principalement dus la dtection des relations entre les symboles. Lors
de lanalyse gomtrique, lajout au graphe de liens errons peut entraner une mauvaise

125

Chapitre IV. Applications et Validation

(a)

(b)

(d)

(c)

(e)

(f)

(g)

(h)

(i)

(j)

(k)

F IG . 14 Exemples divers de formules manuscrites

126

5. Conclusion

reconnaissance ou un chec. Les problmes de cas limite, seuil de dtection entre des symboles aligns ou en position dindice ou dexposant, sont plus nombreux que dans le cas
typographi. Ceux-ci ne permettent pas une identification aussi prcise des notations que
celles prsentes figure 11, qui elles, sont correctement analyses dans le cas typographi.
Enfin, pour conclure sur les rsultats de la reconnaissance des notations manuscrites, nous
prcisons aussi quil peut tre ncessaire dadapter le systme lutilisateur.
Les quelques exemples que nous fournissons dans ce paragraphe sont donns titre indicatif. Mais, profitant de ce propos sur les notations identifies par OFR, nous tenons souligner nouveau la ncessit dun vrai travail de classement des expressions pertinentes, qui
devrait tre mis au point par la communaut des personnes travaillant ou ayant travaill sur
le sujet. Ce type de travail, qui a t ralis pour la reconnaissance des symboles manuscrits
par exemple, permettrait de mettre au point une bibliothque de formules mathmatiques
caractristiques et intressantes sur le plan mathmatique ou de la reprsentation. Une telle
librairie dexemples de tests permettrait aussi de comparer plus prcisment les diffrentes
approches existantes, tout en facilitant le travail de mise au point dun systme.

5 Conclusion
Dans le cadre dun travail de recherche, il na pas t possible dinvestir assez de temps
dans la ralisation dun composant finalis. Nous avons concentr nos efforts sur lutilisation
et lamlioration des grammaires de graphes, appliques au cas particulier de la reconnaissance des formules mathmatiques.
Afin de disposer de plus de temps pour valider la mthode, nous avons tent de rutiliser
des composants existants pour effectuer la reconnaissance des symboles composant les notations mathmatiques. Nous avons donc tudi les diffrents logiciels disponibles et la possibilit dapprentissage, afin dintgrer lensemble des symboles ncessaires. Cette recherche,
pour le cas typographi, sest rvle infructueuse, et nous a donc conduit dvelopper un
composant spcifique rutilisable par dautres, pour des tudes futures. Dans le cas manuscrit, la recherche a t fructueuse, entranant une collaboration avec lUniversit de Duisburg
et lobtention de rsultats encourageants.

127

Chapitre IV. Applications et Validation

128

Chapitre V
Implmentation dOFR

Le but de notre recherche est la mise au point de techniques et dalgorithmes afin de raliser la reconnaissance structurelle de formules mathmatiques. Dans cette optique, le choix
dun langage pour limplmentation ne se base pas sur les performances, mais plutt sur la
facilit de dveloppement. Cette souplesse de dveloppement repose sur plusieurs critres,
comme la disponibilit de bibliothques de fonctions, la qualit de la documentation, mais
aussi et surtout dans notre cas, la capacit intgrer les programmes utiles la ralisation du
prototype complet.
En effet, la mise au point dalgorithmes de reconnaissance structurelle dexpressions mathmatiques suppose, comme nous lavons dj mentionn, que lon dispose des symboles
composant la formule, ainsi que de leur position. Dans un souci dconomie de temps et
pour bnficier des meilleurs outils possibles, il est bien entendu souhaitable dutiliser des
logiciels existants nous fournissant ces informations, qui sont un pr-requis notre travail.
Le langage choisi doit donc permettre dintgrer facilement des programmes extrieurs
se chargeant de raliser les tches annexes. Lefficacit de ce langage en termes de performances nest pas primordiale, mais il doit permettre un dveloppement rapide. En effet,
la mise au point de solutions algorithmiques suppose une rcriture parfois importante. Une
solution prcdemment retenue devenant obsolte, il est alors parfois ncessaire de rcrire
une partie importante du code source. Ou bien, plus simplement, pour tester de nouvelles
fonctionnalits, il est apprciable de ne pas avoir investir un temps important dans im-

129

Chapitre V. Implmentation dOFR

plmentation dun programme qui ne sera peut-tre pas conserv pour la version finale de
lalgorithme.
Tous ces critres nous ont fait nous intresser aux langages de script, qui prsentent
toutes ces caractristiques. Dans ce chapitre, nous prsenterons les langages de script, nous
les comparerons et nous justifierons nos choix.

1 Langages de script
Durant les quinze dernires annes, un changement fondamental est apparu dans la manire dont on programme un ordinateur. Ce changement est une transition, de la programmation dans des langages de bas niveau (langages systme) comme C ou C++, vers une
programmation laide de langages de script comme Perl ou Tcl.
Les langages de script, comparativement aux langages systme, sont conus pour raliser
des tches diffrentes, ce qui implique des caractristiques particulires ces langages. Les
langages de programmation systme sont conus pour construire des structures de donnes et
des algorithmes partir de rien, en se basant sur les primitives de bas niveau dun ordinateur,
comme un mot mmoire. loppos, les langages de script sont tudis pour agglomrer
un ensemble de composants puissants, pr-existants.
Afin de comprendre les diffrences entre langages de script et langages de programmation systme, il est important de comprendre comment les langages ont volu.

1.1 Bref historique des langages


Les langages systme ont t introduits comme une alternative aux langages assembleurs,
pour lesquels les programmeurs sont obligs de grer des dtails de programmation de bas
niveau comme lallocation dun registre ou lappel de procdures. Il en rsulte quil est trs
difficile dcrire et surtout de maintenir des programmes de grande taille en assembleur.
la fin des annes 1950, des langages de programmation de plus haut niveau sont apparus
comme Fortran et Algol. Dans ces langages, une instruction ne correspond plus exactement
une instruction machine ; un compilateur transcrit chacune des instructions en une squence dinstructions binaires. Plusieurs langages bien connus ont dcoul de Algol, comme
PL/1, Pascal, C, C++. Les langages de programmation systme sont moins performants
que lassembleur, mais ils permettent un dveloppement plus rapide et une maintenance des
programmes plus commode.
Les langages de script comme Perl, Python, Tcl, Visual Basic ou encore les shells Unix
reprsentent un style diffrent de programmation par rapport aux langages systme. Les langages de script supposent quil existe dj une collection de composants crits dans dautres

130

1. Langages de script

langages. Les langages de script ne sont pas conus pour crire une application partir
de rien mais plutt pour assembler des composants. Ils sont dailleurs souvent rfrencs
comme langages dintgration de composants ou langages dassemblage de composants.
Les langages de script et systme sont complmentaires et apparaissent sur la majorit
des plates-formes de dveloppement, et ce depuis les annes 1960. Ces langages sont typiquement utiliss ensemble dans le cadre suivant : les composants sont dvelopps laide
de langages de programmation systme et assembls avec les langages de script. Cependant,
plusieurs faits, comme des machines plus rapides, de meilleurs langages de script, laugmentation de limportance des interfaces graphiques et de larchitecture en composants, ainsi que
la croissance dInternet, ont considrablement accru lutilisation des langages de script.
Non seulement les langages de programmation et leurs utilisations ont fondamentalement
chang, mais une volution dans la conception de larchitecture logicielle est aussi constater. Plusieurs styles darchitectures ont merg et se sont imposes comme des standards de
programmation [?][1] . Les plus connus et utiliss sont schmatiss laide de la figure 1 ;
cette reprsentation est issue de http ://www-ast.tds-gn.lmco.com/arch/guide.html.
Filtres et Pipelines

Processus communicants

Modle vnements

En couches

Programme principal et
sous-routines
Orient objet

F IG . 1 Styles darchitecture logicielle

[1]

G ARLAN D. & S HAW M., An introduction to software architecture (1993).

131

Chapitre V. Implmentation dOFR

Larchitecture en composants spcialiss que nous avons prsente est du type filtres, pipeline. Avec ce type darchitecture, la classe de langage la plus adapte est bien sr celles des
langages de script. Ils permettent de faire la clue entre les diffrents filtres ou programmes.
Lexemple le plus connu de ce type darchitecture est le shell Unix. Unix fourni une notation
pour connecter les diffrents composants (reprsents par des processus) et un mcanisme
pour mettre en uvre les pipes. Les systmes base de filtres ou de pipelines ont plusieurs
proprits apprciables :
une conception facilite : chaque composant peut tre vu comme une bote noire,
la possibilit de rutiliser les composants : sortir un composant de son contexte global
est simple,
le systme peut facilement tre maintenu et tendu : possibilit dajouter de nouveaux
filtres dans la chane,
il autorise, dans certains cas, lexcution concurrentielle des processus.
Mais ce type de systme a aussi ses dsavantages :
la ncessit pour chaque filtre danalyser et de produire les donnes dans un format
particulier ;
une perte ventuelle de performances due lanalyse et la gnration des donnes ;
il nest pas adapt une application intractive, mais plutt une chane de calcul pour
aboutir un rsultat en fonction dune entre.
Chaque composant entrant dans la chane de calcul peut avoir sa propre architecture
logicielle (programme principal et sous-routines, orient objet, en couches, etc).

1.2 Quelques caractristiques des langages


Les diffrents systmes que nous prsenterons par la suite sont tous bass sur des langages interprts, nombreux et varis. Nous prsentons ici quelques points important permettant didentifier quelques classes de langages.
1.2.1 Machine virtuelle
Parmi la multitude de langage interprts, certains nexcutent pas le code crit dans le
langage lui-mme, mais un code intermdiaire, gnr lors dune phase de pr-compilation.
Le moteur dvaluation de ce code intermdiaire est appel machine virtuelle.
Deux choix de compilation peuvent tre mis en uvre : beaucoup dimplmentations de
Scheme, par exemple, gnrent du code intermdiaire lors du chargement du fichier, lutilisation du code tant alors transparente pour le programmeur (byte-compile ). Dautres au
contraire, comme Java, chargent des fichiers pr-compils, ce qui contraint le programmeur
excuter une phase de compilation par lui-mme.

132

1. Langages de script

Lutilisation de code intermdiaire a pour intrt daccrotre la vitesse dexcution et


permet une optimisation du code par le compilateur. titre dexemple, linterprte Tcl sans
directives de pr-compilation (version antrieure 8.0), tait mille fois plus lent quun programme C quivalent. Avec la pr-compilation, les nouvelles versions de Tcl permettent de
gagner un facteur deux lors de lexcution du code gnr. Notons tout de mme ds prsent que les performances de Tcl sont largement insuffisantes. Un langage interprt comme
Self hautement optimis, nest que deux trois fois plus lent quun programme C compil
et optimis.
Le passage par une reprsentation intermdiaire permet ainsi de concilier la fois la
vitesse dexcution du code compil et la portabilit du code source.
1.2.2 Typage
La vrification statique des types est sujette discussion. Certains prtendent quelle est
ncessaire la qualit logicielle, puisque le compilateur est capable de dtecter des erreurs
avant lexcution du programme. La phase de compilation permet, en outre, de dtecter des
erreurs qui napparaissent pas lexcution si le jeu de test utilis ne couvre pas toutes les
branches du programme. Dautres, au contraire, estiment que le typage est un obstacle la
facilit de dveloppement, et que son absence fait partie des points forts dun langage [?] [1] .
Notons que la mise en uvre du typage ncessite lutilisation dun compilateur ou tout
au moins dune phase de compilation dans linterprte, comme dans ML. Mais les impratifs
de qualit tant pris de plus en plus en compte, les langages modernes se tournent vers un
typage fort. Cest par exemple le cas de Java qui utilise un typage fort, la manire de
C++ ou Ada. Si ce typage fort est souhaitable dans le cadre dun dveloppement bien cibl,
il nous semble moins primordial, voir mme un obstable, une activit de recherche o
les donnes et les structures peuvent tre pronfondement modifies tout au long du travail.
En effet, le changement des types dans une structure de donnes dun langage fortement
typ peut entraner des modifications consquentes et avoir des rpercussions sur une grande
partie de limplmentation.
1.2.3 Modle objet
La prsence ou labsence dun modle objet dans le systme, spcifie la possibilit
de crer de nouvelles classes dobjets, que ce soit en utilisant un modle classe-instance,
prototype-instance ou autre. La simple inversion syntaxique de Tcl, permettant par exemple
de dclencher une fonction pr-dfinie sur un objet, ne sera pas considre comme une caractristique oriente objet. Car mme si cela peut tre assimil un appel de mthode,
labsence de modle objet de ce langage est tout de mme bien relle.
[1]

O USTERHOUT J.K., Tcl and Tk Toolkit (1994).

133

Chapitre V. Implmentation dOFR

1.3 Conclusion
Aprs avoir identifi les diffrences entre langages systme et langages de script, et aprs
avoir mis en vidence les caractristiques des langages de script, nous allons tablir une
liste de critres permettant une comparaison des diffrents langages de script existants. Cette
valuation nous permettra de choisir le langage le plus adapt notre tude.

2 Critres de choix pour un langage de script


Tout au long du dveloppement dOFR, nous avons souhait que le rsultat final soit
utilisable et permette lintgration des divers programmes ncessaires la ralisation de notre
plate-forme dvaluation. Cette possibilit de combinaison de composants de base, ddis
la ralisation dun tche prcise, rduit le temps de dveloppement. Nous avons toujours
essay de garder prsent lesprit ce souci de rutiliser des composants existants afin de ne
pas investir du temps inutilement dans des problmes dj rsolus.
Nous nous sommes donc orients vers un dveloppement par regroupement de composants ce qui implique lutilisation dun langage de script. Toutefois, en plus de cette intgration, le langage de script doit aussi nous permettre deffectuer des traitements de haut niveau,
voire dimplmenter une partie de lalgorithmique ncessaire. Dans cette optique, il est donc
important que linterprte ne nuise pas la qualit et lefficacit globale du produit. Cependant, les performances pures ne sont pas un souci primordial, mme si elles doivent rester
correctes, permettant ainsi deffectuer des tests sur des cas rels.

2.1 Efficacit et fiabilit


Le langage doit tre efficace en termes de ressources, mais aussi de consommation mmoire et de vitesse dexcution. Toutefois, les langages interprts ne peuvent pas rivaliser
en terme de vitesse dexcution avec des langages compils, comme C ou C++. Pour pallier
un manque defficacit, un endroit bien dtermin, le langage doit permettre doptimiser
la partie de code identifie et de la remplacer par une ou plusieurs fonctions quivalentes
crites dans un langage compil comme le langage C.
Plus spcifiquement encore, il est important que ce langage possde des fonctionnalits
de haut niveau, en ce qui concerne la gestion de la mmoire, afin dviter au programmeur
davoir grer la mmoire comme dans le cas des langages systme. Il doit donc intgrer un
ramasse-miettes (garbage collector ).

2.2 Environnement de dveloppement


Lintrt majeur des systmes de script rside dans leur aptitude rduire les temps de dveloppement. Un schma de dveloppement classique comprend un grand nombre de cycles

134

2. Critres de choix pour un langage de script

dition / Compilation / Excution, dans lesquels le programmeur fait une modification ou


une correction et en observe leffet.
La fiabilit et lefficacit dun programme ne relvent pas uniquement du langage dans
lequel il est crit. Les conditions dans lesquelles il est dvelopp et test sont elles aussi
cruciales. Que ce soit pour le programmeur principal ou pour les utilisateurs occasionnels,
lenvironnement de dveloppement du langage choisi doit tre complet. La prsence dun
dbogueur symbolique est indispensable. Les dbogueurs symboliques permettent de suivre
le droulement dun programme daprs ses sources, durant son excution. Ils autorisent
aussi la consultation des variables daprs leur nom.
Un autre point important est la prsence dune bonne bibliothque de fonctions prdfinies. La prsence dditeurs ou dun mode ddition adapt au langage est souhaitable.
Une autre fonctionnalit, prsentant un intrt non ngligeable, est la possibilit de faire
un test de performance (profiling ). Ceci permet de mettre en vidence le temps pass dans
chacune des fonctions, et den dduire les zones de programme optimiser, pour gagner de
manire significative en temps dexcution.

2.3 Extension possible


Pour tre utilis dans le but dajouter des fonctions ou fonctionnalits au langage existant,
le langage interprt doit permettre un bon interfaage avec un langage du type systme
comme le langage C. Lappel depuis les modules additifs des fonctions primitives crites
en C doit rester simple. Le passage dventuelles structures de donnes entre le langage
interprt et le C doit seffectuer le plus naturellement possible.
Deux mthodes diffrentes peuvent tre utilises afin dajouter des fonctionnalits un
langage de script :
si lon dispose du code source du langage, il est alors possible den compiler une
nouvelle version en y ajoutant les services souhaits. Ceci produira un nouveau programme, enrichi de nouvelles fonctions ;
si le langage choisi le permet, de charger dynamiquement une librairie contenant les
extensions souhaites.
La deuxime solution est prfrable car, dans le cas o lon souhaite intgrer une version
plus rcente de la librairie, le travail ncessaire est moindre. De plus, il nest pas obligatoire
de disposer des sources du langage pour effectuer cette tche, mme si lon peut disposer
facilement du code source des diffrents langages de script que nous avons tudis.

2.4 Sauvegarde des donnes dans le langage


Parmi les avantages dun langage de script figure celui de pouvoir effectuer la sauvegarde
de donnes dans le langage lui-mme, vitant par l-mme limplmentation dun format de
sauvegarde particulier et/ou dun analyseur syntaxique pour la relecture des donnes. Cette

135

Chapitre V. Implmentation dOFR

possibilit, mme si elle parat anecdotique, permet une conomie importante en termes de
dveloppement, surtout dans le cas de la sauvegarde de structures de donnes complexes.
Cette possibilit sest avre trs intressante pour sauvegarder la structure des grammaires de graphes. La srialisation Java prsente lintrt de fournir un mcanisme de sauvegarde des donnes. Mais on soulignera toutefois que la srialisation en XML nest pas
encore standard, et la srialisation en binaire prsente linconvnient de ne pas tre compatible si lon modifie les champs de la classe considre. Cela rend donc cette solution fragile
aux modifications et volutions du programme.

2.5 Une interface graphique


Enfin, dans loptique de mettre en place une plate-forme de tests pour les diffrents dveloppements effectus, la ralisation dune interface graphique est souhaitable. Le langage
de script doit donc permettre laccs une bote outils graphiques (graphical toolkit ).
Une des fonctionnalits que doit fournir cette bote outils graphiques, est la possibilit
davoir accs un objet permettant la visualisation et la manipulation de graphiques en deux
dimensions (canvas ).
La prsence dun tel composant nous a permis une visualisation directe des rsultats de la
reconnaissance des caractres (symboles reconnus et position), de la construction du graphe
de donnes, et mme la visualisation de la rcriture du graphe par applications successives
des rgles de la grammaire.

3 Une comparaison des langages de script


Aprs avoir ralis cette liste de critres, nous avons cherch un langage sy conformant
le plus parfaitement possible. Le comparatif du tableau montre les diffrents langages interprts auxquels nous nous sommes intresss, et les critres que nous avons valus. Seuls
les plus proches de nos critres ont t retenus.

3.1 Langages de script tests


Langages fonctionnels :
STk [?][1] est un systme dvelopp par Erick Gallesio. Cest un interprteur Scheme
conforme la norme R4RS qui utilise la bote outils Tk. STk peut tre vu comme
un interprte Tcl/Tk, dans lequel on a remplac Tcl par un interprte Scheme compatible, cest dire quaucune modification nintervient dans le noyau Tk, bien que
celui-ci fasse appel directement linterprte Tcl. Toutefois, cest son modle objet
qui donne STk son originalit et son intrt.
[1]

136

G ALLESIO E., Stklos : A scheme object-oriented system dealing with the tk toolkit (1994).

3. Une comparaison des langages de script

Guile [?][1] est un dialecte Scheme dvelopp par la (Free Software Foundation ).
Le but de ses travaux est de fournir un interprte embarqu la communaut UNIX.
Guile est trs peu utilis par la communaut de dveloppeurs. Mme les projets
GNU, comme Gimp, qui embarque un interprte Scheme, ne lutilisent pas. Ce
manque de participants la vie du langage nous parat un obstacle important son
utilisation. Cest pourquoi nous ne lavons pas retenu pour nos dveloppement.
Klone [?][2] est un dialecte Lisp trs proche de Common Lisp. La documentation est accessible en ligne sous linterprte ou sous forme hyper-texte. Les performances de linterprte Klone sont trs bonnes, comme le montre le tableau comparatif page 139. On peut aussi noter la prsence dun dbogueur avec retour aux
sources, bien plus labor que ceux dautres langages de script. Toutes les fonctions
systme sont disponibles et les bibliothques sont assez riches. Une bote outils
graphiques, base sur Motif, est disponible et t ajoute Klone par Jean-Michel
Lon [?][3] (voir paragraphe 4.2).
Langages procduraux :
Tcl/Tk [?][4] est le langage de script le plus populaire et certainement le plus utilis, dans le monde Unix au moins, mme si cette popularit tend sestomper. Il
a t dvelopp par John K. Ousterhout, de lUniversit de Berkeley en Californie, vers la fin des annes 1980. Il est bas sur le langage Tcl et la bote outils
Tk. Tcl est un langage similaire aux shells Unix, dont lunique type manipul est la
chane de caractres. Cela signifie que chaque valeur, chaque identificateur, chaque
rsultat dune valuation est une chane. Ceci induit deux consquences. La premire est quil est trs simple de dvelopper dans ce langage. Mais en contrepartie,
les performances deviennent rapidement catastrophiques ds lors que lon manipule
des nombres, et les structures de donnes sont assez limites. Mme si, rcemment,
lintroduction dune phase de pr-compilation transparente pour le programmeur a
permis de pallier une partie de cette inefficacit du langage, il nen reste pas moins
plus lent que la plupart de ses concurrents. On peut toutefois noter que Tcl/Tk est
disponible sur Windows, Macintosh et Unix.
Langages orients objets :
Python [?][5] est un langage de script orient objet. Il a t dvelopp par Guido
van Rossum du CWI Amsterdam, mais est maintenant gr par un Consortium.
Une trs large communaut de programmeurs a adopt ce langage. Il a t conu
pour linterface avec C ou C++. Seule sa syntaxe avec une indentation significative
[1]
[2]
[3]
[4]
[5]

G ALASSI M., Guile User Manual (1996).


NAHABOO C., Klone Reference Manual (1995).
L ON J.M., Contribution la Simplification des Botes Outils Graphiques : Application aux Langages
de Scripts, PhD Thesis (1995).
O USTERHOUT J.K., Tcl and Tk Toolkit (1994).
Python Reference Manual (1999).

137

Chapitre V. Implmentation dOFR

qui remplace, pour lcriture de structures de contrle, lutilisation de dlimiteurs


de blocs, est un peu droutante. Dsormais, une trs large communaut a contribu
lcriture de modules pour Python, ce qui en fait maintenant un langage avec
une bibliothque trs importante et bien structure. Il est souligner que ce ntait
pas le cas lors du choix du langage pour limplmentation dOFR ; le langage nen
tait qu ses balbutiements. Aujourdhui, Python nous semble un trs bon candidat.
Plusieurs botes outils graphiques sont disponibles (Tk, wxWindows par exemple).
Python est aussi disponible sous Windows.
Perl [?][1] est aussi un langage de script orient objet. L aussi, malgr une bonne
efficacit et un interfaage avec C assez facile, la syntaxe reste le point faible. Les
programmes Perl sont peu lisibles, ce qui est trs gnant pour assurer une bonne
volutivit du code. La communaut de dveloppeurs Perl est trs grande, mais
lutilisation est souvent limite de petits scripts, et son utilisation pour des projets
plus gros est plus contestable.
Nous mentionnerons aussi dautres langages de script que nous navons pas retenu pour
notre comparatif, en expliquant, pour chacun, le point qui nous semblait un obstacle majeur
son utilisation.
Visual Basic : il est uniquement disponible sous Windows et cest un produit commercial. De plus, sur un systme comme Windows, assez peu de composants gratuits sont
disponibles. Tous les systmes de reconnaissance de caractres sont payants, et il est
impossible dobtenir une documentation sur limplmentation ou bien encore le code
source dune application, afin dy rajouter les ventuelles fonctionnalits manquantes.
Tous ces problmes font de Windows un environnement trop ferm pour une activit
de recherche.
Java Script : assez peu dimplmentations sont disponibles, et le manque de bibliothques standards proposes avec ce langage nous semble un frein important son
utilisation.

3.2 Conclusion
Les critres ports dans ce tableau sont un rcapitulatif des diffrentes fonctionnalits
que nous venons de dcrire et qui nous parassent importantes pour un langage de script.
Efficacit
GC
Bibli.
Ext.
GUI

[1]

138

Lexcution est-elle rapide pour un langage de script ?


Dispose-t-il dun ramasse-miettes ?
Les bibliothques fournies avec le langage sont-elles riches ?
Est-il possible de charger dynamiquement une librairie ?
La bote outils supporte : Tk, Motif, wxWindows, . . .

S CHWARTZ L. & S CHWARTZ R., Programming Perl (19950-93).

4. Choix dun langage

Plus le nombre dtoiles est important, plus le critre est considr comme de bonne
qualit. Labsence dtoile signifie que la caractristique nest pas prsente.
Nom Efficacit
STk
**
Guile
*
Klone
***
Tcl
*
Python
**
Perl
**

GC
*
*
*
*

Bibli. Ext.
GUI
**
*
Tk
**
*
Tk
***
*
Motif
***
*
Tk
***
*
Tk, wxWin
***
*
Tk

Dautres critres plus subjectifs ont aussi t pris en compte, comme la facilit de debogage du langage avec la prsence ou non dun dbogueur symbolique, la qualit de la
documentation, la communaut des utilisateurs, etc.

4 Choix dun langage


Linterprte Lisp Klone nous a paru tre le choix le plus adapt nos besoins. Nous
disposons, de plus, dun excellent support technique car Klone est activement dvelopp au
sein de lquipe KOALA sur le site mme de lINRIA Sophia-Antipolis. Ce dernier critre
a aussi beaucoup compt dans notre choix. Les conclusions sur lemploi dun langage de
script, et plus particulirement sur lutilisation de Klone, sont donnes dans le paragraphe
suivant.

4.1 Klone
Lisp prsente plusieurs avantages, en particulier sa syntaxe trs homogne. Certains ont
pourtant regrett sa lisibilit mdiocre. Le nombre lev de parenthses et une indentation
mal standardise sont les points qui rebutent le plus les novices. Heureusement, le Lisp est
largement connu au sein de la communaut scientifique, peut-tre du fait de son anciennet
(le Lisp, apparu en 1964, est le rsultat des travaux de Mc Carthy).
Le langage Klone [?][1] est le descendant de WOOL, un dialecte de Lisp utilis dans GWM
(Generic Window Manager ), un gestionnaire de fentres programmable et personnalisable.
Dvelopp depuis 1988 WOOL a t trs utilis et dbogu par la communaut des utilisateurs de GWM. Klone a aussi servit de base de nombreux dveloppements, dont certains
caractre industriel, par lentreprise BULL, ce qui dmontre sa fiabilit et son efficacit.
titre de comparaison pour lefficacit, le parseur XML de Klone est plus rapide que celui de
Java. Cela peut-tre nuanc par le fait que limplmentation Klone est base sur lutilisation
[1]

NAHABOO C., Klone Reference Manual (1995).

139

Chapitre V. Implmentation dOFR

dexpressions rgulires qui sont optimises, ce qui nest pas le cas de Java qui ne les intgre
pas en standard.
En choisissant Klone, nous disposons tout dabord dun langage de script performant,
qui permet une intgration facile des diffrents composants ncessaires notre ralisation.
Mais il sest aussi avr que linterprte Klone est assez performant pour grer limplmentation dOFR. Dans un souci dhomognit, nous avons donc dcid demployer Klone
non seulement pour servir de lien entre les diffrents composants, mais aussi comme le langage de dveloppement de lalgorithmique lie la reconnaissance structurelle des formules
mathmatiques. Il est incontestable que ce choix nous a permis de faire des conomies en
termes de temps de dveloppement, ainsi que dans la quantit de code crire ; la qualit et
labondance des bibliothques fournies ont aussi t trs apprcies.
Lenvironnement de dveloppement est de bonne qualit, mme si le dbogueur nest pas
encore aussi confortable que celui disponible pour le langage C. Nous avons tout particulirement apprci la documentation en ligne, disponible depuis linterprteur. Le mcanisme
dautodoc permet aussi dintgrer ses propres fonctions au systme de documentation, ce qui
est un plus incontestable.
Il semble donc que lemploi dun langage de script et plus particulirement de Klone se
soit rvl un bon choix pour nos travaux.

4.2 Klm : une extension graphique de Klone


Lextension graphique de Klone, dveloppe par Jean-Michel Lon [?][1] et baptise Klm,
nous permet davoir accs une bote outils graphiques. Outre les composants standards de
Motif (boutons, menus, etc.), lauteur a ajout un nouveau composant graphique ou widget
(widget : WInDow GadgET ) permettant lintgration des graphiques deux dimensions. Ce
nouveau service nous aura t trs utile pour la mise au point des algorithmes graphiques
concernant la dtection des relations entre les symboles composant une expression.
Afin de convaincre le lecteur de lconomie de programmation ralise en choisissant
un langage de script pour implmenter galement la partie graphique, voici un exemple ; il
concerne laffichage dune valeur entire dans un label Motif. Le code C permettant cette
action est le suivant :
void SetIntegerValue(Widget label, int n)
{
Arg arg ;
[1]

140

L ON J.M., Contribution la Simplification des Botes Outils Graphiques : Application aux Langages
de Scripts, PhD Thesis (1995).

4. Choix dun langage


XmString xmvalue ;
char svalue[16] ;
sprintf(svalue, "%d", n) ;
xmvalue = XmStringCreateSimple(svalue) ;
XtSetArg(arg, XmNlabelString, xmvalue) ;
XtSetValue(label, &arg, 1) ;
XmStringFree(xmvalue) ;

10

Alors quen Klm, le code correspondant scrit tout simplement :


(setq n 1234)
(label :labelString n)

La quantit de code pour effectuer une mme action est moindre en Klm, minimisant
par l-mme les sources derreurs. On peut noter que ce type dconomie ralise nest pas
spcifique Klm mais est commune tous les langages de script que nous avons dcrits dans
ce chapitre.

4.3 Communication avec dautres systmes : OpenMath


Le but de nos travaux tant la ralisation dun prototype de reconnaissance structurelle
dexpressions mathmatiques, il nous a t ncessaire de mettre en place une structure de
donnes de type arborescente, pour stocker les rsultats obtenus. Une classification des
objets mathmatiques a t dveloppe dans [?][1] . Mme si ce type de reprsentation est
intressant, il ne rsout pas le problme de communication des objets mathmatiques entre
diffrentes applications. Des travaux rcents sur le sujet ont conduit la cration dune librairie standard pour rsoudre ce type de problmes.
Le projet europen Esprit 24.969 intitul OpenMath (OpenMath : Accessing and Using
Mathematical Information Electronically ) a pour but la dfinition dun standard de communication dobjets mathmatiques et la ralisation dun certain nombre dapplications lutilisant. Parmi ces applications, sont prvus des outils de consultation de documentations techniques et de bases de donnes darticles mathmatiques , des versions de systmes de calcul
formel Axiom et GAP utilisant OpenMath, et des logiciels denseignement distance travers le Web. Diffrents partenaires contribuent ce projet dont lINRIA, NAG (fournisseur
de logiciels de calcul scientifique), Springer-Verlag (diteur scientifique). Le lecteur pourra
consulter le site officiel sur OpenMath ladresse suivante :
http ://www.nag.co.uk/projects/OpenMath.html.
[1]

T OUMIT J., G ARCIA -S ALICETTI S. & E MPTOZ H., A hierarchical and recursive model of mathematical
expressions for automatic reading of mathematical documents (1999).

141

Chapitre V. Implmentation dOFR

LINRIA, par lintermdiaire des projets SAFIR et CAFE, est intervenu principalement
dans la dfinition, la conception et lcriture des bibliothques (en C et Java) dOpenMath.

Programme A

Programme B

Reprsentation
spcifique A

Reprsentation
spcifique B

Dictionnaire de
traduction B

Raccourci possible

Objet OpenMath

Objet OpenMath

Encodage OM

Couche de Transport

Objet Encod

Objet Encod
(XML ou binaire)

Couche communication

Encodage OM

Couche abstraite

Dictionnaire de
traduction A

Couche prive

Larchitecture dOpenMath est dcrite laide de la figure 2 et rsume bien les interactions entre les diffrents composants OpenMath. Comme le montre la figure 2 ci-dessous, il
y a trois niveaux de reprsentation pour un objet mathmatique.

F IG . 2 Architecture dOpenMath
La couche prive est la reprsentation interne utilise par lapplication. La couche abstraite est la reprsentation de lobjet mathmatique en tant quobjet OpenMath. La troisime
est la couche de communication, qui permet de transformer un objet OpenMath en un flux
doctets. Typiquement, une application manipule en interne sa propre reprsentation des objets mathmatiques, elle peut les convertir en objets OpenMath et les transmettre dautres
applications, en les convertissant en flux de donnes.
Les objets OpenMath sont la reprsentation dentits mathmatiques qui peuvent tre
transmises tout en conservant leur smantique. Des dictionnaires (CD : Content Dictionaries ) sont utiliss pour assigner la smantique formelle o informelle chacun des symboles
constituant lexpression mathmatique que lon souhaite transmettre.
La possibilit dajouter de nouvelles fonctions implmentes en C linterprte Klone
[?] nous a permis de bnficier des fonctionnalits de la librairie OpenMath. La communication vers dautres systmes tait, en effet, fondamentale dans loptique de se servir dOFR
[1]

[1]

142

NAHABOO C., Klone C Interface Manual (1994).

5. Implmentations

comme dune interface pour un systme de calcul formel, ou tout simplement pour communiquer les rsultats obtenus. Lajout de la librairie OpenMath seffectue par chargement
dynamique dans linterprte Klone.

5 Implmentations
Limplmentation dIrma, qui renferme le composant OFR, reprsente environ 15.000
lignes de Klone. Elle peut se subdiviser en plusieur catgories :
lanalyse des donnes fournies par lOCR manuscrit ou typographi (1500 lignes),
lanalyse gomtrique (4500 lignes),
lanalyse syntaxique laide de la grammaire de graphes (6500 lignes),
la communication openmath (1000 lignes),
linterface graphique (1000 lignes).
Le composant OFR est constitu de lanalyse gomtrique et de lanalyse syntaxique laide
de la grammaire de graphe.
La possibilit de sauvegarder un certain nombre de donnes dans le langage de script
lui-mme, a permis dconomiser la spcification dun format pour les donnes, ainsi que
lcriture de morceaux de programmes pour la gnration et la relecture des donnes. Cest
par exemple le cas de la grammaire de graphes.

6 Conclusion
Dans le cadre dun travail de recherche, il nest pas toujous possible dinvestir assez de
temps pour assurer la portabilit dans tous les environnements de dveloppement. Un autre
avantage davoir utilis un langage interprt est que, si linterprte est disponible sur une
autre plate-forme, il nest pas ncessaire de consacrer du temps la portabilit du code. Cest
le cas de Klone, donc OFR est aussi disponible sous plusieurs environnements (comme Unix
et Windows). Toutefois, on notera que lextension graphique Klm ne marche que sous Unix ;
on perdra donc linterface de contrle sous lenvironnement Windows.
Comme nous lavons prsent dans ce chapitre, nous avons tir plusieurs avantages
utiliser un langage de script comme Klone. Au moment du choix dun langage pour limplmentation, lutilisation dun langage de script, et de Klone en particulier, est apparue comme
intressante par rapport aux autres langages cits dans ce chapitre. Nous avons pu en tirer
plusieurs avantages, comme la possibilit de sauvegarder des structures de donnes de haut
niveau trs facilement. La possibilit de manipuler et de programmer certains algorithme
dans un langage compil et efficace comme C, mme si nous ne lavons pas exploite, nen
ai pas moins ngligeable. Toutefois, au jour de la rdaction, la situation a beaucoup change.

143

Chapitre V. Implmentation dOFR

Lengouement pour Java ainsi que ses performances tout fait intressantes, la portabilit
sur la plupart des systmes et les nombreuses biliothques disposition, nous conduisent
penser que Java est actuellement un choix incontournable. Nous recommenderions toutefois
de ne pas ngliger laspect langage de script qui prsente beaucoup davantages. Plusieurs
solutions sont alors possibles : DynamicJava, Rhino, Iava, JPython, etc.
Lutilisation dun langage de script nous a permis un gain de temps considrable en
termes de dveloppement. Le principal gain est surtout d la possibilit dintgrer des
programmes extrieurs notre application, et en particulier un logiciel de reconnaissance
des caractres typographis ou manuscrits. Nous naurions pas pu tester ces diffrents cas
sans cette possibilit.

144

Conclusion

Nous avons prsent dans ce mmoire : la conception, la ralisation et lutilisation


dOFR, un composant de reconnaissance structurelle de formules mathmatiques. Intgrable dans une application, OFR est au cur de Irma, un prototype de reconnaissance
dexpressions mathmatiques typographies et manuscrites. Aujourdhui, la saisie des notations mathmatiques pour une manipulation informatique est encore plus importante que par
le pass. Lun des principaux facteurs de cette expansion est, entre autres, lutilisation croissante des systmes de calculs formels avec des champs dapplication de plus en plus larges.
Les utilisateurs de ces systmes, ou bien encore dditeurs de documents scientifiques, sont
de plus en plus nombreux et appartiennent des milieux trs divers. Paradoxalement, mme
si des systmes comme Maple ou Mathematica sont maintenant utiliss par le plus grand
nombre, trs peu defforts ont t fournis sur la qualit des interfaces, en particulier sur les
modes de saisie des expressions mathmatiques. Ce constat est identique dans le domaine
de ldition de documents mathmatiques, o des outils comme LATEX sont rservs des
utilisateurs avertis. Un tel dficit de linterface homme-machine en terme dergonomie peut
considrablement ralentir lutilisateur expriment, et bien souvent rebuter le nophyte. Ce
constat, qui a motiv nos travaux, est encore vrai lheure de leur conclusion. Le composant
OFR et linterface exprimentale qui a servi sa validation peuvent donner un avant-got
des possibilits de rcupration ou ddition des expressions mathmatiques.
Le dveloppement dune plate-forme dexprimentation pour valuer nos ides en matire de reconnaissance structurelle des expressions mathmatiques, nous a conduit tudier les systmes didentification des symboles typographis et manuscrits usits dans les
notations mathmatiques. Nous avons souhait, dans la mesure du possible, rutiliser des

145

Conclusion

composants logiciels existants effectuant cette tche, ncessaire notre tude.


Labsence dun tel composant, dans le cas typographi sest rapidement impose. Nous
avons donc t contraints la ralisation dun systme de reconnaissance des symboles utiliss dans les notations typographies. Mme si celui-ci nimplmente pas tous les traitements
dimages souhaitables, comme le nettoyage ou la rorientation, lensemble des fonctionnalits indispensables est prsent. De nouvelles exprimentations devraient avoir lieu, notamment dans le domaine de la correction derreurs ou bien encore de la recherche dinformations smantiques. Pour faciliter de telles expriences, il nous a sembl judicieux de fournir
aux futurs intervenants la base logicielle qui nous a fait dfaut. Notre systme de reconnaissance des symboles typographis a t conu en gardant cet objectif prsent lesprit.
Certaines de ses caractristiques en sont le reflet, comme la possibilit dajouter de nouveaux
symboles lensemble des symboles dj connus par le systme.
Nos recherches ont t plus fructueuses dans la cas manuscrit, o nous avons pu bnficier du travail de lquipe allemande de lUniversit de Duisburg, dirige par le professeur
Gerhard Rigoll. Leur systme, mme sil reste quelque peu incomplet du point de vue de
notre architecture, effectue la segmentation et la reconnaissance de symboles employs dans
les notations mathmatiques. Cette collaboration a permis une exprimentation de notre
mthode de reconnaissance structurelle des expressions mathmatiques, dans le cadre de
notations manuscrites.
OFR est le composant logiciel que nous avons dvelopp afin deffectuer une reconnaissance structurelle des notations mathmatiques. La mthode que nous avons tudie et enrichie est base sur lutilisation de grammaires de graphes. Plusieurs exprimentations doivent
tre effectues, et ce composant doit donc tre capable de sadapter au plus grand nombre,
tant au niveau des outils utiliss pour effectuer la reconnaissance des caractres, que du type
de notations identifiables par le systme. Ces caractristiques ont bien entendu influenc le
dveloppement sur plusieurs points.
Lun des choix architecturaux que nous avons t amens faire est celui dutiliser un langage nous permettant la fois une intgration des diffrents composants logiciels, et un dveloppement rapide et volutif de la mthode retenue, base de grammaires de graphes. Lutilisation dun langage de script sest impose en raison de ses nombreux avantages, comme
les structures de donnes de haut niveau, lintgration dautres composants, la sauvegarde de
donnes dans le langage lui-mme, etc.
Un des points forts dOFR est sa capacit dadaptation, non seulement diffrents types
de logiciels qui effectuent la reconnaissance des symboles (typographis ou manuscrits),
mais aussi et surtout au type de notations reconnues par le systme. Cest, en effet, un des
points les plus novateurs dans le domaine, la plupart des systmes existants tant ferms et
ne permettant pas dajouter une nouvelle notation identifier. Ils sont limits des notations
de type linaire et leur extension lidentification de notations rellement bidimensionnelles
comme les matrices nest pas possible. Notre approche, base sur une analyse bidimension-

146

nelle des expressions mathmatiques, est subdivise en deux tapes : une analyse lexicale et
une analyse syntaxique. Chacunes de ces deux analyses peut tre paramtre, ce qui permet
ladaptation du systme aux besoins particuliers. La reconnaissance dune nouvelle notation
mathmatique seffectue en ajoutant une rgle la grammaire de graphes. Cette souplesse
permet dadapter assez rapidement le systme ses propres besoins.
Enfin, il nous reste voquer le mcanisme de transmission des rsultats, avec lutilisation dOpenMath. Toujours dans un souci dintgration de composants ddis, nous avons
inclus ce protocole de communication des objets mathmatiques Klone. Cette librairie,
dveloppe dans le cadre dun projet europen, permet la communication des objets mathmatiques, tout en conservant la smantique des lments constituant la formule. Plusieurs
systmes de calculs formels intgrent dj cette librairie, comme Mathematica par exemple,
ce qui permet donc denvisager une diffusion des rsultats issus de la reconnaissance
un grand nombre de systmes. Entre autres applications, nous avons envisag lutilisation
dOFR en tant quinterface la saisie dexpressions mathmatiques.
Plusieurs problmes subsistent ou nont pas pu tre abords lors de ces recherches. On
pourra citer lintgration la grammaire de graphes dune possibilit de corriger les erreurs dues au logiciel de reconnaissance des caractres, et donc davoir un rtro-contrle sur
lidentification des symboles dans la mthode danalyse de la syntaxe. Toutefois, ce type de
corrections ne pourra pas tre aussi efficace que dans le cas de la reconnaissance de textes, le
redondance des informations ntant a priori pas suffisante pour une correction automatique
de tous les types derreurs.
La csure est utilise dans le cas o lexpression est plus large que la page sur laquelle
elle est imprime ou bien, dans le cas dune saisie manuscrite, si la surface de saisie nest pas
suffisante. Ces diffrents cas de figures, qui ne sont pas pris en compte par notre mthode,
nont pas t analyss dans les diffrents travaux que nous avons rfrencs. Il est pourtant
important dintgrer cette possibilit une application concrte. On soulignera donc la ncessit dtudier lanalyse correcte des expressions scindes sur plusieurs lignes.
Si les actions de lecture, de reconnaissance et dinterprtation des notations mathmatiques peuvent sembler simples et naturelles pour un lecteur humain, il savre que ces activits sont difficiles dcrire et formaliser au sein dune application informatique. Nous avons
prsent dans ce mmoire la mthode base sur lutilisation dune grammaire de graphes et
sur larchitecture logicielle mise en place pour effectuer des tests dans les cas dexpressions manuscrites et typographies. Cette approche globale du problme de reconnaissance
des expressions mathmatiques permet la reconnaissance non seulement des notations du
type quations, mais aussi des formes bidimensionnelles comme les notations matricielles.
Lintroduction de linterprtation smantique et la communication des rsultats permettent
galement de faire de loutil dvelopp une relle plate-forme dexprimentation.

147

Conclusion

148

Annexe A
Exemple de reconnaissance dune formule
avec Irma

149

Annexe A. Exemple de reconnaissance dune formule avec Irma

F IG . 1 Irma : Symboles reconnus par lOCR

150

(a) Construction du graphe initial

(b) Regroupement du symbole i ( et )

(c) Regroupement du symbole i ( et )

(d) Regroupement du symbole dgalit

(e) Regroupement du symbole dgalit

(f) Regroupement du symbole factoriel


(| et )

F IG . 2 Reconnaissance de la notation n! =

n


i=1

151

Annexe A. Exemple de reconnaissance dune formule avec Irma

(a) Rgle factorielle

(b) Rgle galit

(c) Rgle produit

(d) Rgle galit

F IG . 3 Reconnaissance de la notation n! =

n

i=1

152

i (suite)

Annexe B
Varit des symboles

Cette annexe prsente lensemble des symboles (principalement de LATEX) qui sont utiliss dans les textes mathmatiques. Pour une plus grande clart, ils ont t classs par catgories. Les caractres les plus couramment utiliss et reconnus dans le cadre de lanalyse de
texte (une soixantaine), sont regroups afin de bien souligner la faible proportion quils reprsentent par rapport lensemble des symboles potentiellement utiliss dans les notations
mathmatiques (200 symboles supplmentaires, soit un total de plus de 250 symboles).

1 Exemples de polices et de variations


Les symboles peuvent tre typographis dans diffrentes fontes, chacun pouvant avoir
subit une variation (italique, gras, etc). Voici quelques exemples de fontes et de variations.
Texte standard : abcdef ABCDEF 01234 ,. ! 
Texte italique : abcdef ABCDEF 01234 ,. ! 
Texte gras : abcdef ABCDEF 01234 ,. ! 
Texte sans-serif : abcdef ABCDEF 01234 ,. ! 
Texte Courier : abcdef ABCDEF 01234 ,. ! 
Texte Roman : abcdef ABCDEF 01234 ,. ! 
T EXTE PETITES MAJUSCULES : ABCDEFGHIJKLMNOP ABCDEF

153

Annexe B. Varit des symboles

Texte italique droit : abcdef ABCDEF 01234 ,. !


Texte Caligraphique : ABCDEF GHIJ KLMN OP
On peut rencontrer plusieurs variations au sein dune mme formule. Les fonctions du
type sinus, cosinus, logarihtme, etc, sont trs souvent en fonte normale alors que les variables
sont en italique.
sin2 + cos2 = 1

2 Symboles textuels les plus courants


2.1 Alphabet latin
a
b
c
d
e
f
g

h
i
j
k
l
m
n

o
p
q
r
s
t

u
v
w
x
y
z

TAB . 1 Lettres latines minuscules


A
B
C
D
E
F
G

H
I
J
K
L
M
N

O
P
Q
R
S
T

U
V
W
X
Y
Z

TAB . 2 Lettres latines majuscules

2.2 Accentuations
acute ` grave hat ddot
TAB . 3 Accentuations

154

3. Symboles mathmatiques les plus courants

2.3 Chiffres
0 1

2 3

4 5

6 7

8 9

TAB . 4 Chiffres

2.4 Ponctuations
. ,

TAB . 5 Ponctuations

3 Symboles mathmatiques les plus courants


3.1 Alphabet grec

alpha
beta
gamma
delta
epsilon
varepsilon
zeta
eta

theta
vartheta
iota
kappa
lambda
mu
nu
xi

o
pi
varpi
rho
varrho
sigma
varsigma

tau
upsilon
phi
varphi
chi
psi
omega

TAB . 6 Lettres grecques minuscules

155

Annexe B. Varit des symboles

Gamma Lambda Sigma


Psi
Delta Xi
Upsilon Omega
Theta Pi
Phi
TAB . 7 Lettres grecques majuscules

3.2 Oprateurs mathmatiques

pm
mp
times
div
/
ast
cdot

cap
cup
 uplus
sqcap
# sqcup
vee
wedge

\


!




setminus
diamond
bigtriangleup
bigtriangledown
lhd
rhd
unlhd

"
$
'

oplus
ominus
otimes
oslash
odot
amalg

|=

|
1
!"
1
#
$

models
perp
mid
parallel
bowtie
Join
smile
frown

TAB . 8 Oprateurs binaires


4

leq
prec
preceq
ll
subset
subseteq
sqsubset
sqsubseteq
in
vdash

*
.
/


5
6
9

geq
succ
succeq
gg
supset
supseteq
sqsupset
sqsupseteq
ni
dashv


0

=

=
.
=

equiv
sim
simeq
asymp
approx
cong
neq
doteq
propto

TAB . 9 Oprateurs relationnels

156

3. Symboles mathmatiques les plus courants

%
'
)


leftarrow
Leftarrow
rightarrow
Rightarrow
leftrightarrow
Leftrightarrow
mapsto
hookleftarrow
leftharpoonup
leftharpoondown
rightleftharpoons

R
&
(
*
;

longleftarrow
Longleftarrow
longrightarrow
Longrightarrow
longleftrightarrow
Longleftrightarrow
longmapsto
hookrightarrow
rightharpoonup
rightharpoondown
leadsto

@
Q
S
T
U
V

uparrow
Uparrow
downarrow
Downarrow
updownarrow
Updownarrow
nearrow
searrow
swarrow
nwarrow

TAB . 10 Flches

j
0

aleph
hbar
imath
jmath
ell
wp
Re



X

Im
mho
prime
emptyset
nabla
surd
[ top

bot
|
angle
forall
exists
neg
flat

+

\

natural
sharp
backslash
partial
infty

TAB . 11 Symboles divers








sum
 bigcap
prod
 bigcup
coprod  bigsqcup
int
bigvee
oint
bigwedge






bigodot
bigotimes
bigoplus
biguplus
sqrt

TAB . 12 Symboles de taille variable

157

Annexe B. Varit des symboles

(
[
{
]
_
a
|

left(
left[
left{
lfloor
lceil
langle
vbar

)
]
}
^
`
b
1

right)
right]
right{
rfloor
rceil
rangle
dbvbar

TAB . 13 Dlimiteurs

hat
check
breve
acute

!"#$ overbrace
grave dot
tilde ddot
#$!" underbrace
overline
bar
vec
underline
TAB . 14 Accentuations

158

Annexe C
Un document de test

Cette annexe fournit un exemple de document utilis lors du comparatif des performances
sur les rsultats des logiciels pour la reconnaissance des caractres. Cet exemple est issu du
livre [?][1] , chapitre V, page 420.
Ce document est intressant pour nos tests de comparaison des rsultats fournis par les
logiciels de reconnaissance des symboles, car il contient :
des zones de texte,
des titres de paragraphes,
des formules incluses dans une zone textuelle,
des formules isoles,
une grande varit de symboles mathmatiques,
quelques petits et grands symboles.

[1]

Standard Mathematical Tables and Formulae (1996).

159

Annexe C. Un document de test

F IG . 1 Page de test pour la comparaison des rsultats des logiciels dOCR

160

Les resultats obtenus avec le logiciel OmniPage Pro 10, sur cette page de test, montrent
bien que les symboles mathmatiques et les symboles grecs ne sont absolument pas reconnus. De plus, les zones contenant des informations mathmatiques ne sont pas dtectes
comme telles, mais comme du texte que le logiciel narrive pas interprter. La structure du
document (titre de paragraphe, en-tte et pied de page, etc) sont correctement identifis.
420

Chapter 5 Continuous Mathematics

Example For the equation ux + xzuY - -yu with u = f (y) when x = 0, the corresponding
equations are
8x

8y
z
du
8s = 1 8s = x

ds = -Yu.

The original initial data can be written parametrically as x (s = 0, t) = 0, y (s =


0, tl) = tj, and u (s = 0, tj) = f (tj ). Solving for x results in x (s, ti) = s. The equation for y can then be integrated to yield y(s, t,) = 3 + tj. Finally, the equation for
u is integrated to obtain u(s, tl) = f (ti) exp(-i2 - st,). These solutions constitute
an implicit solution of the original system.
In this case, it is possible to eliminate the s and tj variables analytically to obtain
x3
xa
1
the explicit solution: u (x, y) = f (y - 3 ) expC 4 - XY I.

5.7.6 EXACT SOLUTIONS OF LAPLACES EQUATION


1. If Vzu = 0 in a circle of radius R and u(R, 0) = f (O), for 0 _< 0 < 27r, then
u(r, 9) is
1
271
R2 - r2
u (r, B) = 27r f R2 - 2Rr cos(B - 0) + rz f (~) d~.
2. If Vzu = 0 in a sphere of radius one and u(1, B, 0) = f (O, 0), then
1 f7r z"
1 - r 2
u(r, 0, 0) =
f (O, (D)
sin 9d6d(t),
4n ~
(1 - 2r cos y + rz)3/z
where cos y = cos 0 cos O + sin B sin O cos(o - (D).
3. If Vzu = 0 in the half plane y > 0, and u (x, 0) = f (x), then

f(t)y
1
u(x, Y) = n f . (x - t)z + yz dt.
4. If Vzu = 0 in the half space z > 0, and u (x, y, 0) = f (x, y), then
u (x, Y, z) = Z ~~

f (~, 77)

3/z d~ dq.

27C ~ f_ [(x - ~)z -1- (Y - n)z + zz]


5.7.7 SOLUTIONS TO THE WAVE EQUATION
Consider the wave equation ate = Vzu = ax z + + ate, with x = (xi, . . . , xn)
and the initial data u(0, x) = f (x) and ut (0, x) = g (x). When n is odd (and n >_ 3),
the solution is
(n-3)/2
u (t, x) = 1 . 3 . . 1(n - 2) { 8t (t at)
tn-z~~. f x t]
(n-3)/2
+ (t at) to z,)rg> x, t]~~
JJ
(5.7.2)

Lensemble des logiciels tests dans le chapitre IV offrent des rsultats similaires,
quelques petites nuances prs :
erreurs sur la structure du document,

161

Annexe C. Un document de test

plus ou moins derreurs sur la reconnaissance des symboles,


etc.
Quoiquil en soit, les remarques et les resultats prsents pour le logicielOmniPage Pro
10 restent les mmes pour les notations mathmatiques :
non reconnaissance des symboles mathmatiques,
non reconnaissance des symboles de lalphabet grec,
non identification des zones contenant des formules.
Ces remarques nous permettent daboutir la conclusion quaucun des logiciels tests ne
peut tre utilis dans le cadre prcis de nos recherches.

162

163

Rfrences bibliographiques

La bibliographie prsente ici, a t organise en diffrentes parties, afin den faciliter la


lecture. Les rfrences les plus importantes notre sens ont t commentes donnant ainsi un
aperu du contenu de larticle ou du livre cit. Nous esprons que ce travail aidera le lecteur
dans sa recherche dinformations complmentaires.

Analyse dimage
[KJH95]

Tapas Kanungo, M. Y. Jaisimha, and Robert M. Haralick. A Methodology for Quantitative Performance Evaluation of Detection Algorithms. In IEEE Transactions on Image Processing, volume 4
(12), pages 16671674. IEEE Computer Society Press, December 1995.

[KT95]

Rangachar Kasturi and Karl Tombre, editors. Graphics Recognition : Methods and Applications.
Number 1072 in Lecture Notes in Compter Science. Springer-Verlag, 1995.

[LCP90]

Sang Uk Lee, Seok Yoon Chung, and Rae Hong Park. A comparative performance study of
several global thresholding techniques for segmentation . Computer Vision, Graphics, and Image
Processing, 52(2) :171190, November 1990.

[SSWC88] P. K. Sahoo, S. Soltani, A. K. C. Wong, and Y. C. Chen. A Survey of Threhloding Techniques. In


Computer Vision Graphics Image Processing, volume 41, pages 233260. Academic Press, 1988.
[TC97]

Karl Tombre and Atul K. Chhabra, editors. Graphics Recognition : Algorithms and Systems.
Number 1389 in Lecture Notes in Compter Science. Springer-Verlag, 1997.

[WWL92] Wen-Yen Wu, Mao-Jiun J. J. Wang, and Chih-Ming Liu. Performance Evaluation of Some Noise
Reduction Methods . Computer Vision, Graphics, and Image Processing. Graphical Models and
Image Processing, 54(2) :134146, March 1992.

Reconnaissance de motifs et reconnaissance de caractres


[ADPF98] Adnan Amin, Dov Dori, Pavel Pudil, and Herbert Freeman, editors. Advances in Pattern Recognition, volume 1451 of Lecture Notes in Computer Sciences. Springer-Verlag, 1998.

165

Rfrences bibliographiques
[Bai88]

H. S. Baird. Applications of Multidimensional Search to Structural Feature Identification . In


G. Ferrat, editor, Syntactic and Structural Pattern Recognition, volume 45 of F : Computer and
Systems Sciences, pages 137149. Springer-Verlag, 1988.

[BS82]

B. Bartsch-Sprl. Grammatical Inference of Graph Grammars for Syntactic Pattern Recognition.


In Harmud Ehrig, Manfred Nagl, and Grzegorz Rozenberg, editors, Graph Grammars and their
Application to Computer Science, volume 153 of Lecture Notes in Computer Sciences, pages 17.
Springer-Verlag, October 1982.

[Bun86]

Horst Bunke. Hybrid Approaches . In G. Ferrat, T. Pavlidis, A. Sanfeliu, and H. Bunke, editors,
Syntactic and Structural Pattern Recognition, volume 45 of Computer and Systems Sciences, pages
335361, October 1986.

[Bun90]

Horst Bunke. Hybrid Pattern Recognition Methods. In H. Bunke and A. Sanfelui, editors, Syntactic
and Structural Pattern Recognition : Theory and Applications, pages 308347. World Scientific,
1990.

[Bun93]

Horst Bunke. Structural and Syntactic Pattern Recognition. In C. H. Chen, L. F. Pau, and
P. S. P. Wang, editors, Handbook of Pattern Recognition & Computer Vision, pages 163209.
World Scientific, 1993.

[CJ83]

R. G. Casey and C. R. Jih. A Processor-Based OCR System. In IBM Journal of Research and
Development, volume 27 (4), pages 386399. July 1983.

[DF85]

H. S. Don and K. S. Fu. A Syntactic Method for Image Segmentation and Object Recognition. In
Pattern Recognition, volume 18(1), pages 7387. 1985.

[DHH+ 97] Andreas Dengel, Rainer Hoch, Franck Hnes, Thorsten Jger, Michael Malburg, and Achim Weigel. Techniques for Improving OCR Results. In Horst Bunke and P. S. P. Wang, editors, Handbook
of Character Recognition and Document Image Analysis (ICDAR), Chapitre 8, pages 227258.
World Scientific, 1997.
[Elm96]

A. J. Elms. The Representation and Recognition of Text Using Hidden Markov Models . PhD
Thesis, University of Surrey, Guildford, Surrey, Grande-Bretagne, April 1996.

[Fu83]

K. S. Fu. A Step Towards Unification of Syntactic and Statistical Pattern Recognition. In IEEE
Transactions on Pattern Analysis and Machine Intelligence (PAMI), volume 5(2). IEEE Computer
Society, March 1983.

[GT78]

Rafael C. Gonzalez and Michael G. Thomason. Syntactic Pattern Recognition : an Introduction.


Addison-Wesley Publishing Compagny Inc, 1978.

[JK94]

F. Jenkins and J. Kanai. The use of synthesized images to evaluate the performance of optical
character recognition devices and algorithms . In SPIE Proceedings, Document Recognition,
pages 194203, San Jose, California, USA, 1994. SPIE.

[Man86]

J. Mantas. An Overview of Character Recognition Methodologies . Pattern Recognition,


19 :425430, 1986.

[MLP93]

Angelo Marcelli, Natasha Likhareva, and Theo Pavlidis. A Structural Indexing Method for Character Recognition . In IEEE Computer Society Press, editor, Proceedings of The Second International Conference on Document Analysis and Recognition (ICDAR), pages 175178, Tsukuba,
Japon, October 1993.

[Nag82]

George Nagy. Optical Character Recognition - Theory and Practice . In P.R. Krishnaiah and
L.N. Kanals, editors, Handbook of Statistics, volume 2, pages 621649. North-Holland Publishing
Compagny, 1982.

[Nag92]

George Nagy. Teaching a Computer to Read . In Proceedings of the 11th International Conference on Pattern Recognition (ICPR), volume 2, pages 225229, The Hagues, Pays-Bas, September 1992. IEEE Computer Society Press.

[Pav80]

Theodosios Pavlidis. Structural Pattern Recognition. Springer-Verlag, 2 edition, 1980.

166

[PWR96]

Petra Perner, Patrick Wang, and Azriel Rosenfeld, editors. Advances in Structural and Syntactical
Pattern Recognition, volume 1121 of Lecture Notes in Computer Science. Springer-Verlag, 1996.

[SF82]

A. Sanfelui and K. S. Fu. Tree-Graphs Grammars for Pattern Recognition. In Harmud Ehrig,
Manfred Nagl, and Grzegorz Rozenberg, editors, Graph Grammars and their Application to Computer Science, volume 153 of Lecture Notes in Computer Sciences, pages 819. Springer-Verlag,
October 1982.

[Sko90]

E. Skordalakis. Syntactical and Structural Pattern Recognition : Theroy and Applications ,


Chapitre 18, pages 500532. World Scientific, 1990.

[TF80]

W. H. Tsai and K. S. Fu. Attributed Grammar : A Tool for Combining Syntactic and Statistical Approaches to Pattern Recognition. In IEEE Transactions on Pattern Analysis and Machine
Intelligence (PAMI), volume 10 (12), pages 873885. IEEE, 1980.

[Tsa90]

W. H. Tsai. Syntactic and Structural Pattern Recognition : Theory and Applications , Chapitre 12, pages 349366. World Scientific, 1990.

[Wil93]

C. L. Wilson. Evaluation of character recognition systems . pages 485496, 1993.


ftp ://sequoyah.nist.gov/pub/papers_preprints/eval_ocr_sys.ps.Z .

Reconnaissance de lcriture manuscrite


[AGG95]

E. Anquetil, G.Lorette, and P. Gentric. Reconnaissance en Ligne dcriture Cursive par Chanes
de Markov Caches . In Traitement du Signal, volume 12, pages 575583, 1995.

[Ber75]

Marc Berthod. Une Mthode Syntaxique de Reconnaissance des Caractres Manuscrits en Temps
Rel avec un Apprentissage Continu . PhD Thesis, Universit Paris VI, 1975.

[BK88]

G. Baptista and K. M. Kulkarni. A High Accuracy Algorithm for Recognition of Handwritten


Numerals . In Pergamon Press, editor, Pattern Recognition, volume 21 of 4, pages 287291,
1988.

[BS97]

Abdel Belad and G. Saon. Utilisation des processus markoviens en reconnaissance de lcriture
. In Traitement du Signal, 1997.
Localisation du document : http ://www.loria.fr/equipes/read/bibliographie.html.

[GSD97]

Isabelle Guyon, Markus Schenkel, and John Denker. Overview and Synthesis of On-Line Cursive
Handwritten Recognition Techniques. In Horst Bunke and P. S. P. Wang, editors, Handbook of
Character Recognition and Document Image Analysis, Chapitre 7, pages 183225. World Scientific, 1997.

[KRR97]

A. Kosmala, J. Rottland, and G. Rigoll. Improved On-Line Handwriting Recognition Using


Context Dependent Hidden Markov Models . In Proceedings of the Fifth International Conference on Document Analysis and Recognition (ICDAR), pages 641644, Ulm, Allemagne, 1997.
http ://www.fb9-ti.uni-duisburg.de/veroeffentlichungen.html.

[Kun97]

Amlan Kundu. Handwritten Word Recognition using Hidden Markov Model. In Hort Bunke
and P. S. P. Wang, editors, Handbook of Character Recognition and Document Image Analysis,
Chapitre 6, pages 157182. World Scientific, 1997.

[Lor96]

G. Lorette. Le Traitement Automatique de lcrit et du Document.tat de la Recherche . In


Sciences de lInformation, volume 33, pages 214217, July 1996.

[LWL96]

Stefan Lehmberg, Hans-Jrgen Winkler, and Manfred Lang. A Soft-Decision Approach for
Symbol Segmentation within Handwritten Mathematical Expressions . In Proceedings IEEE
International Conference on Acoustics, Speech and Signal Processing (ICASSP), volume 6, pages
34343437, Atlanta, Etats-Unis, 1996.

167

Rfrences bibliographiques
Prsentation dun systme permettant la segmentation des caractres et symboles
composant les formules mathmatiques. La mthode est base sur lapprentissage de
symboles, lextraction de donnes reprsentatives et la construction dun modle. Les
performances annonces sont bonnes, et les erreurs persistantes sont principalement
dues la connectivit de deux symboles ou au non regroupement des diffrentes parties
composant un caractre.
[RKRN96] G. Rigoll, A. Kosmala, J. Rottland, and Ch. Neukirchen. A Comparison Between Continuous and
Discrete Density Hidden Markov Models for Cursive Handwriting Recognition . In Proceedings
of IEEE Interntional Conference on Pattern Recognition (ICPR), pages 205209, 1996.
http ://www.fb9-ti.uni-duisburg.de/veroeffentlichungen.html.
[TK99]
[Win96]

Sergios Theodoridis and Konstantinos Koutroumbas, editors. Pattern Recognition , Chapitre


9 : Context-Dependent Classification, pages 307337. Academic Press, 1999.
Hans-Jrgen Winkler. HMM-Based Handwritten Symbol Recognition Using On-Line and OffLine Features . In Proceedings IEEE International Conference on Acoustics, Speech and Signal
Processing (ICASSP), volume 6, pages 34383441, Atlanta, Etats-Unis, 1996.

Analyse de la structure de documents


[BC97]

Abdel Belad and Yannick Chenevoy. Document Analysis for Retrospective Conversion of Library Reference Catalogues . In IEEE Computer Society Press, editor, Proceedings of The Fourth
International Conference on Document Analysis and Recognition (ICDAR), volume 1, page 432,
Ulm, Allemagne, August 1997.
Localisation du document : http ://www.loria.fr/equipes/read/bibliographie.html.

[BCP97]

Abdel Belad, Yannick Chenevoy, and F. Parmentier. Panorama des mthodes structurelles en
analyse et reconnaissance de documents . In Journes dtudes sur les Documents, 1997.
Localisation du document : http ://www.loria.fr/equipes/read/bibliographie.html.

[CB94]

Yannick Chenevoy and Abdel Belad. Low-Level Structural Recognition of Documents . In


Third Annual Symposium on Document Analysis and Information Retrieval, Las Vegas, Etats-Unis,
1994.
Localisation du document : http ://recife.u-bourgogne.fr :8081/chenevoy/biblio.html.

[Che92]

Yannick Chenevoy. Reconnaissance structurelle de documents imprims : tudes et ralisations.


. PhD Thesis, Centre de Recherche en Informatique de Nancy, December 1992.
Localisation du document : http ://recife.u-bourgogne.fr :8081/chenevoy/these.html.

[Fat97]

Richard J. Fateman. How to Find Mathematics on a Scanned Page . September 1997.


Localisation du document : http ://HTTP.CS.Berkeley.EDU/fateman/papers/seeeqns.ps Description dune mthode base dheuristiques permettant de localiser des
formules mathmatiques insres dans du texte. Quelques ides sont intressantes et
beaucoup de problmes sont soulevs.

[FT98]

Richard J. Fateman and Taku Tokuyasu. A Suite of Programs for Documents Structuring and
Image Analysis using Lisp . February 1998.
Localisation du document : http ://HTTP.CS.Berkeley.EDU/fateman/papers/suite.ps.

[JJ97]

Anil K. Jain and Bin Ju. Page Segmentation Using Document Model . In IEEE Computer
Society, editor, Proceedings of Fourth International Conference on document Analysis and Recognition (ICDAR), volume 1, pages 3438, Ulm, Allemagne, August 1997.

168

[KNSV93] Mukkai Krishnamoorthy, George Nagy, Sharad Seth, and Mahesh Viswanathan. Syntactic Segmentation and Labeling of Digitized Pages from Technical Journals. In IEEE Transactions on
Pattern Analysis and Machine Intelligence, volume 15, pages 737747. IEEE Computer Society,
July 1993.
[OK97]

Laurence OGorman and Rangachar Kasturi. Executive Briefing : Document Image Analysis. IEEE
Computer Society, 1997.

[WWC82] Friedrich M. Wahl, Kwan Y. Wong, and Richard G. Casey. Block Segmentation and Text Extraction in Mixed Text/Image Documents. In Computer Graphics and Image Processing, volume 20.
Academic Press, December 1982.

Grammaire et rcriture de graphes


[BF91]

Dorothea Blostein and Hoda Fahmy. A Graph Grammar for High-Level Recognition of Music Notation . In Proceedings of First International Conference on Document Analysis and Recognition
(ICDAR), volume 1, pages 7078, Saint Malo, France, October 1991. IEEE Computer Society.

[BF92a]

Dorothea Blostein and Hoda Fahmy. Graph Grammar Processing of Uncertain Data . In Horst
Bunke, editor, Advances in Structural and Syntactic Pattern Recognition, volume 5 of Machine
Perception and Artificial Intelligence, pages 373382. World Scientific, August 1992.

[BF92b]

Dorothea Blostein and Hoda Fahmy. A Survey of Graph Grammars : Theory and Applications .
In Proceedings of the 11th International Conference on Pattern Recognition (ICPR), volume The
Hague, Pays-Bas. IEEE Computer Society, September 1992.

[BFG95] Dorothea Blostein, Hoda Fahmy, and Ann Grbavec. Practical Use of Graph Rewriting . Technical
Report 95-373, Queens University, Kingston Department of Computing and Information Science,
Ontario, Canada, January 1995.
[Bun82a] Horst Bunke. Attributed Programmed Graph Grammars and their Application to Schematic Diagram Interpretation. In IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI),
volume 4, pages 574582. IEEE Computer Society, November 1982.
[Bun82b] Horst Bunke. Graph Grammars as a Generative Tool in Image Understanding. In Harmud Ehrig,
Manfred Nagl, and Grzegorz Rozenberg, editors, Graph Grammars and their Application to Computer Science, volume 153 of Lecture Notes in Computer Sciences, pages 819. Springer-Verlag,
October 1982.
[CEG79] V. Claus, H. Ehrig, and G.Rosenberg, editors. Graph-Grammars and Their Applications to Computer Science and Biology, Lecture Notes in Computer Science, 1979.
[Cou87]

B. Courcelle. An Axiomatic Definition of Context-Free Rewriting and its Application to NLC


Graph Grammars . Technical Report, Universit de Bordeaux, February 1987.

[Dr95]

Heiko Drr. Efficient Graph Rewriting and its Implementation. In Gerhard Goos, Juris Hartmanis,
and Jan van Leeuwen, editors, Lecture Notes in Computer Science, volume 922. Springer-Verlag,
1995.

[ENR86] Harmud Ehrig, Manfred Nagl, and Grzegorz Rozenberg, editors. Graph Grammars and their Application to Computer Science, volume 291 of Lecture Notes in Computer Sciences. Springer-Verlag,
December 1986.
[Gla82]

Serge Gladkoff. Grammaires de Graphes et Applications . PhD Thesis, Universit Paris VI, June
1982.

[Nag78]

Manfred Nagl. A Tutorial and Bibliographical Survey on Graph Grammars. In Workshop on GraphGrammars and their Application to Computer Science and Biology, volume 73 of Lectures Notes in
Computer Science, pages 70126. Springer-Verlag, Bad Honnef, November 1978.

169

Rfrences bibliographiques
[Pfe90]

Joseph J. Pfeiffer. Using Graph Grammars for Data Structure Manipulation . In IEEE Workshop
on Visual Languages, pages 4253, Skokie, Illinois, Etats-Unis, October 1990. IEEE Computer
Society Press.

[PR69]

John Pfaltz and Azriel Rosenfled. Web Grammars . In Proceedings of First International Joint
Conference on Artificial Intelligence, pages 609619, Washington, 1969.

[RV92]

Jean-Claude Raoult and Frdric Voisin. Set-Theoretic Graph Rewriting . Technical Report,
IRISA, April 1992.

[SE93]

Hans Jrgen Schneider and Hartmut Ehrig, editors. Graph Transformations in Computer Science,
volume 776 of Lecture Notes in Computer Sciences. Springer-Verlag, January 1993.

[Zn94]

Albert Zndorf. Graph Pattern Matching in PROGRES. In J. Cuny, H. Ehrig, G. Engels, and
G. Rosenberg, editors, Lecture Notes in Computer Science, volume 1073, pages 454468. SpringerVerlag, Williamsburg, Etats-Unis, November 1994.
http ://www-i3.informatik.rwth-aachen.de/research/progres/ .

Reconnaissance de formules mathmatiques


[And67]

Robert H. Anderson. Syntax-Directed Recognition and Hand-Printed Two-Dimensional Mathematics. In M. Klerer and J. Reinfelds, editors, ACM Symposium on Interactive Systems for Experimental Applied Mathematics, pages 436459. Academic Press, Washington (DC), Etats-Unis,
August 1967.
Cet article est un rsum de la thse de doctorat [?] sur la reconnaissance syntaxique de formules mathmatiques manuscrites. Pas de nouvelles ides dveloppes,
et mmes exemples que ceux de la thse.

[And68]

Robert H. Anderson. Syntax-Directed Recognition of Hand-Printed Two-Dimensional Mathematics . PhD Thesis, Harvard University, Cambridge, January 1968.
Lun des premiers travaux sur la reconnaissance de formules mathmatiques (manuscrites qui plus est). La mthode mise en place dfinit une grammaire de coordonnes
(grammaire graphique) et utilise une analyse descendante. Les exemples sont nombreux
et illustrent bien le propos. Les rgles de la grammaire sont en annexes.

[And77]

Robert H. Anderson. Two Dimensional Mathematical Notation . In K. S. Fu, editor, Syntactic


Pattern Recognition Applications, pages 147177. Springer-Verlag, 1977.
Cet article reprend les conclusions de la thse de doctorat [?] et fournit en annexes
les rgles de la grammaire de coordonnes introduite, sous forme graphique. Pas de
nouveaux lments.

[Bel79]

Abdelwahed Belad. Reconnaissance Structurelle de Caractres Manuscrits et de Formules


Mathmatiques . PhD Thesis, Universit de Nancy, October 1979.
Description dun systme pour la reconnaissance de formules mathmatiques manuscrites. La reconnaissance des symboles utilise la vectorisation du trac puis la comparaison de ce modle avec les diffrentes squences stockes dans un arbre de dcision, lors de la phase dapprentissage. Un ensemble de caractres possibles sont retourns par le logiciel et la dtermination se fait lors de ltape suivante. La reconnaissance
structurelle est du type approche syntaxique et utilise une grammaire de coordonnes.
Lanalyse est la fois descendante et montante. Lauteur insiste sur lidentification des
symboles en fonction du contexte.

170

[BG95]

Dorothea Blostein and Ann Grabvec. Mathematics Recognition Using Graph Rewriting . In
Proceedings of the Third International Conference on Document Analysis and Recognition (ICDAR), pages 417421, Montral, Canada, August 1995. IEEE Computer Society Press.
Description de Expresso, un systme ddi la reconnaissance de partitions musicales, adapt la reconnaissance de formules mathmatiques. Quelques exemples
de formules simples sont donns et montrent les difficults de la reconnaissance de la
structure dune expression mathmatique. La mthode utilise est base de rcriture
de graphes. Quelques exemples simples de formules reconnues sont fournis. Les auteurs insistent sur le temps, assez important, de calcul ncessaire.

[BG97]

Dorothea Blostein and Ann Grbavec. Recognition of Mathematical Notation. In Horst Bunke
and P. S. P. Wang, editors, Handbook of Character Recognition and Document Image Analysis,
Chapitre 21, pages 557582. World Scientific, 1997.
Historique sur les diffrentes techniques mises en oeuvre. Les auteurs explicitent
bien les diffrents points qui rendent la reconnaissance dexpressions mathmatiques
difficile. La bibliographie est complte et contient toutes les rfrences importantes. Trs
bon tat de lart.

[BH84]

Abdelwaheb Belad and Jean-Paul Haton. A Syntactic Approach for Handwritten Mathematical Formula Recognition. In IEEE Transactions on Pattern Analysis and Machine Intelligence
(PAMI), volume 6, pages 105111. IEEE Computer Society, January 1984.
Article qui rsume le contenu de la thse [?].

[Cha70]

Shi-Kuo Chang. A Method for the Structural Analysis of Two-Dimensional Mathematical Expressions . Information Sciences, 2 :253272, 1970.

[Cho89]

P. Chou. Recognition of Equations Using a Two-Dimensional Stochastic Context-Free Grammar . In Proceedings SPIE Conference on Visual Communications and Image Processing IV,
pages 852863, Philadelphie, Etats-Unis, November 1989.
Prsentation dune mthode originale utilisant une grammaire probabiliste permettant lanalyse dimages bruites contenant des expressions mathmatiques. Les rsultats prsents portent sur des quations simples. Aucun test na t ralis sur des
structures bidimensionnelles plus complexes, comme les matrices, les racines carres,
les quations sur plusieurs lignes.

[DCdlM91] Yannis A. Dimitriadis, Juan Lopez Coronado, and Cristina de la Maza. A New Interactive
Mathematical Editor, Using On-Line Handwritten Symbol Recognition, and Error DetectionCorrection with an Attribute Grammar . In Proceedings of First International Conference on
Document Analysis and Recognition (ICDAR), volume 1, pages 885893, Saint Malo, France,
October 1991. IEEE Computer Society Press.
Lide gnrale est de mettre en place un systme de type interface interactive pour
les formules mathmatiques manuscrites. La reconnaissance structurelle mise en place
utilise une grammaire attribue, avec une analyse ascendante, ainsi quun systme pour
compenser les erreurs possibles lors de la reconnaissance des symboles. Beaucoup
dinformations techniques sont donnes en annexes, ainsi que des exemples de ce qui
est reconnu.
[Fat97]

Richard J. Fateman. More Versatile Scientific Documents Extended Abstract . In Proceedings


of Fourth International Conference on Document Analysis and Recognition (ICDAR), volume 2,
pages 11071110, Ulm, Allemagne, August 1997. IEEE Computer Society Press.
Dans cet article, lauteur sinterroge sur les besoins et les applications possibles de
la reconnaissance dexpressions mathmatiques. Il dfinit plusieurs niveaux pour repr-

171

Rfrences bibliographiques
senter les lments reconnus : une description purement visuelle ou typographique, une
description syntaxique ou structurelle et une description smantique. Le discours est
toutefois un peu confus.
[FB94]

Richard J. Fateman and Benjamin P. Berman. Optical Character Recognition for Typeset Mathematics . In ACM Press, editor, Proceedings of the International Symposium on Symbolic and
Algebraic Computation (ISSAC), pages 348353, July 1994.
Prsentation dun logiciel ddi la reconnaissance de symboles et caractres
composant les formules. La mthode est base sur lapprentissage et la comparaison
dimages laide de la distance de Hausdorff. Une intervention humaine est ncessaire
pour corriger manuellement les erreurs et dcrire les caractristiques du symbole (taille,
fonte italique, . . .). Aucune description nest faite quant la mthode utilise pour la
reconnaissance structurelle.

[FST+ 99]

R. Fukuda, I. Sou, F. Tamari, X. Ming, and M. Suzuki. A Technique of Mathematical Expression


Structure Analysis for the Handwriting Input System . In Proceedings of the Fifth International
Conference on Document Analysis and Recognition (ICDAR), pages 131134, Bangalore, Inde,
September 1999. IEEE Computer Society Press.

[FT96]

Richard J. Fateman and Taku Tokuyasu. Progress in Recognizing Typeset Mathematics . In


Proceedings of SPIE, San Jos, Californie, Etats-Unis, 1996.
Description technique du logiciel de reconnaissance de caractres mathmatiques
dvelopp. La reconnaissance structurelle est base sur une analyse rcursive descendante du dcoupage de la formule en botes horizontales et verticales. La mthode
prsente est trs spcifique la reconnaissance dquations de type intgrales, et non
adaptable dautres notations (comme les matrices).

[FTBM96] Richard J. Fateman, Taku Tokuyasu, Benjamin P. Berman, and Nicholas Mitchell. Optical Character Recognition and Parsing of Typeset Mathematics. In Journal of Visual Communication and
Image Representation, volume 7, pages 215. Academic Press, March 1996.
Synthse dtaille des articles [?] et [?] laquelle quelques exemples pertinents
ont t ajouts. La mthode reste restreinte la reconnaissance dquations linaires
et optimise pour les intgrales.
[HHP95]

Jaekyu Ha, Robert M. Haralick, and Ihsin T. Phillips. Understanding Mathematical Expressions
from Document Images . In Proceedings of the Third International Conference on Document
Analysis and Recognition, pages 956959, Montral, Canada, August 1995. IEEE Computer society Press.
Reprise de lide dveloppe dans [?] : subdivisions successives de limage en souslments par projections horizontales et verticales (approche descendante). Lanalyse
structurelle est quant elle ascendante, mais trs peu de prcisions sont apportes sur
la mthode exacte qui est utilise pour passer de la reprsentation graphique larbre
de syntaxe de lexpression.

[KBA99]

A. Kacem, A. Belad, and M. Ahmed. EXTRAFOR : Automatic EXTRAction of Mathematical


FORmulas . In Proceedings of the Fifth International Conference on Document Analysis and
Recognition (ICDAR), pages 107110, Bangalore, Inde, September 1999. IEEE Computer Society
Press.
Prsentation dun systme dextraction de formules mathmatiques dans un document typographi. Cette mthode est base sur lutilisation de logique floue. Elle permet
didentifier la fois les notations isoles du texte, mais aussi lutilisation de symboles
mathmatiques ou dexpressions mathmatiques inclus dans des paragraphes de texte.

172

Les rsultats prsents sont trs intressants (prs de 100% pour les formules isoles
et plus de 90% pour les notations incluses dans un paragraphe)..
[KLPR99]

Andreas Kosmala, Stphane Lavirotte, Loc Pottier, and Gerhard Rigoll. On-Line Handwritten
Formula Recognition using Hidden Markov Models and Context Dependent Graph Grammars
. In Proceedings of the Fifth International Conference on Document Analysis and Recognition
(ICDAR), pages 107110, Bangalore, Inde, September 1999. IEEE Computer Society Press.
Adaptation au cas manuscrit de la mthode pour la reconnaissance dexpressions
mathmatiques typographies prsente dans [?]. Premire utilisation dune grammaire
de graphes pour la reconnaissance de formules mathmatiques manuscrites..

[KR98]

Andreas Kosmala and Gerhard Rigoll. Recognition of On-Line Handwritten Formulas . In 6th
International Workshop on Frontiers in Handwriting Recognition (IWFHR), Taejon, Kore, 1998.
Description dune application permettant la reconnaissance de formules manuscrites.
La reconnaissance des symboles se fait grce une mthode base de HMMs (Hidden
Markov Models) avec un apprentissage du style dcriture. La reconnaissance structurelle fait des pr-supposs sur la manire dont la formule est crite (ordre dcriture des
bornes dintgrales, indices, exposants,. . .). Pas de possibilit dtendre la technique
dautres notations.

[Lit95]

Richard Henry Littin. Mathematical Expression Recognition : Parsing Pen/Tablet Input in RealTime Using LR Techniques . Masters Thesis, University of Waikato, Hamilton, New Zealand,
March 1995.

[LL93]

His-Jian Lee and Min-Chou Lee. Understanding Mathematical Expressions in a Printed Document . In Proceedings of the Second International Conference on Document Analysis and
Recognition (ICDAR), pages 502505, Tsukuba, Japon, October 1993. IEEE Computer Society
Press.
Prsentation dun composant logiciel, comprenant la reconnaissance des symboles
(mthode de comparaison dimages sur un ensemble de 13 points caractristiques), et
une partie reconnaissance structurelle base sur le regroupement des symboles en fonction de la localisation. La mthode propose semble trop spcifique pour tre adapte
la reconnaissance de notations rellement bidimensionnelles (comme les matrices).

[LL94]

Hsi-Jian Lee and Min-Chou Lee. Understanding Mathematical Expressions using ProcedureOriented Transformation. In Pattern Recognition, volume 27, pages 447457. Pergamon, 1994.
Cet article reprend les principes noncs dans une publication prcdente [?], en
ajoutant des exemples pour lillustration. Une mthode de dtection et de correction pour
les symboles mal spars lors de la reconnaissance des symboles.

[LP97a]

Stphane Lavirotte and Loc Pottier. Mathematical Formula Recognition . In International Workshop on Retrodigitalization of Mathematical Documents, Essen, Allemagne, December
1997.

[LP97b]

Stphane Lavirotte and Loc Pottier. Optical Formula Recognition . In Proceedings of Fourth
International conference on Document Analysis and Recognition (ICDAR), volume 1, pages 357
361, Ulm, Allemagne, August 1997. IEEE Computer Society Press.
Prsentation dune mthode permettant dutiliser les grammaires de graphes pour
la reconnaissance de formules mathmatiques. Cette mthode repose sur la compltion
automatique des rgles par une mthode de type Knuth-Bendix. Dmonstration thorique de la mthode (propositions et preuves).

173

Rfrences bibliographiques
[LP98]

Stphane Lavirotte and Loc Pottier. Mathematical Formula Recognition using Graph Grammar
. In Document Recognition V, volume 3305, pages 4452, San Jos, Californie, Etats-Unis,
January 1998. SPIE - The International Society for Optical Engineering.
Description du processus complet pour la reconnaissance structurelle de formules,
avec la mise en application des rsultats thoriques de [?].

[LW95]

Hsi-Jian Lee and Jiumn-Shine Wang. Design of a Mathematical Expression Recognition System
. In Proceedings of the Third International Conference on Document Analysis and Recognition
(ICDAR), pages 10841087, Montral, Canada, August 1995. IEEE Computer Society Press.
Prsentation dun systme complet permettant lextraction et lanalyse de formules
mathmatiques incluses dans un document imprim. La reconnaissance des caractres
seffectue sur le modle classique de la comparaison de donnes caractristiques des
symboles. Lanalyse structurelle est celle employe dans [?] et nest pas assez gnraliste. Un cas particulier est mis en place pour reconnatre les matrices. Une dernire
tape permet deffectuer des corrections pour les symboles mal reconnus.

[MV98]

Erick G. Miller and Paul A. Viola. Ambiguity and Constraint in Mathematical Expression
Recognition . In American Association of Artificial Intelligence, editor, Proceedings of the 15th
National Conference of Artificial Intelligence, pages 784791, Madison, Wisconsin, 1998.
http ://www.ai.mit.edu/people/emiller/OQE_slides/ .

[OM91]

Masayuki Okamoto and Bin Miao. Recognition of Mathematical Expressions by Using the
Layout Structure of Symbols . In Proceedings of First International Conference on Document
Analysis and Recognition (ICDAR), volume 1, pages 242250, Saint Malo, France, October 1991.
IEEE Computer Society.
Mthode originale base sur la segmentation de lexpression mathmatique par projections horizontales et verticales recursives. Lanalyse est donc descendante et construit
un arbre de la structure graphique qui est transform en structure syntaxique laide de
quelques heuristiques. Quelques exemples montrent les limites de cette mthode, mais
celle-ci est toutefois adapte la reconnaissance de matrices.

[OM92]

Masayuki Okamoto and A. Miyazawa. An Experimental Implementation of a Document Recognition System for Papers Containing Mathematical Expressions. In H.S. Baird, H. Bunke, and
K. Yamamoto, editors, Structured Document Image Analysis, pages 3653. Springer-Verlag, Heidelberg, Allemagne, 1992.
Prsentation du processus complet danalyse dun document contenant des formules
mathmatiques, avec la segmentation, la dtection dune rotation ventuelle, . . . La mthode de reconnaissance des expressions mathmatiques est la mme que celle prsente dans [?].

[OT95]

Masayuki Okamoto and Hashim M. Twaakyondo. Structure Analysis and Recognition of Mathematical Expressions . In Proceedings of Third International Conference on Document Analysis
and Recognition (ICDAR), Montral (Canada), pages 430437, August 1995.
Cest globalement la mme mthode que celle prsente dans [?] et [?]. Quelques
amliorations et exemples supplmentaires dtaills illustrent bien le propos.

[Pot94]

Loc Pottier. Reconnaissance de Formules Planes . Technical Report, INRIA Sophia-Antipolis,


projet SAFIR, March 1994.
Steve Smithies. Freehand Formula Entry System . Masters Thesis, University of Otago,
Dunedin, New Zealand, May 1999.
J. Toumit, S. Garcia-Salicetti, and H. Emptoz. A Hierarchical and Recursive Model of Mathematical Expressions for Automatic Reading of Mathematical Documents . In Proceedings of the

[Smi99]
[TGSE99]

174

Fifth International Conference on Document Analysis and Recognition (ICDAR), pages 119122,
Bangalore, Inde, September 1999. IEEE Computer Society Press.
[WF88]

Zi Xiong Wang and Claudie Faure. Structural Analysis of Handwritten Mathematical Expressions . In Proceedings of the 9th International Conference on Pattern Recognition (ICPR), pages
3234, Rome, Italie, November 1988. IEEE Computer Society Press.
La mthode prsente permet danoter les relations entre des symboles manuscrits
proches, afin de diffrencier des symboles aligns, en position dexposants ou dindices.
La dtermination se fait suivant le contexte et une probabilit calcule lors dune phase
dapprentissage. Les lments ont t isols par projections.

[WF90]

Zi Xiong Wang and Claudie Faure. Automatic Perception of the Structure of Handwritten
Mathematical Expressions . In Computer Processing of Handwriting, pages 337361. World
Scientific, 1990.
Cet article prsente une application de reconnaissance dexpressions mathmatiques manuscrites. Les exemples proposs montrent les limitations des projections pour
la segmentation en sous-expressions dans le cas manuscrit. Les principes de reconnaissance de lalignement des symboles prsents dans [?] sont dvelopps et illustrs.

[ZSST96]

Yanjie Zhao, Tetsuya Sakurai, Hiroshi Sugiura, and Tatsuo Torii. A Methodology of Parsing
Mathematical Notation for Mathematical Computation . In ACM Press, editor, Proceedings of
the International Symposium on Symbolic and Algebraic Computation (ISSAC), pages 292300,
July 1996.

Langages de script
[Cor99] Corporation for National Research Initiatives. Python Reference Manual , 1.5.2 edition, July 1999.
[Gal94] Eric Gallesio. STklos : A Scheme Object-Oriented System Dealing with the Tk Toolkit . In
Proceedings of Xhibition94, San Jos, Californie, 1994.
[Gal96] Mark Galassi. Guile User Manual . Free Software Foundation, 1996.
[Lo95] Jean-Michel Lon. Contribution la Simplification des Botes Outils Graphiques : Application
aux Langages de Scripts . PhD Thesis, Universit de Nice Sophia-Antipolis, December 1995.
[Nah94] Colas Nahaboo. Klone C Interface Manual . Koala Project, Bull Research, INRIA SophiaAntipolis, France, 1.0 edition, April 1994.
ftp ://koala.inria.fr/pub/Klone/klone-C.ps.gz.
[Nah95] Colas Nahaboo. Klone Reference Manual . Koala Projet, Bull Research, INRIA Sophia-Antipolis,
France, 0.9i edition, March 1995.
ftp ://koala.inria.fr/pub/Klone/klone-ref.ps.gz.
[Ous94] John K. Ousterhout. Tcl and Tk Toolkit. Addison-Wesley Publising, 1994.
[SS93]

Larry Schwartz and Randal Schwartz. Programming Perl. OReilly & Associates, 19950-93.

Divers
[ADG99]

Olivier Arsac, Stphane Dalmas, and Marc Gatano. The Design of a Customizable Component
to Display and Edit Formulas . In Proceedings of the International Symposium on Symbolic and
Algebraic Computation (ISSAC), pages 283290, Vancouver, Canada, July 1999. ACM Press.

[Ars97]

Olivier Arsac. Interfaces Homme Machine pour le Calcul Formel . PhD Thesis, Universit de
Nice Sophia-Antipolis, July 1997.

175

Rfrences bibliographiques
[ASU91]

Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilateurs : Principes, Techniques et Outils.
InterEditions, 4 edition, 1991.

[AU72]

Alfred V. Aho and Jeffrey D. Ullman. The Theory of Parsing Translation and Compiling, volume
1 : Parsing of Automatic Computation. George Forsythe, 1972.

[Blo95]

Dorothea Blostrein. General Diagram-Recognition Methodologies. In Rangachar Kasturi


and Karl Tombre, editors, Lectures Notes in Computer Science, volume 1072, pages 106122.
Springer-Verlag, University Park, Etats-Unis, August 1995.

[Car84]

Stuart K. Card. Human Limits and VDT Computer Interface . In J. Bennett, D. Case, J. Sandelin, and M. Smith, editors, Visual Display Terminal, page 117, Englewood Cliffs, 1984. PrenticeHall.

[CC91]

G. Costagliola and S. K. Chang. Parsing 2-D Languages with Positional Grammars . In Second
International Workshop on Parsing Technologies (IWPT), pages 235243, Cancun, Mexique, February 1991.

[CEB78]

S. K. Card, W.K. English, and B.J. Burr. Evaluation of Mouse, Rate-Controlled Isometric
Joystick, Step Keys and Text Keys for Text Selection on a CRT . Ergonomics, 21 :601613,
1978.

[CGG+ 88] B. W. Char, K. O. Geddes, G. H. Gonnet, M. B. Monagan, and S.M. Watt. Maple Reference
Manual. Watcom Publications Limited, Ontario, Canada, 5 edition, 1988.
[CGN+ 90] C. Crimi, A. Guercio, G Nota, G. Pacini, and M. Tucci G. Tortora. Relation Grammars for
Modeling Multi-Dimensional Structures . In Workshop on Visual Languages, pages 168173,
Skokie, Illinois, Etats-Unis, October 1990. IEEE Computer Society Press.
[Cho65]

Noam Chomsky. Aspects of the Theory of Syntax. MIT Press, 1965.

[CMN80]

Stuart K. Card, Thomas P. Moran, and Allen Newell. The Keystroke Level Model for User
Performance time with Interactive Systems . Communication of ACM, 23 :396410, 1980.

[Col92]

Suzanne Collin. Interprtation de la Cotation des Dessins Techniques par Analyse Syntaxique
. PhD Thesis, Institut National Polytechnique de Lorraine, January 1992.

[DGH96]

Stphane Dalmas, Marc Gatano, and Claude Huchet. A Deductive Database for Mathematical Formulas. In Jacques Calmet, editor, Design and Implementation of Symbolic Computation
Systems, volume 1128 of Lecture Notes in Computer Science, pages 287296. Spinger-Verlag,
September 1996.

[DT93]

D. Dori and K. Tombre. Paper Drawings to 3D CAD : A Proposed Agenda . In Proceedings of


Second International Conference on Document Analysis and Recognition (ICDAR), pages 866
869, Tsukuba, Japon, October 1993.

[EF95]

T. H. Einwohner and Richard J. Fateman. Searching Techniques for Integral Tables . In ACM
Press, editor, Proceedings of the International Symposium on Symbolic and Algebraic Computation (ISSAC), Montral, Canada, July 1995.

[Gol91]

Eric J. Golin. A Method for the Specification and Parsing of Visual Languages . PhD Thesis,
Brown University, May 1991.

[GS93]

David Garlan and Mary Shaw. An Introduction to Software Architecture . In V. Ambriola and
G. Tortora, editors, Advances in Software Engineering and Knowledge Engineering, volume 1.
World Scientific Publishing Compagny, 1993.

[Hig93]

Nicholas J. Higham. Handbook of Writing for the Mathematical Sciences. Society for Industrial
and Applied Mathematics (SIAM), Philadelphia, 1993.

[HU69]

John E. Hopcroft and Jeffrey D. Ullman. Formal Languages and their Relation to Automata.
Addison-Wesley Publishing Company, 1969.

[JL86]

Jean-Pierre Jouannaud and Pierre Lescanne. La Rcriture . In Techniques et Sciences Informatiques, pages 433452, 1986.

176

[KIA84]

K. Kubota, O. Iwaki, and H. Arakawa. Document Understanding System . In Proceedings of


the 7th International Conference on Pattern Recognition (ICPR), volume 1, pages 612614. IEEE
Computer Society, August 1984.

[Knu68]

Donald E. Knuth. Semantics of Context-Free Languages . Journal of Mathematic and System


Theory, 2 :127146, 1968.

[Knu79]

Donald E. Knuth. Mathematical Typography . In Bulletin of the American Mathematical


Society, volume 1, March 1979.

[Knu93]

Donald Ervin Knuth. The Tex Book. Addison-Wesley Publishing Company, 1993.

[KS98]

Norbert Kajler and Neil Soiffer. A Survey of User Interfaces for Computer Algebra Systems .
Journal of Symbolic Computation, 25 :127160, February 1998.

[Lam94]

Leslie Lamport. LaTeX : a document preparation system. Addison-Wesley Publishing Company,


2 edition, 1994.

[Lav95]

Stphane Lavirotte. Interface pour le Calcul Formel . Technical Report, Universit de Nice
Sophia-Antipolis et INRIA Sophia-Antipolis, 1995.
http ://www.inria.fr/cafe/Stephane.Lavirotte/Publications/dea.ps.gz.

[Mar71]

William A. Martin. Computer Input/Output of Mathematical Expressions . In Proceedings of


The Second Symposium on Symbolic and Algebraic Manipulation, pages 7887, 1971.

[MPW+ 90] Gale Martin, James Pittman, Kent Wittenburg, Richard Cohen, and Tom Parish. Computing without Keyboards. In Byte. McGraw-Hill, July 1990.
[NKMS93] Masaki Nakagawa, Naoki Kato, Kimiyoshi Machii, and Toshio Souya. Principles of Pen Interface Design for Creative Work . In Proceedings of the Second International Conference on
Document Analysis and Recognition (ICDAR), pages 718721, Tsukuba, Japon, October 1993.
IEEE Computer Society Press.
[Pre97]

Adobe Press, editor. Adobe FrameMaker 5.5 Classroom in a Book. Adobe Press, October 1997.

[Res99]

TCI Software Research. Scientific Workplace , 1999.


http ://www.tcisoft.com/ .

[Rus87]

Michal Rusinowitch. Dmonstration Automatique par des Techniques de Rcriture . PhD


Thesis, Universit de Nancy, November 1987.

[Tom89]

Masaru Tomita. Parsing 2-Dimensional Language . In M. Tomita, editor, First International


Workshop on Parsing Technologies (IWPT), pages 277289, Pittsburgh, August 1989.

[Tom98]

Karl Tombre. Analysis of Engineering Drawing : State of the Art and Challenges. In K. Tombre
and A. K. Chhabra, editors, Lecture Notes in Computer Science, volume 1389, pages 257264.
Springer-Verlag, April 1998.

[Zwi96]

Daniel Zwillinger, editor. Standard Mathematical Tables and Formulae. CRC Press, 30 edition,
1996.

177

Rfrences bibliographiques

178

Index
Index des termes franais utiliss dans ce mmoire
ambigut
notation, 25
placement symboles, 24, 121
relations spatiales, 24
symbole, 23
analyse
ascendante, 93
contextuelle, 23
de documents, 10, 18
gomtrique, 69, 7176
lexicale, 6768
structurelle, 93
syntaxique, 27, 4347
attribut, 57, 66, 68, 119
hrit, 82
synthtis, 82, 85, 94, 121
Axiom, 141
base
de connaissances, 47
de formules, 4, 17, 141
bruit, 21, 30, 102
caractre
manuscrit, 37
reconnaissance, 20, 22
typographi, 35
chane de Markov, 112
chanes de Markov, 22, 38
connexe
composante, 104, 105
graphe, 71
ContruireGrapheInitial, 75, 77
Cuneiform, 100, 103
dfinition
grammaire, 8081

grammaire de graphes, 85
graphe, 70
notation mathmatique, 19, 52
dition
bidimensionnelle, 15
de formules, 4, 12
manuscrite, 16
syntaxe linaire, 12
Emath, 15
filtrage de termes, 85
Fine Reader, 103
Frame Maker, 14
grammaire
attribue, 81
de graphes, 5, 83, 86
formelle, 80
Guile, 137, 139
image
analyse, 6366
ralignement, 31
traitement, 2833
interface graphique, 4, 16, 136
Irma, 6, 114, 118, 145
Java Script, 138
Klm, 140
Klone, 137, 139
label, 141
langage
de script, 130, 134, 139
systme, 130
A
LTEX, 13, 56, 108

179

Index

machine virtuelle, 132


Maple, 3, 13, 116, 145
Mathematica, 3, 116, 145
MiseAJourGraphe, 95
modle objet, 133
numrisation, 28
seuil, 29
OCR, 20, 104
comparatif, 100
rsultats, 65
OCRchie, 100, 103, 104
OFR, 5, 53, 55, 61, 99, 129, 145
OmniPage, 2, 20, 100, 103
oprateur, 118
arrangement spatial, 19
grammaire d, 86
implicite, 24
prcdence, 20, 25
OpenMath, 6, 57, 141142
palette de modles, 14
Perl, 138, 139
Python, 137, 139
rcriture, 46, 81, 83, 85
Recognita, 103
reconnaissance
caractre
manuscrit, 37
typographi, 35
structurelle, 3950
symbole, 22
Reduce, 116
scanner, 5, 21
ScanWorX, 100
Scientific Workplace, 14
segmentation, 22, 35
SetIntegerValue, 140
setq, 141
STk, 136, 139
substitution, 85

180

symbole
ambigut, 23
manuscrit, 37
petit, 21, 113
placement, 20, 121
reconnaissance, 5, 20, 22, 28, 35
style, 20, 22
taille, 20, 22, 66
typographi, 35
varit, 22
Tcl/Tk, 137, 139
TextBridge, 2, 20, 100, 103
Typage, 133
TypeReader, 100
Visual Basic, 138
Xocr, 100, 103

Index
Index des termes anglais utiliss dans ce mmoire
Axiom, 141
base
de connaissances, 47
byte-compile, 132
content dictionaries, 142
Cuneiform, 100, 103
Emath, 15
Fine Reader, 103
Frame Maker, 14
Free Software Foundation, 137
garbage collector, 134
Generic Window Manager, 139
graphical toolkit, 136
Guile, 137, 139

OFR, 5, 53, 55, 61, 99, 129, 145


OmniPage, 2, 20, 100, 103
OpenMath, 6, 57, 141142
pattern matching, 85
Perl, 138, 139
profiling, 135
projection profile method, 31
Python, 137, 139
Recognita, 103
Reduce, 116
ScanWorX, 100
Scientific Workplace, 14
skew orientation, 31
STk, 136, 139

Irma, 6, 114, 118, 145

Tcl/Tk, 137, 139


TextBridge, 2, 20, 100, 103
thresholding, 29
TypeReader, 100

Java Script, 138

Visual Basic, 138

keystroke-level model, 15
Klm, 140
Klone, 137, 139

widget, 140

HMM, 22, 38, 112

Xocr, 100, 103

LATEX, 13, 56, 108


Maple, 3, 13, 116, 145
Mathematica, 3, 116, 145
nearest-neighbor method, 31
noise reduction, 30
OCR, 36, 104
OCRchie, 100, 103, 104

181

183

Rsum
Reconnaissance structurelle de formules mathmatiques typographies et manuscrites

Le sujet de ce mmoire est ltude et la ralisation dun composant pour la reconnaissance structurelle des formules mathmatiques typographies et manuscrites. Ces travaux
sinscrivent dans une thmatique plus large : lanalyse et la reconnaissance de documents.
La problmatique gnrale que nous avons considre peut se rsumer de la manire
suivante ; il sagit didentifier la structure, ou arbre de syntaxe abstraite, dune formule
partir des donnes graphiques et gomtriques (les symboles composant la notation et leur
position). Larchitecture logicielle retenue permet dadapter trs facilement le composant,
baptis OFR (Reconnaissance Optique de Formules), aux logiciels fournissant les symboles,
ainsi quaux diverses notations mathmatiques identifies.
Pour effectuer cette reconnaissance structurelle, nous avons eu recours une modlisation base de graphes. Elle permet une abstraction des donnes receuillies et une transformation de ces informations par la dfinition dune grammaire de graphes contextuelle attribue,
spcialement adapte aux oprateurs mathmatiques.
En nous appuyant sur des protocoles de communication dobjets mathmatiques, comme
OpenMath, nous pouvons envisager lutilisation de linterface dveloppe autour dOFR
comme une alternative la saisie des formules mathmatiques.
Mots-cls: formules mathmatiques, reconnaissance struturelle, grammaire de graphes.

Abstract
Structural Recognition of printed and handwritten mathematical formulae

This thesis describes the study and implementation of a component for structural recognition of handwritten or typesetted mathematical formulae. This work is related to document
analysis and recognition fields of research.
Our aim could be resumed as : how to recognize the mathematical notation, i.e. the abstract syntax tree of a formula, just with graphical and geometrical informations (symbols
and their position). The design of our software, OFR (Optical Formula Recognition) enables
us to reuse the same prototype with different OCR systems and to adapt the recognition
process to a large variety of mathematical notations.
To achive the structural recognition, we used a graph modelisation. This allows us to have
all data in a synthetized format. We use an attributed contextual graph grammar for parsing
graph, especially developped for mathematical operators.
Thanks to formulae exchange protocols like OpenMath, the interface developped with
the help of OFR may be used as a front end for writing mathematical ans send them to a
computer algebra system like Mathematica.
Keywords: mathematical formulae, structural recognition, graph grammar.

Vous aimerez peut-être aussi