携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情
导语
本文是上一篇博客KBQA论文笔记(1):Modern Baselines for SPARQL Semantic Parsing(上)的后续内容,主要记录了原论文章节4到章节8的内容。
- 会议:SIGIR 2022
- 链接:arxiv.org/abs/2204.12…
4 数据集
作者使用了两个KBQA的经典数据集:
- LC-QuAD 1.0:该数据集包含DBpedia 2016-10(注:原论文有错误,应该是2016-04)上可回答的5000个问题。数据集最初包含4:1的训练集和测试集划分。然而,表1中的几个对比系统使用了更少的3253个问题。本文采用相同的划分方法,并遵循Ding et al.对训练集、开发集和测试集分别进行了70:10:20的5折交叉验证。在这个数据集中,没有任何问题需要复制输入标记来输出查询。
- LC-QuAD 2.0:该数据集基于Wikidata,由简单和复杂的问题组成,这些问题由Amazon Mechanical Turk上的工作人员标注。它是一个庞大而多样的数据集,包含24,180个训练问题和6046个测试问题。此外,据我们所知,这是唯一的数据集,包含了最近Wikidata版本的hyper-relation结构的方面。数据集中大约16%的问题需要将输入标记复制到输出查询中。
5 评估
表1中显示了Ding等人报道的LC-QuAD 1.0的竞争系统结果。Zou等人报告了LC-QuAD 2.0的竞争系统的结果,也在KGQA排行榜中找到。为了在两个数据集上评估T5, BART和PGNs,我们取了模型的前10个波束输出,并按顺序排序查询KG。第一个返回非空响应的查询被认为是模型的输出。我们将生成的查询的KG响应与gold查询进行匹配,如果它们相同,则标记为匹配,否则标记为不匹配。
在LC-QuAD 2.0的情况下,大量的查询在当前版本的Wikidata上不再有答案。用于创建数据集的原始转储不再在线可用6。因此,我们设置了一个端点,转储日期为2021年10月13日的Wikidata 7,并将6046个问题的测试集过滤为4211个问题,黄金查询产生了有效的响应。我们将这些三元组加载到Virtuoso的开源三元组存储中,并将其用作我们的端点。Zou et al.在他们的工作中对数据集采取了类似的预过滤步骤。
在表1中,PGN-BERT指的是我们向PGN提供BERT嵌入的设置。我们对输出波束没有应用重排序器,并考虑从KG中产生有效的响应作为系统的输出。另一方面,PGN-BERT-BERT指的是使用前面描述的基于bert的重排序器对波束进行进一步重排序的设置。
6 讨论
T5不仅在两个数据集上优于之前的所有工作,在我们实验的BART和PGN上也优于。重要的是通过T5的哨兵id来处理输入前缀的分词,否则模型将产生零准确率。在PGN的情况下,我们还执行了一个没有输入KG嵌入的测试,在那里我们看到精度下降了20%。尽管增加了KG嵌入,但它未能超过T5,后者仅基于实体和关系标签进行操作。因此可以得出结论,T5的大量预训练超过了KG嵌入的优势。
在BART和T5的例子中,我们观察到BART的复制动作没有T5那么干净。例如,在LC-QuAD 2.0中,对于需要将token复制到输出的问题,BART产生的F1为0.3,而T5产生的F1为0.8。我们认为这是由于没有使用哨兵id(从其预训练目标来看,哨兵id本质上是T5模型的一部分),我们必须求助于向BartTokenizer添加特殊标记,这不会产生相同的复制性能。
T5-small和T5-base产生类似的性能,这表明基本模型中的额外参数数量对于我们的给定任务仍然没有使用。对于LC-QuAD 2.0,之前的工作都没有能力将标记从输入复制到输出,因此我们的方法远远超过了它们。在PGN性能方面,在使用BERT重排序器时,我们看到了10-20%的提高,这表明PGN在生成正确的查询方面做得很差。当比较T5-small的性能与PGN时,尽管它们具有相似的参数数量,但在750 GB语料库上的预训练似乎是T5-small性能的关键因素。
7 误差分析
文章随机抽取了PGN, T5-Small和BART的100例错误输出,如表2所示。T5/BART与PGN产生的错误中最重要的区别是我们所说的“复制变形”。T5/BART从一个开放的基于子词的词汇表中产生它们的输出,因此有时会损坏被复制的项目。有时,它们会产生错误的实体id,例如,在DBpedia中,是Barack-Obama而不是Barack_Obama,在其他一些情况下,它们会产生幻觉,认为实体id不是输入中链接的实体或关系的一部分。我们还遇到了将关系id转换为语义相似的单词的情况,如notableWork转换为notabilityWork,或意外的大小写,例如,Artist代替artist。尽管PGN的总体精度较低,但它们不会出现此问题,因为复制是从有限的扩展词汇表中进行的,该词汇表由SPARQL标记和输入标记组成。我们还发现T5中的复制变形仅发生在DBpedia中,其中实体和关系id类似于字典标签。对于Wikidata,其中的id是数字的,不会发生变形。
其他类型的错误分类为以下类别:
- Triplet Flip:例如应该是而不是
- 错误的变量,例如?var0而不是?var1;
- 错误的意图,例如,ASK而不是SELECT;
- 复制错误,复制了错误的token;
- 语法错误,在哪里生成的查询是格式错误和无效的SPARQL查询。
BART在复制方面的性能很差,而其他模型在Triplet Flip和错误的变量方面有最多的错误。
8 结论和未来展望
本文用plm为两个数据集的KG语义解析任务建立了新的baseline。我们的结果超越了早期baseline的结果,并为未来的研究奠定了基础。利用现成的流行模型,在对输入向量化和分词化进行最小更改的情况下,报告关于DBpedia和Wikidata上SPARQL语义解析和查询构建任务的最新结果。实验表明,这些方法是灵活的,能够处理各种问题,而不依赖于模板或查询图。未来SPARQL语义解析工作的方向应该更侧重于预训练,因为目前SPARQL更侧重于为任务生成自定义模型架构。
作为未来的工作,我们希望探索这些模型在消歧任务中的能力,在这些任务中,输入由候选实体和关系组成,而不是链接的实体和关系。