浙江大学学报(工学版), 2020, 54(2): 311-319 doi: 10.3785/j.issn.1008-973X.2020.02.012

计算机技术、信息工程

融合用户信任和影响力的top-N推荐算法

张雪峰,, 陈秀莉, 僧德文,

Top-N recommendation algorithm combining user trust and influence

ZHANG Xue-feng,, CHEN Xiu-li, SENG De-wen,

通讯作者: 僧德文,男,副教授. orcid.org/0000-0003-0921-848X. E-mail: sengdw@hdu.edu.cn

收稿日期: 2019-01-5  

Received: 2019-01-5  

作者简介 About authors

张雪峰(1980—),男,讲师,从事推荐系统和智能计算研究.orcid.org/0000-0002-7735-6342.E-mail:zhangxf@hdu.edu.cn , E-mail:zhangxf@hdu.edu.cn

摘要

针对现有基于信任的推荐方法通常直接利用社交网络的二值信任关系来提高推荐质量,较少考虑用户间信任强度的差异和潜在影响的问题,提出结合用户信任和影响力的混合推荐算法进行top-N项目推荐. 采用自动编码器对用户行为进行无监督的初始特征优化,将高维、稀疏的用户行为压缩成低维、稠密的用户及项目特征向量;提出融合用户交互信息、偏好度和信任的新型信任度量模型,发掘社交网络中用户间的隐含信任关系,重构社会信任网络;将社会信任网络的拓扑结构和用户的交互信息融入结构洞算法,通过改进的结构洞算法来识别网络中的影响力用户,提高top-N项目推荐性能. 实验在FilmTrust、Epinions、Ciao这3个标准数据集上进行对比验证,实验结果证明了所提算法的有效性.

关键词: 社会化推荐 ; 用户信任 ; 影响力 ; 矩阵分解 ; 自动编码器

Abstract

A hybrid recommendation algorithm with the incorporation of user trust and social influence was proposed for top-N item recommendation, in view of the existing trust-aware recommendation systems, which directly use the binary trust relationship of social networks to improve the quality of recommendation, and less consider the difference of trust intensity and potential impact between users. The auto-encoder is used to perform unsupervised initial feature optimization on user behavior, and the high-dimensional and sparse user behaviors are compressed into low dimensional and dense users and item feature vectors. A novel trust value measurement model that combines user interaction information, preferences, and trust is brought up to explore the implicit trust relationship between users in social networks and reconstruct the social trust network. The improved structure hole algorithm is used to identify the influential users in the network and improve the top-N item recommendation performance, which integrates the topological structure of the social trust network and the user's interactive information. Comparison verification was conducted on three standard datasets, FilmTrust, Epinions and Ciao, and experimental results demonstrated the effectiveness of the proposed algorithm.

Keywords: social recommendation ; user trust ; influence ; matrix factorization ; auto-encoder

PDF (946KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

张雪峰, 陈秀莉, 僧德文. 融合用户信任和影响力的top-N推荐算法. 浙江大学学报(工学版)[J], 2020, 54(2): 311-319 doi:10.3785/j.issn.1008-973X.2020.02.012

ZHANG Xue-feng, CHEN Xiu-li, SENG De-wen. Top-N recommendation algorithm combining user trust and influence. Journal of Zhejiang University(Engineering Science)[J], 2020, 54(2): 311-319 doi:10.3785/j.issn.1008-973X.2020.02.012

近几十年来,越来越多的个性化推荐方法相继被提出,依据模型构建方式可以大致分为3类:基于内容的方法[1]、基于协同过滤的方法[2]和混合推荐方法[3]. 其中,协同过滤推荐算法仅利用评分信息进行推荐,受到工业界与学术界的广泛关注[1]. 依据社交关系理论[4],在社交网络中拥有较强社交关系的用户在某些方面往往具有相似偏好且互相影响,社会化推荐因此引起巨大关注[5-6]. 在社交网络中,用户间是否存在社交关系往往依赖于用户之间是否相互信任,信任关系从某种程度上来说提供了用户的偏好信息. Yang等[7]提出基于信任与被信任关系的社交推荐模型TrustMF. 依据信任关系的有向性,TrustMF将每个用户映射为2个不同的K维特征向量,分别称为信任者特征向量和被信任者特征向量. Jamali等[8]将信任传播的方法引入推荐算法SocialMF,通过约束用户与其好友的平均偏好相似来传播信任关系,从而得到更准确的结果. Ma等[9]提出社交正则化推荐模型,使用社交信息对用户特征向量进行规则化处理,从而利用好友的偏好信息影响用户的最终预测评分. 为了处理评分和信任关系的稀疏问题,Guo等[10]在奇异值分解(singular value decomposition++,SVD++)模型[11]的基础上引入社交信息,提出兼顾评分和信任信息的基于信任的矩阵分解模型TrustSVD,在预测未知项目的评分时考虑评分和信任信息的显性和隐性影响.

在现实生活中,用户对每个好友的信任度并不相同,甚至有可能完全不信任(即有可能仅仅出于礼貌而添加好友关系). 上述前人研究假设每个好友对用户的影响相同. 实际上,用户间的信任关系受多种因素的影响,有的是由于爱好相似,有的是由于相同的社交圈子,有的则仅仅是出于礼貌. 简单的二值信任网络并不能反映用户之间的影响力,也不能充分挖掘社交网络中隐含的用户偏好信息,即须进一步评估用户间的信任度.

为了解决以上问题,本研究提出基于用户信任和影响力的相似度推荐模型(factored similarity model with user trust and influence recommendation,FSTID)进行top-N项目推荐研究. 1)为了解决信任数据稀疏和二值信任关系问题,提出融合用户交互信息、偏好度和信任的新型信任度量模型,发掘社交网络用户间存在的隐含信任关系,构建社会信任网络. 2)将社会信任网络的拓扑结构和用户交互的显式反馈、隐式反馈信息融入结构洞算法,通过改进的结构洞算法来识别网络中的影响力用户,从而更全面地利用信任关系中的隐含信息. 3)综合考虑用户信任和影响力对推荐效果的影响,提出基于用户和项目相似性、信任及社会影响力的新型推荐模型,并针对传统协同过滤算法随机初始化用户及项目特征向量,采用自动编码器对用户行为进行无监督的初始特征优化,提高推荐性能. 4)在FilmTrust、Epinions、Ciao这3个标准数据集上进行大量对比验证以证明所提算法的高效性.

