一种基于多维分类强化学习的动态推荐系统设计方法与流程

文档序号:17239282发布日期:2019-03-30 08:30阅读:235来源:国知局
一种基于多维分类强化学习的动态推荐系统设计方法与流程

本发明涉及一种基于多维分类强化学习的动态推荐系统设计方法,属于强化学习以及推荐技术领域。



背景技术:

近年来,互联网的发展带来了信息量的爆炸增长。在搜索引擎、电子商务以及新闻推送等等应用场景中,为了使用户能够在短时间内看到感兴趣的信息,推荐系统扮演了越来越重要的角色。传统的推荐系统主要采用:基于协同过滤的方法、基于内容的方法以及混合方法等;近年来,作为传统方法的延伸,深度学习模型被引入。这些模型被认为可以更好地建模用户与物品之间的联系,尽管相比于传统算法有所提升,但是仍存在以下不足:

1.推荐系统的用户实时交互无法及时利用。主要的推荐系统算法把推荐看作一个静态过程并根据固定的策略进行推荐,这样就忽略了实时交互的作用。实际的推荐系统中,物品特征与用户画像的对应往往具有一定的主观性,并不能正确的发掘二者之间的联系,因此动态推荐系统中用户的实时反应对了解用户与物品关系至关重要。

2.推荐系统的动态特性没有被很好地解决。一方面,部分应用场景中物品具有很强的时效性,如网页新闻、热点关注等等,其出现无法预测,而其时效性结束又无法建模,在对这些内容进行推荐时,必须采取一定措施避免推荐过期内容;另一方面,用户的兴趣也会随时间变化,销售平台中,他们对于特定物品的关注往往会随时间改变,理财产品中,用户的资本也会起伏不定,这些场景要求我们建模用户的活跃度以实现更加贴近用户的个性化推荐。

针对如上问题,当前主要有以下几种采用马尔可夫决策过程(mdp)模型和强化学习的解决方案。

现有基于mdp的推荐系统把用户的反馈描述为未来奖赏,并通过一种n点预测模型来初始化马尔可夫决策过程。这一解决方案把针对单个物品的推荐描述为动作空间中的一点带来了动作空间过大的问题。

建立在mdp推荐系统思路上,通过双聚类的方法把推荐系统中的状态空间建模成一个n×n的二维网格图,并以“上-下-左-右”来描述四个不同动作,每个格子的坐标s=(u,i)代表一个用户集合和一个物品集合。这样做的好处是大大减少了动作空间的复杂度,但是简单的双聚类难以描述物品的高维特征,因此也不足以解释用户和物品的匹配问题。

还有文献在理论上证明了用户在网络购物中的搜索与筛选过程可以描述为马尔可夫决策过程并给出了基于强化学习解决排名问题(learningtorank)的方法以最大化累计奖赏,但是这一方案中仍缺乏对于物品特征的利用,在物品数量极大的情况下进行推荐时有所局限。

此外,一种离线与在线结合的新闻推荐方法:离线过程采用deepq-learning,依据历史数据学习对于未来奖赏的预测;在线过程主要通过用户的点击反馈更新值函数以获得更好的策略。在此模型中,用户特征和背景特征被描述为状态空间,而新闻特征和用户-新闻特征描述为动作空间,同时生存模型被用来建模用户整体活跃度。相比于前几篇文献,这一思路更具有一般性,但是也忽略了物品的分类的高维特征。

总的来说,现有基于强化学习结构的推荐系统大多没有有效建模物品的特征属性,故在动态推荐的过程中缺乏针对性与代表性。目前缺乏一种推荐系统的整体设计能够合理利用物品特征并同时解决如上所述的两个主要问题。而实际在新闻、理财产品、快速更新的商品的推荐中,需要一种更加具有普适性的设计以满足这些要求。



技术实现要素:

本发明的目的在于针对现有强化学习结构的推荐系统没有有效建模物品特征属性,通过物品的先验多维分类信息结合用户的实时活跃度检测,以此建模用户在实际推荐系统中的选择偏好与时序变化,提出了一种基于多维分类强化学习的动态推荐系统设计方法。

本发明是通过以下技术方案实现的。

一种基于多维分类强化学习的动态推荐系统设计方法所依托的动态推荐系统考虑了用户与推荐系统的交互,通过时序状态向量描述用户状态,并采用强化学习的方式进行推荐;

其中,多维分类是指把物品的几方面量化特征按区间进行分割;

所述动态推荐系统设计方法主要采用马尔可夫决策过程模型,此模型中的智能体定义为向用户推荐物品的服务器,依据物品的几方面量化特征,用户状态向量s表示为(1):

表示该用户点击过的k个物品的特征;

其中,智能体,记为agent;

其中,a、b、c表示量化特征的三个不同维度;为了保持各量化特征的权重相同,将k个物品的所有维度特征都归一化到[0,1]区间;

根据用户状态的定义,动作空间定义为使智能体能够选择推荐策略的空间,状态转移函数也由此确定,给出奖赏函数的度量,即奖赏;

其中,奖赏函数,记为reward;

在关注用户与推荐系统交互的基础上,奖赏r根据用户对推荐物品的点击进行定义:

在每次推荐之后,相应的奖赏为用户点击被推荐物品的数量,若未发生点击,则奖赏为0;

奖赏大于0时,称之为用户对于先前的推荐做出反馈;

为了表征用户在过去一段时间内关注物品的总频率,避免用户未关注期间的推荐与计算,我们借助生存模型引入用户活跃度的度量,即假设任意时刻用户访问服务器的概率保持不变,从用户首次访问平台的时刻0起,用户的活跃度可以表示为(2):

c(t)=c0(t)=λ0e-λt;(2)

其中,用户活跃度,记为activeness;c(t)表示旧用户的活跃度;λ为用户活跃度衰减系数;λ0表示旧用户活跃度的增加偏移值;

λ0<1,λ<1分别为设定参数,λ0>μ0,其中,μ0为开始推荐阈值;之后用户每次向服务器请求推荐或对过去的推荐做出反应都会造成活跃度更新为c(t)=c(t)+λ0,但是最大值不超过1,对于超过的部分做向下平移的操作;

所述动态推荐系统设计方法基于actor-critic联合神经网络模型;

actor-critic联合神经网络模型包括actor神经网络和critic神经网络;

其中,actor神经网络根据用户状态向量计算物品排序权重;critic神经网络根据用户状态和actor的输出制定打分策略;

一种基于多维分类强化学习的动态推荐系统设计方法,包括如下步骤:

步骤1:服务器根据所推荐物品的固有特征对所有物品进行分类,并对所有物品执行热度统计,更新基于热度的代表物品,具体包括如下子步骤:

步骤1.1选取线性函数使各个固有特征都均匀量化到[0,1]区间上,将物品嵌入到以特征个数为维度的高维空间,即基于物品分类和特征映射,把物品i用唯一对应的特征向量ei表示,如公式(3)所示:

ei=(featureia,featureib,featureic)(3)

步骤1.2对于特征的各个维度,以固定的步长δ=(δa,δb,δc)分类,此操作是将高维特征空间网格化,每个物品属于一个类型网格;

步骤1.3综合当前用户状态,对各个物品最近点击次数进行统计并以此作为该物品的热度度量;

步骤1.4对于每个类别以热度最高选出热度的代表物品;

经过一段较长的时间t0,重复步骤1.1到步骤1.4,使新物品映射到特征空间上;同时更新基于热度的代表物品,以避免因物品新旧造成的用户偏好估计误差;

步骤2:用户向服务器发送请求,请求服务器推荐物品;

步骤3,计算用户活跃度与网络权重并存储;

