《自然语言处理》课件新模板 第二章 自然语言处理基础.pptx

上传人(卖家):momomo 文档编号:6237795 上传时间:2023-06-14 格式:PPTX 页数:62 大小:1.36MB
下载 相关 举报
《自然语言处理》课件新模板 第二章 自然语言处理基础.pptx_第1页
第1页 / 共62页
《自然语言处理》课件新模板 第二章 自然语言处理基础.pptx_第2页
第2页 / 共62页
《自然语言处理》课件新模板 第二章 自然语言处理基础.pptx_第3页
第3页 / 共62页
《自然语言处理》课件新模板 第二章 自然语言处理基础.pptx_第4页
第4页 / 共62页
《自然语言处理》课件新模板 第二章 自然语言处理基础.pptx_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、自然语言处理自然语言处理N a t u r a l L a n g u a g e P r o c e s s i n g第 二 章 自 然 语 言 处 理 基 础第 二 章 自 然 语 言 处 理 基 础目录章节概述Contents1小节介绍2本章总结3章节概述B A C K G R O U N DONE章节概述自然语言处理是机器语言和人类语言沟通的桥梁,简单来说,自然语言处理所完成的工作是使计算机接受用户文本语言形式的输入,并在内部通过人类所定义的算法进行加工、计算等系列操作,模拟人类对自然语言的理解,并返回人类所期望的结果。自然语言处理一般可分为语料库与语言知识库的获取、文本预处理、文本

2、向量化表示、模型训练与预测四大步骤。其中语料库与语言知识库的获取、文本预处理、文本向量化表示为自然语言处理任务的基础工作,是本章即将重点介绍的内容,最后一步模型训练与预测依托于具体的自然语言处理任务,将在后续章节进行介绍。此外,自然语言处理开源工具库提供了很多用于文本分析、处理的接口,大大简化了自然语言处理的流程,这些工具库是学习自然语言处理和解决自然语言处理任务的基础工具,因此,本章还将对常用的自然语言工具库进行简要介绍。章节概述TWO小节介绍S E C T I O N I N T R O D U C T I O N2.1 语料库与语言知识库语料库2.1.12.1.2语言知识库输入替换内容输

3、入替换内容输入替换内容标题文本预设2.1.1 语料库 语料库概述语料,即语言材料,包括文本和语音。语料库(corpus)即语料的集合,也可称为自然语言处理领域的数据集,是为一个或者多个应用目标而专门收集的,有一定结构的、有代表的、可被计算机程序检索的、具有一定规模的语料集合。本质上讲,语料库实际上是通过对自然语言运用的随机抽样,以一定大小的语言样本来代表某一研究中所确定的语言运用的总体。01存放的是在语言的实际使用中真实出现过的语言材料以电子计算机为载体承载语言知识的基础资源,但并不等于语言知识真实语料需要经过加工(分析和处理),才能成为有用的资源语料库具备三个显著特点:0203输入替换内容输

4、入替换内容输入替换内容标题文本预设2.1.1 语料库-语料库的分类(多种划分方式)n 语言种类单语语料库(Monolingual Corpus)双语/多语语料库(Bilingual/Multi-lingual Corpus)n 加工深度非标注语料库(Non-Annotated Corpus)标注语料库(Annotated Corpus)n 用途通用语料库(General Corpus)专用语料库(Specialized Corpus)n 分布时间共时语料库(Synchronic Corpus)历时语料库(Diachronic Corpus)n 动态更新程度参考语料库(Reference Cor

5、pus)监控语料库(Monitor Corpus)n 输入替换内容输入替换内容输入替换内容标题文本预设2.1.1 语料库-语料库的分类-单语语料库和多语语料库仅包含一种语言的文本,例如维基百科官方提供的约11G的英语语料库以及约1.5G的中文语料库等。单语语料库包含两种及以上语言的文本,可分为多语平行语料库(Multi-lingual Parallel Corpus)和多语可比语料库(Multi-lingual Comparable Corpus)。多语平行语料库中多种语言之间构成翻译关系,要求多种语言文本之间对齐,其对齐程度通常是词级、句子级、段落或是篇章级,例如机器翻译领域的WMT语料库、

6、联合国平行语料库(United Nations Parallel Corpus);多语可比语料库收集在内容、语域、交际环境等方面相近的不同语言文本,多种语言之间没有翻译关系,文本之间无需对齐,多用于对比语言学,例如英语可比语料库(English Comparable Corpus,ECC)。多语语料库输入替换内容输入替换内容输入替换内容标题文本预设2.1.1语料库-语料库的分类-非标注语料库和标注语料库原始语料库,语料库组织者只是简单地把语料收集起来,不加任何标注信息,未标注语料库一般用于聚类分析任务、词向量训练任务以及预训练语言模型任务等。非标注语料库对原始语料库进行人工或者机器标注的语料库

