Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

自然语言处理(NLP)概念浅析及国内外学习资料盘点

近来,人工智能(AI)行业利好消息不断,各大巨头都在积极拼抢这个领域的人才,笔者最近也频繁收到相关方面的咨询和讨论,不得不说,有时候大家真的搞错。人工智能是个非常大的概念,囊括了几乎所有学科,并非单纯计算机、通信、声学、光学等领域,也并非热炒的机器学习(例如深度学习强化学习)就能实现的。然而,基于大数据和机器学习的狭义人工智能,确实已经给人类生活带来了巨大的变化,比如搜索、电商、广告、社交、语音等等。

一直以来,人们似乎都把语音识别看的极其重要,并认为语音识别就是最接近人工智能的领域。实际上这是一个误区,语音和按键、触摸、手势等方法一样,只是人类交互的一种手段。也有很多人认为语音帮助人类产生了智慧,然而,这一观点并没有有力的证据支撑。目前,这方面的基础研究还没有实质性的进展,我们对人体精密构造的认知还是非常浅薄的,至于智慧更是几乎一无所知。唯一能推断的就是,语音交互确实是我们获取知识的一种重要手段。

鉴于以上的认识和误解,笔者认为应该写篇这方面的科普文章,虽然笔者也不精通这个领域,但是我们可以从底层声学这个范畴来思考和讨论一下人工智能相关的概念,确实这方面通俗易懂的资料太少了,也希望更多学术和产业领域的大牛们来指正和探讨。

在此,笔者要先摆明自己的观点,目前人工智能的相关应用中,语音识别并非是关键点,而且语音识别也并未给我们生活带来多大变化。语音识别经过十多年的高速发展,特别是结合深度学习的融合发展,目前的精度已经相当高,然而达到99%以后,再提升就显得非常困难。但为什么语音识别的精度到达如此程度,我们却对其仍然不满意呢?其实,这和语音识别的关系不大,是我们误把语言理解的概念强加给了语音识别。实际上,语音识别只是人工智能中的一个小学科,现在也可以算是深度学习中的一个分支。类似于人类,语音识别至多是我们听觉系统内的一个神经单元,只负责将语言转化成人类可听到的信号激励,若在计算机应用中,就是转化成我们常说的文字。

那么关键点在哪?从各大巨头发布的宣传资料和介绍的相关信息来看,实际上大家都在追求:自然语言处理(Natural Language Process,NLP)或者说自然语言理解(Natural Language Understanding,NLU)的突破。当然,这也是得益于基础声学和语音识别的巨大进步。基础声学和语音识别解决的是计算机“听得见”的问题,而NLP实际上就是要解决计算机“听的懂”的问题。这么看来,“听的懂”才是目前十年内最为关键的问题,下面,笔者就NLP的概念以及国内外的学习资料进行盘点与分析。

语音和语言有何区别?

我们首先要明确一下语音和语言的区别,这是一个基础性的问题。语音(Speech)是语言(Language)的信号载体,语音是人的发音器官发出的,承载一定的语言意义,而语言才承载人类的智慧。通俗的讲,语音是天生就存在的,婴儿的咿呀咿呀也算是语音,甚至其哭声也代表一定的意义,而语言则是需要学习不断进化的。

人类的进化为什么自然的选择了语音作为交互的手段?一般认为,是因为语音有着得天独厚优越性,比如声音比光更容易传播,而且不受昼夜变化影响,同时也有更广的传播范围。当然,也有许多科学家提出反对的声音,比如很多动物的听觉实际上比人类更为发达,为什么却没有进化出来语音交互呢?这个问题我们暂时放到后面文章探讨,事实上动物界中的很多动物也会发出一定的声音来进行信息的交互,但是仅有语音交互是不够的。

单独强调语音,而不说语言实际上没有任何意义的。当然语言也不仅是只有语音这一种载体,语音是不好保存和搜索的,所以人类还发明了文字这个神奇的东西。文字却又是通过视觉来感受的,不过文字也仅是帮助我们映射而已。象形文字刚开始的时候,还和视觉有直接的关联。后来,不论是汉语,还是其他语言基本上都进行了抽象,与听觉以及视觉的关联不再明显。到此为止,语言就已经完全抽象出来,和我们所理解的概念相关了,已经远远超过了语音、图像等识别的概念,甚至数学也成为了我们的一种语言。

因此当人类使用语言来存储知识和表示概念的时候,计算机和机器人也就必须学会适应这种方式。也就是说,计算机和机器人在未来的趋势中,必然是理解语言这个极其复杂而又承载人类知识传承的表达方式。但是,做到这一点是极其困难的,虽然我们看到了很多的进展,但是,机器理解语言在短期内还无法看到实质性的突破。这个领域需要更多优秀的人才加入,笔者写这篇文章目的也是这个原因,人才的涌入才会带来希望,至少我们不断的积累总会带来些许进步。

如何描述和定义NLP?

事实上,自然语言处理(NLP),或者说自然语言理解(NLU),或者说计算语言学(CL)很难有个准确的定义。1999年美国计算机学家Bill Manaris曾这样描述:自然语言处理是一门研究人与人交际中,以及人与计算机交际中的语言问题的学科。自然语言处理(NLP)研究表示语言能力、语言应用的模型,通过建立计算机框架来实现这样的语言模型,并提出相应的方法来不断地完善这样的语言模型,还要根据这样的语言模型来设计各种实用系统,并探讨这些实用系统的评测技术。笔者认为这个概念定义的比较准确,但又太过泛泛了。所以,很多时候我们仍然非常迷惘,然而这没有问题,因为语言本身就是我们人类最为复杂的概念之一。

这些年NLP的研究得到了前所未有的重视并获得了长足的进步,逐渐地发展成为一门独立的学科。而NLP又与基础声学、语音识别等技术互相渗透,而形成了众多新的研究分支。而这些分支的发展也在大众中混淆了概念,大家干脆就把语音识别理解成了我们上面所啰嗦的那么多内容。

NLP涉及哪些研究内容?

自然语言理解的研究内容包含太多了,我们这里也仅能列举其中一部分,包括中文自动分词(Chinese word segmentation,词性标注(Part-of-speechtagging),句法分析(Parsing),自然语言生成(Naturallanguage generation),文本分类(Textcategorization),信息检索(Information retrieval),信息抽取(Informationextraction),文字校对(Text-proofing),问答系统(Questionanswering),机器翻译Machine translation),自动摘要(Automaticsummarization),文字蕴涵(Textual entailment)等等,其中,基础声学和语音识别等相关学科也可以纳入这个研究范畴。

自然语言理解研究的目标自然是希望通过图灵测试,包括了语音、形态、语法、语义以及语用等方面,也要解决人类语言中的因果、逻辑和推理的问题。这是非常重要的,我们知道大数据仅仅是代表了历史的规律和预测的趋势,如果没有因果关系和逻辑推理,计算机和机器人就始终无法为人类提供可参考的建议,甚至是决策

NLP当前难点都有哪些?

这个就太多了,上面我们提到过了,人类的语言融合了语音和文字,实际上也是听觉和视觉的融合,不是割裂开的。但是,现在这两个学科却是互相独立的,人为造成了这种研究的困难。另外,人类的语言多样化,每种语言的表达方式也千差万别。理想主义甚至认为人类的很多语言知识是与生俱来的,这个说法也有一定的实验支持,声学在线曾经报道过这方面的进展。不过,即使经验主义也是认为语言是通过感官和人脑的联想与抽象得来的。这是个大问题,因为这让很多研究人员没有了思路,科学的进展最怕这种困难。很多时候,我们还都把科学的进展归结为哲学的进步,没有了思路也就很难找到突破点,这需要基础研究的进展。

当然NLP现在实际的技术困难还是语义的复杂性,包含因果关系和逻辑推理的上下文等。现在解决这些问题的思路主要还是深度学习(Deep Learning)。深度学习带给了研究人员一种全新的思路,这倒不是最新的,BP神经网络刚兴起的时候,学术和产业界也是非常热闹,因为当时的研究人员认为总算找到了思路,后来BP神经网络几乎没啥实质进展,渐渐的就冷了很长一段时间。深度学习拓展了神经网络的层次,而且大数据的积累和并行计算的增强则给这种方法奠定了基础,这也是最近机器学习非常火热的原因。因此基于大数据、并行计算的深度学习将会给NLP带来长足的进步,但是若想达到人类的这种理解层次,恐怕仅靠这种方法也很难实现。

NLP学习的参考资料有哪些?

笔者一直在说自然语言理解的问题,文字还是最为重要的知识传承方式,因此自然也要提供些参考资料给大家,但是这个领域的科普书籍实在太少了,笔者也只能推荐一些书籍、网上资料给大家参考学习,姑且先把这篇文章作为入门科普的参考吧。

