BERT-TECNN模型的文本分类方法研究

2021-09-26 10:44李铁飞
计算机工程与应用 2021年18期
关键词:集上卷积向量

李铁飞,生 龙,吴 迪

1.河北工程大学 信息与电气工程学院,河北 邯郸056107

2.河北工程大学 河北省安防信息感知与处理重点实验室,河北 邯郸056107

文本分类是根据文本所蕴含的信息将其映射到预先定义带主题标签的两个或几个类的过程[1]。文本分类是自然语言处理领域一项重要的任务类型,文本分类可对包含巨大数据量的信息进行组织、管理,降低搜索信息成本[2]。文本分类被广泛应用到内容审核、舆情分类、广告标注、情感分析、邮件过滤、新闻主题划分、问题甄别、意图识别、指代消解等场景[3]。

文本分类最初通过专家规则进行分类,它利用知识工程定义数量巨大的推理规则来判断文本属于哪个类别,人力成本巨大,且主观因素对结果影响较大,不同领域有不同的推理规则,不具备扩展性[4]。随着机器学习算法的兴起,特征工程&浅层分类器的模型被广泛使用。机器学习方法具有完备的理论做基础,不需要专业人员总结推理规则,具有一定扩展性,相比知识工程大大减小了总结规则的成本[5-8],性能优于专家规则方法。

随着自然语言处理技术的发展,深度学习网络模型越来越多地应用到文本分类问题上,深度学习网络模型之所以在图像和声音处理领域非常成功,是因为图像数据和声音数据是连续的、稠密的。所以把深度学习模型用于解决文本分类问题,首先要把文本数据映射成连续的、稠密的词向量。这种“文本表示”方法称为文本的分布式表示。文本的分布式表示模型即词向量模型。把文本数据映射成词向量成为深度学习网络分类模型中首先要解决的上游任务,在下游任务中利用RNN、CNN、LSTM、Transformer等网络模型再次提取特征信息,捕捉文本中词序列、词关联,语法、语义等信息,提升了分类效果,同时过程中不需要人工特征工程,很大程度降低了人工成本[9-10]。

自然语言处理中常用的词向量模型从时间发展上包括:离散模型(One-hot、TF-IDF)、SVD模型、固定向量模型(NNLM、Word2Vec、Glove)动态词向量模型(Elmo、Gpt、Bert)。One-hot模型、TF-IDF模型和SVD模型生成的词向量存在高纬度高稀疏性问题,且不能很好表征文本的特征信息。Word2Vec[11]模型属于典型的固定向量模型,属于神经网络语言模型,该模型考虑了上下文的关系,维度更小,通用性更好,运行更快,效果明显优于之前模型。但是生成的词向量是固定的,每个词对应唯一一个词向量,无法解决一词多义问题。Elmo[12]模型是一个深度双向的LSTM语言模型,模型考虑到了整个句子的信息,同一词汇在不同句子中得到不同的词向量,解决了一词多义问题,且ELMO模型包含了多层的BiLSTM,因此生成的词向量也包含了语境和语法信息。但是Elmo模型中每个句子中的词被预测时前向语言模型和后向语言模型只看到了一部分句子的信息,所以Elmo模型并不是完全意义上的双向语言模型,同时Elmo模型是时间序列模型,不能并行执行,训练速度慢,不能堆叠多层的LSTM。

Bert[13]模型是完全意义上的双向语言模型,能捕捉整个句子中字序列信息、上下文关系信息、语法语境信息等,解决了一词多义问题,且Bert模型使用Transformer[14]的Encoder来代替Bi-LSTM,可并行执行运算,可叠加多层,对文本信息有很强的表征能力。Bert语言预训练模型将NLP大量的下游任务转移到了词向量预训练中。下游任务只需要对模型进行Fine-tuning即可。Bert-Base,Chinese中文模型包含110×106个参数,参数量巨大,做分类任务Fine-tuning时,Bert内部参数值变化很小,易产生严重的过拟合现象,对与训练集不同源的数据泛化能力弱,分类效果不理想。且模型是以字为单位进行的预训练,所包含词信息量较少。针对这些问题,提出了一种Transformer Encoder和CNN相结合的模型处理NLP下游任务。

