性别个性化在淘宝搜索中的应用( 二 )


图1 训练样本提取流程
训练样本清洗
纵观训练集发现有少量样本的行为与性别标签有对立关系(只有男性类目行为却被标注为女性用户),为了减少这部分数据的负面影响,把这部分数据从训练数据中过滤掉 。
模型选择
是阿里对GBDT的一种称法,实际上是由若干棵决策树组成的决策森林模型,适用于分类问题 。与Boost的相比,boost每次新的训练都是为了改进上一次的结果;原始boost在第一轮训练前为每个样本设定相同的初始权值,在每一轮结束时增加错分样本的权值减小正确分类样本的权值,进行N次迭代后生成N个分类器,然后将它们组合加权起来形成最终模型;而每一次的计算是为了减小上一次模型的残差 。为了减小残差我们可以在残差减少的梯度方向上建立一个新的模型(在梯度方向上是为了使减小的速度最快);对变换之后的损失函数(残差)求导得到残差的梯度,最终的目标是使样本的梯度接近于0,这就是的工作原理 。
利用集团提供的mllib库可以很方便的在单机上训练模型,用交叉验证的方法调整参数 。对于真实用户的性别预测,可以放到云梯上计算,具有很高的并行性 。
商品性别打标
淘宝树状的类目属性体系非常强大,对于有性别区分的商品基本可通过类目或者属性进行性别划分 。例如,一级类目包括男/女装、男/女鞋、包、等,男女装这样的一级类目下的所有商品都具有明确的性别,而包这样的一级类目则是通过适用对象这样的属性来区分性别的,还有一些叶子类目(比如男士护理用品、连体泳衣类目等)本身就表明了商品的性别 。
排序上的应用
性别影响排序并不能影响每一个关键词,只有当用户搜索的关键词与性别相关时性别信息才能起作用(比如用户搜鞋、包、衣服等,性别可以加以影响,但用户搜书籍、相机或者男装女装这样的词,性别就无法影响排序效果) 。所以需要先借助类目预测来判断是否性别相关和性别已明确,只有在性别相关且性别未明确的情况下才使用性别影响排序 。有了用户性别和商品性别,只要提前性别吻合的那部分商品就达到了想要的效果 。
在具体的应用上,一方面可以简单的增加性别吻合商品的相关性得分来提前展示这些商品,另一方面可以增大性别吻合商品在每一页搜索结果上的展示比例 。
图2 性别影响排序流程
后续改进
商品性别打标采用的是较为简单的规则打标,主要用到商品的类目和属性,如果类目or属性错误,商品的性别也会标记错误 。尽管类目错放已经有比较成熟的解决方案,但对属性错填or未填的情况仍然没有一个很好的解决方案,后续一方面需要对商品属性进行补充和订正,另一方面需要借助其他方法预测商品的性别 。此外,目前使用的商品性别都是显性性别,而类似手机这种具有隐含性别的商品却未被影响,这也是改进点之一 。
在用户性别预测方面,目前只使用了用户的点击和购买数据 。而事实上,这部分数据只是淘宝行为的一小部分,此外用户的搜索、收藏和加入购物车的数据也可以纳入考虑之中,后续会进一步丰富用户行为数据以提高预测的覆盖和精度 。
--
微信名称:阿里技术嘉年华