作者:十方
好久没有写排序模型了,最近又看到一篇令人眼前一亮的论文,Deep User Match Network for Click-Through Rate Prediction。该文提出以往的论文都专注于挖掘item与item的关系,又或者是交互特征,都忽视了用户和用户之间的关系。这篇论文创新的提出了Deep User Match Network-DUMN,该模型设计了用户表达层基于用户历史兴趣学习用户embeding。然后User Match层考虑了用户与用户的相关性,并对目标用户和候选item直接的相似度进行度量。废话不多说,直接看模型!
DUMN
先看看DUMN的框架图输入包括用户画像,用户行为,候选item的特征,上下文等,输入就是点击率。
用户和items之间有各种交互,如点击,打分。基于这种交互,我们可以获得目标用户的交互行为和候选集。
用户行为:指的是给定一个用户u,我们可以拿到该用户最近Nu个交互过的item list Iu和所有item的特征。
item行为:给定一个item m,我们可以获得和该item交互过的一个user list Um 以及这些用户的特征。Um = [(u1, Iu1), (u2, Iu2), ... , (Ul, Iul)]。
参考着上图,大家已经对整个模型有了初步的认识了。Embedding Layer不做过多介绍,就是把各种离散特征映射成embedding,通过该层,目标用户会被映射成eu,候选item会被映射成em,上下文会被映射成ec,用户行为Iu会被映射成xu,item行为会被映射成zm。其中
用户表示层(User Representation Layer),顾名思义就是要把xu和eu合并成一个embedding,当然少不了attention,如下图所示:
会和候选item做attention,再把item list通过sum pooling合并成一个embedding,最后和user embeddinghebing,如下式:
用户匹配层(User Match Layer),继续参考框架图,通过Relevance Unit计算item behavior和target user的attention,此处用于挖掘user-to-user的关系,将item behavior进行聚合,论文中使用的就是cos相似度,如下所示:
然后我们就可以通过Relavance Unit计算的相似度对item behavior进行聚合:
同时该模型将相似度总和也作为特征:
最终拼接特征,输出ctr并计算logloss:
实验