模型训练方法、直播推荐方法、设备、程序产品与流程

专利2022-05-09  107


本公开涉及直播推荐技术,尤其涉及一种模型训练方法、直播推荐方法、设备、程序产品。



背景技术:

近年来,在线直播行业快速兴起,给用户推荐其感兴趣的直播是提升用户体验的关键。直播推荐有着更强的动态性,直播内容和用户偏好时刻在变化中。

现有技术中已有的视频推荐方法,一般为基于视频完整的信息向用户推荐,导致这种视频推荐方法不适于运用到直播视频推荐的场景中。此外,一些直播视频的推荐方法中,采用的是最多观看的推荐手段,这种方式没有考虑到用户之间的差异性,进而推荐效果不好。

因此,如何基于直播视频的特性,向用户个性化的推荐直播视频是本领域技术人员亟需解决的技术问题。



技术实现要素:

本公开提供了一种模型训练方法、直播推荐方法、设备、程序产品,以解决现有技术中没有基于直播视频特性,向用户个性化的推荐直播视频的方案的问题。

根据本申请第一方面,提供了一种直播视频的个性化推荐模型的训练方法,包括:

获取预设的历史直播数据,并根据所述历史直播数据确定用户的用户属性信息,以及所述用户在预设时刻的用户实时状态;

利用预先搭建的处理模型,根据所述用户实时状态、所述用户属性信息确定所述用户的用户偏好信息;所述用户偏好信息用于表征所述用户在所述预设时刻的偏好,所述用户偏好信息用于确定所述用户的推荐列表;

根据所述历史直播数据,确定所述用户对所述推荐列表的反馈信息;

利用预先搭建的评判模型,根据所述反馈信息、所述用户偏好信息、所述用户实时状态确定模型总期望收益;

根据所述模型总期望收益、所述历史直播数据调整所述处理模型、所述评判模型,其中,训练完毕的所述处理模型为用于进行直播视频个性化推荐的模型。

根据本申请第二方面,提供了一种直播视频的个性化推荐方法,包括:

获取历史直播数据和当前时刻的直播数据,并根据所述历史直播数据和当前时刻的直播数据确定用户的用户属性信息、所述用户在当前时刻的用户实时状态以及各主播的主播属性信息;

将所述用户实时状态、所述用户属性信息输入处理模型中,得到所述用户的实时偏好信息;

根据所述用户的实时偏好信息、各所述主播属性信息,确定所述用户的推荐列表;

将所述用户的推荐列表发送给与所述用户对应的用户终端。

根据本申请第三方面,提供了一种电子设备,包括存储器和处理器;其中,

所述存储器,用于存储计算机程序;

所述处理器,用于读取所述存储器存储的计算机程序,并根据所述存储器中的计算机程序执行如第一方面所述的直播视频的个性化推荐模型的训练方法或者如第二方面所述的直播视频的个性化推荐方法。

根据本申请第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面所述的直播视频的个性化推荐模型的训练方法或者如第二方面所述的直播视频的个性化推荐方法。

根据本申请第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如第一方面所述的直播视频的个性化推荐模型的训练方法或者如第二方面所述的直播视频的个性化推荐方法。

本公开提供的一种模型训练方法、直播推荐方法、设备、程序产品包括:获取预设的历史直播数据,并根据历史直播数据确定用户的用户属性信息,以及用户在预设时刻的用户实时状态;利用预先搭建的处理模型,根据用户实时状态、用户属性信息确定用户的用户偏好信息;用户偏好信息用于表征用户在预设时刻的偏好,用户偏好信息用于确定用户的推荐列表;根据历史直播数据,确定用户对推荐列表的反馈信息;利用预先搭建的评判模型,根据反馈信息、用户偏好信息、用户实时状态确定模型总期望收益;根据模型总期望收益、历史直播数据调整处理模型、评判模型,其中,训练完毕的处理模型为用于进行直播视频个性化推荐的模型。本公开提供的模型训练方法、直播推荐方法、设备、程序产品,根据用户在较长时间段内的用户属性信息,以及在每个时刻的偏好信息确定用户在每个时刻的推荐列表,从而可以结合用户在较长时间内的特征,以及用户的实时特征向用户推荐主播,在训练过程中,还可以基于用户对推荐列表的反馈对模型进行训练,能够使模型输出更加准确的用户偏好信息,进而在应用该模型向用户推荐主播时,可以向用户推荐更符合其需求的主播。

附图说明

图1为本申请一示例性实施例示出的直播视频的个性化推荐模型的训练方法的流程示意图;

图2为本申请另一示例性实施例示出的直播视频的个性化推荐模型的训练方法的流程示意图;

图3为本申请一示例性实施例示出的获取用户的用户实时状态的过程示意图;

图4为本申请一示例性实施例示出的处理模型和评判模型的结构示意图;

图5为本申请一示例性实施例示出的直播视频的个性化推荐方法的流程示意图;

图6为本申请一示例性实施例示出的直播视频的个性化推荐模型训练装置的结构图;

图7为本申请另一示例性实施例示出的直播视频的个性化推荐模型训练装置的结构图;

图8为本申请一示例性实施例示出的直播视频的个性化推荐装置的结构图;

图9为本申请一示例性实施例示出的电子设备的结构图。

具体实施方式

