Traditional symbolic reasoning engines, while attractive for their precision and explicability, have a few major drawbacks: the use of brittle inference procedures that rely on exact matching (unification) of logical terms, an inability to deal with uncertainty, and the need for a precompiled rule-base of knowledge (the "knowledge acquisition" problem). To address these issues, we devise a novel logical reasoner called Braid, that supports probabilistic rules, and uses the notion of custom unification functions and dynamic rule generation to overcome the brittle matching and knowledge-gap problem prevalent in traditional reasoners. In this paper, we describe the reasoning algorithms used in Braid, and their implementation in a distributed task-based framework that builds proof/explanation graphs for an input query. We use a simple QA example from a children's story to motivate Braid's design and explain how the various components work together to produce a coherent logical explanation. Finally, we evaluate Braid on the ROC Story Cloze test and achieve close to state-of-the-art results while providing frame-based explanations.
翻译:传统的象征性推理引擎虽然对其精确性和可复制性具有吸引力,但有一些重大缺点:使用依赖逻辑术语精确匹配(统一)的易碎推论程序;无法应对不确定性;需要事先完善规则基础知识(“知识获取”问题)。为了解决这些问题,我们设计了一个叫Braid的新的逻辑推理器,它支持概率规则,并使用海关统一功能和动态规则生成的概念来克服传统理性者普遍存在的易碎匹配和知识差距问题。在本文中,我们描述了在布拉伊德使用的推理算法及其在分散任务框架内的落实情况,该框架为输入查询建立证据/规划图。我们用儿童故事中的简单QA示例来激励Braid的设计,并解释各组成部分如何一起工作,以得出连贯一致的逻辑解释。最后,我们评估布拉迪德对 ROC Story Cloze 测试和近于最新结果,同时提供基于框架的解释。