掌桥专利:专业的专利平台
掌桥专利
首页

推荐对象确定方法、介质、装置和计算设备

文献发布时间:2023-06-19 13:29:16


推荐对象确定方法、介质、装置和计算设备

技术领域

本公开的实施方式涉及互联网领域,更具体地,本公开的实施方式涉及一种推荐对象确定方法、介质、装置和计算设备。

背景技术

本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

如今,随着推荐技术的不断发展,个性化推荐技术被越来越重视。其中,个性化推荐对象可以包括各种音频、视频和广告等。以音乐为例,可以为用户推荐感兴趣的歌曲及歌单,不仅可以提升用户使用体验,也可以最大化利用曲库资源。另外,音乐等对象作为情感的一种载体,越来越多的用户倾向于分享自己喜欢的对象,倾向于与其他人一起播放共同喜爱的对象,进而衍生出多用户共享对象的需求。但是,如何为多个用户生成共同喜爱的推荐对象成为一种挑战。

发明内容

本公开提供一种推荐对象确定方法、介质、装置和计算设备,以解决目前个性化推荐技术基于单个用户的兴趣爱好生成多用户共同喜爱的推荐对象时,推荐准确性较差的问题。

在本公开实施方式的第一方面中,提供了一种推荐对象确定方法,包括:

根据至少两个用户针对对象的历史行为数据,确定至少两个用户共同感兴趣的候选对象;

根据候选对象,确定召回对象;

根据召回对象、至少两个用户的用户画像特征和多个用户行为序列特征,确定推荐对象,其中,用户行为序列特征表征用户在预设时间段内完整播放的对象所组成的序列的特征。

在本公开的一个实施例中,根据召回对象、至少两个用户的用户画像特征和多个用户行为序列特征,确定推荐对象,包括:根据至少两个用户的用户画像特征,确定对应的用户画像特征向量;根据召回对象的特征,确定对应的召回对象特征向量;根据用户画像特征向量和召回对象特征向量,确定至少两个用户对应的总体用户画像特征向量;根据任一用户行为序列特征,确定用户对应的用户行为序列特征矩阵;根据召回对象特征向量和多个用户行为序列特征矩阵,确定总体用户兴趣特征向量,其中,总体用户兴趣特征向量表征总体用户在不同维度下的总体兴趣特征分布;根据总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量,确定推荐对象。

在本公开的一实施例中,根据用户画像特征向量和召回对象特征向量,确定至少两个用户对应的总体用户画像特征向量,包括:基于注意力机制,对用户画像特征向量和召回对象特征向量进行注意力加权处理,得到总体用户画像特征向量。

在本公开的一个实施例中,根据召回对象特征向量和多个用户行为序列特征矩阵,确定总体用户兴趣特征向量,包括:基于自身注意力机制,分别对多个用户行为序列特征矩阵进行加权处理,确定用户对应的用户兴趣特征向量;基于多头注意力机制,将多个用户兴趣特征向量在相同维度下的向量和召回对象特征向量加权处理,得到总体用户兴趣特征向量。

在本公开的一个实施例中,根据总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量,确定推荐对象,包括:将总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量合并处理,得到合并向量;对合并向量进行特征提取,并通过预设归一化函数确定召回对象的分数值;根据召回对象的分数值,确定推荐对象。

在本公开的一个实施例中,还包括以下至少一项:根据至少两个用户的用户画像特征,确定对应的用户画像特征向量,包括:根据至少两个用户的用户画像特征,基于训练后的模型,确定用户对应的用户画像特征向量;根据召回对象的特征,确定对应的召回对象特征向量,包括:根据召回对象的特征,基于训练后的模型,确定召回对象对应的召回对象特征向量;根据任一用户行为序列特征,确定用户对应的用户行为序列特征矩阵,包括:根据任一用户行为序列特征,基于训练后的模型,确定用户对应的用户行为序列特征矩阵;其中,模型是通过预先构建样本,并根据样本对初始模型进行训练得到的。

在本公开的一个实施例中,根据候选对象确定召回对象,包括:确定候选对象与第一对象的相似度;根据至少两个用户中任一用户对候选对象的偏好度和相似度,确定至少两个用户对第一对象的总体感兴趣分数;基于多个总体感兴趣分数,对多个第一对象进行排序,确定召回对象。

在本公开的一个实施例中还包括:根据推荐对象生成对象列表;和/或,将推荐对象发送给用户终端,以根据用户通过用户终端筛选后的推荐对象生成对象列表。

在本公开实施方式的第二方面中,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现第一方面任一所述的推荐对象确定方法。

在本公开实施方式的第三方面中,提供了一种推荐对象确定装置,包括:第一确定模块,用于根据至少两个用户针对对象的历史行为数据,确定至少两个用户共同感兴趣的候选对象;第二确定模块,用于根据候选对象,确定召回对象;第三确定模块,用于根据召回对象、至少两个用户的用户画像特征和多个用户行为序列特征,确定推荐对象,其中,用户行为序列特征表征用户在预设时间段内完整播放的对象所组成的序列的特征。

在本公开的一个实施例中,第三确定模块具体用于:根据至少两个用户的用户画像特征,确定对应的用户画像特征向量;根据召回对象的特征,确定对应的召回对象特征向量;根据用户画像特征向量和召回对象特征向量,确定至少两个用户对应的总体用户画像特征向量;根据任一用户行为序列特征,确定用户对应的用户行为序列特征矩阵;根据召回对象特征向量和多个用户行为序列特征矩阵,确定总体用户兴趣特征向量,其中,总体用户兴趣特征向量表征总体用户在不同维度下的总体兴趣特征分布;根据总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量,确定推荐对象。

在本公开的一个实施例中,第三确定模块具体用于:基于注意力机制,对用户画像特征向量和召回对象特征向量进行注意力加权处理,得到总体用户画像特征向量。

在本公开的一个实施例中,第三确定模块具体用于:基于自身注意力机制,分别对多个用户行为序列特征矩阵进行加权处理,确定用户对应的用户兴趣特征向量;基于多头注意力机制,将多个用户兴趣特征向量在相同维度下的向量和召回对象特征向量加权处理,得到总体用户兴趣特征向量。

在本公开的一个实施例中,第三确定模块具体用于:将总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量合并处理,得到合并向量;对合并向量进行特征提取,并通过预设归一化函数确定召回对象的分数值;根据召回对象的分数值,确定推荐对象。

在本公开的一个实施例中,第三确定模块还用于以下至少一项:根据至少两个用户的用户画像特征,基于训练后的模型,确定用户对应的用户画像特征向量;根据召回对象的特征,基于训练后的模型,确定召回对象对应的召回对象特征向量;根据任一用户行为序列特征,基于训练后的模型,确定用户对应的用户行为序列特征矩阵;其中,模型是通过预先构建样本,并根据样本对初始模型进行训练得到的。

在本公开的一个实施例中,第二确定模块具体用于:确定候选对象与第一对象的相似度;根据至少两个用户中任一用户对候选对象的偏好度和相似度,确定至少两个用户对第一对象的总体感兴趣分数;基于多个总体感兴趣分数,对多个第一对象进行排序,确定召回对象。

在本公开的一个实施例中,还包括生成模块,用于:根据推荐对象生成对象列表;和/或,将推荐对象发送给用户终端,以根据用户通过用户终端筛选后的推荐对象生成对象列表。

在本公开实施方式的第四方面中,提供了一种计算设备,包括:存储器和处理器,存储器用于存储程序指令;处理器用于调用存储器中的程序指令执行如第一方面的推荐对象确定方法。

本公开提供一种推荐对象确定方法、装置、介质和计算设备,先根据至少两个用户针对对象的历史行为数据,确定至少两个用户共同感兴趣的候选对象;再根据候选对象,确定召回对象,并根据召回对象、至少两个用户的用户画像特征和多个用户行为序列特征,确定推荐对象,其中,用户行为序列特征表征用户在预设时间段内完整播放的对象所组成的序列的特征。本公开通过基于至少两个用户的共同感兴趣的候选对象来确定召回对象,进而将召回对象结合至少两个用户的用户画像特征和用户行为序列特征,来确定这至少两个用户共同感兴趣的推荐对象,从而提高推荐对象的推荐准确性。

附图说明

通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:

图1示意性地示出了根据本公开实施方式的应用场景图;

图2示意性地示出了根据本公开一实施例的推荐对象确定方法的流程图;

图3示意性地示出了根据本公开另一实施例的推荐对象确定方法的流程图;

图4示意性地示出了根据本公开一实施例的推荐对象确定方法的应用流程图;

图5示意性地示出了根据本公开一实施例的多用户音乐排序模块中的神经网络模型的结构图;

图6示意性地示出了根据本公开所提供的推荐对象确定方法的程序产品图;

图7示意性地示出了根据本公开一实施例的推荐对象确定装置的结构图;

图8示意性地示出了本公开所提供的计算设备的结构示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。

根据本公开的实施方式,提出了一种推荐对象确定方法、介质、装置和计算设备。

本公开的名词解释如下:

循环神经网络(Recurrent Neural Network,简称RNN),循环神经网络是一类以序列或者向量数据为输入,在序列的演进方向进行递归的递归神经网络。由于本公开需要将向量作为输入数据,因此,需要借助循环神经网络。

多头注意力机制(Multi-head self attention,简称MHSF),多头注意力机制相对于注意力而言,可以类比与循环神经网络和神经网络的关系。多头注意力机制是以对一个序列进行注意力机制,即,同时对一个序列的各个维度进行注意力机制运算。可以将多头注意力机制看作注意力机制的高维度模式。

在本公开中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。

本发明人发现,现有的个性化推荐技术主要基于对单个用户的兴趣偏好生成推荐对象。以音乐为例,虽然可以通过计算每个用户对每个歌曲的偏好分数,然后针对多个歌曲中的每个歌曲,确定多个用户针对该歌曲的偏好分数的均值,并根据均值对多个歌曲排序,得到对多个用户推荐共同偏好的歌曲列表。该方案存在推荐准确性较差的问题。

基于上述问题,本公开首先根据多个用户的历史行为筛选出每个用户感兴趣的对象,之后再基于每个用户感兴趣的对象,筛选出多用户共同感兴趣的对象。然后,再将与多用户共同感兴趣的对象相似的对象作为召回对象。进一步地,还需对召回对象进行分析处理,并在分析处理后,对召回对象进行排序,以生成推荐对象的列表,在列表中可以获取推荐对象。

在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。

首先参考图1,图1示意性地示出了根据本公开实施方式的应用场景图,该场景中的对象为音乐。图1中,包括用户101、客户端102以及服务器103,其中,服务器103可以包括多用户音乐召回模块和多用户音乐排序模块。服务器103会记录与交互相关的历史数据。例如,用户101使用客户端102听音乐时,用户101可能要先打开客户端102中已安装的音乐应用,并在客户端102所显示的音乐应用的相关界面中选择待播放的歌曲进行播放,客户端102在该过程中记录与用户101以及服务器103交互相关的历史数据,服务器103记录在该过程中记录与客户端102交互相关的历史数据。可选的,该历史数据至少包含了至少一种对象的历史数据。例如,该对象可以是音乐,广告或者视频等。服务器103可以通过客户端102获取至少一个用户的历史数据,并对其进行处理;或者,服务器103可以在本地获取历史数据,并对其进行处理。

示例地,服务器103的多用户音乐召回模块,用于处理从客户端102获取到的历史数据。服务器103的多用户音乐召回模块会先将多个用户的历史兴趣音乐进行统计,生成历史兴趣音乐库。之后,在历史兴趣音乐库中,统计所有用户均感兴趣的音乐,并将这些音乐作为候选音乐。候选音乐确定后,该多用户音乐召回模块会在所有音乐中,重新确定与候选音乐相似度较高的音乐,并将其作为召回音乐。若需要生成更加精确的推荐音乐列表,需要通过多用户音乐排序模块进一步对召回音乐进行排序。服务器103可以基于排序后的召回音乐生成推荐音乐列表,将其发送至客户端102,由客户端102显示给用户;另外,服务器103也可以将排序后的召回音乐直接发送至客户端102,由客户端102的用户自行选择音乐,并生成音乐推荐列表。

下面结合图1的应用场景,参考图2来描述根据本公开示例性实施方式的用于推荐对象生成的方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。

图2示意性地示出了根据本公开一实施例的推荐对象确定方法的流程图,该方法包括:

S201、根据至少两个用户针对对象的历史行为数据,确定至少两个用户共同感兴趣的候选对象。

示例地,该历史行为数据包含了至少一种对象的历史行为数据,且该历史行为数据中,可以包括:用户对该对象的感兴趣程度,用户在一段时间内访问该对象的频率,用户首次访问该对象的时间等相关信息中的至少一种。

另外,上述对象可以是音乐,广告或者视频等中的至少一种。

其中,确定的方式可以是先一次性地获取所有用户的感兴趣对象,并在这些对象中进一步确定所有用户共同感兴趣的对象,并将确定后的对象作为候选对象;也可以是先单独统计出每个用户的感兴趣的对象,之后确定每个用户感兴趣对象之间的交集,进而得到所有用户共同感兴趣的对象,即候选对象。

S202、根据候选对象,确定召回对象。

其中,候选对象表征的是已确定的多个用户共同感兴趣的对象,而召回对象则是多个用户可能共同感兴趣的对象。两者的意义本质不同。

确定召回对象的方式,可以是将与候选对象相似的对象作为召回对象;也可以结合候选对象,通过分析多个用户自身的画像特征,进一步确定该多个用户的召回对象。

S203、根据召回对象、至少两个用户的用户画像特征和多个用户行为序列特征,确定推荐对象,其中,用户行为序列特征表征用户在预设时间段内完整播放的对象所组成的序列的特征。

其中,用户画像特征表征了用户的基础属性特征、用户设备特征以及用户对象偏好特征等关于用户相关特征中的至少一种。其中,用户的基础属性特征可以包括用户的年龄、用户的性别、用户所在城市等基础属性特征中的至少一种。用户设备特征可以包括用户设备的操作系统以及运营商等。若以对象是音乐为例,用户对象偏好特征可以包括语种偏好、风格偏好、演唱者偏好或发行年代偏好等的至少一种。

考虑到仅通过用户画像特征和召回对象确定推荐对象,结果可能是不够准确的,因此,本公开引入用户行为序列特征。用户行为序列特征表征的是用户在一段时间内完整播放对象的序列,因此,其还可以用于表征用户在接下来一段时间内的兴趣倾向。通过提取该兴趣倾向,可以更精确的为用户确定推荐对象。

示例性地,还可以对召回对象设置权重,对于不同召回对象,由于用户对其感兴趣的程度不同,因此权重也不同。引入权重后,结合上述的多个用户的用户画像特征和多个用户的用户行为序列特征,对召回对象进行排序,通过正序或者倒序筛选出对应的推荐对象。

本公开实施例中,先根据至少两个用户针对对象的历史行为数据,确定至少两个用户共同感兴趣的候选对象;再根据候选对象,确定召回对象,并根据召回对象、至少两个用户的用户画像特征和多个用户行为序列特征,确定推荐对象,其中,用户行为序列特征表征用户在预设时间段内完整播放的对象所组成的序列的特征。本公开实施例通过基于至少两个用户的共同感兴趣的候选对象来确定召回对象,进而将召回对象结合至少两个用户的用户画像特征和用户行为序列特征,来确定这至少两个用户共同感兴趣的推荐对象,从而提高推荐对象的推荐准确性。

