Giter VIP home page Giter VIP logo

pyrrhaci's Introduction

CLI de contrôle pour l'outil Pyrrha

Un CLI permet d'exécuter un script sans interface graphique. Il s'agit d'un script de contrôle qualité qui vérifie les annotations de l'outil Pyrrha. Le script vérifie ligne par ligne, d'une part si les annotations sont autorisées par chacun des fichiers obligatoires et d'autre part si les annotations sont autorisées ensemble (règles indiquées dans le fichier additional_rules) et si les règles doivent être ignorées (règle ignore). Le CLI renvoie un message pour signaler qu'il n'y a pas d'erreur ou, s'il y en a, il renvoie un commentaire et le numéro de la ligne où se trouve l'erreur.

Les fichiers à fournir au CLI

Ce CLI fonctionne avec deux fichiers d'entrée, un fichier de configuration au format .yml et un fichier à contrôler au format .tsv. Ce fichier doit être composé de 4 colonnes : le token, le lemme, la POS et la morph.

Les fichiers obligatoires

Le fichier config.yml doit nécessairement contenir le chemin de trois fichiers:

  • fichier lemma.txt
    • sous forme de liste
    • liste tous les lemmes autorisés dans l'outil
  • fichier POS.txt
    • liste sur une seule ligne toutes les catégories grammaticales sous formes d'abbréviations
    • chaque chaîne de caractère est séparée par une virgule
  • fichier morph.tsv
    • liste toutes les catégories grammaticales : genre, cas , nombre et conjugaison
    • sous forme de 2 colonnes, la seconde ayant l'intérêt d'être intelligible pour l'utilisateur.
    • seule la première colonne 'label' est parsée et verifiée par le script.

Les fichiers optionnels

Le fichier config.yml peut aussi contenir:

  • Des règles 'ignore', qui prévalent sur les autres règles et normes. Chaque règle est composée de 3 colonnes : Index de catégorie erreur, index de token et un message intelligible qui explique l'exception. Ces trois parties doivent être séparées par des :.
  • Un fichier de règle additionel. C'est un .tsv, qui est composé de 6 colonnes et contient des règles autorisant ou interdisant la combinaison des POS et MORPH.

Forme du fichier de configuration

Le fichier config.yml doit avoir cette forme:

  • allowed_lemma: "fichier.txt"
  • allowed_pos: "fichier.txt"
  • allowed_morph: "fichier.tsv"
  • additional_rules: "fichier.tsv"
  • ignore:
    • "AllowedLemma:8:Estre5 est particulier au projet"

Les ignore peuvent prendre une valeur autorisée directement en deuxième position

Pour installer le CLI:

  • Installer Python 3
  • Cloner ce repository
  • Installer et activer un environnement virtuel
  • Ouvrir le terminal dans le dossier cloné
  • Installer le CLI en faisant python setup.py install dans votre terminal
  • Veillez à ce que les fichiers de configuration soit dans le dossier cloné
  • Lancer le CLI en faisant pyrrha_ci "config.yml" "fichier à contrôler" dans votre terminal

Ce script CLI a été réalisé en mars 2019 dans le cadre d'un devoir de M2 Technologies numériques appliquées à l'histoire de l'Ecole nationale des Chartes, par deux étudiantes Marie-Caroline Schmied et Emilie Blotière sous le regard avisé de leur professeur Thibault Clérice.

pyrrhaci's People

Contributors

emilieblotiere avatar mariecaro avatar ponteineptique avatar

Watchers

 avatar  avatar  avatar

Forkers

chartes-tnah

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.