计算机论文哪里有?本文 设计了一种基于协同过滤的精准推荐策略 CFAR。设计了用户评分数据可信化处理方法,削减了虚假评分或恶意评分给推荐系统带来的负面影响;运用 K-means 聚类算法针对用户特征聚类,解决了用户冷启动问题;根据物品数和用户数的大小关系,或者不同推荐算法所得 F1 值的大小关系,灵活选用合适的推荐算法来产生更有针对性的推荐结果;最后在 MovieLens 数据集和 FilmTrust 数据集上对 CFAR 策略做测试实验,验证了算法性能。
第一章 绪论
1.2国内外研究与应用现状
有关个性化推荐系统的应用最早可以追溯到 20 世纪 90 年代。为了解决 Xerox 公司在 Palo Alto 的研究中心出现的资讯过载问题,Goldberg 等人[5]提出了协同过滤的概念,并将其应用到 Tapestry 邮件系统中,实现对电子邮件的筛选和分类。1994 年,Resnick 等人[6]研究出GroupLens 系统,这是第一个能够进行自动化推荐的系统,该系统通过分析用户历史评分信息来预测用户可能感兴趣的新闻,从而进一步提升了协同过滤算法的性能。1995 年,Robert Armstrong 等人[7]在美国人工智能协会上提出了 Web Watcher 个性化导航系统。2006 年,美国在线影视租赁服务商 Netflix 以 100 万美金作为奖金,鼓励全球的专家和技术人员对 Netflix的电影推荐算法作进一步改进以提高推荐效率。2007 年,Joseph Konstan 教授举办了第一届推荐系统会议[8],吸引了来自全球各地的专家和学者在此分享他们的研究成果。此后,个性化推荐系统的地位随着信息技术的发展而日益凸显,并被广泛的应用于各个领域。2009 年,北京百分点信息科技有限公司研发了国内首个推荐引擎,为用户提供实时智能的商品推荐[9]。
但随着研究的深入,人们逐渐发现了推荐系统在实际应用中的不足。
电商平台因其巨大的便利性吸引了众多消费者参与其中,用户除了浏览物品信息、购物消费,还可以对购买的物品进行评价打分,作为其他消费者购物参考的标准。但是在庞大的商品海洋中,用户每次浏览的商品数量是有限的,不可能把所有的商品信息都看一遍。在这种情况下,用户能够对购买过的商品作出全面的评价就显得更少了,这给那些依赖用户数据进行相似度计算的推荐技术设置了障碍。如何提高推荐效率和推荐精度成为了挑战。
第三章 基于协同过滤的精准推荐策略研究
3.1 传统协同过滤推荐算法分析
如前文所述,UserCF 算法的基本思想是:首先,根据用户相似度计算公式求取其他用户和目标用户之间的相似度;然后,选择用户相似度较高的用户作为近邻用户;接着,提取近邻用户评价物品中打分较高的物品;最后根据目标用户对这些物品感兴趣的程度排序获得最终结果,选择并推荐给用户。
其中,用户相似度的计算非常关键,它在很大程度上决定了算法推荐的精度。常用的用户相似度计算方法有皮尔逊相关系数[47]、欧几里得距离[48]、余弦相似度[49]等。
ItemCF 算法的基本思想是:通过使用物品相似度计算方法,结合目标用户的历史行为,为目标用户找到与其曾经喜好过的物品最相似的其他物品;然后,根据目标用户对这些物品感兴趣的程度排序,选择合适的物品推荐给用户。
与其它推荐算法相比,协同过滤推荐算法的优势在于推荐的实施只依赖用户的行为数据,不依赖于具体用户及标的物相关的数据。但是,如何避免虚假评分、恶意评分对推荐结果的影响,如何在有新用户、新物品等情况下保证推荐精度,以及如何根据具体情况选择合适的算法来提高推荐精度,都是需要解决的问题。
为了在使用经典协同过滤推荐算法的前提下,解决用户冷启动、用户评分数据不可信以及推荐算法适用场景单一等问题,以提高推荐准确性,本章设计了一种基于协同过滤的精准推荐策略(Accurate Recommendation Strategy Based on Collaborative Filtering,CFAR)。该策略包括三大部分:用于减少虚假的或恶意的不可信评分给推荐结果带来的负面影响的用户评分数据可信化处理方法;基于 K-means 聚类的用户冷启动解决方案;适用于具体场景的推荐算法及结果的选择策略。
第四章 CFAR 策略在美食推荐系统中的应用
4.1需求分析
软件开发中的需求分析包括信息需求、功能需求、性能需求、安全需求、环境需求等诸多方面。本文对这个简单的美食推荐系统重点分析了信息需求和功能需求。
4.1.1 信息需求
本章将 CFAR 策略应用于美食推荐系统中,通过分析用户特征属性信息以及用户历史评分数据为用户提供推荐。该系统需要存储的信息包括:
用户数据及特征属性信息、商户信息、用户对各个商户美食的评分信息。 用户数据及特征属性信息包括:用户标识、用户名、密码、邮箱、年龄、性别、职业、口味。
商户信息包括:商户编号、商户名称、商户地址、人均消费、类别、特色菜、美食图片。
用户对各个商户美食的评分信息包括:用户标识、商户编号、评分、评价、评分时间。
4.1.2 功能需求
本章设计并实现的美食推荐系统需要具备如下基本功能:
(1)用户注册:为了提高系统的安全性,便于用户信息的收集和管理,要求新用户进入网站时,先注册一个用户账号,并填写用户个性化信息。
(2)用户登录:对于已经注册过的用户账号,能够成功登录美食推荐系统。
(3)美食查询:根据商户名称、美食类别查询商户信息。
(4)美食推荐:通过 CFAR 策略生成推荐列表,然后向当前登录的用户展示推荐结果。
(5)美食评价:用户可以对消费过的美食进行评价打分,完善用户-美食评分矩阵,提高推荐准确率。
4.2美食推荐系统设计
本文重点为这个简单的美食推荐系统做了系统架构设计、数据库设计、环境选择和处理流程设计。
4.2.1 系统架构设计
本文的美食推荐系统借鉴了前文所述的 Netflix 个性化推荐系统架构。将重点实现:
(1)系统与用户进行业务交互的部分, 该部分可对 MySQL 数据库进行访问并将处理结果回传到前端进行优化后展示给用户,另外,用户与系统交互过程中产生的注册信息、评价信息等也可实时存储到 MySQL 数据库中。
(2)进行离线计算的部分,该部分使用用户评分数据可信化处理方法,对系统中已经存在的用户-美食评分数据进行周期性清理以去除不可信评分,从而降低虚假评分或恶意评分给推荐系统带来的负面影响。
(3)产生推荐结果的部分,该部分运用 CFAR 策略,先判断目标用户是否为新用户,而后采取不同的推荐策略,直到获得最终推荐结果。
第五章 总结与展望
5.2 展望
本文主要对协同过滤推荐算法进行了研究,弥补了该算法存在的一些缺点,提出的各个策略都具有较高的性能和丰富的应用场景。但由于个人水平与时间限制,也存在一定的局限性,未来还可以从以下几个方面进行更深入的研究:
(1) 本文主要研究的是协同过滤推荐算法,设计的 CFAR 策略综合考虑了基于用户的协同过滤推荐算法和基于物品的协同过滤推荐算法的适用场景,在未来的研究中可以将其它类型的推荐算法集成于一个系统中,使得系统的适用场景更广阔,可扩展性更强。
(2) 本文所提出的 CFAR 策略通过对用户特征进行 K-means 聚类解决了用户冷启动问题,而真实世界中,冷启动问题还包括物品冷启动和系统冷启动,因此可以在未来的研究中将这两方面考虑在内,进一步提高推荐系统性能。
(3) CFAR 策略融入了用户评分数据可信化处理方法,有效降低了托攻击对系统推荐质量的影响。而在真实社会中,推荐系统所遭受的攻击方式和种类众多且复杂,因此可以在未来的研究引入攻击检测技术,使推荐结果更加合理。另外,对于虚假评分和恶意评分的判定标准值得进一步研究,以便更准确地定性。
参考文献(略)