追一科技杨雪峰:NLP 与知识图谱的结合将成为重要发展趋势

在 2016 年初,很多科技行业的人都相信“聊天机器人”(基于文本的虚拟助理)将成为下一个大平台,与此同时,几乎没有人能够预料到像 Amazon 的 Alexa 和 Google 智能助理这样的语音助手能够日新月著的发展。
对话机器人尚处在发展的初级阶段,一种名为 RPA 的解决方案突然崛起,有人认为它是 NLP 发展过程中的“缓冲方案”,也有人认为它与 AI 毫无关联。
机器来做“阅读理解”为什么如此困难?跟语音对话机器人相比,文本对话机器人到底有什么差距?RPA 到底能否成为 NLP 发展过程中的短暂替代方案?为了解决这些问题,AI 前线在 Arch Summit 全球架构师峰会(深圳站)的现场采访到了来自追一科技的高级研究员杨雪峰。作为钻研 NLP 领域多年的专家,他不仅从专业的角度解答了上述问题,还分享了自己对对话机器人的发展前景的一些见解。

语音机器人是文本机器人的简单升级吗?

InfoQ:同样是对话机器人,基于语音和基于文本的机器人在研发的技术流程上有何差异?分别有哪些难点?

杨雪峰:原来的研发体系会大概是这样的流程:将语音通过 ASR(Automatic Speech Recognition,自动语音识别)转成文本之后,再进行语义的意图识别以及文字处理之后,再通过 TTS(text-to-text,语音合成)或者其他方式生成语音。但是,我们通过实践发现,这样的流程会造成很大的错误积累。
当语音本身有错误,文本机器人的理解就会有问题;文本机器人有问题,生成的回答就会有问题,于是错误累计会造成很大的影响,而且往往用户提问的时候是多轮对话,造成的问题会更大。另外,虽然我们对于文本机器人积累了经验,但是当人们进行语音沟通的时候,对话行为模式会有所改变,比如用户打字的时候,会经过思考、会修改,但实际上,人打的速度会低于生成语言的速度,所以文本机器人的对话是有一定的质量保证的。
但是在语音对话之中,用户经常会思考,会有类似“嗯,啊”这样的口头语。同时,语音对话还会遇到噪音大的问题,可能用户说了十句话,但其核心表达的意思,只相当于在文本机器人里说的一两句话。
所以,用户行为模式的改变、场景模式的改变,对于文本机器人的输入带来了很大的变化,也直接导致解决方案会有很大的变化。如果真正想把对话机器人做好,往往需要专门针对对话机器人的文本数据标注,而且这个文本数据可能来自于真实的对话,一般来说,是很难用传统的文本标注的直接与对话机器人共用数据。
所以我们认为,针对语音的对话机器人,还是要有自己的一套数据积累。但即使有这样的积累,它还是会有错误。如果说有专门针对语言对话机器人的全套数据,情况可能会好一些,在有些业务场景上效果也会好一些。但相比业务场景的复杂性,真实的情况仍然比我们理想的要难。

InfoQ:在 Facebook 发生关闭智能助理 M 的事件后,您如何看到对话机器人的发展前景?目前这一领域还存在怎样的短板?

杨雪峰:我个人觉得 CUI(Conversational User Interface,会话用户界面)是一个必然趋势,但是,它到底什么时候到来,以及什么时候去到来,最终在哪一种终端形式上先去用起来,是在一个像 Facebook 这种软件终端当中去推动,还是说放在手机里面供用户使用,我觉得目前还是不太确定。

Facebook 花费如此多的精力去推进,之后又突然关停这个项目,我觉得这是 Facebook 一家的行为, 是整个行业内的一个特例
,并不代表整个行业都觉得 CUI 很遥远。现在我了解到,很多手机厂商都有自己的团队,在做自己的智能助手,可见这个事情是大家都认同的。至于到底能达到怎样的效果、未来会配置在哪些垂直领域、是分别垂直攻破再联合还是能找到新的技术来迭代,或者找到可复制的方法,这都需要全行业一起努力探索。
至于对话机器人领域目前是否存在短板或者瓶颈,我是这样认为的:现在其实行业已经把需求做的越来越细分了,比如从功能角度,或者从领域角度,都已经有公司往细分领域做了。我觉得短板主要来自头部,特别是在客服场景。
FAQ 已经是一个很成熟的解决方案了,在技术上它也已经实现了突破,甚至可以说,在 FAQ 领域,人工智能已经解放了大量的客服。但是如果想把准确率从 85% 提升到 90%、95%,这个过程中必然会有很多细节的难题,可能复杂十倍的技术只能解决 10% 的问题,我认为对话机器人现在是处于这样一个阶段。
虽然方方面面都会遇到难点,但是不代表没有继续的意义。也许我们突破这些东西之后,就能跳出客服这个场景,去解锁更多的场景。

