一种用于广域网络的深度强化学习推荐系统及方法与流程

文档序号:12819357阅读:224来源:国知局
一种用于广域网络的深度强化学习推荐系统及方法与流程

本发明涉及分布式数据处理方法和学习推荐系统,特别涉及一种用于广域网络的深度强化学习推荐系统及方法。



背景技术:

随着物联网、云计算、智能家居等技术的高速发展,多形态的传感器、终端设备和智能系统产生了大规模的广域分布式数据,比如用户行为、图像文字、音视频等,分布于整个网络空间中的不同位置上,这些数据可以用于提高预测、推荐和服务的综合性能。随着这些数据量迅速增长,迫切需要研究对广域分布式大数据的高效处理技术,以支持大数据分析及其应用。对于高精度和高速度的机器学习模型来说,训练数据和模型参数的规模都有可能会大到单机无法存储和处理。当数据量大到不能在单机上存储时,必须采用分布式存储方法,而当模型大到不能在单机上训练时,必须采用分布式的训练模型。作为一种大数据存储及处理的最新技术,hadoop大数据处理平台难以达到秒级及以下的响应延迟,也就难以有效地满足广域分布式数据的实时或即时处理。究其原因,该技术的大部分资源都浪费在计算机集群之间的数据通信上,而只有改善通信代价这一瓶颈,才能提高广域分布式大数据处理的精度和速度。

以推荐系统为例,当前商业领域对个性化推荐业务的需求正在快速增长,所涉及的数据规模和数据处理复杂度也呈爆炸式增长。推荐系统主要是为了解决在信息超载的情况下如何在网络空间中找到可信产品和为用户提供合适服务的问题,以广播推荐系统为例,它主要用于向用户或用户群推荐个性化的广播节目,帮助用户及其好友找到有共同兴趣的新节目。现有推荐方法包括协同过滤推荐、基于内容的推荐、基于社会网络分析方法的推荐、基于知识的推荐、基于关联规则的推荐、基于效用的推荐、基于复杂网络的推荐、混合推荐等。协同过滤推荐的主要优点是能处理诸如音频、艺术品等非结构化的复杂对象,共享其他相似用户的经验和反馈信息,可以发现用户潜在的但自己尚未发现的兴趣偏好。它的主要缺点是有稀疏性问题、大规模扩展问题、推荐性能受限问题、新用户问题或冷启动问题,与其相关的研究包括最邻近、聚类、线性回归、神经网络、贝叶斯网、概率模型和图论方法等。基于内容的推荐的主要优点是没有稀疏问题,可以推荐新的还不流行的项目,能为有特殊癖好的用户提供合适的推荐服务,列出推荐项目的内容特征,很直观且易解释。它的主要缺点是特征提取方法应用很有限,必须要求内容有良好的结构,并可以抽取成有意义的特征,新用户问题,多样性差,可扩展性差。而且,基于内容的推荐需要得到机器学习方法的支持,包括tf-idf、聚类、遗传算法、决策树、神经网络和贝叶斯分类器等。此外,基于社会网络分析的推荐是通过社会网络分析方法考察用户和用户之间的相关性,并把这种相关性应用于推荐系统的一类方法,目前的研究主要是对协同过滤的延伸。根据j.golbeck,p.massa,p.avesani等人的研究表明,利用节点之间的关系计算节点之间信任度,再利用它们之间的信任度进行推荐,可以比一般的协同推荐获得更好的推荐效果。

由于各种推荐系统及方法有各自的优缺点,在实际应用中,组合推荐方法经常被采用,特别是基于内容和协同过滤的组合,以弥补各自推荐技术的弱点。组合推荐系统由burkeetal.首先提出,当时主要是用于组合基于内容的推荐和协同过滤。早期的组合推荐系统的权重是静态的,比如belkoretal.用权重组合了107个不同的推荐算法,以优化整体的均方根误差(rmse),而这个权重对每个用户都是相同的,且不随时间变化。之后的adarec系统采用了动态组合策略,以应对用户兴趣的变化,这种策略就相当于权重在0和1之间选择,0表示不选择,1表示选择。还有一些研究者提出了依据用户反馈来调整权重,以及利用hadoop的分布式策略来改善计算效率。综上所述,传统的个性化推荐方法,以协同过滤算法为代表,存在多样性差、可扩展性差等缺点,而基于大规模数据和分布式策略的组合推荐方法,则存在通信代价高、计算效率低、个性化不足、时效性不够等问题。



