文 | 兔子酱
编 | 夕小瑶

大家好,我是可盐可甜的兔子酱,一枚卖萌屋的资深潜水小编,今天终于有了自己的第一篇文章,希望耗时一周撰写的本文能让大家有所收获~

这篇文章,算是对自己在头部大厂2年算法岗炼丹经历的一个经验浓缩和总结(不算实习的话实际是工作一年多的萌新)。时间倒退到2018年,从我找算法岗实习开始,先问两个问题暖个身:

Q1: 2018年工业界最火的算法岗是什么?

答:CV、NLP、推荐。

Q2: 2018年工业界招人最多的NLP方向是什么?

答:对话系统、机器翻译。

虽然读研的我沉溺于做着文本表示、模型鲁棒性相关的工作,但是,一方面目睹了小度、天猫精灵、小爱同学为代表的C端对话产品正面厮杀,另一方面领略了10086和各大银行APP里宛如智障般的智能客服和“正在接入人工客服,您前面还有999+人”。当时的我觉得,对话系统要给这个世界带来一波重要的变革了,它将是最能让大众体验人工智能技术的产品了。

抱着这个坚(天)定(真)的信念,先是轻松屠了当年某知名的智能客服天池竞赛的榜单,然后义无反顾的将简历投到了那个将AI、对话作为公司核心战略的大厂。很开心,顺利拿到了实习和秋招提前批special offer。没成想,最想去的团队,一下子就去了,以至于事后都有些遗憾没体验过其他小伙伴口中惊心动魄的秋招。

至此,我与对话系统的故事正式开始了。

谈谈对话这个“顶流”行业

先简单介绍下全球视角下的工业界对话产品发展史吧,行内的小伙伴可以快速跳过。

2011年,世界闻名的人机大战主角——IBM的Wastson,在智力竞猜节目中战胜人类,向全世界宣告了计算机拥有了自然语言理解能力和人机对话能力。同年,乔布斯收购Siri,Siri担起了苹果向AI领域进军的大旗,作为智能数字助理搭载在iPhone上。2014年,微软在中国区发布会上发布了第一款个人智能助理Cortana(中文名小娜);同年,亚马逊推出自己的智能语音助理Alexa和智能音箱Echo,凭借新颖性和稳定性迅速占据了全球市场。2016年谷歌也完成了它的对话产品-谷歌assistant。

到了2017年,中国本土的对话产品开始觉醒、登场。17年下半年,阿里的天猫精灵、小米的小爱同学正式推出,2018年,百度的小度智能音箱,以及华为AI音箱相继跟上,这些头部大厂率先抢占了市场和人心,而后第二梯队的思必驰、出门问问等产品又进一步参与了对话市场的瓜分。

初露锋芒

看起来一片欣欣向荣啊,怎么会跟“凉”扯上关系呢?

首先,C端对话产品成本巨大但盈利空间不明朗,加上激烈的市场竞争,一边是用户打开了新世界的大门,直呼nb!另一边,企业在头疼变现手段,在线广告?电商推荐?会员付费?硬件输出?似乎传统的商业模式在这个场景下都能搞搞,仔细一看又发现似乎都不太能大搞。

长期高额的技术投入却得不到真金白银的反馈,怎么办呢?于是企业将目光投向了B端市场。电信运营商、银行、政务司法、能源电力等各大传统行业都需要部署大量的人工客服,客服就是一个天然的对话场景,如果用对话技术替代掉人工坐席,不仅降低人力成本而且提升服务效率,况且传统企业面临技术更新转型,纷纷想踏上AI这趟快车,所以智能客服的前景一片春天呐。

谈谈需求和技术

当我真正开始战斗在企业对话产品的一线,却发现事情没有那么简单。下面我们讲讲技术话题~

工业界对话系统的核心目的是通过人机对话接口让机器为用户提供服务。这里的服务可以是 解答用户一个疑问,帮用户办理一件事,或者是单纯的聊天(情感服务) ,这三个核心需求对应的技术模块分别是:

  • 问答(基于FAQ、文档、表格、KG等)

  • 任务式对话

  • 闲聊

