上海二三四五网络科技有限公司 刘凡平
信息流推荐一般需要在数十毫秒内解决海量的用户和资讯匹配的问题,从大量资讯中找到用户最可能感兴趣的资讯,双塔结构的召回模型由于在实时性、通用性等方面存在缺陷,本文提出一种针对双塔结构召回模型的改进方法,通过两组模型实现对资讯的特征向量生成和用户喜好的特征向量生成,并应用到信息流推荐领域。同等条件下,改进后的模型在实际信息流场景中用户点击率提升超过27%,实验证明提出的改进算法能够有效提高推荐结果的准确性。
随着互联网信息化程度的提升,推荐系统成为了连接用户和互联网信息中的关键技术,推荐系统一般分为召回、粗排和精排三部分。召回一般是从千万级甚至亿级的原始内容池中召回以千为单位的候选内容集,粗排和精排主要是针对候选集的排序过程。常见的召回策略包括协同过滤、FM、FFM、热门召回、历史记录召回等。召回是推荐中极为关键的环节,直接决定了用户可见内容的候选集,同时一组推荐算法可以有一个或多个召回策略,因此可以通过不同的召回策略使得推荐效果提升。
双塔模型是Google 在2019 年提出的一种应用于推荐领域的召回模型,其主要思想是生成用户的特征向量和物品的特征向量。针对用户的特征向量则是将用户的特征输入到深度神经网络转变为特征向量;针对物品的特征向量则是将推荐物品的特征和物品标识转变到物品的特征向量。整个过程也需要通过用户的点击、阅读等行为的日志数据对模型进行训练,使得用户的特征向量和推荐物品的特征向量的距离尽可能近。
基于深度双塔模型的训练,后续将生成的推荐物品特征向量索引到检索引擎,同时将当用户访问时获得的特征通过双塔模型生成用户特征向量,最后基于用户特征向量检索匹配相近的物品,从而实现用户感兴趣的物品推荐。
当前的双塔模型及其衍生模型,主要应用于视频推荐,然而应用于信息流推荐会存在如下缺陷:
(1)无法满足信息流的实时性推荐要求。信息流时效性要求远高于视频内容,每天出现大量资讯,资讯短时间内极容易过时,因此需要从海量的资讯库中及时、有效的匹配到用户感兴趣的内容。但是目前的双塔模型,资讯的特征向量计算需要提前获得用户对资讯的阅读、点赞、收藏等行为数据,针对刚刚发布的资讯无法解决冷启动问题;
(2)信息流中的大量文本信息无法高效利用。资讯中大量的文本信息可以帮助推荐策略实现匹配推荐,但双塔模型当前并未对大量基于文本信息内容进行特征分析,同时当一部分资讯仅有少量用户有阅读等行为时,生成的资讯特征向量无法比较全面的表述资讯特征;
(3)特征向量更新成本过高。为了能够对新资讯生成特征向量,需要多次对模型进行训练,而这将同时改变已有资讯的特征向量。由于特征向量的改变则也需要对检索引擎进行不断的更新,当资讯数量较大时则会导致更新性能、服务稳定性等受到影响;
(4)特征向量的通用性不足。由于现有双塔模型产生的资讯特征向量有使用局限性,则会使得不同项目都需要训练不同的特征向量,导致应用的通用性较差。
改进后的双塔模型整体由两个模型组成,如图1 所示的用户资讯混合双塔模型和资讯双塔模型,两个模型均属于双塔结构。其中资讯双塔模型负责生产内容的特征向量,用户资讯混合双塔模型负责用户的特征向量生成。
图1 改进后的新双塔模型结构Fig.1 Improved structure of the new twin towers model
模型中主要的网络结构基于BERT 和自定义的DNN网络,损失函数采用0-1 损失函数,损失函数公式:
其中y ^
是模型预测样本是正例的概率,y
是样本标签,如果样本属于正例,取值为1,否则取值为0。BERT 网络结构如图2 所示,基于上下文信息对内容进行深度双向表示,通过预训练即可生成文本的深度双向表示。基本结构是Transformer,相比于全连接网络,BERT 是把神经元替换成了Transformer,每一层都利用了文本语料的上下文信息。
图2 BERT 网络的基本结构Fig.2 Basic structure of BERT network
BERT 网络的主要创新点在于语言模型的预训练方式上,它使用了Masked LM 和Next Sentence Prediction两个任务来训练模型,以分别捕捉词语和句子级别的表征。
2.1.1 资讯双塔模型的训练过程
资讯双塔模型的训练依赖于用户对信息流资讯的反馈数据,反馈数据如点击阅读、收藏、评论等。基于反馈数据训练BERT 网络,能够基于资讯的标题、正文内容、作者信息等生成特征向量,通过用户对资讯的反馈数据计算资讯的相似度,要求生成的特征向量能够较好的表达出用户兴趣特征。具体步骤如下:
(1)定义集合A
表示喜欢资讯a
的用户集合,集合B
表示对资讯b
的有兴趣的用户集,用f
(x
)表示集合x
中拥有的元素数量,为计算准确,则要求任意的f
(x
)均需大于某个阈值;(2)将大于某一阈值p
的两个资讯,标记为正样本,将小于某一阈值的两个资讯标记为负样本;(3)将正负样本输入图1 的资讯双塔模型部分,进行二分类训练后得到微调后的资讯双塔模型;
(4)将所有资讯内容输入资讯双塔模型,并将其最后的词嵌入(Embedding)层作为资讯特征向量的输出层。
2.1.2 用户资讯混合双塔模型的训练过程
通过资讯双塔模型可以获取资讯的特征向量后,需再训练结合用户与资讯的双塔模型,以获得用户的特征向量,即用户资讯混合双塔模型。用户资讯混合双塔模型的训练目标是期望用户的特征向量和用户喜欢的资讯的特征向量尽可能的接近,基于此则可以通过用户特征向量与资讯特征向量的距离计算,匹配适合用户的资讯。具体步骤如下:
(1)基于用户对资讯的阅读行为,从数据中提取正负样本:当用户有点击、评论、收藏等行为的资讯,选择为正样本;同时从资讯库中随机采样若干资讯且用户未对采用的资讯有任何阅读行为,选择为负样本;
(2)将步骤(1)中选取的正、负样本作为图1 中用户资讯混合双塔模型的输入,基于用户特征和文本上下文等特征对模型进行训练,通过获取其用户塔最后一层Embedding 作为用户的特征向量;
(3)用户历史点击特征的表示:用户历史点击特征采用所有点击过的资讯根据资讯双塔模型生成Embedding 的均值;
(4)相似地址位置虽然可以通过位置信息进行聚类分析,但可以将用户的地理位置信息采用IP 分解后向量化的方式来表示。例如针对IPV4 地址,则将地址拆解为4 个0 到255 的整数,并对4 个整数单独进行生成向量,然后对4 个整数对于的向量进行组合输入到残差网络中生成该IPV4 地址的特征向量,最后将该IPV4 地址的特征向量与用户的其他特征向量组合作为双塔模型的输入。通过向量化的组合方法可以增强模型的泛化能力,例如后续对于任何IP 的输入,模型均能对其特征向量化。
由于改进的模型有资讯双塔模型和用户资讯混合双塔模型两部分,因此对改进模型的应用,可以基于2 个模型产生2 种应用方法。
2.2.1 基于用户的历史阅读行为推荐资讯的相似资讯
具体步骤如下:
(1)将每一篇资讯的标题、正文内容、作者信息等输入资讯双塔模型,获得资讯的特征向量,将每篇资讯的特征向量索引到向量检索引擎,这里包括历史资讯和新采集资讯;
(2)实时统计用户最近一段时间点击、点赞、收藏的资讯并存入缓存中间件中,例如Redis、Memcache、Ehcache 等;
(3)当用户请求时,对于当前用户(2)中的每条资讯,去缓存中找到资讯的特征向量;
(4)对于(3)中每个资讯的特征向量,基于向量检索引擎查找N 个最相近的资讯,在查找时可根据业务实际情况限定资讯的时间范围;
(5)对于(4)中所有检索到的资讯,按照特定顺序排序后推荐给用户。特定顺序可以按照发布时间的逆序、阅读量或其他排序规则等。
整体流程如图3 所示,通过上述过程可以实现用户的喜欢的资讯进行相似喜好的推荐,同时具备较好的可解释性。在步骤(1)中,任何新采集的资讯也可通过模型快速生成特征向量,并将特征向量加入向量检索引擎,加入后即可立即被检索到。因此此种方法同样可以很好的解决新资讯实时冷启动问题。同样的,可以对用户阅读的资讯进行实时统计更新,当用户的阅读喜好存在变化时,也可实时带来推荐结果的变化。因此综上,上述方法同样是实现实时的个性化推荐的方法。
图3 基于用户的历史阅读行为推荐资讯的相似资讯Fig.3 Similar information recommended based on the user's historical reading behavior
2.2.2 根据用户的阅读资讯特点推荐用户可能感兴趣的资讯
在“基于用户的历史阅读行为推荐资讯的相似资讯”的步骤(1)和(2)基础上,继续以下步骤:
(1)对于用户有阅读行为的每条资讯,去缓存中找到所有资讯的特征向量,将所有资讯的特征向量求均值,将此均值后的特征向量视为用户的喜好特征向量;
(2)当用户请求时,一般会带上用户的位置信息例如IP 地址、GPS 位置信息等,同时也会带上用户当前请求的时间、时区等信息,将各类请求信息依次记录;
(3)将(1)和(2)获取的用户喜好特征向量以及用户的请求信息,集合用户画像的特征(如性别、年龄等)作为模型的输入,生成用户本次请求的特征向量;
(4)将用户请求的特征向量输入到向量检索引擎查找N 个最相近的资讯,推荐给用户。
上述方式基于用户阅读行为、用户即时访问的请求、地理位置、用户画像等的实时变化更新,因此比较好的实现了用户多样化资讯的实时个性化推荐。尤其是对于新用户,当未有用户阅读行为时,模型依然能够基于用户的位置信息、时间等推荐合适的资讯。
传统的推荐算法指标可以通过AUC、RMSE、MAE、MAP 等进行评估,为使得评价结果更贴合业务效果,本文衡量指标为统计用户的UV 点击率,计算公式如下:
在二三四五公司某信息流场景下进行应用效果对比测试,改进的双塔结构模型10 d 的平均UV 点击率4.68%,未改进的双塔结构模型10 d 平均点击率3.66%,10d 的平均点击率提升约27.87%,如图4 所示。
图4 改造后的双塔模型效果对比Fig.4 Effect comparison of the modified twin towers model
(1)有效的解决用户冷启动问题。资讯双塔模型在训练过程中虽然需要使用用户阅读行为日志,但在推理过程中则不需要,推理的向量生成中仅需要资讯的标题、正文、作者信息、发布时间、资讯类别等信息。因此任何时刻采集的资讯均可通过模型实时生成特征向量,同时可以实时统计用户的行为和请求信息,实时生成用户的特征向量,两个特征向量的生成可以有效的解决新资讯冷启动和新用户的冷启动问题;
(2)有效的利用了资讯的上下文信息。资讯双塔模型训练时,主体网络结构采用BERT,能够基于资讯中的正文、标题等信息生成可靠的特征向量,使得召回结果更精准,不同于传统的基于标签推荐的方式,由于标签的不全面带来的推荐效果差异;
(3)保障了训练过程和预测过的特征一致性。资讯双塔模型在训练后会相对稳定,则已生成的资讯特征向量可以直接应用到召回后续的粗排、精排过程中,对于进一步通过用户画像的推荐场景也比较重要,同时也无需对已生成的特征向量进行更新处理。
改进后的双塔模型虽然在模型效果上已经有提升,但是推荐系统中至少由召回、粗排、精排组成,双塔模型解决了召回中的部分问题,推荐是一个综合性的效果提升,因此未来将围绕两部分进行继续改进:
(1)在召回环节内部,基于改进后的双塔模型融合热门召回、协同过滤召回等多路召回,形成丰富的召回集,丰富的召回方式可以使得数据具有更广泛的选择策略,单一的策略会导致用户获得的内容相对单一,如仅有协同过滤的情况下也存在着推荐精度不高、难以处理稀疏数据等缺点;
(2)由于针对召回候选集采用不同的排序方式,也会影响推荐效果,因此在召回、粗排、精排中,适配改进双塔模型的最佳粗排或精排策略,以获得更优的推荐结果。
本文通过改进双塔召回模型,设计和实现了资讯特征向量、用户喜好特征向量的表示方法。通过稳定的特征表达使得改进后的模型在推荐的通用性、实时性方面得到较好进步,对于信息流场景产生正向的效果提升作用,可作为个性化推荐、实时推荐的关键召回策略之一。
引用
[1] Badrul Sarwar,George Karypis,Joseph Konstan,et al.Itembased collaborative filtering recommendation algorithms[C]//Proceedings of the 10th international conference on World Wide Web.2001:285-295.
[2] RENDLE S.Factorization machines[C]//2010 IEEE International Conference on Data Mining.IEEE,2010:995-1000.
[3] GUO Hui-feng,TANG Rui-ming,YE Yun-ming,et al.Deep FM:A Factorization-machine Based Neural Network for CTR Prediction[C]//International Joint Conference on Artificial Intelligence, 2019:1377-2022.
[4] YI Xin-yang,YANG Ji,HONG Li-chan,et al.Samplingbias-corrected Neural Modeling for Large Corpus Item Recommendations[C]//Proceedings of the 13th ACM Conference on Recommender Systems,2019:269-277.
[5] 沈振雷,刘凡平.一种近似物品推荐的控制方法及装置:CN, CN112256979A[P].2021.
[6] Jacob Devlin,CHANG Ming-wei,Kenton Lee,et al.BERT:Pretraining of Deep Bidirectional Transformers for Language Understanding[C]//Conference on the North American Chapter of the Association for Computational Linguistics:Human Language Technologies,2019:3498-4195.
[7] 胡凯达.基于混合推荐算法的个性化新闻推荐系统设计与实现[D].北京:北京邮电大学,2021.
[8] 王志丹.基于位置的个性化推荐算法在消费类应用中的实现[J].信息技术与信息化,2021(11):153-155.
[9] 唐港迪.基于地理位置的个性化新闻推荐系统设计与实现[D].成都:电子科技大学,2021.
[10] 田萱,丁琪,廖子慧,等.基于深度学习的新闻推荐算法研究综述[J].计算机科学与探索,2021,15(6):971-998.
[11] WEI G Y,WEI Y M,LEI J C.News Recommendation Based on Click-Through Rate Prediction Model[C]//LISS 2020:Proceedings of the 10th International Conference on Logistics,Informatics and Service Sciences.Springer Nature,2021:373.
[12] 耿化聪,梁宏涛,刘国柱.基于知识图谱与协同过滤的饮食推荐算法[J].计算机与现代化,2021(8):24-29.
[13] 詹皖江,洪植林,方路平,等.基于对抗性学习的协同过滤推荐算法[J].计算机科学,2021,48(7):172-177.
[14] 章雅楠.基于用户画像的短视频平台个性化信息推荐研究[D].哈尔滨:黑龙江大学,2021.
[15] XIA L H,HUANG C,XU Y,et al.Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommendation[C]//Proceedings of the AAAI Conference on Artificial Intelligence,2021,35(5):4486-4493.
[16] 王斐,吴清烈.基于用户画像与协同过滤的大规模定制智能推荐算法研究[J].工业工程,2021,24(5):159-164.
[17] 张紫嫣,周驰.结合类别偏好的协同过滤推荐算法[J].计算机应用与软件,2021,38(1):293-296.