【TransE模型】基于分布式表示推理

TransE [ Bordes et al., 2013] 是最具代表性的位移距离模型, 其核心思想是实体和关系间的位移假设:  三元组中头实体向量表示h与关系的向量表示r之和与尾实体向量表示 t越接近越好, 即 h + r ≈ t

TransE基于实体和关系的分布式向量表示,将每个三元组实例(head,relation,tail)中的关系relation看做从实体head到实体tail的翻译,通过不断调整h、r和t(head、relation和tail的向量),使(h + r) 尽可能与 t 相等,即 h + r = t。
 代码的实现

项目数据采用FB15数据集实现TransE模型,代码来源:https://github.com/Anery/transE 

实体数据:entity2id,第一列为实体名字,第二列为实体ID

 关系数据:relation2id,第一列为关联名字,第二列为关系ID

(h,t,r)数据,包括三列,第一列H实体名字,第二列T实体名字,第三列R关系名字。分为训练集,验证集和测试集

  • 首先,TransE模型采用k维随机均匀分布对每个实体和每个关系进行向量初始化
  • 然后,批训练数据集构建,从训练集中随机选出正面样本(h,r,t),然后基于正面样本,保持正面样本中h,r或r,t不变,改变t或h,获得负面样本,合并一起构成批训练数据集。
  • 表示向量更新,采用随机梯度下降法,对批训练数据集中正面样本(h,r,t)和负样本的向量表示进行更新。update_embeddings函数中,要对correct triplet和corrupted triplet都进行更新(因为不同时替换头尾实体,所以在每步更新时重叠的实体要更新两次)
  • TranE直接对向量表示进行训练,每个实体(head或tail)对应一个k维向量,每个关系对应一个k维向量,所有的k维向量即为TransE模型的参数,需要训练的参数。

 TransE模型训练 :

TransE模型的目标函数:

L1范数,也称为曼哈顿距离,使用L1范数可以衡量两个向量之间的差异性,也就是两个向量的距离

L2范数,也称为欧式距离,L2范数也可以用来衡量两个向量之间的差距

其中距离度量方式有L1范数和L2范数两种。在测试时,以⼀个三元组为例,用语料中所有实体替换当前三元组的头实体计算距离,将结果按升序排序,用正确三元组的排名情况来评估学习效果,同理,对尾实体也这样做。

度量标准选择hits@10和mean rank,前者代表命中前10的次数/总查询次数,后者代表正确结果排名之和/总查询次数。

测试结果:

超参选择:对FB15k数据集,epoch选了20,可以增加epoch来提高模型,nbatches选了400(训练最快),embedding_dim=50, learning_rate=0.01,margin=1。

参考文章:

https://blog.csdn.net/shunaoxi2313/article/details/89766467

https://blog.csdn.net/weixin_44023339/article/details/100080669

推荐系统作为知识图谱推理技术的一个重要应用场景,其目的是为了提高推荐的准确性和个性化程度。分布式表示(也称为嵌入表示)是一种将实体和关系转换成连续向量空间中的表示形式的技术。在推荐系统中应用知识图谱的分布式表示,能够有效地捕捉实体和关系的语义信息,进而提升推荐质量。 参考资源链接:[知识图谱推理技术详解:方法与应用](https://wenku.csdn.net/doc/1o1nwzx1mp?spm=1055.2569.3001.10343) 通过深度学习模型,如卷积神经网络(CNN)和循环神经网络(RNN),可以学习到知识图谱中实体和关系的复杂模式和结构。例如,在构建电影推荐系统时,可以将电影、导演、演员、类型等实体映射到向量空间中,然后通过神经网络模型学习它们之间的关系。深度学习模型能够捕捉到非线性和高阶特征,这对于理解用户的复杂偏好和兴趣模式至关重要。 在具体实施过程中,可以采用以下步骤: 1. 数据准备:收集用户行为数据、电影内容信息以及电影的元数据,将这些信息转化为知识图谱中的实体和关系。 2. 分布式表示学习:使用如TransE、DistMult等模型,将知识图谱中的实体和关系转换为向量形式,这些向量能够保持一定的语义和结构信息。 3. 推理模型构建:构建深度学习模型,如基于注意力机制的模型,这些模型能够学习到实体和关系的关联权重,并进行推理。 4. 推荐生成:根据学习到的表示模型推理,为用户推荐他们可能感兴趣的电影。 在这个过程中,深度学习模型的训练至关重要。通常会使用负采样技术来优化模型的训练过程,减少计算量并提高推理的准确性。 推荐系统中的知识图谱推理,不仅提高了推荐的准确度,还可以通过模型的解释性来增强用户的信任度。此外,分布式表示的学习为大规模知识图谱的应用提供了可能,使得推理过程不仅限于局部,而是能够考虑全局的复杂关系。 对于想要更深入了解知识图谱推理分布式表示的学习者,建议阅读《知识图谱推理技术详解:方法与应用》。这本资料详细介绍了不同类型的推理方法,包括分布式表示方法,并探讨了它们在推荐系统等实际应用中的潜力和挑战。 参考资源链接:[知识图谱推理技术详解:方法与应用](https://wenku.csdn.net/doc/1o1nwzx1mp?spm=1055.2569.3001.10343)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值