在线直播行业中给用户推荐其感兴趣的直播是提升用户体验的关键。直播推荐有着更强的动态性,直播内容和用户偏好时刻在变化中。目前已有的视频推荐方法,一般为基于视频完整的信息向用户推荐,导致这种视频推荐方法不适于运用到直播视频推荐的场景中。此外,一些直播视频的推荐方法中,采用的是最多观看的推荐手段。

但是,现有的采用最多观看的直播推荐方法,没有考虑到用户之间的差异性,没有基于视频直播的特性向用户个性化的推荐直播视频,进而推荐效果不好。

为了解决上述技术问题,本公开提供的方案中包括一种模型训练方法、直播推荐方法、设备、程序产品,从三个角度构建用户实时状态,同时采用了基于排序的有监督学习与强化学习相结合的方法来训练模型,把直播视频直播内容和用户偏好时刻在变化的特性考虑在内,保证了向用户个性化的推荐直播视频。

图1为本申请一示例性实施例示出的直播视频的个性化推荐模型的训练方法的流程示意图。

为使直播场景适用于本公开中的直播视频的个性化推荐模型,以及涉及到本实施例中对模型进行训练,首先需要对直播场景进行建模。

假设在直播模型中有m个用户,用集合u表示;有n个主播用集合v表示。令ut,vt分别表示t时刻在线的用户和主播集合。对于任何一个用户u∈u,给定其历史观看行为记录,直播推荐问题是预测其下一时刻可能感兴趣的直播,为其生成一个长度为k的主播推荐列表。

模型训练的目的是使模型可以根据接收的数据制定决策,每一个决策会影响模型未来的状态,模型采取的每一步决策会产生反馈,反馈值越高即表示收益越高。在直播推荐领域中,模型收到用户当前的实时状态st,并根据策略做出决策推荐用户喜好的直播列表at,用户将对模型的每个决策做出反馈rt,此时,用户达到下一个状态st 1。

给定某用户t时刻的状态st后,假设其未来的状态与过去的状态是独立的,当前时刻的推荐行为at只与当前状态st有关,而与之前的状态无关,基于此,可以将直播推荐问题建模为包括状态、动作和反馈的序列,具体可以由五元组(s,a,p,r,γ)表示,定义如下:

状态空间s:用户当前状态的向量表示,用户在时刻t的状态为st。

动作空间a:模型在时刻t的动作记为at,表示该时刻用户的偏好信息。

在本方案中,为了提升计算效率,将动作空间建模为连续空间。为了得到推荐列表,将at建模为由稠密向量表达的用户当前偏好。基于该向量与各个主播偏好向量的匹配可以得到推荐列表。本方案采用的连续动作空间有着计算效率的优势,如果将动作空间定义为离散空间,计算复杂度很高。

反馈r:r表示反馈函数r(s,a),表示在状态s下采用用户偏好信息a得到的反馈。模型根据用户偏好信息a推荐一个主播列表后,若用户观看了列表中的主播,则反馈取值为正。

状态转移概率p:p(st 1|st,at)定义了由状态st采取动作at,达到状态st 1的概率。

折现因子γ:γ是[0,1]区间的实数,表示未来收益的折现率。特别的,若γ=1,意味着未来得到的收益与当前价值等同。若γ=0,则意味着未来得到的回报在现在毫无价值。

如图1所示,本实施例提供的直播视频的个性化推荐模型的训练方法包括:

步骤101,获取预设的历史直播数据,并根据历史直播数据确定用户的用户属性信息,以及用户在预设时刻的用户实时状态。

其中,本申请提供的方法可以由具备计算能力的电子设备来执行,比如可以是计算机等设备。该电子设备能够获取预设的历史直播数据,并根据历史直播数据确定用户的用户属性信息,以及用户在预设时刻的用户实时状态。

其中,预设的历史直播数据可以是基于在线直播平台提供的一个时间段的直播数据,比如可以是基于直播平台最近14天的直播数据。其中直播数据包括了用户标识,主播标识,直播视频标识,用户观看直播时的起始时间,终止时间。

在一种可选的实施方式中,本方案中剔除了平均每天观看时长大于12小时的用户,最后保留了观看时长超过300秒的观看记录。经过上述操作后,本方案选取了观看直播次数较多的1781位用户,和直播次数较多的1012位主播,在这14天共191112条观看记录。在具体的训练过程中,可以将前11天数据作为模型的训练数据,将第12天数据作为模型验证数据,最后2天的数据作为模型的测试数据。因此,获取预设的历史直播数据,并基于这些数据对模型进行训练时,可以获取上述前11天的数据。

其中,用户属性信息用于表征在较长一段时间内用户的特征,比如,每个用户的用户属性信息可以包括该用户的用户标识、用户观看过的主播标识、用户未观看的主播标识。每个用户的属性信息可以由预设的历史直播数据确定。

具体的,针对每个预设时刻,都能够确定出用户在该预设时刻的用户实时状态。用户实时状态用于表征用户在某一预设时刻的特征。可以根据预设时刻以及该时刻之前用户的直播数据,确定用户实时状态。比如,用户实时状态由三部分拼接构成,分别是用户的静态特征、用户的动态特征和用户的实时特征。其中,用户的静态特征是通过用户在预设时刻和预设时刻之前所有的用户观看记录获得,用户的动态特征是通过用户在预设时刻之前五次的用户观看记录获得,用户的实时特征是通过5个相似用户在预设时刻的观看行为获得。用户的静态特征、用户的动态特征和用户的实时特征是由预设的历史直播数据确定的。

