查看原文
其他

EMNLP 2017|萨兰信息学院:QUINT - 知识库上的解释性问答

热爱学习的 读芯术 2019-05-05

你和“懂AI”之间,只差了一篇论文


很多读者给芯君后台留言,说看多了相对简单的AI科普和AI方法论,想看点有深度、有厚度、有眼界……以及重口味的专业论文。


为此,在多位AI领域的专家学者的帮助下,我们解读翻译了一组顶会论文。每一篇论文翻译校对完成,芯君和编辑部的老师们都会一起笑到崩溃,当然有的论文我们看得抱头痛哭。


同学们现在看不看得懂没关系,但芯君敢保证,你终有一天会因此爱上一个AI的新世界。


读芯术读者论文交流群,请加小编微信号:zhizhizhuji。等你。

这是读芯术解读的第78篇论文



EMNLP 2017 System Demonstrations

QUINT: 知识库上的解释性问答

QUINT: Interpretable Question Answering over Knowledge Bases

萨兰信息学院

Saarland Informatics Campus


【摘要】我们提出了一个关于知识库的实时系统QUINT。QUINT从用户问题中自动学习角色对齐的语句查询模板,并与它们的答案配对。当QUINT回答一个问题时,它将从自然语言表达到最终答案的完整的派生序列可视化。派生提供了一个解释,解释了问题的句法结构是如何派生出一个SPARQL查询结构,以及如何使用问题中的短语来实例化查询的不同部分。当一个答案似乎不令人满意时,这个推导提供了关于重新构思问题的宝贵见解。


1 引言


动机 一个KB-QA系统采用自然语言表达作为输入,并产生一个或多个清晰的输出(Bastand Haussmann, 2015; Berant et al., 2013; Reddy et al., 2014; Yih et al., 2015)。这通常是通过语义解析完成的:将话语转换为像SPARQL这样的语言中的正式查询,并通过诸如Freebase(Bollacker et al .,2008)或YAGO(Suchanek et al .,2007)这样的知识库执行此查询,以返回一个或多个应答实体。


除了回答问题,一个KB-QA系统最好能够解释一个答案是如何得到的,也就是系统如何理解用户的问题。虽然在KB-QA任务上取得了快速的进展,但从KB-QA系统获得的答案质量还远远不够完善。这是由于与自然语言的模糊性、底层数据(例如,KB不完全性、词典覆盖的差距)和KB-QA系统本身(例如,命名实体识别和消除歧义、查询排名)等因素相关。解释可以通过两种方式来解决这一差距:(1)帮助用户在回答正确答案时获得自信;(2)通过寻找错误答案的解释来理解系统的局限性,可能提供线索来解决这些问题。对于专家用户来说,解释也有助于可追溯性:确定KB-QA系统管道故障的确切点,它可以用于后续的调试。


在这项工作中,我们展示了QUINT (Abujabalet al .,2017),一个最先进的KB-QA系统,它逐步解释了它是如何回答问题的。此外,当QUINT无法将问题中的某个特定短语链接到知识库条目时,它会要求用户重新构建该短语。这样的重新组合可以用来改进KB-QA管道中的各种组件,比如底层的词汇。QUINT是未来启用交互式QA的第一步,系统可以向用户询问其不确定的部分问题。


例子 以“马丁·路德在哪里长大?Where was Martin Luther raised”的问题为例:QUINT将德国的Eisleben作为最佳答案。在推导过程中,用户快速浏览一下,就会发现(1)“MartinLuther”被映射到KB实体MartinLuther,一个神学家,(2)“raised”被解释为KB谓词出生地placeOfBirth。对于(1),如果用户想要的是美国活动家马丁路德金,而在输入返回亚特兰大的“马丁·路德·金”(martinluther king)的一种简单的重新表述,在美国的城市路德·金出生。另一方面,对于(2)来说,如果出生地不是特定的意图,那么就可以快速地将问题重新表述为“马丁·路德生活在哪里?”“结果在萨克森-安哈尔特,它源自于谓词的位置。


