[发明专利]面向流式数据的分布式在线推荐方法有效
申请号: | 201410089697.4 | 申请日: | 2014-03-12 |
公开(公告)号: | CN103886047B | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 张寅;边科;王东辉;魏宝刚 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 杭州求是专利事务所有限公司33200 | 代理人: | 张法高 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 数据 分布式 在线 推荐 方法 | ||
技术领域
本发明涉及计算机推荐系统,尤其涉及一种面向流式数据的分布式在线推荐方法。
背景技术
随着互联网的飞速发展,各种信息正在爆炸性增长,从而导致“信息过载”的出现,针对这一问题,个性化推荐系统应运而生。个性化推荐系统能够为用户提供很好的决策支持和个性化服务。
协同过滤算法通过数据挖掘和机器学习等方法,根据拥有相似兴趣或行为用户群的喜好为某一用户推荐他感兴趣的东西。ACM在1994年(ACM,1994:175–186)公布了基于用户的协同过滤算法,它找到那些具有相似兴趣的用户,综合这些相似用户对其他物品的行为记录,计算某一用户对物品的喜好程度。World Wide Web在2001年(the10th international conference on World Wide Web.ACM,2001:285–295)公布了一种基于物品的协同过滤推荐算法,它通过建立用户物品倒排表找到所有被相同用户点击过的物品,计算这些物品之间的相似度,根据物品之间的相似度和用户的行为记录就能得到推荐列表。WebKDD在2000年(the ACM WebKDD2000Web Mining for E-Commerce Workshop,Boston,MA,2000)公布了一种通过奇异值分解的方法进行矩阵分解,对用户物品得分矩阵降维处理,增加数据稠密度,预测用户对物品的感兴趣程度。NIPS在2012年(NIPS,2012:1232-1243)公布了一种分布式随即梯度下降算法,它把训练数据被分成多份,每份训练数据由一个模型训练集群复本来处理,模型的参数统一存储在一系列参数服务器上,每台模型训练服务器只需要访问少量的参数服务器来存取它所负责的模型分区所需的部分参数。
发明内容
本发明的目的是为克服上述现有方法推荐延时性强,计算性能较低等缺点,提供一种实时性强、计算性能高的面向流式数据的分布式在线推荐方法。
面向流式数据的分布式在线推荐方法包括以下步骤:
1)构建分布式计算框架,分布式计算框架包括矩阵分解模块和推荐结果处理模块,矩阵分解模块由若干工作单元组成,其中每个工作单元对应用户行为数据矩阵中的一组数据块;
2)接收用户行为数据并将用户行为数据发送到对应的工作单元,根据该用户的推荐反馈,生成负样本,即用户可能不感兴趣的物品,被推荐的物品中用户没用对其产生行为的有较大概率被选中为负样本;
3)采用分布式随机梯度下降算法,对用户行为数据以及负样本数据进行矩阵分解训练,并保存新的训练结果;
4)采用协同过滤的方法,利用用户行为数据离线计算物品相似度,并定时更新物品相似度数据;
5)对于某个用户,利用物品相似度计算该用户最近感兴趣物品的相似物品集合,把该集合与该用户的原推荐列表集合的并集作为用户的候选推荐集合,并根据步骤3)中的矩阵分解训练结果计算该用户对候选推荐集合中所有物品的预测得分,对得分排序,得到该用户的推荐列表;
6)返回推荐列表,把推荐列表中的物品推荐给用户。
所述的步骤1)为:构建分布式计算框架,分布式计算框架包括矩阵分解模块和推荐结果处理模块,矩阵分解模块接收用户行为数据,根据用户行为数据得到分解矩阵,矩阵分解模块包含一个数据源节点负责获取用户行为数据,一个主节点负责数据分发与任务管理,若干个工作节点负责随机梯度下降运算进行矩阵分解,若干数据节点负责存储分解矩阵数据,推荐结果处理模块包含一个请求节点负责接收推荐请求获取候选集合,一个排序计算节点负责对候选集合进行排序并得到最终的推荐列表。
所述的步骤2)为:接收用户行为数据并将用户行为数据发送到对应的工作单元,根据该用户的推荐反馈,生成负样本,即用户可能不感兴趣的物品,被推荐的物品中用户没用对其产生行为的有较大概率被选中为负样本,假设所有物品的数量为n,推荐反馈中未被该用户接受的物品有m个,它们被选中的概率是普通物品的a倍,a为大于1的整数,选取负样本时在1到n+(a-1)m之间产生随机数x,从小到大扫描推荐反馈中未被该用户接受的物品,每有一个未被该用户接受的物品,则x减去a-1,直到物品编号大于x,此时编号为x的物品被选为负样本。
所述的步骤3)为:工作节点接收任务请求后,向数据节点请求对应的用户分解向量数据和物品分解向量数据,并根据这些数据按递推公式对用户分解向量和物品分解向量进行更新,递推公示如下所示:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410089697.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于胶带硫化机上的水压板
- 下一篇:一种车轮转角测定装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置