自然语言处理 课件 第4章 文本表示_第1页
自然语言处理 课件 第4章 文本表示_第2页
自然语言处理 课件 第4章 文本表示_第3页
自然语言处理 课件 第4章 文本表示_第4页
自然语言处理 课件 第4章 文本表示_第5页
已阅读5页,还剩265页未读 继续免费阅读

下载本文档

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

文档简介

第四章文本表示目录基于向量空间模型的文本表示方法基于矩阵的文本表示方法基于深度学习的文本表示方法第四章文本表示例:A.中信证券建筑首席分析师罗鼎认为,发改委加大对重大基础设施建设项目审批力度,凸显逆周期调节重要性。B.2018年5月,太原国际马拉松赛被国际田联认定为银标赛事,成为全国第八个获得这项荣誉的马拉松赛。基于向量空间模型的文本表示方法第四章文本表示人类是如何进行区别的?例:A.中信证券建筑首席分析师罗鼎认为,发改委加大对重大基础设施建设项目审批力度,凸显逆周期调节重要性。B.2019年6月,太原国际马拉松赛被国际田联认定为金标赛事,成为全国第十个获得这项荣誉的马拉松赛。基于向量空间模型的文本表示方法第四章文本表示词频:一个词在一个文档中出现的次数。思考:词频反映的实际意义是什么?基于向量空间模型的文本表示方法第四章文本表示对一个语料库S中的所有句子s∈S,s=w1w2…wn。抽取其中包含的所有词汇wi,去除其中的停用词后(的、了、在、呢、啊等等),记为集合W。对任意wi∈W统计其在S中出现的文档频次df(w),依照频次大小降序排列,取排序前N~M位或前N%~M%(N<M)的词汇作为描述这个语料库S的特征集合Wdf。SW去停用词词频统计筛选Wdf基于向量空间模型的文本表示方法第四章文本表示V=[0,0,0,1,0,0,1,0,1,0,0,1,0,…]其中,以Wdf为基础可将一个文本表示为一个k维0-1向量V,k=|Wdf|,称之为one-hot表示或者词袋模型表示。形如:A.中信证券建筑首席分析师罗鼎认为,发改委加大对重大基础设施建设项目审批力度,凸显逆周期调节重要性。B.2018年5月,太原国际马拉松赛被国际田联认定为银标赛事,成为全国第八个获得这项荣誉的马拉松赛。基于向量空间模型的文本表示方法第四章文本表示例如:假设有特征词集Wtf={证券,分析师,发改委,审批,马拉松,田联,赛事}。例句A、B分别表示为:A.中信证券建筑首席分析师罗鼎认为,发改委加大对重大基础设施建设项目审批力度,凸显逆周期调节重要性。B.2019年6月,太原国际马拉松赛被国际田联认定为金标赛事,成为全国第十个获得这项荣誉的马拉松赛。A=[1,1,1,1,0,0,0]B=[0,0,0,0,1,1,1]基于向量空间模型的文本表示方法第四章文本表示向量空间模型(VSM:VectorSpaceModel)由Salton等人于20世纪70年代提出,并成功地应用于著名的SMART文本检索系统。VSM把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语义的相似度。当文档被表示为文档空间的向量,就可以通过计算向量之间的相似性来度量文档间的相似性。VSM包括两个方面:用于表征文档语义的特征这些特征的组织方式基于向量空间模型的文本表示方法第四章文本表示向量空间模型:给定一文档,由于在文档中既可以重复出现又应该有先后次序的关系,分析起来仍有一定的难度为了简化分析,可以暂不考虑在文档中的先后顺序并要求无重复。这时可以把看成一个n维的坐标系,而为相应的坐标值,因而

被看成是n维空间中的一个向量。基于向量空间模型的文本表示方法第四章文本表示相似度(Similarity):两个文档和之间的(内容)相关程度(DegreeofRelevance)常常用它们之间的相似度来度量当文档被表示为VSM,常用向量之间的内积来计算:

基于向量空间模型的文本表示方法第四章文本表示文档(Document):泛指一般的文献或文献中的片断(段落、句子组或句子),一般指一篇文章。项(Term):

当文档的内容被简单地看成是它含有的基本语言单位(字、词、词组或短语等)所组成的集合时,这些基本的语言单位统称为项,即文档可以用项集(TermList)表示为其中是项,基于向量空间模型的文本表示方法第四章文本表示

项的权重(TermWeight):对于含有n个项的文档,项常常被赋予一定的权重,表示它们在文档中的重要程度,即

BooleanTF(3)

基于向量空间模型的文本表示方法第四章文本表示目的:为了提高程序的效率,提高运行速度为了提高分类精度一些通用的、各个类别都普遍存在的词汇对分类的贡献小在某特定类中出现比重大而在其他类中出现比重小的词汇对文本分类的贡献大对于每一类,我们应去除那些表现力不强的词汇,筛选出针对该类的特征项集合特征选择基于向量空间模型的文本表示方法第四章文本表示通常做法在用特征词作为文本的特征表示时,为了强化其在不同情景下的意义,通常采用不同的权值进行反映经过观察,可以发现一个特征词在一篇文档中出现的次数越多,它与这篇文档对应的主题越相关。同时还发现一个特征词在整个文档集中出现的频率越高,它的类别区分度越小

基于向量空间模型的文本表示方法第四章文本表示常用方法文档频率DF信息增益IG互信息MI

统计量(CHI-2)基于向量空间模型的文本表示方法第四章文本表示对于特征词条t和文档类别c,IG考察c中出现和不出现t的文档频数来衡量t对于c的信息增益,定义如下:信息增益IG其中,表示类文档在语料中出现的概率,P(t)表示语料中包含特征词条t的文档的概率,表示文档包含特征词条t时属于类ci的条件概率,表示语料中不包含特征词条t的文档的概率,表示文档不包含特征词条t时属于类ci的条件概率,m表示文档类别数。

