数据之战:NLP迈向实用阶段的核心所在

2020-03-12 15:40:40 浏览数 (1)

随着人工智能技术越来越多的应用到我们的工作和日常生活中,人们对与计算机交互提出了更高的要求。人们显然已不满足于只是简单的人机对话,而是畅想可以达到人与人交流那样的酣畅淋漓,就像科幻片像人们所展现的那样。

但是人类相互之间的交流不是文字或文字堆砌的句子所能表达的,而是一个微妙且复杂的过程。生活中,我们可以大量的使用语气词来加强你的语气,表达你的愉悦、恼怒或者无聊。而要让计算机真正理解人类日常交流用语,单单了解单词的定义是远远不够的,计算机还要理解人类的七情六欲,甚至潜台词。

NLP实际上就是在极其丰富的人类语言之中和机器语言之间搭建无障碍沟通的桥梁。在新的 AI 技术发展下,越来越需要巨大的数据以支撑不同的场景。

文 | 京 枚

编 | 贾 伟

AI大牛沈向洋最近就职清华演讲中提到:在任何时候,构建AI都离不开数据,如何设计和构建负责任的AI,数据的来源至关重要。

当下NLP的大部分应用场景都缺少足够规模的标注数据,并且标注成本也非常高。因此准确率通常也不会很理想。

那么如何才能以低成本、时效快的高质量数据快速上手 ASR/TTS/NLP 引擎,步入NLP实用阶段呢?

针对这一问题,AI 科技评论有幸与澳鹏(Appen)中国区客户服务副总裁段杨Danny Duan 进行了一场深度对话。Danny 指出 “成品数据库不失为一个明智的选择。”

以下为完整对话内容——

段杨Danny Duan,澳鹏(Appen)中国区客户服务副总裁。曾历任文思海辉总监,助理副总裁,AI数据服务部门负责人。

1

一个成功NLP引擎的关键因素是算法和高质量的数据,算法往往是公开的,差异化更多地来自于精准大量的训练数据,定制的数据采集标注时间长,成本高。

Q:目前在人机交互的人工智能中,声称几乎每个决方案都利用了NLP,怎么理解这句话的涵义?

Danny:人机交互有几个步骤,首先你要让机器听懂你说的是什么,比如智能音箱或者语音助手就是这样一个很典型的情况。你对语音助手说了一句话,它能在计算机内部转换为相对应的文本,因为计算机处理文本信息比较容易,这就是语音识别技术。

转成文本以后,重点就是机器要理解你想要干什么,才能知道该如何去应对。这就是自然语言理解或者或者叫NLP的任务。

比如我对着一个智能音箱说,“帮我打开空调。” 首先,语音识别技术把我说的话转换成文字。然后通过分析文字知道我的目的是要打开空调,这后面一步就是自然语言理解(NLP)的任务。它理解了,知道我要做的是打开空调,于是就操纵空调上的接收器去打开,包括进一步设置到某一个温度。现在基本上各种自然语言理解引擎都是把各种各样的输入信息转换成文本来进行处理、分析、切割,进行语意的提取,包括情绪的提取。可以说这是真正实现人机交互的基础。

当然整个交互的链条上还有一步,就是机器可能会与你对话,这里用到的就是语音合成(TTS)的技术,相当于机器发声。还有一个分支是跟语音交互相关的----语音翻译,这里面就需要再加上一个机器翻译的环节,把人说的话转成文本之后再转化成另外一种目标语言,再去进行NLP的处理和人机对话。

Q:如何来定义一个成功的NLP呢?

Danny:成功的NLP其实从最终用户角度来讲很简单,就是能够像真人一样知道我要说什么,要做什么,能够做出正确的动作或者给出正确的反应。所谓人工智能,它的参照物其实就是人,这里主要指人机交互这个限定的领域。而像AlphaGo下围棋这种人工智能,与我们所说的人机交互是两个不同的方向。人机交互就是以人的行为作为标杆,Siri的语音助手或者百度音箱,对话的时候,如果我不看见你,我是不是能够感觉到你是一个机器,还是说我根本就分辨不出来你是机器还是真人。如果做到分辨不出来,那就说明这个NLP已经做到非常成功了,以假乱真了,当然现在的技术水平还相距甚远。

