CN113221003A - 一种基于对偶理论的混合过滤推荐方法及系统 - Google Patents
一种基于对偶理论的混合过滤推荐方法及系统 Download PDFInfo
- Publication number
- CN113221003A CN113221003A CN202110552499.7A CN202110552499A CN113221003A CN 113221003 A CN113221003 A CN 113221003A CN 202110552499 A CN202110552499 A CN 202110552499A CN 113221003 A CN113221003 A CN 113221003A
- Authority
- CN
- China
- Prior art keywords
- item
- user
- recommendation
- dual
- under
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于对偶理论的混合过滤推荐方法及系统。所述方法包括:根据用户的项目相似度、偏好向量和基于推荐列表得到原始概率集;基于项目相似度和偏好向量,确定原始项目推荐集合和原始相似用户集群,根据用户相似性矩阵、项目评分矩阵和推荐列表得到对偶概率集;基于项目评分矩阵,确定当前对偶项目推荐集合和对偶相似用户集群;根据原始项目推荐集合、对偶项目推荐集合、原始相似用户集群、对偶相似用户集群、原始概率集和对偶概率集得到最终推荐列表。本发明在面临历史访问数据和评价数据极度稀疏的情况时,可以提高混合推荐方法的推荐性能,从而提高推荐结果的准确性。
Description
技术领域
本发明涉及推荐技术领域,特别是涉及一种基于对偶理论的混合过滤推荐方法及系统。
背景技术
随着互联网资源,尤其是商品和娱乐资源的爆炸式增长,越来越多的人在网上搜索他们需要的物品,推荐系统也成为电子商务等领域研究的热点,得到广泛的应用。
混合推荐技术结合了两种或两种以上的推荐技术,以获得更好的性能。因为有些推荐系统在有历史访问数据时才能有效地工作,譬如基于内容的推荐;而有些推荐系统则在有足够评价数据时才能效地工作,譬如协同过滤推荐。
在目前混合推荐技术的研究中,多采用神经网络、降维、贝叶斯网络和矩阵以及张量因子分解等策略,以得到更精确的显式或隐式用户关联。这些方法的实施基于一个前提,即必须存在很多的用户历史数据和评价数据,当面临的历史访问数据和评价数据极度稀疏的情况时,混合推荐方法的推荐性能较低,从而导致个性化推荐的准确度较低。
发明内容
本发明的目的是提供一种基于对偶理论的混合过滤推荐方法及系统,在面临历史访问数据和评价数据极度稀疏的情况时,可以提高混合推荐方法的推荐性能,从而提高推荐结果的准确性。
为实现上述目的,本发明提供了如下方案:
一种基于对偶理论的混合过滤推荐方法,包括:
根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集;
基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群;所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合;
根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集;
基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表;
根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值;
判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值;
若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表;
若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。
可选的,所述基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:
获取上一次迭代次数下的项目评分矩阵;所述项目评分矩阵包括所有用户在上一迭代次数下的项目评分列表;
根据上一迭代次数下的项目评分列表,采用皮尔逊相关系数法计算任意两个所述用户之间的相似度,所有用户之间的相似度构成当前迭代次数下的用户相似性矩阵;
由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群。
可选的,所述基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群,具体包括:
对于任意一个用户,按照所述用户在上一次迭代次数下的偏好向量对待推荐项目集合进行选择得到所述用户的初始项目集合;
采用分类算法,根据上一迭代次数下的项目相似度对所述初始项目集合进行分类,得到当前迭代次数下对各用户的推荐列表,从而得到原始项目推荐集合;
采用聚类算法对在当前迭代次数下的原始项目推荐集合进行聚类得到多个聚类列表集合;
将所述聚类列表集合中各推荐列表对应的用户确定为在当前迭代次数下的用户集合;所有聚类列表集合对应的用户集合为当前迭代次数下的原始相似用户集群。
可选的,所述由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:
对于任意一个用户,采用聚类算法对当前迭代次数下的用户相似性矩阵进行聚类,得到在当前迭代次数下的多个用户集合,并确定在当前迭代次数下的多个所述用户集合为当前迭代次数下的对偶相似用户集群;
对于所述对偶相似用户集群中任意一个用户集合中的目标用户,由所述待推荐项目集合确定所述目标用户中未被评分的项目;
由目标用户与各剩余用户之间的相似度计算所述未被评分的项目的评分值;所述剩余用户为所述目标用户所属用户集合中除所述目标用户之外的用户;
由所述评分值更新所述目标用户的推荐列表,得到所述目标用户的更新后的推荐列表;所有用户的更新后的推荐列表构成对偶项目推荐集合。
可选的,所述根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,具体包括:
根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合对上一次迭代次数下的偏好向量进行更新得到当前迭代次数下的偏好向量;
根据当前迭代次数下的偏好向量计算任意两个待推荐任务在当前迭代次数下的项目相似度;
根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群对上一次迭代次数下的项目评分矩阵进行更新得到当前迭代次数下的项目评分矩阵。
可选的,所述根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,具体为:
可选的,所述根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值,具体为:
根据公式得到第二函数值,其中,Fun2为第二函数值,minimize()为求最小值函数,loss()为损失函数,P(r,u')为用户集u′对项目集r的原始概率集,P(u,r')为用户集u对项目集r'的对偶概率集,R为原始项目推荐集合,U为原始相似用户集群,R'为对偶项目推荐集合,U'为对偶相似用户集群。
可选的,所述由目标用户与各剩余用户之间的相似度计算所述未被评分的项目的评分值,具体包括:
根据所述剩余用户中各用户与所述目标用户之间的相似度确定所述剩余用户中各用户的权值;
根据所述剩余用户中各用户对所述未评分的项目的评分和所述权值的乘积求取加权和;
根据所述加权和求所述未评分的项目的平均值,并将所述平均值确定为所述未评分的项目的评分值。
可选的,所述根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表,具体为:
根据公式计算待推荐用户的最终推荐项目集合,其中Rr崐c为待推荐用户的最终推荐项目集合,Top()为取评分排名前n个项目的操作,Rui为在原始项目推荐集合中推荐给用户i的项目,R'ui为在对偶项目推荐集合中推荐给用户i的项目,Rate()为根据评分取前n个项目的操作,U为原始相似用户集群,ui为用户i。
一种基于对偶理论的混合过滤推荐系统,包括:
原始概率集确定模块,用于根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集;
原始集确定模块,用于基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群;所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合;
对偶概率集确定模块,用于根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集;
对偶集确定模块,用于基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表;
函数值确定模块,用于根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值;
判断模块,用于判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值;
第一结果确定模块,用于若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表;
第二结果确定模块,用于若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明在原始任务中得到用户对各项目的选择概率,并采用基于内容的推荐方法得到原始项目推荐集合和原始相似用户集群,在对偶任务中得到用户对各项目的选择概率,并采用协同过滤推荐方法得到对偶项目推荐集合和对偶相似用户集群,应用对偶理论对这两个任务进行处理,通过这两个任务中存在的反馈和相互作用使整个推荐过程即使只有很少量的或没有历史数据,推荐系统也可以有效地工作,提高混合推荐方法的推荐性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于对偶理论的混合过滤推荐方法的框架流程图;
图2为本发明实施例提供的原始任务和对偶任务的对偶特性图;
图3为本发明实施例提供的基于对偶理论的混合过滤推荐方法的流程图;
图4为本发明实施例提供的基于对偶理论的混合过滤推荐系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
推荐系统主要根据活跃用户的历史经验或其他用户的评价来产生推荐。依赖当前用户历史经验(历史访问记录或访问行为)的推荐称为基于内容的过滤推荐算法,即分析用户的需求和历史文件,向用户推荐与其需求相匹配的内容。依赖其他用户对物品的购买或评价等行为的推荐被称为协同过滤推荐算法,即通过分析用户对资源的评分,计算用户之间的相似性,为活跃用户推荐其相似用户喜欢的资源。
基于内容的过滤推荐方法的一个主要问题是它依赖于大量的项目特征和用户的历史文件,在面对新项目或新用户的时候没有历史访问数据就出现冷启动问题;基于协同过滤的推荐主要依赖其他用户对项目的评价,当评分数据较少时,就出现数据稀疏问题。基于内容的过滤方法依赖历史访问,协同过滤依赖其他用户访问,当两者都没有或极度缺乏时,推荐不能进行。
推荐系统经常面临冷启动和用户评价数据稀疏的情况,这将严重降低个性化推荐的准确度,因此冷启动和数据稀疏是推荐系统亟待解决的重要问题。针对数据稀疏和冷启动问题,当前主要的解决策略有混合过滤推荐、基于深度学习的推荐和应用对偶理论的推荐但是这些推荐方法的前提是必须已经存在足够的用户历史数据和评价信息。
常见的混合过滤推荐方法是在基于用户的协同过滤的基础上嵌入基于项目的协同过滤的思想,而项目信息是通过基于内容的推荐获取的。即根据用户之前访问的项目的信息建立用户之间可能的邻居关系,增强基于协同过滤推荐方法的有效性。还有一种方法是在应用平台中建立评价激励机制,鼓励用户增加评论,有的通过设置问卷或偏好调查的方法获取用户对商品的潜在评分信息,有的从跨领域跨平台角度出发,获取用户关联信息。有的研究从用户访问的资源特征以及该资源在整个用户群体中被访问的热度出发,对用户访过的但未给出评价的数据进行预测并填充,从而降低了由于用户评价数据缺失所造成的评价矩阵稀疏程度。另外出现基于扩散、迭代寻优或转移相似性的推荐方法,它们在现有的评价数据的基础上,模拟出更多的推荐辅助信息,但是在面临数据极度稀疏的情况时,以上这些方法对推荐系统的性能提升非常有限。
基于深度学习的推荐方法通常将用户和项目的辅助信息集成到一个较深的神经网络当中来缓解冷启动的问题,通过利用历史数据来学习商品和用户特征之间的相关性,或者用深层组件来学习用户-项目交互中不可见的特征。当用户和项目有丰富的特征集可供使用时,基于深度学习的方法很有效。但是大多数推荐系统的数据是极度稀疏的,不适用于用基于深度学习的方法进行推荐。
目前也有一些基于深度学习研究试图利用其他渠道来丰富用户的配置文件信息,如社会信任网络、标签系统和访谈过程。但是收集标签、关键字和类别等属性总是耗时和昂贵的,而且同常见的混合推荐一样,基于深度学习的推荐方法也面临辅助信息较少、因为隐私问题很难获得新用户的个人信息等问题,所以在可用数据有限的情况下,很难挖掘出新项目的具体特性。
基于深度学习的推荐系统面临的困境总结如下。第一,深度学习方法的训练过程是一种黑箱操作,它缺乏可解释性和可修改性,这削弱了利用推荐场景固有特征的可能性。第二,深度学习更依赖大数据以及标签数据,这限制了它在某些推荐系统中的应用。第三,深度学习对硬件有较高的要求,而且通常需要较长的训练时间。第四,需要花更多时间去部署和调整深度学习模型,而且其具体效果无法保证。
对偶学习的基本思想,实际上是一个新的学习范式,利用AI(人工智能)任务的对称属性(primal-dual)使其获得更有效的反馈/正则化,从而引导、加强学习过程(特别是在数据量少的情况下)。如果将一个x从一个域映射到另一个域,然后再映射回到原来的域,应该可以得到原来的x。通常在基于对偶学习的应用中,要设计一个agent来表示原始任务模型,另一个agent用来表示对偶任务模型,然后通过强化学习过程来完成这两个任务的自校正和自我改进。在推荐领域,有个别研究用对偶机制缓解冷启动问题。一种研究是将用户和项目映射到一个类别共享空间,通过类别标签对用户偏好和项目属性进行填充,以解决冷启动问题,这种策略要求用户有明确的类别偏好,而且项目必须有与用户偏好一致的类别标签,因此要进行大量的提前标注,增加了人为工作量。而且该方法的前提是推荐系统的评价矩阵数量是充分的,这并不适合数据稀疏的应用场景。还有的基于对偶的研究只考虑了推荐过程中的概率/相似性反馈,没有研究推荐基础和推荐结果的双重特征,也没有提到两个单向任务之间特定因素的对偶性,以及尝试通过闭环反馈来优化推荐模型。因此,如何将对偶理论应用到推荐系统中还需要进一步的研究,综上所述,如何在稀疏数据较严重的情况下设计有效的推荐系统仍然是热点话题。
为解决上述技术问题,本实施例提供了一种基于对偶理论的混合过滤推荐方法,图1中的框架描述了基于对偶理论的混合过滤推荐方法中两个对偶任务的实现过程及其之间的联系。图1的上部是原始任务的示意图,下部是对偶任务的示意图。原始推荐任务(简称原始任务)是项目采取主动行动来找到与其匹配的目标用户,任务模型为f(R,U′|UF;θru′)。UF表示用户偏好。R是用基于内容的过滤方法实现的推荐项目列表,基于R生成的用户群记为U′。θur′是项目匹配用户的概率有关的参数集。推荐过程是根据用户的偏好对候选项目进行分类。对偶推荐任务(简称对偶任务)是用户采取主动行为,找到其喜欢的项目,该任务被建模为g(U,R′|RU;θur′)。RU表示用户对项目的评分矩阵。对偶任务通过基于CF的聚类方法产生用户群U,然后基于用户群U得到项目推荐R′。θur′是与用户选择项目概率相关的参数集。R0是待推荐项目集合,U0是用户集,为原始任务中根据推荐项目集R和用户群U′得到的用户对资源的评分函数,为根据两个任务的项目推荐空间差异评估,得到原始任务中用户对项目特征偏好的函数,为根据两个任务的项目推荐空间差异评估,得到对偶任务中用户对项目特征偏好的函数,为对偶任务中根据用户群U和推荐项目集R′得到的用户对资源的评分函数。
图2进一步展示了原始任务和对偶任务之间的对偶性特征,即:(1)原始任务的输出可用于完成对偶任务的评分矩阵,而对偶任务的输出可用于丰富在原始任务中用户的偏好;(2)这两个任务在推荐过程中生成了自己的用户空间和项目空间。两个任务的用户空间和项目空间的差异用作目标函数,以及优化用户偏好和评分矩阵的基础;(3)这两项任务的选择概率一致性是评估推荐算法的另一个目标函数。图1和图2表示了两个任务的对偶特性和两个任务之间的全过程、强对偶性特征确保了推荐系统可以主动有效地在内部启动,并通过自我完善和自我调整来减少对原始信息的依赖。最后,通过两个任务的协作可以实现推荐系统的最终目标。
基于对偶理论的混合过滤推荐方法的具体过程如图3所示,所述方法,包括:
步骤101:根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集。
步骤102:原始任务中:基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合R和原始相似用户集群U';所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合。
步骤103:根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集。
步骤104:对偶任务中:基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合R'和对偶相似用户集群U;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表。
步骤105:根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值。
步骤106:判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值。阈值是根据问题规模和可用用户偏好比例以及评分数据比例设置的经验值,表示为θ1(M,N,K,UF),θ2(M,N,K,RU)),M表示用户的总数量,N为待推荐项目的数量,K表示项目包含的特征的总数,UF为偏好向量集合,RU为评分矩阵。
步骤107:若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表。
步骤108:若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。
在实际应用中,初始迭代时的步骤为:
步骤1:采集待推荐项目集合R0={r1,r2,…,rj,…,rn},j∈[1,N],N为项目的数量。收集项目的关键词和标签信息,作为项目的特征,将项目rj表示为多维张量i∈[1,K],表示项目rj是否包括特征qi,表示项目rj具有qi特征;表示项目rj不具有特征qi,K表示项目rj包含的特征的总数。
步骤2:采集用户历史访问项目集合UH={u1,u2,…,ui,…,um},i∈[1,M],M表示用户的总数量,ui表示第i个用户的访问列表, 表示第i个用户是否访问过项目rj,若表示用户访问过rj;若表示用户没有访问过rj,将访问列表作为初始的推荐列表。
步骤5:得到初始偏好向量,根据公式计算用户i对特征qj的偏好概率,其中,为用户i对特征qj的偏好概率,为用户i对项目rt的访问情况,为项目rt是否具有特征qi,本式根据用户i访问的项目中每个特征出现的比例,计算用户i对某个特征的偏好。如果ui(第i个用户的访问列表)为空,则用户i对特征qj的偏好向量为 N表示所有项目的个数。
在实际应用中,根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,具体为:
根据公式P(r,u′)=p(r)P(u′|r;θru′)=P(u′)P(r|u′;θu′r)计算第一选择概率。p(r)是项目r在用户u′的基于内容的推荐方法得到的推荐列表(初始迭代时为访问列表)中出现的概率,P(u′|r;θru′)是在一定参数θru′下,选择r的用户中出现u′的概率;p(u′)是用户u′在r的基于内容的推荐方法得到的推荐列表(初始迭代时为访问列表)中出现的概率,P(r|u′;θu′r)是在一定参数θu′r下选择u′的项目中出现r的概率,θru′为第一参数集合,θu′r为第二参数集合,θru′和θu′r是根据当前用户的偏好向量UF'、偏好向量的梯度变化项目相似度(初始的为利用余弦相似度计算得到的)计算得到的。
在实际应用中,根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,具体为:
根据公式P(u,r′)=P(u)P(r′|u;θur′)=P(r′)P(u|r′;θr′u)计算第二选择概率P(u,r′),p(r')是项目r’在用户u的采用协同过滤推荐方法得到的对各用户的推荐列表(初始迭代时为访问列表)中出现的概率,P(u|r′;θr′u)是在一定参数θr′u下,选择r’的用户中出现u的概率;p(u)是用户u在r’的采用协同过滤推荐方法得到的对各用户的推荐列表(初始迭代时为访问列表)中出现的概率,P(r′|u;θur′)是在一定参数下θur′选择u的项目中出现r’的概率,θru′为第三参数集合,θu′r为第四参数集合,θur′和θr′u是根据用户的项目评分矩阵RU'、项目评分矩阵的梯度变化和用户相似性矩阵UM计算得到的。
在实际应用中,所述基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:
获取上一次迭代次数下的项目评分矩阵;所述项目评分矩阵包括所有用户在上一迭代次数下的项目评分列表。
根据上一迭代次数下的项目评分列表,采用皮尔逊相关系数法计算任意两个所述用户之间的相似度,所有用户之间的相似度构成当前迭代次数下的用户相似性矩阵。
由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群。
在实际应用中,所述基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群,具体包括:
对于任意一个用户,按照所述用户在上一次迭代次数下的偏好向量对待推荐项目集合进行选择得到所述用户的初始项目集合。
采用分类算法(KNN(K-近邻)方法),根据上一迭代次数下的项目相似度(初始为根据余弦相似度计算得到的)对所述初始项目集合进行分类,得到当前迭代次数下对各用户的推荐列表,从而得到原始项目推荐集合。
采用聚类算法(K-means方法)对在当前迭代次数下的原始项目推荐集合进行聚类得到多个聚类列表集合。
将所述聚类列表集合中各推荐列表对应的用户确定为在当前迭代次数下的用户集合;所有聚类列表集合对应的用户集合为当前迭代次数下的原始相似用户集群。
在实际应用中,所述由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:
对于任意一个用户,采用聚类算法(K-means方法)对当前迭代次数下的用户相似性矩阵进行聚类,得到在当前迭代次数下的多个用户集合,并确定在当前迭代次数下的多个所述用户集合为当前迭代次数下的对偶相似用户集群。
对于所述对偶相似用户集群中任意一个用户集合中的目标用户,由所述待推荐项目集合确定所述目标用户中未被评分的项目。
由目标用户与各剩余用户之间的相似度计算所述未被评分的项目的评分值;所述剩余用户为所述目标用户所属用户集合中除所述目标用户之外的用户。
由所述评分值更新所述目标用户的推荐列表,得到所述目标用户的更新后的推荐列表;所有用户的更新后的推荐列表构成对偶项目推荐集合。
在实际应用中,所述根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,具体包括:
根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合对上一次迭代次数下的偏好向量进行更新得到当前迭代次数下的偏好向量。
根据当前迭代次数下的偏好向量计算任意两个待推荐任务在当前迭代次数下的项目相似度。
根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群对上一次迭代次数下的项目评分矩阵进行更新得到当前迭代次数下的项目评分矩阵。
在实际应用中,根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合对上一次迭代次数下的偏好向量进行更新得到当前迭代次数下的偏好向量,具体为:根据公式 更新偏好向量,其中,为更新前用户i对特征qt的偏好值,为更新后用户i对特征qt的偏好值,α为第一加权参数,为根据两个任务(原始任务和对偶任务)的推荐列表得到的用户i对项目偏好的梯度变化,θ为第二加权参数,表示用户i在中对qt的偏好计算,假设用户i所属的集群中有Z个用户,用户i在UF中具有L个偏好。为对偶任务g中根据用户集群计算用户i偏好的函数。
其中,为根据原始任务f和对偶任务g的资源推荐列表计算用户i对项目偏好的函数,Con()表示对用户偏好的置信度评估,表示在R中用户i的推荐列表,表示在R’中用户i的推荐列表,是用户对项目的特征qt的偏好,Quantity是指推荐给用户i的项目中的具有qt特征的数量,Bank是qt特征在用户i所有偏好特征中的排序,Topy是指用户i偏好的前y个偏好,是对用户偏好的置信度评估函数,即用户对偏好的变化是对主要任务和对偶任务的推荐结果进行综合评估的结果。例如,如果一个特征在给用户的R和R’中都显示较高的比例,则为该特征分配较高的置信度,提高特征的选择概率。用户i在中对qt的偏好更新如下:
Z为活跃用户所在的用户聚类中用户的总数,w为设置的权重,上式表明,如果用户对一种特征的偏好也是其他邻居用户偏好的特征,则将该较大权重赋予用户i对应的该偏好值,否则,该偏好的权重将降低。
在实际应用中,根据当前迭代次数下的偏好向量计算任意两个待推荐任务在当前迭代次数下的项目相似度,具体为:
其中Sim(r1,r2)为两个项目r1和r2对于用户i的相似度,为两个项目对应的特征qt对于用户i的相似度,该相似度根据特征qt在用户特征偏好值中的排名、排名变化以及特征在用户的优先偏好(譬如,用户排名前10个的偏好)中联合出现的概率分布计算获得,为更新前用户i对特征qt的偏好值,为更新后用户i对特征qt的偏好值。
在实际应用中,根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群对上一次迭代次数下的项目评分矩阵进行更新得到当前迭代次数下的项目评分矩阵,具体为:
根据R和R′、以及U和U′更新对偶任务中的项目评分矩阵。
其中,为更新后的项目评分矩阵,为更新前的项目评分矩阵,α和θ为加权参数,为根据原始任务和对偶任务中的用户聚类得到的项目评分变化梯度,为根据原始任务中的R推荐得到的项目评分变化,第二部分旨在找到i的最有价值的邻居来完成和更新i的商品评级,定义为 其中,i,x∈U,i,x∈U′。为根据原始任务f和对偶任务g生成的用户集群计算用户对项目评分的函数,UMU,U′(i,x)为活跃用户i和邻居用户x之间的相似度,用户相似矩阵UM更新中,通过以下公式获得与i最相似的邻居集:
UC和UC’分别指对偶任务和原始任务中的用户群。UC∈U,UC’∈U’。UC′i和UCi分别指这两个任务中生成的i的邻居。UC′i∩UCi是用户集UC′i和UCi的交集,它表示在U和U’中都属于i集群的用户。是指在u′中与U中的i具有相同的前m个最近邻居的用户,x是满足上述三个并集的候选邻居,该公式确保了通过用户空间映射中的更新对偶任务中的即用户对项目的评分矩阵,function()为用户对项目的评分计算函数。
其中,ui和uk属于U′中的同一用户群集。rj和rk是原始任务中即R中对ui的推荐。表示rj在ui推荐列表中的排名,表示rk在ui推荐列表中的排名,是指基于特征向量的rj和rk的相似性,表示rj在U′中ui的邻居推荐列表中的排名,为原始任务的梯度函数。
在实际应用中,所述根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,具体为:
在上式中,i∈[1,N],N是用户数,diff()为评估推荐空间差异的函数,表示在R中用户i的推荐列表,表示在R’中用户i的推荐列表, 为求在和中的相同项目,用于比较和的相似性,表示对和中项目推荐顺序的评估,从项目特征的角度衡量和的相似性,采用余弦相似度计算。
Coverageclu(U,U′)是U和U′的相似性。Relationshipclu(U,U′)是用户之间的关系强度,根据U′中的相似度和U中的评分矩阵来计算关系强度,然后对这两个相似度结果进行归一化和比较,是根据用户偏好向量来计算U和U′中用户群集的相似度,采用皮尔逊系数进行计算。
在实际应用中,所述根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值,具体为:
根据公式得到第二函数值,其中,Fun2为第二函数值,minimize()为求最小值函数,loss()为损失函数,P(r,u')为用户集u′对项目集r的原始概率集,P(u,r')为用户集u对项目集r'的对偶概率集,R为原始项目推荐集合,U为原始相似用户集群,R'为对偶项目推荐集合,U'为对偶相似用户集群。loss函数对应的是概率集合之间的误差,里面的每一个参数,即P(r,u')和P(u,r')是两个任务中用户和资源的互相选择概率构成的集合。
在实际应用中,所述由目标用户与各剩余用户之间的相似度计算所述未被评分的项目的评分值,具体包括:
根据所述剩余用户中各用户与所述目标用户之间的相似度确定所述剩余用户中各用户的权值。
根据所述剩余用户中各用户对所述未评分的项目的评分和所述权值的乘积求取加权和。
根据所述加权和求所述未评分的项目的平均值,并将所述平均值确定为所述未评分的项目的评分值。
在实际应用中,所述根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表,具体为:
根据公式计算待推荐用户的最终推荐项目集合,其中Rr崐c为待推荐用户的最终推荐项目集合,Top()为取评分排名前n个项目的操作,n为指定参数,Rui为在原始项目推荐集合中推荐给用户i的项目,R'ui为在对偶项目推荐集合中推荐给用户i的项目,Rate()为根据评分取前n个项目的操作,n为指定参数,U为原始相似用户集群。Rrec从两个任务的推荐结果空间中选取,如果推荐空间对用户ui的推荐出现交集,则选取与用户之前访问项目最相似的进行推荐;如果推荐空间没有交集,则选择项目的预测评分较高的项目进行推荐。
本实施例提出的基于对偶学习的混合过滤推荐方法,通过对推荐系统“用户-项目”匹配过程的分析,发现可以将推荐系统看作用户和项目互相选择的过程,因此推荐系统可以被模拟为由两个任务组成,一个任务是基于内容的推荐过程,项目采取主动行动来找到与其匹配的目标用户,其中,若初始信息缺失,项目匹配用户的概率可以随机初始化。另一个任务是基于协同过滤的推荐,用户采取主动行为,找到其喜欢(能打高分)的项目,而且两个任务呈现对偶性。对偶性是指两个任务的输入和输出是相对的,输入输出可以相互转换,或者两个任务的结果可以相互验证。对偶学习能够利用主从结构的对称性来获取反馈或规则化的信号,实现增强学习过程,尤其是在标注训练数据极其稀缺的情况下。
首先根据用户信息生成用户聚类,并根据聚类中邻居的信息找到活跃用户的目标项目。若无邻居用户,用户选择邻居的概率可以初始化。考虑到以上两个任务的特点,本实施例提出了三种对偶策略。这三个策略分别关注:两个任务中推荐空间的一致性、两个任务中选择概率的一致性以及两个任务中用户偏好和评分矩阵的补全情况。这些对偶性策略是通过这两个任务中存在的反馈和相互作用来实现的,构建了两个任务的实时强耦合机制,使整个推荐模型具有自我完善和自我校正的潜力,进一步优化了整个推荐模型。因此,即使只有很少量的或没有历史数据,推荐系统也可以有效地工作。这样,推荐系统的适应性和有效性会得到较大程度的提高。
本实施例提出基于对偶学习理论的混合推荐方法,将推荐任务模拟为原始任务和对偶任务,并设计了两个任务基于推荐依据、推荐过程和推荐结果的对偶策略实现推荐方法的自校正和自完善。
本实施例还提供了与上述方法对应的基于对偶理论的混合过滤推荐系统,如图4所示,所述系统包括:
原始概率集确定模块A1,用于根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集。
原始集确定模块A2,用于基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群;所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合。
对偶概率集确定模块A3,用于根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集。
对偶集确定模块A4,用于基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表。
函数值确定模块A5,用于根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值。
判断模块A6,用于判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值。
第一结果确定模块A7,用于若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表。
第二结果确定模块A8,用于若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。
本实施例的优点为:
(1)将基于内容的推荐技术和基于协同过滤的推荐技术进行深度耦合,不局限于两个任务的推荐方法,具有较高的实用性和易用性,高效且有效的利用了用户历史信息和商品评分数据。
(2)对偶学习机制保证了两个任务的自调整和自改进,从而减轻了对用户历史数据或评分矩阵的依赖。
(3)用户偏好和评分矩阵通过两个任务之间的交互实时反馈进行更新。这种闭环反馈保证了整个推荐任务的准确性和有效性。
(4)对偶理论具有坚实的数学基础,本申请提出的推荐方法属于白盒理论,可被解释和优化。
(5)设计推荐结果空间的对偶策略,两个任务之间的空间映射是基于对偶学习的混合过滤推荐方法第一个重要的对偶策略。具体来说,空间映射包括原始任务中产生的用户集合与对偶任务中的用户群的对偶性,以及原始任务中产生的资源集合与对偶任务中的资源集合的对偶性。这种用户集合和资源集合之间的空间映射可以作为推荐系统的评价函数,也是用户偏好和评价矩阵补全的主要依据。推荐结果空间的对偶性是一种针对推荐结果的对偶策略。推荐结果空间的对偶性保障了推荐结果的一致性。
(6)选择概率的对偶性。在基于对偶学习的混合过滤推荐方法中,两个任务的选择概率具有强对偶性,即原始任务资源选择用户的概率和对偶任务中用户选择资源的概率。在推荐初始阶段,可用信息较少的情况下,概率值可以随机生成,随着推荐过程的进行,在其他对偶机制的辅助下,两种概率值互相校正。在理想情况下,这两个任务的选择概率分布应该是相同的。选择概率的对偶性是一种针对推荐过程的对偶策略,推荐概率的对偶性保证了推荐的可启动性,缓解了冷启动带来的问题,并保证了推荐方向的一致性。
(7)信息更新的对偶性(用户偏好和评分矩阵)。两个任务推荐依据的补全是基于对偶学习的混合过滤推荐方法的第三个对偶策略。原始任务的推荐依据是用户的偏好,通常以向量的形式表示;对偶任务中的推荐依据是用户对项目的评分矩阵或评价信息,通常以矩阵的形式表示。在基于对偶学习的混合过滤推荐方法推荐模型中,原始任务和对偶任务通过推荐过程中实时交互产生的反馈,逐步补全各自的推荐依据。这样保证了每个任务的推荐质量,进而提高推荐系统的性能。推荐依据补全的对偶性是一种基于推荐基础的对偶策略。推荐依据补全的对偶性保证了推荐算法的有效性,缓解了数据稀疏带来的问题,并保证推荐过程的性能持续提升。
(8)本实施例提出的三个对偶策略设计了两个推荐子任务的强耦合对偶策略,这些策略共同构建了整个推荐过程的闭环反馈,保证了推荐结果的有效性,也极大地保证了对偶学习推荐系统能够有效地减少对历史数据和辅助信息的依赖,具备解决数据稀疏和冷启动的能力。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于对偶理论的混合过滤推荐方法,其特征在于,包括:
根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集;
基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群;所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合;
根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集;
基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表;
根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值;
判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值;
若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表;
若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。
2.根据权利要求1所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:
获取上一次迭代次数下的项目评分矩阵;所述项目评分矩阵包括所有用户在上一迭代次数下的项目评分列表;
根据上一迭代次数下的项目评分列表,采用皮尔逊相关系数法计算任意两个所述用户之间的相似度,所有用户之间的相似度构成当前迭代次数下的用户相似性矩阵;
由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群。
3.根据权利要求1所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群,具体包括:
对于任意一个用户,按照所述用户在上一次迭代次数下的偏好向量对待推荐项目集合进行选择得到所述用户的初始项目集合;
采用分类算法,根据上一迭代次数下的项目相似度对所述初始项目集合进行分类,得到当前迭代次数下对各用户的推荐列表,从而得到原始项目推荐集合;
采用聚类算法对在当前迭代次数下的原始项目推荐集合进行聚类得到多个聚类列表集合;
将所述聚类列表集合中各推荐列表对应的用户确定为在当前迭代次数下的用户集合;所有聚类列表集合对应的用户集合为当前迭代次数下的原始相似用户集群。
4.根据权利要求2所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述由上一迭代次数下的项目评分矩阵和当前迭代次数下的用户相似性矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群,具体包括:
对于任意一个用户,采用聚类算法对当前迭代次数下的用户相似性矩阵进行聚类,得到在当前迭代次数下的多个用户集合,并确定在当前迭代次数下的多个所述用户集合为当前迭代次数下的对偶相似用户集群;
对于所述对偶相似用户集群中任意一个用户集合中的目标用户,由所述待推荐项目集合确定所述目标用户中未被评分的项目;
由目标用户与各剩余用户之间的相似度计算所述未被评分的项目的评分值;所述剩余用户为所述目标用户所属用户集合中除所述目标用户之外的用户;
由所述评分值更新所述目标用户的推荐列表,得到所述目标用户的更新后的推荐列表;所有用户的更新后的推荐列表构成对偶项目推荐集合。
5.根据权利要求1所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,具体包括:
根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合对上一次迭代次数下的偏好向量进行更新得到当前迭代次数下的偏好向量;
根据当前迭代次数下的偏好向量计算任意两个待推荐任务在当前迭代次数下的项目相似度;
根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群对上一次迭代次数下的项目评分矩阵进行更新得到当前迭代次数下的项目评分矩阵。
8.根据权利要求4所述的一种基于对偶理论的混合过滤推荐方法,其特征在于,所述由目标用户与各剩余用户之间的相似度计算所述未被评分的项目的评分值,具体包括:
根据所述剩余用户中各用户与所述目标用户之间的相似度确定所述剩余用户中各用户的权值;
根据所述剩余用户中各用户对所述未评分的项目的评分和所述权值的乘积求取加权和;
根据所述加权和求所述未评分的项目的平均值,并将所述平均值确定为所述未评分的项目的评分值。
10.一种基于对偶理论的混合过滤推荐系统,其特征在于,包括:
原始概率集确定模块,用于根据所述用户在上一迭代次数下的项目相似度、偏好向量和基于内容的推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第一选择概率,所有用户对各待推荐项目在当前迭代次数下的第一选择概率构成的集合为原始概率集;
原始集确定模块,用于基于上一迭代次数下的项目相似度和偏好向量,确定当前迭代次数下原始项目推荐集合和原始相似用户集群;所述原始项目推荐集合包括采用基于内容的推荐方法对待推荐项目集合处理得到的对各用户的推荐列表;所述原始相似用户集群是对所述原始项目推荐集合进行聚类得到的用户集合;
对偶概率集确定模块,用于根据当前迭代次数下的用户相似性矩阵、上一迭代次数下的项目评分矩阵和采用协同过滤推荐方法得到的对各用户的推荐列表计算所述用户对各待推荐项目在当前迭代次数下的第二选择概率,所述用户对各待推荐项目在当前迭代次数下的第二选择概率构成的集合为对偶概率集;
对偶集确定模块,用于基于上一迭代次数下的项目评分矩阵,确定当前迭代次数下对偶项目推荐集合和对偶相似用户集群;所述对偶相似用户集群为基于当前迭代次数下的用户相似性矩阵对所有的用户进行聚类得到的;所述对偶项目推荐集合包括基于所述对偶相似用户集群,采用协同过滤推荐方法对待推荐项目集合处理得到对各用户的推荐列表;
函数值确定模块,用于根据当前迭代次数下的所述原始项目推荐集合、所述对偶项目推荐集合、所述原始相似用户集群和所述对偶相似用户集群得到第一函数值,根据当前迭代次数下的所述原始概率集和所述对偶概率集得到第二函数值;
判断模块,用于判断所述第一函数值是否小于第一预设阈值且所述第二函数值是否小于第二预设阈值;
第一结果确定模块,用于若是,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合得到各目标用户的最终推荐列表;
第二结果确定模块,用于若否,则根据当前迭代次数下的所述原始项目推荐集合和所述对偶项目推荐集合更新偏好向量、项目相似度和项目评分矩阵得到当前迭代次数下的偏好向量、项目相似度和项目评分矩阵,并进行下次迭代。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552499.7A CN113221003B (zh) | 2021-05-20 | 2021-05-20 | 一种基于对偶理论的混合过滤推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552499.7A CN113221003B (zh) | 2021-05-20 | 2021-05-20 | 一种基于对偶理论的混合过滤推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221003A true CN113221003A (zh) | 2021-08-06 |
CN113221003B CN113221003B (zh) | 2023-05-02 |
Family
ID=77093364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110552499.7A Active CN113221003B (zh) | 2021-05-20 | 2021-05-20 | 一种基于对偶理论的混合过滤推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221003B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807977A (zh) * | 2021-09-02 | 2021-12-17 | 北京建筑大学 | 基于动态知识图谱的托攻击检测方法、系统、设备及介质 |
US11869015B1 (en) | 2022-12-09 | 2024-01-09 | Northern Trust Corporation | Computing technologies for benchmarking |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632290A (zh) * | 2013-12-02 | 2014-03-12 | 合肥工业大学 | 一种基于推荐概率融合的混合推荐方法 |
CN108563690A (zh) * | 2018-03-15 | 2018-09-21 | 中山大学 | 一种基于面向对象聚类的协同过滤推荐方法 |
CN109190023A (zh) * | 2018-08-15 | 2019-01-11 | 深圳信息职业技术学院 | 协同推荐的方法、装置及终端设备 |
CN109241442A (zh) * | 2018-10-10 | 2019-01-18 | 南京邮电大学 | 基于预测值填充的项目推荐方法、可读存储介质和终端 |
CN109783734A (zh) * | 2019-01-17 | 2019-05-21 | 湖南大学 | 一种基于项目属性的混合协同过滤推荐算法 |
CN109902131A (zh) * | 2019-02-01 | 2019-06-18 | 中森云链(成都)科技有限责任公司 | 一种基于对偶自编码器的组推荐方法 |
CN109918562A (zh) * | 2019-01-18 | 2019-06-21 | 重庆邮电大学 | 一种基于用户社区和评分联合社区的推荐方法 |
CN110069713A (zh) * | 2019-04-24 | 2019-07-30 | 南京邮电大学 | 一种基于用户上下文感知的个性化推荐方法 |
CN110162709A (zh) * | 2019-05-24 | 2019-08-23 | 中森云链(成都)科技有限责任公司 | 一种结合对偶对抗生成网络的鲁棒的个性化排名方法 |
CN110399549A (zh) * | 2018-04-24 | 2019-11-01 | 河南理工大学 | 一种面向用户兴趣调和相似度的协同过滤方法 |
CN112100512A (zh) * | 2020-04-10 | 2020-12-18 | 南京邮电大学 | 一种基于用户聚类和项目关联分析的协同过滤推荐方法 |
-
2021
- 2021-05-20 CN CN202110552499.7A patent/CN113221003B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632290A (zh) * | 2013-12-02 | 2014-03-12 | 合肥工业大学 | 一种基于推荐概率融合的混合推荐方法 |
CN108563690A (zh) * | 2018-03-15 | 2018-09-21 | 中山大学 | 一种基于面向对象聚类的协同过滤推荐方法 |
CN110399549A (zh) * | 2018-04-24 | 2019-11-01 | 河南理工大学 | 一种面向用户兴趣调和相似度的协同过滤方法 |
CN109190023A (zh) * | 2018-08-15 | 2019-01-11 | 深圳信息职业技术学院 | 协同推荐的方法、装置及终端设备 |
CN109241442A (zh) * | 2018-10-10 | 2019-01-18 | 南京邮电大学 | 基于预测值填充的项目推荐方法、可读存储介质和终端 |
CN109783734A (zh) * | 2019-01-17 | 2019-05-21 | 湖南大学 | 一种基于项目属性的混合协同过滤推荐算法 |
CN109918562A (zh) * | 2019-01-18 | 2019-06-21 | 重庆邮电大学 | 一种基于用户社区和评分联合社区的推荐方法 |
CN109902131A (zh) * | 2019-02-01 | 2019-06-18 | 中森云链(成都)科技有限责任公司 | 一种基于对偶自编码器的组推荐方法 |
CN110069713A (zh) * | 2019-04-24 | 2019-07-30 | 南京邮电大学 | 一种基于用户上下文感知的个性化推荐方法 |
CN110162709A (zh) * | 2019-05-24 | 2019-08-23 | 中森云链(成都)科技有限责任公司 | 一种结合对偶对抗生成网络的鲁棒的个性化排名方法 |
CN112100512A (zh) * | 2020-04-10 | 2020-12-18 | 南京邮电大学 | 一种基于用户聚类和项目关联分析的协同过滤推荐方法 |
Non-Patent Citations (3)
Title |
---|
LINQI SONG等: "Online Learning in Large-Scale Contextural Recommender Systems" * |
SHANSHAN WAN等: "A Hybrid E-learning Recommendation Approach Based on Learners\' Influence Propagation" * |
孙辉等: "一种相似度改进的用户聚类协同过滤推荐算法" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807977A (zh) * | 2021-09-02 | 2021-12-17 | 北京建筑大学 | 基于动态知识图谱的托攻击检测方法、系统、设备及介质 |
US11869015B1 (en) | 2022-12-09 | 2024-01-09 | Northern Trust Corporation | Computing technologies for benchmarking |
Also Published As
Publication number | Publication date |
---|---|
CN113221003B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aggarwal et al. | Neighborhood-based collaborative filtering | |
Qiu et al. | Predicting customer purchase behavior in the e-commerce context | |
Salehi et al. | Hybrid attribute-based recommender system for learning material using genetic algorithm and a multidimensional information model | |
Hamedani et al. | Recommending the long tail items through personalized diversification | |
CN108665323B (zh) | 一种用于理财产品推荐系统的集成方法 | |
CN107833117B (zh) | 一种考虑标签信息的贝叶斯个性化排序推荐方法 | |
Hu et al. | Movie collaborative filtering with multiplex implicit feedbacks | |
CN107545471B (zh) | 一种基于高斯混合的大数据智能推荐方法 | |
Sinha et al. | Evolution of recommender paradigm optimization over time | |
CN113221003A (zh) | 一种基于对偶理论的混合过滤推荐方法及系统 | |
Pujahari et al. | Preference relation based collaborative filtering with graph aggregation for group recommender system | |
Hu et al. | Learning peer recommendation using attention-driven CNN with interaction tripartite graph | |
Zhu et al. | Age estimation algorithm of facial images based on multi-label sorting | |
CN112131261A (zh) | 基于社区网络的社区查询方法、装置和计算机设备 | |
Chen et al. | A fuzzy matrix factor recommendation method with forgetting function and user features | |
Zhang et al. | Reliable Negative Extracting Based on kNN for Learning from Positive and Unlabeled Examples. | |
Yuen et al. | An online-updating algorithm on probabilistic matrix factorization with active learning for task recommendation in crowdsourcing systems | |
Fareed et al. | A collaborative filtering recommendation framework utilizing social networks | |
Yazdi et al. | Improving recommender systems accuracy in social networks using popularity | |
CN110795640A (zh) | 一种弥补群组成员差异的自适应组推荐方法 | |
George et al. | Hy-MOM: Hybrid recommender system framework using memory-based and model-based collaborative filtering framework | |
CN115631008B (zh) | 商品推荐方法、装置、设备及介质 | |
Kashani et al. | Improvement of non-negative matrix-factorization-based and Trust-based approach to collaborative filtering for recommender systems | |
Duan et al. | A hybrid recommendation system based on fuzzy c-means clustering and supervised learning | |
Wang et al. | MCCP: multi-modal fashion compatibility and conditional preference model for personalized clothing recommendation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |