知识表示学习

目的:学习出知识库中实体和关系的低维的稠密的向量

深度学习方法

SE模型

结果为一个数值
  • 该公式衡量了在k关系下头实体和尾部实体的相似程度。

深度学习建模

  • 已有数据
    知识库中的很多的正例三元组


    选正样本
  • 构建负样本
    把正确的头实体随机替换掉
    把尾实体随机替换掉


    构建负样本
  • 设计损失函数


    使得正样本的得分尽可能大

    如果负样本得分大就取0,正样本得分大就取loss(f(正)-f(负))

  • 初始化向量约束


    约束

你要有一个评分函数Sk,后续的跟新算法改变Sk函数就行,就是评价在k关系下评价两个实体的相似程度的函数。

深度学习建模

  • 三种方法改进评分函数


    单层神经网络

    缺点:依旧无法改变两个实体向量同时更新


    最简单,效果不错
能量模型

能量模型图

能量模型结果

tensor神经网络

  • 什么是tensor张量


    利用邻接矩阵学习
整体的计算流程

张量分解

目的把三元组做矩阵分解

  • 分解公式:


    张量分解公式

    图示

    损失函数


    加上约束

translation based模型

TransE

思想

评分函数:头实体向量+关系-尾部实体向量,使得评分函数最小


公式

构建流程
  • 缺点: 一对多,和多对一的效果比较差,多对多也不好

以下所有的改进都是针对这些缺点

TransH

评分函数,不仅仅是一个向量相加的关系,把关系映射到超平面上


图例

缺点:依旧在一个空间

TransR

图示

利用聚类重新进行训练

TransD

图例
  • 头实体和尾实体不对称
    一个实体不同的关系对应的不同尾实体,

Transpace和TransG

TransG
转化为稀疏矩阵

KG2E

把实体关系映射成高斯分布


图示

推荐阅读更多精彩内容