
摘要
现有的知识库问答(KBQA)方法通常依赖于多阶段的方法论,涉及实体链接、子图检索和查询结构生成等任务。然而,多阶段方法的准确性依赖于前一阶段的精度,这会导致错误级联和推理时间增加。尽管一些研究探索了端到端模型的使用,但这些模型往往准确率较低,并且生成的查询无法被底层数据支持。此外,大多数先前的方法仅限于静态训练数据,可能忽略了知识库随时间演变的本质。为了解决这些挑战,我们提出了一种新颖的端到端自然语言到SPARQL框架——SPARKLE。值得注意的是,SPARKLE在解码过程中直接利用了知识库的结构,有效地将知识整合到查询生成中。我们的研究表明,在推理过程中简单引用知识库可以显著减少不可执行查询生成的发生。SPARKLE在SimpleQuestions-Wiki数据集上取得了新的最先进结果,并在LCQuAD 1.0数据集上获得了最高的F1分数(在不使用黄金实体的模型中),而在WebQSP数据集上的表现略低。最后,我们展示了SPARKLE的快速推理速度及其在训练和推理阶段之间知识库发生变化时的适应能力。
代码仓库
zzaebok/sparkle
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| knowledge-base-question-answering-on-1 | SPARKLE | F1: 71.1 Hits@1: 71.2 |
| knowledge-base-question-answering-on-4 | SPARKLE | F1: 79.6 |
| knowledge-base-question-answering-on-lc-quad | SPARKLE | F1: 72.2 |