知识图谱笔记:TransE

1 知识图谱介绍

  • 一条知识图谱可以表示为一个三元组(sub,rel,obj)。
    • 举个例子:小明的爸爸是大明,表示成三元组是(小明,爸爸,大明)。
    • 前者是主体,中间是关系,后者是客体。
    • 主体和客体统称为实体(entity)。
    • 关系有一个属性,不可逆,也就是说主体和客体不能颠倒过来。
  • 知识图谱的集合,链接起来成为一个图(graph)
    • 每个节点是一个一个实体
    • 每条边是一个关系,或者说是一个事实(fact)
      • 有向图,主体指向客体。
  • 正式地,使用(h,r,t)来表示三元组
    • h表示头实体
    • r表示关系
    • t表示尾实体

2 知识表示

  • 知识表示是让知识图谱的实体和关系向量化
    • 将知识库中所有的实体、关系表示成一个低维度、稠密的向量

3 TransE

  • TransE算法认为,一个正确的三元组的embedding(h,r,t)会满足矢量的加法
    • \overrightarrow{h}+\overrightarrow{r}=\overrightarrow{t}

知识图谱笔记:TransE_第1张图片

  • 如果是一个错误的三元组,那么它们的embedding之间就不满足这种关系

  • ——>定义一个距离d(\vec x , \vec y)来表示两个向量之间的距离
    • 对一个正确的三元组(h,r,t)来说,距离d(\overrightarrow{h}+\overrightarrow{r},\overrightarrow{t})越小越好
    • 对于一个错误的三元组(h',r,t'),距离d(\overrightarrow{h'}+\overrightarrow{r},\overrightarrow{t'})越大越好
    • 所以目标函数为:
        • S——正确的三元组集合
        • S'——错误的三元组集合
        • γ——正负样本距离的间距(一个常数)
        • [x]+——max(0,x)
        • 通常为了方便训练并避免过拟合,会加上约束条件

 参考内容:TransE算法详解_MonkeyDSummer的博客-CSDN博客

你可能感兴趣的:(机器学习,知识图谱,笔记,人工智能)