基于个性化特征的协同过滤推荐算法

李涛



摘 要: 针对相似度特征点推荐方法对用户个性化需求匹配度不高的问题,提出基于个性化特征的协同过滤推荐算法。以社会网络为结构模型构建用户信息的评分模型和项目属性模型,采用信任度条件概率分析方法构建可靠性推荐模型,进行个性化特征分析和提取,实现个性化特征需求与项目兴趣点的合理匹配,实现协同过滤推荐,最后通过仿真实验进行测试分析。结果表明,采用该方法进行社会网络项目协同过滤推荐的用户评分高,平均绝对误差和均方根误差小,提升了推荐质量。
关键词: 个性化特征; 协同过滤推荐; 评分模型; 项目属性
中图分类号: TN911?34; TP391 文献标识码: A 文章编号: 1004?373X(2017)05?0078?04
Abstract: Since the recommendation method of the similarity feature point has low matching degree for the user′s persona?lized demand, a collaborative filtering recommendation algorithm based on personalized feature is put forward. The scoring model and project attribute model of the user information were constructed by taking the social network as the structure model. The trust degree conditional probability analysis method is adopted to construct the reliability recommendation mode. And then the personalized features are analyzed and extracted to match the personalized feature demand and project interest point reasonably, so as to implement the collaborative filtering recommendation. The test analysis was conducted with simulation experiments. The test results show that the method has high user scoring to perform the collaborative filtering recommendation of the social network project, the mean absolute error and root mean square error are small, and the recommendation quality is improved.
Keywords: personalized feature; collaborative filtering recommendation; scoring model; project attribute
0 引 言
社會网络为网络用户提供了个性化的定制需求,通过社会网络的个性化推荐系统,根据用户的兴趣偏好进行项目推荐,构建用户?项目的个性化推荐模型,在提高用户网络浏览的效率和满意度方面具有重要意义[1]。另一方面,通过制定个性化协同过滤推荐模型,将提高网络信息的推送度,提高网络项目的收益,研究社会网络的用户协同过滤推荐模型具有重要意义[2]。
网络的协同过滤推荐是以网络用户信任关系为基础的。通过对网络用户先验信息的浏览和评估,制定个性化需求,综合考虑社会网络结构和用户需求,制定个性化服务项目实现信息推送和网页推荐,为更高效率的网络体验奠定基础[3]。当前,典型的协同过滤推荐方法主要有基于Twitt系统的推荐模型、TF?IDF关键词权重衡量的协同过滤推荐模型和基于概率模型的协同过滤推荐模型[4?5],上述方法通过获得用户对评价较好的项目先验关键词信息,结合语义特征提取和关键词检索方法进行过滤推荐。根据用户发布的tweet、好友、粉丝等信息进行数据筛选和信息控制,建立信息表结构模型,使得用户获得较为满意的推荐效果,但是随着网络信息规模的增大和用户信息的多元化发展,推荐的准确度低,而相似度特征点推荐方法对用户的个性化需求匹配度低[6?7]。
为了克服传统方法的不足,提出基于个性化特征的协同过滤推荐算法,并通过仿真实验进行性能测试。
1 网络结构推荐规则
社会网络是一个由网络中所有用户信任关系构成的网络,通过用户之间的关系行为抽象到网络的信任传播机制中,考虑网络节点的信任模型和置信度进行项目的属性分类和主体匹配。根据多主体协商机制进行可信节点定位和网络用户的信任度分析[8],由此得到基于社会网络的协同过滤推荐总体结构模型,如图1所示。
根据对协同过滤推荐模型的总体设计,在社会网络中将融合用户信任与用户兴趣,构建网络结构模型,进行用户信息的特征检索,将社会网络中用户的信任度关系模型用如下无向图模型的形式表示为:
[G=V,E,C]
其中,[V]表示社会网络协同过滤的节点集合,每个节点代表网络中的用户个体;[E]代表边的集合,表示社交网络好友推荐的相关性关系,在两个个体之间存在的关联性特征;[C={cuv}]表示边的权重值,权重越大,信任度越高,推荐的准确度就越好。
假设社会网络图中的边是有向的,网络图为有向图。在协同过滤推荐系统中,设[{u1,u2,…,uN}]代表包含的元素节点用户集合;[{v1,v2,…,vM}]代表不可信节点集合;[R=[Ru,v]N×M]表示用户对项目的评分矩阵,其中[Ru,v]表示关联规则约束下用户[u]对项目[v]的属性兴趣度评价。[Ru,v]可以为任意实数,在社交网络中,数据稀疏性决定用户的评分,合理反应推荐模型的质量。因此,采用评分机制进行推荐模型的质量评价,不失一般性。本文将目标用户的评分区间设定为[0,1]。利用用户?项评分方法,得到每一个用户[u]对项目的语义特征表达为[Nu,]用[cuv]表示网络分布单元[u]对节点[v]的关联匹配度,其取值范围在[0,1]之间,0表示完成不匹配,1表示完成匹配。
根据上述设定的社会网络信任度模型和推荐规则,得到协同过滤推荐中用户信任度评价的特征概率函数密度表达式为:
利用特征向量检索技术在互信任的特征空间中进行用户的先验特征信息检索[9],在检索区域中用户兴趣爱好的关键信息检索向量模型为:
构建语义概念树,分析在社会网络中目标用户对象和项目属性集合之间的二元关系[10]。构建二元特征树[K=(O,A,R)]描述协同过滤推荐的信息分布列表,其中O是用户对象的集合;A是社会网络中待推荐项目属性的集合;R是O和A之间的一个二元关系,将协同过滤推荐预测评分的空间维数设定为[m,]通过评价用户兴趣的个性化特征,得到用户[u]行为与喜好的关联度为:
通过对行为与喜好的关联度分析,将用户的评分映射到[0,1]区间,构建推荐模型的用户评分预测模型。
2 可靠性推荐模型构建
采用信任度条件概率分析方法进行可靠性推荐模型构建。任意两个项目[X,Y]推荐给社会网络用户的信任度条件概率公式如下:
式中:[P(X),][P(Y)]分别是项目[X,Y]受到网络推荐的综合权重;[P(X?Y)]是聯合条件概率密度函数,表示项目[X,Y]所得到的准确评分在[0,1]区间的分布权重。
修正每个向量[vi,]所有项目预测评分过程用[vi]表示,即[vi=w1,t1,w2,t2,…,wm,tm;]计算社会网络中每一个用户个性化特征分布的中心向量[C(Y),]则[X,Y]的信任度计算公式为:
忽略网页的链接结构信息,根据用户先验关键词语义信息的差异化特征[w1,w2]进行信息检索,检索的有效值为[dis(w1,w2),]表示用户[u]对用户[v]的了解与信任程度。
建立的所有邻居节点[v∈Nu,]可靠性推荐模型修正后的权值为:
[Rik=j∈NuC*i,jRjk] (8)
式中:[Rik]表示用户[ui]对项目[vj]的直接信任度;[Rjk]表示用户[uj]对项目[vk]的整体结构信息的兴趣特征提取值;[C*i,j]是修正加权向量。则在社会网络中用户[u]对语义信息检索的预测评分可表示为:
根据协同过滤系统的实际情况,结合用户的行为特征和兴趣分布构建推荐模型。
3 协同过滤算法的具体实现
3.1 个性化特征分析
基于个性化特征的协同过滤推荐算法的工作思想为:采用信任度条件概率分析方法进行可靠性推荐模型构建,以及个性化特征分析和提取,然后基于可信度的推荐约束模型,根据修正后的权值[C*kv]构建协同过滤推荐模糊分布矩阵[T,]因此对于推荐项目,信任度矩阵满足:
由此实现个性化特征需求与项目兴趣点的合理匹配,实现协同过滤推荐。
4 实验结果分析
仿真实验环境为Myeclipse 8.0,采用Java平台进行算法设计,实验数据来自Slashdot大型社会网络网站,采用网络爬虫抓取方法进行数据抓取,抓取了社会网络中包括了83 244个用户与512 267条的用户评论信息,作为网络推荐的先验规则信息集合,其他相关参数为:[Q=40,][c1=120,][c2=350,][cr=26,][μ1=μ2=0.131,ρ1=][ρ2=0.41,][δ=0.8]。
采用平均绝对误差(MAE)和均方根误差(RMSE)分析协同过滤推荐的质量好坏,两个质量的定义描述为:
[MAE=i,jri,j-ri,jN] (19)
式中:[ri,j]表示目标用户[i]对感兴趣的项目[j]的实际评分;[ri,j]表示采用协同过滤推荐模型进行个性化特征分析后,项目的预测得分;[N]为网络爬虫的抓取次数。
RMSE表示协同过滤推荐的实际用户评分观测值与真值偏差的平方和:
[RMSE=i,jri,j-ri,j2N] (20)
根据上述仿真环境设定和质量评价指标的提出,进行推荐性能分析,其中评分的用户数共分为6组,分别设定为:1~10人,11~20人,21~40人,41~80人,81~160人,大于160人,得到的评价结果如图2和图3所示。分析图2得知,本文方法的MAE在各个评分用户组中的值最小,说明个性化特征需求与项目兴趣点匹配度最高。
图3描述了不同方法进行协同过滤推荐的均方根误差RMSE值对比结果,同样可以得出,采用本文方法的RMSE值最低,说明用户在本文方法下对推荐结果的评分最高,满意度最好。
5 结 语
为了满足用户的个性化需求,提高网络服务质量,本文提出基于个性化特征的协同过滤推荐算法。仿真实验的结果表明,该方法的社会网络项目协同过滤推荐的用户评分高,平均绝对误差和均方根误差小,提升了推荐的质量,具有较好的应用前景。
参考文献
[1] 张清丰,王晟,廖丹.基于纳什议价的对等网络资源分配[J].计算机应用,2015,35(9): 2424?2429.
[2] 胡欣如.基于数据挖掘技术的客户关系管理系统设计与实现[J].微计算机信息,2009,25(12):58?62.
[3] 冯勇,李军平,徐红艳,等.基于社会网络分析的协同推荐方法改进[J].计算机应用,2013,33(3):841?844.
[4] 李春,朱珍敏,高晓芳.基于邻居决策的协同过滤推荐算法[J].计算机工程,2010,36(13):34?36.
[5] 罗辛,欧阳元新,熊璋.通过相似度支持度优化基于K近邻的协同过滤算法[J].计算机学报,2010,33(8):1437?1445.
[6] 陆兴华,陈平华.基于定量递归联合熵特征重构的缓冲区流量预测算法[J].计算机科学,2015,42(4):68?71.
[7] 李全忠,黄济宇,等.基于MMSE准则的MIMO多中继系统线性收发机设计[J].电子学报,2012,40(55):1323?1327.
[8] 熊忠阳,刘芹,张玉芳.结合项目分类和云模型的协同过滤推荐算法[J].计算机应用研究,2012,29(10):3660?3664.
[9] LIANG J J, QU B Y, MAO X B, et al. Differential evolution based on fitness Euclidean?distance ratio for multimodal optimization [J]. Neurocomputing, 2014, 137(8): 252?260.
[10] 周煜,张万冰,杜发荣,等.散乱点云数据的曲率精简算法[J].北京理工大学学报,2010,30(7):785?790.