技术实现要素:

本发明的目的在于克服已有的组合推荐方法通信代价高、计算效率低、个性化不足、时效性不够的缺陷,从而提供一种能有效提高计算效率、降低通信代价、改善个性化和时效性的推荐系统与方法。

为了实现上述目的,本发明提供了一种用于广域网络的深度强化学习推荐系统,包括:数据采集及预处理模块、分布式实时数据库、历史数据库、离线训练模块、在线训练模块、广域分布式深度强化学习模块、分布式计算模块以及用户交互模块;其中,

所述数据采集及预处理模块用于采集数据并对数据进行预处理;

所述分布式实时数据库用于存储在给定时效内的分布式数据;

所述历史数据库用于保存已经过了给定时效的数据;

所述离线训练模块根据历史数据,对所述广域分布式深度强化学习模块进行权重和偏置的调整;

所述在线训练模块根据分布式实时数据,对所述广域分布式深度强化学习模块进行具有地理分布式、时效性和个性化特征的权重和偏置的调整,根据用户的不同,以及时间和地点的不同,这些权重或偏置是不同的;

所述广域分布式深度强化学习模块根据用户的推荐请求,结合具有地理分布式、时效性和个性化特征的所述权重与偏置,为该用户生成推荐结果;

所述用户交互模块接收用户的推荐请求,并将所述广域分布式深度强化学习模块所生成的推荐结果呈现给用户。

上述技术方案中,所述广域分布式深度强化学习模块进一步包括:组合推荐结果子模块、调整权重子模块、发送需要计算的用户标签和接收计算出的推荐结果子模块,以及向用户交互模块推送推荐结果子模块;其中,

所述组合推荐结果子模块用于对所述分布式计算模块返回的推荐结果进行权重组合,从而推荐出整个结果集;所述调整权重子模块根据用户对推荐的关注情况来调整推荐算法的推荐权重;所述发送需要计算的用户标签和接收计算出的推荐结果子模块用于向不同类型的分布式计算模块发送需要计算推荐结果的用户标签,并接收不同类型的分布式计算模块发送的推荐结果集;所述向用户交互模块推送推荐结果子模块用于将组合好的结果集向用户的客户端推荐。

上述技术方案中,所述分布式计算模块有多种类型,多种类型的分布式计算模块进一步包括:运行协同过滤算法的第1类分布式计算模块、运行基于内容推荐算法的第2类分布式计算模块、运行基于社交网络推荐算法的第3类分布式计算模块,以及运行基于关联规则推荐算法的第4类分布式计算模块;其中,

所述运行协同过滤算法的第1类分布式计算模块进一步包括:接收广域分布式深度强化学习模块发送的用户标签单元、向广域分布式深度强化学习模块发送计算出的top-n推荐结果集单元、向对应的广域分布式数据库请求所需的数据单元,以及运行协同过滤算法计算出推荐的top-n推荐结果集单元;

所述运行基于内容推荐算法的第2类分布式计算模块进一步包括:接收广域分布式深度强化学习模块发送的用户标签单元、向广域分布式深度强化学习模块发送计算出的top-n推荐结果集单元、向对应的广域分布式数据库请求所需的数据单元,以及运行基于内容推荐算法计算出推荐的top-n推荐结果集单元;

所述运行基于社交网络推荐算法的第3类分布式计算模块进一步包括:接收广域分布式深度强化学习模块发送的用户标签单元、向广域分布式深度强化学习模块发送计算出的top-n推荐结果集单元、向对应的广域分布式数据库请求所需的数据单元,以及运行基于社交网推荐算法计算出推荐的top-n推荐结果集单元;

所述运行基于关联规则推荐算法的第4类分布式计算模块进一步包括:接收广域分布式深度强化学习模块发送的用户标签单元、向广域分布式深度强化学习模块发送计算出的top-n推荐结果集单元、向对应的广域分布式数据库请求所需的数据单元,以及运行基于关联规则的推荐算法计算出推荐的top-n推荐结果集单元。

