Talking about the social recommendation system

"Article first appeared in the public micro-channel number" machine learning and recommendation algorithms ", welcome attention, please share."

Zero, EDITORIAL

This is a social recommendation on the share, welcome criticism.

I do not know there is no such feeling, I always felt that this thing is a social network is a very interesting thing, at first thought it might be interesting also because of this lovely term -Social Network, it may be the colorful social network diagram attract, in short, there is nothing on the big term to explain my love for it. It is precisely because of this sense of goodwill, a social network based recommendation system also became my master's research stage. With the in-depth follow-up study and research, and gradually learned interesting conclusion and a strong social network of knowledge contained inherent, but also more determined you like for this area.

Recommended systematic study of two objects (and objects) and links between the two disciplines . More specifically, is the need for scientific modeling user portrait, portrait items, as well as matching algorithm (function) how to design efficient to pick out the right items for a particular user, so the image can also be understood as "two tier" , "two" is the users and items, "front-line" as the connection between the user and the items function. The traditional recommendation system from the user has to skinny - that this "two line" and therefore had to face the data sparse and cold-start problems in the learning process interactive data items Middle School.

Social network analysis is the study of the interaction between people, connected to each other and influence each other's theories . As an effective complement to traditional data and skinny, a social network can be a rich portrait of the user data from skinny to high school, as well as a function of enhancing the relationship between the user and objects, from the side of the rich 'two first-line. " It is recommended in conjunction with a social network can be understood as a mechanism of behavior, the relationship between the social network analysis through the use of technology to better understand the people and so on in order to better find the right items to the right person.

I. First, we introduce the use of social network analysis is interesting conclusions to be incorporated into the traditional recommendation, in order to better model the user and user portrait - Item connection function.

  • Homogeneity and social impact

Most of the early social recommendation papers are based on this theory (homogeneity and social impact, Homophily and Social Influence), users connected to each other tend to have similar behavioral preferences, and behavioral preferences of people prefer to build similar connection. Reflected in the recommended model is the meaning of the constraints of the user feature vectors and their friends should feature vector distance in the vector space among similar as possible. For example, the invention Jamali et al SocialMF [. 1] algorithm, wherein the constraint object user behavioral characteristics of social neighbor Preference should average users connected close as possible, as shown in the specific function.

Wherein the particular function comprises three parts, the first part of the basic matrix decomposition model, the aim of learning user rating preference; the second part social constraint item, the user object constraint vector, such that the feature vector of the user and friends the average social vector close as possible; the third part is a regular item, to alleviate the problem of over-fitting model.

In addition, Hao Ma, who believe that there is concern to the user's friends hobby diversity hypothesis, proposed SoReg [2] method, no longer mandatory for all users must be consistent with the preferences of friends, but users and their friends constraints exist different social impact, the specific function as follows.

Wherein the first and third portions with consistent SocialMF method, except that the second portion of the social constraint terms. The average vector and vector vector constraints concerned friends of users before similar improvements for the user constraint vectors similar to each vector concern friend, taking into account the social similarity, similarity measure between the user and each of the two friends the degree of co-scoring users. Through improved so that the algorithm not only consider the user's social connections, preference will score on social inclusion to the similarity measure of social influence played a fine-grained recommended for promotion.

These two models can be seen on the base model matrix factorization, to learn the user's social constraints by increasing the term vector representation. In addition to the above-described manner to fuse the social information, but also can be utilized to share information by social representation. HaoMa et al proposed SoRec [. 3] algorithm can be regarded as a social recommendation algorithm based on shared characteristics, as shown in the specific formula is as follows.

Among them, the user low-dimensional feature vectors and matrices by simultaneously decomposing scoring matrix to study social relations, so that the user can learn both feature vector score habits and social characteristics of the user.

Subsequently, another representation of shared learning TrustSVD [4] have been proposed, not only explicit user rating data and social relationships should be modeled, the implicit behavioral data and the user's social relationships should also be taken into account, and therefore introducing the implicit social information based on SVD ++ model, shown in detail in the following equation.

The first term is scoring matrix factorization, designed to fit the user's score at the same time learn the habit of implicit behavioral information; the second is a trust matrix factorization, designed to fit the user's trust; third term as a regular item, The model appears to avoid over-fitting problems. In order to simultaneously capture both explicit and implicit user social information and ratings, the key is the first item, wherein the user for a particular item rating prediction formula shown below.

By implicit user feedback and the implicit social information taking into account the user's model, allowing users to feature representation depends not only on the user rating feature vectors, also rely on implicit user feedback and implicit user's friends information, resulting in user features represent more realistic scenarios.

  • Small world theory

Small world theory, also known as Six Degrees of Separation (Six Degrees of Separation), which means you and anyone that elapses between a stranger not more than five, that is to say, by a maximum of five people you will be able to understand the world on any stranger.

For example, Jamali et al proposed TrustWalker [. 5] algorithm, a combination of a trust-based collaborative filtering method and the method of random walk model. Wherein the six degrees of separation in the application of the process of random walk.

通过用户所连接的社交网络进行随机询问,询问的深度不超过六度分隔理论中的理论数值。另外,不仅只考虑特定用户的目标项目评分,还把目标项目的相似项目考虑其中(基于项目的协同过滤思想)。随着随机游走轮数的增加,使用相似项目评分的概率也逐渐增加。

  • 无标度网络

现实世界中的网络,只有少数的节点往往拥有大量的连接,而大部分节点却存在很少连接。一般将网络中的节点度分布符合幂律分布的复杂网络称为无标度网络(Scale-free Network)。这也很符合实际情况,大佬往往是极少的,更多的是平凡普通人。

目前大火的网络嵌入(Network Embedding)技术Deepwalk[6],node2vec[7]等模型之所以有效,是因为在社交网络中随机游走产生的序列通过统计结点的分布发现,用户结点的分布与词的分布都满足幂律分布(Power Law)。因此很巧妙的将自然语言处理中的词嵌入技术迁移到社交网络分析中的结点嵌入任务中。可以很自然的将随机游走序列(Sequence)类比为自然语言中的句子(Sentence),社交网络中的用户结点(Node)类比为语料库中的词语(Word),然后将其输入到word2vec模型中,以此产生低维、连续、稠密的用户结点的嵌入表示。

其中,将Embedding技术应用于社会化推荐场景中的方法之一为CUNE[8],其具体的算法公式与SoReg类似,都是基于社交正则项来约束基本的矩阵分解模型,详细的公式表示如下。

值得注意的是,其中语义社交正则项中的社交朋友是通过网络嵌入技术计算得到的,具体的计算步骤如下图所示。

首先通过one-mode映射方法从UI网络中得到用户协同网络CU,然后在CU网络中进行改进的随机游走产生用户结点序列,最后输入到SkipGram模型中,得到每个用户的低维嵌入表示。最终通过低维嵌入向量来计算用户与用户的相似度,得到最终的Top-k语义朋友集合。

对于图嵌入技术的扩展工作近年来逐渐增多,以及利用图嵌入技术来提高社会化推荐性能的技术近年来也异常火热,由于篇幅有限,在此不一一列举,希望大家能够一直保持着学习前沿技术的心。

  • 强弱关系

社交网络中的连接关系并不是完全一样的,存在强弱关系(Strong and Weak ties)一说。关于人际关系强弱的解释,强连接表示拥有频繁交互的亲密朋友,而弱连接表示存在连接但交互行为极少的熟人。比如下图的一个社交网络,强连接倾向于在一个相对稠密的子图中出现,像(u,v,w)和(x,y,z)。相反,弱连接倾向于充当"桥梁"的角色来连接不同的子图,像(u,x)这样。

基于社交网络中强弱联系的理论,Xin等人提出了TBPR[9]模型。该模型在BPR的基础上细分了对于物品的排序分类,由原来的[用户产生行为的项目集合>用户未产生行为的项目集合]扩充为[用户产生行为的项目集合>强弱连接用户同时产生过行为的项目集合>只有强连接用户产生行为的项目集合>只有所连接用户产生行为的项目集合>用户未产生行为的项目集合]。

