Atualmente em desenvolvimento
Solver para Winograd Schema Challenge em português. As traduções portuguesas para o Winograd Schema Challenge originais também estão sendo propostas aqui.
Resultados preliminares foram apresentados em um artigo da conferência: Melo, Gabriela Souza de; Imaizumi, Vinicius A .; Cozman, Fabio Gagliardi. Esquemas Winograd em português. In: Encontro Nacional de Inteligênia Artificial E Computacional, 2019.
Este projeto não foi testado em máquinas sem GPUs CUDA disponíveis.
Um Dockerfile está disponível e pode ser usado com docker build -t wsc_port . seguido por nvidia-docker run -it -v $PWD/models:/code/models wsc_port <desired_command> (ou seja, nvidia-docker run -it -v $PWD/models:/code/models wsc_port python -m src.main ).
O arquivo Docker-Comppose contém algumas opções diferentes para executar o código, que podem ser executadas com comandos como: docker-compose run <service_name> (ou seja, docker-compose run train ). Para o Jupyter-Server, execute com docker-compose run --service-ports jupyter-server (senha para acessar a página da web para ela é root ).
Para correr para fora do recipiente do Docker, é necessário o CONDA.
conda env create -f environment.ymlO Makefile contém alguns dos comandos usados para executar o código. Esses comandos devem ser executados de dentro do ambiente.
make dev-init . Este comando também garante que make processed-data sejam executados, que prepara os dados necessários para treinar o modelomake reduced-processed-data reduz o tamanho de cada uma dessas divisõesmake corpus acelerará a primeira execução de código (mas não é necessária)make train um modelomake winograd-test Runs Of Winograd Schema Challengemake generate Runs Language Model para geração de texto O código é executado para casos de inglês e português, e essa configuração é controlada pela variável PORTUGUESE em src.consts .
Execute testes com make tests , o que é equivalente a pytest --cov=src tests/ . Use pytest --cov=src --cov-report=html tests/ para geração de relatório de teste html. Precisa de pacotes Pytest e Pytest-CoV. Se houver erros de importação, execute pip install -e . Para instalar localmente o pacote do código -fonte.
Há também código neste repositório para gerar o Winograd Schema Collection JSON, a partir do arquivo HTML original, para estar pronto para ser usado pelo solucionador. Esta geração acontece executando python -m src.winograd_collection_manipulation.wsc_subsets_generation . Para gerar a versão com nomes traduzidos, após esse primeiro comando, basta executar python -m src.winograd_collection_manipulation.name_replacer . Esses comandos não precisam ser chamados para poder executar o solucionador, já que o arquivo JSON já está presente neste repositório. No entanto, esse código está sendo disponibilizado, caso possa ajudar nas traduções para o desafio para outros idiomas.
├── 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.
Projeto com base no modelo de projeto de ciência de dados CookieCutter. #COOKIECTUTTERDATASCIENCE