博舍

自然语言处理(NLP)介绍(非常详细) 自然语言处理的特点有哪些

自然语言处理(NLP)介绍(非常详细)

精美而实用的网站,分享优质编程教程,帮助有志青年。千锤百炼,只为大作;精益求精,处处斟酌;这种教程,看一眼就倾心。

关于网站|关于站长|如何完成一部教程|公众号|联系我们|网站地图

Copyright©2012-2022biancheng.net,冀ICP备2022013920号,冀公网安备13110202001352号

【笔记】自然语言处理NLP

(from人文学院开设课程)

目录1.自然语言处理概论1.1自然语言处理研究的意义、历史与现状1.1.1自然语言的特点1.1.2自然语言处理研究的意义1.1.3国外研究现状1.2NLP的方法、特点和规律1.2.1理性主义与经验主义1.2.2语料库语言学:经验主义研究方法1.2.3汉语语言处理的方法1.2.4基于知识图谱的深度学习1.自然语言处理概论1.1自然语言处理研究的意义、历史与现状1.1.1自然语言的特点

任何语言,包括书面语、口语或手语,都是由小的元素(语素或音素)分层递归地组合建构成较大的单元,依次组成音节、词汇、短语和句子,再由此组成段落和篇章。

这种递归组合由语法规则的层次结构决定,人类与其他动物的大脑区别是人类具有运用复杂层次结构模式语言的能力和处理递归结构的能力,同其他物种相比,人类可产生并理解复杂长句。

语言变化无穷,句子无限,但语言的语法类型是有限的,是可以归类、分析、统计和学习的。

从自然语言理解的角度看,句法学是研究句中各单词间的关系,语义学是研究词以及所指内容间的关系,而语用学是研究交互双方所涉及的上下文环境和背景知识,语言学知识包括世界知识、历史知识、常识性知识、各学科门类的专业知识等。

人类的知识是通过记载的文字、音像及自身的经历,经学习、训练、归纳、总结,从具体到抽象、从实践到理论逐步积累、逐步完善而形成的。

人类使用语言的表现形式有书面文字、口语和手语等,口语是人类最早的语言交流形式,其特点是口语语句简单、短小。口语使用的词汇大多数常用词汇,词汇丰富程度低于书面语言。

和口语相比,人类的文字只有几千年的记载历史,最早的汉字是产生于3500年前的甲骨文,是一种象形表意体系的文字,不同于印欧语言的表音体系文字。

部分汉字的意义根据偏旁部首(音旁、义旁)能在大脑中反应出来,因书面语的语料相对容易获得,对书面语的研究相对更多也更深入。

人类可以高效的使用语言,而计算机处理语言的在性能和效率上均逊色于人脑,特别是计算机使用人类知识理解语言有诸多困难,导致计算机无法像人脑一样灵活运用语用背景知识来解决自然语言中的各种歧义。

当前随着科学技术、仪器设备和互联网技术的飞速发展,语言学研究和自然语言处理有可能取得理论与方法上的进展。

1.1.2自然语言处理研究的意义自然语言处理(NaturalLanguageProcessing,NLP),是研究如何利用计算机来理解和生成自然语言的,即把计算机作为语言研究的工具,在计算机技术的支持下对语言信息进行定量化的研究,又被称为自然语言理解(NaturalLanguageUnderstanding,NLU)或计算语言学(ComputationalLinguistics)。自然语言处理是一项十分庞大而繁复的工程,它是自然科学和社会科学交叉的学科,特别是计算机科学、语言学、逻辑学、心理学、信息科学的交叉学科。自然语言处理的目标是实现计算机对文字信息的自动分析和理解,它以对人脑及语言认知进行模拟的研究途径和实现为目标,立足于实验、理论和计算三大支柱,从而建立起多层次网络处理模型来阐明人脑语言信息处理系统,以取得突破性进展。1.1.3国外研究现状

自然语言处理的研究始于机器翻译。

1954年初,美国乔治敦大学在国际商用机器公司(IBM)的帮助下,在IBM-701机上进行了第一次机器翻译实验。

到了60年代,随着一些新的人工智能方法的提出和Chomsky等人在语言理论上的突破,人工智能学者开发了一批新的语言处理系统。

在70年代,出现了一些有名的自然语言处理系统,标志着自然语言处理进入了一个新阶段。

80年代,各种新的语法体系应运而生。如广义短语结构语法(GPSG);词汇功能语法(LFG);功能合一语法(FUG)等。由于新的语法体系运用了复杂特征集与功能合一技术,使得自然语言处理能力较以前采用单一标记的处理大大增强。

90年代,在国际范围内掀起了**语料库语言学(CorpusLinguistics)**的研究热潮。为自然语言处理的研究提供了新思路。

在语料库建设方面:

1964年美国BrownUniversity建立了100万词的当代标准美语语料库,其中有语法和句法标注等。一亿词的英国国家语料库和两亿词的Birmingham英语语料库;一亿词的美国计算语言学语料库;赫尔辛基的千万词级历史英语语料库;上亿词级的法语语料库。在加工的深度上也从词性标注扩展到句法和语义的标注。

在语言知识库的构建方面:

美国普林斯顿大学智能科学实验室开发的**英语词汇语义数据库WordNet(词网)**于1990年在英特网上公布之后引起了广泛的关注,许多研究人员用来进行英语语料库的语义标注和词义辨识。

继WordNet之后,美国FrameNet(框架网络)工程启动,该工程由美国国家科学基金NSF支持,由加州国际计算机所和加州大学伯克利分校语言学系联合开发。

微软公司也在抓紧开发MindNet。

荷兰的阿姆斯特丹大学于1996年开始开发荷兰语、意大利语、西班牙语的多语种词汇、语义数据库EuroWordNet。

这些工程的开发为语义知识体系的构建进行了有益的探索。