二、然后,我们从另一个角度总结几种利用不同类型的社交信息来结合到推荐中的场景,以此来充分的挖掘用户社交属性来提升推荐体验。

  • 显式社交信息vs隐式社交信息

以往的文献通过实验表明,社交信息对于改进传统的推荐算法是非常有效的。但是,现实世界中,并非所有的推荐系统中都存在显式的社交朋友关系。2013年的文章[10]明确了显式和隐式社交的定义,同时给出了对于两种社交信息的有效性验证。

如图所示,将用户存在的真实的社交朋友信息称为显式的社交信息,将从评分信息中学到的相似行为的用户集合称为隐式的社交信息。通过实验表明,在系统缺乏显式的社交信息时,通过评分信息生成的隐式社交信息对于推荐系统的性能提升有所帮助;另外,也验证了显式社交信息的有效性要比隐式社交信息的有效性要强的观点。

  • 信任社交信息vs敌对社交信息

通过细分社交网络中连接信息的类型,可以细粒度的建模用户偏好模型,进而得到更加准确的用户特征表示。09年Hao Ma等人将该信息应用到推荐中的评分预测任务当中[11],更具体的是结合到矩阵分解模型里,公式如下所示。

该函数第一项为基本的矩阵分解,第二项为约束用户的特征表示与朋友的特征表示相近。另外,对于敌对信息,与上式相反,通过增加约束项,使得用户的特征表示在向量空间中尽可能的与敌对关系较远,具体函数见下式。

另外,17年人们将以上两种信息应用到了推荐系统的Top-N推荐任务中[12]。该模型在BPR的基础上细分了对于物品的排序分类,由原来的[用户产生行为的项目集合>用户未产生行为的项目集合]扩充为[用户产生行为的项目集合>用户同时产生过行为的项目集合>用户未产生行为的项目集合>用户敌对关系产生过行为的项目集合]。

 

三、最后,我们从深度学习技术的角度来介绍几种经典的网络结构与推荐相结合的场景,以此来更细粒度的建模用户的特征表示,最终达到提升推荐精度的目的。

  • 多层感知机(MLP)

社会化推荐系统,其通过结合用户的社交关系来缓解用户对项目的评价数据的稀疏性问题,近年来被证实可以显著提高推荐性能。这些基于社交的推荐系统,许多都是将用户之间社交特征的线性地结合在一起。然而,这些方法缺乏从社会关系中捕获复杂和内在的非线性特征的能力。基于此,提出了DeepSoR[13]模型。

该框架提出了一种基于深度神经网络的模型,从社会关系中学习每个用户的非线性特征,简单来说就是将社交网络关系输入到当前经典的图嵌入模型node2vec中,然后得到社交用户的低维表示,并将其集成到概率矩阵分解中进行评价预测。实验结果表明,该方法优于目前最先进的社会化推荐系统。该文章为AAAI18的短文,感觉描述的不是很详细,也希望能与大家进行交流学习。

  • 循环神经网络(RNN)

众所周知,近年来深度学习技术被广泛的应用于社会化推荐系统中,用来提升推荐系统的用户体验。但大部分的社会化推荐方法他们只使用了直接邻居的信息,较远距离的邻居其实也可以提供有用的信息。同时,大多数模型对邻居的信息一视同仁。此外,大多数模型没有显示的捕捉邻居的意见信息到社交推荐场景中。基于此,提出了以下深度神经网络模型DSCF[14],用以捕捉带有不同观点的社交信息。

