基于人工智能的推荐方法、装置、电子设备及存储介质
技术领域
本发明涉及人工智能技术,尤其涉及一种基于人工智能的推荐方法、装置、电子设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。
新闻个性化推荐,是根据用户的兴趣特点和阅读行为,向用户推荐他们感兴趣的新闻,相关技术中通过排序模型实现新闻的个性化推荐,将用户侧特征、以及文章侧特征输入到常规神经网络模型中进行训练,预测文章被点击概率,由于热门文章的特质性,在模型的样本采样阶段,热门文章被采样到的概率更大,模型在热门文章上的学习就更容易过拟合,导致热门文章在排序阶段的预测得分普遍偏高。
发明内容
本发明实施例提供一种基于人工智能的推荐方法、装置、电子设备及存储介质,能实现多类别信息推荐的智能化均衡。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于人工智能的推荐方法,包括:
获取待推荐用户的用户特征以及环境特征,并组合为所述待推荐用户的状态特征;
基于所述状态特征预测对应所述待推荐用户的推荐信息排布方式,其中,所述推荐排布方式包括多个推荐类别、以及每个所述推荐类别的待推荐信息的数量;
获取与每个所述推荐类别的数量对应的待推荐信息,并组合为对应所述推荐用户的待推荐信息集合;
基于所述推荐信息集合,执行对应所述待推荐用户的推荐操作。
本发明实施例提供一种基于人工智能的推荐装置,包括:
特征获取模块,用于获取待推荐用户的用户特征以及环境特征,并组合为所述待推荐用户的状态特征;
预测模块,用于基于所述状态特征预测对应所述待推荐用户的推荐信息排布方式,其中,所述推荐排布方式包括多个推荐类别、以及每个所述推荐类别的待推荐信息的数量;
待推荐信息集合获取模块,用于获取与每个所述推荐类别的数量对应的待推荐信息,并组合为对应所述推荐用户的待推荐信息集合;
推荐模块,用于基于所述推荐信息集合,执行对应所述待推荐用户的推荐操作。
在上述方案中,所述特征获取模块,还用于:
获取对应所述待推荐用户的以下至少之一的用户特征:
用于表征所述待推荐用户的基本信息的基础属性特征;用于表征用户社会关系的社会关系特征;用于表征用户互动行为的互动行为特征;用于表征用户阅读偏好的阅读心理特征;
获取对应所述待推荐用户的以下至少之一的环境特征:
用于表征向所述待推荐用户进行推荐的推荐时间的时间特征;用于表征所述待推荐用户所处位置的用户位置特征;用于表征所述待推荐用户所使用设备的设备特征;用于表征所述待推荐用户所使用的设备所处的网络环境的网络特征;用于表征向所述待推荐用户推荐的上一屏幕所展示的推荐信息的信息特征。
在上述方案中,所述预测模块,还用于:
确定对应所述待推荐用户的推荐信息排布方式中所包括的推荐类别;
调用对应所述推荐类别的预测器,将对应所述推荐类别的预测器中的稠密矩阵与所述待推荐用户的状态特征相乘,以获取对应所述状态特征的稠密表示;
将对应所述状态特征的稠密表示,映射为与所述推荐类别对应的待推荐信息的数量的评分;
将最高的评分对应的待推荐信息的数量,确定为与所述推荐类别对应的待推荐信息的数量。
在上述方案中,所述预测模块,还用于:
将所述待推荐用户观看的页面适配的至少两个信息类别确定为所述推荐信息排布方式中包括的推荐类别;
将所述待推荐用户预先设定的所偏好的至少两个信息类别确定为所述推荐信息排布方式中包括的推荐类别;
将与所述待推荐用户的用户特征相似的至少两个信息类别确定为所述推荐信息排布方式中包括的推荐类别。
在上述方案中,所述预测模块,还用于:
将对应所述待推荐用户显示的页面中被配置的多个类别,确定为对应所述待推荐用户的推荐信息排布方式中包括的多个类别;其中,所述推荐类别包括热门推荐类别和个性化推荐类别;
基于所述状态特征,预测在所述页面中呈现每个所述类别的待推荐信息的数量。
在上述方案中,所述推荐模块,还用于:
在获取与每个所述推荐类别的数量对应的待推荐信息之前,所述方法还包括:
获取对应所述待推荐用户的召回信息;
基于所述待推荐用户的用户特征和环境特征、以及所述召回信息对应的信息特征,对所述召回信息的评分进行降序排序;
所述待推荐信息集合获取模块,还用于:
从所述降序排序中选取排序在前的、且属于所述推荐类别的召回信息,以作为相应推荐类别的待推荐信息。
在上述方案中,所述推荐模块,还用于:
获取以下至少一个类型的信息,以作为对应所述待推荐用户的召回信息:
与对应所述待推荐用户的历史浏览信息之间的内容相似,且内容相似度不小于内容相似度阈值的信息;
与对应所述待推荐用户的历史行为信息之间的行为相似,且行为相似度不小于行为相似度阈值的信息。
在上述方案中,所述推荐模块,还用于:
将所述待推荐用户的历史浏览信息的特征与每个所述召回信息对应的特征进行合并处理,得到对应所述召回信息的信息特征;
将所述待推荐用户的用户特征和环境特征、以及与所述召回信息对应的特征,进行基于特征相关性的特征组合处理,得到对应所述召回信息的指标特征;
将对应每个所述召回信息的信息特征以及指标特征进行融合处理,得到每个所述召回信息的评分;
根据每个所述召回信息的评分进行降序排序。
在上述方案中,所述待推荐信息集合获取模块,还用于:
基于预测得到的与多个推荐类别分别一一对应的待推荐信息的数量,确定数量超过对应所属推荐类别的数量的待推荐信息,并删除至不超过对应所属推荐类别的待推荐信息的数量;
召回与被删除的待推荐信息数目一致的在降序排序中未被保留的待推荐信息;
将经过删除以及召回得到待推荐信息,组合为对应所述推荐用户的待推荐信息集合。
在上述方案中,所述装置还包括:
训练模块,用于:
获取所述待推荐用户的行为日志,以构建用于训练预测器的训练样本集合;
其中,所述预测器用于对所述推荐信息排布方式进行基于单一推荐类别的预测;
基于所述训练样本集合,以强化学习的方式对所述预测器进行训练。
在上述方案中,所述训练模块,还用于:
提取所述待推荐用户的行为日志中对应所述单一推荐类别的日志样本数据;
从所述日志样本数据中提取对应所述单一推荐类别的待推荐信息的多个数量的行为样本数据、以及对应所述行为样本数据的状态特征样本;
其中,所述行为样本数据包括:浏览行为、点赞行为、转发行为、收藏行为以及评论行为;
对所述行为样本数据进行统计处理,得到分别表征所述待推荐信息的多个数量的真实评分的指标数据;
将所述状态特征样本、所述待推荐信息的数量以及对应所述数量的指标数据,组合成用于训练所述预测器的训练样本集合。
在上述方案中,所述训练模块,还用于:
初始化所述预测器的参数、以及对应所述预测器的目标训练网络的参数;
其中,在所述初始化中所述预测器的参数与所述预测器的目标训练网络的参数相同,所述目标训练网络用于训练所述预测器的参数;
在所述预测器的每次迭代训练过程中执行以下处理:
通过所述预测器对所述状态特征样本以及所述推荐类别的待推荐信息的数量进行预测处理,得到与所述推荐类别的待推荐信息的多个数量一一对应的多个训练评分以及多个新状态特征样本,并结合贪婪机制从所述待推荐信息的多个数量确定出预测的待推荐信息的数量;
得到新状态特征样本和对应所述状态特征样本的奖励,并将所述状态特征样本、所述新状态特征样本、所述奖励、所述预测的待推荐信息的数量以及所述状态特征样本的进展状态作为一个数组存入经验回放集合;
从所述经验回放集合中随机采样多个样本组,并确定每个样本组对应的目标训练评分;
将所述目标训练评分以及对应所述预测的待推荐信息的数量的训练评分代入损失函数中,以通过梯度反向传播更新所述预测器的参数直至所述状态特征样本的进展状态为终止状态。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的推荐方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于人工智能的推荐方法。
本发明实施例具有以下有益效果:
通过预测多个待推荐信息的所属的推荐类别和对应各个推荐类别的待推荐信息的数量,使得待推荐信息中各个推荐类别的待推荐信息的数量达到理想的均衡,从而能够满足用户对于多个类别的推荐信息的多样化需求。
附图说明
图1是本发明实施例提供的基于人工智能的推荐系统架构的一个可选的结构示意图;
图2是本发明实施例提供的基于人工智能的推荐方法中推荐系统100的流程示意图;
图3是本发明实施例提供的基于人工智能的推荐方法中所应用到的预测器网络结构示意图;
图4是本发明实施例提供的应用基于人工智能的推荐方法的服务器200的结构示意图;
图5是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图;
图6A-6B是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图;
图7是本发明实施例提供的排序模型的模型示意图;
图8是本发明实施例提供的强化学习训练模型的架构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)推荐系统:推荐系统是自动联系用户和物品的一种工具,它能够在信息过载的环境中帮助用户发现令他们感兴趣的信息,也能将信息推送给对它们感兴趣的用户。
2)新闻个性化推荐:根据用户的兴趣特点和阅读行为,向用户推荐他们感兴趣的新闻。
3)召回:为用户粗选一批待推荐的商品或者信息,相当于粗排序。
4)点击率预估模块:根据特征列表和排序模型对物品或者信息候选集进行点击率预估计算。
5)因子分解机(FM,Factorization Machine)模型,一种排序模型,主要是解决数据稀疏的情况下,特征组合的问题。
6)强化学习(RL,Reinforcement Learning):又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本发明实施例提供的方案涉及人工智能的强化学习等技术,具体通过如下实施例进行说明。
新闻个性化推荐是根据用户的兴趣特点和阅读行为进行推荐,这里的新闻是推荐信息中的一种,推荐信息还可以是其他的信息,例如在社交应用上显示的推荐信息,在购物应用上显示的推荐信息,下面以推荐信息为新闻为例进行说明,向用户推荐他们感兴趣的新闻,新闻个性化推荐系统,通常包含四个模块:用户画像模块,召回模块,点击率预估模块,重排模块,召回模块筛选好粗排的文章后输出给点击率预估模块,点击率预估模块对这些召回的文章进行精排序,再经过重排模块,最终推荐给用户,在整个推荐过程当中,点击率预估模块起到了举足轻重的作用,点击率预估模块依赖于排序模型(这里的排序模型还可以基于其他的指标进行排序,例如访问数量、浏览量等等),排序模型的优劣决定了推荐结果的准确性,相关技术中的排序模型,采用因子分解机与神经网络结合的模型,将用户侧特征(比如用户偏好品类,用户偏好标签,用户年龄,性别,机型等),文章侧特征(比如文章分类,文章标签,文章点击数,文章曝光量,文章作者,文章调性等),以及上下文环境特征(比如访问时间,上一屏幕展示的内容等)输入到模型中进行训练,预测项是文章的被点击概率,发明人发现由于热门文章的特质性,在模型的样本采样阶段,热门文章被采样到的概率更大,模型在热门文章上的学习就更容易过拟合,导致热门文章在排序阶段的预测得分普遍偏高,这样便会出现一些问题:一,推荐结果中容易优先推荐出热门文章,比如:某位名人去世,由于热度很高,很大概率推荐给用户,但是有些用户对热门文章的偏好并不那么强烈,甚至会产生反感;二,不能准确的捕捉到用户对于个性化、以及热度的均衡点,在满足一部分用户对于热点跟踪的需求的同时,也会伤害到一部分对于热点过度反感的用户体验,这里不仅限于个性化与热门之间的均衡矛盾,还包括有其他推荐类别之间的矛盾,这里以个性化为热门之间的均衡矛盾为例进行说明,基于此,本发明实施例提供了一种基于人工智能的推荐方法,其是采用基于强化学习的均衡个性化与热度的推荐模型实现的,采用强化学习模型,强化学习模型中的动作(action)为每屏出热门文章的篇数,奖励(reward)为因此而获得的浏览量/播放量,旧状态(old_state)是采取该action前的环境以及用户的特征表示,new_state为采取该action后的环境以及用户的特征表示,是否终止(is_terminal)具体是判断是否为最后一刷新闻,预测器网络采用多层感知模型,最后一层全连接层输出为动作以及动作得分,通过强化学习模型,学习到用户对于热度(某一个推荐信息类别)的需求程度,捕捉到用户对于个性化与热度的均衡点,实时准确的反映到推荐模型当中,尽最大可能的去满足所有用户的需求,力求做到更好的用户体验,本发明实施例提供的均衡个性化与热度的预测器模型对于相关技术中的排序模型进行修正,更好地满足了用户对于个性化以及热度的均衡需求,最大可能的满足了更多用户的需求,做到了更好的用户体验。
本发明实施例提供一种基于人工智能的推荐方法、装置、电子设备和存储介质,能够满足用户对于多个类别的推荐信息均衡需求,下面说明本发明实施例提供的电子设备的示例性应用,本发明实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1,图1是本发明实施例提供的基于人工智能的应用场景100的一个可选的架构示意图,包括推荐系统800、推荐系统包括召回服务器500、排序服务器600、预测服务器200、重排序服务器700、终端400通过网络300连接推荐系统800,召回服务器500连接排序服务器600,网络300可以是广域网或者局域网,又或者是二者的组合,推荐系统800中通常包含四个模块:用户画像模块,召回模块(召回服务器),点击率预估模块(排序服务器),重排模块(重排序服务器),用户所使用的终端400发送请求至推荐系统800,这可以是由用户直接发送的请求,还可以是在用户使用过程中通过终端中的SDK检测到页面中有信息位时可以发送请求至推荐系统800,参见图2,图2是本发明实施例提供的基于人工智能的推荐方法中推荐系统800的流程示意图,推荐系统接到客户端接入层的请求后,先调用画像服务模块,获取到用户的画像,然后将用户的画像传入到召回部分(参见图1召回服务器500),召回部分从文章池筛选好粗排的文章后输出给点击率预估部分,点击率预估部分(参见排序服务器600)对这些召回的文章进行精排序,最后取精排后的排序靠前的K个文章送入到重排序模块(参见重排序服务器700),进行最后的过滤和多样性排序,最终输出给用户的终端400进行展示,在整个推荐过程当中,预测服务器200起到了举足轻重的作用,点击率预估依赖于排序模型,排序模型的优劣决定了推荐结果的准确性,在排序模型排序后,预测服务器200会调用本发明实施例提供的基于人工智能的推荐方法中的基于强化学习的均衡多个推荐类别的预测器模型,对展示结果中的各个推荐类别的待推荐信息的占比或者数目进行调整,根据模型学习出的用户对于各个推荐类别的均衡点,决定当前显示页面会出现的各个推荐类别的待推荐信息的占比或者数目,实时的反馈到推荐结果中,力求拿到最大的收益,这里的收益可以是浏览量、访问量、播放量等等指标数据。
参见图3,图3是本发明实施例提供的基于人工智能的推荐方法中所应用到的预测器网络结构示意图,预测器网络采用多层感知结构,最后一层全连接层输出为动作空间(action space)以及对应各个工作pai的得分,预测器网络中输入的是状态特征,嵌入查询层(Embedding lookup)中的稠密矩阵与待推荐用户的状态特征相乘,以获取对应状态特征的稠密表示,将对应状态特征的稠密表示,映射为与推荐类别对应的待推荐信息的数量的评分,这里的推荐类别可以有多种,当这里的推荐类别为热门类别时,则是映射为与热门类别对应的待推荐信息的数量的评分,即这里的数量是属于热门类别的待推荐信息的数量,例如可以为1、2、3、4以及5,评分即为属于热门类别的待推荐信息的数量为1时所得到的评分,这里的评分通过浏览量、播放量等指标来表征,或者可以是通过对浏览量和播放量进行转化得到。
参见图4,图4是本发明实施例提供的应用基于人工智能的推荐方法的预测服务器200的结构示意图,图4所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220。终端200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本发明实施例提供的装置可以采用软件方式实现,图4示出了存储在存储器250中的基于人工智能的推荐装置255,其可以是程序和插件等形式的软件,包括以下软件模块:特征获取模块2551、预测模块2552、待推荐信息集合获取模块2553、推荐模块2554以及训练模块2555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于人工智能的推荐装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面将结合本发明实施例提供的服务器的示例性应用和实施,说明本发明实施例提供的基于人工智能的推荐方法,具体分为两个阶段进行说明,第一阶段是涉及到模型的训练阶段,这里的模型主要是预测器的模型,第二阶段是涉及到模型的应用阶段。
参见图5,图5是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,将结合图5示出的步骤101-102进行说明。
在步骤101中,服务器获取待推荐用户的行为日志,以构建用于训练预测器的训练样本集合,其中,预测器用于对推荐信息排布方式进行基于单一推荐类别的预测。
在一些实施例中,步骤101中所记载的服务器可以是用于训练预测服务器的训练服务器,步骤101中获取待推荐用户的行为日志,以构建用于训练预测器的训练样本集合,可以通过以下技术方案实现:提取待推荐用户的行为日志中对应单一推荐类别的日志样本数据;从日志样本数据中提取对应单一推荐类别的待推荐信息的多个数量的行为样本数据、以及对应行为样本数据的状态特征样本;其中,行为样本数据包括:浏览行为、点赞行为、转发行为、收藏行为以及评论行为;对行为样本数据进行统计处理,得到分别表征待推荐信息的多个数量的真实评分的指标数据;将状态特征样本、待推荐信息的数量以及对应数量的指标数据,组合成用于训练预测器的训练样本集合。
在一些实施例中,待推荐用户的行为日志中记载着该待推荐用户所有的行为数据,为了对预测器进行有针对性的训练,需要从日志中提取对应单一推荐类别的日志样本数据,这里的单一推荐类别与预测器是一一对应的,不同的推荐类别对应于不同的预测器,这里以推荐类别为热门类别为例,即这里得到的日志样本数据至少是和热门类别推荐相关的,例如显示页面中至少存在热门类别的推荐,从对应热门类别的日志样本数据中提取对应单一推荐类别的待推荐信息的多个数量的行为样本数据、以及对应行为样本数据的状态特征样本,这里的行为样本数据包括:浏览行为、点赞行为、转发行为、收藏行为以及评论行为,这里的行为样本数据实际上是用户针对该推荐类别下待推荐信息的某个数量设定的用户行为反馈,作为对应动作(action)的评分,即对行为样本数据进行统计处理,可以得到分别表征待推荐信息的多个数量的真实评分的指标数据,将状态特征样本、待推荐信息的数量以及对应数量的指标数据,组合成用于训练预测器的训练样本集合。
在步骤102中,服务器基于训练样本集合,以强化学习的方式对预测器进行训练。
在一些实施例中,步骤102中所记载的服务器可以是用于训练预测服务器的训练服务器,步骤102中基于训练样本集合,以强化学习的方式对预测器进行训练,可以通过以下技术方案实现,初始化预测器的参数、以及对应预测器的目标训练网络的参数;其中,在初始化中预测器的参数与预测器的目标训练网络的参数相同,目标训练网络用于训练预测器的参数;在预测器的每次迭代训练过程中执行以下处理:通过预测器对状态特征样本以及推荐类别的待推荐信息的数量进行预测处理,得到与推荐类别的待推荐信息的多个数量一一对应的多个训练评分以及多个新状态特征样本,并结合贪婪机制从待推荐信息的多个数量确定出预测的待推荐信息的数量;得到新状态特征样本和对应状态特征样本的奖励,并将状态特征样本、新状态特征样本、奖励、预测的待推荐信息的数量以及状态特征样本的进展状态作为一个数组存入经验回放集合;从经验回放集合中随机采样多个样本组,并确定每个样本组对应的目标训练评分;将目标训练评分以及对应预测的待推荐信息的数量的训练评分代入损失函数中,以通过梯度反向传播更新预测器的参数直至状态特征样本的进展状态为终止状态。
在一些实施例中,可以通过强化学习中的基础训练模型的训练流程训练预测器,正向传输过程中的输入包括迭代轮数T,状态特征维度n,动作集A,步长α,衰减因子γ,探索率∈,预测器的网络结构(Q网络),批量梯度下降的样本数m,输出是Q网络参数,中间的步骤如下:随机初始化Q网络的所有参数w,基于w初始化所有的状态和动作对应的价值Q,清空经验回放的集合D,从迭代轮数1开始进行迭代,迭代过程如下:初始化当前状态序列的第一个状态,获取对应该状态的特征向量φ(S),在Q网络中使用φ(S)作为输入,得到Q网络的所有动作(action space中的各个action)对应的Q值输出,用基于探索率∈的贪婪法在当前Q值输出中选择对应的动作A,在状态S执行当前动作A,得到新状态S′,对应新状态的特征向量φ(S′)和动作A的奖励R,以及当前是否为终止状态,将{φ(S),A,R,φ(S′),是否为终止状态}这个五元组存入经验回放集合D,接下来上述步骤的新状态变为了当前状态,从经验回放集合D中采样m个样本{φ(Sj),Aj,Rj,φ(S′j),是否为终止状态j},j=1-m中的任一值,参见以下公式(1)计算当前目标Q值yj:
通过均方差损失函数以及神经网络的梯度反向传播来更新Q网络的所有参数w,如果S′是终止状态,即这里是最后一刷推荐信息,则当前迭代完毕,否则重复上述正向传递过程,实际应用中,为了算法较好的收敛,探索率∈需要随着迭代的进行而变小,这里,action为每屏显示出某推荐类别的待推荐信息的数量,可以是每屏显示出热门文章的篇数,action space为action可选择的范围,即数量的候选值,奖励reward为因为action以及状态特征而获得的评分,具体可以通过浏览量、播放量等等表示,当前状态(old_state)是采取该action前的环境以及用户的特征表示,新状态(new_state)为采取该action后的环境以及用户的特征表示,is_end表征当前是否为最后一刷待推荐信息。
在一些实施例中,还可以通过强化学习中的改进训练模型的训练流程训练预测器,正向传输过程中的输入包括迭代轮数T,状态特征维度n,动作集A,步长α,衰减因子γ,探索率∈,预测器的网络结构(Q网络),与Q网络对应的目标网络Q′,批量梯度下降的样本数m,目标网络Q′参数更新频率C,输出是Q网络参数,中间的步骤如下:随机初始化Q网络的所有参数w,基于w初始化所有的状态和动作对应的价值Q,初始化目标网络Q′的参数w′=w,清空经验回放的集合D,从迭代轮数1开始进行迭代,迭代过程如下:初始化当前状态序列的第一个状态,获取对应该状态的特征向量φ(S),在Q网络中使用φ(S)作为输入,得到Q网络的所有动作(action space中的各个action)对应的Q值输出,用基于探索率∈的贪婪法在当前Q值输出中选择对应的动作A,在状态S执行当前动作A,得到新状态S′,对应新状态的特征向量φ(S′)和动作A的奖励R,以及当前是否为终止状态,将{φ(S),A,R,φ(S′),是否为终止状态}这个五元组存入经验回放集合D,接下来上述步骤的新状态变为了当前状态,从经验回放集合D中采样m个样本{φ(Sj),Aj,Rj,φ(S′j),是否为终止状态j},j=1-m中的任一值,参见以下公式(2)计算当前目标Q值yj:
使用均方差损失函数,通过神经网络的梯度反向传播来更新预测器网络的所有参数w,如果T与C的模值为1,则更新目标网络Q′参数w′=w,即定期更新目标网络Q′参数,Q网络会在每次迭代过程中进行更新,但是只在T与C的模值为1时才会将当前的Q网络的参数赋予给目标网络Q′,如果S′是终止状态,即这里是最后一刷推荐信息,则当前迭代完毕,否则重复上述正向传递过程,实际应用中,为了算法较好的收敛,探索率∈需要随着迭代的进行而变小,这里,action为每屏显示出某推荐类别的待推荐信息的数量,可以是每屏显示出热门文章的篇数,action space为action可选择的范围,即数量的候选值,奖励reward为因为action以及状态特征而获得的评分,具体可以通过浏览量、播放量等等表示,当前状态(old_state)是采取该action前的环境以及用户的特征表示,新状态(new_state)为采取该action后的环境以及用户的特征表示,is_end表征当前是否为最后一刷待推荐信息。
在一些实施例中,还可以通过强化学习中的改进训练模型的训练流程训练预测器,正向传输过程中的输入包括迭代轮数T,状态特征维度n,动作集A,步长α,衰减因子γ,探索率∈,预测器的网络结构(Q网络),与Q网络对应的目标网络Q′,批量梯度下降的样本数m,目标网络Q′参数更新频率C,输出是Q网络参数,中间的步骤如下:随机初始化Q网络的所有参数w,基于w初始化所有的状态和动作对应的价值Q,初始化目标网络Q′的参数w′=w,清空经验回放的集合D,从迭代轮数1开始进行迭代,迭代过程如下:初始化当前状态序列的第一个状态,获取对应该状态的特征向量φ(S),在Q网络中使用φ(S)作为输入,得到Q网络的所有动作(action space中的各个action)对应的Q值输出,用基于探索率∈的贪婪法在当前Q值输出中选择对应的动作A,在状态S执行当前动作A,得到新状态S′,对应新状态的特征向量φ(S′)和动作A的奖励R,以及当前是否为终止状态,将{φ(S),A,R,φ(S′),是否为终止状态}这个五元组存入经验回放集合D,接下来上述步骤的新状态变为了当前状态,从经验回放集合D中采样m个样本{φ(Sj),Aj,Rj,φ(S′j),是否为终止状态j},j=1-m中的任一值,参见以下公式(2)计算当前目标Q值yj:
使用均方差损失函数,通过神经网络的梯度反向传播来更新预测器网络的所有参数w如果T与C的模值为1,则更新目标网络Q′参数w′=w,即定期更新目标网络Q′参数,Q网络会在每次迭代过程中进行更新,但是只在T与C的模值为1时才会将当前的Q网络的参数赋予给目标网络Q′,这里的均方差损失函数参见公式(4):
如果S′是终止状态,即这里是最后一刷推荐信息,则当前迭代完毕,否则重复上述正向传递过程,实际应用中,为了算法较好的收敛,探索率∈需要随着迭代的进行而变小,这里,action为每屏显示出某推荐类别的待推荐信息的数量,可以是每屏显示出热门文章的篇数,action space为action可选择的范围,即数量的候选值,奖励reward为因为action以及状态特征而获得的评分,具体可以通过浏览量、播放量等等表示,当前状态(old_state)是采取该action前的环境以及用户的特征表示,新状态(new_state)为采取该action后的环境以及用户的特征表示,is_end表征当前是否为最后一刷待推荐信息。
在一些实施例中,这里不再是直接在目标Q网络里面找各个动作中最大的Q值,而是先在当前预测器网络中先找出最大Q值对应的动作,即参见公式(5)
amax(S′j,w)=argmaxa′Q(f(S′j),a,w) (5)
然后利用这个选择出来的动作amax(S′j,w)在目标网络里面去计算目标Q值,参见公式(6):
yj=Rj+γQ′(f(S′j),amax(S′j,w),w′) (6)
将公式(5)和公式(6)综合起来即为公式(3)。
参见图6A,图6A是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,将结合图6A示出的步骤103-106进行说明。
在步骤103中,服务器获取待推荐用户的用户特征以及环境特征,并组合为待推荐用户的状态特征。
在一些实施例中,步骤103中所记载的服务器可以是图1中的预测服务器,步骤103中获取待推荐用户的用户特征以及环境特征,可以通过以下技术方案实现,获取对应待推荐用户的以下至少之一的用户特征:用于表征待推荐用户的基本信息的基础属性特征;用于表征用户社会关系的社会关系特征;用于表征用户互动行为的互动行为特征;用于表征用户阅读偏好的阅读心理特征;获取对应待推荐用户的以下至少之一的环境特征:用于表征向待推荐用户进行推荐的推荐时间的时间特征;用于表征待推荐用户所处位置的用户位置特征;用于表征待推荐用户所使用设备的设备特征;用于表征待推荐用户所使用的设备所处的网络环境的网络特征;用于表征向待推荐用户推荐的上一屏幕所展示的推荐信息的信息特征。
在一些实施例中,基本信息可以是用户的性别、年龄、长期居住地等基本属性,社会关系可以是是否婚配或者工作岗位等等具有社会属性,用户互动行为可以是点赞、转发或者收藏等等行为,阅读偏好可以是阅读兴趣,兴趣点可以是娱乐八卦或是国际新闻等等,待推荐信息类别可以是信息展示载体类别,例如,视频信息、图像信息或者文本信息,待推荐信息内容可以是内容主题,例如教育话题或者娱乐话题等等。
在一些实施例中,环境特征对于推荐信息排布方式的预测也有影响,向待推荐用户进行推送的时间会影响到待推荐用户是否有空闲观看待推荐信息,从而影响到最终的评分,即当前环境特征下所预测得到的各个评分基准线值相对就会较低,待推荐用户的位置表征待推荐用户当前所处的生活场景,不同的生活场景对于指标的预测是有影响的,例如,当位置特征表征待推荐用户处在电影院,对于时长和点击率的预测结果和位置特征表征待推荐用户处在自习室的预测结果会有较大差异,待推荐用户所使用的设备所处的网络会影响待推荐用户是否希望接收到视频等需要耗费较大网络资源的待推荐信息。
在步骤104中,服务器基于状态特征预测对应待推荐用户的推荐信息排布方式,其中,推荐排布方式包括多个推荐类别、以及每个推荐类别的待推荐信息的数量。
这里,步骤104中所记载的服务器可以是图1中的预测服务器,数量可以是针对每个推荐类别的待推荐信息的具体数值,也可以在每个推荐类别的待推荐信息的数值、与全部类别的待推荐信息的数值之间的比值。
参见图6B,图6B是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,步骤104中基于状态特征预测对应待推荐用户的推荐信息排布方式可以通过步骤1041-1044实现,将结合图6B示出的步骤1041-1044进行说明。
在步骤1041中,确定对应待推荐用户的推荐信息排布方式中所包括的推荐类别。
在一些实施例中,步骤1041中确定对应待推荐用户的推荐信息排布方式中所包括的推荐类别可以通过以下技术方案实现,将待推荐用户观看的页面适配的至少两个信息类别确定为推荐信息排布方式中包括的推荐类别;将待推荐用户预先设定的所偏好的至少两个信息类别确定为推荐信息排布方式中包括的推荐类别;将与待推荐用户的用户特征相似的至少两个信息类别确定为推荐信息排布方式中包括的推荐类别。
在一些实施例中,当等待时间阈值内没有接收到针对推荐类别的选择操作时,查询待推荐用户的行为日志,以获取行为日志中用户行为活跃数据超过行为活跃阈值的待推荐信息的类别,这里行为活跃数据超过行为活跃阈值意味着用户日常偏向于该类型的待推荐信息,即以所偏好的推荐类型作为推荐信息排布方式中的推荐类型,即主要进行预测的类型,从而节约模型预测资源。
在步骤1042中,调用对应推荐类别的预测器,将对应推荐类别的预测器中的稠密矩阵与待推荐用户的状态特征相乘,以获取对应状态特征的稠密表示。
在步骤1043中,将对应状态特征的稠密表示,映射为与推荐类别对应的待推荐信息的数量的评分。
在步骤1044中,将最高的评分对应的待推荐信息的数量,确定为与推荐类别对应的待推荐信息的数量。
在一些实施例中,预测器网络采用多层感知结构,最后一层全连接层输出为动作空间(action space)以及对应各个工作的得分,预测器网络中输入的是状态特征,嵌入查询层(Embedding lookup)中的稠密矩阵与待推荐用户的状态特征相乘,以获取对应状态特征的稠密表示,将对应状态特征的稠密表示,映射为与推荐类别对应的待推荐信息的数量的评分,这里的推荐类别可以有多种,例如基于个性化的推荐类别、热门推荐类别、广告推荐类别、社交推荐类别等等,当这里的推荐类别为热门类别时,则是映射为与热门类别对应的待推荐信息的数量的评分,即这里的数量是属于热门类别的待推荐信息的数量,例如可以为1、2、3、4以及5,评分即为属于热门类别的待推荐信息的数量为1时所得到的评分,这里的评分通过浏览量、播放量等指标来表征,或者可以是通过对浏览量和播放量进行转化得到。
在一些实施例中,步骤104中基于状态特征预测对应待推荐用户的推荐信息排布方式,还可以通过以下技术方案实现,将对应待推荐用户显示的页面中被配置的多个类别,确定为对应待推荐用户的推荐信息排布方式中包括的多个类别;其中,所述推荐类别包括热门推荐类别和个性化推荐类别;基于状态特征,预测在页面中呈现每个类别的待推荐信息的数量。
在一些实施例中,预测得到的推荐信息排布方式中的预测得到的待推荐信息的推荐类别和属于各个类别的待推荐信息的数量,这里的推荐信息排布方式是基于一个显示的页面进行预测的,这里的多个理解为至少两个。
在一些实施例中,预测得到的推荐信息的排布方式不是基于一个显示的页面进行预测的,即预测得到的推荐信息排布方式和显示的页面无关,这里的推荐信息排布方式中所包括的推荐类别可以有多个,不受客户端中显示的页面的束缚,各个推荐类别下的待推荐信息的数量也不受客户端中显示的页面的约束,即在后续所实施的过程中,需要由客户端来决策推荐过程中显示对应推荐用户的待推荐信息集合的方式。
在步骤105中,服务器获取与每个推荐类别的数量对应的待推荐信息,并组合为对应推荐用户的待推荐信息集合。
这里,步骤105中所记载的服务器可以是图1中的预测服务器。
在执行步骤105中获取与每个推荐类别的数量对应的待推荐信息之前,本发明实施例提供的基于人工智能的推荐方法还包括以下技术方案,通过图1中的排序服务器实现,获取对应待推荐用户的召回信息;基于待推荐用户的用户特征和环境特征、以及召回信息对应的信息特征,对召回信息的评分进行降序排序,步骤105中获取与每个推荐类别的数量对应的待推荐信息,可以通过以下技术方案实现,从降序排序中选取排序在前的、且属于推荐类别的召回信息,以作为相应推荐类别的待推荐信息。
在一些实施例中,召回信息是在召回模块获得的信息,也可以是通过粗排序获得的信息,采用因子分解机结合神经网络的模型,将用户侧特征(比如用户偏好品类,用户偏好标签,用户年龄,性别,机型等),文章侧特征(比如文章分类,文章标签,文章点击数,文章曝光量,文章作者,文章调性等),以及上下文环境特征(比如访问时间,上一屏幕展示的内容等)输入到模型中进行训练,预测项可以是文章的被点击概率。
在一些实施例中,上述获取对应待推荐用户的召回信息,可以通过以下技术方案实现,通过图1中的召回服务器实现,获取以下至少一个类型的信息,以作为对应待推荐用户的召回信息:与对应待推荐用户的历史浏览信息之间的内容相似,且内容相似度不小于内容相似度阈值的信息;与对应待推荐用户的历史行为信息之间的行为相似,且行为相似度不小于行为相似度阈值的信息。
在一些实施例中,可以通过推荐系统中的召回服务器获取多个待推荐信息,这里获取多个待推荐信息是响应于待推荐用户的用户请求,这里的用户请求可以是携带有特定目标的查询请求,还可以是初始化应用的请求,这里的行为相似度指的是用户历史行为信息与待推荐信息之间的相似度,内容相似度指的是用户历史浏览信息与待推荐信息之间的相似度。
在一些实施例中,上述步骤中基于待推荐用户的用户特征和环境特征、以及召回信息对应的信息特征,对召回信息的评分进行降序排序,可以通过以下技术方案实现,将待推荐用户的历史浏览信息的特征与每个召回信息对应的特征进行合并处理,得到对应召回信息的信息特征;将待推荐用户的用户特征和环境特征、以及与召回信息对应的特征,进行基于特征相关性的特征组合处理,得到对应召回信息的指标特征;将对应每个召回信息的信息特征以及指标特征进行融合处理,得到每个召回信息的评分;根据每个召回信息的评分进行降序排序。
在一些实施例中,将待推荐用户的历史浏览信息的特征与每个召回信息对应的特征进行合并处理,得到对应召回信息的信息特征,这里的历史浏览信息可以是历史浏览记录中最靠近当前时间点的10条点击序列,这里的召回信息即为当前需要进行预测的信息,这里的信息特征中包括文章侧特征(比如文章分类,文章标签,文章点击数,文章曝光量,文章作者,文章调性等),通过嵌入查询层将各个点击序列(当前和历史点击序列)的特征映射到低维空间,再通过连接函数将对低维空间中的特征向量进行连接,最后通过全连接层得到对应召回信息的信息特征,将待推荐用户的用户特征和环境特征、以及与召回信息对应的特征,进行基于特征相关性的特征组合处理,得到对应召回信息的指标特征,这里基于特征相关性的特征组合处理是基于因子分解机实现的,常见的线性模型,比如线性回归、逻辑回归等,它只考虑了每个特征对结果的单独影响,而没有考虑特征间的组合对结果的影响,而在某些情况下,若干的特征经过组合或者关联之后对于结果的影响比较大,这里的指标特征是对上述特征进行相关性特征组合得到的用于预测的特征,将对应每个召回信息的信息特征以及指标特征进行融合处理,得到每个召回信息的评分,最后将因子分解机模型的结果,与神经网络的输出结果求和,再通过激活函数对求和的值激活,得到最后预测值。
在一些实施例中,步骤105中获取与每个推荐类别的数量对应的待推荐信息,并组合为对应推荐用户的待推荐信息集合,可以通过以下技术方案实现,基于预测得到的与多个推荐类别分别一一对应的待推荐信息的数量,确定数量超过对应所属推荐类别的数量的待推荐信息,并删除至不超过对应所属推荐类别的待推荐信息的数量;召回与被删除的待推荐信息数目一致的在降序排序中未被保留的待推荐信息;将经过删除以及召回得到待推荐信息,组合为对应推荐用户的待推荐信息集合。
在一些实施例中,这里的删除操作和召回操作是基于推荐信息排布方式所进行的调整,对于经过排序获得的待推荐信息中各个推荐类别的待推荐信息的数量可以不同,例如,对于热门类别的待推荐信息而言,其预测出来的数量是每10条里面有3条,但是经过排序获得的待推荐信息中可以存在8条甚至更多的热门类别的待推荐信息,因此,需要将待推荐信息中属于热门类别的待推荐信息进行删除,这里删除的顺序可以是按照排序的评分进行删除,还可以是随机删除,直到待推荐信息中属于热门类别的待推荐信息不超过3条为止,由于删掉了属于热门类别的待推荐信息,导致待推荐信息的数量不足10条,因此需要将其他推荐类别的待推荐信息进行召回,这里召回的数量可以是5(8-3=5)条,召回后的结果需要满足各类待推荐信息的数量均不超过预测得到的推荐信息排布方式中各类待推荐信息的数量。
在步骤106中,服务器基于推荐信息集合,执行对应待推荐用户的推荐操作。
在一些实施例中,步骤106中所记载的服务器可以是图1中的预测服务器,步骤106中基于推荐信息集合,执行对应待推荐用户的推荐操作,可以通过以下技术方案实现,当待推荐用户的客户端的每屏空余显示信息位的数目不小于待推荐信息集合中待推荐信息的数目时,通过待推荐用户的客户端从待推荐信息集合中提取出所有待推荐信息;当待推荐用户的客户端的每屏空余显示信息位的数目小于待推荐信息集合中待推荐信息的数目时,通过待推荐用户的客户端从待推荐信息中提取与每屏空余显示信息位相同数目的待推荐信息;响应于接收到针对客户端的刷新操作,通过客户端从待推荐信息集合的剩余待推荐信息中提取与当前空余显示信息位相同数目的待推荐信息,直至将待推荐信息集合中所有待推荐信息推送至客户端。
在一些实施例中,上述通过待推荐用户的客户端从待推荐信息中提取与每屏空余显示信息位相同数目的待推荐信息,可以通过以下技术方案实现,通过客户端获取每个推荐类别的待推荐信息的数量,以根据每个推荐类别的待推荐信息的数量确定属于不同类型的待推荐信息在待推荐信息集合中所有待推荐信息中的占比;将不同类型的待推荐信息在所有待推荐信息中的占比,确定为客户端中所显示的不同类型的待推荐信息在客户端中所显示的所有待推荐信息中的显示占比;按照显示占比,从待推荐信息集合中所有待推荐信息中提取不同类型的待推荐信息。
在一些实施例中,针对待推荐用户的前端显示的页面,推荐信息排布方式中所预测的待推荐信息的总数量,可以与在显示的页面的一次显示所能呈现的数量一致,也可以大于一次呈现的数量,从而可以通过页面刷新进行显示,这里的刷新可以是定期刷新,或者是离开当前页面,又回退到该页面时产生刷新操作,即对应推荐信息排布方式的页面可以仅是当前页面,还可以是一个持续的显示过程,即多屏所产生的多个页面,或者单屏设备中客户端通过刷新操作所触发的多页面显示。
下面,将说明本发明实施例提供的基于人工智能的推荐方法在一个实际的应用场景中的示例性应用。
本发明实施例提供的基于人工智能的推荐方法可以应用于新闻的推荐系统中,采用强化学习模型,强化学习模型中的动作(action)为每屏出热门文章的篇数,奖励(reward)为因此而获得的浏览量/播放量,旧状态(old_state)是采取该action前的环境以及用户的特征表示,new_state为采取该action后的环境以及用户的特征表示,是否终止(is_terminal)具体是判断是否为最后一刷新闻,预测器网络采用多层感知模型,最后一层全连接层输出为动作以及动作得分,通过强化学习模型,学习到用户对于热度(某一个推荐信息类别)的需求程度,捕捉到用户对于个性化与热度的均衡点,实时准确的反映到推荐模型当中,尽最大可能的去满足所有用户的需求,力求做到更好的用户体验,本发明实施例提供的均衡个性化与热度的预测器模型对于相关技术中的排序模型进行修正,更好地满足了用户对于个性化以及热度的均衡需求,最大可能的满足了更多用户的需求,做到了更好的用户体验。
新闻推荐系统中,通常包含四个模块:用户画像模块,召回模块,点击率预估模块,重排模块。推荐系统接到接入层的请求后,先调用画像服务模块,获取到用户的画像,然后将用户的画像传入到召回模块,召回模块从文章池筛选好粗排的文章后输出给点击率预估模块,点击率预估模块对这些召回的文章进行精排序,最后取精排后的top-k文章送入到重排模块,进行最后的过滤和多样性排序,最终输出给用户进行展示。在整个推荐过程当中,点击率预估模块起到了举足轻重的作用。点击率预估模块依赖于排序模型,排序模型的优劣决定了推荐结果的准确性。
本发明实施例提供的排序模型,采用因子分解机和常规神经网络模型结合的模型,将用户侧特征(比如用户偏好品类,用户偏好标签,用户年龄,性别,机型等),文章侧特征(比如文章分类,文章标签,文章点击数,文章曝光量,文章作者,文章调性等),以及上下文环境特征(比如访问时间,上一屏幕展示的内容等)输入到模型中进行训练,预测项是文章的被点击概率,参见图7,图7是本发明实施例提供的排序模型的模型示意图,其所采用的损失函数是交叉熵损失函数,优化算法是随机梯度下降算法,一次训练所选取的样本数是256,对训练集中的样本训练2次,通过小时级增量进行更新,基于单机单卡的方式使用图形处理器。
这里,将待推荐用户的历史浏览信息(历史点击序列)的特征与每个召回信息(当前序列)对应的特征进行合并处理,得到对应召回信息的信息特征;将待推荐用户的用户特征和环境特征、以及与召回信息对应的特征,进行基于特征相关性的特征组合处理,得到对应召回信息的指标特征;将对应每个召回信息的信息特征以及指标特征进行融合处理,得到每个召回信息的评分;根据每个召回信息的评分进行降序排序。
具体的,将待推荐用户的历史浏览信息的特征与每个召回信息对应的特征进行合并处理,得到对应召回信息的信息特征,这里的历史浏览信息可以是历史浏览记录中最靠近当前时间点的10条点击序列,这里的召回信息即为当前需要进行预测的信息,这里的信息特征中包括文章侧特征(比如文章分类,文章标签,文章点击数,文章曝光量,文章作者,文章调性等),通过嵌入查询层将各个点击序列(当前和历史点击序列)的特征映射到低维空间,再通过连接函数将对低维空间中的特征向量进行连接,最后通过全连接层得到对应召回信息的信息特征,将待推荐用户的用户特征和环境特征、以及与召回信息对应的特征,进行基于特征相关性的特征组合处理,得到对应召回信息的指标特征,这里基于特征相关性的特征组合处理是基于因子分解机实现的,图7中的因子分解机的特征组合公式(7)如下:
其中,参数<vi,vj>表示的是两个向量的点积,vi表示的是系数矩阵V的第i维向量,xixj表征需要被组合的特征,w是每个特征的权重系数,n是样本的维度,在因子分解机FM模型中,前面两部分是传统的线性模型,最后一部分将两个互异特征分量之间的相互关系考虑进来。因子分解机FM也可以推广到高阶的形式,即将更多互异特征分量之间的相互关系考虑进来。
常见的线性模型,比如线性回归、逻辑回归等,它只考虑了每个特征对结果的单独影响,而没有考虑特征间的组合对结果的影响,而在某些情况下,若干的特征经过组合或者关联之后对于结果的影响比较大,这里的指标特征是对上述特征进行相关性特征组合得到的用于预测的特征,将对应每个召回信息的信息特征以及指标特征进行融合处理,得到每个召回信息的评分,最后将因子分解机模型的结果,与神经网络的输出结果求和,再通过激活函数对求和的值激活,得到最后预测值。
本发明实施例提出了一种基于强化学习的用于均衡个性化与热度的预测器模型,采用强化学习模型,学习用户对于热度的需求程度,捕捉用户对于个性化与热度的均衡点,实时准确的反映到推荐模型当中,尽最大可能的去满足所有用户的需求,力求做到更好的用户体验,action为每屏出热门文章的篇数;a ction space为action可选择的范围;reward为因此而获得的浏览量、播放量数目;old_state是采取该action前的环境以及用户的特征表示;new_state为采取该action后的环境以及用户的特征表示;is_end为是否是最后一刷新闻;其中,预测器(Q网络)采用多层感知结构,最后一层全连接层输出为actionspace以及对应action space中各个aciton的得分。
下面介绍强化学习模型的训练方法,参见图8,图8是本发明实施例提供的强化学习训练模型的架构图,正向传输过程中的输入包括迭代轮数T,状态特征维度n,动作集A,步长α,衰减因子γ,探索率∈,预测器的网络结构(Q网络),与Q网络对应的目标网络Q′,批量梯度下降的样本数m,目标网络Q′参数更新频率C,输出是Q网络参数,中间的步骤如下:随机初始化所有状态和动作对应的价值Q,随机初始化当前Q网络的所有参数w,初始化目标网络Q′的参数w′=w,清空经验回放的集合D,从迭代轮数1开始进行迭代,迭代过程如下:初始化当前状态序列的第一个状态,获取对应该状态的特征向量φ(S),在Q网络中使用φ(S)作为输入,得到Q网络的所有动作(action space中的各个action)对应的Q值输出,用基于探索率∈的贪婪法在当前Q值输出中选择对应的动作A,在状态S执行当前动作A,得到新状态S′,对应新状态的特征向量φ(S′)和动作A的奖励R,以及当前是否为终止状态(is_end),将{φ(S),A,R,φ(S′),是否为终止状态(is_end)}这个五元组存入经验回放集合D,接下来上述步骤的新状态变为了当前状态,从经验回放集合D中采样m个样本{φ(Sj),Aj,Rj,φ(S′j),是否为终止状态j},j=1-m中的任一值,参见以下公式(3)计算当前目标Q值yj:
使用均方差损失函数,通过神经网络的梯度反向传播来更新预测器网络的所有参数w如果T与C的模值为1,则更新目标网络Q′参数w′=w,即定期更新目标网络Q′参数,Q网络会在每次迭代过程中进行更新,但是只在T与C的模值为1时才会将当前的Q网络的参数赋予给目标网络Q′,这里的均方差损失函数参见公式(4):
如果S′是终止状态,即这里是最后一刷推荐信息,则当前迭代完毕,否则重复上述正向传递过程,实际应用中,为了算法较好的收敛,探索率∈需要随着迭代的进行而变小,这里不再是直接在目标Q网络里面找各个动作中最大的Q值,而是先在当前预测器网络中先找出最大Q值对应的动作,即参见公式(5)
amax(S′j,w)=argmaxa′Q(f(S′j),a,w) (5)
然后利用这个选择出来的动作amax(S′j,w)在目标网络里面去计算目标Q值,参见公式(6):
yj=Rj+γQ′(f(S′j),amax(S′j,w),w′) (6)
将公式(5)和公式(6)综合起来即为公式(3)。
在排序模型排序后,会调用基于强化学习的均衡个性化与热度的预测器模型,对展示结果中的热门文章占比进行调整,根据模型学习出的用户对于个性化与热点的均衡点,决定当前展示屏会出现的热门文章数,实时的反馈到推荐结果中,力求拿到最大的收益,本发明实施例提供的均衡个性化与热度的推荐模型对于排序模型的修正,学习到用户对于热度的需求程度,捕捉到用户对于个性化与热度的均衡点,实时准确的反映到推荐模型当中,更好的满足了用户对于个性化以及热度的均衡需求,最大可能的满足了更多用户的需求,做到了更好的用户体验。本发明实施例的主要创新点在于,通过强化学习的训练方式,使预测器模型学习用户对于热度的需求程度,捕捉用户对于个性化与热度的均衡点,其中预测器(Q网络)采用的多层感知结构,也可以采用其他的网络形式。
下面继续说明本发明实施例提供的基于人工智能的推荐装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的基于人工智能的推荐装置255中的软件模块可以包括:特征获取模块2551,用于获取待推荐用户的用户特征以及环境特征,并组合为待推荐用户的状态特征;预测模块2552,用于基于状态特征预测对应待推荐用户的推荐信息排布方式,其中,推荐排布方式包括多个推荐类别、以及每个推荐类别的待推荐信息的数量;待推荐信息集合获取模块2553,用于获取与每个推荐类别的数量对应的待推荐信息,并组合为对应推荐用户的待推荐信息集合;推荐模块2554,用于基于推荐信息集合,执行对应待推荐用户的推荐操作。
在一些实施例中,特征获取模块2551,还用于:获取对应待推荐用户的以下至少之一的用户特征:用于表征待推荐用户的基本信息的基础属性特征;用于表征用户社会关系的社会关系特征;用于表征用户互动行为的互动行为特征;用于表征用户阅读偏好的阅读心理特征;获取对应待推荐用户的以下至少之一的环境特征:用于表征向待推荐用户进行推荐的推荐时间的时间特征;用于表征待推荐用户所处位置的用户位置特征;用于表征待推荐用户所使用设备的设备特征;用于表征待推荐用户所使用的设备所处的网络环境的网络特征;用于表征向待推荐用户推荐的上一屏幕所展示的推荐信息的信息特征。
在一些实施例中,预测模块2552,还用于:确定对应待推荐用户的推荐信息排布方式中所包括的推荐类别;调用对应推荐类别的预测器,将对应推荐类别的预测器中的稠密矩阵与待推荐用户的状态特征相乘,以获取对应状态特征的稠密表示;将对应状态特征的稠密表示,映射为与推荐类别对应的待推荐信息的数量的评分;将最高的评分对应的待推荐信息的数量,确定为与推荐类别对应的待推荐信息的数量。
在一些实施例中,预测模块2552,还用于:将待推荐用户观看的页面适配的至少两个信息类别确定为推荐信息排布方式中包括的推荐类别;将待推荐用户预先设定的所偏好的至少两个信息类别确定为推荐信息排布方式中包括的推荐类别;将与待推荐用户的用户特征相似的至少两个信息类别确定为推荐信息排布方式中包括的推荐类别。
在一些实施例中,预测模块2552,还用于:将对应待推荐用户显示的页面中被配置的多个类别,确定为对应待推荐用户的推荐信息排布方式中包括的多个类别;其中,所述推荐类别包括热门推荐类别和个性化推荐类别;基于状态特征,预测在页面中呈现每个类别的待推荐信息的数量。
在一些实施例中,推荐模块2554,还用于:在获取与每个推荐类别的数量对应的待推荐信息之前,方法还包括:获取对应待推荐用户的召回信息;基于待推荐用户的用户特征和环境特征、以及召回信息对应的信息特征,对召回信息的评分进行降序排序;待推荐信息集合获取模块2553,还用于:从降序排序中选取排序在前的、且属于推荐类别的召回信息,以作为相应推荐类别的待推荐信息。
在一些实施例中,推荐模块2554,还用于:获取以下至少一个类型的信息,以作为对应待推荐用户的召回信息:与对应待推荐用户的历史浏览信息之间的内容相似,且内容相似度不小于内容相似度阈值的信息;与对应待推荐用户的历史行为信息之间的行为相似,且行为相似度不小于行为相似度阈值的信息。
在一些实施例中,推荐模块2554,还用于:将待推荐用户的历史浏览信息的特征与每个召回信息对应的特征进行合并处理,得到对应召回信息的信息特征;将待推荐用户的用户特征和环境特征、以及与召回信息对应的特征,进行基于特征相关性的特征组合处理,得到对应召回信息的指标特征;将对应每个召回信息的信息特征以及指标特征进行融合处理,得到每个召回信息的评分;根据每个召回信息的评分进行降序排序。
在一些实施例中,待推荐信息集合获取模块2553,还用于:基于预测得到的与多个推荐类别分别一一对应的待推荐信息的数量,确定数量超过对应所属推荐类别的数量的待推荐信息,并删除至不超过对应所属推荐类别的待推荐信息的数量;召回与被删除的待推荐信息数目一致的在降序排序中未被保留的待推荐信息;将经过删除以及召回得到待推荐信息,组合为对应推荐用户的待推荐信息集合。
在一些实施例中,基于人工智能的推荐装置255还包括:训练模块2555,用于:获取待推荐用户的行为日志,以构建用于训练预测器的训练样本集合;其中,预测器用于对推荐信息排布方式进行基于单一推荐类别的预测;基于训练样本集合,以强化学习的方式对预测器进行训练。
在一些实施例中,训练模块2555,还用于:提取待推荐用户的行为日志中对应单一推荐类别的日志样本数据;从日志样本数据中提取对应单一推荐类别的待推荐信息的多个数量的行为样本数据、以及对应行为样本数据的状态特征样本;其中,行为样本数据包括:浏览行为、点赞行为、转发行为、收藏行为以及评论行为;对行为样本数据进行统计处理,得到分别表征待推荐信息的多个数量的真实评分的指标数据;将状态特征样本、待推荐信息的数量以及对应数量的指标数据,组合成用于训练预测器的训练样本集合。
在一些实施例中,训练模块2555,还用于:初始化预测器的参数、以及对应预测器的目标训练网络的参数;其中,在初始化中预测器的参数与预测器的目标训练网络的参数相同,目标训练网络用于训练预测器的参数;在预测器的每次迭代训练过程中执行以下处理:通过预测器对状态特征样本以及推荐类别的待推荐信息的数量进行预测处理,得到与推荐类别的待推荐信息的多个数量一一对应的多个训练评分以及多个新状态特征样本,并结合贪婪机制从待推荐信息的多个数量确定出预测的待推荐信息的数量;得到新状态特征样本和对应状态特征样本的奖励,并将状态特征样本、新状态特征样本、奖励、预测的待推荐信息的数量以及状态特征样本的进展状态作为一个数组存入经验回放集合;从经验回放集合中随机采样多个样本组,并确定每个样本组对应的目标训练评分;将目标训练评分以及对应预测的待推荐信息的数量的训练评分代入损失函数中,以通过梯度反向传播更新预测器的参数直至状态特征样本的进展状态为终止状态。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的基于人工智能的推荐方法,例如,如图5、图6A-6B示出的基于人工智能的推荐方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过预测多个待推荐信息的所属的推荐类别和对应各个推荐类别的待推荐信息的数量,对待推荐信息中各个推荐类别的待推荐信息进行调整,从而能够满足用户对于多个类别的推荐信息的均衡需求。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。