CN104657336A - 一种基于半余弦函数的个性化推荐算法 - Google Patents
一种基于半余弦函数的个性化推荐算法 Download PDFInfo
- Publication number
- CN104657336A CN104657336A CN201510103073.8A CN201510103073A CN104657336A CN 104657336 A CN104657336 A CN 104657336A CN 201510103073 A CN201510103073 A CN 201510103073A CN 104657336 A CN104657336 A CN 104657336A
- Authority
- CN
- China
- Prior art keywords
- user
- project
- scoring
- recommendation
- cosine function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于半余弦函数的个性化推荐算法,主要解决在个性化推荐过程中用户兴趣随时间漂移的问题。本发明先通过用户特征向量将用户进行聚类以缩小最近邻搜索范围;再采用一种半余弦函数作为时间权重函数捕捉用户兴趣的动态变化趋势,使距离当前时间较近的项目评分拥有较大权重;最后利用经典的协同过滤评分预测公式,根据最近邻用户对项目的评分,预测目标用户对项目的评分,根据评分高低生成项目推荐结果集合。该算法以一种较为简单的参数可调的普通数学公式解决了用户兴趣漂移的复杂变化过程,能够更加精确地为用户推荐感兴趣的项目。
Description
技术领域
本发明是将数学领域中常见的余弦函数变换为半余弦函数,并运用到个性化推荐技术中,解决用户兴趣随时间漂移的问题,属于计算机软件技术领域。
背景技术
随着web技术的快速发展,互联网信息量呈指数增长,大量纷杂的网络内容令人眼花缭乱,为了及时地从海量信息当中发现用户所需的信息,个性化推荐技术应运而生。根据推荐算法的不同,主流的推荐技术分为基于人口统计学的推荐、基于内容的推荐、协同过滤推荐和混合推荐算法。
其中,协同过滤算法的本质是用统计学的方法去发现目标用户的最近邻,即那些与目标用户有相似项目评分的用户群体,根据最近邻对项目的评分向目标用户产生预测推荐。虽然协同过滤推荐算法是目前应用最多且最有效的推荐技术,但传统协同过滤算法没有考虑到用户兴趣随时间的漂移,在计算用户相似性时通常较近时段下的项目评分参考性较大,而较久远的项目评分参考性不大,只有充分考虑了时间对项目评分参考意义的影响才能得到更准确的推荐结果。
现有技术中亟需一种考虑到用户兴趣随时间漂移的个性化推荐算法。
发明内容
本发明的目的是:为了解决传统协同过滤算法中没有考虑用户兴趣随时间漂移的问题,而提出一种基于半余弦曲线的个性化推荐算法。
本发明所采用的技术方案是:一种基于半余弦函数的个性化推荐算法,其特征在于:首先通过用户特征向量将用户进行聚类以缩小最近邻搜索范围;再采用一种半余弦函数作为时间权重函数捕捉用户兴趣的动态变化趋势,使距离当前时间较近的项目评分拥有较大权重;最后利用经典的协同过滤评分预测公式,根据最近邻用户对项目的评分,预测目标用户对项目的评分,根据评分高低生成项目推荐结果集合。
如上所述的基于半余弦函数的个性化推荐算法,其特征在于,包含如下步骤:
步骤1:根据用户的特征数据,将其作为计算两个用户之间特征相似度的参数,假设用户a和b的特征值向量为 ,,则用户a和b的特征相似度计算公式为:,其中k表示用户特征数,, 运用此公式再通过K-Means算法得到相似用户聚类簇集合;
步骤2:定义半余弦函数为,T是常数起到调节曲线变化快慢趋势的作用,定义域t的取值范围为,值域的范围在[0,1];
假设用户a和b对项目i的原始评分为和,带时间权重的项目评分为和,平均评分为和,则,,同理可以得到,,再将和,和代入皮尔森相关系数公式计算用户之间相似度,公式如下:
由上述公式可以确定与目标用户相似度最高的δ个用户作为最近邻集合;
步骤3:将选出的δ个最近邻用户都评分过的项目作为待推荐项目,若恰好满足推荐要求个数,则将所有待推荐项目作为最终推荐项目;若不足推荐要求个数,选出δ-1个最近邻用户评分过的项目作为待推荐项目直到满足或者多于推荐要求个数;当多于推荐要求个数时,再利用经典的协同过滤评分预测公式,根据最近邻用户对所有项目的平均评分以及对项目i的评分,预测目标用户u对项目i的评分,根据评分大小生成项目推荐结果集合,预测公式如下:
。
本发明的有益效果是:本发明的基于半余弦函数的个性化推荐算法采用半余弦的曲线函数来描述用户对项目的关注程度变化趋势,以一种较为简单的参数可调的普通数学公式解决了用户兴趣漂移的复杂变化过程,并且经过多次模拟实验证明了本发明的可用性和有效性,能够更加精确地为用户推荐感兴趣的项目。
附图说明
图1是半余弦函数图像。
图2 是本发明的基于半余弦函数的个性化推荐算法框架流程。
具体实施方式
为了更好地理解本发明,下面结合实施例进一步阐明本发明的内容,但本发明的内容不仅仅局限于下面的实施例。本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样在本申请所列权利要求书限定范围之内。
本发明提出了一种基于半余弦曲线的个性化推荐算法,算法先引入了用户特征向量并结合K-means聚类算法对用户进行聚类以缩小最近邻搜索范围作为预处理过程,此过程可以减少无关用户或者弱关联用户对最近邻选取造成的误差,再采用一种半余弦曲线的时间权重函数捕捉用户兴趣的动态变化趋势,半余弦函数图像如图1所示。选择半余弦函数是因为其变化趋势是先慢后快再慢,这与实际应用中用户对项目的关注程度变化趋势吻合:用户对项目的关注度在最近一段时间保持较高水平且下降缓慢,随着时间的推移关注度将较快减弱,待关注度降到很低水平时下降速度就会变得很慢,因此半余弦函数曲线较好地反映了用户对项目关注度随时间的飘移过程。在计算用户相似度时,为每个用户的所有项目评分都赋予其评价时间相对当前时间的半余弦函数权重值,在得到改进的用户相似度之后,使用经典的基于用户的协同过率评分预测机制,预测出目标用户的相应评分,最终通过得到目标用户的所有未评分项目的预测评分并进行Top-N排序得到推荐结果。基于半余弦函数曲线的推荐算法框架如图2所示。
本发明是利用半余弦函数的曲线特性来为用户的项目评分赋予一定时间权重,从而直观捕捉到用户的兴趣飘移,以提高个性化推荐精度的过程,具体实现步骤细化如下:
步骤1:个性化推荐预处理过程
采用用户特征向量实现相似用户聚类,用户特征是在寻找目标用户最近邻时最重要的因素之一,用户特征相对客观稳定,现实当中用户特征相似的人的兴趣有很大相似性,所以在计算用户相似性前引入用户特征,可以降低相似用户中与目标用户不相关用户的干扰,找到更加准确的最近邻用户集。
根据用户的特征数据,如年龄、性别、教育程度等等,将这些特征作为计算两个用户之间特征相似度的参数。假设用户a和b的特征值向量为,,用户a和b的特征相似度计算公式为:,其中k表示用户特征数,。 运用此公式再通过K-Means算法得到相似用户聚类簇集合。
步骤2:个性化推荐中间过程(计算用户相似度)
用户兴趣一般都会受到周围环境因素影响,随着时间推移而改变。为了捕捉用户兴趣的动态变化趋势,本发明采用一种半余弦曲线的时间权重函数作为趋势拟合曲线,通过给项目评分赋予时间权值来反映该项目评分作为推荐参考的重要程度。
定义半余弦函数为,T是常数起到调节曲线变化快慢趋势的作用,定义域t的取值范围为,值域的范围在[0,1]。再结合皮尔森相关系数法,完成用户相似度计算。具体算法如下:
1)输入:用户a,对n个项目的评分,(),评价时间,。
2) 计算用户a,各自带时间权重改进的项目评分和,平均评分和,公式如下:,,同理可以得到,。
3) 选用皮尔森相关系数公式将1)得到的和,和代入,公式如下
皮尔森相关系数公式是一种能够避免用户偏见评分的客观公式,并且能很好的解决样本稀疏性的问题。其范围是从-1到1之间。1表示高度相似,-1表示毫不相似。
4) 根据目标用户与其他用户的相似度sim值,选择相似度最高的δ个用户作为最近邻集合。
步骤三:个性化推荐预测过程(预测项目评分)
将选出的δ个最近邻用户都评分过的项目作为待推荐项目,若恰好满足推荐要求个数,则将所有待推荐项目作为最终推荐项目;若不足推荐要求个数,选出δ-1个最近邻用户评分过的项目作为待推荐项目直到满足或者多于推荐要求个数;当多于推荐要求个数时,再利用经典的协同过滤评分预测公式,预测出目标用户对未评价项目的评分。
一种基于半余弦函数的个性化推荐算法细节如下:
1)输入目标用户u和所需最近邻用户个数δ,所需推荐项目个数γ。
2) 根据步骤1得到u所在的聚类簇。遍历计算目标用户u与该簇下所有用户的相似度,根据大小排序获取前δ个最近邻用户集合。
3) 将选出的δ个最近邻用户都评分过的项目作为待推荐项目,若恰好满足推荐要求个数,则将所有待推荐项目作为最终推荐项目;若不足推荐要求个数,依次选出δ-1个最近邻用户评分过的项目作为待推荐项目,直到待推荐项目数满足或者多于推荐要求个数为止。
4) 当待推荐项目多于推荐要求个数时,针对每个待推荐项目i,将中对i做过评价的用户抽取出来作为一个新最近邻集合。
5) 遍历中每个用户,将其对所有项目的平均评分,对项目i的评分以及与目标用户u的相似度代入预测评分公式,得到u对项目i的预测评分。预测评分公式如下:
其中是目标用户u对所有项目基于时间权重的平均评分。
6) 将预测评分最高的γ个项目归入最终推荐项目集,推荐过程结束。
下面通过具体实施例,对本发明的具体技术方案作进一步具体的说明。
实例:某电商网站为User1提供个性化推荐。
某电商网站经初步筛选处理,获得最近6个月内购买评价积极的3200位用户对420个商品约11000条订单评价信息,每条商品评价信息包含用户名、商品名称、评价分数、评价时间。
User1在该电商网站过去半年内购买并评价了约30件商品, User1的个人特征信息主要包含性别、年龄、职业、教育程度、收入水平,用户特性详情为:男、24、计算机行业、大学本科、4000元以上。
为了得到精确的推荐结果,可以采用本发明算法为User1进行商品推荐。
运用本发明算法步骤1的推荐预处理过程,将3200个用户的特征向量抽取并划分成10个聚类簇集合,确定User1所属的聚类簇集合大约120个近似用户。
运用本发明算法步骤2的推荐的中间过程,引入带半余弦函数权值的皮尔森相关系数公式计算User1与120个用户的相似度。选择相似度最高的10个用户作为最近邻。
运用本发明算法步骤3的推荐的预测过程,先选出10位最近邻用户都评分过的商品作为待推荐商品,发现只有3个商品为10位最近邻评价过的商品,如笔记本电脑、手机、运动鞋服;由于为User1推荐商品数不足5个,因此再选出9个最近邻用户都评分过的商品作为待推荐商品,发现有7个商品为9位最近邻评价过的商品,如游戏外设、编程丛书、笔记本电脑、手机、运动鞋服、咖啡、运动水壶。这样就达到为User1推荐商品数5个的要求;最后使用经典预测机制计算出User1对7个待推荐商品的预测评分,根据评分高低进行“最感兴趣商品Top5”推荐结果为:编程丛书、笔记本电脑、手机、运动鞋服、咖啡。
最后应当说明的是,以上内容仅用以说明本发明的技术方案,而非对本发明保护范围的限制,本领域的普通技术人员对本发明的技术方案进行的简单修改或者等同替换,均不脱离本发明技术方案的实质和范围。
Claims (2)
1.一种基于半余弦函数的个性化推荐算法,其特征在于:首先通过用户特征向量将用户进行聚类以缩小最近邻搜索范围;再采用一种半余弦函数作为时间权重函数捕捉用户兴趣的动态变化趋势,使距离当前时间较近的项目评分拥有较大权重;最后利用经典的协同过滤评分预测公式,根据最近邻用户对项目的评分,预测目标用户对项目的评分,根据评分高低生成项目推荐结果集合。
2.根据权利要求1所述的基于半余弦函数的个性化推荐算法,其特征在于,包含如下步骤:
步骤1:根据用户的特征数据,将其作为计算两个用户之间特征相似度的参数,假设用户a和b的特征值向量为 ,,则用户a和b的特征相似度计算公式为:,其中k表示用户特征数,, 运用此公式再通过K-Means算法得到相似用户聚类簇集合;
步骤2:定义半余弦函数为,T是常数起到调节曲线变化快慢趋势的作用,定义域t的取值范围为,值域的范围在[0,1];
假设用户a和b对项目i的原始评分为和,带时间权重的项目评分为和,平均评分为和,则,,同理可以得到,,再将和,和代入皮尔森相关系数公式计算用户之间相似度,公式如下:
由上述公式可以确定与目标用户相似度最高的δ个用户作为最近邻集合;
步骤3:将选出的δ个最近邻用户都评分过的项目作为待推荐项目,若恰好满足推荐要求个数,则将所有待推荐项目作为最终推荐项目;若不足推荐要求个数,选出δ-1个最近邻用户评分过的项目作为待推荐项目直到满足或者多于推荐要求个数;当多于推荐要求个数时,再利用经典的协同过滤评分预测公式,根据最近邻用户对所有项目的平均评分以及对项目i的评分,预测目标用户u对项目i的评分,根据评分大小生成项目推荐结果集合,预测公式如下:
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510103073.8A CN104657336B (zh) | 2015-03-10 | 2015-03-10 | 一种基于半余弦函数的个性化推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510103073.8A CN104657336B (zh) | 2015-03-10 | 2015-03-10 | 一种基于半余弦函数的个性化推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657336A true CN104657336A (zh) | 2015-05-27 |
CN104657336B CN104657336B (zh) | 2016-05-11 |
Family
ID=53248486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510103073.8A Active CN104657336B (zh) | 2015-03-10 | 2015-03-10 | 一种基于半余弦函数的个性化推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657336B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651546A (zh) * | 2017-01-03 | 2017-05-10 | 重庆邮电大学 | 一种面向智慧社区的电子商务信息推荐方法 |
CN106777200A (zh) * | 2016-12-23 | 2017-05-31 | Tcl集团股份有限公司 | 项目推荐的方法及装置 |
CN109063137A (zh) * | 2018-08-03 | 2018-12-21 | 苏州大学 | 一种推荐对象确定方法、装置、设备及可读存储介质 |
CN109872211A (zh) * | 2017-12-04 | 2019-06-11 | 北京京东尚科信息技术有限公司 | 一种对象推荐的方法和装置 |
CN110209928A (zh) * | 2019-04-28 | 2019-09-06 | 平安科技(深圳)有限公司 | 一种信息推荐方法、装置及存储介质 |
CN111741055A (zh) * | 2020-04-28 | 2020-10-02 | 格尔软件股份有限公司 | 一种根据时间先后对应用列表访问次数加权排序的方法 |
WO2022111095A1 (zh) * | 2020-11-30 | 2022-06-02 | 中移(苏州)软件技术有限公司 | 一种产品推荐方法、装置、计算机存储介质及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100125544A1 (en) * | 2008-11-18 | 2010-05-20 | Electronics And Telecommunications Research Institute | Method and apparatus for recommending personalized content |
CN101751448A (zh) * | 2009-07-22 | 2010-06-23 | 中国科学院自动化研究所 | 一种基于情景信息的个性化资源信息的推荐方法 |
CN103617540A (zh) * | 2013-10-17 | 2014-03-05 | 浙江大学 | 一种追踪用户兴趣变化的电子商务推荐方法 |
CN104216993A (zh) * | 2014-09-10 | 2014-12-17 | 武汉科技大学 | 一种标签共现的标签聚类方法 |
-
2015
- 2015-03-10 CN CN201510103073.8A patent/CN104657336B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100125544A1 (en) * | 2008-11-18 | 2010-05-20 | Electronics And Telecommunications Research Institute | Method and apparatus for recommending personalized content |
CN101751448A (zh) * | 2009-07-22 | 2010-06-23 | 中国科学院自动化研究所 | 一种基于情景信息的个性化资源信息的推荐方法 |
CN103617540A (zh) * | 2013-10-17 | 2014-03-05 | 浙江大学 | 一种追踪用户兴趣变化的电子商务推荐方法 |
CN104216993A (zh) * | 2014-09-10 | 2014-12-17 | 武汉科技大学 | 一种标签共现的标签聚类方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777200A (zh) * | 2016-12-23 | 2017-05-31 | Tcl集团股份有限公司 | 项目推荐的方法及装置 |
CN106651546A (zh) * | 2017-01-03 | 2017-05-10 | 重庆邮电大学 | 一种面向智慧社区的电子商务信息推荐方法 |
CN106651546B (zh) * | 2017-01-03 | 2021-12-07 | 重庆邮电大学 | 一种面向智慧社区的电子商务信息推荐方法 |
CN109872211A (zh) * | 2017-12-04 | 2019-06-11 | 北京京东尚科信息技术有限公司 | 一种对象推荐的方法和装置 |
CN109063137A (zh) * | 2018-08-03 | 2018-12-21 | 苏州大学 | 一种推荐对象确定方法、装置、设备及可读存储介质 |
CN110209928A (zh) * | 2019-04-28 | 2019-09-06 | 平安科技(深圳)有限公司 | 一种信息推荐方法、装置及存储介质 |
CN111741055A (zh) * | 2020-04-28 | 2020-10-02 | 格尔软件股份有限公司 | 一种根据时间先后对应用列表访问次数加权排序的方法 |
WO2022111095A1 (zh) * | 2020-11-30 | 2022-06-02 | 中移(苏州)软件技术有限公司 | 一种产品推荐方法、装置、计算机存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104657336B (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104657336A (zh) | 一种基于半余弦函数的个性化推荐算法 | |
CN104391849B (zh) | 融入时间上下文信息的协同过滤推荐方法 | |
CN107909433A (zh) | 一种基于大数据移动电子商务的商品推荐方法 | |
CN104935963B (zh) | 一种基于时序数据挖掘的视频推荐方法 | |
CN103678518B (zh) | 一种推荐列表调整方法和装置 | |
CN104899246B (zh) | 基于模糊机制用户评分邻域信息的协同过滤推荐方法 | |
CN102231166A (zh) | 基于社会上下文的协同推荐方法 | |
CN103678329B (zh) | 推荐方法及装置 | |
CN101482884A (zh) | 一种基于用户偏好评分分布的协作推荐系统 | |
CN103995839A (zh) | 基于协同过滤的商品推荐优化方法和系统 | |
CN107833117A (zh) | 一种考虑标签信息的贝叶斯个性化排序推荐方法 | |
CN104063481A (zh) | 一种基于用户实时兴趣向量的电影个性化推荐方法 | |
CN109903138B (zh) | 一种个性化商品推荐方法 | |
CN102968506A (zh) | 一种基于扩展特征向量的个性化协同过滤推荐方法 | |
CN103745100A (zh) | 一种基于项目的混合显性隐性反馈的协同过滤推荐算法 | |
CN103559622A (zh) | 基于特征的协同过滤推荐方法 | |
CN103632290A (zh) | 一种基于推荐概率融合的混合推荐方法 | |
CN104298787A (zh) | 一种基于融合策略的个性化推荐方法及装置 | |
CN108573041A (zh) | 基于加权信任关系的概率矩阵分解推荐方法 | |
CN105338408B (zh) | 基于时间因子的视频推荐方法 | |
CN103886486A (zh) | 一种基于支持向量机svm的电子商务推荐方法 | |
CN109886779A (zh) | 一种智能商品推荐系统 | |
Wei et al. | Time-aware collaborative filtering for recommender systems | |
CN109101563A (zh) | 一种对象推荐方法、装置、介质以及设备 | |
CN110334278A (zh) | 一种基于改进深度学习的web服务推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160106 Address after: 430060 No. 254, Zhongshan Road 3-2, Wuchang District, Hubei, Wuhan 3 Applicant after: Wuhan Yingfengjuzhi Technology Co.,Ltd. Address before: 430062 Wuhan, Hubei Friendship Road, No. 368, Wuchang Applicant before: Hubei University |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |