1.一种基于BERT和无池化卷积神经网络的文本分类方法,其特征在于,包括以下步骤:
搜集中文新闻文本数据,并对所述新闻文本数据进行包括分类标记、分词和构建词典在内的预处理;
根据分词将文本数据转换为单词token序列,再根据词典将单词序列转换为输入的词索引token_ids和注意力遮蔽序列attention mask,词索引token_ids每个单词用其在词典中所在位置的数字表示,注意力遮蔽序列attention mask由0、1、[PAD]构成的序列,将输入的词索引和注意力遮蔽序列输入BERT模型中输出得到词嵌入向量;
将词嵌入向量输入无池化卷积神经网络中提取特征向量并完成类别分类。
2.根据权利要求1所述的一种基于BERT和无池化卷积神经网络的文本分类方法,其特征在于,所述搜集中文新闻文本数据,并对所述新闻文本数据进行包括分类标记、分词和构建词典在内的预处理,具体包括:搜集中文新闻文本数据,数据包含财经、房产、股票、教育、科技、社会、时政、体育、游戏、娱乐十个类别,分别用数字0‑9表示这十个类别,将原始数据分为训练集、测试集、验证集;对原始文本数据利用WordPiece对句子进行分词处理,根据分词结果,引入谷歌开源文件构建词典,词典中每个字的索引顺序与每个字的词向量一一对应;WordPiece每次从词表中选出两个子词组建成新的子词,能够提升语言模型概率最大的相邻子词加入词表。
3.根据权利要求1所述的一种基于BERT和无池化卷积神经网络的文本分类方法,其特征在于,根据分词将文本数据转换为单词序列步骤包括:将经过分词后的文本序列转换为单词序列,同时在单词序列的首尾分别加上[CLS]和[SEP]符号,[CLS]作为起始符,[SEP]作为两句句子之间的分隔符;为了使得训练集中所有句子的长度保持一致,指定一个句子最大长度,对未达到最大长度的文本序列进行padding填充补全,对超过最大长度的句子进行裁剪。
4.根据权利要求3所述的一种基于BERT和无池化卷积神经网络的文本分类方法,其特征在于,所述根据词典将单词序列转换为输入的词索引和注意力遮蔽序列步骤包括:将单词序列根据词典转化为输入的词索引,在使用了[PAD]作为填充后,需要使用注意力遮蔽序列列表来表示[PAD]只是用于填充,不代表任何意义;对于每个句子,如果对应位置的字为[PAD],则注意力遮蔽序列此位置的元素取值为0,反之为1。
5.根据权利要求4所述的一种基于BERT和无池化卷积神经网络的文本分类方法,其特征在于,所述基于BERT模型得到词嵌入向量,具体步骤包括:将输入的词索引和注意力遮蔽序列输入到BERT模型中,输入的词索引和注意力遮蔽序列被称为BERT的输入表示,BERT的输入表示,由输入的词索引和注意力遮蔽序列共同组成,包括Token嵌入、Segment嵌入和Position嵌入,输入BERT后首先被传递给BERT的编码器层,编码器层由12个Transformer模块和12个自我注意力头组成,通过接受不超过512个单词的输入并生成序列表示,生成序列是特定的隐藏状态向量或隐藏状态向量时间步长序列;自我注意力机制是指对句子中任意两个表征物的关系进行清晰的学习,从而掌握句子的内部结构细节,自我注意力的多头机制被称为点积注意力机制,计算公式如下:其中Q为查询的矩阵,K为键矩阵,V为值的矩
阵,dk为Q和K的矩阵维数,dk用于消除维度对于自我注意力机制的影响;
然后点积注意力使用不同的线性投影,将Q、K和V进行h次线性投影;点积注意力经过缩放后投影,与自我注意力并行进行,结果产生一个新的表示;MultiHead(Q,K,V)=Conc
0 0 Q K V
(Head1,Headn)W , 其中W ,W ,W ,W为不同的
权重矩阵,每层编码器除了注意力子层外,还包含一个应用于每个位置的完全互连的前馈网络;它由两个ReLU触发的线性转换器组成,FFN=max(0,xW1+b1)W2+b2,其中max代表ReLU激活函数,W1和W2为两层线性转换参数,b1和b2为对应的偏置系数;
最后FFN的输出作为输入传输到上层编码器层;这个过程一直重复,直到输出由最上面的编码器发送到最后一个FFN输出;时序特征在自然语言处理中是一个十分重要的特征,Transformer使用位置嵌入从而添加时序信息其中位置由pos表示,维数由i表示,PE表示文本序列中各个位置单词的位置编码,dmodel表示Token嵌入、Segment嵌入和Position嵌入的维度,每个位置编码的维数由一个正弦信号对应表示;最终输出得到词嵌入向量。
6.根据权利要求5所述的一种基于BERT和无池化卷积神经网络的文本分类方法,其特征在于,所述基于无池化卷积神经网络提取特征向量并预测分类结果步骤包括:首先将BERT模型输出的词嵌入向量输入无池化卷积神经网络中,对词嵌入向量进行扩维,然后利用三个大小依次为2×768,3×768,4×768的卷积核对词嵌入向量进行卷积运算提取特征向量,该卷积层的运算公式为: 其中输入维度为W,填充值为P,卷积核大小为F,步长为S,再加入一层三个卷积核大小依次为31×1,30×1,29×1的卷积层替代池化层;
接着将卷积运算后得到的特征向量输入全连接层,其中加入dropout防止过拟合,在训练过程中,dropout的工作机理是:以一个概率为p的伯努利分布随机的生成与节点数相同的0,1值,将这些值与输入相乘后部分节点被屏蔽,此时再用这些节点值做后续计算,具体公式如下:其中r是伯努利函数随机生成的向
量,z是卷积神经网络某层的输出,y是卷积神经网络最终的输出,w为权重系数,b为偏置系数,p为神经元的激活概率,最后通过全连接层的输出预测分类结果。
7.根据权利要求6所述的一种基于BERT和无池化卷积神经网络的文本分类方法,其特征在于,将得到的预测结果和真实标签传到损失函数中求损失值,损失函数使用的是交叉熵,公式如下: 其中y是真实分类,是一个标签值;是模型预测结果,包含了属于每种标签的概率;交叉熵的输入包含输入矩阵和目标矩阵,对输出结果进行softmax操作进行归一化,公式如下: 代表样本向量x属于第i个分类的概率,将 带入到上面的损失函数公式中进行推导:
L表示损失值、n表示总分类类别数、input
[i]表示输入样本预测为第i个分类;
最后对损失值进行反向传播,对网络模型进行一次更新。每训练100批次的训练集就使用验证集来评估模型效果并输出,在此过程中保存最优模型状态。如果经过1000批次的训练集模型训练效果并没有得到提升,就停止训练。模型训练完成之后,将测试文本数据序列放入模型,最后根据输出特征实现对新闻文本的分类并计算分类准确率。