由于需要解释问题,QUINT对KB-QA的方法依赖于角色对齐模板,其中每个模板由一个基于依赖解析模式的话语模板和基于SPARQL查询语言的对应查询模板组成。模板(1)指定如何将一个话语块转换成短语;(2)通过指定它们的语义角色作为谓词、实体或类型,指导这些短语如何映射到知识库原语;(3)将语句中的语法结构与查询的语义谓词结构相结合。


以往工作的局限性 先前基于模板的方法依赖于一组手动定义的规则或模板来处理用户问题(Berantet al., 2013; Fader et al., 2013, 2014; Unger et al., 2012; Yahya et al., 2013;Yao and Durme, 2014; Zou et al., 2014)。这些方法的主要缺点是模板的覆盖率有限,使它们在非传统的问题简洁陈述中变得脆弱。相反,QUINT自动从问答对中学习模板。


嵌入式方法(Bordeset al., 2014; Dong et al., 2015; Yang et al., 2014; Xu et al., 2016) 将问题、知识库实体和子图映射到KB-QA的共享空间,而不显式地生成语义表示。这使得这些系统很难对用户产生细粒度的解释。


KB-QA的其他方法(Bast和Haussmann,2015; Yih et al.,2015)在一个给定的话语中,对一个给定的话语表达产生了过度生成查询候选,并没有通过细粒度的对齐将自然语言的短语映射到不同的KB条目上,这使得解释能力具有挑战性。


贡献 这篇论文的主要贡献是一个在线的KB-QA系统,它可以可视化生成答案的推导步骤,从而迈出了解释QA的第一步。该程序可以在以下URL:https://gate.d5.mpi-inf.mpg.de/quint/quint中获得。

QUINT

我们现在简要概述一下QUINT(Abujabalet al.,2017),一个KB-AQ系统驱动我们的演示。QUINT有一个自动学习模板和查询排序功能的训练阶段,以及一个回答阶段,其中模板被用来实例化查询,该查询通过学习函数排序。图1显示了QUINT的功能框图。


图1 QUINT概述


2.1 训练阶段


QUINT训练阶段的输入是一组自然语言的话语u∈U和如图2所示相应的来自KB的黄金回答集盟Au。一个训练话语的例子是“你在哪里受过教育?”,与此匹配的答案是Au={ColumbiaUniversity,HarvardUniversity, PunahouSchool}。首先,在每个话语u中提到的实体在使用AIDA系统(Hoffartet al .,2011)检测并消除对Freebase实体的歧义。


接下来,QUINT启发式的构建一个查询来捕获问题,指导的直觉是因为正确的查询将一个问题u中的实体连接到一个答案实体a∈Au。要做到这一点,QUINT首先发现,对于每个回答实体a ∈ Au的最小子图,KB中的该子图包括u 和a中检测到的所有实体 (图中的黑色节点标识a=ColumbiaUniversity)。这个子图然后通过增加与a连接的所有类型节点进行扩展 (图2中的灰色节点组织Organization和教育机构EducationalInstitution)。这个子图通过用不同值代替回答节点和任意cvt节点(cvt节点用于表示Freebase中的n元关系),转变为一个主干查询。产生的如图3所示。这紧随其后的是调整的组件和u的依赖解析。对齐问题建模为一个有约束的最优化问题,而最好的队列m是使用整数线性规划(ILP)获得的。


图2 KB分片例子


为了将问题中的自然语言短语与知识库条目联系起来,QUINT使用了两种加权词典,一个是谓词词典LP和一个类型词典LC。如上所述,实体是使用一个现成的命名实体识别和歧义消除系统来处理的。ILP求解程序的输出告诉我们主干查询中,u的哪个标记项用于实例化哪个KB的条目。不属于队列m一部分的U的依赖性解析节点和中的节点和边都将被移除u和。在我们运行的例子中,这将导致删除来自的节点EducationalInstitution(图3)。通过丢弃u和中的具体值,获得的队列将被泛化,这就分别被称为表示模板ut和查询模板qt。这种角色对齐的模板对(ut,qt)被添加到一个模板库T中。每个训练实例(u,Au)都会重复这个过程。然而,由于一些表达可能具有类似的句法结构,所以模板|T||U|。图4显示了这个实例生成的模板。


