武汉大学学报(工学版)   2018, Vol. 51 Issue (8): 669-678

文章信息

王飞, 陈立, 易绵竹, 谭新, 张兴华
WANG Fei, CHEN Li, YI Mianzhu, TAN Xin, ZHANG Xinghua
新技术驱动的自然语言处理进展
Advances in natural language processing under new technology-driven
武汉大学学报(工学版), 2018, 51(8): 669-678
Engineering Journal of Wuhan University, 2018, 51(8): 669-678
http://dx.doi.org/10.14188/j.1671-8844.2018-08-002

文章历史

收稿日期: 2017-11-12
新技术驱动的自然语言处理进展
王飞1, 陈立1, 易绵竹1, 谭新2, 张兴华3     
1. 信息工程大学洛阳校区, 河南 洛阳 471003;
2. 91709部队, 吉林 珲春 133300;
3. 68002部队, 甘肃 兰州 730058
摘要:自然语言处理发展过程中一直存在着基于规则和基于统计2种研究方向,2种研究方法在很长一段时间里都停滞不前,直到人工智能的进步带来了数据、计算能力和算法的巨大变化,从而推动了自然语言处理的发展.近年来,自然语言处理在语义分析、知识库建设和文本处理方面都有很大程度的进展,大部分进展源于深度学习带来的性能提升.本文梳理了深度学习驱动下自然语言处理的进步,系统地分析了进步的原因,指出深度学习本身的局限性.最后指出自然语言处理面临的挑战,并对该领域未来的研究方向提出了展望.
关键词自然语言处理    深度学习    神经网络    机器学习    语义特征    
Advances in natural language processing under new technology-driven
WANG Fei1, CHEN Li1, YI Mianzhu1, TAN Xin2, ZHANG Xinghua3     
1. Information Engineering University of Luoyang Campus, Luoyang 471003, China;
2. 91709 Units, Hunchun 133300, China;
3. 68002 Units, Lanzhou 730058, China
Abstract: Natural language processing has always existed both rule-based and statistical-based research directions in the development, both approaches had stagnated for a long time until the advancement of artificial intelligence brought about tremendous changes in data, computational power and algorithms, which has driven the development of natural language processing. In recent years, natural language processing has made great progress in semantic analysis, knowledge base construction and text processing, with most of the progress stemming from the performance improvement brought by deep learning. This paper reviewes the progress of natural language processing driven by deep learning, systematically analyzes the reasons for the progress, and points out the limitations of deep learning. Finally, it is pointed out the challenges facing natural language processing and put forward the prospect of future research in this field.
Key words: natural language processing (NLP)     deep learning     neural network     machine learning     semantics feature    

自然语言处理(NLP)的目标是计算机能学习、理解并能够生成人的语言,实现智能处理的效果.伴随着移动互联网技术、机器学习和深度学习技术的发展,以及数据资源的积累和并行计算能力的提升,自然语言处理的研究方法也发生了巨大的变化,已经在语音和图像的识别领域取得了显著的成果.早期自然语言处理的研究方向是基于语言规则的,主要受短语生成语法的影响,通过对语言结构进行分析,以达到用语法规则约束语言计算的目的,其方法的本质是模式匹配.这种方法在机器翻译、语音识别和语音合成等应用领域都有所尝试,在NLP早期研究中发挥了较为显著的作用.随着机器学习方法突飞猛进的发展,特别是深度学习技术的蓬勃发展和广泛应用,研究者根据现实世界中巨大的应用需求,借助并充分运用了先进的机器学习方法,在机器翻译、话语对话系统、社会媒体挖掘、情感分析等任务中取得了突破性进展.自然语言处理的进展为人类理解语言生成机制和受其启发而开发出更多的社会应用提供了广阔途径,具有重要意义.

自然语言处理技术的发展大致经过了2个阶段.第1阶段主要依靠词表和规则来处理语言,但自然语言本身所具有的多样性、歧义和上下文相关等特点使得这个工作进展缓慢.第2阶段的研究采用基于统计的机器学习方法,在标注语料库的基础上建立语言模型,取得了显著的效果,但当时研究者们尚未充分认识到机器学习的更大潜力.第2阶段后期主要依赖于机器学习的最近进展——深度学习,面向大量的网络数据资源,并进行处理,取得了丰硕的成果.图 1简要描述了自然语言处理的发展阶段.

图 1 自然语言处理的发展阶段 Figure 1 Developmental stage of natural language processing

1992年语言数据联盟(LDC)宣告成立,该组织提供了很多高质量的语言学标注数据,包含了大量标注了的词类标签、句法剖析树、语义标签、命名实体、对话行为、情感标签,以及具有篇章结构信息的语音和文本语料库.网络的发展为研究提供了大量的数字化语言学数据,今天大量的文本数据可以很容易地通过网络下载.与此同时,开放式的任务刺激了NLP研究的发展.原本很多NLP研究项目是由美国国防高级研究计划局(DARPA)资助和启动的,后来发展为由一些开放式研究团队自行设计、参与竞争.LDC同很多国际研究团队、商业机构保持了一定的合作关系,为参与者提供接口,保证研究的一致性.例如DARPA支持下的GALE项目[1],它的多任务驱动直接促进了先进机器学习模型的发展和相互间的竞争,GALE研究者将他们的数据向全世界的语言学家和数据挖掘人员开放,以期开发出最佳的模型或系统.

随着NLP的进一步发展,目前的高性能系统充分利用了先进的机器学习方法,例如深度学习、增强学习等,还产生了许多高性能工具,例如斯坦福大学开发的语言结构分析器和很多分布式词向量表示工具等.

归结起来,自然语言处理的技术进步主要取决于以下4个关键因素:

1) 计算能力的高速增长,分布式并行计算突破了原有的计算复杂度限制,已形成了大数据处理平台,为更优的算法提供了支撑.

2) 互联网和移动互联网的发展积累了大规模网络文本(新闻媒体和自媒体文本)及语音数据,LDC也提供了高质量的标注语料.

3) 高效机器学习方法的发展,主要是深度学习技术的快速进展,提高了对数据分析和关系挖掘的能力.

4) 对自然语言结构及其在社交领域中的应用有更深入的理解,尤其是对语义的深度分析和上下文语境的充分利用.

进入20世纪90年代,概率和数据驱动成为自然语言处理的主要方法.词类标注、命名实体识别、句法分析和共指消解等任务的算法设计中都引入了概率.经过不断发展,利用自然语言处理的新技术和新方法已开发了一系列实用化信息产品,例如苹果手机的Siri可以识别用户输入的语音或文字与用户对话,并能调用系统自带的应用,帮助用户查询信息或实现一些基本操作;谷歌的Wavii能够实现自动扫描互联网信息发现新闻,并生成句子级摘要;类似的产品还有微软的智能助手小冰、Skype的Translator和Facebook智能助手M等.这些自然语言处理技术革命性的发展已经在各种产品中得到了应用,改善了人们的体验.

随着技术的进步,越来越多的研究都更加注重综合运用语言分析方法和深度学习技术,提升自然语言处理系统的性能.无论是在传统的语音识别、机器翻译和信息抽取等领域还是在与自然语言处理相关的社会计算、数据挖掘等领域,自然语言处理都取得了较大的进展.研究方法的深入和新技术的进步为自然语言处理带来了很多新的思路,取得了很多创新成果.这些新方法和新技术从规则、算法和工程角度多方面地进行研究,在解决实际问题的同时,也在不断完善自然语言处理理论.

1 语义的深度分析

语义问题由来已久,过去人们认为语义障碍难以逾越,而语义问题不解决,计算机就不能说具有真正意义上的智能.词法、句法和语义有着明显的区别,但又保持着紧密的联系,语义在很大程度上需要通过词法和句法表示.当词法和句法问题在新技术的驱动下被较好地解决之后,自然语言处理的研究重点就转向了语义问题.对文本语义进行深度分析,不仅需要研究语义,还需要研究影响语义的词法和句法因素,除了语义角色标注、语义选择限制等,还需要研究词的组合性特征、词的配价、句法依存关系对语义的影响.语义的深度分析可以突破句子的表层结构直接获取深层语义,有效识别那些句法结构不同但语义相同、内在的语义关系保持不变的句子,能够更细致地揭示词与词之间的关系,这在词义消歧、信息检索、机器翻译等任务中能发挥重要作用.基于语言规则的分析方法推理过程复杂,其效能依赖于语言规则的归纳,而语言规则不能覆盖全部语言现象,所以难以对小概率语言现象进行处理.基于概率统计的分析方法效率高速度快,但它需要大规模语料库的支持,且处理结果容易受到数据噪声和稀疏性的干扰.充分结合这2种方法的优势,成为提高语义分析准确率的必然选择.

目前,大数据分布式处理技术和云计算平台为语言计算模型的训练提供了技术上的支撑.一些研究机构已经研制开发了语言综合分析系统,提供在线支持或开源代码,能够较好地识别词法和句法信息,如图 2所示.语言分析的结果包含很多语义信息,可以作为研究语义问题的基础.

图 2 Stanford CoreNLP语言结构分析样例 Figure 2 Sample of language structure analysis on Stanford CoreNLP

图 2所示为斯坦福大学开发的CoreNLP对例句处理的结果.输入英文句子China has said that it “opposes any unilateral energy exploration” in the South China Sea. CoreNLP分析平台即对句子进行语言学分析,按图中所示层次分别对句子中的词进行词类标注、命名实体识别、共指关系标注和基本依存关系标注,输出图 2所示结果,图中的弧线指出了依存关系,箭头指示了依存的方向.在此基础上,CoreNLP还可以对语句进行情感分析和实体关系三元组抽取,体现了语义研究的成果.这种基于深度学习训练得到的语言模型能够达到准确而快速地完成依存关系剖析的目的,它不仅将词汇表示成分布式词向量,还把词类标签和依存标签也表示成分布式向量.在向量空间中,词类标签NNS(Plural Noun)与NN(Singular Noun)距离较近,具有较高的相似性.Num(Numerical Modifier)与Amod(Adjective Modifier)距离较近,具有较高的相似性.在语言模型中,将分布式向量作为输入分析当前词的多种依存关系,并根据Softmax计算出具有正确概率的依存关系.基于分布式向量表示和深度神经网络模型进行语言结构分析有效地解决了以下问题:1)稀疏问题.分布式向量能够更好地捕捉到语言单位语义上的相似性.2)不完整性.深度学习训练的语言模型能够将各种语言单位进行组合,并尝试各种可能的组合方式,语言现象的覆盖率有了很大提升.3)计算代价高.采用深度学习训练的模型进行矩阵运算较之原有的方法降低了计算量.