1. 基于信任和影响力推荐算法

1.1. 问题定义

在基于评分的协同过滤算法中,给定 $m$个用户的集合 $U = \left\{ {{u_1},{u_2}, \cdots ,{u_m}} \right\}$$n$个项目的集合 $I = \left\{ {{i_1},{i_2}, \cdots ,{i_n}} \right\}$及用户-项目评分矩阵 ${ R} = {[{r_{u,i}}]_{m \times n}}$${r_{u,i}}$为用户u在项目i上的评分. ${I_u} = \{ i|{r_{u,i}} \ne 0\} $为用户u已评分的项目集合, ${U_i} = \{ u|{r_{u,i}} \ne 0\} $为对项目i已评分的用户集合.

构建社会信任网络有向图 $G = (V,E)$,其中, $V$为顶点集,即所有用户; $E$为节点边集, $ < u,v > $为从节点u指向节点v的边,表示用户u对用户v的信任关系. 考虑信任的相互性、传递性和非对称性等特征,信任关系可以描述为信任与被信任2种状态. 如果用户A信任用户B,并不能保证用户B也对A具有同样的信任程度,即用户在信任与被信任时所变现出来的偏好并不相同. 因此,在建立的信任网络有向图基础上,引入参数 ${T_u}^ + $${T_u}^ - $分别表示用户u的信任者和被信任者,以描述用户的相互信任关系. $T_u^ - $为所有指向节点u的节点集合,即信任用户u的所有用户集合, $|T_u^ - |$为节点u的入度; $T_u^ + $为从节点u指出的节点集合,即用户u信任的所有用户集合, $|T_u^ + |$为节点u的出度.

1.2. 特征提取

图1所示为将用户-项目的评分矩阵输入自动编码器的输入层,经过自动编码器进行用户特征和项目特征提取的过程.

图 1

图 1   特征提取流程图

Fig.1   Flow chart of feature extraction


设计基于项目(或用户)的自动编码器,包含编码(输入层到隐含层)与解码(隐含层到输出层)2个部分. 在编码部分,将每个部分观察到的 ${U_i}/{I_u}$作为输入,投影到低维潜在(隐藏)空间;在解码部分,将编码数据映射回样本空间. 以样本的d维隐含层 ${ P}$为例( $d$为每个隐含层的神经元个数),令 ${ S} = [ {I_1},{I_2}, \cdots ,{I_m}] $为样本,自动编码器的主要步骤如下.

1)解码. 通过位于输入层与隐含层之间的权值矩阵 ${ W} \in {{\bf R}^{d \times m}}$和偏置向量 ${ b} \in {{\bf R}^d}$对样本S进行解码,得到样本的 $d$维隐含层 ${ P}$,表达式如下:

$ \begin{array}{l}{{ h}_1} = \sigma ({{ W}_1}{ S} + {{ b}_1}) ,\quad { P} = \sigma ({{ W}_2}{{ h}_1} + {{ b}_2}). \end{array} $

式中:h1为隐含层矩阵; $\sigma ( \cdot )$函数为Sigmoid激活函数, $\sigma (x) = $ $1/(1 + {{\rm e}^{ - x}})$.

2)编码. 自动编码器通过位于隐含层与输出层之间的权值矩阵 ${ W}$和偏置向量 ${ b}$,从隐含层 ${ P}$中重构原始数据 ${{ \hat S}}$

$ \begin{array}{l} {{ h}_{2}} = \sigma ({{ W}_{3}}{ P} + {{ b}_{3}}) ,\quad {{\hat S}} = {{ W}_{4}}{{ h}_{2}} + {{ b}_{4}} . \end{array} $

3)优化模型. 通过调整权值矩阵 ${ W}$与偏置向量 ${ b}$,从而最小化目标函数,表达式如下:

$ {{L}} = \frac{1}{{2m}}\sum\limits_{i = 1}^m {{{\left\| {\hat {{{{S}}_{i}}}{ - }{{{S}}_{i}}} \right\|}^2}} + \frac{\lambda }{2}{\left\| {{{{W}}_{1}}} \right\|^2} + \cdots + \frac{\lambda }{2}{\left\| {{{{W}}_{L}}} \right\|^2}. $

