基于兴趣推荐算法的短视频传播模式研究
2022-05-18任立国
任立国,张 熇,朱 桂
(1.国家电网公司客户服务中心党委党建部(党委宣传部),天津 300309;2.国网智联电商有限责任公司南方交付部,天津 300000)
0 引言
推荐算法可分为:1)内容分析推荐算法。利用受众对观看内容的停留时间和认同(包括但不限于点赞、转发、评论等)操作,将受众贴上标签,系统将会对标签标记用户推送类似关联性很大的ITEM;2)协同过滤算法。将单独个人标签关联的ITEM 推荐给自己的密切联系人;3)混合推荐算法。融合了“内容分析算法”和“协同过滤算法”以加权或者串、并联等方式,利机械学习进行建模[1-2]。
其算法各具特色,“内容分析推荐算法”与其他两种算法不同点在于,可减少ITEM 的起步时间,避免因某些ITEM 没有被浏览过而消杀。而弊端在于此方法重复性强,会反复推荐同一属性内容。无论以何种算法建模,我们都需要用到特征工程和、模型学习。
1 特征工程
现有短视频APP 中,一个完整的作品会有账号、视频、音频、文案组成,利用NLP,CV,AUDIO 等学习模型,来标记其中的差异,让每一个单独的个体具备其自己的特征标签,这样就形成了一对一映射的ITEM特征。在受众使用的过程中,其注册的个人信息会形成用户基本特征信息,受众在使用过程中,观看视频的时长,何时点赞、转发、评论等操作,会形成用户基本交互信息,一般我们抽取并标签的交互信息有三个部分,分别是用户基本特征信息(user_ID,user_CITY),视频特征标签(item_ID,item_CITY,author,duration_time,song)和用户基本交互信息(did,channel)。
利用我们标记的标签信息,利用FM 算法和自主学习模型,可以更多的发现潜在关系(用户兴趣方向、目标年龄与兴趣关系、目标性别兴趣差异等)。
2 算法介绍
上述算法主要是挖掘潜在的交互特征,数据信息为:x特征值;y是输出结果;n是相互交互层级。每提升一层级合数越复杂。一般来说特征值分为离散和稠密两种特征,category 的特征需要one-hot 编码,其相互交互后,会产生高维度的特征,一般的服务器处理能力较低,会产生较多硬件问题。但在实验环节中,一般维度会控制n<2的范围内。
3 特征类别
一般我们会将受众的浏览记录、转发、点赞交互信息记录下来,按照时间顺序排布生成的有利于映射历史数据的信息我们称为时间信息,这类数据信息可以计算受众之后的行为,我们把这类可以利用全部历史数据来推测未来的行为特征信息统称为全局特征,利用一小部分历史数据来推测未来行为的特征信息统称为局部特征。
3.1 整体特征
整体特征从SVD 解析、Statistics 特征、TIME 特征等进行特征的汇总。
SVD解析一般是特征的降维和主要元素的解析,运用SVD可以把维度较高的特征进行降维,再将降维后的数据在模型中进行反复计算、测试和优化,例如用户的ITEM,我们可以创建一个ITEM矩阵,其中的元素则表示此受众是否和ITEM之间有无关系,有关系则记录为1,无关则记录为0,我们将这个不稠密的高纬度矩阵,利用SVD分析,收集前n个主要数据生成一个较稠密的特征,在模型中受训,可以减少大量的算力。
Statistics 特征中一般我们会分解为U-item,Uauthor,U-title 后进行特征的统计,基本统计方式有方差、条件概率等。(P(did|uid),P(channel|uid),P(did|item_id),P(channel|item_id),P(item_author|uid),P(item_city|uid),P(uid_city|item_id))
TIME 特征是这些特征是基于用户的观看时间节点、用户的观看频次等数据进行深度分析,而产生的用户时间维度的兴趣关联。
3.2 局部特征
局部特征(见图1)是把历史数据按照时间排序进行划分,未划分的数据视作训练数据,利用以前的数据排列成特征组合,再将训练数据的元素按照时间排序进行归纳分析,前25%的数据当作训练数据,剩下的作为以前的数据,过程中可再次进行划分来优化模型,按照10%的数据依次划分。根据马尔可夫理论,当前的状态一般只和前面一个状态相关,这也是为何如此划分数据集的依据。
图1 特征图
在上述过程里mean 和regression 只针对目标finish 和like 进行计算,这些特征只记录了用户的历史行为,count_from_past,count,count_from_future,这些特征从时间角度上统计了用户从历史-现在-未来的行为。matrix_factorization 特征是通过FM 算法计算的只利用user和item信息的一个特征,这样即利用了fm的信息,计算量又小。详见图2、图3。
图2 信息流程
图3 逻辑流程
4 结语
完成特征的构建我们就可以让机器学习的算法来进行模型的重复训练。一般算法有基于boost算法的决策树和dnn 算法。针对不同特征使用不同的训练器训练流程,feature0 代表局部特征,feature1 代表全局特征,最后将两个框架的结果进行融合。由于整体特征在like 任务的表现一直不理想,所以基于该特征的xdeepfm 并未进行实验。详细的参数选择和特征选择后,Final最终提交public结果。