一种基于聚类的流式推荐引擎、推荐系统以及推荐方法

文档序号:9844162阅读:709来源:国知局
一种基于聚类的流式推荐引擎、推荐系统以及推荐方法
【技术领域】
[0001] 本发明涉及网络数据分析处理技术,具体涉及一种数据信息的推荐技术。
【背景技术】
[0002] 目前,业界针对个性化推荐技术的研究主要有基于协同过滤,基于矩阵分解两类 方法,而对于增量式的推荐技术主要是基于增量式的矩阵计算的方法。针对现有的个性化 推荐系统,存在不足之处,具体如下:
[0003] 基于协同过滤的算法,主要通过对数据集进行分析计算出有相似偏好的用户,和 相似的物品。而基于矩阵分解的算法,主要是通过矩阵分解提取出用户的隐形偏好,通过对 偏好矩阵的迭代计算来得到最终矩阵的。这两种方法的优点在于计算的可靠性已经经过了 大量实验论证,但缺点是适用于离线计算,不适用于在大规模实时数据集下进行流式计算。
[0004] 对于增量式的矩阵计算的方法,主要通过增量矩阵计算的方式,构建增量式目标 矩阵。该方法的缺点是,所计算的增量矩阵难以准确概括用户间关联关系。
[0005] 在大数据膨胀的环境下,提供一种能够在保证不影响推荐准确率的同时,保证在 线推荐的实时性的适应个性化推荐方案,是本领域亟需解决的技术问题。

【发明内容】

