DSSM全称Deep Structured Semantic Models,是伊利诺伊大学厄巴纳-香槟分校(UIUC)与微软于2013年发表在CIKM上的。
DSSM在业界搜广推的影响力目前来说是超过前面介绍的任何一个模型,基本上统治了召回/粗排阶段。
百度同样在2013年(那个年头的百度还处在如日中天的状态)搞了个双塔模型 SimNet,不过并没有发表相应的论文。
一、推荐中DSSM双塔模型结构
推荐领域中的DSSM结构一般如下图所示:
模型结果非常简单,主要包括两部分:user侧一个塔,item侧一个塔。user侧特征和item侧特征分别经过各自的DNN(一般情况下,两个DNN结构是一样的,当然也可以不一样)后得到user embedding和item embedding,这里需要注意的是如果你的user dnn和item dnn结构不一样,请无比保证输出维度一样,也就是最后一层全连接层隐藏单元个数相同,需要保证user embedding和item embedding的维度相同,因为下一步要做相似度计算(常用内积或者cosine)。损失函数部分则是常用的二分类交叉熵损失,y_true为真实label 0或者1,y_pred为相似度结果。
对于有经验的常年沉溺于挖特征(99%推荐/广告算法工程师的现状)的老司机,应该可以一年就看出DSSM模型的缺点:无法使用user#item的交叉特征。 这个问题我们在后面再探讨。<