InfoQ:智能语音助手已经走向了 C 端市场,并以各种不同的形式出现在了人们的生活中,而基于文本的对话式机器人似乎主要用在了 B 端,能否请您分享下目前在这两个市场中对话式机器人的采用情况如何?

杨雪峰:核心的区别是这样:TO C 的 AI 产品,比如对话机器人,用户是完全无感知的,你要去做好一切的准备工作。数据、专业知识、业务场景、模型等等,整个机器人的运营都要你一家公司去掌握。
但是 TO B 的产品,提供的是一个平台,是一篮子工具,B 端的客户用我们的工具打造出了一套服务,结合他的业务知识、具体的场景建立起服务体系之后,再去服务它的用户。
我们的客户主要是 AI 服务领域的伙伴,大家各司其职,共同为用户提供了对话机器人这样的服务。但是其中还是会有些欠缺,需要一些人力去协作,我们尽量降低它的门槛,让一个不需要专业 AI 知识的人,或者说简短的培训就能使用的人,把这个机器人运营维护起来,让机器人自己去闭环的更新迭代。
我们交给客户这样一个产品之后,客户只要能按照我们会告诉他标注数据的质量进行训练,所有后续的服务上线都是一键式的。上线之后,我们还会告诉客户目前运行的情况;如果客户想迭代更新,就可以添加一些类别之后再去标注数据,客户自己就可以完成训练与提升。

RPA 是合适的“缓冲方案”吗?

对话式机器人的热潮尚未褪去,机器人流程自动化(RPA)的热浪又掀了起来。而这波浪潮也首先在对话式机器人相关的企业中开始。

InfoQ:在一部分人看来,RPA 虽然算不上彻底的 AI,但也能在一定程度上解决问题,一些对话机器人能做到的自动化流程,RPA 也可以做到。您如何看待 RPA 与对话机器人之间的差别?(可以重点从技术方面来谈谈)

杨雪峰:先来简单说一下我对 RPA 的理解。
就我目前的了解,一切企业引入 RPA 主要用在这样的场景里:比如办公流程里经常要填表,或者把多个系统之间的填表流程打通,进行一个自动化处理。原来在系统里需要填表、打印、录入另一个系统、再填信息等等一些重复性高的流程,可以通过 RPA 进行自动化。
我们确实也调研过,RPA 在有些场景的处理上,会应用到 AI 的一些技术。那么到底是流程重还是 AI 重?我们对这个问题的看法比较保守。不过我们已经与一些 RPA 厂商进行了合作,追一科技目前对 RPA 的态度是:如果有厂商愿意在自动化 +AI 方面进行探索,我们愿意与他们共同打造智能化的软件流程工具。

InfoQ:RPA 可以做到流程的自动化,那它跟对话机器人之间有什么关联吗?

杨雪峰:如果从很下沉的角度去看: RPA 用到的技术无非都是来自 NLP
,因为大部分工作处理的可能都是文本,当然也有少量包含图片,但唯一大量的可能是处理文本方面的工作。所以 RPA 底层的技术,与对话机器人肯定是有共通的,也就是说做对话机器人的公司,积累在底层这些东西,如果想去给 RPA 公司厂商赋能 AI 是可行的。但是,对话机器人里高层的应用,或者积累的一些经验想去用在 RPA 上,我觉得可行性不是很大。

举例来说,如何进行信息抽取、分类等等基础技术,可能也会在 RPA 领域用到,比如:对话机器人会需要识别问题里面的实体,通过抽取出实体、判断等一系列流程完成操作,RPA 也一样,比如识别文档里是否有人名、产品名,也要对文本进行抽取、判断等等。 但是 RPA 不可能是一个很终端应用的方案,它一定是附属在某一些产品上,它更像是个产品上的功能

InfoQ:没有 AI 赋能之前的 RPA 是基于什么发展的,可能是一些规则吗?

杨雪峰:按我的理解,之前的 RPA 主要是通过一些程序上的一些操作,来实现流程的自动化,比如模拟人点击鼠标等等之类的动作,相当于录好一套流程,系统再来模仿。但是我不确定目前是否有更新的一些技术,比如基于图像的方案等等,也许可以做到更自动化。
举个例子,比如说我想从网站上关注或者导出某些资料,只要知道导出键在哪里,程序就可以固定在每天的某个时候点击一下保存,之后输入要保存的目录,就能自动完成这样的流程。如果要更自动化一点,比如下载资料的网站修改了它的界面,导出键改了位置,系统能不能同步去适配这个按纽的位置,这是很难的。

InfoQ:RPA 是不是可以作为整个自然语言发展过程中一个阶段性的解决方案或者产品?

