Autour du mot syntaxe
La rigueur qu’exige le travail de recherche ne doit pas être contrarié par les contraintes qu’imposent les applications. De fait, les critères que nous avons énumérés ci-dessus montrent à quel point chaque choix théorique et algorithmique aura des conséquences sur les résultats. Un programme deviendrait vite un gadget si nous oubliions le contexte qui l’a vu naître. Afin de contrôler ces variables à chaque étape de nos développements, il est nécessaire de se donner des directions épistémologiques pour nos démarches. Ce cadre, déplaçable pour tout projet scientifique trouve un sens dans la définition de l’objet étudié. L’objet de notre étude est l’analyse syntaxique automatique, au sens le plus ouvert. De manière formelle, prenons un peu de recul par rapport à cet objet.
1. Une théorie scientifique, susceptible d’évoluer, se place derrière chaque formalisme que nous pourrions adopter.
2. Une axiomatique qui ne doit pas rester implicite guide les évolutions de plusieurs théories ayant le même objet. Cette axiomatique est la supposition de cet objet. Elle admet une logique qui est indépendante des évolutions des théories sous-jacentes. Cette logique et ses théorèmes sont le seul contexte dans lequel nous pouvons affirmer qu’un programme est valide.
3. Notre démarche doit rester autant que possible indépendante de la théorie, mais non de l’axiomatique. Si plusieurs tendaces théoriques s’opposent et se contredisent, un choix s’avère nécessaire parmi celles-ci pour permettre des développements pratiques. D’autre part, du point de vue informatique, le terme syntaxe ne désigne pas le même objet qu’en linguistique. En TALN, le double héritage théorique (linguistique et informatique) nous amène à considérer le mot syntaxe avec une extrême précision. Nous posons le présupposé suivant qui en donnera le contour pour nos travaux. La syntaxe est caractérisée par ses éléments que sont :
– Les syntagmes, repérés comme parties du texte. Un syntagme est lui même constitué de mots (composés ou non), auxquels sont associées des catégories.
– Les catégories syntaxiques, associées à chaque syntagme ou à chaque mot. Nous pourrions adopter une autre axiomatique de la syntaxe (par exemple en définissant le syntagme à partir de mots simples et en ne reconnaissant pas les mots composés), ce qui rendrait immédiatement caduques tous les choix effectués ci-dessous et dans la suite de nos travaux. Une révision de cette base nécessiterait la refonte totale des théories et outils développés ici. Dans cette acception, l’analyse syntaxique qui pourra être effectuée couvrira non seulement la syntaxe au sens linguistique, mais aussi toute forme d’analyse d’informations pouvant être transcrites (analyse prosodique, morphologique, sémantique, pragmatique, discursive, etc.) Cet élargissement du sens découle de l’approche informatique inaugurée par la théorie des langages et la compilation des programmes. Les objets manipulés en deçà de ce terme, syntagmes et catégories -quoique ces termes soient empruntés au vocabulaire de la linguistique-, sont à définir pour chaque type d’analyse voulue. Nous proposons donc les précisions suivantes : Toute théorie du texte qui en suggérerait un découpage en groupes d’informations dotés d’une catégorie sera appelée dans nos travaux une syntaxe. Ainsi, la syntaxe et les autres domaines de la linguistique n’ont pas forcément à être en concurrence au moment du traitement du texte, mais peuvent simultanément être considérés comme des théories fondées sur une axiomatique du découpage textuel en unités pertinentes, que par abus de langage nous appellerons syntaxe. La superposition des unités obtenues par deux analyses dans le cadre de deux théories fondées par une même axiomatique syntaxique n’est pas garantie, c’est le cadre dans lequel nous devons travailler.
Pouvoir génératif / pouvoir analytique
Une notion qui oriente et alimente les débats entre linguistes et à présent entre linguistes et informaticiens est la générativité d’une théorie linguistique. Cette notion découle de l’affirmation suivante : la théorisation d’une langue doit être à même de décrire ses productions. Une grammaire doit donc, si on se positionne a priori dans une acceptation directe de cette idée, être générative, c’est à dire permettre de produire toutes les phrases bien formées d’une langue. Envisager les choses de cette manière amène à construire des grammaires pour lesquelles la production et l’analyse de faits de langue dépend d’un seule et même ensemble d’objets et de règles. D’autres courants admettent une idée différente, selon laquelle la génération et l’analyse peuvent ne pas relever du même processus ni d’une même grammaire. Le fait que l’analyse suppose la génération n’est pas surprenant. Lorsque nous questionnerons les formalismes et les techniques, nous observerons une complexification des représentation qui rend l’analyse possible tout en interdisant la génération. Il nous semble possible de classer les approches d’analyse en fonction de leur pouvoir génératif.
Complexité informatique
La complexité est le critère le plus important au sens informatique, une fois vérifiée la cohérence entre le programme et le modèle. L’entreprise de conception de projet place souvent ces deux critères sur le même plan. L’un n’allant pas sans l’autre. Par complexité, il faut entendre coût calculatoire des algorithmes mis en œuvre. Dans la notion de coût, en informatique, on doit distinguer : le coût théorique (CT) celui-ci se divise en :
– le coût théorique en nombre d’opérations élémentaires CTO(n) qu’un algorithme effectuera pour une entrée de taille n. Ce nombre est évalué mathématiquement en dehors de toute mise en pratique.
– le coût théorique en nombre d’unités de mémoire CTM(n) qu’un algorithme allouera pour une entrée de taille n. Ce nombre est évalué mathématiquement en dehors de toute mise en pratique. le coût effectif (CE) celui-ci se divise à son tour en :
– le nombre d’opérations élémentaires CEO(n) qu’un algorithme effectuera pour une entrée de taille n. Ce nombre est évalué statistiquement par la mise en pratique de l’algorithme sur des données concrètes.
– le coût effectif en nombre d’unités de mémoire CEM(n) qu’un algorithme allouera pour une entrée de taille n. Ce nombre est évalué statistiquement par la mise en pratique de l’algorithme sur des données concrètes. L’évaluation quantitative du temps de calcul n’est pas une bonne indication, car elle dépend du matériel utilisé. On parle pourtant de temps par abus de langage, pour désigner la complexité d’un algorithme. Les fonctions de complexité calculées ou mesurées se ramènent à de grandes familles de fonctions : les fonctions linéaires, polynômiales, exponentielles, factorielles . . . . Il est essentiel pour connaître la faisabilité d’un calcul, de savoir évaluer cette complexité, de savoir la comparer, et pour les algorithmes à grande variabilité, de la donner en termes de moyenne et d’extrema. Ce critère est primordial lorsqu’on procède à l’évaluation des algorithmes au sens informatique. Du point de vue de l’analyse syntaxique, ce critère est souvent antagoniste à la qualité des résultats. Le critère d’évaluation qui correspond à cette qualité linguistique des traitements se compose de plusieurs critères déjà abordés ici : la cohérence théorique, l’informativité du modèle. Il faut à cela ajouter un critère plus délicat et qui concerne les relations qu’entretiennent les théories et les grammaires entre elles : l’évaluabilité des résultats,que nous décrirons dans la quatrième partie de cette étude. Les problèmes posés par l’analyse syntaxique en termes de complexité sont très intéressants [Barton et al., 1987], mais à prendre avec précaution. Quand on parle de complexité, c’est en fonction de la longueur de la phrase à analyser. La taille de la grammaire (facteur constant) pouvant en pratique jouer un rôle beaucoup plus important, de même que les temps d’accès au lexique.
Robustesse
Quel que soit le système utilisé, il est difficile de prédire si celui-ci sera susceptible de fournir une analyse correcte ou bien d’échouer pour une entrée donnée. La robustesse d’un système qualifie sa capacité à répondre dans des conditions quelconques. Celle-ci peut s’évaluer en établissant une classification des types d’entrée. Des textes littéraires, journalistiques, spécifiques à des domaines (médicaux, administratifs, juridiques etc.) ou encore des transcriptions de l’oral, des mails etc. présentent des différences telles que la robustesse des systèmes qui les analysent peut y être comparée. Nous évaluerons ainsi nos analyseurs en comparant leurs scores de rappel et de précision par type de corpus dans la quatrième partie. Dans sa thèse, Nuria Gala présente des travaux directement liés au problème de la robustesse (voir [Pavia, 2003]). Son choix opérationnel a consisté en une construction de grammaires modulaires (où chaque module est un système de transducteurs) permettant de résoudre au cas par cas les difficultés résiduelles rencontrées durant l’analyse. Ainsi, certains phénomènes particuliers tels que les titres, les expressions parenthésées etc. reçoivent un traitement spécifique. Nous sommes nous aussi très conscients de la nécessité d’avoir un analyseur robuste, mais sans faire le choix préalable d’un système de résolution. Même si le choix d’un formalisme est nécessaire, nous chercherons à définir autant que possible un analyseur robuste pour lequel une seule grammaire est utilisée plutôt qu’un ensemble de modules grammaticaux. L’interaction entre les modules suppose de fait une précédence dans l’ordonnancement des tâches qui nous semble incompatible avec une analyse par contraintes pour laquelle chaque phénomène ne prime pas sur un autre
Nécessité et écueils d’un langage mathématique englobant
Les propriétés ne sont pas hiérarchisées, mais sont organisées comme des ensembles de contraintes ayant le même fonctionnement, même si le sens associé à chaque type de propriété diffère. Un ensemble de caractéristiques et d’attributs minimal permettant d’exprimer le processus de satisfaction de tous les types de propriétés peut être défini. La notation mathématique, faisant appel à la logique des propositions, ainsi qu’aux fonctions sur les propositions nous permettra de préciser le contexte de satisfaction pour les propriétés. En observant le fonctionnement de la précédence linéaire, nous nous trouvons face à la nécessité de comparer les positions des éléments de l’énoncé. Nous allons donc aussi utiliser les fonctions sur les entiers pour formaliser les GPs. Les possibilités offertes par une telle formalisation dépasseront la description des six propriétés habituelles et permettront d’en introduire de nouvelles, telles que la contiguité, l’interdiction etc. L’idée fondamentale des GPs est que toute contrainte portant sur les constituants d’une catégorie peut faire partie de l’ensemble des propriétés. En utilisant le formalisme que nous allons définir, nous allons nous doter d’un outil capable de décrire les propriétés habituelles plus un certain nombre d’autres qui peuvent se révéler intéressantes, mais nous nous fermerons à d’autres possibilités. Le problème qui se pose est le même que celui d’une programmation dédiée à la résolution d’un problème. En extrapolant suffisamment, nous pouvons programmer un outil capable de résoudre des problèmes de la même classe, mais pas forcément tous les problèmes de la même classe. En d’autres mots, la liste des caractéristiques logico-mathématiques permettant de décrire des Grammaires de Propriétés n’est pas complète. Nous ne prétendons pas faire le tour de toutes les contraintes pouvant porter sur un énoncé, mais de permettre l’expression d’un ensemble assez vaste d’entre elles. Plusieurs questions se posent autour des choix de formalisation que nous allons faire ici. Tout d’abord, existe-t-il une justification ou une motivation cognitive aux choix d’un type de propriété plutôt qu’un autre ? Nous ne pourrons pas répondre à cette question. Des expériences sont actuellement menées à ce propos pour décider de la qualité et de l’importance relative de certaines propriétés telles que la dépendance et la précédence linéaire. Deuxièmement, est-il possible de réaliser une liste exhaustive des contraintes que nous pourrons définir à l’aide de notre formalisation ? Là encore, après avoir défini notre approche, il apparaîtra à la fois impossible et inutile de dresser une telle liste. Tout au plus, nous pourrons mieux voir quelles sortes de contraintes ne peuvent pas être définies à l’aide de notre modèle. Par exemple, avec les limites que nous allons poser, il sera impossible de créer des propriétés de constituance indirecte (vérifier si un groupe nominal contient un groupe contenant un adjectif, par exemple). Ces limites apparaîtront clairement lorsque notre modèle sera défini
|
Table des matières
Table des figures
Liste des tableaux
Liste des algorithmes
Liste des définitions
Introduction générale
Partie I Pour la définition d’un modèle d’analyse à granularité variable
Chapitre 1 Courants et besoins en analyse syntaxique
1.1 Premières approches symboliques
1.2 Approches numériques
1.3 La notion de contraintes dans les approches symboliques
1.4 Résumé
Chapitre 2 Discussion des critères déterminants en analyse syntaxique
2.1 Autour du mot syntaxe
2.2 Des critères formels aux critères applicatifs
2.2.1 Informativité
2.2.2 Pouvoir génératif / pouvoir analytique
2.2.3 Déterminisme et ambiguïté
2.2.4 Grammaticalité
2.2.5 Complexité syntaxique
2.2.6 Couverture théorique
2.2.7 Traçabilité
2.2.8 Terminaison, calculabilité et décidabilité
2.2.9 Complexité informatique
2.2.10 Robustesse
2.3 Granularité
2.3.1 Granularité variable
Chapitre 3 Les Grammaires de Propriétés
3.1 Concepts fondamentaux
3.1.1 Catégories
3.1.2 Types de traits et traits
3.1.3 Types de propriété et propriétés
3.1.4 Caractérisation
3.1.5 P+, P-, P0
3.1.6 Projection des catégories non contrainte
3.1.7 Projection des catégories contrainte
3.1.8 Projection des catégories
3.1.9 Propagation des traits
3.1.10 Propagation non conditionnelle
3.1.11 Propagation conditionnelle
3.2 Formalisation des Grammaires de Propriétés
3.2.1 Nécessité et écueils d’un langage mathématique englobant
3.2.2 Un objectif computationnel
3.2.3 Plan de la formalisation
3.2.4 Formalisation de l’énoncé analysé
3.2.5 Formalisation des grammaires
3.2.6 Formalisation de la sémantique des grammaires
3.2.7 Formalisation de la caractérisation
3.3 Représentation des Grammaires de Propriétés
3.3.1 Représentations à but computationnel
3.3.2 Spécification de la linéarité
3.3.3 Spécification de l’obligation
3.3.4 Spécification de l’exigence
3.3.5 Spécification de l’exclusion
3.3.6 Spécification de la dépendance
3.3.7 Spécification de l’unicité
3.3.8 Spécification de nouvelles propriétés
3.3.9 Grammaire des GPs
3.4 Caractéristiques importantes
3.4.1 Définitions
3.4.2 Conclusion
Partie II Ressources et outils
Chapitre 4 La plateforme LPLSuite
Chapitre 5 Dictionnaire
5.1 Le lexique DicoLPL
5.2 Le module Dictionnaire
Chapitre 6 Segmenteur
Chapitre 7 Étiqueteur
Chapitre 8 Enrichissement des ressources
8.1 Fréquenceur
8.2 Mesure de couverture
8.2.1 Mesure de couverture
8.2.2 Mesure de score
8.3 Autres techniques d’enrichissement
Chapitre 9 Un lexique noyau du français contemporain
9.1 10.000 formes couvrent 90% de l’usage écrit
9.2 Techniques de sélection du lexique noyau
9.3 Comparaison des différentes versions du lexique noyau
9.4 Conclusion
Partie III L’analyse syntaxique avec les Grammaires de Propriétés
Chapitre 10 Analyseurs développés pour les comparaisons
10.1 Un parenthéseur simple
10.2 Un analyseur superficiel et déterministe basé sur les Grammaires de Propriétés
10.3 Un analyseur profond et non déterministe basé sur les Grammaires de Propriétés
Chapitre 11 Un analyseur à granularité variable
11.1 Modèle de graphes pour la représentation des Grammaires de Propriétés
11.2 Implantation du modèle de graphes pour la spécification sémantique des Grammaires de Propriétés
11.3 Implantation du modèle de graphes pour les Grammaires de Propriétés
11.4 Implantation du modèle de graphes pour la caractérisation d’une entrée avec les Grammaires de Propriétés
11.5 Interconnections entre les trois graphes
11.6 Elements d’analyse
11.7 Exemples commentés
11.8 Déterminisation
11.9 Conclusion
Partie IV Evaluation des outils
Chapitre 12 Evaluation de la complexité des algorithmes
12.1 Complexités mesurées
12.2 Complexité de l’analyseur superficiel
12.3 Complexité de l’analyseur intermédiaire
12.4 Complexité de l’analyseur profond
12.5 Complexité de l’analyseur à granularité variable
12.6 Conclusion
Chapitre 13 Evaluation qualitative sans référence
13.1 Un multiplexeur pour l’évaluation comparative des parseurs
13.2 Première expérience
13.3 Seconde expérience
13.4 Conclusion
Chapitre 14 Evaluation qualitative avec corpus de référence
14.1 Evaluation de l’étiqueteur
14.2 Evaluation des analyseurs syntaxiques (la campagne EASY)
14.2.1 L’évaluation d’analyseurs syntaxiques
14.2.2 La campagne EASY
14.2.3 A propos des constituants
14.2.4 Grammaire
14.2.5 Résultats préliminaires
Chapitre 15 Conclusion
Partie V Applications
Chapitre 16 Développement et validation de grammaires
16.1 Un outil dédié à LPLSuite : Accolade
16.2 Développement et validation des grammaires sur corpus
Chapitre 17 Intégration logicielle
17.1 Synthèse vocale : Syntaix
17.2 Plateforme de Communication Alternative : PCA
17.3 Conclusion
Conclusion générale
Annexes
Annexe A DTD des textes étiquetés
Annexe B Grammaire BNF et DTD des Grammaires de Propriétés
B.1 Grammaire BNF
B.2 DTD
Annexe C Grammaire BNF et DTD de la Spécification Sémantique des Grammaires de Propriétés
C.1 Grammaire BNF
C.2 DTD
Annexe D Une représentation XML de spécification sémantique des Grammaires de Propriétés
Annexe E Une représentation XML de grammaire de propriétés
Annexe F Format des entrées du lexique
Bibliographie
Télécharger le rapport complet