Trans队列将机器翻译模型(NMT)与用户所处的Context信息相融合,进行推荐。用户所处Context信息是指用户访问推荐系统的时间、地点、心情等信息。
Context信息对于提升推荐系统的多样性至关重要,比如,白天上班时,用户可能倾向于看行业相关最新信息;晚上睡觉前倾向于看一些搞笑幽默等适合放松的信息。利用NMT模型可以对较长的序列进行建模的优点,将用户点击序列、video自身的语义信息、用户Context信息等构成序列供NMT学习,利用NMT可以同时对全局和局部信息建模的优点,将这些信息融合并用于视频推荐,以提升推荐系统的多样性,优化人均曝光tag数和二级类类目数等多样性指标。
Trans模型主要分为User Encoder和Item Decoder两个部分:User Encoder将用户长期和短期的类目(cat)、Tag和Profile特征融合成。一个Context信息用于Item Decoder解码;Item Decoder输入来自两个部分,一部分是User Encoder输出Context信息,一部分是当前的Vid、以及当前Vid的Tag和类目。
6. Bert模型
从文本预训练任务看,预训练向量表示整体演进路线表现为:由静态向量到基于上下文的动态向量,由单向到双向再到同时考虑双向。最近一两年,以Bert为代表的动态双向预训练模型在自然语言处理领域大放异彩。推荐系统中用户兴趣建模可以借鉴Bert预训练目标。
主要原因有:
首先,无论是RNN模型还是Seq2Seq模型以及Translation模型,都是从前到后建模用户历史行为序列,单向结构的建模有一定限制,而Bert类模型兼顾双向进行建模。
其次,用户行为顺序性的假设有时并不适用,用户行为顺序与推荐系统展示顺序有关,比如打乱某些会话内的推荐顺序不用影响用户行为。
Bert模型召回关键点在于样本制作:
- 建模更长的用户序列:序列长度128,对于长序列用户采用滑动窗口截取样本,对于短序列直接丢弃处理;
- 如何MASK:样本真实长度为N,序列中1-N-1随机MASK,MASK比例10%;为了拟合序列任务,最后一位N强制MASK。
7. 双塔模型
DSSM(Deep Structured Semantic Models)是一个用来解决搜索相关性的模型,通过将query和doc 分别计算成一个向量从而获得query和doc相关性。
在推荐系统中认为给用户推荐的item与其兴趣相关性越高,用户则越喜欢,利用DSSM这种相关性计算方法,通过计算user,item向量之间的相关性从而判断用户是否对item更感兴趣。
模型框架方面,我们经历了从双塔DSSM模型到Multi-View DNN,Multi-View DNN可以更好的结合图文、视频、小视频等不同业务的信息来丰富用户表示,使模型对用户判断更准确,这对业务迁移初期冷启动用户有明显作用。
特征使用上,我们使用了user需求信息与Item的丰富side infomation,包括一些映射特征,比如用户的类目与item类目,用户的tag与item的tag等。模型训练使用线上的曝光点击,曝光分享等数据作为训练数据(具体会因业务不同有所变化)。
由于召回侧候选Item量级非常大,无法进行instance基本在线预测,实际使用采用了在线实时predict user embedding 与离线predict doc embedding结合的方法。将item embedding存在在线ANN server,每次请求使用ANN 取出与user embedding 最相近的top 1000 doc作为召回候选,具体模型框架如下图所示:
我们对双塔模型的优化方向:
- 双塔DSSM到Multi-Videw DNN,结合多业务信息,丰富用户表达。
- 增加更多side information,学习更准确user、item表示。
- pair-wise 形式的双塔模型,提高模型的预测能力。
- 结合attention,FM等结构,增强模型表达能力。
- 多塔多目标模型优化,结合业务多指标,融合丰富信息建模多塔模型。
8. 混合模型
基于深度神经网络的推荐模型DMB(Deep Neural Networks based Model)是综合使用了文章或视频的语义信息、用户的阅读历史、长短期兴趣、上下文信息,推荐出相似语义的文章或视频。
序列类模型采用的是无监督的机器学习方法,能够很好的学习到item的语义向量和协同向量,但是在推荐场景中还有大量的特征可以使用,因此需要一个对推荐数据拟合更好的模型去进行机器学习,DMB模型因此而产生,深度神经网络可以有效的对各种类型的特征进行融合,并且有很好的泛化能力,在当前的看一看系统中有着很高的召回占比和较高的用户时长。
为了更好使深度神经网络模型进行学习,首先使用item embedding方法将文章或者视频的ID映射到一个固定维度的稠密向量空间中。所有的特征会在向量化后concat在一起,做为DMB模型的第一层的输入,后面是若干全连接层。
整个DMB模型的架构如下图所示:
在迭代的过程中发现用户的最近的阅读历史(视频播放历史)对于用户的兴趣判断非常重要。模型对于阅读历史建模做了比较多的尝试,使用过RNN,CNN和简单的self-Attentnion等建模方法,离线指标Hitrate都有一定的提升。
最近对模型进行了新的升级,新的模型将利用用户的长期需求对用户的播放历史进行权重的重新建模,这里使用Attention建模方式来完成对阅读历史的重新建模。
先使用神经网络将用户的长期需求Encoding成Query向量,使用该Query向量Attention所有的播放历史,再进行加权平均。
同时,使用加入pos的建模,提高最近播放视频重要性,可以避免因为受画像的影响过多的关注符合长期兴趣的播放历史,而忽略了对新内容的试探。具体的可以参考下面的新的模型结构图。这里只给出了User端建模方法,doc与之前一样。