得福:天猫技术部推荐算法组的职责和团队分工
优采云 发布时间: 2021-04-24 23:02得福:天猫技术部推荐算法组的职责和团队分工
天猫技术部的算法小组是一个相对较新的团队,刚刚成立一年,目前拥有10名算法工程师和5名开发工程师。该团队负责的内容是天猫上的数十种推荐产品。这些推荐产品可帮助消费者找到自己喜欢的产品,并缩短用户匹配产品的途径。当然,对于天猫平台,推荐算法的价值在于提高转化率。从去年的“双十一”开始,天猫技术部的推荐算法小组就将推荐产品首次引入了“双十一”促销活动。
2014年,阿里巴巴集团举办了阿里巴巴大数据竞赛。算法团队负责规则,主题,比赛数据,评估标准和比赛审查。最近,InfoQ中国站采访了该团队负责人张琦(Defu),以了解天猫推荐算法小组的团队情况和工作内容。
客人资料
张琦(名为Defu)于2010年毕业于中国科学技术大学计算机系,获得信息检索博*敏*感*词*。 2010年7月,他加入了搜索广告团队阿里云计算,从事搜索广告算法研究,参与了Yahoo China Search的搜索广告排名算法设计,并负责国内最大的采矿活动之一,每天的浏览记录近40亿。用户行为分析和用户配置文件建模。推荐算法小组于2012年3月加入,负责天猫推荐算法的改进以及PC推荐服务和无线推荐服务等数十种推荐服务的优化,并建立了一套基于机器学习的推荐算法流程。
InfoQ:简要介绍天猫技术部推荐算法小组的职责和分工吗?
Defu:推荐算法类似于搜索和广告系统,许多模块具有上下游关系,例如分析用户的偏好和兴趣,采集用户点击和购买行为,以及计算用户现在要购买的商品,例如想购买衣服仍然是T恤,而衣服是日韩风格或欧美风格。其他组进行排序。例如,有一堆产品和衣服。天猫有成千上万的衣服。用户显示什么?这要求首先筛选品牌和价格,然后进行个性化排名,计算每种产品的分数,并通过预测点击率和购买率来对候选产品进行重新排序,以便为用户选择10或20种产品。此外,还有一些固定的身体属性,例如用户的性别和收入水平。每个模块都有上游和下游关系,并且不同的人组成不同的系统。每个推荐过程都有一个用户行为分析,产品检索,个性化排名以及返回前台的过程。
在产品方面,存在不同的劳动分工,并且我们在这里还有一个PM系统:例如,总共有40-50种推荐产品。如果要开发新产品,则要求PM协调上游和下游模块以将其一起完成。 PM与操作或PD的沟通要求是什么,我们如何支持它们,如何将需求分解为现有推荐算法可以支持的模块,然后安排每个模块中的学生进行开发并监控产品上线后效果如何,效果好坏,有数据报告,如果不好,有改进建议。每个产品都必须由同学照顾。
整个推荐分为三类:产品推荐,品牌推荐和活动。如果同事熟悉某种类型并且也非常熟悉相应的业务方,则他可能负责这种类型的产品。商品推荐范围更广,如果有更多推荐,则必须将其分发给不同的学生。一般来说,该区域在系统中是水平划分的,在业务中是垂直划分的。
InfoQ:您之前所做的是阿里云搜索。从算法和产品的角度来看,搜索和推荐产品之间有很大的区别吗?
Defu:算法和乘积不相同。就算法而言,搜索是为了处理具有明确意图的查询。许多工作都是基于对查询的理解,包括如何对查询进行细分,如何通过查询关键词提取以反映用户意图来提取有用的信息,包括品牌,产品型号,类别等。然后进行查询和排序。如果建议这样做,则用户将不会输入查询,而是会使用自己的行为来表达自己的兴趣。对我们来说,这更加困难。您必须从许多行为中抽象出用户的兴趣。我们需要制作许多模块来理解用户的意图。这是两种算法之间的最大区别。
就产品而言,搜索是一个通用系统,固定产品表格带有一个框。推荐的产品可以有很多变体,不同的行业也有所不同。例如,可以基于样式和搭配来推荐服装,而书籍和音乐是另一种推荐方法。例如,书籍应考虑主题,类别和知识水平,因此比搜索更好。换句话说,产品形式将更加复杂。
InfoQ:是否将进行AB测试以验证新算法?怎么做
Defu:我们有两种测试类型,一种是离线测试(离线测试),另一种是在线测试。一开始,我们都进行在线AB测试。您将5%或10%的流量用于测试,并将95%或90%的流量作为基准。然后,您可以进行参数更改或算法调整。这是以前。后来,我们考虑到因为有很多算法需要同时进行测试,一方面,流量是有限的,流量对于天猫来说是非常有价值的。每个用户可能只有20分钟或30分钟,因此,如果没有使用算法,这实际上是在浪费流量,并且用户体验也不佳。 5%或10%的用户可能会使用非常差的版本。
因此,我逐渐开发了一套脱机评估方法,可以在没有在线流量的情况下对其进行测试:它使用以前的日志来模拟当前行为,这等效于使用日志作为模型的输入。在日志中查看算法的不同版本。运行起来的结果是什么,以便在将它放在网上后判断该东西的大致效果。这种系统将不会100%准确。离线结果A比B好10%,并不意味着在线也比B好10%,但是通常,如果A优于B离线,那么A通常会比B更好,也不一定更好。我们可以使用离线方法消除许多不可靠的算法-如果A比B差很多,我们可以将其删除。只有当A优于B时,我们才能进行在线测试,以确保流量能够得到充分利用。另一个优点是脱机测试非常快,因为处理日志运行非常快,并且大量用户可以在十分钟内运行,而在线流量很小-不可能切换太多,并且同时时间您需要观察很多天才能稳定效果,并且可能需要一到两周的时间才能看到效果。
因此,这两种方法现在同时使用并且相辅相成。
InfoQ:天猫算法与产品相关,并且与产品的交流很多。您还将把产品开发提高到一个新的水平。与PM,PD和操作进行通信的方式是什么?
德富:PD是我们的需求方。 PD处于最前沿,更接近业务甚至与业务紧密相关。 PD会了解业务需求,然后提前与我们沟通需求是否合理。如果合理,我们可以接受开发量,则返回并编写PRD和MRD之类的文档。这可能涉及很多开发团队,有必要安排开发团队的工作量和时间,并最终确定上线的时间。
通常,PD将首先写MRD以证明产品需求合理。再次编写PRD,并对该产品进行详细的功能描述。必须参与哪些模块的划分以及谁将开发它们。最后,将进行PRD评估,所有相关方面都将参加,如果有任何意见,PD将被要求更改。如果每个人都感觉良好,则PD需要指定PM和最终的在线时间,例如每个团队应在何时,测试时间等提供哪些界面。
InfoQ:您去年完成了多少个项目?
Defu:我们不根据项目数量来计算工作量。我们的总体评价是,天猫通过推荐带来的交易数量是我们最重要的指标。在实现这些指标的过程中,有许多小项目正在积累,包括新项目的开发和旧项目的优化。目的是提高转化率,而不要对其进行详细的拆卸。
还有其他一些特定的方向,例如无线产品创新或竞争支持。
InfoQ:去年您最值得分享的成就是什么?
有福:双十一。去年是我们首次在Double Eleven上用数千人尝试这种推荐方法,而不是纯粹的存储方法。我们第一次这样做,它也克服了很多阻力。当时,开发非常困难,而且技术还不是很高。大量的操作工作,数据由excel传输,自动化系统尚未准备就绪。由于系统未连接,因此许多人的工作非常痛苦。在那段时间里,有很多加班工作,容易出错,花了很多时间在协调工作上,但最终效果仍然很好。与原来的存储方式相比,转换率可以提高约10%〜20%,带来更多的商业价值。
InfoQ:转化率是对整个团队的评估。您会为每个人的评估做什么?
Defu:我们对工程师的个人评估主要分为三个部分:1、业务推广,例如进行了哪些新产品开发,在过程中起了什么作用,是PM,模块开发还是数据报表开发等。如果作为一名PM,您做了一些促进业务发展的事情(例如,旧业务可能效果不佳),则可以通过采取一些积极的措施(例如更改产品形式)来提高其效果。这是一个很大的部分。 2、例如,在技术工作期间,您在这段时间内是否在算法方面进行了任何创新?数据结果是否经过产品化和工具化以总结,压缩和抽象以前的工作,以便其他学生可以使用它? 3、团队的贡献,例如您是否做过一些工作来支持和与其他学生分享。这也与前两个部分有关,这相当于从前两个部分中提取与团队支持相关的内容以进行评估。
InfoQ:是分配任务分配,还是每个人都可以选择感兴趣的方向?
祝福:一开始必须是分配的任务。当您熟悉整个业务或对某个方向有很好的掌握时,您可以让这个学生在没有团队负责人的情况下从事业务的某个部分。通常可能需要半年时间。
InfoQ:您团队的主要招聘渠道是什么?
Defu:我们的社交招聘人数不多,而且有更多应届毕业生和调动人员。对于一名*敏*感*词*,如果他是一名*敏*感*词*,我们要求他要么具有良好的工程能力,对项目的深度和广度有很好的把握,并且与我们的发展方向保持一致,或者具有良好的研究和高质量的纸张。对于社会招聘,因为他有经验,所以我们主要要求他的经验与我们的方向更加一致。同时,他在之前的公司中取得了更好的成绩。他已经成功完成了一些项目,并且可以掌握该项目的详细信息和总体情况。好了,算法能力也更好。我们对社会招聘的要求比较高,名额也很紧,通过率相对较低。
InfoQ:您对此次天猫天池算法大赛有何期待?
Defu:实际上,我们从来没有想过这场比赛会如此之大。原来,我们只是觉得这很有趣。对一个小圈子感兴趣的学生可以一起玩耍,以加强算法交流,我们不想将其局限于学生。希望其他公司的学生也可以一起参加比赛,通过这次比赛加强交流,并结识其他公司的团队。
后来,比赛变得越来越大,达到了团体水平。整个小组都希望有一些学校招募的效果,这对我们来说也是一件好事。如果有愿意参加的好学生,我们当然很高兴。但是,我们希望每个人都可以在此平台上进行纯粹的竞争。