该深度社交推荐框架包含4层,分别是随机游走层,嵌入层,序列学习层和输出层。其中,随机游走层没有采用一般的随机游走策略,而是考虑不同项目对于用户序列的影响,用来生成项目感知的社交用户游走序列(item-aware social sequences);嵌入层用来建模用户-项目的交互信息,因为通过随机游走从用户邻居中获取了用户-项目的交互行为信息,所以在此学习用户对于项目的行为偏好;在序列学习层通过双向的LSTM(RNN)来学习项目感知的社交用户的低维嵌入表示;最后在输出层进行评分预测,进行有监督的训练。

  • 图卷积网络(GCN)

众所周知,近年来图神经网络(GNNs)被证明具有强大的图数据学习能力,能够将节点信息与拓扑结构有机结合。由于社交推荐系统中的数据可以表示为用户-用户社交图和用户-项目图,因此GNNs的这些优点为社交推荐提供了巨大的发展潜力,所以提出了以下深度社交推荐框架GraphRec[15],用来从丰富的社交信息中学得充分的特征表示。

该框架主要包括三个组件:用户建模组件、项目建模组件和评分预测组件。其中用户建模组件包括项目聚合和社交聚合两部分,因为对于一个用户其暴露于两个域中,即评分域和社交域,因此从两个域中可以学到更具表现力的特征表示。项目建模组件则与评分域中用户建模部分相似,只不过由原来的用户产生过行为的项目集合改为该项目被产生过行为的用户集合而已;最后为评分预测部分,通过将用户建模组件产生的用户特征向量与项目建模组件产生的项目特征向量进行串联输入到MLP中,最后进行有监督训练。

  • 对抗生成网络(GAN)

近年来,由于社交网络对我们日常生活的影响越来越大,因此社交推荐技术得到了飞速的发展。大多数现有的社会推荐方法统一了评分域和社交域的用户表示。然而,由于用户在两个领域的行为和交互方式不同,使得它们的表示具有异构性,因此可能会限制用户在各个领域的表示学习。此外,传统的推荐系统大多不能有效地优化这些目标,因为它们在优化过程中使用了负抽样技术,无法对训练提供足够的信息指导。为了解决上述挑战,提出了一个新的深度对抗社会推荐框架DASO[16]。

该框架所用数据包含两个域,即评分域和社交域。模型包括三个组件,即评分域中的对抗学习(Item domain adversarial learning)、社交域中的对抗学习(social domain adversarial learning )以及循环用户建模组件(cyclic user modeling )。其中,项目域对抗学习是采用对抗学习的方式来动态生成“困难”、信息量大的负样本来指导用户和项目的表示学习。生成器用于为每个用户“采样”(推荐)项目,并输出用户-项目对作为虚假样本;另一个是鉴别器,它将从真实的用户-项目交互对中区分生成的用户-项目对样本;社交域中的对抗学习与上述类似,也包括生成器和鉴别器,不同的是,其是从真实的用户-用户连接对中区分生成的"假"社交关系;循环用户建模组件旨在建模两种域中用户和项目的特征表示的联系。

四、写在最后

当然深度学习并不像媒体所吹嘘的那样,是所有应用任务的万能钥匙,同样有其限制条件与适用的场景。

首先,在数据量偏小的情况下,并不适合应用深度学习。由于其参数空间巨大,微小的数据喂给深度学习,并不足以填报它的肚子,致使很容易造成结果的过拟合状态。

其次,当数据不存在局部相关特性时,首选也不是深度学习。深度学习之所以能在计算机视觉以及自然语言处理领域大放异彩,有很大原因是图像和文本数据都具有局部相关性。比如图像中,相邻的点组成边,相连的边组成轮廓,可谓一个像素不能表达足够的信息,但一堆像素就能表示这是人脸还是狗头;语言中由单词组成句子,相邻的单词间存在相近的表达,同时单词间的次序一旦被打乱,那么整体所表达的信息也同时被打乱了。这些具有局部相关特性的数据,配合以特定的网络结构可以提取出其中的局部相关特性,同时配合深度架构达到层次特征的提取,从而达到令人满意的效果。而对于不具有局部相关特性的数据,没法用特定的网络拓扑来捕捉它们的信息,在深度学习中就只能用MLP来完成模型的训练,而通常MLP的效果通常要弱于GDBT , RF等传统集成树模型。