式中: ${{{ \hat S}}_{ i}}$${{ S}_{ i}}$分别为重构数据 ${{ \hat S}}$及原始数据 ${ S}$的第i维向量;WL为第L层隐含层矩阵; $\parallel \cdot {\parallel ^2}$表示向量或矩阵的 $L2$范数的平方,即各维度数值的平方和;目标函数中的第1项是误差项,用来最小化重构数据 ${{{ \hat S}}_{ i}}$与原始数据 ${{ S}_{ i}}$的误差;后几项是正则项,用来预防模型向训练数据过拟合.

在训练过程中,采用反向传播算法训练自动编码器. 利用反向传播算法,从输出层开始反向计算每个节点的残差,并利用这些残差计算代价方程对每个参数的偏导数. 在每个迭代过程中,更新权重矩阵的表达式如下:

$ { W} = { W} - l {{\partial { L}}}/{{\partial { W}}} . $

式中: $l$为学习率. ${ b}$采用相同的方式进行更新.

重复以上步骤不断对模型进行优化直至训练结束. 在训练结束后,将得到用户特征向量 ${ P}$和项目特征向量 ${ X}$.

1.3. 信任度计算

进行如下假设:如果2个用户对同一项目进行评价,就认为他们之间进行一次交互.

信任来源于主观个体的经验积累,用户 $u$越信任用户 $v$,与 $v$的交互才会越多. 初始信任度 ${t_{u,v}}$表达式如下:

$ {t_{u,v}} = \displaystyle\frac{{\min\;(|{I_u}\bigcap {{I_v}} |,{D_u})}}{{{D_u}}} . $

式中: ${I_u} \cap {I_v}$为用户 $u$$v$已进行过的交互次数,即共同评分项目数;Du为阈值,是可调节参数,用于衡量2个用户完全信任对方时的最少交互次数. 考虑到每个用户评分数目不一致,对完全信任的标准也可能不同,因此,设定每个用户的阈值 ${D_u} = \sqrt {|{I_u}|} $.

在现实生活中,人们之间的信任程度受交互经验的影响,彼此的信任度随项目交互结果的变化而逐渐变化. 若用户 $u$$v$对项目 $i$的评分均高于(低于)该用户的平均评分,就认为这次交互是成功(success)的,反之失败(failure):

式中:ru,irv,i分别为用户uv对项目i的评分, $\bar u$$\bar v$分别为用户 $u$$v$的平均评分.

另外,从大众心理出发,区分用户对项目的兴趣度差异对信任度变化造成的影响,即偏好度. 用户 $u$对项目 $i$的偏好度的表达式如下:

$ {\rm{Pre}}\;(u,i) = \frac{{\displaystyle\sum\nolimits_{o \in {U_i}} {{\rm{sim}}\;(u,o)} }}{{|{U_i}|}} . $

式中: $o$${U_i}$中的用户, ${\rm{sim}}\;\left( {{{u}},\;{{o}}} \right)$为用户uo的相似度, ${\rm{sim}}\;(u,o)$=0~1,值越大,说明用户uo越相似.

采用皮尔逊相关系数计算用户间的相似度:

$ \begin{split} &{\rm{sim}}\;(u,o) = \\&\;\; \left( {\displaystyle\frac{1}{2} + \frac{{\displaystyle\sum\limits_{i \in {I_u} \cap {I_o}}^{} {({r_{u,i}} - \bar u)({r_{o,i}} - \bar o)} }}{{2{{\left( {\displaystyle\sum\limits_{i \in {I_u} \cap {I_o}}^{} {{{({r_{u,i}} - \bar u)}^2}} } \right)}^{1/2}}{{\left( {\displaystyle\sum\limits_{i \in {I_u} \cap {I_o}}^{} {{{({r_{o,i}} - \bar o)}^2}} } \right)}^{1/2}}}}} \right)\times \\&\;\;\displaystyle\frac{{|{I_u} \cap {I_o}|}}{{|{I_u}|}}.\end{split} $

在成功或失败的交互中,根据用户对项目的偏好度为不同的项目分配不同的权重,得到最终的信任度:

$ \begin{array}{l} T(u,v) = \displaystyle\frac{{{\displaystyle\sum _{i \in {\rm{success}}}}{\rm{pre}}\;(u,i) - {\displaystyle\sum _{i \in {\rm{failure}}}}{\rm{pre}}\;(u,i)}}{{{\displaystyle\sum _{i \in {\rm{success}}}}{\rm{pre}}\;(u,i) + {\displaystyle\sum _{i \in {\rm{failure}}}}{\rm{pre}}\;(u,i)}}{t_{u,v}}. \end{array} $

1.4. 影响力用户识别

结构洞[12](structural holes,SH)理论能够较好地度量社会网络的影响力节点,识别影响力用户. 受相关研究的启发,本研究提出改进的结构洞算法(improved structural holes,ISH). ISH在传统的结构洞算法的基础上,融入邻居节点的入度及出度对目标节点的影响,能够有效挖掘有向图中的关键节点. 表达式如下:

$ \begin{split} C(u) =& \displaystyle\sum\limits_{v \in T_u^ - } {{{\left( {p(v,u) +\displaystyle\sum\limits_{q \in T_u^ - } {p(v,q)p(q,u)} } \right)}^2}} \times\\ & \displaystyle\frac{{|T_v^ + |}}{{|T_v^ + | + |T_v^ - |}} ,\;\; u \ne q \ne v . \end{split} $

式中: $C(u)$为节点 $u$受其他节点的网络结构约束的程度,较高的约束度表示较低的独立权,几乎没有接触非冗余信息源的机会; $ p(v,u)$为节点 $u$为维持节点 $v$和其关系所投入的精力占总精力的比例,表达式如下:

$\left. \begin{array}{l} p(v,u) = {{{Z_{vu}}}}\bigg/{{{\displaystyle\sum _{v \in T_u^ - }}{Z_{vu}}}} ,\\ {Z_{vu}} = \left\{ {\begin{array}{*{20}{c}} {1,}&{ < v,u > \in E};\\ {0,}&{ < v,u > \notin E}. \end{array}} \right. \end{array}\right\} $

$\displaystyle\sum\limits_{q \in T_u^ - }p {(v,q)p(q,u)} $由节点 $u$和节点 $v$的桥接节点 $q$的数量决定. 节点 $u$$v$$q$连接越紧密,它们之间形成的闭合三角形越多, $C(u)$越大,形成结构洞的机会就越小.

1.5. 个性化推荐

所提模型建立在FST(factored similarity models with social trust)[13]方法的基础上,将用户u对项目i的预测评分分为四部分:1)项目偏置 ${b_i}$;2)用户u和对项目i进行过评分的任何其他用户v之间的相似性 ${ p}_v^{\rm T}{{ q}_u}$${ p}_v$${ q}_u$分别为用户v与用户u的特定用户潜在特征向量;3)项目i和用户u已评分的任何其他项目j之间的相似性 ${ x}_j^{\rm T}{{ y}_i}$${ x}_j$${ y}_i$分别为项目j与项目i的特定项目潜在特征向量;4)用户u的任何信任用户w对目标项目i产生的影响 ${ p}_w^{\rm T}{{ y}_i}$. 评分预测的表达式如下:

$ \begin{split} {{\hat r}_{u,i}} =& s|{U_{i - u}}{|^{ - \beta }}\displaystyle\sum\limits_{v \in {U_{i - u}}} {{ p}_v^{\rm T}{{ q}_u}} + (1 - s)|{I_{u - i}}{|^{ - \alpha }}\displaystyle\sum\limits_{j \in {I_{u - i}}} {{ x}_j^{\rm T}{{ y}_i}} + \\ &|{T_u^+}{|^{ - z}}\displaystyle\sum\limits_{w \in {T_u}} {{ p}_w^{\rm T}{{ y}_i}} + {b_i} . \\[-20pt] \end{split} $

式中: ${U_{i - u}}$为除用户u之外对项目i已评分的用户集合; ${I_{u - i}}$为除项目i外用户u已评分的项目集合; ${T_u^+}$为用户u的信任用户;bi为项目i的偏置值; $s \in [0,1]$为用户相似性对预测评分的重要性;参数 $\alpha$$\beta $z分别控制获得高评分时所需的相似项目、相似用户以及信任用户的数量, $\alpha ,\;\beta ,\;z \geqslant 0$. 以参数 $\beta $为例,当 $\beta = 1$时,预测评分考虑的是对项目 $i$进行过评分的其他用户与用户 $u$之间的平均相似度,只有当绝大多数用户与用户u的相似度都较高时才能获得高评分;反之,当 $\beta {\rm{ = }}0$时,即使只有少量用户拥有高相似度,项目i也能得到高分,从而被系统推荐给目标用户.

根据以上分析,影响力用户对项目 $i$的推荐信息较重要. 另外,Guo等[10]证明那些信任用户 $u$的其他用户在一定程度上也影响用户 $u$对某个项目的决策. 因此,通过考虑以上因素来扩展FST的预测评分公式,提出FSTID模型,表达式如下:

$ \begin{split} {{\hat r}_{u,i}} =& s|{U_{i - u}}{|^{ - \beta }}\displaystyle\sum\limits_{v \in {U_{i - u}}} {{ p}_v^{\rm T}} {{ q}_u} + (1 - s)|{I_{u - i}}{|^{ - \alpha }}\displaystyle\sum\limits_{j \in {I_{u - i}}} {{ x}_j^{\rm T}} {{ y}_i} + \\ &\delta |T_u^ + {|^{ - z}}\displaystyle\sum\limits_{a \in T_u^ + } {{ p}_a^{\rm T}} {{ y}_i} + (1 - \delta )|T_u^ - {|^{ - z}}\displaystyle\sum\limits_{b \in T_u^ - } {{ p}_b^{\rm T}} {{ y}_i} + \\ &|{\rm{IU}}{|^{ - \mu }}\displaystyle\sum\limits_{f \in {\rm{IU}}} {{ p}_f^{\rm T}} {{ y}_i} + {b_i}.\\[-20pt] \end{split} $

式中: $\mu $为考虑影响力用户数量的参数;IU为影响力用户集合; $\delta $为控制信任者集合 $T_u^ + $和被信任者集合 $T_u^ - $的权重, $\delta \in [0,1]$$\delta = 0$表示完全不考虑信任者用户的影响, $\delta = 1$表示仅考虑信任者用户的影响. 对于每个影响力用户 $f \in {\rm{IU}}$,内积 ${ p}_f^{\rm T}{{ y}_i}$被视为影响力用户 $f$对目标项目 $i$的影响. 在FST中,特征矩阵 ${{P}}$${{Q}}$${{X}}$${{Y}}$都是随机生成的,由于本研究使用自动编码器进行预训练以实现特征提取,在FSTID方法中初始化特征矩阵为 ${ {{P}} = {{Q}},{{X}} = {{Y}}}$.

