一种基于多任务对抗学习的文本分类方法与流程

文档序号:17264472发布日期:2019-03-30 09:54阅读:413来源:国知局
一种基于多任务对抗学习的文本分类方法与流程
本发明涉及自然语言处理领域中的信息挖掘和文本分类领域,特别涉及一种基于多任务对抗学习的文本分类方法。
背景技术
:信息时代以惊人的速度发展,容纳了海量的各种类型的信息,其中包括文本信息、声音信息、图像信息等。文本分类作为处理和组织大量文本数据的关键技术,可以较大程度上解决信息杂乱的问题,方便用户准确定位信息,提高信息检索的效率,大大降低组织整理文档耗费的人力资源。因此,越多越多的自然语言处理研究和实践人员开始高度关注基于机器学习和深度学习的文本分类方法,并不断提出新的模型优化文本分类的准确性。基于机器学习的传统文本分类方法,首先从文本数据中提出特征,常用的特征计算有tf/idf,互信息量,信息增益、x2统计量、n-gram等方法。这些特征主要利用的是统计学分析获取的特征。进一步地,文本分类方法运用如支持向量机、随机森林、逻辑回归等监督学习模型构造分类器得到分类模型,最终对新文本数据进行分类预测。基于深度学习的文本分类方法,使用一些神经网络模型如卷积神经网络cnn、长短期记忆网络lstm等模型来做特征的提取,往往取得了更好的分类效果。然而,面对多领域(任务)文本分类处理,分别对单一领域(任务)的文本数据集进行训练学习效果有限,效率也不高;另一方面,多任务学习中的shared-private模型可以同时学习多领域文本数据的共享特征和私有特征,且通过引入对抗训练网络和特征矩阵的正交约束,多领域的文本分类准确率得到进一步提升,训练学习得到的共享网络层还可以进行保存,用于缺乏训练数据的新目标领域的文本分类预测。基于上述动机和技术,本发明提出一种基于多任务对抗学习的文本分类方法。技术实现要素:本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于多任务对抗学习的文本分类方法,结合多任务中的shared-private模型、对抗训练网络和特征矩阵的正交约束模型,解决现有文本分类方法单任务学习会忽略多任务之间所富含的关联信息的问题,进一步提高分类的准确率。该方法操作简易,只需在已有的多任务文本数据集上训练出一种文本分类模型,然后提供新目标领域的文本数据集即可提供一套对该领域文本数据集的分类预测结果,为新领域文本自动分类整理提供参考依据。本发明的目的通过以下的技术方案实现:一种基于多任务对抗学习的文本分类方法,包括以下步骤:1)基于word2vec模型,在未贴标签的大规模数据集上预训练wordembeddings词嵌入向量,用于文本数据的矩阵向量化;2)构建基于shared-private模型的多任务特征提取网络,利用步骤1)得到的预训练词向量初始化shared-private网络的输入;3)引入多领域对抗网络,优化步骤2)得到的共享特征空间,使之包含更多的共享特征和更少的私有特征;4)引入特征矩阵的正交约束模型,在步骤3)中优化共享特征空间的基础上,消除共享特征空间和私有特征空间中的冗余特征;5)在步骤2)、步骤3)和步骤4)的基础上,设计带超参数的联合损失函数,训练出基于多任务对抗学习的文本分类模型;6)保存步骤5)中得到的共享特征提取网络,维持网络参数不变,用于新目标领域的文本数据分类预测。步骤2)中,所述构建基于shared-private模型的多任务特征提取网络,具体包括以下内容:shared-private模型包含两个部分:a)全局唯一的共享特征提取网络由一个长短期记忆网络(lstm)和一个卷积神经网络网络(cnn)并行组成,简称为parallellc网络层,用以提取任务(领域)无关的共享特征;b)多个任务(领域)特定的私有特征提取网络均由一个cnn构建,用以提取依赖特定任务(领域)的私有特征;最后,两部分得到的共享特征和私有特征进行融合,输入到一个紧接着softmax层的全连接层以输出分类标签的概率分布。步骤3)中,所述多领域对抗网络,具体包括以下内容:使用步骤2)parallellc网络层得到的共享特征集合fs会输入到一个多领域的分类器d中,用以判别输入数据的领域类型;对抗训练体现在:对于给定的fs(可能含有私有特征),分类器d将计算领域分类的损失函数ld,通过在分类器d和parallellc层之间构建一个梯度逆转层,parallellc层的领域损失函数转换为-ld,经过梯度下降训练后,parallellc层的参数将最小化损失函数-ld,从而最大化损失函数ld;最终,分类器d将不能根据共享特征判别输入数据的领域类型,此时parallellc层学习的共享特征空间将包含最多的领域共享特征,而不包含特定领域的私有特征。步骤4)中,所述特征矩阵的正交约束模型,具体包括以下内容:使用步骤2)得到的共享特征分别来源于parallellc层的lstm和cnn的输出,因此基于矩阵正交计算公式,约束模型将分别以parallellc提取出的两种共享特征矩阵与唯一的私有特征矩阵为输入,计算两种正交约束损失函数,最后联合最小化这两种损失函数将消除同时存在于共享特征空间和私有特征空间中的冗余特征。步骤5)中,所述多任务对抗学习的文本分类模型,其优化目标包含步骤2)、步骤3)和步骤4)对应的三种损失函数,并且以带超参数的形式进行线性相加;同时,通过步骤5)训练出的共享网络层parallelc将进行保存,维持网络参数不变,用于步骤6)中新目标领域文本数据的分类预测。本发明与现有技术相比,具有如下优点和有益效果:本发明利用了多任务中的shared‐private模型,以cnn和lstm组成共享特征提取器,以对抗学习网络和矩阵正交约束为优化手段,解决单一任务和模型的文本分类方法忽略了多任务所富含的关联信息的问题,进而提高文本分类的准确性。附图说明图1为本发明所述基于多任务对抗学习的文本分类方法的流程图。图2为本发明所述基于shared-private模型的文本分类方法的网络示意图。图3为本发明所述基于多任务对抗学习的文本分类的详细网络示意图。图4为本发明所述基于共享网络层的新目标领域文本分类的网络示意图。具体实施方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。如图1,一种基于多任务对抗学习的文本分类方法,包括以下步骤:步骤1)基于word2vec模型,在未贴标签的大规模数据集上预训练wordembeddings词嵌入向量,用于文本数据的矩阵向量化。具体实现如下:本发明选择pythongensim库中的word2vec模型,pipinstallgensim安装好库后,即可导入使用。在调用word2vec接口时,主要有以下参数:1)sg:sg=1时为skip-gram算法,对低频词敏感;默认sg=0为cbow算法。2)size:输出词向量的维数,值太小会导致词映射冲突影响结果,值太大则会耗内存并使算法计算变慢,一般值取为100到200之间。3)window:句子中当前词与目标词之间的最大距离,3表示在目标词前看3-b个词,后面看b个词(b在0-3之间随机)。4)min_count:对词进行过滤,频率小于min-count的单词则会被忽视,默认值为5。5)sample:表示更高频率的词被随机下采样到所设置的阈值,默认值为1e-3。表1展示了word2vec训练亚马逊中文书评语料(12万+句子文本)后的测试函数接口。表1:word2vec预训练词向量训练模型model=word2vec(sentences,size=200)查看某个词的词向量model["书"]计算两个词的相似度model.similarity("不错","好")计算某个词的相关词列表model.most_similar("书",topn=20)保存模型model.save("书评.model")步骤2)构建基于shared-private模型的多任务特征提取网络,利用步骤1)得到的预训练词向量初始化shared-private网络的输入。基于shared-private模型的神经网络具体实现如下:一方面,每个领域的文本数据都将输入到一个全局唯一的共享特征提取网络层中,该网络层由一个卷积神经网络(cnn)和一个长短期记忆网络(lstm)并行组成,简称parallellc,从局部和整体角度分别提取多领域文本的共享特征。另一方面,每个领域的文本数据还将分别输入对应自身特定领域的私有特征提取网络层中,该网路层由一个卷积神经网络(cnn)构建,从而提取出特定领域的私有特征。然后,对每个领域,共享特征和本领域的私有特征进行融合,输入到一个紧接着softmax层的全连接层中,最终输出分类标签的预测结果。本发明的cnn由一个包含卷积核大小为3,4,5且卷积核数量均为128的卷积层、一个最大值池化层组成,lstm单元的隐藏层大小为128,实现的工具是tensorflow(https://tensorflow.google.cn/)。图2以两个文本领域为例展示了基于shared-private模型的多任务文本特征提取网络的示意图,其中ls为针对某个特定领域,预测结果分布和真实标签分布的交叉损失函数,xm和xn为两个领域文本数据的输入。步骤3)引入多领域对抗网络,优化步骤2)得到的共享特征空间,使之包含更多的共享特征和更少的私有特征。多领域对抗网络具体实现如下:parallellc网络层得到的共享特征集合fs将输入到一个多领域的分类器d中,由一个全连接层和一个softmax层构成,用以判别输入数据的领域类型。对于给定的fs(可能含有私有特征),d将计算领域分类的损失函数ld,通过在d和parallellc层之间构建一个梯度逆转层,parallellc层的领域损失函数转换为-ld,parallellc层的参数将最小化损失函数-ld,从而最大化损失函数ld。最终,分类器d将不能根据共享特征判别输入数据的领域类型,此时parallellc层学习的共享特征空间将包含最多的领域共享特征,而不包含特定领域的私有特征。我们使用ladv表示此步骤产生的对抗网络损失函数,此处即相当于-ld,两者的关系如下,其中θs和θd分别表示共享特征提取层parallellc和多领域判别分类器d中的网络参数。步骤4)引入特征矩阵的正交约束模型,在步骤3)中优化共享特征空间的基础上,消除共享特征空间和私有特征空间中的冗余特征。具体实现如下:使用步骤2)得到的共享特征分别来源于parallellc层lstm和cnn的输出,基于矩阵正交计算公式,约束模型将分别以parallellc提取出的两种共享特征矩阵与唯一的私有特征矩阵为输入,计算两种正交约束损失函数,最后联合最小化这两种损失函数,将消除同时存在于共享特征空间和私有特征空间中的冗余特征,使共享特征空间和私有特征空间从互不相干的两个侧面分别提取输入文本的信息。特征矩阵的正交计算公式如下,其中lo为正交约束损失函数,k为文本领域的总数量,分别表示对应某个文本领域k,parallellc层lstm和cnn输出的共享特征矩阵,pk表示私有特征提取网络cnn输出的私有特征矩阵,at表示矩阵a的转置矩阵,表示矩阵frobenius范数的平方。步骤5)在步骤2)、步骤3)和步骤4)的基础上,设计带超参数的联合损失函数,训练出基于多任务对抗学习的文本分类模型。图3以两个文本领域为例展示了完整的基于多任务对抗学习的网络架构。具体实现如下:步骤2)基于共享特征和私有特征的融合,计算出特定领域的文本分类损失函数ls,步骤3)基于对抗学习网络,通过一个梯度逆转层,最小化多领域判别分类器d中的网络参数,且最大化共享特征提取网络层parallellc中的网络参数,得到对抗训练损失函数ladv,步骤4)分别以parallellc提取出的两种共享特征矩阵与唯一的私有特征矩阵为输入,计算两种正交约束损失函数并相加得到正交约束损失函数lo。最终,完整的基于多任务对抗学习的文本分类模型的总优化目标即损失函数定义为ls、ladv和lo三者的线性加权之和:l=ls+αladv+βlo表2展示了本发明的基于多任务对抗学习的文本分类方法和其它基于深度学习方法的特点对比分析。其中,本发明的方法(模型)定义为adversarialshared-private,它以shared-private模型为基础,引入了对抗学习的方法,其中对抗学习的含义包含两层:一方面是多领域共享特征的对抗学习,另一方面是通过矩阵正交约束带来的领域共享特征和私有特征的对抗学习。表2:本发明的方法与其它深度学习方法的对比分析步骤6)保存步骤5)中得到的共享特征提取网络,维持网络参数不变,用于新目标领域的文本数据分类预测。具体实现如下:通过步骤5)训练得到完整的基于多任务对抗学习的文本分类器,保存模型中的共享特征提取网络层parallellc,维持网络参数不变,新目标领域的文本数据输入该网络层,提取出的特征将输入到一个全连接层和一个softmax分类层中,最终输出该文本数据的分类预测标签。因此,本发明只需完整地训练多任务对抗学习文本分类模型,即可将共享特征网络层导出保存,支持文本分类需求的即调即用。图4展示了基于共享网络层的新目标领域文本分类的网络示意图。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1