Explainable Reasoning over Knowledge Graphs for Recommendation基于知识图谱路径推理的可解释推荐

摘要

    近年来,将知识图引入推荐系统引起了越来越多的关注。通过研究知识图中的相互关系,可以发现用户与项目之间的连接是路径,这为用户与项目之间的交互提供了丰富和互补的信息。这种连通性不仅揭示了实体和关系的语义,而且有助于理解用户的兴趣。然而,现有的工作还没有完全探索这种连接来推断用户的偏好,特别是在建模路径内部的顺序依赖关系和整体语义方面。

    本文提出了一种新的知识感知路径递归网络(KPRN)模型,利用知识图进行推荐。KPRN可以通过组合实体和关系的语义来生成路径表示。通过利用路径中的顺序依赖关系,我们允许对路径进行有效的推理,从而推断用户-项交互的基本原理。此外,我们设计了一个新的加权池操作来区分连接用户和项目的不同路径的优势,使我们的模型具有一定的可解释性。我们在两个关于电影和音乐的数据集上进行了广泛的实验,证明了与最先进的解决方案嵌入的协作知识库与神经因子分解机器的重要提高。

以下纯属个人理解,如果有错请大家指正:

  •        把Kg运用到推荐系统中,粗略分类主要有Embedding-based 和Path-based两种方法。而且,Kg可以增强推荐的可解释性。

Embedding-based主要是学习item的表示,缺点是 一,不能准确学习到user-item之间的implicit关系;二、缺少推荐的可解释性

Path-based主要是运用meta-paths(元路径):作为实体类型的序列,不利用关于path的推理,而是使用user-item关联更新user-item相似性,但需要领域专业知识。

  •         作者提出了KPRN(Knowledge-aware Path Recurrent Network):不仅同时考虑实体和关系来生成路径的表示,还参考用户偏好进行路径推理  

       作者的方法是模拟连接一对user-item的有顺序依赖的实体和复杂关系的路径,为了增强可解释性,在推测用户喜好的时候,可以区别不同路径的不同的贡献。其中,pooling操作能够区分不同路径对预测的贡献。

  •          任务

Explainable Reasoning over Knowledge Graphs for Recommendation基于知识图谱路径推理的可解释推荐_第1张图片

  •         具体的模型的设置

Explainable Reasoning over Knowledge Graphs for Recommendation基于知识图谱路径推理的可解释推荐_第2张图片

1. 下面解释一下“Embedding”:参考https://blog.csdn.net/weixin_42078618/article/details/82999906

       假设,我们中文,一共只有10个字。。。只是假设啊,那么我们用0-9就可以表示完

        比如,这十个字就是“我从哪里来,要到何处去”

        其分别对应“0-9”,如下:

         我  从  哪  里  来  要  到  何  处  去

        0    1    2    3   4    5   6    7    8   9

        那么,其实我们只用一个列表就能表示所有的对话

         如:我  从  哪  里  来  要  到  何  处  去  ——>>>[0 1 2 3 4 5 6 7 8 9]

     或:我  从  何  处  来  要  到  哪  里  去  ——>>>[0 1 7 8 4 5 6 2 3 9]

# 我从哪里来,要到何处去
[
[1 0 0 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0 0 0]
[0 0 1 0 0 0 0 0 0 0]
[0 0 0 1 0 0 0 0 0 0]
[0 0 0 0 1 0 0 0 0 0]
[0 0 0 0 0 1 0 0 0 0]
[0 0 0 0 0 0 1 0 0 0]
[0 0 0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 0 0 1]
]
 
# 我从何处来,要到哪里去
[
[1 0 0 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 1 0 0 0 0 0]
[0 0 0 0 0 1 0 0 0 0]
[0 0 0 0 0 0 1 0 0 0]
[0 0 1 0 0 0 0 0 0 0]
[0 0 0 1 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 1]
]

     这样就把每一系列的文本整合成一个稀疏矩阵。

所以,one-hot编码的优势就体现出来了,计算方便快捷、表达能力强。然而,缺点也随着来了。
它最明显的缺点。过于稀疏时,过度占用资源。

Embedding层横空出世。

Explainable Reasoning over Knowledge Graphs for Recommendation基于知识图谱路径推理的可解释推荐_第3张图片

        假设:我们有一个2 x 6的矩阵,然后乘上一个6 x 3的矩阵后,变成了一个2 x 3的矩阵。

         先不管它什么意思,这个过程,我们把一个12个元素的矩阵变成6个元素的矩阵,直观上,大小是不是缩小了一半?

       也许你已经想到了!!!对!!!不管你想的对不对,但是embedding层,在某种程度上,就是用来降维的,降维的原理就          是矩阵乘法。在卷积网络中,可以理解为特殊全连接层操作,跟1x1卷积核异曲同工!!!
       中间那个10W X 20的矩阵,可以理解为查询表,也可以理解为映射表,也可以理解为过度表,都可以。

2.LSTM:(Long Short-Term Memory长短期记忆)

参考https://mp.weixin.qq.com/s/eN1j7VGe5TODHBZcqtgJIA

你可能感兴趣的:(Explainable Reasoning over Knowledge Graphs for Recommendation基于知识图谱路径推理的可解释推荐)