Etiquettes lexicales, grammaires Eric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée France http://www-igm.univ-mlv.fr/~laporte/
Objectifs Tokenisation Rappel et précision en recherche d'informations Élaboration d'une requête Grammaires locales Informations lexicales Etiquettes lexicales Lexiques pour le traitement des langues Ambiguïtés Consultation Structures de traits Recherche de formes Masques lexicaux
Tokenisation
Tokenisation (1/2) Tokens : éléments simples d'un texte écrit Passer d'une séquence de caractères à une séquence de tokens Je vais fermer l'autre porte /Je/vais/fermer/l/'/autre/porte/ Définition des tokens Les mots délimités par des espaces ? /l'autre/ /autre,/ Certains symboles - peuvent gêner la comparaison entre mots - peuvent avoir une importance en eux-mêmes /l/'/autre/ /autre/,/ Tokens-mots et tokens-non-mots
Tokenisation (2/2) Définition par les délimiteurs Simple Fournit seulement les tokens-mots Définition par les tokens Fournit les tokens-mots et les tokens-non-mots Permet de séparer 2 tokens sans délimiteur. Ex. : 60%, 1970s, G8 Dans les deux cas, expressions rationnelles [^\w\s] un symbole de ponctuation \w+ une séquence d'1 ou plusieurs caractères alphanumériques \d+ une séquence d'1 ou plusieurs chiffres
Algorithme de tokenisation (1/2) Entrées : le texte, séquence de caractères ; une ou plusieurs expressions rationnelles définissant les tokens Sorties : une séquence de tokens tant que le texte n'est pas fini { pour chaque expression rationnelle { appliquer l'expression au texte en allant le plus loin possible marquer dans le texte la position obtenue } si aucune marque alors passer au caractère suivant sinon { conserver seulement la marque la plus à droite copier sur la sortie depuis le caractère courant jusqu'à la marque prendre comme caractère courant le caractère marqué } }
Algorithme de tokenisation (2/2) Je vais fermer l'autre porte | | ^ Je | ^ vais ...
Expressions rationnelles (1/2) Notations en grep, sed, vi, emacs, flex, perl, python... Détails des conventions différents pour chaque programme [0123456789] 0|1|2|3|4|5|6|7|8|9 [0-9] 0|1|2|3|4|5|6|7|8|9 [^a-zA-Z] 1 caractère autre que [a-zA-Z] CLEF? CLE|CLEF [0-9]+ [0-9][0-9]* . 1 caractère autre que fin de ligne (\n) ^Le "Le" si placé en début de ligne dernier$ "dernier" si placé en fin de ligne \|\(\)\*\[\?\+\.\^\$\\ |()*[?+.^$\
Expressions rationnelles (2/2) Notation en python \s 1 espace, fin de ligne ou tabulation \w 1 caractère alphanumérique \d 1 chiffre
Le tokeniseur de NLTK >>> from nltk_lite import tokenize >>> phrase = "Je vois l'autre." >>> list(tokenize.regexp(phrase, "[^\s]+") ['Je', 'vois', "l'autre."] >>> Pour ne pas mélanger les types de caractères dans un token : >>> list(tokenize.regexp(phrase, "[\w]+|[^\s\w]") ['Je', 'vois', 'l', "'", 'autre', '.']
Les tokeniseurs d'Unitex Pour chaque langue, un tokeniseur sans paramétrage possible Définition par les tokens
Codage des tokens Objectifs de la normalisation Faciliter l'échange de données et d'outils Formats lisibles, pas toujours adaptés au traitement direct Les normes sont discutées par des experts variés Elles sont compatibles avec des théories variées Norme en construction Organisation internationale de normalisation (ISO) Elément token: attribut value, attribut id, contenu textuel <token value="par" id="t8">par</token> <token value="page" id="t9">page</token> Attribut value: peut représenter une forme sous-jacente <token value="de" id="t5">d</token><token value="le" id="t6">u</token>
Format des fichiers Unitex pour le codage des textes Unitex: outil logiciel libre pour l'analyse de textes par lexique (Sébastien Paumier, Université de Marne-la-Vallée) Formats adaptés au traitement par lexique Référence : manuel en français, anglais tokens.txt, liste des tokens du texte, sans répétitions 0000073572 Au lecteur Glória Kreinz text.cod, fichier binaire équivalent au texte: chaque token est représenté par un numéro déduit de la position du token dans le fichier précédent Numéros codés sur 4 octets, à partir de zéro
Rappel et précision en recherche d'informations
Rappel et précision en recherche d'informations (1/2) Critères de succès Rappel : détecter le plus possible de formes désirées Précision : retenir le moins possible de formes non désirées
Rappel et précision en recherche d'informations (2/2) Rappel Nombre de de documents retenus parmi les documents désirés D&R/D Exemple : requête justice documents désirés ministre de la Justice retenu garanties accordées aux justiciables en améliorant la formation des magistrats non retenu Précision Nombre de documents désirés parmi les documents retenus D&R/R Exemple : requête rentrée documents retenus bien préparer la rentrée des classes désiré Titine est rentrée à la maison non désiré
Rappel et précision (1/5) Deux valeurs indépendantes dont l'évolution est habituellement antagonique Bruit + précision = 1 Silence + rappel = 1 Evaluation précise du rappel et de la précision - Marquer manuellement les documents désirés - Appliquer le système et marquer les documents retenus - Compter les documents à la fois désirés et retenus (D&R) - Calculer le rappel (D&R / D) et la précision (D&R / R) A cause du marquage manuel, ne peut être fait que sur un petit corpus
Rappel et précision (2/5) Graphique rappel/précision précision 1 rappel 1
Rappel et précision (3/5) Effet d'un relâchement de contrainte Exemple : admettre des équivalents sémantiques Le rappel a tendance à augmenter, la précision à diminuer (pluls de documents) précision 1 rappel 1
Rappel et précision (4/5) Effet d'un resserrement de contrainte Exemple : relever le seuil de proximité exigé entre requête et document Le rappel a tendance à diminuer, la précision à augmenter (moins de documents) précision 1 rappel 1
Rappel et précision (5/5) Objectif de la recherche d'informations Augmenter à la fois le rappel et la précision Cas du modèle vectoriel - jouer sur le seuil de proximité - pré-traitement du texte : lemmatisation Exemple : requête rentrée documents bien préparer la rentrée des classes bien préparer le rentrée du classe retenu Titine est rentrée à la maison Titine être rentrer à le maison non retenu C'est un pré-traitement qui nécessite des données linguistiques
Le rappel et les variantes Causes du silence Variations dans la façon d'exprimer une idée - pluriel, féminin, conjugaison (morpho-syntaxe) ministère ministères - synonymes loi règlement - dérivés justice justiciable - langues ministère ministry etc. Relâchement de contrainte Admettre des variantes
La précision et l'ambiguïté Causes du bruit Ambiguïtés (une forme, plusieurs interprétations) bien préparer la rentrée des classes Titine est rentrée à la maison Resserrement de contrainte Sélectionner les formes dont l'interprétation correspond à la requête
Amélioration de la requête Objectif Augmenter à la fois le rappel et la précision en améliorant la requête Rappel Relâcher des contraintes sur les variations Méthode : étendre la requête dans le sens de l'union (plus d'occurrences) Précision Resserrer des contraintes sur l'ambiguïté Méthode : étendre la requête dans le sens de la concaténation (moins d'occurrences)
Relâcher des contraintes sur les variations - pluriel, féminin, conjugaison (morpho-syntaxe) <ministère> = ministère + ministères <règlement> = règlement + règlements <juger> = juger + juge + juges + jugé + jugés + jugée + jugées + jugeons + jugez + jugent... - synonymes loi + règlement - dérivés justice + justiciable - autres ("association") justice + <magistrat> + <avocat> + <tribunal> + <juge>... <ministère> : masque lexical Etendre la requête en une union de plusieurs requêtes
Resserrer des contraintes sur l'ambiguïté En décrivant le contexte d'un mot ambigu, on sélectionne certaines interprétations requête documents retenus rentrée bien préparer la rentrée des classes Titine est rentrée à la maison est rentrée Titine est rentrée à la maison la rentrée bien préparer la rentrée des classes rentrée des classes bien préparer la rentrée des classes Etendre la requête en une séquence de plusieurs mots
Grammaires locales Une grammaire locale est une requête qui peut comporter - plusieurs variantes - des séquences de plusieurs mots Forme améliorée de requête L'amélioration des requêtes est-elle automatisable ? Construction manuelle des grammaires locales On la représente par un graphe avec un éditeur graphique Unitex : FSGraph
Méthode d'amélioration d'un graphe avec un corpus Relâcher une contrainte Faire une concordance sur le corpus Resserrer la contrainte en fonction de la concordance Itérer précision 1 rappel 1
Relâcher/resserrer des contraintes dans une grammaire locale (1/2) Allonger des chemins Ajouter du contexte gauche ou droit dans le graphe : resserrement de contrainte (moins d'occurrences) Raccourcir des chemins Supprimer une partie du contexte gauche ou droit dans le graphe : relâchement de contrainte (plus d'occurrences)
Relâcher/resserrer des contraintes dans une grammaire locale (2/2) Ajouter des chemins Ajouter des variantes parallèles dans le graphe : relâchement de contrainte (plus d'occurrences) Remplacer un masque lexical par un autre plus général : relâchement de contrainte Supprimer des chemins Remplacer un masque lexical général (ex. <V>) par une liste de mots : resserrement de contrainte
Informations lexicales Ces opérations nécessitent des informations sur les mots Pluriels, synonymes, ambiguïtés...
Informations lexicales
Informations lexicales (1/2) Informations codifiées qui constituent les étiquettes des mots Traits traditionnels Catégorie grammaticale : substantif, verbe, adjectif... Sous-catégories : indéfini, possessif... Traits flexionnels : masculin, féminin, neutre, singulier, pluriel, comparatif, nominatif, génitif... Traits syntaxiques : transitif, accepte une complétive sujet... Traits sémantiques : humain, concret, abstrait, comptable... Formes canoniques Formes sous-jacentes Relations entre entrées
Informations lexicales (2/2) Lemme Une des formes fléchies choisie pour les représenter toutes olivier,olivier.N:ms oliviers,olivier.N:mp La notion de lemme facilite l’organisation des données : de nombreuses informations ne dépendent pas de la flexion et peuvent être rattachées aux lemmes Utilisation pour diminuer le nombre de dimensions dans le modèle de l'espace vectoriel
Relations entre entrées lexicales Les relations exploitables sont de nature sémantique et parfois syntaxique connecter/relier confondre/confusion Elles sont liées aux autres informations lexicales : la dérivation tendre/tension n’est valable que pour tendre verbe Relations purement sémantiques (thésaurus, réseau sémantique) : manger/repas connecter/relier Relations sémantico-syntaxiques (lexique-grammaire) : N0 confondre N1 (avec + et) N2 N0 faire Det confusion entre N1 et N2
Quantité d’information lexicale Nombre de valeurs possibles d’un trait donné : - 2 (mot grammatical/mot plein) : Google - 15 (catégorie grammaticale) : corpus classiques - des dizaines de milliers (lemme) : lexiques inclus dans Unitex, thésaurus Le nombre de valeurs différentes d’un trait mesure la quantité d’information qu’il apporte
Jeux d’étiquettes lexicales (1/2) Les corpus classiques n’incluent pas le lemme parmi les informations lexicales Brown (1981) : 4 lemmes, 119 étiquettes, presque sans mots composés Penn (1993) : 1 lemme, 36 étiquettes, presque sans mots composés Les lexiques inclus dans Unitex sont beaucoup plus informatifs : DELAF (1990) : 170 000 lemmes, 950 000 étiquettes, réductibles à 1 000 sans perte d’information Corpus arboré du français (2003) : comparable aux lexiques d'Unitex (même origine : LADL)
Jeux d’étiquettes lexicales (2/2) 950 000 étiquettes réductibles à 1 000 sans perte d’information Forme fléchie Etiquette médiatrice médiateur.N:fs On suppose la forme fléchie connue et on simplifie l'étiquette Forme fléchie Etiquette médiatrice 3eur.N:fs Le nombre d'étiquettes différentes diminue sans perte d'information
Lexiques pour le traitement des langues
Lexiques pour le traitement des langues (1/2) Les informations lexicales ne sont pas prévisibles à partir de la forme des mots : mouvement, nom brièvement, adverbe tendre, verbe tendre, adjectif Les lexiques électroniques recensent les mots et les étiquettes correspondantes Une entrée lexicale est l’association d’une forme et des informations lexicales correspondantes La construction des lexiques électroniques est-elle automatisable ?
Lexiques pour le traitement des langues (2/2) Nombre d’entrées dans les dictionnaires DELA 90 000 entrées de lemmes simples (680 000 entrées fléchies simples) Mémoire occupée : 21 Mo Forme comprimée avec accès rapide adaptée au traitement direct : 1,8 Mo (automate minimal, 100 000 états, 230 000 transitions) 270 000 entrées fléchies composées Mémoire occupée : 13 Mo Forme comprimée avec consultation rapide : 7,2 Mo (automate minimal, 840 000 états, 1 080 000 transitions)
Simplifications Dans un domaine très restreint, - le vocabulaire est limité ; - il y a moins d’ambiguïtés : dans le domaine des ponts suspendus, on conserve tendre, verbe, mais pas tendre, adjectif ; - certaines expressions peuvent être considérées comme figées : dans les bulletins météo, alternance de passages nuageux et d’éclaircies donc on a moins besoin d'informations lexicales sur les mots qui en font partie
Ambiguïtés Les informations lexicales permettent de représenter formellement les ambiguïtés Ambiguïtés lexicales et lemmes la porte droite du bâtiment lemme : droit La droite a voté contre cette loi lemme : droite Ambiguïtés lexicales et traits Le moteur sert à tendre le câble cat. gramm. : verbe Luc se croit tendre avec Marie cat. gramm. : adjectif cf. Ambiguïtés typographiques Je ne sais pas. Je l’ai en C. Paul aussi <.F> <.F> <.A>
Consultation d’un lexique sur un texte Les informations lexicales trouvées dans le lexique sont incluses dans la représentation du texte En cas d’ambiguïtés, toutes les hypothèses peuvent être représentées La résolution des ambiguïtés est-elle automatisable ? Unitex : - pré-traitement - application des ressources lexicales (par la fenêtre du pré-traitement, ou par le menu Text) - pour visualiser les entrées trouvées dans le lexique : Word Lists - pour engendrer les automates des phrases : menu Text, Construct FST-Text
Structures de traits Les informations lexicales peuvent être codées sous forme d’une structure de traits (norme en construction) Elément <fs> (feature structure) : un ensemble de traits Elément <f> (feature) : un trait avec un nom et une valeur La valeur peut être un <str> (chaîne de caractères), un <fs>, un <sym>, <plus>, <minus>... La norme en construction prévoit un format long et un format compact
Structures de traits : format long <fs> <f name='lemma'> <str>passager</str> </f> <f name='gramGrp'> <fs> <f name='part of speech'><sym>adjective</sym></f> <f name='gender'><sym>feminine</sym></f> <f name='number'><sym>singular</sym></f> </fs> </f> </fs>
Structures de traits : format compact <fs> <f name='lemma'> <str>passager</str> </f> <f name='gramGrp'> <fs feats='pos@A gen@f num@s'/> </f> </fs> Déclaration : <fLib> <f id='pos@A' name='part of speech'> <sym>adjective</sym></f> <f id='gen@f ' name='gender'><sym>feminine</sym></f> <f id='num@s' name='number'><sym>singular</sym></f> </fLib>
Structures de traits et format DELA Avantages du format XML des structures de traits On peut deviner le sens des informations sans connaître les conventions La structure est utilisable par les logiciels qui manipulent les étiquettes lexicales Avantages du format DELA Compact Permet de visualiser sur un même écran plusieurs dizaines de mots ou entrées Convient pour éditer et mettre à jour les données
Recherche de formes
Recherche de formes La recherche de formes dans un texte sert à la recherche d'informations (indexation de documents, extraction d'informations) C'est aussi l'opération de base de l'analyse syntaxique Applications traduction automatique correction orthographique synthèse vocale Dans certaines langues découpage en mots Critères de succès Rappel et précision
Recherche de formes pour découpage en mots En espagnol Es la mejor forma de comprobarlo "C'est la meilleure façon de le prouver" comprobar "prouver" (des milliers de verbes) lo "le" (une dizaine de pronoms) Lo comprobó "Il l'a prouvé" Les traitements sont simplifiés si on considère comprobarlo comme une combinaisons de deux mots, plutôt qu'un mot ... sauf au moment de découper le texte en mots En arabe standard wara'isuhu wa ra'isu hu "et son président" "et" "président" "son"
Recherche de formes pour découpage en mots En chinois mandarin Pas d'espaces entre les mots En coréen manasiôs'takojocha "même (...) qu'(il l')a rencontrée" mana si ôs' ta ko jocha "rencontrer" (honor) (passé) (déclar) "que" "même"
Informations lexicales et recherche de formes Une fois les lexiques appliqués à un texte, les informations incluses dans le texte peuvent être exploitées pour rechercher des formes linguistiques dans le texte (Unitex) Masques lexicaux Expressions qui reconnaissent des mots en fonction de propriétés lexicales - lemme : <droit> reconnaît droit, droits, droite, droites - catégorie grammaticale : <V> reconnaît n’importe quel verbe (utiliser les conventions des lexiques consultés) - autres traits présents dans le lexique : <N:s> reconnaît n’importe quel substantif singulier - combinaisons de ces informations : <pouvoir.N> reconnaît seulement pouvoir et pouvoirs - autres masques lexicaux : <MOT>, <PRE>, <MAJ>... (v. manuel) - forme fléchie : droit
Concordances lemmatisées Une concordance réalisée avec un lemme (ex. <droit>) est une concordance lemmatisée Avec consultation de lexique (Unitex) - peut produire une concordance de n’importe quel texte disponible dans un format électronique - il existe des dictionnaires disponibles avec des informations lexicales fines (facteur de précision) Avec corpus lemmatisé les ambiguïtés lexicales sont levées (facteur de précision)