├── .gitignore ├── README.md └── slides ├── README.md ├── Session 1 - Introduction.pdf ├── Session 2 - Hands On.pdf └── Session x - NNs.pdf /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | env/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | eggs/ 17 | .eggs/ 18 | lib/ 19 | lib64/ 20 | parts/ 21 | sdist/ 22 | var/ 23 | wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | 49 | # Translations 50 | *.mo 51 | *.pot 52 | 53 | # Django stuff: 54 | *.log 55 | local_settings.py 56 | 57 | # Flask stuff: 58 | instance/ 59 | .webassets-cache 60 | 61 | # Scrapy stuff: 62 | .scrapy 63 | 64 | # Sphinx documentation 65 | docs/_build/ 66 | 67 | # PyBuilder 68 | target/ 69 | 70 | # Jupyter Notebook 71 | .ipynb_checkpoints 72 | 73 | # pyenv 74 | .python-version 75 | 76 | # celery beat schedule file 77 | celerybeat-schedule 78 | 79 | # SageMath parsed files 80 | *.sage.py 81 | 82 | # dotenv 83 | .env 84 | 85 | # virtualenv 86 | .venv 87 | venv/ 88 | ENV/ 89 | 90 | # Spyder project settings 91 | .spyderproject 92 | .spyproject 93 | 94 | # Rope project settings 95 | .ropeproject 96 | 97 | # mkdocs documentation 98 | /site 99 | 100 | # mypy 101 | .mypy_cache/ 102 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Build a Question Answering System @ ESWC 2019 2 | 3 | You'll find all the material related to our tutorial at [ESWC 2019](https://2019.eswc-conferences.org/) here. 4 | 5 | A tutorial on building a Knowledge Graph Question Answering, held on on 2nd June, 2019. 6 | 7 | Organized by Asknow, [SDA](sda.tech), University of Bonn. 8 | 9 | ## Sessions 10 | 11 | ### 1. Introduction 12 | [Slides](slides/Session%201%20-%20Introduction.pdf) 13 | 14 | 15 | ### 2. _Hands On_: Deep Learning based QA 16 | [Slides](slides/Session%202%20-%20Hands%20On.pdf) 17 | 18 | -------------------------------------------------------------------------------- /slides/README.md: -------------------------------------------------------------------------------- 1 | # Tutorial: Build a Question Answering System Overnight 2 | 3 | * Team: Jens Lehmann, Mohnish Dubey, Denis Lukovnikov, Gaurav Maheshwari, Priyansh Trivedi 4 | * will be given at [ESWC 2019](/2019.eswc-conferences.org/) 5 | * see also the [corresponding Web page](http://qatutorial.sda.tech/) (content mirror). 6 | * proudly supported by [SDA](http://sda.tech) 7 | 8 | # Description 9 | 10 | With this tutorial, we aim to provide the participants with an overview of the field of Question Answering, insights into commonly faced problems, its recent trends and developments. At the end of the tutorial, the audience would have hands-on experience of developing two working QA systems- one based on rule-based semantic parsing, and another, a deep learning based method. In doing so, we hope to provide a suitable entry point for the people new to this field, and ease their process of making informed decisions while creating their own QA systems. 11 | 12 | # Program 13 | 14 | ## Session 1: Introduction to Question Answering and Basic Setup 15 | * Speaker: Priyansh Trivedi and Gaurav Maheshwari 16 | * The primary object of this session would be to give an overview of QA over knowledge graphs. This will include common source KGs, the datasets used to evaluate QA systems, an overview of the prominent types of approaches, and familiarizing the audience with the sub-tasks (like entity linking, predicate linking) and the terminology used in the community. We will then introduce the basic concepts of NLP needed for semantic parsing based QA systems and finally end the session with setting up system for next session. 17 | 18 | ## Session 2: Hands-On: Deep Learning based Simple QA system 19 | * Speaker: Priyansh Trivedi and Gaurav Maheshwari 20 | * Requirements: [OPTIONAL] linux distro; python; numpy; pytorch 21 | * We will give a practical introduction for the development and training of a simple question answering system using neural networks, focusing on the implementation of a learning-to-rank approach for QA in PyTorch. First, we will show how to create training data, and then implement a basic neural model for ranking questions. 22 | -------------------------------------------------------------------------------- /slides/Session 1 - Introduction.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AskNowQA/QA-Tutorial/058b0a85bfb510ee7b2e48297d0890a9ea6ec4ad/slides/Session 1 - Introduction.pdf -------------------------------------------------------------------------------- /slides/Session 2 - Hands On.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AskNowQA/QA-Tutorial/058b0a85bfb510ee7b2e48297d0890a9ea6ec4ad/slides/Session 2 - Hands On.pdf -------------------------------------------------------------------------------- /slides/Session x - NNs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AskNowQA/QA-Tutorial/058b0a85bfb510ee7b2e48297d0890a9ea6ec4ad/slides/Session x - NNs.pdf --------------------------------------------------------------------------------