机器学习项目(六)医疗知识图谱构建(五)

图表征学习

TransX系列算法
空间传递不变性
Queen-women+man = king

TransE
对于所有的实体和关系随机初始化一个向量,使得实体和关系在同一空间内表征,使得每个正确的三元组可以从头实体通过关系翻译到尾实体上,定义从头实体翻译到尾实体之后与标注尾实体之间的距离为“势能差”,找到整体最小的势能差的实体和关系向量。
在这里插入图片描述
存在的问题
TransE模型很简单也带来一个很大的问题就是他只适合处理一对一的关系,举例来说(华科、地点、武汉)和(黄鹤楼、地点、武汉)出现在KG中时,TransE的表示会将“华科”和“黄鹤楼”的向量表示计算的很接近,但是实际上这两者之间的关系并不大。

TransH怎么操作
它解决了一对多和多对一的关系问题,基本思想是针对每个关系r,都把实体投影到有关于这个r的一个空间上去,在这个r的空间上,做TransE。实体、关系在同一个空间内,但是需要做一次投影
hwr=wThwh_{wr} = w^T hw
在这里插入图片描述

TransE和TransH存在什么问题
TransE和TransH模型都假设实体和关系是在同一个语义空间的向量,这样相似的实体会在空间中相近的位置,然而每一个实体都可以有很多方面,而不同的关系关注的是实体不同的方面,所以TransR对每个三元组,首先应将实体投影到对应的关系空间中,然后再建立从头实体到尾实体的翻译关系。
实体和关系在不同的空间中

TransR怎么操作
通过一个转换矩阵,将实体转换到关系所在的空间中,做TransE
hr=hMrh_r = hM_r
tr=tMrt_r = tM_r
在这里插入图片描述

TransE、TransH、TransR存在什么问题
1.在同一个关系r下,投、尾实体共享相同的变换矩阵,然而,一个关系的头、尾实体的类型或属性可能差异巨大。例如,对于三元组(美国、总统、奥巴马),美国和奥巴马的类型完全不同,一个是国家,一个是人物
2.从实体空间到关系空间的投影是实体和关系之间的交互过程,因此TransR让变换矩阵仅与关系有关是不合理的
3.与TeansE和TransH相比,TransR由于引入了空间投影,使得TransR模型参数急剧增加,计算复杂度大大提高

TransD怎么操作
一个实体用两个向量来表示,一个用来构建转移空间,一个用来表示语义内容
Mrh=rphpT+IMrt=rptpT+I\begin{array}{l} M_{r h}=r_{p} h_{p}^{T}+I \\ M_{r t}=r_{p} t_{p}^{T}+I \end{array}
h=Mrhh=hpThrp+[hT,0T]Tt=Mrht=tpTtrp+[tT,0T]T\begin{aligned} h_{\perp} &=M_{r h} h=h_{p}^{T} h r_{p}+\left[h^{T}, 0^{T}\right]^{T} \\ t_{\perp} &=M_{r h} t=t_{p}^{T} t r_{p}+\left[t^{T}, 0^{T}\right]^{T} \end{aligned}

RandomWalk系列算法
在不同的空间内对实体的关系进行表征,利用传递不变性,实现从头实体到尾实体的翻译

DeepWalk
DeepWalk系列算法思路
如何在图谱中构建上下文。借助语言建模word2vec中的一个模型skip-gram来学习结点的向量表示。
做法
通过不同的游走方法构建不同方式的上下文,实现词向量。
将网络中的节点模拟为语言模型中的单词,而节点的序列(可由随机游走得到)模拟为语言中的句子,作为skip-gram的输入

RandomWalk如何实现
随机游走:深度游走,广度游走
词向量编码:skip-gram

在这里插入图片描述

Node2vector如何实现
随机游走:深度游走和广度游走基于概率控制

词向量编码:skip-gram
在这里插入图片描述

struc2vec如何实现
随机游走:(1)根据不同距离的邻居信息,分别计算计算节点对的结构
(2)构造多层带权有向图M,其中每层都是带权无向图,层与层之间是有向的
(3)在M中随机游走,构造上下文序列
词向量编码:skip-gram
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章