上述技术方案中,所述运行基于内容推荐算法的第2类分布式计算模块能够对所述运行协同过滤算法的第1类分布式计算模块、运行基于社交网络推荐算法的第3类分布式计算模块以及运行基于关联规则推荐算法的第4类分布式计算模块所生成的推荐结果进行过滤。

上述技术方案中,所述离线训练模块以无监督训练的方法对权重和偏置进行调整。

上述技术方案中,所述在线训练模块采用梯度下降法对权重和偏置进行调整。

本发明还提供了基于所述的用于广域网络的深度强化学习推荐系统所实现的深度强化学习推荐方法,包括:

步骤1)、所述广域分布式深度强化学习模块收到用户的推荐请求后,向各分布式计算模块发送需要计算推荐结果的用户标签;

步骤2)、所述分布式计算模块分别计算对应用户标签的推荐结果,将结果返回给广域分布式深度强化学习模块;

步骤3)、根据用户群或用户标签不同,采用不同权重和偏置的广域分布式深度强化学习模块来组合和强化各个计算结果,向用户生成最终的推荐结果;其中,所述权重和偏置通过学习获得,根据用户群或用户标签的不同,以及时间和地点的不同,这些参数可能是不同的。

上述技术方案中,所述步骤2)进一步包括:

所述分布式计算模块主要包括4类,其总数设为m,广域分布式深度强化学习模块的总数设为j,第j个用户群以就近原则对应于第j个广域分布式深度强化学习模块,j=1,2,…,j;

第1类分布式计算模块向历史数据库请求并获得所需的用户评分数据,记为{i1:r1,i2:r2,,…,ik:rk};第1类分布式计算模块对接收的数据组成一个用户对结果的评分矩阵(rij),其中rij为用户i对结果j的评分,对于没有评分的结果用0表示;第1类分布式计算模块对评分矩阵(rij)进行奇异值分解,通过构建一个只有对角元素的矩阵∑,并将∑中的元素从大到小排列,在某个奇异值的数目(r)之后,其他的奇异值都置为0,即保留r个重要特征,其余特征认为是噪声或冗余特征;第1类分布式计算模块对经过奇异值分解的简化矩阵运行基于协同过滤算法,通过用户对某个结果的评分公式计算出topn结果集,其中,rating(userid,j)是用户对未接触结果j的估计评分,rating(userid,k)是用户对已接触结果k的评分,similarity(j,k)是结果j和k间的欧氏距离相似度或皮尔逊相似度或余弦相似度;第1类分布式计算模块将计算出的topn结果集返回给广域分布式深度强化学习模块;

第2类分布式计算模块向历史数据库请求包含用户信息、结果信息、用户接触历史在内的数据;第2类分布式计算模块根据用户的信息和用户的接触历史计算出用户的兴趣图谱,记为{interest1:value1,interest2:value2,…,interestk:valuek};其中,interest代表感兴趣的内容;value代表感兴趣的程度;第2类分布式计算模块根据结果信息和用户的兴趣图谱的比较,由计算出最符合用户兴趣的topn结果集,其中totalvalue(userid,j)是用户对结果j的总喜爱程度,α(i)表示结果j是否包含interesti,取值为(1,0),而value(i)则表示用户对interesti的喜爱程度;然后将计算出的topn结果集返回给所述广域分布式深度强化学习模块;

第3类分布式计算模块向包含用户的好友关系的数据库、用户观看历史的数据库请求并获得所需数据;第3类分布式计算模块对用户的好友建立社交图谱,构建用户关系矩阵(relationij),其中的元素relationij表示用户i和j间的关系亲密度,计算出身边的好友对用户的影响因子;第3类分布式计算模块通过得到好友关于某个结果对用户的影响因子,其中totalvalue(userid,j)是朋友对用户关于结果j的整体影响值,influence(i,userid)表示朋友i对用户的影响值,iswatched(i,j)=(1,0)表示用户i是否接触过结果j;如果totalvalue(userid,j)大于用户的阈值,就向用户推荐该结果,并计算出topn结果集;第3类分布式计算模块将计算出的topn结果集返回给广域分布式深度强化学习模块;

