近年来阿里不断运用深度学习、强化学习等人工智能领域的相关知识优化自身电商平台的搜索引擎和推荐系统,让其从冷冰冰的系统不断成长为愈来愈懂用户的智能购物助手。
日前,《尽在双11》人工智能部分执笔人&阿里技术专家 乐田 与 仁重 就 “人工智能/机器学习技术在电商场景下的应用” 问题在OSCHINA与你们开展了问答活动。
本文整理了两位老师在开源中国高手问答中的精彩问答。python
1 . 机器学习在电商方面除了广告推荐之类的方面外,还有其余的应用么?谢谢,还有学习这方面须要哪些知识程序员
机器学习在电商领域的应用从外部产品来看主要涉及3个:搜索、广告、推荐。从内部来看,从商品选品、流量生成机制、物流优化、物流机器人、智能客服、互联网信用贷款等方面都会用到机器学习。 学习机器学习有以前传统的统计学习例如《The Elements of Statistical Learning》,《支持向量机导论》、周老师的西瓜书等经典教材;如今最新的Deep Learning也出书了。算法
2 . 机器学习在阿里电商场景下的最经常使用算法有哪些?阿里对哪些算法作了有针对性的优化和改进呢?阿里目前推荐系统从用户访问到根据访问记录进行推荐的实时性是多久?编程
LR、GBDT、RNN有很多人在用了,还有独创的MLR、ItemCF。。针对性的优化和改进主要是在适配阿里的计算平台和大数据方面,这方面例子比较多,如对ItemCF 的Swing算法。架构
3 . 现阶段的人工智能离传统的应用程序员仍是很远,请问有什么办法可以快速普及吗?框架
是技术发展过程当中自己的分化致使的,技术发展就是要普惠更多的人,让更多的人参与门槛持续下降,不管怎么低,通晓基本原理和基本的训练是必要的,跟学编程差很少。机器学习
4 . 深度学习算法在实际应用中是否比较曲折,对于数据的抽象工做特别难,中小型公司是否更加适合随机森林这种非深度算法?分布式
选择团队能驾驭的算法,对于新方法能够培养团队的驾驭能力。ide
5 . Tensorflow 这个框架主要应用在哪些方面场景?工具
用户和商品的Embedding、Wide&Deep、GANs等。
6 . 阿里有计划使用Tensorflow加入推荐系统里吗?
有较多的场景在用Tensorflow了。阿里推荐系统的逻辑架构在《尽在双11》一书上有介绍,具体的基础设施可能阿里特点较多一些。
7 . 目前推荐系统多数是使用标签模式来给用户推荐吗?怎么判断用户符合系统推荐的商品?除了机器推荐,后期会有人为控制去跟进吗?
部分推荐场景如“微淘”,是使用了标签进行推荐的。使用标签推荐的前提是这种推荐对象更适合标签的方式来描述。推荐体验分析相对搜索结果分析是个全新的问题,须要考虑个性化,还有选择评估样本的表明性。
8 . 让机器自动学习怎样去推荐,最后会不会连开发者都不知道系统是怎样推荐的?若是这时候发现系统推荐的商品有问题,怎样肯定问题出在哪里?怎样调整系统的算法?
这涉及到推荐系统的自省(reflection)能力,从实现上说,自省能力是推荐系统正向过程的逆过程,因为涉及算法比较复杂,逆向过程只能在部分上反映推荐过程是怎样的,必定程度上能够debug推荐结果的问题。
9 . 统计用户行为须要搜集并保留全部用户的全部行为,除了购买行为外还包括浏览行为、关注行为、加入购物车行为等,请问采用单元粒度的分布式架构是否更为合理?
单元化是在服务端(在线服务)进行的,对用户数据汇总分析不是单元化的,而是把全部单元的数据汇总的结果。
10 . 外网的数据,如何整合到推荐系统里,提升推荐的正确性?
外网的数据必需要能描述用户或推荐对象才能使用,并且考虑到站内的数据的完整程度,外网的数据补充进来价值会不一样。
11 . 小公司要作实时推荐有什么框架可使用
选择开源的工具和平台,例如Spark、Storm等,结合HBase计算端存储和LevelDB、Redis等在线端存储应该是个可行的方案
12 . 阿里的推荐算法用的在线的多仍是离线的多?由于可供学习的数据不少,每次从头来量应该很大。
部分场景是纯在线的,部分场景是在线离线结合的,还有一部分是纯离线的。离线处理数据从新计算是个问题,所以离线也不太可能处理很长时间的数据。
13 . 如今不少推荐算法是否是有问题?老是推荐我买过的东西,而且从品牌层次和商家都不匹配。
咱们针对用户已经购买的商品进行了部分过滤,商品类目也是个比较复杂的事情,有时候看起来是一个品类的商品,其实是属于不一样的类目,好比运动鞋和男鞋就是不一样的类目。这个问题已经比较久了,只能逐步解决。
14 . 算法程序建模以后,怎么验证代码的准确性? 程序员之间互测? 算法调优有啥思路?
算法通常都会隐藏一些“bug”,只不过这些bug对结果的影响大小的问题,因此坊间也有经过修复bug来提升效果的。算法建模以后经过test数据集进行验证。
15 . 像淘宝天天每周都有不少新加入的商品,请问算法团队是如何作的?新加入的商品应该如何给排序值,肯定值大小?
冷启动的商品会分配极小的流量进行探索性投放。
16 . 目前可使用算法编写的语言不少,python吗? 贵团队是如何决策的?
底层的算法和工程系统使用C/C++开发,应用层适应多变的需求,使用Java开发,Python和Java的功能相似,在运行效率和库的完备度方面弱一些,也有使用。
最后,安利一下这本著做——《尽在双11》。本书以双11为着眼点,从技术的角度,展现了阿里巴巴的演进、变革与发展,系统地阐述了阿里巴巴重要阶段的技术进步历程。