一种基于未来观测进行对抗的节目推荐方法和系统与流程

文档序号:33713271发布日期:2023-04-01 01:26阅读:48来源:国知局
一种基于未来观测进行对抗的节目推荐方法和系统与流程

1.本发明涉及网络电视节目推荐技术领域,尤其涉及一种基于未来观测进行对抗的节目推荐方法和系统。


背景技术:

2.随着4k高清电视的普及,iptv节目的种类越来越多,基于用户快速有效个性化推荐合适的节目变得越来越重要。传统的节目推荐方法一般利用用户对节目的观看时长来获取用户偏好,没有充分利用用户观看数据,因此无法全面高效地获取用户偏好,从而为用户推荐合适的节目。为此,本发明提供了一种基于未来观测进行对抗的节目推荐方法和系统,充分利用用户偏好信息,提升节目推荐效果。


技术实现要素:

3.本发明提供了一种基于未来观测进行对抗的节目推荐方法和系统。用于解决现有的节目推荐方法没有充分利用用户观看数据,难以全面高效地获取用户偏好,节目推荐效果欠佳的技术问题。
4.有鉴于此,本发明第一方面提供了一种基于未来观测进行对抗的节目推荐方法,包括:
5.通过特征处理模块提取用户最近若干次观看的节目记录,构建用户观看特征集合,其中,用户观看特征集合包括历史特征和未来特征,历史特征包括用户历史观看行为特征、用户历史观看节目特征和用户画像,未来特征包括用户未来观看行为特征和用户未来观看节目特征;
6.构建由生成器模型和判别器模型构成的生成对抗网络;
7.将用户历史观看行为特征、用户历史观看节目特征和用户画像作为生成器模型的输入,解码得到用户偏好观看的节目;
8.将历史特征、未来特征、生成器模型解码得到的用户偏好观看的节目和用户真实观看的节目作为判别器模型的输入,判别生成器模型解码得到的用户偏好观看的节目是否准确;
9.根据生成对抗网络的损失函数和用户观看的节目记录完成对生成对抗网络的训练,更新生成对抗网络参数,得到最优的生成对抗网络;
10.将特征处理模块和最优的生成对抗网络下的生成器模型用于根据用户观看的节目数据预测用户偏好的节目,向用户推荐用户偏好的节目。
11.可选地,通过特征处理模块提取用户最近若干次观看的节目记录,构建用户观看特征集合,包括:
12.通过特征处理模块提取用户最近若干次观看的节目记录;
13.通过item2vec算法对用户最近若干次观看的节目记录进行embedding操作,得到用户历史观看行为特征和用户未来观看行为特征;
14.根据用户最近若干次观看的节目记录的标签信息和主演信息,对用户最近若干次观看的节目记录的标签信息和主演信息进行one-hot编码后进行平均池化,得到用户历史观看节目特征和用户未来观看节目特征;
15.对用户的性别和年龄进行one-hot编码,对用户历史观看行为特征embedding后的向量进行平均池化,得到用户历史收视特征,根据用户的性别one-hot编码、用户的年龄one-hot编码和用户历史收视特征,构建用户画像。
16.可选地,将用户历史观看行为特征、用户历史观看节目特征和用户画像作为生成器模型的输入,解码得到用户偏好观看的节目,包括:
17.根据用户历史观看行为特征构建用户观看行为的位置特征;
18.将通过item2vec算法embedding后的用户历史观看行为特征和用户观看行为的位置特征合并,输入由transformer层构成的特征处理网络,得到transformer后的用户历史观看行为特征和用户观看行为的位置特征;
19.将transformer后的用户历史观看行为特征和用户观看行为的位置特征、用户画像和用户历史观看节目特征合并,输入多层感知机和relu激活函数,得到生成器模型输出的用户偏好观看的节目。
20.可选地,生成对抗网络的损失函数为:
[0021][0022]
其中,l
g,d
为生成器模型和判别器模型的损失函数,θ为生成器模型参数,φ为判别器模型参数,fh为历史特征,ff为未来特征,为在训练集中实际观看的节目上求期望,表示在生成器模型生成的节目上求期望,d为节目,σ为sigmoid函数,h
φ
为给定判别器模型参数φ时节目d的得分函数。
[0023]
可选地,根据用户历史观看行为特征构建用户观看行为的位置特征的公式为:
[0024]
pi=t(d
t
)-t(di)
[0025]
其中,pi为用户观看第i个节目的位置特征,t(d
t
)为观看当前节目t的时间戳,t(di)为观看节目i的时间戳。
[0026]
本发明第二方面提供了一种基于未来观测进行对抗的节目推荐系统,包括:
[0027]
特征处理模块,用于提取用户最近若干次观看的节目记录,构建用户观看特征集合,其中,用户观看特征集合包括历史特征和未来特征,历史特征包括用户历史观看行为特征、用户历史观看节目特征和用户画像,未来特征包括用户未来观看行为特征和用户未来观看节目特征;
[0028]
生成对抗网络构建模块,用于构建由生成器模型和判别器模型构成的生成对抗网络;
[0029]
生成器模块,用于将用户历史观看行为特征、用户历史观看节目特征和用户画像作为生成器模型的输入,解码得到用户偏好观看的节目;
[0030]
判别器模块,用于将历史特征、未来特征、生成器模型解码得到的用户偏好观看的节目和用户真实观看的节目作为判别器模型的输入,判别生成器模型解码得到的用户偏好观看的节目是否准确;
[0031]
训练输出模块,用于根据生成对抗网络的损失函数和用户观看的节目记录完成对
生成对抗网络的训练,更新生成对抗网络参数,得到最优的生成对抗网络;
[0032]
节目推荐模块,用于将特征处理模块和最优的生成对抗网络下的生成器模型用于根据用户观看的节目数据预测用户偏好的节目,向用户推荐用户偏好的节目。
[0033]
可选地,特征处理模块具体用于:
[0034]
通过特征处理模块提取用户最近若干次观看的节目记录;
[0035]
通过item2vec算法对用户最近若干次观看的节目记录进行embedding操作,得到用户历史观看行为特征和用户未来观看行为特征;
[0036]
根据用户最近若干次观看的节目记录的标签信息和主演信息,对用户最近若干次观看的节目记录的标签信息和主演信息进行one-hot编码后进行平均池化,得到用户历史观看节目特征和用户未来观看节目特征;
[0037]
对用户的性别和年龄进行one-hot编码,对用户历史观看行为特征embedding后的向量进行平均池化,得到用户历史收视特征,根据用户的性别one-hot编码、用户的年龄one-hot编码和用户历史收视特征,构建用户画像。
[0038]
可选地生成器模块具体用于:
[0039]
根据用户历史观看行为特征构建用户观看行为的位置特征;
[0040]
将通过item2vec算法embedding后的用户历史观看行为特征和用户观看行为的位置特征合并,输入由transformer层构成的特征处理网络,得到transformer后的用户历史观看行为特征和用户观看行为的位置特征;
[0041]
将transformer后的用户历史观看行为特征和用户观看行为的位置特征、用户画像和用户历史观看节目特征合并,输入多层感知机和relu激活函数,得到生成器模型输出的用户偏好观看的节目。
[0042]
可选地,生成对抗网络的损失函数为:
[0043][0044]
其中,l
g,d
为生成器模型和判别器模型的损失函数,θ为生成器模型参数,φ为判别器模型参数,fh为历史特征,ff为未来特征,为在训练集中实际观看的节目上求期望,表示在生成器模型生成的节目上求期望,d为节目,σ为sigmoid函数,h
φ
为给定判别器模型参数φ时节目d的得分函数。
[0045]
可选地,根据用户历史观看行为特征构建用户观看行为的位置特征的公式为:
[0046]
pi=t(d
t
)-t(di)
[0047]
其中,pi为用户观看第i个节目的位置特征,t(d
t
)为观看当前节目t的时间戳,t(di)为观看节目i的时间戳。
[0048]
从以上技术方案可以看出,本发明提供的基于未来观测进行对抗的节目推荐方法和系统具有以下优点:
[0049]
本发明提供的基于未来观测进行对抗的节目推荐方法,通过特征处理模块从用户观看的节目记录分别提取历史特征和未来特征,分别对生成对抗网络的生成器模型和判别器模型进行训练,通过不断更新生成器模型和判别器模型的参数,最终得到最优的生成对抗网络,经过生成器模型与判别器模型不断的对抗博弈,未来感知的判别器模型能够激发
生成器模型的潜能,做出更贴合用户偏好的节目推荐,利用特征处理模块和最优的生成对抗网络下的生成器模型为用户推荐节目,充分利用了用户的节目观看数据,能够准确把握用户偏好,提高了节目推荐效果,解决了现有的节目推荐方法没有充分利用用户观看数据,难以全面高效地获取用户偏好,节目推荐效果欠佳的技术问题。
[0050]
本发明提供的基于未来观测进行对抗的节目推荐系统,用于执行本发明提供的基于未来观测进行对抗的节目推荐方法,其原理和所取得的技术效果与本发明提供的基于未来观测进行对抗的节目推荐方法相同,在此不再赘述。
附图说明
[0051]
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0052]
图1为本发明中提供的一种基于未来观测进行对抗的节目推荐方法的流程示意图;
[0053]
图2为本发明中提供的transformer的结构示意图;
[0054]
图3为本发明中提供的完整的生成器模型结构示意图;
[0055]
图4为本发明中提供的生成对抗网络的结构示意图;
[0056]
图5为本发明中提供的一种基于未来观测进行对抗的节目推荐系统的结构示意图。
具体实施方式
[0057]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058]
为了便于理解,请参阅图1,本发明中提供了一种基于未来观测进行对抗的节目推荐方法的实施例,包括:
[0059]
步骤101、通过特征处理模块提取用户最近若干次观看的节目记录,构建用户观看特征集合,其中,用户观看特征集合包括历史特征和未来特征,历史特征包括用户历史观看行为特征、用户历史观看节目特征和用户画像,未来特征包括用户未来观看行为特征和用户未来观看节目特征。
[0060]
需要说明的是,本发明实施例中,利用特征处理模块从用户最近若干次观看的节目记录中提取出历史特征和未来特征作为用户观看特征集合。历史特征用fh表示,未来特征用ff表示。历史特征fh包括用户历史观看行为特征、用户历史观看节目特征和用户画像,未来特征包括用户未来观看行为特征和用户未来观看节目特征,未来特征包括用户未来观看行为特征和用户未来观看节目特征。观看行为特征指用户依次观看的节目。观看节目特征指用户观看的节目的标签信息和主演信息。
[0061]
具体地,通过item2vec算法对用户最近若干次观看的节目记录进行embedding操
作,得到用户历史观看行为特征和用户未来观看行为特征,将embedding后的用户历史观看行为特征集记为dh=(d1,d2,...,d
t-1
),将embedding后的用户未来观看行为特征集记为df=(d
t+1
,d
t+2
,...,dn)。根据用户最近若干次观看的节目记录的标签信息和主演信息,对用户最近若干次观看的节目记录的标签信息和主演信息均进行one-hot编码,再进行平均池化,得到用户历史观看节目特征和用户未来观看节目特征,用户历史观看节目特征构成的用户历史观看节目特征集记为ch,用户未来观看节目特征构成的用户未来观看节目特征集记为cf。用户画像包括用户性别、年龄和历史收视特征,用户的性别和年龄可在用户使用电视终端观看节目时向用户弹出等级窗口,经用户授权后输入用户对应的性别和年龄信息而获得。用户历史收视特征可通过对用户历史观看行为特征embedding后的向量进行平均池化得到。对用户的性别和年龄进行one-hot编码,根据用户的性别one-hot编码、用户的年龄one-hot编码和用户历史收视特征,可构建用户画像u。
[0062]
步骤102、构建由生成器模型和判别器模型构成的生成对抗网络。
[0063]
需要说明的是,生成对抗网络(generative adversarial networks)是一类机器学习技术,由生成器(generator)网络和判别器(discriminator)网络组成,两个网络相互进行对抗性学习。生成器网络的主要目标是生成逼真的对象,判别器网络的主要目标是试图区分真假对象。
[0064]
步骤103、将用户历史观看行为特征、用户历史观看节目特征和用户画像作为生成器模型的输入,解码得到用户偏好观看的节目。
[0065]
需要说明的是,生成器模型部分只输入历史特征fh,根据输入的历史特征fh生成用户偏好观看的节目d
t
'。考虑到用户收视行为的不连续性,本发明中引入多头自注意力机制,首先根据用户历史观看顺序,构建用户观看行为的位置特征,计算公式为:
[0066]
pi=t(d
t
)-t(di)
[0067]
其中,pi为用户观看第i个节目的位置特征,t(d
t
)为观看当前节目t的时间戳,t(di)为观看节目i的时间戳。
[0068]
记用户观看行为的位置特征集为ph=(p1,p2,...,p
t-1
)。对用户观看行为的位置特征进行embedding,然后将经过embedding后的用户历史观看行为特征和用户观看行为的位置特征合并,输入一个由transformer层构成的特征处理网络,得到transformer后的用户历史观看行为特征和用户观看行为的位置特征。transformer具有序列到序列预测方面的全局自注意力优势,可提高节目推荐的准确度和计算的时效性。transformer层由多头注意力机(msa)和层标准化(ln)组成,具体结构如图2所示。将transformer后的用户历史观看行为特征和用户观看行为的位置特征、用户画像u和用户历史观看节目特征合并,输入多层感知机(mlp)和relu激活函数,得到生成器模型输出的用户偏好观看的节目。完整的生成器模型结构如图3所示。
[0069]
步骤104、将历史特征、未来特征、生成器模型解码得到的用户偏好观看的节目和用户真实观看的节目作为判别器模型的输入,判别生成器模型解码得到的用户偏好观看的节目是否准确。
[0070]
需要说明的是,本发明实施例中构建的判别器模型是基于未来感知的判别器模型,其结构与生成器模型结构相同,但判别器中引人未来特征用以强化判别器的判别能力。将历史特征、未来特征、生成器模型解码得到的用户偏好观看的节目和用户真实观看的节
目作为判别器模型的输入,判别生成器模型解码得到的用户偏好观看的节目是否准确,如图4所示。
[0071]
基于未来感知的判别器模型将未来特征和历史特征作为输入,对候选节目进行评分。生成器模型通过输入的历史特征,输出尽可能真实的候选节目,来混淆被未来观测加持后的判别器模型的判断。经过生成器模型和判别器模型不断的对抗博弈,基于未来感知的判别器模型能够激发生成器模型的潜能,做出更合适的节目推荐。
[0072]
步骤105、根据生成对抗网络的损失函数和用户观看的节目记录完成对生成对抗网络的训练,更新生成对抗网络参数,得到最优的生成对抗网络。
[0073]
需要说明的是,对于每个用户,生成器模型生成使p
θ
(d|fh)最大的节目,其中,p
θ
(d|fh)为给定生成器模型参数θ下用户观看节目d的概率,θ为生成器模型参数,d为节目,fh为历史特征。判别器模型通过h
φ
(d|fh,ff)判断生成器模型生成的节目是否准确,其中,h
φ
(d|fh,ff)为给定判别器模型参数φ时节目d的得分,φ为判别器模型参数,ff为未来特征。本发明实施例中,生成对抗网络的损失函数为:
[0074][0075]
其中,l
g,d
为生成器模型和判别器模型的损失函数,θ为生成器模型参数,φ为判别器模型参数,fh为历史特征,ff为未来特征,为在训练集中实际观看的节目上求期望,表示在生成器模型生成的节目上求期望,d为节目,σ为sigmoid函数,h
φ
为给定判别器模型参数φ时节目d的得分函数。
[0076]
当更新判别器模型时,生成对抗网络的损失函数取最大值,当更新生成器模型时,生成对抗网络的损失函数去最小值。利用用户观看的节目记录不断对生成对抗网络进行训练,得到最优的生成对抗网络,最优的生成对抗网络中,生成器模型生成的用户偏好观看的节目将使得判别器模型难以判别真假。
[0077]
由于生成器模型生成的节目数据是离散的,故可基于reinforce强化学习方法对生成器模型进行优化,生成器模型的损失函数可以表示为:
[0078][0079]
其中,为生成器模型的损失函数,k为大于0的整数,表示生成器模型最可能生成的k个节目,dk为第k个节目,表示求梯度。
[0080]
步骤106、将特征处理模块和最优的生成对抗网络下的生成器模型用于根据用户观看的节目数据预测用户偏好的节目,向用户推荐用户偏好的节目。
[0081]
需要说明的是,当得到最优的生成对抗网络之后,将特征处理模块和最优的生成对抗网络下的生成器模型进行线上部署,根据用户观看的节目数据预测用户偏好的节目,向用户推荐用户偏好的节目。
[0082]
本发明提供的基于未来观测进行对抗的节目推荐方法,通过特征处理模块从用户观看的节目记录分别提取历史特征和未来特征,分别对生成对抗网络的生成器模型和判别器模型进行训练,通过不断更新生成器模型和判别器模型的参数,最终得到最优的生成对抗网络,经过生成器模型与判别器模型不断的对抗博弈,未来感知的判别器模型能够激发
生成器模型的潜能,做出更贴合用户偏好的节目推荐,利用特征处理模块和最优的生成对抗网络下的生成器模型为用户推荐节目,充分利用了用户的节目观看数据,能够准确把握用户偏好,提高了节目推荐效果,解决了现有的节目推荐方法没有充分利用用户观看数据,难以全面高效地获取用户偏好,节目推荐效果欠佳的技术问题。
[0083]
为了便于理解,请参阅图5,本发明中还提供了一种基于未来观测进行对抗的节目推荐系统的实施例,包括:
[0084]
特征处理模块,用于提取用户最近若干次观看的节目记录,构建用户观看特征集合,其中,用户观看特征集合包括历史特征和未来特征,历史特征包括用户历史观看行为特征、用户历史观看节目特征和用户画像,未来特征包括用户未来观看行为特征和用户未来观看节目特征;
[0085]
生成对抗网络构建模块,用于构建由生成器模型和判别器模型构成的生成对抗网络;
[0086]
生成器模块,用于将用户历史观看行为特征、用户历史观看节目特征和用户画像作为生成器模型的输入,解码得到用户偏好观看的节目;
[0087]
判别器模块,用于将历史特征、未来特征、生成器模型解码得到的用户偏好观看的节目和用户真实观看的节目作为判别器模型的输入,判别生成器模型解码得到的用户偏好观看的节目是否准确;
[0088]
训练输出模块,用于根据生成对抗网络的损失函数和用户观看的节目记录完成对生成对抗网络的训练,更新生成对抗网络参数,得到最优的生成对抗网络;
[0089]
节目推荐模块,用于将特征处理模块和最优的生成对抗网络下的生成器模型用于根据用户观看的节目数据预测用户偏好的节目,向用户推荐用户偏好的节目。
[0090]
特征处理模块具体用于:
[0091]
通过特征处理模块提取用户最近若干次观看的节目记录;
[0092]
通过item2vec算法对用户最近若干次观看的节目记录进行embedding操作,得到用户历史观看行为特征和用户未来观看行为特征;
[0093]
根据用户最近若干次观看的节目记录的标签信息和主演信息,对用户最近若干次观看的节目记录的标签信息和主演信息进行one-hot编码后进行平均池化,得到用户历史观看节目特征和用户未来观看节目特征;
[0094]
对用户的性别和年龄进行one-hot编码,对用户历史观看行为特征embedding后的向量进行平均池化,得到用户历史收视特征,根据用户的性别one-hot编码、用户的年龄one-hot编码和用户历史收视特征,构建用户画像。
[0095]
生成器模块具体用于:
[0096]
根据用户历史观看行为特征构建用户观看行为的位置特征;
[0097]
将通过item2vec算法embedding后的用户历史观看行为特征和用户观看行为的位置特征合并,输入由transformer层构成的特征处理网络,得到transformer后的用户历史观看行为特征和用户观看行为的位置特征;
[0098]
将transformer后的用户历史观看行为特征和用户观看行为的位置特征、用户画像和用户历史观看节目特征合并,输入多层感知机和relu激活函数,得到生成器模型输出的用户偏好观看的节目。
[0099]
生成对抗网络的损失函数为:
[0100][0101]
其中,l
g,d
为生成器模型和判别器模型的损失函数,θ为生成器模型参数,φ为判别器模型参数,fh为历史特征,ff为未来特征,为在训练集中实际观看的节目上求期望,表示在生成器模型生成的节目上求期望,d为节目,σ为sigmoid函数,h
φ
为给定判别器模型参数φ时节目d的得分函数。
[0102]
根据用户历史观看行为特征构建用户观看行为的位置特征的公式为:
[0103]
pi=t(d
t
)-t(di)
[0104]
其中,pi为用户观看第i个节目的位置特征,t(d
t
)为观看当前节目t的时间戳,t(di)为观看节目i的时间戳。
[0105]
本发明提供的基于未来观测进行对抗的节目推荐系统,用于执行本发明提供的基于未来观测进行对抗的节目推荐方法,其原理和所取得的技术效果与本发明提供的基于未来观测进行对抗的节目推荐方法相同,在此不再赘述。
[0106]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1