论文浅尝 | AAAI2020 - 多分量图卷积协同过滤方法

论文笔记整理:郝凯龙,南京大学硕士。


        来源:AAAI2020

链接:https://arxiv.org/pdf/1911.10699.pdf

动机

推荐系统实际上是在做用户-商品二部图上的链路预测,仅仅用用户-商品之间的单一购买关系无法精确的进行描述为什么购买行为发生。现有的方法没有探索各种购买动机之间的差异进而导致无法捕捉到细粒度的用户偏好。因此,我们提出了一种新颖的多分量图卷积协同过滤方法 Multi-Component graph convolutional Collaborative Filtering (MCCF),以区分观察到的显式用户-商品交互下潜在的多种购买动机。在三个真实数据集和一个合成数据集上进行试验,结果不仅显示了 MCCF 的显着性能提升,而且有效地证明了多个组件的必要性。

亮点

MCCF的亮点主要包括:

(1)首次探索了用户-商品二部图下,用户潜在的多种购买动机。可以更好的描述用户细粒度的偏好;

(2)首次一种新颖的多分量图卷积协同过滤 Multi-Component graph convolutional Collaborative Filtering (MCCF) 方法,以区分观察到的显式用户-商品交互下潜在的多种购买动机;

概念及模型

MCCF 内部有两个主要模块:分解器和组合器。前者首先将用户-商品交互分解为多种可能导致购买关系的潜在组件;后者自动重新组合这些潜在组件,以获得统一的用户/商品表示以进行预测。此外,稀疏正则化和邻居权重采样用来缓解过拟合问题并加速优化

 

MCCF具体由三部分构成:

  • Decomposer:分解潜在偏好并用 node-level attention 来学习用户/商品多个成分的表示。

  • Combiner:多个成分利用 component-level attention 进行加权融合。

  • MLP+Predict:评分预测。

 

模型整体框架如下:

             

 

  • 多成分抽取

假定用户和商品都有 M 个 components,为了将这 M 种成分进行剥离,文章首先利用 M 组投影矩阵对它们进行投影。实际上是将节点通过不同的投影矩阵映射到不同的空间,每个空间的表示代表一个 component。具体如下:

             

             

  • 节点级别注意力

图神经网络通常收集邻居信息并利用神经网络更新节点表示。通过对邻居的加权混合来更新节点表示。文章先考虑聚合 item 的信息更新节点表示。给定一个用户和商品的第m个 component,文章可以利用节点级别注意力计算它们之间的一个注意力权重。基于所学习到的权重对邻居进行加权聚合,得到用户在第 m 个 component 下的表示:

                           

 

             

  • 评测和优化

评分部分采用常规的拼接+MLP:将用户和商品的表示拼接后经过多次神经网络映射到一个标量评分。同时,作者为了增强泛化能力,对 component 进行了L0 正则。作者引了一篇文章的稀疏正则:它把全连接换成了论文源码里 L0 约束的稀疏全连接。为了防止过拟合,作者还提出了一种采样策略:根据评分的高低来对邻居进行加权采样,这里的采样也可以使不同节点在一个 batch 里的邻居数相同,加速 GPU 运算。如下:

             

             

 

理论分析

实验

作者采用了3个公开数据集进行实验,分别是:MovieLen-100K、Amazon、Yelp。首先是有效性实验,模型的评价指标为:MAE 和 RMSE。

             

本文所提出的 MCCF 优于 GCMC。但是需要注意的是,在 Yelp 数据集上 MCCF 和 MCCF-cmp 的效果一样。也就说,在 Yelp 上对多个 component 进行平均和加权所取得效果一致。

 

文章利用合成数据集上进行评测。文章首先生成了 3 个用户-商品交互图,每个图都代表一种潜在意图。然后,将 3 张图进行合并,生成了所谓的合成数据集。

             

