论文部分内容阅读
视频推荐在推荐系统领域是炙手可热的话题,长视频不同于文字,在推荐给用户时所能展现出的信息相对较少,用户大部分时间只能通过名称和海报去判断是否对视频感兴趣。为了解决此类问题,论文设计和实现了电影主题播单推荐系统,从播单的角度寻求方案,一方面可以帮助用户发现自己感兴趣的视频,减少信息筛选的时间,另一方面让电影展现在对它感兴趣的用户面前,提高了平台的流量,从而实现用户和平台的双赢。电影主题播单推荐系统相比于传统推荐系统,需要解决主题寻找、视频聚合等问题,系统会挖掘用户的行为,将用户日志转化成抽象的用户画像,自动化生产兴趣播单、基于内容的播单和非个性化播单,再通过多路召回,混合推荐、多样性过滤等步骤,将播单精准地推荐给需要的用户。系统从功能上分为五个模块,分别为用户画像模块、播单处理模块、推荐工程模块、前端接口模块和工程监控模块。其中用户画像的计算主要使用了播放指数公式,并设计 了基于 TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率)和基于记忆遗忘曲线增量模型的权重计算公式。在播单自动化扩充时,需要计算电影与电影之间的共现相似度。多路召回时,主要使用了用户画像的特征向量与播单标签向量的余弦相似度,并基于内容和非个性化多路召回。推荐时,主要设计了随机作为对照组,加权SlopeOne算法、ALS(Alternating Least Squares,交替最小二乘)矩阵分解的排序,在输出播单前,需要对推荐列表进行基于栈的多样性过滤,以保证返回播单内电影不会过多重复。前端接口模块使用Spring Boot框架为客户端提供接口服务。项目主要使用了Spark作为计算引擎,Spark MLlib机器学习库,Hive和Hbase作为大数据存储工具,Couchbase作为线上数据库,实现一个完整的推荐系统。项目上线后,使用了分桶测试为推荐效果做线上监控和验证,播单以及播单内视频的 CTR(Click-Through-Rate,点击通过率)和 UCTR(User Click-Through-Rate,用户点击通过率)相比于旧接口有了较为显著的增长。项目使用场景广泛,在TV端、移动端多频道都得到应用,对不同的展现区块可以有不同的推荐效果。