APP下载

个性化动态推荐相关技术研究

2019-09-10焦梦蕾徐勇赵涛武雅利许崇

现代信息科技 2019年8期
关键词:聚类动态评分

焦梦蕾 徐勇 赵涛 武雅利 许崇

摘  要:随着消费数据的不断增长,用户对推荐系统产生了个性化以外的动态需求。本文以“动态”和“推荐”作为关键词,介绍了动态推荐系统中所涉及的动态因素,总结了动态协同过滤技术、聚类技术和实时计算框架技术三种目前研究者主要采用的动态推荐技术,并总结了其优缺点,为更好地构建动态推荐系统服务。

关键词:动态推荐技术;个性化;动态因素;协同过滤;Storm

中图分类号:TP391.3      文献标识码:A 文章编号:2096-4706(2019)08-0007-03

(School of Management Science and Engineering,Anhui University of Finance and Economics,Bengbu  233030,China)

Abstract:With the continuous growth of consumption data,users have a dynamic demand for recommendation system beyond personalization. Based on the “dynamic” and “recommended” as keywords,this paper introduces the dynamic factors involved in the dynamic recommendation system,summarizes the dynamic collaborative filtering technology,clustering technology and real-time computing framework technology,which are the three main dynamic recommendation technologies currently used by researchers,and summarizes their advantages and disadvantages,so as to better construct the dynamic recommendation system.

Keywords:dynamic recommendation technology;personalization;dynamic factors;collaborative filtering;Storm

0  引  言

个性化推荐系统的基础是数据的收集与存储,通过数据将用户与信息相关联,通过特征将用户与用户相区分,从而达到千人千面的效果。个性化推荐系统的核心是数据的逻辑计算,通过协同过滤、特征匹配、相似度计算等推荐算法挖掘数据的逻辑关系,筛选出更适合的数据。个性化推荐系统的目的是有效率的推荐服务,通过数据逻辑与用户需求的交互,对数据信息进行排序,以优先顺序进行推荐。其中,数据的逻辑计算能够直接影响个性化推荐系统的准确度,而有效率的推荐服务对个性化推荐系统的准确度也会产生一定程度的间接影响。因此,个性化推荐系统由数据层、计算逻辑层和推荐服务层三部分构成。虽然目前已有许多被广泛使用的个性化推荐系统,但对于商业用途来说,在准确度和实时性两方面还有提升的空间,因此也成为了近年来研究者重点关注的内容。基于静态信息的个性化推荐系统具有可扩展性差和实时性不高等问题,在用户数和商品数不断更新的过程中,需要考虑动态推荐来解决重复推荐系统使工作效率降低等问题。为了更好地构建动态推荐系统,主要从两方面入手,一是弄清楚何为“动态”,二是考虑采用何种“推荐”技术。

1  动态因素

在个性化推荐系统的三个组成部分中,涉及“动态”这一关键因素的有数据层和推荐服务层。

1.1  数据层

推荐系统的数据主要分为两大类,一是用户数据,二是商品数据。用户数据中包含姓名、年龄等静态属性数据,同时也包含收入、偏好等动态属性数据。商品数据中属于静态属性的数据有商品名称、商品功能等,属于动态属性的数据有商品评分、商品评论等。获取静态数据所构建的个性化推荐系统无法在动态数据发生变化时改变推荐结果,但研究表明动态数据会在一定程度上影响推荐结果。从显性角度来说,用户的评分、购买行为会直观改变代表用户偏好的数据;从隐性角度来说,用户浏览、評论行为则不一定代表用户偏好的改变,也不会使数据获取发生变化。因此,考虑动态数据的获取与存储是构建动态推荐系统的第一步。如卫星君等学者对物品按属性划分,在混淆技术的基础上,给出噪音系数、评分偏移函数和目标偏移函数,提出混淆流行交叉托攻击模型。设计攻击概貌自动产生器注入系统数据库,同最流行项中添加平均项构造的混淆托攻击对比[1]。用户在互联网上的任何行为,都会产生日志,比如用户浏览了哪个网站,用户搜索了哪个名词,用户点击了哪个广告,用户播放了哪个视频等等。这些数据都会产生动态变化从而影响推荐过程中的信息输入。如刘曜等提出一种融合时间上下文信息的基于二分图模型个性化推荐算法。首先引入时间衰减函数对基于二分图模型的SimRank算法进行改进,使得时间对推荐的影响量化成图中节点的关联概率值,设计出融合时间信息的SimRank算法。再与协同过滤算法相结合得到最终结果[2]。陆佳炜等则是提出了一种USDR模型,通过将用户数据和系统数据分类来快速得到用户和系统的不同推荐度,以实现数据的高效推荐[3]。

1.2  推荐服务层

已有研究对传统推荐服务做了如下改进:

(1)数据局部聚合:将相同消息内容的推荐放在一起,这样就可以做局部的批量推荐;

