A) Importer un corpus dans Nooj

publicité
Traitement de corpus
Support de cours Master CST – V. Clavier 2010
NooJ est un système de traitement de corpus élaboré par Max Silberztein (Université de Franche
Comté) qui permet de construire et de gérer des dictionnaires et grammaires électroniques à large
couverture, afin de formaliser divers niveaux des langues naturelles.
Ce système, qui permet des traitements assez sophistiqués, est gratuit (téléchargeable sur l’URL :
http://www.nooj4nlp.net).Il permet d’effectuer des recherches fines sur les corpus, à partir d’expressions
régulières ou de grammaires élaborées à partir d’automates d’états finis.
Nous ne verrons dans le cadre de ce cours que quelques fonctionnalités simples de ce logiciel : nous allons
construire une grammaire des thématiques scientifiques et techniques, afin de définir un parcours dans la
collection numérique du Progrès Illustré.
Pour préparer un corpus avec Nooj de façon à pouvoir l’explorer, plusieurs étapes sont nécessaires.
A) Importer un corpus dans Nooj
On travaille sur le fichier Corpus (enregistrer tous les textes sur un seul fichier)
Aller dans Documents/ Nooj/ Projects et enregistrer le fichier au format « texte seulement ».
On obtient : Corpus.txt
Sous Nooj, ouvrir (File/Open/Text) Corpus.txt
Autre procédure (pour certains ordis)
Aller dans : System C/ Documents & Settings/All Users/Bureau/ Nooj/fr/Projects
Importer le texte :
sélectionner « import
Text »
Choisir le français comme langue et le format Western
European Windows sous Windows.
Le texte utilisé sous NooJ aura ensuite l’extension .not
(Nooj Text).
Par la suite, pour ouvrir ce texte, il suffira d’ouvrir le
fichier et non plus de l’importer.
16/04/2017
1
B) Analyse lexicale du texte
NooJ permet de faire des recherches à partir des catégories grammaticales ou des lemmes, mais il faut pour
cela qu’une analyse lexicale des corpus ait été réalisée.
Pour effectuer l’analyse lexicale, aller sur TEXT/Linguistic analysis (ou en cliquant sur le bouton droit de la
souris, puis Linguistic Analysis).
Une fois que l’analyse linguistique est
terminée, enregistrer le fichier.
Plusieurs fichiers sont produits par le
système :
-
-
le fichier des caractères et leur
fréquence.
le fichier des « tokens » (motsformes) et leur fréquence.
le fichier des digrammes (suite de
deux tokens) et leur fréquence.
le fichier des mots annotés
(annotation) : mots analysés par
l’analyseur lexical.
le fichier des mots inconnus par
l’analyseur lexical.
Q1. A partir du fichier des tokens : Cliquer sur « fréquence » on obtient les tokens par ordre de
fréquences décroissantes. Quels sont les premiers mots lexicaux ? A quel rang apparaissentils ?
Q2 : Quels sont les digrams qui relèvent de la thématique des aliments santé ?
Classez-les par ordre de fréquences décroissantes ?
C)
Interrogation sur une expression régulière (a NooJ regular expression)
1) Mot forme
vont
extrait toutes les occurrences de « vont »
2 ) Lemme
Interrogation à partir de la forme canonique (le lemme) du mot ; l’infinitif pour le verbe, le
singulier pour le nom, le masculin singulier pour l’adjectif, etc. Pour interroger sur le lemme,
on entoure le mot de chevrons.
<aller>
extrait toutes les formes du verbes aller : vais, va, iront, iraient …
On peut ajouter aux lemmes des informations morphologiques (genre, nombre, temps, etc.).
L’ordre des traits n’a pas d’importance.
<être+3+s>
<manger+P>
16/04/2017
: verbe être à la troisième personne
: le verbe ronger au présent
2
3) Interrogation sur une catégorie
On peut également effectuer une interrogation sur une catégorie syntaxique (la catégorie
est entourée de chevrons). La catégorie peut ou non être accompagnée d’informations
morphologiques .
<N>
<V+P>
: les noms
: les verbes au présent
4) Expressions complexes
Suite de deux éléments : une suite d’éléments qui contient des mots-formes, des
lemmes ou des catégories.
<DET+m+s> <N+m+s>
extrait un déterminant masculin singulier suivi d’un nom masculin singulier.
L’opérateur « + » indique l’alternative.
(le+la+l’) <N+s>
indique que le premier mot qui est soit le, soit la , soit l’ est suivi d’un nom au singulier.
L’élément vide est marqué par <E>
<un> (<A>+<E>) <N>
indique que le déterminant un (sous toutes ses formes fléchies, i.e. un, une, des) est
suivi d’un adjectif facultatif puis d’un nom.
L’opérateur « * » (l’étoile de Kleene) indique qu’un élément apparaît 0 ou N
fois.
<un> <A>* <N> <A>*
extrait les suites où le premier mot est le déterminant sous toutes ses formes suivi d’un
adjectif facultatif et répétable, d’un nom, puis d’un autre adjectif facultatif et répétable.
Q3. En utilisant le formulaire des expressions régulières, quels sont les verbes les
plus fréquents dans les deux corpus ? Que constatez-vous ?
Quelles sont les expansions situées dans le contexte droit de aliment ? Classez les
expansions (adjectifs, compléments du nom, etc.)
D) Interroger les textes avec des « grammaires »
Ce sont en fait des automates d’états finis (qui permettent d’effectuer le même type de
recherches que les expressions régulières, mais beaucoup plus commodément).
La grammaire ci-dessous permet d’analyser les contextes où le verbe être est suivi d’un
adverbe facultatif et d’un adjectif.
16/04/2017
3
Ce graphe est équivalent à l’expression régulière : <être> (<ADV>+<E>) <A>. Les mêmes
conventions d’écriture sont employées que pour les expressions régulières.
Pour créer ce graphe, on ira sur File/New/Grammar/Syntax.
Apparaissent alors un état initial et un état final. On va créer des « boîtes » qui correspondent
aux éléments linguistiques qui seront lus.
Pour créer une nouvelle boîte : clic droit / Edit / Create Node.
On doit ensuite remplir la boîte.
Pour valider le contenu, on fera CTL + Entrée.
Pour lier les boîtes entre elles : on clique (gauche) sur la boîte de départ, puis on clique sur la
boîte d’arrivée. Pour enlever un lien existant, on procédera de la même façon.
Une fois la grammaire créée, on l’enregistre (Save) en lui donnant un nom.
On pourra ensuite l’utiliser dans la recherche dans les textes en sélectionnant (select Nooj
Grammar) la grammaire. Par exemple, la grammaire correspondant au graphe ci-dessus sera
appelée être_A.nog et exploitée dans « Locate pattern ».
Q4 : Faites une grammaire pour identifier les catégories d’aliments, de nutriments et / ou de
compléments alimentaires les plus cités dans le corpus.
(exemple à adpter aux aliments)
Exemple d’une grammaire des institutions scientifiques et techniques : le but est
d’annoter les expressions suivantes avec l’étiquette InstitutionsS&T : atelier, Ecole
Polytechnique, fabrique, Faculté, hôpital, laboratoire, université.
Pour écrire la grammaire, on va créer un graphe. Aller dans File/New/Grammar/Syntax.
Créer un nœud initial : <E>/<InstitutionsS&T
Créer un nœud final : <E>/>
Créer les nœuds intermédiaires <atelier>, <Ecole Polytechnique> <fabrique>, <Faculté>,
<hôpital>, <laboratoire>, <université>.
Enregistrer la grammaire sous le nom « InstitutionS&T » On obtient la grammaire suivante :
16/04/2017
4
On peut ensuite appeler la grammaire en allant dans Text / Locate / A nooj Grammar
Cocher « All matches » + un onglet de couleur. Les résultats s’affiche dans une concordance
Si on clique sur Output, on voit les
annotations. On observe que la
requête génère du bruit.
Sélectionner les étiquettes qui ne
conviennent pas (par ex. lorsque
atelier désigne un atelier de peinture,
ou que fabrique est un verbe). Aller
dans CONCORDANCE / Filter out
selected lines.
On peut exporter les extraits de
textes (Extract Matching text
units),on peut ensuite faire
disparaître les lignes qui ne sont pas
conformes à la grammaire souhaitée
16/04/2017
5
Téléchargement