关闭
当前位置:首页 - 音乐世界 - 正文

都匀天气,机器不学习:携程个性化引荐算法实践,宝马m4

admin 2019-05-05 212°c

携程根底事务研发部-数据产品和服务组,专心于个性化举荐、自然语言处理、图像识别等人工智能范畴的先进技能在游览职业的运用研讨并落地发生价值。现在,团队现已为携程供给了通用化的个性化举荐体系、智能客服体系、AI渠道等一系列老练的产品与服务。

携程作为国内抢先的OTA,每天向上千万用户供给全方位的游览服务,怎么为如此王燕老公很多的用户发现合适自己的游览产品与服务,发掘潜在的爱好,缓解信息过载,个性化举荐体系与算法在其间发挥着不可或缺的作用。而OTA的个性化举荐一向也是个难点,没有太多成功阅历能够学习,本文共享了携程在个性化推美人鱼的故事荐实践中的一些测验与探索。

举荐流程大体上能够分为3个部分,召回、排序、举荐成果生成,全体的架构如下图所示。

召回阶段,主要是运用数据工程和算法的办法,从千万级的产品中确定特定的候选调集,完成对产品的开始挑选,其在必定程度上决议了排序阶段的功率和举荐成果的好坏。

业界比较传统的算法,主要是CF[1][2]、依据核算的Contextual举荐和LBS,但近期来深度学习被广泛引进,算法性取得较大的提高,如:2015年Netflix和Gravity R&D Inc提出的运用RNN的Session-based举荐[5],2016年Recsys上提出的结合CNN和PMF运用于Context-aware举荐[10],2016年Google提出的将DNN作为MF的推行,能够很容易地将恣意接连和分类特征添加到模型中[9],2017年IJCAI会议中提出的运用LSTM进行序列举荐[6]。2017年携程个性化团队在AAAI会议上提出的深度模型aSDAE,经过将附加的side information集成到输入中,能够改进数据稀少和冷启动问题[4]。

关于召回阶段得到的候选集,会对其进行愈加杂乱和准确的打分与重排序,然后得到一个更小的用户或许感爱好的产品列表。携程的举荐排序并不单纯寻求点击率或许转化率,还需求考虑距离操控,产品质量操控等要素。比较适用于查找排序,文本相关性检索等范畴的pairwise和listwise办法,pointwise办法能够经过叠加其他操控项进行干涉,适用于多目标优化问题。

工业界的举荐办法阅历从线性模型+很多人工特征工程[11] -> 杂乱非线性模型-> 深度学习的开展。Microsoft首先于2007年提出选用Logistic Regression来预估查找广告的点击率[12],并于同年提出OWLQN优化算法用于求解带L1正则的LR问题[13],之后于2010年提出依据L2正则的在线学习版别Ad Predictor[14]。

Google在2013年提出依据L1正则化的LR优化算法FTRL-Proximal[15]。2010年提出的Fac子宫内膜厚度多少正常torization Machine算法[17]和进一步2014年提出的Filed-aware Factorization Machine[18]旨在处理稀少数据下的特征组合问题,然后防止选用LR时需求的很多人工特征组合作业。

阿里于2011年提出Mixture of Logistic Regression直接在原始空间学习特征之间的非线性联系[19]。Facebook于2014年提出选用GBDT做主动特征组合,一同交融Logistic Regression[20]。

近年来,深度学习也被成功运用于举荐排序范畴。Google在2016年都匀气候,机器不学习:携程个性化举荐算法实践,宝马m4提出wide and deep learning办法[21],归纳模型的回忆和泛化才能。进一步华为提出DeepFM[15]模型用于替换wdl中的人工特征组合部分。阿里在2017年将attention机制引进,提出Deep Interest Network[23]。

携程在实践相应的模型中积累了必定的阅历,无论是最常用的逻辑回归模型(Logistic Regression),树模型(GBDT,Random Forest)[16],因子分化机(FactorizationMachine),以及近期提出的wdl模型。一同,咱们以为即便在深度学习大行其道的今下,精细化的特征工程仍然是不可或缺的。

依据排序后的列表,在归纳考虑多样性、新颖性、Exploit & Explore等要素后,生成终究的举荐成果。本文之后将偏重介绍召回与排序相关的作业与实践。

一、数据

机器学习=数据+特征+模型

在介绍召回和排序之前,先简略的了解一下所用到的数据。携程作为大型OTA企业,每天都有海量用户来拜访,积累了很多的产品数据以及用户行为相关的数据。实践在召回和排序的进程生猪价格中大致运用到了以下这些数据:

  • 产品特点:产品的一些固有特点,如酒店的方位,星级,房型等。
  • 产品核算:比方产品一段时刻内的订单量,阅读量,查找量,点击率等。
  • 用户画像:用户根底特点,比方年岁,性别,偏好等等。
  • 用户行为:用户的谈论,评分,阅读,查找,下单等行为。

