目的:学习出知识库中实体和关系的低维的稠密的向量
深度学习方法
SE模型
结果为一个数值- 该公式衡量了在k关系下头实体和尾部实体的相似程度。
深度学习建模
-
已有数据
知识库中的很多的正例三元组
选正样本 -
构建负样本
把正确的头实体随机替换掉
把尾实体随机替换掉
构建负样本 -
设计损失函数
使得正样本的得分尽可能大
如果负样本得分大就取0,正样本得分大就取loss(f(正)-f(负))
-
初始化向量约束
约束
你要有一个评分函数Sk,后续的跟新算法改变Sk函数就行,就是评价在k关系下评价两个实体的相似程度的函数。
深度学习建模
-
三种方法改进评分函数
单层神经网络
缺点:依旧无法改变两个实体向量同时更新
最简单,效果不错
能量模型图
能量模型结果
tensor神经网络
-
什么是tensor张量
利用邻接矩阵学习
张量分解
目的把三元组做矩阵分解
-
分解公式:
张量分解公式
图示
损失函数
加上约束
translation based模型
TransE
思想评分函数:头实体向量+关系-尾部实体向量,使得评分函数最小
公式
构建流程
- 缺点: 一对多,和多对一的效果比较差,多对多也不好
以下所有的改进都是针对这些缺点
TransH
评分函数,不仅仅是一个向量相加的关系,把关系映射到超平面上
图例
缺点:依旧在一个空间
TransR
图示利用聚类重新进行训练
TransD
图例- 头实体和尾实体不对称
一个实体不同的关系对应的不同尾实体,
Transpace和TransG
TransG 转化为稀疏矩阵KG2E
把实体关系映射成高斯分布
图示
网友评论