基于多模态神经网络的直播推荐
2023-11-29陆焰,刘霞,苏皑
陆 焰,刘 霞,苏 皑
(1.广州科技贸易职业学院 商贸学院,广东 广州 511442;2.南京大学 管理学院,江苏 南京 210008; 3.华南理工大学 管理学院,广东 广州 510641)
直播推荐作为直播平台智能化与人性化的体现,能够实时为用户推荐感兴趣的内容,为直播用户带来良好的使用体验。直播推荐作为直播平台在市场持续运营的基础,关系着直播平台的长远发展[1]。由于直播变化实时性强且数据量大,而且受到主播、内容和用户的多种影响,直播推荐的难度不断提升,这给直播推荐算法带来了更大挑战[2]。
近年来,直播平台如雨后春笋般涌现,而直播资源的精准推荐成为直播平台需要解决的关键问题,关注直播推荐算法的研究也较多[3]。Zhang等[4]采用机器学习算法用于特征时间序列挖掘,分析直播特征的时序变化,生成与用户相关度高的时间序列来实现直播推荐。郭景峰等[5]采用聚类方法进行直播特征训练,结合评分预测策略获得了准确率较高的直播推荐效果。上述两者在样本规模不大的情况下具有较高推荐性能,而在应对大规模的多模态样本时,其推荐性能和推荐效率会大幅降低。
推荐算法的数据来源主要为主播、直播内容和用户,而这些数据的模态并不是单一的,而是包含文本、图像及语音多种模式[6],而且文本和视频内容也非完全匹配,仅靠单一模态进行数据分析可能造成直播推荐不准的问题。因此,为了解决这个问题,笔者尝试采用神经网络(Neural network,NN)算法[7]对多模态的数据进行分析来实现直播推荐。NN算法在文本和图像分析中均有较强性能,只要合理设置NN结构规模和保证纯净的数据样本,便能够得到较高的分析性能。实验结果表明,采用神经网络算法用于多模态直播数据的特征分析,可以获得较高的直播实时推荐精度。
1 直播推荐评分准则
设用户u的直播-时间历史偏好矩阵为Bu,用户u从Bu中挑选bucs,bucs表示用户u在第s时刻对直播c的观看偏好。
(1)
用户u的评分矩阵为Wu,wucs为用户u在第s时刻对直播c的评分预测权重[8]。
(2)
不断优化Bu和Wu,r=T/L,T表示某用户对某视频的观看时长,L表示该直播视频的观看累计时长。
构建t时刻用户u的直播推荐集合
Ru=[ruft…ruct…runt]T
(3)
(4)
t∈dus,ruct为用户u在t时刻开始观看直播时,候选c的预推荐评分函数F。
将F(ruct)=βruft代入式(4),求解wucs和bucs,ruft为t时刻给用户u的唯一推荐评分。
(5)
式中:K表示所有观看直播的用户集合。
2 基于多模态神经网络的直播推荐算法
2.1 神经网络结构
设样本Xk=(x1,x2,…,xm),k=1,2,…,n,m和n分别为样本特征和样本数量,且n≤m,样本Xk经过多层神经网络[9]转换后得到输出结果为Yk=(y1,y2,…,ym)。
样本Xi经过第一隐藏层输出为
(6)
式中:W1ij和θ1j为第一隐藏层的权重和偏置[10],p为该层节点数。
S1j经过转换后为
(7)
式中:σ>0,cj表示正则常量。
继续经过第二隐藏层输出得
(8)
式中:W2ij和θ2j为第二隐藏层权重及偏置。
S2j经过转换后为
b2j=exp·
(9)
将所有隐藏层计算完毕,设最后一层隐藏层的结果为b2j。
令输出层结果为Li,节点i至j的权重Vji,Li计算方法为
(10)
式中:p为输出层节点数。
Li经过转换后为[11]
(11)
(12)
式中:q表示输出节点数。
计算所有节点累计误差[12]
(13)
分别对Vjt和Wjt求导
ΔVjt=-∂Ek/∂Vjt
(14)
则
(15)
2.2 直播推荐算法设计
在直播推荐过程中,由于直播的数据组成形式是多样的,因此直播推荐的数据来源是多模态的,既包含直播的文本描述,又包含图片和视频描述。为了提高直播推荐算法性能,在数据样本提取时,必须充分考虑多模态特征[13,14],通过多模态的全方位特征获取,根据特征优化结果,获得更有效的直播推荐结果。
在直播推荐中,用户、主播和直播的文本特征较多,而且利用文本推荐的方法也较为成熟,本文重点考虑在文本特征的基础上引入视频和音频特征,进行多模态特征的分析,表1列出了用于直播推荐的非文本多模态特征。
表1 多模态直播及用户特征
根据表1的多模态特征,进行基于多模态NN的直播推荐,则正则损失函数为[15]
λ‖wucs‖2+λ‖bucs‖2
(16)
式中:λ为系数常量。
采用梯度下降获得参数wucs和bucs,对两者分别偏导,不断迭代更新
(17)
(18)
式中:α为步长。
基于多模态NN的直播推荐具体流程如表2所示。
表2 多模态神经网络的直播推荐流程
3 实例仿真
为了验证多模态NN的直播推荐算法性能,对国内5个直播平台(抖音、虎牙、酷狗、快手和映客)进行性能仿真,用户所有的直播观看记录均选择观看时间大于60 s的有效记录,选择了推荐算法常用的3个评价指标Precision、Recall和MRR[16]。
表3 直播样本
3.1 不同模态下的推荐性能
差异化设置[17]各种模态组合,验证不同模态下的神经网络直播推荐性能,选择TOP-10作为神经网络推荐候选序列,其中全部测试用例下的推荐性能(图1~图3)。
从图1~3得,对于全部测试用例,不同模态下的神经网络直播推荐性能差异较大,当采用文本+视频+音频3种模态特征作为神经网络训练对象时,其获得的性能最高,文本+视频模态次之,纯文本模态下的推荐性能最差。这主要是单靠用户和主播及直播主题的文本特征来推荐精确度不高,可能主播文本特征和主播直播内容的关联度较弱,在没有音视频模态的支持下,容易造成推荐不准的情况。从图中也可得,文本和视频模态是影响神经网络推荐性能的关键模态,而音频模态对推荐性能的影响最小。
图1 不同模态下的准确率
图2 不同模态下的召回率
图3 不同模态下的MRR
横向对比发现,5个直播平台的多模态神经网络推荐性能差异较大,其中神经网络对直播平台C的推荐Precision最低,但该平台的推荐Recall却最高,直播平台D的3项性能均较高。相比于Precision和Recall,5个直播平台的MRR性能差异则较小。
下面对新主播测试用例进行多模态神经网络推荐性能分析,仍选择TOP-10作为候选序列,其性能如表4所示。
表4 不同模态下的推荐性能(新主播用例)
从表4可知,对于相同模态,相同平台,相比于全部测试用例,新主播测试用例的推荐性能有所下降,这主要是新主播的历史直播数据无法获得,而神经网络训练得到的稳定模型是基于历史数据而得到的,因此其推荐性能不如包含历史主播的全部测试用例。
3.2 不同隐藏层数的推荐性能
为了验证神经网络结构对直播推荐性能的影响,差异化设置隐藏层层数HX(X代表层),统计2种不同测试用例下的TOP-10推荐指标。
从表5和6可知,对于不同网络规模,多模态神经网络在5个直播平台的推荐性能差异较大,其中H2的推荐性能略低,而H5和H7的推荐性能接近,这可能是由于H2时网络结构小,不足以更好地训练多模态特征。MRR指标对网络规模的依赖度更低,而Recall对网络规模最敏感。同样,2个测试用例前者表现的推荐性能更佳,而后者略差。
表5 不同隐藏层数的推荐性能(全部主播用例)
表6 不同隐藏层数的推荐性能(新主播用例)
3.3 不同历史观看次数的推荐性能
在多模态神经网络的直播推荐过程中,在用户特征提取时,选择用户最近观看直播次数T作为用户样本特征进行训练,比较不同历史观看次数下的推荐性能,分别选择不同TOP-K候选序列,对全部主播用例进行测试分析。
从表7和8可知,在用户模态特征选择时,参与神经网络训练的历史直播观看记录对直播推荐的性能影响较大,在相同候选推荐序列情况下,当T=7时,获得较高的推荐性能,而当T小于或大于该值,推荐性能均有所下降,这表明历史观看次数选择过少,导致参与训练样本太少,而造成推荐不准的情况,而观看次数选择过多,实时性变差,可能给推荐结果带来干扰。对比发现,当推荐候选序列增多时,其Recall性能提升明显,而MRR缓慢上升。后续研究将进一步优化多模态特征采样和改进神经网络算法,增强推荐准确度和推荐效率,以提高多模态NN直播实时推荐的适应性。
表7 不同历史观看次数下的Recall
表8 不同历史观看次数下的MRR
4 结语
笔者采用多模态NN算法用于直播推荐,通过不同参数的仿真性能分析发现多模态特征参与推荐策略优化的重要性,通过不同网络规模和不同时间长度的历史观看记录差异化仿真,获得了适合于5个直播平台的推荐仿真参数,本文算法在5个直播平台的资源推荐均表现出较高推荐性能。