7、,例如对情感分析语料库中每一条样本标注“积极/消极”两种情感态度,或者标注“积极/消极/中立”三种情感态度等。标注语料库在自然语言处理任务中最为常用,该库的标注任务一般为人工完成,或是机器辅助人工完成。标注语料库标题文本预设2.1.1 语料库-语料库的分类-通用语料库和专用语料库力求能够最好地代表一种语言的全貌,例如英语国家语料库(The British National Corpus,BNC)。通用语料库容量庞大,往往可以过滤出特定属性的文本,形成多个专门用途的子语料库,比如,科技学术语料库,新闻语料库等。通用语料库为了某种特定的研究目的,只采集某一特定的领域、特定地区、特定时间、特定类型的

8、语料构成的语料库,例如针对不同的自然语言处理任务,有文本分类语料库、情感分析语料库、命名实体识别语料库等,针对不同研究领域,有新闻语料库、金融语料库、小说语料库、古诗语料库等。专用语料库标题文本预设2.1.1 语料库-语料库的分类-共时语料库和历时语料库由同一时代的语料构成语料库共时语料库基于不同时代的语料所构造的多个共时语料库可以构成一个历时语料库,历时语料库常用于观察和研究语言变化,例如中央研究院古汉语语料库(Academia Sinica Ancient Chinese Corpus),该库包含上古汉语、中古汉语(含大藏经)、近代汉语、其他、出土文献五个语料库。,其中上古汉语、中古汉语(

9、含大藏经)、近代汉语这三个语料库可分别看作是三个共时语料库,而古汉语语料库本身就可看作是一个历时语料库,历时语料库常用于观察和研究语言变化。历时语料库标题文本预设2.1.1 语料库-语料库的分类-参考语料库和监控语料库参考语料库和监控语料库参考语料库监控语料库则需要不断地进行动态更新监控语料库语料库必须以电子形式存在,计算机可读的语料库结构性体现在语料记录的代码、元数据项、数据类型、数据宽度、取值范围、完整性约束。结构性语料库是在一定的抽样框架范围内采集而来的,并且能在特定的抽样框架内做到代表性和普遍性代表性元数据是描述数据的数据(data about data),主要是描述数据属性(prop

10、erty)的信息,如语料的时间、地域、作者、文本信息等,元数据能够帮助使用者快速理解和使用语料库,对于研究语料库有着重要的意义。元数据大规模的语料对语言研究特别是对自然语言研究处理十分必要,但达到一定规模后,更多的数据未必会有性能的提升,语料库规模应根据实际情况而定。规模性同一语言上的平行,语料选取的时间、对象、比例、文本数、文本长度等几乎是一致的;多种语言之间的平行采样和加工。平衡性2.1.1 语料库-语料库构建基本原则2.1 语料库与语言知识库语料库2.1.12.1.2语言知识库输入替换内容输入替换内容输入替换内容标题文本预设2.1.2 语言知识库语言知识库包括词典、词汇知识库、句法规则库

11、、语法信息库、语义概念等各类语言资源,是自然语言处理系统的必要组成部分。语言知识库可分为两类,一类是显性语言知识表示库,如词典、规则库、语义概念库等,可以采用形式化结构描述;另一类是隐式的语言知识库,这类语料库的主体是文本,即语句的集合。隐式语言知识库中每个语句都是非结构化的文字序列,该库的知识隐藏在文本中,需要进一步处理才能把隐式的知识提取出来,以供机器学习和使用。实际上,由于第二类隐式语言知识库在使用时需要提取隐式信息并使用形式化结构表示,即经过处理后与第一类显性语言知识库无异,因此隐式语言知识库在自然语言处理领域很少被提及。著名的显性语言知识库有:词网北京大学综合性语言知识库知网输入替换

12、内容输入替换内容输入替换内容标题文本预设2.1.2 语言知识库-词网词网(WordNet)是由美国普林斯顿大学认知科学实验室领导开发,由心理学家,语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典。WordNet按照单词的意义组成一个“单词的网络”,WordNet将名词,动词,形容词和副词分别组织成一个同义词的网络,每个同义词集合都代表一个基本的语义概念,并且这些集合之间也由各种关系连接,这些关系包括同义关系(synonymy)、反义关系(antonymy)、整体与部分关系(meronymy)和继承关系(entailment)等。通俗地来说,WordNet是一个结构化知识库,它不仅包

