一种推荐列表的生成方法、装置和电子设备与流程

文档序号:20769712发布日期:2020-05-15 19:30阅读:187来源:国知局
一种推荐列表的生成方法、装置和电子设备与流程

本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种推荐列表的生成方法、装置和电子设备。



背景技术:

随着互联网技术的蓬勃发展,网络服务商为用户提供了诸如新闻、商品、图片、视频、音频、文档等的大量的各种不同类型的在线服务。在向用户推送这些服务时,一般是通过推荐列表来实现的。推荐列表的内容,即包括有有对应于不同服务的列表项,用户通点击推荐列表中的列表项即能够获取或链接至相应服务。那么如何实现个性化推荐,也即如何使推荐列表中的列表项能够符合用户的兴趣,以提高推荐列表的针对性和准确度,便成为了列表推荐领域的一个重要问题。



技术实现要素:

有鉴于此,本说明书一个或多个实施例的目的在于提出一种推荐列表的生成方法、装置和电子设备。

基于上述目的,本说明书一个或多个实施例提供了一种推荐列表的生成方法,包括:

获取用户的用户特征;

根据所述用户特征和预先训练的强化学习模型,得到所述用户点击推荐列表中的列表项的预测结果;

响应于所述用户对所述推荐列表中的列表项的点击操作,得到点击结果;

根据所述预测结果和所述点击结果,确定对应于所述预测结果的奖励分数;

确定基准奖励分数;

根据所述基准奖励分数,采用策略梯度算法优化所述强化学习模型,优化后的所述强化学习模型用于生成对应于所述用户的推荐列表。

另一方面,本说明书一个或多个实施例还提供了一种推荐列表的生成装置,包括:

获取模块,被配置为获取用户的用户特征;

预测模块,被配置为根据所述用户特征和预先训练的强化学习模型,得到所述用户点击推荐列表中的列表项的预测结果;

响应模块,被配置为响应于所述用户对所述推荐列表中的列表项的点击操作,得到点击结果;

第一确定模块,被配置为根据所述预测结果和所述点击结果,确定对应于所述预测结果的奖励分数;

第二确定模块,被配置为确定基准奖励分数;

优化模块,被配置为根据所述基准奖励分数,采用策略梯度算法优化所述强化学习模型,优化后的所述强化学习模型用于生成对应于所述用户的推荐列表。

再一方面,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。

从上面所述可以看出,本说明书一个或多个实施例提供的推荐列表的生成方法、装置和电子设备,基于强化学习技术来进行个性化的推荐列表的生成。其中,在强化学习模型中的奖励分数的确定过程中,将推荐列表作为整体来看待,并与用户实际中对于该推荐列表的点击相比较而确定的奖励分数,整体上考虑到了推荐列表中列表项间的相互关系,能够更好反映实际中的用户对于推荐列表的点击情况,显著提高了预测结果的准确性,即能够实现对于用户更加具有针对性的准确的推荐。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为典型的强化学习系统的示意图;

图2为本说明书一个或多个实施例的实施场景示意图;

图3为本说明书一个实施例的推荐列表的生成方法流程图;

图4为本说明书一个实施例中确定奖励分数步骤的流程图;

图5为本说明书一个实施例中确定基准奖励分数步骤的流程图;

图6为本说明书一个实施例的推荐列表的生成装置结构示意图;

图7为本说明书一个实施例的电子设备的结构示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

为了个性化的向用户提供推荐列表,使推荐列表中包含的列表项是用户所感兴趣或所需要的,也即提升推荐列表的针对性和准确度,本说明书一个或多个实施例提供了一种推荐列表的生成方法、装置和电子设备,基于强化学习技术,来生成用于向用户推送和展示的推荐列表。如本领域技术人员所知,强化学习是一种基于序列行为的反馈,进行的无标注的学习方法,通过不断“试错”的方式进行策略的学习。

图1为典型的强化学习系统的示意图。如图1所示,一般地,强化学习系统包括模型(也称为智能体)和环境,模型通过与环境的交互和反馈,不断进行学习,优化其策略。具体而言,模型观察并获得环境的状态(state),根据一定策略,针对当前环境的状态确定要采取的行为或动作(action)。这样的行为作用于环境,会改变环境的状态,同时产生一个反馈给模型,该反馈又称为奖励分数(reward)。模型根据获得的奖励分数来判断,之前的行为是否正确,策略是否需要调整,进而更新其策略。通过反复不断地观察状态、确定行为、收到反馈,使得模型可以不断更新策略,最终目标是能够学习到一个策略,使得获得的奖励分数累积最大化。

图2为本说明书一个或多个实施例的实施场景示意图。本说明书一个或多个实施例中,