构建损失函数来优化FSTID模型. 本研究借鉴贝叶斯个性排序[14](Bayesian personalized ranking,BPR)中的损失函数,该函数不拟合具体评分值,而是最大化目标用户已有行为的出现. 损失函数表达式如下:

$ \begin{split} J =& \displaystyle\frac{1}{2}\displaystyle\sum\limits_{u \in U} {\displaystyle\sum\limits_{i \in I_u^ + ,j \in I_u^ - } {\left\| {({r_{u,i}} - {r_{u,j}}) - ({{\hat r}_{u,i}} - {{\hat r}_{u,j}})} \right\|_{\rm F}^2} } + \\ & \frac{\lambda }{2}(\left\| { P} \right\|_{\rm F}^2 + \left\| { Q} \right\|_{\rm F}^2 + \left\| { X} \right\|_{\rm F}^2 + \left\| { Y} \right\|_{\rm F}^2 + \left\| { b} \right\|_{\rm F}^2) . \end{split} $

式中: $I_u^ + $$I_u^ - $分别为用户u已评分项目及未评分项目.

采用梯度下降法进行最优化求解,直到损失函数收敛. 最后,返回偏移向量和特征矩阵作为输出.

2. 实验结果和分析

为了避免实验的倾向性,选择3个独立的数据集Filmtrust、Epinions、Ciao进行算法验证. 这3个真实世界的数据集同时包含评分数据和在线社交数据,如表1所示. 可以看出,这些数据集本质上都较稀疏.

表 1   数据集稀疏性分析

Tab.1  Dataset sparsity analysis

数据集 用户数量 项目数量 评分记录 评分稀疏度/%
Epinions 40 163 139 738 664 824 0.01
Ciao 7 375 99 746 139 738 0.04
FilmTrust 1 508 2 071 40 163 1.14

新窗口打开| 下载CSV


采用5-折交叉验证方法,选取5次结果的平均值作为最终实验结果. 和评分预测问题不同的是,采用3种流行的排名指标来评估推荐性能,即精确率(precision)、F1度量(F1 - measure)及归一化折损累积增益(normalized discounted cumulative gain,NDCG). 与大多数推荐系统类似,将备选项目按评分排序,并推荐前N个项目. 对于每个用户,定义 $P@N$$F1@N$、NDCG@N表达式分别为

$ P@N = \frac{1}{{|U'|}}\sum\limits_{u \in U'} {\frac{{|{R_N}(u) \cap {I_u}|}}{N}} , $

$ R@N = \frac{1}{{|U'|}}\sum\limits_{u \in U'} {\frac{{|{R_N}(u) \cap {I_u}|}}{{|{I_u}|}}}, $

$ F1@N = \frac{{2\times P@N\times R@N}}{{P@N + R@N}}, $

$ {\rm{DCG}}@N = \sum\limits_{i = 1}^N {\frac{{{2^{{\rm{rel}}(i)}} - 1}}{{{{\log }_2}\;(i + 1)}}} , $

$ {\rm{NDCG}}{\rm{@}}N{\rm{ = }}\frac{1}{{|U'|}}\sum\limits_{u \in U'} {\frac{{{\rm{DCG}}@N}}{{{\rm{IDCG}}@N}}} . $

式中:N为推荐的项目数,在本研究中通常设 $N = 5$$N = 10$$U'$为测试集中的用户合集; ${R_N}(u)$为所提算法给用户 $u$做出的top-N推荐列表; $P@N$为精确率,衡量推荐正确的物品个数占总推荐数量的比率; $R@N$为召回率,计算所有被推荐的项目占被用户评过分项目的比例; $F1$为精确值和召回率的调和均值;当项目 $i$被采用时, ${\rm{rel(}}i) = 1$,否则为0; ${\rm{IDCG}}{\rm{@}}N$为理想情况下的值,即当所有推荐项目均按用户的喜欢程度排序时的 ${\rm{DCG}}{\rm{@}}N$的取值. $P@N$$F1@N$${\rm{NDCG}}@N$越高,代表推荐性能越高.

选择当前最先进的算法进行对比和分析:1)MostPopular:通过受欢迎程度来计算项目的评分分数的基线方法,即该项目被其他用户评分或消费的次数. 2)BPR:经典的基于成对偏好假设的物品排序算法[14],在建模时只使用目标反馈,而没有考虑辅助反馈,通过学习用户对一对产品的偏好关系来预测用户最有可能偏好的产品. 3)GBPR(group Bayesian personalized ranking):Pan等[15]提出的基于BPR的改进方法,结合社交群体对用户偏好的影响来提高项目推荐质量. 4)FISM(factored item similarity model):Kabbur等[16]提出的基于项目相似度的top-N推荐方法,提高项目推荐性能. 5)FST:Guo等[13]提出的基于隐式用户反馈,并融合相似度和社会信任的top-N推荐方法. 6)FSTID、FSTID-:本研究所提出的用于对比的2个方法. 其中,FSTID-不采用自动编码器进行特征优化,其用户特征和项目特征值在(0,0.01)随机产生.

