机器不学习:阿里深度学习在搜索推荐领域的应用
首先讲解的是搜索场景,给的实际案例技术手机淘宝的搜索页面,如下所示:
就是在搜索框中输入搜索商品词,然后系统综合用户的属性,商品属性和搜索词的属性进行综合的判断,并给出最终的推荐结果。在实际的操作中,由于淘宝中涉及的商品是亿万量级的,因此这个过程使分阶段进行的:
1 根据搜索词和商品名称进行匹配,把相关的商品海选出来(亿万 -> 百万)
2 根据商品属性本身的信息,对步骤1生成的商品进行粗排(百万 -> 万)
3 综合考虑商品属性,搜索词,用户属性,对步骤2生成的商品进行精排,取出top k 推荐给用户(万 -> k)
其在精排使用的基础模型如下:
可以看出整个模型还是比较简单的,由于使用了深度学习方法,因此输入特征直接都是ID特征,并不需要统计特征,模型可以自动的进行学习,SFC层就可以看成是Embedding层。接下来,又介绍了一种进阶的方法,利用了multi-task的思想,说白了就是把步骤2的粗排和步骤3的精排融合在了一起进行训练,模型如下所示:
图中下面的三个区域参数是共享部分,上面左边的是精排部分,右边就是粗排部分,可以看到粗排部分只使用了item的信息。
上面的都是一般的场景,但是遇到特殊日期,比方说:“双十一”,那么这个适应一般场景的模型就不太适用了,针对这个特殊的场景,提出了如下模式:
从本质上就是“人工设计特征+深度学习特征”的一个融合模型,所谓多模态就是“常态+促销态“”。左边的常态挖掘就是上面介绍的模型,挖掘的是在一般情况下用户特征,商品特征和搜索词特征的本质交互属性;右边部分输入的特征就是人工设计的统计类、ID类特征,这还有一些是专门针对“双十一”场景下设计出的实时特征(这部分特征和平常是完全不一样的,因为这一天有很多店铺会大幅度的打折)。最后模型在学习的时候利用了在线学习的思想,只对最后的一层或者几层的参数进行训练。
接下来介绍的是推荐的场景,搜索和推荐是两个相似都是又不相同的领域,两个在精排阶段使用的模型都是差不多的,但是两者在海选阶段的目标是不一样的:搜索是海选出和搜索词相关的商品;推荐是海选出和用户之前历史行为中有相关性的商品。作者介绍的场景就是,手机淘宝详情页下的推荐,如下所示:
由于要求是只能推荐同一店铺下的其他宝贝,但是所有商品两两之间有关联的数据是比价稀疏的,这样直接训练会大大影响性能,这里采用了迁移学习的思想来解决这个问题,模型如下所示:
这里用的迁移策略是基于特征层面的迁移学习,左边是利用全量的电商特征(即利用阿里集团所有场景下的数据,包括搜索,推荐,广告),在输入层部分筛选出所有场景下的共同特征喂给模型训练(去掉搜索场景下的搜索词,推荐场景下的用户当前停留商品词),根据用户最后的购买或者点击等行为进行建模,学习到用户和商品的向量化表示形式。接着把在所有场景下学习到的特征。作为输入用到推荐场景下,同时加入该场景下对应的日志特征,直接给GBDT或者DL进行训练。
最后介绍的是优酷短视频搜索场景下的推荐,场景应用如下:
用户输入搜索词,推荐出对应的短视频,整个模型结构如下所示:
整个模型和上面讲的电商搜索推荐模型整体上是非常相似的,需要注意的一点是,由于短视频搜索的用户是比较稀疏的,这里在表征一个用户的时候,使用叠加该用户看过的视频list Embedding进行。这里的叠加是平均的方式,由于用户历史看过的video具有多样性,因此这里的平均方式还有提升空间,即使用attention机制,更改后模型如下所示:
这个使用用户看过的video list进行用户表征的方法,是非常值得借鉴的,特别是在用户量比较稀疏的情况下,非常的work
原文:https://blog.csdn.net/guoyuhaoaaa/article/details/80882449