Q:NLP的难点主要体现在转换的过程,也就是从语音和图像转换成文字这一部分?

Danny:其实真正的难点不在于转换的过程,而在于分析的过程。因为分析文本,并不是说简单地把一些词或者句子的内容识别出来,因为你是要识别意图的。而最麻烦的是,人的意图是发散的。我说“把空调开到26度”,这是一个确定的、有限的集合,作为智能家电也好或者智能音箱也好,相对比较容易应对。但更多的情况下,我说的话是模糊的,有多种可能的含义,而且往往是有上下文的,附加背景知识的,这本身就是一个开放的集合,这种情景下NLP引擎能够做到准确分析正确应对就难度非常大了。

基于以上的原因,所以各个厂家在做NLP引擎或者应用的时候,他们往往都会事先圈定好一些应用场景,比如一些最常见的设闹钟、设日历、客服对常见问题的回答,或者一些常见的搜索内容,点播视频或者找餐馆这些。这样在相对有限的一些场景里面,它才可以对常见的意图进行理解分析和应对。对引擎训练范围之外的内容,它就会说对不起,我没听懂你说什么。

这也是为什么你会发现跟语音助手对话的时候,它经常会说我没听懂,然后把你说的话转成文字,给你一个相当于网上搜索的链接,事实上这就是因为它背后的NLP引擎没有办法处理这一类的内容。

Q:它没有办法甄别像语气这类吧,因为不同的语气,从情绪上面可能意思会截然相反,实际上也就是无法解锁情绪分析?

Danny:语气是情感分析的一部分,这是很重要的一个方面,也可以说是一个难点。如果你试着用不同的语气跟一个语音助手说话,比如用一个反问句,它很可能会给你一个错误的对答。

目前也不是说没办法。一方面,需要用大量的数据进行训练来覆盖各种各样的场景,包括类似的内容不同的语气,不同的上下文所代表的不同含义;另一方面,做任何事情都有不同阶段,首先要把最基本的阶段夯实,然后才能再逐步叠加各种复杂的维度。比如正常对话的语气,正常语速,没有特别明显的环境噪音,也没有很多人同时在说话,也都是非常普通的内容,这种最基础的、最常规的场景先要先训练好,才能逐步追求更高复杂度的。

Q:目前NLP基本上还是处在一个比较常规和基础的上面,远没达到对复杂维度的处理层面?

Danny:可以这样说,就是在常规的程度上,觉得可以用,但离实际应用场景中的“好用”相对还比较远。但是各厂家的做法不一样。对百度、微软、Google和Apple这种头部大厂商来说,他们更多着眼于通用场景,而其他一些厂商则主要聚焦某些特定场景,比如在开车的时候人机交互的场景;在医院里跟医生、病人对话的场景;或者客服的场景,通过缩减它的使用范围,在有限的投入之内用有限的数据,这样比较容易训练出一个可用的NLP引擎。

因为自然语言处理不仅仅是机械的去识别声波,它实际上是非常模糊的去识别、去判断人跟你交流的意图,这个复杂度确实非常高,一旦出错,很可能理解成相反的东西,甚至造成灾难性的后果。

Q:算法对NLP是第一位的吗?

Danny:做任何人工智能的技术或者产品的研发,其实都需要三样东西,算法、算力和数据。算力本身就是一个支持性的东西。对于NLP而言,算法的理论突破是隔一段时间才会出现,而且现在行业内算法的研究普遍是开源性质的,各家的区别不大。所以真正核心的是数据。

而数据本身是千变万化的。比如把NLP和语音识别相对比,关于中文的语音识别,中国字的量,包括各种各样的口音,这些都是有限的。但是说话的内容和所表达的意图却是无限的,而且会有层出不穷的新内容出现。比如像新冠肺炎这种,如果引擎到今年不更新,它可能就识别不了。因此这些AI公司,就需要大量的数据去训练,并且持续训练他们的模型。

2

数据库的优点很明显:第一,成本低;第二,时效快。成品数据库可极大提升以机器学习作为核心技术的创业公司的竞争力。

Q:现在一些厂家如澳鹏都提供一些成品数据库,怎么看待数据库对NLP引擎的作用?

