Contributing
July 12, 2019 ยท View on GitHub
Thank you for considering contributing to cdQA ๐
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
Table of Contents
Code of Conduct
This project and everyone participating in it is governed by the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
How Can I Contribute?
cdQA is an open source project and we love to receive contributions from our community! There are many ways to contribute: improving the documentation, reporting bugs, suggesting or proposing new features, sharing your results...
Your First Contribution
Unsure where to begin contributing to cdQA?
You can start by looking through these beginner and help-wanted issues:
- Beginner issues - issues which should only require a few lines of code, and a test or two.
- Help wanted issues - issues which should be a bit more involved than beginner issues.
Working on your first Pull Request?
Here are some example steps to get it done:
- Create a feature branch from
developbranch with the name of the issue you want to fix. - Commit in this new feature branch until your fix is done while referencing the issue number in your commit message.
- Open a pull request in order to merge you branch with the
developbranch. - Discuss with peers and update your code until pull request is accepted by repository admins.
- Delete you feature branch.
- Synchonise your repository with the latest
developchanges. - Repeat!
See more about this workflow at https://guides.github.com/introduction/flow/
Having trouble understanding the repository structure?
โโโ Dockerfile
โโโ LICENSE
โโโ README.md
โโโ api.py --> the REST API of cdqa pipeline
โโโ cdqa
โ โโโ __init__.py
โ โโโ pipeline
โ โ โโโ __init__.py
โ โ โโโ cdqa_sklearn.py --> a full cdqa pipeline sklearn wrapper based on run_squad.py's main() function
โ โโโ reader
โ โ โโโ __init__.py
โ โ โโโ bertqa_sklearn.py --> a BertForQuestionAnswering sklearn wrapper based on run_squad.py's main() function
โ โ โโโ run_squad.py --> a miror of pytorch-pretrained-BERT example (used for pipeline steps)
โ โโโ retriever
โ โ โโโ __init__.py
โ โ โโโ tfidf_sklearn.py --> the logic for the document retriever as a sklearn wrapper
โ โโโ scrapper
โ โ โโโ __init__.py
โ โ โโโ bs4_bnpp_newsroom.py --> the logic for the dataset scrapper
โ โโโ utils
โ โโโ __init__.py
โ โโโ converter.py --> the logic for converting the dataset to SQuAD format
โ โโโ download.py --> downloads all assets needed to use the application (data, models)
โ โโโ filters.py
โ โโโ metrics.py
โโโ data
โโโ docs
โ โโโ latex
โ โโโ cdqa.tex --> the research paper describing cdqa
โ โโโ neurips_2019.sty --> the style file for the research paper from neurips
โโโ examples
โ โโโ tutorial-first-steps-cdqa.ipynb --> examples to use cdqa for prediction
โโโ logs --> stores the outpout predictions and metrics
โโโ models --> stores the trained models
โโโ requirements.txt
โโโ setup.py
โโโ tests --> unit tests for the application
โโโ __init__.py
โโโ test_pipeline.py