进一步的,由于相似用户之间具有一定的相似性,因此,可以根据用户的相似用户构建该用户的用户实时状态。

步骤102,利用预先搭建的处理模型,根据用户实时状态、用户属性信息确定用户的用户偏好信息;用户偏好信息用于表征用户在预设时刻的偏好,用户偏好信息用于确定用户的推荐列表。

直播视频的个性化推荐模型在模型训练过程中由两部分构成,分别是处理模型和评判模型。

可以将用户的实时状态和用户属性信息作为处理模型的输入,处理模型能够对输入的用户实时状态和用户属性信息进行处理,输出为用户偏好信息。

具体的,可以利用处理模型中的神经网络算法的两个全连接层(fullyconnectedlayer,fclayer),分别为线性整流函数(rectifiedlinearunit,relu)和双曲正切函数tanh对用户的实时状态进行数据处理,从而提取用户在预设时刻时观看直播的特征向量,再结合用户属性信息,确定该用户在预设时刻的用户偏好信息。

进一步的,由于是基于用户在预设时刻的用户实时状态确定的该用户的用户偏好信息,因此,该用户偏好信息能够表征用户在预设时刻的偏好。同时,这种方式结合了用户在较长时间段内观看直播的特征,以及用户在预设时刻时观看直播的特征,因此能够得到较为准确的用户偏好信息。

实际应用时,该用户偏好信息可以用于确定用户的推荐列表。比如,可以利用训练完毕的处理模型生成用户的偏好信息,并根据该用户偏好信息生成该用户在预设时刻的推荐列表,并向其推荐,从而可以向用户个性化的推荐直播。

具体的,处理模型输出的用户偏好信息是以向量形式表示的,可以基于用户偏好信息与各个主播的特征向量的匹配度,确定推荐列表。其中各个主播的特征向量可以通过历史直播数据确定的。

步骤103,根据历史直播数据,确定用户对推荐列表的反馈信息。

其中,在根据历史直播数据训练模型时,可以不实际向用户推荐推荐列表中存在的主播,而是根据历史直播数据,确定用户对该推荐列表的反馈信息。

具体的,根据用户的偏好信息生成推荐列表后,可以假设向该用户发送该推荐列表中的主播信息,并根据历史直播数据,确定用户对该推荐列表的反馈信息。比如,若用户在预设时刻后观看了推荐列表中的主播直播,则可以认为用户对推荐列表中的该主播做出了正反馈,否则,可以认为用户对推荐列表中的该主播做出了负反馈。

步骤104,利用预先搭建的评判模型,根据反馈信息、用户偏好信息、用户实时状态确定模型总期望收益。

评判模型用于对处理模型输出的结果进行评价,具体可以确定模型总期望收益,通过该收益评价处理模型输出结果的准确性。

其中,可以将用户反馈信息、用户偏好信息和用户实时状态输入到评判模型中,从而使评判模型确定模型总期望收益。

具体的,评判模型中可以设置两个全连接层(fullyconnectedlayer,fclayer),两层都为relu对输入数据进行数据处理,从而确定模型总期望收益。

其中,用户偏好信息为处理模型的输出,用户反馈信息和用户实时状态是根据历史直播数据确定的,该用户实时状态即为输入处理模型的用户实时状态。

具体的,可以将用户反馈信息、用户偏好信息和用户实时状态输入到评判模型中,评判模型能够输出模型总期望收益。模型总期望收益用于表征在一段较长时间内根据处理模型确定的用户实时偏好向用户推荐主播时的推荐效果。反馈值越高,总期望收益越高,推荐效果越好。

其中,用户反馈信息为训练模型的监督,本方案的训练过程具体为根据用户属性信息、用户在预设时刻的用户实时状态确定用户在预设时刻的用户偏好信息,再根据用户偏好信息确定推荐列表,进而根据历史直播数据,确定用户在预设时刻后对该推荐列表的反馈信息,再基于用户的反馈、用户在预设时刻的偏好信息、用户在预设时刻的用户实时状态评价推荐效果,由于推荐列表是基于用户在预设时刻的偏好信息、用户实时状态确定的,因此,该推荐效果能够用于评价处理模型确定用户偏好信息的准确性,以及根据历史直播数据确定用户在预设时刻的用户实时状态准确性。

步骤105,根据模型总期望收益、历史直播数据调整处理模型、评判模型,其中,训练完毕的处理模型为用于进行直播视频个性化推荐的模型。

由于模型总期望收益用于表征在一段较长时间内根据处理模型确定的用户实时偏好向用户推荐主播时的推荐效果,且该推荐效果能够用于评价处理模型确定用户偏好信息的准确性,以及根据历史直播数据确定用户在预设时刻的用户实时状态准确性,因此,可以根据模型总期望收益和历史直播数据来调整处理模型和评判模型的参数,使得模型的推荐效果尽可能好。

具体的,可以根据模型总期望收益和历史直播数据构建损失函数,并利用梯度回传的方式进行参数调整。

其中,训练完毕的处理模型可以作为用于进行直播视频个性化推荐的模型,在推荐模型使用过程中,把直播数据输入处理模型,处理模型输出用户偏好信息,可以通过用户偏好信息确定用户推荐列表,把用户推荐列表发送给相应用户的终端设备。其中,此终端设备可以是能用于观看此直播平台的电脑、手机等设备。

本公开提供的模型训练方法、直播推荐方法、设备、程序产品包括:获取预设的历史直播数据,并根据历史直播数据确定用户的用户属性信息,以及用户在预设时刻的用户实时状态;利用预先搭建的处理模型,根据用户实时状态、用户属性信息确定用户的用户偏好信息;用户偏好信息用于表征用户在预设时刻的偏好,用户偏好信息用于确定用户的推荐列表;根据历史直播数据,确定用户对推荐列表的反馈信息;利用预先搭建的评判模型,根据反馈信息、用户偏好信息、用户实时状态确定模型总期望收益;根据模型总期望收益、历史直播数据调整处理模型、评判模型,其中,训练完毕的处理模型为用于进行直播视频个性化推荐的模型。本公开提供的模型训练方法、直播推荐方法、设备、程序产品,根据用户在较长时间段内的用户属性信息,以及在每个时刻的偏好信息确定用户在每个时刻的推荐列表,从而可以结合用户在较长时间内的特征,以及用户的实时特征向用户推荐主播,在训练过程中,还可以基于用户对推荐列表的反馈对模型进行训练,能够使模型输出更加准确的用户偏好信息,进而在应用该模型向用户推荐主播时,可以向用户推荐更符合其需求的主播。

图2为本申请另一示例性实施例示出的直播视频的个性化推荐模型的训练方法的流程示意图。

如图2所示,本实施例提供的直播视频的个性化推荐模型的训练方法包括:

步骤201,获取预设的历史直播数据。

步骤201,与步骤101中相关内容的实现方式、原理类似,不再赘述。

步骤202,利用预设的嵌入层,根据用户的标识对历史直播数据进行处理,

确定用户的静态特征。

具体的,用户的静态特征,可以由嵌入向量表示。

进一步的,可以预先设置嵌入层,将用户标识作为输入数据,输入该嵌入层中,该嵌入层可以对历史直播数据中与用户标识关联的数据进行处理,从而将用户的特征映射到维度为h的向量空间,得到向量hu。

可选的,可以将各个主播的标识也输入到嵌入层中,得到各个主播的嵌入向量表示,记为hv。

步骤203,根据历史直播数据,确定用户在预设时刻之前的动态观看记录特征。

具体的,用户的动态特征,反映了用户偏好的动态变化趋势。本方案选取用户预设时刻之前最近m次观看的主播信息,用户u的观看历史序列记为<vu,t-1,…,vu,t-m>,将用户这m次观看的主播标识作为预设嵌入层的输入数据,输入该嵌入层,该嵌入层可以对历史直播数据中与该m次主播标识关联的数据进行处理,从而将该m次主播的特征映射到维度为h的向量空间,得到其向量表示。

进一步的,可以预先设置门循环网络(gatedrecurrentnetwork,gru),将该m次用户观看的主播信息的向量表示作为gru的输入,gru可以有效学习序列前后元素相互依赖的特征,gru的输出为用户在预设时刻之前的动态观看记录特征。

在此之上,本方案中,还可以为输入序列中每个元素设置不同的权重,从而可以进一步学习到输出对于输入信息中每个部分的不同依赖程度。

步骤204,根据历史直播数据,确定用户的相似用户在预设时刻的实时观看记录特征。

其中,还可以确定出与用户相似的其他用户,比如,可以根据历史直播数据确定各用户之间的相似度,进而确定用户的相似用户。

具体的,可以根据相似用户在预设时刻的观看行为获取用户的实时特征。比如,用户a存在两个相似用户b、c,则可以根据用户b、c在预设时刻的观看行为,确定用户a的实时特征。

本公开提供的方案中,基于用户观看直播的历史行为,通过预训练一个基于排序的有监督学习模型得到用户的特征向量,该用户的特征向量能够表征用户的属性。

进一步的,可以通过内积的方式确定用户的相似用户。设hu为用户u的相似用户的有序列表,根据相似度由高到低的顺序进行排序,为一个用户的在线每个相似用户在预设时刻t观看的主播,取前n个主播的信息记为将各主播标识作为预设嵌入层的输入,输入该嵌入层,该嵌入层可以对历史直播数据中与主播标识关联的数据进行处理,从而将主播的特征映射到维度为h的向量空间,得到与各主播标识对应的向量表示,将这n个主播的向量表示取平均作为用户在预设时刻的实时特征表示。

步骤205,对用户的静态特征、用户的动态观看记录特征、用户的实时观看记录特征进行拼接,得到用户的用户实时状态。

具体的,本公开从用户的静态特征,动态特征和实时特征三个方面共同构建用户实时状态。

静态特征反映的是用户长期的、稳定的兴趣。动态特征代表用户的动态偏好。实时特征将当前在线的相似用户的偏好信息加以考虑,反映推荐时刻的实时信息。这三个方面分别从对时间敏感度不同的三个角度来提取特征,用以表示用户的用户实时状态。

图3为本申请一示例性实施例示出的获取用户的用户实时状态的过程示意图。

如图3所示,31表示用户的动态观看记录特征,一种可选的实施方式中,可以采用用户在预设时刻t之前最近5次观看的主播的信息用户u的观看历史序列记为<vu,t-1,…,vu,t-5>,将这5次用户观看的主播标识作为预设嵌入层的输入,嵌入层输出主播信息的向量表示,将得到的向量标识作为预设gru的输入,gru输出用户在预设时刻之前的动态观看记录特征。在此之上,本方案通过赋予输入序列中每个元素不同的权重,可以进一步学习到输出对于输入的每个部分的不同依赖程度。