该模型以Bert-base,Chinese作为字向量模型,输出的特征向量包含了上下文信息、序列信息、语义语法信息等,后连接Transformer的Encoder层,Encoder层对Bert层输出的整句字嵌入向量再次进行编码,Encoder层中的参数量相较于Bert模型要小得多,参数对数据的变化敏感,优化了模型的过拟合问题,增强了模型的泛化能力。后接CNN层,利用不同大小的卷积核捕捉句子中不同长度词的信息,中文词语蕴含的信息往往比字更丰富,所以把词语信息从整句数据中提取出来后再进行分类,分类结果更理想,最后通过softmax进行分类。该模型在三种不同数据集上与深度学习网络模型Word2Vec+CNN、Word2Vec+BiLSTM、Elmo+CNN、BERT+CNN、BERT+BiLSTM、BERT+Transformer做分类对比实验,得到的结果表明该模型泛化能力、分类效果均优于对比模型。

1 相关工作

随着深度学习网络技术的发展,深度学习网络模型被用于各种场景的文本分类任务中,文献[15]使用Word2Vec作为词向量模型,构建CNN卷积神经网络,对新闻文章进行分类,与传统算法相比,提高了分类模型的准确率;文献[16]采用Word2Vec的CBOW模型作为词向量模型,使用LSTM进一步提取文本特征,最后使用SVM对文本进行情感分类提高了准确率和F1值。文献[17]使用Elmo作为词向量模型,下游任务采用CNN模型对文本特征再次提取,最后通过softmax对文本进行情感分类,使得正确率大幅度提高。文献[18]利用Bert作为词向量模型,获取文本的动态上下文信息,下游任务采用CNN模型提取多种特征,提高了分类性能。文献[19]应用Bert和BiLSTM相结合的模型对网络文本情绪趋向进行分类,与Bert-LSTM模型做比较实验,提高了分类效果。文献[20]利用Bert与Transformer相结合的模型处理名词隐喻识别分类问题,在各评级指标上,均提高了分类效果。

2 基于BERT-TECNN模型的文本分类方法

2.1 BERT-TECNN模型

BERT-TECNN模型以Bert-base,Chinese模型作为字向量模型,把中文句子中的字映射成字向量,字向量包含了上下文关系、字序列信息、语法语义信息及深层结构信息,然后把输出作为Transformer Encoder层的输入,Encoder层再次对整条数据的字向量进行编码,增加模型泛化性,然后接CNN层,CNN层利用不同大小卷积核捕捉句子中不同长度词的信息,同时CNN层增加数据Batch Normalization操作,加快训练速度,优化梯度消失问题,最后通过softmax对文本进行分类。

BERT-TECNN模型流程图如图1所示。

图1 BERT-TECNN模型流程图Fig.1 Model flowchart of BERT-TECNN

2.2 Bert-base,Chinese预训练模型

Bert模型是基于Transformer网络架构中Encoder搭建的整个模型框架,Bert网络模型中包含多层Encoder结构,Bert模型如图2所示。

图2 Bert网络结构模型Fig.2 Bert network structure model

由图2所示,初始字向量E1~Em通过多层由Encoder组成的网络结构后输出带特征信息的字向量T1~Tm。

2.2.1 Transformer Encoder模型结构

Transformer Encoder是构成Bert模型的基本单位,Encoder结构图如图3所示。

图3所示,输入在输入嵌入层加上了位置编码信息,然后经过多头自注意力机制层进行多头自注意力计算,然后通过前馈网络层和两层残差连接和归一化层后输出。

图3 Encoder网络模型结构图Fig.3 Encoder structure diagram

2.2.2 位置编码原理

含有相同的字,字的顺序不一样,整句话意思就会不一样,例如:“我正在帮助他”,“他正在帮助我”,两句话虽然含有相同的字,但是字的循序不一样,意思完全相反。为解决这类问题,模型中加入了位置编码向量,维度和字嵌入向量维度一致,把字嵌入向量跟位置编码向量加到一起,这样相加后的向量就带有了字的位置信息。位置向量通过式(1)、(2)计算得出,式(1)、(2)如下所示:

式(1)、(2)中共有2个输入参数,pos是指字在句子中所处位置,如“我正在帮助他。”“我”的pos为0,“正”的pos为1,“在”的pos为2…;i为位置参数,向量的奇数位置上的值用式(2)计算,偶数位置上的值用式(1)计算,dm odel指位置向量的维度。位置编码的每一维对应一正弦波或余弦波,不同位置信息以不同波长周期性变化,波长从2π到10 000⋅2π,通过这个函数得到的位置向量编码可以让模型很容易学到相对位置信息。

