个性化推荐系统改进算法

个性化推荐系统改进算法

摘要:推荐系统是复杂网络环境所产生的一种智能过滤冗余信息的方法,分析其相关研究进展从而为推荐系统的进一步研究及应用提供思路具有重要的参考意义。本文首先介绍了传统的个性化推荐算法及其应用,然后从混合推荐算法、动态推荐算法和其他推荐算法3方面总结了个性化推荐系统算法的进一步改进。同时指出基于大数据的个性化推荐系统是下一步的研究方向,也是提高推荐准确性的重要方法。

关键词:推荐系统;改进算法;大数据

0引言

推荐系统产生的主要原因是信息过载现象。从用户角度看,这一问题表现为用户难以从大量信息中准确并快速地选择自己想要的信息。从商品角度看,这一问题表现为商家或在线购物网站难以从大量商品中发现高价值商品来推荐给用户。因此对用户来说,推荐系统能够帮助用户发现自己想要的商品;对商品来说;推荐系统能够找到对其感兴趣的用户,前者例如电影,歌曲的推荐,后者例如广告推送。在1995年3月的美国人工智能协会上,个性化推荐系统首次被提出。随着电子商务的发展,复杂的网络环境和大量的数据信息推动着个性化推荐系统的不断改进,用户对于推荐效率和准确度的要求也在不断提高。本文重点关注推荐系统的改进算法,阐述了传统个性化推荐系统的基本应用,总结了混合推荐算法、动态推荐算法和其他推荐算法三类目前研究所使用的改进推荐系统准确度的主要算法。此外根据发展趋势指出了基于大数据的推荐可能是未来的研究热点和方向,希望对个性化推荐系统进一步的改进研究提供帮助。

1传统的个性化推荐算法

传统个性化推荐所采用的方法大多是基于内容和基于协同过滤的推荐算法。算法的数据源有不同的种类,包括行为的、统计的、主题的等,主要是用户和商品数据。基于不同的推荐算法挖掘数据关系,实现多样化的推荐规则,然后融合人工分析与算法结果得到个性化推荐。目前个性化推荐已经涉及到众多领域。例如在个性化阅读领域,刘海鸥等学者关注移动数字图书馆用户的情境信息,基于传统协同过滤推荐算法提出面向大数据的移动数字图书馆情境化推荐系统[1]。在社会网络领域,胡云等学者改进了基于模型的社会推荐算法,针对社会网络中社区用户的复杂关系,通过将重叠社区发现算法进行创新融合,提出一种基于重叠社区发现的社会网络推荐算法,实现了重叠社区的发现、建立,和基于社区的智能推荐[2]。在基于位置服务的旅游兴趣点推荐领域,陈健柯等学者提出一种基于兴趣热点图的旅游路线推荐算法以及候选子旅程排序TRR算法。通过离线挖掘出带滞留域与频繁路径的路径网络图,再融合时间约束因素选出候选全集K个得分最高的兴趣热点图作为结果用于推荐[3]。王伟伟等学者以移动餐饮推荐为应用背景,详细设计了基于餐饮本体的情境模型和基于SWRL规则的推理方法。将基于情境的推荐和基于用户兴趣的推荐相结合,得到一个自适应的混合推荐模型[4]。

2改进的个性化推荐算法

虽然传统的个性化推荐系统已经得到了广泛地应用,适用大多数问题和领域,但仍存在数据稀疏性和冷启动的问题。研究者也针对这些问题进行了推荐算法的改进,获得了较为突出的成效,总结如下。

2.1混合推荐算法

传统的个性化推荐系统采用单一的推荐算法,无法避免产生具有局限性的问题,在数据形式不满足算法要求时就会影响算法的准确度。因此针对不同数据和问题需求,采用不同的推荐算法混合研究,是目前解决这一问题的主要途径。如李同欢等学者提出一种基于深度学习的多交互混合推荐模型,首先通过深度学习模型融合更多的辅助信息作为输入;然后利用多层交互的非线性网络结构去学习更抽象、稠密的深层次特征表示;最后聚合所有的交互结果进行预测[5]。冯永等则提出一种携带历史元素的循环神经网络RNN推荐模型负责用户短期动态兴趣建模,而利用基于前馈神经网络FNN的推荐模型对用户长期兴趣建模。通过两种神经网络的融合,构建了一个兼顾用户动态短期兴趣和稳定长期兴趣的多神经网络混合动态推荐模型MN-HDRM[6]。刘雪晴将互惠相似性融合到为用户推荐科研小同行的问题中,并结合了基于内容的推荐方法和协同过滤推荐方法进行候选列表的过滤筛选[7]。由此可见,混合推荐算法主要有两种形式,一种是采用不同的推荐算法结果进行加权组合获得综合结果,另一种是在推荐系统构建的不同环节选择不同的推荐算法进行混合计算。

2.2动态推荐算法

