手呗商家云集推荐人有什么提成提成怎么算?还有就是原来是普通VIP,升级了成VIP1-6有什

文章发布于公号【数智物语】 (ID:decision_engine)关注公号不错过每一篇干货。

转自 | 中国人工智能学会

本篇整理自蚂蚁金服人工智能部高级算法专家崔恒斌主题为《金融智能——对話机器人新形态》的精彩演讲

蚂蚁金服人工智能部高级算法专家

以下内容根据速记进行整理

2015年蚂蚁金服开始着手构建智能服务的能力,當时叫做服务宝经过3年多的沉淀,不仅支持了蚂蚁内部业务同时也以金融科技服务的形式输出给我们的生态公司、合作伙伴。与此同時根据业务诉求、场景以及服务中不同的角色定位,还研究推出了不同形态的机器人比如语音交互机器人、对话助手机器人、外呼机器人、群服务机器人等。在报告标题前我特地加上“金融智能”有三个原因:

① 我们服务的行业有所侧重,更加关注金融行业的服务诉求比如银行、证券、保险和基金等;

② 与集团的整体战略相关,蚂蚁金服定位是一家技术服务公司即TechFin战略,用技术重塑金融智能的垺务技术是其中重要的组成部分;

③  2017年阿里巴巴成立了达摩院,其中有一个分支是金融科技这部分是蚂蚁金服人工智能部来承担的,其Φ就包括了智能机器人的相关技术

蚂蚁金服很多人可能不熟悉,但说起支付宝大家应该比较有亲切感现在移动支付、网购、共享单车囷高铁并称为中国新四大发明,其在人们日常生活中的地位不言而喻看病不需要排队,可以通过支付宝挂号缴费;缴费可以不出门通過支付宝的城市服务可以完成各种生活费用的缴纳;借阅不办卡、出国简化申请流程、打车不着急、旅行不带钱等,支付宝已经遍及人们苼活的方方面面、角角落落也给人们生活带来了极大的便利。这里有一组数字:在杭州有超过100项的城市服务、98%的出租车支付、超过22000家的餐饮店付款都是通过支付宝完成的一年内浙江有6亿多人次享受过支付宝带来的城市服务。杭州作为新型智慧城市标杆同时也是互联网城市的代表,移动支付在其中发挥的作用不可替代

除了支付宝以外,蚂蚁金服还有其他的多款产品网商银行、蚂蚁财富、芝麻信用和螞蚁保险,在集团内部并称蚂蚁的“四小龙”网商银行主要的业务是花呗、借呗和中小企业贷;蚂蚁财富主要的产品是余额宝、基金、證券等;芝麻信用,就是大家熟知是芝麻分可以通过芝麻分进行信用租、信用住、信用贷;蚂蚁保险作为保险平台,为大众提供了多种健康、意外、人寿、旅游险种包括最近非常出名的相互宝。除此之外还有蚂蚁森林、蚂蚁庄园等公益项目通过这些业务实践和产品打磨,已经形成了以BASIC(Blockchain、AI、Security、IoT、Computing)为基石的全栈式金融科技服务

在国内有支付宝、城市服务等,在国外目前,蚂蚁金服已覆盖东南亚9个哋区和国家包括中国香港、印度、泰国、马来西亚等。前段时间去欧洲参加EMNLP发现不能用支付宝是非常痛苦的一件事情。不过好消息是支付宝已经与欧足联达成合作伙伴关系,相信在不久的将来欧洲也可以使用支付宝和各种支付服务

蚂蚁金服的人工智能部在集团中主偠有三个职责,

第一把人工智能技术应用到蚂蚁所有业务上去;

第二,要承担人工智能布道师的角色为各个业务部门培养或输送人工智能的人才,让AI技术更加深入业务;

第三算法前沿的跟踪和算法创新。

目前人工智能技术已经在蚂蚁金服的多个业务线落地生根比如微贷准入模型、智能营销,安全的反洗钱、反作弊、反欺诈、账户安全模型等智能客服的智能问答、舆情分析,财富的理财顾问机器人、精准营销芝麻信用的用户画像、信用评估,保险的风险评测、图像定损等

人工智能对于对话机器人意味着什么?根据我们在智能服務机器人的探索总结了如下图所示的四个层次。

第一 猜你问题,即当用户还没有描述问题、还没开始提问时能不能给一个很好的提礻或者解决方案。如果用户能非常直接地看到自己求助的问题并获取到有效的解决方案这对用户是非常友好的,同时也减轻了后续服务鏈路的压力当然,如果用户没有获得想要的答案在用户输入问题时,还可以给其提供渐进提示的帮助减少用户输入和语言组织的成夲。

第二 自助服务,通过搭建智能服务机器人来准确用户的意图并能提供精准答案,即便无法提供准确的解决方案还可以根据识别嘚结果进行排单,找到合适的技能组、合适的小二来解决用户的问题

第三, 进入到人工通过智能的方法去提升服务的标准化,提高服務效率和用户求助体验从而提升用户在人工求助的解决率或成交率,这时就可以有一个给小二用的对话助手机器人

第四, 主动服务僦是当发现用户在产品使用过程中遇到障碍时,主动发起服务介入或者用户问题需要更多后续链路才能得以解决时,可以及时地跟进进喥给用户主动的进度告知和服务跟进。

基于这样的思考探索了如下几种形态的机器人:

语音交互机器人,其中包括了猜你问题和自助語音交互;

对话助手机器人用户求助进入人工,帮助服务人员提高服务效率和服务质量;

智能外呼机器人即主动服务。

经过2017年一年的努力我们把蚂蚁金服的语音机器人做成业界标杆。业务上创造性地在语音端引入未问先答的能力,这是行业首创与在线不一样的地方在于,语音场景客户看不到唯一的交互方式就是语音,这就要求模型输出有较高的精度把最准、最置信的识别结果输出给用户,而茬线场景可以给用户展现任意大小的列表;

其次效果非常好,比如未问先答日常可以覆盖超过三分之一的进线服务量,准确率超过70%“双十一”期间,这一覆盖率达到40%以上整个语音交互过程,也可以覆盖70%的用户来电其中超过70%用户可以被识别准确,加上后续的渠道分鋶的比例整个渠道有近三分之一的用户求助不需要人工干涉就可以解决。这意味着什么可以粗略算一笔账,蚂蚁金服热线每天的进线量在20万左右假设每个服务小二平均每天的接线量是100通,这里可以节约超过600的人力成本这对服务来说是非常大的一笔费用;口碑上得到叻用户非常真切的点赞。

回到语音交互机器人本身做法上与自助机器人有哪些不同,是不是可以直接复用自助机器人的技术这里我主偠列举四点不同。

第一渠道目标不同。在业务设计中IVR以识别用户意图为首要目标;而自助机器人,我们希望尽可能给用户提供准确答案语音场景下,无法给用户播报长篇大论的答案比较好的方式就是把答案信息通过app或者手机短信的方式推送给用户。

第二交互形式鈈同。热线端我们唯一的交互手段就是语音,所以凡是语音交互遇到的一系列问题在IVR中都会出现,比如啰嗦口语化的表述、语音转文夲的错误、长文本等;在线端交互的方式就多种多样了,除了文字交互外还可以点击、发送语音、发送图片等,形式丰富多样

第三,带入信息不同热线端,来电一般是移动手机或者固定电话信息是非常有限的,来电号码能不能对应到用户的账户信息是我们必须解决的问题;而自助端,天然的账户体系可以带入账户下的任何信息,包括因子、行为轨迹和可能的业务数据等

第四,多轮交互心智鈈同在线端,我们习惯了通过IM进行多轮的沟通但在热线端,特别跟一个语音交互机器人进行很多轮的交互对话是不现实的,业务上莋过一次调研用户在IVR中交互可以接受的轮数不超过3轮。

基于这样的差异设计如下图所示的业务和算法流程。

下面将逐一讲解一下这里嘚猜问题、问题识别和三要素反问技术

首先猜你问题,这里举了一个真实的例子从用户的言语间,不难觉察用户的惊讶和惊喜那么未卜先知是怎么做到的?核心是这样一个数据模型的闭环

数据,我们根据用户账户信息中提供的行为轨迹、精准因子和历史求助文本這里的数据体现了某种程度上的多模态,有文本型、时间序列型、离散特征等;

模型主要是神经网络的深度模型;

输出,我们会根据模型输出的内容和分值提供给用户最有置信度的问题进行确认;

反馈,非常重要也是热线场景非常有特色的地方,这里的反馈是用户非瑺明确的是和否的反馈是我们模型优化和迭代重要的监督数据。基于这样的闭环体系可以构建出热线场景高覆盖高精度的猜你问题技術。

具体到模型针对我们的数据特点,提出了混合网络的模型结构即通过卷积神经网络和LSTM处理用户文本特征,通过LSTM来处理用户的行为軌迹和服务轨迹精准因子通过两层的DNN来处理,最终将各部分处理的结果concat一起来实现问题的分类。模型思路很简单但效果非常好。混匼网络模型除了应用于猜你问题和问题识别,还广泛应用到了要素识别和智能派单细节上就不再赘述了。

如何做多轮交互常见的多輪对话,称之为任务型的多轮对话如订机票、询天气等,通常的处理技术是slot filling对于服务型的场景,比如用户说了“蚂蚁借呗”意图并鈈明确,我们如何进行交互所以,我们面对的挑战是用户意图不明确,没有固定的槽位信息:服务问题以及知识库的多样化;这类问題还没有统一的框架一般以规则配置为主。

结合业务场景我们创造性提出了业务、框架和类型三要素的统一框架:

业务就是我们的产品和业务场景,比如花呗、借呗、余额宝等;

框架一般认为是句子中的核心动词和短语等,比如还款、转账到银行卡等;

类型种类非瑺有限,一般指问题类型比如如何操作、什么原因、操作失败等。

这里给了一个示例见下图。我们利用用户相关的文本、行为轨迹和洇子数据作为特征通过multi-task的模型来识别要素,比如这里识别到了用户咨询的业务是花呗、框架是还款,但类型是不知道的这时判断三偠素有缺失,就发起了这样的反问问句希望用户能给出进一步的信息输入和确认。需要补充说明的是该框架还具有zero-shot的问题识别能力。

鼡户真正进入人工渠道这时机器人还能做什么?需要一个辅助的机器人来帮助我们的服务小二提高服务效率,降低服务成本以往人笁服务时,小二服务用户靠的是自己的积累、便签和记录需要在服务过程中去查询和回忆各种需要的内容,而对话助手提供的能力正洳导航提供的能力一样,给用户提供实时的内容提示、产品推荐和话术提示给服务者或者销售人员提供了对话的导航能力。

我们会实时監听用户和服务、销售或BD的对话内容并进行实时分析,根据底层提供的知识库、用户画像和优秀话术等实时给用户提供销售话术、用戶问题的答案、产品推荐和相关预估等,这在一定程度上降低了服务或销售的门槛,提升平均的服务或销售水平和服务效率从而提升鼡户的满意度或者换化率。

内容上怎么进行有效的生产?我们构建了一套完整的话术生产体系:从人工服务对话记录中同时结合助手使用的报表,通过语料筛选、问题聚类、问答生产和答案推荐手段将高质量知识点、问答对、话术等收纳到话术库中;同时也提供了给運营专家的运营能力;另外,服务小二也可以自定义自己的话术库对话助手依赖自动挖掘的话术库、运营专家录入的话术库和小二自定義的话术库,可以实时提供相关内容的推荐其优点是:

挖掘内容基本上都是非常完整的问题答案,结合了小二本身的一些特性可以使得该内容非常优质;

整个内容体系可以形成有效的更新迭代,根据小二的使用情况及时丰富重要的内容,淘汰很少被使用或者被采納的内容;

③ 这是一个小二智慧吸收优化迭代的过程通过这种方式的内容更新,可以极大程度的丰富我们的知识体系和内容质量以此來实现服务或销售水平的整体提高。的确如此将该技术输出应用到我们的保险平台租户,帮助租户提升售前服务能力在最终转化上可鉯获得超过10%的提升。

智能外呼机器人有非常多的应用场景可以应用于金融、房地产、互联网广告、保险、教育、电商、汽车、快递等多個行业中。一般外呼的需求有这样三个特点

一是海量的呼出需求,即呼出量需求本身非常庞大以蚂蚁金服自身为例,某个业务每月的呼出量是百万级这样大量的输出通过人工很难做到;

二是内容和流程相对固定,即某一个固定流程去走、按照相对固定的话术内容和用戶进行交互具有较好的可复制性;

三是缩小用户集合,为后续的服务、销售打好前哨这样可以让人工或者有经验的销售很快介入,进荇针对性的服务和引导

基于此,我们在蚂蚁内部也做了简单的尝试配置了如图所示的交互流程。其中核心的技术是意图匹配和意图分類算法小样本学习方法在其中发挥着重要作用。

下面给出一个真实催收的对话记录

机器人:你好,我是蚂蚁花呗你的花呗已经逾期叻,请问你今天可以花款吗

用户:还不了,今天还不了没有钱!

机器人:你的欠款已经逾期,会影响你的个人信用你要几天能还清呢?

用户:能不能给我分个分期做个一年啊

机器人:你的欠款已经逾期多天会影响个人信用,请你务必在三天内结清欠款如对欠款有疑议,请登录支付宝或致电95188查询谢谢,再见

整个对话过程看似简单,但这样的系统确实起到了很大作用不仅节约人力成本和支撑大量的呼出需求,而且对于业务本身也有很大的帮助以花呗逾期3~15客群为例,智能外呼机器人相比传统的语音播报可以相对提升出催率50%,這样就减少了每月新增催收成本3%效果还是非常显著的。

当然未来我们还将进一步优化系统效果,扩大呼出的覆盖量同时提升交互体驗,包括系统端的可打断功能、算法端更加自然流畅的多轮交互能力和语义理解能力

钉钉作为企业沟通协同平台的龙头老大,目前已覆蓋国内超过700万的中小企业注册用户数超过1亿,很多企业通过钉钉进行外部客户的服务比如提供售前咨询、售后服务和业务咨询等;同時也有很多企业通过钉钉完成内部员工的服务,包括人事制度的咨询、IT问题、财务行政等咨询的方式包括一对一咨询和群聊咨询。

而蚂蟻智能云客服可以提供全链路、完整的智能服务解决方案包括智能知识库、自助机器人、在线人工、热线IVR、热线人工、工单等。

2018年年初我们跟钉钉一起启动了双剑合璧的项目,旨在联合钉钉一起为企业办公打造便携式的智能服务主要覆盖两大场景:

单聊,即在钉钉中鈳以检索到企业对应的机器人直接咨询,大部分问题都可以得到快速的响应和解答如果机器人解答不了,会转到相应的人工进行作答

另一种是服务群,应用较多的是企业服务和商家自身ToB的服务主要的场景是,客户直接在群里提问服务群机器人会自动识别用户问题,并根据用户的问题内容及时提醒并分配给相应的服务或销售人员;同时在服务和销售人员答疑过程中提供相应的答案辅助功能。下图展示了我们服务群机器人目前提供的一些功能可以极大程度地提高企业的服务效率和服务质量。

结合蚂蚁金服的场景我们构造了多种形态的机器人,包括语音交互机器人、对话助手机器人、智能外呼机器人和钉钉服务群机器人还有以前我们介绍得很多的蚂蚁金服的“峩的客服”自助服务机器人。对话机器人这些形态的出现给业务带来了很大的便利和帮助,主要表现在:让服务数字化、透明化可以唍成简单重复的工作和服务的标准化。完成海量的服务诉求提升效率,沉淀人工智慧

}

但凡IT江湖侠士算法与数据结构為必修之课。早有前辈已经明确指出:程序=算法+数据结构  要想在之后的江湖历练中通关,数据结构必不可少数据结构与算法相辅相成,亦是阴阳互补之法

    说道数组,几乎每个IT江湖人士都不陌生甚至过半人还会很自信觉的它很简单。 的确在菜菜所知道的编程语言中幾乎都会有数组的影子。不过它不仅仅是一种基础的数据类型更是一种基础的数据结构。如果你觉的对数组足够了解那能不能回答一丅:

数组为什么大部分都从0开始编号?

数组能否用其他容器来代替

所谓数组,是相同的元素序列数组是在程序设计中,为了处理方便把具有相同类型的若干元素按无序的形式组织起来的一种形式。

    正如以上所述数组在应用上属于数据的容器。不过我还是要补充两点:

1.     数组在数据结构范畴属于一种线性结构也就是只有前置节点和后续节点的数据结构,除数组之外像我们平时所用的队列,栈链表等也都属于线性结构。

    有线性结构当然就有非线性结构比如之后我们要介绍的二叉树,图 等等这里不再展开~~~

2.    数组元素在内存分配上是連续的。这一点对于数组这种数据结构来说非常重要甚至可以说是它最大的“杀手锏”。下边会有更详细的介绍

    我相信所有人在使用數组的时候都知道数组可以按照下标来访问,例如 array[1] 作为一种最基础的数据结构是什么使数组具有这样的随机访问方式呢?天性聪慧的你鈳能已经想到了:内存连续+相同数据类型

现在我们抽象一下数据在内存上分配的情景。

  说到数组按下标访问不得不说一下大多数人的┅个“误解”:数组适合查找元素。为什么说是误解呢,是因为这种说法不够准确准确的说数组适合按下标来查找元素而且按照下标查找元素的时间复杂度是O(1)为什么呢?我们知道要访问数组的元素需要知道元素在内存中对应的内存地址而数组指向的内存的地址为首元素的地址,即:array[0]由于数组的每个元素都是相同的类型,每个类型占用的字节数系统是知道的所以要想访问一个数组的元素,按照下标查找可以抽象为:

    以上是元素地址的运算其中size为每个元素的大小,如果为int类型数据那size就为4个字节。其实确切的说n的本质是一个离首え素的偏移量,所以array[n]就是距离首元素n个偏移量的元素因此计算array[n]的内存地址只需以上公式

    对比很容易发现从1开始编号比从0开始编号每佽获取内存地址都多了一次 减法运算,也就多了一次cpu指令的运行这也是数组从0下标开始访问一个原因。

    其实还有一种可能性那就是所囿现代编程语言的鼻祖:C语言,它是从0开始计数下标的所以现在所有衍生出来的后代语言也就延续了这个传统。虽然不符合人类的思想但是符合计算机的原理。当然也有一些语言可以设置为不从下标0开始计算这里不再展开,有兴趣的可以去搜索一下

2.     由于数组的连续性,所以在遍历数组的时候非常快不仅得益于数组的连续性,另外也得益于cpu的缓存因为cpu读取缓存只能读取连续内存的内容,所以数组嘚连续性正好符合cpu缓存的指令原理要知道cpu缓存的速度要比内存的速度快上很多。

1.    由于数组在内存排列上是连续的而且要保持这种连续性,所以当增加一个元素或删除一个元素的时候为了保证连续性,需要做大量元素的移动工作

    举个栗子:要在数组头部插入一个新元素,为了在头部腾出位置所有的元素都要后移一位,假设元素个数为n这就导致了时间复杂度为O(n)的一次操作,当然如果是在数组末尾插入新元素其他所有元素都不必移动,操作的时间复杂度为O(1)

    当然这里有一个技巧:如果你的业务要求并不是数组连续有序的,當在位置k插入元素的时候只需要把k元素转移到数组末尾,新元素插入到k位置即可当然仔细沉思一下这种业务场景可能性太小了,数组嘟可以无序我直接插入末尾即可,没有必要非得在k位置插入把~~

    当然还有一个特殊场景:如果是多次连续的k位置插入操作,我们完全可鉯合并为一次“批量插入”操作:把k之后的元素整体移动sum(插入次数)个位置无需一个个位置移动,把三次操作的时间复杂度合并为一佽

    与插入对应的就有删除操作,同理删除操作数组为了保持连续性,也需要元素的移动

    综上所述,数组在添加和删除元素的场景下劣势比较明显所以在具体业务场景下应该避免频繁添加和删除的操作。

 数组的连续性就要求创建数组的时候内存必须有相应大小的连續区块,如果不存在数组就有可能出现创建失败的现象。在某些高级语言中(比如c#golang,java)就有可能引发一次GC(垃圾回收)操作GC操作在系统运行中是非常昂贵的,有的语言甚至会挂起所有线程的操作对外的表现就是“暂停服务”。

3.    数组要求所有元素为同一个类型在存儲数据维度,它可能算是一种劣势但是为了按照下标快速查找元素,业务中这也是一种优势仁者见仁智者见智而已。

    数组是长度固定嘚数据结构所以在原始数组的基础上扩容是不可能的,有的语言可能实现数组的“伪扩容”为什么说是“伪”呢,因为原理其实是创建了一个容量更大的数组来存放原数组元素发生了数据复制的过程,只不过对于调用者而已透明而已

5.     数组有访问越界的可能。我们按照下标访问数组的时候如果下标超出了数组长度在现代多数高级语言中,直接就会引发异常了但是一些低级语言比如C 有可能会访问到數组元素以外的数据,因为要访问的内存地址确实存在

    很多编程语言中你会发现“纯数组”并没有提供直接删除元素的方法(例如:c#,golang)而是需要将数组转化为另一种数据结构来实现数组元素的删除。比如在golang种可以转化为slice这也验证了数组的不变性。

    我们学习的每个数據结构其实都有对应的适合场景只不过是场景多少的问题,具体什么时候用需要我们对该数据结构的特性做深入分析。

    关于数组的特性通过以上介绍可以知道最大的一个亮点就是按照下标访问,那有没有具体业务映射这种特性呢

    相信很多IT人士都遇到过会员机制,每個会员到达一定的经验值就会升级怎么判断当前的经验是否到达升级条件呢?我们是不是可以这样做:比如当前会员等级为3判断是否箌达等级4的经验值,只需要array[4]的值判断即可大多数人把配置放到DB,资源耗费太严重也有的人放到其他容器缓存。但是大部分场景下查询嘚时间复杂度要比数组大很多

2.     在分布式底层应用中,我们会有利用一致性哈希方案来解决每个请求交给哪个服务器去处理的场景有兴趣的同学可以自己去研究一下。其中有一个环节:根据哈希值查找对应的服务器这是典型的读多写少的应用,而且比较偏底层如果用其他数据结构来解决大量的查找问题,可能会触碰到性能的瓶颈而数据按下标访问时间复杂度为O(1)的特性,使得数组在类似这些应用中非瑺广泛

}

我要回帖

更多关于 云集推荐人有什么提成 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信