13、括一般的词典功能,还包括词的分类信息。输入替换内容输入替换内容输入替换内容标题文本预设2.1.2 语言知识库-北京大学综合性语言知识库北京大学综合型语言知识库(Peking University Comprehensive Language Knowledge Base),简称CLKB,由北京大学俞士汶教授领导建立。该语言知识库从词、词组、句子、篇章各粒度和词法、句法、语义各层面进行语言资源的整理,涵盖了现代汉语语法信息词典、汉语短语结构规则库、现代汉语多级加工语料库(词语切分及词类标注)、多语言概念词典、平行语料库(英汉对照语句)、多领域术语库(英汉对照术语)。该知识库是目前国际上规模最大且

14、获得广泛认可的汉语语言知识资源库。输入替换内容输入替换内容输入替换内容标题文本预设知网(HowNet)是由机器翻译专家董振东和董强创建的语言知识库。HowNet以汉语和英语的词语所代表的概念为描述对象,将概念与概念之间以及概念所具有的属性之间的关系构成一个网状的知识系统。知网所要反映的是概念的共性、个性,以及概念之间的关系,例如,对于“医生”和“患者”,“人”是他们的共性,而“医生”的个性是“医治”的施者,“患者”的个性是“患病”的经验者,“医生”和“患者”之间的关系是“医生”医治“患者”。HowNet还是最著名的义原知识库,义原在语言学中被定义为最小的、不可再分割其语义的语言单位,例如:“人

15、”虽然是一个非常复杂的概念,它可以是多种属性的集合体,但也可以把它看作一个义原,“男孩”、“女孩”的义原都可归为“人”。HowNet通过对全部的基本义原进行观察分析并形成义原的标注集,然后再用更多的概念对标注集进行考核,从而建立完善的标注集。2.1.2 语言知识库-知网输入替换内容输入替换内容输入替换内容标题文本预设2.1.2 语言知识库新时代意义上述语言知识库的建立和发展主要是集中在2000年前后,并对该阶段的词汇相似度计算、同义词、反义词、信息检索等技术的发展起到了决定性作用。进入深度学习时代之后,自然语言处理专家发现通过大规模文本数据能够很好地学习词汇的语义表示,如以Word2Vec为代

16、表的词向量学习方法,用低维(一般数百维)、稠密、实值向量来表示每个词汇/词义的语义信息,利用大规模文本中的词汇上下文信息自动学习向量表示,并基于这些向量表示计算词汇语义相似度、同义词、反义词等,能够取得比传统的基于语言知识库的方法更好地效果。因此,近年来传统语言知识库的学术关注度很低,大部分基于深度学习的自然语言处理模型并未使用到语言知识库。即便如此,语言知识库仍旧有着巨大的潜在价值,近年来一些学者将语言知识库与深度学习方法融合,在词汇表示学习、词典扩展、新词义原推荐(对于新词自动推荐义原)等任务上取得了一定的突破。例如,在自然语言理解方面,词汇是最小的语言使用单位,却不是最小的语义单位,Ho

17、wNet提出的义原标注体系正是突破词汇屏障,深入了解词汇背后丰富语义信息的重要通道。近年来,一些学者在词汇表示学习、词典扩展、新词义原推荐(对于新词自动推荐义原)等任务上,验证了HowNet知识库与深度学习模型融合的有效性,这也印证了语言知识库在深度学习时代的应用价值。2.2 文本预处理数据清洗2.2.12.2.2分词处理2.2.3特征过滤输入替换内容输入替换内容输入替换内容标题文本预设2.2.1 数据清洗数据清洗的目的即排除非关键信息(包括文本的标准化,例如繁简统一),只需要保留文本内容所阐述的文字信息即可,并同时尽可能减小这些信息对算法模型构建的影响。以爬取的网页文本数据为例,这些数据往往

18、会带有标签信息、广告信息,以及文本数据中一些不必要的标点、特殊字符等,这些信息与文本所表达的内容不仅毫无关联,还可能会产生不必要的干扰,将这些信息用于模型训练显然是不可取的。因此在将数据输入模型之前,需要去除掉这些信息。数据清洗工作可以利用正则表达式来完成,例如去除文本中的数字信息:原始句子:我爱中国233正则表达式(匹配数字):d+或者0-9+去除后:我爱中国2.2 文本预处理数据清洗2.2.12.2.2分词处理2.2.3特征过滤输入替换内容输入替换内容输入替换内容标题文本预设2.2.2 分词处理分词,又可称为“标记化(Tokenization)”,分词处理是对句子、段落、文章这种长文本,分

