自然语言处理 NLP 的百年发展史
紧接着在1952年,生物学家阿兰·霍奇金(AlanHodgkin)和安德鲁·赫克斯利(AndrewHuxley)开发了一个数学模型来解释章鱼巨型轴突中神经细胞的行为,霍奇金-赫克斯利模型展示了人类的大脑如何利用神经元形成网络,首次将人类大脑的工作原理具象化地展示在世人面前。
这一系列颠覆性的研究成果在学术界引发轰动,激发了人工智能(AI)的思潮,同时也催生了自然语言处理(NLP)和计算机技术的发展。
NLP的早期理论基础
人们最早对NLP的探索始于对机器翻译的研究。1947年,美国科学家韦弗(W.Weaver)博士和英国工程师布斯(A.D.Booth)提出了利用计算机进行语言自动翻译的设想,机器翻译(MachineTranslation)从此步入历史舞台。
1957年,麻省理工学院的语言学教授诺姆·乔姆斯基(NoamChomsky)在他出版的《句法结构》一书中,革新了语言的概念,提出“要使计算机理解语言,就必须更改句子的结构。”
以此为目标,乔姆斯基创建了一种语法,称为“阶段结构语法”,该语法能够有条不紊地将自然语言句子翻译为计算机可以使用的格式。
1958年夏天,同样来自麻省理工学院的人工智能研究先驱约翰·麦卡锡(JohnMcCarthy)参与IBM资讯研究部的工作,研究符号运算及应用需求。但IBM旗下的Fortran表处理语言却未能支持符号运算的递归、条件表达式、动态存储分配及隐式回收等功能。
于是麦卡锡带领由MIT学生组成的团队开发了一门全新的表处理语言LISP,赋予了编程语言更强的数学计算能力。LISP语言后来也被称为人工智能的“母语”,成为早期人工智能研究人员的编程语言。
1964年,首个自然语言对话程序ELIZA诞生,该程序是由麻省理工学院人工智能实验室的德裔计算机科学家约瑟夫·维岑鲍姆(JosephWeizenbaum)使用一种名为MAD-SLIP的类LISP语言编写,运行在MIT实验室中36位的分时系统IBM7094(早期的晶体管大型计算机)上。
由于当时的计算能力有限,ELIZA只是通过重新排列句子并遵循相对简单的语法规则来实现与人类的简单交流。
用户通过电动打字机和打印机与程序进行远程交互,当用户键入一个句子并按Enter键时,消息被发送到服务端系统,ELIZA扫描邮件中是否存在关键字,并在新句子中使用该关键字以形成响应,返回打印给用户。
这种对话方式,给人的印象是计算机可以理解对话,又不必为对话提供任何新内容,仅用200行代码就产生了理解和参与的错觉。
在这一时期,虽然有了一定的理论基础以及像Eliza这样的初级产品,但在历时近12年并耗资近2000万美元后,机器翻译的成本还是远高于人工翻译,并且仍然没有任何计算机能够真正实现基本的对话。
于是在1966年,美国国家研究委员会(NRC)和自动语言处理咨询委员会(ALPAC)停止了对自然语言处理和机器翻译相关项目的资金支持,AI和NLP的发展因此陷入停滞。
此时,许多学者认为人工智能和自然语言处理的研究进入了死胡同。人类早期结合语言学与统计学对AI/NLP的初步探索以失败告终。
NLP的回归
直到1980年,在美国的卡内基梅隆大学召开了第一届机器学习国际研讨会,标志着机器学习研究在全世界的重新兴起。
在某种程度上来说,长达14年的真空期也让NLP界有时间冷静下来寻求新的突破。于是,早期的机器翻译概念被推翻,新的思想促进了新的研究。
早期的自然语言处理研究中,很流行语言学和统计学的混合,大多数NLP系统都使用复杂的“手写”逻辑规则。而现在,这一理念被纯粹的统计学所取代。
20世纪80年代,得益于计算能力的稳定增长以及机器学习的发展,研究人员开始对AI和NLP进行根本性的重新定位,用简单的近似法取代了深入的分析法,评估过程也变得更加量化。
经过一些挫折后,一种前馈神经网络模型MLP由伟博斯在1981年的神经网络反向传播(BP)算法中具体提出。当然BP仍然是今天神经网络架构的关键因素。
有了这些新思想,神经网络的研究又加快了。1985-1986年,一些神经网络研究学者先后提出了MLP与BP训练相结合的理念。
随后,一个非常著名的ML算法由罗斯·昆兰(RossQuinlan)在1986年提出,我们称之为决策树算法,更准确的说是ID3算法。这是另一个主流机器学习的重要里程碑。
与黑盒神经网络模型截然不同的是,决策树ID3算法也被作为一个软件,通过使用简单的规则和清晰的参考可以找到更多的现实生活中的使用情况。
决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。
决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。
决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。
决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。
语言模型简单来说就是一串词序列的概率分布。具体来说,语言模型的作用是为一个长度为m的文本确定一个概率分布P,表示这段文本存在的可能性。在实践中,如果文本的长度较长,P(wi|w1,w2,...,wi−1)的估算会非常困难。
因此,研究者们提出使用一个简化模型:n元模型(n-grammodel)。在n元模型中估算条件概率时,只需要对当前词的前n-1个词进行计算。
在n元模型中,传统的方法一般采用频率计数的比例来估算n元条件概率。当n较大时,机会存在数据稀疏问题,导致估算结果不准确。因此,在百万词级别的语料中,一般也就用到三元模型。
语言模型简单来说就是一串词序列的概率分布。具体来说,语言模型的作用是为一个长度为m的文本确定一个概率分布P,表示这段文本存在的可能性。在实践中,如果文本的长度较长,P(wi|w1,w2,...,wi−1)的估算会非常困难。
因此,研究者们提出使用一个简化模型:n元模型(n-grammodel)。在n元模型中估算条件概率时,只需要对当前词的前n-1个词进行计算。
在n元模型中,传统的方法一般采用频率计数的比例来估算n元条件概率。当n较大时,机会存在数据稀疏问题,导致估算结果不准确。因此,在百万词级别的语料中,一般也就用到三元模型。
为了缓解n元模型估算概率时遇到的数据稀疏问题,研究者们提出了神经网络语言模型。1997年,LSTM递归神经网络(RNN)模型被引入,并在2007年找到了语音和文本处理的利基市场。目前,神经网络模型被认为是NLP对文本和语音生成理解的最前沿研究。
2001年,法国AI专家约书亚·本吉奥(YoshioBengio)发表了一篇论文,提出了一种全新的语言神经网络模型。该模型使用前馈神经网络描述了一种不使用连接来形成循环的人工神经网络。
在这种类型的网络中,数据仅在一个方向上移动,从输入节点到任何隐藏节点,再到输出节点。前馈神经网络没有循环,与递归神经网络有很大不同。
本吉奥带来的全新思路启发了之后的很多基于神经网络的NLP学术研究,在工业界也得到了广泛使用,助力了NLP的应用在未来几年的加速落地。
此外,还有梯度消失(gradientvanishing)的细致分析,word2vec的雏形,以及如今实现的机器翻译技术都有本吉奥的贡献。
当代NLP的研究
经过长期的发展,自然语言处理(NLP)被人们系统地定义为人工智能中的一门分支学科。除了机器翻译与人机交互意外,NLP还包含以下高级功能的研究:
内容分类:语言文档摘要,包括内容警报,重复检测,搜索和索引。
主题发现和建模:捕获文本集合的主题和含义,并对文本进行高级分析。
上下文提取:自动从基于文本的源中提取结构化数据。
情绪分析:识别存储在大量文本中的总体情绪或主观意见,用于意见挖掘。
文本到语音和语音到文本的转换:将语音命令转换为文本,反之亦然。
文档摘要:自动创建摘要,压缩大量文本。
机器翻译:自动将一种语言的文本或语音翻译成另一种语言。
内容分类:语言文档摘要,包括内容警报,重复检测,搜索和索引。
主题发现和建模:捕获文本集合的主题和含义,并对文本进行高级分析。
上下文提取:自动从基于文本的源中提取结构化数据。
情绪分析:识别存储在大量文本中的总体情绪或主观意见,用于意见挖掘。
文本到语音和语音到文本的转换:将语音命令转换为文本,反之亦然。
文档摘要:自动创建摘要,压缩大量文本。
机器翻译:自动将一种语言的文本或语音翻译成另一种语言。
在2011年,苹果公司的Siri成为世界上第一个成功被普通消费者使用的NLP/AI助手之一。在Siri中,自动语音识别模块将所有的单词转换为数字解释的概念。
然后,语音命令系统会将这些概念与预定义的命令进行匹配,从而启动特定的操作。例如,如果Siri问:“您想听一下您的余额吗?”它会理解你将要回答的“是”或“否”,并采取相应的行动。
通过使用机器学习技术,所有者的口语模式不必与预定义的表达式完全匹配。对于NLP系统来说,声音必须合理地接近才能正确翻译含义。通过使用反馈循环,NLP引擎可以显着提高其翻译的准确性,并增加系统的词汇量。
训练有素的系统会理解“我在哪里可以得到大数据的帮助?”这样的字眼。“我在哪里可以找到大数据专家?”或“我需要大数据方面的帮助”,并提供适当的答复。
对话管理器与NLP的组合,使开发一个能够真正与人类对话的系统成为可能。2014年6月8日,一个名为尤金·古斯特曼(EugeneGoostman)的电脑聊天程序成功让参与测试的33%人类裁判相信它是一个13岁的男孩,成为有史以来首台通过图灵测试的计算机。
NLP的未来
近年来,在NLP领域中,使用语言模型预训练方法在多项NLP任务上都取得了突破性进展,广泛受到了各界的关注。
前文提到,目前神经网络在进行训练的时候基本都是基于后向传播(BP)算法,通过对网络模型参数进行随机初始化,然后通过BP算法利用例如SGD这样的优化算法去优化模型参数。
那么预训练的思想就是,该模型的参数不再是随机初始化,而是先有一个任务进行训练得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练。
即通过在大量的语料上预训练语言模型,然后再将预训练好的模型迁移到具体的下游NLP任务,从而提高模型的能力。
得益于目前硬件算力的提升,预训练语言模型的参数规模呈指数倍增长。其中,GPT模型是OpenAI在2018年提出的一种新的ELMo算法模型,该模型在预训练模型的基础上,只需要做一些微调即可直接迁移到各种NLP任务中,因此具有很强的迁移能力。
2019年推出的GPT-2拥有15亿参数,到了2020年推出的GPT-3已经拥有惊人的1750亿参数,不仅能轻松通过图灵测试,还能完成包括写代码在内的大部分NLP任务。
神经网络之父、图灵奖获得者杰弗里·辛顿(GeoffreyHinton)表示,“鉴于GPT-3在未来的惊人前景,可以得出结论:生命、宇宙和万物的答案,就只是4.398万亿个参数而已。”
这一观点也引发了人们的广泛讨论,被认为是对NLP发展尽头的预言。当未来人类的算力不断突破极限时,包含全人类文明的GPT-N是否会是NLP的终点呢?返回搜狐,查看更多
人工智能与自然语言处理简介:AI三大阶段、NLP技术与应用
自然语言处理的概念
自然语言处理(NLP)是指机器理解并解释人类写作、说话方式的能力。NLP的目标是让计算机/机器在理解语言上像人类一样智能。最终目标是弥补人类交流(自然语言)和计算机理解(机器语言)之间的差距。
下面是三个不同等级的语言学分析:
句法学:给定文本的哪部分是语法正确的。语义学:给定文本的含义是什么?语用学:文本的目的是什么?NLP处理语言的不同方面
音韵学:指代语言中发音的系统化组织。词态学:研究单词构成以及相互之间的关系。NLP中理解语义分析的方法
分布式:它利用机器学习和深度学习的大规模统计策略。框架式:句法不同,但语义相同的句子在数据结构(帧)中被表示为程式化情景。理论式:这种方法基于的思路是,句子指代的真正的词结合句子的部分内容可表达全部含义。交互式(学习):它涉及到语用方法,在交互式学习环境中用户教计算机一步一步学习语言。NLP流程
如果要用语音产生文本,需要完成文本转语音任务
NLP的机制涉及两个流程:1.自然语言理解;2.自然语言生成
自然语言理解(NLU)
NLU是要理解给定文本的含义。文本内每个单词的特性与结构需要被理解。在理解结构上,NLU要理解自然语言中的以下几个歧义性:
词法歧义性:单词有多重含义句法歧义性:语句有多重解析树语义歧义性:句子有多重含义回指歧义性(AnaphoricAmbiguity):之前提到的短语或单词在后面句子中有不同的含义。自然语言生成(NLG)
NLG是从结构化数据中以可读地方式自动生成文本的过程。
自然语言生成可被分为三个阶段:
1.文本规划:完成结构化数据中基础内容的规划。
2.语句规划:从结构化数据中组合语句,来表达信息流。
3.实现:产生语法通顺的语句来表达文本。
NLP与文本挖掘(或文本分析)之间的不同
自然语言处理是理解给定文本的含义与结构的流程。
文本挖掘或文本分析是通过模式识别提起文本数据中隐藏的信息的流程。
自然语言处理被用来理解给定文本数据的含义(语义),而文本挖掘被用来理解给定文本数据的结构(句法)。
我们为什么需要NLP
有了NLP,有可能完成自动语音、自动文本编写这样的任务。由于大型数据(文本)的存在,我们为什么不使用计算机的能力,不知疲倦地运行算法来完成这样的任务,花费的时间也更少。这些任务包括NLP的其他应用,比如自动摘要(生成给定文本的总结)、机器翻译及合同文档比对等。
NLP技术可以应用在哪些业务中呢?
举一个列子,合同审核是企业防范法律风险的必要程序,尤其在风控要求高的企事业单位,如信托、基金、证券等行业,合同的审查要求非常严格。
在一些大的企事业单位中,合同条款非常详细,为了提高合同签署效率,合同设定为模板化的制式合同,为了防止合同被另一方恶意修改,制式合同的出具方需要对合同的全部文字条款做确认,如此,文本审核的工作量非常大。
传统的法务审核方式不仅效率低下,且容易受审核人员业务素养、体力、精神状态等因素的影响出现差错,一旦审核出现疏漏,损失将是巨大的。
合同智能识别与合同比对机器人,利用机器视觉智能识别输入两份合同,并自动标注前后合同的差异,实现计算机替代人工肉眼审核比对,解决合同比对工作中纯人工审核造成的时间成本高、人力成本高和风险高等难题。
传统合同比对缺点
1、风险高
人工审核错误率和遗漏率高,业务口或合约方篡改合同,引发法律和经济风险等;
2、时间成本高
合同份数多、页码多、工作量大、费神费力、人工审核效率低,审核速度慢;
3、人力成本高
雇佣金融或法律精英作为审核员,雇佣成本高;从事地段重复的工作,员工变动大;
4、传统合同比对场景再现
开始比对合同,然后销售人员或者客户催着问合同审核情况。终于完成了一份篇幅很长的合同的比对。这时,人已经有点疲惫了,必须休息一下眼睛和大脑。完成了一天的合同比对工作,终于下班了,精疲力尽。最后查看一天的工作量仅仅完成了几份合同审核比对。效率严重低下,还担心中间浏览速度过快,有没有出差错。不错则已,一错惊人。
反之,如果应用上具备NLP技术的合同比对机器人,3分钟即可完成一份60页的合同审核比对。3个小时基本上完成一整天的工作量,把财务人员从枯燥重复、机械乏味的审核比对工作中解脱出来,从事更有价值的工作。
合同比对机器人为何如此强大?
1、产品功能技术特点
1)采用先进的全文识别技术,配合独创的比对引擎。
2)图像处理技术
图像的倾斜校正:软件会将扫描倾斜的合同自动矫正;噪声去除:扫描好的合同会有黑点等杂质,影响文字识别,应用噪声去除识别技术,提高识别率;文本检测:准确率高达98%;3)版面分析、表格分析、文字分析(NLP)技术
基于深度学习的版式自动识别,自动检测合同上文本区域和表格区域,对表格线拆分,然后提取其中的内容,达到每字每段都不遗漏,从而实现全文识别。
4)OCR字符识别
单字符识别率达到98%,误差小。
5)数据组织输出
360度无死角,每个字符的位置信息都能精确输出。
6)文字行自动比对
系统自动对两份合同进行逐行的文字比对,进行全字匹配,标注出不一致的文字。对于多行、少行的等其他文字,系统也能自动发现并提示。
2、产品价值
1)提升效率:自动识别、自动比对,并标识合同差异;
2)提升风控力:软件比对结果辅助人工审核,降低出错率,降低企业风险,避免重大损失;
3)提升价值:解放重复性体力劳动,可从事其他高附加值工作。
3、适用行业
保险、证券、银行、电讯、基金、信托等风控要求高的机构和合同量大的大中型企业。返回搜狐,查看更多