动态时间感知协同过滤方法

文档序号:1719784 发布日期:2019-12-17 浏览:22次 >En<

阅读说明:本技术 动态时间感知协同过滤方法 (Dynamic time perception collaborative filtering method ) 是由 燕彩蓉 顾浩维 朱黎华 陈一洲 王璿 于 2019-06-21 设计创作,主要内容包括:本发明涉及种动态时间感知协同过滤方法。本发明在传统的协同过滤中添加动态时间因子以对数据集进行训练和优化,从而在数据集中引入时间因子,提高推荐结果的时效性,从而提高用户的满意度。在推荐上,本发明采用了top-k算法,以使得测试的推荐结果更有代表性和客观性以及平台无关性。(the invention relates to a dynamic time perception collaborative filtering method. According to the invention, the dynamic time factor is added in the traditional collaborative filtering to train and optimize the data set, so that the time factor is introduced into the data set, the timeliness of the recommendation result is improved, and the satisfaction degree of a user is improved. In recommendation, the invention adopts a top-k algorithm so as to ensure that the recommendation result of the test is more representative and objective and platform independence.)

动态时间感知协同过滤方法

技术领域

本发明涉及协同过滤与推荐系统领域,特别是时间感知型协同过滤领域方面的优化。

背景技术

近年来,随着计算机技术的发展,尤其是网络传输速度和硬件存储容量的飞跃式进展导致了我们的日常生活中信息过载已经成了常态。面对信息过载问题,各大互联网平台都纷纷将推荐系统投入了运用,而其中最常用的技术则是协同过滤。在推荐系统得到了广泛运用之后,协同过滤方法所存在的时效性不足的问题逐渐显现出来,并且该问题已经成为了阻碍推荐系统得到进一步优化的最大原因之一。时态感知协同过滤为了解决这一技术难题而被提出,其在传统的协同过滤的基础上添加了时间因子,使推荐系统能够获得更好的时效性,提高用户满意度。

发明内容

本发明的目的是:有效地改善传统协同过滤时效性不足的问题,并且其能够对特殊热点事件所带来的数据噪声进行降噪处理。

为了达到上述目的,本发明的技术方案是提供了一种动态时间感知协同过滤方法,其特征在于,包括以下步骤:

步骤1、对元数据集的特征进行分析,选定时间因子函数和分段时间切点,选定所需要进行加权的特殊日期并确定其加权函数,其中,时间因子函数包括了f1(t)=at/k(0<a<1)与f2(t)=2/(1+tk)(k为可变参量)在内的数种函数模型,具有随着时间的增加,函数值不断地减小的特征,并且具有当时间刚开始增大时函数值减小较快,而随着时间的增大函数值下降趋势变慢的特征;需要说明的是,所述的动态时间因子需要手动调整参数,包括时间因子内的可变参量与在全时间段上切分时间因子的切分点,通过调参来得到局部最优解。

步骤2:对元数据集使用步骤1中决定的时间因子与加权函数,对该数据集进行加权处理;

步骤3:使用步骤2中所训练完毕的数据集,运用协同过滤方法对数据集进行处理;

步骤4:对步骤3中处理完毕的数据集,使用k近邻算法生成推荐序列并进行线上推荐。

优选地,所述步骤1中,需要通过测试的方法来选定合适的时间因子与切分点,并且需要选定需要进行加权的特殊日期。

优选地,获取测试所需要的参数时,需要通过控制参数并进行逐一测试的方式来寻找最优解下的参数值。

优选地,所述步骤2中,对用户-项目评分矩阵使用矩阵点乘的方式进行矩阵加权,为了得到加权后的预测评分r'u,i,使用公式r'u,i=ru,if(|tu,c-tu,i|)来对原评分ru,i进行加权,其中,f(|tu,c-tu,i|)是有关打分时间与现在时间差值的函数。

优选地,所述步骤3中,使用协同过滤算法对训练完毕的数据集进行推荐,其中的方法包括有:

(1)使用余弦相似度计算相似度矩阵;

(2)使用相似度矩阵计算评分预测。

