一种结合多头自注意力机制的CNN文本分类方法技术

技术编号:24457841 阅读:38 留言:0更新日期:2020-06-10 16:05
本发明专利技术公开一种结合多头自注意力机制的CNN文本分类方法,包括:获取待分类文本的分词序列,并进行特殊符号和停止词过滤等预处理;查询预设或随机初始化的词嵌入模型获取分词序列的嵌入矩阵,矩阵的每一行为各分词的嵌入向量;针对所得嵌入矩阵的各行向量,叠加该向量对应分词的位置编码向量;对叠加位置编码后的嵌入矩阵通过自注意力机制生成自注意力矩阵;重复若干次自注意力矩阵的生成,将生成的多个矩阵在列的维度上进行拼接;将词序列拼接后的自注意力矩阵与加权矩阵相乘,实现降维和融合;将降维和融合后的自注意力矩阵输入CNN,进行训练或者预测。

A CNN text classification method based on multi head self attention mechanism

【技术实现步骤摘要】
一种结合多头自注意力机制的CNN文本分类方法
本专利技术涉及一种结合多头自注意力机制的CNN文本分类方法,尤其涉及一个或多个实施例涉及自然语言处理(naturallanguageprocessing,NLP)

技术介绍
文本分类是NLP中常见的下游任务之一,深度学习算法在文本分类中应用广泛且性能优异。当前,基于深度学习的文本分类多采用RNN、CNN和Transformer模型,其中RNN和Transformer可学习文本的全局语义信息,但是由于计算量过大,应用受限。CNN计算量小且方便并行加速,在工业应用中有不可比拟的优势,但受感受野宽度的限制只能学习文本局部语义信息,分类性能不如RNN和Transformer模型。本优化方案,将多头注意力机制应用于CNN模型的输入,使其包含文本的全局语义信息,从而提升CNN模型的分类性能。
技术实现思路
本专利技术提供了一种结合多头自注意制的CNN文本分类方法,多头自注意力机制作用于输入CNN的词序列嵌入矩阵,以获取词序列对应原始文本的全局语义信息,从而提高CNN的输入精度,满足实际应用需求。为实现上述目的,本专利技术提供一种结合多头自注意力机制的CNN文本分类方法,所述方法如下:S1:获取待分类文本的分词序列,并进行特殊符号和停止词过滤等预处理;S2:查询预设或随机初始化的词嵌入模型获取分词序列的嵌入矩阵,矩阵的每一行为各分词的嵌入向量;S3:针对所得嵌入矩阵的各行向量,获取并叠加该向量对应分词的位置编码向量;S4:对叠加位置编码后的嵌入矩阵通过自注意力机制生成自注意力矩阵;S5:重复若干次自注意力矩阵的生成,将生成的多个矩阵在列的维度上进行拼接;S6:将词序列拼接后的自注意力矩阵与加权矩阵相乘,实现降维和融合;S7:将降维和融合后的自注意力矩阵输入CNN,进行训练或者预测。作为上述技术方案的改进,上述分词序列中的每个词,由待分类文本分词处理,并进行特殊符号和停止词过滤等预处理所得。作为上述技术方案的改进,所述分词序列的词嵌入矩阵为:通过预设或随机初始化的词嵌入模型映射获得。作为上述技术方案的改进,所述获取的分词序列词嵌入矩阵维度为m×d:m和d分别表示分词序列的长度和词向量维度。作为上述技术方案的改进,所述针对所得嵌入矩阵的各行向量,获取并叠加该向量对应分词的位置编码向量,包括:根据公式(1)获取位置编码向量:其中pos为分词所在位置,i为编码向量元素的索引,生成的PE(pos,2i)和PE(pos,2i+1编码维度均为d/2,拼接两者形成维度为d的位置编码向量,将词序列嵌入矩阵中的各行向量与相应的位置编码向量进行叠加。作为上述技术方案的改进,所述对叠加位置编码后的嵌入矩阵通过自注意力(self-attention)机制生成自注意力矩阵,包括:将词序列的嵌入矩阵X={x1,x2,...,xm}T分别与查询映射矩阵WQ,键映射矩阵WK和值映射矩阵WV相乘,输出三种矩阵:查询矩阵Q,键矩阵K和值矩阵V;三者通过公式(2)变换获得词序列的自注意力矩阵A={a1,a2,...,am}T,其中向量ai为第i个词的自注意力向量,它包含了该词本身和该词与词序列中其它词的关联信息。作为上述技术方案的改进,所述对词序列的嵌入矩阵重复若干次自注意力变换,即多头自注意力机制,多次变换生成的自注意力矩阵在列维度上进行拼接,包括:利用多组映射矩阵将词序列的嵌入矩阵转换为三组矩阵:Q={Q1,Q2,...,Qh},K={K1,K2,...,Kh}和V={V1,V2,...,Vh};将三组矩阵中的元素按序组合,并分别根据公式(2)进行自注意力变换,得到词序列的多个自注意力矩阵,将多个矩阵在列的维度上进行拼接,如公式(3)所示:作为上述技术方案的改进,所述将词序列拼接后的自注意力矩阵M与加权矩阵相乘,实现降维和融合,加权矩阵WO列的维度小于M列的维度,故相乘所得矩阵M′相较于M行维度不变,列维度减小。作为上述技术方案的改进,所述将降维和融合后的自注意力矩阵输入CNN,进行训练或预测,包括:将训练或者预测的文本经分词,特殊符号和停止词过滤,词嵌入矩阵映射,叠加位置编码向量,多头自注意力机制转换、拼接和降维,将处理所得矩阵输入CNN模型;CNN采用一维卷积神经网络,输入矩阵的列和行维度分别为特征图的宽度和通道数。本专利技术的有益效果:本专利技术提出一种结合多头自注意力机制的CNN文本分类方法,CNN模型通过自注意力机制获取包含全局语义信息的特征输入,在保证较低计算量的前提下,提升CNN模型的分类性能。本专利技术的特征及优点将通过实施例结合附图进行详细说明。【附图说明】图1是本专利技术具体实施方式提供的一种结合多头自注意力机制的CNN文本分类方法的流程示意图;图2是本专利技术具体实施方式提供的词向量获取和叠加位置编码向量方法;图3是本专利技术专利具体实施方式提供的分词序列词嵌入矩阵获取自注意力矩阵的方法。【具体实施方式】文本分类是一种常见的NLP下游应用,CNN模型由于计算量较小和便于并行加速的特性,在文本分类落地应用中具有无可比拟的优势,但是受限于卷积核宽度,CNN模型无法学习文本的全局语义信息,导致分类性能受限。本专利技术提出一种结合多头自注意力机制的CNN文本分类方法,CNN模型通过自注意力机制获取包含全局语义信息的特征输入,在保证较低计算量的前提下,提升CNN模型的分类性能。以下结合具体实施方式和附图对本专利技术技术方案作进一步说明。图1示出本专利技术提供一种结合多头自注意力机制的CNN文本分类方法的流程示意图,具体步骤如下:S1:获取待分类文本的分词序列,并进行特殊符号和停止词过滤等预处理;S2:查询预设或随机初始化的词嵌入模型获取分词序列的嵌入矩阵,矩阵的每一行为各分词的嵌入向量;S3:针对所得嵌入矩阵的各行向量,获取并叠加该向量对应分词的位置编码向量;S4:对叠加位置编码后嵌入矩阵通过自注意力机制生成自注意力矩阵;S5:重复若干次自注意力矩阵的生成,将生成的多个矩阵在列的维度上进行拼接;S6:将词序列拼接后自注意力矩阵与加权矩阵相乘,实现降维和融合;S7:将降维和融合后的自注意力矩阵输入CNN,进行训练或者预测。具体地,S1中,获取待分类文本分词序列,并进行特殊符号和停止词过来等预处理。具体而言,首先对文本进行分词处理获得分词序列,在分词序列中,可能存在一些停止词或者特征符号等无用的信息,需要对这些无效词或符号进行过滤处理。例如,对于一个待分词的文本“【12**57】这是一个样例。”将其分词可能得到“【”、“12**57”、“】”、“这”“是”、“一个”、“样例”和“。”共8个元素,其中“【”、“12**57”、“】”和“。”作为特殊符号或者数字需要去除,同时去除不包含有效信息的停用词“是”,剩余的3个词按序作为最终本文档来自技高网...

【技术保护点】
1.一种结合多头自注意力机制的CNN文本分类方法,其特征在于:所述方法如下:/nS1:获取待分类文本的分词序列,并进行特殊符号和停止词过滤等预处理;/nS2:查询预设或随机初始化的词嵌入模型获取分词序列的嵌入矩阵,矩阵的每一行为各分词的嵌入向量;/nS3:针对所得嵌入矩阵的各行向量,获取并叠加该向量对应分词的位置编码向量;/nS4:对叠加位置编码后的嵌入矩阵通过自注意力机制生成自注意力矩阵;/nS5:重复若干次自注意力矩阵的生成,将生成的多个矩阵在列的维度上进行拼接;/nS6:将词序列拼接后的自注意力矩阵与加权矩阵相乘,实现降维和融合;/nS7:将降维和融合后的自注意力矩阵输入CNN,进行训练或者预测。/n

【技术特征摘要】
1.一种结合多头自注意力机制的CNN文本分类方法,其特征在于:所述方法如下:
S1:获取待分类文本的分词序列,并进行特殊符号和停止词过滤等预处理;
S2:查询预设或随机初始化的词嵌入模型获取分词序列的嵌入矩阵,矩阵的每一行为各分词的嵌入向量;
S3:针对所得嵌入矩阵的各行向量,获取并叠加该向量对应分词的位置编码向量;
S4:对叠加位置编码后的嵌入矩阵通过自注意力机制生成自注意力矩阵;
S5:重复若干次自注意力矩阵的生成,将生成的多个矩阵在列的维度上进行拼接;
S6:将词序列拼接后的自注意力矩阵与加权矩阵相乘,实现降维和融合;
S7:将降维和融合后的自注意力矩阵输入CNN,进行训练或者预测。


2.根据权利要求1所述结合多头自注意力机制的CNN文本分类方法,其特征在于:上述分词序列中的每个词,由待分类文本分词处理,并进行特殊符号和停止词过滤等预处理所得。


3.根据权利要求1所述结合多头自注意力机制的CNN文本分类方法,其特征在于:所述分词序列的词嵌入矩阵为:通过预设或随机初始化的词嵌入模型映射获得。


4.根据权利要求1所述结合多头自注意力机制的CNN文本分类方法,其特征在于:所述获取的分词序列词嵌入矩阵维度为m×d:m和d分别表示分词序列的长度和词向量维度。


5.根据权利要求1所述结合多头自注意力机制的CNN文本分类方法,其特征在于:所述针对所得嵌入矩阵的各行向量,获取并叠加该向量对应分词的位置编码向量,包括:根据公式(1)获取位置编码向量:



其中pos为分词所在位置,i为编码向量元素的索引,生成的PE(pos,2i)和PE(pos,2i+1)编码维度均为d/2,拼接两者形成维度为d的位置编码向量,将词序列嵌入矩阵中的各行向量与相应的位置编码向量进行叠加。


6.根据权利要求1所述结合...

【专利技术属性】
技术研发人员:刘星辰陈晓峰麻沁甜
申请(专利权)人:上海勃池信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1