徐清越, 左 敏*, 张青川, 蔡圆媛
(1.北京工商大学计算机与信息工程学院, 北京 100048; 2.农产品质量安全追溯技术及应用国家工程实验室,北京 100048; 3.食品安全大数据技术北京市重点实验室, 北京 100048)
核技术利用设备广泛应用于人们生活的方方面面,在使用过程中若不加以防范可能会造成非常严重的后果,设备必须得到及时、精准的监管,因此利用智能化手段辅助监管以确保设备使用安全具有重要意义。建立文本语义分类模型能够大大提高有关部门的监管效率和质量。
近年来,深度学习在自然语言处理(NLP)领域应用非常广泛,且取得了非常不错的成效,它能很好地从语料中挖掘出深度语义信息,实现文本分类。现主要应用于文本语义分类的深度学习神经网络主要循环神经网络(RNN)、长短期记忆神经网络(LSTM)、卷积神经网络(CNN)等。Mikolov等[1]将RNN用于文本分类中,由于RNN能够充分学习文本上、下文信息,所以取得了不错的成果,但RNN面临着梯度消失的问题。为了解决该问题,Liu等[2]建立LSTM文本分类模型,将LSTM应用到文本分类中来,但由于其结构的复杂性, 导致计算需要大量的时间和空间。Kim[3]提出了运用CNN进行文本分类的一种模型。随着CNN在文本分类领域的不断发展,人们发现它能够很好地降低文本特征提取的难度。另外,在CNN文本分类中,不少研究比较了字符级和词语级两种嵌入力度对分类效果的影响,Kim等[4]提出了一种通过字符级CNN来利用子词信息的模型,刘龙飞等[5]用实验证明了中文文本处理中,字符级特征表示的优越性。
此外,Bahdanau等[6]首先将attention机制(注意力机制)应用到自然语言处理领域中,Yin等[7]介绍了CNN和attention的三种结合方式,这是attention机制在CNN中的首次尝试。但目前的attention机制并没有考虑到文本关键词的位置信息。
现提出一种基于位置感知attention机制的字词双路文本语义分类模型,将字符级和词语级两种嵌入粒度的特征向量输入到双路CNN中,避免因为非结构化的、缺少规范的文本语料,造成特征提取不全面而损失的分类精准度,并且引入位置感知attention机制,将文本关键词的重要作用充分发挥,有效提高文本语义分类效果。
核安全是为了核活动、核材料、核设施和放射性物质的安全使用,采取充分和必要的监管、保护、预防等保障措施,防止核安全事故的发生,并且尽可能控制事故引发的放射性后果。现阶段,中国核安全体系基本建成,但还存在着监管手段与标准体系建设落后的问题。
本研究语料人为填写语料,属于非结构化、非标准化语料,且不可避免地存在因人为填写而产生的口语化及因填写人不同而产生的表达差异化。值得注意的是,语料中包含核安全领域专有词汇、法律法规名称等,结构性弱、领域性强、向量化难度大。
1.2.1 增量训练
针对语料中领域专有词汇难以用现有词向量训练工具向量化、分词困难的问题,首先在一个公共开放的预训练模型的基础上进行语料扩充,增加公开的10 GB百度百科语料,并爬取领域词汇百科、新闻语料共2 GB,进行词向量模型的训练,向量维度为128维,窗口大小为5,最小词频为10。此后每隔一段时间,当积累了一定的核技术利用单位的检察建议语料时,对词向量模型再进行增量训练。因为随着时间的推移,未来可能出现新的领域词汇,而且业务情景可能发生变更,持续的增量训练可以使得词向量模型能学习到新词汇的向量表示并适应最新语料的语义关系,更好地将文本向量化,以提升后续算法准确性。
1.2.2 词语向量化
将文本分词处理后,需要将其转化为神经网络能够识别的词向量才能用于训练分类模型,所以向量化的质量对模型性能的好坏有着直接且重要的影响。使用word2vec提取文本语义特征,将其作为双路卷积神经网络的其中一路输入。
word2vec一般分为CBOW(continuous bag-of-words)与skip-gram两种模型,两者都包含输入层、投影层、输出层。CBOW模型是用当前词的上、下文相关词作为输入来预测当前词,而skip-gram是用当前词作为输入来预测上下文词语。训练初始时,每个词都有一个N维随机权重矩阵,随后在训练过程中不断优化,随机权重矩阵也不断更新,训练结束后得到的N维权重矩阵就是该词的词向量。模型结构如图1所示。
图1 CBOW与skip-gram模型示意图Fig.1 Schematic diagram of CBOW and skip-gram models
1.2.3 字符向量化
将文本按照字符级别进行向量化,能够解决因语法句法结构复杂而产生分词不当,从而造成误差或丢失重要特征信息的问题;并且能够避免由人为填写文本的不规范和随机性所导致的特性表达不到位的问题。
现采用拼音编码方式来表示文本中的单个字,并对拼音编码进行向量化作为双路CNN的另一路输入。
将非结构化的检查建议分词后的词语和字符转化为向量后,分别作为模型的输入数据用于训练和预测。现提出一种双路CNN模型,能够将检查建议中提到的违法违规行为特征分别提取,结合两种级别的向量输入,减少重要特征的丢失,得到最终的分类。
卷积神经网络包括一个或多个卷积层和池化层。每个卷积层由一组具有可学习权重和偏差的神经元组成。每个神经元都用一些输入进行非线性运算,旨在从大量样本中自动学习复杂,高维,非线性映射的特征[8]。现提出一种基于位置感知注意力机制的双维度CNN句子分类模型。首先将文本输入按照词语和字符两种级别进行分词,并使用word2vec进行向量化,然后对特征向量分别卷积,对卷积层的输出进行最大值池化,之后全连接两路池化信息得到输出。模型整体结构如图2所示。
图2 模型整体结构图Fig.2 Model overall structure
2.1.1 输入层
作为CNN模型的输入,样本的维度是一致的,故每个句子所含词数应是固定的,现采用90百分位数的方法确定单句词数和字数。假设词数(或字数)的90百分位数为n,不足词数(或字数)n的句子采用零填充,超出词数(或字数)n的句子采取截断措施,抛弃第n个词(或字)之后的部分。
2.1.2 卷积层
卷积层的作用是在输入上进行局部特征的提取,得到高层次抽象特征。针对检查建议的非结构化等语言问题,使用几种不同尺寸的卷积核(filter),并且设置适合的滑动步长(stride),更全面地提取出语义特征。滑动步长越小,提取的特征越多,但考虑到时间效率的问题,一般不取1;滑动步长也不能太大,否则会漏掉一些信息。另外,为避免中间区域提取次数较多,边缘部分提取次数较少,采取padding操作(Pad=1即外围补1圈零)。
假设卷积层输入维度为Win=Lengthin×Widthin,输出维度Wout的计算如下:
Wout=Lengthout×Widthout
(1)
(2)
(3)
式中:Lengthout表示输出层向量的长度;Widthout表示输出层向量的宽度;Filter为卷积核尺寸;Stride为滑动步长,这两项参数的值根据具体实验情况进行设定。此外,设定约束条件Wout=Win,即卷积输出的维度与输入一致,可提高程序可维护性和泛化性。Filter、Stride、确定后,根据约束条件,即可得到Pad。
2.1.3 池化层
卷积层输出后,提取出的特征通常维度较高,运算压力较大。池化层(也叫作下采样层)的作用是对卷积层的输出进行特征压缩。采用最大值池化,即选择原来某个区域的最大值代替表示该区域,并设定过滤器为2×2,步长为2,经过池化处理后,特征矩阵被压缩为原来的1/4,能够在尽可能保留抽象特征的同时有效提高计算效率。
2.1.4 全连接层
双路池化输出后,在全连接层中将所有经池化浓缩后的局部特征重新通过权值矩阵整合到一起,成为完整的特征信息,而后输入到分类器。
2.1.5 合并输出层
合并输出层的每个神经元与双路全连接层的每个神经元相连,从而合并两路的特征信息,然后使用分类器实现分类。此外,为避免对训练集学习能力太好造成的过拟合,设置一定概率的dropout,即在训练过程中将隐含层的部分权重或输出随机归零,从而降低节点间的相互依赖性,提高模型泛化性。
现使用softmax函数作为分类器,将神经元的数值型输出转化为分类相对概率。假设Zi为每一个神经元的数值型输出,yi则为与之对应的分类相对概率,应满足条件:1>yi>0,∑yi=1。yi的具体计算为
(4)
注意力机制最早是在视觉图像领域提出来的,该机制的思想是借鉴了人类的注意力机制,即人类视觉通过注意力聚焦对需要重点关注的区域投入更多注意力资源,且忽略那些无用的信息,这种方法大大提高了信息处理的效率及准确性。在文本分类的问题中,文本中的每个词对分类的影响是不同的(即词的重要性不同),结合注意力机制能够充分发挥文本关键词的影响作用,而在本研究中,针对核安全检查建议的语义分类问题,核辐射领域关键词有着非常重要的影响,关键词周围的临近词也有着不可忽视的作用,因此在注意力机制中引入位置感知,充分利用领域词的位置信息以提高模型性能。
由于用拼音编码的方式进行字嵌入可以避免人工手动填写造成的语义或语法结构误差,并且消除分词环节带来的误差,从而降低分类误差;但词嵌入就不得不考虑到分词和领域关键词对分类结果的影响,因此,在词嵌入时加入位置感知attention机制,这样做可以将领域关键词融入其中,提高分类准确性。
2.2.1 位置感知影响力传播
基于领域关键词的临近词应得到更多注意力的规则,本研究使用高斯核函数[式(5)]来表示位置感知影响力,该函数在信息检索模型中已被证明有效性。
(5)
式(5)中:d为关键词与当前词的距离;δ为一个约束传播范围的参数;Kernel(d)为基于内核距离为d相应的影响力。当d=0时,即当前词就是一个关键词,则得到的传播影响力最大,传播影响力随着距离的增加而减弱;对于传播范围,最优值可能随着此而变化,本研究中用一个常量δ来表示。
2.2.2 位置感知影响力向量
基于关键词对特定距离的影响力遵循隐层维度上的高斯分布的假设,定义影响力基础矩阵为K,矩阵中的每个元素被定义为K(i,d),即在第i维中,与关键词距离为d时相应的传播影响力。且K(i,d)~N[Kernel(d),δ′],即Kernel(d)的期望与标准差δ′服从正态分布,N为正态密度。
利用影响力基础矩阵,并结合所有关键词的累积影响,得到某一位置词语的位置感知影响力向量:
pj=Kcj
(6)
式(6)中:pj为在j位置词语的累积影响力向量;cj为距离计数向量,表示对于在j位置词语、距离为d的所有关键词计数,cj(d)的计算式为
(7)
式(7)中:Q为一条检查建议中包含的多个关键词;pos(q)为关键词q在句子中出现的位置集合;[·]是一个指标功能,条件满足则为1,不满足则为0。
2.2.3 位置感知注意力机制
传统LSTM注意力机制模型中,词语的注意力权重依赖于隐层表示,机制模型如图3所示。
ri表示传统模型求出的注意力分配系数图3 传统LSTM注意力机制模型Fig.3 Traditional LSTM attention mechanism model
该模型没有考虑位置信息,现将位置感知影响力与传统注意力机制结合,突出关键词的重要性,位置感知注意力机制模型如图4所示。
图4 位置感知注意力机制模型Fig.4 Location-aware attention mechanism model
检查建议中,在j位置词语的注意力为
(8)
式(8)中:hj是j位置词语的隐层向量;pj是累积的位置感知影响力向量;len为一句检查建议中词的个数;hk为句子中某词的隐层向量;pk为该词累积的位置感知影响力向量;a(·)为用于测量基于隐层向量和位置感知影响力向量的词的重要性。a(·)的具体形式为
a(i,len)=vTφ(WHhj+WPpj+b1)+b2
(9)
式(9)中:WH、WP为hj、pj的权重矩阵;b1是属于第一层参数的偏置向量;φ(·)=max(0,x)为ReLU函数;v为一个全局向量;b2是属于第二层参数的偏置向量。
求出各位置词语的权重后,加权句子中所有隐层向量,得到最终的注意力分配系数(attention value)ra为
(10)
3.1.1 硬件环境
处理器: Intel i7 8700。
显卡:Nvidia GTX 1080 Ti。
内存:16GB DDR4。
硬盘:1TB SSD。
3.1.2 软件环境
操作系统:Windows10。
编程语言:Python 3.5。
深度学习框架:tensorflow-gpu-V1.0.0。
本研究语料数据来自环境保护部核与辐射安全中心,为监管部门每次对核技术利用单位实行监管检查后,根据检查结果所填写的不合格方面及改正建议(其中包括核设备使用、人员配备等方面的问题指出及部分改进建议)。主要分为许可证、辐射、设备、人员、管理、监管、文件、应急8大类检查建议如表1所示,结果为分层随机5折检查验证得到。
对于神经网络分类模型来说,训练和分类的效果一定程度上取决于超参数设置的优劣。因此,将各参数调整到适合的范围是模型训练的重要工作。现采用贝叶斯优化[9]进行模型的自动调参,输入优化目标函数和参数名称(关键词个数、filter、batch size、学习率等),以及其范围即可进行参数调整,且分为两阶段寻优:给定各参数的范围,全局范围寻优;explore操作,即在第一步找到的最优参数附近仔细寻找,最终得到最优参数组合。调参结果如图5所示。
表1 检查建议数据集
图5 贝叶斯优化调参结果Fig.5 Results of Bayesian optimization tuning
由图5可知,在第7次迭代时,模型精度最高达到98.28%。
使用位置感知注意力机制,旨在突出领域关键词的重要性,帮助提高分类准确性,因此,将本文提出模型和传统注意力机制模型、无注意力机制模型在同一数据集上进行实验,实验结果如表2所示。
表2 位置感知影响力实验结果
可以看到,双路CNN模型和CNN模型相比,准确率更高,说明使用两种嵌入级别得出的特征向量作为输入,能够更加全面地提取到文本特征;传统注意力机制和无注意力机制的模型相比,注意力机制能够帮助分类模型更好地使用文本中的重要特征信息,但这些模型都忽略了关键词的位置信息。关键词的位置信息对于领域文本的分类来说具有非常重要的作用,实验证明,加入位置感知注意力双路CNN文本分类模型具有很好的分类效果。
为更好地说明本文模型的有效性,将本文模型与几种神经网络模型在同一数据集上进行对比实验CNN+attention;RNN+attention;LSTM+attention;文献[10]以网络层次结合的方式设计了CRNN网络(卷积循环神经网络),并引入attention机制,提出一种 Text-CRNN+attention模型,实验结果如表3所示。
表3 各模型对比结果
可以看到,本文提出的模型在文本分类中取得了不错的效果,证实了本文模型的有效性,即证实了结合字符和词语两种级别的嵌入对于全面提取文本特征的有益性;领域关键词的位置信息对于分类的重要性。
根据核辐射监管部门的现实需要,提出了基于词向量注意力机制的双路CNN语义分类模型。模型使用两种嵌入级别的特征表示,并结合位置感知信息实现了监管数据中违法违规行为的自动研判。实验表明,该模型具有良好的特征提取和分类性能。
接下来的工作应在优化网络结构超参数、缩短训练耗时的问题上继续研究与改进,实现对现有模型的进一步优化。