机器学习在搜索排序中的应用一淘及搜索事业部-搜索技术仁重agenda•背景•LTR方法•评估•并行化与多目标LTR在淘宝搜索应用的背景第一部分背景背景用户输入Query引擎召回商品商品计算featureRank项目背景-特征相关性购买转化率(GDBT)点击转化率(LR)二跳率(LR)反作弊商业业务逻辑预估模型规则个性化(LR、GDBT)图片质量(SVM)f(X)=w1*x1+w2*x2+w3*x3+w4*x4+w5*x5+w6*x6+…=•通过线性模型来组合非线性的特征•计算效率高•可解释性好背景问题•如何确定各个特征的权重W•能否不同的类目给出不同的权重W•如何为新加入的特征设置权重W•如何在不同的系统中快速的迁移特征之前用ABTest,现在使用LTR•LearningToRank,使用机器学习的方法来进行排序优化。LTR应用的方法第三部分方法转化为pairwise问题•把整体的排序问题转换为商品对好坏问题•两个商品哪个更好–Ctr–Cvr–价格VS优化目标与样本•样本选择–人工标注(工作量巨大)–商品Ctr–商品转化率–详情页浏览时间论文中使用的样本选择•样本选择–单次pv点击位置•Click>SkipAbove•LastClick>SkipAbove•Click>EarlierClick•LastClick>SkipPrevious•Click>No-ClickNext•fA>fB>fC>fD>fEfA=w*xAfB=w*xBfC=w*xCfD=w*xDfE=w*xE整体统计ctr样本选择ACtr:1CCtr:0.1BCtr:0.5DCtr:0.1ECtr:0.6A>E>B>C=DA>EA>BA>CA>DE>BE>CE>DB>CB>D相同Query统计商品ctr来生成pairctr差值需要有一定置信度没有位置信息相同queryctr单次PV样本选择B整体Ctr:0.5A整体Ctr:1C整体Ctr:0.1D整体Ctr:0.1E整体Ctr:0.6A>EA>BA>CA>DE>BE>CE>DB>CB>D计算特征值需要还原到单次PV下具体的用户以及当前环境通过规则过滤掉其中的噪音购买>点击>无行为B产生了购买行为,D产生了点击行为优化目标与样本•避免样本选取的偏差–Pvlog特征分布(人气,卖家,文本)100亿数据–训练样本分布(人气,卖家,文本)千万训练样本样本特征分析•特征分布不好的特征进行改进•对分布不合理的特征样本进行按比例抽样样本特征分析•特征与目标值的关系相关性差相关性好无点击样本选择•保持权重的一定程度稳定性•无点击数据–在现有排序下对Topquery没有点击的数据,前30与后30形成pair,随机抽取–按不同比例混合无点击与Ctr样本–约50%的无点击样本–无点击样本训练后的权重反映线上使用权重w模型优化•调整无点击与有点击比例•调整抽样策略•对特征值进行改进•分类目的模型–Query类目预测结果的行业区分训练数据–手机类目的价格权重高于其他类目RankSVM模型(一)•RankSVM训练数据•…RankSVM模型(二)•A:1qid:xfA1fA2fA3fA4…•B:0qid:xfB1fB2fB3fB4…f(x)=w1*(fA1-fB1)+w2*(fA2-fB2)+w3*(fA3-fB3)+…x1=fA1-fB1,x2=…√(产生loss)RankSVM模型•Loss:(无约束)•Loss:•St:对于一个query只有1个pair的情况:RankSVM模型•givenw0•fork=0,1…–If,stop.–SetupI–Solve0,obtain–Let–FindRankSVM模型对于一个query有多个pair的情况:•A:1qid:xfA1fA2fA3fA4…•B:0qid:xfB1fB2fB3fB4…•C:1qid:xfC1fC2fC3fC4…•Loss:•A=[0…010…0-10…0]labels•不可导•使用TRON方法求解模型评估与效果评估第三部分【评估】模型评估•baseline–按线上参数计算pair准确率•按模型参数计算pair准确率•Abtest验证收益评估•模拟rank逻辑对Pvlog进行重排–Rank对每个商品进行打分,重排•计算CNDCG收益,全局计算目标收益–交易的商品相关性为2(价格)–点击的商品相关性为1–DCG[i]=DCG[i-1]+G[i]/–CNDCG收益与线上收益的比例通过abtest获得•找出CNDCG差异的case模型迭代Pvlog按线上参数排序按训练好的模型进行排序CNDCGCNDCGNDCG收益样本混合比例调整模型训练样本选择策略调整NDCG差异query分析抽样策略调整并行化与多目标第四部分模型优化并行化(一)•需要解决的问题–内存问题–训练时间过长•两种基于MPI的方法–行列分割的并行SVM–行分割的并行CoordinateAscent算法,用于求解NDCG为目标值的样本并行化(二)•行列分割的并行的SVM算法–行分割+列分割:目标函数值求解、梯度函数求解,搜索最优解–SetupI–Solve0,obtain–Let–Find•优点:–行分割:...