TransE
该模型将关系和实体表示为同一空间中的向量,给定事实 ( h , r , s ) (h,r,s) (h,r,s)关系 r r r 的向量 r r r被解释为头实体向量 h h h与尾实体向量 t t t之间的平移,因此嵌入实体 h h h和 t t t可以通过平移向量 r r r以低误差链接,即满足 h + r ≈ t h + r \approx t h+r≈t。
- TransE (Translating Embedding), an energy-based model for learning low-dimensional embeddings of entities.
- 核心思想:将 relationship 视为一个在 embedding space 的 translation。如果 
     
      
       
        
         (
        
        
         h
        
        
         ,
        
        
         r
        
        
         ,
        
        
         t
        
        
         )
        
       
       
        (h, r, t)
       
      
     (h,r,t) 存在,那么
     
      
       
        
         h
        
        
         +
        
        
         r
        
        
         ≈
        
        
         t
        
       
       
        h + r \approx t
       
      
     h+r≈t
 Motivation:一是在Knowledge Base中,层次化关系是非常常见的,translation是一种很自然表示它们之间变换。二是近期一些从 text 中学习 word embedding 的研究发现,一些不同类型的实体之间的 1-to-1 的 relationship 可以被 model 表示为在 embedding space 中的一种 translation
TransE训练算法如下:

输入参数
training set S: 用于训练的三元组集合,entity的集合为E,relationship的集合为L。
margin γ \gamma γ:损失函数中的间隔
每个entity或relationship中的embedding dim k。
训练过程
初始化:对于每个entity和relationship的embedding vector,用xavier_uniform 分布来初始化,然后对其实现l1 l2正则化。
loop:
-  在 entity embedding 被更新前进行一次归一化,这是通过人为增加 embedding 的 norm 来防止 loss 在训练过程中极小化 
-  Sample 出一个mini-batch的正样本集合 S b a t c h S_{batch} Sbatch 
-  将 T b a t c h T_{batch} Tbatch初始化为空集**,它表示本次 loop 用于训练 model 的数据集** 
-  for ( h , l , t ) ∈ S b a t c h (h,l,t) \in S_{batch} (h,l,t)∈Sbatchdo: - 根据构造的 ( h , l , t ) (h,l,t) (h,l,t)构造一个错误的三元组 ( h ′ , l , t ′ ) ( h^′ , l , t^′ ) (h′,l,t′)
- 将positive sample ( h , l , t ) (h,l,t) (h,l,t)和negative sample ( h ′ , l , t ′ ) ( h^′ , l , t^′ ) (h′,l,t′)加入到 T b a t c h T_{batch} Tbatch中。
 
-  计算 T b a t c h T_{batch} Tbatch每一对的positive sample和negative sample的loss,然后累加起来用于更新embedding matrix.每一对的loss计算方式为: 
  
关于margin γ \gamma γ的含义
其相当于是一个正确的triple和一个错误的triple的间隔修正,margin越大,则两个triple之前被修正的间隔就越大。则对embedding的修正就越严格。
 
错误三元组的构造方法
将 ( h , l , t ) (h,l,t) (h,l,t)中的头实体、尾实体和关系其中之一随机替换为其他实体或关系来得到。
评价指标

 
TransE的优缺点
与以往模型相比,其模型参数较少,计算复杂度低,却能直接建立实体和关系之间的复杂语义联系。在 WordNet 和 Freebase 等 dataset 上较以往模型的 performance 有了显著提升,特别是在大规模稀疏 KG 上,TransE 的性能尤其惊人
缺点
在处理复杂关系 
    
     
      
       
        (
       
       
        1
       
       
        −
       
       
        N
       
       
        、
       
       
        N
       
       
        −
       
       
        1
       
       
        和
       
       
        N
       
       
        −
       
       
        N
       
       
        )
       
      
      
       (1-N、N-1 和 N-N)
      
     
    (1−N、N−1和N−N)时,性能显著降低,这与 TransE 的模型假设有密切关系。假设有 (美国,总统,奥巴马)和(美国,总统,布什),这里的“总统”关系是典型的 1-N 的复杂关系,如果用 TransE 对其进行学习,则会有:
 
 那么这将会使奥巴马和布什的 vector 变得相同。所以由于这些复杂关系的存在,导致 TransE 学习得到的实体表示区分性较低。



















