Question 1
Construire une grammaire de reconnaissance syntaxique du français qui accepte (au moins)
les phrases suivantes :
– Jerry a une voiture bleue.
– Un petit chien aboie.
– Elaine et Jerry détestent cordialement les chiens.
et refuse les phrases incorrectes suivantes :
– Un chien aboie Elaine.
– Elaine et Jerry déteste les chiens.
– Elaine et Jerry déteste un chiens.
Attention, la stratégie de reconnaissance de Prolog est top-down, en profondeur d’abord.
Vous êtes prévenu ...
Question 2
Transformer le programme pour en faire un analyseur, qui donne en sortie la structure de
la phrase sous forme la suivante (ou à peu près ... ) : Jerry a une voiture bleue
⇒[s,[np,[pn,Jerry]],[vp,[v,a],[np,[det,une],[n,voiture],[adj,bleue]]]]
Question 3, pour les courageux
En utilisant la librairie Gulp pour les structures de traits, proposer une représentation
sémantique qui permet d’extraire le prédicat du verbe principal d’une phrase et le prédicat
du sujet, au moins avec des noms propres et des verbes intransitifs.
La librairie s’appelle en tapant [gulp3]., et on peut alors définir des structures de traits
comme gen:masc..nb:sing pour désigner
gen masc
nb sing
On peut alors écrire des règles de grammaire contraignant l’unification des traits. Par
exemple l’accord en genre et en nombre du groupe nominal sujet avec le groupe verbal dans
une phrase se déclarerait comme suit (en supposant que la seule structure est l’accord) :
s(gen:G..nb:N) --> { NP = nb:N,
VP = nb:N,
NP = gen:G,
VP = gen:G}, np(NP), vp(VP).
Pour les très courageux
Modifier la grammaire pour prendre en compte les auxilliaires : être, avoir pour accepter
des phrases comme :
– Jerry a acheté une voiture.
– Kramer est vraiment arrivé.
2