论文笔记:The Value of Semantic Parse Labeling for Knowledge Base Question Answering

564 阅读8分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情

导语

摘要

本文展示了使用中间形式的logical form作为label对于KBQA系统的性能的提升。具体来说,(1)与之前在小规模数据集上的研究不同,从带标签的语义解析中学习可以显著提高整体性能,与从答案中学习相比,可以获得绝对5个点的增益;(2)通过适当的用户界面,可以以与仅获得答案相当或更低的成本获得高精度的语义解析,(3)创建并共享了迄今为止最大的语义解析标记数据集,以推进问答的研究。

1 简介

最近的一些KBQA系统总是关注于给定一个问题,让模型直接输出答案的方式;而使用一些中间表示形式如SPARQL、λDCS\lambda-DCS等作为标签进行训练的方式则很少。本文的实验表明,使用这些中间的解析形式作为最终的标签输出能够很大程度上提升KBQA系统的性能。作者手动标注了WebQuestions上的4737个问题,给出了它们对应的SPARQL语句,是当时最大的有logical form标注的KBQA数据集,并取名为WebquestionSP。

除此之外,本文展示了语义解析可以以一个较低的代价获取。从实验结果来看,我们可以利用语义解析标签来提高最先进的问答系统的准确性。

2 收集语义解析

为了完成高效的SPARQL标注,作者设计了一个新的UI界面,将潜在的复杂的结构化标记任务分解为独立但相互依赖的子任务。给定一个问题,UI首先使用实体链接系统展示在问题中检测到的实体,并要求用户在问题中选择一个实体作为可能导致答案的主题实体。如果实体链接系统返回的候选实体都不正确,用户也可以建议一个新的实体。一旦选择了实体,系统就会请求用户选择Freebase谓词,它表示答案和这个主题实体之间的关系。最后,可以添加额外的过滤器进一步约束答案。

该UI设计的一个关键优势是,注释器在每个阶段只需要关注一个特定的子任务。标记器所做的所有选择都用于自动构建连贯的语义解析。一个完整的示例如下图所示:

image.png

3 使用语义解析

为了对比两种训练模式(即使用Question-answer数据和使用Question-SPARQL)的区别,本文改进了之前WebQuestions数据集上的SOTA方法STAGG来进行对比实验。STAGG以查询图表示形式生成输出语义解析。

它在潜在的查询图上搜索一个问题,通过依次添加一个主主题实体,然后添加一个推理链,最后添加一组约束来迭代地增长查询图。在搜索过程中,根据每个组件如何匹配原始问题的特征以及整个查询图的一些属性,通过一个评分函数来判断每个候选查询图被正确解析的可能性。评分函数输入的样例特征包括实体链接系统输出的分数、深度神经网络模型中推理链与问题中描述的关系的匹配分数、候选查询图中的节点数量、约束中匹配词的数量。

当有Question-answer对时,先创建一组查询图,将问题中的实体连接到训练集中的答案。使用从查询图中得到的答案和训练集中的答案之间的f1分数来对查询图的质量进行评分。然后将这些分数用于排序学习方法,以预测高质量的查询图。

在语义解析(如SPARQL)可用的情况下,我们更改用于评估查询图质量的分数。特别地,当查询图不是与语义解析标签一致的子图时,我们将查询图得分分配为零,否则分配为上述F1得分。我们希望通过利用语义解析,可以显著减少训练过程中使用的不正确查询图的数量。例如,假设问句为“what are the songs that justin bieber write?”谓词为正确的解析应该使用关系music.composer. compose,而不是music.artist.track。

4 使用语义解析的价值

在本节中,我们将探讨收集语义解析标签的成本以及使用它们的好处。

4.1 使用语义标签的好处

利用新数据集,本文研究了使用完整解析而不仅仅是Question-answer对学习的语义解析器的性能对比。

实验设定

我们遵循与原始WEBQUESTIONS数据集相同的训练/测试划分,但在实验中只使用具有完整解析和答案的问题进行训练和评估。最后,3098个试题用于模型训练,1639个试题用于评价。由于一个问题可能有多个答案,因此对每个问题计算精度、召回率和f1。平均F1分数作为主要评价指标。此外,还报告了真正的准确性(只有当预测的答案完全匹配其中一个答案集时,一个问题才被认为正确地回答)。

结果

实验结果对比如下,可以看到,使用语义解析后各个性能都有很大提升。虽然使用带注释的解析器进行训练可以产生更好的模型,但看到性能差距仍然很有趣,特别是当评估answer的正确性时。

image.png

4.2 语义解析的代价

当比较标注语义解析和答案之间的标注质量时,本文发现答案的正确率大致相同(92% vs 94%)。在原始的web问题数据集中,只有66%的答案是完全正确的。这主要是因为包含多个答案的14个问题的准确率较低(42.9%)。这表明,为了确保数据质量,在利用众包时需要更多的验证。下表展示了一些标注的代价差异。

image.png

5 讨论

与之前的工作不同,本文将在Question-answer和Question-SPARQL上训练的模型进行比较,同时只对最先进的训练算法只做了最小的更改。这使得可以更直接地评估使用语义解析的潜在好处。其次,可能是更重要的区别,本文的评估是基于Freebase的,它比之前工作中使用的知识库大得多。作者怀疑,语义解析标签提供的收益是由于当限制语义有效路径时,候选实体和答案之间的路径数量显著减少。然而,在候选实体和答案之间的潜在路径数量较少的领域,收集语义解析标签的价值也可能较小。

语义解析标签提供了额外的好处。例如,收集知识库相关的语义解析标签可以确保答案更忠实于知识库,更好地捕获知识库可回答的问题。此外,通过使用基于目标知识库的标注系统创建语义解析,可以提高答案的正确性和完备性。对于有大量答案集的问题尤其如此。最后,语义标签对知识库事实的变化具有更强的鲁棒性,因为答案可以通过执行问题的语义表示来计算。例如,“Who does Chris Hemsworth have a baby with?”,如果知识库更新了有关儿童的新事实,可能会发生变化,但语义解析不需要改变。

请注意,除了用于全语义解析任务外,我们的web questions SP数据集也是几个重要语义任务的良好测试平台。例如,entity linking。虽然我们的标注界面设计旨在支持标注专家,但让众包工作者提供语义解析标签将是有价值的。一种有前途的方法是使用自然语言使用更对话驱动的界面。这样的UI设计对于扩展我们的工作以处理更复杂的问题也至关重要。例如,允许用户以顺序方式遍历较长的路径将增加输出解析的表达能力,包括核心关系和约束。以选定的实体和关系为中心展示一个小的知识图谱,可以帮助用户更有效地探索备选关系。