第4类分布式计算模块向包含用户接触历史的数据库请求并获得所需数据,并组成一个接触历史数据集;第4类分布式计算模块运行关于关联规则的推荐算法,计算出信任度和支持度,然后根据信任度和支持度的高低,推荐用户没有接触过且最有可能接触的topn结果集;第4类分布式计算模块将计算出的topn结果集返回给广域分布式深度强化学习模块。

上述技术方案中,所述步骤2)还包括:第2类分布式计算模块过滤所述第1类分布式计算模块、第3类分布式计算模块以及第4类分布式计算模块的计算结果。

上述技术方案中,所述步骤3)包括:所述广域分布式深度强化学习模块接收到来自第1类分布式计算模块、第2类分布式计算模块、第3类分布式计算模块、第4类分布式计算模块返回的topn结果集,记为i1、i2、i3和i4,广域分布式深度强化学习模块将来自所有分布式计算模块的节目集作为输入集合{xi},通过可学习的权重{wij}和偏置{bj}进行组合和强化,推荐出最终的结果集作为输出集合{yi}。

本发明的优点在于:

本发明通过广域分布式深度强化学习、分布式计算和分布式存储,提高了在复杂多变的广域网络环境下大规模数据处理的个性化、时效性、多样性、可扩展性、通信代价和计算效率。

附图说明

图1是本发明的一种用于广域网络的深度强化学习推荐系统的框架图;

图2是本发明的一种用于广域网络的深度强化学习推荐方法的流程示意图。

具体实施方式

现结合附图对本发明作进一步的描述。

本发明的用于广域网络的深度强化学习推荐系统具有广泛的用途,如在视频或音频点播系统中为用户推荐用户可能感兴趣的节目,在购物网站中为用户推荐用户可能感兴趣的商品。在下面的实施例中,以向用户推荐用户可能感兴趣的节目的深度强化学习推荐系统为例,对深度强化学习推荐系统的构成、功能、工作流程等做详细说明。当该推荐系统用于其他场合时,其构成、功能、工作流程总体上没有本质区别,只要将其中的数据做相应修改即可。

如图1所示,本发明的一种用于广域网络的深度强化学习推荐系统包括:数据采集及预处理模块、分布式实时数据库、历史数据库、离线训练模块、在线训练模块、广域分布式深度强化学习模块、多种类型的分布式计算模块,以及用户交互模块;其中,

所述数据采集及预处理模块的基本功能是采集来自用户、服务提供商等数据源的各种数据,并对这些数据进行预处理,包括数据清洗、归一化和结构化等,这些预处理后的数据可被分布式计算模块调用,也可用于广域分布式深度强化学习模块的训练。

所述分布式实时数据库用于存储在给定时效内的分布式数据,主要是指在推荐列表中的节目被用户点击、观看、打分或分享等在线用户行为和用户反馈信息。

所述历史数据库用于保存已经过了给定时效的用户反馈信息和其它信息,主要包括:1)包含用户标签、性别、年龄、爱好在内的用户基本信息;2)用户对节目打分信息;3)包含节目标签、类型、演员、导演在内的节目信息;4)包含用户标签、节目标签、观看时间等在内的用户观看历史;5)包含用户好友关系在内的用户好友关系图谱。

所述离线训练模块的基本功能是,根据历史数据,对广域分布式深度强化学习模块进行权重{wij}和偏置{bj}的调整,以无监督训练为主,但也可以进行监督训练;所述无监督训练可采用现有技术中的多种已知方法,可选地,在本实施例中,无监督训练采用基于网络能量函数最小化的训练方法;所述监督训练可采用现有技术中的多种已知方法,可选地,在本实施例中,监督训练可采用以t-k到t-1时刻数据作为训练集,以t时刻数据作为训练标签的梯度下降法。

所述在线训练模块的基本功能是,根据实时接收到的用户对推荐节目的反馈数据,用梯度下降法调整广域分布式深度强化学习模块中所涉及的所有权重{wij}和偏置{bj},用以提高与被观看节目相关的权重和偏置,同时降低与最近较少被观看节目相关的权重和偏置。

所述广域分布式深度强化学习模块以就近原则布置于各用户群的附近,该模块结合具有地理分布式、时效性和个性化特征的权重与偏置,为用户生成推荐结果。广域分布式深度强化学习模块中的权重与偏置具有地理分布式、时效性和个性化特征;根据用户群或用户标签的不同,以及时间和地点的不同,这些权重或偏置是不同的。所述广域分布式深度强化学习模块进一步包括:组合推荐节目子模块、调整权重子模块、发送需要计算的用户标签和接收计算出的节目子模块,以及向用户交互模块推送节目子模块。

具体地,所述组合推荐节目子模块的基本功能是对多种类型的分布式计算模块返回的节目进行权重组合,从而推荐出整个节目集;所述调整权重子模块的基本功能是根据用户对推荐的点击情况来调整推荐算法的推荐权重;所述发送需要计算的用户标签和接收计算出的节目子模块的基本功能是向不同类型的分布式计算模块发送需要计算推荐节目的用户标签,并接收不同类型的分布式计算模块发送的推荐节目集;所述向用户交互模块推送节目子模块的基本功能是将组合好的节目集向用户的客户端推荐。

所述分布式计算模块具有多种类型,每一种类型的分布式计算模块上运行有一种推荐算法,在本实施例中,所述多种类型的分布式计算模块进一步包括:运行协同过滤算法的第1类分布式计算模块、运行基于内容推荐算法的第2类分布式计算模块、运行基于社交网络推荐算法的第3类分布式计算模块,以及运行基于关联规则推荐算法的第4类分布式计算模块。

具体地,所述运行协同过滤算法的第1类分布式计算模块进一步包括:接收广域分布式深度强化学习模块发送的用户标签单元、向广域分布式深度强化学习模块发送计算出的top-n节目集单元、向对应的广域分布式数据库请求所需的数据单元,以及运行协同过滤算法计算出推荐的top-n节目集单元。

具体地,所述运行基于内容推荐算法的第2类分布式计算模块进一步包括:接收广域分布式深度强化学习模块发送的用户标签单元、向广域分布式深度强化学习模块发送计算出的top-n节目集单元、向对应的广域分布式数据库请求所需的数据单元,以及运行基于内容推荐算法计算出推荐的top-n节目集单元。

具体地,所述运行基于社交网络推荐算法的第3类分布式计算模块进一步包括:接收广域分布式深度强化学习模块发送的用户标签单元、向广域分布式深度强化学习模块发送计算出的top-n节目集单元、向对应的广域分布式数据库请求所需的数据单元,以及运行基于社交网推荐算法计算出推荐的top-n节目集单元。

具体地,所述运行基于关联规则推荐算法的第4类分布式计算模块进一步包括:接收广域分布式深度强化学习模块发送的用户标签单元、向广域分布式深度强化学习模块发送计算出的top-n节目集单元、向对应的广域分布式数据库请求所需的数据单元,以及运行基于关联规则的推荐算法计算出推荐的top-n节目集单元。

需要说明的是,上文所提到的四种推荐算法仅是现有技术中常用的四种推荐算法,在实际使用时并不局限于上述四种推荐算法。可采用上述四种推荐算法中的部分或全部,也可采用并未包含在上述四种推荐算法中的其他类型的推荐算法。在不对计算负载以及实时性造成太大影响的前提下,原则上推荐算法的类型越多越好,类型越多,效果越好。此外,某一种类型的分布式计算模块在系统中并不局限于一个,可以布置有多个。

所述用户交互模块的基本功能是获得用户的推荐请求,并将广域分布式深度强化学习模块推荐的节目以可视化的方式呈现给用户。

基于前述的用于广域网络的深度强化学习推荐系统,如图2所示,本发明还包括用于广域网络的深度强化学习推荐方法,所述方法包括:

步骤1:广域分布式深度强化学习模块收到用户的推荐请求后,向各分布式计算模块发送需要计算推荐节目的用户标签。

步骤2:分布式计算模块分别计算对应用户标签的推荐节目,并经由过滤之后,将结果返回给广域分布式深度强化学习模块。

其中,分布式计算模块主要包括4类,其总数设为m,广域分布式深度强化学习模块的总数设为j,第j个用户群以就近原则对应于第j个广域分布式深度强化学习模块,j=1,2,…,j。