再者,不同的数据形式需要设计特定的网络结构,不存在通用的深度学习架构。图像数据被表示为二维矩阵的形式(当然三通道的图像被表示为三维矩阵),为了获取图像的局部特征,人们基于平移不变性设计出了参数共享的卷积神经网络(CNN),利用滑动窗口可以很好的捕捉局部特征,并且缩小了参数空间;文本数据被表示为序列的形式,人们基于分布式假设设计出了带滑动窗口的词嵌入技术(Word2vec),使得学到的词向量具有推理的作用;对于带有时间序列的数据,人们设计出了循环神经网络(RNN),使得参数可以受上一时刻的影响;对于图结构的数据,最近人们又设计出了图卷积神经网络(GCN)来更好的获取图结构上的特征;对于没有特殊形式的数据,深度学习不见得能更胜一筹,当人工特征工程做到一定程度后,传统模型是可以超越深度学习的。

另外,在需要给出较强业务理解的时候,不适合应用深度学习。因为深度学习的黑盒性质,使得结果要么惊人的好,要么吓人的差,使得人们不理解其中的原理,难以指导工程师进一步调整方案。另外即使通过调参达到了模型上线的标准,工程师也不敢轻易尝试,毕竟用户需要的是合理的解释,工程师需要的是稳定的性能和知根知底的算法。

以上对于社交推荐的总结只是自己浅显的一些认知,如有纰漏,欢迎大家批评指正。另外,以上提及的论文也只是推荐领域的沧海一粟,更多有意思的研究成果也欢迎大家进行分享,达到共同学习、共同促进的目的。

 

推荐阅读

 

[0].推荐系统领域中那些巧妙运用的idea

[1].社会化推荐浅谈

[2].推荐系统从入门到接着入门

[3]. 当推荐系统邂逅深度学习

[4].推荐系统干货总结

 

参考文献

[1].Jamali et al. A Matrix Factorization Technique with Trust Propagation for Recommendation in Social Networks. RecSys, 2010.

[2].Ma et al. Recommender systems with social regularization. WSDM, 2011.

[3].Ma et al. Sorec: social recommendation using probabilistic matrix factorization. CIKM, 2008.

[4].Guo et al. TrustSVD: Collaborative Filtering with Both the Explicit and Implicit Influence of User Trust and of Item Ratings. AAAI, 2015.

[5].Jamali et al. Trustwalker: a random walk model for combining trust-based and item-based recommendation. KDD, 2009.

[6].Perozzi et al. DeepWalk: online learning of social representations. KDD, 2014.

[7].Grover et al. node2vec: Scalable Feature Learning for Networks. KDD, 2016.

[8].Zhang et al. Collaborative User Network Embedding for Social Recommender Systems. SDM, 2017.

[9].Wang et al. Social recommendation with strong and weak ties. CIKM, 2016.

[10].Ma Hao. An experimental study on implicit social recommendation. SIGIR, 2013.

[11].Ma et al. Learning to recommend with trust and distrust relationships. RecSys, 2009.

[12].Rafailidis et al. Learning to Rank with Trust and Distrust in Recommender Systems. RecSys, 2017.

[13].Wenqi et al. Deep Modeling of Social Relations for Recommendation. AAAI, 2018.

[14].Wenqi et al. Deep Social Collaborative Filtering. RecSys, 2019.

[15].Wenqi et al. Graph Neural Networks for Social Recommendation. WWW, 2019.

[16].Wenqi et al. Deep Adversarial Social Recommendation. IJCAI, 2019.


P.S. 更多关于社交推荐论文,请关注【机器学习与推荐算法】公众号回复关键字"推荐系统论文"获取。点赞分享,让更多人看到吧。

另外,大家有什么想了解的东西也可以通过公众号与我进行交流,期待大家的留言。

发布了1 篇原创文章 · 获赞 1 · 访问量 42

Guess you like

Origin blog.csdn.net/weixin_44289754/article/details/104389365