19、解为以词为单位的数据表示。由于中英文文本结构的差异,分词处理也有一定区别。英文分词英文文本的句子、段落之间以标点符号分隔,单词之间以空格作为自然分界符,因此英文分词只需根据标点符号、空格拆分单词即可,例如:英文文本:I am a student英文分词处理后:I/am/a/student中文分词中文文本是由连续的字序列构成中文分词是将连续的字序列按照一定的规范重新组合成词序列的过程,例如:中文文本:南京市长江大桥分词处理1:南京市/长江大桥分词处理2:南京/市长/江大桥中文文本分词问题:词与词之间没有天然的分隔符,并且不同的分割方式还会导致歧义问题(如上例),因此中文分词相对于英文分词要复杂得

20、多。输入替换内容输入替换内容输入替换内容标题文本预设2.2.2 分词处理中文分词较为复杂,关于中文分词这一问题可使用一些分词工具来完成。结巴分词是基于混合分词方法实现的一个中文分词工具,是目前国内使用最为广泛的分词工具,该工具支持中文文本分词、词性标注、关键词抽取等功能。结巴提供了三种分词模式:精确模式:也是默认模式,试图将句子最精确地切开,适用于文本分析和处理;全模式:把句子中所有的可以成词的词语都扫描出来,速度快,但不能解决歧义;搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。对于文本“文本处理不可或缺的一步”分别使用上述三种模式进行分词,结果如下:精确

21、模式/默认模式:文本处理/不可或缺/的/一步全模式:文本/文本处理/本处/处理/不可/不可或缺/或缺/的/一步搜索引擎模式:文本/本处/文本处理/不可/或缺/不可或缺/的/一步结巴分词支持用户自定义词典,例如,在上页场景下将“江大桥”一词写入自定义词典,并为“江大桥”设置较高的词频,使用装载用户自定义词典的结巴工具再次分词时,便可得到“南京/市长/江大桥”这一所需结果。2.2 文本预处理数据清洗2.2.12.2.2分词处理2.2.3特征过滤分词处理输入替换内容输入替换内容输入替换内容标题文本预设2.2.3 特征过滤经过文本预处理后的每一条文本被表示为一个词序列,这个词序列中可能会包含一些与自然

22、语言处理任务无关或者无意义的词,也可称之为噪声。通常,需要对这个词序列进行过滤以去除噪声,从而得到清洁特征(词序列)。常见的特征过滤方法有3种:停用词过滤基于频率的过滤词干提取输入替换内容输入替换内容输入替换内容标题文本预设2.2.3 特征过滤-停用词过滤停用词(Stop Words)指一些没有具体含义的虚词,包括连词、助词、语气词等无意义的词,例如汉语中的“呢”、“了”,英语中的a、the等,这些虚词仅仅起到衔接句子的作用,对文本分析没有任何帮助甚至会造成干扰,因此需要对分词后的数据做停用词的去除。去除停用词需要借助停用词表,自然语言工具包(Natural Language Toolkit,

23、简称NLTK)中包含了英语、法语等多种停用词词表。例如,下面是NLTK英文停用词词表的一些词:a about above am an been didnt couldnt id ill itself lets myself.中文常用的停用词表包括哈工大停用词表、百度停用词表等。例如,下面是哈工大停用词词表的一些词:啊 阿 哎 哎呀 哎哟 唉 但 但是 当 当着 到 得 的 不如 这个 另注意,停用词过滤需要根据具体的任务而定,例如在商品评论情感分析任务中:“这个 商品 挺好 的,但是 不如 另 一家”,很明显该评价并非十分积极的评价,但如果直接使用上述停用词词库过滤会得到:“商品 挺好 一家”

24、,过滤后变成积极评价,已经无法表达出原来的语义。输入替换内容输入替换内容输入替换内容标题文本预设2.2.3 特征过滤-基于频率过滤除过滤停用此外,还可以使用频率统计过滤高频无意义的词以及低频罕见词。排名排名词词文档频率文档频率1the1 416 0582and1 381 3243a1 263 1264i1 230 2145to1 196 2386it1 027 8357of1 025 638.13but822 313.27Good598393.33Great520634 检查高频词以Yelp数据集为例,表中列出了Yelp点评数据集中出现频率最高的一些词,这里的频率指的是包含这个词的点评数。可见

25、高频词包含很多停用词,例如“the”、“and”等,这些停用词需要被过滤掉,但还有一些该数据集的常见词,例如:“good”、“great”等,对于情感分析这样的任务来说是非常有用的,需要保留下来。表 Yelp点评数据集中出现频率最高一些词输入替换内容输入替换内容输入替换内容标题文本预设2.2.3 特征过滤-基于频率过滤 检查低频词检查出现频率低的词,即罕见词。这些词可能是该语料库的生僻词或者拼写错误的普通词,对于模型来说,这些词仅仅在几篇文章中出现,更像是噪声而非有用信息。罕见词不仅无法作为预测的凭据,还会增加计算上的开销。以Yelp点评数据集为例,该数据集中有160万条点评数据,包括3574

