APP下载

基于BLSTM-Attention神经网络模型的化工事故分类①

2020-11-13郑利杰杜军威

计算机系统应用 2020年10期
关键词:化工向量神经网络

葛 艳,郑利杰,杜军威,陈 卓

(青岛科技大学 信息科学技术学院,青岛 266061)

随着化工领域的迅速发展,由于化工生产品中易燃易爆、有腐蚀性、有毒的物质比较多,化工事故也在频频发生[1].因此,有必要对发生的化工事故进行分析,知道是哪些行为、哪些物品或者哪些事件造成了化工事故的发生.这对化工事故的监管,预警以及处理等方面有着重要意义.

文本自动分类是信息处理的重要研究方向[2].目前分类方法有很多,常用的有朴素贝叶斯Naive-Bayes、卷积神经网络CNN、循环神经网络RNN 等分类方法.

罗慧钦针对朴素贝叶斯模型属性间条件独立假设不完全符合实际的问题,提出只考虑属性间的依赖关系的基于隐朴素贝叶斯模型的商品情感分类方法[3].但朴素贝叶斯模型无法根据文本上下文的语义信息做出有效的特征提取.

CNN 在很多自然语言处理任务中得到较好的结果.Kim Y 等人用CNN 完成文本分类任务,具有很少的超参数调整和静态向量,在多个基准测试中获得较好的结果[4].Zhang X 等人使用字符级卷积网络(ConvNets)进行文本分类,并取得了较好的结果[5].但由于CNN模型需要固定卷积核窗口的大小,导致其无法建立更长的序列信息[6].

Auli 等人提出了基于循环神经网络的联合语言和翻译模型[7].邵良杉等人基于LSTM改进的RNN 模型实现互联网中在线评论文本的情感倾向分类任务.RNN 能够解决人工神经网络无法解决的文本序列前后关联问题,但无法解决长时依赖问题[8],并且存在梯度消失问题,对上下文的处理受到限制[9].

长短期记忆网络(Long Short-Term Memory,LSTM)[10]是一种时间递归神经网络[3],也是一种特定形式的RNN (Recurrent Neural Network,循环神经网络).可以解决RNN 无法处理的长距离依赖问题,但容易造成前面的信息缺失以及不同时刻信息的重要度得不到体现[11].万胜贤等人提出局部双向LSTM 模型,对高效的提取一些局部文本特征有重要意义[12].LSTM 和双向LSTM是典型的序列模型,能够学习词语之间的依赖信息但不能区分不同词语对文本分类任务的贡献程度[13],有效的表达文本语义特征[14].

Attention 机制[15]的一大优点就是方便分析每个输入对结果的影响,可以自动关注对分类具有决定性影响的词,捕获句子中最重要的语义信息,而无需使用额外的知识和NLP 系统[16].另外,Attention 机制[15]在关系抽取任务上也有相关的应用[17].

针对以上分析,本文提出一种基于Attention 机制的BLSTM (BLSTM-Attention)神经网络模型对化工新闻文本进行特征提取,实现事故文本分类.模型的BLSTM 层实现对文本上下文语义信息的高级特征提取;在BLSTM 层后引用Attention 机制实现对不同词和句子分配不同权重,合并成更高级的特征向量.

化工事故新闻数据包含新闻内容,标题信息以及新闻来源等多个方面的信息,其中,新闻内容的文本对上下文具有较强的依赖性.另外,事故新闻数据集有其独有的一些特征,有些分类算法在化工领域数据集上并不完全适用.本文选取清洗完成的化工事故新闻标题、内容作为分类的依据,新闻来源作为新闻的可靠性分析依据.将本文的模型分类方法与Naive-Bayes、CNN、RNN、BLSTM 方法在相同的化工事故新闻数据集上进行实验对比.实验结果表明,本文提出的BLSTM-Attention 神经网络模型在化工事故新闻数据集上的效果要更优于其他方法模型.

1 BLSTM-Attention 神经网络模型

本文将Attention 机制与双向LSTM 神经网络相结合,构成BLSTM-Attention 模型,该模型由4 个部分组成:(1)输入层:输入训练好的词向量;(2)BLSTM 层:根据输入层的信息获取高级特征;(3)Attention 层:产生权重向量,并通过乘以权重向量,将每个时间步长的词级特征合并为句子级特征向量;(4)输出层:根据从Attention 层获得的输出信息完成分类任务并输出结果.模型结构如图1所示.

图1 BLSTM-Attention 神经网络模型

1.1 输入层

