版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于词嵌入的弹幕情感词分类算法分析目录TOC\o"1-3"\h\u689基于词嵌入的弹幕情感词分类算法分析 1114981.1相关基本概念 1168381.1.1中文向量化的方法 1207481.1.2层次聚类算法 5246681.2情感词的词向量特性分析 6181651.3情感词的词向量聚类分析 8127341.4基于词嵌入的弹幕情感词分类算法 10166621.5实验数据及结果分析 11249941.5.1数据集 1169591.5.2评价指标 11184701.5.3实验结果及分析 12词嵌入是一组语言建模和特征学习技术的统称,它是将文本映射成为实数的向量的方法。为解决传统的基于词典的文本分类方法需要定义一个较大词典,而弹幕情感词语词典较小且容易产生新词的问题,本章提出一种基于词嵌入的弹幕情感词分类算法。相关基本概念中文向量化的方法自然语言处理是使用计算机技术对语音或文本进行处理与分析的一种技术。使用计算机对文本信息进行处理和分析时,需要首先将文本转换为机器可以理解的语言,即文本的向量化方法。词的向量表示是通过数学手段在保留词语间相似性的同时,将句子转换为词语间的相似行。在传统的机器学习任务中,一般使用独热编码(one-hot)和tf-idf算法来进行文本向量化的操作,但是这种文本向量化的方法获得的向量是非常高维度且稀疏的,不易于计算机的处理。随之出现了词嵌入,该方法的重点在于如何用密集的分布式向量来表示每个单词。使用词嵌入表示的单词向量往往只有几十或者几百个维度,维度数量远少于独热编码等传统方式,极大的减少了机器学习过程中的计算量和储存量。本节主要介绍最常用的词嵌入方法Word2Vec和使用BERT模型进行词嵌入的方法,对其进行理论分析,并为后文弹幕文本情感分析做理论铺垫。Word2Vec是由TomasMikolov等人2013年在谷歌开发的一个基于神经网络的词嵌入学习方法[33],同时开创了预训练单词嵌入的这种模式。该方法通过使用简单的输入层、隐藏层和输出层三层网络对独热编码进行训练,并将结果映射到较短的词向量中。Word2Vec分为两种不同的学习模型Skip-gram和(ContinuousBag-of-Words),二者均可以结合上下文的信息进行训练。其中模型通过给定的中心单词来预测周围单词的词向量,而CBOW模型通过根据上下文来预测中心单词的词向量。Skip-gram和CBOW的模型结构图如图2-1所示。图2-1Word2Vec模型结构图Skip-gram模型结构如图2-1a所示。输入向量为独热编码,输入向量在隐藏层的线性神经元中进行运算,最终通过输出层的非线性函数得到输出结果。该过程可通过公式(2-1)表示: yk=σ(W其中,xk表示第k个单词的独热表示向量,yk表示输出,W是隐藏层线性神经元的权重,b为偏置量,σ表示非线性 σ(oi其中,oi表示第i个隐藏层的输出结果,σ()表示softmax实际上,Skip-gram是一个含有单层隐藏层的神经网络。训练时,由于独热向量是通过将词表中单词对应位置设置为1形成的输入向量,编程时可直接对词表位置进行编码,无需将其转化为one-hot的形式。在训练之前,需要设置滑动窗口大小和需要生成的词向量维度。窗口大小(window_size)表示了在一定范围内,中心词与周围词是相关的。训练后,隐藏层的输出向量即为该中心词的词向量,而隐藏层的大小对应词向量的维度。基于此,可以在一定程度上提高词向量的训练速度,且避免了了独热编码时产生了维度灾难问题。如图2-1b所示,CBOW模型与Skip-gram模型的框架结构类似,同样是单层隐藏层的神经网络。不同之处在于CBOW模型是通过给定某个词的上下文去预测该词。CBOW模型的输入向量是上下文单词的独热编码。上下文单词的个数同样由window_size决定。无论是Skip-gram模型还是CBOW模型,同样计算了词表中单词的概率分布,但这并不是Word2Vec模型的目的。因此,这个任务又称为伪任务。Word2Vec的目的是通过训练得到隐层的向量输出,即词表中单词在向量空间的词向量。在训练的过程中,需要使用反向传播算法对模型参数进行迭代更新,目标函数为最大化softmax分类之后的条件概率。由于Skip-gram模型是通过中心词预测上下文单词的词向量,CBOW模型是通过上下文单词预测中心词的词向量,因此Skip-gram模型具有更快的训练速度,其时间复杂度更低,且更适用于预测含有较多生僻字的文本。尽管Word2Vec已经在一定程度上解决了文本向量化表示过程中速度缓慢的问题,但是从语义的角度上看,一方面,Word2Vec方法无法解决一词多义现象;另一方面,当同一语义的词语在同一句话中多次出现在不同位置时,不能对其做出区分。BERT是DevlinJ等于2018年提出的一种预训练微调的词的向量化表示方式[22]。BERT主要采用Attention机制,并在Transformer之上进行了改进,使得它能够更彻底的捕捉语句中的双向关系。其主要思想是通过在所有层中联合调节上下文进行词向量的预训练,并通过一个额外的输出层对任务进行微调。从模型结构的角度出发,BERT的核心模块是Transformer,而Attention机制[13]是Transformer中最为重要的部分。Attention机制改善了传统seq2seq结构的局限性。Seq2seq(sequencetosequence)和Attention机制的模型结构如图2-2所示。图2-2Seq2seq和Attention机制的模型结构图2-2a为传统的Seq2seq模型结构。Seq2Seq模型适用于输出长度不确定的情况,一般包含一个编码器和一个解码器。在编/解码器中可以使用神经网络模型来进行输入样本特征的提取、分析和处理。模型通常使用编码器将输入样本压缩为预设长度的向量,并将最后一层输入的隐状态作为语义向量c,这个过程为编码过程;解码器会根据语义向量生成需要的输出,这个过程为解码过程。理论上,语义向量中包含了输入样本每个词语中包含的所有语义信息。然而实际中,对于文本来说,由于每个词语包含的信息量不同,对不同的词语应该赋予不同的关注程度。Attention机制应运而生。图2-2b为常见的Attention模型结构。与Seq2seq相比,Attention机制不要求将编码器中所有的语义信息全部收入到语义编码中。而是将编码器中每一层编码成一个向量,在解码时,有选择性的从向量中挑选一个子集。即在解码时,对每个词语的关注度不同。此时的语义编码c实际上变为ct,即对每个输入x ct= atj= etj=a(其中,s为解码器的隐状态,h为编码器的隐状态。atj表征t时刻的输出在第j个输入的关注度,即第j个输入对t时刻的输出的影响大小;etj P(y)=t=1NBERT是双向信息流,其结构如图2-3所示。图2-3BERT模型结构图2-3为BERT模型的详细结构,图中出现的Trm代表Transformer结构单元。实际上,BERT模型是多个Transformer的全连接模型。它摒弃了传统神经网络的结构和机理,仅通过调整层数和多头自注意力机制的数量实现对关注词语的重要程度和文本语义信息的提取。BERT模型最大的特点在于模型的输入:字符嵌入、分割嵌入和位置嵌入。字符向量将词语划分成公共子词单元,在中文中,单字即作为公共子词;分割嵌入对应上下文进行分句,用来区分词语是否属于同一句话;位置嵌入使用绝对位置嵌入,将位置信息编码成特征向量。与Word2Vec相比,BERT有两个明显的区别:(1)预训练模型采用Transformer作为基元,使用双向结构,以便于对文本中的上下文语义信息进行提取,能够更好的解决一词多义的问题;Word2Vec是静态的词向量,每个词的词向量是固定的。而BERT生成的是动态词向量分为encoding和embedding两个部分,embedding是固定的但是根据上下文会输出不同的编码结果。(2)使用BERT时不需要进行分词操作。BERT的输入为字级别,所以不需要进行分词操作。在训练过程中词都是被拆为单个字符作为输入,这样做有效得减少了未登录词出现的概率,同时也导致需要巨大的数据量才能训练出较好的效果。(3)谷歌公开的BERT预训练模型是在大的语料上无监督地训练得到的语言模型,具体使用时需要根据需求进行微调(Fine-tuning)操作,使得生成的文本向量具有针对性。层次聚类算法层次聚类(HierarchicalClustering)是聚类算法的一种[34],通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点。创建聚类树有自下而上合并和自上而下分裂两种方法,本文中使用自下而上合并生成聚类树。层次聚类的合并算法通过计算两类数据点间的相似性,对所有数据点中最为相似的两个数据点进行组合,并反复迭代这一过程。简单的说层次聚类的合并算法是通过计算每一个类别的数据点与所有数据点之间的距离来确定它们之间的相似性,距离越小,相似度越高。并将距离最近的两个数据点或类别进行组合,生成聚类树。聚类树的示例如图2-4所示。图2-4聚类树样例图
层次聚类的优点,就是它一次性地得到了整个聚类的过程,只要得到了像图2-4中的聚类树,之后可以根据需要对聚类结果进行重新划分,在修改簇的数目时不需要再次计算数据点的归属。情感词的词向量特性分析在自然语言处理任务中,通过词嵌入等方式将词语表示成一个向量,并且在一定程度上保证两个含义相近的词,在向量空间中的距离也相近。为了研究词嵌入生成的词向量对词语的情感信息的表征情况,本节选取一些常用情感词汇为例,分别使用Word2Vec方法和BERT方法生成词向量,并计算不同词汇之间的欧式距离。Word2Vec的方法生成词向量,使用的模型是腾讯AILAB公布的100万词汇的预训练模型,该模型使用DirectionalSkip-Gram进行训练,获得的每个词向量维度为200维。BERT方法则是使用谷歌公布的简体中文和繁体中文BERT预训练模型[35],获得的词向量维度为768维。为了研究词嵌入对于情感词语生成的词向量,在向量空间中的距离间隔,选取“高兴”、“欣喜”、“欢喜”、“害怕”等12个常用情感词汇进行实验。使用Word2Vec方法生成的词向量之间的距离计算结果如图2-5所示,图中每个格子的数值代表其对应的行和列方向两个词的之间的距离。可以看出,使用Word2Vec生成的词向量中,“欢喜”与“欣喜”之间的距离最近为2.19,而与其他关联性不强的词语距离较远,但是整体距离差异并不大,距离最远的“思念”与“满意”为4.49。图2-5使用Word2Vec生成的词语词向量之间的距离使用BERT方法生成的词向量进行距离计算的结果如图2-6所示,由于词向量维度不同,词向量之间的距离不存在量纲关系,图2-6中的距离无法与图2-5中的距离进行比较。从图2-6中可以看出,直接使用谷歌的BERT预训练模型生成的词向量在情感表达方面效果不好,距离最近的为“恐惧”和“憎恶”之间的5.61,而从人的主观来看,距离最近的一组词语应该为“高兴”、“欢喜”或“欣喜”。这是由于谷歌公布的BERT预训练模型是在无监督的大语料库中训练获得的,如果将其应用于情感分类的词向量生成需要使用已标注的语料对模型进行微调。图2-6使用谷歌BERT预训练模型生成的词语词向量之间的距离对于谷歌公布的BERT预训练模型使用12万中文情感语料[36]进行微调后,再次生成词向量,并计算获得词向量之间的距离如图2-7所示,距离最小8.29是“欣喜”与“高兴”之间的距离,距离最远为“满意”与“害怕”之间的26.02。由此可见,经过微调后,使用BERT方法生成的词向量在情感表达上有了显著的提升,后文将使用该方法作为BERT方法生成文本向量的代表。图2-7使用微调后的BERT模型生成的词语词向量之间的距离另一方面,在日常使用情感词的时候,通常会使用程度副词对情感词语进行修饰,副词的使用会改变情感的表达。以“满意”为例,分别对两种词嵌入方式生成的词向量计算不同程度的“满意”的距离,不同程度“满意”词向量之间的距离示例如图2-8所示。图2-8不同程度“满意”词向量之间的距离从图2-8中可以看到,对于使用Word2Vec方法生成的词向量,距离的变化趋势与情感的强度是没有明显关系的,距离最近的是“很满意”和“比较满意”,但是距离最远的是“十分满意”和“最满意”;对于使用BERT生成的词向量,能够明显的看出“不满意”与其他程度的“满意”词向量之间距离相距甚远,说明BERT方法能够很好的识别出否定词对于情感倾向的影响,但是从距离上并不能看出词向量与情感的强度之间的关联性。由此可见,两种词嵌入方式都不能将程度副词对情感程度的影响在词嵌入中表达出来,这表明词嵌入在将自然语言转化向量表达的过程中有一部分情感信息的缺失。从本节的图中可以看出,将中文情感词语转化为词向量以后,词向量中包含着一定的情感信息,但是在程度副词对情感程度的影响上并没有提现出来。并且从词向量之间的距离上可以看出词与词之间情感区别,考虑使用聚类方法对于词向量的情感进行研究。情感词的词向量聚类分析通过计算不同情感词之间的距离,能够发现情感相似的词语之间的距离比无关或者情感相反的词语距离更近,因此考虑通过词向量进行聚类分析,观察不同类别的情感词之间如何划分。本文根据弹幕文本的常见情感,将情感分为“高兴”、“难过”、“愤怒”和“惊”四个类别。使用BeautifulSoup实现爬虫直接访问B站的弹幕池,对弹幕文字进行直接抽取,共爬取了215603条数据。对数据使用jieba分词并统计词频,根据词频生成数据集,并挑选其中的感情词汇与常见情感词汇构成弹幕文本情感词典。弹幕情感词典样例如表2-1所示。表2-1弹幕情感词典样例类别词语数量高兴233、哈哈、痛快、解气、绝了、赞、有心289难过QAQ、好虐、崩溃、惨、已跪、求放过、无奈166愤怒什么鬼、烂俗、毁、好自为之、废话、狗血226惊惊、竟然、居然、害怕、妈呀、什么情况103为了更直观得看到不同类别的情感词汇的分布,对使用Word2Vec和BERT两种方法生成的情感词典的词向量分别使用线性判别分析(LinearDiscriminantAnalysis,LDA)[37]进行数据的降维,结果可视化图像如图2-9所示,图中不同颜色的节点代表不同的类别的情感词汇。图2-9词向量的降维可视化结果从图2-9中可以看出,使用BERT产生的词向量比起使用Word2Vec方法生成的词向量,相同种类数据点更为聚集,这说明在情感表达效果上,经过微调的BERT更好。所以在本章中选择使用BERT产生的词向量进行基于词嵌入的弹幕情词汇情感分类算法的研究。由于自下向上的层次聚类首先将距离最近的类进行聚集,可以用于清洗数据,将距离为0,即重复的词语剔除。并且该算法在获得聚类树以后,对同一数据集改变划分结果并不需要再次计算,可以通过对聚类树分析剔除与任何类别都相距甚远的离群点,即剔除噪声。并且由于情感词典数据量不大,因此本文使用层次聚类对情感词典的词向量进行聚类研究。直接对使用BERT生成的词向量进行层次聚类,能够得到聚类结果图2-10。从图中看出,虽然能够大致聚类出4类,但是效果并不好。这是由于词向量中除去感情信息,也含有词语的词义信息等相关内容。想要通过聚类将情感词较好地聚类,需要考虑将词向量中的情感信息单独抽取出来。图2-10对768维向量聚类结果从图2-9b中可以看出,经过LDA降维可视化以后的数据点每一类都是比较聚集的,这说明LDA在降维的过程中抽取保留词向量中的情感特征。而且LDA是一种监督学习的降维技术,在降维的过程中选择的是分类性能最好的投影方向。因此,考虑使用数据在LDA降维投影中的变换方式,先将数据进行降维,得到了抽取出的情感信息之后,再对数据进行聚类。降维后的词向量聚类结果如图2-11所示。图2-11降维后的词向量聚类结果由图可以看出,对词向量降维后再聚类能够得到不错的结果,可以使用LDA先对数据进行学习获得词向量降维的投影方式,获得词向量中的情感信息,再对词向量进行情感分类。基于词嵌入的弹幕情感词分类算法通过对情感词汇的词向量研究发现,虽然词向量能够通过距离表达出情感,但是直接使用距离对情感词语进行聚类的得到的结果不好,需要进一步对词向量中的情感信息进行抽取,同时词向量也并不能很好的表达出情感的程度强弱。因此,本文提出一种基于词向量的弹幕情感词分类算法。训练步骤如下:(1)首先对数据进行清洗:由于自下而上的层次聚类会首先将距离最近的类别进行合并,通过这一操作可以发现并剔除重复的词语,即距离0的数据;同样得,当聚类树完全生成以后,剔除自上而下划分类别时一点即为一类的数据点,即与所有其他点都相隔甚远的离群点或者噪声。(2)使用LDA处理过的训练集进行学习和降维。(3)对降维后的数据使用层次聚类进行聚类,获得聚类树。(4)计算每一个类别的质心,用于之后比较。对数据进行预测的步骤如下:(1)对预测数据进行分词操作,分离程度副词,保留剩余词汇信息。(2)将剩余的词汇信息转化为词向量。(3)对词向量使用训练过程中的LDA映射方式进行降维。(4)计算情感词的词向量与每一个类别的质心之间的距离,将其归类于距离最近的质心所在的类别。(5)将程度副词与程度级别词典进行比较,依据词典获得出情感强度,并将其与类别相关联。在本章中不对情感程度进行分类效果评估,对于词语程度的评价主要应用于第四章的系统实现的应用设计中。实验数据及结果分析数据集本章训练使用的数据集为2.3节中提到的弹幕情感词典以及知网Hownet中文情感词语词典组合成的中文情感词典。由于知网Hownet的中文情感词典中的词语只有正面和负面两种倾向,因此本文对该词典中的词语进行了重新分类。分类后的知网Hownet中文情感词典示例如表2-2所示。表2-2知网Hownet中文情感词典示例类别词语数量高兴褒奖、称赞、酬谢、酣畅、欢欣、乐呵呵、期待739难过哀愁、懊恨、抱疚、悲凄、沉郁、垂怜、烦恼576愤怒贬斥、斥骂、仇恨、来气、发火、反感、愤懑421惊惊诧、惊奇、惊愕、惧怕、惊叹、奇妙213实验将随机从数据集抽取五分之一的数据作为测试集,剩余的数据作为训练集用于模型的学习训练。评价指标本文使用自然语言处理中,文本多分类任务中常见的性能评价指标:准确率(Accuracy)、查准率(Precision)、召回率(recall)和F1-score,对于多分类任务来说计算这几个指标,每个类别将自身类作为正类,其他所有类作为负类,然后再去计算各个类别的评价指标。在多分类问题中,除了计算每一类的评价指标,还需要对模型整体性能进行评估,而Micro-average,Macro-average和Weighted-average三种汇聚所有类的指标的方式。Micro-average是将所有类别的对应数字相加,然后再进行计算,这也导致本方法中的查准率、召回率以及F1-score三个指标是相等的且等于整个分类的准确率。而Macro-average是对所有类别计算出的指标进行直接求平均操作,计算过程中并不涉及数据的数量,即把所有类别的权重都是设置为一致的,这种方式在测试样本的类别在数量上出现极端不均衡的时候,评价会变得不合理。因此,为了考虑到不同类别的样本不均衡,就有了Weighted-average计算方式,该方法为每个类别赋予一个权重值,即为该类别样本在总样本中所占的比例,以此来减弱数据分布不均衡对评价指标造成的影响。实验结果及分析为了验证算法分类的效果,观察本章提出的弹幕情感词汇分类方法是否有效,本文设计与BERT模型直接对未降维的词向量进行训练和预测的结果进行对比,BERT预训练模型使用的是在Google发布的chinese_L-12_H-768_A-12模型上使用12万中文情感语料微调之后的模型,为了对比运算所花费的时间,使用CPU对模型进行训练,batch-size设为32,训练中使用二折交叉验证训练和验证数据进行验证,对模型的准确率进行监控,当评价指标不再提升时,减少学习率。本章算法分类结果如图2-12a所示。由于各类别样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2014年西藏中考英语真题
- 2026年大学语文试题及答案书
- 深度解析(2026)《GBT 30127-2013纺织品 远红外性能的检测和评价》
- 2026年小学体育笔试题型及答案
- 深度解析(2026)《GBT 29883-2013危险品包装 刚性塑料中型散装容器 实验室光源(荧光紫外灯)暴露法》
- 深度解析(2026)《GBT 29851-2013光伏电池用硅材料中B、Al受主杂质含量的二次离子质谱测量方法》
- 深度解析(2026)《GBT 29710-2013电子束及激光焊接工艺评定试验方法》
- 《GBT 4864-2008金属钙及其制品》(2026年)合规红线与避坑实操手册
- 《GBT 1036-2008塑料 -30℃~30℃线膨胀系数的测定 石英膨胀计法》(2026年)合规红线与避坑实操手册
- 《DLT 1285-2013低温多效蒸馏海水淡化装置技术条件》(2026年)合规红线与避坑实操手册
- 2025年广西壮族自治区崇左市初二学业水平地理生物会考真题试卷(含答案)
- TSG08-2026《特种设备使用管理规则》全面解读课件
- (二检)莆田市2026届高三第二次质量调研测试政治试卷(含答案)
- 毕业设计(伦文)-皮革三自由度龙门激光切割机设计
- 一项目一档案管理制度
- 2025华润建材科技校园招聘正式启动笔试历年参考题库附带答案详解
- 员工职位申请表(完整版2026年版)
- 2025新教材-译林版-七年级英语-上册-单词表
- 注塑车间安全生产培训内容
- 国家安全生产十五五规划
- 开颅手术手术中过程护理的配合
评论
0/150
提交评论