传统的个性化推荐系统具有识别用户过去偏好的能力,但如果用户的偏好在培训阶段后发生变化,基于过去偏好的推荐并不总是为用户提供最大的效用。随着用户偏好的演变,用户往往会随着时间的推移而改变自己的行为。用户不断变化的偏好对推荐系统有很大的影响。然而,用户的偏好不一定是逐渐演变的,但也可以在两个连续的时间段之间急剧演变,这意味着在一个持续的时间段内,用户的偏好可能与前一个时间段的偏好类似,也可能完全不同。因此动态化是提高推荐系统准确度的关键方法之一。如Mehdi等提出了一种新的分层隐马尔可夫模型,通过对用户的潜在上下文进行建模来识别用户偏好随时间的变化。将用户建模为一个隐马尔可夫过程,并将用户的当前上下文视为一个隐变量。利用从用户反馈序列中收集的数据,利用隐马尔可夫模型对每个用户的潜在上下文进行自动学习[8]。Rafailidis提出了一个多潜转换(MLT)模型。建立了一个共同的目标函数,计算具有用户最新偏好的正在进行的一段时期与所有过去的一段时期之间的多重变迁。利用辅助信息和上下文感知建议进行因子分解,采用一种高效的基于梯度的交替优化算法求解问题,并保证了算法的收敛性[9]。王晓耘等引入遗忘因子实现用户兴趣模型的动态更新,构建用户加权LDA标签主题模型通过提取标签主题刻画用户兴趣[10]。由此可见,动态推荐算法能够考虑用户偏好的动态变化,将与之相关的影响因素加入用户-商品的关系分析步骤中,构建具有实时性的推荐算法,从而使推荐结果能够随数据的变化获得更新,更好地为用户提供服务。

2.3其他改进的推荐算法

针对个性化推荐系统的多维度影响因素,研究者从数据采集、分析到推荐结果等不同角度入手,进行推荐算法的改进。JuhengZhang等人采用挖掘在线客户评论中隐藏信息方法提高推荐准确度。使用潜在的Dirichlet分配(LDA)模型来生成等价的选项,通过聚类分析确定了基于感兴趣主题的同类产品。在同一集群的产品中,选择价格较低的产品推荐给潜在客户。这些产品被认为是更有价值的产品,因为它们的价格更低,但与相对昂贵的产品有相似的特点[11]。JunpengGuo等将协同过滤与购买间隔和价格相结合,实现推荐的多样化,提高推荐的准确性。提出了一种基于顺序模式挖掘的用户兴趣漂移建模方法。此外,提出了一种新的方法来建模个性化的多类别间购买间隔的用户。运用模糊集合理论,提出了一种针对不同用户的价格偏好建模方法。结合上述方法构建推荐系统[12]。王晓耘等则引入社会化标注改进传统协同过滤算法,首先挖掘融合社会关系标签的潜在语义主题,然后构建多层、多维度用户兴趣模型,提出模型更新策略,最后实现个性化推荐[10]。刘海涛等在基于潜在因子模型的个性化推荐算法的基础上,构建了结合时间序列的语义信息挖掘及匹配模型,以提高模型预测用户偏好的准确性。此外结合因子分解机的思想实现对扩展模型的构建,并通过movielens数据集对该方法的有效性进行验证[13]。李林峰等学者提出了基于共享知识模型的跨领域推荐算法SKP,首先对各个领域中用户-项目的评分矩阵分解,然后对分解矩阵进行聚类,得到用户分组对项目分组的评分知识模型,最终利用目标领域的个性知识模型和各个领域的共性知识模型来得出推荐结果[14]。

3存在的问题

总体来说,无论是传统的个性化推荐系统还是改进后的都由数据源部分、推荐算法部分、推荐方式部分3个部分组成。研究者的主要研究内容在于推荐算法部分的改进,然而对于整个推荐系统来说仍存在一定的问题。考虑数据源部分,目前的个性化推荐系统架构在关系型数据库之上,对于大数据的分析与统计存在计算与存储两方面的性能瓶颈。在构建推荐系统的过程中,存在用户和商品大量数据的获取与存储问题。考虑推荐算法部分,目前的个性化推荐系统数据挖掘精度不高,此外当有新数据产生的时候,系统中的一些因素就会随之发生改变,甚至产生新的因素,目前的个性化推荐算法只能重新进行构建或运算,极大地增加了系统地复杂性,这就对系统的扩容问题提出了新的挑战。考虑推荐方式部分,目前的个性化推荐系统针对情境兴趣建模的性能较弱,局限于为用户推荐感兴趣的商品。随着用户需求的上升,商品特征、商家、评论都能够作为被推荐的对象。

4下一步研究方向

通过对推荐系统相关研究的学习,基本的个性化推荐技术已经不能满足用户和商家地需求,大数据作为当前时代的主要特点需要新的技术,同时大数据也能够促使推荐技术发展地更加准确。基于大数据的个性化推荐系统能够获取海量数据,通过多种算法进行分析、挖掘获得精准推荐,整个过程在保证推荐质量的前提下呈现完全实现自动化。在构建推荐系统的过程中,考虑数据源部分,利用大数据中的分布式技术和云计算的优势,能够解决用户和商品大量数据的获取与存储问题。考虑推荐算法部分,MapReduce大数据处理工具进行个性化推荐的原理是将场景-数据-推荐算法三者相互对应起来,分别采取有针对性的策略提高用户大数据的并行挖掘精度以及推荐系统的运行效率。当有新数据产生时,基于大数据的个性化推荐系统能够随时扩充推荐系统的计算与存储能力,使系统更加简单高效。考虑推荐方式部分,大数据推荐引擎主要由推荐系统服务接口与系统前端接收的情境化服务请求进行对接,针对不同的用户产生个性化的推荐回应,能够缓解数据稀疏性导致的推荐性能下降问题。因此在大数据环境下进行个性化推荐是推荐系统研究的下一步研究方向。

作者:焦梦蕾 赵涛 徐勇 单位:安徽财经大学管理科学与工程学院