一些实施方式中,可以通过图3来进一步展示推荐对象的确定过程,如图3所示,图3示意性地示出了根据本公开另一实施例的推荐对象确定方法的流程图。该方法包括:

S301、根据至少两个用户针对对象的历史行为数据,确定至少两个用户共同感兴趣的候选对象。

该步骤与前述步骤S201类似,此处不再赘述。

S302、根据候选对象,确定召回对象。

一些实施例中,根据候选对象确定召回对象,可以包括:确定候选对象与第一对象的相似度;根据至少两个用户中任一用户对候选对象的偏好度和相似度,确定至少两个用户对第一对象的总体感兴趣分数;基于多个总体感兴趣分数,对多个第一对象进行排序,确定召回对象。

示例地,可以通过物品协同过滤算法(Item coordination filter,简称ItemCF)。具体运算方法如下:

若对象为音乐,则:上述的候选对象为用户共同感兴趣的候选音乐;上述第一对象为整个曲库的任意音乐。第一步为:通过计算相似度,从整个曲库中选取与每个候选对象相似的至少一个第一对象,并组成相似集合。其中,选取的方式可以是先按相似度排序后,选取预设个数个第一对象组成相似集合;也可以是选取相似度大于预设相似度阈值的第一对象组成相似集合。

作为一种示例,相似度的计算公式如下所示:

此处N(i)和N(j)分别表示喜欢音乐i和音乐j的人数,w

从曲库中确定了相似集合后,通过如下方式进一步确定相似集合中第一对象的感兴趣分数:

Sim(u,j)=∑

其中,Sim(u,j)表示用户u对音乐j的感兴趣分数;N(u)是用户u感兴趣的音乐的集合,该集合在获取用户u的历史行为数据时便可以确定;S(j,K)是和音乐j最相似的K个音乐的集合;W(j,i)是音乐j和音乐i的相似度,R(u,i)是用户u对音乐i的偏好度。

上式中,可以理解:音乐i代表了用户自身感兴趣的音乐,即音乐i属于上述候选对象,而音乐j代表了经过相似度计算,从曲库中确定的第一对象音乐。另外,偏好度是用于衡量用户对音乐偏好程度的,即使两个音乐同时被用户感兴趣,然而用户对这两个音乐的偏好程度也不同。偏好程度的影响因素包括用户听取该音乐的频率,以及,用户听取与该音乐同类型的音乐的频率等等。

对于相似集合中的任意一个第一对象,当计算出每个用户对该第一对象的感兴趣分数后,可以通过加权平均的方法,确定该第一对象的总体感兴趣分数,并通过上述同样的方法确定所有第一对象的总体感兴趣分数。之后,对所有第一对象的总体感兴趣分数进行排序后,筛选预设阈值个第一对象作为召回对象。

S303、根据至少两个用户的用户画像特征,确定对应的用户画像特征向量。

在一些实施例中,可以通过神经网络模型来将前述的用户画像特征、用户行为序列特征以及召回对象转换为向量或者矩阵的形式,再对该向量或者矩阵进行分析处理,进而确定推荐对象。具体如下:

在运用神经网络模型之前,首先,需要预先构建样本,并根据样本对神经网络模型进行训练。

示例地,构建训练样本,需要先对样本设置标签:通过获取大量用户的历史行为数据,并基于该历史行为数据,提取出用户号、对象号以及播放对象标签等数据,将其作为样本。其中,用户号作为用户的标识,可以代表不同用户的身份信息;对象号作为对象的标识,可以表征不同的对象类型;播放对象标签则反应了用户的播放信息,其可以对应于前述的用户行为序列特征。

构建样本后,可以将样本分为训练集和测试集,其中,训练集用于训练神经网络模型,测试集用于测试神经网络模型。另外训练集中所包含的数据和测试集中所包含的数据之间的比值可以是8比2;也可以使7比3,本公开不对其加以限定。

基于上述的叙述,例如:根据至少两个用户的用户画像特征,确定对应的用户画像特征向量,可以包括:根据至少两个用户的用户画像特征,基于训练后的模型,确定用户对应的用户画像特征向量。

该用户画像特征向量可以用A表示,其中,A还可以写作A=(aa,ab,ac,ad...az)。该向量的每个维度都表征了用户自身的某个特征,例如,aa为0时,该用户为女性;aa为1时,该用户为男性。当ab为24时,代表该用户年龄为24岁。ac一定程度上表征了用户的所在区域,例如,当ac为2时,代表用户位于二线城市;当ac为1时,代表用户为一线城市。

S304、根据召回对象的特征,确定对应的召回对象特征向量。

一些实施例中,根据召回对象的特征,确定对应的召回对象特征向量,可以包括:根据召回对象的特征,基于训练后的模型,确定召回对象对应的召回对象特征向量。

同理,对召回对象进行向量化,具体地,通过神经网络的卷积层,对其进行特征提取。

向量化后得到的召回对象特征向量可以表示为R,R还可以写作:R=(ra,rb,rc,rd...rz)。

