Affichage des articles dont le libellé est Syntaxe. Afficher tous les articles
Affichage des articles dont le libellé est Syntaxe. Afficher tous les articles

mardi 3 mars 2009

SYNTEX : Analyse syntaxique

Description

SYNTEX est un analyseur syntaxique de corpus (Bourigault et Fabre, 1999) qui permet d'extraire d'un corpus une liste de noms et syntagmes nominaux, structurée par des relations de dépendance syntaxique. La fonction de cet analyseur est d'identifier des relations de dépendances entre mots et d'extraire d'un corpus des syntagmes (verbaux, nominaux, adjectivaux).
Le résultat de l'analyse se présente sous la forme d'un réseau de dépendance, dans lequel chaque syntagme extrait est relié à sa tête et à son expansion syntaxique.

Ces relations de dépendance permettent d'effectuer automatiquement des regroupements distributionnels : par exemple la liste de tous les compléments de tel verbe ou la liste des adjectifs modifieurs de tel nom, qui constituent des amorces de classes sémantiques.

Par rapport aux analyseurs développés classiquement dans le domaine du traitement automatique des langues (Abeillé 1992), l’analyseur SYNTEX présente cette différence fondamentale d’être un analyseur de corpus, et non pas de phrases. C’est un analyseur de corpus parce que le résultat de l’analyse est un réseau de dépendance global construit pour l’ensemble du corpus, le réseau de dépendance construit constitue un mode d’accès au corpus pour l’analyste en charge de l’interprétation et le corpus est source d’information pour l’analyseur.

SYNTEX possède une version pour le Français et une autre pour l'Anglais.

Utilisation

SYNTEX prend en entrée un corpus étiqueté : il est découpé en mots (token) et à chaque mot est associé une catégorie grammaticale (nom, verbe, adjectif…). Cette tâche peut être réalisée par TreeTagger.

Cet analyseur produit en sortie:

1- Un corpus analysé syntaxiquement : Dans chaque phrase, Syntex pose des relations de dépendance syntaxique (sujet, complément d’objet, épithète, …) entre les mots
2- Un réseau de syntagmes
    * De chaque phrase, Syntex extrait des syntagmes (verbaux, nominaux, adjectivaux)
    * Pour l’ensemble du corpus, Syntex construit un réseau de syntagmes structuré par les relations Tête et Expansion
Voila le déroulement de la procédure d'analyse syntaxique par SYNTEX sur quelques phrases:

1- Analyse syntaxique en dépendance: la phrase traitée est: Le chat de Marie mange une petite souris.



























2- Construction d’un réseau de syntagmes: la phrase traitée est: L'érosion attaque un plan de faille.

























SYNTEX est utilisé essentiellement pour deux objectifs:

1- Construction de ressources termino-ontologiques: Le réseau de syntagmes est utilisé par un analyste (terminologue, expert, ingénieur, …) pour construire une ressource terminologique (thesaurus, terminologie, ontologie, …) sur un domaine spécialisé (métier, pratique) pour une application cible (traduction automatique, recherche d’information, …)

2- Etudes syntaxiques sur corpus

Licence

Logiciel non gratuit

Références

Bourigault D., Fabre C. (2000), Approche linguistique pour l'analyse syntaxique de corpus,. Cahiers de Grammaire, 25, Université Toulouse le Mirail, pp.131-151

vendredi 13 février 2009

Link Grammar Parser : Analyse syntaxique

L’analyse syntaxique vise à produire, pour chaque phrase du texte, un graphe reflétant les dépendances entre mots au sein de la phrase.

Description

Link grammar parser est un parseur syntaxique développé pour l'Anglais à l'université de Carnegie Mellon par John Lafferty , Daniel Sleator et Davy Temperley. Il est basé sur une grammaire de dépendances. Etant donné une phrase, le système lui attribue une structure syntaxique à partir de tous les liens crées localement pour des paires de mots. Chaque lien entre deux mots (dépendance) est étiqueté et répond à des contraintes décrites dans le dictionnaire.

Installation sous Linux

Pour installer Link Grammar Parser, il faut commencer par le télécharger, puis:

1-Décompresser l'archive link-4.1b.tar.gz à l'endroit de son choix
2-Vérifier la configuration du Makefile
3-Taper la commande make
4-Appliquer des patches additionnels par la commande : patch -p0

Utilisation

Link Grammar Parser prend en entrée un fichier texte qui contient une phrase par ligne.

Pour utiliser Link Grammar Parser, la syntaxe générale est:
./parse [dictionary] [-pp post-process file] [-c constituent-knowledge file] [-a affix-file]
où:
  • Post-process file est un fichier qui permet la gestion en post-traitement de l'analyse.
  • Constituent-knowledge file est un fichier qui permet la gestion en post-traitement de la construction des constituents syntaxiques (arbres de constituents)
  • Affix file est un fichier qui permet la gestion de la ponctuation et des symboles.
Il est à noter que ces fichiers sont optionnels. Le système utilise par défaut les fichiers 4.0.*

