Skip to content

OBVIL/Entites-nommees

Repository files navigation

Projet Entités Nommées (OBVIL): 2019-2022

Ce dépôt contient toutes les données du projet des Entités nommées du labex OBVIL et de sa suite, l'équipe-projet ObTIC. Ce travail en cours est amorcé par Motasem Alrahabi (ObTIC), en collaboration avec Carmen Brando (EHESS), Francesca Frontini (ILC, Italie) et des membres de l'équipe OBVIL: Romain Jalabert, Arthur Provenier, Marguerite Bordry, Camille Koskas et James Gawley.

Le travail effectué consiste à:

  1. Définir un guide d'annotation manuelle des entités nommées pour les textes littéraire (romans...) --> lien
  2. Créer un corpus de référence à partir, dans un premier temps, d'une annotation manuelle de trois romans: Le ventre de Paris de Zola, Nana de Zola et Bel ami de Maupassant,
  3. Evaluer l'accord inter-annotateurs sur un sous-ensemble du corpus avec deux annotateurs experts du domaine littéraire en vue d'assurer une homogénéité au niveau des annotations,
  4. Tester et évaluer trois modèles de REN: Spacy, Stanza et L3i NERC-EL.

Tâche en cours de réalisation:

Nous sommes actuellement en train d'élargir le corpus de référence en incluant une trentaine de nouveaux romans de deux courants littéraires (réalistes et naturalistes).

Arbre de fichiers

├── corpus-annotations-golds		<-les annotations finis (convertir avec script 0)
│   ├── belAmi
│   ├── LVP
│   └── Nana
├── corpus-plusieurs-annotateurs	<-les annotations des annotateurs (convertir avec script 0 et comparer avec 1 & 2)
│   ├── lvp
│   │   ├── lvp-zola-c
│   │   └── lvp-zola-m
│   └── nana
│       ├── nana-zola-c
│       └── nana-zola-m
├── documents				<-les instructions données aux annotateurs
├── evaluation				
│   ├── L3i_NERC-EL			<-les annotations L3i
│   │   ├── belAmi
│   │   ├── LVP
│   │   └── Nana
│   └── spacy				<-les annotations spacy (géneré par script 3)
│   │   ├── belAmi
│   │   ├── LVP
│   │   └── Nana
│   └── stanza				<-les annotations stanza (géneré par script 4)
│   │   ├── belAmi
│   │   ├── LVP
│   │   └── Nana
│   └── texts			<- text lis par spacy et stanza
├── publications
└── scripts				<-scripts qui génèrent des scores et predictions, et convertissent entre fomats

Les Scripts

0-transformer-brat-a-bios.pl

Transformer les fichiers dans /corpus-annotations-gold du format .ann en format .bios.tsv. Ceci n'est nécessaire que lorsque les annotations gold pour LVP et Nana ont été mises à jour. L'option --replace supprime automatiquement les anciens fichiers .bios.tsv situé sous évaluation/L3i-NERC-EL/comparateur-prédictions-et-or afin que ils puissent être utilisé par le script comparer-gold-et-predictions.pl.

À lancer: perl 0-transformer-brat-a-bios.pl <dossier_corpus> [OPTIONS] Par example: perl 0-transformer-brat-a-bios.pl corpus-annotations-golds/Gold_LVP/* --replace

1-convertir-conll2002-a-csv.py

Convertir la sortie de Brat en un csv utilisable par le script de calcul du score inter-annotateurs. Sous-entend que les fichiers sont dans un dossier avec pour nom le titre du corpus. Et à l'intérieur, les dossiers extraits de Connll 2002 au format "nomCorpus-auteur-nomAnnotateur" Convertir la sortie de Brat en un csv utilisable par le script de calcul du score inter-annotateurs. Sous-entend que les fichiers sont dans un dossier avec pour nom le titre du corpus. À lancer: python brat-to-csv-interAnnotateurs.py <dossier_corpus> <fichier_output> Et à l'intérieur, les dossiers extraits de Brat au format "nomCorpus-auteur-nomAnnotateur" À lancer: D'abord, convertir les fichiers dans le dossier de chaque annotateur: perl 0-transformer-brat-a-bios.pl <dossier_corpus> Exécutez ensuite le script pour comparer les annotateurs : python 1-convertir-conll2002-a-csv.py <dossier_input> <dossier_output>

lvp
├── lvp-zola-camille
│   ├── chapitre1.bios.tsv
│   ├── chapitre2.bios.tsv
└── lvp-zola-marguerite
    ├── chapitre1.bios.tsv
    ├── chapitre2.bios.tsv

Par example: perl scripts/0-transformer-brat-a-bios.pl corpus-plusieurs-annotateurs/lvp/lvp-zola-c/* --skip-verification perl scripts/0-transformer-brat-a-bios.pl corpus-plusieurs-annotateurs/lvp/lvp-zola-m/* --skip-verification python scripts/1-convertir-conll2002-a-csv.py corpus-plusieurs-annotateurs/lvp corpus-plusieurs-annotateurs/output.csv

2-calcul-accord-interannotateur-de-csv.py

Calcul du score inter-annotateur. Prend en entrée les fichiers créés par 1-convertir-conll2002-a-csv.py. À lancer: python 1-convertir-conll2002-a-csv.py input_file

3-annotate-Spacy.py

Utilizer Spacy pour generer les annotations automatiques (voir le Spacy documentation). Les texts sont rangés dans evaluations/Spacy-Stanza/texts/, est les resultats du scripts seront être laissés dans les dossiers nommés apres les corpus, sous evaluations/Spacy-Stanza/. À lancer: python 3-annotate-Spacy.py

4-annotate-Stanza.py

Exactment le même comme 3-annotate-Spacy.py, mais avec Stanza en place de Spacy. À lancer: python 4-annotate-Stanza.py

5-generer-tsv-avec-gold-et-predictions.pl

Regroupez les annotations de l'étalon-or avec les prévisions. Générer des fichiers TSV. Il faut que les fichiers sont en format ".bios.tsv". Il est nécessaire de spécifier un dossier contenant des fichiers annotés automatiquement et un dossier contenant des annotations de référence.

Vous pouvez spécifier un dossier pour recevoir les résultats, ou vous pouvez autoriser qu'ils soient laissés dans le dossier "gold" par défaut.

Par example: Usage: perl scripts/5-generer-tsv-avec-gold-et-predictions.pl --gold evaluation/L3i_NERC-EL/comparer-predictions-et-gold/Gold_LVP --predictions evaluation/L3i_NERC-EL/comparer-predictions-et-gold/Predictions_LVP Les fichiers de sortie sont déposés dans le même dossier où se trouvent les dossiers d'entrée. Par défaut, le contenu du fichier evaluation/L3i_NERC-EL/comparer-predictions-et-gold/ est converti.

Un portage vers python de ce script a été réalisé, il s'utilise de manière similaire: Usage: python scripts/5-generer-tsv-avec-gold-et-predictions.py evaluation/L3i_NERC-EL/comparer-predictions-et-gold/Gold_LVP evaluation/L3i_NERC-EL/comparer-predictions-et-gold/Predictions_LVP

6-evaluer-predictions-de-tsv.py

Ce script utilise nervaluate pour calculer la précision et le rappel du marquage automatique des entités nommées par rapport à un étalon-or. Il faut fournir les fichiers à évaluer sous la forme suivante:

TOKEN   NE-COARSE-LIT   GOLD	VALIDITY
Deux    O   O	1
mois    O   O	1

Les fichiers sous cette forme peuvent être créés par comparer-gold-et-predictions.pl. Usage: python 6-evaluer-predictions-de-tsv.py <dossier_input> <fichier_output> Par défaut, le contenu du fichier /evaluation/L3i_NERC-EL/comparer-predictions-et-gold/Predictions_vs_Gold_belAmi/ sont évalués.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published