知识图谱
更多内容请前往知识图谱专栏
注明:[注]图文来源:知识图谱(b站)
根据b站教程视频总结的相关知识
前言
本章节学习知识图谱最为关键的技术——推理。
一、什么是推理
- 推理指的是从一致的事实Long Facts来推断得出新的事实New Facts的过程。
- 实现推理的方法:
(1) 演绎推理——Top-down Logic
- 肯定前件假言推理: P → Q P\to Q P→Q:若P,则Q;
- 否定后件假言推理:假设 − Q → − P -Q\to -P −Q→−P
- 三段论: P → Q ,且 Q → R ,则 P → R P\to Q,且Q\to R,则P\to R P→Q,且Q→R,则P→R
- 演绎推理是将抽象规则知识与原因相结合,推理得到最后的结果的过程。
(2)归纳推理——Bottom-up Logic——观察客观事实进而总结和归纳抽象知识的推理过程——近似正确的推理
- 例子:在装有黑白球的盒子中随机抽取一部分球,抽出的球中3/4为黑球,1/4为白球,进而归纳得出盒子里3/4为黑球,1/4为白球。
- 归纳推理是从观察到的现象和原因出发,归纳抽象规则的过程。
(3)溯因推理
- 关注点:推理结果的可解释逻辑。
- 例如:
- 已知假设(/规则):如果下雨,草地会被撕
- 随后观察到草地被撕
- 最后基于已知假设推断得出可能是下雨导致的潮湿
- 溯因推理也是一种从观察现象出发的推理,是将抽象的规则知识与观察现象相结合寻找可能原因的推理的过程。
(4)类比推理——少样本
- 推理过程:假设P和Q在某些属性上相似,例如属性a,b,c;P由一个新属性x,因此我们可以类比推理得到Q也可能具有属性x。
- 类比推理是从个体到个体的推理过程。
- 利用描述逻辑实现积极推理:
- T-Box:存储抽象的概念;
- A-Box:存储事实性描述。
-
NLP:相关链接——优势:语料数据更易获得,但无描述逻辑一般严格的形式化逻辑定义
-
计算机视觉领域CV
- Clever数据集——定义了一系列Visual Reasoning的问句
- 对于给定的图片,Visual Reasoning不仅要求识别其中的物体,还需要分析其之间的位置关系实现路径的搜索、比较属性的大小和技术等。
- 对于给定的图片,Visual Reasoning不仅要求识别其中的物体,还需要分析其之间的位置关系实现路径的搜索、比较属性的大小和技术等。
二、知识图谱推理——简化推理过程
- 知识图谱推理的任务:限定于基于知识图谱的图的结构完成关系的推理和事实的预测。
- 知识图谱三元组:代表了关于客观世界的一条事实描述。
- 知识图谱的图的结构:为推理提供了关联线索。
- 推理的目标:利用图谱中已经存在的关联关系或事实来推断未知的关系或事实。
- 推理的作用
- 属性补全、关系预测、错误检测提高知识图谱质量;
- 查询与问答中拓展问句的语义提高查询的召回;
- 推荐计算中提升推荐的精准性和可解释性。
- 深度语义理解都涉及推理过程。
- 常见知识图谱推理方法
-
按表示方式及推理模型两个维度分
- 表示方式
- 符号表示:局限于显示表示,可解释性强;
- 向量表示:易于表示隐式知识,缺乏可解释性。
- 推理模型
- 演绎推理:依赖于显示知识表示和逻辑推理;
- 归纳推理:依赖于大数据和机器学习方法
- 表示方式
- Tbox vs Abox
- Tbox
- 定义:引入概念以及关系名称。
- 例如:Mother,Person,hax_child。
- 包含:生命包含关系的公理。
- 例如:Mother ⊆ \subseteq ⊆ ∃ \exists ∃has_child.Person。
- 定义:引入概念以及关系名称。
- Abox
- 概念新言——表示一个对象是否属于某个概念。
- 例如:Mother(Alice),Person(Bob)。
- 关系新言——表示两个对象是否满足特定关系。
- 例如:has_child(Alice,Bob)。
- 概念新言——表示一个对象是否属于某个概念。
- 基于符号表示的推理
(1)基于符号本体实现的演绎推理——很精确、不存在可解释性问题
(2)Ontological Axioms——不存在可解释性问题
(3)基于符号表示及知识图谱的归纳推理
①PRA算法——利用知识图谱的图结构信息
- 基本假设:两个实体之间所有可能的路径都可能作为推断两个实体存在某种关系的线索或依据。
- 过程:对整个知识图谱进行学习,若训练数据足够多,则更可能统计出期望的规律或规则,最后所得结果为近似推断。
- 优点:无需人工定义规则,并充分利用大数据和机器学习来实现归纳推理,同时显示的路径特征和规则可直接用于对推理结果进行解释,不存在可解释的困难。
- 类似模型:AMIE模型
- 利用知识图谱中已存在的事实和图结构学习出一组规则,再利用规则进行推理。
- 缺点:依赖于对整个知识图谱做搜索匹配,在图谱规模增大的情况下搜索空间和复杂度也急剧上升,最终导致学习效率降低。
- 基于向量表示的推理
(1) 知识图谱嵌入模型:TranSE、DistMult
①基本思路:将知识图谱中的实体和关系投影至向量空间
②过程:常以知识图谱的三元组作为训练输入,通过定义一个约束函数对向量表示进行学习。
③例如:DistMult
- 例如:将Rome 、Paris等实体以及is_capital_of关系投影到向量空间,再通过向量空间完成推理计算。
- 该模型定义了一个向量乘法函数,要求两个实体
h
h
h和
t
t
t之间存在关系
r
r
r,则
h
h
h的向量乘以代表
r
r
r关系的矩阵
M
r
M_r
Mr所得出的向量应该在向量空间与
t
t
t比较接近,这些向量或矩阵就成为实体和关系的embeding。
(2)向量表示 - 优势:推理的计算转化为向量之间的计算,免除了符号的搜索匹配过程,使得推理过程计算更加高效。
- 缺点:将表示向量化和参数化最终丢失了可解释性。只得到一个score和评估结果的真或假,但无法得知为何得出这样的结果。
- 依赖于图谱中有足够多的训练样本,但大多情况下知识图谱是高度稀疏的,即只有少量实体、甚至无关系连接,对于训练样本不充分的实体,很难学习到好的向量表示,进而影响到推理结果。
(3)基于图神经网络的知识图谱推理
不适于图结构比较稀疏的场景:常识类知识图谱的表示学习
①图神经网络:善于捕获图的结构特征
②例如:学习rom城市的向量表示,则其在图谱中的邻居节点或多跳范围外的远距离节点都可能对其表示产生影响。
③传统图神经网络处理的为无标记的层图模型,对知识图谱需要做不同的处理。 - 如R-GCN:首先对某个节点的边按关系类型进行区分,然后通过传统的GCN模型对节点的特征进行聚合。
④图神经网络: - 可为知识图谱获得更多的图结构方面的特征,但图谱稀疏问题更加突出。
- 可做更为深度的挖掘和分析
- 小结
(1)符号知识的向量化表示
①更易于捕获隐含的不确定性知识,向量空间的连续性也使得基于向量的推理计算更易于泛化并免于严格的符号逻辑匹配。
②但通过可微过程学习出的数字化知识丢失了可解释性,且向量化的推理计算丢失了对推理链的跟踪因而导致图里结果的不可解释。
(2)将符号规则和表示学习相结合可解决表示学习的可解释性问题:
①在向量表示的学习过程中植入符号规则的学习过程,利用同步学习树的规则增强推理结果的可解释性。
②将人工构建和机器学习出的符合规则与向量表示学习相耦合进一步在表示学习过程中植入逻辑层的知识先验,从而使得向量表示更易于实现符号逻辑推理。
③符号逻辑向量化和神经网络化使得感知层的任务(如抽取、识别)、人和认知层的任务(如理解和推理)能在统一的表示空间完成。
(一)基于符号逻辑的知识图谱推理
- 基于Ontology的推理
(1)OWL模型(RDF的拓展)
①描述逻辑语义及语法
②OWL本体推理
- 概念包含推理——定义于Tbox上的推理,一般基于Tbox的Axiom推断两个概念之间是否存在包含关系。
- 例如:
- Mother ⊆ \subseteq ⊆ Women 、Women ⊆ \subseteq ⊆ Person ,则Mother ⊆ \subseteq ⊆ Person
- 长裙 ⊆ \subseteq ⊆女装、长裙 ∩ \cap ∩ ∃ \exists ∃颜色.红色 ∩ \cap ∩ ∃ \exists ∃ 风格.古风 ∩ \cap ∩ ∀ \forall ∀适合年龄.少年 ⊆ \subseteq ⊆ 女装 ∩ \cap ∩ ∃ \exists ∃颜色.红色
- 例如:
- 实例检测推理——主要用于计算符合某个概念或关系定义的所有实例。
- 例如:
- Mother ⊆ \subseteq ⊆ Women 、Mother(Alice)则Women(Alice)
- has_son(Alice,Bob)、has_son ⊆ \subseteq ⊆has_child则has_child(Alice,Bob)
- 典型本体推理算法——Tableaux算法
- 基本思想:通过一系列规则构建Abox,以检测知识库的可满足性。
- 作用:将概念包含、实例检测等推理都转化为可满足性检测问题来实现。
- 运算规则——利用一组描述逻辑算子实现(以主要DL算子举例):
初始情况下, ∅ \varnothing ∅是原始的Abox,迭代运用如下规则:
例如:Man ∩ \cap ∩ Women ⊆ \subseteq ⊆ ⊥ \bot ⊥ 、Man(Allen)
运算过程:先将Women(Allen)加入到待证知识库中,然后逐一应用原列表中给出的规则得知Allen既是Man也是Women,由第一条得出这样的是不存在的,因而得出Allen不在Women中。(类比反证法:假设结论为真,推出矛盾,得出假设为假,待证结论为真。)
- 例如:
- 基于DataLog的推理
(1)基本语法
- 原子(Atom)
- p ( t 1 , t 2 , . . . . . , t n ) p(t_1,t_2,.....,t_n) p(t1,t2,.....,tn)
- 其中 p p p是谓词, n n n是目数, t i t_i ti是项(变量或常量)
- 例如 h a s _ c h i l d ( X , Y ) has\_child(X,Y) has_child(X,Y)
- 规则(Rule)——表示的是体部描述对头部描述的逻辑蕴含关系
- H : − B 1 , B 2 , . . . . . , B m H:- B_1,B_2,.....,B_m H:−B1,B2,.....,Bm
- 由原子构建,其中 H H H是头部原子, B 1 , B 2 , . . . . . , B m B_1,B_2,.....,B_m B1,B2,.....,Bm是体部原子;
- 例如 h a s _ c h i l d ( X , Y ) : − h a s _ s o n ( X , Y ) has\_child(X,Y):- has\_son(X,Y) has_child(X,Y):−has_son(X,Y)表示: h a s _ s o n ( X , Y ) has\_son(X,Y) has_son(X,Y)逻辑上蕴含 h a s _ c h i l d ( X , Y ) has\_child(X,Y) has_child(X,Y)
- 事实(Fact)——
- F ( c 1 , C 2 , . . . , C n ) : − F(c1, C2, ... ,Cn) :- F(c1,C2,...,Cn):−
- 没有体部且没有变量的规则
- 例如: h a s _ c h i l d ( A l i c e , B o b ) : − has\_child(Alice, Bob) :- has_child(Alice,Bob):−
(2)例子
- 规则集
- p a t h ( x , y ) : − e d g e ( x , y ) . path(x,y):-edge(x,y). path(x,y):−edge(x,y).
- p a t h ( x , y ) : − e d g e ( x , z ) , p a t h ( z , y ) . path(x,y):-edge(x,z),path(z,y). path(x,y):−edge(x,z),path(z,y).
- 事实——推理的计算复杂度与事实集大小成正相关
- edge(a,b).
- edge(b,c).
- 结果集
- 由第一条规则及事实得出: p a t h ( a , b ) . path(a,b). path(a,b). p a t h ( b , c ) . path(b,c). path(b,c).
- 由第一条结果集和第二条规则得出: p a t h ( a , c ) path(a,c) path(a,c)
(3)支持Datalog推理的工具
- 基于产生式规则的推理
(1)产生式系统
①定义:一种前向推理系统,可以按照一定机制执行规则从而达到某些目标,与一阶逻辑类似,也有区别。
②应用:
- 自动规划
- 专家系统
- Feigenbaum研制的化学分子结构专家系统DENDRAL
- Shortliffe研制的的诊断感染性疾病的专家系统MYCIN
③组成:事实集+产生式/规则集合+推理引擎
-
事实集合(Working Memory)
- 事实集/运行内存(Working Memory,WM)
- 事实(WME)的集合
- 用于存储当前系统中所有事实
- 事实集/运行内存(Working Memory,WM)
-
事实(Working Memory Element, WME)
- 描述对象
- 形如 ( t y p e a t t r 1 : v a l 1 a t t r 2 : v a l 2 . . a t t r n : v a l n ) (type attr_1:val1 attr_2:val_2 .. attr_n:val_n) (typeattr1:val1attr2:val2..attrn:valn),其中 t y p e , a t t r i , v a l i type,attr_i,val_i type,attri,vali均为原子(常量)
- 例如: ( s t u d e n t n a m e : A l i c e a g e : 24 ) (student name: Alice age:24) (studentname:Aliceage:24)
- 描述关系(Refication)
- 例如:
(
b
a
s
i
c
F
a
c
t
r
e
l
a
t
i
o
n
:
o
l
d
e
r
T
h
a
n
f
i
r
s
t
A
r
g
:
J
o
h
n
s
e
c
o
n
d
A
r
g
:
A
l
i
c
e
)
(basicFact relation:olderThan firstArg:John secondArg:Alice)
(basicFactrelation:olderThanfirstArg:JohnsecondArg:Alice)简记为
(
o
l
d
e
r
T
h
a
n
J
o
h
n
A
l
i
c
e
)
(olderThan John Alice)
(olderThanJohnAlice)
可以类比类和对象
- 例如:
(
b
a
s
i
c
F
a
c
t
r
e
l
a
t
i
o
n
:
o
l
d
e
r
T
h
a
n
f
i
r
s
t
A
r
g
:
J
o
h
n
s
e
c
o
n
d
A
r
g
:
A
l
i
c
e
)
(basicFact relation:olderThan firstArg:John secondArg:Alice)
(basicFactrelation:olderThanfirstArg:JohnsecondArg:Alice)简记为
(
o
l
d
e
r
T
h
a
n
J
o
h
n
A
l
i
c
e
)
(olderThan John Alice)
(olderThanJohnAlice)
- 描述对象
-
产生式集合(Production Memory,PM)
- 产生式规则的集合
-
产生式
- IF conditions THEN actions
- conditions是由条件组成的集合,又称为LHS(Left Hand Side)
- actions是由动作组成的序列,又称为RHS(Right Hand Side)
-
LHS
-
条件(condition)的集合,各条件之间是且的关系
-
当LHS中所有条件均被满足,则该规则触发
-
每个条件形如 ( t y p e a t t r 1 : s p e c 1 a t t r 2 : s p e c 2 … a t t r n : s p e c n ) (type attr_1:spec_1 attr_2:spec_2…attr_n:spec_n) (typeattr1:spec1attr2:spec2…attrn:specn)
- 其中 s p e c i spec_i speci表示对 a t t r i attr_i attri的约束,形式可取下列中的一种
-
-
RHS
-
动作(action)的序列,执行时依次执行
-
动作的种类如下:
- ADD pattern
向WM中加入形如pattern的WME
- ADD pattern
-
REMOVE i
- 从WM中移除当前规则第i个条件匹配的WME
-
MODIFY i (attr spec)
- 对于当前规则第i个条件匹配的WME,将其对应于attr属性的值改为spec
-
-
推理引擎
- 控制系统的执行
-
模式匹配:用规则的条件部分匹配事实集中的事实,整个LHS都被满足的规则被触发,并被加入议程(agenda)
(i)每条规则的条件部分匹配当前VM
-
解决冲突:按一定的策略从被触发的多条规则中选择一条
-
执行动作:执行被选择出来的规则的RHS,从而对WM进行一定的操作。
-
- 控制系统的执行
④
(2)RETE算法——启发式算法
①核心思想:将产生式的LHS组织成判别网络形式用分离的匹配项构造匹配网络,同时缓存中间结果。
②优化思想:以空间换时间。
③基本过程:
Working Memory中的所有事实首先与
α
\alpha
α网络中的元素进行匹配,然后按照网络的结构形式完成join操作,join中间结果保存于
β
\beta
β网络,最终结果加入agenda,得到推理结果
④高效的原因:用空间换时间
⑤小结:
- Rete算法是一种启发式算法,不同规则之间往往含有相同的模式,因此在Rete网络中可以共享 不同规则的条件部分。如果Rete网络中的某一个条件node被N条规则共享,则算法在此节点上效率会提高N倍。
- Rete算法由于采用AlphaMemory和BetaMemory来存储事实,当事实集合变化不大时,保存在alpha和beta节点中的状态不需要太多变化,避免了大量的重复计算,提高了匹配效率。
- 从Rete网络可以看出,Rete匹配速度与规则数目无直接关系,这是因为事实只有满足本节点才会继续向下沿网络传递。
- 小结
(1)常见的基于符号的知识图谱推理方法有基于OWL的本体推理,基于Datalog的规则推理和比较传统的基于Rete算法的产生式规则推理。
(2)基于符号表示的推理最大的优势是精确并具有可解释性,因而对那些规模可控,对知识表示的精确度要求比较高的场景更加有用。
(3)这类基于符号表示的推理都是基于演绎逻辑的推理,对知识的表示和描述要求比较高,这增加了知识获取的难度,同时在知识库规模比较大时,推理的鲁棒性和效率都会降低。
(二)基于表示学习的知识图谱推理
- 基于嵌入学习的知识图谱推理
(Ⅰ)相应模型
(1)TransE(省略)
(2)典型的知识图谱嵌入模型——TransH
①目标函数:
②损失函数:
(3)TransR
①目标函数:
②损失函数
(4)TransD
通过动态关系矩阵获得头尾节点表示,然后再进行加法计算
①目标函数
②损失函数
(5)DistMult——基于线性代换的学习模型
DistMult将实体和关系映射到实数空间,并假设
h
M
r
=
t
hM_r=t
hMr=t,计算一个三元组
(
h
,
r
,
t
)
(h,r,t)
(h,r,t)的得分函数为:
f
r
(
h
,
t
)
=
h
M
,
t
f_r(h,t)=hM,t
fr(h,t)=hM,t,由于当将
M
M
M设置为对角矩阵时,
h
M
r
t
=
t
M
r
h
hM_rt=tM_rh
hMrt=tMrh的,隐含着每个关系都是对称关系的结论
(6)Analogy——利用类比推理的思想做知识图谱推理
(7)ComplEx模型
①ComplEx通过将实体和关系映射到复数空间解决了这个问题,因为复数空间的向量和矩阵的计算是不满足交换律的。ComplEx
的得分函数设置如下:
∅
(
h
,
r
,
t
)
=
R
e
(
<
h
,
r
,
t
ˉ
>
)
\varnothing(h,r,t)=Re(<h,r,\bar{t}>)
∅(h,r,t)=Re(<h,r,tˉ>)
=
<
R
e
(
h
)
,
R
e
(
r
)
,
R
e
(
t
)
>
=< Re(h), Re(r), Re(t) >
=<Re(h),Re(r),Re(t)>
+
<
I
m
(
h
)
,
R
e
(
r
)
,
I
m
(
t
)
>
+ < Im(h), Re(r), Im(t)>
+<Im(h),Re(r),Im(t)>
+
<
R
e
(
h
)
,
I
m
(
r
)
,
I
m
(
t
)
>
+ < Re(h), Im(r), Im(t)>
+<Re(h),Im(r),Im(t)>
−
<
I
m
(
h
)
,
I
m
(
r
)
,
R
e
(
t
)
>
- < Im(h), Im(r), Re(t) >
−<Im(h),Im(r),Re(t)>
- 其中 R e ( x ) Re(x) Re(x)表示 x x x的实数部分, I m ( x ) Im(x) Im(x)表示 x x x的虚数部分, x 表示 x x表示x x表示x的共轭复数。
- ComplEx的损失函数如下:
L = 1 l e n ( S ) ∑ ( h , r , t ) ∈ ( S , S ′ ) l o g ( e − f r ( h , t ) ∗ l a b l e + 1 ) L={1\over len(S)}{ \displaystyle \sum_{(h,r,t)\in(S,S^{'})}log(e^{-f_r(h,t)*lable}+1)} L=len(S)1(h,r,t)∈(S,S′)∑log(e−fr(h,t)∗lable+1)
其中正样本的lable为1,负样本的lable为-1.优化目标为最小化损失函数L。
(8)ConvE
①简单将h和r的向量累加并转化为类似于图像的二维形式,在迭加卷积神经网络学习新的表示,并且进行相应的关系预测
(9)RotaE——适用于复杂空间中基于关系旋转的知识图嵌入
①基于欧拉恒等式
e i θ = c o s θ + i s i n θ e^{i\theta}=cos \theta+i sin{\theta} eiθ=cosθ+isinθ
②RotaE - t = h ∘ r , w h e r e ∣ r i ∣ = 1 t=h\circ r,where|r_i|=1 t=h∘r,where∣ri∣=1
- d r ( h , t ) = ∣ ∣ h ∘ r − t ∣ ∣ d_r(h,t)=||h\circ r-t|| dr(h,t)=∣∣h∘r−t∣∣
-
L
=
−
l
o
g
σ
(
τ
−
r
(
h
,
t
)
)
−
∑
i
=
1
n
1
k
l
o
g
σ
(
d
r
b
i
′
,
t
i
′
−
τ
)
L={-log\sigma(\tau-_r(h,t))}-{\displaystyle \sum_{i=1}^{n}}{1\over k}{log\sigma(d_r{b_i^{'},t_i^{'}}-\tau)}
L=−logσ(τ−r(h,t))−i=1∑nk1logσ(drbi′,ti′−τ)
③基本过程:将实体关系映射至复数向量空间,并且将每个关系定义为头实体到尾实体的旋转,通过约束关系的模长为1,将关系约束为在复数空间内绕原点旋转的一个弧度,只影响在复数空间内实体嵌入的相位,这种方式有利于构建上述所有形式的关系。
④自我对抗性采样——提高训练效果
p ( h j ′ , r , t j ′ ∣ { ( h i , r i , t i ) } ) = e x p α f r ( h j ′ , t j ′ ) ∑ i e x p α f r ( h i ′ , t i ′ ) p(h_j^{'},r,t_j^{'}|\{(h_i,r_i,t_i)\})={{exp \alpha f_r(h_j^{'},t_j^{'})}\over \sum_i exp \alpha f_r(h_i',t_i')} p(hj′,r,tj′∣{(hi,ri,ti)})=∑iexpαfr(hi′,ti′)expαfr(hj′,tj′)
L = − l o g σ ( τ − d r ( h , t ) ) − ∑ i = 1 n p ( h i ′ , r , t i ′ ) l o g σ ( d r ( h i ′ , t i ′ ) − τ ) L=-log\sigma(\tau -d_r(h,t))-{\displaystyle \sum_{i=1}^{n}}p(h_i^{'},r,t_i^{'})log\sigma(d_r(h_i',t_i')-\tau) L=−logσ(τ−dr(h,t))−i=1∑np(hi′,r,ti′)logσ(dr(hi′,ti′)−τ)
(10)基于BetaE的知识图谱多跳逻辑推理
①将知识图谱中的实体和多跳逻辑推理需要的逻辑查询用Beta分布进行建模;
②对于一个多跳的逻辑查询,可以转化成一个计算图,例如图(A),其中点表示实体,边表示逻辑操作,操作可以分为三种:
- 关系映射:讲一个实体通过关系映射到另一个实体;
- 求交集:对一组实体求交集;
- 求逆:对一组实体求逆;
③对实体利用Beta分布建模,把逻辑操作建模成对图(B)中的Beta分布的转换,从而可以对复杂的逻辑查询进行表示。
(11)基于强化学习的知识图谱路径推理问答
基本思想:推理的本质是在图上游走并逐步找到答案的推理过程
①用前一个时刻的历史,action和现在时刻的observation得到现在的历史: h r = L S T M ( h t − 1 , [ a t − 1 ; o t ] ) h_r=LSTM(h_{t-1},[a_{t-1};o_t]) hr=LSTM(ht−1,[at−1;ot])
②策略网络根据该信息来决定 t t t时刻的action: - d t = s o f t m a x ( A t ( W 2 R e L U ( W 1 [ h t ; o t ; r q ] ) ) ) d_t=softmax(A_t(W_2ReLU(W_1[h_t;o_t;r_q]))) dt=softmax(At(W2ReLU(W1[ht;ot;rq])))
-
A
t
∼
C
a
t
e
g
o
r
i
c
a
l
(
d
t
)
A_t\sim Categorical(d_t)
At∼Categorical(dt)
③训练
J ( θ ) = E ( e 1 , r , e 2 ) ∼ D = E ( A 1 , . . . . . . , A t − 1 ) ∼ π θ [ R ( S T ) ∣ S 1 = ( e 1 , e 1 , r , e 2 ) ] J(\theta)=E_{(e_1,r,e_2)\sim D}=E_{(A_1,......,A_{t-1})\sim \pi_\theta}[R(S_T)|S1=(e_1,e_1,r,e_2)] J(θ)=E(e1,r,e2)∼D=E(A1,......,At−1)∼πθ[R(ST)∣S1=(e1,e1,r,e2)]
(Ⅱ)面临的挑战——稀疏性问题
(1)稀疏性问题
①知识图谱嵌入首先是基于一个假设,基于待学习的实体或关系,知识图谱中拥有足够多的包含该实体或关系的三元组,但是现实情况知识图谱是高度稀疏的,即只有少量关系拥有大量的三元组,而大部分关系只有少量知识。例如对于常识知识都位于长尾部分;
②无尺度(Scale-free):很多复杂系统拥有共同的重要特征:大部分节点只有少数几个连结,而某些节点却拥有与其他节点的大量连结,并满足幂律分布
③wRAN:利用关系对抗网络提升长尾部分的关系推理和补全的效能。
-
基本思想:利用训练资源比较丰富的关系去增强长尾部分的关系推理和补全的效能,即从高资源关系Source Relations到低资源关系Target Relations的特征迁移学习,该种学习方式成为对抗学习。
-
模型相关组成
- 特征提取器
- 学习到Source Relations和Target Relations的共有特征并迷惑判别器D,
- 判别器D:的目标是努力区分Source和Target;
- weight机制:完成多个Source关系向单个Target关系进行迁移学习,通过权重机制区分不同关系对于迁移学习的重要程度。
- 特征提取器
④MetaR——少样本时使用的模型
-
元关系学习:在只有少量关系样本的情况下实现知识图谱推理——Few-shot Reasoning
-
定义:每一个关系视为一个Task,每个Task包含support集和query集。
-
MetaR基本思想:在Meta-Learning阶段挖掘关系自身以及关系之间的Meta knowledge,在预测阶段利用rel-meta对关系预测模型进行fine-tune,从而提升模型在少样本情况下的预测效果。
知识补充:
知识嵌入的小结:
- 机器学习的目标:学习万物的机器表示:表示取决于其语义类信息、结构化属性以及其在图中的邻居节点信息。
- 知识图谱嵌入就是要找到合适的方法学习到最合适的表示,后基于表示学习进一步构建实体之间的逻辑关系,并在向量空间实现相应的逻辑操作。
- 基于规则学习的知识图谱推理
(1)利用图结构实现关系推理:PRA(Path Ranking Algorithm)
①基本思想:将连接两个实体的路径作为特征来预测其间可能存在的关系。
例如:
②根据一个带有边类型的有向图,如何判断某节点对
(
s
,
t
)
(s,t)
(s,t)之间是否存在给定关系,例如判断下图中character与writer之间是否具有关系profession
- 计算两个节点之间的score,若score高于某个阀值,则认为这两个节点间具有关系profession,score的计算过程:找出从s到t的所有连通路径,对于每条路径计算出一个概率,然后加权求和就可以得到score权重。
- 其中 s c o r e ( s , t ) = ∑ π ∈ Q P ( s → t ; π ) θ π score(s,t)={\displaystyle \sum_{\pi \in Q}P(s\to t;\pi)}\theta_\pi score(s,t)=π∈Q∑P(s→t;π)θπ
- 值得注意的是权重是通过有监督学习方法,线下计算出来的,因此对于一个关系r和有向图,其训练案例中需要给出一些节点对,标注出每个节点是否具关系r,然后通过使用逻辑回归模型为每条路径类型计算出权重
③该模型将pass type看作特征,再通过模型训练为每一个pass type学习一个权重,原因在于每个路径对于结果预测重要性程度不一。
④每一条路径都可以作为关系推断的一条线索。因而可以穷举从头节点出发到尾节点的所有路径。穷举数目太多,因而PRA采用随机游走的方式从头、尾两个节点出发,随机采样部分路径以降低路径搜索计算量。
⑤最终学习结果:从头节点到尾节点的路径,这些路径被用来判断头尾节点之间位置的关系。
- 以规则角度看到学习结果:
-
知识图谱中的规则可以用以下形式表示:
- B 1 ∧ B 2 ∧ . . . ∧ B n ⇒ H B_1\land B_2\land... \land B_n⇒H B1∧B2∧...∧Bn⇒H
-
其中 B 1 ∧ B 2 ∧ . . . ∧ B m B_1\land B_2\land ... \land B_m B1∧B2∧...∧Bm表示规则的body部分,有 n n n个原子(atom)组成, H H H表示规则的head部分,由一个原子组成,每个原子A可以表示 A = r ( x , y ) A=r(x,y) A=r(x,y)的形式,其中r表示为原子包含的关系, x , y x,y x,y为变量。
-
本demo中AMIE学习的规则为所有规则中的一个子集,即闭环的联通的规则,也可以叫做路径规则。可表示为: r 1 ( x , z 1 ) ∧ r 2 ( z 1 , Z 2 ) ∧ . . . ∧ r n ( z n − 1 , y ) ⇒ r ( x , y ) r_1(x,z_1)\land r2(z_1,Z_2)\land ... \land rn(z_{n-1},y)⇒r(x,y) r1(x,z1)∧r2(z1,Z2)∧...∧rn(zn−1,y)⇒r(x,y)
-
我们可以将其简化表示为 B → ⇒ r 0 ( x , y ) \overrightarrow{B}⇒r_0(x,y) B⇒r0(x,y)。
-
如果规则中的所有变量替换为具体的实体并保证每个实例化后的atom都存在图谱中,这样规则实例化后的结果称为规则的一个grounding。
-
(2)AMIE——基于规则学习的方法
①统计的指标
- Support
- 对规则rule,Support为在知识图谱中规则grounding的个数,可表示为:
s u p p o ( B → ⇒ R 0 ( x , y ) ) = # ( x , y ) : ∃ z 1 , . . . . . , z n : B → ⇒ R 0 ( x , y ) = # ( x , y ) suppo(\overrightarrow{B}⇒R_0(x,y))=#(x,y):\exists z_1,.....,z_n:\overrightarrow{B}⇒R_0(x,y)=#(x,y) suppo(B⇒R0(x,y))=#(x,y):∃z1,.....,zn:B⇒R0(x,y)=#(x,y)
- 对规则rule,Support为在知识图谱中规则grounding的个数,可表示为:
- HC(Head Coverage)
- 头覆盖度是另一个评价规则的指标,定义如下:
H C ( B → ⇒ R 0 ( x , y ) ) = s u p p o ( B → ⇒ R 0 ( x , y ) ) s i z e ( r ) HC(\overrightarrow{B}⇒R_0(x,y))={suppo(\overrightarrow{B}⇒R_0(x,y))\over size(r)} HC(B⇒R0(x,y))=size(r)suppo(B⇒R0(x,y))
其中 s i z e ( r ) size(r) size(r)表示图谱中关系存在的关于 r r r的三元组数量,即 ( x , y , r ) (x,y,r) (x,y,r)的数量。
- 头覆盖度是另一个评价规则的指标,定义如下:
- Confidence——置信度——衡量了某个规则的可信程度
- 定义如下:
c o n f ( B → ⇒ R 0 ( x , y ) ) = s u p p o ( B → ⇒ R 0 ( x , y ) ) # ( x , y ) : ∃ z 1 , . . . . . , z n : B → conf(\overrightarrow{B}⇒R_0(x,y))={suppo(\overrightarrow{B}⇒R_0(x,y))\over #(x,y):\exists z_1,.....,z_n:\overrightarrow{B}} conf(B⇒R0(x,y))=#(x,y):∃z1,.....,zn:Bsuppo(B⇒R0(x,y))
即用规则r的grounding数除以满足体部定义的实例数。
- PCA Confidence
- PCA置信度全称为 partial closed world assumption confidence,即局部封闭世界假设。在封闭世界假设(closed worldassumption)中,图谱中不存在的三元组都被视为错误的,而在局部封闭世界假设中假设不存在知识图谱中的三元组不一定是错误的,有的缺失是图谱本身的不完整性遥成的。PCA confidence的计算方式如下:
c o n f p c a ( B → ⇒ R 0 ( x , y ) ) = s u p p o ( B → ⇒ R 0 ( x , y ) ) # ( x , y ) : ∃ z 1 , . . . . . , z n : B → ∧ r ( x , y ′ ) conf_{pca}(\overrightarrow{B}⇒R_0(x,y))={suppo(\overrightarrow{B}⇒R_0(x,y))\over #(x,y):\exists z_1,.....,z_n:\overrightarrow{B} \land r(x,y')} confpca(B⇒R0(x,y))=#(x,y):∃z1,.....,zn:B∧r(x,y′)suppo(B⇒R0(x,y))
与confidence的定义不同,PCA Confidence只将满足规则body部分且存在三元组 ( x , r , y ) (x,r,y) (x,r,y)的实例才计算入分母,由于考源了知识图谱本身的不完整性,通常PCA Confidence会比confidence更准确。
知识图谱通常使用开放世界假设(Open World Assumption):知识库中不存在的事实不一定是错误的。部分完整性假设(Partial Completeness Assumption):在知识库中,如果存在某个实体 x x x 的关系 r r r属性,则知识库中包含了 x x x 的所有关系 r r r属性
- PCA置信度全称为 partial closed world assumption confidence,即局部封闭世界假设。在封闭世界假设(closed worldassumption)中,图谱中不存在的三元组都被视为错误的,而在局部封闭世界假设中假设不存在知识图谱中的三元组不一定是错误的,有的缺失是图谱本身的不完整性遥成的。PCA confidence的计算方式如下:
- 学习过程:从规则为空开始学习,通过三种操作阔真规则体部分,搜索所有可能的规则形式并保留支持度大于阀值的候选规则,三种操作分别为:
-
添加悬挂边:悬挂边是指边的一段是一个未出现过的变量,而另一端是在规则中出现过的变量或者常量。
m a r r i e d T o ( x , z ) ⇒ l i v e I n ( x , y ) { r ( x , w ) , r ( z , w ) , r ( w , x ) , r ( w , z ) } marriedTo(x,z)\Rightarrow liveIn(x,y) \{r(x,w),r(z,w),r(w,x),r(w,z)\} marriedTo(x,z)⇒liveIn(x,y){r(x,w),r(z,w),r(w,x),r(w,z)} -
添加实例边:添加实例边:实例边与悬挂边类似,边的一端是未出现过的常量,另一端是在规则中出现过的变量或常量;
m a r r i e d T o ( x , z ) ⇒ l i v e s I n ( x , y ) r ( x , w ) . marriedTo(x, z) \Rightarrow livesIn(x,y) r(x,w). marriedTo(x,z)⇒livesIn(x,y)r(x,w). -
添加闭合边:闭合边是连接两个已经存在于规则中的变量或常量的边。
m a r r i e d T o ( x . z ) ⇒ l i v e s I n ( x , y ) { r ( z , y ) , r ( y , z ) } . marriedTo(x.z) \Rightarrow livesIn(x,y) \{r(z,y),r(y,z)\}. marriedTo(x.z)⇒livesIn(x,y){r(z,y),r(y,z)}.
-
②定义的两个约束条件
- 所学习出的规则是封闭的且置信度要大于某个阈值min confidence;
- 所产生的新规则的置信度应该要大于其母规则的置信度。
(3)借助向量学习规则(以TransE为例)
利用Embedding简单地计算关系的关系,即规则
(4)NeuralLP——可微规则学习
①相应表示方式
- 实体:one-hold的向量表示
- 关系:一个矩阵算子 M r M_r Mr表示
- 规则:一系列矩阵算子的乘积的形式,且每条规则学习一个置信度
②缺点一:处理规则长度不一需加注意力机制
- 规则右边部分表示为:
∑ l α l ∏ k ∈ β l M R k \displaystyle \sum_{l}\alpha_l\prod_{k\in \beta_l}M_{R_{k}} l∑αlk∈βl∏MRk
其中 α \alpha α和 β \beta β代表每条规则的置信度和结构,是需要优化的参数 - 优化目标函数
max { α l , β l } ∑ { x , y } s c o r e ( y ∣ x ) = max { α l , β l } ∑ { x , y } v y T ( ∑ l α l ∏ k ∈ β l M R k v x ) \max_{\{\alpha_l,\beta_l\}}{\displaystyle \sum_{\{x,y\}}score(y|x)}=\max_{\{\alpha_l,\beta_l\}}{\displaystyle \sum_{\{x,y\}}}v_y^{T}({\displaystyle \sum_{l}\alpha_l\prod_{k\in \beta_l}M_{R_{k}}v_x}) {αl,βl}max{x,y}∑score(y∣x)={αl,βl}max{x,y}∑vyT(l∑αlk∈βl∏MRkvx) - 重写公式
∏ t = 1 T ∑ k ∣ R ∣ α t k M R k {\displaystyle \prod_{t=1}^{T}}{\displaystyle \sum_{k}^{|R|}}\alpha_t^{k}M_{R_k} t=1∏Tk∑∣R∣αtkMRk
这一步交换了交换了连乘和累加的计算顺序,该式变得可微。对于每一个关系的相关的规则,为每个关系在每个步骤都学了一个权重 a t θ a_{t^{\theta}} atθ,但此时限定了每条规则的长度必须为 T T T - 解决每条规则长度不一的问题
- 设计记忆向量 u t u_t ut表示每个步骤输出的答案,即该步骤得到的实体作为query答案的概率分布
- 记忆注意力向量 b t b_t bt:表示在步骤 t t t时对于之前每个步骤的注意力
- 算子注意力向量
a
t
a_t
at:表示在步骤
t
t
t时对于之前每个关系算子的注意力
其中 a t a_t at与 b t b_t bt的生成方式是基于一个RNN网络生成, h t − 1 h_{t-1} ht−1是由一个LSTM网络来生成的,
最后用记忆力机制选择最合适的长度,保证规则长度的可变性
③缺点二:不支持数字类型的规则
- NeuralLP-N:可在规则体中使用带有数字的比较操作符,同时处理原子的否定。NeuralLP-N隐式的表示必要的矩阵操作可使用动态规划累计求和和排列来实现数字的比较
(5)可微规则学习——DRUM
①过程
- 公式重写: Ω H ( a ) = ∏ i = 1 T ∑ k = 1 ∣ R ∣ α i , k A R k \Omega_H(a)={\displaystyle \prod_{i=1}^{T}}{\displaystyle \sum_{k=1}^{|R|}}\alpha_{i,k}A_{R_k} ΩH(a)=i=1∏Tk=1∑∣R∣αi,kARk
- 处理定长规则方式:定义新关系,
B
0
B_0
B0对应的矩阵为单位矩阵
i
i
i,该关系可插入规则中的任意地方,但并不改变计算的结果
Ω H ′ ( a ) = ∏ i = 1 T ( ∑ k = 1 ∣ R ∣ α i , k A R k ) \Omega'_H(a)={\displaystyle \prod_{i=1}^{T}}({\displaystyle \sum_{k=1}^{|R|}}\alpha_{i,k}A_{R_k}) ΩH′(a)=i=1∏T(k=1∑∣R∣αi,kARk)
②引入置信度张量降低产生置信度很高的错误规则
引入置信度张量是将置信度参数视为一个 t t t维的张量
(6)实际应用的例子:基于规则嵌入表示学习的商品对齐规则挖掘(RuleE)
①规则示例:
②用规则进行同款商品判断的主要步骤:
- p j p_j pj是否包含在规则 r i r_i ri中 ?-- PCModule
- 若 p j p_j pj是包含在规则 r i r_i ri中,其取值为‘相同’还是具体的属性值 ?-- PSModule
- 若 p j p_j pj是包含在规则 r i r_i ri中且取值为具体的属性值,那具体的属性值是什么 ?–VDModule
③RuleE模型框架
- 三个模块的score组合方式
(7)利用规则增强知识图谱表示学习——RPJE
RPJE考虑两种形式的规则,分别为长度为1和2的规则:R1和R2。利用R1约束两个相关关系的表示更接近,利用R2来对具体路径进行合并。以此为基础设计三个能量函数,分别考虑三元组,路径和关系对的影响。并提出优化目标。
①利用AMIE+抽取KG中的规则集合
R
1
,
R
2
R_1,R_2
R1,R2
②设计能量函数
- E 1 ( h , r , t ) = ∣ ∣ h + r − t ∣ ∣ E_1(h,r,t)=||h+r-t|| E1(h,r,t)=∣∣h+r−t∣∣
- E 2 ( p , r ) = R ( P ∣ h , t ) ( ∏ μ i ∈ B ( p ) μ i ) ∣ ∣ C ( p ) − r ∣ ∣ E_2(p,r)=R(P|h,t)({\displaystyle \prod_{\mu_i\in B(p)}}\mu_i)||C(p)-r|| E2(p,r)=R(P∣h,t)(μi∈B(p)∏μi)∣∣C(p)−r∣∣
-
E
3
(
r
,
r
e
)
=
∣
∣
r
−
r
e
∣
∣
E_3(r,r_e)=||r-r_e||
E3(r,re)=∣∣r−re∣∣
③优化目标函数
(8)规则与嵌入表示的迭代学习:IterE——学习框架是一个演绎推理和归纳推理的框架
- 学习思路:建立于:基于线性变换假设的表示学习模型,该方式对于规则挖掘具有很好的友好性。
- 将关系 r r r表示为矩阵 M r M_r Mr,且假设关于正确的三元组应满足乘法关系,即头节点 h h h乘上关系 M r M_r Mr应等于尾节点 t t t。
- 对于OWL中七类规则的向量推导公式:
- inverse_of
规则的小结
- inverse_of
- 规则是包含更加复杂逻辑结构的知识,在很多实际的业务场景中,规则知识非常普遍。
- 传统的符号逻辑推理依赖人工构建这些规则,可扩展性不高,且不易于处理不确定的隐含知识,因此我们更多需要研究规则的自动学习方法。
- 单一依靠实体和关系的嵌入表示学习,不足以支持规则层面的推理能力;而传统基于符号搜索的规则学习方法(如PRA,AMIE)等也存在搜索空间过大的问题。
- 利用嵌入表示学习来实现规则学习能加速规则学习的过程,并让规则推理过程更易于捕获隐含的知识逻辑。
- Ontology Embedding—本体概念层推理
(1)Ontology Embedding——本体语义及逻辑层面的学习。
Ontology Embedding的侧重于对本体中概念体系进行学习这包括类与类之间的关系、类与实例之间的关系以及类与属性之间的关系等。
KG Embedding:关注实体以及实体之间组成的关联图,即由实体节点组成的图结构的学习
(2)EL Embedding
①EL++——用于描述本体的描述逻辑语言——适于建模超大规模的本体
- 主要特点:
- 表达构件十分简单,如上表所示
- 包含关系推理,即:subsumption推理可以在多项式时间来完成
- EL++包含类的合曲表达、存在量词、概念的包含关系等描述逻辑表达构件。
②主要目标:将类及属性之间的逻辑关系映射到向量空间,并在向量空间完成类似于符号空间所实现的本体概念推理。
③EL的表示
- 符号表示
- 向量空间表示
基本思想:将本体中每个类映射成一个球的表示,而类之间的关系就可以用球心的位置来反映,例如子类的球心应位于父类所属的球里面,且这种位置关系又可通过调整球心间的距离和球的半径长短来更细致地约束,如上图中的例子代表Person内的圆球最大,而代表Father的类的球则最小,Father类的球被包含于Parent类中,Perent类又于代表Famale类的球在空间中有重叠,若仅反应两个类之间的包含逻辑关系
④操作步骤
- 第一步: 将所有的表达言语都转换为包含关系(原因:若所有表达言语可转换为包含关系,则可方便地把类之间的包含关系用球之间的包含关系来近似代替),并利用几何空间的包含关系模拟类之间的包含关系推理。
例如:class assertions C(a)转化为: { a } ⊆ C \{a\} \subseteq C {a}⊆C
relation assertions r(a,b)转化为: { a } ⊆ r . b \{a\} \subseteq r.{b} {a}⊆r.b
- 第二步:根据核心映射函数
f
(
x
)
和
r
(
x
)
f(x)和r(x)
f(x)和r(x)进行相应操作
-
f ( x ) f(x) f(x)函数:完成符号空间到向量空间的映射,即将一个类映射到向量空间中的某个球心,并将关系映射成一个向量。——定球心
-
r ( x ) r(x) r(x)函数:将某个类映射到某个球的半径。——定半径
-
l
o
s
s
C
⊆
D
(
c
,
d
)
=
max
(
0
,
∣
∣
f
η
(
c
)
−
f
η
(
d
)
∣
∣
+
r
η
(
c
)
−
r
η
(
d
)
−
τ
)
+
∣
∣
∣
f
η
(
c
)
∣
∣
−
1
∣
+
∣
∣
∣
f
η
(
d
)
∣
∣
−
1
∣
loss_{C\subseteq D}(c,d)=\max(0,||f_{\eta}(c)-f_\eta(d)||+r_\eta(c)-r_\eta(d)-\tau)+| ||f_\eta(c)||-1|+| ||f_\eta(d)||-1|
lossC⊆D(c,d)=max(0,∣∣fη(c)−fη(d)∣∣+rη(c)−rη(d)−τ)+∣∣∣fη(c)∣∣−1∣+∣∣∣fη(d)∣∣−1∣
其中 f ( c ) 和 f ( d ) f(c)和f(d) f(c)和f(d)分别代表c和d的球心, r ( c ) 和 r ( d ) r(c)和r(d) r(c)和r(d)分别代表c和d的半径, f η ( c ) − f η ( d ) f_{\eta}(c)-f_\eta(d) fη(c)−fη(d)看作将d的圆心平移至c; r η ( c ) − r η ( d ) r_\eta(c)-r_\eta(d) rη(c)−rη(d)小于某阀值代表c的半径小于d的半径,进而近似刻画c和d的包含关系;其余各项为正则化,使得两个球的表示在向量空间都有统一的基准。 - 带合取关系的表达式,如刻画C和D的并集是E的子类。(以下仅为近似地逼近)
l o s s C ∩ D ⊆ E ( c , d , e ) = loss_{C\cap D\subseteq E}(c,d,e)= lossC∩D⊆E(c,d,e)=
max ( 0 , ∣ ∣ f η ( c ) − f η ( d ) ∣ ∣ + r η ( c ) − r η ( d ) − τ ) \max(0,||f_{\eta}(c)-f_\eta(d)||+r_\eta(c)-r_\eta(d)-\tau) max(0,∣∣fη(c)−fη(d)∣∣+rη(c)−rη(d)−τ)//c和d是destory的情况,使得c和d在空间中尽可能相交
+ max ( 0 , ∣ ∣ f η ( c ) − f η ( e ) ∣ ∣ − r η ( c ) − τ ) +\max(0,||f_{\eta}(c)-f_\eta(e)||-r_\eta(c)-\tau) +max(0,∣∣fη(c)−fη(e)∣∣−rη(c)−τ)
+ max ( 0 , ∣ ∣ f η ( d ) − f η ( e ) ∣ ∣ − r η ( c ) − τ ) +\max(0,||f_{\eta}(d)-f_\eta(e)||-r_\eta(c)-\tau) +max(0,∣∣fη(d)−fη(e)∣∣−rη(c)−τ)//后两项则是尽可能让e的球心位于c和d的交集部分
+ max ( 0 , min ( r η ( c ) , r η ( d ) ) − r η ( e ) − τ ) +\max(0,\min(r_\eta(c),r_\eta(d))-r_\eta(e)-\tau) +max(0,min(rη(c),rη(d))−rη(e)−τ)//让e的半径要大于c和d两个类半径的最小的那一个
+ ∣ ∣ ∣ f η ( c ) ∣ ∣ − 1 ∣ + ∣ ∣ ∣ f η ( d ) ∣ ∣ − 1 ∣ + ∣ ∣ ∣ f η ( e ) ∣ ∣ − 1 ∣ +| ||f_\eta(c)||-1|+| ||f_\eta(d)||-1|+| ||f_\eta(e)||-1| +∣∣∣fη(c)∣∣−1∣+∣∣∣fη(d)∣∣−1∣+∣∣∣fη(e)∣∣−1∣
//正则项
-
l
o
s
s
C
⊆
D
(
c
,
d
)
=
max
(
0
,
∣
∣
f
η
(
c
)
−
f
η
(
d
)
∣
∣
+
r
η
(
c
)
−
r
η
(
d
)
−
τ
)
+
∣
∣
∣
f
η
(
c
)
∣
∣
−
1
∣
+
∣
∣
∣
f
η
(
d
)
∣
∣
−
1
∣
loss_{C\subseteq D}(c,d)=\max(0,||f_{\eta}(c)-f_\eta(d)||+r_\eta(c)-r_\eta(d)-\tau)+| ||f_\eta(c)||-1|+| ||f_\eta(d)||-1|
lossC⊆D(c,d)=max(0,∣∣fη(c)−fη(d)∣∣+rη(c)−rη(d)−τ)+∣∣∣fη(c)∣∣−1∣+∣∣∣fη(d)∣∣−1∣
-
包含存在量词的表达式,此处使用TransE来刻画类之间的相互关系:
- l o s s C ⊆ ∃ R . D ( c , d , r ) = max ( 0 , ∣ ∣ f η ( c ) + f η ( r ) − f η ( d ) ∣ ∣ + r η ( c ) − r η ( d ) − τ ) + ∣ ∣ ∣ f η ( c ) ∣ ∣ − 1 ∣ + ∣ ∣ ∣ f η ( d ) ∣ ∣ − 1 ∣ loss_{C\subseteq \exists R.D}(c,d,r)=\max(0,||f_{\eta}(c)+f_\eta(r)-f_\eta(d)||+r_\eta(c)-r_\eta(d)-\tau)+| ||f_\eta(c)||-1|+| ||f_\eta(d)||-1| lossC⊆∃R.D(c,d,r)=max(0,∣∣fη(c)+fη(r)−fη(d)∣∣+rη(c)−rη(d)−τ)+∣∣∣fη(c)∣∣−1∣+∣∣∣fη(d)∣∣−1∣//C类为D类中带有R关系的子类,则都与D类中的某个实例都带有R关系
- l o s s ∃ R . C ⊆ D ( c , d , r ) = max ( 0 , ∣ ∣ f η ( c ) + f η ( r ) − f η ( d ) ∣ ∣ + r η ( c ) − r η ( d ) − τ ) + ∣ ∣ ∣ f η ( c ) ∣ ∣ − 1 ∣ + ∣ ∣ ∣ f η ( d ) ∣ ∣ − 1 ∣ loss_{ \exists R.C\subseteq D}(c,d,r)=\max(0,||f_{\eta}(c)+f_\eta(r)-f_\eta(d)||+r_\eta(c)-r_\eta(d)-\tau)+| ||f_\eta(c)||-1|+| ||f_\eta(d)||-1| loss∃R.C⊆D(c,d,r)=max(0,∣∣fη(c)+fη(r)−fη(d)∣∣+rη(c)−rη(d)−τ)+∣∣∣fη(c)∣∣−1∣+∣∣∣fη(d)∣∣−1∣//半径约束的项
-
处理类与类之间的Disjoin关系
-
l
o
s
s
C
∩
D
⊆
⊥
(
c
,
d
,
e
)
=
max
(
0
,
r
η
(
c
)
+
r
η
(
d
)
−
∣
∣
f
η
(
c
)
+
f
η
(
d
)
∣
∣
+
τ
)
+
∣
∣
∣
f
η
(
c
)
∣
∣
−
1
∣
+
∣
∣
∣
f
η
(
d
)
∣
∣
−
1
∣
loss_{ C\cap D\subseteq \bot }(c,d,e)=\max(0,r_\eta(c)+r_\eta(d)-||f_{\eta}(c)+f_\eta(d)||+\tau)+| ||f_\eta(c)||-1|+| ||f_\eta(d)||-1|
lossC∩D⊆⊥(c,d,e)=max(0,rη(c)+rη(d)−∣∣fη(c)+fη(d)∣∣+τ)+∣∣∣fη(c)∣∣−1∣+∣∣∣fη(d)∣∣−1∣
(3)Quantum Embedding
-
l
o
s
s
C
∩
D
⊆
⊥
(
c
,
d
,
e
)
=
max
(
0
,
r
η
(
c
)
+
r
η
(
d
)
−
∣
∣
f
η
(
c
)
+
f
η
(
d
)
∣
∣
+
τ
)
+
∣
∣
∣
f
η
(
c
)
∣
∣
−
1
∣
+
∣
∣
∣
f
η
(
d
)
∣
∣
−
1
∣
loss_{ C\cap D\subseteq \bot }(c,d,e)=\max(0,r_\eta(c)+r_\eta(d)-||f_{\eta}(c)+f_\eta(d)||+\tau)+| ||f_\eta(c)||-1|+| ||f_\eta(d)||-1|
lossC∩D⊆⊥(c,d,e)=max(0,rη(c)+rη(d)−∣∣fη(c)+fη(d)∣∣+τ)+∣∣∣fη(c)∣∣−1∣+∣∣∣fη(d)∣∣−1∣
-
①该模型借用了量子逻辑理论,将所有的层次关系都视为基于量子理论表示的向量空间之间的层次关系。因而子概念与子关系的表示就在其父概念和父关系所对应的空间内。实体及其按照某种关系的组合也落在所属于的概念类的空间内。
(4)Onto2Vec & OPA2Vec & OWL2Vec
- 主要思想:将本体转化一个图,每个类或概念对应图中一个节点,然后用类似于Graph Embedding中随机游走的方式获得本体概念的节点序列,再运用Skip Gram架构或连续磁带模型CBOW学习每个节点的表示。
- 缺点:并未捕获本体概念层更深层次的概念:原因在于类似于Skip Gram模型都只能捕获概念与概念的贡献关系,而非逻辑关系。
(5)JOIE模型——增强实力层的关系推理
①JOIE模型区分本体视图ontological view和实例视图instance view。本体视图主要关注Tbox层的类及关系的描述,实例视图则主要关注实体及实体之间关系的描述。
②JOIE模型基本思想:两种视图区分开,并结合进行学习,而且侧重用本体视图的学习过程来加强实例视图的学习。
- 跨视图的模型学习,即跨本体和实例两个视图的学习,使用相应的技术,技术有如下:
- 交叉视图分组技术:强制将两个视图放入同一个空间进行学习;
- 交叉视图转换技术:通过非线性变换过程实现从实例嵌入空间到本体嵌入空间的转化。
- 视图类的模型学习,即本体视图和实例视图本身的学习。
(6)MuPP
①该模型通过学习本体概念层次的知识增强实例层表示学习的模型。其利用双曲几何模型来建模本体概念的层次结构。
利用双曲几何模型的原因在于:
(一)在双曲空间中,表面积的增长是呈指数级的,而在欧几里得德空间中,球的表面积会随半径的增加而呈多项式增加。因而意味着,从本体概念层次书的根部节点向外扩展,会拥有更多的空间来区分叶节点。
(二)利用双曲几何模型能够使用该模型使用40维得到的准确率比欧式模型用100~200维向量的结果差不多。进而大大节省了空间维度和存储的容量。
②双曲几何建模本体的示例
三、总结
- 在知识图谱上可以完成包括演绎推理、归纳推理、溯因推理(未介绍)、类比推理等多种推理形式,针对不同的问题需要可选择不同的推理技术。
- 演绎推理精确、可解释,但需要人工定义推理逻辑,缺乏可扩展性。归纳推理可充分利用大数据的优势,更多依靠机器来学习和总结推理逻辑。
- 知识图谱归纳推理主要分为基于嵌入学习、基于规则学习和基于图神经网络等多种方法,需要结合项目的要求以及数据的特征综合应用。