其中,用户包括新用户和旧用户,新用户指首次访问此推荐系统的用户,旧用户指已经访问过此推荐系统并在服务器中已有信息存在的用户;

步骤3具体包括如下子步骤:

步骤3.1计算并存储新用户和旧用户的用户活跃度;

旧用户的活跃度通过公式(4)计算并存储:

c(t)=c(t)+λ0(4)

新用户的活跃度通过公式(2)计算并存储:

步骤3.2分别计算并存储新用户和旧用户的actor神经网络及critic神经网络的权重;

其中,actor神经网络的权重,记为θ;critic神经网络的权重,记为φ;

其中,actor神经网络的输入st,输出为一组权重at,如公式(5):

at=(wta,wtb,wtc)(5)

其中,wta,wtb,wtc分别是t时刻对应a、b、c三个维度特征的系数;因为打分策略是确定性的,即给定用户状态可以唯一地确定一组排序权重,对物品进行排序,因此把这一权重描述为at;

步骤3.2具体为:

3.2a对于旧用户,actor神经网络及critic神经网络的权重已经存在,根据当前用户给出的反馈采用策略梯度的方式更新权重向量;

3.2b对于新用户,actor神经网络及critic神经网络尚未建立,则依据用户注册登记的静态信息,选取相似用户近期点击的物品,请新用户在其中选取k个以作为初始状态向量,并以此对actor神经网络进行首次训练,推荐结果的反馈用于critic神经网络的首次训练;

其中,critic神经网络依据用户状态和动作估计奖赏,用以给actor神经网络所产生的推荐评分,具体为:critic神经网络的输入为(st,at),输出q(st,at)为以给actor神经网络所产生的推荐评分;

每次用户与服务器交互之后,根据返回的奖赏更新q(st,at)网络的权重,再由此critic神经网络对下一次交互之后的actor神经网络给出的动作进行反馈;

步骤4服务器根据用户活跃度判断是否跳至步骤5进行推荐物品,具体为:

4.a若用户活跃度大于已设定阈值μ0,则进入步骤5进行物品推荐,经过t0后,重复步骤4;

其中,t0是一段较短的时间;

4.b若用户活跃度小于已设定阈值μ0,则无动作,等待用户请求或对先前的推荐进行反馈;

其中,μ0<λ0;

步骤5服务器依据actor神经网络和现有的用户状态向量,对用户进行物品推荐,具体为:

步骤5.1根据当前用户的状态向量st经过actor神经网络计算并输出一组权重,如公式(3)所示:

步骤5.2采用at与物品特征向量ei内积的方式用公式(6)计算用户对于特定物品的评分scorei:

其中,表示at的转置;

5.3选出评分最高的m个物品进行推荐;

其中,m的取值大于等于5;

步骤6用户对服务器推荐物品进行反馈,若用户发生反馈,则对用户状态st进行更新,回到步骤3;若未发生反馈,则无动作。

有益效果

本发明一种基于多维分类强化学习的动态推荐系统设计方法,与现有推荐系统的设计方法相比,具有如下有益效果:

1.本发明所述方法,对用户与服务器之间的交互过程进行建模,通过强化学习的方式,建模了用户与服务器的动态交互过程,基于多维分类的用户状态向量,能够更加客观地反映用户物品之间的联系与用户兴趣的变化;

2.通过用户活跃度和用户登记的静态信息引导推荐,增强了推荐的精准度。

附图说明

图1是本发明一种基于多维分类强化学习的动态推荐系统设计方法的流程图;

图2是本发明一种基于多维分类强化学习的动态推荐系统设计方法所依托的actor-critic联合神经网络模型的示意图;

图3是本发明本发明一种基于多维分类强化学习的动态推荐系统设计方法实施例1的示意图;(从用户首次访问理财产品推荐网站开始)。

具体实施方式

下面结合附图及实施例对本发明所述的多维分类强化学习的动态推荐系统设计方法进行详细阐述。

实施例1

本实施例阐述了基于本发明多维分类强化学习的动态推荐系统设计方法在推荐理财产品方面的具体实施。

考虑一种理财产品推荐网站,这一场景可以同时收集用户的静态与动态信息:一方面,用户在登记交易网站时输入的性别、年龄、个人财务状况等个人信息作为推荐系统的先验静态信息能够辅助服务器更精确地定位用户受众;另一方面用户针对每一次推荐做出反馈,实时反映了用户兴趣的变化。

各类理财产品在设计时均有较强的针对性,其收益率、风险系数、投资期限长短和投资起始金额均有量化的指标,因此选取合适的相乘系数使其映射到[0,1]区间。对状态向量和奖赏函数的定义均沿用前文所述,基于以上四类物品特征,actor的输出规定为

at=(wta,wtb,wtc,wtd)(7)

对应的物品特征向量为

ei=(featureia,featureib,featureic,featureid)(8)

用户的状态定义为

基于理财产品更新换代较慢的情况给出较为简单的设定,t0为30天,t0为1天,λ=λ0=0.5,μ0=0.2,t单位为天,故用户活跃度函数定义为:

c(t)=c0(t)=0.5×e-0.5t(10)

下面从用户首次访问开始具体阐述实施例流程,如图3所示:

用户注册时,首先根据其登记的个人信息及财务状况信息,从相似用户的状态向量(即他们先前访问过的物品中)选取热门的不同类物品作为用户调查,请用户从给出的物品中选取感兴趣的k个物品,以此建立用户的状态向量并首次训练actor神经网络,以开始之后的动态过程。所推荐物品不同类主要是为了避免因片面关注用户静态信息而产生不完全推荐、影响后续动态交互的情况。

用户接受推荐之后,若对当前推荐的产品发生反馈,则活跃度更新为c(t)=c(t)+0.2,用户状态更新为:

其中n为当前推荐中用户点击的物品数目,此外,根据用户反馈给出的评分更新critic网络权重;若用户接收推荐后未发生反馈,则每天一次向用户进行推荐,持续三天未发生反馈后,活跃度值降至0.11,仍进行推荐,第四天活跃度降至0.06,停止推荐。在强化学习的推荐结构中,每次推荐与反馈过程之后对actor以及critic神经网络的权重进行更新。

采用actor-critic的方式生成推荐列表之后,对于特征映射在同一分类的产品,进一步进行以下处理:对于每个物品,根据其过往点击用户的年龄、性别等静态信息进行分类,并与当前用户进行匹配。假设产品a、产品b与产品c属于同一分类,产品a女性用户占比达到70%,产品b男性50岁以上用户占比达到65%,而产品c男性50岁以下用户达到70%,则不失合理性地设定性别为区分a与b、c所针对用户的阈值,男性50岁为区分b与c所针对用户的阈值。若当前被推荐用户为40岁男性,则推荐产品c,删除产品a和b的推荐。若产品d和e的用户群体未发生明显的分类,则采用线性回归的方法进行简单分类,建立(年龄,性别)坐标系,把各个点上对应用户的产品点击作为标签,设定一定的允许错误率,寻找合理的线性分类方式,分别推荐d和e两个产品;若经过一定次数的迭代,未找到满足条件的线性分类,则d和e共同推荐。经过这样的修剪处理所得到的推荐列表为每次推荐的最终列表。

这一实施例以用户活跃度和用户登记的个人信息、财务状况等作为辅助,通过理财产品四维分类信息建立强化学习框架,建模投资用户与产品推荐服务器的交互,基于物品的客观特征属性有效地反映了用户与物品之间的联系以及用户兴趣的变化,增强了推荐的精准度。以上所述为本发明的较佳实施例。实际上,只要能够有效地通过线性或非线性的手段量化物品的特征,并能根据静态信息初始化actor-critic神经网络,本发明的方法都可以适用。对于其他形式的用户反馈,只要修改奖励的方式,亦可应用。

以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

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