基于物品的时间关联度和覆盖度的协同过滤推荐方法技术

技术编号:19216438 阅读:25 留言:0更新日期:2018-10-20 06:58
本发明专利技术公开一种基于物品的时间关联度和覆盖度的协同过滤推荐方法,提出了时间关联函数,并将其应用于物品之间相似度计算,即可以将时间关联函数最大限度地应用于协同过滤算法中,有效地减小被评分已久的物品的权重,能够更加精确地反映物品之间的关系,减少预测评分和实际评分之间的差距,提高预测精度;同时本发明专利技术提出了可以度量物品与目标用户爱好之间关系的覆盖度函数,并将其应用于计算物品的预测评分中,使得物品在计算预测评分时,其邻近物品会获得更高的权重,从而使得该物品拥有更高的预测评分,更容易被推荐给目标用户,有效提高了分类精度。

【技术实现步骤摘要】
基于物品的时间关联度和覆盖度的协同过滤推荐方法
本专利技术涉及推荐
,尤其涉及一种可同时提高预测精度和分类精度的基于物品的时间关联度和覆盖度的协同过滤推荐方法。
技术介绍
推荐系统能够通过用户的个人信息智能地感知用户的兴趣或需求,实现信息的高质量推荐,有效地解决了“信息过载”问题。基于物品的协同过滤算法因其具有良好的可扩展性,成为推荐
应用最成功的方法之一,如亚马逊和淘宝。基于物品的协同过滤算法有两个核心步骤:物品相似度计算和物品预测评分。传统的基于物品的协同过滤算法中,所有物品在两个核心步骤中都具有相同的权重,使得一些具有重要贡献度的物品并没有得到更高的权重,导致推荐结果并不能同时具有良好预测精度和分类精度。例如:物品1、物品2和物品3被同一个用户给予相同的评分,其中物品1的评分位于一年前,物品2和物品3的评分位于一天前。尽管用户的爱好和评分度量可能随着时间的变化而改变,物品2和物品3应具有更多的相似特点。但是传统的基于物品的协同过滤算法,物品1和物品2的相似度等于物品2和物品3的相似度,物品2和物品3相似度并没有得到更高的权重。再者,假设物品a和物品b为目标用户的候选推荐商品,物品a的邻近物品具有和目标用户爱好更相近的特点,物品b的邻近物品的特点和目标用户爱好相差很远,因此物品a较之于物品b更可能被目标用户喜爱。但是,传统的基于物品的协同过滤算法在预测评分时,物品a和物品b得到相同的预测评分,并没有具有更高的权重。
技术实现思路
本专利技术为了克服现有技术所存在的上述技术问题,提供一种可同时提高预测精度和分类精度的基于物品的时间关联度和覆盖度的协同过滤推荐方法。本专利技术的技术方案是:一种基于物品的时间关联度和覆盖度的协同过滤推荐方法,其特征在于依次按照如下步骤进行:步骤一.统计得到物品被用户评分的二维表:令U和I分别表示用户集合和物品集合;R∪{*}表示评分集合,其中(*)表示物品未得到用户的评分;T∪{ο}表示物品被用户评分的时间集合,其中(ο)表示评分时间为空;ru,x∈R∪{*}表示用户u对物品x的评分;tu,x∈T∪{ο}表示用户u对物品x的评分时间;表示物品x被用户评分的平均值;步骤二.构建时间关联函数,计算物品之间的时间关联度:构建时间关联函数,如公式(1):(1)式(1)中,表示对于目标用户tu而言,物品x和物品y的时间关联函数,λ表示衰减率;用时间关联函数,计算物品集合I中,两两物品的时间关联度;步骤三.将物品之间的时间关联度结合公式(2)所示的皮尔森相似度量函数,计算两两物品之间的相似度;(2)式(2)中,表示评价过物品x的用户集合,表示第y个物品的平均评分;步骤四.构建物品覆盖度函数,计算物品之间的覆盖度:令D为一个论域,C为论域D上的子集的集合;如在C中不存在空集,并且∪C=D,则C成为论域D上的一个覆盖,<D,C>为一个覆盖空间;在覆盖空间<D,C>上,对于集合X⊆D,并且K∈C,覆盖度函数定义如式(3):(3)令目标物品ti的邻近物品由相似度高的前k个物品组成,对于每一个包含于内的物品p,进一步选取前n个相似度高的物品组成集合;令目标用户tu的喜爱物品组成集合Rtu,其定义如式(4):(4)利用式(3)表示的覆盖度函数,计算集合和Rtu之间的覆盖度;步骤五.将物品之间的覆盖度结合权重和预测评分函数,预测目标用户未评分的物品,如式(5)所示:(5)式(5)中,Ptu,ti表示目标用户tu对目标物品ti的预测评分;表示目标用户tu评价过的物品集合;表示目标物品ti的邻近物品。步骤六.从预测评分列表中选取预测评分高的前N个物品作为推荐结果。本专利技术提出了时间关联函数,并将其应用于物品之间相似度计算,即可以将时间关联函数最大限度地应用于协同过滤算法中,有效地减小被评分已久的物品的权重,能够更加精确地反映物品之间的关系,减少预测评分和实际评分之间的差距,提高预测精度;同时本专利技术提出了可以度量物品与目标用户爱好之间关系的覆盖度函数,并将其应用于计算物品的预测评分中,使得物品在计算预测评分时,其邻近物品会获得更高的权重,从而使得该物品拥有更高的预测评分,更容易被推荐给目标用户,有效提高了分类精度。附图说明图1为本专利技术实施例的流程示意图。图2为本专利技术实施例与现有技术MAE度量实验结果示意图。图3为本专利技术实施例与现有技术RMSE度量实验结果示意图。图4为本专利技术实施例与现有技术Precise度量实验结果示意图。图5为本专利技术实施例与现有技术Recall度量实验结果示意图。图6为本专利技术实施例与现有技术F1度量实验结果示意图。具体实施方式本专利技术提供基于物品的时间关联度和覆盖度的协同过滤推荐方法,如图1所示,依次按照如下步骤进行:步骤一.统计得到物品被用户评分的二维表:令U和I分别表示用户集合和物品集合;R∪{*}表示评分集合,其中(*)表示物品未得到用户的评分;T∪{ο}表示物品被用户评分的时间集合,其中(ο)表示评分时间为空;ru,x∈R∪{*}表示用户u对物品x的评分;tu,x∈T∪{ο}表示用户u对物品x的评分时间;表示物品x被用户评分的平均值;具体如用户集合U={用户1,用户2,用户3,目标用户},物品集合I={物品1,物品2,物品3,物品4,物品5,目标物品1,目标物品2},评分R的取值范围为[1,5],评分时间T的取值范围为从2016年6月到2017年6月,ο表示评分时间为空。如表1所示:表1步骤二.构建时间关联函数,计算物品之间的时间关联度:基于用在较短时间内,其兴趣爱好不会发生大幅度的变化,构建时间关联函数,如公式(1):(1)式(1)中,表示对于目标用户tu而言,物品x和物品y的时间关联函数,λ表示衰减率,例如令,如果T0=30天,表示时间关联函数以月为单位进行衰减;用时间关联函数,计算物品集合I中,两两物品的时间关联度;则如表2所示:表2步骤三.将物品之间的时间关联度结合公式(2)所示的皮尔森相似度量函数,计算两两物品之间的相似度;(2)式(2)中,表示评价过物品x的用户集合,表示第y个物品的平均评分,如表3所示:表3步骤四.构建物品覆盖度函数,计算物品之间的覆盖度:令D为一个论域,C为论域D上的子集的集合;如在C中不存在空集,并且∪C=D,则C成为论域D上的一个覆盖,<D,C>为一个覆盖空间;在覆盖空间<D,C>上,对于集合X⊆D,并且K∈C,覆盖度函数定义如式(3):(3)令目标物品ti的邻近物品由相似度高的前k个物品组成,对于每一个包含于内的物品p,进一步选取前n个相似度高的物品组成集合;令目标用户tu的喜爱物品组成集合Rtu,其定义如式(4):(4)利用式(3)表示的覆盖度函数,计算集合和Rtu之间的覆盖度;具体如物品的邻近物品数量设定为3,则目标物品对应的邻近物品为:令评分大于等于3的物品为用户的爱好物品,则目标用户的爱好物品集合Rtu={物品2,物品3,物品5},计算得到物品之间的覆盖度,如表4所示:表4物品1物品2物品3物品4物品5目标物品1目标物品2物品10.750.750.50.250.250.750.75物品20.750.750.50.2本文档来自技高网...