给定一个由t个句子组成的训练文本d,即d={S1,S2,···,St},每个句子S又由n个词语组成,则Si={w1,w2,···,wt}.本文利用Word2Vec 对数据进行向量化,得到向量化表示的词语xt作为BLSTM 层的输入,称为词向量w∈ℜd,通过输入层实现文本向量化.

1.2 BLSTM 层

LSTM 网络信息的更新和保留是由输入门、遗忘门、输出门和一个cell 单元来实现的.长短时记忆网络的基本思想是在原始的RNN 隐藏层只有一个对短期输入非常敏感的状态,即隐藏层h基础上再增加一个状态单元c(cell state)来保存长期状态.

输入门(input gate)决定了当前时刻网络的输入xt有多少保存到单元状态ct,可以避免当前无关紧要的内容进入记忆.表示为:

其中,Wxi,Whi,Wci表示输入门it所对应的权重矩阵;xt表示输入的词向量;ht−1表示LSTM 层上一时刻的输出结果;ct−1表示上一时刻的状态;bi表示一个常数向量.

遗忘门(forget gate)决定了上一时刻的单元状态ct−1有多少保留到当前时刻ct,可以保存很久很久之前的信息.表示为:

其中,Wxf,Whf,Wcf表示遗忘门ft所对应的权重矩阵;bf表示一个常数向量.

输出门(output gate)控制单元状态ct有多少输出到 LSTM 的当前输出值ht,可以控制长期记忆对当前输出的影响.表示为:

其中,Wxo,Who,Wco表示遗忘门ot所对应的权重矩阵;bo表示一个常数向量.

当前时刻状态单元的状态值由ct来表示:

其中,cm表示候选状态单元值,公式表示为:

其中,Wxc,Whc,Wcc表示选状态单元值cm所对应的权重矩阵.

本文采用的BLSTM 神经网络包含了两个隐藏层,这两个隐藏层之间的链接是以相反的时间顺序流动的,所以它是分别按前向与后向传递的.自前向后循环神经网络层的公式表示为:

自后向前循环神经网络层的公式表示为:

BLSTM 层叠加后输入隐藏层公式表示为:

1.3 Attention 层

考虑到不同词对文本的贡献不大相同,本文采用能够通过分配不同的注意力来获得较高的权重的Attention 机制来对重要词语和句子进行特征提取.Attention 机制结合BLSTM 模型将利用每个时刻下状态和最终状态,计算得到每个时刻状态的注意力概率分配,以此来对最终状态进行更进一步的优化,得到最终的文本特征,并将Attention 机制接入全连接进行分类.首先对BLSTM 层的输出信息yt通过非线性变换得到隐含表示uit;然后,经过随机初始化注意力机制矩阵uw与uit进行点乘运算得到Attention 层的词级别权重系数 αit,并最终得到句子特征向量sit,表示为:

其中,Ww为权重矩阵,bw为偏置量.

同样,采用与词级别相同的方式对文章贡献不同的句子赋予不同的权重参数,通过句子级的Attention机制得到文章的特征向量.具体表示为:

1.4 输出层

本文采用计算简单,效果显著的Softmax 分类器对经过Attention 机制得到的文章特征向量vt进行归一化得到预测分类.表示为:

另外,本文采用正则化的方法来提高模型的泛化能力,防止出现过拟合的情况.目标函数用带有L2 正则化的类别标签y的负对数似然函数,表示为:

其中,ti是独热编码(one-hot represented)表示的基础值;yi∈ℜm是每个类的估计概率,m是类别的个数;λ是L2正则化超参数.

2 实验

2.1 实验数据

本文采用Python 程序爬取各大网站得到的4 万多条事故新闻作为语料库.语料库中包括事故标题、事故内容以及新闻来源等信息,本文选取事故标题、事故内容作为事故类型分类的依据.由于网站信息杂乱,新闻的重复报道以及与化工事故相关性不大等原因使得评论中存在较多的噪声数据,为保证实验质量对数据进行了清洗.通过相似度计算,打标签等方法对数据进行预处理,清洗去掉重复以及非化工事故新闻3 万4 千多条噪声数据,选取10 314 条数据进行实验.数据统计如图2所示.

图2 数据统计

图2横坐标表示事故类别,纵坐标表示每一类别的个数.化工事故的类别基本分为5 大类:爆炸,火灾,泄露,中毒以及其他.根据化工领域常举行化工事故演练来加强官兵快速反应能力和实战能力,新增了演练这一类别,能够训练模型将事故与演练区分开,防止因为事故演练而做出错误事故的分析.这样大大提升了我们对事故分析的准确性和有效性,同时也提高了分类的准确性.表1对数据做了进一步说明.

