Natural 自然语言处理(NLP)「全解析」

原文来源: 机器人圈

概要:在自然语言处理方面的研究已经延续了五十多年,而随着计算机的兴起,它的发展也早已超出了语言学的范畴。


提起AI,你可能会不假思索的想到自然语言处理、人脸识别、无人驾驶等。那么,你对这些真的了解吗?接下来,我们就以自然语言处理为例,来仔细说一说。


自然语言处理(Natural Language Processing),简称NLP,广义上定义为通过软件对诸如语音和文本这样的自然语言进行自动操作。


在自然语言处理方面的研究已经延续了五十多年,而随着计算机的兴起,它的发展也早已超出了语言学的范畴。


而当你读完本篇文章之后,你就会明白什么是自然语言处理,以及它为什么那么重要:


•什么是自然语言?它与其他类型的数据有什么不同?


•什么使得处理自然语言的工作变得如此具有挑战性?


•NLP的领域来自哪里?现代从业者是如何对其进行界定的?


现在我们就来深入探索一下!


自然语言


自然语言是指我们作为人类来说,人与人之间相互沟通的方式,即语音和文本。而我们无时不刻地处在文本的包围之中。


想象一下你每天将会看到多少文本:


•符号


•菜单


•电子邮件


•短信


•网页


•还有更多……


甚至可以说,这个名单是无休无止的。


现在我们先来考虑一下语音。


人类作为一个物种,我们可以相互交流,而这要远远超过我们所需要进行的写作。我们不得不承认,相对写作来说,学会说话要简单得多。


语音和文字是我们进行相互交流的方式。


鉴于这种类型的数据的重要性,我们必须有方法来了解和理解自然语言,就像我们对其他类型的数据一样。


自然语言的挑战


使用自然语言数据所存在的问题还没有得到解决。


该领域的专家已经对其进行了半个多世纪的研究,但必须要承认,它真的很难。


对于那些必须花费好多年来学习获得一门语言的孩子来说,这是很难的;对于一个学习语言的成年人来说,这是很难的;对于那些尝试建模的科学家来说,这是很难的;同样,对于那些尝试构建处理自然语言输入或输出系统的工程师来说,这也是很难的。这些任务是如此的困难,以至于图灵将可以用自然语言进行流畅的交流作为他对智能测试的核心。


——2010年《数学语言学》,第248页


自然语言之所以难主要是因为它很混乱,几乎没有规则可循。


不过大部分的时间里我们而已很容易地彼此相互理解。


人类语言是非常模糊的……它也在不断变化和演变。从古至今,人类在创造语言、理解语言方面是非常擅长的,并且能够表达,感知和解读非常精细和细微的含义。同时,虽然我们人类是语言使用的极大群体者,但我们在形式理解和描述用以管理语言的规则方面还存在一定的欠缺。


——2017年《自然语言处理中的神经网络方法》,第1页


从语言学到自然语言处理


语言学


语言学是对语言进行的科学研究,包括语法、语义学和语音学。


古典语言学涉及到语言规则的设计和评估,在语法和语义学的形式方法上取得了很大的进步,但在大多数情况下,自然语言理解中存在的很多有趣的问题遏制了清晰的数学形式。


广义上来说,语言学家可以是学习语言的任何人,但更通俗地说,一个以语言学家自居的人可能更侧重于此领域之外的领域。


数学是科学的工具。从事自然语言工作的数学家可能将他们的研究称为数学语言学,仅专注于离散数学形式学的使用和自然语言理论(例如形式语言和自动机理论)。


计算语言学


计算语言学是使用计算机科学工具对语言学进行的现代研究。昨天的语言学可能是今天的计算语言学家,因为计算工具的使用和思考方式的改变已然跨越了研究的大多数领域。


计算语言学是对理解和产生自然语言的计算机系统的研究。计算语言学的一个本质上的功能将是对理论语言学家提出的语法进行测试。


——1986年《计算语言学》导言,第4-5页


大数据和计算机的发展意味着,通过编写和运行软件,可以从大量文本数据集中发现新的、不同的事物。


在20世纪90年代,统计方法和统计机器学习开始盛行,并最终取代了经典的自上而下的基于规则的语言方法,而这主要得益于它们结果的优良性、速度的快捷性、以及鲁棒性。现在研究自然语言的统计方法主导了这一领域,它可以定义这个领域。


现如今,数据驱动的自然语言处理方法受到了广泛的欢迎,以至于被认定是计算语言学的主流方法。导致这一发展的一个强有力的因素无疑是可用的电子存储数据的增加量,从而为这些处理方法的应用提供了充足的数据量。由于其观察到的脆性,另一个因素可能是在看到现存方法的脆弱性之后对过分依赖手工制动规则的觉醒。


——2005年《牛津计算语言学手册》,第358页


自然语言的统计方法不仅限于统计本身,而且还包括用于应用机器学习中的高级推理方法。


理解自然语言并不是一件简单的事情,这需要大量的关于形态学、语法、语义和语用学知识,以及对世界的普遍认识。获取和对所有这些知识进行编码是开发具有良好有效性和鲁棒性的语言系统的根本障碍之一。就像统计方法一样,机器学习方法并没有做到这一点,即从带有注释或未注释的语言语料库中自动获取这种知识。


——2005年《牛津计算语言学手册》,第377页


统计自然语言处理


计算语言学也被称为自然语言处理或NLP,以反映统计方法的更为基于工程师或经验的方法性一面。


该领域的统计优势还常常导致NLP被描述为统计自然语言处理,也许是为了将其与经典计算语言学方法区别开来。


我认为计算语言学既具有科学的一面又具有工程学的一面。称为工程学的这一面,通常称为自然语言处理(NLP),主要涉及构建计算工具,以便使用语言做有用的事情,例如机器翻译、总结、问答等。与任何工程学科一样,自然语言处理也涵盖了各种不同的科学学科。


——2009年《统计变革是如何改变(计算)语言学的》



语言学是一个很大的研究课题,虽然NLP的统计学方法在某些领域取得了巨大的成功,但从传统的自上而下的方法来看,仍然有很大的空间和巨大的收益。


粗略地说,统计NLP将概率与在分析话语或文本过程中遇到的替代方案相关联,并将最可能的结果接受为正确的结果。 ......毫不奇怪的是,词语的名称现象在世界上都是密切相关的,或者我们对它的认知,在关于世界的事实反映在文本的一些模糊事实上,经常彼此接近。这个观点有很大的争论空间。

 

——2005年《牛津计算语言学手册》,第19页

 

自然语言处理

 

作为对处理文本数据感兴趣的机器学习从业者,我们关注自然语言处理领域中的工具和方法。

 

在前面的内容中,我们已经看到了从语言学到NLP的路径。现在,我们来看看现代研究人员和从业人员如何定义NLP的所有内容。

 

在这一领域最顶尖研究人员撰写的教科书中,他们将这个学科称为“语言科学”,允许讨论古典语言学和现代统计学方法。


语言科学的目的是能够描述和解释围绕在我们周围的大量语言观察,在对话、写作和其他媒体中。其中一部分与人类获取、产生和理解语言的认知范围有关,一部分与理解语言话语与世界的关系有关,一部分与了解用哪种语言沟通的语言结构有关。

 

——1999年《统计自然语言处理基础》,第3页

 

他们通过在自然语言处理中使用统计方法继续关注推理过程。


统计NLP旨在对自然语言领域进行统计推理。统计推理通常包括采取一些数据(根据一些未知概率分布生成),然后对该分布进行一些推断。

 

—— 1999年《统计自然语言处理基础》,第191页

 

在应用自然语言处理的文本中,作者、NLP的知名NLPK Python库的贡献者将其广泛描述为使用计算机来处理自然语言数据。


我们将采用自然语言处理(简称NLP),涵盖了对自然语言任何类型的计算机操作。一方面,它可以简单地计算单词频率来比较不同的写作风格。另一方面,NLP涉及“理解”完整的人类言语,至少在能够给予有效回应的程度上。

 

——2009《用Python进行自然语言处理》,第9页

 

统计NLP已经转向另一个角度,现在强调使用深度学习神经网络来对特定任务进行推理,并开发强大的端对端系统。

 

在第一本专门针对这一新兴主题的教科书中,Yoav Goldberg简洁地将NLP定义为将自然语言作为输入或生成自然语言作为输出的自动方法。

 

自然语言处理(NLP)是指人类语言的自动计算处理的总称。这包括将人类生成的文本作为输入的算法,以及生成自然文本作为输出的算法。


——2017年《自然语言处理中的神经网络方法》,第17页

 

进一步阅读

 

如果你想更深入了解,本部分将提供有关该主题的更多资源。

 

图书:

《数学语言学》,2010,http://amzn.to/2tO1cOO


《自然语言处理中的神经网络方法》,2017,http://amzn.to/2u0JtPl


《计算语言学:导论》,1986,http://amzn.to/2h6U4qY


《牛津计算语言学手册》,2005年,http://amzn.to/2uHeERE 


《统计自然语言处理基础》,1999,http://amzn.to/2uzwxDE


《用Python进行自然语言处理》,2009,http://amzn.to/2uZMF27

 

维基百科:

维基百科上的语言学,https://en.wikipedia.org/wiki/Linguistics


维基百科上的计算语言学,https://en.wikipedia.org/wiki/Computational_linguistics


维基百科上的自然语言处理https://en.wikipedia.org/wiki/Natural_language_processing


维基百科上的自然语言处理史https://en.wikipedia.org/wiki/History_of_natural_language_processing


维基百科上的自然语言处理概要https://en.wikipedia.org/wiki/Outline_of_natural_language_processing

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大脑神经细胞也有老熟人

来源:科学网概要:观察者在没注意到熟悉的画面时,相应的神经元也会发射。但神经反应的强度和时间上与看到时的有明显差异。当人们看到认识的人图片时,比如著名的网球运动员Roger Federer或女演员Halle Berry,特定的细胞…

从生成对抗网络到更自动化的人工智能

来源:中国计算机协会作者:黄鹤 王长虎概要:“What I cannot create, I do not understand.” 这是著名物理学家费曼的一句名言。把这句话放在人工智能领域,可以理解为:要想让机器真正理解某样东西,就得让…

百度人工智能

来源:199IT互联网数据中心概要:人工智能的发展运用到生活的各个方面。

java9 揭秘 jlink_初试Java9

原标题:初试Java9Java 9 正式发布了JDK 9(http://openjdk.java.net/projects/jdk9/)有不少重要或是有意思的新特性,这里简单介绍下我的了解与尝试抛砖引玉下载oracle 官网下载即可。(http://www.oracle.com/technetwork/java/javase/downloads/jdk9-down…

前沿报告|AI系列报告之:智能计算芯片

来源:中国电子技术化标准研究院 概要:人工智能时代的到来,智能计算芯片需求旺盛颇具投资价值

java编译命令带参数_java编译命令基础知识点

我们在对计算机下达指令时,人类的语言它是不能够明白,需要通过编译的时候翻译成计算机能听懂的语言。编译过程中会调用javac命令,这点大家可能接触的不多,毕竟是是计算机程序内部运行时的操作。下面我们就编译的概念、命令带来讲解…

一文读懂工业物联网 全面起底核心玩家和技术体系

来源:智东西概要:未来10年内,全球物联网将创造10多万亿美元的价值,约占全球经济的1/10,并与城市管理、生产制造、汽车驾驶、能源环保等形成数个千亿级规模以上的细分市场。物联网进入与传统产业深度融合发展的崭新阶段…

java 枚举可以循环吗_(转载)java 枚举 循环遍历以及一些简单常见的使用

本文转载自:http://blog.csdn.net/qq_27093465/article/details/51706076 作者:李学凯什么时候想用枚举类型:有时候,在设计一个java model对象的时候,你需要一些具体的常量字符串之类的东西,这个东西又没必…

【免费获取】80+页PPT全方位解读半导体行业

来源:新材料在线概要:全方位解读半导体行业

java的构造特点_JAVA学习第八课(构造函数及其特点)

构造函数:构造函数,就是在构建 创造对象 时所调用的函数,作用就是给对象进行初始化特点:1.函数名和类名相同2.不需要定义返回值类型3.没有具体的返回值作用:给对象进行初始化注意:1.默认构造函数的特点2.多…

深度学习处在大爆炸时代的边缘

原作者:Alex Hickey译者:宋榕概要:人工智能(AI)、机器学习和深度学习的早期应用有望在短期和长期内分别取得的创造性和生产性效益。因此多数服务提供商正在逐步加大在深度学习上的投资。据Gartner咨询公司报道&#xf…

AI在行动:改变科学界的人工智能

来源:世界科学概要:社交媒体拥有数以亿计的用户,他们每年发布数以千亿计的微博和帖子,这将社会科学推向了大数据时代。人工智能“知道”星系应该是什么样的,它把一张模糊的图像(左)变成了一张清…

java web js加版本号_[Java教程]js 比较版本号(一)

[Java教程]js 比较版本号(一)0 2016-07-03 15:00:13最近群了有人问如何比较版本号,我好奇的试了一下。比较版本号,怎么办?懒人的方法是借鉴,先查网上的资料,看看有木有直接的帮过来的。而且直接便捷的好像在茫茫"…

麦肯锡全球调研160个案例,发布5个行业34个AI应用场景

来源:全球人工智能概要:“我觉得不行!”;“我觉得可以!”这正是现在大家看待AI的两种态度。“我觉得不行!”;“我觉得可以!”这正是现在大家看待AI的两种态度。有人觉得现在去谈人工…

让计算机拥有一双眼睛,人工智能科学家已经努力了半个世纪

来源:科技行者概要:计算机算法可以从面相判断一个人的性取向,引发了对隐私、道德、伦理问题的争议。然而回过头去看,在人工智能领域,它是图像识别和机器人视觉的核心部分。最近斯坦福大学一篇论文《Deep neural networ…

php点击验证码,用PHP实现验证码功能

作者:hutuworm 来源:糊涂馋寺牐犇壳埃不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉…

业界 | 计算芯片革命来临?英伟达谷歌入局紧逼英特尔

来源:AI科技评论概要:为了能够满足高速增长的计算需求,一些科技巨头们现在正从生物学中寻找灵感。他们正在重新思考电脑的本质,然后建造更像人类大脑的机器:神经系统里要有一个中央脑干,然后把听、说这样的…

php tp框架分页源代码,ThinkPHP3.2框架自带分页功能实现方法示例

本文实例讲述了ThinkPHP3.2框架自带分页功能实现方法。分享给大家供大家参考,具体如下:1.前端-分页代码:{$page}2.创建分页样式:如page.css 并将以下代码复制到该文件中.pages{float: right}.pages a,.pages span {display:inline…

【研究报告】城市云脑,智慧城市2.0产生背后的深层原因,两个重要特征是关键

作者:计算机博士,互联网进化论作者 刘锋到2017年,智慧城市与脑的关键词不断涌现,在互联网云脑的研究基础上,城市云脑形成更为清晰的定义,从2009年智慧地球和智慧城市提出以来,经过8年时间&#…

机器人也需要拥有属于自己的性格

原作者:STEPH HAY, CAPITAL ONE译者:彭婷概要:建立信任最有效的方法之一就是在你的每一次互动中始终如一地展示你的人格的完整性。现实生活中是如此,在AI中也是如此。对话设计师Mindy Gold曾经设计出一款没有明确名称以及性别的健…