值得留意的是,针对核算类信息,或许需求进行一些滑润。例如针对前史CTR反应,运用贝叶斯滑润来预处理。

二、召回

召回阶段是举荐流程根底的一步,从不计其数的脸上长斑是什么原因Item中生成数量有限的候选集,在必定程度上决议了排序阶段的功率和举荐成果的好坏。而由OTA的特点决议,用户的拜访行为大多是低频的。这就使得user-item的交互数据是极端稀少的,这对召回提出了很大的应战。在事务实践中,咱们结合现有的通用举荐办法和事务场景,挑选和探索出了几种卓有成效的办法:

  • Real-timeIntention

咱们的实时目的体系能够依据用户最近阅读下单等行为,依据马尔科夫猜测模型举荐或许交三轮轿车叉举荐出的产品。这些候选产品能够比较精准的反应出用户最近最新的志愿。

  • BusinessRules

事务规矩是以为设定的规矩,用来限制举荐的内容规模等。例如机票推酒店的场景,需求经过事务规矩来限制举荐的产品只能是酒店,而不会举荐其他游览产品。

  • Context-Based

依据Context的举荐场景和Context自身密切相关,例如与末侯相关的游览产品(冬天滑雪、元旦跨年等)。

  • LBS

依据用户的当时方位信息,挑选出的周边酒店,景点,美食等等,比较适用于行中场景的举荐。地理方位距离经过GeoHash算法核算,将区域递归区分为规矩矩形,并对每个矩形进行编码,挑选GeoHash编码类似的POI,然后进行实践距离核算。

  • CollaborativeFiltering

协同过滤算法是举荐体系广泛运用的一种处理实践问题的办法。携程个性化团队在深度学习与举荐体系结合的范畴进行了相关的研讨与运用,经过改进现有的深度模型,提出了一种深度模型aSDAE。该混合协同过滤模型是SDAE的一种变体,经过将附加的side information集成到输入中,能够改进数据稀少和冷启动问题,概况能够拜见文献[4]。

  • SequentialModel

现有的矩阵分化(Matrix Factorization)办法依据前史的user-item交互学习用户的长时刻爱好偏好,Markov chain经过学习item间的transition graph对用户的春饼序列行为建模[3]。事实上,在游览场景下,参加用户行为的先后次序,然后能更好的反映用户的决议方案进程。咱们结合Matrix Factorization和Markov chain为每个用户构建个性化搬运矩阵,然后依据用户的前史行为来猜测用户的下一行为。在游览场景中,能够用来猜测用户下一个目的地或许POI。

除此之外,也能够运用RNN来进行序列举荐,比方依据Session的举荐[5],运用考虑时刻距离信息的LSTM来做下一个item的举荐等[6]。

此辣木籽的成效外,一些常见的深度模型(DNN, AE,CNN等)[7][8][9][10]都能够运用于举荐体系中,可是针对不同范畴的举荐,需求更多的高效的模型。跟着深度学习技能的开展,信任深度学习将会成为举荐体系范畴中一项非常重要的技能手段。以上几种类型的召回办法各有优势,在实践中,针对不同场景,结合运用多种办法,供给给用户最佳的举荐,以此提高用户领会,添加用户粘性。

三、排序

以工业界在广告、查找、举荐等范畴的实践阅历,在数据给定的条件下,阅历了从简略线性模型+很多人工特征工程到杂乱非线性模型+主动特征学习的演化。在构建携程个性化举荐体系的实践进程中,关于举荐排序这个特定问题有一些自己的考虑和总结,并将从特征和模型这两方面打开。

  • Model

个性化排序模型旨在运用每个用户的前史行为数据集树立其各自的排序模型,本质上能够看作多使命学习(multi-task learning)。事实上,经过参加conjunctionfeatures,也便是参加user和product的穿插特征,能够将特定的multi-task使命简化为单使命模型。

整理工业界运用的排序模型,大致阅历三个阶段,如下图所示:

本文并不预备具体介绍上图中的算法细节,感爱好的读者能够检查相关论文,以下几点是咱们的一些实践阅历和领会。

  • 在实践中选用以LR为主的模型,经过对数据离散化、散布转化等非线性处理后运用LR。一般的,选用L1正则确保模型权重的稀少性。在优化算法的挑选上,运用OWL-QN做batch learning,FTRL做online learning。
  • 实践中运用因子分化机(FactorizationMachine)得到的特征穿插系数来挑选喂入LR模型的穿插特征组合,然后防止了冗杂的特征挑选工宝马118i作。一般的受限于模型杂乱度只进行二阶打开。关于三阶以上的特征组合能够运用依据mutual information等办法处理。已有针对高阶因子分化机(HighOrder FM)的研讨,拜见文献[24]。
  • 关于Wide and Deep Learning,将wide部分替换gbdt组合特征,在试验中取得了较好的作用,并将在近期上线。后续的作业将针对怎么进行wide部分和deep部分的alternatingtraining打开。
  • Feature Engineering

