前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在推荐系统中玩转知识图谱

如何在推荐系统中玩转知识图谱

作者头像
圆圆的算法笔记
发布2022-09-22 11:40:17
6040
发布2022-09-22 11:40:17
举报

点关注,不迷路,定期更新干货算法笔记~

在推荐系统领域近几年的工作中,知识图谱被越来越多的应用进来。在推荐系统中引入知识图谱被验证会给user-item的预测效果带来比较明显的提升,一个主要原因在于通过知识图谱,可以挖掘到很多user-item历史交互行为中看不到的信息。知识图谱如何应用到推荐系统中呢?今天就给大家带来4篇顶会中典型的知识图谱应用到推荐系统的工作。

推荐阅读相关历史文章:

推荐系统大杀器——基于图学习的协同过滤

图表示学习经典工作梳理——基础篇

1

扩展item的实体信息

论文题目:KGAT: Knowledge Graph Attention Network for Recommendation(KDD 2019)

下载地址:https://arxiv.org/pdf/1905.07854.pdf

大多数CTR预估模型中都将每个样本视为单独的个体,没有建立样本之间的联系。例如下图的例子中,基于协同过滤的方法更关注与user1具有相同历史行为(即看过i1)的user;而一些基于深度学习的预估模型更关注和i1有相同属性的item。这两种类型的信息可以结合到一起进而泛化出更多的信息,即根据具有相同属性的e1泛化得到和u2、u3的关系。

本文通过将item的属性信息引入到user-item的图中,挖掘更高阶的交互信息,补充user-item二部图的信息缺失,建立更广阔的的联系。具体的实现方法主要包括构图、Embedding Layer、Information Propogation和Information Aggregation四个部分。

首先在构图上,根据user和item的交互行为构建user-item二部图,user和item如果有交互则建立边.。在此基础上,引入知识图谱,即将item的属性信息entity引入二部图中。

接下来,在Embedding Layer中,本文采用TransR将知识图谱中的关系relation和实体entity映射成一个向量。TransR是构建知识图谱embedding的一种常见方法(Trans系列方法),其核心目标是让头实体embedding加上关系embedding等于尾实体embedding,感兴趣的同学可以进一步深入了解。本文TransR的目的是生成知识图谱中实体和关系比较好的embedding,作为后续输入。

在得到实体和关系的embedding后,下一步是Information Propogation,即如何将图中的信息进行传播,以此获得更好的item或user embedding。本文采用的是类似graph attention network的思路,主要区别在于计算attention score时会将两个节点之间的关系embedding也加入,这样可以引入更多的信息,公式如下,对graph attention network不了解的同学可以参考之前的文章图表示学习经典工作梳理——基础篇

最后是Information Aggregation,融合节点原来的表示和上面propogation的表示,包括相加+非线性全连接、拼接+非线性全连接,本文额外提出一种从多个角度融合的方式,直接度量两个表示的距离关系:

在最终的预测上,使用上面过程生成的user embedding和item embedding做内积,计算user和item之间是否会进行交互。

2

知识图谱补全+预估联合学习

论文题目:Unifying Knowledge Graph Learning and Recommendation: Towards a Better Understanding of User Preferences(WWW 2019)

下载地址:https://arxiv.org/pdf/1902.06236.pdf

本文主要针对的是当知识图谱不完整时,如何将其应用到推荐系统,核心是采用推荐任务+知识图谱补全任务联合学习。现实中的知识图谱一般都是不完整的,这会影响知识图谱在推荐系统中使用的效果。比如有个电影和导员的关系在知识图谱中没有,就会导致即使一个用户点击了很多这个导员的电影,KG也无法推荐这个关系缺失的电影。同时,推荐系统中user和item之间的交互行为,对于补全知识图谱也是有好处的。因此本文希望让两个任务互相促进,最终提升推荐系统中的预测效果

