首页> 中国专利> 一种基于用户群体偏好的科技资源动态协同过滤推荐方法

一种基于用户群体偏好的科技资源动态协同过滤推荐方法

摘要

本发明的实施例提供了一种基于用户群体偏好的科技资源动态协同过滤推荐方法。所述方法包括根据用户间的标签相似度和用户对科技资源的评分相似度计算用户间的相似度;将用户进行聚类,并构造科技资源的类别偏好矩阵;计算用户对目标科技资源与其他科技资源的类别偏好相似度,生成目标科技资源的候选邻居列表;计算每个科技资源与其前若干个科技资源的评分相似度,生成科技资源最近邻列表;将用户未评分的科技资源作为待预测科技资源,计算所述待预测科技资源的预测评分。以此方式,可以通过分析目标用户的相似用户群体的评分,对评分数据进行预测,生成的推荐结果与目标用户的兴趣匹配度一致性较高。

著录项

  • 公开/公告号CN112182416A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 北京市科学技术情报研究所;

    申请/专利号CN202010945150.5

  • 发明设计人 毛维娜;毛卫南;苗润莲;

    申请日2020-09-10

  • 分类号G06F16/9536(20190101);G06F16/955(20190101);G06F16/906(20190101);

  • 代理机构11664 北京华专卓海知识产权代理事务所(普通合伙);

  • 代理人李巨智

  • 地址 100048 北京市西城区西直门外大街140号首建金融中心

  • 入库时间 2023-06-19 09:26:02

说明书

技术领域

本发明的实施例一般涉及计算机技术领域,并且更具体地,涉及一种基于用户群体偏好的科技资源动态协同过滤推荐方法。

背景技术

协同过滤算法是推荐系统中应用最广泛的核心算法。协同过滤也被称为社会过滤(Social Filtering),这一概念最早是在1992年Goldber的研宄报告中提出来的,Goldberg等人应用Tapestry系统过滤出对用户有用的电子信件,但要求用户标注不愿意看到的信息,体现了系统与用户间的互动。至今,协同过滤技术己成功应用于各种推荐系统中,其核心思想是:机器本身缺乏情感要素,异致其筛选的内容存在缺陷,协同过滤就是通过分析用户的评价,排除无用的信息,挑选出符合用户期望的有效信息。协同过滤推荐算法的基本流程:计算用户群体或者物品群体的相似度,根据拥有相同或者相似兴趣的用户评价来推测目标用户对物品的评价。与基于内容的推荐算法不同,协同过滤算法分析目标用户的相似用户群体的兴趣爱好来挖掘目标用户的潜在兴趣,推荐质量高,这也是该技术得以广泛应用的最主要的原因。

传统的协同过滤算法的思想是利用用户-资源评分矩阵计算出用户间或者资源间的相似度,根据相似度得到近邻用户集或者邻居资源集,最后根据邻居集来预测评分产生Top-N推荐。但是传统的协同过滤算法都存在一个问题,它们只考虑了用户间或者科技资源间的评分相似性,没有考虑到用户兴趣变化,用户兴趣不是一成不变的,是随着时间的推移而变化的,现阶段用户感兴趣的内容,下阶段用户不一定依旧感兴趣。

发明内容

根据本发明的实施例,提供了一种基于用户群体偏好的科技资源动态协同过滤推荐方案。

在本发明的第一方面,提供了一种基于用户群体偏好的科技资源动态协同过滤推荐方法。该方法包括:

计算用户间的标签相似度以及计算用户对科技资源的评分相似度,根据所述用户间的标签相似度和用户对科技资源的评分相似度计算用户间的相似度;

将用户进行聚类,并构造科技资源的类别偏好矩阵;

根据所述科技资源的类别偏好矩阵,计算用户对目标科技资源与其他科技资源的类别偏好相似度,按照类别偏好相似度由从高到低对科技资源进行排列,生成目标科技资源的候选邻居列表;

计算所述目标科技资源的候选邻居列表中每个科技资源与其前若干个科技资源的评分相似度,生成科技资源最近邻列表;