事实上,尽管深度学习等办法必定程度上减少了冗杂的特征工程作业,但咱们以为精心设计的特征工程仍旧是不可或缺的, 其间怎么进行特征组合是咱们在实践中偏重考虑的问题。一般的,能够分为显式特征组合和半显式特征组合。

显式特征组合

对特征进行离散化后然后进行叉乘,选用笛卡尔积(cartesian product)、内积(inner product)等办法。

在结构穿插特征的进程中,需求进行特征离散化;针对不同的特征类型,有不同的处理办法。

1、numerical feature

  • 无监督离散化:依据简略核算量进行等频、等宽、分位点等区分区间
  • 有监督离散化:1R办法,Entropy-BasedDiscretization (e.g. D2,MDLP)

2、ordinal feature(有序特征)

编码表示值之间的次序联系。比方关于卫生条件这一特征,别离有差,中,好三档,那么能够别离编码为(1,0,0),(1,1,0),(1,1,1)。

3、categorical feature (无序特征)

离散化办法

具体做法

OHE(one hot encoding)

用h个变量代表h个level

Dum峰峰信息港my Encoding

将一个有h个level的变量变成h-1个变量

Hash Trick

转化为固定长度的hash variable

  • 离散化为哑变量,将一维信息嵌入模型诸暨气候预报的bias中,起到简化逻辑回归模型的作用,降低了模型过拟合的危险。
  • 离散特征经过OHE后,每个分类型变量的各个值在模型中都能够看作独立变量,增强拟合才能。一般的,当模型加正则化的情况下束缚模型自在度,咱们以为OHE更好。
  • 运用feature hash技能将高维稀少特征映射到固定维度空间

半显式特征组合

差异于显式特征组合具有清晰的组合解说信息,半显式特征组合一般的做法是依据树办法构成特征区分并给出相应组合途径。

一般做法是将样本的接连值特征输入ensemble tree,别离在每颗决议方案树沿着特定分支途径终究落入某个叶子结点得到其编号,本质上是这些特征在特定取值区间内的组合。ensemble tree能够选用Gbdt 或许 random forest完成。每一轮迭代,发生一棵新树,终究经过one-hotencoding转化为binary vector,如下图所示。

以下几点是都匀气候,机器不学习:携程个性化举荐算法实践,宝马m4咱们在实践中的一些总结和考虑。

  • 在试验中发现假如将接连值特征进行离散化后喂入gbdt,gbdt的作用欠安,AUC比较低。这是由于gbdt自身能很好的处理非线性特征,运用离散化后的特征反而没什么作用。xgboost等树模型无法有用处理高维稀少特征比方user id类特征,能够选用的代替办法是:将这类id运用一种办法转化为一个或多个新的接连型特征,然后用于模型练习。
  • 需求留意的是当选用叶子结点的index作为特征输出需求考虑每棵树的叶子结点并不彻底同处于相同深度。
  • 实践中选用了Monte Carlo Search对xgboost的很多参数进行超参数挑选。
  • 在离线练习阶段选用依据Spark集群的xgboost散布式练习,而在线猜测时则对模型文件直接进行解析,能够满意线上实时呼应的需求。

此外,在实践发现单纯选用Xgboost主动学到的高阶组合特征后续输入LR模型并不能彻底代替人工特征工程的作用;能够将原始特征以及一些人工组合的高阶穿插特征同xgboost学习到的特征组合一同放入后续的模型,取得更好的作用。

四、总结

完好的举荐体系是一个巨大的体系,触及多个方面,除了召回、排序、列表出产等过程外,还有数据预备与处理,工程架构与完成,前端展示等等。在实践中,经过把这些模块集成在一同,构成了一个集团通用举荐体系,对外供给推服务,运用在10多个栏位,60多个场景,取得了很好的作用。本文偏重介绍了召回与排序算法相关的现在已有的一些作业与实践,下一步,方案引进更多地深度模型来处理召回与排序问题,并结合在线学习、强化学习、搬迁学习等方面的发展,优化举荐的全体质量。

References

[1] Koren, Yehuda,Robert Bell, and Chris Volinsky. "Matrix factorization techniques forrecommender systems." Computer 42.8 (2009).

[2] Sedhain, Suvash,et al. "Autorec: Autoencoders meet collaborative filtering." Proceedingsof the 24th International Conference on World Wide Web. ACM, 2015.

[3] Rendle, Steffen,Christoph Freudenthaler, and Lars Schmidt-Thieme. "Factorizingpersonalized markov chains for next-basket recommendation." Proceedings ofthe 19th international conference on World wide web. ACM, 2010.

[4]只为她袖手全国 Dong, Xin, etal. "A Hybrid Collaborative Filtering Model with Deep Structur都匀气候,机器不学习:携程个性化举荐算法实践,宝马m4e forRecommender Systems." AAAI. 2017.

[5] Hidasi, Balzs,et al. "Session-based recommendations with recurrent neuralnetworks." arXiv preprint arXiv:1511.06939 (2015).

[6] Zhu, Yu, et al."What to Do Next: Modeling User Behaviors by Time-LSTM." Proceedingsof the Twenty-Sixth International Joint Conference on Artificial Intelligence,IJCAI-17. 2017.

[7] Barkan, Oren,and Noam Koenigstein. "Item2vec: neural item embedding for collaborativefiltering." Machine Learning for Signal Processing (MLSP), 2016 IEEE 26thInternational Workshop on. IEEE, 2016.

[8] Wang, Hao,Naiyan Wang, and Dit-Yan Yeung. "Collaborative deep learning forrecommender systems." P沈阳房价roceedings of the 21th ACM SIGKDD InternationalConference on Knowledge王洗平 Discovery and Data Mining. ACM, 2015.

[9] Covington, Paul,Jay Adams, and Emre Sargin. "Deep neural networks for youtuberecommendations." Proceedings of the 10th ACM Conference on RecommenderSystems. ACM, 2016.

[10] Kim, Donghyun, et al. "Convolutional matrix factorization fordocument context-aware recommendation." Proceedings of the 10th ACMConference on Recommender Systems. ACM, 2016.[11] https://mli.github.io/2013/03/24/the-end-of-feature-engineering-and-linear-model/[12] Richardson, Matthew, Ewa Dominowska, and Robert Ra都匀气候,机器不学习:携程个性化举荐算法实践,宝马m4gno."Predicting clicks: estimating the click-through rate for new ads."Proceedings of the 16th international conference on World Wide Web. ACM, 2007[13] Andrew, Galen, and Jianfeng Gao. "Scalable training of L1-regularized log-linear models." Proceedings of the 24th internationalconference on Machine learning. ACM, 2007.[14] GTMTraepel, Thore, et al. "Web-scale bayesian click-through rateprediction for sponsored search advertising in microsoft's bing searchengine." Omnipress, 2010.

[15] McMahan, H. Brendan, et al. "Ad click prediction: a view fromthe trenches." Proceedings of the 19th ACM SIGKDD international conferenceon Knowledge discovery and data mining. ACM, 2013.

[16] Chen, Tianqi, and Carlos Guestrin. "Xgboost: A scalable treeboo都匀气候,机器不学习:携程个性化举荐算法实践,宝马m4sting system." Proceedings of the 22nd acm sigkdd intetianlongbabusifurnationalconference on knowledge discovery and data mining. ACM, 2016.

[17] Rendle, Steffen. "Factorization machines." Data Mining(ICDM), 2010 IEEE 10th International Conference on. I日本自在行攻略EEE, 2010.

[18] Juan, Yuchin, et al. "Field-aware factorization machines forCTR prediction." Proceedings of the 10th ACM Conference on RecommenderSystems. ACM, 2016.

[19] Gai, Kun, et al. "Learning Piece-wise Linear Models fromLarge Scale Data for Ad Click Prediction." arXiv preprint arXiv:1704.05194(2017).

[20] He, Xinran, et al. "Practical lessons from predicting clickson ads at facebook." Proceedings of the Eighth International Workshop onData Mining for Online Advertising. ACM, 2014.

[21] Cheng, Heng-Tze, et al. "Wide & deep learning forrecommender systems." Proceedings of the 1st Workshop on Deep Learning forRecommender Systems. ACM, 2016.

[22] Guo, Huifeng, et al. "DeepFM: A Factorization-Machine basedNeural Network for CTR Prediction." arXiv preprint arXiv:170不用在乎我是谁3.04247(2017).

[23] Zhou, Guorui, et al. "Deep Interest Network for Click-ThroughRate Prediction." arXiv preprint arXiv:1706.06978 (2017).

[24] Blondel, Mathieu, et al. "Higher-orderfactorization machines." Advances in Neural Information ProcessingSystems. 2016.

[25] http:/孙兴民/breezedeus.github.io/2014/11/20/breezedeus-feature-hashing.html

[26] https://en.wikipedia.org/wiki/Categorical_variable

[27] https://www.zhihu.com/question/48674426

[28都匀气候,机器不学习:携程个性化举荐算法实践,宝马m4] 多高的AUC才算高?https://zhuanlan.zhihu.com/p/24217322

原文发布于微信大众号 - 携程技能中心(ct都匀气候,机器不学习:携程个性化举荐算法实践,宝马m4riptech)

admin 14文章 0评论 主页

  用户登录