Ressources linguistiques M1 TP 5. Requêtes avec Unitex Dans cette séance, nous voyons comment rechercher des motifs complexes dans du texte à l'aide d'expressions régulières puis à l'aide de graphes. La recherche d'expressions régulières est détaillée dans le chapitre 4 du manuel Unitex. Rappel de cours Une expression rationnelle peut avoir une des 5 formes suivantes : AB : concaténation des expressions rationnelles A et B ; A+B : disjonction (= union) des expressions rationnelles A et B ; A∗ : étoile de Kleene (concaténation 0, une ou plusieurs fois) de l'expression rationnelle A ; (A) : expression rationnelle A ; xyz : séquence de symboles de l'alphabet. Exercice 1. Expressions régulières Recherchez dans le roman Le tour du monde en 80 jours les motifs suivants : 1.1. toutes les occurrences des pronoms personnels (je, tu, il...) ; 1.2. toutes les occurrences des pronoms personnels qui sont suivies par un verbe ; 1.3. toutes les suites d'au moins 3 adjectifs ; 1.4. toutes les suites de noms. La requête <N>* produit des résultats erronés parce qu'elle inclut le mot vide (cf. section 4.6 du manuel). Que faire pour éviter cette erreur ? Exercice 2. Masques lexicaux référant au contenu des dictionnaires Les tableaux de la section 3.1.3 du manuel présentent une liste non exhaustive des codes de catégories que vous pourrez utiliser dans vos expressions régulières, respectivement : les codes grammaticaux (tableau 3.1), les codes sémantiques (tableau 3.2) et les codes flexionnels (tableau 3.3). À l'aide de ces codes, recherchez les motifs suivants dans le texte : (a) tous les adjectifs au féminin pluriel (b) toutes les formes fléchies du verbe parler aux 1e et 3e personnes du singulier (c) le motif <V:P3p>. À quoi correspond-il ? (d) tous les noms ayant le trait sémantique concret (e) tous les noms ayant le trait sémantique humain collectif (f) tous les verbes un peu ou très spécialisés, soit au participe passé, soit à l'infinitif (g) tous les adjectifs qui ne sont pas très spécialisés (h) tous les déterminants numéraux (en toutes lettres) Exercice 3. Masques lexicaux spéciaux Consultez la section 4.3.1. du manuel pour savoir ce que signifient les masques lexicaux <NB>, <MOT>, <MIN>, <MAJ>, <PRE> et <DIC>. À l'aide de ces codes, recherchez les motifs suivants dans le texte : (a) tous les mots qui ne sont pas dans le dictionnaire (b) tous les mots qui ne sont pas écrits tout en minuscules 1 (c) toutes les séquences qui commencent par le verbe avoir et se terminent par un verbe au participe passé, avec entre les deux une séquence de longueur quelconque de mots entre virgules (par exemple : aurait, au contraire, perdu). Exercice 4. Grammaires locales Le but de l'exercice est de construire une grammaire de détection et de marquage des expressions de date et d'heure dans un texte. Vous pourrez tester vos graphes avec Locate Pattern. Sélectionnez le graphe à appliquer au texte en cliquant sur Set. 4.1. Recherchez tous les nombres dans le texte. 4.2. Utilisez la concordance obtenue pour construire un graphe date.grf qui reconnait toutes les expressions de date du texte. 4.3. Construisez également un graphe heure.grf qui reconnait toutes les expressions d'heure. 4.4. Généralisez vos deux grammaires à d'autres formes que celles qui sont présentes dans le texte. 4.5. Groupez-les dans un graphe date-heure.grf qui reconnait toutes les expressions de date et/ou d'heure. 4.6. Transformez vos graphes en transducteurs qui marquent les séquences reconnues par des balises XML <dh> et </dh>. 2