cs224w(图机器学习)2021冬季课程学习笔记14 Reasoning over Knowledge Graphs

简介: 本章主要内容:本章将介绍知识图谱上的推理任务。目标是回答 多跳查询multi-hop queries,包括path queries和conjunctive queries。conjunctive合取的,交集的;与;连接的;联合的,连接(着)的; 契合的;逻辑乘法的介绍query2box方法以解决predictive queries问题。

1. Reasoning over Knowledge Graphs


  1. 回忆:知识图谱补全任务1
  2. 本章主旨:介绍如何实现知识图谱上的多跳推理任务。
  • 回答多跳查询问题,包括path queries和conjunctive queries。在某种程度上也可以说是在做知识图谱预测问题,在对任意predictive queries做预测。
  • 介绍query2box方法。

image.png


  1. 知识图谱示例:Biomedicine(以下课程内容都会使用这个知识图谱来作为示例)

image.png


  1. KG上的predictive queries

任务目标:在一个incomplete的大型KG上做多跳推理(如回答复杂查询问题)。


对于某一类查询,我们可以自然语言的形式(绿色字)、formula/logical structure(棕色字)的形式或者graph structure(蓝色节点是查询中出现的实体,绿色节点是查询结果)的形式来表示它。

本节课仅讨论有formula/logical structure或graph structure后如何进行工作,从自然语言转换到对应形式的工作不在本课程讲解。


查询类型及示例:

  • one-hop queries

What adverse event is caused by Fulvestrant?

(e:Fulvestrant, (r:Causes))

image.png


  • path queries

What protein is associated with the adverse event caused by Fulvestrant?

(e:Fulvestrant, (r:Causes, r:Assoc))

image.png


  • conjunctive queries

What is the drug that treats breast cancer and caused headache?

((e:BreastCancer, (r:TreatedBy)), (e:Migraine, (r:CausedBy))

image.png

image.png


  1. predictive one-hop queries

知识图谱补全任务可以formulate成回答one-hop queries问题:

KG补全任务:链接 ( h , r , t )  在KG中是否存在?

one-hop query:t tt 是否是查询 ( h , ( r ) )的答案?

举例:What side effects are caused by drug Fulvestrant?

image.png

图中那个查询应该是少写了一个右括号


  1. image.png

image.png

image.png

image.png

image.png

image.png


  1. 那么我们应该如何回答KG上的path query问题呢?

如果图是complete的话,那么我们只需要沿query plan直接traverse(遍历)KG就可以。

  • 从anchor node(Fulverstrant)开始:

image.png

  • 从anchor node(Fulverstrant)开始,遍历关系“Causes”,到达实体{“Brain Bleeding”, “Short of Breath”, “Kidney Infection”, “Headache”}

image.png


  • 从实体{“Brain Bleeding”, “Short of Breath”, “Kidney Infection”, “Headache”}开始,遍历关系“Assoc”,到达实体{“CASP8”, “BIRC2”, “PIM1”},即所求答案

image.png


  1. 但由于KG是incomplete的,所以如果仅traverse KG,可能会缺失一些关系,从而无法找到全部作为答案的实体。

image.png


  1. image.png

image.png


  1. 因此我们就需要进行预测任务:predictive queries

目标:在incomplete KG上回答path-based queries

我们希望这一方法能够回答任意查询问题,同时隐式地impute或补全KG,实现对KG中缺失信息和噪音的鲁棒性。

对链接预测任务的泛化:从one-step link prediction task(就以前讲过的那种)到multi-step link prediction task(path queries)

20210714231917521.png


2. Answering Predictive Queries on Knowledge Graphs


  1. image.png

image.png

image.png


path query示例:

image.png

可以训练TransE来优化KG补全目标函数。

因为TransE天然可以处理composition relations,所以也能处理path queries,在隐空间通过叠加relation嵌入来表示多跳。

TransR / DistMult / ComplEx无法处理composition relations,因此很难像TransE这样轻易扩展到path queries上。

image.png


  1. conjunctive queries

示例:

What are drugs that cause Short of Breath and treat diseases associated with protein ESR2?

((e:ESR2, (r:Assoc, r:TreatedBy)), (e:Short of Breath, (r:CausedBy))

image.png

query plan:

image.png



  1. 同样,如果KG是complete的话,直接traverse KG就行:

image.png

image.png

image.png


  1. 同样,如果KG有关系缺失了,有些答案就会找不到:

image.png


  1. 我们希望通过嵌入方法来隐式impute KG中缺失的关系 (ESR2, Assoc, Breast Cancer)。

如图所示,ESR2与BRCA1和ESR1都有interact关系,这两个实体都与breast cancer有assoc关系:

image.png


  1. 再回顾一遍query plan,注意图中的中间节点都代表实体,我们也需要学习这些实体的表示方法。此外我们还需要定义在隐空间的intersection操作。

image.png


3. Query2box: Reasoning over KGs Using Box Embeddings


  1. image.png

image.png


  1. key insight: intersection

image.png


  1. embed with box embedding

image.png

image.png


  1. image.png

image.png


  1. 用box embedding,用projection operator,沿query plan求解:

image.png


  1. 接下来我们的问题就在于:如何定义box上的intersection?

image.png

有一种对intersection的定义比较严格,就是定义为数学上的intersection,类似于维恩图。

我们想要更flexible一点的定义,就如下文所介绍:


  1. image.png

直觉:

  • 输出box的center应该靠近输入boxes的centers
  • offset (box size) 应该收缩(因为intersected set应该比所有input set的尺寸都小)

(如图中阴影所示部分)

image.png


  1. intersection operator公式

image.png

image.png


image.png

  1. offset

image.png

image.png



  1. 通过定义intersection operator,现在我们可以完成使用box embedding沿query plan的求解:

image.png


  1. image.png

image.png


  1. extending to union operation

析取问题示例:What drug can treat breast cancer or lung cancer?

conjunctive queries + disjunction被叫做Existential Positive First-order (EPFO) queries,也叫AND-OR queries。

disjunction或

image.png


  1. image.png

image.png


以下图示中,红点(答案)是我们希望在box中的实体,蓝点(负答案)是我们希望在box外的实体:

image.png

image.png

image.png


对三个点来说,二维是足够的。

image.png

image.png

image.png


  1. 因为我们无法在低维空间嵌入 AND-OR queries,所以对这类问题,我们的处理思路就是把所有query plan前面的union操作单拎出来,只在最后一步进行union操作。

如图所示:

image.png


  1. image.png

image.png


  1. image.png

image.png


image.png

image.png

image.png

image.png

image.png

image.png


  1. 抽样query:从templates生成

image.png


  1. 生成复杂query的流程:从query template开始,通过实例化query template中的变量为KG中实际存在的实体和关系来生成query(如实例化Anchor1为KG节点ESR2,Rel1为KG边Assoc)。

query template可以视作是query的抽象。

如图所示:

image.png


  1. 实例化query template的具体方法:从实例化答案节点开始,迭代实例化其他边和节点,直至到达8所有anchor nodes

image.png


  1. 实例化query template示例:

从query template的根节点开始:从KG中随机选择一个实体作为根节点,例如我们选择了Fulverstrant

image.png


然后我们看intersection:实体集的intersection是Fulverstrant,则两个实体集自然都应包含Fulverstrant

image.png


我们通过随机抽样一个连接到当前实体Fulverstrant的关系,来实例化对应的projection edge。举例来说,我们选择关系TreatedBy,检查通过TreatedBy关系连接到Fulverstrant的实体:{Breast Cancer}

image.png


以此类推,完成一条支路:

image.png


类似地,完成另一条支路:

image.png

image.png

image.png


  1. 在嵌入域可视化查询答案

示例:List male instrumentalists who play string instruments

用t-SNE将嵌入向量降维到2维

image.png

可视化节点嵌入和query plan:

image.png

anchor node的嵌入:

image.png

投影:

image.png

投影:

image.png

anchor node的嵌入:

image.png

投影:

image.png

intersection:

image.png


4. 本章总结


本章介绍了在大型KG上回答predictive queries。

关键思想在嵌入查询,通过可学习的operator来实现嵌入。在嵌入域中,query的嵌入应该靠近其答案的嵌入。


相关文章
|
1月前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
54 1
|
3月前
|
机器学习/深度学习 算法 Python
【绝技揭秘】Andrew Ng 机器学习课程第十周:解锁梯度下降的神秘力量,带你飞速征服数据山峰!
【8月更文挑战第16天】Andrew Ng 的机器学习课程是学习该领域的经典资源。第十周聚焦于优化梯度下降算法以提升效率。课程涵盖不同类型的梯度下降(批量、随机及小批量)及其应用场景,介绍如何选择合适的批量大小和学习率调整策略。还介绍了动量法、RMSProp 和 Adam 优化器等高级技巧,这些方法能有效加速收敛并改善模型性能。通过实践案例展示如何使用 Python 和 NumPy 实现小批量梯度下降。
41 1
|
5月前
|
机器学习/深度学习 算法 BI
机器学习笔记(一) 感知机算法 之 原理篇
机器学习笔记(一) 感知机算法 之 原理篇
|
5月前
|
机器学习/深度学习 搜索推荐 PyTorch
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
1135 2
|
5月前
|
机器学习/深度学习 算法 数据可视化
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
51 0
|
5月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
39 0
|
6月前
|
机器学习/深度学习 自然语言处理 PyTorch
fast.ai 机器学习笔记(四)(1)
fast.ai 机器学习笔记(四)
137 1
fast.ai 机器学习笔记(四)(1)
|
6月前
|
机器学习/深度学习 监控 算法
LabVIEW使用机器学习分类模型探索基于技能课程的学习
LabVIEW使用机器学习分类模型探索基于技能课程的学习
52 1
|
6月前
|
机器学习/深度学习 算法 图计算
图机器学习入门:基本概念介绍
图机器学习是机器学习的分支,专注于处理图形结构数据,其中节点代表实体,边表示实体间关系。本文介绍了图的基本概念,如无向图与有向图,以及图的性质,如节点度、邻接矩阵。此外,还讨论了加权图、自循环、多重图、双部图、异构图、平面图和循环图。图在描述数据关系和特征方面具有灵活性,为机器学习算法提供了丰富的结构信息。
145 0
|
6月前
|
机器学习/深度学习 Python 索引
fast.ai 机器学习笔记(二)(4)
fast.ai 机器学习笔记(二)
55 0
fast.ai 机器学习笔记(二)(4)