- 领域一,采用KQA Pro数据集,使用Wikidata子集构造的知识图谱,训练数据为12万条。
- 领域二,使用两个公开的数据集:
WebQuestionSP和ComplexWebQuestions,使用Freebase构造的知识图谱,它们的训练数据分别为4737条和34689条。
上图右侧展示了两个知识图谱之间的差距,Source表示Wikidata的子集,Target表示Freebase。
6. 实验结果

我们在WebQSP和CWQ数据集上做了一些实验,在我们之前的SOTA方法能够做到74.0和44.0的准确率,而我们的完整方法能够做到76.5和58.7的准确率。从消融实验中可以看出,两个阶段对于结果来说都是非常重要的。
7. 下一个问题

假如我们现在没有推理过程数据,只有问题和答案的数据,能不能直接学习出推理过程?
--
04
隐式学习推理过程
这是我们分享的第三个话题,如何隐式地学习推理过程。
1. TransferNet

在隐式学习推理过程中,我们将复杂问题类型进行约束,仅考虑多跳类问题,通过实体之间的多跳关系进行回答,比如问题“xx公司的董事长投资了哪家公司”,通过主题实体“xx公司”的董事长关系找到张三,再通过张三的投资关系找到答案实体“yy公司”,中间过程的关系和实体称为推理路径。我们的目标是自动地把推理路径准确地学习出来。

我们的方法是通过向量矩阵乘法来建模实体转移,方法中有两个核心概念:
激活向量表示的是每一步中关注的实体,比如问题“xx公司的董事长投资了哪家公司”,在回答问题的推理过程中,我们分别关注到三个实体,分别是“xx公司”、“张三”和“yy公司”。它的维度为实体的数量,关注到哪个实体,对应位置的权重被置为1,其它实体置为0。