[paper阅读] 物品的丝绸之路-向社交用户推荐来自信息领域的物品(一)

本周给大家带来跨领域推荐的一篇论文Item Silk Road: Recommending Items from Information Domains to Social Users。本篇博客是该系列的第一部分,主要介绍了论文的摘要、简介、预备知识以及具体方法中的信息领域中的学习等,下周继续剩下的部分~

摘要

一般说来,在线平台可以分为两大类:面向信息和面向社交的领域。前者指的是强调用户-物品交互的论坛或者电子商务网站,例如Trip.com和亚马逊;后者指的是有丰富的用户之间交互的Social Networks ServiceSNSs,社交网络服务),例如FacebookTwitter。尽管它们具有一定的异构性,可以通过一些交叉的用户将这两个领域关联起来,被成为桥梁用户。在本文中,作者们解决了跨领域社交推荐的问题,例如:为社交网络的潜在用户推荐信息领域相关的物品。据我们所示,这是一个之前很少被研究的新问题。

现有的跨领域推荐系统不适用与这个任务,因为它们聚焦于同质信息领域,要么假设用户是完全交叉的。针对这个背景,作者提出了一种新颖的Neural Social Collaborative RankingNSCR,神经社交协同排序)算法,可以无缝地链接信息领域中用户-物品的交互和SNSs中的用户之间交互。在信息领域部分,用户和物品的属性被用于加强用户和物品之间的嵌入学习;在SNSs部分,桥梁用户的嵌入被传播用于学习其它非桥梁用户的嵌入。在两个真实数据集上的拓展实验验证了NSCR方法的高效性和合理性。

简介

  • 背景:稀疏/薄弱的用户-物品交互极大地阻碍了SNSs的能力来提供物品推荐服务
  • 定义:跨领域社交推荐-为社交领域的用户推荐信息领域相关的物品
  • 动机:现有算法要么关注同质领域(例如,信息领域的多个网站)[1],要么不实际地假设用户完全交叉[2][3],本文主要解决以下两个问题
    • 桥梁用户不足:利用有限数目的桥梁用户的历史来为非桥梁用户提供高质量的推荐
    • 丰富的属性:信息领域的用户和物品通常都有非常丰富的属性。但是,很少有人关注和利用这些属性来提高跨领域推荐的效果
  • 解决方案:提出了名为 Neural Social Collaborative RankingNSCR,神经社交协同排序)的算法。通过组合图归一化技术[4]对跨领域社交关系进行建模来改进近期提出的Neural Collaborative FilteringNCF,神经协同过滤),其主要的技术点如下:
    • 在信息领域的建模中,作者基于NCF框架搭建了一个属性相关的推荐系统。为了更充分地探究用户/物品以及它们属性之间的交互,作者通过在用户(物品)ID和属性的嵌入向量之上插入一个pairwise pooling操作。与NCF使用的默认平均pooling和其它最近的神经推荐系统相比,本文使用的pairwise pooling能够更好地在底层获取特征交互,极大地便利了后面的深层来学习用户/物品和属性之间的高阶交互
    • 对于社交领域的建模,很自然想到可以通过使用桥梁用户的嵌入来引导社交用户的嵌入学习。由于桥梁用户的嵌入被优化来预测用户-物品之间的交互(例如,评分和购买),将这些嵌入传递给社交用户帮助构建信息领域和社交领域之间的异构差距。作者在社交网络中使用了smoothness限制(例如,graph Laplacian)来实现这样的传播效果,保证亲近的朋友有相似的嵌入以保证他们有相似的偏好

    • 主要贡献:

    • 据我们所知,第一篇引入跨领域社交推荐的论文,向社交领域的目标用户推荐信息领域相关的物品
    • 作者提出了新颖的解决方案来统一 深度神经网络在对属性的用户-物品交互建模图拉普拉斯在对用户之间社交关系进行建模的优势
    • 构建了两个真实的样本数据集用来探究跨领域社交推荐的新任务,并且用来拓展地评估作者提出的方案

