Actuellement en développement
Solver pour Winograd Schema Challenge en portugais. Des traductions portugaises pour le défi original du schéma Winograd sont également proposées ici.
Des résultats préliminaires ont été présentés sur un document de conférence: Melo, Gabriela Souza de; Imaizumi, Vinicius A .; Cozman, Fabio Gagliardi. Schémas Winograd en portugais. Dans: Encontro Nacional de Inteligência Artificial E Computacional, 2019.
Ce projet n'a pas été testé dans des machines sans GPU CUDA disponibles.
Un dockerfile est disponible et peut être utilisé avec docker build -t wsc_port . suivi par nvidia-docker run -it -v $PWD/models:/code/models wsc_port <desired_command> (c'est-à-dire nvidia-docker run -it -v $PWD/models:/code/models wsc_port python -m src.main ).
Le fichier docker-compose contient quelques options différentes pour exécuter le code, qui peut être exécuté avec des commandes telles que: docker-compose run <service_name> (c'est-à-dire docker-compose run train ). Pour le serveur Jupyter, exécutez avec docker-compose run --service-ports jupyter-server (mot de passe pour accéder à la page Web pour sa root ).
Pour courir en dehors du conteneur Docker, Conda est nécessaire.
conda env create -f environment.ymlMakeFile contient certaines des commandes utilisées pour exécuter le code. Ces commandes doivent être exécutées à l'intérieur de l'environnement.
make dev-init . Cette commande s'assure également make processed-data sont exécutées, ce qui prépare les données nécessaires pour former le modèlemake reduced-processed-data réduit la taille de chacune de ces divisionsmake corpus accélérera la première exécution de code (mais n'est pas nécessaire)make train un modèlemake winograd-test du défi Winograd Schemamake generate du modèle de langue des exécutions pour la génération de texte Le code s'exécute pour les cas anglais et portugais, et ce paramètre est contrôlé par la variable PORTUGUESE de src.consts .
Exécutez des tests avec make tests , ce qui équivaut à pytest --cov=src tests/ . Utilisez pytest --cov=src --cov-report=html tests/ Pour la génération de rapport de test HTML. Besoin des packages Pytest et Pytest-CoV. S'il y a des erreurs d'importation, devrait exécuter pip install -e . Pour installer localement le package à partir du code source.
Il y a aussi du code dans ce référentiel pour générer la collection de schéma Winograd JSON, à partir du fichier HTML d'origine, pour être prêt à être utilisé par le solveur. Cette génération se produit en exécutant python -m src.winograd_collection_manipulation.wsc_subsets_generation . Pour générer la version avec des noms traduits, après cette première commande, exécutez simplement python -m src.winograd_collection_manipulation.name_replacer . Ces commandes n'ont pas besoin d'être appelées pour pouvoir exécuter le solveur, étant donné que le fichier JSON est déjà présent dans ce référentiel. Cependant, ce code est mis à disposition, au cas où il pourrait aider avec les traductions pour le défi à d'autres langues.
├── LICENSE
├── Makefile <- Makefile with commands like `make data` or `make train`.
├── README.md <- The top-level README for developers using this project.
├── environment.yml <- Contains project's requirements, generated from Anaconda environment.
├── setup.py <- makes project pip installable (pip install -e .) so src can be imported.
│
├── data
│ ├── external <- Data from third party sources.
│ ├── interim <- Intermediate data that has been transformed.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The original, immutable data dump.
│
├── githooks <- Contains githooks scripts being used for development. Git hook directory for repo needs to be set to this folder.
│
├── models <- Trained and serialized models, model predictions, or model summaries. Gitignored due to their size.
│
├── notebooks <- Jupyter notebooks, used during experimentation and testing.
│
├── src <- Source code for use in this project.
│ ├── __init__.py <- Makes src a Python module.
└── tests <- Tests module, using Pytest.
Projet basé sur le modèle de projet de science des données Cookiecutter. #cookiecterdatascience