2.2.3 self-attention机制和Multi-Headed Attention机制

self-attention机制要求一个句子中每个字与句子中所有字计算attention,不用考虑方向和距离,最大路径长度都是1,可以提取长距离字与字的关系,这样让模型能捕捉到字的上下文关系,如以下两个例子:“我请你吃饭”“你请我吃饭”,两句话同一个字“我”根据上下文得到的字嵌入向量不同;“这只猴子无法跳到那棵树上,因为它太远了”,“这只猴子无法跳到那棵树上,因为它太累了”,第一句话的“它”代表树,第二句话的“它”代表猴子,模型通过自注意力机制(self-attention)可以得出第一句话的“它”跟句子中“树”关系更密切,第二句话的“它”跟句子中“猴子”更密切。

self-attention采用矩阵形式进行运算,可并行运算提高运行速度。常用公式如下:

首先随机初始化三个矩阵WQ、WK、WV,根据式(3)、(4)、(5)生成三个向量Q、K、V,这样把每个字嵌入向量生成了带不同信息的三个向量:查询向量Query、被查询向量Key、实际特征向量Value。然后根据式(6)计算出带上下文信息特征的向量Z,式(6)中Q与KT做点乘,计算结果是某个位置上的字与其他位置上的字的关注程度值,越大表示越匹配,除以dk以防止分子内积过大,dk为向量维度。然后通过softmax函数计算出该位置上的字与其他位置上的字相关程度的概率值,得到整个加权效果,最后乘以实际特征向量V,这样得到每个字的特征向量Z都包含了整句话的信息。

多头注意力机制(Multi-Headed Attention)在初始化矩阵时,不仅仅初始一组WQ、WK、WV和Q、K、V,而是初始化多组WQ、WK、WV和Q、K、V,通过不同的head得到多组特征表达,生成多组向量Z,然后将所有特征拼接在一起,最后通过一全连接层降维,多头机制类似卷积神经网络CNN中的多个filter,可提取句子中多种特征。

2.2.4 Add&Normalize机制

在模型网络比较深的时候,通过梯度下降法把误差往后传时,会变得越来越弱,训练模型时速度会变得很慢,甚至梯度消失,通过向量X跳跃连接到向量Z称为残差连接,误差可以从不同的路径到达初始网络层,可优化模型在训练过程中梯度消失问题。

初始数据经过模型网络各层时,数据偏差会变得越来越大,这些大的偏差会引起梯度爆炸或者梯度消失。残差连接通过LayerNorm(X+Z)进行归一化。归一化操作把数据限制在方差为1均值为0的范围,这样可以优化模型在训练过程中梯度爆炸或消失的问题。

2.2.5 Bert预训练任务Mask language Model&Next Sentence Prediction

Mask language Models任务在进行训练时,随机遮盖一部分字,让模型对遮盖的字进行预测,做误差损失时只需要计算被遮盖部分,训练数据不需要标签,有语料即可,具体步骤如下:(1)句子中被随机遮盖的token有15%,其中有80%被mask替代,10%被其他token替代,剩下10%不变。(2)训练过程中,语料被遮住的部分作为Label,做损失并反传梯度。

Next Sentence Prediction任务从语料中拿出两个句子,在两个句子之间加上特殊token,[cls]和[sep],第一句话开头加上[cls],两句中间用[sep]隔开,句子的末尾加上[sep],这两句话有一半概率是具有上下文关系的,一半概率是不属于上下文关系的。然后初始化一个segment embeddings,作用是区分句子的前后,前句的segment embeddings全部为0,后句的全部为1,训练时[cls]token里包含了整个句子的信息,把[cls]向量做逻辑回归,两句相邻则label为1,不相邻时label为0,然后做损失,反传梯度。

2.3 Transformer Encoder层

Bert模型的输出作为Encoder层的输入,再次加上位置编码信息,根据自注意力机制计算出每个字与所有字的加权值,最后得到每个字的特征向量,该向量包含了整句话的信息。然后根据多头机制通过不同的head得到多组特征表达,生成多组特征向量,将所有特征向量拼接在一起,通过一全连接层降维。最后通过前馈网络层和两层残差连接和归一化层后输出。Encoder层包含一个Encoder模块,Multi-Headed Attention使用8个head,每个head的维度为768/8=96,输入字的个数为128。

Bert-base,Chinese模型中参数量巨大,训练后Bert模型中参数变化量很小,易发生过拟合现象,导致与训练集相似的测试集分类效果良好,与训练集差异大的测试集分类效果不理想。Encoder层中的参数量相较于Bert模型要小的多,在训练过程中参数变化较大,对数据变化敏感,优化了模型的过拟合问题,增强了泛化能力。

2.4 构建CNN模型

文本分类的核心是提取句子中上下文关系信息和句子蕴含的核心含义信息,Bert模型中每个字包含了整句话中所有字的信息,捕捉了句子中上下文关系信息、各字的序列信息及结构信息。同时CNN的卷积操作可以再次提取句子中的关键词信息及深层结构信息,且CNN可以并行运算,训练速度快,所以把CNN模型用在文本分类的下游任务上提高了模型的分类性能[21]。CNN模型结构如图4所示。2.4.1 数据归一化(Batch Normalization)

图4 CNN模型设计结构Fig.4 Structural design of CNN model

取值范围大的数据影响力大于取值范围小的数据,不利于反应相异度,且模型在训练时参数不断变化,导致每层数据分布情况也在不断变化,训练过程中又需要在模型的每一层去适应数据分布的变化,易导致梯度弥散。Batch Normalization使批处理数据均值为0,方差为1,可以加快收敛速度,缓解梯度消失问题。

相关公式如下:

其中,m为batch size的大小,xi为批处理数据(minibatch)的第i个值,μg为批处理数据的均值,σ2g为批处理数据的方差,x̂i为xi归一化后得到的值,yi是x̂i经尺度变换和偏移后得到的值,β和γ为学习参数。

首先由式(7)、(8)算出批处理数据的均值和方差,通过式(9)对批处理数据做归一化。数据归一化后相比原数据,表达能力有所下降,因此引入两个学习参数β和γ,通过学习得到β和γ的值,通过式(10)还原部分表达能力。

训练阶段方差与均值基于batch数据。在测试阶段,每次输入只有一条数据,所以对训练样本每个batch的均值和方差求整体的平均值,作为测试时的均值和方差。

由于CNN中卷积得到的特征图数量和神经元的数量很大,所以CNN中把每个特征图作为一个处理单元,每个特征图对应一个β和一个γ。

2.4.2 卷积操作过程

Encoder层输出的向量通过CNN层提取不同长度词语的信息和结构信息。

相关公式如式(11)~(15)所示:

其中,i为卷积的第i步,n为句子的长度,h为卷积核的高度。b是偏置参数,W为卷积核矩阵向量,k为卷积核个数,Xi为一句话中第i个字向量,ti为第i步卷积操作提取的特征值,ti作为输入经过激活函数relu后得到的特征值mi,m为卷积操作结束后得到的特征值集合,m经最大池化操作后得到特征值m̂,最后句子的向量表示为z。

首先构建句子向量,设每个句子的长度(包括特殊字符)为n,对于比较短的句子,进行补零操作,对于比较长的句子进行截断操作。设A1~An为1到n个字,X1~Xn为A1~An的字向量,向量维度为d,将X1~Xn向量进行拼接Concat(X1,X2,…,Xn),得到n×d的二维矩阵X,如图5所示。

图5 句子向量Fig.5 Sentence vector

文本经过Bert-Encoder模型生成的字向量通过拼接构建成的句子向量是二维向量,但每一行的向量代表一个字,进行二维卷积操作会把每个字的字向量拆分,无法提取到整个字的特征,所以在进行卷积操作时采用一维卷积的方法。

由式(11)得到第i步卷积后的特征值ti,ti通过式(12)激活函数relu得到特征值mi,经过j步卷积后在经过激活函数relu得到长度为(n-h+1)的特征向量m,特征向量m如式(13)所示,特征向量m经式(14)池化操作得到特征值m̂,模型中设置了多种高度不同,宽度相同的卷积核对句子进行特征提取,由于卷积核高度不同,卷积后得到的向量维度不一致,所以在池化过程中采用MaxPooling,把每个特征向量池化成一个值,这样每个卷积核就对应一个特征值m̂,然后把所有卷积核得到的特征值进行拼接,得到一个k维度的句子向量z,z的表达式如式(15)所示。

句子向量z后接一全连接层,全连接层引入dropout机制防止模型过拟合,最后将全连接层计算得到的值通过softmax层得到句子在各个类别中的概率值,概率值最高的类别即为该句子所属的类别。

2.4.3 参数设置