基于向量空间模型的文本表示方法第四章文本表示如果选择一个特征后,信息增益最大(信息不确定性减少的程度最大),那么我们就选取这个特征。基于向量空间模型的文本表示方法第四章文本表示信息增益的优点在于,它考虑了词条未发生的情况,即虽然某个单词不出现也可能对判断文本类别有贡献。

但在类分布和特征值分布是高度不平衡的情况下其效果就会大大降低了。基于向量空间模型的文本表示方法第四章文本表示互信息(MutualInformation)在统计语言模型中被广泛使用。它是通过计算特征词条t和类别c之间的相关性来完成提取的。其定义如下:基于向量空间模型的文本表示方法第四章文本表示如果用A表示包含特征词条t且属于类别c的文档频数,B为包含t但是不属于c的文档频数,C表示属于c但不包含t的文档频数,N表示语料中文档的总数,t和c的互信息可由下式计算:

ABCDt~tc~c基于向量空间模型的文本表示方法第四章文本表示对于整个分类类别空间C,c∈C基于向量空间模型的文本表示方法第四章文本表示

统计量它度量特征词条t和文档类别c之间的相关程度,并假设t和c之间符合具有一阶自由度的分布。特征词条对于某类的统计值越高,它与该类之间的相关性越大,携带的类别信息也越多。反之,统计量也是反映属性t和类别c之间的独立程度。当的值为0时,属性t与类别c完全独立。

基于向量空间模型的文本表示方法第四章文本表示令N表示训练语料中的文档总数,c为某一特定类别,t表示特定的词条A表示属于c类且包含t的文档频数,B表示不属于c但是包含t的文档频数C表示属于c类但是不包含t的文档频数,D是既不属于c也不包含t的文档频数.其定义为:

ABCDt~tc~c且N=A+B+C+D

基于向量空间模型的文本表示方法第四章文本表示特征选择方法性能比较Yang,Y.,PedersenJ.P.AComparativeStudyonFeatureSelectioninTextCategorizationProceedingsoftheFourteenthInternationalConferenceonMachineLearning(ICML'97),1997,pp412-420.基于向量空间模型的文本表示方法第四章文本表示权重计算词频-逆文档频度(TermFrequency-InverseDocumentFrequency,TF-IDF)字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。基于向量空间模型的文本表示方法第四章文本表示基于向量空间模型的文本表示方法第四章文本表示用scikit-learn进行TF-IDF预处理在scikit-learn中,有两种方法进行TF-IDF的预处理。第一种方法是在用CountVectorizer类向量化之后再调用TfidfTransformer类进行预处理。第二种方法是直接用TfidfVectorizer完成向量化与TF-IDF预处理。基于向量空间模型的文本表示方法第四章文本表示用scikit-learn进行TF-IDF预处理第一种方法CountVectorizer+TfidfTransformer基于向量空间模型的文本表示方法第四章文本表示用scikit-learn进行TF-IDF预处理第二种TfidfVectorizer基于向量空间模型的文本表示方法第四章文本表示用scikit-learn进行TF-IDF预处理输出格式:(文档id,全局词id,tfidf权重)基于向量空间模型的文本表示方法第四章文本表示思考:TFIDF能不能做特征选择?对于全局特征——不能。每个词的重要性是与单个文档绑定的。不同文档间的tfidf值没有可比性。对于局部特征——可以。对单个文档而言,tfidf高的词就是这个文档的代表性词汇。基于向量空间模型的文本表示方法第四章文本表示思考:TFIDF如何做全局特征选择?方法一:基于向量空间模型的文本表示方法第四章文本表示思考:TFIDF如何做全局特征选择?方法二:对语料库中的每个文档,利用TFIDF计算每个特征项的权重,取前k个项作为该文档的特征集,将语料库中的所有文档的特征集取并集得到语料库的全局特征集。基于向量空间模型的文本表示方法第四章文本表示向量空间模型表示优点:简单易用缺点:“维数灾难”现象:在大数据环境下,高维的特征对于深层语义表示而言,其计算复杂度是难以接受的。“词汇鸿沟”现象:任意两个词之间都是孤立的,丢失了词之间语义关联关系的信息。基于向量空间模型的文本表示方法第四章文本表示one-hot:sun[0,0,0,0,0,0,0,0,1,0,0,0,0,…][0,0,0,0,0,0,0,1,0,0,0,0,0,…]starsim(star,

sun)

=0目录基于向量空间模型的文本表示方法基于矩阵的文本表示方法基于深度学习的文本表示方法第四章文本表示基于矩阵的文本表示方法第四章文本表示基于矩阵的文本表示方法第四章文本表示分布式假说:

1954年,Harris最早提出了词语义的分布假说(distributionalhypothesis),他认为:“具有相似上下文的词语也具有相似的语义”。该假说奠定了词语分布式语义表示(distributionalsemanticrepresentation)的理论基础。此后,Firth、Dagan和Schütze等人在Harris的理论基础上总结完善了基于上下文的词语义分布表示,被称为词空间模型(wordspacemodel),但因受限于当时的计算机运算能力,该方法没有得到大规模的应用。随着计算机硬件性能及相关运算优化算法的发展,基于词空间模型的深层语义表示方法逐渐确立了在文本表示研究领域中的统治地位。主要分为基于矩阵的表示和基于神经网络的表示两种类型。基于矩阵的文本表示方法第四章文本表示Count-based

distributional

representation上下文信息嵌入到了词向量表示中

词嵌入(wordembedding)基于矩阵的文本表示方法第四章文本表示Each

word

is

represented

as

a

dense

and

real-valued

vector

in

a

low-dimensional

space每个词都在一个低维空间中表示为一个稠密、实值的向量。基于矩阵的文本表示方法第四章文本表示基于矩阵的文本深层表示以“词-上下文”矩阵为核心,需要构建一个“词-上下文”矩阵,从矩阵中获取词的表示。在“词-上下文”矩阵中,每行对应一个词,每列表示一种不同的上下文,矩阵分量表示对应的上下文对该词影响的权重,权重计算主要有:“词-上下文”共现频率、tf-idf、PMI等方法。Co-occurrencematrixIlovemonkeysandapesbananasI010000love102001monkeys020100and001010apes000100bananas010000基于矩阵的文本表示方法第四章文本表示D1,Ilovemonkeys.D2,Apesandmonkeyslovebananas

文档级上下文Co-occurrencematrixD1D2I10love11monkeys11and01apes01bananas01此时的bananas的词向量就是[0,1]基于矩阵的文本表示方法第四章文本表示对于上下文的选择一般可分为:文档级,将该词出现的整个文档作为上下文;词窗口级,将该词上下文中选取长度固定的词窗口内的词作为上下文;n-gram窗口级,将该词上下文首先表示为n-gram模型,之后再选取长度固定的词窗口内的n-gram词组作为上下文。相对而言,词窗口级因具有较低的稀疏性以及保留了词序信息,从而使词语义的建模精度达到最高。当数据量较大时,构建得到的“词-上下文”矩阵维度较高,通常还需要进行矩阵分解以便降低维度。常用矩阵分解方法主要有奇异值分解等。基于矩阵的文本表示方法第四章文本表示潜在语义分析(Latentsemanticanalysis,LSA)主成分分析(PrincipalComponentAnalysis,PCA)通过对大量的文本集进行统计分析,从中提取出词语的上下文使用含义。技术上通过奇异值分解SVD分解等处理,消除了同义词、多义词的影响,提高了后续处理的精度。

流程:分析文档集合,建立词汇-文本矩阵A。对词汇-文本矩阵进行奇异值分解。对SVD分解后的矩阵进行降维使用降维后的矩阵构建潜在语义空间基于矩阵的文本表示方法第四章文本表示奇异值分解(SVD)原理与在降维中的应用基于矩阵的文本表示方法第四章文本表示输入有m个词,对应n个文本。而Aij则对应第i个词在的第j个文本的特征值(共现频率、TF-IDF值)。k是我们假设的主题数,一般要比文本数少。SVD分解后,Uil对应第i个词和第l个主题的相关度。Vjm对应第j个文本和第m个主题的相关度。Σlm对应第l个主题和第m个主题的相关度。基于矩阵的文本表示方法第四章文本表示待分解矩阵A:m×n

U:m×m,由左奇异向量组成

Σ:m×n,主对角线为奇异值,其他为0

V:n×n,由右奇异向量组成

U和V均为酉矩阵,即基于矩阵的文本表示方法第四章文本表示

用n×n的方阵

做特征值分解,得到n个特征值和特征向量v,作为右奇异向量,得到右侧的V矩阵;

用m×m的方阵

做特征值分解,得到m个特征值和特征向量u,作为左奇异向量,得到左侧的U矩阵;基于矩阵的文本表示方法第四章文本表示求解奇异值:则

的特征向量组成V,同理

的特征向量组成U。且特征值是奇异值的平方,即基于矩阵的文本表示方法第四章文本表示奇异值可以被看作成一个矩阵的代表值,或者说,奇异值能够代表这个矩阵的信息。当奇异值越大时,它代表的信息越多。因此,我们取前面若干个最大的奇异值,就可以基本上还原出数据本身。基于矩阵的文本表示方法第四章文本表示在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。所以可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩,即:对一个词w:w∈R1×n对一个文档d:d∈Rm×1降维后:基于矩阵的文本表示方法第四章文本表示基于矩阵的文本表示优点:可以刻画同义词;无监督/完全自动化。缺点:无法解决一词多义问题;高维度矩阵做奇异值分解是非常耗时;特征向量没有对应的物理解释。目录基于向量空间模型的文本表示方法基于矩阵的文本表示方法基于深度学习的文本表示方法第四章文本表示神经网络语言模型第四章文本表示word2vecword2vec第四章文本表示MikolovT,SutskeverI,ChenK,etal.Distributedrepresentationsofwordsandphrasesandtheircompositionality[C]//Advancesinneuralinformationprocessingsystems.2013:3111-3119.word2vec第四章文本表示word2vecCBOWSkip-gramword2vec第四章文本表示输入层:上下文单词的onehot.{1*V,词窗口C}所有onehot分别乘以共享的lookup矩阵E.{V*N矩阵,N为设定词向量维度,随机初始化}所得的向量相加求平均作为隐层向量,维度为1*N.word2vec第四章文本表示乘以输出权重矩阵W’{N*V}得到向量{1*V}经过softmax归一化得到V-dim概率分布{其中的每一维代表着一个单词}概率最大的index所指示的单词为预测出的中间词(targetword)与truelabel的onehot做比较,误差越小越好(根据误差更新权重矩阵)word2vec第四章文本表示基于层次softmax的CBOWword2vec第四章文本表示

设需传送的电文为'ABACCDA'

需编码的字符集为{A,B,C,D}则有最简单的字符编码00,01,10,11Huffman编码

为了提高通信效率,电文编码总长度应尽可能短,这就需要设计不等长编码。

如:A——0,B——00,C——1,D——01假设有电文编码为‘000011010’解码?等长编码word2vec第四章文本表示为了正确译码,不等长编码的设计还需要满足前缀编码条件。任一字符的编码都不是同一字符集中另一个字符编码的前缀,满足该条件的不等长编码称作前缀编码。利用赫夫曼树可以构造一种不等长的二进制编码,并且构造所得的编码还是一种最优前缀编码,即既能使电文编码的总长度最短又能做到正确译码,该编码称作赫夫曼编码。word2vec第四章文本表示赫夫曼编码方法:分别用字符

d1,d2,…,dn

作为叶子结点,各字符的使用频率w1,w2,…,wn作为叶子结点上的权,构造赫夫曼树。约定,赫夫曼树中所有左分支表示

0,右分支表示1,则从根到每个叶子结点路径上的二进制数字组成的序列就是该叶子结点中字符的编码。word2vec第四章文本表示例:

设需传送的电文为'ABACCDA'

需编码的字符集为{A,B,C,D}则各字符的使用频率为{3,1,2,1}赫夫曼编码:

A(0)C(10)B(110)D(111)0BDCA321100111word2vec第四章文本表示根据词典每个词作为叶子节点,词的频次作为叶子节点的权重,向上构造Huffman树,具体为:1)将词典的N个词,看成N棵树的森林2)将“根节点权值“最小的两棵树合并成一棵新树,原来的树视为新树的左右子树,新树的“根节点权值”为左右子树的“根节点权值”之和3)重复2),直到森林中只剩下一棵树

word2vec第四章文本表示整个Huffman树构建完成以后,叶节点的个数为N(词典大小),非叶节点的个数为N-1。以[我,喜欢,观看,北京,冬季,奥运会]为例,这组词的词频为:15,8,6,5,3,1W2V中规定权值大的设为左子节点标记为1,右子节点标记为0,每个词的路径(根节点除外)对应的编码称为该词的Huffman编码。word2vec第四章文本表示输出层:对应一棵Huffuman树,它以词典中的词为叶节点,以词出现的次数为叶节点的权重来构建;每个非叶节点对应一个二分类器。word2vec第四章文本表示pw:词w对应的路径lw:词w对应路径上的节点个数pwi,(i∈1,2,...,lw):路径pw上的某个节点[dw2,dw3...dwlw]:词w的Huffuman编码。(无根节点)θwi,(i∈1,2,...,lw−1):路径pw上,内部节点的权重向量。因为每个内部节点对应一个二分类器,这些权重向量就是二分类器的参数(无叶节点)word2vec第四章文本表示给定一个词的context(w),预测生成目标词w概率,相当于沿着Huffuman树进行搜索,每经过一个内部节点,就进行一次二分类并生成一个概率,将路径上的所有概率连乘起来,就表示生成目标词w的概率。(分类时,规定分到左边为负类,Huffuman编码为1;分到右边为正类,Huffuman编码为0)word2vec第四章文本表示对于目标单词w的条件概率为:其中,每个二分类器是一个逻辑回归分类器,正确分类的概率表示为:word2vec第四章文本表示参数估计采用极大似然的思想,即找到一组参数,使得根据上下文context(w)预测为目标词w的“整体概率”最大;对于给定的语料库T,整体的似然函数为:转成对数似然:word2vec第四章文本表示参数优化W2V采用随机梯度上升法,对每个样本(context(w),w),就对所有的参数进行更新。独立地优化路径上每个二分类器的L(w,j),让每个L(w,j)同时往梯度上升的方向更新,逐步逼近整体最优。word2vec第四章文本表示以样本(context(w),w)为例:

1,更新二分类器的参数:从根节点到目标单词w,其路径上有lw−1个二分类器,并且对于一个样本,每个二分类器都有对应的正确类别输出(往左分支预测为负,往右分支预测为正),使用随机梯度上升法来训练这条路径的每个二分类。word2vec第四章文本表示以样本(context(w),w)为例:

2,更新词向量的参数:依次往梯度上升的方向,更新窗口的每个词的词向量。把xw的更新量更新到每一个wi上。word2vec第四章文本表示基于负采样的CBOW对于给定的语料库T,取POS(w)={(context(w),w)}作为正例样本,在词典中用“负例采样算法”采样n个词,取NEG(w)={(context(w),

ui),

i∈1,2...n}作为负例样本集。即1个样本,可以扩充为1个样本集:ALL(w)=POS(w)∪NEG(w)。Gensim版Word2vec中,负例样本数量默认是5负采样:告诉模型什么是错的word2vec第四章文本表示带权采样:高频词被采样的可能性高。word2vec第四章文本表示经过采样后,样本集为(以gensim默认5次负采样为例):ALL(w)={(context(w),w),(context(w),u1),(context(w),u2),(context(w),u3),(context(w),u4),(context(w),u5)}定义如下函数,表示正样本的标签为1,负样本的标签为0word2vec第四章文本表示对于一个样本集,最大化如下似然:θu是词u对应的一个辅助向量,属于模型参数;直观地理解是:假设一个样本集有n个样本,对每个样本都训练一个逻辑回归模型,这n个模型对应n个输出概率。word2vec第四章文本表示对于给定的语料库T,极大化:对上式取对数,得到最终的对数似然函数:word2vec第四章文本表示1,更新二分类器的参数:采用随机梯度上升法进行优化,每次对“1个样本集”进行优化,1个样本集有n个样本,独立优化样本集中每个二分类器的L(w,u),让每个L(w,u)同时往梯度上升的方向进行优化。更新参数:word2vec第四章文本表示2,更新词向量的参数:依次往梯度上升的方向,更新窗口的每个词的词向量。把xw的更新量更新到每一个wi上。word2vec第四章文本表示Skip-Gram模型与CBOW相反。输入是特定的一个词的词向量,而输出是特定词对应的上下文N个词的词向量(即概率排前N的词)。Skip-gramword2vec第四章文本表示Skip-gram模型通常采用了基于负采样的方法进行优化。CBOWSkip-gram在Word2Vec实际实现中,并不是对上下文中的每一个词都进行了n次负采样,而是仅进行了|context(w)|次负采样操作。word2vec第四章文本表示CBOWSkip-gramword2vec第四章文本表示CBOWword2vec第四章文本表示Skip-gramword2vec第四章文本表示gensim中的word2vec/gensim/models/word2vec.htmlimportgensimasgmfromgensim.modelsimportword2vecsens=word2vec.LineSentence("file.txt")#oneline=onesentence.Wordsmustbealreadypreprocessedandseparatedbywhitespace.model=gm.models.Word2Vec(sens,min_count=0,window=5,size=128,sg=0,hs=0,negative=5,workers=8,iter=200)#sg({0,1},optional)1forskip-gram;0forCBOW.#hs({0,1},optional)If1,hierarchicalsoftmaxwillbeusedformodeltraining.If#0,andnegativeisnon-zero,negativesamplingwillbeused.model.wv.save_word2vec_format("WV.model_128.bin",binary=True)word2vec第四章文本表示gensim中的word2vecmodel=gm.models.KeyedVectors.load_word2vec_format("WV.model.bin",binary=True)vector=model.word_vec['computer']forwinmodel.vocab: print(model.word_vec(w))word2vec第四章文本表示太长不看版:根据具体任务,选一个领域相似的语料,在这个条件下,语料越大越好。语料小(小于一亿词,约500MB的文本文件)的时候用Skip-gram模型,语料大的时候用CBOW模型。设置迭代次数为三五十次,维度至少选50。Word2vec参数选择(经验性结论)LaiS,LiuK,HeS,etal.Howtogenerateagoodwordembedding[J].IEEEIntelligentSystems,2016,31(6):5-14.word2vec第四章文本表示word2vec第四章文本表示word2vec第四章文本表示word2vec第四章文本表示Semantic

