当前位置:网站首页>[论文阅读] CKAN: Collaborative Knowledge-aware Atentive Network for Recommender Systems

[论文阅读] CKAN: Collaborative Knowledge-aware Atentive Network for Recommender Systems

2022-07-05 09:46:00 让我安静会

原文:CKAN
代码:https://github.com/weberrr/CKAN

What: 提出CKAN,一种将协作信号知识关联自然结合的方法。
Why: 现有方法只是关注了KG中的知识关联(knowledge associations),忽略了协作信号( collaborative signals),这往往是user-item交互中缺乏的。
How: 提出异质传播策略,将两种信息自然的编码,再应用知识感知的注意机制来区分不同的基于知识的邻居的贡献。
Result:
Conclusion:

CKAN提出之前的方法没有同时考虑【知识关联】和【协作信号】这两种异质信息,因此尝试通过将两种信息自然编码并结合。

Model

在这里插入图片描述

1. Heterogeneous Propagation

1.1 协作传播

KG图:
在这里插入图片描述
item-entity图:
在这里插入图片描述

collaboration propagation

【user由交互过的item的相关实体来表示、item由交互过的user交互过的item的相关实体来表示】

【初始的用户表示(initial entity set of user)】:(由user交互过的item来表示)
在这里插入图片描述
其中Yuv=1表示用户u和物品v有交互;e是实体,(v,e)表示物品v和物品e之间有联系。
这里表示,【用户】是由其交互过的item,这些item相关的那些实体entity来表示的。【用实体表示】

多个用户交互了同一物品,它们之间是【用户的协作邻居】。
多个物品被同一用户交互,它们之间是【物品的协作邻居】。

物品的协作邻居:
在这里插入图片描述
Vu指物品的协作邻居,vu指Vu这个set中的一个个物品。物品的协作邻居,即item1,item2都被user1交互了,item2是item1的物品协作邻居。用协作邻居相关的实体entity来表示的。【用实体表示】

【初始的物品表示 (initial entity set of item)】:(由item被交互的user的交互item来表示)

用物品的协作邻居和与其联系的实体来表示物品。

1.2 知识图传播

因此可以得到多层递归之后user和item的表示,l-th的尾实体,聚合了(l-1)-th的头实体h的信息。
(user和item的多层递归实体表示的通用表示形式)
在这里插入图片描述
同理,得到多层递归三元组表示的通用表示形式:
在这里插入图片描述
【the knowledgebased high-order interaction information of user and item is successfully captured】

2. Knowledge-aware Attentive Embedding

之前的操作通过用物品的实体表示user,用邻居物品的实体表示item,考虑了协作传播;再通过多层递归传播,考虑了知识图传播,得到了融合了头实体h和不同关系r的尾实体t,但是还想要进一步区分各个尾实体t之间的区别,因此加入注意力机制来区分各个融合了多层信息的尾实体t。

尾实体t的注意力嵌入表示:(由头实体h和关系r控制)
在这里插入图片描述
其中,
在这里插入图片描述
在这里插入图片描述
称其为注意力因子吧,它的计算过程如下:
在这里插入图片描述
并通过softmax进行归一化:
在这里插入图片描述
因此可以得到l-th的三元组的表示:(分为user和item,这里是通用表示)
在这里插入图片描述
可以看到计算l-th的三元组表示的时候,对该层中每一个三元组都进行注意力计算,相当于把该层的所有三元组进行聚合。

对于初始层(第0层),把user和item相对应的entity直接相加来表示:
在这里插入图片描述
作者认为最中心处与item直接相关的那些实体,与item在潜层最相近,因此把它们也与相加,来表示物品的origin:
在这里插入图片描述
因此可以得到user和item的additional representations:
在这里插入图片描述

3. Model Prediction

每一层强调不同的高阶连通性和用户偏好,因此对上述【user和item的additional representations】分别进行聚合,采用了3种不同的方式:
Sum aggregator:
在这里插入图片描述
Pooling aggregator:
在这里插入图片描述
Concat aggregator:
在这里插入图片描述
最近对聚合的到的user表示和item表示进行内积:
在这里插入图片描述

参考:

  1. CKAN论文笔记:https://zhuanlan.zhihu.com/p/181475023

附:
两张图
在这里插入图片描述
在这里插入图片描述

原网站

版权声明
本文为[让我安静会]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_31225201/article/details/125574218