一种推荐方法及系统技术方案

技术编号:14487723 阅读:98 留言:0更新日期:2017-01-28 19:40
本发明专利技术实施例公开了一种推荐方法及系统,应用于云计算技术领域,所述方法包括:获取数据源,根据多个用户中的至少一个用户对多个项目的评价信息,分析多个项目的每个属性的潜在因子,确定用户子属性偏好和用户子属性评分,并存入数据源;根据用户子属性偏好、用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数;对推荐分数按照从大到小进行排序,选取前N个项目给用户进行本轮推荐,根据用户对前N个项目的反馈信息;确定本轮推荐之后进行下一轮推荐时,以网页的方式提供人机交互接口,推荐前M个项目给用户。与现有的推荐系统相比,本发明专利技术实施例获取的推荐结果多样性好、精确性高和可解释性强。

【技术实现步骤摘要】

本专利技术涉及云计算
,特别涉及一种推荐方法及系统
技术介绍
随着互联网的迅速发展,接入网络的服务器和网页的数目呈现指数增长的态势,与此相关的网上信息也大幅增长,用户在面对大量信息中难以获取到真正有用的信息,对信息的使用效率反而降低,导致信息超载的问题。目前,针对信息超载的解决方法之一是个性化推荐系统。根据用户的信息需求和兴趣等,将用户感兴趣的信息和产品等推荐给用户,通过研究用户的兴趣偏好,进行个性计算,由系统发现用户的兴趣点,从而引导用户发现自己的信息需求。一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系,让用户对推荐产生依赖,而现有的推荐系统多样性和精确性差、可解释性弱,对信息的利用率低。
技术实现思路
本专利技术实施例的目的在于提供一种推荐方法及系统,能够得到更加多样的、精确性更高的和可解释性更强的推荐结果,提高信息的利用率。为达到上述目的,本专利技术实施例公开了一种推荐方法,包括:获取数据源,其中,所述数据源包括:多个用户的用户信息、每个用户的多个项目的项目信息和每个用户对多个项目的评价信息;根据所述多个用户中的至少一个用户对多个项目的评价信息,分析所述多个项目的每个属性的潜在因子,确定用户子属性偏好和用户子属性评分,并存入所述数据源,其中,所述用户的多个项目对应多个属性,每个属性对应多个子属性;根据所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数;对所述推荐分数按照从大到小进行排序,选取前N个项目给所述用户进行本轮推荐,其中,所述N为大于或等于1的整数;接收由所述用户针对所述前N个项目返回的用户反馈信息;根据所述用户反馈信息,确定所述本轮推荐之后进行下一轮推荐时,以网页的方式提供人机交互接口,推荐前M个项目给所述用户,其中,所述M为大于或等于1的整数。较佳的,所述根据所述多个用户中的至少一个用户对多个项目的评价信息,分析所述多个项目的每个属性的潜在因子,确定用户子属性偏好和用户子属性评分,并存入所述数据源,包括:获取并根据所述多个用户中的至少一个用户对多个项目的评价信息,建立初始矩阵;通过潜在因子算法对所述初始矩阵进行奇异值分解,确定所述用户子属性偏好和所述用户子属性评分,并存入所述数据源。较佳的,所述根据所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数,包括:通过最小角回归算法分析所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数。较佳的,所述选取前N个项目给所述用户进行本轮推荐,包括:在所述用户的数目大于1时,通过Node.js高并发技术,处理多个用户的推荐请求;根据所述多个用户的推荐请求中的项目内容,分别选取与所述项目内容对应的前第一数量个项目给所述多个用户进行本轮推荐,其中,所述第一数量与所述N相同或不同。较佳的,所述以网页的方式提供人机交互接口,推荐前M个项目给所述用户,包括:通过第五代超文本标记语言为核心的网页技术提供可视化的人机交互接口,推荐所述前M个项目给所述用户。较佳的,所述以网页的方式提供人机交互接口,推荐前M个项目给所述用户,包括:以网页的方式提供人机交互接口,显示所述前M个项目及所述前M个项目对应的预设推荐理由给所述用户。较佳的,所述根据所述用户反馈信息,确定所述本轮推荐之后进行下一轮推荐,包括:所述用户对所述前N个项目的采样率低于预设值时,或所述用户对所述前N个项目的满意度未达到平均值时,进行下一轮推荐。本专利技术实施例还公开了一种推荐系统,包括:数据源模块,用于获取数据源,其中,所述数据源包括:多个用户的用户信息、每个用户的多个项目的项目信息和每个用户对多个项目的评价信息;推荐引擎训练模块,用于根据所述多个用户中的至少一个用户对多个项目的评价信息,分析所述多个项目的每个属性的潜在因子,确定用户子属性偏好和用户子属性评分,并存入所述数据源,其中,所述用户的多个项目对应多个属性,每个属性对应多个子属性;推荐引擎推荐模块,用于根据所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数;推荐结果处理模块,用于对所述推荐分数按照从大到小进行排序,选取前N个项目给所述用户进行本轮推荐,其中,所述N为大于或等于1的整数;用户反馈模块,用于接收由所述用户针对所述前N个项目返回的用户反馈信息;推荐结果显示模块,用于根据所述用户反馈信息,确定所述本轮推荐之后进行下一轮推荐时,以网页的方式提供人机交互接口,推荐前M个项目给所述用户,其中,所述M为大于或等于1的整数。较佳的,所述推荐引擎训练模块包括:初始矩阵获取子模块,用于获取并根据所述多个用户中的至少一个用户对多个项目的评价信息,建立初始矩阵;数据存储子模块,用于通过潜在因子算法对所述初始矩阵进行奇异值分解,确定所述用户子属性偏好和所述用户子属性评分,并存入所述数据源。较佳的,所述推荐引擎推荐模块进一步用于,通过最小角回归算法分析所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数。由上述的技术方案可见,本专利技术实施例提供的推荐方法及系统,通过获取数据源,根据用户对多个项目的评价信息,确定用户子属性偏好和用户子属性评分,并根据用户属性偏好和用户当前状态,确定项目的推荐分数。对推荐分数按照从大到小进行排序,选取前N个项目推荐给用户。确定本轮推荐之后进行下一轮推荐时,以网页的方式提供人机交互接口,推荐前M个项目给用户。应用本专利技术实施例获取的推荐结果更具有多样性、精确性更高和可解释性更强。当然,实施本专利技术的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例的推荐方法的流程图;图2为本专利技术实施例的评分、属性和潜在因子的关系示意图;图3为本专利技术实施例的推荐系统的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术作进一步的详细描述。参见图1,图1为本专利技术实施例的推荐方法的流程图,包括以下步骤:步骤101,获取数据源,其中,数据源包括:多个用户的用户信息、每个用户的多个项目的项目信息和每个用户对多个项目的评价信息。本专利技术实施例中,数据源以关系型数据库MySQL为基础,将用户信息存为用户User表,项目信息存为项目Item表,评价信息存为评价Rating表。用户信息至少可以包括:昵称、性别和年龄等;项目信息至少可以包括:名称、均价和位置等;评价信息至少可以包括:每个用户对多个项目信息的每个属性的评价信息。步骤102,根据多个用户中的至少一个用户对多个项目的评价信息,分析多个项目的每个本文档来自技高网...
一种推荐方法及系统