杨雪峰: 我个人感觉 RPA 的诞生是
由于软件本身功能的一些缺失,以及不同软件之间的 API 没有打通 等情况催生出来的。传统办公软件都比较封闭,如果说后续软件厂商愿意提供 API,程序可能很简单的就能实现自动化,甚至可能用不到太深的 AI 技术,大部分事情就解决了,只不过重点可能就会放在流程上来了。但是这样的技术能否实现以及到底需要多长时间来实现,我也不能确定。
同时,我觉得 RPA 并不会是 NLP 技术发展上的一个很主流的方向,它可能是某一个小分支,也确确实实会有一些需求和应用。但是它可能并不像对话系统这样,是主流大力去推进的一个发展方向。

对话机器人的未来

InfoQ:能否请您谈谈:您观察到的对话机器人领域近些年来在技术上的一些突破,或者转折性的变革有哪些?这些变化对这一领域来说有什么意义?

杨雪峰:纯粹从对话这个角度说有哪些技术突破其实有些局限,整个语言智能方向近一两年还是有一些大的突破,我甚至认为这些突破不亚于图像识别领域达到人类识别水平的这种突破。
比如一些预训练方案已经颠覆了传统 NLP 训练里很长 pipeline(流水线),甚至一个 Model 就可以解决多个子任务,真正达到了大一统的趋势。在对话领域,针对分类聚类、抽取生成等等流程,这些预训练模型也都做了有针对性的提升。这些模型虽然不是专门为了解决对话而生的,但由于是针对整个领域的提升,所以也带动着对话领域在提升。
我觉得对话领域本身的一些提升,都不足以跟大趋势相提并论,现在实际上很多对话领域的数据集也都是被这样的预训练方案霸榜,大趋势的进步已经掩盖了小方向上的进步。

InfoQ:在上述技术突破中,有哪些技术是应用在您的工作或者项目中的?能否谈谈这些突破带来的改变或者效果是怎样的?

杨雪峰:我们真实的产品中也会用到一些上述的预训练模型,但是这其中还会存在一些问题。比如现在的模型越做越大,以前可能千万级的模型就算比较大了,现在一个 BERT base 可能就有一亿的参数,大一点的可能会有三亿的参数。一般训练使用的显卡可能把这些模型装起来之后,batch size(一个 batch 中的样本总数)就很小了,整套模型跑下来就更加吃力。
所以,我们现在不光是要训练更好的 Model,也会去尝试压缩它,或者说去加速,这些都是我们进行研究的方向,也就说怎么能把它用的更好。作为一个中小型创业公司,我们并不是要把全部力气都花在怎么能去超过大厂上,或者不计成本的一定要超越某些公司。相反的,我们认同大厂做出来的这些东西,但是目前我们更注重怎么用好这些东西。
在实际的应用中,比如在分类任务上,这些预训练模型对我们的任务应该有平均百分之两至三个点的提升,特别是对于一些客户数据相对来说比较少的情况;如果说客户数据非常充足,业务也已经非常成熟,可能变化并不是很大,因为之前它的数据量已经很大了。
但是平均下来,一些场景中使用 BERT 和不使用 BERT 的差距是非常大,甚至五、六个点的提升都是有可能的。

InfoQ:BERT 与 GPT 2.0 等预训练模型对算力的消耗都很大,请问您怎么看待 NLP 领域算力跟算法之间的关系?

杨雪峰:目前真的是“大力出奇迹”,我个人对这些模型还是挺敏感的。GPT 刚刚出现的时候,我们就一直在紧跟,并尝试复现中文版,当时我们自己复现的版本在研究领域以及业务产品上都取得了一定的领先。
但是到 BERT、GPT 2.0 出现的时候,我们发现它的算力真的是超出了我们目前的能力,只能用一些其他取巧的方法复现,甚至等待更长的时间都难以去达到同样的效果。我也跟其他同行,以及来自不同的技术大厂的研究员或者做这方面的工作算法工程师去沟通过,他们其实也很难轻易的去复制出这些模型能够达到的结果,但是经过他们后续的努力,很多人也都在自己的业务领域上得到了比较好的结果。
我觉得算力的问题目前真的是没办法去避免,甚至我觉得很可能未来对算力的需求还会更大,虽然现在大家觉得已经很大了,但是实际上如果有足够的算力,还可以实现更多的想法,并且做进一步的尝试。
不过要说明的是,这些模型在训练的时候需要的算力很大,并不代表使用者在用的时候需要同等量级的算力。
在我们自己的服务系统里就有针对 BERT 的优化方案,比如原来 Server 一条数据需要三百毫秒,现在可以做到三四十毫秒,这样既满足了我们的业务需求,又能达到高并发。另外,我们现在也在研究如何去压缩模型,纯粹是从研究的角度来做,通过蒸馏等等各种方式去减少它的参数,同时尽量保证各方面效果。

