Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

黄若孜作者

跨域社交推荐:如何透过用户社交信息“猜你喜欢”?

本期推荐的论文笔记来自 PaperWeekly 社区用户 @spider。不同于传统推荐方法将社交信息作为用户的附加信息,在同一个域预测用户偏好。

本期推荐的论文笔记来自 PaperWeekly 社区用户 @spider。不同于传统推荐方法将社交信息作为用户的附加信息,在同一个域预测用户偏好。本文选择在信息域中学习用户偏好,然后将其沿社交网络进行传播,使原本不在该域的用户也可以学到他的偏好信息,角度新颖。

关于作者:黄若孜,复旦大学软件学院硕士生,研究方向为推荐系统

■ 论文 | Item Silk Road: Recommending Items from Information Domains to Social Users

■ 链接 | http://www.paperweekly.site/papers/1885

■ 作者 | Xiang Wang / Xiangnan He / Liqiang Nie / Tat-Seng Chua

论文动机

在线平台一般分为两种,一种是信息导向的,比如一些电商的网站,强调 user-item 的相互作用;另一种是社交导向的,比如推特等提供社交网络服务,有丰富的 user-user 链接。虽然这两种 domain 是异构的,但是他们会共有一些用户,称为桥梁用户(bridge users),通过他们我们可以进行跨域社交推荐,也就是在社交网络中的一些潜在用户推荐信息 domain 中的相关 items。 

当前大部分的 ­cross domain 的推荐方法都是对同构的域,而针对本文的 task,存在的困难有: 

  • 数据集中桥梁用户的不足 

  • 在信息域中的 attribute 充足,但是很少有人关注利用这些 attribute 来提高对社交网络中用户的推荐结果 

本文提出了一种称为 Neural Social Collaborative Ranking (NSCR) 的方法来利用信息域中 user-item connection 和社交域中的 user-user connection。在信息域,利用属性增强对 user 和 item embedding 的效果,在社交域中,将桥梁用户的 embedding 结果通过社交网络传播给非桥梁用户。

问题描述

在信息域中,用户集合 U1,项目集合 I,用户给项目的打分信息为矩阵 Y,关于用户和项目的 attributes 分别为 Gu 和 Gi 表示;在社交域中,用户集合 U2,社交关系为 S。两个域的桥梁用户为 U=U1∩U2。 

输入:信息域 {U1,I,Y,Gu,Gi},社交域 {S,U2},U1∩U2 非空。 

输出:为社交域中每一个用户 u' 确定一个对 items 的排名函数。

NSCR Solution

矩阵分解模型(MF)是推荐系统重要的一个模型,这里先引入一个观点,即 CF 模型可以看做是一个浅层神经网络模型

如下图所示,我们输入用户\项目 ID 的 one-hot 的表示,然后将其映射到一个 embedding 层,将两者 embedding 向量进行逐元素相乘,得到向量 h(如果直接将 h 映射到一个打分值的话,那么这个模型就是 MF 模型)。

本文认为,MF 的表现受限于使用内积来捕捉 user-item 交互作用;同样,在常规的对 attributes 的利用上,单纯的让用户 embedding 和 attribute embedding 相加,也不足以捕捉 user、item、attribute 之间的联系。

由于 task 是为社交网络中的用户进行跨域推荐,本文使用了基于表示学习(embedding)的方法,认为问题的关键在于如何将 item 和来自社交网络的用户映射到相同的 embedding 空间。

由于两个域的用户只有少量的重合,本文给出的解决方案是分开学习两个域的 embedding,而强迫两个学习过程共享相同桥梁用户的 embedding。优化目标为,等号右边分别是两个域各自的目标函数

1. Learning of Information Domain

学习 cf 模型的参数,有两种目标函数:point-wise 和 pair-wise 目标函数,前者最小化预测分值和真实分值之间的损失,后者本质上是负采样,适合于本文中使用隐式反馈,同时要得到每个用户的个性化 item 排序的任务。

首先取三元组 (u,i,j),其中 u 是一个用户,i 是该用户评分过的项目 (yui = 1),j 是用户没有评分过的项目 (yuj = 0)。目标函数想要学到 (i,j) 的正确顺序:

其中 yuij = yui – yuj,^yuij = ^yui – ^yuj,其中 ^yui 是预测打分值。 

确定目标函数之后,我们来看预测值 ^yui 是通过怎样的模型得到的。本文在 Neural Collaborative Filtering 模型的基础上,进一步加入了 attribute 的信息,结构如下图所示:

输入层:输入四种信息的 id,用 one-hot 向量表示。

embedding:将四种信息分别进行 embedding。

pooling 层:由于 attributes 的数量不确定,embedding 后的向量集大小不确定,为了给后面的 nn 一个定长的信息,进行 pooling 操作。

由于最大\平均 pooling 不能捕捉用户和各 attributes 之间的交互作用,所以设计了一种 pairwise pooling 的方法

对项目也做类似处理,最后将 pu⊙qi 的结果作为后面 MLP 的输入,MLP 输出预测结果。

2. Learning of Social Domain 

在社交域中,本文使用了半监督学习的方法将信息域中用户 embedding 结果从桥梁用户传播到非桥梁用户。这基于这样的一个假设:如果两个用户有很强的社交关系,那么他们可能会有相似的偏好,从而在 latent space 有相似的特征表示。

学习包括两部分: 

平滑约束(smoothness constrain):定义了结构一致性损失,希望相邻的用户的表示相似;su',u'' 是两个用户社交关系的强度,du' 是节点 u' 的出度,称为平滑约束是因为为每个用户的特征表示除以了出度的开方,进行了平滑,如果没有这个处理,那么社交关系多的活跃用户将会产生更有效的传播。

拟合约束:为了使两个域的 latent space 保持一致,迫使桥梁用户的两种表示接近,也就是拟合损失:

训练完成后,将 pu' 输入信息域中的预测框架,得到预测 item 的排名。

实验结果

信息域数据集来自 trip.com,同时找到其中一些用户相关的 Facebook 和 Twitter 信息。评估指标为个性化排序的指标 AUC 和 Recall@k。

由于非桥梁用户没有评分信息,无法验证预测是否正确,所以使用了一部分的桥梁用户作为测试集。可以看到预测结果优于 state of art。

评价

不同于传统推荐方法将社交信息作为用户的附加信息,在同一个域预测用户偏好,本文是在信息域中学习了用户偏好,然后将其沿社交网络进行了传播,使原本不在该域的用户也可以学到他的偏好信息,角度新颖。

关于异构的推荐,是一个很有意思的 task,值得去 follow。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论跨域社交推荐在线平台矩阵分解模型浅层神经网络模型
2
相关数据
半监督学习技术

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

推荐文章
暂无评论
暂无评论~