基于强化学习技术,在用户对推荐列表中的列表项进行点击时,表明用户对于其点击的列表项是感兴趣或者需求的,相应的获取用户的用户特征。本说明书一个或多个实施例中,该用户特征即作为强化学习系统中的环境的状态s;而模型给出的用户对于列表项的点击的预测,则作为强化学习系统中的动作a。然后,将用户对推荐列表中的列表项的实际点击和模型给出的预测之间的差别作为反馈的奖励分数r,以此作为学习样本更新预测策略。如此反复学习,通过不断摸索和“试错”,来优化预测策略。优化后的策略即可预测出用户对于推荐列表中的列表项点击的准确预测,本根据上述预测来向用户推送或展示推荐列表。

以下,通过具体的实施例来阐述说明本说明书的技术方案。

本说明书的一个实施例提供了一种推荐列表的生成方法。可以理解的是,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。

参考图3,所述的推荐列表的生成方法,包括以下步骤:

步骤s301、获取用户的用户特征。

本实施例中,是基于一个已有的推荐列表的,该推荐列表中包括有若干列表项,每个列表项作为一个可操作对象,可以在被点击时链接或获取相应的服务内容。例如,对于音乐服务类软件,所述的推荐列表可以是歌曲推荐列表,其中的列表项对应为歌曲;对于服务咨询类软件,所述的推荐列表可以是智能客服的导航列表,其中的列表项对应为服务说明。

本实施例中,所述的用户,是指任意一个被推送或展示所述的推荐列表的用户。而用户的用户特征,即为能够代表用户的一些特点。具体的,用户特征可以包括画像特征、行为轨迹特征、服务使用特征中的至少一项。

其中,所述的画像特征可以具体包括:年龄、性别、居住地、学历、职业等。所述的行为轨迹特征,可以是操作轨迹信息,也即用户在点击推荐列表之前进行了哪些操作;也可以是页面轨迹信息,也即用户在点击推荐列表之前浏览过哪些页面。所述的服务使用特征,其反映用户在推荐列表所属的软件上使用该软件提供的各服务的情况,如在是否开通会员、是否开通支付功能、是否使用过云盘等。

对于上述的用户特征以及一项用户特征具体包括的内容,根据具体的实施需要,其也可以与前述例举的不同。

此外,本实施例的方法旨在实现对于用户个性化的生成推荐列表,故在本实施例的后续内容中,所述的用户是指提取的所述用户特征对应的用户,后续不再单独说明。

步骤s302、根据所述用户特征和预先训练的强化学习模型,得到所述用户点击推荐列表中的列表项的预测结果。

本实施例中,已经存在一个预先训练过的强化学习模型,该强化学习模型可以是通过任意的算法进行训练得到的,其可以对于一个推荐列表,根据用户的用户特征,来预测用户对推荐列表中列表项的点击。本实施例即旨在对于该强化学习模型进行优化,从而进行更加准确的预测。

本步骤中,通过前述步骤中获得的用户特征输入上述强化学习模型,由强化学习模型输出用户点击推荐列表中的列表项的预测结果,该预测结果即表明对于一个推荐列表,上述用户特征对应的用户可能点击的列表项。

具体的,该预测结果可以通过向量表示。例如,推荐列表包括有六个顺序排列的列表项。根据上述用户特征,强化学习模型输出的预测结果表明用户将会点击推荐列表中的第二个和第三个列表项,则所述的预测结果的表示向量为(0,1,1,0,0,0)。对于上述的表示向量,其包括的六个元素即分别对应六个列表项。

步骤s303、响应于所述用户对所述推荐列表中的列表项的点击操作,得到点击结果。

前述步骤中,通过强化学习模型对于用户对推荐列表的点击进行预测,得到了预测结果。本步骤中,将考虑实际中,用户对于推荐列表进行了怎样的点击。具体的,将推荐列表向用户推送或展示后,检测和记录用户对于推荐列表的点击,来获得点击结果,该点击结果即代表用户实际上对于推荐列表中的哪些列表项进行了点击。

具体的,该点击结果可以通过向量表示。例如,同样对于上述包括有六个顺序排列的列表项的推荐列表。用户接收到该推荐列表,并对其中的第二和第四个列表项进行了点击操作,即表明用户对于第二和第四个列表项对应的服务或内容感兴趣。相应的,所述的点击结果的表示向量为(0,1,0,1,0,0)。

步骤s304、根据所述预测结果和所述点击结果,确定对应于所述预测结果的奖励分数。

本步骤中,确定对于强化学习模型给出的预测结果的奖励分数。具体的,基于前述步骤中获得的预测结果和点击结果,通过判断其相似程度,来确定奖励分数。预测结果越接近点击结果,则表明预测结果越准确,则相应会获得较高的奖励分数;反之,则表明预测结果不够准确,则相应会获得较低的奖励分数。

作为一个可选的实施方式,参考图4,可以通过如下步骤确定奖励分数:

步骤s401、根据所述预测结果和所述点击结果,分别确定预测结果表示向量和点击结果表示向量;

步骤s402、计算所述预测结果表示向量与所述点击结果表示向量的向量距离,根据所述向量距离确定所述奖励分数。

具体的,分别确定预测结果和点击结果的表示向量,然后通过计算其向量距离,两个向量间的向量距离,即能够体现两个向量的相似程度,进而便可以根据其向量距离,来确定奖励分数。

对于向量距离,可以选择计算预测结果表示向量与点击结果表示向量的余弦距离。例如,对于前述示例中的预测结果表示向量(0,1,1,0,0,0)与点击结果表示向量(0,1,0,1,0,0),计算其余弦距离为0.5。基于余弦距离的性质,其计算值的范围为[0-2],值越大则表明两个向量越接近。所欲,可以将预测结果表示向量与点击结果表示向量的余弦距离计算结果直接做为奖励分数。

当然,计算预测结果表示向量与点击结果表示向量的向量距离,也可以使用其他的向量距离计算方法,如如欧式距离(euclideandistance)、余弦距离(cosinedistance)、曼哈顿距离(manhattandistance)、切比雪夫距离(chebyshevdistance)、马氏距离(mahalanobisdistance)、汉明距离(hammingdistance)、杰卡德距离(jaccarddistance)等。对于不同的向量距离计算方式,可以相应的对计算结果进行进步的数学处理,使两个向量相似时对应较高的奖励分数,两个向量不相似时对应较低的奖励分数即可,具体实现过程仅涉及数学处理,本说明书实施例中不再详述。

显然,除了上述说明的通过向量距离确定奖励分数的方式,也可以通过其他的方式获得奖励分数,如根据不同的强化学习训练算法对应的奖励函数来计算获得奖励分数,如sarsa算法,进化策略算法,q-learning算法,交叉信息熵方法等。

步骤s305、确定基准奖励分数。

本步骤中,确定一个用于后续优化强化学习模型时所用的基准奖励分数。具体的,基于策略梯度算法中的baseline技巧。baseline技巧的方法是,在训练强化学习模型的过程中,在每次迭代中,将本次迭代中获得的奖励分数减去一个基准值,从而减小方差以实现快速收敛的目的。

本步骤中,本实施例中的基准奖励分数即为上述的基准值。具体的,根据策略梯度算法中的baseline技巧,基准奖励分数可以根据经验设置为一个经验值,即一个常数。

此外,参考图5,也可以通过如下步骤确定基准奖励分数:

步骤s501、获取若干历史奖励分数;所述历史奖励分数对应于所述强化学习模型输出的历史预测结果;

步骤s502、将若干所述历史奖励分数的平均值作为所述基准奖励分数。

具体的,获取强化学习模型输出的历史预测结果。该历史预测结果是对于一个推荐列表,所述的强化学习模型对于不同用户预测的得到若干预测结果。相应的,该些预测结果均通过任意的奖励分数确定方法确定。对于该些历史奖励分数,计算器平均值并将该历史奖励分数的平均值作为基准奖励分数。

通过历史奖励分数来确定基准奖励分数,使得强化学习模型能够在后续的优化过程中,基于历史上做出的奖励分数来实现基于策略梯度算法的优化,能够实现更佳的自适应优化。

步骤s306、根据所述基准奖励分数,采用策略梯度算法优化所述强化学习模型,优化后的所述强化学习模型用于生成对应于所述用户的推荐列表。

本步骤中,根据前述步骤中确定的基准奖励分数,采用策略梯度算法优化强化学习模型。如前述步骤中所述,即在优化所述强化学习模型的每次迭代中,均将本次迭代中获得的奖励分数减去所述基准奖励分数,从而实现策略梯度算法中的baseline技巧,基准奖励分数实际上代表了不同的动作其获得的奖励分数的平均水平。具体的,当奖励分数与基准奖励分数的差为正时,则表面当前的动作获得奖励分数要高于平均水平,相应的强化学习模型则会加强当前这种的预测结果,即更高概率的输出相应的动作作为预测结果;反之,当奖励分数与基准奖励分数的差为负时,则表面当前的动作获得奖励分数要低于平均水平,相应的强化学习模型则会抑制当前这种的预测结果,即更低概率的输出相应的动作作为预测结果。

优化后的所述强化学习模型,即能够用于生成对应于用户的推荐列表。该推荐列表是针对于用户的一个个性化的推荐列表,即该推荐列表中包含的列表项,更多的是用户感兴趣或需要的。

具体的,本实施例的强化学习模型输出的预测结果,其具体内容为用户对于列表项的点击。则相应的,根据优化后的强化学习模型输出的预测结果,确定出至少一个列表项,该确定出的列表项对应的服务或内容即预测的用户感兴趣或需要的。进一步的,根据确定出的列表项,来生成推荐列表。具体的,生成的推荐列表中可以仅包括上述确定出的列表项;也可以是,在生成的推荐列表中,将上述确定出的列表项设置在靠前的位置,靠后位置填充其他列表项;还可以是,在生成的推荐列表中,将上述确定出的列表项做突出显示,如高亮、闪烁、字体加大等。

