APP下载

基于ERNIE-RCNN模型的中文短文本分类

2022-06-29王浩畅孙铭泽

计算机技术与发展 2022年6期
关键词:特征提取卷积向量

王浩畅,孙铭泽

(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)

0 引 言

文本分类(text classification)是自然语言处理(natural language processing,NLP)学科的一门重要研究方向,而短文本分类则是文本分类的一个重要分支。随着自然语言处理技术研究的不断深入,文本分类算法研究也获得了巨大突破[1]。文本分类由最初依靠人工进行规则提取方式,转向基于机器学习的自动分类方式,通过机器学习方法提取文本分类规则进行自动分类,将机器学习算法应用到文本分类领域[2]。

文本分类过程一般包括:文本预处理、特征提取、模型选择、损失函数计算、测试评估[3]。文本分类方法经过长期的研究在很多场景下已经得到了应用,但是短文本分类研究起步比较晚,且一直没有什么通用的、效果良好的方法。短文文本分类一般存在两个问题,其一是短文本提供的词语少,提供的有效信息有限;其二是根据分词结果构建的词频或者特征矩阵稀疏,大多数算法重点放在处理稀疏矩阵,效果都不好。因此短文本分类重心放在特征处理和分类算法环节上,就需要加深对深度学习模型的研究。

深度学习模型在文本分类上表现出了相对较好的分类效果,得益于模型在复杂特征提取和文本表示方面有着更强大的能力[4]。例如,快速文本分类FastText[5]模型,具有模型结构简单、训练速度快的特点,能够处理样本数量大、类别标签多的任务,文本分类任务中将整篇文档的词叠加得到文档向量。卷积神经网络(convolutional neural network,CNN)文本分类模型TextCNN[6],简化了卷积层,具有参数数目少、计算量少、训练速度快等优势。在循环神经网络(recurrent neural network,RNN[7])和CNN基础上,Lai S[8]等提出了一种循环卷积神经网络(recurrent convolutional neural network,RCNN)分类方法,汲取了RNN和CNN共同的优势,具有训练时间更短、训练速度更快、处理样本更多等优势,采用双向循环结构,能最大程度捕捉下文信息,极大提高了分类的准确率,分类效果更明显。

近年来,随着深度学习的发展,使得预训练语言模型受到广泛关注,预训练模型是利用训练好的词向量初始化网络文本表征问题。当前最好的预训练模型有Bert[9]、ERNIE[10]模型。李可悦等[11]提出基于BERT的社交电商文本分类算法,采用BERT预训练语言模型,完成社交电商文本句子层面的特征向量表示,有针对性地将获取特征向量输入分类器进行分类,能够高效准确地判断文本所描述商品的类别。邢照野等[12]提出基于改进ERNIE模型的中文文本分类,通过利用知识增强的语义表示预训练模型生成基于上下文信息的词向量,有效提高了中文文本分类性能。

伴随文本分类技术的成熟,对于短文本分类技术的需求日益突显,一些研究者陆续开始着重短文本分类技术研究。王玉燕等[13]针对短文本存在篇幅短、特征稀疏、主题多变等问题,提出基于深度学习的短文本分类技术,采用CNN和RNN系列模型,结合场景需要,应用到文本分类方案中,通过实验验证,各个模型都表现出了更好的性能。吕飞亚等[14]针对短文本分类中存在特征表示高维稀疏、语义分布不明显、上下文语意联系不强等问题,会对信息抽取造成困扰,提出了基于BiLSTM与Bert的短文本分类方法,其中BiLSTM层获取更多上下文不同距离的语义信息,注意力机制层对经过的编码数据进行转变加权提升序列的学习任务。

段丹丹等[15]针对短文本分类算法存在的特征稀疏、用词不规范和数据海量问题,提出一种基于Transformer的双向编码器表示BERT的中文短文本分类算法,使用BERT预训练语言模型对短文本进行句子层面的特征向量表示,将获得的特征向量输入到Softmax回归模型进行训练分类。齐佳琪等[16]针对短文本分类中存在的长度短、数据海量、文本噪音大等问题,提出了ERNIE词向量与深金字塔卷积神经网络模型的短文本分类研究,运用ERNIE实体掩码方式捕获词汇和语义信息,使用卷积神经网络进行特征提取,取得了很好的分类效果。

根据以上研究,该文针对短文本存在的特征词少、规范性少、数据规模量大的难点,提出将ERNIE预训练模型与RCNN模型进行融合的短文本分类方法。该模型以ERNIE作为词向量,对实体和词语义单元掩码,后连接Transformer[17]的Encoder层,对ERNIE层输出词嵌入向量进行编码,优化模型过拟合问题,增强泛化能力,RCNN模型对ERNIE输入的词向量进行特征提取,卷积层利用大小不同的卷积核提取大小不同的特征值,池化层进行映射处理,最后通过softmax进行分类,提高了中文短文本分类性能。