请记下这三个需求和三套对应的技术模块,接下来这三点将分别简称为 一类需求、二类需求和三类需求 ,并贯穿本文重点内容。

三类需求:闲聊

显然,前两个需求都是在满足用户的刚需,而最后一个需求,抖音不香么?吃鸡不好玩吗?陌陌用过吗?淘宝两块钱的陪聊不满足吗?

一句话讲,工业界对话系统最能满足用户刚需,创造商业价值的更多还是在于问答和任务式对话,微软小冰的结局正是对第三条需求的证伪。

有人说,闲聊的商业化之所以失败,是因为闲聊技术不够成熟!只要我预训练模型足够大,等我打败了Google的Meena[1],Facebook的Blender[2],微软的DialoGPT[3],百度的PLATO[4],我就能像人一样逼真幽默,会聊天了!想象一下,哪怕你做到了像人一样会聊天,又能怎样呢?满足情感和娱乐化需求,创造大规模商业价值,那你的对手将会是整个文娱产业。游戏、短视频、网剧、音乐,甚至陌生人社交APP,一个终于做到像人的产品能干掉哪个呢?

当然了,你如果说要再给这个闲聊系统装一个肉体,那当我没说。。。可能确实有更大的商业化想象空间,就要看下法律、伦理答不答应。。。

证伪了第三类需求,再来说说第一类需求——问答。

一类需求:问答

没错,“解答用户一个疑问”看起来是很刚需的功能。但仔细一想,百度做了20年,知乎做了10年,不就是这个需求吗?

问答是什么?就是精准满足用户query,那就可以理解成百度搜索的TOP1搜索结果,或者知乎上的回答最高赞。换句话讲,就是做一个 缩小版、精准版、垂直版的搜索引擎 。这下你是不是可以理解为什么出道最晚的小度,反而会比天猫精灵和小爱音箱“更聪明”了?

既然都说了可以用搜索引擎的方式去满足对话的第一个需求,那去做不就是啦?有啥好凉的呢?

首先来说说理想层面。问答,或者说搜索TOP1,中文做的最好的显然就是某度了。大家可能平时搜索时都有遇到这种前端样式。

这就是搜索TOP1问答的典型场景。如果每次用户在对话产品中的提问都像在通用搜索引擎中这样这么理想、生活化就好了。但是不知道大家有没有试过在百度里面搜索一些稍微冷门的问题?比如:

你会发现根本没有搜索TOP1问答卡片的影子了。然而,这种垂直行业、细节化的用户query恰恰是对话产品第一类需求中的高频问题!在通用搜索中,由于TOP1的准确率要求非常高,因此面对这种冷门、细节化的query,模型回答不了可以直接展现搜索的相关结果,让用户自己去底下找答案。但是,在对话产品中,几乎注定了是一问一答,如果你没有高精准的找到那个TOP1的回答,那你几乎只能跟用户说“对不起,我好像不明白”。然后用户就“玛德智障!给我转人工!”

尽管学术界对问答对匹配问题研究的挺彻底了,但是SOTA模型放在业务数据中翻车的情况太常见了,所以脱离了业务的模型不算好模型。问答对的质量决定了模型效果的上限,更何况随着数据的增加,问题之间的边界模糊和交叉现象会进一步增加匹配的难度。

当然,我们做问答引擎的过程中,在搜索范式之外,可以增加针对问答场景设计的辅助模块,来缓解无法精准回答的尴尬局面,比如在召回、精排和后处理阶段增加复杂的处理逻辑。可是,若要同时做到垂直而精准,同时还试图通用化,用一套模型/系统实现跨场景跨行业的大规模落地变现,在现有技术范式下几乎是一件不可能的事情。

再者,学术界的问答系统的研究重点普遍聚焦在开放域问答和阅读理解问题上,所谓迁移学习、domain adaption、预训练、小样本学习等技术,还不足以经受的住现实的考验,撑不起一个通用和垂直兼备的问答引擎,依然免不了要一个行业一个行业的做,一份数据一份数据的标。用一个模型去精准的覆盖多个场景和行业是非常不现实的。

总结一下,对话中的第一类需求表面上是一个垂直领域的搜索TOP1匹配问题,而实际操作中的难点诸多。如果技术上无法实现通用、垂直且精准的问答满足,要么技术平台方一个订单一个订单的啃,导致平台方大规模变现艰难;要么就降低标准,导致业务方的用户用脚投票,不停的对机器人喊“我要转人工”,导致业务方重金砸来的智能客服系统也没有真正节约多少运营成本。

这个问题,是我认为对话系统第一类需求的技术硬伤,是打开百亿规模市场的最大障碍。更不必说,第一类需求中还存在query描述冗长/超短、FAQ库不完备、甚至ASR解析噪声等问题。当然,相比上面的最大问题,这些优先级都可以后排。不过话说回来,毕竟算上实习,我做对话也就2年时间,目光有限,或许将来会出现更好的解法呢?

好了,第三类需求和第一类需求都聊完了。最后聊聊第二类需求,也就是任务式对话。

二类需求:任务式对话

前面讲的问答需求(一类需求)本质上是一个文本相关性问题,因此技术抽象上更多的是一个搜索、问答问题;而任务完成式需求(二类需求)由于要帮助用户完成任务目标,比如订票、订餐、查天气等,就免不了要跟系统功能性的API打交道,就注定了要做query结构化,即意图识别、实体槽位填充,将文本转成系统查询API。

然而,像智能音箱这种C端对话产品因为是面向所有用户的,我们无法预先知道用户所有的意图(永远不要低估一个用户的脑洞),即意图是开放域的。对于一些高频意图,如询问天气、播放周杰伦的歌等,我们可以富集、标注大量数据,甚至写个规则就搞定了。然而,对大量的长尾意图就处理困难了,不仅难以采集到充分的数据进行标注,甚至难以穷举并定义这些意图是什么。更加糟糕的是,意图的权重还是不一样的,比如“投诉”的意图识别错了,代价要比“订票”高的多。此外还有一个在论文中不会提及的真实问题,那就是如何在开放域下识别一句话“没有意图”(比如一只猫爬过用户键盘并按下了ENTER)。

再来谈实体识别,这也是学术界已经研究烂的技术了,为什么工业界还是做不好呢?

主要的原因是,实际业务中的实体不只是机构名/人名/地名这么简单和理想,而是些和业务紧密联系的专有名词,往往是某一家公司所独有的词汇。比如运营商场景中的套餐实体,“30元每月30G”,这个时候既没有足够的标注数据,套餐每隔一段时间还会变化,所以学术界的那一套NER的方法太fragile了。所以工业界采用的方法目前还是以规则为主,模型为辅。

此外,任务式对话还会面临多轮问题,这就涉及到了对话管理的概念。

工业界的对话管理的第一要义是绝对可控性,所以技术选型上都是pipeline系统,而非端到端系统(尽管学术界从2015年就有了端到端任务式对话相关的研究工作[5])。

对话管理模块是多轮对话的控制中枢,决定了对话如何进行下去以及对话的质量,作用是维护和更新对话状态以及判断系统的下一步动作。目前工业界的普遍做法是基于有限状态机,这种方法需要事前显式定义对话系统的所有可能状态,优点是可控,缺点是状态转移过程是人为定义的,一旦出现定义范围之外的情况,无法处理就变成人工智障了;此外,对于用户回答偏离业务设计的情况,怎么拉回到对话的主流程上?再比如用户前一个意图还没结束,可能就开启了下一个意图,这个时候如何处理?即使对话流程配置的很精细,也无法应对可能的突发和未知状况,这些都是实际应用中经常面临的问题。

因此,虽然学术界普遍认为任务式对话的各个子模块似乎都做的差不多了,甚至端到端也看似不少paper了,但来到真实场景,才会发现学术界的问题定义和测试集太过理想了。

