Neural News Recommendation with Long- and Short-term User Representation(LSTUR)
Time:ACL2019会议论文
Author:Mingxiao An, Fangzhao Wu, Chuhan Wu, Kun Zhang, Zheng Liu, Xing Xie
Abstract
论文介绍了一种能同时学习用户长期、短期兴趣的方法来推荐新闻。
- 新闻编码器:从新闻标题和一级、二级类目中学习新闻的表示,并使用注意力机制来选择重要的词
- 用户编码器:从用户id的embedding中学习长期的用户兴趣;使用GRU网络从用户最近浏览的新闻中学习短期用户兴趣
结合长短期用户兴趣的方法:
- 在短期用户兴趣学习中中,用长期用户兴趣来初始化GRU网络的隐藏状态
- 将长期、短期用户兴趣向量连接起来作为用户向量
Model Architecture
新闻编码器:基于新闻标题、一级类目、二级类目来学习新闻表示
两个子模块:
- 标题编码器
- word embedding:把词映射到dense vector
- CNN:使用CNN从local context中学习word representation
- ,C和b是参数,M是window size
- word-level attention network:从新闻标题中提取出重要单词
- 第i个单词的权重:
- 标题的向量表示:
- 类目编码器:基于一级类目和二级类目的ID学习embedding,用e_v, e_{sv}表示
- 新闻用e=[e_t, e_v, e_{sv}]表示
用户编码器
- short-term user representation model (STUR):GRU
用户过去一段时间内浏览的新闻按时间升序排列,用表示,每一篇新闻用新闻编码器学习到的embedding表示
是sigmoid,是item-wise product,学习到的最后一层隐藏层表示就是用户短期兴趣,
- long-term user representation model (LTUR)
用户长期兴趣从用户ID的embedding中学习到,用户ID的embedding随机初始化后,再在训练过程中学习
用户长期、短期兴趣的结合
- LSTUR-ini:在短期用户兴趣学习中中,用长期用户兴趣来初始化GRU网络的隐藏状态
- LSTUR-con:将长期、短期用户兴趣向量连接起来作为用户向量
Model Training
线上预测:新闻和用户的向量表示通过查表找到,使用dot product计算用户对新闻的评分
负采样:用户点击过的新闻为正样本,随机采样K个展示给用户但没有被点击的新闻为负样本
新用户问题:对于新用户,因为没有在训练过程中出现,我们并没有新用户的长期兴趣。为了解决这个问题,在训练过程中,基于Bernoulli Distribution B~(1, 1-p),按概率p随机采样用户,并把该用户的长期兴趣用都为0的向量表示。实验表示使用该方法训练后,模型效果提升
Experiments
数据:4个星期的MSN新闻日志(2018-12-23~2019-1-19),前三个星期的数据为训练数据,最后一个星期的数据为测试数据,又从训练数据中随机抽取10%当成验证集数据。短期兴趣从过去7天内浏览的新闻中学习
参数设置:
GloVe作为预训练embedding,embedding_size=200
number of filters = 300,window size = 3
dropout ratio = 0.2
Bernoulli p = 0.5
optimizer = Adam,lr = 0.01
batch size = 400
# neg:# pos = 4:1
实验结果