首页 >> 大全

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

2023-10-06 大全 30 作者:考证青年

作者:萱然 (一淘及搜索事业部-搜索技术-算法技术-主搜索与商城)

背景

作为中国最大的电子商务网站,淘宝上的商品琳琅满目。用户搜索关键词之后会看到成千上万个结果,如何将用户最感兴趣的商品排在前面一直是搜索相关性需要解决的最重要问题之一。

通用排序综合相同关键词下所有用户行为作为排序依据,具有一定的普适性,但这种做法忽略了用户个体间的差异,不能体现搜索的智能性。例如,默认排序下用户搜索毛衣时既能看到女毛衣和男毛衣,还能看到儿童毛衣(默认排序注重类目的丰富性),而人气排序下则是满屏的女毛衣(人气排序注重商品的销售情况);但对于男性用户来讲,他们点击和购买女装毛衣和儿童毛衣的概率很低,如果能多展示一些男毛衣给男性用户会让他们感觉淘宝的搜索更加人性化(此处的性别非用户的真实性别,而是用户在淘宝网上的行为体现的性别倾向)。

性别影响排序结果的应用场景在于,搜索关键词与性别相关且关键词未表明性别信息(服饰、鞋类query等),提前展示与用户具有相同性别的商品。在排序性别个性化实现过程中,首先需要分别计算商品和用户的性别,再分析query是否与性别相关且未表明性别需求,最后增大与用户性别相同商品的得分,从而达到提前展示与用户性别相同商品的目的,使不同性别用户在搜索相同关键词时能看到不同的排序效果。

性别建模

关于如何获取用户性别,可能大家首先想到的是用户注册时填写的性别和身份证信息。事实上这部分数据的可用性很差,一方面注册性别可以胡乱填写也可以不填;另一方面,有支付宝身份认证的用户占比不高,而且丈夫为妻子埋单的情况很常见(如果根据身份证性别则会误判,这将引起很可怕的结果)。因此,我们需要建立一套预估机制,根据用户在淘宝上的行为对其性别进行预测。用户的性别只有两类,男或者女,对于行为中性化的用户不予影响,所以性别预测实际上是一个二元分类问题。

训练样本生成

训练数据的抽取包括两部分:样本类别的标注和描述样本的特征抽取。由于想采用较大数据量的样本进行训练,人工标注的做法不太现实,此处采用的是算法标注(用广告算法的svm模型预测的结果标注训练样本性别)。

由于淘宝上有大量用户行为的log,而且类目也一定程度的表明了商品的适用性别,用类目上的历史行为作为分类特征描述用户性别自然也是常理。淘宝的类目体系比较复杂,有前后台之分,而后台类目相对稳定和标准,因而选择后台类目作为特征候选集。并不是所有类目上的行为分布都具有性别差异性(如手机充值卡类目下的行为基本与用户性别无关,而女装类目下女性用户行为占压倒性比例),必须选择那些具有相对明确性别倾向的类目来描述用户。

类目下行为的性别分布依旧需要借助广告算法的性别预测结果来统计,最终根据性别分布的比例选择出相同个数的表示偏男性和偏女性的类目,类目层级不限定(主要是一级类目,也有一些叶子类目,在计算过程中采用递归的作法,如果叶子类目下性别分布已经很明显则停止向上的回溯)。在最终选择出的特征中,女装、女鞋、包等是作为女性倾向的描述特征,而男装、男鞋、笔记本等类目是作为男性倾向的描述特征。

得到样本特征之后,选择相对较长的时间窗口分别计算这些类目下的点击、购买次数和行为天数,就生成了训练数据。从训练数据整体的性别分布看,女性样本占比过高,考虑到现实社会中男女的性别比例接近,对训练数据中的男女比例也进行了类似处理,随机抽样部分数据使得训练集中男女比例基本相同(这种做法也有潜在问题,有淘宝行为的用户性别分布并不一定与现实社会中男女性别分布一致,暂时忽略这种影响)。整个训练数据的生成过程如图1所示。

图1 训练样本提取流程

训练样本清洗

纵观训练集发现有少量样本的行为与性别标签有对立关系(只有男性类目行为却被标注为女性用户),为了减少这部分数据的负面影响,把这部分数据从训练数据中过滤掉。

模型选择

是阿里对GBDT的一种称法,实际上是由若干棵决策树组成的决策森林模型,适用于分类问题。与Boost的相比,boost每次新的训练都是为了改进上一次的结果;原始boost在第一轮训练前为每个样本设定相同的初始权值,在每一轮结束时增加错分样本的权值减小正确分类样本的权值,进行N次迭代后生成N个分类器,然后将它们组合加权起来形成最终模型;而每一次的计算是为了减小上一次模型的残差。为了减小残差我们可以在残差减少的梯度方向上建立一个新的模型(在梯度方向上是为了使减小的速度最快);对变换之后的损失函数(残差)求导得到残差的梯度,最终的目标是使样本的梯度接近于0,这就是的工作原理。

利用集团提供的mllib库可以很方便的在单机上训练模型,用交叉验证的方法调整参数。对于真实用户的性别预测,可以放到云梯上计算,具有很高的并行性。

商品性别打标

淘宝树状的类目属性体系非常强大,对于有性别区分的商品基本可通过类目或者属性进行性别划分。例如,一级类目包括男/女装、男/女鞋、包、等,男女装这样的一级类目下的所有商品都具有明确的性别,而包这样的一级类目则是通过适用对象这样的属性来区分性别的,还有一些叶子类目(比如男士护理用品、连体泳衣类目等)本身就表明了商品的性别。

排序上的应用

性别影响排序并不能影响每一个关键词,只有当用户搜索的关键词与性别相关时性别信息才能起作用(比如用户搜鞋、包、衣服等,性别可以加以影响,但用户搜书籍、相机或者男装女装这样的词,性别就无法影响排序效果)。所以需要先借助类目预测来判断是否性别相关和性别已明确,只有在性别相关且性别未明确的情况下才使用性别影响排序。有了用户性别和商品性别,只要提前性别吻合的那部分商品就达到了想要的效果。

在具体的应用上,一方面可以简单的增加性别吻合商品的相关性得分来提前展示这些商品,另一方面可以增大性别吻合商品在每一页搜索结果上的展示比例。

图2 性别影响排序流程

后续改进

商品性别打标采用的是较为简单的规则打标,主要用到商品的类目和属性,如果类目or属性错误,商品的性别也会标记错误。尽管类目错放已经有比较成熟的解决方案,但对属性错填or未填的情况仍然没有一个很好的解决方案,后续一方面需要对商品属性进行补充和订正,另一方面需要借助其他方法预测商品的性别。此外,目前使用的商品性别都是显性性别,而类似手机这种具有隐含性别的商品却未被影响,这也是改进点之一。

在用户性别预测方面,目前只使用了用户的点击和购买数据。而事实上,这部分数据只是淘宝行为的一小部分,此外用户的搜索、收藏和加入购物车的数据也可以纳入考虑之中,后续会进一步丰富用户行为数据以提高预测的覆盖和精度。

--

微信名称:阿里技术嘉年华

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了