联想到,很多产品都在吹“我们的产品用了A学习,B技术,能做到C效果”,可是,它真的给产品的用户体验带来提升了吗?提升了多少呢?对话的痛点问题又解决了多少呢。

路在何方

在当今深度学习大风口与预训练小风口的带动下,不可否认的是NLP领域迎来一波质的飞跃,但是在对话问题上,却远远没有乐观到能一下子解决实际问题的程度。对话领域要迎来颠覆,必须有超脱于单纯的炼丹技术和预训练范式之外的突破。

这个突破是什么?我也不知道,但至少是个机器学习命题。我也一直在思考,该怎么跳出这个不断挖字典+写规则和不断标数据finetune的桎梏。我也希望真正热爱对话的学术界研究者们能将更多的精力放在对话框架层面的痛点问题上,而不单单是DSTC又屠了榜、训了个更大的闲聊模型能聊的更像人了、意图识别准确率又提升了1%。这些都不是影响对话大规模落地的痛点问题。

回到标题上来,对话系统凉透了吗?相信认真看完本文的小伙伴心里已经有了答案。对话确实很难,过去的一年里,某AI Lab解散,多个C端产品面临调整,B端业务订单难啃,难以大规模变现,学术界对话研究热点又似乎跟工业界痛点不合节拍,外界一片看衰。但,对话依然是个很有意思&有意义的研究课题,它的社会价值和人类憧憬一直没有改变。

萌屋作者:兔子酱

一个颜值与智商双高的妹纸,毕业于“信息黄埔”北邮。和小夕一起打过比赛,霸过榜,现在在百度智能客服团队(拿过最高奖的团队)做对话方向的NLP业务落地,货真价实的懂业务的算法工程师。(微信号:elec_Wang9018,欢迎来撩~)

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

 

[1]Adiwardana, Daniel, et al. "Towards a human-like open-domain chatbot." arXiv preprint arXiv:2001.09977 (2020).

[2]Roller, Stephen, et al. "Recipes for building an open-domain chatbot." arXiv preprint arXiv:2004.13637 (2020).

[3]Zhang, Yizhe, et al. "Dialogpt: Large-scale generative pre-training for conversational response generation." arXiv preprint arXiv:1911.00536 (2019).

[4]Bao, Siqi, et al. "Plato-2: Towards building an open-domain chatbot via curriculum learning." arXiv preprint arXiv:2006.16779 (2020).

[5]Wen, Tsung-Hsien, David Vandyke, Nikola Mrksic, Milica Gasic, Lina M. Rojas-Barahona, Pei-Hao Su, Stefan Ultes, and Steve Young. "A network-based end-to-end trainable task-oriented dialogue system." arXiv preprint arXiv:1604.04562(2016).

