范维克, 张绍阳, 陈博远, 王 珂
(长安大学 信息工程学院, 陕西 西安 710064)
随着深度学习在图像领域的成功运用,带动基于深度学习的自然语言处理(NLP)技术迅速发展,在分词、命名实体识别、机器翻译、信息抽取、阅读理解、自动摘要和分类等任务中取得超越传统模型的效果.
在交通运输现代化中,同样需要自然语言处理NLP技术的支持.近年来,交通运输行业出台了多项信息化标准,诸如术语标准、数据标准、编码标准、代码标准、安全标准和管理标准等.标准是保证信息系统实现信息共享、避免重复建设、发挥投资效益的重要手段.但在标准实施过程中,存在业务人员掌握程度不够、实施效果难以检测等问题.为此,交通运输行业编制了《交通运输信息系统一致性与测试》标准,在该标准中,提出基于一致性条款和ICS(implementation conformance statement)问卷的一致性测试方案.一致性条款可以有效表达标准文本中的主要规定,并可根据这些信息生成调查问卷.利用问卷,可以开展一致性检查和测试.但人工实现条款抽取具有工作量大、更新不及时等问题.
文本分类是将文档组织成预定类的任务.文本分类是语言处理和文本挖掘领域研究的热点.现有的分类方法可归结为基于领域知识的方法、基于语料库的方法、基于深度学习的方法、基于词/字符序列的增强和语言学丰富的方法[1].现有的文本分类可分为长文本分类和短文本分类,短文本分类多用于影片评论、微博评论、餐饮评论等情感极性分析,以及医学领域的病情分析分类.
交通信息标准中规定大多是短文本,例如: ① 车载设备应包括安全门遥控装置; ② 密码键盘应至少具有10个数字键和若干功能键.传统的词袋(BOW)模型和热独向量(one-hot)不能直接应用于短文本表示,它们都使用高维和稀疏向量表达文字,丢失了文本的上下文信息,并面临着维数的灾难.根据分布假设,同一语境中出现的词往往具有相似的语义,T. MIKOLOV等[2]提出了Word2vec模型,包括Skip-gram和CBOW(continousous bag of words)模型.Skip-gram和CBOW方法都定义了一种从简单的原始语料库创建无监督学习任务的方法.CBOW模型根据上下文训练每个单词,Skip-gram则针对单词训练每个上下文.J. PENNINGTON等[3]提出了单词表示的全局向量(Glove).Word2vec和Glove模型由于考虑了上下文信息来获取密集的低维实值向量,从而克服BOW模型的缺点,得到了广泛的应用.
随着神经网络的发展,许多研究开始采用神经网络模型来提高准确性.R. SOCHER等[4]提出了矩阵向量递归神经网络模型的语义组合性和递归神经网络,无需关系句子的语法结构.之后卷积神经网络(CNN)模型开始用于句子的分类任务.张小川等[5]提出基于结合词性概率改进的双通道CNN进行文本分类工作.SONG J. Y.等[6]提出基于聚类的SVM分类方法.LIU T. F.等[7]提出RNN结合注意力机制和CNN网络进行句子的表示和分类.WANG P.等[8]提出的基于语义聚类的CNN模型和SHEN Y.等[9]提出基于语义聚类扩展的CNN模型,用于处理医疗短文本的分类.融合模型也开始逐步应用,李洋等[10]、陈洁等[11]将CNN与BLSTM(bidirectional long short-term memory)网络并行融合用于文本的情感分析,CNN提取文本局部特征RNN提取文本的全局特征.ZHOU C. T.等[12]提出使用C-LSTM (convolution LSTM)进行文本的分类任务,利用CNN提取局部特征后再通过RNN进行分类.
在短文本分类中,文本表示的好坏是获得更好的文本分类性能的关键.近些年,基于神经网络模型的字词级表示逐渐应用.神经网络字嵌入技术利用神经网络技术对上下文及其与目标词之间的关系进行建模,使其映射到低维向量空间.为将文本更好表示,需要对现有网络模型进行改进和优化.在交通条款分类中同样面临这样的问题,笔者针对短文本的应用进行改进,提出基于改进的BLSTM和CNN的链式混合神经网络模型,对文本进行加强表示和文本分类进行研究.
数据集的构建以需求领域的目标为导向,需求是领域数据集构建的起点,构建数据集的首要任务是明确领域分析的需求,建立目标与数据集间的联系,确定数据集所涵盖的要素及内容[13].所用数据由交通信息标准中抽取,根据标准的编排结构建立了一套抽取框架,可以将标准的主要信息抽取出来然后进行人工标注分类.
根据需求,交通信息标准条款分为3大类: ① 一致性问题类(判断系统是否与标准符合,主要是一致性条款和核心条款,建成的系统工程是否符合相关规范); ② 知识性问题类(测试标准的问题,比如进行培训考察受训人员是否真正掌握相关的内容); ③ 其他类.如表1所示.
表1 交通信息标准条款的分类
通过建立语料数据库,对语料库中文本的长度进行统计,结果如图1所示.通过统计超过98%的文本字符个数低于150个,且通过提前统计分析为接下来的模型参数设置做好预备工作.
图1 交通信息标准条款长度分析
根据前文语料来源的介绍,获取的语料包含了3 000条数据,共7 347个词汇.将这些词汇通过Skip-gram算法进行向量化处理.在训练时将其中的90%作为训练集,10%作为测试集.
为解决未登录词(out of vocabulary,OOV)问题,将采用随机初始化方式来代表未出现在训练语料中的词汇,另外使用0值向量来表示添加的标志符号.
通过对未登录词随机初始化和零向量表示测试比较,发现采用随机初始化未登录词可以获得更好的分类结果,因此在下文试验中,采用随机初始化表示未登录词.对于长词汇可能被错误得分为几个短的词汇,为此建立了一个交通词汇字典,根据搜集到的交通信息标准和先前网络爬虫获取的交通领域语料.HanLP工具被用来进行词汇的分割,该工具允许利用自定义的字典.
在自然语言处理中,大多数数据都是以序列数据的形式出现.原始的神经网络并不适合处理这种类型的数据,而循环神经网络正适合序列处理.传统的文本表示表达的信息有限,循环神经网络通过获取全语句信息使文本向量表示更加准确.卷积网络已经被证明在捕捉局部特征时十分有效,可用于分类.
针对短文本的应用进行改进,提出的基于改进的BLSTM和CNN的链式混合神经网络模型如图2所示,采用双向长短时记忆网络对文本进行加强表示和卷积神经网络对文本进行分类.
图2 提出的混合模型
循环神经网络RNN内部特有的定向循环结构,允许其对前后相关的、非定长输入序列进行处理.RNN 网络内部隐含层节点间相互连接,即隐含层某一节点的读入不只与当前输入相关,更与上一时刻隐含层的输出相关.但RNN存在着一个问题:随着时间的推移,新的信息一直在不断输入,各节点受到最初时刻输入信息的影响也变得越来越小,在处理最后时刻的信息时,基本已经无法对最初的信息输入加以利用.究其原因是经过多个阶段传播后梯度倾向于消失或爆炸.为解决这一问题,引入长短时记忆网络LSTM(long short-term memory).但仅单向LSTM同单向RNN无法学习使用到目标词的下文信息,只能学习目标词的上文信息.为解决该问题,所提模型使用BLSTM取代LSTM,既克服了梯度消失或者梯度爆炸的问题,又能充分考虑当前词的上下文语义信息.
延拓前后对比,向上延拓后(图6)测区西侧的两个异常合并为一个异常,异常峰形态、规模与延拓前大致相似,梯度变化仍较大,异常峰中心形态较为宽缓,且峰值衰减较慢,反映了引起西侧磁异常的磁性体体积较大,且埋深较深;异常东侧2个异常延拓后逐渐消失,衰减很快,反映引起东侧磁异常的磁性体体积较小,且埋深较浅[10]。
图2左半部分,首先是词嵌入(embedding)层,将输入的文本转换为矩阵,即词向量wi,矩阵的列是词向量的维度,且每一个词向量维度为100维,矩阵的行为文本的长度,接着为BLSTM层.
首先,对于单向的LSTM层,假如输入序列x=(x1,x2,…,xT),T为输入历史序列的时间步数,则LSTM门机制中各个门和记忆细胞的表达式如下:
it=σ(Wihht-1+Wixxt+bi),
(1)
ft=σ(Wfhht-1+Wfxxt+bf),
(2)
ot=σ(Wohht-1+Woxxt+bo),
(3)
gt=tanh(Wghht-1+Wgxxt+bg),
(4)
ct=ftct-1+itgt,
(5)
ht=ottanhct,
(6)
式中:it,ft,ot分别为输入门、遗忘门、输出门;gt为当前时刻新候选值;ct为当前时刻的长期记忆;ht-1,ht分别为前层隐藏状态和当前层隐藏状态;Wih,Wfh,Woh,Wgh,Wix,Wfx,Wox,Wgx为权重;bi,bf,bo,bg为偏重.
卷积神经网络(CNN)进行文本分类如下: ① 将向量化的文本c进行卷积操作,采用大小为r*k的卷积核,产生特征矩阵; ② 进行池化操作,池化操作有平均池化和最大池化,通常采用最大池化.将池化之后的结果进行拼接作为下一层的全连接层(full-connection)的输入; ③ 使用softmax进行最终的分类.
图2中间部分为卷积层和池化层.在卷积操作之后采用最大池化操作从而获得文本的表示m.卷积操作中,将上一部分获得文本表示c作为卷积的输入.采用的卷积公式为
vi=f(W*ci:i+l-1+b),
(7)
式中:f(·)为非线性激活函数,在此选择ReLu作为激活函数;ci:i+l-1为c中从i到i+l-1共l行文本,l为卷积核的大小;权重W和偏重b为训练参数.
m=maxV,
(8)
式中:V为式(7)卷积操作后获得的向量表示.
图2右半部分,在最大池化之后是全连接层.将经过最大池化操作后的文本向量m作为全连接的输入.在全连接层需要使用dropout机制,该机制可以在每次迭代过程中,随机放弃部分训练好的参数,能够防止过拟合,因为dropout使权值更新不再依赖某些固有特征.最终在全连接变换之后,有一个softmax分类器来预测文本所属类别的概率pk,pk为softmax层的输出,然后可以由argmax得到文本的预测,即
(9)
式中:yk为全连接层和softmax层之间转换的输出;N为分类类别的数量.
模型参数设置如下:BLSTM 的输入词向量维数分别为100,200维,隐藏层分别为单层、双层,神经元的数量分别为64,128个; CNN的参数滑动窗口大小分别为3×3,4×4,5×5,7×7,滑动窗口数量分别取 100,150,200 个;dropout 的比例分别为0.3,0.5,0.6.通过对比以上参数对模型准确率的影响,得到采用词向量维度为100维、BLSTM层数为2 层、隐藏层神经元的数量为128和64个、滑动窗口大小为3×3和5×5、dropout的比例为0.5的参数效果较好.其他参数如下:CNN卷积的步长stride大小设置为1;padding 为Vaild;损失函数使用交叉熵;激活函数使用Relu;学习率取0.001.
为验证提出的混合模型的分类效果,分别将混合模型与经典的模型进行比较,共进行了4组对比试验.
第1组:将提出的混合模型与CNN单模型、BLSTM单模型进行对比.在相同的数据集上,保持模型中的CNN和BLSTM参数与CNN单模型、BLSTM单模型参数相同,均为表2中的参数值,结果表明混合模型在交通信息标准信息条款分类任务上比单模型 CNN和BLSTM效果好.
第2组:将提出的混合模型与C-LSTM模型进行对比.模型构建的思想源于ZHOU C. T.等[12]提出的RCNN模型,将BLSTM模型和CNN模型以链式方式构建,CLSTM 先采用CNN提取文本局部特征,再将获得的特征输入到LSTM中进行文本类别的判断.
第3组:将提出的混合模型与CNN+LSTM模型进行对比.模型构建的思想源于李洋等[10]提出的并行神经网络模型,将BLSTM模型和CNN模型以并行方式构建,CNN和LSTM分别提取文本的局部特征和全局特征,然后将特征编码合并后进行分类.
第4组:将提出的混合模型与传统SVM模型进行对比.SVM分类算法通过对文本进行特征提取、特征表示和量纲一化输入到SVM中学习分类决策函数从而获得文本的类别.
通过试验可知,TF-IDF+SVM模型准确率为83.22%,单CNN模型和单BLSTM模型准确率分别为92.37%和91.44%,混合模型C-LSTM准确率为90.27%,CNN+LSTM准确率为93.39%,提出的混合模型为93.77%.通过比较,可以发现提出的混合模型与单CNN模型的分类、单BLSTM模型相比分类准确率分别提升1.40%和2.33%.验证了利用BLSTM提取文本全局特征与原词向量的结合可以增强文本向量的表示,再利用CNN模型提取文本特征,可以得出比用单一模型更好的分类效果.与其他混合模型比较,比C-LSTM模型准确率提升了3.50%,比CNN+LSTM模型准确率提升了0.38%;最后与传统的机器学习SVM回归模型对比,神经网络模型分类效果都明显优于SVM;综合对比,神经网络模型比传统模型取得了更好的分类效果,但提出的混合模型取得效果最佳.因此,提出的混合模型在提高文本分类的准确率上有效.
不同神经网络模型的准确率和损失值的对比如图3,4所示.从图3可以看出:提出的混合模型在交通信息标准条款语料测试集上的收敛速度慢,但准确率均高于CNN,BLSTM模型及另外的混合模型.从图4可以看出: CNN,BLSTM模型和混合模型C-LSTM,CNN+LSTM模型的损失值达到稳定值的速度比提出的混合模型要快,但损失值最终都到了一个稳定值,提出的混合模型可以取得较好收敛效果.
图3 模型准确率对比
图4 模型损失值对比
1) 提出了一种基于BLSTM和卷积神经网络的链式混合模型用于文本分类研究,该模型利用BLSM神经网络来对文本进行加强表示,充分利用词的上下文语义信息,再利用卷积神经网络提取文本的特征.
2) 将提出的混合模型与CNN单模型、BLSTM单模型在交通信息标准条款语料中进行了对比试验,结果表明,所提模型分类准确率优于CNN、BLSTM模型.进行了混合模型C-LSTM和CNN+LSTM并行网络及逆行对比试验,与传统的TF-IDF结合SVM进行了比较,结果表明,提出的混合模型在分类效果上更优.
3) 提出的混合模型有效提升了文本分类的准确率,但目前自然语言处理任务特征提取趋向采用Transformer,未来将采用Transformer特征提取器在文本分类任务中的使用和对准确率的影响进行研究.