26、81个单词,其中有189915个单词只出现在一条点评中,有41162个单词出现在两条点评中。词汇表中60%以上的词都是罕见词。这就是所谓的重尾分布,并且在实际数据中这种分布屡见不鲜。罕见词带来了很大的计算和存储成本,却收效甚微,所以去除罕见词是十分必要的。输入替换内容输入替换内容输入替换内容标题文本预设2.2.3 特征过滤-词干提取英文单词存在多种形态,在分词处理后还需进行词干提取(Stemming)、词性还原(Lemmatisation)处理,从而将单词长相不同,但是含义相同的词合并,这样方便后续的处理和分析。词干提取是去除单词的前后缀得到词根的过程,词形还原是基于词典,将单词的复杂形态转变

27、成基础形态。例如:词干提取:cities children需要转换为city child词性还原:does done doing did需要还原成do自然语言处理工具包NLTK 提供了词干提取和词性还原的接口。需要注意的是,词干提取可能会得不偿失,例如:“new”和“news”具有不同的含义,但都会被提取成“new”,是否采用词干提取以及词性还原要根据具体任务来定。2.3 文本向量化表示独热表示(One-Hot)2.3.12.3.2词袋表示(BOW)2.3.3词频-逆文档频率(TF-IDF)2.3.4Word2Vec模型输入替换内容输入替换内容输入替换内容标题文本预设2.3.1 独热表示在一个

28、语料库中,给每个词编码一个索引,根据词索引建立词表,并进行独热(One-Hot)编码,下面通过一个例子进行解释,假设语料库有三句话:我爱中国我爸爸妈妈爱我爸爸妈妈爱中国将上述语料库进行分词和编号得到长度为5的索引序列,也是该语料库的词表:0 我;1 爱;2 爸爸;3 妈妈;4 中国其中每个单词都可以用One-Hot的方法表示,One-Hot是指一个词的One-Hot向量中只有该词对应索引位置的值为1,其他值都为0:我:1,0,0,0,0爱:0,1,0,0,0爸爸:0,0,1,0,0妈妈:0,0,0,1,0中国:0,0,0,0,1对于上述语料库的第一个句子来说,可表示为一个向量序列:1,0,0,

29、0,0,0,1,0,0,0,0,0,0,0,1输入替换内容输入替换内容输入替换内容标题文本预设2.3.1 独热表示-优缺点分析l 优点:原理简单、易于实现l 缺点:无法表示词之间的关系不同单词的One-Hot向量相互正交,即词与词之间是完全独立的,无法衡量不同词之间的关系。例如,“爸爸”和“妈妈”两词很明显关系紧密,而“爸爸”和“中国”则没有什么关联,但若采用One-Hot向量表示这些词之后,两对词之间的距离是相同的,无法计算词与词之间的关系。无法衡量不同词的重要程度One-Hot向量只能反映某个词是否在句中存在,而并未表示出单词出现的频率,无法衡量不同词的重要程度。稀疏向量,资源浪费当语料库

30、非常大时,需要建立一个词表对所有单词进行索引编码,假设有100万个单词,每个单词就需要表示成100万维的向量,而且这个向量是很稀疏的,只有一个位置为1其他全为0,高维稀疏向量导致机器的计算量大并且造成了计算资源的浪费。2.3 文本向量化表示独热表示(One-Hot)2.3.12.3.2词袋表示(BOW)2.3.3词频-逆文档频率(TF-IDF)2.3.4Word2Vec模型输入替换内容输入替换内容输入替换内容标题文本预设2.3.2 词袋表示词袋(Bag of Words,BOW)表示,也称为计数向量表示,下面通过一个例子进行解释,假设使用上一小节的语料库:我爱中国我爸爸妈妈爱我爸爸妈妈爱中国将

31、上述语料库进行分词和编号得到长度为5的索引序列,即该语料库的词表:0 我;1 爱;2 爸爸;3 妈妈;4 中国然后对每句话进行向量转换,转换后每句话的维度为语料库词表的长度,每个索引位置的值为索引序列中对应词在该句话中出现的次数,以语录库的第一句话“我爱中国”为例,该语句的词袋表示为一个5维的向量,其中“我”、“爱”、“中国”三个词在该句话中分别出现一次,将这三个词对应的词表索引位置标为1,其他未出现的词标为0,得到1,1,0,0,1。上述语料库的三条语句的BOW表示分别为:1,1,0,0,12,1,1,1,00,1,1,1,1输入替换内容输入替换内容输入替换内容标题文本预设2.3.2 词袋表

32、示-优缺点分析l 优点:将每条语句看作是若干个词汇的集合,考虑了词表中词在这个句子中的出现次数,相对于One-Hot向量表示,能够在一定程度上表示出词在句子中的重要程度l 缺点:忽略了句子中词的位置信息词的位置不同表达的语义会有很大的差别。例如“爸爸妈妈爱中国”和“中国爱爸爸妈妈”这两个句子的BOW表示相同,但很明显所表达的语义完全不同;词频无法确切表示词的重要程度仅仅通过“出现次数”这个属性无法区分常用词(如:“我”、“是”、“的”等)和关键词在句子中的重要程度。例如“是的,是的,小明爱中国”一句中,关键词很明显是:“小明”、“爱”、“中国”,但若使用BOW表示方法,“是”和“的”两词在句中

33、分别出现了2次,即这两个词的重要程度要比“小明”、“爱”、“中国”这些关键词要高。2.3 文本向量化表示独热表示(One-Hot)2.3.12.3.2词袋表示(BOW)2.3.3词频-逆文档频率(TF-IDF)2.3.4Word2Vec模型输入替换内容输入替换内容输入替换内容标题文本预设2.3.3 词频-逆文档频率(TF-IDF)输入替换内容输入替换内容输入替换内容标题文本预设2.3.3 词频-逆文档频率(TF-IDF)输入替换内容输入替换内容输入替换内容标题文本预设2.3.3 词频-逆文档频率-优缺点分析l 优点:在词袋表示的基础上进行了一定的改进,在保留文章的重要词的同时可以过滤掉一些常见

34、的、无关紧要的词l 缺点:忽略了句子中词的位置信息与词袋模型相同,也未考虑词的位置信息;精度问题IDF是一种试图抑制噪声的加权,更倾向于文中频率较小的词,这使得TF-IDF算法的精度不够高。2.3 文本向量化表示独热表示(One-Hot)2.3.12.3.2词袋表示(BOW)2.3.3词频-逆文档频率(TF-IDF)2.3.4Word2Vec模型输入替换内容输入替换内容输入替换内容标题文本预设2.3.4 Word2Vec模型Word2Vec是2013年谷歌提出的一种基于神经网络的分布式文本表示方法,该方法将单词映射成一个指定维度的稠密向量(典型取值为300维),这个向量是对应单词的分布式表示(

35、Distributional Representation),并且能够在一定程度上表达单词的语义信息以及单词与单词之间的相似程度。分布式表示方法的理论基础来自Harris在1954年提出的分布假说(Distributional Hypothesis):上下文相似的词,其语义也相似。Firth在1957年对分布假说进行了进一步阐述和明确:词的语义由其上下文决定(A word is characterized by the company it keeps)。词的分布式表示可以将每个词都映射到一个较短的词向量上来,所有的这些词向量就构成了向量空间,并用普通的统计学的方法来研究词与词之间的关系。词向

36、量T-SNE降维可视化词向量T-SNE降维可视化2.3.4 Word2Vec模型-CBOWWord2Vec的核心思想是通过词的上下文得到词的向量化表示,包括:连续词袋(Continuous Bag-of-Words,CBOW):根据上下文词预测中间的词;Skip-Gram模型:根据中间词预测上下文的词;CBOW模型基本结构输入层:上下文单词的One-Hot.假设单词向量空间dim为V,上下文单词个数为C所有onehot分别乘以共享的输入权重矩阵WV*N矩阵,N为自己设定的数,初始化权重矩阵W隐藏层:输入层所得的向量相加求平均作为隐层向量,size为1*N输出层:隐藏层乘以输出权重矩阵W N*V

37、得到向量 1*V 激活函数处理得到V-dim概率分布,概率最大的index所指示的单词为预测结果,预测词真实词做比较,误差越小越好输入替换内容输入替换内容输入替换内容标题文本预设2.3.4 Word2Vec模型-Skip-GramSkip-Gram模型基本结构Skip-geam与cbow类似,Skip-Gram是用中心词来预测周围的词。在Skip-Gram中,会利用周围的词的预测结果情况,来不断的调整中心词的词向量,最终所有的文本遍历完毕之后,也就得到了文本所有词的词向量。所以Skip-Gram进行预测的次数是要多于CBOW的:因为每个词在作为中心词时,都要使用周围词进行预测一次。这样相当于比