表1 数据说明

本文将新闻标题以及新闻内容作为模型的输入,考虑到标题所包含的信息量比较少,将获得的分类结果按照2:8 的比重进行计算作为分类的最终结果.另外,由于新闻来源杂乱繁多,通过打标签的方式将其分为4 类:省级以上、省级、地市级以及其他类别,并对其进行打分.新闻来源的可靠性通过其得分来判断,化工事故新闻数据文本的得分情况如图3所示.

图3 新闻数据得分

图3的横坐标表示新闻的得分,纵坐标表示获得相应分数的新闻个数.从图3看出,新闻得分为0 的新闻数并不是很多,大多数的新闻都有可靠的来源,具有较强的可靠性.

2.2 参数设置

本文采用Adam 优化方法,其学习率设为0.001;经过多次实验后选取结果最优参数设置:迭代次数设为20;词嵌入维度设为200;神经元个数为[256,128].为了防止过拟合现象,目标函数加入L2 正则化项,正则化的因子取值设为10–5;另外,还加入dropout 策略,并把它应用在输入层和BLSTM 层,经过多轮试验,当dropout rate 为0.5 的时候,模型能够达到比较好的性能.根据实验过程中的最佳实验效果选取各个模型的参数,具体参数设置如表2所示.

本文采用jieba 分词工具对数据做分词处理,Word2Vec 训练数据产生所需要的词向量.网络模型设置好之后,不需要借助GPU 在自己的电脑上就能够实现,实现成本低,运算复杂度并不高.另外,本文采用准确率和F1 值来评估模型效果.

表2 模型参数设置

2.3 实验结果

图4、图5分别表示BLSTM 和BLSTM-Attention神经网络模型在模型训练时损失值随迭代次数的变化图.

图4 BLSTM 模型训练损失变化图(10314)

图5 BLSTM-Attention 模型训练损失变化图(10314)

从图4和图5中可以看出函数损失值是逐渐下降的,并且最终趋于稳定收敛状态.BLSTM-Attention 模型与BLSTM 模型相比,起始的损失值相差不大,但收敛速度明显增加,也更加稳定,并且最终收敛的损失值较小.

为了验证BLSTM-Attention 神经网络模型的有效性,与Naive-Bayes、CNN、RNN 以及BLSTM 方法模型在相同的数据集上做对比实验,实验结果如表3所示.

表3 不同分类模型的平均分类结果比较

2.4 实验分析

从表3的各个模型的对比实验结果能够看出,在相同的数据集上,除了RNN 的实验效果较差,以Word2Vec 训练的词向量作为文本特征的其他分类实验结果的效果都不错.能够说明Word2Vec 训练的词向量可以很好地描述文本特征.

BLSTM 神经网络模型相较于其他分类模型的分类效果更好,这也说明BLSTM 模型在学习词语之间的依赖信息和反映文本上下文语义信息上有着重要作用.

BLSTM-Attention 模型与BLSTM 模型相比,实验结果表明Attention 机制对不同词语和句子所分配的权重对文本的特征提取有一定的意义,提升了文本分类的准确度.

3 结束语

为了解决化工新闻文本的语义特征提取及对上下文的依赖问题,本文提出一种应用于化工事故领域的基于双向LSTM-Attention 机制的神经网络模型.BLSTM-Attention 模型能够实现对词语之间以及句子之间的特征学习和提取,并且通过Attention 机制对不同的词语和句子分配不同的权重.

本文采用Word2Vec 对清洗好的数据训练得到词向量;将BLSTM-Attention 神经网络模型与 Naive-Bayes、CNN、RNN 以及不加Attention 机制的BLSTM方法模型在相同的化工数据集上做对比实验.实验结果表明,Word2Vec 训练的词向量可以很好地描述文本特征.另外,相较于Naive-Bayes、CNN、RNN 以及不加Attention 机制的BLSTM 方法模型,BLSTMAttention 模型能够实现对词语之间以及句子之间的特征学习和提取,并且通过Attention 机制对不同的词语和句子给予不同的关注度,对提高分类性能有一定作用.本文提出的BLSTM-Attention 模型能够更有效地提取出文本特征,对于文本分类效果有一定的提升.

猜你喜欢

化工向量神经网络
《化工管理》征稿简则
《化工管理》征稿简则
《化工管理》征稿简则
《化工管理》征稿简则
基于神经网络的船舶电力系统故障诊断方法
向量的分解
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
聚焦“向量与三角”创新题
三次样条和二次删除相辅助的WASD神经网络与日本人口预测