其中,召回对象特征向量各个维度表示该召回对象在各个维度的特征。例如,ra表征了该召回对象的语种。当ra为1时,该语种为英语;当ra为2时,该语种为汉语;当ra为3时,该语种为日语。rb表征了该召回对象的类型特征,例如,当rb为1时,该召回对象为娱乐类;当rb为2时,该召回对象为伤感类等等。进一步地,当对象为音乐时,rb可以表征为:当rb为1时,表示该召回音乐为民谣;rb为2时,表征该召回音乐为流行音乐;rb为3时,表征该召回音乐为摇滚。

S305、根据用户画像特征向量和召回对象特征向量,确定至少两个用户对应的总体用户画像特征向量。

示例地,可以选取任意一召回对象特征向量和至少两个用户画像特征向量,将其进行特征融合处理,得到总体用户画像特征向量。由于总体用户画像特征向量表征了多个用户的用户画像特征,同时,其还融合了召回对象的特征。因此,总体用户画像特征向量可以表征多个用户自身的画像特征和该召回对象特征之间的关系。

S306、根据任一用户行为序列特征,确定用户对应的用户行为序列特征矩阵。

可选地,根据任一用户行为序列特征,确定用户对应的用户行为序列特征矩阵,包括:根据任一用户行为序列特征,基于训练后的模型,确定用户对应的用户行为序列特征矩阵。

前面已经叙述过,用户行为序列特征可以表征一段时间内的用户的兴趣倾向。因此,用户行为序列特征可以包含至少一种兴趣倾向,若将每种兴趣倾向作为一个向量,则将用户行为序列特征进行向量化后,会得到多个向量,即矩阵。因此,每个用户行为序列特征会对应一用户行为序列特征矩阵。可以通过S来表示,S还可以进一步写作:S=(Sa,Sb,Sc,Sd...Sz)。其中,Sa、Sb、Sc至Sz均为向量,其表示了用户在不同维度的兴趣倾向。作为一种示例,该向量的模值越大,则表示用户该维度上的兴趣倾向越大。另外,用户1对应的用户行为序列特征矩阵可以表示为S1,S1可以写作:S1=(S11,S12,S13,S14...S1m);用户2对应的用户行为序列特征矩阵可以表示为S2,S2可以写作:S2=(S21,S22,S23,S24...S2m),以此类推。

S307、根据召回对象特征向量和多个用户行为序列特征矩阵,确定总体用户兴趣特征向量,其中,总体用户兴趣特征向量表征总体用户在不同维度下的总体兴趣特征分布。

结合每个用户对应的用户行为序列特征矩阵,以及任意一个召回对象特征向量,对不同维度的向量进行特征提取,得到总体用户兴趣特征向量。

总体用户兴趣特征向量由多个兴趣维度组成,每个兴趣维度都包含了多个用户在该兴趣维度上的特征,以及,上述选定的召回对象在该兴趣维度上的特征。同理,总体用户兴趣特征向量的每个兴趣维度都通过向量表示,因此,总体用户兴趣特征向量,其实际上是一个向量组。

S308、根据总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量,确定推荐对象。

示例性地,可以将上述的向量进行融合,再进一步对融合后的向量进行降维处理,最终经过归一化后,判断是否将该召回对象作为推荐对象。

本公开实施例中,通过将多个用户的用户画像特征,多个用户的用户行为序列特征,以及召回对象进行向量化,通过训练后的神经网络模型对上述多个用户对应的向量进行处理,确定推荐对象。通过使用训练后的神经网络模型也同样可以提高输出推荐对象的准确性。

基于上述的实施例,在一些实施例中,可以引入注意力机制:根据用户画像特征向量和召回对象特征向量,确定至少两个用户对应的总体用户画像特征向量,可以包括:基于注意力机制,对用户画像特征向量和召回对象特征向量进行注意力加权处理,得到总体用户画像特征向量。

示例地,若有3个用户,其用户画像特征向量可以表示为A1、A2和A3。其中,A1=(a11,a12,a13);A2=(a21,a22,a23);A3=(a31,a32,a33)。且其中一召回对象的召回对象特征向量为R1=(r11,r12,r13)。经过注意力机制运算后,得到向量A1的权重为4,向量A2的权重为5,向量A3的权重为2。则该总体用户画像特征向量为:4*A1+5*A2+2*A3。

另外,每个用户画像特征向量的权重计算可以是通过线性函数得出的,也可以是通过非线性函数得出的。该函数的输入为用户画像特征向量和召回对象特征向量。因此,若该线性函数写作F(x),则向量A1的权重可以写作:F(A1,R1),其它向量的权重计算与此相同,不再赘述。

在一些实施例中,可以将上述实施例中的总体用户兴趣特征向量的确定过程进一步拆分为两步,如下:

根据召回对象特征向量和多个用户行为序列特征矩阵,确定总体用户兴趣特征向量,可以包括:基于自身注意力机制,分别对多个用户行为序列特征矩阵进行加权处理,确定用户对应的用户兴趣特征向量;基于多头注意力机制,将多个用户兴趣特征向量在相同维度下的向量和召回对象特征向量加权处理,得到总体用户兴趣特征向量。

应理解:注意力机制可以分为自身注意力机制和目标注意力机制,其中自身注意力机制是在不引入外部的向量的情况下,将自身向量之间进行交互运算;目标注意力机制与自身注意力机制相反,其是在引入了外部的向量的情况下,将内部向量与外部向量之间进行交互运算。同时,注意力机制还包括多头注意力机制,所谓多头注意力机制,可以理解为在多个维度进行注意力机制运算。