2.1. 节点影响力分析

为了进行节点影响力分析,采用经典的传染病Susceptible Infected(SI)模型进行仿真研究,该模型可以很好地模拟信息、病毒的传播过程. 在SI疾病传播模型中,网络中的节点在任一时刻都有2种可能状态,易感态S和感染态I. 感染态的节点在每个时间段会以 $\gamma \in (0,1.0)$的传播概率向邻居节点传播病毒,处于易感态 $S$的节点在被感染后转变为感染态 $I$并且不能恢复.

在实验中,以FilmTrust和Ciao的实际社交网络数据为样本,设定 $\gamma {\rm{ = }}0.001$,取网络中任意节点作为初始传播源,定义在规定传播时间 $t = 10$后受感染的节点总数 ${S_{ im}}$为该节点的实际传播影响力. 重复多次实验以得到更为可靠的结果,表达式如下:

$ \overline {{S_{ i}}} = \frac{1}{M}\sum\limits_{m = 1}^M {{S_{{ i}m}}} . $

式中:M为对节点i进行重复实验的次数,在本研究中取 $M = 100$;取M次结果的平均值 $\overline {{S_{ i}}} $作为节点的最终实际影响力. 实验结果如图2所示. 图2(a)~(c)为在FilmTrust数据集上的实验结果,图2(d)~(f)为在Ciao数据集上的实验结果. 图中,No为排名. 结果表明,1)低影响力节点(下部阴影区域内):在2个数据集中,SH方法与度中心性(degree centrality,DC)方法所得结果相比,节点数目较一致,但SH所得的节点排名比DC更靠后,说明结构洞方法效果好于度中心性方法. 同时,ISH方法统计出的节点中低影响力节点所占比例明显低于其他2个方法,且大部分集中在排名后半段. 2)高影响力节点(上部阴影区域内):对Top-25节点进行统计,发现在FilmTrust数据集中,DC、SH、ISH方法算出的高影响力节点数目分别为18、15、18;在Ciao数据集中,3个方法算出的高影响力节点数分别为8、9、11;结果相差不大,说明“入度”越大的节点越重要这一原则依然有效. 本研究所提出的改进结构洞方法充分利用邻居节点的度信息,从而能更好地识别高影响力节点. 3)平均值:平均值越大说明整体识别性能越好,由图可以看出,ISH在3个数据集中都取得了最高的均值.

图 2

图 2   各算法得出的排名与实际影响力的相关性分析

Fig.2   Correlation analysis between rankings obtained by each algorithm and actual influence


2.2. 模型参数影响分析

2.2.1. 参数 $\alpha $$\beta $$z$$\mu $的影响

为了节省空间,设置 $\alpha ,\;\beta ,\;z,\;\mu $={0.5,1.0,2.0},同时设置参数s$\delta $=0.5,以更直观地观察这些参数对推荐性能的影响. 由于实验数据过多,仅列出各个数据集中前5个最好 $P@10$结果的参数配置,并统计每个数据集的最佳参数,如表2所示. 可以看出,不同的参数设置会导致不同的结果,并且在不同数据集上最佳参数也不相同. 在Epinions、Ciao、FilmTrust中,最佳参数配置分别为{0.5,2.0,2.0,0.5}、{0.5,2.0,0.5,0.5}、{0.5,1.0,1.0,0.5},即当 $\alpha = 0.5,\;\beta ,z > 1,\mu < 1$时,通常能得到最好的结果,表明在前 $N$项推荐中,应该减少用户相似度和影响力用户的影响,同时增加项目相似性和信任用户的影响.

表 2   3个数据集上精确率排名Top-5的参数配置

Tab.2  Top 5 parameter configurations for precision on three datasets

排名 Epinions Ciao FilmTrust
P@10 $\alpha $ $\beta $ $z$ $\mu $ P@10 $\alpha $ $\beta $ $z$ $\mu $ P@10 $\alpha $ $\beta $ $z$ $\mu $
1 0.010 486 0.5 2.0 2.0 0.5 0.023 78 0.5 2.0 2.0 2.0 0.352 258 2.0 1.0 1.0 0.5
2 0.010 467 1.0 2.0 0.5 0.5 0.023 609 0.5 0.5 0.5 0.5 0.351 964 2.0 0.5 2.0 2.0
3 0.010 379 2.0 1.0 2.0 0.5 0.023 411 1.0 2.0 1.0 1.0 0.351 819 0.5 1.0 0.5 1.0
4 0.010 243 1.0 2.0 1.0 1.0 0.023 396 0.5 2.0 1.0 0.5 0.351 819 1.0 1.0 0.5 0.5
5 0.010 231 0.5 2.0 0.5 2.0 0.023 36 2.0 0.5 0.5 1.0 0.351 775 0.5 0.5 0.5 0.5

新窗口打开| 下载CSV


2.2.2. 参数 $s$$\delta $的影响