1 基于ERNIE-RCNN模型的中文短文本分类

1.1 ERNIE模型

ERNIE模型是一种基于知识增强策略的持续学习语义理解模型,通过不断吸收大量文本数据里的结构、语义、词汇等知识,实现模型效果不断进化。与BERT相比,ERNIE也是由微调和预训练两部分组成,不同的是其预训练过程利用了更丰富的语义知识和语义任务,在多个NLP任务上效果显著。ERNIE模型结构是经过多层、双向Transformer编码和ERNIE词向量构成,如图1所示。

图1 ERNIE模型

由图1模型看出,E1,E2,…,EN表示文本输入,经过Transformer编码后,输出ERNIE词向量。在整个预训练过程中,ERNIE使用的数据是对整个词语进行屏蔽,从而学习到词与实体表达。

1.1.1 ERNIE结构详解

ERNIE结构是由12个Encoder组成,从输入上看第一个输入是一个特殊的CLS,CLS表示的是分类任务。底层是单词输入,其中共有768个隐藏单位,对输入的单词通过Mask机制进行中文实体掩码,然后把结果传输到下一个Encoder层,最后输出结果。

1.1.2 ERNIE Encoder模型结构

ERNIE Encoder基本上是Transformer的Encoder部分,并且Encoder在结构上全部是一样的,但并不共享权重。ERNIE Encoder结构如图2所示。

图2 ERNIE Encoder结构

由图2可以看出,最下层输入的是embedding的向量,然后经过一个位置信息的嵌入,输出到多头自注意力机制层,进行多头自注意力计算。接下来ERNIE Encoder的输出会经过一层Add&Norm层,Add表示对来自多头自注意力机制层的输入和输出进行残差连接,Norm表示对输入和输出进行归一化处理,归一化处理后的结果会传入前馈神经网络层。然后再经过一层Add&Norm层,通过同样的处理后会输出归一化的词向量列表。

1.2 构建RCNN模型

RCNN是卷积神经网络用于目标检测的模型,其中CNN具有良好的特征提取和分类回归性能。算法步骤如下:(1)候选区域选择;(2)CNN特征提取;(3)分类与边界回归。RCNN模型如图3所示。

1.2.1 候选区域选择

候选区域选择是一种传统的区域提取方法,方法用的是选择性搜索(selective search,SS[18])方法,SS用来查看现有的小区域,合并两个最有可能的区域,然后重复操作,最后输出候选区域。候选区域一般为1k~2k左右,可理解为将信息划分为1k~2k个网格,之后再对网络进行特征提取或卷积操作。

1.2.2 CNN特征提取

CNN特征提取可以再次提取文本中的关键信息及深层结构信息,且CNN可以并行运行,能够加快训练速度。如图3所示,CNN由若干个卷积层、池化层、全连接层组成。卷积层会将Encoder层输出的向量提取出不同长度词语的信息和结构信息。如输入一个句子,卷积层首先会对这个句子进行切分,假设C1~Cn为1到n个单词,对每个单词进行词嵌入,可以得到X1~Xn词向量。假设词向量共d维,将X1~Xn词向量拼接(X1,X2,…,Xn),那么对于这个句子便可以得到n行d列的矩阵X。

图3 RCNN模型

文本生成的词向量通过拼接构建成的句子向量是二维向量,因此卷积过程可由如下公式表示:

s(i,j)=(X,W)(i,j)=

式中,X为卷积核,W为被卷积矩阵,m为对应矩阵的词向量行数,n为矩阵的维数,i和j为映射后的行和列,s(i,j)为卷积和W对应的输出矩阵的对应位置元素的值。

池化层会对卷积层获得的特征值进行特征映射处理,由于不同尺寸的卷积核得到的特征值大小是不一样的,因此池化层会对每个特征图使用池化函数,使得它们的维度相同,最常用的就是最大池化层,提取出特征图句子的最大值,这样卷积核得到的特征就是一个值,然后对所有的卷积核使用最大池化层,最后经过全连接层把所有卷积核连接起来,就可以得到最终的特征向量。为了防止过拟合,全连接层还引入了drop out机制。

1.2.3 分类与边界回归

分类与边界回归共有两个子步骤:第一个是对前一步的输出向量进行分类;第二个是通过边界回归框回归获得精确的区域的信息。目的是准确定位和合并完成分类的预期目标,并避免多重检测。

1.3 ERNIE-RCNN模型建立的具体步骤

步骤1:对输入的数据集进行预处理,得到输入文本,记为E=(E1,E2,…,Ei,…,En),其中Ei(i=1,2,…,n)表示文本的第i个字。

