『失踪人口回归,坚持输出是一件很难,但坚持了就很有意义的事儿』
社交网络分析研究的是人与人之间相互作用、相互连接以及相互影响的理论。作为传统并骨感的数据的有效补充,社交网络可以丰富从骨感数据中学到的用户画像,以及增强用户与物品之间关系的函数,从侧面丰富了”两点一线“。因此结合社交网络的推荐可以理解为通过利用社交网络分析技术来更好的理解人与人之间的行为、关系等机理以此来更好的为合适的人找到合适的物品。
同质性和社会影响
其中,第一和第三部分与SocialMF方法一致,不同的是第二部分社交约束项。由之前的约束用户的向量与关注朋友向量的平均向量相近改进为约束用户的向量与每一个关注朋友的向量相近,同时考虑了用户与每个朋友之间的社交相似性,相似性度量为两个用户的共同打分程度。通过改进,使得算法不仅仅考虑用户的社交连接,还将评分偏好纳入到了社交相似性度量上,起到了细粒度的社交影响对于推荐的提升。
以上两种模型可以看作是在矩阵分解的基础模型上,通过增加社交约束项来学习用户的向量表示。除了上述方式来融合社交信息外,还可以通过同享表示的方式来利用社交信息。HaoMa等人提出的SoRec[3]算法可以看作基于特征共享的社交推荐算法,具体的公式如下所示。
其中,第一项为评分矩阵分解,旨在拟合用户的评分习惯同时学得隐式行为信息;第二项为信任矩阵分解,旨在拟合用户的信任关系;第三项为正则项,用来避免模型出现过拟合问题。为了同时捕捉用户的显式和隐式的评分以及社交信息,关键在于第一项,其中用户对于项目的具体评分预测公式如下所示。
小世界理论
比如,Jamali等人提出了TrustWalker[5]算法,一个结合了基于信任方法和协同过滤方法的随机游走模型。其中,在随机游走的过程中应用了六度分隔理论。
无标度网络
现实世界中的网络,只有少数的节点往往拥有大量的连接,而大部分节点却存在很少连接。一般将网络中的节点度分布符合幂律分布的复杂网络称为无标度网络(Scale-free Network)。这也很符合实际情况,大佬往往是极少的,更多的是平凡普通人。
目前大火的网络嵌入技术比如Deepwalk[6],node2vec[7]等模型之所以有效,是因为在社交网络中随机游走产生的序列通过统计结点的分布发现,用户结点的分布与词的分布都满足幂律分布(Power Law)。因此很巧妙的将自然语言处理中的词嵌入技术迁移到社交网络分析中的结点嵌入任务中。可以很自然的将随机游走序列(Sequence)类比为自然语言中的句子(Sentence),社交网络中的用户结点(Node)类比为语料库中的词语(Word),然后将其输入到word2vec模型中,以此产生低维、连续、稠密的用户结点的嵌入表示。
值得注意的是,其中语义社交正则项中的社交朋友是通过网络嵌入技术计算得到的,具体的计算步骤如下图所示。
首先通过one-mode映射方法从UI网络中得到用户协同网络CU,然后在CU网络中进行改进的随机游走产生用户结点序列,最后输入到SkipGram模型中,得到每个用户的低维嵌入表示。最终通过低维嵌入向量来计算用户与用户的相似度,得到最终的Top-k语义朋友集合。
强弱关系
二、然后,我们从另一个角度总结几种利用不同类型的社交信息来结合到推荐中的场景,以此来充分的挖掘用户社交属性来提升推荐体验。
显式社交信息vs隐式社交信息
以往的文献通过实验表明,社交信息对于改进传统的推荐算法是非常有效的。但是,现实世界中,并非所有的推荐系统中都存在显式的社交朋友关系。2013年的文章[10]明确了显式和隐式社交的定义,同时给出了对于两种社交信息的有效性验证。
如图所示,将用户存在的真实的社交朋友信息称为显式的社交信息,将从评分信息中学到的相似行为的用户集合称为隐式的社交信息。通过实验表明,在系统缺乏显式的社交信息时,通过评分信息生成的隐式社交信息对于推荐系统的性能提升有所帮助;另外,也验证了显式社交信息的有效性要比隐式社交信息的有效性要强的观点。
信任社交信息vs敌对社交信息
通过细分社交网络中连接信息的类型,可以细粒度的建模用户偏好模型,进而得到更加准确的用户特征表示。09年Hao Ma等人将该信息应用到推荐中的评分预测任务当中[11],更具体的是结合到矩阵分解模型里,公式如下所示。
该函数第一项为基本的矩阵分解,第二项为约束用户的特征表示与朋友的特征表示相近。另外,对于敌对信息,与上式相反,通过增加约束项,使得用户的特征表示在向量空间中尽可能的与敌对关系较远,具体函数见下式。
社会化推荐系统,其通过结合用户的社交关系来缓解用户对项目的评价数据的稀疏性问题,近年来被证实可以显著提高推荐性能。这些基于社交的推荐系统,许多都是将用户之间社交特征的线性地结合在一起。然而,这些方法缺乏从社会关系中捕获复杂和内在的非线性特征的能力。基于此,提出了DeepSoR[13]模型。
该框架提出了一种基于深度神经网络的模型,从社会关系中学习每个用户的非线性特征,简单来说就是将社交网络关系输入到当前经典的图嵌入模型node2vec中,然后得到社交用户的低维表示,并将其集成到概率矩阵分解中进行评价预测。实验结果表明,该方法优于目前最先进的社会化推荐系统。该文章为AAAI18的短文,感觉描述的不是很详细,也希望能与大家进行交流学习。
循环神经网络(RNN)
众所周知,近年来深度学习技术被广泛的应用于社会化推荐系统中,用来提升推荐系统的用户体验。但大部分的社会化推荐方法他们只使用了直接邻居的信息,较远距离的邻居其实也可以提供有用的信息。同时,大多数模型对邻居的信息一视同仁。此外,大多数模型没有显示的捕捉邻居的意见信息到社交推荐场景中。基于此,提出了以下深度神经网络模型DSCF[14],用以捕捉带有不同观点的社交信息。
众所周知,近年来图神经网络(GNNs)被证明具有强大的图数据学习能力,能够将节点信息与拓扑结构有机结合。由于社交推荐系统中的数据可以表示为用户-用户社交图和用户-项目图,因此GNNs的这些优点为社交推荐提供了巨大的发展潜力,所以提出了以下深度社交推荐框架GraphRec[15],用来从丰富的社交信息中学得充分的特征表示。
该框架主要包括三个组件:用户建模组件、项目建模组件和评分预测组件。其中用户建模组件包括项目聚合和社交聚合两部分,因为对于一个用户其暴露于两个域中,即评分域和社交域,因此从两个域中可以学到更具表现力的特征表示。项目建模组件则与评分域中用户建模部分相似,只不过由原来的用户产生过行为的项目集合改为该项目被产生过行为的用户集合而已;最后为评分预测部分,通过将用户建模组件产生的用户特征向量与项目建模组件产生的项目特征向量进行串联输入到MLP中,最后进行有监督训练。
该框架所用数据包含两个域,即评分域和社交域。模型包括三个组件,即评分域中的对抗学习(Item domain adversarial learning)、社交域中的对抗学习(social domain adversarial learning )以及循环用户建模组件(cyclic user modeling )。其中,项目域对抗学习是采用对抗学习的方式来动态生成“困难”、信息量大的负样本来指导用户和项目的表示学习。生成器用于为每个用户“采样”(推荐)项目,并输出用户-项目对作为虚假样本;另一个是鉴别器,它将从真实的用户-项目交互对中区分生成的用户-项目对样本;社交域中的对抗学习与上述类似,也包括生成器和鉴别器,不同的是,其是从真实的用户-用户连接对中区分生成的"假"社交关系;循环用户建模组件旨在建模两种域中用户和项目的特征表示的联系。
四、写在最后
推荐阅读
参考文献
[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.
另外,大家有什么想了解的东西也可以通过公众号与我进行交流,期待大家的留言。