在实验中,将 $\alpha $$\beta $$z$$\mu $设为2.2.1节实验中得出的最优值, $s$$\delta $在[0,1.0]以0.1的步长改变进行实验. 首先,设定 $s = 0.5$,从而取得 $\delta $的一系列结果并确定 $\delta $,再反过来对 $s$进行实验,结果如图3所示. 可以看出,对于不同的数据集,适当的 $s$$\delta $可以帮助改善推荐性能,虽然达到卓越性能的值可能在不同的数据集中有所不同,但 $s$$\delta $= 0和 $s$$\delta $= 1时的性能远远差于取大多数其他值时的性能. 可以得出结论:相比绝对的只考虑用户相似性或者信任者用户,不如将用户相似性、项目相似性,以及信任者和被信任者进行适当组合,这样能带来更好的推荐性能,这也是本研究的初衷.

图 3

图 3   参数$s$、$\delta $在3个数据集上的精确率结果

Fig.3   Precision results of parameter $s$ and $\delta $ on three datasets


2.2.3. 影响力用户数目的影响

在本研究所提方法中,选取影响力最大的前k%的用户作为全局影响力用户. 在社交网络中仅有少量用户具有明显的影响作用,所以最多选取前10%的用户进行实验. 为了验证参数 $k$对推荐性能的影响,以1的步长,从0到10修改 $k$,结果如图4所示. 可以看出,在Epinions、Ciao、FimlTrust中的最佳值分别为2、4、7;在这3个数据集中,当 $k = 0$时,即不考虑影响力用户时,结果是最差的,说明考虑影响力用户可以有效提高推荐精度.

图 4

图 4   参数$k$在3个数据集上的精确率结果

Fig.4   Precision results of parameter $k$ on three datasets


2.3. 对比方法实验分析

为了使实验不失偏向性,在Filmtrust、Epinions、Ciao数据集上进行测试,并且验证算法在维度为5、10时的精度. 各种算法在3个数据集中的实验结果和分析如表3所示. 可以看出,1)FST是基于FISM的改进方法,在所有实验中,它都取得除本研究所提方法之外最好的结果,证明隐式反馈并融合社会信任的方法是可行的. 在FSTID-中同时融入社会影响力,并将被信任者用户的影响也纳入推荐中,实验结果表明本研究所提方法FSTID-比FST的效果更好,说明融入影响力用户对提升推荐性能有较大帮助. 2)对比FSTID-与FSTID,可以看出,FSTID的性能总是优于FSTID-,表明相比于随机生成特征,采用自动编码器从原始数据进行特征提取更加有益于算法整体推荐性能的提升.

表 3   Top-N项目推荐对比实验结果

Tab.3  Top-N item recommendation comparison experiment results

数据集 方法 N=5 N=10
$P@N$ $F1@N$ ${\rm{NDCG}}@N$ $P@N$ $F1@N$ ${\rm{NDCG}}@N$
Epinions MostPop 0.011 690 0.012 98 0.012 334 0.009 171 0.013 05 0.016 238
GBPR 0.009 353 0.011 03 0.012 296 0.007 560 0.011 11 0.016 095
FISM 0.011 470 0.013 07 0.012 808 0.009 020 0.013 15 0.016 361
FST 0.011 790 0.013 30 0.013 988 0.009 187 0.013 28 0.016 930
FSTID- 0.012 310 0.014 02 0.014 355 0.010 240 0.014 59 0.017 588
FSTID 0.012 430 0.014 15 0.014 470 0.010 480 0.014 76 0.017 832
Ciao MostPop 0.026 770 0.024 36 0.025 906 0.021 420 0.026 62 0.033 443
GBPR 0.022 280 0.020 63 0.022 319 0.018 270 0.021 16 0.028 759
FISM 0.027 040 0.024 95 0.026 185 0.021 410 0.026 87 0.032 510
FST 0.027 410 0.025 23 0.027 240 0.021 740 0.027 20 0.034 910
FSTID- 0.028 300 0.026 44 0.027 389 0.023 290 0.029 14 0.035 503
FSTID 0.029 240 0.026 82 0.027 634 0.023 610 0.029 50 0.035 932
FilmTrust MostPop 0.417 000 0.409 50 0.409 529 0.350 300 0.451 80 0.538 924
GBPR 0.412 400 0.405 10 0.372 923 0.347 000 0.445 80 0.500 997
FISM 0.417 100 0.408 70 0.413 404 0.350 300 0.451 60 0.540 511
FST 0.419 100 0.409 90 0.419 351 0.351 400 0.452 10 0.545 109
FSTID- 0.419 800 0.411 60 0.426 273 0.353 200 0.454 10 0.547 688
FSTID 0.420 500 0.412 40 0.427 569 0.353 300 0.454 80 0.551 260

新窗口打开| 下载CSV


2.4. 算法复杂度和运行时间对比分析

所提方法FSTID的时间复杂度分析关键点在于目标函数和最优化求解过程的计算,总计算时间成本为 $O({n_{\rm t}}bd(|{ R}| + |{ T}|))$${n_{\rm t}}$为训练矩阵的数目, $b$为用户的平均已评分项目个数, $d$为特征向量维度. 鉴于评分矩阵R和信任矩阵T较稀疏,FSTID的时间复杂度远低于矩阵基数.