语义的内涵比较广,按照不同的语言单位划分,词汇、句子和篇章这3个主要的语言单位就具有各自不同的语义特点,它们在地位上是不一样的.词汇是语言的基本要素之一,句子和篇章都是由词汇组成,因此对词汇语义的研究比较突出.词汇语义既包括默认含义,还包括引申义,同时词的固定短语经常表达出完全不同的意义,应该当做单词来处理.理解词义,不仅需要了解词汇本身的含义,也不仅仅是字面含义的简单组合,还需要更多语言外知识.例如“风花雪月”一词并不是简单的描述4个自然界的事物,而是具有更多的引申义,既可作褒义也用作贬义.同一个词,在不同时期具有不同的含义,例如现在“火车”一词并不意味着“着火的车”或者“依靠烧煤产生动力”的车,而是体现了语义的历史演变.不同历史时期,通过考察词汇的上下文变化就能看出词义存在着一定的演变,有扩大,有缩小,也有转义.现在越来越多的词义研究都与知识库结合起来,通过与已有知识的映射而获得词汇的意义,这实际上包含了本体语义的思想.

句子由单词序列通过一定的语法规则组成,在文章中或者对话中能够传递出一个较为完整的意思,因此很多研究都是针对句子进行研究的.在句子中,语义不是句子中词汇含义的简单组合,而是词汇在句法约束条件下形成多种句法模式,表达出含义更为丰富的句子语义.语义需要通过句法结构传递,句法分析可以表达出浅层的语义,若要对句子进行深度的语义分析,还需要借助语义理论进行分析,在句法结构的基础上对词汇进行语义标注,确定词汇在句子中所担任语义角色,加入语义的选择限制,突出语义特点,建立依存关系.句子的深层语义分析涉及到语义组合问题,深层次的语义关系跨越了句法结构,通过谓词逻辑和语义角色等表示出来.当句子结构发生变化,由深层结构向表层结构转化时,需要根据语义的投射规则来进行解释.复句在句法结构上存在递归特点,分析出主句中心词的语义,是构成封闭式语境还是开放式语境,才能准确地判断出句子的语义.

篇章语义则更加复杂,一般来说会涉及到更多的语言外知识,还有语义的指代问题和一致性问题.由于融合了更多的词汇和句子语义,复杂性较大,对篇章语义的研究尚不如对词汇和句子语义的研究成熟.

语义问题涉及的领域很广,语义的理论研究也是近30年才取得较新的突破.在自然语言处理领域,本体具有很强的语义描述能力,可以将语义形式化表示,使其能够进行推理,是一种很好的知识表示形式,在一定程度上解决了计算机语义理解的问题.

2 本体知识表示与知识图谱

由于计算机网络的迅猛发展,产生了大量的数据,当数据量积累到一定程度,就能产生不一样的意义.挖掘数据间的关系使数据形成语义网,能够产生出更大的价值,但是大量无结构的数据很难处理.本体语义学提出利用本体来理解语义,表示语义,为自然语言处理提供解决方案[2].Nirenburg等[3]是本体语义学的主要倡导者,描述了以本体为核心、作为模拟人的认知代理[4],将本体研究推向新的高度,为本体在自然语言处理领域的应用打下了坚实的理论基础.

本体在自然语言处理领域有着非常大的优势,由于本体和语义是紧密相关的,可以从文本意义中抽象出概念和属性建立本体,借助本体对网络数据进行语义分析,以形式化的方式表示现实世界中的实体及关系[5].本体中的概念和实例按照本体规则和领域分类知识组织成层次结构,包含丰富的语义关系和属性,具有准确的含义,并且概念通过属性与其他概念相互联系,构成语义网络.因此本体作为语义理解的基础,为知识表示提供了一种学习框架,通过该框架,它能够对输入文本进行分析,在应用过程中根据确定的任务和要求动态地提取所储存的知识,产生明确的文本意义表征,既能通过概念组合表示复杂语义,又能提供世界知识消除超句层面的歧义,对于知识获取和意义表示的可靠性至关重要.以往的形式语义[6]、框架语义[7]和组合语义[8]在做语义表示的时候都存在一些局限,知识之间的关系描述不够全面、不够准确,并且具有歧义性.当知识表示系统发生改变时,知识难以重复利用,而本体表示法则能较好地解决这些难题,它的应用使得词汇上升到语义的层次,概念的精确性与共享性能够消除歧义,能够在不同语种之间建立起映射关系.本体实际上用基于常识的方法构建了一个反映客观世界的模型,从而反映了实体在自然语言中的意义.

很多半监督或无监督的机器学习方法都需要利用本体库获取初始知识,作为“经验”,高质量的本体知识库能够为应用提供更优的语义解释效果.本体语义强调对语义的处理不仅仅是对文本的句法语义分析,词汇意义的形式化描述,而是对整个客观世界进行建模.它主张在语义处理中应兼顾知识性因素和潜藏于人类智能中的非知识因素,并通过特定方式将其“内化”到人工智能系统之中.在本体知识库以概念的层次结构来建立语义关联数据,包含概念、属性、关系和实例,以结构化形式表现,子节点可以继承父节点的属性,从上层的抽象概念到下层实例,形成了一个有向无环图.知识的表示方式借鉴了框架表示法,但本体的表示法较之框架表示更丰富更灵活.