【技术保护点】
一种推荐方法,其特征在于,包括:获取数据源,其中,所述数据源包括:多个用户的用户信息、每个用户的多个项目的项目信息和每个用户对多个项目的评价信息;根据所述多个用户中的至少一个用户对多个项目的评价信息,分析所述多个项目的每个属性的潜在因子,确定用户子属性偏好和用户子属性评分,并存入所述数据源,其中,所述用户的多个项目对应多个属性,每个属性对应多个子属性;根据所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数;对所述推荐分数按照从大到小进行排序,选取前N个项目给所述用户进行本轮推荐,其中,所述N为大于或等于1的整数;接收由所述用户针对所述前N个项目返回的用户反馈信息;根据所述用户反馈信息,确定所述本轮推荐之后进行下一轮推荐时,以网页的方式提供人机交互接口,推荐前M个项目给所述用户,其中,所述M为大于或等于1的整数。

【技术特征摘要】
1.一种推荐方法,其特征在于,包括:获取数据源,其中,所述数据源包括:多个用户的用户信息、每个用户的多个项目的项目信息和每个用户对多个项目的评价信息;根据所述多个用户中的至少一个用户对多个项目的评价信息,分析所述多个项目的每个属性的潜在因子,确定用户子属性偏好和用户子属性评分,并存入所述数据源,其中,所述用户的多个项目对应多个属性,每个属性对应多个子属性;根据所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数;对所述推荐分数按照从大到小进行排序,选取前N个项目给所述用户进行本轮推荐,其中,所述N为大于或等于1的整数;接收由所述用户针对所述前N个项目返回的用户反馈信息;根据所述用户反馈信息,确定所述本轮推荐之后进行下一轮推荐时,以网页的方式提供人机交互接口,推荐前M个项目给所述用户,其中,所述M为大于或等于1的整数。2.根据权利要求1所述的推荐方法,其特征在于,所述根据所述多个用户中的至少一个用户对多个项目的评价信息,分析所述多个项目的每个属性的潜在因子,确定用户子属性偏好和用户子属性评分,并存入所述数据源,包括:获取并根据所述多个用户中的至少一个用户对多个项目的评价信息,建立初始矩阵;通过潜在因子算法对所述初始矩阵进行奇异值分解,确定所述用户子属性偏好和所述用户子属性评分,并存入所述数据源。3.根据权利要求1所述的推荐方法,其特征在于,所述根据所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数,包括:通过最小角回归算法分析所述用户子属性偏好、所述用户子属性评分、用户属性偏好和用户当前状态,确定项目的推荐分数。4.根据权利要求1所述的推荐方法,其特征在于,所述选取前N个项目给所述用户进行本轮推荐,包括:在所述用户的数目大于1时,通过Node.js高并发技术,处理多个用户的推荐请求;根据所述多个用户的推荐请求中的项目内容,分别选取与所述项目内容对应的前第一数量个项目给所述多个用户进行本轮推荐,其中,所述第一数量与所述N相同或不同。5.根据权利要求1所述的推荐方法,其特征在于,所述以网页的方式提供人机交互接口,推荐前M个项目给所述用户,包括:通过第五代超文本标记语言为核心...

【专利技术属性】
技术研发人员:李小勇董佳礼
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京;11

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

1