将用户未评分的科技资源作为待预测科技资源,从所述科技资源最邻近列表中识别所述待预测科技资源所在行,并顺序提取前若干个已评分的科技资源,计算所述待预测科技资源的预测评分。

进一步地,所述计算用户间的标签相似度,包括:

其中,sim

进一步地,所述计算用户对科技资源的评分相似度,包括:

其中,w

进一步地,所述热门科技资源惩罚权值为:

其中,w

进一步地,所述用户间的相似度为:

sim

其中,sim

进一步地,所述将用户进行聚类,并构造科技资源的类别偏好矩阵,包括:

步骤1:在用户对任一科技资源的评分矩阵中,将所述科技资源的已评分用户进行聚类,得到若干个用户类;

步骤2:计算所述科技资源在各个用户类上的类别偏好值;

重复上述步骤1和步骤2,直至计算出全部科技资源在对应用户类上的类别偏好值,生成科技资源的类别偏好矩阵。

进一步地,所述类别偏好值为:

P

其中,P

进一步地,科技资源之间的评分相似度为:

其中,sim

进一步地,所述计算所述待预测科技资源的预测评分,包括:

f(t

其中,R

在本发明的第二方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。

本发明能够过滤掉难以处理的信息,通过分析目标用户的相似用户群体的评分,对评分数据进行预测,生成的推荐结果与目标用户的兴趣匹配度一致性较高;且由于协同过滤推荐是以其他相关用户的评分为基础,所以推荐列表会出现新的物品,而不仅仅是以前爱好的物品,引入其他用户的历史评分数据,丰富了数据内容。

附图说明

结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了根据本发明的实施例的基于用户群体偏好的科技资源动态协同过滤推荐方法的流程图;

图2示出了能够实施本发明的实施例的示例性电子设备的方框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本发明中,能够过滤掉难以处理的信息,引入其他用户的历史评分数据,丰富了数据内容,通过分析目标用户的相似用户群体的评分,对评分数据进行预测,生成的推荐结果与目标用户的兴趣匹配度一致性较高,且由于协同过滤推荐是以其他相关用户的评分为基础,所以推荐列表会出现新的物品,而不仅仅是以前爱好的物品。。

图1示出了本发明实施例的基于用户群体偏好的科技资源动态协同过滤推荐方法的流程图。

该方法包括:

S100、计算用户间的标签相似度以及计算用户对科技资源的评分相似度,根据所述标签相似度和评分相似度计算用户间的相似度。

相似度计算方法的主要思想是将评分相似度和标签相似度线性结合。

在推荐技术应用过程中,“特征”这一属性可以在用户和数据资源之间形成联系,将那些符合用户兴趣偏好的内容推荐给用户。这里提到的“特征”的形式多种多样,比如可以是数据资源的属性集合,表现形式可以采用隐语义,而本方案是另外一种重要的表现形式——标签。标签是一种可以用来描述语义的无层次化结构的关键词。基于标签的推荐技术其工作原理就是利用丰富的关键词标签来将用户和数据资源联系起来。

利用标签,我们可以把用户和数据资源联系在一起。标签不仅能够描述用户的兴趣偏好,还能表现出数据资源的特征。基于标签的推荐技术通过对用户和数据资源建立标签,使得用户群和数据资源群划分更为明确,从而大大提高了推荐结果的针对性。与此同时,基于标签的推荐技术展示了对不同标签的用户的推荐结果,这也提高了推荐效果的多样性和可解释性,提升了用户体验。

作为本发明的一种实施例,在推荐系统中存在两种类型的标签,一种是领域专家预先标注的标签,这些标签描述了科技资源的类型等特征属性,具有一定的权威性。另一种就是用户在浏览系统的过程中根据自己的喜好给科技资源标注的标签,这类标签暗示着用户对科技资源的偏好信息,但是用户对科技资源的标签完全是自由标注的,同一个科技资源,不同用户的标签信息并不一致,所以导致了标签系统中出现“垃圾标签”的现象。将文本标签集转化成数字型向量便于相似度计算。对于用户来说,用户的标签就是描述用户性别、年龄、职业等人口统计学特征。我们将年龄分为不同的年龄段,每个年龄段用一个数字表示,性别只有男女两种,用两个数字表示。

假设用户1(或者资源1)的标签向量为u=(u

其中,sim

所述计算用户对科技资源的评分相似度,包括:

其中,w

传统的基于用户的推荐算法计算用户之间相似度时只考虑到了两个用户共同评分过的科技资源,并没有考虑到用户评分过的科技资源的热门程度对用户之间的相似度的影响。两个用户对非热门的科技资源产生兴趣更能表明他们之间有相同的偏好。为了减少热门科技资源对用户间相似度的影响,引入热门科技资源惩罚权值w

所述热门科技资源惩罚权值为:

其中,w

喜欢科技资源i的用户越多,说明该科技资源越热门,那么就赋予它较小的权值,降低两个用户共同兴趣列表中热门科技资源对用户间相似度的影响。

在上述过程中已经得到了用户间的标签相似度和用户对科技资源的评分相似度,利用标签相似度和评分相似度计算用户间的相似度:

sim

其中,sim

S200、将用户进行聚类,并构造科技资源的类别偏好矩阵。

具体包括:

S210、在用户对任一科技资源的评分矩阵中,将所述科技资源的已评分用户进行聚类,得到若干个用户类。

科技资源的评分矩阵为R(m,n),表示用户m对科技资源n的评分矩阵,将科技资源的评分矩阵R(m,n)中已评分的用户聚类成用户集合U

S220、计算所述科技资源在各个用户类上的类别偏好值。

所述类别偏好值为:

P

其中,P

迭代上述S210和S220,直至计算出全部科技资源在对应用户类上的类别偏好值,生成科技资源的类别偏好矩阵。

作为本发明的一种实施例,科技资源的类别偏好矩阵P(n,p)为n行l列,行数表示有n个项目,列数表示有l个用户类群体,P

S300、根据所述科技资源的类别偏好矩阵,计算用户对目标科技资源与其他科技资源的类别偏好相似度,按照类别偏好相似度由从高到低对科技资源进行排列,生成目标科技资源的候选邻居列表。

用户对目标科技资源与其他科技资源的类别偏好相似度为:

其中,sim

如上述过程依次计算目标科技资源x与其他若干个科技资源的类别偏好相似度,按照得出的类别偏好相似度的大小,由大到小对科技资源进行排列,得到目标科技资源的候选邻居列表T

S400、计算所述目标科技资源的候选邻居列表中每个科技资源与其前若干个科技资源的评分相似度,生成科技资源最近邻列表。

作为本发明的一种实施例,从所述目标科技资源的候选邻居列表T

其中,sim

S500、将用户未评分的科技资源作为待预测科技资源,从所述科技资源最邻近列表中识别所述待预测科技资源所在行,并顺序提取前若干个已评分的科技资源,计算所述待预测科技资源的预测评分。

作为本发明的一种实施例,从科技资源最近邻列表T

f(t

其中,R

上述S100~S400在离线状态下进行处理,S500为在线状态下处理。相比于用户群体增加的速度,科技资源增加的速度相对缓慢,所以系统中的科技资源性质比较稳定,S100~S400的步骤只需要定期离线计算一次即可,对推荐速度没有影响。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。

以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。

如图2所示,电子设备包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的计算机程序指令或者从存储单元加载到随机访问存储器(RAM)中的计算机程序指令,来执行各种适当的动作和处理。在RAM中,还可以存储设备操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。

电子设备中的多个部件连接至I/O接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许电子设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元执行上文所描述的各个方法和处理,例如方法S100~S500。例如,在一些实施例中,方法S100~S500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到RAM并由CPU执行时,可以执行上文描述的方法S100~S500的一个或多个步骤。备选地,在其他实施例中,CPU可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法S100~S500。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。

用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号