当前位置:网站首页>[论文阅读] 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表示进行内积:
参考:
- CKAN论文笔记:https://zhuanlan.zhihu.com/p/181475023
附:
两张图
边栏推荐
- Generics, generic defects and application scenarios that 90% of people don't understand
- Applet image height adaptation and setting text line height
- The essence of persuasion is to remove obstacles
- Apache DolphinScheduler 系统架构设计
- Analysis on the wallet system architecture of Baidu trading platform
- 钉钉、企微、飞书学会赚钱了吗?
- Six simple cases of QT
- Tianlong Babu TLBB series - questions about skill cooling and the number of attack ranges
- Swift saves an array of class objects with userdefaults and nssecurecoding
- Are databases more popular as they get older?
猜你喜欢
Roll up, break through 35 year old anxiety, and animate the CPU to record the function call process
ArcGIS Pro 创建要素
[technical live broadcast] how to rewrite tdengine code from 0 to 1 with vscode
Evolution of Baidu intelligent applet patrol scheduling scheme
90%的人都不懂的泛型,泛型的缺陷和应用场景
ConstraintLayout官方提供圆角ImageFilterView
To bring Euler's innovation to the world, SUSE should be the guide
How to get the STW (pause) time of GC (garbage collector)?
[NTIRE 2022]Residual Local Feature Network for Efficient Super-Resolution
【小技巧】獲取matlab中cdfplot函數的x軸,y軸的數值
随机推荐
Why don't you recommend using products like mongodb to replace time series databases?
To bring Euler's innovation to the world, SUSE should be the guide
Coffeescript Chinese character to pinyin code
Zblogphp breadcrumb navigation code
天龙八部TLBB系列 - 关于包裹掉落的物品
Wechat applet - simple diet recommendation (2)
Analysis on the wallet system architecture of Baidu trading platform
Using directive in angualr2 to realize that the picture size changes with the window size
Application of data modeling based on wide table
[NTIRE 2022]Residual Local Feature Network for Efficient Super-Resolution
The king of pirated Dall · e? 50000 images per day, crowded hugging face server, and openai ordered to change its name
NCP1342芯片替代料PN8213 65W氮化镓充电器方案
Tdengine connector goes online Google Data Studio app store
Are databases more popular as they get older?
如何获取GC(垃圾回收器)的STW(暂停)时间?
自动化规范检查软件如何发展而来?
Flutter development: a way to solve the problem of blank space on the top of listview
Data visualization platform based on template configuration
[C language] the use of dynamic memory development "malloc"
[200 opencv routines] 219 Add digital watermark (blind watermark)