(2)增加服务吞吐数据分片:将不同消息内容的推荐分割为不同的数据片,不同的数据片可以并行推荐;

(3)提高推荐效率守护线程:每台服务实例都保留一个守护线程,用于监控推荐过程,确保推荐有且仅有一次送达。杨珍等提出动态更新机制的加权LFM用于推荐个性化产品服务方案。针对余弦相似度计算忽略个体差异的问题,提出采用云滴距离测度与云的余弦相似度加权后的综合相似度,预测并填充空缺数据,减少数据稀疏性;采用加权LFM推荐产品服务方案,以约束新用户兴趣差异性,提高推荐精度;采用差值平均法更新推荐结果[4]。

基于用户位置的个性化推荐就是动态推荐服务的典型示例,Karidi等人的研究就提出了一种高效的语义推荐方法,Twitter在信息流中帮助用户推荐有趣的内容。此方法的基础是一个知识图譜(KG),它可以将所有感兴趣的用户主题表示为各种概念、对象、事件、人员、实体、位置以及它们之间的关系。通过从推文中检索语义信息来构建用户兴趣图谱,对推文推荐进行排名[5]。此外,使用KG来计算用户之间的兴趣相似度,并基于相同的基本原则给出了推荐。除此之外,还有研究采用对比更新的方法提供动态推荐服务。Zi-yang Zhang等提出了一种考虑用户能力和可信度的双层邻居选择方案。具体来说,该方案由两个模块组成:

(1)功能模块,根据第一层邻居提供建议的能力进行选择;

(2)信任模块,根据第二层邻居对建议的动态可信度进一步进行识别[6]。信任评估模块提出了一个动态信任评估模块,具体来说采用并修正Beta信任模型,从目标用户的角度来计算用户的信任值,并考虑时间因素来捕捉用户偏好的变化。选择具有高信任值的邻居将极大地帮助系统始终如一地向目标用户提供高质量的推荐。陆佳炜等学者对云环境中的推送方法进行了研究,主动帮助用户发现自己偏好的信息,并将这些信息展现给可能需要的用户,并且实现了传统的数据推荐方法无法处理的多源异构数据的云推荐[3]。推荐服务层的“动态”主要以结合聚类、云环境等技术设计算法实现动态推荐。

2  动态推荐技术

目前研究者所采用的动态推荐技术主要有三类,一是基于传统的协同过滤所改进的动态协同过滤技术;二是通过引入以聚类技术为主的大数据技术进行快速动态推荐;三是采用实时计算框架技术构建动态推荐系统,如Spark、Storm等。

2.1  动态协同过滤技术

基于协同过滤的推荐系统的成功依赖于大量用户和项目的可用性。但是很多用户只对少数几个项目有行为。解决这个问题的一种方法是使用用户的人口统计来计算用户之间的相似性,例如:年龄、性别、教育程度、地区或就业情况。另一种方法是通过用户之间的关系来计算使用行为,例如:评论、转发和收藏。这就是矩阵分解方法的原理,该方法把用户-评分矩阵分解成多个矩阵之积,通过更新多个分解矩阵对原始的用户-评分矩阵达到动态协同过滤的效果。此外,还可以采用给予新得分更高的权重来增量更新用户和项目的相似度进行动态协同过滤。蒋伟等就在矩阵分解模型的基础上,提出了耦合用户和物品辅助信息的矩阵分解混合协同过滤框架;然后,基于此框架又提出了耦合物品属性信息COS相似度的过滤模型[7]。Wei Zhang等人也结合主题建模和矩阵因子分解(MF)提出了一种概率生成模型。使用分层主题建模来建模条目内容和作者信息,并使用MF来建模用户的评级行为。用回归模型描述这两个模型之间的关系,并根据数据自动平衡[8]。如果用户只对少数几个项目进行了评级,那么推荐将主要基于用户的产品;否则,将基于他/她的评级。类似地,将主要根据内容推荐评级很少的项目;否则,将主要根据其评级进行推荐。

2.2  聚类技术

在构建动态推荐系统时采用的聚类技术主要有模糊聚类、K-means聚类等。如Yoori等提出了一种在混合云环境下考虑应用特性的资源整合分析方法和一种经济有效的推荐方法。资源聚类分析采用自组织映射和K-means算法对相似资源进行动态聚类。此外,经济有效的资源推荐方法采用基于应用程序感知的资源聚类的效率度量[9]。Xian-fen Xie则提出了一种基于双聚类的网页推荐方法,研究结合了基于密度的聚类和K均值聚类的优点。先对随机抽样进行基于密度的聚类,然后以每个聚类的中心和聚类的个数作为初始参数,实现快速的K-means聚类。然后将每个中间集群的主题分布与用户阅读历史中的Web页面内容进行比较,然后根据相似度得分依次选择中间集群,将流行度和近似值因素结合起来构建推荐模型[10]。使用聚类技术能够缩小用户或项目的最近邻居搜索范围,改善数据稀疏性问题,从而提高推荐的动态性。