InfoQ:业内有句名言:解决了 NLP 问题,就解决了 AI 领域 80% 的问题,在您看来,目前 NLP 的发展是否遇到了瓶颈?

杨雪峰:我觉得现在刚刚突破了一些之前大家遇到的瓶颈。之前可能每个领域都有一些特定的模型与方案,很多模型也结论也不能相互去印证,整体处于很离散的状态,自从有了 BERT、GPT 2.0 等等预训练方案之后,行业内空前一致的表达了对这些方案的认同,没有人不认同现在这些是好的方案。

那么还有什么瓶颈呢?我觉得可能还是多语言语料库缺乏的问题。从行业整体来说,英语的训练效果领先于中文,中文又领先于很多其他的小语种,现在中国的 AI 已经做得相对来说比较优质,但是有些国家可能根本就不会有 AI 方面的研究与产品。这个时候,就需要 AI 能力强大的国家或者企业进行输出。但问题又来了,其他国家不可能给你准备好了各种材料,只需要把你的技术拿来就能实现功能或产品,这种情况下,我们还是要解决: 如果没有那么丰富的语料库,怎么去解决跨语种方面的这些问题?

还有,我觉得 NLP 和知识图谱的结合
也是未来很大的一个发展趋势。语言是人工智能皇冠上的明珠,但所有知识都用自然语言表达是不且实际的想法,知识需要更压缩、更精炼的、更结构化的表达,那么怎么去把结构化和非结构化的东西进行结合,这绝对是未来极大的突破,但同时它有可能是很长久的事情。

InfoQ:现状 NLP 跟知识图谱的结合有没有一些比较有潜力的方向或者成果?

杨雪峰:现在有很多基于自然语言的问答知识图谱,在这个知识图谱构建的过程中,会用很多 NLP 的工具,相互嵌入、相辅相成。虽然知识图谱并不是我主攻的方向,但是我本人在博士学习的阶段也有一些涉猎,近一年大概转型认识到这个东西是非常重要,而且它在工业落地方面有很实际的需求,有很多的结构化数据是现成的,反而技术的应用有些落后于数据的准备。所以我觉得这是未来的一个重要趋势。

InfoQ:您对于对话机器人的未来抱有哪些期待?

杨雪峰:我觉得智能对话机器人,目前在智能客服市场肯定是取得了成功的,任何一个厂商都会认同这一结论。那么如何能跳出客服的场景,再切入到另一个场景,我觉得是目前大家都在共同去探索的方向,等到有新的场景时候,也需要伴随着一些新技术的突破。
比如个人语音助手、智能音箱都在向 CUI 的标准去靠拢,我认可这一发展的方向,但是具体什么时候才能实现,目前并不是很明确。即使真的到来了,到底是技术得到了突破,还是说产品的形式改变了人们的习惯,这也是不太明朗的。
假设现在的产品都已经通过物联网连在一起了,实际上当用户去使用的时候,都是对自己的一次教育,当用户对功能的设置熟悉之后,就不会随意的去用它。比如播放音乐,并不是用户通过各种复杂的方式下指令,反而是由音箱覆盖了几种常见的指令方式,让用户习惯通过这种方式来播放音乐。在这个过程中,对语言的处理其实并没有那么困难,只要用户是成熟的,这项功能很快就能推进。
有人说:目前在智能音箱领域,很多厂商已经提前占好了位置,但近几年似乎看不到太大的突破,我觉得这种现象是正常的。这些厂商其实都在等待,互联网厂商的意识是超前的,既然认可这个领域的发展前景,就一定会先占位置,当有了新的想法或产品,就可以直接接入,甚至他们会主动去推动发展,系统也好,芯片也好,都可以由厂商提供,他们唯一的要求就是互联。连接之后,厂商就相当于有了一切的入口,可能并不是完全依赖语言操作,但只要能实现功能,语言方面简单一些也是可接受的。
虽然目前仍然有用户吐槽智能音箱或者智能助理不好用,下指令听不懂,我觉得如果用户的体验不好, 很可能只是某个厂商的技术与产品不够达标, 并不是 NLP 技术本身的发展还有很大限制。至于近场、远场、噪音、音质等等方面的问题,可能跟硬件配置相关性更大一些。

采访嘉宾简介

杨雪峰,追一科技高级研究员。新加坡南洋理工大学博士,主要研究方向为文本的向量化表达,语义匹配,阅读理解,信息抽取,对话系统。在智能客服,金融科技等领域的 AI 技术落地有多年经验,现在追一科技主要从事前沿技术探索与实践工作,主导阅读理解技术相关产品。深圳市海归高层次人才,CMRC2018 阅读理解比赛冠军。