示例性地,若存在3个用户,用户1的用户行为序列特征矩阵为S1,写作(S11,S12,S13);用户2的用户行为序列特征矩阵为S2,写作(S21,S22,S23);用户3的用户行为序列特征矩阵为S3,写作(S31,S32,S33)。首先引入自注意力机制,该自注意力机制结构参数设置为N,即将用户的兴趣倾向划分为N个维度,每个维度表征了用户在该兴趣维度上的兴趣倾向。

若输入为S1、S2和S3,则输出可以即为O1、O2和O3。其中,O1可以写作O1=(O11,O12,O13...O1N);同理,O2和O3分别可以写作:O2=(O21,O22,O23...O2N)和O3=(O31,O32,O33...O3N)。该式中,O11表示的是用户1在第一个兴趣维度上的兴趣倾向,O12表示了用户1在第二个兴趣维度上的兴趣倾向。O21表示了用户2在第一个兴趣维度上的兴趣倾向,而O31表示了用户3在第一个兴趣维度上的兴趣倾向。

以对象为音乐为例,该兴趣维度可以分为:复古音乐、现代音乐、电子音乐、国风音乐等等。其可以与前述召回对象特征向量中各个维度一一对应,也可以独立地表征音乐的不同特征。

通过将每个用户的兴趣倾向划分到多个兴趣维度之后,再引入多头注意力机制,得到包含多个兴趣维度特征的总体用户兴趣特征向量,具体如下:

应理解:多头注意力机制处理时,引入了多个维度,并且,为了将每个兴趣维度的特征汇总到一起,在每次多头注意力机制运算时,需要从前述的O1、O2、O3中的相同维度中,各提取一个向量。

示例地,若要确定兴趣维度1的用户兴趣特征向量,则需要从O1中提取向量O11;从O2中提取向量O21;从O3中提取向量O31。此时,由于还引入了召回对象特征向量,因此该多头注意力机制还包括了目标注意力机制。具体地,分别计算O11、O21以及O31与召回对象特征向量的权重,得到权重向量W1=(w11,w21,w31)。该向量与O11、O21和O31一一对应。其中,权重的计算与前述方法相同,此处不再赘述。权重计算完成后,得到兴趣维度1的用户兴趣特征向量,记为:SPH1(全称:sum-pooling head 1),其中SPH1=O11*w11+O21*w21+O31*w31。由于前述的自注意力机制运算时,一共引入了N个维度的用户兴趣特征向量,因此,最终多头注意力机制的运算结果包含了N个兴趣维度的用户兴趣特征向量,即SPH1、SPH2至SPHN。将这N个兴趣维度的用户兴趣特征向量进行结合,可以得到总体用户兴趣特征向量。

确定了总体用户画像特征向量和总体用户兴趣特征向量后,一些实施方式中,根据总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量,确定推荐对象,可以包括:将总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量合并处理,得到合并向量;对合并向量进行特征提取,并通过预设归一化函数确定召回对象的分数值;根据召回对象的分数值,确定推荐对象。

其中,可以通过concat函数将总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量合并在一起,得到合并向量。并通过全连接层对合并向量进行特征提取,进而降低合并向量的维度。示例地,全连接层可以包括3层,本公开不对其加以限定。

全连接层输出后,还会由sigmoid函数对其进行归一化操作,最终输出一维向量。该向量可以作为多个用户对某个召回对象特征向量所对应的召回对象的分数值。其中,可以理解:分数值越高,则上述用户对该召回对象的感兴趣程度越高;分数值越低,则上述用户对该召回对象的感兴趣程度越低。具体地,sigmoid函数f(x)可以写作:

经过将分数值排序后,选定分数值高于一定阈值的召回对象作为推荐对象。

示例地,确定推荐对象之后,可以通过如下方法的至少一种确定推荐对象列表:根据推荐对象生成对象列表;和/或,将推荐对象发送给用户终端,以根据用户通过用户终端筛选后的推荐对象生成对象列表。

即,用户可以根据自身喜好主动性的根据推荐对象配置推荐对象列表;同时,也可以由服务器自动地将推荐对象配置为推荐对象列表,再将推荐对象列表发送至用户终端。

接下来,图4示意性地示出了根据本公开一实施例的推荐对象确定方法的应用流程图。需要说明的是,图4和图3实施例两者可以是独立的关系,也可以将两者相互结合。如图4所示,该方法包括:

S401、获取至少两个用户的历史行为数据,确定至少一个用户的感兴趣音乐。

历史行为数据包含了用户自身在一段时间内的音乐播放信息,以及,用户的感兴趣音乐。其中,用户的感兴趣音乐可以包括:用户收藏、点赞、红心、评论、分享和完整播放的至少一种。

S402、确定所有用户的共同感兴趣的音乐。

获取每个用户感兴趣的音乐后,通过汇总和逻辑运算,可以确定全体用户共同感兴趣的音乐。

S403、根据所有用户共同感兴趣的音乐,确定召回音乐列表。

基于上述的相似度确定方法和总体感兴趣分数确定方法,从曲库中确定召回音乐,并生成召回音乐列表。

