用于辅助推荐的方法及装置技术领域
本公开总体涉及数据处理技术领域,具体而言,涉及一种用于辅助推荐的方法及
装置。
背景技术
协同过滤是目前在推荐系统中应用比较广泛的算法之一,其利用用户群落的喜好
来推荐用户感兴趣的信息。以在线教育领域为例进行说明,具体做法是学生在上过课后会
对老师进行评分,然后通过一个用户对其上过课的所有的老师评分计算出和他兴趣相近的
用户,从而形成用户群落,再通过用户群落中的其他老师对该用户进行推荐。
在在线教育领域,用户可能会上同一个老师的课多次,每次课后都会对老师进行
1-5分的评价,最后通过计算平均分作为用户对该老师的评价,评分越高代表用户越喜欢该
老师,更可能对与该老师类似的老师感兴趣。
在现有技术方案中,学生需要主动对老师进行评价,表达对老师的喜爱程度。但在
现实系统中,因为对老师的评价不是必要过程,因此很多学生不会主动对老师进行评价。因
为学生不主动评价时,系统会默认给出5分,因此即便系统中显示的评分是5分,也不一定能
够反映出该用户非常喜欢该老师。另一方面,即便用户主动评价,由于每个用户对评分的方
式各有差异,也很难准确衡量用户对老师的喜爱程度。
另外,用户的学习过程一般来说会持续一年甚至几年,但随着用户本身水平、兴趣
的变化,对老师的喜爱程度也会发生变化,而传统的主动评分系统,很难反映出这种变化。
现有的推荐方法可能导致用户对老师的评价不准确,从而无法准确的形成兴趣部
落,导致无法准确的为用户推荐老师。
因此,需要一种新的用于辅助推荐的方法及装置。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它
可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种用于辅助推荐的方法及装置,能够实现为用户更准确的推荐对
象。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开
的实践而习得。
根据本公开的一个方面,提供一种用于辅助推荐的方法,包括:获取预设时间段内
用户对推荐对象的评分信息和操作行为信息;根据所述评分信息和操作行为信息获取所述
用户对所述推荐对象的修正评分;根据所述修正评分向所述用户推荐相应的推荐对象。
在本公开的一种示例性实施例中,所述评分信息包括评分分数以及所述评分分数
相应的第一时间信息。
在本公开的一种示例性实施例中,还包括:当所述评分分数处于第一分数范围内
时,将所述评分分数相应的评分行为划分为第一类行为;当所述评分分数处于第二分数范
围内时,将所述评分分数相应的评分行为划分为第二类行为。
在本公开的一种示例性实施例中,还包括:当所述评分分数处于第三分数范围内
时,去除所述评分分数。
在本公开的一种示例性实施例中,所述操作行为信息包括收藏行为信息,其中所
述收藏行为信息包括收藏行为的次数及所述收藏行为相应的第二时间信息。
在本公开的一种示例性实施例中,所述操作行为信息还包括浏览行为信息,其中
所述浏览行为信息包括浏览行为的次数及所述浏览行为相应的第三时间信息,且将所述浏
览行为定义为第三类行为。
在本公开的一种示例性实施例中,所述根据所述评分信息和操作行为信息获取所
述用户对所述推荐对象的修正评分,根据以下公式计算获得:
![]()
其中,n为所述预设时间段内所述用户对所述推荐对象的评分次数和浏览次数的
和,T为所述评分分数相应的所述第一时间信息和/或所述浏览行为相应的所述第三时间信
息,F为所述收藏行为相应的第二时间信息,W为所述第一至第三类行为对应的预设常数。
在本公开的一种示例性实施例中,还包括:当所述评分行为为所述第一类行为时,
设置W=8;当所述评分行为为所述第二类行为时,设置W=4;当为所述浏览行为时,设置W=
1。
在本公开的一种示例性实施例中,所述根据所述修正评分向所述用户推荐相应的
推荐对象包括:根据所述公式计算第一用户对其相应的一个或者多个第一推荐对象的修正
评分,获取第一向量;计算一个或者多个第二用户对其相应的一个或者多个第二推荐对象
的修正评分,获取一个或者多个第二向量;计算所述第一向量和所述第二向量之间的第一
相似度;选择所述第一相似度最高的K个所述第二用户作为所述第一用户的用户群落;根据
所述用户群落中的K个所述第二用户相应的所述第二推荐对象对所述第一用户进行推荐。
在本公开的一种示例性实施例中,所述根据所述修正评分向所述用户推荐相应的
推荐对象还包括:计算所述用户群落中的K个所述第二用户相应的所述第二推荐对象与所
说第一用户相应的所述第一推荐对象之间的第二相似度;当所述第二相似度超过预设阈值
时,将所述第二推荐对象推荐给所述第一用户。
在本公开的一种示例性实施例中,所述根据所述修正评分向所述用户推荐相应的
推荐对象还包括:剔除所述第一推荐对象和所述第二推荐对象中的相同推荐对象。
根据本公开的一个方面,提供一种用于辅助推荐的装置,包括:信息获取模块,用
于获取预设时间段内用户对推荐对象的评分信息和操作行为信息;评分修正模块,用于根
据所述评分信息和操作行为信息获取所述用户对所述推荐对象的修正评分;推荐模块,用
于根据所述修正评分向所述用户推荐相应的推荐对象。
在本公开的一种示例性实施例中,所述评分信息包括评分分数以及所述评分分数
相应的第一时间信息。
在本公开的一种示例性实施例中,还包括:行为类别划分模块,所述行为类别划分
模块用于当所述评分分数处于第一分数范围内时,将所述评分分数相应的评分行为划分为
第一类行为;当所述评分分数处于第二分数范围内时,将所述评分分数相应的评分行为划
分为第二类行为。
在本公开的一种示例性实施例中,所述操作行为信息包括收藏行为信息,其中所
述收藏行为信息包括收藏行为的次数及所述收藏行为相应的第二时间信息。
在本公开的一种示例性实施例中,所述操作行为信息还包括浏览行为信息,其中
所述浏览行为信息包括浏览行为的次数及所述浏览行为相应的第三时间信息,且将所述浏
览行为定义为第三类行为。
在本公开的一种示例性实施例中,所述评分修正模块根据以下公式计算获得所述
修正评分:
![]()
其中,n为所述预设时间段内所述用户对所述推荐对象的评分次数和浏览次数的
和,T为所述评分分数相应的所述第一时间信息和/或所述浏览行为相应的所述第三时间信
息,F为所述收藏行为相应的第二时间信息,W为所述第一至第三类行为对应的预设常数。
在本公开的一种示例性实施例中,所述推荐模块包括:第一向量获取单元,用于根
据所述公式计算第一用户对其相应的一个或者多个第一推荐对象的修正评分,获取第一向
量;第二向量获取单元,用于计算一个或者多个第二用户对其相应的一个或者多个第二推
荐对象的修正评分,获取一个或者多个第二向量;第一相似度获取单元,用于计算所述第一
向量和所述第二向量之间的第一相似度;选择单元,用于选择所述第一相似度最高的K个所
述第二用户作为所述第一用户的用户群落;第一推荐单元,用于根据所述用户群落中的K个
所述第二用户相应的所述第二推荐对象对所述第一用户进行推荐。
在本公开的一种示例性实施例中,所述推荐模块还包括:第二相似度计算单元,用
于计算所述用户群落中的K个所述第二用户相应的所述第二推荐对象与所说第一用户相应
的所述第一推荐对象之间的第二相似度;第二推荐单元,用于当所述第二相似度超过预设
阈值时,将所述第二推荐对象推荐给所述第一用户。
根据本公开的用于辅助推荐的方法及装置,通过显式评分和隐式评分的结合,能
够实现更准确的为用户推荐对象。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本
公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将
变得更加显而易见。
图1示意性示出根据本公开示例实施方式的一种用于辅助推荐的方法的流程图;
图2示意性示出根据本公开示例实施方式的另一种用于辅助推荐的方法的流程
图;
图3示意性示出根据本公开示例实施方式的一种用于辅助推荐的装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形
式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加
全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开
的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而
将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施
方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然
而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个
或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述
公知结构、方法、装置、实现、材料或者操作以避免喧宾夺主而使得本公开的各方面变得模
糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相
对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实
现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实
体。
图1示意性示出根据本公开示例实施方式的一种用于辅助推荐的方法的流程图。
如图1所示,在步骤S10中,获取预设时间段内用户对推荐对象的评分信息和操作
行为信息。
在示例性实施例中,所述评分信息包括评分分数以及所述评分分数相应的第一时
间信息。
本公开的下述实施例中均以在线教育领域为例进行举例说明,但本公开并不限定
于此,其可以应用于任意的推荐系统。
在在线教育领域,同一个用户(例如,学生)可能会上同一个老师的课多次,每次课
后都可以对该老师进行评分。例如,可选的评分范围系统可以设置为1-5分,当然,这里的评
分范围可以根据需求自主设置,例如,还可以设置为1至100分,1至10分等等。下面的实施例
中以1-5分为例进行示例说明。获得该学生对该老师在该预设时间段内(例如,最近的一年
或者半年等等)的全部评分分数及相应的评分分数的第一时间信息。
在一实施例中,如果该学生从未上过该老师的课,即没有对该老师做过评分,则评
分分数记录为0。在另一实施例中,如果该学生在上课后未主动对老师进行评分,则系统可
自动将该次上课行为的评分分数记录为5分。可以将学生对老师的主动评分或者系统在学
生未主动评分时记录的预设分数作为学生对老师的显式评分。
在示例性实施例中,所述方法还可以包括:当所述评分分数处于第一分数范围内
时,将所述评分分数相应的评分行为划分为第一类行为;当所述评分分数处于第二分数范
围内时,将所述评分分数相应的评分行为划分为第二类行为。
在示例性实施例中,所述方法还可以包括:当所述评分分数处于第三分数范围内
时,去除所述评分分数。
考虑到用户显式评分尽管不一定准确,但也可以一定程度上反映用户的偏好,因
此可以针对现有用户评分进行分类。
其中,例如,当用户主动评分分数为5分(第一分数范围)时,认为用户对该次上课
满意度较高,可以将其划分为第一类行为(A类)为用户主动评5分的,这一类认为用户满意
度较高。当用户主动评分分数为3-4分(第二分数范围)时,和/或系统在用户未主动评分时
自动记录为5分的情况下,认为用户对该次上课满意度一般,可以将其划分为第二类行为(B
类)。当用户主动评分分数为1-2分(第三分数范围)时,认为用户对该次上课不满意的。在一
实施例中,系统可以设置用户不满意的项为负反馈项,不作为正向评分建模依据,即用户主
动评分分数1-2分不在评分模型考虑内,而是在进行推荐时作为过滤项过滤掉用户不喜欢
的老师。
需要说明的是,上述第一至第三分数范围可以根据系统设置的评分范围根据实际
应用场景灵活调整,例如评分范围为1-100分时,可以设置90-100分为第一分数范围,60-89
分为第二分数范围,1-59分为第三分数范围;同时,即使在同一评分范围时,第一至第三分
数范围也可以自主设置,例如,还是以1-5分的评分范围为例,可以设置4-5分为第一分数范
围,2-3分为第二分数范围,1分为第三分数范围等。
在示例性实施例中,还可以不需要设置评分范围,直接将用户对老师的评分分数
划分为例如A、B、C三类,例如某学生上完某老师的一节课后,直接在系统中提交对该次上课
的评分为A类、B类或者C类。此时的评分分数做广义解释,任何可以反映用户对本次课程的
满意程度的行为均可认为是评分分数,而不限制于一定要是学生给出的数字分数。
除了学生的直接评分反馈外,还可以利用一些用户行为,去更准确的反馈学生对
老师的喜爱程度。例如,可以利用的因素还有学生收藏老师,学生浏览老师详情等。
在示例性实施例中,所述操作行为信息可以包括收藏行为信息,其中所述收藏行
为信息包括收藏行为的次数及所述收藏行为相应的第二时间信息。
在在线教育领域,所述的收藏行为可以是指学生对系统中显示的可选老师的个人
主页的收藏、或者收藏该老师的相关上课信息的行为等等。在不同的应用领域,所述的收藏
行为可以代表不同的含义,例如,可以是对网站网址的收藏、网站中可选商品的收藏等等。
在示例性实施例中,所述操作行为信息还可以包括浏览行为信息,其中所述浏览
行为信息包括浏览行为的次数及所述浏览行为相应的第三时间信息,且将所述浏览行为定
义为第三类行为(C类)。
在在线教育领域,所述的浏览行为可以是指学生对系统中显示的可选老师的个人
主页的浏览、点击、查看等行为。同理,在不同的应用领域,所述的浏览行为可以代表不同的
含义。需要说明的是,虽然上述实施例中仅例举了收藏行为、浏览行为作为操作行为的举
例,但本公开不限定于此。可以将由系统根据用户的操作行为信息和预设规则(不包括用户
主动评分)产生的用户评分称为隐式评分。
在步骤S20中,根据所述评分信息和操作行为信息获取所述用户对所述推荐对象
的修正评分。
在示例性实施例中,所述根据所述评分信息和操作行为信息获取所述用户对所述
推荐对象的修正评分,根据以下公式计算获得:
![]()
其中,n为所述预设时间段内所述用户对所述推荐对象的评分次数和浏览次数的
和,例如,假设学生甲上了老师A的t次课进行了p次显式评分(p为小于等于t的正整数),浏
览了老师A的个人主页q次,则这里的p+q=n。
具体的,一个学生对一个老师的浏览行为可以是多次的,上课行为也是一样的,也
会有多次。如果浏览行为是多次,上述的公式中该学生对该老师的一次浏览行为累加一次C
类行为。如果上课行为是多次,上述的公式中根据该学生对每次上课的评分分数划分为不
同的类别(A类或者B类)。
其中,W为所述第一至第三类行为对应的预设常数。
在示例性实施例中,所述方法还可以包括:当所述评分行为为所述第一类行为时,
设置W=8;当所述评分行为为所述第二类行为时,设置W=4;当为所述浏览行为时,设置W=
1。但本公开不限定于此,对应第一至第三类行为的预设常数W可以根据不同的应用场景进
行调整。
其中,T为所述评分分数相应的所述第一时间信息和/或所述浏览行为相应的所述
第三时间信息,F为所述收藏行为相应的第二时间信息。
在示例性实施例中,针对具体的某学生的一次上课,T为该次上课距离当前日期已
经过去的天数。例如,学生甲在2016年8月1日上了老师A的一次英语课,假设当前日期为
2016年10月19日,则记录T=80。
针对具体的某学生的一次收藏行为,F为该次收藏行为已经过去的周数。在一实施
例中,不满一周的时间可以记为1。例如,学生甲收藏老师A的个人主页的日期为2016年10月
1日,假设当前日期为2016年10月19日,则记录F=3。但在另一实施例中,也可以记为0。
上述实施例通过记录评分行为和浏览行为的时间信息,考虑到了用户对老师的偏
好可能会随着时间变化,因此加入时间因素对评分做衰减之后再计算评分。一个评分行为
发生的越久,可以认为它的可信性就越低。
上课行为是一个频繁行为,因此在上述实施例中上课行为按天的级别衰减。收藏
行为可以认为它比直接评5分更能反应出学生对老师的喜爱,因此它应该有一个更高的权
重,同时考虑到收藏是一个一次性行为,在权重累积上不如上课行为可以累积那么多,因此
最后再和上课行为做加权。在时间衰减上,收藏行为相对是一个相对低频的行为,因此按周
的级别进行衰减。浏览行为(C类)代表学生对老师有初步的兴趣,可以设置比上课行为的权
重更低,仅仅作为上课行为的一个补充,和上课行为一起计算。
根据上述公式计算出来的rating是指根据该学生在该老师身上产生的显式行为
和隐式行为的综合拟合修正出来的评分。通过这种方式,可以拟合出一个(0,1)之间的评
分,越接近1时,代表学生越喜欢这个老师。根据上述公式计算出一个学生对其上过课的所
有的老师的修正评分后,可以根据修正评分进行下述的相似度的计算。
在步骤S30中,根据所述修正评分向所述用户推荐相应的推荐对象。
在示例性实施例中,所述根据所述修正评分向所述用户推荐相应的推荐对象包
括:根据所述公式计算第一用户对其相应的一个或者多个第一推荐对象的修正评分,获取
第一向量;计算一个或者多个第二用户对其相应的一个或者多个第二推荐对象的修正评
分,获取一个或者多个第二向量;计算所述第一向量和所述第二向量之间的第一相似度;选
择所述第一相似度最高的K个所述第二用户作为所述第一用户的用户群落;根据所述用户
群落中的K个所述第二用户相应的所述第二推荐对象对所述第一用户进行推荐。
在示例性实施例中,可以采用余弦相似度计算所述第一向量和所述第二向量之间
的所述第一相似度。本公开不限定于此,在其他实施例中,还可以采用欧氏距离,皮尔森相
关系数等其他相似度的计算方法。
其中所述用户群落可以定义为兴趣相投、拥有共同经验的群体。
例如,假设用户甲(第一用户)上过老师A1的英语课,老师B1的数学课,老师C1的舞
蹈课,老师D1的书法课,通过上述公式可以分别计算得到该用户甲对其相应的老师A1、B1、
C1、D1的修正评分ratingA1、ratingB1、ratingC1、ratingD1,此时该第一向量可以记录为
student甲={ratingA1,ratingB1,ratingC1,ratingD1};用户乙(第二用户)上过老师A1的英语
课,老师B1的数学课,老师C1的舞蹈课,老师E1的绘画课,通过上述公式可以分别计算得到
该用户乙对其相应的老师A1、B1、C1、E1的修正评分ratingA1、ratingB1、ratingC1、ratingE1,
此时该第二向量可以记录为student乙={ratingA1,ratingB1,ratingC1,ratingE1};用户丙
(第二用户)上过老师A2的英语课,老师B2的数学课,老师F1的钢琴课,老师G1的滑轮课,老
师H1的武术课,通过上述公式可以分别计算得到该用户丙对其相应的老师A2、B2、F1、G1、H1
的修正评分ratingA2、ratingB2、ratingF1、ratingG1、ratingH1,此时该第二向量可以记录为
student丙={ratingA2,ratingB2,ratingF1,ratingG1,ratingH1}。
然后,计算用户甲的第一向量student甲和用户乙的第二向量student乙之间的第一
相似度similarity甲乙,以及用户甲的第一向量student甲和用户丙的第二向量student丙之间
的第一相似度similarity甲丙;根据第一相似度的大小进行降序排列,假设这里得到的
similarity甲乙>similarity甲丙,则认为用户乙和用户甲属于同一用户群落,则可以将用户乙
上过而用户甲没有上过的老师E1推荐给用户甲。在这里所说的第一用户和第二用户是相对
而言的,例如当向用户甲推荐老师时,用户甲是第一用户,其对应的为第一向量,而其他用
于辅助向用户甲推荐老师的用户为第二用户,其对应的为第二向量;而当向用户乙推荐老
师时,用户乙为第一用户,其对应的为第一向量,而其他用于辅助向用户乙推荐老师的用户
为第二用户,其对应的为第二向量。
需要说明的是,上述实施例中仅例举了三个学生,但实际系统中一般远远不止这
个数目,假设某在线教育系统中注册学生有N个(N为正整数),注册老师有M个,则可以生成
该N个学生对该M个老师的修正评分的N个第一向量或第二向量:
student1={rating11,rating12,…,rating1M};
student2={rating21,rating22,…,rating2M};
……
studentN={ratingN1,ratingN2,…,ratingNM};
其中,对学生没有上过课的老师的修正评分rating记录为0。
然后,假设选择student1作为第一向量,student2至studentN作为第二向量,分别
计算该第一向量和各个第二向量之间的第一相似度,可以得到第一相似度
similarity12,…,similarity1N,将该N-1个第一相似度按照降序排列,选择前K个(1≤K<
N-1的正整数)第二向量对应的第二用户形成该第一用户的用户群落,然后根据该用户群落
中所有第二用户上过课且该第一用户没有上过课的老师对该第一用户进行推荐。
在示例性实施例中,所述根据所述修正评分向所述用户推荐相应的推荐对象还可
以包括:计算所述用户群落中的K个所述第二用户相应的所述第二推荐对象与所说第一用
户相应的所述第一推荐对象之间的第二相似度;当所述第二相似度超过预设阈值时,将所
述第二推荐对象推荐给所述第一用户。
上述根据第一相似度形成的第一用户的用户群落中可能包括很多的第二用户,且
这多个第二用户上过课的老师的数量是巨大的,如果仅以此对第一用户进行推荐,可能会
导致推荐的对象太多,此时,需要进一步对该用户群落中的老师进行筛选。
还是以上述的用户甲乙丙为例进行说明,按照前述的实施例,是直接将属于同一
用户群落的用户乙上过而用户甲没有上过的老师E1推荐给用户甲,而在本实施例中,还需
要实际计算老师E1和用户甲上过课的老师(A1、B1、C1、D1)之间的第二相似度,达到一定的
阈值才会进行推荐。
计算不同老师之间的第二相似度可以采用以下方法,假设某在线教育系统中注册
学生有N个(N为正整数),注册老师有M个,则可以根据该N个学生对该M个老师的修正评分生
成的M个第三向量或第四向量:
teacher1={rating11,rating12,…,rating1N};
teacher2={rating21,rating22,…,rating2N};
……
teacherM={ratingM1,ratingM2,…,ratingMN};
然后,假设选择teache1r作为第三向量,teacher2至teacherM作为第四向量,分别
计算该第三向量和各个第四向量之间的第二相似度。计算不同老师之间的第二相似度的方
法可以参照上述第一相似度的方法,在此不再详述。
在示例性实施例中,所述根据所述修正评分向所述用户推荐相应的推荐对象还可
以包括:剔除所述第一推荐对象和所述第二推荐对象中的相同推荐对象。
本实施方式提供的用于辅助推荐的方法,通过选取某段时间T内的用户行为数据,
例如用户的浏览、评分和收藏行为等,实现对用户显式评分的修正,从而能够为用户推荐更
准确的对象。应用于在线教育领域,通过用户的收藏、上课、浏览行为及相应行为的时间衰
减获取修正评分,根据修正评分获取相似度,可以更准确的反应用户对老师的喜好程度,从
而得到更准确的推荐结果,减少用户选择老师的成本,同时有助于课程销售。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于
这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它
实施方式。
图2示意性示出根据本公开示例实施方式的另一种用于辅助推荐的方法。
如图2所示,在步骤S301中,根据所述公式计算第一用户对其相应的一个或者多个
第一推荐对象的修正评分,获取第一向量。
在步骤S302中,计算一个或者多个第二用户对其相应的一个或者多个第二推荐对
象的修正评分,获取一个或者多个第二向量。
在步骤S303中,计算所述第一向量和所述第二向量之间的第一相似度。
在步骤S304中,选择所述第一相似度最高的K个所述第二用户作为所述第一用户
的用户群落。
在步骤S305中,剔除所述第一推荐对象和所述第二推荐对象中的相同推荐对象。
在步骤S306中,计算所述用户群落中的K个所述第二用户相应的所述第二推荐对
象与所说第一用户相应的所述第一推荐对象之间的第二相似度。
在步骤S307中,当所述第二相似度超过预设阈值时,将所述第二推荐对象推荐给
所述第一用户。
上述步骤S301至步骤S307的具体实现方法可以参见上述方法实施例,在此不再赘
述。
图3示意性示出根据本公开示例实施方式的一种用于辅助推荐的装置100的框图。
该装置100可例如利用如图1或2所示的用于辅助推荐的方法来实现,但本公开不限于此。
如图3所示,该用于辅助推荐的装置100包括信息获取模块110、评分修正模块120
以及推荐模块130。
其中信息获取模块110用于获取预设时间段内用户对推荐对象的评分信息和操作
行为信息。
在示例性实施例中,所述评分信息包括评分分数以及所述评分分数相应的第一时
间信息。
在示例性实施例中,装置100还可以包括:行为类别划分模块,所述行为类别划分
模块用于当所述评分分数处于第一分数范围内时,将所述评分分数相应的评分行为划分为
第一类行为;当所述评分分数处于第二分数范围内时,将所述评分分数相应的评分行为划
分为第二类行为。
在示例性实施例中,所述操作行为信息可以包括收藏行为信息,其中所述收藏行
为信息包括收藏行为的次数及所述收藏行为相应的第二时间信息。
在示例性实施例中,所述操作行为信息还可以包括浏览行为信息,其中所述浏览
行为信息包括浏览行为的次数及所述浏览行为相应的第三时间信息,且将所述浏览行为定
义为第三类行为。
其中评分修正模块120用于根据所述评分信息和操作行为信息获取所述用户对所
述推荐对象的修正评分。
在示例性实施例中,所述评分修正模块根据以下公式计算获得所述修正评分:
![]()
其中,n为所述预设时间段内所述用户对所述推荐对象的评分次数和浏览次数的
和,T为所述评分分数相应的所述第一时间信息和/或所述浏览行为相应的所述第三时间信
息,F为所述收藏行为相应的第二时间信息,W为所述第一至第三类行为对应的预设常数。
其中推荐模块130用于根据所述修正评分向所述用户推荐相应的推荐对象。
在示例性实施例中,推荐模块130可以包括:第一向量获取单元,用于根据所述公
式计算第一用户对其相应的一个或者多个第一推荐对象的修正评分,获取第一向量;第二
向量获取单元,用于计算一个或者多个第二用户对其相应的一个或者多个第二推荐对象的
修正评分,获取一个或者多个第二向量;第一相似度获取单元,用于计算所述第一向量和所
述第二向量之间的第一相似度;选择单元,用于选择所述第一相似度最高的K个所述第二用
户作为所述第一用户的用户群落;第一推荐单元,用于根据所述用户群落中的K个所述第二
用户相应的所述第二推荐对象对所述第一用户进行推荐。
在示例性实施例中,推荐模块130还可以包括:第二相似度计算单元,用于计算所
述用户群落中的K个所述第二用户相应的所述第二推荐对象与所说第一用户相应的所述第
一推荐对象之间的第二相似度;第二推荐单元,用于当所述第二相似度超过预设阈值时,将
所述第二推荐对象推荐给所述第一用户。
图1和2示出根据本公开示例实施方式的用于辅助推荐的方法的流程图。该方法可
例如利用如图3所示的用于辅助推荐的装置实现,但本公开不限于此。需要注意的是,图1和
2仅是根据本公开示例实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于
理解,图1和2所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处
理可以是例如在多个模块/进程/线程中同步或异步执行的。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施
方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开
实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失
性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算
设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的
方法。
以上具体地示出和描述了本公开的示例性实施方式。应可理解的是,本公开不限
于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求
的精神和范围内的各种修改和等效设置。