可见,本实施例的推荐列表的生成方法,基于强化学习技术来进行个性化的推荐列表的生成。其中,在强化学习模型中的奖励分数的确定过程中,将推荐列表作为整体来看待,并与用户实际中对于该推荐列表的点击相比较而确定的奖励分数,整体上考虑到了推荐列表中列表项间的相互关系,能够更好反映实际中的用户对于推荐列表的点击情况,显著提高了预测结果的准确性,即能够实现对于用户更加具有针对性的准确的推荐。

作为一个可选的实施例,所述的推荐列表的生成方法中,基准奖励分数还可以通过一个预先训练的奖励预估模型来生成。具体的,将用户特征输入该预先训练的奖励预估模型,使该奖励预估模型输出基准奖励分数。

其中,所述的奖励预估模型可以与所述的强化学习模型类似,通过任意算法训练得到,而在本实施例中,仅获取其通过奖励函数输出的奖励分数来作为本实施例中的基准奖励分数。此外,奖励预估模型也可以是,通过用户特征和奖励分数作为样本数据,通过任意算法训练得到的分类模型,当输入用户特征时,即能够输出相应的奖励分数,进而将该输出的奖励分数作为本实施例中的基准奖励分数。

本实施例中,通过单独的奖励预估模型确定基准奖励分数。奖励预估模型的训练是基于与本实施例中强化学习模型不同的样本数据训练得到的,这使得本实施例中确定出的基准奖励分数,能够反映更多的不同样本数据对应的奖励分数的平均水平,使得本实施例的方法能够适用于更多的包括不同类型的用户和推荐列表应用场景。

进一步的,本实施例中,还可以包括对于奖励预估模型的训练步骤。具体的,包括:以本实施例的推荐列表的生成方法中确定的奖励分数为训练目标,训练所述奖励预估模型。

具体的,在将基准奖励分数的输出作用本实施例的方法中的奖励分数的基准值的同时,进一步将本实施例的方法中的奖励分数来作为训练目标,相应的训练奖励预估模型。目的是在后续的训练过程中,使奖励预估模型的输出能够与本实施例的方法中确定的奖励分数能够更加接近,也即相应的提高了本实施例的方法中确定出的奖励分数的准确性,进而提高最终预测结果的准确性。

基于同一发明构思,本说明书实施例还提供了一种推荐列表的生成装置。参考图6,所述推荐列表的生成装置,包括:

获取模块601,被配置为获取用户的用户特征;

预测模块602,被配置为根据所述用户特征和预先训练的强化学习模型,得到所述用户点击推荐列表中的列表项的预测结果;

响应模块603,被配置为响应于所述用户对所述推荐列表中的列表项的点击操作,得到点击结果;

第一确定模块604,被配置为根据所述预测结果和所述点击结果,确定对应于所述预测结果的奖励分数;

第二确定模块605,被配置为确定基准奖励分数;

优化模块606,被配置为根据所述基准奖励分数,采用策略梯度算法优化所述强化学习模型,优化后的所述强化学习模型用于生成对应于所述用户的推荐列表。

作为一个可选的实施例,所述用户特征包括以下中的至少一项:画像特征、行为轨迹特征、服务使用特征。

作为一个可选的实施例,所述第一确定模块604具体被配置为根据所述预测结果和所述点击结果,分别确定预测结果表示向量和点击结果表示向量;计算所述预测结果表示向量与所述点击结果表示向量的向量距离;将所述向量距离作为所述奖励分数。

作为一个可选的实施例,所述第二确定模块605具体被配置为获取若干历史奖励分数;所述历史奖励分数对应于所述强化学习模型输出的历史预测结果;将若干所述历史奖励分数的平均值作为所述基准奖励分数。

作为一个可选的实施例,所述第二确定模块605具体被配置为根据所述用户特征和预先训练的奖励预估模型,得到所述基准奖励分数。

作为一个可选的实施例,所述装置还包括:训练模块,被配置为以所述奖励分数为训练目标,训练所述奖励预估模型。

作为一个可选的实施例,所述优化模块606具体被配置为在优化所述强化学习模型的每次迭代中,均将本次迭代中获得的奖励分数减去所述基准奖励分数。

作为一个可选的实施例,所述装置还包括:推送模块,被配置为根据优化后的所述强化学习模型,确定至少一个列表项;根据所述列表项,生成对应于所述用户的推荐列表并向所述用户推送或展示。

上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

基于同一发明构思,本说明书实施例还提供了一种电子设备。所述电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的方法。

图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

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