具体地,第1类分布式计算模块向历史数据库请求并获得所需的用户评分数据,记为{i1:r1,i2:r2,,…,ik:rk};第1类分布式计算模块对接收的数据组成一个用户对节目的评分矩阵(rij),其中rij为用户i对节目j的评分,对于没有评分的节目用0表示;第1类分布式计算模块对评分矩阵(rij)进行奇异值分解(svd),通过构建一个只有对角元素的矩阵∑,并将∑中的元素从大到小排列,在某个奇异值的数目(r)之后,其他的奇异值都置为0,即保留r个重要特征,其余特征认为是噪声或冗余特征;第1类分布式计算模块对经过奇异值分解的简化矩阵运行基于协同过滤算法,通过用户对某个节目的评分公式计算出topn节目集,其中,rating(userid,j)是用户对未观看节目j的估计评分,rating(userid,k)是用户对已看节目k的评分,similarity(j,k)是节目j和k间的欧氏距离相似度或皮尔逊相似度或余弦相似度;第1类分布式计算模块将计算出的topn节目集返回给广域分布式深度强化学习模块。

具体地,第2类分布式计算模块向历史数据库请求包含用户信息、节目信息、用户观看历史在内的数据;第2类分布式计算模块根据用户的信息和用户的观看历史计算出用户的兴趣图谱,记为{interest1:value1,interest2:value2,…,interestk:valuek};其中,interest代表感兴趣的内容;value代表感兴趣的程度;第2类分布式计算模块根据节目的信息和用户的兴趣图谱的比较,由计算出最符合用户兴趣的topn节目集,其中totalvalue(userid,j)是用户对节目j的总喜爱程度,α(i)表示节目j是否包含interesti,取值为(1,0),而value(i)则表示用户对interesti的喜爱程度;第2类分布式计算模块可以独立使用,也可以用于过滤其他模块(包括第1类分布式计算模块、第3类分布式计算模块以及第4类分布式计算模块)的计算结果,然后将计算出的topn节目集返回给广域分布式深度强化学习模块。

具体地,第3类分布式计算模块向包含用户的好友关系的数据库、用户观看历史的数据库请求并获得所需数据;第3类分布式计算模块对用户的好友建立社交图谱,构建用户关系矩阵(relationij),其中的元素relationij表示用户i和j间的关系亲密度,并通过包括rootedpagerank在内的现有方法计算出身边的好友对用户的影响因子;第3类分布式计算模块通过得到好友关于某个节目对用户的影响因子,其中totalvalue(userid,j)是朋友对用户关于节目j的整体影响值,influence(i,userid)表示朋友i对用户的影响值,iswatched(i,j)=(1,0)表示用户i是否看过节目j;如果totalvalue(userid,j)大于用户的阈值,就向用户推荐该节目,并计算出topn节目集;第3类分布式计算模块将计算出的topn节目集返回给广域分布式深度强化学习模块。

具体地,第4类分布式计算模块向包含用户观看历史的数据库请求并获得所需数据,并组成一个观看历史数据集;第4类分布式计算模块运行关于关联规则的推荐算法,计算出信任度和支持度,然后根据信任度和支持度的高低,推荐用户没有观看过且最有可能观看的topn节目集;第4类分布式计算模块将计算出的topn节目集返回给广域分布式深度强化学习模块。

步骤3:根据用户群或用户标签不同,采用不同权重和偏置的广域分布式深度强化学习模块来组合和强化各个计算结果,向用户推荐节目。

其中,所述权重和偏置是通过学习获得的,根据用户群或用户标签的不同,以及时间和地点的不同,这些参数可能是不同的。

具体地,广域分布式深度强化学习模块接收到来自第1类分布式计算模块、第2类分布式计算模块、第3类分布式计算模块、第4类分布式计算模块返回的topn节目集,记为i1、i2、i3和i4,其中,第3类分布式计算模块可以经由第2类分布式计算模块的过滤后,得到i5={i|i∈i2andi∈i3},代替原来的i2和i3;广域分布式深度强化学习模块将来自所有分布式计算模块的节目集作为输入集合{xi},通过可学习的权重{wij}和偏置{bj}进行组合和强化,推荐出最终的节目集作为输出集合{yi}。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1