欢迎光临散文网 会员登陆 & 注册

爱奇艺WSDM比赛高精度单模方案分享

2022-03-14 18:37 作者:深度之眼官方账号  | 我要投稿

来源:投稿 作者:kon

编辑:学姐

Kon

擅长自然语言处理、推荐系统,爱好是cv;著有cv相关专利一篇,西安交通大学软件专业本硕。


0赛题任务


爱奇艺是中国和世界领先的高品质视频娱乐流媒体平台,每个月有超过5亿的用户在爱奇艺上享受娱乐服务。爱奇艺秉承“悦享品质”的品牌口号,打造涵盖影剧、综艺、动漫在内的专业正版视频内容库,和“随刻”等海量的用户原创内容,为用户提供丰富的专业视频体验。


爱奇艺手机端APP,通过深度学习等最新的AI技术,提升用户个性化的产品体验,更好地让用户享受定制化的娱乐服务。我们用“N日留存分”这一关键指标来衡量用户的满意程度。例如,如果一个用户10月1日的“7日留存分”等于3,代表这个用户接下来的7天里(10月2日~8日),有3天会访问爱奇艺APP。预测用户的留存分是个充满挑战的难题:不同用户本身的偏好、活跃度差异很大,另外用户可支配的娱乐时间、热门内容的流行趋势等其他因素,也有很强的周期性特征。


本次大赛基于爱奇艺APP脱敏和采样后的数据信息,预测用户的7日留存分。参赛队伍需要设计相应的算法进行数据分析和预测。


关键词:数据挖掘、时序建模、回归

一句话理解:通过时序信息建模用户的历史信息,回归预测未来七天内的登录天数。


0写在前面


这次方案分享为大家带来的是一个本次比赛A榜最好取得86.20(第一名86.43),B榜最好取得第24名85.98(第一名86.44)的单模详解。因为时间原因,我在比赛期间未作多模融合,因此在接下来的章节,我将通过数据处理、模型细节等方面为大家讲解本次比赛中我个人使用的单个深度学习模型的主要思路流程。


另外,本次比赛的top1方案公开分享中,作者说他们团队进行ensemble的模型单模精度只有85,但最终却在A、B榜双双达到了稳定86.3的好成绩。那么他们究竟做了什么点睛之笔,又有哪些地方值得我们学习?我会在文章最后给出分析,以及对该比赛其它一些潜在方案的构想。


关注公众号【学姐带你玩AI】回复“爱奇艺”获取比赛Baseline


0数据探索


本次比赛提供的数据一共为5个表,每个表内都有数个字段。在比赛开始前,我们最好对每个表都进行大量的数据探索,包括但不限于:数据分布、主键去重、内连接查看重合主键、树模型重要性结果评分等。


其中,我认为最重要的一步就是通过树模型对各因子的重要性结果进行评分,更好地认识数据。做法为:不做任何特征工程,将原始数据输入XgBoost(LightGBM、CatBoost亦可),通过重要性评分评判各特征的重要程度。


(1)用户自画像


内容:包含用户的年龄、性别等离散特征。

探索结果评价:此表重要性程度高,在建模user embedding的方面有相当高的使用价值。

优先级:第二优先


(2)登录日志


内容:包含用户的登录情况。

探索结果:此表重要性程度极高,因为其包含了最为重要的时序信息,也是构造label的数据来源。

优先级:第一优先


(3)视频相关


内容:包含视频库内的tag、时长信息等。


探索结果评价:此表重要性程度较低,在建模item embedding的方面有一定的使用价值。应较后考虑使用此表信息。


优先级:第四优先


(4)用户播放


内容:包含用户历史视频的观看时长、日期信息。

探索结果评价:此表重要性程度中等。它也包含着一定的时序信息,可以同用户日志结合使用。

优先级:第三优先


(5)用户交互


内容:包含用户历史视频的交互信息,如收藏、点赞等。

探索结果评价:此表数据极少、重要性程度低,可以不考虑使用此表信息。

优先级:不建议使用


0方案框架


Label构造:首先通过官网得到先验知识:


(1)虽然每个用户的取样时间起始结束点不同,但训练集保证,每个用户[date 131, date 160]这1个月的行为都会取样到(如果有)。


(2)假如1个用户在训练集中给出的行为范围是[date_min, date_max],那么这个用户在[date_min, date_max]的行为,一定完整地在训练集中给出了。这个时间范围外的,不保证取样到(除非满足第一点)。


(3)如果1个用户需要在测试集中被预测,那么会给定end_date。end_date>=该用户的date_max。如果end_date>date_max,会保证(date_max, end_date]之间用户没有登录行为。


通过这些先验,对用户日志进行“补全”,未登录记为0,以0状态登录记为1,以1状态登录记为2。由此,我们可以得到各用户最大确定登录信息。接着,划定一个长度为42的窗口,后7天构造label,前35天构造时间序列。构造时间序列可以加入用户观看视频个数、时间等。


将用户自画像进行label encoding,编码为32维的特征向量构造user embedding层。


将视频相关信息通过user的观看序列进行排名得到sequence,对所有sequence通过w2v构造32维的item embedding。对每个sequence取mean pooling得到用户的preference embedding。通过preference embedding召回测试集top15的用户。


模型选择:


BiLstm+Attention处理时间序列信息,将结果与user embedding、preference embedding连接后送入MLP得到回归结果。


后处理:设定阈值0.45,即对整数正负0.45部分的回归结果作ceil或者floor操作。


通过微调,单模结果在A榜最好取得86.20(第一名86.43),B榜最好取得第24名85.98(第一名86.44)的成绩。


0结果分析


该模型在A榜取得了86.2的高分,翻榜后却出现了较大幅度的性能下降,究其原因,还是因为单模的不稳定性。在top1方案中,top1团队融合了4个树模型、1个深度学习模型,可以看出,对多个模型ensemble是取得高名次的必要手段。


同时,top1方案团队通过提交结果倒推结果分布,分段分层精心设计了后处理的阈值,这才在最终翻榜时没有出现明显的波动。


06 构想展望


目前,该赛题已开放所有比赛数据,大家可自行去官网下载以便学习。最后,我为大家提出值得探索的几个方向和思路:


(1)构造user-item图,采取GNN聚合信息。如LightGCN、GraphSage


(2)构造user-item图,采取图嵌入聚合信息。如Line、Node2Vec


(3)DeepFM


(4)对测试集多路向量召回


希望大家可以在本文收获多多。


关注公众号【学姐带你玩AI】回复“爱奇艺”获取比赛Baseline

爱奇艺WSDM比赛高精度单模方案分享的评论 (共 条)

分享到微博请遵守国家法律