TransE:Translating Embeddings for Modeling Multi-relational Data

Posted Facico

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TransE:Translating Embeddings for Modeling Multi-relational Data相关的知识,希望对你有一定的参考价值。

Translating Embeddings for Modeling Multi-relational Data

  • 目的即知识图谱提取成向量

知识图谱三元组

  • 一般形式(sub,rel,obj)
    • 如:(Barack Obama, place of birth, Hawai),这个关系就是Hawai是Barack Obama的place of birth
    • 这只是三元组的一种形式,从属、包含、什么什么是什么等等关系都能变成三元组

类似词向量的构建,这里希望将KG(knowledge graph)中的多关系数据构建embedding

TransE向量构建

TransE定义三元组 ( h , l , t ) (h,l,t) (h,l,t),即(head,relation,tail)

  • 这个三元组可以看作实体head到实体tail的转化
  • 所以向量构建目的为: h + l ≈ t h+l≈ t h+lt

三元组距离

  • 通过量化三元组来训练
  • 这里可以使用L1范数或L2范数
    d ( h + l , t ) = ∣ h + l − t ∣ d ( h + l , t ) = ∣ ∣ h + l − t ∣ ∣ 2 d(h+l,t)=|h+l-t|\\\\ d(h+l,t)=||h+l-t||_2 d(h+l,t)=h+ltd(h+l,t)=h+lt2

TransE训练


初始化时先归一化处理

  • 循环

    • 每个实体进行相同的归一化处理
    • 选取一定的正样本 ( h , l , t ) ∈ S (h,l,t)\\in S (h,l,t)S
    • 选取一定的负样本 ( h ′ , l , t ′ ) ∈ S ′ (h',l,t')\\in S' (h,l,t)S
    • 使用hinge loss来使得正负样本尽量的分离
      L = ∑ ( h , l , t ) ∈ S ∑ ( h ′ , l , t ′ ) ∈ S ′ [ γ + d ( h + l , t ) − d ( h ′ + l , t ′ ) ] + \\mathcalL=\\sum_(h,l,t)\\in S \\sum_(h',l,t')\\in S'[\\gamma + d(h+l,t)-d(h'+l,t')]_+ L=(h,l,t)S(h,l,t)S[γ+d(h+l,t)d(h+l,t)]+
      • [ ] + []_+ []+ m a x ( x , 0 ) max(x,0) max(x,0)
  • S ′ = ( h ′ , l , t ) ∣ h ′ ∈ E ∪ ( h , l , t ′ ) ∣ t ′ ∈ E S'=\\(h',l,t)|h'\\in E\\∪\\(h,l,t')|t'\\in E\\ S=(h,l,t)hE(h,l,t)tE

  • γ \\gamma γ是间隔修正,越大修正的越多,embedding修正越严格

    • 以L2范数为例
      ∂ l o s s ∂ h = ∂ [ γ + ( h + l − t ) 2 − ( h ′ + l − t ′ ) 2 ] + ∂ h = 2 ( h + l − t ) γ + ( h + l − t ) 2 − ( h ′ + l − t ′ ) 2 ≥ 0 0 γ + ( h + l − t ) 2 − ( h ′ + l − t ′ ) 2 ≤ 0 \\frac\\partial loss\\partial h=\\frac\\partial [\\gamma+(h+l-t)^2-(h'+l-t')^2]_+\\partial h\\\\ = \\left\\\\beginaligned 2(h+l-t)&& \\gamma+(h+l-t)^2-(h'+l-t')^2\\geq 0\\\\ 0&& \\gamma+(h+l-t)^2-(h'+l-t')^2\\leq 0\\\\ \\endaligned\\right. hloss=h[γ+(h+lt)2(h+lt)2]+=2(h+lt)0γ+(h+lt)2(h+lt)20γ+(h+lt)2(h+lt)20

实验


  • 在当时效果很不错

以上是关于TransE:Translating Embeddings for Modeling Multi-relational Data的主要内容,如果未能解决你的问题,请参考以下文章

TransE:Translating Embeddings for Modeling Multi-relational Data

TransE:Translating Embeddings for Modeling Multi-relational Data

TransE:Translating Embeddings for Modeling Multi-relational Data

论文解读:(TransH)Knowledge Graph Embedding by Translating on Hyperplanes

TransE模型(tensorflow框架)

Translating Skills