推荐系统问题分析与策略研究
2019-03-18陈文静尹健
陈文静 尹健
【摘要】随着互联网技术的兴起和信息技术的快速发展,互联网从原来信息匮乏的时代走向了信息过载,这也使得用户想要从海量信息库中快速并且准确地找到其感兴趣的信息变得愈发困难,推荐系统应用而生。本文对推荐系统的相关内容和存在的问题进行了全面分析,并给出了相应的解决策略。
【关键词】互联网 信息过载 推荐系统
推荐系统通过将机器学习、用户行为学和人机交互等多个领域的技术进行结合,并运用大规模并行数据处理框架,进而快速并准确地为每位用户提供个性化信息服务。作为一种提供服务的技术,推荐系统的宗旨在于利用各种决策过程来支持用户的兴趣变化。同时,推荐系统已渐渐地在娱乐、政务、电子商务等领域受到广泛关注。
一、推荐系统研究现状及相关分析
推荐系统是由Group Lens研究小组对MovieLens电影数据集展开的研究,通过提取物品的特征信息来进行推荐,然而这种推荐方法存在一定的局限性,后来研究学者提出基于协同过滤、基于关联规则、基于效用、基于知识的推荐系统。近几年,国际学术界对推荐系统的研究也陆续产生,ACM曾多次将研讨的主题设为推荐系统,并且设立了推荐系统年会。许多国内外期刊也将推荐系统作为其研究专题,如SIGCHI、KDD、SIGIR、WWW等,这些期刊对推荐系统研究文章的收录也在逐步增加。
二、推荐系统存在的问题分析
推荐系统发展相对较快,并取得了较多的成果,但在其发展过程中,还存在着较多的问题。我们对相关问题进行了以下分析:
(一)准确性
预测准确性是目前在推荐系统研究中讨论的最多的问题,准确性是用来衡量真实评分和预测评分的误差值的重要方式。
(二)数据稀疏性
数据稀疏性是指在大量的用户和项目信息中,用户对项目的评分对于海量数据来说,只是冰山一角。例如,用户A和B具有较高的相似度,但是二者对相同项目的评分较少,通过相似度计算可以得到二者的相似度极低,这种情况导致了用户A和B之间的相似信息的缺失。因此数据稀疏性对推荐系统的推荐性能提出了重大挑战。
(三)冷启动问题
推荐系统中由于缺少初始评分而导致系统无法做出个性化推荐的问题称为冷启动问题,其主要包括用户冷启动和项目冷启动。由于协同过滤推荐算法采用基于目标用户的近邻或者基于项目的近邻对目標用户进行推荐。因此,如果系统中新加入用户和项目,系统很难采用近邻用户集合和近邻项目集合对目标用户进行推荐。所以,冷启动问题降低了协同过滤推荐算法的性能。
(四)可扩展性
随着时间的增长,用户和项目的数量也随之增长,采用传统的协同过滤推荐算法将会使得推荐系统遭受很严重的可扩展性问题,算法的计算过程和运算量可能呈指数增长。同时,系统需要实时并且准确性地为系统中的所有用户进行推荐,而这需要推荐系统具有较高的可扩展性。
三、推荐系统解决策略
针对推荐系统存在的问题,我们对推荐系统的解决策略进行了以下的分析:
对于准确性问题,通常我们选用平均绝对误差值来验证推荐系统的准确度。用户对推荐的项目越满意,则会越来越相信推荐系统,推荐系统被使用的概率也会逐渐提高。相反,如果推荐系统没有找到用户感兴趣的项目,则会导致该系统的用户逐渐流失,系统被使用的概率也逐渐降低。
对于数据稀疏性问题,使用降维技术来有效地解决数据稀疏性问题,例如选用奇异值矩阵分解将不具有代表性的特征或者不重要的用户和项目信息进行删除,从而有效地降低了用户对项目评分矩阵的维度。也就是说通过采用低维空间中的用户相似性来代替用户间的相似性,然后运用推荐系统为目标用户进行推荐。
对于冷启动问题,我们分别从用户冷启动和项目冷启动进行分析。当一个新用户通过注册而使用系统时,由于该用户未对系统中的项目进行评分,系统从而无法对该用户进行推荐,这种问题我们称为新用户冷启动问题。针对此问题我们提出了几种解决策略:利用系统中所有用户对项目评分的平均值作为新用户对该项目的评分;在用户注册时,使用附加信息如性别、年龄、职业等统计信息作为新用户对相关项目的评分来进行推荐;通过询问用户相关项目信息来获取新用户的兴趣爱好,比如登陆视频网站询问“喜欢什么样的电影”从而为用户推荐相关项目。当一个新项目被添加到系统中时,它没有任何被评分信息,因此也不会被推荐给用户,这种问题我们称为新项目冷启动问题。实际应用中,用户往往不会对不推荐给他们的项目评分,因此新项目可能会逐渐被遗忘。针对此问题,我们提出以下方法进行解决:系统随机抽取新项目或者评分信息很少的项目让用户进行评分;通过其他的推荐方法进行推荐,如基于内容或者关联规则等。
对于可扩展性问题,一方面可以采用皮尔森相关系数计算用户和用户以及项目和项目之间的相似度,此计算方式选用的是与目标用户评价过相同项目的近邻集以及与被用户评价过项目的相似项目集进行相似度计算;另一方面,选择基于模型的推荐算法如采用基于聚类的协同过滤推荐算法通过选定与目标用户兴趣度相似度较高的簇类中的用户进行推荐。这种方式不仅可以降低计算复杂度,同时可以解决可扩展性问题。
四、总结
推荐系统更新较快,必须通过不断的对推荐系统进行优化,提高推荐系统的推荐精确度,从而保障推荐系统时效性。
参考文献:
[1]Francesco R, Lior R, Bracha S. Recommender Systems Handbook[M]. Springer, Boston, MA.
[2]弗朗西斯科·里奇. 推荐系统[M].机械工业出版社, 2015.
[3]于洪,李俊华.一种解决新项目冷启动问题的推荐算法[J].软件学报. 2015, (06).
[4]李欢.新型协同过滤推荐算法研究[D].安徽大学, 2017.
[5]黄山山.协同过滤推荐算法的关键性问题研究[D].山东大学,2016.