导读:
知识图谱是一种特殊的图结构,它包含了语义信息与图结构信息。它可以被应用在多个领域,如QA问答系统、推荐系统、新药发现、股市预测等。现在无论是学术界还是工业界都陆续提出了自己的知识图谱构建平台。第四范式也建立了低门槛、全流程的知识图谱平台Sage Knowledge Base。今天的分享旨在从三元组到子图的维度来介绍自动化知识图谱表示学习的相关技术。
今天的介绍会围绕下面四点展开:
- 背景介绍:什么是知识表示学习
- 重要方向:知识表示学习及AutoML
- 模型设计:从三元组到子图
- 总结
▌背景介绍
首先和大家分享下知识表示学习的背景。
知识图谱是一种特殊的图结构,它使用实体来表示自然界的物体或者抽象的概念,使用关系来建模实体之间的交互,其基本的存储形式是(头实体h,关系r,尾实体t)的三元组。知识图谱是一个语义图,它既包含语义信息又包含图结构信息。
知识表示学习旨在学习将知识图谱中的符号(包括实体和关系)映射到一个低维的向量空间。其优点在于学习得到的向量是连续的,且可以发掘隐藏的性质。此外,在向量空间中计算相似度是十分高效的。
知识图谱表示学习的整体框架如上图所示。给定一个知识图谱,我们将图中所有存在的三元组作为正样本,同时我们也需要在图中采样负样本,我们需要保证负样本不存在于知识图谱中,通常的做法为将图中存在的三元组的头实体、尾实体、关系选择至少一个进行随机替换。得到正负三元组后,我们会设计一个模型对知识图谱进行建模,通过循环迭代来优化损失函数,更新embedding以及模型参数。我们的优化目标是尽可能多地保留原图中蕴含的信息。
知识图谱表示学习有以下几个基本的任务:
- 知识图谱补全:这是目前业界关注最广泛的任务,其针对图谱中不存在的边进行链接预测或者在图谱中进行三元组分类任务;
- 实体匹配:其目标是将两个不同的知识图谱中相同实体进行匹配。例如一个中文图谱与另一英语图谱中有一些词语是同义的,那么我们可以进一步发掘两张图中其他词之间的关系来判断它们是否是同义的;
- 实体分类:任务目标是预测实体的类别。例如在学术图谱中判断一篇文章属于哪一个领域等。
这里以链接预测任务为例展示知识图谱表示学习的评估指标。对于给定的三元组(h,r,t),我们可以把头实体或者尾实体替换为图中所有的实体组成一个集合,那么评估任务就是得到模型经过打分排序后对正样本的排名。评价指标有三类:mean rank (MR),mean reciprocal rank (MRR)以及Hit@K。三个指标的评估侧重点不一样。MR受离群值的影响较大,MRR更关注准确率,Hit@K更关注召回率。
▌重要方向:知识表示学习及AutoML
知识图谱表示学习由五个关键模块组成。首先,我们需要定义一个打分函数对问题进行建模;然后,由于图谱中只包含正样本,那么负采样的设计也十分关键;得到正负样本之后我们需要定义一个损失函数;同时,为了避免模型过拟合,我们需要设计正则化项;最后,我们针对损失函数以及正则化项进行整体的模型优化。
给定一系列三元组,我们需要对它们进行打分。目前有三类建模方法:基于三元组,直接对其进行打分;基于路径,我们需要找到头实体和尾实体的连接路径,通过寻找到的一系列路径进行推理;基于子图,我们需要在图谱中抽取包含头实体与尾实体的子图,然后根据子图信息进行推理。
负采样的基本做法是对给定的正样本(h,r,t),我们将头实体或者尾实体随机替换为图中另外一个实体,并且这个新的三元组不存在于图谱中。
但是由于负样本集合的数量十分庞大,进行简单的随机采样会导致得到的负样本质量较差。在2018年,学术界提出了基于对抗神经网络的方法生成高质量负样本,但是这一类方法的问题在于:我们需要单独训练一个生成模型来输出负样本,而且由于样本是离散的,模型的学习过程需要基于强化学习。这两大问题会导致整体模型的学习十分不稳定。
我们针对以上问题,提出一个将高质量负样本存储在缓存中的方法。在训练过程中,负样本的生成、抽取和更新是不断进行的,保证模型能得到高质量负样本的同时大幅提升训练效率,且这一方法不需要额外训练一个样本生成模型。以上工作发表在ICDE 2019会议与VLDB-J 2021期刊上。