一文看懂自然语言处理
网络上有海量的文本信息,想要处理这些非结构化的数据就需要利用NLP技术。
本文将介绍NLP的基本概念,2大任务,4个典型应用和6个实践步骤。
NLP为什么重要?“语言理解是人工智能领域皇冠上的明珠”
比尔·盖茨
在人工智能出现之前,机器智能处理结构化的数据(例如Excel里的数据)。但是网络中大部分的数据都是非结构化的,例如:文章、图片、音频、视频…
在非结构数据中,文本的数量是最多的,他虽然没有图片和视频占用的空间大,但是他的信息量是最大的。
为了能够分析和利用这些文本信息,我们就需要利用NLP技术,让机器理解这些文本信息,并加以利用。
什么是自然语言处理–NLP每种动物都有自己的语言,机器也是!
自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。
人类通过语言来交流,狗通过汪汪叫来交流。机器也有自己的交流方式,那就是数字信息。
不同的语言之间是无法沟通的,比如说人类就无法听懂狗叫,甚至不同语言的人类之间都无法直接交流,需要翻译才能交流。
而计算机更是如此,为了让计算机之间互相交流,人们让所有计算机都遵守一些规则,计算机的这些规则就是计算机之间的语言。
既然不同人类语言之间可以有翻译,那么人类和机器之间是否可以通过“翻译”的方式来直接交流呢?
NLP就是人类和机器之间沟通的桥梁!
为什么是“自然语言”处理?
自然语言就是大家平时在生活中常用的表达方式,大家平时说的「讲人话」就是这个意思。
自然语言:我背有点驼(非自然语言:我的背部呈弯曲状)
自然语言:宝宝的经纪人睡了宝宝的宝宝(微博上这种段子一大把)
NLP的2大核心任务NLP有2个核心的任务:
自然语言理解–NLU|NLI自然语言生成–NLG自然语言理解–NLU|NLI
自然语言理解就是希望机器像人一样,具备正常人的语言理解能力,由于自然语言在理解上有很多难点(下面详细说明),所以NLU是至今还远不如人类的表现。
自然语言理解的5个难点:
语言的多样性语言的歧义性语言的鲁棒性语言的知识依赖语言的上下文想要深入了解NLU,可以看看这篇文章《一文看懂自然语言理解-NLU(基本概念+实际应用+3种实现方式)》
自然语言生成–NLG
NLG是为了跨越人类和机器之间的沟通鸿沟,将非语言格式的数据转换成人类可以理解的语言格式,如文章、报告等。
NLG的6个步骤:
内容确定–ContentDetermination文本结构–TextStructuring句子聚合–SentenceAggregation语法化–Lexicalisation参考表达式生成–ReferringExpressionGeneration|REG语言实现–LinguisticRealisation想要深入了解NLG,可以看看这篇文章《一文看懂自然语言生成-NLG(6个实现步骤+3个典型应用)》
NLP的5个难点语言是没有规律的,或者说规律是错综复杂的。语言是可以自由组合的,可以组合复杂的语言表达。语言是一个开放集合,我们可以任意的发明创造一些新的表达方式。语言需要联系到实践知识,有一定的知识依赖。语言的使用要基于环境和上下文。NLP的4个典型应用情感分析
互联网上有大量的文本信息,这些信息想要表达的内容是五花八门的,但是他们抒发的情感是一致的:正面/积极的–负面/消极的。
通过情感分析,可以快速了解用户的舆情情况。
聊天机器人
过去只有Siri、小冰这些机器人,大家使用的动力并不强,只是当做一个娱乐的方式。但是最近几年智能音箱的快速发展让大家感受到了聊天机器人的价值。
而且未来随着智能家居,智能汽车的发展,聊天机器人会有更大的使用价值。
语音识别
语音识别已经成为了全民级的引用,微信里可以语音转文字,汽车中使用导航可以直接说目的地,老年人使用输入法也可以直接语音而不用学习拼音…
机器翻译
目前的机器翻译准确率已经很高了,大家使用Google翻译完全可以看懂文章的大意。传统的人肉翻译未来很可能会失业。
NLP的2种途径、3个核心步骤NLP可以使用传统的机器学习方法来处理,也可以使用深度学习的方法来处理。2种不同的途径也对应着不同的处理步骤。详情如下:
方式1:传统机器学习的NLP流程
语料预处理中文语料预处理4个步骤(下文详解)英文语料预处理的6个步骤(下文详解)特征工程特征提取特征选择选择分类器方式2:深度学习的NLP流程
语料预处理中文语料预处理4个步骤(下文详解)英文语料预处理的6个步骤(下文详解)设计模型模型训练英文NLP语料预处理的6个步骤分词–Tokenization词干提取–Stemming词形还原–Lemmatization词性标注–PartsofSpeech命名实体识别–NER分块–Chunking中文NLP语料预处理的4个步骤中文分词–ChineseWordSegmentation词性标注–PartsofSpeech命名实体识别–NER去除停用词总结自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。
NLP的2个核心任务:
自然语言理解–NLU自然语言生成–NLGNLP的5个难点:
语言是没有规律的,或者说规律是错综复杂的。语言是可以自由组合的,可以组合复杂的语言表达。语言是一个开放集合,我们可以任意的发明创造一些新的表达方式。语言需要联系到实践知识,有一定的知识依赖。语言的使用要基于环境和上下文。NLP的4个典型应用:
情感分析聊天机器人语音识别机器翻译NLP的6个实现步骤:
分词-tokenization次干提取-stemming词形还原-lemmatization词性标注-postags命名实体识别-ner分块-chunking往期精彩文章回顾:
PyTorch手把手搭建神经网络(MNIST)
神经网络的自我修养——神经网络结构搜索NAS简述
(Python教程)什么是机器学习、人工智能、深度学习,三者又是什么关系?
总结:
我整理了一份关于pytorch、python基础,图像处理opencv自然语言处理、机器学习、数学基础等资源库,想学习人工智能或者转行到高薪资行业的,大学生都非常实用,无任何套路免费提供,,加我Q群【856833272 】也可以领取的内部资源,人工智能题库,大厂面试题学习大纲自学课程大纲还有200G人工智能资料大礼包免费送哦~扫码加V免费领取资料.
四、自然语言处理的主要挑战
二十、Eclat算法介绍777---:代码其实不是eclat算法,两个以上的货物都要用两个货物交集运算得来,而不是在代码中用combinations暴力组合,大量数据就跑不动了
四、自然语言处理的主要挑战普通网友:这学期也在自学人工智能,看了您的博文感觉很不错,可以加您VX交流吗感谢博主
二十八、电力窃漏电案例模型构建m0_58512240:作者你的数据还有吗
八、朴素贝叶斯中文分类实战_错错错:好文,欢迎大佬回访指导呀,一起学习
二十三、聚类算法向彪-blockchain:大佬,看了你的文章,内心的仰慕之情油然而生,赶紧给大佬点个赞!
自然语言处理的技术难点与挑战
前言借助移动互联网技术、机器学习领域深度学习技术的发展,以及大数据语料的积累,自然语言处理技术发生了突飞猛进的变化。越来越多的科技巨头开始看到了这块潜在的“大蛋糕”中蕴藏的价值,通过招兵买马、合作、并购的方式、拓展自己在自然语言处理研究领域的业务范围,进一步提升自然语言处理在整个公司中的主导地位。与此同时,也不断有新兴的科技公司涌现,提出自己的在智能交互、语音识别、机器翻译等方面的解决方案,试图在自然语言处理这片广阔的蓝海上划分自己的领土、树立自己的标杆。
人工智能已经是大部分普通人都耳熟能详的词汇,而人们对自然语言处理技术的了解程度却大部分还停留在表面阶段。本文通过回顾自然语言处理的发展历史,解读2015年整个自然语言处理行业的重大变化,进而提出新的时代下自然语言处理技术的发展瓶颈、以及对于自然语言处理所提出的挑战、自然语言处理未来的发展方向。
一、追本溯源——自然语言处理技术发展历程自人工智能在1956年达特茅斯会议上首次提出,让机器完成更多的智力工作成为科学家努力的方向。其中一个重要的目标就是希望机器能够与人类进行更加自然高效的交流,希望机器读懂人类深奥的语言,同时以一种我们习惯的方式进行交互,而解决这个问题的关键技术就是自然语言处理。
尤其是近20年来,随着互联网的发展引发了对这一技术的强劲需求,这一技术在得到长足发展的同时,也在有力地促进互联网核心能力的增强。比如,目前互联网提供的一个基础性能力是信息检索。人们在搜索引擎中输入关键词,就可以获得相关信息。在20年前,互联网刚开始发展的初期,给搜索引擎输入“和服”,返回的结果中很可能包含不少生产、销售“鞋子和服装”的公司的信息。现在这种错误已经比较少了,而促进其质量不断提升的一个核心就是采用了不断改进的自然语言理解技术。“互联网”自然语言理解已经成为互联网发展的一个共识,并在不断深化。
最近几年,众多科技巨头正在这方面进行布局。2013年谷歌以超过3000万美元收购了新闻阅读应用开发商Wavii。Wavii擅长自然语言处理技术,可以通过扫描互联网发现新闻,并给出一句话摘要;微软将自然语言处理技术应用在了智能助手小冰、Cortana上,取得了不错的效果,通过机器翻译使Skype具备了实时翻译功能;自然语言处理技术是Facebook智能助手M背后的核心技术之一,其产品负责人称“我们对M做的事情可以让我们更好地理解自然语言处理。”国内的科大讯飞在去年年底发布了自然语言处理云平台,很早推出语音合成产品,在中文领域的自然语言处理和语音合成方面有着深厚积累。可见,早在前几年,众多科技巨头和国内IT厂商就已对自然语言处理这篇潜在的广阔市场觊觎已久,纷纷开始摩拳擦掌,准备将自然语言处理技术向公司的核心业务方向进行转移,针对业务线转型、新产品提出来酝酿更大的动作。
二、自然语言处理技术发展历程——持续探索稳中前行
2015年是自然语言处理技术进一步发展的一年。由于自然语言处理的主流技术主要是以统计机器学习为基础的,因此这些技术的性能就依赖两个因素:一是针对不同任务的统计模型和优化算法,二是相应的大规模语料库。2015年得益于深度学习算法的快速进展和大规模社交文本数据以及语料数据的不断积累,自然语言处理技术有了飞跃式的发展。在这一年,各大厂商致力于解决语音识别、语义理解、智能交互、搜索优化等领域更加复杂、困难的问题,持续不断地对原有产品的算法、模型进行优化与革新。
在新产品方面,2015年带给了我们太多的惊喜。高考期间,百度推出了小度机器人,无独有偶,十月底,Rokid团队推出的Rokid机器人也与公众见面。这些实体机器人不仅能用拟人的思维识别语义,尝试与用户建立起更深层、连续的沟通,还能模仿人的“思考”,先从海量互联网内容中提取信息,然后按人的思维逻辑对信息进行推理分析和筛选,再得到答案。不仅如此,优秀的实体机器人还能与智能家居设备深度融合,并接入音乐、新闻等内容,还能给予摄像头进行手势唤醒与远场识别。
2015年,远场语音识别技术突破了5米的瓶颈,大幅度改进了语音交互的自由度,再次刷新业界期待。利用麦克风阵列、回声消除等技术将目标说话人的声音增强,并抑制/消除噪声和回声,由此进行语音前端处理;在语音识别引擎,则针对麦克风阵列处理后的数据进行收集、训练,以使远场效果最优化。目前国内集成全新的4麦克风阵列方案,利用麦克风阵列的空域滤波特性——在目标说话人方向形成拾音波束(BeamForming),抑制波束之外的噪声;结合独特的去混响算法,最大程度的吸收反射声,达到去除混响的目的。其中,汉语语音识别技术也取得了重大突破:识别相对错误率比现有技术降低15%以上,使汉语安静环境普通话语音识别的识别率接近97%。通过基于多层单向LSTM的汉语声韵母整体建模技术,成功地把连接时序分类(CTC)训练技术嵌入到传统的语音识别建模框架中,再结合语音识别领域的决策树聚类、跨词解码和区分度训练等技术,大幅度提升线上语音识别产品性能,是一次框架式的创新。2015年,“字根嵌入”的提出,将“字根作为中文语言处置惩罚的最小单位进行研究”,机器在处置惩罚中文分词、短文本分类及网页排序方面的效果大幅提升,可以有效促进机器对用户中文表意进行深度学习,让搜索引擎更加智慧、更“懂“用户。随着大数据技术和深度学习算法的不断发展,2015年,基于数据驱动的自然语言对话系统也为我们打开了新的思路:通过提出DeepMatchCNN和DeepMatchTree两种匹配模型以及NeuralRespondingMachine(NRM)对话生成模型,并深入挖掘大规模对话数据,很容易地构建一个自动生成对话系统,其准确率相比传统的机器翻译模型由26%提高到76%,而且对话十分自然流畅。
2015年,许多厂商也纷纷开源了自己用于自然语言处理、机器学习的工具包和技术专利。Facebook人工智能研究院(FAIR)宣布开源了一组深度学习工具,这些工具主要是针对Torch机器学习框架的插件,包括iTorch、fbcunn、fbnn、fbcuda和fblualib。这些插件能够在很大程度上提升深度学习的速度,并可用于计算机视觉和自然语言处理等场景。Torch已被Google、Twitter、Intel、AMD、NVIDIA等公司采用。Google、Microsoft和IBM分别发布并开源了自己的机器学习工具包TensorFlow、DMTK和SystemML。Google已将TensorFlow用于GMail(SmartReply)、搜索(RankBrain)、图片(生成图像分类模型--InceptionImageClassificationModel)、翻译器(字符识别)等产品。DMTK其功能特点以及定位更倾向于自然语言处理方面,例如文本分类与聚类、话题识别以及情感分析等。SystemML则是IBM研发了超过十年的机器学习技术,沃森(Watson)在几年前的大型活动里就整合了很多SystemML的机器学习功能。语音识别知名厂商SoundHound.inc年底也开放了自己的“Houndify”平台,通过与各大传统行业厂商深入合作,集成各个方面的行业数据:如与Expedia.com合作,集成酒店、航班方面的语料数据;与Xignite合作,集成金融市场语料数据,意在通过语音“识别一切”,构建更广阔的识别平台。 #e#
三、当前国内外在自然语言处理领域的研究热点和难点自然语言处理的难点单词的边界界定在口语中,词与词之间通常是连贯的,而界定字词边界通常使用的办法是取用能让给定的上下文最为通顺且在文法上无误的一种最佳组合。在书写上,汉语也没有词与词之间的边界。
词义的消歧许多字词不单只有一个意思,因而我们必须选出使句意最为通顺的解释。
句法的模糊性自然语言的文法通常是模棱两可的,针对一个句子通常可能会剖析(Parse)出多棵剖析树(ParseTree),而我们必须要仰赖语意及前后文的资讯才能在其中选择一棵最为适合的剖析树。
有瑕疵的或不规范的输入
例如语音处理时遇到外国口音或地方口音,或者在文本的处理中处理拼写,语法或者光学字符识别(OCR)的错误。
语言行为与计划句子常常并不只是字面上的意思;例如,“你能把盐递过来吗”,一个好的回答应当是把盐递过去;在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。再者,如果一门课程去年没开设,对于提问“这门课程去年有多少学生没通过?”回答“去年没开这门课”要比回答“没人没通过”好。
关于如何解决语境的问题:同时,由于强调了“大规模”,强调了“真实文本”,下面两方面的基础性工作也得到了重视和加强。
(1)大规模真实语料库的研制。大规模的经过不同深度加工的真实文本的语料库,是研究自然语言统计性质的基础。没有它们,统计方法只能是无源之水。
(2)大规模、信息丰富的词典的编制工作。规模为几万,十几万,甚至几十万词,含有丰富的信息(如包含词的搭配信息)的计算机可用词典对自然语言处理的重要性是很明显的。
自然语言处理技术发展瓶颈
目前自然语言处理技术的两大瓶颈就是大规模语料数据的建设,以及语义分析的进一步完善。
主流的自然语言处理技术是以统计机器学习为基础的,这就需要大规模的语料库。在很多任务中,这些语料库是需要人工构建的,这是非常费力的工作。因此,数据共享是一个可以促进研究发展的必不可少的因素。可以说,自然语言处理的快速发展离不开一些开源的语料库,比如WordNet、PennTreebank等。第二,任何语料库无论大小类型,都难以囊括某个领域的全部案例;而且,语料库的标注体系往往难以把握,类别划分过粗,则无法全面、细致地描述语言,类别划分过细,则标注信息过于庞大、降低标注效率,统计数据的稀疏问题严重,训练出来的模型健壮性差。第三,因为人工标注的语料库毕竟是费时费力的工作,因此还需要从模型和算法方面去研究如何利用大量的无人工标注或部分标注的数据,也就是半监督学习,但这方面的研究还不是特别成熟。
自然语言处理技术的另一大瓶颈就是如何精确地表现自然语言的语义,比如在人机交互过程中,首先就要理解用户的意图,而这里“用户的意图”就是语义。目前业界常用的方法有两种:基于知识或语义学规则的语义分析方法和基于统计学的语义分析方法。尽管两类方法都能在一定程度上进行自然语言语义的推导以及信息之间关联的判别,但是基于知识与语义学规则的方法无法覆盖全部语言现象、推理过程复杂,无法处理不确定性事件,规则间的相容性和适用层次范围存在缺陷和限制,知识和语义规则的建立是瓶颈问题;而基于统计学的方法则过多地依赖于大规模语料库的支持,性能依赖语料库的优劣,易受数据稀疏和数据噪声的干扰,正如之前提到,大规模语料库的建立和语料质量的保证仍是瓶颈问题。
可喜的是,如火如荼的云计算为复杂模型计算以及大规模语料库的收集与建立提供了基础设施上的支撑。例如,借助MicrosoftAzure,用户可以在几分钟内完成NLPonAzure站点的部署,并立即开始对NLP开源工具的使用,或者以RESTAPI的形式调用开源工具的语言分析功能,而无需关注基础结构,只需专注于应用程序的业务逻辑。PaaS(平台即服务)的特性隐藏了基础设施的细节,让用户无须关心操作系统、运行环境、安全补丁、错误恢复等问题,这使得用户进行NLP语料库建设以及应用程序使用的门槛大大降低。#e#
四、自然语言处理技术——面临的挑战随着智能硬件技术与移动技术的蓬勃爆发,自然语言处理技术的应用趋势也发生了变化。一方面用户要求自然语言处理技术可以精准地理解自己的需求,而且直接给出最匹配的答案,而非简单地给出Url让用户自己去找答案(起码目前代表业内较高水平的小度机器人还是这样做的)。另一方面是需要自然语言处理技术可以与用户进行对话式搜索与智能交互,例如针对“我到哪里可以买到漂亮衣服?”互联网针对衣服款式的定位、价钱的定位等条件与用户进行对话与交互,通过基于自然语言处理技术的搜索引擎来步步引导用户,帮助用户逐渐发现自己的真实需求,进而给出最优答案。第三方面,需要自然语言处理技术对用户进行“画像”,提供“主动推荐、不问即得”的个性化推荐服务。由于每个人各个方面的生活需求(尤其是娱乐方面的需求)不尽相同,自然语言处理技术可以根据用户的浏览历史来挖掘用户的喜好,进而针对用户的喜好进行精准式推荐。
在这样的需求下面,对于自然语言处理技术的未来发展提出了很大的挑战。它要求未来的自然语言处理技术能够做到:
·1、需求识别。通过用户提出了多种多样的、复杂的、基于情感式的、语意模糊的需求进行深刻分析,精确地理解用户的需求。
·2、知识挖掘。经过海量的网络数据与知识的挖掘分析,将各种结构化、非结构化、半结构化的知识进行组织与梳理,最终以结构化、清晰化的知识形式完整地呈现给用户。
·3、用户引导。这与对话式智能交互相关,不仅根据用户的需求来提供“建议”,还能“猜测”用户可能会有什么未想到、未提出的需求,从而“先人一步”为用户提供相关的扩展信息。
·4、结果组织和展现。由于用户更加青睐直接的答案,答案的形式可以是唯一答案、聚合答案、图片、多媒体的形式,这就要求自然语言处理技术能够将挖掘出的信息进行有效地组织与整理,以条理化、简洁化、直接化的形式呈现给用户。
五、自然语言处理技术——展望未来在电影《Her》里,语音交互成为普遍的交互方式:孤独的作家西奥多,有语音操控的随身计算设备,用语音撰写感人的书信安抚受伤人,还找到了“机器人女友”莎曼萨。我想,拥有一个贴心的“莎曼萨”,能做到“知我心、懂我意”,仿佛看到第二个自己,应该是很多人都会憧憬的事情。
展望2018年,自然语言处理技术还将沿着致力于实现智能化、人性化的搜索推荐、语音交互、语义理解的道路继续前行。相信不仅会有更多技术难题被攻克,也会有越来越多类似于“莎曼萨”的产品问世。
随着大数据技术的不断发展,大规模语料样本数据以惊人的数量不断积累以及自然语言处理在深度学习方面的不断深耕,目前业界已经开始使用上万小时的样本进行模型训练。不难预测,不久,自然语言处理技术发展将很快进入10万小时数据样本训练阶段,只有这样,才能覆盖千差万别的用户口音差异、多领域歧义语料数据以及复杂的语法规则。再考虑环境变化的影响,未来训练语料量可能会突破100万小时。未来,基于统计学的语义分析方法研究将会继续深化,会随着大规模语料样本数据的不断积累以及大数据挖掘技术、深度模型算法的不断发展呈现质的飞跃。
随着训练数据量的迅速增加,如何实现大规模LSTM(长短时记忆模型)建模和CTC(连接时序分类)的有效训练,会成为一个核心的技术难题。未来语音识别领域的深度学习将进入数百GPU并行训练的状态,理论创新和算法技术创新都将围绕大数据展开。语音识别技术的研发方法,相对于现在必将发生深刻的变革。此外,CTC建模技术进一步降低了语音识别应用的解码成本,随着适合深度模型计算的专业硬件的大量涌现,语音识别云服务的成本将大量降低,从而推动语言处理与语音交互技术的更大范围的普及。
自然语言处理的技术难点与挑战
前言借助移动互联网技术、机器学习领域深度学习技术的发展,以及大数据语料的积累,自然语言处理技术发生了突飞猛进的变化。越来越多的科技巨头开始看到了这块潜在的“大蛋糕”中蕴藏的价值,通过招兵买马、合作、并购的方式、拓展自己在自然语言处理研究领域的业务范围,进一步提升自然语言处理在整个公司中的主导地位。与此同时,也不断有新兴的科技公司涌现,提出自己的在智能交互、语音识别、机器翻译等方面的解决方案,试图在自然语言处理这片广阔的蓝海上划分自己的领土、树立自己的标杆。
人工智能已经是大部分普通人都耳熟能详的词汇,而人们对自然语言处理技术的了解程度却大部分还停留在表面阶段。本文通过回顾自然语言处理的发展历史,解读2015年整个自然语言处理行业的重大变化,进而提出新的时代下自然语言处理技术的发展瓶颈、以及对于自然语言处理所提出的挑战、自然语言处理未来的发展方向。
一、追本溯源——自然语言处理技术发展历程自人工智能在1956年达特茅斯会议上首次提出,让机器完成更多的智力工作成为科学家努力的方向。其中一个重要的目标就是希望机器能够与人类进行更加自然高效的交流,希望机器读懂人类深奥的语言,同时以一种我们习惯的方式进行交互,而解决这个问题的关键技术就是自然语言处理。
尤其是近20年来,随着互联网的发展引发了对这一技术的强劲需求,这一技术在得到长足发展的同时,也在有力地促进互联网核心能力的增强。比如,目前互联网提供的一个基础性能力是信息检索。人们在搜索引擎中输入关键词,就可以获得相关信息。在20年前,互联网刚开始发展的初期,给搜索引擎输入“和服”,返回的结果中很可能包含不少生产、销售“鞋子和服装”的公司的信息。现在这种错误已经比较少了,而促进其质量不断提升的一个核心就是采用了不断改进的自然语言理解技术。“互联网”自然语言理解已经成为互联网发展的一个共识,并在不断深化。
最近几年,众多科技巨头正在这方面进行布局。2013年谷歌以超过3000万美元收购了新闻阅读应用开发商Wavii。Wavii擅长自然语言处理技术,可以通过扫描互联网发现新闻,并给出一句话摘要;微软将自然语言处理技术应用在了智能助手小冰、Cortana上,取得了不错的效果,通过机器翻译使Skype具备了实时翻译功能;自然语言处理技术是Facebook智能助手M背后的核心技术之一,其产品负责人称“我们对M做的事情可以让我们更好地理解自然语言处理。”国内的科大讯飞在去年年底发布了自然语言处理云平台,很早推出语音合成产品,在中文领域的自然语言处理和语音合成方面有着深厚积累。可见,早在前几年,众多科技巨头和国内IT厂商就已对自然语言处理这篇潜在的广阔市场觊觎已久,纷纷开始摩拳擦掌,准备将自然语言处理技术向公司的核心业务方向进行转移,针对业务线转型、新产品提出来酝酿更大的动作。
二、自然语言处理技术发展历程——持续探索稳中前行2015年是自然语言处理技术进一步发展的一年。由于自然语言处理的主流技术主要是以统计机器学习为基础的,因此这些技术的性能就依赖两个因素:一是针对不同任务的统计模型和优化算法,二是相应的大规模语料库。2015年得益于深度学习算法的快速进展和大规模社交文本数据以及语料数据的不断积累,自然语言处理技术有了飞跃式的发展。在这一年,各大厂商致力于解决语音识别、语义理解、智能交互、搜索优化等领域更加复杂、困难的问题,持续不断地对原有产品的算法、模型进行优化与革新。
在新产品方面,2015年带给了我们太多的惊喜。高考期间,百度推出了小度机器人,无独有偶,十月底,Rokid团队推出的Rokid机器人也与公众见面。这些实体机器人不仅能用拟人的思维识别语义,尝试与用户建立起更深层、连续的沟通,还能模仿人的“思考”,先从海量互联网内容中提取信息,然后按人的思维逻辑对信息进行推理分析和筛选,再得到答案。不仅如此,优秀的实体机器人还能与智能家居设备深度融合,并接入音乐、新闻等内容,还能给予摄像头进行手势唤醒与远场识别。
2015年,远场语音识别技术突破了5米的瓶颈,大幅度改进了语音交互的自由度,再次刷新业界期待。利用麦克风阵列、回声消除等技术将目标说话人的声音增强,并抑制/消除噪声和回声,由此进行语音前端处理;在语音识别引擎,则针对麦克风阵列处理后的数据进行收集、训练,以使远场效果最优化。目前国内集成全新的4麦克风阵列方案,利用麦克风阵列的空域滤波特性——在目标说话人方向形成拾音波束(BeamForming),抑制波束之外的噪声;结合独特的去混响算法,最大程度的吸收反射声,达到去除混响的目的。其中,汉语语音识别技术也取得了重大突破:识别相对错误率比现有技术降低15%以上,使汉语安静环境普通话语音识别的识别率接近97%。通过基于多层单向LSTM的汉语声韵母整体建模技术,成功地把连接时序分类(CTC)训练技术嵌入到传统的语音识别建模框架中,再结合语音识别领域的决策树聚类、跨词解码和区分度训练等技术,大幅度提升线上语音识别产品性能,是一次框架式的创新。2015年,“字根嵌入”的提出,将“字根作为中文语言处置惩罚的最小单位进行研究”,机器在处置惩罚中文分词、短文本分类及网页排序方面的效果大幅提升,可以有效促进机器对用户中文表意进行深度学习,让搜索引擎更加智慧、更“懂“用户。随着大数据技术和深度学习算法的不断发展,2015年,基于数据驱动的自然语言对话系统也为我们打开了新的思路:通过提出DeepMatchCNN和DeepMatchTree两种匹配模型以及NeuralRespondingMachine(NRM)对话生成模型,并深入挖掘大规模对话数据,很容易地构建一个自动生成对话系统,其准确率相比传统的机器翻译模型由26%提高到76%,而且对话十分自然流畅。
2015年,许多厂商也纷纷开源了自己用于自然语言处理、机器学习的工具包和技术专利。Facebook人工智能研究院(FAIR)宣布开源了一组深度学习工具,这些工具主要是针对Torch机器学习框架的插件,包括iTorch、fbcunn、fbnn、fbcuda和fblualib。这些插件能够在很大程度上提升深度学习的速度,并可用于计算机视觉和自然语言处理等场景。Torch已被Google、Twitter、Intel、AMD、NVIDIA等公司采用。Google、Microsoft和IBM分别发布并开源了自己的机器学习工具包TensorFlow、DMTK和SystemML。Google已将TensorFlow用于GMail(SmartReply)、搜索(RankBrain)、图片(生成图像分类模型--IncepTIonImageClassificaTIonModel)、翻译器(字符识别)等产品。DMTK其功能特点以及定位更倾向于自然语言处理方面,例如文本分类与聚类、话题识别以及情感分析等。SystemML则是IBM研发了超过十年的机器学习技术,沃森(Watson)在几年前的大型活动里就整合了很多SystemML的机器学习功能。语音识别知名厂商SoundHound.inc年底也开放了自己的“Houndify”平台,通过与各大传统行业厂商深入合作,集成各个方面的行业数据:如与Expedia.com合作,集成酒店、航班方面的语料数据;与Xignite合作,集成金融市场语料数据,意在通过语音“识别一切”,构建更广阔的识别平台。
自然语言处理的技术难点与挑战
前言借助移动互联网技术、机器学习领域深度学习技术的发展,以及大数据语料的积累,自然语言处理技术发生了突飞猛进的变化。越来越多的科技巨头开始看到了这块潜在的“大蛋糕”中蕴藏的价值,通过招兵买马、合作、并购的方式、拓展自己在自然语言处理研究领域的业务范围,进一步提升自然语言处理在整个公司中的主导地位。与此同时,也不断有新兴的科技公司涌现,提出自己的在智能交互、语音识别、机器翻译等方面的解决方案,试图在自然语言处理这片广阔的蓝海上划分自己的领土、树立自己的标杆。
人工智能已经是大部分普通人都耳熟能详的词汇,而人们对自然语言处理技术的了解程度却大部分还停留在表面阶段。本文通过回顾自然语言处理的发展历史,解读2015年整个自然语言处理行业的重大变化,进而提出新的时代下自然语言处理技术的发展瓶颈、以及对于自然语言处理所提出的挑战、自然语言处理未来的发展方向。
一、追本溯源——自然语言处理技术发展历程自人工智能在1956年达特茅斯会议上首次提出,让机器完成更多的智力工作成为科学家努力的方向。其中一个重要的目标就是希望机器能够与人类进行更加自然高效的交流,希望机器读懂人类深奥的语言,同时以一种我们习惯的方式进行交互,而解决这个问题的关键技术就是自然语言处理。
尤其是近20年来,随着互联网的发展引发了对这一技术的强劲需求,这一技术在得到长足发展的同时,也在有力地促进互联网核心能力的增强。比如,目前互联网提供的一个基础性能力是信息检索。人们在搜索引擎中输入关键词,就可以获得相关信息。在20年前,互联网刚开始发展的初期,给搜索引擎输入“和服”,返回的结果中很可能包含不少生产、销售“鞋子和服装”的公司的信息。现在这种错误已经比较少了,而促进其质量不断提升的一个核心就是采用了不断改进的自然语言理解技术。“互联网”自然语言理解已经成为互联网发展的一个共识,并在不断深化。
最近几年,众多科技巨头正在这方面进行布局。2013年谷歌以超过3000万美元收购了新闻阅读应用开发商Wavii。Wavii擅长自然语言处理技术,可以通过扫描互联网发现新闻,并给出一句话摘要;微软将自然语言处理技术应用在了智能助手小冰、Cortana上,取得了不错的效果,通过机器翻译使Skype具备了实时翻译功能;自然语言处理技术是Facebook智能助手M背后的核心技术之一,其产品负责人称“我们对M做的事情可以让我们更好地理解自然语言处理。”国内的科大讯飞在去年年底发布了自然语言处理云平台,很早推出语音合成产品,在中文领域的自然语言处理和语音合成方面有着深厚积累。可见,早在前几年,众多科技巨头和国内IT厂商就已对自然语言处理这篇潜在的广阔市场觊觎已久,纷纷开始摩拳擦掌,准备将自然语言处理技术向公司的核心业务方向进行转移,针对业务线转型、新产品提出来酝酿更大的动作。
二、自然语言处理技术发展历程——持续探索稳中前行
2015年是自然语言处理技术进一步发展的一年。由于自然语言处理的主流技术主要是以统计机器学习为基础的,因此这些技术的性能就依赖两个因素:一是针对不同任务的统计模型和优化算法,二是相应的大规模语料库。2015年得益于深度学习算法的快速进展和大规模社交文本数据以及语料数据的不断积累,自然语言处理技术有了飞跃式的发展。在这一年,各大厂商致力于解决语音识别、语义理解、智能交互、搜索优化等领域更加复杂、困难的问题,持续不断地对原有产品的算法、模型进行优化与革新。
在新产品方面,2015年带给了我们太多的惊喜。高考期间,百度推出了小度机器人,无独有偶,十月底,Rokid团队推出的Rokid机器人也与公众见面。这些实体机器人不仅能用拟人的思维识别语义,尝试与用户建立起更深层、连续的沟通,还能模仿人的“思考”,先从海量互联网内容中提取信息,然后按人的思维逻辑对信息进行推理分析和筛选,再得到答案。不仅如此,优秀的实体机器人还能与智能家居设备深度融合,并接入音乐、新闻等内容,还能给予摄像头进行手势唤醒与远场识别。
2015年,远场语音识别技术突破了5米的瓶颈,大幅度改进了语音交互的自由度,再次刷新业界期待。利用麦克风阵列、回声消除等技术将目标说话人的声音增强,并抑制/消除噪声和回声,由此进行语音前端处理;在语音识别引擎,则针对麦克风阵列处理后的数据进行收集、训练,以使远场效果最优化。目前国内集成全新的4麦克风阵列方案,利用麦克风阵列的空域滤波特性——在目标说话人方向形成拾音波束(BeamForming),抑制波束之外的噪声;结合独特的去混响算法,最大程度的吸收反射声,达到去除混响的目的。其中,汉语语音识别技术也取得了重大突破:识别相对错误率比现有技术降低15%以上,使汉语安静环境普通话语音识别的识别率接近97%。通过基于多层单向LSTM的汉语声韵母整体建模技术,成功地把连接时序分类(CTC)训练技术嵌入到传统的语音识别建模框架中,再结合语音识别领域的决策树聚类、跨词解码和区分度训练等技术,大幅度提升线上语音识别产品性能,是一次框架式的创新。2015年,“字根嵌入”的提出,将“字根作为中文语言处置惩罚的最小单位进行研究”,机器在处置惩罚中文分词、短文本分类及网页排序方面的效果大幅提升,可以有效促进机器对用户中文表意进行深度学习,让搜索引擎更加智慧、更“懂“用户。随着大数据技术和深度学习算法的不断发展,2015年,基于数据驱动的自然语言对话系统也为我们打开了新的思路:通过提出DeepMatchCNN和DeepMatchTree两种匹配模型以及NeuralRespondingMachine(NRM)对话生成模型,并深入挖掘大规模对话数据,很容易地构建一个自动生成对话系统,其准确率相比传统的机器翻译模型由26%提高到76%,而且对话十分自然流畅。
2015年,许多厂商也纷纷开源了自己用于自然语言处理、机器学习的工具包和技术专利。Facebook人工智能研究院(FAIR)宣布开源了一组深度学习工具,这些工具主要是针对Torch机器学习框架的插件,包括iTorch、fbcunn、fbnn、fbcuda和fblualib。这些插件能够在很大程度上提升深度学习的速度,并可用于计算机视觉和自然语言处理等场景。Torch已被Google、Twitter、Intel、AMD、NVIDIA等公司采用。Google、Microsoft和IBM分别发布并开源了自己的机器学习工具包TensorFlow、DMTK和SystemML。Google已将TensorFlow用于GMail(SmartReply)、搜索(RankBrain)、图片(生成图像分类模型--InceptionImageClassificationModel)、翻译器(字符识别)等产品。DMTK其功能特点以及定位更倾向于自然语言处理方面,例如文本分类与聚类、话题识别以及情感分析等。SystemML则是IBM研发了超过十年的机器学习技术,沃森(Watson)在几年前的大型活动里就整合了很多SystemML的机器学习功能。语音识别知名厂商SoundHound.inc年底也开放了自己的“Houndify”平台,通过与各大传统行业厂商深入合作,集成各个方面的行业数据:如与Expedia.com合作,集成酒店、航班方面的语料数据;与Xignite合作,集成金融市场语料数据,意在通过语音“识别一切”,构建更广阔的识别平台。
自然语言处理五年技术革新,快速梳理 NLP 发展脉络
来源:机器之心
机器之心发布机器之心编辑部机器之心《2020-2021全球AI技术趋势发展报告》节选:顶会趋势(NeurIPS)分析。2021年伊始,机器之心发布《2020-2021全球AI技术趋势发展报告》,基于顶会、论文及专利等公共数据、机器之心专业领域数据仓库,通过数据挖掘定位七大趋势性AI技术领域。此外,该报告还邀请了近100位专家学者通过问卷调查,形成对这七大技术领域近年发展情况、成熟度与未来趋势的综合总结,并基于2015-2020年间的开源论文与专利语料,结合机器之心自有的新闻舆论以及模型最佳表现(SOTA)等相关数据库进行了探索性数据分析,并形成了用以帮助技术趋势判定的量化指标SyncedIndicator(SI)。为了方便从业者把握AI技术趋势,机器之心将持续刊载该该报告的节选内容,以下篇幅选自《2020-2021全球AI技术趋势发展报告》第三章「人类语言技术」。「3-1 」人类语言技术3-1-1 近年领域事件根据机器之心整理的人工智能领域事件库数据,近5年(2015~2020)来人类语言技术领域的主要有以下大事件值得关注:神经机器翻译、注意力机制与Transformer自然语言处理的技术突破似乎总是从机器翻译领域开始的,作为NLP领域最早的研究领域之一,机器翻译是较能体现语言理解的一项重要技术任务,也是自深度学习兴起后技术突破最多最频繁的技术任务。机器翻译的核心技术涵盖了自然语言理解和生成两大基本问题,其技术路径的演变基本可以代表整个自然语言处理技术领域的主要技术方法演变:从最初的基于语法规则的机器翻译(RBMT),统计学兴起之后逐渐开始形成气候的统计机器翻译(SMT),以及近10年来基于神经网络的机器翻译(NMT),机器翻译领域通常是新技术首先得到测试验证的领域。2015年以来,正是神经机器翻译快速发展的时代,而其中贡献较为突出的当属搜索引擎行业的龙头企业谷歌,从2016年谷歌神经机器翻译(GNMT)的发布开始,将初期主要在CV领域活跃的Attention机制运用到了机器翻译领域,2017年又抛开深度学习领域一直被广泛使用的核心RNN网络、提出了单纯基于自注意力机制的Transformer模型架构,在模型泛化能力上看到了很大的可能性。2018年紧接着提出并开源了基于双向Transformer的大规模预训练语言模型BERT,刷新了当时多项不同类型的NLP下游任务的最佳表现,使人们看到了这类模型的巨大潜力,也自此掀起了NLP领域的大规模预训练语言模型研究与开发的热潮。大规模预训练语言模型2018~2019年里,尤其是2019年,大规模预训练语言模型似乎成为了NLP领域技术指标突破逃不开的技术方法。在ELMo之前,深度学习在自然语言处理的主要应用方向在于从词到句子级别的分布式表征,word2vec是此类方法的典型代表。虽然一时间预训练的词向量在诸多自然语言处理任务上取得了不错的进展,但词向量本身都是上下文无关的,也即同一个词的向量表示在不同语境中总是相同的,这就意味着词向量无法解决语言技术里很大的一个障碍,一词多义问题。因此研究人员们开始在具体的下游任务中基于词向量的序列来做编码,这种seq2seq端到端的思想迅速取代了word2vec的热潮,而谷歌在这个基础上研发出的自注意力机制模型transformer可算是这个思想的集大成者。也正是同一时间,来自华盛顿大学的研究者开发出了ELMo模型,通过语言模型来获得一个上下文相关的预训练表示,并通过定制成功地用在了多个不同的下游任务上取得领先的表现效果。而仅仅针对文本进行丰富的encoding尚不足以覆盖所有NLP下游任务,尤其是QA、阅读理解等包含问询关系等多种复杂模式的情况下,下游任务的网络会需要做更多不同的结构调整,同一个模型在多个不同任务、甚至同一任务不同数据集上的表现差别仍然有待提高,这也就促使了BERT的诞生。BERT类模型使用大规模语料数据采取更深程度的预训练,从而形成一个更为通用的模型基底。这比覆盖上下文语境含义的词向量更进一步,而涉及到下游任务时也仅需要定制一个非常轻量级的输出层而不需要对模型骨架做重大调整。实用效率工具和数据集当一个技术发展成熟到一定程度之后,我们会看到技术在研究层面的数据增加开始放缓,但在工程和应用层面的相关数据开始增加。而回顾过去五年的NLP领域事件,我们发现除了重要的具体模型算法之外,数据集和实用的开源工具成为该领域里不可忽视的组成部分。除了机器翻译领域Google开源的GNMT,OpenNMT也开源了其自研的神经机器翻译工具包,并且提供了Pytorch和TensorFlow两个不同框架的支持。数据集Benchmark方面,问答数据集SQuAD经历了1.0、2.0两个代际,自然语言理解综合benchmarkGLUE也经历了一次到SuperGLUE的升级,中文领域也衍生出了类似的评价体系CLUE。随着预训练语言模型的火热与广泛应用,可以预见的是相关的数据集与评估指标还会有新的升级与换代。Facebook开发并开源了实用文本分类库fastText,OpenAI在三代GPT版本更迭后,于今年的GPT-3发布后不久便开始提供对应的API服务。综合工具方面,微软联合创始人保罗艾伦建立的AllenInstituteforAI于今年正式推出了其自然语言处理工具包AllenNLP,提供完整的自然语言处理流程框架和相应工具。成立于2016年的Huggingface借助Transformer模型的东风,提供多种基于transformer架构模型的调用框架(包括BERT、GPT-2、Transformer-XL、RoBERTa、DistilBERT、BART,以及GoogleT5等近40种不同模型),同时兼容TensorFlow与pytorch。知名语音技术工具包Kaldi也于2017和2018年先后增加了TensorFlow和PyTorch的整合支持。总体而言,NLP领域每年都有新突破,语音领域在2015~2017年发展迅猛,达到接近人类水平,而后归于稳定、小修小改重点解决局部问题。*完整的人类语言技术相关影响力事件表请参看报告附录。3-1-22019~2020年热门技术根据2019-2020年度技术热词分析结果,该领域的整体热度在本篇报告覆盖的领域里面排第二,仅次于计算机视觉,领域内的技术热词以主流的自然语言处理下游技术任务为主(如机器翻译、问答系统、信息抽取、文本分类等),同时包括一些近年来讨论热度比较高的算法模型框架(如BERT、word2vec、Transformer等),语音识别、语音合成两个语音相关的技术词也同样榜上有名。具体来说,神经机器翻译、语音识别以及BERT在论文、新闻的热词发现中均名列前茅,除此之外,新闻资讯中的技术热词多是大众讨论度比较高的技术词或偏口语化的技术词,如自然语言处理本身、聊天机器人、以及注意力机制,而论文中则会有比较多相对具体的基础技术任务如文本分类、命名体识别、语义解析等以及相对书面正式的技术词如自然语言理解、问答系统、机器阅读理解。报告、survey中呈现出的高频讨论技术词则多是归纳性质较强的技术任务或方法,如问答系统、序列到序列(seq2seq)、端到端(end2end)模型等。以下为本领域在各项热门技术词挖掘中综合排名前100的技术词:技术名词新闻挖掘论⽂挖掘报告/Survey⾃然语⾔处理✓⾃然语⾔理解✓⾃然语⾔推理✓机器翻译✓神经机器翻译✓✓问答系统✓✓对话系统✓聊天机器⼈✓机器阅读理解✓⽂本⾃动摘要⽂本分类✓情感分析✓语⾳识别✓✓语⾳合成⽂本⽣成✓命名体识别✓语义解析✓语法解析词性标注✓语⾔模型✓预训练模型✓ELMOGPTBERT✓✓Transformer✓注意⼒机制✓seq2seq✓word2vec✓词嵌⼊✓表3-1-2-1人类语言技术2019~2020年热门技术词*为了分析的完整和可对比性,我们额外补充了语音合成、语法解析、文本自动摘要,以及ELMO、GPT等技术词结合各AI技术分析报告文章、论文survey,社交网络观点、以及专家问卷结果,该人类语言技术章节分析主要从机器翻译、问答系统、阅读理解、文本分类、语音识别、语音合成等热门NLP和语音方面的技术任务,以及相关的热门技术方法如语言模型、序列到序列,词嵌入,BERT等分不同角度切入,从学界问卷、论文专利、以及新闻舆情多数据角度综合分析其本身以及相关技术近五年来的重要事件以及发展趋势,分析细节详情参见报告。报告全文获取方式方式二:成为机器之心PRO-VIP会员