Python自然语言处理-课件-第05章-词向量与关键词提取_第1页
Python自然语言处理-课件-第05章-词向量与关键词提取_第2页
Python自然语言处理-课件-第05章-词向量与关键词提取_第3页
Python自然语言处理-课件-第05章-词向量与关键词提取_第4页
Python自然语言处理-课件-第05章-词向量与关键词提取_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

词向量与关键词提取Python自然语言处理第五章CONTENT目录

01词向量算法word2vec02关键词提取技术概述03TF-IDF算法04TextRank算法05LSA/LSI/LDA算法06提取文本关键词章节回顾01OPTION02OPTION03OPTION中文分词词性标注命名实体识别词向量算法01词向量算法word2vec神经网络语言模型C&W模型CBOW模型和Skip-gram模型词向量算法word2vec文本表示:自然语言处理中的基础工作,对后续工作有着重要影响。文本向量化:文本表示的一种重要方式。文本向量化是将文本表示成一系列能够表达文本语义的向量。无论是中文还是英文,词语都是表达文本处理的最基本单元。文本词向量化:当前阶段,对文本向量化大部分的研究都是通过将文本词向量化实现的。也有研究将句子作为文本处理的基本单元,对应的是doc2vec和str2vec技术。词向量算法word2vec词袋模型词袋模型是最早的以词语为基本处理单元的文本向量化方法。例:首先给出两个简单的文本如下:Mikelikestowatchnews,Boblikestoo.MikealsolikestowatchBasketballgames.基于上述两个文档中出现的单词,构建如下词典:{“Mike":1,"likes":2,"to":3,"watch":4,"news":5,"also":6,"Basketball":7,"games":8,“Bob":9,"too":10}每个文本我们可以使用一个10维的向量来表示:[1,2,1,1,1,0,0,0,1,1][1,1,1,1,0,1,1,1,0,0]注:位置表示单词,数字表示每个单词在文本中出现的频率词向量算法word2vec词袋模型存在的问题:维度灾难。如果上述例子词典中包含10000个单词,那么每个文本需要用10000维的向量表示,也就是说除了文本中出现的词语位置不为0,其余9000多的位置均为0,高维度的向量会使计算量猛增,大大影响计算速度。无法保留词序信息。存在语义鸿沟的问题。词向量算法word2vec大数据时代关于如何使用海量的自然语言的两个问题近年来,随着互联网技术的发展,互联网上的数据急剧增加。大量无标注的数据产生,这些数据中蕴含着丰富的信息。如何从大量无标注的文本中提取有用信息?语义信息:一般来说词语是表达语义的基本单元。词袋模型中只是将词语符号化,所以词袋模型不包含语义信息。如何使“词表示”包含语义信息?词向量(word2vec)技术:使用神经网络模型从大量无标注的文本中提取有用信息的技术。词向量算法word2vec问题解决理论基础——分布假说上下文相似的词,其语义也相似词空间模型利用上下文分布表示词义的方法。神经网络模型灵活地对上下文进行建模。词量算法01词向量算法的基本理论神经网络语言模型C&W模型CBOW模型和Skip-gram模型神经网络语言模型神经网络语言模型(NNLM(NeuralNetworkLanguageModel)是最基础的语言模型。NNLM语言模型结构

神经网络语言模型NNLM语言模型结构

神经网络语言模型NNLM语言模型结构

神经网络语言模型NNLM语言模型结构

神经网络语言模型NNLM语言模型结构

词量算法01词向量算法的基本理论神经网络语言模型C&W模型CBOW模型和Skip-gram模型C&W模型目标:直接生成词向量优点:快速在NNLM模型的求解中,最费时的部分当属隐藏层到输出层的权重计算。C&W模型没有采用语言模型的方式去求解词语上下文的条件概率,而是直接对​元短语打分,这是一种更为快速获取词向量的方式。核心机理:在语料库中出现过的​元短语,会被打高分;反之则会得到较低的评分。C&W模型结构图C&W模型

C&W模型结构图

C&W模型

C&W模型结构图词量算法01词向量算法的基本理论神经网络语言模型C&W模型CBOW模型和Skip-gram模型CBOW模型和Skip-gram模型CBOW(ContinuousBagof-Words)模型和Skip-gram模型综合了NNLM和C&W模型的核心部分。CBOW模型使用一段文本的中间词作为目标词CBOW没有隐藏层,输入层就是语义上下文的表示。CBOW模型使用上下文各词的词向量的平均值替代NNLM模型各个拼接的词向量。CBOW模型和Skip-gram模型

CBOW模型和Skip-gram模型2.Skip-Gram模型

CBOW模型和Skip-gram模型Skip-gram和CBOW实际上是word2vec两种不同思想的实现:CBOW根据上下文来预测当前词语的概率,且上下文所有的词对当前词出现概率的影响的权重是一样的,因此叫continuousbag-of-words模型。如在袋子中取词,取出数量足够的词就可以了,取出的先后顺序则是无关紧要的。Skip-gram刚好相反,根据当前词语来预测上下文概率的。在实际使用中,算法本身并无优劣之分,需要根据呈现的效果来进行选择。课程小结词向量算法神经网络语言模型C&W模型CBOW模型和Skip-gram模型谢谢观看词向量与关键词提取Python自然语言处理第五章CONTENT目录

01词向量算法02关键词提取技术概述03TF-IDF算法04TextRank算法05LSA/LSI/LDA算法06提取文本关键词章节回顾01OPTION02OPTION03OPTION04OPTION词向量算法

的基本理论神经网络

语言模型

C&W模型

CBOW模型和Skip-gram模型关键词提取技术概述02关键词提取技术概述对信息提取的关键词越准确,我们越可能搜索到想要的信息,类似于其他的机器学习方法,关键词提取算法一般也分为:有监督的关键词提取算法无监督的关键词提取算法在信息爆炸的时代,只能筛选出一些我们感兴趣的或者有用的信息进行接收。关键词搜索——>关键词提取(前提)优点:能够获取到较高的精度缺点:需要大批量的标注数据,人工成本过高。大数据时代,每时每刻都有大量的新信息出现,一个固定的词表涵盖所有的新信息,而且人工维护这个受控的词表也需要很高的人力成本有监督机器学习的方法通过分类的方式进行,通过构建一个较为丰富和完善的词表,然后判断每个文档与词表中每个词的匹配程度,以类似打标签的方式,达到关键词提取的效果。关键词提取技术概述无监督方法:不用人工参加,不用训练语料,通过抽取系统来抽取关键词。因此,无监督方法更多的得到采用,一些常用的算法有:TF-IDF算法TextRank算法主题模型算法(包括LSA,LSI、LDA等)关键词提取技术概述课程小结关键词提取技术概述有监督方法无监督方法谢谢观看词向量与关键词提取Python自然语言处理第五章CONTENT目录

01词向量算法02关键词提取技术概述03TF-IDF算法04TextRank算法05LSA/LSI/LDA算法06提取文本关键词章节回顾01OPTION02OPTION有监督的关键词

提取方法无监督的的关键词

提取方法关键提取算法TF-IDF算法TF-IDF(termfrequency-inversedocumentfrequency,词频——逆文档频次算法):一种基于统计的计算方法,常用于评估某个词对一份文档的重要程度,重要程度高的词会成为关键词。TF-IDF算法由两部分组成:TF算法:统计在一篇文档中一个词出现的频次。核心为若某个词在一个文档中出现的次数越多,则它对文档的表达能力也越强。IDF算法是来统计一个词在文档集的多少个文档中出现。核心为若某个词在越少的文档中出现,那么它区分文档能力也就越强。在实际应用中,会将TF算法、IDF算法这两种算法结合使用,由此就能从词频、逆文档频次这两个角度来衡量词的重要性。关键提取算法TF-IDF算法

关键提取算法TF-IDF算法

关键提取算法TF-IDF算法

关键提取算法TF-IDF算法TF-IDF算法的变种传统的TF-IDF算法中,仅考虑了词的两个统计信息(出现频次、在多少个文档出现),其对文本的信息利用程度考虑较少。文本中还有许多信息,例如每个词的词性、出现的位置等,对关键词的提取起到很好的指导作用。在某些特定的场景中,如在传统的TF-IDF基础上,加上这些辅助信息,能很好的提高对关键词提取的效果。如:名词作为一种定义现实实体的词,带有更多的关键信息,在关键词提取过程中,对名词赋予更高的权重,能使提取出来的关键词更合理。文本的起始段落和末尾段落比起其他部分的文本更重要,对出现在这些位置的词赋予更高的权重,也能提高关键词的提取效果。课程小结关键提取算法TF-IDF算法谢谢观看词向量与关键词提取Python自然语言处理第五章CONTENT目录

01词向量算法02关键词提取技术概述03TF-IDF算法04TextRank算法05LSA/LSI/LDA算法06提取文本关键词章节回顾TF-IDF算法01OPTIONTextRank算法仅对单篇文档进行分析并能提取其中的关键词。早期应用于文档的自动摘要,基于句子维度的分析,利用TextRank对每个句子进行打分,找到分数最高的句子作为文档的关键词,从而实现自动摘要的效果。TextRank算法PageRank算法PageRank算法思想启发了TextRank算法。PageRank算法是谷歌构建原始搜索系统的时候提出的链式分析算法,该算法用来评价搜索系统网页重要性的一种方法,是一个成功的网页排序算法。PageRank算法核心思想:链接数量:比如一个网页被越多其他的网页链接,说明该网页越重要。链接质量:比如一个网页被越高权值的网页链接,说明该网页越重要。TextRank算法PageRank算法计算图如图所示:首先理解几个概念:出链:如果在网页a中附加了网页b的超链接b-link,用户浏览网页a时可以点击b-link然后进入网页b。上面这种a附有b-link这种情况表示a出链b。入链:上面通过点击网页a中b-link进入网页b,表示由a入链b。如果用户自己在浏览器输入栏输入网页b的URL,然后进入网页b,表示用户通过输入URL入链b。无出链:如果网页a中没有附加其他网页的超链接,表示a无出链。PR值:一个网页被访问的概率。TextRank算法

TextRank算法

TextRank算法当TextRank应用到关键词提取时,与应用在自动摘要中时主要有两点不同:

词与词之间的关联没有权重每个词不是与文档中所有词都有链接。

TextRank算法对于第二点不同,每个词不是与所有词相连,使用窗口来确定链接关系。在窗口中的词相互间都有链接关系。以下面的文本为例:

世界献血日,学校团体、献血服务志愿者等可到血液中心参观检验加工过程,我们会对检验结果进行公示,同时血液的价格也将进行公示。经过分词后为——【世界,献血,日,学校,团体,献血,服务,志愿者,等】。现在将窗口大小设为5,可得到以下的几个窗口:1)[世界,献血,日,学校,团体]

