NLP全书电子教案正本书课件全套ppt最全教学教程电子讲义.pptx

上传人:可**** 文档编号:75817282 上传时间:2023-03-05 格式:PPTX 页数:501 大小:12.57MB
返回 下载 相关 举报
NLP全书电子教案正本书课件全套ppt最全教学教程电子讲义.pptx_第1页
第1页 / 共501页
NLP全书电子教案正本书课件全套ppt最全教学教程电子讲义.pptx_第2页
第2页 / 共501页
点击查看更多>>
资源描述

《NLP全书电子教案正本书课件全套ppt最全教学教程电子讲义.pptx》由会员分享,可在线阅读,更多相关《NLP全书电子教案正本书课件全套ppt最全教学教程电子讲义.pptx(501页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1NLP基本流程基本流程目录自然语言处理概述自然语言处理概述2NLP的开发环境的开发环境3自然语言是指汉语、英语、法语等人们日常使用的语言,是自然而然的随着人类社会发展演变而来的语言,而不是人造的语言,它是人类学习生活的重要工具。概括说来,自然语言是指人类社会约定俗成的,并且区别于人工语言(如计算机程序)的语言。自然语言处理概述自然语言处理概述自然语言处理(NLP)是一门以计算机为工具,对书面或口头形式的语言进行各种处理和加工的技术,同时也是研究人与人交际中以及人与计算机交际中语言问题的一门科学。NLP是计算机科学领域以及人工智能领域的一个重要的研究方向,是一门融语言学、计算机科学、数学、统计

2、学于一体的科学。自然语言处理自然语言处理概述NLP的发展大致经历了3个阶段。1956年以前的萌芽期1980年1999年的快速发展期21世纪的突飞猛进期图灵测试(TuringTest):让人和机器进行交流,如果人无法判断自己交流的对象是人还是机器,就说明这个机器有智能了。NLP的发展历程的发展历程二十世纪40年代到50年代之间,在美国还有两个人在进行着重要的研究工作。乔姆斯基乔姆斯基:他的主要工作为对形式语言的研究。香农:香农:他的主要工作是基于概率和信息论模型的研究。香农的信息论在概率统计的基础上对语言和计算机语言进行研究。1956年,乔姆斯基提出了上下文无关语法,并将它运用到NLP中。他们的

3、工作直接引起了基于规则和基于概率这两种不同的NLP技术的产生。而这两种不同的NLP方法,又引发了数十年有关基于规则方法和基于概率方法孰优孰劣的争执。NLP的发展历程的发展历程1.萌芽期(萌芽期(1956年以前)年以前)1970年以后统计语言学家的出现使得自然语言处理重获新生,并取得了非凡的成就。采用基于统计的方法,IBM将当时的语音识别率从70%提升到90%,同时语音识别的规模从几百单词上升到几万单词,这样语音识别就有了从实验室走向实际应用的可能。基于统计方法的分词。统计分词的主要思想是把每个词看做是由字组成的,如果相连的字在不同文本中出现的次数越多(概率越大),就证明这段相连的字很有可能就是

4、一个词。例如中文分词:“自然语言处理的基本概念”(自然语言处理的基本概念)。NLP的发展历程的发展历程2.发展期(发展期(1980年年1999年)年)20世纪世纪90年代中期年代中期,有两件事从根本上促进了自然语言处理研究的复苏与发展。20世纪90年代中期以来,计算机的运行速度和存储量大幅增加,为自然语言处理改善了物质基础,使得语音和语言处理的商品化开发成为可能;1994年Internet商业化和同期网络技术的发展使得基于自然语言的信息检索和信息抽取的需求变得更加突出。从从20世纪世纪90年代末到年代末到21世纪初世纪初,人们逐渐认识到,仅用基于规则或统计的方法是无法成功进行自然语言处理的。基

5、于统计、基于实例和基于规则的语料库技术在这一时期开始蓬勃发展,各种处理技术开始融合,自然语言处理的研究再次繁荣。90年代后年代后,基于统计的自然语言处理开始大放异彩。首先是在机器翻译领域取得了突破,因为引入了许多基于语料库的方法。1990年在芬兰赫尔辛基举办的第13届国际计算语言学会议确定的主题是“处理大规模真实文本的理论、方法与工具”,研究的重心开始转向大规模真实文本了,传统的基于规则的自然语言处理显然力不从心了。NLP的发展历程的发展历程21世纪之后世纪之后,自然语言处理又有了突飞猛进的变化。2006年,以Hinton为首的几位科学家历经近20年的努力,终于成功设计出第一个多层神经网络算法

6、一一深度学习。这是一种将原始数据通过一些简单但是非线性的模型转变成更高层次、更加抽象表达的特征学习方法,一定程度上解决了人类处理“抽象概念”这个亘古难题。深度学习在机器翻译、问答系统等多个自然语言处理任务中均取得了不错的成果,相关术也被成功应用于商业化平台中。NLP的发展历程的发展历程3.繁荣繁荣期(期(2000年至今)年至今)NLP研究内容包括很多的分支领域,NLP研究内容包括很多的分支领域,如文本分类、信息抽取、信息检索、信息过滤、自动文摘、智能问答、话题推荐、机器翻译、主题词识别、知识库构建、深度文本表示、命名实体识别、文本生成、文本分析(词法、句法和语法)、舆情分析、自动校对、语音识别

7、与合成等。部分NLP分支领域的介绍如下。机器翻译:计算机具备将一种语言翻译成另一种语言的能力。情感分析:计算机能够判断用户评论是否积极。智能问答:计算机能够正确回答输入的问题。文摘生成:计算机能够准确归纳、总结并产生文本摘要。文本分类:计算机能够采集各种文章,进行主题分析,从而进行自动分类。舆情分析:计算机能够判断目前舆论的导向。知识图谱:知识点相互连接而成的语义网络。NLP研究内容研究内容机器翻译又称为自动翻译,是利用计算机将一种自然语言转换为另一种自然语言的过程。机器翻译是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。机器翻译是自然语言处理中最为人所熟知的场景,国

8、内外有很多比较成熟的机器翻译产品,如百度翻译等,还有提供支持语音输入的多国语言互译的产品(比如科大讯飞就出了一款翻译机)。NLP研究内容研究内容1.机器翻译机器翻译 信息检索又称情报检索,是利用计算机系统从海量文档中找到符合用户需要的相关信息。狭义的信息检索狭义的信息检索:仅指信息查询。广义的信息检索广义的信息检索:是信息按一定的方式进行加工、整理、组织并存储起来,再根据信息用户特定的需要将相关信息准确的查找出来的过程。NLP研究内容研究内容2.信息检索信息检索文本分类又称文档分类或信息分类,其目的是利用计算机系统对大量的文档按照一定的标准进行分类,该技术拥有广泛的用途,例如垃圾短信分类问题。

9、垃圾短信分类,如下表。NLP研究内容研究内容3.文本分类文本分类编号编号是否为广告是否为广告具体文本信息具体文本信息10商业秘密的秘密性那是维系其商业价值和垄断地位的前提条件之一21南口阿玛施新春第一批限量春装到店啦春暖花开淑女裙、冰蓝色公主衫 气质粉小西装、冰丝女王长半裙、30带给我们大常州一场壮观的视觉盛宴40有原因不明的泌尿系统结石等5023年从盐城拉回来的麻麻的嫁妆60感到自减肥、跳减肥健美操、智能问答是指问答系统能以一问一答的形式,正确回答用户提出的问题。在一些电商网站有非常实际的价值,比如代替人工充当客服角色,有很多基本而且重复的问题,其实并不需要人工客服来解决,通过智能问答系统可

10、以筛选掉大量重复的问题,使得人工座席能更好地服务客户。NLP研究内容研究内容4.智能问答智能问答信息过滤是指信息过滤系统对网站信息发布、公众信息公开申请和网站留言等内容实现提交时的自动过滤处理。如发现谩骂、诽谤等非法言论或有害信息时可以实现自动过滤,并给用户友好的提示,同时向管理员提交报告。信息过滤技术目前主要用于信息安全防护、网络内容管理等。NLP研究内容研究内容5.信息过滤信息过滤文摘是指能够全面准确地反映某一文献中心内容的简单连贯的短文,自动文摘则是指利用计算机自动地从原始文献中提取文摘。互联网每天都会产生大量的文本数据,文摘是文本的主要内容,用户想查询和了解关注的话题需要花费大量时间和

11、精力进行选择和阅读,单靠人工进行文摘是很难实现的。为了应对这种状况,学术界尝试使用计算机技术实现对文献的自动处理。自动文摘主要应用于Web搜索引擎、问答系统的知识融合和舆情监督系统的热点与专题追踪。NLP研究内容研究内容6.自动文摘自动文摘信息抽取是指从文本中抽取出特定的事件或事实信息。例如,从时事新闻报道中抽取出某一恐怖事件的基本信息,如时间、地点、事件制造者、受害人、袭击目标、伤亡人数等。信息抽取与信息检索有着密切的关系,信息抽取系统通常以信息检索系统的输出作为输入,并且信息抽取技术可以用于提高信息检索的性能。NLP研究内容研究内容7.信息信息抽取抽取舆情分析是指根据特定问题的需要,对舆情

12、进行深层次的思维加工和分析研究,得到相关结论的过程舆情分析是一项十分复杂、涉及问题众多的综合性技术,同时也涉及网络文本挖掘、观点挖掘等各方面的问题。舆情分析可以帮助分析哪些话题是目前的热点,分析传播路径以及发展趋势,对于不好的與论导向可以进行有效的控制。NLP研究内容研究内容8.舆情分析舆情分析语音识别又称自动语音识别,是指对输入计算机的语音信号进行识别并转换成书面语言表示出来。语音识别技术所涉及的领域众多,其中包括信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等。NLP研究内容研究内容9.语音识别语音识别自动校对是对文字拼写、用词、语法或文档格式等进行自动检查、校对和编排的

13、过程。电子信息的形成可通过多种途径,最通常的方法是用键盘输入,因而不免会造成一些输入错误,由此产生了利用计算机进行文本自动校对的研究。自动校对系统可应用于报刊、出版社、打字业等需要进行文本校对的行业。NLP研究内容研究内容10.自动校队自动校队NLP不仅是一种新兴的商业技术,更是一种广泛使用的流行技术。几乎所有涉及语言的功能都包含NLP算法。NLP在人们的日常生活中有广泛的应用,常见应用场景如下。百度翻译图灵机器人微信语音转文字新闻分类NLP的几个应用场景的几个应用场景百度翻译是百度公司发布的在线翻译服务,其依托互联网数据资源和NLP技术的优势,致力于帮助用户跨越语言鸿沟,方便快捷地获取信息和

14、服务。百度翻译是一款比较成熟的机器翻译产品,百度翻译如下图所示。NLP的几个应用场景的几个应用场景1.百度翻译百度翻译图灵机器人是以语义技术为核心驱动力的人工智能产品,其三大核心功能之一就是智能问答。图灵机器人提供超过了500种实用生活服务技能,涵盖生活、出行、学习、金融、购物等多个领域,能提供一站式服务满足用户的需求。NLP的几个应用场景的几个应用场景2.图灵机器人图灵机器人微信中有一种将语音转化成文字的功能,其中的原理就是利用NLP、语音识别等技术,在基于语言模型和声学模型的转写引擎下,将持续语流转写成文字。此技术的好处之一是方便快速阅读和理解,另一好处是可以方便对内容的二次推广以及多次利

15、用。成年人正常的语速为160字/分钟,语速比绝大多数人打字的速度都快,微信语音转文字功能的加入,可以极大地节省时间,提高工作效率。NLP的几个应用场景的几个应用场景3.微信语音转文字微信语音转文字网络中存在越来越多的新闻信息积累,传统的手工新闻分类存在耗费大量人力和物力等诸多的弊端。为了提高新闻分类的准确率和速度,新闻自动分类成为了发展方向。新闻分类有助于实现新闻的有序化管理,并对新闻进行挖掘分析。百度就实现了新闻的分类,它涵盖了军事、财经、娱乐、游戏等多个分类,可以实现每隔一段时间自动获取更新,自动分类等操作,百度新闻分类如下图所示。NLP的几个应用场景的几个应用场景4.新闻分类新闻分类NL

16、P是人工智能研究的一个子领域,也是人工智能中最为困难的问题之一。人工智能技术即是让机器能够像人类一样自动化完成智能任务的技术,其关键点在于智能和自动化。NLP与人工智能技术人工智能在1955年达特茅斯特会议上被提出,而后人工智能先后经历了三次浪潮。20世纪70年代第一次AI浪潮泡沫破灭之后,相关研究者转而研究机器学习、数据挖掘、NLP等各个方向。1990年AI迎来第二次黄金时代,但是随着第五代计算机研制的失败,人工智能再次进入沉寂期。2008年左右,由于数据量的大幅度增长和计算力的大幅度提升,深度学习开始引领人工智能进入第三波浪潮。深度学习引入到NLP领域中,在机器翻译、问答系统、自动摘要等方

17、向取得成功。NLP与人工智能技术与人工智能技术1.人工智能发展历程人工智能发展历程深度学习可以在NLP中取得这样的成绩主要归结为两点。海量的数据。海量的数据。经过之前互联网的发展,积累了足够多的数据可以用于学习。当数据量增大之后,以支持向量机(SVM)、条件随机场(CRF)为代表的传统浅层模型,无法对海量数据中的高维非线性映射做建模。以循环神经网络(RNN)为代表的深度模型,可以随着模型复杂度的增大而增强,更好贴近数据的本质映射关系,达到更优的效果。深度学习算法的革新。深度学习算法的革新。一方面,深度学习的word2vec的出现,可以将词表示为更加低维的向量空间,相对于one-hot方式,这既

18、缓解了语义鸿沟问题,又降低了输入特征的维度,从而降低了输入层的维度,另一方面,深度学习模型非常灵活,使得之前的很多任务,可以使用端到端的方式进行训练,提升了性能。NLP与人工智能技术与人工智能技术2.深度学习与深度学习与NLPNLP在过去几十年的发展中,从基于简单的规则方法到基于统计学方法,再到现在的基于深度学习神经网络的方法,技术越来越成熟,在很多领域都取得了巨大的成就。展望未来十年,随着数据的积累、云计算、芯片技术发展以及人工智能技术的发展等,自然语言必将越来越贴近人工智能。除此之外,随着人工智能各领域的研究细化,跨领域的研究整合将是未来的发展方向。可预见的是NLP将会和计算机视觉、听觉、

19、触觉等领域高度融合,反映在人工智能技术上就是语音识别和图像识别,达到包含语言、知识和推理的真正意义上的智能。NLP研究与应用已经取得较为丰硕的成果,但同时也面临着许多新的挑战。实际上对于NLP的很多问题,人类本身也不能达到非常准确、满意的解决。并不是不允许人们对某项技术提出更高的要求和希望,重要的是应该如何建立有效的理论模型和实现方法,这也是NLP这门学科所面临的问题和挑战。NLP与人工智能技术NLP的发展已经进入了繁荣期,各行各业越来越多涉及NLP,使得NLP的学习成为了一种迫切的需要。由于自然语言的复杂性和多变性使得对于NLP的学习变得困难,具体面对的困难如下。多学科场景的困难。多学科场景

20、的困难。NLP是一门融语言学、计算机科学、数学、统计学于一体的交叉学科,语言的多样性多变性以及歧义性给NLP的学习带来了困难。理论学习的困难。理论学习的困难。NLP运用了多种复杂难懂的数学模型、例如概率图模型、隐马尔可夫过程(HMM)、最大熵模型、条件随机场模型(CRF)等,这些理论的理解对初学者来说有一定的难度。语料的困难。语料的困难。在NLP的实际项目中,通常要使用大量的语言数据或者语料,对应初学者来说,获取这些语料是比较困难的。学习学习NLP的困难的困难1NLP基本流程基本流程目录自然语言处理概述自然语言处理概述2NLP的开发环境的开发环境3中文NLP流程和英文相比有一些特殊性,主要表现

21、在文本预处理环节。首先,中文文本是没有像英文的单词空格那样隔开,因此不能直接像英文一样可以直接用最简单的空格和标点符号完成分词。一般需要用分词算法完成分词。其次,中文的编码不是utf-8,而是unicode,在预处理的时候,需要处理编码的问题。这两点构成了中文相比英文的一些不同点。中文NLP流程由语料获取、语料预处理、文本向量化、模型构建、模型训练和模型评价6部分组成。NLP基本流程基本流程在NLP之前,需要得到文本语料。文本语料的获取一般有下面几种方法。利用已经建好的数据集,或第三方语料库,这样可以省去很多处理成本。获取网上数据。很多时候所要解决的是某种特定领域的应用,仅靠开放语料库经常无法

22、满足需求,这就需要用爬虫技术去获取需要的信息。制定数据搜集策略来搜集数据。可以通过制定数据搜集策略,从业务的角度来搜集所需要的数据。与第三方的合作获取数据。通过购买的方式满足部分需求文本数据。语料获取语料获取获取语料后还需要对语料进行预处理,常见的语料预处理如下。去除数据中非文本部分。去除数据中非文本部分。大多数情况下,获取的文本数据存在很多无用的部分,如爬取来的一些html代码、css标签和不需要用的标点符号等,这些都需要分步骤去除。少量的非文本内容可以直接用Python的正则表达式删除,复杂的非文本内容可以通过Python的一个库BeautifulSoup去除。中文分词。中文分词。中文文本

23、没有像英文单词空格那样隔开的,因此不能直接像英文一样可以直接用空格和标点符号完成分词。中文文本一般需要用分词算法完成分词。常用的中文分词软件有很多,如jieba、FoolNLTK、HanLP、THULAC、NLPIR、LTP等,本书使用jieba库为分词工具。jieba库是使用Python语言编写的,其安装步骤很简单,使用pipinstalljieba命令即可完成。词性标注。词性标注。给词语标上词类标签,比如名词、动词、形容词等,常用的词性标注方法有基于规则的、基于统计的算法等。去停用词。去停用词。停用词就是句子中没必要的单词,去掉停用词对理解整个句子的语义没有影响。中文文本中存在大量的虚词、

24、代词或者没有特定含义的动词、名词,在文本分析的时候需要去掉。语料预处理料预处理数据处理经过除去数据中非文本部分、中文分词和去停用词,基本上是干净的文本了。但是无法直接把文本用于任务计算,需要通过某些处理手段,预先将文本量化为特征向量。一般可以调用一些模型来对的文本进行处理,常用的模型有五个。词袋模型(BagofWords)one-hot表示TF-IDF表示n元语法(n-gram)模型Word2vec模型。文本向量化文本向量化文本向量化后,根据文本分析的需求进行模型构建。过于复杂的模型往往反而不是最优的选择。模型的复杂度与模型训练时间呈现正相关,模型复杂度越高,模型训练时间往往也越长,而结果的精

25、度可能与简单的模型相差无几。自然语言处理中的使用的模型包括机器学习和深度学习两种。常用的有机器学习模型有KNN、SVM、NaiveBayes、决策树、K-means等。深度学习模型有RNN、CNN、LSTM、Seq2Seq、FastText、TextCNN等。模型构建模型构建构建模型完成后,则进行模型训练,其中包括了模型微调等。在模型训练的过程中要注意两个问题。一个为在训练集上表现很好,但在测试集上表现很差的过拟合问题。另一个为模型不能很好地拟合数据的欠拟合问题。同时,也要防止出现梯度消失和梯度爆炸问题。仅训练一次的模型往往无法达到理想的精度与效果,需要进行模型调优迭代,提升模型的效果。模型调

26、优往往是一个复杂冗长且枯燥的过程,需要多次对模型的参数做出修正,调优的同时需要权衡模型的精度与泛用性,在提高模型精度的同时还需要避免造成过拟合。模型训练模型训练模型训练完成后,还需要对模型的效果进行评价。模型的评价指标主要有准确率、精确率、召回率、F1值、ROC曲线、AUC曲线等。针对不同类型的模型,所用的评价指标往往也不同。如分类模型常用的评价方法有准确率(Accuracy)、精确率(Logloss)、AUC等。同一种评价方法也往往适用于多种类的模型。对于实际的生产环境,模型性能评价的侧重点也不一样,不同的业务场景对模型的性能有不同的要求,如可能造成经济损失的预测结果会要求更高的模型精度。模

27、型评价模型评价1NLP基本流程基本流程目录自然语言处理概述自然语言处理概述2NLP的开发环境的开发环境3Python语言以其清晰简洁的语法、易用和可扩展性以及丰富庞大的库深受广大开发者喜爱。其内置的非常强大的机器学习代码库和数学库,使Python理所当然成为NLP的开发工具。同时Python是开源且免费的,这意味着开发人员不需要花费资金即可进行开发。采用Python进行NLP是再好不过的选择。这种强大的编程软件对初学者来说往往会遇到设置环境变量的困扰,为此推荐已经集成了Python开发环境且自带了多种常用数据科学库的软件Anaconda。NLP的开发环境的开发环境Anaconda是一个开源的P

28、ython发行版本,其包含了conda、Python等180多个科学包及其依赖项。Conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。Anaconda包含了大量的科学包,下载文件比较大。如果只需要某些包,或者需要节省带宽或存储空间,可以使用较小的发行版Miniconda(仅包含conda和Python)。Anaconda可以应用于多种系统,Windows、Linux还是MacOSX,都可以找到对应系统类型的版本。Anaconda可以同时管理多种不同版本的Python环境,包括Python2和Python3两个版本。Anacond

29、a安装安装在Windows环境下,Anaconda的安装比较简单。安装按照默认选项进行安装,在选择完路径后,可勾选所示的“AddAnacondatomyPATHenviromentvariable”(添加Anaconda至我的环境变量路径中)选项。勾选次选项的好处是方便后续创建多种版本的Python,坏处是可能会影响到其他程序的使用。Anaconda安装Anaconda安装完成后,在开始菜单栏中会出现如下几个应用。AnacondaNavigtor。AnacondaPrompt。JupyterNoterbook。Spyder。Anaconda应用介绍AnacondaNavigator是Anaco

30、nda发行包中包含的桌面图形界面,可以在不需要使用命令的条件下,方便的启动应用程序,管理conda包、环境和频道。单击AnacondaNavigator后会启动网页,网页上会出现CMD.exePrompt、JupyterLab、JupyterNotebook、Spyder、RStudio等应用。如果要运行Spyder,直接从Navigator的Home页面单击Spyder,即可启动。Anaconda应用介绍应用介绍1.Anaconda NavigtorAnacondaPrompt相当于命令提示符CMD,与CMD不同的是Prompt已经配置好环境变量。初次安装Anaconda的包一般比较旧,为了

31、避免之后使用报错,可以先单击AnacondaPrompt,然后输入“condaupdate-all”命令,更新所有包的版本,在提示是否更新的时候输入y(即Yes),然后等待更新完成即可。在当前环境下可以直接运行Python文件(如输入Pythonhello.py)或者在命令行输入Python进入交互模式,如下图所示。Anaconda应用介绍应用介绍2.Anaconda Prompt在开发过程中,很多时候不同的项目会需要用的不同版本的包,甚至是不同版本的Python,使用虚拟环境即可轻松解决这些问题。虚拟环境通过创建一个全新的Python开发环境,从而实现不同项目间的隔离。打开AnacondaP

32、rompt后,可以利用Anaconda自带的conda包管理不同的Python环境。刚开始学习NLP的读者,可以利用conda包创建一个自然处理的虚拟环境。先查看Python版本,然后创建一个名为“NLP”的虚拟环境,并且指定Python版本。Anaconda应用介绍应用介绍(1)创建创建NLP的虚拟环境的虚拟环境创建虚拟环境完成之后,使用activate命令进入这个虚拟环境,并在NLP虚拟环境中查看配置的编译环境信息。下图展示了刚创建的NLP虚拟环境的所在路径,路径显示该环境位于Anaconda安装路径下的envs文件夹中。在刚创建好的虚拟环境中,除了Python自带的包之外,没有其他的包。

33、Anaconda应用介绍应用介绍(2)进入进入NLP虚拟环境虚拟环境在学习过程,可以根据需要安装不同的程序包。可通过pip命令或者conda命令两种方式安装程序包,即“pipinstallpackage_name”和“condainstallpackage_name”,其中“package_name”是指程序包的名称。在虚拟环境中,“pipinstall”只是安装需要安装的那个包本身,而“condainstall”除了安装需要安装的包,还会自动安装这个包的依赖。Anaconda应用介绍应用介绍(3)进入进入NLP虚拟环境虚拟环境在学习过程,可能会遇到需要退出或者删除环境的情况,可用代码进行操作

34、。使用代码“condadeactivate”可以退出当前环境,回到最开始的环境。使用代码“condaremove-nameNLP-all”可以删除已有的NLP环境。Anaconda能够管理不同环境下的包,使其在不同环境下互不影响。在NLP的学习过程中,会使用到很多的程序包,Anaconda的这种功能无疑为我们的学习提供了很大的便利。Anaconda应用介绍应用介绍(4)退出与删除环境退出与删除环境JupyterNotebook是一个在浏览器中使用的交互式的代码编辑器,可以将代码、文字结合起来,它的受众群体大多数是一些从事数据科学领域相关(机器学习、数据分析等)的人员。在撰写含有程序的文章时,有

35、时会有一大堆代码,这样不便于读者阅读,而使用JupyterNotebook,可以一边编写代码,一边解释代码,非常适合用于交互。Anaconda应用介绍应用介绍3.Jupyter Notebook打开JupyterNotebook有三种方式。第一种是直接在开始菜单栏中单击Anaconda下的JupyterNotebook。第二种是在AnacondaPrompt中输入“jupyternotebook”,浏览器就会自动打开并且显示当前的目录。第三种方式的操作步骤如下。首先进入某个文件夹,然后按住“Shift”键并单击鼠标右键,在新窗口中单击“在此处打开Powershell窗口(S)”,如右图所示,这

36、时会弹出命令窗口,接着输入“jupyternotebook”即可。Anaconda应用介绍JupyterNotebook打开后单击右上角的new,选择Python3选项,便可创建新笔记,如下图所示。使用Jupyter运行Python程序时的界面如下图所示。Anaconda应用介绍Jupyter有编辑模式和命令模式两种输入模式。当单元框的边框线是绿色时,Jupyter处于编辑模式,此时允许在单元中输入代码或者文本,按“Esc”键可切换为命令模式。命令模式的边框线是灰色,键盘可以输入运行程序的命令,按“Enter”键切换为编辑模式。在编辑文档时,都是以cell为一个单元框,cell有3种类型,不同

37、的类型代表不同的意义,cell的类型说明如下表所示。代码编辑完成之后按快捷键Shift+Enter或者页面上方的RunCell键执行cell中的命令。最后文档编辑完成后,保存文件默认为“.ipynb”的格式,但也可以保存为“.py”“.md”“.html”等格式。Anaconda应用介绍类型类型说明说明-code-code表示内容可以运行-heading-heading表示此单元框的内容是标题(一级、二级、三级标题)-markdown-markdown表示可以用markdown的语法编辑文本Spyder是一款囊括了代码编辑器、编译器、调试器和图形用户界面工具的集成开发环境(简称IDE)。Spy

38、der与JupyterNotebook一样是用于编写代码的IDE工具。为了方便读者进行编写或修改代码,本书的代码使用Spyder进行编写和调试。Anaconda应用介绍应用介绍4.Spyder如上页图所示的标注,Spyder界面可分为菜单栏、查看栏、输出栏、状态栏及工作区,菜单栏下一栏被称为工具栏。各个区域的工作范围介绍如下。菜单栏:放置所有功能和命令。工具栏:放置快捷菜单并可通过菜单栏View的Toolbars复选框勾选。工作区:编写代码的地方。查看栏:查看文件、调试时的对象及变量。输出栏:查看程序的输出信息并可作为shell终端输入Python语句。状态栏:用于显示当前文件权限、编码,光标

39、指向位置和系统内存。Anaconda应用介绍菜单栏的常用命令与说明如下表所示。Anaconda应用介绍命令命令说明说明-file-file文件的新建、打开、保存、关闭操作-Edit-Edit文件内容的编辑如撤销、重复、复制、剪切等操作-Run-Run运行键,可选择分块运行或整个文件的运行-Consoles-Consoles可打开新的输出栏-Tools-ToolspreferencespreferencesIPython IPython consoleconsoleDisplay可以调整字号和背景颜色;Graphic勾选Automatical load Pylab and NumPy modul

40、es可在IPython界面直接编写plot()作图;Startup可设置启动执行的脚本,写入要导入的程序包-Tools-ToolspreferencespreferencesEditorEditorDisplay主要设置背景,行号,高亮等;Code Analysis可以设置代码提示本章主要介绍一些与NLP相关的基础知识和基本概念。首先介绍了NLP的基本概念以及发展历程。其次讲解了NLP的研究内容以及几个常见应用,帮助读者了解NLP几个正在发展的领域和技术应用。接着宏观地探讨了NLP与人工智能的关系以及学习NLP会遇到的困难。最后介绍了NLP的基本流程和开发环境的创建。小结相关的实训、课程视频等

41、资源:相关的培训动态:语料库语料库1语料库种类与原则语料库种类与原则目录语料库概述语料库概述2NLTK库库3语料库的获取语料库的获取4任务:语料库的构建与应用任务:语料库的构建与应用5语料库是为某一个或多个应用而专门收集的、有一定结构的、有代表性的、可以被计算机程序检索的、具有一定规模的语料的集合。语料库的实质是经过科学取样和加工的大规模电子文本库。语料作为最基本的资源,尽管在不同的NLP系统中所起到的作用不同,但是却在不同层面上共同构成了各种NLP方法赖以实现的基础。语料库具备如下3个显著的特征。语料库中存放的是真实出现过的语言材料。语料库是以计算机为载体,承载语言知识的基础资源。语料库是对

42、真实语料进行加工、分析和处理的资源。语料库简介用于语言研究:用于语言研究:语料库为语言学的研究提供了丰富真实的语言材料,在句法分析、词法分析、语言理论及语言史研究中都起到了强大的作用。用于编纂工具参考书籍:用于编纂工具参考书籍:一些对语言教学有重要影响的词典和语法书均是在语料库的基础上编写的。用于语言教学:用于语言教学:在语言教学中,语料库可以帮助减少课堂上学习的语言与实际使用的语言之间的差距,发现过去被忽略的语言规律,能够更准确地理解一些词语在实际交际中的意义和用法,发现学习者使用语言时的一些问题。用于用于NLP:语料库按照一定的要求加工处理后可以应用到NLP的各个层面的研究中。语料库在词层

43、面上进行分词、词性标注后,可以用于词法分析、拼写检查、全文检索、词频统计、名词短语的辩识和逐词机器翻译等。语料库包含的语言词汇、语法结构、语义和语用信息为语言学研究和NLP研究提供了大量的资料来源。语料库的用途语料库的用途1语料库种类与原则语料库种类与原则目录语料库概述语料库概述2NLTK库库3语料库的获取语料库的获取4任务:语料库的的构建与应用任务:语料库的的构建与应用5平衡结构语料库与自然随机结构语料库。平衡结构语料库平衡结构语料库:平衡结构语料库的着重点是语料的代表性和平衡性,需要预先设计语料库中语料的类型,定义好每种类型语料所占的比例并按这种比例去采集组成语料库。自然随机语料库自然随机

44、语料库:自然随机结构的语料库则是按照某个原则随机去收集组成语料。通用语料库与专用语料库。通用语料库通用语料库:通用语料库与专用语料库是从不同的用途角度上看问题得来的结果,其中不做特殊限定。专用语料库专用语料库:专用语料库的选材可以只限于某一领域,为了某种专门的目的而采集。只采集某一特定领域、特定地区、特定时间、特定类型的语料所构成的语料库即为专用语料库。语料库种类共时语料库与历时语料库。共时语料库共时语料库:共时语料库是为了对语言进行共时研究而建立的语料库,即无论所采集语料的时间段有多长,只要研究的是一个时间平面上的元素或元素的关系,具有共时性,则是共时研究。历时语料库:历时语料库:历时语料库

45、是为了对语言进行历时研究而建立的语料库,即研究一个历时切面中元素与元素关系的演化。根据历时语料库得到的统计结果是依据时间轴的等距离抽样得到的若干频次变化形成的走势图。语料库种类语料库种类代表性代表性:样本语料尽可能多地反映无限的真实语言现象和特征。结构性:结构性:语料集合结构包括语料库中语料记录的代码,元数据项、数据类型、数据宽度、取值范围、完整性约束。平衡性:平衡性:平衡性是指语料库中的语料要考虑不同内容的平衡性。规模性规模性:大规模的语料库对于语言研究特别是对NLP研究具有不可替代的作用,但随着语料库的增大,垃圾语料带来的统计垃圾问题也越来越严重。因此在使用时,应根据实际的需要来决定语料库

46、的规模。语料库语料库的构建原则原则1语料库种类与原则语料库种类与原则目录语料库概述语料库概述2NLTK库库3语料库的获取语料库的获取4任务:语料库的的构建与应用任务:语料库的的构建与应用5NLTK(NaturalLanguageToolkit)是一个用于构建处理自然语言数据的Python应用开源平台。NLTK提供了超过50多个素材库和词库资源的易用接口,涵盖了分词、词性标注、命名实体识别、句法分析等各项NLP领域的功能。NLTK支持NLP和教学研究,它收集的大量公开数据集和文本处理库,可以用于给文本分类、符号化、提取词根、贴标签、解析及语义推理等。NLTK也是当前最为流行的自然语言编程与开发工

47、具,在进行NLP研究和应用时,利用NLTK中提供的函数可以大幅度地提高效率。NLTKNLTK简介NLTK模块及功能。NLTKNLTK库库功能功能模块模块描述描述获取语料库获取语料库nltk.corpus语料库和词典的标准化切口字符串处理字符串处理nltk.tokenize、nltk.stem分词、分句和提取主干词性标注词性标注nltk.tagHMM、n-gram、backoff分类分类nltk.classify、nltk.cluster朴素贝叶斯、决策树、K-means分块分块nltk.chunk正则表达式、命名实体、n-gram指标评测指标评测nltk.metrics准确率、召回率和协议系数

48、概率与评估概率与评估nltk.probability频率分布进入NLP虚拟环境。安装NLTK库。检查是否存在nltk库。下载NLTK数据包。右图为下载NLTK的book数据包,如图所示。设置环境变量。最后检查NLTK数据包是否安装成功。安装步骤NLTK中基本函数的使用方法如下。similar函数搜索相似词语。concordance函数搜索指定内容。collocations函数搜索搭配词语。common_contexts函数搜索共同上下文。len函数统计文本的长度。NLTKNLTK的函数使用set函数获取文本的词汇表。sorted函数对词汇表按照英文字母排序。FreqDist函数查询文本中的词汇

49、频数分布。sorted函数对词汇表中的词按照英文字母进行排序。dispersion_plot函数可绘制出指定词的分布以及在文本中出现的位置。fdist.plot函数可绘制指定的常用词累计频率图。NLTKNLTK的函数使用的函数使用1语料库种类与原则语料库种类与原则目录语料库概述语料库概述2NLTK库库3语料库的获取语料库的获取4任务:语料库的的构建与应用任务:语料库的的构建与应用5nltk中定义了许多基本语料库函数,详情见下表所示。获取获取NLTKNLTK语料库语料库函数示例函数示例使用描述使用描述fileids()fileids()语料库中的文件fileids(categories)file

50、ids(categories)分类对应的语料库中的文件categories()categories()语料库中的分类categories(fileids)categories(fileids)文件对应的语料库中的分类raw()raw()语料库的原始内容raw(fileids=f1,f2,f3)raw(fileids=f1,f2,f3)指定文件的原始内容raw(categories=c1,c2)raw(categories=c1,c2)指定分类的原始内容words()words()整个语料库中的词汇words(fileids=f1,f2,f3)words(fileids=f1,f2,f3)指定文

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