在人工智能领域,本体作为一种共享的知识表示的重要方式,越来越多地体现在工程构建中,促进了本体的发展.近年来,为了解决世界范围内的知识共享和信息集成,语义本体催生了知识图谱,实现了对客观世界从字符串描述到结构化语义描述,将客观世界的事物映射为实体和关系的形式化表示,因此本体是知识图谱发展的基础.知识图谱可以基于现实世界描述不同层次和粒度的抽象概念,并与实例、事实建立联系,成为了网络知识构成的基础.知识图谱的发展是下一代互联网语义Web的良好开端,它能够将现实世界中的实体与关系都表示出来[9].百科网站目前也都在构建知识图谱,根据当前实体链接到相关的实体.基于知识图谱所构建的知识库Dbpedia、FreeBase在很多自然语言处理任务中都起到了重要作用.语义Web和知识图谱研究的不断发展,其背后都隐含着人工智能领域的本体理论和本体技术[10].基于本体的应用得到越来越多研究者的关注,人们尝试利用本体的理论和方法来推动知识表示的研究和解决语义理解的难题.

本体为知识建模提供了一个基本结构,在许多应用中体现了语义表示的优势[11].本体作为比较理想的知识表示方法,也存在一定的不足,主要体现在它的知识推理和构建.由于本体语义网络中的关系比较复杂,用简单的逻辑规则进行推理并不能得出复杂意义,需要根据本体结构的特点,借助语义关联性进行推理.本体构建是一个工程化、系统化的过程,为保证信息的准确性和全面性,需要在本体构建中提供可扩展、可演化的功能[12].由于领域和应用目标的不同,目前尚无一种通用的适合各领域的本体开发模式.构建覆盖全面的领域本体和完善已有的本体知识库,对于语义的形式化、结构化表示和知识图谱的发展都有很重要的意义,因此需要研究本体的自动构建和演化方法.

在数据密集型研究的驱动下,越来越复杂和具有创造性的机器学习方法涌现出来,通过对语料标注进行训练,模拟人理解语义的能力,尽管数据驱动的方法只是将语义信息蕴含在语言模型中,但他们的研究还是为语义表示起到了推动作用.本体语义学提出了一套严密的形式化理论,它并不局限于某种特定的方法,而是在该理论指导下,无论是基于规则还是基于统计的方法,都能够用以完成处理任务.本体语义理论可以根据自然语言处理应用的需要进行适当修改和扩展,以更好地适应需求.

3 深度学习和分布式词表示

人工神经网络算法是对大脑神经元的一种不完全模拟,并不是新概念,但是直到2006年Hinton将人工神经网络的隐藏层加深到了7层来解决实际问题,才产生了“深度学习”这个概念,促成了目前的广泛研究[13].机器学习属于数据驱动学习方式,随着传统的概率统计方法基于大数据训练不断发展,在大数据带来的思维转变启发下,通过改进的概率统计方法建立了深度神经网络模型,并成为主流的机器学习方法.深度学习因其自身的特点,如多参数优化、多层次迭代,在很大程度上提升了模式识别的准确率,并且在自然语言文本上也有较好的表现.Lecun等[14, 15]、Bengio等[16-18]和Hinton等[19-21]是深度学习领域的领军人物,发表了多篇相关论文来介绍深度学习.通过机器学习完成图像识别、语音识别、自然语言理解等任务都是先通过各种途径积累大量的数据,过去数据积累的过程比较漫长,对这些数据进行预处理,去除噪音,通过统计的方法提取出一些特征,由人工选取一些有代表性的特征进行组合,让计算机经过训练学习到这些特征,建立起一定的模式,根据这些模式在新数据中匹配特征,从而实现识别、推理或预测.中间涉及的预处理、特征提取和特征选择,就是为了能够获得更好更具有代表性的特征.一个机器学习算法能够识别一种模式关键就是依靠数据中的特征,因此如何学习到好的特征,成为处理过程中的核心.早期自然语言处理研究中,人工对数据进行语言学标注代价很大,而且容易产生数据稀疏问题.计算模型中的特征提取需要对数据做很多预处理,之后由人工构建特征,容易产生偏差.研究者将离散特征用于传统机器学习、训练,并未产生很大的提升.现在随着互联网发展和技术进步,从数据获取到特征训练,较之过去都有了很大的改变.互联网的发展可以较为方便地获取数据,深度学习能够在大规模数据中自主地学习特征表示,从输入端到输出端自行调整优化特征,最终训练出较好的特征,无需人工干预.于是研究者用深度学习模型取代了传统的机器学习模型,大大提高了模式识别的准确率.多家互联网企业为推广其在深度学习领域的创新应用,相继开源了自己的深度学习框架,例如谷歌开源的Tensorflow在深度学习领域影响较大.同类的学习框架还有Caffe、Theano和Torch.Feng等[22]应用深度学习框架来解决非事实型自动问答任务,该方法不依赖于任何语言工具,可以应用于不同的语言或领域.深度学习框架将特征和分类器结合到一起,自动从大量的数据中发掘隐含特征,并通过不同的算法进行组合,最后选择出具有代表性的特征,整个过程由计算机完成,减少了人为对特征的干预.因此,深度学习框架不仅效果比传统机器学习方法更好,而且使用也更方便.表 1是对几种学习框架的比较.

表 1 主要深度学习框架的比较 Table 1 Comparison of main depth learning frame
项目 Caffe Tensorflow Theano Torch
模型 CNN CNN/RNN CNN/RNN CNN/RNN
语言 Python/cuda C++/cuda Python/C++ C++/Lua
环境 跨平台 Linux 跨平台 Linux
速度 中等 中等
网络结构 分层 张量图 张量图 分层