2.3  实时计算框架技术

对于动态推荐来说,算法本身不能太过复杂,基于Spark构建推荐系统能够将系统中推荐运算的过程和结果在内存中实现与保存,加快了推荐计算的速度,也更好地适用于数据挖掘等需要大量迭代的运算。贾晓光运用Spark框架技术提出了一种针对项目内容学习优化的改进模型协同深度推荐CDL-I,通过对模型进行拆分,提出一种并行训练CDL-I的方法,将其移植到Spark分布式集群上,并行地对模型各部分参数进行训练优化,增强模型所能处理数据的规模和扩展性[11]。

基于Storm构建推荐系统可以把算法分成离线部分和动态部分,利用Hadoop离线任务尽量把查询数据库比较多的、可以预先计算的模型先训练好,或者把计算的中间数据先计算好,然后把少量更新的计算留给Storm动态计算,一般是具体的评分阶段。肖云鹏等学者设计实现一种社交网络评分预测方法。首先,针对评分主观性问题,引入并优化相关云模型理论,提出采用综合云模型生成评分标准并转化用户评分的方法。其次,针对预测不准确问题,引入隶属度概念,分别利用社交关系及相似群体建立两个评分预测模型,并基于高斯变换融合两部分预测结果生成预测评分[12]。个性化推荐技术优缺点比较结果如表1所示。

3  结  论

本文对动态推荐系统中的“动态”与“推荐”两方面内容进行了详细介绍与总结,其中在“动态”方面指出了在数据层和推荐服务层这两个个性化推荐系统的组成部分中所涉及的动态因素及相关研究;在“推荐”方面通过对已有文献的梳理,总结了动态推荐技术、聚类技术以及基于Spark和基于Storm实时计算框架技术三类动态推荐技术及其优缺点,为研究者更好地构建动态推荐系统服务。

参考文献:

[1] 卫星君,顾清华.针对协同过滤推荐系统的混淆托攻击模型 [J].计算机与数字工程,2018,46(8):1575-1579+1696.

[2] 刘曜,潘芳,潘郁,等.基于融合时间信息影响的Sim-Rank算法的个性化推荐 [J].统计与决策,2018,34(13):85-87.

[3] 陆佳炜,卢成炳,王辰昊,等.基于USDR模型的云推荐方法研究 [J].计算机测量与控制,2018,26(8):227-232+237.

[4] 杨珍,耿秀丽.面向个性化产品服务方案的推荐方法与应用 [J].中国机械工程,2018,29(16):1965-1974+1983.

[5] Danae Pla Karidi,Yannis Stavrakas,Yannis Vassiliou. Tweet and followee personalized recommendations based on knowledge graphs [J].Journal of Ambient Intelligence and Humanized Computing,2018,9(6):2035-2049.

[6] Ziyang Zhang,Yuhong Liu,Zhigang Jin,et al. A dynamic trust based two-layer neighbor selection scheme towards online recommender systems [J].Neurocomputing,2018,285:94-103.

[7] 蔣伟,秦志光.耦合辅助信息的矩阵分解推荐模型 [J].计算机应用研究,2019(10):1-11.

[8] ZHANG W,ZHUANG J Y,YONG X,et al. Personalized topic modeling for recommending user-generated content [J].Frontiers of Information Technology & Electronic Engineering,2017,18(5):708-718.

[9] Yoori Oh,Yoonhee Kim.A resource recommendation methodbased on dynamic cluster analysis of application characteristics [J].Cluster Computing,2018(22):175-184.

[10] Xianfen Xie,Binhui Wang.Web page recommendation via twofold clustering:considering user behavior and topic relation [J].Neural Comput & Applic,2018,(29):235-243.

[11] 贾晓光.基于Spark的并行化协同深度推荐模型 [J].计算机工程与应用,2018,54(14):71-76.

[12] 肖云鹏,孙华超,戴天骥,等.一种基于云模型的社交网络推荐系统评分预测方法 [J].电子学报,2018,46(7):1762-1767.

作者简介:焦梦蕾(1995.10-),女,汉族,安徽淮南人,在读硕士,研究方向:数据挖掘与智能商务;徐勇(1978.01-),男,汉族,安徽泾县人,教授,研究方向:数据挖掘与社会计算,大数据与人工智能。

猜你喜欢

聚类动态评分
APACHEⅡ评分在制定ICU患者护理干预措施中的应用研究
基于模糊聚类和支持向量回归的成绩预测
双周最佳阵容
双周最佳阵容
基于流形学习的自适应反馈聚类中心确定方法
基于密度的自适应搜索增量聚类法
双周最佳阵容
2014年5月27日—2014年6月24日
2014年4月22日—2014年5月22日
雕塑动态