2021年了,对话系统凉透了吗?相关推荐

  1. 涨薪被拒,心凉透,唯有提升自己硬实力!一年涨薪10K!

    无意入行了测试 我是小白,学习的是计算机专业. 考研之后,秋招结束了.当时没有什么更多岗位选择,就想先找个工作干着, 然后亲戚在一家大厂公司上班,说招测试,所以也就去做了测试. 测试是属于计算机大类, ...

  2. 2021年,对话系统该如何学?

    最近有收到对话系统方向小伙伴的私信, 结果大部分同学的问题出奇一致: 我不由得感慨,同一个世界,同一个论文难题. 对话系统作为NLP领域的核心研究课题,其中任务型对话系统在学界和工业界都有非常大的需求 ...

  3. 反催收凉透 马上、平安普惠、招联、中银消费金融等联手打击

    作者 | 郭可 来源 | 镭射财经(leishecaijing) "百分之百能让放贷的停息停催!全程交给我们来做就行."在消费者和金融机构之间,专业代理投诉组织找到了一条致富的黑产 ...

  4. 看似火热的民宿,实则凉透半边天

    文 |申健 来源 | 潇湘财经(XiaoxiangFin) 2017年开始,<亲爱的客栈>.<青春旅社>等主打生活情怀的慢综艺逐渐兴起,在诗酒田园洗手作羹汤,远离尘世喧嚣的生活 ...

  5. 分布式和微服务_太难了!阿里三面凉透~ Spring+高并发+算法+分布式微服务等等一个都没讲不清...

    以下来自粉丝投稿: 三面大概九十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了(呜呜呜~).回来之后把这些题目做了一个分类并整理出答案(强迫症的我~狂补知识~)分为spring+ ...

  6. 2021春招-滴滴凉经-多益凉经-高途课堂-移动笔试

    滴滴经验: Java面对对象部分掌握不是很牢. 多线程 计算机网络基础知识:TCP/IP协议等协议及工作模式.IPv4.IPv6. 数据库基础知识. 算法太弱.有一个题目动态规划,但是没写出来. 多益 ...

  7. ChatGPT或要推出APP,OpenAI官宣为ChatGPT招募移动端开发工程师

    文 | 兔子酱 OpenAI官方招聘页面放出了英雄帖,他们正在为ChatGPT招聘移动端工程师: 传送门: https://openai.com/careers/mobile-engineering- ...

  8. xp系统什么梗_2019年还用XP是怎样的体验?告诉你XP凉得有多透

    时间不知不觉来到了2019年,而笔者去拜访朋友时惊奇地发现,有人竟然还在用Windows XP!特别是一些不怎么关注消费电子的朋友,多年来用惯XP这系统,似乎就愿意一生一世和它厮守下去. 2019年, ...

  9. 2021年底跨平台技术比较和选型指南(也许是最全的)

    2021年马上就结束了,回看这一年. 年初的时候,跨平台你说是伪需求吧,其实也有用,你说是硬需求吧,其实有点伪. 年末再来总结一下,大项目不缺原生程序员,不需要跨平台,小项目人手不够为了占领多平台才是 ...

  10. 2021年北航计算机学院夏令营面试经历

    2021.7.10 我就不应该参加面试的 刚面试完10分钟,怀着无比平静的心情写下这个博客 1.政治 老师:1-10个政治题,你自己报个数吧. 我:5.(内心OS:不知道选啥选中间) 老师给我念了个十 ...

最新文章

  1. 6、UmbracoNewsSite:添加新闻分类
  2. Linux下uniq筛选
  3. Java关键字this、super使用总结
  4. 国外开源网站网页翻译
  5. anaconda 虚拟环境
  6. Alibaba代码检查工具插件
  7. Debian7虚拟机安装
  8. 【洛谷】P1428 小鱼比可爱
  9. 低频RFID读卡流程
  10. python中argument什么意思_Python中parameters与argument区别
  11. 如何得到满意的好答案
  12. php mysql md5加密_php 用户密码MD5加密存入数据库问题//
  13. 设备中LPC2368芯片个例参数问题导致故障的分析
  14. LeetCode 1658. 将 x 减到 0 的最小操作数
  15. 数据加载、存储与文件格式(python)
  16. unity3d 直接播放mp3
  17. 文本改写和论文查重工具:探狐文案AICopy for Mac中文版
  18. 无菌室设计的基本要求有哪些
  19. Android招聘市场技术要求越来越高,从事三年开发是否应该考虑转行?
  20. vivo与蔡司开启全球影像战略合作;咖世家咖啡与瑞士莲跨界合作快闪店 | 美通企业日报...

热门文章

  1. linux 基础课程讲义,Linux基础讲义.ppt
  2. 超级实用springBoot学习
  3. goahead如何使用cgi服务_GoAhead2.5源代码分析之9-cgi处理句柄(cgi.c)
  4. PLC和变频器通讯方式
  5. 如何用python完成评分功能呢_如何在python中创建一个高效快速的评分系统?
  6. JavaScript基础知识总结(6张思维导图)
  7. 两个点 定位_智造讲堂:RFID定位导航技术
  8. 第四章 维纳滤波原理及自适应算法
  9. 大小写金额转换html,小写金额转为大写金额JS代码怎么写呢?
  10. 2020第三届中青杯问题总结