NLProlog: Reasoning with Weak Unification for Question Answering in Natural Language | Synapse