Closed Energy9502 closed 2 years ago
新闻推荐的实验数据中,因为每个用户在一定时间段(近一周或近几周),浏览点击的数据量是不一样的,例如:userid1浏览点击了31篇,userid2浏览点击了41篇。限定用户历史点击数为30,那么userid1正样本的数据量为1,在训练集中出现的次数为1,userid2正样本的数据量为11,在训练集中出现的次数为11(先不考虑验证集、测试集),负样本在候选集中随机抽样k个。
我用的 MIND 数据集的构造方式跟您说的这个应该有些不同,比如,它是严格按照前后时间段分别构造 history、train set、val set、test set,4 个时间段之间没有重叠;它的负样本来自于一个新闻列表中给用户展示了但是没有点的新闻,所以是真实的负样本。
关于后面您说的流行度的问题,它应该是属于推荐系统中 Popularity Bias / Fairness 的问题,我对这个没系统研究过,不过有几篇论文感觉还不错 https://arxiv.org/pdf/1901.07555.pdf,https://arxiv.org/pdf/1907.13286.pdf。
在实际开发中(实习期间)我也确实碰到过类似的情况,当时我们用的解决办法主要是在 padding news (指当用户的历史比较少的时候为了保证 user history shape 的一致性所填补的 paddding news)上做调整,也没有发现其他特别好的解决方法,欢迎交流探讨
谢谢推荐的文章及耐心解答
新闻推荐的实验数据中,因为每个用户在一定时间段(近一周或近几周),浏览点击的数据量是不一样的,例如:userid1浏览点击了31篇,userid2浏览点击了41篇。限定用户历史点击数为30,那么userid1正样本的数据量为1,在训练集中出现的次数为1,userid2正样本的数据量为11,在训练集中出现的次数为11(先不考虑验证集、测试集),负样本在候选集中随机抽样k个。
我的问题如下(测试模型LSTUR)