Space

Encode

Implicit

Relationships

between

WordsW(‘‘China“)

W(‘‘Beijing”)≃W(‘‘Japan“)

W(‘‘Tokyo")卷积神经网络句子级文本表示方法第四章文本表示基于拼接的句子表示方法?句子不等长维度过长Sentencematrixsentenceembedding句子级文本表示方法第四章文本表示基于BOW的句子表示方法Sentencematrixsentenceembedding大量的信息损失!句子级文本表示方法第四章文本表示句子表示的发展脉络BOW-basedCNNRNNLSTMGRUBiLSTMBiGRUCNN-LSTMLSTM-CNNAttention侧重局部特征侧重序列特征CNNinCV第四章文本表示卷积是什么?二维离散数据卷积公式为:数学本质是一个矩阵翻转后和另一个矩阵移位相乘。CNNinCV第四章文本表示CNN最初被提出用于图像处理中的特征提取。图片是由像素点构成,像素点由一个0~255的数字组成,称为像素值。CNNinCV第四章文本表示应用:想知道图片的类别(一条狗)

图片分类CNNinCV第四章文本表示卷积可以通过从输入的一小块数据中学到图像的特征,并可以保留像素间的空间关系。卷积操作:5×5的图像矩阵表示3×3的卷积核kernel(也叫过滤器filter)CNNinCV第四章文本表示卷积的过程:对应相乘相加CNNinCV第四章文本表示卷积过程示意:卷积特征或featuremap

(特征图)卷积本质:对一个局部区域信息的加权求和。CNNinCV第四章文本表示第一步:卷积提取特征使用不同的过滤器(卷积核),可以得到不同的特征图。CNNinCV第四章文本表示另一个例子:CNNinCV第四章文本表示当过滤器遍历整个图片后,得到的特征图片会比原始图片更小。图片被压缩。在原始图片外围补零Zero-paddingCNNinCV第四章文本表示加入了Zero-padding的卷积过程示意:对应文本中的宽卷积。CNNinCV第四章文本表示补几圈0,才能保证图片不被压缩?过滤器大小为F,CNNinCV第四章文本表示经过四种不同滤波器提取得到4种不同的特征图。CNNinCV第四章文本表示第二步:对得到的不同特征图进行非线性变换Relu:修正线性单元(RectifiedLinearUnit)CNNinCV第四章文本表示CNNinCV第四章文本表示第三步:池化pooling(可选)两个参数:过滤器大小F和

滑动的步幅数S

目的:在保留图片主要信息的前提下,将图片的尺寸缩小。池化方式:最大、最小、平均CNNinCV第四章文本表示池化层使用的过滤器与卷积层的过滤器的不同:池化层的过滤器,其内部没有数值。在池化层中,仅有1个过滤器;而在卷积层中,可以设置多个过滤器。CNNinCV第四章文本表示可进行多次卷积、Relu和池化操作。CNNinCV第四章文本表示思考问题:既然在卷积阶段为了不使图片被压缩,需要进行zero-padding操作,为什么又要进行池化压缩图片大小?CNNinCV第四章文本表示把池化层得到的所有特征图按行顺次进行“展开”,得到向量x,输入全连接层(分类器)。第四步:分类CNNinCV第四章文本表示全连接层输出:最小化损失函数:假设总共4类:猫,狗,熊,猪。真实答案:模型输出:CNNinNLP第四章文本表示Kalchbrenner,N.,Grefenstette,E.,&Blunsom,P.(2014).AConvolutionalNeuralNetworkforModellingSentences.ACL2014.InNLP:YoonKim(2014).ConvolutionalNeuralNetworksforSentenceClassification.EMNLP2014.InCV:KrizhevskyA,SutskeverI,HintonGE.Imagenetclassificationwithdeepconvolutionalneuralnetworks[C]//Advancesinneuralinformationprocessingsystems.2012:1097-1105.CNNinNLP第四章文本表示应用:想知道句子的类别(体育/财经)

句子主题分类CNNinNLP第四章文本表示第一步:卷积提取特征基于0.20.1−0.30.4深度0.50.2−0.3−0.1学习−0.1−0.3−0.20.4的0.3−0.30.10.1文本0.2−0.30.40.2表示0.10.2−0.1−0.1方法−0.4−0.40.20.3312−3−121−311−11卷积核:k×m(m与词向量维度相同,随机初始化)基于,深度,学习−1.0深度,学习,的−0.5学习,的,文本−3.6的,文本,表示−0.2文本,表示,方法0.3CNNinNLP第四章文本表示写成公式形式:基于0.20.1−0.30.4深度0.50.2−0.3−0.1学习−0.1−0.3−0.20.4基于,深度,学习=[0.2,0.1,−0.3,0.4,0.5,0.2,−0.3,−0.1,−0.1,−0.3,−0.2,0.4]312−3−121−311−11卷积核=[3,1,2,-3,-1,2,1,-3,1,1,-1,1]TCNNinNLP第四章文本表示宽卷积与窄卷积(对应zero-padding)过滤器大小为F,CNNinNLP第四章文本表示∅0.00.00.00.0基于0.20.1−0.30.4深度0.50.2−0.3−0.1学习−0.1−0.3−0.20.4的0.3−0.30.10.1文本0.2−0.30.40.2表示0.10.2−0.1−0.1方法−0.4−0.40.20.3∅0.00.00.00.0312−3−121−311−11卷积核:∅,基于,深度−0.6基于,深度,学习−1.0深度,学习,的−0.5学习,的,文本−3.6的,文本,表示−0.2文本,表示,方法0.3表示,方法,∅−0.5CNNinNLP第四章文本表示∅0.00.00.00.0基于0.20.1−0.30.4深度0.50.2−0.3−0.1学习−0.1−0.3−0.20.4的0.3−0.30.10.1文本0.2−0.30.40.2表示0.10.2−0.1−0.1方法−0.4−0.40.20.3∅0.00.00.00.0多种卷积核(同尺寸k×m):∅,基于,深度−0.60.21.4基于,深度,学习−1.01.6−1.0深度,学习,的−0.5−0.10.8学习,的,文本−3.60.30.3的,文本,表示−0.20.11.2文本,表示,方法0.30.60.9表示,方法,∅−0.5−0.90.1312−3−121−311−11100110−1−101011−12−110−130221CNNinNLP第四章文本表示∅0.00.00.00.0基于0.20.1−0.30.4深度0.50.2−0.3−0.1学习−0.1−0.3−0.20.4的0.3−0.30.10.1文本0.2−0.30.40.2表示0.10.2−0.1−0.1方法−0.4−0.40.20.3∅0.00.00.00.0多种卷积核(不同尺寸):∅,基于,深度−0.6基于,深度,学习−1.0深度,学习,的−0.5学习,的,文本−3.6的,文本,表示−0.2文本,表示,方法0.3表示,方法,∅−0.5312−3−121−311−1110−1−10101∅,基于0.5基于,深度0.2深度,学习1学习,的-0.5的,文本0文本,表示-0.3表示,方法0.2方法,∅-0.9CNNinNLP第四章文本表示第二步:非线性变换CNNinNLP第四章文本表示00.21.401.60000.800.30.300.11.20.30.60.9000.1非线性变换——Relu∅,基于,深度−0.60.21.4基于,深度,学习−1.01.6−1.0深度,学习,的−0.5−0.10.8学习,的,文本−3.60.30.3的,文本,表示−0.20.11.2文本,表示,方法0.30.60.9表示,方法,∅−0.5−0.90.1CNNinNLP第四章文本表示第三步:pooling(原论文只有max-pooling)∅,基于,深度00.21.4基于,深度,学习01.60深度,学习,的000.8学习,的,文本00.30.3的,文本,表示00.11.2文本,表示,方法0.30.60.9表示,方法,∅000.1Max

pooling0.31.61.4Averagepooling0.040.40.67CNNinNLP第四章文本表示第四步:分类(展开拼接,原论文只有max-pooling)Max

pooling0.31.61.4Averagepooling0.040.40.67Dropout:p=0.5~0.8CNNinNLP第四章文本表示输入句子:基于深度学习的文本表示方法最小化损失函数:假设总共4类:

体育,技术,财经,娱乐。真实答案:模型输出:CNNinNLP第四章文本表示论文原文中,实际使用了卷积宽度为3,4,5的卷积核,各100个。Max

pooling0.3…1.61.5…2.13.3…1.4∅,基于,深度00.21.4基于,深度,学习01.60深度,学习,的000.8学习,的,文本00.30.3的,文本,表示00.11.2文本,表示,方法0.30.60.9表示,方法,∅000.13-gram卷积特征100维4-gram卷积特征100维5-gram卷积特征100维CNNinNLP第四章文本表示卷积和池化过程中一些其他问题:卷积步长stride——调整重叠度∅0.00.00.00.0基于0.20.1−0.30.4深度0.50.2−0.3−0.1学习−0.1−0.3−0.20.4的0.3−0.30.10.1文本0.2−0.30.40.2表示0.10.2−0.1−0.1方法−0.4−0.40.20.3∅0.00.00.00.0∅,基于,深度−0.60.2深度,学习,的−0.5−0.1的,文本,表示−0.20.1表示,方法,∅−0.5−0.9312−3−121−311−11100110−1−10101Stride=2CNNinNLP第四章文本表示卷积和池化过程中一些其他问题:MaxPoolingOverTime优点:MaxPooling能减少模型参数数量,有利于减少模型过拟合问题。可以把变长的输入X整理成固定长度的输入。缺点:特征的位置信息完全丢失。多次出现的强特征只保留一个最大值,出现信息损失。CNNinNLP第四章文本表示卷积和池化过程中一些其他问题:k-maxpoolingK-MaxPooling取所有特征值中得分在Top–K的值,并保留这些特征值原始的先后顺序。K-MaxPooling可以表达同一类特征出现多次的情形,即可以表达某类特征的强度;另外,因为这些TopK特征值的相对顺序得以保留,所以其保留了部分位置信息,但是这种位置信息只是特征间的相对顺序,而非绝对位置信息。CNNinNLP第四章文本表示卷积和池化过程中一些其他问题:k-maxpooling∅0.00.00.00.0基于0.20.1−0.30.4深度0.50.2−0.3−0.1学习−0.1−0.3−0.20.4的0.3−0.30.10.1文本0.2−0.30.40.2表示0.10.2−0.1−0.1方法−0.4−0.40.20.3∅0.00.00.00.0k=2∅,基于,深度00.21.4基于,深度,学习01.60深度,学习,的000.8学习,的,文本00.30.3的,文本,表示00.11.2文本,表示,方法0.30.60.9表示,方法,∅000.1K-Max

pooling01.61.40.30.61.2CNNinNLP第四章文本表示卷积和池化过程中一些其他问题:局部池化Chunk-MaxPooling把某个卷积核对应的特征向量进行分段,在每个分段里面各自取得一个最大特征值。K-MaxPooling是一种全局取TopK特征的操作方式,而Chunk-MaxPooling则是先分段,在分段内包含特征数据里面取最大值,所以其实是一种局部TopK的特征抽取方式。循环神经网络模型句子表示的发展脉络第四章文本表示侧重局部特征CNNBOW-based侧重序列特征RNNCNN-LSTMLSTM-CNNLSTMGRUBiLSTMBiGRUAttention循环神经网络模型神经网络语言模型NNLM第四章文本表示YoshuaBengio,RéjeanDucharme,PascalVincent,andChristianJauvin.ANeuralProbabilisticLanguageModel.TheJournalofMachineLearningResearch,3:1137–1155,2003.N-gram级,定长拼接向量过长循环神经网络模型第四章文本表示需求:对整个句子序列进行表示,保持完整的上文信息。Sentencematrix学出:在前n-1个词的影响下的加入第n个词时句子的表示。循环神经网络模型第四章文本表示一个标准的三层神经网络结构yhx输入层:词

词向量。x=c(xi)隐藏层:若干词向量组合。h=sigmoid/tanh/Relu(Whx+b)输出层:分类器,隐藏向量

类别向量。y=softmax(Woh+d)循环神经网络模型第四章文本表示y1h1x1y2h2x2y3h3x3y4h4x4y5x5h5隐藏层:加入前一个词的隐藏层输出ht=sigmoid/tanh/Relu(Whtx+Wt-1,tht-1+bt)Wo1,d1Wh1,b1W12Wo2,d2Wh2,b2W23Wo3,d3Wh3,b3W34Wo4,d4W45Wh4,b4Wo5,d5Wh5,b5循环神经网络模型第四章文本表示y1h1x1y2h2x2y3h3x3y4h4x4y5x5h5Wo,dWh,bWtWo,dWh,bWtWo,dWh,bWtWo,dWtWh,bWo,dWh,b共享一套参数θh0Wt随机初始化或设为0向量yi输出同时受xi和hi-1影响。循环神经网络模型第四章文本表示x1h1y1x2h2y2x3h3y3Wh,bWo,dWtWo,dWo,dWh,bWh,bWtxhyWo,dWtWh,bht=sigmoid/tanh/Relu(Whxt+Wtht-1+b)xt=[c(xt)T]yt=softmax(Woht+d)b,d省略为0向量[1,2][1]MikolovT,KombrinkS,BurgetL,etal.Extensionsofrecurrentneuralnetworklanguagemodel[C]//2011IEEEInternationalConferenceonAcoustics,SpeechandSignalProcessing(ICASSP).IEEE,2011:5528-5531.[2]MikolovT,KarafiátM,BurgetL,etal.Recurrentneuralnetworkbasedlanguagemodel[C]//Eleventhannualconferenceoftheinternationalspeechcommunicationassociation.2010.h0Wt循环神经网络模型第四章文本表示几种RNN组成的常用架构循环神经网络模型第四章文本表示x1h1x2h2x3h3x4h4x5h5y5Wh,bWtWo,dWh,bWh,bWh,bWh,bWtWtWtNVS1模式:特点:只使用最后一个隐层的输出ht给分类器。应用:NLP文本分类等h0Wt循环神经网络模型第四章文本表示另一种NVS1模式:特点:对每个时刻的隐层输出ht加权综合再输入给分类器。应用:NLP文本分类等x1h1x2h2x3h3x4h4x5h5y5Wh,bWtWo,dWh,bWh,bWh,bWh,bWtWtWth0Wth循环神经网络模型第四章文本表示同步的序列到序列的模式(NVSN):特点:输入输出同步且等长。应用:中文分词。x1h1y1x2h2y2x3h3y3x4h4y4x5h5y5Wh,bWo,dWtWo,dWo,dWo,dWo,dWh,bWh,bWh,bWh,bWtWtWth0WtOOOBI他说的在理循环神经网络模型异步的序列到序列的模式(NVSM):Encoder-Decoder模型(Seq2Seq模型)特点:输入输出异步,需要多个输出(不一定与输入相同)。应用:NLP机器翻译。一种Seq2Seq模型:我喜欢读书

Ilikereading循环神经网络模型第四章文本表示另一种Seq2Seq模型:编码部分:NVS1模式解码部分:1VSN模式循环神经网络模型第四章文本表示x1h1x2h2x3h3x4h4x5h5y5Wh,bWtWo,dWh,bWh,bWh,bWh,bWtWtWtRNNinNLP实例:h0Wt我

一名

人工智能

工程师循环神经网络模型第四章文本表示第一步:词

词向量,随机初始化(或加载预训练词向量)共享查找表矩阵C,获得每个词的词表示。

我0.20.1−0.30.40.1−0.3是0.50.2−0.3−0.10.2−0.3一名−0.1−0.3−0.20.4−0.3−0.2人工智能0.3−0.30.10.1−0.30.1工程师0.2−0.30.40.2−0.30.4xt=[c(xt)T]循环神经网络模型第四章文本表示第二步:按词序循环,随机初始化h0向量、隐层权重矩阵Wh、Wt、偏置向量b。重复执行以下过程,直到最后一个词。ht=sigmoid/tanh/Relu(Whxt+Wtht-1+b)fortin[1,n]:循环神经网络模型第四章文本表示第三步:将最后一个词的隐层输出hn输入(可加dropout)全连接层(分类器),归一化后与答案比较,得到当前迭代轮次的损失。假设总共4类:

体育,技术,财经,娱乐。真实答案:模型输出:最小化损失函数:循环神经网络模型第四章文本表示第四步:根据两次迭代的损失差值进行参数θ优化。train_step=tf.train.AdagradOptimizer(learning_rate).minimize(loss,global_step=global_step)train_step=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss,global_step=global_step)循环神经网络模型第四章文本表示双向RNN——正向隐层向量与反向隐层向量拼接正向:反向:拼接输出:循环神经网络模型第四章文本表示RNN优点:RNN可以对整个句子序列进行表示,保持完整的上文信息。尤其是较长距离(超过卷积窗口)的词汇间的关联信息。(理论上)循环神经网络模型第四章文本表示RNN缺点:梯度爆炸/消失在优化过程中,随着距离的增大,反向传播的梯度值会出现很快变得极大或极小。称之为梯度爆炸或消失现象。从而导致优化无法继续,使长期依赖关系无法学习得到。循环神经网络模型第四章文本表示RNN缺点2:记忆饱和随着距离的增大,前文信息越来越多,但距离过远的前文对于后文通常关联不大,且会导致ht逐渐饱和。新加入的词汇信息已无法存储。ht=sigmoid/tanh/Relu(Whxt+Wtht-1+b)需要一种机制,来选择性遗忘一些信息。长短期记忆网络门控机制第四章文本表示目的:缓解RNN梯度消失/爆炸以及记忆饱和问题。方案:引入门控机制,有选择性的遗忘旧信息和加入新信息。代表模型:长短期记忆(LongShort-TermMemory,LSTM)网络与门控循环单元(GatedRecurrentUnit,GRU)长短期记忆网络第四章文本表示长短期记忆网络LongShort-TermMemory[1]SeppHochreiter,JürgenSchmidhuber.LongShort-TermMemory[J].Neuralcomputation.1997,9(8):1735–1780.[2]FelixAGers,NicolNSchraudolph,JürgenSchmidhuber.LearningPreciseTimingwithLSTMRecurrentNetworks[J].Journalofmachinelearningresearch.2002,3(Aug):115–143.长短期记忆网络第四章文本表示x1h1y1x2h2y2x3h3y3x4h4y4x5h5y5Wh,bWo,dWtWo,dWo,dWo,dWo,dWh,bWh,bWh,bWh,bWtWtWth0Wt长短期记忆(LongShort-TermMemory,LSTM)本质上还是一个RNN,只是在隐层做了一些处理。ht=sigmoid/tanh/Relu(Whxt+Wtht-1+b)长短期记忆网络第四章文本表示LSTM隐层处理单元基本框架长短期记忆网络第四章文本表示引入的新的内部状态向量进行信息传递。ct-1表示上一个时刻传进来的信息,ct为传给下一个时刻的信息。随机初始化c0,h0长短期记忆网络第四章文本表示三个控制门门是一种让信息选择式通过的方法。包含一个sigmoid操作和一个pointwise乘法操作。Sigmoid层输出0到1之间的数值,描述每个部分有多少量可以通过。0代表不许任何量通过,1就指允许任意量通过。长短期记忆网络第四章文本表示遗忘门:控制上一个时刻ct-1中需要遗忘多少信息。0-完全遗忘;1-完全记住。长短期记忆网络第四章文本表示候选状态:临时存储新加入的词与历史隐层状态的综合信息。长短期记忆网络第四章文本表示输入门:控制候选状态中需要保留多少信息。0-完全丢弃;1-完全保留。思考:ft=[1,1,…,1],it=[0,0,…,0]意味着什么?反过来又如何?