示例地,若所有用户共同感兴趣的音乐有3首,其类型分别为慢节奏英文,华语流行音乐以及纯音乐。在从曲库中召回相似音乐时,第一次确定了20首相似度最高的音乐,将这20首音乐作为相似集合。接下来,再确定这20首音乐的总体感兴趣分数,并对其进行排序,并将排序后,总体感兴趣分数前10首的音乐作为召回音乐,生成召回音乐列表。具体地,该召回音乐可以是“Yesterday Once more”、“as long as you love me”、“斯卡布罗集市”等等。

S404、确定每首召回音乐的分数值。

应理解:前文所述的召回音乐的生成可以是由多用户音乐召回模块生成的,进一步地,可以通过多用户音乐排序模块对召回音乐列表进行排序,进而确定推荐音乐列表。

多用户音乐排序模块中,包含有训练完成的神经网络模型。由该神经网络模型对音乐列表进行排序。训练过程在前述实施例已经叙述过,此处不再赘述。

可以通过图5来直观地表示该神经网络模型的结构,图5示意性地示出了根据本公开一实施例的多用户音乐排序模块中的神经网络模型的结构图。如图5所示,该结构包括:输入层、向量层、多用户兴趣抽取层和多神经网络层。

其中,输入层的输入包括三部分:第一部分为至少两个用户的用户画像特征,如:用户1的用户1画像特征,用户N的用户N画像特征,用户画像特征反应用户的基本特征,如用户的年龄、性别、星座、血型以及所在城市等。另外,用户画像特征还可以包括用户设备特征和用户音乐偏好特征。用户画像特征可以进一步包括用户的设备操作系统和设备运营商;用户音乐偏好特征可以进一步包括用户的语种偏好,风格偏好,发行年代偏好等等。

第二部分为召回音乐特征,召回音乐特征可以包括音乐属性特征和音乐画像特征。其中,音乐属性特征可以进一步包括音乐语种、音乐风格、发行艺人、播放音质、音乐时长、播放热度、歌曲评论、发行版本等等。

第三部分为用户行为序列特征,该特征表示了用户在一段时间内完整播放音乐组成的用户序列。它可以反映用户在一段时间内的兴趣倾向。

确定了上述特征后,神经网络模型会在向量层将上述特征向量化,转换为用户画像特征向量、用户行为序列特征矩阵和召回音乐特征向量。其中,该模型每次输入的召回音乐为1首,即模型每次输出的结果为该音乐对应的分数值。

示例地,可以通过look-up方法将上述特征中的词语转化为稠密数字,进而生成向量或者矩阵。

向量化完成后,每个用户的用户画像特征都对应一个用户画像特征向量;每个用户的行为序列特征都对应一个用户行为序列特征矩阵。此时,在多用户兴趣抽取层中,引入注意力机制,将多个用户画像特征向量和召回音乐特征向量融合,得到总体用户画像特征向量。具体公式如下所示:

其中,Vu表示总体用户画像特征向量,N为用户数,g(x)函数可以是线性的,也可以是非线性的。函数中,V

对于用户行为序列特征矩阵,此处需要运用两次注意力机制运算,第一次注意力机制运算为自注意力机制运算,公式与上述公式相同。自注意力机制运算后,得到N个用户的用户兴趣特征向量,分别为:用户1的用户兴趣特征向量,用户2的用户兴趣特征向量...用户N的用户兴趣特征向量。若该自注意力机制结构中,设定的向量维度为n,用户兴趣特征向量的维度也为n。每个向量维度都反映了该用户在该兴趣维度的特征。

第二次注意力机制运算为多头注意力机制运算,其公式仍然和上述公司相同,区别点在于n个兴趣维度的注意力机制运算时独立并行的。即:将用户1的用户兴趣特征向量至用户N的用户兴趣特征向量的第1个兴趣维度提取,与召回音乐特征向量进行注意力机制运算,得到兴趣特征向量1;同理,将用户1兴趣特征向量至用户N兴趣特征向量的第2个兴趣维度提取,与召回音乐特征向量进行注意力机制运算,得到兴趣特征向量2。以此类推,得到兴趣特征向量N。再将兴趣特征向量1至兴趣特征向量N进行合并,得到总体用户兴趣特征向量。

最后,将总体用户画像特征向量、总体用户兴趣特征向量和召回音乐特征向量作为多神经网络层的输入。多神经网络层包括了至少一个卷积层和全连接层。具体的,将将总体用户画像特征向量、总体用户兴趣特征向量和召回音乐特征向量通过concat函数将三者交叉特征结合在一起,并由卷积层和全连接层将特征进一步提取。提取后,由sigmoid函数进行归一化,将分数值输出,分数值的范围为0到1的值。按照上述方法,将每个召回音乐的分数值输出。

S405、将召回音乐按分数值排序,并确定推荐音乐。

每首召回音乐的分数值确定后,按照分数值对其进行排序。并设定一阈值,若分数值低于该阈值,则不将其作为推荐音乐。高于该阈值的召回音乐会被作为推荐音乐,发送至用户。

S405、将推荐音乐发送至客户端,以使用户在客户端选择推荐音乐并组建推荐音乐列表。

用户可以自行在客户端选择服务器匹配出的推荐音乐,完成推荐音乐列表的配置。

