This repository contains code for training deep learning systems to do question answering tasks. Our primary focus is on Aristo's science questions, though we can run various models on several popular datasets.
This code is a mix of scala (for data processing / pipeline management) and python (for actually training and executing deep models with Keras / Theano / TensorFlow).
This repository implements several variants of memory networks, including the models found in these papers:
- The original MemNN, from Memory Networks, by Weston, Chopra and Bordes
- End-to-end memory networks, by Sukhbaatar and others (close, but still in progress)
- Dynamic memory networks, by Kumar and others (close, but still in progress)
- DMN+, from Dynamic Memory Networks for Visual and Textual Question Answering, by Xiong, Merity and Socher (close, but still in progress)
- The attentive reader, from Teaching Machines to Read and Comprehend, by Hermann and others
- Windowed-memory MemNNs, from The Goldilocks Principle: Reading Children's Books with Explicit Memory Representations (in progress)
As well as some of our own, as-yet-unpublished variants. There is a lot of similarity between the models in these papers, and our code is structured in a way to allow for easily switching between these models.
This code allows for easy experimentation with the following datasets:
- AI2 Elementary school science questions (no diagrams)
- The Facebook Children's book test dataset
- The Facebook bAbI dataset
And more to come... In the near future, we hope to also include easy experimentation with SQuAD, CNN/Daily Mail, and SimpleQuestions.
TODO. Sorry.
This code is released under the terms of the Apache 2 license.