面向去除偏差问题的强化推荐系统技术研究
这是一篇关于流行度偏差,曝光偏差,强化推荐系统技术,因果推断,用户聚类的论文, 主要内容为近年来,随着全球数字化转型的持续深入,人们日常生活的方方面面都被互联网技术所革新优化,信息的生产和传播速度达到了人类历史的巅峰。在数字化进程中,推荐系统是不可或缺的重要生产力之一,优秀的推荐系统可以提高人们接受信息的效率,帮助用户深度挖掘兴趣点,带给使用者更好的使用体验,同时还可以帮助内容提供方获取更多的收益。然而为了实现“千人千面”的个性化推荐效果,推荐系统需要解决各式各样的问题,其中一个非常值得探索的方向就是偏差问题。由于其隐蔽性,偏差问题正在难以觉察地损害着个性化推荐目标。故本文结合强化推荐算法,深入研究了推荐系统常见偏差中的流行度偏差问题与曝光偏差问题的产生来源和作用机制,提出了消除相应偏差影响的强化推荐算法,并在多个数据集上进行了有效性验证,主要研究内容如下:(1)设计了基于结构因果推断的Popularity Separate(PS)强化推荐算法框架,并结合两类经典的强化推荐算法DQN、REINFORCE,构造了PS-DQN与PSREINFORCE模型。本文通过研究用户对物品的交互倾向与流行度因子之间的因果关系,识别出流行度因子为其中的混杂因子,并利用后门调整手段去除混杂因子的影响,从而缓解流行度偏差。并在三个不同规模的真实数据集上,测试对比了算法的推荐性能和流行度推荐倾向,结果均证明了算法的有效性。(2)提出了User Based Reward Shift Deep Q-Learning(URS-DQN)算法。本文研究了曝光偏差的产生机制,针对交互数据中负反馈的不准确性提出了面向用户的Reward Shift方法,在对用户聚类后迁移同类用户的交互倾向,并结合经典的强化推荐算法DQN,提出了URS-DQN算法,缓解曝光偏差的影响,更准确地提取用户的真实兴趣爱好。在实验验证上,本文在三个数据集上与四个基线算法进行了对比分析,实验结果显示URS-DQN算法的推荐性能和训练效率都更好。除此之外,还通过多个消融实验,对算法各个模块的有效性进行了探究和实证。
政府采购协议供货平台推荐系统研究及应用
这是一篇关于政府采购,用户聚类,协同过滤,推荐系统,相似度计算的论文, 主要内容为重庆市政府采购电子交易平台,即重庆市政府采购协议供货平台自2012年开通以来,平台上的商品数量增长迅猛。大量的商品给采购单位带来诸多选择的同时也带来了困扰。如何采购一件质量好,价格优惠的商品,对于采购单位来说越来越难以抉择。尤其是随着平台商品的快速增加,如何给采购单位推荐优质的目标采购商品这一问题亟待解决。为解决这一问题,论文从数据挖掘的角度,结合协同过滤推荐技术,讨论了推荐系统在政府采购协议供货平台上的研究及应用问题。论文概述并分析了政府采购协议供货平台数据的特点,采购数据中没有评分信息,但是采购单位具有明确的单位类型信息;协同过滤推荐算法中在计算相似度时需要评分信息,结合采购数据的特点,论文将采购单位的单位类型信息作为用户属性,并将用户属性信息和基于Jaccard系数的相似度计算方法融合在一起,改进了用户相似度计算方法;以改进的用户相似度计算方法为基础,建立了融合用户属性的政府采购协议供货平台推荐系统的模型,并采用常用的准确率、召回率和f-score指标对模型的推荐性能进行评价:评价结果显示融合用户属性的推荐模型效果不佳,对采购数据和相似度计算方法进一步分析,发现可以通过用户聚类提高目标用户近邻用户的质量和通过加入用户采购商品的数量差异作为权重因子来提高用户相似度计算精确度这两点出发对融合用户属性的模型进行改进,在此基础上提出并利用java语言构建了基于用户聚类的政府采购协议供货平台推荐系统模型;采用与融合用户属性的推荐模型相同的评价指标对基于用户聚类的推荐模型进行评价,结果表明:基于用户聚类的政府采购协议供货平台推荐系统模型的综合推荐性能更为优秀;论文以基于用户聚类的推荐系统模型为基础开发了基于用户聚类的政府采购协议供货平台推荐系统。
基于用户聚类和时间隐语义模型的电影推荐系统研究与应用
这是一篇关于协同过滤,用户聚类,隐语义模型,推荐系统,B/S架构的论文, 主要内容为随着移动互联网的飞速发展,数据信息也迎来了爆发,人们很难从海量的数据信息中快速找到自己想要的内容,面临着数据过载带来的诸多问题。此类问题在众多电影视频网站中尤其明显,用户无法快速查询到自己感兴趣的电影信息,从而为此耗费了大量精力。随着推荐系统相关技术的日趋成熟,信息过载等问题正慢慢得到缓解。推荐系统技术的目的是主动向指定用户引荐潜在感兴趣的项目。协同过滤算法作为推荐技术中应用最广泛的算法之一,随着个性化推荐技术的不断创新和发展,也暴露出越来越多的缺点,例如数据稀疏、扩展性差等,传统的协同过滤推荐算法已无法满足个性化项目推荐的应用需求。本文针对传统协同过滤算法存在数据稀疏情况下推荐准确率低以及处理较大数据量时效率降低、可扩展性差的问题提出一种融合算法,将用户聚类和隐语义模型相结合,提出基于用户聚类和时间隐语义模型的推荐算法R-CTLFM(A Refined Recommendation Algorithm Based on User Clustering and Time Based Latent Factor Model)。在解决数据稀疏性和可扩展性差的问题时,考虑到项目点评时间对推荐效果的影响,引出时间函数,并将其融合到评分预测算法中。论文研究内容如下:(1)考虑时间因素对评分预测的影响,提出融合时间函数的隐语义模型。分析时间因素对用户评分的影响,结合艾宾浩斯遗忘曲线提出时间指数函数,以此提高用户近期评分的时间权重,并融合隐语义模型对所有聚类中的用户评分稀疏矩阵进行评分预测,大大降低了聚类中用户评分数据的稀疏性,考虑了时间因素对用户的兴趣偏好的影响,最终通过实验对比并确定时间隐语义模型的实验参数。(2)针对数据稀疏和可扩展性差的问题,提出基于用户聚类和隐语义模型的协同过滤推荐算法。考虑到k-means聚类算法容易陷入局部最优解的问题,结合蚁群算法分布式搜索的特性对其进行改进;基于用户的特征属性通过改进的k-means聚类算法对用户进行聚类,解决了新用户登陆的冷启动问题,使得用户之间的相似度计算范围缩小到具有相同特征属性的用户簇中,大大减少了计算用户相似度所需要的时间。同时考虑长尾效应,在计算用户相似度时加入热门惩罚因子,降低热门项目对用户相似度推荐的影响。通过在Movie Lens数据集上进行实验对比,R-CTLFM推荐算法相较于其它两种算法的RMSE值平均降低了1.18%和0.87%,推荐的准确性有所提高。(3)本文采用R-CTLFM算法设计实现了个性化的电影推荐管理系统。该系统基于B/S架构,利用JSP、Servlet等技术开发实现了首页个性化推荐、用户自我管理和管理员后台操作等基础功能界面,能够实现根据不同的用户的特征属性和评分操作进行个性化推荐,验证了推荐算法的可行性和实用性。
A User-based Collaborative Filtering System for Posts Recommendation
这是一篇关于基于用户的协同过滤算法,混合推荐算法,用户聚类,k-means算法,改进用户中心选择,帖子质量打分的论文, 主要内容为现阶段,论坛是用户交流想法以及分享知识的一个重要场所,比如天涯论坛、虎扑论坛、百度贴吧等仍然拥有大量的用户群体。通常一个论坛(有时也被称为BBS-Bulletin Board System)由站长创建,并设立各级管理人员对其进行管理。一个论坛最核心的部分是它设置了各色各样的主题,用户可以关注和取消关注某个主题。每个主题下还有大量的帖子,帖子可以被收藏、点赞、置顶、加精等。然而,由于现在帖子的数量急剧增多,信息过载严重,很多时候用户难以浏览到自己真正感兴趣的帖子,因此推荐系统作为一种重要的辅助的技术手段被应用到论坛系统当中。推荐系统是一种重要的信息过滤手段,它能够根据用户的历史行为、社交关系、兴趣点、所处上下文环境等信息去判断用户当前需要或感兴趣的对象并为用户提供个性化的服务。现在,大部分论坛都采用了基于时间倒排、帖子热度、是否加精、是否置顶等方式为用户进行帖子推荐,这些方式中几乎没有包含个性化的信息,而个性化推荐系统能够针对用户的行为习惯,偏好兴趣等进行针对性的推荐,需要注意的是个性化帖子推荐系统并不是为了替代这些方式,而是对这些推荐方式进行补充。随着这些年来对推荐系统的研究,很多研究中的难点和重点得到研究者的关注,比如(1)、冷启动问题,冷启动问题主要包括新用户问题和新对象问题,因为系统中没有存储或者存储很少新用户或者新对象(如帖子,商品等)的信息,像基于模型的方法可能无法获得训练数据而基于规则的方法则难以进行推理等。(2)、数据稀疏问题,在很多大型系统中,总有很多对象没有经过用户的评价或者浏览,往往这些对象的数量是非常大的,这会导致任意两个用户之间的差别都比较大,从而使模型不能很好的工作。现阶段,国内外学者都对推荐算法进行了深入和广泛的研究。本论文采用了基于用户的协同过滤算法,根据用户最近的浏览记录(本论文采用的数据集并未包含浏览记录信息,因此实际系统实现时使用了收藏记录)来计算用户的相似度,并为目标用户提供个性化推荐服务。论坛推荐系统有三个特点,一是论坛用户并不会对某个帖子进行评分,因此我们就无法获得显性的数据来表征一个帖子的好坏以及受欢迎程度,我们需要通过点击量、收藏量、评论数之类的隐性反馈来构建模型以表征帖子的好坏以及受欢迎程度。二是论坛用户更加倾向于阅读帖子而不是回复其他用户,因此当我们计算相似用户或者相似帖子的时候,会存在着数据稀疏问题。三是论坛设置很多内容相对比较集中的主题,因此不同帖子在一定程度上可以说已经聚类到不同的主题当中了。只有当我们结合论坛的特点进行推荐系统的设计才可能为用户提供更加高质的推荐服务,针对论坛的特点以及对当前推荐算法的分析,本论主要实现了一种基于用户的协同过滤系统,主要工作包括以下几个方面。(一)、帖子质量打分。在帖子预处理过程中,我们需要有一种方式来评估帖子的质量,以便提高推荐系统的推荐效率。通过分析和研究,我们选取用户的等级、帖子发布时间、用户的经验、用户的权限、帖子的长度、帖子的情感倾向、帖子的图片数量等作为模型输入特征,帖子赞和踩数量的组合作为输出目标来构建一个回归模型。本论文中,回归模型采用了SVR模型,并通过MSE(MeanSquareError)以及决定系数(R-Square)来衡量SVR模型的好坏。一个帖子质量的分数可以作为推荐列表生成的重要依据,比如从个性化主题中获取帖子列表,除了考虑时间因素外,另外一个重要因素就是需要考虑帖子的质量得分,帖子的质量得分还可以用在混合推荐算法中,后端响应请求返回的帖子列表可以按照帖子质量得分进行排序然后输出。(二)、改进的k-means用户中心选择。在本论文中,为了减少计算量以及获得相似用户,我们采用了k-means算法对用户进行聚类。传统k-means方法的初始中心是随机生成的,随机的中心选取方式可能会使得最终聚类的结果差别较大。在本论文中,我们认为将有较大影响力的用户作为聚类中心可能会得到更好的聚类效果。首先,我们构建了一个用户回复关系矩阵A,然后再构建一个影响力矩阵B,通过两个矩阵的迭代相乘,我们最终便能够得到每个用户的影响力。通过这种方式,大约平均6次迭代,迭代便能够收敛了,其中需要注意的是我们每次将两个矩阵相乘之后需要将排序矩阵B中的每个元素按比例线性减小到和为1的矩阵,另外为了避免所有的有影响力的用户都是同一个主题下的用户,导致比较差的聚类效果,在实现推荐系统的过程中,我们将按照影响力排名当中相邻用户相似度大于0.5(只根据他们关注的主题)的用户删除。通过以上方式我们得到了最终改进的用户中心列表,并将其应用到k-means算法当中使得推荐系统性能得到一定的提升。(三)、推荐系统设计和实施。本论文基于成熟的Web开发技术(Python+Django),实现了帖子推荐系统的基本功能,如帖子详细页面、推荐列表页面等。在本论文中,基于用户的协同过滤推荐列表和帖子个性化主题推荐列表(主要来自用户可能感兴趣的主题)将被组合为混合推荐列表。在实现过程中为了加快推荐速度,我们采用了一些简单的策略,比如1)、用户相似度计算每天只进行一次,因为我们认为相似性用户在短时间内不会改变太多,将类似用户列表存储到Redis数据库中会更快速,并且可以加快后端响应。2)、个性化主题列表也是每天更新到Redis数据库一次即可。3)、用户的浏览帖子ID需要实时地保存到Redi s数据库当中而不是仅仅保存到日志当中。在面对冷启动问题时,本论文采用了注册时让用户添加额外信息的方式来解决,即在用户刚注册的时候,强制用户提供性别,年龄段,兴趣点等信息。本论文使用的是实际的数据集,该数据集中暂时仅包含用户的性别信息。此外,因为用户操作大多只是浏览帖子,因此整个系统中存在着大量的帖子没有任何评价,点赞和踩等操作,单纯的只使用基于用户的协同过滤可能无法非常有效地进行推荐,因此我们另外增加了一种基于个性化主题的帖子推荐方式,通过获取目标用户可能喜欢的主题列表,推荐系统将从这些主题中选取质量比较高的帖子并将其推荐给用户,这样即使一个帖子没有任何操作数据,只要这个帖子的质量得分比较高,也可以获得推荐,这也在一定程度上缓解了冷启动问题。在面对数据稀疏问题时,本论文并未进行额外的处理和优化,主要原因是因为我们现在的数据集比较小,运算数据是否稀疏对当前的计算并没有太大的影响。将来当我们的数据集不断增大的时候,我们可以使用SciPy包封装好的稀疏函数来进行优化和运算或者应用一些常见的稀疏算法来进行优化。最终,通过实验,我们发现随机中心的k-means算法和改进中心的k-means算法的最终性能相差并不大,不过经过多次实验我们可以发现,改进用户中心的k-means算法更加的稳定并且能够在大部分情况下得到比随机中心的k-means算法更好的性能,考虑到系统的整体数据量是比较小的,这样的数据量并不能比较好的体现出改进中心的k-means算法的优势,当数据量增多的时候,改进用户中心的k-means算法可能会有更好的表现,因此我们认为使用改进用户中心的k-means算法还是非常有意义的。另外实验中,我们还比较了各种方法的召回率,查准率,F1-score以及覆盖率,发现改进用户中心的k-means算法具有一定的优势。
基于用户聚类和时间隐语义模型的电影推荐系统研究与应用
这是一篇关于协同过滤,用户聚类,隐语义模型,推荐系统,B/S架构的论文, 主要内容为随着移动互联网的飞速发展,数据信息也迎来了爆发,人们很难从海量的数据信息中快速找到自己想要的内容,面临着数据过载带来的诸多问题。此类问题在众多电影视频网站中尤其明显,用户无法快速查询到自己感兴趣的电影信息,从而为此耗费了大量精力。随着推荐系统相关技术的日趋成熟,信息过载等问题正慢慢得到缓解。推荐系统技术的目的是主动向指定用户引荐潜在感兴趣的项目。协同过滤算法作为推荐技术中应用最广泛的算法之一,随着个性化推荐技术的不断创新和发展,也暴露出越来越多的缺点,例如数据稀疏、扩展性差等,传统的协同过滤推荐算法已无法满足个性化项目推荐的应用需求。本文针对传统协同过滤算法存在数据稀疏情况下推荐准确率低以及处理较大数据量时效率降低、可扩展性差的问题提出一种融合算法,将用户聚类和隐语义模型相结合,提出基于用户聚类和时间隐语义模型的推荐算法R-CTLFM(A Refined Recommendation Algorithm Based on User Clustering and Time Based Latent Factor Model)。在解决数据稀疏性和可扩展性差的问题时,考虑到项目点评时间对推荐效果的影响,引出时间函数,并将其融合到评分预测算法中。论文研究内容如下:(1)考虑时间因素对评分预测的影响,提出融合时间函数的隐语义模型。分析时间因素对用户评分的影响,结合艾宾浩斯遗忘曲线提出时间指数函数,以此提高用户近期评分的时间权重,并融合隐语义模型对所有聚类中的用户评分稀疏矩阵进行评分预测,大大降低了聚类中用户评分数据的稀疏性,考虑了时间因素对用户的兴趣偏好的影响,最终通过实验对比并确定时间隐语义模型的实验参数。(2)针对数据稀疏和可扩展性差的问题,提出基于用户聚类和隐语义模型的协同过滤推荐算法。考虑到k-means聚类算法容易陷入局部最优解的问题,结合蚁群算法分布式搜索的特性对其进行改进;基于用户的特征属性通过改进的k-means聚类算法对用户进行聚类,解决了新用户登陆的冷启动问题,使得用户之间的相似度计算范围缩小到具有相同特征属性的用户簇中,大大减少了计算用户相似度所需要的时间。同时考虑长尾效应,在计算用户相似度时加入热门惩罚因子,降低热门项目对用户相似度推荐的影响。通过在Movie Lens数据集上进行实验对比,R-CTLFM推荐算法相较于其它两种算法的RMSE值平均降低了1.18%和0.87%,推荐的准确性有所提高。(3)本文采用R-CTLFM算法设计实现了个性化的电影推荐管理系统。该系统基于B/S架构,利用JSP、Servlet等技术开发实现了首页个性化推荐、用户自我管理和管理员后台操作等基础功能界面,能够实现根据不同的用户的特征属性和评分操作进行个性化推荐,验证了推荐算法的可行性和实用性。
基于协同过滤算法的个性化推荐系统的研究
这是一篇关于个性化,推荐系统,协同过滤,WEB挖掘,用户聚类的论文, 主要内容为信息过载和信息迷失已经成为制约人们高效使用Internet上信息的瓶颈。信息过载是信息时代信息极大丰富的负面影响之一,随着Internet应用的迅速发展,网上信息迅速增加,从而使得用户面对太多的信息难以及时地消化、吸收。信息迷失是指由于Internet上信息资源分布的广泛性,用户不知道如何确切地表达对网上信息的需求,也不知道如何准确有效地寻找自己感兴趣的信息。目前大多数搜索引擎由于缺乏主动性,没有考虑用户的兴趣偏好,还不能非常有效地解决信息过载和信息迷失的问题。 推荐系统是在信息过滤技术的基础上衍生的技术。信息过滤技术能够较好的解决“信息过载”和“信息迷失”问题,让人们能更充分的使用Internet上的信息。信息过滤技术是实现信息资源个性化推荐的基础。但是随着Internet信息规模的不断扩大,推荐系统也面临一系列问题,本文结合现有的网站资源对个性化推荐系统的推荐算法进行了研究。 本文首先介绍了WEB挖掘技术和个性化推荐系统,然后介绍了协同过滤算法的原理及应用,并对其进行分析,指出了该算法存在的问题,提出了基于WEB日志和聚类分析的协同过滤算法,该算法在系统离线时,分析服务器WEB日志,采用用户聚类的方法将具有相似兴趣度的用户划分到同一个聚类中,而当系统在线时寻找最近邻居,当向一个目标用户进行推荐时只需要在和其兴趣度最相似的聚类中寻找其邻居,然后根据邻居的兴趣向目标用户推荐其最有可能感兴趣的商品来提高在线数据处理效率,最后将该算法应用到本论文所研究的具体网站中,从而验证了该算法能够有效的提高推荐系统的推荐质量与推荐效率。
基于用户聚类和时间隐语义模型的电影推荐系统研究与应用
这是一篇关于协同过滤,用户聚类,隐语义模型,推荐系统,B/S架构的论文, 主要内容为随着移动互联网的飞速发展,数据信息也迎来了爆发,人们很难从海量的数据信息中快速找到自己想要的内容,面临着数据过载带来的诸多问题。此类问题在众多电影视频网站中尤其明显,用户无法快速查询到自己感兴趣的电影信息,从而为此耗费了大量精力。随着推荐系统相关技术的日趋成熟,信息过载等问题正慢慢得到缓解。推荐系统技术的目的是主动向指定用户引荐潜在感兴趣的项目。协同过滤算法作为推荐技术中应用最广泛的算法之一,随着个性化推荐技术的不断创新和发展,也暴露出越来越多的缺点,例如数据稀疏、扩展性差等,传统的协同过滤推荐算法已无法满足个性化项目推荐的应用需求。本文针对传统协同过滤算法存在数据稀疏情况下推荐准确率低以及处理较大数据量时效率降低、可扩展性差的问题提出一种融合算法,将用户聚类和隐语义模型相结合,提出基于用户聚类和时间隐语义模型的推荐算法R-CTLFM(A Refined Recommendation Algorithm Based on User Clustering and Time Based Latent Factor Model)。在解决数据稀疏性和可扩展性差的问题时,考虑到项目点评时间对推荐效果的影响,引出时间函数,并将其融合到评分预测算法中。论文研究内容如下:(1)考虑时间因素对评分预测的影响,提出融合时间函数的隐语义模型。分析时间因素对用户评分的影响,结合艾宾浩斯遗忘曲线提出时间指数函数,以此提高用户近期评分的时间权重,并融合隐语义模型对所有聚类中的用户评分稀疏矩阵进行评分预测,大大降低了聚类中用户评分数据的稀疏性,考虑了时间因素对用户的兴趣偏好的影响,最终通过实验对比并确定时间隐语义模型的实验参数。(2)针对数据稀疏和可扩展性差的问题,提出基于用户聚类和隐语义模型的协同过滤推荐算法。考虑到k-means聚类算法容易陷入局部最优解的问题,结合蚁群算法分布式搜索的特性对其进行改进;基于用户的特征属性通过改进的k-means聚类算法对用户进行聚类,解决了新用户登陆的冷启动问题,使得用户之间的相似度计算范围缩小到具有相同特征属性的用户簇中,大大减少了计算用户相似度所需要的时间。同时考虑长尾效应,在计算用户相似度时加入热门惩罚因子,降低热门项目对用户相似度推荐的影响。通过在Movie Lens数据集上进行实验对比,R-CTLFM推荐算法相较于其它两种算法的RMSE值平均降低了1.18%和0.87%,推荐的准确性有所提高。(3)本文采用R-CTLFM算法设计实现了个性化的电影推荐管理系统。该系统基于B/S架构,利用JSP、Servlet等技术开发实现了首页个性化推荐、用户自我管理和管理员后台操作等基础功能界面,能够实现根据不同的用户的特征属性和评分操作进行个性化推荐,验证了推荐算法的可行性和实用性。
基于多样性的个性化推荐方法研究
这是一篇关于推荐方法,时间因子,相似度计算,用户聚类,多样性的论文, 主要内容为随着互联网技术包括云计算、大数据等的兴起以及快速发展,互联网上数据和信息出现了爆涨趋势。互联网信息数据中潜藏着难以估量的价值,为现今时代的人们提供了全方位的便利,但是也造成严重的“信息过载”,此时推荐系统应运而生,并得到了广泛应用,同时还能够帮助用户发现其感兴趣的新项目。基于准确性的推荐是应用最广泛的推荐方法,但是仅仅依赖准确性可能会造成推荐结果的过度拟合,从而降低用户的满意度。由此,推荐方法的另一个评价指标--推荐多样性,越来越受到研究人员和网络平台的重视,并发挥着重要的作用。推荐多样性的提高可以让用户获得更好的个性化体验,使得用户对网站平台忠诚度得以提高,帮助用户发现更多感兴趣的长尾商品,提高商家的总体利润。但是基于多样性的推荐应用越来越广泛的同时也存在忽视时间因素的影响、用户相似性计算不全面、用户聚类局部最优等问题。为了相应的解决以上所提问题,本文提出一种基于多样性的个性化推荐方法,使得出的推荐结果不仅可以确保准确性不下降,而且可以使推荐总体多样性得以提高。本文主要创新性研究如下:(1)针对用户对项目的兴趣随着时间发生迁移的问题,引入改进的logistic权重函数作为时间因子用来修正用户评分,使得所提方法能尽可能提高近期用户-项目评分权重,减少远期用户-项目评分权重,准确反映用户当前的兴趣偏好特征,提高推荐结果的准确性。(2)针对协同过滤推荐中用户相似性计算不全面的问题,根据用户对项目的偏好程度计算得出用户-类别偏好矩阵,合理融合用户评分相似度以及用户类别相似度,从而能够得到用户综合相似度,克服了传统协同过滤推荐中仅注重用户评分,忽略用户兴趣偏好的不足,提高了用户相似性计算的全面性和准确性。(3)针对推荐过程中采用谱聚类算法出现聚类结果容易陷入局部最优的问题,选用自适应局部尺度参数缓解尺度参数敏感,并且引入用户间的权重因子来抑制离群点的影响优化谱聚类,提高用户聚类的准确性,增加跨类选择最近邻的区分度,实现提升目标用户近邻的多样性从而提升推荐结果多样性的目标。在Movie Lens数据集上进行实验,确定了基于综合相似性、基于谱聚类优化等算法中的最优参数,然后将本文提出的方法与其他四种推荐算法在准确性与多样性两个方面对比分析,实验结果说明该方法能实现在保证准确性的基础上提升推荐的总体多样性。
A User-based Collaborative Filtering System for Posts Recommendation
这是一篇关于基于用户的协同过滤算法,混合推荐算法,用户聚类,k-means算法,改进用户中心选择,帖子质量打分的论文, 主要内容为现阶段,论坛是用户交流想法以及分享知识的一个重要场所,比如天涯论坛、虎扑论坛、百度贴吧等仍然拥有大量的用户群体。通常一个论坛(有时也被称为BBS-Bulletin Board System)由站长创建,并设立各级管理人员对其进行管理。一个论坛最核心的部分是它设置了各色各样的主题,用户可以关注和取消关注某个主题。每个主题下还有大量的帖子,帖子可以被收藏、点赞、置顶、加精等。然而,由于现在帖子的数量急剧增多,信息过载严重,很多时候用户难以浏览到自己真正感兴趣的帖子,因此推荐系统作为一种重要的辅助的技术手段被应用到论坛系统当中。推荐系统是一种重要的信息过滤手段,它能够根据用户的历史行为、社交关系、兴趣点、所处上下文环境等信息去判断用户当前需要或感兴趣的对象并为用户提供个性化的服务。现在,大部分论坛都采用了基于时间倒排、帖子热度、是否加精、是否置顶等方式为用户进行帖子推荐,这些方式中几乎没有包含个性化的信息,而个性化推荐系统能够针对用户的行为习惯,偏好兴趣等进行针对性的推荐,需要注意的是个性化帖子推荐系统并不是为了替代这些方式,而是对这些推荐方式进行补充。随着这些年来对推荐系统的研究,很多研究中的难点和重点得到研究者的关注,比如(1)、冷启动问题,冷启动问题主要包括新用户问题和新对象问题,因为系统中没有存储或者存储很少新用户或者新对象(如帖子,商品等)的信息,像基于模型的方法可能无法获得训练数据而基于规则的方法则难以进行推理等。(2)、数据稀疏问题,在很多大型系统中,总有很多对象没有经过用户的评价或者浏览,往往这些对象的数量是非常大的,这会导致任意两个用户之间的差别都比较大,从而使模型不能很好的工作。现阶段,国内外学者都对推荐算法进行了深入和广泛的研究。本论文采用了基于用户的协同过滤算法,根据用户最近的浏览记录(本论文采用的数据集并未包含浏览记录信息,因此实际系统实现时使用了收藏记录)来计算用户的相似度,并为目标用户提供个性化推荐服务。论坛推荐系统有三个特点,一是论坛用户并不会对某个帖子进行评分,因此我们就无法获得显性的数据来表征一个帖子的好坏以及受欢迎程度,我们需要通过点击量、收藏量、评论数之类的隐性反馈来构建模型以表征帖子的好坏以及受欢迎程度。二是论坛用户更加倾向于阅读帖子而不是回复其他用户,因此当我们计算相似用户或者相似帖子的时候,会存在着数据稀疏问题。三是论坛设置很多内容相对比较集中的主题,因此不同帖子在一定程度上可以说已经聚类到不同的主题当中了。只有当我们结合论坛的特点进行推荐系统的设计才可能为用户提供更加高质的推荐服务,针对论坛的特点以及对当前推荐算法的分析,本论主要实现了一种基于用户的协同过滤系统,主要工作包括以下几个方面。(一)、帖子质量打分。在帖子预处理过程中,我们需要有一种方式来评估帖子的质量,以便提高推荐系统的推荐效率。通过分析和研究,我们选取用户的等级、帖子发布时间、用户的经验、用户的权限、帖子的长度、帖子的情感倾向、帖子的图片数量等作为模型输入特征,帖子赞和踩数量的组合作为输出目标来构建一个回归模型。本论文中,回归模型采用了SVR模型,并通过MSE(MeanSquareError)以及决定系数(R-Square)来衡量SVR模型的好坏。一个帖子质量的分数可以作为推荐列表生成的重要依据,比如从个性化主题中获取帖子列表,除了考虑时间因素外,另外一个重要因素就是需要考虑帖子的质量得分,帖子的质量得分还可以用在混合推荐算法中,后端响应请求返回的帖子列表可以按照帖子质量得分进行排序然后输出。(二)、改进的k-means用户中心选择。在本论文中,为了减少计算量以及获得相似用户,我们采用了k-means算法对用户进行聚类。传统k-means方法的初始中心是随机生成的,随机的中心选取方式可能会使得最终聚类的结果差别较大。在本论文中,我们认为将有较大影响力的用户作为聚类中心可能会得到更好的聚类效果。首先,我们构建了一个用户回复关系矩阵A,然后再构建一个影响力矩阵B,通过两个矩阵的迭代相乘,我们最终便能够得到每个用户的影响力。通过这种方式,大约平均6次迭代,迭代便能够收敛了,其中需要注意的是我们每次将两个矩阵相乘之后需要将排序矩阵B中的每个元素按比例线性减小到和为1的矩阵,另外为了避免所有的有影响力的用户都是同一个主题下的用户,导致比较差的聚类效果,在实现推荐系统的过程中,我们将按照影响力排名当中相邻用户相似度大于0.5(只根据他们关注的主题)的用户删除。通过以上方式我们得到了最终改进的用户中心列表,并将其应用到k-means算法当中使得推荐系统性能得到一定的提升。(三)、推荐系统设计和实施。本论文基于成熟的Web开发技术(Python+Django),实现了帖子推荐系统的基本功能,如帖子详细页面、推荐列表页面等。在本论文中,基于用户的协同过滤推荐列表和帖子个性化主题推荐列表(主要来自用户可能感兴趣的主题)将被组合为混合推荐列表。在实现过程中为了加快推荐速度,我们采用了一些简单的策略,比如1)、用户相似度计算每天只进行一次,因为我们认为相似性用户在短时间内不会改变太多,将类似用户列表存储到Redis数据库中会更快速,并且可以加快后端响应。2)、个性化主题列表也是每天更新到Redis数据库一次即可。3)、用户的浏览帖子ID需要实时地保存到Redi s数据库当中而不是仅仅保存到日志当中。在面对冷启动问题时,本论文采用了注册时让用户添加额外信息的方式来解决,即在用户刚注册的时候,强制用户提供性别,年龄段,兴趣点等信息。本论文使用的是实际的数据集,该数据集中暂时仅包含用户的性别信息。此外,因为用户操作大多只是浏览帖子,因此整个系统中存在着大量的帖子没有任何评价,点赞和踩等操作,单纯的只使用基于用户的协同过滤可能无法非常有效地进行推荐,因此我们另外增加了一种基于个性化主题的帖子推荐方式,通过获取目标用户可能喜欢的主题列表,推荐系统将从这些主题中选取质量比较高的帖子并将其推荐给用户,这样即使一个帖子没有任何操作数据,只要这个帖子的质量得分比较高,也可以获得推荐,这也在一定程度上缓解了冷启动问题。在面对数据稀疏问题时,本论文并未进行额外的处理和优化,主要原因是因为我们现在的数据集比较小,运算数据是否稀疏对当前的计算并没有太大的影响。将来当我们的数据集不断增大的时候,我们可以使用SciPy包封装好的稀疏函数来进行优化和运算或者应用一些常见的稀疏算法来进行优化。最终,通过实验,我们发现随机中心的k-means算法和改进中心的k-means算法的最终性能相差并不大,不过经过多次实验我们可以发现,改进用户中心的k-means算法更加的稳定并且能够在大部分情况下得到比随机中心的k-means算法更好的性能,考虑到系统的整体数据量是比较小的,这样的数据量并不能比较好的体现出改进中心的k-means算法的优势,当数据量增多的时候,改进用户中心的k-means算法可能会有更好的表现,因此我们认为使用改进用户中心的k-means算法还是非常有意义的。另外实验中,我们还比较了各种方法的召回率,查准率,F1-score以及覆盖率,发现改进用户中心的k-means算法具有一定的优势。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码工坊 ,原文地址:https://m.bishedaima.com/lunwen/48334.html