Certaines options peuvent être utilisées dans Link Grammar parser permettant de spécifier des modes de traitements et un format de sortie en définissant des valeurs pour certaines variables. Les commandes pour régler ces options commencent par "!". Lorsqu'on utilise l'analyseyur en mode commande, on le lance avec la commande ./parse, ensuite on peut spécifier les options au prompt. Lorsqu'on utilise un fichier d'entrée, la liste des commandes doit apparaître en en-tête du fichier. Certaines variables sont de type booléen (on ou off), on les modifie en tapant leur nom et d'autres peuvent être paramétrées en changeant la valeur de l'entier.

Les options ayant un effet sur le format de sortie sont essentiellement: !graphics, !links et !postscript.

Par exemple si on veut appliquer Link Grammar Parser au fichier test.txt, on tape la commande:
./parse <test.txt >resultat.txt    (les options étant spécifiées à l'en-tête du fichier test.txt)

* Avec !graphics

En effet, le mode graphique est activé par défaut pour faciliter la lecture à l'utilisateur. Le résultat obtenu a cette forme:

Opening ./data/4.0.dict
Opening ./data/words/words.n.p
.
.
.
Opening ./data/4.0.affix
linkparser> ++++Time 0.00 seconds (-0.00 total)
Found 2 linkages (2 had no P.P. violations)
Linkage 1, cost vector = (UNUSED=0 DIS=0 AND=0 LEN=18)

+----------------------------------Xp----------------------------------+
+------------Wd---------------+ +---------Ost--------+ |
| +--------DG--------+ | +--------Ds-------+ |
| | +--G--+---G---+--Ss-+ | +-----A----+--Mp-+--Jp-+ |
| | | | | | | | | | | |
LEFT-WALL the Link Grammar Parser is.v a syntactic.a parser.n of English.n .

Press RETURN for the next linkage.
linkparser>

Donc en tapant !graphics à l'en-tête du fichier, on désactive le mode graphique et le résultat sera simplement:

Opening ./data/4.0.dict
Opening ./data/words/words.n.p
.
.
.
Opening ./data/4.0.affix
linkparser> Graphical display of linkage turned off.
linkparser> ++++Time 0.00 seconds (0.00 total)
Found 2 linkages (2 had no P.P. violations)
Linkage 1, cost vector = (UNUSED=0 DIS=0 AND=0 LEN=18)
Press RETURN for the next linkage.
linkparser>

* Avec !links

On obtient plus de détails sur les relations entre deux mots et une indication sur le niveau syntaxique (m).
Ce format peut être traité par une machine mais présente de nombreuses difficultés lors de la récupérartion des données.
Le résultat a donc cette forme:

Opening ./data/4.0.dict
Opening ./data/words/words.n.p
.
.
.
Opening ./data/4.0.affix
linkparser> Graphical display of linkage turned off.
linkparser> Showing of complete link data turned on.
linkparser> ++++Time 0.00 seconds (0.00 total)
Found 2 linkages (2 had no P.P. violations)
Linkage 1, cost vector = (UNUSED=0 DIS=0 AND=0 LEN=18)

| LEFT-WALL Xp <---Xp----> Xp .
(m) LEFT-WALL Wd <---Wd----> Wd Parser
(m) the DG <---DG----> DG Parser
(m) Grammar G <---G-----> G Parser
(m) Link G <---G-----> G Grammar
(m) Parser Ss <---Ss----> Ss is.v
(m) is.v O*t <---Ost---> Os parser.n
(m) a Ds <---Ds----> Ds parser.n
(m) syntactic.a A <---A-----> A parser.n
(m) parser.n M <---Mp----> Mp of
(m) of J <---Jp----> Jp English.n
| . RW <---RW----> RW RIGHT-WALL

Press RETURN for the next linkage.
linkparser>

* Avec !postscript

Ce format est composé de deux parties. La première représente le découpage de la phrase en mots auxquels est attribuée une étiquette morphologique (.n pour nom, .v pour verbe, .a pour adjectif ...) et la deuxième décrit les relations binaires entre deux mots représentés par les deux premiers numéros correspondant à leurs places respectives dans la phrase. Entre parenthèses, on trouve l'étiquette de la relation.
Ce format est difficilement lisible pour un humain, mais permet un traitement informatique postérieur des résultats obtenus par Link Parser.
Le résultat a cette forme:

Opening ./data/4.0.dict
Opening ./data/words/words.n.p
.
.
.
Opening ./data/4.0.affix
linkparser> Graphical display of linkage turned off.
linkparser> Generate postscript output turned on.
linkparser> ++++Time 0.00 seconds (0.00 total)
Found 2 linkages (2 had no P.P. violations)
Linkage 1, cost vector = (UNUSED=0 DIS=0 AND=0 LEN=18)
[(LEFT-WALL)(the)(Link)(Grammar)(Parser)(is.v)(a)(syntactic.a)(parser.n)(of)
(English.n)(.)]
[[0 11 0 (Xp)][0 4 0 (Wd)][1 4 0 (DG)][3 4 0 (G)][2 3 0 (G)][4 5 0 (Ss)][5 8 0 (Ost)]
[6 8 0 (Ds)][7 8 0 (A)][8 9 0 (Mp)][9 10 0 (Jp)]]
[]
Press RETURN for the next linkage.
linkparser>

Licence

Compatible avec GPL

Références

S LEATOR D. D. & T EMPERLEY D. (1993). Parsing English with a link grammar. In Third International Workshop on Parsing Technologies.

http://www.link.cs.cmu.edu/link/

http://abiword.com/projects/link-grammar/dict/introduction.html