NLProlog: Reasoning with Weak Unification for
Question Answering in Natural Language
Abstract
Rule-based models are attractive for various
tasks because they inherently lead to interpretable and explainable decisions and can easily incorporate prior knowledge. However,
such systems are difficult to apply to problems involving natural language, due to its linguistic variability. In contrast, neural models
can cope very well with ambiguity by learning distributed representations of words and
their composition from data, but lead to models that are difficult to interpret. In this paper, we describe a model combining neural networks with logic programming in a novel manner for solving multi-hop reasoning tasks over
natural language. Specifically, we propose to
use a Prolog prover which we extend to utilize
a similarity function over pretrained sentence
encoders. We fine-tune the representations
for the similarity function via backpropagation.
This leads to a system that can apply rulebased reasoning to natural language, and induce domain-specific rules from training data.
We evaluate the proposed system on two different question answering tasks, showing that
it outperforms two baselines – BIDAF (Seo
et al., 2016a) and FASTQA (Weissenborn
et al., 2017b) on a subset of the WIKIHOP
corpus and achieves competitive results on the
MEDHOP data set (Welbl et al., 2017)