第10卷第2期 智能系统学报 Vol.10 No.2 2015年4月 CAAI Transactions on Intelligent Systems Apr.2015 D0:10.3969/j.issn.1673-4785.201406017 网络出版地址:http://www.cnki.net/kcms/detail/23.1538.TP.20150302.1106.007.html 融合上下文信息的社会网络推荐系统 李慧12,马小平1,胡云2,施琚2 (1.中国矿业大学信电学院,江苏徐州221008:2.淮海工学院计算机工程学院,江苏连云港222005) 摘要:上下文环境和社会网络信息已经成为推荐系统所需的重要信息来源,在推荐系统中融入这些信息将进一步 改进推荐系统的精度和用户满意度。为了提高用户对推荐系统的满意度,提出一种融入上下文信息与社交网络信 息的个性化推荐系统C$。该算法应用随机决策树划分原始的用户-商品评分矩阵来进行上下文信息的处理,使得具 有相似上下文信息的评分被分为一组。随后应用矩阵因式分解来预测用户对未评分项的预测。为了整合社交网络 信息,在考虑上下文信息的环境下提出了一种融入社会网络关系的增强推荐模型,使用一种基于信任度的皮尔逊相 关系数来衡量用户的相似度。在真实的实验数据集上进行验证,表明C©系统推荐较传统的基于上下文的和基于社 会网络的推荐算法在性能上和推荐性能上有了很大的改善。 关键词:上下文:信息:社会网络:矩阵因式分解:推荐:协同过滤 中图分类号:TP391文献标志码:A文章编号:1673-4785(2015)02-0293-08 中文引用格式:李慧,马小平,胡云,等.融合上下文信息的社会网络推荐系统[J].智能系统学报,2015,10(2):293-300. 英文引用格式:LI Hui,MA Xiaoping,HUYun,etal.Social network recommendaton system mixing contex information[J].CAAl Transactions on Intelligent Systems,2015,10(2):293-300. Social network recommendaton system mixing contex information LI Hui'2,MA Xiaoping',HU Yun2,SHI Jun' (1.School of Information Electrical Engineering,China University of Mining Technology,Xuzhou 221008,China;2.Department of Computer Science,Huaihai Institute of Technology,Lianyungang 222005,China) Abstract:Contexts and social network information is valuable information for building an accurate recommender sys- tem.The merging of such information could further improve accuracy of the system and user satisfaction.This paper proposes the context and social(CS)network,which is novel context-aware recommender system incorporating e- laborately processed social network information,in order to increase the user satisfaction on the recommendation system.The contextual information happens by applying random decision trees to partition the original user-item-rat- ing matrix such that the ratings with similar contexts are together.The matrix factorization functionality is to predict missing preference of a user for an item using the partitioned matrix.An enhanced recommendation model aided by social relationships considering the context information is proposed.A trust-based Pearson Correlation Coefficient is proposed to measure user similarity.Real datasets based experiments showed that CS enhances its performance com- pared with traditional recommendation algorithms based on context and social networks. Keywords:context;information;social network;matrix factorization;recommendation;collaborative filtering 社交网络服务是Wb2.0应用中的重要一类。 收稿日期:2014-06-11.网络出版日期:2015-03-02. 这种系统帮助用户在互联网上与现实中的好友保持 基金项目:国家自然科学基金资助项目(61403156,61403155):江苏省 高校自然科学基金资助项目(13KJB520002,14KB520005). 联络、分享内容等。然而随着社交网络的使用人数 通信作者:李慧.E-mail:shufanzs@126.com 增加,用户分享的数据也不断上升,信息过载的问题
第 10 卷第 2 期 智 能 系 统 学 报 Vol.10 №.2 2015 年 4 月 CAAI Transactions on Intelligent Systems Apr. 2015 DOI:10.3969 / j.issn.1673⁃4785.201406017 网络出版地址:http: / / www.cnki.net / kcms/ detail / 23.1538.TP.20150302.1106.007.html 融合上下文信息的社会网络推荐系统 李慧1 ,2 ,马小平1 ,胡云2 ,施珺2 (1.中国矿业大学 信电学院,江苏 徐州 221008; 2. 淮海工学院 计算机工程学院,江苏 连云港 222005) 摘 要:上下文环境和社会网络信息已经成为推荐系统所需的重要信息来源,在推荐系统中融入这些信息将进一步 改进推荐系统的精度和用户满意度。 为了提高用户对推荐系统的满意度,提出一种融入上下文信息与社交网络信 息的个性化推荐系统 CS。 该算法应用随机决策树划分原始的用户-商品评分矩阵来进行上下文信息的处理,使得具 有相似上下文信息的评分被分为一组。 随后应用矩阵因式分解来预测用户对未评分项的预测。 为了整合社交网络 信息,在考虑上下文信息的环境下提出了一种融入社会网络关系的增强推荐模型,使用一种基于信任度的皮尔逊相 关系数来衡量用户的相似度。 在真实的实验数据集上进行验证,表明 CS 系统推荐较传统的基于上下文的和基于社 会网络的推荐算法在性能上和推荐性能上有了很大的改善。 关键词:上下文;信息;社会网络;矩阵因式分解:推荐;协同过滤 中图分类号:TP391 文献标志码:A 文章编号:1673⁃4785(2015)02⁃0293⁃08 中文引用格式:李慧,马小平,胡云,等. 融合上下文信息的社会网络推荐系统[J]. 智能系统学报, 2015, 10(2): 293⁃300. 英文引用格式:LI Hui, MA Xiaoping, HU Yun, et al. Social network recommendaton system mixing contex information[J]. CAAI Transactions on Intelligent Systems, 2015, 10(2): 293⁃300. Social network recommendaton system mixing contex information LI Hui 1 ,2 , MA Xiaoping 1 , HU Yun 2 , SHI Jun 2 (1. School of Information & Electrical Engineering, China University of Mining & Technology, Xuzhou 221008, China; 2. Department of Computer Science, Huaihai Institute of Technology, Lianyungang 222005, China) Abstract:Contexts and social network information is valuable information for building an accurate recommender sys⁃ tem. The merging of such information could further improve accuracy of the system and user satisfaction. This paper proposes the context and social (CS) network, which is novel context⁃aware recommender system incorporating e⁃ laborately processed social network information, in order to increase the user satisfaction on the recommendation system. The contextual information happens by applying random decision trees to partition the original user⁃item⁃rat⁃ ing matrix such that the ratings with similar contexts are together. The matrix factorization functionality is to predict missing preference of a user for an item using the partitioned matrix. An enhanced recommendation model aided by social relationships considering the context information is proposed. A trust⁃based Pearson Correlation Coefficient is proposed to measure user similarity. Real datasets based experiments showed that CS enhances its performance com⁃ pared with traditional recommendation algorithms based on context and social networks. Keywords:context; information; social network; matrix factorization; recommendation; collaborative filtering 收稿日期:2014⁃06⁃11. 网络出版日期:2015⁃03⁃02. 基金项目:国家自然科学基金资助项目( 61403156,61403155);江苏省 高校自然科学基金资助项目(13KJB520002,14KJB520005). 通信作者:李慧. E⁃mail:shufanzs@ 126.com. 社交网络服务是 Web 2.0 应用中的重要一类。 这种系统帮助用户在互联网上与现实中的好友保持 联络、分享内容等。 然而随着社交网络的使用人数 增加,用户分享的数据也不断上升,信息过载的问题
·294. 智能系统学报 第10卷 也随之出现。另外,社交网络第1次提供了丰富的 用户间信息传播建模,不能反映用户间只有部分兴 真实世界中人们的社交信息,利用这些信息的研究 趣相同的问题,给出了一种将多种目标函数融合在 在各个学科中也不断出现。对于推荐系统来说,如 一起的方法,并在矩阵分解的框架下进行求解。 何利用社交网络所提供的这些信息,进行更精确地 然而,目前大部分社会网络推荐模型在度量2 推荐,成为一个重要研究方向2]。大部分推荐系 个用户的相似性时,基本都忽视了上下文信息。比 统都采用协同过滤技术,它通过分析用户对相似项 如,即使一个用户和其朋友的品味极其相似,她对一 目以往的评分记录或相似用户对项目的评分模式来 部电影的评价可能还受其他因素影响(比如,她在 预测用户对某未知项目的评分。虽然协同过滤技术 看电影时候的情绪和陪她看电影的人)。因此近期 已成为解决推荐问题的标准方法,但传统的推荐系 的研究开始关注社交网络中的上下文信息。文献 统只利用相关用户或相关商品的评分数据进行推 [8]提出了将用户和项目进行群组的方法,在协同 荐,而并未考虑任何其他的信息。但当分析的信息 过滤算法中利用了这些子群信息(一种上下文信 量不断增大时,传统的推荐算法就会遇到诸多挑战, 息)来提高用推荐系统的质量。Liu等]利用推荐 如数据稀疏问题、低质量的推荐以及信息源的不均 对象的属性上下文信息来对它们之间的关联关系进 衡性。 行度量,并通过估计出的关联关系信息来改善推荐 推荐系统通过识别和预测用户偏好,提供个性 的效果。文献[10]提出了将社会网络上下文信息 化服务,是缓解“信息过载”问题的重要手段之一。 (个人表现和交际影响)整合到一个矩阵分解模型 上下文感知计算是指系统能发现并有效利用上下文 中。但是,这样的上下文信息仅仅与社交关系有关, 信息进行计算的一种计算模式,已经广泛应用于许 大量的非社交的上下文信息却被忽视了。相反,本 多领域34]。上下文感知推荐系统通过将上下文信 文提出的CS算法运用机器学习技术和矩阵分解技 息引入推荐系统,成为一个刚刚兴起的领域,还有许 术,不仅包含了大量的上下文信息,而且对上下文信 多问题等待解决,如上下文用户偏好提取、高维数据 息没有限定信息类型:上下文信息被显式地应用到 稀疏性问题等5)」 矩阵划分中。基于信任度的皮尔逊相关系数提高了 本文提出了一个新颖的融入上下文信息与社会 计算用户相似度的准确性。 网络信息的推荐系统一CS推荐算法,该系统首先 2CS推荐系统 抽取出与用户兴趣相关的上下文信息,然后应用随 机决策树算法分解用户一项目评分矩阵,最终生成 2.1预备知识 的用户一项目评分子矩阵(即决策树的叶子节点) 2.1.1相关概念 包含了相似的评分。在产生的子矩阵中应用了矩阵 传统的推荐系统通常只考虑用户一项目评分矩 因式分解技术进行用户对某一缺失项的评分预测。 阵来进行推荐。然而,在许多系统中,可以通过丰富 基于矩阵因式分解模型,本文还引进社会规范术语 的上下文信息来为推荐系统提供新的信息维度。本 来改善推荐系统质量。为了衡量用户之间的相似程 文把上下文信息分为2类:1)静态上下文,它描述 序,本文使用了上下文相关的皮尔逊相关系数来计 用户的特性,例如年龄、性别、会员身份、角色等,或 算用户相似度。最后通过在2个真实的数据集上验 者是一种商品、种类、价钱、物理特性等:2)动态上 证CS推荐系统的有效性。 下文,是一种与等级相关的即时信息(例如当一个 用户评价一个产品时,他的心情和位置信息)。另 1 相关工作 一方面,在线社交网络也带来一些其他资源,通过分 目前,社会化推荐算法大都集中在如何利用用 析这些资源一个用户的喜好可以由与他有相同品味 户间的社会关系来提高推荐的准确率。Yang等在 的朋友推断出。因此,本文试图系统地融合上下文 文献[6]中认为用户间的信任关系强度并不是唯一 信息和社交网络信息来改善推荐性能。 的,而是受到其所处的朋友圈的影响,在不同的朋友 用u={U1,U2,…,Um}表示用户集合,v={V 圈中,用户间的信任关系也是不同的。他们通过给 V2,…,V}表示项目集合。所有用户可以根据自己 用户的朋友赋予不同的权重来对用户间的信任关系 的喜好为项目评分。假设分值为离散变量,范围为 进行建模,并提出了一种基于朋友圈的社会化推荐 L={L,L2,…,Lm}。比如,许多推荐系统(如Mov 算法。Nol等]针对社会化推荐算法在计算用户 ieLens)使用五分制进行评分(例如[1,2,3,4, 相似性时没有考虑到用户本身的特征、不能直接对 5])。用户U.对项目V.的评分表示为R.。,所有的
也随之出现。 另外,社交网络第 1 次提供了丰富的 真实世界中人们的社交信息,利用这些信息的研究 在各个学科中也不断出现。 对于推荐系统来说,如 何利用社交网络所提供的这些信息,进行更精确地 推荐,成为一个重要研究方向[1⁃2 ] 。 大部分推荐系 统都采用协同过滤技术,它通过分析用户对相似项 目以往的评分记录或相似用户对项目的评分模式来 预测用户对某未知项目的评分。 虽然协同过滤技术 已成为解决推荐问题的标准方法,但传统的推荐系 统只利用相关用户或相关商品的评分数据进行推 荐,而并未考虑任何其他的信息。 但当分析的信息 量不断增大时,传统的推荐算法就会遇到诸多挑战, 如数据稀疏问题、低质量的推荐以及信息源的不均 衡性。 推荐系统通过识别和预测用户偏好,提供个性 化服务,是缓解“信息过载”问题的重要手段之一。 上下文感知计算是指系统能发现并有效利用上下文 信息进行计算的一种计算模式,已经广泛应用于许 多领域[3⁃4 ] 。 上下文感知推荐系统通过将上下文信 息引入推荐系统,成为一个刚刚兴起的领域,还有许 多问题等待解决,如上下文用户偏好提取、高维数据 稀疏性问题等[5 ] 。 本文提出了一个新颖的融入上下文信息与社会 网络信息的推荐系统———CS 推荐算法,该系统首先 抽取出与用户兴趣相关的上下文信息,然后应用随 机决策树算法分解用户—项目评分矩阵,最终生成 的用户—项目评分子矩阵(即决策树的叶子节点) 包含了相似的评分。 在产生的子矩阵中应用了矩阵 因式分解技术进行用户对某一缺失项的评分预测。 基于矩阵因式分解模型,本文还引进社会规范术语 来改善推荐系统质量。 为了衡量用户之间的相似程 序,本文使用了上下文相关的皮尔逊相关系数来计 算用户相似度。 最后通过在 2 个真实的数据集上验 证 CS 推荐系统的有效性。 1 相关工作 目前,社会化推荐算法大都集中在如何利用用 户间的社会关系来提高推荐的准确率。 Yang 等在 文献[6]中认为用户间的信任关系强度并不是唯一 的,而是受到其所处的朋友圈的影响,在不同的朋友 圈中,用户间的信任关系也是不同的。 他们通过给 用户的朋友赋予不同的权重来对用户间的信任关系 进行建模,并提出了一种基于朋友圈的社会化推荐 算法。 Noel 等[7 ] 针对社会化推荐算法在计算用户 相似性时没有考虑到用户本身的特征、不能直接对 用户间信息传播建模,不能反映用户间只有部分兴 趣相同的问题,给出了一种将多种目标函数融合在 一起的方法,并在矩阵分解的框架下进行求解。 然而,目前大部分社会网络推荐模型在度量 2 个用户的相似性时,基本都忽视了上下文信息。 比 如,即使一个用户和其朋友的品味极其相似,她对一 部电影的评价可能还受其他因素影响(比如,她在 看电影时候的情绪和陪她看电影的人)。 因此近期 的研究开始关注社交网络中的上下文信息。 文献 [8]提出了将用户和项目进行群组的方法,在协同 过滤算法中利用了这些子群信息(一种上下文信 息)来提高用推荐系统的质量。 Liu 等[9 ] 利用推荐 对象的属性上下文信息来对它们之间的关联关系进 行度量,并通过估计出的关联关系信息来改善推荐 的效果。 文献[10]提出了将社会网络上下文信息 (个人表现和交际影响)整合到一个矩阵分解模型 中。 但是,这样的上下文信息仅仅与社交关系有关, 大量的非社交的上下文信息却被忽视了。 相反,本 文提出的 CS 算法运用机器学习技术和矩阵分解技 术,不仅包含了大量的上下文信息,而且对上下文信 息没有限定信息类型:上下文信息被显式地应用到 矩阵划分中。 基于信任度的皮尔逊相关系数提高了 计算用户相似度的准确性。 2 CS 推荐系统 2.1 预备知识 2.1.1 相关概念 传统的推荐系统通常只考虑用户—项目评分矩 阵来进行推荐。 然而,在许多系统中,可以通过丰富 的上下文信息来为推荐系统提供新的信息维度。 本 文把上下文信息分为 2 类:1) 静态上下文,它描述 用户的特性,例如年龄、性别、会员身份、角色等,或 者是一种商品、种类、价钱、物理特性等;2) 动态上 下文,是一种与等级相关的即时信息(例如当一个 用户评价一个产品时,他的心情和位置信息)。 另 一方面,在线社交网络也带来一些其他资源,通过分 析这些资源一个用户的喜好可以由与他有相同品味 的朋友推断出。 因此,本文试图系统地融合上下文 信息和社交网络信息来改善推荐性能。 用 u = {U1 ,U2 ,…,Um } 表示用户集合, v = {V1 , V2 ,…,Vn } 表示项目集合。 所有用户可以根据自己 的喜好为项目评分。 假设分值为离散变量,范围为 L = {L1 ,L2 ,…,Lm } 。 比如,许多推荐系统(如 Mov⁃ ieLens) 使用五分制进行评分(例如[ 1, 2, 3, 4, 5])。 用户 Uu 对项目 Vv 的评分表示为 Ru,v ,所有的 ·294· 智 能 系 统 学 报 第 10 卷
第2期 李慧,等:融合上下文信息的社会网络推荐系统 ·295· 评分集合R={RlU。∈u,V.∈t构成一个用 户一项目评分矩阵(如图1(a)。正如上面提到 argmin2立l(R,-Uv)2+ 的,假设对用户的每一个评分级R都存在与其相关 A(U+V) (3) 的上下文信息集合,用C:={c1,2,}来表示。对 式中:IAI?(A是X×Y的矩阵)是Frobenius范 每种类型的上下文信息的值域没有限制,也就是说, 离散值和连续值都是合法的。 数,是通过√∑∑,1AF计算得到。参数入控 制规范化的范围。 U 式3可以通过2种方式解得:1)随机梯度算法 0.6 0.6 (SGD),通过迭代更新潜在用户特征因子和潜在项目 0.2 特征因子:2)交替最小二乘算法(ALS),通过修正矩 0.3 阵U(或者V)以优化V(或者U),并且轮转迭代。 2.2上下文感知的推荐模型 (a) (b) (c) 本节首先介绍一下如何结合上下文信息来提高 图1用户一项目评分矩阵分割过程 推荐系统的推荐准确度,在此暂不考虑社会关系。 Fig.1 Illustration for division 为了有效结合不同的上下文信息,使用一种具有较 在社会网络中将用户信息及用户之间的关系可 高学习精度的随机决策树算法。该算法的目标是对 以抽象表示为有向带权值的社会网络图的形式: 原始即用户一项目评分矩阵R使用随机划分策略 G=(V,E,C)。其中,V表示节点集合,每个节点代 将相似用户或相似项目的评分划分到树的同一结点 表网络中的用户个体:E表示边的集合,表示2个个 中,即将具有相似上下文的评分划分在一个组内。 体之间存在的关系;C={c}表示边的权重值,此 由于是在相似的上下文中产生,因此在相同组里的 值越大表示信任程度越大,本文将其定义为用户间 评分将会比在原始评分矩阵中的评分具有更高的相 的信任度。由于信任关系不是对称的,所以图中的 关性,有助于提高推测缺失值的准确性。 边是有向的,网络图为有向图。 对每个决策树中的每一个结点,利用式(2)对 2.1.2矩阵因式分解 评分矩阵R进行基本的矩阵因式分解。经过分解 矩阵因式分解的目的是将一个矩阵分解成2个 之后,分别得到用户潜在特征向量与项目潜在特征 以上的矩阵,使得将矩阵因子相乘后可以重构或者近 向量(如图1(b))。用户特征因子表明了用户在一 似原始矩阵。在推荐问题中,一个矩阵因式分解模型 些潜在主题上的兴趣分布,而项目特征因子代表了 是将用户一项目评分矩阵R,R∈Rmx(m是用户 与这些主题相关的项目成员。为了划分评分矩阵 数量,n是项目数量)分解成一个用户特征矩阵U, R,选择了一个潜在特征(如图1(b)U的第2列) U∈RmW和一个项目特征矩阵V,V∈R“。 和随机选取了一个分割值(本例中假设选择的分割 R≈UV (1) 值为0.4)。设定之后,则当前的评分矩阵被划分为 式中:1是一个潜在特征向量的维度,它标志着一个 2部分,如图1(c)所示。在本例中,根据U中第2 用户或者一个项目的特征。对于一个用户a来说, 个潜在特征向量和随机选定的分割值,评分矩阵被 U的元素(即U。)衡量了用户a对项目的兴趣度; 从第2行和第3行之间分割成了2部分。由于第1 对于项目b,V的元素(即V。)衡量了b和相应的潜 个和第2个用户的潜在特征值比较相似,因此他们 在特征的相关程度。因此,U。V。表示用户a和项目 给出的评分被决策树划分到同一个结点中。 b之间的关联度,即考虑了所有潜在特征后用户α 在为每个上下文信息构建决策树时,在树的每一 对项目b的偏好度。 层,算法都会从上下文信息集合C中随机选择一个上 为了计算R,考虑到用户一项目评分矩阵的稀 下文信息c,来划分评分矩阵(见图2)。具体来说,评 疏性,定义了以下的目标函数,即使预测评分与用户 分矩阵是根据c,的值进行划分的。例如,如果假设上 实际评分的误差最小化: 下文信息c,是一周时间,则评分矩阵可以根据每一天 学三2,-vWy (即从周一到周六,工作日或者周末)来进行有意义的 (2)》 划分。另一方面,如果c,的值没有任何语义信息,则 式中:1,为一个指示变量,即如果用户i对商品j进 首先要对每一个评分c,进行标准化到某一特定区间 行了打分,则1,为1,否则为0。另外,为了避免过 (如[0,1]),然后选择一个随机的阈值(如∈[0,1]) 度拟合,在公式中加入了规范化系数,即 来划分评分。一旦在树中的某一层上完成了评分划
评分集合 R = {Ru,v Uu ∈ u,Vv∈ v} 构成一个用 户—项目评分矩阵(如图 1 ( a))。 正如上面提到 的,假设对用户的每一个评分级 Ri 都存在与其相关 的上下文信息集合,用 Ci = {c1 ,c2 ,…} 来表示。 对 每种类型的上下文信息的值域没有限制,也就是说, 离散值和连续值都是合法的。 图 1 用户—项目评分矩阵分割过程 Fig.1 Illustration for division 在社会网络中将用户信息及用户之间的关系可 以抽象表示为有向带权值的社会网络图的形式: G =(V,E,C) 。 其中, V 表示节点集合,每个节点代 表网络中的用户个体; E 表示边的集合,表示 2 个个 体之间存在的关系; C = {cuv} 表示边的权重值,此 值越大表示信任程度越大,本文将其定义为用户间 的信任度。 由于信任关系不是对称的,所以图中的 边是有向的,网络图为有向图。 2.1.2 矩阵因式分解 矩阵因式分解的目的是将一个矩阵分解成 2 个 以上的矩阵,使得将矩阵因子相乘后可以重构或者近 似原始矩阵。 在推荐问题中,一个矩阵因式分解模型 是将用户—项目评分矩阵 R , R ∈ R m×n ( m 是用户 数量, n 是项目数量)分解成一个用户特征矩阵 U , U ∈R m×l 和一个项目特征矩阵 V,V ∈ R l×n 。 R ≈ U TV (1) 式中: l 是一个潜在特征向量的维度,它标志着一个 用户或者一个项目的特征。 对于一个用户 a 来说, U 的元素(即 Ua )衡量了用户 a 对项目的兴趣度; 对于项目 b , V 的元素(即 Vb )衡量了 b 和相应的潜 在特征的相关程度。 因此, U T aVb 表示用户 a 和项目 b 之间的关联度,即考虑了所有潜在特征后用户 a 对项目 b 的偏好度。 为了计算 R ,考虑到用户—项目评分矩阵的稀 疏性,定义了以下的目标函数,即使预测评分与用户 实际评分的误差最小化: arg min U,V ∑ m j = 1 ∑ n k = 1 Ii,j (Ri,j - U T i Vj) 2 (2) 式中: Ii,j 为一个指示变量,即如果用户 i 对商品 j 进 行了打分,则 Ii,j 为 1,否则为 0。 另外,为了避免过 度拟合,在公式中加入了规范化系数,即 argmin U,V ∑ m j = 1 ∑ n k = 1 Ii,j (Ri,j - U T i Vj) 2 + λ(‖U‖2 F + ‖V‖2 F ) (3) 式中: ‖A‖2 F ( A 是 X × Y 的矩阵) 是 Frobenius 范 数,是通过 ∑ X x∑ Y y Axy 2 计算得到。 参数 λ 控 制规范化的范围。 式 3 可以通过 2 种方式解得:1)随机梯度算法 (SGD),通过迭代更新潜在用户特征因子和潜在项目 特征因子;2)交替最小二乘算法(ALS),通过修正矩 阵 U (或者 V )以优化 V (或者 U ),并且轮转迭代。 2.2 上下文感知的推荐模型 本节首先介绍一下如何结合上下文信息来提高 推荐系统的推荐准确度,在此暂不考虑社会关系。 为了有效结合不同的上下文信息,使用一种具有较 高学习精度的随机决策树算法。 该算法的目标是对 原始即用户—项目评分矩阵 R 使用随机划分策略 将相似用户或相似项目的评分划分到树的同一结点 中,即将具有相似上下文的评分划分在一个组内。 由于是在相似的上下文中产生,因此在相同组里的 评分将会比在原始评分矩阵中的评分具有更高的相 关性,有助于提高推测缺失值的准确性。 对每个决策树中的每一个结点,利用式(2) 对 评分矩阵 R 进行基本的矩阵因式分解。 经过分解 之后,分别得到用户潜在特征向量与项目潜在特征 向量(如图 1(b))。 用户特征因子表明了用户在一 些潜在主题上的兴趣分布,而项目特征因子代表了 与这些主题相关的项目成员。 为了划分评分矩阵 R ,选择了一个潜在特征(如图 1( b) U 的第 2 列) 和随机选取了一个分割值(本例中假设选择的分割 值为 0.4)。 设定之后,则当前的评分矩阵被划分为 2 部分,如图 1( c) 所示。 在本例中,根据 U 中第 2 个潜在特征向量和随机选定的分割值,评分矩阵被 从第 2 行和第 3 行之间分割成了 2 部分。 由于第 1 个和第 2 个用户的潜在特征值比较相似,因此他们 给出的评分被决策树划分到同一个结点中。 在为每个上下文信息构建决策树时,在树的每一 层,算法都会从上下文信息集合 C 中随机选择一个上 下文信息 cr 来划分评分矩阵(见图 2)。 具体来说,评 分矩阵是根据 cr 的值进行划分的。 例如,如果假设上 下文信息 cr 是一周时间,则评分矩阵可以根据每一天 (即从周一到周六,工作日或者周末)来进行有意义的 划分。 另一方面,如果 cr 的值没有任何语义信息,则 首先要对每一个评分 cr 进行标准化到某一特定区间 (如[0,1]),然后选择一个随机的阈值(如∈[0, 1]) 来划分评分。 一旦在树中的某一层上完成了评分划 第 2 期 李慧,等: 融合上下文信息的社会网络推荐系统 ·295·
·296· 智能系统学报 第10卷 分,则随机选取的上下文信息c,就会从上下文信息集 质量。这种模型的假设前提与现实非常相符:在现 合中被删除:C=C/c,,从而保证了一个上下文信息 实生活中,当用户在决定是否购买一个产品时往往 在一条路径上只被操作一次。 会参考与自己有相似品味与兴趣的朋友所给出的建 议。通过结合多个朋友的意见,用户最终会做出明 智的选择。 尽管朋友能够提供有用的信息来帮助推荐系统 为用户做出高质量的推荐,但现有的研究大部分都 是在利用社会网络中所有的可用信息进行推荐,没 有对这些信息进行细致地过滤:或者并没有深入地 调查怎样精确计算用户之间的品味相似性。为了解 少数 U 少数 少数 少数 决这些问题,本文引进一个新的社会规范化系数来 数据 数据 数据 数据 对用户和他朋友之间的品味差异进行约束。在真实 生活中,一个用户可能会有成百上千个朋友,因此同 图2随机决策树划分过程 Fig.2 Main partition flow of random decision tree 等对待朋友(或者朋友所给出的推荐信息)是没有 意义的,因为其中的一些朋友可能与用户具有非常 树的划分过程将一直继续,直到满足下列要求 相似的品味,而与另一些朋友可能拥有完全不同的 之一:1)所有的上下文信息都已经处理完毕:2)决 策树的深度达到了预定阈值。划分结束之后,评分 品味。为了解决这种社会网络中品味差异性问题, 本文引入了社会规范化系数,在推荐系统中考虑了 矩阵R被不同的上下文信息分类到不同类别中(即 用户与其朋友之间的品味相似性: 图2中树的叶子节点)。当预测一个缺失评分R., 在每个决策树中,根据R。的上下文信息对决策树 gA01u,-Ul月 (7) 进行划分,将其分类到用户一项目评分子矩阵RC 式中:α是控制社会规范化范围的常量。S(),f)表示 R中。对于每一个R,将其分解后分别得到用户特 基于以往评分模式计算出的用户”,与朋友w之间的 征因子U:和项目特征因子”,它们能够被用来预 品味相似性。相似性分值较高表明山和u有着非常 测缺失评分R(见式(4)、(5))。 相似的品味,分值越低表明山和4有不同品味。 I?11?I 从式(7)中可以看出,融合社交网络信息的 b1=argmin∑∑u(Rk-(U)"V)2+ 有效方法是通过研究用户与朋友之间的相似性 0i,j=1k=1 入(IU:I2+I:I) (4) 来精确衡量每个朋友的观点,这种相似性可以通 R=(U:)TV (5) 过他们以往的评分模式来推测,比如可以从他们 最终,将所有决策树得到的预测组合起来就可 共同评价过的商品的特性进行推测。现有许多 以得到对R。的最终预测得分。 相似性计算方法,其中皮尔逊相关系数已被证明 R 比其他方法(如向量空间相似性)具有更高的精 Rm=一 ☑i=i (6) 确性。因此本文也使用皮尔逊相关系数来衡量 T 4,与其朋友4的相似性。 式中:T为决策树的数量。通过组合不同决策树获 s(jf)= 得的多个预测得分,所有上下文信息被完全整合,产 (R.-R)(R.e-R) 生了个性化和准确的上下文感知推荐系统。此外通 FEV)n(f) 过删除较少联系的(考虑到上下文信息)评分,生成 ∑(R.-E)2· ∑(R.-R) 的子矩阵比原始的评分矩阵要小很多,这将在很大 FEV()nE(f) rev)nrU) 程度上减少算法的计算复杂度。影响算法复杂度的 (8) 一个重要因素是决策树的数量。在后续的实验部分 式中:V()∩V()表示山和u,共同评级过的的项 验证了其实只要少部分树就可以获得高质量的推 目集合,R,和R,分别是u,和u的平均评分。 荐,从而说明了本文所提出方法的实用性。 在社会网络中,每一个用户“都会有邻居集合 2.3融合社会网络关系的增强模型 N。,用tm表示节点u对节点v的社会信任度,其取 在2.2节提出的上下文感知推荐模型的基础 值范围在[0,1]。值为0表示完成不信任,值为1表 上,本节将社交网络信息加入到推荐中以改善推荐 示完成信任。在社会网络中,t的值可以解释为用
分,则随机选取的上下文信息 cr 就会从上下文信息集 合中被删除: C = C/ cr ,从而保证了一个上下文信息 在一条路径上只被操作一次。 图 2 随机决策树划分过程 Fig.2 Main partition flow of random decision tree 树的划分过程将一直继续,直到满足下列要求 之一:1)所有的上下文信息都已经处理完毕; 2)决 策树的深度达到了预定阈值。 划分结束之后,评分 矩阵 R 被不同的上下文信息分类到不同类别中(即 图 2 中树的叶子节点)。 当预测一个缺失评分 Rm , 在每个决策树中,根据 Rm 的上下文信息对决策树 进行划分,将其分类到用户—项目评分子矩阵 R s i ⊂ R 中。 对于每一个 R s i ,将其分解后分别得到用户特 征因子 U s i 和项目特征因子 V s i ,它们能够被用来预 测缺失评分 Rm (见式(4)、(5))。 L1 = argmin Us i ,Vs i ∑ Us i j = 1 ∑ Vs i k = 1 Ij,k (R s i,j,k - (U s i,j) TV s i,k) 2 + λ(‖U s i‖2 F + ‖V s i‖2 F ) (4) Rm,i = (U s i) TV s i (5) 最终,将所有决策树得到的预测组合起来就可 以得到对 Rm 的最终预测得分。 Rm = ∑ T i = i Rm,i T (6) 式中:T 为决策树的数量。 通过组合不同决策树获 得的多个预测得分,所有上下文信息被完全整合,产 生了个性化和准确的上下文感知推荐系统。 此外通 过删除较少联系的(考虑到上下文信息)评分,生成 的子矩阵比原始的评分矩阵要小很多,这将在很大 程度上减少算法的计算复杂度。 影响算法复杂度的 一个重要因素是决策树的数量。 在后续的实验部分 验证了其实只要少部分树就可以获得高质量的推 荐,从而说明了本文所提出方法的实用性。 2.3 融合社会网络关系的增强模型 在 2.2 节提出的上下文感知推荐模型的基础 上,本节将社交网络信息加入到推荐中以改善推荐 质量。 这种模型的假设前提与现实非常相符:在现 实生活中,当用户在决定是否购买一个产品时往往 会参考与自己有相似品味与兴趣的朋友所给出的建 议。 通过结合多个朋友的意见,用户最终会做出明 智的选择。 尽管朋友能够提供有用的信息来帮助推荐系统 为用户做出高质量的推荐,但现有的研究大部分都 是在利用社会网络中所有的可用信息进行推荐,没 有对这些信息进行细致地过滤;或者并没有深入地 调查怎样精确计算用户之间的品味相似性。 为了解 决这些问题,本文引进一个新的社会规范化系数来 对用户和他朋友之间的品味差异进行约束。 在真实 生活中,一个用户可能会有成百上千个朋友,因此同 等对待朋友(或者朋友所给出的推荐信息) 是没有 意义的,因为其中的一些朋友可能与用户具有非常 相似的品味,而与另一些朋友可能拥有完全不同的 品味。 为了解决这种社会网络中品味差异性问题, 本文引入了社会规范化系数,在推荐系统中考虑了 用户与其朋友之间的品味相似性: α∑ j = 1 ∑ f∈Fj s(j,f)‖Ui,j - Ui,f‖2 F (7) 式中: α 是控制社会规范化范围的常量。 S(j,f) 表示 基于以往评分模式计算出的用户 uj 与朋友 uf 之间的 品味相似性。 相似性分值较高表明 uj 和 uf 有着非常 相似的品味,分值越低表明 uj 和 uf 有不同品味。 从式( 7) 中可以看出,融合社交网络信息的 有效方法是通过研究用户与朋友之间的相似性 来精确衡量每个朋友的观点,这种相似性可以通 过他们以往的评分模式来推测,比如可以从他们 共同评价过的商品的特性进行推测。 现有许多 相似性计算方法,其中皮尔逊相关系数已被证明 比其他方法( 如向量空间相似性) 具有更高的精 确性。 因此本文也使用皮尔逊相关系数来衡量 uj 与其朋友 uf 的相似性。 S(j,f) = v∈V∑ (j)∩v(f) (Ri,v - Rj)(Rj,v - Rf) v∈V∑ (j)∩v(f) (Ri,v - Rj) 2 · v∈V∑ (j)∩v(f) (Rf,v - Rf) 2 (8) 式中: V(j) ∩ V(f) 表示 uj 和 uf 共同评级过的的项 目集合, Rj 和 Rf 分别是 uj 和 uf 的平均评分。 在社会网络中,每一个用户 u 都会有邻居集合 Nu ,用 t uv 表示节点 u 对节点 v 的社会信任度,其取 值范围在[0,1]。 值为 0 表示完成不信任,值为 1 表 示完成信任。 在社会网络中, t uv 的值可以解释为用 ·296· 智 能 系 统 学 报 第 10 卷
第2期 李慧,等:融合上下文信息的社会网络推荐系统 ·297. 户“对用户,的了解与信任程度。但由于该权值包 价。每个用户可以对书、电影、音乐进行评级(从一 含一些噪音数据,不能体现社会网络中的整体结构 星到五星),表达他们对这些产品的喜好。在社交 信息,这就类似于在网页分析中的忽略了网页的链 网络中如果某用户的评论被认为是有趣且有用的, 接结构信息。但其实在一个信任网络中,如果某个 则他就可能被其他用户所跟随。表1列出了数据集 用户信任大部分的用户,则其信任度应当被降低: 的统计数据。 反之,如果某个用户被大部分用户所信任,则其信 表1豆辨网的统计数据 任度应该被增强。因此,综合考虑了社会网络的整 Table 1 Statistics of the Douban dataset 体结构信息,利用式(9)对信任度进行了修正,修正 类别 评分数 用户数 项目数 后的信任度记为t: 书 812037 8598 169982 dn(v) 电影 1336484 5227 48381 l= (9) d (u)+di(v) 音乐 1387216 23822 185574 式中:d(u)表示以u为起点,u所指向的所有节 所有 3535737 25560 403937 点集合,即u的出度集合,d(v)表示以v为终点, 选择豆瓣的数据因为它不仅包含了相关的时 所有指向v的节点集合,即v的入度集合。 间/数据和其他可推断的上下文信息,而且还包含了 经典的相似性计算方法仅仅利用了评分的值, 社会网络信息,因此非常适合用于评估应用了多种 并未考虑用户之间的信任关系。为了进一步改善相 类型信息的CS算法的性能。从豆瓣数据集中,随 似性计算的精确度,本文使用一种基于信任度的皮 机选择80%的评价来训练推荐模型,使用剩下的 尔逊相关系数来计算用户之间的相似度: 20%比较它们的性能。 S(i.f)= 3.1.2比较对象 ∑t(R。-R)(R。-Ry) 本文将CS推荐系统和目前主流的几种推荐方 reUi》nr(n 法进行了对比实验:传统的基于上下文感知推荐系统 ∑t(R。-R)2· ∑ti(R.-R)2 RPMF【i4】、基于社会网络的推荐系统SoReg!]、应用 (10) 基本的矩阵分解模型构建的推荐系统BMF[2]。 很明显,权重t·较大意味着用户之间的信任度 与所有的上下文推荐系统相似,从数据集中可 越大,因此对整体的相似度计算时将会产生非常大 获得的上下文化信息中选取了5种类型的上下文信 的影响。应用式(7)和式(10),将式(4)重新定义为 息:1)小时信息,即用户给出评分的时刻:2)日期信 1经11好 息,即用户给出评分的日期:3)当一个评价被给出 L=argmin∑∑l(Rk-(U)rV.)2+ 的时候,对目标商品产生“期待”的数量:4)当目标 41=1 a∑∑sU0IU-UuI+ 用户评价一个特定商品时,其所给出评分的平均值: j=l fefi 5)目标商品所属的类别。 A(‖U:I2+I:I)》 (11) 3.1.3度量标准 式(11)可以通过对U,和U,应用梯度下降算 实验选取在推荐系统评价中经常使用的2个度 法进行求解,这是一个不断迭代更新的过程。 量标准来比较不同推荐模型的性能:平均绝对误差 aL2 U←Ui+y (MAE)和均方根误差(RMSE)。式(14)和(15)分 (12) 别给出两者的定义: V←-vk+yv (13) MAE 三R 14 式中:Y代表学习率。迭代的数量对推荐效率的影 RMSE 响将在实验部分进行验证。 (R-R)2 (15) 式中:N表示预测的总次数,R,表示一个项目的真 3 实验评估 实评分,R',表示相应的预测评分。其值越小,表明 3.1实验方法 推荐模型的性能越高。 3.1.1数据集 3.2实验结论 豆瓣网(www.douban.com)是中国最大的社交 首先使用豆瓣网数据集来说明CS算法中不同 平台之一,许多人在这里分享对书、电影、音乐的评 参数值的选取对推荐性能的影响。经过交叉验证之
户 u 对用户 v 的了解与信任程度。 但由于该权值包 含一些噪音数据,不能体现社会网络中的整体结构 信息,这就类似于在网页分析中的忽略了网页的链 接结构信息。 但其实在一个信任网络中,如果某个 用户 u 信任大部分的用户,则其信任度应当被降低; 反之,如果某个用户 v 被大部分用户所信任,则其信 任度应该被增强。 因此,综合考虑了社会网络的整 体结构信息,利用式(9)对信任度进行了修正,修正 后的信任度记为 t ∗ uv : t ∗ uv = din(v) dout(u) + din(v) × t uv (9) 式中: dout(u) 表示以 u 为起点,u 所指向的所有节 点集合,即 u 的出度集合, din(v) 表示以 v 为终点, 所有指向 v 的节点集合,即 v 的入度集合。 经典的相似性计算方法仅仅利用了评分的值, 并未考虑用户之间的信任关系。 为了进一步改善相 似性计算的精确度,本文使用一种基于信任度的皮 尔逊相关系数来计算用户之间的相似度: S(j,f) = v∈V∑ (j)∩v(f) t ∗ uv(Ri,v - Rj)(Rj,v - Rf) v∈V∑ (j)∩v(f) t ∗ uv (Ri,v - Rj) 2 · v∈V∑ (j)∩v(f) t ∗ uv (Rf,v - Rf) 2 (10) 很明显,权重 t ∗ uv 较大意味着用户之间的信任度 越大,因此对整体的相似度计算时将会产生非常大 的影响。 应用式(7)和式(10),将式(4)重新定义为 L2 = argmin Us i ,Vs i ∑ Us i j = 1 ∑ Vs i k = 1 Ii,j(R s i,j,k - (U s i,j) TV s i,k) 2 + α∑ j = 1 ∑ f∈Fj S(j,f) ‖Ui,j - Ui,f‖2 F + λ(‖U s i‖2 F + ‖V s i‖2 F ) (11) 式(11)可以通过对 U s i,j 和 U s i,k 应用梯度下降算 法进行求解,这是一个不断迭代更新的过程。 U s i,j ← U s i,j + γ ∂L2 U s i,j (12) V s i,k ← V s i,k + γ ∂L2 V s i,k (13) 式中: γ 代表学习率。 迭代的数量对推荐效率的影 响将在实验部分进行验证。 3 实验评估 3.1 实验方法 3.1.1 数据集 豆瓣网(www. douban. com) 是中国最大的社交 平台之一,许多人在这里分享对书、电影、音乐的评 价。 每个用户可以对书、电影、音乐进行评级(从一 星到五星),表达他们对这些产品的喜好。 在社交 网络中如果某用户的评论被认为是有趣且有用的, 则他就可能被其他用户所跟随。 表 1 列出了数据集 的统计数据。 表 1 豆辨网的统计数据 Table 1 Statistics of the Douban dataset 类别 评分数 用户数 项目数 书 812 037 8 598 169 982 电影 1 336 484 5 227 48 381 音乐 1 387 216 23 822 185 574 所有 3 535 737 25 560 403 937 选择豆瓣的数据因为它不仅包含了相关的时 间/ 数据和其他可推断的上下文信息,而且还包含了 社会网络信息,因此非常适合用于评估应用了多种 类型信息的 CS 算法的性能。 从豆瓣数据集中,随 机选择 80% 的评价来训练推荐模型,使用剩下的 20%比较它们的性能。 3.1.2 比较对象 本文将 CS 推荐系统和目前主流的几种推荐方 法进行了对比实验:传统的基于上下文感知推荐系统 RPMF [ 14 ] 、基于社会网络的推荐系统 SoReg [1 1 ] 、应用 基本的矩阵分解模型构建的推荐系统 BMF [12 ] 。 与所有的上下文推荐系统相似,从数据集中可 获得的上下文化信息中选取了 5 种类型的上下文信 息:1)小时信息,即用户给出评分的时刻;2)日期信 息,即用户给出评分的日期;3) 当一个评价被给出 的时候,对目标商品产生“期待”的数量;4)当目标 用户评价一个特定商品时,其所给出评分的平均值; 5)目标商品所属的类别。 3.1.3 度量标准 实验选取在推荐系统评价中经常使用的 2 个度 量标准来比较不同推荐模型的性能:平均绝对误差 (MAE)和均方根误差(RMSE)。 式(14) 和(15) 分 别给出两者的定义: MAE = 1 N∑ N r = 1 | Rr - R′r | (14) RMSE = 1 N∑ N r = 1 (Rr - R′r) 2 (15) 式中:N 表示预测的总次数, Rr 表示一个项目的真 实评分, R′r 表示相应的预测评分。 其值越小,表明 推荐模型的性能越高。 3.2 实验结论 首先使用豆瓣网数据集来说明 CS 算法中不同 参数值的选取对推荐性能的影响。 经过交叉验证之 第 2 期 李慧,等: 融合上下文信息的社会网络推荐系统 ·297·