天池新闻推荐比赛4:特征工程

​ 具体的代码见:http://datawhale.club/t/topic/201

​ 特征构造很重要的是要结合用户的历史点击文章信息。 往往用户的最后一次点击会和其最后几次点击有很大的关联。 所以我们就可以对于每个候选文章, 做出与最后几次点击相关的特征如下:

  1. 候选item与最后几次点击的相似性特征(embedding内积) — 这个直接关联用户历史行为
  2. 候选item与最后几次点击的相似性特征的统计特征 — 统计特征可以减少一些波动和异常
  3. 候选item与最后几次点击文章的字数差的特征 — 可以通过字数看用户偏好
  4. 候选item与最后几次点击的文章建立的时间差特征 — 时间差特征可以看出该用户对于文章的实时性的偏好
  5. 如果使用了youtube召回的话, 我们还可以制作用户与候选item的相似特征

实现思路:

  1. 我们首先获得用户的最后一次点击操作和用户的历史点击
  2. 基于用户的历史行为制作特征, 这个会用到用户的历史点击表, 最后的召回列表, 文章的信息表和embedding向量
  3. 制作标签, 形成最后的监督学习数据集

对训练数据做负采样

通过召回我们将数据转换成三元组的形式(user1, item1, label)的形式,观察发现正负样本差距极度不平衡,我们可以先对负样本进行下采样,下采样的目的一方面缓解了正负样本比例的问题,另一方面也减小了我们做排序特征的压力,我们在做负采样的时候又有哪些东西是需要注意的呢?

  1. 只对负样本进行下采样(如果有比较好的正样本扩充的方法其实也是可以考虑的)
  2. 负采样之后,保证所有的用户和文章仍然出现在采样之后的数据中
  3. 下采样的比例可以根据实际情况人为的控制
  4. 做完负采样之后,更新此时新的用户召回文章列表,因为后续做特征的时候可能用到相对位置的信息。
原文地址:https://www.cnblogs.com/zwrAI/p/14083372.html