冷启动之京东搜索下拉推荐提升长尾query曝光
本文介绍了在搜索下拉推荐中提升长尾query曝光的一种方法。通过在同一个session中前向构造虚拟的点击样本,增加了长尾query在训练样本中出现的机会,从而提升冷启动的效果。
搜索下拉推荐就是用户在搜索框输入query时下方实时出现的候选query提示列表,如图。
长尾query一般搜索次数少,或者用户直接在搜索框输入完整query后回车并搜索,这些情况导致长尾query很难进入训练样本,冷启动效果差。例如用户输入“李宁长袖T恤字母”,当输入“李宁长袖T恤字”时,就没有下拉提示了。
我们提出的方案是,在同一个session中,前向构造虚拟点击训练样本,例如,用户输入“李宁长袖T恤字母”时,我们可以假想用户在输入“李”,“李宁”,“李宁长”,“李宁长袖”,“李宁长袖t”,“李宁长袖t恤”,或者“李宁长袖T恤字”,点击了“李宁长袖T恤字母”,对于这个session而言,在输入“李”时,推荐“李宁长袖T恤字母”是合适和及时的。这个session就是指某个用户输入一个完整query的过程,限制在只有这个session中来构造对应的长尾样本,才能准确的提升在特定context下的曝光。
我们目前是在每一个前向输入词下构造长尾点击样本,并随机挑选4个其他query作为负样本。
在构造样本时,需要尽量准确的构造对应的特征,在输入“李”时,“李宁长袖T恤字母”和“李”的交叉特征,这样的交叉特征在实时记录特征时是不存在的,只能在离线计算好。只有这样,才能告诉模型,在某些情况下,曝光某个长尾query是合适的。
我们在京东的店铺搜索的下拉推荐中采用这种方法,使得核心指标置信的提升2%左右。
可能的提升点是,不是在每一个前向输入词下构造样本,只是在那些用户输入有停顿的输入词下构造,此时用户想看看下拉推荐列表中有没有心仪的query,这样更符合实际情况。
感谢美女算法工程师liga