0 引 言
社交网络的兴起与发展,为网络言论的繁荣提供了有利的平台支持,越来越多的人开始在社交网络上分享自己的观点和表达情感
[1]。截至2019年2月,中国社交网络行业用户规模达9.73亿,Twitter 2018年第四季度报表显示,Facebook日均活跃用户数高达12亿,Twitter日均活跃用户数为1.26亿。大量的网络用户行为伴随着海量评论信息,这些评论信息中隐藏着用户对于事物或人的看法和态度,有正面的、积极的,也有负面的、消极的。由于网上评论的内容参差不齐,在这些言论中不免会混淆着一些不友好的言论,歧视性言论就是其中之一。歧视性言论是诉诸暴力的语言,使用歧视性言论会对他人或某一群体的情感、自尊和心灵造成伤害。嘲笑、蔑视、谩骂、诋毁等侮辱歧视性的语言是其典型的代表。歧视性言论在一定程度上破坏了网络环境的和谐稳定。通过鉴别歧视性言论,可在网络后台对其进行屏蔽或限制上传,有效减少歧视性言论在网络上的出现,抑制网络舆论暴力的产生,促进文明上网、健康上网,有利于营造健康和谐的网络环境。
歧视性言论的鉴别可以归属于文本分类问题。现有的研究文本分类的方法主要有基于传统机器学习的方法
[2,3,4]和基于深度学习的方法
[5,6,7,8,9]。词匹配法、知识工程以及统计学方法是传统机器学习中常用的方法,这些方法虽然已经在文本分类问题上取得了较好的成绩,但是需要丰富的领域知识和大量的人工标注,过程复杂耗时,推广困难。
近年来,深度学习成为新一轮文本分类问题的研究热点
[10,11]。现有的深度学习文本分类方法或是采用单一的CNN(convolution neural network)模型
[12]或LSTM(long short-term memory)模型
[13],或是采用双向LSTM模型
[14],或是在CNN模型结构的基础上添加LSTM模型
[15]。这些模型虽然能够对文本进行有效分类,但是并不能很好地综合文本上下文信息,分类效果存在较大的提升空间。
本文针对歧视性言论的鉴别,在现有研究的基础上提出了一种融合双向门控循环单元(bidirectional gated recurrent unit,BIGRU)和多元卷积神经网络(multi-convolution neural network,MCNN)的BGM-CNN文本分类模型,模型采用的门控循环单元(GRU,gated recurrent unit)是LSTM的一种变体,其结构更加简单,计算复杂度更低,同时为了更加全面地提取文本特征,模型采用的多元卷积神经网络在简单的CNN结构上进行改进,利用不同卷积核粒度和不同池化操作实现多粒度的特征提取。为了有效结合BIGRU和MCNN的网络特性和优点,模型先采用BIGRU结构对文本输入进行时序特征提取,然后再经过一维多元卷积神经网络层进行多元特征提取,并拼接多组输出特征进行分类。
1 BGM-CNN文本分类模型
BGM-CNN文本分类模型主要包括文本输入处理层、BIGRU层和多元卷积神经网络层,结构如
图1所示。不同于现有的单一卷积核大小和单一池化操作的卷积层,本文模型采用多粒度卷积核和多池化操作的多元卷积神经网络层。模型有两组特征输出,一组是经过单层BIGRU层和卷积层后的池化输出特征,一组是经过双层BIGRU层和卷积层后的池化输出特征,连接层拼接两组输出特征,经过标准化和Dropout正则化处理后由分类层得到分类结果。
1.1 文本输入处理层
本文主要分析对象英语短文本大多是非规范化文本,是简单的单词组合,且含有一些与情感无关的内容或信息,诸如标点符号、特殊字符、数字等,所以在输入到神经网络层之前要先对数据进行预处理。
预处理的主要任务是去除无用词和停用词,即删除对信息无关的标点、数字、特殊符号以及较短的单词,然后将句中的单词,例如过去分词、动名词等词干提取出来,还原为词根形式,这样有助于在不丢失信息的情况下减少数据中唯一单词的数量,其部分处理效果如
表1所示。
将预处理后的数据进行标记索引,输入到嵌入层中进行词嵌入训练,得到文本词向量矩阵。
将文本词向量矩阵输入到Dropout层中进行Dropout正则化处理,预防数据过拟合,输出作为BIGRU层的输入。
1.2 BIGRU层
在使用单向GRU时,是从前往后地读取文本中的单词,这种前向的读取方式可以获取到文本中单词之间的前向关联关系。但有时当前输入单词的语义不仅与之前单词的语义有关,而且还与之后单词的语义有关。因此,为了能够更加全面地获取单词语义信息,兼顾上下文信息,本文利用双向GRU结构对文本序列进行处理,通过正向计算和后向计算输出更加精确的值。双向GRU结构示如
图2所示。
1.3 多元卷积神经网络层
对于文本序列的处理,小型的一维神经网络具有处理效果好,且运行速度快的优点。因此,本文模型采用一维多元卷积神经网络对数据进行进一步处理。
一维多元卷积神经网络层主要包括嵌入层、卷积层、池化层、连接层、标准化层、Dropout层和分类层,其中嵌入层代表文本输入层中的词向量训练,具体结构如
图3所示。
1) 卷积层 为了进一步提取文本局部特征,卷积层采用两种不同卷积核大小的卷积层对BIGRU层输出特征进行卷积操作,提取文本多元特征。
2) 池化层 分别采用最大池化层和平均池化层对卷积层输出进行处理,结果输出为最大值特征和平均值特征,实现特征的降维。
3) 连接层 将单层BIGRU层和卷积层的池化层输出特征和双层BIGRU层和卷积层的池化层输出特征拼接在一起,组成文本特征输出。
4) 标准化层 为了后续的分类能取得更好的效果,模型引入了标准化层,选用Batch Normalization 方法对拼接后的向量进行标准化处理。
5) Dropout层 引入Dropout正则化处理,降低数据过拟合风险。
6) 分类层 采用全连接层,使用激活函数进行分类,对于二分类数据集选用sigmoid函数,对于多分类数据集选用softmax函数。
2 实验结果分析
2.1 数据集
本文实验数据集有三个(如
表2),一个是细粒度文本情感分类数据集,该数据集根据情感极性强度将数据标注为5个类别,分别为:消极(0),比较消极(1),中性(2),比较积极(3),积极(4)。其余两个为歧视性言论数据集,其中一个是从Twitter上采集的推文数据,另一个是从网络评论中采集的数据,两个数据集均已根据是否具有歧视性倾向进行标记,标签“1”表示具有歧视性倾向,“0”表示不具有歧视性倾向。
2.2 实验参数配置
本文实验操作系统为Windows 7 64位,处理器为AMD A8-5500B APU with Radeon HD Graphics,内存为12 GB,编程语言Pyhton 3.5,深度学习框架为Keras 2.2.4,参数如
表3所示。
2.3 评价标准
本文采用准确率(
A)、精确率(
P)、召回率(
R)、
F1值以及ROC_AUC(area under ROC curve)曲线作为评价标准,分类结果的混淆矩阵如
表4所示。
准确率是分类正确的样本数占样本总数的比例,计算公式如下
精确率也称查准率,是被正确预测的样本数与被预测到的样本数的比例,计算公式如下
召回率也称查全率,是被正确预测的样本数占应当被预测到的样本数的比例,计算公式如下
F1值是基于查准率和查全率的调和平均值,其取值范围为0~1,计算公式如下
ROC曲线是以假正例率(FPR)和真正例率(TPR)为轴的曲线,ROC曲线下面的面积即为AUC,AUC的值越大则其模型分类效果越好。
2.4 实验结果分析
选取了6种模型与本文模型进行对比,分别是单一的CNN模型、LSTM模型、GRU模型、BILSTM模型、CNN-LSTM模型以及CNN-BIGRU模型。CNN模型、LSTM模型、GRU模型的训练参数与本文BGM-CNN模型训练参数相同;BILSTM模型参考文献[
14]进行训练;CNN-LSTM模型参考文献[
15]进行训练,其卷积核粒度大小与本文模型相同;CNN-BIGRU模型则先采用卷积神经网络对输入进行特征学习后再接入BIGRU层,最后由分类层输出得到分类结果,其训练参数与BGM-CNN模型相同。
在将模型应用到本文的歧视性言论数据集之前,先在细粒度文本情感分类数据集上验证本文模型的可行性。由于该数据集为五分类数据集,因此,在模型训练过程中,分类层激活函数采用softmax函数,对
F1值进行计算时应先对混淆矩阵各对应元素求平均后再进行后续计算。其准确率和
F1值对比如
表5所示。
由
表5可以看出,相比其他模型,CNN模型的准确率最低,本文提出的BGM-CNN模型准确率最高。由于
F1值是一个综合评价指标,能更加准确地体现模型的性能,
F1值越高其模型分类性能越好。在本组实验中准确率和
F1值均小于0.70,说明模型对于五分类数据集的实际分类效果还需要有所提高。
将模型应用于歧视性言论数据集,模型在数据集上的
F1值如
表6。
由
表6可以看出,在歧视性言论二分类数据集上,所有模型的
F1值均有所提高,本文模型在两个数据集上的
F1值均高于其他对比模型
F1值,说明本文模型能够适用于不同类型的数据集,泛化能力较好。
表7为推文数据集上不同模型在验证集上的分类混淆矩阵各元素的对应数值、精确率和召回率。
由于在实际生活中非歧视性倾向的言论总是多于歧视性倾向的言论,因此在实际应用中能够将具有歧视性倾向的言论正确鉴别出来并进行标注比正确分类出非歧视性倾向言论更加重要。由
表7可以看出,本文模型对于歧视性倾向言论的正确分类数为475,错误分类数为86,分类准确率高于其他对比模型。由此说明本文模型对于歧视性倾向言论具有更好的鉴别和分类作用。本文模型召回率为0.846 7,精确率为0.834 7,说明本文模型的正确预测样本数占有较高的比例,对数据的分类效果较稳定,并没有出现极端化现象。
图4为本文模型在增大歧视性言论分类数据集容量后的ROC_AUC曲线。由
图4可以看出,模型的AUC值高达0.99,说明本文模型具有很好的分类效果。
表8为部分实验测试结果展示。
将本文模型应用于实验测试集,在推文数据集上其分类准确率为0.815 7,在评论数据集上为0.822 6。这一结果表明,对于测试集中的不同文本,本文模型都能够对其是否具有歧视性言论进行有效鉴别并分类。
3 结 语
目前,网络环境的安全是大家所关注的热门问题,歧视性言论的鉴别与分类研究对于健康网络环境的形成有着重要的意义。本文针对歧视性言论的鉴别与分类问题,提出了一种融合双向门控循环单元和多元卷积神经网络的BGM-CNN文本分类模型。实验结果表明,该模型能够有效地提取文本上下文特征,在二分类问题上的分类效果较好。下一步将会对其在多分问题上的分类性能做进一步研究。
贵州省科技计划项目(黔科合LH字[2016]7429号)
贵州大学引进人才项目(2015-12)