当前位置:网站首页>[论文阅读] 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
附:
两张图
边栏推荐
- Advanced opencv:bgr pixel intensity map
- Analysis on the wallet system architecture of Baidu trading platform
- 盗版DALL·E成梗图之王?日产5万张图像,挤爆抱抱脸服务器,OpenAI勒令改名
- 程序员搞开源,读什么书最合适?
- Using directive in angualr2 to realize that the picture size changes with the window size
- cent7安装Oracle数据库报错
- Unity particle special effects series - the poison spray preform is ready, and the unitypackage package is directly used - on
- Node red series (29): use slider and chart nodes to realize double broken line time series diagram
- 单片机原理与接口技术(ESP8266/ESP32)机器人类草稿
- Swift tableview style (I) system basic
猜你喜欢
Design and exploration of Baidu comment Center
ConstraintLayout官方提供圆角ImageFilterView
Cross process communication Aidl
Application of data modeling based on wide table
TDengine × Intel edge insight software package accelerates the digital transformation of traditional industries
Single chip microcomputer principle and Interface Technology (esp8266/esp32) machine human draft
To bring Euler's innovation to the world, SUSE should be the guide
Six simple cases of QT
RMS TO EAP通过MQTT简单实现
自动化规范检查软件如何发展而来?
随机推荐
Swift set pickerview to white on black background
Node-RED系列(二九):使用slider与chart节点来实现双折线时间序列图
天龙八部TLBB系列 - 关于包裹掉落的物品
[app packaging error] to proceed, either fix the issues identified by lint, or modify your build script as follow
A high density 256 channel electrode cap for dry EEG
Theme. AppCompat. Light. Darkactionbar not found
Design and exploration of Baidu comment Center
【 conseils 】 obtenir les valeurs des axes X et y de la fonction cdfplot dans MATLAB
[tips] get the x-axis and y-axis values of cdfplot function in MATLAB
Optimize database queries using the cursor object of SQLite
(1) Complete the new construction of station in Niagara vykon N4 supervisor 4.8 software
Unity粒子特效系列-毒液喷射预制体做好了,unitypackage包直接用 -下
RMS to EAP is simply implemented through mqtt
高级 OpenCV:BGR 像素强度图
自动化规范检查软件如何发展而来?
To bring Euler's innovation to the world, SUSE should be the guide
ArcGIS Pro creating features
ConstraintLayout的流式布局Flow
Those who are good at using soldiers, hide in the invisible, and explain the best promotional value works in depth in 90 minutes
Kotlin compose multiple item scrolling