32表示用户的静态特征,用户的静态特征通过用户在预设时刻和预设时刻之前所有的用户观看记录获得。用户的静态特征可以由嵌入向量表示。通过模型的嵌入层,将用户标识作为输入,映射到维度为h的向量空间,得到向量hu。

33表示用户的实时观看记录特征,用户的实时观看记录特征可以通过5个相似用户在预设时刻的观看行为获得。设hu为用户u的相似用户的有序列表,根据相似度由高到低的顺序进行排序,为在线的每个相似用户在预设时刻t观看的主播信息,取前5个主播信息记为将主播标识作为预设嵌入层的输入,输入该嵌入层,该嵌入层可以对历史直播数据中与主播标识关联的数据进行处理,从而将主播的特征映射到维度为h的向量空间,得到其向量表示,将这5个主播信息的向量表示取平均作为用户的实时特征表示。

对用户的静态特征、用户的动态观看记录特征、用户的实时观看记录特征进行拼接,得到用户的用户实时状态。

步骤206,根据历史直播数据确定用户的用户属性信息。

步骤206,与步骤101中相关内容的实现方式、原理类似,不再赘述。

步骤207,将用户的用户属性信息、用户实时状态输入到处理模型,处理模型用于输出用户的偏好识别结果。

进一步的,将用户的用户属性信息、用户实时状态输入到处理模型,处理模型用于输出用户的偏好识别结果。

处理模型输出的用户的偏好识别结果是向量表示,记为at。

具体的,at=μ(s,θ)。其中,s为用户实时状态;θ用于表征处理模型中的各参数。利用处理模型中的各参数θ对用户实时状态s进行处理,能够得到该用户在预设时刻t的偏好识别结果。

步骤208,根据偏好识别结果、高斯随机变量,确定用户在预设时刻的当前偏好信息。

具体的,本方案利用了深度确定性策略梯度算法的优势,即探索与模型的学习可以分开独立处理。本方案采取的方法是在已有的偏好识别结果μ(s,θ)上添加一个高斯随机变量ζ,ζ~n(0,σ2i),其中σ为随训练次数指数衰退的参数。用户在预设时刻的当前偏好信息公式如下:

根据上述公式,模型会在训练初期进行较为大幅的参数修改,而随着训练的进行,模型的识别效果趋近最优,模型参数修改幅度减小。μ′(s)代表了带有衰退探索机制的用户偏好结果。

步骤209,利用预设的嵌入层,根据各主播的标识对历史直播数据进行处理,确定各主播的各主播属性信息。

具体的,通过预设的嵌入层,将主播的标识作为输入,得到其嵌入层的向量表示,即得到各主播的各主播属性信息。此预设的嵌入层与步骤202中生成用户的静态特征的嵌入层可以为同一个嵌入层。

步骤210,根据用户的当前偏好信息、各主播属性信息,确定用户与每一主播之间的匹配信息。

具体的,对于每个用户,用户当前对主播的偏好向量与表示主播的向量有着相同的维度。内积能够表征用户的特征与主播的特征之间的相似程度,因此,可以通过做内积的方式可以求得用户对每个主播的偏好分数,即用户与每一主播之间的匹配信息。

具体可以通过下式确定用户与主播之间的匹配信息scorev:

scorev=at·hv

其中,v用于表征主播标识,at表示用户在预设时刻的当前偏好信息;hv为主播v的向量表示,具体用于表征主播v的属性信息。

步骤211,根据用户与每一主播之间的匹配信息,确定用户的推荐列表。

具体的,假设推荐列表的长度为k,则用户对每个主播的匹配信息在前k的主播信息构成推荐列表。

比如,若用户与主播之间的匹配信息为上面确定的scorev,则可以根据用户与每一主播之间的scorev,筛选出scorev排在前k个的主播,并基于这些主播的标识生成推荐列表。

步骤212,根据历史直播数据,确定用户对推荐列表的反馈信息。

步骤212,与步骤103的实现方式、原理类似,不再赘述。

步骤213,将反馈信息、用户偏好信息、用户实时状态输入预先搭建的评判模型,评判模型用于根据预设的折现因子对反馈信息、用户偏好信息、用户实时状态进行处理,得到输出总期望收益。

具体的,评判模型的输入为反馈信息,用户偏好信息和用户实时状态,评判模型的输出为总期望收益。其中,折现因子是[0,1]区间的实数,表示未来收益的折现率。折现因子越大,意味着未来得到的收益在当前的价值越大。特别的,若折现因子等于1,意味着未来得到的收益与当前价值等同。若折现因子为0则意味着未来得到的回报在现在毫无价值,即说明模型推荐效果不准确。

总期望收益的计算公式如下:

其中,γ为折现因子,e表示求期望,s表示用户实时状态,a表示用户的偏好识别结果,w为总期望收益公式的参数,r表示用户的反馈,a′表示预设时刻前一时刻的用户偏好结果,s′表示预设时刻前一时刻的用户实时状态。

步骤214,根据模型总期望确定强化学习目标损失函数。

具体的,本方案使用的方法结合了策略近似和基于排序的有监督学习两个部分,定义jrl(θ)为强化学习部分的目标损失函数,jrs(θ)为有监督学习的目标损失函数,用来调节两者的权重。

对于强化学习的部分,处理模型通过参数θ来更改用户偏好信息μ(s,θ),使得q(s,a)的期望值达到最大。其中,at=μ(s,θ),s表示用户实时状态,假设w是由评判模型给出的总期望收益的参数,则强化学习目标损失函数jrl(θ)表示如下:

