「人工智能」一文全览,ICLR 2020 上的知识图谱研究( 二 )


这种有效的表示方式允许将巨大的KG直接存储在GPU内存中 , 例如 , 包含1300万实体和4300万事实(facts)的WebQuestionsSP 的 Freebase转储 , 可以放到三个12-Gb 的 GPU中 。 而且 , 在进行QA时可以对整个图谱进行推理 , 而不是生成候选对象(通常这是外部不可微操作) 。
作者在文章中对ReifiedKB进行了一些KGQA任务以及链接预测任务的评估 。 与这些任务当前的SOTA方法相比 , 它的执行效果非常好 。
事实上 , 这项工作作为一个案例 , 也说明SOTA不应该成为一篇论文是否被接收的衡量标准 , 否则我们就错失了这些新的概念和方法 。
3、Differentiable Reasoning over a Virtual Knowledge Base 文章链接:https://openreview.net/pdf?id=SJxstlHFPH
Dhingra等人的工作在概念矿建上与上面Cohen等人的工作类似 。 他们提出了DrKIT , 这是一种能用于在索引文本知识库上进行差分推理的方法 。
「人工智能」一文全览,ICLR 2020 上的知识图谱研究
本文插图
DrKIT intuition. Source: Dhingra et al
这个框架看起来可能会有些复杂 , 我们接下来将它分成几个步骤来说明 。
1)首先 , 给定一个question(可能需要多跳推理) , 实体链接器会生成一组 entities(下图中的Z0) 。
2)使用预先计算的索引(例如TF-IDF)将一组实体扩展为一组mentions(表示为稀疏矩阵A) 。
3)在右侧 , question 会通过一个类似BERT的编码器 , 从而形成一个紧密向量 。
4)所有mentions 也通过一个类似BERT的编码器进行编码 。
5)使用MIPS(Maximum Inner Product Search)算法计算scoring function(用来衡量mentions, entities 和 question相关分数) , 从而得到Top-k向量 。
6)矩阵A乘以Top-K 选项;
7)结果乘以另一个稀疏的共指矩阵B(映射到一个实体) 。
这构成了单跳推理步骤 , 并且等效于在虚拟KB中沿着其关系跟踪提取的实体 。 输出可以在下一次迭代中进一步使用 , 因此对N跳任务会重复N次!
此外 , 作者介绍了一个基于Wikidata的新的插槽填充数据集(采用SLING解析器构造数据集) , 并在MetaQA、HotpotQA上评估了 DrKIT , 总体来说结果非常棒 。
4、Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering 文章链接:https://openreview.net/pdf?id=SJgVHkrYDH
Asai等人的工作专注于HotpotQA , 他们提出了Recurrent Retriever的结构 , 这是一种开放域QA的体系结构 , 能够以可区分的方式学习检索推理路径(段落链) 。
「人工智能」一文全览,ICLR 2020 上的知识图谱研究
本文插图
Recurrent Retrieval architecture. Source: Asai et al
传统上 , RC模型会采用一些现成的检索模型来获取可能的候选者 , 然后才执行神经读取pipeline 。 这篇工作则希望让检索具有差异性 , 从而将整个系统编程端到端的可训练模型 。
1)整个Wikipedia(英语)都以图谱的形式组织 , 其边表示段落和目标页面之间的超链接 。 例如对于Natural Questions , 大小约为3300万个节点 , 边有2.05亿个 。
2)检索部分采用的RNN , 初始化为一个隐状态h0 , 这是对问题 q 和候选段落p编码后获得的 。 这些候选段落首先通过TF-IDF生成 , 然后通过图谱中的链接生成 。 (上图中最左侧)
3)编码(q , p)对的BERT [CLS]令牌会被送到RNN中 , RNN会预测下一个相关的段落 。
4)一旦RNN产生一个特殊的[EOE]令牌 , 读取器模块就会获取路径 , 对其重新排序并应用典型的提取例程 。
作者采用波束搜索和负采样来增强对嘈杂路径的鲁棒性 , 并很好地突出了路径中的相关段落 。 重复检索(Recurrent Retrieval )在HotpotQA的 full Wiki测试设置上的F1分数获得了惊人的73分 。 这篇工作的代码已发布 。


推荐阅读