【《基于集成学习的弹幕情感倾向性分类算法分析案例》7400字】_第1页
【《基于集成学习的弹幕情感倾向性分类算法分析案例》7400字】_第2页
【《基于集成学习的弹幕情感倾向性分类算法分析案例》7400字】_第3页
【《基于集成学习的弹幕情感倾向性分类算法分析案例》7400字】_第4页
【《基于集成学习的弹幕情感倾向性分类算法分析案例》7400字】_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

基于集成学习的弹幕情感倾向性分类算法分析案例目录TOC\o"1-3"\h\u32588基于集成学习的弹幕情感倾向性分类算法分析案例 131881.1相关基本概念 1289641.1.1双向长短时记忆神经网络模型 1119841.1.2文本卷积神经网络 3168991.1.3集成学习 4136801.2弹幕数据特性分析 4243291.2.1弹幕数据爬取 5301641.2.2弹幕结构分析 5228161.2.3弹幕文本特性分析 6207041.3基于集成学习的弹幕文本情感倾向性分析算法 7313941.4实验结果及分析 8103741.4.1数据集 8170991.4.2数据预处理 9224941.4.3实验结果 10基于词向量的弹幕情感词分类方法虽然能够实现弹幕情感词的分类,但是这种方法主要针对词语,对于文字数量较多、语言表达复杂的长弹幕并不能起到很好的分类效果。而仅有一两个词语构成的短弹幕会影响深度学习对于文本特征的提取,为了解决这一问题本章提出一种基于集成学习的弹幕情感分类方法。相关基本概念双向长短时记忆神经网络模型长短时记忆神经网络模型(LSTM)[20]是递归神经网络(RNN)的扩展,主要为了解决常规RNN的消失和爆炸梯度问题,比传统RNN能够更精确地对时间序列及其长短距离依赖问题进行建模。LSTM模型与RNN模型结构类似,与RNN模型不同的是,RNN模型的网络单元只有一层,而LSTM模型的网络单元包含有多层,LSTM网络结构如图3-1所示,图中a为LSTM整体网络结构图,b为LSTM单元结构图。图3-1长短时记忆神经网络模型(LSTM)LSTM模型的网络单元有时会被描述成智能网络单元,因为它可以记忆不定时间长度的数值,区块中有一个门(Gate)能够决定输入是否重要到能被记住及能不能被输出。在LSTM模型中共有三种门,按照重要顺序排列分别遗忘门、输入门和输出门。 而在一段文本中,当前词语不仅与上文关联还会与下文有关。所以产生了双向长短时记忆神经网络模型(Bi-LSTM),该模型是由一个正向和一个反向的LSTM叠加而成的[38],Bi-LSTM的网络模型如图3-2所示。图3-2双向长短时记忆神经网络模型在Bi-LSTM网络模型中,拥有两个方向相反的LSTM门,其中,h→t表示在t时刻LSTM的正向输出,它是由当前输入xt和前一时刻的正向输出h→t−1共同决定的;h←t表示在t时刻LSTM的反向输出,它是由当前输入xt和前一时刻的反向输出h←t−1共同决定的;h h→t h←t ht=w总体来说,Bi-LSTM网络模型方便对序列建模,能够提取拥有明显先后关系的特征,具备长时记忆的能力,但是由于其对序列的学习预测要求,不能并行运算,导致其运算耗时较大。文本卷积神经网络卷积神经网络(Convolutionalneuralnetwork,CNN)是LeCunY等人提出的用来处理具有类似网格结构数据的神经网络[16],常常被用于处理图像。而YoonK于2014年提出将CNN模型应用到文本分类的任务(TextCNN)中[18]。其模型结构如图3-3所示。与传统的应用于图片数据的CNN模型相比,应用于文本的卷积神经网络(TextCNN)模型在网络的层级结构上没有任何的不同,仅通过一层卷积层和一层池化层对文本的语义信息进行提取,并在最后通过softmax函数进行分类。与之不同的是输入数据的不同。由于图像方向也含有相应的学习特征,图像需用3维的张量进行表示,即(H,M,C)。其中H表示图片的高度,W表示图片的宽度,C为图片的(R,G,B)三色通道。对于文本而言,尽管向量化表示的文本是2维的张量,可用公式(3-4)表示,由于张量的每一个行向量代表一个词语,将卷积核设为1×n做从左向右滑动的卷积运算是没有意义的。图3-3TextCNN模型结构 D=x11其中,k表示训练后的词向量维度,l表示句子的长度,每一个行向量表示一个词语的词向量。将词向量构建的句向量输入到卷积层,可在高维语义空间提取文本的内在含义,可用公式(3-5)表示: ci=f(其中Xi:j是输入层的向量化文本表示,Wa是第a个卷积核滤波器,b0 c=[c1从公式(3-6)可以看出,通过池化层,可以得到一系列关于文本语义信息的标量特征表示。最终,将池化层的输出输入到softmax函数进行概率分布的计算,根据所要分成的类别对当前输入属于该类的可能性大小进行计算。总体来说,TextCNN模型结构简单,且若引入已经训练好的词向量进行下游任务,可以得到良好的效果。其参数数目少,收敛速度快,常用于对文本进行分类。集成学习在机器学习的任务中,模型训练的目标是得到一个稳定的且在各个方面表现都较好的模型,但实际情况通常难以达到这个目标,通常只能得到多个在某些方面表现比较好的模型,称之为弱分类器。集成学习(EnsembleLearning)就是将多个弱分类模型进行组合以得到一个更好更全面的强分类模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。Bagging是bootstrapaggregating的简写[39],在Bagging方法中,利用bootstrap方法从整体数据集中采取有放回抽样得到N个数据集,在每个数据集上学习出一个模型,最后的预测结果利用N个模型的输出得到,分类问题采用N个模型预测投票的方式,回归问题采用N个模型预测平均的方式。提升方法(Boosting)是一种可以用来减小监督学习中偏差的机器学习算法[40]。主要也是学习一系列弱分类器,并将其组合为一个强分类器。Boosting中有代表性的是AdaBoost(Adaptiveboosting)算法:刚开始训练时对每一个训练例赋相等的权重,然后用该算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在每次学习以后更注意学错的样本,从而得到多个预测函数。Stacking方法是指训练一个模型用于组合其他各个模型[41],首先训练多个不同的模型,然后把之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。理论上,Stacking可以表示上面提到的两种集成方法,只要在组合时选择合适的策略。弹幕数据特性分析弹幕数据爬取本文使用BeautifulSoup实现爬虫,使用视频的cid访问B站的弹幕池url(/{cid}.xml)。爬取的数据分为两种:(1)一种为通过设置初始弹幕池编号,随机选择了一个视频的cid(307364745)作为爬虫爬取数据的起点,然后通过编号的自增对弹幕池进行访问,总共获取215603条弹幕数据,这批数据通过分词及词频统计等操作作为弹幕语料用于获取弹幕常见词汇等信息,构建弹幕词典使用。(2)第二种方式为人工从B站不同视频分区中选取热门榜单上的视频,这类视频通常具有较大的弹幕数量,所选分区包括音乐区、动画区、生活区、游戏区4个,记录视频所对应的cid并进行数据爬取,每一个视频所对应的弹幕单独存放为一个文件,这批弹幕数据一共121360条,对这些数据进行标注作为本章模型训练测试的数据集。弹幕结构分析访问B站弹幕池网页,可以看到B站的弹幕样本结构如图3-4所示。图3-4弹幕样本结构图从图3-4中可以看出,中文文本的部分即为弹幕的文本信息,而除此之外,每条弹幕还有一串p信息,使用逗号进行分隔一共有8个信息,这8个信息分别为:(1)弹幕在视频中出现的时间点,单位为秒,这个时间代表的是视频播放的时间轴,也就是弹幕是在视频播放的这一时间点被用户发送的。(2)弹幕的展示模式,分别对应着滚动弹幕、底端弹幕、顶端弹幕、逆向弹幕和高级弹幕。(3)弹幕的字号,默认的弹幕大小为25,最小为12,最大为64。(4)弹幕字体的颜色,该颜色使用的html颜色的10位标准。(5)弹幕的Unix格式时间戳,基准时间为1970-01-0108:00:00,也就是对应的弹幕具体发送日期、时间。(6)弹幕池的编号,分为普通池、字幕池和特殊池,特殊池专门存放高级弹幕信息。(7)弹幕发送用的ID,用于记录弹幕发送用户信息,并且实际应用于“屏蔽此弹幕的发送者”功能。(8)弹幕在弹幕数据库中的ID,用于从弹幕数据库中获得对应的弹幕文本信息。由此可见,弹幕数据除了文本信息还有一些能够反映弹幕状态,以及时序关联性的信息。为了分析这数字信息能否应用于弹幕情感倾向性分类当中,对爬取得到的弹幕数据的展示模式、字号、弹幕池的编号、字体的颜色信息进行了统计,统计结果表明,98.1%的弹幕为正常展示模式,仅有1.9%的弹幕为逆向弹幕;99.9%的用户弹幕字体大小为默认的25;99%的用户发送的弹幕位于普通弹幕池中;71.3%的弹幕颜色为默认的白色。由此可见,弹幕的展示模式、字号和弹幕池的编号三种信息普遍上都是系统默认的,对于情感的表达不存在区分度。而有接近30%的弹幕带有颜色信息,这表示用户在发布弹幕的时候比起更换字体大小等信息,更喜欢使用不同的颜色来表达想法,因此本文将在弹幕文本情感倾向性分析的过程中加入弹幕的颜色信息。弹幕文本特性分析弹幕所包含的时间空间等数字信息只是观众用于表达情感的一些辅助信息,用户主要还是使用弹幕的文字来表达看法。本节主要从弹幕文本的长度以及包含内容两方面进行分析。对爬取到的弹幕数据的文本长度进行统计,最短弹幕仅有1个字,而最长的弹幕能够达到100字,B站对于弹幕文本的长度限制即为100字。有30.5%的弹幕长度小于等于5个字,这类弹幕基本由1-2个词组成,词语本身的情感就是语句的情感;有65.5%的弹幕长度大于5个字并且小于50个字,这类弹幕多为含有完整语句信息的句子,进行情感分类时需要对句子的结构,词语之间的影响进行分析;有4.5%的弹幕长度大于50字,这类弹幕多数为一些口号或者重复的词语信息,观众用于抒发强烈的情感而达到弹幕的字符限制,需要对这类弹幕进行提取关键信息,过滤重复内容。由于机器学习本质上是提取样本特征然后根据特征去分类,当文本太短时样本包含的特征较少,分类效果也会有所下降,而样本较长时所含的特征也会与单独词语含有的特征有所区别。因此本文考虑使用集成算法,对弹幕进行情感分类,将数据分为短文本和长文本分别进行模型的训练,最后使用集成算法,将几个分类模型结合到一起。除去弹幕的文本长度,弹幕用语中有许多表情符号、数字代号、拼音缩写等,如“ヽ(°▽°)ノ”、“23333”、“awsl”等,这类符号语言通常是作为一个整体出现的,并且很少在正规文本中出现,因此在使用BERT生成词向量的过程中存在着一定的障碍,所以需要对数据进行预处理,将这些符号翻译成对应的中文意象。其次,弹幕文本书写不规范,存在英文大小写混用、简繁体混杂等一系列问题,10%的弹幕中包含英文字符,1%的弹幕为繁体中文书写内容。因此,需要在文本转化为词向量之前对弹幕文字进行字符、大小写、繁简体的统一。基于集成学习的弹幕文本情感倾向性分析算法通过上一节对弹幕数据结构和文本的分析,本文提出一种基于集成学习的弹幕文本情感倾向性分类算法。具体操作步骤如下:(1)将弹幕数据集根据长度分为短弹幕、普通弹幕以及长弹幕,短弹幕为长度小于5的弹幕,长弹幕为文本长度大于50的弹幕,其余为普通弹幕。(2)对长弹幕进行重复文本检测,如果该弹幕为单个词语多次重复的弹幕,过滤重复内容,保留词语部分,并根据词语长度对该弹幕重新分组,如若字数仍旧大于50字,将其归为普通弹幕。(3)对短弹幕分别使用第二章方法和BERT进行训练学习获得两个分类模型。(4)对普通弹幕使用BERT进行文本向量化并分别附加弹幕在视频中出现的时间信息和弹幕的颜色信息,然后将带有时间信息的弹幕组使用Bi-LSTM进行训练学习,带有颜色信息的数据组使用TextCNN进行训练学习。(5)使用训练得到的4种模型,对样本进行预测,并将所有样本的预测结果和实际类别作为输入,进行logistic回归计算。使用logistic回归[42]作为组合策略将4种模型进行组合,获得最终的分类模型。算法流程图如3-5所示。图3-5算法流程图本章提出的弹幕情感倾向性分类方法与一般的集成学习的区别在于,根据弹幕数据的长度特征直接将训练集进行分组,然后根据文本各自的特征分别设置学习模型。而一般的集成学习方法是对数据集进行多次采样,对于每一组数据训练出一个弱分类模型。实验结果及分析数据集本文将弹幕情感分为高兴、难过、愤怒、惊四种基本情感。高兴包含喜悦、兴奋、喜爱、感动、满足等积极快乐的情感;难过包含悲伤、孤独、凄凉、悲惨等心情不愉快的情感;愤怒包括生气、对抗、暴怒、谩骂等极度反感的情感;惊包含惊吓、惊讶、害怕等意料之外的情感。其余无法归类于这四类情感的数据为本文中的负样本,即为其他情感或无情感倾向的样本。在标注数据的过程中,由于单字符或数字难以分辨用户所表达的情感,所以舍去仅有一个标点或数字符号的弹幕。对于内容重复弹幕,由于其数字信息如用户id、发送时间等不同,将会保留这一部分内容,但是在标注的过程中会对弹幕先进行重复检测,对重复的弹幕进行批量标注。在本章中使用的弹幕除去弹幕文本信息,还将保留视频时间戳和字体颜色信息,标注以后的弹幕数据如表3-1所示。表3-1弹幕样本标注分类示例类别时间戳颜色发布日期文字内容高兴1.90200红2021-05-14真的好棒,点赞80.18500白2021-05-14这才叫真翻唱,对原唱的另一种解读和升华!!!79.69800黄2021-02-05三厨狂喜难过189.33800蓝2021-02-08鼻子酸了酸了136.62600白2021-05-14我哭了呜呜呜呜呜等我124.67900白2021-05-13孩子!一下我就哭了愤怒67.66100白2021-01-22搁着捧哏呢336.71600红2020-10-26没有感情?你唱一个试试?156.03000白 2021-05-13这算是水视频吧惊124.00600白2021-04-26高能君在哪里???!1007.77900白2020-10-02高能预警啊啊啊!!258.89200蓝2021-04-19嘤嘤嘤好恐怖负样本847.28400白2021-05-13是花苗的狗吗?364.79000白2021-04-23五月二乃三玖四月一花784.81200白2021-05-13求背景图121360条弹幕数据舍去仅有一个标点或数字符号的弹幕后剩余98011条数据,标注后的数据中73269条弹幕为有情感倾向的数据,占弹幕总数的74.74%,各个类别标注后的弹幕数量分别为高兴28363条、难过7698条、愤怒16605条、惊20603条,直观的数量比较图如图3-6所示。为了方便其他人进行类似的研究或者对本文实验进行复现,本文所使用的数据集公布于github之上[43],数据包含从B站爬取的全部原始信息以及分类的标注。3-6弹幕样本数量图数据预处理由于弹幕文本为自由度较高的文本,本文在需要对数据进行预处理,对文本信息的字符、英文字母的大小写、以及中文的繁简体三个方面进行统一。将所有的数据字符统一为半角字符,避免在后续学习训练的过程中出现字符不统一而导致的信息混乱问题。将所有的英文字符统一转换为小写英文,避免同一个英文词组因为大小写不一致识别为不同的词组。将所有的繁体中文转化为简体中文,避免同样的中文字,由于繁简体不一致而得到不同的结果。由于弹幕文本中存在较多表情符号、拼音缩写,难以使用BERT将其转换成有意义的文本向量,考虑将文本中的表情符号等信息翻译成同含义的中文词语。因此首先将常用表情符号添加到jieba分词的词语库中,然后使用jieba分词对弹幕文本进行分词,然后替换符号信息。本文制作的符号对照表示例如表3-2所示。弹幕信息中所包含的颜色信息使用的是10位标准颜色,如果直接使用该编码会导致颜色信息过于细分,因此在本文中将颜色分为黑、白、暖色系、冷色系4类,根据颜色编码将弹幕颜色进行转换。表3-2表情符号对照表示例符号含义符号含义233(可有多个3)大笑hhh(可有多个h)哈哈哈yooooooooooo起哄doge狗头(ಥ_ಥ)哭了╭(°A°`)╮懵了QAQ哭๑乛◡乛๑嘿嘿✿✿ヽ(°▽°)ノ✿撒花(ง•̀_•́)ง加油_(:з」∠)_趴-(゜-゜)つロ干杯弹幕的发送时间信息是以1970-01-0108:00:00为基准的Unix格式时间戳,由于本文中不使用该信息进行情感分析,但是在系统设计实现的过程中会需要使用到弹幕发送的日期信息,因此在数据预处理的过程中,将Unix格式时间戳转化为YYYY-MM-DD格式的日期时间。实验结果本章使用Keras深度学习框架[44]搭建实验网络模型,为了验证本章提出的算法在弹幕数据情感倾向性分类方面比其他模型直接学习训练的得到的分类效果好,将与单独使用BERT模型分类、使用BERT生成句向量Bi-LSTM模型学习分类和使用BERT生成句向量TextCNN模型学习分类进行对比,实验并记录各个模型的数据。BERT使用第二章中微调得到的预训练模型,网络层数设置为12,隐藏层数维度为768,每次批次大小为32,设置的学习率为0.01。Bi-LSTM与TextCNN模型的配置如表3-3所示。表3-3Bi-LSTM与TextCNN训练参数表超参数参数值词向量维度768神经网络隐藏层层数128学习率0.01Dropout比例0.3L2正则化系数0.001由于使用BERT的最后一层输出作为文本向量,因此词向量维度设置为768维。模型的学习率决定模型学习的快慢程度,通常设置在0.001到10之间,为了使得模型能够在更快的收敛的同时保证模型的迭代次数,因此将初始学习率设置为0.01。Dropout比例是在训练过程中随机将隐藏层的神经元数值设为0的比例,这样操作使得在这次训练中设置为0的神经元不参与信号的传递,能够有效的预防模型的过拟合,Dropout比例越大模型的学习速度越慢,因此将Dropout比例设置为0.3。L2正则化同样也是防止模型过拟合的一种手段,本文训练模型时,在全连接层采用正则化技术。所有模型的迭代次数(epoch)设置为15,训练过程中对模型的损失函数进行监控。使用早停法对模型进行训练,防止模型训练结果过拟合,即当一轮迭代结束后,如果在验证集上发现测试误差上升,则停止训练。使用ReduceLROnPlateau更新每一次训练迭代的学习率,当loss值不再降低时,减少学习率为当前学习率的一半。本章方法各个类别的实验结果如表3-4所示,标准化分类结果如图3-7所示。表3-4各个类别的分类实验结果查准率precision召回率recallF1-score高兴0.97200.97890.9754难过0.92730.92730.9273愤怒0.82000.82000.8200惊0.92590.89290.9091从表3-4和图3-7中可以看出高兴类别的数据分类的效果最好,这是由于“高兴”类别的数据量最大,特征采集相对比较完整。而“愤怒”类别的分类效果相对较差,而这类的数据中有较多一部分的样本被分类到了“难过”中。图3-7标准化分类结果图本章方法分类结果与其他模型进行分类的结果整体性能对比如表3-5所示。从表中可以发现,Bi-LSTM模型与TextCNN模型比起来,Bi-LSTM的查准

温馨提示

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

最新文档

评论

0/150

提交评论