句子长度n设置为128,Batch size设置为8,dropout为0.2,中文词语常见的长度为2、3、4、5,所以设置卷积核的高度h分别为2、3、4、5,由于是一维卷积,所以设置卷积核的宽度跟维度d一致全部为768,每种高度都设置96个卷积核,那么四种卷积结果经过激活函数、池化后都生成了维度为96的向量,把所有值拼接到一起,最终得到一个96×4=384维的句子向量。

3 实验

3.1 实验环境

实验硬件:CPU为i7-10700k,内存容量16 GB,显卡为RTX2080,显存容量8 GB,操作系统为Windows10 64位,Python版本3.90,TensorFlow深度学习框架。

3.2 实验数据集

实验采用了网络上公开的用于文本分类任务的三个中文数据集toutiao_cat_data(简称tcd)、simplifyweibo_4_moods(简称s4m)、online_shopping_10_cats(简称os10c)用于测试模型处理文本分类任务的性能。

其中tcd数据集来源于今日头条15种新闻分类数据,包含382 688条带标签数据。s4m数据集来源于新浪微博带四种情感标签的评论,包含喜悦、愤怒、厌恶、低落4种情感,共361 744条数据。os10c数据集包含6万条网上购物的正负评论,其中包含3万条正向评论、3万条负向评论。随机选取90%的数据作为训练集,剩余10%的数据作为测试集。

数据集概况如表1所示。

表1 数据集统计表Table 1 Statistical table units of data set

3.3 对比实验

采用目前主流的深度学习文本分类模型作为对比模型,对比的模型有:

(1)Word2Vec+CNN深度学习网络文本分类模型:模型以Word2Vec模型作为词向量模型,然后把词向量输入到CNN层,CNN层利用不同大小的卷积核提取每条数据中词语的信息,多层CNN可以提取每条数据中的深层信息,如语法、语义、局部结构等信息,然后通过softmax进行分类。通过训练集对模型进行训练,训练好的模型可以对文本数据做分类任务[15]。

(2)Word2Vec+BiLSTM深度学习网络文本分类模型:模型以Word2Vec模型作为词向量模型,以双向BiLSTM模型对文本数据再次提取特征信息,最后通过softmax进行分类。BiLSTM模型是深度循环双向的语言模型,能再次捕捉文本的特征信息,提高了文本分类的效果[16]。

(3)Elmo+CNN深度学习网络文本分类模型:模型以Elmo作为词向量模型,能动态提取每条数据中上下文信息、序列信息、语法语境信息等,下游的CNN模型再次捕捉不同长度词的信息和更为完整的上下文关系信息,然后把提取到的向量通过softmax进行分类[17]。

(4)Bert+CNN深度学习网络文本分类模型:模型以Bert模型作为字向量模型,CNN层再次提取特征信息进行分类[18]。Bert模型中以Transformer的Encoder来代替Bi-LSTM,可并行执行运算,可以叠加多层,运算速度快,性能优于Elmo模型。

(5)Bert+Bi-LSTM深度学习网络文本分类模型:模型以Bert作为词向量模型,以Bi-LSTM模型作为下游任务的分类模型[19],提升了文本分类的性能。

(6)Bert+Transformer深度学习网络文本分类模型:模型以Bert作为词向量模型,以Transformer的Encoder模型作为下游任务模型,Encoder对数据进行再次编码,提高了模型的泛化能力[20]。

3.4 评价标准

BERT-TECNN模型与对比模型通过4个实验评价指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1测度值对分类结果进行分析。

评价指标计算公式如式(16)~(19)所示:

其中,TP表示正样本预测为正,FP表示负样本预测为正,FP表示正样本预测为负,TN表示负样本预测为负。

3.5 参数设置

Batch=8,学习率=1E-5,Dropout=0.2,Epoch=10,字向量维度=768,句子长度=128。

4 实验结果

为防止单次实验出现偶然性结果,所以运行各种模型10次求均值,在准确率评价指标上得出的分类结果如表2所示。在精确率评价指标上得出的分类结果如表3所示。在召回率评价指标上得出的分类结果如表4所示。在F1测度值评价指标上得出的分类结果如表5所示。

表2 分类准确率Table 2 Classification accuracy

表3 分类精确率Table 3 Classification precision

表4 分类召回率Table 4 Classification recall

表5 分类F1测度值Table 5 Classification F1 measure values