预备知识

在本部分,作者们首先对跨领域社交推荐的任务进行了形式化描述,接着简短地概括了矩阵分解模型,重点介绍其运用在本任务中的限制。


图1 跨领域社交推荐任务图例

问题形式化

图1 展示了跨领域社交推荐的任务。在信息领域,用户与物品之间有数据交互。假设$$u$$和$$U_1={\{u_t\}}^{M_1}_{t=1}$$分别表示一个用户和信息领域的所有用户集合;同样地,使用$$i$$和$$I={\{i_t\}}^{N}_{t=1}$$分别表示一个物品和所有物品集合。用户和物品之间的边表示用户和物品之间的交互,$$y={\{y_{ui}\}}$$,可以是实际的显式评分或者是二进制的0/1隐式反馈。传统的协同过滤算法可以在用户-物品交互数据上运行。

除了ID能够标识一个用户或者物品,大部分信息领域的网站也会将用户或物品与充足的辅助信息,能够更好地获取用户的偏好和物品的属性。例如,在Trip.com中,用户可能会在其画像中选择{luxury travel, art lover}(奢侈旅游,艺术爱好者)作为其旅游的兴趣,而Marina Bay Sands(滨海湾金沙)这个项目一般会被标记为{luxury travel, family travel, nightlife}(奢侈旅游,家庭领域以及夜生活)等旅游模式。作者将这些相关的信息称为:attributes(属性),大部分是网站领域的/分散的分类变量。形式地,作者将$$g$$和$$G=\{{g_t}\}^{V}_{t=1}$$分别表示属性和完整的属性集合。对于用户$$u$$和物品$$i$$,作者们构建了相关的属性集分别为:$$G_u={g_1^u,..,g_{V_u}^u}\subset G$$和$$G_i={g_1^i,..,g_{V_i}^i}\subset G$$。

在社交领域中,可以获得用户之间的社交联系,例如:非直接的朋友关系或者直接的粉丝/收听者关系。本文中将社交用户表示为$$u’$$,社交领域的所有用户表示为$$U_2={\{u’_t\}}_{t=1}^{M_2}$$,所有的社交联系为$$S=\{s_{u’u”}\}$$。将信息领域和社交领域之间的交叉用户定义为桥梁用户,这些桥梁用户可以表示为$$U=U_1\cap U_2$$。在社交网络中,用户的行为和偏好可以通过社交关系进行传播来影响其朋友。因此,这些桥梁用户在解决跨领域社交推荐问题中发挥着非常重要的角色,形式定义如下:
输入: 信息领域表示为$$\{U_1, I, Y G_u, G_i\}$$, 社交领域表示为 $$\{U_2, S\}$$;并且$$U_1\cap U_2$$非空
输出:对社交领域$$f_{u’}$$中的每个用户$$u’$$的个性化排序函数:$$I\rightarrow R$$,将信息领域的每个项目映射到一个实数

值得注意的是:确实存在之前提到的-在SNSs中的用户-物品交互非常稀疏。然而,作者将跨领域社交推荐的场景通过只强调SNSs中的社交联系来简化这个问题,将弱互动的探究作为之后的工作。

因子模型

CFCollaborative Filtering,协同过滤)是个性化推荐系统中的关键技术。通过假定相似用户在物品上有相似的偏好来探究用户-物品之间的交互。基于模型的CF技术通过使用一个基础的模型来描述数据交互来实现该目标,其整体的目标是构建:
$$\hat{y_{ui}}=f_{\theta}(u, i)$$ 公式1

其中,$$f$$表示参数$$\theta$$的基础模型,和$$\hat{y}_{ui}$$表示用户-物品交互$$y_{ui}$$的预测分数。MFMatrix Factorization,矩阵分解)对于推荐任务而言是最简单也是非常搞笑的模型之一,将用户或者物品分解为一个潜在湘江,将用户-物品教会作为它们潜在向量的内积:

$$f_{MF}(u,i|p_u,q_i)=p_u^Tq_i=\sum_{k=1}^K{p_{uk}q_{ik}}$$ 公式2
其中,$$p_u\in R^K$$和$$q_i\in R^K$$都是模型的参数,分别表示用户$$u$$和物品$$i$$的潜在向量(也被称为表示)。


图2:矩阵分解作为一个浅神经网络模型

除了其效率,作者们还注意到矩阵分解的表现性被限制在了使用内积操作来对用户-物品交互建模。为了展示这一点,作者使用了一个矩阵分解模型的神经网络视图。如图2所示,作者将用户、物品IDone-hot表示融入到了架构中,然后将其映射到一个全连接的嵌入层。通过将用户、物品的嵌入向量融入到元素积层,可以得到一个隐藏向量$$h=\{p_{uk}q_{ik}\}$$。如果直接将$$h$$映射到输出分数,就可以精确地重复矩阵分解模型。因此,矩阵分解可以被看做只有一个隐层的浅神经网络。基于这个连接,作者们认为基于矩阵分解的方法对于跨领域社交推荐有以下两个重要局限:

  • 首先,矩阵分解只考虑了用户和物品之间简单的双向连接,通过假设它们的交叉潜在因子(例如,$$p_u$$和$$q_i$$)相互独立。然而,这种独立性假设在对真实数据建模的过程中是不充分的,因为经常由复杂和非线性的基础结构[4][5]
  • 如果将属性考虑进去,那么情况会更加糟糕,使用额外信息对矩阵分解的一个典型方法是SVDfeature,例如,通过将属性嵌入向量与用户、物品嵌入向量进行叠加。因此,通常会无意地忽视用户、物品以及属性之间丰富的关联关系

本文中提出的NSCR方法通过两种方式解决了举证分解的上述两种缺陷:

  • 使用一个深度学习模式来获取用户和物品潜在向量之间的高阶关联关系
  • 设计了一个成对的池化操作来对用户、物品以及属性之间成对的关系进行高效地建模

NSCR解决方案

跨领域社交推荐的目标是对社交用户推荐信息领域相关的问题。在基于嵌入式方法(也就是说,表示学习)的框架下,解决问题的关键是:如何将用户(社交领域)和物品(信息领域)映射到相同的嵌入空间。一个通常的解决方案是:FMFactorization Machine,因子分解机)[6],通过一个早期的融合将两个领域的数据进行合并,也就是说:通过将社交用户融合作为输入特征构建预测模型。尽管该方案在概念上听起来非常合理,问题是:可以融合社交用户的训练实例只适用于桥梁用户,在真实世界的应用中只占非常少的一部分。因此,原生的推荐解决方案FM可能会因为桥梁用户不足而遇到非常严重的问题。

为了解决桥梁用户不足的问题,作者们提出了一个新的框架,能够将每个领域的嵌入学习过程进行分离。通过强制两个训练过程共享桥梁用户相同的嵌入,来保证物品和社交用户在相同的嵌入空间。正式说来,作者们将优化框架设计为:

$$L=L_I(\Theta_I)+L_S(\Theta_S)$$

其中,$$L_I$$和$$L_S$$分别表示信息领域和社交领域带有参数$$\Theta_I$$和$$\Theta_S$$的目标函数,重要的是$$\Theta_I \cap \Thata_S $$非空,表示桥梁用户的共享嵌入。

通过将两个领域的学习过程进行分离,了每个组件的设计都可能变得非常灵活。具体说来,可以在$$L_I$$中采用任意协同过滤方案来学习用户-物品之间的交互,利用任何半监督学习技术来在$$L_S$$中传播桥梁用户的嵌入到非桥梁用户中。

信息领域中的学习

为了先从用户-物品交互数据中估计协同过滤模型的参数,通常经常使用两种类型的目标函数——逐点的[7]和逐对的[8]。逐点的目标函数希望最小化预测分数和目标分数之间的损失。在这里,为了解决我们隐式反馈和个性化排序的任务,作者们采用了逐对的排序目标函数。