[0006] 针对现有对个性化推荐技术在实时性和准确率上所存在的问题,本发明的主要目 的如下:
[0007] 目的1:提供一种具有在线实时性和高准确性的推荐引擎;
[0008] 目的2:提供一种基于上述推荐引擎实现的推荐系统;
[0009] 目的3:提供一种基于上述推荐引擎实施的推荐方法。
[0010] 为了达到上述目的,本发明采用如下的技术方案:
[0011] 针对目的1:提供一种基于聚类的流式推荐引擎,该推荐引擎主要包括:
[0012] 离线训练模型,所述离线训练模型从持久数据源中训练出初始聚类模型和用户关 联模型,并将初始聚类模型和用户关联模型写入到文件系统中;
[0013] 增量训练模型,所述增量训练模型从文件系统中加载初始聚类模型和用户关联模 型,据此加载流式数据对聚类模型进行增量训练,产生增量式聚类模型;
[0014] 在线推荐模块,所示在线推荐模炔基于增量式聚类模型和用户关联模型进行实时 现在推荐。
[0015] 优选的,所述流式推荐引擎的架构包括离线计算层和实时计算层,流式推荐引擎 中的离线训练模型运行在整个推荐引擎架构的离线计算层,增量训练模型和在线推荐模块 运行在整个推荐引擎架构的实时计算层。
[0016] 优选的,在离线计算层中,首先将持久化数据源中的数据进行抽取、转换、并加载 到离线训练模块中;接着由离线训练模炔基于设定的聚类模型训练出初始聚类模型和用户 关联模型;最后将聚类模型和用户关联模型序列化写到文件系统中。
[0017] 优选的,在实时计算层中,首先由增量训练模块从文件系统中加载初始聚类模型 和用户关联模型;接着,接收流式数据源的数据,进行转换加载到增量训练模块中;再者,增 量训练模块批量加载流式数据,并进行增量训练聚类模型;最后,由在线推荐模块根据用户 和物品匹配到所对应的聚类,进行实时推荐。
[0018] 针对目的2: -种基于聚类的流式推荐系统,所述推荐系统的架构包括离线系统、 实时系统以及在线系统,该推荐系统还包括上述的基于聚类的流式推荐引擎,所述的流式 推荐引擎运行在推荐系统的系统架构中。
[0019] 优选的,所述的基于聚类的流式推荐引擎中的离线训练模型运行在推荐系统架构 中的离线系统中,而增量训练模型和在线推荐模块运行在推荐系统架构中的实时系统中; 而在推荐系统架构中的离线系统与实时系统之间通过推荐系统的文件系统来完成数据交 换。
[0020] 针对目的3,一种基于聚类的流式推荐方法,该推荐方法通过构建增量式的聚类, 再根据各聚类内部的关联关系产生实时推荐。
[0021 ]优选的,所述流式推荐方法包括如下步骤:
[0022] 1)初始化离线聚类模型:对已有的大规模数据集,进行聚类分析,产生聚类模型;
[0023] 2)初始化离线用户关联模型:对已有的大规模数据集,进行关联分析,产生用户关 联丰吴型;
[0024] 3)构建在线推荐模型:对外部系统提供在线调用接口服务;并构建实时转发系统, 实时地将外部接口的调用转发给增量式聚类模型;
[0025] 4)构建增量式聚类模型:基于流式数据对聚类模型进行增量训练,产生增量式聚 类模型;
[0026] 5)在增量式聚类模型下,根据各聚类内部的关联关系产生实时推荐结果。
[0027] 优选的,所述步骤1)中聚类模型具体通过如下步骤形成:
[0028] (11)将每个用户和商品,根据它曾打过或被打过的标签,生成多维度的向量,最终 产生了全量的用户和商品的向量集;
[0029] (12)从步骤(11)产生的多维度的向量集中随机选择k个点作为初始聚类中心;
[0030] (13)对于数据集中的每一个点X,计算它与选择的聚类中心的距离D(x);
[0031] (14)选择一个新的数据点作为新的聚类中心;
[0032] (15)重复步骤(13)和(14)直到k个聚类中心被选出来;
[0033 ] (16)利用这k个初始的聚类中心来运行标准的k-means算法。
[0034]优选的,所述步骤2)中通过局部敏感哈希的方法计算出用户相似度矩阵由此来构 成用户关联模型,具体步骤如下:
[0035] (21)使用Box-Mu 11 er方法产生k个随机向量;
[0036] (22)将每个用户的单位稀疏向量与这些随机向量做乘积,根据正负结果得到相对 的比特位;
[0037] (23)将每个用户的k个比特位分成t个块,每个块有b位比特位;如果同一个块中的 比特位相同,就把这些用户放到一个候选桶里;其中,每个候选桶中存放相似的用户;
[0038] (24)每个候选桶的用户都相互为候选项,通过将每个候选桶内的相似用户做全排 列,求出全相似对;
[0039] (25)对候选桶内的伪候选对,根据用户设置的最小相似度阈值进行过滤。
[0040] 优选的,所述步骤4)中在构建增量式聚类模型时,基于腐蚀因子更新聚类中心与 聚类模型进行,其聚类中心的更新公式如下:
[0041 ]
(1)
[0042] nt+i = nt+mt (2)
[0043] 其中,Ct表示前一个模型的聚类中心,Nt表示聚类节点个数,Xt表示新提交的批数 据的聚类中心,M t表示加入聚类的批数据的节点个数,a表示之前数据的腐蚀系数。
[0044] 本发明提供的基于聚类的流式推荐方案,其有效结合聚类结构和协同过滤方法的 优点,能够在保证推荐准确率的同时,提高推荐结果的领域特性与关联特性,提高推荐准确 性。
【附图说明】
[0045] 以下结合附图和【具体实施方式】来进一步说明本发明。
[0046] 图1为基于聚类的流式推荐引擎的架构图;
[0047] 图2为基于聚类的流式推荐引擎的离线计算的流程图;
[0048] 图3为基于聚类的流式推荐引擎的实时计算模块的流程图;
[0049] 图4为基于离线-在线-实时构架的推荐系统的架构图;
[0050] 图5为基于聚类的流式推荐的总流程图;
[0051 ]图6为基于聚类的流式推荐时的离线聚类算法的流程图;
[0052] 图7为基于聚类的流式推荐时的离线用户关联模型算法的流程图。
【具体实施方式】
[0053] 为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结 合具体图示,进一步阐述本发明。
[0054] 参见图1,其所示为本实施例中提供的基于聚类的流式推荐引擎的架构图。
[0055] 该推荐引擎其通过构建一个增量式的聚类,利用基于聚类结构的推荐算法来进行 个性化推荐。由图可知,本推荐引擎的系统架构分为离线计算层109和实时计算层110,并且 主要由离线训练模型101、增量训练模型102以及在线推荐模块103三部分相配合。
[0056]其中,离线训练模型101,其运行在推荐引擎的离线计算层109中,通过数据ETL模 块104从持久化数据源(如HBase)106中,进行数据抽取、转换、加载,并据此进行离线训练
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1