首先,笔者建议还是要先看斯坦福大学的视频学习课程,哥伦比亚大学的视频学习课程也不错,只是这些课程还是英文的,国内也有几位老师的公开视频可以参考,比如宗成庆老师或者关毅老师的自然语言理解课程,冯志伟老师的计算语言学课程都还不错。微信上不方便放链接,感兴趣的朋友就到我们声学在线的网站上直接点击链接吧。

其次再推荐一些书籍,首推还是Daniel Jurafsky和James H. Martin的《Speech and LanguageProcessing》,已经出第二版本了,也是国内外的主要教材。这两人还写了几本相关方面的书,都还不错,亚马逊等一些线上平台搜索一下就能查到。国内也有冯志伟老师翻译的《自然语言处理综论》可以参考。数学基础稍好的还应该看看《数学之美》(吴军)和《统计学习方法》(李航),计算机编程稍好的更应该看看《机器学习实战》(Peter Harrington)和《Python自然语言处理》(Steven Bird)等。

最后再推荐一些学术会议,通过查询这些学术会议可以获知很多的学术进展,最重要的是,可以通过这些学术组织的会员和文章了解很多相关的研究单位,这些学术会议包括:ACL: TheAssociation for Computational Linguistics ,AAAI:Association for the Advancement of Artificial Intelligence ,ICCL: TheInternational Committee on Computational Linguistics  ,COLIPS: TheChinese and Oriental Languages Information Processing Society 以及中文信息学会等。

NLP都有哪些知名研究机构?

笔者通过声学在线的众多朋友汇总了一些信息,可能不是很全面,不足的地方还请各位批评指正,这些研究机构(排名不分先后)包括:斯坦福大学自然语言处理研究小组,卡内基梅隆大学语言技术研究院,哥伦比亚大学自然语言处理研究组,约翰霍普金斯大学语言和语音处理研究组,康奈尔大学NLP研究组,宾夕法尼亚大学NLP研究组,伊利诺伊大学香槟分校NLP团队,南加利福尼亚大学自然语言研究组,爱丁堡大学语言与计算研究所,谷歌苏黎世研究院,亚马逊NLP研究组,香港科技大学NLP实验室,中科院计算机所自然语言处理研究组,北京大学计算语言学研究所,清华大学人机交互与媒体集成研究所,中科院声学所语言声学与内容理解重点实验室,中科院自动化所模式识别重点室,百度自然语言处理部,中科大人机语音通信研究评测实验室,哈尔滨工业大学计算机学院智能技术与自然语言处理研究室等。

总之,自然语言理解随着深度学习的发展,还是看到了很多进展,但是NLP所需要解决的语言问题真的是非常复杂,近期内还是难以有所突破。正因为有这些挑战,才更需要更多有才华的人才持续不断的投入这个行业,而且这是未来数十年的新兴行业,现在刚毕业的优秀学生都有可能拿到50万的年薪,其经济收入将是很可观的。当然这也是个问题,虚高的投入或许会给这个行业带来一些阻碍。

声学在线
声学在线

产业NLP语音识别
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

信息检索技术

信息检索(IR)是基于用于查询检索信息的任务。流行的信息检索模型包括布尔模型、向量空间模型、概率模型和语言模型。信息检索最典型和最常见的应用是搜索引擎。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

模式识别技术

模式识别(英语:Pattern recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。 我们把环境与客体统称为“模式”。 随着计算机技术的发展,人类有可能研究复杂的信息处理过程。 信息处理过程的一个重要形式是生命体对环境及客体的识别。其概念与数据挖掘、机器学习类似。

逻辑推理技术

逻辑推理中有三种方式:演绎推理、归纳推理和溯因推理。它包括给定前提、结论和规则

词性标注技术

词性标注是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

机器人技术技术

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

图灵测试技术

图灵测试(英语:Turing test,又译图灵试验)是图灵于1950年提出的一个关于判断机器是否能够思考的著名试验,测试某机器是否能表现出与人等价或无法区分的智能。测试的谈话仅限于使用唯一的文本管道,例如计算机键盘和屏幕,这样的结果是不依赖于计算机把单词转换为音频的能力。

信息抽取技术

信息/数据抽取是指从非结构化或半结构化文档中提取结构化信息的技术。信息抽取有两部分:命名实体识别(目标是识别和分类真实世界里的知名实体)和关系提取(目标是提取实体之间的语义关系)。概率模型/分类器可以帮助实现这些任务。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

人机交互技术

人机交互,是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板、或是发电厂的控制室。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~