实验表明随着 components 的个数增加,模型效果先上升后下降并在 3 个 components 时达到最优。这里验证了本文所提出的 MCCF 模型确实可以捕获到真实个数的 component。

 

文章在 3 个真实数据集上验证了 components 个数对模型表现的影响。在不同数据集上最佳 components 的个数有所差异。如下:

 

             

 

文章验证了节点 embedding 维度大小对模型的影响。较大的维度可以更精准的表述节点,但是过大的维度可能会带来冗余。

 

             

 

总结

本文对推荐系统中用户-商品二部图的建立原因展开分析:用户购买商品可能是基于多种不同的购买意图,比如性价比或者外观,这也是用户的细粒度偏好。因此,文章提出了一种多分量图卷积协同过滤 Multi-Component graph convolutional Collaborative Filtering(MCCF)方法,以探索在用户-商品购买交互下潜在的多种购买动机。最后文章利用 node-level 和 component-level 的注意力来更好的学习节点表示。

 


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

from torchcrf import CRF

报错CRF函数有问题,多了一个参数。通过源代码查找,发现两个torchcrf。通过pip list安装的时候是大写的TorchCRF,所以导入包的时候肯定也写大写的,没想到报错,后来改成全小写的就对了。

LeetCode 312. 戳气球(DP,难)