Danny:数据有不同的来源,你可以花钱去采集,比如花钱请一个人录一小时的音,也可以找一些公开的数据,比如演讲视频或者是有声读物,网站上的文字图片等等。还有像语音助手、智能音箱、语音输入法这些APP,如果经过用户的授权,在你用这些APP时就已经把真实的用户数据提供给开发APP的厂商了。

但这些都各有优缺点,用户数据是免费的但不可控。如果你需要一些特定的数据,你就有可能找不到你需要的数据。当然你也可以花钱去定向采集,但钱花多了能否承受,如果去找公开的数据,能找到多少是多少,又不具有系统性和针对性。

数据库有什么存在的价值呢?第一,它是现成的,拿来就能用,而如果采集一个一千人说话的数据再进行标注,你可能需要两个月到三个月,在当今的互联网时代,一个产品周期都过去了。第二,数据库成本低,因为这不是为某一个人的特定需求去定向采集的,做好了可以反复的卖,每次卖的时候,价格就可放低,在资金有限的情况下是非常重要的因素。

但是它不好的地方呢?它已经是现成的,所以不能改,它不是针对你的某一个具体的应用而特意优化的,所以数据库是有很确定的使用场景,比如开发一个自然语言理解的引擎,或者语音识别的引擎,在早期阶段用数据库是一个非常好的方式,但是到后期针对你的应用场景再调试的时候就需要去补充其他定制的数据。

所以一直以来很多做人工智能的企业,都非常愿意去买数据库。他们开发一个早期的引擎,就是希望以低成本和很短的时间快速上手进入市场。这对当下中国市场来说尤为重要,因为中国市场的迭代速度比欧美要快的多,可以说时间就是生命。

所以说在国内,像澳鹏这种成品数据库,拿来就能用的,确实非常受欢迎。

3

成品数据库不仅对初创公司尤为重要,像Google、Facebook等这样的巨头对其需求也始终很旺盛。

Q:数据库对一些创业型公司非常适用,但对Google等这样的头部厂商呢?

Danny:事实上,这些大企业他们的需求可能还会更多。一方面他们会把同样的引擎推向不同的应用场景,另一方面会推向不同国家的市场, 这样就会不断地重复从基础到定向开发的循环。

比如去年的一个美国英语双人对话的数据库,中国的客户和美国的客户都有大量需求,绝大部分还都是很有名的大公司,为什么呢?因为他们进入到了一个新的阶段,比如单人说话的识别引擎差不多了,要拓展到能够识别两个人对话,多人对话,甚至多人开会,一个人说话这样的语音素材显然不够了,而是需要双人对话的语音素材,那么就相当于从一个较低的起点再开始,这正是数据库最适用的地方。

而另一个非常明显的趋势是目前中国这些领先的企业在拓展海外市场时,对中文以外的海外语言和外国人图像的数据库的需求也越来越旺盛。

Q:成品数据库里面都是一些标注好的数据吗,还是已经训练好的数据?

Danny:数据又可以分为训练数据和测试数据,数据库都属于训练数据。比如一个西班牙语500小时的语音识别数据库,它最主体的内容就是500小时的可能是500个人或者800个人每个人说很多句话的录音音频。但是光有这些录音往往还是不够的,还要对这些数据进行一些加工,比如说要做转写,提供相对应的文字文本,要让计算机知道每一条音频文件里面的波形图对应的是什么文本内容,这样才能进行引擎训练。

做语音识别引擎的训练,比如一条音频10秒钟长,不仅要识别出来说的话,凡是这一段音频里面出现的声音都要能够辨别,比如开门的声音,打喷嚏的声音,小孩在哭的声音,放音乐的声音,或者旁边有汽车经过的声音,都要能够识别出来这是有用的声音内容还是无用的干扰声,所以语音转写它还包括区分各种各样类型的声音。

还有一些相对比较复杂的处理,比如它还会包括时间戳,尤其是在双人或者多人对话的情况下,每个人说话的起始位置和结束位置,包括说话人的区分。很多时候还会要附带相应的发音词典。整个语音数据库,比如这500小时的音频里面可能出现了3700个不同的单词,每一个单词它按照语言学领域标准的音标表,都要把出现过的发音给标出来。

