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 à:
- Définir un guide d'annotation manuelle des entités nommées pour les textes littéraire (romans...) --> lien
- 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,
- 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,
- Tester et évaluer trois modèles de REN: Spacy, Stanza et L3i NERC-EL.
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).
├── 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
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
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
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
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
Exactment le même comme 3-annotate-Spacy.py, mais avec Stanza en place de Spacy.
À lancer: python 4-annotate-Stanza.py
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
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.