1. 题目 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 nums[left]∗nums[i]∗nums[right]nums[left] * nums[i] * nums[ri…

美团即时物流的分布式系统架构设计

本文根据美团资深技术专家宋斌在ArchSummit架构师峰会上的演讲整理而成。 背景 美团外卖已经发展了五年,即时物流探索也经历了3年多的时间,业务从零孵化到初具规模,在整个过程中积累了一些分布式高并发系统的建设经验。最主要的收获包括两点&…

论文浅尝 | AAAI2020 - 基于规则的知识图谱组合表征学习

论文笔记整理:康矫健,浙江大学计算机科学与技术系,硕士研究生。论文链接:https://arxiv.org/pdf/1911.08935.pdf发表会议:AAAI 2020Motivation现有的KG Embedding方法大部分仅关注每个三元组的结构化信息有部分的工作把…

26岁!年入100万,两周把 Github 项目推向全球榜首,他是怎么做的?

今天要为大家介绍一位很厉害的朋友 —— 小浩。九零后,20 年年收入近百万。 大家不需要质疑他的收入,在他没做公众号的时候,我知道收入已有五六十。而公众号,只是疫情期间他因无聊而产出的结果,那结果怎么样呢&#xf…

美团餐饮娱乐知识图谱——美团大脑揭秘

前言 “ I’m sorry. I can’t do that, Dave.” 这是经典科幻电影《2001: A Space Odyssey》里HAL 9000机器人说的一句话,浓缩了人类对终极人工智能的憧憬。让机器学会说这样简单一句话,需要机器具备情感认知、自我认识以及对世界的认识,来辅…

Android官方开发文档Training系列课程中文版:OpenGL绘图之图形定义

原文地址:http://android.xsoftlab.net/training/graphics/opengl/shapes.html 使用OpenGL绘制图形的第一步就是要定义一个图形。如果不清楚OpenGL如何绘制自定义图形的相关基础知识时,那么使用OpenGL一定要仔细。 这节课将会简单讲述OpenGl ES的坐标系…

LeetCode 765. 情侣牵手(贪心)

1. 题目 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手。 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起。 一次交换可选择任意两人,让他们站起来交换座位。 人和座位用 0 到 2N-1 的整数表示,情侣们按顺序编号…

Python 捕获异常

Python捕获异常 一.常见异常 1.语法错误:SyntaxError:invalid syntax (1)案例: (1)解决方法: ①查看代码有没有红色波浪线 ②熟悉python基本语法 2.变量名不存在:NameError:name b is not defined (1)案例: (2)解决方法: ①检查对应的变量名是否有定义并赋值,是否写错了变量名…

论文浅尝 | WWW2020 - 知识图谱中的实体摘要:算法、评价和应用 (PPT)

本文转载自公众号:专知。知识图谱封装了实体和关系。知识图谱的简洁表示格式和图的特性使得许多新的Web应用程序得以创建,并增强了现有的应用性能。然而,在一个知识图谱中,描述一个实体的几十个或几百个事实可能会超出一个典型用户…

一条互联网广告多少钱?

文 | 申探社本文已获作者授权,禁止二次转载一. 导读互联网广告中的出价模式发展经历了许多变迁。从一开始的CPM,到CPC出价模式,随着Facebook的oCPX (如oCPM/oCPC) 成为了网红,之后的双出价,激活且付费,Face…

LeetCode 100. 相同的树(二叉树遍历)

1. 题目 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 2. 解题 2.1 递归 class Solution { public:bool isSameTree(TreeNode* p, TreeNode* q) {if(!p &&am…

Android官方开发文档Training系列课程中文版:OpenGL绘图之图形绘制

原文地址:http://android.xsoftlab.net/training/graphics/opengl/draw.html 如果你还不清楚如何定义图形及坐标系统,请移步:Android官方开发文档Training系列课程中文版:OpenGL绘图之图形定义。 在定义了图形之后,你…

Python之极验滑动验证码的识别(教程+案例)+识别豆瓣登录滑动验证码(附源码)

Python之极验滑动验证码的识别(教程案例) def get_tracks(distance, rate0.6, t0.2, v0):"""将distance分割成小段的距离:param distance: 总距离:param rate: 加速减速的临界比例:param a1: 加速度:param a2: 减速度:param t: 单位时间…

论文浅尝 | ICLR 2020 - 一文全览知识图谱研究

本文转载自公众号:AI科技评论 作者 | Michael Galkin编译 | 贾伟ICLR 2020 正在进行,但总结笔记却相继出炉。我们曾对 ICLR 2020 上的趋势进行介绍,本文考虑的主题为知识图谱。作者做波恩大学2018级博士生 Michael Galkin,研究方…

Android官方开发文档Training系列课程中文版:OpenGL绘图之应用投影与相机视图

原文地址:http://android.xsoftlab.net/training/graphics/opengl/projection.html##transform 在OpenGL ES环境中,投影相机View可以将所绘制的图形模拟成现实中所看到的物理性状。这种物理模拟是通过改变对象的数字坐标实现的: 投影 - 这基…

算法工程师怎样提升业务理解能力?

文 | 桔了个仔知乎本文已获作者授权,禁止二次转载我刚转做金融风控时,觉得自己写代码多年了,对金融风控的业务不上心,公司让我做什么我就用自认为及其优雅的编码方式解决,但对为什么要做这个事,做了对业务上…

强化学习在美团“猜你喜欢”的实践

1 概述 “猜你喜欢”是美团流量最大的推荐展位,位于首页最下方,产品形态为信息流,承担了帮助用户完成意图转化、发现兴趣、并向美团点评各个业务方导流的责任。经过多年迭代,目前“猜你喜欢”基线策略的排序模型是业界领先的流式更…

论文浅尝 | CoRR - 面向复杂知识问答的框架语义解析方法

论文笔记整理:谭亦鸣,东南大学博士。来源:CoRR abs/2003.13956 (2020)链接:https://arxiv.org/pdf/2003.13956.pdfKBQA任务中的语义解析目标是将自然语言问题转化为标准查询,而后用于构建知识库查询。现有的方法主要依…

全栈深度学习第1期:如何启动一个机器学习项目?

一 起 追 剧 鸭 !简介Berkeley全栈深度学习追剧计划是由夕小瑶的卖萌屋发起的优质公开课打卡项目,通过微信群为同期追剧的小伙伴提供交流平台。关于该计划的详请见这里。1. Berkeley深度学习追剧群目前已有1000小伙伴加入,公众号后台回复口令…