.1. Introduction | 0.1. Résumé | ||
.0.2 Abstract | 0.3. Mots-clefs | ||
.2. Changement de sujet } | A. B. |
Graphique des phrases dans Hamlet Tableau des tirades dans Hamlet |
|
.3. Continuité du discours } | C. D. |
Graphique des phrases, Terre des hommes Tableau des paragraphes de Terre des hommes |
|
.4. Autres figures | E. | Graphique des phrases dans Pilote de guerre | |
.4.1 Constance | F. | Tableau sur la continuïté, Pilote de guerre | |
.4.2 Déclin | G. | Tableau sur le déclin pour Pilote de guerre | |
.4.3 Accroissement | H. | Tableau sur l'accroissement, Pilote de guerre | |
.4.4 Chute | I. | Tableau sur la chute pour Pilote de guerre | |
.4.5 Superposition | J. | Tableau sur la superposition, Pilote de guerre | |
.5. Application d’un nuage de bulles aux mots-outils | K. | Graphique sur les mots-outils, Le Petit Prince | |
.6. Conclusion | |||
.7. Une bibliographie indicative sur le longueur des phrases |
.A. | Graphique en secteur du volume de l'œuvre |
.B. | Graphique du volume de l'œuvre avec Citadelle |
.C. | Tableau du relevé des occurrences pour l'étude |
.D. | Tableau du relevé des occurrences dans Frantext |
.A. Mots commençant par e | |
.B. Prénoms, pays et communes fr. | .F. Caractères spéciaux |
.C. Abréviations | .G. Interjections |
.D. Mots-outils et assimilés | .H. Dictionnaire des catégories |
.E. Mots composés | .I. Dictionnaire des noms propres |
Il n’y a pas qu’une façon d’envisager l’écriture d’un catégoriseur : « There are two basic approaches to part-of-speech tagging : rule-based and probabilistic. » (Tufis, 1998 : 2). La seconde, aussi appelée stochastique, est largement plus utilisée, comme en témoignent les nombreux travaux y faisant référence. Le principe en est un corpus référent ou des séquences préétiquetées aiguillant le résultat selon des procédés statistiques, calculant la plus grande probabilité de pointer telle ou telle étiquette.
L’approche stochastique permet d’appliquer le système à n’importe quelle langue, et de poser des systèmes probabilistes indépendamment de toute réflexion linguistique dès lors qu’elle s’appuie sur le corpus étiqueté, c’est-à-dire une base autonome modélisée sous forme mathématique. Elle offre d’entrer dans la problématique des sciences cognitives en appliquant des méthodes d’intelligence artificielle laissant le soin au moteur d’inférence de choisir la meilleure solution en fonction des données et des corrections apportées. Elle s’inscrit aussi dans un courant usant de la statistique lexicale, et du principe de prévisibilité de la chaîne de Markov. La conception arborescente n’est pas sans analogie avec la grammaire générative, et permet aussi des algorithmes plus sélectifs et un gain de temps de traitement notable, offrant un codage dans les langages de haut niveau.
Notre approche se situe dans la famille des règles, proposant une avancée hiérarchique des problèmes posés, du plus simple au plus compliqué, en les traitant bloc à bloc. Il s’agit d’un point de vue purement morphosyntaxique, sans faire appel à des fonctions mathématiques. Elle traite chaque forme comme signe informatique pour lui redonner sa valeur de mot, et ne deviendrait probabilité que par conséquence, dans le parcours qu’elle propose au mot pour le résoudre.
Les méthodes probabilistes récentes seraient en quelque sorte une base grammaticale textuelle au contraire de notre approche qui décrit une grammaire proprement dite. L’on pourrait sommairement opposer le stochastique et le « séquentiel » entre le descriptif et le prescriptif, puisque l’un utilise un texte, c’est-à-dire la langue en données à demi brutes, et l’autre une grammaire, et donc un code prédéfini.
A priori le meilleur système serait une combinaison des deux, en ce que la grammaire puisse être relayée par un corpus en situation, pour multiplier les indices, pallier l’absence de test positif pour les règles grammaticales ; pour le stochastique, lorsque la probabilité est trop incertaine dans le corpus étiqueté par l’absence d’une séquence ou par sa complexité. Il permettrait de mêler logique linguistique et données mathématiques. L’on pourrait tout aussi bien attribuer des valeurs probabilistes à chaque règle, et c’est vraisemblablement ce qu’il conviendrait dès lors qu’est visée l’aire sémantique où les paramètres se démultiplient.
Il serait dommage de mettre en concurrence les deux approches d’autant que la dissection du code d’un catégoriseur pourrait bien révéler des phases de traitements mixtes, involontairement ou pas.
La problématique de la catégorisation par règles ne se poserait pas en terme de réussite, mais de ressources : « Leur fiabilité n’est pas mauvaise au regard des étiqueteurs probabilistes. Leur simplicité de mise en œuvre et l’optimalité des algorithmes les rendent séduisants, mais ils réclament des données nombreuses qui sont généralement écrites à la main. » (Clément, 2001 : 152). Les méthodes stochastiques, quant à elles, se trouveraient confrontées à la même impasse que les ambitieux catégoriseurs sémantiques dès lors que les étiquettes sont de plus en plus précises, pour puiser l’ensemble des cas dans le corpus référent : « Ainsi, quelle que soit la taille du corpus utilisé, le problème de la dispersion des données reste un obstacle majeur. » (Audibert, 2003 : 34).
Rendre compte du texte implique de dépasser les seules catégories pour considérer la dimension logique/fonctionnelle. Il existe des analyseurs de cette dernière, comme Link Parser ou Cordial. La distinction revient à parler de grammaire de dépendances, pour les syntagmes, et analyse en constituants, pour les mots. Notre programme prend en compte pour partie la dimension fonctionnelle et la ramène à la catégorie. Pour les analyseurs de dépendances, la question du constituant se pose de toute façon : « Il faut noter que " that " pose parfois des problèmes à cause de sa double nature, déterminant et pronom relatif. » (Aubin, 2003 : §4.8).
La catégorisation par règle peut paraître lourde au regard de l’image de technologie de pointe des sciences cognitives, et en porte-à-faux au principe de l'intelligence artificielle, qui écarte la contrainte de l'exhaustivité. Toutefois la taille d’une base de règles est vraisemblablement la voie pour prétendre à réaliser la diversité des articulations grammaticales de la langue. Une grammaire traditionnelle n’est crédible que parce qu’elle est complète, pour ainsi dire tenant plus d’un pavé que d’un bréviaire. Enfin, comme argumenté dans notre introduction, le développement des ressources serait la clef de voûte pour des étiquettes grammaticales qui n’en restent pas au palier scolaire.
La grammaire programmée pour notre catégoriseur se veut aussi importante que structurée. Elle présente un système progressif et compartimenté dont le principal intérêt est de pouvoir simplement accéder, reprendre et surtout amplifier une règle grammaticale. La finalité n’étant pas la performance de l’étiquetage, mais la pertinence du compte rendu du fonctionnement grammatical. Le taux de réussite, à tort critère majeur dans nombre d’études, est une conséquence indirecte de la qualité du reste, et n’est atteint que parce qu’il repose sur des mises au point scrupuleuses.
Ce chapitre n'aborde que peu le code du programme, cela reviendrait à entrer dans une dimension proprement informatique. Il y est décrit son algorithme et le fonctionnement des règles. Celui-ci se base sur la progression d'une variable contenant le texte et subissant une suite linéaire de transformations. Certaines d'entre elles sont répétées, jusqu'à quatre cinq fois. Le code comporte environ 230 procédures.
Le programme procède comme tout système expert : une base de fait, dans ce cas le corpus textuel déjà complété avec l’ensemble des étiquettes pour chaque mot ; une base de règles, ici les règles grammaticales, qui va être appliquée à la précédente ; enfin un moteur d’inférence qui exploite la base de règles, pour aiguiller vers telle ou telle balise.
La rédaction de notre programme de catégorisation se déroule en trois étapes. La première est l'adaptation ou l'écriture de bases de données lexicales. Viennent ensuite les règles grammaticales spécifiques à chaque type d'ambiguïtés, qui sont à peu près concomitantes avec le codage du moteur d’inférence permettant d'accueillir toutes ses exigences. La dernière étape est le calibrage de l’ensemble par la modification du moteur, l’enrichissement des dictionnaires et des règles.
En dehors des instructions fondamentales, un travail sur les chaînes de caractères et les listes a été déterminant. Les requêtes pour base de données et les modules de mathématiques n'ont pas été exploités, de même que les expressions régulières qui ont joué un rôle mineur, les opérations combinatoires étant peu complexes et les instructions conditionnelles suffisantes. Les développements en programmation procédurale et sur les tableaux, gestion directe de listes et de chaînes de caractères, isolent chaque problème et forment un environnement de traitement lexical, où le débogage est facilité et les fonctions compartimentées en opérations lexicales générales (concaténation, accentuation...), opérations spécifiques de catégorisation (fusion des mots composés, réécriture d’une balise...), segmentation du texte, extraction des données, moteur d’inférence, base des règles et interface graphique.
Certaines opérations sont des fonctions du menu du logiciel, permettant une décomposition des paliers et une modularité des traitements (§ II.2., logiciels de linguistique), le raccord direct avec le langage de programmation restant encore à imaginer.
L’exécution du programme se déroule en quatre étapes. La première consiste en un découpage lexical. Le programme décolle la ponctuation, comme le point ou l'apostrophe, sépare les constructions Verbe + Pronom ou les mots-outils reliés par un trait d'union. Il prend aussi en compte les sigles et les mots à l'apostrophe figée. Il en ressort un texte où chaque forme est séparée de la précédente selon des critères linguistiques. Parmi les difficultés l'on peut relever le point, qui peut être final, de suspension et entrer dans la composition des sigles. Le détail du découpage est donné au chapitre IV.2. sur le format des balises.
La seconde étape attribue à chaque forme toutes les natures grammaticales correspondantes dans la base, ce qui peut donner des formes particulièrement riches, comme « bien » ou « que ». C’est ensuite que les règles opèrent sous forme de requête. La troisième va opèrer une sélection croissante sur chaque étiquette de façon à ne laisser qu’une catégorie. Enfin, la dernière étape consiste à formater le résultat brut, abrégé ou codé, pour une nouvelle base lexicale.
A. Schéma VII de l’algorithme du programme de catégorisation
Dans le cadre d’un fonctionnement informatique la priorité est logiquement donnée à la morphologie puis à la syntaxe, distinction semblable aux chaînes et listes. Le rôle de la morphologie se situe au commencement du traitement. Chaque mot est reconnu puis décrit grâce à la base lexicale. Il s’agit de la phase d’extraction et d’étiquetage, étape I et II. C’est dans un second temps que la syntaxe intervient et domine, étape III.
Nous avons ici deux angles d’approche de la morphosyntaxe. L’une pour la norme, l’autre pour les règles qui usent de la norme.
Les ambiguïtés sont résolues à l'échelle du paragraphe, de la phrase et du syntagme, dont une large majorité pour ce dernier. Elles officient par bloc et par ordre de complexité. Les règles sont écrites comme une séquence, celle simple : Dét + Nom Ver + Ver, va aiguiller la forme ambiguë sur Nom.
La règle prend place dans une architecture en terme de variable, de hiérarchie et de répétition, § 4.2. Les variétés d’écritures, de possibilités de la requête, étant la clef d’une résolution.
Pour exemple d’une problématique nominale, en début de chaîne se trouve la procédure des Nom:Prop puis en milieu, celui des Adj Nom Ver, enfin des Nom. Au fur et à mesure de la progression les possibilités de critères et de choix se font plus importantes, afin de gérer des structures comme les énumérations, les comparaisons ou les enchaînements d'ambiguïtés. Certains blocs sont secondés par le découpage ou la fusion d'une balise, et par des investigations dans le cotexte.
- une catégorie sans trait, Dét ;
- une catégorie avec trait(s), Dét:Indé ;
- une combinaison de catégorie, Adj Nom Ver ;
- une catégorie incluse dans une combinaison, sans trait,
Ver dans Adj Nom Ver ;
- une catégorie incluse dans une combinaison, avec trait(s),
Ver:IPré dans Adj Nom Ver ;
- une fin de trait incluse dans une combinaison,
Mas+PL dans Adj Nom Ver ;
- un lemme, piloter ;
- une forme, pilotant ;
- une forme vide, servant à se déplacer ou à rendre supprimable ;
- une liste de lemmes, être sembler paraître ;
- une liste de formes vers sur dans.
Comme il a été vu ci-dessus la requête est une séquence simple, dont le contenu est plus ou moins chargé. L’exemple, « L’alerte ferme la porte. » : Dét Pro + Adj Nom Ver + Adj Nom Ver + Dét Nom Pro + Adj Nom Ver, montre une séquence particulièrement ambiguë, donc ignorée des premières séries de règles, (déterminants et verbe). Elle ne sera traitée que dans le bloc qui est consacré aux combinaisons complexes. À l’intérieur, la solution va prendre appui sur le fait que la troisième forme devrait être verbe selon le principe canonique Dét + Nom + Ver, par conséquent le reste des opérations découlera de la nouvelle séquence Dét Pro + Adj Nom Ver + Ver + Dét Nom Pro + Adj Nom Ver. Les règles exigent l’ambiguïté potentielle, la règle grammaticale comprenant la séquence et la balise à attribuer, ajouter ou supprimer, si le test est positif.
Une liste de mots peut reprendre tous les critères pour constituer des champs lexicaux, et peut aussi récupérer une séquence pour poser des incidentes. Il s’agit du principe de la variable qui va pouvoir se segmenter et former une règle combinatoire. Par exemple, le marqueur ((adv pour adverbe supprimable dit que dans la règle Auxiliaire + Adverbe supprimable + Ver, l’on va trouver deux requêtes : Aux + Ver, Aux + Adv + Ver. Il est possible d'amplifier la syntaxe pour insérer une troisième requête, Aux + Adv + Adv + Ver, en rédigeant une variable adv_c=["((adv","((adv"]. C’est ainsi que sur les quelque deux mille cinq cents règles rédigées, le programme en génère environ seize mille.
Un premier facteur, déterminant, est celui de la hiérarchie des problèmes. Il se pose en amont les séquences les plus stables, courtes, comme Dét + Nom Ver, et les formes les moins chargées, les plus spécifiques, comme les noms propres. Pour exemple, une règle dit que avoir + Ver:PPas Adj aiguille sur le participe passé, mais la forme « avions » est ambiguë. Le traitement de déterminants et noms, qui est une séquence élémentaire, doit précéder celui des participes passés afin de résoudre le cas « avions » en aval : « À bord des avions découverts, par mauvais temps, on s’inclinait hors du pare-brise, [...] » (Terre des hommes).
Le second facteur est la répétition des blocs. Le programme effectue plusieurs passages sur chaque règle puisqu’elle ne fonctionne que si la séquence est suffisamment renseignée. Les règles complètent le texte à la manière d’un puzzle, dont la moitié serait initialement constituée. Le nombre de répétition, limité à environ deux à cinq, est fixé pour l’heure de manière empirique. Ainsi, les blocs du milieu ceux des combinaisons et séquences complexes, comme les Adj Nom Ver sont les plus susceptibles de ne pas être résolues lors d'un premier passage. Le problème résidant en ce que le temps de traitement est immédiatement multiplié par deux ou par trois.
La correction s’effectue après impression sur papier ou sur écran en déroulant le texte sous forme de listes. Même si ces méthodes sont lentes, elles ont le mérite d’être méticuleuses. Les contraintes de style font qu’un problème est susceptible d’être récurrent au sein d’un corpus de même auteur. Le taux d’erreur est très variable, parfois élevé à l’incipit où apparaissent plus aisément des mises en formes peu standards, comme des dates, des citations ou des formules d'introduction, et logiquement plus dilué par la suite.
Une erreur déduite à partir du texte étiqueté va se retrouver dans le programme de vérification. Celui-ci est une liste, sorte de tableau de bord récapitulant l’ensemble des aiguillages. Une fois identifiée la requête fautive, en ayant suivi la trajectoire de la forme dans les règles, la correction est appliquée. L’ajustement consiste à ne pas forcer le résultat afin qu’il demeure la conséquence d’un indice pesant de son juste poids dans la chaîne, comme décrit dans le chapitre précédent sur le facteur hiérarchique.
Une fois atteint un taux de réussite satisfaisant qui invite à débusquer l’erreur plutôt qu’à la gérer, des méthodes d’alignement de corpus catégorisés vérifiés/non vérifiés et d’observation des règles seraient envisagées, associant alors une stratégie stochastique. Amorcée en 2003 la catégorisation a commencé à fournir des textes étiquetés propres début 2005.
Thèse sur les logiciels de catégorisation, (Céline Poudat), « Texto »
http://www.revue-texto.net/Corpus/Publications/Poudat_Taggers.html
La convention grammaticale, pour Notule 1.1 IV. Le récapitulatif des balises en usage dans Notule 1.1 |
Un état des ambiguïtés La description catégorielle III.3. La gestion de l’ambiguïté II.4. |
|
La page d’accueil Le sommaire des pages |
Imprimer |
|
Rédaction
: 01.04.2004 Publication : 01.06.2007
http://cadrat.saynete.net2003 - 2024 |