4)[学校,团体,献血,服务,志愿者]2)[献血,日,学校,团体,献血]

5)[团体,献血,服务,志愿者,等]3)[日,学校,团体,献血,服务]每个窗口内所有的词之间都有链接关系。然后就可以使用TextRank的公式,对每个词的得分进行计算了。最后选择得分最高的n个词作为文档的关键词。课程小结TextRank算法谢谢观看词向量与关键词提取Python自然语言处理第五章CONTENT目录

01词向量算法02关键词提取技术概述03TF-IDF算法04TextRank算法05LSA/LSI/LDA算法06提取文本关键词章节回顾01OPTION02OPTIONPageRank算法TextRank算法LSA/LSI/LDA算法05LSA/LSI算法LDA算法LSA/LSI/LDA算法一般来说,TF—IDF算法和TextRank算法就能满足大部分关键词提取的任务。但是在某些场景,关键词并不一定会显式地出现在文档当中,如:一篇讲动物生存环境的科普文,通篇介绍了狮子老虎鳄鱼等各种动物的情况,但是文中并没有显式地出现动物二字,这种情况下,前面的两种算法显然不能提取出动物这个隐含的主题信息。这时候就需要用到主题模型。LSA/LSI/LDA算法

LSA/LSI算法LSA(LatentSemanticAnalysis,潜在语义分析)和LSI(LatentSemanticIndex,潜在语义索引),它们经常被当作同一算法,不同之处在于应用场景略有不同。LSA与LSI两者全都是文档的潜在语义进行分析,而潜在语义索引是在分析之后,运用分析得出的结果去建立相关的索引。LSA的主要步骤如下:通过BOW模型把每个文档代表为向量;将全部的文档词向量排在一起构成词-文档矩阵(mxn);然后对词-文档矩阵进行奇异值分解(SVD)操作([m×r]·[r×r]·[r×n]);根据SVD操作的结果,将词-文档矩阵映射到一个更低维度k([m×k]·[k×k]·[k×n],0<k<r),每一个词和文档都能够代表为k个主题构成的空间中的单个点,计算每个词和文档的相似度(可以使用用余弦相似度或KL相似度进行计算),能够得出每一个文档中对每个词的相似度结果,相似度最为高的一个词即为文档的关键词;LSA/LSI算法LSA的优势:LSA利用SVD(奇异值分解)把文档、词映射到一个低维的语义空间,发掘出词、文档的浅层语义信息,可以更本质地表达词、文档,在有限利用文本语义信息的同时,也极大地降低了计算的成本,提升了分析的质量。

