您的位置:首页 > 大数据 > 人工智能

携程AI和推荐系统的云化实践

2018-02-08 00:00 288 查看
嘉宾简介
于磊,携程公共BI,高级总监。毕于上海交通大学计算机科学与技术系,获博士学位。2012年在苏黎世联邦理工大学访学,师从 ACM fellow, Dr. Donald Kossman,从事高并发大数据架构研究。2013 年加入三星电子研究院,所带团队参与SVioce超大规模智能中心的相关算法和架构研究。2015 年加入携程,任基础业务部公共BI团队研发负责人,负责集团大数据平台、通用个性化平台、智能客服机器人、智能导购、小诗机、公司级数据仓库、营销投放算法、广告算法等项目工作。

什么样的技术服务,难以云化?什么样的技术服务,难以云化?答案很简单,与业务耦合度高的服务,难以实现跨行业的云化。比如像PaaS或Docker之类的,基本上和业务是完全脱耦的,相对来说云生态和云技术架构更容易建立,但类似个性化推荐、部分业务AI技术和业务就高度耦合了。云化的难点是怎样在技术上抽取业务共性、划清平台和各类用户之间的职责、技术上的边界,同时提升模块、数据、业务知识的复用和融合,从而为用户构建产业群的“大”数据和“大”知识库业务基础优势,促进相似产业的群簇聚集形成新的大业务闭环生态。
面向产业群簇,一方面,业务急需依赖于群簇全量的“大”数据和“大”的AI知识图谱的上层服务,来直接驱动各自业务的优化与升级,乃至构建新的大业务生态体系;另一方面,这些服务需要兼容适用于数十个商业模式完全不同、架构各异的细分行业,因此云化工作又势在必行。业务高耦合度的服务产品的云化工作,虽然一直是云化技术的深海区,对架构、算法、数据的云架构工程设计能力提出了几乎极限的挑战,但携程在这一块还是做了很多创新性的工作。比如集团个性化平台,曾经面向100多个落地场景,年化收益2亿多元,但只用了7.2个人力(包括服务、算法、数据和产品),支持每天近3亿次的调用,用1.3个人日可以完成1个场景的迭代或新场景上线,携程的客服机器人平台也是如此,与业务高度耦合,但同时支持60多个事业部、20多个行业的相关线上业务,依靠的是对这些业务高度耦合的系统的深度架构优化,大量新技术的创新引入和架构的重构,实现了对服务平台的模块化、复用化、配置化和对不同业务的兼容。
刚才吃饭的时候跟讲师群聊,OTA跟传统的电商还是有非常大的差异性:比如说亚马逊、京东,有矿泉水,有服装,有电器,手机之类的产品,类目数有上万个,但是它们的客服流程、整个交易的流程,基本上都是通着这种标准化的方式来解决的。OTA(Online Travel Agent,在线旅行代理商)的话不一样:比如说订酒店和机票完全不一样,用户诉求也不一样,机票、酒店和火车票的搜索、订单流程、库存体系和架构几乎完全不一样,所以一般来说,不同BU的系统是不同团队相对独立开发的,但传统电商一般上万个类目会共用一套系统。在携程内部来说,我们公共大部分的一些技术服务产品,特别是对于一些人工智能,还有一些个性化推荐,虽然是针对公司或集团内部的,但是实际是需要在技术层面支持对二三十个行业的兼容性和业务的自助化,但这些技术又是和业务高度耦合的,今天我们就是来探讨怎么来做高业务耦合系统的云化工作。Topic的主题会分为四个部分:
携程AI实践

AI云化

集团个性化云

旅游技术的未来工作

携程AI实践(一):小诗机项目我们先从一个“简单”的AI系统来看,我们有一个携程写诗机器人,为了诗和远方。这个项目主要是解决诗的问题:你上传旅游风景的照片,会帮你识别出来照片内容,再给用户AI写一首词文达意的唐诗。

以下是人物的照片,虽然不擅长写人物的系统,但携程很多用户也会用它来做文字版的美图秀秀,拍摄一些照片,文字上帮你做“美颜”。


拍一张西湖的照片它可以识别出来,因为照片本身没有太多的信息量,它只是一个太阳和水,AI会解析出来,帮你现场写一首西湖的诗。

这个照片是在富士山拍的,因为天很晚了,所以也看不出来任何信息。系统通过后台景点知识库挂出来一些季节的数据和时间的数据,包括当天的天气情况,这张照的拍摄当天是下雪了,但是图片上看不出来,因为图片本身没有这个信息量,是要基于知识库来写诗。


这个是输入”郭德纲“三个字AI帮你写诗。这个就完全是基于人物的知识图谱来写诗了。

这是在上海地区做的一个盲测,就是跟上海的专业诗人做的一个盲测,事先评委并不知道每一首诗是人写的还是AI写的。人机盲测,第3名,与上海地区诗人比略胜。




现在也可以写绝句,律诗,宝塔诗,藏头诗。也可检索,用户拍一张照片,AI检索出与照片最贴合的古代的唐诗,以及它的年代和作者。



携程AI实践(二):客服机器人另外一个人工智能的应用,比较大的一块,主要是客服机器人这一块了。目前按会话级别来说,将近有80%的会话可以通过机器人来解决。在剩下的20%里面,大部分是客服需要帮客人跟酒店或者航空公司人工争取一些权益或者处理一些紧急事务,比如说因为用户的问题,生病了或者临时行程有变,携程要帮客人去跟酒店、航司商量,帮客人争取最大化的权益,已经支付的间夜今天是否可以不算费用,或者退掉。如果这个地方解决掉,总体可以达到94%。

主要算法这一块,也是通过深度学习的方法来解决的,包括一些命名实体的识别。包括用户意图的识别,CNN类似的方法,这些方法我们就不说了,这是LSTM+CNN的, 是标准Q匹配的问题,这是QA检索的。biLSTM可以从forward和backward两个方向获取上下文信息,lCNN模型对平移、缩放等具有不变形,可以较好检测出特征区域,鲁棒性好。最终,通过多组实验比较,发现biLSTM+CNN离线效果最佳。


AI云化的实践AI在携程的落地,业务效果非常好,但是实际的最大的技术挑战是云化。携程的每个事业部几乎是完全不同的行业,和业务相关的IT技术架构也不同,其它的客服体系更是完全不一样的,对口的技术、业务、产品本身就是拆分在各个事业部的各个团队, 是非常独立的团队。这种情况下,我们怎么保证它能够支持集团内的60余条业务线,其实就相当于20多个行业的60多个公司了。因此,做了一整套的类似的云化方案,业内虽然有一些,但也没有特别的成熟。包括各个事业部如何冷启动,因为它的客服场景非常多的,即使针对一个事业部。比如说酒店,有售后的,有售前咨询的,还有待会我们会看到的,到底选择哪个酒店?或者选择哪个城市的酒店?这一块我们做了一个系统的云化的运作,做了一些抽象,形成了包括语料标注。对这个客服机器人熟悉的同学也知道,我们会把人工训练师和后台平台进行协调,所以对应的东西,我们会给人工训练师,把每天应该做的事情,每周需要review的一些KPI的报告,云化平台的数据和算法会给他们列出来。包括标准Q(语料)库的挖掘怎么挖掘,对应的平台也会列出来。



这一块是我们目前做的事情,包括业务管理的一些逻辑的云化。我们业务管理流程,它的机票和酒店可能是完全不一样的,在这种情况下怎么通过云化的平台,让每条业务线的人工智能训练师在这个上面自助化地完成业务的编辑。

刚才提到的人工智能,主要是两块东西,一个是小诗机,还有一个是客服机器人。对于携程来说人工智能是比较多的,我们也重新梳理和定位了一下携程的人工智能应该怎么做?其实人工智能是非常耗人力和物力财力的工作。即使非常小的功能,比如说反黄色的图片,或者反政治敏感的图片,也需要大量的人力跟物力,比如说需要标上百万张的黄色图片,或者是敏感图片才能把功能实现。但这对业务线来说其实是非常小的功能点,做一个大的系统会涉及到非常多的功能点,在这种情况下怎么把整个集团的人工智能做起来,把这个业务线的人工智能怎么升级?我们也是采取类似谷歌李飞飞提出来的理念,做民主化的人工智能。关于AI领域我们更加关注的是:“我们如何帮各个事业部,利用AI怎样快速高效地提升OTA的用户体验?”,比如机票和火车票这样的事业部的话,怎样提升用户体验?我们也做了相应的领域内的集成,包括小诗机里面,大量引入了包括BAT,Face++等公司和开源的AI力量,民主式、开放式推进携程的AI进展。

我们在公共这一块会统一的做一个接入平台。我们有一套系统地方法,建立了相对科学的方法的方法来做模型的评估、评测、标准化、及综合的选型,比如图片识别:就综合了携程自研,和BAT的API, 我们会综合评估哪家都好,怎样互补,从而为各个事业部提供业内最好的图片识别。

这是我们集团AI云(Ctrip Brain)平台,大家可以看一下,包括各个模块的功能。有广告的一些算法,也有传统图片的一些东西,文字的一些AI,语音的等等。



常见的功能,比如说景点的分类,传递一个照片,知道这个照片里面有哪些东西,然后再来写诗。实际上在OTA网站上这个东西非常有用,比如说我要做一个春季的营销活动,需要把类似所有春天的照片聚合起来。整个小诗机的人工智能的话,会拆解开来,提供给各个业务线使用。


这是人工智能的,客服这一块我们总结一下。客服这块是跟业务高度耦合的,这种情况下我们把整个客服系统还有算法层面进行抽象,抽象出来以后变成各个功能模块支持各条业务线的人工智能训练师的工作,保证我上新的业务线的时候,对于我们整个技术栈的同学来说,它的成本尽可能为零。上新的业务线的工作是通过自助化的平台来支持人工智能训练师,这部分人非常懂业务的,对于技术的同学,特别是对公共技术的同学,反而对业务的东西不是很了解,对一些机票能不能退,对能不能改签不了解,我们做的就是怎么支持这些业务的同学,在平台上把这个事干掉。

集团个性化云平台 另外跟业务耦合度比较高的就是个性化这一块。因为我们同时要推二三十种业务线的产品,它的推荐逻辑也是完全不一样的,它的原始数据用户行为数据都是完全不一样的。在这种情况下我们也构建了相应的集团统一的推荐系统。现在落地了100个场景,年化营收2.1亿元,目前也接入和很多深度学习的方法。

智能目的地决策,用户决定去哪儿玩的话,决策周期会比电商或者传统互联网公司好很多。比如说我们统计的结果,用户如果要去国内游的话,平均会做21天的决策,如果去东南亚的话,会做40天的综合决策,460次的访问。比如说用户选择了东南亚,可以决策:儿子喜欢玩沙滩;老公喜欢玩户外运动;老婆喜欢shopping。合起来我们会做景点推荐,这样兴趣会合起来,我们会做一些推荐,我们会告诉他价格去哪儿便宜?因为旅游市场跟电商不太一样,旅游市场随着季节的变化,每天的价格指数变化比较大,这种情况我们会给它做一个大数据,还有人工智能个性化的决策。


这样的一个决策,决策好以后看价格曲线的变化情况,包括机票酒店的综合价格指数。这边会推荐你哪一天去,用户选择一个大概的时间范围,比如说下个月想出去玩沙滩,我的老公想出去玩户外运动,综合把这些景点推出来,建议下个月哪一天去最便宜。对应的价格趋势图,主要是做这样的一个工作,线上也取得比较好的效果。

这是行中场景的推荐,用户一旦到哪个地方会推荐包括吃住游的东西。这是对应做的聚合页。


整个推荐系统,刚才看的是产品落地的形式。看一下它的架构怎么做的。我们把事业部的数据进行一个聚合。我们会采用一个虚拟的“标品”,把用户行为和订单数据标准化,然后再来做推荐。


在架构上我们采取了这个模式,我们底层这一块,白颜色的这些东西。大部分的引擎,包括整个回流的闭环,以及离线、在线计算的引擎,我们在集团统一做一套,会集中化进行迭代。上面黄颜色的框,主要是针对某个场景,我们做一些配置化的东西。


实际我们还在进一步做一些事情,我们会把它变成一个完全的云化的,让产品经理来配它,我们把整个在线离线组织好变成模块化以后,我们业务的使用方,在这个界面上可以做自己的配置。可以进行一些组合,比如说用浏览历史做一些推荐,这些都可以进行一些配置。



旅游科技的未来对于未来的探索,我们可以看一下。从数据来看移动网民占比已经达到95.1%,远远超过一些国家的宽带用户占比。对于中国来说,移动互联网的红利已经到头了。

各个互联网公司也在提出人工智能的互联网,这一块我们也在做探索。我们目前主要做的是产品咨询机器人,导游机器人。目前落地的有APP、微信,还有智能音响,还有OTA的一些实体机器人,包括给你的酒店房间送水的,或者在博物馆内,甚至景区内,以及车展。因为目前来说车展的人工智能升级换代非常快,我们希望在这一块做积极的切入。对于携程来说更关注下面的这些,我们希望这些引擎在各个硬件的终端做一个低成本的切入,通过低成本落入的这些智能终端,我们再来渗透OTA相关的一些场景,这是目前对应的一些东西。

对于这一块,我们也需要做一些相应的技术储备,包括我们知识图谱的构建。这个知识图谱与传统的搜索引擎的知识图谱不大一样。搜索引擎的知识图谱绝大部分通过简单的图数据库就可以解决了。对于OTA我们也在思考这个问题,因为对于电商来说,其实不光是携程,特别是OTA企业来说,知识图谱构建会是非常复杂的过程。我也呼吁一下,能够有哪个云计算公司能帮我们把知识图谱的把底层架构能建地非常齐备的话,对于OTA公司可能是非常有用的,在此之前,我们只能自研这样的开源infra框架。一旦向AI互联网升级,对这种需求非常大,实际没有哪一种计算机的存储技术完全支持这样的知识图谱,因为传统的知识图谱类似于KV的工作,比如说姚明的夫人是谁,姚明的丈母娘是谁?对于某一个城市的话,我要排序的东西,比如说卫生条件最好的,或者跟某一个景区最近的,几个条件组合起来,会做这样的工作。比如说我要离景区最近的酒店,知识图谱相对来说会说非常的复杂。对于OTA,对于电商来说需要做的工作非常多,不能用一个完全透明的方式在一个存储系统上来建,可能需要多个系统,我们现在是非常混杂的东西,有ES(ElasticSearch),有KV(Redis+HBase),还有类似图数据库的东西,很复杂。对于电商来说,或者对于OTA来说开发这样的东西,成本很高。这个时候我们怎么能够合起来呢?我们也是愿意跟各个云计算的大佬们一起来探讨。

我们可以看一下这个(播放视频)主要就是纯语音的对话,基于类似于文字或者H5文字的对话,这是做的一些试验,怎么通过语音的方式完成OTA产品的网购。这个场景是酒店,下单的是南京的一家酒店,中间过程当中会做一些挑选,比如说时间、目的地,早餐是否好处,交通是否方便。这样的一个人机交互,会做类似的咨询,比如说这个酒店在不在停车场?因为自驾游嘛,附近有什么好玩的景点,最后完成了酒店的下单。这是我们目前正在做的东西。它是完全基于麦克风阵列的方式。

Q&A提问:AI云各个业务线会排人工的训练师,这些人有技能要求吗?于磊:人工训练师,不是说AI的,是针对人工客服,目前来说主要是售后客服这一块的训练师。是这样的,目前基于现有的人工智能发展的技术来说,还远远达不到把业务规则写进去,还需要人工训练师的训练,训练师的工作分几部分:第一部分就是业务上的逻辑,比如说机票能不能退?其实是多方业务因素所造成的,比如说航空公司愿意不愿意?当前机票属于什么状态?或者飞机已经飞走了你现在来说退机票。人工训练师把业务逻辑梳理出来。用户提前回答的问题,有可能中间会有一个概括,还没有达到非常满意的水平,这时候人工训练师会来做一个纠正,通过统计学,刚才说的自动化的界面,一些大数据或者算法,帮人工智能训练师把这些问题、ROI最大的问题挑出来,比如说用户问到同样一个问题,如果大部分人还会打电话,或者会找人工,如果这样的概率比较大,问题会列出来,并排序,对用户体验影响最大的,让人工训练师优先处理。人工训练师主要是做这个工作的。
提问:你们会不会推出和处理器相关的?或者国内的芯片厂商合作? 于磊:这一块我想说一下,对于人工智能来说,其实人工智能还是区别于传统的infra层的云技术,因为对于以前操作系统级别的虚拟机来说,相对来说比较简单,客户的技术人员只需要是毕业一二年的学生,改改配置,两三个小时都可以搞定、用起来。但AI不一样,目前如果只提供GPU,或者AI的计算、AI的存储资源是远远不够的,类似于BAT这样的大公司或者AI专业公司,他们是有能力在AI计算资源或平台上面建网络的,服务的是云用户是已经有非常大的AI技术和人力的实力了。即便有非常好的一个模型了,上线一个非常简单的功能,还是可能需要很多的训练标注工作,这一块对于人工智能的应用方来说,其实成本很大的,技术层面这些网络怎么组合起来,又不是一个简单的事情。特别是到了今年,今年是一个关键时间点,如果做人工智能的团队,明显就会发现今年的人工智能的人才已经非常的难招聘了,对于非AI的公司,发展AI已经不是光有钱就可以建起来的,薪资开的再高招不到人。我们目前是API的形式,可能也是在现阶段AI云领域最为可行的一种方式。当然,面对一些自身的人工智能这一块技术非常强或人力非常多的用户,也有很多的训练数据,也可以把云服务的层级降下来,但目前应该不是AI云的主力市场。

点击阅读原文报名2018 Gopher China 大会
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: