1 知识图谱介绍
- 一条知识图谱可以表示为一个三元组(sub,rel,obj)。 
  
- 举个例子:小明的爸爸是大明,表示成三元组是(小明,爸爸,大明)。
 - 前者是主体,中间是关系,后者是客体。
 - 主体和客体统称为实体(entity)。
 - 关系有一个属性,不可逆,也就是说主体和客体不能颠倒过来。
 
 - 知识图谱的集合,链接起来成为一个图(graph) 
  
- 每个节点是一个一个实体
 - 每条边是一个关系,或者说是一个事实(fact) 
    
- 有向图,主体指向客体。
 
 
 - 正式地,使用(h,r,t)来表示三元组 
  
- h表示头实体
 - r表示关系
 - t表示尾实体
 
 
2 知识表示
- 知识表示是让知识图谱的实体和关系向量化 
  
- 将知识库中所有的实体、关系表示成一个低维度、稠密的向量
 
 
3 TransE
- TransE算法认为,一个正确的三元组的embedding(h,r,t)会满足矢量的加法 
  
 

- 如果是一个错误的三元组,那么它们的embedding之间就不满足这种关系
 
- ——>定义一个距离
来表示两个向量之间的距离
- 对一个正确的三元组(h,r,t)来说,距离
越小越好
 - 对于一个错误的三元组(h',r,t'),距离
越大越好
 - 所以目标函数为: 
    
 
      - S——正确的三元组集合
 - S'——错误的三元组集合
 - γ——正负样本距离的间距(一个常数)
 - [x]+——max(0,x)
 - 通常为了方便训练并避免过拟合,会加上约束条件 
        
 
 
 - 对一个正确的三元组(h,r,t)来说,距离
 
参考内容:TransE算法详解_MonkeyDSummer的博客-CSDN博客



















