Eric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée France laporte/...

Post on 04-Apr-2015

109 views 0 download

Transcript of Eric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée France laporte/...

Eric LaporteInstitut Gaspard-Monge

Université Paris-Est Marne-la-ValléeFrance

http://www-igm.univ-mlv.fr/~laporte/

Etiquettes lexicales, grammaires

Tokenisation

Rappel et précision en recherche d'informationsÉlaboration d'une requêteGrammaires locales

Informations lexicalesEtiquettes lexicales

Lexiques pour le traitement des languesAmbiguïtésConsultationStructures de traits

Recherche de formesMasques lexicaux

Objectifs

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élimiteursSimpleFournit seulement les tokens-motsDéfinition par les tokensFournit les tokens-mots et les tokens-non-motsPermet de séparer 2 tokens sans délimiteur. Ex. : 60%,

1970s, G8Dans 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 tokensSorties : une séquence de tokenstant que le texte n'est pas fini {

pour chaque expression rationnelle {appliquer l'expression au texte en allant le plus loin

possiblemarquer dans le texte la position obtenue }

si aucune marque alors passer au caractère suivantsinon {

conserver seulement la marque la plus à droitecopier sur la sortie depuis le caractère courant

jusqu'à la marqueprendre 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 lignedernier$ "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

Objectifs de la normalisationFaciliter l'échange de données et d'outilsFormats lisibles, pas toujours adaptés au traitement directLes normes sont discutées par des experts variésElles sont compatibles avec des théories variées

Norme en constructionOrganisation 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>

Codage des tokens

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 lexiqueRéférence : manuel en français, anglais

tokens.txt, liste des tokens du texte, sans répétitions 0000073572

AulecteurGlóriaKreinz

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

Format des fichiers Unitexpour le codage des textes

Rappel et précisionen recherche d'informations

Critères de succèsRappel : détecter le plus possible de formes désiréesPrécision : retenir le moins possible de formes non désirées

Rappel et précisionen recherche d'informations (1/2)

RappelNombre de de documents retenus parmi les documents désirés

D&R/DExemple :requête justicedocuments désirés ministre de la Justice retenu

garanties accordées aux justiciables en améliorant la

formation des magistrats non retenu

PrécisionNombre de documents désirés parmi les documents retenus

D&R/RExemple :requête rentréedocuments retenus bien préparer la rentrée des classesdésiré

Titine est rentrée à la maisonnon désiré

Rappel et précisionen recherche d'informations (2/2)

Deux valeurs indépendantes dont l'évolution est habituellement antagonique

Bruit + précision = 1Silence + 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 (1/5)

Graphique rappel/précision

Rappel et précision (2/5)

précision

rappel

1

10

Effet d'un relâchement de contrainteExemple : admettre des équivalents sémantiquesLe rappel a tendance à augmenter, la précision à diminuer(pluls de documents)

Rappel et précision (3/5)

précision

rappel

1

10

Effet d'un resserrement de contrainteExemple : relever le seuil de proximité exigé entre requête et documentLe rappel a tendance à diminuer, la précision à augmenter(moins de documents)

Rappel et précision (4/5)

précision

rappel

1

10

Objectif de la recherche d'informationsAugmenter à la fois le rappel et la précisionCas du modèle vectoriel

- jouer sur le seuil de proximité- pré-traitement du texte : lemmatisation

Exemple :requête rentréedocuments bien préparer la rentrée des classes

bien préparer le rentrée du classeretenu

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

Rappel et précision (5/5)

Causes du silenceVariations 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 ministryetc.

Relâchement de contrainteAdmettre des variantes

Le rappel et les variantes

Causes du bruitAmbiguïtés (une forme, plusieurs interprétations)

bien préparer la rentrée des classesTitine est rentrée à la maison

Resserrement de contrainteSélectionner les formes dont l'interprétation correspond à la requête

La précision et l'ambiguïté

ObjectifAugmenter à la fois le rappel et la précision en améliorant la requête

RappelRelâcher des contraintes sur les variations Méthode : étendre la requête dans le sens de l'union (plus d'occurrences)