深度学习主要用到的是多层神经网络模型,其算法设计受大脑学习的启发,能够实现分布式且自主学习的处理.几种主要的深度学习模型例如深度神经网络(DNN)、循环神经网络(RNN)、卷积神经网络(CNN)和长短时记忆模型(LSTM)等都是对神经元进行不同方式的组合运算,获得更多更准确的特征组合.全连接DNN网络结构里底层神经元和其上每层神经元都有连接,这样模型的参数数量就变得非常多,容易过拟合,而且容易陷入局部最优.而CNN中的相邻2层的神经元通过设定窗口大小的“卷积核”相连,卷积核内的信息是相邻2层神经元共享的,而且它的神经元信号只能向前传播,这样就减少了学习的参数量,可以解决DNN存在的问题.RNN里神经元在t时刻的输出可以在下一个时刻继续作为输入,对时间序列上的变化进行了建模.如图 3所示,输入序列“ABCD”前一个输入仍然会作为下一个输入的参数,而输出序列“XYZQ”也会继续作为下一时刻的输入.

图 3 循环神经网络RNN示意图 Figure 3 Schematic diagram of RNN

t时刻产生的梯度向后传播不久就会逐渐消失,超过一定时限的信息无法影响到当前时刻.为了解决时间上的梯度消失,在RNN的基础上又发展出了长短时记忆模型LSTM,通过门的开关实现长时间的记忆,并防止梯度消失.深度学习的研究有的致力于优化算法,有的利用它做更多的应用.Szegedy等[23]描述了一种用全局平均池化层替代CNN全连接层的网络结构.Long等[24]在研究中把全连接层当作卷积层用来输出特征图,这样同所有节点的激活串联相比,有更多的可迁移层数.Arel等[25]在文献中综述了过去10年中提出的主流深度学习方法和研究方向,并且强调了每种方法都有优势和弱点,每种方法的优势和弱点取决于它的应用领域.自然语言处理领域借助深度学习的研究越来越广泛,近几年来关于深度学习这一主题的论文已经占据了自然语言处理国际学术会议的主流.越来越多的研究者研究深度学习在自然语言处理中的应用,并取得了很多成果.2013年Zheng等[26]在自然语言处理实证方法会议(EMNLP)中提出用深度学习方法改进中文汉字的内部表示,用以增强中文分词和POS标注模型.2014年Zeng等[27]在国际计算语言学会议(COLING)上提出利用卷积深层神经网络来提取词汇和句子级别的特征,改进提取的特征质量,用于关系分类任务,实验结果表明该方法明显优于当时的最优方法.2015年在国际计算语言学年会(ACL),Santos等[28]提出用基于排序分类的CNN来改进关系分类方法,通过在SemEval-2010任务8数据集上测试,效果要好于基于softmax的CNN.Chen等[29]提出了一个基于动态多池卷积神经网络(DMCNN)的模型用于事件抽取,它使用一个动态多池层根据事件触发器和参数,能够保留更关键的信息,优于ACE事件提取任务的传统方法.可以看出,利用深度学习做的各类应用,都在不同程度上对任务完成的指标有所提升.

深度学习技术本质上在做模式分类,在计算机科学、通信、生物医学、政治和金融领域中,最能体现计算机“智能”的预测问题,都可以归结为在多维空间进行模式分类.与传统的自然语言处理任务通过浅层模型进行特征学习相比,深度学习模型的特征提取复杂得多,在输入层和输出层之间通常具有多隐藏层,不同隐藏层之间由非线性变换连接,同一隐藏层的神经元节点之间无连接,多隐藏层将自动提取的特征分解至很小,再经过各层神经元进行组合变换向后传递,神经网络中的惩罚反馈机制在特征选择中会“激励”好的特征生成,“惩罚”不好的特征生成,最后得到组合优化的特征来全面表示一个状态进行模式匹配,这种运算方式是对大脑运算过程的一种不完全模拟,能够使模式识别做得更好,甚至超过人.因此,深度学习模型的“深度”是为了学习更好的特征而服务的,结构如图 4所示.

图 4 深度神经网络结构图 Figure 4 Deep neural network structure

深度学习在特征训练方面的优点在很多任务上都取得了较大的突破,如语音识别、机器翻译、图像识别、疾病预测和模式识别等.例如有研究[30]表明,将CNN模型引入语音识别领域,实验结果相比传统的HMM模型识别错误率下降了23.2%.2016年10月,微软最新研究[31]表明,它将语音识别错词率(WER)降低至5.9%,堪比人的识别能力,达到了目前行业标准中的最低记录.在图像识别领域,计算机不仅能识别出人脸而且能识别出行为类别信息.

深度学习技术在图像和语音识别方面取得了非常大的突破,但是在语言理解领域的进展却并不显著,是因为语音和语义本身特征的区别.深度学习能够自动寻找隐含特征,对于图像和语音来说这个过程比较容易,它们是“底层认知特征”,属于感知范畴.而在语言理解中,每个词、每个句子本身的特征是较为明显的,特征含义跟人的认知有关,是“高层认知特征”,属于认知范畴,需要更多语料和模型的积累.深度学习在文本处理中最大的进展是为词汇的语义表示带来了突破,通过大量的语言学统计结果学习得到低维度稠密性实数值词向量来表示语义,将特征表示从离散的One-hot向量表示[32]转换为连续的低维稠密向量表示(也叫分布式表示),能够大大压缩One-hot表示中离散的维度,将许多隐含的语义信息蕴含在每一维数值中,增加了不同向量的语义关联性.