作者使用$$y_{ui}=1$$来表示一个可观察到的用户-物品交互,否则的话其值为0。相比于强制预测分数$$\hat{y_{ui}}$$接近$$y_{ui}$$,排序相关的目标函数关心的是观察到和未观察到交互对之间的相对顺序:

$$L_I=\sum_{(u,i,j)\in O}L(y_{ui}, \hat{y_{ui}})$$ 公式4

其中,$$y_{u_{ij}}= y_{u_i}- y_{u_j}$$;$$O$$表示训练集三元组的集合,每个三元组由一个用户u,一个可观察到的交互物品i(即:$$y_{u_i}=1$$),和一个未观察到的交互物品j(即:$$y_{u_j}=0$$)组成。一个理想的模型应该针对所有用户的所有(i,j)对正确排序。为了实现这个排序假设,作者采用了基于回归的损失函数:

$$L_I=\sum_{(u,i,j\in O)}{(y_{u_{ij}}-\hat{y_{u_{ij}}})}^2=\sum_{(u,i,j\in O)}{(y_{u_{i}}-\hat{y_{u_{j}}}-1)}^2$$

注意:也可以应用其它逐对的排序函数,例如BPRBayesian Personal Ranking,贝叶斯个性化排序)[9]和对比最大边缘损失两类[10]。在本文中,作者在NSCR模型中使用了基于回归排序损失,在之后的工作中对其它选择再进行探究。

属性相关的深度协同过滤模型


图3: 属性相关的深度协同过滤模型用来估计用户-物品交互的示例图

构建了从信息领域学习的优化函数之后,作者还介绍了属性相关的深度协同够快模型来估计用户-物品交互$$y_{u_i}$$。图3展示了其架构,是一个多层的前馈神经网络。

  • 输入层:模型的输入时用户u,物品i以及相关属性$$G_u$$和$$G_i$$。作者将其转化到one-hot编码的稀疏向量,只记录非0二进制特征
  • 嵌入层:嵌入层将每个非0特征映射到一个紧密的特征表示。在这里有四种类型的特征,作者使用了不同的符号来表示这四种特征:ui,$$g_t^u$$,$$g_t^i$$分别表示用户u、物品i、用户属性$$g_t^u$$和物品属性$$g_t^i$$的K维嵌入特征
  • 池化层:嵌入层的输出是嵌入向量的集合,分别用来描述用户u和物品i。由于每个用户(物品)可能有不同数目的属性。嵌入向量集合的大小可能会由于输入的不同而不同。为了训练一个固定结构的神经网络,将可变长度的向量集转化为固定长度的向量(例如,池化操作)非常关键

神经网络中最经常使用的池化操作是平均池化和最大池化。然而,作者认为这些简单的操作对于获取用户、物品以及属性之间的交互是不高效的。例如,平均池化假设用户和其属性是线性独立的,这样就无法再嵌入空间中对它们之间的任何关联进行编码。为了解决这个问题,作者们考虑对用户和其属性、以及所有属性之间的网络关联之间的逐对关联关系进行建模:

$$p_u=\varphi_{pairwise(u,{g_t^u})}=\sum_{t=1}^{V_u}u\odot g_t^u+\sum_{t=1}^{Vu}\sum_{t’=t+1}^{V_u}g_t^u\odot g_{t’}^u$$ 公式6

其中$$\odot$$表示两个向量之间逐元素的内积。作者们将其称为pairwise池化,其起源于因子分解机的设计。通过在物品部分运用池化策略,作者们同样地对物品和其属性之间的逐对关联进行了建模:

$$q_i=\varphi_{pairwise(i,{g_t^i})}=\sum_{t=1}^{V_i}i\odot g_t^i+\sum_{t=1}^{V_i}\sum_{t’=t+1}^{V_i}g_t^i\odot g_{t’}^i$$ 公式7

值得注意的是尽管陈队的池化对每个特征对之间的关联关系进行可建模,但是它也可以在线性时间内高效地完成计算——与平均、最大池化策略相同的时间复杂度。为了展示评估逐对池化的线性时间复杂度,作者们将公式6重新表示为:

$$p_u=\frac{1}{2}[(u+\sum_{t=1}^{V_u}g_t^u)\odot (u+\sum_{t=1}^{V_u}g_t^u)-u\odot u-\sum_{t=1}^{V_u}{g_t^u\odot g_t^u}]$$ 公式8

可以在$$O(KV_u)$$的时间内计算完成。这是一个非常吸引人的属性,这就意味着在对所有逐对关联建模中使用逐对池化的优势并不会带来其他额外的花费,相比于平均池化不对输入特征之间的关联进行建模。

  • 隐层:上面的逐对池化策略是一个全连接层,允许模型获取用户、物品以及属性之间的非线性、高阶关联。根据矩阵分解的神经网络视图,作者们首先使用一个元素方式的乘积合并了用户表示$$p_u$$和物品表示$$q_i$$,构建了ui之间的双向连接。然后在元素方式乘积之上使用了一个MLPmulti-layer perceptron,多层感知机)。隐层可以定义为:

$$e_1=\sigma_1(W_1(p_u\odot q_i)+b_1)$$
$$e_2=\sigma_2(W_2e_1+b_2)$$
$$……$$
$$e_L=\sigma_L(W_Le_{L-1}+b_L)$$

其中,$$W_l,b_l,\sigma_l,e_l$$分别表示权重矩阵,偏好向量,激活函数以及第l层隐层的输出向量。作者们选择了ReLURectifier Unit,整流装置)作为每个隐层的激活函数,生物学上更可行,并且被证明为非饱和的。考虑到隐层的结构,一般的选择还包括:塔式、常数、钻石以及其它。在本文中,作者简单地将所有隐层设置为相同大小,提后可以进一步调整深度结构。

  • 预测层:最后,最后一个隐层$$e_L$$的输出向量被转化为预测的评分:

$$\hat{y_{ui}}=w^Te_L$$ 公式10

其中,w表示预测层的权重向量。

参考文献

[1] A. M. Elkahky, Y. Song, and X. He. A multi-view deep learning approach for cross domain user modeling in recommendation systems. In WWW, pages 278–288, 2015.
[2] M. Jiang, P. Cui, X. Chen, F. Wang, W. Zhu, and S. Yang. Social recommendation with cross-domain transferable knowledge. TKDE, 27(11):3084–3097, 2015.
[3] X. Wang, L. Nie, X. Song, D. Zhang, and T.-S. Chua. Unifying virtual and physical worlds: Learning toward local and global consistency. TOIS, 36(1):4, 2017.
[4] X. He and T.-S. Chua. Neural factorization machines for sparse predictive analytics. 2017.
[5] L. Liao, X. He, H. Zhang, and T.-S. Chua. A ributed social network embedding. arXiv preprint arXiv:1705.04969, 2017.
[6] S. Rendle. Factorization machines with libfm. TIST, 3(3):57:1–57:22, 2012.
[7] I. Bayer, X. He, B. Kanagal, and S. Rendle. A generic coordinate descent framework for learning from implicit feedback. In WWW, pages 1341–1350, 2017.
[8] J. Chen, H. Zhang, X. He, L. N. and Wei Liu, and T. Chua. A entive collaborative ltering: Multimedia recommendation with item- and component-level a ention. In SIGIR, 2017.
[9] S. Rendle. Factorization machines with libfm. TIST, 3(3):57:1–57:22, 2012.
[10] R. Socher, D. Chen, C. D. Manning, and A. Y. Ng. Reasoning with neural tensor
networks for knowledge base completion. In NIPS, pages 926–934, 2013.

打赏

mickey

记录生活,写给几十年后的自己。