首先,作者定义了一组隐式的preference,每个preference都是一个向量,用来描述用户的某个兴趣。所有用户共享相同的preference向量。接下来,借鉴Trans系列方法中头实体+关系=尾实体的思路,在推荐系统中对应的是user embedding + preference embedding = item embedding。用这种方式训练user、item、preference的embedding,文中采用的是TransH方法,相比TransE会将每种不同的关系生成一个独立的超平面,即每个entity在不同的关系下会有不同的embedding。

上面的方法还没有引入知识图谱信息,为了将知识图谱信息引入,作者在知识图谱中也用Trans方法训练关系和实体的embedding,并加到推荐系统中训练的embedding上,同时进行link prediction和推荐系统两个任务。这样推荐系统任务也会更新知识图谱的embedding,帮助link prediction任务;同时知识图谱的信息会为推荐系统任务提供额外信息。

3

知识图谱建模用户行为和目标item关系

在推荐系统中引入知识图谱的方法主要分为meta-path based和GCN based两种类型。前者人工指定meta-path,每个path单独进行编码,会导致部分信息的缺失,无法充分挖掘整个KG的信息;后者通过汇聚中心节点的邻居生成表示,但是没有考虑user的历史行为,即item会跟和它相似的item汇聚,没有根据user历史行为进行表示生成。并且在邻居节点的sample过程中,可能丢失比较重要的信息。

本文提出的ATBRG主要为了解决以前方法存在的问题,核心目标是挖掘用户历史行为的item和目标item之间的关系。首先,ATBRG会根据当前user的历史行为以及target item动态构造一个图(adaptive relational graph),这个图可以涵盖当前user的历史行为和target item的大部分信息。通过在KG中寻找链接用户所有历史行为的item与target item的边,并且裁剪到不连接不同item的entity(如果一个entity只连接了一个item,就直接裁减掉)。

在上面图的基础上,本文提出Relation-aware Extractor Layer进行信息汇聚,考虑了不同类型边的区别,将边(关系)的embedding也引入进来进行信息汇聚,类似于Trans系列中头实体-关系-尾实体的建模思路,公式如下:

通过上面方法可以得到user历史行为每个item的embedding,以及目标item的embedding。最后会根据当前目标item,采用类似于DIN的思路对user历史行为item学习一个attention权重进行融合,得到user的最终表示。user的表示和item的表示会与其他特征一起,输入到后续全连接网络中进行ctr预测。

4

知识图谱挖掘用户点击行为成因

论文标题:MTBRN: Multiplex Target-Behavior Relation Enhanced Network for Click-Through Rate Prediction(CIKM 2020)

下载地址:https://arxiv.org/pdf/2008.05673.pdf

这篇文章和ATBRG类似,也是为了挖掘用户历史行为item和当前待推荐item之间的关系。现有的方法忽略了用户点击一个商品更深层次的原因,需要引入知识图谱来获得这些信息之间的关系。例如下图中,用户历史行为购买或点击了很多漫威角色的玩偶,当目标item是钢铁侠T恤时,就需要有知识图谱中的多种知识,才能推断出user行为背后的原因。

为了建模这种关系,本文提出了MTBRN模型。首先构造了item-item相似度图(根据user-item点击关系计算相似度),并引入了外部知识图谱。接下来,在item-item相似度图和知识图谱中,分别找到用户历史行为item与目标item的所有路径,每个历史行为item到目标item的路径取最短的一个,一个例子如下图。

这些路径描述了目标item和历史行为item之间的关系,接下来本文采用了Bi-LSTM对对所有路径进行编码,得到各个路径的表示,并利用attention学习各个路径的权重进行融合,得到最终的embedding,用于后续预测。

5

总结

本文介绍了4篇顶会中知识图谱在推荐系统中的应用,这些方法的核心都是利用知识图谱在item侧扩展实体信息,利用丰富的外部知识为推荐模型提供更多的线索,寻找潜藏在用户点击或购买行为背后的内在原因,进而提升预测效果,在实际工作中值得一试。

点关注

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 圆圆的算法笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
灰盒安全测试
腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档