优选地,在步骤2中,加入了时间因子后,预测评分公式为其中,表示用户u对项目i的评分的预测,simi(ik,ia)表示项目i和项目k的相似度,xa,m表示邻居用户a对项目m的评分,f(|Δt|)表示时间衰减函数。

优选地,步骤4中,基于所述相似度矩阵与所述预测评分使用k-NN算法计算出推荐序列并据此对用户进行评分预测。

优选地,步骤4中,通过对特殊日期进行特殊的加权,使得特殊日期及其造成的社会热点对推荐结果的影响降到最低,其中加权公式为:式中,表示用户u的平均打分,k表示影响权重的大小。

本发明在传统的协同过滤中添加动态时间因子以对数据集进行训练和优化,从而在数据集中引入时间因子,提高推荐结果的时效性,从而提高用户的满意度。在推荐上,本发明采用了top-k算法,以使得测试的推荐结果更有代表性和客观性以及平台无关性。

所述top-k算法是一种分类算法,其认为在分类特征空间中,某些项目和他最近邻的项目形成的项目簇往往是属于同一类别的项目,所以每一个项目都可以用和它最接近的k个邻居进行表示;在推荐过程中,取和目标用户相似度最高的k个用户,向目标用户推荐这k个用户评分最高,而目标用户没有评分行为的项目即为推荐系统中对该用户所做的推荐。

所述平台无关性是指:推荐系统的搭建和维护者不需要对所推荐的内容有所了解,不需要也不允许对所推荐内容有所干预,以此保证推荐系统的可移植性与高重用性的同时保证了推荐结果的纯净与准确。

附图说明

图1为本发明的总体框图;

图2为本发明中时间因子加权的流程图;

图3为本发明中推荐算法的流程图;

图4为本发明中生成推荐序列的流程图;

图5为本发明的流程图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明的实施方式涉及一种面向推荐系统的动态时间感知推荐算法,主要包括两个方面:1)主体采用基于物品的协同过滤(IB-CF),在此基础上提出对数据集添加动态时间因子,从而增加推荐结果的时效性,提高传统协同过滤的性能。2)对数据集添加特殊日期的加权,从而削弱特殊日期时的社会热点在用户评分上的体现,还原用户真实的喜好情况,提高推荐系统的准确率。

如图1所示,首先,需要对数据集进行预处理,这种处理方式本发明不进行涉及;在预处理完毕后,需要对处理完毕的数据集运用本发明所涉及的算法进行时间因子加权;在加权后,将数据集送入推荐系统进行计算与推荐,从而得出推荐结果,并对推荐结果进行统计测试。

如图2所示,数据集需要通过分割算法分割成训练集与测试集,并对训练集添加时间因子加权;对数据集,应该先增添特殊日期加权,然后再使用动态时间因子函数对处理过特殊日期的数据集进行进一步加权;对处理完毕的训练集,与测试集一同送入推荐系统进行推荐计算。特殊地,动态时间因子的时间切分点需要手动进行测试得到局部最优解。

如图3所示,被送入的训练集通过相似度算法获得相似度矩阵,这种相似度算法往往是余弦相似度;在计算得出相似度算法后,通过评分预测算法处理相似度矩阵,并最终得出评分预测矩阵,该矩阵代表了通过推荐系统计算得出的所有用户对项目所打出的评分的预测。

如图4所示,通过评分预测矩阵,选定一个k值,通过top-k算法计算出最后的推荐序列,并且通过与上述预先分割出来的测试集进行比对,从而计算得出模型的准确度指标。

实验结果表明,本发明通过在传统的协同过滤中增加动态时间因子可以显著提高推荐系统的时效性,但是同时会降低一定的准确度,而由于时效性和准确度是一组互斥的指标,所以准确度一定程度的下降是可以接受的。此外,动态时间因子相较普通的静态时间因子,推荐结果的准确度有显著上升;而引入特殊日期加权后,在top-k推荐序列的长度k取值较小时,推荐结果的准确度也有明显的上升。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据查询方法、装置及计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!