PrécisionResserrer des contraintes sur l'ambiguïtéMéthode : étendre la requête dans le sens de la concaténation (moins d'occurrences)

Amélioration de la requête

- 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

Relâcher des contraintes sur les variations

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

Resserrer des contraintes sur l'ambiguïté

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

Grammaires locales

Relâcher une contrainteFaire une concordance sur le corpusResserrer la contrainte en fonction de la concordanceItérer

Méthode d'amélioration d'un graphe avec un corpus

précision

rappel

1

10

Allonger des cheminsAjouter du contexte gauche ou droit dans le graphe :resserrement de contrainte (moins d'occurrences)

Raccourcir des cheminsSupprimer une partie du contexte gauche ou droit dans le graphe :relâchement de contrainte (plus d'occurrences)

Relâcher/resserrer des contraintesdans une grammaire locale (1/2)

Ajouter des cheminsAjouter 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 cheminsRemplacer un masque lexical général (ex. <V>) par une liste de mots :resserrement de contrainte

Relâcher/resserrer des contraintesdans une grammaire locale (2/2)

Ces opérations nécessitent des informations sur les motsPluriels, synonymes, ambiguïtés...

Informations lexicales

Informations lexicales

Informations codifiées qui constituent les étiquettes des mots

Traits traditionnelsCaté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 canoniquesFormes sous-jacentesRelations entre entrées

Informations lexicales (1/2)

LemmeUne 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

Informations lexicales (2/2)

Les relations exploitables sont de nature sémantique et parfois syntaxique

connecter/relierconfondre/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

Relations entre entrées lexicales

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

Quantité d’information lexicale

Les corpus classiques n’incluent pas le lemme parmi les informations lexicales Brown (1981) : 4 lemmes, 119 étiquettes, presque sans mots composésPenn (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 (1/2)

950 000 étiquettes réductibles à 1 000 sans perte d’information

Forme fléchie Etiquettemédiatrice médiateur.N:fs

On suppose la forme fléchie connue et on simplifie l'étiquette

Forme fléchie Etiquettemédiatrice 3eur.N:fs

Le nombre d'étiquettes différentes diminue sans perte d'information

Jeux d’étiquettes lexicales (2/2)

Lexiques pour le traitement des langues

Les informations lexicales ne sont pas prévisibles à partir de la forme des mots :

mouvement, nom brièvement, adverbetendre, 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 ?

Lexiquespour le traitement des langues (1/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 MoForme 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éesMémoire occupée : 13 MoForme comprimée avec consultation rapide : 7,2 Mo (automate minimal, 840 000 états, 1 080 000 transitions)

Lexiquespour le traitement des langues (2/2)

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

Simplifications

Les informations lexicales permettent de représenter formellement les ambiguïtés

Ambiguïtés lexicales et lemmesla porte droite du bâtiment lemme : droitLa droite a voté contre cette loi lemme : droite

Ambiguïtés lexicales et traitsLe moteur sert à tendre le câble cat. gramm. :

verbeLuc 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>

Ambiguïtés

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

Consultation d’un lexique sur un texte

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 valeurLa 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

<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 long

<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 : format compact

Avantages du format XML des structures de traitsOn peut deviner le sens des informations sans connaître les conventionsLa structure est utilisable par les logiciels qui manipulent les étiquettes lexicales

Avantages du format DELACompactPermet de visualiser sur un même écran plusieurs dizaines de mots ou entréesConvient pour éditer et mettre à jour les données

Structures de traits et format DELA

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

Applicationstraduction automatiquecorrection orthographiquesynthèse vocale

Dans certaines languesdécoupage en mots

Critères de succèsRappel et précision

Recherche de formes

En espagnolEs 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 standardwara'isuhu wa ra'isu hu"et son président" "et" "président" "son"

Recherche de formespour découpage en mots

En chinois mandarinPas d'espaces entre les mots

En coréenmanasiôs'takojocha"même (...) qu'(il l')a rencontrée"

mana si ôs' ta ko jocha"rencontrer" (honor) (passé) (déclar)"que" "même"

Recherche de formespour découpage en mots

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 lexicauxExpressions 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

Informations lexicaleset recherche de formes

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)

Concordances lemmatisées