maxjrl(θ)=e[q(s,μ(s,θ),w)]

步骤215,根据历史直播数据确定用于作为正训练数据的第一主播信息,以及用于作为负训练数据的第二主播信息。

其中,在本方案中,认为用户对正在观看的直播的偏好高于随机抽取的未观看过的直播。因此,对于一个用户,其在预设时刻t正在观看的主播信息被当作正例,作为正训练数据的第一主播信息;在其它主播中随机采样5个主播信息被当作负例,作为负训练数据的第二主播信息。则有监督学习的目的是最大化观看正例与观看负例的概率之差。

步骤216,根据第一主播信息、第二主播信息构建有监督学习目标损失函数。

具体的,有监督学习的目标函数可以表示为:

其中,bt表示用户属性信息;θ表示有监督学习的目标函数的参数;λθ||θ||2在模型中表示“正则化项”,防止参数θ过大,进而防止模型对训练数据的“过拟合”;表示判别函数,当判断的值小于零时则忽略当前项;u表示用户标识,i和j表示主播标识,(u,i,j)表示,用户u看了i主播,没看j主播;at表示用户在预设时刻的当前偏好信息;hi为主播i的向量表示,具体用于表征主播i的属性信息;hj为主播j的向量表示,具体用于表征主播j的属性信息;表示计算用户u与主播i的匹配信息减去用户u与主播j的匹配信息。

步骤217,根据强化学习目标损失函数、有监督学习目标损失函数,调整处理模型。

在一种可选的实施方式中,本公开提供的方案还可以包括步骤217。

具体的,将强化学习与有监督学习的公式合并,采用梯度上升更新处理模型部分参数θ,假设学习率为αθ,用来调节两者的权重,表示梯度,也即“求导数”,表示对参数θ求导数,则梯度更新公式为:

步骤218,根据模型总期望、反馈信息、折现因子,构建评判模型的损失函数,并根据评判模型的损失函数调整评判模型。

在一种可选的实施方式中,本公开提供的方案还可以包括步骤218。

评判模型的输出为模型总期望函数,其输入包括了用户实时状态s,用户偏好信息a和收集到的反馈r。

构建评判模型的损失函数为:

a′=μ(s′|θ′)

其中,d是模型训练的经验et=(st,at,rt,st 1)的集合,其中st 1表示预设时刻t下一时刻的用户实时状态。本方案采用了基于经验回放的训练方式。将模型训练的每条经验et=(st,at,rt,st 1)存储到记忆d之中。模型训练过程中,每次从d中抽取一个随机的小批次{(s,a,r,s′)}进行模型训练。

其中,γ为折现因子,e表示求期望,s表示用户实时状态,s′表示预设时刻t前一时刻的用户实时状态,a表示用户的偏好识别结果,a′表示预设时刻t前一时刻的用户偏好结果,w为评判模型的损失函数的参数,w′表示预设时刻t前一时刻的评判模型的损失函数的参数,r表示用户的反馈,θ′表示预设时刻t前一时刻的处理模型中的各参数。

αw为评判模型的学习率,参数w的梯度更新公式为:

图4为本申请一示例性实施例示出的处理模型和评判模型的结构示意图。

由于模型强化学习部分的特点,其产生的相对随机的动作可能会影响模型的表现,带来负面的用户体验。因此本公开采用了融合有监督学习和强化学习的方法,来确保在模型训练过程中也能保证推荐的质量。进一步的,本公开提出了基于排序的有监督学习与强化学习相结合的方法。同时,本公开认为用户实时状态是基于强化学习的处理模型具有良好推荐效果的关键因素,提出从用户的静态特征、动态特征和实时特征三个角度来对用户建模。这些信息将从用户的历史观看记录和预设时刻观看直播的情况来提炼。

本公开中实施方案的模型框架由图4表示,图中处理模型中的两个全连接层(fclayer)由下至上分别为relu和tanh;评判模型中的两个全连接层(fclayer)都为relu。根据上述的介绍,先提炼用户的用户实时状态s作为处理模型的输入。图中bt代表了预设时刻t用户的用户属性信息,用户属性信息包含用户标识、用户观看过的主播标识、用户未观看过的主播标识,将bt引入到模型中,是为了实现基于排序的有监督学习。

处理模型用于输出用户偏好信息,该处理模型可以通过策略近似和基于排序的有监督学习共同学习得到。模型根据用户偏好信息为用户推荐一个主播列表,收到反馈r,用于评判模型的学习。评判模型用于确定模型总期望收益函数,其输入包括了用户实时状态s,用户偏好信息和收集到的反馈r。

图5为本申请一示例性实施例示出的直播视频的个性化推荐方法的流程示意图。

步骤501,获取历史直播数据和当前时刻的直播数据,并根据历史直播数据和当前时刻的直播数据确定用户的用户属性信息、用户在当前时刻的用户实时状态以及各主播的主播属性信息。

具体的,历史直播数据和当前时刻的直播数据,包含了当前时刻及其之前的直播数据。其中,直播数据包括用户标识、主播标识、直播视频标识、用户观看直播时的起始时间和终止时间信息。

其中,用户属性信息用于表征在较长一段时间内用户的特征,比如,每个用户的用户属性信息可以包括该用户的用户标识、用户观看过的主播标识、用户未观看的主播标识。用户实时状态由三部分拼接构成,分别是用户的静态特征、用户的动态特征和用户的实时特征。

步骤502,将用户实时状态、用户属性信息输入处理模型中,得到用户的实时偏好信息。

具体的,利用训练完成的处理模型,用户实时状态、用户属性信息作为处理模型的输入,处理模型输出用户的实时偏好信息。

具体的,处理模型是通过图1或图2任一种实施例训练得到的。

步骤503,根据用户的实时偏好信息、各主播属性信息,确定用户的推荐列表。

具体的,通过用户的实时偏好信息、各主播属性信息确定用户与每一主播之间的匹配信息;假设推荐列表的长度为k,则用户对每个主播的匹配信息排在前k的主播信息构成推荐列表。

步骤504,将用户的推荐列表发送给与用户对应的用户终端。

具体的,把用户推荐列表发送给相应用户的终端设备。其中,此终端设备可以是能用于观看此直播平台的电脑、手机等设备。

图6为本申请一示例性实施例示出的直播视频的个性化推荐模型训练装置的结构图。

如图6所示,本申请提供的模型训练装置600,包括:

获取单元610,用于获取预设的历史直播数据,并根据历史直播数据确定用户的用户属性信息,以及用户在预设时刻的用户实时状态。

处理单元620,用于根据历史直播数据确定用户对推荐列表的反馈信息;利用预先搭建的处理模型,根据用户实时状态、用户属性信息确定用户的用户偏好信息;用户偏好信息用于确定用户的推荐列表。

评判单元630,用于利用预先搭建的评判模型,根据反馈信息、用户偏好信息、用户实时状态确定模型总期望收益。

调整单元640,根据模型总期望收益、历史直播数据调整处理模型、评判模型,其中,训练完毕的处理模型为用于进行直播视频个性化推荐的模型。

本申请提供的模型训练装置的原理、实现方式、技术效果与图1相似,不再赘述。

图7为本申请另一示例性实施例示出的直播视频的个性化推荐模型训练装置的结构图。

如图7所示,在上述实施例基础上,本申请提供的模型训练装置700中,获取单元610,包括:

静态特征确定模块611,用于利用预设的嵌入层,根据用户的标识对历史直播数据进行处理,确定用户的静态特征;

动态特征确定模块612,用于根据历史直播数据,确定用户在预设时刻之前的动态观看记录特征;

实时特征确定模块613,用于根据历史直播数据,确定用户的相似用户在预设时刻的实时观看记录特征;

拼接模块614,用于对用户的静态特征、用户的动态观看记录特征、用户的实时观看记录特征进行拼接,得到用户的用户实时状态。

本申请提供的模型训练装置700中,处理单元620,包括:

偏好识别模块621,用于将用户的用户属性信息、用户实时状态输入到处理模型,处理模型用于输出用户的偏好识别结果;

偏好确定模块622,用于根据偏好识别结果、高斯随机变量,确定用户在预设时刻的当前偏好信息。

在一种可选的实施方式中,本实施例提供的训练装置700中还包括:

推荐列表确定单元650,用于:

利用预设的嵌入层,根据各主播的标识对历史直播数据进行处理,确定各主播的各主播属性信息;

根据用户的当前偏好信息、各主播属性信息,确定用户与每一主播之间的匹配信息;

根据用户与每一主播之间的匹配信息,确定用户的推荐列表。

本申请提供的模型训练装置700中,评判单元630,具体用于将反馈信息、用户偏好信息、用户实时状态输入预先搭建的评判模型,评判模型用于根据预设的折现因子对反馈信息、用户偏好信息、用户实时状态进行处理,得到输出总期望收益。

本申请提供的模型训练装置700中,调整单元640,包括:

强化损失函数确定模块641,根据模型总期望确定强化学习目标损失函数;

监督损失函数确定模块642,用于根据历史直播数据确定用于作为正训练数据的第一主播信息,以及用于作为负训练数据的第二主播信息;根据第一主播信息、第二主播信息构建有监督学习目标损失函数;

调整模块643,用于根据强化学习目标损失函数、有监督学习目标损失函数,调整处理模型。

调整单元640中还可以包括:

评价模型调整模块644,用于根据模型总期望、反馈信息、折现因子,构建评判模型的损失函数,并根据评判模型的损失函数调整评判模型。

图8为本申请一示例性实施例示出的直播视频的个性化推荐装置的结构图。

如图8所示,本申请提供的模型训练装置800,包括:

获取单元810,用于获取历史直播数据和当前时刻的直播数据,并根据历史直播数据和当前时刻的直播数据确定用户的用户属性信息、用户在当前时刻的用户实时状态以及各主播的主播属性信息。

处理单元820,用于将用户实时状态、用户属性信息输入处理模型中,得到用户的实时偏好信息。

推荐单元830,用于根据用户的实时偏好信息、各主播属性信息,确定用户的推荐列表。

发送单元840,用于将用户的推荐列表发送给与用户对应的用户终端。

图9为本申请一示例性实施例示出的电子设备的结构图。

如图9所示,本实施例提供的电子设备包括:

存储器901;

处理器902;以及

计算机程序;

其中,计算机程序存储在存储器901中,并配置为由处理器902执行以实现如上的任一种直播视频的个性化推荐模型训练方法或直播视频的个性化推荐方法。

本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,

计算机程序被处理器执行以实现如上的任一种直播视频的个性化推荐模型训练方法或直播视频的个性化推荐方法。

本实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述任一种直播视频的个性化推荐模型训练方法或直播视频的个性化推荐方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。


技术特征:

1.一种直播视频的个性化推荐模型的训练方法,其特征在于,包括:

获取预设的历史直播数据,并根据所述历史直播数据确定用户的用户属性信息,以及所述用户在预设时刻的用户实时状态;

利用预先搭建的处理模型,根据所述用户实时状态、所述用户属性信息确定所述用户的用户偏好信息;所述用户偏好信息用于表征所述用户在所述预设时刻的偏好,所述用户偏好信息用于确定所述用户的推荐列表;

根据所述历史直播数据,确定所述用户对所述推荐列表的反馈信息;

利用预先搭建的评判模型,根据所述反馈信息、所述用户偏好信息、所述用户实时状态确定模型总期望收益;

根据所述模型总期望收益、所述历史直播数据调整所述处理模型、所述评判模型,其中,训练完毕的所述处理模型为用于进行直播视频个性化推荐的模型。

2.根据权利要求1所述的方法,其特征在于,根据所述历史直播数据确定所述用户在预设时刻的用户实时状态,包括:

利用预设的嵌入层,根据所述用户的标识对所述历史直播数据进行处理,确定所述用户的静态特征;

根据所述历史直播数据,确定所述用户在所述预设时刻之前的动态观看记录特征;

根据所述历史直播数据,确定所述用户的相似用户在所述预设时刻的实时观看记录特征;

对所述用户的静态特征、所述用户的动态观看记录特征、所述用户的实时观看记录特征进行拼接,得到所述用户的用户实时状态。

3.根据权利要求1所述的方法,其特征在于,所述利用预先搭建的处理模型,根据所述用户实时状态、所述用户属性信息确定所述用户的用户偏好信息,包括:

将所述用户的用户属性信息、用户实时状态输入到所述处理模型,所述处理模型用于输出所述用户的偏好识别结果;

根据所述偏好识别结果、高斯随机变量,确定所述用户在所述预设时刻的当前偏好信息。

4.根据权利要求1所述的方法,其特征在于,还包括:

利用预设的嵌入层,根据各主播的标识对所述历史直播数据进行处理,确定各主播的各主播属性信息;

根据所述用户的当前偏好信息、各所述主播属性信息,确定所述用户与每一主播之间的匹配信息;

根据所述用户与每一主播之间的匹配信息,确定所述用户的推荐列表。

5.根据权利要求1所述的方法,其特征在于,所述利用预先搭建的评判模型,根据所述反馈信息、所述用户偏好信息、所述用户实时状态确定模型总期望收益,包括:

将所述反馈信息、所述用户偏好信息、所述用户实时状态输入预先搭建的评判模型,所述评判模型用于根据预设的折现因子对所述反馈信息、所述用户偏好信息、所述用户实时状态进行处理,得到输出总期望收益。

6.根据权利要求1所述的方法,其特征在于,所述根据所述模型总期望收益、所述历史直播数据调整所述处理模型、所述评判模型,包括:

根据所述模型总期望确定强化学习目标损失函数;

根据所述历史直播数据确定用于作为正训练数据的第一主播信息,以及用于作为负训练数据的第二主播信息;

根据所述第一主播信息、所述第二主播信息构建有监督学习目标损失函数;

根据所述强化学习目标损失函数、所述有监督学习目标损失函数,调整所述处理模型;

和/或,根据所述模型总期望、所述反馈信息、所述折现因子,构建所述评判模型的损失函数,并根据所述评判模型的损失函数调整所述评判模型。

7.一种直播视频的个性化推荐方法,其特征在于,包括:

获取历史直播数据和当前时刻的直播数据,并根据所述历史直播数据和当前时刻的直播数据确定用户的用户属性信息、所述用户在当前时刻的用户实时状态以及各主播的主播属性信息;

将所述用户实时状态、所述用户属性信息输入处理模型中,得到所述用户的实时偏好信息;

根据所述用户的实时偏好信息、各所述主播属性信息,确定所述用户的推荐列表;

将所述用户的推荐列表发送给与所述用户对应的用户终端。

8.一种电子设备,其特征在于,包括存储器和处理器;其中,

所述存储器,用于存储计算机程序;

所述处理器,用于读取所述存储器存储的计算机程序,并根据所述存储器中的计算机程序执行上述权利要求1-6或7任一项所述的方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述权利要求1-6或7任一项所述的方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1-6或7任一项所述的方法。

技术总结
本公开提供的一种模型训练方法、直播推荐方法、设备、程序产品,涉及直播推荐技术,包括:获取历史直播数据,根据历史直播数据确定用户属性信息,实时状态;利用预搭建的处理模型,确定用户偏好信息;用户偏好信息用于确定推荐列表;根据历史直播数据,确定用户对推荐列表的反馈;利用预先搭建的评判模型,确定模型总期望收益;根据模型总期望收益、历史直播数据调整处理模型、评判模型,其中训练完的处理模型用于直播视频的个性化推荐。本公开提供的方案基于用户属性信息,偏好信息确定推荐列表,结合了用户在较长时间内的特征,及实时特征向用户推荐主播。基于用户反馈训练模型,达到向用户个性化推荐直播视频的目的。

技术研发人员:刘红岩;车尚锟;王潇
受保护的技术使用者:清华大学
技术研发日:2021.06.02
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-1749.html

最新回复(0)