以准确率为评价指标时,Word2Vec+CNN模型在各个数据集上的实验结果准确率最低,Word2Vec+BiLSTM次之,这是因为Word2Vec词向量模型是固定向量模型,对于一词多义、上下文信息、序列信息等,模型不能表征出来,下游任务虽通过CNN或BiLST捕捉到一些结构信息,但提取能力有限。BERT-TECNN模型的准确率在所有数据集上是最高的,在tcd数据集上与BERT+CNN、BERT+BiLSTM、BERT+Transformer模型相比得到的准确率持平,在s4m数据集上准确率达到0.92,高于对比实验模型中最好的BERT+Transformer模型(0.87),在os10c数据集上准确率大于对比模型中最好的BERT+BiLSTM模型(0.87),说明模型能很好地对文本进行预测。

以精确率作为评价指标时,在tcd数据集上BERTTECNN模型与BERT+Transformer模型得到的精确率持平,略高于BERT+CNN、BERT+BiLSTM模型,高于Word2Vec+CNN模型、Word2Vec+BiLSTM模型、Elmo+CNN模型。在数据集s4m和os10c数据集上得到的精确率都为最高,分别高于对比模型中最好的0.86和0.83,体现了BERT-TECNN模型对文本分类问题上的有效性。

在以召回率作为评价指标时,BERT-TECNN模型在所有训练集上均达到最优,在tcd数据集上与BERT+BiLSTM模型持平,但运行速度远大于BERT+BiLSTM模型,在s4m数据集上BERT-TECNN模型与BERT+Transformer模型得到的召回率较为出色分别达到0.91和0.87,较优于对比实验模型,在os10c数据集上BERTTECNN模型召回率为0.89高于对比模型中最好的BERT+CNN模型(0.85),说明在模型中加入encoder层后,分类性能得到了有效的提升。

在以F1测度值作为评价指标时,BERT-TECNN模型在tcd数据集上与BERT+BiLSTM模型得到的值持平,在s4m数据集上F1值最高,达到了0.92,而BERT+CNN模型与BERT+Transformer模型分别为0.87与0.86,Word2Vec+CNN模型和Word2Vec+BiLSTM模型最低,在os10c数据集上BERT-TECNN模型F1测度值达到了0.90,高于对比模型中效果最好的BERT+Transformer模型(0.85)。

从实验数据中可得出BERT-TECNN模型在各个评价指标和不同数据集上都有良好的分类效果,与对比实验模型相比,分类性能都有不同程度的提高,但在tcd数据集上,BERT-TECNN模型表现并不突出,根据对数据集的分析得出:(1)tcd数据集很不均衡,不同分类数据量差异较大;(2)数据集类别之间有部分内容含义模棱两可,既可以分到A类也可分到B类。

从实验结果上看,Bert模型能有效地捕捉句子中的序列、上下文、语法语义以及更深层次的信息,效果优于Elmo模型和Word2vec模型,使文本分类任务的综合性能有很大提升。BERT-TECNN模型的下游任务能有效地对句子中字、词、结构的信息再次提取,增强了模型在文本分类任务中的识别能力、泛化能力。BERT-TECNN模型与对比实验模型相比具有一定的优势。

5 结束语

本文在处理文本分类任务时,提出了BERT-TECNN模型,模型以Bert-base,Chinese预训练模型作为动态字向量模型,在下游任务上构建Encoder层和CNN层。Encoder层优化了过拟合问题,增强了模型的泛化性。CNN层捕捉了句子中包含不同长度词语的信息和结构信息,从而能更好地处理文本分类问题。应用该模型在数据集tcd、s4m、os10c上与深度学习网络模型Word2Vec+CNN、Word2Vec+BiLSTM、Elmo+CNN、BERT+CNN、BERT+BiLSTM、BERT+Transformer进行了分类对比实验。在准确率、精确率、召回率、F1测度值等评价指标上,该模型文本分类性能均优于其他模型,在一定程度上提升了文本分类效果,对文本分类任务有一定参考价值。

但BERT-TECNN模型也存在一定局限性,比如在tcd数据集上表现并不突出,对数据集要求比较高,对于分类比较精细的数据集,往往表现不是太理想;针对这些局限,可以增加训练集的数量来增大模型的表征能力,解决数据分类精细问题、探索其他模型与Bert预训练模型相结合的模型,来增强分类效果。

猜你喜欢
集上卷积向量
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
复扇形指标集上的分布混沌
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线