Mikolov等[33]开发的Word2vec工具在训练词向量方面表现突出,它产生的分布式词向量成为了语义表示强有力的工具,一个词可以通过刻画它的各种属性来高效表示,属性又与多个概念相关联.每个词既包含从上位词继承来的公有属性,也包含自身所有的私有属性.词向量的不同维度表示了该词在不同领域中的属性,每一维的值表示了词与该领域的相关程度,于是词就表示成了不同属性的结合,最大程度地保留了语义信息,具有较好的语言学特性,可在很多应用和任务中发挥作用.分布式词表示是文本处理领域的基础和核心,一个好的词向量可以作为输入应用于现有的自然语言处理系统来改善处理效果,许多任务在应用了分布式词表示后性能都取得了一定程度的提升,如词性标注、句法分析、机器翻译和情感分析等.Mikolov等[34]通过Word2vec产生的分布式词向量进行语义距离的计算发现,分布式词向量对于发现语料内上下文中语义距离最近的词效果很好,并且根据语义的线性偏移较好地预测相关词.Word2vec模型简单高效,虽然缺少词序信息以及习惯用语的表示,但依靠数据量的补充和迭代运算效果很好,用途广泛.Fu等[35]基于Word2vec模型发现的词汇的线性平移特点来识别查询词与相关词之间的上下位关系.词向量的语义信息较以前有很大改进,Mikilov等[36]进一步扩展研究了句向量和段落向量表示,对段落向量采用分布式记忆模型.他们在原模型的基础上,增加了一个段落标记通过矩阵D映射成向量,与其他词向量一起在隐藏层进行拼接或者累加计算,最后分类输出,得到预测的段落向量.训练过程中为词向量增加了一个参数“Paragraph id”,即给文本中的每个句子都分配了一个唯一的标识,同一个id标识的词向量组成一个句子.这种方法保留了词序信息和语义信息,包含了文本中较长距离的词,提升了性能.Mikilov等人对词向量的研究非常具有开创性,引起了围绕词向量训练的热潮.Word2vec基于词频和上下文建立语言模型和训练词向量,有研究者考虑用更复杂的方式来训练,利用统计出的语言学规律,给词向量赋予更多的语义信息[37].Pennington等[38]提出GloVe模型,综合运用词的上下文统计信息用共现矩阵来生成对数线性语言模型和词向量表示.Shazeer等[39]提出了Swivel模型学习分布式词向量,该模型基于特征共现矩阵的近似因式分解,能够充分利用矩阵信息学习到低词频单词表示.Lai[40]对多个词向量模型做了大量的对比研究,逐个分析了影响词向量质量的因素,发现语料领域纯度对词向量训练影响很大.Hamilton等[41]将词向量用来发现语义演变的规律,能够更好地记录语义演化的信息.

由于词汇是句子和段落的基本组成,有研究者[42]通过词向量的运算来研究语义变化,还有通过词向量不同的组合方式研究其对语义表示的影响[43].此外,短语、小句和句子的向量表示是否符合语言学规律[44, 45],这方面相关的研究对于发现语义组合的规律很有意义,可以更进一步地用于自然语言处理任务中.

在面向中文的处理领域,汉语和少数民族语言的计算机处理都在稳步向前发展.少数民族语言因为语言资源的缺乏,必然导致学习模型的变化,需要研究新的适用模型来做语言处理.移动互联网的发展让少数民族语言资源变得丰富,推动了少数民族语言的研究处理,尤其是在语音识别领域.国内的科大讯飞在汉语的语音识别取得成功之后,又积极推进对少数民族语言的语音识别研究.由于汉语是世界上最难被计算机理解的语言之一,使得计算机无法及时理解并充分利用互联网的中文信息.为更好地获取网络上大量的中文信息,针对传统方法对海量文本中语义信息感知不明显的难题,研究者开始利用深度学习对网络数据进行语义特征发现和理解,将细节特征融合起来进行整体特征的模式识别,学习到有用的知识.近几年国内研究者借助深度学习方法在原有的基础上更好地完成了传统中文信息处理任务,例如中文分词、词性标注和命名实体识别等,国外也有多家研究机构在DARPA项目的牵引下对中文开展研究[1],实现中文分析和应用.

深度学习革命性地将语言学数据全部映射到语言向量空间中,进行分布式表征,在向量空间中完成对各种语言单位向量进行聚类、合并等运算,实现人们想要的各种应用.当然,深度学习也不是完美的,也不能解决所有的问题.总的来说,深度学习能够更好地表示数据的特征,但是它所发现的特征是概率特征,并不是真正的语义特征,只是包含了更多的语义信息.因此,深度学习要求数据量要大,并且参数众多,调参优化是一个复杂的过程,还有很多核心的问题需要解决:

1) 深度学习由概率统计方法发展而来,它虽然有效,但是缺乏理论支撑.

2) 深度学习训练的维度目前多是根据经验确定的,缺乏理论指导.

3) 对于具体问题,采用何种深度学习框架,需要捕捉多大范围内和多长时间内的有效信息,尚无衡量标准.

4) 深度学习的训练过程很复杂,需要耗费很多的时间和资源,训练好之后在本领域效果很好,但是迁移到新的领域去效果就明显降低,需要重新训练.这种迁移学习的能力不够强,导致了重复利用的效率不高.

5) 深度学习所捕捉到的特征只是加入了更多语义信息的概率特征,这与训练的数据有很大关系.一般来说数据越纯,训练的效果越好,而且数据领域性的作用明显大于其他因素,而现实中更多是有噪声的原始数据,这就会对深度学习模式分类造成一定干扰,甚至影响最终决策.

4 结论

自然语言处理领域一直是基于规则和基于统计2种研究方法交替占据主导地位,2种研究都先后遇到瓶颈,基于规则和传统机器学习的方法到达一定阶段后就很难再取得更大的突破,直到计算能力和数据存储的提升才极大地促进了自然语言处理的发展.语音识别的突破使得深度学习技术变得非常普及.取得较大进展的还有机器翻译,谷歌翻译目前用深度神经网络技术将机器翻译提升到了新的高度,即使达不到人工翻译标准也足以应对大部分的需求.信息抽取也变得更加智能,能更好地理解复杂句子结构和实体间关系,抽取出正确的事实.深度学习推动了自然语言处理任务的进步,同时自然语言处理任务也为深度学习提供了广阔的应用前景,使得人们在算法设计上投入得更多.人工智能的进步会继续促进自然语言处理的发展,也使得自然语言处理面临着如下挑战:

1) 更优的算法.人工智能发展的三要素(数据、计算能力和算法)中,与自然语言处理研究者最相关的就是算法设计.深度学习已经在很多任务中表现出了强大的优势,但后向传播方式的合理性近期受到质疑.深度学习是通过大数据完成小任务的方法,重点在做归纳,学习效率是比较低的,而能否从小数据出发,分析出其蕴含的原理,从演绎的角度出发来完成多任务,是未来非常值得研究的方向.

2) 语言的深度分析.尽管深度学习很大程度上提升了自然语言处理的效果,但该领域是关于语言技术的科学,而不是寻找最好的机器学习方法,核心仍然是语言学问题[46].未来语言中的难题还需要关注语义理解,从大规模网络数据中,通过深入的语义分析,结合语言学理论,发现语义产生与理解的规律,研究数据背后隐藏的模式,扩充和完善已有的知识模型,使语义表示更加准确.语言理解需要理性与经验的结合,理性是先验的,而经验可以扩充知识,因此需要充分利用世界知识和语言学理论指导先进技术来理解语义.分布式词向量中隐含了部分语义信息,通过词向量的不同组合方式,能够表达出更丰富的语义,但词向量的语义作用仍未完全发挥,挖掘语言中的语义表示模式,并将语义用形式化语言完整准确地表示出来让计算机理解,是将来研究的重点任务.

3) 多学科的交叉.在理解语义的问题上,需要寻找一个合适的模型.在模型的探索中,需要充分借鉴语言哲学、认知科学和脑科学领域的研究成果,从认知的角度去发现语义的产生与理解,有可能会为语言理解建立更好的模型.在科技创新的今天,多学科的交叉可以更好地促进自然语言处理的发展.

深度学习为自然语言处理带来了重大技术突破,它的广泛应用极大地改变了人们的日常生活.当深度学习和其他认知科学、语言学结合时,或许可以发挥出更大的威力,解决语义理解问题,带来真正的“智能”.

