导语
- 会议:AAAI 2021
- 链接:arxiv.org/pdf/2109.09…
1 简介
知识图问答(KGQA)适用于各种现实生活和实际业务应用。该任务要求系统利用给定知识库中存在的事实来回答自然语言问题。KGQA社区主要遵循两种方法(1)基于语义解析的方法(2)基于信息提取的方法。在基于语义解析的方法中,任务可以通过将自然语言问题翻译成结构化查询语言或逻辑形式来完成,如SPARQL、SQL、λ-DCS 等。然后对给定的KG执行生成的查询,最终得到答案。
随着神经网络模型的进步,KGQA社区渴望利用神经网络来执行任务。然而,要做到这一点,我们需要大规模的训练数据,这是一个挑战。这些挑战限制了基于深度神经网络(DNN)的方法在KGQA任务中的适用性。然而,现有的神经方法目前仅限于回答需要KG单一关系的问题。一些神经方法假设一个无噪声的实体链接器,或者它们主要关注关系链接子任务。本文提出了一种新的两阶段神经架构(见图1)来回答基于KG的问题,这些问题需要多个实体和关系来回答。
2 Stage-I: Seq2Seq Model
序列到序列模型在机器翻译任务中取得了最先进的性能。先前的研究表明,基于CNN的seq2seq模型在将自然语言转换为SPARQL查询方面表现最好。本文的初步实验结果与这一事实是一致的,因为基于CNN的模型表现最好。因此,我们继续使用基于CNN的seq2seq模型作为第一阶段的基础模型。图2显示了第一阶段的架构。外部实体/关系链接器用于检测问题文本中实体/关系的表面形式提及,并将其链接到底层的KG(这里是DBpedia)。为了适应seq2seq模型所需的数据格式,我们设计了一个噪声模拟器。
3 Stage-II: Neural Graph Search Module
对Stage-I输出的错误分析表明,实体链接的性能相当好,但关系链接的性能并非如此。因此,Stage-I生成的SPARQL中的大多数实体是正确的,但是它们之间的关系是不正确的。Stage-II中的图形搜索模块将SPARQL作为输入,并通过替换不正确的关系来生成相同的改进版本。这是一个基于bert的模块,其架构如图5所示。该模块的工作原理如下:
- 我们逐一考虑SPARQL silhouette中的每个三元组< e_s, r, e_o >,并尝试通过该模块修正其关系r。
- 对于在前一步中识别的每一个这样的三元组,以以下格式准备输入:
[CLS] Q [SEP] [SUB(或OBJ)] [SEP] e_s(或e_o)
。
3.将上述标记输入序列输入到图搜索模块的BERT层。输出通过一个线性层和softmax层。这个softmax层对给定KG中的每个关系r∈r归纳出一个概率分数pr。 - 在推理过程中,在softmax层,将输出限制为那些关系r∈r,这些关系对于输入实体是主体或客体是有效的关系。
- 对关系r是rdf:type进行特殊考虑。
4 实验
作者在LC-QuAD 1和QALD-9上进行了实验,实验结果如下:
可以看到,所提出模型的性能相较于Baseline有了很大提升。
5 总结
本文提出了一种简单的顺序两阶段纯神经方法来解决KGQA任务。实验证明,如果实体/关系链接任务完成得很好,那么Stage-I, vanilla seq2seq神经模块可以在KGQA任务上产生令人印象深刻的性能。然而,在嘈杂的现实场景中,它的表现有所不同。为此,作者提出了一个新的StageII,一个神经图搜索模块来克服实体/关系模块引入的噪声。本文的方法提高了LC-QuAD-1数据集的性能。尽管对于QALD-9数据集,由于DBpedia中事实的小训练规模和内在性质,模型还在努力改进,但作者认为,本研究展示了纯神经方法解决KGQA任务的巨大潜力,开辟了一个新的研究方向。