Neural network models have revolutionized many areas of data analysis, but have yet to make their way into mainstream usage in a number of popular fields. Recent advances in question-answering have come largely from creative applications of deep learning. In this tutorial, I will demonstrate how to modify the open-source framework Keras to build some of these models.
Question answering has received more focus as large search engines have basically mastered general information retrieval and are starting to cover more edge cases. Question answering happens to be one of those edge cases, because it could involve a lot of syntatic nuance that doesn’t get captured by standard information retrieval models, like BM-25 or LSI. Hypothetically, deep learning models are better suited to this type of task because of their ability to capture higher-order syntax. Two papers, “Applying deep learning to answer selection: a study and an open task” (Feng et. al. 2015) and “LSTM-based deep learning models for non-factoid answer selection” (Tan et. al. 2016), are recent examples which have applied deep learning to question-answering tasks with good results.
Feng et. al. used an in-house Java framework for their work, and Tan et. al. built their model entirely from Theano. This tutorial will demonstrate how to replicate the models used by each group using the popular open-source framework Keras, adding custom functions to include recent advances from the neural networks community.