ppt - GREYC

publicité
Analyse syntaxique automatique
de langues :
du combinatoire au calculatoire
Jacques Vergne
GREYC - Université de Caen
http://www.info.unicaen.fr/~jvergne
Introduction :
point de départ
• notre analyseur 98 :
- 1ère place à l'action d'évaluation GRACE (1995-1998)
- Grammaires et Ressources
pour les Analyseurs de Corpus et leur Évaluation
- 22 participants de France, Suisse, Allemagne, Québec, USA :
labos, entreprises (dont AT&T, IBM, Xerox, France-Télécom)
- décision = 100% (= tokens avec étiquette unique / total des tokens)
- précision = 94,5% (= tokens ayant la même étiquette que l'humain
/ tokens avec étiquette unique)
• quelles sont les caractéristiques de cet analyseur ?
c'est un analyseur calculatoire
3/7/2001
© Jacques Vergne -
TALN 2001
-2-
Introduction :
nos objectifs
• nous placer dans l'évolution historique des analyseurs
• comprendre les principes de l'analyse calculatoire
• pouvoir construire des analyseurs calculatoires
3/7/2001
© Jacques Vergne -
TALN 2001
-3-
Introduction : notre espace de travail
processus combinatoire —> calculatoire
langages de
programmation
—> langues
données à
analyser
données
analysées
processus
analyseur
d'analyse
ressources du processus
ressources déclaratives —> procédurales
ressources statiques
3/7/2001
© Jacques Vergne -
—> dynamiques
TALN 2001
-4-
Introduction : notre parcours dans cet espace
• les modèles d'analyse syntaxique :
origine, évolution historique
analyse
calculatoire
• critères :
processus d'analyse,
tagging
chunking
ressources du processus
analyse syntaxique
de langages
de programmation
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-5-
Plan de l'exposé
• 1. Analyse de langages
de programmation
—> analyse de langues
analyse
calculatoire
• 2. Analyse de langues :
combinatoire —> calculatoire
tagging
chunking
• 3. Quelques caractéristiques
de nos analyseurs
analyse syntaxique
de langages
de programmation
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-6-
• 1. Analyse
de langage de
programmation
—> analyse
de langues
analyse syntaxique
de langages
de programmation
analyse
calculatoire
tagging
chunking
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-7-
• 1.1 Les grammaires formelles :
outil de modélisation de la syntaxe des langues
• modèle : représentation simplifiée et formalisée d'un objet ou d'un processus
• Noam Chomsky
- formation initiale de mathématicien
- entré en linguistique, dans la filiation de Harris et Bloomfield
mais en rupture / objet : matériau attesté —> "compétence" du locuteur
- 1957 : Syntactic Structures : un ouvrage de linguiste
- pour les linguistes chomskiens :
modéliser la "compétence" du locuteur natif (en génération)
- pour les "TAListes" :
modéliser la syntaxe des langues, comme matériau attesté (en analyse)
- divergence entre les 2 courants vers 1971 (Théorie Standard Étendue)
3/7/2001
© Jacques Vergne -
TALN 2001
-8-
• 1.2 Les grammaires formelles :
outil de modélisation de la syntaxe
des langages de programmation
• 1958-1960 : ALGOL 60, premier langage de programmation
dont la syntaxe est définie par une grammaire formelle (context free)
• grammaire formelle —> méthode de conception du compilateur
• premier Langage de programmation Orienté "ALGorithmique" :
plus de goto obligatoire dans les structures de contrôle,
mais : alternative :
if ... then ... else
répétitive :
for ... step ... until ... do
for ... while ... do
3/7/2001
© Jacques Vergne -
TALN 2001
-9-
• 1.3 Un membre du groupe ALGOL :
Bernard Vauquois
• 7 pays : Allemagne, Danemark, États-Unis, France,
Grande-Bretagne, Pays-Bas, Suisse
• 14 délégués : Backus, Bauer, Green, Katz, Mc Carthy, Naur,
Perlis, Rutishauser, Salmelson, Turanski, Vauquois,
Wegstein, Van Wijngaarden, Woodger
• conférences : Zurich (1958), Mayenne (1958),
Copenhague (1959), Paris (juin 1959, janvier 1960)
• filiation d'ALGOL 60 : Pascal —> C —> C++ —> Java
—> Ada
3/7/2001
© Jacques Vergne -
TALN 2001
-10-
• 1.4 Bernard Vauquois,
directeur du CETA en 1961
• astronome-mathématicien —> informaticien-linguiste
• enseignant d'informatique, de la théorie des langages formels
à l'université de Grenoble
• ses idées pour fonder la Traduction Automatique de 2ème génération :
- utiliser la théorie des langages formels
- fonder la TA sur le modèle de la compilation
• Christian Boitet, "L'apport scientifique de Bernard Vauquois" (Analectes, 1989) :
Il revient sans doute au CETA, à l'initiative de B. Vauquois, d'avoir introduit
l'analogie entre TA et compilation. Ainsi un système de TA est-il vu comme
une sorte de "compilateur de langue naturelle".
3/7/2001
© Jacques Vergne -
TALN 2001
-11-
• 1.5 Compilation
<—> Traduction Automatique
humain
instructions en une langue
codes analysés :
différents
traduction humaine :
analyse-programmation
humain
instructions en un langage de progr.
textes en une langue source
traduction automatique :
compilation
Traduction Automatique
de langues
instructions en langage machine
textes en une langue cible
processeur
3/7/2001
humain
© Jacques Vergne -
TALN 2001
-12-
• 1.6 Les transpositions des
grammaires formelles en TAL
modéliser la "compétence"
du locuteur natif, en génération
modéliser la syntaxe des langages
de programmation (ALGOL 60)
linguistique
informatique
analogie TA - compilation
(Vauquois)
Théorie Standard Étendue
(Chomsky)
TAL
combinatoire
linguistique —> TAL :
modéliser la syntaxe des langues
abandon de
(matériau attesté), en analyse
l'objet modélisé
par Chomsky
3/7/2001
© Jacques Vergne -
TALN 2001
-13-
• 1.7 Compilation
—> analyse syntaxique de langues
programme
phrase
compilation
analyseur de langages
analyseur de langues
de programmation
ressources
lexicales
exhaustives :
primitives
dictionnaire
ressources
syntaxiques
exhaustives :
grammaire
formelle
arbre des
constituants
analyse syntaxique
de langues
en ressources :
même modèle statique
du code analysé
3/7/2001
© Jacques Vergne -
TALN 2001
-14-
• 1.7 Compilation
—> analyse syntaxique de langues
même modèle du code analysé,
critères
mais un processus différent :
compilation
processus
répétitif / token
déterministe
combinatoire
non déterministe
complexité
théorique : polynomiale
théorique : exponentielle
en temps
pratique : linéaire
pratique : polynomiale
code analysé
langage formel
le modèle du code analysé
est transposé
3/7/2001
analyse
de langues
© Jacques Vergne -
langue
mais le processus
n'est pas transposé
TALN 2001
-15-
• 1.7 Quelle différence entre
langages de programmation et langues ?
=>
compilation
= processus déterministe —> analyse de langues
= processus non déterministe
critères
langages de programmation
langues
dictionnaire
fermé et figé
ouvert et évolutif
combien
d'étiquettes
par token ?
1 token
<—>
1 étiquette unique
3/7/2001
© Jacques Vergne -
1 token
<—>
plusieurs étiquettes
TALN 2001
-16-
• 2. Analyse
de langues :
combinatoire
—> calculatoire
ressources = modèles dynamiques
des processus de calcul
analyse
calculatoire
ressources = modèles statiques
des structures attendues :
grammaires formelles
analyse syntaxique
de langages
de programmation
tagging
chunking
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-17-
• 2.0 Un exemple
des deux modes de résolution
• Un problème :
un fils a le quart de l'âge de son père, et leur différence d'âge est de 30 ans
• Sa résolution combinatoire :
- soient f l' âge du fils, et p l' âge du père
- avec 0<f<100, 0<p<100 (en supposant une solution entière) :
pour chacun des 10 000 couples (f, p),
si les 2 contraintes sont satisfaites
alors sortir le couple (f, p)
- nombre de solutions inconnu a priori : 0, 1, n
• Sa résolution calculatoire :
- poser le système des 2 équations à 2 inconnues : f=p/4
p-f=30
- résoudre le système => solution unique :
f=p/4 et p-f=30 => 4f-f=3f=30 => f=10 => p=30+f=40
3/7/2001
© Jacques Vergne -
TALN 2001
-18-
• 2.1 Analyse
de langues :
combinatoire
analyse
calculatoire
tagging
chunking
analyse syntaxique
de langages
de programmation
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-19-
• 2.1 Poser un problème
de manière combinatoire
• "combinatoire" : une manière de poser et résoudre un problème
mais pas le problème lui-même
• poser un problème de manière combinatoire :
- les attributs d'un ensemble d'unités ont plusieurs valeurs possibles
- on a des contraintes sur les valeurs des attributs
- on veut trouver les valeurs des attributs qui satisfont les contraintes
= le poser comme un problème de satisfaction de contraintes (CSP)
3/7/2001
© Jacques Vergne -
TALN 2001
-20-
• 2.1 Résoudre un problème
de manière combinatoire
• dans une résolution combinatoire :
-1- on constitue toutes les combinaisons possibles
-2- pour chaque combinaison, on vérifie la satisfaction des contraintes
unités
à traiter
combinaisons
constituer de valeurs
valeurs possibles des attributs
combinaisons
vérifier
vérifiées
(0, 1, n)
contraintes
• complexité théorique en temps : exponentielle selon le nombre d'unités
3/7/2001
© Jacques Vergne -
TALN 2001
-21-
• 2.1 Poser l'analyse syntaxique
de manière combinatoire
• le problème de l'analyse syntaxique automatique
est traditionnellement posé et résolu de manière combinatoire
• le problème est ainsi posé :
- les mots d'une phrase ont plusieurs catégories possibles
- toutes les valeurs possibles des attributs des mots d'une phrase
sont explicitées "exhaustivement" dans le dictionnaire
- les contraintes sur les catégories sont les structures possibles des phrases
et des syntagmes, explicitées dans la grammaire formelle
- on veut trouver les catégories des mots qui satisfont les contraintes
(= "désambiguïsation")
3/7/2001
© Jacques Vergne -
TALN 2001
-22-
• 2.1 Résoudre l'analyse syntaxique
de manière combinatoire
unités à traiter
mots de la phrase
constituer
valeurs possibles des attributs
catégories possibles (dictionnaire)
3/7/2001
combinaisons
de catégories
vérifier
contraintes
grammaire formelle
© Jacques Vergne -
TALN 2001
combinaisons
vérifiées
(0, 1, n)
-23-
• 2.2 Analyse
combinatoire
—>
tagging
ressources = modèles dynamiques
des processus de calcul
analyse
calculatoire
ressources = modèles statiques
des structures attendues :
grammaires formelles
analyse syntaxique
de langages
de programmation
tagging
chunking
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-24-
• 2.2 Analyse combinatoire —> tagging
complexité théorique : exponentielle, pratique : polynomiale
processus combinatoire : reconnaître les attendus
analyse
combinatoire
phrase
processus
d'analyse
phrase
analysée
0,1 ou n arbres
syntagmatiques
ressources du processus : structures attendues
ressources déclaratives ou statiques : grammaire formelle
complexité théorique : linéaire, pratique : linéaire
processus calculatoire : interpréter les règles
tagging
chunking
texte
processus
d'analyse
texte
analysé
1 résultat unique
ressources du processus : règles contextuelles
ressources procédurales ou dynamiques
3/7/2001
© Jacques Vergne -
TALN 2001
-25-
• 2.2 Le tagging, processus de calcul
à partir de formes et de leur position
dét. => nom ou adjectif
prép. => dét., nom ou adjectif
Le site allemand
de Dasa
devra assembler
à Hambourg
ce nouvel avion
.
• quelques propriétés linguistiques de formes & de leur position :
catégorie d'un mot => contrainte sur la catégorie du mot suivant
—>
3/7/2001
processus de catégorisation (des mots)
© Jacques Vergne -
TALN 2001
-26-
• 2.2 Le chunking, processus de calcul
à partir de formes et de leur position
Le site allemand
Le ....
site N........
allemand
[
[ devra
.......er
assembler
V
devra assembler
[
de Dasa
de pN
Dasa
....
[ ce
à Hambourg
à ........
Hambourg
pN
[
......
nouvel
avion
N .....
ce nouvel avion
[.
.
• quelques propriétés linguistiques de formes & de leur position :
mot grammatical => début et type de chunk (Abney 1991)
—>
3/7/2001
processus de segmentation (chunking),
catégorisation (des chunks)
© Jacques Vergne -
TALN 2001
-27-
• 2.3 Tagging
—>
analyse
calculatoire
ressources = modèles dynamiques
des processus de calcul
analyse
calculatoire
ressources = modèles statiques
des structures attendues :
grammaires formelles
analyse syntaxique
de langages
de programmation
tagging
chunking
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-28-
• 2.3 Tagging —> analyse calculatoire
complexité théorique : linéaire, pratique : linéaire
processus calculatoire : interpréter les règles
analyse
tagging
calculatoire
texte
texte
analysé
processus
d'analyse
1 résultat
unique
ressources du processus : règles
règlescontextuelles
conditions => actions
ressources procédurales ou dynamiques
• quasi identiques, mais quelles différences ?
- ressources lexicales : mots grammaticaux + morphèmes de fin de mots
une seule étiquette par défaut
- règles conditions => actions :
3/7/2001
+ mise en relation des unités
© Jacques Vergne -
TALN 2001
-29-
• 2.4 Analyse
de langues :
calculatoire
ressources = modèles dynamiques
des processus de calcul
analyse
calculatoire
ressources = modèles statiques
des structures attendues :
grammaires formelles
analyse syntaxique
de langages
de programmation
tagging
chunking
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-30-
• 2.4 Poser et résoudre
un problème de manière calculatoire
• pour poser et résoudre un problème de manière calculatoire :
- poser le problème en termes de calcul à partir de données,
et non pas en termes de choix parmi des valeurs possibles connues
- avoir une meilleure connaissance des propriétés des unités à traiter
et mieux exploiter cette connaissance
=> trouver plus de contraintes et trouver comment les utiliser
pour calculer directement et définitivement la valeur d'un attribut
unités à traiter
• résolution calculatoire :
contraintes
les contraintes sont vues
comme des opérations
sur les unités à traiter
3/7/2001
opérandes
solution
calculer calculée unique
solution
calculer calculée unique
opérations
© Jacques Vergne -
TALN 2001
-31-
•modèle
2.4 statique
Poser
et résoudre
des structures
attendues
>
l'analyse
syntaxique
modèle dynamique du processus de calcul
de manière calculatoire
—
• prendre en compte explicitement l'ouverture de la langue :
- une langue n'est pas caractérisable exhaustivement,
contrairement à un langage de programmation
- ressources lexicales minimales : mots grammaticaux, morphèmes de fin de mots
- pas de grammaire formelle : pas d'inventaire (exhaustif) des structures attendues
pas de test de grammaticalité
• des règles conditions => actions explicitent dans un même formalisme :
- des ressources typographiques, lexicales et morphologiques minimales,
- des propriétés linguistiques (utilisation explicite du contexte),
- le processus de mise en relation des unités
3/7/2001
© Jacques Vergne -
TALN 2001
-32-
• 2.4 Résoudre l'analyse syntaxique
de manière calculatoire
• processus de calcul :
- un moteur à base de règles passe les règles "conditions => actions"
une fois sur chaque unité :
caractères, tokens, syntagmes, propositions, phrases, (paragraphes, ... )
- conditions sur les attributs d'unités et sur les relations entre unités
(contiguïtés, constituances, dépendances, coordinations, ...)
- actions : affecter des valeurs aux attributs,
établir des relations (dépendances et coordinations),
et générer les unités du niveau supérieur
• processus de complexité linéaire : traitement en flux à débit constant
• lexique et structures syntaxiques du texte analysé calculés et produits en sortie
3/7/2001
© Jacques Vergne -
TALN 2001
-33-
• 3. Quelques
caractéristiques
de nos
analyseurs
ressources = modèles dynamiques
des processus de calcul
analyse
calculatoire
ressources = modèles statiques
des structures attendues :
grammaires formelles
analyse syntaxique
de langages
de programmation
tagging
chunking
analyse
combinatoire
analyse syntaxique de langues
3/7/2001
© Jacques Vergne -
TALN 2001
-34-
• 3.1 Un processus de calcul
à partir de formes et de leur position
V ? pN ?
Le site allemand
pN ?
de Dasa
pN ?
à Hambourg
Le site
.... N........
allemand
de pN
Dasa
....
à Hambourg
........
pN
devra assembler
.......er
V
sujet - verbe
ce nouvel
......
avion
N .....
.
objet - verbe
devra assembler
N?
ce nouvel avion
.
• quelques propriétés linguistiques de formes & de leur position :
—> processus de segmentation (chunking),
catégorisation et mise en relation (des chunks)
3/7/2001
© Jacques Vergne -
TALN 2001
-35-
• 3.2 Autre langue, même calcul
V?
pN ?
The ............
N
have
.......ed
V
sujet - verbe
pN ?
pN ?
of pN
....
in .......
pN
a .............
N
.
objet - verbe
N?
• premier paquet de règles : graphies —> attributs des unités
• paquets suivants :
3/7/2001
calculs sur les attributs,
identiques pour plusieurs langues
© Jacques Vergne -
TALN 2001
-36-
• 3.3 Autre niveau, même calcul
prop. princ. ?
subordination
........
.... logement
........
.... ou
.. meublé
......
Qu'il s'agisse
d'un
vide
proposition
subordonnée
,
..
..
... s'opposer
.........
le............
propriétaire
ne.....
peut pas
proposition
principale
prop. sub. ?
à ce que le
.. locataire
.........
.......
..
héberge
un ......
animal ........
familier
proposition
subordonnée
.
subordination
• quelques propriétés linguistiques de formes & de leur position :
—> processus de segmentation (en propositions),
catégorisation et mise en relation (des propositions)
3/7/2001
© Jacques Vergne -
TALN 2001
-37-
• 3.4 Un processus de complexité
linéaire pour relier les unités
• un processus en 2 temps, au fur et à mesure de l'arrivée des unités :
unité virtuelle
type
intermédiaire de calcul,
invocable à tout moment
dans les conditions
unité i
unité j
type
temps 1
temps 2
règle 1
règle 2
• processus de complexité linéaire,
condition
actions
condition
action
indépendant
des unités arrivant entre les 2 unités reliées
• ce processus modélise le déroulement d'une saturation de valence
3/7/2001
© Jacques Vergne -
TALN 2001
-38-
• Conclusion
calculs
à partir de formes
et de leur position
règles de calcul
fondées sur quelques
propriétés linguistiques
TAL
calculatoire
en ressources :
modèle dynamique
TAL
du processus
grains : document,
combinatoire
de calcul
paragraphe, phrase,
proposition, chunk, ...
en ressources :
modèle statique
de toutes
abandon du modèle statique
grammaire
grain mot
dictionnaire
exhaustif
les formes
de toutes
les formes
attenduesformelle
attendues
possibles
3/7/2001
© Jacques Vergne -
TALN 2001
-39-
fin de l'exposé
• vous pouvez télécharger cette présentation sur
http://www.info.unicaen.fr/~jvergne/TALN2001_JV.ppt
• voir aussi le tutoriel du Coling 2000
"Trends in Robust Parsing"
sur
http://www.info.unicaen.fr/~jvergne/tutorialColing2000.html
(présentation et références)
•
3/7/2001
© Jacques Vergne -
TALN 2001
-40-
vos questions ?
3/7/2001
© Jacques Vergne -
TALN 2001
-41-
Résultats de GRACE
décision = 100%
= tokens avec
étiquette unique
/ total des tokens
analyseur
calculatoire
décision < 100%
<=>
étiquettes multiples
précision = 94,5%
= tokens ayant
la même étiquette
que l'humain
/ tokens avec
étiquette unique
3/7/2001
© Jacques Vergne -
TALN 2001
-42-
Téléchargement