【技术保护点】
1.一种基于物品的时间关联度和覆盖度的协同过滤推荐方法,其特征在于依次按照如下步骤进行:步骤一.统计得到物品被用户评分的二维表:令U和I分别表示用户集合和物品集合;R∪{*}表示评分集合,其中(*)表示物品未得到用户的评分;T∪{ο}表示物品被用户评分的时间集合,其中(ο)表示评分时间为空;ru,x∈R∪{*}表示用户u对物品x的评分;tu,x∈T∪{ο}表示用户u对物品x的评分时间;

【技术特征摘要】
1.一种基于物品的时间关联度和覆盖度的协同过滤推荐方法,其特征在于依次按照如下步骤进行:步骤一.统计得到物品被用户评分的二维表:令U和I分别表示用户集合和物品集合;R∪{*}表示评分集合,其中(*)表示物品未得到用户的评分;T∪{ο}表示物品被用户评分的时间集合,其中(ο)表示评分时间为空;ru,x∈R∪{*}表示用户u对物品x的评分;tu,x∈T∪{ο}表示用户u对物品x的评分时间;表示物品x被用户评分的平均值;步骤二.构建时间关联函数,计算物品之间的时间关联度:构建时间关联函数,如公式(1):(1)式(1)中,表示对于目标用户tu而言,物品x和物品y的时间关联函数,λ表示衰减率;用时间关联函数,计算物品集合I中,两两物品的时间关联度;步骤三.将物品之间的时间关联度结合公式(2)所示的皮尔森相似度量函数,计算两两物品之间的相似度;(2)式(2)中,表示评价过物品x的用户集合,表示第y个物品的平均评分;步骤四.构建物品覆盖...

【专利技术属性】
技术研发人员:张志鹏任永功邹丽崔晓松
申请(专利权)人:辽宁师范大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1