LSA/LSI/LDA算法LSA的缺陷:SVD的计算复杂度特别高,在特征空间维度相比较大的情况下,计算效率非常缓低。LSA提取的分布信息是已有数据集为基础,在一个新的文档进入已有的特征空间的时候,要重新训练整个空间,才可得加入新文档后对应的分布信息。LSA依旧有着对物理解释性薄弱、词的频率分布不敏感等诸多问题。LSA/LSI/LDA算法LSA缺陷的解决:pLSA算法,利用运用EM算法对分布信息进行了拟合代替了最初使用SVD来暴力破解,消除了LSA的部分缺点,LDA算法(隐含狄利克雷分布LatentDirichletAllocation),以pLSA为基础,引进贝叶斯模型,是如今topic

model的主流方法LSA/LSI/LDA算法05LSA/LSI算法LDA算法LDA算法LDA在2003年由DavidBlei等人提出,以贝叶斯理论为基础。LDA通过对词的共现信息的分析,然后拟合出词-文档-主题的分布,从而把词、文本都映射到一个语义空间之中。

LDA算法假设主题中词的先验分布与文档中主题的先验分布全服从狄利克雷分布(隐含狄利克雷分布此名字的原由)。在贝叶斯学派眼中,先验分布+数据(似然)=后验分布。统计已有的数据集,能够得出每一个主题对应词的多项式分布与每一篇文档中主题的多项式分布。之后就可以依据贝叶斯学派的办法,依据先验的狄利克雷分布与观测数据得到的多项式分布,得出一组Dirichlet-multi共轭,且根据这个来推断主题中词的后验分布与文档中主题的后验分布。LDA算法具体的LDA模型求解的一种主流的方法为吉布斯采样。结合吉布斯采样结合的LDA模型训练过程:随机初始化:在语料中每一篇文档中的每一个词w,随机赋予一个topic编号z。重新扫描语料库:对每一个词w按吉布斯采样公式重新采样它的topic,同时在语料中进行更新。重复以上语料库的重新采样过程一直到吉布斯采样收敛。最后统计语料库的topic-word共现频率矩阵,这个矩阵为LDA的模型。LDA算法新文档的topic预估过程:随机初始化:对当前文档中的每个词w,随机赋一个topic编号z。重新扫描当前文档,按照吉布斯采样公式,重新采样它的topic。重复以上过程一直到吉布斯采样收敛。统计文档中的topic分布,则是预估结果。LSA/LSI/LDA算法根据上面LSA或LDA算法,能获得主题对词的分布与文档对主题的分布,然后就要通过此信息抽取关键词。然后就能根据该分布信息计算文档和词的相似性,继续获得文档最相似的词列表,最终能够获得文档的关键词。课程小结LSA/LSI/LDA算法LSA/LSI算法LDA算法谢谢观看词向量与关键词提取Python自然语言处理第五章CONTENT目录

01词向量算法02关键词提取技术概述03TF-IDF算法04TextRank算法05LSA/LSI/LDA算法06提取文本关键词章节回顾01OPTION02OPTIONLSA/LSI算法LDA算法实例:提取文本关键词实验内容:运用这些算法从一个数据集中提取关键词实验介绍:本节代码主要应用了Jieba以及Gensim。应用了Jieba工具中analyse模块封装的TextRank算法;Gensim

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论