参考文献
[1] Olive J, Christianson C, Mccary J. Handbook of Na-tural Language Processing and Machine Translation: DARPA Global Autonomous Language Exploitation[M]. New York: Springer, 2011.
[2] Ortiz A M, Raskin V, Nirenburg S. New developments in ontological semantics[C]// Proceedings of LREC-02, 2013.
[3] Nirenburg S, Raskin V. Ontological Semantics (Language, Speech, and Communication)[M]. The MIT Press, 2004.
[4] Mcshane M, Nirenburg S, Beale S, et al. Two kinds of paraphrase in modeling embodied cognitive agents[C]// National Conference on Artificial Intelligence, 2008: 87-94.
[5] Niles I, Pease A. Towards a standard upper ontology[C]// International Conference on Formal Ontology in Information Systems, 2001: 2-9.
[6] Chierchia G, Mcconnellginet S. Meaning and grammar: an introduction to semantics[J]. Language, 2000, 67(67): 481–502.
[7] Fillmore C J. The Case for Case[M]. Universals in Linguistic Theory, 1968: 1-88.
[8] Katz J J, Fodor J A. The structure of a semantic theory[J]. Language, 1963, 39(2): 170–210. DOI:10.2307/411200
[9] Gontier E M. Web semantic and ontology[J]. Advances in Internet of Things, 2015, 5(2): 15–20. DOI:10.4236/ait.2015.52003
[10] Suarez-Figueroa M C, Gomez-Perez A, Motta E, et al. Ontology Engineering in a Networked World[M]. Springer Publishing Company, Incorporated, 2012.
[11] Gruninger M U M. Ontologies: principles, methods and applications[J]. Knowledge Engineering Review, 2009, 11(2): 93–136.
[12] Niu J, Issa R R A. Developing taxonomy for the domain ontology of construction contractual semantics[J]. Advanced Engineering Informatics, 2015, 29(3): 472–482. DOI:10.1016/j.aei.2015.03.009
[13] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504–507. DOI:10.1126/science.1127647
[14] Lecun Y, Bengio Y. Convolutional networks for images, speech, and time-series[C]// The Handbook of Brain Theory and Neural Networks, 1995.
[15] Lecun Y, Bottou L, Orr G B, et al. Efficient backProp[J]. Neural Networks Ricks of the Trade, 2000, 1524(1): 9–50.
[16] Bengio Y. Learning deep architectures for AI[J]. Foundations & Trends in Machine Learning, 2009, 2(1): 1–127.
[17] Bengio Y, Courville A, Vincent P. Representation learning: A review and new perspectives[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2013, 35(8): 1798–1828.
[18] Bengio Y, Schwenk H, Senécal J S, et al. Neural probabilistic language models[J]. Journal of Machine Learning Research, 2001, 3(6): 1137–1155.
[19] Mohamed A R, Dahl G E, Hinton G. Acoustic modeling using deep belief networks[J]. IEEE Transactions on Audio Speech & Language Processing, 2012, 20(1): 14–22.
[20] Hinton G, Vinyals O, Dean J. Distilling the know-ledge in a neural network[J]. Computer Science, 2015, 14(7): 38–39.
[21] Deng L, Hinton G, Kingsbury B. New types of deep neural network learning for speech recognition and related applications: an overview[C]// IEEE International Conference on Acoustics, 2013: 8599-8603.
[22] Feng M, Xiang B, Glass M R, et al. Applying deep learning to answer selection: A study and an open task[J]. IEEE Automatic Speech Recognition and Understanding Workshop, 2015: 813–820.
[23] Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2014: 1-9.
[24] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]// IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1337-1342.
[25] Arel I, Rose D C, Karnowski T P. Deep machine learning-A new frontier in artificial intelligence research[research frontier][J]. IEEE Computational Intelligence Magazine, 2010, 5(4): 13–18. DOI:10.1109/MCI.2010.938364
[26] Zheng X, Chen H, Xu T, et al. Deep learning for Chinese word segmentation and POS tagging[C]// Empirical Methods in Natural Language Processing, 2013: 647-657.
[27] Zeng D, Liu K, Lai S, et al. Relation classification via convolutional deep neural network[C]// International Conference on Computational Linguistics, 2014: 2335-2344.
[28] Santos C N, Xiang B, Zhou B, et al. Classifying relations by banking with convolutional neural networks[J]. Meeting of the Association for Computational Linguistics, 2015: 626–634.
[29] Chen Y, Xu L, Liu K, et al. Event extraction via dynamic multi-pooling convolutional neural networks[C]// Meeting of the Association for Computational Linguistics, 2015: 167-176.
[30] 张晴晴, 刘勇, 潘接林, 等. 基于卷积神经网络的连续语音识别[J]. 中国工程学报, 2015, 5(2): 85–95.
Zhang Qingqing, Liu Yong, Pan Jielin, et al. Conti-nuous speech recognition by convolutional neural networks[J]. Chinese Journal of Engineering, 2015, 5(2): 85–95.
[31] Xiong W, Droppo J, Huang X, et al. Achieving human parity in conversational speech recognition[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2016: 99.
[32] Turian J, Ratinov L, Bengio Y. Word representations: a simple and general method for semi-supervised learning[C]// Proc of ACL, Stroudsburg, PA: ACL, 2010: 384-394.
[33] Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space[J]. Computer Science, 2013, arXiv: 1301. 3781v3. http://cn.bing.com/academic/profile?id=6b535fdb1fad7c57b8421d3a81b00af5&encoded=0&v=paper_preview&mkt=zh-cn
[34] Mikolov T, Wen-tau Yih, Zweig G, Linguistic regularities in continuous space word representations[C]// Proceedings of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies 2013, Atlanta, Georgia, 2013: 746-751.
[35] Fu Ruiji, Guo J, Qin B, et al, Learning semantic hierarchies via word embeddings[C]// Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, Baltimore, Maryland, USA, 2014: 1199-1209.
[36] Le Q V, Mikolov T. Distributed representations of sentences and documents[J]. International Conference on Machine Learning, 2014: 1188–1196.
[37] Wan S, Lan Y, Guo J, et al. A deep architecture for semantic matching with multiple positional sentence representations[J]. National Conference on Artificial Intelligence, 2016: 2835–2841.
[38] Pennington J, Socher R, Manning C. Glove: global vectors for word representation[C]// Conference on Empirical Methods in Natural Language Processing, 2014: 1532-1543.
[39] Shazeer N, Doherty R, Evans C, et al. Swivel: improving embeddings by noticing what's missing[J]. Computation and Language, 2016, arXiv: 1602. 02215. http://cn.arxiv.org/abs/1602.02215
[40] Lai S, Liu K, He S, et al. How to generate a good word embedding[J]. IEEE Intelligent Systems, 2016, 31(6): 5–14. DOI:10.1109/MIS.2016.45
[41] Hamilton W L, Leskovec J, Jurafsky D, et al. Diachronic word embeddings reveal statistical laws of semantic change[J]. Meeting of the Association for Computational Linguistics, 2016: 1489–1501.
[42] Gershman S J, Tenenbaum J B. Phrase similarity in humans and machines[C]// Proceedings of the 37th Annual Conference of the Cognitive Science Society, 2015: 776-781.
[43] Blacoe W, Lapata M. A comparison of vector-based representations for semantic composition[C]// Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, 2012: 546-556.
[44] Socher R, Huval B, Manning C D, et al. Semantic compositionality through recursive matrix-vector spaces[C]// Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, 2012: 1201-1211.
[45] Socher R, Bauer J, Manning C D, et al. Parsing with compositional vector grammars[C]// Meeting of the Association for Computational Linguistics, 2013: 455-465.
[46] Manning C D. Computational linguistics and deep learning[J]. Computational Linguistics, 2015, 41(4): 699–705.