前言
阿里的DIEN的文章很有意思,用GRU对用户行为作兴趣状态描述,再用target与各个兴趣状态计算次attention,再交给AUGRU来捕捉兴趣演化。最近尝试着将其思路应用到实际新闻推荐中,鉴于原本DIEN模型稍微复杂,想做下简化工作,能够在捕捉用户历史兴趣不同权重的同时,保证预测效果稳定。
兴趣表达层
我们将用户的历史行为所代表的兴趣状态,分为长期兴趣和短期兴趣,在Aribnb里面有同样类似的思路。但是,我们不用模型本身来做这部分捕捉兴趣的工作,而是借助用户画像表达长期兴趣,用最近点击历史表达短期兴趣。通过这样的方式,来降低模型的学习负担,专注于计算不同权重即可。
而兴趣的表达,是个复杂的问题,我们避重就轻。长期兴趣,可以借助新闻的统计标签信息,比如用户点击过相关“自然语言处理”标签的新闻,在一个月内的历史上就有30次,那么“自然语言处理”就是这个用户的长期兴趣表达了。而短期兴趣,则是用户点击过的最近一段时间的新闻,比如最近24小时内点击过的10条新闻,那么把它们摆到一起,就是用户的短期兴趣了。但是只是UrlID,又略显拘束会存在各种后期问题。怎么整呢,最简单的处理方式时,标题分词作为新闻的表达。
数据的处理,就直接简化为了 ?
long-term Interest | short-term Interest | candicate-target | Context | other |
---|