本公开实施例中,充分考虑多个用户歌曲兴趣偏好间的关联性,并利用神经网络模型解决音乐列表生成的问题。神经网络模型中加入了多用户共同兴趣抽取层,从用户行为序列特征矩阵中抽取多个用户在n个兴趣维度上的兴趣偏好,提升了推荐音乐列表的生成准确率。在抽取用户n个兴趣维度的兴趣偏好时,先通过自注意力机制抽取各用户的n个兴趣维度的兴趣特征向量,再引入多头注意力机制,实现用户n个兴趣维度的加权融合。这种方法不仅提升了多用户对推荐音乐列表的喜好程度,同时也实现了多用户的个性化匹配推荐。

同时,推荐音乐列表符合不同用户的口味偏好,提升了用户一起听歌曲的听歌体验,进而带动了一起听歌曲总体消费的增长。

在介绍了本公开示例性实施方式的方法之后,接下来,参考图6对本公开示例性实施方式的存储介质进行说明。

参考图6所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品60,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。

在介绍了本公开示例性实施方式的介质之后,接下来,参考图7对本公开示例性实施方式的推荐对象确定装置进行说明,用于实现上述任一方法实施例中的方法,其实现原理和技术效果类似,在此不再赘述。图7示意性地示出了根据本公开一实施例的推荐对象确定装置的结构图。如图7所示,该推荐对象确定装置700包括:

第一确定模块701,用于根据至少两个用户针对对象的历史行为数据,确定至少两个用户共同感兴趣的候选对象;

第二确定模块702,用于根据候选对象,确定召回对象;

第三确定模块703,用于根据召回对象、至少两个用户的用户画像特征和多个用户行为序列特征,确定推荐对象,其中,用户行为序列特征表征用户在预设时间段内完整播放的对象所组成的序列的特征。

在本公开的一个实施例中,第三确定模块703可以具体用于:根据至少两个用户的用户画像特征,确定对应的用户画像特征向量;根据召回对象的特征,确定对应的召回对象特征向量;根据用户画像特征向量和召回对象特征向量,确定至少两个用户对应的总体用户画像特征向量;根据任一用户行为序列特征,确定用户对应的用户行为序列特征矩阵;根据召回对象特征向量和多个用户行为序列特征矩阵,确定总体用户兴趣特征向量,其中,总体用户兴趣特征向量表征总体用户在不同维度下的总体兴趣特征分布;根据总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量,确定推荐对象。

在本公开的一个实施例中,第三确定模块703可以具体用于:基于注意力机制,对用户画像特征向量和召回对象特征向量进行注意力加权处理,得到总体用户画像特征向量。

在本公开的一个实施例中,第三确定模块703可以具体用于:基于自身注意力机制,分别对多个用户行为序列特征矩阵进行加权处理,确定用户对应的用户兴趣特征向量;基于多头注意力机制,将多个用户兴趣特征向量在相同维度下的向量和召回对象特征向量加权处理,得到总体用户兴趣特征向量。

在本公开的一个实施例中,第三确定模块703可以具体用于:将总体用户画像特征向量、总体用户兴趣特征向量和召回对象特征向量合并处理,得到合并向量;对合并向量进行特征提取,并通过预设归一化函数确定召回对象的分数值;根据召回对象的分数值,确定推荐对象。

在本公开的一个实施例中,第三确定模块703还可以用于以下至少一项:

1)根据至少两个用户的用户画像特征,基于训练后的模型,确定用户对应的用户画像特征向量;

2)根据召回对象的特征,基于训练后的模型,确定召回对象对应的召回对象特征向量;

3)根据任一用户行为序列特征,基于训练后的模型,确定用户对应的用户行为序列特征矩阵。

其中,模型是通过预先构建样本,并根据样本对初始模型进行训练得到的。

在本公开的一个实施例中,第二确定模块702可以具体用于:确定候选对象与第一对象的相似度;根据至少两个用户中任一用户对候选对象的偏好度和相似度,确定至少两个用户对第一对象的总体感兴趣分数;基于多个总体感兴趣分数,对多个第一对象进行排序,确定召回对象。

在本公开的一个实施例中,还包括生成模块(图中未标出),用于:根据推荐对象生成对象列表;和/或,将推荐对象发送给用户终端,以根据用户通过用户终端筛选后的推荐对象生成对象列表。

在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图8对本公开示例性实施方式的计算设备进行说明。

图8显示的计算设备80仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,计算设备80以通用计算设备的形式表现。计算设备80的组件可以包括但不限于:上述至少一个处理单元801、上述至少一个存储单元802,连接不同系统组件(包括处理单元801和存储单元802)的总线803。

总线803包括数据总线、控制总线和地址总线。

存储单元802可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)8021和/或高速缓存存储器8022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)8023。

存储单元802还可以包括具有一组(至少一个)程序模块8024的程序/实用工具8025,这样的程序模块8024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算设备80也可以与一个或多个外部设备804(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口805进行。并且,计算设备80还可以通过网络适配器806与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器806通过总线803与计算设备80的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了推荐对象确定装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

相关技术
  • 推荐对象确定方法、介质、装置和计算设备
  • 对象的推荐方法、装置、计算设备和存储介质
技术分类

06120113693291