计算语言学学会(AssociationofComputationalLinguistics,ACL)出版的ComputationalLinguistics杂志,每年举办ACL会议,专门描述自然语言处理理论和系统设计,供计算语言学家、人工智能专家、认知科学家、语音处理专家以及心理学家们参考。

国际互联网上有关自然语言处理的几个专业网站可以参看:

http://www.aclweb.org是计算语言学学会的主页,其中http://www.aclweb.org/u/db/acl/提供有关自然语言处理资源在互联网上的搜索服务,以方便人们找到相关网页。http://xxx.lanl.gov/archive/cs/提供自然语言处理及相关领域电子版学术论文。http://www.ldc.upenn.edu/是语言数据协会(TheLinguisticDataConsortium,LDC)的主页。

目前国内计算语言学和自然语言处理的研究基础性课题主要有:

自然语言的句法和语义分析、语料库建设和语料加工技术、基于语料库的语言分析方法、机器翻译系统及其评测方法、文本分析与生成、现代汉语自动分词、机用词典、文本检索、自动文摘、文本校对、文字识别、智能型汉字输入方法和人机交互接口等。1.2NLP的方法、特点和规律1.2.1理性主义与经验主义

理性主义研究方法通常根据一套规则或程序,将自然语言理解为符号结构。该结构的意义可以从结构中符号的意义推导出来;

在一个典型的自然语言处理系统中,句法分析器按照人所设定的自然语言语法把输入句分析为句法结构,再根据一套语义规则把语法符号结构映射到语义符号结构。自然语言处理系统中的规则集通常是先验的,即是由人设计好以后赋予机器的,因此这是一种典型的理性主义的方法。

而经验主义的研究方法主要是统计学的方法与神经网络学习方法。统计学方法试图建立统计性的语言处理模型,并由语料库中的训练数据来估计统计模型中的参数。神经网络方法从给定训练数据之间的输入-输出关系,由机器通过学习来获得神经元之间的连结强度,以反映输入与输出状态之间的映射关系。

简而言之,理性主义强调基于规则的方法,经验主义强调基于学习的方法。

1.2.2语料库语言学:经验主义研究方法

语音识别领域在七十年代开始逐渐采用概率模型替代原来的基于规则的识别手段,概率模型的参数是通过对大量语声语料进行统计训练得来的。

概率模型的识别效果大大优于使用规则的方法,这给自然语言处理领域对文本语料的研究提供了有益的借鉴。研究文本语料库的目的是从语料中发现包含在其中的语言使用规律。从而利用这些规律对库内或库外文本进行句法语义分析。

利用语料库研究语言规律包括:

收集语料;建设语料库;对语料库进行多层次标注加工;从标注过的语料中获取多层次的语言学知识;语料库语言学的应用研究等。1.2.3汉语语言处理的方法

汉语的认知理论、模型不同于印欧语,后者在词汇、语法、语用、语境诸层面上有明显的界面区别,相互之间又有对应关系。

但汉语词法和句法之间没有明显的界限。汉语由于没有明显的自然形态界限可以作为分词依据,对词没有一致认可的定义。

总之,汉语的特点可归纳为:

汉语词性缺少外部的形态标志,组词成句不靠形态变化,而是靠语序和虚词;语素组成词,词组成短语或句子都用一套共同的规则;汉语动词没有“时”的变化;助词是汉语特有的一类词,并有丰富的量词。

这些特点也使在进行汉语信息处理时要面临以下几个问题。

汉语的歧义问题

自然语言分为形式和内容两部分:

在语言形式上,表现为语法;在语言内容上,表示为语义。

若语言形式完全决定了语言的意义,则机器对语言的理解无二义,在汉语的生成中,难免会出现许多歧义现象。

汉语语法兼类现象(词的同形异类现象)

同一形式的词具有两种或两种以上语法功能类别的现象称为兼类现象。如汉语中“连”这个词兼有副词、介词、动词、名词和量词五种词性。兼类词在词典词条中所占的比重虽不高,但出现的频率却很高,而且越是常用的词兼类现象越严重。

一个典型的汉语自然语言处理系统,一般包括以下几个子课题的研究。

分词:计算机进行汉语信息处理时,其核心是对词的处理,首先碰到是词的切分。由于汉语句子中词与词之间无空格,必须把句中各词正确地切分出来,才能正确理解和处理汉语句子。

词性标注:词性标注是在建立句法结构树之前首先应明确文本中所有语法兼类词在具体使用场合中所属的词性。

机用电子词典与知识库:自然语言处理技术离不开机用电子词典。机用电子词典(词法词典、句法词典、语义词典、维基百科等知识构成的知识图谱)包含了语料加工处理所需的有关词语的各种语言学知识,主要使用了句法特征信息,包括切分、词性标注词典和短语分析词典。

规则库:利用语言学知识库通过把词法、句法等语法知识、语义知识用一定的计算机知识表示的方法建立起来的规则库,它依靠大量的语言学知识,并将该知识形式化,从而得到了大量不同类型的消除歧义的规则。这个库在很大程度上是需要花费许多人工才能实现的。

目前最典型的语言学知识表示方法有:

依存语法(DependencyGrammar)、格语法(CaseGrammar)、语法树方法(SyntaxTree)、转换生成语法(TransformationalGenerativeGrammar)、扩充转移网络语法(AugmentedTransitionNetwork,ATN)、语义网络(SemanticNetwork)理论、蒙塔鸠语法(MontagueGrammar)、系统语法(SystemicGrammar)、概念依存理论(ConceptualDependencyTheory)和现代句法理论。

20世纪80年代以来,国外又陆续推出一批新的语法理论和方法:

广义短语结构语法(generalizedphrasestructuregrammar)头(中心词)驱动的短语结构语法(Head-DrivenPhraseStructureGrammar)词汇功能语法(Lexical-FunctionalGrammar,LFG)功能合一语法(functionalunificationgrammar)链语法(LinkGrammar)范畴语法(CategorialGrammar)树嫁接语法(TreeAdjoiningGrammar)

基于规则的分析法擅长表达语言的确定性现象,用规则表达直观、明显,处理效率比较高。

统计信息库

统计信息库包含了对语料库信息的各种统计结果,如带词性标注的词频统计表,邻接词同现概率矩阵,短语结构分布信息等,它为基于统计的语料库处理技术提供了客观的语言分布数据。

词频统计是利用一个大规模语料库去统计词频、邻接词的同现概率,这些数据可认为是计算机从大规模语料中获得的语言学知识。

1.2.4基于知识图谱的深度学习近几年来,随着Web和SemanticWeb的发展,为我们提供了维基百科、Freebase和百度百科等富含大量知识的信息源,其特点是具有半结构化、知识覆盖率广、可信度高和质量可靠,是构建大规模中文知识图谱的基础。另外,随着网络搜索引擎的飞速发展及电子阅读、情报检索、语义搜索、机器问答等广泛的应用极大地推动了中文知识图谱的构建。Google搜索于2012年5月份发布了“知识图谱”(KnowledgeGraph),是语义网络的扩展,通过对Web知识的挖掘与获取,从Freebase、维基百科(Wikipedia)、《中情局世界概况——TheCIAWorldFactbook》等结构化或半结构化网页中抽取信息。然后将搜索结果进行知识系统化,用网络的结点代表实体/概念,网络的边代表实体/概念之间的各种语义关系,目前已建立了超过5亿个事物和35亿条不同事物之间的关系。2006年,HintonG.等人提出采用深层神经网络的深度学习来减少数据表征的维数,深层网络的结构是一种分层结构,与人脑的结构接近,其研究结果表明深层网络具有优异的特征学习能力。通过训练学习得到的特征数据对所表征的事物具有更本质的刻画,通过无监督的训练学习实现逐层初始化来克服深度学习的困难。这种深层网络直接把海量数据输入到深度学习算法中,可以用较少的参数表示复杂的函数。通过无监督的训练学习,组合低层特征形成更加抽象的高层表征,系统会自动地从海量数据中学习并抽象出语言信息的本质,从而发现数据的分布式特征表示。深度学习模拟人脑认知世界的过程,是目前脑认知与人工智能近年的研究热点。很多国际著名的认知语言学家以此作为语言理解的模型,在语言处理过程中,深度学习通过分布表示,内置建模了对象之间的相似度,从大量未标数据得到的分布相似性被证实会显著提高模型性能。在生物学上模仿人脑认知世界的过程,其最大特点是自动学习输入的多层表示,每层的特征表征某种隐含的概念,低层表征经过逐层组合得到高层的更加抽象表示,是一个经过多层抽象的过程。深度学习在语言信息处理领域正得到重视,在很多任务上取得了历史上的最好效果。对近代文学小说计算风格分析,以定量的方式利用文本中可以量化的语言结构特征来对文本风格和作者写作习惯进行研究,其理论基础是文本的语言结构特征表现了作者个人在写作活动中的言语特征,是作者个人风格不自觉的深刻反映。这些特征(如字符、词汇、句子、段落、语法、语义等)又可以在一定程度上通过数量特征来进行刻画和描述,采用数据统计、文本聚类、主成分分析、文本分类的统计学方法。结合数据和语言本体的知识来说明作者的语言风格,并进行差异比较,采用深度学习技术应用于文本的著作权归属判定,作者身份识別,文本风格分析等多个領域。

自然语言处理的研究现状及发展趋势

AI中国网https://www.cnaiplus.com

自然语言处理(NaturalLanguageProcessing,简称NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然语言文本来表达给定的意图、思想等;前者称为自然语言理解,后者称为自然语言生成。近年来,NLP非常火,吸引着人们对它进行研究,并越来越多地应用于各个行业。正如国际知名学者周海中先生曾经所言:“自然语言处理是极有吸引力的研究领域,它具有重大的理论意义和实用价值。”

NLP融计算机科学、语言学、自动化、数学等为一体,是一门综合性的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。NLP并不是一般地研究自然语言,而是研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统;因而它是计算机科学的一部分。可以说,NLP是计算机科学、语言学、自动化、数学以及人工智能、知识工程等交叉学科关注计算机和自然语言之间的相互作用的领域。近年来,人工智能技术高速发展,已被应用到各个领域,机械、电子、经济甚至哲学,都有所涉及;人们对它的需求也从计算智能、感知智能到了以NLP为代表的认知智能的层面。没有成功的NLP,就不会有真正的认知智能。因此,NLP被视为人工智能极具吸引力的研究领域以及人工智能必须优先解决的核心问题之一,也被喻为人工智能技术上的“皇冠”。

由于人工智能包括感知智能(比如图像识别、语言识别和手势识别等)和认知智能(主要是语言理解知识和推理),而语言在认知智能起到最核心的作用。如果能把语言问题解决了,人工智能最难的部分也就基本解决了。美国微软公司创始人比尔▪盖茨先生曾经表示,“语言理解是人工智能领域皇冠上的明珠。”前微软公司全球执行副总裁沈向洋先生也在公开演讲时说:“懂语言者得天下……下一个十年,人工智能的突破在自然语言的理解……人工智能对人类影响最为深刻的就是自然语言方面。”由于理解自然语言需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以NLP也被视为解决人工智能完备(AI-complete)的核心问题之一。可以说,NLP目前是人工智能领域的关键核心技术,对它的研究也是充满魅力和挑战的。

NLP涉及的领域较多,主要包括机器翻译、语义理解和对话系统等。它目前面临四大挑战:一是在词法、句法、语义、语用和语音等不同层面存在不确定性;二是新的词汇、术语、语义和语法导致未知语言现象的不可预测性;三是数据资源的不充分使其难以覆盖复杂的语言现象;四是语义知识的模糊性和错综复杂的关联性难以用简单的数学模型描述,语义计算需要参数庞大的非线性计算。例如在对话系统中,深度学习目前已成为对话系统的一项基本技术;神经网络被应用于传统任务导向型对话系统的不同组成部分。近年来,端到端的框架不仅在非面向任务的聊天对话系统中流行,在面向任务的对话系统中也逐步流行起来,但是仍远非完美。又如在语义识别方面,需要对句法进行剖析,因此剖析在对话系统、信息抽娶语法检查中都起着非常重要的作用。

大约20世纪90年代开始,NLP领域发生了巨大的变化,各类分析模型的提出和面向真实语料大规模语义知识库的构建都为其发展提供了坚实的基矗这种巨变有两个明显的特征:(1)对系统的输入,要求研制的NLP系统能处理大规模的真实文本,而不是如以前的研究性系统那样,只能处理很少的词条和典型句子。只有这样,研制的系统才有真正的实用价值。(2)对系统的输出,鉴于真实地理解自然语言是十分困难的,对系统并不要求能对自然语言文本进行深层的理解,但要能从中抽取有用的信息。同时,由于强调了“大规模”和“真实文本”,所以下面两方面的基础性工作也得到了重视和加强:(1)大规模真实语料库的研制。大规模的经过不同深度加工的真实文本的语料库,是研究自然语言统计性质的基础;如果没有这样的语料库,统计方法只能是无源之水。(2)大规模、信息丰富的词典的编制工作。因此规模为几万,十几万,甚至几十万词,含有丰富的信息(如包含词的搭配信息)的计算机可用词典对NLP的重要性是很明显的。

目前存在的问题主要有两个方面:一方面,迄今为止的语法都限于分析一个孤立的句子,上下文关系和谈话环境对本句的约束和影响还缺乏系统的研究,因此分析歧义、词语省略、代词所指、同一句话在不同场合或由不同的人说出来所具有的不同含义等问题,尚无明确规律可循,需要加强语义学和语用学的研究才能逐步解决。另一方面,人理解一个句子不是单凭语法,还运用了大量的有关知识,包括生活知识和专门知识,这些知识无法全部贮存在计算机里。因此一个书面理解系统只能建立在有限的词汇、句型和特定的主题范围内;计算机的贮存量和运转速度大大提高之后,才有可能适当扩大范围。要实现人机间自然语言通信,必须解决NLP文本和对话的各个层次上广泛存在的各种各样的歧义性或多义性,如果解决了这一问题,那么人机间的有效通信。

如果说NLP是人工智能的皇冠,那么语义表示和理解技术就是皇冠上的明珠。目前人工智能领域的发展态势,在语义这一块已经到了重兵集结的程度。句法分析技术的进步,使得我们有希望从结构和算法方向逼近更加精准的语义解析;应用领域数据转化为知识的实践方兴未艾,知识图谱的技术栈里算力充足工具齐全,使得我们有希望从表示的方向为语义架桥铺路添砖加瓦。语义结构表示框架中,现有的知识图谱可以完美描述实体、关系、属性(状态)及其值这三类要素;但是剩下的还有事件、时间、空间、因果条件、逻辑模态等,我们必须对现有的知识图谱结构进行改造,才能适应这些语义要素的表示。

由于语言工程、认知科学等主要局限于实验室,目前来看数据处理可能是NLP应用场景最多的一个发展方向。实际上,自从进入大数据时代,各大平台就没有停止过对用户数据的深度挖掘。要想提取出有用的信息,仅提取关键词、统计词频等是远远不够的,必须对用户数据(尤其是发言、评论等)进行语义上的理解。另外,利用离线大数据统计分析的方法进行NLP任务的研究是目前非常有潜力的一种研究范式,尤其是谷歌、推特、百度等科技企业在这类应用上的成功经验,引领了目前大数据研究的浪潮。

NLP是为各类企业及开发者提供的用于文本分析及挖掘的核心工具,已经广泛应用在电商、金融、物流、医疗、文化娱乐等行业客户的多项业务中。它可帮助用户搭建内容搜索、内容推荐、舆情识别及分析、文本结构化、对话机器人等智能产品,也能够通过合作,定制个性化的解决方案。由于理解自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以NLP也被视为解决强人工智能的核心问题之一,其未来一般也因此密切结合人工智能技术发展,尤其是设计一个模仿人脑的神经网络。

训练NLP文本解析人工智能系统需要采集大量多源头数据集,对科学家来说是一项持续的挑战:需要使用最新的深度学习模型,模仿人类大脑中神经元的行为,在数百万甚至数十亿的注释示例中进行训练来持续改进。当下一种流行的NLP解决方案是预训练,它改进了对未标记文本进行训练的通用语言模型,以执行特定任务;它的思想就是,该模型的参数不再是随机初始化,而是先有一个任务进行训练得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练,以获得更好的预测性见解。

我们目前已进入一个以互联网为主要标志的海量信息时代,而这些海量信息大部分是以自然语言表示的。一方面,有关的海量信息可为计算机学习自然语言提供更多的“素材”;另一方面,这也为NLP提供更加宽广的应用舞台。例如,作为NLP的重要应用,搜索引擎逐渐成为人们获取信息的重要工具,出现了以谷歌、百度等为代表的搜索引擎巨头;机器翻译也从实验室走入寻常百姓家;基于NLP的中文输入法(如搜狗、微软、谷歌等输入法)成为计算机用户的必备工具;带有语音识别的计算机和手机也正大行其道,协助用户更有效地生活、工作和学习。

现在,NLP领域已经有了大量的人工标注知识,而深度学习可以通过有监督学习得到相关的语义知识,这种知识和人类总结的知识应该存在某种对应关系,尤其是在一些浅层语义方面。因为人工标注,本质上已经给深度学习提供了学习的目标;只是深度学习可以不眠不休地学习,这种逐步靠拢学习目标的过程,可能远比人类总结过程来得更快、更好。这一点,从谷歌公司旗下DeepMind研究团队开发的围棋软件AlphaGo短时间内连胜两位人类围棋高手的事实,似乎能够得到验证。

深度学习在NLP中的应用非常广泛,可以说横扫NLP的各个应用,从底层的分词、语言模型、句法分析、词性标注、语音识别等到高层的语义理解、语用阐释、对话管理、知识问答等方面都几乎都有深度学习的模型,并且取得了不错的效果。有关研究已从传统的机器学习算法转变成更有表现力的深度学习模型,如卷积神经网络和回归神经网络。不过,目前的深度学习技术还不具备理解和使用自然语言所必需的概念抽象和逻辑推理能力,这方面还有待今后进一步的研究。

有关NLP文本分析的研究目前主要集中于文本表示模型的选择和特征词选择算法的选取上。由于NLP文本是非结构化的数据,要想从大量的文本中挖掘有用的信息就必须首先将文本转化为可处理的结构化形式。人们通常采用向量空间模型来描述文本向量,但是如果直接用分词算法和词频统计方法得到的特征项来表示文本向量中的各个维,那么这个向量的维度将是非常的大。因此,必须对文本向量做进一步净化处理,在保证原文含义的基础上,找出对文本特征类别最具代表性的文本特征。为了解决这个问题,最有效的办法就是通过特征选择来降维。

长文本的智能解析是颇具挑战性的任务,如何从纷繁多变、信息量庞杂的冗长文本中获取关键信息,一直是文本领域难题;这一难题有待解决。另外,训练NLP文本解析人工智能系统需要采集大量多源头数据集,对科学家来说是一项持续的挑战:需要使用最新的深度学习模型,模仿人类大脑中神经元的行为,在数百万甚至数十亿的注释示例中进行训练来持续改进。当下一种流行的NLP解决方案是预训练,它改进了对未标记文本进行训练的通用语言模型,以执行特定任务。

互联网搜索引擎已经有一段时间让人们使用会话语言和术语来在线搜索事物。现在,谷歌公司的云端硬盘用户已经可以使用这一功能。用户可以搜索存储在谷歌云端硬盘中的文件和内容,就像使用谷歌搜索提供的对云端硬盘内置NLP的新支持一样。该功能使用户可以使用通常用词组表达的查询以及在实际对话中将要使用的查询来更轻松地找到所需的内容。谷歌公司在在线和移动搜索、移动应用程序以及GoogleTranslate等服务中广泛使用NLP;该公司在这一领域的研究是为提高机器阅读和理解人类语言能力所做的更广泛努力的一部分。随着谷歌调整其算法,NLP应该会随着时间的推移变得更好。

近年来,NLP处于快速发展阶段。各种词表、语义语法词典、语料库等数据资源的日益丰富,词语切分、词性标注、句法分析等技术的快速进步,各种新理论、新方法、新模型的出现推动了NLP研究的繁荣。互联网技术的普及与世界经济社会一体化的潮流对NLP技术的迫切需求,为NLP研究发展提供了强大的市场动力。NLP研究成果在服务应用的同时,而且还促进新兴学科,如生物信息学等的发展。另外,对于NLP的认识正促使计算机的体系结构发生着变化,NLP能力的提升将是下一代计算机追求的重要目标。

英国剑桥量子计算公司(CQC)最近宣布,他们利用自然语言的“固有量子”结构,开辟了一个全新的可能应用领域。其通过将语法句子翻译成量子线路,然后在量子计算机上实现生成的程序,并实际执行问答。这是第一次在量子计算机上执行NLP。通过使用CQC的一流的、平台无关的可重定目标编译器t|ket??,这些程序在IBM量子计算机上成功执行并得到结果,整个突破朝着实现“意义感知”和“语法知悉”的NLP方向迈出了有意义的一大步--这是计算机时代早期以来计算机科学家及计算语言学家追寻的梦想。

美国哈佛大学医学院的研究人员借助NLP技术日前开发出一种工具,可以评估新冠肺炎(COVID-19)患者的病例、社交媒体和健康卫生数据。他们率先努力通过使用机器学习技术查看来自各种来源的数据和信息(包括患者记录、社交媒体和公共卫生数据)来寻找新冠肺炎病毒的解决方案。借助NLP工具,他们还可以搜索有关新冠肺炎病毒的在线信息,并了解爆发的当前位置。另外,研究人员还利用NLP技术对新冠肺炎、药物和疫苗等密集展开研究,同时包括临床诊断与治疗以及流行病学研究等。

一个完整的NLP系统通常包含语音识别、语义识别、语音合成三部分;其中,中国的一些科技企业在语音识别和语音合成已处世界领先地位。语音识别是指让计算机“听到”人的语音,目前已经比较成熟,尤其汉语的语音识别领先英语;如百度、搜狗、科大讯飞,识别率均已达到97%左右。语音合成是指计算机将“回复”给人的语句,通过合成音频的形式,利用扬声器外放;目前,科大讯飞的语音合成技术代表了世界领先水平。

中国阿里达摩院的NLP研究团队最近提出优化模型StructBERT,能让机器更好地掌握人类语法,加深对自然语言的理解。使用该模型好比给机器内置一个“语法识别器”,使机器在面对语序错乱或不符合语法习惯的词句时,仍能准确理解并给出正确的表达和回应,大大提高机器对词语、句子以及语言整体的理解力。这一技术已广泛使用于阿里旗下阿里小蜜、蚂蚁金服、优酷等业务。阿里达摩院的语言模型和阅读理解技术也被用于行业赋能,推进人工智能技术在医疗、电力、金融等行业的落地。据悉,StructBERT模型最近被评为全球性能最强的NLP系统。

根据市场分析机构MordorIntelligence的一份报告,2019年全球NLP市场价值为109亿美元,预计到2025年将达到348亿美元,复合年增长率为21.5%。该报告指出,在过去的几年中,深度学习架构和算法在市场格局中取得了令人瞩目的进步,而语音分析解决方案正在主导着这一市场,因为传统的基于文本的分析已不足以处理复杂的业务问题。

总之,随着互联网的普及和海量信息的涌现,作为人工智能领域的研究热点和关键核心技术,NLP正在人们的生活、工作、学习中扮演着越来越重要的角色,并将在科技进步与社会发展的过程中发挥越来越重要的作用。

文/林峰(作者单位:美国波士顿大学工学院)

AI中国网https://www.cnaiplus.com

本文网址:

自然语言处理的发展历程

文章目录总览1957-19701994-NeuralLanguageModelMulti-tasklearningWordembeddingNeuralnetworksforNLPSeq2seqAttentionMemory-basednetworksPretrainedlanguagemodels神经网络的其他里程碑非神经网络方向的其他里程碑参考总览

NLP的发展趋势:规则—>统计—>深度学习。

自然语言处理的发展大致经历了4个阶段:1956年以前的萌芽期;1957-1970年的快速发展期;1971-1993年的低谷的发展期和1994年至今的复苏融合期。

57年快速发展的一个原因是:1956被称之为人工智能的元年,那一年召开了达特茅斯会议,首次正式提出了“人工智能”。

1956年8月,在美国汉诺斯小镇(其实就是美国的东北部沿海的一个州下面的一个镇)宁静的达特茅斯学院中,约翰·麦卡锡(JohnMcCarthy)、马文·闵斯基(MarvinMinsky,人工智能与认知学专家)、克劳德·香农(ClaudeShannon,信息论的创始人)、艾伦·纽厄尔(AllenNewell,计算机科学家)、赫伯特·西蒙(HerbertSimon,诺贝尔经济学奖得主)等科学家正聚在一起,讨论着一个完全不食人间烟火的主题:用机器来模仿人类学习以及其他方面的智能。

1957-1970

自然语言处理在这一时期很快融入了人工智能的研究领域中。由于有基于规则和基于概率这两种不同方法的存在,自然语言处理的研究在这一时期分为了两大阵营。一个是基于规则方法的符号派(symbolic),另一个是采用概率方法的随机派(stochastic)。

50年代中期开始到60年代中期,以Chomsky为代表的符号派学者开始了形式语言理论和生成句法的研究,60年代末又进行了形式逻辑系统的研究。这个的话属于非常理论的部分,大家如果上过或者《编译原理与技术》的话就很清楚,课中的内容很多就是出自于这个时期的研究。也就是说,形式语言理论是处理编程语言的工具,是编译器的重要组成部分。没有这个,就没有你今天看到的各种编程语言!

而随机派学者采用基于贝叶斯方法的统计学研究方法,在这一时期也取得了很大的进步。但由于在人工智能领域中,这一时期多数学者注重研究推理和逻辑问题,只有少数来自统计学专业和电子专业的学者在研究基于概率的统计方法和神经网络,

在这一时期中,基于规则方法的研究势头明显强于基于概率方法的研究势头。

1994-

90年代中期以后,有两件事从根本上促进了自然语言处理研究的复苏与发展。一件事是90年代中期以来,计算机的速度和存储量大幅增加,为自然语言处理改善了物质基础,使得语音和语言处理的商品化开发成为可能;另一件事是1994年Internet商业化和同期网络技术的发展使得基于自然语言的信息检索和信息抽取的需求变得更加突出。2000年之后的几个里程碑事件:2001年-神经语言模型2008年-多任务学习2013年-Word嵌入2013年-NLP的神经网络2014年-序列到序列模型2015年-注意力机制2015年-基于记忆的神经网络2018年-预训练语言模型

NeuralLanguageModel

语言模型解决的是在给定已出现词语的文本中,预测下一个单词的任务。这可以算是最简单的语言处理任务,但却有许多具体的实际应用,例如智能键盘、电子邮件回复建议等。当然,语言模型的历史由来已久。经典的方法基于n-grams模型(利用前面n个词语预测下一个单词),并利用平滑操作处理不可见的n-grams。

第一个神经语言模型是Bengio等人于2001年提出的。

论文名称:ANeuralProbabilisticLanguageModel

该论文是2001年发表在会议上,2003年发表在期刊上的,所以也有人说这篇论文发表时间是在2003年,这都无所谓。

Multi-tasklearning

论文名称:Aunifiedarchitecturefornaturallanguageprocessing:Deepneuralnetworkswithmultitasklearning

多任务学习是在多个任务下训练的模型之间共享参数的一般方法。在神经网络中,这可以通过绑定不同层的权重来轻松完成。直观地说,多任务学习鼓励模型学习对许多任务都有效的表征描述。这对于学习一般的低级表示,集中模型的注意力或在有限量的训练数据的设置中特别有用

Collobert在2008年首次将多任务学习应用于NLP的神经网络。在这一框架下,词嵌入矩阵被两个在不同任务下训练的模型共享.。

共享单词嵌入使模型能够在单词嵌入矩阵中协作和共享一般的低级信息,这通常构成模型中最大数量的参数。Collobert和Weston在2008年的论文中证明了它在多任务学习中的应用。它引领了诸如预训练单词嵌入和使用卷积神经网络(CNN)之类的方法,这些方法仅在过去几年中被广泛采用。他们也因此获得了2018年机器学习国际会议(ICML)的“时间测试”奖。多任务学习现在用于各种NLP任务,并且利用现有或“人工”任务已成为NLP指令集中的有用工具。虽然通常预先定义参数的共享,但是在优化过程期间也可以学习不同的共享模式。随着模型越来越多地评估多项任务以评估其泛化能力,多任务学习越来越重要,最近又有提出了多任务学习的专用基准。

Wordembedding

论文名称:EfficientEstimationofWordRepresentationsinVectorSpace。

这是Mikolov等人在2013年提出的,其使得大规模的词嵌入模型训练成为可能。其提供了两种训练方案:一个基于周围的单词预测中心词,一个是根据中心词来预测周围的单词。

虽然捕获的关系word2vec具有直观且几乎神奇的质量,但后来的研究表明word2vec没有任何固有的特殊性:通过矩阵分解也可以学习单词嵌入和通过适当的调整,像SVD和LSA这样的经典矩阵分解方法可以获得类似的结果。

一个特别令人兴奋的方向是将不同语言的单词嵌入投影到同一空间中以实现(零射击)跨语言转移。越来越有可能以完全无监督的方式(至少对于类似语言)学习良好的投影,这开启了低资源语言和无监督机器翻译的应用。

NeuralnetworksforNLP

2013年和2014年,三种主要类型的神经网络成为热点,应用到了NLP中:循环神经网络(recurrentneuralnetworks)、卷积神经网络(convolutionalneuralnetworks)和结构递归神经网络(recursiveneuralnetworks)。因此,这里有一大批论文,比如GRU的那一篇论文:LearningPhraseRepresentationsusingRNNEncoder–DecoderforStatisticalMachineTranslation。

RNN是处理NLP中普遍存在的动态输入序列的理想选择。VanillaRNNs很快被经典的长期短期记忆网络(LSTM)所取代,后者证明其对消失和爆炸梯度问题更具弹性。

随着卷积神经网络(CNN)被广泛用于计算机视觉,它们也开始应用于语言(Kalchbrenner等,2014;Kim等,2014)。用于文本的卷积神经网络仅在两个维度上操作,其中滤波器仅需要沿时间维度移动。下图显示了NLP中使用的典型CNN。

卷积神经网络的一个优点是它们比RNN更容易并行化,因为每个时间步的状态仅取决于本地环境(通过卷积运算)而不是像RNN中的所有过去状态。CNN可以使用扩张的卷积扩展到更宽的感受域,以捕捉更广泛的背景(Kalchbrenner等,2016)。CNN和LSTM也可以组合和堆叠,并且可以使用卷积来加速LSTM。RNN和CNN都将语言视为一个序列。然而,从语言学的角度来看,语言本质上是等级的:单词被组成高阶短语和子句,它们本身可以根据一组生产规则递归地组合。将句子视为树而不是序列的语言启发思想产生了递归神经网络。

自下而上构建序列的结构递归神经网络,与从左至右或从右至左对序列进行处理的循环神经网络相比,有着明显的不同。在树的每个节点处,通过组合子节点的表示来计算新表示。由于树也可以被视为在RNN上施加不同的处理顺序,因此LSTM自然地扩展到树形结构取代序列。不仅可以扩展RNN和LSTM以使用分层结构。不仅可以根据本地语言而且可以基于语法背景来学习单词嵌入(Levy&Goldberg,2014);语言模型可以基于句法堆栈生成单词(Dyer等,2016);图形卷积神经网络可以树状结构运行(Bastings等,2017)

Seq2seq

这里其实和上面有交叉,因为Seq2seq可以使用上述的RNN等来实现。所以,也是有一大批论文。2014年,Sutskever等人提出了序列到序列学习,一种使用神经网络将一个序列映射到另一个序列的通用框架。在该框架中,编码器神经网络逐符号地处理句子并将其压缩成矢量表示;然后,解码器神经网络基于编码器状态逐个预测输出符号,在每个步骤中将先前预测的符号作为预测下一个的输入.

机器翻译成了这个框架的杀手级应用。2016年,谷歌宣布开始用神经MT模型替换其基于单片短语的MT模型(Wu等,2016)。根据JeffDean的说法,这意味着用500行神经网络模型替换500,000行基于短语的机器翻译代码。由于其灵活性,该框架现在是自然语言生成任务的首选框架,不同的模型承担编码器和解码器的角色。重要的是,解码器模型不仅可以以序列为条件,而且可以以任意表示为条件。这使得例如基于图片生成描述(Vinyals等人,2015),基于表格的文本(Lebret等人,2016),基于源的描述、代码更改(Loyola等,2017),以及许多其他应用程序成为可能。

在这个架构中,一个叫做解码器,一个叫做编码器。通常基于RNN,但是可以使用其他模型类型。新架构主要来自机器翻译的工作,机器翻译将作为序列到序列架构的培养皿。

Attention

请注意一下,Attention机制首次提出是在这里,而不是那篇论文:attentionisallyouneed。

而是论文名称:NEURALMACHINETRANSLATIONBYJOINTLYLEARNINGTOALIGNANDTRANSLATE

注意力(Bahdanau等,2015)是神经MT(NMT)的核心创新之一,也是使NMT模型优于基于经典短语的MT系统的关键思想。序列到序列学习的主要瓶颈是它需要将源序列的整个内容压缩成固定大小的矢量。注意通过允许解码器回顾源序列隐藏状态来减轻这种情况,然后将其作为加权平均值提供给解码器的附加输入。

注意力机制是神经网络机器翻译(NMT)的核心创新之一,广泛适用,并且可能对任何需要根据输入的某些部分做出决策的任务有用。它已被应用于句法分析(Vinyals等,2015)、阅读理解(Hermann等,2015)和单样本学习(Vinyals等,2016)等等。输入的甚至不需要是一个序列,可以包括其他表示,比如图像的描述。注意力的一个有用的副作用是,通过根据注意力量检查输入的哪些部分与特定输出相关,它提供了罕见的对模型内部运作机制的观察。

注意也不仅限于查看输入序列;自我注意可用于查看句子或文档中的周围单词以获得更多上下文敏感的单词表示。这个注意力机制是Transformer架构的核心(Vaswani等,2017),这是目前最先进的NMT模型。

Memory-basednetworks

注意力可以看作是模糊记忆的一种形式,其中记忆由模型的过去隐藏状态组成,模型选择从记忆中检索的内容。有关注意事项及其与内存的关联的更详细概述,请查看此文章。已经提出了许多具有更明确记忆的模型。它们有不同的变体,例如神经图灵机(NeuralTuringMachines)、记忆网络(MemoryNetwork)、端到端的记忆网络(End-to-endMemoryNewtorks)、动态记忆网络(DynamicMemoryNetworks)、神经可微计算机(NeuralDifferentiableComputer)、循环实体网络(RecurrentEntityNetwork)。通常基于与当前状态的相似性来访问存储器,类似于注意机制,并且通常可以写入和读取存储器。模型在实现和利用内存方面有所不同。例如,端到端内存网络多次处理输入并更新内存以启用多个推理步骤。神经图灵机还具有基于位置的寻址,允许他们学习简单的计算机程序,如排序。基于内存的模型通常应用于任务,其中保留较长时间跨度的信息应该是有用的,例如语言建模和阅读理解。存储器的概念非常通用:知识库或表可以用作存储器,而存储器也可以基于整个输入或其特定部分来填充。

Pretrainedlanguagemodels

预训练的词嵌入与下游任务无关,仅用于初始化模型中的第一层。语言模型是无监督的,只需要未标记的文本;因此,培训可以扩展到数十亿单词的语料、新域和新语言。2015年首次提出了预训练语言模型(Dai&Le,2015);直到最近,它们才被证明对各种各样的任务都有益。语言模型嵌入可以用作目标模型中的特征(Peters等,2018),或者可以对目标任务数据微调语言模型(Ramachandran等,2017;Howard&Ruder,2018)。添加语言模型嵌入比许多不同任务的最新技术有了很大的改进。

已经展示了预训练语言模型,可以用更少的数据进行学习。由于语言模型仅需要未标记的数据,因此对于标记数据稀缺的低资源语言尤其有用。

预训练模型这个概念在2018年后大火。

神经网络的其他里程碑

其他一些发展不如上面提到的那么普遍,但仍然具有广泛的影响。比如基于字符的描述(Character-basedrepresentations),在字符上使用CNN或LSTM来获得基于字符的单词表示是相当普遍的,特别是对于形态学丰富的语言和形态信息很重要或具有许多未知单词的任务。据我所知,基于特征的表示首先用于序列标记(Lample等,2016;Plank等,2016)。基于字符的表示减少了必须以增加的计算成本处理固定词汇表的需要,并且能够实现诸如完全基于字符的NMT之类的应用(Ling等人,2016;Lee等人,2017)。对抗学习(Adversariallearning)已经全面入侵和颠覆了及其计算领域,并且在NLP中也以不同的形式使用。对抗性示例越来越广泛地被广泛使用,不仅作为探测模型和理解其失败案例的工具,而且还使它们更加强大(Jia&Liang,2017)。(虚拟)对抗性训练,即最坏情况的扰动(Miyato等,2017;Yasunaga等,2018)和域对抗性损失(Ganin等,2016;Kim等,2017)是有用的正规化的形式可以同样使模型更加坚稳。生成对抗网络(GAN)对于自然语言生成来说,还不是太有效(Semeniuta等,2018),但是例如在匹配分布时是有用的(Conneau等,2018)。强化学习(Reinforcementlearning)已经被证明对于具有时间依赖性的任务是有用的,例如在训练期间选择数据(Fang等,Wu等,2018)和建模对话(Liu等,2018)。RL对于直接优化诸如反向强化学习在奖励太复杂而无法指定的环境中可能是有用的,例如视觉叙事(Wang等,2018)。

非神经网络方向的其他里程碑

在1998年以及随后的几年中,引入了FrameNet项目(Baker等,1998),这导致了语义角色标记的任务,这是一种浅层语义分析,至今仍在积极研究中。在21世纪初期,与自然语言学习会议(CoNLL)共同组织的共同任务催化了核心NLP任务的研究,如分块(TjongKimSang等,2000),命名实体识别(TjongKimSang等,2003),以及依赖性解析(Buchholz等,2006)等。许多CoNLL共享任务数据集仍然是当今评估的标准。2001年,引入了条件随机区域(CRF;Lafferty等,2001),这是最具影响力的序列标记方法之一,在ICML2011中获得了时间测试奖.CRF层是核心部分目前最先进的模型用于序列标记问题与标签相互依赖性,如命名实体识别(Lample等,2016)。2002年,提出了双语评估替代研究(BLEU;Papineni等,2002)度量,这使得MT系统能够扩展,并且仍然是目前MT评估的标准度量。同年,引入了结构化先行者(Collins,2002),为结构化感知工作奠定了基础。在同一次会议上,引入了情感分析,这是最受欢迎和广泛研究的NLP任务之一(Pang等,2002)。这三篇论文都获得了2018年NAACL的时间测试奖。2003年引入了潜在的dirichlet分配(LDA;Blei等,2003),这是机器学习中使用最广泛的技术之一,它仍然是进行主题建模的标准方法。2004年,提出了新的最大边际模型,它们更适合捕获结构化数据中的相关性而不是SVM(Taskar等,2004a;2004b)。2006年,OntoNotes(Hovy等,2006)引入了一个具有多个注释和高交互注入协议的大型多语言语料库。OntoNotes已被用于培训和评估各种任务,例如依赖性解析和共参考解析。Milne和Witten(2008)在2008年描述了维基百科如何用于丰富机器学习方法。到目前为止,维基百科是用于训练ML方法的最有用的资源之一,无论是用于实体链接和消歧,语言建模,作为知识库还是各种其他任务。2009年,提出了远程监督的想法(Mintz等,2009)。远程监督利用来自启发式或现有知识库的信息来生成可用于从大型语料库中自动提取示例的噪声模式。远程监督已被广泛使用,并且是关系提取,信息提取和情感分析以及其他任务中的常用技术。

参考

https://www.jianshu.com/p/284a153c1cd6

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