长短期记忆网络第四章文本表示输出门:控制当前时刻内部状态信息ct中有多少传递给隐层状态ht。0-完全丢弃;1-完全保留。长短期记忆网络第四章文本表示计算顺序:1.利用ht-1,xt计算ft,it,ot和;2.利用ft,it和来更新ct-1;3.利用ot,ct来计算ht;4.将ht输给全连接层(分类器)得到当前时刻的标签(可选);长短期记忆网络第四章文本表示1.利用ht-1,xt计算ft,it,ot和;2.利用ft,it和来更新ct-1;3.利用ot,ct来计算ht;4.将ht输给全连接层(分类器)得到当前时刻的标签(可选);长短期记忆网络第四章文本表示计算公式:1.利用ht-1,xt计算ft,it,ot和;2.利用ft,it和来更新ct-1;3.利用ot,ct来计算ht;4.将ht输给全连接层(分类器)得到当前时刻的标签(可选);长短期记忆网络第四章文本表示记忆循环神经网络中的隐层状态h存储了历史信息,可以看作是一种记忆(memory)。在经典RNN中,隐状态h每个时刻都会被重写,因此可以看作是一种短期记忆(short-termmemory)。在神经网络中,长期记忆(long-termmemory)可以看作是网络参数,隐含了从训练数据中学到的经验,并更新周期要远远慢于短期记忆。而在LSTM网络中,记忆单元c可以在某个时刻捕捉到某个关键信息,并有能力将此关键信息保存一定的时间间隔。记忆单元c中保存信息的生命周期要长于短期记忆h,但又远远短于长期记忆,因此称为长的短期记忆(longshort-termmemory)。为什么叫LSTM(

LongShort-Term

Memory

)?长短期记忆网络第四章文本表示双向LSTM——正向隐层向量与反向隐层向量拼接拼接输出:长短期记忆网络第四章文本表示LSTM优点:缓解了经典RNN的两个问题:梯度消失/爆炸;记忆饱和。LSTM缺点:模型过于复杂。门控循环单元门控循环单元第四章文本表示LSTM的简化:门控循环单元GatedRecurrentUnitChoK,VanMerriënboerB,BahdanauD,etal.Onthepropertiesofneuralmachinetranslation:Encoder-decoderapproaches[C].EMNLP,2014.门控循环单元第四章文本表示LSTM缺点:模型过于复杂。门太多,适当合并一些。合并谁?输入门和遗忘门具有互补关系,可以分别进行合并。门控循环单元第四章文本表示输入门和遗忘门

更新门;遗忘门

重置门;省去了内部状态向量ct随机

温馨提示

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

评论

0/150

提交评论