为了进一步验证算法的效率,展示各算法分别在3个数据集上的运行时间,如表4所示. 考虑FSTID比FSTID-相对增加了读取特征矩阵文件的时间,在实际运行中,该时间差可忽略不计,为此仅展示FSTID运行时间. 由表4可以看出,FSTID方法在保持较高推荐性能的前提下,在Ciao、FilmTrust这2个数据集上的运行时间较短,优于FST的运行时间. 在Epinions数据集上FISM和GBPR花费了最长的运行时间,且FST获得了除MostPop外最好的成绩. 与FST相比,FSTID虽然需要更久的运行时间,但差距并不明显,并且FSTID能有效提升推荐性能.

表 4   各算法在3个数据集上的实际运行时间

Tab.4  Actual runtime of each algorithm on three datasets min

数据集 MostPop GBPR FISM FST FSTID
Epinions 8.98 97.20 106.20 47.00 63.60
Ciao 0.38 8.86 7.70 20.00 11.61
FilmTrust 0.05 0.92 1.34 5.00 3.83

新窗口打开| 下载CSV


3. 结 语

基于社会信任和影响力的个性化推荐算法,着重于利用社会网络中高影响力用户的信息传播能力,从而进一步提高推荐精度;同时利用自动编码器初始化用户和项目潜在特征向量,有效提升推荐算法的整体性能. 在FilmTrust、Epinions、Ciao这3个标准数据集上的对比实验结果证明本研究所提方法FSTID的有效性和较高推荐精度,特别是对于稀疏用户,能够取得明显的提高.

此外,在实验中发现仍有一些问题值得进一步研究. 一方面,在识别影响力用户时,没有考虑信任的领域相关性从而导致识别出的影响力用户不是用户所期望领域的影响用户;另一方面,如果仅在信任网络的一个静态快照上识别影响用户而忽略信任网络的动态性,会导致识别出影响力已经消失或变弱的影响用户. 后续将继续引入主题和时间的概念,致力于研究如何根据用户的评分时间来计算用户对项目喜好的动态变化以及信任的动态变化,以便能够更及时地推荐符合用户偏好的项目.

参考文献

MOONEY R J, ROY L. Content-based book recommending using learning for text categorization [C]// Proceedings of the 5th ACM Conference on Digital Libraries. San Antonio: ACM, 2000: 195-204.

[本文引用: 2]

RESNICK P, IACOVOU N, SUCHAK M, et al. GroupLens: an open architecture for collaborative filtering of netnews [C]// Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work. North Carolina: ACM, 1994: 175-186.

[本文引用: 1]

BALABANOVI M, SHOHAM Y

Fab: content-based, collaborative recommendation

[J]. Communications of the ACM, 1997, 40 (3): 66- 72

DOI:10.1145/245108.245124      [本文引用: 1]

MARSDEN P V, FRIEDKIN N E

Network studies of social influence

[J]. Sociological Methods and Research, 1993, 22 (1): 127- 151

DOI:10.1177/0049124193022001006      [本文引用: 1]

KAUTZ H, SELMAN B, SHAH M

Referralweb: combining social networks and collaborative filtering

[J]. Communications of the ACM, 1997, 40 (3): 63- 65

DOI:10.1145/245108.245123      [本文引用: 1]

MA H, YANG H, LYU M R, et al. Sorec: social recommendation using probabilistic matrix factorization [C]// Proceedings of the 17th ACM Conference on Information and Knowledge Management. California: ACM, 2008: 931-940.

[本文引用: 1]

YANG B, LEI Y, LIU J, et al

Social collaborative filtering by trust

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39 (8): 1633- 1647

DOI:10.1109/TPAMI.2016.2605085      [本文引用: 1]

JAMALI M, ESTER M. A matrix factorization technique with trust propagation for recommendation in social networks [C]// Proceedings of the 4th ACM Conference on Recommender Systems. New York: ACM, 2010: 135-142.

[本文引用: 1]

MA H, ZHOU D, LIU C, et al. Recommender systems with social regularization [C]// Proceedings of the 4th ACM International Conference on Web Search and Data Mining. Hong Kong: ACM, 2011: 287-296.

[本文引用: 1]

GUO G, ZHANG J, YORKE-SMITH N

A novel recommendation model regularized with user trust and item ratings

[J]. IEEE Transactions on Knowledge and Data Engineering, 2016, 28 (7): 1607- 1620

DOI:10.1109/TKDE.2016.2528249      [本文引用: 2]

KOREN Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model [C]// Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Las Vegas: ACM, 2008: 426-434.

[本文引用: 1]

BURT R S. Structural holes: the social structure of competition [M]. Cambridge: Harvard university press, 2009.

[本文引用: 1]

GUO G, ZHANG J, ZHU F, et al

Factored similarity models with social trust for top-N item recommendation

[J]. Knowledge-based Systems, 2017, 122: 17- 25

DOI:10.1016/j.knosys.2017.01.027      [本文引用: 2]

RENDLE S, FREUDENTHALER C, GANTNER Z, et al. BPR: Bayesian personalized ranking from implicit feedback [C]// Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence. Montreal: ACM, 2009: 452-461.

[本文引用: 2]

PAN W, CHEN L. GBPR: group preference based bayesian personalized ranking for one-class collaborative filtering [C]// Twenty-Third International Joint Conference onArtificial Intelligence. Beijing: ACM, 2013: 2691-2697.

[本文引用: 1]

KABBUR S, NING X, KARYPISs G. Fism: factored item similarity models for top-N recommender systems [C]// Proceedings of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Chicago: ACM, 2013: 659-667.

[本文引用: 1]

/