[发明专利]基于用户的协同过滤的并行实现方法及系统有效
| 申请号: | 201410808451.8 | 申请日: | 2014-12-22 |
| 公开(公告)号: | CN104572880B | 公开(公告)日: | 2018-03-02 |
| 发明(设计)人: | 宋晨;罗熙;杨婧;徐震;王远 | 申请(专利权)人: | 中国科学院信息工程研究所 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 余长江 |
| 地址: | 100093 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 用户 协同 过滤 并行 实现 方法 系统 | ||
技术领域
本发明涉及计算机领域。具体来说,涉及到基于用户的协同过滤的并行实现方法及系统。
背景技术
协同过滤是构建推荐系统常用的一种方法,与传统的基于内容过滤直接分析内容进行推荐的系统不同,协同过滤将所有用户对于某一信息的评价综合在一起,基于推荐目标在用户群中查找与其相似的用户,最终形成系统对该指定用户对此信息的喜好程度预测。协同过滤目前在商业应用中使用广泛,亚马逊、CDNow、MovieFinder等系统均采用了该方法来提应用的服务质量。
协同过滤分为两种类型:基于物品的协同过滤和基于用户的协同过滤。基于物品的协同过滤通过用户对不同物品的评分来评测物品之间的相似性,基于物品之间的相似性做出推荐;基于用户的协同过滤通过不同用户对物品的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。目前与协同过滤相关的专利分为两种类型:第一,应用传统基于物品的协同过滤方法或者基于用户的协同过滤方法进行推荐系统的构建;第二,为解决大量物品或者大量用户所带来的计算效率问题对基于物品的协同过滤方法或者基于用户的协同过滤方法做出改进。如专利申请号为200810216517.9的发明专利申请,该系统直接使用基于用户的协同过滤方法进行项目推荐系统的构建。如专利申请号为200910080946.2的发明专利申请,该系统使用基于用户的协同过滤算法以及关联规则算法完成商品推荐系统的实现。如专利申请号为201210568662.4的发明专利申请,提出了一种改进的基于物品的协同过滤方法,其主要思想是通过hadoop并行计算过程将物品进行聚类,以减少物品的类别,从而提高推荐效率。如专利申请号为200310109063.2的发明专利申请,提出了一种处理超大规模用户的协同过滤推荐方法,该方法将分布式哈希表路由算法引入协同过滤系统中,解决了集中式协同过滤系统的扩展问题,并提高了推荐质量。
随着物品数量以及用户数量的不断增加,目前协同过滤算法主要面临效率问题,由于现有推荐系统中物品数量相对固定,大多数应用网站倾向于使用基于物品的协同过滤方法来规避这一问题,但是该方法只能反映物品之间的关系,未考虑用户之间的相似性,因此该方法对于面向特定用户群体的应用存在很强的局限性。已有专利也考虑了使用分布式哈希表路由算法改进基于用户的协同过滤的效率,该方法要求每个客户端运行一个代理程序,并且用户只保留自身对于项目的评分结果,其优势在于客户端只取与自身评价项目集合有交集信息,从而减少了该用户自身的计算量,但是该方法只是用减少计算对象规避了计算量的问题,并没有从根本上解决该问题,而且该方法需要确保所有客户端代理均在线并且可连通才能够得到准确的推荐结果。
综上分析可知,需要一种新的思路从根本上解决面向海量用户的协同过滤算法存在的效率问题。
发明内容
有鉴于此,本发明提出了一种基于用户的协同过滤的并行实现方法及系统,该方案不需要运行客户端代理,能够对所有用户产生的结果进行并行分析,有效地提高了算法效率。
本发明的目的之一是提出一种基于用户的协同过滤的并行实现方法,其步骤包括:
1)采用分布式文件系统分块保存待进行计算的数据文件;
2)分布式文件系统中的每个文件服务器对存储于其上的数据进行三个步骤的操作,分别为数据规范化处理、用户相似度计算以及推荐物品计算,其中:
所述数据规范化处理将数据整理成可并行处理的形式;
所述用户相似度计算以及所述推荐物品计算,均首先在文件存储的服务器中进行数据整理、同一文件系统数据归并操作,接着将处理结果的键值对发送给中心节点,由中心节点按照主键计算出每个主键需要归并的节点,最后进行跨存储节点的数据归并操作,从而得到用户的最终推荐结果。
进一步地,所述数据规范化处理,是按照用户、物品、评分三元组的方式将数据进行整理。
进一步地,所述用户相似度计算首先进行物品评分数据计算,然后以物品评分数据作为衡量用户之间相似程度的指标,通过距离计算方法得到用户相似矩阵。
进一步地,所述物品评分数据计算的步骤为:
a)读取本地存储文件块的用户、物品、评分三元组数据;
b)启动本地归并过程,提取物品编号作为主键,用户与评分作为值,将本地存储中具有相同物品主键的数据按照物品,用户、评分序列对的格式进行归并;
c)归并结果发送给中心节点,中心节点依据主键分配跨存储归并节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410808451.8/2.html,转载请声明来源钻瓜专利网。





