第44卷第1期2021年2月
V ol.44No.1
Feb.2021辽宁科技大学学报
Journal of University of Science and Technology Liaoning
ERNIE-CNN文本分类模型
齐佳琪,迟呈英,战学刚
(辽宁科技大学计算机与软件工程学院,辽宁鞍山114051)
摘要:基于word2vec和BERT词向量技术的方法在文本分类分词过程中存在着错误传播问题,提出了融合ERNIE词向量技术的卷积神经网络模型。针对中文文本,运用ERNIE实体掩码的方式捕获词汇和语义信息,使用卷积神经网络进行特征提取。在THUCNews开源数据集上,准确率达到93.95%,比Word2Vec-CNN高出3.4%,BERT-CNN高出3.07%。实验结果证明了本文模型在缓解错误传播问题的有效性。
关键词:文本分类;ERNIE;词向量;卷积神经网络
中图分类号:TP391.1文献标识码:A文章编号:1674-1048(2021)01-0056-06
DOI:10.13988/j.ustl.2021.01.009
文本分类(Text classification),作为自然语言处理(Natural language processing,NLP)和机器学习(Machine learning)领域最受关注的应用之一,是处理海量信息的有力手段[1]。它是指用电脑对文本集或实体按照一定的分类体系或标准进行自动分类标记[2]。文本分类是一个监督式学习过程,需要一个给定的分类体系和一组带标签的文本,在此基础上建立文本特征和文本类别之间的关系模型,利用资源构造分类器,将待分类文本在不同的、事先定义的类别中进行类别判断。
根据文本不同,分类系统可以分为中文文本和英文文本。英文文本可以根据空格进行切分,不需要另外的分词处理。中文文本是一连串的汉字连接构成句子,基本语素是词而不是字,需要对其进行分词处理。分词处理采用词向量技术实现。然而,由于中文本身的特点在分词过程中容易出现错误传播,并且随着传播的进行错误会逐渐加剧,影响文本分类效果。
文本作为非结构化字符数据,要实现计算机识别,就需要把文本转换成为计算机可以识别的数字。1989年,Hinton[3]提出了分布式表示(Dis-tributed representation)概念,Mikolov[4]等提出了词
向量算法,然后逐步采用Word2vec系列的分布式表示方法。2018年Devlin等提出了预训练模型(Bidirectional encoder representations from trans-formers,BERT)[5],在多个典型的自然语言处理任务中取得了出的成就,使模型的效果大大提升,推动了自然语言处理的发展。2019年Sun等提出了知识增强的语义表示模型(Enhanced representa-tion from knowledge integration,ERNIE)[6],通过对词、实体等语义信息遮盖,使模型获取完整的语义特征,ERNIE语义模型采用了词的处理,使得中文文本语义更加完整。
近年来,随着深度学习在工程技术中的大量应用和所展现出来的优势,越来越多的研究人员采用深度学习的方法进行文本信息分类的研究。经典的深度学习神经网络有卷积神经网络(Con-volutional neural networks,CNN)和循环神经网络(Recurrent neural network,RNN)。韩众和等[7]将CNN与极速学习机(Extreme learning machine,ELM)结合在一起,提出了CNN-ELM混合模型,在多数数据集上取得了很高的分类精度。杨东等[8]提出了一种新奇的混合模型,将CNN融入到加入注意力机制的门控单元卷积网络(Gated re-
收稿日期:2020-11-23。
基金项目:国家自然科学基金(61672138)。
作者简介:齐佳琪(1996—),女,辽宁葫芦岛人。通讯作者:迟呈英(1963—),女,辽宁鞍山人,
教授。
第1期
current unit,GRU)中,突出关键词,并将特征提取进行优化也取得了不错的效果。郑诚等[9]使用CNN与密集连接循环门控单元卷积网络(Densely connected Bi-directional gated recurrent unit,DC_BiGRU)相融合,在执行文本分类任务比单一的CNN模型效果要好。杨锐等[10]利用Doc2Vec提取主题信息并融合CNN网络模型,与其他分类模型作对比F1值均有提升。闫琰[11]在以关键字表示词向量的基础上,融入了深度信念网络(Deep belief network,DBN)和深度玻尔兹曼机网络(Deep boltzmann machine,DBM),提出了一种全新的HDBN(Hybrid deep belief network)模型。姜大鹏[12]引用分布式表达词向量方法对文本进行分类处理,并且证明了该方法的有效性。借鉴刘凯洋[13]结合Bert词向量与CNN相融合的方法,本文提出将ERNIE与CNN相结合的ERNIE-CNN文本分类模型,对中文实体进行词向量表示,提高中文文本分类的性能,为其他文本分类模型的研究提供参考价值。
1ERNIE-CNN模型
ERNIE最初应用到机器翻译领域,以注意力机制为基础,利用Transformer的多层self-attention 双向建模能力进行文本向量化表示。ERNIE与普通词向量模型不同,ERNIE在结构上主要是采用Transformer的编码器Encoder,生成词向量表示,从而存取输入文本的上下文信息。同时通过随机屏蔽(MASK)15%的字或者词进行知识整合保存到文本表示中。MASK机制使用中文实体进行掩码,对训练数据中结构和信息的统一建模,大大地增强了语义表示能力。ERNIE模型的结构如图1所示。
第一个输入是特殊的分类任务CLS。ERINE 将一序列的words输入到编码器中。每层都使用self-attention和feed-word network,然后把结果传入到下一个Encoder。假设输入词序列为w
i-(n-1),⋯,w i-1,那么ERNIE的作用就是将词序列w i-(n-1),
⋯,w i-1中的每个词向量按顺序进行拼接,x为ER-NIE作为输入层最后得到的结果,本文中n=768。
x=[]
v(w
i-(n-1));⋯;v(w i-2);v(w i-1)(1
图1ERNIE结构图
Fig.1ERNIE framework map
Encoder结构如图2所示。Encoder由6个相同的层(sub-layer)组成,每个sub-layer都由multi-head、self-attention mechanism和fully connected feed-forward network组成,并且都加入了residual connection和normalisation。sub-layer的输出表示为
sub_layer_output=LayerNorm(x+(SubLayer(x))(2)MultiHead(Q,K,V)=Concat(head1,⋯,head h)W0(3)head i=Attention(QW Q i,KW K i,VW V i)(4)式中:Q表示查询矩阵;K表示键矩阵;V表示值
矩阵。W Q
i
代表Q进行线性变换的矩阵;W K
i
代表
K进行线性变换的矩阵;W V
i
代表V进行线性变换的矩阵;h表示头的数量,每个头能抓捕到一个文
本序列中的子空间信息。
图2Encoder结构图
Fig.2Encoder framework map
齐佳琪,等:ERNIE-CNN文本分类模型·
·
57
辽宁科技大学学报第44卷
multi-head attention通过h个不同的线性变换对矩阵Q,K,V进行投影,Q,K,V三者数值相同,最后将不同的attention结果拼接起来得到融合词向量矩阵。将执行h次self-attention之后的结果进行拼接处理,通过W0得出最后的self-atten-tion结果。
CNN在自然语言处理领域是一种效果极好且容易实现的网络结构。文本分类的关键是准确提炼文本或文档的主旨,就是抽取文本或文档的关键词作为特征,然后基于这些特征去训练分类器从而达到分类的效果。CNN通过设置不同大小的卷积核,提取不同的局部特征,使得提取到的特征向量具有多样性且具有代表性。CNN模型架构如图3
所示。
图3CNN模型架构
Fig.3CNN framework map
设输入的句子矩阵为n×160,其中n为句子中字词的个数,160是本文设定的一个向量维度,将其输入给卷积的filter层,实验过程中卷积的窗口设定分别为2×160、3×160、4×160三种卷积核,经过filter层后的句子矩阵满足以下关系
N=(W-F+2P)/S+1(5)式中:N代表卷积后特征矩阵的大小;W代表卷积前句子矩阵的大小;F代表卷积核的大小;P代表填充值的大小;S代表卷积过程中的步长大小。
本文选取卷积的步长为1,卷积式
S(i,j)=(I*K)(i,j)∑m∑n I(m,n)K(i-m,j-n)(6)式中:K为被卷积矩阵;I为卷积核;S为卷积出来的结果;(m,n)为卷积运算的输入坐标;(i,j)为得到的特征映射坐标。
通过卷积获得特征之后,使用池化函数对卷积操作得到的特征映射结果进行处理。池化函数会将平面内某一位置及其相邻位置的特征值fea-turemap进行采样分析统计汇总,并将汇总结果作为这一位置在该平面内的值。本文采用最大池化函数计算该位置及其相邻矩形区域内的最大值并作为该位置的值,分别通过Dropout函数操作和Softmax层进行分类处理,得到输入样例所属类别的概率分布情况。
ERNIE-CNN模型的结构如图4所示。模型主要分为七层。第一层是输入层,向模型中输入训练数据。这里输入数据是THUCNews开源数据集。第二层是ERNIE层,将输入的训练数据进行文本表示,将每一个文本转化为对应的词向量。文本表示是文本分类中的重要工作,直接影响整个文本分类任务的性能。第三层是CNN层,对文本特征进行有力提取。第四层是池化层,选用K-MaxPooling,从CNN提取的特征中选出K个最大
··
58
第1期
的特征值,即K 个对分类来说最重要的信息。第五层是全连接层,防止从CNN 层抽取的文本特征升维,防止因维度大使模型复杂度太高,进而导致模型泛化性能差。第六层是分类器层,运用soft-max 分类器把文本分到所属类别。第七层是输出层,把分类结果输出。
模型超参数是在参数空间中搜索最佳值。超参数的选择和设定可以直接影响分类模型的精度。参考文献中使用的超参数值,本文经过反复试验最终确定超参数的最佳值,如表1所示。
表1模型参数Tab.1
Parameters of model
参数名称
attention_probs_dropout_prob
hidden_dropout_prob
hidden_size initializer_range max_position_embeddings num_attention_heads num_hidden_layers type_vocab_size vocab_size layer_norm_eps batch_size pad_size learning_rate filter_sizes num_filters dropout
参数值0.10.17680.0251312122180001e-05128321e-5(2,3,4)2560.5
2实验结果评价和对比
2.1
数据集介绍
本文选用THUCNews 开源数据集做对比实验,其中18万条作为训练集,1万条作为测试集,1
万条作为验证集。每个数据集下含有10种分类,分别为财经、房产、家居、教育、科技、时尚、时政、体育、游戏和军事。THUCNews 开源数据集样例如表2所示。
表2清华大学THUCNews 数据集样例Tab.2
Samples of THUCNews treebank data sets
新闻标题文本
中华女子学院:本科层次仅1专业招男生两天价网站背后重重迷雾:做个网站究竟要多少钱东5环海棠公社230-290平2居准现房98折优惠告诉你德国脚生猛的原因不希望英德战踢点球82岁老太为学生做饭扫地44年获授港大荣誉院士记者回访地震中可乐男孩:将受邀赴美国参观冯德伦徐若瑄隔空传情默认其是女友郭晶晶欲落户香港战伦敦奥运
装修别墅当婚房
《赤壁OL 》攻城战诸侯战硝烟又起
“手机钱包”亮相科博会
类别教育科技房产体育时尚时尚时尚房产游戏科技
2.2实验环境
所有实验均采用同一个系统环境,系统参数
如表3所示。
表3
实验环境
Tab.3
Experimental environment
操作系统GPU CPU Python Pytorch 编码格式
Ubuntu
NVIDIA T4Tensor Core GPU Intel(R)Core(TM)i7-1065G7CPU
3.61.2.0utf-8
2.3评价指标
本文中实验的评价指标是准确率Accuracy 、
精确率Precision 、召回率Recall 和F1值。
准确率的定义式
Accuracy =correct total
×100%
(7
图4ERNIE-CNN 模型架构Fig.4ERNIE-CNN framework map
齐佳琪,等:ERNIE-CNN 文本分类模型
·
·
59
辽宁科技大学学报第44卷
correct=A+D(8)
total=A+B+C+D(9)精确率的定义式
Precision=A A+B×100%(10)召回率的定义式
Recall=A A+C×100%(11)F1的定义式
F1=2×Pr ecision×Re cal l
Pr ecision+Re cal l×100%(12)式中:correct是样本分类的正确率;total是分类样本的总数;A为判别属于该文档且真正属于该文档的样本数量;B为判别属于该文档但真正不属于该文档的样本数量;C为判别不属于该文档但真正属于该文档的样本数量;D为既判别不属于该文档也真正不属于该文档的样本数量。
2.4实验结果对比
将ERNIE-CNN模型与模型Word2Vec-CNN、BERT-CNN模型对比分析。三种模型实验得出的准确率结果分别为90.55%、90.88%、93.95%。
ERNIE-CNN模型的准确率最高。主要是因为ERNIE可以对训练数据中的结构和信息进行建模,大大地提高了一般语义表征能力。
Word2Vec-CNN、BERT-CNN、ERNIE-CNN模型在THUCNews开源数据集不同类别上精确率、召回率和F1值如表4所示。总体来说,使用ER-NIE-CNN模型训练的数据集在精确率、召回率、F1都高出Word2Vec-CNN和BERT-CNN模型。如在财经方面,ERNIE-CNN比Word2Vec-CNN在准确率上高出1.11%,在召回率上高出3.5%,在F1值上高出2.32%;比BERT-CNN在准确率上高出4.94%,在召回率上高出3.6%,在F1值上高出4.27%。在所有类别中,ERNIE-CNN模型在体育方面的精确率、召回率和F1值最高,在科技方面精
表4不同类别数据集的结果,% Tab.4Results of different dataset categories,%
数据集
财经房产家居教育科技时尚时政体育游戏军事
Word2Vec-CNN
精确率
91.98
91.4
86.63
96.33
83.19
90.06
89.57
92.7
91.79
92.3
召回率
89.4
93.5
84.9
94.4
88.1
90.6
87.6
96.5
90.6
89.9
F1值
90.67
92.44
85.76
95.35
85.58
90.33
88.57
94.56
91.19
91.08
BERT-CNN
精确率
88.15
93.29
83.75
92.95
86.79
88.9
89.8
97.98
94.34
90.04
召回率
89.3
91.8
84
94.9
84.1
92.1
87.2
96.8
91.6
94
F1值
python中文文档88.72
92.54
83.87
93.91
85.42
90.47
88.48
97.38
92.95
91.98
ERNIE-CNN
精确率
93.09
95.28
90.05
96.7
89.53
94.14
91.79
98.29
96.17
94.44
召回率
92.9
94.9
87.8
96.7
89.8
94.7
92.8
97.7
95.3
96.9
F1值
92.99
95.09
88.91
96.7
89.67
94.42
92.29
97.99
95.73
95.66
确率、召回率和F1值最低。这表明ERNIE-CNN 模型对体育方面实体的敏感度更高。
3结论
本文提出将ERNIE与CNN相结合的ERNIE-CNN模型应用于文本分类任务中,在THUCNews 数据集上,准确率达到了93.95%,比Word2Vec-CNN高出3.4%,比BERT-CNN高出3.07%,并且在10个类别中精确率、召回率、F1值指标都很高。实
验表明,在文本分类任务中,ERNIE词向量技术可以学到更多的先验知识,缓解在中文分词过程中存在的错误传播问题。实验结果证明了ERNIE-CNN模型的有效性和优越性。
参考文献:
[1]刘威,邵剑飞,张磊磊.海量信息下的文本分类研究与优化[J].新技术新工艺,2017(2):40-43.
[2]刘冬瑶,刘世杰,陈宇星,等.新闻文本自动分类技术概述[J].电脑知识与技术,2017,13(35):87-91.
··
60

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。