38、CBOW的方法多进行了K次(K为窗口大小),因此时间的复杂度为O(KV),训练时间要比CBOW要长。但是在Skip-Gram当中,每个词都要受到周围的词的影响,每个词在作为中心词的时候,都要进行K次的预测。因此,当数据量较少,或者词为生僻词出现次数较少时,这种多次的调整会使得词向量相对的更加准确。输入替换内容输入替换内容输入替换内容标题文本预设2.3.4 Word2Vec模型-Huffman树预测时,如果词表数量过大,采用Softmax对目标单词进行预测的计算量十分庞大。因此Word2Vec采用负采样与分层Softmax方法来对计算过程进行优化。输入替换内容输入替换内容输入替换内容标题文本预设

39、2.3.4 Word2Vec模型-负采样输入替换内容输入替换内容输入替换内容标题文本预设2.3.4 Word2Vec模型-优缺点分析在Word2Vec之后的第二年,GloVe(Global Vectors for Word Representation,全局词向量表示)被提出,该方法也属于分布式表示方法,但与Word2Vec不同的是该方法并未使用神经网络模型,而是基于全局词频统计构建词汇共现(共同出现)矩阵,并对共现矩阵降维。Word2Vec与GloVe方法是2018年之前最为常用的两种文本表示方法,其优缺点如下:优点:解决了数据稀疏、向量维度过高、字词之间的关系无法度量的问题缺点:Word2

40、Vec与GloVe得到的词向量都是静态词向量(词向量在训练结束之后不会根据上下文进行改变),静态词向量无法解决多义词的问题,例如:“7斤苹果”和“苹果7”中的“苹果”就是一个多义词,而这两种方法中“苹果”一词的向量表示是相同的。解决方案:ELMo、GPT、BERT、XLNet等模型中的动态词向量,区别于直接训练得到静态词向量的方式,动态词向量是在后续使用中把句子传入语言模型,并结合上下文语义得到更准确的词向量表示。动态词向量解决了多义词的问题,并凭借其在多项自然语言处理任务中取得的优异表现,迅速成为目前最流行的文本向量化表示方法。2.4自然语言处理开源工具自然语言工具包(NLTK)2.4.12

41、.4.2斯坦福核心自然语言处理(Stanford CoreNLP)2.4.3工业级自然语言处理工具包(spaCy)2.4.4复旦自然语言处理(FudanNLP,FNLP)2.4.5汉语语言处理包(HanLP)输入替换内容输入替换内容输入替换内容标题文本预设2.4.1 自然语言处理工具包-NLTK自然语言工具包(Natural Language Toolkit),简称NLTK,是自然语言处理领域常用的一个Python编程语言实现的自然语言处理工具。NLTK由宾夕法尼亚大学计算机和信息科学的史蒂芬伯德和爱德华洛珀在2001年编写,并由史蒂芬伯德带领的NLTK团队进行更新和维护。NLTK工具收集了大

42、量的公开数据集、提供了全面易用的模型接口,并且涵盖了分词、词性标注(Part-of-Speech tag,POS-tag)、命名实体识别(Named Entity Recognition,NER)、句法分析(Syntactic Parse)等NLP领域的各项功能。NLTK提供的语料库大多都是英文的,该工具包对于字符串的处理如分词是不支持中文的,如需使用NLTK处理中文文本,必须先对中文文本进行分词处理,这一过程可以使用结巴(Jieba)分词或者斯坦福核心自然语言处理(Stanford CoreNLP)等工具来辅助完成。2.4自然语言处理开源工具自然语言工具包(NLTK)2.4.12.4.2斯坦

43、福核心自然语言处理(Stanford CoreNLP)2.4.3工业级自然语言处理工具包(spaCy)2.4.4复旦自然语言处理(FudanNLP,FNLP)2.4.5汉语语言处理包(HanLP)输入替换内容输入替换内容输入替换内容标题文本预设2.4.2 斯坦福核心自然语言处理-Stanford CoreNLP斯坦福核心自然语言处理(Stanford CoreNLP)是由斯坦福大学自然语言处理组在2010年基于Java语言开发的自然语言处理工具库。该工具库支持中文、英文等多种语言,提供了词干提取、词性标注、命名实体识别、依存语法分析、指代消解、情感分析、关系抽取等功能,还集成了很多自然语言处理

44、工具,为多种主流编程语言提供开发接口,支持以Web服务形式运行。NLTK提供了调用CoreNLP的服务的接口,以便使用CoreNLP中提供的NLTK无法实现的功能,如中文分词、情感分析等等。如若将CoreNLP用于商业,需购买CoreNLP的商业许可证。此外,斯坦福大学于2020年开源Python版自然语言处理工具库Stanza,该库基于神经网络框架开发,支持更多的人类语言,并且提高了各类自然语言处理任务的准确性。2.4自然语言处理开源工具自然语言工具包(NLTK)2.4.12.4.2斯坦福核心自然语言处理(Stanford CoreNLP)2.4.3工业级自然语言处理工具包(spaCy)2.

45、4.4复旦自然语言处理(FudanNLP,FNLP)2.4.5汉语语言处理包(HanLP)输入替换内容输入替换内容输入替换内容标题文本预设2.4.3 自然语言处理工具包-spaCyspaCy是一个基于Python语言的自然语言处理工具包,由德国爆炸人工智能(Explosion AI)工作室在2014 年开发,马修汉尼拔(Matthew Honnibal)以及伊尼斯蒙塔尼(Ines Montani)进行维护。spaCy区别于学术性更浓的NLTK,号称“工业级强度的Python自然语言处理工具”,以面向企业级大规模应用快速高效而著称。spaCy提供词性标注、依存分析、命名实体识别、名词短语提取、词

46、干化、预训练词向量等功能,支持53种语言,提供了针对其中11种语言的23种统计模型。2.4自然语言处理开源工具自然语言工具包(NLTK)2.4.12.4.2斯坦福核心自然语言处理(Stanford CoreNLP)2.4.3工业级自然语言处理工具包(spaCy)2.4.4复旦自然语言处理(FudanNLP,FNLP)2.4.5汉语语言处理包(HanLP)输入替换内容输入替换内容输入替换内容标题文本预设2.4.4 复旦自然语言处理-FudanNLP复旦自然语言处理(FudanNLP),简称FNLP,是由复旦大学自然语言处理实验室在2014年开发的中文自然语言处理工具库。该工具库包含了自然语言处理

47、的一些机器学习算法和数据集,主要提供了中文分词、词性标注、实体名识别、关键词抽取、依存句法分析、时间短语识别等中文处理功能,文本分类、新闻聚类等信息检索功能,以及在线学习、层次分类、聚类等结构化学习算法。FudanNLP于2018年12月发布了FudanNLP的后续版本快速自然语言处理(FastNLP)库,并停止了对FudanNLP库的更新。2.4自然语言处理开源工具自然语言工具包(NLTK)2.4.12.4.2斯坦福核心自然语言处理(Stanford CoreNLP)2.4.3工业级自然语言处理工具包(spaCy)2.4.4复旦自然语言处理(FudanNLP,FNLP)2.4.5汉语语言处理

48、包(HanLP)输入替换内容输入替换内容输入替换内容标题文本预设2.4.5 汉语语言处理包-HanLP汉语语言处理包(Han Language Processing),简称HanLP,是由大快搜索何晗主导开发并维护的中文自然语言处理工具包,HanLP提供中文分词、词性标注、命名实体识别、关键词提取、自动摘要、短语提取、拼音转换、繁简转换、文本推荐、依存句法分析等NLP领域的各项功能,具有精度高、速度快、内存省的特点。HanLP目前有两个版本,分别为基于Java语言的1.x版本以及基于Tensorflow的2.0版本,HanLP 2.0版本正处于开发环境测试阶段。本章总结C H A P T E

49、R S U M M A R YTHREE本章总结本章首先依次介绍了自然语言处理语料库和语言知识库、文本预处理、文本表示三大基本流程,其中2.1节主要涉及自然语言处理任务第一步-获取/准备语料库和语言知识库,该节介绍了语料库和语言知识库的概念、分类以及常见的语料库、语言知识库资源,获取/准备语料库和语言知识库是自然语言处理任务的第一步,也是非常关键的一步,只有充分了解语料库和语言知识库的结构和内容,才能真正发挥其作用;2.2节主要涉及自然语言处理任务第二步-文本预处理,包括数据清洗、分词、去除停用词,合理地对文本进行预处理有助于降低后续模型训练的难度,提升模型的学习效果;2.3节主要涉及自然语言

50、处理任务第三步-文本表示,该节介绍了4种文本表示方法,包括One-Hot、BOW、TF-IDF、Word2Vec,文本表示将文本转化成计算机能够理解的向量形式,以便于后续的分析处理。最后,本章在2.4根据现有资料整理了目前开发和生产中较为常用、涵盖更多功能的多个自然语言处理库,包括NLTK、Stanford CoreNLP、spaCy、FudanNLP和HanLP,自然语言处理从业者可利用这些工具快速完成对自然语言处理任务的处理和分析。思考题1.简述自然语言处理的流程2.假设共有250亿篇文章,其中一篇文章的文本进行分词处理后长度为1000,其中“中国”、“蜜蜂”、“养殖”三个词在这篇文章中出

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《自然语言处理》课件新模板 第二章 自然语言处理基础.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|