您好,欢迎来到刀刀网。
搜索
您的当前位置:首页知识图谱的表示学习方法

知识图谱的表示学习方法

来源:刀刀网
知识图谱的表⽰学习⽅法

传统的知识图谱表⽰⽅法是采⽤OWL、RDF等本体语⾔进⾏描述;随着深度学习的发展与应⽤,我们期望采⽤⼀种更为简单的⽅式表⽰,那就是【向量】,采⽤向量形式可以⽅便我们进⾏之后的各种⼯作,⽐如:推理,所以,我们现在的⽬标就是把每条简单的三元组< subject,relation, object > 编码为⼀个低维分布式向量。

【表⽰学习】 :表学习旨在将研究对象的语义信息表⽰为稠密低维实体向量,知识表⽰学习主要是⾯对知识图谱中的试题和关系进⾏表⽰学习,使⽤建模⽅法将实体和关系在低维稠密向量空间中,然后进⾏计算和推理,即--简单说:将三元组表⽰成向量的这个过程就称为表⽰学习。

知识表⽰的⼏个代模型:翻译模型、距离模型、单层神经⽹络模型、能量模型、双线性模型、张量神经⽹络模型、矩阵分解模型。

transE模型属于翻译模型:将每个三元组实例(head,relation,tail)中的关系relation看做是从实体head到实体tail的翻译,通过不断地调整h,r和t(head,relation,tail的向量)使(h+r)尽可能的与t相等,即h+r=t.

TransE是基于实体与关系的分布式向量,受Word2vec启发,利⽤了词向量的平移不变现象。例如:C(king)-C(queen)~~C(man)-C(woman) 其中,C(W)就是word2vec学习到的词向量表⽰。

TransE定义了⼀个距离函数d(h+r,t),它⽤来衡量h+r和t之间的距离,在实际应⽤中可以使⽤L1或L2范数,在模型的训练过程中,transE采⽤最⼤间隔⽅法,最⼩化⽬标函数,⽬标函数如下:

其中,S是知识库中的三元组即训练集,S'是负采样的三元组,通过替换h或t所得,是⼈为随机⽣成的,y是取值⼤于0的间隔距离参数,是⼀个超参数,[x]+表⽰正值函数,即x>0时;[x]+=x;当x<=0时,[x]+=0。算法模型⽐较简单,梯度更新只需要计算距离d(h+r,t)和d(h'+r,t’)。这个过程和训练⼩狗⼀样,它做对了,就给⾻头吃,做错了,就打两下。模型训练过程:

(1)⾸先,确定训练集,超参数y,学习率λ

(2)初始化关系向量与实体向量,对于每⼀个向量的每⼀个维度在[-6/√k,-6/√k]内随机取⼀个值,k为低维向量的维数,对所有的向量初始化之后要进⾏归⼀化。

(3)进⼊循环:采⽤minibatch,⼀批⼀批的训练会加快训练速度,对于每批数据进⾏负采样(将训练集中的三元组某⼀实体随机替换掉),T_batch初始为⼀个空列表,然后向其添加由元组对(原三元组,打碎的三元组)组成的列表:

拿到T_batch后进⾏训练,采⽤梯度下降进⾏调参。

TransE算法(Translating Embedding)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务