陈 旭 ,潘 峰 ,韩 益 亮 ,王 宁
(1.武警工程大学 密码工程学院, 陕西 西安 710086;2.武警部队密码与信息安全保密重点实验室,陕西 西安710086;3.武警河北总队张家口支队,河北 张家口 075000)
自2019 年底以来,新冠疫情在世界范围内迅速扩散。 截至 2021 年 6 月,在世界范围内,新冠疫情已经累计造成380 万人死亡[1]。 根据国际货币基金组织不完全统计,新冠疫情将会造成全球经济损失达 21 万亿英镑[2]。 尽管在政府的有力统筹和全国人民的共同努力下,新冠疫情在我国范围内已经得到了有效控制,但是由于新冠病毒的高传染性、高变异性,在经济全球化的背景下,单纯依靠防控措施很难彻底杜绝新冠病毒传播。 同时,相关研究表明,新冠患者即使康复以后,身体仍会受到一定的不可逆转的损伤。 因此,无论从国家发展角度,还是从个人健康角度,接种新冠疫苗刻不容缓。 以微博为代表的新媒体平台成为了群众发表观点的主要方式。 通过微博及时有效地收集群众针对接种新冠疫苗的评论,分析群众接种疫苗的情感倾向性,对于政府有针对性地开展疫苗接种宣传疏导工作具有重要意义。
文本情感分析,也称为意见挖掘,旨在通过一定的模型分析自然语言文本中的主观性来评估其嵌入的态度。 传统的情感分析方法主要分为三大类:基于情感词典的分析方法、基于传统机器学习的分析方法以及基于深度学习的分析方法。 基于情感词典的分析方法存在情感词典的构建和维护需要大量人力的问题;基于传统机器学习的算法相比于基于情感词典的方法,在性能上的提升并不明显;基于深度学习的情感分析方法,由于其出色的效率和强大的实用性,逐渐成为文本情感分析领域的热点。 在文本情感分析领域, 常见的深度学习模型有卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Networks,RNN)等。 Kim 等人[3]在英文语料上,首次运用 CNN 实现了文本情感分类任务,但CNN 缺乏对文本提取特征的能力。Irsoy 等人[4]使用 RNN 在英文语料上建模进行情感分析,RNN 引入了记忆单元使网络具有了一定的记忆能力,但其存在训练中易出现梯度爆炸和弥散的问题。
在RNN 基础上改进的长短时记忆网络(Long Short-Term Memory,LSTM)和门限循环单元(Gated Recurrent Unit,GRU),能够较好地克服 RNN 的弊端。周瑛等人[5]通过在LSTM 模型后增加注意力(Attention)机制,提升了对中文微博较长文本的分类效率,但单向 LSTM 模型存在忽略下文信息的问题。 Tang 等人[6]在双向LSTM 模型后增加注意力机制来解决文本级情感分析问题,但是将注意力机制与双向LSTM模型串行不利于充分学习文本语义信息。 关鹏飞等人[7]通过将BiLSTM 与注意力机制并行直接作用于输入的文本向量上,增强了注意力机制语义学习的能力,提高了文本情感分类的效率。Kumar 等人[8]将BiLSTM 模型与两层注意力机制混搭,一定程度上提升了文本情感分类的效率。 Greff 等人[9]和 Jozefowicz等人[10]对 LSTM 和 GRU 框架进行了实验比较,发现在二者性能没有本质区别的情况下,GRU 比LSTM结构相对简单,计算复杂度较低。 因而众多学者尝试在 GRU 模型框架上进行改进,或者将 GRU 模型与其他模型混合。 王伟等人[11]将注意力机制串联作用于BiGRU 模型之后, 相比于在BiLSTM 模型上增加注意力机制减少了训练时间。黄磊等人[12]采用GRU模型与LSTM 模型混合的方式,提高了模型的召回率。此外,近年来 Bert 语言模型[13]的提出,不断刷新自然语言领域深度学习模型的性能表现记录,例如谢润忠等人[14]将基于 Bert 的预训练模型与 BiGRU、Attention 机制融合建立了文本情感分类模型。 但是基于Bert 的预训练模型需要超大的训练数据以及极大的训练开销,可复现性较差。
本文在文献[7]的基础上,选择模型复杂度更低的 GRU 模型为基础,运用 BiGRU 与注意力机制并行增强对文本上下文的学习能力。 实验证明,针对爬取并标注的新冠疫苗接种意向方面的微博评论,该模型的情感分类效率有一定的提升。
利用深度学习模型进行自然语言处理通常需要首先对文本进行向量化表示。 传统的one-hot 表示存在词向量过于稀疏以及不包含语义信息的问题,Word2vec 模型的出现一定程度上解决了这一问题。 Word2vec 是 Google 研究团队[15-16]于 2013 年提出的一种有监督的训练词向量的模型,自提出以来得到了广泛运用。 其出发点是上下文相似的两个词,其词义也相似。 它包含两个子模型:CBOW 和 Skip-Gram。 CBOW 模型通过上下文词汇预测当前词汇,Skip-Gram 模型通过当前词汇预测上下文词汇。Word2vec 模型结构如图 1 所示。
图1 Word2vec 模型结构图
Word2vec 训练得到的副产品是词向量矩阵,而这正是自然语言处理领域将语言向量化所需要的。理论上通过对大量语料进行训练生成的词向量矩阵,可以实现任意词汇的向量化表示。 向量化表示后的结果作为深度学习的输入,为深度学习训练打下基础。
RNN 是用于处理序列数据的神经网络,被广泛应用于自然语言处理中的情感分类任务。 在处理自然语言分类任务时,RNN 是一个典型的多输入、单输出模型,假设输入序列长度为6,其标准结构如图 2 所示。
图2 RNN 标准结构图
其中序列(x1,x2,x3,x4,x5,x6)是 输 入层 的输入,序列(h1,h2,h3,h4,h5,h6)为 隐藏 层 的 循 环单元,y 为输出层输出的分类结果。 通常,在文本情感分析的多分类模型中,y 是由循环单元依照softmax(归一化指数)函数生成,即:
其中,V 为权重系数矩阵,c 为偏移向量。
传统的RNN 算法虽然在处理序列问题时有很好的效果,但是在训练中存在严重的梯度消失和梯度爆炸问题,而其改进算法LSTM 和GRU 很好地克服了这两点问题。同时,相比于 LSTM,GRU 将 LSTM的忘记门和输出门合并成更新门,模型更加简单,在训练时间更短的情况下模型效率与LSTM 基本一致,仅取决于针对问题的不同略有差异。 GRU 模型的具体结构如图3 所示。
图3 GRU 模型结构图
其中,ht-1为上一时刻状态,ht为当前时刻输出状态为隐藏状态。 zt为更新门当前状态,它决定了过去有多少信息保留以及未来有多少信息加进来。 rt为重置门当前状态,它决定了上一时刻状态对隐藏状态的影响。
其 中 ,Wh、Wz、Wr和 Uh、Uz、Ur均 为 要 学 习 的 权 重 ,bh、bz、br均为要学习的偏置。 单 向 GRU 存 在忽 视下文信息的问题,双向GRU 则可以充分学习上下文信息。 双向GRU 模型是由两个信息传递相反的GRU 模型构成的,其中第一层按时间顺序传递信息,第二层按时间逆序传递信息。
近年来,注意力机制在深度学习各个领域日渐火热,它起源于人类视觉特有的快速扫描重点目标区域的大脑信号处理机制。 在自然语言领域引入注意力机制,有利于模型的快速收敛以及更好关注自然语言中信息价值更大的部分。 Bahdanau 等人[17]首次将注意力机制应用到自然语言领域,自此注意力机制由于其良好的实用性在自然语言处理领域被广泛采用。 注意力机制可以实现自动从给定文本向量中学习权重分布,计算方法如式(6)、(7)所示:
其中,vt为学习所得的中间参数,at表示第 t 个词对当前文本的重要程度,A、W 为权重矩阵,xt为输入序列,b 为训练中的偏置向量。
本文模型采用双向GRU 与注意力机制并行结合的方式,与文本向量串联加强语义信息的学习。 模型结构如图4 所示。 首先将采集的关于新冠疫苗接种的评论文本输入,而后采用Word2vec 进行向量化表示,再将向量化的文本分别输入BiGRU 与Attention机制进行学习,两部分所得结果拼接后,通过softmax函数实现短文本情感的三分类。
图4 模型结构图
微博作为新媒体社交软件的主要代表之一,具有较大的普及性及关注度,能够在热点事件发生的第一时间推送消息、获取网民评论,具有较高的舆情研究价值。 因而本文选择微博作为语料源,利用八爪鱼爬虫软件爬取 2021 年 1 月至 5 月网民关于新冠疫苗接种方面的评论。
针对爬取的数据,首先利用八爪鱼软件进行去重处理,而后利用 NLP 工具 HarvestText,实现去除微博文本中的杂质“@”、去除表情符、将繁体字转为简体字等去杂步骤。
接着对其情感倾向性进行标注,常见的情感分类数有二分类、三分类以及多分类。 结合接种新冠疫苗的实际,有些群众能够将接种疫苗上升到利国利己的角度,积极主动参与;有些群众担心疫苗接种副作用,对接种疫苗十分抵触,或者因身体原因不能接种;还有些群众对接种新冠疫苗表示怀疑、犹豫不决,或者对新冠疫苗接种的禁忌不是特别清楚。 因而对数据标注采用三分类更加合理。 根据文本中透露的接种疫苗情感倾向,分为积极、中立、消极,依次标注为2、1、0。 其中积极情感包括已经接种过疫苗、还未接种但是想要接种、想接种但是因疫苗缺乏接种不到等几类,标注为2;中立情感包括犹豫是否接种疫苗、不清楚身患某种疾病是否可以接种、接种一针后有副作用不知道能否继续接种等,标注为1;消极情感包括因觉得疫苗副作用大坚决不接种、打完疫苗副作用大不愿继续接种、被强制接种但是不想接种、因怀孕或者身患某种疾病不能接种等,标注为0。 示例评论及标注如表1 所示。
表1 评论文本标注示例
去除与接种疫苗无关的评论,共得到标注完毕的文本评论 12 000 条,其中积极情感评论8 333 条、中立情感评论1 992 条、消极情感评论1 675 条。 1 ~5月份爬取微博评论各类标注数量如图5 所示。 从爬取并标注的数据可以看出,大多数群众对于接种疫苗的意愿是积极的。
图5 1~5 月份评论情感标注
选取Word2vec 模型对标注后的语料进行向量化,为下一步输入模型训练做好准备。 采用中文维基百科语料作为Word2vec 模型的训练语料,利用NLP 工具HarvestText 去除语料中的表情符以及将繁体字转为简体字,使用 jieba 分词模块进行分词,分词前去除停用词,并将疫苗、新冠疫情等词设置为常用词。 对于分词结果,选取出现频率较高的高频词,统计结果如表 2 所示。
表2 高频词词频统计表
选择 Word2vec 模型中的cbow 模型,设置向量维数 size=300、最小词频 min_count=3,而后开始训练。将分词后的12 000 条标注语料输入训练完毕的Word2vec 模型,得到语料的向量化表示结果,为后续模型训练做好准备。 本文主要针对短文本进行情感分类,对文本语句的最大长度选择为32 个词,不足 32 的补 0 处理。
从标注好的12 000 条语料中随机划分2 400 条作为测试集,其余9 600 条作为训练集。 实验在 CPU为AMD Ryzen 5 3600 6-Core Processor、内存为 16.0 GB的服务器上运行,GRU 模型和Attention 机制的隐藏层设置为256,学习率为0.001,主要参数如表3 所示。
表3 主要实验参数
本文主要通过正确率以及训练时间与传统情感分类模型对比来评价改进模型。 在相同条件下,模型训练后的正确率越高,训练时间越短,模型效果越好。 在模型经过训练集训练后,将测试集输入测试,假设正确划分测试集的个数为T,错误划分测试集的个数为F,则模型训练的正确率A 的计算公式为:
本文在文献[7]的基础上,考虑到 GRU 相比于LSTM,效果相似的同时复杂度有所降低,因而采用双向 GRU 与 Attention 机制并行作为本文深度学习的核心架构。 针对爬取并标注的新冠疫苗接种倾向性分析方面的评论,经过几轮迭代,当模型准确率达到最高后,各模型实验结果如表4 所示。
表4 实验结果对比表
如表4 所示,将本文改进的模型④分别与传统模型①②③进行对比。 在针对新冠疫苗接种倾向性分析时,将模型④与模型①相比,本文改进的模型准确率有了较大的提升,运行时间有了一定程度的降低,即改进的模型效率有了明显提高。 这说明针对本文标注的实验数据,BiGRU 与 Attention 并行的结构比 BiLSTM 与 Attention 并行的结构更有优势,这主要是由于GRU 模型结构比LSTM 结构更加简洁。 将模型④与模型②相比,模型④准确率略高,运行时间却增加了,这说明引入Attention 机制与Bi-GRU 并行有助于增强文本信息学习能力,提高重点词汇学习能力,但由于整体模型架构相对复杂,有可能导致增加一定学习时间。将模型④与模型③相比,二者主要区别在于 Attention 机制与 BiGRU 是并行还是串行。 通过比较可以发现,本文改进的模型④在运行时间上比模型③少,但准确率也略有降低。 各模型整体性能上各有千秋,具体性能上的优异还要取决于进一步实验。
综合上述实验可知,本文基于文献[7]改进的模型,相比于原模型,效率有了明显提升;相比于BiGRU+Attention( 串 行 ), 运 行 时 间 更 短 ; 相 比 于BiGRU 模型,准确率更高。 因此针对新冠疫苗接种意愿倾向性分析,改进的以 BiGRU 与 Attention 机制并联的模型具有一定的价值。
本文对传统运用深度学习情感分类模型进行改进,使用结构更加简洁的GRU 模型替代 LSTM 模型,并且运用双向GRU 模型提升上下文语义的学习能力,同时充分发挥 Attention 机制与 BiGRU 并行的优势,提高文本中重点词语的学习能力。 另一方面, 本文针对当前新冠疫苗接种意愿的热点话题, 在微博上进行了网络评论的爬取以及情感标注,并用来验证改进情感分类模型的效率。
从模型对比实验结果来看,相比于BiLSTM 与Attention 并行的传统模型,本文改进的模型运行时间更短,对标注数据情感分类准确率更高,达到了预期的训练效果;相比于 BiGRU 模型、BiGRU 与Attention 串行模型,本文改进的模型分别在运行时间和准确率方面有所提高。因而本文改进的深度学习模型对新冠疫苗接种情感倾向性分析具有一定的价值。
但是本文的研究也存在一定的局限性:第一,本文实验针对的微博评论数据量有限,难以充分比较出与其他模型的优势,在未来的研究中还需考察大量数据下模型的实验效果。 第二,本文模型忽略了微博评论中一级评论和二级评论的差异性。二级评论建立在一级评论的基础上,针对不同的一级评论,相同的二级评论可能反映出不同的情感倾向。因而下一步研究中还需细化考虑一级评论对二级评论的影响。