图3 从表达“Where was Obama educated?”和回答“ColumbiaUniversity”中生成的主干查询


图4 一对(表达,查询)模板,共享的数字表明对齐。W是任意词汇的占位符。ENT/PRED/TYPE是节点和边的语义角色。


最后,作为训练阶段的一部分,QUINT训练一个排序函数来对来自模板库T的问题进行匹配生成的查询进行排序。使用随机森林分类器(Bast和Haussmann,2015)一个学习型排序框架,用于为一对给定一个输入表达的查询建模一个偏好函数。


2.2 回答阶段


当经过训练的系统从用户接收到一个新的话语u0时,u0的依赖性解析与T中的话语模板相匹配。对于每一个匹配,成对的查询模板都是使用对齐信息和底层词典一起实例化的。因此,获得了一组候选查询,然后使用学习到排名框架进行排序。最后,向用户显示排名靠前的查询答案。


3 演示

我们现在给出了我们的演示排练,以展示QUINT通过简短详细的解释向正常和技术熟练的用户解释其答案的能力。我们使用的问题是“马丁·路德在哪里长大的?”来推动这一节。”


3.1 问答


图5显示了QUINT的主窗口,其中用户的起点是问题框或提供的示例问题之一。一个专家用户可以做出几个配置选项(图5,右下):


图5 用户输入


  • 加载模型:模型包括一组离线学习模板,以及相应的学习查询排序功能。这些选择对应于WebQuestions(Berantet al .,2013)和Free917(Cai和Yates,2013)数据集的训练部分。


  • 是否将答案类型添加到查询中:大多数KB-QA系统没有捕获细粒度的类型,而QUINT设计上也这样做。


  • 显示排名靠前的查询数量。


  • 学习到排名模块的决策树的数量:在应答阶段(第2.2节)中用于查询排序。


在对一个问题的响应中,前K个查询中的每一个回答都在单独的选项卡中给出,如图6所示。为了给用户提供更多的内容,无论在哪里适用,每个答案都附有图片、维基百科链接和源自Freebase的简短描述。对于我们的运行示例问题,为了最好的查询,答案是Eisleben,Martin Luther的出生地。如果我们探索第二名的查询,答案是Saxony-Anhalt,这是他居住过的德国的一个省。


图6 从KB检索到的答案

 

3.2 解释


解释说明给出了答案是如何得到的。生成和显示解释的能力是这个系统演示的核心贡献。QUINT产生了两种解释:一是针对非技术用户的简要解释,二是针对更高级用户的详细解释。


简要解释 为用户提供一个可访问和快速的方法,以了解QUINT如何理解问题的各个部分,从而得到给定的答案集。图7显示了我们的运行示例的这种解释。简要解释对于那些想要确认一个给定的答案是否来自于他们想要解释的问题的普通用户来说特别有用。如果不是这种情况,这样的解释会引导用户重新构造他们的问题,让QUINT更好地理解它。


图7 QUINT的简要解释


详细解释 是面向高级用户,他们熟悉依赖关系解析和SPARQL查询。一个详细的解释说明了大致对应图1右侧的推导步骤。首先,显示输入问题的依赖项解析(图8)。下面是一个匹配的模板,它包含了一个符合表达的表达模板,以及将被实例化来生成查询的对应的查询模板。表达模板和查询模板之间的共享数字表示对齐,即在语句中使用那些标记项用于实例化查询中的KB条目。在这个例子中,我们可以看到动词词语“wasraised”和名词词语“Martin Luther”分别用于实例化KB-predicate和KB-entity。


图8 问题依赖解析和匹配的表达和查询模板


为了让用户理解为什么QUINT将特定的语法结构映射到模板中的某个语义表单,用户可以查看生成模板的一些训练实例。这是通过点击模板来源(图9)来实现的。在我们的例子中,两个这样的例子是“奥巴马在哪里接受过教育?”和“里德尔头盔在哪里生产?”