步骤2:将每个Ei输入到ERNIE预训练层,进行Mask掩码,然后经过Transformer编码器编码后,将文本E进行序列特征化,输出文本Wi=(W1i,W2i,…,Wni),其中Wni表示文本中第i句中的第n个词的词向量,将W1~Wn词向量拼接(W1,W2,…,Wn),得到矩阵W,即ERNIE词向量。

步骤3:将ERNIE词向量输入到RCNN模型,RCNN模型经过再次特征提取,将ERNIE输入的词向量W经过卷积层操作,输出Xi=(X1i,X2i,…,Xni),将X1~Xn词向量拼接(X1,X2,…,Xn)得到的矩阵X,然后经过池化层映射处理,得到统一的特征值,经过全连接层连接和softmax回归,生成新的特征向量,最后输出。ERNIE-RCNN模型如图4所示。

图4 ERNIE-RCNN模型

2 实验及结果分析

2.1 实验数据集

实验选用的是THUCNews中文新闻数据集[19],THUCNews是根据新浪新闻RSS订阅频道05到11年间的历史数据筛选过滤生成,包括74万篇新闻文档,均为UTF-8纯文本格式。从THUCNews中抽取了20万条新闻标题,其中18万条作为训练集,1万条作为测试集,1万条作为验证集,文本长度在20到30之间。一共10个类别,分别为财经、家居、房产、教育、科技、时尚、时政、体育、游戏、军事,每个类别数据共2万条,数据分类均衡。

2.2 实验环境

实验采用的硬件GPU为NVIDIA-SMI,内存容量为8 G,CPU为Intel(R)Core(TM)i7-9700KCPU @ 3.60 GHz,Python版本为3.7.7。

2.3 评价指标

实验用了文本分类中常用的评价指标:精确率、召回率、F1值,计算公式如下:

式中,TP为实际值和预测值均为正值时数据的数量,FP为实际值为负值、预测值为正值时的数据数量,FN为实际值为正值、预测值为负值时数据的数量,P为精确率,R为召回率。

2.4 实验结果

为对比模型分类性能,选择TextRNN、Transformer、TextCNN、TextRCNN、Bert、ERNIE、Bert-RCNN[20]7种模型与ERNIE-RCNN模型进行三组对比实验,为进一步比较模型的性能,查阅了两篇使用同样数据集文章,进行一组简单对比。

对比1:从图5可以看出,ERNIE-RCNN模型准确率最高,说明分类效果最好。其中相对ERNIE和Bert-RCNN差别不大,但相对TextRNN、Transformer、TextCNN、TextRCNN模型,分类效果有明显差别。

图5 模型准确率的变化

对比2:从表1可以看出,ERNIE-RCNN模型在精准率、召回率、F1值这三个指标上均优于其他模型,其中在精确率上,比TextRNN、Transformer、TextCNN、TextRCNN、Bert、ENRIE、Bert-RCNN分别提高了4.23、4.11、3.74、3.39、1.09、0.65、0.78个百分点。TextRC-NN、Transformer、TextCNN、TextRCNN模型分类结果差距不大,说明embedding部分没有很好地提取文本特征,下游模型的变化对分类结果影响不大,而对于Transformer模型分类也并不理想,说明embedding后的下游模型是决定分类结果的重要部分。

对比3:从表2可以看到,ERNIE-RCNN模型比Bert、ENRIE、Bert-RCNN模型训练时间更短一些,ERNIE-RCNN模型随着数据的增加,模型训练效果时间成本更低。

表1 不同模型的测试结果

表2 不同模型的训练时间

对比4:齐佳琪等[16]和雷景生等[21]使用共同THUCNews中文新闻数据集,针对其论文的实验结果与本实验结果进行了精确率、召回率、F1值上的对比,如表3所示。可以看出,ERNIE-RCNN模型在精确率、召回率上比ERNIE-BiGRU模型分别高出了0.64、0.83个百分点,比ERNIE-CNN模型分别高出了1.02、1个百分点,表明ERNIE-RCNN模型具有更好的分类效果。

表3 使用THUCNews数据集模型比较

3 结束语

在解决中文短文本存在难点时,提出一种基于ERNIE-RCNN模型的中文短文本分类方法,利用ERNIE预训练模型提取文本特征信息,输出对应的词向量,将输出结果作为RCNN模型的输入进行训练。从实验结果表明,ERNIE-RCNN模型在测试集上具有更高的准确率,分类性能更强。不足之处是训练时间效果并不明显,还需进一步提高模型训练性能,缩短训练时间。

猜你喜欢

特征提取卷积向量
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
向量的分解
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
卷积神经网络概述
基于曲率局部二值模式的深度图像手势特征提取
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线