知识库问答旨在通过知识库回答自然语言问题。近来,大量的研究集中在语义或句法上复杂的问题上。在本文中,我们精心总结了复杂知识库问答任务的典型挑战和解决方案,介绍了复杂知识库问答的两种主流方法,即基于语义解析(基于SP)的方法和基于信息检索(基于IR)的方法。首先,我们形式化地定义了知识库问答任务并介绍了该任务下相关的数据集。然后,我们从两个类别的角度全面回顾了前沿方法,说明他们针对典型挑战的解决方案。最后,我们总结并讨论了一些仍具有挑战的未来研究方向。
知识库(KB)是一个结构化的数据库,它以(主题、关系、对象)的形式包含一系列事实。大型KBs,如Freebase [Bollacker et al., 2008], DBPedia [Lehmann et al., 2015]和Wikidata [Tanon et al., 2016],已经构建服务于许多下游任务。知识库问答(KBQA)是一种基于知识库的自然语言问答任务。KBQA的早期工作[Bordes et al., 2015; Dong et al., 2015; Hu et al., 2018a; Lan et al., 2019b; Lan et al., 2019a]专注于回答一个简单的问题,其中只涉及一个单一的事实。例如,“j·k·罗琳出生在哪里?”“是一个可以用事实来回答的简单问题”(J.K.罗琳)罗琳,出生地,英国)。
最近,研究人员开始更多地关注于回答复杂问题,即复杂的KBQA任务[Hu et al., 2018b; Luo et al., 2018]。复杂问题通常包含多个主题,表达复合关系,并包含数值运算。以图1中的问题为例。这个例题的开头是“the Jeff Probst Show”。这个问题不是问一个单一的事实,而是要求由两个关系组成,即“被提名人”和“配偶”。该查询还与一个实体类型约束“(Jeff Probst,是一个电视制作人)”相关联。最后的答案应该通过选择有最早结婚日期的可能候选人来进一步汇总。一般来说,复杂问题是涉及多跳推理、约束关系、数值运算或上述几种组合的问题。