图9 在结构上类似的训练实例“马丁·路德在哪里长大?”

 

最后,用户将显示用于检索所示答案的SPARQL查询(图10)。节点标签吗?ANS是目标回答节点,?VAR标记的节点是中间连接变量。此外,根据模板所产生的对齐(图10的下半部分)显示了一个与KB项的对齐表。对于KB项目,我们发现“马丁·路德”(MartinLuther)被映射到神学家MartinLuther(其他可能性包括通明的德国外交官和马丁路德金),而归类阶段“beraise”被映射到KB谓词的出生地点。查看排名第2的查询,我们发现“raise”被解释为住的地方。当使用稍微模棱两可的短语“raise”时,这是另一种意图。


图10 SPARQLKB查询和KB条目


4 用例

当QUINT返回正确的答案时,解释允许用户通过查看它是如何推导的来确认它的正确性。另一方面,当事情出错,答案似乎不正确时,解释可以让用户更好地理解系统的局限性(例如,数据不完整),以及如何克服这些限制(例如,问题的重新措辞)。我们将在下面讨论这些可能的场景,并提供真实的例子。


不完整的词典 QUINT使用不同的词典将表达中的词语来映射到KB项(第2节)。这些词典本质上是不完整的。例如,QUINT不能正确地回答“欧洲联盟国家”的表达(暗示欧盟),因为“欧盟”一词并没有在QUINT的词典中出现。因此,它显示了以下信息,敦促用户重新制定短语:在你的输入问题中,“欧盟”这个词不能被解释。请修改这个短语。


不正确的查询排名 QUINT使用一个学习到排名的框架来对SPARQL查询进行排序。有时候,最合适的查询并没有排在顶部。例如,“德国的前货币是什么?”最上面的答案是欧元,这是不正确的。这是因为匹配模板中的对齐信息不能捕获“前者”。但是,如果用户探究了前5个SPARQL查询,她发现使用正确的谓词currencyFormerlyUsed(而不是使用不正确的currencyUsed)的查询确实在那里,并检索所需的答案DeutscheMark、GermanRentenmark和GermanPapiermark。


对KB条目不正确的歧义消除 有时,输入表达中的短语与错误的KB条目相关联,这是用户最初的意图。例如,对于表达“英语属于什么语言群体?”,“英语”被映射到错误的实体英格兰,导致了一个意想不到的答案。当用户看到简单的解释(图7)时,她可以立即观察到这个不正确的映射。随后,她可能会将其重新措辞为“英语”,这可能会产生想要的答案。


错过的回答类型约束 回答输入在确保精确QA方面起着重要的作用。例如,在“米歇尔·奥巴马上哪所大学?”用户明确表示她正在寻找大学,而不是“米歇尔·奥巴马在哪里学习?”例如,也可以包括她的高中。这里的“学院”被映射到KB类型的大学,只有当这个约束被添加到SPARQL查询时,我们才能得到所需的答案集为哈佛大学和普林斯顿大学。


没有匹配的模板 有时,一个表达在语法上是不适用于QUINT的范围:在训练过程中,它从未见过类似的实例。例如:“四十年代的德国首都?”在这种情况下,QUINT提出了我们无法找到匹配模板的消息。请修改您的问题。


5 结论


我们展示了QUINT,一个使用自动学习的模板为知识库上的自然语言问题提供解释答案的系统。当用户得到她的问题的答案时,系统允许她查看如何得到答案的细节。这提高了她对正确答案的信心,同时让她更好地理解QA系统在错误的情况下的局限性,以及如何与他们一起工作。

论文下载链接:

http://www.aclweb.org/anthology/D/D17/D17-2011.pdf


留言 点赞 发个朋友圈

我们一起探讨AI落地的最后一公里


推荐文章阅读

10篇AAAI2017经典论文回顾

收藏 | 2018年AI三大顶会中国学术成果全链接

ACL2017 论文集:34篇解读干货全在这里


长按识别二维码可添加关注

读芯君爱你


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存