一般这样就算是一个相对完整的语音数据库,把这样一套基本素材提供给客户,让他将这个数据集灌到模型里面去训练,参照对应的文本,时间戳,发音词典,就可以做出有一定识别能力的一个引擎。而发音词典又可以独立出来,因为单词的发音是比较固定的。所以澳鹏又有很多专门的发音词典库,近百种语言,每个语言少则几千条词条,多则几十万条词条。

Q:目前国内这些NLP在海外覆盖的多,还是中文的多?

Danny:当然国内肯定都是立足于中文普通话和方言市场,但是国内市场现在已经竞争白日化了,国外这些行业里的巨头也在试图分一杯羹,因此国内的头部企业也要寻求增长点,越来越多的是把目光投向海外市场上。比如像阿里、华为、OV、小米、科大讯飞,字节跳动这些公司这两年海外拓展力度都很大。

可以说,大家眼光一边盯着海外市场布局,一边继续在国内市场深耕以坚守自己的大本营。

4

成本低、时效快的成品数据库对ASR/TTS/NLP引擎开发事半功倍。

Q:ASR/TTS 在难度上有差别么?为什么说更适合用数据库?

Danny:其实它们是不同的应用类型,ASR就是一个语音识别。通俗说,就是把人说的内容转换成对应的文字。比如微信语音可以直接转换成文字,这就是一个直观的ASR应用。TTS(Text to Speech),就是文本到语音,在业界的一个说法就是合成语音,也就是让机器说话。TTS实际上它是反过来的,先给机器提供文本,机器对照着这个文本,相当于念稿子一样的,机器能够发出对应的音来,当然TTS合成语音的做法又跟语音识别的做法不太一样,不仅训练方式不一样,而且它所需要的数据也不一样。

相对而言,TTS的技术是比较容易的,而且也是目前最成熟的。如果从头去采集做TTS引擎的数据,即使只是10个小时的音频数据,再加上韵律标注和发音词典的制作,两三个月都不一定做得完,成本会相当高,这还只是数据准备的阶段。如果是采购成品数据库,拿到数据以后两个星期就可以完成所有数据准备和引擎开发的过程,做出一个可用的TTS引擎来,这就是数据库的好处。

再比如一个500小时的西班牙语的ASR语言数据集,如果全部从头做,跟买数据库相比成本上至少要差到一倍以上,时间上来讲连音频的采集带加工,附加对应文字的转写和发音词典,最少需要两至三个月。但如果是购买数据库,今天签合同,明天就可以传过去了。

Q:后续是否需要提供更适合需求为具体场景而定制的数据来替代成品数据库?

Danny:不完全是这样,市场上一直既有成品数据库的大量需求,也有大量需求需要定制,二者并不矛盾。任何场景都需要从基础起步,而这个阶段就是成品数据库最能发挥优势的阶段。以前人工智能技术开发所关注的场景比较少,对数据库需求的种类也少,随着场景的多元化,数据库的需求也随之增大,只是对数据内容和精度的要求持续在变化。我们的判断就是某一类需求仅仅是一个一次性的需求,还是说可能会有一些普遍的需求,对于可能会产生重复需求的,我们就可以把它制作成一个数据库。比如婴幼儿啼哭的数据,很可能做智能家居的厂家在产品研发的某一个阶段就会用到,我们认为就值得去做成一个数据库。

Q:最后,澳鹏目前也在做成品数据库,你能介绍一下你们产品的特色?

Danny: 我们根据市场上头部公司和创业公司的需求趋势,及20多年行业经验的累积,可以为我们的客户提供丰富的成品数据库来加快其AI产品的开发及迭代 。

  • 语音识别库(ASR)64种语言, 21,000小时
  • 合成语音库(TTS)3种语言4种音色
  • 发音词典98种语言,460万词条
  • 词性词典21种语言,190万词条
  • 命名实体库(NER)8种语言
  • 词形分析器3种语言
  • 黑人面部图片1000人13万张
  • 中国人带口罩面部图片1000人7000张
  • OCR图片泰语、芬兰语、中文各5000张
  • 婴儿啼哭音频数据300人300分钟
  • 家猫表情动作视频1000只

除了这里列出的数据库以外,我们还在持续制作新的数据库来满足市场需求,也非常欢迎战斗在AI技术一线的同行们向我们提出数据库的期望。

0 人点赞